<?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>64242</bug_id>
          
          <creation_ts>2011-07-10 11:35:05 -0700</creation_ts>
          <short_desc>WebSocket: Copy existing WebSocket tests</short_desc>
          <delta_ts>2011-07-11 00:51:38 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>50099</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yuta Kitamura">yutak</reporter>
          <assigned_to name="Yuta Kitamura">yutak</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>tkent</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>434586</commentid>
    <comment_count>0</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-07-10 11:35:05 -0700</bug_when>
    <thetext>To land the new WebSocket protocol implementation, we need to land existing tests under http/tests/websocket/tests and make them run correctly with the new protocol.

Necessary steps are:

(1) Copy existing WebSocket tests into http/tests/websocket/tests, and mark them as skipped.
(2) Fix the tests so they can be run with the new protocol. Some obsolete tests may be removed in this step.
(3) Land the new WebSocket protocol implementation, and unskip the tests.

This bug takes care of step (1).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434590</commentid>
    <comment_count>1</comment_count>
      <attachid>100234</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-07-10 11:53:35 -0700</bug_when>
    <thetext>Created attachment 100234
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434591</commentid>
    <comment_count>2</comment_count>
      <attachid>100234</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-07-10 11:54:34 -0700</bug_when>
    <thetext>Comment on attachment 100234
Patch

This should be committed manually, so setting cq-.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434628</commentid>
    <comment_count>3</comment_count>
      <attachid>100234</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-07-10 18:06:32 -0700</bug_when>
    <thetext>Comment on attachment 100234
Patch

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

&gt; LayoutTests/platform/win/Skipped:1355
&gt; +# Skipped until new WebSocket protocol is implemented. http://webkit.org/b/50099
&gt; +http/tests/websocket/tests/alert-in-event-handler.html

I prefer copy the tests into a subdirectory such as http/tests/websocket/tets/hybi/, and skip the directory.
Yuta-san, what do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434658</commentid>
    <comment_count>4</comment_count>
      <attachid>100234</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-07-10 20:09:29 -0700</bug_when>
    <thetext>Comment on attachment 100234
Patch

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

&gt;&gt; LayoutTests/platform/win/Skipped:1355
&gt;&gt; +http/tests/websocket/tests/alert-in-event-handler.html
&gt; 
&gt; I prefer copy the tests into a subdirectory such as http/tests/websocket/tets/hybi/, and skip the directory.
&gt; Yuta-san, what do you think?

Sure, that sounds better to me, too. I will update the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434677</commentid>
    <comment_count>5</comment_count>
      <attachid>100245</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-07-10 23:15:12 -0700</bug_when>
    <thetext>Created attachment 100245
Patch v2 (Put tests under hybi/)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434684</commentid>
    <comment_count>6</comment_count>
      <attachid>100245</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-07-10 23:32:51 -0700</bug_when>
    <thetext>Comment on attachment 100245
Patch v2 (Put tests under hybi/)

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434688</commentid>
    <comment_count>7</comment_count>
      <attachid>100246</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-07-10 23:48:06 -0700</bug_when>
    <thetext>Created attachment 100246
Merge to trunk to see EWS results</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434689</commentid>
    <comment_count>8</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-07-10 23:50:40 -0700</bug_when>
    <thetext>Thanks, I will(In reply to comment #6)
&gt; (From update of attachment 100245 [details])
&gt; ok

Thanks, I&apos;ll commit this patch manually after results of the EWS bots are ready.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434704</commentid>
    <comment_count>9</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-07-11 00:51:38 -0700</bug_when>
    <thetext>Committed r90726: &lt;http://trac.webkit.org/changeset/90726&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100234</attachid>
            <date>2011-07-10 11:53:35 -0700</date>
            <delta_ts>2011-07-10 23:15:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64242-20110711035333.patch</filename>
            <type>text/plain</type>
            <size>239391</size>
            <attacher name="Yuta Kitamura">yutak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTA2NjEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlODdjZmYyMWNlYWE4NjA2M2JjYTU5
MWM2ODgxNmFiZjUzYjBmMWMxLi5mZTAxMjc5MWJkMTlmMDVlZjFiOGUxOWNkYjk2NjM0MGJjY2Fj
ZDk5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAyIEBACisyMDExLTA3LTEwICBZdXRhIEtpdGFtdXJhICA8
eXV0YWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYlNvY2tldDogQ29weSBleGlzdGluZyBX
ZWJTb2NrZXQgdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY0MjQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ29weSB0aGUgZXhpc3RpbmcgV2ViU29ja2V0IHRlc3RzIHVuZGVyIGh0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzLyBhbmQgc2tpcCB0aGVtLgorCisgICAgICAgIFRoZXNlIHRlc3RzIHdp
bGwgYmUgdXNlZCB0byB0ZXN0IHRoZSBsYXRlc3QgV2ViU29ja2V0IHByb3RvY29sIGltcGxlbWVu
dGF0aW9uLiBUaGV5IGFyZSBza2lwcGVkCisgICAgICAgIGluIGFsbCBwb3J0cyBmb3Igbm93LCBh
bmQgd2lsbCBiZSB1bnNraXBwZWQgd2hlbiB0aGUgbmV3IHByb3RvY29sIGltcGxlbWVudGF0aW9u
IGlzIGxhbmRlZCBpbiBXZWJDb3JlLgorCisgICAgICAgIEEgY2FsbCB0byBsYXlvdXRUZXN0Q29u
dHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2VzKCkgaXMgYWRkZWQgaW4gZWFjaCB0ZXN0IHRvIGVu
YWJsZSB0aGUgbmV3IHByb3RvY29sCisgICAgICAgIGltcGxlbWVudGF0aW9uLgorCisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYWxlcnQtaW4tZXZlbnQtaGFuZGxlci1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Fs
ZXJ0LWluLWV2ZW50LWhhbmRsZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvYmFkLWhhbmRzaGFrZS1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1oYW5kc2hha2UtY3Jhc2gu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYmFkLWhh
bmRzaGFrZS1jcmFzaF93c2gucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2JhZC1zdWItcHJvdG9jb2wtY29udHJvbC1jaGFycy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1zdWItcHJvdG9j
b2wtY29udHJvbC1jaGFycy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9iYWQtc3ViLXByb3RvY29sLWVtcHR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYmFkLXN1Yi1wcm90b2NvbC1lbXB0
eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9iYWQt
c3ViLXByb3RvY29sLW5vbi1hc2NpaS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1zdWItcHJvdG9jb2wtbm9uLWFzY2lpLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2J1ZmZlcmVkQW1v
dW50LWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvYnVmZmVyZWRBbW91bnQtYWZ0ZXItY2xvc2UuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xpZW50LWNsb3NlLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xp
ZW50LWNsb3NlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2NsaWVudC1jbG9zZV93c2gucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2Nsb3NlLWJlZm9yZS1vcGVuLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xvc2UtYmVmb3JlLW9wZW4uaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xvc2UtZXZlbnQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9jbG9zZS1ldmVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9jbG9zZS1vbi1uYXZpZ2F0ZS1uZXctbG9jYXRpb24tZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1vbi1uYXZpZ2F0
ZS1uZXctbG9jYXRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvY2xvc2Utb24tdW5sb2FkLWFuZC1mb3JjZS1nYy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Nsb3NlLW9uLXVubG9hZC1h
bmQtZm9yY2UtZ2MuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvY2xvc2Utb24tdW5sb2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xvc2Utb24tdW5sb2FkLXJlZmVyZW5jZS1pbi1wYXJl
bnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9jbG9zZS1vbi11bmxvYWQtcmVmZXJlbmNlLWluLXBhcmVudC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1vbi11bmxvYWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xvc2Utb24tdW5s
b2FkX3dzaC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
Y2xvc2UtdW5yZWYtd2Vic29ja2V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xvc2UtdW5yZWYtd2Vic29ja2V0Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Nyb3NzLW9yaWdpbi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Ny
b3NzLW9yaWdpbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9lY2hvLWNoYWxsZW5nZV93c2gucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2VjaG8tY29va2llX3dzaC5weTogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvZWNoby1sb2NhdGlvbl93c2gucHk6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2VjaG9fd3NoLnB5OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9lcnJvci1kZXRlY3QtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9lcnJvci1k
ZXRlY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
Zml4ZWQtb3JpZ2luX3dzaC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvZnJhbWUtbGVuZ3RoLWxvbmdlci10aGFuLWJ1ZmZlci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2ZyYW1lLWxlbmd0aC1s
b25nZXItdGhhbi1idWZmZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3RoLWxvbmdlci10aGFuLWJ1ZmZlcl93c2gucHk6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2ZyYW1lLWxlbmd0aC1vdmVy
Zmxvdy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2ZyYW1lLWxlbmd0aC1vdmVyZmxvdy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9mcmFtZS1sZW5ndGgtb3ZlcmZsb3dfd3NoLnB5OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9mcmFtZS1sZW5ndGgtc2tp
cC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2ZyYW1lLWxlbmd0aC1za2lwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2ZyYW1lLWxlbmd0aC1za2lwX3dzaC5weTogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3Rocy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2ZyYW1lLWxlbmd0
aHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFu
ZHNoYWtlLWNoYWxsZW5nZS1yYW5kb21uZXNzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWNoYWxsZW5nZS1yYW5kb21u
ZXNzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hh
bmRzaGFrZS1lcnJvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1lcnJvci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZXJyb3Jfd3NoLnB5OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1j
cm9zcy1vcmlnaW4tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1jcm9zcy1vcmlnaW4uaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnkt
bWF4bGVuZ3RoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktbWF4bGVuZ3RoLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5LW1heGxl
bmd0aF93c2gucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2hhbmRzaGFrZS1mYWlsLWJ5LW5vLWNvbm5lY3Rpb24taGVhZGVyLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwt
Ynktbm8tY29ubmVjdGlvbi1oZWFkZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktbm8tY29ubmVjdGlvbi1oZWFkZXJf
d3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5k
c2hha2UtZmFpbC1ieS1uby1jci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLWNyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5
LW5vLWNyX3dzaC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaGFuZHNoYWtlLWZhaWwtYnktbm8tdXBncmFkZS1oZWFkZXItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1i
eS1uby11cGdyYWRlLWhlYWRlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1uby11cGdyYWRlLWhlYWRlcl93c2gucHk6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1m
YWlsLWJ5LXByZXBlbmRlZC1udWxsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktcHJlcGVuZGVkLW51bGwu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNo
YWtlLWZhaWwtYnktcHJlcGVuZGVkLW51bGxfd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1zdWItcHJvdG9jb2wtbWlz
bWF0Y2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1zdWItcHJvdG9jb2wtbWlzbWF0Y2guaHRtbDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZ2luZy1oYW5kc2hh
a2Vfd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
dHRwb25seS1jb29raWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9odHRwb25seS1jb29raWUucGw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2xvbmctaW52YWxpZC1oZWFkZXItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9sb25nLWludmFs
aWQtaGVhZGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2xvbmctaW52YWxpZC1oZWFkZXJfd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9tdWx0aXBsZS1jb25uZWN0aW9ucy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL211bHRpcGxlLWNvbm5l
Y3Rpb25zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L25vLXF1ZXJ5X3dzaC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvbnVsbC1jaGFyYWN0ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9udWxsLWNoYXJhY3Rlci5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9vcmlnaW4tdGVzdF93c2gucHk6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3Byb3RvY29sLXRlc3Rfd3No
LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9yZWxvYWQt
Y3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9yZWxvYWQtY3Jhc2guaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvcmVzb3VyY2VzL2Nsb3NlLW9uLXVubG9hZC1pZnJhbWUtcmVmZXJlbmNl
LWluLXBhcmVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9yZXNvdXJjZXMvY2xvc2Utb24tdW5sb2FkLWlmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9yZXNvdXJjZXMvcmVsb2FkLWNyYXNoLWlm
cmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9z
ZW5kLWFmdGVyLWNsb3NlLW9uLXVubG9hZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NlbmQtYWZ0ZXItY2xvc2Utb24tdW5sb2FkLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NlbmQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9z
ZW5kLXRocm93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvc2VuZC10aHJvdy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9zZW5kLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL3NlbmQyX3dzaC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvc2VuZF93c2gucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL3NlcnZlci1jbG9zZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NlcnZlci1jbG9zZS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zZXJ2ZXItY2xvc2Vfd3No
LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zaW1wbGUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9zaW1wbGUtc3RyZXNzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvc2ltcGxlLXN0cmVzcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zaW1wbGUuaHRtbDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2ltcGxlX3dzaC5weTogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc3ViLXByb3RvY29sLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc3ViLXByb3RvY29s
LXdpdGgtc3BhY2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9zdWItcHJvdG9jb2wtd2l0aC1zcGFjZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zdWItcHJvdG9jb2wuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdW5pY29kZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3VuaWNvZGUu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdW5pY29k
ZV93c2gucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3Vu
a25vd24tZnJhbWUtdHlwZV93c2gucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL3VybC1uby10cmFpbGluZy1zbGFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3VybC1uby10cmFpbGluZy1zbGFz
aC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwt
cGFyc2luZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL3VybC1wYXJzaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL3VybC13aXRoLWNyZWRlbnRpYWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtd2l0aC1jcmVkZW50aWFs
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3VybC13
aXRoLWVtcHR5LXF1ZXJ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXdpdGgtZW1wdHktcXVlcnkuaHRtbDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXdpdGgtcXVlcnktZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtd2l0
aC1xdWVyeS1mb3Itbm8tcXVlcnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtd2l0aC1xdWVyeS1mb3Itbm8tcXVlcnkuaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXdpdGgtcXVl
cnkuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd2Vi
c29ja2V0LWV2ZW50LXRhcmdldC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dlYnNvY2tldC1ldmVudC10YXJnZXQuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd2Vic29ja2V0LXBlbmRpbmct
YWN0aXZpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy93ZWJzb2NrZXQtcGVuZGluZy1hY3Rpdml0eS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93ZWJzb2NrZXQtcHJvdG9jb2wtaWdub3Jl
ZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL3dlYnNvY2tldC1wcm90b2NvbC1pZ25vcmVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvY2xvc2UtaW4tb25tZXNzYWdlLWNyYXNo
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvd29ya2Vycy9jbG9zZS1pbi1vbm1lc3NhZ2UtY3Jhc2guaHRtbDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy9jbG9zZS1pbi1zaGFyZWQtd29y
a2VyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvd29ya2Vycy9jbG9zZS1pbi1zaGFyZWQtd29ya2VyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvY2xvc2UtaW4td29ya2VyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
d29ya2Vycy9jbG9zZS1pbi13b3JrZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy9yZXNvdXJjZXMvY2xvc2UtaW4tb25tZXNzYWdlLWNy
YXNoLmpzOiBBZGRlZC4KKyAgICAgICAgKHJ1blRlc3RzLnRyeS53cy5vbm9wZW4pOgorICAgICAg
ICAocnVuVGVzdHMudHJ5LndzLm9ubWVzc2FnZSk6CisgICAgICAgIChydW5UZXN0cy50cnkud3Mu
b25jbG9zZSk6CisgICAgICAgIChydW5UZXN0cyk6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvd29ya2Vycy9yZXNvdXJjZXMvY2xvc2UtaW4td29ya2VyLmpzOiBBZGRlZC4K
KyAgICAgICAgKGhhbmRsZUNvbm5lY3Quc2VsZi5wb3N0TWVzc2FnZSk6CisgICAgICAgIChoYW5k
bGVDb25uZWN0KToKKyAgICAgICAgKHJ1blRlc3RzLnRyeS53cy5vbm9wZW4pOgorICAgICAgICAo
cnVuVGVzdHMudHJ5LndzLm9uY2xvc2UpOgorICAgICAgICAocnVuVGVzdHMpOgorICAgICAgICAq
IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvcmVzb3VyY2VzL2VjaG8tY2hhbGxl
bmdlX3dzaC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
d29ya2Vycy9yZXNvdXJjZXMvZWNob193c2gucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvcmVzb3VyY2VzL3NpbXBsZV93c2gucHk6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvcmVzb3VyY2Vz
L3dvcmtlci1oYW5kc2hha2UtY2hhbGxlbmdlLXJhbmRvbW5lc3MuanM6IEFkZGVkLgorICAgICAg
ICAoZW5kVGVzdCk6CisgICAgICAgIChydW5UZXN0cy50cnkud3MxLm9ubWVzc2FnZSk6CisgICAg
ICAgIChydW5UZXN0cy50cnkud3MxLm9uY2xvc2Uud3MyLm9ubWVzc2FnZSk6CisgICAgICAgIChy
dW5UZXN0cy50cnkud3MxLm9uY2xvc2Uud3MyLm9uY2xvc2UpOgorICAgICAgICAocnVuVGVzdHMu
dHJ5LndzMS5vbmNsb3NlKToKKyAgICAgICAgKHJ1blRlc3RzKToKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItc2ltcGxlLmpzOiBB
ZGRlZC4KKyAgICAgICAgKGhhbmRsZUNvbm5lY3Quc2VsZi5wb3N0TWVzc2FnZSk6CisgICAgICAg
IChoYW5kbGVDb25uZWN0KToKKyAgICAgICAgKHJ1blRlc3RzLnRyeS53cy5vbm9wZW4pOgorICAg
ICAgICAocnVuVGVzdHMudHJ5LndzLm9ubWVzc2FnZSk6CisgICAgICAgIChydW5UZXN0cy50cnku
d3Mub25jbG9zZSk6CisgICAgICAgIChydW5UZXN0cyk6CisgICAgICAgICogaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy9zaGFyZWQtd29ya2VyLXNpbXBsZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvc2hh
cmVkLXdvcmtlci1zaW1wbGUuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvd29ya2Vycy93b3JrZXItaGFuZHNoYWtlLWNoYWxsZW5nZS1yYW5kb21uZXNz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvd29ya2Vycy93b3JrZXItaGFuZHNoYWtlLWNoYWxsZW5nZS1yYW5kb21uZXNzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvd29ya2Vy
LXNpbXBsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL3dvcmtlcnMvd29ya2VyLXNpbXBsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9iYWQtc3ViLXByb3Rv
Y29sLWNvbnRyb2wtY2hhcnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtcGFyc2luZy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRp
b25zLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorICAgICAg
ICAqIHBsYXRmb3JtL3F0L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1zdWItcHJvdG9j
b2wtbm9uLWFzY2lpLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vd2lu
L1NraXBwZWQ6CisKIDIwMTEtMDctMDggIFN0ZXBoZW4gV2hpdGUgIDxzZW5vcmJsYW5jb0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZDsgY2hyb21pdW0gdGVzdF9leHBlY3RhdGlv
bnMgdXBkYXRlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvYWxlcnQtaW4tZXZlbnQtaGFuZGxlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9hbGVydC1pbi1ldmVudC1oYW5kbGVyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41MTU3ZWMwYjlkOTAwZDU5NmFhZWNiNWIzZmJlNWZhN2EyOGUxNGZm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvYWxlcnQtaW4tZXZlbnQtaGFuZGxlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAor
QUxFUlQ6IHdhaXRpbmcgZm9yIG9wZW4KK0FMRVJUOiBtZXNzYWdlIGhhbmRsZWQuZmlyc3QgbWVz
c2FnZQorQUxFUlQ6IG1lc3NhZ2UgaGFuZGxlZC5zZWNvbmQgbWVzc2FnZQorTWFrZSBzdXJlIGV2
ZW50IGhhbmRsZXIgY2FsbGVkIHNlcmlhbGx5LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKK2FsZXJ0IHdpbGwgc3VzcGVuZC9yZXN1bWUgV2ViU29ja2V0Lgorb25vcGVuIHNob3VsZCBm
aXJlIGxhdGVyLgorQ29ubmVjdGVkCitFbnRlciBvbm1lc3NhZ2U6IGZpcnN0IG1lc3NhZ2UKK0xl
YXZlIG9ubWVzc2FnZTogZmlyc3QgbWVzc2FnZQorRW50ZXIgb25tZXNzYWdlOiBzZWNvbmQgbWVz
c2FnZQorTGVhdmUgb25tZXNzYWdlOiBzZWNvbmQgbWVzc2FnZQorQ2xvc2VkCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYWxlcnQtaW4tZXZlbnQtaGFuZGxl
ci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYWxlcnQtaW4t
ZXZlbnQtaGFuZGxlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2OThiN2NlMDQ3OGJjNWI3OWUxYTFhMzVm
MTNkNzZjMTBhNzZiMzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9hbGVydC1pbi1ldmVudC1oYW5kbGVyLmh0bWwKQEAgLTAsMCArMSw0
NSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vanMtdGVz
dC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pz
LXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiTWFrZSBzdXJl
IGV2ZW50IGhhbmRsZXIgY2FsbGVkIHNlcmlhbGx5LiIpOworCit3aW5kb3cuanNUZXN0SXNBc3lu
YyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRl
c3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFBy
b3RvY29sRW5hYmxlZCIsIDApOworCit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4w
LjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9zZW5kMiIpOworCit3cy5vbm9wZW4gPSBmdW5jdGlv
bigpCit7CisgICAgZGVidWcoIkNvbm5lY3RlZCIpOworfTsKKword3Mub25tZXNzYWdlID0gZnVu
Y3Rpb24obWVzc2FnZUV2ZW50KQoreworICAgIGRlYnVnKCJFbnRlciBvbm1lc3NhZ2U6ICIgKyBt
ZXNzYWdlRXZlbnQuZGF0YSk7CisgICAgLy8gYWxlcnQoKSB3aWxsIHN1c3BlbmQvcmVzdW1lIFdl
YlNvY2tldC4KKyAgICBhbGVydCgibWVzc2FnZSBoYW5kbGVkLiIgKyBtZXNzYWdlRXZlbnQuZGF0
YSk7CisgICAgZGVidWcoIkxlYXZlIG9ubWVzc2FnZTogIiArIG1lc3NhZ2VFdmVudC5kYXRhKTsK
K307CisKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIkNsb3NlZCIpOwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKworZGVidWcoImFsZXJ0IHdpbGwgc3VzcGVuZC9yZXN1
bWUgV2ViU29ja2V0LiIpOworYWxlcnQoIndhaXRpbmcgZm9yIG9wZW4iKTsKK2RlYnVnKCJvbm9w
ZW4gc2hvdWxkIGZpcmUgbGF0ZXIuIik7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9iYWQtaGFuZHNoYWtlLWNyYXNoLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1o
YW5kc2hha2UtY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE1ZjIwZjRjOTQwOThmNGNh
YTE1MWRiMDI4ODM5YmEzZmE2OWUxMmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9iYWQtaGFuZHNoYWtlLWNyYXNoLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEwIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMDogSW52YWxpZCBVVEYt
OCBzZXF1ZW5jZSBpbiBoZWFkZXIgbmFtZQorTWFrZSBzdXJlIFdlYlNvY2tldCBkb2Vzbid0IGNy
YXNoIHdpdGggYmFkIGhhbmRzaGFrZSBtZXNzYWdlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1dlYlNvY2tldCBpcyBjbG9zZWQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9iYWQtaGFuZHNoYWtlLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9iYWQtaGFuZHNoYWtlLWNyYXNoLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjQ3MzJhYzcyN2IzYWU1M2Q2YWZkMjE3NWI2ODNlOGYzYWNlY2RkNwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1oYW5k
c2hha2UtY3Jhc2guaHRtbApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij4KK2Rlc2NyaXB0aW9uKCJNYWtlIHN1cmUgV2ViU29ja2V0IGRvZXNuJ3QgY3Jhc2ggd2l0
aCBiYWQgaGFuZHNoYWtlIG1lc3NhZ2UuIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xF
bmFibGVkIiwgMCk7CisKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4
ODAvd2Vic29ja2V0L3Rlc3RzL2JhZC1oYW5kc2hha2UtY3Jhc2giKTsKK3dzLm9ub3BlbiA9IGZ1
bmN0aW9uICgpIHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0IGlzIG9wZW4iKTsKK307Cit3cy5vbmNs
b3NlID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMgY2xvc2VkIik7Cisg
ICAgZmluaXNoSlNUZXN0KCk7Cit9OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9iYWQtaGFuZHNoYWtlLWNyYXNoX3dz
aC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1oYW5kc2hh
a2UtY3Jhc2hfd3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiNDI1YmM3MTY2ZjUzZGZjMjY2OWNkZWY5MDMz
NTEyMDdhNDRkNDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9iYWQtaGFuZHNoYWtlLWNyYXNoX3dzaC5weQpAQCAtMCwwICsxLDE2IEBA
CitkZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgbXNnID0g
IkhUVFAvMS4xIDEwMSBXZWJTb2NrZXQgUHJvdG9jb2wgSGFuZHNoYWtlXHJcbiIKKyAgICBtc2cg
Kz0gIlVwZ3JhZGU6IFdlYlNvY2tldFxyXG4iCisgICAgbXNnICs9ICJDb25uZWN0aW9uOiBVcGdy
YWRlXHJcbiIKKyAgICBtc2cgKz0gIlNlYy1XZWJTb2NrZXQtTG9jYXRpb246ICIgKyByZXF1ZXN0
LndzX2xvY2F0aW9uICsgIlxyXG4iCisgICAgbXNnICs9ICJTZWMtV2ViU29ja2V0LU9yaWdpbjog
IiArIHJlcXVlc3Qud3Nfb3JpZ2luICsgIlxyXG4iCisgICAgbXNnICs9ICJceGE1OlxyXG4iCisg
ICAgbXNnICs9ICJcclxuIgorICAgIG1zZyArPSByZXF1ZXN0LndzX2NoYWxsZW5nZV9tZDUKKyAg
ICByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdGUobXNnKQorICAgIHByaW50IG1zZworICAgIHJhaXNl
IEV4Y2VwdGlvbigiQWJvcnQgdGhlIGNvbm5lY3Rpb24iKSAjIFByZXZlbnRzIHB5d2Vic29ja2V0
IGZyb20gc2VuZGluZyBpdHMgb3duIGhhbmRzaGFrZSBtZXNzYWdlLgorCisKK2RlZiB3ZWJfc29j
a2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgcGFzcwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYmFkLXN1Yi1wcm90b2NvbC1jb250cm9s
LWNoYXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2JhZC1zdWItcHJvdG9jb2wtY29udHJvbC1jaGFycy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjE1MjgwYzlmMzY5ZmQwNTlkNGZjN2RiMjEzYWQ1YzJmZTk3Njk3ZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1zdWItcHJv
dG9jb2wtY29udHJvbC1jaGFycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDA6IFdyb25nIHByb3RvY29sIGZvciBXZWJTb2NrZXQgJ1x1MDAwMCcK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAwOiBXcm9uZyBwcm90b2NvbCBmb3IgV2ViU29ja2V0ICdc
dTAwMDknCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMDogV3JvbmcgcHJvdG9jb2wgZm9yIFdlYlNv
Y2tldCAnXHUwMDFCJworVGVzdCBXZWJTb2NrZXQgYmFkIHN1Yi1wcm90b2NvbCBuYW1lcyBieSBj
b250cm9sIGNoYXJhY3RlcnMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBu
ZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICJcMCIpIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1MgbmV3IFdl
YlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAiCSIpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1MgbmV3IFdlYlNvY2tl
dCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAiCisiKSB0aHJldyBleGNlcHRpb24gU3lu
dGF4RXJyb3I6IFVuZXhwZWN0ZWQgRU9GLgorUEFTUyBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4w
LjAuMTo4ODgwL3NpbXBsZSIsICIKKyIpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5l
eHBlY3RlZCBFT0YuCitQQVNTIG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvc2lt
cGxlIiwgIhsiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNlcHRp
b24gMTIuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYmFk
LXN1Yi1wcm90b2NvbC1jb250cm9sLWNoYXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9iYWQtc3ViLXByb3RvY29sLWNvbnRyb2wtY2hhcnMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jMzMzZWQ5YmE3NThlMWQwY2E2YjdhNzEwOTgyMmY3ZDFhZmQxMzFmCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYmFkLXN1
Yi1wcm90b2NvbC1jb250cm9sLWNoYXJzLmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiVGVzdCBXZWJTb2NrZXQgYmFkIHN1Yi1w
cm90b2NvbCBuYW1lcyBieSBjb250cm9sIGNoYXJhY3RlcnMuIik7CisKK2lmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVm
ZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKKy8v
IEZhaWxzIGlmIHByb3RvY29sIGNvbnRhaW5zIGFuIGNoYXJhY3RlciBsZXNzIHRoYW4gVSswMDIw
Lgorc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvc2ltcGxl
IiwgIlx1MDAwMCIpJyk7CitzaG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4w
LjE6ODg4MC9zaW1wbGUiLCAiXHUwMDA5IiknKTsKK3Nob3VsZFRocm93KCduZXcgV2ViU29ja2V0
KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICJcdTAwMEEiKScpOworc2hvdWxkVGhyb3co
J25ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvc2ltcGxlIiwgIlx1MDAwRCIpJyk7
CitzaG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUi
LCAiXHUwMDFCIiknKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYmFkLXN1Yi1wcm90b2NvbC1lbXB0eS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9iYWQtc3ViLXBy
b3RvY29sLWVtcHR5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYTY5N2VkYTFkZTJiNTU4YmMz
NzE2MzFjMjM5NWRmNTQwOGU0NmEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYmFkLXN1Yi1wcm90b2NvbC1lbXB0eS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IFdyb25nIHByb3Rv
Y29sIGZvciBXZWJTb2NrZXQgJycKK1Rlc3QgV2ViU29ja2V0IGJhZCBzdWItcHJvdG9jb2wgbmFt
ZXMgKGVtcHR5KS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIG5ldyBXZWJT
b2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvc2ltcGxlIiwgIiIpIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9iYWQtc3ViLXByb3RvY29sLWVtcHR5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9iYWQtc3ViLXByb3RvY29sLWVt
cHR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzk5MmYyNDgyYjE2ZjM1YzcxMDFjNjhlMjcxNzE3NTA4MGY1
MmMxYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2JhZC1zdWItcHJvdG9jb2wtZW1wdHkuaHRtbApAQCAtMCwwICsxLDIzIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMtdGVzdC1yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJUZXN0IFdlYlNvY2tldCBiYWQg
c3ViLXByb3RvY29sIG5hbWVzIChlbXB0eSkuIik7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJX
ZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKKy8vIEZhaWxzIGlm
IHByb3RvY29sIGlzIGFuIGVtcHR5IHN0cmluZy4KK3Nob3VsZFRocm93KCduZXcgV2ViU29ja2V0
KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICIiKScpOworCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9iYWQtc3Vi
LXByb3RvY29sLW5vbi1hc2NpaS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9iYWQtc3ViLXByb3RvY29sLW5vbi1hc2NpaS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uY2ZjNzBmMWNlYjMyNTE3YWZhOTkwNDNlOWM1MmRhOGFhZjg2NDkyOQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Jh
ZC1zdWItcHJvdG9jb2wtbm9uLWFzY2lpLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIyIEBACitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMDogV3JvbmcgcHJvdG9jb2wgZm9yIFdlYlNvY2tldCAnXHUw
MDdGJworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IFdyb25nIHByb3RvY29sIGZvciBXZWJTb2Nr
ZXQgJ1x1MDA4MCcKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAwOiBXcm9uZyBwcm90b2NvbCBmb3Ig
V2ViU29ja2V0ICdcdTMwNDInCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMDogV3JvbmcgcHJvdG9j
b2wgZm9yIFdlYlNvY2tldCAnXHVGRkZGJworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IFdyb25n
IHByb3RvY29sIGZvciBXZWJTb2NrZXQgJ1x1RkVGRicKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAw
OiBXcm9uZyBwcm90b2NvbCBmb3IgV2ViU29ja2V0ICdcdUZGRkUnCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMDogV3JvbmcgcHJvdG9jb2wgZm9yIFdlYlNvY2tldCAnXHVEODQwXHVEQzBCJworVGVz
dCBXZWJTb2NrZXQgYmFkIHN1Yi1wcm90b2NvbCBuYW1lcyBieSBub24tQVNDSUkgY2hhcnMuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBuZXcgV2ViU29ja2V0KCJ3czovLzEy
Ny4wLjAuMTo4ODgwL3NpbXBsZSIsICJ/IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhf
RVJSOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAu
MTo4ODgwL3NpbXBsZSIsICLCgCIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjog
RE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1MgbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4
MC9zaW1wbGUiLCAi44GCIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00g
RXhjZXB0aW9uIDEyLgorUEFTUyBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3Np
bXBsZSIsICLvv78iKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNl
cHRpb24gMTIuCitQQVNTIG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvc2ltcGxl
IiwgIu+7vyIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlv
biAxMi4KK1BBU1MgbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAi
77++IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEy
LgorUEFTUyBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICLwoICL
IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEyLgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1zdWItcHJv
dG9jb2wtbm9uLWFzY2lpLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9iYWQtc3ViLXByb3RvY29sLW5vbi1hc2NpaS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViODRkZTdi
YzRkOTE2ZTcxOWE5MWY0YTdiZjg3N2VmMzk3OTdkN2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9iYWQtc3ViLXByb3RvY29sLW5vbi1h
c2NpaS5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgor
ZGVzY3JpcHRpb24oIlRlc3QgV2ViU29ja2V0IGJhZCBzdWItcHJvdG9jb2wgbmFtZXMgYnkgbm9u
LUFTQ0lJIGNoYXJzLiIpOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAg
IGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3Nldl
YlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCisvLyBGYWlscyBpZiBwcm90b2NvbCBjb250
YWlucyBhbiBjaGFyYWN0ZXIgZ3JlYXRlciB0aGFuIFUrMDA3RS4KK3Nob3VsZFRocm93KCduZXcg
V2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICJcdTAwN0YiKScpOworc2hv
dWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvc2ltcGxlIiwgIlx1
MDA4MCIpJyk7CitzaG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4
MC9zaW1wbGUiLCAiXHUzMDQyIiknKTsKK3Nob3VsZFRocm93KCduZXcgV2ViU29ja2V0KCJ3czov
LzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICJcdUZGRkYiKScpOworc2hvdWxkVGhyb3coJ25ldyBX
ZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvc2ltcGxlIiwgIlx1RkVGRiIpJyk7CitzaG91
bGRUaHJvdygnbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAiXHVG
RkZFIiknKTsKKy8vIFN1cnJvZ2F0ZSBwYWlycworc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQo
IndzOi8vMTI3LjAuMC4xOjg4ODAvc2ltcGxlIiwgIlx1RDg0MFx1REMwQiIpJyk7CisKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2J1ZmZlcmVkQW1vdW50LWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2J1ZmZlcmVkQW1vdW50LWFmdGVyLWNsb3NlLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MWI0ZWM3NWJhYzIzNDVjNzM5MmU5MTczOGM0MzI5MmUy
ZjY1YWRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvYnVmZmVyZWRBbW91bnQtYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTQgQEAKK1dlYiBTb2NrZXQgYnVmZmVyZWRBbW91bnQgYWZ0ZXIgY2xvc2VkCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworQ29ubmVjdGVkLgorQ2xvc2VkLgorUEFTUyB3cy5yZWFk
eVN0YXRlIGlzIDMKK1BBU1Mgd3MuYnVmZmVyZWRBbW91bnQgaXMgMAorUEFTUyB3cy5zZW5kKCdz
ZW5kIHRvIGNsb3NlZCBzb2NrZXQnKSBpcyBmYWxzZQorUEFTUyB3cy5idWZmZXJlZEFtb3VudCBp
cyAyMworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2J1ZmZl
cmVkQW1vdW50LWFmdGVyLWNsb3NlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9idWZmZXJlZEFtb3VudC1hZnRlci1jbG9zZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhm
NzI2NGQxZTJkYWY5NjczZmFhZmI5NzU1ZTI1ZjhjMTgzZTcxN2MKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9idWZmZXJlZEFtb3VudC1h
ZnRlci1jbG9zZS5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPgorZGVzY3JpcHRpb24oIldlYiBTb2NrZXQgYnVmZmVyZWRBbW91bnQgYWZ0ZXIgY2xvc2Vk
Iik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNl
KCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK3ZhciB3cyA9
IG5ldyBXZWJTb2NrZXQoIndzOi8vbG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL3NpbXBs
ZSIpOworCit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIkNvbm5lY3RlZC4i
KTsKKyAgICB3cy5jbG9zZSgpOworfTsKKword3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKK3sKKyAg
ICBkZWJ1ZygiQ2xvc2VkLiIpOworICAgIHNob3VsZEJlKCJ3cy5yZWFkeVN0YXRlIiwgIjMiKTsK
KyAgICBzaG91bGRCZSgid3MuYnVmZmVyZWRBbW91bnQiLCAiMCIpOworICAgIHNob3VsZEJlRmFs
c2UoIndzLnNlbmQoJ3NlbmQgdG8gY2xvc2VkIHNvY2tldCcpIik7CisgICAgLy8gSWYgdGhlIGNv
bm5lY3Rpb24gaXMgY2xvc2VkLCBidWZmZXJlZEFtb3VudCBhdHRyaWJ1dGUncyB2YWx1ZSB3aWxs
IG9ubHkKKyAgICAvLyBpbmNyZWFzZSB3aXRoIGVhY2ggY2FsbCB0byB0aGUgc2VuZCgpIG1ldGhv
ZC4KKyAgICAvLyAodGhlIG51bWJlciBkb2VzIG5vdCByZXNldCB0byB6ZXJvIG9uY2UgdGhlIGNv
bm5lY3Rpb24gY2xvc2VzKS4KKyAgICBzaG91bGRCZSgid3MuYnVmZmVyZWRBbW91bnQiLCAiMjMi
KTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2NsaWVudC1jbG9zZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbGllbnQt
Y2xvc2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI2NjhmZDk0MjMyNDkxZjdhZmU4ZDU3ZDEx
MTUyMDNlZjRlNTkwOTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9jbGllbnQtY2xvc2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1dlYlNvY2tldDogVGVzdCBjbGllbnQtaW5pdGlhdGVkIGNsb3NlLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK0Nvbm5lY3RlZAorUmVjZWl2ZWQ6IGNsb3NlX2ZyYW1lPSdceGZm
XHgwMCcKK0Nsb3NlZAorUEFTUyByZWNlaXZlZE1lc3NhZ2UgaXMgImNsb3NlX2ZyYW1lPSdcXHhm
ZlxceDAwJyIKK1BBU1MgY2xvc2VFdmVudC53YXNDbGVhbiBpcyB0cnVlCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xpZW50LWNsb3NlLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbGllbnQtY2xvc2UuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kMmJlNjUyODc1NzdjNWZjOThkMzhkNjY1NWZhMTk2MzI2MDg0Njg3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xpZW50
LWNsb3NlLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
CitkZXNjcmlwdGlvbigiV2ViU29ja2V0OiBUZXN0IGNsaWVudC1pbml0aWF0ZWQgY2xvc2UuIik7
CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJX
ZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK3ZhciB3cyA9IG5l
dyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2NsaWVudC1j
bG9zZSIpOwordmFyIGNsb3NlRXZlbnQ7Cit2YXIgcmVjZWl2ZWRNZXNzYWdlOworCit3cy5vbm9w
ZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIkNvbm5lY3RlZCIpOworICAgIHdzLmNsb3Nl
KCk7Cit9OworCit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlRXZlbnQpCit7CisgICAg
ZGVidWcoIlJlY2VpdmVkOiAiICsgbWVzc2FnZUV2ZW50LmRhdGEpOworICAgIHJlY2VpdmVkTWVz
c2FnZSA9IG1lc3NhZ2VFdmVudC5kYXRhOworfTsKKword3Mub25jbG9zZSA9IGZ1bmN0aW9uKGV2
ZW50KQoreworICAgIGRlYnVnKCJDbG9zZWQiKTsKKyAgICBjbG9zZUV2ZW50ID0gZXZlbnQ7Cisg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJyZWNlaXZlZE1lc3NhZ2UiLCAiY2xvc2VfZnJhbWU9
J1xceGZmXFx4MDAnIik7CisgICAgc2hvdWxkQmVUcnVlKCJjbG9zZUV2ZW50Lndhc0NsZWFuIik7
CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbGllbnQtY2xvc2Vfd3NoLnB5
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xpZW50LWNsb3NlX3dz
aC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43ZWQyOGJmZmZmMDI0OWY0YTBkN2JiY2MzZmI4MzJhYjg3OWMwODIw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvY2xpZW50LWNsb3NlX3dzaC5weQpAQCAtMCwwICsxLDIzIEBACitmcm9tIG1vZF9weXdlYnNv
Y2tldCBpbXBvcnQgbXNndXRpbAorCisKK2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFr
ZShyZXF1ZXN0KToKKyAgICBwYXNzCisKKworZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShy
ZXF1ZXN0KToKKyAgICAjIFdhaXQgZm9yIGEgY2xvc2UgZnJhbWUgc2VudCBmcm9tIHRoZSBjbGll
bnQuCisgICAgY2xvc2VfZnJhbWUgPSByZXF1ZXN0LndzX3N0cmVhbS5yZWNlaXZlX2J5dGVzKDIp
CisKKyAgICAjIFRlbGwgdGhlIGNsaWVudCB3aGF0IHdlIGhhdmUgcmVjZWl2ZWQuCisgICAgbXNn
dXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwgJ2Nsb3NlX2ZyYW1lPSVyJyAlIGNsb3NlX2ZyYW1l
KQorCisgICAgIyBJZiB0aGUgZm9sbG93aW5nIGFzc2VydGlvbiBmYWlscywgQXNzZXJ0aW9uRXJy
b3Igd2lsbCBiZSByYWlzZWQsCisgICAgIyB3aGljaCB3aWxsIHByZXZlbnQgcHl3ZWJzb2NrZXQg
ZnJvbSBzZW5kaW5nIGEgY2xvc2UgZnJhbWUuCisgICAgIyBJbiB0aGlzIGNhc2UsIHRoZSBjbGll
bnQgd2lsbCBmYWlsIHRvIGZpbmlzaCBjbG9zaW5nIGhhbmRzaGFrZSwgdGh1cworICAgICMgY2xv
c2VFdmVudC53YXNDbGVhbiB3aWxsIGJlY29tZSBmYWxzZS4KKyAgICBhc3NlcnQgY2xvc2VfZnJh
bWUgPT0gJ1x4ZmZceDAwJworCisgICAgIyBQcmV0ZW5kIHdlIGhhdmUgcmVjZWl2ZWQgYSBjbG9z
ZSBmcmFtZSBmcm9tIHRoZSBjbGllbnQuCisgICAgIyBBZnRlciB0aGlzIGZ1bmN0aW9uIGV4aXRz
LCBweXdlYnNvY2tldCB3aWxsIHNlbmQgYSBjbG9zZSBmcmFtZSBhdXRvbWF0aWNhbGx5LgorICAg
IHJlcXVlc3QuY2xpZW50X3Rlcm1pbmF0ZWQgPSBUcnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1iZWZvcmUtb3Blbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1iZWZvcmUt
b3Blbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTdhNTQyYTRkZmY2NTIzOTEyZWQ0NDYyMzJj
NzczYzY4Y2M3YmQyMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2Nsb3NlLWJlZm9yZS1vcGVuLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEwIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMDogV2ViU29ja2V0IGlzIGNsb3NlZCBiZWZv
cmUgdGhlIGNvbm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQuCitUZXN0IGlmIFdlYiBTb2NrZXQgZmly
ZXMgY2xvc2UgZXZlbnQgd2hlbiBXZWJTb2NrZXQgaXMgb3BlbmVkIGFuZCBjbG9zZWQgZm9yZSBv
cGVuIGV2ZW50IGlzIHJlY2VpdmVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK2Ns
b3NlZAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Nsb3Nl
LWJlZm9yZS1vcGVuLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9jbG9zZS1iZWZvcmUtb3Blbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFjMWFjZjdiN2I1YzRhYmJhMTk5
ZTRjMDEzYzdmODc4MGQ4ODAzN2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1iZWZvcmUtb3Blbi5odG1sCkBAIC0wLDAgKzEs
MjcgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9q
cy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIlRlc3QgaWYg
V2ViIFNvY2tldCBmaXJlcyBjbG9zZSBldmVudCB3aGVuIFdlYlNvY2tldCBpcyBvcGVuZWQgYW5k
IGNsb3NlZCBmb3JlIG9wZW4gZXZlbnQgaXMgcmVjZWl2ZWQuIik7CisKK3dpbmRvdy5qc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29j
a2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8v
MTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2hhbmdpbmctaGFuZHNoYWtlIik7Cit3cy5v
bmNsb3NlID0gZnVuY3Rpb24oKSB7CisgICAgZGVidWcoImNsb3NlZCIpOworICAgIGZpbmlzaEpT
VGVzdCgpOworfTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOword3MuY2xvc2UoKTsK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1ldmVudC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1ldmVudC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTYwNWNjOWQ5MmQ4NTYzNmQxMjUyNzhkOWM5MGYwMzUy
OTk3ZmQ5OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2Nsb3NlLWV2ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitNYWtl
IHN1cmUgV2ViU29ja2V0IGZpcmVzIENsb3NlRXZlbnQgd2hlbiBjbG9zZWQuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworV2ViU29ja2V0IGlzIG9wZW4KK1JlY2VpdmVkOiAnSGVsbG8g
ZnJvbSBTaW1wbGUgV1NILicKK0Nsb3NlZAorUEFTUyBjbG9zZUV2ZW50VHlwZSBpcyAiY2xvc2Ui
CitQQVNTICd3YXNDbGVhbicgaW4gY2xvc2VFdmVudCBpcyB0cnVlCitQQVNTIGNsb3NlRXZlbnQu
d2FzQ2xlYW4gaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0UHJvdG90eXBlT2YoY2xvc2VFdmVudCkg
PT09IENsb3NlRXZlbnQucHJvdG90eXBlIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldFByb3RvdHlw
ZU9mKGNsb3NlRXZlbnQpICE9PSBFdmVudC5wcm90b3R5cGUgaXMgdHJ1ZQorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Nsb3NlLWV2ZW50Lmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1ldmVudC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjFkNmJlOTM2N2FhMzZiOWE2NjU0ODhiYmEzOWUwMWU2MGY1Mjc4ODcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1l
dmVudC5odG1sCkBAIC0wLDAgKzEsNDggQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgor
ZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSBXZWJTb2NrZXQgZmlyZXMgQ2xvc2VFdmVudCB3aGVuIGNs
b3NlZC4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZl
cmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwordmFy
IHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMv
c2ltcGxlIik7CisKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygiV2ViU29j
a2V0IGlzIG9wZW4iKTsKK307CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2VFdmVu
dCkKK3sKKyAgICBkZWJ1ZygiUmVjZWl2ZWQ6ICciICsgbWVzc2FnZUV2ZW50LmRhdGEgKyAiJyIp
OworfTsKKwordmFyIGNsb3NlRXZlbnQ7Cit2YXIgY2xvc2VFdmVudFR5cGU7Cit3cy5vbmNsb3Nl
ID0gZnVuY3Rpb24oZXZlbnQpCit7CisgICAgZGVidWcoIkNsb3NlZCIpOworICAgIGNsb3NlRXZl
bnQgPSBldmVudDsKKyAgICBjbG9zZUV2ZW50VHlwZSA9IGNsb3NlRXZlbnQudHlwZTsKKyAgICBz
aG91bGRCZSgiY2xvc2VFdmVudFR5cGUiLCAnImNsb3NlIicpCisgICAgc2hvdWxkQmVUcnVlKCIn
d2FzQ2xlYW4nIGluIGNsb3NlRXZlbnQiKTsKKyAgICBzaG91bGRCZVRydWUoImNsb3NlRXZlbnQu
d2FzQ2xlYW4iKTsKKyAgICBzaG91bGRCZVRydWUoIk9iamVjdC5nZXRQcm90b3R5cGVPZihjbG9z
ZUV2ZW50KSA9PT0gQ2xvc2VFdmVudC5wcm90b3R5cGUiKTsKKyAgICBzaG91bGRCZVRydWUoIk9i
amVjdC5nZXRQcm90b3R5cGVPZihjbG9zZUV2ZW50KSAhPT0gRXZlbnQucHJvdG90eXBlIik7Cisg
ICAgZmluaXNoSlNUZXN0KCk7Cit9OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1vbi1uYXZpZ2F0ZS1uZXct
bG9jYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvY2xvc2Utb24tbmF2aWdhdGUtbmV3LWxvY2F0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xNzY0MjdlZGVjNjc2NTgzYjA3MDQxMjQzNzRjMmFhNTQ4NjI0NTBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xvc2Utb24t
bmF2aWdhdGUtbmV3LWxvY2F0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUZXN0
IGlmIFdlYiBTb2NrZXQgaXMgY2xvc2VkIHdoZW4gbmF2aWdhdGluZyB0byBuZXcgbG9jYXRpb24u
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyB3cyBvbiBtYXN0ZXIgZG9jdW1l
bnQgaXMgcmVhZHkuCitQQVNTIGluc2VydCBhIGlmcmFtZSwgd2hlcmUgb3BlbiB3cyBjYWxsZWQg
J3NvY2tldDEnCitQQVNTICdzb2NrZXQxJyBpcyBzZW50IHRvIHRoZSBzZXJ2ZXIuIG5hdmlnYXRl
IHRvIG5ldyBsb2NhdGlvbi4gZXhwZWN0IHJlY2VpdmluZyAnc29ja2V0MScgb24gd3MuLi4KK1BB
U1MgY2xvc2VkU29ja2V0IGlzICJzb2NrZXQxIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2Nsb3NlLW9uLW5hdmlnYXRlLW5ldy1sb2NhdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xvc2Utb24tbmF2aWdhdGUt
bmV3LWxvY2F0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTdjMTBiYjUxYjkyMTQ3YjhmNjdkMjYzYWRl
M2I0MGQwN2U3YzZhMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2Nsb3NlLW9uLW5hdmlnYXRlLW5ldy1sb2NhdGlvbi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4u
L2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIlRl
c3QgaWYgV2ViIFNvY2tldCBpcyBjbG9zZWQgd2hlbiBuYXZpZ2F0aW5nIHRvIG5ldyBsb2NhdGlv
bi4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVu
Y2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwordmFyIGZy
YW1lRGl2OwordmFyIGNsb3NlZFNvY2tldDsKKwordmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6
Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvY2xvc2Utb24tdW5sb2FkIik7Cit3cy5v
bm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIlBBU1Mgd3Mgb24gbWFzdGVyIGRvY3Vt
ZW50IGlzIHJlYWR5LiIpOworICAgIGZyYW1lRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
aWZyYW1lIik7CisgICAgZnJhbWVEaXYuc3JjID0gInJlc291cmNlcy9jbG9zZS1vbi11bmxvYWQt
aWZyYW1lLmh0bWwiOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWVEaXYpOwor
ICAgIGRlYnVnKCJQQVNTIGluc2VydCBhIGlmcmFtZSwgd2hlcmUgb3BlbiB3cyBjYWxsZWQgJ3Nv
Y2tldDEnIik7Cit9Oword3Mub25tZXNzYWdlID0gZnVuY3Rpb24oZXZ0KQoreworICAgIGNsb3Nl
ZFNvY2tldCA9IGV2dC5kYXRhOworICAgIHdzLmNsb3NlKCk7Cit9Oword3Mub25jbG9zZSA9IGZ1
bmN0aW9uKCkKK3sKKyAgICBzaG91bGRCZSgiY2xvc2VkU29ja2V0IiwgJyJzb2NrZXQxIicpOwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKworZG9jdW1lbnQuaWZyYW1lUmVhZHkgPSBmdW5jdGlv
bigpCit7CisgICAgZGVidWcoIlBBU1MgJ3NvY2tldDEnIGlzIHNlbnQgdG8gdGhlIHNlcnZlci4g
bmF2aWdhdGUgdG8gbmV3IGxvY2F0aW9uLiBleHBlY3QgcmVjZWl2aW5nICdzb2NrZXQxJyBvbiB3
cy4uLiIpOworICAgIGZyYW1lRGl2LnNyYyA9ICJoYW5kbGVyX21hcC50eHQiOworfTsKKwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvY2xvc2Utb24tdW5sb2FkLWFuZC1mb3JjZS1nYy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1vbi11bmxvYWQtYW5kLWZvcmNl
LWdjLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YTM0N2E0MmMwZDY0Y2MwYTZkY2UwOThhOWMw
MDRlZTVmYjNmNTQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvY2xvc2Utb24tdW5sb2FkLWFuZC1mb3JjZS1nYy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMiBAQAorVGVzdCBpZiBXZWIgU29ja2V0IGlzIGNsb3NlZCBvbiB1bmxvYWQg
YW5kIG5vdCBjcmFzaGVkIGlmIGdhcmJhZ2UgY29sbGVjdGVkCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyB3cyBvbiBtYXN0ZXIgZG9jdW1lbnQgaXMgcmVhZHkuCitQQVNTIGlu
c2VydCBhIGlmcmFtZSwgd2hlcmUgb3BlbiB3cyBjYWxsZWQgJ3NvY2tldDEnCitQQVNTICdzb2Nr
ZXQxJyBpcyBzZW50IHRvIHRoZSBzZXJ2ZXIuIHVubG9hZCB0aGUgaWZyYW1lIGFuZCBmb3JjZSBn
YXJiYWdlIGNvbGxlY3Rpb24uIGV4cGVjdCByZWNlaXZpbmcgJ3NvY2tldDEnIG9uIHdzIGFuZCBu
byBjcmFzaC4uLgorUEFTUyBjbG9zZWRTb2NrZXQgaXMgInNvY2tldDEiCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xvc2Utb24tdW5sb2FkLWFuZC1mb3Jj
ZS1nYy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xvc2Ut
b24tdW5sb2FkLWFuZC1mb3JjZS1nYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhMmUyNDdiZWZmZTU0OTBh
Y2E5OTUzNjQzMGZmYzNiZjJkMjk3Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1vbi11bmxvYWQtYW5kLWZvcmNlLWdjLmh0
bWwKQEAgLTAsMCArMSw2MSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlw
dGlvbigiVGVzdCBpZiBXZWIgU29ja2V0IGlzIGNsb3NlZCBvbiB1bmxvYWQgYW5kIG5vdCBjcmFz
aGVkIGlmIGdhcmJhZ2UgY29sbGVjdGVkIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xF
bmFibGVkIiwgMCk7CisKK2Z1bmN0aW9uIGdjKCkKK3sKKyAgICBpZiAod2luZG93LkdDQ29udHJv
bGxlcikKKyAgICAgICAgcmV0dXJuIEdDQ29udHJvbGxlci5jb2xsZWN0KCk7CisKKyAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IDEwMDAwOyBpKyspIHsgLy8gPiBmb3JjZSBnYXJiYWdlIGNvbGxlY3Rp
b24gKEZGIHJlcXVpcmVzIGFib3V0IDlLIGFsbG9jYXRpb25zIGJlZm9yZSBhIGNvbGxlY3QpCisg
ICAgICAgIHZhciBzID0gbmV3IFN0cmluZygiYWJjIik7CisgICAgfQorfTsKKwordmFyIGZyYW1l
RGl2OwordmFyIGNsb3NlZFNvY2tldDsKKwordmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8x
MjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvY2xvc2Utb24tdW5sb2FkIik7Cit3cy5vbm9w
ZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIlBBU1Mgd3Mgb24gbWFzdGVyIGRvY3VtZW50
IGlzIHJlYWR5LiIpOworICAgIGZyYW1lRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZy
YW1lIik7CisgICAgZnJhbWVEaXYuc3JjID0gInJlc291cmNlcy9jbG9zZS1vbi11bmxvYWQtaWZy
YW1lLmh0bWwiOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWVEaXYpOworICAg
IGRlYnVnKCJQQVNTIGluc2VydCBhIGlmcmFtZSwgd2hlcmUgb3BlbiB3cyBjYWxsZWQgJ3NvY2tl
dDEnIik7Cit9Oword3Mub25tZXNzYWdlID0gZnVuY3Rpb24oZXZ0KQoreworICAgIGNsb3NlZFNv
Y2tldCA9IGV2dC5kYXRhOworICAgIHdzLmNsb3NlKCk7Cit9Oword3Mub25jbG9zZSA9IGZ1bmN0
aW9uKCkKK3sKKyAgICBzaG91bGRCZSgiY2xvc2VkU29ja2V0IiwgJyJzb2NrZXQxIicpOworICAg
IGZpbmlzaEpTVGVzdCgpOworfTsKKworZG9jdW1lbnQuaWZyYW1lUmVhZHkgPSBmdW5jdGlvbigp
Cit7CisgICAgZGVidWcoIlBBU1MgJ3NvY2tldDEnIGlzIHNlbnQgdG8gdGhlIHNlcnZlci4gdW5s
b2FkIHRoZSBpZnJhbWUgYW5kIGZvcmNlIGdhcmJhZ2UgY29sbGVjdGlvbi4gZXhwZWN0IHJlY2Vp
dmluZyAnc29ja2V0MScgb24gd3MgYW5kIG5vIGNyYXNoLi4uIik7CisgICAgZG9jdW1lbnQuYm9k
eS5yZW1vdmVDaGlsZChmcmFtZURpdik7CisgICAgZ2MoKTsKK307CisKK3ZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMtdGVz
dC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Nsb3Nl
LW9uLXVubG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9jbG9zZS1vbi11bmxvYWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmNDUyNzgx
N2UyMDM3ZTQ5NDg5MzdjMzZlMjcyZTk4Y2RkOGM3NzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1vbi11bmxvYWQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3QgaWYgV2ViIFNvY2tldCBpcyBjbG9zZWQgb24g
dW5sb2FkCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyB3cyBvbiBtYXN0ZXIg
ZG9jdW1lbnQgaXMgcmVhZHkuCitQQVNTIGluc2VydCBhIGlmcmFtZSwgd2hlcmUgb3BlbiB3cyBj
YWxsZWQgJ3NvY2tldDEnCitQQVNTICdzb2NrZXQxJyBpcyBzZW50IHRvIHRoZSBzZXJ2ZXIuIHVu
bG9hZCB0aGUgaWZyYW1lLiBleHBlY3QgcmVjZWl2aW5nICdzb2NrZXQxJyBvbiB3cy4uLgorUEFT
UyBjbG9zZWRTb2NrZXQgaXMgInNvY2tldDEiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvY2xvc2Utb24tdW5sb2FkLXJlZmVyZW5jZS1pbi1wYXJlbnQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xvc2Ut
b24tdW5sb2FkLXJlZmVyZW5jZS1pbi1wYXJlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5
MTExNmQ4ZDJjMzYxZTBjZTg4YmU1ZTMxZTA2OWYyMWU1ZDNmYTAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1vbi11bmxvYWQt
cmVmZXJlbmNlLWluLXBhcmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorVGVzdCBp
ZiBXZWIgU29ja2V0IG9wZW5lZCBpbiBpZnJhbWUgYnV0IHJlZmVycmVkIGluIHBhcmVudCBkb2N1
bWVudCBpcyBjbG9zZWQgb24gdW5sb2FkaW5nIHRoZSBmcmFtZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIHdzIG9uIG1hc3RlciBkb2N1bWVudCBpcyByZWFkeS4KK1BBU1Mg
aW5zZXJ0IGEgaWZyYW1lLCB3aGVyZSBvcGVuIHdzIGNhbGxlZCAnc29ja2V0MScKK1BBU1MgZG9j
dW1lbnQuY2hpbGRXZWJTb2NrZXQgaXMgbm9uLW51bGwuCitQQVNTICdzb2NrZXQxJyBpcyBzZW50
IHRvIHRoZSBzZXJ2ZXIuIHVubG9hZCB0aGUgaWZyYW1lLiBleHBlY3QgcmVjZWl2aW5nICdzb2Nr
ZXQxJyBvbiB3cy4uLgorUEFTUyBjbG9zZWRTb2NrZXQgaXMgInNvY2tldDEiCitQQVNTIGRvY3Vt
ZW50LmNoaWxkV2ViU29ja2V0LnJlYWR5U3RhdGUgaXMgMworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Nsb3NlLW9uLXVubG9hZC1yZWZlcmVuY2UtaW4tcGFy
ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1v
bi11bmxvYWQtcmVmZXJlbmNlLWluLXBhcmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYyOGQ1YWU1NTVl
YzIxNDk4NjI5NTE4YTY3NTc1MmExMTQyMTJiY2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1vbi11bmxvYWQtcmVmZXJlbmNl
LWluLXBhcmVudC5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPgorZGVzY3JpcHRpb24oIlRlc3QgaWYgV2ViIFNvY2tldCBvcGVuZWQgaW4gaWZyYW1lIGJ1
dCByZWZlcnJlZCBpbiBwYXJlbnQgZG9jdW1lbnQgaXMgY2xvc2VkIG9uIHVubG9hZGluZyB0aGUg
ZnJhbWUuIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVm
ZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK3Zh
ciBmcmFtZURpdjsKK3ZhciBjbG9zZWRTb2NrZXQ7Citkb2N1bWVudC5jaGlsZFdlYlNvY2tldCA9
IG51bGw7CisKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vi
c29ja2V0L3Rlc3RzL2Nsb3NlLW9uLXVubG9hZCIpOword3Mub25vcGVuID0gZnVuY3Rpb24oKQor
eworICAgIGRlYnVnKCJQQVNTIHdzIG9uIG1hc3RlciBkb2N1bWVudCBpcyByZWFkeS4iKTsKKyAg
ICBmcmFtZURpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOworICAgIGZyYW1l
RGl2LnNyYyA9ICJyZXNvdXJjZXMvY2xvc2Utb24tdW5sb2FkLWlmcmFtZS1yZWZlcmVuY2UtaW4t
cGFyZW50Lmh0bWwiOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWVEaXYpOwor
ICAgIGRlYnVnKCJQQVNTIGluc2VydCBhIGlmcmFtZSwgd2hlcmUgb3BlbiB3cyBjYWxsZWQgJ3Nv
Y2tldDEnIik7Cit9Oword3Mub25tZXNzYWdlID0gZnVuY3Rpb24oZXZ0KQoreworICAgIGNsb3Nl
ZFNvY2tldCA9IGV2dC5kYXRhOworICAgIHdzLmNsb3NlKCk7Cit9Oword3Mub25jbG9zZSA9IGZ1
bmN0aW9uKCkKK3sKKyAgICBzaG91bGRCZSgiY2xvc2VkU29ja2V0IiwgJyJzb2NrZXQxIicpOwor
ICAgIHNob3VsZEJlKCJkb2N1bWVudC5jaGlsZFdlYlNvY2tldC5yZWFkeVN0YXRlIiwgIjMiKTsK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK2RvY3VtZW50LmlmcmFtZVJlYWR5ID0gZnVuY3Rp
b24oKQoreworICAgIHNob3VsZEJlTm9uTnVsbCgiZG9jdW1lbnQuY2hpbGRXZWJTb2NrZXQiKTsK
KyAgICBkZWJ1ZygiUEFTUyAnc29ja2V0MScgaXMgc2VudCB0byB0aGUgc2VydmVyLiB1bmxvYWQg
dGhlIGlmcmFtZS4gZXhwZWN0IHJlY2VpdmluZyAnc29ja2V0MScgb24gd3MuLi4iKTsKKyAgICBk
b2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGZyYW1lRGl2KTsKK307CisKK3ZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMtdGVz
dC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Nsb3Nl
LW9uLXVubG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
Y2xvc2Utb24tdW5sb2FkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU4MjEzODAyMTdhODU0ZDdkNGY1Mjkw
Njk3Y2FhMmU5MjUwZjNkMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2Nsb3NlLW9uLXVubG9hZC5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0
LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIlRlc3QgaWYgV2ViIFNv
Y2tldCBpcyBjbG9zZWQgb24gdW5sb2FkIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xF
bmFibGVkIiwgMCk7CisKK3ZhciBmcmFtZURpdjsKK3ZhciBjbG9zZWRTb2NrZXQ7CisKK3ZhciB3
cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2Ns
b3NlLW9uLXVubG9hZCIpOword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJQ
QVNTIHdzIG9uIG1hc3RlciBkb2N1bWVudCBpcyByZWFkeS4iKTsKKyAgICBmcmFtZURpdiA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOworICAgIGZyYW1lRGl2LnNyYyA9ICJyZXNv
dXJjZXMvY2xvc2Utb24tdW5sb2FkLWlmcmFtZS5odG1sIjsKKyAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGZyYW1lRGl2KTsKKyAgICBkZWJ1ZygiUEFTUyBpbnNlcnQgYSBpZnJhbWUsIHdo
ZXJlIG9wZW4gd3MgY2FsbGVkICdzb2NrZXQxJyIpOworfTsKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0
aW9uKGV2dCkKK3sKKyAgICBjbG9zZWRTb2NrZXQgPSBldnQuZGF0YTsKKyAgICB3cy5jbG9zZSgp
OworfTsKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbigpCit7CisgICAgc2hvdWxkQmUoImNsb3NlZFNv
Y2tldCIsICcic29ja2V0MSInKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK2RvY3VtZW50
LmlmcmFtZVJlYWR5ID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJQQVNTICdzb2NrZXQxJyBp
cyBzZW50IHRvIHRoZSBzZXJ2ZXIuIHVubG9hZCB0aGUgaWZyYW1lLiBleHBlY3QgcmVjZWl2aW5n
ICdzb2NrZXQxJyBvbiB3cy4uLiIpOworICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZnJh
bWVEaXYpOworfTsgCisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Nsb3NlLW9uLXVubG9hZF93c2gucHkgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1vbi11bmxvYWRfd3NoLnB5Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjRjMTMxMTViMjQzOWJmYjc2ZDMxMjg2YWRjZTllYzY1ZTEwNDYyOTIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9z
ZS1vbi11bmxvYWRfd3NoLnB5CkBAIC0wLDAgKzEsNTYgQEAKKyMgQ29weXJpZ2h0IDIwMDksIEdv
b2dsZSBJbmMuCisjIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisK
K2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBtc2d1dGlsCisKKworIyB3ZSBkb24ndCB1c2Ug
c2V0KCkgaGVyZSwgYmVjYXVzZSBweXRob24gb24gbWFjIHRpZ2VyIGRvZXNuJ3Qgc3VwcG9ydCBp
dC4KK2Nvbm5lY3Rpb25zID0ge30KKworCitkZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hh
a2UocmVxdWVzdCk6CisgICAgcGFzcyAgIyBBbHdheXMgYWNjZXB0LgorCisKK2RlZiB3ZWJfc29j
a2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgZ2xvYmFsIGNvbm5lY3Rpb25zCisgICAg
Y29ubmVjdGlvbnNbcmVxdWVzdF0gPSBUcnVlCisgICAgc29ja2V0TmFtZSA9IE5vbmUKKyAgICB0
cnk6CisgICAgICAgIHNvY2tldE5hbWUgPSBtc2d1dGlsLnJlY2VpdmVfbWVzc2FnZShyZXF1ZXN0
KQorICAgICAgICAjIG5vdGlmeSB0byBjbGllbnQgdGhhdCBzb2NrZXROYW1lIGlzIHJlY2VpdmVk
IGJ5IHNlcnZlci4KKyAgICAgICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwgc29ja2V0
TmFtZSkKKyAgICAgICAgbXNndXRpbC5yZWNlaXZlX21lc3NhZ2UocmVxdWVzdCkgICMgd2FpdCwg
YW5kIGV4Y2VwdGlvbiBieSBjbG9zZS4KKyAgICAgICAgc29ja2V0TmFtZSA9IHNvY2tldE5hbWUg
KyAnOiByZWNlaXZlIG5leHQgbWVzc2FnZScKKyAgICBmaW5hbGx5OgorICAgICAgICAjIHJlcXVl
c3QgaXMgY2xvc2VkLiBub3RpZnkgdGhpcyBzb2NrZXROYW1lIHRvIG90aGVyIHdlYiBzb2NrZXRz
LgorICAgICAgICBkZWwgY29ubmVjdGlvbnNbcmVxdWVzdF0KKyAgICAgICAgZm9yIHdzIGluIGNv
bm5lY3Rpb25zLmtleXMoKToKKyAgICAgICAgICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHdzLCBz
b2NrZXROYW1lKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvY2xvc2UtdW5yZWYtd2Vic29ja2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Nsb3NlLXVucmVmLXdlYnNvY2tldC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzlmNTU1NTYyYjYzNmZhNWMzY2I3MTM4NWQzMDY2NTQyZmU3ZjllZgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2Nsb3NlLXVucmVmLXdlYnNvY2tldC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDA6IFdlYlNvY2tldCBpcyBjbG9zZWQgYmVmb3JlIHRoZSBjb25u
ZWN0aW9uIGlzIGVzdGFibGlzaGVkLgorVGVzdCBpZiBXZWIgU29ja2V0IGlzIGNsb3NlZCB3aGls
ZSBoYW5kc2hha2luZyBhbmQgdW5yZWZlcmVuY2VkLCBpdCBzaG91bGQgZmlyZSBjbG9zZSBldmVu
dCBhdCBtb3N0IG9uY2UuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyAxIGlz
ID49IGNvdW50Q2xvc2VFdmVudAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2Nsb3NlLXVucmVmLXdlYnNvY2tldC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xvc2UtdW5yZWYtd2Vic29ja2V0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzU3YjlkM2RkYjZmZWU2NWE0M2QxOGM2MjBmMDgzMDg1OTRiYTkyZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Nsb3NlLXVucmVm
LXdlYnNvY2tldC5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPgorZGVzY3JpcHRpb24oIlRlc3QgaWYgV2ViIFNvY2tldCBpcyBjbG9zZWQgd2hpbGUgaGFu
ZHNoYWtpbmcgYW5kIHVucmVmZXJlbmNlZCwgaXQgc2hvdWxkIGZpcmUgY2xvc2UgZXZlbnQgYXQg
bW9zdCBvbmNlLiIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRl
UHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOwor
Cit2YXIgY291bnRDbG9zZUV2ZW50ID0gMDsKKworZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAg
c2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwoIjEiLCAiY291bnRDbG9zZUV2ZW50Iik7CisgICAg
ZmluaXNoSlNUZXN0KCk7Cit9OworCit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4w
LjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oYW5naW5nLWhhbmRzaGFrZSIpOword3Mub25jbG9z
ZSA9IGZ1bmN0aW9uKCkgeworICAgIGNvdW50Q2xvc2VFdmVudCArPSAxOworfTsKK3dzLmNsb3Nl
KCk7Cit3cyA9IG51bGw7CitnYygpOworc2V0VGltZW91dCgiZW5kVGVzdCgpIiwgMTAwKTsKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2Nyb3NzLW9yaWdpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9jcm9zcy1vcmlnaW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFk
M2UxZTY1MTZkY2Q1MWQzODgwMGJmMjRlZmNhNjY4ZmJkOTkzMjUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jcm9zcy1vcmlnaW4tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1dlYiBTb2NrZXQgQ3Jvc3MgT3JpZ2luIHRlc3QK
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitkb2N1bWVudC5kb21haW49MTI3LjAuMC4x
Cit3cy51cmw9d3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvb3JpZ2luLXRlc3QK
K0Nvbm5lY3RlZAorUEFTUyBvcmlnaW4gaXMgImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jcm9zcy1vcmlnaW4uaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Nyb3NzLW9yaWdpbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjg1ODczMmUzZTEwNGVhZDJlNTNjOTU4MWZlYzQ5NDQ1YjMwMGUwNTEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9jcm9zcy1vcmlnaW4uaHRtbApAQCAtMCwwICsxLDU5IEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJXZWIgU29ja2V0IENyb3NzIE9yaWdpbiB0ZXN0Iik7CisK
K3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJL
aXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK3ZhciBvcmlnaW47CisK
K2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIHNob3VsZEJlKCJvcmlnaW4iLCAnImh0dHA6Ly8x
MjcuMC4wLjE6ODAwMCInKTsKKyAgICBjbGVhclRpbWVvdXQodGltZW91dElEKTsKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK30KKwordmFyIHVybCA9ICJ3czovL2xvY2FsaG9zdDo4ODgwL3dlYnNvY2tl
dC90ZXN0cy9vcmlnaW4tdGVzdCI7CitkZWJ1ZygiZG9jdW1lbnQuZG9tYWluPSIgKyBkb2N1bWVu
dC5kb21haW4pOworZGVidWcoIndzLnVybD0iICsgdXJsKTsKK3ZhciB3cyA9IG5ldyBXZWJTb2Nr
ZXQodXJsKTsKKword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJDb25uZWN0
ZWQiKTsKK307CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChtZXNzYWdlRXZlbnQpCit7Cisg
ICAgb3JpZ2luID0gbWVzc2FnZUV2ZW50LmRhdGE7CisgICAgd3MuY2xvc2UoKTsKK307CisKK3dz
Lm9uY2xvc2UgPSBmdW5jdGlvbigpCit7CisgICAgZW5kVGVzdCgpOworfTsKKworZnVuY3Rpb24g
dGltZU91dENhbGxiYWNrKCkKK3sKKyAgICBkZWJ1ZygiVGltZWQgb3V0IGluIHN0YXRlOiAiICsg
d3MucmVhZHlTdGF0ZSk7CisgICAgZW5kVGVzdCgpOworfQorCit2YXIgdGltZW91dElEID0gc2V0
VGltZW91dCh0aW1lT3V0Q2FsbGJhY2ssIDMwMDApOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9lY2hvLWNoYWxsZW5n
ZV93c2gucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9lY2hvLWNo
YWxsZW5nZV93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzkwZDQ0MTUwOWNhMzA0MzRlYWJlM2RjNDU0MzA2
MTZmNWIzM2NiZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2VjaG8tY2hhbGxlbmdlX3dzaC5weQpAQCAtMCwwICsxLDEzIEBACitmcm9t
IG1vZF9weXdlYnNvY2tldCBpbXBvcnQgbXNndXRpbAorCisKK2RlZiB3ZWJfc29ja2V0X2RvX2V4
dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICBwYXNzCisKKworZGVmIHdlYl9zb2NrZXRfdHJh
bnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICBtc2d1dGlsLnNlbmRfbWVzc2FnZShyZXF1ZXN0LCBf
aGV4aWZ5KHJlcXVlc3Qud3NfY2hhbGxlbmdlKSkKKworCitkZWYgX2hleGlmeShieXRlcyk6Cisg
ICAgcmV0dXJuICc6Jy5qb2luKFsnJTAyWCcgJSBvcmQoYnl0ZSkgZm9yIGJ5dGUgaW4gYnl0ZXNd
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvZWNo
by1jb29raWVfd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
ZWNoby1jb29raWVfd3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZhYTI1Zjk4MGUwYmU1MmZmNDRiMDFiMjNl
NDIwZGNjM2Q0NzAzMzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9lY2hvLWNvb2tpZV93c2gucHkKQEAgLTAsMCArMSwzOCBAQAorIyBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMg
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMg
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisj
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisKKworZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IG1zZ3V0aWwKKwor
CitkZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgcGFzcwor
CisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgbXNndXRpbC5z
ZW5kX21lc3NhZ2UocmVxdWVzdCwgIHJlcXVlc3QuaGVhZGVyc19pblsnQ29va2llJ10pCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9lY2hvLWxvY2F0
aW9uX3dzaC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2VjaG8t
bG9jYXRpb25fd3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzOTA1NzBhYmFjODFiNTg1OTJjZmI0YmMwZGNh
NWVlMDFiZDBiMjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9lY2hvLWxvY2F0aW9uX3dzaC5weQpAQCAtMCwwICsxLDM5IEBACisjIENv
cHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMg
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKworCitmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgbXNndXRpbAorCisK
K2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICBwYXNzCisK
KworZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICBwcmludCByZXF1
ZXN0LndzX2xvY2F0aW9uCisgICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwgcmVxdWVz
dC53c19sb2NhdGlvbikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2VjaG9fd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvZWNob193c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzljM2YxMDU3NWEyZjI4MWI1NDJhZTFhYzlk
YmZjZTQ0OWEwYzk3MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2VjaG9fd3NoLnB5CkBAIC0wLDAgKzEsNDYgQEAKKyMgQ29weXJpZ2h0
IDIwMDksIEdvb2dsZSBJbmMuCisjIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorCisKK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBtc2d1dGlsCisKKworX0dPT0RC
WUVfTUVTU0FHRSA9ICdHb29kYnllJworCisKK2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRz
aGFrZShyZXF1ZXN0KToKKyAgICBwYXNzICAjIEFsd2F5cyBhY2NlcHQuCisKKworZGVmIHdlYl9z
b2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICB3aGlsZSBUcnVlOgorICAgICAgICBs
aW5lID0gbXNndXRpbC5yZWNlaXZlX21lc3NhZ2UocmVxdWVzdCkKKyAgICAgICAgbXNndXRpbC5z
ZW5kX21lc3NhZ2UocmVxdWVzdCwgbGluZSkKKyAgICAgICAgaWYgbGluZSA9PSBfR09PREJZRV9N
RVNTQUdFOgorICAgICAgICAgICAgcmV0dXJuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9lcnJvci1kZXRlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvZXJyb3ItZGV0ZWN0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42YzY5ZWVkMDM4ZmVlMzJmZDA5YTNiOGFlYTNjMzU1NGI3YzQ2NjQ0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
ZXJyb3ItZGV0ZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitNYWtlIHN1cmUgV2Vi
U29ja2V0IGNvcnJlY3RseSBmaXJlIGVycm9yIGV2ZW50IGZvciB1bmtub3duIGZyYW1lIHR5cGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworV2ViU29ja2V0IGlzIG9wZW4KK3JlY2Vp
dmVkOmRvbmUKK1dlYlNvY2tldCBpcyBjbG9zZWQKK1BBU1MgZXJyb3JDb3VudCBpcyAyNTUKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9lcnJvci1kZXRlY3Qu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Vycm9yLWRldGVj
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjUzZjkyNDlmYjdiZjIxZmYxMDhiNGE4NGYxN2I1YWM4ZTI0ZjRi
ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9lcnJvci1kZXRlY3QuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJNYWtlIHN1cmUgV2ViU29ja2V0IGNvcnJlY3RseSBm
aXJlIGVycm9yIGV2ZW50IGZvciB1bmtub3duIGZyYW1lIHR5cGUuIik7CisKK3dpbmRvdy5qc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2Vi
U29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK3ZhciBlcnJvckNvdW50ID0gMDsKKwordmFy
IHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMv
dW5rbm93bi1mcmFtZS10eXBlIik7Cit3cy5vbm9wZW4gPSBmdW5jdGlvbiAoKSB7CisgICAgZGVi
dWcoIldlYlNvY2tldCBpcyBvcGVuIik7Cit9Oword3Mub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2
dCkgeworICAgIGRlYnVnKCJyZWNlaXZlZDoiICsgZXZ0LmRhdGEpOworfTsKK3dzLm9uZXJyb3Ig
PSBmdW5jdGlvbiAoKSB7CisgICAgZXJyb3JDb3VudCArPSAxOworfTsKK3dzLm9uY2xvc2UgPSBm
dW5jdGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNvY2tldCBpcyBjbG9zZWQiKTsKKyAgICBzaG91
bGRCZSgiZXJyb3JDb3VudCIsICIyNTUiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2ZpeGVkLW9yaWdpbl93c2gucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9maXhlZC1vcmlnaW5fd3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkzOGZiODNjYjRjOGJk
YjhmMzIwYmQ4MDdiYjUyM2I5NDhmZGE0YTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9maXhlZC1vcmlnaW5fd3NoLnB5CkBAIC0wLDAg
KzEsMzggQEAKKyMgQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0
cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9y
dCBtc2d1dGlsCisKKworZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3Qp
OgorICAgIHJlcXVlc3Qud3Nfb3JpZ2luID0gJ2h0dHA6Ly9leGFtcGxlLmNvbScKKworCitkZWYg
d2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIG1zZ3V0aWwuc2VuZF9tZXNz
YWdlKHJlcXVlc3QsIHJlcXVlc3Qud3Nfb3JpZ2luKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3RoLWxvbmdlci10aGFuLWJ1ZmZl
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9m
cmFtZS1sZW5ndGgtbG9uZ2VyLXRoYW4tYnVmZmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
ZjM3NzAwZmE1NzgxOTUwNDZlZmI0YWRjODNlMWIwZGQzYTgxYjM5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3RoLWxv
bmdlci10aGFuLWJ1ZmZlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorTWFrZSBzdXJl
IFdlYlNvY2tldCBjb3JyZWN0bHkgc2tpcCBsZW5ndGhlZCBmcmFtZSBldmVuIGlmIHJlY2VpdmVk
IGRhdGEgaGFzIGluY29tcGxldGUgZnJhbWUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworV2ViU29ja2V0IGlzIG9wZW4KK3JlY2VpdmVkOmhlbGxvCitXZWJTb2NrZXQgaXMgY2xvc2Vk
CisxCitQQVNTIGFyZUFycmF5c0VxdWFsKHJlY2VpdmVkX21lc3NhZ2VzLCBleHBlY3RlZF9tZXNz
YWdlcykgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2ZyYW1lLWxlbmd0aC1sb25nZXItdGhhbi1idWZmZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2ZyYW1lLWxlbmd0aC1sb25nZXItdGhhbi1idWZmZXIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40YzY1NWM1ODIzYTU3OGM2M2I5NzNkM2MxZGQ4MWVlODU1NjczOWNk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvZnJhbWUtbGVuZ3RoLWxvbmdlci10aGFuLWJ1ZmZlci5odG1sCkBAIC0wLDAgKzEsNDkgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0
LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSBXZWJT
b2NrZXQgY29ycmVjdGx5IHNraXAgbGVuZ3RoZWQgZnJhbWUgZXZlbiBpZiByZWNlaXZlZCBkYXRh
IGhhcyBpbmNvbXBsZXRlIGZyYW1lLiIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7
CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9s
bGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5h
YmxlZCIsIDApOworCit2YXIgcmVjZWl2ZWRfbWVzc2FnZXMgPSBbXTsKK3ZhciBleHBlY3RlZF9t
ZXNzYWdlcyA9IFsiaGVsbG8iXTsKK2Z1bmN0aW9uIGZpbmlzaCgpIHsKKyAgICBjbGVhclRpbWVv
dXQodGltZW91dElEKTsKKyAgICBkZWJ1ZyhyZWNlaXZlZF9tZXNzYWdlcy5sZW5ndGgpOworICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgcmVjZWl2ZWRfbWVzc2FnZXM7IGkrKykgeworICAgICAgICBk
ZWJ1ZygicmVjZWl2ZWRbIiArIGkgKyAiXT0iICsgcmVjZWl2ZWRfbWVzc2FnZXNbaV0pOworICAg
IH0KKworICAgIHNob3VsZEJlVHJ1ZSgiYXJlQXJyYXlzRXF1YWwocmVjZWl2ZWRfbWVzc2FnZXMs
IGV4cGVjdGVkX21lc3NhZ2VzKSIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3ZhciB3
cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2Zy
YW1lLWxlbmd0aC1sb25nZXItdGhhbi1idWZmZXIiKTsKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uICgp
IHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0IGlzIG9wZW4iKTsKK307Cit3cy5vbm1lc3NhZ2UgPSBm
dW5jdGlvbiAoZXZ0KSB7CisgICAgZGVidWcoInJlY2VpdmVkOiIgKyBldnQuZGF0YSk7CisgICAg
cmVjZWl2ZWRfbWVzc2FnZXMucHVzaChldnQuZGF0YSk7Cit9Oword3Mub25jbG9zZSA9IGZ1bmN0
aW9uICgpIHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0IGlzIGNsb3NlZCIpOworICAgIGZpbmlzaCgp
OworfTsKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0KCJmaW5pc2goKSIsIDIwMDApOworCit2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9mcmFtZS1sZW5ndGgtbG9uZ2VyLXRoYW4tYnVmZmVyX3dzaC5weSBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2ZyYW1lLWxlbmd0aC1sb25nZXItdGhhbi1i
dWZmZXJfd3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzNGI0ZjE3ZDMwODdiOGMyNThmMThkOGJiM2Y1YjAw
ZDQ4ZmFlMTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9mcmFtZS1sZW5ndGgtbG9uZ2VyLXRoYW4tYnVmZmVyX3dzaC5weQpAQCAtMCww
ICsxLDExIEBACitkZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6Cisg
ICAgcGFzcworCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAg
bXNnID0gIlwwaGVsbG9ceGZmIgorICAgIG1zZyArPSAiXHg4MFx4ODFceDAxIiAjIFNraXAgMSox
MjgrMSBieXRlcy4KKyAgICBtc2cgKz0gIlx4MDFceGZmIgorICAgIG1zZyArPSAiXDBzaG91bGQg
YmUgc2tpcHBlZFx4ZmYiCisgICAgcmVxdWVzdC5jb25uZWN0aW9uLndyaXRlKG1zZykKKyAgICBy
YWlzZSBFeGNlcHRpb24oIkFib3J0IHRoZSBjb25uZWN0aW9uIikgIyBQcmV2ZW50cyBweXdlYnNv
Y2tldCBmcm9tIHN0YXJ0aW5nIGNsb3NpbmcgaGFuZHNoYWtlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3RoLW92ZXJmbG93LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2ZyYW1l
LWxlbmd0aC1vdmVyZmxvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGMyMTZmNGU4MjQ2MDQ5
ZDE3MGFhNjY2MTc4YzhiZTlhMWFjYjM5OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2ZyYW1lLWxlbmd0aC1vdmVyZmxvdy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMiBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IFdlYlNvY2tl
dCBmcmFtZSBsZW5ndGggdG9vIGxhcmdlCitNYWtlIHN1cmUgV2ViU29ja2V0IGRvZXMgbm90IGNy
YXNoIGFuZCByZXBvcnQgZXJyb3Igd2hlbiBpdCBzZWVzIGxlbmd0aCBvdmVyZmxvdworCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1dlYlNvY2tldCBpcyBvcGVuCitXZWJTb2NrZXQgcmVj
ZWl2ZWQgZXJyb3IgZnJhbWUKK1dlYlNvY2tldCBpcyBjbG9zZWQKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9mcmFtZS1sZW5ndGgtb3ZlcmZsb3cuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2ZyYW1lLWxlbmd0aC1vdmVy
Zmxvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjMGE5YTkyNmUzZjI2Y2M3YmI4MmJjNzQyY2E4NWRmNDc3
ZDUyZGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9mcmFtZS1sZW5ndGgtb3ZlcmZsb3cuaHRtbApAQCAtMCwwICsxLDM1IEBACis8aHRt
bD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9qcy10ZXN0
LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMt
dGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiTWFrZSBzdXJlIFdlYlNvY2tldCBkb2VzIG5vdCBjcmFz
aCBhbmQgcmVwb3J0IGVycm9yIHdoZW4gaXQgc2VlcyBsZW5ndGggb3ZlcmZsb3ciKTsKKword2lu
ZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhp
eGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwordmFyIHdzID0gbmV3IFdlYlNv
Y2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3RoLW92
ZXJmbG93Iik7Cit3cy5vbm9wZW4gPSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNvY2tl
dCBpcyBvcGVuIik7Cit9Oword3Mub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2dCkgeworICAgIGRl
YnVnKCJXZWJTb2NrZXQgcmVjZWl2ZWQ6IiArIGV2dC5kYXRhKTsKK307Cit3cy5vbmVycm9yID0g
ZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJTb2NrZXQgcmVjZWl2ZWQgZXJyb3IgZnJhbWUi
KTsKK307Cit3cy5vbmNsb3NlID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJTb2NrZXQg
aXMgY2xvc2VkIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9mcmFtZS1s
ZW5ndGgtb3ZlcmZsb3dfd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvZnJhbWUtbGVuZ3RoLW92ZXJmbG93X3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYzdjOTIxY2Fk
OWY1ZjBhNTE5YmJlMTYxMWIxM2EyMGU4NDM2N2FlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3RoLW92ZXJmbG93X3dz
aC5weQpAQCAtMCwwICsxLDggQEAKK2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShy
ZXF1ZXN0KToKKyAgICBwYXNzCisKKworZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1
ZXN0KToKKyAgICBtc2cgPSAxNiAqICdceGZmJworICAgIHJlcXVlc3QuY29ubmVjdGlvbi53cml0
ZShtc2cpCisgICAgcmFpc2UgRXhjZXB0aW9uKCdBYm9ydCB0aGUgY29ubmVjdGlvbicpICMgUHJl
dmVudHMgcHl3ZWJzb2NrZXQgZnJvbSBzdGFydGluZyBjbG9zaW5nIGhhbmRzaGFrZS4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2ZyYW1lLWxlbmd0
aC1za2lwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2ZyYW1lLWxlbmd0aC1za2lwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYTMyZmU0Y2Zh
MzU1NmY2OGI2ODdiMWNmYmFlNWY1YzQxNmQ1MjRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3RoLXNraXAtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK01ha2Ugc3VyZSBXZWJTb2NrZXQgY29ycmVjdGx5IHNr
aXAgbGVuZ3RoZWQgZnJhbWUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworV2ViU29j
a2V0IGlzIG9wZW4KK3JlY2VpdmVkOmhlbGxvCityZWNlaXZlZDp3b3JsZAorV2ViU29ja2V0IGlz
IGNsb3NlZAorMgorUEFTUyBhcmVBcnJheXNFcXVhbChyZWNlaXZlZF9tZXNzYWdlcywgZXhwZWN0
ZWRfbWVzc2FnZXMpIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9mcmFtZS1sZW5ndGgtc2tpcC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3RoLXNraXAuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YjM1
MjgxOWU4ODBhYzRiYThjNzJjM2RkM2RlMmIxOTgwODdkOWJkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3RoLXNraXAu
aHRtbApAQCAtMCwwICsxLDQ5IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2Ny
aXB0aW9uKCJNYWtlIHN1cmUgV2ViU29ja2V0IGNvcnJlY3RseSBza2lwIGxlbmd0aGVkIGZyYW1l
LiIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5j
ZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCit2YXIgcmVj
ZWl2ZWRfbWVzc2FnZXMgPSBbXTsKK3ZhciBleHBlY3RlZF9tZXNzYWdlcyA9IFsiaGVsbG8iLCAi
d29ybGQiXTsKK2Z1bmN0aW9uIGZpbmlzaCgpIHsKKyAgICBjbGVhclRpbWVvdXQodGltZW91dElE
KTsKKyAgICBkZWJ1ZyhyZWNlaXZlZF9tZXNzYWdlcy5sZW5ndGgpOworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgcmVjZWl2ZWRfbWVzc2FnZXM7IGkrKykgeworICAgICAgICBkZWJ1ZygicmVjZWl2
ZWRbIiArIGkgKyAiXT0iICsgcmVjZWl2ZWRfbWVzc2FnZXNbaV0pOworICAgIH0KKworICAgIHNo
b3VsZEJlVHJ1ZSgiYXJlQXJyYXlzRXF1YWwocmVjZWl2ZWRfbWVzc2FnZXMsIGV4cGVjdGVkX21l
c3NhZ2VzKSIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3ZhciB3cyA9IG5ldyBXZWJT
b2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2ZyYW1lLWxlbmd0aC1z
a2lwIik7Cit3cy5vbm9wZW4gPSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNvY2tldCBp
cyBvcGVuIik7Cit9Oword3Mub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2dCkgeworICAgIGRlYnVn
KCJyZWNlaXZlZDoiICsgZXZ0LmRhdGEpOworICAgIHJlY2VpdmVkX21lc3NhZ2VzLnB1c2goZXZ0
LmRhdGEpOworfTsKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNv
Y2tldCBpcyBjbG9zZWQiKTsKKyAgICBmaW5pc2goKTsKK307Cit2YXIgdGltZW91dElEID0gc2V0
VGltZW91dCgiZmluaXNoKCkiLCAyMDAwKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3RoLXNraXBf
d3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVu
Z3RoLXNraXBfd3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlODc0MDFkZmVhYzVmYWJjOWIxNDdlMmU3NmU4
ZjUwNDcxZjIwZTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9mcmFtZS1sZW5ndGgtc2tpcF93c2gucHkKQEAgLTAsMCArMSwxMiBAQAor
ZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAgIHBhc3MKKwor
CitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIG1zZyA9ICJcMGhl
bGxvXHhmZiIKKyAgICBtc2cgKz0gIlx4ODBceDgxXHgwMSIgICAjIHNraXAgMSoxMjgrMSBieXRl
cy4KKyAgICBtc2cgKz0gIlx4MDEiCisgICAgbXNnICs9ICJcMHNob3VsZCBiZSBza2lwcGVkIiAr
ICgiICIgKiAxMDkpICsgIlx4ZmYiCisgICAgbXNnICs9ICJcMHdvcmxkXHhmZiIKKyAgICByZXF1
ZXN0LmNvbm5lY3Rpb24ud3JpdGUobXNnKQorICAgIHByaW50IG1zZwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3Rocy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9mcmFtZS1sZW5n
dGhzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yM2VlNDU5NjY0YzU3OWRiNTk0NWY3MTRmZWRi
NjE4MzMzMjRkMzBhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3Rocy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBA
CitUZXN0IHNlbmRpbmcgYW5kIHJlY2VpdmluZyBzbWFsbCBtZXNzYWdlcyBvZiBkaWZmZXJlbnQg
bGVuZ3Rocy4KKworU2hvdWxkIHNheSBQQVNTOgorCitSdW5uaW5nIHRoZSB0ZXN0Li4uCitQQVNT
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Zy
YW1lLWxlbmd0aHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2ZyYW1lLWxlbmd0aHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYmE1NThkNmY5NWVlNmZkNzc2ZDkwZmU1
ZGE4NzUwMDE1ZmFhNjIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3Rocy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzxw
PlRlc3Qgc2VuZGluZyBhbmQgcmVjZWl2aW5nIHNtYWxsIG1lc3NhZ2VzIG9mIGRpZmZlcmVudCBs
ZW5ndGhzLjwvcD4KKzxwPlNob3VsZCBzYXkgUEFTUzo8L3A+Cis8cHJlIGlkPWxvZz5SdW5uaW5n
IHRoZSB0ZXN0Li4uCis8L3ByZT4KKzxzY3JpcHQ+Cit2YXIgbWF4TGVuZ3RoID0gMTAyNTsKKwor
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRI
aXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7Cit9CisKK2Z1bmN0aW9uIGxvZyht
ZXNzYWdlKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2ciKS5pbm5lckhUTUwg
Kz0gbWVzc2FnZSArICJcbiI7Cit9CisKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3
LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2VjaG8iKTsKKwordmFyIGxhc3RTdHJpbmc7Cit2
YXIgZmFpbGVkID0gZmFsc2U7Cit3cy5vbm9wZW4gPSBmdW5jdGlvbigpIHsKKyAgICBsYXN0U3Ry
aW5nID0gIiI7CisgICAgd3Muc2VuZChsYXN0U3RyaW5nKTsKK30KKword3Mub25tZXNzYWdlID0g
ZnVuY3Rpb24obXNnKSB7CisgICAgaWYgKG1zZy5kYXRhICE9IGxhc3RTdHJpbmcpIHsKKyAgICAg
ICAgbG9nKCJGQUlMIC0gaW5jb3JyZWN0IHJlc3BvbnNlLiBFeHBlY3RlZCAnIiArIGxhc3RTdHJp
bmcgKyAiJywgZ290ICciICsgbXNnLmRhdGEgKyAiJy4iKTsKKyAgICAgICAgZmFpbGVkID0gdHJ1
ZTsKKyAgICB9CisKKyAgICBpZiAobGFzdFN0cmluZy5sZW5ndGggPT0gbWF4TGVuZ3RoKSB7Cisg
ICAgICAgIGlmICghZmFpbGVkKQorICAgICAgICAgICAgbG9nKCJQQVNTIik7CisgICAgICAgIHdz
LnNlbmQoIkdvb2RieWUiKTsKKyAgICAgICAgd3Mub25tZXNzYWdlID0gbnVsbDsKKyAgICAgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgIHNldFRpbWVvdXQo
ImxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKSIsIDApOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIGxhc3RTdHJpbmcgKz0gIioiOworICAgICAgICB3cy5zZW5kKGxhc3RTdHJpbmcpOwor
ICAgIH0KK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWNoYWxsZW5nZS1yYW5kb21uZXNzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1jaGFs
bGVuZ2UtcmFuZG9tbmVzcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzFiZGNkNzg1NmU4YzY2
NzFiMmY1OTQ3OGFhOTllYzAyYmExY2E2MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1jaGFsbGVuZ2UtcmFuZG9tbmVz
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitIYW5kc2hha2UgcmVxdWVzdCBzaG91bGQg
Y29udGFpbiByYW5kb20gY2hhbGxlbmdlIHZhbHVlcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitQQVNTIGNoYWxsZW5nZTEgPT09IGNoYWxsZW5nZTIgaXMgZmFsc2UKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtY2hhbGxlbmdl
LXJhbmRvbW5lc3MuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2hhbmRzaGFrZS1jaGFsbGVuZ2UtcmFuZG9tbmVzcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyODRkMDAy
YzA1N2EwNjk3YTQzZGUxMDY4ZGUzZThiZWY5MGJjYTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtY2hhbGxlbmdlLXJh
bmRvbW5lc3MuaHRtbApAQCAtMCwwICsxLDUyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KK2Rlc2NyaXB0aW9uKCdIYW5kc2hha2UgcmVxdWVzdCBzaG91bGQgY29udGFpbiByYW5kb20g
Y2hhbGxlbmdlIHZhbHVlcy4nKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5v
dmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQi
LCAwKTsKKwordmFyIGNoYWxsZW5nZTE7Cit2YXIgY2hhbGxlbmdlMjsKKwordmFyIHVybCA9ICd3
czovL2xvY2FsaG9zdDo4ODgwL3dlYnNvY2tldC90ZXN0cy9lY2hvLWNoYWxsZW5nZSc7Cit2YXIg
d3MxID0gbmV3IFdlYlNvY2tldCh1cmwpOworCit3czEub25tZXNzYWdlID0gZnVuY3Rpb24obWVz
c2FnZUV2ZW50KQoreworICAgIGNoYWxsZW5nZTEgPSBtZXNzYWdlRXZlbnQuZGF0YTsKKyAgICB3
czEuY2xvc2UoKTsKK30KKword3MxLm9uY2xvc2UgPSBmdW5jdGlvbigpCit7CisgICAgdmFyIHdz
MiA9IG5ldyBXZWJTb2NrZXQodXJsKTsKKworICAgIHdzMi5vbm1lc3NhZ2UgPSBmdW5jdGlvbiht
ZXNzYWdlRXZlbnQpCisgICAgeworICAgICAgICBjaGFsbGVuZ2UyID0gbWVzc2FnZUV2ZW50LmRh
dGE7CisgICAgICAgIHdzMi5jbG9zZSgpOworICAgIH0KKworICAgIHdzMi5vbmNsb3NlID0gZnVu
Y3Rpb24oKQorICAgIHsKKyAgICAgICAgc2hvdWxkQmVGYWxzZSgnY2hhbGxlbmdlMSA9PT0gY2hh
bGxlbmdlMicpOworICAgICAgICBpZiAoY2hhbGxlbmdlMSA9PT0gY2hhbGxlbmdlMikKKyAgICAg
ICAgICAgIGRlYnVnKCdjaGFsbGVuZ2Ugd2FzICcgKyBjaGFsbGVuZ2UxKTsKKyAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgfQorfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZXJyb3ItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtl
LWVycm9yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNTMwODI4ZDRiYzk2NjZmYzU3ZDNiOGM2
NWJkNTM1ZTNmYmZjMmZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWVycm9yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDExIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMDogTm8gcmVzcG9uc2UgY29kZSBmb3VuZDog
VGhpc1dpbGxDYXVzZUhhbmRzaGFrZUVycm9yCitIYW5kc2hha2UgZXJyb3IgdGVzdAorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK0Nsb3NlZC4KK1BBU1Mgd3MucmVhZHlTdGF0ZSBpcyAz
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtl
LWVycm9yLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5k
c2hha2UtZXJyb3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTVhZmE3YjY1OTJkNzUxNzViMTRhZDlhMDU5
YzQwM2Q3MjAwZTM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWVycm9yLmh0bWwKQEAgLTAsMCArMSw1NCBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiSGFuZHNoYWtlIGVycm9yIHRl
c3QiKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVu
Y2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKworZnVuY3Rp
b24gZW5kVGVzdCgpCit7CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7CisgICAgZmluaXNo
SlNUZXN0KCk7Cit9CisKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4
ODAvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1lcnJvciIpOworCit3cy5vbm9wZW4gPSBmdW5j
dGlvbigpCit7CisgICAgdGVzdEZhaWxlZCgiVW5leHBlY3RlZGx5IENvbm5lY3RlZC4iKTsKK307
CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2VFdmVudCkKK3sKKyAgICB0ZXN0RmFp
bGVkKCJVbmV4cGVjdGVkbHkgUmVjZWl2ZWQ6ICciICsgbWVzc2FnZUV2ZW50LmRhdGEgKyAiJyIp
OworfTsKKword3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygiQ2xvc2VkLiIp
OworICAgIHNob3VsZEJlKCJ3cy5yZWFkeVN0YXRlIiwgIjMiKQorICAgIGVuZFRlc3QoKTsKK307
CisKK2Z1bmN0aW9uIHRpbWVPdXRDYWxsYmFjaygpCit7CisgICAgdGVzdEZhaWxlZCgiVGltZWQg
b3V0IGluIHN0YXRlOiAiICsgd3MucmVhZHlTdGF0ZSk7CisgICAgZW5kVGVzdCgpOworfQorCit2
YXIgdGltZW91dElEID0gc2V0VGltZW91dCh0aW1lT3V0Q2FsbGJhY2ssIDMwMDApOworCit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oYW5kc2hha2UtZXJyb3Jfd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaGFuZHNoYWtlLWVycm9yX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jODUxZmE2MjYx
MTc2NmE1OThmYzcxNTg2NTVhMDYxNTZjNmEyMjFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWVycm9yX3dzaC5weQpA
QCAtMCwwICsxLDM4IEBACisjIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6Cisj
CisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitmcm9tIG1vZF9weXdlYnNvY2tl
dCBpbXBvcnQgbXNndXRpbAorCisKK2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShy
ZXF1ZXN0KToKKyAgICByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdGUoJ1RoaXNXaWxsQ2F1c2VIYW5k
c2hha2VFcnJvclxyXG4nKQorCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVz
dCk6CisgICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwgJ0hlbGxvIGZyb20gSGFuZHNo
YWtlIEVycm9yIFdTSC4nKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktY3Jvc3Mtb3JpZ2luLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5
LWNyb3NzLW9yaWdpbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjUxZDE5YjdmZjM4MzA0OTlk
NDdkNTBkMTI2NjFhMWZhMzUzNDAzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5LWNyb3NzLW9yaWdpbi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IEVy
cm9yIGR1cmluZyBXZWJTb2NrZXQgaGFuZHNoYWtlOiBvcmlnaW4gbWlzbWF0Y2g6IGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMCAhPSBodHRwOi8vZXhhbXBsZS5jb20KK01ha2Ugc3VyZSBXZWIgU29ja2V0
IGNvbm5lY3Rpb24gZmFpbGVkIGlmIG9yaWdpbiBtaXNtYXRjaGVzLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK2RvY3VtZW50LmRvbWFpbj0xMjcuMC4wLjEKK3dzLnVybD13czovL2xv
Y2FsaG9zdDo4ODgwL3dlYnNvY2tldC90ZXN0cy9maXhlZC1vcmlnaW4KK1BBU1MgY29ubmVjdGVk
IGlzIGZhbHNlCitQQVNTIG9yaWdpbiBpcyB1bmRlZmluZWQuCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktY3Jvc3Mtb3JpZ2lu
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2Ut
ZmFpbC1ieS1jcm9zcy1vcmlnaW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZmRkNmMwOWJmNGJlNmU1Njgy
MjUyMjYyZmI3ZmMwMTI5ZjVlOGQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktY3Jvc3Mtb3JpZ2luLmh0
bWwKQEAgLTAsMCArMSw2MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlw
dGlvbigiTWFrZSBzdXJlIFdlYiBTb2NrZXQgY29ubmVjdGlvbiBmYWlsZWQgaWYgb3JpZ2luIG1p
c21hdGNoZXMuIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisK
K3ZhciBjb25uZWN0ZWQgPSBmYWxzZTsKK3ZhciBvcmlnaW47CisKK2Z1bmN0aW9uIGVuZFRlc3Qo
KQoreworICAgIHNob3VsZEJlRmFsc2UoImNvbm5lY3RlZCIpOworICAgIHNob3VsZEJlVW5kZWZp
bmVkKCJvcmlnaW4iKTsKKyAgICBjbGVhclRpbWVvdXQodGltZW91dElEKTsKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK30KKwordmFyIHVybCA9ICJ3czovL2xvY2FsaG9zdDo4ODgwL3dlYnNvY2tldC90
ZXN0cy9maXhlZC1vcmlnaW4iOworZGVidWcoImRvY3VtZW50LmRvbWFpbj0iICsgZG9jdW1lbnQu
ZG9tYWluKTsKK2RlYnVnKCJ3cy51cmw9IiArIHVybCk7Cit2YXIgd3MgPSBuZXcgV2ViU29ja2V0
KHVybCk7CisKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygiQ29ubmVjdGVk
Iik7CisgICAgY29ubmVjdGVkID0gdHJ1ZTsKK307CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9u
IChtZXNzYWdlRXZlbnQpCit7CisgICAgb3JpZ2luID0gbWVzc2FnZUV2ZW50LmRhdGE7CisgICAg
ZGVidWcoIm9yaWdpbj0iICsgb3JpZ2luKTsKKyAgICB3cy5jbG9zZSgpOworfTsKKword3Mub25j
bG9zZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBlbmRUZXN0KCk7Cit9OworCitmdW5jdGlvbiB0aW1l
T3V0Q2FsbGJhY2soKQoreworICAgIGRlYnVnKCJUaW1lZCBvdXQgaW4gc3RhdGU6ICIgKyB3cy5y
ZWFkeVN0YXRlKTsKKyAgICBlbmRUZXN0KCk7Cit9CisKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1l
b3V0KHRpbWVPdXRDYWxsYmFjaywgMzAwMCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5
LW1heGxlbmd0aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1tYXhsZW5ndGgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjYxZWU3M2IyZjk0NmUyZTM3MzM1NGNhM2M0ZDU5YzA5NDUxOWQyYjYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2Ut
ZmFpbC1ieS1tYXhsZW5ndGgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAwOiBTdGF0dXMgbGluZSBpcyB0b28gbG9uZworQ29ubmVjdGlvbiBzaG91
bGQgZmFpbCBpbW1lZGlhdGVseSwgcmF0aGVyIHRoYW4gc3VjY2VlZGluZyBvciBzdGF5aW5nIGlu
IGxpbWJvIHVudGlsIHRpbWVvdXQsIGlmIGhhbmRzaGFrZSBpcyBsb25nZXIgdGhhbiAxMDI0IGJ5
dGVzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgdGltZWRPdXQgaXMgZmFs
c2UKK1BBU1MgY29ubmVjdGVkIGlzIGZhbHNlCitQQVNTIG9yaWdpbiBpcyB1bmRlZmluZWQuCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZh
aWwtYnktbWF4bGVuZ3RoLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1tYXhsZW5ndGguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYzJlYTI1
YmFkNDI5ZThjN2VjYWJiZGQ1OTZjMTczNDFkOTkxNmUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktbWF4
bGVuZ3RoLmh0bWwKQEAgLTAsMCArMSw2MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ0Nvbm5lY3Rp
b24gc2hvdWxkIGZhaWwgaW1tZWRpYXRlbHksIHJhdGhlciB0aGFuIHN1Y2NlZWRpbmcgb3Igc3Rh
eWluZyBpbiBsaW1ibyB1bnRpbCB0aW1lb3V0LCBpZiBoYW5kc2hha2UgaXMgbG9uZ2VyIHRoYW4g
MTAyNCBieXRlcy4nKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlk
ZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsK
KwordmFyIHRpbWVkT3V0ID0gZmFsc2U7Cit2YXIgY29ubmVjdGVkID0gZmFsc2U7Cit2YXIgb3Jp
Z2luOworCitmdW5jdGlvbiBlbmRUZXN0KCkgeworICAgIHNob3VsZEJlRmFsc2UoJ3RpbWVkT3V0
Jyk7CisgICAgc2hvdWxkQmVGYWxzZSgnY29ubmVjdGVkJyk7CisgICAgc2hvdWxkQmVVbmRlZmlu
ZWQoJ29yaWdpbicpOworICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOworICAgIGZpbmlzaEpT
VGVzdCgpOworfQorCit2YXIgdXJsID0gJ3dzOi8vbG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rl
c3RzL2hhbmRzaGFrZS1mYWlsLWJ5LW1heGxlbmd0aCc7Cit2YXIgd3MgPSBuZXcgV2ViU29ja2V0
KHVybCk7CisKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygnQ29ubmVjdGVk
Jyk7CisgICAgY29ubmVjdGVkID0gdHJ1ZTsKK30KKword3Mub25tZXNzYWdlID0gZnVuY3Rpb24o
bWVzc2FnZUV2ZW50KQoreworICAgIG9yaWdpbiA9IG1lc3NhZ2VFdmVudC5kYXRhOworICAgIGRl
YnVnKCdvcmlnaW4gPSAnICsgb3JpZ2luKTsKKyAgICB3cy5jbG9zZSgpOworfQorCit3cy5vbmNs
b3NlID0gZnVuY3Rpb24oKQoreworICAgIGVuZFRlc3QoKTsKK30KKworZnVuY3Rpb24gdGltZW91
dENhbGxiYWNrKCkKK3sKKyAgICBkZWJ1ZygnVGltZWQgb3V0IChzdGF0ZSA9ICcgKyB3cy5yZWFk
eVN0YXRlICsgJyknKTsKKyAgICB0aW1lZE91dCA9IHRydWU7CisgICAgZW5kVGVzdCgpOworfQor
Cit2YXIgdGltZW91dElEID0gc2V0VGltZW91dCh0aW1lb3V0Q2FsbGJhY2ssIDMwMDApOworCit2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1tYXhsZW5ndGhfd3NoLnB5IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktbWF4bGVuZ3RoX3dz
aC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jMDM5ZmIzOGU5MzMxMDJhMDA1ZWIxYmE4YzIwOGMyNTk0ODdkNTEz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaGFuZHNoYWtlLWZhaWwtYnktbWF4bGVuZ3RoX3dzaC5weQpAQCAtMCwwICsxLDM5IEBACisj
IENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMS4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZQorIyBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorIworIyAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
CisjIGRpc2NsYWltZXIuCisjCisjIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZQorIyBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIOKAnEFTIElT4oCdIEFORCBBTlkgRVhQUkVTUyBPUgorIyBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GCisjIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMCisjIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorIyBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisjIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisjIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IKKyMgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworIyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitkZWYgd2ViX3NvY2tl
dF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgIyBUaGlzIHdpbGwgY2F1c2UgdGhl
IGhhbmRzaGFrZSB0byBmYWlsIGJlY2F1c2UgaXQgcHVzaGVzIHRoZSBsZW5ndGggb2YgdGhlCisg
ICAgIyBzdGF0dXMgbGluZSBwYXN0IDEwMjQgY2hhcmFjdGVycworICAgIG1zZyA9ICcuJyAqIDEw
MjQKKyAgICBtc2cgKz0gJ0hUVFAvMS4xIDEwMSBXZWJTb2NrZXQgUHJvdG9jb2wgSGFuZHNoYWtl
XHJcbicKKyAgICBtc2cgKz0gJ1VwZ3JhZGU6IFdlYlNvY2tldFxyXG4nCisgICAgbXNnICs9ICdD
b25uZWN0aW9uOiBVcGdyYWRlXHJcbicKKyAgICBtc2cgKz0gJ1NlYy1XZWJTb2NrZXQtTG9jYXRp
b246ICcgKyByZXF1ZXN0LndzX2xvY2F0aW9uICsgJ1xyXG4nCisgICAgbXNnICs9ICdTZWMtV2Vi
U29ja2V0LU9yaWdpbjogJyArIHJlcXVlc3Qud3Nfb3JpZ2luICsgJ1xyXG4nCisgICAgbXNnICs9
ICdcclxuJworICAgIG1zZyArPSByZXF1ZXN0LndzX2NoYWxsZW5nZV9tZDUKKyAgICByZXF1ZXN0
LmNvbm5lY3Rpb24ud3JpdGUobXNnKQorICAgIHJhaXNlIEV4Y2VwdGlvbignYWJvcnQgdGhlIGNv
bm5lY3Rpb24nKSAjIFByZXZlbnRzIHB5d2Vic29ja2V0IGZyb20gc2VuZGluZyBpdHMgb3duIGhh
bmRzaGFrZSBtZXNzYWdlLgorCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVz
dCk6CisgICAgcGFzcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktbm8tY29ubmVjdGlvbi1oZWFkZXItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZh
aWwtYnktbm8tY29ubmVjdGlvbi1oZWFkZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmNjJk
NWI2NjA2YTI0MmQyNmRhMzFlNTI3YWE2ZWY0Y2Q2ZjEwOGEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1u
by1jb25uZWN0aW9uLWhlYWRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMDogRXJyb3IgZHVyaW5nIFdlYlNvY2tldCBoYW5kc2hha2U6ICdDb25u
ZWN0aW9uJyBoZWFkZXIgaXMgbWlzc2luZworVGVzdCB0aGF0IFdlYlNvY2tldCBoYW5kc2hha2Ug
ZmFpbHMgaWYgQ29ubmVjdGlvbiBoZWFkZXIgZmllbGQgaXNuJ3QgcmVmbGVjdGVkIGJ5IHRoZSBz
ZXJ2ZXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLWNvbm5lY3Rp
b24taGVhZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
YW5kc2hha2UtZmFpbC1ieS1uby1jb25uZWN0aW9uLWhlYWRlci5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFi
NWI4ZDUwMzhmMzk2YjdlYWY0NGIwZDg0YmYxZDA1NzZkZWQzNDQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1i
eS1uby1jb25uZWN0aW9uLWhlYWRlci5odG1sCkBAIC0wLDAgKzEsNTQgQEAKKzwhRE9DVFlQRSBI
VE1MPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
Li4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBXZWJTb2NrZXQgaGFu
ZHNoYWtlIGZhaWxzIGlmIENvbm5lY3Rpb24gaGVhZGVyIGZpZWxkIGlzbid0IHJlZmxlY3RlZCBi
eSB0aGUgc2VydmVyLiIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJy
aWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDAp
OworCitmdW5jdGlvbiBlbmRUZXN0KCkKK3sKKyAgICBjbGVhclRpbWVvdXQodGltZW91dElEKTsK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKwordmFyIHVybCA9ICJ3czovL2xvY2FsaG9zdDo4ODgw
L3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1uby1jb25uZWN0aW9uLWhlYWRlciI7
Cit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KHVybCk7CisKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uKCkK
K3sKKyAgICBkZWJ1ZygiRkFJTDogQ29ubmVjdGVkIik7Cit9OworCit3cy5vbm1lc3NhZ2UgPSBm
dW5jdGlvbihtZXNzYWdlRXZlbnQpCit7CisgICAgcHJvdG9jb2wgPSBtZXNzYWdlRXZlbnQuZGF0
YTsKKyAgICB3cy5jbG9zZSgpOworfTsKKword3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKK3sKKyAg
ICBlbmRUZXN0KCk7Cit9OworCitmdW5jdGlvbiB0aW1lT3V0Q2FsbGJhY2soKQoreworICAgIGRl
YnVnKCJUaW1lZCBvdXQgaW4gc3RhdGU6ICIgKyB3cy5yZWFkeVN0YXRlKTsKKyAgICBlbmRUZXN0
KCk7Cit9CisKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0KHRpbWVPdXRDYWxsYmFjaywgMzAw
MCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLWNvbm5lY3Rpb24taGVhZGVyX3dz
aC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1m
YWlsLWJ5LW5vLWNvbm5lY3Rpb24taGVhZGVyX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZWZjODdhNTBk
NjZkZTg3NGM4YTFkYzM4NmYyZGI2Y2VmMDNhNDM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktbm8tY29u
bmVjdGlvbi1oZWFkZXJfd3NoLnB5CkBAIC0wLDAgKzEsMTUgQEAKK2RlZiB3ZWJfc29ja2V0X2Rv
X2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICBtc2cgPSAnSFRUUC8xLjEgMTAxIFdlYlNv
Y2tldCBQcm90b2NvbCBIYW5kc2hha2VcclxuJworICAgIG1zZyArPSAnVXBncmFkZTogV2ViU29j
a2V0XHJcbicKKyMgICBNaXNzaW5nICdDb25uZWN0aW9uOiBVcGdyYWRlXHJcbicKKyAgICBtc2cg
Kz0gJ1NlYy1XZWJTb2NrZXQtTG9jYXRpb246ICcgKyByZXF1ZXN0LndzX2xvY2F0aW9uICsgJ1xy
XG4nCisgICAgbXNnICs9ICdTZWMtV2ViU29ja2V0LU9yaWdpbjogJyArIHJlcXVlc3Qud3Nfb3Jp
Z2luICsgJ1xyXG4nCisgICAgbXNnICs9ICdcclxuJworICAgIG1zZyArPSByZXF1ZXN0LndzX2No
YWxsZW5nZV9tZDUKKyAgICByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdGUobXNnKQorICAgIHByaW50
IG1zZworICAgIHJhaXNlIEV4Y2VwdGlvbignQWJvcnQgdGhlIGNvbm5lY3Rpb24nKSAjIFByZXZl
bnRzIHB5d2Vic29ja2V0IGZyb20gc2VuZGluZyBpdHMgb3duIGhhbmRzaGFrZSBtZXNzYWdlLgor
CisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgcGFzcwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtl
LWZhaWwtYnktbm8tY3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktbm8tY3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjNlNTZlYjdiOTVlMmY5NGRhYjA3NTVmMWQ3Yjk5MGMwYTA4MGI4MjcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2Ut
ZmFpbC1ieS1uby1jci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDA6IFN0YXR1cyBsaW5lIGRvZXMgbm90IGVuZCB3aXRoIENSTEYKK0hhbmRzaGFr
ZSBzaG91bGQgZmFpbCB3aGVuIHRoZSBmaXJzdCBsaW5lIGRvZXMgbm90IGVuZCB3aXRoIENSTEYu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBjb25uZWN0ZWQgaXMgZmFsc2UK
K1BBU1Mgb3JpZ2luIGlzIHVuZGVmaW5lZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1uby1jci5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktbm8tY3IuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45NWQ3N2YxY2MzYmU1NDY3Y2QzNTU4OGE2YjgxNzE0YzZjNDU0NDk1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aGFuZHNoYWtlLWZhaWwtYnktbm8tY3IuaHRtbApAQCAtMCwwICsxLDYwIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCdIYW5kc2hha2Ugc2hvdWxkIGZhaWwgd2hl
biB0aGUgZmlyc3QgbGluZSBkb2VzIG5vdCBlbmQgd2l0aCBDUkxGLicpOworCit3aW5kb3cuanNU
ZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAg
IGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3Nldl
YlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCit2YXIgY29ubmVjdGVkID0gZmFsc2U7Cit2
YXIgb3JpZ2luOworCitmdW5jdGlvbiBlbmRUZXN0KCkgeworICAgIHNob3VsZEJlRmFsc2UoJ2Nv
bm5lY3RlZCcpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCdvcmlnaW4nKTsKKyAgICBjbGVhclRp
bWVvdXQodGltZW91dElEKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKwordmFyIHVybCA9ICd3
czovL2xvY2FsaG9zdDo4ODgwL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1uby1j
cic7Cit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KHVybCk7CisKK3dzLm9ub3BlbiA9IGZ1bmN0aW9u
KCkKK3sKKyAgICBkZWJ1ZygnQ29ubmVjdGVkJyk7CisgICAgY29ubmVjdGVkID0gdHJ1ZTsKK30K
Kword3Mub25tZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZUV2ZW50KQoreworICAgIG9yaWdpbiA9
IG1lc3NhZ2VFdmVudC5kYXRhOworICAgIGRlYnVnKCdvcmlnaW4gPSAnICsgb3JpZ2luKTsKKyAg
ICB3cy5jbG9zZSgpOworfQorCit3cy5vbmNsb3NlID0gZnVuY3Rpb24oKQoreworICAgIGVuZFRl
c3QoKTsKK30KKworZnVuY3Rpb24gdGltZW91dENhbGxiYWNrKCkKK3sKKyAgICBkZWJ1ZygnVGlt
ZWQgb3V0IChzdGF0ZSA9ICcgKyB3cy5yZWFkeVN0YXRlICsgJyknKTsKKyAgICBlbmRUZXN0KCk7
Cit9CisKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0KHRpbWVvdXRDYWxsYmFjaywgMzAwMCk7
CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLWNyX3dzaC5weSBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLWNyX3dzaC5w
eQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45Nzg5MjRhYjZlYjE4Yjk1NmZmNDU1OWQ1YjkzZGJlZGU4M2I5MzMyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aGFuZHNoYWtlLWZhaWwtYnktbm8tY3Jfd3NoLnB5CkBAIC0wLDAgKzEsMTUgQEAKK2RlZiB3ZWJf
c29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICBtc2cgPSAnSFRUUC8xLjEg
MTAxIFdlYlNvY2tldCBQcm90b2NvbCBIYW5kc2hha2VcbicgIyBEb2VzIG5vdCBlbmQgd2l0aCAi
XHJcbiIuCisgICAgbXNnICs9ICdVcGdyYWRlOiBXZWJTb2NrZXRcclxuJworICAgIG1zZyArPSAn
Q29ubmVjdGlvbjogVXBncmFkZVxyXG4nCisgICAgbXNnICs9ICdTZWMtV2ViU29ja2V0LUxvY2F0
aW9uOiAnICsgcmVxdWVzdC53c19sb2NhdGlvbiArICdcclxuJworICAgIG1zZyArPSAnU2VjLVdl
YlNvY2tldC1PcmlnaW46ICcgKyByZXF1ZXN0LndzX29yaWdpbiArICdcclxuJworICAgIG1zZyAr
PSAnXHJcbicKKyAgICBtc2cgKz0gcmVxdWVzdC53c19jaGFsbGVuZ2VfbWQ1CisgICAgcmVxdWVz
dC5jb25uZWN0aW9uLndyaXRlKG1zZykKKyAgICBwcmludCBtc2cKKyAgICByYWlzZSBFeGNlcHRp
b24oJ0Fib3J0IHRoZSBjb25uZWN0aW9uJykgIyBQcmV2ZW50cyBweXdlYnNvY2tldCBmcm9tIHNl
bmRpbmcgaXRzIG93biBoYW5kc2hha2UgbWVzc2FnZS4KKworCitkZWYgd2ViX3NvY2tldF90cmFu
c2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIHBhc3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLXVwZ3JhZGUtaGVh
ZGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2hhbmRzaGFrZS1mYWlsLWJ5LW5vLXVwZ3JhZGUtaGVhZGVyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43ZjA2NjdkYjkwODIyMmJkYjRhMThjOGI0NTZjMTNiMmQwOGIwNTQ5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtl
LWZhaWwtYnktbm8tdXBncmFkZS1oZWFkZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IEVycm9yIGR1cmluZyBXZWJTb2NrZXQgaGFuZHNoYWtl
OiAnVXBncmFkZScgaGVhZGVyIGlzIG1pc3NpbmcKK1Rlc3QgdGhhdCBXZWJTb2NrZXQgaGFuZHNo
YWtlIGZhaWxzIGlmIFVwZ3JhZGUgaGVhZGVyIGZpZWxkIGlzbid0IHJlZmxlY3RlZCBieSB0aGUg
c2VydmVyLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1uby11cGdyYWRl
LWhlYWRlci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFu
ZHNoYWtlLWZhaWwtYnktbm8tdXBncmFkZS1oZWFkZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNjhkNjNk
NjFhNmEwOTczYWI2ZTUxNTM5MjI5OGQ5N2NiYTcxNDkzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktbm8t
dXBncmFkZS1oZWFkZXIuaHRtbApAQCAtMCwwICsxLDU0IEBACis8IURPQ1RZUEUgSFRNTD4KKzxo
dG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9q
cy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgV2ViU29ja2V0IGhhbmRzaGFrZSBm
YWlscyBpZiBVcGdyYWRlIGhlYWRlciBmaWVsZCBpc24ndCByZWZsZWN0ZWQgYnkgdGhlIHNlcnZl
ci4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVu
Y2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKworZnVuY3Rp
b24gZW5kVGVzdCgpCit7CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7CisgICAgZmluaXNo
SlNUZXN0KCk7Cit9CisKK3ZhciB1cmwgPSAid3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQv
dGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktbm8tdXBncmFkZS1oZWFkZXIiOwordmFyIHdzID0gbmV3
IFdlYlNvY2tldCh1cmwpOworCit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVidWco
IkZBSUw6IENvbm5lY3RlZCIpOworfTsKKword3Mub25tZXNzYWdlID0gZnVuY3Rpb24obWVzc2Fn
ZUV2ZW50KQoreworICAgIHByb3RvY29sID0gbWVzc2FnZUV2ZW50LmRhdGE7CisgICAgd3MuY2xv
c2UoKTsKK307CisKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbigpCit7CisgICAgZW5kVGVzdCgpOwor
fTsKKworZnVuY3Rpb24gdGltZU91dENhbGxiYWNrKCkKK3sKKyAgICBkZWJ1ZygiVGltZWQgb3V0
IGluIHN0YXRlOiAiICsgd3MucmVhZHlTdGF0ZSk7CisgICAgZW5kVGVzdCgpOworfQorCit2YXIg
dGltZW91dElEID0gc2V0VGltZW91dCh0aW1lT3V0Q2FsbGJhY2ssIDMwMDApOworCit2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oYW5kc2hha2UtZmFpbC1ieS1uby11cGdyYWRlLWhlYWRlcl93c2gucHkgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1uby11cGdyYWRl
LWhlYWRlcl93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTE0ZGU3NWUxOTM3YWM1YmVlNWU3MWE1OGRjY2Q5
ZGY2YjBhZjc4YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLXVwZ3JhZGUtaGVhZGVyX3dzaC5weQpA
QCAtMCwwICsxLDE1IEBACitkZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVz
dCk6CisgICAgbXNnID0gJ0hUVFAvMS4xIDEwMSBXZWJTb2NrZXQgUHJvdG9jb2wgSGFuZHNoYWtl
XHJcbicKKyMgICBNaXNzaW5nICdVcGdyYWRlOiBXZWJTb2NrZXRcclxuJworICAgIG1zZyArPSAn
Q29ubmVjdGlvbjogVXBncmFkZVxyXG4nCisgICAgbXNnICs9ICdTZWMtV2ViU29ja2V0LUxvY2F0
aW9uOiAnICsgcmVxdWVzdC53c19sb2NhdGlvbiArICdcclxuJworICAgIG1zZyArPSAnU2VjLVdl
YlNvY2tldC1PcmlnaW46ICcgKyByZXF1ZXN0LndzX29yaWdpbiArICdcclxuJworICAgIG1zZyAr
PSAnXHJcbicKKyAgICBtc2cgKz0gcmVxdWVzdC53c19jaGFsbGVuZ2VfbWQ1CisgICAgcmVxdWVz
dC5jb25uZWN0aW9uLndyaXRlKG1zZykKKyAgICBwcmludCBtc2cKKyAgICByYWlzZSBFeGNlcHRp
b24oJ0Fib3J0IHRoZSBjb25uZWN0aW9uJykgIyBQcmV2ZW50cyBweXdlYnNvY2tldCBmcm9tIHNl
bmRpbmcgaXRzIG93biBoYW5kc2hha2UgbWVzc2FnZS4KKworCitkZWYgd2ViX3NvY2tldF90cmFu
c2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIHBhc3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5LXByZXBlbmRlZC1udWxs
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hh
bmRzaGFrZS1mYWlsLWJ5LXByZXBlbmRlZC1udWxsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
ZGIxN2M4ZjIyNTczYjE0NjUwNjQxMDY1NWU1NWRlZWE4OWUyN2U4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwt
YnktcHJlcGVuZGVkLW51bGwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAwOiBTdGF0dXMgbGluZSBjb250YWlucyBlbWJlZGRlZCBudWxsCitDb25u
ZWN0aW9uIHNob3VsZCBmYWlsIGltbWVkaWF0ZWx5LCByYXRoZXIgdGhhbiBzdWNjZWVkaW5nIG9y
IHN0YXlpbmcgaW4gbGltYm8gdW50aWwgdGltZW91dCwgaWYgYSBudWxsIGJ5dGUgaXMgcmVjZWl2
ZWQgYmVmb3JlIHRoZSBoYW5kc2hha2UuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
UEFTUyB0aW1lZE91dCBpcyBmYWxzZQorUEFTUyBjb25uZWN0ZWQgaXMgZmFsc2UKK1BBU1Mgb3Jp
Z2luIGlzIHVuZGVmaW5lZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1wcmVwZW5kZWQtbnVsbC5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktcHJlcGVuZGVk
LW51bGwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYmRjZjc0NTQxMzVjZmI2MmZhYzVlYWUxNzJlM2JkMTdi
NGY1YTc5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktcHJlcGVuZGVkLW51bGwuaHRtbApAQCAtMCwwICsx
LDYzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9qcy10
ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignQ29ubmVjdGlvbiBzaG91bGQgZmFpbCBpbW1lZGlh
dGVseSwgcmF0aGVyIHRoYW4gc3VjY2VlZGluZyBvciBzdGF5aW5nIGluIGxpbWJvIHVudGlsIHRp
bWVvdXQsIGlmIGEgbnVsbCBieXRlIGlzIHJlY2VpdmVkIGJlZm9yZSB0aGUgaGFuZHNoYWtlLicp
OworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgi
V2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCit2YXIgdGltZWRP
dXQgPSBmYWxzZTsKK3ZhciBjb25uZWN0ZWQgPSBmYWxzZTsKK3ZhciBvcmlnaW47CisKK2Z1bmN0
aW9uIGVuZFRlc3QoKSB7CisgICAgc2hvdWxkQmVGYWxzZSgndGltZWRPdXQnKTsKKyAgICBzaG91
bGRCZUZhbHNlKCdjb25uZWN0ZWQnKTsKKyAgICBzaG91bGRCZVVuZGVmaW5lZCgnb3JpZ2luJyk7
CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisK
K3ZhciB1cmwgPSAnd3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtl
LWZhaWwtYnktcHJlcGVuZGVkLW51bGwnOwordmFyIHdzID0gbmV3IFdlYlNvY2tldCh1cmwpOwor
Cit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoJ0Nvbm5lY3RlZCcpOworICAg
IGNvbm5lY3RlZCA9IHRydWU7Cit9CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2VF
dmVudCkKK3sKKyAgICBvcmlnaW4gPSBtZXNzYWdlRXZlbnQuZGF0YTsKKyAgICBkZWJ1Zygnb3Jp
Z2luID0gJyArIG9yaWdpbik7CisgICAgd3MuY2xvc2UoKTsKK30KKword3Mub25jbG9zZSA9IGZ1
bmN0aW9uKCkKK3sKKyAgICBlbmRUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHRpbWVvdXRDYWxsYmFj
aygpCit7CisgICAgZGVidWcoJ1RpbWVkIG91dCAoc3RhdGUgPSAnICsgd3MucmVhZHlTdGF0ZSAr
ICcpJyk7CisgICAgdGltZWRPdXQgPSB0cnVlOworICAgIGVuZFRlc3QoKTsKK30KKwordmFyIHRp
bWVvdXRJRCA9IHNldFRpbWVvdXQodGltZW91dENhbGxiYWNrLCAzMDAwKTsKKwordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9q
cy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aGFuZHNoYWtlLWZhaWwtYnktcHJlcGVuZGVkLW51bGxfd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktcHJlcGVuZGVkLW51bGxf
d3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA3MzUxODQ5ODE0MTlmOWMyYTM2MmZiODY5NTM2MzQxMWYzMDVh
YTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1wcmVwZW5kZWQtbnVsbF93c2gucHkKQEAgLTAsMCArMSw1
MSBAQAorIyBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTEuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUKKyMgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoK
KyMKKyMgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZworIyBkaXNjbGFpbWVyLgorIworIyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUKKyMgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyDigJxBUyBJU+KAnSBBTkQgQU5ZIEVYUFJFU1MgT1IKKyMgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRgorIyBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTAorIyBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyMgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
IyBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorIyBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SCisjIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2ltcG9ydCB0
aW1lCisKKworZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAg
ICMgVGhpcyBzaW11bGF0ZXMgYSBicm9rZW4gc2VydmVyIHRoYXQgc2VuZHMgYSBXZWJTb2NrZXQg
ZnJhbWUgYmVmb3JlIHRoZQorICAgICMgaGFuZHNoYWtlLCBhbmQgbW9yZSBmcmFtZXMgYWZ0ZXJ3
YXJkcy4gIEl0IGlzIGltcG9ydGFudCB0aGF0IGlmIHRoaXMKKyAgICAjIGhhcHBlbnMgdGhlIGNs
aWVudCBkb2VzIG5vdCBidWZmZXIgYWxsIHRoZSBmcmFtZXMgYXMgdGhlIHNlcnZlciBjb250aW51
ZXMKKyAgICAjIHRvIHNlbmQgbW9yZSBkYXRhIC0gaXQgc2hvdWxkIGFib3J0IGFmdGVyIHJlYWRp
bmcgYSByZWFzb25hYmxlIG51bWJlciBvZgorICAgICMgYnl0ZXMgKHNldCBhcmJpdHJhcmlseSB0
byAxMDI0KS4KKyAgICBmcmFtZSA9ICdcMEZyYW1lLWNvbnRhaW5zLXRoaXJ0eS10d28tYnl0ZXMn
CisKKyAgICBtc2cgPSBmcmFtZQorICAgIG1zZyArPSAnSFRUUC8xLjEgMTAxIFdlYlNvY2tldCBQ
cm90b2NvbCBIYW5kc2hha2VcclxuJworICAgIG1zZyArPSAnVXBncmFkZTogV2ViU29ja2V0XHJc
bicKKyAgICBtc2cgKz0gJ0Nvbm5lY3Rpb246IFVwZ3JhZGVcclxuJworICAgIG1zZyArPSAnU2Vj
LVdlYlNvY2tldC1Mb2NhdGlvbjogJyArIHJlcXVlc3Qud3NfbG9jYXRpb24gKyAnXHJcbicKKyAg
ICBtc2cgKz0gJ1NlYy1XZWJTb2NrZXQtT3JpZ2luOiAnICsgcmVxdWVzdC53c19vcmlnaW4gKyAn
XHJcbicKKyAgICBtc2cgKz0gJ1xyXG4nCisgICAgbXNnICs9IHJlcXVlc3Qud3NfY2hhbGxlbmdl
X21kNQorICAgIHJlcXVlc3QuY29ubmVjdGlvbi53cml0ZShtc2cpCisgICAgIyBjb250aW51ZSB3
cml0aW5nIGRhdGEgdW50aWwgdGhlIGNsaWVudCBkaXNjb25uZWN0cworICAgIHdoaWxlIFRydWU6
CisgICAgICAgIHRpbWUuc2xlZXAoMSkKKyAgICAgICAgbnVtRnJhbWVzID0gMTAyNCAvIGxlbihm
cmFtZSkgIyB3cml0ZSBvdmVyIDEwMjQgYnl0ZXMgaW5jbHVkaW5nIHRoZSBhYm92ZSBoYW5kc2hh
a2UKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgbnVtRnJhbWVzKToKKyAgICAgICAgICAgIHJl
cXVlc3QuY29ubmVjdGlvbi53cml0ZShmcmFtZSkKKworCitkZWYgd2ViX3NvY2tldF90cmFuc2Zl
cl9kYXRhKHJlcXVlc3QpOgorICAgIHBhc3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5LXN1Yi1wcm90b2NvbC1taXNt
YXRjaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oYW5kc2hha2UtZmFpbC1ieS1zdWItcHJvdG9jb2wtbWlzbWF0Y2gtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjE2NDY0MmIyYThjOWE3ZjUyNThjNWU3YWRmOTRmYzkyZmQ5OGQ2ZWEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5k
c2hha2UtZmFpbC1ieS1zdWItcHJvdG9jb2wtbWlzbWF0Y2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTAgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAwOiBFcnJvciBkdXJpbmcgV2ViU29ja2V0
IGhhbmRzaGFrZTogcHJvdG9jb2wgbWlzbWF0Y2g6IHJlcXVlc3R0aW5nLXByb3RvY29sICE9IGF2
YWlsYWJsZS1wcm90b2NvbAorVGVzdCBXZWJTb2NrZXQgaGFuZHNoYWtlIGZhaWwgaWYgc3ViIHBy
b3RvY29sIG5hbWUgbWlzbWF0Y2hlcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIHByb3RvY29sIGlzIHVuZGVmaW5lZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1zdWItcHJvdG9jb2wtbWlzbWF0Y2gu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1m
YWlsLWJ5LXN1Yi1wcm90b2NvbC1taXNtYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJjZDBjZjI1MDQ4
NDU3MGNkMjc3MmJiMzVmMGVlMWQzYTBmOWQ5ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1zdWItcHJv
dG9jb2wtbWlzbWF0Y2guaHRtbApAQCAtMCwwICsxLDU3IEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJUZXN0IFdlYlNvY2tldCBoYW5kc2hha2UgZmFpbCBpZiBz
dWIgcHJvdG9jb2wgbmFtZSBtaXNtYXRjaGVzLiIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RD
b250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3Rv
Y29sRW5hYmxlZCIsIDApOworCit2YXIgcHJvdG9jb2w7CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQor
eworICAgIHNob3VsZEJlVW5kZWZpbmVkKCJwcm90b2NvbCIpOworICAgIGNsZWFyVGltZW91dCh0
aW1lb3V0SUQpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit2YXIgdXJsID0gIndzOi8vbG9j
YWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL3Byb3RvY29sLXRlc3Q/cHJvdG9jb2w9YXZhaWxh
YmxlLXByb3RvY29sIjsKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQodXJsLCAicmVxdWVzdHRpbmct
cHJvdG9jb2wiKTsKKword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJDb25u
ZWN0ZWQiKTsKK307CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChtZXNzYWdlRXZlbnQpCit7
CisgICAgcHJvdG9jb2wgPSBtZXNzYWdlRXZlbnQuZGF0YTsKKyAgICB3cy5jbG9zZSgpOworfTsK
Kword3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBlbmRUZXN0KCk7Cit9OworCitmdW5j
dGlvbiB0aW1lT3V0Q2FsbGJhY2soKQoreworICAgIGRlYnVnKCJUaW1lZCBvdXQgaW4gc3RhdGU6
ICIgKyB3cy5yZWFkeVN0YXRlKTsKKyAgICBlbmRUZXN0KCk7Cit9CisKK3ZhciB0aW1lb3V0SUQg
PSBzZXRUaW1lb3V0KHRpbWVPdXRDYWxsYmFjaywgMzAwMCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMtdGVzdC1y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmdpbmct
aGFuZHNoYWtlX3dzaC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2hhbmdpbmctaGFuZHNoYWtlX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzkxYmQ4MTViYmEyMjIxZTRi
YzRjYTI0NzYyZGE0YTU5ZWUzMjQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZ2luZy1oYW5kc2hha2Vfd3NoLnB5CkBAIC0wLDAg
KzEsNiBAQAorZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAg
IHJlcXVlc3QuY29ubmVjdGlvbi5yZWFkKCkKKworCitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9k
YXRhKHJlcXVlc3QpOgorICAgIHBhc3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h0dHBvbmx5LWNvb2tpZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9odHRwb25seS1jb29raWUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdiOTJlYzM2MzNjYjQ2NmUyZmRjNTk2MTE1NGI4NGQwNzI3MGMwNDMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9odHRwb25seS1jb29raWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3QgV2Vi
U29ja2V0IHNlbmRzIEh0dHBPbmx5IGNvb2tpZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworV2ViU29ja2V0IG9wZW4KK1dlYlNvY2tldCBjbG9zZWQKK1BBU1MgY29va2llIGlzICJX
Sy13ZWJzb2NrZXQtdGVzdC1odHRwb25seT0xOyBXSy13ZWJzb2NrZXQtdGVzdD0xIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h0dHBvbmx5LWNvb2tpZS5w
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h0dHBvbmx5LWNvb2tp
ZS5wbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yOWE5NzRmMTg5ZGNkMTkzYTA4YjVjNGZjOTJjNDlhYTdiZTUyM2U4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaHR0cG9ubHktY29va2llLnBsCkBAIC0wLDAgKzEsNjggQEAKKyMhL3Vzci9iaW4vcGVybCAt
d1QKK3VzZSBzdHJpY3Q7CisKK2lmICgkRU5WeyJRVUVSWV9TVFJJTkcifSBlcSAiY2xlYXI9MSIp
IHsKKyAgICBwcmludCAiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluXHJcbiI7CisgICAgcHJpbnQg
IlNldC1Db29raWU6IFdLLXdlYnNvY2tldC10ZXN0PTA7IE1heC1BZ2U9MFxyXG4iOworICAgIHBy
aW50ICJTZXQtQ29va2llOiBXSy13ZWJzb2NrZXQtdGVzdC1odHRwb25seT0wOyBIdHRwT25seTsg
TWF4LUFnZT0wXHJcbiI7CisgICAgcHJpbnQgIlxyXG4iOworICAgIHByaW50ICJDb29raWVzIGFy
ZSBjbGVhcmVkLiI7CisgICAgZXhpdDsKK30KKworcHJpbnQgIkNvbnRlbnQtVHlwZTogdGV4dC9o
dG1sXHJcbiI7CitwcmludCAiU2V0LUNvb2tpZTogV0std2Vic29ja2V0LXRlc3Q9MVxyXG4iOwor
cHJpbnQgIlNldC1Db29raWU6IFdLLXdlYnNvY2tldC10ZXN0LWh0dHBvbmx5PTE7IEh0dHBPbmx5
XHJcbiI7CitwcmludCAiXHJcbiI7CitwcmludCA8PEhUTUwKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UZXN0IFdlYlNvY2tldCBzZW5kcyBIdHRwT25seSBj
b29raWVzLjwvcD4KKzxwPk9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Citp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxl
ZCIsIDApOworCit2YXIgY29va2llOworCisvLyBOb3JtYWxpemUgYSBjb29raWUgc3RyaW5nCitm
dW5jdGlvbiBub3JtYWxpemVDb29raWUoY29va2llKQoreworICAgIC8vIFNwbGl0IHRoZSBjb29r
aWUgc3RyaW5nLCBzb3J0IGl0IGFuZCB0aGVuIHB1dCBpdCBiYWNrIHRvZ2V0aGVyLgorICAgIHJl
dHVybiBjb29raWUuc3BsaXQoJzsgJykuc29ydCgpLmpvaW4oJzsgJyk7Cit9CisKK2Z1bmN0aW9u
IGNsZWFyQ29va2llcygpCit7CisgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwor
ICAgIHhoci5vcGVuKCJHRVQiLCAiaHR0cG9ubHktY29va2llLnBsP2NsZWFyPTEiLCBmYWxzZSk7
CisgICAgeGhyLnNlbmQobnVsbCk7Cit9CisKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8v
MTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2VjaG8tY29va2llIik7Cit3cy5vbm9wZW4g
PSBmdW5jdGlvbigpIHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0IG9wZW4iKTsKK307Cit3cy5vbm1l
c3NhZ2UgPSBmdW5jdGlvbihldnQpIHsKKyAgICBjb29raWUgPSBldnQuZGF0YTsKKyAgICB3cy5j
bG9zZSgpOworfTsKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbigpIHsKKyAgICBkZWJ1ZygiV2ViU29j
a2V0IGNsb3NlZCIpOworICAgIGNvb2tpZSA9IG5vcm1hbGl6ZUNvb2tpZShjb29raWUpOworICAg
IHNob3VsZEJlKCJjb29raWUiLCAnIldLLXdlYnNvY2tldC10ZXN0LWh0dHBvbmx5PTE7IFdLLXdl
YnNvY2tldC10ZXN0PTEiJyk7CisgICAgY2xlYXJDb29raWVzKCk7CisgICAgZmluaXNoSlNUZXN0
KCk7Cit9OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CitIVE1MCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9sb25nLWludmFsaWQtaGVhZGVyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2xvbmctaW52YWxpZC1o
ZWFkZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwZmE0ZjFhZWUwMmFkOWMzOTg1MmVlMjRi
MmE1MGY0NzQwOTIwNjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9sb25nLWludmFsaWQtaGVhZGVyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEwIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMDogVW5leHBlY3RlZCBDUiBpbiBuYW1l
IGF0IHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBw
cHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBw
cHBwcHBwcHBwcHBwcHBwcHBw4oCmCitNYWtlIHN1cmUgV2ViU29ja2V0IGdpdmVzIGVycm9ycyBv
biBsb25nIGludmFsaWQgdXBncmFkZSBoZWFkZXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworV2ViU29ja2V0IGlzIGNsb3NlZAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2xvbmctaW52YWxpZC1oZWFkZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2xvbmctaW52YWxpZC1oZWFkZXIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lZDQ0NTg2YjdmNDJkYWJjYWFiMDRlNTQ5NDAzOGQzMGJhOGU5ODQxCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvbG9uZy1pbnZh
bGlkLWhlYWRlci5odG1sCkBAIC0wLDAgKzEsMzYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPgorZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSBXZWJTb2NrZXQgZ2l2ZXMgZXJyb3JzIG9uIGxv
bmcgaW52YWxpZCB1cGdyYWRlIGhlYWRlci4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0
cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2Nv
bEVuYWJsZWQiLCAwKTsKKworZnVuY3Rpb24gZmluaXNoKCkgeworICAgIGNsZWFyVGltZW91dCh0
aW1lb3V0SUQpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit2YXIgd3MgPSBuZXcgV2ViU29j
a2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9sb25nLWludmFsaWQtaGVh
ZGVyIik7Cit3cy5vbm9wZW4gPSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNvY2tldCBp
cyBvcGVuIik7Cit9Oword3Mub25jbG9zZSA9IGZ1bmN0aW9uICgpIHsKKyAgICBkZWJ1ZygiV2Vi
U29ja2V0IGlzIGNsb3NlZCIpOworICAgIGZpbmlzaCgpOworfTsKK3ZhciB0aW1lb3V0SUQgPSBz
ZXRUaW1lb3V0KCJmaW5pc2goKSIsIDIwMDApOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9sb25nLWludmFsaWQtaGVh
ZGVyX3dzaC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2xvbmct
aW52YWxpZC1oZWFkZXJfd3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhMTY5ZjNkYTBhOTU5ZWQzZjQ4NmQ4
MTc3ZWMxMzA2ZjU4ZDQ2MGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9sb25nLWludmFsaWQtaGVhZGVyX3dzaC5weQpAQCAtMCwwICsx
LDExIEBACitkZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAg
bXNnID0gIkhUVFAvMS4xIDEwMSBXZWJTb2NrZXQgUHJvdG9jb2wgSGFuZHNoYWtlXHJcbiIKKyAg
ICBtc2cgKz0gKCJwIiAqIDEwMjQpICsgIlxyXG4iCisgICAgbXNnICs9ICJcclxuIgorICAgIG1z
ZyArPSByZXF1ZXN0LndzX2NoYWxsZW5nZV9tZDUKKyAgICByZXF1ZXN0LmNvbm5lY3Rpb24ud3Jp
dGUobXNnKQorICAgIHJhaXNlIEV4Y2VwdGlvbigiQWJvcnQgdGhlIGNvbm5lY3Rpb24iKSAjIFBy
ZXZlbnRzIHB5d2Vic29ja2V0IGZyb20gc2VuZGluZyBpdHMgb3duIGhhbmRzaGFrZSBtZXNzYWdl
LgorCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgcGFzcwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvbXVsdGlw
bGUtY29ubmVjdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvbXVsdGlwbGUtY29ubmVjdGlvbnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmNlZTFlZmJkZjk0OGM1Zjc1ZTQ1ZmJhOTZmMjA5Y2I0MWM3NmEwZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9tdWx0aXBsZS1jb25u
ZWN0aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUZXN0IHRoYXQgV2ViU29ja2V0
IGlzIG5vdCBzdWJqZWN0IHRvIEhUVFAgY29ubmVjdGlvbiBsaW1pdC4gU2hvdWxkIHNheSBQQVNT
OgorCitQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9tdWx0aXBsZS1jb25uZWN0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvbXVsdGlwbGUtY29ubmVjdGlvbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMWJh
ZDVmZjEzZjhmNGFmNDExNmIxM2U1OTYxOWFhZDUyYzQ5NjA4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvbXVsdGlwbGUtY29ubmVjdGlv
bnMuaHRtbApAQCAtMCwwICsxLDM1IEBACis8cD5UZXN0IHRoYXQgV2ViU29ja2V0IGlzIG5vdCBz
dWJqZWN0IHRvIEhUVFAgY29ubmVjdGlvbiBsaW1pdC4gU2hvdWxkIHNheSBQQVNTOjwvcD4KKzxw
IGlkPXJlc3VsdD5SdW5uaW5nLi4uPC9wPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RD
b250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3Rv
Y29sRW5hYmxlZCIsIDApOworfQorCit2YXIgc29ja2V0Q291bnQgPSA1MDsKK3ZhciByZXN1bHQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0Iik7Cit2YXIgc29ja2V0cyA9IFtdOwor
Citmb3IgKGkgPSAwOyBpIDwgc29ja2V0Q291bnQ7ICsraSkgeworICAgIHZhciB3cyA9IG5ldyBX
ZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2VjaG8iKTsKKyAg
ICBzb2NrZXRzW2ldID0gd3M7CisgICAgd3Mub25vcGVuID0gZnVuY3Rpb24oKSB7CisgICAgICAg
IHZhciBudW0gPSBwYXJzZUludChyZXN1bHQuaW5uZXJIVE1MKTsKKyAgICAgICAgaWYgKCFudW0p
CisgICAgICAgICAgICBudW0gPSAwOworICAgICAgICBpZiAobnVtICE9IHNvY2tldENvdW50IC0g
MSkKKyAgICAgICAgICAgIHJlc3VsdC5pbm5lckhUTUwgPSBudW0gKyAxOworICAgICAgICBlbHNl
IHsKKyAgICAgICAgICAgIHJlc3VsdC5pbm5lckhUTUwgPSAiUEFTUyI7CisgICAgICAgICAgICBm
b3IgKGogPSAwOyBqIDwgc29ja2V0Q291bnQ7ICsraikgeworICAgICAgICAgICAgICAgIHNvY2tl
dHNbal0ub25jbG9zZSA9IG51bGw7CisgICAgICAgICAgICAgICAgc29ja2V0c1tqXS5jbG9zZSgp
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
CisgICAgICAgIH0KKyAgICB9CisgICAgd3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkgeyBhbGVydCgi
RkFJTDogdW5leHBlY3RlZCBjbG9zZSBldmVudCIpIH0KK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvbm8tcXVlcnlfd3NoLnB5
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvbm8tcXVlcnlfd3NoLnB5
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjJiNzk2MTU1ZGUzMzUyZWVmYWVhOGIyOTY2MGJmODY1ZTg0NTA5ZGEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9u
by1xdWVyeV93c2gucHkKQEAgLTAsMCArMSwzOCBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMDkgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
IworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworZnJv
bSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IG1zZ3V0aWwKKworCitkZWYgd2ViX3NvY2tldF9kb19l
eHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgcmVxdWVzdC53c19sb2NhdGlvbiA9IHJlcXVl
c3Qud3NfcmVzb3VyY2Uuc3BsaXQoJz8nLCAxKVswXQorCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5z
ZmVyX2RhdGEocmVxdWVzdCk6CisgICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwgcmVx
dWVzdC53c19sb2NhdGlvbikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL251bGwtY2hhcmFjdGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL251bGwtY2hhcmFjdGVyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42ZmNhMzc3MDRlOTQwMmE3YjJhZWY0NzU5NzlmMzQ1ZTZhMWI4NzgyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvbnVsbC1j
aGFyYWN0ZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK01ha2Ugc3VyZSBXZWJTb2Nr
ZXQgdHJhbnNmZXIgbnVsbCBjaGFyYWN0ZXIKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitXZWJTb2NrZXQgb3BlbgorbXNnIHNob3VsZCBub3QgYmUgc3BsaXQgYnkgZnJhbWUgY2hhciBc
eGZmXDAKK1BBU1MgbXNnIGlzIGV4cGVjdGVkTWVzc2FnZQorV2ViU29ja2V0IGNsb3NlZAorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL251bGwtY2hhcmFjdGVy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9udWxsLWNoYXJh
Y3Rlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1MWRlZWViMDAwNjVmNmQwMzJkMzgwZGU1ZTczYTYxMmFm
MDhiNTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9udWxsLWNoYXJhY3Rlci5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSBXZWJTb2NrZXQgdHJhbnNm
ZXIgbnVsbCBjaGFyYWN0ZXIiKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5v
dmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQi
LCAwKTsKKwordmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJz
b2NrZXQvdGVzdHMvZWNobyIpOworLy8gXHhmZiBpbiBzdHJpbmcgd291bGQgYmUgXHhjM1x4YmYg
b24gd2Vic29ja2V0IGNvbm5lY3Rpb24gKFVURi04KQordmFyIGV4cGVjdGVkTWVzc2FnZSA9ICJT
aG91bGQgTm90XHhmZlwwU3BsaXQiOworCit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAg
ZGVidWcoIldlYlNvY2tldCBvcGVuIik7CisgICAgd3Muc2VuZChleHBlY3RlZE1lc3NhZ2UpOwor
fTsKKwordmFyIG1zZzsKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2VFdmVudCkKK3sK
KyAgICBtc2cgPSBtZXNzYWdlRXZlbnQuZGF0YTsKKyAgICBkZWJ1ZygibXNnIHNob3VsZCBub3Qg
YmUgc3BsaXQgYnkgZnJhbWUgY2hhciBcXHhmZlxcMCIpOworICAgIHNob3VsZEJlKCJtc2ciLCAi
ZXhwZWN0ZWRNZXNzYWdlIik7CisgICAgd3MuY2xvc2UoKTsKK307CisKK3dzLm9uY2xvc2UgPSBm
dW5jdGlvbigpCit7CisgICAgZGVidWcoIldlYlNvY2tldCBjbG9zZWQiKTsKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK307CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL29yaWdpbi10ZXN0X3dzaC5weSBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL29yaWdpbi10ZXN0X3dzaC5weQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li45ODhkNmFmYzk1NDA2ZTRjMmQyMWU3ZWFkYzI4YjNjMmFiNzk4YzRhCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvb3JpZ2luLXRlc3Rf
d3NoLnB5CkBAIC0wLDAgKzEsMzggQEAKKyMgQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisj
IG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK2Zyb20gbW9kX3B5
d2Vic29ja2V0IGltcG9ydCBtc2d1dGlsCisKKworZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFu
ZHNoYWtlKHJlcXVlc3QpOgorICAgIHBhc3MgIyBBbHdheXMgYWNjZXB0LgorCisKK2RlZiB3ZWJf
c29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgbXNndXRpbC5zZW5kX21lc3NhZ2Uo
cmVxdWVzdCwgcmVxdWVzdC53c19vcmlnaW4pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9wcm90b2NvbC10ZXN0X3dzaC5weSBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3Byb3RvY29sLXRlc3Rfd3NoLnB5Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY0M2Q4ZTYwZWVlZjkzMTJiZGU3NWRiMzUwMDQyNmMwNmZlYmYwNzEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9wcm90b2NvbC10
ZXN0X3dzaC5weQpAQCAtMCwwICsxLDQ0IEBACisjIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisj
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisj
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitpbXBvcnQg
Y2dpCitmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgbXNndXRpbAorCisKK2RlZiB3ZWJfc29j
a2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICByID0gcmVxdWVzdC53c19yZXNv
dXJjZS5zcGxpdCgnPycsIDEpCisgICAgaWYgbGVuKHIpID09IDE6CisgICAgICAgIHJldHVybgor
ICAgIHBhcmFtID0gY2dpLnBhcnNlX3FzKHJbMV0pCisgICAgaWYgJ3Byb3RvY29sJyBpbiBwYXJh
bToKKyAgICAgICAgcmVxdWVzdC53c19wcm90b2NvbCA9IHBhcmFtWydwcm90b2NvbCddWzBdCisK
KworZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICBtc2d1dGlsLnNl
bmRfbWVzc2FnZShyZXF1ZXN0LCByZXF1ZXN0LndzX3Byb3RvY29sKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvcmVsb2FkLWNyYXNoLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3JlbG9hZC1jcmFz
aC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDE3NWRlZTNmNjYzYWU2MzAwMWVmYjFlM2UxZGY1
YWI3MGM4NjM0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL3JlbG9hZC1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAor
VGVzdCBpZiBpdCBkb2Vzbid0IGNyYXNoIHdoZW4gcmVsb2FkaW5nIHdoaWxlIFdlYiBTb2NrZXQg
aXMgYnVzeQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaW5zZXJ0IGEgaWZy
YW1lCitQQVNTIGlmcmFtZSBpcyByZWFkeS4KK1BBU1MgcmVsb2FkZWQgaWZyYW1lIHdoaWxlIFdl
YlNvY2tldCBpcyBidXN5CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvcmVsb2FkLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9yZWxvYWQtY3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYjliZDEyODFhNDViYTA3M2Ey
N2E2ZmYwN2I1MmJkYzdlZmJkMDA3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvcmVsb2FkLWNyYXNoLmh0bWwKQEAgLTAsMCArMSw0MSBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vanMtdGVzdC1y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiVGVzdCBpZiBpdCBk
b2Vzbid0IGNyYXNoIHdoZW4gcmVsb2FkaW5nIHdoaWxlIFdlYiBTb2NrZXQgaXMgYnVzeSIpOwor
Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2Vi
S2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCit2YXIgZnJhbWVEaXY7
Cit2YXIgcmVsb2FkQ291bnQgPSAwOworCitkb2N1bWVudC5pZnJhbWVSZWFkeSA9IGZ1bmN0aW9u
ICgpCit7CisgICAgaWYgKHJlbG9hZENvdW50ID09IDApCisgICAgICAgZGVidWcoIlBBU1MgaWZy
YW1lIGlzIHJlYWR5LiIpOworICAgIGlmIChyZWxvYWRDb3VudCA9PSAxKSB7CisgICAgICAgZGVi
dWcoIlBBU1MgcmVsb2FkZWQgaWZyYW1lIHdoaWxlIFdlYlNvY2tldCBpcyBidXN5Iik7CisgICAg
ICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgcmV0dXJuOworICAgIH0KKyAgICByZWxvYWRDb3Vu
dCArPSAxOworfTsKKworZnJhbWVEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUi
KTsKK2ZyYW1lRGl2LnNyYyA9ICJyZXNvdXJjZXMvcmVsb2FkLWNyYXNoLWlmcmFtZS5odG1sIjsK
K2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWVEaXYpOworZGVidWcoIlBBU1MgaW5zZXJ0
IGEgaWZyYW1lIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3Jlc291cmNlcy9jbG9zZS1vbi11bmxvYWQtaWZyYW1l
LXJlZmVyZW5jZS1pbi1wYXJlbnQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL3Jlc291cmNlcy9jbG9zZS1vbi11bmxvYWQtaWZyYW1lLXJlZmVyZW5jZS1pbi1w
YXJlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNjA0OTAzYWU5OGIwZjg5NzNjZTYyNjgxMGNhOWVjNjU4
NmQ1NTJjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvcmVzb3VyY2VzL2Nsb3NlLW9uLXVubG9hZC1pZnJhbWUtcmVmZXJlbmNlLWluLXBh
cmVudC5odG1sCkBAIC0wLDAgKzEsMjQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC1m
dW5jdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPgorcGFyZW50LmRvY3VtZW50LmNoaWxkV2ViU29ja2V0ID0gbmV3IFdlYlNv
Y2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvY2xvc2Utb24tdW5sb2Fk
Iik7CisKK3BhcmVudC5kb2N1bWVudC5jaGlsZFdlYlNvY2tldC5vbm9wZW4gPSBmdW5jdGlvbigp
Cit7CisgICAgLy8gc2VuZCAic29ja2V0MSIgdG8gc2VydmVyLCBzbyB0aGF0ICJzb2NrZXQxIiB3
aWxsIGJlIGJyb2FkY2FzdGVkIHRvIHdlYiBzb2NrZXRzIGNvbm5lY3RlZCB0byBjbG9zZS1vbi11
bmxvYWQgd2hlbiB0aGlzIHdlYiBzb2NrZXQgaXMgY2xvc2VkLgorICAgIHBhcmVudC5kb2N1bWVu
dC5jaGlsZFdlYlNvY2tldC5zZW5kKCJzb2NrZXQxIik7Cit9OworcGFyZW50LmRvY3VtZW50LmNo
aWxkV2ViU29ja2V0Lm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2dCkKK3sKKyAgICAvLyAic29ja2V0
MSIgaXMgcmVjZWl2ZWQgYnkgc2VydmVyLCBzbyByZWFkeSB0byB1bmxvYWQgdGhpcyBkb2N1bWVu
dC4KKyAgICBwYXJlbnQuZG9jdW1lbnQuaWZyYW1lUmVhZHkoZXZ0LmRhdGEpOworfTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvcmVzb3VyY2VzL2Nsb3NlLW9uLXVubG9hZC1pZnJhbWUuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3Jlc291cmNlcy9jbG9zZS1v
bi11bmxvYWQtaWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY2NDZhOGI0YzNlZmYxMWFiYmNlMzBl
OGFjM2YzZGJlNWI2Nzk2OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL3Jlc291cmNlcy9jbG9zZS1vbi11bmxvYWQtaWZyYW1lLmh0bWwK
QEAgLTAsMCArMSwyMyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8u
Li9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LWZ1bmN0aW9uLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCI+Cit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tl
dC90ZXN0cy9jbG9zZS1vbi11bmxvYWQiKTsKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uKCkKK3sKKyAg
ICAvLyBzZW5kICJzb2NrZXQxIiB0byBzZXJ2ZXIsIHNvIHRoYXQgInNvY2tldDEiIHdpbGwgYmUg
YnJvYWRjYXN0ZWQgdG8gd2ViIHNvY2tldHMgY29ubmVjdGVkIHRvIGNsb3NlLW9uLXVubG9hZCB3
aGVuIHRoaXMgd2ViIHNvY2tldCBpcyBjbG9zZWQuCisgICAgd3Muc2VuZCgic29ja2V0MSIpOwor
fTsKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2dCkKK3sKKyAgICAvLyAic29ja2V0MSIgaXMg
cmVjZWl2ZWQgYnkgc2VydmVyLCBzbyByZWFkeSB0byB1bmxvYWQgdGhpcyBkb2N1bWVudC4KKyAg
ICBwYXJlbnQuZG9jdW1lbnQuaWZyYW1lUmVhZHkoZXZ0LmRhdGEpOworfQorPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9yZXNvdXJjZXMvcmVsb2FkLWNyYXNoLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvcmVzb3VyY2VzL3JlbG9hZC1jcmFzaC1pZnJh
bWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41MTA3ZGEwYjRlYzg2NzFkNzgzMjMyNzhhMWMyZDRjYjliNTdi
YzgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvcmVzb3VyY2VzL3JlbG9hZC1jcmFzaC1pZnJhbWUuaHRtbApAQCAtMCwwICsxLDE1IEBA
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9q
cy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QtZnVuY3Rpb24uanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK3BhcmVudC5kb2N1
bWVudC5pZnJhbWVSZWFkeSgpOwordmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4w
LjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvY2xvc2Utb24tdW5sb2FkIik7Citsb2NhdGlvbi5yZWxv
YWQoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2VuZC1hZnRlci1jbG9zZS1vbi11bmxvYWQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2Vu
ZC1hZnRlci1jbG9zZS1vbi11bmxvYWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmZjQ4YjFl
MjUxOTdkNWM3ZGNlMWU2Y2YzYjgwMTlkN2ZhNDVjMzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zZW5kLWFmdGVyLWNsb3NlLW9uLXVu
bG9hZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdCBpZiBXZWIgU29ja2V0IG9w
ZW5lZCBpbiBpZnJhbWUsIHJlZmVycmVkIGluIHBhcmVudCBkb2N1bWVudCBpcywgYW5kIHRyeSB0
byBzZW5kKCkgcmV0dXJucyBmYWxzZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIHdzIG9uIG1hc3RlciBkb2N1bWVudCBpcyByZWFkeS4KK1BBU1MgaW5zZXJ0IGEgaWZyYW1l
LCB3aGVyZSBvcGVuIHdzIGNhbGxlZCAnc29ja2V0MScKK1BBU1MgZG9jdW1lbnQuY2hpbGRXZWJT
b2NrZXQgaXMgbm9uLW51bGwuCitQQVNTICdzb2NrZXQxJyBpcyBzZW50IHRvIHRoZSBzZXJ2ZXIu
IHVubG9hZCB0aGUgaWZyYW1lLiBleHBlY3QgcmVjZWl2aW5nICdzb2NrZXQxJyBvbiB3cy4uLgor
UEFTUyBkb2N1bWVudC5jaGlsZFdlYlNvY2tldC5zZW5kKCdzZW5kIHRvIGNsb3NlZCBzb2NrZXQn
KSBpcyBmYWxzZQorUEFTUyBjbG9zZWRTb2NrZXQgaXMgInNvY2tldDEiCitQQVNTIGRvY3VtZW50
LmNoaWxkV2ViU29ja2V0LnJlYWR5U3RhdGUgaXMgMworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NlbmQtYWZ0ZXItY2xvc2Utb24tdW5sb2FkLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zZW5kLWFmdGVyLWNsb3NlLW9u
LXVubG9hZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlNGFiYmFkNTA2N2M0ZDU3ZDAyYzg5ZmIwMGU1ZGE0
YTM2ZjJiZTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9zZW5kLWFmdGVyLWNsb3NlLW9uLXVubG9hZC5odG1sCkBAIC0wLDAgKzEsNTQg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10
ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIlRlc3QgaWYgV2Vi
IFNvY2tldCBvcGVuZWQgaW4gaWZyYW1lLCByZWZlcnJlZCBpbiBwYXJlbnQgZG9jdW1lbnQgaXMs
IGFuZCB0cnkgdG8gc2VuZCgpIHJldHVybnMgZmFsc2UuIik7CisKK3dpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0
UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK3ZhciBmcmFtZURpdjsKK3ZhciBjbG9zZWRTb2NrZXQ7
Citkb2N1bWVudC5jaGlsZFdlYlNvY2tldCA9IG51bGw7CisKK3ZhciB3cyA9IG5ldyBXZWJTb2Nr
ZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2Nsb3NlLW9uLXVubG9hZCIp
Oword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJQQVNTIHdzIG9uIG1hc3Rl
ciBkb2N1bWVudCBpcyByZWFkeS4iKTsKKyAgICBmcmFtZURpdiA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImlmcmFtZSIpOworICAgIGZyYW1lRGl2LnNyYyA9ICJyZXNvdXJjZXMvY2xvc2Utb24t
dW5sb2FkLWlmcmFtZS1yZWZlcmVuY2UtaW4tcGFyZW50Lmh0bWwiOworICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoZnJhbWVEaXYpOworICAgIGRlYnVnKCJQQVNTIGluc2VydCBhIGlmcmFt
ZSwgd2hlcmUgb3BlbiB3cyBjYWxsZWQgJ3NvY2tldDEnIik7Cit9Oword3Mub25tZXNzYWdlID0g
ZnVuY3Rpb24oZXZ0KQoreworICAgIGNsb3NlZFNvY2tldCA9IGV2dC5kYXRhOworICAgIHdzLmNs
b3NlKCk7Cit9Oword3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBzaG91bGRCZSgiY2xv
c2VkU29ja2V0IiwgJyJzb2NrZXQxIicpOworICAgIHNob3VsZEJlKCJkb2N1bWVudC5jaGlsZFdl
YlNvY2tldC5yZWFkeVN0YXRlIiwgIjMiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK2Rv
Y3VtZW50LmlmcmFtZVJlYWR5ID0gZnVuY3Rpb24oKQoreworICAgIHNob3VsZEJlTm9uTnVsbCgi
ZG9jdW1lbnQuY2hpbGRXZWJTb2NrZXQiKTsKKyAgICBkZWJ1ZygiUEFTUyAnc29ja2V0MScgaXMg
c2VudCB0byB0aGUgc2VydmVyLiB1bmxvYWQgdGhlIGlmcmFtZS4gZXhwZWN0IHJlY2VpdmluZyAn
c29ja2V0MScgb24gd3MuLi4iKTsKKyAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGZyYW1l
RGl2KTsKKyAgICBzaG91bGRCZUZhbHNlKCJkb2N1bWVudC5jaGlsZFdlYlNvY2tldC5zZW5kKCdz
ZW5kIHRvIGNsb3NlZCBzb2NrZXQnKSIpOworfTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2VuZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zZW5kLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jYjNjN2Y1MTczMTNiOGVjYmUxMjBmMDRiNWNiYTQwZGQ2NTNjNWYz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvc2VuZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorV2ViIFNvY2tldCBzZW5kIHRl
c3QKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitDb25uZWN0ZWQuCitQQVNTIGRhdGEg
aXMgRklSU1RfTUVTU0FHRV9UT19TRU5ECitQQVNTIGRhdGEgaXMgU0VDT05EX01FU1NBR0VfVE9f
U0VORAorQ2xvc2VkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL3NlbmQtdGhyb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvc2VuZC10aHJvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWE3NGJhMzE1
NDE1ZmMwZDJmNGU2ZDUwNjIyNjIzNWMwMWZiYjI2YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NlbmQtdGhyb3ctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTEgQEAKK1dlYiBTb2NrZXQgc2VuZCB0ZXN0CisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworQ29ubmVjdGVkLgorQ2F1Z2h0IGV4Y2VwdGlvbjogUGlja2xlcworQ2xv
c2VkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NlbmQt
dGhyb3cuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NlbmQt
dGhyb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZmFhMWZlYzEwMzJhNTE2NDY2YjQ0MDVkOTIzMjM0Nzg3
NzY4NjNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvc2VuZC10aHJvdy5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIldlYiBTb2NrZXQgc2VuZCB0ZXN0Iik7CisKK3dp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRI
aXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK2Z1bmN0aW9uIGVuZFRlc3Qo
KQoreworICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOworICAgIGZpbmlzaEpTVGVzdCgpOwor
fQorCit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovL2xvY2FsaG9zdDo4ODgwL3dlYnNvY2tl
dC90ZXN0cy9zZW5kIik7CisKK3ZhciBGSVJTVF9NRVNTQUdFX1RPX1NFTkQgPSB7CisgICAgdG9T
dHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJvdyAiUGlja2xlcyI7IH0KK307CisvLyBkYXRhIG5lZWRz
IHRvIGJlIGdsb2JhbCB0byBiZSBhY2Nlc3NiaWxlIGZyb20gc2hvdWxkQmUoKS4KK3ZhciBkYXRh
ID0gIiI7CisKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygiQ29ubmVjdGVk
LiIpOworICAgIHRyeSB7CisgICAgICAgIHdzLnNlbmQoRklSU1RfTUVTU0FHRV9UT19TRU5EKTsK
KyAgICB9IGNhdGNoIChleCkgeworICAgICAgICBkZWJ1ZygiQ2F1Z2h0IGV4Y2VwdGlvbjogIiAr
IGV4KTsKKyAgICB9CisgICAgd3MuY2xvc2UoKTsKK307CisKK3dzLm9uY2xvc2UgPSBmdW5jdGlv
bigpCit7CisgICAgZGVidWcoIkNsb3NlZC4iKTsKKyAgICBlbmRUZXN0KCk7Cit9OworCitmdW5j
dGlvbiB0aW1lT3V0Q2FsbGJhY2soKQoreworICAgIHRlc3RGYWlsZWQoIlRpbWVkIG91dCBpbiBz
dGF0ZTogIiArIHdzLnJlYWR5U3RhdGUpOworICAgIGVuZFRlc3QoKTsKK30KKwordmFyIHRpbWVv
dXRJRCA9IHNldFRpbWVvdXQodGltZU91dENhbGxiYWNrLCAzMDAwKTsKKwordmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10
ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2Vu
ZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2VuZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmZlM2E1MTAxM2QyMmFiZGUzNmY3ZTlmZjZmMzc1ODU0ZjAzMDNmZGUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9z
ZW5kLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Citk
ZXNjcmlwdGlvbigiV2ViIFNvY2tldCBzZW5kIHRlc3QiKTsKKword2luZG93LmpzVGVzdElzQXN5
bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQ
cm90b2NvbEVuYWJsZWQiLCAwKTsKKworZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAgY2xlYXJU
aW1lb3V0KHRpbWVvdXRJRCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3ZhciB3cyA9IG5l
dyBXZWJTb2NrZXQoIndzOi8vbG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL3NlbmQiKTsK
KwordmFyIEZJUlNUX01FU1NBR0VfVE9fU0VORCA9ICJUaGlzIGlzIHRoZSBmaXJzdCBtZXNzYWdl
IHRvIHNlbmQgdG8gdGhlIHNlcnZlci4iOwordmFyIFNFQ09ORF9NRVNTQUdFX1RPX1NFTkQgPSAi
VGhpcyBpcyB0aGUgc2Vjb25kLiI7CisvLyBkYXRhIG5lZWRzIHRvIGJlIGdsb2JhbCB0byBiZSBh
Y2Nlc3NiaWxlIGZyb20gc2hvdWxkQmUoKS4KK3ZhciBkYXRhID0gIiI7CisKK3dzLm9ub3BlbiA9
IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygiQ29ubmVjdGVkLiIpOworICAgIHdzLnNlbmQoRklS
U1RfTUVTU0FHRV9UT19TRU5EKTsKK307CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VFdmVudCkKK3sKKyAgICAvLyBUaGUgc2VydmVyIHNob3VsZCBlY2hvIGJhY2sgdGhlIGZpcnN0
IG1lc3NhZ2UuCisgICAgZGF0YSA9IG1lc3NhZ2VFdmVudC5kYXRhOworICAgIHNob3VsZEJlKCJk
YXRhIiwgIkZJUlNUX01FU1NBR0VfVE9fU0VORCIpOworICAgIHdzLm9ubWVzc2FnZSA9IGZ1bmN0
aW9uKG1lc3NhZ2VFdmVudCkgeworICAgICAgICAvLyBUaGUgc2VydmVyIHNob3VsZCBlY2hvIGJh
Y2sgdGhlIHNlY29uZCBtZXNzYWdlLgorICAgICAgICBkYXRhID0gbWVzc2FnZUV2ZW50LmRhdGE7
CisgICAgICAgIHNob3VsZEJlKCJkYXRhIiwgIlNFQ09ORF9NRVNTQUdFX1RPX1NFTkQiKTsKKyAg
ICB9OworICAgIHdzLnNlbmQoU0VDT05EX01FU1NBR0VfVE9fU0VORCk7Cit9OworCit3cy5vbmNs
b3NlID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJDbG9zZWQuIik7CisgICAgZW5kVGVzdCgp
OworfTsKKworZnVuY3Rpb24gdGltZU91dENhbGxiYWNrKCkKK3sKKyAgICB0ZXN0RmFpbGVkKCJU
aW1lZCBvdXQgaW4gc3RhdGU6ICIgKyB3cy5yZWFkeVN0YXRlKTsKKyAgICBlbmRUZXN0KCk7Cit9
CisKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0KHRpbWVPdXRDYWxsYmFjaywgMzAwMCk7CisK
K3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL3NlbmQyX3dzaC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL3NlbmQyX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMjIxN2ZhM2Q1MmMwZmUzZDk4ZDYyYzRk
MTgxNDI3MDlkYWNmMTcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvc2VuZDJfd3NoLnB5CkBAIC0wLDAgKzEsOCBAQAorZGVmIHdlYl9z
b2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAgIHBhc3MgIyBBbHdheXMgYWNj
ZXB0LgorCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgIyBz
ZW5kIDIgbWVzc2FnZXMgaW4gb25lIHBhY2tldC4KKyAgICByZXF1ZXN0LmNvbm5lY3Rpb24ud3Jp
dGUoIlx4MDAiICsgImZpcnN0IG1lc3NhZ2UiICsgIlx4ZmYiICsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIlx4MDAiICsgInNlY29uZCBtZXNzYWdlIiArICJceGZmIikKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NlbmRfd3NoLnB5IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2VuZF93c2gucHkKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjUxMDRiMzQ4MmQ0MzJhOGYwNDk5M2M0MmRlMDM1ZDNkZWU3OWFkNgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NlbmRfd3No
LnB5CkBAIC0wLDAgKzEsNDEgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1l
dDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK2Zyb20gbW9kX3B5d2Vi
c29ja2V0IGltcG9ydCBtc2d1dGlsCisKKworZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNo
YWtlKHJlcXVlc3QpOgorICAgIHBhc3MgIyBBbHdheXMgYWNjZXB0LgorCisKK2RlZiB3ZWJfc29j
a2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgIyBSZWNlaXZlIGFuZCBlY2hvIGJhY2sg
bWVzc2FnZXMgdHdpY2UuCisgICAgZm9yIHVudXNlZCBpbiByYW5nZSgyKToKKyAgICAgICAgbWVz
c2FnZSA9IG1zZ3V0aWwucmVjZWl2ZV9tZXNzYWdlKHJlcXVlc3QpCisgICAgICAgIG1zZ3V0aWwu
c2VuZF9tZXNzYWdlKHJlcXVlc3QsIG1lc3NhZ2UpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zZXJ2ZXItY2xvc2UtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2VydmVyLWNsb3NlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mZWVkYTllMGIzMGIyMTA0MmNhOTRmOGZlZjVmOTM5NjFiZWM4OWQ3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvc2VydmVyLWNsb3NlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitXZWJTb2NrZXQ6
IFRlc3Qgc2VydmVyLWluaXRpYXRlZCBjbG9zZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitDb25uZWN0ZWQKK0Nsb3NlZAorUEFTUyBjbG9zZUV2ZW50Lndhc0NsZWFuIGlzIHRydWUK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zZXJ2ZXItY2xv
c2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NlcnZlci1j
bG9zZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmOTg4ZWQxZjA1YzQyZGQ3Y2FkOWU1YTg5ZmI2NzcwNmM0
NjQ5MjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9zZXJ2ZXItY2xvc2UuaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJXZWJTb2NrZXQ6IFRlc3Qgc2VydmVyLWluaXRp
YXRlZCBjbG9zZS4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlk
ZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsK
KwordmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQv
dGVzdHMvc2VydmVyLWNsb3NlIik7Cit2YXIgY2xvc2VFdmVudDsKKword3Mub25vcGVuID0gZnVu
Y3Rpb24oKQoreworICAgIGRlYnVnKCJDb25uZWN0ZWQiKTsKK307CisKK3dzLm9ubWVzc2FnZSA9
IGZ1bmN0aW9uKG1lc3NhZ2VFdmVudCkKK3sKKyAgICBkZWJ1ZygiUmVjZWl2ZWQ6ICIgKyBtZXNz
YWdlRXZlbnQuZGF0YSk7Cit9OworCit3cy5vbmNsb3NlID0gZnVuY3Rpb24oZXZlbnQpCit7Cisg
ICAgZGVidWcoIkNsb3NlZCIpOworICAgIGNsb3NlRXZlbnQgPSBldmVudDsKKyAgICBzaG91bGRC
ZVRydWUoImNsb3NlRXZlbnQud2FzQ2xlYW4iKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisK
K3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL3NlcnZlci1jbG9zZV93c2gucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9zZXJ2ZXItY2xvc2Vfd3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEwNjk4YTMzNWY3
YjIwNTdhYjI3MTVhMDNhNTRmNzFhZjhjNDA3N2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zZXJ2ZXItY2xvc2Vfd3NoLnB5CkBAIC0w
LDAgKzEsNyBAQAorZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgor
ICAgIHBhc3MKKworCitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAg
ICMgQWZ0ZXIgdGhpcyBoYW5kbGVyIGV4aXRzLCBweXdlYnNvY2tldCBpbml0aWF0ZXMgdGhlIGNs
b3NpbmcgaGFuZHNoYWtlLgorICAgIHBhc3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NpbXBsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zaW1wbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQ1NTNkM2M5N2I3NmVkYzIxMGNhNzg5YTM3MGQ1NTcwZDI4NWU0YmUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zaW1wbGUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1NpbXBsZSBXZWIgU29ja2V0IHRlc3QKKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitDcmVhdGVkIGEgc29ja2V0IHRvICd3czovLzEyNy4wLjAu
MTo4ODgwL3dlYnNvY2tldC90ZXN0cy9zaW1wbGUnOyByZWFkeVN0YXRlIDAuCitDb25uZWN0ZWQ7
IHJlYWR5U3RhdGUgMQorUmVjZWl2ZWQ6ICdIZWxsbyBmcm9tIFNpbXBsZSBXU0guJzsgcmVhZHlT
dGF0ZSAxCitDbG9zZWQ7IHJlYWR5U3RhdGUgMy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9zaW1wbGUtc3RyZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NpbXBsZS1zdHJlc3MtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmY1N2MzZWM1YzI4ZWUxYzVmZmRhYzk5YzEyMmJmNzQxOGY0MzcyOGQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9z
aW1wbGUtc3RyZXNzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK1Rlc3Qgc2VuZGluZyBt
YW55IG1lc3NhZ2VzLCBhbmQgc2VuZGluZyBhIGxhcmdlIG1lc3NhZ2UuCisKK1Nob3VsZCBzYXkg
UEFTUzoKKworUnVubmluZyB0aGUgdGVzdC4uLgorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zaW1wbGUtc3RyZXNzLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zaW1wbGUtc3RyZXNzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTg2ZGVmZjFiNDQ4MmEwZjRjYzdiMWYwOTMwM2I5YTcyZWVkOTdhOQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NpbXBs
ZS1zdHJlc3MuaHRtbApAQCAtMCwwICsxLDUzIEBACis8cD5UZXN0IHNlbmRpbmcgbWFueSBtZXNz
YWdlcywgYW5kIHNlbmRpbmcgYSBsYXJnZSBtZXNzYWdlLjwvcD4KKzxwPlNob3VsZCBzYXkgUEFT
Uzo8L3A+Cis8cHJlIGlkPWxvZz5SdW5uaW5nIHRoZSB0ZXN0Li4uCis8L3ByZT4KKzxzY3JpcHQ+
Cit2YXIgbnVtU21hbGxNZXNzYWdlcyA9IDEwMDA7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29s
RW5hYmxlZCIsIDApOworfQorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgibG9nIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiXG4iOworfQor
Cit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90
ZXN0cy9lY2hvIik7CisKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uKCkgeworICAgIGZvciAoaSA9IDA7
IGkgPCBudW1TbWFsbE1lc3NhZ2VzOyArK2kpIHsKKyAgICAgICAgd3Muc2VuZChpKTsKKyAgICB9
CisKK30KKwordmFyIGxhc3RNZXNzYWdlID0gLTE7Cit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbiht
c2cpIHsKKyAgICBpZiAocGFyc2VJbnQobXNnLmRhdGEpICE9IGxhc3RNZXNzYWdlICsgMSkKKyAg
ICAgICAgbG9nKCJGQUlMIC0gb3V0IG9mIHNlcXVlbmNlIHJlc3BvbnNlLiBFeHBlY3RlZCAiICsg
bGFzdE1lc3NhZ2UgKyAxICsgIiwgZ290ICIgKyBtc2cuZGF0YSk7CisgICAgKytsYXN0TWVzc2Fn
ZTsKKyAgICBpZiAobGFzdE1lc3NhZ2UgPT0gbnVtU21hbGxNZXNzYWdlcyAtIDEpCisgICAgICAg
IHRlc3RMYXJnZVN0cmluZygpOworfQorCitmdW5jdGlvbiB0ZXN0TGFyZ2VTdHJpbmcoKQorewor
ICAgIC8vIEJ1aWxkIGEgc3RyaW5nIDI1NksgaW4gbGVuZ3RoLgorICAgIHZhciBzdHIgPSAiICI7
CisgICAgZm9yIChpID0gMDsgaSA8IDE4OyArK2kpCisgICAgICAgIHN0ciArPSBzdHI7CisKKyAg
ICB3cy5zZW5kKHN0cik7CisgICAgd3Mub25tZXNzYWdlID0gZnVuY3Rpb24obXNnKSB7CisgICAg
ICAgIGxvZyhtc2cuZGF0YS5sZW5ndGggPT0gc3RyLmxlbmd0aCA/ICJQQVNTIiA6ICJGQUlMIC0g
d3JvbmcgcmVzcG9uc2UgbGVuZ3RoIik7CisgICAgICAgIHdzLnNlbmQoIkdvb2RieWUiKTsKKyAg
ICAgICAgd3Mub25tZXNzYWdlID0gbnVsbDsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICAgICAgICAgIHNldFRpbWVvdXQoImxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKSIsIDApOworICAgIH0KK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2ltcGxlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zaW1wbGUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
MmQzMGMwNTEwNGE5NWEwZTcxNWY5MDg2OGRlZmIwZTNmNDJhZmRlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2ltcGxlLmh0bWwKQEAg
LTAsMCArMSw1NCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
Li4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigi
U2ltcGxlIFdlYiBTb2NrZXQgdGVzdCIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7
CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9s
bGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5h
YmxlZCIsIDApOworCitmdW5jdGlvbiBlbmRUZXN0KCkKK3sKKyAgICBjbGVhclRpbWVvdXQodGlt
ZW91dElEKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKwordmFyIHdzID0gbmV3IFdlYlNvY2tl
dCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvc2ltcGxlIik7CitkZWJ1Zygi
Q3JlYXRlZCBhIHNvY2tldCB0byAnIiArIHdzLlVSTCArICInOyByZWFkeVN0YXRlICIgKyB3cy5y
ZWFkeVN0YXRlICsgIi4iKTsKKword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVn
KCJDb25uZWN0ZWQ7IHJlYWR5U3RhdGUgIiArIHdzLnJlYWR5U3RhdGUpOworfTsKKword3Mub25t
ZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZUV2ZW50KQoreworICAgIGRlYnVnKCJSZWNlaXZlZDog
JyIgKyBtZXNzYWdlRXZlbnQuZGF0YSArICInOyByZWFkeVN0YXRlICIgKyB3cy5yZWFkeVN0YXRl
KTsKK307CisKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIkNsb3NlZDsg
cmVhZHlTdGF0ZSAiICsgd3MucmVhZHlTdGF0ZSArICIuIik7CisgICAgZW5kVGVzdCgpOworfTsK
KworZnVuY3Rpb24gdGltZU91dENhbGxiYWNrKCkKK3sKKyAgICBkZWJ1ZygiVGltZWQgb3V0IGlu
IHN0YXRlOiAiICsgd3MucmVhZHlTdGF0ZSk7CisgICAgZW5kVGVzdCgpOworfQorCit2YXIgdGlt
ZW91dElEID0gc2V0VGltZW91dCh0aW1lT3V0Q2FsbGJhY2ssIDMwMDApOworCit2YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pz
LXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9z
aW1wbGVfd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2lt
cGxlX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYzAyNzFjNWY3YTlmNTQ3ZjUyZmJjMDVjZmQzMDRiM2I1
ZGYwMzJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvc2ltcGxlX3dzaC5weQpAQCAtMCwwICsxLDM4IEBACisjIENvcHlyaWdodCAoQykg
MjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
IyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KworCitmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgbXNndXRpbAorCisKK2RlZiB3ZWJfc29j
a2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICBwYXNzICMgQWx3YXlzIGFjY2Vw
dC4KKworCitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIG1zZ3V0
aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3QsICdIZWxsbyBmcm9tIFNpbXBsZSBXU0guJykKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3N1Yi1wcm90b2Nv
bC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9z
dWItcHJvdG9jb2wtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJjYzFlYzE1NTZjOWNjMTMzMDE2
NDU3ZTY4MmZhZDEzOGI0ZmJiYjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zdWItcHJvdG9jb2wtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTAgQEAKK1Rlc3QgV2ViU29ja2V0IGhhbmRzaGFrZSBzdWNjZXNzIHdpdGggc3ViIHByb3Rv
Y29sLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK0Nvbm5lY3RlZAorUEFTUyBwcm90
b2NvbCBpcyAic3ViLXByb3RvY29sIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL3N1Yi1wcm90b2NvbC13aXRoLXNwYWNlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3N1Yi1wcm90b2NvbC13aXRoLXNwYWNl
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMjFhNzQ5MWYwNmRlMmE2OWYyOWVjYzU0ZDdlODA4
NGIzM2M0N2U1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvc3ViLXByb3RvY29sLXdpdGgtc3BhY2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTAgQEAKK1Rlc3QgV2ViU29ja2V0IGhhbmRzaGFrZSBzdWNjZXNzIHdpdGggc3ViIHByb3Rv
Y29sIGNvbnRhaW5zIHNwYWNlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK0Nvbm5l
Y3RlZAorUEFTUyBwcm90b2NvbCBpcyAic3ViIHByb3RvY29sIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3N1Yi1wcm90b2NvbC13aXRoLXNwYWNlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zdWItcHJvdG9jb2wtd2l0
aC1zcGFjZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjljNzkyZTM4Y2QwOTFkM2UzNTc4YmFiNWUyNmM5YThk
NWViODEzNDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9zdWItcHJvdG9jb2wtd2l0aC1zcGFjZS5odG1sCkBAIC0wLDAgKzEsNTYgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0
LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIlRlc3QgV2ViU29ja2V0
IGhhbmRzaGFrZSBzdWNjZXNzIHdpdGggc3ViIHByb3RvY29sIGNvbnRhaW5zIHNwYWNlLiIpOwor
Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2Vi
S2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCit2YXIgcHJvdG9jb2w7
CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIHNob3VsZEJlKCJwcm90b2NvbCIsICcic3Vi
IHByb3RvY29sIicpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit2YXIgdXJsID0gIndzOi8v
bG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL3Byb3RvY29sLXRlc3Q/cHJvdG9jb2w9c3Vi
JTIwcHJvdG9jb2wiOwordmFyIHdzID0gbmV3IFdlYlNvY2tldCh1cmwsICJzdWIgcHJvdG9jb2wi
KTsKKword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJDb25uZWN0ZWQiKTsK
K307CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChtZXNzYWdlRXZlbnQpCit7CisgICAgcHJv
dG9jb2wgPSBtZXNzYWdlRXZlbnQuZGF0YTsKKyAgICB3cy5jbG9zZSgpOworfTsKKword3Mub25j
bG9zZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBlbmRUZXN0KCk7Cit9OworCitmdW5jdGlvbiB0aW1l
T3V0Q2FsbGJhY2soKQoreworICAgIGRlYnVnKCJUaW1lZCBvdXQgaW4gc3RhdGU6ICIgKyB3cy5y
ZWFkeVN0YXRlKTsKKyAgICBlbmRUZXN0KCk7Cit9CisKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1l
b3V0KHRpbWVPdXRDYWxsYmFjaywgMzAwMCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3N1Yi1wcm90b2NvbC5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc3ViLXByb3RvY29sLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMmMwOTQwMDM4YjRmZWJmODMxZmE4OGMzZTM3YWRiYmJhNWQwZjg0Ngot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3N1Yi1wcm90b2NvbC5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgorZGVzY3JpcHRpb24oIlRlc3QgV2ViU29ja2V0IGhhbmRzaGFrZSBzdWNjZXNzIHdp
dGggc3ViIHByb3RvY29sLiIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92
ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIs
IDApOworCit2YXIgcHJvdG9jb2w7CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIHNob3Vs
ZEJlKCJwcm90b2NvbCIsICcic3ViLXByb3RvY29sIicpOworICAgIGZpbmlzaEpTVGVzdCgpOwor
fQorCit2YXIgdXJsID0gIndzOi8vbG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL3Byb3Rv
Y29sLXRlc3Q/cHJvdG9jb2w9c3ViLXByb3RvY29sIjsKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQo
dXJsLCAic3ViLXByb3RvY29sIik7CisKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uKCkKK3sKKyAgICBk
ZWJ1ZygiQ29ubmVjdGVkIik7Cit9OworCit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAobWVzc2Fn
ZUV2ZW50KQoreworICAgIHByb3RvY29sID0gbWVzc2FnZUV2ZW50LmRhdGE7CisgICAgd3MuY2xv
c2UoKTsKK307CisKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbigpCit7CisgICAgZW5kVGVzdCgpOwor
fTsKKworZnVuY3Rpb24gdGltZU91dENhbGxiYWNrKCkKK3sKKyAgICBkZWJ1ZygiVGltZWQgb3V0
IGluIHN0YXRlOiAiICsgd3MucmVhZHlTdGF0ZSk7CisgICAgZW5kVGVzdCgpOworfQorCit2YXIg
dGltZW91dElEID0gc2V0VGltZW91dCh0aW1lT3V0Q2FsbGJhY2ssIDMwMDApOworCit2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy91bmljb2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL3VuaWNvZGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE4OWViODMxNTFhYWM2NjRj
ZmUzMDUyNWFmMjBmNTRkNWY4OTg2NzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91bmljb2RlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEyIEBACitXZWIgU29ja2V0IHVuaWNvZGUgbWVzc2FnZSB0ZXN0CisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworQ29ubmVjdGVkLgorU2VuZCBVTklDT0RFX0hFTExPLgorUEFTUyBkYXRh
IGlzIFVOSUNPREVfR09PREJZRQorQ2xvc2VkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL3VuaWNvZGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL3VuaWNvZGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOGMxNjRlNGFkZGI2NWU2
YzI4MWQ4Mjc4NzY4YjdjMmU0ZTdhZGQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdW5pY29kZS5odG1sCkBAIC0wLDAgKzEsNjUgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0
LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIldlYiBTb2NrZXQgdW5p
Y29kZSBtZXNzYWdlIHRlc3QiKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5v
dmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQi
LCAwKTsKKworZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJ
RCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndz
Oi8vbG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL3VuaWNvZGUiKTsKKworLy8gSGVsbG8g
aW4gSmFwYW5lc2UKK3ZhciBVTklDT0RFX0hFTExPID0gIlx1MzA1M1x1MzA5M1x1MzA2Ylx1MzA2
MVx1MzA2ZiI7CisvLyBHb29kYnllIGluIEphcGFuZXNlCit2YXIgVU5JQ09ERV9HT09EQllFID0g
Ilx1MzA1NVx1MzA4OFx1MzA0Nlx1MzA2YVx1MzA4OSI7CisKKy8vIGRhdGEgbmVlZHMgdG8gYmUg
Z2xvYmFsIHRvIGJlIGFjY2Vzc2JpbGUgZnJvbSBzaG91bGRCZSgpLgordmFyIGRhdGEgPSAiIjsK
Kword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJDb25uZWN0ZWQuIik7Cisg
ICAgZGVidWcoIlNlbmQgVU5JQ09ERV9IRUxMTy4iKTsKKyAgICB3cy5zZW5kKFVOSUNPREVfSEVM
TE8pOworfTsKKword3Mub25tZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZUV2ZW50KQoreworICAg
IC8vIFRoZSBzZXJ2ZXIgc2hvdWxkIHNlbmQgYmFjayBHb29kYnllIGlmIGl0IHJlY2VpdmVzIEhl
bGxvLgorICAgIGRhdGEgPSBtZXNzYWdlRXZlbnQuZGF0YTsKKyAgICBzaG91bGRCZSgiZGF0YSIs
ICJVTklDT0RFX0dPT0RCWUUiKTsKK307CisKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbigpCit7Cisg
ICAgZGVidWcoIkNsb3NlZC4iKTsKKyAgICBlbmRUZXN0KCk7Cit9OworCitmdW5jdGlvbiB0aW1l
T3V0Q2FsbGJhY2soKQoreworICAgIHRlc3RGYWlsZWQoIlRpbWVkIG91dCBpbiBzdGF0ZTogIiAr
IHdzLnJlYWR5U3RhdGUpOworICAgIGVuZFRlc3QoKTsKK30KKwordmFyIHRpbWVvdXRJRCA9IHNl
dFRpbWVvdXQodGltZU91dENhbGxiYWNrLCAzMDAwKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdW5pY29kZV93c2gu
cHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91bmljb2RlX3dzaC5w
eQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45ZTMxMjM3OWNiMjM2MjhmYjI5NzU4MjcwYWUyMTdhZDJhZDQyODZhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
dW5pY29kZV93c2gucHkKQEAgLTAsMCArMSw1MiBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMDkgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
IworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworZnJv
bSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IG1zZ3V0aWwKKworCisjIEhlbGxvIGluIEphcGFuZXNl
CitfVU5JQ09ERV9IRUxMTyA9IHUiXHUzMDUzXHUzMDkzXHUzMDZiXHUzMDYxXHUzMDZmIgorCisj
IEdvb2RieWUgaW4gSmFwYW5lc2UKK19VTklDT0RFX0dPT0RCWUUgPSB1Ilx1MzA1NVx1MzA4OFx1
MzA0Nlx1MzA2YVx1MzA4OSIKKworIyBFcnJvciBtZXNzYWdlCitfRVJST1JfTUVTU0FHRSA9ICJX
aGF0IGRpZCB5b3Ugc2F5PyIKKworCitkZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2Uo
cmVxdWVzdCk6CisgICAgcGFzcyAjIEFsd2F5cyBhY2NlcHQuCisKKworZGVmIHdlYl9zb2NrZXRf
dHJhbnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICBoZWxsbyA9IG1zZ3V0aWwucmVjZWl2ZV9tZXNz
YWdlKHJlcXVlc3QpCisgICAgaWYgaGVsbG8gIT0gX1VOSUNPREVfSEVMTE86CisgICAgICAgIG1z
Z3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3QsIF9FUlJPUl9NRVNTQUdFKQorICAgICAgICByZXR1
cm4KKyAgICBtc2d1dGlsLnNlbmRfbWVzc2FnZShyZXF1ZXN0LCBfVU5JQ09ERV9HT09EQllFKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdW5rbm93
bi1mcmFtZS10eXBlX3dzaC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL3Vua25vd24tZnJhbWUtdHlwZV93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmVmZjk3NDA3MjkwYTE5
OTgyOTlhMDM4M2UxMTA2NDdkN2I4NjhiZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3Vua25vd24tZnJhbWUtdHlwZV93c2gucHkKQEAg
LTAsMCArMSwxNCBAQAorZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IG1zZ3V0aWwKKworCitk
ZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgcGFzcworCisK
K2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgZm9yIGkgaW4gcmFu
Z2UoMSwgMTI4KToKKyAgICAgICAgcmVxdWVzdC5jb25uZWN0aW9uLndyaXRlKGNocihpKSArIHN0
cihpKSArICdceGZmJykKKyAgICBmb3IgaSBpbiByYW5nZSgxMjgsIDI1Nik6CisgICAgICAgIG1z
ZyA9IHN0cihpKQorICAgICAgICByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdGUoY2hyKGkpICsgY2hy
KGxlbihtc2cpKSArIG1zZykKKyAgICBtc2d1dGlsLnNlbmRfbWVzc2FnZShyZXF1ZXN0LCAnZG9u
ZScpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91
cmwtbm8tdHJhaWxpbmctc2xhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvdXJsLW5vLXRyYWlsaW5nLXNsYXNoLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43NWM5MGNmMWEzMWY2YjM4N2M1M2I0NmY4NWY5ZGU0ODc2MDQ4MDc4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLW5v
LXRyYWlsaW5nLXNsYXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitVUkwgdGhhdCBk
b2Vzbid0IGhhdmUgdHJhaWxpbmcgc2xhc2ggc2hvdWxkIG5vdCBlbWl0IGVtcHR5IFJlcXVlc3Qt
VVJJLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1dlYlNvY2tldCBpcyBvcGVuCity
ZWNlaXZlZDp3czovLzEyNy4wLjAuMTo4ODgwLworV2ViU29ja2V0IGlzIGNsb3NlZAorUEFTUyBo
YW5kc2hha2Vfc3VjY2VzcyBpcyB0cnVlCitQQVNTIHdzX2xvY2F0aW9uIGlzICJ3czovLzEyNy4w
LjAuMTo4ODgwLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy91cmwtbm8tdHJhaWxpbmctc2xhc2guaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL3VybC1uby10cmFpbGluZy1zbGFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3MmVi
M2RkNzZkY2JhYTU1Yjk4OTQ4NDIxNTFiN2YwMjg5OWY4ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtbm8tdHJhaWxpbmctc2xh
c2guaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rl
c2NyaXB0aW9uKCJVUkwgdGhhdCBkb2Vzbid0IGhhdmUgdHJhaWxpbmcgc2xhc2ggc2hvdWxkIG5v
dCBlbWl0IGVtcHR5IFJlcXVlc3QtVVJJLiIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29s
RW5hYmxlZCIsIDApOworCit2YXIgdXJsID0gIndzOi8vMTI3LjAuMC4xOjg4ODAiOwordmFyIGhh
bmRzaGFrZV9zdWNjZXNzID0gZmFsc2U7Cit2YXIgd3NfbG9jYXRpb247CisKK3ZhciB3cyA9IG5l
dyBXZWJTb2NrZXQodXJsKTsKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uICgpIHsKKyAgICBkZWJ1Zygi
V2ViU29ja2V0IGlzIG9wZW4iKTsKKyAgICBoYW5kc2hha2Vfc3VjY2VzcyA9IHRydWU7Cit9Owor
d3Mub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2dCkgeworICAgIHdzX2xvY2F0aW9uID0gZXZ0LmRh
dGE7CisgICAgZGVidWcoInJlY2VpdmVkOiIgKyB3c19sb2NhdGlvbik7CisgICAgd3MuY2xvc2Uo
KTsKK307Cit3cy5vbmNsb3NlID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJTb2NrZXQg
aXMgY2xvc2VkIik7CisgICAgc2hvdWxkQmVUcnVlKCJoYW5kc2hha2Vfc3VjY2VzcyIpOworICAg
IHNob3VsZEJlKCJ3c19sb2NhdGlvbiIsICcid3M6Ly8xMjcuMC4wLjE6ODg4MC8iJyk7CisgICAg
ZmluaXNoSlNUZXN0KCk7Cit9OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtcGFyc2luZy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtcGFyc2luZy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjdhYWIyOTlkNWJhN2NlMmFiY2VkNWIyMmM2Mjk2YzdhNjgz
ODBlZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL3VybC1wYXJzaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIzIEBACitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMDogSW52YWxpZCB1cmwgZm9yIFdlYlNvY2tldCB3czovL2phdmFzY3Jp
cHQ6YQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IEludmFsaWQgdXJsIGZvciBXZWJTb2NrZXQg
L2FwcGxldAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IFdyb25nIHVybCBzY2hlbWUgZm9yIFdl
YlNvY2tldCBqYXZhc2NyaXB0OmEKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAwOiBXZWJTb2NrZXQg
cG9ydCAyNSBibG9ja2VkCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMDogVVJMIGhhcyBmcmFnbWVu
dCBjb21wb25lbnQgd3M6Ly8xMjcuMC4wLjEvcGF0aCMKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAw
OiBVUkwgaGFzIGZyYWdtZW50IGNvbXBvbmVudCB3czovLzEyNy4wLjAuMS9wYXRoI2ZyYWdtZW50
CitUZXN0IFdlYlNvY2tldCBVUkwgcGFyc2luZy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitQQVNTIG5ldyBXZWJTb2NrZXQoIndzOi8vamF2YXNjcmlwdDphIikgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBuZXcgV2ViU29j
a2V0KCIvYXBwbGV0IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhj
ZXB0aW9uIDEyLgorUEFTUyBuZXcgV2ViU29ja2V0KCJqYXZhc2NyaXB0OmEiKSB0aHJldyBleGNl
cHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIG5ldyBXZWJT
b2NrZXQoIndzOi8vMTI3LjAuMC4xOjI1LyIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU0VDVVJJ
VFlfRVJSOiBET00gRXhjZXB0aW9uIDE4LgorUEFTUyAobmV3IFdlYlNvY2tldCgid3M6Ly8xMjcu
MC4wLjE6ODg4MC9hLy4uL3dlYnNvY2tldC90ZXN0cy9zaW1wbGUiKSkuVVJMIGlzICJ3czovLzEy
Ny4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9zaW1wbGUiCitQQVNTIChuZXcgV2ViU29ja2V0
KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9zaW1wbGU/IikpLlVSTCBpcyAi
d3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvc2ltcGxlPyIKK1BBU1MgKG5ldyBX
ZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL3NpbXBsZT9rPXYi
KSkuVVJMIGlzICJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9zaW1wbGU/az12
IgorUEFTUyBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMS9wYXRoIyIpIHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1MgbmV3IFdlYlNv
Y2tldCgid3M6Ly8xMjcuMC4wLjEvcGF0aCNmcmFnbWVudCIpIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtcGFyc2luZy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXBhcnNpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNmNm
MGE0ZTU3ZGYwYzg3MDM2M2NiNzQ4YTNmZjNlNTkyZmQ1ZjdkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXBhcnNpbmcuaHRtbApA
QCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9u
KCJUZXN0IFdlYlNvY2tldCBVUkwgcGFyc2luZy4iKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2Uo
IldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKworLy8gSW52YWxp
ZCB1cmwgd2lsbCBmYWlsIHRvIGJlIHBhcnNlZC4KK3Nob3VsZFRocm93KCduZXcgV2ViU29ja2V0
KCJ3czovL2phdmFzY3JpcHQ6YSIpJyk7CisKKy8vIENhbid0IHVzZSByZWxhdGl2ZSBVUkxzIC0g
YmVjYXVzZSBzcGVjIHNheXMgc28sIGFuZCBiZWNhdXNlIHRoZSBzY2hlbWUgaXMgZGlmZmVyZW50
IGFueXdheS4KK3Nob3VsZFRocm93KCduZXcgV2ViU29ja2V0KCIvYXBwbGV0IiknKTsKKworLy8g
Tm9uIHdzIFVSTCBpcyBub3QgYWxsb3dlZC4KK3Nob3VsZFRocm93KCduZXcgV2ViU29ja2V0KCJq
YXZhc2NyaXB0OmEiKScpOworCisvLyBVQSBpcyBhbGxvd2VkIHRvIGJsb2NrIGFjY2VzcyB0byBz
b21lIHBvcnRzLCB3aGljaCB3ZSBkby4KK3Nob3VsZFRocm93KCduZXcgV2ViU29ja2V0KCJ3czov
LzEyNy4wLjAuMToyNS8iKScpOworCisvLyBSZXNvbHZlIHRoZSB1cmwgc3RyaW5nIHVzaW5nIHRo
ZSByZXNvbHZlIGEgV2ViIGFkZHJlc3MgYWxnb3JpdGhtLgorLy8gVXNlIDEyNy4wLjAuMTo4ODgw
IGFuZCBleGlzdGluZyB3cyBoYW5kbGVyIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCByZWNlaXZlIHVu
ZXhwZWN0ZWQgcmVzcG9uc2UgKHNvIG5vIGNvbnNvbGUgbWVzc2FnZSBhcHBlYXJzKQorc2hvdWxk
QmUoJyhuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL2EvLi4vd2Vic29ja2V0L3Rl
c3RzL3NpbXBsZSIpKS5VUkwnLCAnIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3Rz
L3NpbXBsZSInKTsKK3Nob3VsZEJlKCcobmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4
MC93ZWJzb2NrZXQvdGVzdHMvc2ltcGxlPyIpKS5VUkwnLCAnIndzOi8vMTI3LjAuMC4xOjg4ODAv
d2Vic29ja2V0L3Rlc3RzL3NpbXBsZT8iJyk7CitzaG91bGRCZSgnKG5ldyBXZWJTb2NrZXQoIndz
Oi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL3NpbXBsZT9rPXYiKSkuVVJMJywgJyJ3
czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9zaW1wbGU/az12IicpOworCisvLyBk
cmFmdC1oaXhpZS10aGV3ZWJzb2NrZXRwcm90b2NvbC02MCBzYXlzIElmIC91cmwvIGhhcyBhIDxm
cmFnbWVudD4KKy8vIGNvbXBvbmVudCwgdGhlbiBmYWlsIHRoZSBwYXJzaW5nIFdlYiBTb2NrZXQg
VVJMcywgc28gdGhyb3cgYSBTWU5UQVhfRVJSCisvLyBleGNlcHRpb24uCitzaG91bGRUaHJvdygn
bmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjEvcGF0aCMiKScpOworc2hvdWxkVGhyb3coJ25l
dyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xL3BhdGgjZnJhZ21lbnQiKScpOworCit2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy91cmwtd2l0aC1jcmVkZW50aWFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL3VybC13aXRoLWNyZWRlbnRpYWwtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmRhNzlkNTI5YTdkM2Q2YmM4N2RhYzQzZjRmMWZjYjNlMWJjZDI1ZWYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtd2l0
aC1jcmVkZW50aWFsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitNYWtlIHN1cmUgaGFu
ZHNoYWtlIHdpdGggVVJMIHdpdGggY3JlZGVudGFpbCBpbmZvIHN1Y2Nlc3MuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKwordXJsPXdzOi8vdXNlcjpwYXNzQDEyNy4wLjAuMTo4ODgwL3dl
YnNvY2tldC90ZXN0cy9lY2hvLWxvY2F0aW9uCitXZWJTb2NrZXQgaXMgb3BlbgorcmVjZWl2ZWQ6
d3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvZWNoby1sb2NhdGlvbgorV2ViU29j
a2V0IGlzIGNsb3NlZAorUEFTUyBoYW5kc2hha2Vfc3VjY2VzcyBpcyB0cnVlCitQQVNTIHdzX2xv
Y2F0aW9uIGlzICJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9lY2hvLWxvY2F0
aW9uIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3VybC13
aXRoLWNyZWRlbnRpYWwuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL3VybC13aXRoLWNyZWRlbnRpYWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYzU3Y2E0ZGY4YjBkOTY2
NDAzN2RlOTIwYzUwNDBiZmE4ZGJkMzhkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXdpdGgtY3JlZGVudGlhbC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4u
L2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIk1h
a2Ugc3VyZSBoYW5kc2hha2Ugd2l0aCBVUkwgd2l0aCBjcmVkZW50YWlsIGluZm8gc3VjY2Vzcy4i
KTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2Uo
IldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwordmFyIHVybCA9
ICJ3czovL3VzZXI6cGFzc0AxMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvZWNoby1sb2Nh
dGlvbiI7Cit2YXIgaGFuZHNoYWtlX3N1Y2Nlc3MgPSBmYWxzZTsKK3ZhciB3c19sb2NhdGlvbjsK
KworZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7Cisg
ICAgc2hvdWxkQmVUcnVlKCJoYW5kc2hha2Vfc3VjY2VzcyIpOworICAgIHNob3VsZEJlKCJ3c19s
b2NhdGlvbiIsICcid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvZWNoby1sb2Nh
dGlvbiInKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworZGVidWcoInVybD0iICsgdXJsKTsK
K3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQodXJsKTsKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uICgpIHsK
KyAgICBkZWJ1ZygiV2ViU29ja2V0IGlzIG9wZW4iKTsKKyAgICBoYW5kc2hha2Vfc3VjY2VzcyA9
IHRydWU7Cit9Oword3Mub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2dCkgeworICAgIHdzX2xvY2F0
aW9uID0gZXZ0LmRhdGE7CisgICAgZGVidWcoInJlY2VpdmVkOiIgKyB3c19sb2NhdGlvbik7Cisg
ICAgd3MuY2xvc2UoKTsKK307Cit3cy5vbmNsb3NlID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVn
KCJXZWJTb2NrZXQgaXMgY2xvc2VkIik7CisgICAgZW5kVGVzdCgpOworfTsKK3ZhciB0aW1lb3V0
SUQgPSBzZXRUaW1lb3V0KCJlbmRUZXN0KCkiLCAyMDAwKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0LXJl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXdpdGgt
ZW1wdHktcXVlcnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvdXJsLXdpdGgtZW1wdHktcXVlcnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYy
Y2I5ZTNjZDE2MTk4ZmJlNDFhMzEzNDZiNTcxMjNlMzdhNmRmZmYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtd2l0aC1lbXB0eS1x
dWVyeS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorTWFrZSBzdXJlIGhhbmRzaGFrZSB3
aXRoIFVSTCB3aXRoIGVtcHR5IHF1ZXJ5IGNvbXBvbmVudHMgc3VjY2Vzcy4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCit1cmw9d3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVz
dHMvZWNoby1sb2NhdGlvbj8KK1dlYlNvY2tldCBpcyBvcGVuCityZWNlaXZlZDp3czovLzEyNy4w
LjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9lY2hvLWxvY2F0aW9uPworV2ViU29ja2V0IGlzIGNs
b3NlZAorUEFTUyBoYW5kc2hha2Vfc3VjY2VzcyBpcyB0cnVlCitQQVNTIHdzX2xvY2F0aW9uIGlz
IHVybAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3VybC13
aXRoLWVtcHR5LXF1ZXJ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy91cmwtd2l0aC1lbXB0eS1xdWVyeS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0MWZkMTNmY2VlMTFk
MTVkZjRiOGUyZWY4ZTk1NWUxMzZkNTg0NWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtd2l0aC1lbXB0eS1xdWVyeS5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
Ly4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24o
Ik1ha2Ugc3VyZSBoYW5kc2hha2Ugd2l0aCBVUkwgd2l0aCBlbXB0eSBxdWVyeSBjb21wb25lbnRz
IHN1Y2Nlc3MuIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisK
K3ZhciB1cmwgPSAid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvZWNoby1sb2Nh
dGlvbj8iOwordmFyIGhhbmRzaGFrZV9zdWNjZXNzID0gZmFsc2U7Cit2YXIgd3NfbG9jYXRpb247
CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOwor
ICAgIHNob3VsZEJlVHJ1ZSgiaGFuZHNoYWtlX3N1Y2Nlc3MiKTsKKyAgICBzaG91bGRCZSgid3Nf
bG9jYXRpb24iLCAidXJsIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2RlYnVnKCJ1cmw9
IiArIHVybCk7Cit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KHVybCk7Cit3cy5vbm9wZW4gPSBmdW5j
dGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNvY2tldCBpcyBvcGVuIik7CisgICAgaGFuZHNoYWtl
X3N1Y2Nlc3MgPSB0cnVlOworfTsKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChldnQpIHsKKyAg
ICB3c19sb2NhdGlvbiA9IGV2dC5kYXRhOworICAgIGRlYnVnKCJyZWNlaXZlZDoiICsgd3NfbG9j
YXRpb24pOworICAgIHdzLmNsb3NlKCk7Cit9Oword3Mub25jbG9zZSA9IGZ1bmN0aW9uICgpIHsK
KyAgICBkZWJ1ZygiV2ViU29ja2V0IGlzIGNsb3NlZCIpOworICAgIGVuZFRlc3QoKTsKK307Cit2
YXIgdGltZW91dElEID0gc2V0VGltZW91dCgiZW5kVGVzdCgpIiwgMjAwMCk7CisKK3ZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3VybC13aXRoLXF1ZXJ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL3VybC13aXRoLXF1ZXJ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OWU3
YzI4NzFjYjE5YmE3M2U4NTI1NDhkYWFlZDgzYWQyYWE4NzFmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXdpdGgtcXVlcnktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK01ha2Ugc3VyZSBoYW5kc2hha2Ugd2l0aCBVUkwg
d2l0aCBxdWVyeSBjb21wb25lbnRzIHN1Y2Nlc3MuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKwordXJsPXdzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2VjaG8tbG9jYXRp
b24/cT12CitXZWJTb2NrZXQgaXMgb3BlbgorcmVjZWl2ZWQ6d3M6Ly8xMjcuMC4wLjE6ODg4MC93
ZWJzb2NrZXQvdGVzdHMvZWNoby1sb2NhdGlvbj9xPXYKK1dlYlNvY2tldCBpcyBjbG9zZWQKK1BB
U1MgaGFuZHNoYWtlX3N1Y2Nlc3MgaXMgdHJ1ZQorUEFTUyB3c19sb2NhdGlvbiBpcyB1cmwKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtd2l0aC1xdWVy
eS1mb3Itbm8tcXVlcnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvdXJsLXdpdGgtcXVlcnktZm9yLW5vLXF1ZXJ5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iOWE3MTNlMTVmZTM0ODM3OGQ5ZmI3YTYxZmUxMGE0OTY4ZWJmMWE0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXdp
dGgtcXVlcnktZm9yLW5vLXF1ZXJ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMDogRXJyb3IgZHVyaW5nIFdlYlNvY2tldCBoYW5kc2hha2U6IGxv
Y2F0aW9uIG1pc21hdGNoOiB3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9uby1x
dWVyeT8gIT0gL3dlYnNvY2tldC90ZXN0cy9uby1xdWVyeQorTWFrZSBzdXJlIGhhbmRzaGFrZSB3
aXRoIFVSTCB3aXRoIHF1ZXJ5IGNvbXBvbmVudHMgZmFpbHMgYWdhaW5zdCBzZXJ2ZXIgdGhhdCBk
b2Vzbid0IHN1cHBvcnQgcXVlcnkgY29tcG9uZW50LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK3VybD13czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9uby1xdWVyeT8K
K1dlYlNvY2tldCBpcyBjbG9zZWQKK1BBU1MgaGFuZHNoYWtlX3N1Y2Nlc3MgaXMgZmFsc2UKK1BB
U1Mgd3NfbG9jYXRpb24gaXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL3VybC13aXRoLXF1ZXJ5LWZvci1uby1xdWVyeS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXdpdGgtcXVlcnktZm9yLW5v
LXF1ZXJ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTM4MTJmNjYxOTNkNDdkZTBlZDQ3YjE0ZDNmZTg3MGZh
YzM3YzczNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL3VybC13aXRoLXF1ZXJ5LWZvci1uby1xdWVyeS5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10
ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSBo
YW5kc2hha2Ugd2l0aCBVUkwgd2l0aCBxdWVyeSBjb21wb25lbnRzIGZhaWxzIGFnYWluc3Qgc2Vy
dmVyIHRoYXQgZG9lc24ndCBzdXBwb3J0IHF1ZXJ5IGNvbXBvbmVudC4iKTsKKword2luZG93Lmpz
VGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZX
ZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwordmFyIHVybCA9ICJ3czovLzEyNy4wLjAu
MTo4ODgwL3dlYnNvY2tldC90ZXN0cy9uby1xdWVyeT8iOwordmFyIGhhbmRzaGFrZV9zdWNjZXNz
ID0gZmFsc2U7Cit2YXIgd3NfbG9jYXRpb247CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAg
IGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOworICAgIHNob3VsZEJlRmFsc2UoImhhbmRzaGFrZV9z
dWNjZXNzIik7CisgICAgc2hvdWxkQmVVbmRlZmluZWQoIndzX2xvY2F0aW9uIik7CisgICAgZmlu
aXNoSlNUZXN0KCk7Cit9CisKK2RlYnVnKCJ1cmw9IiArIHVybCk7Cit2YXIgd3MgPSBuZXcgV2Vi
U29ja2V0KHVybCk7Cit3cy5vbm9wZW4gPSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNv
Y2tldCBpcyBvcGVuIik7CisgICAgaGFuZHNoYWtlX3N1Y2Nlc3MgPSB0cnVlOworfTsKK3dzLm9u
bWVzc2dlID0gZnVuY3Rpb24gKGV2dCkgeworICAgIHdzX2xvY2F0aW9uID0gZXZ0LmRhdGE7Cisg
ICAgZGVidWcoInJlY2VpdmVkOiIgKyB3c19sb2NhdGlvbik7CisgICAgd3MuY2xvc2UoKTsKK307
Cit3cy5vbmNsb3NlID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMgY2xv
c2VkIik7CisgICAgZW5kVGVzdCgpOworfTsKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0KCJl
bmRUZXN0KCkiLCAyMDAwKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXdpdGgtcXVlcnkuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3VybC13aXRoLXF1ZXJ5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZDY2MmY2MmRkOWJmMzIzNzM1YjQxZGRkOGVlZjE3NDI2NjczNTVhYQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3VybC13
aXRoLXF1ZXJ5Lmh0bWwKQEAgLTAsMCArMSw1MCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCI+CitkZXNjcmlwdGlvbigiTWFrZSBzdXJlIGhhbmRzaGFrZSB3aXRoIFVSTCB3aXRoIHF1ZXJ5
IGNvbXBvbmVudHMgc3VjY2Vzcy4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwor
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJs
ZWQiLCAwKTsKKwordmFyIHVybCA9ICJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0
cy9lY2hvLWxvY2F0aW9uP3E9diI7Cit2YXIgaGFuZHNoYWtlX3N1Y2Nlc3MgPSBmYWxzZTsKK3Zh
ciB3c19sb2NhdGlvbjsKKworZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAgY2xlYXJUaW1lb3V0
KHRpbWVvdXRJRCk7CisgICAgc2hvdWxkQmVUcnVlKCJoYW5kc2hha2Vfc3VjY2VzcyIpOworICAg
IHNob3VsZEJlKCJ3c19sb2NhdGlvbiIsICJ1cmwiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30K
KworZGVidWcoInVybD0iICsgdXJsKTsKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQodXJsKTsKK3dz
Lm9ub3BlbiA9IGZ1bmN0aW9uICgpIHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0IGlzIG9wZW4iKTsK
KyAgICBoYW5kc2hha2Vfc3VjY2VzcyA9IHRydWU7Cit9Oword3Mub25tZXNzYWdlID0gZnVuY3Rp
b24gKGV2dCkgeworICAgIHdzX2xvY2F0aW9uID0gZXZ0LmRhdGE7CisgICAgZGVidWcoInJlY2Vp
dmVkOiIgKyB3c19sb2NhdGlvbik7CisgICAgd3MuY2xvc2UoKTsKK307Cit3cy5vbmNsb3NlID0g
ZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMgY2xvc2VkIik7CisgICAgZW5k
VGVzdCgpOworfTsKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0KCJlbmRUZXN0KCkiLCAyMDAw
KTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvd2Vic29ja2V0LWV2ZW50LXRhcmdldC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93ZWJzb2NrZXQtZXZlbnQtdGFyZ2V0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNzlhNDRlZjAxOTA4MjIzODI0OTdlMDc1ZjBkZWU1
YTg1MzczODY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvd2Vic29ja2V0LWV2ZW50LXRhcmdldC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxOCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IFdlYlNvY2tldCBpcyBjbG9zZWQgYmVm
b3JlIHRoZSBjb25uZWN0aW9uIGlzIGVzdGFibGlzaGVkLgorTWFrZSBzdXJlIFdlYlNvY2tldCBv
YmplY3QgYWN0cyBhcyBFdmVudFRhcmdldC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIG9wZW5fZXZlbnRfaGFuZGxlZCBpcyBmYWxzZQorUEFTUyBtZXNzYWdlX2V2ZW50X2hh
bmRsZWQgaXMgZmFsc2UKK1BBU1MgY2xvc2VfZXZlbnRfaGFuZGxlZCBpcyBmYWxzZQorUEFTUyBv
cGVuX2V2ZW50X2hhbmRsZWQgaXMgdHJ1ZQorUEFTUyBvcGVuX2V2ZW50X2hhbmRsZWQgaXMgZmFs
c2UKK1BBU1MgbWVzc2FnZV9ldmVudF9oYW5kbGVkIGlzIHRydWUKK1BBU1MgbWVzc2FnZV9ldmVu
dF9oYW5kbGVkIGlzIGZhbHNlCitQQVNTIGNsb3NlX2V2ZW50X2hhbmRsZWQgaXMgdHJ1ZQorUEFT
UyBjbG9zZV9ldmVudF9oYW5kbGVkIGlzIGZhbHNlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd2Vic29ja2V0LWV2ZW50LXRhcmdldC5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd2Vic29ja2V0LWV2ZW50LXRhcmdldC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmNhMjA4M2QzYzhhOTczMTIzMGQ1MzY4MTk2ZWI2MjU1YTIzMDU5NjMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy93ZWJzb2NrZXQtZXZlbnQtdGFyZ2V0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiTWFrZSBzdXJlIFdlYlNvY2tldCBvYmpl
Y3QgYWN0cyBhcyBFdmVudFRhcmdldC4iKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwordmFyIHdzID0gbmV3IFdl
YlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvc2ltcGxlIik7Cit3
cy5jbG9zZSgpOyAvLyBUaGF0IGlzIG5vdCBhIHRlc3Qgd2l0aCBhIFdlYlNvY2tldCBzZXJ2ZXIs
IHByZXZlbnQgbG9nZ2luZyBhbiBlcnJvciB0byBjb25zb2xlLgordmFyIG9wZW5fZXZlbnRfaGFu
ZGxlZCA9IGZhbHNlOwordmFyIG1lc3NhZ2VfZXZlbnRfaGFuZGxlZCA9IGZhbHNlOwordmFyIGNs
b3NlX2V2ZW50X2hhbmRsZWQgPSBmYWxzZTsKK2Z1bmN0aW9uIG9wZW5MaXN0ZW5lcigpIHsKKyAg
ICBvcGVuX2V2ZW50X2hhbmRsZWQgPSB0cnVlOworfTsKK2Z1bmN0aW9uIG1lc3NhZ2VMaXN0ZW5l
cigpIHsKKyAgICBtZXNzYWdlX2V2ZW50X2hhbmRsZWQgPSB0cnVlOworfTsKK2Z1bmN0aW9uIGNs
b3NlTGlzdGVuZXIoKSB7CisgICAgY2xvc2VfZXZlbnRfaGFuZGxlZCA9IHRydWU7Cit9Cit3cy5h
ZGRFdmVudExpc3RlbmVyKCdvcGVuJywgb3Blbkxpc3RlbmVyLCBmYWxzZSk7Cit3cy5hZGRFdmVu
dExpc3RlbmVyKCdtZXNzYWdlJywgbWVzc2FnZUxpc3RlbmVyLCBmYWxzZSk7Cit3cy5hZGRFdmVu
dExpc3RlbmVyKCdjbG9zZScsIGNsb3NlTGlzdGVuZXIsIGZhbHNlKTsKKworc2hvdWxkQmUoIm9w
ZW5fZXZlbnRfaGFuZGxlZCIsICJmYWxzZSIpOworc2hvdWxkQmUoIm1lc3NhZ2VfZXZlbnRfaGFu
ZGxlZCIsICJmYWxzZSIpOworc2hvdWxkQmUoImNsb3NlX2V2ZW50X2hhbmRsZWQiLCAiZmFsc2Ui
KTsKKwordmFyIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudHMiKTsKK2V2dC5pbml0
RXZlbnQoIm9wZW4iLCB0cnVlLCBmYWxzZSk7Cit3cy5kaXNwYXRjaEV2ZW50KGV2dCk7CitzaG91
bGRCZSgib3Blbl9ldmVudF9oYW5kbGVkIiwgInRydWUiKTsKKworb3Blbl9ldmVudF9oYW5kbGVk
ID0gZmFsc2U7Cit3cy5yZW1vdmVFdmVudExpc3RlbmVyKCdvcGVuJywgb3Blbkxpc3RlbmVyKTsK
K3dzLmRpc3BhdGNoRXZlbnQoZXZ0KTsKK3Nob3VsZEJlKCJvcGVuX2V2ZW50X2hhbmRsZWQiLCAi
ZmFsc2UiKTsKKworZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoIk1lc3NhZ2VFdmVudCIpOwor
ZXZ0LmluaXRFdmVudCgibWVzc2FnZSIsIHRydWUsIGZhbHNlKTsKK3dzLmRpc3BhdGNoRXZlbnQo
ZXZ0KTsKK3Nob3VsZEJlKCJtZXNzYWdlX2V2ZW50X2hhbmRsZWQiLCAidHJ1ZSIpOworCittZXNz
YWdlX2V2ZW50X2hhbmRsZWQgPSBmYWxzZTsKK3dzLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21lc3Nh
Z2UnLCBtZXNzYWdlTGlzdGVuZXIpOword3MuZGlzcGF0Y2hFdmVudChldnQpOworc2hvdWxkQmUo
Im1lc3NhZ2VfZXZlbnRfaGFuZGxlZCIsICJmYWxzZSIpOworCitldnQgPSBkb2N1bWVudC5jcmVh
dGVFdmVudCgiRXZlbnRzIik7CitldnQuaW5pdEV2ZW50KCJjbG9zZSIsIHRydWUsIGZhbHNlKTsK
K3dzLmRpc3BhdGNoRXZlbnQoZXZ0KTsKK3Nob3VsZEJlKCJjbG9zZV9ldmVudF9oYW5kbGVkIiwg
InRydWUiKTsKKworY2xvc2VfZXZlbnRfaGFuZGxlZCA9IGZhbHNlOword3MucmVtb3ZlRXZlbnRM
aXN0ZW5lcignY2xvc2UnLCBjbG9zZUxpc3RlbmVyKTsKK3dzLmRpc3BhdGNoRXZlbnQoZXZ0KTsK
K3Nob3VsZEJlKCJjbG9zZV9ldmVudF9oYW5kbGVkIiwgImZhbHNlIik7CisKK3ZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMt
dGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dl
YnNvY2tldC1wZW5kaW5nLWFjdGl2aXR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dlYnNvY2tldC1wZW5kaW5nLWFjdGl2aXR5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43MzQwYmMwMWFlYTYyZmE5MDBhMGNiMTMyN2EyOTJiOGJkODZhYjY5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvd2Vic29ja2V0LXBlbmRpbmctYWN0aXZpdHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBA
QAorQUxFUlQ6IFBBU1MKK1Nob3VsZCBhbGVydCAiUEFTUyIuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93ZWJzb2NrZXQtcGVuZGluZy1hY3Rpdml0
eS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd2Vic29ja2V0
LXBlbmRpbmctYWN0aXZpdHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOGVhNmZmZGQ2Y2ZhNDU4ZTVkMzk3
MDEzZTdlNzYxYmJkYzUyZWJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd2Vic29ja2V0LXBlbmRpbmctYWN0aXZpdHkuaHRtbApAQCAt
MCwwICsxLDM0IEBACis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8cD5TaG91bGQgYWxlcnQgIlBB
U1MiLjwvcD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Cisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlk
ZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsK
K30KKworZnVuY3Rpb24gZ2MoKQoreworICAgIGlmICh3aW5kb3cuR0NDb250cm9sbGVyKQorICAg
ICAgICByZXR1cm4gR0NDb250cm9sbGVyLmNvbGxlY3QoKTsKKworICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgMTAwMDA7IGkrKykgeyAvLyA+IGZvcmNlIGdhcmJhZ2UgY29sbGVjdGlvbiAoRkYgcmVx
dWlyZXMgYWJvdXQgOUsgYWxsb2NhdGlvbnMgYmVmb3JlIGEgY29sbGVjdCkKKyAgICAgICAgdmFy
IHMgPSBuZXcgU3RyaW5nKCJhYmMiKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQorewor
ICAgIHZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0
L3Rlc3RzL2VjaG8iKTsKKyAgICB3cy5vbm9wZW4gPSBmdW5jdGlvbigpIHsKKyAgICAgICAgdGhp
cy5zZW5kKCJQQVNTIik7CisgICAgfQorICAgIHdzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1zZykg
eworICAgICAgICBhbGVydChtc2cuZGF0YSk7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7CisgICAgfQorICAgIHdzID0gbnVsbDsKKyAgICBnYygpOworfQorPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93ZWJzb2NrZXQt
cHJvdG9jb2wtaWdub3JlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy93ZWJzb2NrZXQtcHJvdG9jb2wtaWdub3JlZC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNGRlNmQ3MWE0NGNmYTRhMTQ2NGQwODgzMjI3ODJkOTYyZmRiMjkyNwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dlYnNv
Y2tldC1wcm90b2NvbC1pZ25vcmVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0
IFdlYlNvY2tldCBoYW5kc2hha2Ugc3VjY2VzcyB3aXRob3V0IHByb3RvY29sIGFuZCBpZ25vcmUg
V2ViU29ja2V0LVByb3RvY29sIGZyb20gc2VydmVyLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK0Nvbm5lY3RlZAorUEFTUyBwcm90b2NvbCBpcyAic3ViLXByb3RvY29sIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dlYnNvY2tldC1wcm90b2Nv
bC1pZ25vcmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93
ZWJzb2NrZXQtcHJvdG9jb2wtaWdub3JlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1ZDcxODFhN2IwNGY0
YjIzYTE2ODhiMmM5ZmFkMTcwOWJmNTQxNmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93ZWJzb2NrZXQtcHJvdG9jb2wtaWdub3JlZC5o
dG1sCkBAIC0wLDAgKzEsNTcgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3Jp
cHRpb24oIlRlc3QgV2ViU29ja2V0IGhhbmRzaGFrZSBzdWNjZXNzIHdpdGhvdXQgcHJvdG9jb2wg
YW5kIGlnbm9yZSBXZWJTb2NrZXQtUHJvdG9jb2wgZnJvbSBzZXJ2ZXIuIik7CisKK3dpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2
V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK3ZhciBwcm90b2NvbDsKKworZnVuY3Rp
b24gZW5kVGVzdCgpCit7CisgICAgc2hvdWxkQmUoInByb3RvY29sIiwgJyJzdWItcHJvdG9jb2wi
Jyk7CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9
CisKK3ZhciB1cmwgPSAid3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvcHJvdG9j
b2wtdGVzdD9wcm90b2NvbD1zdWItcHJvdG9jb2wiOwordmFyIHdzID0gbmV3IFdlYlNvY2tldCh1
cmwpOworCit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIkNvbm5lY3RlZCIp
OworfTsKKword3Mub25tZXNzYWdlID0gZnVuY3Rpb24gKG1lc3NhZ2VFdmVudCkKK3sKKyAgICBw
cm90b2NvbCA9IG1lc3NhZ2VFdmVudC5kYXRhOworICAgIHdzLmNsb3NlKCk7Cit9OworCit3cy5v
bmNsb3NlID0gZnVuY3Rpb24oKQoreworICAgIGVuZFRlc3QoKTsKK307CisKK2Z1bmN0aW9uIHRp
bWVPdXRDYWxsYmFjaygpCit7CisgICAgZGVidWcoIlRpbWVkIG91dCBpbiBzdGF0ZTogIiArIHdz
LnJlYWR5U3RhdGUpOworICAgIGVuZFRlc3QoKTsKK30KKwordmFyIHRpbWVvdXRJRCA9IHNldFRp
bWVvdXQodGltZU91dENhbGxiYWNrLCAzMDAwKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy9jbG9zZS1p
bi1vbm1lc3NhZ2UtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy9jbG9zZS1pbi1vbm1lc3NhZ2UtY3Jhc2gtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmRkYTIzODdjZDg4MmEzMTIzMzk2OTM2Njk3ZjNiM2U2NzA5Yzg4ZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy93b3JrZXJzL2Nsb3NlLWluLW9ubWVzc2FnZS1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMSBAQAorTmVzdGVkIGNyZWF0aW9uIG9mIHR3byBXZWJTb2NrZXRzIHNob3VsZCBub3QgY2F1
c2UgYSBjcmFzaC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTOiB3b3JrZXI6
IFBhcnNlZCBzdWNjZXNzZnVsbHkuCitQQVNTOiB3b3JrZXI6IENvbm5lY3RlZC4KK1BBU1M6IHdv
cmtlcjogUmVjZWl2ZWQgbWVzc2FnZTogIkhlbGxvIGZyb20gU2ltcGxlIFdTSC4iCitQQVNTOiB3
b3JrZXI6IENsb3NlZC4KK0RPTkUKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy9jbG9zZS1pbi1vbm1lc3Nh
Z2UtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dv
cmtlcnMvY2xvc2UtaW4tb25tZXNzYWdlLWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjgwNTk0OWEz
MTQ4ZDNlMDA3NWIxY2I1NWJmODEyODEzNmMwMWQ1MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvY2xvc2UtaW4tb25tZXNz
YWdlLWNyYXNoLmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD48L2hlYWQ+Cis8Ym9keT4KKzxw
Pk5lc3RlZCBjcmVhdGlvbiBvZiB0d28gV2ViU29ja2V0cyBzaG91bGQgbm90IGNhdXNlIGEgY3Jh
c2guPC9wPgorPHA+PC9wPgorPHA+T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLjwvcD4KKzxwcmUg
aWQ9bG9nPgorPC9wcmU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
b3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVk
IiwgMCk7Cit9CisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQoreworICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJsb2ciKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICJcbiI7Cit9CisKK2Z1bmN0
aW9uIGVuZFRlc3QoKQoreworICAgIGxvZygiVEVTVCBDT01QTEVURSIpOworICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5v
dGlmeURvbmUoKTsKK30KK3ZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCdyZXNvdXJjZXMvY2xvc2Ut
aW4tb25tZXNzYWdlLWNyYXNoLmpzJyk7Cit3b3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2
dCkgeworICAgIGxvZyhldnQuZGF0YSk7CisgICAgaWYgKGV2dC5kYXRhID09ICJET05FIikKKyAg
ICAgICAgZW5kVGVzdCgpOworfTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy9jbG9z
ZS1pbi1zaGFyZWQtd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvY2xvc2UtaW4tc2hhcmVkLXdvcmtlci1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMWFjMzNlZTU2NDMzYjU5MjFmY2JmMTU5ZmNmOWJhYzdhZTFiZWVlNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3dvcmtlcnMvY2xvc2UtaW4tc2hhcmVkLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MiBAQAorVGVzdCBmb3IgV2ViIFNvY2tldCBjbG9zZSBpbiBTaGFyZWRXb3JrZXIuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUzogd29ya2VyOiBpbml0CitQQVNTOiB3b3JrZXI6
IFdlYlNvY2tldCBleGlzdHMKK1BBU1M6IHdvcmtlcjogc3VjY2Vzc2Z1bGx5UGFyc2VkOltvYmpl
Y3QgV2ViU29ja2V0XQorUEFTUzogd29ya2VyOiBDb25uZWN0ZWQuCitQQVNTOiB3b3JrZXI6IENs
b3NlZC4KK0RPTkUKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy9jbG9zZS1pbi1zaGFyZWQtd29ya2VyLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3JrZXJzL2Nsb3Nl
LWluLXNoYXJlZC13b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZTgzNTIwNzNmN2UyMzg1ODMxZmE3
YjlkZTE2NjA3ZDY5YWFiY2E5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy9jbG9zZS1pbi1zaGFyZWQtd29ya2VyLmh0bWwK
QEAgLTAsMCArMSwzNiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD48L2hlYWQ+Cis8Ym9keT4KKzxwPlRlc3QgZm9yIFdlYiBT
b2NrZXQgY2xvc2UgaW4gU2hhcmVkV29ya2VyLjwvcD4KKzxwPjwvcD4KKzxwPk9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi48L3A+Cis8cHJlIGlkPWxvZz4KKzwvcHJlPgorPHNjcmlwdD4KK2lmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3
NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworfQorCitmdW5jdGlvbiBsb2cobWVzc2Fn
ZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9nIikuaW5uZXJIVE1MICs9IG1l
c3NhZ2UgKyAiXG4iOworfQorCitmdW5jdGlvbiBlbmRUZXN0KCkKK3sKKyAgICBsb2coIlRFU1Qg
Q09NUExFVEUiKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9Cit2YXIgd29ya2VyID0gbmV3
IFNoYXJlZFdvcmtlcigncmVzb3VyY2VzL2Nsb3NlLWluLXdvcmtlci5qcycsICd3ZWJzb2NrZXRD
bG9zZUluV29ya2VyJyk7Cit3b3JrZXIucG9ydC5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZXZ0KSB7
CisgICAgbG9nKGV2dC5kYXRhKTsKKyAgICBpZiAoZXZ0LmRhdGEgPT0gIkRPTkUiKQorICAgICAg
ICBlbmRUZXN0KCk7Cit9OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3JrZXJzL2Nsb3NlLWlu
LXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy93b3JrZXJzL2Nsb3NlLWluLXdvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I5
ZjkwNWIwZjVmOGQxYWE0NzVmM2Q5MWJkYTkwNjZlYWZlZmJkNwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvY2xvc2UtaW4t
d29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUZXN0IGZvciBXZWIgU29ja2V0
IGNsb3NlIGluIFdvcmtlci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTOiB3
b3JrZXI6IGluaXQKK1BBU1M6IHdvcmtlcjogV2ViU29ja2V0IGV4aXN0cworUEFTUzogd29ya2Vy
OiBzdWNjZXNzZnVsbHlQYXJzZWQ6W29iamVjdCBXZWJTb2NrZXRdCitQQVNTOiB3b3JrZXI6IENv
bm5lY3RlZC4KK1BBU1M6IHdvcmtlcjogQ2xvc2VkLgorRE9ORQorVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3JrZXJz
L2Nsb3NlLWluLXdvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvd29ya2Vycy9jbG9zZS1pbi13b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jY2YzNDJhYzM2
N2RiNTllMjBjODhhNjAxYmY5MjkzMjRjZjUzNDIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy9jbG9zZS1pbi13b3JrZXIu
aHRtbApAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPjwvaGVhZD4KKzxib2R5PgorPHA+VGVzdCBmb3Ig
V2ViIFNvY2tldCBjbG9zZSBpbiBXb3JrZXIuPC9wPgorPHA+PC9wPgorPHA+T24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLjwvcD4KKzxwcmUgaWQ9bG9nPgorPC9wcmU+Cis8c2NyaXB0PgoraWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Cisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2
V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7Cit9CisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdl
KQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2ciKS5pbm5lckhUTUwgKz0gbWVz
c2FnZSArICJcbiI7Cit9CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIGxvZygiVEVTVCBD
T01QTEVURSIpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KK3ZhciB3b3JrZXIgPSBuZXcg
V29ya2VyKCdyZXNvdXJjZXMvY2xvc2UtaW4td29ya2VyLmpzJyk7Cit3b3JrZXIub25tZXNzYWdl
ID0gZnVuY3Rpb24gKGV2dCkgeworICAgIGxvZyhldnQuZGF0YSk7CisgICAgaWYgKGV2dC5kYXRh
ID09ICJET05FIikKKyAgICAgICAgZW5kVGVzdCgpOworfTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvd29ya2Vycy9yZXNvdXJjZXMvY2xvc2UtaW4tb25tZXNzYWdlLWNyYXNoLmpzIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy9yZXNvdXJjZXMvY2xvc2Ut
aW4tb25tZXNzYWdlLWNyYXNoLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2OTRkMGY4YTU5NjFiOWRlNWZlOTNl
MjFiZTZjMzFmNTgxNTM0MDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy93b3JrZXJzL3Jlc291cmNlcy9jbG9zZS1pbi1vbm1lc3NhZ2Ut
Y3Jhc2guanMKQEAgLTAsMCArMSwzMCBAQAorZnVuY3Rpb24gcnVuVGVzdHMoKQoreworICAgIHRy
eSB7CisgICAgICAgIHZhciB1cmwgPSAnd3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVz
dHMvd29ya2Vycy9yZXNvdXJjZXMvc2ltcGxlJzsKKyAgICAgICAgdmFyIHdzID0gbmV3IFdlYlNv
Y2tldCh1cmwpOworCisgICAgICAgIHdzLm9ub3BlbiA9IGZ1bmN0aW9uKCkKKyAgICAgICAgewor
ICAgICAgICAgICAgcG9zdE1lc3NhZ2UoJ1BBU1M6IHdvcmtlcjogQ29ubmVjdGVkLicpOworICAg
ICAgICB9OworCisgICAgICAgIHdzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2VFdmVudCkK
KyAgICAgICAgeworICAgICAgICAgICAgcG9zdE1lc3NhZ2UoJ1BBU1M6IHdvcmtlcjogUmVjZWl2
ZWQgbWVzc2FnZTogIicgKyBtZXNzYWdlRXZlbnQuZGF0YSArICciJyk7CisgICAgICAgICAgICB3
cy5jbG9zZSgpOworICAgICAgICB9OworCisgICAgICAgIHdzLm9uY2xvc2UgPSBmdW5jdGlvbigp
CisgICAgICAgIHsKKyAgICAgICAgICAgIHBvc3RNZXNzYWdlKCdQQVNTOiB3b3JrZXI6IENsb3Nl
ZC4nKTsKKyAgICAgICAgICAgIHBvc3RNZXNzYWdlKCdET05FJyk7CisgICAgICAgIH07CisgICAg
fSBjYXRjaCAoZSkgeworICAgICAgICBwb3N0TWVzc2FnZSgnRkFJTDogd29ya2VyOiBVbmV4cGVj
dGVkIGV4Y2VwdGlvbjogJyArIGUpOworICAgIH0gZmluYWxseSB7CisgICAgICAgIHBvc3RNZXNz
YWdlKCdQQVNTOiB3b3JrZXI6IFBhcnNlZCBzdWNjZXNzZnVsbHkuJyk7CisgICAgfQorfQorCity
dW5UZXN0cygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvd29ya2Vycy9yZXNvdXJjZXMvY2xvc2UtaW4td29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy9yZXNvdXJjZXMvY2xvc2UtaW4td29y
a2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjRlNjgwODVhMjg5YTJlNDUzZjkyMjg1NTU2MjMyMDgzOGJkYzFh
NjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy93b3JrZXJzL3Jlc291cmNlcy9jbG9zZS1pbi13b3JrZXIuanMKQEAgLTAsMCArMSwzNiBA
QAoraWYgKHNlbGYucG9zdE1lc3NhZ2UpCisgICAgcnVuVGVzdHMoKTsKK2Vsc2UKKyAgICBvbmNv
bm5lY3QgPSBoYW5kbGVDb25uZWN0OworCitmdW5jdGlvbiBoYW5kbGVDb25uZWN0KGV2ZW50KQor
eworICAgIC8vIEZvciBzaGFyZWQgd29ya2VycywgY3JlYXRlIGEgZmF1eCBwb3N0TWVzc2FnZSgp
IEFQSSB0byBzZW5kIG1lc3NhZ2UgYmFjayB0byB0aGUgcGFyZW50IHBhZ2UuCisgICAgc2VsZi5w
b3N0TWVzc2FnZSA9IGZ1bmN0aW9uIChtZXNzYWdlKSB7IGV2ZW50LnBvcnRzWzBdLnBvc3RNZXNz
YWdlKG1lc3NhZ2UpOyB9OworICAgIHJ1blRlc3RzKCk7Cit9OworCitmdW5jdGlvbiBydW5UZXN0
cygpCit7CisgICAgdmFyIHdzOworICAgIHRyeSB7CisgICAgICAgIHBvc3RNZXNzYWdlKCJQQVNT
OiB3b3JrZXI6IGluaXQiKTsKKyAgICAgICAgaWYgKCdXZWJTb2NrZXQnIGluIHNlbGYpCisgICAg
ICAgICAgICBwb3N0TWVzc2FnZSgiUEFTUzogd29ya2VyOiBXZWJTb2NrZXQgZXhpc3RzIik7Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIHBvc3RNZXNzYWdlKCJGQUlMOiB3b3JrZXI6IG5vIFdl
YlNvY2tldCIpOworICAgICAgICB3cyA9IG5ldyBXZWJTb2NrZXQoJ3dzOi8vbG9jYWxob3N0Ojg4
ODAvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvcmVzb3VyY2VzL2VjaG8nKTsKKyAgICAgICAgd3Mu
b25vcGVuID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBwb3N0TWVzc2FnZSgiUEFTUzogd29y
a2VyOiBDb25uZWN0ZWQuIik7CisgICAgICAgICAgICB3cy5jbG9zZSgpOworICAgICAgICB9Owor
ICAgICAgICB3cy5vbmNsb3NlID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBwb3N0TWVzc2Fn
ZSgiUEFTUzogd29ya2VyOiBDbG9zZWQuIik7CisgICAgICAgICAgICBwb3N0TWVzc2FnZSgiRE9O
RSIpOworICAgICAgICB9OworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgcG9zdE1lc3NhZ2Uo
IkZBSUw6IHdvcmtlcjogVW5leHBlY3RlZCBleGNlcHRpb246ICIgKyBlKTsKKyAgICB9IGZpbmFs
bHkgeworICAgICAgICBwb3N0TWVzc2FnZSgiUEFTUzogd29ya2VyOiBzdWNjZXNzZnVsbHlQYXJz
ZWQ6IiArIHdzKTsKKyAgICB9Cit9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy9yZXNvdXJjZXMvZWNoby1jaGFsbGVuZ2Vfd3NoLnB5
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy9yZXNvdXJj
ZXMvZWNoby1jaGFsbGVuZ2Vfd3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5MGQ0NDE1MDljYTMwNDM0ZWFi
ZTNkYzQ1NDMwNjE2ZjViMzNjYmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3JrZXJzL3Jlc291cmNlcy9lY2hvLWNoYWxsZW5nZV93
c2gucHkKQEAgLTAsMCArMSwxMyBAQAorZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IG1zZ3V0
aWwKKworCitkZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAg
cGFzcworCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgbXNn
dXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwgX2hleGlmeShyZXF1ZXN0LndzX2NoYWxsZW5nZSkp
CisKKworZGVmIF9oZXhpZnkoYnl0ZXMpOgorICAgIHJldHVybiAnOicuam9pbihbJyUwMlgnICUg
b3JkKGJ5dGUpIGZvciBieXRlIGluIGJ5dGVzXSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvcmVzb3VyY2VzL2VjaG9fd3NoLnB5IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy9yZXNvdXJjZXMv
ZWNob193c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDI5ZjU4MTg2ZTNmY2U0M2RjMjFlODFlMGY5ZDdlMjBj
N2UwYmY3MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL3dvcmtlcnMvcmVzb3VyY2VzL2VjaG9fd3NoLnB5CkBAIC0wLDAgKzEsNDYgQEAK
KyMgQ29weXJpZ2h0IDIwMTAsIEdvb2dsZSBJbmMuCisjIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisj
CisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24u
CisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorCisKK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBtc2d1dGls
CisKKworX0dPT0RCWUVfTUVTU0FHRSA9ICdHb29kYnllJworCisKK2RlZiB3ZWJfc29ja2V0X2Rv
X2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICBwYXNzICAjIEFsd2F5cyBhY2NlcHQuCisK
KworZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICB3aGlsZSBUcnVl
OgorICAgICAgICBsaW5lID0gbXNndXRpbC5yZWNlaXZlX21lc3NhZ2UocmVxdWVzdCkKKyAgICAg
ICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwgbGluZSkKKyAgICAgICAgaWYgbGluZSA9
PSBfR09PREJZRV9NRVNTQUdFOgorICAgICAgICAgICAgcmV0dXJuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3JrZXJzL3Jlc291cmNlcy9zaW1w
bGVfd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vy
cy9yZXNvdXJjZXMvc2ltcGxlX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYzAyNzFjNWY3YTlmNTQ3ZjUy
ZmJjMDVjZmQzMDRiM2I1ZGYwMzJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy9yZXNvdXJjZXMvc2ltcGxlX3dzaC5weQpA
QCAtMCwwICsxLDM4IEBACisjIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6Cisj
CisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitmcm9tIG1vZF9weXdlYnNvY2tl
dCBpbXBvcnQgbXNndXRpbAorCisKK2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShy
ZXF1ZXN0KToKKyAgICBwYXNzICMgQWx3YXlzIGFjY2VwdC4KKworCitkZWYgd2ViX3NvY2tldF90
cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3Qs
ICdIZWxsbyBmcm9tIFNpbXBsZSBXU0guJykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtlci1oYW5kc2hha2Ut
Y2hhbGxlbmdlLXJhbmRvbW5lc3MuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItaGFuZHNoYWtlLWNoYWxsZW5nZS1yYW5k
b21uZXNzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2OGFkOTU4MjgwN2M0NGFkNzhmYzU1ZDFmMjU3YWI4OTI2
ZDI4NGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItaGFuZHNoYWtlLWNoYWxsZW5nZS1yYW5k
b21uZXNzLmpzCkBAIC0wLDAgKzEsNDggQEAKK3ZhciBjaGFsbGVuZ2UxOwordmFyIGNoYWxsZW5n
ZTI7CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIGlmIChjaGFsbGVuZ2UxID09PSBjaGFs
bGVuZ2UyKQorICAgICAgICBwb3N0TWVzc2FnZSgnRkFJTDogd29ya2VyOiBjaGFsbGVuZ2UxID09
PSBjaGFsbGVuZ2UyIChjaGFsbGVuZ2Ugd2FzICcgKyBjaGFsbGVuZ2UxICsgJyknKTsKKyAgICBl
bHNlCisgICAgICAgIHBvc3RNZXNzYWdlKCdQQVNTOiB3b3JrZXI6IGNoYWxsZW5nZTEgIT09IGNo
YWxsZW5nZTInKTsKKworICAgIHBvc3RNZXNzYWdlKCdET05FJyk7Cit9CisKK2Z1bmN0aW9uIHJ1
blRlc3RzKCkKK3sKKyAgICB0cnkgeworICAgICAgICB2YXIgdXJsID0gJ3dzOi8vbG9jYWxob3N0
Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvcmVzb3VyY2VzL2VjaG8tY2hhbGxlbmdlJzsK
KyAgICAgICAgdmFyIHdzMSA9IG5ldyBXZWJTb2NrZXQodXJsKTsKKworICAgICAgICB3czEub25t
ZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZUV2ZW50KQorICAgICAgICB7CisgICAgICAgICAgICBj
aGFsbGVuZ2UxID0gbWVzc2FnZUV2ZW50LmRhdGE7CisgICAgICAgICAgICB3czEuY2xvc2UoKTsK
KyAgICAgICAgfQorCisgICAgICAgIHdzMS5vbmNsb3NlID0gZnVuY3Rpb24oKQorICAgICAgICB7
CisgICAgICAgICAgICB2YXIgd3MyID0gbmV3IFdlYlNvY2tldCh1cmwpOworCisgICAgICAgICAg
ICB3czIub25tZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZUV2ZW50KQorICAgICAgICAgICAgewor
ICAgICAgICAgICAgICAgIGNoYWxsZW5nZTIgPSBtZXNzYWdlRXZlbnQuZGF0YTsKKyAgICAgICAg
ICAgICAgICB3czIuY2xvc2UoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgd3MyLm9u
Y2xvc2UgPSBmdW5jdGlvbigpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZW5kVGVz
dCgpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSBjYXRjaCAoZSkgeworICAgICAg
ICBwb3N0TWVzc2FnZSgnRkFJTDogd29ya2VyOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbjogJyArIGUp
OworICAgIH0gZmluYWxseSB7CisgICAgICAgIHBvc3RNZXNzYWdlKCdQQVNTOiB3b3JrZXI6IFBh
cnNlZCBzdWNjZXNzZnVsbHkuJyk7CisgICAgfQorfQorCitydW5UZXN0cygpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy9yZXNvdXJj
ZXMvd29ya2VyLXNpbXBsZS5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtlci1zaW1wbGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTNkYWZm
YmVlODcxYjkwZTA4ODFmMGNhMjdkZWVlMDI1ODhiZGI0NQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvcmVzb3VyY2VzL3dv
cmtlci1zaW1wbGUuanMKQEAgLTAsMCArMSwzOCBAQAoraWYgKHNlbGYucG9zdE1lc3NhZ2UpCisg
ICAgcnVuVGVzdHMoKTsKK2Vsc2UKKyAgICBvbmNvbm5lY3QgPSBoYW5kbGVDb25uZWN0OworCitm
dW5jdGlvbiBoYW5kbGVDb25uZWN0KGV2ZW50KQoreworICAgIC8vIEZvciBzaGFyZWQgd29ya2Vy
cywgY3JlYXRlIGEgZmF1eCBwb3N0TWVzc2FnZSgpIEFQSSB0byBzZW5kIG1lc3NhZ2UgYmFjayB0
byB0aGUgcGFyZW50IHBhZ2UuCisgICAgc2VsZi5wb3N0TWVzc2FnZSA9IGZ1bmN0aW9uIChtZXNz
YWdlKSB7IGV2ZW50LnBvcnRzWzBdLnBvc3RNZXNzYWdlKG1lc3NhZ2UpOyB9OworICAgIHJ1blRl
c3RzKCk7Cit9OworCitmdW5jdGlvbiBydW5UZXN0cygpCit7CisgICAgdmFyIHdzOworICAgIHRy
eSB7CisgICAgICAgIHBvc3RNZXNzYWdlKCJQQVNTOiB3b3JrZXI6IGluaXQiKTsKKyAgICAgICAg
aWYgKCdXZWJTb2NrZXQnIGluIHNlbGYpCisgICAgICAgICAgICBwb3N0TWVzc2FnZSgiUEFTUzog
d29ya2VyOiBXZWJTb2NrZXQgZXhpc3RzIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHBv
c3RNZXNzYWdlKCJQQVNTOiB3b3JrZXI6IG5vIFdlYlNvY2tldCIpOworICAgICAgICB3cyA9IG5l
dyBXZWJTb2NrZXQoJ3dzOi8vbG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMv
cmVzb3VyY2VzL3NpbXBsZScpOworICAgICAgICB3cy5vbm9wZW4gPSBmdW5jdGlvbigpIHsKKyAg
ICAgICAgICAgIHBvc3RNZXNzYWdlKCJQQVNTOiB3b3JrZXI6IENvbm5lY3RlZC4iKTsKKyAgICAg
ICAgfTsKKyAgICAgICAgd3Mub25tZXNzYWdlID0gZnVuY3Rpb24oZXZ0KSB7CisgICAgICAgICAg
ICBwb3N0TWVzc2FnZSgiUEFTUzogd29ya2VyOiBSZWNlaXZlZDogJyIgKyBldnQuZGF0YSArICIn
Iik7CisgICAgICAgIH07CisgICAgICAgIHdzLm9uY2xvc2UgPSBmdW5jdGlvbigpIHsKKyAgICAg
ICAgICAgIHBvc3RNZXNzYWdlKCJQQVNTOiB3b3JrZXI6IENsb3NlZC4iKTsKKyAgICAgICAgICAg
IHBvc3RNZXNzYWdlKCJET05FIik7CisgICAgICAgIH07CisgICAgfSBjYXRjaCAoZSkgeworICAg
ICAgICBwb3N0TWVzc2FnZSgiRkFJTDogd29ya2VyOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbjogIiAr
IGUpOworICAgIH0gZmluYWxseSB7CisgICAgICAgIHBvc3RNZXNzYWdlKCJQQVNTOiB3b3JrZXI6
IHN1Y2Nlc3NmdWxseVBhcnNlZDoiICsgd3MpOworICAgIH0KK307CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3JrZXJzL3NoYXJlZC13b3JrZXIt
c2ltcGxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL3dvcmtlcnMvc2hhcmVkLXdvcmtlci1zaW1wbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljg2YjZiZGMyNjI0OWY3MGFmYzM5Mzk3MjM0NDgwZWRlMGE0MTdkNzIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3JrZXJzL3NoYXJl
ZC13b3JrZXItc2ltcGxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUZXN0IGZvciBX
ZWIgU29ja2V0IGluIFNoYXJlZFdvcmtlci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTOiB3b3JrZXI6IGluaXQKK1BBU1M6IHdvcmtlcjogV2ViU29ja2V0IGV4aXN0cworUEFT
Uzogd29ya2VyOiBzdWNjZXNzZnVsbHlQYXJzZWQ6W29iamVjdCBXZWJTb2NrZXRdCitQQVNTOiB3
b3JrZXI6IENvbm5lY3RlZC4KK1BBU1M6IHdvcmtlcjogUmVjZWl2ZWQ6ICdIZWxsbyBmcm9tIFNp
bXBsZSBXU0guJworUEFTUzogd29ya2VyOiBDbG9zZWQuCitET05FCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dvcmtl
cnMvc2hhcmVkLXdvcmtlci1zaW1wbGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL3dvcmtlcnMvc2hhcmVkLXdvcmtlci1zaW1wbGUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41YmQ2ZWQ5YmU1MGIwN2I3MWFkNTEyZDRhMjEwNjIzOTA4MTg4ZmIxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy9zaGFy
ZWQtd29ya2VyLXNpbXBsZS5odG1sCkBAIC0wLDAgKzEsMzYgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+PC9oZWFkPgorPGJv
ZHk+Cis8cD5UZXN0IGZvciBXZWIgU29ja2V0IGluIFNoYXJlZFdvcmtlci48L3A+Cis8cD48L3A+
Cis8cD5PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuPC9wPgorPHByZSBpZD1sb2c+Cis8L3ByZT4K
KzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndh
aXRVbnRpbERvbmUoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVu
Y2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKK30KKworZnVu
Y3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZyIp
LmlubmVySFRNTCArPSBtZXNzYWdlICsgIlxuIjsKK30KKworZnVuY3Rpb24gZW5kVGVzdCgpCit7
CisgICAgbG9nKCJURVNUIENPTVBMRVRFIik7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQor
dmFyIHdvcmtlciA9IG5ldyBTaGFyZWRXb3JrZXIoJ3Jlc291cmNlcy93b3JrZXItc2ltcGxlLmpz
JywgJ3dlYnNvY2tldFNpbXBsZScpOword29ya2VyLnBvcnQub25tZXNzYWdlID0gZnVuY3Rpb24g
KGV2dCkgeworICAgIGxvZyhldnQuZGF0YSk7CisgICAgaWYgKGV2dC5kYXRhID09ICJET05FIikK
KyAgICAgICAgZW5kVGVzdCgpOworfTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy93
b3JrZXItaGFuZHNoYWtlLWNoYWxsZW5nZS1yYW5kb21uZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvd29ya2VyLWhhbmRzaGFr
ZS1jaGFsbGVuZ2UtcmFuZG9tbmVzcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMThjOTg4MDli
NWU1MmU4MTlkZWNhNGIxNDUwNzZiMGNlY2MwODE4YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvd29ya2VyLWhhbmRzaGFr
ZS1jaGFsbGVuZ2UtcmFuZG9tbmVzcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitIYW5k
c2hha2UgcmVxdWVzdCBzaG91bGQgY29udGFpbiByYW5kb20gY2hhbGxlbmdlIHZhbHVlcyAoaW4g
YSB3b3JrZXIgcHJvY2VzcykuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUzog
d29ya2VyOiBQYXJzZWQgc3VjY2Vzc2Z1bGx5LgorUEFTUzogd29ya2VyOiBjaGFsbGVuZ2UxICE9
PSBjaGFsbGVuZ2UyCitET05FCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvd29ya2VyLWhhbmRzaGFrZS1j
aGFsbGVuZ2UtcmFuZG9tbmVzcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvd29ya2Vycy93b3JrZXItaGFuZHNoYWtlLWNoYWxsZW5nZS1yYW5kb21uZXNzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTE0YmYxMDY5YmExMGJkNjM2ZGQzZTRlMTA0OWNlZDk0NGVlOTQyZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3dvcmtlcnMvd29ya2VyLWhhbmRzaGFrZS1jaGFsbGVuZ2UtcmFuZG9tbmVzcy5odG1sCkBAIC0w
LDAgKzEsMzYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+PC9oZWFkPgorPGJvZHk+Cis8cD5IYW5kc2hha2UgcmVxdWVzdCBz
aG91bGQgY29udGFpbiByYW5kb20gY2hhbGxlbmdlIHZhbHVlcyAoaW4gYSB3b3JrZXIgcHJvY2Vz
cykuPC9wPgorPHA+PC9wPgorPHA+T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLjwvcD4KKzxwcmUg
aWQ9bG9nPgorPC9wcmU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
b3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVk
IiwgMCk7Cit9CisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQoreworICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJsb2ciKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICJcbiI7Cit9CisKK2Z1bmN0
aW9uIGVuZFRlc3QoKQoreworICAgIGxvZygiVEVTVCBDT01QTEVURSIpOworICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5v
dGlmeURvbmUoKTsKK30KK3ZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCdyZXNvdXJjZXMvd29ya2Vy
LWhhbmRzaGFrZS1jaGFsbGVuZ2UtcmFuZG9tbmVzcy5qcycpOword29ya2VyLm9ubWVzc2FnZSA9
IGZ1bmN0aW9uIChldnQpIHsKKyAgICBsb2coZXZ0LmRhdGEpOworICAgIGlmIChldnQuZGF0YSA9
PSAiRE9ORSIpCisgICAgICAgIGVuZFRlc3QoKTsKK307Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3dvcmtlcnMvd29ya2VyLXNpbXBsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy93b3JrZXJzL3dvcmtlci1zaW1wbGUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjE2NWE4NDJlZDYwODU1ZGNiZDQ3ZmRmOTIzYTFmZjcyOTBkZDRiNjUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3Jr
ZXJzL3dvcmtlci1zaW1wbGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Rlc3QgZm9y
IFdlYiBTb2NrZXQgaW4gV29ya2VyLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1M6IHdvcmtlcjogaW5pdAorUEFTUzogd29ya2VyOiBXZWJTb2NrZXQgZXhpc3RzCitQQVNTOiB3
b3JrZXI6IHN1Y2Nlc3NmdWxseVBhcnNlZDpbb2JqZWN0IFdlYlNvY2tldF0KK1BBU1M6IHdvcmtl
cjogQ29ubmVjdGVkLgorUEFTUzogd29ya2VyOiBSZWNlaXZlZDogJ0hlbGxvIGZyb20gU2ltcGxl
IFdTSC4nCitQQVNTOiB3b3JrZXI6IENsb3NlZC4KK0RPTkUKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy93
b3JrZXItc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy93b3JrZXJzL3dvcmtlci1zaW1wbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNjcxY2Y3YmFjMzVhNWM4
Y2YwODQ1N2E4MjBhYmQxMzg2NWZlODMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy93b3JrZXItc2ltcGxlLmh0bWwKQEAg
LTAsMCArMSwzNiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD48L2hlYWQ+Cis8Ym9keT4KKzxwPlRlc3QgZm9yIFdlYiBTb2Nr
ZXQgaW4gV29ya2VyLjwvcD4KKzxwPjwvcD4KKzxwPk9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi48
L3A+Cis8cHJlIGlkPWxvZz4KKzwvcHJlPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RD
b250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3Rv
Y29sRW5hYmxlZCIsIDApOworfQorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgibG9nIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiXG4iOwor
fQorCitmdW5jdGlvbiBlbmRUZXN0KCkKK3sKKyAgICBsb2coIlRFU1QgQ09NUExFVEUiKTsKKyAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5ub3RpZnlEb25lKCk7Cit9Cit2YXIgd29ya2VyID0gbmV3IFdvcmtlcigncmVzb3Vy
Y2VzL3dvcmtlci1zaW1wbGUuanMnKTsKK3dvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZXZ0
KSB7CisgICAgbG9nKGV2dC5kYXRhKTsKKyAgICBpZiAoZXZ0LmRhdGEgPT0gIkRPTkUiKQorICAg
ICAgICBlbmRUZXN0KCk7Cit9OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9iYWQtc3ViLXByb3RvY29sLWNvbnRyb2wtY2hhcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYmFkLXN1
Yi1wcm90b2NvbC1jb250cm9sLWNoYXJzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZjcxZGM2
OGJmNmQ2YmExOGUzMDdkNWY5ZjJhYmM5ODIxMTY0N2Y0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYmFk
LXN1Yi1wcm90b2NvbC1jb250cm9sLWNoYXJzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBA
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMDogV3JvbmcgcHJvdG9jb2wgZm9yIFdlYlNvY2tldCAn
XHUwMDAwJworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IFdyb25nIHByb3RvY29sIGZvciBXZWJT
b2NrZXQgJ1x1MDAwOScKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAwOiBXcm9uZyBwcm90b2NvbCBm
b3IgV2ViU29ja2V0ICdcdTAwMUInCitUZXN0IFdlYlNvY2tldCBiYWQgc3ViLXByb3RvY29sIG5h
bWVzIGJ5IGNvbnRyb2wgY2hhcmFjdGVycy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvc2ltcGxlIiwgIlwwIikg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEyLgorUEFT
UyBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICIJIikgdGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBuZXcg
V2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICIKKyIpIHRocmV3IGV4Y2Vw
dGlvbiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiBJTExFR0FMLgorUEFTUyBuZXcgV2Vi
U29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICIKKyIpIHRocmV3IGV4Y2VwdGlv
biBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiBJTExFR0FMLgorUEFTUyBuZXcgV2ViU29j
a2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICIbIikgdGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3VybC1wYXJzaW5nLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL3VybC1wYXJzaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yOGMxYmJk
NjE0OGFmNTBlNzlhNWIwMTViNDE0M2RhYTlkMGQ5ZjMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJs
LXBhcnNpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjMgQEAKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAwOiBJbnZhbGlkIHVybCBmb3IgV2ViU29ja2V0IHdzOi8vamF2YXNjcmlwdDphLworQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDA6IFdyb25nIHVybCBzY2hlbWUgZm9yIFdlYlNvY2tldCBodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvYXBwbGV0CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMDogV3Jvbmcg
dXJsIHNjaGVtZSBmb3IgV2ViU29ja2V0IGphdmFzY3JpcHQ6YQorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDA6IFdlYlNvY2tldCBwb3J0IDI1IGJsb2NrZWQKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAw
OiBVUkwgaGFzIGZyYWdtZW50IGNvbXBvbmVudCB3czovLzEyNy4wLjAuMS9wYXRoIworQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDA6IFVSTCBoYXMgZnJhZ21lbnQgY29tcG9uZW50IHdzOi8vMTI3LjAu
MC4xL3BhdGgjZnJhZ21lbnQKK1Rlc3QgV2ViU29ja2V0IFVSTCBwYXJzaW5nLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgbmV3IFdlYlNvY2tldCgid3M6Ly9qYXZhc2NyaXB0
OmEiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNlcHRpb24gMTIu
CitQQVNTIG5ldyBXZWJTb2NrZXQoIi9hcHBsZXQiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFNZ
TlRBWF9FUlI6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIG5ldyBXZWJTb2NrZXQoImphdmFzY3Jp
cHQ6YSIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAx
Mi4KK1BBU1MgbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6MjUvIikgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBTRUNVUklUWV9FUlI6IERPTSBFeGNlcHRpb24gMTguCitQQVNTIChuZXcgV2Vi
U29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL2EvLi4vd2Vic29ja2V0L3Rlc3RzL3NpbXBsZSIp
KS5VUkwgaXMgIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL3NpbXBsZSIKK1BB
U1MgKG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL3Np
bXBsZT8iKSkuVVJMIGlzICJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9zaW1w
bGU/IgorUEFTUyAobmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQv
dGVzdHMvc2ltcGxlP2s9diIpKS5VUkwgaXMgIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0
L3Rlc3RzL3NpbXBsZT9rPXYiCitQQVNTIG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xL3Bh
dGgjIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEy
LgorUEFTUyBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMS9wYXRoI2ZyYWdtZW50IikgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCAx
MTgxMzk1YjA1YjNhMmE5Yzk2NDYyMmYyMDkwYjJhYTJjYzFmYTdhLi4xOTAxMDNhZDZiZDUwZDIy
MWYyMzc0MmJjOTNhOTRmNzg3OTdmMzMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC0yMTYsNiArMjE2LDY2IEBAIFdP
TlRGSVggU0tJUCA6IGFuaW1hdGlvbnMvYW5pbWF0aW9uLWFwaS0xLmh0bWwgPSBGQUlMCiAvLyBV
bnNraXAgYWZ0ZXIgaW1wbGVtZW50aW5nIExheW91dFRlc3RDb250cm9sbGVyOjpzZXREZWZlcnNM
b2FkaW5nIGFuZCA6OmdvQmFjay4KIEJVR1dLNjA4NzcgU0tJUCA6IGxvYWRlci9uYXZpZ2F0aW9u
LXdoaWxlLWRlZmVycmluZy1sb2Fkcy5odG1sID0gRkFJTAogCisvLyBTa2lwcGVkIHVudGlsIG5l
dyBXZWJTb2NrZXQgcHJvdG9jb2wgaXMgaW1wbGVtZW50ZWQuCitCVUdXSzUwMDk5IFNLSVAgOiBo
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9hbGVydC1pbi1ldmVudC1oYW5kbGVyLmh0bWwgPSBQ
QVNTIEZBSUwgVElNRU9VVAorQlVHV0s1MDA5OSBTS0lQIDogaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvYmFkLWhhbmRzaGFrZS1jcmFzaC5odG1sID0gUEFTUyBGQUlMIFRJTUVPVVQKK0JVR1dL
NTAwOTkgU0tJUCA6IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1zdWItcHJvdG9jb2wt
Y29udHJvbC1jaGFycy5odG1sID0gUEFTUyBGQUlMIFRJTUVPVVQKK0JVR1dLNTAwOTkgU0tJUCA6
IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1zdWItcHJvdG9jb2wtZW1wdHkuaHRtbCA9
IFBBU1MgRkFJTCBUSU1FT1VUCitCVUdXSzUwMDk5IFNLSVAgOiBodHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9iYWQtc3ViLXByb3RvY29sLW5vbi1hc2NpaS5odG1sID0gUEFTUyBGQUlMIFRJTUVP
VVQKK0JVR1dLNTAwOTkgU0tJUCA6IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2J1ZmZlcmVk
QW1vdW50LWFmdGVyLWNsb3NlLmh0bWwgPSBQQVNTIEZBSUwgVElNRU9VVAorQlVHV0s1MDA5OSBT
S0lQIDogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xpZW50LWNsb3NlLmh0bWwgPSBQQVNT
IEZBSUwgVElNRU9VVAorQlVHV0s1MDA5OSBTS0lQIDogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvY2xvc2UtYmVmb3JlLW9wZW4uaHRtbCA9IFBBU1MgRkFJTCBUSU1FT1VUCitCVUdXSzUwMDk5
IFNLSVAgOiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1ldmVudC5odG1sID0gUEFT
UyBGQUlMIFRJTUVPVVQKK0JVR1dLNTAwOTkgU0tJUCA6IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2Nsb3NlLW9uLW5hdmlnYXRlLW5ldy1sb2NhdGlvbi5odG1sID0gUEFTUyBGQUlMIFRJTUVP
VVQKK0JVR1dLNTAwOTkgU0tJUCA6IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Nsb3NlLW9u
LXVubG9hZC1hbmQtZm9yY2UtZ2MuaHRtbCA9IFBBU1MgRkFJTCBUSU1FT1VUCitCVUdXSzUwMDk5
IFNLSVAgOiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1vbi11bmxvYWQtcmVmZXJl
bmNlLWluLXBhcmVudC5odG1sID0gUEFTUyBGQUlMIFRJTUVPVVQKK0JVR1dLNTAwOTkgU0tJUCA6
IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Nsb3NlLW9uLXVubG9hZC5odG1sID0gUEFTUyBG
QUlMIFRJTUVPVVQKK0JVR1dLNTAwOTkgU0tJUCA6IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2Nsb3NlLXVucmVmLXdlYnNvY2tldC5odG1sID0gUEFTUyBGQUlMIFRJTUVPVVQKK0JVR1dLNTAw
OTkgU0tJUCA6IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Nyb3NzLW9yaWdpbi5odG1sID0g
UEFTUyBGQUlMIFRJTUVPVVQKK0JVR1dLNTAwOTkgU0tJUCA6IGh0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2Vycm9yLWRldGVjdC5odG1sID0gUEFTUyBGQUlMIFRJTUVPVVQKK0JVR1dLNTAwOTkg
U0tJUCA6IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2ZyYW1lLWxlbmd0aC1sb25nZXItdGhh
bi1idWZmZXIuaHRtbCA9IFBBU1MgRkFJTCBUSU1FT1VUCitCVUdXSzUwMDk5IFNLSVAgOiBodHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9mcmFtZS1sZW5ndGgtb3ZlcmZsb3cuaHRtbCA9IFBBU1Mg
RkFJTCBUSU1FT1VUCitCVUdXSzUwMDk5IFNLSVAgOiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9mcmFtZS1sZW5ndGgtc2tpcC5odG1sID0gUEFTUyBGQUlMIFRJTUVPVVQKK0JVR1dLNTAwOTkg
U0tJUCA6IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2ZyYW1lLWxlbmd0aHMuaHRtbCA9IFBB
U1MgRkFJTCBUSU1FT1VUCitCVUdXSzUwMDk5IFNLSVAgOiBodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oYW5kc2hha2UtY2hhbGxlbmdlLXJhbmRvbW5lc3MuaHRtbCA9IFBBU1MgRkFJTCBUSU1F
T1VUCitCVUdXSzUwMDk5IFNLSVAgOiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hh
a2UtZXJyb3IuaHRtbCA9IFBBU1MgRkFJTCBUSU1FT1VUCitCVUdXSzUwMDk5IFNLSVAgOiBodHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1jcm9zcy1vcmlnaW4uaHRt
bCA9IFBBU1MgRkFJTCBUSU1FT1VUCitCVUdXSzUwMDk5IFNLSVAgOiBodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1tYXhsZW5ndGguaHRtbCA9IFBBU1MgRkFJTCBU
SU1FT1VUCitCVUdXSzUwMDk5IFNLSVAgOiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5k
c2hha2UtZmFpbC1ieS1uby1jb25uZWN0aW9uLWhlYWRlci5odG1sID0gUEFTUyBGQUlMIFRJTUVP
VVQKK0JVR1dLNTAwOTkgU0tJUCA6IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFr
ZS1mYWlsLWJ5LW5vLWNyLmh0bWwgPSBQQVNTIEZBSUwgVElNRU9VVAorQlVHV0s1MDA5OSBTS0lQ
IDogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktbm8tdXBncmFk
ZS1oZWFkZXIuaHRtbCA9IFBBU1MgRkFJTCBUSU1FT1VUCitCVUdXSzUwMDk5IFNLSVAgOiBodHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1wcmVwZW5kZWQtbnVsbC5o
dG1sID0gUEFTUyBGQUlMIFRJTUVPVVQKK0JVR1dLNTAwOTkgU0tJUCA6IGh0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5LXN1Yi1wcm90b2NvbC1taXNtYXRjaC5odG1s
ID0gUEFTUyBGQUlMIFRJTUVPVVQKK0JVR1dLNTAwOTkgU0tJUCA6IGh0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h0dHBvbmx5LWNvb2tpZS5wbCA9IFBBU1MgRkFJTCBUSU1FT1VUCitCVUdXSzUw
MDk5IFNLSVAgOiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9sb25nLWludmFsaWQtaGVhZGVy
Lmh0bWwgPSBQQVNTIEZBSUwgVElNRU9VVAorQlVHV0s1MDA5OSBTS0lQIDogaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvbXVsdGlwbGUtY29ubmVjdGlvbnMuaHRtbCA9IFBBU1MgRkFJTCBUSU1F
T1VUCitCVUdXSzUwMDk5IFNLSVAgOiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9udWxsLWNo
YXJhY3Rlci5odG1sID0gUEFTUyBGQUlMIFRJTUVPVVQKK0JVR1dLNTAwOTkgU0tJUCA6IGh0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL3JlbG9hZC1jcmFzaC5odG1sID0gUEFTUyBGQUlMIFRJTUVP
VVQKK0JVR1dLNTAwOTkgU0tJUCA6IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NlbmQtYWZ0
ZXItY2xvc2Utb24tdW5sb2FkLmh0bWwgPSBQQVNTIEZBSUwgVElNRU9VVAorQlVHV0s1MDA5OSBT
S0lQIDogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2VuZC10aHJvdy5odG1sID0gUEFTUyBG
QUlMIFRJTUVPVVQKK0JVR1dLNTAwOTkgU0tJUCA6IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3NlbmQuaHRtbCA9IFBBU1MgRkFJTCBUSU1FT1VUCitCVUdXSzUwMDk5IFNLSVAgOiBodHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9zZXJ2ZXItY2xvc2UuaHRtbCA9IFBBU1MgRkFJTCBUSU1FT1VU
CitCVUdXSzUwMDk5IFNLSVAgOiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zaW1wbGUtc3Ry
ZXNzLmh0bWwgPSBQQVNTIEZBSUwgVElNRU9VVAorQlVHV0s1MDA5OSBTS0lQIDogaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvc2ltcGxlLmh0bWwgPSBQQVNTIEZBSUwgVElNRU9VVAorQlVHV0s1
MDA5OSBTS0lQIDogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc3ViLXByb3RvY29sLXdpdGgt
c3BhY2UuaHRtbCA9IFBBU1MgRkFJTCBUSU1FT1VUCitCVUdXSzUwMDk5IFNLSVAgOiBodHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9zdWItcHJvdG9jb2wuaHRtbCA9IFBBU1MgRkFJTCBUSU1FT1VU
CitCVUdXSzUwMDk5IFNLSVAgOiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91bmljb2RlLmh0
bWwgPSBQQVNTIEZBSUwgVElNRU9VVAorQlVHV0s1MDA5OSBTS0lQIDogaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvdXJsLW5vLXRyYWlsaW5nLXNsYXNoLmh0bWwgPSBQQVNTIEZBSUwgVElNRU9V
VAorQlVHV0s1MDA5OSBTS0lQIDogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXBhcnNp
bmcuaHRtbCA9IFBBU1MgRkFJTCBUSU1FT1VUCitCVUdXSzUwMDk5IFNLSVAgOiBodHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy91cmwtd2l0aC1jcmVkZW50aWFsLmh0bWwgPSBQQVNTIEZBSUwgVElN
RU9VVAorQlVHV0s1MDA5OSBTS0lQIDogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXdp
dGgtZW1wdHktcXVlcnkuaHRtbCA9IFBBU1MgRkFJTCBUSU1FT1VUCitCVUdXSzUwMDk5IFNLSVAg
OiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtd2l0aC1xdWVyeS1mb3Itbm8tcXVlcnku
aHRtbCA9IFBBU1MgRkFJTCBUSU1FT1VUCitCVUdXSzUwMDk5IFNLSVAgOiBodHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy91cmwtd2l0aC1xdWVyeS5odG1sID0gUEFTUyBGQUlMIFRJTUVPVVQKK0JV
R1dLNTAwOTkgU0tJUCA6IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dlYnNvY2tldC1ldmVu
dC10YXJnZXQuaHRtbCA9IFBBU1MgRkFJTCBUSU1FT1VUCitCVUdXSzUwMDk5IFNLSVAgOiBodHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93ZWJzb2NrZXQtcGVuZGluZy1hY3Rpdml0eS5odG1sID0g
UEFTUyBGQUlMIFRJTUVPVVQKK0JVR1dLNTAwOTkgU0tJUCA6IGh0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL3dlYnNvY2tldC1wcm90b2NvbC1pZ25vcmVkLmh0bWwgPSBQQVNTIEZBSUwgVElNRU9V
VAorQlVHV0s1MDA5OSBTS0lQIDogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy9j
bG9zZS1pbi1vbm1lc3NhZ2UtY3Jhc2guaHRtbCA9IFBBU1MgRkFJTCBUSU1FT1VUCitCVUdXSzUw
MDk5IFNLSVAgOiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3JrZXJzL2Nsb3NlLWluLXNo
YXJlZC13b3JrZXIuaHRtbCA9IFBBU1MgRkFJTCBUSU1FT1VUCitCVUdXSzUwMDk5IFNLSVAgOiBo
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3JrZXJzL2Nsb3NlLWluLXdvcmtlci5odG1sID0g
UEFTUyBGQUlMIFRJTUVPVVQKK0JVR1dLNTAwOTkgU0tJUCA6IGh0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL3dvcmtlcnMvc2hhcmVkLXdvcmtlci1zaW1wbGUuaHRtbCA9IFBBU1MgRkFJTCBUSU1F
T1VUCitCVUdXSzUwMDk5IFNLSVAgOiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3JrZXJz
L3dvcmtlci1oYW5kc2hha2UtY2hhbGxlbmdlLXJhbmRvbW5lc3MuaHRtbCA9IFBBU1MgRkFJTCBU
SU1FT1VUCitCVUdXSzUwMDk5IFNLSVAgOiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3Jr
ZXJzL3dvcmtlci1zaW1wbGUuaHRtbCA9IFBBU1MgRkFJTCBUSU1FT1VUCisKIC8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CiAvLyBXT05URklYIFRFU1RTCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApp
bmRleCAxMGQyNDZlM2NmMDY5MjJmMDk1MTk1OGZmNTZmZWZiYTE2Y2E1MGJjLi42MmM4NmUzZTIx
ZDQ5YmU2NDI0MzUyNGE4MmMyYWNjNWEwNDk5ODRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBl
ZApAQCAtMTU1NywzICsxNTU3LDYzIEBAIGh0dHAvdGVzdHMvbWlzYy9pZnJhbWUtcmVwYXJlbnRp
bmctaWQtY29sbGlzaW9uLmh0bWwKIGh0dHAvdGVzdHMvaW5zcGVjdG9yCiBodHRwL3Rlc3RzL2lu
c3BlY3Rvci1lbmFibGVkCiBpbnNwZWN0b3IvCisKKyMgU2tpcHBlZCB1bnRpbCBuZXcgV2ViU29j
a2V0IHByb3RvY29sIGlzIGltcGxlbWVudGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzUwMDk5Cito
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9hbGVydC1pbi1ldmVudC1oYW5kbGVyLmh0bWwKK2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1oYW5kc2hha2UtY3Jhc2guaHRtbAoraHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYmFkLXN1Yi1wcm90b2NvbC1jb250cm9sLWNoYXJzLmh0bWwK
K2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1zdWItcHJvdG9jb2wtZW1wdHkuaHRtbAor
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYmFkLXN1Yi1wcm90b2NvbC1ub24tYXNjaWkuaHRt
bAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYnVmZmVyZWRBbW91bnQtYWZ0ZXItY2xvc2Uu
aHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xpZW50LWNsb3NlLmh0bWwKK2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Nsb3NlLWJlZm9yZS1vcGVuLmh0bWwKK2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2Nsb3NlLWV2ZW50Lmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2Nsb3NlLW9uLW5hdmlnYXRlLW5ldy1sb2NhdGlvbi5odG1sCitodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9jbG9zZS1vbi11bmxvYWQtYW5kLWZvcmNlLWdjLmh0bWwKK2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2Nsb3NlLW9uLXVubG9hZC1yZWZlcmVuY2UtaW4tcGFyZW50Lmh0bWwK
K2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Nsb3NlLW9uLXVubG9hZC5odG1sCitodHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS11bnJlZi13ZWJzb2NrZXQuaHRtbAoraHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvY3Jvc3Mtb3JpZ2luLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2Vycm9yLWRldGVjdC5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9mcmFt
ZS1sZW5ndGgtbG9uZ2VyLXRoYW4tYnVmZmVyLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2ZyYW1lLWxlbmd0aC1vdmVyZmxvdy5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9mcmFtZS1sZW5ndGgtc2tpcC5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9mcmFt
ZS1sZW5ndGhzLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1jaGFs
bGVuZ2UtcmFuZG9tbmVzcy5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hh
a2UtZXJyb3IuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwt
YnktY3Jvc3Mtb3JpZ2luLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFr
ZS1mYWlsLWJ5LW1heGxlbmd0aC5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5k
c2hha2UtZmFpbC1ieS1uby1jb25uZWN0aW9uLWhlYWRlci5odG1sCitodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1uby1jci5odG1sCitodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1uby11cGdyYWRlLWhlYWRlci5odG1sCitodHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1wcmVwZW5kZWQtbnVsbC5o
dG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1zdWItcHJv
dG9jb2wtbWlzbWF0Y2guaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHR0cG9ubHkt
Y29va2llLnBsCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9sb25nLWludmFsaWQtaGVhZGVy
Lmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL211bHRpcGxlLWNvbm5lY3Rpb25zLmh0
bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL251bGwtY2hhcmFjdGVyLmh0bWwKK2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL3JlbG9hZC1jcmFzaC5odG1sCitodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9zZW5kLWFmdGVyLWNsb3NlLW9uLXVubG9hZC5odG1sCitodHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9zZW5kLXRocm93Lmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3NlbmQuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2VydmVyLWNsb3NlLmh0bWwK
K2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NpbXBsZS1zdHJlc3MuaHRtbAoraHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvc2ltcGxlLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3N1Yi1wcm90b2NvbC13aXRoLXNwYWNlLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3N1Yi1wcm90b2NvbC5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91bmljb2RlLmh0
bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3VybC1uby10cmFpbGluZy1zbGFzaC5odG1s
CitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtcGFyc2luZy5odG1sCitodHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy91cmwtd2l0aC1jcmVkZW50aWFsLmh0bWwKK2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL3VybC13aXRoLWVtcHR5LXF1ZXJ5Lmh0bWwKK2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL3VybC13aXRoLXF1ZXJ5LWZvci1uby1xdWVyeS5odG1sCitodHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy91cmwtd2l0aC1xdWVyeS5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy93ZWJzb2NrZXQtZXZlbnQtdGFyZ2V0Lmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL3dlYnNvY2tldC1wZW5kaW5nLWFjdGl2aXR5Lmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL3dlYnNvY2tldC1wcm90b2NvbC1pZ25vcmVkLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL3dvcmtlcnMvY2xvc2UtaW4tb25tZXNzYWdlLWNyYXNoLmh0bWwKK2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvY2xvc2UtaW4tc2hhcmVkLXdvcmtlci5odG1sCito
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3JrZXJzL2Nsb3NlLWluLXdvcmtlci5odG1sCito
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3JrZXJzL3NoYXJlZC13b3JrZXItc2ltcGxlLmh0
bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvd29ya2VyLWhhbmRzaGFrZS1j
aGFsbGVuZ2UtcmFuZG9tbmVzcy5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3Jr
ZXJzL3dvcmtlci1zaW1wbGUuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAppbmRleCBhZWU1
OTc5MTdjMjA0YmU2ZTg5NGQwMjAwNTRmOWMyYjFjYjc2MTAxLi43MDZjMTEwOTdkYjMzMTA4NDg3
ZGQ1ZTU4YWZlODVjODRiYWE0MTRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZApAQCAtMzg4
LDMgKzM4OCw2MyBAQCBjb21wb3NpdGluZy9ydGwvcnRsLWlmcmFtZS1maXhlZC1vdmVyZmxvdy1z
Y3JvbGxlZC5odG1sCiBjb21wb3NpdGluZy9ydGwvcnRsLWlmcmFtZS1maXhlZC1vdmVyZmxvdy5o
dG1sCiBjb21wb3NpdGluZy9ydGwvcnRsLWlmcmFtZS1maXhlZC5odG1sCiBjb21wb3NpdGluZy9y
dGwvcnRsLWlmcmFtZS1yZWxhdGl2ZS5odG1sCisKKyMgU2tpcHBlZCB1bnRpbCBuZXcgV2ViU29j
a2V0IHByb3RvY29sIGlzIGltcGxlbWVudGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzUwMDk5Cito
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9hbGVydC1pbi1ldmVudC1oYW5kbGVyLmh0bWwKK2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1oYW5kc2hha2UtY3Jhc2guaHRtbAoraHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYmFkLXN1Yi1wcm90b2NvbC1jb250cm9sLWNoYXJzLmh0bWwK
K2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1zdWItcHJvdG9jb2wtZW1wdHkuaHRtbAor
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYmFkLXN1Yi1wcm90b2NvbC1ub24tYXNjaWkuaHRt
bAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYnVmZmVyZWRBbW91bnQtYWZ0ZXItY2xvc2Uu
aHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xpZW50LWNsb3NlLmh0bWwKK2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Nsb3NlLWJlZm9yZS1vcGVuLmh0bWwKK2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2Nsb3NlLWV2ZW50Lmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2Nsb3NlLW9uLW5hdmlnYXRlLW5ldy1sb2NhdGlvbi5odG1sCitodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9jbG9zZS1vbi11bmxvYWQtYW5kLWZvcmNlLWdjLmh0bWwKK2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2Nsb3NlLW9uLXVubG9hZC1yZWZlcmVuY2UtaW4tcGFyZW50Lmh0bWwK
K2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Nsb3NlLW9uLXVubG9hZC5odG1sCitodHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS11bnJlZi13ZWJzb2NrZXQuaHRtbAoraHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvY3Jvc3Mtb3JpZ2luLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2Vycm9yLWRldGVjdC5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9mcmFt
ZS1sZW5ndGgtbG9uZ2VyLXRoYW4tYnVmZmVyLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2ZyYW1lLWxlbmd0aC1vdmVyZmxvdy5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9mcmFtZS1sZW5ndGgtc2tpcC5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9mcmFt
ZS1sZW5ndGhzLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFrZS1jaGFs
bGVuZ2UtcmFuZG9tbmVzcy5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hh
a2UtZXJyb3IuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwt
YnktY3Jvc3Mtb3JpZ2luLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hhbmRzaGFr
ZS1mYWlsLWJ5LW1heGxlbmd0aC5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5k
c2hha2UtZmFpbC1ieS1uby1jb25uZWN0aW9uLWhlYWRlci5odG1sCitodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1uby1jci5odG1sCitodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1uby11cGdyYWRlLWhlYWRlci5odG1sCitodHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1wcmVwZW5kZWQtbnVsbC5o
dG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1zdWItcHJv
dG9jb2wtbWlzbWF0Y2guaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHR0cG9ubHkt
Y29va2llLnBsCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9sb25nLWludmFsaWQtaGVhZGVy
Lmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL211bHRpcGxlLWNvbm5lY3Rpb25zLmh0
bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL251bGwtY2hhcmFjdGVyLmh0bWwKK2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL3JlbG9hZC1jcmFzaC5odG1sCitodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9zZW5kLWFmdGVyLWNsb3NlLW9uLXVubG9hZC5odG1sCitodHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9zZW5kLXRocm93Lmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3NlbmQuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2VydmVyLWNsb3NlLmh0bWwK
K2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NpbXBsZS1zdHJlc3MuaHRtbAoraHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvc2ltcGxlLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3N1Yi1wcm90b2NvbC13aXRoLXNwYWNlLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L3N1Yi1wcm90b2NvbC5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91bmljb2RlLmh0
bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3VybC1uby10cmFpbGluZy1zbGFzaC5odG1s
CitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtcGFyc2luZy5odG1sCitodHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy91cmwtd2l0aC1jcmVkZW50aWFsLmh0bWwKK2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL3VybC13aXRoLWVtcHR5LXF1ZXJ5Lmh0bWwKK2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL3VybC13aXRoLXF1ZXJ5LWZvci1uby1xdWVyeS5odG1sCitodHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy91cmwtd2l0aC1xdWVyeS5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy93ZWJzb2NrZXQtZXZlbnQtdGFyZ2V0Lmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL3dlYnNvY2tldC1wZW5kaW5nLWFjdGl2aXR5Lmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL3dlYnNvY2tldC1wcm90b2NvbC1pZ25vcmVkLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL3dvcmtlcnMvY2xvc2UtaW4tb25tZXNzYWdlLWNyYXNoLmh0bWwKK2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvY2xvc2UtaW4tc2hhcmVkLXdvcmtlci5odG1sCito
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3JrZXJzL2Nsb3NlLWluLXdvcmtlci5odG1sCito
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3JrZXJzL3NoYXJlZC13b3JrZXItc2ltcGxlLmh0
bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3dvcmtlcnMvd29ya2VyLWhhbmRzaGFrZS1j
aGFsbGVuZ2UtcmFuZG9tbmVzcy5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3Jr
ZXJzL3dvcmtlci1zaW1wbGUuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggOGFjYjBj
ZmZlYTVhYzllNDgwMjNjNjY0OTRlODJkZDFjNmM1ZjFlZS4uZDQ0YjViM2I1OTZkOGM0MWYzYWNi
YTYxOWY1NWExMDNiMzhmMTU0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
U2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0xOTM5LDYg
KzE5MzksNjkgQEAgcHJpbnRpbmcvY29tcG9zaXRpbmctbGF5ZXItcHJpbnRpbmcuaHRtbAogcHJp
bnRpbmcvbWVkaWEtcXVlcmllcy1wcmludC5odG1sCiAKICMgPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0g
IworIyBmYWlsaW5nIHdlYnNvY2tldCB0ZXN0cworIyA9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAjCisj
IFNraXBwZWQgdW50aWwgbmV3IFdlYlNvY2tldCBwcm90b2NvbCBpcyBpbXBsZW1lbnRlZC4gaHR0
cDovL3dlYmtpdC5vcmcvYi81MDA5OQoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYWxlcnQt
aW4tZXZlbnQtaGFuZGxlci5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9iYWQtaGFu
ZHNoYWtlLWNyYXNoLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1zdWItcHJv
dG9jb2wtY29udHJvbC1jaGFycy5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9iYWQt
c3ViLXByb3RvY29sLWVtcHR5Lmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1z
dWItcHJvdG9jb2wtbm9uLWFzY2lpLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2J1
ZmZlcmVkQW1vdW50LWFmdGVyLWNsb3NlLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2NsaWVudC1jbG9zZS5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1iZWZv
cmUtb3Blbi5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1ldmVudC5odG1s
CitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1vbi1uYXZpZ2F0ZS1uZXctbG9jYXRp
b24uaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xvc2Utb24tdW5sb2FkLWFuZC1m
b3JjZS1nYy5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1vbi11bmxvYWQt
cmVmZXJlbmNlLWluLXBhcmVudC5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9z
ZS1vbi11bmxvYWQuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xvc2UtdW5yZWYt
d2Vic29ja2V0Lmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Nyb3NzLW9yaWdpbi5o
dG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9lcnJvci1kZXRlY3QuaHRtbAoraHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3RoLWxvbmdlci10aGFuLWJ1ZmZlci5odG1s
CitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9mcmFtZS1sZW5ndGgtb3ZlcmZsb3cuaHRtbAor
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3RoLXNraXAuaHRtbAoraHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3Rocy5odG1sCitodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oYW5kc2hha2UtY2hhbGxlbmdlLXJhbmRvbW5lc3MuaHRtbAoraHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWVycm9yLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5LWNyb3NzLW9yaWdpbi5odG1sCitodHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1tYXhsZW5ndGguaHRtbAoraHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktbm8tY29ubmVjdGlvbi1oZWFk
ZXIuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktbm8t
Y3IuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktbm8t
dXBncmFkZS1oZWFkZXIuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtl
LWZhaWwtYnktcHJlcGVuZGVkLW51bGwuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aGFuZHNoYWtlLWZhaWwtYnktc3ViLXByb3RvY29sLW1pc21hdGNoLmh0bWwKK2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h0dHBvbmx5LWNvb2tpZS5wbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvbG9uZy1pbnZhbGlkLWhlYWRlci5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9tdWx0aXBsZS1jb25uZWN0aW9ucy5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9u
dWxsLWNoYXJhY3Rlci5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9yZWxvYWQtY3Jh
c2guaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2VuZC1hZnRlci1jbG9zZS1vbi11
bmxvYWQuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2VuZC10aHJvdy5odG1sCito
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zZW5kLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL3NlcnZlci1jbG9zZS5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zaW1w
bGUtc3RyZXNzLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NpbXBsZS5odG1sCito
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zdWItcHJvdG9jb2wtd2l0aC1zcGFjZS5odG1sCito
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zdWItcHJvdG9jb2wuaHRtbAoraHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvdW5pY29kZS5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91
cmwtbm8tdHJhaWxpbmctc2xhc2guaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJs
LXBhcnNpbmcuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXdpdGgtY3JlZGVu
dGlhbC5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtd2l0aC1lbXB0eS1xdWVy
eS5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtd2l0aC1xdWVyeS1mb3Itbm8t
cXVlcnkuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXdpdGgtcXVlcnkuaHRt
bAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd2Vic29ja2V0LWV2ZW50LXRhcmdldC5odG1s
CitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93ZWJzb2NrZXQtcGVuZGluZy1hY3Rpdml0eS5o
dG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93ZWJzb2NrZXQtcHJvdG9jb2wtaWdub3Jl
ZC5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3JrZXJzL2Nsb3NlLWluLW9ubWVz
c2FnZS1jcmFzaC5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3JrZXJzL2Nsb3Nl
LWluLXNoYXJlZC13b3JrZXIuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vy
cy9jbG9zZS1pbi13b3JrZXIuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vy
cy9zaGFyZWQtd29ya2VyLXNpbXBsZS5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93
b3JrZXJzL3dvcmtlci1oYW5kc2hha2UtY2hhbGxlbmdlLXJhbmRvbW5lc3MuaHRtbAoraHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy93b3JrZXItc2ltcGxlLmh0bWwKKworIyA9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PSAjCiAjIG5ldyB0ZXN0cyB3aXRob3V0IGV4cGVjdGVkIHJlc3VsdHMK
ICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0gIwogZWRpdGluZy9zZWxlY3Rpb24vdHJhbnNmb3JtZWQt
c2VsZWN0aW9uLXJlY3RzLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1zdWItcHJvdG9jb2wtbm9uLWFzY2lpLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2JhZC1zdWItcHJvdG9jb2wtbm9uLWFzY2lpLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41ZjNmNTQ5NDkxYzA0OTA4YjY5ZDY3M2EyMDkxY2EyODdkZGFjMzRmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
YmFkLXN1Yi1wcm90b2NvbC1ub24tYXNjaWktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjIgQEAK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAwOiBXcm9uZyBwcm90b2NvbCBmb3IgV2ViU29ja2V0ICdc
dTAwN0YnCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMDogV3JvbmcgcHJvdG9jb2wgZm9yIFdlYlNv
Y2tldCAnXHUwMDgwJworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IFdyb25nIHByb3RvY29sIGZv
ciBXZWJTb2NrZXQgJ1x1MzA0MicKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAwOiBXcm9uZyBwcm90
b2NvbCBmb3IgV2ViU29ja2V0ICdcdUZGRkYnCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMDogV3Jv
bmcgcHJvdG9jb2wgZm9yIFdlYlNvY2tldCAnXHVGRUZGJworQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDA6IFdyb25nIHByb3RvY29sIGZvciBXZWJTb2NrZXQgJ1x1RkZGRScKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAwOiBXcm9uZyBwcm90b2NvbCBmb3IgV2ViU29ja2V0ICdcdUQ4NDBcdURDMEInCitU
ZXN0IFdlYlNvY2tldCBiYWQgc3ViLXByb3RvY29sIG5hbWVzIGJ5IG5vbi1BU0NJSSBjaGFycy4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIG5ldyBXZWJTb2NrZXQoIndzOi8v
MTI3LjAuMC4xOjg4ODAvc2ltcGxlIiwgIn8iKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFNZTlRB
WF9FUlI6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAu
MC4xOjg4ODAvc2ltcGxlIiwgIsKAIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJS
OiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4
ODgwL3NpbXBsZSIsICLjgYIiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERP
TSBFeGNlcHRpb24gMTIuCitQQVNTIG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAv
c2ltcGxlIiwgIj8iKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNl
cHRpb24gMTIuCitQQVNTIG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvc2ltcGxl
IiwgIu+7vyIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlv
biAxMi4KK1BBU1MgbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAi
PyIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMi4K
K1BBU1MgbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAi8KCAiyIp
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9Ta2lwcGVkCmluZGV4IGFlZDNmMmYwZTM1MTA1MGVlZDU0ODc5NzBiN2MzYjExMzZk
NGJiZTkuLjgzOTE3MWRiMDIyMWQzMzZmODY0YTAyZmIwZmNmM2FkNjczNDY1YjUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0xMzUwLDMgKzEzNTAsNjMgQEAgZmFzdC9leGNsdXNpb25z
CiAKICMgQ2F1c2VzIGEgU3ludGF4RXJyb3IgKGh0dHA6Ly93ZWJraXQub3JnL2IvNjI1OTUpLgog
ZmFzdC93b3JrZXJzL3dvcmtlci1jcmFzaC13aXRoLWludmFsaWQtbG9jYXRpb24uaHRtbAorCisj
IFNraXBwZWQgdW50aWwgbmV3IFdlYlNvY2tldCBwcm90b2NvbCBpcyBpbXBsZW1lbnRlZC4gaHR0
cDovL3dlYmtpdC5vcmcvYi81MDA5OQoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvYWxlcnQt
aW4tZXZlbnQtaGFuZGxlci5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9iYWQtaGFu
ZHNoYWtlLWNyYXNoLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1zdWItcHJv
dG9jb2wtY29udHJvbC1jaGFycy5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9iYWQt
c3ViLXByb3RvY29sLWVtcHR5Lmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2JhZC1z
dWItcHJvdG9jb2wtbm9uLWFzY2lpLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2J1
ZmZlcmVkQW1vdW50LWFmdGVyLWNsb3NlLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2NsaWVudC1jbG9zZS5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1iZWZv
cmUtb3Blbi5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1ldmVudC5odG1s
CitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1vbi1uYXZpZ2F0ZS1uZXctbG9jYXRp
b24uaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xvc2Utb24tdW5sb2FkLWFuZC1m
b3JjZS1nYy5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9zZS1vbi11bmxvYWQt
cmVmZXJlbmNlLWluLXBhcmVudC5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9jbG9z
ZS1vbi11bmxvYWQuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvY2xvc2UtdW5yZWYt
d2Vic29ja2V0Lmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2Nyb3NzLW9yaWdpbi5o
dG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9lcnJvci1kZXRlY3QuaHRtbAoraHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3RoLWxvbmdlci10aGFuLWJ1ZmZlci5odG1s
CitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9mcmFtZS1sZW5ndGgtb3ZlcmZsb3cuaHRtbAor
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3RoLXNraXAuaHRtbAoraHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvZnJhbWUtbGVuZ3Rocy5odG1sCitodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oYW5kc2hha2UtY2hhbGxlbmdlLXJhbmRvbW5lc3MuaHRtbAoraHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWVycm9yLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2hhbmRzaGFrZS1mYWlsLWJ5LWNyb3NzLW9yaWdpbi5odG1sCitodHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oYW5kc2hha2UtZmFpbC1ieS1tYXhsZW5ndGguaHRtbAoraHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktbm8tY29ubmVjdGlvbi1oZWFk
ZXIuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktbm8t
Y3IuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtlLWZhaWwtYnktbm8t
dXBncmFkZS1oZWFkZXIuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaGFuZHNoYWtl
LWZhaWwtYnktcHJlcGVuZGVkLW51bGwuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aGFuZHNoYWtlLWZhaWwtYnktc3ViLXByb3RvY29sLW1pc21hdGNoLmh0bWwKK2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h0dHBvbmx5LWNvb2tpZS5wbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvbG9uZy1pbnZhbGlkLWhlYWRlci5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9tdWx0aXBsZS1jb25uZWN0aW9ucy5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9u
dWxsLWNoYXJhY3Rlci5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9yZWxvYWQtY3Jh
c2guaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2VuZC1hZnRlci1jbG9zZS1vbi11
bmxvYWQuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvc2VuZC10aHJvdy5odG1sCito
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zZW5kLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL3NlcnZlci1jbG9zZS5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zaW1w
bGUtc3RyZXNzLmh0bWwKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL3NpbXBsZS5odG1sCito
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zdWItcHJvdG9jb2wtd2l0aC1zcGFjZS5odG1sCito
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9zdWItcHJvdG9jb2wuaHRtbAoraHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvdW5pY29kZS5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91
cmwtbm8tdHJhaWxpbmctc2xhc2guaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJs
LXBhcnNpbmcuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXdpdGgtY3JlZGVu
dGlhbC5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtd2l0aC1lbXB0eS1xdWVy
eS5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy91cmwtd2l0aC1xdWVyeS1mb3Itbm8t
cXVlcnkuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvdXJsLXdpdGgtcXVlcnkuaHRt
bAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd2Vic29ja2V0LWV2ZW50LXRhcmdldC5odG1s
CitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93ZWJzb2NrZXQtcGVuZGluZy1hY3Rpdml0eS5o
dG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93ZWJzb2NrZXQtcHJvdG9jb2wtaWdub3Jl
ZC5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3JrZXJzL2Nsb3NlLWluLW9ubWVz
c2FnZS1jcmFzaC5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93b3JrZXJzL2Nsb3Nl
LWluLXNoYXJlZC13b3JrZXIuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vy
cy9jbG9zZS1pbi13b3JrZXIuaHRtbAoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vy
cy9zaGFyZWQtd29ya2VyLXNpbXBsZS5odG1sCitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy93
b3JrZXJzL3dvcmtlci1oYW5kc2hha2UtY2hhbGxlbmdlLXJhbmRvbW5lc3MuaHRtbAoraHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvd29ya2Vycy93b3JrZXItc2ltcGxlLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100245</attachid>
            <date>2011-07-10 23:15:12 -0700</date>
            <delta_ts>2011-07-10 23:47:56 -0700</delta_ts>
            <desc>Patch v2 (Put tests under hybi/)</desc>
            <filename>bug-64242-20110711151510.patch</filename>
            <type>text/plain</type>
            <size>220693</size>
            <attacher name="Yuta Kitamura">yutak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTA2NjEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlODdjZmYyMWNlYWE4NjA2M2JjYTU5
MWM2ODgxNmFiZjUzYjBmMWMxLi40ODJhNzJiNTg4ZWFiMzFjN2E4MTdiY2YzMWZhNmIyNWQ1NTFk
MTJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAzIEBACisyMDExLTA3LTEwICBZdXRhIEtpdGFtdXJhICA8
eXV0YWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYlNvY2tldDogQ29weSBleGlzdGluZyBX
ZWJTb2NrZXQgdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY0MjQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ29weSB0aGUgZXhpc3RpbmcgV2ViU29ja2V0IHRlc3RzIHVuZGVyIGh0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvIGFuZCBza2lwIHRoZW0uCisKKyAgICAgICAgVGhlc2UgdGVz
dHMgd2lsbCBiZSB1c2VkIHRvIHRlc3QgdGhlIGxhdGVzdCBXZWJTb2NrZXQgcHJvdG9jb2wgaW1w
bGVtZW50YXRpb24uIFRoZXkgYXJlIHNraXBwZWQKKyAgICAgICAgaW4gYWxsIHBvcnRzIGZvciBu
b3csIGFuZCB3aWxsIGJlIHVuc2tpcHBlZCB3aGVuIHRoZSBuZXcgcHJvdG9jb2wgaW1wbGVtZW50
YXRpb24gaXMgbGFuZGVkIGluIFdlYkNvcmUuCisKKyAgICAgICAgVGhlIGZvbGxvd2luZyBtb2Rp
ZmljYXRpb25zIGFyZSBhcHBsaWVkIHRvIHRoZSBuZXcgdGVzdHM6CisgICAgICAgIC0gQ2hhbmdl
IHBhdGhzIGFuZCBVUkxzIGFwcGVhcmVkIGluIHRoZSB0ZXN0cyBhbmQgdGhlIHRlc3QgcmVzdWx0
cyBzbyB0aGV5IGZpdCBmb3IgdGhlIG5ldyBsb2NhdGlvbi4KKyAgICAgICAgLSBDYWxsIGxheW91
dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZXMoKSB0byBlbmFibGUgdGhlIG5ldyBw
cm90b2NvbCBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvYWxlcnQtaW4tZXZlbnQtaGFuZGxlci1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvYWxlcnQtaW4tZXZlbnQt
aGFuZGxlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL2JhZC1oYW5kc2hha2UtY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2JhZC1oYW5kc2hha2UtY3Jhc2guaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9iYWQt
aGFuZHNoYWtlLWNyYXNoX3dzaC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS9iYWQtc3ViLXByb3RvY29sLWNvbnRyb2wtY2hhcnMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Jh
ZC1zdWItcHJvdG9jb2wtY29udHJvbC1jaGFycy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2JhZC1zdWItcHJvdG9jb2wtZW1wdHktZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L2JhZC1zdWItcHJvdG9jb2wtZW1wdHkuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9iYWQtc3ViLXByb3RvY29sLW5vbi1hc2NpaS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
YmFkLXN1Yi1wcm90b2NvbC1ub24tYXNjaWkuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9idWZmZXJlZEFtb3VudC1hZnRlci1jbG9zZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvYnVmZmVyZWRBbW91bnQtYWZ0ZXItY2xvc2UuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbGllbnQtY2xvc2UtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2NsaWVudC1j
bG9zZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2NsaWVudC1jbG9zZV93c2gucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5YmkvY2xvc2UtYmVmb3JlLW9wZW4tZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLWJlZm9yZS1v
cGVuLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvY2xvc2UtZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLWV2ZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Utb24tbmF2aWdhdGUtbmV3LWxv
Y2F0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9jbG9zZS1vbi1uYXZpZ2F0ZS1uZXctbG9jYXRpb24uaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1vbi11bmxv
YWQtYW5kLWZvcmNlLWdjLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1vbi11bmxvYWQtYW5kLWZvcmNlLWdjLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Ut
b24tdW5sb2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS9jbG9zZS1vbi11bmxvYWQtcmVmZXJlbmNlLWluLXBhcmVudC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvY2xvc2Utb24tdW5sb2FkLXJlZmVyZW5jZS1pbi1wYXJlbnQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1vbi11bmxvYWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9z
ZS1vbi11bmxvYWRfd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL2Nsb3NlLXVucmVmLXdlYnNvY2tldC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2UtdW5yZWYtd2Vi
c29ja2V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvY3Jvc3Mtb3JpZ2luLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jcm9zcy1vcmlnaW4uaHRtbDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvLWNoYWxsZW5nZV93c2gu
cHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNo
by1jb29raWVfd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2VjaG8tbG9jYXRpb25fd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2VjaG9fd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Vycm9yLWRldGVjdC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZXJyb3It
ZGV0ZWN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvZml4ZWQtb3JpZ2luX3dzaC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5ndGgtbG9uZ2VyLXRoYW4tYnVmZmVyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9mcmFtZS1sZW5ndGgtbG9uZ2VyLXRoYW4tYnVmZmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZnJhbWUtbGVuZ3RoLWxvbmdlci10aGFu
LWJ1ZmZlcl93c2gucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5YmkvZnJhbWUtbGVuZ3RoLW92ZXJmbG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5ndGgtb3ZlcmZs
b3cuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9mcmFtZS1sZW5ndGgtb3ZlcmZsb3dfd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxlbmd0aC1za2lwLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1s
ZW5ndGgtc2tpcC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2ZyYW1lLWxlbmd0aC1za2lwX3dzaC5weTogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5ndGhzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1s
ZW5ndGhzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvaGFuZHNoYWtlLWNoYWxsZW5nZS1yYW5kb21uZXNzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtY2hh
bGxlbmdlLXJhbmRvbW5lc3MuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZXJyb3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1lcnJvci5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hh
bmRzaGFrZS1lcnJvcl93c2gucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktY3Jvc3Mtb3JpZ2luLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5k
c2hha2UtZmFpbC1ieS1jcm9zcy1vcmlnaW4uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1tYXhsZW5ndGgtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW1heGxlbmd0aC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW1heGxlbmd0
aF93c2gucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvaGFuZHNoYWtlLWZhaWwtYnktbm8tY29ubmVjdGlvbi1oZWFkZXItZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFr
ZS1mYWlsLWJ5LW5vLWNvbm5lY3Rpb24taGVhZGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbm8tY29ubmVj
dGlvbi1oZWFkZXJfd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLWNyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFp
bC1ieS1uby1jci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLWNyX3dzaC5weTogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1uby11
cGdyYWRlLWhlYWRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbm8tdXBncmFkZS1oZWFkZXIu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9o
YW5kc2hha2UtZmFpbC1ieS1uby11cGdyYWRlLWhlYWRlcl93c2gucHk6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktcHJl
cGVuZGVkLW51bGwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LXByZXBlbmRlZC1udWxsLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNo
YWtlLWZhaWwtYnktcHJlcGVuZGVkLW51bGxfd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LXN1Yi1wcm90b2Nv
bC1taXNtYXRjaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktc3ViLXByb3RvY29sLW1pc21hdGNo
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
aGFuZ2luZy1oYW5kc2hha2Vfd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2h0dHBvbmx5LWNvb2tpZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaHR0cG9ubHktY29va2ll
LnBsOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2xv
bmctaW52YWxpZC1oZWFkZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2xvbmctaW52YWxpZC1oZWFkZXIuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9sb25nLWludmFsaWQt
aGVhZGVyX3dzaC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaHliaS9tdWx0aXBsZS1jb25uZWN0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvbXVsdGlwbGUtY29ubmVjdGlvbnMu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9u
by1xdWVyeV93c2gucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5YmkvbnVsbC1jaGFyYWN0ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL251bGwtY2hhcmFjdGVyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvb3JpZ2luLXRlc3Rf
d3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L3Byb3RvY29sLXRlc3Rfd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL3JlbG9hZC1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvcmVsb2FkLWNyYXNoLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvcmVzb3VyY2Vz
L2Nsb3NlLW9uLXVubG9hZC1pZnJhbWUtcmVmZXJlbmNlLWluLXBhcmVudC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3Jlc291cmNlcy9jbG9z
ZS1vbi11bmxvYWQtaWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5YmkvcmVzb3VyY2VzL3JlbG9hZC1jcmFzaC1pZnJhbWUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWFmdGVy
LWNsb3NlLW9uLXVubG9hZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC1hZnRlci1jbG9zZS1vbi11bmxvYWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS9zZW5kLXRocm93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLXRocm93Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlbmQyX3dzaC5weTogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kX3dzaC5weTog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZXJ2ZXIt
Y2xvc2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL3NlcnZlci1jbG9zZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlcnZlci1jbG9zZV93c2gucHk6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxlLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zaW1w
bGUtc3RyZXNzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS9zaW1wbGUtc3RyZXNzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxlLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxlX3dzaC5weTogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zdWItcHJvdG9jb2wt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL3N1Yi1wcm90b2NvbC13aXRoLXNwYWNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zdWItcHJvdG9jb2wtd2l0aC1z
cGFjZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL3N1Yi1wcm90b2NvbC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL3VuaWNvZGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VuaWNvZGUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91bmljb2RlX3dzaC5weTogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91bmtub3duLWZy
YW1lLXR5cGVfd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL3VybC1uby10cmFpbGluZy1zbGFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLW5vLXRyYWlsaW5nLXNs
YXNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvdXJsLXBhcnNpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC1wYXJzaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLXdpdGgtY3JlZGVudGlhbC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvdXJsLXdpdGgtY3JlZGVudGlhbC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC13aXRoLWVtcHR5LXF1ZXJ5LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtd2l0
aC1lbXB0eS1xdWVyeS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL3VybC13aXRoLXF1ZXJ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtd2l0aC1xdWVyeS1mb3Itbm8t
cXVlcnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL3VybC13aXRoLXF1ZXJ5LWZvci1uby1xdWVyeS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC13aXRoLXF1ZXJ5Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vi
c29ja2V0LWV2ZW50LXRhcmdldC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vic29ja2V0LWV2ZW50LXRhcmdldC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dlYnNvY2tl
dC1wZW5kaW5nLWFjdGl2aXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93ZWJzb2NrZXQtcGVuZGluZy1hY3Rpdml0eS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dlYnNv
Y2tldC1wcm90b2NvbC1pZ25vcmVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93ZWJzb2NrZXQtcHJvdG9jb2wtaWdub3JlZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dv
cmtlcnMvY2xvc2UtaW4tb25tZXNzYWdlLWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL2Nsb3NlLWluLW9u
bWVzc2FnZS1jcmFzaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL3dvcmtlcnMvY2xvc2UtaW4tc2hhcmVkLXdvcmtlci1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vy
cy9jbG9zZS1pbi1zaGFyZWQtd29ya2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9jbG9zZS1pbi13b3JrZXItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dv
cmtlcnMvY2xvc2UtaW4td29ya2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9yZXNvdXJjZXMvY2xvc2UtaW4tb25tZXNzYWdl
LWNyYXNoLmpzOiBBZGRlZC4KKyAgICAgICAgKHJ1blRlc3RzLnRyeS53cy5vbm9wZW4pOgorICAg
ICAgICAocnVuVGVzdHMudHJ5LndzLm9ubWVzc2FnZSk6CisgICAgICAgIChydW5UZXN0cy50cnku
d3Mub25jbG9zZSk6CisgICAgICAgIChydW5UZXN0cyk6CisgICAgICAgICogaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3Jlc291cmNlcy9jbG9zZS1pbi13b3JrZXIuanM6
IEFkZGVkLgorICAgICAgICAoaGFuZGxlQ29ubmVjdC5zZWxmLnBvc3RNZXNzYWdlKToKKyAgICAg
ICAgKGhhbmRsZUNvbm5lY3QpOgorICAgICAgICAocnVuVGVzdHMudHJ5LndzLm9ub3Blbik6Cisg
ICAgICAgIChydW5UZXN0cy50cnkud3Mub25jbG9zZSk6CisgICAgICAgIChydW5UZXN0cyk6Cisg
ICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3Jlc291cmNl
cy9lY2hvLWNoYWxsZW5nZV93c2gucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9yZXNvdXJjZXMvZWNob193c2gucHk6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9yZXNvdXJj
ZXMvc2ltcGxlX3dzaC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItaGFuZHNoYWtlLWNoYWxsZW5nZS1y
YW5kb21uZXNzLmpzOiBBZGRlZC4KKyAgICAgICAgKGVuZFRlc3QpOgorICAgICAgICAocnVuVGVz
dHMudHJ5LndzMS5vbm1lc3NhZ2UpOgorICAgICAgICAocnVuVGVzdHMudHJ5LndzMS5vbmNsb3Nl
LndzMi5vbm1lc3NhZ2UpOgorICAgICAgICAocnVuVGVzdHMudHJ5LndzMS5vbmNsb3NlLndzMi5v
bmNsb3NlKToKKyAgICAgICAgKHJ1blRlc3RzLnRyeS53czEub25jbG9zZSk6CisgICAgICAgIChy
dW5UZXN0cyk6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3Jr
ZXJzL3Jlc291cmNlcy93b3JrZXItc2ltcGxlLmpzOiBBZGRlZC4KKyAgICAgICAgKGhhbmRsZUNv
bm5lY3Quc2VsZi5wb3N0TWVzc2FnZSk6CisgICAgICAgIChoYW5kbGVDb25uZWN0KToKKyAgICAg
ICAgKHJ1blRlc3RzLnRyeS53cy5vbm9wZW4pOgorICAgICAgICAocnVuVGVzdHMudHJ5LndzLm9u
bWVzc2FnZSk6CisgICAgICAgIChydW5UZXN0cy50cnkud3Mub25jbG9zZSk6CisgICAgICAgIChy
dW5UZXN0cyk6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3Jr
ZXJzL3NoYXJlZC13b3JrZXItc2ltcGxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3NoYXJlZC13b3JrZXItc2lt
cGxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
Ymkvd29ya2Vycy93b3JrZXItaGFuZHNoYWtlLWNoYWxsZW5nZS1yYW5kb21uZXNzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93
b3JrZXJzL3dvcmtlci1oYW5kc2hha2UtY2hhbGxlbmdlLXJhbmRvbW5lc3MuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3dvcmtl
ci1zaW1wbGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvd29ya2VyLXNpbXBsZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6Cisg
ICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAgICAgQSBjYXRlZ29yeSAiZmFpbGlu
ZyB3ZWJzb2NrZXQgdGVzdHMiIGlzIGxpc3RlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIFNraXBwZWQg
ZmlsZSwKKyAgICAgICAgYnV0IHRoZXJlIGlzIG5vIHN1Y2ggc2VjdGlvbiBpbiB0aGUgbGlzdHMu
IFRodXMsIGEgbmV3IHNlY3Rpb24gaXMgaW5zZXJ0ZWQuCisgICAgICAgICogcGxhdGZvcm0vd2lu
L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2syL1NraXBwZWQ6CisKIDIwMTEtMDctMDgg
IFN0ZXBoZW4gV2hpdGUgIDxzZW5vcmJsYW5jb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5y
ZXZpZXdlZDsgY2hyb21pdW0gdGVzdF9leHBlY3RhdGlvbnMgdXBkYXRlLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9hbGVydC1pbi1ldmVu
dC1oYW5kbGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvYWxlcnQtaW4tZXZlbnQtaGFuZGxlci1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTE1N2VjMGI5ZDkwMGQ1OTZhYWVjYjViM2ZiZTVmYTdhMjhlMTRmZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvYWxlcnQt
aW4tZXZlbnQtaGFuZGxlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorQUxFUlQ6IHdh
aXRpbmcgZm9yIG9wZW4KK0FMRVJUOiBtZXNzYWdlIGhhbmRsZWQuZmlyc3QgbWVzc2FnZQorQUxF
UlQ6IG1lc3NhZ2UgaGFuZGxlZC5zZWNvbmQgbWVzc2FnZQorTWFrZSBzdXJlIGV2ZW50IGhhbmRs
ZXIgY2FsbGVkIHNlcmlhbGx5LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK2FsZXJ0
IHdpbGwgc3VzcGVuZC9yZXN1bWUgV2ViU29ja2V0Lgorb25vcGVuIHNob3VsZCBmaXJlIGxhdGVy
LgorQ29ubmVjdGVkCitFbnRlciBvbm1lc3NhZ2U6IGZpcnN0IG1lc3NhZ2UKK0xlYXZlIG9ubWVz
c2FnZTogZmlyc3QgbWVzc2FnZQorRW50ZXIgb25tZXNzYWdlOiBzZWNvbmQgbWVzc2FnZQorTGVh
dmUgb25tZXNzYWdlOiBzZWNvbmQgbWVzc2FnZQorQ2xvc2VkCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9hbGVydC1pbi1ldmVudC1oYW5kbGVyLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2FsZXJ0LWlu
LWV2ZW50LWhhbmRsZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NGY4ZWRlMzhiYzMyNGQ4OGZlN2U2MmI1
Y2MyMGZmZjgxYjQ0NTc4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9hbGVydC1pbi1ldmVudC1oYW5kbGVyLmh0bWwKQEAgLTAs
MCArMSw0NSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4v
Li4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlv
bigiTWFrZSBzdXJlIGV2ZW50IGhhbmRsZXIgY2FsbGVkIHNlcmlhbGx5LiIpOworCit3aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3
NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCit2YXIgd3MgPSBuZXcgV2ViU29ja2V0
KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlbmQyIik7CisKK3dz
Lm9ub3BlbiA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygiQ29ubmVjdGVkIik7Cit9OworCit3
cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlRXZlbnQpCit7CisgICAgZGVidWcoIkVudGVy
IG9ubWVzc2FnZTogIiArIG1lc3NhZ2VFdmVudC5kYXRhKTsKKyAgICAvLyBhbGVydCgpIHdpbGwg
c3VzcGVuZC9yZXN1bWUgV2ViU29ja2V0LgorICAgIGFsZXJ0KCJtZXNzYWdlIGhhbmRsZWQuIiAr
IG1lc3NhZ2VFdmVudC5kYXRhKTsKKyAgICBkZWJ1ZygiTGVhdmUgb25tZXNzYWdlOiAiICsgbWVz
c2FnZUV2ZW50LmRhdGEpOworfTsKKword3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBk
ZWJ1ZygiQ2xvc2VkIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCitkZWJ1ZygiYWxlcnQg
d2lsbCBzdXNwZW5kL3Jlc3VtZSBXZWJTb2NrZXQuIik7CithbGVydCgid2FpdGluZyBmb3Igb3Bl
biIpOworZGVidWcoIm9ub3BlbiBzaG91bGQgZmlyZSBsYXRlci4iKTsKK3ZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMt
dGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvYmFkLWhhbmRzaGFrZS1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2JhZC1oYW5kc2hha2UtY3Jhc2gtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmE1ZjIwZjRjOTQwOThmNGNhYTE1MWRiMDI4ODM5YmEzZmE2OWUxMmEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2JhZC1oYW5kc2hha2UtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAwOiBJbnZhbGlkIFVURi04IHNlcXVlbmNlIGluIGhlYWRlciBu
YW1lCitNYWtlIHN1cmUgV2ViU29ja2V0IGRvZXNuJ3QgY3Jhc2ggd2l0aCBiYWQgaGFuZHNoYWtl
IG1lc3NhZ2UuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworV2ViU29ja2V0IGlzIGNs
b3NlZAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
YmFkLWhhbmRzaGFrZS1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9iYWQtaGFuZHNoYWtlLWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQwMzY3
ZjY3NzM3ODY5YTU1NDY5NjZjMzQzNzVhZmEwNDJlMTVkNwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvYmFkLWhhbmRzaGFrZS1j
cmFzaC5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPgorZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSBXZWJTb2NrZXQgZG9lc24ndCBjcmFzaCB3aXRo
IGJhZCBoYW5kc2hha2UgbWVzc2FnZS4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVu
YWJsZWQiLCAwKTsKKwordmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4
MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9iYWQtaGFuZHNoYWtlLWNyYXNoIik7Cit3cy5vbm9wZW4g
PSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNvY2tldCBpcyBvcGVuIik7Cit9Oword3Mu
b25jbG9zZSA9IGZ1bmN0aW9uICgpIHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0IGlzIGNsb3NlZCIp
OworICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9iYWQtaGFuZHNo
YWtlLWNyYXNoX3dzaC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvYmFkLWhhbmRzaGFrZS1jcmFzaF93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I0MjViYzcxNjZm
NTNkZmMyNjY5Y2RlZjkwMzM1MTIwN2E0NGQ0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvYmFkLWhhbmRzaGFrZS1jcmFzaF93
c2gucHkKQEAgLTAsMCArMSwxNiBAQAorZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtl
KHJlcXVlc3QpOgorICAgIG1zZyA9ICJIVFRQLzEuMSAxMDEgV2ViU29ja2V0IFByb3RvY29sIEhh
bmRzaGFrZVxyXG4iCisgICAgbXNnICs9ICJVcGdyYWRlOiBXZWJTb2NrZXRcclxuIgorICAgIG1z
ZyArPSAiQ29ubmVjdGlvbjogVXBncmFkZVxyXG4iCisgICAgbXNnICs9ICJTZWMtV2ViU29ja2V0
LUxvY2F0aW9uOiAiICsgcmVxdWVzdC53c19sb2NhdGlvbiArICJcclxuIgorICAgIG1zZyArPSAi
U2VjLVdlYlNvY2tldC1PcmlnaW46ICIgKyByZXF1ZXN0LndzX29yaWdpbiArICJcclxuIgorICAg
IG1zZyArPSAiXHhhNTpcclxuIgorICAgIG1zZyArPSAiXHJcbiIKKyAgICBtc2cgKz0gcmVxdWVz
dC53c19jaGFsbGVuZ2VfbWQ1CisgICAgcmVxdWVzdC5jb25uZWN0aW9uLndyaXRlKG1zZykKKyAg
ICBwcmludCBtc2cKKyAgICByYWlzZSBFeGNlcHRpb24oIkFib3J0IHRoZSBjb25uZWN0aW9uIikg
IyBQcmV2ZW50cyBweXdlYnNvY2tldCBmcm9tIHNlbmRpbmcgaXRzIG93biBoYW5kc2hha2UgbWVz
c2FnZS4KKworCitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIHBh
c3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvYmFkLXN1Yi1wcm90b2NvbC1jb250cm9sLWNoYXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvYmFkLXN1Yi1wcm90b2NvbC1jb250
cm9sLWNoYXJzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTUyODBjOWYzNjlmZDA1OWQ0ZmM3
ZGIyMTNhZDVjMmZlOTc2OTdlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9iYWQtc3ViLXByb3RvY29sLWNvbnRyb2wtY2hhcnMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAwOiBX
cm9uZyBwcm90b2NvbCBmb3IgV2ViU29ja2V0ICdcdTAwMDAnCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMDogV3JvbmcgcHJvdG9jb2wgZm9yIFdlYlNvY2tldCAnXHUwMDA5JworQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDA6IFdyb25nIHByb3RvY29sIGZvciBXZWJTb2NrZXQgJ1x1MDAxQicKK1Rlc3Qg
V2ViU29ja2V0IGJhZCBzdWItcHJvdG9jb2wgbmFtZXMgYnkgY29udHJvbCBjaGFyYWN0ZXJzLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgbmV3IFdlYlNvY2tldCgid3M6Ly8x
MjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAiXDAiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFNZTlRB
WF9FUlI6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAu
MC4xOjg4ODAvc2ltcGxlIiwgIgkiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6
IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4
ODAvc2ltcGxlIiwgIgorIikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmV4cGVjdGVk
IEVPRi4KK1BBU1MgbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAi
CisiKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgRU9GLgorUEFTUyBu
ZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICIbIikgdGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvYmFkLXN1Yi1wcm90b2NvbC1j
b250cm9sLWNoYXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL2JhZC1zdWItcHJvdG9jb2wtY29udHJvbC1jaGFycy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5
ZTNlYzQ3NDlhZGVlYjVkOWVjN2IxMWU1M2JiZDIwZjk1NmFiZGMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2JhZC1zdWItcHJv
dG9jb2wtY29udHJvbC1jaGFycy5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIlRlc3QgV2ViU29ja2V0IGJhZCBzdWIt
cHJvdG9jb2wgbmFtZXMgYnkgY29udHJvbCBjaGFyYWN0ZXJzLiIpOworCitpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJl
ZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCisv
LyBGYWlscyBpZiBwcm90b2NvbCBjb250YWlucyBhbiBjaGFyYWN0ZXIgbGVzcyB0aGFuIFUrMDAy
MC4KK3Nob3VsZFRocm93KCduZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBs
ZSIsICJcdTAwMDAiKScpOworc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAu
MC4xOjg4ODAvc2ltcGxlIiwgIlx1MDAwOSIpJyk7CitzaG91bGRUaHJvdygnbmV3IFdlYlNvY2tl
dCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAiXHUwMDBBIiknKTsKK3Nob3VsZFRocm93
KCduZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICJcdTAwMEQiKScp
Oworc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvc2ltcGxl
IiwgIlx1MDAxQiIpJyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvYmFkLXN1Yi1wcm90b2NvbC1lbXB0
eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2JhZC1zdWItcHJvdG9jb2wtZW1wdHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhNjk3
ZWRhMWRlMmI1NThiYzM3MTYzMWMyMzk1ZGY1NDA4ZTQ2YTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2JhZC1zdWItcHJvdG9j
b2wtZW1wdHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAwOiBXcm9uZyBwcm90b2NvbCBmb3IgV2ViU29ja2V0ICcnCitUZXN0IFdlYlNvY2tldCBi
YWQgc3ViLXByb3RvY29sIG5hbWVzIChlbXB0eSkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICIi
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNlcHRpb24gMTIuCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9iYWQtc3Vi
LXByb3RvY29sLWVtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2JhZC1zdWItcHJvdG9jb2wtZW1wdHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MjFkMTA3
OTQwODc4OWNjYTY3ZTZkZWVkNWMzNTAzYjgzYjQ1Zjc3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9iYWQtc3ViLXByb3RvY29s
LWVtcHR5Lmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwv
ZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+CitkZXNjcmlwdGlvbigiVGVzdCBXZWJTb2NrZXQgYmFkIHN1Yi1wcm90b2NvbCBuYW1l
cyAoZW1wdHkpLiIpOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNv
Y2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCisvLyBGYWlscyBpZiBwcm90b2NvbCBpcyBhbiBl
bXB0eSBzdHJpbmcuCitzaG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6
ODg4MC9zaW1wbGUiLCAiIiknKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9iYWQtc3ViLXByb3RvY29s
LW5vbi1hc2NpaS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL2JhZC1zdWItcHJvdG9jb2wtbm9uLWFzY2lpLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jZmM3MGYxY2ViMzI1MTdhZmE5OTA0M2U5YzUyZGE4YWFmODY0OTI5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9i
YWQtc3ViLXByb3RvY29sLW5vbi1hc2NpaS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMiBAQAor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IFdyb25nIHByb3RvY29sIGZvciBXZWJTb2NrZXQgJ1x1
MDA3RicKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAwOiBXcm9uZyBwcm90b2NvbCBmb3IgV2ViU29j
a2V0ICdcdTAwODAnCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMDogV3JvbmcgcHJvdG9jb2wgZm9y
IFdlYlNvY2tldCAnXHUzMDQyJworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IFdyb25nIHByb3Rv
Y29sIGZvciBXZWJTb2NrZXQgJ1x1RkZGRicKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAwOiBXcm9u
ZyBwcm90b2NvbCBmb3IgV2ViU29ja2V0ICdcdUZFRkYnCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MDogV3JvbmcgcHJvdG9jb2wgZm9yIFdlYlNvY2tldCAnXHVGRkZFJworQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDA6IFdyb25nIHByb3RvY29sIGZvciBXZWJTb2NrZXQgJ1x1RDg0MFx1REMwQicKK1Rl
c3QgV2ViU29ja2V0IGJhZCBzdWItcHJvdG9jb2wgbmFtZXMgYnkgbm9uLUFTQ0lJIGNoYXJzLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgbmV3IFdlYlNvY2tldCgid3M6Ly8x
MjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAifyIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFY
X0VSUjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1MgbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4w
LjE6ODg4MC9zaW1wbGUiLCAiwoAiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6
IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4
ODAvc2ltcGxlIiwgIuOBgiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMi4KK1BBU1MgbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9z
aW1wbGUiLCAi77+/IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhj
ZXB0aW9uIDEyLgorUEFTUyBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBs
ZSIsICLvu78iKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNlcHRp
b24gMTIuCitQQVNTIG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvc2ltcGxlIiwg
Iu+/viIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAx
Mi4KK1BBU1MgbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAi8KCA
iyIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMi4K
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2JhZC1z
dWItcHJvdG9jb2wtbm9uLWFzY2lpLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL2JhZC1zdWItcHJvdG9jb2wtbm9uLWFzY2lpLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMmY2NjUwOWE2NjIxNjZhNDIyNTlkYjJmOWNjZDJmNGFkZDBiNThhNwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvYmFkLXN1
Yi1wcm90b2NvbC1ub24tYXNjaWkuaHRtbApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJUZXN0IFdlYlNvY2tldCBiYWQgc3Vi
LXByb3RvY29sIG5hbWVzIGJ5IG5vbi1BU0NJSSBjaGFycy4iKTsKKworaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZl
cmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKworLy8g
RmFpbHMgaWYgcHJvdG9jb2wgY29udGFpbnMgYW4gY2hhcmFjdGVyIGdyZWF0ZXIgdGhhbiBVKzAw
N0UuCitzaG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1w
bGUiLCAiXHUwMDdGIiknKTsKK3Nob3VsZFRocm93KCduZXcgV2ViU29ja2V0KCJ3czovLzEyNy4w
LjAuMTo4ODgwL3NpbXBsZSIsICJcdTAwODAiKScpOworc2hvdWxkVGhyb3coJ25ldyBXZWJTb2Nr
ZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvc2ltcGxlIiwgIlx1MzA0MiIpJyk7CitzaG91bGRUaHJv
dygnbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAiXHVGRkZGIikn
KTsKK3Nob3VsZFRocm93KCduZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBs
ZSIsICJcdUZFRkYiKScpOworc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAu
MC4xOjg4ODAvc2ltcGxlIiwgIlx1RkZGRSIpJyk7CisvLyBTdXJyb2dhdGUgcGFpcnMKK3Nob3Vs
ZFRocm93KCduZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICJcdUQ4
NDBcdURDMEIiKScpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2J1ZmZlcmVkQW1vdW50LWFmdGVyLWNs
b3NlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvYnVmZmVyZWRBbW91bnQtYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjkxYjRlYzc1YmFjMjM0NWM3MzkyZTkxNzM4YzQzMjkyZTJmNjVhZGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2J1ZmZlcmVk
QW1vdW50LWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitXZWIgU29j
a2V0IGJ1ZmZlcmVkQW1vdW50IGFmdGVyIGNsb3NlZAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK0Nvbm5lY3RlZC4KK0Nsb3NlZC4KK1BBU1Mgd3MucmVhZHlTdGF0ZSBpcyAzCitQQVNT
IHdzLmJ1ZmZlcmVkQW1vdW50IGlzIDAKK1BBU1Mgd3Muc2VuZCgnc2VuZCB0byBjbG9zZWQgc29j
a2V0JykgaXMgZmFsc2UKK1BBU1Mgd3MuYnVmZmVyZWRBbW91bnQgaXMgMjMKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2J1ZmZlcmVkQW1vdW50LWFm
dGVyLWNsb3NlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2J1ZmZlcmVkQW1vdW50LWFmdGVyLWNsb3NlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGQ2ODEzMWMx
YjgyYzhhYTM3YzY4ZDI5YTM0OWY1Yjc1ZWY0OWUwNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvYnVmZmVyZWRBbW91bnQtYWZ0
ZXItY2xvc2UuaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJXZWIgU29ja2V0IGJ1ZmZlcmVkQW1vdW50IGFmdGVyIGNs
b3NlZCIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVy
ZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCit2YXIg
d3MgPSBuZXcgV2ViU29ja2V0KCJ3czovL2xvY2FsaG9zdDo4ODgwL3dlYnNvY2tldC90ZXN0cy9o
eWJpL3NpbXBsZSIpOworCit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIkNv
bm5lY3RlZC4iKTsKKyAgICB3cy5jbG9zZSgpOworfTsKKword3Mub25jbG9zZSA9IGZ1bmN0aW9u
KCkKK3sKKyAgICBkZWJ1ZygiQ2xvc2VkLiIpOworICAgIHNob3VsZEJlKCJ3cy5yZWFkeVN0YXRl
IiwgIjMiKTsKKyAgICBzaG91bGRCZSgid3MuYnVmZmVyZWRBbW91bnQiLCAiMCIpOworICAgIHNo
b3VsZEJlRmFsc2UoIndzLnNlbmQoJ3NlbmQgdG8gY2xvc2VkIHNvY2tldCcpIik7CisgICAgLy8g
SWYgdGhlIGNvbm5lY3Rpb24gaXMgY2xvc2VkLCBidWZmZXJlZEFtb3VudCBhdHRyaWJ1dGUncyB2
YWx1ZSB3aWxsIG9ubHkKKyAgICAvLyBpbmNyZWFzZSB3aXRoIGVhY2ggY2FsbCB0byB0aGUgc2Vu
ZCgpIG1ldGhvZC4KKyAgICAvLyAodGhlIG51bWJlciBkb2VzIG5vdCByZXNldCB0byB6ZXJvIG9u
Y2UgdGhlIGNvbm5lY3Rpb24gY2xvc2VzKS4KKyAgICBzaG91bGRCZSgid3MuYnVmZmVyZWRBbW91
bnQiLCAiMjMiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK3ZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVz
dC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
Y2xpZW50LWNsb3NlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvY2xpZW50LWNsb3NlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNjY4
ZmQ5NDIzMjQ5MWY3YWZlOGQ1N2QxMTE1MjAzZWY0ZTU5MDkzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbGllbnQtY2xvc2Ut
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1dlYlNvY2tldDogVGVzdCBjbGllbnQtaW5p
dGlhdGVkIGNsb3NlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK0Nvbm5lY3RlZAor
UmVjZWl2ZWQ6IGNsb3NlX2ZyYW1lPSdceGZmXHgwMCcKK0Nsb3NlZAorUEFTUyByZWNlaXZlZE1l
c3NhZ2UgaXMgImNsb3NlX2ZyYW1lPSdcXHhmZlxceDAwJyIKK1BBU1MgY2xvc2VFdmVudC53YXND
bGVhbiBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaHliaS9jbGllbnQtY2xvc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvY2xpZW50LWNsb3NlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmRhNTE0MzMyOGYy
M2E2ZjA3YzVhMjA2YzYwMTRjOTMzMDcwOTY3MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xpZW50LWNsb3NlLmh0bWwKQEAg
LTAsMCArMSw0NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
Li4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlw
dGlvbigiV2ViU29ja2V0OiBUZXN0IGNsaWVudC1pbml0aWF0ZWQgY2xvc2UuIik7CisKK3dpbmRv
dy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhp
ZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK3ZhciB3cyA9IG5ldyBXZWJTb2Nr
ZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xpZW50LWNsb3Nl
Iik7Cit2YXIgY2xvc2VFdmVudDsKK3ZhciByZWNlaXZlZE1lc3NhZ2U7CisKK3dzLm9ub3BlbiA9
IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygiQ29ubmVjdGVkIik7CisgICAgd3MuY2xvc2UoKTsK
K307CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2VFdmVudCkKK3sKKyAgICBkZWJ1
ZygiUmVjZWl2ZWQ6ICIgKyBtZXNzYWdlRXZlbnQuZGF0YSk7CisgICAgcmVjZWl2ZWRNZXNzYWdl
ID0gbWVzc2FnZUV2ZW50LmRhdGE7Cit9OworCit3cy5vbmNsb3NlID0gZnVuY3Rpb24oZXZlbnQp
Cit7CisgICAgZGVidWcoIkNsb3NlZCIpOworICAgIGNsb3NlRXZlbnQgPSBldmVudDsKKyAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInJlY2VpdmVkTWVzc2FnZSIsICJjbG9zZV9mcmFtZT0nXFx4
ZmZcXHgwMCciKTsKKyAgICBzaG91bGRCZVRydWUoImNsb3NlRXZlbnQud2FzQ2xlYW4iKTsKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xpZW50LWNsb3NlX3dz
aC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xpZW50
LWNsb3NlX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZWQyOGJmZmZmMDI0OWY0YTBkN2JiY2MzZmI4MzJh
Yjg3OWMwODIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS9jbGllbnQtY2xvc2Vfd3NoLnB5CkBAIC0wLDAgKzEsMjMgQEAKK2Zy
b20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBtc2d1dGlsCisKKworZGVmIHdlYl9zb2NrZXRfZG9f
ZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAgIHBhc3MKKworCitkZWYgd2ViX3NvY2tldF90
cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgICMgV2FpdCBmb3IgYSBjbG9zZSBmcmFtZSBzZW50
IGZyb20gdGhlIGNsaWVudC4KKyAgICBjbG9zZV9mcmFtZSA9IHJlcXVlc3Qud3Nfc3RyZWFtLnJl
Y2VpdmVfYnl0ZXMoMikKKworICAgICMgVGVsbCB0aGUgY2xpZW50IHdoYXQgd2UgaGF2ZSByZWNl
aXZlZC4KKyAgICBtc2d1dGlsLnNlbmRfbWVzc2FnZShyZXF1ZXN0LCAnY2xvc2VfZnJhbWU9JXIn
ICUgY2xvc2VfZnJhbWUpCisKKyAgICAjIElmIHRoZSBmb2xsb3dpbmcgYXNzZXJ0aW9uIGZhaWxz
LCBBc3NlcnRpb25FcnJvciB3aWxsIGJlIHJhaXNlZCwKKyAgICAjIHdoaWNoIHdpbGwgcHJldmVu
dCBweXdlYnNvY2tldCBmcm9tIHNlbmRpbmcgYSBjbG9zZSBmcmFtZS4KKyAgICAjIEluIHRoaXMg
Y2FzZSwgdGhlIGNsaWVudCB3aWxsIGZhaWwgdG8gZmluaXNoIGNsb3NpbmcgaGFuZHNoYWtlLCB0
aHVzCisgICAgIyBjbG9zZUV2ZW50Lndhc0NsZWFuIHdpbGwgYmVjb21lIGZhbHNlLgorICAgIGFz
c2VydCBjbG9zZV9mcmFtZSA9PSAnXHhmZlx4MDAnCisKKyAgICAjIFByZXRlbmQgd2UgaGF2ZSBy
ZWNlaXZlZCBhIGNsb3NlIGZyYW1lIGZyb20gdGhlIGNsaWVudC4KKyAgICAjIEFmdGVyIHRoaXMg
ZnVuY3Rpb24gZXhpdHMsIHB5d2Vic29ja2V0IHdpbGwgc2VuZCBhIGNsb3NlIGZyYW1lIGF1dG9t
YXRpY2FsbHkuCisgICAgcmVxdWVzdC5jbGllbnRfdGVybWluYXRlZCA9IFRydWUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2UtYmVm
b3JlLW9wZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9jbG9zZS1iZWZvcmUtb3Blbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTdh
NTQyYTRkZmY2NTIzOTEyZWQ0NDYyMzJjNzczYzY4Y2M3YmQyMQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2UtYmVmb3Jl
LW9wZW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAwOiBXZWJTb2NrZXQgaXMgY2xvc2VkIGJlZm9yZSB0aGUgY29ubmVjdGlvbiBpcyBlc3RhYmxp
c2hlZC4KK1Rlc3QgaWYgV2ViIFNvY2tldCBmaXJlcyBjbG9zZSBldmVudCB3aGVuIFdlYlNvY2tl
dCBpcyBvcGVuZWQgYW5kIGNsb3NlZCBmb3JlIG9wZW4gZXZlbnQgaXMgcmVjZWl2ZWQuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworY2xvc2VkCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1iZWZvcmUtb3Blbi5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1iZWZvcmUtb3Bl
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmJiM2IxZDMyNDE4N2Y0ODZjM2E0MzViZmE2ZjMwMmI2YzU4ZDZj
NTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2Nsb3NlLWJlZm9yZS1vcGVuLmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiVGVzdCBpZiBXZWIgU29j
a2V0IGZpcmVzIGNsb3NlIGV2ZW50IHdoZW4gV2ViU29ja2V0IGlzIG9wZW5lZCBhbmQgY2xvc2Vk
IGZvcmUgb3BlbiBldmVudCBpcyByZWNlaXZlZC4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90
b2NvbEVuYWJsZWQiLCAwKTsKKwordmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4w
LjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5naW5nLWhhbmRzaGFrZSIpOword3Mub25j
bG9zZSA9IGZ1bmN0aW9uKCkgeworICAgIGRlYnVnKCJjbG9zZWQiKTsKKyAgICBmaW5pc2hKU1Rl
c3QoKTsKK307Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKK3dzLmNsb3NlKCk7Cis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1ldmVudC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Ns
b3NlLWV2ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNjA1Y2M5ZDkyZDg1NjM2ZDEyNTI3
OGQ5YzkwZjAzNTI5OTdmZDk5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1ldmVudC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxNiBAQAorTWFrZSBzdXJlIFdlYlNvY2tldCBmaXJlcyBDbG9zZUV2ZW50IHdoZW4gY2xv
c2VkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1dlYlNvY2tldCBpcyBvcGVuCitS
ZWNlaXZlZDogJ0hlbGxvIGZyb20gU2ltcGxlIFdTSC4nCitDbG9zZWQKK1BBU1MgY2xvc2VFdmVu
dFR5cGUgaXMgImNsb3NlIgorUEFTUyAnd2FzQ2xlYW4nIGluIGNsb3NlRXZlbnQgaXMgdHJ1ZQor
UEFTUyBjbG9zZUV2ZW50Lndhc0NsZWFuIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldFByb3RvdHlw
ZU9mKGNsb3NlRXZlbnQpID09PSBDbG9zZUV2ZW50LnByb3RvdHlwZSBpcyB0cnVlCitQQVNTIE9i
amVjdC5nZXRQcm90b3R5cGVPZihjbG9zZUV2ZW50KSAhPT0gRXZlbnQucHJvdG90eXBlIGlzIHRy
dWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Ns
b3NlLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2Nsb3NlLWV2ZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGNlZmVhNWU1OWM4MzVmZjFkMTRhMzg4
ODk1MzVhNWNkNWVhODNkNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2UtZXZlbnQuaHRtbApAQCAtMCwwICsxLDQ4IEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0
LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4v
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJNYWtlIHN1
cmUgV2ViU29ja2V0IGZpcmVzIENsb3NlRXZlbnQgd2hlbiBjbG9zZWQuIik7CisKK3dpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2
V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQo
IndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxlIik7CisKK3dz
Lm9ub3BlbiA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygiV2ViU29ja2V0IGlzIG9wZW4iKTsK
K307CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2VFdmVudCkKK3sKKyAgICBkZWJ1
ZygiUmVjZWl2ZWQ6ICciICsgbWVzc2FnZUV2ZW50LmRhdGEgKyAiJyIpOworfTsKKwordmFyIGNs
b3NlRXZlbnQ7Cit2YXIgY2xvc2VFdmVudFR5cGU7Cit3cy5vbmNsb3NlID0gZnVuY3Rpb24oZXZl
bnQpCit7CisgICAgZGVidWcoIkNsb3NlZCIpOworICAgIGNsb3NlRXZlbnQgPSBldmVudDsKKyAg
ICBjbG9zZUV2ZW50VHlwZSA9IGNsb3NlRXZlbnQudHlwZTsKKyAgICBzaG91bGRCZSgiY2xvc2VF
dmVudFR5cGUiLCAnImNsb3NlIicpCisgICAgc2hvdWxkQmVUcnVlKCInd2FzQ2xlYW4nIGluIGNs
b3NlRXZlbnQiKTsKKyAgICBzaG91bGRCZVRydWUoImNsb3NlRXZlbnQud2FzQ2xlYW4iKTsKKyAg
ICBzaG91bGRCZVRydWUoIk9iamVjdC5nZXRQcm90b3R5cGVPZihjbG9zZUV2ZW50KSA9PT0gQ2xv
c2VFdmVudC5wcm90b3R5cGUiKTsKKyAgICBzaG91bGRCZVRydWUoIk9iamVjdC5nZXRQcm90b3R5
cGVPZihjbG9zZUV2ZW50KSAhPT0gRXZlbnQucHJvdG90eXBlIik7CisgICAgZmluaXNoSlNUZXN0
KCk7Cit9OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLW9uLW5hdmlnYXRlLW5ldy1sb2NhdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2Nsb3NlLW9uLW5hdmlnYXRlLW5ldy1sb2NhdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTc2NDI3ZWRlYzY3NjU4M2IwNzA0MTI0Mzc0YzJhYTU0ODYyNDUwYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Ut
b24tbmF2aWdhdGUtbmV3LWxvY2F0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitU
ZXN0IGlmIFdlYiBTb2NrZXQgaXMgY2xvc2VkIHdoZW4gbmF2aWdhdGluZyB0byBuZXcgbG9jYXRp
b24uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyB3cyBvbiBtYXN0ZXIgZG9j
dW1lbnQgaXMgcmVhZHkuCitQQVNTIGluc2VydCBhIGlmcmFtZSwgd2hlcmUgb3BlbiB3cyBjYWxs
ZWQgJ3NvY2tldDEnCitQQVNTICdzb2NrZXQxJyBpcyBzZW50IHRvIHRoZSBzZXJ2ZXIuIG5hdmln
YXRlIHRvIG5ldyBsb2NhdGlvbi4gZXhwZWN0IHJlY2VpdmluZyAnc29ja2V0MScgb24gd3MuLi4K
K1BBU1MgY2xvc2VkU29ja2V0IGlzICJzb2NrZXQxIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Utb24tbmF2aWdhdGUtbmV3LWxvY2F0aW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3Nl
LW9uLW5hdmlnYXRlLW5ldy1sb2NhdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiZmNkZTcwMmY5OWUw
NjAyZTJiMjZmZGJhMzczNjU5YmZkYjc4ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLW9uLW5hdmlnYXRlLW5ldy1s
b2NhdGlvbi5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgorZGVzY3JpcHRpb24oIlRlc3QgaWYgV2ViIFNvY2tldCBpcyBjbG9zZWQgd2hlbiBu
YXZpZ2F0aW5nIHRvIG5ldyBsb2NhdGlvbi4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0
cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2Nv
bEVuYWJsZWQiLCAwKTsKKwordmFyIGZyYW1lRGl2OwordmFyIGNsb3NlZFNvY2tldDsKKwordmFy
IHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMv
aHliaS9jbG9zZS1vbi11bmxvYWQiKTsKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uKCkKK3sKKyAgICBk
ZWJ1ZygiUEFTUyB3cyBvbiBtYXN0ZXIgZG9jdW1lbnQgaXMgcmVhZHkuIik7CisgICAgZnJhbWVE
aXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgICBmcmFtZURpdi5zcmMg
PSAicmVzb3VyY2VzL2Nsb3NlLW9uLXVubG9hZC1pZnJhbWUuaHRtbCI7CisgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChmcmFtZURpdik7CisgICAgZGVidWcoIlBBU1MgaW5zZXJ0IGEgaWZy
YW1lLCB3aGVyZSBvcGVuIHdzIGNhbGxlZCAnc29ja2V0MSciKTsKK307Cit3cy5vbm1lc3NhZ2Ug
PSBmdW5jdGlvbihldnQpCit7CisgICAgY2xvc2VkU29ja2V0ID0gZXZ0LmRhdGE7CisgICAgd3Mu
Y2xvc2UoKTsKK307Cit3cy5vbmNsb3NlID0gZnVuY3Rpb24oKQoreworICAgIHNob3VsZEJlKCJj
bG9zZWRTb2NrZXQiLCAnInNvY2tldDEiJyk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCitk
b2N1bWVudC5pZnJhbWVSZWFkeSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygiUEFTUyAnc29j
a2V0MScgaXMgc2VudCB0byB0aGUgc2VydmVyLiBuYXZpZ2F0ZSB0byBuZXcgbG9jYXRpb24uIGV4
cGVjdCByZWNlaXZpbmcgJ3NvY2tldDEnIG9uIHdzLi4uIik7CisgICAgZnJhbWVEaXYuc3JjID0g
ImhhbmRsZXJfbWFwLnR4dCI7Cit9OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLW9uLXVubG9h
ZC1hbmQtZm9yY2UtZ2MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS9jbG9zZS1vbi11bmxvYWQtYW5kLWZvcmNlLWdjLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42YTM0N2E0MmMwZDY0Y2MwYTZkY2UwOThhOWMwMDRlZTVmYjNmNTQzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS9jbG9zZS1vbi11bmxvYWQtYW5kLWZvcmNlLWdjLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEyIEBACitUZXN0IGlmIFdlYiBTb2NrZXQgaXMgY2xvc2VkIG9uIHVubG9hZCBhbmQgbm90IGNy
YXNoZWQgaWYgZ2FyYmFnZSBjb2xsZWN0ZWQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIHdzIG9uIG1hc3RlciBkb2N1bWVudCBpcyByZWFkeS4KK1BBU1MgaW5zZXJ0IGEgaWZy
YW1lLCB3aGVyZSBvcGVuIHdzIGNhbGxlZCAnc29ja2V0MScKK1BBU1MgJ3NvY2tldDEnIGlzIHNl
bnQgdG8gdGhlIHNlcnZlci4gdW5sb2FkIHRoZSBpZnJhbWUgYW5kIGZvcmNlIGdhcmJhZ2UgY29s
bGVjdGlvbi4gZXhwZWN0IHJlY2VpdmluZyAnc29ja2V0MScgb24gd3MgYW5kIG5vIGNyYXNoLi4u
CitQQVNTIGNsb3NlZFNvY2tldCBpcyAic29ja2V0MSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLW9uLXVubG9hZC1hbmQtZm9yY2UtZ2Mu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Ut
b24tdW5sb2FkLWFuZC1mb3JjZS1nYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1MzE3YWMxYmM4MDcyZGJi
Mjc2YjUxNTJlNDExOTdiNzBkODc5NjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLW9uLXVubG9hZC1hbmQtZm9yY2Ut
Z2MuaHRtbApAQCAtMCwwICsxLDYxIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KK2Rlc2NyaXB0aW9uKCJUZXN0IGlmIFdlYiBTb2NrZXQgaXMgY2xvc2VkIG9uIHVubG9hZCBh
bmQgbm90IGNyYXNoZWQgaWYgZ2FyYmFnZSBjb2xsZWN0ZWQiKTsKKword2luZG93LmpzVGVzdElz
QXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2Nr
ZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKworZnVuY3Rpb24gZ2MoKQoreworICAgIGlmICh3aW5k
b3cuR0NDb250cm9sbGVyKQorICAgICAgICByZXR1cm4gR0NDb250cm9sbGVyLmNvbGxlY3QoKTsK
KworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDA7IGkrKykgeyAvLyA+IGZvcmNlIGdhcmJh
Z2UgY29sbGVjdGlvbiAoRkYgcmVxdWlyZXMgYWJvdXQgOUsgYWxsb2NhdGlvbnMgYmVmb3JlIGEg
Y29sbGVjdCkKKyAgICAgICAgdmFyIHMgPSBuZXcgU3RyaW5nKCJhYmMiKTsKKyAgICB9Cit9Owor
Cit2YXIgZnJhbWVEaXY7Cit2YXIgY2xvc2VkU29ja2V0OworCit2YXIgd3MgPSBuZXcgV2ViU29j
a2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLW9uLXVu
bG9hZCIpOword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJQQVNTIHdzIG9u
IG1hc3RlciBkb2N1bWVudCBpcyByZWFkeS4iKTsKKyAgICBmcmFtZURpdiA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImlmcmFtZSIpOworICAgIGZyYW1lRGl2LnNyYyA9ICJyZXNvdXJjZXMvY2xv
c2Utb24tdW5sb2FkLWlmcmFtZS5odG1sIjsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGZyYW1lRGl2KTsKKyAgICBkZWJ1ZygiUEFTUyBpbnNlcnQgYSBpZnJhbWUsIHdoZXJlIG9wZW4g
d3MgY2FsbGVkICdzb2NrZXQxJyIpOworfTsKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2dCkK
K3sKKyAgICBjbG9zZWRTb2NrZXQgPSBldnQuZGF0YTsKKyAgICB3cy5jbG9zZSgpOworfTsKK3dz
Lm9uY2xvc2UgPSBmdW5jdGlvbigpCit7CisgICAgc2hvdWxkQmUoImNsb3NlZFNvY2tldCIsICci
c29ja2V0MSInKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK2RvY3VtZW50LmlmcmFtZVJl
YWR5ID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJQQVNTICdzb2NrZXQxJyBpcyBzZW50IHRv
IHRoZSBzZXJ2ZXIuIHVubG9hZCB0aGUgaWZyYW1lIGFuZCBmb3JjZSBnYXJiYWdlIGNvbGxlY3Rp
b24uIGV4cGVjdCByZWNlaXZpbmcgJ3NvY2tldDEnIG9uIHdzIGFuZCBubyBjcmFzaC4uLiIpOwor
ICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZnJhbWVEaXYpOworICAgIGdjKCk7Cit9Owor
Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLW9uLXVubG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLW9uLXVubG9hZC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Y0NTI3ODE3ZTIwMzdlNDk0ODkzN2MzNmUyNzJlOThjZGQ4
Yzc3MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvY2xvc2Utb24tdW5sb2FkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBA
CitUZXN0IGlmIFdlYiBTb2NrZXQgaXMgY2xvc2VkIG9uIHVubG9hZAorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1Mgd3Mgb24gbWFzdGVyIGRvY3VtZW50IGlzIHJlYWR5LgorUEFT
UyBpbnNlcnQgYSBpZnJhbWUsIHdoZXJlIG9wZW4gd3MgY2FsbGVkICdzb2NrZXQxJworUEFTUyAn
c29ja2V0MScgaXMgc2VudCB0byB0aGUgc2VydmVyLiB1bmxvYWQgdGhlIGlmcmFtZS4gZXhwZWN0
IHJlY2VpdmluZyAnc29ja2V0MScgb24gd3MuLi4KK1BBU1MgY2xvc2VkU29ja2V0IGlzICJzb2Nr
ZXQxIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
Y2xvc2Utb24tdW5sb2FkLXJlZmVyZW5jZS1pbi1wYXJlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1vbi11bmxvYWQtcmVm
ZXJlbmNlLWluLXBhcmVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjkxMTE2ZDhkMmMzNjFl
MGNlODhiZTVlMzFlMDY5ZjIxZTVkM2ZhMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Utb24tdW5sb2FkLXJlZmVyZW5j
ZS1pbi1wYXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK1Rlc3QgaWYgV2ViIFNv
Y2tldCBvcGVuZWQgaW4gaWZyYW1lIGJ1dCByZWZlcnJlZCBpbiBwYXJlbnQgZG9jdW1lbnQgaXMg
Y2xvc2VkIG9uIHVubG9hZGluZyB0aGUgZnJhbWUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworUEFTUyB3cyBvbiBtYXN0ZXIgZG9jdW1lbnQgaXMgcmVhZHkuCitQQVNTIGluc2VydCBh
IGlmcmFtZSwgd2hlcmUgb3BlbiB3cyBjYWxsZWQgJ3NvY2tldDEnCitQQVNTIGRvY3VtZW50LmNo
aWxkV2ViU29ja2V0IGlzIG5vbi1udWxsLgorUEFTUyAnc29ja2V0MScgaXMgc2VudCB0byB0aGUg
c2VydmVyLiB1bmxvYWQgdGhlIGlmcmFtZS4gZXhwZWN0IHJlY2VpdmluZyAnc29ja2V0MScgb24g
d3MuLi4KK1BBU1MgY2xvc2VkU29ja2V0IGlzICJzb2NrZXQxIgorUEFTUyBkb2N1bWVudC5jaGls
ZFdlYlNvY2tldC5yZWFkeVN0YXRlIGlzIDMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLW9uLXVubG9hZC1yZWZlcmVuY2UtaW4tcGFyZW50
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3Nl
LW9uLXVubG9hZC1yZWZlcmVuY2UtaW4tcGFyZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjI4ZGUwYzU2
YTk5ZGQ5MmZmYzc5NjZkZjBkNTcxZjc0Y2JlYmVkNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Utb24tdW5sb2FkLXJl
ZmVyZW5jZS1pbi1wYXJlbnQuaHRtbApAQCAtMCwwICsxLDUzIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJUZXN0IGlmIFdlYiBTb2NrZXQgb3BlbmVk
IGluIGlmcmFtZSBidXQgcmVmZXJyZWQgaW4gcGFyZW50IGRvY3VtZW50IGlzIGNsb3NlZCBvbiB1
bmxvYWRpbmcgdGhlIGZyYW1lLiIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Citp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxl
ZCIsIDApOworCit2YXIgZnJhbWVEaXY7Cit2YXIgY2xvc2VkU29ja2V0OworZG9jdW1lbnQuY2hp
bGRXZWJTb2NrZXQgPSBudWxsOworCit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4w
LjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLW9uLXVubG9hZCIpOword3Mub25v
cGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJQQVNTIHdzIG9uIG1hc3RlciBkb2N1bWVu
dCBpcyByZWFkeS4iKTsKKyAgICBmcmFtZURpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlm
cmFtZSIpOworICAgIGZyYW1lRGl2LnNyYyA9ICJyZXNvdXJjZXMvY2xvc2Utb24tdW5sb2FkLWlm
cmFtZS1yZWZlcmVuY2UtaW4tcGFyZW50Lmh0bWwiOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoZnJhbWVEaXYpOworICAgIGRlYnVnKCJQQVNTIGluc2VydCBhIGlmcmFtZSwgd2hlcmUg
b3BlbiB3cyBjYWxsZWQgJ3NvY2tldDEnIik7Cit9Oword3Mub25tZXNzYWdlID0gZnVuY3Rpb24o
ZXZ0KQoreworICAgIGNsb3NlZFNvY2tldCA9IGV2dC5kYXRhOworICAgIHdzLmNsb3NlKCk7Cit9
Oword3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBzaG91bGRCZSgiY2xvc2VkU29ja2V0
IiwgJyJzb2NrZXQxIicpOworICAgIHNob3VsZEJlKCJkb2N1bWVudC5jaGlsZFdlYlNvY2tldC5y
ZWFkeVN0YXRlIiwgIjMiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK2RvY3VtZW50Lmlm
cmFtZVJlYWR5ID0gZnVuY3Rpb24oKQoreworICAgIHNob3VsZEJlTm9uTnVsbCgiZG9jdW1lbnQu
Y2hpbGRXZWJTb2NrZXQiKTsKKyAgICBkZWJ1ZygiUEFTUyAnc29ja2V0MScgaXMgc2VudCB0byB0
aGUgc2VydmVyLiB1bmxvYWQgdGhlIGlmcmFtZS4gZXhwZWN0IHJlY2VpdmluZyAnc29ja2V0MScg
b24gd3MuLi4iKTsKKyAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGZyYW1lRGl2KTsKK307
CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Utb24tdW5sb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLW9uLXVubG9hZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjM4YWU1ODY4OWQ3ODliNTUwYzUwNmEyNzgxZjcxODMyNzZjMTM5ZWUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Ns
b3NlLW9uLXVubG9hZC5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIlRlc3QgaWYgV2ViIFNvY2tldCBpcyBjbG9zZWQg
b24gdW5sb2FkIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisK
K3ZhciBmcmFtZURpdjsKK3ZhciBjbG9zZWRTb2NrZXQ7CisKK3ZhciB3cyA9IG5ldyBXZWJTb2Nr
ZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Utb24tdW5s
b2FkIik7Cit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIlBBU1Mgd3Mgb24g
bWFzdGVyIGRvY3VtZW50IGlzIHJlYWR5LiIpOworICAgIGZyYW1lRGl2ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiaWZyYW1lIik7CisgICAgZnJhbWVEaXYuc3JjID0gInJlc291cmNlcy9jbG9z
ZS1vbi11bmxvYWQtaWZyYW1lLmh0bWwiOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
ZnJhbWVEaXYpOworICAgIGRlYnVnKCJQQVNTIGluc2VydCBhIGlmcmFtZSwgd2hlcmUgb3BlbiB3
cyBjYWxsZWQgJ3NvY2tldDEnIik7Cit9Oword3Mub25tZXNzYWdlID0gZnVuY3Rpb24oZXZ0KQor
eworICAgIGNsb3NlZFNvY2tldCA9IGV2dC5kYXRhOworICAgIHdzLmNsb3NlKCk7Cit9Oword3Mu
b25jbG9zZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBzaG91bGRCZSgiY2xvc2VkU29ja2V0IiwgJyJz
b2NrZXQxIicpOworICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKworZG9jdW1lbnQuaWZyYW1lUmVh
ZHkgPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIlBBU1MgJ3NvY2tldDEnIGlzIHNlbnQgdG8g
dGhlIHNlcnZlci4gdW5sb2FkIHRoZSBpZnJhbWUuIGV4cGVjdCByZWNlaXZpbmcgJ3NvY2tldDEn
IG9uIHdzLi4uIik7CisgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChmcmFtZURpdik7Cit9
OyAKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1vbi11bmxvYWRfd3NoLnB5IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1vbi11bmxvYWRfd3NoLnB5
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjRjMTMxMTViMjQzOWJmYjc2ZDMxMjg2YWRjZTllYzY1ZTEwNDYyOTIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2Nsb3NlLW9uLXVubG9hZF93c2gucHkKQEAgLTAsMCArMSw1NiBAQAorIyBDb3B5cmlnaHQg
MjAwOSwgR29vZ2xlIEluYy4KKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
IyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisKKworZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IG1zZ3V0aWwKKworCisjIHdlIGRv
bid0IHVzZSBzZXQoKSBoZXJlLCBiZWNhdXNlIHB5dGhvbiBvbiBtYWMgdGlnZXIgZG9lc24ndCBz
dXBwb3J0IGl0LgorY29ubmVjdGlvbnMgPSB7fQorCisKK2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJh
X2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICBwYXNzICAjIEFsd2F5cyBhY2NlcHQuCisKKworZGVm
IHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICBnbG9iYWwgY29ubmVjdGlv
bnMKKyAgICBjb25uZWN0aW9uc1tyZXF1ZXN0XSA9IFRydWUKKyAgICBzb2NrZXROYW1lID0gTm9u
ZQorICAgIHRyeToKKyAgICAgICAgc29ja2V0TmFtZSA9IG1zZ3V0aWwucmVjZWl2ZV9tZXNzYWdl
KHJlcXVlc3QpCisgICAgICAgICMgbm90aWZ5IHRvIGNsaWVudCB0aGF0IHNvY2tldE5hbWUgaXMg
cmVjZWl2ZWQgYnkgc2VydmVyLgorICAgICAgICBtc2d1dGlsLnNlbmRfbWVzc2FnZShyZXF1ZXN0
LCBzb2NrZXROYW1lKQorICAgICAgICBtc2d1dGlsLnJlY2VpdmVfbWVzc2FnZShyZXF1ZXN0KSAg
IyB3YWl0LCBhbmQgZXhjZXB0aW9uIGJ5IGNsb3NlLgorICAgICAgICBzb2NrZXROYW1lID0gc29j
a2V0TmFtZSArICc6IHJlY2VpdmUgbmV4dCBtZXNzYWdlJworICAgIGZpbmFsbHk6CisgICAgICAg
ICMgcmVxdWVzdCBpcyBjbG9zZWQuIG5vdGlmeSB0aGlzIHNvY2tldE5hbWUgdG8gb3RoZXIgd2Vi
IHNvY2tldHMuCisgICAgICAgIGRlbCBjb25uZWN0aW9uc1tyZXF1ZXN0XQorICAgICAgICBmb3Ig
d3MgaW4gY29ubmVjdGlvbnMua2V5cygpOgorICAgICAgICAgICAgbXNndXRpbC5zZW5kX21lc3Nh
Z2Uod3MsIHNvY2tldE5hbWUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLXVucmVmLXdlYnNvY2tldC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLXVucmVmLXdl
YnNvY2tldC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzlmNTU1NTYyYjYzNmZhNWMzY2I3MTM4
NWQzMDY2NTQyZmU3ZjllZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2UtdW5yZWYtd2Vic29ja2V0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEwIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMDogV2ViU29ja2V0IGlz
IGNsb3NlZCBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQuCitUZXN0IGlmIFdl
YiBTb2NrZXQgaXMgY2xvc2VkIHdoaWxlIGhhbmRzaGFraW5nIGFuZCB1bnJlZmVyZW5jZWQsIGl0
IHNob3VsZCBmaXJlIGNsb3NlIGV2ZW50IGF0IG1vc3Qgb25jZS4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCitQQVNTIDEgaXMgPj0gY291bnRDbG9zZUV2ZW50CitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS11bnJlZi13ZWJzb2Nr
ZXQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xv
c2UtdW5yZWYtd2Vic29ja2V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGM5MzZmNTcxZmQ1NjgxNzU2NTY5
ZGU4N2QwNzdkYWE5ZTVmMWI5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2UtdW5yZWYtd2Vic29ja2V0Lmh0bWwKQEAg
LTAsMCArMSwzNyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
Li4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlw
dGlvbigiVGVzdCBpZiBXZWIgU29ja2V0IGlzIGNsb3NlZCB3aGlsZSBoYW5kc2hha2luZyBhbmQg
dW5yZWZlcmVuY2VkLCBpdCBzaG91bGQgZmlyZSBjbG9zZSBldmVudCBhdCBtb3N0IG9uY2UuIik7
CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJX
ZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK3ZhciBjb3VudENs
b3NlRXZlbnQgPSAwOworCitmdW5jdGlvbiBlbmRUZXN0KCkKK3sKKyAgICBzaG91bGRCZUdyZWF0
ZXJUaGFuT3JFcXVhbCgiMSIsICJjb3VudENsb3NlRXZlbnQiKTsKKyAgICBmaW5pc2hKU1Rlc3Qo
KTsKK307CisKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vi
c29ja2V0L3Rlc3RzL2h5YmkvaGFuZ2luZy1oYW5kc2hha2UiKTsKK3dzLm9uY2xvc2UgPSBmdW5j
dGlvbigpIHsKKyAgICBjb3VudENsb3NlRXZlbnQgKz0gMTsKK307Cit3cy5jbG9zZSgpOword3Mg
PSBudWxsOworZ2MoKTsKK3NldFRpbWVvdXQoImVuZFRlc3QoKSIsIDEwMCk7Cit2YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4u
L2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL2Nyb3NzLW9yaWdpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nyb3NzLW9yaWdpbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNGM5ZjA5ZTYzNTIxMzk5YmI5NDBmMGMyY2I2M2YxZjgwMDNhYjlhNwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY3Jvc3Mt
b3JpZ2luLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitXZWIgU29ja2V0IENyb3NzIE9y
aWdpbiB0ZXN0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworZG9jdW1lbnQuZG9tYWlu
PTEyNy4wLjAuMQord3MudXJsPXdzOi8vbG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5
Ymkvb3JpZ2luLXRlc3QKK0Nvbm5lY3RlZAorUEFTUyBvcmlnaW4gaXMgImh0dHA6Ly8xMjcuMC4w
LjE6ODAwMCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2Nyb3NzLW9yaWdpbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9jcm9zcy1vcmlnaW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMmY2NDdhZjlkZmI4M2Rm
MTFmZjllZmNhYmY4MjgxMGY0YjUwMzQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jcm9zcy1vcmlnaW4uaHRtbApAQCAtMCww
ICsxLDU5IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8u
Li9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9u
KCJXZWIgU29ja2V0IENyb3NzIE9yaWdpbiB0ZXN0Iik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJv
dG9jb2xFbmFibGVkIiwgMCk7CisKK3ZhciBvcmlnaW47CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQor
eworICAgIHNob3VsZEJlKCJvcmlnaW4iLCAnImh0dHA6Ly8xMjcuMC4wLjE6ODAwMCInKTsKKyAg
ICBjbGVhclRpbWVvdXQodGltZW91dElEKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKwordmFy
IHVybCA9ICJ3czovL2xvY2FsaG9zdDo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL29yaWdpbi10
ZXN0IjsKK2RlYnVnKCJkb2N1bWVudC5kb21haW49IiArIGRvY3VtZW50LmRvbWFpbik7CitkZWJ1
Zygid3MudXJsPSIgKyB1cmwpOwordmFyIHdzID0gbmV3IFdlYlNvY2tldCh1cmwpOworCit3cy5v
bm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIkNvbm5lY3RlZCIpOworfTsKKword3Mu
b25tZXNzYWdlID0gZnVuY3Rpb24gKG1lc3NhZ2VFdmVudCkKK3sKKyAgICBvcmlnaW4gPSBtZXNz
YWdlRXZlbnQuZGF0YTsKKyAgICB3cy5jbG9zZSgpOworfTsKKword3Mub25jbG9zZSA9IGZ1bmN0
aW9uKCkKK3sKKyAgICBlbmRUZXN0KCk7Cit9OworCitmdW5jdGlvbiB0aW1lT3V0Q2FsbGJhY2so
KQoreworICAgIGRlYnVnKCJUaW1lZCBvdXQgaW4gc3RhdGU6ICIgKyB3cy5yZWFkeVN0YXRlKTsK
KyAgICBlbmRUZXN0KCk7Cit9CisKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0KHRpbWVPdXRD
YWxsYmFjaywgMzAwMCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNoby1jaGFsbGVuZ2Vfd3NoLnB5
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvLWNoYWxs
ZW5nZV93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzkwZDQ0MTUwOWNhMzA0MzRlYWJlM2RjNDU0MzA2MTZm
NWIzM2NiZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvZWNoby1jaGFsbGVuZ2Vfd3NoLnB5CkBAIC0wLDAgKzEsMTMgQEAKK2Zy
b20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBtc2d1dGlsCisKKworZGVmIHdlYl9zb2NrZXRfZG9f
ZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAgIHBhc3MKKworCitkZWYgd2ViX3NvY2tldF90
cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3Qs
IF9oZXhpZnkocmVxdWVzdC53c19jaGFsbGVuZ2UpKQorCisKK2RlZiBfaGV4aWZ5KGJ5dGVzKToK
KyAgICByZXR1cm4gJzonLmpvaW4oWyclMDJYJyAlIG9yZChieXRlKSBmb3IgYnl0ZSBpbiBieXRl
c10pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2VjaG8tY29va2llX3dzaC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvZWNoby1jb29raWVfd3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZhYTI1Zjk4MGUwYmU1
MmZmNDRiMDFiMjNlNDIwZGNjM2Q0NzAzMzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2VjaG8tY29va2llX3dzaC5weQpAQCAt
MCwwICsxLDM4IEBACisjIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisj
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMg
ZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
IyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
IyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitmcm9tIG1vZF9weXdlYnNvY2tldCBp
bXBvcnQgbXNndXRpbAorCisKK2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1
ZXN0KToKKyAgICBwYXNzCisKKworZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1ZXN0
KToKKyAgICBtc2d1dGlsLnNlbmRfbWVzc2FnZShyZXF1ZXN0LCAgcmVxdWVzdC5oZWFkZXJzX2lu
WydDb29raWUnXSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvZWNoby1sb2NhdGlvbl93c2gucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2VjaG8tbG9jYXRpb25fd3NoLnB5Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMz
OTA1NzBhYmFjODFiNTg1OTJjZmI0YmMwZGNhNWVlMDFiZDBiMjkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2VjaG8tbG9jYXRp
b25fd3NoLnB5CkBAIC0wLDAgKzEsMzkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMg
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
IyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK2Zyb20gbW9k
X3B5d2Vic29ja2V0IGltcG9ydCBtc2d1dGlsCisKKworZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFf
aGFuZHNoYWtlKHJlcXVlc3QpOgorICAgIHBhc3MKKworCitkZWYgd2ViX3NvY2tldF90cmFuc2Zl
cl9kYXRhKHJlcXVlc3QpOgorICAgIHByaW50IHJlcXVlc3Qud3NfbG9jYXRpb24KKyAgICBtc2d1
dGlsLnNlbmRfbWVzc2FnZShyZXF1ZXN0LCByZXF1ZXN0LndzX2xvY2F0aW9uKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvX3dzaC5w
eSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNob193c2gu
cHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzljM2YxMDU3NWEyZjI4MWI1NDJhZTFhYzlkYmZjZTQ0OWEwYzk3MAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvZWNob193c2gucHkKQEAgLTAsMCArMSw0NiBAQAorIyBDb3B5cmlnaHQgMjAwOSwgR29v
Z2xlIEluYy4KKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
IyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKwor
ZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IG1zZ3V0aWwKKworCitfR09PREJZRV9NRVNTQUdF
ID0gJ0dvb2RieWUnCisKKworZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVl
c3QpOgorICAgIHBhc3MgICMgQWx3YXlzIGFjY2VwdC4KKworCitkZWYgd2ViX3NvY2tldF90cmFu
c2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIHdoaWxlIFRydWU6CisgICAgICAgIGxpbmUgPSBtc2d1
dGlsLnJlY2VpdmVfbWVzc2FnZShyZXF1ZXN0KQorICAgICAgICBtc2d1dGlsLnNlbmRfbWVzc2Fn
ZShyZXF1ZXN0LCBsaW5lKQorICAgICAgICBpZiBsaW5lID09IF9HT09EQllFX01FU1NBR0U6Cisg
ICAgICAgICAgICByZXR1cm4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5YmkvZXJyb3ItZGV0ZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZXJyb3ItZGV0ZWN0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42YzY5ZWVkMDM4ZmVlMzJmZDA5YTNiOGFlYTNjMzU1NGI3YzQ2NjQ0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS9lcnJvci1kZXRlY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK01ha2Ugc3Vy
ZSBXZWJTb2NrZXQgY29ycmVjdGx5IGZpcmUgZXJyb3IgZXZlbnQgZm9yIHVua25vd24gZnJhbWUg
dHlwZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitXZWJTb2NrZXQgaXMgb3Blbgor
cmVjZWl2ZWQ6ZG9uZQorV2ViU29ja2V0IGlzIGNsb3NlZAorUEFTUyBlcnJvckNvdW50IGlzIDI1
NQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZXJy
b3ItZGV0ZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2Vycm9yLWRldGVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkNTM0ZTU3ZmVmOTNjYzhiOTkyNDhk
OTcyMjgwNmEzN2VkMTQyNmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Vycm9yLWRldGVjdC5odG1sCkBAIC0wLDAgKzEsMzkg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8u
Li9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIk1ha2Ug
c3VyZSBXZWJTb2NrZXQgY29ycmVjdGx5IGZpcmUgZXJyb3IgZXZlbnQgZm9yIHVua25vd24gZnJh
bWUgdHlwZS4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwor
dmFyIGVycm9yQ291bnQgPSAwOworCit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4w
LjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL3Vua25vd24tZnJhbWUtdHlwZSIpOword3Mu
b25vcGVuID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMgb3BlbiIpOwor
fTsKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChldnQpIHsKKyAgICBkZWJ1ZygicmVjZWl2ZWQ6
IiArIGV2dC5kYXRhKTsKK307Cit3cy5vbmVycm9yID0gZnVuY3Rpb24gKCkgeworICAgIGVycm9y
Q291bnQgKz0gMTsKK307Cit3cy5vbmNsb3NlID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJX
ZWJTb2NrZXQgaXMgY2xvc2VkIik7CisgICAgc2hvdWxkQmUoImVycm9yQ291bnQiLCAiMjU1Iik7
CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2ZpeGVkLW9yaWdp
bl93c2gucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Zp
eGVkLW9yaWdpbl93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTM4ZmI4M2NiNGM4YmRiOGYzMjBiZDgwN2Ji
NTIzYjk0OGZkYTRhNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvZml4ZWQtb3JpZ2luX3dzaC5weQpAQCAtMCwwICsxLDM4IEBA
CisjIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
IworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9u
LgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMg
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisj
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKworCitmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgbXNndXRp
bAorCisKK2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICBy
ZXF1ZXN0LndzX29yaWdpbiA9ICdodHRwOi8vZXhhbXBsZS5jb20nCisKKworZGVmIHdlYl9zb2Nr
ZXRfdHJhbnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICBtc2d1dGlsLnNlbmRfbWVzc2FnZShyZXF1
ZXN0LCByZXF1ZXN0LndzX29yaWdpbikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZnJhbWUtbGVuZ3RoLWxvbmdlci10aGFuLWJ1ZmZlci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L2ZyYW1lLWxlbmd0aC1sb25nZXItdGhhbi1idWZmZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFmMzc3MDBmYTU3ODE5NTA0NmVmYjRhZGM4M2UxYjBkZDNhODFiMzkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxl
bmd0aC1sb25nZXItdGhhbi1idWZmZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK01h
a2Ugc3VyZSBXZWJTb2NrZXQgY29ycmVjdGx5IHNraXAgbGVuZ3RoZWQgZnJhbWUgZXZlbiBpZiBy
ZWNlaXZlZCBkYXRhIGhhcyBpbmNvbXBsZXRlIGZyYW1lLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKK1dlYlNvY2tldCBpcyBvcGVuCityZWNlaXZlZDpoZWxsbworV2ViU29ja2V0IGlz
IGNsb3NlZAorMQorUEFTUyBhcmVBcnJheXNFcXVhbChyZWNlaXZlZF9tZXNzYWdlcywgZXhwZWN0
ZWRfbWVzc2FnZXMpIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxlbmd0aC1sb25nZXItdGhhbi1idWZmZXIuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZnJhbWUtbGVuZ3RoLWxv
bmdlci10aGFuLWJ1ZmZlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5NzhkMTYyOGM4YTZlYjUyMDdiMDMy
ZWRlMjZlMGY3NjhhOGE5ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxlbmd0aC1sb25nZXItdGhhbi1idWZmZXIu
aHRtbApAQCAtMCwwICsxLDQ5IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4K
K2Rlc2NyaXB0aW9uKCJNYWtlIHN1cmUgV2ViU29ja2V0IGNvcnJlY3RseSBza2lwIGxlbmd0aGVk
IGZyYW1lIGV2ZW4gaWYgcmVjZWl2ZWQgZGF0YSBoYXMgaW5jb21wbGV0ZSBmcmFtZS4iKTsKKwor
d2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwordmFyIHJlY2VpdmVkX21l
c3NhZ2VzID0gW107Cit2YXIgZXhwZWN0ZWRfbWVzc2FnZXMgPSBbImhlbGxvIl07CitmdW5jdGlv
biBmaW5pc2goKSB7CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7CisgICAgZGVidWcocmVj
ZWl2ZWRfbWVzc2FnZXMubGVuZ3RoKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY2VpdmVk
X21lc3NhZ2VzOyBpKyspIHsKKyAgICAgICAgZGVidWcoInJlY2VpdmVkWyIgKyBpICsgIl09IiAr
IHJlY2VpdmVkX21lc3NhZ2VzW2ldKTsKKyAgICB9CisKKyAgICBzaG91bGRCZVRydWUoImFyZUFy
cmF5c0VxdWFsKHJlY2VpdmVkX21lc3NhZ2VzLCBleHBlY3RlZF9tZXNzYWdlcykiKTsKKworICAg
IGZpbmlzaEpTVGVzdCgpOworfQorCit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4w
LjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxlbmd0aC1sb25nZXItdGhhbi1i
dWZmZXIiKTsKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uICgpIHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0
IGlzIG9wZW4iKTsKK307Cit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZXZ0KSB7CisgICAgZGVi
dWcoInJlY2VpdmVkOiIgKyBldnQuZGF0YSk7CisgICAgcmVjZWl2ZWRfbWVzc2FnZXMucHVzaChl
dnQuZGF0YSk7Cit9Oword3Mub25jbG9zZSA9IGZ1bmN0aW9uICgpIHsKKyAgICBkZWJ1ZygiV2Vi
U29ja2V0IGlzIGNsb3NlZCIpOworICAgIGZpbmlzaCgpOworfTsKK3ZhciB0aW1lb3V0SUQgPSBz
ZXRUaW1lb3V0KCJmaW5pc2goKSIsIDIwMDApOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxl
bmd0aC1sb25nZXItdGhhbi1idWZmZXJfd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5ndGgtbG9uZ2VyLXRoYW4tYnVmZmVyX3dzaC5w
eQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jMzRiNGYxN2QzMDg3YjhjMjU4ZjE4ZDhiYjNmNWIwMGQ0OGZhZTE2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS9mcmFtZS1sZW5ndGgtbG9uZ2VyLXRoYW4tYnVmZmVyX3dzaC5weQpAQCAtMCwwICsxLDEx
IEBACitkZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgcGFz
cworCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgbXNnID0g
IlwwaGVsbG9ceGZmIgorICAgIG1zZyArPSAiXHg4MFx4ODFceDAxIiAjIFNraXAgMSoxMjgrMSBi
eXRlcy4KKyAgICBtc2cgKz0gIlx4MDFceGZmIgorICAgIG1zZyArPSAiXDBzaG91bGQgYmUgc2tp
cHBlZFx4ZmYiCisgICAgcmVxdWVzdC5jb25uZWN0aW9uLndyaXRlKG1zZykKKyAgICByYWlzZSBF
eGNlcHRpb24oIkFib3J0IHRoZSBjb25uZWN0aW9uIikgIyBQcmV2ZW50cyBweXdlYnNvY2tldCBm
cm9tIHN0YXJ0aW5nIGNsb3NpbmcgaGFuZHNoYWtlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5ndGgtb3ZlcmZsb3ctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9m
cmFtZS1sZW5ndGgtb3ZlcmZsb3ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjMjE2ZjRlODI0
NjA0OWQxNzBhYTY2NjE3OGM4YmU5YTFhY2IzOTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxlbmd0aC1vdmVyZmxv
dy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6
IFdlYlNvY2tldCBmcmFtZSBsZW5ndGggdG9vIGxhcmdlCitNYWtlIHN1cmUgV2ViU29ja2V0IGRv
ZXMgbm90IGNyYXNoIGFuZCByZXBvcnQgZXJyb3Igd2hlbiBpdCBzZWVzIGxlbmd0aCBvdmVyZmxv
dworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1dlYlNvY2tldCBpcyBvcGVuCitXZWJT
b2NrZXQgcmVjZWl2ZWQgZXJyb3IgZnJhbWUKK1dlYlNvY2tldCBpcyBjbG9zZWQKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxlbmd0aC1v
dmVyZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9mcmFtZS1sZW5ndGgtb3ZlcmZsb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMWY2MWM3OTM1YTQwYzdk
ZGIzYmNlMmVmZjE3MDRlY2VhY2MyNjk1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5ndGgtb3ZlcmZsb3cuaHRt
bApAQCAtMCwwICsxLDM1IEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiTWFr
ZSBzdXJlIFdlYlNvY2tldCBkb2VzIG5vdCBjcmFzaCBhbmQgcmVwb3J0IGVycm9yIHdoZW4gaXQg
c2VlcyBsZW5ndGggb3ZlcmZsb3ciKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwor
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJs
ZWQiLCAwKTsKKwordmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93
ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5ndGgtb3ZlcmZsb3ciKTsKK3dzLm9ub3BlbiA9
IGZ1bmN0aW9uICgpIHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0IGlzIG9wZW4iKTsKK307Cit3cy5v
bm1lc3NhZ2UgPSBmdW5jdGlvbiAoZXZ0KSB7CisgICAgZGVidWcoIldlYlNvY2tldCByZWNlaXZl
ZDoiICsgZXZ0LmRhdGEpOworfTsKK3dzLm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7CisgICAgZGVi
dWcoIldlYlNvY2tldCByZWNlaXZlZCBlcnJvciBmcmFtZSIpOworfTsKK3dzLm9uY2xvc2UgPSBm
dW5jdGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNvY2tldCBpcyBjbG9zZWQiKTsKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK307CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZnJhbWUtbGVuZ3RoLW92ZXJmbG93
X3dzaC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZnJh
bWUtbGVuZ3RoLW92ZXJmbG93X3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYzdjOTIxY2FkOWY1ZjBhNTE5
YmJlMTYxMWIxM2EyMGU4NDM2N2FlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5ndGgtb3ZlcmZsb3dfd3NoLnB5
CkBAIC0wLDAgKzEsOCBAQAorZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVl
c3QpOgorICAgIHBhc3MKKworCitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3Qp
OgorICAgIG1zZyA9IDE2ICogJ1x4ZmYnCisgICAgcmVxdWVzdC5jb25uZWN0aW9uLndyaXRlKG1z
ZykKKyAgICByYWlzZSBFeGNlcHRpb24oJ0Fib3J0IHRoZSBjb25uZWN0aW9uJykgIyBQcmV2ZW50
cyBweXdlYnNvY2tldCBmcm9tIHN0YXJ0aW5nIGNsb3NpbmcgaGFuZHNoYWtlLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5n
dGgtc2tpcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2ZyYW1lLWxlbmd0aC1za2lwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYTMy
ZmU0Y2ZhMzU1NmY2OGI2ODdiMWNmYmFlNWY1YzQxNmQ1MjRkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5ndGgt
c2tpcC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorTWFrZSBzdXJlIFdlYlNvY2tldCBj
b3JyZWN0bHkgc2tpcCBsZW5ndGhlZCBmcmFtZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitXZWJTb2NrZXQgaXMgb3BlbgorcmVjZWl2ZWQ6aGVsbG8KK3JlY2VpdmVkOndvcmxkCitX
ZWJTb2NrZXQgaXMgY2xvc2VkCisyCitQQVNTIGFyZUFycmF5c0VxdWFsKHJlY2VpdmVkX21lc3Nh
Z2VzLCBleHBlY3RlZF9tZXNzYWdlcykgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZnJhbWUtbGVuZ3RoLXNraXAuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZnJhbWUtbGVuZ3RoLXNraXAu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wNzJiZTZhMjZkM2ZlYzY5NmQyMGY1MmUzZTJhY2UwMDVlZTRlZWY2
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaHliaS9mcmFtZS1sZW5ndGgtc2tpcC5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSBXZWJTb2Nr
ZXQgY29ycmVjdGx5IHNraXAgbGVuZ3RoZWQgZnJhbWUuIik7CisKK3dpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0
UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK3ZhciByZWNlaXZlZF9tZXNzYWdlcyA9IFtdOwordmFy
IGV4cGVjdGVkX21lc3NhZ2VzID0gWyJoZWxsbyIsICJ3b3JsZCJdOworZnVuY3Rpb24gZmluaXNo
KCkgeworICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOworICAgIGRlYnVnKHJlY2VpdmVkX21l
c3NhZ2VzLmxlbmd0aCk7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZWNlaXZlZF9tZXNzYWdl
czsgaSsrKSB7CisgICAgICAgIGRlYnVnKCJyZWNlaXZlZFsiICsgaSArICJdPSIgKyByZWNlaXZl
ZF9tZXNzYWdlc1tpXSk7CisgICAgfQorCisgICAgc2hvdWxkQmVUcnVlKCJhcmVBcnJheXNFcXVh
bChyZWNlaXZlZF9tZXNzYWdlcywgZXhwZWN0ZWRfbWVzc2FnZXMpIik7CisKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK30KKwordmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4
MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5ndGgtc2tpcCIpOword3Mub25vcGVuID0g
ZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMgb3BlbiIpOworfTsKK3dzLm9u
bWVzc2FnZSA9IGZ1bmN0aW9uIChldnQpIHsKKyAgICBkZWJ1ZygicmVjZWl2ZWQ6IiArIGV2dC5k
YXRhKTsKKyAgICByZWNlaXZlZF9tZXNzYWdlcy5wdXNoKGV2dC5kYXRhKTsKK307Cit3cy5vbmNs
b3NlID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMgY2xvc2VkIik7Cisg
ICAgZmluaXNoKCk7Cit9OwordmFyIHRpbWVvdXRJRCA9IHNldFRpbWVvdXQoImZpbmlzaCgpIiwg
MjAwMCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZnJhbWUtbGVuZ3RoLXNraXBfd3NoLnB5IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5ndGgtc2tp
cF93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZmU4NzQwMWRmZWFjNWZhYmM5YjE0N2UyZTc2ZThmNTA0NzFm
MjBlNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvZnJhbWUtbGVuZ3RoLXNraXBfd3NoLnB5CkBAIC0wLDAgKzEsMTIgQEAKK2Rl
ZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICBwYXNzCisKKwor
ZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICBtc2cgPSAiXDBoZWxs
b1x4ZmYiCisgICAgbXNnICs9ICJceDgwXHg4MVx4MDEiICAgIyBza2lwIDEqMTI4KzEgYnl0ZXMu
CisgICAgbXNnICs9ICJceDAxIgorICAgIG1zZyArPSAiXDBzaG91bGQgYmUgc2tpcHBlZCIgKyAo
IiAiICogMTA5KSArICJceGZmIgorICAgIG1zZyArPSAiXDB3b3JsZFx4ZmYiCisgICAgcmVxdWVz
dC5jb25uZWN0aW9uLndyaXRlKG1zZykKKyAgICBwcmludCBtc2cKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZnJhbWUtbGVuZ3Rocy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Zy
YW1lLWxlbmd0aHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzZWU0NTk2NjRjNTc5ZGI1OTQ1
ZjcxNGZlZGI2MTgzMzMyNGQzMGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxlbmd0aHMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNyBAQAorVGVzdCBzZW5kaW5nIGFuZCByZWNlaXZpbmcgc21hbGwgbWVzc2FnZXMg
b2YgZGlmZmVyZW50IGxlbmd0aHMuCisKK1Nob3VsZCBzYXkgUEFTUzoKKworUnVubmluZyB0aGUg
dGVzdC4uLgorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxlbmd0aHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZnJhbWUtbGVuZ3Rocy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2
Y2UzMDkwYWRjZmE5ZjgzOGY5ODE3NmNlYzM2Y2E4NDdiNjI0YjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxlbmd0
aHMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8cD5UZXN0IHNlbmRpbmcgYW5kIHJlY2VpdmluZyBz
bWFsbCBtZXNzYWdlcyBvZiBkaWZmZXJlbnQgbGVuZ3Rocy48L3A+Cis8cD5TaG91bGQgc2F5IFBB
U1M6PC9wPgorPHByZSBpZD1sb2c+UnVubmluZyB0aGUgdGVzdC4uLgorPC9wcmU+Cis8c2NyaXB0
PgordmFyIG1heExlbmd0aCA9IDEwMjU7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxl
ZCIsIDApOworfQorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgibG9nIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiXG4iOworfQorCit2YXIg
d3MgPSBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2VjaG8iKTsKKwordmFyIGxhc3RTdHJpbmc7Cit2YXIgZmFpbGVkID0gZmFsc2U7Cit3cy5v
bm9wZW4gPSBmdW5jdGlvbigpIHsKKyAgICBsYXN0U3RyaW5nID0gIiI7CisgICAgd3Muc2VuZChs
YXN0U3RyaW5nKTsKK30KKword3Mub25tZXNzYWdlID0gZnVuY3Rpb24obXNnKSB7CisgICAgaWYg
KG1zZy5kYXRhICE9IGxhc3RTdHJpbmcpIHsKKyAgICAgICAgbG9nKCJGQUlMIC0gaW5jb3JyZWN0
IHJlc3BvbnNlLiBFeHBlY3RlZCAnIiArIGxhc3RTdHJpbmcgKyAiJywgZ290ICciICsgbXNnLmRh
dGEgKyAiJy4iKTsKKyAgICAgICAgZmFpbGVkID0gdHJ1ZTsKKyAgICB9CisKKyAgICBpZiAobGFz
dFN0cmluZy5sZW5ndGggPT0gbWF4TGVuZ3RoKSB7CisgICAgICAgIGlmICghZmFpbGVkKQorICAg
ICAgICAgICAgbG9nKCJQQVNTIik7CisgICAgICAgIHdzLnNlbmQoIkdvb2RieWUiKTsKKyAgICAg
ICAgd3Mub25tZXNzYWdlID0gbnVsbDsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICAgICAgICAgIHNldFRpbWVvdXQoImxheW91dFRlc3RDb250cm9sbGVyLm5v
dGlmeURvbmUoKSIsIDApOworICAgIH0gZWxzZSB7CisgICAgICAgIGxhc3RTdHJpbmcgKz0gIioi
OworICAgICAgICB3cy5zZW5kKGxhc3RTdHJpbmcpOworICAgIH0KK30KKzwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5k
c2hha2UtY2hhbGxlbmdlLXJhbmRvbW5lc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtY2hhbGxlbmdlLXJhbmRvbW5l
c3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMxYmRjZDc4NTZlOGM2NjcxYjJmNTk0NzhhYTk5
ZWMwMmJhMWNhNjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1jaGFsbGVuZ2UtcmFuZG9tbmVzcy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw5IEBACitIYW5kc2hha2UgcmVxdWVzdCBzaG91bGQgY29udGFpbiBy
YW5kb20gY2hhbGxlbmdlIHZhbHVlcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIGNoYWxsZW5nZTEgPT09IGNoYWxsZW5nZTIgaXMgZmFsc2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1jaGFsbGVuZ2UtcmFu
ZG9tbmVzcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9oYW5kc2hha2UtY2hhbGxlbmdlLXJhbmRvbW5lc3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OGI3Nzk2
NmY1MGIwMTRhNGRiMDU3MDc2NzI0YjE2MmFiZjQwNmRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtY2hhbGxl
bmdlLXJhbmRvbW5lc3MuaHRtbApAQCAtMCwwICsxLDUyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCdIYW5kc2hha2UgcmVxdWVzdCBzaG91bGQgY29u
dGFpbiByYW5kb20gY2hhbGxlbmdlIHZhbHVlcy4nKTsKKword2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90
b2NvbEVuYWJsZWQiLCAwKTsKKwordmFyIGNoYWxsZW5nZTE7Cit2YXIgY2hhbGxlbmdlMjsKKwor
dmFyIHVybCA9ICd3czovL2xvY2FsaG9zdDo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2VjaG8t
Y2hhbGxlbmdlJzsKK3ZhciB3czEgPSBuZXcgV2ViU29ja2V0KHVybCk7CisKK3dzMS5vbm1lc3Nh
Z2UgPSBmdW5jdGlvbihtZXNzYWdlRXZlbnQpCit7CisgICAgY2hhbGxlbmdlMSA9IG1lc3NhZ2VF
dmVudC5kYXRhOworICAgIHdzMS5jbG9zZSgpOworfQorCit3czEub25jbG9zZSA9IGZ1bmN0aW9u
KCkKK3sKKyAgICB2YXIgd3MyID0gbmV3IFdlYlNvY2tldCh1cmwpOworCisgICAgd3MyLm9ubWVz
c2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2VFdmVudCkKKyAgICB7CisgICAgICAgIGNoYWxsZW5nZTIg
PSBtZXNzYWdlRXZlbnQuZGF0YTsKKyAgICAgICAgd3MyLmNsb3NlKCk7CisgICAgfQorCisgICAg
d3MyLm9uY2xvc2UgPSBmdW5jdGlvbigpCisgICAgeworICAgICAgICBzaG91bGRCZUZhbHNlKCdj
aGFsbGVuZ2UxID09PSBjaGFsbGVuZ2UyJyk7CisgICAgICAgIGlmIChjaGFsbGVuZ2UxID09PSBj
aGFsbGVuZ2UyKQorICAgICAgICAgICAgZGVidWcoJ2NoYWxsZW5nZSB3YXMgJyArIGNoYWxsZW5n
ZTEpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9Cit9CisKK3ZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMt
dGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvaGFuZHNoYWtlLWVycm9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWVycm9yLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wNTMwODI4ZDRiYzk2NjZmYzU3ZDNiOGM2NWJkNTM1ZTNmYmZjMmZjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5k
c2hha2UtZXJyb3ItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAwOiBObyByZXNwb25zZSBjb2RlIGZvdW5kOiBUaGlzV2lsbENhdXNlSGFuZHNoYWtl
RXJyb3IKK0hhbmRzaGFrZSBlcnJvciB0ZXN0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworQ2xvc2VkLgorUEFTUyB3cy5yZWFkeVN0YXRlIGlzIDMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1lcnJvci5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZXJyb3Iu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45MGY4MmRiNTNlNDMyNzAxMzA5ZDllYjdlZDc5ZWRiYjY3MWFlNTcw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaHliaS9oYW5kc2hha2UtZXJyb3IuaHRtbApAQCAtMCwwICsxLDU0IEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJIYW5kc2hha2UgZXJyb3IgdGVz
dCIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5j
ZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCitmdW5jdGlv
biBlbmRUZXN0KCkKK3sKKyAgICBjbGVhclRpbWVvdXQodGltZW91dElEKTsKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK30KKwordmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4
MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZXJyb3IiKTsKKword3Mub25vcGVuID0g
ZnVuY3Rpb24oKQoreworICAgIHRlc3RGYWlsZWQoIlVuZXhwZWN0ZWRseSBDb25uZWN0ZWQuIik7
Cit9OworCit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlRXZlbnQpCit7CisgICAgdGVz
dEZhaWxlZCgiVW5leHBlY3RlZGx5IFJlY2VpdmVkOiAnIiArIG1lc3NhZ2VFdmVudC5kYXRhICsg
IiciKTsKK307CisKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIkNsb3Nl
ZC4iKTsKKyAgICBzaG91bGRCZSgid3MucmVhZHlTdGF0ZSIsICIzIikKKyAgICBlbmRUZXN0KCk7
Cit9OworCitmdW5jdGlvbiB0aW1lT3V0Q2FsbGJhY2soKQoreworICAgIHRlc3RGYWlsZWQoIlRp
bWVkIG91dCBpbiBzdGF0ZTogIiArIHdzLnJlYWR5U3RhdGUpOworICAgIGVuZFRlc3QoKTsKK30K
KwordmFyIHRpbWVvdXRJRCA9IHNldFRpbWVvdXQodGltZU91dENhbGxiYWNrLCAzMDAwKTsKKwor
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZXJyb3Jfd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZXJyb3Jfd3NoLnB5Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmM4NTFmYTYyNjExNzY2YTU5OGZjNzE1ODY1NWEwNjE1NmM2YTIyMWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hh
bmRzaGFrZS1lcnJvcl93c2gucHkKQEAgLTAsMCArMSwzOCBAQAorIyBDb3B5cmlnaHQgKEMpIDIw
MDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisK
KworZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IG1zZ3V0aWwKKworCitkZWYgd2ViX3NvY2tl
dF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgcmVxdWVzdC5jb25uZWN0aW9uLndy
aXRlKCdUaGlzV2lsbENhdXNlSGFuZHNoYWtlRXJyb3JcclxuJykKKworCitkZWYgd2ViX3NvY2tl
dF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVl
c3QsICdIZWxsbyBmcm9tIEhhbmRzaGFrZSBFcnJvciBXU0guJykKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnkt
Y3Jvc3Mtb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktY3Jvc3Mtb3JpZ2luLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yN2M4MWQwNDcxZWQyZWQwYzUyM2RjZWM4OGIzYmZkOTRjNzQ4NmVmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS9oYW5kc2hha2UtZmFpbC1ieS1jcm9zcy1vcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTMgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAwOiBFcnJvciBkdXJpbmcgV2ViU29ja2V0
IGhhbmRzaGFrZTogb3JpZ2luIG1pc21hdGNoOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAgIT0gaHR0
cDovL2V4YW1wbGUuY29tCitNYWtlIHN1cmUgV2ViIFNvY2tldCBjb25uZWN0aW9uIGZhaWxlZCBp
ZiBvcmlnaW4gbWlzbWF0Y2hlcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitkb2N1
bWVudC5kb21haW49MTI3LjAuMC4xCit3cy51cmw9d3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9maXhlZC1vcmlnaW4KK1BBU1MgY29ubmVjdGVkIGlzIGZhbHNlCitQQVNT
IG9yaWdpbiBpcyB1bmRlZmluZWQuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1jcm9zcy1vcmlnaW4uaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwt
YnktY3Jvc3Mtb3JpZ2luLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2U2YTY3ZmZiY2RiOTFhOWE4NmQ2YTg3
YThjNjg3NDNjYmMwZjgwZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktY3Jvc3Mtb3JpZ2luLmh0
bWwKQEAgLTAsMCArMSw2MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Citk
ZXNjcmlwdGlvbigiTWFrZSBzdXJlIFdlYiBTb2NrZXQgY29ubmVjdGlvbiBmYWlsZWQgaWYgb3Jp
Z2luIG1pc21hdGNoZXMuIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwg
MCk7CisKK3ZhciBjb25uZWN0ZWQgPSBmYWxzZTsKK3ZhciBvcmlnaW47CisKK2Z1bmN0aW9uIGVu
ZFRlc3QoKQoreworICAgIHNob3VsZEJlRmFsc2UoImNvbm5lY3RlZCIpOworICAgIHNob3VsZEJl
VW5kZWZpbmVkKCJvcmlnaW4iKTsKKyAgICBjbGVhclRpbWVvdXQodGltZW91dElEKTsKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK30KKwordmFyIHVybCA9ICJ3czovL2xvY2FsaG9zdDo4ODgwL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL2ZpeGVkLW9yaWdpbiI7CitkZWJ1ZygiZG9jdW1lbnQuZG9tYWluPSIg
KyBkb2N1bWVudC5kb21haW4pOworZGVidWcoIndzLnVybD0iICsgdXJsKTsKK3ZhciB3cyA9IG5l
dyBXZWJTb2NrZXQodXJsKTsKKword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVn
KCJDb25uZWN0ZWQiKTsKKyAgICBjb25uZWN0ZWQgPSB0cnVlOworfTsKKword3Mub25tZXNzYWdl
ID0gZnVuY3Rpb24gKG1lc3NhZ2VFdmVudCkKK3sKKyAgICBvcmlnaW4gPSBtZXNzYWdlRXZlbnQu
ZGF0YTsKKyAgICBkZWJ1Zygib3JpZ2luPSIgKyBvcmlnaW4pOworICAgIHdzLmNsb3NlKCk7Cit9
OworCit3cy5vbmNsb3NlID0gZnVuY3Rpb24oKQoreworICAgIGVuZFRlc3QoKTsKK307CisKK2Z1
bmN0aW9uIHRpbWVPdXRDYWxsYmFjaygpCit7CisgICAgZGVidWcoIlRpbWVkIG91dCBpbiBzdGF0
ZTogIiArIHdzLnJlYWR5U3RhdGUpOworICAgIGVuZFRlc3QoKTsKK30KKwordmFyIHRpbWVvdXRJ
RCA9IHNldFRpbWVvdXQodGltZU91dENhbGxiYWNrLCAzMDAwKTsKKwordmFyIHN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10
ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9oYW5kc2hha2UtZmFpbC1ieS1tYXhsZW5ndGgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1tYXhsZW5n
dGgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxZWU3M2IyZjk0NmUyZTM3MzM1NGNhM2M0ZDU5
YzA5NDUxOWQyYjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW1heGxlbmd0aC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMiBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IFN0YXR1cyBsaW5l
IGlzIHRvbyBsb25nCitDb25uZWN0aW9uIHNob3VsZCBmYWlsIGltbWVkaWF0ZWx5LCByYXRoZXIg
dGhhbiBzdWNjZWVkaW5nIG9yIHN0YXlpbmcgaW4gbGltYm8gdW50aWwgdGltZW91dCwgaWYgaGFu
ZHNoYWtlIGlzIGxvbmdlciB0aGFuIDEwMjQgYnl0ZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyB0aW1lZE91dCBpcyBmYWxzZQorUEFTUyBjb25uZWN0ZWQgaXMgZmFsc2UK
K1BBU1Mgb3JpZ2luIGlzIHVuZGVmaW5lZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW1heGxlbmd0aC5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFp
bC1ieS1tYXhsZW5ndGguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ODhiNmExY2FmNjRlYmQxNjY3NjM5YjZl
Y2RhZTg4ZWY5ZDZkZjVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1tYXhsZW5ndGguaHRtbApA
QCAtMCwwICsxLDYzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignQ29ubmVjdGlvbiBzaG91
bGQgZmFpbCBpbW1lZGlhdGVseSwgcmF0aGVyIHRoYW4gc3VjY2VlZGluZyBvciBzdGF5aW5nIGlu
IGxpbWJvIHVudGlsIHRpbWVvdXQsIGlmIGhhbmRzaGFrZSBpcyBsb25nZXIgdGhhbiAxMDI0IGJ5
dGVzLicpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVy
ZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCit2YXIg
dGltZWRPdXQgPSBmYWxzZTsKK3ZhciBjb25uZWN0ZWQgPSBmYWxzZTsKK3ZhciBvcmlnaW47CisK
K2Z1bmN0aW9uIGVuZFRlc3QoKSB7CisgICAgc2hvdWxkQmVGYWxzZSgndGltZWRPdXQnKTsKKyAg
ICBzaG91bGRCZUZhbHNlKCdjb25uZWN0ZWQnKTsKKyAgICBzaG91bGRCZVVuZGVmaW5lZCgnb3Jp
Z2luJyk7CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7CisgICAgZmluaXNoSlNUZXN0KCk7
Cit9CisKK3ZhciB1cmwgPSAnd3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHli
aS9oYW5kc2hha2UtZmFpbC1ieS1tYXhsZW5ndGgnOwordmFyIHdzID0gbmV3IFdlYlNvY2tldCh1
cmwpOworCit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoJ0Nvbm5lY3RlZCcp
OworICAgIGNvbm5lY3RlZCA9IHRydWU7Cit9CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1l
c3NhZ2VFdmVudCkKK3sKKyAgICBvcmlnaW4gPSBtZXNzYWdlRXZlbnQuZGF0YTsKKyAgICBkZWJ1
Zygnb3JpZ2luID0gJyArIG9yaWdpbik7CisgICAgd3MuY2xvc2UoKTsKK30KKword3Mub25jbG9z
ZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBlbmRUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHRpbWVvdXRD
YWxsYmFjaygpCit7CisgICAgZGVidWcoJ1RpbWVkIG91dCAoc3RhdGUgPSAnICsgd3MucmVhZHlT
dGF0ZSArICcpJyk7CisgICAgdGltZWRPdXQgPSB0cnVlOworICAgIGVuZFRlc3QoKTsKK30KKwor
dmFyIHRpbWVvdXRJRCA9IHNldFRpbWVvdXQodGltZW91dENhbGxiYWNrLCAzMDAwKTsKKwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1tYXhsZW5ndGhfd3NoLnB5IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1t
YXhsZW5ndGhfd3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwMzlmYjM4ZTkzMzEwMmEwMDVlYjFiYThjMjA4
YzI1OTQ4N2Q1MTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW1heGxlbmd0aF93c2gucHkKQEAg
LTAsMCArMSwzOSBAQAorIyBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVk
IDIwMTEuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUKKyMgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDoKKyMKKyMgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZworIyBkaXNjbGFpbWVyLgorIworIyAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUKKyMgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyDigJxBUyBJU+KAnSBBTkQgQU5ZIEVYUFJFU1Mg
T1IKKyMgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorIyBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TAorIyBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyMgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorIyBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorIyBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SCisjIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisK
KworZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAgICMgVGhp
cyB3aWxsIGNhdXNlIHRoZSBoYW5kc2hha2UgdG8gZmFpbCBiZWNhdXNlIGl0IHB1c2hlcyB0aGUg
bGVuZ3RoIG9mIHRoZQorICAgICMgc3RhdHVzIGxpbmUgcGFzdCAxMDI0IGNoYXJhY3RlcnMKKyAg
ICBtc2cgPSAnLicgKiAxMDI0CisgICAgbXNnICs9ICdIVFRQLzEuMSAxMDEgV2ViU29ja2V0IFBy
b3RvY29sIEhhbmRzaGFrZVxyXG4nCisgICAgbXNnICs9ICdVcGdyYWRlOiBXZWJTb2NrZXRcclxu
JworICAgIG1zZyArPSAnQ29ubmVjdGlvbjogVXBncmFkZVxyXG4nCisgICAgbXNnICs9ICdTZWMt
V2ViU29ja2V0LUxvY2F0aW9uOiAnICsgcmVxdWVzdC53c19sb2NhdGlvbiArICdcclxuJworICAg
IG1zZyArPSAnU2VjLVdlYlNvY2tldC1PcmlnaW46ICcgKyByZXF1ZXN0LndzX29yaWdpbiArICdc
clxuJworICAgIG1zZyArPSAnXHJcbicKKyAgICBtc2cgKz0gcmVxdWVzdC53c19jaGFsbGVuZ2Vf
bWQ1CisgICAgcmVxdWVzdC5jb25uZWN0aW9uLndyaXRlKG1zZykKKyAgICByYWlzZSBFeGNlcHRp
b24oJ2Fib3J0IHRoZSBjb25uZWN0aW9uJykgIyBQcmV2ZW50cyBweXdlYnNvY2tldCBmcm9tIHNl
bmRpbmcgaXRzIG93biBoYW5kc2hha2UgbWVzc2FnZS4KKworCitkZWYgd2ViX3NvY2tldF90cmFu
c2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIHBhc3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbm8tY29ubmVj
dGlvbi1oZWFkZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1uby1jb25uZWN0aW9uLWhlYWRlci1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZWY2MmQ1YjY2MDZhMjQyZDI2ZGEzMWU1MjdhYTZlZjRjZDZm
MTA4YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbm8tY29ubmVjdGlvbi1oZWFkZXItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IEVycm9yIGR1
cmluZyBXZWJTb2NrZXQgaGFuZHNoYWtlOiAnQ29ubmVjdGlvbicgaGVhZGVyIGlzIG1pc3NpbmcK
K1Rlc3QgdGhhdCBXZWJTb2NrZXQgaGFuZHNoYWtlIGZhaWxzIGlmIENvbm5lY3Rpb24gaGVhZGVy
IGZpZWxkIGlzbid0IHJlZmxlY3RlZCBieSB0aGUgc2VydmVyLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLWNvbm5lY3Rpb24taGVhZGVyLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5
LW5vLWNvbm5lY3Rpb24taGVhZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTg0NGYyNjZjZjIxNzY0MmM1
NmU2NGE1M2E1YTY4Nzg4YzJmNzJlOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbm8tY29ubmVj
dGlvbi1oZWFkZXIuaHRtbApAQCAtMCwwICsxLDU0IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1s
PgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8u
Li9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgV2ViU29ja2V0IGhhbmRzaGFr
ZSBmYWlscyBpZiBDb25uZWN0aW9uIGhlYWRlciBmaWVsZCBpc24ndCByZWZsZWN0ZWQgYnkgdGhl
IHNlcnZlci4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwor
ZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7CisgICAg
ZmluaXNoSlNUZXN0KCk7Cit9CisKK3ZhciB1cmwgPSAid3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJz
b2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1uby1jb25uZWN0aW9uLWhlYWRlciI7
Cit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KHVybCk7CisKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uKCkK
K3sKKyAgICBkZWJ1ZygiRkFJTDogQ29ubmVjdGVkIik7Cit9OworCit3cy5vbm1lc3NhZ2UgPSBm
dW5jdGlvbihtZXNzYWdlRXZlbnQpCit7CisgICAgcHJvdG9jb2wgPSBtZXNzYWdlRXZlbnQuZGF0
YTsKKyAgICB3cy5jbG9zZSgpOworfTsKKword3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKK3sKKyAg
ICBlbmRUZXN0KCk7Cit9OworCitmdW5jdGlvbiB0aW1lT3V0Q2FsbGJhY2soKQoreworICAgIGRl
YnVnKCJUaW1lZCBvdXQgaW4gc3RhdGU6ICIgKyB3cy5yZWFkeVN0YXRlKTsKKyAgICBlbmRUZXN0
KCk7Cit9CisKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0KHRpbWVPdXRDYWxsYmFjaywgMzAw
MCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbm8tY29ubmVjdGlvbi1o
ZWFkZXJfd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9oYW5kc2hha2UtZmFpbC1ieS1uby1jb25uZWN0aW9uLWhlYWRlcl93c2gucHkKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2VmYzg3YTUwZDY2ZGU4NzRjOGExZGMzODZmMmRiNmNlZjAzYTQzNwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNo
YWtlLWZhaWwtYnktbm8tY29ubmVjdGlvbi1oZWFkZXJfd3NoLnB5CkBAIC0wLDAgKzEsMTUgQEAK
K2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICBtc2cgPSAn
SFRUUC8xLjEgMTAxIFdlYlNvY2tldCBQcm90b2NvbCBIYW5kc2hha2VcclxuJworICAgIG1zZyAr
PSAnVXBncmFkZTogV2ViU29ja2V0XHJcbicKKyMgICBNaXNzaW5nICdDb25uZWN0aW9uOiBVcGdy
YWRlXHJcbicKKyAgICBtc2cgKz0gJ1NlYy1XZWJTb2NrZXQtTG9jYXRpb246ICcgKyByZXF1ZXN0
LndzX2xvY2F0aW9uICsgJ1xyXG4nCisgICAgbXNnICs9ICdTZWMtV2ViU29ja2V0LU9yaWdpbjog
JyArIHJlcXVlc3Qud3Nfb3JpZ2luICsgJ1xyXG4nCisgICAgbXNnICs9ICdcclxuJworICAgIG1z
ZyArPSByZXF1ZXN0LndzX2NoYWxsZW5nZV9tZDUKKyAgICByZXF1ZXN0LmNvbm5lY3Rpb24ud3Jp
dGUobXNnKQorICAgIHByaW50IG1zZworICAgIHJhaXNlIEV4Y2VwdGlvbignQWJvcnQgdGhlIGNv
bm5lY3Rpb24nKSAjIFByZXZlbnRzIHB5d2Vic29ja2V0IGZyb20gc2VuZGluZyBpdHMgb3duIGhh
bmRzaGFrZSBtZXNzYWdlLgorCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVz
dCk6CisgICAgcGFzcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1uby1jci1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5
LW5vLWNyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZTU2ZWI3Yjk1ZTJmOTRkYWIwNzU1ZjFk
N2I5OTBjMGEwODBiODI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1uby1jci1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IFN0YXR1cyBsaW5l
IGRvZXMgbm90IGVuZCB3aXRoIENSTEYKK0hhbmRzaGFrZSBzaG91bGQgZmFpbCB3aGVuIHRoZSBm
aXJzdCBsaW5lIGRvZXMgbm90IGVuZCB3aXRoIENSTEYuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworUEFTUyBjb25uZWN0ZWQgaXMgZmFsc2UKK1BBU1Mgb3JpZ2luIGlzIHVuZGVmaW5l
ZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hh
bmRzaGFrZS1mYWlsLWJ5LW5vLWNyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLWNyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDRiNWFkOTg3MTQ0N2U1MGFjM2E0YWM2NGIxYWQ4Mzk1NWZlZTQ3MwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtl
LWZhaWwtYnktbm8tY3IuaHRtbApAQCAtMCwwICsxLDYwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCdIYW5kc2hha2Ugc2hvdWxkIGZhaWwgd2hlbiB0
aGUgZmlyc3QgbGluZSBkb2VzIG5vdCBlbmQgd2l0aCBDUkxGLicpOworCit3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNv
Y2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCit2YXIgY29ubmVjdGVkID0gZmFsc2U7Cit2YXIg
b3JpZ2luOworCitmdW5jdGlvbiBlbmRUZXN0KCkgeworICAgIHNob3VsZEJlRmFsc2UoJ2Nvbm5l
Y3RlZCcpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCdvcmlnaW4nKTsKKyAgICBjbGVhclRpbWVv
dXQodGltZW91dElEKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKwordmFyIHVybCA9ICd3czov
L2xvY2FsaG9zdDo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW5v
LWNyJzsKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQodXJsKTsKKword3Mub25vcGVuID0gZnVuY3Rp
b24oKQoreworICAgIGRlYnVnKCdDb25uZWN0ZWQnKTsKKyAgICBjb25uZWN0ZWQgPSB0cnVlOwor
fQorCit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlRXZlbnQpCit7CisgICAgb3JpZ2lu
ID0gbWVzc2FnZUV2ZW50LmRhdGE7CisgICAgZGVidWcoJ29yaWdpbiA9ICcgKyBvcmlnaW4pOwor
ICAgIHdzLmNsb3NlKCk7Cit9CisKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbigpCit7CisgICAgZW5k
VGVzdCgpOworfQorCitmdW5jdGlvbiB0aW1lb3V0Q2FsbGJhY2soKQoreworICAgIGRlYnVnKCdU
aW1lZCBvdXQgKHN0YXRlID0gJyArIHdzLnJlYWR5U3RhdGUgKyAnKScpOworICAgIGVuZFRlc3Qo
KTsKK30KKwordmFyIHRpbWVvdXRJRCA9IHNldFRpbWVvdXQodGltZW91dENhbGxiYWNrLCAzMDAw
KTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1uby1jcl93c2gucHkgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWls
LWJ5LW5vLWNyX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45Nzg5MjRhYjZlYjE4Yjk1NmZmNDU1OWQ1Yjkz
ZGJlZGU4M2I5MzMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1uby1jcl93c2gucHkKQEAgLTAs
MCArMSwxNSBAQAorZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgor
ICAgIG1zZyA9ICdIVFRQLzEuMSAxMDEgV2ViU29ja2V0IFByb3RvY29sIEhhbmRzaGFrZVxuJyAj
IERvZXMgbm90IGVuZCB3aXRoICJcclxuIi4KKyAgICBtc2cgKz0gJ1VwZ3JhZGU6IFdlYlNvY2tl
dFxyXG4nCisgICAgbXNnICs9ICdDb25uZWN0aW9uOiBVcGdyYWRlXHJcbicKKyAgICBtc2cgKz0g
J1NlYy1XZWJTb2NrZXQtTG9jYXRpb246ICcgKyByZXF1ZXN0LndzX2xvY2F0aW9uICsgJ1xyXG4n
CisgICAgbXNnICs9ICdTZWMtV2ViU29ja2V0LU9yaWdpbjogJyArIHJlcXVlc3Qud3Nfb3JpZ2lu
ICsgJ1xyXG4nCisgICAgbXNnICs9ICdcclxuJworICAgIG1zZyArPSByZXF1ZXN0LndzX2NoYWxs
ZW5nZV9tZDUKKyAgICByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdGUobXNnKQorICAgIHByaW50IG1z
ZworICAgIHJhaXNlIEV4Y2VwdGlvbignQWJvcnQgdGhlIGNvbm5lY3Rpb24nKSAjIFByZXZlbnRz
IHB5d2Vic29ja2V0IGZyb20gc2VuZGluZyBpdHMgb3duIGhhbmRzaGFrZSBtZXNzYWdlLgorCisK
K2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgcGFzcwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hh
a2UtZmFpbC1ieS1uby11cGdyYWRlLWhlYWRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLXVwZ3Jh
ZGUtaGVhZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZjA2NjdkYjkwODIyMmJkYjRhMThj
OGI0NTZjMTNiMmQwOGIwNTQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1uby11cGdyYWRlLWhl
YWRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MDogRXJyb3IgZHVyaW5nIFdlYlNvY2tldCBoYW5kc2hha2U6ICdVcGdyYWRlJyBoZWFkZXIgaXMg
bWlzc2luZworVGVzdCB0aGF0IFdlYlNvY2tldCBoYW5kc2hha2UgZmFpbHMgaWYgVXBncmFkZSBo
ZWFkZXIgZmllbGQgaXNuJ3QgcmVmbGVjdGVkIGJ5IHRoZSBzZXJ2ZXIuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbm8tdXBncmFkZS1oZWFkZXIuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwt
Ynktbm8tdXBncmFkZS1oZWFkZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNDExM2I1MzM3Y2EzODVjYzYw
YzcyMmUyYzJlMmY2ZDY4NDhkOGNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1uby11cGdyYWRl
LWhlYWRlci5odG1sCkBAIC0wLDAgKzEsNTQgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8
aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vanMtdGVzdC1y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pz
LXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBXZWJTb2NrZXQgaGFuZHNoYWtlIGZh
aWxzIGlmIFVwZ3JhZGUgaGVhZGVyIGZpZWxkIGlzbid0IHJlZmxlY3RlZCBieSB0aGUgc2VydmVy
LiIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5j
ZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCitmdW5jdGlv
biBlbmRUZXN0KCkKK3sKKyAgICBjbGVhclRpbWVvdXQodGltZW91dElEKTsKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK30KKwordmFyIHVybCA9ICJ3czovL2xvY2FsaG9zdDo4ODgwL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLXVwZ3JhZGUtaGVhZGVyIjsKK3ZhciB3cyA9
IG5ldyBXZWJTb2NrZXQodXJsKTsKKword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRl
YnVnKCJGQUlMOiBDb25uZWN0ZWQiKTsKK307CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1l
c3NhZ2VFdmVudCkKK3sKKyAgICBwcm90b2NvbCA9IG1lc3NhZ2VFdmVudC5kYXRhOworICAgIHdz
LmNsb3NlKCk7Cit9OworCit3cy5vbmNsb3NlID0gZnVuY3Rpb24oKQoreworICAgIGVuZFRlc3Qo
KTsKK307CisKK2Z1bmN0aW9uIHRpbWVPdXRDYWxsYmFjaygpCit7CisgICAgZGVidWcoIlRpbWVk
IG91dCBpbiBzdGF0ZTogIiArIHdzLnJlYWR5U3RhdGUpOworICAgIGVuZFRlc3QoKTsKK30KKwor
dmFyIHRpbWVvdXRJRCA9IHNldFRpbWVvdXQodGltZU91dENhbGxiYWNrLCAzMDAwKTsKKwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1uby11cGdyYWRlLWhlYWRlcl93c2gucHkg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1m
YWlsLWJ5LW5vLXVwZ3JhZGUtaGVhZGVyX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMTRkZTc1ZTE5Mzdh
YzViZWU1ZTcxYTU4ZGNjZDlkZjZiMGFmNzhjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1uby11
cGdyYWRlLWhlYWRlcl93c2gucHkKQEAgLTAsMCArMSwxNSBAQAorZGVmIHdlYl9zb2NrZXRfZG9f
ZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAgIG1zZyA9ICdIVFRQLzEuMSAxMDEgV2ViU29j
a2V0IFByb3RvY29sIEhhbmRzaGFrZVxyXG4nCisjICAgTWlzc2luZyAnVXBncmFkZTogV2ViU29j
a2V0XHJcbicKKyAgICBtc2cgKz0gJ0Nvbm5lY3Rpb246IFVwZ3JhZGVcclxuJworICAgIG1zZyAr
PSAnU2VjLVdlYlNvY2tldC1Mb2NhdGlvbjogJyArIHJlcXVlc3Qud3NfbG9jYXRpb24gKyAnXHJc
bicKKyAgICBtc2cgKz0gJ1NlYy1XZWJTb2NrZXQtT3JpZ2luOiAnICsgcmVxdWVzdC53c19vcmln
aW4gKyAnXHJcbicKKyAgICBtc2cgKz0gJ1xyXG4nCisgICAgbXNnICs9IHJlcXVlc3Qud3NfY2hh
bGxlbmdlX21kNQorICAgIHJlcXVlc3QuY29ubmVjdGlvbi53cml0ZShtc2cpCisgICAgcHJpbnQg
bXNnCisgICAgcmFpc2UgRXhjZXB0aW9uKCdBYm9ydCB0aGUgY29ubmVjdGlvbicpICMgUHJldmVu
dHMgcHl3ZWJzb2NrZXQgZnJvbSBzZW5kaW5nIGl0cyBvd24gaGFuZHNoYWtlIG1lc3NhZ2UuCisK
KworZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICBwYXNzCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRz
aGFrZS1mYWlsLWJ5LXByZXBlbmRlZC1udWxsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktcHJlcGVuZGVk
LW51bGwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVkYjE3YzhmMjI1NzNiMTQ2NTA2NDEwNjU1
ZTU1ZGVlYTg5ZTI3ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LXByZXBlbmRlZC1udWxsLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMDogU3Rh
dHVzIGxpbmUgY29udGFpbnMgZW1iZWRkZWQgbnVsbAorQ29ubmVjdGlvbiBzaG91bGQgZmFpbCBp
bW1lZGlhdGVseSwgcmF0aGVyIHRoYW4gc3VjY2VlZGluZyBvciBzdGF5aW5nIGluIGxpbWJvIHVu
dGlsIHRpbWVvdXQsIGlmIGEgbnVsbCBieXRlIGlzIHJlY2VpdmVkIGJlZm9yZSB0aGUgaGFuZHNo
YWtlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgdGltZWRPdXQgaXMgZmFs
c2UKK1BBU1MgY29ubmVjdGVkIGlzIGZhbHNlCitQQVNTIG9yaWdpbiBpcyB1bmRlZmluZWQuCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hh
a2UtZmFpbC1ieS1wcmVwZW5kZWQtbnVsbC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1wcmVwZW5kZWQtbnVsbC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmRlMGU0NDBlY2ZlMThjZDhhMDhmOGIyNWViYmYwNTVlMzJiMzk4ZWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2hhbmRzaGFrZS1mYWlsLWJ5LXByZXBlbmRlZC1udWxsLmh0bWwKQEAgLTAsMCArMSw2MyBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vanMtdGVz
dC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4u
L2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ0Nvbm5lY3Rpb24gc2hvdWxkIGZhaWwgaW1tZWRp
YXRlbHksIHJhdGhlciB0aGFuIHN1Y2NlZWRpbmcgb3Igc3RheWluZyBpbiBsaW1ibyB1bnRpbCB0
aW1lb3V0LCBpZiBhIG51bGwgYnl0ZSBpcyByZWNlaXZlZCBiZWZvcmUgdGhlIGhhbmRzaGFrZS4n
KTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2Uo
IldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwordmFyIHRpbWVk
T3V0ID0gZmFsc2U7Cit2YXIgY29ubmVjdGVkID0gZmFsc2U7Cit2YXIgb3JpZ2luOworCitmdW5j
dGlvbiBlbmRUZXN0KCkgeworICAgIHNob3VsZEJlRmFsc2UoJ3RpbWVkT3V0Jyk7CisgICAgc2hv
dWxkQmVGYWxzZSgnY29ubmVjdGVkJyk7CisgICAgc2hvdWxkQmVVbmRlZmluZWQoJ29yaWdpbicp
OworICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQor
Cit2YXIgdXJsID0gJ3dzOi8vbG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFu
ZHNoYWtlLWZhaWwtYnktcHJlcGVuZGVkLW51bGwnOwordmFyIHdzID0gbmV3IFdlYlNvY2tldCh1
cmwpOworCit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoJ0Nvbm5lY3RlZCcp
OworICAgIGNvbm5lY3RlZCA9IHRydWU7Cit9CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1l
c3NhZ2VFdmVudCkKK3sKKyAgICBvcmlnaW4gPSBtZXNzYWdlRXZlbnQuZGF0YTsKKyAgICBkZWJ1
Zygnb3JpZ2luID0gJyArIG9yaWdpbik7CisgICAgd3MuY2xvc2UoKTsKK30KKword3Mub25jbG9z
ZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBlbmRUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHRpbWVvdXRD
YWxsYmFjaygpCit7CisgICAgZGVidWcoJ1RpbWVkIG91dCAoc3RhdGUgPSAnICsgd3MucmVhZHlT
dGF0ZSArICcpJyk7CisgICAgdGltZWRPdXQgPSB0cnVlOworICAgIGVuZFRlc3QoKTsKK30KKwor
dmFyIHRpbWVvdXRJRCA9IHNldFRpbWVvdXQodGltZW91dENhbGxiYWNrLCAzMDAwKTsKKwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1wcmVwZW5kZWQtbnVsbF93c2gucHkgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWls
LWJ5LXByZXBlbmRlZC1udWxsX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNzM1MTg0OTgxNDE5ZjljMmEz
NjJmYjg2OTUzNjM0MTFmMzA1YWE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1wcmVwZW5kZWQt
bnVsbF93c2gucHkKQEAgLTAsMCArMSw1MSBAQAorIyBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIElu
IE1vdGlvbiBMaW1pdGVkIDIwMTEuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUKKyMgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyMKKyMgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworIyBkaXNjbGFpbWVyLgorIworIyAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUKKyMgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyDigJxBUyBJU+KAnSBB
TkQgQU5ZIEVYUFJFU1MgT1IKKyMgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorIyBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTAorIyBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyMgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorIyBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQor
IyBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SCisjIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMKKyMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisKK2ltcG9ydCB0aW1lCisKKworZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFf
aGFuZHNoYWtlKHJlcXVlc3QpOgorICAgICMgVGhpcyBzaW11bGF0ZXMgYSBicm9rZW4gc2VydmVy
IHRoYXQgc2VuZHMgYSBXZWJTb2NrZXQgZnJhbWUgYmVmb3JlIHRoZQorICAgICMgaGFuZHNoYWtl
LCBhbmQgbW9yZSBmcmFtZXMgYWZ0ZXJ3YXJkcy4gIEl0IGlzIGltcG9ydGFudCB0aGF0IGlmIHRo
aXMKKyAgICAjIGhhcHBlbnMgdGhlIGNsaWVudCBkb2VzIG5vdCBidWZmZXIgYWxsIHRoZSBmcmFt
ZXMgYXMgdGhlIHNlcnZlciBjb250aW51ZXMKKyAgICAjIHRvIHNlbmQgbW9yZSBkYXRhIC0gaXQg
c2hvdWxkIGFib3J0IGFmdGVyIHJlYWRpbmcgYSByZWFzb25hYmxlIG51bWJlciBvZgorICAgICMg
Ynl0ZXMgKHNldCBhcmJpdHJhcmlseSB0byAxMDI0KS4KKyAgICBmcmFtZSA9ICdcMEZyYW1lLWNv
bnRhaW5zLXRoaXJ0eS10d28tYnl0ZXMnCisKKyAgICBtc2cgPSBmcmFtZQorICAgIG1zZyArPSAn
SFRUUC8xLjEgMTAxIFdlYlNvY2tldCBQcm90b2NvbCBIYW5kc2hha2VcclxuJworICAgIG1zZyAr
PSAnVXBncmFkZTogV2ViU29ja2V0XHJcbicKKyAgICBtc2cgKz0gJ0Nvbm5lY3Rpb246IFVwZ3Jh
ZGVcclxuJworICAgIG1zZyArPSAnU2VjLVdlYlNvY2tldC1Mb2NhdGlvbjogJyArIHJlcXVlc3Qu
d3NfbG9jYXRpb24gKyAnXHJcbicKKyAgICBtc2cgKz0gJ1NlYy1XZWJTb2NrZXQtT3JpZ2luOiAn
ICsgcmVxdWVzdC53c19vcmlnaW4gKyAnXHJcbicKKyAgICBtc2cgKz0gJ1xyXG4nCisgICAgbXNn
ICs9IHJlcXVlc3Qud3NfY2hhbGxlbmdlX21kNQorICAgIHJlcXVlc3QuY29ubmVjdGlvbi53cml0
ZShtc2cpCisgICAgIyBjb250aW51ZSB3cml0aW5nIGRhdGEgdW50aWwgdGhlIGNsaWVudCBkaXNj
b25uZWN0cworICAgIHdoaWxlIFRydWU6CisgICAgICAgIHRpbWUuc2xlZXAoMSkKKyAgICAgICAg
bnVtRnJhbWVzID0gMTAyNCAvIGxlbihmcmFtZSkgIyB3cml0ZSBvdmVyIDEwMjQgYnl0ZXMgaW5j
bHVkaW5nIHRoZSBhYm92ZSBoYW5kc2hha2UKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgbnVt
RnJhbWVzKToKKyAgICAgICAgICAgIHJlcXVlc3QuY29ubmVjdGlvbi53cml0ZShmcmFtZSkKKwor
CitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIHBhc3MKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNo
YWtlLWZhaWwtYnktc3ViLXByb3RvY29sLW1pc21hdGNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktc3Vi
LXByb3RvY29sLW1pc21hdGNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjQ2NDJiMmE4Yzlh
N2Y1MjU4YzVlN2FkZjk0ZmM5MmZkOThkNmVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1zdWIt
cHJvdG9jb2wtbWlzbWF0Y2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAwOiBFcnJvciBkdXJpbmcgV2ViU29ja2V0IGhhbmRzaGFrZTogcHJvdG9j
b2wgbWlzbWF0Y2g6IHJlcXVlc3R0aW5nLXByb3RvY29sICE9IGF2YWlsYWJsZS1wcm90b2NvbAor
VGVzdCBXZWJTb2NrZXQgaGFuZHNoYWtlIGZhaWwgaWYgc3ViIHByb3RvY29sIG5hbWUgbWlzbWF0
Y2hlcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIHByb3RvY29sIGlzIHVu
ZGVmaW5lZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2hhbmRzaGFrZS1mYWlsLWJ5LXN1Yi1wcm90b2NvbC1taXNtYXRjaC5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1z
dWItcHJvdG9jb2wtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNmQ3OTJmNzNlNDg1ZDEzZTAw
Yzg5NTY1YTdkODNhMjNmNTJjOTk2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1zdWItcHJvdG9j
b2wtbWlzbWF0Y2guaHRtbApAQCAtMCwwICsxLDU3IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJUZXN0IFdlYlNvY2tldCBoYW5kc2hha2UgZmFpbCBp
ZiBzdWIgcHJvdG9jb2wgbmFtZSBtaXNtYXRjaGVzLiIpOworCit3aW5kb3cuanNUZXN0SXNBc3lu
YyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRl
c3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFBy
b3RvY29sRW5hYmxlZCIsIDApOworCit2YXIgcHJvdG9jb2w7CisKK2Z1bmN0aW9uIGVuZFRlc3Qo
KQoreworICAgIHNob3VsZEJlVW5kZWZpbmVkKCJwcm90b2NvbCIpOworICAgIGNsZWFyVGltZW91
dCh0aW1lb3V0SUQpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit2YXIgdXJsID0gIndzOi8v
bG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvcHJvdG9jb2wtdGVzdD9wcm90b2Nv
bD1hdmFpbGFibGUtcHJvdG9jb2wiOwordmFyIHdzID0gbmV3IFdlYlNvY2tldCh1cmwsICJyZXF1
ZXN0dGluZy1wcm90b2NvbCIpOworCit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVi
dWcoIkNvbm5lY3RlZCIpOworfTsKKword3Mub25tZXNzYWdlID0gZnVuY3Rpb24gKG1lc3NhZ2VF
dmVudCkKK3sKKyAgICBwcm90b2NvbCA9IG1lc3NhZ2VFdmVudC5kYXRhOworICAgIHdzLmNsb3Nl
KCk7Cit9OworCit3cy5vbmNsb3NlID0gZnVuY3Rpb24oKQoreworICAgIGVuZFRlc3QoKTsKK307
CisKK2Z1bmN0aW9uIHRpbWVPdXRDYWxsYmFjaygpCit7CisgICAgZGVidWcoIlRpbWVkIG91dCBp
biBzdGF0ZTogIiArIHdzLnJlYWR5U3RhdGUpOworICAgIGVuZFRlc3QoKTsKK30KKwordmFyIHRp
bWVvdXRJRCA9IHNldFRpbWVvdXQodGltZU91dENhbGxiYWNrLCAzMDAwKTsKKwordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8u
Li9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaHliaS9oYW5naW5nLWhhbmRzaGFrZV93c2gucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmdpbmctaGFuZHNoYWtlX3dzaC5weQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MzkxYmQ4MTViYmEyMjIxZTRiYzRjYTI0NzYyZGE0YTU5ZWUzMjQyCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5naW5n
LWhhbmRzaGFrZV93c2gucHkKQEAgLTAsMCArMSw2IEBACitkZWYgd2ViX3NvY2tldF9kb19leHRy
YV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgcmVxdWVzdC5jb25uZWN0aW9uLnJlYWQoKQorCisK
K2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgcGFzcwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9odHRwb25s
eS1jb29raWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9odHRwb25seS1jb29raWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiOTJl
YzM2MzNjYjQ2NmUyZmRjNTk2MTE1NGI4NGQwNzI3MGMwNDMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2h0dHBvbmx5LWNvb2tp
ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGVzdCBXZWJTb2NrZXQgc2VuZHMgSHR0
cE9ubHkgY29va2llcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitXZWJTb2NrZXQg
b3BlbgorV2ViU29ja2V0IGNsb3NlZAorUEFTUyBjb29raWUgaXMgIldLLXdlYnNvY2tldC10ZXN0
LWh0dHBvbmx5PTE7IFdLLXdlYnNvY2tldC10ZXN0PTEiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9odHRwb25seS1jb29raWUucGwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2h0dHBvbmx5LWNvb2tpZS5wbApu
ZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wZDYxNDQ2M2Q2MTRhNjM2NmJjNjYyZjM2YmNmYjJiYjZkNjkwNTUwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9odHRwb25seS1jb29raWUucGwKQEAgLTAsMCArMSw2OCBAQAorIyEvdXNyL2Jpbi9wZXJsIC13
VAordXNlIHN0cmljdDsKKworaWYgKCRFTlZ7IlFVRVJZX1NUUklORyJ9IGVxICJjbGVhcj0xIikg
eworICAgIHByaW50ICJDb250ZW50LVR5cGU6IHRleHQvcGxhaW5cclxuIjsKKyAgICBwcmludCAi
U2V0LUNvb2tpZTogV0std2Vic29ja2V0LXRlc3Q9MDsgTWF4LUFnZT0wXHJcbiI7CisgICAgcHJp
bnQgIlNldC1Db29raWU6IFdLLXdlYnNvY2tldC10ZXN0LWh0dHBvbmx5PTA7IEh0dHBPbmx5OyBN
YXgtQWdlPTBcclxuIjsKKyAgICBwcmludCAiXHJcbiI7CisgICAgcHJpbnQgIkNvb2tpZXMgYXJl
IGNsZWFyZWQuIjsKKyAgICBleGl0OworfQorCitwcmludCAiQ29udGVudC1UeXBlOiB0ZXh0L2h0
bWxcclxuIjsKK3ByaW50ICJTZXQtQ29va2llOiBXSy13ZWJzb2NrZXQtdGVzdD0xXHJcbiI7Citw
cmludCAiU2V0LUNvb2tpZTogV0std2Vic29ja2V0LXRlc3QtaHR0cG9ubHk9MTsgSHR0cE9ubHlc
clxuIjsKK3ByaW50ICJcclxuIjsKK3ByaW50IDw8SFRNTAorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRlc3QgV2ViU29ja2V0IHNlbmRzIEh0dHBPbmx5
IGNvb2tpZXMuPC9wPgorPHA+T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
K2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFi
bGVkIiwgMCk7CisKK3ZhciBjb29raWU7CisKKy8vIE5vcm1hbGl6ZSBhIGNvb2tpZSBzdHJpbmcK
K2Z1bmN0aW9uIG5vcm1hbGl6ZUNvb2tpZShjb29raWUpCit7CisgICAgLy8gU3BsaXQgdGhlIGNv
b2tpZSBzdHJpbmcsIHNvcnQgaXQgYW5kIHRoZW4gcHV0IGl0IGJhY2sgdG9nZXRoZXIuCisgICAg
cmV0dXJuIGNvb2tpZS5zcGxpdCgnOyAnKS5zb3J0KCkuam9pbignOyAnKTsKK30KKworZnVuY3Rp
b24gY2xlYXJDb29raWVzKCkKK3sKKyAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7
CisgICAgeGhyLm9wZW4oIkdFVCIsICJodHRwb25seS1jb29raWUucGw/Y2xlYXI9MSIsIGZhbHNl
KTsKKyAgICB4aHIuc2VuZChudWxsKTsKK30KKwordmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6
Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvLWNvb2tpZSIpOword3Mu
b25vcGVuID0gZnVuY3Rpb24oKSB7CisgICAgZGVidWcoIldlYlNvY2tldCBvcGVuIik7Cit9Owor
d3Mub25tZXNzYWdlID0gZnVuY3Rpb24oZXZ0KSB7CisgICAgY29va2llID0gZXZ0LmRhdGE7Cisg
ICAgd3MuY2xvc2UoKTsKK307Cit3cy5vbmNsb3NlID0gZnVuY3Rpb24oKSB7CisgICAgZGVidWco
IldlYlNvY2tldCBjbG9zZWQiKTsKKyAgICBjb29raWUgPSBub3JtYWxpemVDb29raWUoY29va2ll
KTsKKyAgICBzaG91bGRCZSgiY29va2llIiwgJyJXSy13ZWJzb2NrZXQtdGVzdC1odHRwb25seT0x
OyBXSy13ZWJzb2NrZXQtdGVzdD0xIicpOworICAgIGNsZWFyQ29va2llcygpOworICAgIGZpbmlz
aEpTVGVzdCgpOworfTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorSFRNTApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9sb25nLWludmFsaWQtaGVh
ZGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvbG9uZy1pbnZhbGlkLWhlYWRlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzBmYTRm
MWFlZTAyYWQ5YzM5ODUyZWUyNGIyYTUwZjQ3NDA5MjA2NgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvbG9uZy1pbnZhbGlkLWhl
YWRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDA6IFVuZXhwZWN0ZWQgQ1IgaW4gbmFtZSBhdCBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBw
cHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBw
cHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcOKApgorTWFrZSBzdXJl
IFdlYlNvY2tldCBnaXZlcyBlcnJvcnMgb24gbG9uZyBpbnZhbGlkIHVwZ3JhZGUgaGVhZGVyLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1dlYlNvY2tldCBpcyBjbG9zZWQKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2xvbmctaW52YWxp
ZC1oZWFkZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvbG9uZy1pbnZhbGlkLWhlYWRlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM0ZjZlNDkxYWU5YzlhODVi
ZDk4OTZjZTIwOTRjYjdjYjM3ZmJhMzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2xvbmctaW52YWxpZC1oZWFkZXIuaHRtbApA
QCAtMCwwICsxLDM2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2Ny
aXB0aW9uKCJNYWtlIHN1cmUgV2ViU29ja2V0IGdpdmVzIGVycm9ycyBvbiBsb25nIGludmFsaWQg
dXBncmFkZSBoZWFkZXIuIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwg
MCk7CisKK2Z1bmN0aW9uIGZpbmlzaCgpIHsKKyAgICBjbGVhclRpbWVvdXQodGltZW91dElEKTsK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKwordmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8x
MjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9sb25nLWludmFsaWQtaGVhZGVyIik7
Cit3cy5vbm9wZW4gPSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNvY2tldCBpcyBvcGVu
Iik7Cit9Oword3Mub25jbG9zZSA9IGZ1bmN0aW9uICgpIHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0
IGlzIGNsb3NlZCIpOworICAgIGZpbmlzaCgpOworfTsKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1l
b3V0KCJmaW5pc2goKSIsIDIwMDApOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2xvbmctaW52YWxpZC1o
ZWFkZXJfd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9sb25nLWludmFsaWQtaGVhZGVyX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YTE2OWYzZGEwYTk1OWVk
M2Y0ODZkODE3N2VjMTMwNmY1OGQ0NjBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9sb25nLWludmFsaWQtaGVhZGVyX3dzaC5w
eQpAQCAtMCwwICsxLDExIEBACitkZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVx
dWVzdCk6CisgICAgbXNnID0gIkhUVFAvMS4xIDEwMSBXZWJTb2NrZXQgUHJvdG9jb2wgSGFuZHNo
YWtlXHJcbiIKKyAgICBtc2cgKz0gKCJwIiAqIDEwMjQpICsgIlxyXG4iCisgICAgbXNnICs9ICJc
clxuIgorICAgIG1zZyArPSByZXF1ZXN0LndzX2NoYWxsZW5nZV9tZDUKKyAgICByZXF1ZXN0LmNv
bm5lY3Rpb24ud3JpdGUobXNnKQorICAgIHJhaXNlIEV4Y2VwdGlvbigiQWJvcnQgdGhlIGNvbm5l
Y3Rpb24iKSAjIFByZXZlbnRzIHB5d2Vic29ja2V0IGZyb20gc2VuZGluZyBpdHMgb3duIGhhbmRz
aGFrZSBtZXNzYWdlLgorCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6
CisgICAgcGFzcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9tdWx0aXBsZS1jb25uZWN0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL211bHRpcGxlLWNvbm5lY3Rpb25zLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZWUxZWZiZGY5NDhjNWY3NWU0NWZiYTk2ZjIwOWNiNDFj
NzZhMGUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9tdWx0aXBsZS1jb25uZWN0aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzIEBACitUZXN0IHRoYXQgV2ViU29ja2V0IGlzIG5vdCBzdWJqZWN0IHRvIEhUVFAgY29ubmVj
dGlvbiBsaW1pdC4gU2hvdWxkIHNheSBQQVNTOgorCitQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL211bHRpcGxlLWNvbm5lY3Rpb25z
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL211bHRp
cGxlLWNvbm5lY3Rpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2E0NDFlNTkxYTMzYmNlMmQ0ODUwNWJl
Yzg0ODRkMjU4OTMwOTY4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvbXVsdGlwbGUtY29ubmVjdGlvbnMuaHRtbApAQCAtMCww
ICsxLDM1IEBACis8cD5UZXN0IHRoYXQgV2ViU29ja2V0IGlzIG5vdCBzdWJqZWN0IHRvIEhUVFAg
Y29ubmVjdGlvbiBsaW1pdC4gU2hvdWxkIHNheSBQQVNTOjwvcD4KKzxwIGlkPXJlc3VsdD5SdW5u
aW5nLi4uPC9wPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsK
KyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJy
aWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDAp
OworfQorCit2YXIgc29ja2V0Q291bnQgPSA1MDsKK3ZhciByZXN1bHQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicmVzdWx0Iik7Cit2YXIgc29ja2V0cyA9IFtdOworCitmb3IgKGkgPSAwOyBp
IDwgc29ja2V0Q291bnQ7ICsraSkgeworICAgIHZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8v
MTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNobyIpOworICAgIHNvY2tldHNb
aV0gPSB3czsKKyAgICB3cy5vbm9wZW4gPSBmdW5jdGlvbigpIHsKKyAgICAgICAgdmFyIG51bSA9
IHBhcnNlSW50KHJlc3VsdC5pbm5lckhUTUwpOworICAgICAgICBpZiAoIW51bSkKKyAgICAgICAg
ICAgIG51bSA9IDA7CisgICAgICAgIGlmIChudW0gIT0gc29ja2V0Q291bnQgLSAxKQorICAgICAg
ICAgICAgcmVzdWx0LmlubmVySFRNTCA9IG51bSArIDE7CisgICAgICAgIGVsc2UgeworICAgICAg
ICAgICAgcmVzdWx0LmlubmVySFRNTCA9ICJQQVNTIjsKKyAgICAgICAgICAgIGZvciAoaiA9IDA7
IGogPCBzb2NrZXRDb3VudDsgKytqKSB7CisgICAgICAgICAgICAgICAgc29ja2V0c1tqXS5vbmNs
b3NlID0gbnVsbDsKKyAgICAgICAgICAgICAgICBzb2NrZXRzW2pdLmNsb3NlKCk7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAg
ICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAg
fQorICAgIH0KKyAgICB3cy5vbmNsb3NlID0gZnVuY3Rpb24oKSB7IGFsZXJ0KCJGQUlMOiB1bmV4
cGVjdGVkIGNsb3NlIGV2ZW50IikgfQorfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL25vLXF1ZXJ5X3dzaC5weSBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvbm8tcXVlcnlfd3NoLnB5
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjJiNzk2MTU1ZGUzMzUyZWVmYWVhOGIyOTY2MGJmODY1ZTg0NTA5ZGEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL25vLXF1ZXJ5X3dzaC5weQpAQCAtMCwwICsxLDM4IEBACisjIENvcHlyaWdodCAoQykgMjAw
OSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKwor
Citmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgbXNndXRpbAorCisKK2RlZiB3ZWJfc29ja2V0
X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICByZXF1ZXN0LndzX2xvY2F0aW9uID0g
cmVxdWVzdC53c19yZXNvdXJjZS5zcGxpdCgnPycsIDEpWzBdCisKKworZGVmIHdlYl9zb2NrZXRf
dHJhbnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICBtc2d1dGlsLnNlbmRfbWVzc2FnZShyZXF1ZXN0
LCByZXF1ZXN0LndzX2xvY2F0aW9uKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9udWxsLWNoYXJhY3Rlci1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL251bGwtY2hhcmFjdGVyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZmNhMzc3MDRlOTQwMmE3YjJhZWY0NzU5NzlmMzQ1ZTZh
MWI4NzgyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9udWxsLWNoYXJhY3Rlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBA
QAorTWFrZSBzdXJlIFdlYlNvY2tldCB0cmFuc2ZlciBudWxsIGNoYXJhY3RlcgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1dlYlNvY2tldCBvcGVuCittc2cgc2hvdWxkIG5vdCBiZSBz
cGxpdCBieSBmcmFtZSBjaGFyIFx4ZmZcMAorUEFTUyBtc2cgaXMgZXhwZWN0ZWRNZXNzYWdlCitX
ZWJTb2NrZXQgY2xvc2VkCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9udWxsLWNoYXJhY3Rlci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9udWxsLWNoYXJhY3Rlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0MTJj
MDc4MTVjYmE4MDllYjAyODViOGE1ZjU2OTlkY2VmMTVkMjkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL251bGwtY2hhcmFjdGVy
Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
CitkZXNjcmlwdGlvbigiTWFrZSBzdXJlIFdlYlNvY2tldCB0cmFuc2ZlciBudWxsIGNoYXJhY3Rl
ciIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5j
ZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCit2YXIgd3Mg
PSBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJp
L2VjaG8iKTsKKy8vIFx4ZmYgaW4gc3RyaW5nIHdvdWxkIGJlIFx4YzNceGJmIG9uIHdlYnNvY2tl
dCBjb25uZWN0aW9uIChVVEYtOCkKK3ZhciBleHBlY3RlZE1lc3NhZ2UgPSAiU2hvdWxkIE5vdFx4
ZmZcMFNwbGl0IjsKKword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJXZWJT
b2NrZXQgb3BlbiIpOworICAgIHdzLnNlbmQoZXhwZWN0ZWRNZXNzYWdlKTsKK307CisKK3ZhciBt
c2c7Cit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlRXZlbnQpCit7CisgICAgbXNnID0g
bWVzc2FnZUV2ZW50LmRhdGE7CisgICAgZGVidWcoIm1zZyBzaG91bGQgbm90IGJlIHNwbGl0IGJ5
IGZyYW1lIGNoYXIgXFx4ZmZcXDAiKTsKKyAgICBzaG91bGRCZSgibXNnIiwgImV4cGVjdGVkTWVz
c2FnZSIpOworICAgIHdzLmNsb3NlKCk7Cit9OworCit3cy5vbmNsb3NlID0gZnVuY3Rpb24oKQor
eworICAgIGRlYnVnKCJXZWJTb2NrZXQgY2xvc2VkIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL29yaWdpbi10ZXN0X3dzaC5weSBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvb3JpZ2luLXRlc3Rfd3NoLnB5Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjk4OGQ2YWZjOTU0MDZlNGMyZDIxZTdlYWRjMjhiM2MyYWI3OThjNGEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL29yaWdp
bi10ZXN0X3dzaC5weQpAQCAtMCwwICsxLDM4IEBACisjIENvcHlyaWdodCAoQykgMjAwOSBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisj
CisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitmcm9t
IG1vZF9weXdlYnNvY2tldCBpbXBvcnQgbXNndXRpbAorCisKK2RlZiB3ZWJfc29ja2V0X2RvX2V4
dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICBwYXNzICMgQWx3YXlzIGFjY2VwdC4KKworCitk
ZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIG1zZ3V0aWwuc2VuZF9t
ZXNzYWdlKHJlcXVlc3QsIHJlcXVlc3Qud3Nfb3JpZ2luKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9wcm90b2NvbC10ZXN0X3dzaC5weSBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvcHJvdG9jb2wtdGVz
dF93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjQzZDhlNjBlZWVmOTMxMmJkZTc1ZGIzNTAwNDI2YzA2ZmVi
ZjA3MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvcHJvdG9jb2wtdGVzdF93c2gucHkKQEAgLTAsMCArMSw0NCBAQAorIyBDb3B5
cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
IyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisKKworaW1wb3J0IGNnaQorZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IG1z
Z3V0aWwKKworCitkZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6Cisg
ICAgciA9IHJlcXVlc3Qud3NfcmVzb3VyY2Uuc3BsaXQoJz8nLCAxKQorICAgIGlmIGxlbihyKSA9
PSAxOgorICAgICAgICByZXR1cm4KKyAgICBwYXJhbSA9IGNnaS5wYXJzZV9xcyhyWzFdKQorICAg
IGlmICdwcm90b2NvbCcgaW4gcGFyYW06CisgICAgICAgIHJlcXVlc3Qud3NfcHJvdG9jb2wgPSBw
YXJhbVsncHJvdG9jb2wnXVswXQorCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVx
dWVzdCk6CisgICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwgcmVxdWVzdC53c19wcm90
b2NvbCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvcmVsb2FkLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvcmVsb2FkLWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wMTc1ZGVlM2Y2NjNhZTYzMDAxZWZiMWUzZTFkZjVhYjcwYzg2MzQxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9yZWxvYWQt
Y3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3QgaWYgaXQgZG9lc24ndCBj
cmFzaCB3aGVuIHJlbG9hZGluZyB3aGlsZSBXZWIgU29ja2V0IGlzIGJ1c3kKKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGluc2VydCBhIGlmcmFtZQorUEFTUyBpZnJhbWUgaXMg
cmVhZHkuCitQQVNTIHJlbG9hZGVkIGlmcmFtZSB3aGlsZSBXZWJTb2NrZXQgaXMgYnVzeQorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvcmVsb2FkLWNy
YXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3Jl
bG9hZC1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjZDQ1Y2ViYTRlYzZjNTE3NGRjMDJjMjBlMjJm
YTBhZjczYzdkZWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL3JlbG9hZC1jcmFzaC5odG1sCkBAIC0wLDAgKzEsNDEgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10
ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIlRlc3QgaWYgaXQg
ZG9lc24ndCBjcmFzaCB3aGVuIHJlbG9hZGluZyB3aGlsZSBXZWIgU29ja2V0IGlzIGJ1c3kiKTsK
Kword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldl
YktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwordmFyIGZyYW1lRGl2
OwordmFyIHJlbG9hZENvdW50ID0gMDsKKworZG9jdW1lbnQuaWZyYW1lUmVhZHkgPSBmdW5jdGlv
biAoKQoreworICAgIGlmIChyZWxvYWRDb3VudCA9PSAwKQorICAgICAgIGRlYnVnKCJQQVNTIGlm
cmFtZSBpcyByZWFkeS4iKTsKKyAgICBpZiAocmVsb2FkQ291bnQgPT0gMSkgeworICAgICAgIGRl
YnVnKCJQQVNTIHJlbG9hZGVkIGlmcmFtZSB3aGlsZSBXZWJTb2NrZXQgaXMgYnVzeSIpOworICAg
ICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgIHJldHVybjsKKyAgICB9CisgICAgcmVsb2FkQ291
bnQgKz0gMTsKK307CisKK2ZyYW1lRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1l
Iik7CitmcmFtZURpdi5zcmMgPSAicmVzb3VyY2VzL3JlbG9hZC1jcmFzaC1pZnJhbWUuaHRtbCI7
Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZyYW1lRGl2KTsKK2RlYnVnKCJQQVNTIGluc2Vy
dCBhIGlmcmFtZSIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3Jlc291cmNlcy9jbG9zZS1vbi11bmxv
YWQtaWZyYW1lLXJlZmVyZW5jZS1pbi1wYXJlbnQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvcmVzb3VyY2VzL2Nsb3NlLW9uLXVubG9hZC1pZnJhbWUt
cmVmZXJlbmNlLWluLXBhcmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyNTEzMDlkNWYzMGRkYTBiYTMx
OTZkNTAzMWUxNWQyZmJhOWM5NzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3Jlc291cmNlcy9jbG9zZS1vbi11bmxvYWQtaWZy
YW1lLXJlZmVyZW5jZS1pbi1wYXJlbnQuaHRtbApAQCAtMCwwICsxLDI0IEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8uLi9qcy10ZXN0
LXJlc291cmNlcy9qcy10ZXN0LXBvc3QtZnVuY3Rpb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK3BhcmVudC5kb2N1bWVudC5j
aGlsZFdlYlNvY2tldCA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvY2xvc2Utb24tdW5sb2FkIik7CisKK3BhcmVudC5kb2N1bWVudC5jaGls
ZFdlYlNvY2tldC5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgLy8gc2VuZCAic29ja2V0MSIg
dG8gc2VydmVyLCBzbyB0aGF0ICJzb2NrZXQxIiB3aWxsIGJlIGJyb2FkY2FzdGVkIHRvIHdlYiBz
b2NrZXRzIGNvbm5lY3RlZCB0byBjbG9zZS1vbi11bmxvYWQgd2hlbiB0aGlzIHdlYiBzb2NrZXQg
aXMgY2xvc2VkLgorICAgIHBhcmVudC5kb2N1bWVudC5jaGlsZFdlYlNvY2tldC5zZW5kKCJzb2Nr
ZXQxIik7Cit9OworcGFyZW50LmRvY3VtZW50LmNoaWxkV2ViU29ja2V0Lm9ubWVzc2FnZSA9IGZ1
bmN0aW9uKGV2dCkKK3sKKyAgICAvLyAic29ja2V0MSIgaXMgcmVjZWl2ZWQgYnkgc2VydmVyLCBz
byByZWFkeSB0byB1bmxvYWQgdGhpcyBkb2N1bWVudC4KKyAgICBwYXJlbnQuZG9jdW1lbnQuaWZy
YW1lUmVhZHkoZXZ0LmRhdGEpOworfTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9yZXNv
dXJjZXMvY2xvc2Utb24tdW5sb2FkLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9yZXNvdXJjZXMvY2xvc2Utb24tdW5sb2FkLWlmcmFtZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjg5ZDE4YTExOGJlZjEwNGZkYzFlMzBkZjRlZDJlMDFiOWVkZTU1ZDAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL3Jlc291cmNlcy9jbG9zZS1vbi11bmxvYWQtaWZyYW1lLmh0bWwKQEAgLTAsMCArMSwy
MyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8uLi9qcy10ZXN0
LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LWZ1bmN0aW9uLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Cit2
YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0
cy9oeWJpL2Nsb3NlLW9uLXVubG9hZCIpOword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAg
IC8vIHNlbmQgInNvY2tldDEiIHRvIHNlcnZlciwgc28gdGhhdCAic29ja2V0MSIgd2lsbCBiZSBi
cm9hZGNhc3RlZCB0byB3ZWIgc29ja2V0cyBjb25uZWN0ZWQgdG8gY2xvc2Utb24tdW5sb2FkIHdo
ZW4gdGhpcyB3ZWIgc29ja2V0IGlzIGNsb3NlZC4KKyAgICB3cy5zZW5kKCJzb2NrZXQxIik7Cit9
Oword3Mub25tZXNzYWdlID0gZnVuY3Rpb24oZXZ0KQoreworICAgIC8vICJzb2NrZXQxIiBpcyBy
ZWNlaXZlZCBieSBzZXJ2ZXIsIHNvIHJlYWR5IHRvIHVubG9hZCB0aGlzIGRvY3VtZW50LgorICAg
IHBhcmVudC5kb2N1bWVudC5pZnJhbWVSZWFkeShldnQuZGF0YSk7Cit9Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvcmVzb3VyY2VzL3JlbG9hZC1jcmFzaC1pZnJhbWUuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvcmVzb3VyY2VzL3JlbG9hZC1j
cmFzaC1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MWFiNTA3MDI1MTI3NzhiMjNjMjZiZjhiN2Uy
NTg5MjQyYTVkNDI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9yZXNvdXJjZXMvcmVsb2FkLWNyYXNoLWlmcmFtZS5odG1sCkBA
IC0wLDAgKzEsMTUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4v
Li4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC1mdW5jdGlv
bi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48
L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgorcGFyZW50LmRvY3VtZW50LmlmcmFtZVJlYWR5KCk7Cit2YXIgd3MgPSBuZXcgV2Vi
U29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLW9u
LXVubG9hZCIpOworbG9jYXRpb24ucmVsb2FkKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
Ymkvc2VuZC1hZnRlci1jbG9zZS1vbi11bmxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWFmdGVyLWNsb3NlLW9uLXVubG9h
ZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2ZmNDhiMWUyNTE5N2Q1YzdkY2UxZTZjZjNiODAx
OWQ3ZmE0NWMzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC1hZnRlci1jbG9zZS1vbi11bmxvYWQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTUgQEAKK1Rlc3QgaWYgV2ViIFNvY2tldCBvcGVuZWQgaW4gaWZyYW1lLCBy
ZWZlcnJlZCBpbiBwYXJlbnQgZG9jdW1lbnQgaXMsIGFuZCB0cnkgdG8gc2VuZCgpIHJldHVybnMg
ZmFsc2UuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyB3cyBvbiBtYXN0ZXIg
ZG9jdW1lbnQgaXMgcmVhZHkuCitQQVNTIGluc2VydCBhIGlmcmFtZSwgd2hlcmUgb3BlbiB3cyBj
YWxsZWQgJ3NvY2tldDEnCitQQVNTIGRvY3VtZW50LmNoaWxkV2ViU29ja2V0IGlzIG5vbi1udWxs
LgorUEFTUyAnc29ja2V0MScgaXMgc2VudCB0byB0aGUgc2VydmVyLiB1bmxvYWQgdGhlIGlmcmFt
ZS4gZXhwZWN0IHJlY2VpdmluZyAnc29ja2V0MScgb24gd3MuLi4KK1BBU1MgZG9jdW1lbnQuY2hp
bGRXZWJTb2NrZXQuc2VuZCgnc2VuZCB0byBjbG9zZWQgc29ja2V0JykgaXMgZmFsc2UKK1BBU1Mg
Y2xvc2VkU29ja2V0IGlzICJzb2NrZXQxIgorUEFTUyBkb2N1bWVudC5jaGlsZFdlYlNvY2tldC5y
ZWFkeVN0YXRlIGlzIDMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL3NlbmQtYWZ0ZXItY2xvc2Utb24tdW5sb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlbmQtYWZ0ZXItY2xvc2Utb24tdW5sb2Fk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMmQzYjViNWZlZTdiMTIxOTM4YWM2OGZkMWZlYmUzMDZjYmE5NGQ0
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5Ymkvc2VuZC1hZnRlci1jbG9zZS1vbi11bmxvYWQuaHRtbApAQCAtMCwwICsxLDU0IEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0
LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4v
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJUZXN0IGlm
IFdlYiBTb2NrZXQgb3BlbmVkIGluIGlmcmFtZSwgcmVmZXJyZWQgaW4gcGFyZW50IGRvY3VtZW50
IGlzLCBhbmQgdHJ5IHRvIHNlbmQoKSByZXR1cm5zIGZhbHNlLiIpOworCit3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNv
Y2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCit2YXIgZnJhbWVEaXY7Cit2YXIgY2xvc2VkU29j
a2V0OworZG9jdW1lbnQuY2hpbGRXZWJTb2NrZXQgPSBudWxsOworCit2YXIgd3MgPSBuZXcgV2Vi
U29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLW9u
LXVubG9hZCIpOword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJQQVNTIHdz
IG9uIG1hc3RlciBkb2N1bWVudCBpcyByZWFkeS4iKTsKKyAgICBmcmFtZURpdiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOworICAgIGZyYW1lRGl2LnNyYyA9ICJyZXNvdXJjZXMv
Y2xvc2Utb24tdW5sb2FkLWlmcmFtZS1yZWZlcmVuY2UtaW4tcGFyZW50Lmh0bWwiOworICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWVEaXYpOworICAgIGRlYnVnKCJQQVNTIGluc2Vy
dCBhIGlmcmFtZSwgd2hlcmUgb3BlbiB3cyBjYWxsZWQgJ3NvY2tldDEnIik7Cit9Oword3Mub25t
ZXNzYWdlID0gZnVuY3Rpb24oZXZ0KQoreworICAgIGNsb3NlZFNvY2tldCA9IGV2dC5kYXRhOwor
ICAgIHdzLmNsb3NlKCk7Cit9Oword3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBzaG91
bGRCZSgiY2xvc2VkU29ja2V0IiwgJyJzb2NrZXQxIicpOworICAgIHNob3VsZEJlKCJkb2N1bWVu
dC5jaGlsZFdlYlNvY2tldC5yZWFkeVN0YXRlIiwgIjMiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K307CisKK2RvY3VtZW50LmlmcmFtZVJlYWR5ID0gZnVuY3Rpb24oKQoreworICAgIHNob3VsZEJl
Tm9uTnVsbCgiZG9jdW1lbnQuY2hpbGRXZWJTb2NrZXQiKTsKKyAgICBkZWJ1ZygiUEFTUyAnc29j
a2V0MScgaXMgc2VudCB0byB0aGUgc2VydmVyLiB1bmxvYWQgdGhlIGlmcmFtZS4gZXhwZWN0IHJl
Y2VpdmluZyAnc29ja2V0MScgb24gd3MuLi4iKTsKKyAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNo
aWxkKGZyYW1lRGl2KTsKKyAgICBzaG91bGRCZUZhbHNlKCJkb2N1bWVudC5jaGlsZFdlYlNvY2tl
dC5zZW5kKCdzZW5kIHRvIGNsb3NlZCBzb2NrZXQnKSIpOworfTsKKwordmFyIHN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10
ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9zZW5kLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5Ymkvc2VuZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2IzYzdmNTE3MzEzYjhlY2Jl
MTIwZjA0YjVjYmE0MGRkNjUzYzVmMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMiBAQAorV2ViIFNvY2tldCBzZW5kIHRlc3QKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCitDb25uZWN0ZWQuCitQQVNTIGRhdGEgaXMgRklSU1RfTUVTU0FHRV9UT19TRU5ECitQQVNT
IGRhdGEgaXMgU0VDT05EX01FU1NBR0VfVE9fU0VORAorQ2xvc2VkLgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC10aHJvdy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlbmQtdGhy
b3ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhNzRiYTMxNTQxNWZjMGQyZjRlNmQ1MDYyMjYy
MzVjMDFmYmIyNmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL3NlbmQtdGhyb3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEg
QEAKK1dlYiBTb2NrZXQgc2VuZCB0ZXN0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
Q29ubmVjdGVkLgorQ2F1Z2h0IGV4Y2VwdGlvbjogUGlja2xlcworQ2xvc2VkLgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC10aHJvdy5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLXRocm93
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzU2YmRiNTJiZGI3MzYyN2VkM2U5ZWMyYTEzM2ViMWZmZTcwYWU4
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5Ymkvc2VuZC10aHJvdy5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIldlYiBTb2NrZXQgc2VuZCB0ZXN0Iik7
CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJX
ZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK2Z1bmN0aW9uIGVu
ZFRlc3QoKQoreworICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOworICAgIGZpbmlzaEpTVGVz
dCgpOworfQorCit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovL2xvY2FsaG9zdDo4ODgwL3dl
YnNvY2tldC90ZXN0cy9oeWJpL3NlbmQiKTsKKwordmFyIEZJUlNUX01FU1NBR0VfVE9fU0VORCA9
IHsKKyAgICB0b1N0cmluZzogZnVuY3Rpb24oKSB7IHRocm93ICJQaWNrbGVzIjsgfQorfTsKKy8v
IGRhdGEgbmVlZHMgdG8gYmUgZ2xvYmFsIHRvIGJlIGFjY2Vzc2JpbGUgZnJvbSBzaG91bGRCZSgp
LgordmFyIGRhdGEgPSAiIjsKKword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVn
KCJDb25uZWN0ZWQuIik7CisgICAgdHJ5IHsKKyAgICAgICAgd3Muc2VuZChGSVJTVF9NRVNTQUdF
X1RPX1NFTkQpOworICAgIH0gY2F0Y2ggKGV4KSB7CisgICAgICAgIGRlYnVnKCJDYXVnaHQgZXhj
ZXB0aW9uOiAiICsgZXgpOworICAgIH0KKyAgICB3cy5jbG9zZSgpOworfTsKKword3Mub25jbG9z
ZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygiQ2xvc2VkLiIpOworICAgIGVuZFRlc3QoKTsK
K307CisKK2Z1bmN0aW9uIHRpbWVPdXRDYWxsYmFjaygpCit7CisgICAgdGVzdEZhaWxlZCgiVGlt
ZWQgb3V0IGluIHN0YXRlOiAiICsgd3MucmVhZHlTdGF0ZSk7CisgICAgZW5kVGVzdCgpOworfQor
Cit2YXIgdGltZW91dElEID0gc2V0VGltZW91dCh0aW1lT3V0Q2FsbGJhY2ssIDMwMDApOworCit2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL3NlbmQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5Ymkvc2VuZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlY2E1ODBiY2FjZmJiNGY4MWE5
MDY0NzRkODIwNzVhZTZiZmYwODYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlbmQuaHRtbApAQCAtMCwwICsxLDY3IEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMt
dGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJXZWIgU29ja2V0
IHNlbmQgdGVzdCIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRl
UHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOwor
CitmdW5jdGlvbiBlbmRUZXN0KCkKK3sKKyAgICBjbGVhclRpbWVvdXQodGltZW91dElEKTsKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30KKwordmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly9sb2Nh
bGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kIik7CisKK3ZhciBGSVJTVF9NRVNT
QUdFX1RPX1NFTkQgPSAiVGhpcyBpcyB0aGUgZmlyc3QgbWVzc2FnZSB0byBzZW5kIHRvIHRoZSBz
ZXJ2ZXIuIjsKK3ZhciBTRUNPTkRfTUVTU0FHRV9UT19TRU5EID0gIlRoaXMgaXMgdGhlIHNlY29u
ZC4iOworLy8gZGF0YSBuZWVkcyB0byBiZSBnbG9iYWwgdG8gYmUgYWNjZXNzYmlsZSBmcm9tIHNo
b3VsZEJlKCkuCit2YXIgZGF0YSA9ICIiOworCit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7Cisg
ICAgZGVidWcoIkNvbm5lY3RlZC4iKTsKKyAgICB3cy5zZW5kKEZJUlNUX01FU1NBR0VfVE9fU0VO
RCk7Cit9OworCit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlRXZlbnQpCit7CisgICAg
Ly8gVGhlIHNlcnZlciBzaG91bGQgZWNobyBiYWNrIHRoZSBmaXJzdCBtZXNzYWdlLgorICAgIGRh
dGEgPSBtZXNzYWdlRXZlbnQuZGF0YTsKKyAgICBzaG91bGRCZSgiZGF0YSIsICJGSVJTVF9NRVNT
QUdFX1RPX1NFTkQiKTsKKyAgICB3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlRXZlbnQp
IHsKKyAgICAgICAgLy8gVGhlIHNlcnZlciBzaG91bGQgZWNobyBiYWNrIHRoZSBzZWNvbmQgbWVz
c2FnZS4KKyAgICAgICAgZGF0YSA9IG1lc3NhZ2VFdmVudC5kYXRhOworICAgICAgICBzaG91bGRC
ZSgiZGF0YSIsICJTRUNPTkRfTUVTU0FHRV9UT19TRU5EIik7CisgICAgfTsKKyAgICB3cy5zZW5k
KFNFQ09ORF9NRVNTQUdFX1RPX1NFTkQpOworfTsKKword3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkK
K3sKKyAgICBkZWJ1ZygiQ2xvc2VkLiIpOworICAgIGVuZFRlc3QoKTsKK307CisKK2Z1bmN0aW9u
IHRpbWVPdXRDYWxsYmFjaygpCit7CisgICAgdGVzdEZhaWxlZCgiVGltZWQgb3V0IGluIHN0YXRl
OiAiICsgd3MucmVhZHlTdGF0ZSk7CisgICAgZW5kVGVzdCgpOworfQorCit2YXIgdGltZW91dElE
ID0gc2V0VGltZW91dCh0aW1lT3V0Q2FsbGJhY2ssIDMwMDApOworCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L3NlbmQyX3dzaC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
Ymkvc2VuZDJfd3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUyMjE3ZmEzZDUyYzBmZTNkOThkNjJjNGQxODE0
MjcwOWRhY2YxNzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL3NlbmQyX3dzaC5weQpAQCAtMCwwICsxLDggQEAKK2RlZiB3ZWJf
c29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICBwYXNzICMgQWx3YXlzIGFj
Y2VwdC4KKworCitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgICMg
c2VuZCAyIG1lc3NhZ2VzIGluIG9uZSBwYWNrZXQuCisgICAgcmVxdWVzdC5jb25uZWN0aW9uLndy
aXRlKCJceDAwIiArICJmaXJzdCBtZXNzYWdlIiArICJceGZmIiArCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJceDAwIiArICJzZWNvbmQgbWVzc2FnZSIgKyAiXHhmZiIpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlbmRfd3No
LnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kX3dz
aC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yNTEwNGIzNDgyZDQzMmE4ZjA0OTkzYzQyZGUwMzVkM2RlZTc5YWQ2
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaHliaS9zZW5kX3dzaC5weQpAQCAtMCwwICsxLDQxIEBACisjIENvcHlyaWdodCAoQykgMjAw
OSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKwor
Citmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgbXNndXRpbAorCisKK2RlZiB3ZWJfc29ja2V0
X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICBwYXNzICMgQWx3YXlzIGFjY2VwdC4K
KworCitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgICMgUmVjZWl2
ZSBhbmQgZWNobyBiYWNrIG1lc3NhZ2VzIHR3aWNlLgorICAgIGZvciB1bnVzZWQgaW4gcmFuZ2Uo
Mik6CisgICAgICAgIG1lc3NhZ2UgPSBtc2d1dGlsLnJlY2VpdmVfbWVzc2FnZShyZXF1ZXN0KQor
ICAgICAgICBtc2d1dGlsLnNlbmRfbWVzc2FnZShyZXF1ZXN0LCBtZXNzYWdlKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZXJ2ZXItY2xv
c2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS9zZXJ2ZXItY2xvc2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlZWRhOWUwYjMwYjIx
MDQyY2E5NGY4ZmVmNWY5Mzk2MWJlYzg5ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlcnZlci1jbG9zZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMSBAQAorV2ViU29ja2V0OiBUZXN0IHNlcnZlci1pbml0aWF0ZWQgY2xv
c2UuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworQ29ubmVjdGVkCitDbG9zZWQKK1BB
U1MgY2xvc2VFdmVudC53YXNDbGVhbiBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZXJ2ZXItY2xvc2UuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VydmVyLWNsb3NlLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMmQ1MTMwMzBiYWJjZjQxMzk1YmYxYmJmMTM5OTI4ZDk5NDY0M2MwMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2Vy
dmVyLWNsb3NlLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiV2ViU29ja2V0OiBUZXN0IHNlcnZlci1pbml0aWF0ZWQg
Y2xvc2UuIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVm
ZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK3Zh
ciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3Rz
L2h5Ymkvc2VydmVyLWNsb3NlIik7Cit2YXIgY2xvc2VFdmVudDsKKword3Mub25vcGVuID0gZnVu
Y3Rpb24oKQoreworICAgIGRlYnVnKCJDb25uZWN0ZWQiKTsKK307CisKK3dzLm9ubWVzc2FnZSA9
IGZ1bmN0aW9uKG1lc3NhZ2VFdmVudCkKK3sKKyAgICBkZWJ1ZygiUmVjZWl2ZWQ6ICIgKyBtZXNz
YWdlRXZlbnQuZGF0YSk7Cit9OworCit3cy5vbmNsb3NlID0gZnVuY3Rpb24oZXZlbnQpCit7Cisg
ICAgZGVidWcoIkNsb3NlZCIpOworICAgIGNsb3NlRXZlbnQgPSBldmVudDsKKyAgICBzaG91bGRC
ZVRydWUoImNsb3NlRXZlbnQud2FzQ2xlYW4iKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisK
K3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5Ymkvc2VydmVyLWNsb3NlX3dzaC5weSBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VydmVyLWNsb3NlX3dzaC5weQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hMDY5OGEzMzVmN2IyMDU3YWIyNzE1YTAzYTU0ZjcxYWY4YzQwNzdjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZXJ2ZXIt
Y2xvc2Vfd3NoLnB5CkBAIC0wLDAgKzEsNyBAQAorZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFu
ZHNoYWtlKHJlcXVlc3QpOgorICAgIHBhc3MKKworCitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9k
YXRhKHJlcXVlc3QpOgorICAgICMgQWZ0ZXIgdGhpcyBoYW5kbGVyIGV4aXRzLCBweXdlYnNvY2tl
dCBpbml0aWF0ZXMgdGhlIGNsb3NpbmcgaGFuZHNoYWtlLgorICAgIHBhc3MKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2lt
cGxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTdjNDYzNDliZDNjNzJjM2RlZDI1NjQ0MzM5
OTlkZTFlMmZhZGQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9zaW1wbGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAK
K1NpbXBsZSBXZWIgU29ja2V0IHRlc3QKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitD
cmVhdGVkIGEgc29ja2V0IHRvICd3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9o
eWJpL3NpbXBsZSc7IHJlYWR5U3RhdGUgMC4KK0Nvbm5lY3RlZDsgcmVhZHlTdGF0ZSAxCitSZWNl
aXZlZDogJ0hlbGxvIGZyb20gU2ltcGxlIFdTSC4nOyByZWFkeVN0YXRlIDEKK0Nsb3NlZDsgcmVh
ZHlTdGF0ZSAzLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5Ymkvc2ltcGxlLXN0cmVzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL3NpbXBsZS1zdHJlc3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY1N2MzZWM1YzI4ZWUxYzVmZmRhYzk5YzEyMmJmNzQxOGY0MzcyOGQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NpbXBs
ZS1zdHJlc3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorVGVzdCBzZW5kaW5nIG1hbnkg
bWVzc2FnZXMsIGFuZCBzZW5kaW5nIGEgbGFyZ2UgbWVzc2FnZS4KKworU2hvdWxkIHNheSBQQVNT
OgorCitSdW5uaW5nIHRoZSB0ZXN0Li4uCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxlLXN0cmVzcy5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zaW1wbGUtc3RyZXNzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMWRjY2I3ZDUyNWVlZTA2Njk1OWE2MmQ0MDcwNDhmY2FhYzliODc0OQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5Ymkvc2ltcGxlLXN0cmVzcy5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzxwPlRlc3Qgc2VuZGlu
ZyBtYW55IG1lc3NhZ2VzLCBhbmQgc2VuZGluZyBhIGxhcmdlIG1lc3NhZ2UuPC9wPgorPHA+U2hv
dWxkIHNheSBQQVNTOjwvcD4KKzxwcmUgaWQ9bG9nPlJ1bm5pbmcgdGhlIHRlc3QuLi4KKzwvcHJl
PgorPHNjcmlwdD4KK3ZhciBudW1TbWFsbE1lc3NhZ2VzID0gMTAwMDsKKworaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29j
a2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7Cit9CisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQorewor
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2ciKS5pbm5lckhUTUwgKz0gbWVzc2FnZSAr
ICJcbiI7Cit9CisKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNobyIpOworCit3cy5vbm9wZW4gPSBmdW5jdGlvbigpIHsK
KyAgICBmb3IgKGkgPSAwOyBpIDwgbnVtU21hbGxNZXNzYWdlczsgKytpKSB7CisgICAgICAgIHdz
LnNlbmQoaSk7CisgICAgfQorCit9CisKK3ZhciBsYXN0TWVzc2FnZSA9IC0xOword3Mub25tZXNz
YWdlID0gZnVuY3Rpb24obXNnKSB7CisgICAgaWYgKHBhcnNlSW50KG1zZy5kYXRhKSAhPSBsYXN0
TWVzc2FnZSArIDEpCisgICAgICAgIGxvZygiRkFJTCAtIG91dCBvZiBzZXF1ZW5jZSByZXNwb25z
ZS4gRXhwZWN0ZWQgIiArIGxhc3RNZXNzYWdlICsgMSArICIsIGdvdCAiICsgbXNnLmRhdGEpOwor
ICAgICsrbGFzdE1lc3NhZ2U7CisgICAgaWYgKGxhc3RNZXNzYWdlID09IG51bVNtYWxsTWVzc2Fn
ZXMgLSAxKQorICAgICAgICB0ZXN0TGFyZ2VTdHJpbmcoKTsKK30KKworZnVuY3Rpb24gdGVzdExh
cmdlU3RyaW5nKCkKK3sKKyAgICAvLyBCdWlsZCBhIHN0cmluZyAyNTZLIGluIGxlbmd0aC4KKyAg
ICB2YXIgc3RyID0gIiAiOworICAgIGZvciAoaSA9IDA7IGkgPCAxODsgKytpKQorICAgICAgICBz
dHIgKz0gc3RyOworCisgICAgd3Muc2VuZChzdHIpOworICAgIHdzLm9ubWVzc2FnZSA9IGZ1bmN0
aW9uKG1zZykgeworICAgICAgICBsb2cobXNnLmRhdGEubGVuZ3RoID09IHN0ci5sZW5ndGggPyAi
UEFTUyIgOiAiRkFJTCAtIHdyb25nIHJlc3BvbnNlIGxlbmd0aCIpOworICAgICAgICB3cy5zZW5k
KCJHb29kYnllIik7CisgICAgICAgIHdzLm9ubWVzc2FnZSA9IG51bGw7CisgICAgICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICBzZXRUaW1lb3V0KCJsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCkiLCAwKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
c2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L3NpbXBsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4YTcyZWQ3ZDgwYmQyMjQwNDVlNDdhM2EwZjI4MTQ2
N2FjYzMzNzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL3NpbXBsZS5odG1sCkBAIC0wLDAgKzEsNTQgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIlNpbXBsZSBXZWIgU29ja2V0IHRl
c3QiKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVu
Y2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKworZnVuY3Rp
b24gZW5kVGVzdCgpCit7CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7CisgICAgZmluaXNo
SlNUZXN0KCk7Cit9CisKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4
ODAvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxlIik7CitkZWJ1ZygiQ3JlYXRlZCBhIHNvY2tl
dCB0byAnIiArIHdzLlVSTCArICInOyByZWFkeVN0YXRlICIgKyB3cy5yZWFkeVN0YXRlICsgIi4i
KTsKKword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJDb25uZWN0ZWQ7IHJl
YWR5U3RhdGUgIiArIHdzLnJlYWR5U3RhdGUpOworfTsKKword3Mub25tZXNzYWdlID0gZnVuY3Rp
b24obWVzc2FnZUV2ZW50KQoreworICAgIGRlYnVnKCJSZWNlaXZlZDogJyIgKyBtZXNzYWdlRXZl
bnQuZGF0YSArICInOyByZWFkeVN0YXRlICIgKyB3cy5yZWFkeVN0YXRlKTsKK307CisKK3dzLm9u
Y2xvc2UgPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIkNsb3NlZDsgcmVhZHlTdGF0ZSAiICsg
d3MucmVhZHlTdGF0ZSArICIuIik7CisgICAgZW5kVGVzdCgpOworfTsKKworZnVuY3Rpb24gdGlt
ZU91dENhbGxiYWNrKCkKK3sKKyAgICBkZWJ1ZygiVGltZWQgb3V0IGluIHN0YXRlOiAiICsgd3Mu
cmVhZHlTdGF0ZSk7CisgICAgZW5kVGVzdCgpOworfQorCit2YXIgdGltZW91dElEID0gc2V0VGlt
ZW91dCh0aW1lT3V0Q2FsbGJhY2ssIDMwMDApOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NpbXBsZV93
c2gucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NpbXBs
ZV93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZmMwMjcxYzVmN2E5ZjU0N2Y1MmZiYzA1Y2ZkMzA0YjNiNWRm
MDMyZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5Ymkvc2ltcGxlX3dzaC5weQpAQCAtMCwwICsxLDM4IEBACisjIENvcHlyaWdodCAo
QykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisj
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
IyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKworCitmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgbXNndXRpbAorCisKK2RlZiB3ZWJf
c29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICBwYXNzICMgQWx3YXlzIGFj
Y2VwdC4KKworCitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIG1z
Z3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3QsICdIZWxsbyBmcm9tIFNpbXBsZSBXU0guJykKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc3Vi
LXByb3RvY29sLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5Ymkvc3ViLXByb3RvY29sLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iY2MxZWMx
NTU2YzljYzEzMzAxNjQ1N2U2ODJmYWQxMzhiNGZiYmIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zdWItcHJvdG9jb2wtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QgV2ViU29ja2V0IGhhbmRzaGFrZSBzdWNj
ZXNzIHdpdGggc3ViIHByb3RvY29sLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK0Nv
bm5lY3RlZAorUEFTUyBwcm90b2NvbCBpcyAic3ViLXByb3RvY29sIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc3ViLXByb3RvY29sLXdpdGgtc3Bh
Y2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS9zdWItcHJvdG9jb2wtd2l0aC1zcGFjZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDIx
YTc0OTFmMDZkZTJhNjlmMjllY2M1NGQ3ZTgwODRiMzNjNDdlNQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc3ViLXByb3RvY29s
LXdpdGgtc3BhY2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QgV2ViU29ja2V0
IGhhbmRzaGFrZSBzdWNjZXNzIHdpdGggc3ViIHByb3RvY29sIGNvbnRhaW5zIHNwYWNlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK0Nvbm5lY3RlZAorUEFTUyBwcm90b2NvbCBpcyAi
c3ViIHByb3RvY29sIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5Ymkvc3ViLXByb3RvY29sLXdpdGgtc3BhY2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc3ViLXByb3RvY29sLXdpdGgtc3BhY2UuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43NWRiNDQ3Nzk5YjlhNjIwY2UyYzcwYWIxNDNiMzI1MzIzNTY5MjMzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9zdWItcHJvdG9jb2wtd2l0aC1zcGFjZS5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIlRlc3QgV2ViU29ja2V0IGhh
bmRzaGFrZSBzdWNjZXNzIHdpdGggc3ViIHByb3RvY29sIGNvbnRhaW5zIHNwYWNlLiIpOworCit3
aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0
SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCit2YXIgcHJvdG9jb2w7CisK
K2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIHNob3VsZEJlKCJwcm90b2NvbCIsICcic3ViIHBy
b3RvY29sIicpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit2YXIgdXJsID0gIndzOi8vbG9j
YWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvcHJvdG9jb2wtdGVzdD9wcm90b2NvbD1z
dWIlMjBwcm90b2NvbCI7Cit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KHVybCwgInN1YiBwcm90b2Nv
bCIpOworCit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIkNvbm5lY3RlZCIp
OworfTsKKword3Mub25tZXNzYWdlID0gZnVuY3Rpb24gKG1lc3NhZ2VFdmVudCkKK3sKKyAgICBw
cm90b2NvbCA9IG1lc3NhZ2VFdmVudC5kYXRhOworICAgIHdzLmNsb3NlKCk7Cit9OworCit3cy5v
bmNsb3NlID0gZnVuY3Rpb24oKQoreworICAgIGVuZFRlc3QoKTsKK307CisKK2Z1bmN0aW9uIHRp
bWVPdXRDYWxsYmFjaygpCit7CisgICAgZGVidWcoIlRpbWVkIG91dCBpbiBzdGF0ZTogIiArIHdz
LnJlYWR5U3RhdGUpOworICAgIGVuZFRlc3QoKTsKK30KKwordmFyIHRpbWVvdXRJRCA9IHNldFRp
bWVvdXQodGltZU91dENhbGxiYWNrLCAzMDAwKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zdWItcHJv
dG9jb2wuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
c3ViLXByb3RvY29sLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTQyMDNhNTA3ODJlMmRiMTQyMmUzMjdiZDJj
MmFhZjdhMGY2NTlmZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5Ymkvc3ViLXByb3RvY29sLmh0bWwKQEAgLTAsMCArMSw1NiBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vanMtdGVzdC1y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pz
LXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiVGVzdCBXZWJT
b2NrZXQgaGFuZHNoYWtlIHN1Y2Nlc3Mgd2l0aCBzdWIgcHJvdG9jb2wuIik7CisKK3dpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2
V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK3ZhciBwcm90b2NvbDsKKworZnVuY3Rp
b24gZW5kVGVzdCgpCit7CisgICAgc2hvdWxkQmUoInByb3RvY29sIiwgJyJzdWItcHJvdG9jb2wi
Jyk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3ZhciB1cmwgPSAid3M6Ly9sb2NhbGhvc3Q6
ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9wcm90b2NvbC10ZXN0P3Byb3RvY29sPXN1Yi1wcm90
b2NvbCI7Cit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KHVybCwgInN1Yi1wcm90b2NvbCIpOworCit3
cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIkNvbm5lY3RlZCIpOworfTsKKwor
d3Mub25tZXNzYWdlID0gZnVuY3Rpb24gKG1lc3NhZ2VFdmVudCkKK3sKKyAgICBwcm90b2NvbCA9
IG1lc3NhZ2VFdmVudC5kYXRhOworICAgIHdzLmNsb3NlKCk7Cit9OworCit3cy5vbmNsb3NlID0g
ZnVuY3Rpb24oKQoreworICAgIGVuZFRlc3QoKTsKK307CisKK2Z1bmN0aW9uIHRpbWVPdXRDYWxs
YmFjaygpCit7CisgICAgZGVidWcoIlRpbWVkIG91dCBpbiBzdGF0ZTogIiArIHdzLnJlYWR5U3Rh
dGUpOworICAgIGVuZFRlc3QoKTsKK30KKwordmFyIHRpbWVvdXRJRCA9IHNldFRpbWVvdXQodGlt
ZU91dENhbGxiYWNrLCAzMDAwKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91bmljb2RlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdW5pY29k
ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTg5ZWI4MzE1MWFhYzY2NGNmZTMwNTI1YWYyMGY1
NGQ1Zjg5ODY3OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5YmkvdW5pY29kZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAor
V2ViIFNvY2tldCB1bmljb2RlIG1lc3NhZ2UgdGVzdAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK0Nvbm5lY3RlZC4KK1NlbmQgVU5JQ09ERV9IRUxMTy4KK1BBU1MgZGF0YSBpcyBVTklD
T0RFX0dPT0RCWUUKK0Nsb3NlZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL3VuaWNvZGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5YmkvdW5pY29kZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZkODM0YzliZjc0NTEw
MDYyYzhlMTQ4OWQwZTFmYTUwYTM5MWM4MWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VuaWNvZGUuaHRtbApAQCAtMCwwICsx
LDY1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9q
cy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
Li4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJX
ZWIgU29ja2V0IHVuaWNvZGUgbWVzc2FnZSB0ZXN0Iik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJv
dG9jb2xFbmFibGVkIiwgMCk7CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIGNsZWFyVGlt
ZW91dCh0aW1lb3V0SUQpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit2YXIgd3MgPSBuZXcg
V2ViU29ja2V0KCJ3czovL2xvY2FsaG9zdDo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VuaWNv
ZGUiKTsKKworLy8gSGVsbG8gaW4gSmFwYW5lc2UKK3ZhciBVTklDT0RFX0hFTExPID0gIlx1MzA1
M1x1MzA5M1x1MzA2Ylx1MzA2MVx1MzA2ZiI7CisvLyBHb29kYnllIGluIEphcGFuZXNlCit2YXIg
VU5JQ09ERV9HT09EQllFID0gIlx1MzA1NVx1MzA4OFx1MzA0Nlx1MzA2YVx1MzA4OSI7CisKKy8v
IGRhdGEgbmVlZHMgdG8gYmUgZ2xvYmFsIHRvIGJlIGFjY2Vzc2JpbGUgZnJvbSBzaG91bGRCZSgp
LgordmFyIGRhdGEgPSAiIjsKKword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVn
KCJDb25uZWN0ZWQuIik7CisgICAgZGVidWcoIlNlbmQgVU5JQ09ERV9IRUxMTy4iKTsKKyAgICB3
cy5zZW5kKFVOSUNPREVfSEVMTE8pOworfTsKKword3Mub25tZXNzYWdlID0gZnVuY3Rpb24obWVz
c2FnZUV2ZW50KQoreworICAgIC8vIFRoZSBzZXJ2ZXIgc2hvdWxkIHNlbmQgYmFjayBHb29kYnll
IGlmIGl0IHJlY2VpdmVzIEhlbGxvLgorICAgIGRhdGEgPSBtZXNzYWdlRXZlbnQuZGF0YTsKKyAg
ICBzaG91bGRCZSgiZGF0YSIsICJVTklDT0RFX0dPT0RCWUUiKTsKK307CisKK3dzLm9uY2xvc2Ug
PSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIkNsb3NlZC4iKTsKKyAgICBlbmRUZXN0KCk7Cit9
OworCitmdW5jdGlvbiB0aW1lT3V0Q2FsbGJhY2soKQoreworICAgIHRlc3RGYWlsZWQoIlRpbWVk
IG91dCBpbiBzdGF0ZTogIiArIHdzLnJlYWR5U3RhdGUpOworICAgIGVuZFRlc3QoKTsKK30KKwor
dmFyIHRpbWVvdXRJRCA9IHNldFRpbWVvdXQodGltZU91dENhbGxiYWNrLCAzMDAwKTsKKwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS91bmljb2RlX3dzaC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5YmkvdW5pY29kZV93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWUzMTIzNzljYjIz
NjI4ZmIyOTc1ODI3MGFlMjE3YWQyYWQ0Mjg2YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdW5pY29kZV93c2gucHkKQEAgLTAs
MCArMSw1MiBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRp
c3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1w
b3J0IG1zZ3V0aWwKKworCisjIEhlbGxvIGluIEphcGFuZXNlCitfVU5JQ09ERV9IRUxMTyA9IHUi
XHUzMDUzXHUzMDkzXHUzMDZiXHUzMDYxXHUzMDZmIgorCisjIEdvb2RieWUgaW4gSmFwYW5lc2UK
K19VTklDT0RFX0dPT0RCWUUgPSB1Ilx1MzA1NVx1MzA4OFx1MzA0Nlx1MzA2YVx1MzA4OSIKKwor
IyBFcnJvciBtZXNzYWdlCitfRVJST1JfTUVTU0FHRSA9ICJXaGF0IGRpZCB5b3Ugc2F5PyIKKwor
CitkZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgcGFzcyAj
IEFsd2F5cyBhY2NlcHQuCisKKworZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1ZXN0
KToKKyAgICBoZWxsbyA9IG1zZ3V0aWwucmVjZWl2ZV9tZXNzYWdlKHJlcXVlc3QpCisgICAgaWYg
aGVsbG8gIT0gX1VOSUNPREVfSEVMTE86CisgICAgICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJl
cXVlc3QsIF9FUlJPUl9NRVNTQUdFKQorICAgICAgICByZXR1cm4KKyAgICBtc2d1dGlsLnNlbmRf
bWVzc2FnZShyZXF1ZXN0LCBfVU5JQ09ERV9HT09EQllFKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91bmtub3duLWZyYW1lLXR5cGVfd3No
LnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91bmtub3du
LWZyYW1lLXR5cGVfd3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlZmY5NzQwNzI5MGExOTk4Mjk5YTAzODNl
MTEwNjQ3ZDdiODY4YmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL3Vua25vd24tZnJhbWUtdHlwZV93c2gucHkKQEAgLTAsMCAr
MSwxNCBAQAorZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IG1zZ3V0aWwKKworCitkZWYgd2Vi
X3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgcGFzcworCisKK2RlZiB3
ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgZm9yIGkgaW4gcmFuZ2UoMSwg
MTI4KToKKyAgICAgICAgcmVxdWVzdC5jb25uZWN0aW9uLndyaXRlKGNocihpKSArIHN0cihpKSAr
ICdceGZmJykKKyAgICBmb3IgaSBpbiByYW5nZSgxMjgsIDI1Nik6CisgICAgICAgIG1zZyA9IHN0
cihpKQorICAgICAgICByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdGUoY2hyKGkpICsgY2hyKGxlbiht
c2cpKSArIG1zZykKKyAgICBtc2d1dGlsLnNlbmRfbWVzc2FnZShyZXF1ZXN0LCAnZG9uZScpCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3Vy
bC1uby10cmFpbGluZy1zbGFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC1uby10cmFpbGluZy1zbGFzaC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNzVjOTBjZjFhMzFmNmIzODdjNTNiNDZmODVmOWRlNDg3NjA0ODA3OAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvdXJsLW5vLXRyYWlsaW5nLXNsYXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitV
UkwgdGhhdCBkb2Vzbid0IGhhdmUgdHJhaWxpbmcgc2xhc2ggc2hvdWxkIG5vdCBlbWl0IGVtcHR5
IFJlcXVlc3QtVVJJLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1dlYlNvY2tldCBp
cyBvcGVuCityZWNlaXZlZDp3czovLzEyNy4wLjAuMTo4ODgwLworV2ViU29ja2V0IGlzIGNsb3Nl
ZAorUEFTUyBoYW5kc2hha2Vfc3VjY2VzcyBpcyB0cnVlCitQQVNTIHdzX2xvY2F0aW9uIGlzICJ3
czovLzEyNy4wLjAuMTo4ODgwLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL3VybC1uby10cmFpbGluZy1zbGFzaC5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtbm8tdHJhaWxpbmctc2xhc2guaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zODdlODAyMzg5ZmIyMTA2YTQ5NWNkMDNlNmQ3ZTg1ZTYxYjg4ZDQ3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS91cmwtbm8tdHJhaWxpbmctc2xhc2guaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJVUkwgdGhhdCBkb2Vzbid0
IGhhdmUgdHJhaWxpbmcgc2xhc2ggc2hvdWxkIG5vdCBlbWl0IGVtcHR5IFJlcXVlc3QtVVJJLiIp
OworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgi
V2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCit2YXIgdXJsID0g
IndzOi8vMTI3LjAuMC4xOjg4ODAiOwordmFyIGhhbmRzaGFrZV9zdWNjZXNzID0gZmFsc2U7Cit2
YXIgd3NfbG9jYXRpb247CisKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQodXJsKTsKK3dzLm9ub3Bl
biA9IGZ1bmN0aW9uICgpIHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0IGlzIG9wZW4iKTsKKyAgICBo
YW5kc2hha2Vfc3VjY2VzcyA9IHRydWU7Cit9Oword3Mub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2
dCkgeworICAgIHdzX2xvY2F0aW9uID0gZXZ0LmRhdGE7CisgICAgZGVidWcoInJlY2VpdmVkOiIg
KyB3c19sb2NhdGlvbik7CisgICAgd3MuY2xvc2UoKTsKK307Cit3cy5vbmNsb3NlID0gZnVuY3Rp
b24gKCkgeworICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMgY2xvc2VkIik7CisgICAgc2hvdWxkQmVU
cnVlKCJoYW5kc2hha2Vfc3VjY2VzcyIpOworICAgIHNob3VsZEJlKCJ3c19sb2NhdGlvbiIsICci
d3M6Ly8xMjcuMC4wLjE6ODg4MC8iJyk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL3VybC1wYXJzaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLXBhcnNpbmctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmU0OWM1OWZiMjhjMDczY2U0YzFhZjIyZjJjN2NiMmMxNzFkNmYxMjcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3Vy
bC1wYXJzaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIzIEBACitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMDogSW52YWxpZCB1cmwgZm9yIFdlYlNvY2tldCB3czovL2phdmFzY3JpcHQ6YQorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDA6IEludmFsaWQgdXJsIGZvciBXZWJTb2NrZXQgL2FwcGxldAor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IFdyb25nIHVybCBzY2hlbWUgZm9yIFdlYlNvY2tldCBq
YXZhc2NyaXB0OmEKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAwOiBXZWJTb2NrZXQgcG9ydCAyNSBi
bG9ja2VkCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMDogVVJMIGhhcyBmcmFnbWVudCBjb21wb25l
bnQgd3M6Ly8xMjcuMC4wLjEvcGF0aCMKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAwOiBVUkwgaGFz
IGZyYWdtZW50IGNvbXBvbmVudCB3czovLzEyNy4wLjAuMS9wYXRoI2ZyYWdtZW50CitUZXN0IFdl
YlNvY2tldCBVUkwgcGFyc2luZy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IG5ldyBXZWJTb2NrZXQoIndzOi8vamF2YXNjcmlwdDphIikgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBuZXcgV2ViU29ja2V0KCIvYXBw
bGV0IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEy
LgorUEFTUyBuZXcgV2ViU29ja2V0KCJqYXZhc2NyaXB0OmEiKSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IFNZTlRBWF9FUlI6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIG5ldyBXZWJTb2NrZXQoIndz
Oi8vMTI3LjAuMC4xOjI1LyIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU0VDVVJJVFlfRVJSOiBE
T00gRXhjZXB0aW9uIDE4LgorUEFTUyAobmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4
MC9hLy4uL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NpbXBsZSIpKS5VUkwgaXMgIndzOi8vMTI3LjAu
MC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxlIgorUEFTUyAobmV3IFdlYlNvY2tl
dCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9zaW1wbGU/IikpLlVS
TCBpcyAid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9zaW1wbGU/Igor
UEFTUyAobmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMv
aHliaS9zaW1wbGU/az12IikpLlVSTCBpcyAid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQv
dGVzdHMvaHliaS9zaW1wbGU/az12IgorUEFTUyBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAu
MS9wYXRoIyIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlv
biAxMi4KK1BBU1MgbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjEvcGF0aCNmcmFnbWVudCIp
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC1wYXJz
aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3Vy
bC1wYXJzaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTBjNDkwOGMwOTVkNjUwYTU3NTMyZmZiODIzNzJk
N2M1Y2YyMWU0NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5YmkvdXJsLXBhcnNpbmcuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVz
dC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJUZXN0IFdlYlNvY2tl
dCBVUkwgcGFyc2luZy4iKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZX
ZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKworLy8gSW52YWxpZCB1cmwgd2lsbCBmYWls
IHRvIGJlIHBhcnNlZC4KK3Nob3VsZFRocm93KCduZXcgV2ViU29ja2V0KCJ3czovL2phdmFzY3Jp
cHQ6YSIpJyk7CisKKy8vIENhbid0IHVzZSByZWxhdGl2ZSBVUkxzIC0gYmVjYXVzZSBzcGVjIHNh
eXMgc28sIGFuZCBiZWNhdXNlIHRoZSBzY2hlbWUgaXMgZGlmZmVyZW50IGFueXdheS4KK3Nob3Vs
ZFRocm93KCduZXcgV2ViU29ja2V0KCIvYXBwbGV0IiknKTsKKworLy8gTm9uIHdzIFVSTCBpcyBu
b3QgYWxsb3dlZC4KK3Nob3VsZFRocm93KCduZXcgV2ViU29ja2V0KCJqYXZhc2NyaXB0OmEiKScp
OworCisvLyBVQSBpcyBhbGxvd2VkIHRvIGJsb2NrIGFjY2VzcyB0byBzb21lIHBvcnRzLCB3aGlj
aCB3ZSBkby4KK3Nob3VsZFRocm93KCduZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMToyNS8i
KScpOworCisvLyBSZXNvbHZlIHRoZSB1cmwgc3RyaW5nIHVzaW5nIHRoZSByZXNvbHZlIGEgV2Vi
IGFkZHJlc3MgYWxnb3JpdGhtLgorLy8gVXNlIDEyNy4wLjAuMTo4ODgwIGFuZCBleGlzdGluZyB3
cyBoYW5kbGVyIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCByZWNlaXZlIHVuZXhwZWN0ZWQgcmVzcG9u
c2UgKHNvIG5vIGNvbnNvbGUgbWVzc2FnZSBhcHBlYXJzKQorc2hvdWxkQmUoJyhuZXcgV2ViU29j
a2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL2EvLi4vd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxl
IikpLlVSTCcsICcid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9zaW1w
bGUiJyk7CitzaG91bGRCZSgnKG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vi
c29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxlPyIpKS5VUkwnLCAnIndzOi8vMTI3LjAuMC4xOjg4ODAv
d2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxlPyInKTsKK3Nob3VsZEJlKCcobmV3IFdlYlNvY2tl
dCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9zaW1wbGU/az12Iikp
LlVSTCcsICcid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9zaW1wbGU/
az12IicpOworCisvLyBkcmFmdC1oaXhpZS10aGV3ZWJzb2NrZXRwcm90b2NvbC02MCBzYXlzIElm
IC91cmwvIGhhcyBhIDxmcmFnbWVudD4KKy8vIGNvbXBvbmVudCwgdGhlbiBmYWlsIHRoZSBwYXJz
aW5nIFdlYiBTb2NrZXQgVVJMcywgc28gdGhyb3cgYSBTWU5UQVhfRVJSCisvLyBleGNlcHRpb24u
CitzaG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjEvcGF0aCMiKScpOwor
c2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xL3BhdGgjZnJhZ21lbnQi
KScpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC13aXRoLWNyZWRlbnRpYWwtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtd2l0aC1j
cmVkZW50aWFsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mN2ViYzY5MmVhOWZkYjgzMmY1MjZm
YTA4NGFmODRjYTgwYzk3YThkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtd2l0aC1jcmVkZW50aWFsLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE0IEBACitNYWtlIHN1cmUgaGFuZHNoYWtlIHdpdGggVVJMIHdpdGggY3Jl
ZGVudGFpbCBpbmZvIHN1Y2Nlc3MuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwordXJs
PXdzOi8vdXNlcjpwYXNzQDEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2VjaG8t
bG9jYXRpb24KK1dlYlNvY2tldCBpcyBvcGVuCityZWNlaXZlZDp3czovLzEyNy4wLjAuMTo4ODgw
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2VjaG8tbG9jYXRpb24KK1dlYlNvY2tldCBpcyBjbG9zZWQK
K1BBU1MgaGFuZHNoYWtlX3N1Y2Nlc3MgaXMgdHJ1ZQorUEFTUyB3c19sb2NhdGlvbiBpcyAid3M6
Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvLWxvY2F0aW9uIgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLXdpdGgt
Y3JlZGVudGlhbC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS91cmwtd2l0aC1jcmVkZW50aWFsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjFkZTJiMjJiMzVkMzZj
YjNmZTlmMTRhMjAxZDc2ZGM0YTBlZDcyZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLXdpdGgtY3JlZGVudGlhbC5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVz
Y3JpcHRpb24oIk1ha2Ugc3VyZSBoYW5kc2hha2Ugd2l0aCBVUkwgd2l0aCBjcmVkZW50YWlsIGlu
Zm8gc3VjY2Vzcy4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlk
ZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsK
KwordmFyIHVybCA9ICJ3czovL3VzZXI6cGFzc0AxMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVz
dHMvaHliaS9lY2hvLWxvY2F0aW9uIjsKK3ZhciBoYW5kc2hha2Vfc3VjY2VzcyA9IGZhbHNlOwor
dmFyIHdzX2xvY2F0aW9uOworCitmdW5jdGlvbiBlbmRUZXN0KCkKK3sKKyAgICBjbGVhclRpbWVv
dXQodGltZW91dElEKTsKKyAgICBzaG91bGRCZVRydWUoImhhbmRzaGFrZV9zdWNjZXNzIik7Cisg
ICAgc2hvdWxkQmUoIndzX2xvY2F0aW9uIiwgJyJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL2VjaG8tbG9jYXRpb24iJyk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisK
K2RlYnVnKCJ1cmw9IiArIHVybCk7Cit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KHVybCk7Cit3cy5v
bm9wZW4gPSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNvY2tldCBpcyBvcGVuIik7Cisg
ICAgaGFuZHNoYWtlX3N1Y2Nlc3MgPSB0cnVlOworfTsKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9u
IChldnQpIHsKKyAgICB3c19sb2NhdGlvbiA9IGV2dC5kYXRhOworICAgIGRlYnVnKCJyZWNlaXZl
ZDoiICsgd3NfbG9jYXRpb24pOworICAgIHdzLmNsb3NlKCk7Cit9Oword3Mub25jbG9zZSA9IGZ1
bmN0aW9uICgpIHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0IGlzIGNsb3NlZCIpOworICAgIGVuZFRl
c3QoKTsKK307Cit2YXIgdGltZW91dElEID0gc2V0VGltZW91dCgiZW5kVGVzdCgpIiwgMjAwMCk7
CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLXdpdGgtZW1wdHktcXVlcnktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtd2l0aC1lbXB0
eS1xdWVyeS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzk5NGVlY2FhYTYwOWM2NTY4ZWI3NWRm
MDg4ZDVjZDgxMzk5MjY3YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLXdpdGgtZW1wdHktcXVlcnktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTQgQEAKK01ha2Ugc3VyZSBoYW5kc2hha2Ugd2l0aCBVUkwgd2l0aCBlbXB0
eSBxdWVyeSBjb21wb25lbnRzIHN1Y2Nlc3MuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KwordXJsPXdzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNoby1sb2Nh
dGlvbj8KK1dlYlNvY2tldCBpcyBvcGVuCityZWNlaXZlZDp3czovLzEyNy4wLjAuMTo4ODgwL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2VjaG8tbG9jYXRpb24/CitXZWJTb2NrZXQgaXMgY2xvc2VkCitQ
QVNTIGhhbmRzaGFrZV9zdWNjZXNzIGlzIHRydWUKK1BBU1Mgd3NfbG9jYXRpb24gaXMgdXJsCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtd2l0
aC1lbXB0eS1xdWVyeS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaHliaS91cmwtd2l0aC1lbXB0eS1xdWVyeS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5ZTY5OTU4YzVk
YTA3YzUzYzI1YWMxYjUzMDI2YjM1YjdkODU0ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC13aXRoLWVtcHR5LXF1ZXJ5
Lmh0bWwKQEAgLTAsMCArMSw1MCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
CitkZXNjcmlwdGlvbigiTWFrZSBzdXJlIGhhbmRzaGFrZSB3aXRoIFVSTCB3aXRoIGVtcHR5IHF1
ZXJ5IGNvbXBvbmVudHMgc3VjY2Vzcy4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVu
YWJsZWQiLCAwKTsKKwordmFyIHVybCA9ICJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2VjaG8tbG9jYXRpb24/IjsKK3ZhciBoYW5kc2hha2Vfc3VjY2VzcyA9IGZhbHNl
OwordmFyIHdzX2xvY2F0aW9uOworCitmdW5jdGlvbiBlbmRUZXN0KCkKK3sKKyAgICBjbGVhclRp
bWVvdXQodGltZW91dElEKTsKKyAgICBzaG91bGRCZVRydWUoImhhbmRzaGFrZV9zdWNjZXNzIik7
CisgICAgc2hvdWxkQmUoIndzX2xvY2F0aW9uIiwgInVybCIpOworICAgIGZpbmlzaEpTVGVzdCgp
OworfQorCitkZWJ1ZygidXJsPSIgKyB1cmwpOwordmFyIHdzID0gbmV3IFdlYlNvY2tldCh1cmwp
Oword3Mub25vcGVuID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMgb3Bl
biIpOworICAgIGhhbmRzaGFrZV9zdWNjZXNzID0gdHJ1ZTsKK307Cit3cy5vbm1lc3NhZ2UgPSBm
dW5jdGlvbiAoZXZ0KSB7CisgICAgd3NfbG9jYXRpb24gPSBldnQuZGF0YTsKKyAgICBkZWJ1Zygi
cmVjZWl2ZWQ6IiArIHdzX2xvY2F0aW9uKTsKKyAgICB3cy5jbG9zZSgpOworfTsKK3dzLm9uY2xv
c2UgPSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNvY2tldCBpcyBjbG9zZWQiKTsKKyAg
ICBlbmRUZXN0KCk7Cit9OwordmFyIHRpbWVvdXRJRCA9IHNldFRpbWVvdXQoImVuZFRlc3QoKSIs
IDIwMDApOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC13aXRoLXF1ZXJ5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLXdpdGgtcXVl
cnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2ODdhZGE5MTc3YmYyNWRhNWNiZGU0YzA1Yzhl
NzA2NjI4MzE5NDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL3VybC13aXRoLXF1ZXJ5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE0IEBACitNYWtlIHN1cmUgaGFuZHNoYWtlIHdpdGggVVJMIHdpdGggcXVlcnkgY29tcG9uZW50
cyBzdWNjZXNzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK3VybD13czovLzEyNy4w
LjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2VjaG8tbG9jYXRpb24/cT12CitXZWJTb2Nr
ZXQgaXMgb3BlbgorcmVjZWl2ZWQ6d3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMv
aHliaS9lY2hvLWxvY2F0aW9uP3E9dgorV2ViU29ja2V0IGlzIGNsb3NlZAorUEFTUyBoYW5kc2hh
a2Vfc3VjY2VzcyBpcyB0cnVlCitQQVNTIHdzX2xvY2F0aW9uIGlzIHVybAorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLXdpdGgtcXVlcnktZm9y
LW5vLXF1ZXJ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvdXJsLXdpdGgtcXVlcnktZm9yLW5vLXF1ZXJ5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hMDcxYTAzMjFhZmU2NmRhYTg2NWE5MTE1ZWU4ZjVkNGY5YmY1OGJkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91
cmwtd2l0aC1xdWVyeS1mb3Itbm8tcXVlcnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAwOiBFcnJvciBkdXJpbmcgV2ViU29ja2V0IGhhbmRzaGFr
ZTogbG9jYXRpb24gbWlzbWF0Y2g6IHdzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3Rz
L2h5Ymkvbm8tcXVlcnk/ICE9IC93ZWJzb2NrZXQvdGVzdHMvaHliaS9uby1xdWVyeQorTWFrZSBz
dXJlIGhhbmRzaGFrZSB3aXRoIFVSTCB3aXRoIHF1ZXJ5IGNvbXBvbmVudHMgZmFpbHMgYWdhaW5z
dCBzZXJ2ZXIgdGhhdCBkb2Vzbid0IHN1cHBvcnQgcXVlcnkgY29tcG9uZW50LgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK3VybD13czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90
ZXN0cy9oeWJpL25vLXF1ZXJ5PworV2ViU29ja2V0IGlzIGNsb3NlZAorUEFTUyBoYW5kc2hha2Vf
c3VjY2VzcyBpcyBmYWxzZQorUEFTUyB3c19sb2NhdGlvbiBpcyB1bmRlZmluZWQuCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtd2l0aC1xdWVy
eS1mb3Itbm8tcXVlcnkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5YmkvdXJsLXdpdGgtcXVlcnktZm9yLW5vLXF1ZXJ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDEw
ZDBkMmMwNjljNzUwYjBjNjdlYzk4NDAwZTdkOWRkYTMyZGZiMAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLXdpdGgtcXVl
cnktZm9yLW5vLXF1ZXJ5Lmh0bWwKQEAgLTAsMCArMSw1MCBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiTWFrZSBzdXJlIGhhbmRzaGFrZSB3aXRoIFVS
TCB3aXRoIHF1ZXJ5IGNvbXBvbmVudHMgZmFpbHMgYWdhaW5zdCBzZXJ2ZXIgdGhhdCBkb2Vzbid0
IHN1cHBvcnQgcXVlcnkgY29tcG9uZW50LiIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29s
RW5hYmxlZCIsIDApOworCit2YXIgdXJsID0gIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0
L3Rlc3RzL2h5Ymkvbm8tcXVlcnk/IjsKK3ZhciBoYW5kc2hha2Vfc3VjY2VzcyA9IGZhbHNlOwor
dmFyIHdzX2xvY2F0aW9uOworCitmdW5jdGlvbiBlbmRUZXN0KCkKK3sKKyAgICBjbGVhclRpbWVv
dXQodGltZW91dElEKTsKKyAgICBzaG91bGRCZUZhbHNlKCJoYW5kc2hha2Vfc3VjY2VzcyIpOwor
ICAgIHNob3VsZEJlVW5kZWZpbmVkKCJ3c19sb2NhdGlvbiIpOworICAgIGZpbmlzaEpTVGVzdCgp
OworfQorCitkZWJ1ZygidXJsPSIgKyB1cmwpOwordmFyIHdzID0gbmV3IFdlYlNvY2tldCh1cmwp
Oword3Mub25vcGVuID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMgb3Bl
biIpOworICAgIGhhbmRzaGFrZV9zdWNjZXNzID0gdHJ1ZTsKK307Cit3cy5vbm1lc3NnZSA9IGZ1
bmN0aW9uIChldnQpIHsKKyAgICB3c19sb2NhdGlvbiA9IGV2dC5kYXRhOworICAgIGRlYnVnKCJy
ZWNlaXZlZDoiICsgd3NfbG9jYXRpb24pOworICAgIHdzLmNsb3NlKCk7Cit9Oword3Mub25jbG9z
ZSA9IGZ1bmN0aW9uICgpIHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0IGlzIGNsb3NlZCIpOworICAg
IGVuZFRlc3QoKTsKK307Cit2YXIgdGltZW91dElEID0gc2V0VGltZW91dCgiZW5kVGVzdCgpIiwg
MjAwMCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLXdpdGgtcXVlcnkuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLXdpdGgtcXVlcnkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wOTkwMmFlNDE3YTM1YzU0OTcxOGZlNDI1MWY4YTdjZTE2NWM2MDczCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS91cmwtd2l0aC1xdWVyeS5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSBoYW5kc2hha2Ugd2l0aCBV
Ukwgd2l0aCBxdWVyeSBjb21wb25lbnRzIHN1Y2Nlc3MuIik7CisKK3dpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0
UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK3ZhciB1cmwgPSAid3M6Ly8xMjcuMC4wLjE6ODg4MC93
ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvLWxvY2F0aW9uP3E9diI7Cit2YXIgaGFuZHNoYWtlX3N1
Y2Nlc3MgPSBmYWxzZTsKK3ZhciB3c19sb2NhdGlvbjsKKworZnVuY3Rpb24gZW5kVGVzdCgpCit7
CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7CisgICAgc2hvdWxkQmVUcnVlKCJoYW5kc2hh
a2Vfc3VjY2VzcyIpOworICAgIHNob3VsZEJlKCJ3c19sb2NhdGlvbiIsICJ1cmwiKTsKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK30KKworZGVidWcoInVybD0iICsgdXJsKTsKK3ZhciB3cyA9IG5ldyBX
ZWJTb2NrZXQodXJsKTsKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uICgpIHsKKyAgICBkZWJ1ZygiV2Vi
U29ja2V0IGlzIG9wZW4iKTsKKyAgICBoYW5kc2hha2Vfc3VjY2VzcyA9IHRydWU7Cit9Oword3Mu
b25tZXNzYWdlID0gZnVuY3Rpb24gKGV2dCkgeworICAgIHdzX2xvY2F0aW9uID0gZXZ0LmRhdGE7
CisgICAgZGVidWcoInJlY2VpdmVkOiIgKyB3c19sb2NhdGlvbik7CisgICAgd3MuY2xvc2UoKTsK
K307Cit3cy5vbmNsb3NlID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMg
Y2xvc2VkIik7CisgICAgZW5kVGVzdCgpOworfTsKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0
KCJlbmRUZXN0KCkiLCAyMDAwKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93ZWJzb2NrZXQtZXZlbnQt
dGFyZ2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5Ymkvd2Vic29ja2V0LWV2ZW50LXRhcmdldC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
Mzc5YTQ0ZWYwMTkwODIyMzgyNDk3ZTA3NWYwZGVlNWE4NTM3Mzg2NQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vic29ja2V0
LWV2ZW50LXRhcmdldC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDA6IFdlYlNvY2tldCBpcyBjbG9zZWQgYmVmb3JlIHRoZSBjb25uZWN0aW9uIGlz
IGVzdGFibGlzaGVkLgorTWFrZSBzdXJlIFdlYlNvY2tldCBvYmplY3QgYWN0cyBhcyBFdmVudFRh
cmdldC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIG9wZW5fZXZlbnRfaGFu
ZGxlZCBpcyBmYWxzZQorUEFTUyBtZXNzYWdlX2V2ZW50X2hhbmRsZWQgaXMgZmFsc2UKK1BBU1Mg
Y2xvc2VfZXZlbnRfaGFuZGxlZCBpcyBmYWxzZQorUEFTUyBvcGVuX2V2ZW50X2hhbmRsZWQgaXMg
dHJ1ZQorUEFTUyBvcGVuX2V2ZW50X2hhbmRsZWQgaXMgZmFsc2UKK1BBU1MgbWVzc2FnZV9ldmVu
dF9oYW5kbGVkIGlzIHRydWUKK1BBU1MgbWVzc2FnZV9ldmVudF9oYW5kbGVkIGlzIGZhbHNlCitQ
QVNTIGNsb3NlX2V2ZW50X2hhbmRsZWQgaXMgdHJ1ZQorUEFTUyBjbG9zZV9ldmVudF9oYW5kbGVk
IGlzIGZhbHNlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS93ZWJzb2NrZXQtZXZlbnQtdGFyZ2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL3dlYnNvY2tldC1ldmVudC10YXJnZXQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40OTZhNjRkZGNhMzI4ZDBkNzhlYzVjNWViMTU1MDY5Y2E2NGJkNjcxCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93ZWJz
b2NrZXQtZXZlbnQtdGFyZ2V0Lmh0bWwKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiTWFrZSBzdXJlIFdlYlNvY2tldCBvYmpl
Y3QgYWN0cyBhcyBFdmVudFRhcmdldC4iKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwordmFyIHdzID0gbmV3IFdl
YlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9zaW1wbGUi
KTsKK3dzLmNsb3NlKCk7IC8vIFRoYXQgaXMgbm90IGEgdGVzdCB3aXRoIGEgV2ViU29ja2V0IHNl
cnZlciwgcHJldmVudCBsb2dnaW5nIGFuIGVycm9yIHRvIGNvbnNvbGUuCit2YXIgb3Blbl9ldmVu
dF9oYW5kbGVkID0gZmFsc2U7Cit2YXIgbWVzc2FnZV9ldmVudF9oYW5kbGVkID0gZmFsc2U7Cit2
YXIgY2xvc2VfZXZlbnRfaGFuZGxlZCA9IGZhbHNlOworZnVuY3Rpb24gb3Blbkxpc3RlbmVyKCkg
eworICAgIG9wZW5fZXZlbnRfaGFuZGxlZCA9IHRydWU7Cit9OworZnVuY3Rpb24gbWVzc2FnZUxp
c3RlbmVyKCkgeworICAgIG1lc3NhZ2VfZXZlbnRfaGFuZGxlZCA9IHRydWU7Cit9OworZnVuY3Rp
b24gY2xvc2VMaXN0ZW5lcigpIHsKKyAgICBjbG9zZV9ldmVudF9oYW5kbGVkID0gdHJ1ZTsKK30K
K3dzLmFkZEV2ZW50TGlzdGVuZXIoJ29wZW4nLCBvcGVuTGlzdGVuZXIsIGZhbHNlKTsKK3dzLmFk
ZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBtZXNzYWdlTGlzdGVuZXIsIGZhbHNlKTsKK3dzLmFk
ZEV2ZW50TGlzdGVuZXIoJ2Nsb3NlJywgY2xvc2VMaXN0ZW5lciwgZmFsc2UpOworCitzaG91bGRC
ZSgib3Blbl9ldmVudF9oYW5kbGVkIiwgImZhbHNlIik7CitzaG91bGRCZSgibWVzc2FnZV9ldmVu
dF9oYW5kbGVkIiwgImZhbHNlIik7CitzaG91bGRCZSgiY2xvc2VfZXZlbnRfaGFuZGxlZCIsICJm
YWxzZSIpOworCit2YXIgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkV2ZW50cyIpOworZXZ0
LmluaXRFdmVudCgib3BlbiIsIHRydWUsIGZhbHNlKTsKK3dzLmRpc3BhdGNoRXZlbnQoZXZ0KTsK
K3Nob3VsZEJlKCJvcGVuX2V2ZW50X2hhbmRsZWQiLCAidHJ1ZSIpOworCitvcGVuX2V2ZW50X2hh
bmRsZWQgPSBmYWxzZTsKK3dzLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ29wZW4nLCBvcGVuTGlzdGVu
ZXIpOword3MuZGlzcGF0Y2hFdmVudChldnQpOworc2hvdWxkQmUoIm9wZW5fZXZlbnRfaGFuZGxl
ZCIsICJmYWxzZSIpOworCitldnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgiTWVzc2FnZUV2ZW50
Iik7CitldnQuaW5pdEV2ZW50KCJtZXNzYWdlIiwgdHJ1ZSwgZmFsc2UpOword3MuZGlzcGF0Y2hF
dmVudChldnQpOworc2hvdWxkQmUoIm1lc3NhZ2VfZXZlbnRfaGFuZGxlZCIsICJ0cnVlIik7CisK
K21lc3NhZ2VfZXZlbnRfaGFuZGxlZCA9IGZhbHNlOword3MucmVtb3ZlRXZlbnRMaXN0ZW5lcign
bWVzc2FnZScsIG1lc3NhZ2VMaXN0ZW5lcik7Cit3cy5kaXNwYXRjaEV2ZW50KGV2dCk7CitzaG91
bGRCZSgibWVzc2FnZV9ldmVudF9oYW5kbGVkIiwgImZhbHNlIik7CisKK2V2dCA9IGRvY3VtZW50
LmNyZWF0ZUV2ZW50KCJFdmVudHMiKTsKK2V2dC5pbml0RXZlbnQoImNsb3NlIiwgdHJ1ZSwgZmFs
c2UpOword3MuZGlzcGF0Y2hFdmVudChldnQpOworc2hvdWxkQmUoImNsb3NlX2V2ZW50X2hhbmRs
ZWQiLCAidHJ1ZSIpOworCitjbG9zZV9ldmVudF9oYW5kbGVkID0gZmFsc2U7Cit3cy5yZW1vdmVF
dmVudExpc3RlbmVyKCdjbG9zZScsIGNsb3NlTGlzdGVuZXIpOword3MuZGlzcGF0Y2hFdmVudChl
dnQpOworc2hvdWxkQmUoImNsb3NlX2V2ZW50X2hhbmRsZWQiLCAiZmFsc2UiKTsKKwordmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8u
Li8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS93ZWJzb2NrZXQtcGVuZGluZy1hY3Rpdml0eS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dlYnNvY2tldC1wZW5kaW5n
LWFjdGl2aXR5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzQwYmMwMWFlYTYyZmE5MDBhMGNi
MTMyN2EyOTJiOGJkODZhYjY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93ZWJzb2NrZXQtcGVuZGluZy1hY3Rpdml0eS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitBTEVSVDogUEFTUworU2hvdWxkIGFsZXJ0ICJQQVNT
Ii4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
Ymkvd2Vic29ja2V0LXBlbmRpbmctYWN0aXZpdHkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vic29ja2V0LXBlbmRpbmctYWN0aXZpdHkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lZGVjYzBiYzEwMzgxMjJhMDQ2YTU3MjJiNjM1ZWQ0M2U5YWVlMDU4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS93ZWJzb2NrZXQtcGVuZGluZy1hY3Rpdml0eS5odG1sCkBAIC0wLDAgKzEsMzQgQEAKKzxib2R5
IG9ubG9hZD0idGVzdCgpIj4KKzxwPlNob3VsZCBhbGVydCAiUEFTUyIuPC9wPgorPHNjcmlwdD4K
K2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9u
ZSgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0
SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworfQorCitmdW5jdGlvbiBnYygp
Cit7CisgICAgaWYgKHdpbmRvdy5HQ0NvbnRyb2xsZXIpCisgICAgICAgIHJldHVybiBHQ0NvbnRy
b2xsZXIuY29sbGVjdCgpOworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgaSsrKSB7
IC8vID4gZm9yY2UgZ2FyYmFnZSBjb2xsZWN0aW9uIChGRiByZXF1aXJlcyBhYm91dCA5SyBhbGxv
Y2F0aW9ucyBiZWZvcmUgYSBjb2xsZWN0KQorICAgICAgICB2YXIgcyA9IG5ldyBTdHJpbmcoImFi
YyIpOworICAgIH0KK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgdmFyIHdzID0gbmV3IFdl
YlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvIik7
CisgICAgd3Mub25vcGVuID0gZnVuY3Rpb24oKSB7CisgICAgICAgIHRoaXMuc2VuZCgiUEFTUyIp
OworICAgIH0KKyAgICB3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihtc2cpIHsKKyAgICAgICAgYWxl
cnQobXNnLmRhdGEpOworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIH0KKyAg
ICB3cyA9IG51bGw7CisgICAgZ2MoKTsKK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93ZWJzb2NrZXQtcHJvdG9jb2wt
aWdub3JlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL3dlYnNvY2tldC1wcm90b2NvbC1pZ25vcmVkLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40ZGU2ZDcxYTQ0Y2ZhNGExNDY0ZDA4ODMyMjc4MmQ5NjJmZGIyOTI3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93ZWJz
b2NrZXQtcHJvdG9jb2wtaWdub3JlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVz
dCBXZWJTb2NrZXQgaGFuZHNoYWtlIHN1Y2Nlc3Mgd2l0aG91dCBwcm90b2NvbCBhbmQgaWdub3Jl
IFdlYlNvY2tldC1Qcm90b2NvbCBmcm9tIHNlcnZlci4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCitDb25uZWN0ZWQKK1BBU1MgcHJvdG9jb2wgaXMgInN1Yi1wcm90b2NvbCIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dlYnNvY2tldC1w
cm90b2NvbC1pZ25vcmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL3dlYnNvY2tldC1wcm90b2NvbC1pZ25vcmVkLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTUz
NzMxNDk2OTVjYTM4YWVjNDdiZjcxMzhmYTA2N2U0NTVmMzRjZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vic29ja2V0LXBy
b3RvY29sLWlnbm9yZWQuaHRtbApAQCAtMCwwICsxLDU3IEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJUZXN0IFdlYlNvY2tldCBoYW5kc2hha2Ugc3Vj
Y2VzcyB3aXRob3V0IHByb3RvY29sIGFuZCBpZ25vcmUgV2ViU29ja2V0LVByb3RvY29sIGZyb20g
c2VydmVyLiIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJl
ZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCit2
YXIgcHJvdG9jb2w7CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIHNob3VsZEJlKCJwcm90
b2NvbCIsICcic3ViLXByb3RvY29sIicpOworICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit2YXIgdXJsID0gIndzOi8vbG9jYWxob3N0Ojg4ODAv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvcHJvdG9jb2wtdGVzdD9wcm90b2NvbD1zdWItcHJvdG9jb2wi
OwordmFyIHdzID0gbmV3IFdlYlNvY2tldCh1cmwpOworCit3cy5vbm9wZW4gPSBmdW5jdGlvbigp
Cit7CisgICAgZGVidWcoIkNvbm5lY3RlZCIpOworfTsKKword3Mub25tZXNzYWdlID0gZnVuY3Rp
b24gKG1lc3NhZ2VFdmVudCkKK3sKKyAgICBwcm90b2NvbCA9IG1lc3NhZ2VFdmVudC5kYXRhOwor
ICAgIHdzLmNsb3NlKCk7Cit9OworCit3cy5vbmNsb3NlID0gZnVuY3Rpb24oKQoreworICAgIGVu
ZFRlc3QoKTsKK307CisKK2Z1bmN0aW9uIHRpbWVPdXRDYWxsYmFjaygpCit7CisgICAgZGVidWco
IlRpbWVkIG91dCBpbiBzdGF0ZTogIiArIHdzLnJlYWR5U3RhdGUpOworICAgIGVuZFRlc3QoKTsK
K30KKwordmFyIHRpbWVvdXRJRCA9IHNldFRpbWVvdXQodGltZU91dENhbGxiYWNrLCAzMDAwKTsK
KwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL2Nsb3NlLWluLW9ubWVzc2FnZS1jcmFzaC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dv
cmtlcnMvY2xvc2UtaW4tb25tZXNzYWdlLWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
ZGEyMzg3Y2Q4ODJhMzEyMzM5NjkzNjY5N2YzYjNlNjcwOWM4OGY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL2Ns
b3NlLWluLW9ubWVzc2FnZS1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorTmVz
dGVkIGNyZWF0aW9uIG9mIHR3byBXZWJTb2NrZXRzIHNob3VsZCBub3QgY2F1c2UgYSBjcmFzaC4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTOiB3b3JrZXI6IFBhcnNlZCBzdWNj
ZXNzZnVsbHkuCitQQVNTOiB3b3JrZXI6IENvbm5lY3RlZC4KK1BBU1M6IHdvcmtlcjogUmVjZWl2
ZWQgbWVzc2FnZTogIkhlbGxvIGZyb20gU2ltcGxlIFdTSC4iCitQQVNTOiB3b3JrZXI6IENsb3Nl
ZC4KK0RPTkUKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL2Nsb3NlLWluLW9ubWVzc2FnZS1jcmFz
aC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3Jr
ZXJzL2Nsb3NlLWluLW9ubWVzc2FnZS1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4MDU5NDlhMzE0
OGQzZTAwNzViMWNiNTViZjgxMjgxMzZjMDFkNTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvY2xvc2UtaW4tb25t
ZXNzYWdlLWNyYXNoLmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD48L2hlYWQ+Cis8Ym9keT4K
KzxwPk5lc3RlZCBjcmVhdGlvbiBvZiB0d28gV2ViU29ja2V0cyBzaG91bGQgbm90IGNhdXNlIGEg
Y3Jhc2guPC9wPgorPHA+PC9wPgorPHA+T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLjwvcD4KKzxw
cmUgaWQ9bG9nPgorPC9wcmU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFi
bGVkIiwgMCk7Cit9CisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQoreworICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJsb2ciKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICJcbiI7Cit9CisKK2Z1
bmN0aW9uIGVuZFRlc3QoKQoreworICAgIGxvZygiVEVTVCBDT01QTEVURSIpOworICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKK30KK3ZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCdyZXNvdXJjZXMvY2xv
c2UtaW4tb25tZXNzYWdlLWNyYXNoLmpzJyk7Cit3b3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24g
KGV2dCkgeworICAgIGxvZyhldnQuZGF0YSk7CisgICAgaWYgKGV2dC5kYXRhID09ICJET05FIikK
KyAgICAgICAgZW5kVGVzdCgpOworfTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3Jr
ZXJzL2Nsb3NlLWluLXNoYXJlZC13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL2Nsb3NlLWluLXNoYXJlZC13b3Jr
ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhYzMzZWU1NjQzM2I1OTIxZmNiZjE1OWZjZjli
YWM3YWUxYmVlZTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvY2xvc2UtaW4tc2hhcmVkLXdvcmtlci1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdCBmb3IgV2ViIFNvY2tldCBjbG9zZSBpbiBTaGFy
ZWRXb3JrZXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUzogd29ya2VyOiBp
bml0CitQQVNTOiB3b3JrZXI6IFdlYlNvY2tldCBleGlzdHMKK1BBU1M6IHdvcmtlcjogc3VjY2Vz
c2Z1bGx5UGFyc2VkOltvYmplY3QgV2ViU29ja2V0XQorUEFTUzogd29ya2VyOiBDb25uZWN0ZWQu
CitQQVNTOiB3b3JrZXI6IENsb3NlZC4KK0RPTkUKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL2Ns
b3NlLWluLXNoYXJlZC13b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9jbG9zZS1pbi1zaGFyZWQtd29ya2VyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYWU4MzUyMDczZjdlMjM4NTgzMWZhN2I5ZGUxNjYwN2Q2OWFhYmNhOQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29y
a2Vycy9jbG9zZS1pbi1zaGFyZWQtd29ya2VyLmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD48
L2hlYWQ+Cis8Ym9keT4KKzxwPlRlc3QgZm9yIFdlYiBTb2NrZXQgY2xvc2UgaW4gU2hhcmVkV29y
a2VyLjwvcD4KKzxwPjwvcD4KKzxwPk9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi48L3A+Cis8cHJl
IGlkPWxvZz4KKzwvcHJlPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxl
ZCIsIDApOworfQorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgibG9nIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiXG4iOworfQorCitmdW5j
dGlvbiBlbmRUZXN0KCkKK3sKKyAgICBsb2coIlRFU1QgQ09NUExFVEUiKTsKKyAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7Cit9Cit2YXIgd29ya2VyID0gbmV3IFNoYXJlZFdvcmtlcigncmVzb3VyY2Vz
L2Nsb3NlLWluLXdvcmtlci5qcycsICd3ZWJzb2NrZXRDbG9zZUluV29ya2VyJyk7Cit3b3JrZXIu
cG9ydC5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZXZ0KSB7CisgICAgbG9nKGV2dC5kYXRhKTsKKyAg
ICBpZiAoZXZ0LmRhdGEgPT0gIkRPTkUiKQorICAgICAgICBlbmRUZXN0KCk7Cit9OworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvY2xvc2UtaW4td29ya2VyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9j
bG9zZS1pbi13b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiOWY5MDViMGY1ZjhkMWFh
NDc1ZjNkOTFiZGE5MDY2ZWFmZWZiZDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvY2xvc2UtaW4td29ya2VyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUZXN0IGZvciBXZWIgU29ja2V0IGNsb3NlIGlu
IFdvcmtlci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTOiB3b3JrZXI6IGlu
aXQKK1BBU1M6IHdvcmtlcjogV2ViU29ja2V0IGV4aXN0cworUEFTUzogd29ya2VyOiBzdWNjZXNz
ZnVsbHlQYXJzZWQ6W29iamVjdCBXZWJTb2NrZXRdCitQQVNTOiB3b3JrZXI6IENvbm5lY3RlZC4K
K1BBU1M6IHdvcmtlcjogQ2xvc2VkLgorRE9ORQorVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvY2xv
c2UtaW4td29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL3dvcmtlcnMvY2xvc2UtaW4td29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2NmMzQyYWMz
NjdkYjU5ZTIwYzg4YTYwMWJmOTI5MzI0Y2Y1MzQyMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9jbG9zZS1pbi13
b3JrZXIuaHRtbApAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPjwvaGVhZD4KKzxib2R5PgorPHA+VGVz
dCBmb3IgV2ViIFNvY2tldCBjbG9zZSBpbiBXb3JrZXIuPC9wPgorPHA+PC9wPgorPHA+T24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLjwvcD4KKzxwcmUgaWQ9bG9nPgorPC9wcmU+Cis8c2NyaXB0Pgor
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRI
aXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7Cit9CisKK2Z1bmN0aW9uIGxvZyht
ZXNzYWdlKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2ciKS5pbm5lckhUTUwg
Kz0gbWVzc2FnZSArICJcbiI7Cit9CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIGxvZygi
VEVTVCBDT01QTEVURSIpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KK3ZhciB3b3JrZXIg
PSBuZXcgV29ya2VyKCdyZXNvdXJjZXMvY2xvc2UtaW4td29ya2VyLmpzJyk7Cit3b3JrZXIub25t
ZXNzYWdlID0gZnVuY3Rpb24gKGV2dCkgeworICAgIGxvZyhldnQuZGF0YSk7CisgICAgaWYgKGV2
dC5kYXRhID09ICJET05FIikKKyAgICAgICAgZW5kVGVzdCgpOworfTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS93b3JrZXJzL3Jlc291cmNlcy9jbG9zZS1pbi1vbm1lc3NhZ2UtY3Jhc2gu
anMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMv
cmVzb3VyY2VzL2Nsb3NlLWluLW9ubWVzc2FnZS1jcmFzaC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YWJjYzll
YzEyZTAwMjI1Zjk3MDE4MDMyYTUyYzBhNDc0NDg3ZjMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3Jlc291cmNl
cy9jbG9zZS1pbi1vbm1lc3NhZ2UtY3Jhc2guanMKQEAgLTAsMCArMSwzMCBAQAorZnVuY3Rpb24g
cnVuVGVzdHMoKQoreworICAgIHRyeSB7CisgICAgICAgIHZhciB1cmwgPSAnd3M6Ly9sb2NhbGhv
c3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3Jlc291cmNlcy9zaW1wbGUnOwor
ICAgICAgICB2YXIgd3MgPSBuZXcgV2ViU29ja2V0KHVybCk7CisKKyAgICAgICAgd3Mub25vcGVu
ID0gZnVuY3Rpb24oKQorICAgICAgICB7CisgICAgICAgICAgICBwb3N0TWVzc2FnZSgnUEFTUzog
d29ya2VyOiBDb25uZWN0ZWQuJyk7CisgICAgICAgIH07CisKKyAgICAgICAgd3Mub25tZXNzYWdl
ID0gZnVuY3Rpb24obWVzc2FnZUV2ZW50KQorICAgICAgICB7CisgICAgICAgICAgICBwb3N0TWVz
c2FnZSgnUEFTUzogd29ya2VyOiBSZWNlaXZlZCBtZXNzYWdlOiAiJyArIG1lc3NhZ2VFdmVudC5k
YXRhICsgJyInKTsKKyAgICAgICAgICAgIHdzLmNsb3NlKCk7CisgICAgICAgIH07CisKKyAgICAg
ICAgd3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKKyAgICAgICAgeworICAgICAgICAgICAgcG9zdE1l
c3NhZ2UoJ1BBU1M6IHdvcmtlcjogQ2xvc2VkLicpOworICAgICAgICAgICAgcG9zdE1lc3NhZ2Uo
J0RPTkUnKTsKKyAgICAgICAgfTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIHBvc3RNZXNz
YWdlKCdGQUlMOiB3b3JrZXI6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAnICsgZSk7CisgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgcG9zdE1lc3NhZ2UoJ1BBU1M6IHdvcmtlcjogUGFyc2VkIHN1Y2Nl
c3NmdWxseS4nKTsKKyAgICB9Cit9CisKK3J1blRlc3RzKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvcmVzb3VyY2VzL2Ns
b3NlLWluLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5Ymkvd29ya2Vycy9yZXNvdXJjZXMvY2xvc2UtaW4td29ya2VyLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYw
YWI5NTkwOGY1MDE2MTM5YWQ2ZjQ4NzNhYzI4N2UxZTAxZWI1ZTQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvcmVz
b3VyY2VzL2Nsb3NlLWluLXdvcmtlci5qcwpAQCAtMCwwICsxLDM2IEBACitpZiAoc2VsZi5wb3N0
TWVzc2FnZSkKKyAgICBydW5UZXN0cygpOworZWxzZQorICAgIG9uY29ubmVjdCA9IGhhbmRsZUNv
bm5lY3Q7CisKK2Z1bmN0aW9uIGhhbmRsZUNvbm5lY3QoZXZlbnQpCit7CisgICAgLy8gRm9yIHNo
YXJlZCB3b3JrZXJzLCBjcmVhdGUgYSBmYXV4IHBvc3RNZXNzYWdlKCkgQVBJIHRvIHNlbmQgbWVz
c2FnZSBiYWNrIHRvIHRoZSBwYXJlbnQgcGFnZS4KKyAgICBzZWxmLnBvc3RNZXNzYWdlID0gZnVu
Y3Rpb24gKG1lc3NhZ2UpIHsgZXZlbnQucG9ydHNbMF0ucG9zdE1lc3NhZ2UobWVzc2FnZSk7IH07
CisgICAgcnVuVGVzdHMoKTsKK307CisKK2Z1bmN0aW9uIHJ1blRlc3RzKCkKK3sKKyAgICB2YXIg
d3M7CisgICAgdHJ5IHsKKyAgICAgICAgcG9zdE1lc3NhZ2UoIlBBU1M6IHdvcmtlcjogaW5pdCIp
OworICAgICAgICBpZiAoJ1dlYlNvY2tldCcgaW4gc2VsZikKKyAgICAgICAgICAgIHBvc3RNZXNz
YWdlKCJQQVNTOiB3b3JrZXI6IFdlYlNvY2tldCBleGlzdHMiKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgcG9zdE1lc3NhZ2UoIkZBSUw6IHdvcmtlcjogbm8gV2ViU29ja2V0Iik7CisgICAg
ICAgIHdzID0gbmV3IFdlYlNvY2tldCgnd3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVz
dHMvaHliaS93b3JrZXJzL3Jlc291cmNlcy9lY2hvJyk7CisgICAgICAgIHdzLm9ub3BlbiA9IGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgcG9zdE1lc3NhZ2UoIlBBU1M6IHdvcmtlcjogQ29ubmVj
dGVkLiIpOworICAgICAgICAgICAgd3MuY2xvc2UoKTsKKyAgICAgICAgfTsKKyAgICAgICAgd3Mu
b25jbG9zZSA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgcG9zdE1lc3NhZ2UoIlBBU1M6IHdv
cmtlcjogQ2xvc2VkLiIpOworICAgICAgICAgICAgcG9zdE1lc3NhZ2UoIkRPTkUiKTsKKyAgICAg
ICAgfTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAgICAgIHBvc3RNZXNzYWdlKCJGQUlMOiB3b3Jr
ZXI6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uOiAiICsgZSk7CisgICAgfSBmaW5hbGx5IHsKKyAgICAg
ICAgcG9zdE1lc3NhZ2UoIlBBU1M6IHdvcmtlcjogc3VjY2Vzc2Z1bGx5UGFyc2VkOiIgKyB3cyk7
CisgICAgfQorfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5Ymkvd29ya2Vycy9yZXNvdXJjZXMvZWNoby1jaGFsbGVuZ2Vfd3NoLnB5IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3Jlc291cmNl
cy9lY2hvLWNoYWxsZW5nZV93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzkwZDQ0MTUwOWNhMzA0MzRlYWJl
M2RjNDU0MzA2MTZmNWIzM2NiZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9yZXNvdXJjZXMvZWNoby1jaGFsbGVu
Z2Vfd3NoLnB5CkBAIC0wLDAgKzEsMTMgQEAKK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBt
c2d1dGlsCisKKworZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgor
ICAgIHBhc3MKKworCitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAg
IG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3QsIF9oZXhpZnkocmVxdWVzdC53c19jaGFsbGVu
Z2UpKQorCisKK2RlZiBfaGV4aWZ5KGJ5dGVzKToKKyAgICByZXR1cm4gJzonLmpvaW4oWyclMDJY
JyAlIG9yZChieXRlKSBmb3IgYnl0ZSBpbiBieXRlc10pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvcmVzb3VyY2VzL2VjaG9f
d3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3Jr
ZXJzL3Jlc291cmNlcy9lY2hvX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MjlmNTgxODZlM2ZjZTQzZGMy
MWU4MWUwZjlkN2UyMGM3ZTBiZjcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3Jlc291cmNlcy9lY2hvX3dzaC5w
eQpAQCAtMCwwICsxLDQ2IEBACisjIENvcHlyaWdodCAyMDEwLCBHb29nbGUgSW5jLgorIyBBbGwg
cmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6
CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitmcm9tIG1vZF9weXdlYnNv
Y2tldCBpbXBvcnQgbXNndXRpbAorCisKK19HT09EQllFX01FU1NBR0UgPSAnR29vZGJ5ZScKKwor
CitkZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgcGFzcyAg
IyBBbHdheXMgYWNjZXB0LgorCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVz
dCk6CisgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgbGluZSA9IG1zZ3V0aWwucmVjZWl2ZV9tZXNz
YWdlKHJlcXVlc3QpCisgICAgICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3QsIGxpbmUp
CisgICAgICAgIGlmIGxpbmUgPT0gX0dPT0RCWUVfTUVTU0FHRToKKyAgICAgICAgICAgIHJldHVy
bgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS93b3JrZXJzL3Jlc291cmNlcy9zaW1wbGVfd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3Jlc291cmNlcy9zaW1wbGVfd3NoLnB5Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmZjMDI3MWM1ZjdhOWY1NDdmNTJmYmMwNWNmZDMwNGIzYjVkZjAzMmYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L3dvcmtlcnMvcmVzb3VyY2VzL3NpbXBsZV93c2gucHkKQEAgLTAsMCArMSwzOCBAQAorIyBDb3B5
cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
IyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisKKworZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IG1zZ3V0aWwKKworCitk
ZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgcGFzcyAjIEFs
d2F5cyBhY2NlcHQuCisKKworZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1ZXN0KToK
KyAgICBtc2d1dGlsLnNlbmRfbWVzc2FnZShyZXF1ZXN0LCAnSGVsbG8gZnJvbSBTaW1wbGUgV1NI
LicpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtlci1oYW5kc2hha2UtY2hhbGxlbmdlLXJhbmRvbW5l
c3MuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtl
cnMvcmVzb3VyY2VzL3dvcmtlci1oYW5kc2hha2UtY2hhbGxlbmdlLXJhbmRvbW5lc3MuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMGExYzFmZTFhMjU0YTRlYWI5ZTI3MTQ4MGY1ZTMwZTdmMDhmN2Q4ZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
d29ya2Vycy9yZXNvdXJjZXMvd29ya2VyLWhhbmRzaGFrZS1jaGFsbGVuZ2UtcmFuZG9tbmVzcy5q
cwpAQCAtMCwwICsxLDQ4IEBACit2YXIgY2hhbGxlbmdlMTsKK3ZhciBjaGFsbGVuZ2UyOworCitm
dW5jdGlvbiBlbmRUZXN0KCkKK3sKKyAgICBpZiAoY2hhbGxlbmdlMSA9PT0gY2hhbGxlbmdlMikK
KyAgICAgICAgcG9zdE1lc3NhZ2UoJ0ZBSUw6IHdvcmtlcjogY2hhbGxlbmdlMSA9PT0gY2hhbGxl
bmdlMiAoY2hhbGxlbmdlIHdhcyAnICsgY2hhbGxlbmdlMSArICcpJyk7CisgICAgZWxzZQorICAg
ICAgICBwb3N0TWVzc2FnZSgnUEFTUzogd29ya2VyOiBjaGFsbGVuZ2UxICE9PSBjaGFsbGVuZ2Uy
Jyk7CisKKyAgICBwb3N0TWVzc2FnZSgnRE9ORScpOworfQorCitmdW5jdGlvbiBydW5UZXN0cygp
Cit7CisgICAgdHJ5IHsKKyAgICAgICAgdmFyIHVybCA9ICd3czovL2xvY2FsaG9zdDo4ODgwL3dl
YnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvcmVzb3VyY2VzL2VjaG8tY2hhbGxlbmdlJzsKKyAg
ICAgICAgdmFyIHdzMSA9IG5ldyBXZWJTb2NrZXQodXJsKTsKKworICAgICAgICB3czEub25tZXNz
YWdlID0gZnVuY3Rpb24obWVzc2FnZUV2ZW50KQorICAgICAgICB7CisgICAgICAgICAgICBjaGFs
bGVuZ2UxID0gbWVzc2FnZUV2ZW50LmRhdGE7CisgICAgICAgICAgICB3czEuY2xvc2UoKTsKKyAg
ICAgICAgfQorCisgICAgICAgIHdzMS5vbmNsb3NlID0gZnVuY3Rpb24oKQorICAgICAgICB7Cisg
ICAgICAgICAgICB2YXIgd3MyID0gbmV3IFdlYlNvY2tldCh1cmwpOworCisgICAgICAgICAgICB3
czIub25tZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZUV2ZW50KQorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIGNoYWxsZW5nZTIgPSBtZXNzYWdlRXZlbnQuZGF0YTsKKyAgICAgICAgICAg
ICAgICB3czIuY2xvc2UoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgd3MyLm9uY2xv
c2UgPSBmdW5jdGlvbigpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZW5kVGVzdCgp
OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBw
b3N0TWVzc2FnZSgnRkFJTDogd29ya2VyOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbjogJyArIGUpOwor
ICAgIH0gZmluYWxseSB7CisgICAgICAgIHBvc3RNZXNzYWdlKCdQQVNTOiB3b3JrZXI6IFBhcnNl
ZCBzdWNjZXNzZnVsbHkuJyk7CisgICAgfQorfQorCitydW5UZXN0cygpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3Jlc291
cmNlcy93b3JrZXItc2ltcGxlLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItc2ltcGxlLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjUwMDgzMDFkYWNkZGM2ZGJiM2UzMWNjYTkxNzRiZDk0NDhkNzUxZjUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMv
cmVzb3VyY2VzL3dvcmtlci1zaW1wbGUuanMKQEAgLTAsMCArMSwzOCBAQAoraWYgKHNlbGYucG9z
dE1lc3NhZ2UpCisgICAgcnVuVGVzdHMoKTsKK2Vsc2UKKyAgICBvbmNvbm5lY3QgPSBoYW5kbGVD
b25uZWN0OworCitmdW5jdGlvbiBoYW5kbGVDb25uZWN0KGV2ZW50KQoreworICAgIC8vIEZvciBz
aGFyZWQgd29ya2VycywgY3JlYXRlIGEgZmF1eCBwb3N0TWVzc2FnZSgpIEFQSSB0byBzZW5kIG1l
c3NhZ2UgYmFjayB0byB0aGUgcGFyZW50IHBhZ2UuCisgICAgc2VsZi5wb3N0TWVzc2FnZSA9IGZ1
bmN0aW9uIChtZXNzYWdlKSB7IGV2ZW50LnBvcnRzWzBdLnBvc3RNZXNzYWdlKG1lc3NhZ2UpOyB9
OworICAgIHJ1blRlc3RzKCk7Cit9OworCitmdW5jdGlvbiBydW5UZXN0cygpCit7CisgICAgdmFy
IHdzOworICAgIHRyeSB7CisgICAgICAgIHBvc3RNZXNzYWdlKCJQQVNTOiB3b3JrZXI6IGluaXQi
KTsKKyAgICAgICAgaWYgKCdXZWJTb2NrZXQnIGluIHNlbGYpCisgICAgICAgICAgICBwb3N0TWVz
c2FnZSgiUEFTUzogd29ya2VyOiBXZWJTb2NrZXQgZXhpc3RzIik7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIHBvc3RNZXNzYWdlKCJQQVNTOiB3b3JrZXI6IG5vIFdlYlNvY2tldCIpOworICAg
ICAgICB3cyA9IG5ldyBXZWJTb2NrZXQoJ3dzOi8vbG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rl
c3RzL2h5Ymkvd29ya2Vycy9yZXNvdXJjZXMvc2ltcGxlJyk7CisgICAgICAgIHdzLm9ub3BlbiA9
IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgcG9zdE1lc3NhZ2UoIlBBU1M6IHdvcmtlcjogQ29u
bmVjdGVkLiIpOworICAgICAgICB9OworICAgICAgICB3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihl
dnQpIHsKKyAgICAgICAgICAgIHBvc3RNZXNzYWdlKCJQQVNTOiB3b3JrZXI6IFJlY2VpdmVkOiAn
IiArIGV2dC5kYXRhICsgIiciKTsKKyAgICAgICAgfTsKKyAgICAgICAgd3Mub25jbG9zZSA9IGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgcG9zdE1lc3NhZ2UoIlBBU1M6IHdvcmtlcjogQ2xvc2Vk
LiIpOworICAgICAgICAgICAgcG9zdE1lc3NhZ2UoIkRPTkUiKTsKKyAgICAgICAgfTsKKyAgICB9
IGNhdGNoIChlKSB7CisgICAgICAgIHBvc3RNZXNzYWdlKCJGQUlMOiB3b3JrZXI6IFVuZXhwZWN0
ZWQgZXhjZXB0aW9uOiAiICsgZSk7CisgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgcG9zdE1lc3Nh
Z2UoIlBBU1M6IHdvcmtlcjogc3VjY2Vzc2Z1bGx5UGFyc2VkOiIgKyB3cyk7CisgICAgfQorfTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
d29ya2Vycy9zaGFyZWQtd29ya2VyLXNpbXBsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvc2hhcmVkLXdvcmtlci1zaW1w
bGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2YjZiZGMyNjI0OWY3MGFmYzM5Mzk3MjM0NDgw
ZWRlMGE0MTdkNzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvc2hhcmVkLXdvcmtlci1zaW1wbGUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Rlc3QgZm9yIFdlYiBTb2NrZXQgaW4gU2hhcmVkV29ya2Vy
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1M6IHdvcmtlcjogaW5pdAorUEFT
Uzogd29ya2VyOiBXZWJTb2NrZXQgZXhpc3RzCitQQVNTOiB3b3JrZXI6IHN1Y2Nlc3NmdWxseVBh
cnNlZDpbb2JqZWN0IFdlYlNvY2tldF0KK1BBU1M6IHdvcmtlcjogQ29ubmVjdGVkLgorUEFTUzog
d29ya2VyOiBSZWNlaXZlZDogJ0hlbGxvIGZyb20gU2ltcGxlIFdTSC4nCitQQVNTOiB3b3JrZXI6
IENsb3NlZC4KK0RPTkUKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3NoYXJlZC13b3JrZXItc2lt
cGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dv
cmtlcnMvc2hhcmVkLXdvcmtlci1zaW1wbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YmQ2ZWQ5YmU1MGIw
N2I3MWFkNTEyZDRhMjEwNjIzOTA4MTg4ZmIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3NoYXJlZC13b3JrZXIt
c2ltcGxlLmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD48L2hlYWQ+Cis8Ym9keT4KKzxwPlRl
c3QgZm9yIFdlYiBTb2NrZXQgaW4gU2hhcmVkV29ya2VyLjwvcD4KKzxwPjwvcD4KKzxwPk9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi48L3A+Cis8cHJlIGlkPWxvZz4KKzwvcHJlPgorPHNjcmlwdD4K
K2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9u
ZSgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0
SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworfQorCitmdW5jdGlvbiBsb2co
bWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9nIikuaW5uZXJIVE1M
ICs9IG1lc3NhZ2UgKyAiXG4iOworfQorCitmdW5jdGlvbiBlbmRUZXN0KCkKK3sKKyAgICBsb2co
IlRFU1QgQ09NUExFVEUiKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9Cit2YXIgd29ya2Vy
ID0gbmV3IFNoYXJlZFdvcmtlcigncmVzb3VyY2VzL3dvcmtlci1zaW1wbGUuanMnLCAnd2Vic29j
a2V0U2ltcGxlJyk7Cit3b3JrZXIucG9ydC5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZXZ0KSB7Cisg
ICAgbG9nKGV2dC5kYXRhKTsKKyAgICBpZiAoZXZ0LmRhdGEgPT0gIkRPTkUiKQorICAgICAgICBl
bmRUZXN0KCk7Cit9OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvd29ya2Vy
LWhhbmRzaGFrZS1jaGFsbGVuZ2UtcmFuZG9tbmVzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvd29ya2VyLWhhbmRzaGFr
ZS1jaGFsbGVuZ2UtcmFuZG9tbmVzcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMThjOTg4MDli
NWU1MmU4MTlkZWNhNGIxNDUwNzZiMGNlY2MwODE4YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy93b3JrZXItaGFu
ZHNoYWtlLWNoYWxsZW5nZS1yYW5kb21uZXNzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAK
K0hhbmRzaGFrZSByZXF1ZXN0IHNob3VsZCBjb250YWluIHJhbmRvbSBjaGFsbGVuZ2UgdmFsdWVz
IChpbiBhIHdvcmtlciBwcm9jZXNzKS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTOiB3b3JrZXI6IFBhcnNlZCBzdWNjZXNzZnVsbHkuCitQQVNTOiB3b3JrZXI6IGNoYWxsZW5n
ZTEgIT09IGNoYWxsZW5nZTIKK0RPTkUKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3dvcmtlci1o
YW5kc2hha2UtY2hhbGxlbmdlLXJhbmRvbW5lc3MuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy93b3JrZXItaGFuZHNoYWtlLWNoYWxsZW5n
ZS1yYW5kb21uZXNzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTE0YmYxMDY5YmExMGJkNjM2ZGQzZTRlMTA0
OWNlZDk0NGVlOTQyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy93b3JrZXItaGFuZHNoYWtlLWNoYWxsZW5nZS1y
YW5kb21uZXNzLmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD48L2hlYWQ+Cis8Ym9keT4KKzxw
PkhhbmRzaGFrZSByZXF1ZXN0IHNob3VsZCBjb250YWluIHJhbmRvbSBjaGFsbGVuZ2UgdmFsdWVz
IChpbiBhIHdvcmtlciBwcm9jZXNzKS48L3A+Cis8cD48L3A+Cis8cD5PbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuPC9wPgorPHByZSBpZD1sb2c+Cis8L3ByZT4KKzxzY3JpcHQ+CitpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJT
b2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKK30KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7
CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZyIpLmlubmVySFRNTCArPSBtZXNzYWdl
ICsgIlxuIjsKK30KKworZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAgbG9nKCJURVNUIENPTVBM
RVRFIik7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQordmFyIHdvcmtlciA9IG5ldyBXb3Jr
ZXIoJ3Jlc291cmNlcy93b3JrZXItaGFuZHNoYWtlLWNoYWxsZW5nZS1yYW5kb21uZXNzLmpzJyk7
Cit3b3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2dCkgeworICAgIGxvZyhldnQuZGF0YSk7
CisgICAgaWYgKGV2dC5kYXRhID09ICJET05FIikKKyAgICAgICAgZW5kVGVzdCgpOworfTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3dvcmtlci1zaW1wbGUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJz
L3dvcmtlci1zaW1wbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2NWE4NDJlZDYwODU1ZGNi
ZDQ3ZmRmOTIzYTFmZjcyOTBkZDRiNjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvd29ya2VyLXNpbXBsZS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGVzdCBmb3IgV2ViIFNvY2tldCBpbiBXb3JrZXIu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUzogd29ya2VyOiBpbml0CitQQVNT
OiB3b3JrZXI6IFdlYlNvY2tldCBleGlzdHMKK1BBU1M6IHdvcmtlcjogc3VjY2Vzc2Z1bGx5UGFy
c2VkOltvYmplY3QgV2ViU29ja2V0XQorUEFTUzogd29ya2VyOiBDb25uZWN0ZWQuCitQQVNTOiB3
b3JrZXI6IFJlY2VpdmVkOiAnSGVsbG8gZnJvbSBTaW1wbGUgV1NILicKK1BBU1M6IHdvcmtlcjog
Q2xvc2VkLgorRE9ORQorVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvd29ya2VyLXNpbXBsZS5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3dv
cmtlci1zaW1wbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNjcxY2Y3YmFjMzVhNWM4Y2YwODQ1N2E4MjBh
YmQxMzg2NWZlODMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3dvcmtlci1zaW1wbGUuaHRtbApAQCAtMCwwICsx
LDM2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPjwvaGVhZD4KKzxib2R5PgorPHA+VGVzdCBmb3IgV2ViIFNvY2tldCBpbiBX
b3JrZXIuPC9wPgorPHA+PC9wPgorPHA+T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLjwvcD4KKzxw
cmUgaWQ9bG9nPgorPC9wcmU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFi
bGVkIiwgMCk7Cit9CisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQoreworICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJsb2ciKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICJcbiI7Cit9CisKK2Z1
bmN0aW9uIGVuZFRlc3QoKQoreworICAgIGxvZygiVEVTVCBDT01QTEVURSIpOworICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKK30KK3ZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCdyZXNvdXJjZXMvd29y
a2VyLXNpbXBsZS5qcycpOword29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChldnQpIHsKKyAg
ICBsb2coZXZ0LmRhdGEpOworICAgIGlmIChldnQuZGF0YSA9PSAiRE9ORSIpCisgICAgICAgIGVu
ZFRlc3QoKTsKK307Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCAxMTgx
Mzk1YjA1YjNhMmE5Yzk2NDYyMmYyMDkwYjJhYTJjYzFmYTdhLi5iY2QzNDI4MmY4ZjExZWQ3OTk4
NTU3YTMwYzcxYTFiMzAzOWEzMDMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC0yMTYsNiArMjE2LDkgQEAgV09OVEZJ
WCBTS0lQIDogYW5pbWF0aW9ucy9hbmltYXRpb24tYXBpLTEuaHRtbCA9IEZBSUwKIC8vIFVuc2tp
cCBhZnRlciBpbXBsZW1lbnRpbmcgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldERlZmVyc0xvYWRp
bmcgYW5kIDo6Z29CYWNrLgogQlVHV0s2MDg3NyBTS0lQIDogbG9hZGVyL25hdmlnYXRpb24td2hp
bGUtZGVmZXJyaW5nLWxvYWRzLmh0bWwgPSBGQUlMCiAKKy8vIFNraXBwZWQgdW50aWwgbmV3IFdl
YlNvY2tldCBwcm90b2NvbCBpcyBpbXBsZW1lbnRlZC4KK0JVR1dLNTAwOTkgU0tJUCA6IGh0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvID0gUEFTUyBGQUlMIFRJTUVPVVQKKwogLy8gLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KIC8vIFdPTlRGSVggVEVTVFMKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lw
cGVkCmluZGV4IDEwZDI0NmUzY2YwNjkyMmYwOTUxOTU4ZmY1NmZlZmJhMTZjYTUwYmMuLjNkZDE3
MWE3OTI5MzE5NmE5NDgyMjBkYWUyZTE1MGQzZjJiNDY2YWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9T
a2lwcGVkCkBAIC0xNTU3LDMgKzE1NTcsNiBAQCBodHRwL3Rlc3RzL21pc2MvaWZyYW1lLXJlcGFy
ZW50aW5nLWlkLWNvbGxpc2lvbi5odG1sCiBodHRwL3Rlc3RzL2luc3BlY3RvcgogaHR0cC90ZXN0
cy9pbnNwZWN0b3ItZW5hYmxlZAogaW5zcGVjdG9yLworCisjIFNraXBwZWQgdW50aWwgbmV3IFdl
YlNvY2tldCBwcm90b2NvbCBpcyBpbXBsZW1lbnRlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi81MDA5
OQoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS8KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBw
ZWQKaW5kZXggYWVlNTk3OTE3YzIwNGJlNmU4OTRkMDIwMDU0ZjljMmIxY2I3NjEwMS4uMmFhOTY4
ZTg0ZTEyNjg5ZTQ3YjM5MDJlOTEyZjAzZGFlNTBiOGQ2ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Nr
aXBwZWQKQEAgLTM4OCwzICszODgsNiBAQCBjb21wb3NpdGluZy9ydGwvcnRsLWlmcmFtZS1maXhl
ZC1vdmVyZmxvdy1zY3JvbGxlZC5odG1sCiBjb21wb3NpdGluZy9ydGwvcnRsLWlmcmFtZS1maXhl
ZC1vdmVyZmxvdy5odG1sCiBjb21wb3NpdGluZy9ydGwvcnRsLWlmcmFtZS1maXhlZC5odG1sCiBj
b21wb3NpdGluZy9ydGwvcnRsLWlmcmFtZS1yZWxhdGl2ZS5odG1sCisKKyMgU2tpcHBlZCB1bnRp
bCBuZXcgV2ViU29ja2V0IHByb3RvY29sIGlzIGltcGxlbWVudGVkLiBodHRwOi8vd2Via2l0Lm9y
Zy9iLzUwMDk5CitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpLwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0
L1NraXBwZWQKaW5kZXggOGFjYjBjZmZlYTVhYzllNDgwMjNjNjY0OTRlODJkZDFjNmM1ZjFlZS4u
NzM2OTJlNjIxODBkYzA2OWE0Nzk1YTgzYzBjM2E2MjA5NDcxMDhkMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC9Ta2lwcGVkCkBAIC0xOTM5LDYgKzE5MzksMTMgQEAgcHJpbnRpbmcvY29tcG9zaXRpbmctbGF5
ZXItcHJpbnRpbmcuaHRtbAogcHJpbnRpbmcvbWVkaWEtcXVlcmllcy1wcmludC5odG1sCiAKICMg
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0gIworIyBmYWlsaW5nIHdlYnNvY2tldCB0ZXN0cworIyA9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PSAjCisKKyMgU2tpcHBlZCB1bnRpbCBuZXcgV2ViU29ja2V0IHByb3Rv
Y29sIGlzIGltcGxlbWVudGVkLiBodHRwOi8vd2Via2l0Lm9yZy9iLzUwMDk5CitodHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpLworCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICMKICMgbmV3
IHRlc3RzIHdpdGhvdXQgZXhwZWN0ZWQgcmVzdWx0cwogIyA9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAj
CiBlZGl0aW5nL3NlbGVjdGlvbi90cmFuc2Zvcm1lZC1zZWxlY3Rpb24tcmVjdHMuaHRtbApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCBhZWQzZjJmMGUzNTEwNTBlZWQ1NDg3OTcwYjdjM2Ix
MTM2ZDRiYmU5Li4wYjRkOThjZjUzY2NhOWM4MDg5NTU0ZGE3MzkyNDIwNjM2ZTVlYjczIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtMTM1MCwzICsxMzUwLDYgQEAgZmFzdC9leGNsdXNp
b25zCiAKICMgQ2F1c2VzIGEgU3ludGF4RXJyb3IgKGh0dHA6Ly93ZWJraXQub3JnL2IvNjI1OTUp
LgogZmFzdC93b3JrZXJzL3dvcmtlci1jcmFzaC13aXRoLWludmFsaWQtbG9jYXRpb24uaHRtbAor
CisjIFNraXBwZWQgdW50aWwgbmV3IFdlYlNvY2tldCBwcm90b2NvbCBpcyBpbXBsZW1lbnRlZC4g
aHR0cDovL3dlYmtpdC5vcmcvYi81MDA5OQoraHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2syL1NraXBwZWQKaW5kZXggNWUwYjQwZDExOTMxN2VmNDhiYjQ0OTFj
MzMxNGY1YzYwNjVhMmNmMi4uODZmNzE4ODBjMDVjYWI3MTc1MDBhYjMxN2UzNjlmZjgwZjlkODJj
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1NraXBwZWQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2syL1NraXBwZWQKQEAgLTE2MTMsNiArMTYxMyw5IEBAIHBsYXRm
b3JtL21hYy9mYXN0L3RleHQvcm91bmRpbmctaGFja3MuaHRtbAogIyBodHRwOi8vd2Via2l0Lm9y
Zy9iLzU4OTkwCiBlZGl0aW5nL3VuZG8vdW5kby1pZnJhbWUtbG9jYXRpb24tY2hhbmdlLmh0bWwK
IAorIyBTa2lwcGVkIHVudGlsIG5ldyBXZWJTb2NrZXQgcHJvdG9jb2wgaXMgaW1wbGVtZW50ZWQu
IGh0dHA6Ly93ZWJraXQub3JnL2IvNTAwOTkKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvCisKICMjIyBFTkQgT0YgKDEpIENsYXNzaWZpZWQgZmFpbHVyZXMgd2l0aCBidWcgcmVwb3J0
cwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100246</attachid>
            <date>2011-07-10 23:48:06 -0700</date>
            <delta_ts>2011-07-10 23:48:29 -0700</delta_ts>
            <desc>Merge to trunk to see EWS results</desc>
            <filename>bug-64242-20110711154804.patch</filename>
            <type>text/plain</type>
            <size>220702</size>
            <attacher name="Yuta Kitamura">yutak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTA3MjAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0OWViOGRmYTgwODFlZjAwZWY4MGM0
MzZmODE2MGEyMTlkMTIzZDk3Li41OGQxZjQ1MTEwYTY4NWU3ZDI5NGI5ZDYxZGYyMjVhODczODk0
YmQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAzIEBACisyMDExLTA3LTEwICBZdXRhIEtpdGFtdXJhICA8
eXV0YWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYlNvY2tldDogQ29weSBleGlzdGluZyBX
ZWJTb2NrZXQgdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY0MjQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCisKKyAgICAg
ICAgQ29weSB0aGUgZXhpc3RpbmcgV2ViU29ja2V0IHRlc3RzIHVuZGVyIGh0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5YmkvIGFuZCBza2lwIHRoZW0uCisKKyAgICAgICAgVGhlc2UgdGVzdHMg
d2lsbCBiZSB1c2VkIHRvIHRlc3QgdGhlIGxhdGVzdCBXZWJTb2NrZXQgcHJvdG9jb2wgaW1wbGVt
ZW50YXRpb24uIFRoZXkgYXJlIHNraXBwZWQKKyAgICAgICAgaW4gYWxsIHBvcnRzIGZvciBub3cs
IGFuZCB3aWxsIGJlIHVuc2tpcHBlZCB3aGVuIHRoZSBuZXcgcHJvdG9jb2wgaW1wbGVtZW50YXRp
b24gaXMgbGFuZGVkIGluIFdlYkNvcmUuCisKKyAgICAgICAgVGhlIGZvbGxvd2luZyBtb2RpZmlj
YXRpb25zIGFyZSBhcHBsaWVkIHRvIHRoZSBuZXcgdGVzdHM6CisgICAgICAgIC0gQ2hhbmdlIHBh
dGhzIGFuZCBVUkxzIGFwcGVhcmVkIGluIHRoZSB0ZXN0cyBhbmQgdGhlIHRlc3QgcmVzdWx0cyBz
byB0aGV5IGZpdCBmb3IgdGhlIG5ldyBsb2NhdGlvbi4KKyAgICAgICAgLSBDYWxsIGxheW91dFRl
c3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZXMoKSB0byBlbmFibGUgdGhlIG5ldyBwcm90
b2NvbCBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5YmkvYWxlcnQtaW4tZXZlbnQtaGFuZGxlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvYWxlcnQtaW4tZXZlbnQtaGFu
ZGxlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2JhZC1oYW5kc2hha2UtY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2JhZC1oYW5kc2hha2UtY3Jhc2guaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9iYWQtaGFu
ZHNoYWtlLWNyYXNoX3dzaC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9iYWQtc3ViLXByb3RvY29sLWNvbnRyb2wtY2hhcnMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2JhZC1z
dWItcHJvdG9jb2wtY29udHJvbC1jaGFycy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2JhZC1zdWItcHJvdG9jb2wtZW1wdHktZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Jh
ZC1zdWItcHJvdG9jb2wtZW1wdHkuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9iYWQtc3ViLXByb3RvY29sLW5vbi1hc2NpaS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvYmFk
LXN1Yi1wcm90b2NvbC1ub24tYXNjaWkuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9idWZmZXJlZEFtb3VudC1hZnRlci1jbG9zZS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
YnVmZmVyZWRBbW91bnQtYWZ0ZXItY2xvc2UuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbGllbnQtY2xvc2UtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2NsaWVudC1jbG9z
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L2NsaWVudC1jbG9zZV93c2gucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvY2xvc2UtYmVmb3JlLW9wZW4tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLWJlZm9yZS1vcGVu
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
Y2xvc2UtZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLWV2ZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Utb24tbmF2aWdhdGUtbmV3LWxvY2F0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9jbG9zZS1vbi1uYXZpZ2F0ZS1uZXctbG9jYXRpb24uaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1vbi11bmxvYWQt
YW5kLWZvcmNlLWdjLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1vbi11bmxvYWQtYW5kLWZvcmNlLWdjLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Utb24t
dW5sb2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9jbG9zZS1vbi11bmxvYWQtcmVmZXJlbmNlLWluLXBhcmVudC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
Y2xvc2Utb24tdW5sb2FkLXJlZmVyZW5jZS1pbi1wYXJlbnQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1vbi11bmxvYWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1v
bi11bmxvYWRfd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2Nsb3NlLXVucmVmLXdlYnNvY2tldC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2UtdW5yZWYtd2Vic29j
a2V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvY3Jvc3Mtb3JpZ2luLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jcm9zcy1vcmlnaW4uaHRtbDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvLWNoYWxsZW5nZV93c2gucHk6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNoby1j
b29raWVfd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL2VjaG8tbG9jYXRpb25fd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2VjaG9fd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Vycm9yLWRldGVjdC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZXJyb3ItZGV0
ZWN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvZml4ZWQtb3JpZ2luX3dzaC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5ndGgtbG9uZ2VyLXRoYW4tYnVmZmVyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9m
cmFtZS1sZW5ndGgtbG9uZ2VyLXRoYW4tYnVmZmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZnJhbWUtbGVuZ3RoLWxvbmdlci10aGFuLWJ1
ZmZlcl93c2gucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvZnJhbWUtbGVuZ3RoLW92ZXJmbG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5ndGgtb3ZlcmZsb3cu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9m
cmFtZS1sZW5ndGgtb3ZlcmZsb3dfd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxlbmd0aC1za2lwLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5n
dGgtc2tpcC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL2ZyYW1lLWxlbmd0aC1za2lwX3dzaC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5ndGhzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5n
dGhzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvaGFuZHNoYWtlLWNoYWxsZW5nZS1yYW5kb21uZXNzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtY2hhbGxl
bmdlLXJhbmRvbW5lc3MuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZXJyb3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1lcnJvci5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRz
aGFrZS1lcnJvcl93c2gucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktY3Jvc3Mtb3JpZ2luLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hh
a2UtZmFpbC1ieS1jcm9zcy1vcmlnaW4uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1tYXhsZW5ndGgtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L2hhbmRzaGFrZS1mYWlsLWJ5LW1heGxlbmd0aC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW1heGxlbmd0aF93
c2gucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
aGFuZHNoYWtlLWZhaWwtYnktbm8tY29ubmVjdGlvbi1oZWFkZXItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1m
YWlsLWJ5LW5vLWNvbm5lY3Rpb24taGVhZGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbm8tY29ubmVjdGlv
bi1oZWFkZXJfd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLWNyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1i
eS1uby1jci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLWNyX3dzaC5weTogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1uby11cGdy
YWRlLWhlYWRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbm8tdXBncmFkZS1oZWFkZXIuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5k
c2hha2UtZmFpbC1ieS1uby11cGdyYWRlLWhlYWRlcl93c2gucHk6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktcHJlcGVu
ZGVkLW51bGwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LXByZXBlbmRlZC1udWxsLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtl
LWZhaWwtYnktcHJlcGVuZGVkLW51bGxfd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LXN1Yi1wcm90b2NvbC1t
aXNtYXRjaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktc3ViLXByb3RvY29sLW1pc21hdGNoLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFu
Z2luZy1oYW5kc2hha2Vfd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL2h0dHBvbmx5LWNvb2tpZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaHR0cG9ubHktY29va2llLnBs
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2xvbmct
aW52YWxpZC1oZWFkZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2xvbmctaW52YWxpZC1oZWFkZXIuaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9sb25nLWludmFsaWQtaGVh
ZGVyX3dzaC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS9tdWx0aXBsZS1jb25uZWN0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvbXVsdGlwbGUtY29ubmVjdGlvbnMuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9uby1x
dWVyeV93c2gucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvbnVsbC1jaGFyYWN0ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL251bGwtY2hhcmFjdGVyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvb3JpZ2luLXRlc3Rfd3No
LnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3By
b3RvY29sLXRlc3Rfd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL3JlbG9hZC1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvcmVsb2FkLWNyYXNoLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvcmVzb3VyY2VzL2Ns
b3NlLW9uLXVubG9hZC1pZnJhbWUtcmVmZXJlbmNlLWluLXBhcmVudC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3Jlc291cmNlcy9jbG9zZS1v
bi11bmxvYWQtaWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvcmVzb3VyY2VzL3JlbG9hZC1jcmFzaC1pZnJhbWUuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWFmdGVyLWNs
b3NlLW9uLXVubG9hZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC1hZnRlci1jbG9zZS1vbi11bmxvYWQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9zZW5kLXRocm93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLXRocm93Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlbmQyX3dzaC5weTogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kX3dzaC5weTogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZXJ2ZXItY2xv
c2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL3NlcnZlci1jbG9zZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlcnZlci1jbG9zZV93c2gucHk6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxlLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zaW1wbGUt
c3RyZXNzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9zaW1wbGUtc3RyZXNzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxlLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxlX3dzaC5weTogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zdWItcHJvdG9jb2wtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL3N1Yi1wcm90b2NvbC13aXRoLXNwYWNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zdWItcHJvdG9jb2wtd2l0aC1zcGFj
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L3N1Yi1wcm90b2NvbC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL3VuaWNvZGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VuaWNvZGUuaHRtbDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91bmljb2RlX3dzaC5weTogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91bmtub3duLWZyYW1l
LXR5cGVfd3NoLnB5OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL3VybC1uby10cmFpbGluZy1zbGFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLW5vLXRyYWlsaW5nLXNsYXNo
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
dXJsLXBhcnNpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL3VybC1wYXJzaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLXdpdGgtY3JlZGVudGlhbC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
dXJsLXdpdGgtY3JlZGVudGlhbC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL3VybC13aXRoLWVtcHR5LXF1ZXJ5LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtd2l0aC1l
bXB0eS1xdWVyeS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL3VybC13aXRoLXF1ZXJ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtd2l0aC1xdWVyeS1mb3Itbm8tcXVl
cnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL3VybC13aXRoLXF1ZXJ5LWZvci1uby1xdWVyeS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC13aXRoLXF1ZXJ5Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vic29j
a2V0LWV2ZW50LXRhcmdldC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vic29ja2V0LWV2ZW50LXRhcmdldC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dlYnNvY2tldC1w
ZW5kaW5nLWFjdGl2aXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93ZWJzb2NrZXQtcGVuZGluZy1hY3Rpdml0eS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dlYnNvY2tl
dC1wcm90b2NvbC1pZ25vcmVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93ZWJzb2NrZXQtcHJvdG9jb2wtaWdub3JlZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtl
cnMvY2xvc2UtaW4tb25tZXNzYWdlLWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL2Nsb3NlLWluLW9ubWVz
c2FnZS1jcmFzaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL3dvcmtlcnMvY2xvc2UtaW4tc2hhcmVkLXdvcmtlci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9j
bG9zZS1pbi1zaGFyZWQtd29ya2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9jbG9zZS1pbi13b3JrZXItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtl
cnMvY2xvc2UtaW4td29ya2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9yZXNvdXJjZXMvY2xvc2UtaW4tb25tZXNzYWdlLWNy
YXNoLmpzOiBBZGRlZC4KKyAgICAgICAgKHJ1blRlc3RzLnRyeS53cy5vbm9wZW4pOgorICAgICAg
ICAocnVuVGVzdHMudHJ5LndzLm9ubWVzc2FnZSk6CisgICAgICAgIChydW5UZXN0cy50cnkud3Mu
b25jbG9zZSk6CisgICAgICAgIChydW5UZXN0cyk6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3Jlc291cmNlcy9jbG9zZS1pbi13b3JrZXIuanM6IEFk
ZGVkLgorICAgICAgICAoaGFuZGxlQ29ubmVjdC5zZWxmLnBvc3RNZXNzYWdlKToKKyAgICAgICAg
KGhhbmRsZUNvbm5lY3QpOgorICAgICAgICAocnVuVGVzdHMudHJ5LndzLm9ub3Blbik6CisgICAg
ICAgIChydW5UZXN0cy50cnkud3Mub25jbG9zZSk6CisgICAgICAgIChydW5UZXN0cyk6CisgICAg
ICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3Jlc291cmNlcy9l
Y2hvLWNoYWxsZW5nZV93c2gucHk6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9yZXNvdXJjZXMvZWNob193c2gucHk6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9yZXNvdXJjZXMv
c2ltcGxlX3dzaC5weTogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaHliaS93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItaGFuZHNoYWtlLWNoYWxsZW5nZS1yYW5k
b21uZXNzLmpzOiBBZGRlZC4KKyAgICAgICAgKGVuZFRlc3QpOgorICAgICAgICAocnVuVGVzdHMu
dHJ5LndzMS5vbm1lc3NhZ2UpOgorICAgICAgICAocnVuVGVzdHMudHJ5LndzMS5vbmNsb3NlLndz
Mi5vbm1lc3NhZ2UpOgorICAgICAgICAocnVuVGVzdHMudHJ5LndzMS5vbmNsb3NlLndzMi5vbmNs
b3NlKToKKyAgICAgICAgKHJ1blRlc3RzLnRyeS53czEub25jbG9zZSk6CisgICAgICAgIChydW5U
ZXN0cyk6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJz
L3Jlc291cmNlcy93b3JrZXItc2ltcGxlLmpzOiBBZGRlZC4KKyAgICAgICAgKGhhbmRsZUNvbm5l
Y3Quc2VsZi5wb3N0TWVzc2FnZSk6CisgICAgICAgIChoYW5kbGVDb25uZWN0KToKKyAgICAgICAg
KHJ1blRlc3RzLnRyeS53cy5vbm9wZW4pOgorICAgICAgICAocnVuVGVzdHMudHJ5LndzLm9ubWVz
c2FnZSk6CisgICAgICAgIChydW5UZXN0cy50cnkud3Mub25jbG9zZSk6CisgICAgICAgIChydW5U
ZXN0cyk6CisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJz
L3NoYXJlZC13b3JrZXItc2ltcGxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3NoYXJlZC13b3JrZXItc2ltcGxl
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
d29ya2Vycy93b3JrZXItaGFuZHNoYWtlLWNoYWxsZW5nZS1yYW5kb21uZXNzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3Jr
ZXJzL3dvcmtlci1oYW5kc2hha2UtY2hhbGxlbmdlLXJhbmRvbW5lc3MuaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3dvcmtlci1z
aW1wbGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL3dvcmtlcnMvd29ya2VyLXNpbXBsZS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6CisgICAg
ICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAgICAgQSBjYXRlZ29yeSAiZmFpbGluZyB3
ZWJzb2NrZXQgdGVzdHMiIGlzIGxpc3RlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIFNraXBwZWQgZmls
ZSwKKyAgICAgICAgYnV0IHRoZXJlIGlzIG5vIHN1Y2ggc2VjdGlvbiBpbiB0aGUgbGlzdHMuIFRo
dXMsIGEgbmV3IHNlY3Rpb24gaXMgaW5zZXJ0ZWQuCisgICAgICAgICogcGxhdGZvcm0vd2luL1Nr
aXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2syL1NraXBwZWQ6CisKIDIwMTEtMDctMTAgIEph
bWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1d
IFVwZGF0ZSB3aW4vbGludXggcGl4ZWwgZXhwZWN0YXRpb25zIGZvciByOTA3MDEgKHBhcnQgNy8/
PykuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2FsZXJ0LWluLWV2ZW50LWhhbmRsZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9hbGVydC1pbi1ldmVudC1oYW5kbGVyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41MTU3ZWMwYjlkOTAwZDU5NmFhZWNiNWIzZmJlNWZhN2EyOGUx
NGZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9hbGVydC1pbi1ldmVudC1oYW5kbGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE5IEBACitBTEVSVDogd2FpdGluZyBmb3Igb3BlbgorQUxFUlQ6IG1lc3NhZ2UgaGFuZGxlZC5m
aXJzdCBtZXNzYWdlCitBTEVSVDogbWVzc2FnZSBoYW5kbGVkLnNlY29uZCBtZXNzYWdlCitNYWtl
IHN1cmUgZXZlbnQgaGFuZGxlciBjYWxsZWQgc2VyaWFsbHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworYWxlcnQgd2lsbCBzdXNwZW5kL3Jlc3VtZSBXZWJTb2NrZXQuCitvbm9wZW4g
c2hvdWxkIGZpcmUgbGF0ZXIuCitDb25uZWN0ZWQKK0VudGVyIG9ubWVzc2FnZTogZmlyc3QgbWVz
c2FnZQorTGVhdmUgb25tZXNzYWdlOiBmaXJzdCBtZXNzYWdlCitFbnRlciBvbm1lc3NhZ2U6IHNl
Y29uZCBtZXNzYWdlCitMZWF2ZSBvbm1lc3NhZ2U6IHNlY29uZCBtZXNzYWdlCitDbG9zZWQKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2FsZXJ0LWlu
LWV2ZW50LWhhbmRsZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5YmkvYWxlcnQtaW4tZXZlbnQtaGFuZGxlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0ZjhlZGUz
OGJjMzI0ZDg4ZmU3ZTYyYjVjYzIwZmZmODFiNDQ1NzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2FsZXJ0LWluLWV2ZW50LWhh
bmRsZXIuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij4KK2Rlc2NyaXB0aW9uKCJNYWtlIHN1cmUgZXZlbnQgaGFuZGxlciBjYWxsZWQgc2VyaWFs
bHkuIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJl
bmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK3ZhciB3
cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5
Ymkvc2VuZDIiKTsKKword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJDb25u
ZWN0ZWQiKTsKK307CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2VFdmVudCkKK3sK
KyAgICBkZWJ1ZygiRW50ZXIgb25tZXNzYWdlOiAiICsgbWVzc2FnZUV2ZW50LmRhdGEpOworICAg
IC8vIGFsZXJ0KCkgd2lsbCBzdXNwZW5kL3Jlc3VtZSBXZWJTb2NrZXQuCisgICAgYWxlcnQoIm1l
c3NhZ2UgaGFuZGxlZC4iICsgbWVzc2FnZUV2ZW50LmRhdGEpOworICAgIGRlYnVnKCJMZWF2ZSBv
bm1lc3NhZ2U6ICIgKyBtZXNzYWdlRXZlbnQuZGF0YSk7Cit9OworCit3cy5vbmNsb3NlID0gZnVu
Y3Rpb24oKQoreworICAgIGRlYnVnKCJDbG9zZWQiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307
CisKK2RlYnVnKCJhbGVydCB3aWxsIHN1c3BlbmQvcmVzdW1lIFdlYlNvY2tldC4iKTsKK2FsZXJ0
KCJ3YWl0aW5nIGZvciBvcGVuIik7CitkZWJ1Zygib25vcGVuIHNob3VsZCBmaXJlIGxhdGVyLiIp
OwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9iYWQtaGFuZHNoYWtlLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvYmFkLWhhbmRzaGFrZS1j
cmFzaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTVmMjBmNGM5NDA5OGY0Y2FhMTUxZGIwMjg4
MzliYTNmYTY5ZTEyYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvYmFkLWhhbmRzaGFrZS1jcmFzaC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IEludmFsaWQgVVRGLTggc2Vx
dWVuY2UgaW4gaGVhZGVyIG5hbWUKK01ha2Ugc3VyZSBXZWJTb2NrZXQgZG9lc24ndCBjcmFzaCB3
aXRoIGJhZCBoYW5kc2hha2UgbWVzc2FnZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitXZWJTb2NrZXQgaXMgY2xvc2VkCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS9iYWQtaGFuZHNoYWtlLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2JhZC1oYW5kc2hha2UtY3Jhc2guaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wNDAzNjdmNjc3Mzc4NjlhNTU0Njk2NmMzNDM3NWFmYTA0MmUxNWQ3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9iYWQtaGFuZHNoYWtlLWNyYXNoLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0i
ZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiTWFrZSBzdXJlIFdlYlNvY2tldCBk
b2Vzbid0IGNyYXNoIHdpdGggYmFkIGhhbmRzaGFrZSBtZXNzYWdlLiIpOworCit3aW5kb3cuanNU
ZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAg
IGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3Nldl
YlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3
czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2JhZC1oYW5kc2hha2UtY3Jh
c2giKTsKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uICgpIHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0IGlz
IG9wZW4iKTsKK307Cit3cy5vbmNsb3NlID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJT
b2NrZXQgaXMgY2xvc2VkIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCit2YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4u
L2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL2JhZC1oYW5kc2hha2UtY3Jhc2hfd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9iYWQtaGFuZHNoYWtlLWNyYXNoX3dzaC5weQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YjQyNWJjNzE2NmY1M2RmYzI2NjljZGVmOTAzMzUxMjA3YTQ0ZDQwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9iYWQt
aGFuZHNoYWtlLWNyYXNoX3dzaC5weQpAQCAtMCwwICsxLDE2IEBACitkZWYgd2ViX3NvY2tldF9k
b19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgbXNnID0gIkhUVFAvMS4xIDEwMSBXZWJT
b2NrZXQgUHJvdG9jb2wgSGFuZHNoYWtlXHJcbiIKKyAgICBtc2cgKz0gIlVwZ3JhZGU6IFdlYlNv
Y2tldFxyXG4iCisgICAgbXNnICs9ICJDb25uZWN0aW9uOiBVcGdyYWRlXHJcbiIKKyAgICBtc2cg
Kz0gIlNlYy1XZWJTb2NrZXQtTG9jYXRpb246ICIgKyByZXF1ZXN0LndzX2xvY2F0aW9uICsgIlxy
XG4iCisgICAgbXNnICs9ICJTZWMtV2ViU29ja2V0LU9yaWdpbjogIiArIHJlcXVlc3Qud3Nfb3Jp
Z2luICsgIlxyXG4iCisgICAgbXNnICs9ICJceGE1OlxyXG4iCisgICAgbXNnICs9ICJcclxuIgor
ICAgIG1zZyArPSByZXF1ZXN0LndzX2NoYWxsZW5nZV9tZDUKKyAgICByZXF1ZXN0LmNvbm5lY3Rp
b24ud3JpdGUobXNnKQorICAgIHByaW50IG1zZworICAgIHJhaXNlIEV4Y2VwdGlvbigiQWJvcnQg
dGhlIGNvbm5lY3Rpb24iKSAjIFByZXZlbnRzIHB5d2Vic29ja2V0IGZyb20gc2VuZGluZyBpdHMg
b3duIGhhbmRzaGFrZSBtZXNzYWdlLgorCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEo
cmVxdWVzdCk6CisgICAgcGFzcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9iYWQtc3ViLXByb3RvY29sLWNvbnRyb2wtY2hhcnMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9iYWQt
c3ViLXByb3RvY29sLWNvbnRyb2wtY2hhcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNTI4
MGM5ZjM2OWZkMDU5ZDRmYzdkYjIxM2FkNWMyZmU5NzY5N2UKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2JhZC1zdWItcHJvdG9j
b2wtY29udHJvbC1jaGFycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDA6IFdyb25nIHByb3RvY29sIGZvciBXZWJTb2NrZXQgJ1x1MDAwMCcKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAwOiBXcm9uZyBwcm90b2NvbCBmb3IgV2ViU29ja2V0ICdcdTAw
MDknCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMDogV3JvbmcgcHJvdG9jb2wgZm9yIFdlYlNvY2tl
dCAnXHUwMDFCJworVGVzdCBXZWJTb2NrZXQgYmFkIHN1Yi1wcm90b2NvbCBuYW1lcyBieSBjb250
cm9sIGNoYXJhY3RlcnMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBuZXcg
V2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICJcMCIpIHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1MgbmV3IFdlYlNv
Y2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAiCSIpIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1MgbmV3IFdlYlNvY2tldCgi
d3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAiCisiKSB0aHJldyBleGNlcHRpb24gU3ludGF4
RXJyb3I6IFVuZXhwZWN0ZWQgRU9GLgorUEFTUyBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAu
MTo4ODgwL3NpbXBsZSIsICIKKyIpIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCBFT0YuCitQQVNTIG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvc2ltcGxl
IiwgIhsiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNlcHRpb24g
MTIuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9i
YWQtc3ViLXByb3RvY29sLWNvbnRyb2wtY2hhcnMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvYmFkLXN1Yi1wcm90b2NvbC1jb250cm9sLWNoYXJzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzllM2VjNDc0OWFkZWViNWQ5ZWM3YjExZTUzYmJkMjBmOTU2YWJkYwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvYmFkLXN1Yi1wcm90b2NvbC1jb250cm9sLWNoYXJzLmh0bWwKQEAgLTAsMCArMSwyNyBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vanMtdGVz
dC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4u
L2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiVGVzdCBX
ZWJTb2NrZXQgYmFkIHN1Yi1wcm90b2NvbCBuYW1lcyBieSBjb250cm9sIGNoYXJhY3RlcnMuIik7
CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xF
bmFibGVkIiwgMCk7CisKKy8vIEZhaWxzIGlmIHByb3RvY29sIGNvbnRhaW5zIGFuIGNoYXJhY3Rl
ciBsZXNzIHRoYW4gVSswMDIwLgorc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndzOi8vMTI3
LjAuMC4xOjg4ODAvc2ltcGxlIiwgIlx1MDAwMCIpJyk7CitzaG91bGRUaHJvdygnbmV3IFdlYlNv
Y2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAiXHUwMDA5IiknKTsKK3Nob3VsZFRo
cm93KCduZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICJcdTAwMEEi
KScpOworc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvc2lt
cGxlIiwgIlx1MDAwRCIpJyk7CitzaG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcu
MC4wLjE6ODg4MC9zaW1wbGUiLCAiXHUwMDFCIiknKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9iYWQt
c3ViLXByb3RvY29sLWVtcHR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvYmFkLXN1Yi1wcm90b2NvbC1lbXB0eS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uY2E2OTdlZGExZGUyYjU1OGJjMzcxNjMxYzIzOTVkZjU0MDhlNDZhMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvYmFkLXN1Yi1wcm90b2NvbC1lbXB0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IFdyb25nIHByb3RvY29sIGZvciBXZWJTb2NrZXQgJycK
K1Rlc3QgV2ViU29ja2V0IGJhZCBzdWItcHJvdG9jb2wgbmFtZXMgKGVtcHR5KS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4x
Ojg4ODAvc2ltcGxlIiwgIiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9N
IEV4Y2VwdGlvbiAxMi4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2JhZC1zdWItcHJvdG9jb2wtZW1wdHkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvYmFkLXN1Yi1wcm90b2NvbC1lbXB0eS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjUyMWQxMDc5NDA4Nzg5Y2NhNjdlNmRlZWQ1YzM1MDNiODNiNDVmNzcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L2JhZC1zdWItcHJvdG9jb2wtZW1wdHkuaHRtbApAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlk
PSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJUZXN0IFdlYlNvY2tldCBiYWQg
c3ViLXByb3RvY29sIG5hbWVzIChlbXB0eSkuIik7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJX
ZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKKy8vIEZhaWxzIGlm
IHByb3RvY29sIGlzIGFuIGVtcHR5IHN0cmluZy4KK3Nob3VsZFRocm93KCduZXcgV2ViU29ja2V0
KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICIiKScpOworCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L2JhZC1zdWItcHJvdG9jb2wtbm9uLWFzY2lpLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvYmFkLXN1Yi1wcm90b2NvbC1ub24tYXNjaWkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmYzcwZjFjZWIzMjUxN2FmYTk5MDQzZTljNTJkYThh
YWY4NjQ5MjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL2JhZC1zdWItcHJvdG9jb2wtbm9uLWFzY2lpLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDIyIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMDogV3JvbmcgcHJvdG9jb2wg
Zm9yIFdlYlNvY2tldCAnXHUwMDdGJworQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IFdyb25nIHBy
b3RvY29sIGZvciBXZWJTb2NrZXQgJ1x1MDA4MCcKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAwOiBX
cm9uZyBwcm90b2NvbCBmb3IgV2ViU29ja2V0ICdcdTMwNDInCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMDogV3JvbmcgcHJvdG9jb2wgZm9yIFdlYlNvY2tldCAnXHVGRkZGJworQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDA6IFdyb25nIHByb3RvY29sIGZvciBXZWJTb2NrZXQgJ1x1RkVGRicKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSAwOiBXcm9uZyBwcm90b2NvbCBmb3IgV2ViU29ja2V0ICdcdUZGRkUn
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMDogV3JvbmcgcHJvdG9jb2wgZm9yIFdlYlNvY2tldCAn
XHVEODQwXHVEQzBCJworVGVzdCBXZWJTb2NrZXQgYmFkIHN1Yi1wcm90b2NvbCBuYW1lcyBieSBu
b24tQVNDSUkgY2hhcnMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBuZXcg
V2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICJ/IikgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBuZXcgV2ViU29j
a2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICLCgCIpIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1MgbmV3IFdlYlNvY2tldCgi
d3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAi44GCIikgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBTWU5UQVhfRVJSOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBuZXcgV2ViU29ja2V0KCJ3czov
LzEyNy4wLjAuMTo4ODgwL3NpbXBsZSIsICLvv78iKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFNZ
TlRBWF9FUlI6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3
LjAuMC4xOjg4ODAvc2ltcGxlIiwgIu+7vyIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFY
X0VSUjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1MgbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4w
LjE6ODg4MC9zaW1wbGUiLCAi77++IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJS
OiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4
ODgwL3NpbXBsZSIsICLwoICLIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBE
T00gRXhjZXB0aW9uIDEyLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvYmFkLXN1Yi1wcm90b2NvbC1ub24tYXNjaWkuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvYmFkLXN1Yi1wcm90b2NvbC1ub24tYXNj
aWkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yZjY2NTA5YTY2MjE2NmE0MjI1OWRiMmY5Y2NkMmY0YWRkMGI1
OGE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9iYWQtc3ViLXByb3RvY29sLW5vbi1hc2NpaS5odG1sCkBAIC0wLDAgKzEsMzAg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8u
Li9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIlRlc3Qg
V2ViU29ja2V0IGJhZCBzdWItcHJvdG9jb2wgbmFtZXMgYnkgbm9uLUFTQ0lJIGNoYXJzLiIpOwor
CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9s
bGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5h
YmxlZCIsIDApOworCisvLyBGYWlscyBpZiBwcm90b2NvbCBjb250YWlucyBhbiBjaGFyYWN0ZXIg
Z3JlYXRlciB0aGFuIFUrMDA3RS4KK3Nob3VsZFRocm93KCduZXcgV2ViU29ja2V0KCJ3czovLzEy
Ny4wLjAuMTo4ODgwL3NpbXBsZSIsICJcdTAwN0YiKScpOworc2hvdWxkVGhyb3coJ25ldyBXZWJT
b2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvc2ltcGxlIiwgIlx1MDA4MCIpJyk7CitzaG91bGRU
aHJvdygnbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAiXHUzMDQy
IiknKTsKK3Nob3VsZFRocm93KCduZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3Np
bXBsZSIsICJcdUZGRkYiKScpOworc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndzOi8vMTI3
LjAuMC4xOjg4ODAvc2ltcGxlIiwgIlx1RkVGRiIpJyk7CitzaG91bGRUaHJvdygnbmV3IFdlYlNv
Y2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC9zaW1wbGUiLCAiXHVGRkZFIiknKTsKKy8vIFN1cnJv
Z2F0ZSBwYWlycworc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4
ODAvc2ltcGxlIiwgIlx1RDg0MFx1REMwQiIpJyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvYnVmZmVy
ZWRBbW91bnQtYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9idWZmZXJlZEFtb3VudC1hZnRlci1jbG9zZS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOTFiNGVjNzViYWMyMzQ1YzczOTJlOTE3MzhjNDMyOTJlMmY2NWFk
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5YmkvYnVmZmVyZWRBbW91bnQtYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTQgQEAKK1dlYiBTb2NrZXQgYnVmZmVyZWRBbW91bnQgYWZ0ZXIgY2xvc2VkCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworQ29ubmVjdGVkLgorQ2xvc2VkLgorUEFTUyB3cy5yZWFk
eVN0YXRlIGlzIDMKK1BBU1Mgd3MuYnVmZmVyZWRBbW91bnQgaXMgMAorUEFTUyB3cy5zZW5kKCdz
ZW5kIHRvIGNsb3NlZCBzb2NrZXQnKSBpcyBmYWxzZQorUEFTUyB3cy5idWZmZXJlZEFtb3VudCBp
cyAyMworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
YnVmZmVyZWRBbW91bnQtYWZ0ZXItY2xvc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvYnVmZmVyZWRBbW91bnQtYWZ0ZXItY2xvc2UuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wZDY4MTMxYzFiODJjOGFhMzdjNjhkMjlhMzQ5ZjViNzVlZjQ5ZTA3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9i
dWZmZXJlZEFtb3VudC1hZnRlci1jbG9zZS5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYg
aWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIldlYiBTb2NrZXQgYnVmZmVy
ZWRBbW91bnQgYWZ0ZXIgY2xvc2VkIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
K2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFi
bGVkIiwgMCk7CisKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vbG9jYWxob3N0Ojg4ODAv
d2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxlIik7CisKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uKCkK
K3sKKyAgICBkZWJ1ZygiQ29ubmVjdGVkLiIpOworICAgIHdzLmNsb3NlKCk7Cit9OworCit3cy5v
bmNsb3NlID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJDbG9zZWQuIik7CisgICAgc2hvdWxk
QmUoIndzLnJlYWR5U3RhdGUiLCAiMyIpOworICAgIHNob3VsZEJlKCJ3cy5idWZmZXJlZEFtb3Vu
dCIsICIwIik7CisgICAgc2hvdWxkQmVGYWxzZSgid3Muc2VuZCgnc2VuZCB0byBjbG9zZWQgc29j
a2V0JykiKTsKKyAgICAvLyBJZiB0aGUgY29ubmVjdGlvbiBpcyBjbG9zZWQsIGJ1ZmZlcmVkQW1v
dW50IGF0dHJpYnV0ZSdzIHZhbHVlIHdpbGwgb25seQorICAgIC8vIGluY3JlYXNlIHdpdGggZWFj
aCBjYWxsIHRvIHRoZSBzZW5kKCkgbWV0aG9kLgorICAgIC8vICh0aGUgbnVtYmVyIGRvZXMgbm90
IHJlc2V0IHRvIHplcm8gb25jZSB0aGUgY29ubmVjdGlvbiBjbG9zZXMpLgorICAgIHNob3VsZEJl
KCJ3cy5idWZmZXJlZEFtb3VudCIsICIyMyIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKwor
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS9jbGllbnQtY2xvc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbGllbnQtY2xvc2UtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjI2NjhmZDk0MjMyNDkxZjdhZmU4ZDU3ZDExMTUyMDNlZjRlNTkwOTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2NsaWVudC1jbG9zZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorV2ViU29ja2V0
OiBUZXN0IGNsaWVudC1pbml0aWF0ZWQgY2xvc2UuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworQ29ubmVjdGVkCitSZWNlaXZlZDogY2xvc2VfZnJhbWU9J1x4ZmZceDAwJworQ2xvc2Vk
CitQQVNTIHJlY2VpdmVkTWVzc2FnZSBpcyAiY2xvc2VfZnJhbWU9J1xceGZmXFx4MDAnIgorUEFT
UyBjbG9zZUV2ZW50Lndhc0NsZWFuIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2NsaWVudC1jbG9zZS5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbGllbnQtY2xvc2UuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iZGE1MTQzMzI4ZjIzYTZmMDdjNWEyMDZjNjAxNGM5MzMwNzA5NjcxCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbGll
bnQtY2xvc2UuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJXZWJTb2NrZXQ6IFRlc3QgY2xpZW50LWluaXRpYXRlZCBj
bG9zZS4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZl
cmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwordmFy
IHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMv
aHliaS9jbGllbnQtY2xvc2UiKTsKK3ZhciBjbG9zZUV2ZW50OwordmFyIHJlY2VpdmVkTWVzc2Fn
ZTsKKword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJDb25uZWN0ZWQiKTsK
KyAgICB3cy5jbG9zZSgpOworfTsKKword3Mub25tZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZUV2
ZW50KQoreworICAgIGRlYnVnKCJSZWNlaXZlZDogIiArIG1lc3NhZ2VFdmVudC5kYXRhKTsKKyAg
ICByZWNlaXZlZE1lc3NhZ2UgPSBtZXNzYWdlRXZlbnQuZGF0YTsKK307CisKK3dzLm9uY2xvc2Ug
PSBmdW5jdGlvbihldmVudCkKK3sKKyAgICBkZWJ1ZygiQ2xvc2VkIik7CisgICAgY2xvc2VFdmVu
dCA9IGV2ZW50OworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicmVjZWl2ZWRNZXNzYWdlIiwg
ImNsb3NlX2ZyYW1lPSdcXHhmZlxceDAwJyIpOworICAgIHNob3VsZEJlVHJ1ZSgiY2xvc2VFdmVu
dC53YXNDbGVhbiIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKwordmFyIHN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10
ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9jbGllbnQtY2xvc2Vfd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9jbGllbnQtY2xvc2Vfd3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlZDI4YmZmZmYwMjQ5
ZjRhMGQ3YmJjYzNmYjgzMmFiODc5YzA4MjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2NsaWVudC1jbG9zZV93c2gucHkKQEAg
LTAsMCArMSwyMyBAQAorZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IG1zZ3V0aWwKKworCitk
ZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgcGFzcworCisK
K2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgIyBXYWl0IGZvciBh
IGNsb3NlIGZyYW1lIHNlbnQgZnJvbSB0aGUgY2xpZW50LgorICAgIGNsb3NlX2ZyYW1lID0gcmVx
dWVzdC53c19zdHJlYW0ucmVjZWl2ZV9ieXRlcygyKQorCisgICAgIyBUZWxsIHRoZSBjbGllbnQg
d2hhdCB3ZSBoYXZlIHJlY2VpdmVkLgorICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3Qs
ICdjbG9zZV9mcmFtZT0lcicgJSBjbG9zZV9mcmFtZSkKKworICAgICMgSWYgdGhlIGZvbGxvd2lu
ZyBhc3NlcnRpb24gZmFpbHMsIEFzc2VydGlvbkVycm9yIHdpbGwgYmUgcmFpc2VkLAorICAgICMg
d2hpY2ggd2lsbCBwcmV2ZW50IHB5d2Vic29ja2V0IGZyb20gc2VuZGluZyBhIGNsb3NlIGZyYW1l
LgorICAgICMgSW4gdGhpcyBjYXNlLCB0aGUgY2xpZW50IHdpbGwgZmFpbCB0byBmaW5pc2ggY2xv
c2luZyBoYW5kc2hha2UsIHRodXMKKyAgICAjIGNsb3NlRXZlbnQud2FzQ2xlYW4gd2lsbCBiZWNv
bWUgZmFsc2UuCisgICAgYXNzZXJ0IGNsb3NlX2ZyYW1lID09ICdceGZmXHgwMCcKKworICAgICMg
UHJldGVuZCB3ZSBoYXZlIHJlY2VpdmVkIGEgY2xvc2UgZnJhbWUgZnJvbSB0aGUgY2xpZW50Lgor
ICAgICMgQWZ0ZXIgdGhpcyBmdW5jdGlvbiBleGl0cywgcHl3ZWJzb2NrZXQgd2lsbCBzZW5kIGEg
Y2xvc2UgZnJhbWUgYXV0b21hdGljYWxseS4KKyAgICByZXF1ZXN0LmNsaWVudF90ZXJtaW5hdGVk
ID0gVHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaHliaS9jbG9zZS1iZWZvcmUtb3Blbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLWJlZm9yZS1vcGVuLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41N2E1NDJhNGRmZjY1MjM5MTJlZDQ0NjIzMmM3NzNjNjhjYzdiZDIxCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS9jbG9zZS1iZWZvcmUtb3Blbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDA6IFdlYlNvY2tldCBpcyBjbG9zZWQgYmVmb3JlIHRoZSBjb25u
ZWN0aW9uIGlzIGVzdGFibGlzaGVkLgorVGVzdCBpZiBXZWIgU29ja2V0IGZpcmVzIGNsb3NlIGV2
ZW50IHdoZW4gV2ViU29ja2V0IGlzIG9wZW5lZCBhbmQgY2xvc2VkIGZvcmUgb3BlbiBldmVudCBp
cyByZWNlaXZlZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitjbG9zZWQKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLWJlZm9y
ZS1vcGVuLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L2Nsb3NlLWJlZm9yZS1vcGVuLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmIzYjFkMzI0MTg3ZjQ4NmMzYTQz
NWJmYTZmMzAyYjZjNThkNmM1NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2UtYmVmb3JlLW9wZW4uaHRtbApAQCAtMCww
ICsxLDI3IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8u
Li9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9u
KCJUZXN0IGlmIFdlYiBTb2NrZXQgZmlyZXMgY2xvc2UgZXZlbnQgd2hlbiBXZWJTb2NrZXQgaXMg
b3BlbmVkIGFuZCBjbG9zZWQgZm9yZSBvcGVuIGV2ZW50IGlzIHJlY2VpdmVkLiIpOworCit3aW5k
b3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4
aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCit2YXIgd3MgPSBuZXcgV2ViU29j
a2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmdpbmctaGFu
ZHNoYWtlIik7Cit3cy5vbmNsb3NlID0gZnVuY3Rpb24oKSB7CisgICAgZGVidWcoImNsb3NlZCIp
OworICAgIGZpbmlzaEpTVGVzdCgpOworfTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
Oword3MuY2xvc2UoKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L2Nsb3NlLWV2ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvY2xvc2UtZXZlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2MDVj
YzlkOTJkODU2MzZkMTI1Mjc4ZDljOTBmMDM1Mjk5N2ZkOTkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLWV2ZW50LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitNYWtlIHN1cmUgV2ViU29ja2V0IGZpcmVzIENs
b3NlRXZlbnQgd2hlbiBjbG9zZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworV2Vi
U29ja2V0IGlzIG9wZW4KK1JlY2VpdmVkOiAnSGVsbG8gZnJvbSBTaW1wbGUgV1NILicKK0Nsb3Nl
ZAorUEFTUyBjbG9zZUV2ZW50VHlwZSBpcyAiY2xvc2UiCitQQVNTICd3YXNDbGVhbicgaW4gY2xv
c2VFdmVudCBpcyB0cnVlCitQQVNTIGNsb3NlRXZlbnQud2FzQ2xlYW4gaXMgdHJ1ZQorUEFTUyBP
YmplY3QuZ2V0UHJvdG90eXBlT2YoY2xvc2VFdmVudCkgPT09IENsb3NlRXZlbnQucHJvdG90eXBl
IGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldFByb3RvdHlwZU9mKGNsb3NlRXZlbnQpICE9PSBFdmVu
dC5wcm90b3R5cGUgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvY2xvc2UtZXZlbnQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2UtZXZlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Y2VmZWE1
ZTU5YzgzNWZmMWQxNGEzODg4OTUzNWE1Y2Q1ZWE4M2Q0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1ldmVudC5odG1s
CkBAIC0wLDAgKzEsNDggQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVz
Y3JpcHRpb24oIk1ha2Ugc3VyZSBXZWJTb2NrZXQgZmlyZXMgQ2xvc2VFdmVudCB3aGVuIGNsb3Nl
ZC4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVu
Y2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwordmFyIHdz
ID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHli
aS9zaW1wbGUiKTsKKword3Mub25vcGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJXZWJT
b2NrZXQgaXMgb3BlbiIpOworfTsKKword3Mub25tZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZUV2
ZW50KQoreworICAgIGRlYnVnKCJSZWNlaXZlZDogJyIgKyBtZXNzYWdlRXZlbnQuZGF0YSArICIn
Iik7Cit9OworCit2YXIgY2xvc2VFdmVudDsKK3ZhciBjbG9zZUV2ZW50VHlwZTsKK3dzLm9uY2xv
c2UgPSBmdW5jdGlvbihldmVudCkKK3sKKyAgICBkZWJ1ZygiQ2xvc2VkIik7CisgICAgY2xvc2VF
dmVudCA9IGV2ZW50OworICAgIGNsb3NlRXZlbnRUeXBlID0gY2xvc2VFdmVudC50eXBlOworICAg
IHNob3VsZEJlKCJjbG9zZUV2ZW50VHlwZSIsICciY2xvc2UiJykKKyAgICBzaG91bGRCZVRydWUo
Iid3YXNDbGVhbicgaW4gY2xvc2VFdmVudCIpOworICAgIHNob3VsZEJlVHJ1ZSgiY2xvc2VFdmVu
dC53YXNDbGVhbiIpOworICAgIHNob3VsZEJlVHJ1ZSgiT2JqZWN0LmdldFByb3RvdHlwZU9mKGNs
b3NlRXZlbnQpID09PSBDbG9zZUV2ZW50LnByb3RvdHlwZSIpOworICAgIHNob3VsZEJlVHJ1ZSgi
T2JqZWN0LmdldFByb3RvdHlwZU9mKGNsb3NlRXZlbnQpICE9PSBFdmVudC5wcm90b3R5cGUiKTsK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Utb24tbmF2
aWdhdGUtbmV3LWxvY2F0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Utb24tbmF2aWdhdGUtbmV3LWxvY2F0aW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xNzY0MjdlZGVjNjc2NTgzYjA3MDQxMjQzNzRjMmFhNTQ4NjI0
NTBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9jbG9zZS1vbi1uYXZpZ2F0ZS1uZXctbG9jYXRpb24tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTIgQEAKK1Rlc3QgaWYgV2ViIFNvY2tldCBpcyBjbG9zZWQgd2hlbiBuYXZpZ2F0
aW5nIHRvIG5ldyBsb2NhdGlvbi4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNT
IHdzIG9uIG1hc3RlciBkb2N1bWVudCBpcyByZWFkeS4KK1BBU1MgaW5zZXJ0IGEgaWZyYW1lLCB3
aGVyZSBvcGVuIHdzIGNhbGxlZCAnc29ja2V0MScKK1BBU1MgJ3NvY2tldDEnIGlzIHNlbnQgdG8g
dGhlIHNlcnZlci4gbmF2aWdhdGUgdG8gbmV3IGxvY2F0aW9uLiBleHBlY3QgcmVjZWl2aW5nICdz
b2NrZXQxJyBvbiB3cy4uLgorUEFTUyBjbG9zZWRTb2NrZXQgaXMgInNvY2tldDEiCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1vbi1uYXZp
Z2F0ZS1uZXctbG9jYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvY2xvc2Utb24tbmF2aWdhdGUtbmV3LWxvY2F0aW9uLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uM2JmY2RlNzAyZjk5ZTA2MDJlMmIyNmZkYmEzNzM2NTliZmRiNzhmNQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Ut
b24tbmF2aWdhdGUtbmV3LWxvY2F0aW9uLmh0bWwKQEAgLTAsMCArMSw1MCBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiVGVzdCBpZiBXZWIgU29ja2V0
IGlzIGNsb3NlZCB3aGVuIG5hdmlnYXRpbmcgdG8gbmV3IGxvY2F0aW9uLiIpOworCit3aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3
NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCit2YXIgZnJhbWVEaXY7Cit2YXIgY2xv
c2VkU29ja2V0OworCit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgw
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLW9uLXVubG9hZCIpOword3Mub25vcGVuID0gZnVu
Y3Rpb24oKQoreworICAgIGRlYnVnKCJQQVNTIHdzIG9uIG1hc3RlciBkb2N1bWVudCBpcyByZWFk
eS4iKTsKKyAgICBmcmFtZURpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwor
ICAgIGZyYW1lRGl2LnNyYyA9ICJyZXNvdXJjZXMvY2xvc2Utb24tdW5sb2FkLWlmcmFtZS5odG1s
IjsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZyYW1lRGl2KTsKKyAgICBkZWJ1Zygi
UEFTUyBpbnNlcnQgYSBpZnJhbWUsIHdoZXJlIG9wZW4gd3MgY2FsbGVkICdzb2NrZXQxJyIpOwor
fTsKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2dCkKK3sKKyAgICBjbG9zZWRTb2NrZXQgPSBl
dnQuZGF0YTsKKyAgICB3cy5jbG9zZSgpOworfTsKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbigpCit7
CisgICAgc2hvdWxkQmUoImNsb3NlZFNvY2tldCIsICcic29ja2V0MSInKTsKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK307CisKK2RvY3VtZW50LmlmcmFtZVJlYWR5ID0gZnVuY3Rpb24oKQoreworICAg
IGRlYnVnKCJQQVNTICdzb2NrZXQxJyBpcyBzZW50IHRvIHRoZSBzZXJ2ZXIuIG5hdmlnYXRlIHRv
IG5ldyBsb2NhdGlvbi4gZXhwZWN0IHJlY2VpdmluZyAnc29ja2V0MScgb24gd3MuLi4iKTsKKyAg
ICBmcmFtZURpdi5zcmMgPSAiaGFuZGxlcl9tYXAudHh0IjsKK307CisKK3ZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMt
dGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvY2xvc2Utb24tdW5sb2FkLWFuZC1mb3JjZS1nYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLW9uLXVubG9hZC1hbmQtZm9y
Y2UtZ2MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhMzQ3YTQyYzBkNjRjYzBhNmRjZTA5OGE5
YzAwNGVlNWZiM2Y1NDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLW9uLXVubG9hZC1hbmQtZm9yY2UtZ2MtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3QgaWYgV2ViIFNvY2tldCBpcyBjbG9zZWQgb24g
dW5sb2FkIGFuZCBub3QgY3Jhc2hlZCBpZiBnYXJiYWdlIGNvbGxlY3RlZAorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1Mgd3Mgb24gbWFzdGVyIGRvY3VtZW50IGlzIHJlYWR5Lgor
UEFTUyBpbnNlcnQgYSBpZnJhbWUsIHdoZXJlIG9wZW4gd3MgY2FsbGVkICdzb2NrZXQxJworUEFT
UyAnc29ja2V0MScgaXMgc2VudCB0byB0aGUgc2VydmVyLiB1bmxvYWQgdGhlIGlmcmFtZSBhbmQg
Zm9yY2UgZ2FyYmFnZSBjb2xsZWN0aW9uLiBleHBlY3QgcmVjZWl2aW5nICdzb2NrZXQxJyBvbiB3
cyBhbmQgbm8gY3Jhc2guLi4KK1BBU1MgY2xvc2VkU29ja2V0IGlzICJzb2NrZXQxIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Utb24tdW5s
b2FkLWFuZC1mb3JjZS1nYy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9jbG9zZS1vbi11bmxvYWQtYW5kLWZvcmNlLWdjLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDUzMTdhYzFiYzgwNzJkYmIyNzZiNTE1MmU0MTE5N2I3MGQ4Nzk2NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Utb24t
dW5sb2FkLWFuZC1mb3JjZS1nYy5odG1sCkBAIC0wLDAgKzEsNjEgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRl
c2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIlRlc3QgaWYgV2ViIFNvY2tldCBpcyBj
bG9zZWQgb24gdW5sb2FkIGFuZCBub3QgY3Jhc2hlZCBpZiBnYXJiYWdlIGNvbGxlY3RlZCIpOwor
Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2Vi
S2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCitmdW5jdGlvbiBnYygp
Cit7CisgICAgaWYgKHdpbmRvdy5HQ0NvbnRyb2xsZXIpCisgICAgICAgIHJldHVybiBHQ0NvbnRy
b2xsZXIuY29sbGVjdCgpOworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgaSsrKSB7
IC8vID4gZm9yY2UgZ2FyYmFnZSBjb2xsZWN0aW9uIChGRiByZXF1aXJlcyBhYm91dCA5SyBhbGxv
Y2F0aW9ucyBiZWZvcmUgYSBjb2xsZWN0KQorICAgICAgICB2YXIgcyA9IG5ldyBTdHJpbmcoImFi
YyIpOworICAgIH0KK307CisKK3ZhciBmcmFtZURpdjsKK3ZhciBjbG9zZWRTb2NrZXQ7CisKK3Zh
ciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvY2xvc2Utb24tdW5sb2FkIik7Cit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAg
ZGVidWcoIlBBU1Mgd3Mgb24gbWFzdGVyIGRvY3VtZW50IGlzIHJlYWR5LiIpOworICAgIGZyYW1l
RGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CisgICAgZnJhbWVEaXYuc3Jj
ID0gInJlc291cmNlcy9jbG9zZS1vbi11bmxvYWQtaWZyYW1lLmh0bWwiOworICAgIGRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWVEaXYpOworICAgIGRlYnVnKCJQQVNTIGluc2VydCBhIGlm
cmFtZSwgd2hlcmUgb3BlbiB3cyBjYWxsZWQgJ3NvY2tldDEnIik7Cit9Oword3Mub25tZXNzYWdl
ID0gZnVuY3Rpb24oZXZ0KQoreworICAgIGNsb3NlZFNvY2tldCA9IGV2dC5kYXRhOworICAgIHdz
LmNsb3NlKCk7Cit9Oword3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBzaG91bGRCZSgi
Y2xvc2VkU29ja2V0IiwgJyJzb2NrZXQxIicpOworICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKwor
ZG9jdW1lbnQuaWZyYW1lUmVhZHkgPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIlBBU1MgJ3Nv
Y2tldDEnIGlzIHNlbnQgdG8gdGhlIHNlcnZlci4gdW5sb2FkIHRoZSBpZnJhbWUgYW5kIGZvcmNl
IGdhcmJhZ2UgY29sbGVjdGlvbi4gZXhwZWN0IHJlY2VpdmluZyAnc29ja2V0MScgb24gd3MgYW5k
IG5vIGNyYXNoLi4uIik7CisgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChmcmFtZURpdik7
CisgICAgZ2MoKTsKK307CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Utb24tdW5sb2FkLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xv
c2Utb24tdW5sb2FkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZjQ1Mjc4MTdlMjAzN2U0OTQ4
OTM3YzM2ZTI3MmU5OGNkZDhjNzczCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1vbi11bmxvYWQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3QgaWYgV2ViIFNvY2tldCBpcyBjbG9zZWQgb24gdW5sb2Fk
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyB3cyBvbiBtYXN0ZXIgZG9jdW1l
bnQgaXMgcmVhZHkuCitQQVNTIGluc2VydCBhIGlmcmFtZSwgd2hlcmUgb3BlbiB3cyBjYWxsZWQg
J3NvY2tldDEnCitQQVNTICdzb2NrZXQxJyBpcyBzZW50IHRvIHRoZSBzZXJ2ZXIuIHVubG9hZCB0
aGUgaWZyYW1lLiBleHBlY3QgcmVjZWl2aW5nICdzb2NrZXQxJyBvbiB3cy4uLgorUEFTUyBjbG9z
ZWRTb2NrZXQgaXMgInNvY2tldDEiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS9jbG9zZS1vbi11bmxvYWQtcmVmZXJlbmNlLWluLXBhcmVudC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Ns
b3NlLW9uLXVubG9hZC1yZWZlcmVuY2UtaW4tcGFyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mOTExMTZkOGQyYzM2MWUwY2U4OGJlNWUzMWUwNjlmMjFlNWQzZmEwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1v
bi11bmxvYWQtcmVmZXJlbmNlLWluLXBhcmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBA
QAorVGVzdCBpZiBXZWIgU29ja2V0IG9wZW5lZCBpbiBpZnJhbWUgYnV0IHJlZmVycmVkIGluIHBh
cmVudCBkb2N1bWVudCBpcyBjbG9zZWQgb24gdW5sb2FkaW5nIHRoZSBmcmFtZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIHdzIG9uIG1hc3RlciBkb2N1bWVudCBpcyByZWFk
eS4KK1BBU1MgaW5zZXJ0IGEgaWZyYW1lLCB3aGVyZSBvcGVuIHdzIGNhbGxlZCAnc29ja2V0MScK
K1BBU1MgZG9jdW1lbnQuY2hpbGRXZWJTb2NrZXQgaXMgbm9uLW51bGwuCitQQVNTICdzb2NrZXQx
JyBpcyBzZW50IHRvIHRoZSBzZXJ2ZXIuIHVubG9hZCB0aGUgaWZyYW1lLiBleHBlY3QgcmVjZWl2
aW5nICdzb2NrZXQxJyBvbiB3cy4uLgorUEFTUyBjbG9zZWRTb2NrZXQgaXMgInNvY2tldDEiCitQ
QVNTIGRvY3VtZW50LmNoaWxkV2ViU29ja2V0LnJlYWR5U3RhdGUgaXMgMworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Utb24tdW5sb2FkLXJl
ZmVyZW5jZS1pbi1wYXJlbnQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvY2xvc2Utb24tdW5sb2FkLXJlZmVyZW5jZS1pbi1wYXJlbnQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42MjhkZTBjNTZhOTlkZDkyZmZjNzk2NmRmMGQ1NzFmNzRjYmViZWQ0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9j
bG9zZS1vbi11bmxvYWQtcmVmZXJlbmNlLWluLXBhcmVudC5odG1sCkBAIC0wLDAgKzEsNTMgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9q
cy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIlRlc3QgaWYg
V2ViIFNvY2tldCBvcGVuZWQgaW4gaWZyYW1lIGJ1dCByZWZlcnJlZCBpbiBwYXJlbnQgZG9jdW1l
bnQgaXMgY2xvc2VkIG9uIHVubG9hZGluZyB0aGUgZnJhbWUuIik7CisKK3dpbmRvdy5qc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29j
a2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK3ZhciBmcmFtZURpdjsKK3ZhciBjbG9zZWRTb2Nr
ZXQ7Citkb2N1bWVudC5jaGlsZFdlYlNvY2tldCA9IG51bGw7CisKK3ZhciB3cyA9IG5ldyBXZWJT
b2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Utb24t
dW5sb2FkIik7Cit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIlBBU1Mgd3Mg
b24gbWFzdGVyIGRvY3VtZW50IGlzIHJlYWR5LiIpOworICAgIGZyYW1lRGl2ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CisgICAgZnJhbWVEaXYuc3JjID0gInJlc291cmNlcy9j
bG9zZS1vbi11bmxvYWQtaWZyYW1lLXJlZmVyZW5jZS1pbi1wYXJlbnQuaHRtbCI7CisgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZURpdik7CisgICAgZGVidWcoIlBBU1MgaW5zZXJ0
IGEgaWZyYW1lLCB3aGVyZSBvcGVuIHdzIGNhbGxlZCAnc29ja2V0MSciKTsKK307Cit3cy5vbm1l
c3NhZ2UgPSBmdW5jdGlvbihldnQpCit7CisgICAgY2xvc2VkU29ja2V0ID0gZXZ0LmRhdGE7Cisg
ICAgd3MuY2xvc2UoKTsKK307Cit3cy5vbmNsb3NlID0gZnVuY3Rpb24oKQoreworICAgIHNob3Vs
ZEJlKCJjbG9zZWRTb2NrZXQiLCAnInNvY2tldDEiJyk7CisgICAgc2hvdWxkQmUoImRvY3VtZW50
LmNoaWxkV2ViU29ja2V0LnJlYWR5U3RhdGUiLCAiMyIpOworICAgIGZpbmlzaEpTVGVzdCgpOwor
fTsKKworZG9jdW1lbnQuaWZyYW1lUmVhZHkgPSBmdW5jdGlvbigpCit7CisgICAgc2hvdWxkQmVO
b25OdWxsKCJkb2N1bWVudC5jaGlsZFdlYlNvY2tldCIpOworICAgIGRlYnVnKCJQQVNTICdzb2Nr
ZXQxJyBpcyBzZW50IHRvIHRoZSBzZXJ2ZXIuIHVubG9hZCB0aGUgaWZyYW1lLiBleHBlY3QgcmVj
ZWl2aW5nICdzb2NrZXQxJyBvbiB3cy4uLiIpOworICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hp
bGQoZnJhbWVEaXYpOworfTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1vbi11bmxvYWQuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Utb24t
dW5sb2FkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzhhZTU4Njg5ZDc4OWI1NTBjNTA2YTI3ODFmNzE4MzI3
NmMxMzllZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvY2xvc2Utb24tdW5sb2FkLmh0bWwKQEAgLTAsMCArMSw1MCBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiVGVzdCBpZiBXZWIg
U29ja2V0IGlzIGNsb3NlZCBvbiB1bmxvYWQiKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0
cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2Nv
bEVuYWJsZWQiLCAwKTsKKwordmFyIGZyYW1lRGl2OwordmFyIGNsb3NlZFNvY2tldDsKKwordmFy
IHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMv
aHliaS9jbG9zZS1vbi11bmxvYWQiKTsKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uKCkKK3sKKyAgICBk
ZWJ1ZygiUEFTUyB3cyBvbiBtYXN0ZXIgZG9jdW1lbnQgaXMgcmVhZHkuIik7CisgICAgZnJhbWVE
aXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgICBmcmFtZURpdi5zcmMg
PSAicmVzb3VyY2VzL2Nsb3NlLW9uLXVubG9hZC1pZnJhbWUuaHRtbCI7CisgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChmcmFtZURpdik7CisgICAgZGVidWcoIlBBU1MgaW5zZXJ0IGEgaWZy
YW1lLCB3aGVyZSBvcGVuIHdzIGNhbGxlZCAnc29ja2V0MSciKTsKK307Cit3cy5vbm1lc3NhZ2Ug
PSBmdW5jdGlvbihldnQpCit7CisgICAgY2xvc2VkU29ja2V0ID0gZXZ0LmRhdGE7CisgICAgd3Mu
Y2xvc2UoKTsKK307Cit3cy5vbmNsb3NlID0gZnVuY3Rpb24oKQoreworICAgIHNob3VsZEJlKCJj
bG9zZWRTb2NrZXQiLCAnInNvY2tldDEiJyk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCitk
b2N1bWVudC5pZnJhbWVSZWFkeSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygiUEFTUyAnc29j
a2V0MScgaXMgc2VudCB0byB0aGUgc2VydmVyLiB1bmxvYWQgdGhlIGlmcmFtZS4gZXhwZWN0IHJl
Y2VpdmluZyAnc29ja2V0MScgb24gd3MuLi4iKTsKKyAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNo
aWxkKGZyYW1lRGl2KTsKK307IAorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3NlLW9uLXVubG9hZF93
c2gucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nsb3Nl
LW9uLXVubG9hZF93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGMxMzExNWIyNDM5YmZiNzZkMzEyODZhZGNl
OWVjNjVlMTA0NjI5MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Utb24tdW5sb2FkX3dzaC5weQpAQCAtMCwwICsxLDU2
IEBACisjIENvcHlyaWdodCAyMDA5LCBHb29nbGUgSW5jLgorIyBBbGwgcmlnaHRzIHJlc2VydmVk
LgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0
aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKworCitmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgbXNn
dXRpbAorCisKKyMgd2UgZG9uJ3QgdXNlIHNldCgpIGhlcmUsIGJlY2F1c2UgcHl0aG9uIG9uIG1h
YyB0aWdlciBkb2Vzbid0IHN1cHBvcnQgaXQuCitjb25uZWN0aW9ucyA9IHt9CisKKworZGVmIHdl
Yl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAgIHBhc3MgICMgQWx3YXlz
IGFjY2VwdC4KKworCitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAg
IGdsb2JhbCBjb25uZWN0aW9ucworICAgIGNvbm5lY3Rpb25zW3JlcXVlc3RdID0gVHJ1ZQorICAg
IHNvY2tldE5hbWUgPSBOb25lCisgICAgdHJ5OgorICAgICAgICBzb2NrZXROYW1lID0gbXNndXRp
bC5yZWNlaXZlX21lc3NhZ2UocmVxdWVzdCkKKyAgICAgICAgIyBub3RpZnkgdG8gY2xpZW50IHRo
YXQgc29ja2V0TmFtZSBpcyByZWNlaXZlZCBieSBzZXJ2ZXIuCisgICAgICAgIG1zZ3V0aWwuc2Vu
ZF9tZXNzYWdlKHJlcXVlc3QsIHNvY2tldE5hbWUpCisgICAgICAgIG1zZ3V0aWwucmVjZWl2ZV9t
ZXNzYWdlKHJlcXVlc3QpICAjIHdhaXQsIGFuZCBleGNlcHRpb24gYnkgY2xvc2UuCisgICAgICAg
IHNvY2tldE5hbWUgPSBzb2NrZXROYW1lICsgJzogcmVjZWl2ZSBuZXh0IG1lc3NhZ2UnCisgICAg
ZmluYWxseToKKyAgICAgICAgIyByZXF1ZXN0IGlzIGNsb3NlZC4gbm90aWZ5IHRoaXMgc29ja2V0
TmFtZSB0byBvdGhlciB3ZWIgc29ja2V0cy4KKyAgICAgICAgZGVsIGNvbm5lY3Rpb25zW3JlcXVl
c3RdCisgICAgICAgIGZvciB3cyBpbiBjb25uZWN0aW9ucy5rZXlzKCk6CisgICAgICAgICAgICBt
c2d1dGlsLnNlbmRfbWVzc2FnZSh3cywgc29ja2V0TmFtZSkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2UtdW5yZWYtd2Vic29ja2V0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvY2xvc2UtdW5yZWYtd2Vic29ja2V0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOWY1NTU1
NjJiNjM2ZmE1YzNjYjcxMzg1ZDMwNjY1NDJmZTdmOWVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS11bnJlZi13ZWJz
b2NrZXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAwOiBXZWJTb2NrZXQgaXMgY2xvc2VkIGJlZm9yZSB0aGUgY29ubmVjdGlvbiBpcyBlc3RhYmxp
c2hlZC4KK1Rlc3QgaWYgV2ViIFNvY2tldCBpcyBjbG9zZWQgd2hpbGUgaGFuZHNoYWtpbmcgYW5k
IHVucmVmZXJlbmNlZCwgaXQgc2hvdWxkIGZpcmUgY2xvc2UgZXZlbnQgYXQgbW9zdCBvbmNlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgMSBpcyA+PSBjb3VudENsb3NlRXZl
bnQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Ns
b3NlLXVucmVmLXdlYnNvY2tldC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9jbG9zZS11bnJlZi13ZWJzb2NrZXQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Yzkz
NmY1NzFmZDU2ODE3NTY1NjlkZTg3ZDA3N2RhYTllNWYxYjlkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS11bnJlZi13
ZWJzb2NrZXQuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJUZXN0IGlmIFdlYiBTb2NrZXQgaXMgY2xvc2VkIHdoaWxl
IGhhbmRzaGFraW5nIGFuZCB1bnJlZmVyZW5jZWQsIGl0IHNob3VsZCBmaXJlIGNsb3NlIGV2ZW50
IGF0IG1vc3Qgb25jZS4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVy
cmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAw
KTsKKwordmFyIGNvdW50Q2xvc2VFdmVudCA9IDA7CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQorewor
ICAgIHNob3VsZEJlR3JlYXRlclRoYW5PckVxdWFsKCIxIiwgImNvdW50Q2xvc2VFdmVudCIpOwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKwordmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8x
MjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5naW5nLWhhbmRzaGFrZSIpOwor
d3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkgeworICAgIGNvdW50Q2xvc2VFdmVudCArPSAxOworfTsK
K3dzLmNsb3NlKCk7Cit3cyA9IG51bGw7CitnYygpOworc2V0VGltZW91dCgiZW5kVGVzdCgpIiwg
MTAwKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY3Jvc3Mtb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY3Jvc3Mtb3JpZ2luLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40YzlmMDllNjM1MjEzOTliYjk0MGYwYzJjYjYzZjFmODAwM2Fi
OWE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9jcm9zcy1vcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1dl
YiBTb2NrZXQgQ3Jvc3MgT3JpZ2luIHRlc3QKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
Citkb2N1bWVudC5kb21haW49MTI3LjAuMC4xCit3cy51cmw9d3M6Ly9sb2NhbGhvc3Q6ODg4MC93
ZWJzb2NrZXQvdGVzdHMvaHliaS9vcmlnaW4tdGVzdAorQ29ubmVjdGVkCitQQVNTIG9yaWdpbiBp
cyAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvY3Jvc3Mtb3JpZ2luLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nyb3NzLW9yaWdpbi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmIyZjY0N2FmOWRmYjgzZGYxMWZmOWVmY2FiZjgyODEwZjRiNTAzNDgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Nyb3NzLW9y
aWdpbi5odG1sCkBAIC0wLDAgKzEsNTkgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPgorZGVzY3JpcHRpb24oIldlYiBTb2NrZXQgQ3Jvc3MgT3JpZ2luIHRlc3QiKTsKKword2lu
ZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhp
eGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwordmFyIG9yaWdpbjsKKworZnVu
Y3Rpb24gZW5kVGVzdCgpCit7CisgICAgc2hvdWxkQmUoIm9yaWdpbiIsICciaHR0cDovLzEyNy4w
LjAuMTo4MDAwIicpOworICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOworICAgIGZpbmlzaEpT
VGVzdCgpOworfQorCit2YXIgdXJsID0gIndzOi8vbG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rl
c3RzL2h5Ymkvb3JpZ2luLXRlc3QiOworZGVidWcoImRvY3VtZW50LmRvbWFpbj0iICsgZG9jdW1l
bnQuZG9tYWluKTsKK2RlYnVnKCJ3cy51cmw9IiArIHVybCk7Cit2YXIgd3MgPSBuZXcgV2ViU29j
a2V0KHVybCk7CisKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygiQ29ubmVj
dGVkIik7Cit9OworCit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAobWVzc2FnZUV2ZW50KQorewor
ICAgIG9yaWdpbiA9IG1lc3NhZ2VFdmVudC5kYXRhOworICAgIHdzLmNsb3NlKCk7Cit9OworCit3
cy5vbmNsb3NlID0gZnVuY3Rpb24oKQoreworICAgIGVuZFRlc3QoKTsKK307CisKK2Z1bmN0aW9u
IHRpbWVPdXRDYWxsYmFjaygpCit7CisgICAgZGVidWcoIlRpbWVkIG91dCBpbiBzdGF0ZTogIiAr
IHdzLnJlYWR5U3RhdGUpOworICAgIGVuZFRlc3QoKTsKK30KKwordmFyIHRpbWVvdXRJRCA9IHNl
dFRpbWVvdXQodGltZU91dENhbGxiYWNrLCAzMDAwKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hv
LWNoYWxsZW5nZV93c2gucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL2VjaG8tY2hhbGxlbmdlX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTBkNDQxNTA5Y2EzMDQz
NGVhYmUzZGM0NTQzMDYxNmY1YjMzY2JmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvLWNoYWxsZW5nZV93c2gucHkKQEAg
LTAsMCArMSwxMyBAQAorZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IG1zZ3V0aWwKKworCitk
ZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgcGFzcworCisK
K2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgbXNndXRpbC5zZW5k
X21lc3NhZ2UocmVxdWVzdCwgX2hleGlmeShyZXF1ZXN0LndzX2NoYWxsZW5nZSkpCisKKworZGVm
IF9oZXhpZnkoYnl0ZXMpOgorICAgIHJldHVybiAnOicuam9pbihbJyUwMlgnICUgb3JkKGJ5dGUp
IGZvciBieXRlIGluIGJ5dGVzXSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNoby1jb29raWVfd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvLWNvb2tpZV93c2gucHkKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZmFhMjVmOTgwZTBiZTUyZmY0NGIwMWIyM2U0MjBkY2MzZDQ3MDMzMQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNoby1j
b29raWVfd3NoLnB5CkBAIC0wLDAgKzEsMzggQEAKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMK
KyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK2Zyb20g
bW9kX3B5d2Vic29ja2V0IGltcG9ydCBtc2d1dGlsCisKKworZGVmIHdlYl9zb2NrZXRfZG9fZXh0
cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAgIHBhc3MKKworCitkZWYgd2ViX3NvY2tldF90cmFu
c2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3QsICBy
ZXF1ZXN0LmhlYWRlcnNfaW5bJ0Nvb2tpZSddKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvLWxvY2F0aW9uX3dzaC5weSBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNoby1sb2NhdGlvbl93c2gu
cHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzM5MDU3MGFiYWM4MWI1ODU5MmNmYjRiYzBkY2E1ZWUwMWJkMGIyOQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvZWNoby1sb2NhdGlvbl93c2gucHkKQEAgLTAsMCArMSwzOSBAQAorIyBDb3B5cmlnaHQg
KEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
IyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisKKworZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IG1zZ3V0aWwKKworCitkZWYgd2Vi
X3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgcGFzcworCisKK2RlZiB3
ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgcHJpbnQgcmVxdWVzdC53c19s
b2NhdGlvbgorICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3QsIHJlcXVlc3Qud3NfbG9j
YXRpb24pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL2VjaG9fd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaHliaS9lY2hvX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OWMzZjEwNTc1YTJmMjgxYjU0MmFlMWFj
OWRiZmNlNDQ5YTBjOTcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvX3dzaC5weQpAQCAtMCwwICsxLDQ2IEBACisjIENv
cHlyaWdodCAyMDA5LCBHb29nbGUgSW5jLgorIyBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMg
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKworCitmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgbXNndXRpbAorCisK
K19HT09EQllFX01FU1NBR0UgPSAnR29vZGJ5ZScKKworCitkZWYgd2ViX3NvY2tldF9kb19leHRy
YV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgcGFzcyAgIyBBbHdheXMgYWNjZXB0LgorCisKK2Rl
ZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgd2hpbGUgVHJ1ZToKKyAg
ICAgICAgbGluZSA9IG1zZ3V0aWwucmVjZWl2ZV9tZXNzYWdlKHJlcXVlc3QpCisgICAgICAgIG1z
Z3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3QsIGxpbmUpCisgICAgICAgIGlmIGxpbmUgPT0gX0dP
T0RCWUVfTUVTU0FHRToKKyAgICAgICAgICAgIHJldHVybgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9lcnJvci1kZXRlY3QtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9lcnJvci1k
ZXRlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjNjllZWQwMzhmZWUzMmZkMDlhM2I4YWVh
M2MzNTU0YjdjNDY2NDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2Vycm9yLWRldGVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMiBAQAorTWFrZSBzdXJlIFdlYlNvY2tldCBjb3JyZWN0bHkgZmlyZSBlcnJvciBldmVudCBm
b3IgdW5rbm93biBmcmFtZSB0eXBlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1dl
YlNvY2tldCBpcyBvcGVuCityZWNlaXZlZDpkb25lCitXZWJTb2NrZXQgaXMgY2xvc2VkCitQQVNT
IGVycm9yQ291bnQgaXMgMjU1CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9lcnJvci1kZXRlY3QuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvZXJyb3ItZGV0ZWN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Q1MzRl
NTdmZWY5M2NjOGI5OTI0OGQ5NzIyODA2YTM3ZWQxNDI2YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZXJyb3ItZGV0ZWN0Lmh0
bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Citk
ZXNjcmlwdGlvbigiTWFrZSBzdXJlIFdlYlNvY2tldCBjb3JyZWN0bHkgZmlyZSBlcnJvciBldmVu
dCBmb3IgdW5rbm93biBmcmFtZSB0eXBlLiIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29s
RW5hYmxlZCIsIDApOworCit2YXIgZXJyb3JDb3VudCA9IDA7CisKK3ZhciB3cyA9IG5ldyBXZWJT
b2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdW5rbm93bi1m
cmFtZS10eXBlIik7Cit3cy5vbm9wZW4gPSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNv
Y2tldCBpcyBvcGVuIik7Cit9Oword3Mub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2dCkgeworICAg
IGRlYnVnKCJyZWNlaXZlZDoiICsgZXZ0LmRhdGEpOworfTsKK3dzLm9uZXJyb3IgPSBmdW5jdGlv
biAoKSB7CisgICAgZXJyb3JDb3VudCArPSAxOworfTsKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbiAo
KSB7CisgICAgZGVidWcoIldlYlNvY2tldCBpcyBjbG9zZWQiKTsKKyAgICBzaG91bGRCZSgiZXJy
b3JDb3VudCIsICIyNTUiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK307CisKK3ZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4v
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvZml4ZWQtb3JpZ2luX3dzaC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvZml4ZWQtb3JpZ2luX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MzhmYjgzY2I0
YzhiZGI4ZjMyMGJkODA3YmI1MjNiOTQ4ZmRhNGE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9maXhlZC1vcmlnaW5fd3NoLnB5
CkBAIC0wLDAgKzEsMzggQEAKKyMgQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoK
KyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK2Zyb20gbW9kX3B5d2Vic29j
a2V0IGltcG9ydCBtc2d1dGlsCisKKworZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtl
KHJlcXVlc3QpOgorICAgIHJlcXVlc3Qud3Nfb3JpZ2luID0gJ2h0dHA6Ly9leGFtcGxlLmNvbScK
KworCitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIG1zZ3V0aWwu
c2VuZF9tZXNzYWdlKHJlcXVlc3QsIHJlcXVlc3Qud3Nfb3JpZ2luKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5ndGgtbG9u
Z2VyLXRoYW4tYnVmZmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5YmkvZnJhbWUtbGVuZ3RoLWxvbmdlci10aGFuLWJ1ZmZlci1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYWYzNzcwMGZhNTc4MTk1MDQ2ZWZiNGFkYzgzZTFiMGRkM2E4MWIz
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5YmkvZnJhbWUtbGVuZ3RoLWxvbmdlci10aGFuLWJ1ZmZlci1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMyBAQAorTWFrZSBzdXJlIFdlYlNvY2tldCBjb3JyZWN0bHkgc2tpcCBsZW5ndGhl
ZCBmcmFtZSBldmVuIGlmIHJlY2VpdmVkIGRhdGEgaGFzIGluY29tcGxldGUgZnJhbWUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworV2ViU29ja2V0IGlzIG9wZW4KK3JlY2VpdmVkOmhl
bGxvCitXZWJTb2NrZXQgaXMgY2xvc2VkCisxCitQQVNTIGFyZUFycmF5c0VxdWFsKHJlY2VpdmVk
X21lc3NhZ2VzLCBleHBlY3RlZF9tZXNzYWdlcykgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZnJhbWUtbGVuZ3RoLWxvbmdlci10aGFu
LWJ1ZmZlci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9mcmFtZS1sZW5ndGgtbG9uZ2VyLXRoYW4tYnVmZmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjk3OGQx
NjI4YzhhNmViNTIwN2IwMzJlZGUyNmUwZjc2OGE4YTlmOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZnJhbWUtbGVuZ3RoLWxv
bmdlci10aGFuLWJ1ZmZlci5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2Ny
aXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSBXZWJTb2NrZXQgY29ycmVj
dGx5IHNraXAgbGVuZ3RoZWQgZnJhbWUgZXZlbiBpZiByZWNlaXZlZCBkYXRhIGhhcyBpbmNvbXBs
ZXRlIGZyYW1lLiIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRl
UHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOwor
Cit2YXIgcmVjZWl2ZWRfbWVzc2FnZXMgPSBbXTsKK3ZhciBleHBlY3RlZF9tZXNzYWdlcyA9IFsi
aGVsbG8iXTsKK2Z1bmN0aW9uIGZpbmlzaCgpIHsKKyAgICBjbGVhclRpbWVvdXQodGltZW91dElE
KTsKKyAgICBkZWJ1ZyhyZWNlaXZlZF9tZXNzYWdlcy5sZW5ndGgpOworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgcmVjZWl2ZWRfbWVzc2FnZXM7IGkrKykgeworICAgICAgICBkZWJ1ZygicmVjZWl2
ZWRbIiArIGkgKyAiXT0iICsgcmVjZWl2ZWRfbWVzc2FnZXNbaV0pOworICAgIH0KKworICAgIHNo
b3VsZEJlVHJ1ZSgiYXJlQXJyYXlzRXF1YWwocmVjZWl2ZWRfbWVzc2FnZXMsIGV4cGVjdGVkX21l
c3NhZ2VzKSIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3ZhciB3cyA9IG5ldyBXZWJT
b2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZnJhbWUtbGVu
Z3RoLWxvbmdlci10aGFuLWJ1ZmZlciIpOword3Mub25vcGVuID0gZnVuY3Rpb24gKCkgeworICAg
IGRlYnVnKCJXZWJTb2NrZXQgaXMgb3BlbiIpOworfTsKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9u
IChldnQpIHsKKyAgICBkZWJ1ZygicmVjZWl2ZWQ6IiArIGV2dC5kYXRhKTsKKyAgICByZWNlaXZl
ZF9tZXNzYWdlcy5wdXNoKGV2dC5kYXRhKTsKK307Cit3cy5vbmNsb3NlID0gZnVuY3Rpb24gKCkg
eworICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMgY2xvc2VkIik7CisgICAgZmluaXNoKCk7Cit9Owor
dmFyIHRpbWVvdXRJRCA9IHNldFRpbWVvdXQoImZpbmlzaCgpIiwgMjAwMCk7CisKK3ZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
Li4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5YmkvZnJhbWUtbGVuZ3RoLWxvbmdlci10aGFuLWJ1ZmZlcl93c2gucHkgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxlbmd0aC1sb25nZXIt
dGhhbi1idWZmZXJfd3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzNGI0ZjE3ZDMwODdiOGMyNThmMThkOGJi
M2Y1YjAwZDQ4ZmFlMTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxlbmd0aC1sb25nZXItdGhhbi1idWZmZXJfd3No
LnB5CkBAIC0wLDAgKzEsMTEgQEAKK2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShy
ZXF1ZXN0KToKKyAgICBwYXNzCisKKworZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1
ZXN0KToKKyAgICBtc2cgPSAiXDBoZWxsb1x4ZmYiCisgICAgbXNnICs9ICJceDgwXHg4MVx4MDEi
ICMgU2tpcCAxKjEyOCsxIGJ5dGVzLgorICAgIG1zZyArPSAiXHgwMVx4ZmYiCisgICAgbXNnICs9
ICJcMHNob3VsZCBiZSBza2lwcGVkXHhmZiIKKyAgICByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdGUo
bXNnKQorICAgIHJhaXNlIEV4Y2VwdGlvbigiQWJvcnQgdGhlIGNvbm5lY3Rpb24iKSAjIFByZXZl
bnRzIHB5d2Vic29ja2V0IGZyb20gc3RhcnRpbmcgY2xvc2luZyBoYW5kc2hha2UuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxl
bmd0aC1vdmVyZmxvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxlbmd0aC1vdmVyZmxvdy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZGMyMTZmNGU4MjQ2MDQ5ZDE3MGFhNjY2MTc4YzhiZTlhMWFjYjM5OAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZnJh
bWUtbGVuZ3RoLW92ZXJmbG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgMDogV2ViU29ja2V0IGZyYW1lIGxlbmd0aCB0b28gbGFyZ2UKK01ha2Ug
c3VyZSBXZWJTb2NrZXQgZG9lcyBub3QgY3Jhc2ggYW5kIHJlcG9ydCBlcnJvciB3aGVuIGl0IHNl
ZXMgbGVuZ3RoIG92ZXJmbG93CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworV2ViU29j
a2V0IGlzIG9wZW4KK1dlYlNvY2tldCByZWNlaXZlZCBlcnJvciBmcmFtZQorV2ViU29ja2V0IGlz
IGNsb3NlZAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvZnJhbWUtbGVuZ3RoLW92ZXJmbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxlbmd0aC1vdmVyZmxvdy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmExZjYxYzc5MzVhNDBjN2RkYjNiY2UyZWZmMTcwNGVjZWFjYzI2OTUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxl
bmd0aC1vdmVyZmxvdy5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9
ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
K2Rlc2NyaXB0aW9uKCJNYWtlIHN1cmUgV2ViU29ja2V0IGRvZXMgbm90IGNyYXNoIGFuZCByZXBv
cnQgZXJyb3Igd2hlbiBpdCBzZWVzIGxlbmd0aCBvdmVyZmxvdyIpOworCit3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNv
Y2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czov
LzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxlbmd0aC1vdmVyZmxv
dyIpOword3Mub25vcGVuID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMg
b3BlbiIpOworfTsKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChldnQpIHsKKyAgICBkZWJ1Zygi
V2ViU29ja2V0IHJlY2VpdmVkOiIgKyBldnQuZGF0YSk7Cit9Oword3Mub25lcnJvciA9IGZ1bmN0
aW9uICgpIHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0IHJlY2VpdmVkIGVycm9yIGZyYW1lIik7Cit9
Oword3Mub25jbG9zZSA9IGZ1bmN0aW9uICgpIHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0IGlzIGNs
b3NlZCIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFt
ZS1sZW5ndGgtb3ZlcmZsb3dfd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5ndGgtb3ZlcmZsb3dfd3NoLnB5Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFj
N2M5MjFjYWQ5ZjVmMGE1MTliYmUxNjExYjEzYTIwZTg0MzY3YWUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxlbmd0
aC1vdmVyZmxvd193c2gucHkKQEAgLTAsMCArMSw4IEBACitkZWYgd2ViX3NvY2tldF9kb19leHRy
YV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgcGFzcworCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5z
ZmVyX2RhdGEocmVxdWVzdCk6CisgICAgbXNnID0gMTYgKiAnXHhmZicKKyAgICByZXF1ZXN0LmNv
bm5lY3Rpb24ud3JpdGUobXNnKQorICAgIHJhaXNlIEV4Y2VwdGlvbignQWJvcnQgdGhlIGNvbm5l
Y3Rpb24nKSAjIFByZXZlbnRzIHB5d2Vic29ja2V0IGZyb20gc3RhcnRpbmcgY2xvc2luZyBoYW5k
c2hha2UuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL2ZyYW1lLWxlbmd0aC1za2lwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZnJhbWUtbGVuZ3RoLXNraXAtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFhMzJmZTRjZmEzNTU2ZjY4YjY4N2IxY2ZiYWU1ZjVjNDE2ZDUyNGQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2ZyYW1lLWxlbmd0aC1za2lwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitNYWtl
IHN1cmUgV2ViU29ja2V0IGNvcnJlY3RseSBza2lwIGxlbmd0aGVkIGZyYW1lLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1dlYlNvY2tldCBpcyBvcGVuCityZWNlaXZlZDpoZWxsbwor
cmVjZWl2ZWQ6d29ybGQKK1dlYlNvY2tldCBpcyBjbG9zZWQKKzIKK1BBU1MgYXJlQXJyYXlzRXF1
YWwocmVjZWl2ZWRfbWVzc2FnZXMsIGV4cGVjdGVkX21lc3NhZ2VzKSBpcyB0cnVlCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5ndGgt
c2tpcC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9m
cmFtZS1sZW5ndGgtc2tpcC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA3MmJlNmEyNmQzZmVjNjk2ZDIwZjUy
ZTNlMmFjZTAwNWVlNGVlZjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxlbmd0aC1za2lwLmh0bWwKQEAgLTAsMCAr
MSw0OSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4v
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigi
TWFrZSBzdXJlIFdlYlNvY2tldCBjb3JyZWN0bHkgc2tpcCBsZW5ndGhlZCBmcmFtZS4iKTsKKwor
d2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwordmFyIHJlY2VpdmVkX21l
c3NhZ2VzID0gW107Cit2YXIgZXhwZWN0ZWRfbWVzc2FnZXMgPSBbImhlbGxvIiwgIndvcmxkIl07
CitmdW5jdGlvbiBmaW5pc2goKSB7CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7CisgICAg
ZGVidWcocmVjZWl2ZWRfbWVzc2FnZXMubGVuZ3RoKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHJlY2VpdmVkX21lc3NhZ2VzOyBpKyspIHsKKyAgICAgICAgZGVidWcoInJlY2VpdmVkWyIgKyBp
ICsgIl09IiArIHJlY2VpdmVkX21lc3NhZ2VzW2ldKTsKKyAgICB9CisKKyAgICBzaG91bGRCZVRy
dWUoImFyZUFycmF5c0VxdWFsKHJlY2VpdmVkX21lc3NhZ2VzLCBleHBlY3RlZF9tZXNzYWdlcyki
KTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3
czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2ZyYW1lLWxlbmd0aC1za2lw
Iik7Cit3cy5vbm9wZW4gPSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNvY2tldCBpcyBv
cGVuIik7Cit9Oword3Mub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2dCkgeworICAgIGRlYnVnKCJy
ZWNlaXZlZDoiICsgZXZ0LmRhdGEpOworICAgIHJlY2VpdmVkX21lc3NhZ2VzLnB1c2goZXZ0LmRh
dGEpOworfTsKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNvY2tl
dCBpcyBjbG9zZWQiKTsKKyAgICBmaW5pc2goKTsKK307Cit2YXIgdGltZW91dElEID0gc2V0VGlt
ZW91dCgiZmluaXNoKCkiLCAyMDAwKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5ndGgt
c2tpcF93c2gucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L2ZyYW1lLWxlbmd0aC1za2lwX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZTg3NDAxZGZlYWM1ZmFiYzli
MTQ3ZTJlNzZlOGY1MDQ3MWYyMGU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5ndGgtc2tpcF93c2gucHkKQEAg
LTAsMCArMSwxMiBAQAorZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3Qp
OgorICAgIHBhc3MKKworCitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgor
ICAgIG1zZyA9ICJcMGhlbGxvXHhmZiIKKyAgICBtc2cgKz0gIlx4ODBceDgxXHgwMSIgICAjIHNr
aXAgMSoxMjgrMSBieXRlcy4KKyAgICBtc2cgKz0gIlx4MDEiCisgICAgbXNnICs9ICJcMHNob3Vs
ZCBiZSBza2lwcGVkIiArICgiICIgKiAxMDkpICsgIlx4ZmYiCisgICAgbXNnICs9ICJcMHdvcmxk
XHhmZiIKKyAgICByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdGUobXNnKQorICAgIHByaW50IG1zZwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9m
cmFtZS1sZW5ndGhzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvZnJhbWUtbGVuZ3Rocy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjNl
ZTQ1OTY2NGM1NzlkYjU5NDVmNzE0ZmVkYjYxODMzMzI0ZDMwYQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZnJhbWUtbGVuZ3Ro
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitUZXN0IHNlbmRpbmcgYW5kIHJlY2Vpdmlu
ZyBzbWFsbCBtZXNzYWdlcyBvZiBkaWZmZXJlbnQgbGVuZ3Rocy4KKworU2hvdWxkIHNheSBQQVNT
OgorCitSdW5uaW5nIHRoZSB0ZXN0Li4uCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZnJhbWUtbGVuZ3Rocy5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9mcmFtZS1sZW5ndGhzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZTZjZTMwOTBhZGNmYTlmODM4Zjk4MTc2Y2VjMzZjYTg0N2I2MjRiNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvZnJhbWUtbGVuZ3Rocy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzxwPlRlc3Qgc2VuZGlu
ZyBhbmQgcmVjZWl2aW5nIHNtYWxsIG1lc3NhZ2VzIG9mIGRpZmZlcmVudCBsZW5ndGhzLjwvcD4K
KzxwPlNob3VsZCBzYXkgUEFTUzo8L3A+Cis8cHJlIGlkPWxvZz5SdW5uaW5nIHRoZSB0ZXN0Li4u
Cis8L3ByZT4KKzxzY3JpcHQ+Cit2YXIgbWF4TGVuZ3RoID0gMTAyNTsKKworaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29j
a2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7Cit9CisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQorewor
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2ciKS5pbm5lckhUTUwgKz0gbWVzc2FnZSAr
ICJcbiI7Cit9CisKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNobyIpOworCit2YXIgbGFzdFN0cmluZzsKK3ZhciBmYWls
ZWQgPSBmYWxzZTsKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uKCkgeworICAgIGxhc3RTdHJpbmcgPSAi
IjsKKyAgICB3cy5zZW5kKGxhc3RTdHJpbmcpOworfQorCit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlv
bihtc2cpIHsKKyAgICBpZiAobXNnLmRhdGEgIT0gbGFzdFN0cmluZykgeworICAgICAgICBsb2co
IkZBSUwgLSBpbmNvcnJlY3QgcmVzcG9uc2UuIEV4cGVjdGVkICciICsgbGFzdFN0cmluZyArICIn
LCBnb3QgJyIgKyBtc2cuZGF0YSArICInLiIpOworICAgICAgICBmYWlsZWQgPSB0cnVlOworICAg
IH0KKworICAgIGlmIChsYXN0U3RyaW5nLmxlbmd0aCA9PSBtYXhMZW5ndGgpIHsKKyAgICAgICAg
aWYgKCFmYWlsZWQpCisgICAgICAgICAgICBsb2coIlBBU1MiKTsKKyAgICAgICAgd3Muc2VuZCgi
R29vZGJ5ZSIpOworICAgICAgICB3cy5vbm1lc3NhZ2UgPSBudWxsOworICAgICAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgc2V0VGltZW91dCgibGF5b3V0
VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpIiwgMCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
bGFzdFN0cmluZyArPSAiKiI7CisgICAgICAgIHdzLnNlbmQobGFzdFN0cmluZyk7CisgICAgfQor
fQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1jaGFsbGVuZ2UtcmFuZG9tbmVzcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1j
aGFsbGVuZ2UtcmFuZG9tbmVzcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzFiZGNkNzg1NmU4
YzY2NzFiMmY1OTQ3OGFhOTllYzAyYmExY2E2MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWNoYWxsZW5nZS1y
YW5kb21uZXNzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0hhbmRzaGFrZSByZXF1ZXN0
IHNob3VsZCBjb250YWluIHJhbmRvbSBjaGFsbGVuZ2UgdmFsdWVzLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1MgY2hhbGxlbmdlMSA9PT0gY2hhbGxlbmdlMiBpcyBmYWxzZQor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNo
YWtlLWNoYWxsZW5nZS1yYW5kb21uZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1jaGFsbGVuZ2UtcmFuZG9tbmVzcy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU4Yjc3OTY2ZjUwYjAxNGE0ZGIwNTcwNzY3MjRiMTYyYWJmNDA2ZGUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L2hhbmRzaGFrZS1jaGFsbGVuZ2UtcmFuZG9tbmVzcy5odG1sCkBAIC0wLDAgKzEsNTIgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10
ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oJ0hhbmRzaGFrZSBy
ZXF1ZXN0IHNob3VsZCBjb250YWluIHJhbmRvbSBjaGFsbGVuZ2UgdmFsdWVzLicpOworCit3aW5k
b3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4
aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCit2YXIgY2hhbGxlbmdlMTsKK3Zh
ciBjaGFsbGVuZ2UyOworCit2YXIgdXJsID0gJ3dzOi8vbG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvZWNoby1jaGFsbGVuZ2UnOwordmFyIHdzMSA9IG5ldyBXZWJTb2NrZXQodXJs
KTsKKword3MxLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2VFdmVudCkKK3sKKyAgICBjaGFs
bGVuZ2UxID0gbWVzc2FnZUV2ZW50LmRhdGE7CisgICAgd3MxLmNsb3NlKCk7Cit9CisKK3dzMS5v
bmNsb3NlID0gZnVuY3Rpb24oKQoreworICAgIHZhciB3czIgPSBuZXcgV2ViU29ja2V0KHVybCk7
CisKKyAgICB3czIub25tZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZUV2ZW50KQorICAgIHsKKyAg
ICAgICAgY2hhbGxlbmdlMiA9IG1lc3NhZ2VFdmVudC5kYXRhOworICAgICAgICB3czIuY2xvc2Uo
KTsKKyAgICB9CisKKyAgICB3czIub25jbG9zZSA9IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAg
IHNob3VsZEJlRmFsc2UoJ2NoYWxsZW5nZTEgPT09IGNoYWxsZW5nZTInKTsKKyAgICAgICAgaWYg
KGNoYWxsZW5nZTEgPT09IGNoYWxsZW5nZTIpCisgICAgICAgICAgICBkZWJ1ZygnY2hhbGxlbmdl
IHdhcyAnICsgY2hhbGxlbmdlMSk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KK30K
KwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZXJyb3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZXJyb3ItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1MzA4MjhkNGJjOTY2NmZjNTdkM2I4YzY1YmQ1MzVlM2Zi
ZmMyZmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1lcnJvci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBA
QAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IE5vIHJlc3BvbnNlIGNvZGUgZm91bmQ6IFRoaXNX
aWxsQ2F1c2VIYW5kc2hha2VFcnJvcgorSGFuZHNoYWtlIGVycm9yIHRlc3QKKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCitDbG9zZWQuCitQQVNTIHdzLnJlYWR5U3RhdGUgaXMgMworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtl
LWVycm9yLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L2hhbmRzaGFrZS1lcnJvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwZjgyZGI1M2U0MzI3MDEzMDlkOWVi
N2VkNzllZGJiNjcxYWU1NzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1lcnJvci5odG1sCkBAIC0wLDAgKzEs
NTQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pz
LXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8u
Li8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIkhh
bmRzaGFrZSBlcnJvciB0ZXN0Iik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
b3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVk
IiwgMCk7CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIGNsZWFyVGltZW91dCh0aW1lb3V0
SUQpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3
czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1lcnJvciIp
OworCit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgdGVzdEZhaWxlZCgiVW5leHBlY3Rl
ZGx5IENvbm5lY3RlZC4iKTsKK307CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2VF
dmVudCkKK3sKKyAgICB0ZXN0RmFpbGVkKCJVbmV4cGVjdGVkbHkgUmVjZWl2ZWQ6ICciICsgbWVz
c2FnZUV2ZW50LmRhdGEgKyAiJyIpOworfTsKKword3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKK3sK
KyAgICBkZWJ1ZygiQ2xvc2VkLiIpOworICAgIHNob3VsZEJlKCJ3cy5yZWFkeVN0YXRlIiwgIjMi
KQorICAgIGVuZFRlc3QoKTsKK307CisKK2Z1bmN0aW9uIHRpbWVPdXRDYWxsYmFjaygpCit7Cisg
ICAgdGVzdEZhaWxlZCgiVGltZWQgb3V0IGluIHN0YXRlOiAiICsgd3MucmVhZHlTdGF0ZSk7Cisg
ICAgZW5kVGVzdCgpOworfQorCit2YXIgdGltZW91dElEID0gc2V0VGltZW91dCh0aW1lT3V0Q2Fs
bGJhY2ssIDMwMDApOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1lcnJvcl93c2gucHkg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1l
cnJvcl93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzg1MWZhNjI2MTE3NjZhNTk4ZmM3MTU4NjU1YTA2MTU2
YzZhMjIxYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWVycm9yX3dzaC5weQpAQCAtMCwwICsxLDM4IEBACisj
IENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIwor
IyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisj
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgor
IyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKworCitmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgbXNndXRpbAor
CisKK2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICByZXF1
ZXN0LmNvbm5lY3Rpb24ud3JpdGUoJ1RoaXNXaWxsQ2F1c2VIYW5kc2hha2VFcnJvclxyXG4nKQor
CisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgbXNndXRpbC5z
ZW5kX21lc3NhZ2UocmVxdWVzdCwgJ0hlbGxvIGZyb20gSGFuZHNoYWtlIEVycm9yIFdTSC4nKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9o
YW5kc2hha2UtZmFpbC1ieS1jcm9zcy1vcmlnaW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1jcm9zcy1v
cmlnaW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI3YzgxZDA0NzFlZDJlZDBjNTIzZGNlYzg4
YjNiZmQ5NGM3NDg2ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LWNyb3NzLW9yaWdpbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IEVycm9y
IGR1cmluZyBXZWJTb2NrZXQgaGFuZHNoYWtlOiBvcmlnaW4gbWlzbWF0Y2g6IGh0dHA6Ly8xMjcu
MC4wLjE6ODAwMCAhPSBodHRwOi8vZXhhbXBsZS5jb20KK01ha2Ugc3VyZSBXZWIgU29ja2V0IGNv
bm5lY3Rpb24gZmFpbGVkIGlmIG9yaWdpbiBtaXNtYXRjaGVzLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK2RvY3VtZW50LmRvbWFpbj0xMjcuMC4wLjEKK3dzLnVybD13czovL2xvY2Fs
aG9zdDo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2ZpeGVkLW9yaWdpbgorUEFTUyBjb25uZWN0
ZWQgaXMgZmFsc2UKK1BBU1Mgb3JpZ2luIGlzIHVuZGVmaW5lZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LWNyb3Nz
LW9yaWdpbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9oYW5kc2hha2UtZmFpbC1ieS1jcm9zcy1vcmlnaW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZTZhNjdm
ZmJjZGI5MWE5YTg2ZDZhODdhOGM2ODc0M2NiYzBmODBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1i
eS1jcm9zcy1vcmlnaW4uaHRtbApAQCAtMCwwICsxLDYzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJNYWtlIHN1cmUgV2ViIFNvY2tldCBjb25uZWN0
aW9uIGZhaWxlZCBpZiBvcmlnaW4gbWlzbWF0Y2hlcy4iKTsKKword2luZG93LmpzVGVzdElzQXN5
bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQ
cm90b2NvbEVuYWJsZWQiLCAwKTsKKwordmFyIGNvbm5lY3RlZCA9IGZhbHNlOwordmFyIG9yaWdp
bjsKKworZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAgc2hvdWxkQmVGYWxzZSgiY29ubmVjdGVk
Iik7CisgICAgc2hvdWxkQmVVbmRlZmluZWQoIm9yaWdpbiIpOworICAgIGNsZWFyVGltZW91dCh0
aW1lb3V0SUQpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit2YXIgdXJsID0gIndzOi8vbG9j
YWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZml4ZWQtb3JpZ2luIjsKK2RlYnVnKCJk
b2N1bWVudC5kb21haW49IiArIGRvY3VtZW50LmRvbWFpbik7CitkZWJ1Zygid3MudXJsPSIgKyB1
cmwpOwordmFyIHdzID0gbmV3IFdlYlNvY2tldCh1cmwpOworCit3cy5vbm9wZW4gPSBmdW5jdGlv
bigpCit7CisgICAgZGVidWcoIkNvbm5lY3RlZCIpOworICAgIGNvbm5lY3RlZCA9IHRydWU7Cit9
OworCit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAobWVzc2FnZUV2ZW50KQoreworICAgIG9yaWdp
biA9IG1lc3NhZ2VFdmVudC5kYXRhOworICAgIGRlYnVnKCJvcmlnaW49IiArIG9yaWdpbik7Cisg
ICAgd3MuY2xvc2UoKTsKK307CisKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbigpCit7CisgICAgZW5k
VGVzdCgpOworfTsKKworZnVuY3Rpb24gdGltZU91dENhbGxiYWNrKCkKK3sKKyAgICBkZWJ1Zygi
VGltZWQgb3V0IGluIHN0YXRlOiAiICsgd3MucmVhZHlTdGF0ZSk7CisgICAgZW5kVGVzdCgpOwor
fQorCit2YXIgdGltZW91dElEID0gc2V0VGltZW91dCh0aW1lT3V0Q2FsbGJhY2ssIDMwMDApOwor
Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW1heGxlbmd0aC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFr
ZS1mYWlsLWJ5LW1heGxlbmd0aC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjFlZTczYjJmOTQ2
ZTJlMzczMzU0Y2EzYzRkNTljMDk0NTE5ZDJiNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbWF4
bGVuZ3RoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMDogU3RhdHVzIGxpbmUgaXMgdG9vIGxvbmcKK0Nvbm5lY3Rpb24gc2hvdWxkIGZhaWwgaW1t
ZWRpYXRlbHksIHJhdGhlciB0aGFuIHN1Y2NlZWRpbmcgb3Igc3RheWluZyBpbiBsaW1ibyB1bnRp
bCB0aW1lb3V0LCBpZiBoYW5kc2hha2UgaXMgbG9uZ2VyIHRoYW4gMTAyNCBieXRlcy4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIHRpbWVkT3V0IGlzIGZhbHNlCitQQVNTIGNv
bm5lY3RlZCBpcyBmYWxzZQorUEFTUyBvcmlnaW4gaXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnkt
bWF4bGVuZ3RoLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW1heGxlbmd0aC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4OGI2YTFj
YWY2NGViZDE2Njc2MzliNmVjZGFlODhlZjlkNmRmNWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5
LW1heGxlbmd0aC5odG1sCkBAIC0wLDAgKzEsNjMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCdDb25uZWN0aW9uIHNob3VsZCBmYWlsIGltbWVkaWF0ZWx5LCByYXRoZXIgdGhhbiBzdWNjZWVk
aW5nIG9yIHN0YXlpbmcgaW4gbGltYm8gdW50aWwgdGltZW91dCwgaWYgaGFuZHNoYWtlIGlzIGxv
bmdlciB0aGFuIDEwMjQgYnl0ZXMuJyk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
K2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFi
bGVkIiwgMCk7CisKK3ZhciB0aW1lZE91dCA9IGZhbHNlOwordmFyIGNvbm5lY3RlZCA9IGZhbHNl
OwordmFyIG9yaWdpbjsKKworZnVuY3Rpb24gZW5kVGVzdCgpIHsKKyAgICBzaG91bGRCZUZhbHNl
KCd0aW1lZE91dCcpOworICAgIHNob3VsZEJlRmFsc2UoJ2Nvbm5lY3RlZCcpOworICAgIHNob3Vs
ZEJlVW5kZWZpbmVkKCdvcmlnaW4nKTsKKyAgICBjbGVhclRpbWVvdXQodGltZW91dElEKTsKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30KKwordmFyIHVybCA9ICd3czovL2xvY2FsaG9zdDo4ODgwL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW1heGxlbmd0aCc7Cit2YXIgd3Mg
PSBuZXcgV2ViU29ja2V0KHVybCk7CisKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uKCkKK3sKKyAgICBk
ZWJ1ZygnQ29ubmVjdGVkJyk7CisgICAgY29ubmVjdGVkID0gdHJ1ZTsKK30KKword3Mub25tZXNz
YWdlID0gZnVuY3Rpb24obWVzc2FnZUV2ZW50KQoreworICAgIG9yaWdpbiA9IG1lc3NhZ2VFdmVu
dC5kYXRhOworICAgIGRlYnVnKCdvcmlnaW4gPSAnICsgb3JpZ2luKTsKKyAgICB3cy5jbG9zZSgp
OworfQorCit3cy5vbmNsb3NlID0gZnVuY3Rpb24oKQoreworICAgIGVuZFRlc3QoKTsKK30KKwor
ZnVuY3Rpb24gdGltZW91dENhbGxiYWNrKCkKK3sKKyAgICBkZWJ1ZygnVGltZWQgb3V0IChzdGF0
ZSA9ICcgKyB3cy5yZWFkeVN0YXRlICsgJyknKTsKKyAgICB0aW1lZE91dCA9IHRydWU7CisgICAg
ZW5kVGVzdCgpOworfQorCit2YXIgdGltZW91dElEID0gc2V0VGltZW91dCh0aW1lb3V0Q2FsbGJh
Y2ssIDMwMDApOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW1heGxlbmd0
aF93c2gucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hh
bmRzaGFrZS1mYWlsLWJ5LW1heGxlbmd0aF93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzAzOWZiMzhlOTMz
MTAyYTAwNWViMWJhOGMyMDhjMjU5NDg3ZDUxMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbWF4
bGVuZ3RoX3dzaC5weQpAQCAtMCwwICsxLDM5IEBACisjIENvcHlyaWdodCAoQykgUmVzZWFyY2gg
SW4gTW90aW9uIExpbWl0ZWQgMjAxMS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZQorIyBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorIworIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisjIGRpc2NsYWltZXIuCisjCisjIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZQorIyBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIOKAnEFTIElT4oCd
IEFORCBBTlkgRVhQUkVTUyBPUgorIyBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisjIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMCisjIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorIyBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisjIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
CisjIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IKKyMgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUworIyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKworCitkZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVx
dWVzdCk6CisgICAgIyBUaGlzIHdpbGwgY2F1c2UgdGhlIGhhbmRzaGFrZSB0byBmYWlsIGJlY2F1
c2UgaXQgcHVzaGVzIHRoZSBsZW5ndGggb2YgdGhlCisgICAgIyBzdGF0dXMgbGluZSBwYXN0IDEw
MjQgY2hhcmFjdGVycworICAgIG1zZyA9ICcuJyAqIDEwMjQKKyAgICBtc2cgKz0gJ0hUVFAvMS4x
IDEwMSBXZWJTb2NrZXQgUHJvdG9jb2wgSGFuZHNoYWtlXHJcbicKKyAgICBtc2cgKz0gJ1VwZ3Jh
ZGU6IFdlYlNvY2tldFxyXG4nCisgICAgbXNnICs9ICdDb25uZWN0aW9uOiBVcGdyYWRlXHJcbicK
KyAgICBtc2cgKz0gJ1NlYy1XZWJTb2NrZXQtTG9jYXRpb246ICcgKyByZXF1ZXN0LndzX2xvY2F0
aW9uICsgJ1xyXG4nCisgICAgbXNnICs9ICdTZWMtV2ViU29ja2V0LU9yaWdpbjogJyArIHJlcXVl
c3Qud3Nfb3JpZ2luICsgJ1xyXG4nCisgICAgbXNnICs9ICdcclxuJworICAgIG1zZyArPSByZXF1
ZXN0LndzX2NoYWxsZW5nZV9tZDUKKyAgICByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdGUobXNnKQor
ICAgIHJhaXNlIEV4Y2VwdGlvbignYWJvcnQgdGhlIGNvbm5lY3Rpb24nKSAjIFByZXZlbnRzIHB5
d2Vic29ja2V0IGZyb20gc2VuZGluZyBpdHMgb3duIGhhbmRzaGFrZSBtZXNzYWdlLgorCisKK2Rl
ZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgcGFzcwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2Ut
ZmFpbC1ieS1uby1jb25uZWN0aW9uLWhlYWRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLWNvbm5l
Y3Rpb24taGVhZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjYyZDViNjYwNmEyNDJkMjZk
YTMxZTUyN2FhNmVmNGNkNmYxMDhhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1uby1jb25uZWN0
aW9uLWhlYWRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMDogRXJyb3IgZHVyaW5nIFdlYlNvY2tldCBoYW5kc2hha2U6ICdDb25uZWN0aW9uJyBo
ZWFkZXIgaXMgbWlzc2luZworVGVzdCB0aGF0IFdlYlNvY2tldCBoYW5kc2hha2UgZmFpbHMgaWYg
Q29ubmVjdGlvbiBoZWFkZXIgZmllbGQgaXNuJ3QgcmVmbGVjdGVkIGJ5IHRoZSBzZXJ2ZXIuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbm8tY29ubmVjdGlvbi1o
ZWFkZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
aGFuZHNoYWtlLWZhaWwtYnktbm8tY29ubmVjdGlvbi1oZWFkZXIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
ODQ0ZjI2NmNmMjE3NjQyYzU2ZTY0YTUzYTVhNjg3ODhjMmY3MmU5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2Ut
ZmFpbC1ieS1uby1jb25uZWN0aW9uLWhlYWRlci5odG1sCkBAIC0wLDAgKzEsNTQgQEAKKzwhRE9D
VFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBX
ZWJTb2NrZXQgaGFuZHNoYWtlIGZhaWxzIGlmIENvbm5lY3Rpb24gaGVhZGVyIGZpZWxkIGlzbid0
IHJlZmxlY3RlZCBieSB0aGUgc2VydmVyLiIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29s
RW5hYmxlZCIsIDApOworCitmdW5jdGlvbiBlbmRUZXN0KCkKK3sKKyAgICBjbGVhclRpbWVvdXQo
dGltZW91dElEKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKwordmFyIHVybCA9ICJ3czovL2xv
Y2FsaG9zdDo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLWNv
bm5lY3Rpb24taGVhZGVyIjsKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQodXJsKTsKKword3Mub25v
cGVuID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJGQUlMOiBDb25uZWN0ZWQiKTsKK307CisK
K3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2VFdmVudCkKK3sKKyAgICBwcm90b2NvbCA9
IG1lc3NhZ2VFdmVudC5kYXRhOworICAgIHdzLmNsb3NlKCk7Cit9OworCit3cy5vbmNsb3NlID0g
ZnVuY3Rpb24oKQoreworICAgIGVuZFRlc3QoKTsKK307CisKK2Z1bmN0aW9uIHRpbWVPdXRDYWxs
YmFjaygpCit7CisgICAgZGVidWcoIlRpbWVkIG91dCBpbiBzdGF0ZTogIiArIHdzLnJlYWR5U3Rh
dGUpOworICAgIGVuZFRlc3QoKTsKK30KKwordmFyIHRpbWVvdXRJRCA9IHNldFRpbWVvdXQodGlt
ZU91dENhbGxiYWNrLCAzMDAwKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1i
eS1uby1jb25uZWN0aW9uLWhlYWRlcl93c2gucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLWNvbm5lY3Rpb24taGVhZGVy
X3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43ZWZjODdhNTBkNjZkZTg3NGM4YTFkYzM4NmYyZGI2Y2VmMDNh
NDM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1uby1jb25uZWN0aW9uLWhlYWRlcl93c2gucHkK
QEAgLTAsMCArMSwxNSBAQAorZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVl
c3QpOgorICAgIG1zZyA9ICdIVFRQLzEuMSAxMDEgV2ViU29ja2V0IFByb3RvY29sIEhhbmRzaGFr
ZVxyXG4nCisgICAgbXNnICs9ICdVcGdyYWRlOiBXZWJTb2NrZXRcclxuJworIyAgIE1pc3Npbmcg
J0Nvbm5lY3Rpb246IFVwZ3JhZGVcclxuJworICAgIG1zZyArPSAnU2VjLVdlYlNvY2tldC1Mb2Nh
dGlvbjogJyArIHJlcXVlc3Qud3NfbG9jYXRpb24gKyAnXHJcbicKKyAgICBtc2cgKz0gJ1NlYy1X
ZWJTb2NrZXQtT3JpZ2luOiAnICsgcmVxdWVzdC53c19vcmlnaW4gKyAnXHJcbicKKyAgICBtc2cg
Kz0gJ1xyXG4nCisgICAgbXNnICs9IHJlcXVlc3Qud3NfY2hhbGxlbmdlX21kNQorICAgIHJlcXVl
c3QuY29ubmVjdGlvbi53cml0ZShtc2cpCisgICAgcHJpbnQgbXNnCisgICAgcmFpc2UgRXhjZXB0
aW9uKCdBYm9ydCB0aGUgY29ubmVjdGlvbicpICMgUHJldmVudHMgcHl3ZWJzb2NrZXQgZnJvbSBz
ZW5kaW5nIGl0cyBvd24gaGFuZHNoYWtlIG1lc3NhZ2UuCisKKworZGVmIHdlYl9zb2NrZXRfdHJh
bnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICBwYXNzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLWNyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
aGFuZHNoYWtlLWZhaWwtYnktbm8tY3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNlNTZlYjdi
OTVlMmY5NGRhYjA3NTVmMWQ3Yjk5MGMwYTA4MGI4MjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5
LW5vLWNyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMDogU3RhdHVzIGxpbmUgZG9lcyBub3QgZW5kIHdpdGggQ1JMRgorSGFuZHNoYWtlIHNob3Vs
ZCBmYWlsIHdoZW4gdGhlIGZpcnN0IGxpbmUgZG9lcyBub3QgZW5kIHdpdGggQ1JMRi4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGNvbm5lY3RlZCBpcyBmYWxzZQorUEFTUyBv
cmlnaW4gaXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbm8tY3IuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbm8tY3Iu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40NGI1YWQ5ODcxNDQ3ZTUwYWMzYTRhYzY0YjFhZDgzOTU1ZmVlNDcz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1uby1jci5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10
ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oJ0hhbmRzaGFrZSBz
aG91bGQgZmFpbCB3aGVuIHRoZSBmaXJzdCBsaW5lIGRvZXMgbm90IGVuZCB3aXRoIENSTEYuJyk7
CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJX
ZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK3ZhciBjb25uZWN0
ZWQgPSBmYWxzZTsKK3ZhciBvcmlnaW47CisKK2Z1bmN0aW9uIGVuZFRlc3QoKSB7CisgICAgc2hv
dWxkQmVGYWxzZSgnY29ubmVjdGVkJyk7CisgICAgc2hvdWxkQmVVbmRlZmluZWQoJ29yaWdpbicp
OworICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQor
Cit2YXIgdXJsID0gJ3dzOi8vbG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFu
ZHNoYWtlLWZhaWwtYnktbm8tY3InOwordmFyIHdzID0gbmV3IFdlYlNvY2tldCh1cmwpOworCit3
cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoJ0Nvbm5lY3RlZCcpOworICAgIGNv
bm5lY3RlZCA9IHRydWU7Cit9CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2VFdmVu
dCkKK3sKKyAgICBvcmlnaW4gPSBtZXNzYWdlRXZlbnQuZGF0YTsKKyAgICBkZWJ1Zygnb3JpZ2lu
ID0gJyArIG9yaWdpbik7CisgICAgd3MuY2xvc2UoKTsKK30KKword3Mub25jbG9zZSA9IGZ1bmN0
aW9uKCkKK3sKKyAgICBlbmRUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHRpbWVvdXRDYWxsYmFjaygp
Cit7CisgICAgZGVidWcoJ1RpbWVkIG91dCAoc3RhdGUgPSAnICsgd3MucmVhZHlTdGF0ZSArICcp
Jyk7CisgICAgZW5kVGVzdCgpOworfQorCit2YXIgdGltZW91dElEID0gc2V0VGltZW91dCh0aW1l
b3V0Q2FsbGJhY2ssIDMwMDApOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5
LW5vLWNyX3dzaC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvaGFuZHNoYWtlLWZhaWwtYnktbm8tY3Jfd3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk3ODkyNGFiNmVi
MThiOTU2ZmY0NTU5ZDViOTNkYmVkZTgzYjkzMzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW5v
LWNyX3dzaC5weQpAQCAtMCwwICsxLDE1IEBACitkZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5k
c2hha2UocmVxdWVzdCk6CisgICAgbXNnID0gJ0hUVFAvMS4xIDEwMSBXZWJTb2NrZXQgUHJvdG9j
b2wgSGFuZHNoYWtlXG4nICMgRG9lcyBub3QgZW5kIHdpdGggIlxyXG4iLgorICAgIG1zZyArPSAn
VXBncmFkZTogV2ViU29ja2V0XHJcbicKKyAgICBtc2cgKz0gJ0Nvbm5lY3Rpb246IFVwZ3JhZGVc
clxuJworICAgIG1zZyArPSAnU2VjLVdlYlNvY2tldC1Mb2NhdGlvbjogJyArIHJlcXVlc3Qud3Nf
bG9jYXRpb24gKyAnXHJcbicKKyAgICBtc2cgKz0gJ1NlYy1XZWJTb2NrZXQtT3JpZ2luOiAnICsg
cmVxdWVzdC53c19vcmlnaW4gKyAnXHJcbicKKyAgICBtc2cgKz0gJ1xyXG4nCisgICAgbXNnICs9
IHJlcXVlc3Qud3NfY2hhbGxlbmdlX21kNQorICAgIHJlcXVlc3QuY29ubmVjdGlvbi53cml0ZSht
c2cpCisgICAgcHJpbnQgbXNnCisgICAgcmFpc2UgRXhjZXB0aW9uKCdBYm9ydCB0aGUgY29ubmVj
dGlvbicpICMgUHJldmVudHMgcHl3ZWJzb2NrZXQgZnJvbSBzZW5kaW5nIGl0cyBvd24gaGFuZHNo
YWtlIG1lc3NhZ2UuCisKKworZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1ZXN0KToK
KyAgICBwYXNzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLXVwZ3JhZGUtaGVhZGVyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtl
LWZhaWwtYnktbm8tdXBncmFkZS1oZWFkZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdmMDY2
N2RiOTA4MjIyYmRiNGExOGM4YjQ1NmMxM2IyZDA4YjA1NDkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWls
LWJ5LW5vLXVwZ3JhZGUtaGVhZGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSAwOiBFcnJvciBkdXJpbmcgV2ViU29ja2V0IGhhbmRzaGFrZTogJ1Vw
Z3JhZGUnIGhlYWRlciBpcyBtaXNzaW5nCitUZXN0IHRoYXQgV2ViU29ja2V0IGhhbmRzaGFrZSBm
YWlscyBpZiBVcGdyYWRlIGhlYWRlciBmaWVsZCBpc24ndCByZWZsZWN0ZWQgYnkgdGhlIHNlcnZl
ci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1uby11cGdyYWRl
LWhlYWRlci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9oYW5kc2hha2UtZmFpbC1ieS1uby11cGdyYWRlLWhlYWRlci5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY0
MTEzYjUzMzdjYTM4NWNjNjBjNzIyZTJjMmUyZjZkNjg0OGQ4Y2EKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1m
YWlsLWJ5LW5vLXVwZ3JhZGUtaGVhZGVyLmh0bWwKQEAgLTAsMCArMSw1NCBAQAorPCFET0NUWVBF
IEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCB0aGF0IFdlYlNv
Y2tldCBoYW5kc2hha2UgZmFpbHMgaWYgVXBncmFkZSBoZWFkZXIgZmllbGQgaXNuJ3QgcmVmbGVj
dGVkIGJ5IHRoZSBzZXJ2ZXIuIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
b3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVk
IiwgMCk7CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIGNsZWFyVGltZW91dCh0aW1lb3V0
SUQpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit2YXIgdXJsID0gIndzOi8vbG9jYWxob3N0
Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbm8tdXBncmFkZS1o
ZWFkZXIiOwordmFyIHdzID0gbmV3IFdlYlNvY2tldCh1cmwpOworCit3cy5vbm9wZW4gPSBmdW5j
dGlvbigpCit7CisgICAgZGVidWcoIkZBSUw6IENvbm5lY3RlZCIpOworfTsKKword3Mub25tZXNz
YWdlID0gZnVuY3Rpb24obWVzc2FnZUV2ZW50KQoreworICAgIHByb3RvY29sID0gbWVzc2FnZUV2
ZW50LmRhdGE7CisgICAgd3MuY2xvc2UoKTsKK307CisKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbigp
Cit7CisgICAgZW5kVGVzdCgpOworfTsKKworZnVuY3Rpb24gdGltZU91dENhbGxiYWNrKCkKK3sK
KyAgICBkZWJ1ZygiVGltZWQgb3V0IGluIHN0YXRlOiAiICsgd3MucmVhZHlTdGF0ZSk7CisgICAg
ZW5kVGVzdCgpOworfQorCit2YXIgdGltZW91dElEID0gc2V0VGltZW91dCh0aW1lT3V0Q2FsbGJh
Y2ssIDMwMDApOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LW5vLXVwZ3Jh
ZGUtaGVhZGVyX3dzaC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktbm8tdXBncmFkZS1oZWFkZXJfd3NoLnB5Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjExNGRlNzVlMTkzN2FjNWJlZTVlNzFhNThkY2NkOWRmNmIwYWY3OGMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRz
aGFrZS1mYWlsLWJ5LW5vLXVwZ3JhZGUtaGVhZGVyX3dzaC5weQpAQCAtMCwwICsxLDE1IEBACitk
ZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgbXNnID0gJ0hU
VFAvMS4xIDEwMSBXZWJTb2NrZXQgUHJvdG9jb2wgSGFuZHNoYWtlXHJcbicKKyMgICBNaXNzaW5n
ICdVcGdyYWRlOiBXZWJTb2NrZXRcclxuJworICAgIG1zZyArPSAnQ29ubmVjdGlvbjogVXBncmFk
ZVxyXG4nCisgICAgbXNnICs9ICdTZWMtV2ViU29ja2V0LUxvY2F0aW9uOiAnICsgcmVxdWVzdC53
c19sb2NhdGlvbiArICdcclxuJworICAgIG1zZyArPSAnU2VjLVdlYlNvY2tldC1PcmlnaW46ICcg
KyByZXF1ZXN0LndzX29yaWdpbiArICdcclxuJworICAgIG1zZyArPSAnXHJcbicKKyAgICBtc2cg
Kz0gcmVxdWVzdC53c19jaGFsbGVuZ2VfbWQ1CisgICAgcmVxdWVzdC5jb25uZWN0aW9uLndyaXRl
KG1zZykKKyAgICBwcmludCBtc2cKKyAgICByYWlzZSBFeGNlcHRpb24oJ0Fib3J0IHRoZSBjb25u
ZWN0aW9uJykgIyBQcmV2ZW50cyBweXdlYnNvY2tldCBmcm9tIHNlbmRpbmcgaXRzIG93biBoYW5k
c2hha2UgbWVzc2FnZS4KKworCitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3Qp
OgorICAgIHBhc3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktcHJlcGVuZGVkLW51bGwtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5kc2hha2Ut
ZmFpbC1ieS1wcmVwZW5kZWQtbnVsbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWRiMTdjOGYy
MjU3M2IxNDY1MDY0MTA2NTVlNTVkZWVhODllMjdlOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnkt
cHJlcGVuZGVkLW51bGwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSAwOiBTdGF0dXMgbGluZSBjb250YWlucyBlbWJlZGRlZCBudWxsCitDb25uZWN0
aW9uIHNob3VsZCBmYWlsIGltbWVkaWF0ZWx5LCByYXRoZXIgdGhhbiBzdWNjZWVkaW5nIG9yIHN0
YXlpbmcgaW4gbGltYm8gdW50aWwgdGltZW91dCwgaWYgYSBudWxsIGJ5dGUgaXMgcmVjZWl2ZWQg
YmVmb3JlIHRoZSBoYW5kc2hha2UuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFT
UyB0aW1lZE91dCBpcyBmYWxzZQorUEFTUyBjb25uZWN0ZWQgaXMgZmFsc2UKK1BBU1Mgb3JpZ2lu
IGlzIHVuZGVmaW5lZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LXByZXBlbmRlZC1udWxsLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LXBy
ZXBlbmRlZC1udWxsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGUwZTQ0MGVjZmUxOGNkOGEwOGY4YjI1ZWJi
ZjA1NWUzMmIzOThlYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktcHJlcGVuZGVkLW51bGwuaHRt
bApAQCAtMCwwICsxLDYzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignQ29ubmVjdGlvbiBz
aG91bGQgZmFpbCBpbW1lZGlhdGVseSwgcmF0aGVyIHRoYW4gc3VjY2VlZGluZyBvciBzdGF5aW5n
IGluIGxpbWJvIHVudGlsIHRpbWVvdXQsIGlmIGEgbnVsbCBieXRlIGlzIHJlY2VpdmVkIGJlZm9y
ZSB0aGUgaGFuZHNoYWtlLicpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92
ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIs
IDApOworCit2YXIgdGltZWRPdXQgPSBmYWxzZTsKK3ZhciBjb25uZWN0ZWQgPSBmYWxzZTsKK3Zh
ciBvcmlnaW47CisKK2Z1bmN0aW9uIGVuZFRlc3QoKSB7CisgICAgc2hvdWxkQmVGYWxzZSgndGlt
ZWRPdXQnKTsKKyAgICBzaG91bGRCZUZhbHNlKCdjb25uZWN0ZWQnKTsKKyAgICBzaG91bGRCZVVu
ZGVmaW5lZCgnb3JpZ2luJyk7CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7CisgICAgZmlu
aXNoSlNUZXN0KCk7Cit9CisKK3ZhciB1cmwgPSAnd3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1wcmVwZW5kZWQtbnVsbCc7Cit2YXIgd3Mg
PSBuZXcgV2ViU29ja2V0KHVybCk7CisKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uKCkKK3sKKyAgICBk
ZWJ1ZygnQ29ubmVjdGVkJyk7CisgICAgY29ubmVjdGVkID0gdHJ1ZTsKK30KKword3Mub25tZXNz
YWdlID0gZnVuY3Rpb24obWVzc2FnZUV2ZW50KQoreworICAgIG9yaWdpbiA9IG1lc3NhZ2VFdmVu
dC5kYXRhOworICAgIGRlYnVnKCdvcmlnaW4gPSAnICsgb3JpZ2luKTsKKyAgICB3cy5jbG9zZSgp
OworfQorCit3cy5vbmNsb3NlID0gZnVuY3Rpb24oKQoreworICAgIGVuZFRlc3QoKTsKK30KKwor
ZnVuY3Rpb24gdGltZW91dENhbGxiYWNrKCkKK3sKKyAgICBkZWJ1ZygnVGltZWQgb3V0IChzdGF0
ZSA9ICcgKyB3cy5yZWFkeVN0YXRlICsgJyknKTsKKyAgICB0aW1lZE91dCA9IHRydWU7CisgICAg
ZW5kVGVzdCgpOworfQorCit2YXIgdGltZW91dElEID0gc2V0VGltZW91dCh0aW1lb3V0Q2FsbGJh
Y2ssIDMwMDApOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1mYWlsLWJ5LXByZXBlbmRl
ZC1udWxsX3dzaC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvaGFuZHNoYWtlLWZhaWwtYnktcHJlcGVuZGVkLW51bGxfd3NoLnB5Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA3
MzUxODQ5ODE0MTlmOWMyYTM2MmZiODY5NTM2MzQxMWYzMDVhYTUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1m
YWlsLWJ5LXByZXBlbmRlZC1udWxsX3dzaC5weQpAQCAtMCwwICsxLDUxIEBACisjIENvcHlyaWdo
dCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMS4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZQorIyBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorIworIyAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisjIGRpc2Ns
YWltZXIuCisjCisjIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZQorIyBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMg
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIOKAnEFTIElT4oCdIEFORCBBTlkgRVhQUkVTUyBPUgorIyBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
CisjIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMCisjIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorIyBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisjIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pCisjIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IKKyMgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUworIyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworaW1wb3J0IHRpbWUKKworCitkZWYgd2Vi
X3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgIyBUaGlzIHNpbXVsYXRl
cyBhIGJyb2tlbiBzZXJ2ZXIgdGhhdCBzZW5kcyBhIFdlYlNvY2tldCBmcmFtZSBiZWZvcmUgdGhl
CisgICAgIyBoYW5kc2hha2UsIGFuZCBtb3JlIGZyYW1lcyBhZnRlcndhcmRzLiAgSXQgaXMgaW1w
b3J0YW50IHRoYXQgaWYgdGhpcworICAgICMgaGFwcGVucyB0aGUgY2xpZW50IGRvZXMgbm90IGJ1
ZmZlciBhbGwgdGhlIGZyYW1lcyBhcyB0aGUgc2VydmVyIGNvbnRpbnVlcworICAgICMgdG8gc2Vu
ZCBtb3JlIGRhdGEgLSBpdCBzaG91bGQgYWJvcnQgYWZ0ZXIgcmVhZGluZyBhIHJlYXNvbmFibGUg
bnVtYmVyIG9mCisgICAgIyBieXRlcyAoc2V0IGFyYml0cmFyaWx5IHRvIDEwMjQpLgorICAgIGZy
YW1lID0gJ1wwRnJhbWUtY29udGFpbnMtdGhpcnR5LXR3by1ieXRlcycKKworICAgIG1zZyA9IGZy
YW1lCisgICAgbXNnICs9ICdIVFRQLzEuMSAxMDEgV2ViU29ja2V0IFByb3RvY29sIEhhbmRzaGFr
ZVxyXG4nCisgICAgbXNnICs9ICdVcGdyYWRlOiBXZWJTb2NrZXRcclxuJworICAgIG1zZyArPSAn
Q29ubmVjdGlvbjogVXBncmFkZVxyXG4nCisgICAgbXNnICs9ICdTZWMtV2ViU29ja2V0LUxvY2F0
aW9uOiAnICsgcmVxdWVzdC53c19sb2NhdGlvbiArICdcclxuJworICAgIG1zZyArPSAnU2VjLVdl
YlNvY2tldC1PcmlnaW46ICcgKyByZXF1ZXN0LndzX29yaWdpbiArICdcclxuJworICAgIG1zZyAr
PSAnXHJcbicKKyAgICBtc2cgKz0gcmVxdWVzdC53c19jaGFsbGVuZ2VfbWQ1CisgICAgcmVxdWVz
dC5jb25uZWN0aW9uLndyaXRlKG1zZykKKyAgICAjIGNvbnRpbnVlIHdyaXRpbmcgZGF0YSB1bnRp
bCB0aGUgY2xpZW50IGRpc2Nvbm5lY3RzCisgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgdGltZS5z
bGVlcCgxKQorICAgICAgICBudW1GcmFtZXMgPSAxMDI0IC8gbGVuKGZyYW1lKSAjIHdyaXRlIG92
ZXIgMTAyNCBieXRlcyBpbmNsdWRpbmcgdGhlIGFib3ZlIGhhbmRzaGFrZQorICAgICAgICBmb3Ig
aSBpbiByYW5nZSgwLCBudW1GcmFtZXMpOgorICAgICAgICAgICAgcmVxdWVzdC5jb25uZWN0aW9u
LndyaXRlKGZyYW1lKQorCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6
CisgICAgcGFzcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS9oYW5kc2hha2UtZmFpbC1ieS1zdWItcHJvdG9jb2wtbWlzbWF0Y2gtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9oYW5k
c2hha2UtZmFpbC1ieS1zdWItcHJvdG9jb2wtbWlzbWF0Y2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjE2NDY0MmIyYThjOWE3ZjUyNThjNWU3YWRmOTRmYzkyZmQ5OGQ2ZWEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRz
aGFrZS1mYWlsLWJ5LXN1Yi1wcm90b2NvbC1taXNtYXRjaC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IEVycm9yIGR1cmluZyBXZWJTb2NrZXQg
aGFuZHNoYWtlOiBwcm90b2NvbCBtaXNtYXRjaDogcmVxdWVzdHRpbmctcHJvdG9jb2wgIT0gYXZh
aWxhYmxlLXByb3RvY29sCitUZXN0IFdlYlNvY2tldCBoYW5kc2hha2UgZmFpbCBpZiBzdWIgcHJv
dG9jb2wgbmFtZSBtaXNtYXRjaGVzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1MgcHJvdG9jb2wgaXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZHNoYWtlLWZhaWwtYnktc3ViLXByb3RvY29sLW1pc21h
dGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hh
bmRzaGFrZS1mYWlsLWJ5LXN1Yi1wcm90b2NvbC1taXNtYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2
ZDc5MmY3M2U0ODVkMTNlMDBjODk1NjVhN2Q4M2EyM2Y1MmM5OTYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmRzaGFrZS1m
YWlsLWJ5LXN1Yi1wcm90b2NvbC1taXNtYXRjaC5odG1sCkBAIC0wLDAgKzEsNTcgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0
LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIlRlc3QgV2ViU29ja2V0
IGhhbmRzaGFrZSBmYWlsIGlmIHN1YiBwcm90b2NvbCBuYW1lIG1pc21hdGNoZXMuIik7CisKK3dp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRI
aXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK3ZhciBwcm90b2NvbDsKKwor
ZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAgc2hvdWxkQmVVbmRlZmluZWQoInByb3RvY29sIik7
CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisK
K3ZhciB1cmwgPSAid3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9wcm90
b2NvbC10ZXN0P3Byb3RvY29sPWF2YWlsYWJsZS1wcm90b2NvbCI7Cit2YXIgd3MgPSBuZXcgV2Vi
U29ja2V0KHVybCwgInJlcXVlc3R0aW5nLXByb3RvY29sIik7CisKK3dzLm9ub3BlbiA9IGZ1bmN0
aW9uKCkKK3sKKyAgICBkZWJ1ZygiQ29ubmVjdGVkIik7Cit9OworCit3cy5vbm1lc3NhZ2UgPSBm
dW5jdGlvbiAobWVzc2FnZUV2ZW50KQoreworICAgIHByb3RvY29sID0gbWVzc2FnZUV2ZW50LmRh
dGE7CisgICAgd3MuY2xvc2UoKTsKK307CisKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbigpCit7Cisg
ICAgZW5kVGVzdCgpOworfTsKKworZnVuY3Rpb24gdGltZU91dENhbGxiYWNrKCkKK3sKKyAgICBk
ZWJ1ZygiVGltZWQgb3V0IGluIHN0YXRlOiAiICsgd3MucmVhZHlTdGF0ZSk7CisgICAgZW5kVGVz
dCgpOworfQorCit2YXIgdGltZW91dElEID0gc2V0VGltZW91dCh0aW1lT3V0Q2FsbGJhY2ssIDMw
MDApOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2hhbmdpbmctaGFuZHNoYWtlX3dzaC5weSBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaGFuZ2luZy1oYW5kc2hha2Vf
d3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgzOTFiZDgxNWJiYTIyMjFlNGJjNGNhMjQ3NjJkYTRhNTllZTMy
NDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2hhbmdpbmctaGFuZHNoYWtlX3dzaC5weQpAQCAtMCwwICsxLDYgQEAKK2RlZiB3
ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICByZXF1ZXN0LmNvbm5l
Y3Rpb24ucmVhZCgpCisKKworZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1ZXN0KToK
KyAgICBwYXNzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2h0dHBvbmx5LWNvb2tpZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2h0dHBvbmx5LWNvb2tpZS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2I5MmVjMzYzM2NiNDY2ZTJmZGM1OTYxMTU0Yjg0ZDA3MjcwYzA0MwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvaHR0cG9ubHktY29va2llLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUZXN0IFdl
YlNvY2tldCBzZW5kcyBIdHRwT25seSBjb29raWVzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1dlYlNvY2tldCBvcGVuCitXZWJTb2NrZXQgY2xvc2VkCitQQVNTIGNvb2tpZSBpcyAi
V0std2Vic29ja2V0LXRlc3QtaHR0cG9ubHk9MTsgV0std2Vic29ja2V0LXRlc3Q9MSIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2h0dHBvbmx5LWNv
b2tpZS5wbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvaHR0
cG9ubHktY29va2llLnBsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBkNjE0NDYzZDYxNGE2MzY2YmM2NjJmMzZiY2Zi
MmJiNmQ2OTA1NTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2h0dHBvbmx5LWNvb2tpZS5wbApAQCAtMCwwICsxLDY4IEBACisj
IS91c3IvYmluL3BlcmwgLXdUCit1c2Ugc3RyaWN0OworCitpZiAoJEVOVnsiUVVFUllfU1RSSU5H
In0gZXEgImNsZWFyPTEiKSB7CisgICAgcHJpbnQgIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpblxy
XG4iOworICAgIHByaW50ICJTZXQtQ29va2llOiBXSy13ZWJzb2NrZXQtdGVzdD0wOyBNYXgtQWdl
PTBcclxuIjsKKyAgICBwcmludCAiU2V0LUNvb2tpZTogV0std2Vic29ja2V0LXRlc3QtaHR0cG9u
bHk9MDsgSHR0cE9ubHk7IE1heC1BZ2U9MFxyXG4iOworICAgIHByaW50ICJcclxuIjsKKyAgICBw
cmludCAiQ29va2llcyBhcmUgY2xlYXJlZC4iOworICAgIGV4aXQ7Cit9CisKK3ByaW50ICJDb250
ZW50LVR5cGU6IHRleHQvaHRtbFxyXG4iOworcHJpbnQgIlNldC1Db29raWU6IFdLLXdlYnNvY2tl
dC10ZXN0PTFcclxuIjsKK3ByaW50ICJTZXQtQ29va2llOiBXSy13ZWJzb2NrZXQtdGVzdC1odHRw
b25seT0xOyBIdHRwT25seVxyXG4iOworcHJpbnQgIlxyXG4iOworcHJpbnQgPDxIVE1MCis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGVzdCBXZWJTb2Nr
ZXQgc2VuZHMgSHR0cE9ubHkgY29va2llcy48L3A+Cis8cD5PbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgord2luZG93LmpzVGVz
dElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJT
b2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwordmFyIGNvb2tpZTsKKworLy8gTm9ybWFsaXpl
IGEgY29va2llIHN0cmluZworZnVuY3Rpb24gbm9ybWFsaXplQ29va2llKGNvb2tpZSkKK3sKKyAg
ICAvLyBTcGxpdCB0aGUgY29va2llIHN0cmluZywgc29ydCBpdCBhbmQgdGhlbiBwdXQgaXQgYmFj
ayB0b2dldGhlci4KKyAgICByZXR1cm4gY29va2llLnNwbGl0KCc7ICcpLnNvcnQoKS5qb2luKCc7
ICcpOworfQorCitmdW5jdGlvbiBjbGVhckNvb2tpZXMoKQoreworICAgIHZhciB4aHIgPSBuZXcg
WE1MSHR0cFJlcXVlc3QoKTsKKyAgICB4aHIub3BlbigiR0VUIiwgImh0dHBvbmx5LWNvb2tpZS5w
bD9jbGVhcj0xIiwgZmFsc2UpOworICAgIHhoci5zZW5kKG51bGwpOworfQorCit2YXIgd3MgPSBu
ZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Vj
aG8tY29va2llIik7Cit3cy5vbm9wZW4gPSBmdW5jdGlvbigpIHsKKyAgICBkZWJ1ZygiV2ViU29j
a2V0IG9wZW4iKTsKK307Cit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldnQpIHsKKyAgICBjb29r
aWUgPSBldnQuZGF0YTsKKyAgICB3cy5jbG9zZSgpOworfTsKK3dzLm9uY2xvc2UgPSBmdW5jdGlv
bigpIHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0IGNsb3NlZCIpOworICAgIGNvb2tpZSA9IG5vcm1h
bGl6ZUNvb2tpZShjb29raWUpOworICAgIHNob3VsZEJlKCJjb29raWUiLCAnIldLLXdlYnNvY2tl
dC10ZXN0LWh0dHBvbmx5PTE7IFdLLXdlYnNvY2tldC10ZXN0PTEiJyk7CisgICAgY2xlYXJDb29r
aWVzKCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CitIVE1M
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L2xvbmctaW52YWxpZC1oZWFkZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9sb25nLWludmFsaWQtaGVhZGVyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43MGZhNGYxYWVlMDJhZDljMzk4NTJlZTI0YjJhNTBmNDc0MDkyMDY2Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9sb25nLWludmFsaWQtaGVhZGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMDogVW5leHBlY3RlZCBDUiBpbiBuYW1lIGF0IHBwcHBwcHBwcHBw
cHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBw
cHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBw
cHBw4oCmCitNYWtlIHN1cmUgV2ViU29ja2V0IGdpdmVzIGVycm9ycyBvbiBsb25nIGludmFsaWQg
dXBncmFkZSBoZWFkZXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworV2ViU29ja2V0
IGlzIGNsb3NlZAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5YmkvbG9uZy1pbnZhbGlkLWhlYWRlci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9sb25nLWludmFsaWQtaGVhZGVyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzRmNmU0OTFhZTljOWE4NWJkOTg5NmNlMjA5NGNiN2NiMzdmYmEzMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvbG9uZy1pbnZh
bGlkLWhlYWRlci5odG1sCkBAIC0wLDAgKzEsMzYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9u
Ij48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIk1ha2Ugc3VyZSBXZWJTb2NrZXQgZ2l2ZXMgZXJyb3Jz
IG9uIGxvbmcgaW52YWxpZCB1cGdyYWRlIGhlYWRlci4iKTsKKword2luZG93LmpzVGVzdElzQXN5
bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQ
cm90b2NvbEVuYWJsZWQiLCAwKTsKKworZnVuY3Rpb24gZmluaXNoKCkgeworICAgIGNsZWFyVGlt
ZW91dCh0aW1lb3V0SUQpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit2YXIgd3MgPSBuZXcg
V2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2xvbmct
aW52YWxpZC1oZWFkZXIiKTsKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uICgpIHsKKyAgICBkZWJ1Zygi
V2ViU29ja2V0IGlzIG9wZW4iKTsKK307Cit3cy5vbmNsb3NlID0gZnVuY3Rpb24gKCkgeworICAg
IGRlYnVnKCJXZWJTb2NrZXQgaXMgY2xvc2VkIik7CisgICAgZmluaXNoKCk7Cit9OwordmFyIHRp
bWVvdXRJRCA9IHNldFRpbWVvdXQoImZpbmlzaCgpIiwgMjAwMCk7CisKK3ZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMt
dGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvbG9uZy1pbnZhbGlkLWhlYWRlcl93c2gucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL2xvbmctaW52YWxpZC1oZWFkZXJfd3NoLnB5Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjRhMTY5ZjNkYTBhOTU5ZWQzZjQ4NmQ4MTc3ZWMxMzA2ZjU4ZDQ2MGUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL2xvbmctaW52
YWxpZC1oZWFkZXJfd3NoLnB5CkBAIC0wLDAgKzEsMTEgQEAKK2RlZiB3ZWJfc29ja2V0X2RvX2V4
dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICBtc2cgPSAiSFRUUC8xLjEgMTAxIFdlYlNvY2tl
dCBQcm90b2NvbCBIYW5kc2hha2VcclxuIgorICAgIG1zZyArPSAoInAiICogMTAyNCkgKyAiXHJc
biIKKyAgICBtc2cgKz0gIlxyXG4iCisgICAgbXNnICs9IHJlcXVlc3Qud3NfY2hhbGxlbmdlX21k
NQorICAgIHJlcXVlc3QuY29ubmVjdGlvbi53cml0ZShtc2cpCisgICAgcmFpc2UgRXhjZXB0aW9u
KCJBYm9ydCB0aGUgY29ubmVjdGlvbiIpICMgUHJldmVudHMgcHl3ZWJzb2NrZXQgZnJvbSBzZW5k
aW5nIGl0cyBvd24gaGFuZHNoYWtlIG1lc3NhZ2UuCisKKworZGVmIHdlYl9zb2NrZXRfdHJhbnNm
ZXJfZGF0YShyZXF1ZXN0KToKKyAgICBwYXNzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL211bHRpcGxlLWNvbm5lY3Rpb25zLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvbXVsdGlw
bGUtY29ubmVjdGlvbnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlZTFlZmJkZjk0OGM1Zjc1
ZTQ1ZmJhOTZmMjA5Y2I0MWM3NmEwZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL211bHRpcGxlLWNvbm5lY3Rpb25zLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1Rlc3QgdGhhdCBXZWJTb2NrZXQgaXMgbm90IHN1Ympl
Y3QgdG8gSFRUUCBjb25uZWN0aW9uIGxpbWl0LiBTaG91bGQgc2F5IFBBU1M6CisKK1BBU1MKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvbXVs
dGlwbGUtY29ubmVjdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvbXVsdGlwbGUtY29ubmVjdGlvbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYTQ0MWU1
OTFhMzNiY2UyZDQ4NTA1YmVjODQ4NGQyNTg5MzA5NjhiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9tdWx0aXBsZS1jb25uZWN0
aW9ucy5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzxwPlRlc3QgdGhhdCBXZWJTb2NrZXQgaXMgbm90
IHN1YmplY3QgdG8gSFRUUCBjb25uZWN0aW9uIGxpbWl0LiBTaG91bGQgc2F5IFBBU1M6PC9wPgor
PHAgaWQ9cmVzdWx0PlJ1bm5pbmcuLi48L3A+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsK
KyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJv
dG9jb2xFbmFibGVkIiwgMCk7Cit9CisKK3ZhciBzb2NrZXRDb3VudCA9IDUwOwordmFyIHJlc3Vs
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKTsKK3ZhciBzb2NrZXRzID0gW107
CisKK2ZvciAoaSA9IDA7IGkgPCBzb2NrZXRDb3VudDsgKytpKSB7CisgICAgdmFyIHdzID0gbmV3
IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hv
Iik7CisgICAgc29ja2V0c1tpXSA9IHdzOworICAgIHdzLm9ub3BlbiA9IGZ1bmN0aW9uKCkgewor
ICAgICAgICB2YXIgbnVtID0gcGFyc2VJbnQocmVzdWx0LmlubmVySFRNTCk7CisgICAgICAgIGlm
ICghbnVtKQorICAgICAgICAgICAgbnVtID0gMDsKKyAgICAgICAgaWYgKG51bSAhPSBzb2NrZXRD
b3VudCAtIDEpCisgICAgICAgICAgICByZXN1bHQuaW5uZXJIVE1MID0gbnVtICsgMTsKKyAgICAg
ICAgZWxzZSB7CisgICAgICAgICAgICByZXN1bHQuaW5uZXJIVE1MID0gIlBBU1MiOworICAgICAg
ICAgICAgZm9yIChqID0gMDsgaiA8IHNvY2tldENvdW50OyArK2opIHsKKyAgICAgICAgICAgICAg
ICBzb2NrZXRzW2pdLm9uY2xvc2UgPSBudWxsOworICAgICAgICAgICAgICAgIHNvY2tldHNbal0u
Y2xvc2UoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOworICAgICAgICB9CisgICAgfQorICAgIHdzLm9uY2xvc2UgPSBmdW5jdGlvbigpIHsg
YWxlcnQoIkZBSUw6IHVuZXhwZWN0ZWQgY2xvc2UgZXZlbnQiKSB9Cit9Cis8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvbm8t
cXVlcnlfd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9uby1xdWVyeV93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmI3OTYxNTVkZTMzNTJlZWZhZWE4YjI5NjYw
YmY4NjVlODQ1MDlkYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5Ymkvbm8tcXVlcnlfd3NoLnB5CkBAIC0wLDAgKzEsMzggQEAKKyMg
Q29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisj
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisj
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
IyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorCisKK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBtc2d1dGlsCisK
KworZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAgIHJlcXVl
c3Qud3NfbG9jYXRpb24gPSByZXF1ZXN0LndzX3Jlc291cmNlLnNwbGl0KCc/JywgMSlbMF0KKwor
CitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIG1zZ3V0aWwuc2Vu
ZF9tZXNzYWdlKHJlcXVlc3QsIHJlcXVlc3Qud3NfbG9jYXRpb24pCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL251bGwtY2hhcmFjdGVyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
bnVsbC1jaGFyYWN0ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmY2EzNzcwNGU5NDAyYTdi
MmFlZjQ3NTk3OWYzNDVlNmExYjg3ODIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL251bGwtY2hhcmFjdGVyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEyIEBACitNYWtlIHN1cmUgV2ViU29ja2V0IHRyYW5zZmVyIG51bGwgY2hh
cmFjdGVyCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworV2ViU29ja2V0IG9wZW4KK21z
ZyBzaG91bGQgbm90IGJlIHNwbGl0IGJ5IGZyYW1lIGNoYXIgXHhmZlwwCitQQVNTIG1zZyBpcyBl
eHBlY3RlZE1lc3NhZ2UKK1dlYlNvY2tldCBjbG9zZWQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL251bGwtY2hhcmFjdGVyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL251bGwtY2hhcmFjdGVyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODQxMmMwNzgxNWNiYTgwOWViMDI4NWI4YTVmNTY5OWRjZWYxNWQyOQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvbnVsbC1jaGFyYWN0ZXIuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJNYWtlIHN1cmUgV2ViU29ja2V0IHRyYW5z
ZmVyIG51bGwgY2hhcmFjdGVyIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
b3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVk
IiwgMCk7CisKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vi
c29ja2V0L3Rlc3RzL2h5YmkvZWNobyIpOworLy8gXHhmZiBpbiBzdHJpbmcgd291bGQgYmUgXHhj
M1x4YmYgb24gd2Vic29ja2V0IGNvbm5lY3Rpb24gKFVURi04KQordmFyIGV4cGVjdGVkTWVzc2Fn
ZSA9ICJTaG91bGQgTm90XHhmZlwwU3BsaXQiOworCit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7
CisgICAgZGVidWcoIldlYlNvY2tldCBvcGVuIik7CisgICAgd3Muc2VuZChleHBlY3RlZE1lc3Nh
Z2UpOworfTsKKwordmFyIG1zZzsKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2VFdmVu
dCkKK3sKKyAgICBtc2cgPSBtZXNzYWdlRXZlbnQuZGF0YTsKKyAgICBkZWJ1ZygibXNnIHNob3Vs
ZCBub3QgYmUgc3BsaXQgYnkgZnJhbWUgY2hhciBcXHhmZlxcMCIpOworICAgIHNob3VsZEJlKCJt
c2ciLCAiZXhwZWN0ZWRNZXNzYWdlIik7CisgICAgd3MuY2xvc2UoKTsKK307CisKK3dzLm9uY2xv
c2UgPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIldlYlNvY2tldCBjbG9zZWQiKTsKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK307CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvb3JpZ2luLXRlc3Rfd3NoLnB5
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9vcmlnaW4tdGVz
dF93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOTg4ZDZhZmM5NTQwNmU0YzJkMjFlN2VhZGMyOGIzYzJhYjc5
OGM0YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5Ymkvb3JpZ2luLXRlc3Rfd3NoLnB5CkBAIC0wLDAgKzEsMzggQEAKKyMgQ29weXJp
Z2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
IyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorCisKK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBtc2d1dGlsCisKKworZGVm
IHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAgIHBhc3MgIyBBbHdh
eXMgYWNjZXB0LgorCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6Cisg
ICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwgcmVxdWVzdC53c19vcmlnaW4pCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3Byb3Rv
Y29sLXRlc3Rfd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS9wcm90b2NvbC10ZXN0X3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNDNkOGU2MGVlZWY5MzEyYmRl
NzVkYjM1MDA0MjZjMDZmZWJmMDcxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9wcm90b2NvbC10ZXN0X3dzaC5weQpAQCAtMCww
ICsxLDQ0IEBACisjIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlz
dHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitpbXBvcnQgY2dpCitmcm9tIG1vZF9weXdl
YnNvY2tldCBpbXBvcnQgbXNndXRpbAorCisKK2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRz
aGFrZShyZXF1ZXN0KToKKyAgICByID0gcmVxdWVzdC53c19yZXNvdXJjZS5zcGxpdCgnPycsIDEp
CisgICAgaWYgbGVuKHIpID09IDE6CisgICAgICAgIHJldHVybgorICAgIHBhcmFtID0gY2dpLnBh
cnNlX3FzKHJbMV0pCisgICAgaWYgJ3Byb3RvY29sJyBpbiBwYXJhbToKKyAgICAgICAgcmVxdWVz
dC53c19wcm90b2NvbCA9IHBhcmFtWydwcm90b2NvbCddWzBdCisKKworZGVmIHdlYl9zb2NrZXRf
dHJhbnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICBtc2d1dGlsLnNlbmRfbWVzc2FnZShyZXF1ZXN0
LCByZXF1ZXN0LndzX3Byb3RvY29sKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9yZWxvYWQtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9yZWxvYWQtY3Jhc2gtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjAxNzVkZWUzZjY2M2FlNjMwMDFlZmIxZTNlMWRmNWFiNzBjODYz
NDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL3JlbG9hZC1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGVz
dCBpZiBpdCBkb2Vzbid0IGNyYXNoIHdoZW4gcmVsb2FkaW5nIHdoaWxlIFdlYiBTb2NrZXQgaXMg
YnVzeQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgaW5zZXJ0IGEgaWZyYW1l
CitQQVNTIGlmcmFtZSBpcyByZWFkeS4KK1BBU1MgcmVsb2FkZWQgaWZyYW1lIHdoaWxlIFdlYlNv
Y2tldCBpcyBidXN5CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaHliaS9yZWxvYWQtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvcmVsb2FkLWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWNkNDVjZWJhNGVj
NmM1MTc0ZGMwMmMyMGUyMmZhMGFmNzNjN2RlZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvcmVsb2FkLWNyYXNoLmh0bWwKQEAg
LTAsMCArMSw0MSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
Li4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlw
dGlvbigiVGVzdCBpZiBpdCBkb2Vzbid0IGNyYXNoIHdoZW4gcmVsb2FkaW5nIHdoaWxlIFdlYiBT
b2NrZXQgaXMgYnVzeSIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJy
aWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDAp
OworCit2YXIgZnJhbWVEaXY7Cit2YXIgcmVsb2FkQ291bnQgPSAwOworCitkb2N1bWVudC5pZnJh
bWVSZWFkeSA9IGZ1bmN0aW9uICgpCit7CisgICAgaWYgKHJlbG9hZENvdW50ID09IDApCisgICAg
ICAgZGVidWcoIlBBU1MgaWZyYW1lIGlzIHJlYWR5LiIpOworICAgIGlmIChyZWxvYWRDb3VudCA9
PSAxKSB7CisgICAgICAgZGVidWcoIlBBU1MgcmVsb2FkZWQgaWZyYW1lIHdoaWxlIFdlYlNvY2tl
dCBpcyBidXN5Iik7CisgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgcmV0dXJuOworICAg
IH0KKyAgICByZWxvYWRDb3VudCArPSAxOworfTsKKworZnJhbWVEaXYgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJpZnJhbWUiKTsKK2ZyYW1lRGl2LnNyYyA9ICJyZXNvdXJjZXMvcmVsb2FkLWNy
YXNoLWlmcmFtZS5odG1sIjsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWVEaXYpOwor
ZGVidWcoIlBBU1MgaW5zZXJ0IGEgaWZyYW1lIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvcmVzb3Vy
Y2VzL2Nsb3NlLW9uLXVubG9hZC1pZnJhbWUtcmVmZXJlbmNlLWluLXBhcmVudC5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9yZXNvdXJjZXMvY2xvc2Ut
b24tdW5sb2FkLWlmcmFtZS1yZWZlcmVuY2UtaW4tcGFyZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTI1
MTMwOWQ1ZjMwZGRhMGJhMzE5NmQ1MDMxZTE1ZDJmYmE5Yzk3NQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvcmVzb3VyY2VzL2Ns
b3NlLW9uLXVubG9hZC1pZnJhbWUtcmVmZXJlbmNlLWluLXBhcmVudC5odG1sCkBAIC0wLDAgKzEs
MjQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vLi4vanMtdGVz
dC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC1mdW5jdGlvbi5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgor
cGFyZW50LmRvY3VtZW50LmNoaWxkV2ViU29ja2V0ID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcu
MC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9jbG9zZS1vbi11bmxvYWQiKTsKKworcGFy
ZW50LmRvY3VtZW50LmNoaWxkV2ViU29ja2V0Lm9ub3BlbiA9IGZ1bmN0aW9uKCkKK3sKKyAgICAv
LyBzZW5kICJzb2NrZXQxIiB0byBzZXJ2ZXIsIHNvIHRoYXQgInNvY2tldDEiIHdpbGwgYmUgYnJv
YWRjYXN0ZWQgdG8gd2ViIHNvY2tldHMgY29ubmVjdGVkIHRvIGNsb3NlLW9uLXVubG9hZCB3aGVu
IHRoaXMgd2ViIHNvY2tldCBpcyBjbG9zZWQuCisgICAgcGFyZW50LmRvY3VtZW50LmNoaWxkV2Vi
U29ja2V0LnNlbmQoInNvY2tldDEiKTsKK307CitwYXJlbnQuZG9jdW1lbnQuY2hpbGRXZWJTb2Nr
ZXQub25tZXNzYWdlID0gZnVuY3Rpb24oZXZ0KQoreworICAgIC8vICJzb2NrZXQxIiBpcyByZWNl
aXZlZCBieSBzZXJ2ZXIsIHNvIHJlYWR5IHRvIHVubG9hZCB0aGlzIGRvY3VtZW50LgorICAgIHBh
cmVudC5kb2N1bWVudC5pZnJhbWVSZWFkeShldnQuZGF0YSk7Cit9OworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL3Jlc291cmNlcy9jbG9zZS1vbi11bmxvYWQtaWZyYW1lLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3Jlc291cmNlcy9jbG9zZS1v
bi11bmxvYWQtaWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODlkMThhMTE4YmVmMTA0ZmRjMWUzMGRm
NGVkMmUwMWI5ZWRlNTVkMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvcmVzb3VyY2VzL2Nsb3NlLW9uLXVubG9hZC1pZnJhbWUu
aHRtbApAQCAtMCwwICsxLDIzIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3Qt
ZnVuY3Rpb24uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4
ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvY2xvc2Utb24tdW5sb2FkIik7Cit3cy5vbm9wZW4gPSBm
dW5jdGlvbigpCit7CisgICAgLy8gc2VuZCAic29ja2V0MSIgdG8gc2VydmVyLCBzbyB0aGF0ICJz
b2NrZXQxIiB3aWxsIGJlIGJyb2FkY2FzdGVkIHRvIHdlYiBzb2NrZXRzIGNvbm5lY3RlZCB0byBj
bG9zZS1vbi11bmxvYWQgd2hlbiB0aGlzIHdlYiBzb2NrZXQgaXMgY2xvc2VkLgorICAgIHdzLnNl
bmQoInNvY2tldDEiKTsKK307Cit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldnQpCit7CisgICAg
Ly8gInNvY2tldDEiIGlzIHJlY2VpdmVkIGJ5IHNlcnZlciwgc28gcmVhZHkgdG8gdW5sb2FkIHRo
aXMgZG9jdW1lbnQuCisgICAgcGFyZW50LmRvY3VtZW50LmlmcmFtZVJlYWR5KGV2dC5kYXRhKTsK
K30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9yZXNvdXJjZXMvcmVsb2FkLWNyYXNoLWlm
cmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9y
ZXNvdXJjZXMvcmVsb2FkLWNyYXNoLWlmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxYWI1MDcwMjUx
Mjc3OGIyM2MyNmJmOGI3ZTI1ODkyNDJhNWQ0MjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3Jlc291cmNlcy9yZWxvYWQtY3Jh
c2gtaWZyYW1lLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LWZ1bmN0aW9uLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBp
ZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitwYXJlbnQuZG9jdW1lbnQuaWZyYW1lUmVhZHkoKTsK
K3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rl
c3RzL2h5YmkvY2xvc2Utb24tdW5sb2FkIik7Citsb2NhdGlvbi5yZWxvYWQoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWFmdGVyLWNsb3NlLW9uLXVubG9hZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlbmQtYWZ0
ZXItY2xvc2Utb24tdW5sb2FkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZmY0OGIxZTI1MTk3
ZDVjN2RjZTFlNmNmM2I4MDE5ZDdmYTQ1YzMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWFmdGVyLWNsb3NlLW9uLXVu
bG9hZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGVzdCBpZiBXZWIgU29ja2V0IG9w
ZW5lZCBpbiBpZnJhbWUsIHJlZmVycmVkIGluIHBhcmVudCBkb2N1bWVudCBpcywgYW5kIHRyeSB0
byBzZW5kKCkgcmV0dXJucyBmYWxzZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQ
QVNTIHdzIG9uIG1hc3RlciBkb2N1bWVudCBpcyByZWFkeS4KK1BBU1MgaW5zZXJ0IGEgaWZyYW1l
LCB3aGVyZSBvcGVuIHdzIGNhbGxlZCAnc29ja2V0MScKK1BBU1MgZG9jdW1lbnQuY2hpbGRXZWJT
b2NrZXQgaXMgbm9uLW51bGwuCitQQVNTICdzb2NrZXQxJyBpcyBzZW50IHRvIHRoZSBzZXJ2ZXIu
IHVubG9hZCB0aGUgaWZyYW1lLiBleHBlY3QgcmVjZWl2aW5nICdzb2NrZXQxJyBvbiB3cy4uLgor
UEFTUyBkb2N1bWVudC5jaGlsZFdlYlNvY2tldC5zZW5kKCdzZW5kIHRvIGNsb3NlZCBzb2NrZXQn
KSBpcyBmYWxzZQorUEFTUyBjbG9zZWRTb2NrZXQgaXMgInNvY2tldDEiCitQQVNTIGRvY3VtZW50
LmNoaWxkV2ViU29ja2V0LnJlYWR5U3RhdGUgaXMgMworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC1hZnRlci1jbG9zZS1vbi11bmxvYWQuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC1hZnRl
ci1jbG9zZS1vbi11bmxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZDNiNWI1ZmVlN2IxMjE5MzhhYzY4
ZmQxZmViZTMwNmNiYTk0ZDRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWFmdGVyLWNsb3NlLW9uLXVubG9hZC5odG1s
CkBAIC0wLDAgKzEsNTQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVz
Y3JpcHRpb24oIlRlc3QgaWYgV2ViIFNvY2tldCBvcGVuZWQgaW4gaWZyYW1lLCByZWZlcnJlZCBp
biBwYXJlbnQgZG9jdW1lbnQgaXMsIGFuZCB0cnkgdG8gc2VuZCgpIHJldHVybnMgZmFsc2UuIik7
CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJX
ZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK3ZhciBmcmFtZURp
djsKK3ZhciBjbG9zZWRTb2NrZXQ7Citkb2N1bWVudC5jaGlsZFdlYlNvY2tldCA9IG51bGw7CisK
K3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rl
c3RzL2h5YmkvY2xvc2Utb24tdW5sb2FkIik7Cit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7Cisg
ICAgZGVidWcoIlBBU1Mgd3Mgb24gbWFzdGVyIGRvY3VtZW50IGlzIHJlYWR5LiIpOworICAgIGZy
YW1lRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CisgICAgZnJhbWVEaXYu
c3JjID0gInJlc291cmNlcy9jbG9zZS1vbi11bmxvYWQtaWZyYW1lLXJlZmVyZW5jZS1pbi1wYXJl
bnQuaHRtbCI7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZURpdik7CisgICAg
ZGVidWcoIlBBU1MgaW5zZXJ0IGEgaWZyYW1lLCB3aGVyZSBvcGVuIHdzIGNhbGxlZCAnc29ja2V0
MSciKTsKK307Cit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldnQpCit7CisgICAgY2xvc2VkU29j
a2V0ID0gZXZ0LmRhdGE7CisgICAgd3MuY2xvc2UoKTsKK307Cit3cy5vbmNsb3NlID0gZnVuY3Rp
b24oKQoreworICAgIHNob3VsZEJlKCJjbG9zZWRTb2NrZXQiLCAnInNvY2tldDEiJyk7CisgICAg
c2hvdWxkQmUoImRvY3VtZW50LmNoaWxkV2ViU29ja2V0LnJlYWR5U3RhdGUiLCAiMyIpOworICAg
IGZpbmlzaEpTVGVzdCgpOworfTsKKworZG9jdW1lbnQuaWZyYW1lUmVhZHkgPSBmdW5jdGlvbigp
Cit7CisgICAgc2hvdWxkQmVOb25OdWxsKCJkb2N1bWVudC5jaGlsZFdlYlNvY2tldCIpOworICAg
IGRlYnVnKCJQQVNTICdzb2NrZXQxJyBpcyBzZW50IHRvIHRoZSBzZXJ2ZXIuIHVubG9hZCB0aGUg
aWZyYW1lLiBleHBlY3QgcmVjZWl2aW5nICdzb2NrZXQxJyBvbiB3cy4uLiIpOworICAgIGRvY3Vt
ZW50LmJvZHkucmVtb3ZlQ2hpbGQoZnJhbWVEaXYpOworICAgIHNob3VsZEJlRmFsc2UoImRvY3Vt
ZW50LmNoaWxkV2ViU29ja2V0LnNlbmQoJ3NlbmQgdG8gY2xvc2VkIHNvY2tldCcpIik7Cit9Owor
Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL3NlbmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
YjNjN2Y1MTczMTNiOGVjYmUxMjBmMDRiNWNiYTQwZGQ2NTNjNWYzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitXZWIgU29ja2V0IHNlbmQgdGVzdAorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK0Nvbm5lY3RlZC4KK1BBU1MgZGF0YSBpcyBGSVJTVF9NRVNT
QUdFX1RPX1NFTkQKK1BBU1MgZGF0YSBpcyBTRUNPTkRfTUVTU0FHRV9UT19TRU5ECitDbG9zZWQu
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5k
LXRocm93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5Ymkvc2VuZC10aHJvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWE3NGJhMzE1NDE1
ZmMwZDJmNGU2ZDUwNjIyNjIzNWMwMWZiYjI2YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC10aHJvdy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMSBAQAorV2ViIFNvY2tldCBzZW5kIHRlc3QKKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCitDb25uZWN0ZWQuCitDYXVnaHQgZXhjZXB0aW9uOiBQaWNrbGVzCitD
bG9zZWQuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHli
aS9zZW5kLXRocm93Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL3NlbmQtdGhyb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTZiZGI1MmJkYjczNjI3ZWQzZTll
YzJhMTMzZWIxZmZlNzBhZTgzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLXRocm93Lmh0bWwKQEAgLTAsMCArMSw2MCBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vanMtdGVz
dC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4u
L2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiV2ViIFNv
Y2tldCBzZW5kIHRlc3QiKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVy
cmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAw
KTsKKworZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7
CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8v
bG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZCIpOworCit2YXIgRklSU1Rf
TUVTU0FHRV9UT19TRU5EID0geworICAgIHRvU3RyaW5nOiBmdW5jdGlvbigpIHsgdGhyb3cgIlBp
Y2tsZXMiOyB9Cit9OworLy8gZGF0YSBuZWVkcyB0byBiZSBnbG9iYWwgdG8gYmUgYWNjZXNzYmls
ZSBmcm9tIHNob3VsZEJlKCkuCit2YXIgZGF0YSA9ICIiOworCit3cy5vbm9wZW4gPSBmdW5jdGlv
bigpCit7CisgICAgZGVidWcoIkNvbm5lY3RlZC4iKTsKKyAgICB0cnkgeworICAgICAgICB3cy5z
ZW5kKEZJUlNUX01FU1NBR0VfVE9fU0VORCk7CisgICAgfSBjYXRjaCAoZXgpIHsKKyAgICAgICAg
ZGVidWcoIkNhdWdodCBleGNlcHRpb246ICIgKyBleCk7CisgICAgfQorICAgIHdzLmNsb3NlKCk7
Cit9OworCit3cy5vbmNsb3NlID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJDbG9zZWQuIik7
CisgICAgZW5kVGVzdCgpOworfTsKKworZnVuY3Rpb24gdGltZU91dENhbGxiYWNrKCkKK3sKKyAg
ICB0ZXN0RmFpbGVkKCJUaW1lZCBvdXQgaW4gc3RhdGU6ICIgKyB3cy5yZWFkeVN0YXRlKTsKKyAg
ICBlbmRUZXN0KCk7Cit9CisKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0KHRpbWVPdXRDYWxs
YmFjaywgMzAwMCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmVj
YTU4MGJjYWNmYmI0ZjgxYTkwNjQ3NGQ4MjA3NWFlNmJmZjA4NgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC5odG1sCkBA
IC0wLDAgKzEsNjcgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
Ly4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3Jp
cHRpb24oIldlYiBTb2NrZXQgc2VuZCB0ZXN0Iik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9j
b2xFbmFibGVkIiwgMCk7CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIGNsZWFyVGltZW91
dCh0aW1lb3V0SUQpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit2YXIgd3MgPSBuZXcgV2Vi
U29ja2V0KCJ3czovL2xvY2FsaG9zdDo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlbmQiKTsK
KwordmFyIEZJUlNUX01FU1NBR0VfVE9fU0VORCA9ICJUaGlzIGlzIHRoZSBmaXJzdCBtZXNzYWdl
IHRvIHNlbmQgdG8gdGhlIHNlcnZlci4iOwordmFyIFNFQ09ORF9NRVNTQUdFX1RPX1NFTkQgPSAi
VGhpcyBpcyB0aGUgc2Vjb25kLiI7CisvLyBkYXRhIG5lZWRzIHRvIGJlIGdsb2JhbCB0byBiZSBh
Y2Nlc3NiaWxlIGZyb20gc2hvdWxkQmUoKS4KK3ZhciBkYXRhID0gIiI7CisKK3dzLm9ub3BlbiA9
IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygiQ29ubmVjdGVkLiIpOworICAgIHdzLnNlbmQoRklS
U1RfTUVTU0FHRV9UT19TRU5EKTsKK307CisKK3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3Nh
Z2VFdmVudCkKK3sKKyAgICAvLyBUaGUgc2VydmVyIHNob3VsZCBlY2hvIGJhY2sgdGhlIGZpcnN0
IG1lc3NhZ2UuCisgICAgZGF0YSA9IG1lc3NhZ2VFdmVudC5kYXRhOworICAgIHNob3VsZEJlKCJk
YXRhIiwgIkZJUlNUX01FU1NBR0VfVE9fU0VORCIpOworICAgIHdzLm9ubWVzc2FnZSA9IGZ1bmN0
aW9uKG1lc3NhZ2VFdmVudCkgeworICAgICAgICAvLyBUaGUgc2VydmVyIHNob3VsZCBlY2hvIGJh
Y2sgdGhlIHNlY29uZCBtZXNzYWdlLgorICAgICAgICBkYXRhID0gbWVzc2FnZUV2ZW50LmRhdGE7
CisgICAgICAgIHNob3VsZEJlKCJkYXRhIiwgIlNFQ09ORF9NRVNTQUdFX1RPX1NFTkQiKTsKKyAg
ICB9OworICAgIHdzLnNlbmQoU0VDT05EX01FU1NBR0VfVE9fU0VORCk7Cit9OworCit3cy5vbmNs
b3NlID0gZnVuY3Rpb24oKQoreworICAgIGRlYnVnKCJDbG9zZWQuIik7CisgICAgZW5kVGVzdCgp
OworfTsKKworZnVuY3Rpb24gdGltZU91dENhbGxiYWNrKCkKK3sKKyAgICB0ZXN0RmFpbGVkKCJU
aW1lZCBvdXQgaW4gc3RhdGU6ICIgKyB3cy5yZWFkeVN0YXRlKTsKKyAgICBlbmRUZXN0KCk7Cit9
CisKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0KHRpbWVPdXRDYWxsYmFjaywgMzAwMCk7CisK
K3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5Ymkvc2VuZDJfd3NoLnB5IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kMl93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTIyMTdmYTNkNTJj
MGZlM2Q5OGQ2MmM0ZDE4MTQyNzA5ZGFjZjE3MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZDJfd3NoLnB5CkBAIC0wLDAg
KzEsOCBAQAorZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAg
IHBhc3MgIyBBbHdheXMgYWNjZXB0LgorCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEo
cmVxdWVzdCk6CisgICAgIyBzZW5kIDIgbWVzc2FnZXMgaW4gb25lIHBhY2tldC4KKyAgICByZXF1
ZXN0LmNvbm5lY3Rpb24ud3JpdGUoIlx4MDAiICsgImZpcnN0IG1lc3NhZ2UiICsgIlx4ZmYiICsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlx4MDAiICsgInNlY29uZCBtZXNzYWdlIiAr
ICJceGZmIikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5Ymkvc2VuZF93c2gucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL3NlbmRfd3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1MTA0YjM0ODJkNDMyYThmMDQ5OTNj
NDJkZTAzNWQzZGVlNzlhZDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlbmRfd3NoLnB5CkBAIC0wLDAgKzEsNDEgQEAKKyMg
Q29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisj
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisj
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
IyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorCisKK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBtc2d1dGlsCisK
KworZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAgIHBhc3Mg
IyBBbHdheXMgYWNjZXB0LgorCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVz
dCk6CisgICAgIyBSZWNlaXZlIGFuZCBlY2hvIGJhY2sgbWVzc2FnZXMgdHdpY2UuCisgICAgZm9y
IHVudXNlZCBpbiByYW5nZSgyKToKKyAgICAgICAgbWVzc2FnZSA9IG1zZ3V0aWwucmVjZWl2ZV9t
ZXNzYWdlKHJlcXVlc3QpCisgICAgICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3QsIG1l
c3NhZ2UpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL3NlcnZlci1jbG9zZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlcnZlci1jbG9zZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZmVlZGE5ZTBiMzBiMjEwNDJjYTk0ZjhmZWY1ZjkzOTYxYmVjODlkNwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VydmVy
LWNsb3NlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitXZWJTb2NrZXQ6IFRlc3Qgc2Vy
dmVyLWluaXRpYXRlZCBjbG9zZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitDb25u
ZWN0ZWQKK0Nsb3NlZAorUEFTUyBjbG9zZUV2ZW50Lndhc0NsZWFuIGlzIHRydWUKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NlcnZlci1jbG9zZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZXJ2ZXIt
Y2xvc2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZDUxMzAzMGJhYmNmNDEzOTViZjFiYmYxMzk5MjhkOTk0
NjQzYzAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9zZXJ2ZXItY2xvc2UuaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJXZWJTb2NrZXQ6IFRlc3Qg
c2VydmVyLWluaXRpYXRlZCBjbG9zZS4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVu
YWJsZWQiLCAwKTsKKwordmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4
MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZXJ2ZXItY2xvc2UiKTsKK3ZhciBjbG9zZUV2ZW50Owor
Cit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVidWcoIkNvbm5lY3RlZCIpOworfTsK
Kword3Mub25tZXNzYWdlID0gZnVuY3Rpb24obWVzc2FnZUV2ZW50KQoreworICAgIGRlYnVnKCJS
ZWNlaXZlZDogIiArIG1lc3NhZ2VFdmVudC5kYXRhKTsKK307CisKK3dzLm9uY2xvc2UgPSBmdW5j
dGlvbihldmVudCkKK3sKKyAgICBkZWJ1ZygiQ2xvc2VkIik7CisgICAgY2xvc2VFdmVudCA9IGV2
ZW50OworICAgIHNob3VsZEJlVHJ1ZSgiY2xvc2VFdmVudC53YXNDbGVhbiIpOworICAgIGZpbmlz
aEpTVGVzdCgpOworfTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZXJ2ZXItY2xvc2Vfd3NoLnB5IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZXJ2ZXItY2xvc2Vf
d3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmEwNjk4YTMzNWY3YjIwNTdhYjI3MTVhMDNhNTRmNzFhZjhjNDA3
N2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL3NlcnZlci1jbG9zZV93c2gucHkKQEAgLTAsMCArMSw3IEBACitkZWYgd2ViX3Nv
Y2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgcGFzcworCisKK2RlZiB3ZWJf
c29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgIyBBZnRlciB0aGlzIGhhbmRsZXIg
ZXhpdHMsIHB5d2Vic29ja2V0IGluaXRpYXRlcyB0aGUgY2xvc2luZyBoYW5kc2hha2UuCisgICAg
cGFzcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS9zaW1wbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9zaW1wbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1N2M0NjM0OWJk
M2M3MmMzZGVkMjU2NDQzMzk5OWRlMWUyZmFkZDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NpbXBsZS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMiBAQAorU2ltcGxlIFdlYiBTb2NrZXQgdGVzdAorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK0NyZWF0ZWQgYSBzb2NrZXQgdG8gJ3dzOi8vMTI3LjAuMC4xOjg4ODAv
d2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxlJzsgcmVhZHlTdGF0ZSAwLgorQ29ubmVjdGVkOyBy
ZWFkeVN0YXRlIDEKK1JlY2VpdmVkOiAnSGVsbG8gZnJvbSBTaW1wbGUgV1NILic7IHJlYWR5U3Rh
dGUgMQorQ2xvc2VkOyByZWFkeVN0YXRlIDMuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zaW1wbGUtc3RyZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxlLXN0cmVzcy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjU3YzNlYzVjMjhlZTFjNWZmZGFjOTljMTIyYmY3NDE4ZjQz
NzI4ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5Ymkvc2ltcGxlLXN0cmVzcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitU
ZXN0IHNlbmRpbmcgbWFueSBtZXNzYWdlcywgYW5kIHNlbmRpbmcgYSBsYXJnZSBtZXNzYWdlLgor
CitTaG91bGQgc2F5IFBBU1M6CisKK1J1bm5pbmcgdGhlIHRlc3QuLi4KK1BBU1MKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zaW1wbGUt
c3RyZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L3NpbXBsZS1zdHJlc3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZGNjYjdkNTI1ZWVlMDY2OTU5YTYyZDQw
NzA0OGZjYWFjOWI4NzQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zaW1wbGUtc3RyZXNzLmh0bWwKQEAgLTAsMCArMSw1MyBA
QAorPHA+VGVzdCBzZW5kaW5nIG1hbnkgbWVzc2FnZXMsIGFuZCBzZW5kaW5nIGEgbGFyZ2UgbWVz
c2FnZS48L3A+Cis8cD5TaG91bGQgc2F5IFBBU1M6PC9wPgorPHByZSBpZD1sb2c+UnVubmluZyB0
aGUgdGVzdC4uLgorPC9wcmU+Cis8c2NyaXB0PgordmFyIG51bVNtYWxsTWVzc2FnZXMgPSAxMDAw
OworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldl
YktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKK30KKworZnVuY3Rpb24g
bG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZyIpLmlubmVy
SFRNTCArPSBtZXNzYWdlICsgIlxuIjsKK30KKwordmFyIHdzID0gbmV3IFdlYlNvY2tldCgid3M6
Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9lY2hvIik7CisKK3dzLm9ub3Bl
biA9IGZ1bmN0aW9uKCkgeworICAgIGZvciAoaSA9IDA7IGkgPCBudW1TbWFsbE1lc3NhZ2VzOyAr
K2kpIHsKKyAgICAgICAgd3Muc2VuZChpKTsKKyAgICB9CisKK30KKwordmFyIGxhc3RNZXNzYWdl
ID0gLTE7Cit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihtc2cpIHsKKyAgICBpZiAocGFyc2VJbnQo
bXNnLmRhdGEpICE9IGxhc3RNZXNzYWdlICsgMSkKKyAgICAgICAgbG9nKCJGQUlMIC0gb3V0IG9m
IHNlcXVlbmNlIHJlc3BvbnNlLiBFeHBlY3RlZCAiICsgbGFzdE1lc3NhZ2UgKyAxICsgIiwgZ290
ICIgKyBtc2cuZGF0YSk7CisgICAgKytsYXN0TWVzc2FnZTsKKyAgICBpZiAobGFzdE1lc3NhZ2Ug
PT0gbnVtU21hbGxNZXNzYWdlcyAtIDEpCisgICAgICAgIHRlc3RMYXJnZVN0cmluZygpOworfQor
CitmdW5jdGlvbiB0ZXN0TGFyZ2VTdHJpbmcoKQoreworICAgIC8vIEJ1aWxkIGEgc3RyaW5nIDI1
NksgaW4gbGVuZ3RoLgorICAgIHZhciBzdHIgPSAiICI7CisgICAgZm9yIChpID0gMDsgaSA8IDE4
OyArK2kpCisgICAgICAgIHN0ciArPSBzdHI7CisKKyAgICB3cy5zZW5kKHN0cik7CisgICAgd3Mu
b25tZXNzYWdlID0gZnVuY3Rpb24obXNnKSB7CisgICAgICAgIGxvZyhtc2cuZGF0YS5sZW5ndGgg
PT0gc3RyLmxlbmd0aCA/ICJQQVNTIiA6ICJGQUlMIC0gd3JvbmcgcmVzcG9uc2UgbGVuZ3RoIik7
CisgICAgICAgIHdzLnNlbmQoIkdvb2RieWUiKTsKKyAgICAgICAgd3Mub25tZXNzYWdlID0gbnVs
bDsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAg
IHNldFRpbWVvdXQoImxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKSIsIDApOworICAg
IH0KK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS9zaW1wbGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzhhNzJlZDdkODBiZDIy
NDA0NWU0N2EzYTBmMjgxNDY3YWNjMzM3MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxlLmh0bWwKQEAgLTAsMCArMSw1
NCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vanMt
dGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
Ly4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiU2lt
cGxlIFdlYiBTb2NrZXQgdGVzdCIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Citp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxl
ZCIsIDApOworCitmdW5jdGlvbiBlbmRUZXN0KCkKK3sKKyAgICBjbGVhclRpbWVvdXQodGltZW91
dElEKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKwordmFyIHdzID0gbmV3IFdlYlNvY2tldCgi
d3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9zaW1wbGUiKTsKK2RlYnVn
KCJDcmVhdGVkIGEgc29ja2V0IHRvICciICsgd3MuVVJMICsgIic7IHJlYWR5U3RhdGUgIiArIHdz
LnJlYWR5U3RhdGUgKyAiLiIpOworCit3cy5vbm9wZW4gPSBmdW5jdGlvbigpCit7CisgICAgZGVi
dWcoIkNvbm5lY3RlZDsgcmVhZHlTdGF0ZSAiICsgd3MucmVhZHlTdGF0ZSk7Cit9OworCit3cy5v
bm1lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlRXZlbnQpCit7CisgICAgZGVidWcoIlJlY2VpdmVk
OiAnIiArIG1lc3NhZ2VFdmVudC5kYXRhICsgIic7IHJlYWR5U3RhdGUgIiArIHdzLnJlYWR5U3Rh
dGUpOworfTsKKword3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygiQ2xvc2Vk
OyByZWFkeVN0YXRlICIgKyB3cy5yZWFkeVN0YXRlICsgIi4iKTsKKyAgICBlbmRUZXN0KCk7Cit9
OworCitmdW5jdGlvbiB0aW1lT3V0Q2FsbGJhY2soKQoreworICAgIGRlYnVnKCJUaW1lZCBvdXQg
aW4gc3RhdGU6ICIgKyB3cy5yZWFkeVN0YXRlKTsKKyAgICBlbmRUZXN0KCk7Cit9CisKK3ZhciB0
aW1lb3V0SUQgPSBzZXRUaW1lb3V0KHRpbWVPdXRDYWxsYmFjaywgMzAwMCk7CisKK3ZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
Li4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5Ymkvc2ltcGxlX3dzaC5weSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5Ymkvc2ltcGxlX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYzAyNzFjNWY3YTlmNTQ3ZjUy
ZmJjMDVjZmQzMDRiM2I1ZGYwMzJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zaW1wbGVfd3NoLnB5CkBAIC0wLDAgKzEsMzgg
QEAKKyMgQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRp
b24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
IyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBtc2d1
dGlsCisKKworZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAg
IHBhc3MgIyBBbHdheXMgYWNjZXB0LgorCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEo
cmVxdWVzdCk6CisgICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwgJ0hlbGxvIGZyb20g
U2ltcGxlIFdTSC4nKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9zdWItcHJvdG9jb2wtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zdWItcHJvdG9jb2wtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmJjYzFlYzE1NTZjOWNjMTMzMDE2NDU3ZTY4MmZhZDEzOGI0ZmJiYjEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L3N1Yi1wcm90b2NvbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdCBXZWJTb2Nr
ZXQgaGFuZHNoYWtlIHN1Y2Nlc3Mgd2l0aCBzdWIgcHJvdG9jb2wuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworQ29ubmVjdGVkCitQQVNTIHByb3RvY29sIGlzICJzdWItcHJvdG9jb2wi
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zdWIt
cHJvdG9jb2wtd2l0aC1zcGFjZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL3N1Yi1wcm90b2NvbC13aXRoLXNwYWNlLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wMjFhNzQ5MWYwNmRlMmE2OWYyOWVjYzU0ZDdlODA4NGIzM2M0N2U1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS9zdWItcHJvdG9jb2wtd2l0aC1zcGFjZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBA
QAorVGVzdCBXZWJTb2NrZXQgaGFuZHNoYWtlIHN1Y2Nlc3Mgd2l0aCBzdWIgcHJvdG9jb2wgY29u
dGFpbnMgc3BhY2UuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworQ29ubmVjdGVkCitQ
QVNTIHByb3RvY29sIGlzICJzdWIgcHJvdG9jb2wiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zdWItcHJvdG9jb2wtd2l0aC1zcGFjZS5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zdWItcHJvdG9jb2wt
d2l0aC1zcGFjZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1ZGI0NDc3OTliOWE2MjBjZTJjNzBhYjE0M2Iz
MjUzMjM1NjkyMzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL3N1Yi1wcm90b2NvbC13aXRoLXNwYWNlLmh0bWwKQEAgLTAsMCAr
MSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4v
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigi
VGVzdCBXZWJTb2NrZXQgaGFuZHNoYWtlIHN1Y2Nlc3Mgd2l0aCBzdWIgcHJvdG9jb2wgY29udGFp
bnMgc3BhY2UuIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisK
K3ZhciBwcm90b2NvbDsKKworZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAgc2hvdWxkQmUoInBy
b3RvY29sIiwgJyJzdWIgcHJvdG9jb2wiJyk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3Zh
ciB1cmwgPSAid3M6Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9wcm90b2Nv
bC10ZXN0P3Byb3RvY29sPXN1YiUyMHByb3RvY29sIjsKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQo
dXJsLCAic3ViIHByb3RvY29sIik7CisKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uKCkKK3sKKyAgICBk
ZWJ1ZygiQ29ubmVjdGVkIik7Cit9OworCit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAobWVzc2Fn
ZUV2ZW50KQoreworICAgIHByb3RvY29sID0gbWVzc2FnZUV2ZW50LmRhdGE7CisgICAgd3MuY2xv
c2UoKTsKK307CisKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbigpCit7CisgICAgZW5kVGVzdCgpOwor
fTsKKworZnVuY3Rpb24gdGltZU91dENhbGxiYWNrKCkKK3sKKyAgICBkZWJ1ZygiVGltZWQgb3V0
IGluIHN0YXRlOiAiICsgd3MucmVhZHlTdGF0ZSk7CisgICAgZW5kVGVzdCgpOworfQorCit2YXIg
dGltZW91dElEID0gc2V0VGltZW91dCh0aW1lT3V0Q2FsbGJhY2ssIDMwMDApOworCit2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
Ly4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL3N1Yi1wcm90b2NvbC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS9zdWItcHJvdG9jb2wuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNDIwM2E1MDc4
MmUyZGIxNDIyZTMyN2JkMmMyYWFmN2EwZjY1OWZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zdWItcHJvdG9jb2wuaHRtbApA
QCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2Ny
aXB0aW9uKCJUZXN0IFdlYlNvY2tldCBoYW5kc2hha2Ugc3VjY2VzcyB3aXRoIHN1YiBwcm90b2Nv
bC4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVu
Y2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwordmFyIHBy
b3RvY29sOworCitmdW5jdGlvbiBlbmRUZXN0KCkKK3sKKyAgICBzaG91bGRCZSgicHJvdG9jb2wi
LCAnInN1Yi1wcm90b2NvbCInKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKwordmFyIHVybCA9
ICJ3czovL2xvY2FsaG9zdDo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL3Byb3RvY29sLXRlc3Q/
cHJvdG9jb2w9c3ViLXByb3RvY29sIjsKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQodXJsLCAic3Vi
LXByb3RvY29sIik7CisKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygiQ29u
bmVjdGVkIik7Cit9OworCit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAobWVzc2FnZUV2ZW50KQor
eworICAgIHByb3RvY29sID0gbWVzc2FnZUV2ZW50LmRhdGE7CisgICAgd3MuY2xvc2UoKTsKK307
CisKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbigpCit7CisgICAgZW5kVGVzdCgpOworfTsKKworZnVu
Y3Rpb24gdGltZU91dENhbGxiYWNrKCkKK3sKKyAgICBkZWJ1ZygiVGltZWQgb3V0IGluIHN0YXRl
OiAiICsgd3MucmVhZHlTdGF0ZSk7CisgICAgZW5kVGVzdCgpOworfQorCit2YXIgdGltZW91dElE
ID0gc2V0VGltZW91dCh0aW1lT3V0Q2FsbGJhY2ssIDMwMDApOworCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L3VuaWNvZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS91bmljb2RlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODllYjgzMTUxYWFj
NjY0Y2ZlMzA1MjVhZjIwZjU0ZDVmODk4Njc5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91bmljb2RlLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEyIEBACitXZWIgU29ja2V0IHVuaWNvZGUgbWVzc2FnZSB0ZXN0CisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworQ29ubmVjdGVkLgorU2VuZCBVTklDT0RFX0hFTExPLgor
UEFTUyBkYXRhIGlzIFVOSUNPREVfR09PREJZRQorQ2xvc2VkLgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdW5pY29kZS5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91bmljb2RlLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNmQ4MzRjOWJmNzQ1MTAwNjJjOGUxNDg5ZDBlMWZhNTBhMzkxYzgxZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdW5pY29k
ZS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
PgorZGVzY3JpcHRpb24oIldlYiBTb2NrZXQgdW5pY29kZSBtZXNzYWdlIHRlc3QiKTsKKword2lu
ZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhp
eGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKworZnVuY3Rpb24gZW5kVGVzdCgp
Cit7CisgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJRCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9
CisKK3ZhciB3cyA9IG5ldyBXZWJTb2NrZXQoIndzOi8vbG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvdW5pY29kZSIpOworCisvLyBIZWxsbyBpbiBKYXBhbmVzZQordmFyIFVOSUNP
REVfSEVMTE8gPSAiXHUzMDUzXHUzMDkzXHUzMDZiXHUzMDYxXHUzMDZmIjsKKy8vIEdvb2RieWUg
aW4gSmFwYW5lc2UKK3ZhciBVTklDT0RFX0dPT0RCWUUgPSAiXHUzMDU1XHUzMDg4XHUzMDQ2XHUz
MDZhXHUzMDg5IjsKKworLy8gZGF0YSBuZWVkcyB0byBiZSBnbG9iYWwgdG8gYmUgYWNjZXNzYmls
ZSBmcm9tIHNob3VsZEJlKCkuCit2YXIgZGF0YSA9ICIiOworCit3cy5vbm9wZW4gPSBmdW5jdGlv
bigpCit7CisgICAgZGVidWcoIkNvbm5lY3RlZC4iKTsKKyAgICBkZWJ1ZygiU2VuZCBVTklDT0RF
X0hFTExPLiIpOworICAgIHdzLnNlbmQoVU5JQ09ERV9IRUxMTyk7Cit9OworCit3cy5vbm1lc3Nh
Z2UgPSBmdW5jdGlvbihtZXNzYWdlRXZlbnQpCit7CisgICAgLy8gVGhlIHNlcnZlciBzaG91bGQg
c2VuZCBiYWNrIEdvb2RieWUgaWYgaXQgcmVjZWl2ZXMgSGVsbG8uCisgICAgZGF0YSA9IG1lc3Nh
Z2VFdmVudC5kYXRhOworICAgIHNob3VsZEJlKCJkYXRhIiwgIlVOSUNPREVfR09PREJZRSIpOwor
fTsKKword3Mub25jbG9zZSA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygiQ2xvc2VkLiIpOwor
ICAgIGVuZFRlc3QoKTsKK307CisKK2Z1bmN0aW9uIHRpbWVPdXRDYWxsYmFjaygpCit7CisgICAg
dGVzdEZhaWxlZCgiVGltZWQgb3V0IGluIHN0YXRlOiAiICsgd3MucmVhZHlTdGF0ZSk7CisgICAg
ZW5kVGVzdCgpOworfQorCit2YXIgdGltZW91dElEID0gc2V0VGltZW91dCh0aW1lT3V0Q2FsbGJh
Y2ssIDMwMDApOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VuaWNvZGVfd3NoLnB5IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91bmljb2RlX3dzaC5weQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45ZTMxMjM3OWNiMjM2MjhmYjI5NzU4MjcwYWUyMTdhZDJhZDQyODZhCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91bmlj
b2RlX3dzaC5weQpAQCAtMCwwICsxLDUyIEBACisjIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisj
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisj
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitmcm9tIG1v
ZF9weXdlYnNvY2tldCBpbXBvcnQgbXNndXRpbAorCisKKyMgSGVsbG8gaW4gSmFwYW5lc2UKK19V
TklDT0RFX0hFTExPID0gdSJcdTMwNTNcdTMwOTNcdTMwNmJcdTMwNjFcdTMwNmYiCisKKyMgR29v
ZGJ5ZSBpbiBKYXBhbmVzZQorX1VOSUNPREVfR09PREJZRSA9IHUiXHUzMDU1XHUzMDg4XHUzMDQ2
XHUzMDZhXHUzMDg5IgorCisjIEVycm9yIG1lc3NhZ2UKK19FUlJPUl9NRVNTQUdFID0gIldoYXQg
ZGlkIHlvdSBzYXk/IgorCisKK2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1
ZXN0KToKKyAgICBwYXNzICMgQWx3YXlzIGFjY2VwdC4KKworCitkZWYgd2ViX3NvY2tldF90cmFu
c2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIGhlbGxvID0gbXNndXRpbC5yZWNlaXZlX21lc3NhZ2Uo
cmVxdWVzdCkKKyAgICBpZiBoZWxsbyAhPSBfVU5JQ09ERV9IRUxMTzoKKyAgICAgICAgbXNndXRp
bC5zZW5kX21lc3NhZ2UocmVxdWVzdCwgX0VSUk9SX01FU1NBR0UpCisgICAgICAgIHJldHVybgor
ICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3QsIF9VTklDT0RFX0dPT0RCWUUpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3Vua25v
d24tZnJhbWUtdHlwZV93c2gucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL3Vua25vd24tZnJhbWUtdHlwZV93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmVmZjk3NDA3
MjkwYTE5OTgyOTlhMDM4M2UxMTA2NDdkN2I4NjhiZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdW5rbm93bi1mcmFtZS10eXBl
X3dzaC5weQpAQCAtMCwwICsxLDE0IEBACitmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgbXNn
dXRpbAorCisKK2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAg
ICBwYXNzCisKKworZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICBm
b3IgaSBpbiByYW5nZSgxLCAxMjgpOgorICAgICAgICByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdGUo
Y2hyKGkpICsgc3RyKGkpICsgJ1x4ZmYnKQorICAgIGZvciBpIGluIHJhbmdlKDEyOCwgMjU2KToK
KyAgICAgICAgbXNnID0gc3RyKGkpCisgICAgICAgIHJlcXVlc3QuY29ubmVjdGlvbi53cml0ZShj
aHIoaSkgKyBjaHIobGVuKG1zZykpICsgbXNnKQorICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJl
cXVlc3QsICdkb25lJykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvdXJsLW5vLXRyYWlsaW5nLXNsYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLW5vLXRyYWlsaW5nLXNs
YXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NWM5MGNmMWEzMWY2YjM4N2M1M2I0NmY4NWY5
ZGU0ODc2MDQ4MDc4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtbm8tdHJhaWxpbmctc2xhc2gtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1VSTCB0aGF0IGRvZXNuJ3QgaGF2ZSB0cmFpbGluZyBzbGFzaCBzaG91
bGQgbm90IGVtaXQgZW1wdHkgUmVxdWVzdC1VUkkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworV2ViU29ja2V0IGlzIG9wZW4KK3JlY2VpdmVkOndzOi8vMTI3LjAuMC4xOjg4ODAvCitX
ZWJTb2NrZXQgaXMgY2xvc2VkCitQQVNTIGhhbmRzaGFrZV9zdWNjZXNzIGlzIHRydWUKK1BBU1Mg
d3NfbG9jYXRpb24gaXMgIndzOi8vMTI3LjAuMC4xOjg4ODAvIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLW5vLXRyYWlsaW5nLXNsYXNoLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC1uby10
cmFpbGluZy1zbGFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4N2U4MDIzODlmYjIxMDZhNDk1Y2QwM2U2
ZDdlODVlNjFiODhkNDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC1uby10cmFpbGluZy1zbGFzaC5odG1sCkBAIC0wLDAg
KzEsNDIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4u
L2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24o
IlVSTCB0aGF0IGRvZXNuJ3QgaGF2ZSB0cmFpbGluZyBzbGFzaCBzaG91bGQgbm90IGVtaXQgZW1w
dHkgUmVxdWVzdC1VUkkuIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwg
MCk7CisKK3ZhciB1cmwgPSAid3M6Ly8xMjcuMC4wLjE6ODg4MCI7Cit2YXIgaGFuZHNoYWtlX3N1
Y2Nlc3MgPSBmYWxzZTsKK3ZhciB3c19sb2NhdGlvbjsKKwordmFyIHdzID0gbmV3IFdlYlNvY2tl
dCh1cmwpOword3Mub25vcGVuID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJTb2NrZXQg
aXMgb3BlbiIpOworICAgIGhhbmRzaGFrZV9zdWNjZXNzID0gdHJ1ZTsKK307Cit3cy5vbm1lc3Nh
Z2UgPSBmdW5jdGlvbiAoZXZ0KSB7CisgICAgd3NfbG9jYXRpb24gPSBldnQuZGF0YTsKKyAgICBk
ZWJ1ZygicmVjZWl2ZWQ6IiArIHdzX2xvY2F0aW9uKTsKKyAgICB3cy5jbG9zZSgpOworfTsKK3dz
Lm9uY2xvc2UgPSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWcoIldlYlNvY2tldCBpcyBjbG9zZWQi
KTsKKyAgICBzaG91bGRCZVRydWUoImhhbmRzaGFrZV9zdWNjZXNzIik7CisgICAgc2hvdWxkQmUo
IndzX2xvY2F0aW9uIiwgJyJ3czovLzEyNy4wLjAuMTo4ODgwLyInKTsKKyAgICBmaW5pc2hKU1Rl
c3QoKTsKK307CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLXBhcnNpbmctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtcGFyc2luZy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTQ5YzU5ZmIyOGMwNzNjZTRjMWFmMjJmMmM3Y2IyYzE3
MWQ2ZjEyNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvdXJsLXBhcnNpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjMgQEAK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAwOiBJbnZhbGlkIHVybCBmb3IgV2ViU29ja2V0IHdzOi8v
amF2YXNjcmlwdDphCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMDogSW52YWxpZCB1cmwgZm9yIFdl
YlNvY2tldCAvYXBwbGV0CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMDogV3JvbmcgdXJsIHNjaGVt
ZSBmb3IgV2ViU29ja2V0IGphdmFzY3JpcHQ6YQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IFdl
YlNvY2tldCBwb3J0IDI1IGJsb2NrZWQKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAwOiBVUkwgaGFz
IGZyYWdtZW50IGNvbXBvbmVudCB3czovLzEyNy4wLjAuMS9wYXRoIworQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDA6IFVSTCBoYXMgZnJhZ21lbnQgY29tcG9uZW50IHdzOi8vMTI3LjAuMC4xL3BhdGgj
ZnJhZ21lbnQKK1Rlc3QgV2ViU29ja2V0IFVSTCBwYXJzaW5nLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKK1BBU1MgbmV3IFdlYlNvY2tldCgid3M6Ly9qYXZhc2NyaXB0OmEiKSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIG5l
dyBXZWJTb2NrZXQoIi9hcHBsZXQiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFNZTlRBWF9FUlI6
IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIG5ldyBXZWJTb2NrZXQoImphdmFzY3JpcHQ6YSIpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogU1lOVEFYX0VSUjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1Mg
bmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6MjUvIikgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBTRUNVUklUWV9FUlI6IERPTSBFeGNlcHRpb24gMTguCitQQVNTIChuZXcgV2ViU29ja2V0KCJ3
czovLzEyNy4wLjAuMTo4ODgwL2EvLi4vd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2ltcGxlIikpLlVS
TCBpcyAid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9zaW1wbGUiCitQ
QVNTIChuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9o
eWJpL3NpbXBsZT8iKSkuVVJMIGlzICJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0
cy9oeWJpL3NpbXBsZT8iCitQQVNTIChuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgw
L3dlYnNvY2tldC90ZXN0cy9oeWJpL3NpbXBsZT9rPXYiKSkuVVJMIGlzICJ3czovLzEyNy4wLjAu
MTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL3NpbXBsZT9rPXYiCitQQVNTIG5ldyBXZWJTb2Nr
ZXQoIndzOi8vMTI3LjAuMC4xL3BhdGgjIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhf
RVJSOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAu
MS9wYXRoI2ZyYWdtZW50IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTWU5UQVhfRVJSOiBET00g
RXhjZXB0aW9uIDEyLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5YmkvdXJsLXBhcnNpbmcuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5YmkvdXJsLXBhcnNpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMGM0OTA4YzA5NWQ2
NTBhNTc1MzJmZmI4MjM3MmQ3YzVjZjIxZTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtcGFyc2luZy5odG1sCkBAIC0w
LDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4u
Ly4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRp
b24oIlRlc3QgV2ViU29ja2V0IFVSTCBwYXJzaW5nLiIpOworCitpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5j
ZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCisvLyBJbnZh
bGlkIHVybCB3aWxsIGZhaWwgdG8gYmUgcGFyc2VkLgorc2hvdWxkVGhyb3coJ25ldyBXZWJTb2Nr
ZXQoIndzOi8vamF2YXNjcmlwdDphIiknKTsKKworLy8gQ2FuJ3QgdXNlIHJlbGF0aXZlIFVSTHMg
LSBiZWNhdXNlIHNwZWMgc2F5cyBzbywgYW5kIGJlY2F1c2UgdGhlIHNjaGVtZSBpcyBkaWZmZXJl
bnQgYW55d2F5Lgorc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIi9hcHBsZXQiKScpOworCisv
LyBOb24gd3MgVVJMIGlzIG5vdCBhbGxvd2VkLgorc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQo
ImphdmFzY3JpcHQ6YSIpJyk7CisKKy8vIFVBIGlzIGFsbG93ZWQgdG8gYmxvY2sgYWNjZXNzIHRv
IHNvbWUgcG9ydHMsIHdoaWNoIHdlIGRvLgorc2hvdWxkVGhyb3coJ25ldyBXZWJTb2NrZXQoIndz
Oi8vMTI3LjAuMC4xOjI1LyIpJyk7CisKKy8vIFJlc29sdmUgdGhlIHVybCBzdHJpbmcgdXNpbmcg
dGhlIHJlc29sdmUgYSBXZWIgYWRkcmVzcyBhbGdvcml0aG0uCisvLyBVc2UgMTI3LjAuMC4xOjg4
ODAgYW5kIGV4aXN0aW5nIHdzIGhhbmRsZXIgdG8gbWFrZSBzdXJlIHdlIGRvbid0IHJlY2VpdmUg
dW5leHBlY3RlZCByZXNwb25zZSAoc28gbm8gY29uc29sZSBtZXNzYWdlIGFwcGVhcnMpCitzaG91
bGRCZSgnKG5ldyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvYS8uLi93ZWJzb2NrZXQv
dGVzdHMvaHliaS9zaW1wbGUiKSkuVVJMJywgJyJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL3NpbXBsZSInKTsKK3Nob3VsZEJlKCcobmV3IFdlYlNvY2tldCgid3M6Ly8x
MjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9zaW1wbGU/IikpLlVSTCcsICcid3M6
Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9zaW1wbGU/IicpOworc2hvdWxk
QmUoJyhuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9o
eWJpL3NpbXBsZT9rPXYiKSkuVVJMJywgJyJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90
ZXN0cy9oeWJpL3NpbXBsZT9rPXYiJyk7CisKKy8vIGRyYWZ0LWhpeGllLXRoZXdlYnNvY2tldHBy
b3RvY29sLTYwIHNheXMgSWYgL3VybC8gaGFzIGEgPGZyYWdtZW50PgorLy8gY29tcG9uZW50LCB0
aGVuIGZhaWwgdGhlIHBhcnNpbmcgV2ViIFNvY2tldCBVUkxzLCBzbyB0aHJvdyBhIFNZTlRBWF9F
UlIKKy8vIGV4Y2VwdGlvbi4KK3Nob3VsZFRocm93KCduZXcgV2ViU29ja2V0KCJ3czovLzEyNy4w
LjAuMS9wYXRoIyIpJyk7CitzaG91bGRUaHJvdygnbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4w
LjEvcGF0aCNmcmFnbWVudCIpJyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLXdpdGgtY3JlZGVu
dGlhbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL3VybC13aXRoLWNyZWRlbnRpYWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY3ZWJj
NjkyZWE5ZmRiODMyZjUyNmZhMDg0YWY4NGNhODBjOTdhOGQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC13aXRoLWNyZWRl
bnRpYWwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK01ha2Ugc3VyZSBoYW5kc2hha2Ug
d2l0aCBVUkwgd2l0aCBjcmVkZW50YWlsIGluZm8gc3VjY2Vzcy4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCit1cmw9d3M6Ly91c2VyOnBhc3NAMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvZWNoby1sb2NhdGlvbgorV2ViU29ja2V0IGlzIG9wZW4KK3JlY2VpdmVkOndz
Oi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNoby1sb2NhdGlvbgorV2Vi
U29ja2V0IGlzIGNsb3NlZAorUEFTUyBoYW5kc2hha2Vfc3VjY2VzcyBpcyB0cnVlCitQQVNTIHdz
X2xvY2F0aW9uIGlzICJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Vj
aG8tbG9jYXRpb24iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaHliaS91cmwtd2l0aC1jcmVkZW50aWFsLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC13aXRoLWNyZWRlbnRpYWwuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iMWRlMmIyMmIzNWQzNmNiM2ZlOWYxNGEyMDFkNzZkYzRhMGVkNzJkCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtd2l0
aC1jcmVkZW50aWFsLmh0bWwKQEAgLTAsMCArMSw1MCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiTWFrZSBzdXJlIGhhbmRzaGFrZSB3aXRoIFVSTCB3
aXRoIGNyZWRlbnRhaWwgaW5mbyBzdWNjZXNzLiIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RD
b250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3Rv
Y29sRW5hYmxlZCIsIDApOworCit2YXIgdXJsID0gIndzOi8vdXNlcjpwYXNzQDEyNy4wLjAuMTo4
ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2VjaG8tbG9jYXRpb24iOwordmFyIGhhbmRzaGFrZV9z
dWNjZXNzID0gZmFsc2U7Cit2YXIgd3NfbG9jYXRpb247CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQor
eworICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOworICAgIHNob3VsZEJlVHJ1ZSgiaGFuZHNo
YWtlX3N1Y2Nlc3MiKTsKKyAgICBzaG91bGRCZSgid3NfbG9jYXRpb24iLCAnIndzOi8vMTI3LjAu
MC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNoby1sb2NhdGlvbiInKTsKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK30KKworZGVidWcoInVybD0iICsgdXJsKTsKK3ZhciB3cyA9IG5ldyBXZWJT
b2NrZXQodXJsKTsKK3dzLm9ub3BlbiA9IGZ1bmN0aW9uICgpIHsKKyAgICBkZWJ1ZygiV2ViU29j
a2V0IGlzIG9wZW4iKTsKKyAgICBoYW5kc2hha2Vfc3VjY2VzcyA9IHRydWU7Cit9Oword3Mub25t
ZXNzYWdlID0gZnVuY3Rpb24gKGV2dCkgeworICAgIHdzX2xvY2F0aW9uID0gZXZ0LmRhdGE7Cisg
ICAgZGVidWcoInJlY2VpdmVkOiIgKyB3c19sb2NhdGlvbik7CisgICAgd3MuY2xvc2UoKTsKK307
Cit3cy5vbmNsb3NlID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMgY2xv
c2VkIik7CisgICAgZW5kVGVzdCgpOworfTsKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1lb3V0KCJl
bmRUZXN0KCkiLCAyMDAwKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtd2l0aC1lbXB0eS1xdWVy
eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL3VybC13aXRoLWVtcHR5LXF1ZXJ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOTk0ZWVj
YWFhNjA5YzY1NjhlYjc1ZGYwODhkNWNkODEzOTkyNjdjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtd2l0aC1lbXB0eS1x
dWVyeS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorTWFrZSBzdXJlIGhhbmRzaGFrZSB3
aXRoIFVSTCB3aXRoIGVtcHR5IHF1ZXJ5IGNvbXBvbmVudHMgc3VjY2Vzcy4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCit1cmw9d3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2NrZXQvdGVz
dHMvaHliaS9lY2hvLWxvY2F0aW9uPworV2ViU29ja2V0IGlzIG9wZW4KK3JlY2VpdmVkOndzOi8v
MTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNoby1sb2NhdGlvbj8KK1dlYlNv
Y2tldCBpcyBjbG9zZWQKK1BBU1MgaGFuZHNoYWtlX3N1Y2Nlc3MgaXMgdHJ1ZQorUEFTUyB3c19s
b2NhdGlvbiBpcyB1cmwKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL3VybC13aXRoLWVtcHR5LXF1ZXJ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3VybC13aXRoLWVtcHR5LXF1ZXJ5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDllNjk5NThjNWRhMDdjNTNjMjVhYzFiNTMwMjZiMzViN2Q4NTRmMgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJs
LXdpdGgtZW1wdHktcXVlcnkuaHRtbApAQCAtMCwwICsxLDUwIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJNYWtlIHN1cmUgaGFuZHNoYWtlIHdpdGgg
VVJMIHdpdGggZW1wdHkgcXVlcnkgY29tcG9uZW50cyBzdWNjZXNzLiIpOworCit3aW5kb3cuanNU
ZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAg
IGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3Nldl
YlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworCit2YXIgdXJsID0gIndzOi8vMTI3LjAuMC4x
Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNoby1sb2NhdGlvbj8iOwordmFyIGhhbmRzaGFr
ZV9zdWNjZXNzID0gZmFsc2U7Cit2YXIgd3NfbG9jYXRpb247CisKK2Z1bmN0aW9uIGVuZFRlc3Qo
KQoreworICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOworICAgIHNob3VsZEJlVHJ1ZSgiaGFu
ZHNoYWtlX3N1Y2Nlc3MiKTsKKyAgICBzaG91bGRCZSgid3NfbG9jYXRpb24iLCAidXJsIik7Cisg
ICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2RlYnVnKCJ1cmw9IiArIHVybCk7Cit2YXIgd3MgPSBu
ZXcgV2ViU29ja2V0KHVybCk7Cit3cy5vbm9wZW4gPSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWco
IldlYlNvY2tldCBpcyBvcGVuIik7CisgICAgaGFuZHNoYWtlX3N1Y2Nlc3MgPSB0cnVlOworfTsK
K3dzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChldnQpIHsKKyAgICB3c19sb2NhdGlvbiA9IGV2dC5k
YXRhOworICAgIGRlYnVnKCJyZWNlaXZlZDoiICsgd3NfbG9jYXRpb24pOworICAgIHdzLmNsb3Nl
KCk7Cit9Oword3Mub25jbG9zZSA9IGZ1bmN0aW9uICgpIHsKKyAgICBkZWJ1ZygiV2ViU29ja2V0
IGlzIGNsb3NlZCIpOworICAgIGVuZFRlc3QoKTsKK307Cit2YXIgdGltZW91dElEID0gc2V0VGlt
ZW91dCgiZW5kVGVzdCgpIiwgMjAwMCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMtdGVzdC1yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLXdpdGgtcXVl
cnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS91cmwtd2l0aC1xdWVyeS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjY4N2FkYTkxNzdi
ZjI1ZGE1Y2JkZTRjMDVjOGU3MDY2MjgzMTk0MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvdXJsLXdpdGgtcXVlcnktZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK01ha2Ugc3VyZSBoYW5kc2hha2Ugd2l0aCBVUkwgd2l0
aCBxdWVyeSBjb21wb25lbnRzIHN1Y2Nlc3MuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KwordXJsPXdzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNoby1sb2Nh
dGlvbj9xPXYKK1dlYlNvY2tldCBpcyBvcGVuCityZWNlaXZlZDp3czovLzEyNy4wLjAuMTo4ODgw
L3dlYnNvY2tldC90ZXN0cy9oeWJpL2VjaG8tbG9jYXRpb24/cT12CitXZWJTb2NrZXQgaXMgY2xv
c2VkCitQQVNTIGhhbmRzaGFrZV9zdWNjZXNzIGlzIHRydWUKK1BBU1Mgd3NfbG9jYXRpb24gaXMg
dXJsCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91
cmwtd2l0aC1xdWVyeS1mb3Itbm8tcXVlcnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtd2l0aC1xdWVyeS1mb3Itbm8tcXVlcnkt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEwNzFhMDMyMWFmZTY2ZGFhODY1YTkxMTVlZThmNWQ0
ZjliZjU4YmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNv
Y2tldC90ZXN0cy9oeWJpL3VybC13aXRoLXF1ZXJ5LWZvci1uby1xdWVyeS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMyBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IEVycm9yIGR1cmluZyBX
ZWJTb2NrZXQgaGFuZHNoYWtlOiBsb2NhdGlvbiBtaXNtYXRjaDogd3M6Ly8xMjcuMC4wLjE6ODg4
MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9uby1xdWVyeT8gIT0gL3dlYnNvY2tldC90ZXN0cy9oeWJp
L25vLXF1ZXJ5CitNYWtlIHN1cmUgaGFuZHNoYWtlIHdpdGggVVJMIHdpdGggcXVlcnkgY29tcG9u
ZW50cyBmYWlscyBhZ2FpbnN0IHNlcnZlciB0aGF0IGRvZXNuJ3Qgc3VwcG9ydCBxdWVyeSBjb21w
b25lbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwordXJsPXdzOi8vMTI3LjAuMC4x
Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvbm8tcXVlcnk/CitXZWJTb2NrZXQgaXMgY2xvc2Vk
CitQQVNTIGhhbmRzaGFrZV9zdWNjZXNzIGlzIGZhbHNlCitQQVNTIHdzX2xvY2F0aW9uIGlzIHVu
ZGVmaW5lZC4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL3VybC13aXRoLXF1ZXJ5LWZvci1uby1xdWVyeS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtd2l0aC1xdWVyeS1mb3Itbm8tcXVlcnkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40MTBkMGQyYzA2OWM3NTBiMGM2N2VjOTg0MDBlN2Q5ZGRhMzJkZmIwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS91cmwtd2l0aC1xdWVyeS1mb3Itbm8tcXVlcnkuaHRtbApAQCAtMCwwICsxLDUwIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vanMt
dGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJNYWtlIHN1cmUg
aGFuZHNoYWtlIHdpdGggVVJMIHdpdGggcXVlcnkgY29tcG9uZW50cyBmYWlscyBhZ2FpbnN0IHNl
cnZlciB0aGF0IGRvZXNuJ3Qgc3VwcG9ydCBxdWVyeSBjb21wb25lbnQuIik7CisKK3dpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2
V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7CisKK3ZhciB1cmwgPSAid3M6Ly8xMjcuMC4w
LjE6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9uby1xdWVyeT8iOwordmFyIGhhbmRzaGFrZV9z
dWNjZXNzID0gZmFsc2U7Cit2YXIgd3NfbG9jYXRpb247CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQor
eworICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SUQpOworICAgIHNob3VsZEJlRmFsc2UoImhhbmRz
aGFrZV9zdWNjZXNzIik7CisgICAgc2hvdWxkQmVVbmRlZmluZWQoIndzX2xvY2F0aW9uIik7Cisg
ICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2RlYnVnKCJ1cmw9IiArIHVybCk7Cit2YXIgd3MgPSBu
ZXcgV2ViU29ja2V0KHVybCk7Cit3cy5vbm9wZW4gPSBmdW5jdGlvbiAoKSB7CisgICAgZGVidWco
IldlYlNvY2tldCBpcyBvcGVuIik7CisgICAgaGFuZHNoYWtlX3N1Y2Nlc3MgPSB0cnVlOworfTsK
K3dzLm9ubWVzc2dlID0gZnVuY3Rpb24gKGV2dCkgeworICAgIHdzX2xvY2F0aW9uID0gZXZ0LmRh
dGE7CisgICAgZGVidWcoInJlY2VpdmVkOiIgKyB3c19sb2NhdGlvbik7CisgICAgd3MuY2xvc2Uo
KTsKK307Cit3cy5vbmNsb3NlID0gZnVuY3Rpb24gKCkgeworICAgIGRlYnVnKCJXZWJTb2NrZXQg
aXMgY2xvc2VkIik7CisgICAgZW5kVGVzdCgpOworfTsKK3ZhciB0aW1lb3V0SUQgPSBzZXRUaW1l
b3V0KCJlbmRUZXN0KCkiLCAyMDAwKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10ZXN0LXJlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwtd2l0aC1xdWVy
eS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS91cmwt
d2l0aC1xdWVyeS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5OTAyYWU0MTdhMzVjNTQ5NzE4ZmU0MjUxZjhh
N2NlMTY1YzYwNzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL3VybC13aXRoLXF1ZXJ5Lmh0bWwKQEAgLTAsMCArMSw1MCBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vanMtdGVzdC1y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pz
LXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitkZXNjcmlwdGlvbigiTWFrZSBzdXJl
IGhhbmRzaGFrZSB3aXRoIFVSTCB3aXRoIHF1ZXJ5IGNvbXBvbmVudHMgc3VjY2Vzcy4iKTsKKwor
d2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKKwordmFyIHVybCA9ICJ3czov
LzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2VjaG8tbG9jYXRpb24/cT12IjsK
K3ZhciBoYW5kc2hha2Vfc3VjY2VzcyA9IGZhbHNlOwordmFyIHdzX2xvY2F0aW9uOworCitmdW5j
dGlvbiBlbmRUZXN0KCkKK3sKKyAgICBjbGVhclRpbWVvdXQodGltZW91dElEKTsKKyAgICBzaG91
bGRCZVRydWUoImhhbmRzaGFrZV9zdWNjZXNzIik7CisgICAgc2hvdWxkQmUoIndzX2xvY2F0aW9u
IiwgInVybCIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitkZWJ1ZygidXJsPSIgKyB1cmwp
OwordmFyIHdzID0gbmV3IFdlYlNvY2tldCh1cmwpOword3Mub25vcGVuID0gZnVuY3Rpb24gKCkg
eworICAgIGRlYnVnKCJXZWJTb2NrZXQgaXMgb3BlbiIpOworICAgIGhhbmRzaGFrZV9zdWNjZXNz
ID0gdHJ1ZTsKK307Cit3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZXZ0KSB7CisgICAgd3NfbG9j
YXRpb24gPSBldnQuZGF0YTsKKyAgICBkZWJ1ZygicmVjZWl2ZWQ6IiArIHdzX2xvY2F0aW9uKTsK
KyAgICB3cy5jbG9zZSgpOworfTsKK3dzLm9uY2xvc2UgPSBmdW5jdGlvbiAoKSB7CisgICAgZGVi
dWcoIldlYlNvY2tldCBpcyBjbG9zZWQiKTsKKyAgICBlbmRUZXN0KCk7Cit9OwordmFyIHRpbWVv
dXRJRCA9IHNldFRpbWVvdXQoImVuZFRlc3QoKSIsIDIwMDApOworCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L3dlYnNvY2tldC1ldmVudC10YXJnZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93ZWJzb2NrZXQtZXZlbnQtdGFyZ2V0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zNzlhNDRlZjAxOTA4MjIzODI0OTdlMDc1ZjBkZWU1YTg1MzczODY1
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaHliaS93ZWJzb2NrZXQtZXZlbnQtdGFyZ2V0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4
IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMDogV2ViU29ja2V0IGlzIGNsb3NlZCBiZWZvcmUg
dGhlIGNvbm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQuCitNYWtlIHN1cmUgV2ViU29ja2V0IG9iamVj
dCBhY3RzIGFzIEV2ZW50VGFyZ2V0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BB
U1Mgb3Blbl9ldmVudF9oYW5kbGVkIGlzIGZhbHNlCitQQVNTIG1lc3NhZ2VfZXZlbnRfaGFuZGxl
ZCBpcyBmYWxzZQorUEFTUyBjbG9zZV9ldmVudF9oYW5kbGVkIGlzIGZhbHNlCitQQVNTIG9wZW5f
ZXZlbnRfaGFuZGxlZCBpcyB0cnVlCitQQVNTIG9wZW5fZXZlbnRfaGFuZGxlZCBpcyBmYWxzZQor
UEFTUyBtZXNzYWdlX2V2ZW50X2hhbmRsZWQgaXMgdHJ1ZQorUEFTUyBtZXNzYWdlX2V2ZW50X2hh
bmRsZWQgaXMgZmFsc2UKK1BBU1MgY2xvc2VfZXZlbnRfaGFuZGxlZCBpcyB0cnVlCitQQVNTIGNs
b3NlX2V2ZW50X2hhbmRsZWQgaXMgZmFsc2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3dlYnNvY2tldC90ZXN0cy9oeWJpL3dlYnNvY2tldC1ldmVudC10YXJnZXQuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vic29ja2V0LWV2ZW50LXRh
cmdldC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5NmE2NGRkY2EzMjhkMGQ3OGVjNWM1ZWIxNTUwNjljYTY0
YmQ2NzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL3dlYnNvY2tldC1ldmVudC10YXJnZXQuaHRtbApAQCAtMCwwICsxLDcyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi8uLi9qcy10ZXN0
LXJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4v
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Rlc2NyaXB0aW9uKCJNYWtlIHN1
cmUgV2ViU29ja2V0IG9iamVjdCBhY3RzIGFzIEV2ZW50VGFyZ2V0LiIpOworCitpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRl
UHJlZmVyZW5jZSgiV2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOwor
Cit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90
ZXN0cy9oeWJpL3NpbXBsZSIpOword3MuY2xvc2UoKTsgLy8gVGhhdCBpcyBub3QgYSB0ZXN0IHdp
dGggYSBXZWJTb2NrZXQgc2VydmVyLCBwcmV2ZW50IGxvZ2dpbmcgYW4gZXJyb3IgdG8gY29uc29s
ZS4KK3ZhciBvcGVuX2V2ZW50X2hhbmRsZWQgPSBmYWxzZTsKK3ZhciBtZXNzYWdlX2V2ZW50X2hh
bmRsZWQgPSBmYWxzZTsKK3ZhciBjbG9zZV9ldmVudF9oYW5kbGVkID0gZmFsc2U7CitmdW5jdGlv
biBvcGVuTGlzdGVuZXIoKSB7CisgICAgb3Blbl9ldmVudF9oYW5kbGVkID0gdHJ1ZTsKK307Citm
dW5jdGlvbiBtZXNzYWdlTGlzdGVuZXIoKSB7CisgICAgbWVzc2FnZV9ldmVudF9oYW5kbGVkID0g
dHJ1ZTsKK307CitmdW5jdGlvbiBjbG9zZUxpc3RlbmVyKCkgeworICAgIGNsb3NlX2V2ZW50X2hh
bmRsZWQgPSB0cnVlOworfQord3MuYWRkRXZlbnRMaXN0ZW5lcignb3BlbicsIG9wZW5MaXN0ZW5l
ciwgZmFsc2UpOword3MuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIG1lc3NhZ2VMaXN0ZW5l
ciwgZmFsc2UpOword3MuYWRkRXZlbnRMaXN0ZW5lcignY2xvc2UnLCBjbG9zZUxpc3RlbmVyLCBm
YWxzZSk7CisKK3Nob3VsZEJlKCJvcGVuX2V2ZW50X2hhbmRsZWQiLCAiZmFsc2UiKTsKK3Nob3Vs
ZEJlKCJtZXNzYWdlX2V2ZW50X2hhbmRsZWQiLCAiZmFsc2UiKTsKK3Nob3VsZEJlKCJjbG9zZV9l
dmVudF9oYW5kbGVkIiwgImZhbHNlIik7CisKK3ZhciBldnQgPSBkb2N1bWVudC5jcmVhdGVFdmVu
dCgiRXZlbnRzIik7CitldnQuaW5pdEV2ZW50KCJvcGVuIiwgdHJ1ZSwgZmFsc2UpOword3MuZGlz
cGF0Y2hFdmVudChldnQpOworc2hvdWxkQmUoIm9wZW5fZXZlbnRfaGFuZGxlZCIsICJ0cnVlIik7
CisKK29wZW5fZXZlbnRfaGFuZGxlZCA9IGZhbHNlOword3MucmVtb3ZlRXZlbnRMaXN0ZW5lcign
b3BlbicsIG9wZW5MaXN0ZW5lcik7Cit3cy5kaXNwYXRjaEV2ZW50KGV2dCk7CitzaG91bGRCZSgi
b3Blbl9ldmVudF9oYW5kbGVkIiwgImZhbHNlIik7CisKK2V2dCA9IGRvY3VtZW50LmNyZWF0ZUV2
ZW50KCJNZXNzYWdlRXZlbnQiKTsKK2V2dC5pbml0RXZlbnQoIm1lc3NhZ2UiLCB0cnVlLCBmYWxz
ZSk7Cit3cy5kaXNwYXRjaEV2ZW50KGV2dCk7CitzaG91bGRCZSgibWVzc2FnZV9ldmVudF9oYW5k
bGVkIiwgInRydWUiKTsKKworbWVzc2FnZV9ldmVudF9oYW5kbGVkID0gZmFsc2U7Cit3cy5yZW1v
dmVFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgbWVzc2FnZUxpc3RlbmVyKTsKK3dzLmRpc3BhdGNo
RXZlbnQoZXZ0KTsKK3Nob3VsZEJlKCJtZXNzYWdlX2V2ZW50X2hhbmRsZWQiLCAiZmFsc2UiKTsK
KworZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkV2ZW50cyIpOworZXZ0LmluaXRFdmVudCgi
Y2xvc2UiLCB0cnVlLCBmYWxzZSk7Cit3cy5kaXNwYXRjaEV2ZW50KGV2dCk7CitzaG91bGRCZSgi
Y2xvc2VfZXZlbnRfaGFuZGxlZCIsICJ0cnVlIik7CisKK2Nsb3NlX2V2ZW50X2hhbmRsZWQgPSBm
YWxzZTsKK3dzLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Nsb3NlJywgY2xvc2VMaXN0ZW5lcik7Cit3
cy5kaXNwYXRjaEV2ZW50KGV2dCk7CitzaG91bGRCZSgiY2xvc2VfZXZlbnRfaGFuZGxlZCIsICJm
YWxzZSIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dlYnNvY2tldC1wZW5kaW5nLWFjdGl2aXR5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkv
d2Vic29ja2V0LXBlbmRpbmctYWN0aXZpdHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczNDBi
YzAxYWVhNjJmYTkwMGEwY2IxMzI3YTI5MmI4YmQ4NmFiNjkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dlYnNvY2tldC1wZW5k
aW5nLWFjdGl2aXR5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK0FMRVJUOiBQQVNTCitT
aG91bGQgYWxlcnQgIlBBU1MiLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93
ZWJzb2NrZXQvdGVzdHMvaHliaS93ZWJzb2NrZXQtcGVuZGluZy1hY3Rpdml0eS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93ZWJzb2NrZXQtcGVuZGlu
Zy1hY3Rpdml0eS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkZWNjMGJjMTAzODEyMmEwNDZhNTcyMmI2MzVl
ZDQzZTlhZWUwNTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL3dlYnNvY2tldC1wZW5kaW5nLWFjdGl2aXR5Lmh0bWwKQEAgLTAs
MCArMSwzNCBAQAorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPHA+U2hvdWxkIGFsZXJ0ICJQQVNT
Ii48L3A+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7Cit9
CisKK2Z1bmN0aW9uIGdjKCkKK3sKKyAgICBpZiAod2luZG93LkdDQ29udHJvbGxlcikKKyAgICAg
ICAgcmV0dXJuIEdDQ29udHJvbGxlci5jb2xsZWN0KCk7CisKKyAgICBmb3IgKHZhciBpID0gMDsg
aSA8IDEwMDAwOyBpKyspIHsgLy8gPiBmb3JjZSBnYXJiYWdlIGNvbGxlY3Rpb24gKEZGIHJlcXVp
cmVzIGFib3V0IDlLIGFsbG9jYXRpb25zIGJlZm9yZSBhIGNvbGxlY3QpCisgICAgICAgIHZhciBz
ID0gbmV3IFN0cmluZygiYWJjIik7CisgICAgfQorfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAg
ICB2YXIgd3MgPSBuZXcgV2ViU29ja2V0KCJ3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2VjaG8iKTsKKyAgICB3cy5vbm9wZW4gPSBmdW5jdGlvbigpIHsKKyAgICAgICAg
dGhpcy5zZW5kKCJQQVNTIik7CisgICAgfQorICAgIHdzLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKG1z
ZykgeworICAgICAgICBhbGVydChtc2cuZGF0YSk7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7CisgICAgfQorICAgIHdzID0gbnVsbDsKKyAgICBnYygpOworfQorPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dl
YnNvY2tldC1wcm90b2NvbC1pZ25vcmVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vic29ja2V0LXByb3RvY29sLWlnbm9yZWQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRkZTZkNzFhNDRjZmE0YTE0NjRkMDg4MzIyNzgyZDk2MmZk
YjI5MjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL3dlYnNvY2tldC1wcm90b2NvbC1pZ25vcmVkLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEwIEBACitUZXN0IFdlYlNvY2tldCBoYW5kc2hha2Ugc3VjY2VzcyB3aXRob3V0IHBy
b3RvY29sIGFuZCBpZ25vcmUgV2ViU29ja2V0LVByb3RvY29sIGZyb20gc2VydmVyLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK0Nvbm5lY3RlZAorUEFTUyBwcm90b2NvbCBpcyAic3Vi
LXByb3RvY29sIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5Ymkvd2Vic29ja2V0LXByb3RvY29sLWlnbm9yZWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vic29ja2V0LXByb3RvY29sLWlnbm9yZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lNTM3MzE0OTY5NWNhMzhhZWM0N2JmNzEzOGZhMDY3ZTQ1NWYzNGNkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS93ZWJzb2NrZXQtcHJvdG9jb2wtaWdub3JlZC5odG1sCkBAIC0wLDAgKzEsNTcgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9qcy10
ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZGVzY3JpcHRpb24oIlRlc3QgV2ViU29j
a2V0IGhhbmRzaGFrZSBzdWNjZXNzIHdpdGhvdXQgcHJvdG9jb2wgYW5kIGlnbm9yZSBXZWJTb2Nr
ZXQtUHJvdG9jb2wgZnJvbSBzZXJ2ZXIuIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xF
bmFibGVkIiwgMCk7CisKK3ZhciBwcm90b2NvbDsKKworZnVuY3Rpb24gZW5kVGVzdCgpCit7Cisg
ICAgc2hvdWxkQmUoInByb3RvY29sIiwgJyJzdWItcHJvdG9jb2wiJyk7CisgICAgY2xlYXJUaW1l
b3V0KHRpbWVvdXRJRCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3ZhciB1cmwgPSAid3M6
Ly9sb2NhbGhvc3Q6ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS9wcm90b2NvbC10ZXN0P3Byb3Rv
Y29sPXN1Yi1wcm90b2NvbCI7Cit2YXIgd3MgPSBuZXcgV2ViU29ja2V0KHVybCk7CisKK3dzLm9u
b3BlbiA9IGZ1bmN0aW9uKCkKK3sKKyAgICBkZWJ1ZygiQ29ubmVjdGVkIik7Cit9OworCit3cy5v
bm1lc3NhZ2UgPSBmdW5jdGlvbiAobWVzc2FnZUV2ZW50KQoreworICAgIHByb3RvY29sID0gbWVz
c2FnZUV2ZW50LmRhdGE7CisgICAgd3MuY2xvc2UoKTsKK307CisKK3dzLm9uY2xvc2UgPSBmdW5j
dGlvbigpCit7CisgICAgZW5kVGVzdCgpOworfTsKKworZnVuY3Rpb24gdGltZU91dENhbGxiYWNr
KCkKK3sKKyAgICBkZWJ1ZygiVGltZWQgb3V0IGluIHN0YXRlOiAiICsgd3MucmVhZHlTdGF0ZSk7
CisgICAgZW5kVGVzdCgpOworfQorCit2YXIgdGltZW91dElEID0gc2V0VGltZW91dCh0aW1lT3V0
Q2FsbGJhY2ssIDMwMDApOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvY2xvc2UtaW4tb25t
ZXNzYWdlLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9jbG9zZS1pbi1vbm1lc3NhZ2UtY3Jhc2gtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmRkYTIzODdjZDg4MmEzMTIzMzk2OTM2Njk3ZjNiM2U2NzA5Yzg4ZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL3dvcmtlcnMvY2xvc2UtaW4tb25tZXNzYWdlLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDExIEBACitOZXN0ZWQgY3JlYXRpb24gb2YgdHdvIFdlYlNvY2tldHMgc2hvdWxkIG5v
dCBjYXVzZSBhIGNyYXNoLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1M6IHdv
cmtlcjogUGFyc2VkIHN1Y2Nlc3NmdWxseS4KK1BBU1M6IHdvcmtlcjogQ29ubmVjdGVkLgorUEFT
Uzogd29ya2VyOiBSZWNlaXZlZCBtZXNzYWdlOiAiSGVsbG8gZnJvbSBTaW1wbGUgV1NILiIKK1BB
U1M6IHdvcmtlcjogQ2xvc2VkLgorRE9ORQorVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvY2xvc2Ut
aW4tb25tZXNzYWdlLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL3dvcmtlcnMvY2xvc2UtaW4tb25tZXNzYWdlLWNyYXNoLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjgwNTk0OWEzMTQ4ZDNlMDA3NWIxY2I1NWJmODEyODEzNmMwMWQ1MgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29y
a2Vycy9jbG9zZS1pbi1vbm1lc3NhZ2UtY3Jhc2guaHRtbApAQCAtMCwwICsxLDM2IEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PjwvaGVhZD4KKzxib2R5PgorPHA+TmVzdGVkIGNyZWF0aW9uIG9mIHR3byBXZWJTb2NrZXRzIHNo
b3VsZCBub3QgY2F1c2UgYSBjcmFzaC48L3A+Cis8cD48L3A+Cis8cD5PbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuPC9wPgorPHByZSBpZD1sb2c+Cis8L3ByZT4KKzxzY3JpcHQ+CitpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJT
b2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKK30KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7
CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZyIpLmlubmVySFRNTCArPSBtZXNzYWdl
ICsgIlxuIjsKK30KKworZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAgbG9nKCJURVNUIENPTVBM
RVRFIik7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQordmFyIHdvcmtlciA9IG5ldyBXb3Jr
ZXIoJ3Jlc291cmNlcy9jbG9zZS1pbi1vbm1lc3NhZ2UtY3Jhc2guanMnKTsKK3dvcmtlci5vbm1l
c3NhZ2UgPSBmdW5jdGlvbiAoZXZ0KSB7CisgICAgbG9nKGV2dC5kYXRhKTsKKyAgICBpZiAoZXZ0
LmRhdGEgPT0gIkRPTkUiKQorICAgICAgICBlbmRUZXN0KCk7Cit9OworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL3dvcmtlcnMvY2xvc2UtaW4tc2hhcmVkLXdvcmtlci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvY2xv
c2UtaW4tc2hhcmVkLXdvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWFjMzNlZTU2NDMz
YjU5MjFmY2JmMTU5ZmNmOWJhYzdhZTFiZWVlNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9jbG9zZS1pbi1zaGFy
ZWQtd29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUZXN0IGZvciBXZWIgU29j
a2V0IGNsb3NlIGluIFNoYXJlZFdvcmtlci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTOiB3b3JrZXI6IGluaXQKK1BBU1M6IHdvcmtlcjogV2ViU29ja2V0IGV4aXN0cworUEFT
Uzogd29ya2VyOiBzdWNjZXNzZnVsbHlQYXJzZWQ6W29iamVjdCBXZWJTb2NrZXRdCitQQVNTOiB3
b3JrZXI6IENvbm5lY3RlZC4KK1BBU1M6IHdvcmtlcjogQ2xvc2VkLgorRE9ORQorVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL3dvcmtlcnMvY2xvc2UtaW4tc2hhcmVkLXdvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL2Nsb3NlLWluLXNoYXJlZC13
b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZTgzNTIwNzNmN2UyMzg1ODMxZmE3YjlkZTE2NjA3ZDY5
YWFiY2E5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS93b3JrZXJzL2Nsb3NlLWluLXNoYXJlZC13b3JrZXIuaHRtbApAQCAtMCww
ICsxLDM2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPjwvaGVhZD4KKzxib2R5PgorPHA+VGVzdCBmb3IgV2ViIFNvY2tldCBj
bG9zZSBpbiBTaGFyZWRXb3JrZXIuPC9wPgorPHA+PC9wPgorPHA+T24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLjwvcD4KKzxwcmUgaWQ9bG9nPgorPC9wcmU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29j
a2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7Cit9CisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQorewor
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2ciKS5pbm5lckhUTUwgKz0gbWVzc2FnZSAr
ICJcbiI7Cit9CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIGxvZygiVEVTVCBDT01QTEVU
RSIpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KK3ZhciB3b3JrZXIgPSBuZXcgU2hhcmVk
V29ya2VyKCdyZXNvdXJjZXMvY2xvc2UtaW4td29ya2VyLmpzJywgJ3dlYnNvY2tldENsb3NlSW5X
b3JrZXInKTsKK3dvcmtlci5wb3J0Lm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChldnQpIHsKKyAgICBs
b2coZXZ0LmRhdGEpOworICAgIGlmIChldnQuZGF0YSA9PSAiRE9ORSIpCisgICAgICAgIGVuZFRl
c3QoKTsKK307Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9jbG9zZS1pbi13
b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVz
dHMvaHliaS93b3JrZXJzL2Nsb3NlLWluLXdvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2I5ZjkwNWIwZjVmOGQxYWE0NzVmM2Q5MWJkYTkwNjZlYWZlZmJkNwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9j
bG9zZS1pbi13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3QgZm9yIFdl
YiBTb2NrZXQgY2xvc2UgaW4gV29ya2VyLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
K1BBU1M6IHdvcmtlcjogaW5pdAorUEFTUzogd29ya2VyOiBXZWJTb2NrZXQgZXhpc3RzCitQQVNT
OiB3b3JrZXI6IHN1Y2Nlc3NmdWxseVBhcnNlZDpbb2JqZWN0IFdlYlNvY2tldF0KK1BBU1M6IHdv
cmtlcjogQ29ubmVjdGVkLgorUEFTUzogd29ya2VyOiBDbG9zZWQuCitET05FCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5Ymkvd29ya2Vycy9jbG9zZS1pbi13b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9jbG9zZS1pbi13b3JrZXIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jY2YzNDJhYzM2N2RiNTllMjBjODhhNjAxYmY5MjkzMjRjZjUzNDIwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93
b3JrZXJzL2Nsb3NlLWluLXdvcmtlci5odG1sCkBAIC0wLDAgKzEsMzYgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+PC9oZWFk
PgorPGJvZHk+Cis8cD5UZXN0IGZvciBXZWIgU29ja2V0IGNsb3NlIGluIFdvcmtlci48L3A+Cis8
cD48L3A+Cis8cD5PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuPC9wPgorPHByZSBpZD1sb2c+Cis8
L3ByZT4KKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKK30K
KworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImxvZyIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIlxuIjsKK30KKworZnVuY3Rpb24gZW5kVGVz
dCgpCit7CisgICAgbG9nKCJURVNUIENPTVBMRVRFIik7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgp
OworfQordmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoJ3Jlc291cmNlcy9jbG9zZS1pbi13b3JrZXIu
anMnKTsKK3dvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZXZ0KSB7CisgICAgbG9nKGV2dC5k
YXRhKTsKKyAgICBpZiAoZXZ0LmRhdGEgPT0gIkRPTkUiKQorICAgICAgICBlbmRUZXN0KCk7Cit9
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvcmVzb3VyY2VzL2Nsb3NlLWlu
LW9ubWVzc2FnZS1jcmFzaC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5Ymkvd29ya2Vycy9yZXNvdXJjZXMvY2xvc2UtaW4tb25tZXNzYWdlLWNyYXNoLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjlhYmNjOWVjMTJlMDAyMjVmOTcwMTgwMzJhNTJjMGE0NzQ0ODdmMzAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L3dvcmtlcnMvcmVzb3VyY2VzL2Nsb3NlLWluLW9ubWVzc2FnZS1jcmFzaC5qcwpAQCAtMCwwICsx
LDMwIEBACitmdW5jdGlvbiBydW5UZXN0cygpCit7CisgICAgdHJ5IHsKKyAgICAgICAgdmFyIHVy
bCA9ICd3czovL2xvY2FsaG9zdDo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvcmVz
b3VyY2VzL3NpbXBsZSc7CisgICAgICAgIHZhciB3cyA9IG5ldyBXZWJTb2NrZXQodXJsKTsKKwor
ICAgICAgICB3cy5vbm9wZW4gPSBmdW5jdGlvbigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHBv
c3RNZXNzYWdlKCdQQVNTOiB3b3JrZXI6IENvbm5lY3RlZC4nKTsKKyAgICAgICAgfTsKKworICAg
ICAgICB3cy5vbm1lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlRXZlbnQpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIHBvc3RNZXNzYWdlKCdQQVNTOiB3b3JrZXI6IFJlY2VpdmVkIG1lc3NhZ2U6ICIn
ICsgbWVzc2FnZUV2ZW50LmRhdGEgKyAnIicpOworICAgICAgICAgICAgd3MuY2xvc2UoKTsKKyAg
ICAgICAgfTsKKworICAgICAgICB3cy5vbmNsb3NlID0gZnVuY3Rpb24oKQorICAgICAgICB7Cisg
ICAgICAgICAgICBwb3N0TWVzc2FnZSgnUEFTUzogd29ya2VyOiBDbG9zZWQuJyk7CisgICAgICAg
ICAgICBwb3N0TWVzc2FnZSgnRE9ORScpOworICAgICAgICB9OworICAgIH0gY2F0Y2ggKGUpIHsK
KyAgICAgICAgcG9zdE1lc3NhZ2UoJ0ZBSUw6IHdvcmtlcjogVW5leHBlY3RlZCBleGNlcHRpb246
ICcgKyBlKTsKKyAgICB9IGZpbmFsbHkgeworICAgICAgICBwb3N0TWVzc2FnZSgnUEFTUzogd29y
a2VyOiBQYXJzZWQgc3VjY2Vzc2Z1bGx5LicpOworICAgIH0KK30KKworcnVuVGVzdHMoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29y
a2Vycy9yZXNvdXJjZXMvY2xvc2UtaW4td29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3Jlc291cmNlcy9jbG9zZS1pbi13b3JrZXIu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjBhYjk1OTA4ZjUwMTYxMzlhZDZmNDg3M2FjMjg3ZTFlMDFlYjVlNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3Rz
L2h5Ymkvd29ya2Vycy9yZXNvdXJjZXMvY2xvc2UtaW4td29ya2VyLmpzCkBAIC0wLDAgKzEsMzYg
QEAKK2lmIChzZWxmLnBvc3RNZXNzYWdlKQorICAgIHJ1blRlc3RzKCk7CitlbHNlCisgICAgb25j
b25uZWN0ID0gaGFuZGxlQ29ubmVjdDsKKworZnVuY3Rpb24gaGFuZGxlQ29ubmVjdChldmVudCkK
K3sKKyAgICAvLyBGb3Igc2hhcmVkIHdvcmtlcnMsIGNyZWF0ZSBhIGZhdXggcG9zdE1lc3NhZ2Uo
KSBBUEkgdG8gc2VuZCBtZXNzYWdlIGJhY2sgdG8gdGhlIHBhcmVudCBwYWdlLgorICAgIHNlbGYu
cG9zdE1lc3NhZ2UgPSBmdW5jdGlvbiAobWVzc2FnZSkgeyBldmVudC5wb3J0c1swXS5wb3N0TWVz
c2FnZShtZXNzYWdlKTsgfTsKKyAgICBydW5UZXN0cygpOworfTsKKworZnVuY3Rpb24gcnVuVGVz
dHMoKQoreworICAgIHZhciB3czsKKyAgICB0cnkgeworICAgICAgICBwb3N0TWVzc2FnZSgiUEFT
Uzogd29ya2VyOiBpbml0Iik7CisgICAgICAgIGlmICgnV2ViU29ja2V0JyBpbiBzZWxmKQorICAg
ICAgICAgICAgcG9zdE1lc3NhZ2UoIlBBU1M6IHdvcmtlcjogV2ViU29ja2V0IGV4aXN0cyIpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBwb3N0TWVzc2FnZSgiRkFJTDogd29ya2VyOiBubyBX
ZWJTb2NrZXQiKTsKKyAgICAgICAgd3MgPSBuZXcgV2ViU29ja2V0KCd3czovL2xvY2FsaG9zdDo4
ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvcmVzb3VyY2VzL2VjaG8nKTsKKyAgICAg
ICAgd3Mub25vcGVuID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBwb3N0TWVzc2FnZSgiUEFT
Uzogd29ya2VyOiBDb25uZWN0ZWQuIik7CisgICAgICAgICAgICB3cy5jbG9zZSgpOworICAgICAg
ICB9OworICAgICAgICB3cy5vbmNsb3NlID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBwb3N0
TWVzc2FnZSgiUEFTUzogd29ya2VyOiBDbG9zZWQuIik7CisgICAgICAgICAgICBwb3N0TWVzc2Fn
ZSgiRE9ORSIpOworICAgICAgICB9OworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgcG9zdE1l
c3NhZ2UoIkZBSUw6IHdvcmtlcjogVW5leHBlY3RlZCBleGNlcHRpb246ICIgKyBlKTsKKyAgICB9
IGZpbmFsbHkgeworICAgICAgICBwb3N0TWVzc2FnZSgiUEFTUzogd29ya2VyOiBzdWNjZXNzZnVs
bHlQYXJzZWQ6IiArIHdzKTsKKyAgICB9Cit9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3Jlc291cmNlcy9lY2hvLWNoYWxs
ZW5nZV93c2gucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L3dvcmtlcnMvcmVzb3VyY2VzL2VjaG8tY2hhbGxlbmdlX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTBk
NDQxNTA5Y2EzMDQzNGVhYmUzZGM0NTQzMDYxNmY1YjMzY2JmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3Jlc291
cmNlcy9lY2hvLWNoYWxsZW5nZV93c2gucHkKQEAgLTAsMCArMSwxMyBAQAorZnJvbSBtb2RfcHl3
ZWJzb2NrZXQgaW1wb3J0IG1zZ3V0aWwKKworCitkZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5k
c2hha2UocmVxdWVzdCk6CisgICAgcGFzcworCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2Rh
dGEocmVxdWVzdCk6CisgICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwgX2hleGlmeShy
ZXF1ZXN0LndzX2NoYWxsZW5nZSkpCisKKworZGVmIF9oZXhpZnkoYnl0ZXMpOgorICAgIHJldHVy
biAnOicuam9pbihbJyUwMlgnICUgb3JkKGJ5dGUpIGZvciBieXRlIGluIGJ5dGVzXSkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vy
cy9yZXNvdXJjZXMvZWNob193c2gucHkgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL3dvcmtlcnMvcmVzb3VyY2VzL2VjaG9fd3NoLnB5Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQy
OWY1ODE4NmUzZmNlNDNkYzIxZTgxZTBmOWQ3ZTIwYzdlMGJmNzAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvcmVz
b3VyY2VzL2VjaG9fd3NoLnB5CkBAIC0wLDAgKzEsNDYgQEAKKyMgQ29weXJpZ2h0IDIwMTAsIEdv
b2dsZSBJbmMuCisjIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisK
K2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBtc2d1dGlsCisKKworX0dPT0RCWUVfTUVTU0FH
RSA9ICdHb29kYnllJworCisKK2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1
ZXN0KToKKyAgICBwYXNzICAjIEFsd2F5cyBhY2NlcHQuCisKKworZGVmIHdlYl9zb2NrZXRfdHJh
bnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICB3aGlsZSBUcnVlOgorICAgICAgICBsaW5lID0gbXNn
dXRpbC5yZWNlaXZlX21lc3NhZ2UocmVxdWVzdCkKKyAgICAgICAgbXNndXRpbC5zZW5kX21lc3Nh
Z2UocmVxdWVzdCwgbGluZSkKKyAgICAgICAgaWYgbGluZSA9PSBfR09PREJZRV9NRVNTQUdFOgor
ICAgICAgICAgICAgcmV0dXJuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dl
YnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvcmVzb3VyY2VzL3NpbXBsZV93c2gucHkgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvcmVzb3VyY2Vz
L3NpbXBsZV93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmMwMjcxYzVmN2E5ZjU0N2Y1MmZiYzA1Y2ZkMzA0
YjNiNWRmMDMyZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vi
c29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9yZXNvdXJjZXMvc2ltcGxlX3dzaC5weQpAQCAtMCww
ICsxLDM4IEBACisjIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlz
dHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBv
cnQgbXNndXRpbAorCisKK2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0
KToKKyAgICBwYXNzICMgQWx3YXlzIGFjY2VwdC4KKworCitkZWYgd2ViX3NvY2tldF90cmFuc2Zl
cl9kYXRhKHJlcXVlc3QpOgorICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3QsICdIZWxs
byBmcm9tIFNpbXBsZSBXU0guJykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9yZXNvdXJjZXMvd29ya2VyLWhhbmRzaGFrZS1j
aGFsbGVuZ2UtcmFuZG9tbmVzcy5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5Ymkvd29ya2Vycy9yZXNvdXJjZXMvd29ya2VyLWhhbmRzaGFrZS1jaGFsbGVuZ2Ut
cmFuZG9tbmVzcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYTFjMWZlMWEyNTRhNGVhYjllMjcxNDgwZjVlMzBl
N2YwOGY3ZDhlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItaGFuZHNoYWtlLWNoYWxs
ZW5nZS1yYW5kb21uZXNzLmpzCkBAIC0wLDAgKzEsNDggQEAKK3ZhciBjaGFsbGVuZ2UxOwordmFy
IGNoYWxsZW5nZTI7CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIGlmIChjaGFsbGVuZ2Ux
ID09PSBjaGFsbGVuZ2UyKQorICAgICAgICBwb3N0TWVzc2FnZSgnRkFJTDogd29ya2VyOiBjaGFs
bGVuZ2UxID09PSBjaGFsbGVuZ2UyIChjaGFsbGVuZ2Ugd2FzICcgKyBjaGFsbGVuZ2UxICsgJykn
KTsKKyAgICBlbHNlCisgICAgICAgIHBvc3RNZXNzYWdlKCdQQVNTOiB3b3JrZXI6IGNoYWxsZW5n
ZTEgIT09IGNoYWxsZW5nZTInKTsKKworICAgIHBvc3RNZXNzYWdlKCdET05FJyk7Cit9CisKK2Z1
bmN0aW9uIHJ1blRlc3RzKCkKK3sKKyAgICB0cnkgeworICAgICAgICB2YXIgdXJsID0gJ3dzOi8v
bG9jYWxob3N0Ojg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9yZXNvdXJjZXMvZWNo
by1jaGFsbGVuZ2UnOworICAgICAgICB2YXIgd3MxID0gbmV3IFdlYlNvY2tldCh1cmwpOworCisg
ICAgICAgIHdzMS5vbm1lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlRXZlbnQpCisgICAgICAgIHsK
KyAgICAgICAgICAgIGNoYWxsZW5nZTEgPSBtZXNzYWdlRXZlbnQuZGF0YTsKKyAgICAgICAgICAg
IHdzMS5jbG9zZSgpOworICAgICAgICB9CisKKyAgICAgICAgd3MxLm9uY2xvc2UgPSBmdW5jdGlv
bigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciB3czIgPSBuZXcgV2ViU29ja2V0KHVybCk7
CisKKyAgICAgICAgICAgIHdzMi5vbm1lc3NhZ2UgPSBmdW5jdGlvbihtZXNzYWdlRXZlbnQpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2hhbGxlbmdlMiA9IG1lc3NhZ2VFdmVudC5k
YXRhOworICAgICAgICAgICAgICAgIHdzMi5jbG9zZSgpOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICB3czIub25jbG9zZSA9IGZ1bmN0aW9uKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9IGNhdGNo
IChlKSB7CisgICAgICAgIHBvc3RNZXNzYWdlKCdGQUlMOiB3b3JrZXI6IFVuZXhwZWN0ZWQgZXhj
ZXB0aW9uOiAnICsgZSk7CisgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgcG9zdE1lc3NhZ2UoJ1BB
U1M6IHdvcmtlcjogUGFyc2VkIHN1Y2Nlc3NmdWxseS4nKTsKKyAgICB9Cit9CisKK3J1blRlc3Rz
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9o
eWJpL3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtlci1zaW1wbGUuanMgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtlci1zaW1w
bGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTAwODMwMWRhY2RkYzZkYmIzZTMxY2NhOTE3NGJkOTQ0OGQ3NTFm
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rl
c3RzL2h5Ymkvd29ya2Vycy9yZXNvdXJjZXMvd29ya2VyLXNpbXBsZS5qcwpAQCAtMCwwICsxLDM4
IEBACitpZiAoc2VsZi5wb3N0TWVzc2FnZSkKKyAgICBydW5UZXN0cygpOworZWxzZQorICAgIG9u
Y29ubmVjdCA9IGhhbmRsZUNvbm5lY3Q7CisKK2Z1bmN0aW9uIGhhbmRsZUNvbm5lY3QoZXZlbnQp
Cit7CisgICAgLy8gRm9yIHNoYXJlZCB3b3JrZXJzLCBjcmVhdGUgYSBmYXV4IHBvc3RNZXNzYWdl
KCkgQVBJIHRvIHNlbmQgbWVzc2FnZSBiYWNrIHRvIHRoZSBwYXJlbnQgcGFnZS4KKyAgICBzZWxm
LnBvc3RNZXNzYWdlID0gZnVuY3Rpb24gKG1lc3NhZ2UpIHsgZXZlbnQucG9ydHNbMF0ucG9zdE1l
c3NhZ2UobWVzc2FnZSk7IH07CisgICAgcnVuVGVzdHMoKTsKK307CisKK2Z1bmN0aW9uIHJ1blRl
c3RzKCkKK3sKKyAgICB2YXIgd3M7CisgICAgdHJ5IHsKKyAgICAgICAgcG9zdE1lc3NhZ2UoIlBB
U1M6IHdvcmtlcjogaW5pdCIpOworICAgICAgICBpZiAoJ1dlYlNvY2tldCcgaW4gc2VsZikKKyAg
ICAgICAgICAgIHBvc3RNZXNzYWdlKCJQQVNTOiB3b3JrZXI6IFdlYlNvY2tldCBleGlzdHMiKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgcG9zdE1lc3NhZ2UoIlBBU1M6IHdvcmtlcjogbm8g
V2ViU29ja2V0Iik7CisgICAgICAgIHdzID0gbmV3IFdlYlNvY2tldCgnd3M6Ly9sb2NhbGhvc3Q6
ODg4MC93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3Jlc291cmNlcy9zaW1wbGUnKTsKKyAg
ICAgICAgd3Mub25vcGVuID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBwb3N0TWVzc2FnZSgi
UEFTUzogd29ya2VyOiBDb25uZWN0ZWQuIik7CisgICAgICAgIH07CisgICAgICAgIHdzLm9ubWVz
c2FnZSA9IGZ1bmN0aW9uKGV2dCkgeworICAgICAgICAgICAgcG9zdE1lc3NhZ2UoIlBBU1M6IHdv
cmtlcjogUmVjZWl2ZWQ6ICciICsgZXZ0LmRhdGEgKyAiJyIpOworICAgICAgICB9OworICAgICAg
ICB3cy5vbmNsb3NlID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBwb3N0TWVzc2FnZSgiUEFT
Uzogd29ya2VyOiBDbG9zZWQuIik7CisgICAgICAgICAgICBwb3N0TWVzc2FnZSgiRE9ORSIpOwor
ICAgICAgICB9OworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgcG9zdE1lc3NhZ2UoIkZBSUw6
IHdvcmtlcjogVW5leHBlY3RlZCBleGNlcHRpb246ICIgKyBlKTsKKyAgICB9IGZpbmFsbHkgewor
ICAgICAgICBwb3N0TWVzc2FnZSgiUEFTUzogd29ya2VyOiBzdWNjZXNzZnVsbHlQYXJzZWQ6IiAr
IHdzKTsKKyAgICB9Cit9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3NoYXJlZC13b3JrZXItc2ltcGxlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9z
aGFyZWQtd29ya2VyLXNpbXBsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODZiNmJkYzI2MjQ5
ZjcwYWZjMzkzOTcyMzQ0ODBlZGUwYTQxN2Q3MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9zaGFyZWQtd29ya2Vy
LXNpbXBsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGVzdCBmb3IgV2ViIFNvY2tl
dCBpbiBTaGFyZWRXb3JrZXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUzog
d29ya2VyOiBpbml0CitQQVNTOiB3b3JrZXI6IFdlYlNvY2tldCBleGlzdHMKK1BBU1M6IHdvcmtl
cjogc3VjY2Vzc2Z1bGx5UGFyc2VkOltvYmplY3QgV2ViU29ja2V0XQorUEFTUzogd29ya2VyOiBD
b25uZWN0ZWQuCitQQVNTOiB3b3JrZXI6IFJlY2VpdmVkOiAnSGVsbG8gZnJvbSBTaW1wbGUgV1NI
LicKK1BBU1M6IHdvcmtlcjogQ2xvc2VkLgorRE9ORQorVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMv
c2hhcmVkLXdvcmtlci1zaW1wbGUuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29j
a2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy9zaGFyZWQtd29ya2VyLXNpbXBsZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjViZDZlZDliZTUwYjA3YjcxYWQ1MTJkNGEyMTA2MjM5MDgxODhmYjEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtl
cnMvc2hhcmVkLXdvcmtlci1zaW1wbGUuaHRtbApAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPjwvaGVh
ZD4KKzxib2R5PgorPHA+VGVzdCBmb3IgV2ViIFNvY2tldCBpbiBTaGFyZWRXb3JrZXIuPC9wPgor
PHA+PC9wPgorPHA+T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLjwvcD4KKzxwcmUgaWQ9bG9nPgor
PC9wcmU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIiwgMCk7Cit9
CisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJsb2ciKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICJcbiI7Cit9CisKK2Z1bmN0aW9uIGVuZFRl
c3QoKQoreworICAgIGxvZygiVEVTVCBDT01QTEVURSIpOworICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKK30KK3ZhciB3b3JrZXIgPSBuZXcgU2hhcmVkV29ya2VyKCdyZXNvdXJjZXMvd29ya2VyLXNp
bXBsZS5qcycsICd3ZWJzb2NrZXRTaW1wbGUnKTsKK3dvcmtlci5wb3J0Lm9ubWVzc2FnZSA9IGZ1
bmN0aW9uIChldnQpIHsKKyAgICBsb2coZXZ0LmRhdGEpOworICAgIGlmIChldnQuZGF0YSA9PSAi
RE9ORSIpCisgICAgICAgIGVuZFRlc3QoKTsKK307Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
Ymkvd29ya2Vycy93b3JrZXItaGFuZHNoYWtlLWNoYWxsZW5nZS1yYW5kb21uZXNzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vy
cy93b3JrZXItaGFuZHNoYWtlLWNoYWxsZW5nZS1yYW5kb21uZXNzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xOGM5ODgwOWI1ZTUyZTgxOWRlY2E0YjE0NTA3NmIwY2VjYzA4MThjCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93
b3JrZXJzL3dvcmtlci1oYW5kc2hha2UtY2hhbGxlbmdlLXJhbmRvbW5lc3MtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsOSBAQAorSGFuZHNoYWtlIHJlcXVlc3Qgc2hvdWxkIGNvbnRhaW4gcmFuZG9t
IGNoYWxsZW5nZSB2YWx1ZXMgKGluIGEgd29ya2VyIHByb2Nlc3MpLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1BBU1M6IHdvcmtlcjogUGFyc2VkIHN1Y2Nlc3NmdWxseS4KK1BBU1M6
IHdvcmtlcjogY2hhbGxlbmdlMSAhPT0gY2hhbGxlbmdlMgorRE9ORQorVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJp
L3dvcmtlcnMvd29ya2VyLWhhbmRzaGFrZS1jaGFsbGVuZ2UtcmFuZG9tbmVzcy5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3dvcmtlci1o
YW5kc2hha2UtY2hhbGxlbmdlLXJhbmRvbW5lc3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMTRiZjEwNjli
YTEwYmQ2MzZkZDNlNGUxMDQ5Y2VkOTQ0ZWU5NDJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3dvcmtlci1oYW5k
c2hha2UtY2hhbGxlbmdlLXJhbmRvbW5lc3MuaHRtbApAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPjwv
aGVhZD4KKzxib2R5PgorPHA+SGFuZHNoYWtlIHJlcXVlc3Qgc2hvdWxkIGNvbnRhaW4gcmFuZG9t
IGNoYWxsZW5nZSB2YWx1ZXMgKGluIGEgd29ya2VyIHByb2Nlc3MpLjwvcD4KKzxwPjwvcD4KKzxw
Pk9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi48L3A+Cis8cHJlIGlkPWxvZz4KKzwvcHJlPgorPHNj
cmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVu
dGlsRG9uZSgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgi
V2ViS2l0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCIsIDApOworfQorCitmdW5jdGlv
biBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9nIikuaW5u
ZXJIVE1MICs9IG1lc3NhZ2UgKyAiXG4iOworfQorCitmdW5jdGlvbiBlbmRUZXN0KCkKK3sKKyAg
ICBsb2coIlRFU1QgQ09NUExFVEUiKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9Cit2YXIg
d29ya2VyID0gbmV3IFdvcmtlcigncmVzb3VyY2VzL3dvcmtlci1oYW5kc2hha2UtY2hhbGxlbmdl
LXJhbmRvbW5lc3MuanMnKTsKK3dvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZXZ0KSB7Cisg
ICAgbG9nKGV2dC5kYXRhKTsKKyAgICBpZiAoZXZ0LmRhdGEgPT0gIkRPTkUiKQorICAgICAgICBl
bmRUZXN0KCk7Cit9OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvd29ya2Vy
LXNpbXBsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90
ZXN0cy9oeWJpL3dvcmtlcnMvd29ya2VyLXNpbXBsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTY1YTg0MmVkNjA4NTVkY2JkNDdmZGY5MjNhMWZmNzI5MGRkNGI2NQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy93
b3JrZXItc2ltcGxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUZXN0IGZvciBXZWIg
U29ja2V0IGluIFdvcmtlci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTOiB3
b3JrZXI6IGluaXQKK1BBU1M6IHdvcmtlcjogV2ViU29ja2V0IGV4aXN0cworUEFTUzogd29ya2Vy
OiBzdWNjZXNzZnVsbHlQYXJzZWQ6W29iamVjdCBXZWJTb2NrZXRdCitQQVNTOiB3b3JrZXI6IENv
bm5lY3RlZC4KK1BBU1M6IHdvcmtlcjogUmVjZWl2ZWQ6ICdIZWxsbyBmcm9tIFNpbXBsZSBXU0gu
JworUEFTUzogd29ya2VyOiBDbG9zZWQuCitET05FCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy93
b3JrZXItc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL3dvcmtlcnMvd29ya2VyLXNpbXBsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2NzFjZjdiYWMz
NWE1YzhjZjA4NDU3YTgyMGFiZDEzODY1ZmU4MzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dvcmtlcnMvd29ya2VyLXNpbXBs
ZS5odG1sCkBAIC0wLDAgKzEsMzYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+PC9oZWFkPgorPGJvZHk+Cis8cD5UZXN0IGZv
ciBXZWIgU29ja2V0IGluIFdvcmtlci48L3A+Cis8cD48L3A+Cis8cD5PbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuPC9wPgorPHByZSBpZD1sb2c+Cis8L3ByZT4KKzxzY3JpcHQ+CitpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdEhpeGllNzZXZWJT
b2NrZXRQcm90b2NvbEVuYWJsZWQiLCAwKTsKK30KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7
CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZyIpLmlubmVySFRNTCArPSBtZXNzYWdl
ICsgIlxuIjsKK30KKworZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAgbG9nKCJURVNUIENPTVBM
RVRFIik7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQordmFyIHdvcmtlciA9IG5ldyBXb3Jr
ZXIoJ3Jlc291cmNlcy93b3JrZXItc2ltcGxlLmpzJyk7Cit3b3JrZXIub25tZXNzYWdlID0gZnVu
Y3Rpb24gKGV2dCkgeworICAgIGxvZyhldnQuZGF0YSk7CisgICAgaWYgKGV2dC5kYXRhID09ICJE
T05FIikKKyAgICAgICAgZW5kVGVzdCgpOworfTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3Rh
dGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlv
bnMudHh0CmluZGV4IDQ2NDNiY2IxNzQ0Yjc0NTAyODQyYzU4MzdkYjgyOTE3ZDBiY2U0YzUuLjQ2
N2Y3MWU5OWVjNjYxNDAzMDA4ZTY0MWUzNzA5NmRkOGY0YjE3MzkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTIxMiw2
ICsyMTIsOSBAQCBXT05URklYIFNLSVAgOiBhbmltYXRpb25zL2FuaW1hdGlvbi1hcGktMS5odG1s
ID0gRkFJTAogLy8gVW5za2lwIGFmdGVyIGltcGxlbWVudGluZyBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6c2V0RGVmZXJzTG9hZGluZyBhbmQgOjpnb0JhY2suCiBCVUdXSzYwODc3IFNLSVAgOiBsb2Fk
ZXIvbmF2aWdhdGlvbi13aGlsZS1kZWZlcnJpbmctbG9hZHMuaHRtbCA9IEZBSUwKIAorLy8gU2tp
cHBlZCB1bnRpbCBuZXcgV2ViU29ja2V0IHByb3RvY29sIGlzIGltcGxlbWVudGVkLgorQlVHV0s1
MDA5OSBTS0lQIDogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS8gPSBQQVNTIEZBSUwg
VElNRU9VVAorCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogLy8gV09OVEZJWCBURVNUUwogLy8gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL1NraXBwZWQKaW5kZXggNGRhYmM0MWVlYzE3NWZmNzgzZGY2MDUwNGJjYjk4
NTZhMDAyYjBiNi4uZGMzYTBhMTU3ZDMwNTNmYmNjZjlhM2IxNjRhZThlZjU0MzYxN2E3MyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKQEAgLTE1NjAsMyArMTU2MCw2IEBAIGh0dHAvdGVzdHMv
bWlzYy9pZnJhbWUtcmVwYXJlbnRpbmctaWQtY29sbGlzaW9uLmh0bWwKIGh0dHAvdGVzdHMvaW5z
cGVjdG9yCiBodHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkCiBpbnNwZWN0b3IvCisKKyMgU2tp
cHBlZCB1bnRpbCBuZXcgV2ViU29ja2V0IHByb3RvY29sIGlzIGltcGxlbWVudGVkLiBodHRwOi8v
d2Via2l0Lm9yZy9iLzUwMDk5CitodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpLwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvU2tpcHBlZAppbmRleCBhZWU1OTc5MTdjMjA0YmU2ZTg5NGQwMjAwNTRmOWMy
YjFjYjc2MTAxLi4yYWE5NjhlODRlMTI2ODllNDdiMzkwMmU5MTJmMDNkYWU1MGI4ZDZmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZApAQCAtMzg4LDMgKzM4OCw2IEBAIGNvbXBvc2l0aW5nL3J0
bC9ydGwtaWZyYW1lLWZpeGVkLW92ZXJmbG93LXNjcm9sbGVkLmh0bWwKIGNvbXBvc2l0aW5nL3J0
bC9ydGwtaWZyYW1lLWZpeGVkLW92ZXJmbG93Lmh0bWwKIGNvbXBvc2l0aW5nL3J0bC9ydGwtaWZy
YW1lLWZpeGVkLmh0bWwKIGNvbXBvc2l0aW5nL3J0bC9ydGwtaWZyYW1lLXJlbGF0aXZlLmh0bWwK
KworIyBTa2lwcGVkIHVudGlsIG5ldyBXZWJTb2NrZXQgcHJvdG9jb2wgaXMgaW1wbGVtZW50ZWQu
IGh0dHA6Ly93ZWJraXQub3JnL2IvNTAwOTkKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5
YmkvCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCAyMDRkYTJjZjQ5NDhiYWY5N2NlYmQ5ZDBj
NGMzODEyNTA0MzYwZGVhLi4zNmNlNGQ5OTFlNTc5ZWVhOGFiNTNiNWI2NmIzZWIxNTFlMzkwZWI4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTE5NDIsNiArMTk0MiwxMyBAQCBwcmludGlu
Zy9jb21wb3NpdGluZy1sYXllci1wcmludGluZy5odG1sCiBwcmludGluZy9tZWRpYS1xdWVyaWVz
LXByaW50Lmh0bWwKIAogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAjCisjIGZhaWxpbmcgd2Vic29j
a2V0IHRlc3RzCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICMKKworIyBTa2lwcGVkIHVudGlsIG5l
dyBXZWJTb2NrZXQgcHJvdG9jb2wgaXMgaW1wbGVtZW50ZWQuIGh0dHA6Ly93ZWJraXQub3JnL2Iv
NTAwOTkKK2h0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5YmkvCisKKyMgPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0gIwogIyBuZXcgdGVzdHMgd2l0aG91dCBleHBlY3RlZCByZXN1bHRzCiAjID09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09ICMKIGVkaXRpbmcvc2VsZWN0aW9uL3RyYW5zZm9ybWVkLXNlbGVjdGlv
bi1yZWN0cy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBl
ZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IGE3MzM3ZGI2ODQyOGZh
YWFlZDY4MWU1MzhhNjVhYjNlNjI5ZjcwOTYuLmE4NDgwNjYyMDEzYjQzMzk4YWMyYjBhM2E2MmMy
ODUwNzI2NWFlMjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVk
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0xMzQ2LDMgKzEzNDYs
NiBAQCBmYXN0L3dvcmtlcnMvd29ya2VyLWNyYXNoLXdpdGgtaW52YWxpZC1sb2NhdGlvbi5odG1s
CiAKICMgTmVlZCB0byBpbXBsZW1lbnQgZ2V0Rm9ybVZhbHVlKCkuCiBwbHVnaW5zL2Zvcm0tdmFs
dWUuaHRtbAorCisjIFNraXBwZWQgdW50aWwgbmV3IFdlYlNvY2tldCBwcm90b2NvbCBpcyBpbXBs
ZW1lbnRlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi81MDA5OQoraHR0cC90ZXN0cy93ZWJzb2NrZXQv
dGVzdHMvaHliaS8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVk
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1NraXBwZWQKaW5kZXggYjc0YjA0OTNiNTE0NDc4
NzY5MGE2NzMwYzA5ZDliMjEwZjQwNzcyNi4uYmE3Yjg0NmJjNjFhNjRmZWNlOTRhZTVlN2Y3YWFj
Mjk3Y2QwNjg1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1NraXBwZWQK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1NraXBwZWQKQEAgLTE2MTMsNiArMTYxMyw5
IEBAIHBsYXRmb3JtL21hYy9mYXN0L3RleHQvcm91bmRpbmctaGFja3MuaHRtbAogIyBodHRwOi8v
d2Via2l0Lm9yZy9iLzU4OTkwCiBlZGl0aW5nL3VuZG8vdW5kby1pZnJhbWUtbG9jYXRpb24tY2hh
bmdlLmh0bWwKIAorIyBTa2lwcGVkIHVudGlsIG5ldyBXZWJTb2NrZXQgcHJvdG9jb2wgaXMgaW1w
bGVtZW50ZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNTAwOTkKK2h0dHAvdGVzdHMvd2Vic29ja2V0
L3Rlc3RzL2h5YmkvCisKICMjIyBFTkQgT0YgKDEpIENsYXNzaWZpZWQgZmFpbHVyZXMgd2l0aCBi
dWcgcmVwb3J0cwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCg==
</data>
<flag name="commit-queue"
          id="94906"
          type_id="3"
          status="-"
          setter="yutak"
    />
          </attachment>
      

    </bug>

</bugzilla>