<?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>210921</bug_id>
          
          <creation_ts>2020-04-23 10:17:54 -0700</creation_ts>
          <short_desc>Update test262 to commit 31dabb5618e2</short_desc>
          <delta_ts>2020-04-23 22:20:22 -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>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Shvayka">ashvayka</reporter>
          <assigned_to name="Alexey Shvayka">ashvayka</assigned_to>
          <cc>keith_miller</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1644828</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-23 10:17:54 -0700</bug_when>
    <thetext>Update test262 to commit 31dabb5618e2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644861</commentid>
    <comment_count>1</comment_count>
      <attachid>397360</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-23 10:56:52 -0700</bug_when>
    <thetext>Created attachment 397360
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644929</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-23 12:57:17 -0700</bug_when>
    <thetext>Committed r260591: &lt;https://trac.webkit.org/changeset/260591&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 397360.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644933</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-23 12:58:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/62258557&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644978</commentid>
    <comment_count>4</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-04-23 15:01:55 -0700</bug_when>
    <thetext>Whoops, we need to adjust the expectations since the bot is using ICU 64.

Committed r260601: &lt;https://trac.webkit.org/changeset/260601&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645084</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-23 22:00:37 -0700</bug_when>
    <thetext>(In reply to Ross Kirsling from comment #4)
&gt; Whoops, we need to adjust the expectations since the bot is using ICU 64.

Thank you, Ross.
I will make sure to install Catalina before next sync.
Would be nice if it was possible to conditionally skip test262 files though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645089</commentid>
    <comment_count>6</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-04-23 22:20:22 -0700</bug_when>
    <thetext>(In reply to Alexey Shvayka from comment #5)
&gt; (In reply to Ross Kirsling from comment #4)
&gt; &gt; Whoops, we need to adjust the expectations since the bot is using ICU 64.
&gt; 
&gt; Thank you, Ross.
&gt; I will make sure to install Catalina before next sync.
&gt; Would be nice if it was possible to conditionally skip test262 files though.

Agreed. :(</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397360</attachid>
            <date>2020-04-23 10:56:52 -0700</date>
            <delta_ts>2020-04-23 12:57:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210921-20200423205650.patch</filename>
            <type>text/plain</type>
            <size>360176</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNjA1ODApCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE3IEBACisyMDIwLTA0LTIzIEFsZXhleSBTaHZheWthIDxzaHZhaWthbGVzaEBn
bWFpbC5jb20+CisKKyAgICAgICAgVXBkYXRlIHRlc3QyNjIgdG8gY29tbWl0IDMxZGFiYjU2MThl
MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwOTIx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB0ZXN0
MjYyL2NvbmZpZy55YW1sOiBTa2lwICJBdG9taWNzLndhaXRBc3luYyIgZmVhdHVyZS4KKyAgICAg
ICAgKiB0ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sOgorICAgICAgICAqIHRlc3QyNjIvaGFybmVz
cy8qOiBVcGRhdGVkLgorICAgICAgICAqIHRlc3QyNjIvbGF0ZXN0LWNoYW5nZXMtc3VtbWFyeS50
eHQ6CisgICAgICAgICogdGVzdDI2Mi90ZXN0Lyo6IFVwZGF0ZWQuCisgICAgICAgICogdGVzdDI2
Mi90ZXN0MjYyLVJldmlzaW9uLnR4dDoKKwogMjAyMC0wNC0yMyAgUGF1bG8gTWF0b3MgIDxwbWF0
b3NAaWdhbGlhLmNvbT4KIAogICAgICAgICBTa2lwIHN0cmVzcy92OC1iaXRpbnQzMi1pbmMuanMg
b24gbWlwcwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL2NvbmZpZy55YW1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEpTVGVzdHMvdGVzdDI2Mi9jb25maWcueWFtbAkocmV2aXNpb24gMjYwNTcwKQorKysgSlNUZXN0
cy90ZXN0MjYyL2NvbmZpZy55YW1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMCw2ICsxMCw3IEBAIHNr
aXA6CiAgIGZlYXR1cmVzOgogICAgIC0gU2hhcmVkQXJyYXlCdWZmZXIKICAgICAtIEF0b21pY3MK
KyAgICAtIEF0b21pY3Mud2FpdEFzeW5jCiAgICAgIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc0OTMxCiAgICAgLSByZWdleHAtbG9va2JlaGluZAogCkluZGV4OiBK
U1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90
ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sCShyZXZpc2lvbiAyNjA1NzApCisrKyBKU1Rlc3RzL3Rl
c3QyNjIvZXhwZWN0YXRpb25zLnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTI5OCw5ICsyOTgsMTgg
QEAgdGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXZhbC1jb2RlL2luZGlyZWN0LwogICBkZWZhdWx0OiAn
VGVzdDI2MkVycm9yOiBBbiBpbml0aWFsaXplZCBiaW5kaW5nIGlzIG5vdCBjcmVhdGVkIGZvbGxv
d2luZyBldmFsdWF0aW9uIEV4cGVjdGVkIGEgUmVmZXJlbmNlRXJyb3IgdG8gYmUgdGhyb3duIGJ1
dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCiB0ZXN0L2FubmV4Qi9sYW5ndWFnZS9l
dmFsLWNvZGUvaW5kaXJlY3QvZ2xvYmFsLXN3aXRjaC1kZmx0LWV2YWwtZ2xvYmFsLXNraXAtZWFy
bHktZXJyLXRyeS5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogQW4gaW5pdGlhbGl6ZWQg
YmluZGluZyBpcyBub3QgY3JlYXRlZCBwcmlvciB0byBldmFsdWF0aW9uIEV4cGVjdGVkIGEgUmVm
ZXJlbmNlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBh
bGwnCit0ZXN0L2FubmV4Qi9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50L2RzdHIvYXJy
YXktcGF0dGVybi1lbXVsYXRlcy11bmRlZmluZWQuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJy
b3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3VuZGVmaW5lZMK7LCDCq1tvYmplY3QgRnVuY3Rpb25d
wrspIHRvIGJlIHRydWUnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBT
YW1lVmFsdWUowqt1bmRlZmluZWTCuywgwqtbb2JqZWN0IEZ1bmN0aW9uXcK7KSB0byBiZSB0cnVl
JwordGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudC9kc3RyL29iamVj
dC1wYXR0ZXJuLWVtdWxhdGVzLXVuZGVmaW5lZC5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJv
cjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrdW5kZWZpbmVkwrssIMKrW29iamVjdCBGdW5jdGlvbl3C
uykgdG8gYmUgdHJ1ZScKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNh
bWVWYWx1ZSjCq3VuZGVmaW5lZMK7LCDCq1tvYmplY3QgRnVuY3Rpb25dwrspIHRvIGJlIHRydWUn
CiB0ZXN0L2FubmV4Qi9sYW5ndWFnZS9leHByZXNzaW9ucy95aWVsZC9zdGFyLWl0ZXJhYmxlLXJl
dHVybi1lbXVsYXRlcy11bmRlZmluZWQtdGhyb3dzLXdoZW4tY2FsbGVkLmpzOgogICBkZWZhdWx0
OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5v
IGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJy
b3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdh
cyB0aHJvd24gYXQgYWxsJwordGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMveWllbGQv
c3Rhci1pdGVyYWJsZS10aHJvdy1lbXVsYXRlcy11bmRlZmluZWQtdGhyb3dzLXdoZW4tY2FsbGVk
LmpzOgorICBkZWZhdWx0OiAiVHlwZUVycm9yOiBEZWxlZ2F0ZWQgZ2VuZXJhdG9yIGRvZXMgbm90
IGhhdmUgYSAndGhyb3cnIG1ldGhvZC4iCisgIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiBEZWxl
Z2F0ZWQgZ2VuZXJhdG9yIGRvZXMgbm90IGhhdmUgYSAndGhyb3cnIG1ldGhvZC4iCiB0ZXN0L2Fu
bmV4Qi9sYW5ndWFnZS9mdW5jdGlvbi1jb2RlL2Jsb2NrLWRlY2wtZnVuYy1za2lwLWFyZ3VtZW50
cy5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrZnVu
Y3Rpb24gYXJndW1lbnRzKCkge33Cuywgwqtbb2JqZWN0IEFyZ3VtZW50c13CuykgdG8gYmUgdHJ1
ZScKIHRlc3QvYW5uZXhCL2xhbmd1YWdlL2Z1bmN0aW9uLWNvZGUvYmxvY2stZGVjbC1mdW5jLXNr
aXAtZWFybHktZXJyLWJsb2NrLmpzOgpAQCAtNjA5LDEyICs2MTgsMjEgQEAgdGVzdC9hbm5leEIv
bGFuZ3VhZ2UvZ2xvYmFsLWNvZGUvc3dpdGNoLQogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBB
biBpbml0aWFsaXplZCBiaW5kaW5nIGlzIG5vdCBjcmVhdGVkIHByaW9yIHRvIGV2YWx1YXRpb24g
RXhwZWN0ZWQgYSBSZWZlcmVuY2VFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3
YXMgdGhyb3duIGF0IGFsbCcKIHRlc3QvYW5uZXhCL2xhbmd1YWdlL2dsb2JhbC1jb2RlL3N3aXRj
aC1kZmx0LWdsb2JhbC1za2lwLWVhcmx5LWVyci5qczoKICAgZGVmYXVsdDogIlN5bnRheEVycm9y
OiBDYW5ub3QgZGVjbGFyZSBhIGZ1bmN0aW9uIHRoYXQgc2hhZG93cyBhIGxldC9jb25zdC9jbGFz
cy9mdW5jdGlvbiB2YXJpYWJsZSAnZicgaW4gc3RyaWN0IG1vZGUuIgordGVzdC9hbm5leEIvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jb25zdC9kc3RyL2FycmF5LXBhdHRlcm4tZW11bGF0ZXMtdW5kZWZp
bmVkLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqt1
bmRlZmluZWTCuywgwqtbb2JqZWN0IEZ1bmN0aW9uXcK7KSB0byBiZSB0cnVlJworICBzdHJpY3Qg
bW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrdW5kZWZpbmVkwrssIMKr
W29iamVjdCBGdW5jdGlvbl3CuykgdG8gYmUgdHJ1ZScKK3Rlc3QvYW5uZXhCL2xhbmd1YWdlL3N0
YXRlbWVudHMvY29uc3QvZHN0ci9vYmplY3QtcGF0dGVybi1lbXVsYXRlcy11bmRlZmluZWQuanM6
CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3VuZGVmaW5l
ZMK7LCDCq1tvYmplY3QgRnVuY3Rpb25dwrspIHRvIGJlIHRydWUnCisgIHN0cmljdCBtb2RlOiAn
VGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqt1bmRlZmluZWTCuywgwqtbb2JqZWN0
IEZ1bmN0aW9uXcK7KSB0byBiZSB0cnVlJwogdGVzdC9hbm5leEIvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9mb3ItYXdhaXQtb2YvaXRlcmF0b3ItY2xvc2UtcmV0dXJuLWVtdWxhdGVzLXVuZGVmaW5lZC10
aHJvd3Mtd2hlbi1jYWxsZWQuanM6CiAgIGRlZmF1bHQ6ICJUZXN0MjYyOkFzeW5jVGVzdEZhaWx1
cmU6VGVzdDI2MkVycm9yOiBUZXN0MjYyRXJyb3I6IGV4cGVjdGVkIFR5cGVFcnJvciBiZWNhdXNl
IGBpdGVyW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSgpIHJldHVybmVkIGEgbm9uLW9iamVjdDogVGVz
dDI2MkVycm9yOiBzaG91bGRuJ3QgdG91Y2ggU3ltYm9sLml0ZXJhdG9yIEV4cGVjdGVkIFNhbWVW
YWx1ZSjCq2Z1bmN0aW9uIFRlc3QyNjJFcnJvcihtZXNzYWdlKSB7IgogICBzdHJpY3QgbW9kZTog
IlRlc3QyNjI6QXN5bmNUZXN0RmFpbHVyZTpUZXN0MjYyRXJyb3I6IFRlc3QyNjJFcnJvcjogZXhw
ZWN0ZWQgVHlwZUVycm9yIGJlY2F1c2UgYGl0ZXJbU3ltYm9sLmFzeW5jSXRlcmF0b3JdKCkgcmV0
dXJuZWQgYSBub24tb2JqZWN0OiBUZXN0MjYyRXJyb3I6IHNob3VsZG4ndCB0b3VjaCBTeW1ib2wu
aXRlcmF0b3IgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrZnVuY3Rpb24gVGVzdDI2MkVycm9yKG1lc3Nh
Z2UpIHsiCiB0ZXN0L2FubmV4Qi9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1vZi9pdGVyYXRvci1j
bG9zZS1yZXR1cm4tZW11bGF0ZXMtdW5kZWZpbmVkLXRocm93cy13aGVuLWNhbGxlZC5qczoKICAg
ZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhyb3du
IGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCiAgIHN0cmljdCBtb2RlOiAnVGVz
dDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2Vw
dGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKK3Rlc3QvYW5uZXhCL2xhbmd1YWdlL3N0YXRlbWVudHMv
ZnVuY3Rpb24vZGVmYXVsdC1wYXJhbWV0ZXJzLWVtdWxhdGVzLXVuZGVmaW5lZC5qczoKKyAgZGVm
YXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrdW5kZWZpbmVkwrssIMKr
W29iamVjdCBGdW5jdGlvbl3CuykgdG8gYmUgdHJ1ZScKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYy
RXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3VuZGVmaW5lZMK7LCDCq1tvYmplY3QgRnVuY3Rp
b25dwrspIHRvIGJlIHRydWUnCiB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90by1mcm9tLWN0b3It
cmVhbG0tb25lLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBuZXdUYXJnZXQucHJvdG90
eXBlIGlzIHVuZGVmaW5lZCBFeHBlY3RlZCBTYW1lVmFsdWUowqvCuywgwqvCuykgdG8gYmUgdHJ1
ZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IG5ld1RhcmdldC5wcm90b3R5cGUgaXMg
dW5kZWZpbmVkIEV4cGVjdGVkIFNhbWVWYWx1ZSjCq8K7LCDCq8K7KSB0byBiZSB0cnVlJwpAQCAt
NzI5LDkgKzc0Nyw2IEBAIHRlc3QvYnVpbHQtaW5zL0FzeW5jRnJvbVN5bmNJdGVyYXRvclByb3QK
IHRlc3QvYnVpbHQtaW5zL0FzeW5jRnJvbVN5bmNJdGVyYXRvclByb3RvdHlwZS9yZXR1cm4vYWJz
ZW50LXZhbHVlLW5vdC1wYXNzZWQuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyOkFzeW5jVGVzdEZh
aWx1cmU6VGVzdDI2MkVycm9yOiBUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzHC
uywgwqswwrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MjpBc3luY1Rlc3RG
YWlsdXJlOlRlc3QyNjJFcnJvcjogVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqsx
wrssIMKrMMK7KSB0byBiZSB0cnVlJwotdGVzdC9idWlsdC1pbnMvQXN5bmNGcm9tU3luY0l0ZXJh
dG9yUHJvdG90eXBlL3Rocm93L2Fic2VudC12YWx1ZS1ub3QtcGFzc2VkLmpzOgotICBkZWZhdWx0
OiAnVGVzdDI2MjpBc3luY1Rlc3RGYWlsdXJlOlRlc3QyNjJFcnJvcjogVGVzdDI2MkVycm9yOiBQ
cm9taXNlIHNob3VsZCBiZSByZWplY3RlZCwgZ290OiB1bmRlZmluZWQnCi0gIHN0cmljdCBtb2Rl
OiAnVGVzdDI2MjpBc3luY1Rlc3RGYWlsdXJlOlRlc3QyNjJFcnJvcjogVGVzdDI2MkVycm9yOiBQ
cm9taXNlIHNob3VsZCBiZSByZWplY3RlZCwgZ290OiB1bmRlZmluZWQnCiB0ZXN0L2J1aWx0LWlu
cy9Bc3luY0Z1bmN0aW9uL3Byb3RvLWZyb20tY3Rvci1yZWFsbS5qczoKICAgZGVmYXVsdDogJ1Rl
c3QyNjJFcnJvcjogbmV3VGFyZ2V0LnByb3RvdHlwZSBpcyB1bmRlZmluZWQgRXhwZWN0ZWQgU2Ft
ZVZhbHVlKMKrW29iamVjdCBBc3luY0Z1bmN0aW9uXcK7LCDCq1tvYmplY3QgQXN5bmNGdW5jdGlv
bl3CuykgdG8gYmUgdHJ1ZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IG5ld1Rhcmdl
dC5wcm90b3R5cGUgaXMgdW5kZWZpbmVkIEV4cGVjdGVkIFNhbWVWYWx1ZSjCq1tvYmplY3QgQXN5
bmNGdW5jdGlvbl3Cuywgwqtbb2JqZWN0IEFzeW5jRnVuY3Rpb25dwrspIHRvIGJlIHRydWUnCkBA
IC04MDEsOSArODE2LDYgQEAgdGVzdC9idWlsdC1pbnMvQmlnSW50L2FzVWludE4vYml0cy10b2lu
ZAogdGVzdC9idWlsdC1pbnMvQmlnSW50L2FzVWludE4vb3JkZXItb2Ytc3RlcHMuanM6CiAgIGRl
ZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzDCuywgwqsywrspIHRv
IGJlIHRydWUnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFs
dWUowqswwrssIMKrMsK7KSB0byBiZSB0cnVlJwotdGVzdC9idWlsdC1pbnMvQmlnSW50L2NvbnN0
cnVjdG9yLWludGVnZXIuanM6Ci0gIGRlZmF1bHQ6ICdSYW5nZUVycm9yOiBOb3Qgc2FmZSBpbnRl
Z2VyJwotICBzdHJpY3QgbW9kZTogJ1JhbmdlRXJyb3I6IE5vdCBzYWZlIGludGVnZXInCiB0ZXN0
L2J1aWx0LWlucy9Cb29sZWFuL3Byb3RvLWZyb20tY3Rvci1yZWFsbS5qczoKICAgZGVmYXVsdDog
J1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrZmFsc2XCuywgwqtmYWxzZcK7KSB0
byBiZSB0cnVlJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZh
bHVlKMKrZmFsc2XCuywgwqtmYWxzZcK7KSB0byBiZSB0cnVlJwpAQCAtOTU0LDYgKzk2NiwxMiBA
QCB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9pbnRlcm5hbHMvQ29uc3RyCiB0ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9wcm90by1mcm9tLWN0b3ItcmVhbG0uanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYy
RXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2Z1bmN0aW9uICgpIHsnCiAgIHN0cmljdCBtb2Rl
OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtmdW5jdGlvbiAoKSB7JwordGVz
dC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvZ2V0LWZuLXJlYWxtLXJlY3Vyc2l2
ZS5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZh
bHNlJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgdHJ1ZSBidXQgZ290
IGZhbHNlJwordGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvZ2V0LWZuLXJl
YWxtLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCB0cnVlIGJ1dCBnb3Qg
ZmFsc2UnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCB0cnVlIGJ1dCBn
b3QgZmFsc2UnCiB0ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmluZC9sZW5ndGgt
ZXhjZWVkcy1pbnQzMi5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2Ft
ZVZhbHVlKMKrMMK7LCDCqzIxNDc0ODM2NDjCuykgdG8gYmUgdHJ1ZScKICAgc3RyaWN0IG1vZGU6
ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzDCuywgwqsyMTQ3NDgzNjQ4wrsp
IHRvIGJlIHRydWUnCkBAIC0xMjQzLDkgKzEyNjEsMjcgQEAgdGVzdC9idWlsdC1pbnMvUHJveHkv
Y3JlYXRlLXRhcmdldC1pcy1yZQogdGVzdC9idWlsdC1pbnMvUHJveHkvY3JlYXRlLXRhcmdldC1p
cy1yZXZva2VkLXByb3h5LmpzOgogICBkZWZhdWx0OiAiVHlwZUVycm9yOiBBIFByb3h5J3MgJ3Rh
cmdldCcgc2hvdWxkbid0IGJlIGEgcmV2b2tlZCBQcm94eSIKICAgc3RyaWN0IG1vZGU6ICJUeXBl
RXJyb3I6IEEgUHJveHkncyAndGFyZ2V0JyBzaG91bGRuJ3QgYmUgYSByZXZva2VkIFByb3h5Igor
dGVzdC9idWlsdC1pbnMvUHJveHkvZ2V0LWZuLXJlYWxtLXJlY3Vyc2l2ZS5qczoKKyAgZGVmYXVs
dDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlJworICBzdHJpY3Qg
bW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgdHJ1ZSBidXQgZ290IGZhbHNlJwordGVzdC9i
dWlsdC1pbnMvUHJveHkvZ2V0LWZuLXJlYWxtLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9y
OiBFeHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVy
cm9yOiBFeHBlY3RlZCB0cnVlIGJ1dCBnb3QgZmFsc2UnCiB0ZXN0L2J1aWx0LWlucy9Qcm94eS9v
d25LZXlzL3RyYXAtaXMtdW5kZWZpbmVkLXRhcmdldC1pcy1wcm94eS5qczoKICAgZGVmYXVsdDog
J1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgW2xlbmd0aCwgZm9vLCAwLCBTeW1ib2woKV0gYW5kIFtT
eW1ib2woKSwgbGVuZ3RoLCBmb28sIDBdIHRvIGhhdmUgdGhlIHNhbWUgY29udGVudHMuICcKICAg
c3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFtsZW5ndGgsIGZvbywgMCwgU3lt
Ym9sKCldIGFuZCBbU3ltYm9sKCksIGxlbmd0aCwgZm9vLCAwXSB0byBoYXZlIHRoZSBzYW1lIGNv
bnRlbnRzLiAnCit0ZXN0L2J1aWx0LWlucy9Qcm94eS9yZXZvY2FibGUvYnVpbHRpbi5qczoKKyAg
ZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrdHJ1ZcK7LCDCq2Zh
bHNlwrspIHRvIGJlIHRydWUnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3Rl
ZCBTYW1lVmFsdWUowqt0cnVlwrssIMKrZmFsc2XCuykgdG8gYmUgdHJ1ZScKK3Rlc3QvYnVpbHQt
aW5zL1Byb3h5L3Jldm9jYWJsZS9oYW5kbGVyLWlzLXJldm9rZWQtcHJveHkuanM6CisgIGRlZmF1
bHQ6ICJUeXBlRXJyb3I6IEEgUHJveHkncyAnaGFuZGxlcicgc2hvdWxkbid0IGJlIGEgcmV2b2tl
ZCBQcm94eSIKKyAgc3RyaWN0IG1vZGU6ICJUeXBlRXJyb3I6IEEgUHJveHkncyAnaGFuZGxlcicg
c2hvdWxkbid0IGJlIGEgcmV2b2tlZCBQcm94eSIKK3Rlc3QvYnVpbHQtaW5zL1Byb3h5L3Jldm9j
YWJsZS90YXJnZXQtaXMtcmV2b2tlZC1mdW5jdGlvbi1wcm94eS5qczoKKyAgZGVmYXVsdDogIlR5
cGVFcnJvcjogQSBQcm94eSdzICd0YXJnZXQnIHNob3VsZG4ndCBiZSBhIHJldm9rZWQgUHJveHki
CisgIHN0cmljdCBtb2RlOiAiVHlwZUVycm9yOiBBIFByb3h5J3MgJ3RhcmdldCcgc2hvdWxkbid0
IGJlIGEgcmV2b2tlZCBQcm94eSIKK3Rlc3QvYnVpbHQtaW5zL1Byb3h5L3Jldm9jYWJsZS90YXJn
ZXQtaXMtcmV2b2tlZC1wcm94eS5qczoKKyAgZGVmYXVsdDogIlR5cGVFcnJvcjogQSBQcm94eSdz
ICd0YXJnZXQnIHNob3VsZG4ndCBiZSBhIHJldm9rZWQgUHJveHkiCisgIHN0cmljdCBtb2RlOiAi
VHlwZUVycm9yOiBBIFByb3h5J3MgJ3RhcmdldCcgc2hvdWxkbid0IGJlIGEgcmV2b2tlZCBQcm94
eSIKIHRlc3QvYnVpbHQtaW5zL1JlZmxlY3Qvb3duS2V5cy9vcmRlci1hZnRlci1kZWZpbmUtcHJv
cGVydHkuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFtTeW1ib2woYiks
IFN5bWJvbChhKV0gYW5kIFtTeW1ib2woYSksIFN5bWJvbChiKV0gdG8gaGF2ZSB0aGUgc2FtZSBj
b250ZW50cy4gJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgW1N5bWJv
bChiKSwgU3ltYm9sKGEpXSBhbmQgW1N5bWJvbChhKSwgU3ltYm9sKGIpXSB0byBoYXZlIHRoZSBz
YW1lIGNvbnRlbnRzLiAnCkBAIC0xNjg3LDYgKzE3MjMsMTUgQEAgdGVzdC9idWlsdC1pbnMvU2V0
L3Byb3RvLWZyb20tY3Rvci1yZWFsbQogdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvLWZyb20t
Y3Rvci1yZWFsbS5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZh
bHVlKMKrwrssIMKrwrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9y
OiBFeHBlY3RlZCBTYW1lVmFsdWUowqvCuywgwqvCuykgdG8gYmUgdHJ1ZScKK3Rlc3QvYnVpbHQt
aW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZS9jc3RtLXJlcGxhY2UtaXMtbnVsbC5qczoKKyAg
ZGVmYXVsdDogJ1R5cGVFcnJvcjogbnVsbCBpcyBub3QgYSBmdW5jdGlvbicKKyAgc3RyaWN0IG1v
ZGU6ICdUeXBlRXJyb3I6IG51bGwgaXMgbm90IGEgZnVuY3Rpb24nCit0ZXN0L2J1aWx0LWlucy9T
dHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtcmVwbGFjZXItaXMtbnVsbC5q
czoKKyAgZGVmYXVsdDogJ1R5cGVFcnJvcjogbnVsbCBpcyBub3QgYSBmdW5jdGlvbicKKyAgc3Ry
aWN0IG1vZGU6ICdUeXBlRXJyb3I6IG51bGwgaXMgbm90IGEgZnVuY3Rpb24nCit0ZXN0L2J1aWx0
LWlucy9TeW1ib2wvaXMtY29uc3RydWN0b3IuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6
IEV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZScKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJy
b3I6IEV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZScKIHRlc3QvYnVpbHQtaW5zL1Rocm93VHlw
ZUVycm9yL2V4dGVuc2libGUuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVk
IFNhbWVWYWx1ZSjCq3RydWXCuywgwqtmYWxzZcK7KSB0byBiZSB0cnVlJwogICBzdHJpY3QgbW9k
ZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrdHJ1ZcK7LCDCq2ZhbHNlwrsp
IHRvIGJlIHRydWUnCkBAIC0xOTA4LDEyICsxOTUzLDE4IEBAIHRlc3QvaW50bDQwMi9EYXRlVGlt
ZUZvcm1hdC9wcm90b3R5cGUvcmUKIHRlc3QvaW50bDQwMi9JbnRsL2dldENhbm9uaWNhbExvY2Fs
ZXMvY2Fub25pY2FsaXplZC10YWdzLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBl
Y3RlZCBTYW1lVmFsdWUowqtjbW7Cuywgwqt6aMK7KSB0byBiZSB0cnVlJwogICBzdHJpY3QgbW9k
ZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrY21uwrssIMKremjCuykgdG8g
YmUgdHJ1ZScKK3Rlc3QvaW50bDQwMi9JbnRsL2dldENhbm9uaWNhbExvY2FsZXMvY29tcGxleC1s
YW5ndWFnZS1zdWJ0YWctcmVwbGFjZW1lbnQuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6
IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3NowrssIMKrc3ItTGF0bsK7KSB0byBiZSB0cnVlJworICBz
dHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrc2jCuywgwqtz
ci1MYXRuwrspIHRvIGJlIHRydWUnCit0ZXN0L2ludGw0MDIvSW50bC9nZXRDYW5vbmljYWxMb2Nh
bGVzL2NvbXBsZXgtcmVnaW9uLXN1YnRhZy1yZXBsYWNlbWVudC5qczoKKyAgZGVmYXVsdDogJ1Rl
c3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrcnUtU1XCuywgwqtydS1SVcK7KSB0byBi
ZSB0cnVlJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVl
KMKrcnUtU1XCuywgwqtydS1SVcK7KSB0byBiZSB0cnVlJwogdGVzdC9pbnRsNDAyL0ludGwvZ2V0
Q2Fub25pY2FsTG9jYWxlcy9ncmFuZGZhdGhlcmVkLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVy
cm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtjbW7Cuywgwqt6aMK7KSB0byBiZSB0cnVlJwogICBz
dHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrY21uwrssIMKr
emjCuykgdG8gYmUgdHJ1ZScKIHRlc3QvaW50bDQwMi9JbnRsL2dldENhbm9uaWNhbExvY2FsZXMv
aW52YWxpZC10YWdzLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBUZXN0IGRhdGEgImRl
LWdyZWdvcnktZ3JlZ29yeSIgaXMgYSBjYW5vbmljYWxpemVkIGFuZCBzdHJ1Y3R1cmFsbHkgdmFs
aWQgbGFuZ3VhZ2UgdGFnLicKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IFRlc3QgZGF0
YSAiZGUtZ3JlZ29yeS1ncmVnb3J5IiBpcyBhIGNhbm9uaWNhbGl6ZWQgYW5kIHN0cnVjdHVyYWxs
eSB2YWxpZCBsYW5ndWFnZSB0YWcuJworICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBMYW5ndWFn
ZSB0YWc6IG5vLW55biBFeHBlY3RlZCBhIFJhbmdlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBl
eGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9y
OiBMYW5ndWFnZSB0YWc6IG5vLW55biBFeHBlY3RlZCBhIFJhbmdlRXJyb3IgdG8gYmUgdGhyb3du
IGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCiB0ZXN0L2ludGw0MDIvSW50bC9n
ZXRDYW5vbmljYWxMb2NhbGVzL25vbi1pYW5hLWNhbm9uLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2
MkVycm9yOiBUaGUgdmFsdWUgb2YgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKHRhZylbMF0gZXF1
YWxzIHRoZSB2YWx1ZSBvZiBgY2Fub25pY2FsYCBFeHBlY3RlZCBTYW1lVmFsdWUowqthYXIteC1w
cml2YXRlwrssIMKrYWEteC1wcml2YXRlwrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBtb2RlOiAn
VGVzdDI2MkVycm9yOiBUaGUgdmFsdWUgb2YgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKHRhZylb
MF0gZXF1YWxzIHRoZSB2YWx1ZSBvZiBgY2Fub25pY2FsYCBFeHBlY3RlZCBTYW1lVmFsdWUowqth
YXIteC1wcml2YXRlwrssIMKrYWEteC1wcml2YXRlwrspIHRvIGJlIHRydWUnCkBAIC0xOTIxLDgg
KzE5NzIsMzggQEAgdGVzdC9pbnRsNDAyL0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxlcy9wcgogICBk
ZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtjZWwtZ2F1bGlzaMK7
LCDCq3h0Zy14LWNlbC1nYXVsaXNowrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBtb2RlOiAnVGVz
dDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtjZWwtZ2F1bGlzaMK7LCDCq3h0Zy14LWNl
bC1nYXVsaXNowrspIHRvIGJlIHRydWUnCiB0ZXN0L2ludGw0MDIvSW50bC9nZXRDYW5vbmljYWxM
b2NhbGVzL3ByZWZlcnJlZC12YXJpYW50LmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBF
eHBlY3RlZCBTYW1lVmFsdWUowqtqYS1MYXRuLWFsYWxjOTfCuywgwqtqYS1MYXRuLWhlcGJ1cm4t
aGVwbG9jwrspIHRvIGJlIHRydWUnCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBl
Y3RlZCBTYW1lVmFsdWUowqtqYS1MYXRuLWFsYWxjOTfCuywgwqtqYS1MYXRuLWhlcGJ1cm4taGVw
bG9jwrspIHRvIGJlIHRydWUnCisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNh
bWVWYWx1ZSjCq2phLUxhdG4tYWxhbGM5N8K7LCDCq2phLUxhdG4tYWxhbGM5Ny1oZXBidXJuwrsp
IHRvIGJlIHRydWUnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1l
VmFsdWUowqtqYS1MYXRuLWFsYWxjOTfCuywgwqtqYS1MYXRuLWFsYWxjOTctaGVwYnVybsK7KSB0
byBiZSB0cnVlJwordGVzdC9pbnRsNDAyL0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxlcy90cmFuc2Zv
cm1lZC1leHQtY2Fub25pY2FsLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3Rl
ZCBTYW1lVmFsdWUowqtzbC10LXNsLXJvemFqLWJpc2tlLTE5OTTCuywgwqtzbC10LXNsLTE5OTQt
Ymlza2Utcm96YWrCuykgdG8gYmUgdHJ1ZScKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6
IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3NsLXQtc2wtcm96YWotYmlza2UtMTk5NMK7LCDCq3NsLXQt
c2wtMTk5NC1iaXNrZS1yb3phasK7KSB0byBiZSB0cnVlJwordGVzdC9pbnRsNDAyL0ludGwvZ2V0
Q2Fub25pY2FsTG9jYWxlcy90cmFuc2Zvcm1lZC1leHQtaW52YWxpZC5qczoKKyAgZGVmYXVsdDog
J1Rlc3QyNjJFcnJvcjogZW4tdC1yb290IEV4cGVjdGVkIGEgUmFuZ2VFcnJvciB0byBiZSB0aHJv
d24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKKyAgc3RyaWN0IG1vZGU6ICdU
ZXN0MjYyRXJyb3I6IGVuLXQtcm9vdCBFeHBlY3RlZCBhIFJhbmdlRXJyb3IgdG8gYmUgdGhyb3du
IGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCit0ZXN0L2ludGw0MDIvSW50bC9n
ZXRDYW5vbmljYWxMb2NhbGVzL3VuaWNvZGUtZXh0LWNhbm9uaWNhbGl6ZS1jYWxlbmRhci5qczoK
KyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrdW5kLXUtY2Et
ZXRoaW9waWMtYW1ldGUtYWxlbcK7LCDCq3VuZC11LWNhLWV0aGlvYWHCuykgdG8gYmUgdHJ1ZScK
KyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3VuZC11
LWNhLWV0aGlvcGljLWFtZXRlLWFsZW3Cuywgwqt1bmQtdS1jYS1ldGhpb2FhwrspIHRvIGJlIHRy
dWUnCit0ZXN0L2ludGw0MDIvSW50bC9nZXRDYW5vbmljYWxMb2NhbGVzL3VuaWNvZGUtZXh0LWNh
bm9uaWNhbGl6ZS1jb2wtc3RyZW5ndGguanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4
cGVjdGVkIFNhbWVWYWx1ZSjCq3VuZC11LWtzLXByaW1hcnnCuywgwqt1bmQtdS1rcy1sZXZlbDHC
uykgdG8gYmUgdHJ1ZScKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNh
bWVWYWx1ZSjCq3VuZC11LWtzLXByaW1hcnnCuywgwqt1bmQtdS1rcy1sZXZlbDHCuykgdG8gYmUg
dHJ1ZScKK3Rlc3QvaW50bDQwMi9JbnRsL2dldENhbm9uaWNhbExvY2FsZXMvdW5pY29kZS1leHQt
Y2Fub25pY2FsaXplLW1lYXN1cmVtZW50LXN5c3RlbS5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJF
cnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKrdW5kLXUtbXMtaW1wZXJpYWzCuywgwqt1bmQtdS1t
cy11a3N5c3RlbcK7KSB0byBiZSB0cnVlJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjog
RXhwZWN0ZWQgU2FtZVZhbHVlKMKrdW5kLXUtbXMtaW1wZXJpYWzCuywgwqt1bmQtdS1tcy11a3N5
c3RlbcK7KSB0byBiZSB0cnVlJwordGVzdC9pbnRsNDAyL0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxl
cy91bmljb2RlLWV4dC1jYW5vbmljYWxpemUtcmVnaW9uLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2
MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqt1bmQtdS1yZy1ubzIzwrssIMKrdW5kLXUtcmct
bm81MMK7KSB0byBiZSB0cnVlJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0
ZWQgU2FtZVZhbHVlKMKrdW5kLXUtcmctbm8yM8K7LCDCq3VuZC11LXJnLW5vNTDCuykgdG8gYmUg
dHJ1ZScKK3Rlc3QvaW50bDQwMi9JbnRsL2dldENhbm9uaWNhbExvY2FsZXMvdW5pY29kZS1leHQt
Y2Fub25pY2FsaXplLXN1YmRpdmlzaW9uLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBF
eHBlY3RlZCBTYW1lVmFsdWUowqt1bmQtTk8tdS1zZC1ubzIzwrssIMKrdW5kLU5PLXUtc2Qtbm81
MMK7KSB0byBiZSB0cnVlJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQg
U2FtZVZhbHVlKMKrdW5kLU5PLXUtc2Qtbm8yM8K7LCDCq3VuZC1OTy11LXNkLW5vNTDCuykgdG8g
YmUgdHJ1ZScKK3Rlc3QvaW50bDQwMi9JbnRsL2dldENhbm9uaWNhbExvY2FsZXMvdW5pY29kZS1l
eHQtY2Fub25pY2FsaXplLXRpbWV6b25lLmpzOgorICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBF
eHBlY3RlZCBTYW1lVmFsdWUowqt1bmQtdS10ei1jbmNrZ8K7LCDCq3VuZC11LXR6LWNuc2hhwrsp
IHRvIGJlIHRydWUnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1l
VmFsdWUowqt1bmQtdS10ei1jbmNrZ8K7LCDCq3VuZC11LXR6LWNuc2hhwrspIHRvIGJlIHRydWUn
Cit0ZXN0L2ludGw0MDIvSW50bC9nZXRDYW5vbmljYWxMb2NhbGVzL3VuaWNvZGUtZXh0LWNhbm9u
aWNhbGl6ZS15ZXMtdG8tdHJ1ZS5qczoKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0
ZWQgU2FtZVZhbHVlKMKrdW5kLXUta2IteWVzwrssIMKrdW5kLXUta2LCuykgdG8gYmUgdHJ1ZScK
KyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3VuZC11
LWtiLXllc8K7LCDCq3VuZC11LWtiwrspIHRvIGJlIHRydWUnCit0ZXN0L2ludGw0MDIvSW50bC9n
ZXRDYW5vbmljYWxMb2NhbGVzL3VuaWNvZGUtZXh0LWtleS13aXRoLWRpZ2l0LmpzOgorICBkZWZh
dWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFJhbmdlRXJyb3IgdG8gYmUgdGhyb3duIGJ1
dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2
MkVycm9yOiBFeHBlY3RlZCBhIFJhbmdlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRp
b24gd2FzIHRocm93biBhdCBhbGwnCiB0ZXN0L2ludGw0MDIvTnVtYmVyRm9ybWF0L3Byb3RvLWZy
b20tY3Rvci1yZWFsbS5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogbmV3VGFyZ2V0LnBy
b3RvdHlwZSBpcyB1bmRlZmluZWQgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrW29iamVjdCBPYmplY3Rd
wrssIMKrW29iamVjdCBPYmplY3RdwrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBtb2RlOiAnVGVz
dDI2MkVycm9yOiBuZXdUYXJnZXQucHJvdG90eXBlIGlzIHVuZGVmaW5lZCBFeHBlY3RlZCBTYW1l
VmFsdWUowqtbb2JqZWN0IE9iamVjdF3Cuywgwqtbb2JqZWN0IE9iamVjdF3CuykgdG8gYmUgdHJ1
ZScKQEAgLTE5MzUsMjcgKzIwMTYsNDUgQEAgdGVzdC9pbnRsNDAyL1JlbGF0aXZlVGltZUZvcm1h
dC9jb25zdHJ1YwogdGVzdC9pbnRsNDAyL1JlbGF0aXZlVGltZUZvcm1hdC9jb25zdHJ1Y3Rvci9j
b25zdHJ1Y3Rvci9wcm90by1mcm9tLWN0b3ItcmVhbG0uanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYy
RXJyb3I6IG5ld1RhcmdldC5wcm90b3R5cGUgaXMgdW5kZWZpbmVkIEV4cGVjdGVkIFNhbWVWYWx1
ZSjCq1tvYmplY3QgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXRdwrssIMKrW29iamVjdCBJbnRsLlJl
bGF0aXZlVGltZUZvcm1hdF3CuykgdG8gYmUgdHJ1ZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYy
RXJyb3I6IG5ld1RhcmdldC5wcm90b3R5cGUgaXMgdW5kZWZpbmVkIEV4cGVjdGVkIFNhbWVWYWx1
ZSjCq1tvYmplY3QgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXRdwrssIMKrW29iamVjdCBJbnRsLlJl
bGF0aXZlVGltZUZvcm1hdF3CuykgdG8gYmUgdHJ1ZScKK3Rlc3QvaW50bDQwMi9SZWxhdGl2ZVRp
bWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdC9lbi11cy1udW1lcmljLWFsd2F5cy5qczoKKyAgZGVm
YXVsdDogJ1R5cGVFcnJvcjogZmFpbGVkIHRvIGZvcm1hdCByZWxhdGl2ZSB0aW1lJworICBzdHJp
Y3QgbW9kZTogJ1R5cGVFcnJvcjogZmFpbGVkIHRvIGZvcm1hdCByZWxhdGl2ZSB0aW1lJwordGVz
dC9pbnRsNDAyL1JlbGF0aXZlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L2VuLXVzLXN0eWxl
LXNob3J0LmpzOgorICBkZWZhdWx0OiAnVHlwZUVycm9yOiBmYWlsZWQgdG8gZm9ybWF0IHJlbGF0
aXZlIHRpbWUnCisgIHN0cmljdCBtb2RlOiAnVHlwZUVycm9yOiBmYWlsZWQgdG8gZm9ybWF0IHJl
bGF0aXZlIHRpbWUnCiB0ZXN0L2ludGw0MDIvUmVsYXRpdmVUaW1lRm9ybWF0L3Byb3RvdHlwZS9m
b3JtYXQvcGwtcGwtc3R5bGUtbG9uZy5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhw
ZWN0ZWQgU2FtZVZhbHVlKMKremEgMTAwMCBzZWt1bmTCuywgwqt6YSAxwqAwMDAgc2VrdW5kwrsp
IHRvIGJlIHRydWUnCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1l
VmFsdWUowqt6YSAxMDAwIHNla3VuZMK7LCDCq3phIDHCoDAwMCBzZWt1bmTCuykgdG8gYmUgdHJ1
ZScKKyAgZGVmYXVsdDogJ1R5cGVFcnJvcjogZmFpbGVkIHRvIGZvcm1hdCByZWxhdGl2ZSB0aW1l
JworICBzdHJpY3QgbW9kZTogJ1R5cGVFcnJvcjogZmFpbGVkIHRvIGZvcm1hdCByZWxhdGl2ZSB0
aW1lJwogdGVzdC9pbnRsNDAyL1JlbGF0aXZlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L3Bs
LXBsLXN0eWxlLW5hcnJvdy5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQg
U2FtZVZhbHVlKMKremEgMTAwMCBzwrssIMKremEgMcKgMDAwIHPCuykgdG8gYmUgdHJ1ZScKLSAg
c3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3phIDEwMDAg
c8K7LCDCq3phIDHCoDAwMCBzwrspIHRvIGJlIHRydWUnCisgIGRlZmF1bHQ6ICdUeXBlRXJyb3I6
IGZhaWxlZCB0byBmb3JtYXQgcmVsYXRpdmUgdGltZScKKyAgc3RyaWN0IG1vZGU6ICdUeXBlRXJy
b3I6IGZhaWxlZCB0byBmb3JtYXQgcmVsYXRpdmUgdGltZScKIHRlc3QvaW50bDQwMi9SZWxhdGl2
ZVRpbWVGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdC9wbC1wbC1zdHlsZS1zaG9ydC5qczoKLSAgZGVm
YXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgU2FtZVZhbHVlKMKremEgMTAwMCBzZWsuwrss
IMKremEgMcKgMDAwIHNlay7CuykgdG8gYmUgdHJ1ZScKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYy
RXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3phIDEwMDAgc2VrLsK7LCDCq3phIDHCoDAwMCBz
ZWsuwrspIHRvIGJlIHRydWUnCisgIGRlZmF1bHQ6ICdUeXBlRXJyb3I6IGZhaWxlZCB0byBmb3Jt
YXQgcmVsYXRpdmUgdGltZScKKyAgc3RyaWN0IG1vZGU6ICdUeXBlRXJyb3I6IGZhaWxlZCB0byBm
b3JtYXQgcmVsYXRpdmUgdGltZScKK3Rlc3QvaW50bDQwMi9SZWxhdGl2ZVRpbWVGb3JtYXQvcHJv
dG90eXBlL2Zvcm1hdC91bml0LXBsdXJhbC5qczoKKyAgZGVmYXVsdDogJ1R5cGVFcnJvcjogZmFp
bGVkIHRvIGZvcm1hdCByZWxhdGl2ZSB0aW1lJworICBzdHJpY3QgbW9kZTogJ1R5cGVFcnJvcjog
ZmFpbGVkIHRvIGZvcm1hdCByZWxhdGl2ZSB0aW1lJwordGVzdC9pbnRsNDAyL1JlbGF0aXZlVGlt
ZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0VG9QYXJ0cy9lbi11cy1udW1lcmljLWFsd2F5cy5qczoK
KyAgZGVmYXVsdDogJ1R5cGVFcnJvcjogZmFpbGVkIHRvIGZvcm1hdCByZWxhdGl2ZSB0aW1lJwor
ICBzdHJpY3QgbW9kZTogJ1R5cGVFcnJvcjogZmFpbGVkIHRvIGZvcm1hdCByZWxhdGl2ZSB0aW1l
JwordGVzdC9pbnRsNDAyL1JlbGF0aXZlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0VG9QYXJ0
cy9lbi11cy1zdHlsZS1zaG9ydC5qczoKKyAgZGVmYXVsdDogJ1R5cGVFcnJvcjogZmFpbGVkIHRv
IGZvcm1hdCByZWxhdGl2ZSB0aW1lJworICBzdHJpY3QgbW9kZTogJ1R5cGVFcnJvcjogZmFpbGVk
IHRvIGZvcm1hdCByZWxhdGl2ZSB0aW1lJwogdGVzdC9pbnRsNDAyL1JlbGF0aXZlVGltZUZvcm1h
dC9wcm90b3R5cGUvZm9ybWF0VG9QYXJ0cy9wbC1wbC1zdHlsZS1sb25nLmpzOgotICBkZWZhdWx0
OiAnVGVzdDI2MkVycm9yOiBmb3JtYXRUb1BhcnRzKDEwMDAsIHNlY29uZCk6IGxlbmd0aCBFeHBl
Y3RlZCBTYW1lVmFsdWUowqszwrssIMKrNcK7KSB0byBiZSB0cnVlJwotICBzdHJpY3QgbW9kZTog
J1Rlc3QyNjJFcnJvcjogZm9ybWF0VG9QYXJ0cygxMDAwLCBzZWNvbmQpOiBsZW5ndGggRXhwZWN0
ZWQgU2FtZVZhbHVlKMKrM8K7LCDCqzXCuykgdG8gYmUgdHJ1ZScKKyAgZGVmYXVsdDogJ1R5cGVF
cnJvcjogZmFpbGVkIHRvIGZvcm1hdCByZWxhdGl2ZSB0aW1lJworICBzdHJpY3QgbW9kZTogJ1R5
cGVFcnJvcjogZmFpbGVkIHRvIGZvcm1hdCByZWxhdGl2ZSB0aW1lJwogdGVzdC9pbnRsNDAyL1Jl
bGF0aXZlVGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0VG9QYXJ0cy9wbC1wbC1zdHlsZS1uYXJy
b3cuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IGZvcm1hdFRvUGFydHMoMTAwMCwgc2Vj
b25kKTogbGVuZ3RoIEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzPCuywgwqs1wrspIHRvIGJlIHRydWUn
Ci0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBmb3JtYXRUb1BhcnRzKDEwMDAsIHNlY29u
ZCk6IGxlbmd0aCBFeHBlY3RlZCBTYW1lVmFsdWUowqszwrssIMKrNcK7KSB0byBiZSB0cnVlJwor
ICBkZWZhdWx0OiAnVHlwZUVycm9yOiBmYWlsZWQgdG8gZm9ybWF0IHJlbGF0aXZlIHRpbWUnCisg
IHN0cmljdCBtb2RlOiAnVHlwZUVycm9yOiBmYWlsZWQgdG8gZm9ybWF0IHJlbGF0aXZlIHRpbWUn
CiB0ZXN0L2ludGw0MDIvUmVsYXRpdmVUaW1lRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXRUb1BhcnRz
L3BsLXBsLXN0eWxlLXNob3J0LmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBmb3JtYXRU
b1BhcnRzKDEwMDAsIHNlY29uZCk6IGxlbmd0aCBFeHBlY3RlZCBTYW1lVmFsdWUowqszwrssIMKr
NcK7KSB0byBiZSB0cnVlJwotICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogZm9ybWF0VG9Q
YXJ0cygxMDAwLCBzZWNvbmQpOiBsZW5ndGggRXhwZWN0ZWQgU2FtZVZhbHVlKMKrM8K7LCDCqzXC
uykgdG8gYmUgdHJ1ZScKKyAgZGVmYXVsdDogJ1R5cGVFcnJvcjogZmFpbGVkIHRvIGZvcm1hdCBy
ZWxhdGl2ZSB0aW1lJworICBzdHJpY3QgbW9kZTogJ1R5cGVFcnJvcjogZmFpbGVkIHRvIGZvcm1h
dCByZWxhdGl2ZSB0aW1lJwordGVzdC9pbnRsNDAyL1JlbGF0aXZlVGltZUZvcm1hdC9wcm90b3R5
cGUvZm9ybWF0VG9QYXJ0cy91bml0LXBsdXJhbC5qczoKKyAgZGVmYXVsdDogJ1R5cGVFcnJvcjog
ZmFpbGVkIHRvIGZvcm1hdCByZWxhdGl2ZSB0aW1lJworICBzdHJpY3QgbW9kZTogJ1R5cGVFcnJv
cjogZmFpbGVkIHRvIGZvcm1hdCByZWxhdGl2ZSB0aW1lJwogdGVzdC9pbnRsNDAyL2xhbmd1YWdl
LXRhZ3MtaW52YWxpZC5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogVGVzdCBkYXRhICJk
ZS1ncmVnb3J5LWdyZWdvcnkiIGlzIGEgY2Fub25pY2FsaXplZCBhbmQgc3RydWN0dXJhbGx5IHZh
bGlkIGxhbmd1YWdlIHRhZy4nCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBUZXN0IGRh
dGEgImRlLWdyZWdvcnktZ3JlZ29yeSIgaXMgYSBjYW5vbmljYWxpemVkIGFuZCBzdHJ1Y3R1cmFs
bHkgdmFsaWQgbGFuZ3VhZ2UgdGFnLicKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogSW52YWxp
ZCBsYW5ndWFnZSB0YWcgbm8tbnluIHdhcyBub3QgcmVqZWN0ZWQuIEV4cGVjdGVkIGEgUmFuZ2VF
cnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCAoVGVz
dGluZyB3aXRoIENvbGxhdG9yLiknCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBJbnZh
bGlkIGxhbmd1YWdlIHRhZyBuby1ueW4gd2FzIG5vdCByZWplY3RlZC4gRXhwZWN0ZWQgYSBSYW5n
ZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsIChU
ZXN0aW5nIHdpdGggQ29sbGF0b3IuKScKIHRlc3QvbGFuZ3VhZ2UvYXJndW1lbnRzLW9iamVjdC9t
YXBwZWQvbm9uY29uZmlndXJhYmxlLW5vbmVudW1lcmFibGUtbm9ud3JpdGFibGUtZGVzY3JpcHRv
cnMtc2V0LWJ5LWFyZ3VtZW50cy5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0
ZWQgb2JqWzBdIHRvIGhhdmUgZW51bWVyYWJsZTpmYWxzZS4nCiB0ZXN0L2xhbmd1YWdlL2FyZ3Vt
ZW50cy1vYmplY3QvbWFwcGVkL25vbmNvbmZpZ3VyYWJsZS1ub25lbnVtZXJhYmxlLW5vbndyaXRh
YmxlLWRlc2NyaXB0b3JzLXNldC1ieS1wYXJhbS5qczoKQEAgLTMyMTIsMjEgKzMzMTEsNiBAQCB0
ZXN0L2xhbmd1YWdlL2lkZW50aWZpZXJzL3N0YXJ0LXVuaWNvZGUtCiB0ZXN0L2xhbmd1YWdlL2lk
ZW50aWZpZXJzL3N0YXJ0LXVuaWNvZGUtMTMuMC4wLmpzOgogICBkZWZhdWx0OiAiU3ludGF4RXJy
b3I6IEludmFsaWQgY2hhcmFjdGVyICdcXHUwOGJlJyIKICAgc3RyaWN0IG1vZGU6ICJTeW50YXhF
cnJvcjogSW52YWxpZCBjaGFyYWN0ZXIgJ1xcdTA4YmUnIgotdGVzdC9sYW5ndWFnZS9saXRlcmFs
cy9yZWdleHAvbmFtZWQtZ3JvdXBzL2ludmFsaWQtbm9uLWlkLWNvbnRpbnVlLWdyb3Vwc3BlY2lm
aWVyLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MjogVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBi
ZSBldmFsdWF0ZWQuJwotICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjI6IFRoaXMgc3RhdGVtZW50IHNo
b3VsZCBub3QgYmUgZXZhbHVhdGVkLicKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvcmVnZXhwL25h
bWVkLWdyb3Vwcy9pbnZhbGlkLW5vbi1pZC1zdGFydC1ncm91cHNwZWNpZmllci0zLmpzOgotICBk
ZWZhdWx0OiAnVGVzdDI2MjogVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBiZSBldmFsdWF0ZWQu
JwotICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjI6IFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgYmUg
ZXZhbHVhdGVkLicKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvcmVnZXhwL25hbWVkLWdyb3Vwcy9p
bnZhbGlkLW5vbi1pZC1zdGFydC1ncm91cHNwZWNpZmllci02LmpzOgotICBkZWZhdWx0OiAnVGVz
dDI2MjogVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBiZSBldmFsdWF0ZWQuJwotICBzdHJpY3Qg
bW9kZTogJ1Rlc3QyNjI6IFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgYmUgZXZhbHVhdGVkLicK
LXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvcmVnZXhwL25hbWVkLWdyb3Vwcy9pbnZhbGlkLXUtZXNj
YXBlLWluLWdyb3Vwc3BlY2lmaWVyLTIuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyOiBUaGlzIHN0
YXRlbWVudCBzaG91bGQgbm90IGJlIGV2YWx1YXRlZC4nCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2
MjogVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBiZSBldmFsdWF0ZWQuJwotdGVzdC9sYW5ndWFn
ZS9saXRlcmFscy9yZWdleHAvbmFtZWQtZ3JvdXBzL2ludmFsaWQtdS1lc2NhcGUtaW4tZ3JvdXBz
cGVjaWZpZXIuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyOiBUaGlzIHN0YXRlbWVudCBzaG91bGQg
bm90IGJlIGV2YWx1YXRlZC4nCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MjogVGhpcyBzdGF0ZW1l
bnQgc2hvdWxkIG5vdCBiZSBldmFsdWF0ZWQuJwogdGVzdC9sYW5ndWFnZS9saXRlcmFscy9yZWdl
eHAvdS1hc3RyYWwtY2hhci1jbGFzcy1pbnZlcnQuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJy
b3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq++/vcK7LCDCq251bGzCuykgdG8gYmUgdHJ1ZScKICAg
c3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq++/vcK7LCDC
q251bGzCuykgdG8gYmUgdHJ1ZScKQEAgLTMyNDgsOCArMzMzMiw2IEBAIHRlc3QvbGFuZ3VhZ2Uv
bW9kdWxlLWNvZGUvbmFtZXNwYWNlL2ludGUKICAgbW9kdWxlOiAiU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgaWRlbnRpZmllciAnYXMnLiBFeHBlY3RlZCAnZnJvbScgYmVmb3JlIGV4cG9ydGVkIG1v
ZHVsZSBuYW1lLiIKIHRlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUvbmFtZXNwYWNlL2ludGVybmFs
cy9nZXQtbmVzdGVkLW5hbWVzcGFjZS1wcm9wcy1ucm1sLmpzOgogICBtb2R1bGU6ICJTeW50YXhF
cnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyICdhcycuIEV4cGVjdGVkICdmcm9tJyBiZWZvcmUg
ZXhwb3J0ZWQgbW9kdWxlIG5hbWUuIgotdGVzdC9sYW5ndWFnZS9tb2R1bGUtY29kZS9uYW1lc3Bh
Y2UvaW50ZXJuYWxzL3NldC5qczoKLSAgbW9kdWxlOiAnVGVzdDI2MkVycm9yOiBSZWZsZWN0LmRl
ZmluZVByb3BlcnR5OiBsb2NhbDEgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrZmFsc2XCuywgwqt0cnVl
wrspIHRvIGJlIHRydWUnCiB0ZXN0L2xhbmd1YWdlL21vZHVsZS1jb2RlL3BhcnNlLWVyci1ob2lz
dC1sZXgtZnVuLmpzOgogICBtb2R1bGU6ICdUZXN0MjYyOiBUaGlzIHN0YXRlbWVudCBzaG91bGQg
bm90IGJlIGV2YWx1YXRlZC4nCiB0ZXN0L2xhbmd1YWdlL21vZHVsZS1jb2RlL3BhcnNlLWVyci1o
b2lzdC1sZXgtZ2VuLmpzOgpJbmRleDogSlNUZXN0cy90ZXN0MjYyL2xhdGVzdC1jaGFuZ2VzLXN1
bW1hcnkudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi9sYXRlc3QtY2hhbmdlcy1z
dW1tYXJ5LnR4dAkocmV2aXNpb24gMjYwNTcwKQorKysgSlNUZXN0cy90ZXN0MjYyL2xhdGVzdC1j
aGFuZ2VzLXN1bW1hcnkudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE2OCArMSwxNjUgQEAKLU0g
aGFybmVzcy9hc3luYy1nYy5qcwotTSB0ZXN0L2FubmV4Qi9sYW5ndWFnZS9saXRlcmFscy9yZWdl
eHAvbGVnYWN5LW9jdGFsLWVzY2FwZS5qcwotRCB0ZXN0L2J1aWx0LWlucy9Bc3luY0Zyb21TeW5j
SXRlcmF0b3JQcm90b3R5cGUvLkRTX1N0b3JlCi1EIHRlc3QvYnVpbHQtaW5zL0FzeW5jRnJvbVN5
bmNJdGVyYXRvclByb3RvdHlwZS9uZXh0Ly5EU19TdG9yZQotQSB0ZXN0L2J1aWx0LWlucy9Bc3lu
Y0Zyb21TeW5jSXRlcmF0b3JQcm90b3R5cGUvbmV4dC9hYnNlbnQtdmFsdWUtbm90LXBhc3NlZC5q
cwotQSB0ZXN0L2J1aWx0LWlucy9Bc3luY0Zyb21TeW5jSXRlcmF0b3JQcm90b3R5cGUvcmV0dXJu
L2Fic2VudC12YWx1ZS1ub3QtcGFzc2VkLmpzCi1BIHRlc3QvYnVpbHQtaW5zL0FzeW5jRnJvbVN5
bmNJdGVyYXRvclByb3RvdHlwZS90aHJvdy9hYnNlbnQtdmFsdWUtbm90LXBhc3NlZC5qcwotRCB0
ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9GaW5hbGl6YXRpb25SZWdpc3RyeUNs
ZWFudXBJdGVyYXRvclByb3RvdHlwZS9TeW1ib2wudG9TdHJpbmdUYWcuanMKLUQgdGVzdC9idWls
dC1pbnMvRmluYWxpemF0aW9uUmVnaXN0cnkvRmluYWxpemF0aW9uUmVnaXN0cnlDbGVhbnVwSXRl
cmF0b3JQcm90b3R5cGUvbmV4dC1qb2Itbm90LWFjdGl2ZS10aHJvd3MuanMKLUQgdGVzdC9idWls
dC1pbnMvRmluYWxpemF0aW9uUmVnaXN0cnkvRmluYWxpemF0aW9uUmVnaXN0cnlDbGVhbnVwSXRl
cmF0b3JQcm90b3R5cGUvbmV4dC1sZW5ndGguanMKLUQgdGVzdC9idWlsdC1pbnMvRmluYWxpemF0
aW9uUmVnaXN0cnkvRmluYWxpemF0aW9uUmVnaXN0cnlDbGVhbnVwSXRlcmF0b3JQcm90b3R5cGUv
bmV4dC1taXNzaW5nLWludGVybmFsLXRocm93cy5qcwotRCB0ZXN0L2J1aWx0LWlucy9GaW5hbGl6
YXRpb25SZWdpc3RyeS9GaW5hbGl6YXRpb25SZWdpc3RyeUNsZWFudXBJdGVyYXRvclByb3RvdHlw
ZS9uZXh0LW5hbWUuanMKLUQgdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9uUmVnaXN0cnkvRmlu
YWxpemF0aW9uUmVnaXN0cnlDbGVhbnVwSXRlcmF0b3JQcm90b3R5cGUvbmV4dC1ub3Qtb2JqZWN0
LXRocm93cy5qcwotRCB0ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9GaW5hbGl6
YXRpb25SZWdpc3RyeUNsZWFudXBJdGVyYXRvclByb3RvdHlwZS9uZXh0LXByb3AtZGVzYy5qcwot
RCB0ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9GaW5hbGl6YXRpb25SZWdpc3Ry
eUNsZWFudXBJdGVyYXRvclByb3RvdHlwZS9wcm90by5qcwotTSB0ZXN0L2J1aWx0LWlucy9GaW5h
bGl6YXRpb25SZWdpc3RyeS9nYy1oYXMtb25lLWNoYW5jZS10by1jYWxsLWNsZWFudXBDYWxsYmFj
ay5qcwotRCB0ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9wcm90b3R5cGUvY2xl
YW51cFNvbWUvY2FsbGJhY2staXRlcmF0b3ItcHJvdG8uanMKLU0gdGVzdC9idWlsdC1pbnMvRmlu
YWxpemF0aW9uUmVnaXN0cnkvcHJvdG90eXBlL2NsZWFudXBTb21lL2NsZWFudXAtcHJldmVudGVk
LXdpdGgtcmVmZXJlbmNlLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5
L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9jbGVhbnVwLXByZXZlbnRlZC13aXRoLXVucmVnaXN0ZXIu
anMKLUQgdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9uUmVnaXN0cnkvcHJvdG90eXBlL2NsZWFu
dXBTb21lL2NsZWFudXBjYWxsYmFjay1pdGVyYXRvci1wcm90by5qcwotUjA3NiB0ZXN0L2J1aWx0
LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9wcm90b3R5cGUvY2xlYW51cFNvbWUvaXRlcmF0b3It
aG9sZGluZ3MtbXVsdGlwbGUtdmFsdWVzLmpzIHRlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJl
Z2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9ob2xkaW5ncy1tdWx0aXBsZS12YWx1ZXMuanMK
LUQgdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9uUmVnaXN0cnkvcHJvdG90eXBlL2NsZWFudXBT
b21lL3BvaXNvbmVkLWNhbGxiYWNrLXRocm93cy5qcwotUjA2OSB0ZXN0L2J1aWx0LWlucy9GaW5h
bGl6YXRpb25SZWdpc3RyeS9wcm90b3R5cGUvY2xlYW51cFNvbWUvY2xlYW51cC10aHJvd3MtaW4t
Y2FsbGJhY2suanMgdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9uUmVnaXN0cnkvcHJvdG90eXBl
L2NsZWFudXBTb21lL3JlZW50cmFuY3kuanMKLU0gdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9u
UmVnaXN0cnkvcHJvdG90eXBlL2NsZWFudXBTb21lL3JldHVybi11bmRlZmluZWQtd2l0aC1nYy5q
cwotTSB0ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9wcm90b3R5cGUvdW5yZWdp
c3Rlci91bnJlZ2lzdGVyLWNsZWFuZWQtdXAtY2VsbC5qcwotQSB0ZXN0L2J1aWx0LWlucy9Qcm9t
aXNlL2FueS9jYXBhYmlsaXR5LWV4ZWN1dG9yLWNhbGxlZC10d2ljZS5qcwotQSB0ZXN0L2J1aWx0
LWlucy9Qcm9taXNlL2FueS9jYXBhYmlsaXR5LWV4ZWN1dG9yLW5vdC1jYWxsYWJsZS5qcwotQSB0
ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FueS9jdHgtY3Rvci10aHJvd3MuanMKLUEgdGVzdC9idWls
dC1pbnMvUHJvbWlzZS9hbnkvY3R4LWN0b3IuanMKLUEgdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9h
bnkvY3R4LW5vbi1jdG9yLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1Byb21pc2UvYW55L2ludm9rZS1y
ZXNvbHZlLWVycm9yLWNsb3NlLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1Byb21pc2UvYW55L2ludm9r
ZS1yZXNvbHZlLWVycm9yLXJlamVjdC5qcwotQSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FueS9p
bnZva2UtcmVzb2x2ZS1nZXQtZXJyb3ItY2xvc2UuanMKLUEgdGVzdC9idWlsdC1pbnMvUHJvbWlz
ZS9hbnkvaW52b2tlLXJlc29sdmUtZ2V0LWVycm9yLXJlamVjdC5qcwotQSB0ZXN0L2J1aWx0LWlu
cy9Qcm9taXNlL2FueS9pbnZva2UtcmVzb2x2ZS1nZXQtb25jZS1tdWx0aXBsZS1jYWxscy5qcwot
QSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FueS9pbnZva2UtcmVzb2x2ZS1nZXQtb25jZS1uby1j
YWxscy5qcwotQSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FueS9pbnZva2UtcmVzb2x2ZS1ub3Qt
Y2FsbGFibGUtcmVqZWN0cy13aXRoLXR5cGVycm9yLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1Byb21p
c2UvYW55L2ludm9rZS1yZXNvbHZlLW9uLXByb21pc2VzLWV2ZXJ5LWl0ZXJhdGlvbi1vZi1jdXN0
b20uanMKLUEgdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9hbnkvaW52b2tlLXJlc29sdmUtb24tcHJv
bWlzZXMtZXZlcnktaXRlcmF0aW9uLW9mLXByb21pc2UuanMKLUEgdGVzdC9idWlsdC1pbnMvUHJv
bWlzZS9hbnkvaW52b2tlLXJlc29sdmUtb24tdmFsdWVzLWV2ZXJ5LWl0ZXJhdGlvbi1vZi1jdXN0
b20uanMKLUEgdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9hbnkvaW52b2tlLXJlc29sdmUtb24tdmFs
dWVzLWV2ZXJ5LWl0ZXJhdGlvbi1vZi1wcm9taXNlLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1Byb21p
c2UvYW55L2ludm9rZS1yZXNvbHZlLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1Byb21pc2UvYW55L2lu
dm9rZS10aGVuLWVycm9yLWNsb3NlLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1Byb21pc2UvYW55L2lu
dm9rZS10aGVuLWVycm9yLXJlamVjdC5qcwotQSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FueS9p
bnZva2UtdGhlbi1nZXQtZXJyb3ItY2xvc2UuanMKLUEgdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9h
bnkvaW52b2tlLXRoZW4tZ2V0LWVycm9yLXJlamVjdC5qcwotQSB0ZXN0L2J1aWx0LWlucy9Qcm9t
aXNlL2FueS9pbnZva2UtdGhlbi1vbi1wcm9taXNlcy1ldmVyeS1pdGVyYXRpb24uanMKLUEgdGVz
dC9idWlsdC1pbnMvUHJvbWlzZS9hbnkvaW52b2tlLXRoZW4uanMKLUEgdGVzdC9idWlsdC1pbnMv
UHJvbWlzZS9hbnkvaXMtZnVuY3Rpb24uanMKLUEgdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9hbnkv
aXRlci1hcmctaXMtZW1wdHktaXRlcmFibGUtcmVqZWN0LmpzCi1BIHRlc3QvYnVpbHQtaW5zL1By
b21pc2UvYW55L2l0ZXItYXJnLWlzLWVtcHR5LXN0cmluZy1yZWplY3QuanMKLUEgdGVzdC9idWls
dC1pbnMvUHJvbWlzZS9hbnkvaXRlci1hcmctaXMtZmFsc2UtcmVqZWN0LmpzCi1BIHRlc3QvYnVp
bHQtaW5zL1Byb21pc2UvYW55L2l0ZXItYXJnLWlzLW51bGwtcmVqZWN0LmpzCi1BIHRlc3QvYnVp
bHQtaW5zL1Byb21pc2UvYW55L2l0ZXItYXJnLWlzLW51bWJlci1yZWplY3QuanMKLUEgdGVzdC9i
dWlsdC1pbnMvUHJvbWlzZS9hbnkvaXRlci1hcmctaXMtcG9pc29uZWQuanMKLUEgdGVzdC9idWls
dC1pbnMvUHJvbWlzZS9hbnkvaXRlci1hcmctaXMtc3RyaW5nLXJlc29sdmUuanMKLUEgdGVzdC9i
dWlsdC1pbnMvUHJvbWlzZS9hbnkvaXRlci1hcmctaXMtc3ltYm9sLXJlamVjdC5qcwotQSB0ZXN0
L2J1aWx0LWlucy9Qcm9taXNlL2FueS9pdGVyLWFyZy1pcy10cnVlLXJlamVjdC5qcwotQSB0ZXN0
L2J1aWx0LWlucy9Qcm9taXNlL2FueS9pdGVyLWFyZy1pcy11bmRlZmluZWQtcmVqZWN0LmpzCi1B
IHRlc3QvYnVpbHQtaW5zL1Byb21pc2UvYW55L2l0ZXItYXNzaWduZWQtZmFsc2UtcmVqZWN0Lmpz
Ci1BIHRlc3QvYnVpbHQtaW5zL1Byb21pc2UvYW55L2l0ZXItYXNzaWduZWQtbnVsbC1yZWplY3Qu
anMKLUEgdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9hbnkvaXRlci1hc3NpZ25lZC1udW1iZXItcmVq
ZWN0LmpzCi1BIHRlc3QvYnVpbHQtaW5zL1Byb21pc2UvYW55L2l0ZXItYXNzaWduZWQtc3RyaW5n
LXJlamVjdC5qcwotQSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FueS9pdGVyLWFzc2lnbmVkLXN5
bWJvbC1yZWplY3QuanMKLUEgdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9hbnkvaXRlci1hc3NpZ25l
ZC10cnVlLXJlamVjdC5qcwotQSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FueS9pdGVyLWFzc2ln
bmVkLXVuZGVmaW5lZC1yZWplY3QuanMKLUEgdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9hbnkvaXRl
ci1zdGVwLWVyci1uby1jbG9zZS5qcwotQSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FueS9pdGVy
LXN0ZXAtZXJyLXJlamVjdC5qcwotQSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FueS9sZW5ndGgu
anMKLUEgdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9hbnkvbmFtZS5qcwotQSB0ZXN0L2J1aWx0LWlu
cy9Qcm9taXNlL2FueS9uZXctcmVqZWN0LWZ1bmN0aW9uLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1By
b21pc2UvYW55L3Byb3AtZGVzYy5qcwotQSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FueS9yZWpl
Y3QtYWxsLW1peGVkLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1Byb21pc2UvYW55L3JlamVjdC1kZWZl
cnJlZC5qcwotQSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FueS9yZWplY3QtZWxlbWVudC1mdW5j
dGlvbi1leHRlbnNpYmxlLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1Byb21pc2UvYW55L3JlamVjdC1l
bGVtZW50LWZ1bmN0aW9uLWxlbmd0aC5qcwotQSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FueS9y
ZWplY3QtZWxlbWVudC1mdW5jdGlvbi1uYW1lLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1Byb21pc2Uv
YW55L3JlamVjdC1lbGVtZW50LWZ1bmN0aW9uLW5vbmNvbnN0cnVjdG9yLmpzCi1BIHRlc3QvYnVp
bHQtaW5zL1Byb21pc2UvYW55L3JlamVjdC1lbGVtZW50LWZ1bmN0aW9uLXByb3RvdHlwZS5qcwot
QSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FueS9yZXNvbHZlLWZyb20tcmVqZWN0LWNhdGNoLmpz
Ci1BIHRlc3QvYnVpbHQtaW5zL1Byb21pc2UvYW55L3Jlc29sdmUtZnJvbS1yZXNvbHZlLXJlamVj
dC1jYXRjaC5qcwotQSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FueS9yZXNvbHZlLWlnbm9yZXMt
bGF0ZS1yZWplY3Rpb24tZGVmZXJyZWQuanMKLUEgdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9hbnkv
cmVzb2x2ZS1pZ25vcmVzLWxhdGUtcmVqZWN0aW9uLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1Byb21p
c2UvYW55L3JldHVybnMtcHJvbWlzZS5qcwotTSB0ZXN0L2J1aWx0LWlucy9Qcm94eS9jcmVhdGUt
aGFuZGxlci1pcy1yZXZva2VkLXByb3h5LmpzCi1NIHRlc3QvYnVpbHQtaW5zL1Byb3h5L2NyZWF0
ZS10YXJnZXQtaXMtbm90LWNhbGxhYmxlLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1Byb3h5L2NyZWF0
ZS10YXJnZXQtaXMtcmV2b2tlZC1mdW5jdGlvbi1wcm94eS5qcwotTSB0ZXN0L2J1aWx0LWlucy9Q
cm94eS9jcmVhdGUtdGFyZ2V0LWlzLXJldm9rZWQtcHJveHkuanMKLUEgdGVzdC9idWlsdC1pbnMv
UHJveHkvc2V0L3RyYXAtaXMtbWlzc2luZy1yZWNlaXZlci1tdWx0aXBsZS1jYWxscy1pbmRleC5q
cwotQSB0ZXN0L2J1aWx0LWlucy9Qcm94eS9zZXQvdHJhcC1pcy1taXNzaW5nLXJlY2VpdmVyLW11
bHRpcGxlLWNhbGxzLmpzCi1SMTAwIHRlc3QvYnVpbHQtaW5zL1Byb3h5L3NldC90cmFwLWlzLXVu
ZGVmaW5lZC1yZWNlaXZlci5qcyB0ZXN0L2J1aWx0LWlucy9Qcm94eS9zZXQvdHJhcC1pcy1udWxs
LXJlY2VpdmVyLmpzCi1BIHRlc3QvaW50bDQwMi9EYXRlVGltZUZvcm1hdC9jb25zdHJ1Y3Rvci1v
cHRpb25zLWNhbGVuZGFyLWludmFsaWQuanMKLUEgdGVzdC9pbnRsNDAyL0RhdGVUaW1lRm9ybWF0
L2NvbnN0cnVjdG9yLW9wdGlvbnMtbnVtYmVyaW5nU3lzdGVtLWludmFsaWQuanMKLUQgdGVzdC9p
bnRsNDAyL0RhdGVUaW1lRm9ybWF0L2ludmFsaWQtbnVtYmVyaW5nLXN5c3RlbS1jYWxlbmRhci1v
cHRpb25zLmpzCi1BIHRlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvY29uc3RydWN0b3Itb3B0aW9u
cy1udW1iZXJpbmdTeXN0ZW0taW52YWxpZC5qcwotRCB0ZXN0L2ludGw0MDIvTnVtYmVyRm9ybWF0
L2ludmFsaWQtbnVtYmVyaW5nLXN5c3RlbS1vcHRpb25zLmpzCi1NIHRlc3QvaW50bDQwMi9SZWxh
dGl2ZVRpbWVGb3JtYXQvY29uc3RydWN0b3IvY29uc3RydWN0b3Ivb3B0aW9ucy1udW1iZXJpbmdT
eXN0ZW0taW52YWxpZC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1l
bnRzL2dyYW1tYXItcHJpdmF0ZS1maWVsZC1vcHRpb25hbC1jaGFpbmluZy5qcwotQSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL3N0YXRpYy1hcy12YWxpZC1pbnN0YW5j
ZS1maWVsZC1hc3NpZ25lZC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Vs
ZW1lbnRzL3N0YXRpYy1hcy12YWxpZC1pbnN0YW5jZS1maWVsZC5qcwotQSB0ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL3N0YXRpYy1hcy12YWxpZC1zdGF0aWMtZmllbGQt
YXNzaWduZWQuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9z
dGF0aWMtYXMtdmFsaWQtc3RhdGljLWZpZWxkLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvZWxlbWVudHMvc3ludGF4L2Vhcmx5LWVycm9ycy9ncmFtbWFyLXByaXZhdGUtZmll
bGQtb3B0aW9uYWwtY2hhaW5pbmcuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sb2dp
Y2FsLWFzc2lnbm1lbnQvbGdjbC1hbmQtYXJndW1lbnRzLXN0cmljdC5qcwotQSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2xvZ2ljYWwtYXNzaWdubWVudC9sZ2NsLWFuZC1hc3NpZ25tZW50LW9w
ZXJhdG9yLWJpZ2ludC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xvZ2ljYWwtYXNz
aWdubWVudC9sZ2NsLWFuZC1hc3NpZ25tZW50LW9wZXJhdG9yLWxocy1iZWZvcmUtcmhzLmpzCi1B
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbG9naWNhbC1hc3NpZ25tZW50L2xnY2wtYW5kLWFz
c2lnbm1lbnQtb3BlcmF0b3Itbm8tc2V0LXB1dC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2xvZ2ljYWwtYXNzaWdubWVudC9sZ2NsLWFuZC1hc3NpZ25tZW50LW9wZXJhdG9yLW5vLXNl
dC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xvZ2ljYWwtYXNzaWdubWVudC9sZ2Ns
LWFuZC1hc3NpZ25tZW50LW9wZXJhdG9yLW5vbi1leHRlbnNpYmxlLmpzCi1BIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvbG9naWNhbC1hc3NpZ25tZW50L2xnY2wtYW5kLWFzc2lnbm1lbnQtb3Bl
cmF0b3Itbm9uLXNpbXBsZS1saHMuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sb2dp
Y2FsLWFzc2lnbm1lbnQvbGdjbC1hbmQtYXNzaWdubWVudC1vcGVyYXRvci1ub24td3JpdGVhYmxl
LXB1dC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xvZ2ljYWwtYXNzaWdubWVudC9s
Z2NsLWFuZC1hc3NpZ25tZW50LW9wZXJhdG9yLW5vbi13cml0ZWFibGUuanMKLUEgdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9sb2dpY2FsLWFzc2lnbm1lbnQvbGdjbC1hbmQtYXNzaWdubWVudC1v
cGVyYXRvci11bnJlc29sdmVkLWxocy5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xv
Z2ljYWwtYXNzaWdubWVudC9sZ2NsLWFuZC1hc3NpZ25tZW50LW9wZXJhdG9yLXVucmVzb2x2ZWQt
cmhzLXB1dC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xvZ2ljYWwtYXNzaWdubWVu
dC9sZ2NsLWFuZC1hc3NpZ25tZW50LW9wZXJhdG9yLXVucmVzb2x2ZWQtcmhzLmpzCi1BIHRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbG9naWNhbC1hc3NpZ25tZW50L2xnY2wtYW5kLWFzc2lnbm1l
bnQtb3BlcmF0b3IuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sb2dpY2FsLWFzc2ln
bm1lbnQvbGdjbC1hbmQtZXZhbC1zdHJpY3QuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9sb2dpY2FsLWFzc2lnbm1lbnQvbGdjbC1hbmQtbm9uLXNpbXBsZS5qcwotQSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2xvZ2ljYWwtYXNzaWdubWVudC9sZ2NsLWFuZC13aGl0ZXNwYWNlLmpz
Ci1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbG9naWNhbC1hc3NpZ25tZW50L2xnY2wtbnVs
bGlzaC1hcmd1bWVudHMtc3RyaWN0LmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbG9n
aWNhbC1hc3NpZ25tZW50L2xnY2wtbnVsbGlzaC1hc3NpZ25tZW50LW9wZXJhdG9yLWJpZ2ludC5q
cwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xvZ2ljYWwtYXNzaWdubWVudC9sZ2NsLW51
bGxpc2gtYXNzaWdubWVudC1vcGVyYXRvci1saHMtYmVmb3JlLXJocy5qcwotQSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2xvZ2ljYWwtYXNzaWdubWVudC9sZ2NsLW51bGxpc2gtYXNzaWdubWVu
dC1vcGVyYXRvci1uby1zZXQtcHV0LmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbG9n
aWNhbC1hc3NpZ25tZW50L2xnY2wtbnVsbGlzaC1hc3NpZ25tZW50LW9wZXJhdG9yLW5vLXNldC5q
cwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xvZ2ljYWwtYXNzaWdubWVudC9sZ2NsLW51
bGxpc2gtYXNzaWdubWVudC1vcGVyYXRvci1ub24tZXh0ZW5zaWJsZS5qcwotQSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2xvZ2ljYWwtYXNzaWdubWVudC9sZ2NsLW51bGxpc2gtYXNzaWdubWVu
dC1vcGVyYXRvci1ub24tc2ltcGxlLWxocy5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2xvZ2ljYWwtYXNzaWdubWVudC9sZ2NsLW51bGxpc2gtYXNzaWdubWVudC1vcGVyYXRvci1ub24t
d3JpdGVhYmxlLXB1dC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xvZ2ljYWwtYXNz
aWdubWVudC9sZ2NsLW51bGxpc2gtYXNzaWdubWVudC1vcGVyYXRvci1ub24td3JpdGVhYmxlLmpz
Ci1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbG9naWNhbC1hc3NpZ25tZW50L2xnY2wtbnVs
bGlzaC1hc3NpZ25tZW50LW9wZXJhdG9yLXVucmVzb2x2ZWQtbGhzLmpzCi1BIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvbG9naWNhbC1hc3NpZ25tZW50L2xnY2wtbnVsbGlzaC1hc3NpZ25tZW50
LW9wZXJhdG9yLXVucmVzb2x2ZWQtcmhzLXB1dC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2xvZ2ljYWwtYXNzaWdubWVudC9sZ2NsLW51bGxpc2gtYXNzaWdubWVudC1vcGVyYXRvci11
bnJlc29sdmVkLXJocy5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xvZ2ljYWwtYXNz
aWdubWVudC9sZ2NsLW51bGxpc2gtYXNzaWdubWVudC1vcGVyYXRvci5qcwotQSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2xvZ2ljYWwtYXNzaWdubWVudC9sZ2NsLW51bGxpc2gtZXZhbC1zdHJp
Y3QuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sb2dpY2FsLWFzc2lnbm1lbnQvbGdj
bC1udWxsaXNoLW5vbi1zaW1wbGUuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sb2dp
Y2FsLWFzc2lnbm1lbnQvbGdjbC1udWxsaXNoLXdoaXRlc3BhY2UuanMKLUEgdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9sb2dpY2FsLWFzc2lnbm1lbnQvbGdjbC1vci1hcmd1bWVudHMtc3RyaWN0
LmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbG9naWNhbC1hc3NpZ25tZW50L2xnY2wt
b3ItYXNzaWdubWVudC1vcGVyYXRvci1iaWdpbnQuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9sb2dpY2FsLWFzc2lnbm1lbnQvbGdjbC1vci1hc3NpZ25tZW50LW9wZXJhdG9yLWxocy1i
ZWZvcmUtcmhzLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbG9naWNhbC1hc3NpZ25t
ZW50L2xnY2wtb3ItYXNzaWdubWVudC1vcGVyYXRvci1uby1zZXQtcHV0LmpzCi1BIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvbG9naWNhbC1hc3NpZ25tZW50L2xnY2wtb3ItYXNzaWdubWVudC1v
cGVyYXRvci1uby1zZXQuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sb2dpY2FsLWFz
c2lnbm1lbnQvbGdjbC1vci1hc3NpZ25tZW50LW9wZXJhdG9yLW5vbi1leHRlbnNpYmxlLmpzCi1B
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbG9naWNhbC1hc3NpZ25tZW50L2xnY2wtb3ItYXNz
aWdubWVudC1vcGVyYXRvci1ub24tc2ltcGxlLWxocy5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2xvZ2ljYWwtYXNzaWdubWVudC9sZ2NsLW9yLWFzc2lnbm1lbnQtb3BlcmF0b3Itbm9u
LXdyaXRlYWJsZS1wdXQuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sb2dpY2FsLWFz
c2lnbm1lbnQvbGdjbC1vci1hc3NpZ25tZW50LW9wZXJhdG9yLW5vbi13cml0ZWFibGUuanMKLUEg
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sb2dpY2FsLWFzc2lnbm1lbnQvbGdjbC1vci1hc3Np
Z25tZW50LW9wZXJhdG9yLXVucmVzb2x2ZWQtbGhzLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvbG9naWNhbC1hc3NpZ25tZW50L2xnY2wtb3ItYXNzaWdubWVudC1vcGVyYXRvci11bnJl
c29sdmVkLXJocy1wdXQuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9sb2dpY2FsLWFz
c2lnbm1lbnQvbGdjbC1vci1hc3NpZ25tZW50LW9wZXJhdG9yLXVucmVzb2x2ZWQtcmhzLmpzCi1B
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbG9naWNhbC1hc3NpZ25tZW50L2xnY2wtb3ItYXNz
aWdubWVudC1vcGVyYXRvci5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2xvZ2ljYWwt
YXNzaWdubWVudC9sZ2NsLW9yLWV2YWwtc3RyaWN0LmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvbG9naWNhbC1hc3NpZ25tZW50L2xnY2wtb3Itbm9uLXNpbXBsZS5qcwotQSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2xvZ2ljYWwtYXNzaWdubWVudC9sZ2NsLW9yLXdoaXRlc3BhY2Uu
anMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy90ZW1wbGF0ZS1saXRlcmFsL3VuaWNvZGUt
ZXNjYXBlLW5vLWhleC1lcnIuanMKLUEgdGVzdC9sYW5ndWFnZS9saXRlcmFscy9zdHJpbmcvdW5p
Y29kZS1lc2NhcGUtbm8taGV4LWVyci1kb3VibGUuanMKLUEgdGVzdC9sYW5ndWFnZS9saXRlcmFs
cy9zdHJpbmcvdW5pY29kZS1lc2NhcGUtbm8taGV4LWVyci1zaW5nbGUuanMKLUEgdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2dyYW1tYXItcHJpdmF0ZS1maWVsZC1vcHRp
b25hbC1jaGFpbmluZy5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVu
dHMvc3RhdGljLWFzLXZhbGlkLWluc3RhbmNlLWZpZWxkLWFzc2lnbmVkLmpzCi1BIHRlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9zdGF0aWMtYXMtdmFsaWQtaW5zdGFuY2Ut
ZmllbGQuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL3N0YXRp
Yy1hcy12YWxpZC1zdGF0aWMtZmllbGQtYXNzaWduZWQuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL3N0YXRpYy1hcy12YWxpZC1zdGF0aWMtZmllbGQuanMKLUQg
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL3N5bnRheC9lYXJseS1lcnJv
cnMvZ3JhbW1hci1wcml2YXRlLWZpZWxkLW9wdGlvbmFsLWNoYWluaW5nLmpzCi1BIHRlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9mb3ItYXdhaXQtb2YvaXRlcmF0b3ItY2xvc2Utbm9uLXRocm93LWdl
dC1tZXRob2QtYWJydXB0LmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3ItYXdhaXQt
b2YvaXRlcmF0b3ItY2xvc2Utbm9uLXRocm93LWdldC1tZXRob2Qtbm9uLWNhbGxhYmxlLmpzCi1B
IHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3ItYXdhaXQtb2YvaXRlcmF0b3ItY2xvc2UtdGhy
b3ctZ2V0LW1ldGhvZC1hYnJ1cHQuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1h
d2FpdC1vZi9pdGVyYXRvci1jbG9zZS10aHJvdy1nZXQtbWV0aG9kLW5vbi1jYWxsYWJsZS5qcwot
UjA1MSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yLW9mL2l0ZXJhdG9yLWNsb3NlLWdldC1t
ZXRob2QtZXJyb3IuanMgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1vZi9pdGVyYXRvci1j
bG9zZS1ub24tdGhyb3ctZ2V0LW1ldGhvZC1hYnJ1cHQuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2Zvci1vZi9pdGVyYXRvci1jbG9zZS1ub24tdGhyb3ctZ2V0LW1ldGhvZC1ub24tY2Fs
bGFibGUuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1vZi9pdGVyYXRvci1jbG9z
ZS10aHJvdy1nZXQtbWV0aG9kLWFicnVwdC5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Zm9yLW9mL2l0ZXJhdG9yLWNsb3NlLXRocm93LWdldC1tZXRob2Qtbm9uLWNhbGxhYmxlLmpzClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorTSBoYXJuZXNzL2F0b21pY3NIZWxwZXIuanMKK00g
aGFybmVzcy90ZXN0SW50bC5qcworRCB0ZXN0Ly5EU19TdG9yZQorRCB0ZXN0L2FubmV4Qi8uRFNf
U3RvcmUKK0QgdGVzdC9hbm5leEIvYnVpbHQtaW5zLy5EU19TdG9yZQorUjEwMCB0ZXN0L2J1aWx0
LWlucy9KU09OL3BhcnNlL1MxNS4xMi4yX0ExLmpzIHRlc3QvYW5uZXhCL2J1aWx0LWlucy9KU09O
L3BhcnNlL1MxNS4xMi4yX0ExLmpzCitSMTAwIHRlc3QvYnVpbHQtaW5zL1Byb3h5L3NldC9jYWxs
LXBhcmFtZXRlcnMtcHJvdG90eXBlLWR1bmRlci1wcm90by5qcyB0ZXN0L2FubmV4Qi9idWlsdC1p
bnMvUHJveHkvc2V0L2NhbGwtcGFyYW1ldGVycy1wcm90b3R5cGUtZHVuZGVyLXByb3RvLmpzCitE
IHRlc3QvYW5uZXhCL2J1aWx0LWlucy9SZWdFeHAvLkRTX1N0b3JlCitBIHRlc3QvYW5uZXhCL2J1
aWx0LWlucy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWdyb3Vwcy1vYmplY3QuanMKK0Eg
dGVzdC9hbm5leEIvYnVpbHQtaW5zL1JlZ0V4cC9uYW1lZC1ncm91cHMvZ3JvdXBzLW9iamVjdC5q
cworQSB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvUmVnRXhwL25hbWVkLWdyb3Vwcy9ub24tdW5pY29k
ZS1tYWxmb3JtZWQtbG9va2JlaGluZC5qcworTSB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvUmVnRXhw
L25hbWVkLWdyb3Vwcy9ub24tdW5pY29kZS1tYWxmb3JtZWQuanMKK0EgdGVzdC9hbm5leEIvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudC9kc3RyL2FycmF5LXBhdHRlcm4tZW11bGF0ZXMt
dW5kZWZpbmVkLmpzCitBIHRlc3QvYW5uZXhCL2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1l
bnQvZHN0ci9vYmplY3QtcGF0dGVybi1lbXVsYXRlcy11bmRlZmluZWQuanMKK0EgdGVzdC9hbm5l
eEIvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMveWllbGQvc3Rhci1pdGVyYWJsZS10aHJvdy1lbXVsYXRl
cy11bmRlZmluZWQtdGhyb3dzLXdoZW4tY2FsbGVkLmpzCitBIHRlc3QvYW5uZXhCL2xhbmd1YWdl
L3N0YXRlbWVudHMvY29uc3QvZHN0ci9hcnJheS1wYXR0ZXJuLWVtdWxhdGVzLXVuZGVmaW5lZC5q
cworQSB0ZXN0L2FubmV4Qi9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NvbnN0L2RzdHIvb2JqZWN0LXBh
dHRlcm4tZW11bGF0ZXMtdW5kZWZpbmVkLmpzCitBIHRlc3QvYW5uZXhCL2xhbmd1YWdlL3N0YXRl
bWVudHMvZnVuY3Rpb24vZGVmYXVsdC1wYXJhbWV0ZXJzLWVtdWxhdGVzLXVuZGVmaW5lZC5qcwor
TSB0ZXN0L2J1aWx0LWlucy9Bc3luY0Zyb21TeW5jSXRlcmF0b3JQcm90b3R5cGUvbmV4dC9hYnNl
bnQtdmFsdWUtbm90LXBhc3NlZC5qcworTSB0ZXN0L2J1aWx0LWlucy9Bc3luY0Zyb21TeW5jSXRl
cmF0b3JQcm90b3R5cGUvcmV0dXJuL2Fic2VudC12YWx1ZS1ub3QtcGFzc2VkLmpzCitEIHRlc3Qv
YnVpbHQtaW5zL0FzeW5jRnJvbVN5bmNJdGVyYXRvclByb3RvdHlwZS90aHJvdy9hYnNlbnQtdmFs
dWUtbm90LXBhc3NlZC5qcworTSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXQvYmlnaW50L25l
Z2F0aXZlLXRpbWVvdXQtYWdlbnQuanMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0L2Jp
Z2ludC9uby1zcHVyaW91cy13YWtldXAtbm8tb3BlcmF0aW9uLmpzCitNIHRlc3QvYnVpbHQtaW5z
L0F0b21pY3Mvd2FpdC9uZWdhdGl2ZS10aW1lb3V0LWFnZW50LmpzCitNIHRlc3QvYnVpbHQtaW5z
L0F0b21pY3Mvd2FpdC9uby1zcHVyaW91cy13YWtldXAtbm8tb3BlcmF0aW9uLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL0F0b21pY3Mvd2FpdC92YWxpZGF0ZS1hcnJheXR5cGUtYmVmb3JlLWluZGV4LWNv
ZXJjaW9uLmpzCitBIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JhZC1yYW5nZS5q
cworQSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9kZXNjcmlwdG9yLmpzCitBIHRl
c3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2ZhbHNlLWZvci10aW1lb3V0LWFnZW50Lmpz
CitBIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2ZhbHNlLWZvci10aW1lb3V0Lmpz
CitBIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2dvb2Qtdmlld3MuanMKK0EgdGVz
dC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvaXMtZnVuY3Rpb24uanMKK0EgdGVzdC9idWls
dC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbGVuZ3RoLmpzCitBIHRlc3QvYnVpbHQtaW5zL0F0b21p
Y3Mvd2FpdEFzeW5jL25hbWUuanMKK0EgdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMv
bmFuLWZvci10aW1lb3V0LWFnZW50LmpzCitBIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFz
eW5jL25lZ2F0aXZlLWluZGV4LXRocm93cy5qcworQSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dh
aXRBc3luYy9uZWdhdGl2ZS10aW1lb3V0LWFnZW50LmpzCitBIHRlc3QvYnVpbHQtaW5zL0F0b21p
Y3Mvd2FpdEFzeW5jL25lZ2F0aXZlLXRpbWVvdXQuanMKK0EgdGVzdC9idWlsdC1pbnMvQXRvbWlj
cy93YWl0QXN5bmMvbm8tc3B1cmlvdXMtd2FrZXVwLW5vLW9wZXJhdGlvbi5qcworQSB0ZXN0L2J1
aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtldXAtb24tYWRkLmpzCitB
IHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25vLXNwdXJpb3VzLXdha2V1cC1vbi1h
bmQuanMKK0EgdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbm8tc3B1cmlvdXMtd2Fr
ZXVwLW9uLWNvbXBhcmVFeGNoYW5nZS5qcworQSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRB
c3luYy9uby1zcHVyaW91cy13YWtldXAtb24tZXhjaGFuZ2UuanMKK0EgdGVzdC9idWlsdC1pbnMv
QXRvbWljcy93YWl0QXN5bmMvbm8tc3B1cmlvdXMtd2FrZXVwLW9uLW9yLmpzCitBIHRlc3QvYnVp
bHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25vLXNwdXJpb3VzLXdha2V1cC1vbi1zdG9yZS5qcwor
QSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtldXAtb24t
c3ViLmpzCitBIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25vLXNwdXJpb3VzLXdh
a2V1cC1vbi14b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbm9uLWlu
dDMyLXR5cGVkYXJyYXktdGhyb3dzLmpzCitBIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFz
eW5jL25vbi1zaGFyZWQtYnVmZmVyZGF0YS10aHJvd3MuanMKK0EgdGVzdC9idWlsdC1pbnMvQXRv
bWljcy93YWl0QXN5bmMvbm90LWEtdHlwZWRhcnJheS10aHJvd3MuanMKK0EgdGVzdC9idWlsdC1p
bnMvQXRvbWljcy93YWl0QXN5bmMvbm90LWFuLW9iamVjdC10aHJvd3MuanMKK0EgdGVzdC9idWls
dC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbnVsbC1idWZmZXJkYXRhLXRocm93cy5qcworQSB0ZXN0
L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9udWxsLWZvci10aW1lb3V0LWFnZW50LmpzCitB
IHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL251bGwtZm9yLXRpbWVvdXQuanMKK0Eg
dGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvb2JqZWN0LWZvci10aW1lb3V0LWFnZW50
LmpzCitBIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL29iamVjdC1mb3ItdGltZW91
dC5qcworQSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9vdXQtb2YtcmFuZ2UtaW5k
ZXgtdGhyb3dzLmpzCitBIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3BvaXNvbmVk
LW9iamVjdC1mb3ItdGltZW91dC10aHJvd3MtYWdlbnQuanMKK0EgdGVzdC9idWlsdC1pbnMvQXRv
bWljcy93YWl0QXN5bmMvcG9pc29uZWQtb2JqZWN0LWZvci10aW1lb3V0LXRocm93cy5qcworQSB0
ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9yZXR1cm5zLXJlc3VsdC1vYmplY3QtdmFs
dWUtaXMtcHJvbWlzZS1yZXNvbHZlcy10by1vay5qcworQSB0ZXN0L2J1aWx0LWlucy9BdG9taWNz
L3dhaXRBc3luYy9yZXR1cm5zLXJlc3VsdC1vYmplY3QtdmFsdWUtaXMtcHJvbWlzZS1yZXNvbHZl
cy10by10aW1lZC1vdXQuanMKK0EgdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvcmV0
dXJucy1yZXN1bHQtb2JqZWN0LXZhbHVlLWlzLXN0cmluZy1ub3QtZXF1YWwuanMKK0EgdGVzdC9i
dWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvcmV0dXJucy1yZXN1bHQtb2JqZWN0LXZhbHVlLWlz
LXN0cmluZy10aW1lZC1vdXQuanMKK0EgdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMv
c3ltYm9sLWZvci1pbmRleC10aHJvd3MtYWdlbnQuanMKK0EgdGVzdC9idWlsdC1pbnMvQXRvbWlj
cy93YWl0QXN5bmMvc3ltYm9sLWZvci1pbmRleC10aHJvd3MuanMKK0EgdGVzdC9idWlsdC1pbnMv
QXRvbWljcy93YWl0QXN5bmMvc3ltYm9sLWZvci10aW1lb3V0LXRocm93cy1hZ2VudC5qcworQSB0
ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9zeW1ib2wtZm9yLXRpbWVvdXQtdGhyb3dz
LmpzCitBIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3N5bWJvbC1mb3ItdmFsdWUt
dGhyb3dzLWFnZW50LmpzCitBIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3N5bWJv
bC1mb3ItdmFsdWUtdGhyb3dzLmpzCitBIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5j
L3RydWUtZm9yLXRpbWVvdXQtYWdlbnQuanMKK0EgdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0
QXN5bmMvdHJ1ZS1mb3ItdGltZW91dC5qcworQSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRB
c3luYy91bmRlZmluZWQtZm9yLXRpbWVvdXQtYWdlbnQuanMKK0EgdGVzdC9idWlsdC1pbnMvQXRv
bWljcy93YWl0QXN5bmMvdW5kZWZpbmVkLWZvci10aW1lb3V0LmpzCitBIHRlc3QvYnVpbHQtaW5z
L0F0b21pY3Mvd2FpdEFzeW5jL3VuZGVmaW5lZC1pbmRleC1kZWZhdWx0cy10by16ZXJvLWFnZW50
LmpzCitBIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3ZhbGlkYXRlLWFycmF5dHlw
ZS1iZWZvcmUtaW5kZXgtY29lcmNpb24uanMKK0EgdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0
QXN5bmMvdmFsaWRhdGUtYXJyYXl0eXBlLWJlZm9yZS10aW1lb3V0LWNvZXJjaW9uLmpzCitBIHRl
c3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3ZhbGlkYXRlLWFycmF5dHlwZS1iZWZvcmUt
dmFsdWUtY29lcmNpb24uanMKK0EgdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvdmFs
dWUtbm90LWVxdWFsLWFnZW50LmpzCitBIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5j
L3ZhbHVlLW5vdC1lcXVhbC5qcworQSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy93
YWl0ZXJsaXN0LWJsb2NrLWluZGV4ZWRwb3NpdGlvbi13YWtlLmpzCitBIHRlc3QvYnVpbHQtaW5z
L0F0b21pY3Mvd2FpdEFzeW5jL3dhcy13b2tlbi1iZWZvcmUtdGltZW91dC5qcworTSB0ZXN0L2J1
aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmluZC9nZXQtZm4tcmVhbG0tcmVjdXJzaXZlLmpz
CitNIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kL2dldC1mbi1yZWFsbS5q
cworQSB0ZXN0L2J1aWx0LWlucy9OYXRpdmVFcnJvcnMvQWdncmVnYXRlRXJyb3IvcHJvdG8tZnJv
bS1jdG9yLXJlYWxtLmpzCitNIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdG9TdHJp
bmcvcHJveHktZnVuY3Rpb24uanMKK00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS90
b1N0cmluZy9zeW1ib2wtdGFnLW5vbi1zdHItcHJveHktZnVuY3Rpb24uanMKK00gdGVzdC9idWls
dC1pbnMvUHJvbWlzZS9hbGwvaW52b2tlLXJlc29sdmUtZ2V0LW9uY2Utbm8tY2FsbHMuanMKK00g
dGVzdC9idWlsdC1pbnMvUHJveHkvZ2V0L3RyYXAtaXMtbWlzc2luZy10YXJnZXQtaXMtcHJveHku
anMKK00gdGVzdC9idWlsdC1pbnMvUHJveHkvZ2V0LWZuLXJlYWxtLXJlY3Vyc2l2ZS5qcworTSB0
ZXN0L2J1aWx0LWlucy9Qcm94eS9nZXQtZm4tcmVhbG0uanMKK00gdGVzdC9idWlsdC1pbnMvUHJv
eHkvaGFzL3RyYXAtaXMtbWlzc2luZy10YXJnZXQtaXMtcHJveHkuanMKK0EgdGVzdC9idWlsdC1p
bnMvUHJveHkvcmV2b2NhYmxlL2J1aWx0aW4uanMKK0EgdGVzdC9idWlsdC1pbnMvUHJveHkvcmV2
b2NhYmxlL2hhbmRsZXItaXMtcmV2b2tlZC1wcm94eS5qcworTSB0ZXN0L2J1aWx0LWlucy9Qcm94
eS9yZXZvY2FibGUvcmV2b2NhdGlvbi1mdW5jdGlvbi1ub25jb25zdHJ1Y3Rvci5qcworQSB0ZXN0
L2J1aWx0LWlucy9Qcm94eS9yZXZvY2FibGUvdGFyZ2V0LWlzLXJldm9rZWQtZnVuY3Rpb24tcHJv
eHkuanMKK0EgdGVzdC9idWlsdC1pbnMvUHJveHkvcmV2b2NhYmxlL3RhcmdldC1pcy1yZXZva2Vk
LXByb3h5LmpzCitNIHRlc3QvYnVpbHQtaW5zL1Byb3h5L3NldC90cmFwLWlzLW1pc3NpbmctdGFy
Z2V0LWlzLXByb3h5LmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9sb29rQmVoaW5kL3NsaWNl
ZC1zdHJpbmdzLmpzCitNIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGlj
ZXMtZ3JvdXBzLW9iamVjdC5qcworTSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvbmFtZWQtZ3JvdXBz
L2dyb3Vwcy1vYmplY3QuanMKK0EgdGVzdC9idWlsdC1pbnMvUmVnRXhwL25hbWVkLWdyb3Vwcy9u
b24tdW5pY29kZS1wcm9wZXJ0eS1uYW1lcy1pbnZhbGlkLmpzCitBIHRlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9uYW1lZC1ncm91cHMvbm9uLXVuaWNvZGUtcHJvcGVydHktbmFtZXMtdmFsaWQuanMKK0Eg
dGVzdC9idWlsdC1pbnMvUmVnRXhwL25hbWVkLWdyb3Vwcy91bmljb2RlLXByb3BlcnR5LW5hbWVz
LWludmFsaWQuanMKK0EgdGVzdC9idWlsdC1pbnMvUmVnRXhwL25hbWVkLWdyb3Vwcy91bmljb2Rl
LXByb3BlcnR5LW5hbWVzLXZhbGlkLmpzCitBIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5
cGUvU3ltYm9sLnJlcGxhY2UvbmFtZWQtZ3JvdXBzLWZuLmpzCitBIHRlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9wcm90b3R5cGUvU3ltYm9sLnJlcGxhY2UvbmFtZWQtZ3JvdXBzLmpzCitNIHRlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvU3ltYm9sLnJlcGxhY2UvcmVzdWx0LWNvZXJjZS1ncm91
cHMtcHJvcC5qcworQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL21hdGNoL2NzdG0t
bWF0Y2hlci1pcy1udWxsLmpzCitBIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVw
bGFjZS9jc3RtLXJlcGxhY2UtaXMtbnVsbC5qcworQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtcmVwbGFjZXItaXMtbnVsbC5qcworUjA5NyB0
ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtcmVw
bGFjZS1tZXRob2QtYWJydXB0LmpzIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVw
bGFjZUFsbC9zZWFyY2hWYWx1ZS1yZXBsYWNlci1tZXRob2QtYWJydXB0LmpzCitBIHRlc3QvYnVp
bHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc2VhcmNoL2NzdG0tc2VhcmNoLWlzLW51bGwuanMKK0Eg
dGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9jc3RtLXNwbGl0LWlzLW51bGwu
anMKK0EgdGVzdC9idWlsdC1pbnMvU3ltYm9sL2lzLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvaW50
bDQwMi9JbnRsL2dldENhbm9uaWNhbExvY2FsZXMvY29tcGxleC1sYW5ndWFnZS1zdWJ0YWctcmVw
bGFjZW1lbnQuanMKK0EgdGVzdC9pbnRsNDAyL0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxlcy9jb21w
bGV4LXJlZ2lvbi1zdWJ0YWctcmVwbGFjZW1lbnQuanMKK00gdGVzdC9pbnRsNDAyL0ludGwvZ2V0
Q2Fub25pY2FsTG9jYWxlcy9ub24taWFuYS1jYW5vbi5qcworTSB0ZXN0L2ludGw0MDIvSW50bC9n
ZXRDYW5vbmljYWxMb2NhbGVzL3ByZWZlcnJlZC12YXJpYW50LmpzCitBIHRlc3QvaW50bDQwMi9J
bnRsL2dldENhbm9uaWNhbExvY2FsZXMvdHJhbnNmb3JtZWQtZXh0LWNhbm9uaWNhbC5qcworQSB0
ZXN0L2ludGw0MDIvSW50bC9nZXRDYW5vbmljYWxMb2NhbGVzL3RyYW5zZm9ybWVkLWV4dC1pbnZh
bGlkLmpzCitBIHRlc3QvaW50bDQwMi9JbnRsL2dldENhbm9uaWNhbExvY2FsZXMvdHJhbnNmb3Jt
ZWQtZXh0LXZhbGlkLmpzCitBIHRlc3QvaW50bDQwMi9JbnRsL2dldENhbm9uaWNhbExvY2FsZXMv
dW5pY29kZS1leHQtY2Fub25pY2FsaXplLWNhbGVuZGFyLmpzCitBIHRlc3QvaW50bDQwMi9JbnRs
L2dldENhbm9uaWNhbExvY2FsZXMvdW5pY29kZS1leHQtY2Fub25pY2FsaXplLWNvbC1zdHJlbmd0
aC5qcworQSB0ZXN0L2ludGw0MDIvSW50bC9nZXRDYW5vbmljYWxMb2NhbGVzL3VuaWNvZGUtZXh0
LWNhbm9uaWNhbGl6ZS1tZWFzdXJlbWVudC1zeXN0ZW0uanMKK0EgdGVzdC9pbnRsNDAyL0ludGwv
Z2V0Q2Fub25pY2FsTG9jYWxlcy91bmljb2RlLWV4dC1jYW5vbmljYWxpemUtcmVnaW9uLmpzCitB
IHRlc3QvaW50bDQwMi9JbnRsL2dldENhbm9uaWNhbExvY2FsZXMvdW5pY29kZS1leHQtY2Fub25p
Y2FsaXplLXN1YmRpdmlzaW9uLmpzCitBIHRlc3QvaW50bDQwMi9JbnRsL2dldENhbm9uaWNhbExv
Y2FsZXMvdW5pY29kZS1leHQtY2Fub25pY2FsaXplLXRpbWV6b25lLmpzCitBIHRlc3QvaW50bDQw
Mi9JbnRsL2dldENhbm9uaWNhbExvY2FsZXMvdW5pY29kZS1leHQtY2Fub25pY2FsaXplLXllcy10
by10cnVlLmpzCitBIHRlc3QvaW50bDQwMi9JbnRsL2dldENhbm9uaWNhbExvY2FsZXMvdW5pY29k
ZS1leHQta2V5LXdpdGgtZGlnaXQuanMKK0EgdGVzdC9pbnRsNDAyL0xvY2FsZS9jb25zdHJ1Y3Rv
ci1hcHBseS1vcHRpb25zLWNhbm9uaWNhbGl6ZXMtdHdpY2UuanMKK00gdGVzdC9pbnRsNDAyL0xv
Y2FsZS9jb25zdHJ1Y3Rvci1ub24taWFuYS1jYW5vbi5qcworQSB0ZXN0L2ludGw0MDIvTG9jYWxl
L2NvbnN0cnVjdG9yLW9wdGlvbnMtY2Fub25pY2FsaXplZC5qcworTSB0ZXN0L2ludGw0MDIvTG9j
YWxlL2V4dGVuc2lvbnMtZ3JhbmRmYXRoZXJlZC5qcworTSB0ZXN0L2ludGw0MDIvTG9jYWxlL2dl
dHRlcnMtZ3JhbmRmYXRoZXJlZC5qcworTSB0ZXN0L2ludGw0MDIvTG9jYWxlL2xpa2VseS1zdWJ0
YWdzLWdyYW5kZmF0aGVyZWQuanMKK00gdGVzdC9pbnRsNDAyL0xvY2FsZS9saWtlbHktc3VidGFn
cy5qcworQSB0ZXN0L2ludGw0MDIvTG9jYWxlL3Byb3RvdHlwZS9taW5pbWl6ZS9yZW1vdmluZy1s
aWtlbHktc3VidGFncy1maXJzdC1hZGRzLWxpa2VseS1zdWJ0YWdzLmpzCitNIHRlc3QvaW50bDQw
Mi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdC9zaWduRGlzcGxheS1jdXJyZW5jeS1kZS1E
RS5qcworTSB0ZXN0L2ludGw0MDIvTnVtYmVyRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXQvc2lnbkRp
c3BsYXktY3VycmVuY3ktZW4tVVMuanMKK00gdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90
b3R5cGUvZm9ybWF0L3NpZ25EaXNwbGF5LWN1cnJlbmN5LWphLUpQLmpzCitNIHRlc3QvaW50bDQw
Mi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdC9zaWduRGlzcGxheS1jdXJyZW5jeS1rby1L
Ui5qcworTSB0ZXN0L2ludGw0MDIvTnVtYmVyRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXQvc2lnbkRp
c3BsYXktY3VycmVuY3ktemgtVFcuanMKK00gdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90
b3R5cGUvZm9ybWF0L3NpZ25EaXNwbGF5LWRlLURFLmpzCitNIHRlc3QvaW50bDQwMi9OdW1iZXJG
b3JtYXQvcHJvdG90eXBlL2Zvcm1hdC9zaWduRGlzcGxheS1lbi1VUy5qcworTSB0ZXN0L2ludGw0
MDIvTnVtYmVyRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXQvc2lnbkRpc3BsYXktamEtSlAuanMKK00g
dGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L3NpZ25EaXNwbGF5LWtv
LUtSLmpzCitNIHRlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdC9zaWdu
RGlzcGxheS16aC1UVy5qcworTSB0ZXN0L2ludGw0MDIvTnVtYmVyRm9ybWF0L3Byb3RvdHlwZS9m
b3JtYXRUb1BhcnRzL3NpZ25EaXNwbGF5LWN1cnJlbmN5LWRlLURFLmpzCitNIHRlc3QvaW50bDQw
Mi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMvc2lnbkRpc3BsYXktY3VycmVu
Y3ktZW4tVVMuanMKK00gdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0
VG9QYXJ0cy9zaWduRGlzcGxheS1jdXJyZW5jeS1qYS1KUC5qcworTSB0ZXN0L2ludGw0MDIvTnVt
YmVyRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXRUb1BhcnRzL3NpZ25EaXNwbGF5LWN1cnJlbmN5LWtv
LUtSLmpzCitNIHRlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFy
dHMvc2lnbkRpc3BsYXktY3VycmVuY3ktemgtVFcuanMKK00gdGVzdC9pbnRsNDAyL051bWJlckZv
cm1hdC9wcm90b3R5cGUvZm9ybWF0VG9QYXJ0cy9zaWduRGlzcGxheS1kZS1ERS5qcworTSB0ZXN0
L2ludGw0MDIvTnVtYmVyRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXRUb1BhcnRzL3NpZ25EaXNwbGF5
LWVuLVVTLmpzCitNIHRlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRv
UGFydHMvc2lnbkRpc3BsYXktamEtSlAuanMKK00gdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9w
cm90b3R5cGUvZm9ybWF0VG9QYXJ0cy9zaWduRGlzcGxheS1rby1LUi5qcworTSB0ZXN0L2ludGw0
MDIvTnVtYmVyRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXRUb1BhcnRzL3NpZ25EaXNwbGF5LXpoLVRX
LmpzCitEIHRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvcmVnZXhwLy5EU19TdG9yZQorTSB0ZXN0L2xh
bmd1YWdlL2xpdGVyYWxzL3JlZ2V4cC9uYW1lZC1ncm91cHMvaW52YWxpZC1ub24taWQtY29udGlu
dWUtZ3JvdXBzcGVjaWZpZXIuanMKK00gdGVzdC9sYW5ndWFnZS9saXRlcmFscy9yZWdleHAvbmFt
ZWQtZ3JvdXBzL2ludmFsaWQtbm9uLWlkLXN0YXJ0LWdyb3Vwc3BlY2lmaWVyLTMuanMKK00gdGVz
dC9sYW5ndWFnZS9saXRlcmFscy9yZWdleHAvbmFtZWQtZ3JvdXBzL2ludmFsaWQtbm9uLWlkLXN0
YXJ0LWdyb3Vwc3BlY2lmaWVyLTYuanMKK0QgdGVzdC9sYW5ndWFnZS9saXRlcmFscy9yZWdleHAv
bmFtZWQtZ3JvdXBzL2ludmFsaWQtdS1lc2NhcGUtaW4tZ3JvdXBzcGVjaWZpZXItMi5qcworRCB0
ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL3JlZ2V4cC9uYW1lZC1ncm91cHMvaW52YWxpZC11LWVzY2Fw
ZS1pbi1ncm91cHNwZWNpZmllci5qcworQSB0ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL3JlZ2V4cC91
LW51bGwtY2hhcmFjdGVyLWVzY2FwZS5qcworTSB0ZXN0L2xhbmd1YWdlL21vZHVsZS1jb2RlL25h
bWVzcGFjZS9pbnRlcm5hbHMvc2V0LmpzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRl
eDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QyNjItUmV2aXNpb24udHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpT
VGVzdHMvdGVzdDI2Mi90ZXN0MjYyLVJldmlzaW9uLnR4dAkocmV2aXNpb24gMjYwNTcwKQorKysg
SlNUZXN0cy90ZXN0MjYyL3Rlc3QyNjItUmV2aXNpb24udHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDIgKzEsMiBAQAogdGVzdDI2MiByZW1vdGUgdXJsOiBnaXRAZ2l0aHViLmNvbTp0YzM5L3Rlc3Qy
NjIuZ2l0Ci10ZXN0MjYyIHJldmlzaW9uOiA2MmI4ZmNlMzg5NzE1MmRhMmNjNGY4YmQxZTI3ODc4
YTQwOWFiOTc1Cit0ZXN0MjYyIHJldmlzaW9uOiAzMWRhYmI1NjE4ZTIzOTNlN2E2N2I4ZGQ3MjRj
OTVlZjg5MDAwNjEzCkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvaGFybmVzcy9hdG9taWNzSGVscGVy
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi9oYXJuZXNzL2F0b21pY3NIZWxwZXIu
anMJKHJldmlzaW9uIDI2MDU3MCkKKysrIEpTVGVzdHMvdGVzdDI2Mi9oYXJuZXNzL2F0b21pY3NI
ZWxwZXIuanMJKHdvcmtpbmcgY29weSkKQEAgLTQsMTAgKzQsMTIgQEAKIGRlc2NyaXB0aW9uOiA+
CiAgICAgQ29sbGVjdGlvbiBvZiBmdW5jdGlvbnMgdXNlZCB0byBpbnRlcmFjdCB3aXRoIEF0b21p
Y3MuKiBvcGVyYXRpb25zIGFjcm9zcyBhZ2VudCBib3VuZGFyaWVzLgogZGVmaW5lczoKKyAgLSAk
MjYyLmFnZW50LmdldFJlcG9ydEFzeW5jCiAgIC0gJDI2Mi5hZ2VudC5nZXRSZXBvcnQKKyAgLSAk
MjYyLmFnZW50LnNhZmVCcm9hZGNhc3RBc3luYwogICAtICQyNjIuYWdlbnQuc2FmZUJyb2FkY2Fz
dAogICAtICQyNjIuYWdlbnQudHJ5WWllbGQKLSAgLSAkMjYyLnRyeVNsZWVwCisgIC0gJDI2Mi5h
Z2VudC50cnlTbGVlcAogLS0tKi8KIAogLyoqCkBAIC0zMiw2ICszNCwzOCBAQCBkZWZpbmVzOgog
ICAgIH0KICAgICByZXR1cm4gcjsKICAgfTsKKworICBpZiAodGhpcy5zZXRUaW1lb3V0ID09PSB1
bmRlZmluZWQpIHsKKyAgICAoZnVuY3Rpb24odGhhdCkgeworICAgICAgdGhhdC5zZXRUaW1lb3V0
ID0gZnVuY3Rpb24oY2FsbGJhY2ssIGRlbGF5KSB7CisgICAgICAgIGxldCBwID0gUHJvbWlzZS5y
ZXNvbHZlKCk7CisgICAgICAgIGxldCBzdGFydCA9IERhdGUubm93KCk7CisgICAgICAgIGxldCBl
bmQgPSBzdGFydCArIGRlbGF5OworICAgICAgICBmdW5jdGlvbiBjaGVjaygpIHsKKyAgICAgICAg
ICBpZiAoKGVuZCAtIERhdGUubm93KCkpID4gMCkgeworICAgICAgICAgICAgcC50aGVuKGNoZWNr
KTsKKyAgICAgICAgICB9CisgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBjYWxsYmFjaygp
OworICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBwLnRoZW4oY2hlY2spOworICAgICAg
fQorICAgIH0pKHRoaXMpOworICB9CisKKyAgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYyA9IGZ1
bmN0aW9uKCkgeworICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7Cisg
ICAgICAoZnVuY3Rpb24gbG9vcCgpIHsKKyAgICAgICAgbGV0IHJlc3VsdCA9IGdldFJlcG9ydCgp
OworICAgICAgICBpZiAoIXJlc3VsdCkgeworICAgICAgICAgIHNldFRpbWVvdXQobG9vcCwgMTAw
MCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpOworICAgICAg
ICB9CisgICAgICB9KSgpOworICAgIH0pOworICB9OwogfQogCiAvKioKQEAgLTc0LDYgKzEwOCwx
NCBAQCAkMjYyLmFnZW50LnNhZmVCcm9hZGNhc3QgPSBmdW5jdGlvbih0eXBlCiAgICQyNjIuYWdl
bnQuYnJvYWRjYXN0KHR5cGVkQXJyYXkuYnVmZmVyKTsKIH07CiAKKyQyNjIuYWdlbnQuc2FmZUJy
b2FkY2FzdEFzeW5jID0gYXN5bmMgZnVuY3Rpb24odGEsIGluZGV4LCBleHBlY3RlZCkgeworICBh
d2FpdCAkMjYyLmFnZW50LmJyb2FkY2FzdCh0YS5idWZmZXIpOworICBhd2FpdCAkMjYyLmFnZW50
LndhaXRVbnRpbCh0YSwgaW5kZXgsIGV4cGVjdGVkKTsKKyAgYXdhaXQgJDI2Mi5hZ2VudC50cnlZ
aWVsZCgpOworICByZXR1cm4gYXdhaXQgQXRvbWljcy5sb2FkKHRhLCBpbmRleCk7Cit9OworCisK
IC8qKgogICogV2l0aCBhIGdpdmVuIEludDMyQXJyYXkgb3IgQmlnSW50NjRBcnJheSwgd2FpdCB1
bnRpbCB0aGUgZXhwZWN0ZWQgbnVtYmVyIG9mIGFnZW50cyBoYXZlCiAgKiByZXBvcnRlZCB0aGVt
c2VsdmVzIGJ5IGNhbGxpbmc6CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvaGFybmVzcy90ZXN0SW50
bC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvaGFybmVzcy90ZXN0SW50bC5qcwko
cmV2aXNpb24gMjYwNTcwKQorKysgSlNUZXN0cy90ZXN0MjYyL2hhcm5lc3MvdGVzdEludGwuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDggQEAgZnVuY3Rpb24gdGVzdFdpdGhJbnRsQ29u
c3RydWN0b3JzKGYpIHsKICAgdmFyIGNvbnN0cnVjdG9ycyA9IFsiQ29sbGF0b3IiLCAiTnVtYmVy
Rm9ybWF0IiwgIkRhdGVUaW1lRm9ybWF0Il07CiAKICAgLy8gT3B0aW9uYWxseSBzdXBwb3J0ZWQg
SW50bCBjb25zdHJ1Y3RvcnMuCi0gIFsiUGx1cmFsUnVsZXMiXS5mb3JFYWNoKGZ1bmN0aW9uKGNv
bnN0cnVjdG9yKSB7CisgIC8vIE5COiBJbnRsLkxvY2FsZSBpc24ndCBhbiBJbnRsIHNlcnZpY2Ug
Y29uc3RydWN0b3IhCisgIFsiUGx1cmFsUnVsZXMiLCAiUmVsYXRpdmVUaW1lRm9ybWF0IiwgIkxp
c3RGb3JtYXQiLCAiRGlzcGxheU5hbWVzIl0uZm9yRWFjaChmdW5jdGlvbihjb25zdHJ1Y3Rvcikg
ewogICAgIGlmICh0eXBlb2YgSW50bFtjb25zdHJ1Y3Rvcl0gPT09ICJmdW5jdGlvbiIpIHsKICAg
ICAgIGNvbnN0cnVjdG9yc1tjb25zdHJ1Y3RvcnMubGVuZ3RoXSA9IGNvbnN0cnVjdG9yOwogICAg
IH0KQEAgLTI3MSwxMCArMjcyLDEwIEBAIGZ1bmN0aW9uIGlzQ2Fub25pY2FsaXplZFN0cnVjdHVy
YWxseVZhbGkKICAgICoKICAgICogU3BlYzogaHR0cHM6Ly91bmljb2RlLm9yZy9yZXBvcnRzL3Ry
MzUvI1VuaWNvZGVfbG9jYWxlX2lkZW50aWZpZXIKICAgICovCi0gIHZhciBhbHBoYSA9ICJbYS16
XSIsCisgIHZhciBhbHBoYSA9ICJbQS1aYS16XSIsCiAgICAgZGlnaXQgPSAiWzAtOV0iLAotICAg
IGFscGhhbnVtID0gIigiICsgYWxwaGEgKyAifCIgKyBkaWdpdCArICIpIiwKLSAgICB2YXJpYW50
ID0gIigiICsgYWxwaGFudW0gKyAiezUsOH18KCIgKyBkaWdpdCArIGFscGhhbnVtICsgInszfSkp
IiwKKyAgICBhbHBoYW51bSA9ICJbQS1aYS16MC05XSIsCisgICAgdmFyaWFudCA9ICIoIiArIGFs
cGhhbnVtICsgIns1LDh9fCg/OiIgKyBkaWdpdCArIGFscGhhbnVtICsgInszfSkpIiwKICAgICBy
ZWdpb24gPSAiKCIgKyBhbHBoYSArICJ7Mn18IiArIGRpZ2l0ICsgInszfSkiLAogICAgIHNjcmlw
dCA9ICIoIiArIGFscGhhICsgIns0fSkiLAogICAgIGxhbmd1YWdlID0gIigiICsgYWxwaGEgKyAi
ezIsM318IiArIGFscGhhICsgIns1LDh9KSIsCkBAIC0yOTEsMTMgKzI5MiwxNCBAQCBmdW5jdGlv
biBpc0Nhbm9uaWNhbGl6ZWRTdHJ1Y3R1cmFsbHlWYWxpCiAgICAgZXh0ZW5zaW9uID0gIigiICsg
dW5pY29kZV9sb2NhbGVfZXh0ZW5zaW9ucyArICJ8IiArIHRyYW5zZm9ybWVkX2V4dGVuc2lvbnMg
KyAifCIgKyBvdGhlcl9leHRlbnNpb25zICsgIikiLAogICAgIGxvY2FsZV9pZCA9IGxhbmd1YWdl
ICsgIigtIiArIHNjcmlwdCArICIpPygtIiArIHJlZ2lvbiArICIpPygtIiArIHZhcmlhbnQgKyAi
KSooLSIgKyBleHRlbnNpb24gKyAiKSooLSIgKyBwcml2YXRldXNlICsgIik/IiwKICAgICBsYW5n
dWFnZVRhZyA9ICJeKCIgKyBsb2NhbGVfaWQgKyAiKSQiLAotICAgIGxhbmd1YWdlVGFnUkUgPSBu
ZXcgUmVnRXhwKGxhbmd1YWdlVGFnLCAiaSIpOworICAgIGxhbmd1YWdlVGFnUkUgPSBuZXcgUmVn
RXhwKGxhbmd1YWdlVGFnKTsKIAogICB2YXIgZHVwbGljYXRlU2luZ2xldG9uID0gIi0iICsgc2lu
Z2xldG9uICsgIi0oLiotKT9cXDEoPyEiICsgYWxwaGFudW0gKyAiKSIsCi0gICAgZHVwbGljYXRl
U2luZ2xldG9uUkUgPSBuZXcgUmVnRXhwKGR1cGxpY2F0ZVNpbmdsZXRvbiwgImkiKSwKLSAgICBk
dXBsaWNhdGVWYXJpYW50ID0gIigiICsgYWxwaGFudW0gKyAiezIsOH0tKSsiICsgdmFyaWFudCAr
ICItKCIgKyBhbHBoYW51bSArICJ7Miw4fS0pKlxcMyg/ISIgKyBhbHBoYW51bSArICIpIiwKLSAg
ICBkdXBsaWNhdGVWYXJpYW50UkUgPSBuZXcgUmVnRXhwKGR1cGxpY2F0ZVZhcmlhbnQsICJpIik7
CisgICAgZHVwbGljYXRlU2luZ2xldG9uUkUgPSBuZXcgUmVnRXhwKGR1cGxpY2F0ZVNpbmdsZXRv
biksCisgICAgZHVwbGljYXRlVmFyaWFudCA9ICIoIiArIGFscGhhbnVtICsgInsyLDh9LSkrIiAr
IHZhcmlhbnQgKyAiLSgiICsgYWxwaGFudW0gKyAiezIsOH0tKSpcXDIoPyEiICsgYWxwaGFudW0g
KyAiKSIsCisgICAgZHVwbGljYXRlVmFyaWFudFJFID0gbmV3IFJlZ0V4cChkdXBsaWNhdGVWYXJp
YW50KTsKIAorICB2YXIgdHJhbnNmb3JtS2V5UkUgPSBuZXcgUmVnRXhwKCJeIiArIGFscGhhICsg
ZGlnaXQgKyAiJCIpOwogCiAgIC8qKgogICAgKiBWZXJpZmllcyB0aGF0IHRoZSBnaXZlbiBzdHJp
bmcgaXMgYSB3ZWxsLWZvcm1lZCBVbmljb2RlIEJDUCA0NyBMb2NhbGUgSWRlbnRpZmllcgpAQCAt
MzE4LDcgKzMyMCw3IEBAIGZ1bmN0aW9uIGlzQ2Fub25pY2FsaXplZFN0cnVjdHVyYWxseVZhbGkK
ICAgICogTWFwcGluZ3MgZnJvbSBjb21wbGV0ZSB0YWdzIHRvIHByZWZlcnJlZCB2YWx1ZXMuCiAg
ICAqCiAgICAqIFNwZWM6IGh0dHA6Ly91bmljb2RlLm9yZy9yZXBvcnRzL3RyMzUvI0lkZW50aWZp
ZXJzCi0gICAqIFZlcnNpb246IENMRFIsIHZlcnNpb24gMzUKKyAgICogVmVyc2lvbjogQ0xEUiwg
dmVyc2lvbiAzNi4xCiAgICAqLwogICB2YXIgX190YWdNYXBwaW5ncyA9IHsKICAgICAvLyBwcm9w
ZXJ0eSBuYW1lcyBtdXN0IGJlIGluIGxvd2VyIGNhc2U7IHZhbHVlcyBpbiBjYW5vbmljYWwgZm9y
bQpAQCAtMzM1LDcgKzMzNyw3IEBAIGZ1bmN0aW9uIGlzQ2Fub25pY2FsaXplZFN0cnVjdHVyYWxs
eVZhbGkKICAgICogTWFwcGluZ3MgZnJvbSBsYW5ndWFnZSBzdWJ0YWdzIHRvIHByZWZlcnJlZCB2
YWx1ZXMuCiAgICAqCiAgICAqIFNwZWM6IGh0dHA6Ly91bmljb2RlLm9yZy9yZXBvcnRzL3RyMzUv
I0lkZW50aWZpZXJzCi0gICAqIFZlcnNpb246IENMRFIsIHZlcnNpb24gMzUKKyAgICogVmVyc2lv
bjogQ0xEUiwgdmVyc2lvbiAzNi4xCiAgICAqLwogICB2YXIgX19sYW5ndWFnZU1hcHBpbmdzID0g
ewogICAgIC8vIHByb3BlcnR5IG5hbWVzIGFuZCB2YWx1ZXMgbXVzdCBiZSBpbiBjYW5vbmljYWwg
Y2FzZQpAQCAtMzU0LDYgKzM1Niw3IEBAIGZ1bmN0aW9uIGlzQ2Fub25pY2FsaXplZFN0cnVjdHVy
YWxseVZhbGkKICAgICAiYXJiIjogImFyIiwKICAgICAiYXJnIjogImFuIiwKICAgICAiYXJtIjog
Imh5IiwKKyAgICAiYXNkIjogInNueiIsCiAgICAgImFzbSI6ICJhcyIsCiAgICAgImF1ZSI6ICJr
dHoiLAogICAgICJhdmEiOiAiYXYiLApAQCAtNDA5LDYgKzQxMiw3IEBAIGZ1bmN0aW9uIGlzQ2Fu
b25pY2FsaXplZFN0cnVjdHVyYWxseVZhbGkKICAgICAiZGhkIjogIm13ciIsCiAgICAgImRpayI6
ICJkaW4iLAogICAgICJkaXEiOiAienphIiwKKyAgICAiZGl0IjogImRpZiIsCiAgICAgImRpdiI6
ICJkdiIsCiAgICAgImRyaCI6ICJtbiIsCiAgICAgImR1dCI6ICJubCIsCkBAIC01MjQsNiArNTI4
LDcgQEAgZnVuY3Rpb24gaXNDYW5vbmljYWxpemVkU3RydWN0dXJhbGx5VmFsaQogICAgICJsaW0i
OiAibGkiLAogICAgICJsaW4iOiAibG4iLAogICAgICJsaXQiOiAibHQiLAorICAgICJsbG8iOiAi
bmd0IiwKICAgICAibG1tIjogInJteCIsCiAgICAgImx0eiI6ICJsYiIsCiAgICAgImx1YiI6ICJs
dSIsCkBAIC01NTAsNiArNTU1LDcgQEAgZnVuY3Rpb24gaXNDYW5vbmljYWxpemVkU3RydWN0dXJh
bGx5VmFsaQogICAgICJtdXAiOiAicmFqIiwKICAgICAibXdqIjogInZhaiIsCiAgICAgIm15YSI6
ICJteSIsCisgICAgIm15ZCI6ICJhb2ciLAogICAgICJteXQiOiAibXJ5IiwKICAgICAibmFkIjog
InhueSIsCiAgICAgIm5hdSI6ICJuYSIsCkBAIC01NjEsNiArNTY3LDcgQEAgZnVuY3Rpb24gaXND
YW5vbmljYWxpemVkU3RydWN0dXJhbGx5VmFsaQogICAgICJuZXAiOiAibmUiLAogICAgICJubGQi
OiAibmwiLAogICAgICJubm8iOiAibm4iLAorICAgICJubnMiOiAibmJyIiwKICAgICAibm54Ijog
Im5ndiIsCiAgICAgIm5vIjogIm5iIiwKICAgICAibm9iIjogIm5iIiwKQEAgLTY4OSwxNCArNjk2
LDE0IEBAIGZ1bmN0aW9uIGlzQ2Fub25pY2FsaXplZFN0cnVjdHVyYWxseVZhbGkKICAgICAienNt
IjogIm1zIiwKICAgICAienVsIjogInp1IiwKICAgICAienliIjogInphIiwKLSAgfQorICB9Owog
CiAKICAgLyoqCiAgICAqIE1hcHBpbmdzIGZyb20gcmVnaW9uIHN1YnRhZ3MgdG8gcHJlZmVycmVk
IHZhbHVlcy4KICAgICoKICAgICogU3BlYzogaHR0cDovL3VuaWNvZGUub3JnL3JlcG9ydHMvdHIz
NS8jSWRlbnRpZmllcnMKLSAgICogVmVyc2lvbjogQ0xEUiwgdmVyc2lvbiAzNQorICAgKiBWZXJz
aW9uOiBDTERSLCB2ZXJzaW9uIDM2LjEKICAgICovCiAgIHZhciBfX3JlZ2lvbk1hcHBpbmdzID0g
ewogICAgIC8vIHByb3BlcnR5IG5hbWVzIGFuZCB2YWx1ZXMgbXVzdCBiZSBpbiBjYW5vbmljYWwg
Y2FzZQpAQCAtMTAyOCw2ICsxMDM1LDU1MiBAQCBmdW5jdGlvbiBpc0Nhbm9uaWNhbGl6ZWRTdHJ1
Y3R1cmFsbHlWYWxpCiAKIAogICAvKioKKyAgICogQ29tcGxleCBtYXBwaW5ncyBmcm9tIGxhbmd1
YWdlIHN1YnRhZ3MgdG8gcHJlZmVycmVkIHZhbHVlcy4KKyAgICoKKyAgICogU3BlYzogaHR0cDov
L3VuaWNvZGUub3JnL3JlcG9ydHMvdHIzNS8jSWRlbnRpZmllcnMKKyAgICogVmVyc2lvbjogQ0xE
UiwgdmVyc2lvbiAzNi4xCisgICAqLworICB2YXIgX19jb21wbGV4TGFuZ3VhZ2VNYXBwaW5ncyA9
IHsKKyAgICAvLyBwcm9wZXJ0eSBuYW1lcyBhbmQgdmFsdWVzIG11c3QgYmUgaW4gY2Fub25pY2Fs
IGNhc2UKKworICAgICJjbnIiOiB7bGFuZ3VhZ2U6ICJzciIsIHJlZ2lvbjogIk1FIn0sCisgICAg
ImRydyI6IHtsYW5ndWFnZTogImZhIiwgcmVnaW9uOiAiQUYifSwKKyAgICAiaGJzIjoge2xhbmd1
YWdlOiAic3IiLCBzY3JpcHQ6ICJMYXRuIn0sCisgICAgInBycyI6IHtsYW5ndWFnZTogImZhIiwg
cmVnaW9uOiAiQUYifSwKKyAgICAic2giOiB7bGFuZ3VhZ2U6ICJzciIsIHNjcmlwdDogIkxhdG4i
fSwKKyAgICAic3djIjoge2xhbmd1YWdlOiAic3ciLCByZWdpb246ICJDRCJ9LAorICAgICJ0bmYi
OiB7bGFuZ3VhZ2U6ICJmYSIsIHJlZ2lvbjogIkFGIn0sCisgIH07CisKKworICAvKioKKyAgICog
Q29tcGxleCBtYXBwaW5ncyBmcm9tIHJlZ2lvbiBzdWJ0YWdzIHRvIHByZWZlcnJlZCB2YWx1ZXMu
CisgICAqCisgICAqIFNwZWM6IGh0dHA6Ly91bmljb2RlLm9yZy9yZXBvcnRzL3RyMzUvI0lkZW50
aWZpZXJzCisgICAqIFZlcnNpb246IENMRFIsIHZlcnNpb24gMzYuMQorICAgKi8KKyAgdmFyIF9f
Y29tcGxleFJlZ2lvbk1hcHBpbmdzID0geworICAgIC8vIHByb3BlcnR5IG5hbWVzIGFuZCB2YWx1
ZXMgbXVzdCBiZSBpbiBjYW5vbmljYWwgY2FzZQorCisgICAgIjE3MiI6IHsKKyAgICAgIGRlZmF1
bHQ6ICJSVSIsCisgICAgICAiYWIiOiAiR0UiLAorICAgICAgImF6IjogIkFaIiwKKyAgICAgICJi
ZSI6ICJCWSIsCisgICAgICAiY3JoIjogIlVBIiwKKyAgICAgICJnYWciOiAiTUQiLAorICAgICAg
ImdvdCI6ICJVQSIsCisgICAgICAiaHkiOiAiQU0iLAorICAgICAgImppIjogIlVBIiwKKyAgICAg
ICJrYSI6ICJHRSIsCisgICAgICAia2FhIjogIlVaIiwKKyAgICAgICJrayI6ICJLWiIsCisgICAg
ICAia3UtWWV6aSI6ICJHRSIsCisgICAgICAia3kiOiAiS0ciLAorICAgICAgIm9zIjogIkdFIiwK
KyAgICAgICJydWUiOiAiVUEiLAorICAgICAgInNvZyI6ICJVWiIsCisgICAgICAidGciOiAiVEoi
LAorICAgICAgInRrIjogIlRNIiwKKyAgICAgICJ0a3IiOiAiQVoiLAorICAgICAgInRseSI6ICJB
WiIsCisgICAgICAidHR0IjogIkFaIiwKKyAgICAgICJ1Zy1DeXJsIjogIktaIiwKKyAgICAgICJ1
ayI6ICJVQSIsCisgICAgICAidW5kLUFybW4iOiAiQU0iLAorICAgICAgInVuZC1DaHJzIjogIlVa
IiwKKyAgICAgICJ1bmQtR2VvciI6ICJHRSIsCisgICAgICAidW5kLUdvdGgiOiAiVUEiLAorICAg
ICAgInVuZC1Tb2dkIjogIlVaIiwKKyAgICAgICJ1bmQtU29nbyI6ICJVWiIsCisgICAgICAidW5k
LVllemkiOiAiR0UiLAorICAgICAgInV6IjogIlVaIiwKKyAgICAgICJ4Y28iOiAiVVoiLAorICAg
ICAgInhtZiI6ICJHRSIsCisgICAgfSwKKyAgICAiMjAwIjogeworICAgICAgZGVmYXVsdDogIkNa
IiwKKyAgICAgICJzayI6ICJTSyIsCisgICAgfSwKKyAgICAiNTMwIjogeworICAgICAgZGVmYXVs
dDogIkNXIiwKKyAgICAgICJ2aWMiOiAiU1giLAorICAgIH0sCisgICAgIjUzMiI6IHsKKyAgICAg
IGRlZmF1bHQ6ICJDVyIsCisgICAgICAidmljIjogIlNYIiwKKyAgICB9LAorICAgICI1MzYiOiB7
CisgICAgICBkZWZhdWx0OiAiU0EiLAorICAgICAgImFrayI6ICJJUSIsCisgICAgICAiY2tiIjog
IklRIiwKKyAgICAgICJrdS1BcmFiIjogIklRIiwKKyAgICAgICJtaXMiOiAiSVEiLAorICAgICAg
InN5ciI6ICJJUSIsCisgICAgICAidW5kLUhhdHIiOiAiSVEiLAorICAgICAgInVuZC1TeXJjIjog
IklRIiwKKyAgICAgICJ1bmQtWHN1eCI6ICJJUSIsCisgICAgfSwKKyAgICAiNTgyIjogeworICAg
ICAgZGVmYXVsdDogIkZNIiwKKyAgICAgICJtaCI6ICJNSCIsCisgICAgICAicGF1IjogIlBXIiwK
KyAgICB9LAorICAgICI4MTAiOiB7CisgICAgICBkZWZhdWx0OiAiUlUiLAorICAgICAgImFiIjog
IkdFIiwKKyAgICAgICJheiI6ICJBWiIsCisgICAgICAiYmUiOiAiQlkiLAorICAgICAgImNyaCI6
ICJVQSIsCisgICAgICAiZXQiOiAiRUUiLAorICAgICAgImdhZyI6ICJNRCIsCisgICAgICAiZ290
IjogIlVBIiwKKyAgICAgICJoeSI6ICJBTSIsCisgICAgICAiamkiOiAiVUEiLAorICAgICAgImth
IjogIkdFIiwKKyAgICAgICJrYWEiOiAiVVoiLAorICAgICAgImtrIjogIktaIiwKKyAgICAgICJr
dS1ZZXppIjogIkdFIiwKKyAgICAgICJreSI6ICJLRyIsCisgICAgICAibHQiOiAiTFQiLAorICAg
ICAgImx0ZyI6ICJMViIsCisgICAgICAibHYiOiAiTFYiLAorICAgICAgIm9zIjogIkdFIiwKKyAg
ICAgICJydWUiOiAiVUEiLAorICAgICAgInNncyI6ICJMVCIsCisgICAgICAic29nIjogIlVaIiwK
KyAgICAgICJ0ZyI6ICJUSiIsCisgICAgICAidGsiOiAiVE0iLAorICAgICAgInRrciI6ICJBWiIs
CisgICAgICAidGx5IjogIkFaIiwKKyAgICAgICJ0dHQiOiAiQVoiLAorICAgICAgInVnLUN5cmwi
OiAiS1oiLAorICAgICAgInVrIjogIlVBIiwKKyAgICAgICJ1bmQtQXJtbiI6ICJBTSIsCisgICAg
ICAidW5kLUNocnMiOiAiVVoiLAorICAgICAgInVuZC1HZW9yIjogIkdFIiwKKyAgICAgICJ1bmQt
R290aCI6ICJVQSIsCisgICAgICAidW5kLVNvZ2QiOiAiVVoiLAorICAgICAgInVuZC1Tb2dvIjog
IlVaIiwKKyAgICAgICJ1bmQtWWV6aSI6ICJHRSIsCisgICAgICAidXoiOiAiVVoiLAorICAgICAg
InZybyI6ICJFRSIsCisgICAgICAieGNvIjogIlVaIiwKKyAgICAgICJ4bWYiOiAiR0UiLAorICAg
IH0sCisgICAgIjg5MCI6IHsKKyAgICAgIGRlZmF1bHQ6ICJSUyIsCisgICAgICAiYnMiOiAiQkEi
LAorICAgICAgImhyIjogIkhSIiwKKyAgICAgICJtayI6ICJNSyIsCisgICAgICAic2wiOiAiU0ki
LAorICAgIH0sCisgICAgIkFOIjogeworICAgICAgZGVmYXVsdDogIkNXIiwKKyAgICAgICJ2aWMi
OiAiU1giLAorICAgIH0sCisgICAgIk5UIjogeworICAgICAgZGVmYXVsdDogIlNBIiwKKyAgICAg
ICJha2siOiAiSVEiLAorICAgICAgImNrYiI6ICJJUSIsCisgICAgICAia3UtQXJhYiI6ICJJUSIs
CisgICAgICAibWlzIjogIklRIiwKKyAgICAgICJzeXIiOiAiSVEiLAorICAgICAgInVuZC1IYXRy
IjogIklRIiwKKyAgICAgICJ1bmQtU3lyYyI6ICJJUSIsCisgICAgICAidW5kLVhzdXgiOiAiSVEi
LAorICAgIH0sCisgICAgIlBDIjogeworICAgICAgZGVmYXVsdDogIkZNIiwKKyAgICAgICJtaCI6
ICJNSCIsCisgICAgICAicGF1IjogIlBXIiwKKyAgICB9LAorICAgICJTVSI6IHsKKyAgICAgIGRl
ZmF1bHQ6ICJSVSIsCisgICAgICAiYWIiOiAiR0UiLAorICAgICAgImF6IjogIkFaIiwKKyAgICAg
ICJiZSI6ICJCWSIsCisgICAgICAiY3JoIjogIlVBIiwKKyAgICAgICJldCI6ICJFRSIsCisgICAg
ICAiZ2FnIjogIk1EIiwKKyAgICAgICJnb3QiOiAiVUEiLAorICAgICAgImh5IjogIkFNIiwKKyAg
ICAgICJqaSI6ICJVQSIsCisgICAgICAia2EiOiAiR0UiLAorICAgICAgImthYSI6ICJVWiIsCisg
ICAgICAia2siOiAiS1oiLAorICAgICAgImt1LVllemkiOiAiR0UiLAorICAgICAgImt5IjogIktH
IiwKKyAgICAgICJsdCI6ICJMVCIsCisgICAgICAibHRnIjogIkxWIiwKKyAgICAgICJsdiI6ICJM
ViIsCisgICAgICAib3MiOiAiR0UiLAorICAgICAgInJ1ZSI6ICJVQSIsCisgICAgICAic2dzIjog
IkxUIiwKKyAgICAgICJzb2ciOiAiVVoiLAorICAgICAgInRnIjogIlRKIiwKKyAgICAgICJ0ayI6
ICJUTSIsCisgICAgICAidGtyIjogIkFaIiwKKyAgICAgICJ0bHkiOiAiQVoiLAorICAgICAgInR0
dCI6ICJBWiIsCisgICAgICAidWctQ3lybCI6ICJLWiIsCisgICAgICAidWsiOiAiVUEiLAorICAg
ICAgInVuZC1Bcm1uIjogIkFNIiwKKyAgICAgICJ1bmQtQ2hycyI6ICJVWiIsCisgICAgICAidW5k
LUdlb3IiOiAiR0UiLAorICAgICAgInVuZC1Hb3RoIjogIlVBIiwKKyAgICAgICJ1bmQtU29nZCI6
ICJVWiIsCisgICAgICAidW5kLVNvZ28iOiAiVVoiLAorICAgICAgInVuZC1ZZXppIjogIkdFIiwK
KyAgICAgICJ1eiI6ICJVWiIsCisgICAgICAidnJvIjogIkVFIiwKKyAgICAgICJ4Y28iOiAiVVoi
LAorICAgICAgInhtZiI6ICJHRSIsCisgICAgfSwKKyAgfTsKKworCisgIC8qKgorICAgKiBNYXBw
aW5ncyBmcm9tIHZhcmlhbnQgc3VidGFncyB0byBwcmVmZXJyZWQgdmFsdWVzLgorICAgKgorICAg
KiBTcGVjOiBodHRwOi8vdW5pY29kZS5vcmcvcmVwb3J0cy90cjM1LyNJZGVudGlmaWVycworICAg
KiBWZXJzaW9uOiBDTERSLCB2ZXJzaW9uIDM2LjEKKyAgICovCisgIHZhciBfX3ZhcmlhbnRNYXBw
aW5ncyA9IHsKKyAgICAvLyBwcm9wZXJ0eSBuYW1lcyBhbmQgdmFsdWVzIG11c3QgYmUgaW4gY2Fu
b25pY2FsIGNhc2UKKworICAgICJhYWxhbmQiOiB7dHlwZTogInJlZ2lvbiIsIHJlcGxhY2VtZW50
OiAiQVgifSwKKyAgICAiYXJldmVsYSI6IHt0eXBlOiAibGFuZ3VhZ2UiLCByZXBsYWNlbWVudDog
Imh5In0sCisgICAgImFyZXZtZGEiOiB7dHlwZTogImxhbmd1YWdlIiwgcmVwbGFjZW1lbnQ6ICJo
eXcifSwKKyAgICAiaGVwbG9jIjoge3R5cGU6ICJ2YXJpYW50IiwgcmVwbGFjZW1lbnQ6ICJhbGFs
Yzk3In0sCisgICAgInBvbHl0b25pIjoge3R5cGU6ICJ2YXJpYW50IiwgcmVwbGFjZW1lbnQ6ICJw
b2x5dG9uIn0sCisgIH07CisKKworICAvKioKKyAgICogTWFwcGluZ3MgZnJvbSBVbmljb2RlIGV4
dGVuc2lvbiBzdWJ0YWdzIHRvIHByZWZlcnJlZCB2YWx1ZXMuCisgICAqCisgICAqIFNwZWM6IGh0
dHA6Ly91bmljb2RlLm9yZy9yZXBvcnRzL3RyMzUvI0lkZW50aWZpZXJzCisgICAqIFZlcnNpb246
IENMRFIsIHZlcnNpb24gMzYuMQorICAgKi8KKyAgdmFyIF9fdW5pY29kZU1hcHBpbmdzID0gewor
ICAgIC8vIHByb3BlcnR5IG5hbWVzIGFuZCB2YWx1ZXMgbXVzdCBiZSBpbiBjYW5vbmljYWwgY2Fz
ZQorCisgICAgImNhIjogeworICAgICAgImV0aGlvcGljLWFtZXRlLWFsZW0iOiAiZXRoaW9hYSIs
CisgICAgICAiaXNsYW1pY2MiOiAiaXNsYW1pYy1jaXZpbCIsCisgICAgfSwKKyAgICAia2IiOiB7
CisgICAgICAieWVzIjogInRydWUiLAorICAgIH0sCisgICAgImtjIjogeworICAgICAgInllcyI6
ICJ0cnVlIiwKKyAgICB9LAorICAgICJraCI6IHsKKyAgICAgICJ5ZXMiOiAidHJ1ZSIsCisgICAg
fSwKKyAgICAia2siOiB7CisgICAgICAieWVzIjogInRydWUiLAorICAgIH0sCisgICAgImtuIjog
eworICAgICAgInllcyI6ICJ0cnVlIiwKKyAgICB9LAorICAgICJrcyI6IHsKKyAgICAgICJwcmlt
YXJ5IjogImxldmVsMSIsCisgICAgICAidGVydGlhcnkiOiAibGV2ZWwzIiwKKyAgICB9LAorICAg
ICJtcyI6IHsKKyAgICAgICJpbXBlcmlhbCI6ICJ1a3N5c3RlbSIsCisgICAgfSwKKyAgICAicmci
OiB7CisgICAgICAiY24xMSI6ICJjbmJqIiwKKyAgICAgICJjbjEyIjogImNudGoiLAorICAgICAg
ImNuMTMiOiAiY25oZSIsCisgICAgICAiY24xNCI6ICJjbnN4IiwKKyAgICAgICJjbjE1IjogImNu
bW4iLAorICAgICAgImNuMjEiOiAiY25sbiIsCisgICAgICAiY24yMiI6ICJjbmpsIiwKKyAgICAg
ICJjbjIzIjogImNuaGwiLAorICAgICAgImNuMzEiOiAiY25zaCIsCisgICAgICAiY24zMiI6ICJj
bmpzIiwKKyAgICAgICJjbjMzIjogImNuemoiLAorICAgICAgImNuMzQiOiAiY25haCIsCisgICAg
ICAiY24zNSI6ICJjbmZqIiwKKyAgICAgICJjbjM2IjogImNuangiLAorICAgICAgImNuMzciOiAi
Y25zZCIsCisgICAgICAiY240MSI6ICJjbmhhIiwKKyAgICAgICJjbjQyIjogImNuaGIiLAorICAg
ICAgImNuNDMiOiAiY25obiIsCisgICAgICAiY240NCI6ICJjbmdkIiwKKyAgICAgICJjbjQ1Ijog
ImNuZ3giLAorICAgICAgImNuNDYiOiAiY25oaSIsCisgICAgICAiY241MCI6ICJjbmNxIiwKKyAg
ICAgICJjbjUxIjogImNuc2MiLAorICAgICAgImNuNTIiOiAiY25neiIsCisgICAgICAiY241MyI6
ICJjbnluIiwKKyAgICAgICJjbjU0IjogImNueHoiLAorICAgICAgImNuNjEiOiAiY25zbiIsCisg
ICAgICAiY242MiI6ICJjbmdzIiwKKyAgICAgICJjbjYzIjogImNucWgiLAorICAgICAgImNuNjQi
OiAiY25ueCIsCisgICAgICAiY242NSI6ICJjbnhqIiwKKyAgICAgICJjejEwYSI6ICJjejExMCIs
CisgICAgICAiY3oxMGIiOiAiY3oxMTEiLAorICAgICAgImN6MTBjIjogImN6MTEyIiwKKyAgICAg
ICJjejEwZCI6ICJjejExMyIsCisgICAgICAiY3oxMGUiOiAiY3oxMTQiLAorICAgICAgImN6MTBm
IjogImN6MTE1IiwKKyAgICAgICJjejYxMSI6ICJjejY2MyIsCisgICAgICAiY3o2MTIiOiAiY3o2
MzIiLAorICAgICAgImN6NjEzIjogImN6NjMzIiwKKyAgICAgICJjejYxNCI6ICJjejYzNCIsCisg
ICAgICAiY3o2MTUiOiAiY3o2MzUiLAorICAgICAgImN6NjIxIjogImN6NjQxIiwKKyAgICAgICJj
ejYyMiI6ICJjejY0MiIsCisgICAgICAiY3o2MjMiOiAiY3o2NDMiLAorICAgICAgImN6NjI0Ijog
ImN6NjQ0IiwKKyAgICAgICJjejYyNiI6ICJjejY0NiIsCisgICAgICAiY3o2MjciOiAiY3o2NDci
LAorICAgICAgImN6amMiOiAiY3ozMSIsCisgICAgICAiY3pqbSI6ICJjejY0IiwKKyAgICAgICJj
emthIjogImN6NDEiLAorICAgICAgImN6a3IiOiAiY3o1MiIsCisgICAgICAiY3psaSI6ICJjejUx
IiwKKyAgICAgICJjem1vIjogImN6ODAiLAorICAgICAgImN6b2wiOiAiY3o3MSIsCisgICAgICAi
Y3pwYSI6ICJjejUzIiwKKyAgICAgICJjenBsIjogImN6MzIiLAorICAgICAgImN6cHIiOiAiY3ox
MCIsCisgICAgICAiY3pzdCI6ICJjejIwIiwKKyAgICAgICJjenVzIjogImN6NDIiLAorICAgICAg
ImN6dnkiOiAiY3o2MyIsCisgICAgICAiY3p6bCI6ICJjejcyIiwKKyAgICAgICJmcmEiOiAiZnJn
ZXMiLAorICAgICAgImZyYiI6ICJmcm5hcSIsCisgICAgICAiZnJjIjogImZyYXJhIiwKKyAgICAg
ICJmcmQiOiAiZnJiZmMiLAorICAgICAgImZyZSI6ICJmcmJyZSIsCisgICAgICAiZnJmIjogImZy
Y3ZsIiwKKyAgICAgICJmcmciOiAiZnJnZXMiLAorICAgICAgImZyaCI6ICJmcmNvciIsCisgICAg
ICAiZnJpIjogImZyYmZjIiwKKyAgICAgICJmcmoiOiAiZnJpZGYiLAorICAgICAgImZyayI6ICJm
cm9jYyIsCisgICAgICAiZnJsIjogImZybmFxIiwKKyAgICAgICJmcm0iOiAiZnJnZXMiLAorICAg
ICAgImZybiI6ICJmcm9jYyIsCisgICAgICAiZnJvIjogImZyaGRmIiwKKyAgICAgICJmcnAiOiAi
ZnJub3IiLAorICAgICAgImZycSI6ICJmcm5vciIsCisgICAgICAiZnJyIjogImZycGRsIiwKKyAg
ICAgICJmcnMiOiAiZnJoZGYiLAorICAgICAgImZydCI6ICJmcm5hcSIsCisgICAgICAiZnJ1Ijog
ImZycGFjIiwKKyAgICAgICJmcnYiOiAiZnJhcmEiLAorICAgICAgImxheG4iOiAibGF4cyIsCisg
ICAgICAibHVkIjogImx1Y2wiLAorICAgICAgImx1ZyI6ICJsdWVjIiwKKyAgICAgICJsdWwiOiAi
bHVjYSIsCisgICAgICAibXJua2MiOiAibXIxMyIsCisgICAgICAibm8yMyI6ICJubzUwIiwKKyAg
ICAgICJuem4iOiAibnphdWsiLAorICAgICAgIm56cyI6ICJuemNhbiIsCisgICAgICAib21iYSI6
ICJvbWJqIiwKKyAgICAgICJvbXNoIjogIm9tc2oiLAorICAgICAgInBsZHMiOiAicGwwMiIsCisg
ICAgICAicGxrcCI6ICJwbDA0IiwKKyAgICAgICJwbGxiIjogInBsMDgiLAorICAgICAgInBsbGQi
OiAicGwxMCIsCisgICAgICAicGxsdSI6ICJwbDA2IiwKKyAgICAgICJwbG1hIjogInBsMTIiLAor
ICAgICAgInBsbXoiOiAicGwxNCIsCisgICAgICAicGxvcCI6ICJwbDE2IiwKKyAgICAgICJwbHBk
IjogInBsMjAiLAorICAgICAgInBscGsiOiAicGwxOCIsCisgICAgICAicGxwbSI6ICJwbDIyIiwK
KyAgICAgICJwbHNrIjogInBsMjYiLAorICAgICAgInBsc2wiOiAicGwyNCIsCisgICAgICAicGx3
biI6ICJwbDI4IiwKKyAgICAgICJwbHdwIjogInBsMzAiLAorICAgICAgInBsenAiOiAicGwzMiIs
CisgICAgICAidHRldG8iOiAidHR0b2IiLAorICAgICAgInR0cmNtIjogInR0bXJjIiwKKyAgICAg
ICJ0dHd0byI6ICJ0dHRvYiIsCisgICAgICAidHdraHEiOiAidHdraGgiLAorICAgICAgInR3dG5x
IjogInR3dG5uIiwKKyAgICAgICJ0d3RwcSI6ICJ0d253dCIsCisgICAgICAidHd0eHEiOiAidHd0
eGciLAorICAgIH0sCisgICAgInNkIjogeworICAgICAgImNuMTEiOiAiY25iaiIsCisgICAgICAi
Y24xMiI6ICJjbnRqIiwKKyAgICAgICJjbjEzIjogImNuaGUiLAorICAgICAgImNuMTQiOiAiY25z
eCIsCisgICAgICAiY24xNSI6ICJjbm1uIiwKKyAgICAgICJjbjIxIjogImNubG4iLAorICAgICAg
ImNuMjIiOiAiY25qbCIsCisgICAgICAiY24yMyI6ICJjbmhsIiwKKyAgICAgICJjbjMxIjogImNu
c2giLAorICAgICAgImNuMzIiOiAiY25qcyIsCisgICAgICAiY24zMyI6ICJjbnpqIiwKKyAgICAg
ICJjbjM0IjogImNuYWgiLAorICAgICAgImNuMzUiOiAiY25maiIsCisgICAgICAiY24zNiI6ICJj
bmp4IiwKKyAgICAgICJjbjM3IjogImNuc2QiLAorICAgICAgImNuNDEiOiAiY25oYSIsCisgICAg
ICAiY240MiI6ICJjbmhiIiwKKyAgICAgICJjbjQzIjogImNuaG4iLAorICAgICAgImNuNDQiOiAi
Y25nZCIsCisgICAgICAiY240NSI6ICJjbmd4IiwKKyAgICAgICJjbjQ2IjogImNuaGkiLAorICAg
ICAgImNuNTAiOiAiY25jcSIsCisgICAgICAiY241MSI6ICJjbnNjIiwKKyAgICAgICJjbjUyIjog
ImNuZ3oiLAorICAgICAgImNuNTMiOiAiY255biIsCisgICAgICAiY241NCI6ICJjbnh6IiwKKyAg
ICAgICJjbjYxIjogImNuc24iLAorICAgICAgImNuNjIiOiAiY25ncyIsCisgICAgICAiY242MyI6
ICJjbnFoIiwKKyAgICAgICJjbjY0IjogImNubngiLAorICAgICAgImNuNjUiOiAiY254aiIsCisg
ICAgICAiY3oxMGEiOiAiY3oxMTAiLAorICAgICAgImN6MTBiIjogImN6MTExIiwKKyAgICAgICJj
ejEwYyI6ICJjejExMiIsCisgICAgICAiY3oxMGQiOiAiY3oxMTMiLAorICAgICAgImN6MTBlIjog
ImN6MTE0IiwKKyAgICAgICJjejEwZiI6ICJjejExNSIsCisgICAgICAiY3o2MTEiOiAiY3o2NjMi
LAorICAgICAgImN6NjEyIjogImN6NjMyIiwKKyAgICAgICJjejYxMyI6ICJjejYzMyIsCisgICAg
ICAiY3o2MTQiOiAiY3o2MzQiLAorICAgICAgImN6NjE1IjogImN6NjM1IiwKKyAgICAgICJjejYy
MSI6ICJjejY0MSIsCisgICAgICAiY3o2MjIiOiAiY3o2NDIiLAorICAgICAgImN6NjIzIjogImN6
NjQzIiwKKyAgICAgICJjejYyNCI6ICJjejY0NCIsCisgICAgICAiY3o2MjYiOiAiY3o2NDYiLAor
ICAgICAgImN6NjI3IjogImN6NjQ3IiwKKyAgICAgICJjempjIjogImN6MzEiLAorICAgICAgImN6
am0iOiAiY3o2NCIsCisgICAgICAiY3prYSI6ICJjejQxIiwKKyAgICAgICJjemtyIjogImN6NTIi
LAorICAgICAgImN6bGkiOiAiY3o1MSIsCisgICAgICAiY3ptbyI6ICJjejgwIiwKKyAgICAgICJj
em9sIjogImN6NzEiLAorICAgICAgImN6cGEiOiAiY3o1MyIsCisgICAgICAiY3pwbCI6ICJjejMy
IiwKKyAgICAgICJjenByIjogImN6MTAiLAorICAgICAgImN6c3QiOiAiY3oyMCIsCisgICAgICAi
Y3p1cyI6ICJjejQyIiwKKyAgICAgICJjenZ5IjogImN6NjMiLAorICAgICAgImN6emwiOiAiY3o3
MiIsCisgICAgICAiZnJhIjogImZyZ2VzIiwKKyAgICAgICJmcmIiOiAiZnJuYXEiLAorICAgICAg
ImZyYyI6ICJmcmFyYSIsCisgICAgICAiZnJkIjogImZyYmZjIiwKKyAgICAgICJmcmUiOiAiZnJi
cmUiLAorICAgICAgImZyZiI6ICJmcmN2bCIsCisgICAgICAiZnJnIjogImZyZ2VzIiwKKyAgICAg
ICJmcmgiOiAiZnJjb3IiLAorICAgICAgImZyaSI6ICJmcmJmYyIsCisgICAgICAiZnJqIjogImZy
aWRmIiwKKyAgICAgICJmcmsiOiAiZnJvY2MiLAorICAgICAgImZybCI6ICJmcm5hcSIsCisgICAg
ICAiZnJtIjogImZyZ2VzIiwKKyAgICAgICJmcm4iOiAiZnJvY2MiLAorICAgICAgImZybyI6ICJm
cmhkZiIsCisgICAgICAiZnJwIjogImZybm9yIiwKKyAgICAgICJmcnEiOiAiZnJub3IiLAorICAg
ICAgImZyciI6ICJmcnBkbCIsCisgICAgICAiZnJzIjogImZyaGRmIiwKKyAgICAgICJmcnQiOiAi
ZnJuYXEiLAorICAgICAgImZydSI6ICJmcnBhYyIsCisgICAgICAiZnJ2IjogImZyYXJhIiwKKyAg
ICAgICJsYXhuIjogImxheHMiLAorICAgICAgImx1ZCI6ICJsdWNsIiwKKyAgICAgICJsdWciOiAi
bHVlYyIsCisgICAgICAibHVsIjogImx1Y2EiLAorICAgICAgIm1ybmtjIjogIm1yMTMiLAorICAg
ICAgIm5vMjMiOiAibm81MCIsCisgICAgICAibnpuIjogIm56YXVrIiwKKyAgICAgICJuenMiOiAi
bnpjYW4iLAorICAgICAgIm9tYmEiOiAib21iaiIsCisgICAgICAib21zaCI6ICJvbXNqIiwKKyAg
ICAgICJwbGRzIjogInBsMDIiLAorICAgICAgInBsa3AiOiAicGwwNCIsCisgICAgICAicGxsYiI6
ICJwbDA4IiwKKyAgICAgICJwbGxkIjogInBsMTAiLAorICAgICAgInBsbHUiOiAicGwwNiIsCisg
ICAgICAicGxtYSI6ICJwbDEyIiwKKyAgICAgICJwbG16IjogInBsMTQiLAorICAgICAgInBsb3Ai
OiAicGwxNiIsCisgICAgICAicGxwZCI6ICJwbDIwIiwKKyAgICAgICJwbHBrIjogInBsMTgiLAor
ICAgICAgInBscG0iOiAicGwyMiIsCisgICAgICAicGxzayI6ICJwbDI2IiwKKyAgICAgICJwbHNs
IjogInBsMjQiLAorICAgICAgInBsd24iOiAicGwyOCIsCisgICAgICAicGx3cCI6ICJwbDMwIiwK
KyAgICAgICJwbHpwIjogInBsMzIiLAorICAgICAgInR0ZXRvIjogInR0dG9iIiwKKyAgICAgICJ0
dHJjbSI6ICJ0dG1yYyIsCisgICAgICAidHR3dG8iOiAidHR0b2IiLAorICAgICAgInR3a2hxIjog
InR3a2hoIiwKKyAgICAgICJ0d3RucSI6ICJ0d3RubiIsCisgICAgICAidHd0cHEiOiAidHdud3Qi
LAorICAgICAgInR3dHhxIjogInR3dHhnIiwKKyAgICB9LAorICAgICJ0eiI6IHsKKyAgICAgICJh
cWFtcyI6ICJuemFrbCIsCisgICAgICAiY25ja2ciOiAiY25zaGEiLAorICAgICAgImNuaHJiIjog
ImNuc2hhIiwKKyAgICAgICJjbmtoZyI6ICJjbnVyYyIsCisgICAgICAiY3ViYSI6ICJjdWhhdiIs
CisgICAgICAiZWd5cHQiOiAiZWdjYWkiLAorICAgICAgImVpcmUiOiAiaWVkdWIiLAorICAgICAg
ImVzdCI6ICJ1dGN3MDUiLAorICAgICAgImdtdDAiOiAiZ210IiwKKyAgICAgICJob25na29uZyI6
ICJoa2hrZyIsCisgICAgICAiaHN0IjogInV0Y3cxMCIsCisgICAgICAiaWNlbGFuZCI6ICJpc3Jl
eSIsCisgICAgICAiaXJhbiI6ICJpcnRociIsCisgICAgICAiaXNyYWVsIjogImplcnVzbG0iLAor
ICAgICAgImphbWFpY2EiOiAiam1raW4iLAorICAgICAgImphcGFuIjogImpwdHlvIiwKKyAgICAg
ICJsaWJ5YSI6ICJseXRpcCIsCisgICAgICAibXN0IjogInV0Y3cwNyIsCisgICAgICAibmF2YWpv
IjogInVzZGVuIiwKKyAgICAgICJwb2xhbmQiOiAicGx3YXciLAorICAgICAgInBvcnR1Z2FsIjog
InB0bGlzIiwKKyAgICAgICJwcmMiOiAiY25zaGEiLAorICAgICAgInJvYyI6ICJ0d3RwZSIsCisg
ICAgICAicm9rIjogImtyc2VsIiwKKyAgICAgICJ0dXJrZXkiOiAidHJpc3QiLAorICAgICAgInVj
dCI6ICJ1dGMiLAorICAgICAgInVzbmF2YWpvIjogInVzZGVuIiwKKyAgICAgICJ6dWx1IjogInV0
YyIsCisgICAgfSwKKyAgfTsKKworCisgIC8qKgorICAgKiBNYXBwaW5ncyBmcm9tIFVuaWNvZGUg
ZXh0ZW5zaW9uIHN1YnRhZ3MgdG8gcHJlZmVycmVkIHZhbHVlcy4KKyAgICoKKyAgICogU3BlYzog
aHR0cDovL3VuaWNvZGUub3JnL3JlcG9ydHMvdHIzNS8jSWRlbnRpZmllcnMKKyAgICogVmVyc2lv
bjogQ0xEUiwgdmVyc2lvbiAzNi4xCisgICAqLworICB2YXIgX190cmFuc2Zvcm1NYXBwaW5ncyA9
IHsKKyAgICAvLyBwcm9wZXJ0eSBuYW1lcyBhbmQgdmFsdWVzIG11c3QgYmUgaW4gY2Fub25pY2Fs
IGNhc2UKKworICAgICJkMCI6IHsKKyAgICAgICJuYW1lIjogImNoYXJuYW1lIiwKKyAgICB9LAor
ICAgICJtMCI6IHsKKyAgICAgICJuYW1lcyI6ICJwcnBybmFtZSIsCisgICAgfSwKKyAgfTsKKwor
ICAvKioKICAgICogQ2Fub25pY2FsaXplcyB0aGUgZ2l2ZW4gd2VsbC1mb3JtZWQgQkNQIDQ3IGxh
bmd1YWdlIHRhZywgaW5jbHVkaW5nIHJlZ3VsYXJpemVkIGNhc2Ugb2Ygc3VidGFncy4KICAgICoK
ICAgICogU3BlYzogRUNNQVNjcmlwdCBJbnRlcm5hdGlvbmFsaXphdGlvbiBBUEkgU3BlY2lmaWNh
dGlvbiwgZHJhZnQsIDYuMi4zLgpAQCAtMTA2NiwxOTUgKzE2MTksMzMgQEAgZnVuY3Rpb24gaXND
YW5vbmljYWxpemVkU3RydWN0dXJhbGx5VmFsaQogCiAgICAgaWYgKF9fbGFuZ3VhZ2VNYXBwaW5n
cy5oYXNPd25Qcm9wZXJ0eShsYW5ndWFnZSkpIHsKICAgICAgIGxhbmd1YWdlID0gX19sYW5ndWFn
ZU1hcHBpbmdzW2xhbmd1YWdlXTsKLSAgICB9IGVsc2UgewotICAgICAgLy8gTGFuZ3VhZ2Ugc3Vi
dGFncyB3aXRoIGNvbXBsZXggbWFwcGluZ3MsIENMRFIgMzUuCi0gICAgICBzd2l0Y2ggKGxhbmd1
YWdlKSB7Ci0gICAgICBjYXNlICJjbnIiOgotICAgICAgICBsYW5ndWFnZSA9ICJzciI7Ci0gICAg
ICAgIGlmIChyZWdpb24gPT09IHVuZGVmaW5lZCkgewotICAgICAgICAgIHJlZ2lvbiA9ICJNRSI7
Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlICJkcnciOgotICAgICAgY2Fz
ZSAicHJzIjoKLSAgICAgIGNhc2UgInRuZiI6Ci0gICAgICAgIGxhbmd1YWdlID0gImZhIjsKLSAg
ICAgICAgaWYgKHJlZ2lvbiA9PT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgICAgcmVnaW9uID0gIkFG
IjsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgImhicyI6Ci0gICAgICBj
YXNlICJzaCI6Ci0gICAgICAgIGxhbmd1YWdlID0gInNyIjsKLSAgICAgICAgaWYgKHNjcmlwdCA9
PT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgICAgc2NyaXB0ID0gIkxhdG4iOwotICAgICAgICB9Ci0g
ICAgICAgIGJyZWFrOwotICAgICAgY2FzZSAic3djIjoKLSAgICAgICAgbGFuZ3VhZ2UgPSAic3ci
OwotICAgICAgICBpZiAocmVnaW9uID09PSB1bmRlZmluZWQpIHsKLSAgICAgICAgICByZWdpb24g
PSAiQ0QiOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOworICAgIH0gZWxzZSBpZiAoX19jb21w
bGV4TGFuZ3VhZ2VNYXBwaW5ncy5oYXNPd25Qcm9wZXJ0eShsYW5ndWFnZSkpIHsKKyAgICAgIHZh
ciBtYXBwaW5nID0gX19jb21wbGV4TGFuZ3VhZ2VNYXBwaW5nc1tsYW5ndWFnZV07CisKKyAgICAg
IGxhbmd1YWdlID0gbWFwcGluZy5sYW5ndWFnZTsKKyAgICAgIGlmIChzY3JpcHQgPT09IHVuZGVm
aW5lZCAmJiBtYXBwaW5nLmhhc093blByb3BlcnR5KCJzY3JpcHQiKSkgeworICAgICAgICBzY3Jp
cHQgPSBtYXBwaW5nLnNjcmlwdDsKKyAgICAgIH0KKyAgICAgIGlmIChyZWdpb24gPT09IHVuZGVm
aW5lZCAmJiBtYXBwaW5nLmhhc093blByb3BlcnR5KCJyZWdpb24iKSkgeworICAgICAgICByZWdp
b24gPSBtYXBwaW5nLnJlZ2lvbjsKICAgICAgIH0KICAgICB9CiAKICAgICBpZiAocmVnaW9uICE9
PSB1bmRlZmluZWQpIHsKICAgICAgIGlmIChfX3JlZ2lvbk1hcHBpbmdzLmhhc093blByb3BlcnR5
KHJlZ2lvbikpIHsKICAgICAgICAgcmVnaW9uID0gX19yZWdpb25NYXBwaW5nc1tyZWdpb25dOwot
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgLy8gUmVnaW9uIHN1YnRhZ3Mgd2l0aCBjb21wbGV4IG1h
cHBpbmdzLCBDTERSIDM1LgotICAgICAgICBzd2l0Y2ggKHJlZ2lvbikgewotICAgICAgICBjYXNl
ICIxNzIiOgotICAgICAgICAgIGlmIChsYW5ndWFnZSA9PT0gImFiIiB8fCBsYW5ndWFnZSA9PT0g
ImthIiB8fCBsYW5ndWFnZSA9PT0gIm9zIiB8fAotICAgICAgICAgICAgICAobGFuZ3VhZ2UgPT09
ICJ1bmQiICYmIHNjcmlwdCA9PT0gIkdlb3IiKSB8fCBsYW5ndWFnZSA9PT0gInhtZiIpIHsKLSAg
ICAgICAgICAgIHJlZ2lvbiA9ICJHRSI7Ci0gICAgICAgICAgfQotICAgICAgICAgIGVsc2UgaWYg
KGxhbmd1YWdlID09PSAiYXoiIHx8IGxhbmd1YWdlID09PSAidGtyIiB8fCBsYW5ndWFnZSA9PT0g
InRseSIgfHwgbGFuZ3VhZ2UgPT09ICJ0dHQiKSB7Ci0gICAgICAgICAgICByZWdpb24gPSAiQVoi
OwotICAgICAgICAgIH0KLSAgICAgICAgICBlbHNlIGlmIChsYW5ndWFnZSA9PT0gImJlIikgewot
ICAgICAgICAgICAgcmVnaW9uID0gIkJZIjsKLSAgICAgICAgICB9Ci0gICAgICAgICAgZWxzZSBp
ZiAobGFuZ3VhZ2UgPT09ICJjcmgiIHx8IGxhbmd1YWdlID09PSAiZ290IiB8fCBsYW5ndWFnZSA9
PT0gImppIiB8fCBsYW5ndWFnZSA9PT0gInJ1ZSIgfHwKLSAgICAgICAgICAgICAgICAgICBsYW5n
dWFnZSA9PT0gInVrIiB8fCAobGFuZ3VhZ2UgPT09ICJ1bmQiICYmIHNjcmlwdCA9PT0gIkdvdGgi
KSkgewotICAgICAgICAgICAgcmVnaW9uID0gIlVBIjsKLSAgICAgICAgICB9Ci0gICAgICAgICAg
ZWxzZSBpZiAobGFuZ3VhZ2UgPT09ICJnYWciKSB7Ci0gICAgICAgICAgICByZWdpb24gPSAiTUQi
OwotICAgICAgICAgIH0KLSAgICAgICAgICBlbHNlIGlmIChsYW5ndWFnZSA9PT0gImh5IiB8fCAo
bGFuZ3VhZ2UgPT09ICJ1bmQiICYmIHNjcmlwdCA9PT0gIkFybW4iKSkgewotICAgICAgICAgICAg
cmVnaW9uID0gIkFNIjsKLSAgICAgICAgICB9Ci0gICAgICAgICAgZWxzZSBpZiAobGFuZ3VhZ2Ug
PT09ICJrYWEiIHx8IGxhbmd1YWdlID09PSAic29nIiB8fCAobGFuZ3VhZ2UgPT09ICJ1bmQiICYm
IHNjcmlwdCA9PT0gIlNvZ2QiKSB8fAotICAgICAgICAgICAgICAgICAgIChsYW5ndWFnZSA9PT0g
InVuZCIgJiYgc2NyaXB0ID09PSAiU29nbyIpIHx8IGxhbmd1YWdlID09PSAidXoiKSB7Ci0gICAg
ICAgICAgICByZWdpb24gPSAiVVoiOwotICAgICAgICAgIH0KLSAgICAgICAgICBlbHNlIGlmIChs
YW5ndWFnZSA9PT0gImtrIiB8fCAobGFuZ3VhZ2UgPT09ICJ1ZyIgJiYgc2NyaXB0ID09PSAiQ3ly
bCIpKSB7Ci0gICAgICAgICAgICByZWdpb24gPSAiS1oiOwotICAgICAgICAgIH0KLSAgICAgICAg
ICBlbHNlIGlmIChsYW5ndWFnZSA9PT0gImt5IikgewotICAgICAgICAgICAgcmVnaW9uID0gIktH
IjsKLSAgICAgICAgICB9Ci0gICAgICAgICAgZWxzZSBpZiAobGFuZ3VhZ2UgPT09ICJ0ZyIpIHsK
LSAgICAgICAgICAgIHJlZ2lvbiA9ICJUSiI7Ci0gICAgICAgICAgfQotICAgICAgICAgIGVsc2Ug
aWYgKGxhbmd1YWdlID09PSAidGsiKSB7Ci0gICAgICAgICAgICByZWdpb24gPSAiVE0iOwotICAg
ICAgICAgIH0KLSAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIHJlZ2lvbiA9ICJSVSI7Ci0g
ICAgICAgICAgfQotICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICIyMDAiOgotICAgICAg
ICAgIGlmIChsYW5ndWFnZSA9PT0gInNrIikgewotICAgICAgICAgICAgcmVnaW9uID0gIlNLIjsK
LSAgICAgICAgICB9Ci0gICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICByZWdpb24gPSAiQ1oi
OwotICAgICAgICAgIH0KLSAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAiNTMwIjoKLSAg
ICAgICAgY2FzZSAiNTMyIjoKLSAgICAgICAgY2FzZSAiQU4iOgotICAgICAgICAgIGlmIChsYW5n
dWFnZSA9PT0gInZpYyIpIHsKLSAgICAgICAgICAgIHJlZ2lvbiA9ICJTWCI7Ci0gICAgICAgICAg
fQotICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgcmVnaW9uID0gIkNXIjsKLSAgICAgICAg
ICB9Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgIjUzNiI6Ci0gICAgICAgIGNhc2Ug
Ik5UIjoKLSAgICAgICAgICBpZiAobGFuZ3VhZ2UgPT09ICJha2siIHx8IGxhbmd1YWdlID09PSAi
Y2tiIiB8fCAobGFuZ3VhZ2UgPT09ICJrdSIgJiYgc2NyaXB0ID09PSAiQXJhYiIpIHx8Ci0gICAg
ICAgICAgICAgIGxhbmd1YWdlID09PSAibWlzIiB8fCBsYW5ndWFnZSA9PT0gInN5ciIgfHwgKGxh
bmd1YWdlID09PSAidW5kIiAmJiBzY3JpcHQgPT09ICJYc3V4IikgfHwKLSAgICAgICAgICAgICAg
KGxhbmd1YWdlID09PSAidW5kIiAmJiBzY3JpcHQgPT09ICJIYXRyIikgfHwgKGxhbmd1YWdlID09
PSAidW5kIiAmJiBzY3JpcHQgPT09ICJTeXJjIikpIHsKLSAgICAgICAgICAgIHJlZ2lvbiA9ICJJ
USI7Ci0gICAgICAgICAgfQotICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgcmVnaW9uID0g
IlNBIjsKLSAgICAgICAgICB9Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgIjU4MiI6
Ci0gICAgICAgIGNhc2UgIlBDIjoKLSAgICAgICAgICBpZiAobGFuZ3VhZ2UgPT09ICJtaCIpIHsK
LSAgICAgICAgICAgIHJlZ2lvbiA9ICJNSCI7Ci0gICAgICAgICAgfQotICAgICAgICAgIGVsc2Ug
aWYgKGxhbmd1YWdlID09PSAicGF1IikgewotICAgICAgICAgICAgcmVnaW9uID0gIlBXIjsKLSAg
ICAgICAgICB9Ci0gICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICByZWdpb24gPSAiRk0iOwot
ICAgICAgICAgIH0KLSAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAiODEwIjoKLSAgICAg
ICAgY2FzZSAiU1UiOgotICAgICAgICAgIGlmIChsYW5ndWFnZSA9PT0gImFiIiB8fCBsYW5ndWFn
ZSA9PT0gImthIiB8fCBsYW5ndWFnZSA9PT0gIm9zIiB8fCBsYW5ndWFnZSA9PT0gInhtZiIgfHwK
LSAgICAgICAgICAgICAgKGxhbmd1YWdlID09PSAidW5kIiAmJiBzY3JpcHQgPT09ICJHZW9yIikp
IHsKLSAgICAgICAgICAgIHJlZ2lvbiA9ICJHRSI7Ci0gICAgICAgICAgfQotICAgICAgICAgIGVs
c2UgaWYgKGxhbmd1YWdlID09PSAiYXoiIHx8IGxhbmd1YWdlID09PSAidGtyIiB8fCBsYW5ndWFn
ZSA9PT0gInRseSIgfHwgbGFuZ3VhZ2UgPT09ICJ0dHQiKSB7Ci0gICAgICAgICAgICByZWdpb24g
PSAiQVoiOwotICAgICAgICAgIH0KLSAgICAgICAgICBlbHNlIGlmIChsYW5ndWFnZSA9PT0gImJl
IikgewotICAgICAgICAgICAgcmVnaW9uID0gIkJZIjsKLSAgICAgICAgICB9Ci0gICAgICAgICAg
ZWxzZSBpZiAobGFuZ3VhZ2UgPT09ICJjcmgiIHx8IGxhbmd1YWdlID09PSAiZ290IiB8fCBsYW5n
dWFnZSA9PT0gImppIiB8fCBsYW5ndWFnZSA9PT0gInJ1ZSIgfHwKLSAgICAgICAgICAgICAgICAg
ICBsYW5ndWFnZSA9PT0gInVrIiB8fCAobGFuZ3VhZ2UgPT09ICJ1bmQiICYmIHNjcmlwdCA9PT0g
IkdvdGgiKSkgewotICAgICAgICAgICAgcmVnaW9uID0gIlVBIjsKLSAgICAgICAgICB9Ci0gICAg
ICAgICAgZWxzZSBpZiAobGFuZ3VhZ2UgPT09ICJldCIgfHwgbGFuZ3VhZ2UgPT09ICJ2cm8iKSB7
Ci0gICAgICAgICAgICByZWdpb24gPSAiRUUiOwotICAgICAgICAgIH0KLSAgICAgICAgICBlbHNl
IGlmIChsYW5ndWFnZSA9PT0gImdhZyIpIHsKLSAgICAgICAgICAgIHJlZ2lvbiA9ICJNRCI7Ci0g
ICAgICAgICAgfQotICAgICAgICAgIGVsc2UgaWYgKGxhbmd1YWdlID09PSAiaHkiIHx8IChsYW5n
dWFnZSA9PT0gInVuZCIgJiYgc2NyaXB0ID09PSAiQXJtbiIpKSB7Ci0gICAgICAgICAgICByZWdp
b24gPSAiQU0iOwotICAgICAgICAgIH0KLSAgICAgICAgICBlbHNlIGlmIChsYW5ndWFnZSA9PT0g
ImthYSIgfHwgbGFuZ3VhZ2UgPT09ICJzb2ciIHx8IChsYW5ndWFnZSA9PT0gInVuZCIgJiYgc2Ny
aXB0ID09PSAiU29nZCIpIHx8Ci0gICAgICAgICAgICAgICAgICAgKGxhbmd1YWdlID09PSAidW5k
IiAmJiBzY3JpcHQgPT09ICJTb2dvIikgfHwgbGFuZ3VhZ2UgPT09ICJ1eiIpIHsKLSAgICAgICAg
ICAgIHJlZ2lvbiA9ICJVWiI7Ci0gICAgICAgICAgfQotICAgICAgICAgIGVsc2UgaWYgKGxhbmd1
YWdlID09PSAia2siIHx8IChsYW5ndWFnZSA9PT0gInVnIiAmJiBzY3JpcHQgPT09ICJDeXJsIikp
IHsKLSAgICAgICAgICAgIHJlZ2lvbiA9ICJLWiI7Ci0gICAgICAgICAgfQotICAgICAgICAgIGVs
c2UgaWYgKGxhbmd1YWdlID09PSAia3kiKSB7Ci0gICAgICAgICAgICByZWdpb24gPSAiS0ciOwot
ICAgICAgICAgIH0KLSAgICAgICAgICBlbHNlIGlmIChsYW5ndWFnZSA9PT0gImx0IiB8fCBsYW5n
dWFnZSA9PT0gInNncyIpIHsKLSAgICAgICAgICAgIHJlZ2lvbiA9ICJMVCI7Ci0gICAgICAgICAg
fQotICAgICAgICAgIGVsc2UgaWYgKGxhbmd1YWdlID09PSAibHRnIiB8fCBsYW5ndWFnZSA9PT0g
Imx2IikgewotICAgICAgICAgICAgcmVnaW9uID0gIkxWIjsKLSAgICAgICAgICB9Ci0gICAgICAg
ICAgZWxzZSBpZiAobGFuZ3VhZ2UgPT09ICJ0ZyIpIHsKLSAgICAgICAgICAgIHJlZ2lvbiA9ICJU
SiI7Ci0gICAgICAgICAgfQotICAgICAgICAgIGVsc2UgaWYgKGxhbmd1YWdlID09PSAidGsiKSB7
Ci0gICAgICAgICAgICByZWdpb24gPSAiVE0iOwotICAgICAgICAgIH0KLSAgICAgICAgICBlbHNl
IHsKLSAgICAgICAgICAgIHJlZ2lvbiA9ICJSVSI7Ci0gICAgICAgICAgfQotICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBjYXNlICI4OTAiOgotICAgICAgICAgIGlmIChsYW5ndWFnZSA9PT0gImJz
IikgewotICAgICAgICAgICAgcmVnaW9uID0gIkJBIjsKLSAgICAgICAgICB9Ci0gICAgICAgICAg
ZWxzZSBpZiAobGFuZ3VhZ2UgPT09ICJociIpIHsKLSAgICAgICAgICAgIHJlZ2lvbiA9ICJIUiI7
Ci0gICAgICAgICAgfQotICAgICAgICAgIGVsc2UgaWYgKGxhbmd1YWdlID09PSAibWsiKSB7Ci0g
ICAgICAgICAgICByZWdpb24gPSAiTUsiOwotICAgICAgICAgIH0KLSAgICAgICAgICBlbHNlIGlm
IChsYW5ndWFnZSA9PT0gInNsIikgewotICAgICAgICAgICAgcmVnaW9uID0gIlNJIjsKLSAgICAg
ICAgICB9Ci0gICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICByZWdpb24gPSAiUlMiOwotICAg
ICAgICAgIH0KLSAgICAgICAgICBicmVhazsKKyAgICAgIH0gZWxzZSBpZiAoX19jb21wbGV4UmVn
aW9uTWFwcGluZ3MuaGFzT3duUHJvcGVydHkocmVnaW9uKSkgeworICAgICAgICB2YXIgbWFwcGlu
ZyA9IF9fY29tcGxleFJlZ2lvbk1hcHBpbmdzW3JlZ2lvbl07CisKKyAgICAgICAgdmFyIG1hcHBp
bmdLZXkgPSBsYW5ndWFnZTsKKyAgICAgICAgaWYgKHNjcmlwdCAhPT0gdW5kZWZpbmVkKSB7Cisg
ICAgICAgICAgbWFwcGluZ0tleSArPSAiLSIgKyBzY3JpcHQ7CisgICAgICAgIH0KKworICAgICAg
ICBpZiAobWFwcGluZy5oYXNPd25Qcm9wZXJ0eShtYXBwaW5nS2V5KSkgeworICAgICAgICAgIHJl
Z2lvbiA9IG1hcHBpbmdbbWFwcGluZ0tleV07CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
cmVnaW9uID0gbWFwcGluZy5kZWZhdWx0OwogICAgICAgICB9CiAgICAgICB9CiAgICAgfQpAQCAt
MTI2Miw4ICsxNjUzLDMxIEBAIGZ1bmN0aW9uIGlzQ2Fub25pY2FsaXplZFN0cnVjdHVyYWxseVZh
bGkKICAgICAvLyBoYW5kbGUgdmFyaWFudHMKICAgICB2YXIgdmFyaWFudHMgPSBbXTsKICAgICB3
aGlsZSAoaSA8IHN1YnRhZ3MubGVuZ3RoICYmIHN1YnRhZ3NbaV0ubGVuZ3RoID4gMSkgewotICAg
ICAgICB2YXJpYW50cy5wdXNoKHN1YnRhZ3NbaV0pOwotICAgICAgICBpICs9IDE7CisgICAgICB2
YXIgdmFyaWFudCA9IHN1YnRhZ3NbaV07CisKKyAgICAgIGlmIChfX3ZhcmlhbnRNYXBwaW5ncy5o
YXNPd25Qcm9wZXJ0eSh2YXJpYW50KSkgeworICAgICAgICB2YXIgbWFwcGluZyA9IF9fdmFyaWFu
dE1hcHBpbmdzW3ZhcmlhbnRdOworICAgICAgICBzd2l0Y2ggKG1hcHBpbmcudHlwZSkgeworICAg
ICAgICAgIGNhc2UgImxhbmd1YWdlIjoKKyAgICAgICAgICAgIGxhbmd1YWdlID0gbWFwcGluZy5y
ZXBsYWNlbWVudDsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgY2FzZSAicmVnaW9u
IjoKKyAgICAgICAgICAgIHJlZ2lvbiA9IG1hcHBpbmcucmVwbGFjZW1lbnQ7CisgICAgICAgICAg
ICBicmVhazsKKworICAgICAgICAgIGNhc2UgInZhcmlhbnQiOgorICAgICAgICAgICAgdmFyaWFu
dHMucHVzaChtYXBwaW5nLnJlcGxhY2VtZW50KTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAg
ICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiaWxsZWdhbCB2YXJp
YW50IG1hcHBpbmcgdHlwZSIpOworICAgICAgICB9CisgICAgICB9IGVsc2UgeworICAgICAgICB2
YXJpYW50cy5wdXNoKHZhcmlhbnQpOworICAgICAgfQorCisgICAgICBpICs9IDE7CiAgICAgfQog
ICAgIHZhcmlhbnRzLnNvcnQoKTsKIApAQCAtMTI3NSw3ICsxNjg5LDgwIEBAIGZ1bmN0aW9uIGlz
Q2Fub25pY2FsaXplZFN0cnVjdHVyYWxseVZhbGkKICAgICAgIHdoaWxlIChpIDwgc3VidGFncy5s
ZW5ndGggJiYgc3VidGFnc1tpXS5sZW5ndGggPiAxKSB7CiAgICAgICAgIGkrKzsKICAgICAgIH0K
LSAgICAgIHZhciBleHRlbnNpb24gPSBzdWJ0YWdzLnNsaWNlKGV4dGVuc2lvblN0YXJ0LCBpKS5q
b2luKCItIik7CisKKyAgICAgIHZhciBleHRlbnNpb247CisgICAgICB2YXIgZXh0ZW5zaW9uS2V5
ID0gc3VidGFnc1tleHRlbnNpb25TdGFydF07CisgICAgICBpZiAoZXh0ZW5zaW9uS2V5ID09PSAi
dSIpIHsKKyAgICAgICAgdmFyIGogPSBleHRlbnNpb25TdGFydCArIDE7CisKKyAgICAgICAgLy8g
c2tpcCBvdmVyIGxlYWRpbmcgYXR0cmlidXRlcworICAgICAgICB3aGlsZSAoaiA8IGkgJiYgc3Vi
dGFnc1tqXS5sZW5ndGggPiAyKSB7CisgICAgICAgICAgaisrOworICAgICAgICB9CisKKyAgICAg
ICAgZXh0ZW5zaW9uID0gc3VidGFncy5zbGljZShleHRlbnNpb25TdGFydCwgaikuam9pbigiLSIp
OworCisgICAgICAgIHdoaWxlIChqIDwgaSkgeworICAgICAgICAgIHZhciBrZXlTdGFydCA9IGo7
CisgICAgICAgICAgaisrOworCisgICAgICAgICAgd2hpbGUgKGogPCBpICYmIHN1YnRhZ3Nbal0u
bGVuZ3RoID4gMikgeworICAgICAgICAgICAgaisrOworICAgICAgICAgIH0KKworICAgICAgICAg
IHZhciBrZXkgPSBzdWJ0YWdzW2tleVN0YXJ0XTsKKyAgICAgICAgICB2YXIgdmFsdWUgPSBzdWJ0
YWdzLnNsaWNlKGtleVN0YXJ0ICsgMSwgaikuam9pbigiLSIpOworCisgICAgICAgICAgaWYgKF9f
dW5pY29kZU1hcHBpbmdzLmhhc093blByb3BlcnR5KGtleSkpIHsKKyAgICAgICAgICAgIHZhciBt
YXBwaW5nID0gX191bmljb2RlTWFwcGluZ3Nba2V5XTsKKyAgICAgICAgICAgIGlmIChtYXBwaW5n
Lmhhc093blByb3BlcnR5KHZhbHVlKSkgeworICAgICAgICAgICAgICB2YWx1ZSA9IG1hcHBpbmdb
dmFsdWVdOworICAgICAgICAgICAgfQorICAgICAgICAgIH0KKworICAgICAgICAgIGV4dGVuc2lv
biArPSAiLSIgKyBrZXk7CisgICAgICAgICAgaWYgKHZhbHVlICE9PSAiIiAmJiB2YWx1ZSAhPT0g
InRydWUiKSB7CisgICAgICAgICAgICBleHRlbnNpb24gKz0gIi0iICsgdmFsdWU7CisgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgICB9IGVsc2UgaWYgKGV4dGVuc2lvbktleSA9PT0gInQiKSB7
CisgICAgICAgIHZhciBqID0gZXh0ZW5zaW9uU3RhcnQgKyAxOworCisgICAgICAgIHdoaWxlIChq
IDwgaSAmJiAhdHJhbnNmb3JtS2V5UkUudGVzdChzdWJ0YWdzW2pdKSkgeworICAgICAgICAgIGor
KzsKKyAgICAgICAgfQorCisgICAgICAgIGV4dGVuc2lvbiA9ICJ0IjsKKworICAgICAgICB2YXIg
dHJhbnNmb3JtTGFuZ3VhZ2UgPSBzdWJ0YWdzLnNsaWNlKGV4dGVuc2lvblN0YXJ0ICsgMSwgaiku
am9pbigiLSIpOworICAgICAgICBpZiAodHJhbnNmb3JtTGFuZ3VhZ2UgIT09ICIiKSB7CisgICAg
ICAgICAgZXh0ZW5zaW9uICs9ICItIiArIGNhbm9uaWNhbGl6ZUxhbmd1YWdlVGFnKHRyYW5zZm9y
bUxhbmd1YWdlKS50b0xvd2VyQ2FzZSgpOworICAgICAgICB9CisKKyAgICAgICAgd2hpbGUgKGog
PCBpKSB7CisgICAgICAgICAgdmFyIGtleVN0YXJ0ID0gajsKKyAgICAgICAgICBqKys7CisKKyAg
ICAgICAgICB3aGlsZSAoaiA8IGkgJiYgc3VidGFnc1tqXS5sZW5ndGggPiAyKSB7CisgICAgICAg
ICAgICBqKys7CisgICAgICAgICAgfQorCisgICAgICAgICAgdmFyIGtleSA9IHN1YnRhZ3Nba2V5
U3RhcnRdOworICAgICAgICAgIHZhciB2YWx1ZSA9IHN1YnRhZ3Muc2xpY2Uoa2V5U3RhcnQgKyAx
LCBqKS5qb2luKCItIik7CisKKyAgICAgICAgICBpZiAoX190cmFuc2Zvcm1NYXBwaW5ncy5oYXNP
d25Qcm9wZXJ0eShrZXkpKSB7CisgICAgICAgICAgICB2YXIgbWFwcGluZyA9IF9fdHJhbnNmb3Jt
TWFwcGluZ3Nba2V5XTsKKyAgICAgICAgICAgIGlmIChtYXBwaW5nLmhhc093blByb3BlcnR5KHZh
bHVlKSkgeworICAgICAgICAgICAgICB2YWx1ZSA9IG1hcHBpbmdbdmFsdWVdOworICAgICAgICAg
ICAgfQorICAgICAgICAgIH0KKworICAgICAgICAgIGV4dGVuc2lvbiArPSAiLSIgKyBrZXkgKyAi
LSIgKyB2YWx1ZTsKKyAgICAgICAgfQorICAgICAgfSBlbHNlIHsKKyAgICAgICAgZXh0ZW5zaW9u
ID0gc3VidGFncy5zbGljZShleHRlbnNpb25TdGFydCwgaSkuam9pbigiLSIpOworICAgICAgfQor
CiAgICAgICBleHRlbnNpb25zLnB1c2goZXh0ZW5zaW9uKTsKICAgICB9CiAgICAgZXh0ZW5zaW9u
cy5zb3J0KCk7CkBAIC0xNTQ5LDcgKzIwMzYsNyBAQCBmdW5jdGlvbiB0ZXN0Rm9yVW53YW50ZWRS
ZWdFeHBDaGFuZ2VzKHRlCiAKIGZ1bmN0aW9uIGlzVmFsaWROdW1iZXJpbmdTeXN0ZW0obmFtZSkg
ewogCi0gIC8vIHNvdXJjZTogQ0xEUiBmaWxlIGNvbW1vbi9iY3A0Ny9udW1iZXIueG1sOyB2ZXJz
aW9uIENMRFIgMzIuCisgIC8vIHNvdXJjZTogQ0xEUiBmaWxlIGNvbW1vbi9iY3A0Ny9udW1iZXIu
eG1sOyB2ZXJzaW9uIENMRFIgMzYuMS4KICAgdmFyIG51bWJlcmluZ1N5c3RlbXMgPSBbCiAgICAg
ImFkbG0iLAogICAgICJhaG9tIiwKQEAgLTE1NjUsMTAgKzIwNTIsMTIgQEAgZnVuY3Rpb24gaXNW
YWxpZE51bWJlcmluZ1N5c3RlbShuYW1lKSB7CiAgICAgImNoYW0iLAogICAgICJjeXJsIiwKICAg
ICAiZGV2YSIsCisgICAgImRpYWsiLAogICAgICJldGhpIiwKICAgICAiZmluYW5jZSIsCiAgICAg
ImZ1bGx3aWRlIiwKICAgICAiZ2VvciIsCisgICAgImdvbmciLAogICAgICJnb25tIiwKICAgICAi
Z3JlayIsCiAgICAgImdyZWtsb3ciLApAQCAtMTU4Miw5ICsyMDcxLDExIEBAIGZ1bmN0aW9uIGlz
VmFsaWROdW1iZXJpbmdTeXN0ZW0obmFtZSkgewogICAgICJoYW50ZmluIiwKICAgICAiaGViciIs
CiAgICAgImhtbmciLAorICAgICJobW5wIiwKICAgICAiamF2YSIsCiAgICAgImpwYW4iLAogICAg
ICJqcGFuZmluIiwKKyAgICAianBhbnllYXIiLAogICAgICJrYWxpIiwKICAgICAia2htciIsCiAg
ICAgImtuZGEiLApAQCAtMTYxMyw2ICsyMTA0LDcgQEAgZnVuY3Rpb24gaXNWYWxpZE51bWJlcmlu
Z1N5c3RlbShuYW1lKSB7CiAgICAgIm9sY2siLAogICAgICJvcnlhIiwKICAgICAib3NtYSIsCisg
ICAgInJvaGciLAogICAgICJyb21hbiIsCiAgICAgInJvbWFubG93IiwKICAgICAic2F1ciIsCkBA
IC0xNjMyLDYgKzIxMjQsNyBAQCBmdW5jdGlvbiBpc1ZhbGlkTnVtYmVyaW5nU3lzdGVtKG5hbWUp
IHsKICAgICAidHJhZGl0aW8iLAogICAgICJ2YWlpIiwKICAgICAid2FyYSIsCisgICAgIndjaG8i
LAogICBdOwogCiAgIHZhciBleGNsdWRlZCA9IFsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2FubmV4Qi9idWlsdC1pbnMvSlNPTi9wYXJzZS9TMTUuMTIuMl9BMS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL0pTT04vcGFyc2UvUzE1LjEy
LjJfQTEuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1
aWx0LWlucy9KU09OL3BhcnNlL1MxNS4xMi4yX0ExLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTYgQEAKKy8vIENvcHlyaWdodCAyMDExIHRoZSBTcHV0bmlrIGF1dGhvcnMuICBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5z
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQoraW5mbzogSlNPTi5wYXJzZSBt
dXN0IGNyZWF0ZSBhIHByb3BlcnR5IHdpdGggdGhlIGdpdmVuIHByb3BlcnR5IG5hbWUKK2VzNWlk
OiAxNS4xMi4yX0ExCitkZXNjcmlwdGlvbjogVGVzdHMgdGhhdCBKU09OLnBhcnNlIHRyZWF0cyAi
X19wcm90b19fIiBhcyBhIHJlZ3VsYXIgcHJvcGVydHkgbmFtZQorLS0tKi8KKwordmFyIHggPSBK
U09OLnBhcnNlKCd7Il9fcHJvdG9fXyI6W119Jyk7CitpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9m
KHgpICE9PSBPYmplY3QucHJvdG90eXBlKSB7CisgICRFUlJPUignIzE6IEpTT04ucGFyc2UgY29u
ZnVzZWQgYnkgIl9fcHJvdG9fXyInKTsKK30KK2lmICghQXJyYXkuaXNBcnJheSh4Ll9fcHJvdG9f
XykpIHsKKyAgJEVSUk9SKCcjMjogSlNPTi5wYXJzZSBkaWQgbm90IHNldCAiX19wcm90b19fIiBh
cyBhIHJlZ3VsYXIgcHJvcGVydHknKTsKK30KSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2Fu
bmV4Qi9idWlsdC1pbnMvUHJveHkvc2V0L2NhbGwtcGFyYW1ldGVycy1wcm90b3R5cGUtZHVuZGVy
LXByb3RvLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWls
dC1pbnMvUHJveHkvc2V0L2NhbGwtcGFyYW1ldGVycy1wcm90b3R5cGUtZHVuZGVyLXByb3RvLmpz
CShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMv
UHJveHkvc2V0L2NhbGwtcGFyYW1ldGVycy1wcm90b3R5cGUtZHVuZGVyLXByb3RvLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNTYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxOSBBbGV4ZXkg
U2h2YXlrYS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBi
eSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lk
OiBzZWMtcHJveHktb2JqZWN0LWludGVybmFsLW1ldGhvZHMtYW5kLWludGVybmFsLXNsb3RzLXNl
dC1wLXYtcmVjZWl2ZXIKK2Rlc2NyaXB0aW9uOiA+CisgIE9yZGluYXJ5IFtbU2V0XV0gZm9yd2Fy
ZHMgY2FsbCB0byBQcm94eSAic2V0IiB0cmFwIHdpdGggY29ycmVjdCBhcmd1bWVudHMuCisgIFBy
b3BlcnR5IG5hbWUgaXMgIl9fcHJvdG9fXyIuCitpbmZvOiB8CisgIE9yZGluYXJ5U2V0ICggTywg
UCwgViwgUmVjZWl2ZXIgKQorCisgIC4uLgorICAzLiBSZXR1cm4gT3JkaW5hcnlTZXRXaXRoT3du
RGVzY3JpcHRvcihPLCBQLCBWLCBSZWNlaXZlciwgb3duRGVzYykuCisKKyAgT3JkaW5hcnlTZXRX
aXRoT3duRGVzY3JpcHRvciAoIE8sIFAsIFYsIFJlY2VpdmVyLCBvd25EZXNjICkKKworICAuLi4K
KyAgMi4gSWYgb3duRGVzYyBpcyB1bmRlZmluZWQsIHRoZW4KKyAgICBhLiBMZXQgcGFyZW50IGJl
ID8gTy5bW0dldFByb3RvdHlwZU9mXV0oKS4KKyAgICBiLiBJZiBwYXJlbnQgaXMgbm90IG51bGws
IHRoZW4KKyAgICAgIGkuIFJldHVybiA/IHBhcmVudC5bW1NldF1dKFAsIFYsIFJlY2VpdmVyKS4K
KworICBbW1NldF1dICggUCwgViwgUmVjZWl2ZXIgKQorCisgIC4uLgorICA4LiBMZXQgYm9vbGVh
blRyYXBSZXN1bHQgYmUgISBUb0Jvb2xlYW4oPyBDYWxsKHRyYXAsIGhhbmRsZXIsIMKrIHRhcmdl
dCwgUCwgViwgUmVjZWl2ZXIgwrspKS4KKyAgLi4uCisgIDEyLiBSZXR1cm4gdHJ1ZS4KK2luY2x1
ZGVzOiBbcHJveHlUcmFwc0hlbHBlci5qc10KK2ZlYXR1cmVzOiBbUHJveHldCistLS0qLworCit2
YXIgX2hhbmRsZXIsIF90YXJnZXQsIF9wcm9wLCBfdmFsdWUsIF9yZWNlaXZlcjsKK3ZhciB0YXJn
ZXQgPSB7fTsKK3ZhciBoYW5kbGVyID0gYWxsb3dQcm94eVRyYXBzKHsKKyAgc2V0OiBmdW5jdGlv
bih0YXJnZXQsIHByb3AsIHZhbHVlLCByZWNlaXZlcikgeworICAgIF9oYW5kbGVyID0gdGhpczsK
KyAgICBfdGFyZ2V0ID0gdGFyZ2V0OworICAgIF9wcm9wID0gcHJvcDsKKyAgICBfdmFsdWUgPSB2
YWx1ZTsKKyAgICBfcmVjZWl2ZXIgPSByZWNlaXZlcjsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfSwK
K30pOworCit2YXIgcHJveHkgPSBuZXcgUHJveHkodGFyZ2V0LCBoYW5kbGVyKTsKK3ZhciByZWNl
aXZlciA9IE9iamVjdC5jcmVhdGUocHJveHkpOwordmFyIHByb3AgPSAnX19wcm90b19fJzsKK3Zh
ciB2YWx1ZSA9IHt9OworCityZWNlaXZlcltwcm9wXSA9IHZhbHVlOworCithc3NlcnQuc2FtZVZh
bHVlKF9oYW5kbGVyLCBoYW5kbGVyLCAnaGFuZGxlciBvYmplY3QgaXMgdGhlIHRyYXAgY29udGV4
dCcpOworYXNzZXJ0LnNhbWVWYWx1ZShfdGFyZ2V0LCB0YXJnZXQsICdmaXJzdCBhcmd1bWVudCBp
cyB0aGUgdGFyZ2V0IG9iamVjdCcpOworYXNzZXJ0LnNhbWVWYWx1ZShfcHJvcCwgcHJvcCwgJ3Nl
Y29uZCBhcmd1bWVudCBpcyB0aGUgcHJvcGVydHkgbmFtZScpOworYXNzZXJ0LnNhbWVWYWx1ZShf
dmFsdWUsIHZhbHVlLCAndGhpcmQgYXJndW1lbnQgaXMgdGhlIG5ldyB2YWx1ZScpOworYXNzZXJ0
LnNhbWVWYWx1ZShfcmVjZWl2ZXIsIHJlY2VpdmVyLCAnZm91cnRoIGFyZ3VtZW50IGlzIHRoZSBy
ZWNlaXZlciBvYmplY3QnKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWls
dC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1ncm91cHMtb2JqZWN0LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvUmVnRXhwL21h
dGNoLWluZGljZXMvaW5kaWNlcy1ncm91cHMtb2JqZWN0LmpzCShub25leGlzdGVudCkKKysrIEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMv
aW5kaWNlcy1ncm91cHMtb2JqZWN0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjIgQEAK
Ky8vIENvcHlyaWdodCAyMDE5IFJvbiBCdWNrdG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorCisvKi0tLQorZGVzY3JpcHRpb246IFRoZSBncm91cHMgb2JqZWN0IG9mIGlu
ZGljZXMgaXMgY3JlYXRlZCB3aXRoIENyZWF0ZURhdGFQcm9wZXJ0eQoraW5jbHVkZXM6IFtjb21w
YXJlQXJyYXkuanNdCitlc2lkOiBzZWMtbWFrZWluZGljZXNhcnJheQorZmVhdHVyZXM6IFtyZWdl
eHAtbmFtZWQtZ3JvdXBzLCByZWdleHAtbWF0Y2gtaW5kaWNlc10KK2luZm86IHwKKyAgTWFrZUlu
ZGljZXNBcnJheSAoIFMsIGluZGljZXMsIGdyb3VwTmFtZXMgKQorICAgIDguIElmIF9ncm91cE5h
bWVzXyBpcyBub3QgKnVuZGVmaW5lZCosIHRoZW4KKyAgICAgIGEuIExldCBfZ3JvdXBzXyBiZSAh
IE9iamVjdENyZWF0ZSgqbnVsbCopLgorICAgIDkuIEVsc2UsCisgICAgICBhLiBMZXQgX2dyb3Vw
c18gYmUgKnVuZGVmaW5lZCouCisgICAgMTAuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHko
X0FfLCBgImdyb3VwcyJgLCBfZ3JvdXBzXykuCistLS0qLworCisvLyBUaGUgYF9fcHJvdG9fX2Ag
cHJvcGVydHkgb24gdGhlIGdyb3VwcyBvYmplY3QgaXMgbm90IHNwZWNpYWwsCisvLyBhbmQgZG9l
cyBub3QgYWZmZWN0IHRoZSBbW1Byb3RvdHlwZV1dIG9mIHRoZSByZXN1bHRpbmcgZ3JvdXBzIG9i
amVjdC4KK2xldCB7Z3JvdXBzfSA9IC8oPzxfX3Byb3RvX18+LikvLmV4ZWMoImEiKS5pbmRpY2Vz
OworYXNzZXJ0LmNvbXBhcmVBcnJheShbMCwgMV0sIGdyb3Vwcy5fX3Byb3RvX18pOworYXNzZXJ0
LnNhbWVWYWx1ZShudWxsLCBPYmplY3QuZ2V0UHJvdG90eXBlT2YoZ3JvdXBzKSk7CkluZGV4OiBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL1JlZ0V4cC9uYW1lZC1ncm91cHMv
Z3JvdXBzLW9iamVjdC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5l
eEIvYnVpbHQtaW5zL1JlZ0V4cC9uYW1lZC1ncm91cHMvZ3JvdXBzLW9iamVjdC5qcwkobm9uZXhp
c3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL1JlZ0V4cC9u
YW1lZC1ncm91cHMvZ3JvdXBzLW9iamVjdC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIx
IEBACisvLyBDb3B5cmlnaHQgMjAxNyBBbGVrc2V5IFNodmF5a2EuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitkZXNjcmlwdGlvbjogUHJvcGVydGllcyBvZiB0
aGUgZ3JvdXBzIG9iamVjdCBhcmUgY3JlYXRlZCB3aXRoIENyZWF0ZURhdGFQcm9wZXJ0eQorZXNp
ZDogc2VjLXJlZ2V4cGJ1aWx0aW5leGVjCitmZWF0dXJlczogW3JlZ2V4cC1uYW1lZC1ncm91cHNd
CitpbmZvOiB8CisgIFJ1bnRpbWUgU2VtYW50aWNzOiBSZWdFeHBCdWlsdGluRXhlYyAoIFIsIFMg
KQorICAgIDI0LiBJZiBfUl8gY29udGFpbnMgYW55IHxHcm91cE5hbWV8LCB0aGVuCisgICAgICBh
LiBMZXQgX2dyb3Vwc18gYmUgT2JqZWN0Q3JlYXRlKCpudWxsKikuCisgICAgMjUuIEVsc2UsCisg
ICAgICBhLiBMZXQgX2dyb3Vwc18gYmUgKnVuZGVmaW5lZCouCisgICAgMjYuIFBlcmZvcm0gISBD
cmVhdGVEYXRhUHJvcGVydHkoX0FfLCBgImdyb3VwcyJgLCBfZ3JvdXBzXykuCistLS0qLworCisv
LyBUaGUgYF9fcHJvdG9fX2AgcHJvcGVydHkgb24gdGhlIGdyb3VwcyBvYmplY3QgaXMgbm90IHNw
ZWNpYWwsCisvLyBhbmQgZG9lcyBub3QgYWZmZWN0IHRoZSBbW1Byb3RvdHlwZV1dIG9mIHRoZSBy
ZXN1bHRpbmcgZ3JvdXBzIG9iamVjdC4KK2xldCB7Z3JvdXBzfSA9IC8oPzxfX3Byb3RvX18+Likv
LmV4ZWMoImEiKTsKK2Fzc2VydC5zYW1lVmFsdWUoImEiLCBncm91cHMuX19wcm90b19fKTsKK2Fz
c2VydC5zYW1lVmFsdWUobnVsbCwgT2JqZWN0LmdldFByb3RvdHlwZU9mKGdyb3VwcykpOwpJbmRl
eDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9SZWdFeHAvbmFtZWQtZ3Jv
dXBzL25vbi11bmljb2RlLW1hbGZvcm1lZC1sb29rYmVoaW5kLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvUmVnRXhwL25hbWVkLWdyb3Vwcy9u
b24tdW5pY29kZS1tYWxmb3JtZWQtbG9va2JlaGluZC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL1JlZ0V4cC9uYW1lZC1ncm91cHMvbm9u
LXVuaWNvZGUtbWFsZm9ybWVkLWxvb2tiZWhpbmQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxNSBAQAorLy8gQ29weXJpZ2h0IDIwMTcgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHByb2QtR3JvdXBT
cGVjaWZpZXIKK2Rlc2NyaXB0aW9uOiA+CisgIFxrIGlzIHBhcnNlZCBhcyBJZGVudGl0eUVzY2Fw
ZSBhcyBsb29rLWJlaGluZCBhc3NlcnRpb24gaXMgbm90IGEgR3JvdXBOYW1lLgorZmVhdHVyZXM6
IFtyZWdleHAtbmFtZWQtZ3JvdXBzLCByZWdleHAtbG9va2JlaGluZF0KKy0tLSovCisKK2Fzc2Vy
dCgvXGs8YT4oPzw9PilhLy50ZXN0KCJrPGE+YSIpKTsKK2Fzc2VydCgvKD88PT4pXGs8YT4vLnRl
c3QoIj5rPGE+IikpOworCithc3NlcnQoL1xrPGE+KD88IWEpYS8udGVzdCgiazxhPmEiKSk7Cith
c3NlcnQoLyg/PCFhPilcazxhPi8udGVzdCgiazxhPiIpKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvUmVnRXhwL25hbWVkLWdyb3Vwcy9ub24tdW5pY29kZS1t
YWxmb3JtZWQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1
aWx0LWlucy9SZWdFeHAvbmFtZWQtZ3JvdXBzL25vbi11bmljb2RlLW1hbGZvcm1lZC5qcwkocmV2
aXNpb24gMjYwNTcwKQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9S
ZWdFeHAvbmFtZWQtZ3JvdXBzL25vbi11bmljb2RlLW1hbGZvcm1lZC5qcwkod29ya2luZyBjb3B5
KQpAQCAtNiw3ICs2LDcgQEAgZGVzY3JpcHRpb246ID4KICAgTmFtZWQgZ3JvdXBzIGluIFVuaWNv
ZGUgUmVnRXhwcyBoYXZlIHNvbWUgc3ludGF4IGVycm9ycyBhbmQgc29tZQogICBjb21wYXRpYmls
aXR5IGVzY2FwZSBmYWxsYmFjayBiZWhhdmlvci4KIGVzaWQ6IHByb2QtR3JvdXBTcGVjaWZpZXIK
LWZlYXR1cmVzOiBbcmVnZXhwLW5hbWVkLWdyb3VwcywgcmVnZXhwLWxvb2tiZWhpbmRdCitmZWF0
dXJlczogW3JlZ2V4cC1uYW1lZC1ncm91cHNdCiBpbmNsdWRlczogW2NvbXBhcmVBcnJheS5qc10K
IC0tLSovCiAKQEAgLTE3LDExICsxNyw5IEBAIGFzc2VydCgvXGsvLnRlc3QoImsiKSk7CiAKIGFz
c2VydCgvKD88YT5cYSkvLnRlc3QoImEiKSk7CiAKLWFzc2VydChjb21wYXJlQXJyYXkoWyJrPGE+
Il0sICJ4eHhrPGE+eHh4Ii5tYXRjaCgvXGs8YT4vKSkpOwotYXNzZXJ0KGNvbXBhcmVBcnJheShb
Ims8YSJdLCAieHh4azxhPnh4eCIubWF0Y2goL1xrPGEvKSkpOworYXNzZXJ0LmNvbXBhcmVBcnJh
eShbIms8YT4iXSwgInh4eGs8YT54eHgiLm1hdGNoKC9cazxhPi8pKTsKK2Fzc2VydC5jb21wYXJl
QXJyYXkoWyJrPGEiXSwgInh4eGs8YT54eHgiLm1hdGNoKC9cazxhLykpOwogCi0vLyBBIGNvdXBs
ZSBvZiBjb3JuZXIgY2FzZXMgYXJvdW5kICdcaycgYXMgbmFtZWQgYmFjay1yZWZlcmVuY2VzIHZz
LiBpZGVudGl0eQotLy8gZXNjYXBlcy4KLWFzc2VydCgvXGs8YT4oPzw9PilhLy50ZXN0KCJrPGE+
YSIpKTsKLWFzc2VydCgvXGs8YT4oPzwhYSlhLy50ZXN0KCJrPGE+YSIpKTsKIGFzc2VydCgvXGs8
YT4oPGE+eCkvLnRlc3QoIms8YT48YT54IikpOworYXNzZXJ0KC9cazxhPlwxLy50ZXN0KCJrPGE+
XHgwMSIpKTsKK2Fzc2VydCgvXDEoYilcazxhPi8udGVzdCgiYms8YT4iKSk7CkluZGV4OiBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudC9k
c3RyL2FycmF5LXBhdHRlcm4tZW11bGF0ZXMtdW5kZWZpbmVkLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50
L2RzdHIvYXJyYXktcGF0dGVybi1lbXVsYXRlcy11bmRlZmluZWQuanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2ln
bm1lbnQvZHN0ci9hcnJheS1wYXR0ZXJuLWVtdWxhdGVzLXVuZGVmaW5lZC5qcwkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQ0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQWxleGV5IFNodmF5
a2EuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2Vj
LWRlc3RydWN0dXJpbmctYmluZGluZy1wYXR0ZXJucy1ydW50aW1lLXNlbWFudGljcy1iaW5kaW5n
aW5pdGlhbGl6YXRpb24KK2Rlc2NyaXB0aW9uOiA+CisgIERlc3RydWN0dXJpbmcgaW5pdGlhbGl6
ZXIgaXMgbm90IGV2YWx1YXRlZCB3aGVuIHZhbHVlIGlzIGFuIG9iamVjdAorICB3aXRoIFtbSXNI
VE1MRERBXV0gaW50ZXJuYWwgc2xvdC4KK2luZm86IHwKKyAgQmluZGluZ1BhdHRlcm4gOiBBcnJh
eUJpbmRpbmdQYXR0ZXJuCisKKyAgMS4gTGV0IGl0ZXJhdG9yUmVjb3JkIGJlID8gR2V0SXRlcmF0
b3IodmFsdWUpLgorICAyLiBMZXQgcmVzdWx0IGJlIEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0
aW9uIG9mIEFycmF5QmluZGluZ1BhdHRlcm4gd2l0aCBhcmd1bWVudHMKKyAgaXRlcmF0b3JSZWNv
cmQgYW5kIGVudmlyb25tZW50LgorICAzLiBJZiBpdGVyYXRvclJlY29yZC5bW0RvbmVdXSBpcyBm
YWxzZSwgcmV0dXJuID8gSXRlcmF0b3JDbG9zZShpdGVyYXRvclJlY29yZCwgcmVzdWx0KS4KKyAg
NC4gUmV0dXJuIHJlc3VsdC4KKworICBSdW50aW1lIFNlbWFudGljczogSXRlcmF0b3JCaW5kaW5n
SW5pdGlhbGl6YXRpb24KKworICBTaW5nbGVOYW1lQmluZGluZyA6IEJpbmRpbmdJZGVudGlmaWVy
IEluaXRpYWxpemVyW29wdF0KKworICBbLi4uXQorICA1LiBJZiBJbml0aWFsaXplciBpcyBwcmVz
ZW50IGFuZCB2IGlzIHVuZGVmaW5lZCwgdGhlbgorICAgIFsuLi5dCisgIDYuIElmIGVudmlyb25t
ZW50IGlzIHVuZGVmaW5lZCwgcmV0dXJuID8gUHV0VmFsdWUobGhzLCB2KS4KK2ZlYXR1cmVzOiBb
ZGVzdHJ1Y3R1cmluZy1iaW5kaW5nLCBJc0hUTUxEREFdCistLS0qLworCit2YXIgSXNIVE1MRERB
ID0gJDI2Mi5Jc0hUTUxEREE7Cit2YXIgaW5pdENvdW50ID0gMDsKK3ZhciBjb3VudGVyID0gZnVu
Y3Rpb24oKSB7CisgIGluaXRDb3VudCArPSAxOworfTsKKwordmFyIHg7CisoW3ggPSBjb3VudGVy
KCldID0gW0lzSFRNTEREQV0pOworCithc3NlcnQuc2FtZVZhbHVlKHgsIElzSFRNTEREQSk7Cith
c3NlcnQuc2FtZVZhbHVlKGluaXRDb3VudCwgMCk7CisKK3ZhciBiYXNlID0ge307CisoW2Jhc2Uu
eSA9IGNvdW50ZXIoKV0gPSBbSXNIVE1MRERBXSk7CisKK2Fzc2VydC5zYW1lVmFsdWUoYmFzZS55
LCBJc0hUTUxEREEpOworYXNzZXJ0LnNhbWVWYWx1ZShpbml0Q291bnQsIDApOwpJbmRleDogSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnQv
ZHN0ci9vYmplY3QtcGF0dGVybi1lbXVsYXRlcy11bmRlZmluZWQuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1l
bnQvZHN0ci9vYmplY3QtcGF0dGVybi1lbXVsYXRlcy11bmRlZmluZWQuanMJKG5vbmV4aXN0ZW50
KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fz
c2lnbm1lbnQvZHN0ci9vYmplY3QtcGF0dGVybi1lbXVsYXRlcy11bmRlZmluZWQuanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzNSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIEFsZXhleSBT
aHZheWthLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6
IHNlYy1kZXN0cnVjdHVyaW5nLWJpbmRpbmctcGF0dGVybnMtcnVudGltZS1zZW1hbnRpY3MtYmlu
ZGluZ2luaXRpYWxpemF0aW9uCitkZXNjcmlwdGlvbjogPgorICBEZXN0cnVjdHVyaW5nIGluaXRp
YWxpemVyIGlzIG5vdCBldmFsdWF0ZWQgd2hlbiB2YWx1ZSBpcyBhbiBvYmplY3QKKyAgd2l0aCBb
W0lzSFRNTEREQV1dIGludGVybmFsIHNsb3QuCitpbmZvOiB8CisgIEJpbmRpbmdQYXR0ZXJuIDog
T2JqZWN0QmluZGluZ1BhdHRlcm4KKworICAxLiBQZXJmb3JtID8gUmVxdWlyZU9iamVjdENvZXJj
aWJsZSh2YWx1ZSkuCisgIDIuIFJldHVybiB0aGUgcmVzdWx0IG9mIHBlcmZvcm1pbmcgQmluZGlu
Z0luaXRpYWxpemF0aW9uIGZvcgorICBPYmplY3RCaW5kaW5nUGF0dGVybiB1c2luZyB2YWx1ZSBh
bmQgZW52aXJvbm1lbnQgYXMgYXJndW1lbnRzLgorCisgIFJ1bnRpbWUgU2VtYW50aWNzOiBLZXll
ZEJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgIFNpbmdsZU5hbWVCaW5kaW5nIDogQmluZGluZ0lk
ZW50aWZpZXIgSW5pdGlhbGl6ZXJbb3B0XQorCisgIFsuLi5dCisgIDQuIElmIEluaXRpYWxpemVy
IGlzIHByZXNlbnQgYW5kIHYgaXMgdW5kZWZpbmVkLCB0aGVuCisgICAgWy4uLl0KKyAgNS4gSWYg
ZW52aXJvbm1lbnQgaXMgdW5kZWZpbmVkLCByZXR1cm4gPyBQdXRWYWx1ZShsaHMsIHYpLgorZmVh
dHVyZXM6IFtkZXN0cnVjdHVyaW5nLWJpbmRpbmcsIElzSFRNTEREQV0KKy0tLSovCisKK3ZhciBp
bml0Q291bnQgPSAwOwordmFyIGNvdW50ZXIgPSBmdW5jdGlvbigpIHsKKyAgaW5pdENvdW50ICs9
IDE7Cit9OworCit2YXIgeCwgSXNIVE1MRERBID0gJDI2Mi5Jc0hUTUxEREE7Cisoe3ggPSBjb3Vu
dGVyKCl9ID0ge3g6IElzSFRNTEREQX0pOworCithc3NlcnQuc2FtZVZhbHVlKHgsIElzSFRNTERE
QSk7Cithc3NlcnQuc2FtZVZhbHVlKGluaXRDb3VudCwgMCk7CkluZGV4OiBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMveWllbGQvc3Rhci1pdGVyYWJsZS10
aHJvdy1lbXVsYXRlcy11bmRlZmluZWQtdGhyb3dzLXdoZW4tY2FsbGVkLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9sYW5ndWFnZS9leHByZXNzaW9ucy95aWVs
ZC9zdGFyLWl0ZXJhYmxlLXRocm93LWVtdWxhdGVzLXVuZGVmaW5lZC10aHJvd3Mtd2hlbi1jYWxs
ZWQuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2xhbmd1
YWdlL2V4cHJlc3Npb25zL3lpZWxkL3N0YXItaXRlcmFibGUtdGhyb3ctZW11bGF0ZXMtdW5kZWZp
bmVkLXRocm93cy13aGVuLWNhbGxlZC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQwIEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQWxleGV5IFNodmF5a2EuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLWdlbmVyYXRvci1mdW5jdGlvbi1k
ZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitkZXNjcmlwdGlvbjogPgor
ICBJZiA8aXRlcmF0b3I+LnRocm93IGlzIGFuIG9iamVjdCBlbXVsYXRpbmcgYHVuZGVmaW5lZGAg
KGUuZy4gYGRvY3VtZW50LmFsbGAKKyAgaW4gYnJvd3NlcnMpLCBpdCBzaG91bGRuJ3QgYmUgdHJl
YXRlZCBhcyBpZiBpdCB3ZXJlIGFjdHVhbGx5IGB1bmRlZmluZWRgIGJ5CisgIHRoZSB5aWVsZCog
b3BlcmF0b3IuCitpbmZvOiB8CisgIFlpZWxkRXhwcmVzc2lvbiA6IHlpZWxkICogQXNzaWdubWVu
dEV4cHJlc3Npb24KKworICBbLi4uXQorICA3LiBSZXBlYXQsCisgICAgWy4uLl0KKyAgICBiLiBF
bHNlIGlmIHJlY2VpdmVkLltbVHlwZV1dIGlzIHRocm93LCB0aGVuCisgICAgICBpLiBMZXQgdGhy
b3cgYmUgPyBHZXRNZXRob2QoaXRlcmF0b3IsICJ0aHJvdyIpLgorICAgICAgaWkuIElmIHRocm93
IGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAgICAgICAgMS4gTGV0IGlubmVyUmVzdWx0IGJlID8g
Q2FsbCh0aHJvdywgaXRlcmF0b3IsIMKrIHJlY2VpdmVkLltbVmFsdWVdXSDCuykuCisgICAgICAg
IFsuLi5dCisgICAgICAgIDQuIElmIFR5cGUoaW5uZXJSZXN1bHQpIGlzIG5vdCBPYmplY3QsIHRo
cm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KK2ZlYXR1cmVzOiBbZ2VuZXJhdG9ycywgSXNIVE1M
RERBXQorLS0tKi8KKwordmFyIElzSFRNTEREQSA9ICQyNjIuSXNIVE1MRERBOwordmFyIHJldHVy
bkNhbGxzID0gMDsKK3ZhciBpbm5lciA9IHsKKyAgW1N5bWJvbC5pdGVyYXRvcl0oKSB7IHJldHVy
biB0aGlzOyB9LAorICBuZXh0KCkgeyByZXR1cm4ge2RvbmU6IGZhbHNlfTsgfSwKKyAgdGhyb3c6
IElzSFRNTEREQSwKKyAgcmV0dXJuKCkgeworICAgIHJldHVybkNhbGxzICs9IDE7CisgICAgcmV0
dXJuIHtkb25lOiB0cnVlfTsKKyAgfSwKK307CisKK3ZhciBvdXRlciA9IChmdW5jdGlvbiogKCkg
eyB5aWVsZCogaW5uZXI7IH0pKCk7CitvdXRlci5uZXh0KCk7CitvdXRlci50aHJvdygpOworCith
c3NlcnQuc2FtZVZhbHVlKHJldHVybkNhbGxzLCAwKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2FubmV4Qi9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NvbnN0L2RzdHIvYXJyYXktcGF0dGVybi1l
bXVsYXRlcy11bmRlZmluZWQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YW5uZXhCL2xhbmd1YWdlL3N0YXRlbWVudHMvY29uc3QvZHN0ci9hcnJheS1wYXR0ZXJuLWVtdWxh
dGVzLXVuZGVmaW5lZC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9h
bm5leEIvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jb25zdC9kc3RyL2FycmF5LXBhdHRlcm4tZW11bGF0
ZXMtdW5kZWZpbmVkLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzcgQEAKKy8vIENvcHly
aWdodCAoQykgMjAyMCBBbGV4ZXkgU2h2YXlrYS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtZGVzdHJ1Y3R1cmluZy1iaW5kaW5nLXBhdHRlcm5z
LXJ1bnRpbWUtc2VtYW50aWNzLWJpbmRpbmdpbml0aWFsaXphdGlvbgorZGVzY3JpcHRpb246ID4K
KyAgRGVzdHJ1Y3R1cmluZyBpbml0aWFsaXplciBpcyBub3QgZXZhbHVhdGVkIHdoZW4gdmFsdWUg
aXMgYW4gb2JqZWN0CisgIHdpdGggW1tJc0hUTUxEREFdXSBpbnRlcm5hbCBzbG90LgoraW5mbzog
fAorICBCaW5kaW5nUGF0dGVybiA6IEFycmF5QmluZGluZ1BhdHRlcm4KKworICAxLiBMZXQgaXRl
cmF0b3JSZWNvcmQgYmUgPyBHZXRJdGVyYXRvcih2YWx1ZSkuCisgIDIuIExldCByZXN1bHQgYmUg
SXRlcmF0b3JCaW5kaW5nSW5pdGlhbGl6YXRpb24gb2YgQXJyYXlCaW5kaW5nUGF0dGVybiB3aXRo
IGFyZ3VtZW50cworICBpdGVyYXRvclJlY29yZCBhbmQgZW52aXJvbm1lbnQuCisgIDMuIElmIGl0
ZXJhdG9yUmVjb3JkLltbRG9uZV1dIGlzIGZhbHNlLCByZXR1cm4gPyBJdGVyYXRvckNsb3NlKGl0
ZXJhdG9yUmVjb3JkLCByZXN1bHQpLgorICA0LiBSZXR1cm4gcmVzdWx0LgorCisgIFJ1bnRpbWUg
U2VtYW50aWNzOiBJdGVyYXRvckJpbmRpbmdJbml0aWFsaXphdGlvbgorCisgIFNpbmdsZU5hbWVC
aW5kaW5nIDogQmluZGluZ0lkZW50aWZpZXIgSW5pdGlhbGl6ZXJbb3B0XQorCisgIFsuLi5dCisg
IDUuIElmIEluaXRpYWxpemVyIGlzIHByZXNlbnQgYW5kIHYgaXMgdW5kZWZpbmVkLCB0aGVuCisg
ICAgWy4uLl0KKyAgNi4gSWYgZW52aXJvbm1lbnQgaXMgdW5kZWZpbmVkLCByZXR1cm4gPyBQdXRW
YWx1ZShsaHMsIHYpLgorZmVhdHVyZXM6IFtkZXN0cnVjdHVyaW5nLWJpbmRpbmcsIElzSFRNTERE
QV0KKy0tLSovCisKK2xldCBpbml0Q291bnQgPSAwOworY29uc3QgY291bnRlciA9IGZ1bmN0aW9u
KCkgeworICBpbml0Q291bnQgKz0gMTsKK307CisKK2NvbnN0IElzSFRNTEREQSA9ICQyNjIuSXNI
VE1MRERBOworY29uc3QgW3ggPSBjb3VudGVyKCldID0gW0lzSFRNTEREQV07CisKK2Fzc2VydC5z
YW1lVmFsdWUoeCwgSXNIVE1MRERBKTsKK2Fzc2VydC5zYW1lVmFsdWUoaW5pdENvdW50LCAwKTsK
SW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Nv
bnN0L2RzdHIvb2JqZWN0LXBhdHRlcm4tZW11bGF0ZXMtdW5kZWZpbmVkLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NvbnN0
L2RzdHIvb2JqZWN0LXBhdHRlcm4tZW11bGF0ZXMtdW5kZWZpbmVkLmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NvbnN0
L2RzdHIvb2JqZWN0LXBhdHRlcm4tZW11bGF0ZXMtdW5kZWZpbmVkLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzUgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBBbGV4ZXkgU2h2YXlrYS4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtZGVz
dHJ1Y3R1cmluZy1iaW5kaW5nLXBhdHRlcm5zLXJ1bnRpbWUtc2VtYW50aWNzLWJpbmRpbmdpbml0
aWFsaXphdGlvbgorZGVzY3JpcHRpb246ID4KKyAgRGVzdHJ1Y3R1cmluZyBpbml0aWFsaXplciBp
cyBub3QgZXZhbHVhdGVkIHdoZW4gdmFsdWUgaXMgYW4gb2JqZWN0CisgIHdpdGggW1tJc0hUTUxE
REFdXSBpbnRlcm5hbCBzbG90LgoraW5mbzogfAorICBCaW5kaW5nUGF0dGVybiA6IE9iamVjdEJp
bmRpbmdQYXR0ZXJuCisKKyAgMS4gUGVyZm9ybSA/IFJlcXVpcmVPYmplY3RDb2VyY2libGUodmFs
dWUpLgorICAyLiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwZXJmb3JtaW5nIEJpbmRpbmdJbml0aWFs
aXphdGlvbiBmb3IKKyAgT2JqZWN0QmluZGluZ1BhdHRlcm4gdXNpbmcgdmFsdWUgYW5kIGVudmly
b25tZW50IGFzIGFyZ3VtZW50cy4KKworICBSdW50aW1lIFNlbWFudGljczogS2V5ZWRCaW5kaW5n
SW5pdGlhbGl6YXRpb24KKworICBTaW5nbGVOYW1lQmluZGluZyA6IEJpbmRpbmdJZGVudGlmaWVy
IEluaXRpYWxpemVyW29wdF0KKworICBbLi4uXQorICA0LiBJZiBJbml0aWFsaXplciBpcyBwcmVz
ZW50IGFuZCB2IGlzIHVuZGVmaW5lZCwgdGhlbgorICAgIFsuLi5dCisgIDUuIElmIGVudmlyb25t
ZW50IGlzIHVuZGVmaW5lZCwgcmV0dXJuID8gUHV0VmFsdWUobGhzLCB2KS4KK2ZlYXR1cmVzOiBb
ZGVzdHJ1Y3R1cmluZy1iaW5kaW5nLCBJc0hUTUxEREFdCistLS0qLworCitsZXQgaW5pdENvdW50
ID0gMDsKK2NvbnN0IGNvdW50ZXIgPSBmdW5jdGlvbigpIHsKKyAgaW5pdENvdW50ICs9IDE7Cit9
OworCitjb25zdCBJc0hUTUxEREEgPSAkMjYyLklzSFRNTEREQTsKK2NvbnN0IHt4ID0gY291bnRl
cigpfSA9IHt4OiBJc0hUTUxEREF9OworCithc3NlcnQuc2FtZVZhbHVlKHgsIElzSFRNTEREQSk7
Cithc3NlcnQuc2FtZVZhbHVlKGluaXRDb3VudCwgMCk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9hbm5leEIvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mdW5jdGlvbi9kZWZhdWx0LXBhcmFtZXRl
cnMtZW11bGF0ZXMtdW5kZWZpbmVkLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2FubmV4Qi9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2RlZmF1bHQtcGFyYW1ldGVy
cy1lbXVsYXRlcy11bmRlZmluZWQuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYW5uZXhCL2xhbmd1YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24vZGVmYXVsdC1wYXJhbWV0
ZXJzLWVtdWxhdGVzLXVuZGVmaW5lZC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcyIEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQWxleGV5IFNodmF5a2EuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLWZ1bmN0aW9uLWRlZmluaXRpb25z
LXJ1bnRpbWUtc2VtYW50aWNzLWluc3RhbnRpYXRlZnVuY3Rpb25vYmplY3QKK2Rlc2NyaXB0aW9u
OiA+CisgIEluaXRpYWxpemVyIGlzIG5vdCBldmFsdWF0ZWQgd2hlbiBhcmd1bWVudCBpcyBhbiBv
YmplY3Qgd2l0aAorICBbW0lzSFRNTEREQV1dIGludGVybmFsIHNsb3QuCitpbmZvOiB8CisgIEZ1
bmN0aW9uRGVjbGFyYXRpb24gOgorICAgIGZ1bmN0aW9uIEJpbmRpbmdJZGVudGlmaWVyICggRm9y
bWFsUGFyYW1ldGVycyApIHsgRnVuY3Rpb25Cb2R5IH0KKworICAgIFsuLi5dCisgICAgMy4gTGV0
IEYgYmUgRnVuY3Rpb25DcmVhdGUoTm9ybWFsLCBGb3JtYWxQYXJhbWV0ZXJzLCBGdW5jdGlvbkJv
ZHksCisgICAgc2NvcGUsIHN0cmljdCkuCisgICAgWy4uLl0KKworICBbW0NhbGxdXSAoIHRoaXNB
cmd1bWVudCwgYXJndW1lbnRzTGlzdCkKKworICBbLi4uXQorICA3LiBMZXQgcmVzdWx0IGJlIE9y
ZGluYXJ5Q2FsbEV2YWx1YXRlQm9keShGLCBhcmd1bWVudHNMaXN0KS4KKyAgWy4uLl0KKworICBP
cmRpbmFyeUNhbGxFdmFsdWF0ZUJvZHkgKCBGLCBhcmd1bWVudHNMaXN0ICkKKworICAxLiBMZXQg
c3RhdHVzIGJlIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKEYsIGFyZ3VtZW50c0xp
c3QpLgorICBbLi4uXQorCisgIEZ1bmN0aW9uRGVjbGFyYXRpb25JbnN0YW50aWF0aW9uKGZ1bmMs
IGFyZ3VtZW50c0xpc3QpCisKKyAgWy4uLl0KKyAgMjMuIExldCBpdGVyYXRvclJlY29yZCBiZSBS
ZWNvcmQge1tbaXRlcmF0b3JdXToKKyAgQ3JlYXRlTGlzdEl0ZXJhdG9yKGFyZ3VtZW50c0xpc3Qp
LCBbW2RvbmVdXTogZmFsc2V9LgorICAyNC4gSWYgaGFzRHVwbGljYXRlcyBpcyB0cnVlLCB0aGVu
CisgICAgWy4uLl0KKyAgMjUuIEVsc2UsCisgICAgYi4gTGV0IGZvcm1hbFN0YXR1cyBiZSBJdGVy
YXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgaXRlcmF0b3JS
ZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgIFsuLi5dCisKKyAgUnVudGltZSBTZW1hbnRp
Y3M6IEl0ZXJhdG9yQmluZGluZ0luaXRpYWxpemF0aW9uCisKKyAgRm9ybWFsc0xpc3QgOiBGb3Jt
YWxzTGlzdCAsIEZvcm1hbFBhcmFtZXRlcgorCisgIFsuLi5dCisgIDIzLiBMZXQgaXRlcmF0b3JS
ZWNvcmQgYmUgUmVjb3JkIHtbW0l0ZXJhdG9yXV06CisgIENyZWF0ZUxpc3RJdGVyYXRvcihhcmd1
bWVudHNMaXN0KSwgW1tEb25lXV06IGZhbHNlfS4KKyAgMjQuIElmIGhhc0R1cGxpY2F0ZXMgaXMg
dHJ1ZSwgdGhlbgorICAgIFsuLi5dCisgIDI1LiBFbHNlLAorICAgIGEuIFBlcmZvcm0gPyBJdGVy
YXRvckJpbmRpbmdJbml0aWFsaXphdGlvbiBmb3IgZm9ybWFscyB3aXRoCisgICAgaXRlcmF0b3JS
ZWNvcmQgYW5kIGVudiBhcyBhcmd1bWVudHMuCisgIFsuLi5dCitmZWF0dXJlczogW2RlZmF1bHQt
cGFyYW1ldGVycywgSXNIVE1MRERBXQorLS0tKi8KKworbGV0IGluaXRDb3VudCA9IDA7Citjb25z
dCBjb3VudGVyID0gZnVuY3Rpb24oKSB7CisgIGluaXRDb3VudCArPSAxOworfTsKKworY29uc3Qg
YXJyb3cgPSAoeCA9IGNvdW50ZXIoKSkgPT4geDsKK2NvbnN0IElzSFRNTEREQSA9ICQyNjIuSXNI
VE1MRERBOworCithc3NlcnQuc2FtZVZhbHVlKGFycm93KElzSFRNTEREQSksIElzSFRNTEREQSk7
Cithc3NlcnQuc2FtZVZhbHVlKGluaXRDb3VudCwgMCk7CisKK2Z1bmN0aW9uIGZuKHgsIHkgPSBj
b3VudGVyKCkpIHsKKyAgcmV0dXJuIHk7Cit9CisKK2Fzc2VydC5zYW1lVmFsdWUoZm4oMSwgSXNI
VE1MRERBKSwgSXNIVE1MRERBKTsKK2Fzc2VydC5zYW1lVmFsdWUoaW5pdENvdW50LCAwKTsKSW5k
ZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Bc3luY0Zyb21TeW5jSXRlcmF0b3JQ
cm90b3R5cGUvbmV4dC9hYnNlbnQtdmFsdWUtbm90LXBhc3NlZC5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXN5bmNGcm9tU3luY0l0ZXJhdG9yUHJvdG90
eXBlL25leHQvYWJzZW50LXZhbHVlLW5vdC1wYXNzZWQuanMJKHJldmlzaW9uIDI2MDU3MCkKKysr
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Bc3luY0Zyb21TeW5jSXRlcmF0b3JQcm90
b3R5cGUvbmV4dC9hYnNlbnQtdmFsdWUtbm90LXBhc3NlZC5qcwkod29ya2luZyBjb3B5KQpAQCAt
MjksMTAgKzI5LDggQEAgdmFyIHN5bmNJdGVyYXRvciA9IHsKICAgfSwKIH07CiAKLXZhciBhc3lu
Y0l0ZXJhdG9yID0gKGFzeW5jIGZ1bmN0aW9uKiAoKSB7Ci0gIHlpZWxkKiBzeW5jSXRlcmF0b3I7
Ci19KSgpOworKGFzeW5jIGZ1bmN0aW9uICgpIHsKKyAgZm9yIGF3YWl0IChsZXQgXyBvZiBzeW5j
SXRlcmF0b3IpOwogCi1hc3luY0l0ZXJhdG9yLm5leHQoKS50aGVuKGZ1bmN0aW9uKCkgewogICBh
c3NlcnQuc2FtZVZhbHVlKG5leHRBcmd1bWVudHNMZW5ndGgsIDApOwotfSkudGhlbigkRE9ORSwg
JERPTkUpOworfSkoKS50aGVuKCRET05FLCAkRE9ORSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvQXN5bmNGcm9tU3luY0l0ZXJhdG9yUHJvdG90eXBlL3JldHVybi9hYnNl
bnQtdmFsdWUtbm90LXBhc3NlZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvQXN5bmNGcm9tU3luY0l0ZXJhdG9yUHJvdG90eXBlL3JldHVybi9hYnNlbnQt
dmFsdWUtbm90LXBhc3NlZC5qcwkocmV2aXNpb24gMjYwNTcwKQorKysgSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0FzeW5jRnJvbVN5bmNJdGVyYXRvclByb3RvdHlwZS9yZXR1cm4vYWJz
ZW50LXZhbHVlLW5vdC1wYXNzZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTMyLDEyICszMiwxMCBA
QCB2YXIgc3luY0l0ZXJhdG9yID0gewogICB9LAogfTsKIAotdmFyIGFzeW5jSXRlcmF0b3IgPSAo
YXN5bmMgZnVuY3Rpb24qICgpIHsKLSAgeWllbGQqIHN5bmNJdGVyYXRvcjsKLX0pKCk7CisoYXN5
bmMgZnVuY3Rpb24gKCkgeworICBmb3IgYXdhaXQgKGxldCBfIG9mIHN5bmNJdGVyYXRvcikgewor
ICAgIGJyZWFrOworICB9CiAKLWFzeW5jSXRlcmF0b3IubmV4dCgpLnRoZW4oZnVuY3Rpb24oKSB7
Ci0gIHJldHVybiBhc3luY0l0ZXJhdG9yLnJldHVybigpOwotfSkudGhlbihmdW5jdGlvbigpIHsK
ICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXR1cm5Bcmd1bWVudHNMZW5ndGgsIDApOwotfSkudGhlbigk
RE9ORSwgJERPTkUpOworfSkoKS50aGVuKCRET05FLCAkRE9ORSk7CkluZGV4OiBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvQXN5bmNGcm9tU3luY0l0ZXJhdG9yUHJvdG90eXBlL3Rocm93
L2Fic2VudC12YWx1ZS1ub3QtcGFzc2VkLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9Bc3luY0Zyb21TeW5jSXRlcmF0b3JQcm90b3R5cGUvdGhyb3cvYWJz
ZW50LXZhbHVlLW5vdC1wYXNzZWQuanMJKHJldmlzaW9uIDI2MDU3MCkKKysrIEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9Bc3luY0Zyb21TeW5jSXRlcmF0b3JQcm90b3R5cGUvdGhyb3cv
YWJzZW50LXZhbHVlLW5vdC1wYXNzZWQuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSw0NSArMCwwIEBA
Ci0vLyBDb3B5cmlnaHQgKEMpIDIwMjAgQWxleGV5IFNodmF5a2EuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lc2lkOiBzZWMtJWFzeW5jZnJvbXN5bmNpdGVy
YXRvcnByb3RvdHlwZSUudGhyb3cKLWRlc2NyaXB0aW9uOiA+Ci0gIGB0aHJvd2AgbWV0aG9kIGRv
ZXMgbm90IHBhc3MgYWJzZW50IGB2YWx1ZWAuCi1pbmZvOiB8Ci0gICVBc3luY0Zyb21TeW5jSXRl
cmF0b3JQcm90b3R5cGUlLnRocm93ICggdmFsdWUgKQotCi0gIFsuLi5dCi0gIDguIElmIHZhbHVl
IGlzIHByZXNlbnQsIHRoZW4KLSAgICBbLi4uXQotICA5LiBFbHNlLAotICAgIGEuIExldCByZXN1
bHQgYmUgQ2FsbCh0aHJvdywgc3luY0l0ZXJhdG9yKS4KLSAgWy4uLl0KLWZsYWdzOiBbYXN5bmNd
Ci1mZWF0dXJlczogW2FzeW5jLWl0ZXJhdGlvbl0KLS0tLSovCi0KLXZhciB0aHJvd0FyZ3VtZW50
c0xlbmd0aDsKLXZhciBzeW5jSXRlcmF0b3IgPSB7Ci0gIFtTeW1ib2wuaXRlcmF0b3JdKCkgewot
ICAgIHJldHVybiB0aGlzOwotICB9LAotICBuZXh0KCkgewotICAgIHJldHVybiB7ZG9uZTogZmFs
c2V9OwotICB9LAotICB0aHJvdygpIHsKLSAgICB0aHJvd0FyZ3VtZW50c0xlbmd0aCA9IGFyZ3Vt
ZW50cy5sZW5ndGg7Ci0gICAgcmV0dXJuIHtkb25lOiB0cnVlfTsKLSAgfSwKLX07Ci0KLXZhciBh
c3luY0l0ZXJhdG9yID0gKGFzeW5jIGZ1bmN0aW9uKiAoKSB7Ci0gIHlpZWxkKiBzeW5jSXRlcmF0
b3I7Ci19KSgpOwotCi1hc3luY0l0ZXJhdG9yLm5leHQoKS50aGVuKGZ1bmN0aW9uKCkgewotICBy
ZXR1cm4gYXN5bmNJdGVyYXRvci50aHJvdygpOwotfSkudGhlbihmdW5jdGlvbihyZXN1bHQpIHsK
LSAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiUHJvbWlzZSBzaG91bGQgYmUgcmVqZWN0ZWQsIGdv
dDogIiArIHJlc3VsdC52YWx1ZSk7Ci19LCBmdW5jdGlvbigpIHsKLSAgYXNzZXJ0LnNhbWVWYWx1
ZSh0aHJvd0FyZ3VtZW50c0xlbmd0aCwgMCk7Ci19KS50aGVuKCRET05FLCAkRE9ORSk7CkluZGV4
OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0L25lZ2F0aXZlLXRp
bWVvdXQtYWdlbnQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0F0b21pY3Mvd2FpdC9uZWdhdGl2ZS10aW1lb3V0LWFnZW50LmpzCShyZXZpc2lvbiAyNjA1
NzApCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0L25lZ2F0
aXZlLXRpbWVvdXQtYWdlbnQuanMJKHdvcmtpbmcgY29weSkKQEAgLTEyLDcgKzEyLDcgQEAgZmVh
dHVyZXM6IFtBdG9taWNzLCBTaGFyZWRBcnJheUJ1ZmZlciwgVAogY29uc3QgUlVOTklORyA9IDE7
CiAKICQyNjIuYWdlbnQuc3RhcnQoYAotICAkMjYyLmFnZW50LnJlY2VpdmVCcm9hZGNhc3QoZnVu
Y3Rpb24oc2FiLCBpZCkgeworICAkMjYyLmFnZW50LnJlY2VpdmVCcm9hZGNhc3QoZnVuY3Rpb24o
c2FiKSB7CiAgICAgdmFyIGkzMmEgPSBuZXcgSW50MzJBcnJheShzYWIpOwogICAgIEF0b21pY3Mu
YWRkKGkzMmEsICR7UlVOTklOR30sIDEpOwogCkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvQXRvbWljcy93YWl0L25vLXNwdXJpb3VzLXdha2V1cC1uby1vcGVyYXRpb24uanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2Fp
dC9uby1zcHVyaW91cy13YWtldXAtbm8tb3BlcmF0aW9uLmpzCShyZXZpc2lvbiAyNjA1NzApCisr
KyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0L25vLXNwdXJpb3Vz
LXdha2V1cC1uby1vcGVyYXRpb24uanMJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAg
Y29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KAogKTsKIAogJDI2Mi5hZ2VudC5zdGFydChgCi0g
ICQyNjIuYWdlbnQucmVjZWl2ZUJyb2FkY2FzdChmdW5jdGlvbihzYWIsIGlkKSB7CisgICQyNjIu
YWdlbnQucmVjZWl2ZUJyb2FkY2FzdChmdW5jdGlvbihzYWIpIHsKICAgICBjb25zdCBpMzJhID0g
bmV3IEludDMyQXJyYXkoc2FiKTsKICAgICBBdG9taWNzLmFkZChpMzJhLCAke1JVTk5JTkd9LCAx
KTsKIApJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdC92
YWxpZGF0ZS1hcnJheXR5cGUtYmVmb3JlLWluZGV4LWNvZXJjaW9uLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXQvdmFsaWRhdGUtYXJy
YXl0eXBlLWJlZm9yZS1pbmRleC1jb2VyY2lvbi5qcwkocmV2aXNpb24gMjYwNTcwKQorKysgSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdC92YWxpZGF0ZS1hcnJheXR5
cGUtYmVmb3JlLWluZGV4LWNvZXJjaW9uLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yLDcgKzIsNyBA
QAogLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgogCiAvKi0tLQotZXNpZDogc2VjLWF0b21pY3Mubm90aWZ5Citlc2lk
OiBzZWMtYXRvbWljcy53YWl0CiBkZXNjcmlwdGlvbjogPgogICBUeXBlZEFycmF5IHR5cGUgaXMg
dmFsaWRhdGVkIGJlZm9yZSBgaW5kZXhgIGFyZ3VtZW50IGlzIGNvZXJjZWQuCiBpbmZvOiB8Cklu
ZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0L2JpZ2ludC9u
ZWdhdGl2ZS10aW1lb3V0LWFnZW50LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXQvYmlnaW50L25lZ2F0aXZlLXRpbWVvdXQtYWdlbnQu
anMJKHJldmlzaW9uIDI2MDU3MCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9B
dG9taWNzL3dhaXQvYmlnaW50L25lZ2F0aXZlLXRpbWVvdXQtYWdlbnQuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTE2LDcgKzE2LDcgQEAgY29uc3QgaTY0YSA9IG5ldyBCaWdJbnQ2NEFycmF5KAogY29u
c3QgUlVOTklORyA9IDE7CiAKICQyNjIuYWdlbnQuc3RhcnQoYAotICAkMjYyLmFnZW50LnJlY2Vp
dmVCcm9hZGNhc3QoZnVuY3Rpb24oc2FiLCBpZCkgeworICAkMjYyLmFnZW50LnJlY2VpdmVCcm9h
ZGNhc3QoZnVuY3Rpb24oc2FiKSB7CiAgICAgY29uc3QgaTY0YSA9IG5ldyBCaWdJbnQ2NEFycmF5
KHNhYik7CiAgICAgQXRvbWljcy5hZGQoaTY0YSwgJHtSVU5OSU5HfSwgMW4pOwogCkluZGV4OiBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0L2JpZ2ludC9uby1zcHVy
aW91cy13YWtldXAtbm8tb3BlcmF0aW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXQvYmlnaW50L25vLXNwdXJpb3VzLXdha2V1cC1u
by1vcGVyYXRpb24uanMJKHJldmlzaW9uIDI2MDU3MCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9BdG9taWNzL3dhaXQvYmlnaW50L25vLXNwdXJpb3VzLXdha2V1cC1uby1vcGVy
YXRpb24uanMJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAgY29uc3QgaTY0YSA9IG5l
dyBCaWdJbnQ2NEFycmF5KAogKTsKIAogJDI2Mi5hZ2VudC5zdGFydChgCi0gICQyNjIuYWdlbnQu
cmVjZWl2ZUJyb2FkY2FzdChmdW5jdGlvbihzYWIsIGlkKSB7CisgICQyNjIuYWdlbnQucmVjZWl2
ZUJyb2FkY2FzdChmdW5jdGlvbihzYWIpIHsKICAgICBjb25zdCBpNjRhID0gbmV3IEJpZ0ludDY0
QXJyYXkoc2FiKTsKICAgICBBdG9taWNzLmFkZChpNjRhLCAke1JVTk5JTkd9LCAxbik7CiAKSW5k
ZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iYWQt
cmFuZ2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0
b21pY3Mvd2FpdEFzeW5jL2JhZC1yYW5nZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmFkLXJhbmdlLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdh
bGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lk
OiBzZWMtYXRvbWljcy53YWl0YXN5bmMKK2Rlc2NyaXB0aW9uOiA+CisgIFRlc3QgcmFuZ2UgY2hl
Y2tpbmcgb2YgQXRvbWljcy53YWl0QXN5bmMgb24gYXJyYXlzIHRoYXQgYWxsb3cgYXRvbWljIG9w
ZXJhdGlvbnMKK2luZm86IHwKKyAgQXRvbWljcy53YWl0QXN5bmMoIHR5cGVkQXJyYXksIGluZGV4
LCB2YWx1ZSwgdGltZW91dCApCisKKyAgMS4gUmV0dXJuIERvV2FpdChhc3luYywgdHlwZWRBcnJh
eSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0KS4KKworICBEb1dhaXQgKCBtb2RlLCB0eXBlZEFycmF5
LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQgKQorCisgIC4uLgorICAyLiBMZXQgaSBiZSA/IFZhbGlk
YXRlQXRvbWljQWNjZXNzKHR5cGVkQXJyYXksIGluZGV4KS4KKyAgLi4uCisKK2luY2x1ZGVzOiBb
dGVzdEF0b21pY3MuanNdCitmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBBdG9taWNzLCBT
aGFyZWRBcnJheUJ1ZmZlciwgQXJyYXlCdWZmZXIsIERhdGFWaWV3LCBTeW1ib2wsIFR5cGVkQXJy
YXldCistLS0qLworY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KAorICBuZXcgU2hhcmVkQXJy
YXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDgpCispOworCit0ZXN0V2l0
aEF0b21pY3NPdXRPZkJvdW5kc0luZGljZXMoZnVuY3Rpb24oSWR4R2VuKSB7CisgIGFzc2VydC50
aHJvd3MoUmFuZ2VFcnJvciwgZnVuY3Rpb24oKSB7CisgICAgQXRvbWljcy53YWl0QXN5bmMoaTMy
YSwgSWR4R2VuKGkzMmEpLCAwLCAwKTsKKyAgfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpMzJhLCBJ
ZHhHZW4oaTMyYSksIDAsIDApYCB0aHJvd3MgUmFuZ2VFcnJvcicpOworfSk7CisKKwpJbmRleDog
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2Rlc2NyaXB0
b3IuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21p
Y3Mvd2FpdEFzeW5jL2Rlc2NyaXB0b3IuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2Rlc2NyaXB0b3IuanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwyMSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2Fs
ZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6
IHNlYy1hdG9taWNzLndhaXRhc3luYworZGVzY3JpcHRpb246IEF0b21pY3Mud2FpdEFzeW5jIHBy
b3BlcnR5IGRlc2NyaXB0b3IKK2luZm86IHwKKyAgRVMgU2VjdGlvbiAxNworCisgIEV2ZXJ5IG90
aGVyIGRhdGEgcHJvcGVydHkgZGVzY3JpYmVkIGluIGNsYXVzZXMgMTggdGhyb3VnaCAyNiBhbmQg
aW4gQW5uZXgKKyAgQi4yIGhhcyB0aGUgYXR0cmlidXRlcyB7IFtbV3JpdGFibGVdXTogdHJ1ZSwg
W1tFbnVtZXJhYmxlXV06IGZhbHNlLAorICBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0gdW5sZXNz
IG90aGVyd2lzZSBzcGVjaWZpZWQuCitpbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQorZmVh
dHVyZXM6IFtBdG9taWNzLndhaXRBc3luY10KKy0tLSovCisKK3ZlcmlmeVByb3BlcnR5KEF0b21p
Y3MsICd3YWl0QXN5bmMnLCB7CisgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKKyAgd3JpdGFibGU6IHRy
dWUsCisgIGVudW1lcmFibGU6IGZhbHNlLAorfSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvZmFsc2UtZm9yLXRpbWVvdXQtYWdlbnQuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2Fp
dEFzeW5jL2ZhbHNlLWZvci10aW1lb3V0LWFnZW50LmpzCShub25leGlzdGVudCkKKysrIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9mYWxzZS1mb3ItdGlt
ZW91dC1hZ2VudC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDkxIEBACisvLyBDb3B5cmln
aHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorCisvKi0tLQorZXNpZDogc2VjLWF0b21pY3Mud2FpdGFzeW5jCitkZXNjcmlwdGlvbjog
PgorICBGYWxzZSB0aW1lb3V0IGFyZyBzaG91bGQgcmVzdWx0IGluIGFuICswIHRpbWVvdXQKK2lu
Zm86IHwKKyAgQXRvbWljcy53YWl0QXN5bmMoIHR5cGVkQXJyYXksIGluZGV4LCB2YWx1ZSwgdGlt
ZW91dCApCisKKyAgMS4gUmV0dXJuIERvV2FpdChhc3luYywgdHlwZWRBcnJheSwgaW5kZXgsIHZh
bHVlLCB0aW1lb3V0KS4KKworICBEb1dhaXQgKCBtb2RlLCB0eXBlZEFycmF5LCBpbmRleCwgdmFs
dWUsIHRpbWVvdXQgKQorCisgIDYuIExldCBxIGJlID8gVG9OdW1iZXIodGltZW91dCkuCisKK2Zs
YWdzOiBbYXN5bmNdCitpbmNsdWRlczogW2F0b21pY3NIZWxwZXIuanNdCitmZWF0dXJlczogW0F0
b21pY3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgQXRvbWljc10K
Ky0tLSovCitjb25zdCBSVU5OSU5HID0gMTsKKworJDI2Mi5hZ2VudC5zdGFydChgCisgIGNvbnN0
IHZhbHVlT2YgPSB7CisgICAgdmFsdWVPZigpIHsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9
CisgIH07CisKKyAgY29uc3QgdG9QcmltaXRpdmUgPSB7CisgICAgW1N5bWJvbC50b1ByaW1pdGl2
ZV0oKSB7CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICB9OworCisgICQyNjIuYWdlbnQu
cmVjZWl2ZUJyb2FkY2FzdChhc3luYyAoc2FiKSA9PiB7CisgICAgY29uc3QgaTMyYSA9IG5ldyBJ
bnQzMkFycmF5KHNhYik7CisgICAgQXRvbWljcy5hZGQoaTMyYSwgJHtSVU5OSU5HfSwgMSk7Cisg
ICAgJDI2Mi5hZ2VudC5yZXBvcnQoYXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwg
ZmFsc2UpLnZhbHVlKTsKKyAgICAkMjYyLmFnZW50LnJlcG9ydChhd2FpdCBBdG9taWNzLndhaXRB
c3luYyhpMzJhLCAwLCAwLCB2YWx1ZU9mKS52YWx1ZSk7CisgICAgJDI2Mi5hZ2VudC5yZXBvcnQo
YXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgdG9QcmltaXRpdmUpLnZhbHVlKTsK
KyAgICAkMjYyLmFnZW50LnJlcG9ydChBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCBmYWxz
ZSkudmFsdWUpOworICAgICQyNjIuYWdlbnQucmVwb3J0KEF0b21pY3Mud2FpdEFzeW5jKGkzMmEs
IDAsIDAsIHZhbHVlT2YpLnZhbHVlKTsKKyAgICAkMjYyLmFnZW50LnJlcG9ydChBdG9taWNzLndh
aXRBc3luYyhpMzJhLCAwLCAwLCB0b1ByaW1pdGl2ZSkudmFsdWUpOworICAgICQyNjIuYWdlbnQu
bGVhdmluZygpOworICB9KTsKK2ApOworCitjb25zdCBpMzJhID0gbmV3IEludDMyQXJyYXkoCisg
IG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkK
Kyk7CiskMjYyLmFnZW50LnNhZmVCcm9hZGNhc3RBc3luYyhpMzJhLCBSVU5OSU5HLCAxKS50aGVu
KGFzeW5jIChhZ2VudENvdW50KSA9PiB7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50
LCAxKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVw
b3J0QXN5bmMoKSwKKyAgICAndGltZWQtb3V0JywKKyAgICAnYXdhaXQgQXRvbWljcy53YWl0QXN5
bmMoaTMyYSwgMCwgMCwgZmFsc2UpLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICAp
OworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5
bmMoKSwKKyAgICAndGltZWQtb3V0JywKKyAgICAnYXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTMy
YSwgMCwgMCwgdmFsdWVPZikudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICk7Cisg
IGFzc2VydC5zYW1lVmFsdWUoCisgICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygp
LAorICAgICd0aW1lZC1vdXQnLAorICAgICdhd2FpdCBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAw
LCAwLCB0b1ByaW1pdGl2ZSkudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICk7Cisg
IGFzc2VydC5zYW1lVmFsdWUoCisgICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygp
LAorICAgICd0aW1lZC1vdXQnLAorICAgICdBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCBm
YWxzZSkudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICk7CisgIGFzc2VydC5zYW1l
VmFsdWUoCisgICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAorICAgICd0aW1l
ZC1vdXQnLAorICAgICdBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB2YWx1ZU9mKS52YWx1
ZSByZXNvbHZlcyB0byAidGltZWQtb3V0IicKKyAgKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
ICBhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCksCisgICAgJ3RpbWVkLW91dCcsCisg
ICAgJ0F0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIHRvUHJpbWl0aXZlKS52YWx1ZSByZXNv
bHZlcyB0byAidGltZWQtb3V0IicKKyAgKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mu
bm90aWZ5KGkzMmEsIDApLCAwLCAnQXRvbWljcy5ub3RpZnkoaTMyYSwgMCkgcmV0dXJucyAwJyk7
CisKK30pLnRoZW4oJERPTkUsICRET05FKTsKKworCkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvZmFsc2UtZm9yLXRpbWVvdXQuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5j
L2ZhbHNlLWZvci10aW1lb3V0LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9mYWxzZS1mb3ItdGltZW91dC5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDYyIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBX
YWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLWF0b21pY3Mud2FpdGFzeW5jCitkZXNjcmlwdGlvbjogPgorICBGYWxzZSB0aW1lb3V0
IGFyZyBzaG91bGQgcmVzdWx0IGluIGFuICswIHRpbWVvdXQKK2luZm86IHwKKyAgQXRvbWljcy53
YWl0QXN5bmMoIHR5cGVkQXJyYXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCApCisKKyAgMS4gUmV0
dXJuIERvV2FpdChhc3luYywgdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0KS4KKwor
ICBEb1dhaXQgKCBtb2RlLCB0eXBlZEFycmF5LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQgKQorCisg
IDYuIExldCBxIGJlID8gVG9OdW1iZXIodGltZW91dCkuCisKK2ZsYWdzOiBbYXN5bmNdCitmZWF0
dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwg
QXRvbWljc10KKy0tLSovCitjb25zdCBpMzJhID0gbmV3IEludDMyQXJyYXkoCisgIG5ldyBTaGFy
ZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkKKyk7CisKK2Nv
bnN0IHZhbHVlT2YgPSB7CisgIHZhbHVlT2YoKSB7CisgICAgcmV0dXJuIGZhbHNlOworICB9Cit9
OworCitjb25zdCB0b1ByaW1pdGl2ZSA9IHsKKyAgW1N5bWJvbC50b1ByaW1pdGl2ZV0oKSB7Cisg
ICAgcmV0dXJuIGZhbHNlOworICB9Cit9OworCithc3NlcnQuc2FtZVZhbHVlKAorICBBdG9taWNz
LndhaXRBc3luYyhpMzJhLCAwLCAwLCBmYWxzZSkudmFsdWUsCisgICd0aW1lZC1vdXQnLAorICAn
QXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgZmFsc2UpLnZhbHVlIHJlc29sdmVzIHRvICJ0
aW1lZC1vdXQiJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgQXRvbWljcy53YWl0QXN5bmMo
aTMyYSwgMCwgMCwgdmFsdWVPZikudmFsdWUsCisgICd0aW1lZC1vdXQnLAorICAnQXRvbWljcy53
YWl0QXN5bmMoaTMyYSwgMCwgMCwgZmFsc2UpLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQi
JworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwg
MCwgdG9QcmltaXRpdmUpLnZhbHVlLAorICAndGltZWQtb3V0JywKKyAgJ0F0b21pY3Mud2FpdEFz
eW5jKGkzMmEsIDAsIDAsIGZhbHNlKS52YWx1ZSByZXNvbHZlcyB0byAidGltZWQtb3V0IicKKyk7
CisKK1Byb21pc2UuYWxsKFsKKyAgICBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCBmYWxz
ZSkudmFsdWUsCisgICAgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgdmFsdWVPZikudmFs
dWUsCisgICAgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgdG9QcmltaXRpdmUpLnZhbHVl
LAorICBdKS50aGVuKG91dGNvbWVzID0+IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWVz
WzBdLCAndGltZWQtb3V0Jyk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShvdXRjb21lc1sxXSwgJ3Rp
bWVkLW91dCcpOworICAgIGFzc2VydC5zYW1lVmFsdWUob3V0Y29tZXNbMl0sICd0aW1lZC1vdXQn
KTsKKyAgfSwgJERPTkUpLnRoZW4oJERPTkUsICRET05FKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9nb29kLXZpZXdzLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9n
b29kLXZpZXdzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9BdG9taWNzL3dhaXRBc3luYy9nb29kLXZpZXdzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNjMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtYXRvbWljcy53
YWl0YXN5bmMKK2Rlc2NyaXB0aW9uOiA+CisgIFRlc3QgQXRvbWljcy53YWl0QXN5bmMgb24gYXJy
YXlzIHRoYXQgYWxsb3cgYXRvbWljIG9wZXJhdGlvbnMKK2luY2x1ZGVzOiBbYXRvbWljc0hlbHBl
ci5qc10KK2ZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIEF0b21pY3NdCistLS0qLworCisk
MjYyLmFnZW50LnN0YXJ0KGAKKyAgKGFzeW5jICgpID0+IHsKKyAgICB2YXIgc2FiID0gbmV3IFNo
YXJlZEFycmF5QnVmZmVyKDEwMjQpOworICAgIHZhciBhYiA9IG5ldyBBcnJheUJ1ZmZlcigxNik7
CisKKyAgICB2YXIgZ29vZF9pbmRpY2VzID0gWyAodmlldykgPT4gMC8tMSwgLy8gLTAKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAodmlldykgPT4gJy0wJywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAodmlldykgPT4gdmlldy5sZW5ndGggLSAxLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICh2aWV3KSA9PiAoeyB2YWx1ZU9mOiAoKSA9PiAwIH0pLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICh2aWV3KSA9PiAoeyB0b1N0cmluZzogKCkgPT4gJzAnLCB2YWx1ZU9mOiBmYWxzZSB9KSAv
LyBub24tY2FsbGFibGUgdmFsdWVPZiB0cmlnZ2VycyBpbnZvY2F0aW9uIG9mIHRvU3RyaW5nCisg
ICAgICAgICAgICAgICAgICAgICAgIF07CisKKyAgICB2YXIgdmlldyA9IG5ldyBJbnQzMkFycmF5
KHNhYiwgMzIsIDIwKTsKKworICAgIHZpZXdbMF0gPSAwOworICAgICQyNjIuYWdlbnQucmVwb3J0
KCJBICIgKyAoYXdhaXQgQXRvbWljcy53YWl0QXN5bmModmlldywgMCwgMCwgMCkudmFsdWUpKQor
ICAgICQyNjIuYWdlbnQucmVwb3J0KCJCICIgKyAoYXdhaXQgQXRvbWljcy53YWl0QXN5bmModmll
dywgMCwgMzcsIDApLnZhbHVlKSk7CisKKyAgICAvLyBJbi1ib3VuZHMgYm91bmRhcnkgY2FzZXMg
Zm9yIGluZGV4aW5nCisgICAgZm9yICggbGV0IElkeEdlbiBvZiBnb29kX2luZGljZXMgKSB7Cisg
ICAgICAgIGxldCBJZHggPSBJZHhHZW4odmlldyk7CisgICAgICAgIHZpZXcuZmlsbCgwKTsKKyAg
ICAgICAgLy8gQXRvbWljcy5zdG9yZSgpIGNvbXB1dGVzIGFuIGluZGV4IGZyb20gSWR4IGluIHRo
ZSBzYW1lIHdheSBhcyBvdGhlcgorICAgICAgICAvLyBBdG9taWNzIG9wZXJhdGlvbnMsIG5vdCBx
dWl0ZSBsaWtlIHZpZXdbSWR4XS4KKyAgICAgICAgQXRvbWljcy5zdG9yZSh2aWV3LCBJZHgsIDM3
KTsKKyAgICAgICAgJDI2Mi5hZ2VudC5yZXBvcnQoIkMgIiArIChhd2FpdCBBdG9taWNzLndhaXRB
c3luYyh2aWV3LCBJZHgsIDApLnZhbHVlKSk7CisgICAgfQorICAgICQyNjIuYWdlbnQucmVwb3J0
KCJkb25lIik7CisgICAgJDI2Mi5hZ2VudC5sZWF2aW5nKCk7CisgIH0pKCk7CitgKTsKKworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgJDI2Mi5hZ2VudC5nZXRSZXBvcnQoKSwKKyAgJ0EgdGltZWQtb3V0
JywKKyAgJyJBICIgKyAoYXdhaXQgQXRvbWljcy53YWl0QXN5bmModmlldywgMCwgMCwgMCkudmFs
dWUgcmVzb2x2ZXMgdG8gIkEgdGltZWQtb3V0IicKKyk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisg
ICQyNjIuYWdlbnQuZ2V0UmVwb3J0KCksCisgICdCIG5vdC1lcXVhbCcsCisgICciQiAiICsgKGF3
YWl0IEF0b21pY3Mud2FpdEFzeW5jKHZpZXcsIDAsIDM3LCAwKS52YWx1ZSByZXNvbHZlcyB0byAi
QiBub3QtZXF1YWwiJworKTsKKwordmFyIHI7Cit3aGlsZSAoKHIgPSAkMjYyLmFnZW50LmdldFJl
cG9ydCgpKSAhPT0gImRvbmUiKSB7CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgciwKKyAgICAn
QyBub3QtZXF1YWwnLAorICAgICciQyAiICsgKGF3YWl0IEF0b21pY3Mud2FpdEFzeW5jKHZpZXcs
IElkeCwgMCkudmFsdWUgcmVzb2x2ZXMgdG8gIkMgbm90LWVxdWFsIicKKyAgKTsKK30KSW5kZXg6
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9pcy1mdW5j
dGlvbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRv
bWljcy93YWl0QXN5bmMvaXMtZnVuY3Rpb24uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2lzLWZ1bmN0aW9uLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNr
IFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitl
c2lkOiBzZWMtYXRvbWljcy53YWl0YXN5bmMKK2Rlc2NyaXB0aW9uOiBBdG9taWNzLndhaXRBc3lu
YyBpcyBjYWxsYWJsZQorZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luY10KKy0tLSovCisKK2Fz
c2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nKTsKSW5k
ZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9sZW5n
dGguanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21p
Y3Mvd2FpdEFzeW5jL2xlbmd0aC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbGVuZ3RoLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzEgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtYXRv
bWljcy53YWl0YXN5bmMKK2Rlc2NyaXB0aW9uOiA+CisgIEF0b21pY3Mud2FpdEFzeW5jLmxlbmd0
aCBpcyA0LgoraW5mbzogfAorICBBdG9taWNzLndhaXRBc3luYyAoIGlhLCBpbmRleCwgZXhwZWN0
LCB0aW1lb3V0ICkKKworICAxNyBFQ01BU2NyaXB0IFN0YW5kYXJkIEJ1aWx0LWluIE9iamVjdHM6
CisgICAgRXZlcnkgYnVpbHQtaW4gRnVuY3Rpb24gb2JqZWN0LCBpbmNsdWRpbmcgY29uc3RydWN0
b3JzLCBoYXMgYSBsZW5ndGgKKyAgICBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhbiBpbnRlZ2Vy
LiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhpcworICAgIHZhbHVlIGlzIGVxdWFsIHRv
IHRoZSBsYXJnZXN0IG51bWJlciBvZiBuYW1lZCBhcmd1bWVudHMgc2hvd24gaW4gdGhlCisgICAg
c3ViY2xhdXNlIGhlYWRpbmdzIGZvciB0aGUgZnVuY3Rpb24gZGVzY3JpcHRpb24sIGluY2x1ZGlu
ZyBvcHRpb25hbAorICAgIHBhcmFtZXRlcnMuIEhvd2V2ZXIsIHJlc3QgcGFyYW1ldGVycyBzaG93
biB1c2luZyB0aGUgZm9ybSDigJwuLi5uYW1l4oCdCisgICAgYXJlIG5vdCBpbmNsdWRlZCBpbiB0
aGUgZGVmYXVsdCBhcmd1bWVudCBjb3VudC4KKworICAgIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lm
aWVkLCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIGEgYnVpbHQtaW4gRnVuY3Rpb24KKyAgICBvYmpl
Y3QgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxl
XV06IGZhbHNlLAorICAgIFtbQ29uZmlndXJhYmxlXV06IHRydWUgfS4KK2luY2x1ZGVzOiBbcHJv
cGVydHlIZWxwZXIuanNdCitmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLEF0b21pY3NdCist
LS0qLworCit2ZXJpZnlQcm9wZXJ0eShBdG9taWNzLndhaXRBc3luYywgJ2xlbmd0aCcsIHsKKyAg
dmFsdWU6IDQsCisgIGVudW1lcmFibGU6IGZhbHNlLAorICB3cml0YWJsZTogZmFsc2UsCisgIGNv
bmZpZ3VyYWJsZTogdHJ1ZSwKK30pOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0F0b21pY3Mvd2FpdEFzeW5jL25hbWUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25hbWUuanMJKG5vbmV4aXN0ZW50
KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25h
bWUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNyBAQAorLy8gQ29weXJpZ2h0IChDKSAy
MDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKwor
LyotLS0KK2VzaWQ6IHNlYy1hdG9taWNzLndhaXRhc3luYworZGVzY3JpcHRpb246ID4KKyAgQXRv
bWljcy53YWl0QXN5bmMubmFtZSBpcyAid2FpdEFzeW5jIi4KK2luY2x1ZGVzOiBbcHJvcGVydHlI
ZWxwZXIuanNdCitmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jXQorLS0tKi8KKwordmVyaWZ5
UHJvcGVydHkoQXRvbWljcy53YWl0QXN5bmMsICduYW1lJywgeworICB2YWx1ZTogJ3dhaXRBc3lu
YycsCisgIGVudW1lcmFibGU6IGZhbHNlLAorICB3cml0YWJsZTogZmFsc2UsCisgIGNvbmZpZ3Vy
YWJsZTogdHJ1ZSwKK30pOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0
b21pY3Mvd2FpdEFzeW5jL25hbi1mb3ItdGltZW91dC1hZ2VudC5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbmFuLWZvci10
aW1lb3V0LWFnZW50LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uYW4tZm9yLXRpbWVvdXQtYWdlbnQuanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw1MiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2Fs
ZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6
IHNlYy1hdG9taWNzLndhaXRhc3luYworZGVzY3JpcHRpb246ID4KKyAgTmFOIHRpbWVvdXQgYXJn
IHNob3VsZCByZXN1bHQgaW4gYW4gaW5maW5pdGUgdGltZW91dAoraW5mbzogfAorICBBdG9taWNz
LndhaXRBc3luYyggdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0ICkKKworICAxLiBS
ZXR1cm4gRG9XYWl0KGFzeW5jLCB0eXBlZEFycmF5LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQpLgor
CisgIERvV2FpdCAoIG1vZGUsIHR5cGVkQXJyYXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCApCisK
KyAgNi4gTGV0IHEgYmUgPyBUb051bWJlcih0aW1lb3V0KS4KKworZmxhZ3M6IFthc3luY10KK2lu
Y2x1ZGVzOiBbYXRvbWljc0hlbHBlci5qc10KK2ZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMs
IFNoYXJlZEFycmF5QnVmZmVyLCBUeXBlZEFycmF5LCBBdG9taWNzXQorLS0tKi8KKworY29uc3Qg
UlVOTklORyA9IDE7CisKKyQyNjIuYWdlbnQuc3RhcnQoYAorICAkMjYyLmFnZW50LnJlY2VpdmVC
cm9hZGNhc3QoYXN5bmMgKHNhYikgPT4geworICAgIGNvbnN0IGkzMmEgPSBuZXcgSW50MzJBcnJh
eShzYWIpOworICAgIEF0b21pY3MuYWRkKGkzMmEsICR7UlVOTklOR30sIDEpOworCisgICAgJDI2
Mi5hZ2VudC5yZXBvcnQoYXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgTmFOKS52
YWx1ZSk7ICAvLyBOYU4gPT4gK0luZmluaXR5CisgICAgJDI2Mi5hZ2VudC5sZWF2aW5nKCk7Cisg
IH0pOworYCk7CisKK2NvbnN0IGkzMmEgPSBuZXcgSW50MzJBcnJheSgKKyAgbmV3IFNoYXJlZEFy
cmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KQorKTsKKworJDI2Mi5h
Z2VudC5zYWZlQnJvYWRjYXN0QXN5bmMoaTMyYSwgUlVOTklORywgMSkudGhlbihhc3luYyAoYWdl
bnRDb3VudCkgPT4geworCisgIGFzc2VydC5zYW1lVmFsdWUoYWdlbnRDb3VudCwgMSk7CisKKyAg
YXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpMzJhLCAwKSwgMSwgJ0F0b21pY3Mubm90
aWZ5KGkzMmEsIDApIHJldHVybnMgMScpOworCisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgYXdh
aXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAorICAgICdvaycsCisgICAgJ2F3YWl0IEF0
b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIE5hTikudmFsdWUgcmVzb2x2ZXMgdG8gIm9rIicK
KyAgKTsKKworfSkudGhlbigkRE9ORSwgJERPTkUpOworCisKSW5kZXg6IEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uZWdhdGl2ZS1pbmRleC10aHJvd3Mu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mv
d2FpdEFzeW5jL25lZ2F0aXZlLWluZGV4LXRocm93cy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbmVnYXRpdmUtaW5k
ZXgtdGhyb3dzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDEgQEAKKy8vIENvcHlyaWdo
dCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCisKKy8qLS0tCitlc2lkOiBzZWMtYXRvbWljcy53YWl0YXN5bmMKK2Rlc2NyaXB0aW9uOiA+
CisgIFRocm93cyBhIFJhbmdlRXJyb3IgaXMgaW5kZXggPCAwCitpbmZvOiB8CisgIEF0b21pY3Mu
d2FpdEFzeW5jKCB0eXBlZEFycmF5LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQgKQorCisgIDEuIFJl
dHVybiBEb1dhaXQoYXN5bmMsIHR5cGVkQXJyYXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCkuCisK
KyAgRG9XYWl0ICggbW9kZSwgdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0ICkKKwor
ICAxLiBMZXQgYnVmZmVyIGJlID8gVmFsaWRhdGVTaGFyZWRJbnRlZ2VyVHlwZWRBcnJheSh0eXBl
ZEFycmF5LCB0cnVlKS4KKyAgMi4gTGV0IGkgYmUgPyBWYWxpZGF0ZUF0b21pY0FjY2Vzcyh0eXBl
ZEFycmF5LCBpbmRleCkuCisKK2ZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFy
cmF5QnVmZmVyLCBUeXBlZEFycmF5LCBBdG9taWNzXQorLS0tKi8KK2NvbnN0IGkzMmEgPSBuZXcg
SW50MzJBcnJheSgKKyAgbmV3IFNoYXJlZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVS
X0VMRU1FTlQgKiA0KQorKTsKKworY29uc3QgcG9pc29uZWQgPSB7CisgIHZhbHVlT2YoKSB7Cisg
ICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignc2hvdWxkIG5vdCBldmFsdWF0ZSB0aGlzIGNvZGUn
KTsKKyAgfQorfTsKKworYXNzZXJ0LnRocm93cyhSYW5nZUVycm9yLCBmdW5jdGlvbigpIHsKKyAg
QXRvbWljcy53YWl0QXN5bmMoaTMyYSwgLUluZmluaXR5LCBwb2lzb25lZCwgcG9pc29uZWQpOwor
fSwgJ2BBdG9taWNzLndhaXRBc3luYyhpMzJhLCAtSW5maW5pdHksIHBvaXNvbmVkLCBwb2lzb25l
ZClgIHRocm93cyBSYW5nZUVycm9yJyk7Cithc3NlcnQudGhyb3dzKFJhbmdlRXJyb3IsIGZ1bmN0
aW9uKCkgeworICBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAtNy45OTksIHBvaXNvbmVkLCBwb2lz
b25lZCk7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIC03Ljk5OSwgcG9pc29uZWQsIHBv
aXNvbmVkKWAgdGhyb3dzIFJhbmdlRXJyb3InKTsKK2Fzc2VydC50aHJvd3MoUmFuZ2VFcnJvciwg
ZnVuY3Rpb24oKSB7CisgIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIC0xLCBwb2lzb25lZCwgcG9p
c29uZWQpOworfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpMzJhLCAtMSwgcG9pc29uZWQsIHBvaXNv
bmVkKWAgdGhyb3dzIFJhbmdlRXJyb3InKTsKK2Fzc2VydC50aHJvd3MoUmFuZ2VFcnJvciwgZnVu
Y3Rpb24oKSB7CisgIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIC0zMDAsIHBvaXNvbmVkLCBwb2lz
b25lZCk7Cit9LCAnYEF0b21pY3Mud2FpdChpMzJhLCAtMzAwLCBwb2lzb25lZCwgcG9pc29uZWQp
YCB0aHJvd3MgUmFuZ2VFcnJvcicpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0F0b21pY3Mvd2FpdEFzeW5jL25lZ2F0aXZlLXRpbWVvdXQtYWdlbnQuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25l
Z2F0aXZlLXRpbWVvdXQtYWdlbnQuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25lZ2F0aXZlLXRpbWVvdXQtYWdlbnQu
anMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIw
IFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zl
cm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyot
LS0KK2VzaWQ6IHNlYy1hdG9taWNzLndhaXRhc3luYworZGVzY3JpcHRpb246ID4KKyAgVGVzdCB0
aGF0IEF0b21pY3Mud2FpdEFzeW5jIHRpbWVzIG91dCB3aXRoIGEgbmVnYXRpdmUgdGltZW91dAor
aW5mbzogfAorICBBdG9taWNzLndhaXRBc3luYyggdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0
aW1lb3V0ICkKKworICAxLiBSZXR1cm4gRG9XYWl0KGFzeW5jLCB0eXBlZEFycmF5LCBpbmRleCwg
dmFsdWUsIHRpbWVvdXQpLgorCisgIERvV2FpdCAoIG1vZGUsIHR5cGVkQXJyYXksIGluZGV4LCB2
YWx1ZSwgdGltZW91dCApCisKKyAgNi4gTGV0IHEgYmUgPyBUb051bWJlcih0aW1lb3V0KS4KKwor
ZmxhZ3M6IFthc3luY10KK2luY2x1ZGVzOiBbYXRvbWljc0hlbHBlci5qc10KK2ZlYXR1cmVzOiBb
QXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBUeXBlZEFycmF5LCBBdG9taWNz
XQorLS0tKi8KKworY29uc3QgUlVOTklORyA9IDE7CisKKyQyNjIuYWdlbnQuc3RhcnQoYAorICAk
MjYyLmFnZW50LnJlY2VpdmVCcm9hZGNhc3QoYXN5bmMgKHNhYikgPT4geworICAgIHZhciBpMzJh
ID0gbmV3IEludDMyQXJyYXkoc2FiKTsKKyAgICBBdG9taWNzLmFkZChpMzJhLCAke1JVTk5JTkd9
LCAxKTsKKyAgICAkMjYyLmFnZW50LnJlcG9ydChhd2FpdCBBdG9taWNzLndhaXRBc3luYyhpMzJh
LCAwLCAwLCAtNSkudmFsdWUpOyAvLyAtNSA9PiAwCisgICAgJDI2Mi5hZ2VudC5sZWF2aW5nKCk7
CisgIH0pOworYCk7CisKK2NvbnN0IGkzMmEgPSBuZXcgSW50MzJBcnJheSgKKyAgbmV3IFNoYXJl
ZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KQorKTsKKworJDI2
Mi5hZ2VudC5zYWZlQnJvYWRjYXN0QXN5bmMoaTMyYSwgUlVOTklORywgMSkudGhlbihhc3luYyAo
YWdlbnRDb3VudCkgPT4geworCisgIGFzc2VydC5zYW1lVmFsdWUoYWdlbnRDb3VudCwgMSk7CisK
KyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5j
KCksCisgICAgJ3RpbWVkLW91dCcsCisgICAgJ2F3YWl0IEF0b21pY3Mud2FpdEFzeW5jKGkzMmEs
IDAsIDAsIC01KS52YWx1ZSByZXNvbHZlcyB0byAidGltZWQtb3V0IicKKyAgKTsKKworICBhc3Nl
cnQuc2FtZVZhbHVlKEF0b21pY3Mubm90aWZ5KGkzMmEsIDApLCAwLCAnQXRvbWljcy5ub3RpZnko
aTMyYSwgMCkgcmV0dXJucyAwJyk7CisKK30pLnRoZW4oJERPTkUsICRET05FKTsKKwpJbmRleDog
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25lZ2F0aXZl
LXRpbWVvdXQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0F0b21pY3Mvd2FpdEFzeW5jL25lZ2F0aXZlLXRpbWVvdXQuanMJKG5vbmV4aXN0ZW50KQorKysg
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25lZ2F0aXZl
LXRpbWVvdXQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorLy8gQ29weXJpZ2h0
IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KKworLyotLS0KK2VzaWQ6IHNlYy1hdG9taWNzLndhaXRhc3luYworZGVzY3JpcHRpb246ID4K
KyAgVGVzdCB0aGF0IEF0b21pY3Mud2FpdEFzeW5jIHRpbWVzIG91dCB3aXRoIGEgbmVnYXRpdmUg
dGltZW91dAoraW5mbzogfAorICBBdG9taWNzLndhaXRBc3luYyggdHlwZWRBcnJheSwgaW5kZXgs
IHZhbHVlLCB0aW1lb3V0ICkKKworICAxLiBSZXR1cm4gRG9XYWl0KGFzeW5jLCB0eXBlZEFycmF5
LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQpLgorCisgIERvV2FpdCAoIG1vZGUsIHR5cGVkQXJyYXks
IGluZGV4LCB2YWx1ZSwgdGltZW91dCApCisKKyAgNi4gTGV0IHEgYmUgPyBUb051bWJlcih0aW1l
b3V0KS4KKworZmxhZ3M6IFthc3luY10KK2ZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNo
YXJlZEFycmF5QnVmZmVyLCBUeXBlZEFycmF5LCBBdG9taWNzXQorLS0tKi8KK2NvbnN0IGkzMmEg
PSBuZXcgSW50MzJBcnJheSgKKyAgbmV3IFNoYXJlZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllU
RVNfUEVSX0VMRU1FTlQgKiA0KQorKTsKKworUHJvbWlzZS5hbGwoWworICAgIEF0b21pY3Mud2Fp
dEFzeW5jKGkzMmEsIDAsIDAsIC0xKS52YWx1ZSwKKyAgXSkudGhlbigoW291dGNvbWVdKSA9PiB7
CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICAgIG91dGNvbWUsCisgICAgICAndGltZWQtb3V0
JywKKyAgICAgICdBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCAtMSkudmFsdWUgcmVzb2x2
ZXMgdG8gInRpbWVkLW91dCInCisgICAgKTsKKyAgfSwgJERPTkUpLnRoZW4oJERPTkUsICRET05F
KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3lu
Yy9uby1zcHVyaW91cy13YWtldXAtbm8tb3BlcmF0aW9uLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13
YWtldXAtbm8tb3BlcmF0aW9uLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtldXAtbm8tb3Bl
cmF0aW9uLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzEgQEAKKy8vIENvcHlyaWdodCAo
QykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
CisKKy8qLS0tCitlc2lkOiBzZWMtYXRvbWljcy53YWl0YXN5bmMKK2Rlc2NyaXB0aW9uOiA+Cisg
IFRlc3QgdGhhdCBBdG9taWNzLndhaXRBc3luYyByZXR1cm5zIHRoZSByaWdodCByZXN1bHQgd2hl
biBpdCB0aW1lZCBvdXQgYW5kIHRoYXQKKyAgdGhlIHRpbWUgdG8gdGltZSBvdXQgaXMgcmVhc29u
YWJsZS4KK2luZm86IHwKKyAgQWRkV2FpdGVyICggV0wsIHdhaXRlclJlY29yZCApCisKKyAgNS4g
QXBwZW5kIHdhaXRlclJlY29yZCBhcyB0aGUgbGFzdCBlbGVtZW50IG9mIFdMLltbV2FpdGVyc11d
CisgIDYuIElmIHdhaXRlclJlY29yZC5bW1RpbWVvdXRdXSBpcyBmaW5pdGUsIHRoZW4gaW4gcGFy
YWxsZWwsCisgICAgYS4gV2FpdCB3YWl0ZXJSZWNvcmQuW1tUaW1lb3V0XV0gbWlsbGlzZWNvbmRz
LgorICAgIGIuIFBlcmZvcm0gVHJpZ2dlclRpbWVvdXQoV0wsIHdhaXRlclJlY29yZCkuCisKKyAg
VHJpZ2dlclRpbWVvdXQoIFdMLCB3YWl0ZXJSZWNvcmQgKQorCisgIDMuIElmIHdhaXRlclJlY29y
ZCBpcyBpbiBXTC5bW1dhaXRlcnNdXSwgdGhlbgorICAgIGEuIFNldCB3YWl0ZXJSZWNvcmQuW1tS
ZXN1bHRdXSB0byAidGltZWQtb3V0Ii4KKyAgICBiLiBQZXJmb3JtIFJlbW92ZVdhaXRlcihXTCwg
d2FpdGVyUmVjb3JkKS4KKyAgICBjLiBQZXJmb3JtIE5vdGlmeVdhaXRlcihXTCwgd2FpdGVyUmVj
b3JkKS4KKyAgNC4gUGVyZm9ybSBMZWF2ZUNyaXRpY2FsU2VjdGlvbihXTCkuCisKK2ZsYWdzOiBb
YXN5bmNdCitpbmNsdWRlczogW2F0b21pY3NIZWxwZXIuanNdCitmZWF0dXJlczogW0F0b21pY3Mu
d2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgQXRvbWljc10KKy0tLSov
CisKK2NvbnN0IFJVTk5JTkcgPSAxOworY29uc3QgVElNRU9VVCA9ICQyNjIuYWdlbnQudGltZW91
dHMuc21hbGw7CisKK2NvbnN0IGkzMmEgPSBuZXcgSW50MzJBcnJheSgKKyAgbmV3IFNoYXJlZEFy
cmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KQorKTsKKworJDI2Mi5h
Z2VudC5zdGFydChgCisgICQyNjIuYWdlbnQucmVjZWl2ZUJyb2FkY2FzdChhc3luYyAoc2FiKSA9
PiB7CisgICAgY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KHNhYik7CisgICAgQXRvbWljcy5h
ZGQoaTMyYSwgJHtSVU5OSU5HfSwgMSk7CisKKyAgICBjb25zdCBiZWZvcmUgPSAkMjYyLmFnZW50
Lm1vbm90b25pY05vdygpOworICAgIGNvbnN0IHVucGFyayA9IGF3YWl0IEF0b21pY3Mud2FpdEFz
eW5jKGkzMmEsIDAsIDAsICR7VElNRU9VVH0pLnZhbHVlOworICAgIGNvbnN0IGR1cmF0aW9uID0g
JDI2Mi5hZ2VudC5tb25vdG9uaWNOb3coKSAtIGJlZm9yZTsKKworICAgICQyNjIuYWdlbnQucmVw
b3J0KGR1cmF0aW9uKTsKKyAgICAkMjYyLmFnZW50LnJlcG9ydCh1bnBhcmspOworICAgICQyNjIu
YWdlbnQubGVhdmluZygpOworICB9KTsKK2ApOworCiskMjYyLmFnZW50LnNhZmVCcm9hZGNhc3RB
c3luYyhpMzJhLCBSVU5OSU5HLCAxKS50aGVuKGFzeW5jIChhZ2VudENvdW50KSA9PiB7CisKKyAg
YXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCAxKTsKKworICBjb25zdCBsYXBzZSA9IGF3YWl0
ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKTsKKworICBhc3NlcnQoCisgICAgbGFwc2UgPj0g
VElNRU9VVCwKKyAgICAnVGhlIHJlc3VsdCBvZiBgKGxhcHNlID49IFRJTUVPVVQpYCBpcyB0cnVl
JworICApOworCisgIGNvbnN0IHJlc3VsdCA9IGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5
bmMoKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIHJlc3VsdCwKKyAgICAndGltZWQtb3V0
JywKKyAgICAnYXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgJHtUSU1FT1VUfSku
dmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICk7CisgIGFzc2VydC5zYW1lVmFsdWUo
QXRvbWljcy5ub3RpZnkoaTMyYSwgMCksIDAsICdBdG9taWNzLm5vdGlmeShpMzJhLCAwKSByZXR1
cm5zIDAnKTsKK30pLnRoZW4oJERPTkUsICRET05FKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtldXAtb24tYWRk
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNz
L3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtldXAtb24tYWRkLmpzCShub25leGlzdGVudCkKKysr
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1zcHVy
aW91cy13YWtldXAtb24tYWRkLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzIgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtYXRvbWljcy53YWl0YXN5bmMKK2Rlc2Ny
aXB0aW9uOiA+CisgIFdhaXRlciBkb2VzIG5vdCBzcHVyaW91c2x5IG5vdGlmeSBvbiBpbmRleCB3
aGljaCBpcyBzdWJqZWN0IHRvIEFkZCBvcGVyYXRpb24KK2luZm86IHwKKyAgQWRkV2FpdGVyICgg
V0wsIHdhaXRlclJlY29yZCApCisKKyAgNS4gQXBwZW5kIHdhaXRlclJlY29yZCBhcyB0aGUgbGFz
dCBlbGVtZW50IG9mIFdMLltbV2FpdGVyc11dCisgIDYuIElmIHdhaXRlclJlY29yZC5bW1RpbWVv
dXRdXSBpcyBmaW5pdGUsIHRoZW4gaW4gcGFyYWxsZWwsCisgICAgYS4gV2FpdCB3YWl0ZXJSZWNv
cmQuW1tUaW1lb3V0XV0gbWlsbGlzZWNvbmRzLgorICAgIGIuIFBlcmZvcm0gVHJpZ2dlclRpbWVv
dXQoV0wsIHdhaXRlclJlY29yZCkuCisKKyAgVHJpZ2dlclRpbWVvdXQoIFdMLCB3YWl0ZXJSZWNv
cmQgKQorCisgIDMuIElmIHdhaXRlclJlY29yZCBpcyBpbiBXTC5bW1dhaXRlcnNdXSwgdGhlbgor
ICAgIGEuIFNldCB3YWl0ZXJSZWNvcmQuW1tSZXN1bHRdXSB0byAidGltZWQtb3V0Ii4KKyAgICBi
LiBQZXJmb3JtIFJlbW92ZVdhaXRlcihXTCwgd2FpdGVyUmVjb3JkKS4KKyAgICBjLiBQZXJmb3Jt
IE5vdGlmeVdhaXRlcihXTCwgd2FpdGVyUmVjb3JkKS4KKyAgNC4gUGVyZm9ybSBMZWF2ZUNyaXRp
Y2FsU2VjdGlvbihXTCkuCisKK2ZsYWdzOiBbYXN5bmNdCitpbmNsdWRlczogW2F0b21pY3NIZWxw
ZXIuanNdCitmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwg
VHlwZWRBcnJheSwgQXRvbWljc10KKy0tLSovCisKK2NvbnN0IFJVTk5JTkcgPSAxOworY29uc3Qg
VElNRU9VVCA9ICQyNjIuYWdlbnQudGltZW91dHMuc21hbGw7CisKK2NvbnN0IGkzMmEgPSBuZXcg
SW50MzJBcnJheSgKKyAgbmV3IFNoYXJlZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVS
X0VMRU1FTlQgKiA0KQorKTsKKworJDI2Mi5hZ2VudC5zdGFydChgCisgICQyNjIuYWdlbnQucmVj
ZWl2ZUJyb2FkY2FzdChhc3luYyAoc2FiKSA9PiB7CisgICAgY29uc3QgaTMyYSA9IG5ldyBJbnQz
MkFycmF5KHNhYik7CisgICAgQXRvbWljcy5hZGQoaTMyYSwgJHtSVU5OSU5HfSwgMSk7CisKKyAg
ICBjb25zdCBiZWZvcmUgPSAkMjYyLmFnZW50Lm1vbm90b25pY05vdygpOworICAgIGNvbnN0IHVu
cGFyayA9IGF3YWl0IEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsICR7VElNRU9VVH0pLnZh
bHVlOworICAgIGNvbnN0IGR1cmF0aW9uID0gJDI2Mi5hZ2VudC5tb25vdG9uaWNOb3coKSAtIGJl
Zm9yZTsKKworICAgICQyNjIuYWdlbnQucmVwb3J0KGR1cmF0aW9uKTsKKyAgICAkMjYyLmFnZW50
LnJlcG9ydCh1bnBhcmspOworICAgICQyNjIuYWdlbnQubGVhdmluZygpOworICB9KTsKK2ApOwor
CiskMjYyLmFnZW50LnNhZmVCcm9hZGNhc3RBc3luYyhpMzJhLCBSVU5OSU5HLCAxKS50aGVuKGFz
eW5jIChhZ2VudENvdW50KSA9PiB7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCAx
KTsKKworICBBdG9taWNzLmFkZChpMzJhLCAwLCAxKTsKKworICBjb25zdCBsYXBzZSA9IGF3YWl0
ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKTsKKworICBhc3NlcnQoCisgICAgbGFwc2UgPj0g
VElNRU9VVCwKKyAgICAnVGhlIHJlc3VsdCBvZiBgKGxhcHNlID49IFRJTUVPVVQpYCBpcyB0cnVl
JworICApOworCisgIGNvbnN0IHJlc3VsdCA9IGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5
bmMoKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIHJlc3VsdCwKKyAgICAndGltZWQtb3V0
JywKKyAgICAnYXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgJHtUSU1FT1VUfSku
dmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICk7CisgIGFzc2VydC5zYW1lVmFsdWUo
QXRvbWljcy5ub3RpZnkoaTMyYSwgMCksIDAsICdBdG9taWNzLm5vdGlmeShpMzJhLCAwKSByZXR1
cm5zIDAnKTsKK30pLnRoZW4oJERPTkUsICRET05FKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtldXAtb24tYW5k
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNz
L3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtldXAtb24tYW5kLmpzCShub25leGlzdGVudCkKKysr
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1zcHVy
aW91cy13YWtldXAtb24tYW5kLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzIgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtYXRvbWljcy53YWl0YXN5bmMKK2Rlc2Ny
aXB0aW9uOiA+CisgIFdhaXRlciBkb2VzIG5vdCBzcHVyaW91c2x5IG5vdGlmeSBvbiBpbmRleCB3
aGljaCBpcyBzdWJqZWN0IHRvIEFuZCBvcGVyYXRpb24KK2luZm86IHwKKyAgQWRkV2FpdGVyICgg
V0wsIHdhaXRlclJlY29yZCApCisKKyAgNS4gQXBwZW5kIHdhaXRlclJlY29yZCBhcyB0aGUgbGFz
dCBlbGVtZW50IG9mIFdMLltbV2FpdGVyc11dCisgIDYuIElmIHdhaXRlclJlY29yZC5bW1RpbWVv
dXRdXSBpcyBmaW5pdGUsIHRoZW4gaW4gcGFyYWxsZWwsCisgICAgYS4gV2FpdCB3YWl0ZXJSZWNv
cmQuW1tUaW1lb3V0XV0gbWlsbGlzZWNvbmRzLgorICAgIGIuIFBlcmZvcm0gVHJpZ2dlclRpbWVv
dXQoV0wsIHdhaXRlclJlY29yZCkuCisKKyAgVHJpZ2dlclRpbWVvdXQoIFdMLCB3YWl0ZXJSZWNv
cmQgKQorCisgIDMuIElmIHdhaXRlclJlY29yZCBpcyBpbiBXTC5bW1dhaXRlcnNdXSwgdGhlbgor
ICAgIGEuIFNldCB3YWl0ZXJSZWNvcmQuW1tSZXN1bHRdXSB0byAidGltZWQtb3V0Ii4KKyAgICBi
LiBQZXJmb3JtIFJlbW92ZVdhaXRlcihXTCwgd2FpdGVyUmVjb3JkKS4KKyAgICBjLiBQZXJmb3Jt
IE5vdGlmeVdhaXRlcihXTCwgd2FpdGVyUmVjb3JkKS4KKyAgNC4gUGVyZm9ybSBMZWF2ZUNyaXRp
Y2FsU2VjdGlvbihXTCkuCisKK2ZsYWdzOiBbYXN5bmNdCitpbmNsdWRlczogW2F0b21pY3NIZWxw
ZXIuanNdCitmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwg
VHlwZWRBcnJheSwgQXRvbWljc10KKy0tLSovCisKK2NvbnN0IFJVTk5JTkcgPSAxOworY29uc3Qg
VElNRU9VVCA9ICQyNjIuYWdlbnQudGltZW91dHMuc21hbGw7CisKK2NvbnN0IGkzMmEgPSBuZXcg
SW50MzJBcnJheSgKKyAgbmV3IFNoYXJlZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVS
X0VMRU1FTlQgKiA0KQorKTsKKworJDI2Mi5hZ2VudC5zdGFydChgCisgICQyNjIuYWdlbnQucmVj
ZWl2ZUJyb2FkY2FzdChhc3luYyAoc2FiKSA9PiB7CisgICAgY29uc3QgaTMyYSA9IG5ldyBJbnQz
MkFycmF5KHNhYik7CisgICAgQXRvbWljcy5hZGQoaTMyYSwgJHtSVU5OSU5HfSwgMSk7CisKKyAg
ICBjb25zdCBiZWZvcmUgPSAkMjYyLmFnZW50Lm1vbm90b25pY05vdygpOworICAgIGNvbnN0IHVu
cGFyayA9IGF3YWl0IEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsICR7VElNRU9VVH0pLnZh
bHVlOworICAgIGNvbnN0IGR1cmF0aW9uID0gJDI2Mi5hZ2VudC5tb25vdG9uaWNOb3coKSAtIGJl
Zm9yZTsKKworICAgICQyNjIuYWdlbnQucmVwb3J0KGR1cmF0aW9uKTsKKyAgICAkMjYyLmFnZW50
LnJlcG9ydCh1bnBhcmspOworICAgICQyNjIuYWdlbnQubGVhdmluZygpOworICB9KTsKK2ApOwor
CiskMjYyLmFnZW50LnNhZmVCcm9hZGNhc3RBc3luYyhpMzJhLCBSVU5OSU5HLCAxKS50aGVuKGFz
eW5jIChhZ2VudENvdW50KSA9PiB7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCAx
KTsKKworICBBdG9taWNzLmFuZChpMzJhLCAwLCAxKTsKKworICBjb25zdCBsYXBzZSA9IGF3YWl0
ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKTsKKworICBhc3NlcnQoCisgICAgbGFwc2UgPj0g
VElNRU9VVCwKKyAgICAnVGhlIHJlc3VsdCBvZiBgKGxhcHNlID49IFRJTUVPVVQpYCBpcyB0cnVl
JworICApOworCisgIGNvbnN0IHJlc3VsdCA9IGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5
bmMoKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIHJlc3VsdCwKKyAgICAndGltZWQtb3V0
JywKKyAgICAnYXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgJHtUSU1FT1VUfSku
dmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICk7CisgIGFzc2VydC5zYW1lVmFsdWUo
QXRvbWljcy5ub3RpZnkoaTMyYSwgMCksIDAsICdBdG9taWNzLm5vdGlmeShpMzJhLCAwKSByZXR1
cm5zIDAnKTsKK30pLnRoZW4oJERPTkUsICRET05FKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtldXAtb24tY29t
cGFyZUV4Y2hhbmdlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtldXAtb24tY29tcGFyZUV4Y2hh
bmdlLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9B
dG9taWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtldXAtb24tY29tcGFyZUV4Y2hhbmdlLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzIgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBS
aWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0t
Citlc2lkOiBzZWMtYXRvbWljcy53YWl0YXN5bmMKK2Rlc2NyaXB0aW9uOiA+CisgIFdhaXRlciBk
b2VzIG5vdCBzcHVyaW91c2x5IG5vdGlmeSBvbiBpbmRleCB3aGljaCBpcyBzdWJqZWN0IHRvIGNv
bXBhcmVFeGNoYW5nZSBvcGVyYXRpb24KK2luZm86IHwKKyAgQWRkV2FpdGVyICggV0wsIHdhaXRl
clJlY29yZCApCisKKyAgNS4gQXBwZW5kIHdhaXRlclJlY29yZCBhcyB0aGUgbGFzdCBlbGVtZW50
IG9mIFdMLltbV2FpdGVyc11dCisgIDYuIElmIHdhaXRlclJlY29yZC5bW1RpbWVvdXRdXSBpcyBm
aW5pdGUsIHRoZW4gaW4gcGFyYWxsZWwsCisgICAgYS4gV2FpdCB3YWl0ZXJSZWNvcmQuW1tUaW1l
b3V0XV0gbWlsbGlzZWNvbmRzLgorICAgIGIuIFBlcmZvcm0gVHJpZ2dlclRpbWVvdXQoV0wsIHdh
aXRlclJlY29yZCkuCisKKyAgVHJpZ2dlclRpbWVvdXQoIFdMLCB3YWl0ZXJSZWNvcmQgKQorCisg
IDMuIElmIHdhaXRlclJlY29yZCBpcyBpbiBXTC5bW1dhaXRlcnNdXSwgdGhlbgorICAgIGEuIFNl
dCB3YWl0ZXJSZWNvcmQuW1tSZXN1bHRdXSB0byAidGltZWQtb3V0Ii4KKyAgICBiLiBQZXJmb3Jt
IFJlbW92ZVdhaXRlcihXTCwgd2FpdGVyUmVjb3JkKS4KKyAgICBjLiBQZXJmb3JtIE5vdGlmeVdh
aXRlcihXTCwgd2FpdGVyUmVjb3JkKS4KKyAgNC4gUGVyZm9ybSBMZWF2ZUNyaXRpY2FsU2VjdGlv
bihXTCkuCisKK2ZsYWdzOiBbYXN5bmNdCitpbmNsdWRlczogW2F0b21pY3NIZWxwZXIuanNdCitm
ZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgVHlwZWRBcnJh
eSwgQXRvbWljc10KKy0tLSovCisKK2NvbnN0IFJVTk5JTkcgPSAxOworY29uc3QgVElNRU9VVCA9
ICQyNjIuYWdlbnQudGltZW91dHMuc21hbGw7CisKK2NvbnN0IGkzMmEgPSBuZXcgSW50MzJBcnJh
eSgKKyAgbmV3IFNoYXJlZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQg
KiA0KQorKTsKKworJDI2Mi5hZ2VudC5zdGFydChgCisgICQyNjIuYWdlbnQucmVjZWl2ZUJyb2Fk
Y2FzdChhc3luYyAoc2FiKSA9PiB7CisgICAgY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KHNh
Yik7CisgICAgQXRvbWljcy5hZGQoaTMyYSwgJHtSVU5OSU5HfSwgMSk7CisKKyAgICBjb25zdCBi
ZWZvcmUgPSAkMjYyLmFnZW50Lm1vbm90b25pY05vdygpOworICAgIGNvbnN0IHVucGFyayA9IGF3
YWl0IEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsICR7VElNRU9VVH0pLnZhbHVlOworICAg
IGNvbnN0IGR1cmF0aW9uID0gJDI2Mi5hZ2VudC5tb25vdG9uaWNOb3coKSAtIGJlZm9yZTsKKwor
ICAgICQyNjIuYWdlbnQucmVwb3J0KGR1cmF0aW9uKTsKKyAgICAkMjYyLmFnZW50LnJlcG9ydCh1
bnBhcmspOworICAgICQyNjIuYWdlbnQubGVhdmluZygpOworICB9KTsKK2ApOworCiskMjYyLmFn
ZW50LnNhZmVCcm9hZGNhc3RBc3luYyhpMzJhLCBSVU5OSU5HLCAxKS50aGVuKGFzeW5jIChhZ2Vu
dENvdW50KSA9PiB7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCAxKTsKKworICBB
dG9taWNzLmNvbXBhcmVFeGNoYW5nZShpMzJhLCAwLCAwLCAxKTsKKworICBjb25zdCBsYXBzZSA9
IGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKTsKKworICBhc3NlcnQoCisgICAgbGFw
c2UgPj0gVElNRU9VVCwKKyAgICAnVGhlIHJlc3VsdCBvZiBgKGxhcHNlID49IFRJTUVPVVQpYCBp
cyB0cnVlJworICApOworCisgIGNvbnN0IHJlc3VsdCA9IGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVw
b3J0QXN5bmMoKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIHJlc3VsdCwKKyAgICAndGlt
ZWQtb3V0JywKKyAgICAnYXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgJHtUSU1F
T1VUfSkudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICk7CisgIGFzc2VydC5zYW1l
VmFsdWUoQXRvbWljcy5ub3RpZnkoaTMyYSwgMCksIDAsICdBdG9taWNzLm5vdGlmeShpMzJhLCAw
KSByZXR1cm5zIDAnKTsKK30pLnRoZW4oJERPTkUsICRET05FKTsKSW5kZXg6IEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtldXAt
b24tZXhjaGFuZ2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0F0b21pY3Mvd2FpdEFzeW5jL25vLXNwdXJpb3VzLXdha2V1cC1vbi1leGNoYW5nZS5qcwko
bm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93
YWl0QXN5bmMvbm8tc3B1cmlvdXMtd2FrZXVwLW9uLWV4Y2hhbmdlLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNzIgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtYXRv
bWljcy53YWl0YXN5bmMKK2Rlc2NyaXB0aW9uOiA+CisgIFdhaXRlciBkb2VzIG5vdCBzcHVyaW91
c2x5IG5vdGlmeSBvbiBpbmRleCB3aGljaCBpcyBzdWJqZWN0IHRvIGV4Y2hhbmdlIG9wZXJhdGlv
bgoraW5mbzogfAorICBBZGRXYWl0ZXIgKCBXTCwgd2FpdGVyUmVjb3JkICkKKworICA1LiBBcHBl
bmQgd2FpdGVyUmVjb3JkIGFzIHRoZSBsYXN0IGVsZW1lbnQgb2YgV0wuW1tXYWl0ZXJzXV0KKyAg
Ni4gSWYgd2FpdGVyUmVjb3JkLltbVGltZW91dF1dIGlzIGZpbml0ZSwgdGhlbiBpbiBwYXJhbGxl
bCwKKyAgICBhLiBXYWl0IHdhaXRlclJlY29yZC5bW1RpbWVvdXRdXSBtaWxsaXNlY29uZHMuCisg
ICAgYi4gUGVyZm9ybSBUcmlnZ2VyVGltZW91dChXTCwgd2FpdGVyUmVjb3JkKS4KKworICBUcmln
Z2VyVGltZW91dCggV0wsIHdhaXRlclJlY29yZCApCisKKyAgMy4gSWYgd2FpdGVyUmVjb3JkIGlz
IGluIFdMLltbV2FpdGVyc11dLCB0aGVuCisgICAgYS4gU2V0IHdhaXRlclJlY29yZC5bW1Jlc3Vs
dF1dIHRvICJ0aW1lZC1vdXQiLgorICAgIGIuIFBlcmZvcm0gUmVtb3ZlV2FpdGVyKFdMLCB3YWl0
ZXJSZWNvcmQpLgorICAgIGMuIFBlcmZvcm0gTm90aWZ5V2FpdGVyKFdMLCB3YWl0ZXJSZWNvcmQp
LgorICA0LiBQZXJmb3JtIExlYXZlQ3JpdGljYWxTZWN0aW9uKFdMKS4KKworZmxhZ3M6IFthc3lu
Y10KK2luY2x1ZGVzOiBbYXRvbWljc0hlbHBlci5qc10KK2ZlYXR1cmVzOiBbQXRvbWljcy53YWl0
QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBUeXBlZEFycmF5LCBBdG9taWNzXQorLS0tKi8KKwor
Y29uc3QgUlVOTklORyA9IDE7Citjb25zdCBUSU1FT1VUID0gJDI2Mi5hZ2VudC50aW1lb3V0cy5z
bWFsbDsKKworY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KAorICBuZXcgU2hhcmVkQXJyYXlC
dWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpCispOworCiskMjYyLmFnZW50
LnN0YXJ0KGAKKyAgJDI2Mi5hZ2VudC5yZWNlaXZlQnJvYWRjYXN0KGFzeW5jIChzYWIpID0+IHsK
KyAgICBjb25zdCBpMzJhID0gbmV3IEludDMyQXJyYXkoc2FiKTsKKyAgICBBdG9taWNzLmFkZChp
MzJhLCAke1JVTk5JTkd9LCAxKTsKKworICAgIGNvbnN0IGJlZm9yZSA9ICQyNjIuYWdlbnQubW9u
b3RvbmljTm93KCk7CisgICAgY29uc3QgdW5wYXJrID0gYXdhaXQgQXRvbWljcy53YWl0QXN5bmMo
aTMyYSwgMCwgMCwgJHtUSU1FT1VUfSkudmFsdWU7CisgICAgY29uc3QgZHVyYXRpb24gPSAkMjYy
LmFnZW50Lm1vbm90b25pY05vdygpIC0gYmVmb3JlOworCisgICAgJDI2Mi5hZ2VudC5yZXBvcnQo
ZHVyYXRpb24pOworICAgICQyNjIuYWdlbnQucmVwb3J0KHVucGFyayk7CisgICAgJDI2Mi5hZ2Vu
dC5sZWF2aW5nKCk7CisgIH0pOworYCk7CisKKyQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5j
KGkzMmEsIFJVTk5JTkcsIDEpLnRoZW4oYXN5bmMgKGFnZW50Q291bnQpID0+IHsKKworICBhc3Nl
cnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDEpOworCisgIEF0b21pY3MuZXhjaGFuZ2UoaTMyYSwg
MCwgMSk7CisKKyAgY29uc3QgbGFwc2UgPSBhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5j
KCk7CisKKyAgYXNzZXJ0KAorICAgIGxhcHNlID49IFRJTUVPVVQsCisgICAgJ1RoZSByZXN1bHQg
b2YgYChsYXBzZSA+PSBUSU1FT1VUKWAgaXMgdHJ1ZScKKyAgKTsKKworICBjb25zdCByZXN1bHQg
PSBhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCk7CisKKyAgYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgICByZXN1bHQsCisgICAgJ3RpbWVkLW91dCcsCisgICAgJ2F3YWl0IEF0b21pY3Mud2Fp
dEFzeW5jKGkzMmEsIDAsIDAsICR7VElNRU9VVH0pLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1v
dXQiJworICApOworICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mubm90aWZ5KGkzMmEsIDApLCAw
LCAnQXRvbWljcy5ub3RpZnkoaTMyYSwgMCkgcmV0dXJucyAwJyk7Cit9KS50aGVuKCRET05FLCAk
RE9ORSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0
QXN5bmMvbm8tc3B1cmlvdXMtd2FrZXVwLW9uLW9yLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtl
dXAtb24tb3IuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0F0b21pY3Mvd2FpdEFzeW5jL25vLXNwdXJpb3VzLXdha2V1cC1vbi1vci5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDcyIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxk
cm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDog
c2VjLWF0b21pY3Mud2FpdGFzeW5jCitkZXNjcmlwdGlvbjogPgorICBXYWl0ZXIgZG9lcyBub3Qg
c3B1cmlvdXNseSBub3RpZnkgb24gaW5kZXggd2hpY2ggaXMgc3ViamVjdCB0byBPciBvcGVyYXRp
b24KK2luZm86IHwKKyAgQWRkV2FpdGVyICggV0wsIHdhaXRlclJlY29yZCApCisKKyAgNS4gQXBw
ZW5kIHdhaXRlclJlY29yZCBhcyB0aGUgbGFzdCBlbGVtZW50IG9mIFdMLltbV2FpdGVyc11dCisg
IDYuIElmIHdhaXRlclJlY29yZC5bW1RpbWVvdXRdXSBpcyBmaW5pdGUsIHRoZW4gaW4gcGFyYWxs
ZWwsCisgICAgYS4gV2FpdCB3YWl0ZXJSZWNvcmQuW1tUaW1lb3V0XV0gbWlsbGlzZWNvbmRzLgor
ICAgIGIuIFBlcmZvcm0gVHJpZ2dlclRpbWVvdXQoV0wsIHdhaXRlclJlY29yZCkuCisKKyAgVHJp
Z2dlclRpbWVvdXQoIFdMLCB3YWl0ZXJSZWNvcmQgKQorCisgIDMuIElmIHdhaXRlclJlY29yZCBp
cyBpbiBXTC5bW1dhaXRlcnNdXSwgdGhlbgorICAgIGEuIFNldCB3YWl0ZXJSZWNvcmQuW1tSZXN1
bHRdXSB0byAidGltZWQtb3V0Ii4KKyAgICBiLiBQZXJmb3JtIFJlbW92ZVdhaXRlcihXTCwgd2Fp
dGVyUmVjb3JkKS4KKyAgICBjLiBQZXJmb3JtIE5vdGlmeVdhaXRlcihXTCwgd2FpdGVyUmVjb3Jk
KS4KKyAgNC4gUGVyZm9ybSBMZWF2ZUNyaXRpY2FsU2VjdGlvbihXTCkuCisKK2ZsYWdzOiBbYXN5
bmNdCitpbmNsdWRlczogW2F0b21pY3NIZWxwZXIuanNdCitmZWF0dXJlczogW0F0b21pY3Mud2Fp
dEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgQXRvbWljc10KKy0tLSovCisK
K2NvbnN0IFJVTk5JTkcgPSAxOworY29uc3QgVElNRU9VVCA9ICQyNjIuYWdlbnQudGltZW91dHMu
c21hbGw7CisKK2NvbnN0IGkzMmEgPSBuZXcgSW50MzJBcnJheSgKKyAgbmV3IFNoYXJlZEFycmF5
QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KQorKTsKKworJDI2Mi5hZ2Vu
dC5zdGFydChgCisgICQyNjIuYWdlbnQucmVjZWl2ZUJyb2FkY2FzdChhc3luYyAoc2FiKSA9PiB7
CisgICAgY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KHNhYik7CisgICAgQXRvbWljcy5hZGQo
aTMyYSwgJHtSVU5OSU5HfSwgMSk7CisKKyAgICBjb25zdCBiZWZvcmUgPSAkMjYyLmFnZW50Lm1v
bm90b25pY05vdygpOworICAgIGNvbnN0IHVucGFyayA9IGF3YWl0IEF0b21pY3Mud2FpdEFzeW5j
KGkzMmEsIDAsIDAsICR7VElNRU9VVH0pLnZhbHVlOworICAgIGNvbnN0IGR1cmF0aW9uID0gJDI2
Mi5hZ2VudC5tb25vdG9uaWNOb3coKSAtIGJlZm9yZTsKKworICAgICQyNjIuYWdlbnQucmVwb3J0
KGR1cmF0aW9uKTsKKyAgICAkMjYyLmFnZW50LnJlcG9ydCh1bnBhcmspOworICAgICQyNjIuYWdl
bnQubGVhdmluZygpOworICB9KTsKK2ApOworCiskMjYyLmFnZW50LnNhZmVCcm9hZGNhc3RBc3lu
YyhpMzJhLCBSVU5OSU5HLCAxKS50aGVuKGFzeW5jIChhZ2VudENvdW50KSA9PiB7CisKKyAgYXNz
ZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCAxKTsKKworICBBdG9taWNzLm9yKGkzMmEsIDAsIDEp
OworCisgIGNvbnN0IGxhcHNlID0gYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpOwor
CisgIGFzc2VydCgKKyAgICBsYXBzZSA+PSBUSU1FT1VULAorICAgICdUaGUgcmVzdWx0IG9mIGAo
bGFwc2UgPj0gVElNRU9VVClgIGlzIHRydWUnCisgICk7CisKKyAgY29uc3QgcmVzdWx0ID0gYXdh
aXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpOworCisgIGFzc2VydC5zYW1lVmFsdWUoCisg
ICAgcmVzdWx0LAorICAgICd0aW1lZC1vdXQnLAorICAgICdhd2FpdCBBdG9taWNzLndhaXRBc3lu
YyhpMzJhLCAwLCAwLCAke1RJTUVPVVR9KS52YWx1ZSByZXNvbHZlcyB0byAidGltZWQtb3V0IicK
KyAgKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpMzJhLCAwKSwgMCwgJ0F0
b21pY3Mubm90aWZ5KGkzMmEsIDApIHJldHVybnMgMCcpOworfSkudGhlbigkRE9ORSwgJERPTkUp
OwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5j
L25vLXNwdXJpb3VzLXdha2V1cC1vbi1zdG9yZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbm8tc3B1cmlvdXMtd2FrZXVw
LW9uLXN0b3JlLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtldXAtb24tc3RvcmUuanMJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw3MiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sg
V2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBi
eSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2Vz
aWQ6IHNlYy1hdG9taWNzLndhaXRhc3luYworZGVzY3JpcHRpb246ID4KKyAgV2FpdGVyIGRvZXMg
bm90IHNwdXJpb3VzbHkgbm90aWZ5IG9uIGluZGV4IHdoaWNoIGlzIHN1YmplY3QgdG8gU3RvcmUg
b3BlcmF0aW9uCitpbmZvOiB8CisgIEFkZFdhaXRlciAoIFdMLCB3YWl0ZXJSZWNvcmQgKQorCisg
IDUuIEFwcGVuZCB3YWl0ZXJSZWNvcmQgYXMgdGhlIGxhc3QgZWxlbWVudCBvZiBXTC5bW1dhaXRl
cnNdXQorICA2LiBJZiB3YWl0ZXJSZWNvcmQuW1tUaW1lb3V0XV0gaXMgZmluaXRlLCB0aGVuIGlu
IHBhcmFsbGVsLAorICAgIGEuIFdhaXQgd2FpdGVyUmVjb3JkLltbVGltZW91dF1dIG1pbGxpc2Vj
b25kcy4KKyAgICBiLiBQZXJmb3JtIFRyaWdnZXJUaW1lb3V0KFdMLCB3YWl0ZXJSZWNvcmQpLgor
CisgIFRyaWdnZXJUaW1lb3V0KCBXTCwgd2FpdGVyUmVjb3JkICkKKworICAzLiBJZiB3YWl0ZXJS
ZWNvcmQgaXMgaW4gV0wuW1tXYWl0ZXJzXV0sIHRoZW4KKyAgICBhLiBTZXQgd2FpdGVyUmVjb3Jk
LltbUmVzdWx0XV0gdG8gInRpbWVkLW91dCIuCisgICAgYi4gUGVyZm9ybSBSZW1vdmVXYWl0ZXIo
V0wsIHdhaXRlclJlY29yZCkuCisgICAgYy4gUGVyZm9ybSBOb3RpZnlXYWl0ZXIoV0wsIHdhaXRl
clJlY29yZCkuCisgIDQuIFBlcmZvcm0gTGVhdmVDcml0aWNhbFNlY3Rpb24oV0wpLgorCitmbGFn
czogW2FzeW5jXQoraW5jbHVkZXM6IFthdG9taWNzSGVscGVyLmpzXQorZmVhdHVyZXM6IFtBdG9t
aWNzLndhaXRBc3luYywgU2hhcmVkQXJyYXlCdWZmZXIsIFR5cGVkQXJyYXksIEF0b21pY3NdCist
LS0qLworCitjb25zdCBSVU5OSU5HID0gMTsKK2NvbnN0IFRJTUVPVVQgPSAkMjYyLmFnZW50LnRp
bWVvdXRzLnNtYWxsOworCitjb25zdCBpMzJhID0gbmV3IEludDMyQXJyYXkoCisgIG5ldyBTaGFy
ZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkKKyk7CisKKyQy
NjIuYWdlbnQuc3RhcnQoYAorICAkMjYyLmFnZW50LnJlY2VpdmVCcm9hZGNhc3QoYXN5bmMgKHNh
YikgPT4geworICAgIGNvbnN0IGkzMmEgPSBuZXcgSW50MzJBcnJheShzYWIpOworICAgIEF0b21p
Y3MuYWRkKGkzMmEsICR7UlVOTklOR30sIDEpOworCisgICAgY29uc3QgYmVmb3JlID0gJDI2Mi5h
Z2VudC5tb25vdG9uaWNOb3coKTsKKyAgICBjb25zdCB1bnBhcmsgPSBhd2FpdCBBdG9taWNzLndh
aXRBc3luYyhpMzJhLCAwLCAwLCAke1RJTUVPVVR9KS52YWx1ZTsKKyAgICBjb25zdCBkdXJhdGlv
biA9ICQyNjIuYWdlbnQubW9ub3RvbmljTm93KCkgLSBiZWZvcmU7CisKKyAgICAkMjYyLmFnZW50
LnJlcG9ydChkdXJhdGlvbik7CisgICAgJDI2Mi5hZ2VudC5yZXBvcnQodW5wYXJrKTsKKyAgICAk
MjYyLmFnZW50LmxlYXZpbmcoKTsKKyAgfSk7CitgKTsKKworJDI2Mi5hZ2VudC5zYWZlQnJvYWRj
YXN0QXN5bmMoaTMyYSwgUlVOTklORywgMSkudGhlbihhc3luYyAoYWdlbnRDb3VudCkgPT4gewor
CisgIGFzc2VydC5zYW1lVmFsdWUoYWdlbnRDb3VudCwgMSk7CisKKyAgQXRvbWljcy5zdG9yZShp
MzJhLCAwLCAwYjEwMTApOworCisgIGNvbnN0IGxhcHNlID0gYXdhaXQgJDI2Mi5hZ2VudC5nZXRS
ZXBvcnRBc3luYygpOworCisgIGFzc2VydCgKKyAgICBsYXBzZSA+PSBUSU1FT1VULAorICAgICdU
aGUgcmVzdWx0IG9mIGAobGFwc2UgPj0gVElNRU9VVClgIGlzIHRydWUnCisgICk7CisKKyAgY29u
c3QgcmVzdWx0ID0gYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpOworCisgIGFzc2Vy
dC5zYW1lVmFsdWUoCisgICAgcmVzdWx0LAorICAgICd0aW1lZC1vdXQnLAorICAgICdhd2FpdCBB
dG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCAke1RJTUVPVVR9KS52YWx1ZSByZXNvbHZlcyB0
byAidGltZWQtb3V0IicKKyAgKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShp
MzJhLCAwKSwgMCwgJ0F0b21pY3Mubm90aWZ5KGkzMmEsIDApIHJldHVybnMgMCcpOworfSkudGhl
bigkRE9ORSwgJERPTkUpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0
b21pY3Mvd2FpdEFzeW5jL25vLXNwdXJpb3VzLXdha2V1cC1vbi1zdWIuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25vLXNw
dXJpb3VzLXdha2V1cC1vbi1zdWIuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25vLXNwdXJpb3VzLXdha2V1cC1vbi1z
dWIuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3MiBAQAorLy8gQ29weXJpZ2h0IChDKSAy
MDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKwor
LyotLS0KK2VzaWQ6IHNlYy1hdG9taWNzLndhaXRhc3luYworZGVzY3JpcHRpb246ID4KKyAgV2Fp
dGVyIGRvZXMgbm90IHNwdXJpb3VzbHkgbm90aWZ5IG9uIGluZGV4IHdoaWNoIGlzIHN1YmplY3Qg
dG8gU3ViIG9wZXJhdGlvbgoraW5mbzogfAorICBBZGRXYWl0ZXIgKCBXTCwgd2FpdGVyUmVjb3Jk
ICkKKworICA1LiBBcHBlbmQgd2FpdGVyUmVjb3JkIGFzIHRoZSBsYXN0IGVsZW1lbnQgb2YgV0wu
W1tXYWl0ZXJzXV0KKyAgNi4gSWYgd2FpdGVyUmVjb3JkLltbVGltZW91dF1dIGlzIGZpbml0ZSwg
dGhlbiBpbiBwYXJhbGxlbCwKKyAgICBhLiBXYWl0IHdhaXRlclJlY29yZC5bW1RpbWVvdXRdXSBt
aWxsaXNlY29uZHMuCisgICAgYi4gUGVyZm9ybSBUcmlnZ2VyVGltZW91dChXTCwgd2FpdGVyUmVj
b3JkKS4KKworICBUcmlnZ2VyVGltZW91dCggV0wsIHdhaXRlclJlY29yZCApCisKKyAgMy4gSWYg
d2FpdGVyUmVjb3JkIGlzIGluIFdMLltbV2FpdGVyc11dLCB0aGVuCisgICAgYS4gU2V0IHdhaXRl
clJlY29yZC5bW1Jlc3VsdF1dIHRvICJ0aW1lZC1vdXQiLgorICAgIGIuIFBlcmZvcm0gUmVtb3Zl
V2FpdGVyKFdMLCB3YWl0ZXJSZWNvcmQpLgorICAgIGMuIFBlcmZvcm0gTm90aWZ5V2FpdGVyKFdM
LCB3YWl0ZXJSZWNvcmQpLgorICA0LiBQZXJmb3JtIExlYXZlQ3JpdGljYWxTZWN0aW9uKFdMKS4K
KworZmxhZ3M6IFthc3luY10KK2luY2x1ZGVzOiBbYXRvbWljc0hlbHBlci5qc10KK2ZlYXR1cmVz
OiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBUeXBlZEFycmF5LCBBdG9t
aWNzXQorLS0tKi8KKworY29uc3QgUlVOTklORyA9IDE7Citjb25zdCBUSU1FT1VUID0gJDI2Mi5h
Z2VudC50aW1lb3V0cy5zbWFsbDsKKworY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KAorICBu
ZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpCisp
OworCiskMjYyLmFnZW50LnN0YXJ0KGAKKyAgJDI2Mi5hZ2VudC5yZWNlaXZlQnJvYWRjYXN0KGFz
eW5jIChzYWIpID0+IHsKKyAgICBjb25zdCBpMzJhID0gbmV3IEludDMyQXJyYXkoc2FiKTsKKyAg
ICBBdG9taWNzLmFkZChpMzJhLCAke1JVTk5JTkd9LCAxKTsKKworICAgIGNvbnN0IGJlZm9yZSA9
ICQyNjIuYWdlbnQubW9ub3RvbmljTm93KCk7CisgICAgY29uc3QgdW5wYXJrID0gYXdhaXQgQXRv
bWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgJHtUSU1FT1VUfSkudmFsdWU7CisgICAgY29uc3Qg
ZHVyYXRpb24gPSAkMjYyLmFnZW50Lm1vbm90b25pY05vdygpIC0gYmVmb3JlOworCisgICAgJDI2
Mi5hZ2VudC5yZXBvcnQoZHVyYXRpb24pOworICAgICQyNjIuYWdlbnQucmVwb3J0KHVucGFyayk7
CisgICAgJDI2Mi5hZ2VudC5sZWF2aW5nKCk7CisgIH0pOworYCk7CisKKyQyNjIuYWdlbnQuc2Fm
ZUJyb2FkY2FzdEFzeW5jKGkzMmEsIFJVTk5JTkcsIDEpLnRoZW4oYXN5bmMgKGFnZW50Q291bnQp
ID0+IHsKKworICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDEpOworCisgIEF0b21pY3Mu
c3ViKGkzMmEsIDAsIDEpOworCisgIGNvbnN0IGxhcHNlID0gYXdhaXQgJDI2Mi5hZ2VudC5nZXRS
ZXBvcnRBc3luYygpOworCisgIGFzc2VydCgKKyAgICBsYXBzZSA+PSBUSU1FT1VULAorICAgICdU
aGUgcmVzdWx0IG9mIGAobGFwc2UgPj0gVElNRU9VVClgIGlzIHRydWUnCisgICk7CisKKyAgY29u
c3QgcmVzdWx0ID0gYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpOworCisgIGFzc2Vy
dC5zYW1lVmFsdWUoCisgICAgcmVzdWx0LAorICAgICd0aW1lZC1vdXQnLAorICAgICdhd2FpdCBB
dG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCAke1RJTUVPVVR9KS52YWx1ZSByZXNvbHZlcyB0
byAidGltZWQtb3V0IicKKyAgKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShp
MzJhLCAwKSwgMCwgJ0F0b21pY3Mubm90aWZ5KGkzMmEsIDApIHJldHVybnMgMCcpOworfSkudGhl
bigkRE9ORSwgJERPTkUpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0
b21pY3Mvd2FpdEFzeW5jL25vLXNwdXJpb3VzLXdha2V1cC1vbi14b3IuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25vLXNw
dXJpb3VzLXdha2V1cC1vbi14b3IuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25vLXNwdXJpb3VzLXdha2V1cC1vbi14
b3IuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3MiBAQAorLy8gQ29weXJpZ2h0IChDKSAy
MDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKwor
LyotLS0KK2VzaWQ6IHNlYy1hdG9taWNzLndhaXRhc3luYworZGVzY3JpcHRpb246ID4KKyAgV2Fp
dGVyIGRvZXMgbm90IHNwdXJpb3VzbHkgbm90aWZ5IG9uIGluZGV4IHdoaWNoIGlzIHN1YmplY3Qg
dG8geG9yIG9wZXJhdGlvbgoraW5mbzogfAorICBBZGRXYWl0ZXIgKCBXTCwgd2FpdGVyUmVjb3Jk
ICkKKworICA1LiBBcHBlbmQgd2FpdGVyUmVjb3JkIGFzIHRoZSBsYXN0IGVsZW1lbnQgb2YgV0wu
W1tXYWl0ZXJzXV0KKyAgNi4gSWYgd2FpdGVyUmVjb3JkLltbVGltZW91dF1dIGlzIGZpbml0ZSwg
dGhlbiBpbiBwYXJhbGxlbCwKKyAgICBhLiBXYWl0IHdhaXRlclJlY29yZC5bW1RpbWVvdXRdXSBt
aWxsaXNlY29uZHMuCisgICAgYi4gUGVyZm9ybSBUcmlnZ2VyVGltZW91dChXTCwgd2FpdGVyUmVj
b3JkKS4KKworICBUcmlnZ2VyVGltZW91dCggV0wsIHdhaXRlclJlY29yZCApCisKKyAgMy4gSWYg
d2FpdGVyUmVjb3JkIGlzIGluIFdMLltbV2FpdGVyc11dLCB0aGVuCisgICAgYS4gU2V0IHdhaXRl
clJlY29yZC5bW1Jlc3VsdF1dIHRvICJ0aW1lZC1vdXQiLgorICAgIGIuIFBlcmZvcm0gUmVtb3Zl
V2FpdGVyKFdMLCB3YWl0ZXJSZWNvcmQpLgorICAgIGMuIFBlcmZvcm0gTm90aWZ5V2FpdGVyKFdM
LCB3YWl0ZXJSZWNvcmQpLgorICA0LiBQZXJmb3JtIExlYXZlQ3JpdGljYWxTZWN0aW9uKFdMKS4K
KworZmxhZ3M6IFthc3luY10KK2luY2x1ZGVzOiBbYXRvbWljc0hlbHBlci5qc10KK2ZlYXR1cmVz
OiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBUeXBlZEFycmF5LCBBdG9t
aWNzXQorLS0tKi8KKworY29uc3QgUlVOTklORyA9IDE7Citjb25zdCBUSU1FT1VUID0gJDI2Mi5h
Z2VudC50aW1lb3V0cy5zbWFsbDsKKworY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KAorICBu
ZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpCisp
OworCiskMjYyLmFnZW50LnN0YXJ0KGAKKyAgJDI2Mi5hZ2VudC5yZWNlaXZlQnJvYWRjYXN0KGFz
eW5jIChzYWIpID0+IHsKKyAgICBjb25zdCBpMzJhID0gbmV3IEludDMyQXJyYXkoc2FiKTsKKyAg
ICBBdG9taWNzLmFkZChpMzJhLCAke1JVTk5JTkd9LCAxKTsKKworICAgIGNvbnN0IGJlZm9yZSA9
ICQyNjIuYWdlbnQubW9ub3RvbmljTm93KCk7CisgICAgY29uc3QgdW5wYXJrID0gYXdhaXQgQXRv
bWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgJHtUSU1FT1VUfSkudmFsdWU7CisgICAgY29uc3Qg
ZHVyYXRpb24gPSAkMjYyLmFnZW50Lm1vbm90b25pY05vdygpIC0gYmVmb3JlOworCisgICAgJDI2
Mi5hZ2VudC5yZXBvcnQoZHVyYXRpb24pOworICAgICQyNjIuYWdlbnQucmVwb3J0KHVucGFyayk7
CisgICAgJDI2Mi5hZ2VudC5sZWF2aW5nKCk7CisgIH0pOworYCk7CisKKyQyNjIuYWdlbnQuc2Fm
ZUJyb2FkY2FzdEFzeW5jKGkzMmEsIFJVTk5JTkcsIDEpLnRoZW4oYXN5bmMgKGFnZW50Q291bnQp
ID0+IHsKKworICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDEpOworCisgIEF0b21pY3Mu
eG9yKGkzMmEsIDAsIDEpOworCisgIGNvbnN0IGxhcHNlID0gYXdhaXQgJDI2Mi5hZ2VudC5nZXRS
ZXBvcnRBc3luYygpOworCisgIGFzc2VydCgKKyAgICBsYXBzZSA+PSBUSU1FT1VULAorICAgICdU
aGUgcmVzdWx0IG9mIGAobGFwc2UgPj0gVElNRU9VVClgIGlzIHRydWUnCisgICk7CisKKyAgY29u
c3QgcmVzdWx0ID0gYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpOworCisgIGFzc2Vy
dC5zYW1lVmFsdWUoCisgICAgcmVzdWx0LAorICAgICd0aW1lZC1vdXQnLAorICAgICdhd2FpdCBB
dG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCAke1RJTUVPVVR9KS52YWx1ZSByZXNvbHZlcyB0
byAidGltZWQtb3V0IicKKyAgKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShp
MzJhLCAwKSwgMCwgJ0F0b21pY3Mubm90aWZ5KGkzMmEsIDApIHJldHVybnMgMCcpOworfSkudGhl
bigkRE9ORSwgJERPTkUpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0
b21pY3Mvd2FpdEFzeW5jL25vbi1pbnQzMi10eXBlZGFycmF5LXRocm93cy5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbm9u
LWludDMyLXR5cGVkYXJyYXktdGhyb3dzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9ub24taW50MzItdHlwZWRhcnJh
eS10aHJvd3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4NCBAQAorLy8gQ29weXJpZ2h0
IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KKworLyotLS0KK2VzaWQ6IHNlYy1hdG9taWNzLndhaXRhc3luYworZGVzY3JpcHRpb246ID4K
KyAgVGhyb3dzIGEgVHlwZUVycm9yIGlmIHR5cGVkQXJyYXkgYXJnIGlzIG5vdCBhbiBJbnQzMkFy
cmF5CitpbmZvOiB8CisgIEF0b21pY3Mud2FpdEFzeW5jKCB0eXBlZEFycmF5LCBpbmRleCwgdmFs
dWUsIHRpbWVvdXQgKQorCisgIDEuIFJldHVybiBEb1dhaXQoYXN5bmMsIHR5cGVkQXJyYXksIGlu
ZGV4LCB2YWx1ZSwgdGltZW91dCkuCisKKyAgRG9XYWl0ICggbW9kZSwgdHlwZWRBcnJheSwgaW5k
ZXgsIHZhbHVlLCB0aW1lb3V0ICkKKworICAxLiBMZXQgYnVmZmVyIGJlID8gVmFsaWRhdGVTaGFy
ZWRJbnRlZ2VyVHlwZWRBcnJheSh0eXBlZEFycmF5LCB0cnVlKS4KKworICBWYWxpZGF0ZVNoYXJl
ZEludGVnZXJUeXBlZEFycmF5ICggdHlwZWRBcnJheSBbICwgd2FpdGFibGUgXSApCisKKyAgNS4g
SWYgd2FpdGFibGUgaXMgdHJ1ZSwgdGhlbgorICAgIGEuIElmIHR5cGVOYW1lIGlzIG5vdCAiSW50
MzJBcnJheSIgb3IgIkJpZ0ludDY0QXJyYXkiLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24u
CisKK2ZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIEZsb2F0MzJBcnJheSwgRmxvYXQ2NEFy
cmF5LCBJbnQ4QXJyYXksIFR5cGVkQXJyYXksIFVpbnQxNkFycmF5LCBVaW50OEFycmF5LCBVaW50
OENsYW1wZWRBcnJheV0KKy0tLSovCitjb25zdCBwb2lzb25lZCA9IHsKKyAgdmFsdWVPZigpIHsK
KyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdzaG91bGQgbm90IGV2YWx1YXRlIHRoaXMgY29k
ZScpOworICB9Cit9OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBjb25z
dCB2aWV3ID0gbmV3IEZsb2F0NjRBcnJheSgKKyAgICBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoRmxv
YXQ2NEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogOCkKKyAgKTsKKyAgQXRvbWljcy53YWl0QXN5
bmModmlldywgcG9pc29uZWQsIHBvaXNvbmVkLCBwb2lzb25lZCk7Cit9LCAnYGNvbnN0IHZpZXcg
PSBuZXcgRmxvYXQ2NEFycmF5KCBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoRmxvYXQ2NEFycmF5LkJZ
VEVTX1BFUl9FTEVNRU5UICogOCkgKTsgQXRvbWljcy53YWl0QXN5bmModmlldywgcG9pc29uZWQs
IHBvaXNvbmVkLCBwb2lzb25lZClgIHRocm93cyBUeXBlRXJyb3InKTsKKworYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgY29uc3QgdmlldyA9IG5ldyBGbG9hdDMyQXJyYXkoCisg
ICAgbmV3IFNoYXJlZEFycmF5QnVmZmVyKEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAq
IDQpCisgICk7CisgIEF0b21pY3Mud2FpdEFzeW5jKHZpZXcsIHBvaXNvbmVkLCBwb2lzb25lZCwg
cG9pc29uZWQpOworfSwgJ2Bjb25zdCB2aWV3ID0gbmV3IEZsb2F0MzJBcnJheSggbmV3IFNoYXJl
ZEFycmF5QnVmZmVyKEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpICk7IEF0b21p
Y3Mud2FpdEFzeW5jKHZpZXcsIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpYCB0aHJvd3Mg
VHlwZUVycm9yJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGNvbnN0
IHZpZXcgPSBuZXcgSW50MTZBcnJheSgKKyAgICBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MTZB
cnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDIpCisgICk7CisgIEF0b21pY3Mud2FpdEFzeW5jKHZp
ZXcsIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpOworfSwgJ2Bjb25zdCB2aWV3ID0gbmV3
IEludDE2QXJyYXkoIG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQxNkFycmF5LkJZVEVTX1BFUl9F
TEVNRU5UICogMikgKTsgQXRvbWljcy53YWl0QXN5bmModmlldywgcG9pc29uZWQsIHBvaXNvbmVk
LCBwb2lzb25lZClgIHRocm93cyBUeXBlRXJyb3InKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsICgpID0+IHsKKyAgY29uc3QgdmlldyA9IG5ldyBJbnQ4QXJyYXkoCisgICAgbmV3IFNoYXJl
ZEFycmF5QnVmZmVyKEludDhBcnJheS5CWVRFU19QRVJfRUxFTUVOVCkKKyAgKTsKKyAgQXRvbWlj
cy53YWl0QXN5bmModmlldywgcG9pc29uZWQsIHBvaXNvbmVkLCBwb2lzb25lZCk7Cit9LCAnYGNv
bnN0IHZpZXcgPSBuZXcgSW50OEFycmF5KCBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50OEFycmF5
LkJZVEVTX1BFUl9FTEVNRU5UKSApOyBBdG9taWNzLndhaXRBc3luYyh2aWV3LCBwb2lzb25lZCwg
cG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCithc3NlcnQudGhyb3dz
KFR5cGVFcnJvciwgKCkgPT4geworICBjb25zdCB2aWV3ID0gbmV3IFVpbnQzMkFycmF5KAorICAg
IG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihVaW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQp
CisgICk7CisgIEF0b21pY3Mud2FpdEFzeW5jKHZpZXcsIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9p
c29uZWQpOworfSwgJ2Bjb25zdCB2aWV3ID0gbmV3IFVpbnQzMkFycmF5KCBuZXcgU2hhcmVkQXJy
YXlCdWZmZXIoVWludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KSApOyBBdG9taWNzLndh
aXRBc3luYyh2aWV3LCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIFR5cGVF
cnJvcicpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBjb25zdCB2aWV3
ID0gbmV3IFVpbnQxNkFycmF5KAorICAgIG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihVaW50MTZBcnJh
eS5CWVRFU19QRVJfRUxFTUVOVCAqIDIpCisgICk7CisgIEF0b21pY3Mud2FpdEFzeW5jKHZpZXcs
IHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpOworfSwgJ2Bjb25zdCB2aWV3ID0gbmV3IFVp
bnQxNkFycmF5KCBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoVWludDE2QXJyYXkuQllURVNfUEVSX0VM
RU1FTlQgKiAyKSApOyBBdG9taWNzLndhaXRBc3luYyh2aWV3LCBwb2lzb25lZCwgcG9pc29uZWQs
IHBvaXNvbmVkKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgKCkgPT4geworICBjb25zdCB2aWV3ID0gbmV3IFVpbnQ4QXJyYXkoCisgICAgbmV3IFNoYXJl
ZEFycmF5QnVmZmVyKFVpbnQ4QXJyYXkuQllURVNfUEVSX0VMRU1FTlQpCisgICk7CisgIEF0b21p
Y3Mud2FpdEFzeW5jKHZpZXcsIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpOworfSwgJ2Bj
b25zdCB2aWV3ID0gbmV3IFVpbnQ4QXJyYXkoIG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihVaW50OEFy
cmF5LkJZVEVTX1BFUl9FTEVNRU5UKSApOyBBdG9taWNzLndhaXRBc3luYyh2aWV3LCBwb2lzb25l
ZCwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCithc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgKCkgPT4geworICBjb25zdCB2aWV3ID0gbmV3IFVpbnQ4Q2xhbXBlZEFy
cmF5KAorICAgIG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihVaW50OENsYW1wZWRBcnJheS5CWVRFU19Q
RVJfRUxFTUVOVCkKKyAgKTsKKyAgQXRvbWljcy53YWl0QXN5bmModmlldywgcG9pc29uZWQsIHBv
aXNvbmVkLCBwb2lzb25lZCk7Cit9LCAnYGNvbnN0IHZpZXcgPSBuZXcgVWludDhDbGFtcGVkQXJy
YXkoIG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihVaW50OENsYW1wZWRBcnJheS5CWVRFU19QRVJfRUxF
TUVOVCkgKTsgQXRvbWljcy53YWl0QXN5bmModmlldywgcG9pc29uZWQsIHBvaXNvbmVkLCBwb2lz
b25lZClgIHRocm93cyBUeXBlRXJyb3InKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9ub24tc2hhcmVkLWJ1ZmZlcmRhdGEtdGhyb3dzLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dh
aXRBc3luYy9ub24tc2hhcmVkLWJ1ZmZlcmRhdGEtdGhyb3dzLmpzCShub25leGlzdGVudCkKKysr
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9ub24tc2hh
cmVkLWJ1ZmZlcmRhdGEtdGhyb3dzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLWF0b21pY3Mud2FpdGFzeW5jCitkZXNj
cmlwdGlvbjogPgorICBUaHJvd3MgYSBUeXBlRXJyb3IgaWYgdHlwZWRBcnJheS5idWZmZXIgaXMg
bm90IGEgU2hhcmVkQXJyYXlCdWZmZXIKK2luZm86IHwKKyAgQXRvbWljcy53YWl0QXN5bmMoIHR5
cGVkQXJyYXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCApCisKKyAgMS4gUmV0dXJuIERvV2FpdChh
c3luYywgdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0KS4KKworICBEb1dhaXQgKCBt
b2RlLCB0eXBlZEFycmF5LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQgKQorCisgIDEuIExldCBidWZm
ZXIgYmUgPyBWYWxpZGF0ZVNoYXJlZEludGVnZXJUeXBlZEFycmF5KHR5cGVkQXJyYXksIHRydWUp
LgorCisgIFZhbGlkYXRlU2hhcmVkSW50ZWdlclR5cGVkQXJyYXkgKCB0eXBlZEFycmF5IFsgLCB3
YWl0YWJsZSBdICkKKworICA1LiBJZiB3YWl0YWJsZSBpcyB0cnVlLCB0aGVuCisgICAgYS4gSWYg
dHlwZU5hbWUgaXMgbm90ICJJbnQzMkFycmF5IiBvciAiQmlnSW50NjRBcnJheSIsIHRocm93IGEg
VHlwZUVycm9yIGV4Y2VwdGlvbi4KKworZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luYywgQXJy
YXlCdWZmZXIsIEF0b21pY3MsIFR5cGVkQXJyYXldCistLS0qLworY29uc3QgaTMyYSA9IG5ldyBJ
bnQzMkFycmF5KAorICBuZXcgQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVO
VCAqIDQpCispOworCitjb25zdCBwb2lzb25lZCA9IHsKKyAgdmFsdWVPZigpIHsKKyAgICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCdzaG91bGQgbm90IGV2YWx1YXRlIHRoaXMgY29kZScpOworICB9
Cit9OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBBdG9taWNzLndhaXQo
aTMyYSwgMCwgMCwgMCk7Cit9LCAnYEF0b21pY3Mud2FpdChpMzJhLCAwLCAwLCAwKWAgdGhyb3dz
IFR5cGVFcnJvcicpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBBdG9t
aWNzLndhaXQoaTMyYSwgcG9pc29uZWQsIHBvaXNvbmVkLCBwb2lzb25lZCk7Cit9LCAnYEF0b21p
Y3Mud2FpdChpMzJhLCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIFR5cGVF
cnJvcicpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2Fp
dEFzeW5jL25vdC1hLXR5cGVkYXJyYXktdGhyb3dzLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9ub3QtYS10eXBlZGFycmF5
LXRocm93cy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvQXRvbWljcy93YWl0QXN5bmMvbm90LWEtdHlwZWRhcnJheS10aHJvd3MuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzOSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJv
bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMt
YXRvbWljcy53YWl0YXN5bmMKK2Rlc2NyaXB0aW9uOiA+CisgIFRocm93cyBhIFR5cGVFcnJvciBp
ZiB0aGUgdHlwZWRBcnJheSBhcmcgaXMgbm90IGEgVHlwZWRBcnJheSBvYmplY3QKK2luZm86IHwK
KyAgQXRvbWljcy53YWl0QXN5bmMoIHR5cGVkQXJyYXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCAp
CisKKyAgMS4gUmV0dXJuIERvV2FpdChhc3luYywgdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0
aW1lb3V0KS4KKworICBEb1dhaXQgKCBtb2RlLCB0eXBlZEFycmF5LCBpbmRleCwgdmFsdWUsIHRp
bWVvdXQgKQorCisgIDEuIExldCBidWZmZXIgYmUgPyBWYWxpZGF0ZVNoYXJlZEludGVnZXJUeXBl
ZEFycmF5KHR5cGVkQXJyYXksIHRydWUpLgorCisgIFZhbGlkYXRlU2hhcmVkSW50ZWdlclR5cGVk
QXJyYXkgKCB0eXBlZEFycmF5IFsgLCB3YWl0YWJsZSBdICkKKworICAyLiBQZXJmb3JtID8gUmVx
dWlyZUludGVybmFsU2xvdCh0eXBlZEFycmF5LCBbW1R5cGVkQXJyYXlOYW1lXV0pLgorCisgIFJl
cXVpcmVJbnRlcm5hbFNsb3QgKCBPLCBpbnRlcm5hbFNsb3QgKQorCisgIDEuIElmIFR5cGUoTykg
aXMgbm90IE9iamVjdCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAyLiBJZiBPIGRv
ZXMgbm90IGhhdmUgYW4gaW50ZXJuYWxTbG90IGludGVybmFsIHNsb3QsIHRocm93IGEgVHlwZUVy
cm9yIGV4Y2VwdGlvbi4KKworZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luY10KKy0tLSovCitj
b25zdCBwb2lzb25lZCA9IHsKKyAgdmFsdWVPZigpIHsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCdzaG91bGQgbm90IGV2YWx1YXRlIHRoaXMgY29kZScpOworICB9Cit9OworCithc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBBdG9taWNzLndhaXRBc3luYyh7fSwgMCwgMCwg
MCk7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5jKHt9LCAwLCAwLCAwKWAgdGhyb3dzIFR5cGVFcnJv
cicpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBBdG9taWNzLndhaXRB
c3luYyh7fSwgcG9pc29uZWQsIHBvaXNvbmVkLCBwb2lzb25lZCk7Cit9LCAnYEF0b21pY3Mud2Fp
dEFzeW5jKHt9LCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIFR5cGVFcnJv
cicpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFz
eW5jL25vdC1hbi1vYmplY3QtdGhyb3dzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9ub3QtYW4tb2JqZWN0LXRocm93cy5q
cwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWlj
cy93YWl0QXN5bmMvbm90LWFuLW9iamVjdC10aHJvd3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw1OSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtYXRvbWljcy53YWl0
YXN5bmMKK2Rlc2NyaXB0aW9uOiA+CisgIFRocm93cyBhIFR5cGVFcnJvciBpZiB0eXBlZEFycmF5
IGFyZyBpcyBub3QgYW4gT2JqZWN0CitpbmZvOiB8CisgIEF0b21pY3Mud2FpdEFzeW5jKCB0eXBl
ZEFycmF5LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQgKQorCisgIDEuIFJldHVybiBEb1dhaXQoYXN5
bmMsIHR5cGVkQXJyYXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCkuCisKKyAgRG9XYWl0ICggbW9k
ZSwgdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0ICkKKworICAxLiBMZXQgYnVmZmVy
IGJlID8gVmFsaWRhdGVTaGFyZWRJbnRlZ2VyVHlwZWRBcnJheSh0eXBlZEFycmF5LCB0cnVlKS4K
KworICBWYWxpZGF0ZVNoYXJlZEludGVnZXJUeXBlZEFycmF5ICggdHlwZWRBcnJheSBbICwgd2Fp
dGFibGUgXSApCisKKyAgMi4gUGVyZm9ybSA/IFJlcXVpcmVJbnRlcm5hbFNsb3QodHlwZWRBcnJh
eSwgW1tUeXBlZEFycmF5TmFtZV1dKS4KKworICBSZXF1aXJlSW50ZXJuYWxTbG90ICggTywgaW50
ZXJuYWxTbG90ICkKKworICAxLiBJZiBUeXBlKE8pIGlzIG5vdCBPYmplY3QsIHRocm93IGEgVHlw
ZUVycm9yIGV4Y2VwdGlvbi4KKyAgMi4gSWYgTyBkb2VzIG5vdCBoYXZlIGFuIGludGVybmFsU2xv
dCBpbnRlcm5hbCBzbG90LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisKK2ZlYXR1cmVz
OiBbQXRvbWljcy53YWl0QXN5bmMsIFN5bWJvbF0KKy0tLSovCitjb25zdCBwb2lzb25lZCA9IHsK
KyAgdmFsdWVPZigpIHsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdzaG91bGQgbm90IGV2
YWx1YXRlIHRoaXMgY29kZScpOworICB9Cit9OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
KCkgPT4geworICBBdG9taWNzLndhaXRBc3luYyhudWxsLCBwb2lzb25lZCwgcG9pc29uZWQsIHBv
aXNvbmVkKTsKK30sICdgQXRvbWljcy53YWl0QXN5bmMobnVsbCwgcG9pc29uZWQsIHBvaXNvbmVk
LCBwb2lzb25lZClgIHRocm93cyBUeXBlRXJyb3InKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsICgpID0+IHsKKyAgQXRvbWljcy53YWl0QXN5bmModW5kZWZpbmVkLCBwb2lzb25lZCwgcG9p
c29uZWQsIHBvaXNvbmVkKTsKK30sICdgQXRvbWljcy53YWl0QXN5bmModW5kZWZpbmVkLCBwb2lz
b25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCithc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBBdG9taWNzLndhaXRBc3luYyh0cnVlLCBwb2lz
b25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKTsKK30sICdgQXRvbWljcy53YWl0QXN5bmModHJ1ZSwg
cG9pc29uZWQsIHBvaXNvbmVkLCBwb2lzb25lZClgIHRocm93cyBUeXBlRXJyb3InKTsKKworYXNz
ZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgQXRvbWljcy53YWl0QXN5bmMoZmFsc2Us
IHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpOworfSwgJ2BBdG9taWNzLndhaXRBc3luYyhm
YWxzZSwgcG9pc29uZWQsIHBvaXNvbmVkLCBwb2lzb25lZClgIHRocm93cyBUeXBlRXJyb3InKTsK
KworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgQXRvbWljcy53YWl0QXN5bmMo
JyoqKnN0cmluZyoqKicsIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpOworfSwgJ2BBdG9t
aWNzLndhaXRBc3luYyhcJyoqKnN0cmluZyoqKlwnLCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNv
bmVkKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkg
PT4geworICBBdG9taWNzLndhaXRBc3luYyhOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksIHBvaXNv
bmVkLCBwb2lzb25lZCwgcG9pc29uZWQpOworfSwgJ2BBdG9taWNzLndhaXRBc3luYyhOdW1iZXIu
TkVHQVRJVkVfSU5GSU5JVFksIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpYCB0aHJvd3Mg
VHlwZUVycm9yJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIEF0b21p
Y3Mud2FpdEFzeW5jKFN5bWJvbCgnKioqc3ltYm9sKioqJyksIHBvaXNvbmVkLCBwb2lzb25lZCwg
cG9pc29uZWQpOworfSwgJ2BBdG9taWNzLndhaXRBc3luYyhTeW1ib2woXCcqKipzeW1ib2wqKipc
JyksIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpYCB0aHJvd3MgVHlwZUVycm9yJyk7Cklu
ZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbnVs
bC1idWZmZXJkYXRhLXRocm93cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbnVsbC1idWZmZXJkYXRhLXRocm93cy5qcwko
bm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93
YWl0QXN5bmMvbnVsbC1idWZmZXJkYXRhLXRocm93cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQ2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1hdG9taWNzLndhaXRh
c3luYworZGVzY3JpcHRpb246ID4KKyAgQSBudWxsIHZhbHVlIGZvciBidWZmZXJEYXRhIHRocm93
cyBhIFR5cGVFcnJvcgoraW5mbzogfAorICBBdG9taWNzLndhaXRBc3luYyggdHlwZWRBcnJheSwg
aW5kZXgsIHZhbHVlLCB0aW1lb3V0ICkKKworICAxLiBSZXR1cm4gRG9XYWl0KGFzeW5jLCB0eXBl
ZEFycmF5LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQpLgorCisgIERvV2FpdCAoIG1vZGUsIHR5cGVk
QXJyYXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCApCisKKyAgMS4gTGV0IGJ1ZmZlciBiZSA/IFZh
bGlkYXRlU2hhcmVkSW50ZWdlclR5cGVkQXJyYXkodHlwZWRBcnJheSwgdHJ1ZSkuCisKKyAgVmFs
aWRhdGVTaGFyZWRJbnRlZ2VyVHlwZWRBcnJheSAoIHR5cGVkQXJyYXkgWyAsIHdhaXRhYmxlIF0g
KQorCisgIDIuIFBlcmZvcm0gPyBSZXF1aXJlSW50ZXJuYWxTbG90KHR5cGVkQXJyYXksIFtbVHlw
ZWRBcnJheU5hbWVdXSkuCisKKyAgUmVxdWlyZUludGVybmFsU2xvdCAoIE8sIGludGVybmFsU2xv
dCApCisKKyAgMS4gSWYgVHlwZShPKSBpcyBub3QgT2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBl
eGNlcHRpb24uCisgIDIuIElmIE8gZG9lcyBub3QgaGF2ZSBhbiBpbnRlcm5hbFNsb3QgaW50ZXJu
YWwgc2xvdCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorCitpbmNsdWRlczogW2RldGFj
aEFycmF5QnVmZmVyLmpzXQorZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luYywgQXJyYXlCdWZm
ZXIsIEF0b21pY3MsIFR5cGVkQXJyYXldCistLS0qLworY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFy
cmF5KAorICBuZXcgQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQp
CispOworCitjb25zdCBwb2lzb25lZCA9IHsKKyAgdmFsdWVPZigpIHsKKyAgICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCdzaG91bGQgbm90IGV2YWx1YXRlIHRoaXMgY29kZScpOworICB9Cit9Owor
Cit0cnkgeworICAkREVUQUNIQlVGRkVSKGkzMmEuYnVmZmVyKTsgLy8gRGV0YWNoaW5nIGEgbm9u
LXNoYXJlZCBBcnJheUJ1ZmZlciBzZXRzIHRoZSBbW0FycmF5QnVmZmVyRGF0YV1dIHZhbHVlIHRv
IG51bGwKK30gY2F0Y2ggKGVycm9yKSB7CisgICRFUlJPUihgQW4gdW5leHBlY3RlZCBlcnJvciBv
Y2N1cnJlZCB3aGVuIGRldGFjaGluZyBBcnJheUJ1ZmZlcjogJHtlcnJvci5tZXNzYWdlfWApOwor
fQorCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIEF0b21pY3Mud2Fp
dEFzeW5jKGkzMmEsIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpOworfSwgJ2BBdG9taWNz
LndhaXRBc3luYyhpMzJhLCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIFR5
cGVFcnJvcicpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mv
d2FpdEFzeW5jL251bGwtZm9yLXRpbWVvdXQtYWdlbnQuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL251bGwtZm9yLXRpbWVv
dXQtYWdlbnQuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0F0b21pY3Mvd2FpdEFzeW5jL251bGwtZm9yLXRpbWVvdXQtYWdlbnQuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw5MyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJv
bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNl
Yy1hdG9taWNzLndhaXRhc3luYworZGVzY3JpcHRpb246ID4KKyAgbnVsbCB0aW1lb3V0IGFyZyBz
aG91bGQgcmVzdWx0IGluIGFuICswIHRpbWVvdXQKK2luZm86IHwKKyAgQXRvbWljcy53YWl0QXN5
bmMoIHR5cGVkQXJyYXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCApCisKKyAgMS4gUmV0dXJuIERv
V2FpdChhc3luYywgdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0KS4KKworICBEb1dh
aXQgKCBtb2RlLCB0eXBlZEFycmF5LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQgKQorCisgIDYuIExl
dCBxIGJlID8gVG9OdW1iZXIodGltZW91dCkuCisKKyAgICBOdWxsIC0+IFJldHVybiArMC4KKwor
ZmxhZ3M6IFthc3luY10KK2luY2x1ZGVzOiBbYXRvbWljc0hlbHBlci5qc10KK2ZlYXR1cmVzOiBb
QXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBUeXBlZEFycmF5LCBBdG9taWNz
XQorLS0tKi8KKworY29uc3QgUlVOTklORyA9IDE7CisKKyQyNjIuYWdlbnQuc3RhcnQoYAorICBj
b25zdCB2YWx1ZU9mID0geworICAgIHZhbHVlT2YoKSB7CisgICAgICByZXR1cm4gbnVsbDsKKyAg
ICB9CisgIH07CisKKyAgY29uc3QgdG9QcmltaXRpdmUgPSB7CisgICAgW1N5bWJvbC50b1ByaW1p
dGl2ZV0oKSB7CisgICAgICByZXR1cm4gbnVsbDsKKyAgICB9CisgIH07CisKKyAgJDI2Mi5hZ2Vu
dC5yZWNlaXZlQnJvYWRjYXN0KGFzeW5jIChzYWIpID0+IHsKKyAgICBjb25zdCBpMzJhID0gbmV3
IEludDMyQXJyYXkoc2FiKTsKKyAgICBBdG9taWNzLmFkZChpMzJhLCAke1JVTk5JTkd9LCAxKTsK
KyAgICAkMjYyLmFnZW50LnJlcG9ydChhd2FpdCBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAw
LCBudWxsKS52YWx1ZSk7CisgICAgJDI2Mi5hZ2VudC5yZXBvcnQoYXdhaXQgQXRvbWljcy53YWl0
QXN5bmMoaTMyYSwgMCwgMCwgdmFsdWVPZikudmFsdWUpOworICAgICQyNjIuYWdlbnQucmVwb3J0
KGF3YWl0IEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIHRvUHJpbWl0aXZlKS52YWx1ZSk7
CisgICAgJDI2Mi5hZ2VudC5yZXBvcnQoQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgbnVs
bCkudmFsdWUpOworICAgICQyNjIuYWdlbnQucmVwb3J0KEF0b21pY3Mud2FpdEFzeW5jKGkzMmEs
IDAsIDAsIHZhbHVlT2YpLnZhbHVlKTsKKyAgICAkMjYyLmFnZW50LnJlcG9ydChBdG9taWNzLndh
aXRBc3luYyhpMzJhLCAwLCAwLCB0b1ByaW1pdGl2ZSkudmFsdWUpOworICAgICQyNjIuYWdlbnQu
bGVhdmluZygpOworICB9KTsKK2ApOworCitjb25zdCBpMzJhID0gbmV3IEludDMyQXJyYXkoCisg
IG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkK
Kyk7CisKKyQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5jKGkzMmEsIFJVTk5JTkcsIDEpLnRo
ZW4oYXN5bmMgKGFnZW50Q291bnQpID0+IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50
LCAxKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVw
b3J0QXN5bmMoKSwKKyAgICAndGltZWQtb3V0JywKKyAgICAnYXdhaXQgQXRvbWljcy53YWl0QXN5
bmMoaTMyYSwgMCwgMCwgbnVsbCkudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICk7
CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3lu
YygpLAorICAgICd0aW1lZC1vdXQnLAorICAgICdhd2FpdCBBdG9taWNzLndhaXRBc3luYyhpMzJh
LCAwLCAwLCB2YWx1ZU9mKS52YWx1ZSByZXNvbHZlcyB0byAidGltZWQtb3V0IicKKyAgKTsKKyAg
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCks
CisgICAgJ3RpbWVkLW91dCcsCisgICAgJ2F3YWl0IEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAs
IDAsIHRvUHJpbWl0aXZlKS52YWx1ZSByZXNvbHZlcyB0byAidGltZWQtb3V0IicKKyAgKTsKKyAg
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCks
CisgICAgJ3RpbWVkLW91dCcsCisgICAgJ0F0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIG51
bGwpLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICApOworICBhc3NlcnQuc2FtZVZh
bHVlKAorICAgIGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSwKKyAgICAndGltZWQt
b3V0JywKKyAgICAnQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgdmFsdWVPZikudmFsdWUg
cmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICk7CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAg
YXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAorICAgICd0aW1lZC1vdXQnLAorICAg
ICdBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB0b1ByaW1pdGl2ZSkudmFsdWUgcmVzb2x2
ZXMgdG8gInRpbWVkLW91dCInCisgICk7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5v
dGlmeShpMzJhLCAwKSwgMCwgJ0F0b21pY3Mubm90aWZ5KGkzMmEsIDApIHJldHVybnMgMCcpOwor
Cit9KS50aGVuKCRET05FLCAkRE9ORSk7CisKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9udWxsLWZvci10aW1lb3V0LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9udWxs
LWZvci10aW1lb3V0LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9udWxsLWZvci10aW1lb3V0LmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNjMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMt
YXRvbWljcy53YWl0YXN5bmMKK2Rlc2NyaXB0aW9uOiA+CisgIG51bGwgdGltZW91dCBhcmcgc2hv
dWxkIHJlc3VsdCBpbiBhbiArMCB0aW1lb3V0CitpbmZvOiB8CisgIEF0b21pY3Mud2FpdEFzeW5j
KCB0eXBlZEFycmF5LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQgKQorCisgIDEuIFJldHVybiBEb1dh
aXQoYXN5bmMsIHR5cGVkQXJyYXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCkuCisKKyAgRG9XYWl0
ICggbW9kZSwgdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0ICkKKworICA2LiBMZXQg
cSBiZSA/IFRvTnVtYmVyKHRpbWVvdXQpLgorCisgICAgTnVsbCAtPiBSZXR1cm4gKzAuCisKK2Zl
YXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBTeW1ib2wsIFN5
bWJvbC50b1ByaW1pdGl2ZSwgVHlwZWRBcnJheSwgY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIEF0
b21pY3NdCitmbGFnczogW2FzeW5jXQorLS0tKi8KKworY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFy
cmF5KAorICBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVO
VCAqIDQpCispOworCitjb25zdCB2YWx1ZU9mID0geworICB2YWx1ZU9mKCkgeworICAgIHJldHVy
biBudWxsOworICB9Cit9OworCitjb25zdCB0b1ByaW1pdGl2ZSA9IHsKKyAgW1N5bWJvbC50b1By
aW1pdGl2ZV0oKSB7CisgICAgcmV0dXJuIG51bGw7CisgIH0KK307CisKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIG51bGwpLnZhbHVlLAorICAndGlt
ZWQtb3V0JywKKyAgJ0F0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIG51bGwpLnZhbHVlIHJl
c29sdmVzIHRvICJ0aW1lZC1vdXQiJworKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIEF0b21pY3Mu
d2FpdEFzeW5jKGkzMmEsIDAsIDAsIHZhbHVlT2YpLnZhbHVlLAorICAndGltZWQtb3V0JywKKyAg
J0F0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIHZhbHVlT2YpLnZhbHVlIHJlc29sdmVzIHRv
ICJ0aW1lZC1vdXQiJworKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIEF0b21pY3Mud2FpdEFzeW5j
KGkzMmEsIDAsIDAsIHRvUHJpbWl0aXZlKS52YWx1ZSwKKyAgJ3RpbWVkLW91dCcsCisgICdBdG9t
aWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB0b1ByaW1pdGl2ZSkudmFsdWUgcmVzb2x2ZXMgdG8g
InRpbWVkLW91dCInCispOworCitQcm9taXNlLmFsbChbCisgICAgQXRvbWljcy53YWl0QXN5bmMo
aTMyYSwgMCwgMCwgbnVsbCkudmFsdWUsCisgICAgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwg
MCwgdmFsdWVPZikudmFsdWUsCisgICAgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgdG9Q
cmltaXRpdmUpLnZhbHVlLAorICBdKS50aGVuKG91dGNvbWVzID0+IHsKKyAgICBhc3NlcnQuc2Ft
ZVZhbHVlKG91dGNvbWVzWzBdLCAidGltZWQtb3V0Iik7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShv
dXRjb21lc1sxXSwgInRpbWVkLW91dCIpOworICAgIGFzc2VydC5zYW1lVmFsdWUob3V0Y29tZXNb
Ml0sICJ0aW1lZC1vdXQiKTsKKyAgfSwgJERPTkUpLnRoZW4oJERPTkUsICRET05FKTsKSW5kZXg6
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9vYmplY3Qt
Zm9yLXRpbWVvdXQtYWdlbnQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL29iamVjdC1mb3ItdGltZW91dC1hZ2VudC5qcwko
bm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93
YWl0QXN5bmMvb2JqZWN0LWZvci10aW1lb3V0LWFnZW50LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMTAyIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5z
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWF0b21pY3Mu
d2FpdGFzeW5jCitkZXNjcmlwdGlvbjogPgorICBPYmplY3QgdmFsdWVPZiwgdG9TdHJpbmcsIHRv
UHJpbWl0aXZlIFplcm8gdGltZW91dCBhcmcgc2hvdWxkIHJlc3VsdCBpbiBhbiArMCB0aW1lb3V0
CitpbmZvOiB8CisgIEF0b21pY3Mud2FpdEFzeW5jKCB0eXBlZEFycmF5LCBpbmRleCwgdmFsdWUs
IHRpbWVvdXQgKQorCisgIDEuIFJldHVybiBEb1dhaXQoYXN5bmMsIHR5cGVkQXJyYXksIGluZGV4
LCB2YWx1ZSwgdGltZW91dCkuCisKKyAgRG9XYWl0ICggbW9kZSwgdHlwZWRBcnJheSwgaW5kZXgs
IHZhbHVlLCB0aW1lb3V0ICkKKworICA2LiBMZXQgcSBiZSA/IFRvTnVtYmVyKHRpbWVvdXQpLgor
CisgICAgT2JqZWN0IC0+IEFwcGx5IHRoZSBmb2xsb3dpbmcgc3RlcHM6CisKKyAgICAgIExldCBw
cmltVmFsdWUgYmUgPyBUb1ByaW1pdGl2ZShhcmd1bWVudCwgaGludCBOdW1iZXIpLgorICAgICAg
UmV0dXJuID8gVG9OdW1iZXIocHJpbVZhbHVlKS4KKworZmxhZ3M6IFthc3luY10KK2luY2x1ZGVz
OiBbYXRvbWljc0hlbHBlci5qc10KK2ZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJl
ZEFycmF5QnVmZmVyLCBUeXBlZEFycmF5LCBBdG9taWNzXQorLS0tKi8KK2NvbnN0IFJVTk5JTkcg
PSAxOworCiskMjYyLmFnZW50LnN0YXJ0KGAKKyAgY29uc3QgdmFsdWVPZiA9IHsKKyAgICB2YWx1
ZU9mKCkgeworICAgICAgcmV0dXJuIDA7CisgICAgfQorICB9OworCisgIGNvbnN0IHRvU3RyaW5n
ID0geworICAgIHRvU3RyaW5nKCkgeworICAgICAgcmV0dXJuICIwIjsKKyAgICB9CisgIH07CisK
KyAgY29uc3QgdG9QcmltaXRpdmUgPSB7CisgICAgW1N5bWJvbC50b1ByaW1pdGl2ZV0oKSB7Cisg
ICAgICByZXR1cm4gMDsKKyAgICB9CisgIH07CisKKyAgJDI2Mi5hZ2VudC5yZWNlaXZlQnJvYWRj
YXN0KGFzeW5jIChzYWIpID0+IHsKKyAgICBjb25zdCBpMzJhID0gbmV3IEludDMyQXJyYXkoc2Fi
KTsKKyAgICBBdG9taWNzLmFkZChpMzJhLCAke1JVTk5JTkd9LCAxKTsKKyAgICAkMjYyLmFnZW50
LnJlcG9ydChhd2FpdCBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB2YWx1ZU9mKS52YWx1
ZSk7CisgICAgJDI2Mi5hZ2VudC5yZXBvcnQoYXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwg
MCwgMCwgdG9TdHJpbmcpLnZhbHVlKTsKKyAgICAkMjYyLmFnZW50LnJlcG9ydChhd2FpdCBBdG9t
aWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB0b1ByaW1pdGl2ZSkudmFsdWUpOworICAgICQyNjIu
YWdlbnQucmVwb3J0KEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIHZhbHVlT2YpLnZhbHVl
KTsKKyAgICAkMjYyLmFnZW50LnJlcG9ydChBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB0
b1N0cmluZykudmFsdWUpOworICAgICQyNjIuYWdlbnQucmVwb3J0KEF0b21pY3Mud2FpdEFzeW5j
KGkzMmEsIDAsIDAsIHRvUHJpbWl0aXZlKS52YWx1ZSk7CisgICAgJDI2Mi5hZ2VudC5sZWF2aW5n
KCk7CisgIH0pOworYCk7CisKK2NvbnN0IGkzMmEgPSBuZXcgSW50MzJBcnJheSgKKyAgbmV3IFNo
YXJlZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KQorKTsKKwor
JDI2Mi5hZ2VudC5zYWZlQnJvYWRjYXN0QXN5bmMoaTMyYSwgUlVOTklORywgMSkudGhlbihhc3lu
YyAoYWdlbnRDb3VudCkgPT4geworCisgIGFzc2VydC5zYW1lVmFsdWUoYWdlbnRDb3VudCwgMSk7
CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFz
eW5jKCksCisgICAgJ3RpbWVkLW91dCcsCisgICAgJ2F3YWl0IEF0b21pY3Mud2FpdEFzeW5jKGkz
MmEsIDAsIDAsIHZhbHVlT2YpLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICApOwor
ICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMo
KSwKKyAgICAndGltZWQtb3V0JywKKyAgICAnYXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwg
MCwgMCwgdG9TdHJpbmcpLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICApOworICBh
c3NlcnQuc2FtZVZhbHVlKAorICAgIGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSwK
KyAgICAndGltZWQtb3V0JywKKyAgICAnYXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwg
MCwgdG9QcmltaXRpdmUpLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICApOworICBh
c3NlcnQuc2FtZVZhbHVlKAorICAgIGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSwK
KyAgICAndGltZWQtb3V0JywKKyAgICAnQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgdmFs
dWVPZikudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICk7CisgIGFzc2VydC5zYW1l
VmFsdWUoCisgICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAorICAgICd0aW1l
ZC1vdXQnLAorICAgICdBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB0b1N0cmluZykudmFs
dWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICk7CisgIGFzc2VydC5zYW1lVmFsdWUoCisg
ICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAorICAgICd0aW1lZC1vdXQnLAor
ICAgICdBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB0b1ByaW1pdGl2ZSkudmFsdWUgcmVz
b2x2ZXMgdG8gInRpbWVkLW91dCInCisgICk7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNz
Lm5vdGlmeShpMzJhLCAwKSwgMCwgJ0F0b21pY3Mubm90aWZ5KGkzMmEsIDApIHJldHVybnMgMCcp
OworCit9KS50aGVuKCRET05FLCAkRE9ORSk7CisKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9vYmplY3QtZm9yLXRpbWVvdXQuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5j
L29iamVjdC1mb3ItdGltZW91dC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvb2JqZWN0LWZvci10aW1lb3V0LmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzEgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNr
IFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitl
c2lkOiBzZWMtYXRvbWljcy53YWl0YXN5bmMKK2Rlc2NyaXB0aW9uOiA+CisgIE9iamVjdCB2YWx1
ZU9mLCB0b1N0cmluZywgdG9QcmltaXRpdmUgWmVybyB0aW1lb3V0IGFyZyBzaG91bGQgcmVzdWx0
IGluIGFuICswIHRpbWVvdXQKK2luZm86IHwKKyAgQXRvbWljcy53YWl0QXN5bmMoIHR5cGVkQXJy
YXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCApCisKKyAgMS4gUmV0dXJuIERvV2FpdChhc3luYywg
dHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0KS4KKworICBEb1dhaXQgKCBtb2RlLCB0
eXBlZEFycmF5LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQgKQorCisgIDYuIExldCBxIGJlID8gVG9O
dW1iZXIodGltZW91dCkuCisKKyAgICBPYmplY3QgLT4gQXBwbHkgdGhlIGZvbGxvd2luZyBzdGVw
czoKKworICAgICAgTGV0IHByaW1WYWx1ZSBiZSA/IFRvUHJpbWl0aXZlKGFyZ3VtZW50LCBoaW50
IE51bWJlcikuCisgICAgICBSZXR1cm4gPyBUb051bWJlcihwcmltVmFsdWUpLgorCitmZWF0dXJl
czogW0F0b21pY3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgU3ltYm9sLCBTeW1ib2wu
dG9QcmltaXRpdmUsIFR5cGVkQXJyYXksIGNvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBBdG9taWNz
XQorZmxhZ3M6IFthc3luY10KKy0tLSovCitjb25zdCBpMzJhID0gbmV3IEludDMyQXJyYXkoCisg
IG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkK
Kyk7CisKK2NvbnN0IHZhbHVlT2YgPSB7CisgIHZhbHVlT2YoKSB7CisgICAgcmV0dXJuIDA7Cisg
IH0KK307CisKK2NvbnN0IHRvU3RyaW5nID0geworICB0b1N0cmluZygpIHsKKyAgICByZXR1cm4g
IjAiOworICB9Cit9OworCitjb25zdCB0b1ByaW1pdGl2ZSA9IHsKKyAgW1N5bWJvbC50b1ByaW1p
dGl2ZV0oKSB7CisgICAgcmV0dXJuIDA7CisgIH0KK307CisKK2Fzc2VydC5zYW1lVmFsdWUoCisg
IEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIHZhbHVlT2YpLnZhbHVlLAorICAndGltZWQt
b3V0JywKKyAgJ0F0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIHZhbHVlT2YpLnZhbHVlIHJl
c29sdmVzIHRvICJ0aW1lZC1vdXQiJworKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIEF0b21pY3Mu
d2FpdEFzeW5jKGkzMmEsIDAsIDAsIHRvU3RyaW5nKS52YWx1ZSwKKyAgJ3RpbWVkLW91dCcsCisg
ICdBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB0b1N0cmluZykudmFsdWUgcmVzb2x2ZXMg
dG8gInRpbWVkLW91dCInCispOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgQXRvbWljcy53YWl0QXN5
bmMoaTMyYSwgMCwgMCwgdG9QcmltaXRpdmUpLnZhbHVlLAorICAndGltZWQtb3V0JywKKyAgJ0F0
b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIHRvUHJpbWl0aXZlKS52YWx1ZSByZXNvbHZlcyB0
byAidGltZWQtb3V0IicKKyk7CisKK1Byb21pc2UuYWxsKFsKKyAgICBBdG9taWNzLndhaXRBc3lu
YyhpMzJhLCAwLCAwLCB2YWx1ZU9mKS52YWx1ZSwKKyAgICBBdG9taWNzLndhaXRBc3luYyhpMzJh
LCAwLCAwLCB0b1N0cmluZykudmFsdWUsCisgICAgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwg
MCwgdG9QcmltaXRpdmUpLnZhbHVlLAorICBdKS50aGVuKG91dGNvbWVzID0+IHsKKyAgICBhc3Nl
cnQuc2FtZVZhbHVlKG91dGNvbWVzWzBdLCAidGltZWQtb3V0Iik7CisgICAgYXNzZXJ0LnNhbWVW
YWx1ZShvdXRjb21lc1sxXSwgInRpbWVkLW91dCIpOworICAgIGFzc2VydC5zYW1lVmFsdWUob3V0
Y29tZXNbMl0sICJ0aW1lZC1vdXQiKTsKKyAgfSwgJERPTkUpLnRoZW4oJERPTkUsICRET05FKTsK
SW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9v
dXQtb2YtcmFuZ2UtaW5kZXgtdGhyb3dzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9vdXQtb2YtcmFuZ2UtaW5kZXgtdGhy
b3dzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9B
dG9taWNzL3dhaXRBc3luYy9vdXQtb2YtcmFuZ2UtaW5kZXgtdGhyb3dzLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNDQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMt
YXRvbWljcy53YWl0YXN5bmMKK2Rlc2NyaXB0aW9uOiA+CisgIFRocm93cyBhIFJhbmdlRXJyb3Ig
aWYgdmFsdWUgb2YgaW5kZXggYXJnIGlzIG91dCBvZiByYW5nZQoraW5mbzogfAorICBBdG9taWNz
LndhaXRBc3luYyggdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0ICkKKworICAxLiBS
ZXR1cm4gRG9XYWl0KGFzeW5jLCB0eXBlZEFycmF5LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQpLgor
CisgIERvV2FpdCAoIG1vZGUsIHR5cGVkQXJyYXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCApCisK
KyAgMi4gTGV0IGkgYmUgPyBWYWxpZGF0ZUF0b21pY0FjY2Vzcyh0eXBlZEFycmF5LCBpbmRleCku
CisKKyAgICAuLi4KKyAgICAyLkxldCBhY2Nlc3NJbmRleCBiZSA/IFRvSW5kZXgocmVxdWVzdElu
ZGV4KS4KKyAgICAuLi4KKyAgICA1LiBJZiBhY2Nlc3NJbmRleCDiiaUgbGVuZ3RoLCB0aHJvdyBh
IFJhbmdlRXJyb3IgZXhjZXB0aW9uLgorZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luYywgU2hh
cmVkQXJyYXlCdWZmZXIsIFR5cGVkQXJyYXksIEF0b21pY3NdCistLS0qLworY29uc3QgaTMyYSA9
IG5ldyBJbnQzMkFycmF5KAorICBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRF
U19QRVJfRUxFTUVOVCAqIDQpCispOworCitjb25zdCBwb2lzb25lZCA9IHsKKyAgdmFsdWVPZigp
IHsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdzaG91bGQgbm90IGV2YWx1YXRlIHRoaXMg
Y29kZScpOworICB9Cit9OworCithc3NlcnQudGhyb3dzKFJhbmdlRXJyb3IsIGZ1bmN0aW9uKCkg
eworICBBdG9taWNzLndhaXQoaTMyYSwgSW5maW5pdHksIHBvaXNvbmVkLCBwb2lzb25lZCk7Cit9
LCAnYEF0b21pY3Mud2FpdChpMzJhLCBJbmZpbml0eSwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhy
b3dzIFJhbmdlRXJyb3InKTsKK2Fzc2VydC50aHJvd3MoUmFuZ2VFcnJvciwgZnVuY3Rpb24oKSB7
CisgIEF0b21pY3Mud2FpdChpMzJhLCAtMSwgcG9pc29uZWQsIHBvaXNvbmVkKTsKK30sICdgQXRv
bWljcy53YWl0KGkzMmEsIC0xLCBwb2lzb25lZCwgcG9pc29uZWQpYCB0aHJvd3MgUmFuZ2VFcnJv
cicpOworYXNzZXJ0LnRocm93cyhSYW5nZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgQXRvbWljcy53
YWl0KGkzMmEsIDQsIHBvaXNvbmVkLCBwb2lzb25lZCk7Cit9LCAnYEF0b21pY3Mud2FpdChpMzJh
LCA0LCBwb2lzb25lZCwgcG9pc29uZWQpYCB0aHJvd3MgUmFuZ2VFcnJvcicpOworYXNzZXJ0LnRo
cm93cyhSYW5nZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgQXRvbWljcy53YWl0KGkzMmEsIDIwMCwg
cG9pc29uZWQsIHBvaXNvbmVkKTsKK30sICdgQXRvbWljcy53YWl0KGkzMmEsIDIwMCwgcG9pc29u
ZWQsIHBvaXNvbmVkKWAgdGhyb3dzIFJhbmdlRXJyb3InKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9wb2lzb25lZC1vYmplY3QtZm9yLXRp
bWVvdXQtdGhyb3dzLWFnZW50LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9wb2lzb25lZC1vYmplY3QtZm9yLXRpbWVvdXQt
dGhyb3dzLWFnZW50LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9wb2lzb25lZC1vYmplY3QtZm9yLXRpbWVvdXQtdGhy
b3dzLWFnZW50LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODcgQEAKKy8vIENvcHlyaWdo
dCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCisKKy8qLS0tCitlc2lkOiBzZWMtYXRvbWljcy53YWl0YXN5bmMKK2Rlc2NyaXB0aW9uOiA+
CisgIEZhbHNlIHRpbWVvdXQgYXJnIHNob3VsZCByZXN1bHQgaW4gYW4gKzAgdGltZW91dAoraW5m
bzogfAorICBBdG9taWNzLndhaXRBc3luYyggdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0aW1l
b3V0ICkKKworICAxLiBSZXR1cm4gRG9XYWl0KGFzeW5jLCB0eXBlZEFycmF5LCBpbmRleCwgdmFs
dWUsIHRpbWVvdXQpLgorCisgIERvV2FpdCAoIG1vZGUsIHR5cGVkQXJyYXksIGluZGV4LCB2YWx1
ZSwgdGltZW91dCApCisKKyAgNi4gTGV0IHEgYmUgPyBUb051bWJlcih0aW1lb3V0KS4KKworICBM
ZXQgcHJpbVZhbHVlIGJlID8gVG9QcmltaXRpdmUoYXJndW1lbnQsIGhpbnQgTnVtYmVyKS4KKyAg
UmV0dXJuID8gVG9OdW1iZXIocHJpbVZhbHVlKS4KKworZmxhZ3M6IFthc3luY10KK2luY2x1ZGVz
OiBbYXRvbWljc0hlbHBlci5qc10KK2ZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJl
ZEFycmF5QnVmZmVyLCBUeXBlZEFycmF5LCBBdG9taWNzXQorLS0tKi8KKworY29uc3QgUlVOTklO
RyA9IDE7CisKKyQyNjIuYWdlbnQuc3RhcnQoYAorICBjb25zdCBwb2lzb25lZFZhbHVlT2YgPSB7
CisgICAgdmFsdWVPZigpIHsKKyAgICAgIHRocm93IG5ldyBFcnJvcignc2hvdWxkIG5vdCBldmFs
dWF0ZSB0aGlzIGNvZGUnKTsKKyAgICB9CisgIH07CisKKyAgY29uc3QgcG9pc29uZWRUb1ByaW1p
dGl2ZSA9IHsKKyAgICBbU3ltYm9sLnRvUHJpbWl0aXZlXSgpIHsKKyAgICAgIHRocm93IG5ldyBF
cnJvcigncGFzc2luZyBhIHBvaXNvbmVkIG9iamVjdCB1c2luZyBAQFRvUHJpbWl0aXZlJyk7Cisg
ICAgfQorICB9OworCisgICQyNjIuYWdlbnQucmVjZWl2ZUJyb2FkY2FzdChmdW5jdGlvbihzYWIp
IHsKKyAgICBjb25zdCBpMzJhID0gbmV3IEludDMyQXJyYXkoc2FiKTsKKyAgICBBdG9taWNzLmFk
ZChpMzJhLCAke1JVTk5JTkd9LCAxKTsKKworICAgIGxldCBzdGF0dXMxID0gJyc7CisgICAgbGV0
IHN0YXR1czIgPSAnJzsKKworICAgIHRyeSB7CisgICAgICBBdG9taWNzLndhaXQoaTMyYSwgMCwg
MCwgcG9pc29uZWRWYWx1ZU9mKTsKKyAgICB9IGNhdGNoIChlcnJvcikgeworICAgICAgc3RhdHVz
MSA9ICdwb2lzb25lZFZhbHVlT2YnOworICAgIH0KKyAgICB0cnkgeworICAgICAgQXRvbWljcy53
YWl0KGkzMmEsIDAsIDAsIHBvaXNvbmVkVG9QcmltaXRpdmUpOworICAgIH0gY2F0Y2ggKGVycm9y
KSB7CisgICAgICBzdGF0dXMyID0gJ3BvaXNvbmVkVG9QcmltaXRpdmUnOworICAgIH0KKworICAg
ICQyNjIuYWdlbnQucmVwb3J0KHN0YXR1czEpOworICAgICQyNjIuYWdlbnQucmVwb3J0KHN0YXR1
czIpOworICAgICQyNjIuYWdlbnQubGVhdmluZygpOworICB9KTsKK2ApOworCitjb25zdCBpMzJh
ID0gbmV3IEludDMyQXJyYXkoCisgIG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZ
VEVTX1BFUl9FTEVNRU5UICogNCkKKyk7CisKKyQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5j
KGkzMmEsIFJVTk5JTkcsIDEpLnRoZW4oYXN5bmMgKGFnZW50Q291bnQpID0+IHsKKworICBhc3Nl
cnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDEpOworCisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAg
YXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAorICAgICdwb2lzb25lZFZhbHVlT2Yn
LAorICAgICdBdG9taWNzLndhaXQoaTMyYSwgMCwgMCwgcG9pc29uZWRWYWx1ZU9mKSB0aHJvd3Mn
CisgICk7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBhd2FpdCAkMjYyLmFnZW50LmdldFJl
cG9ydEFzeW5jKCksCisgICAgJ3BvaXNvbmVkVG9QcmltaXRpdmUnLAorICAgICdBdG9taWNzLndh
aXQoaTMyYSwgMCwgMCwgcG9pc29uZWRUb1ByaW1pdGl2ZSkgdGhyb3dzJworICApOworCisgIGFz
c2VydC5zYW1lVmFsdWUoQXRvbWljcy5ub3RpZnkoaTMyYSwgMCksIDAsICdBdG9taWNzLm5vdGlm
eShpMzJhLCAwKSByZXR1cm5zIDAnKTsKKworfSkudGhlbigkRE9ORSwgJERPTkUpOworCkluZGV4
OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvcG9pc29u
ZWQtb2JqZWN0LWZvci10aW1lb3V0LXRocm93cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvcG9pc29uZWQtb2JqZWN0LWZv
ci10aW1lb3V0LXRocm93cy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvcG9pc29uZWQtb2JqZWN0LWZvci10aW1lb3V0
LXRocm93cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ1IEBACisvLyBDb3B5cmlnaHQg
KEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2Rl
IGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgorCisvKi0tLQorZXNpZDogc2VjLWF0b21pY3Mud2FpdGFzeW5jCitkZXNjcmlwdGlvbjogPgor
ICBUaHJvd3MgYSBUeXBlRXJyb3IgaWYgaW5kZXggYXJnIGNhbiBub3QgYmUgY29udmVydGVkIHRv
IGFuIEludGVnZXIKK2luZm86IHwKKyAgQXRvbWljcy53YWl0QXN5bmMoIHR5cGVkQXJyYXksIGlu
ZGV4LCB2YWx1ZSwgdGltZW91dCApCisKKyAgMS4gUmV0dXJuIERvV2FpdChhc3luYywgdHlwZWRB
cnJheSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0KS4KKworICBEb1dhaXQgKCBtb2RlLCB0eXBlZEFy
cmF5LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQgKQorCisgIDYuIExldCBxIGJlID8gVG9OdW1iZXIo
dGltZW91dCkuCisKKyAgTGV0IHByaW1WYWx1ZSBiZSA/IFRvUHJpbWl0aXZlKGFyZ3VtZW50LCBo
aW50IE51bWJlcikuCisgIFJldHVybiA/IFRvTnVtYmVyKHByaW1WYWx1ZSkuCisKK2ZlYXR1cmVz
OiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBTeW1ib2wsIFN5bWJvbC50
b1ByaW1pdGl2ZSwgVHlwZWRBcnJheSwgY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIEF0b21pY3Nd
CistLS0qLworCitjb25zdCBpMzJhID0gbmV3IEludDMyQXJyYXkoCisgIG5ldyBTaGFyZWRBcnJh
eUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkKKyk7CisKK2NvbnN0IHBv
aXNvbmVkVmFsdWVPZiA9IHsKKyAgdmFsdWVPZigpIHsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCdzaG91bGQgbm90IGV2YWx1YXRlIHRoaXMgY29kZScpOworICB9Cit9OworCitjb25zdCBw
b2lzb25lZFRvUHJpbWl0aXZlID0geworICBbU3ltYm9sLnRvUHJpbWl0aXZlXSgpIHsKKyAgICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdwYXNzaW5nIGEgcG9pc29uZWQgb2JqZWN0IHVzaW5nIEBA
VG9QcmltaXRpdmUnKTsKKyAgfQorfTsKKworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1
bmN0aW9uKCkgeworICBBdG9taWNzLndhaXQoaTMyYSwgMCwgMCwgcG9pc29uZWRWYWx1ZU9mKTsK
K30sICdgQXRvbWljcy53YWl0KGkzMmEsIDAsIDAsIHBvaXNvbmVkVmFsdWVPZilgIHRocm93cyBU
ZXN0MjYyRXJyb3InKTsKKworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9uKCkg
eworICBBdG9taWNzLndhaXQoaTMyYSwgMCwgMCwgcG9pc29uZWRUb1ByaW1pdGl2ZSk7Cit9LCAn
YEF0b21pY3Mud2FpdChpMzJhLCAwLCAwLCBwb2lzb25lZFRvUHJpbWl0aXZlKWAgdGhyb3dzIFRl
c3QyNjJFcnJvcicpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21p
Y3Mvd2FpdEFzeW5jL3JldHVybnMtcmVzdWx0LW9iamVjdC12YWx1ZS1pcy1wcm9taXNlLXJlc29s
dmVzLXRvLW9rLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9BdG9taWNzL3dhaXRBc3luYy9yZXR1cm5zLXJlc3VsdC1vYmplY3QtdmFsdWUtaXMtcHJvbWlz
ZS1yZXNvbHZlcy10by1vay5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvcmV0dXJucy1yZXN1bHQtb2JqZWN0LXZhbHVl
LWlzLXByb21pc2UtcmVzb2x2ZXMtdG8tb2suanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
NiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1hdG9taWNzLndhaXRhc3lu
YworZGVzY3JpcHRpb246ID4KKyAgQXRvbWljcy53YWl0QXN5bmMgcmV0dXJucyBhIHJlc3VsdCBv
YmplY3QgY29udGFpbmluZyBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byAib2siIGFuZCBhc3lu
YyBpcyB0cnVlLgoraW5mbzogfAorICBBdG9taWNzLndhaXRBc3luYyggdHlwZWRBcnJheSwgaW5k
ZXgsIHZhbHVlLCB0aW1lb3V0ICkKKworICAxLiBSZXR1cm4gRG9XYWl0KGFzeW5jLCB0eXBlZEFy
cmF5LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQpLgorCisgIERvV2FpdCAoIG1vZGUsIHR5cGVkQXJy
YXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCApCisKKyAgLi4uCisgIDEzLiBMZXQgcHJvbWlzZUNh
cGFiaWxpdHkgYmUgdW5kZWZpbmVkLgorICAxNC4gSWYgbW9kZSBpcyBhc3luYywgdGhlbgorICAg
IGEuIFNldCBwcm9taXNlQ2FwYWJpbGl0eSB0byAhIE5ld1Byb21pc2VDYXBhYmlsaXR5KCVQcm9t
aXNlJSkuCisKKyAgLi4uCisgIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJvcGVydHlPclRocm93KF9y
ZXN1bHRPYmplY3RfLCAqImFzeW5jIiosICp0cnVlKikuCisgIFBlcmZvcm0gISBDcmVhdGVEYXRh
UHJvcGVydHlPclRocm93KF9yZXN1bHRPYmplY3RfLCAqInZhbHVlIiosIF9wcm9taXNlQ2FwYWJp
bGl0eV8uW1tQcm9taXNlXV0pLgorICBSZXR1cm4gX3Jlc3VsdE9iamVjdF8uCisKK2ZsYWdzOiBb
YXN5bmNdCitmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jXQorLS0tKi8KKworY29uc3QgaTMy
YSA9IG5ldyBJbnQzMkFycmF5KAorICBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5C
WVRFU19QRVJfRUxFTUVOVCAqIDgpCispOworCitsZXQge2FzeW5jLCB2YWx1ZX0gPSBBdG9taWNz
LndhaXRBc3luYyhpMzJhLCAwLCAwLCAxMDAwKTsKK2Fzc2VydC5zYW1lVmFsdWUoYXN5bmMsIHRy
dWUpOworYXNzZXJ0KHZhbHVlIGluc3RhbmNlb2YgUHJvbWlzZSk7Cithc3NlcnQuc2FtZVZhbHVl
KE9iamVjdC5nZXRQcm90b3R5cGVPZih2YWx1ZSksIFByb21pc2UucHJvdG90eXBlKTsKKwordmFs
dWUudGhlbihvdXRjb21lID0+IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShvdXRjb21lLCAib2siKTsK
K30pLnRoZW4oKCkgPT4gJERPTkUoKSwgJERPTkUpOworCitBdG9taWNzLmFkZChpMzJhLCAwLCAx
KTsKK0F0b21pY3Mubm90aWZ5KGkzMmEsIDAsIDEpOworCisKKwpJbmRleDogSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3JldHVybnMtcmVzdWx0LW9iamVj
dC12YWx1ZS1pcy1wcm9taXNlLXJlc29sdmVzLXRvLXRpbWVkLW91dC5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvcmV0dXJu
cy1yZXN1bHQtb2JqZWN0LXZhbHVlLWlzLXByb21pc2UtcmVzb2x2ZXMtdG8tdGltZWQtb3V0Lmpz
CShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNz
L3dhaXRBc3luYy9yZXR1cm5zLXJlc3VsdC1vYmplY3QtdmFsdWUtaXMtcHJvbWlzZS1yZXNvbHZl
cy10by10aW1lZC1vdXQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MyBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1hdG9taWNzLndhaXRhc3luYworZGVzY3JpcHRp
b246ID4KKyAgQXRvbWljcy53YWl0QXN5bmMgcmV0dXJucyBhIHJlc3VsdCBvYmplY3QgY29udGFp
bmluZyBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byAidGltZWQtb3V0IiBhbmQgYXN5bmMgaXMg
dHJ1ZS4KK2luZm86IHwKKyAgQXRvbWljcy53YWl0QXN5bmMoIHR5cGVkQXJyYXksIGluZGV4LCB2
YWx1ZSwgdGltZW91dCApCisKKyAgMS4gUmV0dXJuIERvV2FpdChhc3luYywgdHlwZWRBcnJheSwg
aW5kZXgsIHZhbHVlLCB0aW1lb3V0KS4KKworICBEb1dhaXQgKCBtb2RlLCB0eXBlZEFycmF5LCBp
bmRleCwgdmFsdWUsIHRpbWVvdXQgKQorCisgIC4uLgorICAxMy4gTGV0IHByb21pc2VDYXBhYmls
aXR5IGJlIHVuZGVmaW5lZC4KKyAgMTQuIElmIG1vZGUgaXMgYXN5bmMsIHRoZW4KKyAgICBhLiBT
ZXQgcHJvbWlzZUNhcGFiaWxpdHkgdG8gISBOZXdQcm9taXNlQ2FwYWJpbGl0eSglUHJvbWlzZSUp
LgorCisgIC4uLgorICBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhfcmVzdWx0
T2JqZWN0XywgKiJhc3luYyIqLCAqdHJ1ZSopLgorICBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3Bl
cnR5T3JUaHJvdyhfcmVzdWx0T2JqZWN0XywgKiJ2YWx1ZSIqLCBfcHJvbWlzZUNhcGFiaWxpdHlf
LltbUHJvbWlzZV1dKS4KKyAgUmV0dXJuIF9yZXN1bHRPYmplY3RfLgorCitmbGFnczogW2FzeW5j
XQorZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luY10KKy0tLSovCisKK2NvbnN0IGkzMmEgPSBu
ZXcgSW50MzJBcnJheSgKKyAgbmV3IFNoYXJlZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNf
UEVSX0VMRU1FTlQgKiA4KQorKTsKKworbGV0IHthc3luYywgdmFsdWV9ID0gQXRvbWljcy53YWl0
QXN5bmMoaTMyYSwgMCwgMCwgMSk7Cithc3NlcnQuc2FtZVZhbHVlKGFzeW5jLCB0cnVlKTsKK2Fz
c2VydCh2YWx1ZSBpbnN0YW5jZW9mIFByb21pc2UpOworYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3Qu
Z2V0UHJvdG90eXBlT2YodmFsdWUpLCBQcm9taXNlLnByb3RvdHlwZSk7CisKK3ZhbHVlLnRoZW4o
b3V0Y29tZSA9PiB7CisgIGFzc2VydC5zYW1lVmFsdWUob3V0Y29tZSwgInRpbWVkLW91dCIpOwor
fSkudGhlbigoKSA9PiAkRE9ORSgpLCAkRE9ORSk7CisKKworCkluZGV4OiBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvcmV0dXJucy1yZXN1bHQtb2JqZWN0
LXZhbHVlLWlzLXN0cmluZy1ub3QtZXF1YWwuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3JldHVybnMtcmVzdWx0LW9iamVj
dC12YWx1ZS1pcy1zdHJpbmctbm90LWVxdWFsLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9yZXR1cm5zLXJlc3VsdC1v
YmplY3QtdmFsdWUtaXMtc3RyaW5nLW5vdC1lcXVhbC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDM1IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWF0b21pY3Mud2Fp
dGFzeW5jCitkZXNjcmlwdGlvbjogPgorICBBdG9taWNzLndhaXRBc3luYyByZXR1cm5zIGEgcmVz
dWx0IG9iamVjdCBjb250YWluaW5nIGEgc3RyaW5nICJub3QtZXF1YWwiIGFuZCBhc3luYyBpcyBm
YWxzZS4KK2luZm86IHwKKyAgQXRvbWljcy53YWl0QXN5bmMoIHR5cGVkQXJyYXksIGluZGV4LCB2
YWx1ZSwgdGltZW91dCApCisKKyAgMS4gUmV0dXJuIERvV2FpdChhc3luYywgdHlwZWRBcnJheSwg
aW5kZXgsIHZhbHVlLCB0aW1lb3V0KS4KKworICBEb1dhaXQgKCBtb2RlLCB0eXBlZEFycmF5LCBp
bmRleCwgdmFsdWUsIHRpbWVvdXQgKQorCisgIC4uLgorICAxMy4gTGV0IHByb21pc2VDYXBhYmls
aXR5IGJlIHVuZGVmaW5lZC4KKyAgMTQuIElmIG1vZGUgaXMgYXN5bmMsIHRoZW4KKyAgICBhLiBT
ZXQgcHJvbWlzZUNhcGFiaWxpdHkgdG8gISBOZXdQcm9taXNlQ2FwYWJpbGl0eSglUHJvbWlzZSUp
LgorCisgIC4uLgorICBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3BlcnR5T3JUaHJvdyhfcmVzdWx0
T2JqZWN0XywgKiJhc3luYyIqLCAqdHJ1ZSopLgorICBQZXJmb3JtICEgQ3JlYXRlRGF0YVByb3Bl
cnR5T3JUaHJvdyhfcmVzdWx0T2JqZWN0XywgKiJ2YWx1ZSIqLCBfcHJvbWlzZUNhcGFiaWxpdHlf
LltbUHJvbWlzZV1dKS4KKyAgUmV0dXJuIF9yZXN1bHRPYmplY3RfLgorCitmZWF0dXJlczogW0F0
b21pY3Mud2FpdEFzeW5jXQorLS0tKi8KKworY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KAor
ICBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDgp
CispOworCitsZXQge2FzeW5jLCB2YWx1ZX0gPSBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAx
KTsKKworYXNzZXJ0LnNhbWVWYWx1ZShhc3luYywgZmFsc2UpOworYXNzZXJ0LnNhbWVWYWx1ZSh2
YWx1ZSwgIm5vdC1lcXVhbCIpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0F0b21pY3Mvd2FpdEFzeW5jL3JldHVybnMtcmVzdWx0LW9iamVjdC12YWx1ZS1pcy1zdHJpbmct
dGltZWQtb3V0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9BdG9taWNzL3dhaXRBc3luYy9yZXR1cm5zLXJlc3VsdC1vYmplY3QtdmFsdWUtaXMtc3RyaW5n
LXRpbWVkLW91dC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvQXRvbWljcy93YWl0QXN5bmMvcmV0dXJucy1yZXN1bHQtb2JqZWN0LXZhbHVlLWlzLXN0
cmluZy10aW1lZC1vdXQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNSBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1hdG9taWNzLndhaXRhc3luYworZGVzY3JpcHRp
b246ID4KKyAgQXRvbWljcy53YWl0QXN5bmMgcmV0dXJucyBhIHJlc3VsdCBvYmplY3QgY29udGFp
bmluZyBhIHN0cmluZyAibm90LWVxdWFsIiBhbmQgYXN5bmMgaXMgZmFsc2UuCitpbmZvOiB8Cisg
IEF0b21pY3Mud2FpdEFzeW5jKCB0eXBlZEFycmF5LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQgKQor
CisgIDEuIFJldHVybiBEb1dhaXQoYXN5bmMsIHR5cGVkQXJyYXksIGluZGV4LCB2YWx1ZSwgdGlt
ZW91dCkuCisKKyAgRG9XYWl0ICggbW9kZSwgdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0aW1l
b3V0ICkKKworICAuLi4KKyAgMTMuIExldCBwcm9taXNlQ2FwYWJpbGl0eSBiZSB1bmRlZmluZWQu
CisgIDE0LiBJZiBtb2RlIGlzIGFzeW5jLCB0aGVuCisgICAgYS4gU2V0IHByb21pc2VDYXBhYmls
aXR5IHRvICEgTmV3UHJvbWlzZUNhcGFiaWxpdHkoJVByb21pc2UlKS4KKworICAuLi4KKyAgUGVy
Zm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coX3Jlc3VsdE9iamVjdF8sICoiYXN5bmMi
KiwgKnRydWUqKS4KKyAgUGVyZm9ybSAhIENyZWF0ZURhdGFQcm9wZXJ0eU9yVGhyb3coX3Jlc3Vs
dE9iamVjdF8sICoidmFsdWUiKiwgX3Byb21pc2VDYXBhYmlsaXR5Xy5bW1Byb21pc2VdXSkuCisg
IFJldHVybiBfcmVzdWx0T2JqZWN0Xy4KKworZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luY10K
Ky0tLSovCisKK2NvbnN0IGkzMmEgPSBuZXcgSW50MzJBcnJheSgKKyAgbmV3IFNoYXJlZEFycmF5
QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA4KQorKTsKKworbGV0IHthc3lu
YywgdmFsdWV9ID0gQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgMCk7CisKK2Fzc2VydC5z
YW1lVmFsdWUoYXN5bmMsIGZhbHNlKTsKK2Fzc2VydC5zYW1lVmFsdWUodmFsdWUsICJ0aW1lZC1v
dXQiKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRB
c3luYy9zeW1ib2wtZm9yLWluZGV4LXRocm93cy1hZ2VudC5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvc3ltYm9sLWZvci1p
bmRleC10aHJvd3MtYWdlbnQuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3N5bWJvbC1mb3ItaW5kZXgtdGhyb3dzLWFn
ZW50LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOTcgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMg
Z292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisK
Ky8qLS0tCitlc2lkOiBzZWMtYXRvbWljcy53YWl0YXN5bmMKK2Rlc2NyaXB0aW9uOiA+CisgIFRo
cm93cyBhIFR5cGVFcnJvciBpZiBpbmRleCBhcmcgY2FuIG5vdCBiZSBjb252ZXJ0ZWQgdG8gYW4g
SW50ZWdlcgoraW5mbzogfAorICBBdG9taWNzLndhaXRBc3luYyggdHlwZWRBcnJheSwgaW5kZXgs
IHZhbHVlLCB0aW1lb3V0ICkKKworICAxLiBSZXR1cm4gRG9XYWl0KGFzeW5jLCB0eXBlZEFycmF5
LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQpLgorCisgIERvV2FpdCAoIG1vZGUsIHR5cGVkQXJyYXks
IGluZGV4LCB2YWx1ZSwgdGltZW91dCApCisKKyAgMi4gTGV0IGkgYmUgPyBWYWxpZGF0ZUF0b21p
Y0FjY2Vzcyh0eXBlZEFycmF5LCBpbmRleCkuCisKKyAgVmFsaWRhdGVBdG9taWNBY2Nlc3MoIHR5
cGVkQXJyYXksIHJlcXVlc3RJbmRleCApCisKKyAgMi4gTGV0IGFjY2Vzc0luZGV4IGJlID8gVG9J
bmRleChyZXF1ZXN0SW5kZXgpLgorCisgIFRvSW5kZXggKCB2YWx1ZSApCisKKyAgMi4gRWxzZSwK
KyAgICBhLiBMZXQgaW50ZWdlckluZGV4IGJlID8gVG9JbnRlZ2VyKHZhbHVlKS4KKworICBUb0lu
dGVnZXIodmFsdWUpCisKKyAgMS4gTGV0IG51bWJlciBiZSA/IFRvTnVtYmVyKGFyZ3VtZW50KS4K
KworICAgIFN5bWJvbCAtLT4gVGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorCitmbGFnczog
W2FzeW5jXQoraW5jbHVkZXM6IFthdG9taWNzSGVscGVyLmpzXQorZmVhdHVyZXM6IFtBdG9taWNz
LndhaXRBc3luYywgU2hhcmVkQXJyYXlCdWZmZXIsIFN5bWJvbCwgU3ltYm9sLnRvUHJpbWl0aXZl
LCBUeXBlZEFycmF5LCBBdG9taWNzXQorLS0tKi8KK2NvbnN0IFJVTk5JTkcgPSAxOworCiskMjYy
LmFnZW50LnN0YXJ0KGAKKyAgY29uc3QgcG9pc29uZWRWYWx1ZU9mID0geworICAgIHZhbHVlT2Yo
KSB7CisgICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdzaG91bGQgbm90IGV2YWx1YXRlIHRo
aXMgY29kZScpOworICAgIH0KKyAgfTsKKworICBjb25zdCBwb2lzb25lZFRvUHJpbWl0aXZlID0g
eworICAgIFtTeW1ib2wudG9QcmltaXRpdmVdKCkgeworICAgICAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcignc2hvdWxkIG5vdCBldmFsdWF0ZSB0aGlzIGNvZGUnKTsKKyAgICB9CisgIH07CisKKyAg
JDI2Mi5hZ2VudC5yZWNlaXZlQnJvYWRjYXN0KGZ1bmN0aW9uKHNhYikgeworICAgIGNvbnN0IGkz
MmEgPSBuZXcgSW50MzJBcnJheShzYWIpOworICAgIEF0b21pY3MuYWRkKGkzMmEsICR7UlVOTklO
R30sIDEpOworCisgICAgbGV0IHN0YXR1czEgPSAnJzsKKyAgICBsZXQgc3RhdHVzMiA9ICcnOwor
CisgICAgdHJ5IHsKKyAgICAgIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIFN5bWJvbCgnMScpLCBw
b2lzb25lZFZhbHVlT2YsIHBvaXNvbmVkVmFsdWVPZik7CisgICAgfSBjYXRjaCAoZXJyb3IpIHsK
KyAgICAgIHN0YXR1czEgPSAnQSAnICsgZXJyb3IubmFtZTsKKyAgICB9CisgICAgdHJ5IHsKKyAg
ICAgIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIFN5bWJvbCgnMicpLCBwb2lzb25lZFRvUHJpbWl0
aXZlLCBwb2lzb25lZFRvUHJpbWl0aXZlKTsKKyAgICB9IGNhdGNoIChlcnJvcikgeworICAgICAg
c3RhdHVzMiA9ICdCICcgKyBlcnJvci5uYW1lOworICAgIH0KKworICAgICQyNjIuYWdlbnQucmVw
b3J0KHN0YXR1czEpOworICAgICQyNjIuYWdlbnQucmVwb3J0KHN0YXR1czIpOworICAgICQyNjIu
YWdlbnQubGVhdmluZygpOworICB9KTsKK2ApOworCitjb25zdCBpMzJhID0gbmV3IEludDMyQXJy
YXkoCisgIG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5U
ICogNCkKKyk7CisKKyQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5jKGkzMmEsIFJVTk5JTkcs
IDEpLnRoZW4oYXN5bmMgKGFnZW50Q291bnQpID0+IHsKKworICBhc3NlcnQuc2FtZVZhbHVlKGFn
ZW50Q291bnQsIDEpOworCisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgYXdhaXQgJDI2Mi5hZ2Vu
dC5nZXRSZXBvcnRBc3luYygpLAorICAgICdBIFR5cGVFcnJvcicsCisgICAgJ0F0b21pY3Mud2Fp
dEFzeW5jKGkzMmEsIFN5bWJvbCgiMSIpLCAuLi4sIC4uLikgdGhyb3dzIFR5cGVFcnJvcicKKyAg
KTsKKworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0
QXN5bmMoKSwKKyAgICAnQiBUeXBlRXJyb3InLAorICAgICdBdG9taWNzLndhaXRBc3luYyhpMzJh
LCBTeW1ib2woIjIiKSwgLi4uLCAuLi4pIHRocm93cyBUeXBlRXJyb3InCisgICk7CisKKyAgYXNz
ZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpMzJhLCAwKSwgMCwgJ0F0b21pY3Mubm90aWZ5
KGkzMmEsIDApIHJldHVybnMgMCcpOworCit9KS50aGVuKCRET05FLCAkRE9ORSk7CkluZGV4OiBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvc3ltYm9sLWZv
ci1pbmRleC10aHJvd3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3N5bWJvbC1mb3ItaW5kZXgtdGhyb3dzLmpzCShub25l
eGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRB
c3luYy9zeW1ib2wtZm9yLWluZGV4LXRocm93cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDY3IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWF0b21pY3Mud2FpdGFz
eW5jCitkZXNjcmlwdGlvbjogPgorICBUaHJvd3MgYSBUeXBlRXJyb3IgaWYgaW5kZXggYXJnIGNh
biBub3QgYmUgY29udmVydGVkIHRvIGFuIEludGVnZXIKK2luZm86IHwKKyAgQXRvbWljcy53YWl0
QXN5bmMoIHR5cGVkQXJyYXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCApCisKKyAgMS4gUmV0dXJu
IERvV2FpdChhc3luYywgdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0KS4KKworICBE
b1dhaXQgKCBtb2RlLCB0eXBlZEFycmF5LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQgKQorCisgIDIu
IExldCBpIGJlID8gVmFsaWRhdGVBdG9taWNBY2Nlc3ModHlwZWRBcnJheSwgaW5kZXgpLgorCisg
IFZhbGlkYXRlQXRvbWljQWNjZXNzKCB0eXBlZEFycmF5LCByZXF1ZXN0SW5kZXggKQorCisgIDIu
IExldCBhY2Nlc3NJbmRleCBiZSA/IFRvSW5kZXgocmVxdWVzdEluZGV4KS4KKworICBUb0luZGV4
ICggdmFsdWUgKQorCisgIDIuIEVsc2UsCisgICAgYS4gTGV0IGludGVnZXJJbmRleCBiZSA/IFRv
SW50ZWdlcih2YWx1ZSkuCisKKyAgVG9JbnRlZ2VyKHZhbHVlKQorCisgIDEuIExldCBudW1iZXIg
YmUgPyBUb051bWJlcihhcmd1bWVudCkuCisKKyAgICBTeW1ib2wgLS0+IFRocm93IGEgVHlwZUVy
cm9yIGV4Y2VwdGlvbi4KKworZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luYywgU2hhcmVkQXJy
YXlCdWZmZXIsIFN5bWJvbCwgU3ltYm9sLnRvUHJpbWl0aXZlLCBUeXBlZEFycmF5LCBjb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lcywgQXRvbWljc10KKy0tLSovCisKK2NvbnN0IGkzMmEgPSBuZXcgSW50
MzJBcnJheSgKKyAgbmV3IFNoYXJlZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VM
RU1FTlQgKiA0KQorKTsKKworY29uc3QgcG9pc29uZWRWYWx1ZU9mID0geworICB2YWx1ZU9mKCkg
eworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ3Nob3VsZCBub3QgZXZhbHVhdGUgdGhpcyBj
b2RlJyk7CisgIH0KK307CisKK2NvbnN0IHBvaXNvbmVkVG9QcmltaXRpdmUgPSB7CisgIFtTeW1i
b2wudG9QcmltaXRpdmVdKCkgeworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ3Nob3VsZCBu
b3QgZXZhbHVhdGUgdGhpcyBjb2RlJyk7CisgIH0KK307CisKK2Fzc2VydC50aHJvd3MoVGVzdDI2
MkVycm9yLCBmdW5jdGlvbigpIHsKKyAgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgcG9pc29uZWRW
YWx1ZU9mLCBwb2lzb25lZFZhbHVlT2YsIHBvaXNvbmVkVmFsdWVPZik7Cit9LCAnYEF0b21pY3Mu
d2FpdEFzeW5jKGkzMmEsIHBvaXNvbmVkVmFsdWVPZiwgcG9pc29uZWRWYWx1ZU9mLCBwb2lzb25l
ZFZhbHVlT2YpYCB0aHJvd3MgVGVzdDI2MkVycm9yJyk7CisKK2Fzc2VydC50aHJvd3MoVGVzdDI2
MkVycm9yLCBmdW5jdGlvbigpIHsKKyAgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgcG9pc29uZWRU
b1ByaW1pdGl2ZSwgcG9pc29uZWRUb1ByaW1pdGl2ZSwgcG9pc29uZWRUb1ByaW1pdGl2ZSk7Cit9
LCAnYEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIHBvaXNvbmVkVG9QcmltaXRpdmUsIHBvaXNvbmVk
VG9QcmltaXRpdmUsIHBvaXNvbmVkVG9QcmltaXRpdmUpYCB0aHJvd3MgVGVzdDI2MkVycm9yJyk7
CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgQXRvbWljcy53YWl0
QXN5bmMoaTMyYSwgU3ltYm9sKCcxJyksIHBvaXNvbmVkVmFsdWVPZiwgcG9pc29uZWRWYWx1ZU9m
KTsKK30sICdgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgU3ltYm9sKCIxIiksIHBvaXNvbmVkVmFs
dWVPZiwgcG9pc29uZWRWYWx1ZU9mKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCithc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIFN5
bWJvbCgnMicpLCBwb2lzb25lZFRvUHJpbWl0aXZlLCBwb2lzb25lZFRvUHJpbWl0aXZlKTsKK30s
ICdgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgU3ltYm9sKCIyIiksIHBvaXNvbmVkVG9QcmltaXRp
dmUsIHBvaXNvbmVkVG9QcmltaXRpdmUpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKKwpJbmRleDog
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3N5bWJvbC1m
b3ItdGltZW91dC10aHJvd3MtYWdlbnQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3N5bWJvbC1mb3ItdGltZW91dC10aHJv
d3MtYWdlbnQuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0F0b21pY3Mvd2FpdEFzeW5jL3N5bWJvbC1mb3ItdGltZW91dC10aHJvd3MtYWdlbnQuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3NSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJp
Y2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0K
K2VzaWQ6IHNlYy1hdG9taWNzLndhaXRhc3luYworZGVzY3JpcHRpb246ID4KKyAgVGhyb3dzIGEg
VHlwZUVycm9yIGlmIGluZGV4IGFyZyBjYW4gbm90IGJlIGNvbnZlcnRlZCB0byBhbiBJbnRlZ2Vy
CitpbmZvOiB8CisgIEF0b21pY3Mud2FpdEFzeW5jKCB0eXBlZEFycmF5LCBpbmRleCwgdmFsdWUs
IHRpbWVvdXQgKQorCisgIDEuIFJldHVybiBEb1dhaXQoYXN5bmMsIHR5cGVkQXJyYXksIGluZGV4
LCB2YWx1ZSwgdGltZW91dCkuCisKKyAgRG9XYWl0ICggbW9kZSwgdHlwZWRBcnJheSwgaW5kZXgs
IHZhbHVlLCB0aW1lb3V0ICkKKworICA2LiBMZXQgcSBiZSA/IFRvTnVtYmVyKHRpbWVvdXQpLgor
CisgICAgU3ltYm9sIC0tPiBUaHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisKK2ZsYWdzOiBb
YXN5bmNdCitpbmNsdWRlczogW2F0b21pY3NIZWxwZXIuanNdCitmZWF0dXJlczogW0F0b21pY3Mu
d2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgU3ltYm9sLCBTeW1ib2wudG9QcmltaXRpdmUs
IFR5cGVkQXJyYXksIEF0b21pY3NdCistLS0qLworCitjb25zdCBSVU5OSU5HID0gMTsKKworJDI2
Mi5hZ2VudC5zdGFydChgCisgICQyNjIuYWdlbnQucmVjZWl2ZUJyb2FkY2FzdChmdW5jdGlvbihz
YWIpIHsKKyAgICBjb25zdCBpMzJhID0gbmV3IEludDMyQXJyYXkoc2FiKTsKKyAgICBBdG9taWNz
LmFkZChpMzJhLCAke1JVTk5JTkd9LCAxKTsKKworICAgIGxldCBzdGF0dXMxID0gJyc7CisgICAg
bGV0IHN0YXR1czIgPSAnJzsKKworICAgIHRyeSB7CisgICAgICBBdG9taWNzLndhaXRBc3luYyhp
MzJhLCAwLCAwLCBTeW1ib2woJzEnKSk7CisgICAgfSBjYXRjaCAoZXJyb3IpIHsKKyAgICAgIHN0
YXR1czEgPSAnQSAnICsgZXJyb3IubmFtZTsKKyAgICB9CisgICAgdHJ5IHsKKyAgICAgIEF0b21p
Y3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIFN5bWJvbCgnMicpKTsKKyAgICB9IGNhdGNoIChlcnJv
cikgeworICAgICAgc3RhdHVzMiA9ICdCICcgKyBlcnJvci5uYW1lOworICAgIH0KKworICAgICQy
NjIuYWdlbnQucmVwb3J0KHN0YXR1czEpOworICAgICQyNjIuYWdlbnQucmVwb3J0KHN0YXR1czIp
OworICAgICQyNjIuYWdlbnQubGVhdmluZygpOworICB9KTsKK2ApOworCitjb25zdCBpMzJhID0g
bmV3IEludDMyQXJyYXkoCisgIG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVT
X1BFUl9FTEVNRU5UICogNCkKKyk7CisKKyQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5jKGkz
MmEsIFJVTk5JTkcsIDEpLnRoZW4oYXN5bmMgKGFnZW50Q291bnQpID0+IHsKKworICBhc3NlcnQu
c2FtZVZhbHVlKGFnZW50Q291bnQsIDEpOworCisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgYXdh
aXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAorICAgICdBIFR5cGVFcnJvcicsCisgICAg
J0F0b21pY3Mud2FpdChpMzJhLCAwLCAwLCBTeW1ib2woIjEiKSkgdGhyb3dzIFR5cGVFcnJvcicK
KyAgKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVw
b3J0QXN5bmMoKSwKKyAgICAnQiBUeXBlRXJyb3InLAorICAgICdBdG9taWNzLndhaXQoaTMyYSwg
MCwgMCwgU3ltYm9sKCIyIikpIHRocm93cyBUeXBlRXJyb3InCisgICk7CisKKyAgYXNzZXJ0LnNh
bWVWYWx1ZShBdG9taWNzLm5vdGlmeShpMzJhLCAwKSwgMCwgJ0F0b21pY3Mubm90aWZ5KGkzMmEs
IDApIHJldHVybnMgMCcpOworCit9KS50aGVuKCRET05FLCAkRE9ORSk7CisKKwpJbmRleDogSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3N5bWJvbC1mb3It
dGltZW91dC10aHJvd3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3N5bWJvbC1mb3ItdGltZW91dC10aHJvd3MuanMJKG5v
bmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2Fp
dEFzeW5jL3N5bWJvbC1mb3ItdGltZW91dC10aHJvd3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw1MSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1hdG9taWNzLndh
aXRhc3luYworZGVzY3JpcHRpb246ID4KKyAgVGhyb3dzIGEgVHlwZUVycm9yIGlmIGluZGV4IGFy
ZyBjYW4gbm90IGJlIGNvbnZlcnRlZCB0byBhbiBJbnRlZ2VyCitpbmZvOiB8CisgIEF0b21pY3Mu
d2FpdEFzeW5jKCB0eXBlZEFycmF5LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQgKQorCisgIDEuIFJl
dHVybiBEb1dhaXQoYXN5bmMsIHR5cGVkQXJyYXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCkuCisK
KyAgRG9XYWl0ICggbW9kZSwgdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0ICkKKwor
ICA2LiBMZXQgcSBiZSA/IFRvTnVtYmVyKHRpbWVvdXQpLgorCisgICAgU3ltYm9sIC0tPiBUaHJv
dyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisKK2ZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMs
IFNoYXJlZEFycmF5QnVmZmVyLCBTeW1ib2wsIFN5bWJvbC50b1ByaW1pdGl2ZSwgVHlwZWRBcnJh
eSwgY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIEF0b21pY3NdCistLS0qLworY29uc3QgaTMyYSA9
IG5ldyBJbnQzMkFycmF5KAorICBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRF
U19QRVJfRUxFTUVOVCAqIDQpCispOworCitjb25zdCBwb2lzb25lZFZhbHVlT2YgPSB7CisgIHZh
bHVlT2YoKSB7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignc2hvdWxkIG5vdCBldmFsdWF0
ZSB0aGlzIGNvZGUnKTsKKyAgfQorfTsKKworY29uc3QgcG9pc29uZWRUb1ByaW1pdGl2ZSA9IHsK
KyAgW1N5bWJvbC50b1ByaW1pdGl2ZV0oKSB7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
cGFzc2luZyBhIHBvaXNvbmVkIG9iamVjdCB1c2luZyBAQFRvUHJpbWl0aXZlJyk7CisgIH0KK307
CisKK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsKKyAgQXRvbWljcy53
YWl0QXN5bmMoaTMyYSwgMCwgMCwgcG9pc29uZWRWYWx1ZU9mKTsKK30sICdgQXRvbWljcy53YWl0
QXN5bmMoaTMyYSwgMCwgMCwgcG9pc29uZWRWYWx1ZU9mKWAgdGhyb3dzIFRlc3QyNjJFcnJvcicp
OworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7CisgIEF0b21pY3Mu
d2FpdEFzeW5jKGkzMmEsIDAsIDAsIHBvaXNvbmVkVG9QcmltaXRpdmUpOworfSwgJ2BBdG9taWNz
LndhaXRBc3luYyhpMzJhLCAwLCAwLCBwb2lzb25lZFRvUHJpbWl0aXZlKWAgdGhyb3dzIFRlc3Qy
NjJFcnJvcicpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIEF0
b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIFN5bWJvbCgiZm9vIikpOworfSwgJ2BBdG9taWNz
LndhaXRBc3luYyhpMzJhLCAwLCAwLCBTeW1ib2woImZvbyIpKWAgdGhyb3dzIFR5cGVFcnJvcicp
OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIEF0b21pY3Mud2Fp
dEFzeW5jKGkzMmEsIDAsIDAsIFN5bWJvbCgiZm9vIikpOworfSwgJ2BBdG9taWNzLndhaXRBc3lu
YyhpMzJhLCAwLCAwLCBTeW1ib2woImZvbyIpKWAgdGhyb3dzIFR5cGVFcnJvcicpOwpJbmRleDog
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3N5bWJvbC1m
b3ItdmFsdWUtdGhyb3dzLWFnZW50LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9zeW1ib2wtZm9yLXZhbHVlLXRocm93cy1h
Z2VudC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QXRvbWljcy93YWl0QXN5bmMvc3ltYm9sLWZvci12YWx1ZS10aHJvd3MtYWdlbnQuanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw5MCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2Fs
ZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6
IHNlYy1hdG9taWNzLndhaXRhc3luYworZGVzY3JpcHRpb246ID4KKyAgVGhyb3dzIGEgVHlwZUVy
cm9yIGlmIHZhbHVlIGFyZyBpcyBhIFN5bWJvbAoraW5mbzogfAorICBBdG9taWNzLndhaXRBc3lu
YyggdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0ICkKKworICAxLiBSZXR1cm4gRG9X
YWl0KGFzeW5jLCB0eXBlZEFycmF5LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQpLgorCisgIERvV2Fp
dCAoIG1vZGUsIHR5cGVkQXJyYXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCApCisKKyAgNS4gT3Ro
ZXJ3aXNlLCBsZXQgdiBiZSA/IFRvSW50MzIodmFsdWUpLgorCisgIFRvSW50MzIodmFsdWUpCisK
KyAgMS5MZXQgbnVtYmVyIGJlID8gVG9OdW1iZXIoYXJndW1lbnQpLgorCisgICAgU3ltYm9sIC0t
PiBUaHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisKK2ZsYWdzOiBbYXN5bmNdCitpbmNsdWRl
czogW2F0b21pY3NIZWxwZXIuanNdCitmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBTaGFy
ZWRBcnJheUJ1ZmZlciwgU3ltYm9sLCBTeW1ib2wudG9QcmltaXRpdmUsIFR5cGVkQXJyYXksIEF0
b21pY3NdCistLS0qLworY29uc3QgUlVOTklORyA9IDE7CisKKyQyNjIuYWdlbnQuc3RhcnQoYAor
ICBjb25zdCBwb2lzb25lZFZhbHVlT2YgPSB7CisgICAgdmFsdWVPZjogZnVuY3Rpb24oKSB7Cisg
ICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdzaG91bGQgbm90IGV2YWx1YXRlIHRoaXMgY29k
ZScpOworICAgIH0KKyAgfTsKKworICBjb25zdCBwb2lzb25lZFRvUHJpbWl0aXZlID0geworICAg
IFtTeW1ib2wudG9QcmltaXRpdmVdOiBmdW5jdGlvbigpIHsKKyAgICAgIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoInBhc3NpbmcgYSBwb2lzb25lZCBvYmplY3QgdXNpbmcgQEBUb1ByaW1pdGl2ZSIp
OworICAgIH0KKyAgfTsKKworICAkMjYyLmFnZW50LnJlY2VpdmVCcm9hZGNhc3QoZnVuY3Rpb24o
c2FiKSB7CisgICAgY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KHNhYik7CisgICAgQXRvbWlj
cy5hZGQoaTMyYSwgJHtSVU5OSU5HfSwgMSk7CisKKyAgICBsZXQgc3RhdHVzMSA9ICIiOworICAg
IGxldCBzdGF0dXMyID0gIiI7CisKKyAgICB0cnkgeworICAgICAgQXRvbWljcy53YWl0QXN5bmMo
aTMyYSwgMCwgU3ltYm9sKCIxIiksIHBvaXNvbmVkVmFsdWVPZik7CisgICAgfSBjYXRjaCAoZXJy
b3IpIHsKKyAgICAgIHN0YXR1czEgPSAnQSAnICsgZXJyb3IubmFtZTsKKyAgICB9CisgICAgdHJ5
IHsKKyAgICAgIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIFN5bWJvbCgiMiIpLCBwb2lzb25l
ZFRvUHJpbWl0aXZlKTsKKyAgICB9IGNhdGNoIChlcnJvcikgeworICAgICAgc3RhdHVzMiA9ICdC
ICcgKyBlcnJvci5uYW1lOworICAgIH0KKworICAgICQyNjIuYWdlbnQucmVwb3J0KHN0YXR1czEp
OworICAgICQyNjIuYWdlbnQucmVwb3J0KHN0YXR1czIpOworICAgICQyNjIuYWdlbnQubGVhdmlu
ZygpOworICB9KTsKK2ApOworCitjb25zdCBpMzJhID0gbmV3IEludDMyQXJyYXkoCisgIG5ldyBT
aGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkKKyk7CisK
KyQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5jKGkzMmEsIFJVTk5JTkcsIDEpLnRoZW4oYXN5
bmMgKGFnZW50Q291bnQpID0+IHsKKworICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDEp
OworCisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRB
c3luYygpLAorICAgICdBIFR5cGVFcnJvcicsCisgICAgJ0F0b21pY3Mud2FpdEFzeW5jKGkzMmEs
IDAsIFN5bWJvbCgiMSIpLCAuLi4pIHRocm93cyBUeXBlRXJyb3InCisgICk7CisKKyAgYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgICBhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCksCisgICAg
J0IgVHlwZUVycm9yJywKKyAgICAnQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgU3ltYm9sKCIy
IiksIC4uLikgdGhyb3dzIFR5cGVFcnJvcicKKyAgKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKEF0
b21pY3Mubm90aWZ5KGkzMmEsIDApLCAwLCAnQXRvbWljcy5ub3RpZnkoaTMyYSwgMCkgcmV0dXJu
cyAwJyk7CisKK30pLnRoZW4oJERPTkUsICRET05FKTsKKworCkluZGV4OiBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvc3ltYm9sLWZvci12YWx1ZS10aHJv
d3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21p
Y3Mvd2FpdEFzeW5jL3N5bWJvbC1mb3ItdmFsdWUtdGhyb3dzLmpzCShub25leGlzdGVudCkKKysr
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9zeW1ib2wt
Zm9yLXZhbHVlLXRocm93cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU1IEBACisvLyBD
b3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWF0b21pY3Mud2FpdGFzeW5jCitkZXNjcmlw
dGlvbjogPgorICBUaHJvd3MgYSBUeXBlRXJyb3IgaWYgdmFsdWUgYXJnIGlzIGEgU3ltYm9sCitp
bmZvOiB8CisgIEF0b21pY3Mud2FpdEFzeW5jKCB0eXBlZEFycmF5LCBpbmRleCwgdmFsdWUsIHRp
bWVvdXQgKQorCisgIDEuIFJldHVybiBEb1dhaXQoYXN5bmMsIHR5cGVkQXJyYXksIGluZGV4LCB2
YWx1ZSwgdGltZW91dCkuCisKKyAgRG9XYWl0ICggbW9kZSwgdHlwZWRBcnJheSwgaW5kZXgsIHZh
bHVlLCB0aW1lb3V0ICkKKworICA1LiBPdGhlcndpc2UsIGxldCB2IGJlID8gVG9JbnQzMih2YWx1
ZSkuCisKKyAgVG9JbnQzMih2YWx1ZSkKKworICAxLkxldCBudW1iZXIgYmUgPyBUb051bWJlcihh
cmd1bWVudCkuCisKKyAgICBTeW1ib2wgLS0+IFRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4K
KworZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luYywgU2hhcmVkQXJyYXlCdWZmZXIsIFN5bWJv
bCwgU3ltYm9sLnRvUHJpbWl0aXZlLCBUeXBlZEFycmF5LCBjb21wdXRlZC1wcm9wZXJ0eS1uYW1l
cywgQXRvbWljc10KKy0tLSovCitjb25zdCBpMzJhID0gbmV3IEludDMyQXJyYXkoCisgIG5ldyBT
aGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkKKyk7CisK
K2NvbnN0IHBvaXNvbmVkVmFsdWVPZiA9IHsKKyAgdmFsdWVPZigpIHsKKyAgICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCdzaG91bGQgbm90IGV2YWx1YXRlIHRoaXMgY29kZScpOworICB9Cit9Owor
Citjb25zdCBwb2lzb25lZFRvUHJpbWl0aXZlID0geworICBbU3ltYm9sLnRvUHJpbWl0aXZlXSgp
IHsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJwYXNzaW5nIGEgcG9pc29uZWQgb2JqZWN0
IHVzaW5nIEBAVG9QcmltaXRpdmUiKTsKKyAgfQorfTsKKworYXNzZXJ0LnRocm93cyhUZXN0MjYy
RXJyb3IsIGZ1bmN0aW9uKCkgeworICBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCBwb2lzb25l
ZFZhbHVlT2YsIHBvaXNvbmVkVmFsdWVPZik7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5jKGkzMmEs
IDAsIHBvaXNvbmVkVmFsdWVPZiwgcG9pc29uZWRWYWx1ZU9mKWAgdGhyb3dzIFRlc3QyNjJFcnJv
cicpOworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7CisgIEF0b21p
Y3Mud2FpdEFzeW5jKGkzMmEsIDAsIHBvaXNvbmVkVG9QcmltaXRpdmUsIHBvaXNvbmVkVG9Qcmlt
aXRpdmUpOworfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCBwb2lzb25lZFRvUHJpbWl0
aXZlLCBwb2lzb25lZFRvUHJpbWl0aXZlKWAgdGhyb3dzIFRlc3QyNjJFcnJvcicpOworCithc3Nl
cnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIEF0b21pY3Mud2FpdEFzeW5jKGkz
MmEsIDAsIFN5bWJvbCgiZm9vIiksIHBvaXNvbmVkVmFsdWVPZik7Cit9LCAnYEF0b21pY3Mud2Fp
dEFzeW5jKGkzMmEsIDAsIFN5bWJvbCgiZm9vIiksIHBvaXNvbmVkVmFsdWVPZilgIHRocm93cyBU
eXBlRXJyb3InKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBB
dG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCBTeW1ib2woImZvbyIpLCBwb2lzb25lZFRvUHJpbWl0
aXZlKTsKK30sICdgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgU3ltYm9sKCJmb28iKSwgcG9p
c29uZWRUb1ByaW1pdGl2ZSlgIHRocm93cyBUeXBlRXJyb3InKTsKSW5kZXg6IEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy90cnVlLWZvci10aW1lb3V0LWFn
ZW50LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9t
aWNzL3dhaXRBc3luYy90cnVlLWZvci10aW1lb3V0LWFnZW50LmpzCShub25leGlzdGVudCkKKysr
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy90cnVlLWZv
ci10aW1lb3V0LWFnZW50LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzMgQEAKKy8vIENv
cHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtYXRvbWljcy53YWl0YXN5bmMKK2Rlc2NyaXB0
aW9uOiA+CisgIFRydWUgdGltZW91dCBhcmcgc2hvdWxkIHJlc3VsdCBpbiBhbiArMCB0aW1lb3V0
CitpbmZvOiB8CisgIEF0b21pY3Mud2FpdEFzeW5jKCB0eXBlZEFycmF5LCBpbmRleCwgdmFsdWUs
IHRpbWVvdXQgKQorCisgIDEuIFJldHVybiBEb1dhaXQoYXN5bmMsIHR5cGVkQXJyYXksIGluZGV4
LCB2YWx1ZSwgdGltZW91dCkuCisKKyAgRG9XYWl0ICggbW9kZSwgdHlwZWRBcnJheSwgaW5kZXgs
IHZhbHVlLCB0aW1lb3V0ICkKKworICA2LiBMZXQgcSBiZSA/IFRvTnVtYmVyKHRpbWVvdXQpLgor
CitmbGFnczogW2FzeW5jXQoraW5jbHVkZXM6IFthdG9taWNzSGVscGVyLmpzXQorZmVhdHVyZXM6
IFtBdG9taWNzLndhaXRBc3luYywgU2hhcmVkQXJyYXlCdWZmZXIsIFR5cGVkQXJyYXksIEF0b21p
Y3NdCistLS0qLworY29uc3QgUlVOTklORyA9IDE7CisKKyQyNjIuYWdlbnQuc3RhcnQoYAorICBj
b25zdCB2YWx1ZU9mID0geworICAgIHZhbHVlT2YoKSB7CisgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9CisgIH07CisKKyAgY29uc3QgdG9QcmltaXRpdmUgPSB7CisgICAgW1N5bWJvbC50b1ByaW1p
dGl2ZV0oKSB7CisgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgIH07CisKKyAgJDI2Mi5hZ2Vu
dC5yZWNlaXZlQnJvYWRjYXN0KGFzeW5jIChzYWIpID0+IHsKKyAgICBjb25zdCBpMzJhID0gbmV3
IEludDMyQXJyYXkoc2FiKTsKKyAgICBBdG9taWNzLmFkZChpMzJhLCAke1JVTk5JTkd9LCAxKTsK
KyAgICAkMjYyLmFnZW50LnJlcG9ydChhd2FpdCBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAw
LCB0cnVlKS52YWx1ZSk7CisgICAgJDI2Mi5hZ2VudC5yZXBvcnQoYXdhaXQgQXRvbWljcy53YWl0
QXN5bmMoaTMyYSwgMCwgMCwgdmFsdWVPZikudmFsdWUpOworICAgICQyNjIuYWdlbnQucmVwb3J0
KGF3YWl0IEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIHRvUHJpbWl0aXZlKS52YWx1ZSk7
CisgICAgJDI2Mi5hZ2VudC5sZWF2aW5nKCk7CisgIH0pOworYCk7CisKK2NvbnN0IGkzMmEgPSBu
ZXcgSW50MzJBcnJheSgKKyAgbmV3IFNoYXJlZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNf
UEVSX0VMRU1FTlQgKiA0KQorKTsKKyQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5jKGkzMmEs
IFJVTk5JTkcsIDEpLnRoZW4oYXN5bmMgKGFnZW50Q291bnQpID0+IHsKKworICBhc3NlcnQuc2Ft
ZVZhbHVlKGFnZW50Q291bnQsIDEpOworCisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgYXdhaXQg
JDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAorICAgICd0aW1lZC1vdXQnLAorICAgICdhd2Fp
dCBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCBmYWxzZSkudmFsdWUgcmVzb2x2ZXMgdG8g
InRpbWVkLW91dCInCisgICk7CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgYXdhaXQgJDI2Mi5h
Z2VudC5nZXRSZXBvcnRBc3luYygpLAorICAgICd0aW1lZC1vdXQnLAorICAgICdhd2FpdCBBdG9t
aWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB2YWx1ZU9mKS52YWx1ZSByZXNvbHZlcyB0byAidGlt
ZWQtb3V0IicKKyAgKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBhd2FpdCAkMjYyLmFnZW50
LmdldFJlcG9ydEFzeW5jKCksCisgICAgJ3RpbWVkLW91dCcsCisgICAgJ2F3YWl0IEF0b21pY3Mu
d2FpdEFzeW5jKGkzMmEsIDAsIDAsIHRvUHJpbWl0aXZlKS52YWx1ZSByZXNvbHZlcyB0byAidGlt
ZWQtb3V0IicKKyAgKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mubm90aWZ5KGkzMmEs
IDApLCAwLCAnQXRvbWljcy5ub3RpZnkoaTMyYSwgMCkgcmV0dXJucyAwJyk7CisKK30pLnRoZW4o
JERPTkUsICRET05FKTsKKworCkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QXRvbWljcy93YWl0QXN5bmMvdHJ1ZS1mb3ItdGltZW91dC5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvdHJ1ZS1mb3ItdGlt
ZW91dC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QXRvbWljcy93YWl0QXN5bmMvdHJ1ZS1mb3ItdGltZW91dC5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDQ2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5z
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWF0b21pY3Mu
d2FpdGFzeW5jCitkZXNjcmlwdGlvbjogPgorICBUaHJvd3MgYSBUeXBlRXJyb3IgaWYgaW5kZXgg
YXJnIGNhbiBub3QgYmUgY29udmVydGVkIHRvIGFuIEludGVnZXIKK2luZm86IHwKKyAgQXRvbWlj
cy53YWl0QXN5bmMoIHR5cGVkQXJyYXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCApCisKKyAgMS4g
UmV0dXJuIERvV2FpdChhc3luYywgdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0KS4K
KworICBEb1dhaXQgKCBtb2RlLCB0eXBlZEFycmF5LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQgKQor
CisgIDYuIExldCBxIGJlID8gVG9OdW1iZXIodGltZW91dCkuCisKKyAgICBCb29sZWFuIC0+IElm
IGFyZ3VtZW50IGlzIHRydWUsIHJldHVybiAxLiBJZiBhcmd1bWVudCBpcyBmYWxzZSwgcmV0dXJu
ICswLgorCitmbGFnczogW2FzeW5jXQorZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luYywgU2hh
cmVkQXJyYXlCdWZmZXIsIFR5cGVkQXJyYXksIEF0b21pY3NdCistLS0qLworY29uc3QgaTMyYSA9
IG5ldyBJbnQzMkFycmF5KAorICBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRF
U19QRVJfRUxFTUVOVCAqIDQpCispOworCitjb25zdCB2YWx1ZU9mID0geworICB2YWx1ZU9mKCkg
eworICAgIHJldHVybiB0cnVlOworICB9Cit9OworCitjb25zdCB0b1ByaW1pdGl2ZSA9IHsKKyAg
W1N5bWJvbC50b1ByaW1pdGl2ZV0oKSB7CisgICAgcmV0dXJuIHRydWU7CisgIH0KK307CisKK1By
b21pc2UuYWxsKFsKKyAgICBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB0cnVlKS52YWx1
ZSwKKyAgICBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB2YWx1ZU9mKS52YWx1ZSwKKyAg
ICBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB0b1ByaW1pdGl2ZSkudmFsdWUsCisgIF0p
LnRoZW4ob3V0Y29tZXMgPT4geworICAgIGFzc2VydC5zYW1lVmFsdWUob3V0Y29tZXNbMF0sICd0
aW1lZC1vdXQnKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWVzWzFdLCAndGltZWQtb3V0
Jyk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShvdXRjb21lc1syXSwgJ3RpbWVkLW91dCcpOworICB9
LCAkRE9ORSkudGhlbigkRE9ORSwgJERPTkUpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3VuZGVmaW5lZC1mb3ItdGltZW91dC1hZ2VudC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93
YWl0QXN5bmMvdW5kZWZpbmVkLWZvci10aW1lb3V0LWFnZW50LmpzCShub25leGlzdGVudCkKKysr
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy91bmRlZmlu
ZWQtZm9yLXRpbWVvdXQtYWdlbnQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3NSBAQAor
Ly8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1hdG9taWNzLndhaXRhc3luYworZGVz
Y3JpcHRpb246ID4KKyAgVW5kZWZpbmVkIHRpbWVvdXQgYXJnIGlzIGNvZXJjZWQgdG8gemVybwor
aW5mbzogfAorICBBdG9taWNzLndhaXRBc3luYyggdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0
aW1lb3V0ICkKKworICAxLiBSZXR1cm4gRG9XYWl0KGFzeW5jLCB0eXBlZEFycmF5LCBpbmRleCwg
dmFsdWUsIHRpbWVvdXQpLgorCisgIERvV2FpdCAoIG1vZGUsIHR5cGVkQXJyYXksIGluZGV4LCB2
YWx1ZSwgdGltZW91dCApCisKKyAgNi4gTGV0IHEgYmUgPyBUb051bWJlcih0aW1lb3V0KS4KKyAg
ICAuLi4KKyAgICBVbmRlZmluZWQgICAgUmV0dXJuIE5hTi4KKworICA1LklmIHEgaXMgTmFOLCBs
ZXQgdCBiZSAr4oieLCBlbHNlIGxldCB0IGJlIG1heChxLCAwKQorCitmbGFnczogW2FzeW5jXQor
aW5jbHVkZXM6IFthdG9taWNzSGVscGVyLmpzXQorZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3lu
YywgU2hhcmVkQXJyYXlCdWZmZXIsIFR5cGVkQXJyYXksIEF0b21pY3NdCistLS0qLworCitjb25z
dCBXQUlUX0lOREVYID0gMDsKK2NvbnN0IFJVTk5JTkcgPSAxOworY29uc3QgTlVNQUdFTlQgPSAy
OworY29uc3QgTk9USUZZQ09VTlQgPSAyOworCiskMjYyLmFnZW50LnN0YXJ0KGAKKyAgJDI2Mi5h
Z2VudC5yZWNlaXZlQnJvYWRjYXN0KGFzeW5jIChzYWIpID0+IHsKKyAgICB2YXIgaTMyYSA9IG5l
dyBJbnQzMkFycmF5KHNhYik7CisgICAgQXRvbWljcy5hZGQoaTMyYSwgJHtSVU5OSU5HfSwgMSk7
CisKKyAgICAvLyB1bmRlZmluZWQgPT4gTmFOID0+ICtJbmZpbml0eQorICAgICQyNjIuYWdlbnQu
cmVwb3J0KCJBICIgKyAoYXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgdW5kZWZp
bmVkKS52YWx1ZSkpOworICAgICQyNjIuYWdlbnQubGVhdmluZygpOworICB9KTsKK2ApOworCisk
MjYyLmFnZW50LnN0YXJ0KGAKKyAgJDI2Mi5hZ2VudC5yZWNlaXZlQnJvYWRjYXN0KGFzeW5jIChz
YWIpID0+IHsKKyAgICB2YXIgaTMyYSA9IG5ldyBJbnQzMkFycmF5KHNhYik7CisgICAgQXRvbWlj
cy5hZGQoaTMyYSwgJHtSVU5OSU5HfSwgMSk7CisKKyAgICAvLyB1bmRlZmluZWQgdGltZW91dCBh
cmcgPT4gTmFOID0+ICtJbmZpbml0eQorICAgICQyNjIuYWdlbnQucmVwb3J0KCJCICIgKyAoYXdh
aXQgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCkudmFsdWUpKTsKKyAgICAkMjYyLmFnZW50
LmxlYXZpbmcoKTsKKyAgfSk7CitgKTsKKworY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KAor
ICBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQp
CispOworCiskMjYyLmFnZW50LnNhZmVCcm9hZGNhc3RBc3luYyhpMzJhLCBSVU5OSU5HLCBOVU1B
R0VOVCkudGhlbihhc3luYyAoYWdlbnRDb3VudCkgPT4geworCisgIGFzc2VydC5zYW1lVmFsdWUo
YWdlbnRDb3VudCwgTlVNQUdFTlQpOworCisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgQXRvbWlj
cy5ub3RpZnkoaTMyYSwgV0FJVF9JTkRFWCwgTk9USUZZQ09VTlQpLAorICAgIE5PVElGWUNPVU5U
LAorICAgICdBdG9taWNzLm5vdGlmeShpMzJhLCBXQUlUX0lOREVYLCBOT1RJRllDT1VOVCkgcmV0
dXJucyB0aGUgdmFsdWUgb2YgYE5PVElGWUNPVU5UYCAoMiknCisgICk7CisKKyAgY29uc3QgcmVw
b3J0cyA9IFsKKyAgICBhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCksCisgICAgYXdh
aXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAorICBdOworCisgIHJlcG9ydHMuc29ydCgp
OworICBhc3NlcnQuc2FtZVZhbHVlKHJlcG9ydHNbMF0sICdBIG9rJywgJ1RoZSB2YWx1ZSBvZiBy
ZXBvcnRzWzBdIGlzICJBIG9rIicpOworICBhc3NlcnQuc2FtZVZhbHVlKHJlcG9ydHNbMV0sICdC
IG9rJywgJ1RoZSB2YWx1ZSBvZiByZXBvcnRzWzFdIGlzICJCIG9rIicpOworfSkudGhlbigkRE9O
RSwgJERPTkUpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mv
d2FpdEFzeW5jL3VuZGVmaW5lZC1mb3ItdGltZW91dC5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvdW5kZWZpbmVkLWZvci10
aW1lb3V0LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9BdG9taWNzL3dhaXRBc3luYy91bmRlZmluZWQtZm9yLXRpbWVvdXQuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw2MiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1h
dG9taWNzLndhaXRhc3luYworZGVzY3JpcHRpb246ID4KKyAgVW5kZWZpbmVkIHRpbWVvdXQgYXJn
IGlzIGNvZXJjZWQgdG8gemVybworaW5mbzogfAorICBBdG9taWNzLndhaXRBc3luYyggdHlwZWRB
cnJheSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0ICkKKworICAxLiBSZXR1cm4gRG9XYWl0KGFzeW5j
LCB0eXBlZEFycmF5LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQpLgorCisgIERvV2FpdCAoIG1vZGUs
IHR5cGVkQXJyYXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCApCisKKyAgNi4gTGV0IHEgYmUgPyBU
b051bWJlcih0aW1lb3V0KS4KKyAgICAuLi4KKyAgICBVbmRlZmluZWQgICAgUmV0dXJuIE5hTi4K
KworICA1LklmIHEgaXMgTmFOLCBsZXQgdCBiZSAr4oieLCBlbHNlIGxldCB0IGJlIG1heChxLCAw
KQorCitmbGFnczogW2FzeW5jXQoraW5jbHVkZXM6IFthdG9taWNzSGVscGVyLmpzXQorZmVhdHVy
ZXM6IFtBdG9taWNzLndhaXRBc3luYywgU2hhcmVkQXJyYXlCdWZmZXIsIFR5cGVkQXJyYXksIEF0
b21pY3NdCistLS0qLworY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KAorICBuZXcgU2hhcmVk
QXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpCispOworCiskMjYy
LmFnZW50LnN0YXJ0KGAKKyAgJDI2Mi5hZ2VudC5yZWNlaXZlQnJvYWRjYXN0KGFzeW5jIChzYWIp
ID0+IHsKKyAgICB2YXIgaTMyYSA9IG5ldyBJbnQzMkFycmF5KHNhYik7CisgICAgJDI2Mi5hZ2Vu
dC5zbGVlcCgxMDAwKTsKKyAgICBBdG9taWNzLm5vdGlmeShpMzJhLCAwLCA0KTsKKyAgICAkMjYy
LmFnZW50LmxlYXZpbmcoKTsKKyAgfSk7CitgKTsKKworJDI2Mi5hZ2VudC5zYWZlQnJvYWRjYXN0
KGkzMmEpOworCitjb25zdCB2YWx1ZU9mID0geworICB2YWx1ZU9mKCkgeworICAgIHJldHVybiB1
bmRlZmluZWQ7CisgIH0KK307CisKK2NvbnN0IHRvUHJpbWl0aXZlID0geworICBbU3ltYm9sLnRv
UHJpbWl0aXZlXSgpIHsKKyAgICByZXR1cm4gdW5kZWZpbmVkOworICB9Cit9OworCitQcm9taXNl
LmFsbChbCisgICAgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCkudmFsdWUsCisgICAgQXRv
bWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgdW5kZWZpbmVkKS52YWx1ZSwKKyAgICBBdG9taWNz
LndhaXRBc3luYyhpMzJhLCAwLCAwLCB2YWx1ZU9mKS52YWx1ZSwKKyAgICBBdG9taWNzLndhaXRB
c3luYyhpMzJhLCAwLCAwLCB0b1ByaW1pdGl2ZSkudmFsdWUsCisgIF0pLnRoZW4ob3V0Y29tZXMg
PT4geworICAgIGFzc2VydC5zYW1lVmFsdWUob3V0Y29tZXNbMF0sICdvaycpOworICAgIGFzc2Vy
dC5zYW1lVmFsdWUob3V0Y29tZXNbMV0sICdvaycpOworICAgIGFzc2VydC5zYW1lVmFsdWUob3V0
Y29tZXNbMl0sICdvaycpOworICAgIGFzc2VydC5zYW1lVmFsdWUob3V0Y29tZXNbM10sICdvaycp
OworICB9LCAkRE9ORSkudGhlbigkRE9ORSwgJERPTkUpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3VuZGVmaW5lZC1pbmRleC1kZWZhdWx0
cy10by16ZXJvLWFnZW50LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy91bmRlZmluZWQtaW5kZXgtZGVmYXVsdHMtdG8temVy
by1hZ2VudC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvQXRvbWljcy93YWl0QXN5bmMvdW5kZWZpbmVkLWluZGV4LWRlZmF1bHRzLXRvLXplcm8tYWdl
bnQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3NiBAQAorLy8gQ29weXJpZ2h0IChDKSAy
MDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8q
LS0tCitlc2lkOiBzZWMtYXRvbWljcy53YWl0YXN5bmMKK2Rlc2NyaXB0aW9uOiA+CisgIFVuZGVm
aW5lZCBpbmRleCBhcmcgaXMgY29lcmNlZCB0byB6ZXJvCitpbmZvOiB8CisgIEF0b21pY3Mud2Fp
dEFzeW5jKCB0eXBlZEFycmF5LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQgKQorCisgIDEuIFJldHVy
biBEb1dhaXQoYXN5bmMsIHR5cGVkQXJyYXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCkuCisKKyAg
RG9XYWl0ICggbW9kZSwgdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0ICkKKworICAy
LiBMZXQgaSBiZSA/IFZhbGlkYXRlQXRvbWljQWNjZXNzKHR5cGVkQXJyYXksIGluZGV4KS4KKyAg
ICAgIC4uLgorICAgICAgMi5MZXQgYWNjZXNzSW5kZXggYmUgPyBUb0luZGV4KHJlcXVlc3RJbmRl
eCkuCisKKyAgICAgIDkuSWYgSXNTaGFyZWRBcnJheUJ1ZmZlcihidWZmZXIpIGlzIGZhbHNlLCB0
aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgICAgICAgIC4uLgorICAgICAgICAgIDMuSWYg
YnVmZmVyRGF0YSBpcyBhIERhdGEgQmxvY2ssIHJldHVybiBmYWxzZQorCisgICAgICAgICAgSWYg
dmFsdWUgaXMgdW5kZWZpbmVkLCB0aGVuCisgICAgICAgICAgTGV0IGluZGV4IGJlIDAuCisKK2Zs
YWdzOiBbYXN5bmNdCitpbmNsdWRlczogW2F0b21pY3NIZWxwZXIuanNdCitmZWF0dXJlczogW0F0
b21pY3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgQXRvbWljc10K
Ky0tLSovCitjb25zdCBXQUlUX0lOREVYID0gMDsKK2NvbnN0IFJVTk5JTkcgPSAxOworY29uc3Qg
TlVNQUdFTlQgPSAyOworY29uc3QgTk9USUZZQ09VTlQgPSAyOworCiskMjYyLmFnZW50LnN0YXJ0
KGAKKyAgJDI2Mi5hZ2VudC5yZWNlaXZlQnJvYWRjYXN0KGFzeW5jIChzYWIpID0+IHsKKyAgICB2
YXIgaTMyYSA9IG5ldyBJbnQzMkFycmF5KHNhYik7CisgICAgQXRvbWljcy5hZGQoaTMyYSwgJHtS
VU5OSU5HfSwgMSk7CisKKyAgICAkMjYyLmFnZW50LnJlcG9ydCgiQSAiICsgKGF3YWl0IEF0b21p
Y3Mud2FpdEFzeW5jKGkzMmEsIHVuZGVmaW5lZCwgMCkudmFsdWUpKTsKKyAgICAkMjYyLmFnZW50
LmxlYXZpbmcoKTsKKyAgfSk7CitgKTsKKworJDI2Mi5hZ2VudC5zdGFydChgCisgICQyNjIuYWdl
bnQucmVjZWl2ZUJyb2FkY2FzdChhc3luYyAoc2FiKSA9PiB7CisgICAgdmFyIGkzMmEgPSBuZXcg
SW50MzJBcnJheShzYWIpOworICAgIEF0b21pY3MuYWRkKGkzMmEsICR7UlVOTklOR30sIDEpOwor
CisgICAgJDI2Mi5hZ2VudC5yZXBvcnQoIkIgIiArIChhd2FpdCBBdG9taWNzLndhaXRBc3luYyhp
MzJhLCB1bmRlZmluZWQsIDApLnZhbHVlKSk7CisgICAgJDI2Mi5hZ2VudC5sZWF2aW5nKCk7Cisg
IH0pOworYCk7CisKK2NvbnN0IGkzMmEgPSBuZXcgSW50MzJBcnJheSgKKyAgbmV3IFNoYXJlZEFy
cmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KQorKTsKKworJDI2Mi5h
Z2VudC5zYWZlQnJvYWRjYXN0QXN5bmMoaTMyYSwgUlVOTklORywgTlVNQUdFTlQpLnRoZW4oYXN5
bmMgKGFnZW50Q291bnQpID0+IHsKKworICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIE5V
TUFHRU5UKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIEF0b21pY3Mubm90aWZ5KGkzMmEs
IFdBSVRfSU5ERVgsIE5PVElGWUNPVU5UKSwKKyAgICBOT1RJRllDT1VOVCwKKyAgICAnQXRvbWlj
cy5ub3RpZnkoaTMyYSwgV0FJVF9JTkRFWCwgTk9USUZZQ09VTlQpIHJldHVybnMgdGhlIHZhbHVl
IG9mIGBOT1RJRllDT1VOVGAgKDIpJworICApOworCisgIGNvbnN0IHJlcG9ydHMgPSBbCisgICAg
YXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAorICAgIGF3YWl0ICQyNjIuYWdlbnQu
Z2V0UmVwb3J0QXN5bmMoKSwKKyAgXTsKKworICByZXBvcnRzLnNvcnQoKTsKKyAgYXNzZXJ0LnNh
bWVWYWx1ZShyZXBvcnRzWzBdLCAnQSBvaycsICdUaGUgdmFsdWUgb2YgcmVwb3J0c1swXSBpcyAi
QSBvayInKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXBvcnRzWzFdLCAnQiBvaycsICdUaGUgdmFs
dWUgb2YgcmVwb3J0c1sxXSBpcyAiQiBvayInKTsKK30pLnRoZW4oJERPTkUsICRET05FKTsKSW5k
ZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy92YWxp
ZGF0ZS1hcnJheXR5cGUtYmVmb3JlLWluZGV4LWNvZXJjaW9uLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy92YWxpZGF0ZS1h
cnJheXR5cGUtYmVmb3JlLWluZGV4LWNvZXJjaW9uLmpzCShub25leGlzdGVudCkKKysrIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy92YWxpZGF0ZS1hcnJh
eXR5cGUtYmVmb3JlLWluZGV4LWNvZXJjaW9uLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NDkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtYXRvbWljcy53YWl0YXN5
bmMKK2Rlc2NyaXB0aW9uOiA+CisgIFR5cGVkQXJyYXkgdHlwZSBpcyB2YWxpZGF0ZWQgYmVmb3Jl
IGBpbmRleGAgYXJndW1lbnQgaXMgY29lcmNlZC4KK2luZm86IHwKKyAgMS4gUmV0dXJuIERvV2Fp
dChhc3luYywgdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0KS4KKworICBEb1dhaXQg
KCBtb2RlLCB0eXBlZEFycmF5LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQgKQorCisgIDEuIExldCBi
dWZmZXIgYmUgPyBWYWxpZGF0ZVNoYXJlZEludGVnZXJUeXBlZEFycmF5KHR5cGVkQXJyYXksIHRy
dWUpLgorCisgIFZhbGlkYXRlU2hhcmVkSW50ZWdlclR5cGVkQXJyYXkgKCB0eXBlZEFycmF5IFsg
LCB3YWl0YWJsZSBdICkKKworICAxLiBJZiB3YWl0YWJsZSBpcyBub3QgcHJlc2VudCwgc2V0IHdh
aXRhYmxlIHRvIGZhbHNlLgorICAyLiBQZXJmb3JtID8gUmVxdWlyZUludGVybmFsU2xvdCh0eXBl
ZEFycmF5LCBbW1R5cGVkQXJyYXlOYW1lXV0pLgorICAzLiBMZXQgdHlwZU5hbWUgYmUgdHlwZWRB
cnJheS5bW1R5cGVkQXJyYXlOYW1lXV0uCisgIDQuIExldCB0eXBlIGJlIHRoZSBFbGVtZW50IFR5
cGUgdmFsdWUgaW4gVGFibGUgNjEgZm9yIHR5cGVOYW1lLgorICA1LiBJZiB3YWl0YWJsZSBpcyB0
cnVlLCB0aGVuCisgICAgYS4gSWYgdHlwZU5hbWUgaXMgbm90ICJJbnQzMkFycmF5IiBvciAiQmln
SW50NjRBcnJheSIsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgNi4gRWxzZSwKKyAg
ICBhLiBJZiAhIElzVW5jbGFtcGVkSW50ZWdlckVsZW1lbnRUeXBlKHR5cGUpIGlzIGZhbHNlIGFu
ZCAhIElzQmlnSW50RWxlbWVudFR5cGUodHlwZSkgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9y
IGV4Y2VwdGlvbi4KKyAgNy4gQXNzZXJ0OiB0eXBlZEFycmF5IGhhcyBhIFtbVmlld2VkQXJyYXlC
dWZmZXJdXSBpbnRlcm5hbCBzbG90LgorICA4LiBMZXQgYnVmZmVyIGJlIHR5cGVkQXJyYXkuW1tW
aWV3ZWRBcnJheUJ1ZmZlcl1dLgorICA5LiBJZiBJc1NoYXJlZEFycmF5QnVmZmVyKGJ1ZmZlcikg
aXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgMTAuIFJldHVybiBidWZm
ZXIuCisKK2ZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIEF0b21pY3MsIFR5cGVkQXJyYXks
IFNoYXJlZEFycmF5QnVmZmVyXQorLS0tKi8KKworY29uc3QgaW5kZXggPSB7CisgIHZhbHVlT2Yo
KSB7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiaW5kZXggY29lcmNlZCIpOworICB9Cit9
OworCitjb25zdCBub25TaGFyZWRBcnJheVR5cGVzID0gWworICBJbnQ4QXJyYXksIFVpbnQ4QXJy
YXksIEludDE2QXJyYXksIFVpbnQxNkFycmF5LCBVaW50MzJBcnJheSwKKyAgVWludDhDbGFtcGVk
QXJyYXksIEZsb2F0MzJBcnJheSwgRmxvYXQ2NEFycmF5CitdOworCitmb3IgKGNvbnN0IG5vblNo
YXJlZEFycmF5VHlwZSBvZiBub25TaGFyZWRBcnJheVR5cGVzKSB7CisgIGNvbnN0IHR5cGVkQXJy
YXkgPSBuZXcgbm9uU2hhcmVkQXJyYXlUeXBlKG5ldyBTaGFyZWRBcnJheUJ1ZmZlcig4KSk7Cisg
IGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgICBBdG9taWNzLndhaXRB
c3luYyh0eXBlZEFycmF5LCBpbmRleCwgMCwgMCk7CisgIH0pOworfQpJbmRleDogSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3ZhbGlkYXRlLWFycmF5dHlw
ZS1iZWZvcmUtdGltZW91dC1jb2VyY2lvbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvdmFsaWRhdGUtYXJyYXl0eXBlLWJl
Zm9yZS10aW1lb3V0LWNvZXJjaW9uLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy92YWxpZGF0ZS1hcnJheXR5cGUtYmVm
b3JlLXRpbWVvdXQtY29lcmNpb24uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0OCBAQAor
Ly8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1hdG9taWNzLndhaXRhc3luYworZGVz
Y3JpcHRpb246ID4KKyAgVHlwZWRBcnJheSB0eXBlIGlzIHZhbGlkYXRlZCBiZWZvcmUgYHRpbWVv
dXRgIGFyZ3VtZW50IGlzIGNvZXJjZWQuCitpbmZvOiB8CisgIDEuIFJldHVybiBEb1dhaXQoYXN5
bmMsIHR5cGVkQXJyYXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCkuCisKKyAgRG9XYWl0ICggbW9k
ZSwgdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0ICkKKworICAxLiBMZXQgYnVmZmVy
IGJlID8gVmFsaWRhdGVTaGFyZWRJbnRlZ2VyVHlwZWRBcnJheSh0eXBlZEFycmF5LCB0cnVlKS4K
KworICBWYWxpZGF0ZVNoYXJlZEludGVnZXJUeXBlZEFycmF5ICggdHlwZWRBcnJheSBbICwgd2Fp
dGFibGUgXSApCisKKyAgMS4gSWYgd2FpdGFibGUgaXMgbm90IHByZXNlbnQsIHNldCB3YWl0YWJs
ZSB0byBmYWxzZS4KKyAgMi4gUGVyZm9ybSA/IFJlcXVpcmVJbnRlcm5hbFNsb3QodHlwZWRBcnJh
eSwgW1tUeXBlZEFycmF5TmFtZV1dKS4KKyAgMy4gTGV0IHR5cGVOYW1lIGJlIHR5cGVkQXJyYXku
W1tUeXBlZEFycmF5TmFtZV1dLgorICA0LiBMZXQgdHlwZSBiZSB0aGUgRWxlbWVudCBUeXBlIHZh
bHVlIGluIFRhYmxlIDYxIGZvciB0eXBlTmFtZS4KKyAgNS4gSWYgd2FpdGFibGUgaXMgdHJ1ZSwg
dGhlbgorICAgIGEuIElmIHR5cGVOYW1lIGlzIG5vdCAiSW50MzJBcnJheSIgb3IgIkJpZ0ludDY0
QXJyYXkiLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIDYuIEVsc2UsCisgICAgYS4g
SWYgISBJc1VuY2xhbXBlZEludGVnZXJFbGVtZW50VHlwZSh0eXBlKSBpcyBmYWxzZSBhbmQgISBJ
c0JpZ0ludEVsZW1lbnRUeXBlKHR5cGUpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNl
cHRpb24uCisgIDcuIEFzc2VydDogdHlwZWRBcnJheSBoYXMgYSBbW1ZpZXdlZEFycmF5QnVmZmVy
XV0gaW50ZXJuYWwgc2xvdC4KKyAgOC4gTGV0IGJ1ZmZlciBiZSB0eXBlZEFycmF5LltbVmlld2Vk
QXJyYXlCdWZmZXJdXS4KKyAgOS4gSWYgSXNTaGFyZWRBcnJheUJ1ZmZlcihidWZmZXIpIGlzIGZh
bHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIDEwLiBSZXR1cm4gYnVmZmVyLgor
CitmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBBdG9taWNzLCBUeXBlZEFycmF5LCBTaGFy
ZWRBcnJheUJ1ZmZlcl0KKy0tLSovCitjb25zdCB0aW1lb3V0ID0geworICB2YWx1ZU9mKCkgewor
ICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoInRpbWVvdXQgY29lcmNlZCIpOworICB9Cit9Owor
Citjb25zdCBub25TaGFyZWRBcnJheVR5cGVzID0gWworICBJbnQ4QXJyYXksIFVpbnQ4QXJyYXks
IEludDE2QXJyYXksIFVpbnQxNkFycmF5LCBVaW50MzJBcnJheSwKKyAgVWludDhDbGFtcGVkQXJy
YXksIEZsb2F0MzJBcnJheSwgRmxvYXQ2NEFycmF5CitdOworCitmb3IgKGNvbnN0IG5vblNoYXJl
ZEFycmF5VHlwZSBvZiBub25TaGFyZWRBcnJheVR5cGVzKSB7CisgIGNvbnN0IHR5cGVkQXJyYXkg
PSBuZXcgbm9uU2hhcmVkQXJyYXlUeXBlKG5ldyBTaGFyZWRBcnJheUJ1ZmZlcig4KSk7CisgIGFz
c2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgICBBdG9taWNzLndhaXRBc3lu
Yyh0eXBlZEFycmF5LCAwLCAwLCB0aW1lb3V0KTsKKyAgfSk7Cit9CkluZGV4OiBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvdmFsaWRhdGUtYXJyYXl0eXBl
LWJlZm9yZS12YWx1ZS1jb2VyY2lvbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvdmFsaWRhdGUtYXJyYXl0eXBlLWJlZm9y
ZS12YWx1ZS1jb2VyY2lvbi5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvdmFsaWRhdGUtYXJyYXl0eXBlLWJlZm9yZS12
YWx1ZS1jb2VyY2lvbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ5IEBACisvLyBDb3B5
cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWF0b21pY3Mubm90aWZ5CitkZXNjcmlwdGlvbjog
PgorICBUeXBlZEFycmF5IHR5cGUgaXMgdmFsaWRhdGVkIGJlZm9yZSBgdmFsdWVgIGFyZ3VtZW50
IGlzIGNvZXJjZWQuCitpbmZvOiB8CisgIDEuIFJldHVybiBEb1dhaXQoYXN5bmMsIHR5cGVkQXJy
YXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCkuCisKKyAgRG9XYWl0ICggbW9kZSwgdHlwZWRBcnJh
eSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0ICkKKworICAxLiBMZXQgYnVmZmVyIGJlID8gVmFsaWRh
dGVTaGFyZWRJbnRlZ2VyVHlwZWRBcnJheSh0eXBlZEFycmF5LCB0cnVlKS4KKworICBWYWxpZGF0
ZVNoYXJlZEludGVnZXJUeXBlZEFycmF5ICggdHlwZWRBcnJheSBbICwgd2FpdGFibGUgXSApCisK
KyAgMS4gSWYgd2FpdGFibGUgaXMgbm90IHByZXNlbnQsIHNldCB3YWl0YWJsZSB0byBmYWxzZS4K
KyAgMi4gUGVyZm9ybSA/IFJlcXVpcmVJbnRlcm5hbFNsb3QodHlwZWRBcnJheSwgW1tUeXBlZEFy
cmF5TmFtZV1dKS4KKyAgMy4gTGV0IHR5cGVOYW1lIGJlIHR5cGVkQXJyYXkuW1tUeXBlZEFycmF5
TmFtZV1dLgorICA0LiBMZXQgdHlwZSBiZSB0aGUgRWxlbWVudCBUeXBlIHZhbHVlIGluIFRhYmxl
IDYxIGZvciB0eXBlTmFtZS4KKyAgNS4gSWYgd2FpdGFibGUgaXMgdHJ1ZSwgdGhlbgorICAgIGEu
IElmIHR5cGVOYW1lIGlzIG5vdCAiSW50MzJBcnJheSIgb3IgIkJpZ0ludDY0QXJyYXkiLCB0aHJv
dyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIDYuIEVsc2UsCisgICAgYS4gSWYgISBJc1VuY2xh
bXBlZEludGVnZXJFbGVtZW50VHlwZSh0eXBlKSBpcyBmYWxzZSBhbmQgISBJc0JpZ0ludEVsZW1l
bnRUeXBlKHR5cGUpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIDcu
IEFzc2VydDogdHlwZWRBcnJheSBoYXMgYSBbW1ZpZXdlZEFycmF5QnVmZmVyXV0gaW50ZXJuYWwg
c2xvdC4KKyAgOC4gTGV0IGJ1ZmZlciBiZSB0eXBlZEFycmF5LltbVmlld2VkQXJyYXlCdWZmZXJd
XS4KKyAgOS4gSWYgSXNTaGFyZWRBcnJheUJ1ZmZlcihidWZmZXIpIGlzIGZhbHNlLCB0aHJvdyBh
IFR5cGVFcnJvciBleGNlcHRpb24uCisgIDEwLiBSZXR1cm4gYnVmZmVyLgorCitmZWF0dXJlczog
W0F0b21pY3Mud2FpdEFzeW5jLCBBdG9taWNzLCBUeXBlZEFycmF5LCBTaGFyZWRBcnJheUJ1ZmZl
cl0KKy0tLSovCisKK2NvbnN0IHZhbHVlID0geworICB2YWx1ZU9mKCkgeworICAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoInZhbHVlIGNvZXJjZWQiKTsKKyAgfQorfTsKKworY29uc3Qgbm9uU2hh
cmVkQXJyYXlUeXBlcyA9IFsKKyAgSW50OEFycmF5LCBVaW50OEFycmF5LCBJbnQxNkFycmF5LCBV
aW50MTZBcnJheSwgVWludDMyQXJyYXksCisgIFVpbnQ4Q2xhbXBlZEFycmF5LCBGbG9hdDMyQXJy
YXksIEZsb2F0NjRBcnJheQorXTsKKworZm9yIChjb25zdCBub25TaGFyZWRBcnJheVR5cGUgb2Yg
bm9uU2hhcmVkQXJyYXlUeXBlcykgeworICBjb25zdCB0eXBlZEFycmF5ID0gbmV3IG5vblNoYXJl
ZEFycmF5VHlwZShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoOCkpOworICBhc3NlcnQudGhyb3dzKFR5
cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgICAgQXRvbWljcy53YWl0KHR5cGVkQXJyYXksIDAsIHZh
bHVlLCAwKTsKKyAgfSk7Cit9CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QXRvbWljcy93YWl0QXN5bmMvdmFsdWUtbm90LWVxdWFsLWFnZW50LmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy92YWx1ZS1u
b3QtZXF1YWwtYWdlbnQuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3ZhbHVlLW5vdC1lcXVhbC1hZ2VudC5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDY0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBX
YWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLWF0b21pY3Mud2FpdGFzeW5jCitkZXNjcmlwdGlvbjogPgorICBSZXR1cm5zICJub3Qt
ZXF1YWwiIHdoZW4gdmFsdWUgYXJnIGRvZXMgbm90IG1hdGNoIGFuIGluZGV4IGluIHRoZSB0eXBl
ZEFycmF5CitpbmZvOiB8CisgIEF0b21pY3Mud2FpdEFzeW5jKCB0eXBlZEFycmF5LCBpbmRleCwg
dmFsdWUsIHRpbWVvdXQgKQorCisgIDEuIFJldHVybiBEb1dhaXQoYXN5bmMsIHR5cGVkQXJyYXks
IGluZGV4LCB2YWx1ZSwgdGltZW91dCkuCisKKyAgRG9XYWl0ICggbW9kZSwgdHlwZWRBcnJheSwg
aW5kZXgsIHZhbHVlLCB0aW1lb3V0ICkKKworICAxNi4gTGV0IHcgYmUgISBBdG9taWNMb2FkKHR5
cGVkQXJyYXksIGkpLgorICAxNy4gSWYgdiBpcyBub3QgZXF1YWwgdG8gdywgdGhlbgorICAgIGEu
IFBlcmZvcm0gTGVhdmVDcml0aWNhbFNlY3Rpb24oV0wpLgorICAgIGIuIElmIG1vZGUgaXMgc3lu
YywgdGhlbgorICAgICAgaS4gUmV0dXJuIHRoZSBTdHJpbmcgIm5vdC1lcXVhbCIuCisgICAgYy4g
UGVyZm9ybSAhIENhbGwoY2FwYWJpbGl0eS5bW1Jlc29sdmVdXSwgdW5kZWZpbmVkLCDCqyAibm90
LWVxdWFsIiDCuykuCisgICAgZC4gUmV0dXJuIHByb21pc2VDYXBhYmlsaXR5LltbUHJvbWlzZV1d
LgorCitmbGFnczogW2FzeW5jXQoraW5jbHVkZXM6IFthdG9taWNzSGVscGVyLmpzXQorZmVhdHVy
ZXM6IFtBdG9taWNzLndhaXRBc3luYywgU2hhcmVkQXJyYXlCdWZmZXIsIFR5cGVkQXJyYXldCist
LS0qLworY29uc3QgUlVOTklORyA9IDE7Citjb25zdCB2YWx1ZSA9IDQyOworCiskMjYyLmFnZW50
LnN0YXJ0KGAKKyAgJDI2Mi5hZ2VudC5yZWNlaXZlQnJvYWRjYXN0KGZ1bmN0aW9uKHNhYikgewor
ICAgIGNvbnN0IGkzMmEgPSBuZXcgSW50MzJBcnJheShzYWIpOworICAgIEF0b21pY3MuYWRkKGkz
MmEsICR7UlVOTklOR30sIDEpOworCisgICAgJDI2Mi5hZ2VudC5yZXBvcnQoQXRvbWljcy5zdG9y
ZShpMzJhLCAwLCAke3ZhbHVlfSkpOworICAgICQyNjIuYWdlbnQucmVwb3J0KEF0b21pY3Mud2Fp
dEFzeW5jKGkzMmEsIDAsIDApLnZhbHVlKTsKKyAgICAkMjYyLmFnZW50LmxlYXZpbmcoKTsKKyAg
fSk7CitgKTsKKworY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KAorICBuZXcgU2hhcmVkQXJy
YXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpCispOworCiskMjYyLmFn
ZW50LnNhZmVCcm9hZGNhc3RBc3luYyhpMzJhLCBSVU5OSU5HLCAxKS50aGVuKGFzeW5jIChhZ2Vu
dENvdW50KSA9PiB7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCAxKTsKKworICBh
c3NlcnQuc2FtZVZhbHVlKAorICAgIGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSwK
KyAgICB2YWx1ZS50b1N0cmluZygpLAorICAgICdBdG9taWNzLnN0b3JlKGkzMmEsIDAsICR7dmFs
dWV9KSByZXR1cm5zIDQyJworICApOworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGF3YWl0ICQy
NjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSwKKyAgICAnbm90LWVxdWFsJywKKyAgICAnQXRvbWlj
cy53YWl0QXN5bmMoaTMyYSwgMCwgMCkudmFsdWUgcmVzb2x2ZXMgdG8gIm5vdC1lcXVhbCInCisg
ICk7CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgQXRvbWljcy5ub3RpZnkoaTMyYSwgMCwgMSks
CisgICAgMCwKKyAgICAnQXRvbWljcy5ub3RpZnkoaTMyYSwgMCwgMSkgcmV0dXJucyAwIChub3Ro
aW5nIHRvIG5vdGlmeSknCisgICk7Cit9KS50aGVuKCRET05FLCAkRE9ORSk7CkluZGV4OiBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvdmFsdWUtbm90LWVx
dWFsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9t
aWNzL3dhaXRBc3luYy92YWx1ZS1ub3QtZXF1YWwuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3ZhbHVlLW5vdC1lcXVh
bC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ4IEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisv
Ki0tLQorZXNpZDogc2VjLWF0b21pY3Mud2FpdGFzeW5jCitkZXNjcmlwdGlvbjogPgorICBSZXR1
cm5zICJub3QtZXF1YWwiIHdoZW4gdmFsdWUgYXJnIGRvZXMgbm90IG1hdGNoIGFuIGluZGV4IGlu
IHRoZSB0eXBlZEFycmF5CitpbmZvOiB8CisgIEF0b21pY3Mud2FpdEFzeW5jKCB0eXBlZEFycmF5
LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQgKQorCisgIDEuIFJldHVybiBEb1dhaXQoYXN5bmMsIHR5
cGVkQXJyYXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCkuCisKKyAgRG9XYWl0ICggbW9kZSwgdHlw
ZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0ICkKKworICAxNi4gTGV0IHcgYmUgISBBdG9t
aWNMb2FkKHR5cGVkQXJyYXksIGkpLgorICAxNy4gSWYgdiBpcyBub3QgZXF1YWwgdG8gdywgdGhl
bgorICAgIGEuIFBlcmZvcm0gTGVhdmVDcml0aWNhbFNlY3Rpb24oV0wpLgorICAgIGIuIElmIG1v
ZGUgaXMgc3luYywgdGhlbgorICAgICAgaS4gUmV0dXJuIHRoZSBTdHJpbmcgIm5vdC1lcXVhbCIu
CisgICAgYy4gUGVyZm9ybSAhIENhbGwoY2FwYWJpbGl0eS5bW1Jlc29sdmVdXSwgdW5kZWZpbmVk
LCDCqyAibm90LWVxdWFsIiDCuykuCisgICAgZC4gUmV0dXJuIHByb21pc2VDYXBhYmlsaXR5Lltb
UHJvbWlzZV1dLgorCitmbGFnczogW2FzeW5jXQorZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3lu
YywgU2hhcmVkQXJyYXlCdWZmZXIsIFR5cGVkQXJyYXldCistLS0qLworY29uc3QgaTMyYSA9IG5l
dyBJbnQzMkFycmF5KAorICBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19Q
RVJfRUxFTUVOVCAqIDQpCispOworCitjb25zdCB2YWx1ZU9mID0geworICB2YWx1ZU9mKCkgewor
ICAgIHJldHVybiB1bmRlZmluZWQ7CisgIH0KK307CisKK2NvbnN0IHRvUHJpbWl0aXZlID0gewor
ICBbU3ltYm9sLnRvUHJpbWl0aXZlXSgpIHsKKyAgICByZXR1cm4gdW5kZWZpbmVkOworICB9Cit9
OworCitQcm9taXNlLmFsbChbCisgICAgQXRvbWljcy5zdG9yZShpMzJhLCAwLCA0MiksCisgICAg
QXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCkudmFsdWUsCisgIF0pLnRoZW4ob3V0Y29tZXMg
PT4geworICAgIGFzc2VydC5zYW1lVmFsdWUob3V0Y29tZXNbMF0sIDQyKTsKKyAgICBhc3NlcnQu
c2FtZVZhbHVlKG91dGNvbWVzWzFdLCAnbm90LWVxdWFsJyk7CisgIH0sICRET05FKS50aGVuKCRE
T05FLCAkRE9ORSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWlj
cy93YWl0QXN5bmMvd2FpdGVybGlzdC1ibG9jay1pbmRleGVkcG9zaXRpb24td2FrZS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5
bmMvd2FpdGVybGlzdC1ibG9jay1pbmRleGVkcG9zaXRpb24td2FrZS5qcwkobm9uZXhpc3RlbnQp
CisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvd2Fp
dGVybGlzdC1ibG9jay1pbmRleGVkcG9zaXRpb24td2FrZS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDgyIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5z
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWF0b21pY3Mu
d2FpdGFzeW5jCitkZXNjcmlwdGlvbjogPgorICBHZXQgdGhlIGNvcnJlY3QgV2FpdGVyTGlzdAor
aW5mbzogfAorICBBdG9taWNzLndhaXRBc3luYyggdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0
aW1lb3V0ICkKKworICAxLiBSZXR1cm4gRG9XYWl0KGFzeW5jLCB0eXBlZEFycmF5LCBpbmRleCwg
dmFsdWUsIHRpbWVvdXQpLgorCisgIERvV2FpdCAoIG1vZGUsIHR5cGVkQXJyYXksIGluZGV4LCB2
YWx1ZSwgdGltZW91dCApCisKKyAgMTEuIExldCBpbmRleGVkUG9zaXRpb24gYmUgKGkgw5cgNCkg
KyBvZmZzZXQuCisgIDEyLiBMZXQgV0wgYmUgR2V0V2FpdGVyTGlzdChibG9jaywgaW5kZXhlZFBv
c2l0aW9uKS4KKworICBHZXRXYWl0ZXJMaXN0KCBibG9jaywgaSApCisKKyAgLi4uCisgIDQuIFJl
dHVybiB0aGUgV2FpdGVyTGlzdCB0aGF0IGlzIHJlZmVyZW5jZWQgYnkgdGhlIHBhaXIgKGJsb2Nr
LCBpKS4KKworZmxhZ3M6IFthc3luY10KK2luY2x1ZGVzOiBbYXRvbWljc0hlbHBlci5qc10KK2Zl
YXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBUeXBlZEFycmF5
LCBBdG9taWNzXQorLS0tKi8KK2NvbnN0IE5VTUFHRU5UID0gMjsKK2NvbnN0IFJVTk5JTkcgPSA0
OworCiskMjYyLmFnZW50LnN0YXJ0KGAKKyAgJDI2Mi5hZ2VudC5yZWNlaXZlQnJvYWRjYXN0KGFz
eW5jIChzYWIpID0+IHsKKyAgICBjb25zdCBpMzJhID0gbmV3IEludDMyQXJyYXkoc2FiKTsKKyAg
ICBBdG9taWNzLmFkZChpMzJhLCAke1JVTk5JTkd9LCAxKTsKKworICAgIC8vIFdhaXQgb24gaW5k
ZXggMAorICAgICQyNjIuYWdlbnQucmVwb3J0KGF3YWl0IEF0b21pY3Mud2FpdEFzeW5jKGkzMmEs
IDAsIDAsIEluZmluaXR5KS52YWx1ZSk7CisgICAgJDI2Mi5hZ2VudC5sZWF2aW5nKCk7CisgIH0p
OworYCk7CisKKyQyNjIuYWdlbnQuc3RhcnQoYAorICAkMjYyLmFnZW50LnJlY2VpdmVCcm9hZGNh
c3QoYXN5bmMgKHNhYikgPT4geworICAgIGNvbnN0IGkzMmEgPSBuZXcgSW50MzJBcnJheShzYWIp
OworICAgIEF0b21pY3MuYWRkKGkzMmEsICR7UlVOTklOR30sIDEpOworCisgICAgLy8gV2FpdCBv
biBpbmRleCAyCisgICAgJDI2Mi5hZ2VudC5yZXBvcnQoYXdhaXQgQXRvbWljcy53YWl0QXN5bmMo
aTMyYSwgMiwgMCwgSW5maW5pdHkpLnZhbHVlKTsKKyAgICAkMjYyLmFnZW50LmxlYXZpbmcoKTsK
KyAgfSk7CitgKTsKKworY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KAorICBuZXcgU2hhcmVk
QXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDUpCispOworCiskMjYy
LmFnZW50LnNhZmVCcm9hZGNhc3RBc3luYyhpMzJhLCBSVU5OSU5HLCBOVU1BR0VOVCkudGhlbihh
c3luYyAoYWdlbnRDb3VudCkgPT4geworCisgIGFzc2VydC5zYW1lVmFsdWUoYWdlbnRDb3VudCwg
TlVNQUdFTlQpOworCisgIC8vIE5vdGlmeSBpbmRleCAxLCBub3RpZmllcyBub3RoaW5nCisgIGFz
c2VydC5zYW1lVmFsdWUoQXRvbWljcy5ub3RpZnkoaTMyYSwgMSksIDAsICdBdG9taWNzLm5vdGlm
eShpMzJhLCAxKSByZXR1cm5zIDAnKTsKKworICAvLyBOb3RpZnkgaW5kZXggMywgbm90aWZpZXMg
bm90aGluZworICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mubm90aWZ5KGkzMmEsIDMpLCAwLCAn
QXRvbWljcy5ub3RpZnkoaTMyYSwgMykgcmV0dXJucyAwJyk7CisKKyAgLy8gTm90aWZ5IGluZGV4
IDIsIG5vdGlmaWVzIDEKKyAgYXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpMzJhLCAy
KSwgMSwgJ0F0b21pY3Mubm90aWZ5KGkzMmEsIDIpIHJldHVybnMgMScpOworICBhc3NlcnQuc2Ft
ZVZhbHVlKAorICAgIGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSwKKyAgICAnb2sn
LAorICAgICdhd2FpdCBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCBJbmZpbml0eSkudmFs
dWUgcmVzb2x2ZXMgdG8gIm9rIicKKyAgKTsKKworICAvLyBOb3RpZnkgaW5kZXggMCwgbm90aWZp
ZXMgMQorICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mubm90aWZ5KGkzMmEsIDApLCAxLCAnQXRv
bWljcy5ub3RpZnkoaTMyYSwgMCkgcmV0dXJucyAxJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoCisg
ICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAorICAgICdvaycsCisgICAgJ2F3
YWl0IEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDIsIDAsIEluZmluaXR5KS52YWx1ZSByZXNvbHZl
cyB0byAib2siJworICApOworCit9KS50aGVuKCRET05FLCAkRE9ORSk7CkluZGV4OiBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvd2FzLXdva2VuLWJlZm9y
ZS10aW1lb3V0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9BdG9taWNzL3dhaXRBc3luYy93YXMtd29rZW4tYmVmb3JlLXRpbWVvdXQuanMJKG5vbmV4aXN0
ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5j
L3dhcy13b2tlbi1iZWZvcmUtdGltZW91dC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU0
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1hdG9taWNzLndhaXRhc3luYwor
ZGVzY3JpcHRpb246ID4KKyAgVGVzdCB0aGF0IEF0b21pY3Mud2FpdEFzeW5jIHJldHVybnMgdGhl
IHJpZ2h0IHJlc3VsdCB3aGVuIGl0IHdhcyBhd29rZW4gYmVmb3JlCisgIGEgdGltZW91dAorZmxh
Z3M6IFthc3luY10KK2luY2x1ZGVzOiBbYXRvbWljc0hlbHBlci5qc10KK2ZlYXR1cmVzOiBbQXRv
bWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBUeXBlZEFycmF5LCBBdG9taWNzXQor
LS0tKi8KK2NvbnN0IFJVTk5JTkcgPSAxOworY29uc3QgVElNRU9VVCA9ICQyNjIuYWdlbnQudGlt
ZW91dHMuaHVnZTsKKworY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KAorICBuZXcgU2hhcmVk
QXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpCispOworCiskMjYy
LmFnZW50LnN0YXJ0KGAKKyAgJDI2Mi5hZ2VudC5yZWNlaXZlQnJvYWRjYXN0KGFzeW5jIChzYWIp
ID0+IHsKKyAgICBjb25zdCBpMzJhID0gbmV3IEludDMyQXJyYXkoc2FiKTsKKyAgICBBdG9taWNz
LmFkZChpMzJhLCAke1JVTk5JTkd9LCAxKTsKKworICAgIGNvbnN0IGJlZm9yZSA9ICQyNjIuYWdl
bnQubW9ub3RvbmljTm93KCk7CisgICAgY29uc3QgdW5wYXJrID0gYXdhaXQgQXRvbWljcy53YWl0
QXN5bmMoaTMyYSwgMCwgMCwgJHtUSU1FT1VUfSkudmFsdWU7CisgICAgY29uc3QgZHVyYXRpb24g
PSAkMjYyLmFnZW50Lm1vbm90b25pY05vdygpIC0gYmVmb3JlOworCisgICAgJDI2Mi5hZ2VudC5y
ZXBvcnQoZHVyYXRpb24pOworICAgICQyNjIuYWdlbnQucmVwb3J0KHVucGFyayk7CisgICAgJDI2
Mi5hZ2VudC5sZWF2aW5nKCk7CisgIH0pOworYCk7CisKKyQyNjIuYWdlbnQuc2FmZUJyb2FkY2Fz
dEFzeW5jKGkzMmEsIFJVTk5JTkcsIDEpLnRoZW4oYXN5bmMgKGFnZW50Q291bnQpID0+IHsKKwor
ICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDEpOworICBhc3NlcnQuc2FtZVZhbHVlKEF0
b21pY3Mubm90aWZ5KGkzMmEsIDApLCAxLCAnQXRvbWljcy5ub3RpZnkoaTMyYSwgMCkgcmV0dXJu
cyAxJyk7CisKKyAgY29uc3QgbGFwc2UgPSBhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5j
KCk7CisKKyAgYXNzZXJ0KAorICAgIGxhcHNlIDwgVElNRU9VVCwKKyAgICAnVGhlIHJlc3VsdCBv
ZiBgKGxhcHNlID49IFRJTUVPVVQpYCBpcyB0cnVlJworICApOworCisgIGNvbnN0IHJlc3VsdCA9
IGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKTsKKworICBhc3NlcnQuc2FtZVZhbHVl
KAorICAgIHJlc3VsdCwKKyAgICAnb2snLAorICAgICdhd2FpdCBBdG9taWNzLndhaXRBc3luYyhp
MzJhLCAwLCAwLCAke1RJTUVPVVR9KS52YWx1ZSByZXNvbHZlcyB0byAib2siJworICApOworICBh
c3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mubm90aWZ5KGkzMmEsIDApLCAwLCAnQXRvbWljcy5ub3Rp
ZnkoaTMyYSwgMCkgcmV0dXJucyAwJyk7Cit9KS50aGVuKCRET05FLCAkRE9ORSk7CkluZGV4OiBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvZ2V0
LWZuLXJlYWxtLXJlY3Vyc2l2ZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvZ2V0LWZuLXJlYWxtLXJlY3Vyc2l2
ZS5qcwkocmV2aXNpb24gMjYwNTcwKQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kL2dldC1mbi1yZWFsbS1yZWN1cnNpdmUuanMJKHdvcmtp
bmcgY29weSkKQEAgLTMsMjMgKzMsNTEgQEAKIC8qLS0tCiBlc2lkOiBzZWMtZ2V0ZnVuY3Rpb25y
ZWFsbQogZGVzY3JpcHRpb246ID4KLSAgICBUaGUgcmVhbG0gb2YgYSBib3VuZCBmdW5jdGlvbiBl
eG90aWMgb2JqZWN0IGlzIHRoZSByZWFsbSBvZiBpdHMgdGFyZ2V0Ci0gICAgZnVuY3Rpb24uIEdl
dEZ1bmN0aW9uUmVhbG0gaXMgY2FsbGVkIHJlY3Vyc2l2ZWx5LgorICBUaGUgcmVhbG0gb2YgYSBi
b3VuZCBmdW5jdGlvbiBleG90aWMgb2JqZWN0IGlzIHRoZSByZWFsbSBvZiBpdHMgdGFyZ2V0IGZ1
bmN0aW9uLgorICBHZXRGdW5jdGlvblJlYWxtIGlzIGNhbGxlZCByZWN1cnNpdmVseS4KIGluZm86
IHwKLSAgICA3LjMuMjIgR2V0RnVuY3Rpb25SZWFsbSAoIG9iaiApCisgIE9iamVjdCAoIFsgdmFs
dWUgXSApCiAKLSAgICBbLi4uXQotICAgIDIuIElmIG9iaiBoYXMgYSBbW1JlYWxtXV0gaW50ZXJu
YWwgc2xvdCwgdGhlbgotICAgICAgIGEuIFJldHVybiBvYmouW1tSZWFsbV1dLgotICAgIDMuIElm
IG9iaiBpcyBhIEJvdW5kIEZ1bmN0aW9uIGV4b3RpYyBvYmplY3QsIHRoZW4KLSAgICAgICBhLiBM
ZXQgdGFyZ2V0IGJlIG9iai5bW0JvdW5kVGFyZ2V0RnVuY3Rpb25dXS4KLSAgICAgICBiLiBSZXR1
cm4gPyBHZXRGdW5jdGlvblJlYWxtKHRhcmdldCkuCi1mZWF0dXJlczogW2Nyb3NzLXJlYWxtXQor
ICAxLiBJZiBOZXdUYXJnZXQgaXMgbmVpdGhlciB1bmRlZmluZWQgbm9yIHRoZSBhY3RpdmUgZnVu
Y3Rpb24sIHRoZW4KKyAgICBhLiBSZXR1cm4gPyBPcmRpbmFyeUNyZWF0ZUZyb21Db25zdHJ1Y3Rv
cihOZXdUYXJnZXQsICIlT2JqZWN0LnByb3RvdHlwZSUiKS4KKworICBPcmRpbmFyeUNyZWF0ZUZy
b21Db25zdHJ1Y3RvciAoIGNvbnN0cnVjdG9yLCBpbnRyaW5zaWNEZWZhdWx0UHJvdG8gWyAsIGlu
dGVybmFsU2xvdHNMaXN0IF0gKQorCisgIFsuLi5dCisgIDIuIExldCBwcm90byBiZSA/IEdldFBy
b3RvdHlwZUZyb21Db25zdHJ1Y3Rvcihjb25zdHJ1Y3RvciwgaW50cmluc2ljRGVmYXVsdFByb3Rv
KS4KKyAgMy4gUmV0dXJuIE9yZGluYXJ5T2JqZWN0Q3JlYXRlKHByb3RvLCBpbnRlcm5hbFNsb3Rz
TGlzdCkuCisKKyAgR2V0UHJvdG90eXBlRnJvbUNvbnN0cnVjdG9yICggY29uc3RydWN0b3IsIGlu
dHJpbnNpY0RlZmF1bHRQcm90byApCisKKyAgWy4uLl0KKyAgMy4gTGV0IHByb3RvIGJlID8gR2V0
KGNvbnN0cnVjdG9yLCAicHJvdG90eXBlIikuCisgIDQuIElmIFR5cGUocHJvdG8pIGlzIG5vdCBP
YmplY3QsIHRoZW4KKyAgICBhLiBMZXQgcmVhbG0gYmUgPyBHZXRGdW5jdGlvblJlYWxtKGNvbnN0
cnVjdG9yKS4KKyAgICBiLiBTZXQgcHJvdG8gdG8gcmVhbG0ncyBpbnRyaW5zaWMgb2JqZWN0IG5h
bWVkIGludHJpbnNpY0RlZmF1bHRQcm90by4KKyAgNS4gUmV0dXJuIHByb3RvLgorCisgIEdldEZ1
bmN0aW9uUmVhbG0gKCBvYmogKQorCisgIFsuLi5dCisgIDIuIElmIG9iaiBoYXMgYSBbW1JlYWxt
XV0gaW50ZXJuYWwgc2xvdCwgdGhlbgorICAgIGEuIFJldHVybiBvYmouW1tSZWFsbV1dLgorICAz
LiBJZiBvYmogaXMgYSBib3VuZCBmdW5jdGlvbiBleG90aWMgb2JqZWN0LCB0aGVuCisgICAgYS4g
TGV0IHRhcmdldCBiZSBvYmouW1tCb3VuZFRhcmdldEZ1bmN0aW9uXV0uCisgICAgYi4gUmV0dXJu
ID8gR2V0RnVuY3Rpb25SZWFsbSh0YXJnZXQpLgorZmVhdHVyZXM6IFtjcm9zcy1yZWFsbSwgUmVm
bGVjdF0KIC0tLSovCiAKLXZhciBvdGhlciA9ICQyNjIuY3JlYXRlUmVhbG0oKS5nbG9iYWw7Ci12
YXIgQyA9IG5ldyBvdGhlci5GdW5jdGlvbigpOwotQy5wcm90b3R5cGUgPSBudWxsOwotdmFyIEIg
PSBDLmJpbmQoKS5iaW5kKCk7Cit2YXIgcmVhbG0xID0gJDI2Mi5jcmVhdGVSZWFsbSgpLmdsb2Jh
bDsKK3ZhciByZWFsbTIgPSAkMjYyLmNyZWF0ZVJlYWxtKCkuZ2xvYmFsOwordmFyIHJlYWxtMyA9
ICQyNjIuY3JlYXRlUmVhbG0oKS5nbG9iYWw7Cit2YXIgcmVhbG00ID0gJDI2Mi5jcmVhdGVSZWFs
bSgpLmdsb2JhbDsKKwordmFyIG5ld1RhcmdldCA9IG5ldyByZWFsbTEuRnVuY3Rpb24oKTsKK25l
d1RhcmdldC5wcm90b3R5cGUgPSAxOworCit2YXIgYm91bmROZXdUYXJnZXQgPSByZWFsbTIuRnVu
Y3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChuZXdUYXJnZXQpOwordmFyIGJvdW5kQm91bmROZXdU
YXJnZXQgPSByZWFsbTMuRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChib3VuZE5ld1Rhcmdl
dCk7Cit2YXIgb2JqZWN0ID0gUmVmbGVjdC5jb25zdHJ1Y3QocmVhbG00Lk9iamVjdCwgW10sIGJv
dW5kQm91bmROZXdUYXJnZXQpOwogCi1hc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5
cGVPZihuZXcgQigpKSwgb3RoZXIuT2JqZWN0LnByb3RvdHlwZSk7Cithc3NlcnQob2JqZWN0IGlu
c3RhbmNlb2YgcmVhbG0xLk9iamVjdCk7Cithc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5nZXRQcm90
b3R5cGVPZihvYmplY3QpLCByZWFsbTEuT2JqZWN0LnByb3RvdHlwZSk7CkluZGV4OiBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvZ2V0LWZuLXJl
YWxtLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5j
dGlvbi9wcm90b3R5cGUvYmluZC9nZXQtZm4tcmVhbG0uanMJKHJldmlzaW9uIDI2MDU3MCkKKysr
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYmluZC9n
ZXQtZm4tcmVhbG0uanMJKHdvcmtpbmcgY29weSkKQEAgLTMsMjMgKzMsNTMgQEAKIC8qLS0tCiBl
c2lkOiBzZWMtZ2V0ZnVuY3Rpb25yZWFsbQogZGVzY3JpcHRpb246ID4KLSAgICBUaGUgcmVhbG0g
b2YgYSBib3VuZCBmdW5jdGlvbiBleG90aWMgb2JqZWN0IGlzIHRoZSByZWFsbSBvZiBpdHMgdGFy
Z2V0Ci0gICAgZnVuY3Rpb24KKyAgVGhlIHJlYWxtIG9mIGEgYm91bmQgZnVuY3Rpb24gZXhvdGlj
IG9iamVjdCBpcyB0aGUgcmVhbG0gb2YgaXRzIHRhcmdldCBmdW5jdGlvbi4KIGluZm86IHwKLSAg
ICA3LjMuMjIgR2V0RnVuY3Rpb25SZWFsbSAoIG9iaiApCisgIERhdGUgKCApCiAKKyAgWy4uLl0K
KyAgMy4gSWYgTmV3VGFyZ2V0IGlzIHVuZGVmaW5lZCwgdGhlbgogICAgIFsuLi5dCi0gICAgMi4g
SWYgb2JqIGhhcyBhIFtbUmVhbG1dXSBpbnRlcm5hbCBzbG90LCB0aGVuCi0gICAgICAgYS4gUmV0
dXJuIG9iai5bW1JlYWxtXV0uCi0gICAgMy4gSWYgb2JqIGlzIGEgQm91bmQgRnVuY3Rpb24gZXhv
dGljIG9iamVjdCwgdGhlbgotICAgICAgIGEuIExldCB0YXJnZXQgYmUgb2JqLltbQm91bmRUYXJn
ZXRGdW5jdGlvbl1dLgotICAgICAgIGIuIFJldHVybiA/IEdldEZ1bmN0aW9uUmVhbG0odGFyZ2V0
KS4KLWZlYXR1cmVzOiBbY3Jvc3MtcmVhbG1dCisgIDQuIEVsc2UsCisgICAgYS4gTGV0IE8gYmUg
PyBPcmRpbmFyeUNyZWF0ZUZyb21Db25zdHJ1Y3RvcihOZXdUYXJnZXQsICIlRGF0ZS5wcm90b3R5
cGUlIiwgwqsgW1tEYXRlVmFsdWVdXSDCuykuCisgICAgWy4uLl0KKyAgICBjLiBSZXR1cm4gTy4K
KworICBPcmRpbmFyeUNyZWF0ZUZyb21Db25zdHJ1Y3RvciAoIGNvbnN0cnVjdG9yLCBpbnRyaW5z
aWNEZWZhdWx0UHJvdG8gWyAsIGludGVybmFsU2xvdHNMaXN0IF0gKQorCisgIFsuLi5dCisgIDIu
IExldCBwcm90byBiZSA/IEdldFByb3RvdHlwZUZyb21Db25zdHJ1Y3Rvcihjb25zdHJ1Y3Rvciwg
aW50cmluc2ljRGVmYXVsdFByb3RvKS4KKyAgMy4gUmV0dXJuIE9yZGluYXJ5T2JqZWN0Q3JlYXRl
KHByb3RvLCBpbnRlcm5hbFNsb3RzTGlzdCkuCisKKyAgR2V0UHJvdG90eXBlRnJvbUNvbnN0cnVj
dG9yICggY29uc3RydWN0b3IsIGludHJpbnNpY0RlZmF1bHRQcm90byApCisKKyAgWy4uLl0KKyAg
My4gTGV0IHByb3RvIGJlID8gR2V0KGNvbnN0cnVjdG9yLCAicHJvdG90eXBlIikuCisgIDQuIElm
IFR5cGUocHJvdG8pIGlzIG5vdCBPYmplY3QsIHRoZW4KKyAgICBhLiBMZXQgcmVhbG0gYmUgPyBH
ZXRGdW5jdGlvblJlYWxtKGNvbnN0cnVjdG9yKS4KKyAgICBiLiBTZXQgcHJvdG8gdG8gcmVhbG0n
cyBpbnRyaW5zaWMgb2JqZWN0IG5hbWVkIGludHJpbnNpY0RlZmF1bHRQcm90by4KKyAgNS4gUmV0
dXJuIHByb3RvLgorCisgIEdldEZ1bmN0aW9uUmVhbG0gKCBvYmogKQorCisgIFsuLi5dCisgIDIu
IElmIG9iaiBoYXMgYSBbW1JlYWxtXV0gaW50ZXJuYWwgc2xvdCwgdGhlbgorICAgIGEuIFJldHVy
biBvYmouW1tSZWFsbV1dLgorICAzLiBJZiBvYmogaXMgYSBib3VuZCBmdW5jdGlvbiBleG90aWMg
b2JqZWN0LCB0aGVuCisgICAgYS4gTGV0IHRhcmdldCBiZSBvYmouW1tCb3VuZFRhcmdldEZ1bmN0
aW9uXV0uCisgICAgYi4gUmV0dXJuID8gR2V0RnVuY3Rpb25SZWFsbSh0YXJnZXQpLgorZmVhdHVy
ZXM6IFtjcm9zcy1yZWFsbSwgUmVmbGVjdF0KIC0tLSovCiAKLXZhciBvdGhlciA9ICQyNjIuY3Jl
YXRlUmVhbG0oKS5nbG9iYWw7Ci12YXIgQyA9IG5ldyBvdGhlci5GdW5jdGlvbigpOwotQy5wcm90
b3R5cGUgPSBudWxsOwotdmFyIEIgPSBDLmJpbmQoKTsKK3ZhciByZWFsbTEgPSAkMjYyLmNyZWF0
ZVJlYWxtKCkuZ2xvYmFsOwordmFyIHJlYWxtMiA9ICQyNjIuY3JlYXRlUmVhbG0oKS5nbG9iYWw7
Cit2YXIgcmVhbG0zID0gJDI2Mi5jcmVhdGVSZWFsbSgpLmdsb2JhbDsKKwordmFyIG5ld1Rhcmdl
dCA9IG5ldyByZWFsbTEuRnVuY3Rpb24oKTsKK25ld1RhcmdldC5wcm90b3R5cGUgPSAic3RyIjsK
KwordmFyIGJvdW5kTmV3VGFyZ2V0ID0gcmVhbG0yLkZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNh
bGwobmV3VGFyZ2V0KTsKK3ZhciBkYXRlID0gUmVmbGVjdC5jb25zdHJ1Y3QocmVhbG0zLkRhdGUs
IFtdLCBib3VuZE5ld1RhcmdldCk7CiAKLWFzc2VydC5zYW1lVmFsdWUoT2JqZWN0LmdldFByb3Rv
dHlwZU9mKG5ldyBCKCkpLCBvdGhlci5PYmplY3QucHJvdG90eXBlKTsKK2Fzc2VydChkYXRlIGlu
c3RhbmNlb2YgcmVhbG0xLkRhdGUpOworYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90
eXBlT2YoZGF0ZSksIHJlYWxtMS5EYXRlLnByb3RvdHlwZSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvSlNPTi9wYXJzZS9TMTUuMTIuMl9BMS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvSlNPTi9wYXJzZS9TMTUuMTIuMl9BMS5q
cwkocmV2aXNpb24gMjYwNTcwKQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0pT
T04vcGFyc2UvUzE1LjEyLjJfQTEuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNiArMCwwIEBACi0v
LyBDb3B5cmlnaHQgMjAxMSB0aGUgU3B1dG5payBhdXRob3JzLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KLQotLyotLS0KLWluZm86IEpTT04ucGFyc2UgbXVzdCBjcmVhdGUg
YSBwcm9wZXJ0eSB3aXRoIHRoZSBnaXZlbiBwcm9wZXJ0eSBuYW1lCi1lczVpZDogMTUuMTIuMl9B
MQotZGVzY3JpcHRpb246IFRlc3RzIHRoYXQgSlNPTi5wYXJzZSB0cmVhdHMgIl9fcHJvdG9fXyIg
YXMgYSByZWd1bGFyIHByb3BlcnR5IG5hbWUKLS0tLSovCi0KLXZhciB4ID0gSlNPTi5wYXJzZSgn
eyJfX3Byb3RvX18iOltdfScpOwotaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZih4KSAhPT0gT2Jq
ZWN0LnByb3RvdHlwZSkgewotICAkRVJST1IoJyMxOiBKU09OLnBhcnNlIGNvbmZ1c2VkIGJ5ICJf
X3Byb3RvX18iJyk7Ci19Ci1pZiAoIUFycmF5LmlzQXJyYXkoeC5fX3Byb3RvX18pKSB7Ci0gICRF
UlJPUignIzI6IEpTT04ucGFyc2UgZGlkIG5vdCBzZXQgIl9fcHJvdG9fXyIgYXMgYSByZWd1bGFy
IHByb3BlcnR5Jyk7Ci19CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTmF0
aXZlRXJyb3JzL0FnZ3JlZ2F0ZUVycm9yL3Byb3RvLWZyb20tY3Rvci1yZWFsbS5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTmF0aXZlRXJyb3JzL0FnZ3Jl
Z2F0ZUVycm9yL3Byb3RvLWZyb20tY3Rvci1yZWFsbS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTmF0aXZlRXJyb3JzL0FnZ3JlZ2F0ZUVycm9yL3By
b3RvLWZyb20tY3Rvci1yZWFsbS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU4IEBACisv
LyBDb3B5cmlnaHQgKEMpIDIwMjAgQWxleGV5IFNodmF5a2EuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtYWdncmVnYXRlLWVycm9yCitkZXNj
cmlwdGlvbjogRGVmYXVsdCBbW1Byb3RvdHlwZV1dIHZhbHVlIGRlcml2ZWQgZnJvbSByZWFsbSBv
ZiB0aGUgTmV3VGFyZ2V0LgoraW5mbzogfAorICBBZ2dyZWdhdGVFcnJvciAoIGVycm9ycywgbWVz
c2FnZSApCisKKyAgMS4gSWYgTmV3VGFyZ2V0IGlzIHVuZGVmaW5lZCwgbGV0IG5ld1RhcmdldCBi
ZSB0aGUgYWN0aXZlIGZ1bmN0aW9uIG9iamVjdCwgZWxzZSBsZXQgbmV3VGFyZ2V0IGJlIE5ld1Rh
cmdldC4KKyAgMi4gTGV0IE8gYmUgPyBPcmRpbmFyeUNyZWF0ZUZyb21Db25zdHJ1Y3RvcihuZXdU
YXJnZXQsICIlQWdncmVnYXRlRXJyb3IucHJvdG90eXBlJSIsIMKrIFtbRXJyb3JEYXRhXV0sIFtb
QWdncmVnYXRlRXJyb3JzXV0gwrspLgorICAuLi4KKyAgNi4gUmV0dXJuIE8uCisKKyAgT3JkaW5h
cnlDcmVhdGVGcm9tQ29uc3RydWN0b3IgKCBjb25zdHJ1Y3RvciwgaW50cmluc2ljRGVmYXVsdFBy
b3RvIFsgLCBpbnRlcm5hbFNsb3RzTGlzdCBdICkKKworICAuLi4KKyAgMi4gTGV0IHByb3RvIGJl
ID8gR2V0UHJvdG90eXBlRnJvbUNvbnN0cnVjdG9yKGNvbnN0cnVjdG9yLCBpbnRyaW5zaWNEZWZh
dWx0UHJvdG8pLgorICAzLiBSZXR1cm4gT2JqZWN0Q3JlYXRlKHByb3RvLCBpbnRlcm5hbFNsb3Rz
TGlzdCkuCisKKyAgR2V0UHJvdG90eXBlRnJvbUNvbnN0cnVjdG9yICggY29uc3RydWN0b3IsIGlu
dHJpbnNpY0RlZmF1bHRQcm90byApCisKKyAgLi4uCisgIDMuIExldCBwcm90byBiZSA/IEdldChj
b25zdHJ1Y3RvciwgJ3Byb3RvdHlwZScpLgorICA0LiBJZiBUeXBlKHByb3RvKSBpcyBub3QgT2Jq
ZWN0LCB0aGVuCisgICAgYS4gTGV0IHJlYWxtIGJlID8gR2V0RnVuY3Rpb25SZWFsbShjb25zdHJ1
Y3RvcikuCisgICAgYi4gU2V0IHByb3RvIHRvIHJlYWxtJ3MgaW50cmluc2ljIG9iamVjdCBuYW1l
ZCBpbnRyaW5zaWNEZWZhdWx0UHJvdG8uCisgIDUuIFJldHVybiBwcm90by4KK2ZlYXR1cmVzOiBb
Y3Jvc3MtcmVhbG0sIFJlZmxlY3QsIFN5bWJvbF0KKy0tLSovCisKK3ZhciBvdGhlciA9ICQyNjIu
Y3JlYXRlUmVhbG0oKS5nbG9iYWw7Cit2YXIgbmV3VGFyZ2V0ID0gbmV3IG90aGVyLkZ1bmN0aW9u
KCk7Cit2YXIgZXJyOworCituZXdUYXJnZXQucHJvdG90eXBlID0gdW5kZWZpbmVkOworZXJyID0g
UmVmbGVjdC5jb25zdHJ1Y3QoQWdncmVnYXRlRXJyb3IsIFtbXV0sIG5ld1RhcmdldCk7Cithc3Nl
cnQuc2FtZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5cGVPZihlcnIpLCBvdGhlci5BZ2dyZWdhdGVF
cnJvci5wcm90b3R5cGUsICduZXdUYXJnZXQucHJvdG90eXBlIGlzIHVuZGVmaW5lZCcpOworCitu
ZXdUYXJnZXQucHJvdG90eXBlID0gbnVsbDsKK2VyciA9IFJlZmxlY3QuY29uc3RydWN0KEFnZ3Jl
Z2F0ZUVycm9yLCBbW11dLCBuZXdUYXJnZXQpOworYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0
UHJvdG90eXBlT2YoZXJyKSwgb3RoZXIuQWdncmVnYXRlRXJyb3IucHJvdG90eXBlLCAnbmV3VGFy
Z2V0LnByb3RvdHlwZSBpcyBudWxsJyk7CisKK25ld1RhcmdldC5wcm90b3R5cGUgPSB0cnVlOwor
ZXJyID0gUmVmbGVjdC5jb25zdHJ1Y3QoQWdncmVnYXRlRXJyb3IsIFtbXV0sIG5ld1RhcmdldCk7
Cithc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5cGVPZihlcnIpLCBvdGhlci5BZ2dy
ZWdhdGVFcnJvci5wcm90b3R5cGUsICduZXdUYXJnZXQucHJvdG90eXBlIGlzIGEgQm9vbGVhbicp
OworCituZXdUYXJnZXQucHJvdG90eXBlID0gJyc7CitlcnIgPSBSZWZsZWN0LmNvbnN0cnVjdChB
Z2dyZWdhdGVFcnJvciwgW1tdXSwgbmV3VGFyZ2V0KTsKK2Fzc2VydC5zYW1lVmFsdWUoT2JqZWN0
LmdldFByb3RvdHlwZU9mKGVyciksIG90aGVyLkFnZ3JlZ2F0ZUVycm9yLnByb3RvdHlwZSwgJ25l
d1RhcmdldC5wcm90b3R5cGUgaXMgYSBTdHJpbmcnKTsKKworbmV3VGFyZ2V0LnByb3RvdHlwZSA9
IFN5bWJvbCgpOworZXJyID0gUmVmbGVjdC5jb25zdHJ1Y3QoQWdncmVnYXRlRXJyb3IsIFtbXV0s
IG5ld1RhcmdldCk7Cithc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5cGVPZihlcnIp
LCBvdGhlci5BZ2dyZWdhdGVFcnJvci5wcm90b3R5cGUsICduZXdUYXJnZXQucHJvdG90eXBlIGlz
IGEgU3ltYm9sJyk7CisKK25ld1RhcmdldC5wcm90b3R5cGUgPSAtMTsKK2VyciA9IFJlZmxlY3Qu
Y29uc3RydWN0KEFnZ3JlZ2F0ZUVycm9yLCBbW11dLCBuZXdUYXJnZXQpOworYXNzZXJ0LnNhbWVW
YWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YoZXJyKSwgb3RoZXIuQWdncmVnYXRlRXJyb3IucHJv
dG90eXBlLCAnbmV3VGFyZ2V0LnByb3RvdHlwZSBpcyBhIE51bWJlcicpOwpJbmRleDogSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdG9TdHJpbmcvcHJveHkt
ZnVuY3Rpb24uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9wcm90b3R5cGUvdG9TdHJpbmcvcHJveHktZnVuY3Rpb24uanMJKHJldmlzaW9uIDI2
MDU3MCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBl
L3RvU3RyaW5nL3Byb3h5LWZ1bmN0aW9uLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBA
QAotLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgogLyotLS0KIGVzaWQ6IHNlYy1vYmplY3QucHJvdG90eXBlLnRvc3Ry
aW5nCkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlw
ZS90b1N0cmluZy9zeW1ib2wtdGFnLW5vbi1zdHItcHJveHktZnVuY3Rpb24uanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdG9T
dHJpbmcvc3ltYm9sLXRhZy1ub24tc3RyLXByb3h5LWZ1bmN0aW9uLmpzCShyZXZpc2lvbiAyNjA1
NzApCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS90
b1N0cmluZy9zeW1ib2wtdGFnLW5vbi1zdHItcHJveHktZnVuY3Rpb24uanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNCArMSw0IEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAvKi0tLQogZXNpZDogc2VjLW9iamVj
dC5wcm90b3R5cGUudG9zdHJpbmcKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9Qcm9taXNlL2FsbC9pbnZva2UtcmVzb2x2ZS1nZXQtb25jZS1uby1jYWxscy5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9hbGwvaW52b2tl
LXJlc29sdmUtZ2V0LW9uY2Utbm8tY2FsbHMuanMJKHJldmlzaW9uIDI2MDU3MCkKKysrIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbC9pbnZva2UtcmVzb2x2ZS1nZXQt
b25jZS1uby1jYWxscy5qcwkod29ya2luZyBjb3B5KQpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBk
ZXNjcmlwdGlvbjogPgogICBHZXRzIGNvbnN0cnVjdG9yJ3MgYHJlc29sdmVgIG1ldGhvZCBvbmNl
IGZyb20gemVybyB0byBtYW55IGludm9jYXRpb25zLgotZXNpZDogc2VjLXByb21pc2UuYWxsc2V0
dGxlZAorZXNpZDogc2VjLXByb21pc2UuYWxsCiBpbmZvOiB8CiAgIFJ1bnRpbWUgU2VtYW50aWNz
OiBQZXJmb3JtUHJvbWlzZUFsbAogCkBAIC0xNCw3ICsxNCw3IEBAIGluZm86IHwKICAgMS4gUmVw
ZWF0LAogICAgIC4uLgogICAgIDEuIExldCBuZXh0UHJvbWlzZSBiZSA/IENhbGwocHJvbWlzZVJl
c29sdmUsIGNvbnN0cnVjdG9yLCAmbGFxdW87IG5leHRWYWx1ZSAmcmFxdW87KS4KLWZlYXR1cmVz
OiBbUHJvbWlzZS5hbGxTZXR0bGVkXQorZmVhdHVyZXM6IFtQcm9taXNlLmFsbF0KIC0tLSovCiAK
IHZhciByZXNvbHZlID0gUHJvbWlzZS5yZXNvbHZlOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1Byb3h5L2dldC1mbi1yZWFsbS1yZWN1cnNpdmUuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb3h5L2dldC1mbi1yZWFsbS1yZWN1
cnNpdmUuanMJKHJldmlzaW9uIDI2MDU3MCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9Qcm94eS9nZXQtZm4tcmVhbG0tcmVjdXJzaXZlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0z
LDI1ICszLDU1IEBACiAvKi0tLQogZXNpZDogc2VjLWdldGZ1bmN0aW9ucmVhbG0KIGRlc2NyaXB0
aW9uOiA+Ci0gICAgVGhlIHJlYWxtIG9mIGEgcHJveHkgZXhvdGljIG9iamVjdCBpcyB0aGUgcmVh
bG0gb2YgaXRzIHRhcmdldCBmdW5jdGlvbi4KLSAgICBHZXRGdW5jdGlvblJlYWxtIGlzIGNhbGxl
ZCByZWN1cnNpdmVseS4KKyAgVGhlIHJlYWxtIG9mIGEgUHJveHkgZXhvdGljIG9iamVjdCBpcyB0
aGUgcmVhbG0gb2YgaXRzIHRhcmdldCBmdW5jdGlvbi4KKyAgR2V0RnVuY3Rpb25SZWFsbSBpcyBj
YWxsZWQgcmVjdXJzaXZlbHkuCiBpbmZvOiB8Ci0gICAgNy4zLjIyIEdldEZ1bmN0aW9uUmVhbG0g
KCBvYmogKQorICBCb29sZWFuICggdmFsdWUgKQogCisgIFsuLi5dCisgIDMuIExldCBPIGJlID8g
T3JkaW5hcnlDcmVhdGVGcm9tQ29uc3RydWN0b3IoTmV3VGFyZ2V0LCAiJUJvb2xlYW4ucHJvdG90
eXBlJSIsIMKrIFtbQm9vbGVhbkRhdGFdXSDCuykuCisgIFsuLi5dCisgIDUuIFJldHVybiBPLgor
CisgIE9yZGluYXJ5Q3JlYXRlRnJvbUNvbnN0cnVjdG9yICggY29uc3RydWN0b3IsIGludHJpbnNp
Y0RlZmF1bHRQcm90byBbICwgaW50ZXJuYWxTbG90c0xpc3QgXSApCisKKyAgWy4uLl0KKyAgMi4g
TGV0IHByb3RvIGJlID8gR2V0UHJvdG90eXBlRnJvbUNvbnN0cnVjdG9yKGNvbnN0cnVjdG9yLCBp
bnRyaW5zaWNEZWZhdWx0UHJvdG8pLgorICAzLiBSZXR1cm4gT3JkaW5hcnlPYmplY3RDcmVhdGUo
cHJvdG8sIGludGVybmFsU2xvdHNMaXN0KS4KKworICBHZXRQcm90b3R5cGVGcm9tQ29uc3RydWN0
b3IgKCBjb25zdHJ1Y3RvciwgaW50cmluc2ljRGVmYXVsdFByb3RvICkKKworICBbLi4uXQorICAz
LiBMZXQgcHJvdG8gYmUgPyBHZXQoY29uc3RydWN0b3IsICJwcm90b3R5cGUiKS4KKyAgNC4gSWYg
VHlwZShwcm90bykgaXMgbm90IE9iamVjdCwgdGhlbgorICAgIGEuIExldCByZWFsbSBiZSA/IEdl
dEZ1bmN0aW9uUmVhbG0oY29uc3RydWN0b3IpLgorICAgIGIuIFNldCBwcm90byB0byByZWFsbSdz
IGludHJpbnNpYyBvYmplY3QgbmFtZWQgaW50cmluc2ljRGVmYXVsdFByb3RvLgorICA1LiBSZXR1
cm4gcHJvdG8uCisKKyAgR2V0RnVuY3Rpb25SZWFsbSAoIG9iaiApCisKKyAgWy4uLl0KKyAgMi4g
SWYgb2JqIGhhcyBhIFtbUmVhbG1dXSBpbnRlcm5hbCBzbG90LCB0aGVuCisgICAgYS4gUmV0dXJu
IG9iai5bW1JlYWxtXV0uCisgIFsuLi5dCisgIDQuIElmIG9iaiBpcyBhIFByb3h5IGV4b3RpYyBv
YmplY3QsIHRoZW4KICAgICBbLi4uXQotICAgIDIuIElmIG9iaiBoYXMgYSBbW1JlYWxtXV0gaW50
ZXJuYWwgc2xvdCwgdGhlbgotICAgICAgIGEuIFJldHVybiBvYmouW1tSZWFsbV1dLgotICAgIFsu
Li5dCi0gICAgNC4gSWYgb2JqIGlzIGEgUHJveHkgZXhvdGljIG9iamVjdCwgdGhlbgotICAgICAg
IGEuIElmIG9iai5bW1Byb3h5SGFuZGxlcl1dIGlzIG51bGwsIHRocm93IGEgVHlwZUVycm9yIGV4
Y2VwdGlvbi4KLSAgICAgICBiLiBMZXQgcHJveHlUYXJnZXQgYmUgb2JqLltbUHJveHlUYXJnZXRd
XS4KLSAgICAgICBjLiBSZXR1cm4gPyBHZXRGdW5jdGlvblJlYWxtKHByb3h5VGFyZ2V0KS4KLWZl
YXR1cmVzOiBbY3Jvc3MtcmVhbG0sIFByb3h5XQorICAgIGIuIExldCBwcm94eVRhcmdldCBiZSBv
YmouW1tQcm94eVRhcmdldF1dLgorICAgIGMuIFJldHVybiA/IEdldEZ1bmN0aW9uUmVhbG0ocHJv
eHlUYXJnZXQpLgorZmVhdHVyZXM6IFtjcm9zcy1yZWFsbSwgUmVmbGVjdCwgUHJveHldCiAtLS0q
LwogCi12YXIgb3RoZXIgPSAkMjYyLmNyZWF0ZVJlYWxtKCkuZ2xvYmFsOwotdmFyIEMgPSBuZXcg
b3RoZXIuRnVuY3Rpb24oKTsKLUMucHJvdG90eXBlID0gbnVsbDsKLXZhciBQID0gbmV3IFByb3h5
KG5ldyBQcm94eShDLCB7fSksIHt9KTsKK3ZhciByZWFsbTEgPSAkMjYyLmNyZWF0ZVJlYWxtKCku
Z2xvYmFsOwordmFyIHJlYWxtMiA9ICQyNjIuY3JlYXRlUmVhbG0oKS5nbG9iYWw7Cit2YXIgcmVh
bG0zID0gJDI2Mi5jcmVhdGVSZWFsbSgpLmdsb2JhbDsKK3ZhciByZWFsbTQgPSAkMjYyLmNyZWF0
ZVJlYWxtKCkuZ2xvYmFsOworCit2YXIgbmV3VGFyZ2V0ID0gbmV3IHJlYWxtMS5GdW5jdGlvbigp
OworbmV3VGFyZ2V0LnByb3RvdHlwZSA9IG51bGw7CisKK3ZhciBuZXdUYXJnZXRQcm94eSA9IG5l
dyByZWFsbTIuUHJveHkobmV3VGFyZ2V0LCB7fSk7Cit2YXIgbmV3VGFyZ2V0UHJveHlQcm94eSA9
IG5ldyByZWFsbTMuUHJveHkobmV3VGFyZ2V0UHJveHksIHt9KTsKK3ZhciBib29sZWFuID0gUmVm
bGVjdC5jb25zdHJ1Y3QocmVhbG00LkJvb2xlYW4sIFtdLCBuZXdUYXJnZXRQcm94eVByb3h5KTsK
IAotYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YobmV3IFAoKSksIG90aGVy
Lk9iamVjdC5wcm90b3R5cGUpOworYXNzZXJ0KGJvb2xlYW4gaW5zdGFuY2VvZiByZWFsbTEuQm9v
bGVhbik7Cithc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5cGVPZihib29sZWFuKSwg
cmVhbG0xLkJvb2xlYW4ucHJvdG90eXBlKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9Qcm94eS9nZXQtZm4tcmVhbG0uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb3h5L2dldC1mbi1yZWFsbS5qcwkocmV2aXNpb24gMjYwNTcw
KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb3h5L2dldC1mbi1yZWFsbS5q
cwkod29ya2luZyBjb3B5KQpAQCAtMywyNCArMyw1MSBAQAogLyotLS0KIGVzaWQ6IHNlYy1nZXRm
dW5jdGlvbnJlYWxtCiBkZXNjcmlwdGlvbjogPgotICAgIFRoZSByZWFsbSBvZiBhIHByb3h5IGV4
b3RpYyBvYmplY3QgaXMgdGhlIHJlYWxtIG9mIGl0cyB0YXJnZXQgZnVuY3Rpb24KKyAgVGhlIHJl
YWxtIG9mIGEgUHJveHkgZXhvdGljIG9iamVjdCBpcyB0aGUgcmVhbG0gb2YgaXRzIHRhcmdldCBm
dW5jdGlvbi4KIGluZm86IHwKLSAgICA3LjMuMjIgR2V0RnVuY3Rpb25SZWFsbSAoIG9iaiApCisg
IEFycmF5ICggKQogCisgIFsuLi5dCisgIDQuIExldCBwcm90byBiZSA/IEdldFByb3RvdHlwZUZy
b21Db25zdHJ1Y3RvcihuZXdUYXJnZXQsICIlQXJyYXkucHJvdG90eXBlJSIpLgorICA1LiBSZXR1
cm4gISBBcnJheUNyZWF0ZSgwLCBwcm90bykuCisKKyAgT3JkaW5hcnlDcmVhdGVGcm9tQ29uc3Ry
dWN0b3IgKCBjb25zdHJ1Y3RvciwgaW50cmluc2ljRGVmYXVsdFByb3RvIFsgLCBpbnRlcm5hbFNs
b3RzTGlzdCBdICkKKworICBbLi4uXQorICAyLiBMZXQgcHJvdG8gYmUgPyBHZXRQcm90b3R5cGVG
cm9tQ29uc3RydWN0b3IoY29uc3RydWN0b3IsIGludHJpbnNpY0RlZmF1bHRQcm90bykuCisgIDMu
IFJldHVybiBPcmRpbmFyeU9iamVjdENyZWF0ZShwcm90bywgaW50ZXJuYWxTbG90c0xpc3QpLgor
CisgIEdldFByb3RvdHlwZUZyb21Db25zdHJ1Y3RvciAoIGNvbnN0cnVjdG9yLCBpbnRyaW5zaWNE
ZWZhdWx0UHJvdG8gKQorCisgIFsuLi5dCisgIDMuIExldCBwcm90byBiZSA/IEdldChjb25zdHJ1
Y3RvciwgInByb3RvdHlwZSIpLgorICA0LiBJZiBUeXBlKHByb3RvKSBpcyBub3QgT2JqZWN0LCB0
aGVuCisgICAgYS4gTGV0IHJlYWxtIGJlID8gR2V0RnVuY3Rpb25SZWFsbShjb25zdHJ1Y3Rvciku
CisgICAgYi4gU2V0IHByb3RvIHRvIHJlYWxtJ3MgaW50cmluc2ljIG9iamVjdCBuYW1lZCBpbnRy
aW5zaWNEZWZhdWx0UHJvdG8uCisgIDUuIFJldHVybiBwcm90by4KKworICBHZXRGdW5jdGlvblJl
YWxtICggb2JqICkKKworICBbLi4uXQorICAyLiBJZiBvYmogaGFzIGEgW1tSZWFsbV1dIGludGVy
bmFsIHNsb3QsIHRoZW4KKyAgICBhLiBSZXR1cm4gb2JqLltbUmVhbG1dXS4KKyAgWy4uLl0KKyAg
NC4gSWYgb2JqIGlzIGEgUHJveHkgZXhvdGljIG9iamVjdCwgdGhlbgogICAgIFsuLi5dCi0gICAg
Mi4gSWYgb2JqIGhhcyBhIFtbUmVhbG1dXSBpbnRlcm5hbCBzbG90LCB0aGVuCi0gICAgICAgYS4g
UmV0dXJuIG9iai5bW1JlYWxtXV0uCi0gICAgWy4uLl0KLSAgICA0LiBJZiBvYmogaXMgYSBQcm94
eSBleG90aWMgb2JqZWN0LCB0aGVuCi0gICAgICAgYS4gSWYgb2JqLltbUHJveHlIYW5kbGVyXV0g
aXMgbnVsbCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgotICAgICAgIGIuIExldCBwcm94
eVRhcmdldCBiZSBvYmouW1tQcm94eVRhcmdldF1dLgotICAgICAgIGMuIFJldHVybiA/IEdldEZ1
bmN0aW9uUmVhbG0ocHJveHlUYXJnZXQpLgotZmVhdHVyZXM6IFtjcm9zcy1yZWFsbSwgUHJveHld
CisgICAgYi4gTGV0IHByb3h5VGFyZ2V0IGJlIG9iai5bW1Byb3h5VGFyZ2V0XV0uCisgICAgYy4g
UmV0dXJuID8gR2V0RnVuY3Rpb25SZWFsbShwcm94eVRhcmdldCkuCitmZWF0dXJlczogW2Nyb3Nz
LXJlYWxtLCBSZWZsZWN0LCBQcm94eV0KIC0tLSovCiAKLXZhciBvdGhlciA9ICQyNjIuY3JlYXRl
UmVhbG0oKS5nbG9iYWw7Ci12YXIgQyA9IG5ldyBvdGhlci5GdW5jdGlvbigpOwotQy5wcm90b3R5
cGUgPSBudWxsOwotdmFyIFAgPSBuZXcgUHJveHkoQywge30pOwordmFyIHJlYWxtMSA9ICQyNjIu
Y3JlYXRlUmVhbG0oKS5nbG9iYWw7Cit2YXIgcmVhbG0yID0gJDI2Mi5jcmVhdGVSZWFsbSgpLmds
b2JhbDsKK3ZhciByZWFsbTMgPSAkMjYyLmNyZWF0ZVJlYWxtKCkuZ2xvYmFsOworCit2YXIgbmV3
VGFyZ2V0ID0gbmV3IHJlYWxtMS5GdW5jdGlvbigpOworbmV3VGFyZ2V0LnByb3RvdHlwZSA9IGZh
bHNlOworCit2YXIgbmV3VGFyZ2V0UHJveHkgPSBuZXcgcmVhbG0yLlByb3h5KG5ld1RhcmdldCwg
e30pOwordmFyIGFycmF5ID0gUmVmbGVjdC5jb25zdHJ1Y3QocmVhbG0zLkFycmF5LCBbXSwgbmV3
VGFyZ2V0UHJveHkpOwogCi1hc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5cGVPZihu
ZXcgUCgpKSwgb3RoZXIuT2JqZWN0LnByb3RvdHlwZSk7Cithc3NlcnQoYXJyYXkgaW5zdGFuY2Vv
ZiByZWFsbTEuQXJyYXkpOworYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yo
YXJyYXkpLCByZWFsbTEuQXJyYXkucHJvdG90eXBlKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9Qcm94eS9nZXQvdHJhcC1pcy1taXNzaW5nLXRhcmdldC1pcy1wcm94eS5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJveHkvZ2V0
L3RyYXAtaXMtbWlzc2luZy10YXJnZXQtaXMtcHJveHkuanMJKHJldmlzaW9uIDI2MDU3MCkKKysr
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm94eS9nZXQvdHJhcC1pcy1taXNzaW5n
LXRhcmdldC1pcy1wcm94eS5qcwkod29ya2luZyBjb3B5KQpAQCAtMjksNCArMjksMyBAQCB2YXIg
ZnVuY3Rpb25UYXJnZXQgPSBuZXcgUHJveHkoZnVuY3Rpb24oCiB2YXIgZnVuY3Rpb25Qcm94eSA9
IG5ldyBQcm94eShmdW5jdGlvblRhcmdldCwge30pOwogCiBhc3NlcnQuc2FtZVZhbHVlKE9iamVj
dC5jcmVhdGUoZnVuY3Rpb25Qcm94eSkubGVuZ3RoLCAxKTsKLWFzc2VydC5zYW1lVmFsdWUoZnVu
Y3Rpb25Qcm94eS5fX3Byb3RvX18sIEZ1bmN0aW9uLnByb3RvdHlwZSk7CkluZGV4OiBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJveHkvaGFzL3RyYXAtaXMtbWlzc2luZy10YXJnZXQt
aXMtcHJveHkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1Byb3h5L2hhcy90cmFwLWlzLW1pc3NpbmctdGFyZ2V0LWlzLXByb3h5LmpzCShyZXZpc2lvbiAy
NjA1NzApCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJveHkvaGFzL3RyYXAt
aXMtbWlzc2luZy10YXJnZXQtaXMtcHJveHkuanMJKHdvcmtpbmcgY29weSkKQEAgLTI5LDUgKzI5
LDUgQEAgYXNzZXJ0KCJsYXN0SW5kZXgiIGluIE9iamVjdC5jcmVhdGUocmVnRQogdmFyIGZ1bmN0
aW9uVGFyZ2V0ID0gbmV3IFByb3h5KGZ1bmN0aW9uKCkge30sIHt9KTsKIHZhciBmdW5jdGlvblBy
b3h5ID0gbmV3IFByb3h5KGZ1bmN0aW9uVGFyZ2V0LCB7fSk7CiAKLWFzc2VydCgiX19wcm90b19f
IiBpbiBmdW5jdGlvblByb3h5KTsKK2Fzc2VydCgibmFtZSIgaW4gZnVuY3Rpb25Qcm94eSk7CiBh
c3NlcnQoImxlbmd0aCIgaW4gT2JqZWN0LmNyZWF0ZShmdW5jdGlvblByb3h5KSk7CkluZGV4OiBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJveHkvcmV2b2NhYmxlL2J1aWx0aW4uanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb3h5L3Jldm9j
YWJsZS9idWlsdGluLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9Qcm94eS9yZXZvY2FibGUvYnVpbHRpbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDE4IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQWxleGV5IFNodmF5a2EuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLXByb3h5LnJldm9j
YWJsZQorZGVzY3JpcHRpb246ID4KKyAgUmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBmdW5jdGlv
bnMsIGRlZmluZWQgaW4gaW50cm9kdWN0aW9uIG9mIGNoYXB0ZXIgMTcsCisgIGFyZSBzYXRpc2Zp
ZWQuCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1Byb3h5LCBSZWZs
ZWN0LmNvbnN0cnVjdF0KKy0tLSovCisKK2Fzc2VydChPYmplY3QuaXNFeHRlbnNpYmxlKFByb3h5
LnJldm9jYWJsZSkpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgUHJveHkucmV2b2NhYmxlLCAn
ZnVuY3Rpb24nKTsKK2Fzc2VydC5zYW1lVmFsdWUoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5j
YWxsKFByb3h5LnJldm9jYWJsZSksICdbb2JqZWN0IEZ1bmN0aW9uXScpOworYXNzZXJ0LnNhbWVW
YWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YoUHJveHkucmV2b2NhYmxlKSwgRnVuY3Rpb24ucHJv
dG90eXBlKTsKKworYXNzZXJ0LnNhbWVWYWx1ZShQcm94eS5yZXZvY2FibGUuaGFzT3duUHJvcGVy
dHkoJ3Byb3RvdHlwZScpLCBmYWxzZSk7Cithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3Io
UHJveHkucmV2b2NhYmxlKSwgZmFsc2UpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1Byb3h5L3Jldm9jYWJsZS9oYW5kbGVyLWlzLXJldm9rZWQtcHJveHkuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb3h5L3Jldm9jYWJsZS9o
YW5kbGVyLWlzLXJldm9rZWQtcHJveHkuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb3h5L3Jldm9jYWJsZS9oYW5kbGVyLWlzLXJldm9rZWQtcHJv
eHkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMiBAQAorLy8gQ29weXJpZ2h0IChDKSAy
MDIwIEFsZXhleSBTaHZheWthLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgor
LyotLS0KK2VzaWQ6IHNlYy1wcm94eWNyZWF0ZQorZGVzY3JpcHRpb246ID4KKyAgQSBQcm94eSBp
cyBjcmVhdGVkIHdpdGggaXRzIFtbUHJveHlIYW5kbGVyXV0gYXMgcmV2b2tlZCBQcm94eS4KK2lu
Zm86IHwKKyAgUHJveHlDcmVhdGUgKCB0YXJnZXQsIGhhbmRsZXIgKQorCisgIFsuLi5dCisgIDMu
IExldCBQIGJlICEgTWFrZUJhc2ljT2JqZWN0KMKrIFtbUHJveHlIYW5kbGVyXV0sIFtbUHJveHlU
YXJnZXRdXSDCuykuCisgIFsuLi5dCisgIDcuIFNldCBQLltbUHJveHlIYW5kbGVyXV0gdG8gaGFu
ZGxlci4KKyAgOC4gUmV0dXJuIFAuCitmZWF0dXJlczogW1Byb3h5XQorLS0tKi8KKwordmFyIHJl
dm9jYWJsZUhhbmRsZXIgPSBQcm94eS5yZXZvY2FibGUoe30sIHt9KTsKK3Jldm9jYWJsZUhhbmRs
ZXIucmV2b2tlKCk7CisKK3ZhciByZXZvY2FibGUgPSBQcm94eS5yZXZvY2FibGUoe30sIHJldm9j
YWJsZUhhbmRsZXIucHJveHkpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgcmV2b2NhYmxlLnBy
b3h5LCAib2JqZWN0Iik7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJv
eHkvcmV2b2NhYmxlL3Jldm9jYXRpb24tZnVuY3Rpb24tbm9uY29uc3RydWN0b3IuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb3h5L3Jldm9jYWJsZS9y
ZXZvY2F0aW9uLWZ1bmN0aW9uLW5vbmNvbnN0cnVjdG9yLmpzCShyZXZpc2lvbiAyNjA1NzApCisr
KyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJveHkvcmV2b2NhYmxlL3Jldm9jYXRp
b24tZnVuY3Rpb24tbm9uY29uc3RydWN0b3IuanMJKHdvcmtpbmcgY29weSkKQEAgLTIsMTkgKzIs
MTggQEAKIC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KIAogLyotLS0KLWVzNmlkOiAyNi4yLjIuMS4xCitlc2lkOiBz
ZWMtcHJveHkucmV2b2NhYmxlCiBkZXNjcmlwdGlvbjogUHJveHkgUmV2b2NhdGlvbiBmdW5jdGlv
bnMgYXJlIG5vdCBjb25zdHJ1Y3RvcnMKIGluZm86IHwKICAgMTcgRUNNQVNjcmlwdCBTdGFuZGFy
ZCBCdWlsdC1pbiBPYmplY3RzOgogICAgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBh
cmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAogICAgIGltcGxlbWVudCB0
aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZp
ZWQKICAgICBpbiB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgotZmVh
dHVyZXM6IFtQcm94eV0KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBb
UHJveHksIFJlZmxlY3QuY29uc3RydWN0XQogLS0tKi8KIAogdmFyIHJldm9jYXRpb25GdW5jdGlv
biA9IFByb3h5LnJldm9jYWJsZSh7fSwge30pLnJldm9rZTsKIAogYXNzZXJ0LnNhbWVWYWx1ZShP
YmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocmV2b2NhdGlvbkZ1bmN0aW9uLCAi
cHJvdG90eXBlIiksIGZhbHNlKTsKLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigp
IHsKLSAgbmV3IHJldm9jYXRpb25GdW5jdGlvbigpOwotfSk7Cithc3NlcnQuc2FtZVZhbHVlKGlz
Q29uc3RydWN0b3IocmV2b2NhdGlvbkZ1bmN0aW9uKSwgZmFsc2UpOwpJbmRleDogSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb3h5L3Jldm9jYWJsZS90YXJnZXQtaXMtcmV2b2tlZC1m
dW5jdGlvbi1wcm94eS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUHJveHkvcmV2b2NhYmxlL3RhcmdldC1pcy1yZXZva2VkLWZ1bmN0aW9uLXByb3h5Lmpz
CShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm94eS9y
ZXZvY2FibGUvdGFyZ2V0LWlzLXJldm9rZWQtZnVuY3Rpb24tcHJveHkuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwyMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIEFsZXhleSBTaHZheWth
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1w
cm94eWNyZWF0ZQorZGVzY3JpcHRpb246ID4KKyAgQSBQcm94eSBpcyBjcmVhdGVkIHdpdGggaXRz
IFtbUHJveHlUYXJnZXRdXSBhcyByZXZva2VkIGZ1bmN0aW9uIFByb3h5LgoraW5mbzogfAorICBQ
cm94eUNyZWF0ZSAoIHRhcmdldCwgaGFuZGxlciApCisKKyAgWy4uLl0KKyAgMy4gTGV0IFAgYmUg
ISBNYWtlQmFzaWNPYmplY3QowqsgW1tQcm94eUhhbmRsZXJdXSwgW1tQcm94eVRhcmdldF1dIMK7
KS4KKyAgWy4uLl0KKyAgNi4gU2V0IFAuW1tQcm94eVRhcmdldF1dIHRvIHRhcmdldC4KKyAgWy4u
Ll0KKyAgOC4gUmV0dXJuIFAuCitmZWF0dXJlczogW1Byb3h5XQorLS0tKi8KKwordmFyIHJldm9j
YWJsZVRhcmdldCA9IFByb3h5LnJldm9jYWJsZShmdW5jdGlvbigpIHt9LCB7fSk7CityZXZvY2Fi
bGVUYXJnZXQucmV2b2tlKCk7CisKK3ZhciByZXZvY2FibGUgPSBQcm94eS5yZXZvY2FibGUocmV2
b2NhYmxlVGFyZ2V0LnByb3h5LCB7fSk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiByZXZvY2Fi
bGUucHJveHksICJmdW5jdGlvbiIpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1Byb3h5L3Jldm9jYWJsZS90YXJnZXQtaXMtcmV2b2tlZC1wcm94eS5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJveHkvcmV2b2NhYmxlL3Rhcmdl
dC1pcy1yZXZva2VkLXByb3h5LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9Qcm94eS9yZXZvY2FibGUvdGFyZ2V0LWlzLXJldm9rZWQtcHJveHkuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIEFs
ZXhleSBTaHZheWthLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0K
K2VzaWQ6IHNlYy1wcm94eWNyZWF0ZQorZGVzY3JpcHRpb246ID4KKyAgQSBQcm94eSBpcyBjcmVh
dGVkIHdpdGggaXRzIFtbUHJveHlUYXJnZXRdXSBhcyByZXZva2VkIFByb3h5LgoraW5mbzogfAor
ICBQcm94eUNyZWF0ZSAoIHRhcmdldCwgaGFuZGxlciApCisKKyAgWy4uLl0KKyAgMy4gTGV0IFAg
YmUgISBNYWtlQmFzaWNPYmplY3QowqsgW1tQcm94eUhhbmRsZXJdXSwgW1tQcm94eVRhcmdldF1d
IMK7KS4KKyAgWy4uLl0KKyAgNi4gU2V0IFAuW1tQcm94eVRhcmdldF1dIHRvIHRhcmdldC4KKyAg
Wy4uLl0KKyAgOC4gUmV0dXJuIFAuCitmZWF0dXJlczogW1Byb3h5XQorLS0tKi8KKwordmFyIHJl
dm9jYWJsZVRhcmdldCA9IFByb3h5LnJldm9jYWJsZSh7fSwge30pOworcmV2b2NhYmxlVGFyZ2V0
LnJldm9rZSgpOworCit2YXIgcmV2b2NhYmxlID0gUHJveHkucmV2b2NhYmxlKHJldm9jYWJsZVRh
cmdldC5wcm94eSwge30pOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgcmV2b2NhYmxlLnByb3h5
LCAib2JqZWN0Iik7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJveHkv
c2V0L2NhbGwtcGFyYW1ldGVycy1wcm90b3R5cGUtZHVuZGVyLXByb3RvLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm94eS9zZXQvY2FsbC1wYXJhbWV0
ZXJzLXByb3RvdHlwZS1kdW5kZXItcHJvdG8uanMJKHJldmlzaW9uIDI2MDU3MCkKKysrIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm94eS9zZXQvY2FsbC1wYXJhbWV0ZXJzLXByb3Rv
dHlwZS1kdW5kZXItcHJvdG8uanMJKG5vbmV4aXN0ZW50KQpAQCAtMSw1NiArMCwwIEBACi0vLyBD
b3B5cmlnaHQgKEMpIDIwMTkgQWxleGV5IFNodmF5a2EuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0v
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLXByb3h5LW9iamVjdC1pbnRlcm5hbC1tZXRo
b2RzLWFuZC1pbnRlcm5hbC1zbG90cy1zZXQtcC12LXJlY2VpdmVyCi1kZXNjcmlwdGlvbjogPgot
ICBPcmRpbmFyeSBbW1NldF1dIGZvcndhcmRzIGNhbGwgdG8gUHJveHkgInNldCIgdHJhcCB3aXRo
IGNvcnJlY3QgYXJndW1lbnRzLgotICBQcm9wZXJ0eSBuYW1lIGlzICJfX3Byb3RvX18iLgotaW5m
bzogfAotICBPcmRpbmFyeVNldCAoIE8sIFAsIFYsIFJlY2VpdmVyICkKLQotICAuLi4KLSAgMy4g
UmV0dXJuIE9yZGluYXJ5U2V0V2l0aE93bkRlc2NyaXB0b3IoTywgUCwgViwgUmVjZWl2ZXIsIG93
bkRlc2MpLgotCi0gIE9yZGluYXJ5U2V0V2l0aE93bkRlc2NyaXB0b3IgKCBPLCBQLCBWLCBSZWNl
aXZlciwgb3duRGVzYyApCi0KLSAgLi4uCi0gIDIuIElmIG93bkRlc2MgaXMgdW5kZWZpbmVkLCB0
aGVuCi0gICAgYS4gTGV0IHBhcmVudCBiZSA/IE8uW1tHZXRQcm90b3R5cGVPZl1dKCkuCi0gICAg
Yi4gSWYgcGFyZW50IGlzIG5vdCBudWxsLCB0aGVuCi0gICAgICBpLiBSZXR1cm4gPyBwYXJlbnQu
W1tTZXRdXShQLCBWLCBSZWNlaXZlcikuCi0KLSAgW1tTZXRdXSAoIFAsIFYsIFJlY2VpdmVyICkK
LQotICAuLi4KLSAgOC4gTGV0IGJvb2xlYW5UcmFwUmVzdWx0IGJlICEgVG9Cb29sZWFuKD8gQ2Fs
bCh0cmFwLCBoYW5kbGVyLCDCqyB0YXJnZXQsIFAsIFYsIFJlY2VpdmVyIMK7KSkuCi0gIC4uLgot
ICAxMi4gUmV0dXJuIHRydWUuCi1pbmNsdWRlczogW3Byb3h5VHJhcHNIZWxwZXIuanNdCi1mZWF0
dXJlczogW1Byb3h5XQotLS0tKi8KLQotdmFyIF9oYW5kbGVyLCBfdGFyZ2V0LCBfcHJvcCwgX3Zh
bHVlLCBfcmVjZWl2ZXI7Ci12YXIgdGFyZ2V0ID0ge307Ci12YXIgaGFuZGxlciA9IGFsbG93UHJv
eHlUcmFwcyh7Ci0gIHNldDogZnVuY3Rpb24odGFyZ2V0LCBwcm9wLCB2YWx1ZSwgcmVjZWl2ZXIp
IHsKLSAgICBfaGFuZGxlciA9IHRoaXM7Ci0gICAgX3RhcmdldCA9IHRhcmdldDsKLSAgICBfcHJv
cCA9IHByb3A7Ci0gICAgX3ZhbHVlID0gdmFsdWU7Ci0gICAgX3JlY2VpdmVyID0gcmVjZWl2ZXI7
Ci0gICAgcmV0dXJuIHRydWU7Ci0gIH0sCi19KTsKLQotdmFyIHByb3h5ID0gbmV3IFByb3h5KHRh
cmdldCwgaGFuZGxlcik7Ci12YXIgcmVjZWl2ZXIgPSBPYmplY3QuY3JlYXRlKHByb3h5KTsKLXZh
ciBwcm9wID0gJ19fcHJvdG9fXyc7Ci12YXIgdmFsdWUgPSB7fTsKLQotcmVjZWl2ZXJbcHJvcF0g
PSB2YWx1ZTsKLQotYXNzZXJ0LnNhbWVWYWx1ZShfaGFuZGxlciwgaGFuZGxlciwgJ2hhbmRsZXIg
b2JqZWN0IGlzIHRoZSB0cmFwIGNvbnRleHQnKTsKLWFzc2VydC5zYW1lVmFsdWUoX3RhcmdldCwg
dGFyZ2V0LCAnZmlyc3QgYXJndW1lbnQgaXMgdGhlIHRhcmdldCBvYmplY3QnKTsKLWFzc2VydC5z
YW1lVmFsdWUoX3Byb3AsIHByb3AsICdzZWNvbmQgYXJndW1lbnQgaXMgdGhlIHByb3BlcnR5IG5h
bWUnKTsKLWFzc2VydC5zYW1lVmFsdWUoX3ZhbHVlLCB2YWx1ZSwgJ3RoaXJkIGFyZ3VtZW50IGlz
IHRoZSBuZXcgdmFsdWUnKTsKLWFzc2VydC5zYW1lVmFsdWUoX3JlY2VpdmVyLCByZWNlaXZlciwg
J2ZvdXJ0aCBhcmd1bWVudCBpcyB0aGUgcmVjZWl2ZXIgb2JqZWN0Jyk7CkluZGV4OiBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJveHkvc2V0L3RyYXAtaXMtbWlzc2luZy10YXJnZXQt
aXMtcHJveHkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1Byb3h5L3NldC90cmFwLWlzLW1pc3NpbmctdGFyZ2V0LWlzLXByb3h5LmpzCShyZXZpc2lvbiAy
NjA1NzApCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJveHkvc2V0L3RyYXAt
aXMtbWlzc2luZy10YXJnZXQtaXMtcHJveHkuanMJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYgKzQ1
LDMgQEAgYXNzZXJ0KCFSZWZsZWN0LnNldChyZWdFeHBQcm94eSwgImdsb2JhbAogCiByZWdFeHBQ
cm94eS5sYXN0SW5kZXggPSAxOwogYXNzZXJ0LnNhbWVWYWx1ZShyZWdFeHAubGFzdEluZGV4LCAx
KTsKLQotcmVnRXhwUHJveHkuX19wcm90b19fID0gbnVsbDsKLWFzc2VydC5zYW1lVmFsdWUoT2Jq
ZWN0LmdldFByb3RvdHlwZU9mKHJlZ0V4cCksIG51bGwpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9sb29rQmVoaW5kL3NsaWNlZC1zdHJpbmdzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbG9va0JlaGlu
ZC9zbGljZWQtc3RyaW5ncy5qcwkocmV2aXNpb24gMjYwNTcwKQorKysgSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9sb29rQmVoaW5kL3NsaWNlZC1zdHJpbmdzLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNCw3ICsxNCw3IEBAIGluZm86IHwKIGZlYXR1cmVzOiBbcmVnZXhwLWxv
b2tiZWhpbmRdCiAtLS0qLwogCi12YXIgb29iX3N1YmplY3QgPSAiYWJjZGVmZ2hpamtsbW5hYmNk
ZWZnaGlqa2xtbiIuc3Vic3RyKDE0KTsKK3ZhciBvb2Jfc3ViamVjdCA9ICJhYmNkZWZnaGlqa2xt
bmFiY2RlZmdoaWprbG1uIi5zbGljZSgxNCk7CiBhc3NlcnQuc2FtZVZhbHVlKG9vYl9zdWJqZWN0
Lm1hdGNoKC8oPz0oYWJjZGVmZ2hpamtsbW4pKSg/PD1cMSlhL2kpLCBudWxsLCAiIik7CiBhc3Nl
cnQuc2FtZVZhbHVlKG9vYl9zdWJqZWN0Lm1hdGNoKC8oPz0oYWJjZGVmZ2hpamtsbW4pKSg/PD1c
MSlhLyksIG51bGwsICIiKTsKLWFzc2VydC5zYW1lVmFsdWUoImFiY2RlZmdhYmNkZWZnIi5zdWJz
dHIoMSkubWF0Y2goLyg/PShhYmNkZWZnKSkoPzw9XDEpLyksIG51bGwsICIiKTsKK2Fzc2VydC5z
YW1lVmFsdWUoImFiY2RlZmdhYmNkZWZnIi5zbGljZSgxKS5tYXRjaCgvKD89KGFiY2RlZmcpKSg/
PD1cMSkvKSwgbnVsbCwgIiIpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGljZXMtZ3JvdXBzLW9iamVjdC5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMv
aW5kaWNlcy1ncm91cHMtb2JqZWN0LmpzCShyZXZpc2lvbiAyNjA1NzApCisrKyBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1ncm91cHMt
b2JqZWN0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQAogCiAvKi0tLQogZGVzY3Jp
cHRpb246IFRoZSBncm91cHMgb2JqZWN0IG9mIGluZGljZXMgaXMgY3JlYXRlZCB3aXRoIENyZWF0
ZURhdGFQcm9wZXJ0eQotaW5jbHVkZXM6IFtjb21wYXJlQXJyYXkuanMsIHByb3BlcnR5SGVscGVy
LmpzXQoraW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KIGVzaWQ6IHNlYy1tYWtlaW5kaWNl
c2FycmF5CiBmZWF0dXJlczogW3JlZ2V4cC1uYW1lZC1ncm91cHMsIHJlZ2V4cC1tYXRjaC1pbmRp
Y2VzXQogaW5mbzogfApAQCAtMzIsOSArMzIsMyBAQCB2ZXJpZnlQcm9wZXJ0eShpbmRpY2VzLCAn
Z3JvdXBzJywgewogICAgIGVudW1lcmFibGU6IHRydWUsCiAgICAgY29uZmlndXJhYmxlOiB0cnVl
CiB9KTsKLQotLy8gVGhlIGBfX3Byb3RvX19gIHByb3BlcnR5IG9uIHRoZSBncm91cHMgb2JqZWN0
IGlzIG5vdCBzcGVjaWFsLAotLy8gYW5kIGRvZXMgbm90IGFmZmVjdCB0aGUgW1tQcm90b3R5cGVd
XSBvZiB0aGUgcmVzdWx0aW5nIGdyb3VwcyBvYmplY3QuCi1sZXQge2dyb3Vwc30gPSAvKD88X19w
cm90b19fPi4pLy5leGVjKCJhIikuaW5kaWNlczsKLWFzc2VydC5jb21wYXJlQXJyYXkoWzAsIDFd
LCBncm91cHMuX19wcm90b19fKTsKLWFzc2VydC5zYW1lVmFsdWUobnVsbCwgT2JqZWN0LmdldFBy
b3RvdHlwZU9mKGdyb3VwcykpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1JlZ0V4cC9uYW1lZC1ncm91cHMvZ3JvdXBzLW9iamVjdC5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL25hbWVkLWdyb3Vwcy9ncm91cHMtb2Jq
ZWN0LmpzCShyZXZpc2lvbiAyNjA1NzApCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL25hbWVkLWdyb3Vwcy9ncm91cHMtb2JqZWN0LmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0zMSw5ICszMSwzIEBAIHZlcmlmeVByb3BlcnR5KG1hdGNoLCAiZ3JvdXBzIiwgewogICBlbnVt
ZXJhYmxlOiB0cnVlLAogICBjb25maWd1cmFibGU6IHRydWUsCiB9KTsKLQotLy8gVGhlIGBfX3By
b3RvX19gIHByb3BlcnR5IG9uIHRoZSBncm91cHMgb2JqZWN0IGlzIG5vdCBzcGVjaWFsLAotLy8g
YW5kIGRvZXMgbm90IGFmZmVjdCB0aGUgW1tQcm90b3R5cGVdXSBvZiB0aGUgcmVzdWx0aW5nIGdy
b3VwcyBvYmplY3QuCi1sZXQge2dyb3Vwc30gPSAvKD88X19wcm90b19fPi4pLy5leGVjKCJhIik7
Ci1hc3NlcnQuc2FtZVZhbHVlKCJhIiwgZ3JvdXBzLl9fcHJvdG9fXyk7Ci1hc3NlcnQuc2FtZVZh
bHVlKG51bGwsIE9iamVjdC5nZXRQcm90b3R5cGVPZihncm91cHMpKTsKSW5kZXg6IEpTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbmFtZWQtZ3JvdXBzL25vbi11bmljb2RlLXBy
b3BlcnR5LW5hbWVzLWludmFsaWQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1JlZ0V4cC9uYW1lZC1ncm91cHMvbm9uLXVuaWNvZGUtcHJvcGVydHktbmFt
ZXMtaW52YWxpZC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL25hbWVkLWdyb3Vwcy9ub24tdW5pY29kZS1wcm9wZXJ0eS1uYW1lcy1pbnZh
bGlkLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTUgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0t
LQorYXV0aG9yOiBNaWNoYWVsIFNhYm9mZgorZGVzY3JpcHRpb246IEludmFsaWQgZXhvdGljIG5h
bWVkIGdyb3VwIG5hbWVzIGluIG5vbi1Vbmljb2RlIFJlZ0V4cHMKK2VzaWQ6IHByb2QtR3JvdXBT
cGVjaWZpZXIKK2ZlYXR1cmVzOiBbcmVnZXhwLW5hbWVkLWdyb3Vwc10KKy0tLSovCisKKy8qCisg
VmFsaWQgSURfQ29udGludWUgVW5pY29kZSBjaGFyYWN0ZXJzIChDYW4ndCBiZSBmaXJzdCBpZGVu
dGlmaWVyIGNoYXJhY3Rlci4pCisKKyDwnZ+aICBcdXsxZDdkYX0gIFx1ZDgzNSBcdWRmZGEKKwor
IEludmFsaWQgSURfU3RhcnQgLyBJRF9Db250aW51ZQorCisgKGZveCBmYWNlIGVtb2ppKSDwn6aK
ICBcdXsxZjk4YX0gIFx1ZDgzZSBcdWRkOGEKKyAoZG9nIGVtb2ppKSAg8J+QlSAgXHV7MWY0MTV9
ICBcdWQ4M2QgXHVkYzE1CisqLworCithc3NlcnQudGhyb3dzKFN5bnRheEVycm9yLCBmdW5jdGlv
bigpIHsKKyAgICByZXR1cm4gbmV3IFJlZ0V4cCgiKD888J+mij5mb3gpIik7Cit9KTsKKworYXNz
ZXJ0LnRocm93cyhTeW50YXhFcnJvciwgZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIG5ldyBSZWdF
eHAoIig/PFx1ezFmOThhfT5mb3gpIik7Cit9KTsKKworYXNzZXJ0LnRocm93cyhTeW50YXhFcnJv
ciwgZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIG5ldyBSZWdFeHAoIig/PFx1ZDgzZVx1ZGQ4YT5m
b3gpIik7Cit9KTsKKworYXNzZXJ0LnRocm93cyhTeW50YXhFcnJvciwgZnVuY3Rpb24oKSB7Cisg
ICAgcmV0dXJuIG5ldyBSZWdFeHAoIig/PPCfkJU+ZG9nKSIpOworfSk7CisKK2Fzc2VydC50aHJv
d3MoU3ludGF4RXJyb3IsIGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBuZXcgUmVnRXhwKCIoPzxc
dXsxZjQxNX0+ZG9nKSIpOworfSk7CisKK2Fzc2VydC50aHJvd3MoU3ludGF4RXJyb3IsIGZ1bmN0
aW9uKCkgeworICAgIHJldHVybiBuZXcgUmVnRXhwKCIoPzxcdWQ4M2QgXHVkYzE1PmRvZykiKTsK
K30pOworCithc3NlcnQudGhyb3dzKFN5bnRheEVycm9yLCBmdW5jdGlvbigpIHsKKyAgICByZXR1
cm4gbmV3IFJlZ0V4cCgiKD888J2fmnRoZT50aGUpIik7Cit9KTsKKworYXNzZXJ0LnRocm93cyhT
eW50YXhFcnJvciwgZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIG5ldyBSZWdFeHAoIig/PFx1ezFk
N2RhfXRoZT50aGUpIik7Cit9KTsKKworYXNzZXJ0LnRocm93cyhTeW50YXhFcnJvciwgZnVuY3Rp
b24oKSB7CisgICAgcmV0dXJuIG5ldyBSZWdFeHAoIig/PFx1ZDgzNVx1ZGZkYXRoZT50aGUpIik7
Cit9KTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbmFtZWQt
Z3JvdXBzL25vbi11bmljb2RlLXByb3BlcnR5LW5hbWVzLXZhbGlkLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbmFtZWQtZ3JvdXBzL25vbi11
bmljb2RlLXByb3BlcnR5LW5hbWVzLXZhbGlkLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvbmFtZWQtZ3JvdXBzL25vbi11bmljb2RlLXBy
b3BlcnR5LW5hbWVzLXZhbGlkLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOTQgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisvKi0tLQorYXV0aG9yOiBNaWNoYWVsIFNhYm9mZgorZGVzY3JpcHRpb246IEV4
b3RpYyBuYW1lZCBncm91cCBuYW1lcyBpbiBub24tVW5pY29kZSBSZWdFeHBzCitlc2lkOiBwcm9k
LUdyb3VwU3BlY2lmaWVyCitmZWF0dXJlczogW3JlZ2V4cC1uYW1lZC1ncm91cHNdCistLS0qLwor
CisvKgorIFZhbGlkIElEX1N0YXJ0IC8gSURfQ29udGludWUgVW5pY29kZSBjaGFyYWN0ZXJzCisK
KyDwnZGTICBcdXsxZDQ1M30gIFx1ZDgzNSBcdWRjNTMKKyDwnZGcICBcdXsxZDQ1Y30gIFx1ZDgz
NSBcdWRjNWMKKyDwnZGlICBcdXtpZDQ2NX0gIFx1ZDgzNSBcdWRjNjUKKworIPCdk5MgIFx1ezFk
NGQzfSAgXHVkODM1IFx1ZGNkMworIPCdk7ggIFx1ezFkNGY4fSAgXHVkODM1IFx1ZGNmOAorIPCd
k7AgIFx1ezFkNGYwfSAgXHVkODM1IFx1ZGNmMAorCisg8J2TkSAgXHV7MWQ0ZDF9ICBcdWQ4MzUg
XHVkY2QxCisg8J2TuyAgXHV7MWQ0ZmJ9ICBcdWQ4MzUgXHVkY2ZiCisg8J2TuCAgXHV7MWQ0Zjh9
ICBcdWQ4MzUgXHVkY2Y4Cisg8J2UgCAgXHV7MWQ1MDB9ICBcdWQ4MzUgXHVkZDAwCisg8J2TtyAg
XHV7MWQ0Zjd9ICBcdWQ4MzUgXHVkY2Y3CisKKyDwnZawICBcdXsxZDViMH0gIFx1ZDgzNSBcdWRk
YjAKKyDwnZahICBcdXsxZDVhMX0gIFx1ZDgzNSBcdWRkYTEKKyDwnZalICBcdXsxZDVhNX0gIFx1
ZDgzNSBcdWRkYTUKKworIChmb3gpIOeLuCAgXHV7NzJmOH0gIFx1NzJmOAorIChkb2cpIOeLlyAg
XHV7NzJkN30gIFx1NzJkNyAgCisKKyBWYWxpZCBJRF9Db250aW51ZSBVbmljb2RlIGNoYXJhY3Rl
cnMgKENhbid0IGJlIGZpcnN0IGlkZW50aWZpZXIgY2hhcmFjdGVyLikKKworIPCdn5ogIFx1ezFk
N2RhfSAgXHVkODM1IFx1ZGZkYQorKi8KKwordmFyIHN0cmluZyA9ICJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZydzIGJhY2siOwordmFyIHN0cmluZzIgPSAiSXQg
aXMgYSBkb2cgZWF0IGRvZyB3b3JsZC4iOworCitsZXQgbWF0Y2ggPSBudWxsOworCithc3NlcnQu
c2FtZVZhbHVlKHN0cmluZy5tYXRjaCgvKD88YW5pbWFsPmZveHxkb2cpLykuZ3JvdXBzLmFuaW1h
bCwgImZveCIpOworCittYXRjaCA9IHN0cmluZy5tYXRjaCgvKD888J2Rk/CdkZzwnZGlPmZveCku
Kig/PPCdk5PwnZO48J2TsD5kb2cpLyk7Cithc3NlcnQuc2FtZVZhbHVlKG1hdGNoLmdyb3Vwcy7w
nZGT8J2RnPCdkaUsICJmb3giKTsKK2Fzc2VydC5zYW1lVmFsdWUobWF0Y2guZ3JvdXBzLvCdk5Pw
nZO48J2TsCwgImRvZyIpOworYXNzZXJ0LnNhbWVWYWx1ZShtYXRjaFsxXSwgImZveCIpOworYXNz
ZXJ0LnNhbWVWYWx1ZShtYXRjaFsyXSwgImRvZyIpOworCittYXRjaCA9IHN0cmluZy5tYXRjaCgv
KD8854u4PmZveCkuKig/POeLlz5kb2cpLyk7Cithc3NlcnQuc2FtZVZhbHVlKG1hdGNoLmdyb3Vw
cy7ni7gsICJmb3giKTsKK2Fzc2VydC5zYW1lVmFsdWUobWF0Y2guZ3JvdXBzLueLlywgImRvZyIp
OworYXNzZXJ0LnNhbWVWYWx1ZShtYXRjaFsxXSwgImZveCIpOworYXNzZXJ0LnNhbWVWYWx1ZSht
YXRjaFsyXSwgImRvZyIpOworCithc3NlcnQuc2FtZVZhbHVlKHN0cmluZy5tYXRjaCgvKD888J2T
kfCdk7vwnZO48J2UgPCdk7c+YnJvd24pLykuZ3JvdXBzLvCdk5HwnZO78J2TuPCdlIDwnZO3LCAi
YnJvd24iKTsKK2Fzc2VydC5zYW1lVmFsdWUoc3RyaW5nLm1hdGNoKC8oPzzwnZOR8J2Tu/Cdk7jw
nZSA8J2Ttz5icm93bikvKS5ncm91cHMuXHV7MWQ0ZDF9XHV7MWQ0ZmJ9XHV7MWQ0Zjh9XHV7MWQ1
MDB9XHV7MWQ0Zjd9LCAiYnJvd24iKTsKK2Fzc2VydC5zYW1lVmFsdWUoc3RyaW5nLm1hdGNoKC8o
PzxcdXsxZDRkMX1cdXsxZDRmYn1cdXsxZDRmOH1cdXsxZDUwMH1cdXsxZDRmN30+YnJvd24pLyku
Z3JvdXBzLvCdk5HwnZO78J2TuPCdlIDwnZO3LCAiYnJvd24iKTsKK2Fzc2VydC5zYW1lVmFsdWUo
c3RyaW5nLm1hdGNoKC8oPzxcdXsxZDRkMX1cdXsxZDRmYn1cdXsxZDRmOH1cdXsxZDUwMH1cdXsx
ZDRmN30+YnJvd24pLykuZ3JvdXBzLlx1ezFkNGQxfVx1ezFkNGZifVx1ezFkNGY4fVx1ezFkNTAw
fVx1ezFkNGY3fSwgImJyb3duIik7Cithc3NlcnQuc2FtZVZhbHVlKHN0cmluZy5tYXRjaCgvKD88
XHVkODM1XHVkY2QxXHVkODM1XHVkY2ZiXHVkODM1XHVkY2Y4XHVkODM1XHVkZDAwXHVkODM1XHVk
Y2Y3PmJyb3duKS8pLmdyb3Vwcy7wnZOR8J2Tu/Cdk7jwnZSA8J2TtywgImJyb3duIik7Cithc3Nl
cnQuc2FtZVZhbHVlKHN0cmluZy5tYXRjaCgvKD88XHVkODM1XHVkY2QxXHVkODM1XHVkY2ZiXHVk
ODM1XHVkY2Y4XHVkODM1XHVkZDAwXHVkODM1XHVkY2Y3PmJyb3duKS8pLmdyb3Vwcy5cdXsxZDRk
MX1cdXsxZDRmYn1cdXsxZDRmOH1cdXsxZDUwMH1cdXsxZDRmN30sICJicm93biIpOworCithc3Nl
cnQuc2FtZVZhbHVlKHN0cmluZy5tYXRjaCgvKD888J2WsPCdlqHwnZalPnFcdypcV1x3KlxXXHcq
KS8pLmdyb3Vwcy7wnZaw8J2WofCdlqUsICJxdWljayBicm93biBmb3giKTsKK2Fzc2VydC5zYW1l
VmFsdWUoc3RyaW5nLm1hdGNoKC8oPzzwnZaw8J2WoVx1ezFkNWE1fT5xXHcqXFdcdypcV1x3Kikv
KS5ncm91cHMu8J2WsPCdlqHwnZalLCAicXVpY2sgYnJvd24gZm94Iik7Cithc3NlcnQuc2FtZVZh
bHVlKHN0cmluZy5tYXRjaCgvKD888J2WsFx1ezFkNWExffCdlqU+cVx3KlxXXHcqXFdcdyopLyku
Z3JvdXBzLvCdlrDwnZah8J2WpSwgInF1aWNrIGJyb3duIGZveCIpOworYXNzZXJ0LnNhbWVWYWx1
ZShzdHJpbmcubWF0Y2goLyg/PPCdlrBcdXsxZDVhMX1cdXsxZDVhNX0+cVx3KlxXXHcqXFdcdyop
LykuZ3JvdXBzLvCdlrDwnZah8J2WpSwgInF1aWNrIGJyb3duIGZveCIpOworYXNzZXJ0LnNhbWVW
YWx1ZShzdHJpbmcubWF0Y2goLyg/PFx1ezFkNWIwffCdlqHwnZalPnFcdypcV1x3KlxXXHcqKS8p
Lmdyb3Vwcy7wnZaw8J2WofCdlqUsICJxdWljayBicm93biBmb3giKTsKK2Fzc2VydC5zYW1lVmFs
dWUoc3RyaW5nLm1hdGNoKC8oPzxcdXsxZDViMH3wnZahXHV7MWQ1YTV9PnFcdypcV1x3KlxXXHcq
KS8pLmdyb3Vwcy7wnZaw8J2WofCdlqUsICJxdWljayBicm93biBmb3giKTsKK2Fzc2VydC5zYW1l
VmFsdWUoc3RyaW5nLm1hdGNoKC8oPzxcdXsxZDViMH1cdXsxZDVhMX3wnZalPnFcdypcV1x3KlxX
XHcqKS8pLmdyb3Vwcy7wnZaw8J2WofCdlqUsICJxdWljayBicm93biBmb3giKTsKK2Fzc2VydC5z
YW1lVmFsdWUoc3RyaW5nLm1hdGNoKC8oPzxcdXsxZDViMH1cdXsxZDVhMX1cdXsxZDVhNX0+cVx3
KlxXXHcqXFdcdyopLykuZ3JvdXBzLvCdlrDwnZah8J2WpSwgInF1aWNrIGJyb3duIGZveCIpOwor
Cithc3NlcnQuc2FtZVZhbHVlKHN0cmluZy5tYXRjaCgvKD88dGhl8J2fmj50aGUpLykuZ3JvdXBz
LnRoZfCdn5osICJ0aGUiKTsKK2Fzc2VydC5zYW1lVmFsdWUoc3RyaW5nLm1hdGNoKC8oPzx0aGVc
dXsxZDdkYX0+dGhlKS8pLmdyb3Vwcy50aGXwnZ+aLCAidGhlIik7Cithc3NlcnQuc2FtZVZhbHVl
KHN0cmluZy5tYXRjaCgvKD88dGhlXHVkODM1XHVkZmRhPnRoZSkvKS5ncm91cHMudGhl8J2fmiwg
InRoZSIpOworCittYXRjaCA9IHN0cmluZzIubWF0Y2goLyg/PGRvZz5kb2cpKC4qPykoXGs8ZG9n
PikvKTsKK2Fzc2VydC5zYW1lVmFsdWUobWF0Y2guZ3JvdXBzLmRvZywgImRvZyIpOworYXNzZXJ0
LnNhbWVWYWx1ZShtYXRjaFsxXSwgImRvZyIpOworYXNzZXJ0LnNhbWVWYWx1ZShtYXRjaFsyXSwg
IiBlYXQgIik7Cithc3NlcnQuc2FtZVZhbHVlKG1hdGNoWzNdLCAiZG9nIik7CisKK21hdGNoID0g
c3RyaW5nMi5tYXRjaCgvKD888J2Tk/Cdk7jwnZOwPmRvZykoLio/KShcazzwnZOT8J2TuPCdk7A+
KS8pOworYXNzZXJ0LnNhbWVWYWx1ZShtYXRjaC5ncm91cHMu8J2Tk/Cdk7jwnZOwLCAiZG9nIik7
Cithc3NlcnQuc2FtZVZhbHVlKG1hdGNoWzFdLCAiZG9nIik7Cithc3NlcnQuc2FtZVZhbHVlKG1h
dGNoWzJdLCAiIGVhdCAiKTsKK2Fzc2VydC5zYW1lVmFsdWUobWF0Y2hbM10sICJkb2ciKTsKKwor
bWF0Y2ggPSBzdHJpbmcyLm1hdGNoKC8oPzzni5c+ZG9nKSguKj8pKFxrPOeLlz4pLyk7Cithc3Nl
cnQuc2FtZVZhbHVlKG1hdGNoLmdyb3Vwcy7ni5csICJkb2ciKTsKK2Fzc2VydC5zYW1lVmFsdWUo
bWF0Y2hbMV0sICJkb2ciKTsKK2Fzc2VydC5zYW1lVmFsdWUobWF0Y2hbMl0sICIgZWF0ICIpOwor
YXNzZXJ0LnNhbWVWYWx1ZShtYXRjaFszXSwgImRvZyIpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9uYW1lZC1ncm91cHMvdW5pY29kZS1wcm9wZXJ0eS1uYW1l
cy1pbnZhbGlkLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvbmFtZWQtZ3JvdXBzL3VuaWNvZGUtcHJvcGVydHktbmFtZXMtaW52YWxpZC5qcwko
bm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL25h
bWVkLWdyb3Vwcy91bmljb2RlLXByb3BlcnR5LW5hbWVzLWludmFsaWQuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw1NSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCithdXRob3I6IE1pY2hhZWwg
U2Fib2ZmCitkZXNjcmlwdGlvbjogSW52YWxpZCBleG90aWMgbmFtZWQgZ3JvdXAgbmFtZXMgaW4g
VW5pY29kZSBSZWdFeHBzCitlc2lkOiBwcm9kLUdyb3VwU3BlY2lmaWVyCitmZWF0dXJlczogW3Jl
Z2V4cC1uYW1lZC1ncm91cHNdCistLS0qLworCisvKgorIFZhbGlkIElEX0NvbnRpbnVlIFVuaWNv
ZGUgY2hhcmFjdGVycyAoQ2FuJ3QgYmUgZmlyc3QgaWRlbnRpZmllciBjaGFyYWN0ZXIuKQorCisg
8J2fmiAgXHV7MWQ3ZGF9ICBcdWQ4MzUgXHVkZmRhCisKKyBJbnZhbGlkIElEX1N0YXJ0IC8gSURf
Q29udGludWUKKworIChmb3ggZmFjZSBlbW9qaSkg8J+miiAgXHV7MWY5OGF9ICBcdWQ4M2UgXHVk
ZDhhCisgKGRvZyBlbW9qaSkgIPCfkJUgIFx1ezFmNDE1fSAgXHVkODNkIFx1ZGMxNQorKi8KKwor
YXNzZXJ0LnRocm93cyhTeW50YXhFcnJvciwgZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIG5ldyBS
ZWdFeHAoIig/PPCfpoo+Zm94KSIsICJ1Iik7Cit9KTsKKworYXNzZXJ0LnRocm93cyhTeW50YXhF
cnJvciwgZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIG5ldyBSZWdFeHAoIig/PFx1ezFmOThhfT5m
b3gpIiwgInUiKTsKK30pOworCithc3NlcnQudGhyb3dzKFN5bnRheEVycm9yLCBmdW5jdGlvbigp
IHsKKyAgICByZXR1cm4gbmV3IFJlZ0V4cCgiKD88XHVkODNlXHVkZDhhPmZveCkiLCAidSIpOwor
fSk7CisKK2Fzc2VydC50aHJvd3MoU3ludGF4RXJyb3IsIGZ1bmN0aW9uKCkgeworICAgIHJldHVy
biBuZXcgUmVnRXhwKCIoPzzwn5CVPmRvZykiLCAidSIpOworfSk7CisKK2Fzc2VydC50aHJvd3Mo
U3ludGF4RXJyb3IsIGZ1bmN0aW9uKCkgeworICAgIHJldHVybiBuZXcgUmVnRXhwKCIoPzxcdXsx
ZjQxNX0+ZG9nKSIsICJ1Iik7Cit9KTsKKworYXNzZXJ0LnRocm93cyhTeW50YXhFcnJvciwgZnVu
Y3Rpb24oKSB7CisgICAgcmV0dXJuIG5ldyBSZWdFeHAoIig/PFx1ZDgzZCBcdWRjMTU+ZG9nKSIs
ICJ1Iik7Cit9KTsKKworYXNzZXJ0LnRocm93cyhTeW50YXhFcnJvciwgZnVuY3Rpb24oKSB7Cisg
ICAgcmV0dXJuIG5ldyBSZWdFeHAoIig/PPCdn5p0aGU+dGhlKSIsICJ1Iik7Cit9KTsKKworYXNz
ZXJ0LnRocm93cyhTeW50YXhFcnJvciwgZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIG5ldyBSZWdF
eHAoIig/PFx1ezFkN2RhfXRoZT50aGUpIiwgInUiKTsKK30pOworCithc3NlcnQudGhyb3dzKFN5
bnRheEVycm9yLCBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gbmV3IFJlZ0V4cCgiKD88XHVkODM1
XHVkZmRhdGhlPnRoZSkiLCAidSIpOworfSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL25hbWVkLWdyb3Vwcy91bmljb2RlLXByb3BlcnR5LW5hbWVzLXZhbGlk
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAv
bmFtZWQtZ3JvdXBzL3VuaWNvZGUtcHJvcGVydHktbmFtZXMtdmFsaWQuanMJKG5vbmV4aXN0ZW50
KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9uYW1lZC1ncm91cHMv
dW5pY29kZS1wcm9wZXJ0eS1uYW1lcy12YWxpZC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDEwMCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCithdXRob3I6IE1pY2hhZWwgU2Fib2ZmCitkZXNj
cmlwdGlvbjogRXhvdGljIG5hbWVkIGdyb3VwIG5hbWVzIGluIFVuaWNvZGUgUmVnRXhwcworZXNp
ZDogcHJvZC1Hcm91cFNwZWNpZmllcgorZmVhdHVyZXM6IFtyZWdleHAtbmFtZWQtZ3JvdXBzXQor
LS0tKi8KKworLyoKKyBWYWxpZCBJRF9TdGFydCAvIElEX0NvbnRpbnVlIFVuaWNvZGUgY2hhcmFj
dGVycworCisg8J2RkyAgXHV7MWQ0NTN9ICBcdWQ4MzUgXHVkYzUzCisg8J2RnCAgXHV7MWQ0NWN9
ICBcdWQ4MzUgXHVkYzVjCisg8J2RpSAgXHV7aWQ0NjV9ICBcdWQ4MzUgXHVkYzY1CisKKyDwnZOT
ICBcdXsxZDRkM30gIFx1ZDgzNSBcdWRjZDMKKyDwnZO4ICBcdXsxZDRmOH0gIFx1ZDgzNSBcdWRj
ZjgKKyDwnZOwICBcdXsxZDRmMH0gIFx1ZDgzNSBcdWRjZjAKKworIPCdk5EgIFx1ezFkNGQxfSAg
XHVkODM1IFx1ZGNkMQorIPCdk7sgIFx1ezFkNGZifSAgXHVkODM1IFx1ZGNmYgorIPCdk7ggIFx1
ezFkNGY4fSAgXHVkODM1IFx1ZGNmOAorIPCdlIAgIFx1ezFkNTAwfSAgXHVkODM1IFx1ZGQwMAor
IPCdk7cgIFx1ezFkNGY3fSAgXHVkODM1IFx1ZGNmNworCisg8J2WsCAgXHV7MWQ1YjB9ICBcdWQ4
MzUgXHVkZGIwCisg8J2WoSAgXHV7MWQ1YTF9ICBcdWQ4MzUgXHVkZGExCisg8J2WpSAgXHV7MWQ1
YTV9ICBcdWQ4MzUgXHVkZGE1CisKKyAoZm94KSDni7ggIFx1ezcyZjh9ICBcdTcyZjgKKyAoZG9n
KSDni5cgIFx1ezcyZDd9ICBcdTcyZDcgIAorCisgVmFsaWQgSURfQ29udGludWUgVW5pY29kZSBj
aGFyYWN0ZXJzIChDYW4ndCBiZSBmaXJzdCBpZGVudGlmaWVyIGNoYXJhY3Rlci4pCisKKyDwnZ+a
ICBcdXsxZDdkYX0gIFx1ZDgzNSBcdWRmZGEKKworIEludmFsaWQgSURfU3RhcnQgLyBJRF9Db250
aW51ZQorCisgKGZveCBmYWNlIGVtb2ppKSDwn6aKICBcdXsxZjk4YX0gIFx1ZDgzZSBcdWRkOGEK
KyAoZG9nIGVtb2ppKSAg8J+QlSAgXHV7MWY0MTV9ICBcdWQ4M2QgXHVkYzE1CisqLworCit2YXIg
c3RyaW5nID0gIlRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nJ3Mg
YmFjayI7Cit2YXIgc3RyaW5nMiA9ICJJdCBpcyBhIGRvZyBlYXQgZG9nIHdvcmxkLiI7CisKK2xl
dCBtYXRjaCA9IG51bGw7CisKK2Fzc2VydC5zYW1lVmFsdWUoc3RyaW5nLm1hdGNoKC8oPzxhbmlt
YWw+Zm94fGRvZykvdSkuZ3JvdXBzLmFuaW1hbCwgImZveCIpOworYXNzZXJ0LnNhbWVWYWx1ZShz
dHJpbmcubWF0Y2goLyg/PHRoZTI+dGhlKS91KS5ncm91cHMudGhlMiwgInRoZSIpOworCittYXRj
aCA9IHN0cmluZy5tYXRjaCgvKD888J2Rk/CdkZzwnZGlPmZveCkuKig/PPCdk5PwnZO48J2TsD5k
b2cpL3UpOworYXNzZXJ0LnNhbWVWYWx1ZShtYXRjaC5ncm91cHMu8J2Rk/CdkZzwnZGlLCAiZm94
Iik7Cithc3NlcnQuc2FtZVZhbHVlKG1hdGNoLmdyb3Vwcy7wnZOT8J2TuPCdk7AsICJkb2ciKTsK
K2Fzc2VydC5zYW1lVmFsdWUobWF0Y2hbMV0sICJmb3giKTsKK2Fzc2VydC5zYW1lVmFsdWUobWF0
Y2hbMl0sICJkb2ciKTsKKworbWF0Y2ggPSBzdHJpbmcubWF0Y2goLyg/POeLuD5mb3gpLiooPzzn
i5c+ZG9nKS91KTsKK2Fzc2VydC5zYW1lVmFsdWUobWF0Y2guZ3JvdXBzLueLuCwgImZveCIpOwor
YXNzZXJ0LnNhbWVWYWx1ZShtYXRjaC5ncm91cHMu54uXLCAiZG9nIik7Cithc3NlcnQuc2FtZVZh
bHVlKG1hdGNoWzFdLCAiZm94Iik7Cithc3NlcnQuc2FtZVZhbHVlKG1hdGNoWzJdLCAiZG9nIik7
CisKK2Fzc2VydC5zYW1lVmFsdWUoc3RyaW5nLm1hdGNoKC8oPzzwnZOR8J2Tu/Cdk7jwnZSA8J2T
tz5icm93bikvdSkuZ3JvdXBzLvCdk5HwnZO78J2TuPCdlIDwnZO3LCAiYnJvd24iKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoc3RyaW5nLm1hdGNoKC8oPzzwnZOR8J2Tu/Cdk7jwnZSA8J2Ttz5icm93bikv
dSkuZ3JvdXBzLlx1ezFkNGQxfVx1ezFkNGZifVx1ezFkNGY4fVx1ezFkNTAwfVx1ezFkNGY3fSwg
ImJyb3duIik7Cithc3NlcnQuc2FtZVZhbHVlKHN0cmluZy5tYXRjaCgvKD88XHV7MWQ0ZDF9XHV7
MWQ0ZmJ9XHV7MWQ0Zjh9XHV7MWQ1MDB9XHV7MWQ0Zjd9PmJyb3duKS91KS5ncm91cHMu8J2TkfCd
k7vwnZO48J2UgPCdk7csICJicm93biIpOworYXNzZXJ0LnNhbWVWYWx1ZShzdHJpbmcubWF0Y2go
Lyg/PFx1ezFkNGQxfVx1ezFkNGZifVx1ezFkNGY4fVx1ezFkNTAwfVx1ezFkNGY3fT5icm93bikv
dSkuZ3JvdXBzLlx1ezFkNGQxfVx1ezFkNGZifVx1ezFkNGY4fVx1ezFkNTAwfVx1ezFkNGY3fSwg
ImJyb3duIik7Cithc3NlcnQuc2FtZVZhbHVlKHN0cmluZy5tYXRjaCgvKD88XHVkODM1XHVkY2Qx
XHVkODM1XHVkY2ZiXHVkODM1XHVkY2Y4XHVkODM1XHVkZDAwXHVkODM1XHVkY2Y3PmJyb3duKS91
KS5ncm91cHMu8J2TkfCdk7vwnZO48J2UgPCdk7csICJicm93biIpOworYXNzZXJ0LnNhbWVWYWx1
ZShzdHJpbmcubWF0Y2goLyg/PFx1ZDgzNVx1ZGNkMVx1ZDgzNVx1ZGNmYlx1ZDgzNVx1ZGNmOFx1
ZDgzNVx1ZGQwMFx1ZDgzNVx1ZGNmNz5icm93bikvdSkuZ3JvdXBzLlx1ezFkNGQxfVx1ezFkNGZi
fVx1ezFkNGY4fVx1ezFkNTAwfVx1ezFkNGY3fSwgImJyb3duIik7CisKK2Fzc2VydC5zYW1lVmFs
dWUoc3RyaW5nLm1hdGNoKC8oPzzwnZaw8J2WofCdlqU+cVx3KlxXXHcqXFdcdyopL3UpLmdyb3Vw
cy7wnZaw8J2WofCdlqUsICJxdWljayBicm93biBmb3giKTsKK2Fzc2VydC5zYW1lVmFsdWUoc3Ry
aW5nLm1hdGNoKC8oPzzwnZaw8J2WoVx1ezFkNWE1fT5xXHcqXFdcdypcV1x3KikvdSkuZ3JvdXBz
LvCdlrDwnZah8J2WpSwgInF1aWNrIGJyb3duIGZveCIpOworYXNzZXJ0LnNhbWVWYWx1ZShzdHJp
bmcubWF0Y2goLyg/PPCdlrBcdXsxZDVhMX3wnZalPnFcdypcV1x3KlxXXHcqKS91KS5ncm91cHMu
8J2WsPCdlqHwnZalLCAicXVpY2sgYnJvd24gZm94Iik7Cithc3NlcnQuc2FtZVZhbHVlKHN0cmlu
Zy5tYXRjaCgvKD888J2WsFx1ezFkNWExfVx1ezFkNWE1fT5xXHcqXFdcdypcV1x3KikvdSkuZ3Jv
dXBzLvCdlrDwnZah8J2WpSwgInF1aWNrIGJyb3duIGZveCIpOworYXNzZXJ0LnNhbWVWYWx1ZShz
dHJpbmcubWF0Y2goLyg/PFx1ezFkNWIwffCdlqHwnZalPnFcdypcV1x3KlxXXHcqKS91KS5ncm91
cHMu8J2WsPCdlqHwnZalLCAicXVpY2sgYnJvd24gZm94Iik7Cithc3NlcnQuc2FtZVZhbHVlKHN0
cmluZy5tYXRjaCgvKD88XHV7MWQ1YjB98J2WoVx1ezFkNWE1fT5xXHcqXFdcdypcV1x3KikvdSku
Z3JvdXBzLvCdlrDwnZah8J2WpSwgInF1aWNrIGJyb3duIGZveCIpOworYXNzZXJ0LnNhbWVWYWx1
ZShzdHJpbmcubWF0Y2goLyg/PFx1ezFkNWIwfVx1ezFkNWExffCdlqU+cVx3KlxXXHcqXFdcdyop
L3UpLmdyb3Vwcy7wnZaw8J2WofCdlqUsICJxdWljayBicm93biBmb3giKTsKK2Fzc2VydC5zYW1l
VmFsdWUoc3RyaW5nLm1hdGNoKC8oPzxcdXsxZDViMH1cdXsxZDVhMX1cdXsxZDVhNX0+cVx3KlxX
XHcqXFdcdyopL3UpLmdyb3Vwcy7wnZaw8J2WofCdlqUsICJxdWljayBicm93biBmb3giKTsKKwor
YXNzZXJ0LnNhbWVWYWx1ZShzdHJpbmcubWF0Y2goLyg/PHRoZfCdn5o+dGhlKS91KS5ncm91cHMu
dGhl8J2fmiwgInRoZSIpOworYXNzZXJ0LnNhbWVWYWx1ZShzdHJpbmcubWF0Y2goLyg/PHRoZVx1
ezFkN2RhfT50aGUpL3UpLmdyb3Vwcy50aGXwnZ+aLCAidGhlIik7Cithc3NlcnQuc2FtZVZhbHVl
KHN0cmluZy5tYXRjaCgvKD88dGhlXHVkODM1XHVkZmRhPnRoZSkvdSkuZ3JvdXBzLnRoZfCdn5os
ICJ0aGUiKTsKKworbWF0Y2ggPSBzdHJpbmcyLm1hdGNoKC8oPzxkb2c+ZG9nKSguKj8pKFxrPGRv
Zz4pL3UpOworYXNzZXJ0LnNhbWVWYWx1ZShtYXRjaC5ncm91cHMuZG9nLCAiZG9nIik7Cithc3Nl
cnQuc2FtZVZhbHVlKG1hdGNoWzFdLCAiZG9nIik7Cithc3NlcnQuc2FtZVZhbHVlKG1hdGNoWzJd
LCAiIGVhdCAiKTsKK2Fzc2VydC5zYW1lVmFsdWUobWF0Y2hbM10sICJkb2ciKTsKKworbWF0Y2gg
PSBzdHJpbmcyLm1hdGNoKC8oPzzwnZOT8J2TuPCdk7A+ZG9nKSguKj8pKFxrPPCdk5PwnZO48J2T
sD4pL3UpOworYXNzZXJ0LnNhbWVWYWx1ZShtYXRjaC5ncm91cHMu8J2Tk/Cdk7jwnZOwLCAiZG9n
Iik7Cithc3NlcnQuc2FtZVZhbHVlKG1hdGNoWzFdLCAiZG9nIik7Cithc3NlcnQuc2FtZVZhbHVl
KG1hdGNoWzJdLCAiIGVhdCAiKTsKK2Fzc2VydC5zYW1lVmFsdWUobWF0Y2hbM10sICJkb2ciKTsK
KworbWF0Y2ggPSBzdHJpbmcyLm1hdGNoKC8oPzzni5c+ZG9nKSguKj8pKFxrPOeLlz4pL3UpOwor
YXNzZXJ0LnNhbWVWYWx1ZShtYXRjaC5ncm91cHMu54uXLCAiZG9nIik7Cithc3NlcnQuc2FtZVZh
bHVlKG1hdGNoWzFdLCAiZG9nIik7Cithc3NlcnQuc2FtZVZhbHVlKG1hdGNoWzJdLCAiIGVhdCAi
KTsKK2Fzc2VydC5zYW1lVmFsdWUobWF0Y2hbM10sICJkb2ciKTsKSW5kZXg6IEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL1N5bWJvbC5yZXBsYWNlL25hbWVk
LWdyb3Vwcy1mbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL3Byb3RvdHlwZS9TeW1ib2wucmVwbGFjZS9uYW1lZC1ncm91cHMtZm4uanMJKG5v
bmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90
b3R5cGUvU3ltYm9sLnJlcGxhY2UvbmFtZWQtZ3JvdXBzLWZuLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNTkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBBbGV4ZXkgU2h2YXlrYS4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1yZWdl
eHAucHJvdG90eXBlLUBAcmVwbGFjZQorZGVzY3JpcHRpb246ID4KKyAgImdyb3VwcyIgdmFsdWUg
aXMgcGFzc2VkIGFzIGxhc3QgYXJndW1lbnQgb2YgcmVwbGFjZXIgdW5sZXNzIGl0IGlzIHVuZGVm
aW5lZC4KK2luZm86IHwKKyAgUmVnRXhwLnByb3RvdHlwZSBbIEBAcmVwbGFjZSBdICggc3RyaW5n
LCByZXBsYWNlVmFsdWUgKQorCisgIFsuLi5dCisgIDE0LiBGb3IgZWFjaCByZXN1bHQgaW4gcmVz
dWx0cywgZG8KKyAgICBbLi4uXQorICAgIGouIExldCBuYW1lZENhcHR1cmVzIGJlID8gR2V0KHJl
c3VsdCwgImdyb3VwcyIpLgorICAgIGsuIElmIGZ1bmN0aW9uYWxSZXBsYWNlIGlzIHRydWUsIHRo
ZW4KKyAgICAgIFsuLi5dCisgICAgICBpdi4gSWYgbmFtZWRDYXB0dXJlcyBpcyBub3QgdW5kZWZp
bmVkLCB0aGVuCisgICAgICAgIDEuIEFwcGVuZCBuYW1lZENhcHR1cmVzIGFzIHRoZSBsYXN0IGVs
ZW1lbnQgb2YgcmVwbGFjZXJBcmdzLgorICAgICAgdi4gTGV0IHJlcGxWYWx1ZSBiZSA/IENhbGwo
cmVwbGFjZVZhbHVlLCB1bmRlZmluZWQsIHJlcGxhY2VyQXJncykuCitmZWF0dXJlczogW1N5bWJv
bC5yZXBsYWNlLCByZWdleHAtbmFtZWQtZ3JvdXBzXQorLS0tKi8KKwordmFyIG1hdGNoR3JvdXBz
OwordmFyIHJlID0gLy4vOworcmUuZXhlYyA9IGZ1bmN0aW9uKCkgeworICByZXR1cm4geworICAg
IGxlbmd0aDogMSwKKyAgICAwOiAiYSIsCisgICAgaW5kZXg6IDAsCisgICAgZ3JvdXBzOiBtYXRj
aEdyb3VwcywKKyAgfTsKK307CisKK3ZhciByZXBsYWNlckNhbGxzID0gMDsKK3ZhciByZXBsYWNl
ckxhc3RBcmc7Cit2YXIgcmVwbGFjZXIgPSBmdW5jdGlvbigpIHsKKyAgcmVwbGFjZXJDYWxscysr
OworICByZXBsYWNlckxhc3RBcmcgPSBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdOwor
fTsKKworbWF0Y2hHcm91cHMgPSBudWxsOworcmVbU3ltYm9sLnJlcGxhY2VdKCJhIiwgcmVwbGFj
ZXIpOworYXNzZXJ0LnNhbWVWYWx1ZShyZXBsYWNlckNhbGxzLCAxKTsKK2Fzc2VydC5zYW1lVmFs
dWUocmVwbGFjZXJMYXN0QXJnLCBtYXRjaEdyb3Vwcyk7CisKK21hdGNoR3JvdXBzID0gdW5kZWZp
bmVkOworcmVbU3ltYm9sLnJlcGxhY2VdKCJhIiwgcmVwbGFjZXIpOworYXNzZXJ0LnNhbWVWYWx1
ZShyZXBsYWNlckNhbGxzLCAyKTsKK2Fzc2VydC5zYW1lVmFsdWUocmVwbGFjZXJMYXN0QXJnLCAi
YSIpOworCittYXRjaEdyb3VwcyA9IDEwOworcmVbU3ltYm9sLnJlcGxhY2VdKCJhIiwgcmVwbGFj
ZXIpOworYXNzZXJ0LnNhbWVWYWx1ZShyZXBsYWNlckNhbGxzLCAzKTsKK2Fzc2VydC5zYW1lVmFs
dWUocmVwbGFjZXJMYXN0QXJnLCBtYXRjaEdyb3Vwcyk7CisKK21hdGNoR3JvdXBzID0ge307City
ZVtTeW1ib2wucmVwbGFjZV0oImEiLCByZXBsYWNlcik7Cithc3NlcnQuc2FtZVZhbHVlKHJlcGxh
Y2VyQ2FsbHMsIDQpOworYXNzZXJ0LnNhbWVWYWx1ZShyZXBsYWNlckxhc3RBcmcsIG1hdGNoR3Jv
dXBzKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90
eXBlL1N5bWJvbC5yZXBsYWNlL25hbWVkLWdyb3Vwcy5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9TeW1ib2wucmVwbGFjZS9u
YW1lZC1ncm91cHMuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvU3ltYm9sLnJlcGxhY2UvbmFtZWQtZ3JvdXBzLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBBbGV4
ZXkgU2h2YXlrYS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0K
K2VzaWQ6IHNlYy1nZXRzdWJzdGl0dXRpb24KK2Rlc2NyaXB0aW9uOiA+CisgIFJlZ0V4cC5wcm90
b3R5cGVbU3ltYm9sLnJlcGxhY2VdIHdvcmtzIHdpdGggbmFtZWQgY2FwdHVyZSByZWZlcmVuY2Vz
IGFzIGV4cGVjdGVkLgorICAoc3RyaW5nIHJlcGxhY2VtZW50KQoraW5mbzogfAorICBHZXRTdWJz
dGl0dXRpb24gKCBtYXRjaGVkLCBzdHIsIHBvc2l0aW9uLCBjYXB0dXJlcywgbmFtZWRDYXB0dXJl
cywgcmVwbGFjZW1lbnQgKQorCisgIFRhYmxlOiBSZXBsYWNlbWVudCBUZXh0IFN5bWJvbCBTdWJz
dGl0dXRpb25zCisKKyAgVW5pY29kZSBDaGFyYWN0ZXJzOiAkPAorICBSZXBsYWNlbWVudCB0ZXh0
OgorICAgIDEuIElmIG5hbWVkQ2FwdHVyZXMgaXMgdW5kZWZpbmVkLCB0aGUgcmVwbGFjZW1lbnQg
dGV4dCBpcyB0aGUgbGl0ZXJhbCBzdHJpbmcgJDwuCisgICAgMi4gRWxzZSwKKyAgICAgIGEuIEFz
c2VydDogVHlwZShuYW1lZENhcHR1cmVzKSBpcyBPYmplY3QuCisgICAgICBiLiBTY2FuIHVudGls
IHRoZSBuZXh0ID4gVSswMDNFIChHUkVBVEVSLVRIQU4gU0lHTikuCisgICAgICBjLiBJZiBub25l
IGlzIGZvdW5kLCB0aGUgcmVwbGFjZW1lbnQgdGV4dCBpcyB0aGUgU3RyaW5nICIkPCIuCisgICAg
ICBkLiBFbHNlLAorICAgICAgICBpLiBMZXQgZ3JvdXBOYW1lIGJlIHRoZSBlbmNsb3NlZCBzdWJz
dHJpbmcuCisgICAgICAgIGlpLiBMZXQgY2FwdHVyZSBiZSA/IEdldChuYW1lZENhcHR1cmVzLCBn
cm91cE5hbWUpLgorICAgICAgICBpaWkuIElmIGNhcHR1cmUgaXMgdW5kZWZpbmVkLCByZXBsYWNl
IHRoZSB0ZXh0IHRocm91Z2ggPiB3aXRoIHRoZSBlbXB0eSBTdHJpbmcuCisgICAgICAgIGl2LiBP
dGhlcndpc2UsIHJlcGxhY2UgdGhlIHRleHQgdGhyb3VnaCA+IHdpdGggPyBUb1N0cmluZyhjYXB0
dXJlKS4KK2ZlYXR1cmVzOiBbU3ltYm9sLnJlcGxhY2UsIHJlZ2V4cC1uYW1lZC1ncm91cHNdCist
LS0qLworCithc3NlcnQuc2FtZVZhbHVlKC9iL3VbU3ltYm9sLnJlcGxhY2VdKCJhYmMiLCAiJCYk
PGZvb2QiKSwgImFiJDxmb29kYyIpOworYXNzZXJ0LnNhbWVWYWx1ZSgvLi9nW1N5bWJvbC5yZXBs
YWNlXSgiYWIiLCAiYyQ8Zm9vPmQiKSwgImMkPGZvbz5kYyQ8Zm9vPmQiKTsKK2Fzc2VydC5zYW1l
VmFsdWUoLyhiKS4vW1N5bWJvbC5yZXBsYWNlXSgiYWJjIiwgIiQ8Zm9vPiQxIiksICJhJDxmb28+
YiIpOworCithc3NlcnQuc2FtZVZhbHVlKC8oPzxmb28+LikoPzxiYXI+LikvW1N5bWJvbC5yZXBs
YWNlXSgiYWJjIiwgIiQ8YmFyPiQ8Zm9vPiIpLCAiYmFjIik7Cithc3NlcnQuc2FtZVZhbHVlKC8o
Pzxmb28+LikoPzxiYXI+LikvZ3VbU3ltYm9sLnJlcGxhY2VdKCJhYmMiLCAiJDIkPGZvbz4kMSIp
LCAiYmFhYyIpOworYXNzZXJ0LnNhbWVWYWx1ZSgvKD88Zm9vPmIpL3VbU3ltYm9sLnJlcGxhY2Vd
KCJhYmMiLCAiYyQ8YmFyPmQiKSwgImFjZGMiKTsKK2Fzc2VydC5zYW1lVmFsdWUoLyg/PGZvbz4u
KS9nW1N5bWJvbC5yZXBsYWNlXSgiYWJjIiwgIiQ8JDE+IiksICIiKTsKK2Fzc2VydC5zYW1lVmFs
dWUoLyg/PGZvbz5iKS9bU3ltYm9sLnJlcGxhY2VdKCJhYmMiLCAiJDw+IiksICJhYyIpOworYXNz
ZXJ0LnNhbWVWYWx1ZSgvKD88Zm9vPi4pKD88YmFyPi4pL2dbU3ltYm9sLnJlcGxhY2VdKCJhYmMi
LCAiJDIkMSIpLCAiYmFjIik7Cithc3NlcnQuc2FtZVZhbHVlKC8oPzxmb28+YikvdVtTeW1ib2wu
cmVwbGFjZV0oImFiYyIsICIkPGZvbyIpLCAiYSQ8Zm9vYyIpOworYXNzZXJ0LnNhbWVWYWx1ZSgv
KD88Zm9vPi4pL2d1W1N5bWJvbC5yZXBsYWNlXSgiYWJjIiwgIiQ8YmFyPiIpLCAiIik7Cithc3Nl
cnQuc2FtZVZhbHVlKC8oPzxmb28+YikvW1N5bWJvbC5yZXBsYWNlXSgiYWJjIiwgIiQkPGZvbz4k
JiIpLCAiYSQ8Zm9vPmJjIik7CisKK2Fzc2VydC5zYW1lVmFsdWUoLyg/PPCdkpw+YikvdVtTeW1i
b2wucmVwbGFjZV0oImFiYyIsICJkJDzwnZKcPiRgIiksICJhZGJhYyIpOworYXNzZXJ0LnNhbWVW
YWx1ZSgvKD88JPCQkqQ+YikvZ3VbU3ltYm9sLnJlcGxhY2VdKCJhYmMiLCAiJCckPCTwkJKkPmQi
KSwgImFjYmRjIik7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhw
L3Byb3RvdHlwZS9TeW1ib2wucmVwbGFjZS9yZXN1bHQtY29lcmNlLWdyb3Vwcy1wcm9wLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90
eXBlL1N5bWJvbC5yZXBsYWNlL3Jlc3VsdC1jb2VyY2UtZ3JvdXBzLXByb3AuanMJKHJldmlzaW9u
IDI2MDU3MCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90
eXBlL1N5bWJvbC5yZXBsYWNlL3Jlc3VsdC1jb2VyY2UtZ3JvdXBzLXByb3AuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTU4LDYgKzU4LDcgQEAgdmFyIGNvZXJjaWJsZVZhbHVlID0gewogICAgICAgICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdUaGlzIG1ldGhvZCBzaG91bGQgbm90IGJlIGludm9rZWQu
Jyk7CiAgICAgICB9LAogICAgIH0sCisgICAgYmFyOiBudWxsLAogICB9LAogfTsKIApAQCAtNjYs
MyArNjcsNCBAQCByLmV4ZWMgPSBmdW5jdGlvbigpIHsKIH07CiAKIGFzc2VydC5zYW1lVmFsdWUo
cltTeW1ib2wucmVwbGFjZV0oJ2FiJywgJ1skPGZvbz5dJyksICdbdG9TdHJpbmcgdmFsdWVdYicp
OworYXNzZXJ0LnNhbWVWYWx1ZShyW1N5bWJvbC5yZXBsYWNlXSgnYWInLCAnWyQ8YmFyPl0nKSwg
J1tudWxsXWInKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcv
cHJvdG90eXBlL21hdGNoL2NzdG0tbWF0Y2hlci1pcy1udWxsLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL21hdGNoL2NzdG0t
bWF0Y2hlci1pcy1udWxsLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL21hdGNoL2NzdG0tbWF0Y2hlci1pcy1udWxsLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBB
bGV4ZXkgU2h2YXlrYS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zl
cm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyot
LS0KK2VzaWQ6IHNlYy1zdHJpbmcucHJvdG90eXBlLm1hdGNoCitkZXNjcmlwdGlvbjogPgorICBJ
ZiByZWdleHAncyBTeW1ib2wubWF0Y2ggcHJvcGVydHkgaXMgbnVsbCwgbm8gZXJyb3IgaXMgdGhy
b3duLgoraW5mbzogfAorICBTdHJpbmcucHJvdG90eXBlLm1hdGNoICggcmVnZXhwICkKKworICBb
Li4uXQorICAyLiBJZiByZWdleHAgaXMgbmVpdGhlciB1bmRlZmluZWQgbm9yIG51bGwsIHRoZW4K
KyAgICBhLiBMZXQgbWF0Y2hlciBiZSA/IEdldE1ldGhvZChyZWdleHAsIEBAbWF0Y2gpLgorICAg
IGIuIElmIG1hdGNoZXIgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgWy4uLl0KKyAgWy4u
Ll0KKyAgNS4gUmV0dXJuID8gSW52b2tlKHJ4LCBAQG1hdGNoLCDCqyBTIMK7KS4KKworICBHZXRN
ZXRob2QgKCBWLCBQICkKKworICBbLi4uXQorICAyLiBMZXQgZnVuYyBiZSA/IEdldFYoViwgUCku
CisgIDMuIElmIGZ1bmMgaXMgZWl0aGVyIHVuZGVmaW5lZCBvciBudWxsLCByZXR1cm4gdW5kZWZp
bmVkLgorZmVhdHVyZXM6IFtTeW1ib2wubWF0Y2hdCistLS0qLworCit2YXIgcmVnZXhwID0ge307
CityZWdleHBbU3ltYm9sLm1hdGNoXSA9IG51bGw7CityZWdleHAudG9TdHJpbmcgPSBmdW5jdGlv
bigpIHsgcmV0dXJuICJcXGQiOyB9OworcmVnZXhwLnZhbHVlT2YgPSBmdW5jdGlvbigpIHsgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcigic2hvdWxkIG5vdCBiZSBjYWxsZWQiKTsgfTsKKworYXNzZXJ0
LnNhbWVWYWx1ZSgiYWJjIi5tYXRjaChyZWdleHApLCBudWxsKTsKK2Fzc2VydC5zYW1lVmFsdWUo
ImFiM2MiLm1hdGNoKHJlZ2V4cClbMF0sICIzIik7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlL2NzdG0tcmVwbGFjZS1pcy1udWxs
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcv
cHJvdG90eXBlL3JlcGxhY2UvY3N0bS1yZXBsYWNlLWlzLW51bGwuanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFj
ZS9jc3RtLXJlcGxhY2UtaXMtbnVsbC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM0IEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQWxleGV5IFNodmF5a2EuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtc3RyaW5nLnByb3RvdHlwZS5y
ZXBsYWNlCitkZXNjcmlwdGlvbjogPgorICBJZiBzZWFyY2hWYWx1ZSdzIFN5bWJvbC5yZXBsYWNl
IHByb3BlcnR5IGlzIG51bGwsIG5vIGVycm9yIGlzIHRocm93bi4KK2luZm86IHwKKyAgU3RyaW5n
LnByb3RvdHlwZS5yZXBsYWNlICggc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSApCisKKyAgWy4u
Ll0KKyAgMi4gSWYgc2VhcmNoVmFsdWUgaXMgbmVpdGhlciB1bmRlZmluZWQgbm9yIG51bGwsIHRo
ZW4KKyAgICBhLiBMZXQgcmVwbGFjZXIgYmUgPyBHZXRNZXRob2Qoc2VhcmNoVmFsdWUsIEBAcmVw
bGFjZSkuCisgICAgYi4gSWYgcmVwbGFjZXIgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAg
Wy4uLl0KKyAgWy4uLl0KKyAgMTIuIFJldHVybiBuZXdTdHJpbmcuCisKKyAgR2V0TWV0aG9kICgg
ViwgUCApCisKKyAgWy4uLl0KKyAgMi4gTGV0IGZ1bmMgYmUgPyBHZXRWKFYsIFApLgorICAzLiBJ
ZiBmdW5jIGlzIGVpdGhlciB1bmRlZmluZWQgb3IgbnVsbCwgcmV0dXJuIHVuZGVmaW5lZC4KK2Zl
YXR1cmVzOiBbU3ltYm9sLnJlcGxhY2VdCistLS0qLworCit2YXIgc2VhcmNoVmFsdWUgPSB7fTsK
K3NlYXJjaFZhbHVlW1N5bWJvbC5yZXBsYWNlXSA9IG51bGw7CitzZWFyY2hWYWx1ZS50b1N0cmlu
ZyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gIjMiOyB9Oworc2VhcmNoVmFsdWUudmFsdWVPZiA9IGZ1
bmN0aW9uKCkgeyB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJzaG91bGQgbm90IGJlIGNhbGxlZCIp
OyB9OworCit2YXIgcmVwbGFjZXIgPSBmdW5jdGlvbigpIHsgcmV0dXJuICI8Zm9vPiI7IH07Cith
c3NlcnQuc2FtZVZhbHVlKCJhYjNjIi5yZXBsYWNlKHNlYXJjaFZhbHVlLCByZXBsYWNlciksICJh
Yjxmb28+YyIpOworYXNzZXJ0LnNhbWVWYWx1ZSgiYWIzYyIucmVwbGFjZShzZWFyY2hWYWx1ZSwg
Ijxmb28+IiksICJhYjxmb28+YyIpOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1ZS1yZXBsYWNlLW1ldGhv
ZC1hYnJ1cHQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1ZS1yZXBsYWNlLW1ldGhvZC1h
YnJ1cHQuanMJKHJldmlzaW9uIDI2MDU3MCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtcmVwbGFjZS1tZXRo
b2QtYWJydXB0LmpzCShub25leGlzdGVudCkKQEAgLTEsMTI5ICswLDAgQEAKLS8vIENvcHlyaWdo
dCAoQykgMjAxOSBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2Rl
IGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgotCi0vKi0tLQotZXNpZDogc2VjLXN0cmluZy5wcm90b3R5cGUucmVwbGFjZWFsbAotZGVzY3Jp
cHRpb246ID4KLSAgUmV0dXJuIGFicnVwdCBjb21wbGV0aW9uIGZyb20gR2V0TWV0aG9kKHNlYXJj
aFZhbGV1IEBAcmVwbGFjZSkKLWluZm86IHwKLSAgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxs
ICggc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSApCi0KLSAgMS4gTGV0IE8gYmUgUmVxdWlyZU9i
amVjdENvZXJjaWJsZSh0aGlzIHZhbHVlKS4KLSAgMi4gSWYgc2VhcmNoVmFsdWUgaXMgbmVpdGhl
ciB1bmRlZmluZWQgbm9yIG51bGwsIHRoZW4KLSAgICBhLiBMZXQgaXNSZWdFeHAgYmUgPyBJc1Jl
Z0V4cChzZWFyY2hTdHJpbmcpLgotICAgIGIuIElmIGlzUmVnRXhwIGlzIHRydWUsIHRoZW4KLSAg
ICAgIGkuIExldCBmbGFncyBiZSA/IEdldChzZWFyY2hWYWx1ZSwgImZsYWdzIikuCi0gICAgICBp
aS4gUGVyZm9ybSA/IFJlcXVpcmVPYmplY3RDb2VyY2libGUoZmxhZ3MpLgotICAgICAgaWlpLiBJ
ZiA/IFRvU3RyaW5nKGZsYWdzKSBkb2VzIG5vdCBjb250YWluICJnIiwgdGhyb3cgYSBUeXBlRXJy
b3IgZXhjZXB0aW9uLgotICAgIGMuIExldCByZXBsYWNlciBiZSA/IEdldE1ldGhvZChzZWFyY2hW
YWx1ZSwgQEByZXBsYWNlKS4KLSAgLi4uCi0KLSAgR2V0TWV0aG9kICggViwgUCApCi0KLSAgLi4u
Ci0gIDIuIExldCBmdW5jIGJlID8gR2V0VihWLCBQKS4KLSAgMy4gSWYgZnVuYyBpcyBlaXRoZXIg
dW5kZWZpbmVkIG9yIG51bGwsIHJldHVybiB1bmRlZmluZWQuCi0gIDQuIElmIElzQ2FsbGFibGUo
ZnVuYykgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KLSAgNS4gUmV0dXJu
IGZ1bmMuIAotZmVhdHVyZXM6IFtTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwsIFN5bWJvbCwg
U3ltYm9sLm1hdGNoLCBTeW1ib2wucmVwbGFjZV0KLS0tLSovCi0KLXZhciBwb2lzb25lZCA9IDA7
Ci12YXIgcG9pc29uID0gewotICB0b1N0cmluZygpIHsKLSAgICBwb2lzb25lZCArPSAxOwotICAg
IHRocm93ICdTaG91bGQgbm90IGNhbGwgdG9TdHJpbmcgb24gdGhpcy9yZXBsYWNlVmFsdWUnOwot
ICB9LAotfTsKLQotdmFyIHNlYXJjaFZhbHVlID0gewotICBbU3ltYm9sLm1hdGNoXTogZmFsc2Us
Ci0gIGZsYWdzOiAnZycsCi0gIGdldCBbU3ltYm9sLnJlcGxhY2VdKCkgewotICAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoKTsKLSAgfSwKLX07Ci0KLWFzc2VydC50aHJvd3MoVGVzdDI2MkVycm9y
LCBmdW5jdGlvbigpIHsKLSAgJycucmVwbGFjZUFsbC5jYWxsKHBvaXNvbiwgc2VhcmNoVmFsdWUs
IHBvaXNvbik7Ci19LCAnY3VzdG9tIGFicnVwdCcpOwotCi1zZWFyY2hWYWx1ZSA9IHsKLSAgW1N5
bWJvbC5tYXRjaF06IGZhbHNlLAotICBmbGFnczogJ2cnLAotICBbU3ltYm9sLnJlcGxhY2VdOiB7
fSwKLSAgdG9TdHJpbmcoKSB7Ci0gICAgdGhyb3cgJ1Nob3VsZCBub3QgY2FsbCB0b1N0cmluZyBv
biBzZWFyY2hWYWx1ZSc7Ci0gIH0KLX07Ci0KLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5j
dGlvbigpIHsKLSAgJycucmVwbGFjZUFsbC5jYWxsKHBvaXNvbiwgc2VhcmNoVmFsdWUsIHBvaXNv
bik7Ci19LCAnQEByZXBsYWNlIGlzIGFuIG9iamVjdCAobm90IGNhbGxhYmxlKScpOwotCi1zZWFy
Y2hWYWx1ZSA9IHsKLSAgW1N5bWJvbC5tYXRjaF06IGZhbHNlLAotICBmbGFnczogJ2cnLAotICBb
U3ltYm9sLnJlcGxhY2VdOiAnJywKLSAgdG9TdHJpbmcoKSB7Ci0gICAgdGhyb3cgJ1Nob3VsZCBu
b3QgY2FsbCB0b1N0cmluZyBvbiBzZWFyY2hWYWx1ZSc7Ci0gIH0KLX07Ci0KLWFzc2VydC50aHJv
d3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgJycucmVwbGFjZUFsbC5jYWxsKHBvaXNvbiwg
c2VhcmNoVmFsdWUsIHBvaXNvbik7Ci19LCAnQEByZXBsYWNlIGlzIGEgc3RyaW5nJyk7Ci0KLXNl
YXJjaFZhbHVlID0gewotICBbU3ltYm9sLm1hdGNoXTogZmFsc2UsCi0gIGZsYWdzOiAnZycsCi0g
IFtTeW1ib2wucmVwbGFjZV06IDQyLAotICB0b1N0cmluZygpIHsKLSAgICB0aHJvdyAnU2hvdWxk
IG5vdCBjYWxsIHRvU3RyaW5nIG9uIHNlYXJjaFZhbHVlJzsKLSAgfQotfTsKLQotYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICAnJy5yZXBsYWNlQWxsLmNhbGwocG9pc29u
LCBzZWFyY2hWYWx1ZSwgcG9pc29uKTsKLX0sICdAQHJlcGxhY2UgaXMgYSBudW1iZXInKTsKLQot
c2VhcmNoVmFsdWUgPSB7Ci0gIFtTeW1ib2wubWF0Y2hdOiBmYWxzZSwKLSAgZmxhZ3M6ICdnJywK
LSAgW1N5bWJvbC5yZXBsYWNlXTogU3ltYm9sKCksCi0gIHRvU3RyaW5nKCkgewotICAgIHRocm93
ICdTaG91bGQgbm90IGNhbGwgdG9TdHJpbmcgb24gc2VhcmNoVmFsdWUnOwotICB9Ci19OwotCi1h
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gICcnLnJlcGxhY2VBbGwuY2Fs
bChwb2lzb24sIHNlYXJjaFZhbHVlLCBwb2lzb24pOwotfSwgJ0BAcmVwbGFjZSBpcyBhIHN5bWJv
bCcpOwotCi1zZWFyY2hWYWx1ZSA9IHsKLSAgW1N5bWJvbC5tYXRjaF06IGZhbHNlLAotICBmbGFn
czogJ2cnLAotICBbU3ltYm9sLnJlcGxhY2VdOiB0cnVlLAotICB0b1N0cmluZygpIHsKLSAgICB0
aHJvdyAnU2hvdWxkIG5vdCBjYWxsIHRvU3RyaW5nIG9uIHNlYXJjaFZhbHVlJzsKLSAgfQotfTsK
LQotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICAnJy5yZXBsYWNlQWxs
LmNhbGwocG9pc29uLCBzZWFyY2hWYWx1ZSwgcG9pc29uKTsKLX0sICdAQHJlcGxhY2UgaXMgdHJ1
ZScpOwotCi1zZWFyY2hWYWx1ZSA9IHsKLSAgW1N5bWJvbC5tYXRjaF06IGZhbHNlLAotICBmbGFn
czogJ2cnLAotICBbU3ltYm9sLnJlcGxhY2VdOiBmYWxzZSwKLSAgdG9TdHJpbmcoKSB7Ci0gICAg
dGhyb3cgJ1Nob3VsZCBub3QgY2FsbCB0b1N0cmluZyBvbiBzZWFyY2hWYWx1ZSc7Ci0gIH0KLX07
Ci0KLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgJycucmVwbGFjZUFs
bC5jYWxsKHBvaXNvbiwgc2VhcmNoVmFsdWUsIHBvaXNvbik7Ci19LCAnQEByZXBsYWNlIGlzIGZh
bHNlJyk7Ci0KLWFzc2VydC5zYW1lVmFsdWUocG9pc29uZWQsIDApOwpJbmRleDogSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hW
YWx1ZS1yZXBsYWNlci1pcy1udWxsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtcmVw
bGFjZXItaXMtbnVsbC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL3NlYXJjaFZhbHVlLXJlcGxhY2Vy
LWlzLW51bGwuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNSBAQAorLy8gQ29weXJpZ2h0
IChDKSAyMDIwIEFsZXhleSBTaHZheWthLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorCisvKi0tLQorZXNpZDogc2VjLXN0cmluZy5wcm90b3R5cGUucmVwbGFjZWFsbAorZGVz
Y3JpcHRpb246ID4KKyAgSWYgc2VhcmNoVmFsdWUncyBTeW1ib2wucmVwbGFjZSBwcm9wZXJ0eSBp
cyBudWxsLCBubyBlcnJvciBpcyB0aHJvd24uCitpbmZvOiB8CisgIFN0cmluZy5wcm90b3R5cGUu
cmVwbGFjZUFsbCAoIHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUgKQorCisgIFsuLi5dCisgIDIu
IElmIHNlYXJjaFZhbHVlIGlzIG5laXRoZXIgdW5kZWZpbmVkIG5vciBudWxsLCB0aGVuCisgICAg
Wy4uLl0KKyAgICBjLiBMZXQgcmVwbGFjZXIgYmUgPyBHZXRNZXRob2Qoc2VhcmNoVmFsdWUsIEBA
cmVwbGFjZSkuCisgICAgZC4gSWYgcmVwbGFjZXIgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAg
ICAgWy4uLl0KKyAgWy4uLl0KKyAgMTYuIFJldHVybiByZXN1bHQuCisKKyAgR2V0TWV0aG9kICgg
ViwgUCApCisKKyAgWy4uLl0KKyAgMi4gTGV0IGZ1bmMgYmUgPyBHZXRWKFYsIFApLgorICAzLiBJ
ZiBmdW5jIGlzIGVpdGhlciB1bmRlZmluZWQgb3IgbnVsbCwgcmV0dXJuIHVuZGVmaW5lZC4KK2Zl
YXR1cmVzOiBbU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsLCBTeW1ib2wucmVwbGFjZV0KKy0t
LSovCisKK3ZhciBzZWFyY2hWYWx1ZSA9IHt9Oworc2VhcmNoVmFsdWVbU3ltYm9sLnJlcGxhY2Vd
ID0gbnVsbDsKK3NlYXJjaFZhbHVlLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7IHJldHVybiAiMiI7
IH07CitzZWFyY2hWYWx1ZS52YWx1ZU9mID0gZnVuY3Rpb24oKSB7IHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoInNob3VsZCBub3QgYmUgY2FsbGVkIik7IH07CisKK3ZhciByZXBsYWNlciA9IGZ1bmN0
aW9uKCkgeyByZXR1cm4gIjxmb28+IjsgfTsKK2Fzc2VydC5zYW1lVmFsdWUoImEyYjJjIi5yZXBs
YWNlQWxsKHNlYXJjaFZhbHVlLCByZXBsYWNlciksICJhPGZvbz5iPGZvbz5jIik7Cithc3NlcnQu
c2FtZVZhbHVlKCJhMmIyYyIucmVwbGFjZUFsbChzZWFyY2hWYWx1ZSwgIjxmb28+IiksICJhPGZv
bz5iPGZvbz5jIik7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5n
L3Byb3RvdHlwZS9yZXBsYWNlQWxsL3NlYXJjaFZhbHVlLXJlcGxhY2VyLW1ldGhvZC1hYnJ1cHQu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9w
cm90b3R5cGUvcmVwbGFjZUFsbC9zZWFyY2hWYWx1ZS1yZXBsYWNlci1tZXRob2QtYWJydXB0Lmpz
CShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcv
cHJvdG90eXBlL3JlcGxhY2VBbGwvc2VhcmNoVmFsdWUtcmVwbGFjZXItbWV0aG9kLWFicnVwdC5q
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyOSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5
IExlbyBCYWx0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0t
Citlc2lkOiBzZWMtc3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlYWxsCitkZXNjcmlwdGlvbjogPgor
ICBSZXR1cm4gYWJydXB0IGNvbXBsZXRpb24gZnJvbSBHZXRNZXRob2Qoc2VhcmNoVmFsdWUuQEBy
ZXBsYWNlKQoraW5mbzogfAorICBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwgKCBzZWFyY2hW
YWx1ZSwgcmVwbGFjZVZhbHVlICkKKworICAxLiBMZXQgTyBiZSBSZXF1aXJlT2JqZWN0Q29lcmNp
YmxlKHRoaXMgdmFsdWUpLgorICAyLiBJZiBzZWFyY2hWYWx1ZSBpcyBuZWl0aGVyIHVuZGVmaW5l
ZCBub3IgbnVsbCwgdGhlbgorICAgIGEuIExldCBpc1JlZ0V4cCBiZSA/IElzUmVnRXhwKHNlYXJj
aFN0cmluZykuCisgICAgYi4gSWYgaXNSZWdFeHAgaXMgdHJ1ZSwgdGhlbgorICAgICAgaS4gTGV0
IGZsYWdzIGJlID8gR2V0KHNlYXJjaFZhbHVlLCAiZmxhZ3MiKS4KKyAgICAgIGlpLiBQZXJmb3Jt
ID8gUmVxdWlyZU9iamVjdENvZXJjaWJsZShmbGFncykuCisgICAgICBpaWkuIElmID8gVG9TdHJp
bmcoZmxhZ3MpIGRvZXMgbm90IGNvbnRhaW4gImciLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRp
b24uCisgICAgYy4gTGV0IHJlcGxhY2VyIGJlID8gR2V0TWV0aG9kKHNlYXJjaFZhbHVlLCBAQHJl
cGxhY2UpLgorICAuLi4KKworICBHZXRNZXRob2QgKCBWLCBQICkKKworICAuLi4KKyAgMi4gTGV0
IGZ1bmMgYmUgPyBHZXRWKFYsIFApLgorICAzLiBJZiBmdW5jIGlzIGVpdGhlciB1bmRlZmluZWQg
b3IgbnVsbCwgcmV0dXJuIHVuZGVmaW5lZC4KKyAgNC4gSWYgSXNDYWxsYWJsZShmdW5jKSBpcyBm
YWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICA1LiBSZXR1cm4gZnVuYy4gCitm
ZWF0dXJlczogW1N0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCwgU3ltYm9sLCBTeW1ib2wubWF0
Y2gsIFN5bWJvbC5yZXBsYWNlXQorLS0tKi8KKwordmFyIHBvaXNvbmVkID0gMDsKK3ZhciBwb2lz
b24gPSB7CisgIHRvU3RyaW5nKCkgeworICAgIHBvaXNvbmVkICs9IDE7CisgICAgdGhyb3cgJ1No
b3VsZCBub3QgY2FsbCB0b1N0cmluZyBvbiB0aGlzL3JlcGxhY2VWYWx1ZSc7CisgIH0sCit9Owor
Cit2YXIgc2VhcmNoVmFsdWUgPSB7CisgIFtTeW1ib2wubWF0Y2hdOiBmYWxzZSwKKyAgZmxhZ3M6
ICdnJywKKyAgZ2V0IFtTeW1ib2wucmVwbGFjZV0oKSB7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJF
cnJvcigpOworICB9LAorfTsKKworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9u
KCkgeworICAnJy5yZXBsYWNlQWxsLmNhbGwocG9pc29uLCBzZWFyY2hWYWx1ZSwgcG9pc29uKTsK
K30sICdjdXN0b20gYWJydXB0Jyk7CisKK3NlYXJjaFZhbHVlID0geworICBbU3ltYm9sLm1hdGNo
XTogZmFsc2UsCisgIGZsYWdzOiAnZycsCisgIFtTeW1ib2wucmVwbGFjZV06IHt9LAorICB0b1N0
cmluZygpIHsKKyAgICB0aHJvdyAnU2hvdWxkIG5vdCBjYWxsIHRvU3RyaW5nIG9uIHNlYXJjaFZh
bHVlJzsKKyAgfQorfTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewor
ICAnJy5yZXBsYWNlQWxsLmNhbGwocG9pc29uLCBzZWFyY2hWYWx1ZSwgcG9pc29uKTsKK30sICdA
QHJlcGxhY2UgaXMgYW4gb2JqZWN0IChub3QgY2FsbGFibGUpJyk7CisKK3NlYXJjaFZhbHVlID0g
eworICBbU3ltYm9sLm1hdGNoXTogZmFsc2UsCisgIGZsYWdzOiAnZycsCisgIFtTeW1ib2wucmVw
bGFjZV06ICcnLAorICB0b1N0cmluZygpIHsKKyAgICB0aHJvdyAnU2hvdWxkIG5vdCBjYWxsIHRv
U3RyaW5nIG9uIHNlYXJjaFZhbHVlJzsKKyAgfQorfTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsIGZ1bmN0aW9uKCkgeworICAnJy5yZXBsYWNlQWxsLmNhbGwocG9pc29uLCBzZWFyY2hWYWx1
ZSwgcG9pc29uKTsKK30sICdAQHJlcGxhY2UgaXMgYSBzdHJpbmcnKTsKKworc2VhcmNoVmFsdWUg
PSB7CisgIFtTeW1ib2wubWF0Y2hdOiBmYWxzZSwKKyAgZmxhZ3M6ICdnJywKKyAgW1N5bWJvbC5y
ZXBsYWNlXTogNDIsCisgIHRvU3RyaW5nKCkgeworICAgIHRocm93ICdTaG91bGQgbm90IGNhbGwg
dG9TdHJpbmcgb24gc2VhcmNoVmFsdWUnOworICB9Cit9OworCithc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgZnVuY3Rpb24oKSB7CisgICcnLnJlcGxhY2VBbGwuY2FsbChwb2lzb24sIHNlYXJjaFZh
bHVlLCBwb2lzb24pOworfSwgJ0BAcmVwbGFjZSBpcyBhIG51bWJlcicpOworCitzZWFyY2hWYWx1
ZSA9IHsKKyAgW1N5bWJvbC5tYXRjaF06IGZhbHNlLAorICBmbGFnczogJ2cnLAorICBbU3ltYm9s
LnJlcGxhY2VdOiBTeW1ib2woKSwKKyAgdG9TdHJpbmcoKSB7CisgICAgdGhyb3cgJ1Nob3VsZCBu
b3QgY2FsbCB0b1N0cmluZyBvbiBzZWFyY2hWYWx1ZSc7CisgIH0KK307CisKK2Fzc2VydC50aHJv
d3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgJycucmVwbGFjZUFsbC5jYWxsKHBvaXNvbiwg
c2VhcmNoVmFsdWUsIHBvaXNvbik7Cit9LCAnQEByZXBsYWNlIGlzIGEgc3ltYm9sJyk7CisKK3Nl
YXJjaFZhbHVlID0geworICBbU3ltYm9sLm1hdGNoXTogZmFsc2UsCisgIGZsYWdzOiAnZycsCisg
IFtTeW1ib2wucmVwbGFjZV06IHRydWUsCisgIHRvU3RyaW5nKCkgeworICAgIHRocm93ICdTaG91
bGQgbm90IGNhbGwgdG9TdHJpbmcgb24gc2VhcmNoVmFsdWUnOworICB9Cit9OworCithc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgICcnLnJlcGxhY2VBbGwuY2FsbChwb2lz
b24sIHNlYXJjaFZhbHVlLCBwb2lzb24pOworfSwgJ0BAcmVwbGFjZSBpcyB0cnVlJyk7CisKK3Nl
YXJjaFZhbHVlID0geworICBbU3ltYm9sLm1hdGNoXTogZmFsc2UsCisgIGZsYWdzOiAnZycsCisg
IFtTeW1ib2wucmVwbGFjZV06IGZhbHNlLAorICB0b1N0cmluZygpIHsKKyAgICB0aHJvdyAnU2hv
dWxkIG5vdCBjYWxsIHRvU3RyaW5nIG9uIHNlYXJjaFZhbHVlJzsKKyAgfQorfTsKKworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICAnJy5yZXBsYWNlQWxsLmNhbGwocG9p
c29uLCBzZWFyY2hWYWx1ZSwgcG9pc29uKTsKK30sICdAQHJlcGxhY2UgaXMgZmFsc2UnKTsKKwor
YXNzZXJ0LnNhbWVWYWx1ZShwb2lzb25lZCwgMCk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zZWFyY2gvY3N0bS1zZWFyY2gtaXMtbnVsbC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3By
b3RvdHlwZS9zZWFyY2gvY3N0bS1zZWFyY2gtaXMtbnVsbC5qcwkobm9uZXhpc3RlbnQpCisrKyBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zZWFyY2gvY3N0
bS1zZWFyY2gtaXMtbnVsbC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMzIEBACisvLyBD
b3B5cmlnaHQgKEMpIDIwMjAgQWxleGV5IFNodmF5a2EuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtc3RyaW5nLnByb3RvdHlwZS5zZWFyY2gK
K2Rlc2NyaXB0aW9uOiA+CisgIElmIHJlZ2V4cCdzIFN5bWJvbC5zZWFyY2ggcHJvcGVydHkgaXMg
bnVsbCwgbm8gZXJyb3IgaXMgdGhyb3duLgoraW5mbzogfAorICBTdHJpbmcucHJvdG90eXBlLnNl
YXJjaCAoIHJlZ2V4cCApCisKKyAgWy4uLl0KKyAgMi4gSWYgcmVnZXhwIGlzIG5laXRoZXIgdW5k
ZWZpbmVkIG5vciBudWxsLCB0aGVuCisgICAgYS4gTGV0IHNlYXJjaGVyIGJlID8gR2V0TWV0aG9k
KHJlZ2V4cCwgQEBzZWFyY2gpLgorICAgIGIuIElmIHNlYXJjaGVyIGlzIG5vdCB1bmRlZmluZWQs
IHRoZW4KKyAgICAgIFsuLi5dCisgIFsuLi5dCisgIDUuIFJldHVybiA/IEludm9rZShyeCwgQEBz
ZWFyY2gsIMKrIHN0cmluZyDCuykuCisKKyAgR2V0TWV0aG9kICggViwgUCApCisKKyAgWy4uLl0K
KyAgMi4gTGV0IGZ1bmMgYmUgPyBHZXRWKFYsIFApLgorICAzLiBJZiBmdW5jIGlzIGVpdGhlciB1
bmRlZmluZWQgb3IgbnVsbCwgcmV0dXJuIHVuZGVmaW5lZC4KK2ZlYXR1cmVzOiBbU3ltYm9sLnNl
YXJjaF0KKy0tLSovCisKK3ZhciByZWdleHAgPSB7fTsKK3JlZ2V4cFtTeW1ib2wuc2VhcmNoXSA9
IG51bGw7CityZWdleHAudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgcmV0dXJuICJcXGQiOyB9Owor
cmVnZXhwLnZhbHVlT2YgPSBmdW5jdGlvbigpIHsgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigic2hv
dWxkIG5vdCBiZSBjYWxsZWQiKTsgfTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgiYWJjIi5zZWFyY2go
cmVnZXhwKSwgLTEpOworYXNzZXJ0LnNhbWVWYWx1ZSgiYWIzYyIuc2VhcmNoKHJlZ2V4cCksIDIp
OwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUv
c3BsaXQvY3N0bS1zcGxpdC1pcy1udWxsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2NzdG0tc3BsaXQtaXMtbnVs
bC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3Ry
aW5nL3Byb3RvdHlwZS9zcGxpdC9jc3RtLXNwbGl0LWlzLW51bGwuanMJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwzNCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIEFsZXhleSBTaHZheWthLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLXN0
cmluZy5wcm90b3R5cGUuc3BsaXQKK2Rlc2NyaXB0aW9uOiA+CisgIElmIHNlcGFyYXRvcidzIFN5
bWJvbC5zcGxpdCBwcm9wZXJ0eSBpcyBudWxsLCBubyBlcnJvciBpcyB0aHJvd24uCitpbmZvOiB8
CisgIFN0cmluZy5wcm90b3R5cGUuc3BsaXQgKCBzZXBhcmF0b3IsIGxpbWl0ICkKKworICBbLi4u
XQorICAyLiBJZiBzZXBhcmF0b3IgaXMgbmVpdGhlciB1bmRlZmluZWQgbm9yIG51bGwsIHRoZW4K
KyAgICBhLiBMZXQgc3BsaXR0ZXIgYmUgPyBHZXRNZXRob2Qoc2VwYXJhdG9yLCBAQHNwbGl0KS4K
KyAgICBiLiBJZiBzcGxpdHRlciBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICBbLi4uXQor
ICBbLi4uXQorICAxNy4gUmV0dXJuIEEuCisKKyAgR2V0TWV0aG9kICggViwgUCApCisKKyAgWy4u
Ll0KKyAgMi4gTGV0IGZ1bmMgYmUgPyBHZXRWKFYsIFApLgorICAzLiBJZiBmdW5jIGlzIGVpdGhl
ciB1bmRlZmluZWQgb3IgbnVsbCwgcmV0dXJuIHVuZGVmaW5lZC4KK2luY2x1ZGVzOiBbY29tcGFy
ZUFycmF5LmpzXQorZmVhdHVyZXM6IFtTeW1ib2wuc3BsaXRdCistLS0qLworCit2YXIgc2VwYXJh
dG9yID0ge307CitzZXBhcmF0b3JbU3ltYm9sLnNwbGl0XSA9IG51bGw7CitzZXBhcmF0b3IudG9T
dHJpbmcgPSBmdW5jdGlvbigpIHsgcmV0dXJuICIyIjsgfTsKK3NlcGFyYXRvci52YWx1ZU9mID0g
ZnVuY3Rpb24oKSB7IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoInNob3VsZCBub3QgYmUgY2FsbGVk
Iik7IH07CisKK2Fzc2VydC5jb21wYXJlQXJyYXkoImEyYjJjIi5zcGxpdChzZXBhcmF0b3IpLCBb
ImEiLCAiYiIsICJjIl0pOworYXNzZXJ0LmNvbXBhcmVBcnJheSgiYTJiMmMiLnNwbGl0KHNlcGFy
YXRvciwgMSksIFsiYSJdKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9T
eW1ib2wvaXMtY29uc3RydWN0b3IuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1N5bWJvbC9pcy1jb25zdHJ1Y3Rvci5qcwkobm9uZXhpc3RlbnQpCisrKyBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3ltYm9sL2lzLWNvbnN0cnVjdG9yLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBBbGV4
ZXkgU2h2YXlrYS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitl
c2lkOiBzZWMtc3ltYm9sLWNvbnN0cnVjdG9yCitkZXNjcmlwdGlvbjogPgorICBTeW1ib2wgaXMg
YSBjb25zdHJ1Y3RvciBhbmQgaGFzIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLgoraW5m
bzogfAorICBUaGUgU3ltYm9sIGNvbnN0cnVjdG9yOgorICBbLi4uXQorICAqIG1heSBiZSB1c2Vk
IGFzIHRoZSB2YWx1ZSBvZiBhbiBleHRlbmRzIGNsYXVzZSBvZiBhIGNsYXNzIGRlZmluaXRpb24K
KyAgYnV0IGEgc3VwZXIgY2FsbCB0byBpdCB3aWxsIGNhdXNlIGFuIGV4Y2VwdGlvbi4KKyAgWy4u
Ll0KKyAgKiBoYXMgYSBbW1Byb3RvdHlwZV1dIGludGVybmFsIHNsb3Qgd2hvc2UgdmFsdWUgaXMg
JUZ1bmN0aW9uLnByb3RvdHlwZSUuCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0
dXJlczogW1N5bWJvbCwgUmVmbGVjdC5jb25zdHJ1Y3RdCistLS0qLworCithc3NlcnQoaXNDb25z
dHJ1Y3RvcihTeW1ib2wpKTsKK2Fzc2VydC5zYW1lVmFsdWUoT2JqZWN0LmdldFByb3RvdHlwZU9m
KFN5bWJvbCksIEZ1bmN0aW9uLnByb3RvdHlwZSk7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9pbnRsNDAyL0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxlcy9jb21wbGV4LWxhbmd1YWdlLXN1YnRh
Zy1yZXBsYWNlbWVudC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRs
NDAyL0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxlcy9jb21wbGV4LWxhbmd1YWdlLXN1YnRhZy1yZXBs
YWNlbWVudC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAy
L0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxlcy9jb21wbGV4LWxhbmd1YWdlLXN1YnRhZy1yZXBsYWNl
bWVudC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU4IEBACisvLyBDb3B5cmlnaHQgKEMp
IDIwMjAgQW5kcsOpIEJhcmd1bGwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
CisKKy8qLS0tCitlc2lkOiBzZWMtaW50bC5nZXRjYW5vbmljYWxsb2NhbGVzCitkZXNjcmlwdGlv
bjogPgorICBBc3NlcnQgbm9uLXNpbXBsZSBsYW5ndWFnZSBzdWJ0YWcgcmVwbGFjZW1lbnRzIHdv
cmsgYXMgZXhwZWN0ZWQuCitpbmZvOiB8CisgIDguMi4xIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxl
cyAobG9jYWxlcykKKyAgICAxLiBMZXQgbGwgYmUgPyBDYW5vbmljYWxpemVMb2NhbGVMaXN0KGxv
Y2FsZXMpLgorICAgIDIuIFJldHVybiBDcmVhdGVBcnJheUZyb21MaXN0KGxsKS4KKworICA5LjIu
MSBDYW5vbmljYWxpemVMb2NhbGVMaXN0IChsb2NhbGVzKQorICAgIC4uLgorICAgIDcuIFJlcGVh
dCwgd2hpbGUgayA8IGxlbgorICAgICAgLi4uCisgICAgICBjLiBJZiBrUHJlc2VudCBpcyB0cnVl
LCB0aGVuCisgICAgICAgIC4uLgorICAgICAgICB2aS4gTGV0IGNhbm9uaWNhbGl6ZWRUYWcgYmUg
Q2Fub25pY2FsaXplVW5pY29kZUxvY2FsZUlkKHRhZykuCisgICAgICAgIC4uLgorCisgIFVUUyAz
NSwgwqczLjIuMSBDYW5vbmljYWwgVW5pY29kZSBMb2NhbGUgSWRlbnRpZmllcnMKKworICAtIFJl
cGxhY2UgYWxpYXNlcyBpbiB0aGUgdW5pY29kZV9sYW5ndWFnZV9pZCBhbmQgdGxhbmcgKGlmIGFu
eSkgdXNpbmcgdGhlIGZvbGxvd2luZyBwcm9jZXNzOgorICAgIC0gSWYgdGhlIGxhbmd1YWdlIHN1
YnRhZyBtYXRjaGVzIHRoZSB0eXBlIGF0dHJpYnV0ZSBvZiBhIGxhbmd1YWdlQWxpYXMgZWxlbWVu
dCBpbgorICAgICAgU3VwcGxlbWVudGFsIERhdGEsIHJlcGxhY2UgdGhlIGxhbmd1YWdlIHN1YnRh
ZyB3aXRoIHRoZSByZXBsYWNlbWVudCB2YWx1ZS4KKyAgICAgIDEuIElmIHRoZXJlIGFyZSBhZGRp
dGlvbmFsIHN1YnRhZ3MgaW4gdGhlIHJlcGxhY2VtZW50IHZhbHVlLCBhZGQgdGhlbSB0byB0aGUg
cmVzdWx0LAorICAgICAgICAgYnV0IG9ubHkgaWYgdGhlcmUgaXMgbm8gY29ycmVzcG9uZGluZyBz
dWJ0YWcgYWxyZWFkeSBpbiB0aGUgdGFnLgorCitpbmNsdWRlczogW3Rlc3RJbnRsLmpzXQorLS0t
Ki8KKworLy8gQ0xEUiBjb250YWlucyBsYW5ndWFnZSBtYXBwaW5ncyB3aGVyZSBpbiBhZGRpdGlv
biB0byB0aGUgbGFuZ3VhZ2Ugc3VidGFnIGFsc28KKy8vIHRoZSBzY3JpcHQgb3IgcmVnaW9uIHN1
YnRhZyBpcyBtb2RpZmllZCwgdW5sZXNzIHRoZXkncmUgYWxyZWFkeSBwcmVzZW50LgorCitjb25z
dCB0ZXN0RGF0YSA9IHsKKyAgLy8gInNoIiBhZGRzICJMYXRuIiwgdW5sZXNzIGEgc2NyaXB0IHN1
YnRhZyBpcyBhbHJlYWR5IHByZXNlbnQuCisgIC8vIDxsYW5ndWFnZUFsaWFzIHR5cGU9InNoIiBy
ZXBsYWNlbWVudD0ic3JfTGF0biIgcmVhc29uPSJsZWdhY3kiLz4KKyAgInNoIjogInNyLUxhdG4i
LAorICAic2gtQ3lybCI6ICJzci1DeXJsIiwKKworICAvLyAiY25yIiBhZGRzICJNRSIsIHVubGVz
cyBhIHJlZ2lvbiBzdWJ0YWcgaXMgYWxyZWFkeSBwcmVzZW50LgorICAvLyA8bGFuZ3VhZ2VBbGlh
cyB0eXBlPSJjbnIiIHJlcGxhY2VtZW50PSJzcl9NRSIgcmVhc29uPSJsZWdhY3kiLz4KKyAgImNu
ciI6ICJzci1NRSIsCisgICJjbnItQkEiOiAic3ItQkEiLAorfTsKKworZm9yIChsZXQgW3RhZywg
Y2Fub25pY2FsXSBvZiBPYmplY3QuZW50cmllcyh0ZXN0RGF0YSkpIHsKKyAgLy8gTWFrZSBzdXJl
IHRoZSB0ZXN0IGRhdGEgaXMgY29ycmVjdC4KKyAgYXNzZXJ0KAorICAgIGlzQ2Fub25pY2FsaXpl
ZFN0cnVjdHVyYWxseVZhbGlkTGFuZ3VhZ2VUYWcoY2Fub25pY2FsKSwKKyAgICAiXCIiICsgY2Fu
b25pY2FsICsgIlwiIGlzIGEgY2Fub25pY2FsaXplZCBhbmQgc3RydWN0dXJhbGx5IHZhbGlkIGxh
bmd1YWdlIHRhZy4iCisgICk7CisKKyAgbGV0IHJlc3VsdCA9IEludGwuZ2V0Q2Fub25pY2FsTG9j
YWxlcyh0YWcpOworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdC5sZW5ndGgsIDEpOworICBhc3Nl
cnQuc2FtZVZhbHVlKHJlc3VsdFswXSwgY2Fub25pY2FsKTsKK30KSW5kZXg6IEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2ludGw0MDIvSW50bC9nZXRDYW5vbmljYWxMb2NhbGVzL2NvbXBsZXgtcmVnaW9u
LXN1YnRhZy1yZXBsYWNlbWVudC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9pbnRsNDAyL0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxlcy9jb21wbGV4LXJlZ2lvbi1zdWJ0YWct
cmVwbGFjZW1lbnQuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50
bDQwMi9JbnRsL2dldENhbm9uaWNhbExvY2FsZXMvY29tcGxleC1yZWdpb24tc3VidGFnLXJlcGxh
Y2VtZW50LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTA4IEBACisvLyBDb3B5cmlnaHQg
KEMpIDIwMjAgQW5kcsOpIEJhcmd1bGwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCisKKy8qLS0tCitlc2lkOiBzZWMtaW50bC5nZXRjYW5vbmljYWxsb2NhbGVzCitkZXNjcmlw
dGlvbjogPgorICBBc3NlcnQgbm9uLXNpbXBsZSByZWdpb24gc3VidGFnIHJlcGxhY2VtZW50cyB3
b3JrIGFzIGV4cGVjdGVkLgoraW5mbzogfAorICA4LjIuMSBJbnRsLmdldENhbm9uaWNhbExvY2Fs
ZXMgKGxvY2FsZXMpCisgICAgMS4gTGV0IGxsIGJlID8gQ2Fub25pY2FsaXplTG9jYWxlTGlzdChs
b2NhbGVzKS4KKyAgICAyLiBSZXR1cm4gQ3JlYXRlQXJyYXlGcm9tTGlzdChsbCkuCisKKyAgOS4y
LjEgQ2Fub25pY2FsaXplTG9jYWxlTGlzdCAobG9jYWxlcykKKyAgICAuLi4KKyAgICA3LiBSZXBl
YXQsIHdoaWxlIGsgPCBsZW4KKyAgICAgIC4uLgorICAgICAgYy4gSWYga1ByZXNlbnQgaXMgdHJ1
ZSwgdGhlbgorICAgICAgICAuLi4KKyAgICAgICAgdmkuIExldCBjYW5vbmljYWxpemVkVGFnIGJl
IENhbm9uaWNhbGl6ZVVuaWNvZGVMb2NhbGVJZCh0YWcpLgorICAgICAgICAuLi4KKworICBVVFMg
MzUsIMKnMy4yLjEgQ2Fub25pY2FsIFVuaWNvZGUgTG9jYWxlIElkZW50aWZpZXJzCisKKyAgLSBS
ZXBsYWNlIGFsaWFzZXMgaW4gdGhlIHVuaWNvZGVfbGFuZ3VhZ2VfaWQgYW5kIHRsYW5nIChpZiBh
bnkpIHVzaW5nIHRoZSBmb2xsb3dpbmcgcHJvY2VzczoKKyAgICAtIElmIHRoZSByZWdpb24gc3Vi
dGFnIG1hdGNoZXMgdGhlIHR5cGUgYXR0cmlidXRlIG9mIGEgdGVycml0b3J5QWxpYXMgZWxlbWVu
dCBpbgorICAgICAgU3VwcGxlbWVudGFsIERhdGEsIHJlcGxhY2UgdGhlIGxhbmd1YWdlIHN1YnRh
ZyB3aXRoIHRoZSByZXBsYWNlbWVudCB2YWx1ZSwgYXMgZm9sbG93czoKKyAgICAgIDEuIElmIHRo
ZXJlIGlzIGEgc2luZ2xlIHRlcnJpdG9yeSBpbiB0aGUgcmVwbGFjZW1lbnQsIHVzZSBpdC4KKyAg
ICAgIDIuIElmIHRoZXJlIGFyZSBtdWx0aXBsZSB0ZXJyaXRvcmllczoKKyAgICAgICAgMS4gTG9v
ayB1cCB0aGUgbW9zdCBsaWtlbHkgdGVycml0b3J5IGZvciB0aGUgYmFzZSBsYW5ndWFnZSBjb2Rl
IChhbmQgc2NyaXB0LCBpZiB0aGVyZSBpcyBvbmUpLgorICAgICAgICAyLiBJZiB0aGF0IGxpa2Vs
eSB0ZXJyaXRvcnkgaXMgaW4gdGhlIGxpc3QsIHVzZSBpdC4KKyAgICAgICAgMy4gT3RoZXJ3aXNl
LCB1c2UgdGhlIGZpcnN0IHRlcnJpdG9yeSBpbiB0aGUgbGlzdC4KKworaW5jbHVkZXM6IFt0ZXN0
SW50bC5qc10KKy0tLSovCisKKy8vIENMRFIgY29udGFpbnMgcmVnaW9uIG1hcHBpbmdzIHdoZXJl
IHRoZSByZXBsYWNlbWVudCByZWdpb24gZGVwZW5kcyBvbiB0aGUKKy8vIGxpa2VseSBzdWJ0YWdz
IGZyb20gdGhlIGxhbmd1YWdlIGFuZCBzY3JpcHQgc3VidGFncy4KKworY29uc3QgdGVzdERhdGEg
PSB7CisgIC8vIEZvciBleGFtcGxlLCB0aGUgYnJlYWt1cCBvZiB0aGUgU292aWV0IFVuaW9uICgi
U1UiKSBtZWFucyB0aGF0IHRoZSByZWdpb24gb2YKKyAgLy8gdGhlIFNvdmlldCBVbmlvbiAoIlNV
IikgaXMgcmVwbGFjZWQgYnkgUnVzc2lhICgiUlUiKSwgQXJtZW5pYSAoIkFNIiksIG9yCisgIC8v
IG1hbnkgb3RoZXJzIC0tIGRlcGVuZGluZyBvbiB0aGUgc3BlY2lmaWVkIChvciBtZXJlbHkgbGlr
ZWx5KSBsYW5ndWFnZSBhbmQKKyAgLy8gc2NyaXB0IHN1YnRhZ3M6CisgIC8vCisgIC8vIDx0ZXJy
aXRvcnlBbGlhcyB0eXBlPSJTVSIgcmVwbGFjZW1lbnQ9IlJVIEFNIEFaIEJZIEVFIEdFIEtaIEtH
IExWIExUIE1EIFRKIFRNIFVBIFVaIiByZWFzb249ImRlcHJlY2F0ZWQiLz4KKyAgLy8gPHRlcnJp
dG9yeUFsaWFzIHR5cGU9IjgxMCIgcmVwbGFjZW1lbnQ9IlJVIEFNIEFaIEJZIEVFIEdFIEtaIEtH
IExWIExUIE1EIFRKIFRNIFVBIFVaIiByZWFzb249Im92ZXJsb25nIi8+CisgICJydS1TVSI6ICJy
dS1SVSIsCisgICJydS04MTAiOiAicnUtUlUiLAorICAiZW4tU1UiOiAiZW4tUlUiLAorICAiZW4t
ODEwIjogImVuLVJVIiwKKyAgInVuZC1TVSI6ICJ1bmQtUlUiLAorICAidW5kLTgxMCI6ICJ1bmQt
UlUiLAorICAidW5kLUxhdG4tU1UiOiAidW5kLUxhdG4tUlUiLAorICAidW5kLUxhdG4tODEwIjog
InVuZC1MYXRuLVJVIiwKKworICAvLyBBcm1lbmlhIGNhbiBiZSB0aGUgcHJlZmVycmVkIHJlZ2lv
biB3aGVuIHRoZSBsYW5ndWFnZSBpcyAiaHkiIChBcm1lbmlhbikgb3IKKyAgLy8gdGhlIHNjcmlw
dCBpcyAiQXJtbiIgKEFybWVuaWFuKS4KKyAgLy8KKyAgLy8gPGxpa2VseVN1YnRhZyBmcm9tPSJo
eSIgdG89Imh5X0FybW5fQU0iLz4KKyAgLy8gPGxpa2VseVN1YnRhZyBmcm9tPSJ1bmRfQXJtbiIg
dG89Imh5X0FybW5fQU0iLz4KKyAgImh5LVNVIjogImh5LUFNIiwKKyAgImh5LTgxMCI6ICJoeS1B
TSIsCisgICJ1bmQtQXJtbi1TVSI6ICJ1bmQtQXJtbi1BTSIsCisgICJ1bmQtQXJtbi04MTAiOiAi
dW5kLUFybW4tQU0iLAorCisgIC8vIDx0ZXJyaXRvcnlBbGlhcyB0eXBlPSJDUyIgcmVwbGFjZW1l
bnQ9IlJTIE1FIiByZWFzb249ImRlcHJlY2F0ZWQiLz4KKyAgLy8KKyAgLy8gVGhlIGZvbGxvd2lu
ZyBsaWtlbHktc3VidGFncyBlbnRyaWVzIGNvbnRhaW4gIlJTIiBhbmQgIk1FIjoKKyAgLy8KKyAg
Ly8gPGxpa2VseVN1YnRhZyBmcm9tPSJzciIgdG89InNyX0N5cmxfUlMiLz4KKyAgLy8gPGxpa2Vs
eVN1YnRhZyBmcm9tPSJzcl9NRSIgdG89InNyX0xhdG5fTUUiLz4KKyAgLy8gPGxpa2VseVN1YnRh
ZyBmcm9tPSJ1bmRfUlMiIHRvPSJzcl9DeXJsX1JTIi8+CisgIC8vIDxsaWtlbHlTdWJ0YWcgZnJv
bT0idW5kX01FIiB0bz0ic3JfTGF0bl9NRSIvPgorICAvLworICAvLyBJbiB0aGlzIGNhc2UgdGhl
cmUgaXMgbm8gbGFuZ3VhZ2Uvc2NyaXB0IGNvbWJpbmF0aW9uICh3aXRob3V0IGEgcmVnaW9uCisg
IC8vIHN1YnRhZykgd2hlcmUgIk1FIiBpcyBldmVyIGNob3Nlbiwgc28gdGhlIHJlcGxhY2VtZW50
IGlzIGFsd2F5cyAiUlMiLgorICAic3ItQ1MiOiAic3ItUlMiLAorICAic3ItTGF0bi1DUyI6ICJz
ci1MYXRuLVJTIiwKKyAgInNyLUN5cmwtQ1MiOiAic3ItQ3lybC1SUyIsCisKKyAgLy8gVGhlIGV4
aXN0aW5nIHJlZ2lvbiBpbiB0aGUgc291cmNlIGxvY2FsZSBpZGVudGlmaWVyIGlzIGlnbm9yZWQg
d2hlbiBzZWxlY3RpbmcKKyAgLy8gdGhlIGxpa2VseSByZXBsYWNlbWVudCByZWdpb24uIEZvciBl
eGFtcGxlIHRha2UgImF6LU5UIiwgd2hpY2ggaXMgQXplcmJhaWphbmkKKyAgLy8gc3Bva2VuIGlu
IHRoZSBOZXV0cmFsIFpvbmUuIFRoZSByZXBsYWNlbWVudCByZWdpb24gZm9yICJOVCIgaXMgZWl0
aGVyCisgIC8vICJTQSIgKFNhdWRpLUFyYWJpYSkgb3IgIklRIiAoSXJhcSksIGFuZCB0aGVyZSBp
cyBhbHNvIGEgbGlrZWx5IHN1YnRhZ3MgZW50cnkKKyAgLy8gZm9yICJhei1JUSIuIEJ1dCB3aGVu
IG9ubHkgbG9va2luZyBhdCB0aGUgbGFuZ3VhZ2Ugc3VidGFnIGluICJhei1OVCIsICJheiIgaXMK
KyAgLy8gYWx3YXlzIHJlc29sdmVkIHRvICJhei1MYXRuLUFaIiwgYW5kIGJlY2F1c2UgIkFaIiBp
cyBub3QgaW4gdGhlIGxpc3QgWyJTQSIsCisgIC8vICJJUSJdLCB0aGUgZmluYWwgcmVwbGFjZW1l
bnQgcmVnaW9uIGlzIHRoZSBkZWZhdWx0IGZvciAiTlQiLCBuYW1lbHkgIlNBIi4KKyAgLy8gVGhh
dCBtZWFucyAiYXotTlQiIHdpbGwgYmUgY2Fub25pY2FsaXNlZCB0byAiYXotU0EiIGFuZCBub3Qg
ImF6LUlRIiwgZXZlbgorICAvLyB0aG91Z2ggdGhlIGxhdHRlciBtYXkgYmUgYSBtb3JlIHNlbnNp
YmxlIGNhbmRpZGF0ZSBiYXNlZCBvbiB0aGUgYWN0dWFsIHVzYWdlCisgIC8vIG9mIHRoZSB0YXJn
ZXQgbG9jYWxlcy4KKyAgLy8KKyAgLy8gPHRlcnJpdG9yeUFsaWFzIHR5cGU9Ik5UIiByZXBsYWNl
bWVudD0iU0EgSVEiIHJlYXNvbj0iZGVwcmVjYXRlZCIvPgorICAvLyA8bGlrZWx5U3VidGFnIGZy
b209ImF6X0lRIiB0bz0iYXpfQXJhYl9JUSIvPgorICAvLyA8bGlrZWx5U3VidGFnIGZyb209ImF6
IiB0bz0iYXpfTGF0bl9BWiIvPgorICAiYXotTlQiOiAiYXotU0EiLAorfTsKKworZm9yIChsZXQg
W3RhZywgY2Fub25pY2FsXSBvZiBPYmplY3QuZW50cmllcyh0ZXN0RGF0YSkpIHsKKyAgLy8gTWFr
ZSBzdXJlIHRoZSB0ZXN0IGRhdGEgaXMgY29ycmVjdC4KKyAgYXNzZXJ0KAorICAgIGlzQ2Fub25p
Y2FsaXplZFN0cnVjdHVyYWxseVZhbGlkTGFuZ3VhZ2VUYWcoY2Fub25pY2FsKSwKKyAgICAiXCIi
ICsgY2Fub25pY2FsICsgIlwiIGlzIGEgY2Fub25pY2FsaXplZCBhbmQgc3RydWN0dXJhbGx5IHZh
bGlkIGxhbmd1YWdlIHRhZy4iCisgICk7CisKKyAgbGV0IHJlc3VsdCA9IEludGwuZ2V0Q2Fub25p
Y2FsTG9jYWxlcyh0YWcpOworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdC5sZW5ndGgsIDEpOwor
ICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdFswXSwgY2Fub25pY2FsKTsKK30KSW5kZXg6IEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50bC9nZXRDYW5vbmljYWxMb2NhbGVzL25vbi1pYW5h
LWNhbm9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50
bC9nZXRDYW5vbmljYWxMb2NhbGVzL25vbi1pYW5hLWNhbm9uLmpzCShyZXZpc2lvbiAyNjA1NzAp
CisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxl
cy9ub24taWFuYS1jYW5vbi5qcwkod29ya2luZyBjb3B5KQpAQCAtNjEsMTYgKzYxLDEyIEBAIHZh
ciB0ZXN0RGF0YSA9IFsKICAgICAgICAgY2Fub25pY2FsOiAiY3MiLAogICAgIH0sCiAgICAgewot
ICAgICAgICAvLyBFQ01BLTQwMiBjdXJyZW50bHkgcmVxdWlyZXMgdGhhdCB2YXJpYW50IHN1YnRh
Z3MgYXJlIG5vdCBjYW5vbmljYWxpemVkLgotICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20v
dGMzOS9lY21hNDAyL2lzc3Vlcy8zMzAKICAgICAgICAgdGFnOiAiaHktYXJldmVsYSIsCi0gICAg
ICAgIGNhbm9uaWNhbDogImh5LWFyZXZlbGEiLAorICAgICAgICBjYW5vbmljYWw6ICJoeSIsCiAg
ICAgfSwKICAgICB7Ci0gICAgICAgIC8vIEVDTUEtNDAyIGN1cnJlbnRseSByZXF1aXJlcyB0aGF0
IHZhcmlhbnQgc3VidGFncyBhcmUgbm90IGNhbm9uaWNhbGl6ZWQuCi0gICAgICAgIC8vIGh0dHBz
Oi8vZ2l0aHViLmNvbS90YzM5L2VjbWE0MDIvaXNzdWVzLzMzMAogICAgICAgICB0YWc6ICJoeS1h
cmV2bWRhIiwKLSAgICAgICAgY2Fub25pY2FsOiAiaHktYXJldm1kYSIsCisgICAgICAgIGNhbm9u
aWNhbDogImh5dyIsCiAgICAgfSwKIF07CiAKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2lu
dGw0MDIvSW50bC9nZXRDYW5vbmljYWxMb2NhbGVzL3ByZWZlcnJlZC12YXJpYW50LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50bC9nZXRDYW5vbmljYWxM
b2NhbGVzL3ByZWZlcnJlZC12YXJpYW50LmpzCShyZXZpc2lvbiAyNjA1NzApCisrKyBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxlcy9wcmVmZXJyZWQt
dmFyaWFudC5qcwkod29ya2luZyBjb3B5KQpAQCAtMzYsMTIgKzM2LDEwIEBAIGluZm86IHwKIGlu
Y2x1ZGVzOiBbdGVzdEludGwuanNdCiAtLS0qLwogCi0vLyBHZW5lcmF0ZWQgZnJvbSBodHRwOi8v
d3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2xhbmd1YWdlLXN1YnRhZy1yZWdpc3RyeS9sYW5ndWFn
ZS1zdWJ0YWctcmVnaXN0cnkKLS8vIEZpbGUtRGF0ZTogMjAxNy0wOC0xNQorLy8gR2VuZXJhdGVk
IGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3VuaWNvZGUtb3JnL2NsZHIvYmxvYi9tYXN0ZXIvY29t
bW9uL3N1cHBsZW1lbnRhbC9zdXBwbGVtZW50YWxNZXRhZGF0YS54bWwKKy8vIEZpbGUtRGF0ZTog
MjAyMC0wMy0zMAogdmFyIGNhbm9uaWNhbGl6ZWRUYWdzID0gewotICAvLyBFQ01BLTQwMiBjdXJy
ZW50bHkgcmVxdWlyZXMgdGhhdCB2YXJpYW50IHN1YnRhZ3MgYXJlIG5vdCBjYW5vbmljYWxpemVk
LgotICAvLyBodHRwczovL2dpdGh1Yi5jb20vdGMzOS9lY21hNDAyL2lzc3Vlcy8zMzAKLSAgImph
LWxhdG4taGVwYnVybi1oZXBsb2MiOiAiamEtTGF0bi1oZXBidXJuLWhlcGxvYyIsCisgICJqYS1s
YXRuLWhlcGJ1cm4taGVwbG9jIjogImphLUxhdG4tYWxhbGM5Ny1oZXBidXJuIiwKIH07CiAKIC8v
IG1ha2Ugc3VyZSB0aGUgZGF0YSBhYm92ZSBpcyBjb3JyZWN0CkluZGV4OiBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9pbnRsNDAyL0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxlcy90cmFuc2Zvcm1lZC1leHQt
Y2Fub25pY2FsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIv
SW50bC9nZXRDYW5vbmljYWxMb2NhbGVzL3RyYW5zZm9ybWVkLWV4dC1jYW5vbmljYWwuanMJKG5v
bmV4aXN0ZW50KQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9JbnRsL2dldENhbm9u
aWNhbExvY2FsZXMvdHJhbnNmb3JtZWQtZXh0LWNhbm9uaWNhbC5qcwkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDU0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQW5kcsOpIEJhcmd1bGwuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtaW50
bC5nZXRjYW5vbmljYWxsb2NhbGVzCitkZXNjcmlwdGlvbjogPgorICBUZXN0IGNhbm9uaWNhbGlz
YXRpb24gd2l0aGluIHRyYW5zZm9ybWVkIGV4dGVuc2lvbiBzdWJ0YWdzLgoraW5mbzogfAorICA4
LjIuMSBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMgKGxvY2FsZXMpCisgICAgMS4gTGV0IGxsIGJl
ID8gQ2Fub25pY2FsaXplTG9jYWxlTGlzdChsb2NhbGVzKS4KKyAgICAyLiBSZXR1cm4gQ3JlYXRl
QXJyYXlGcm9tTGlzdChsbCkuCisKKyAgOS4yLjEgQ2Fub25pY2FsaXplTG9jYWxlTGlzdCAobG9j
YWxlcykKKyAgICAuLi4KKyAgICA3LiBSZXBlYXQsIHdoaWxlIGsgPCBsZW4KKyAgICAgIC4uLgor
ICAgICAgYy4gSWYga1ByZXNlbnQgaXMgdHJ1ZSwgdGhlbgorICAgICAgICAuLi4KKyAgICAgICAg
di4gSWYgSXNTdHJ1Y3R1cmFsbHlWYWxpZExhbmd1YWdlVGFnKHRhZykgaXMgZmFsc2UsIHRocm93
IGEgUmFuZ2VFcnJvciBleGNlcHRpb24uCisgICAgICAgIHZpLiBMZXQgY2Fub25pY2FsaXplZFRh
ZyBiZSBDYW5vbmljYWxpemVVbmljb2RlTG9jYWxlSWQodGFnKS4KKyAgICAgICAgLi4uCisKK2lu
Y2x1ZGVzOiBbdGVzdEludGwuanNdCistLS0qLworCitjb25zdCB0ZXN0RGF0YSA9IHsKKyAgLy8g
VmFyaWFudCBzdWJ0YWdzIGFyZSBhbHBoYWJldGljYWxseSBvcmRlcmVkLgorICAic2wtdC1zbC1y
b3phai1iaXNrZS0xOTk0IjogInNsLXQtc2wtMTk5NC1iaXNrZS1yb3phaiIsCisKKyAgLy8gdGZp
ZWxkIHN1YnRhZ3MgYXJlIGFscGhhYmV0aWNhbGx5IG9yZGVyZWQuCisgIC8vIChBbHNvIHRlc3Rz
IHN1YnRhZyBjYXNlIG5vcm1hbGlzYXRpb24uKQorICAiREUtVC1NMC1ESU4tSzAtUVdFUlRaIjog
ImRlLXQtazAtcXdlcnR6LW0wLWRpbiIsCisKKyAgLy8gInRydWUiIHR2YWx1ZSBzdWJ0YWdzIGFy
ZW4ndCByZW1vdmVkLgorICAvLyAoVVRTIDM1IHZlcnNpb24gMzYsIMKnMy4yLjEgY2xhaW1zIG90
aGVyd2lzZSwgYnV0IHRrZXkgbXVzdCBiZSBmb2xsb3dlZCBieQorICAvLyB0dmFsdWUsIHNvIHRo
YXQncyBsaWtlbHkgYSBzcGVjIGJ1ZyBpbiBVVFMgMzUuKQorICAiZW4tdC1tMC10cnVlIjogImVu
LXQtbTAtdHJ1ZSIsCisKKyAgLy8gdGxhbmcgc3VidGFncyBhcmUgY2Fub25pY2FsaXNlZC4KKyAg
ImVuLXQtaXciOiAiZW4tdC1oZSIsCisKKyAgLy8gRGVwcmVjYXRlZCB0dmFsdWUgc3VidGFncyBh
cmUgcmVwbGFjZWQgYnkgdGhlaXIgcHJlZmVycmVkIHZhbHVlLgorICAidW5kLUxhdG4tdC11bmQt
aGFuaS1tMC1uYW1lcyI6ICJ1bmQtTGF0bi10LXVuZC1oYW5pLW0wLXBycHJuYW1lIiwKK307CisK
K2ZvciAobGV0IFt0YWcsIGNhbm9uaWNhbF0gb2YgT2JqZWN0LmVudHJpZXModGVzdERhdGEpKSB7
CisgIC8vIE1ha2Ugc3VyZSB0aGUgdGVzdCBkYXRhIGlzIGNvcnJlY3QuCisgIGFzc2VydChpc0Nh
bm9uaWNhbGl6ZWRTdHJ1Y3R1cmFsbHlWYWxpZExhbmd1YWdlVGFnKGNhbm9uaWNhbCksCisgICAg
ICAgICAiXCIiICsgY2Fub25pY2FsICsgIlwiIGlzIGEgY2Fub25pY2FsIGFuZCBzdHJ1Y3R1cmFs
bHkgdmFsaWQgbGFuZ3VhZ2UgdGFnLiIpOworCisgIGxldCByZXN1bHQgPSBJbnRsLmdldENhbm9u
aWNhbExvY2FsZXModGFnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQubGVuZ3RoLCAxKTsK
KyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHRbMF0sIGNhbm9uaWNhbCk7Cit9CkluZGV4OiBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxlcy90cmFuc2Zv
cm1lZC1leHQtaW52YWxpZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9p
bnRsNDAyL0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxlcy90cmFuc2Zvcm1lZC1leHQtaW52YWxpZC5q
cwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvZ2V0
Q2Fub25pY2FsTG9jYWxlcy90cmFuc2Zvcm1lZC1leHQtaW52YWxpZC5qcwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDc4IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQW5kcsOpIEJhcmd1bGwu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMt
aW50bC5nZXRjYW5vbmljYWxsb2NhbGVzCitkZXNjcmlwdGlvbjogPgorICBBIFJhbmdlRXJyb3Ig
aXMgdGhyb3duIHdoZW4gYSBsYW5ndWFnZSB0YWcgaW5jbHVkZXMgYW4gaW52YWxpZCB0cmFuc2Zv
cm1lZCBleHRlbnNpb24gc3VidGFnLgoraW5mbzogfAorICA4LjIuMSBJbnRsLmdldENhbm9uaWNh
bExvY2FsZXMgKGxvY2FsZXMpCisgICAgMS4gTGV0IGxsIGJlID8gQ2Fub25pY2FsaXplTG9jYWxl
TGlzdChsb2NhbGVzKS4KKyAgICAyLiBSZXR1cm4gQ3JlYXRlQXJyYXlGcm9tTGlzdChsbCkuCisK
KyAgOS4yLjEgQ2Fub25pY2FsaXplTG9jYWxlTGlzdCAobG9jYWxlcykKKyAgICAuLi4KKyAgICA3
LiBSZXBlYXQsIHdoaWxlIGsgPCBsZW4KKyAgICAgIC4uLgorICAgICAgYy4gSWYga1ByZXNlbnQg
aXMgdHJ1ZSwgdGhlbgorICAgICAgICAuLi4KKyAgICAgICAgdi4gSWYgSXNTdHJ1Y3R1cmFsbHlW
YWxpZExhbmd1YWdlVGFnKHRhZykgaXMgZmFsc2UsIHRocm93IGEgUmFuZ2VFcnJvciBleGNlcHRp
b24uCisgICAgICAgIC4uLgorCitpbmNsdWRlczogW3Rlc3RJbnRsLmpzXQorLS0tKi8KKworY29u
c3QgaW52YWxpZCA9IFsKKyAgLy8gZW1wdHkKKyAgImVuLXQiLAorICAiZW4tdC1hIiwKKyAgImVu
LXQteCIsCisgICJlbi10LTAiLAorCisgIC8vIGluY29tcGxldGUKKyAgImVuLXQtIiwKKyAgImVu
LXQtZW4tIiwKKyAgImVuLXQtMHgtIiwKKworICAvLyB0bGFuZzogdW5pY29kZV9sYW5ndWFnZV9z
dWJ0YWcgbXVzdCBiZSAyLTMgb3IgNS04IGNoYXJhY3RlcnMgYW5kIG11c3RuJ3QKKyAgLy8gY29u
dGFpbiBleHRsYW5nIHN1YnRhZ3MuCisgICJlbi10LXJvb3QiLAorICAiZW4tdC1hYmNkZWZnaGki
LAorICAiZW4tdC1hci1hYW8iLAorCisgIC8vIHRsYW5nOiB1bmljb2RlX3NjcmlwdF9zdWJ0YWcg
bXVzdCBiZSA0IGFscGhhYmV0aWNhbCBjaGFyYWN0ZXJzLCBjYW4ndAorICAvLyBiZSByZXBlYXRl
ZC4KKyAgImVuLXQtZW4tbGF0MCIsCisgICJlbi10LWVuLWxhdG4tbGF0biIsCisKKyAgLy8gdGxh
bmc6IHVuaWNvZGVfcmVnaW9uX3N1YnRhZyBtdXN0IGVpdGhlciBiZSAyIGFscGhhIGNoYXJhY3Rl
cnMgb3IgYSB0aHJlZQorICAvLyBkaWdpdCBjb2RlLgorICAiZW4tdC1lbi0wIiwKKyAgImVuLXQt
ZW4tMDAiLAorICAiZW4tdC1lbi0weCIsCisgICJlbi10LWVuLXgwIiwKKyAgImVuLXQtZW4tbGF0
bi0wIiwKKyAgImVuLXQtZW4tbGF0bi0wMCIsCisgICJlbi10LWVuLWxhdG4teHl6IiwKKworICAv
LyB0bGFuZzogdW5pY29kZV92YXJpYW50X3N1YnRhZyBpcyBlaXRoZXIgNS04IGFscGhhbnVtIGNo
YXJhY3RlcnMgb3IgNAorICAvLyBjaGFyYWN0ZXJzIHN0YXJ0aW5nIHdpdGggYSBkaWdpdC4KKyAg
ImVuLXQtZW4tYWJjZGVmZ2hpIiwKKyAgImVuLXQtZW4tbGF0bi1nYi1hYiIsCisgICJlbi10LWVu
LWxhdG4tZ2ItYWJjIiwKKyAgImVuLXQtZW4tbGF0bi1nYi1hYmNkIiwKKyAgImVuLXQtZW4tbGF0
bi1nYi1hYmNkZWZnaGkiLAorCisgIC8vIHRrZXkgbXVzdCBiZSBmb2xsb3dlZCBieSB0dmFsdWUu
CisgICJlbi10LWQwIiwKKyAgImVuLXQtZDAtbTAiLAorICAiZW4tdC1kMC14LXByaXZhdGUiLAor
XTsKKworZm9yIChsZXQgdGFnIG9mIGludmFsaWQpIHsKKyAgLy8gTWFrZSBzdXJlIHRoZSB0ZXN0
IGRhdGEgaXMgY29ycmVjdC4KKyAgYXNzZXJ0LnNhbWVWYWx1ZShpc0Nhbm9uaWNhbGl6ZWRTdHJ1
Y3R1cmFsbHlWYWxpZExhbmd1YWdlVGFnKHRhZyksIGZhbHNlLAorICAgICAgICAgICAgICAgICAg
ICJcIiIgKyB0YWcgKyAiXCIgaXNuJ3QgYSBzdHJ1Y3R1cmFsbHkgdmFsaWQgbGFuZ3VhZ2UgdGFn
LiIpOworCisgIGFzc2VydC50aHJvd3MoUmFuZ2VFcnJvciwgKCkgPT4gSW50bC5nZXRDYW5vbmlj
YWxMb2NhbGVzKHRhZyksIGAke3RhZ31gKTsKK30KSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0
L2ludGw0MDIvSW50bC9nZXRDYW5vbmljYWxMb2NhbGVzL3RyYW5zZm9ybWVkLWV4dC12YWxpZC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvZ2V0Q2Fu
b25pY2FsTG9jYWxlcy90cmFuc2Zvcm1lZC1leHQtdmFsaWQuanMJKG5vbmV4aXN0ZW50KQorKysg
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9JbnRsL2dldENhbm9uaWNhbExvY2FsZXMvdHJh
bnNmb3JtZWQtZXh0LXZhbGlkLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzggQEAKKy8v
IENvcHlyaWdodCAoQykgMjAyMCBBbmRyw6kgQmFyZ3VsbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1pbnRsLmdldGNhbm9uaWNhbGxvY2Fs
ZXMKK2Rlc2NyaXB0aW9uOiA+CisgIE5vIFJhbmdlRXJyb3IgaXMgdGhyb3duIHdoZW4gYSBsYW5n
dWFnZSB0YWcgaW5jbHVkZXMgYSB2YWxpZCB0cmFuc2Zvcm1lZCBleHRlbnNpb24gc3VidGFnLgor
aW5mbzogfAorICA4LjIuMSBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMgKGxvY2FsZXMpCisgICAg
MS4gTGV0IGxsIGJlID8gQ2Fub25pY2FsaXplTG9jYWxlTGlzdChsb2NhbGVzKS4KKyAgICAyLiBS
ZXR1cm4gQ3JlYXRlQXJyYXlGcm9tTGlzdChsbCkuCisKKyAgOS4yLjEgQ2Fub25pY2FsaXplTG9j
YWxlTGlzdCAobG9jYWxlcykKKyAgICAuLi4KKyAgICA3LiBSZXBlYXQsIHdoaWxlIGsgPCBsZW4K
KyAgICAgIC4uLgorICAgICAgYy4gSWYga1ByZXNlbnQgaXMgdHJ1ZSwgdGhlbgorICAgICAgICAu
Li4KKyAgICAgICAgdi4gSWYgSXNTdHJ1Y3R1cmFsbHlWYWxpZExhbmd1YWdlVGFnKHRhZykgaXMg
ZmFsc2UsIHRocm93IGEgUmFuZ2VFcnJvciBleGNlcHRpb24uCisgICAgICAgIHZpLiBMZXQgY2Fu
b25pY2FsaXplZFRhZyBiZSBDYW5vbmljYWxpemVVbmljb2RlTG9jYWxlSWQodGFnKS4KKyAgICAg
ICAgLi4uCisKK2luY2x1ZGVzOiBbdGVzdEludGwuanNdCistLS0qLworCitjb25zdCB2YWxpZCA9
IFsKKyAgLy8gdGxhbmcgd2l0aCB1bmljb2RlX2xhbmd1YWdlX3N1YnRhZy4KKyAgImVuLXQtZW4i
LAorCisgIC8vIHRsYW5nIHdpdGggdW5pY29kZV9zY3JpcHRfc3VidGFnLgorICAiZW4tdC1lbi1s
YXRuIiwKKworICAvLyB0bGFuZyB3aXRoIHVuaWNvZGVfcmVnaW9uX3N1YnRhZy4KKyAgImVuLXQt
ZW4tY2EiLAorCisgIC8vIHRsYW5nIHdpdGggdW5pY29kZV9zY3JpcHRfc3VidGFnIGFuZCB1bmlj
b2RlX3JlZ2lvbl9zdWJ0YWcuCisgICJlbi10LWVuLWxhdG4tY2EiLAorCisgIC8vIHRsYW5nIHdp
dGggdW5pY29kZV92YXJpYW50X3N1YnRhZy4KKyAgImVuLXQtZW4tZW1vZGVuZyIsCisKKyAgLy8g
dGxhbmcgd2l0aCB1bmljb2RlX3NjcmlwdF9zdWJ0YWcgYW5kIHVuaWNvZGVfdmFyaWFudF9zdWJ0
YWcuCisgICJlbi10LWVuLWxhdG4tZW1vZGVuZyIsCisKKyAgLy8gdGxhbmcgd2l0aCB1bmljb2Rl
X3NjcmlwdF9zdWJ0YWcgYW5kIHVuaWNvZGVfdmFyaWFudF9zdWJ0YWcuCisgICJlbi10LWVuLWNh
LWVtb2RlbmciLAorCisgIC8vIHRsYW5nIHdpdGggdW5pY29kZV9zY3JpcHRfc3VidGFnLCB1bmlj
b2RlX3JlZ2lvbl9zdWJ0YWcsIGFuZCB1bmljb2RlX3ZhcmlhbnRfc3VidGFnLgorICAiZW4tdC1l
bi1sYXRuLWNhLWVtb2RlbmciLAorCisgIC8vIE5vIHRsYW5nLiAoTXVzdCBjb250YWluIGF0IGxl
YXN0IG9uZSB0ZmllbGQuKQorICAiZW4tdC1kMC1hc2NpaSIsCitdOworCitjb25zdCBleHRyYUZp
ZWxkcyA9IFsKKyAgLy8gTm8gZXh0cmEgdGZpZWxkCisgICIiLAorCisgIC8vIHRmaWVsZCB3aXRo
IGEgdHZhbHVlIGNvbnNpc3Rpbmcgb2YgYSBzaW5nbGUgc3VidGFnLgorICAiLWkwLWhhbmR3cml0
IiwKKworICAvLyB0ZmllbGQgd2l0aCBhIHR2YWx1ZSBjb25zaXN0aW5nIG9mIHR3byBzdWJ0YWdz
LgorICAiLXMwLWFjY2VudHMtcHVibGlzaCIsCitdOworCitmb3IgKGxldCB0YWcgb2YgdmFsaWQp
IHsKKyAgZm9yIChsZXQgZXh0cmEgb2YgZXh0cmFGaWVsZHMpIHsKKyAgICBsZXQgYWN0dWFsVGFn
ID0gdGFnICsgZXh0cmE7CisKKyAgICAvLyBNYWtlIHN1cmUgdGhlIHRlc3QgZGF0YSBpcyBjb3Jy
ZWN0LgorICAgIGFzc2VydChpc0Nhbm9uaWNhbGl6ZWRTdHJ1Y3R1cmFsbHlWYWxpZExhbmd1YWdl
VGFnKGFjdHVhbFRhZyksCisgICAgICAgICAgICJcIiIgKyBhY3R1YWxUYWcgKyAiXCIgaXMgYSBj
YW5vbmljYWwgYW5kIHN0cnVjdHVyYWxseSB2YWxpZCBsYW5ndWFnZSB0YWcuIik7CisKKyAgICBs
ZXQgcmVzdWx0ID0gSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKGFjdHVhbFRhZyk7CisgICAgYXNz
ZXJ0LnNhbWVWYWx1ZShyZXN1bHQubGVuZ3RoLCAxKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHJl
c3VsdFswXSwgYWN0dWFsVGFnKTsKKyAgfQorfQpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
aW50bDQwMi9JbnRsL2dldENhbm9uaWNhbExvY2FsZXMvdW5pY29kZS1leHQtY2Fub25pY2FsaXpl
LWNhbGVuZGFyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIv
SW50bC9nZXRDYW5vbmljYWxMb2NhbGVzL3VuaWNvZGUtZXh0LWNhbm9uaWNhbGl6ZS1jYWxlbmRh
ci5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwv
Z2V0Q2Fub25pY2FsTG9jYWxlcy91bmljb2RlLWV4dC1jYW5vbmljYWxpemUtY2FsZW5kYXIuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1OCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIEFu
ZHLDqSBCYXJndWxsLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0t
LQorZXNpZDogc2VjLWludGwuZ2V0Y2Fub25pY2FsbG9jYWxlcworZGVzY3JpcHRpb246ID4KKyAg
VGVzdCBVbmljb2RlIGV4dGVuc2lvbiBzdWJ0YWcgY2Fub25pY2FsaXNhdGlvbiBmb3IgdGhlICJj
YSIgZXh0ZW5zaW9uIGtleS4KK2luZm86IHwKKyAgOC4yLjEgSW50bC5nZXRDYW5vbmljYWxMb2Nh
bGVzIChsb2NhbGVzKQorICAgIDEuIExldCBsbCBiZSA/IENhbm9uaWNhbGl6ZUxvY2FsZUxpc3Qo
bG9jYWxlcykuCisgICAgMi4gUmV0dXJuIENyZWF0ZUFycmF5RnJvbUxpc3QobGwpLgorCisgIDku
Mi4xIENhbm9uaWNhbGl6ZUxvY2FsZUxpc3QgKGxvY2FsZXMpCisgICAgLi4uCisgICAgNy4gUmVw
ZWF0LCB3aGlsZSBrIDwgbGVuCisgICAgICAuLi4KKyAgICAgIGMuIElmIGtQcmVzZW50IGlzIHRy
dWUsIHRoZW4KKyAgICAgICAgLi4uCisgICAgICAgIHYuIElmIElzU3RydWN0dXJhbGx5VmFsaWRM
YW5ndWFnZVRhZyh0YWcpIGlzIGZhbHNlLCB0aHJvdyBhIFJhbmdlRXJyb3IgZXhjZXB0aW9uLgor
ICAgICAgICB2aS4gTGV0IGNhbm9uaWNhbGl6ZWRUYWcgYmUgQ2Fub25pY2FsaXplVW5pY29kZUxv
Y2FsZUlkKHRhZykuCisgICAgICAgIC4uLgorCisgIFVUUyAzNSwgwqczLjIuMSBDYW5vbmljYWwg
VW5pY29kZSBMb2NhbGUgSWRlbnRpZmllcnMKKyAgICBVc2UgdGhlIGJjcDQ3IGRhdGEgdG8gcmVw
bGFjZSBrZXlzLCB0eXBlcywgdGZpZWxkcywgYW5kIHR2YWx1ZXMgYnkgdGhlaXIgY2Fub25pY2Fs
IGZvcm1zLgorICAgIFNlZSBTZWN0aW9uIDMuNi40IFUgRXh0ZW5zaW9uIERhdGEgRmlsZXMpIGFu
ZCBTZWN0aW9uIDMuNy4xIFQgRXh0ZW5zaW9uIERhdGEgRmlsZXMuIFRoZQorICAgIGFsaWFzZXMg
YXJlIGluIHRoZSBhbGlhcyBhdHRyaWJ1dGUgdmFsdWUsIHdoaWxlIHRoZSBjYW5vbmljYWwgaXMg
aW4gdGhlIG5hbWUgYXR0cmlidXRlIHZhbHVlLgoraW5jbHVkZXM6IFt0ZXN0SW50bC5qc10KKy0t
LSovCisKKy8vIDxrZXkgbmFtZT0iY2EiIFsuLi5dIGFsaWFzPSJjYWxlbmRhciI+Citjb25zdCB0
ZXN0RGF0YSA9IHsKKyAgLy8gPHR5cGUgbmFtZT0iZXRoaW9hYSIgWy4uLl0gYWxpYXM9ImV0aGlv
cGljLWFtZXRlLWFsZW0iLz4KKyAgImV0aGlvcGljLWFtZXRlLWFsZW0iOiAiZXRoaW9hYSIsCisK
KyAgLy8gPHR5cGUgbmFtZT0iaXNsYW1pYy1jaXZpbCIgWy4uLl0gLz4KKyAgLy8gPHR5cGUgbmFt
ZT0iaXNsYW1pY2MiIFsuLi5dIGRlcHJlY2F0ZWQ9InRydWUiIHByZWZlcnJlZD0iaXNsYW1pYy1j
aXZpbCIgYWxpYXM9ImlzbGFtaWMtY2l2aWwiLz4KKyAgLy8KKyAgLy8gIm5hbWUiIGFuZCAiYWxp
YXMiIGZvciAiaXNsYW1pYy1jaXZpbCIgZG9uJ3QgcXVpdGUgbWF0Y2ggb2Ygd2hhdCdzIHNwZWMn
ZWQgaW4gVVRTIDM1LCDCpzMuMi4xLgorICAvLyBTcGVjaWZpY2FsbHkgZm9sbG93aW5nIMKnMy4y
LjEgdG8gdGhlIGxldHRlciBtZWFucyAiaXNsYW1pY2MiIGlzIHRoZSBjYW5vbmljYWwgdmFsdWUg
d2hlcmVhcworICAvLyAiaXNsYW1pYy1jaXZpbCIgaXMgYW4gYWxpYXMgdmFsdWUuIEFzc3VtZSB0
aGUgZGVmaW5pdGlvbnMgaW4KKyAgLy8gaHR0cHM6Ly91bmljb2RlLm9yZy9yZXBvcnRzL3RyMzUv
I1VuaWNvZGVfTG9jYWxlX0V4dGVuc2lvbl9EYXRhX0ZpbGVzIG92ZXJydWxlIFVUUyAzNSwgwqcz
LjIuMS4KKyAgImlzbGFtaWNjIjogImlzbGFtaWMtY2l2aWwiLAorfTsKKworZm9yIChsZXQgW2Fs
aWFzLCBuYW1lXSBvZiBPYmplY3QuZW50cmllcyh0ZXN0RGF0YSkpIHsKKyAgbGV0IHRhZyA9ICJ1
bmQtdS1jYS0iICsgYWxpYXM7CisgIGxldCBjYW5vbmljYWwgPSAidW5kLXUtY2EtIiArIG5hbWU7
CisKKyAgLy8gTWFrZSBzdXJlIHRoZSB0ZXN0IGRhdGEgaXMgY29ycmVjdC4KKyAgYXNzZXJ0LnNh
bWVWYWx1ZShpc0Nhbm9uaWNhbGl6ZWRTdHJ1Y3R1cmFsbHlWYWxpZExhbmd1YWdlVGFnKHRhZyks
IGZhbHNlLAorICAgICAgICAgICAgICAgICAgICJcIiIgKyB0YWcgKyAiXCIgaXNuJ3QgYSBjYW5v
bmljYWwgbGFuZ3VhZ2UgdGFnLiIpOworICBhc3NlcnQoaXNDYW5vbmljYWxpemVkU3RydWN0dXJh
bGx5VmFsaWRMYW5ndWFnZVRhZyhjYW5vbmljYWwpLAorICAgICAgICAgIlwiIiArIGNhbm9uaWNh
bCArICJcIiBpcyBhIGNhbm9uaWNhbCBhbmQgc3RydWN0dXJhbGx5IHZhbGlkIGxhbmd1YWdlIHRh
Zy4iKTsKKworICBsZXQgcmVzdWx0ID0gSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKHRhZyk7Cisg
IGFzc2VydC5zYW1lVmFsdWUocmVzdWx0Lmxlbmd0aCwgMSk7CisgIGFzc2VydC5zYW1lVmFsdWUo
cmVzdWx0WzBdLCBjYW5vbmljYWwpOworfQpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50
bDQwMi9JbnRsL2dldENhbm9uaWNhbExvY2FsZXMvdW5pY29kZS1leHQtY2Fub25pY2FsaXplLWNv
bC1zdHJlbmd0aC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAy
L0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxlcy91bmljb2RlLWV4dC1jYW5vbmljYWxpemUtY29sLXN0
cmVuZ3RoLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIv
SW50bC9nZXRDYW5vbmljYWxMb2NhbGVzL3VuaWNvZGUtZXh0LWNhbm9uaWNhbGl6ZS1jb2wtc3Ry
ZW5ndGguanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NSBAQAorLy8gQ29weXJpZ2h0IChD
KSAyMDIwIEFuZHLDqSBCYXJndWxsLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2Rl
IGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgorCisvKi0tLQorZXNpZDogc2VjLWludGwuZ2V0Y2Fub25pY2FsbG9jYWxlcworZGVzY3JpcHRp
b246ID4KKyAgVGVzdCBVbmljb2RlIGV4dGVuc2lvbiBzdWJ0YWcgY2Fub25pY2FsaXNhdGlvbiBm
b3IgdGhlICJrcyIgZXh0ZW5zaW9uIGtleS4KK2luZm86IHwKKyAgOC4yLjEgSW50bC5nZXRDYW5v
bmljYWxMb2NhbGVzIChsb2NhbGVzKQorICAgIDEuIExldCBsbCBiZSA/IENhbm9uaWNhbGl6ZUxv
Y2FsZUxpc3QobG9jYWxlcykuCisgICAgMi4gUmV0dXJuIENyZWF0ZUFycmF5RnJvbUxpc3QobGwp
LgorCisgIDkuMi4xIENhbm9uaWNhbGl6ZUxvY2FsZUxpc3QgKGxvY2FsZXMpCisgICAgLi4uCisg
ICAgNy4gUmVwZWF0LCB3aGlsZSBrIDwgbGVuCisgICAgICAuLi4KKyAgICAgIGMuIElmIGtQcmVz
ZW50IGlzIHRydWUsIHRoZW4KKyAgICAgICAgLi4uCisgICAgICAgIHYuIElmIElzU3RydWN0dXJh
bGx5VmFsaWRMYW5ndWFnZVRhZyh0YWcpIGlzIGZhbHNlLCB0aHJvdyBhIFJhbmdlRXJyb3IgZXhj
ZXB0aW9uLgorICAgICAgICB2aS4gTGV0IGNhbm9uaWNhbGl6ZWRUYWcgYmUgQ2Fub25pY2FsaXpl
VW5pY29kZUxvY2FsZUlkKHRhZykuCisgICAgICAgIC4uLgorCisgIFVUUyAzNSwgwqczLjIuMSBD
YW5vbmljYWwgVW5pY29kZSBMb2NhbGUgSWRlbnRpZmllcnMKKyAgICBVc2UgdGhlIGJjcDQ3IGRh
dGEgdG8gcmVwbGFjZSBrZXlzLCB0eXBlcywgdGZpZWxkcywgYW5kIHR2YWx1ZXMgYnkgdGhlaXIg
Y2Fub25pY2FsIGZvcm1zLgorICAgIFNlZSBTZWN0aW9uIDMuNi40IFUgRXh0ZW5zaW9uIERhdGEg
RmlsZXMpIGFuZCBTZWN0aW9uIDMuNy4xIFQgRXh0ZW5zaW9uIERhdGEgRmlsZXMuIFRoZQorICAg
IGFsaWFzZXMgYXJlIGluIHRoZSBhbGlhcyBhdHRyaWJ1dGUgdmFsdWUsIHdoaWxlIHRoZSBjYW5v
bmljYWwgaXMgaW4gdGhlIG5hbWUgYXR0cmlidXRlIHZhbHVlLgoraW5jbHVkZXM6IFt0ZXN0SW50
bC5qc10KKy0tLSovCisKKy8vIDxrZXkgbmFtZT0ia3MiIFsuLi5dIGFsaWFzPSJjb2xTdHJlbmd0
aCI+LworY29uc3QgdGVzdERhdGEgPSB7CisgIC8vIDx0eXBlIG5hbWU9ImxldmVsMSIgWy4uLl0g
YWxpYXM9InByaW1hcnkiLz4KKyAgInByaW1hcnkiOiAibGV2ZWwxIiwKKworICAvLyAic2Vjb25k
YXJ5IiBkb2Vzbid0IG1hdGNoIHx1dmFsdWV8LCBzbyB3ZSBjYW4gc2tpcCBpdC4KKyAgLy8gPHR5
cGUgbmFtZT0ibGV2ZWwyIiBbLi4uXSBhbGlhcz0ic2Vjb25kYXJ5Ii8+CisgIC8vICJzZWNvbmRh
cnkiOiAibGV2ZWwyIiwKKworICAvLyA8dHlwZSBuYW1lPSJsZXZlbDMiIFsuLi5dIGFsaWFzPSJ0
ZXJ0aWFyeSIvPgorICAidGVydGlhcnkiOiAibGV2ZWwzIiwKKworICAvLyBOZWl0aGVyICJxdWF0
ZXJuYXJ5IiBub3IgInF1YXJ0ZXJuYXJ5IiBtYXRjaCB8dXZhbHVlfCwgc28gd2UgY2FuIHNraXAg
dGhlbS4KKyAgLy8gPHR5cGUgbmFtZT0ibGV2ZWw0IiBbLi4uXSBhbGlhcz0icXVhdGVybmFyeSBx
dWFydGVybmFyeSIvPgorICAvLyAicXVhdGVybmFyeSI6ICJsZXZlbDQiLAorICAvLyAicXVhcnRl
cm5hcnkiOiAibGV2ZWw0IiwKKworICAvLyAiaWRlbnRpY2FsIiBkb2Vzbid0IG1hdGNoIHx1dmFs
dWV8LCBzbyB3ZSBjYW4gc2tpcCBpdC4KKyAgLy8gPHR5cGUgbmFtZT0iaWRlbnRpYyIgWy4uLl0g
YWxpYXM9ImlkZW50aWNhbCIvPgorICAvLyAiaWRlbnRpY2FsIjogImlkZW50aWMiLAorfTsKKwor
Zm9yIChsZXQgW2FsaWFzLCBuYW1lXSBvZiBPYmplY3QuZW50cmllcyh0ZXN0RGF0YSkpIHsKKyAg
bGV0IHRhZyA9ICJ1bmQtdS1rcy0iICsgYWxpYXM7CisgIGxldCBjYW5vbmljYWwgPSAidW5kLXUt
a3MtIiArIG5hbWU7CisKKyAgLy8gTWFrZSBzdXJlIHRoZSB0ZXN0IGRhdGEgaXMgY29ycmVjdC4K
KyAgYXNzZXJ0LnNhbWVWYWx1ZShpc0Nhbm9uaWNhbGl6ZWRTdHJ1Y3R1cmFsbHlWYWxpZExhbmd1
YWdlVGFnKHRhZyksIGZhbHNlLAorICAgICAgICAgICAgICAgICAgICJcIiIgKyB0YWcgKyAiXCIg
aXNuJ3QgYSBjYW5vbmljYWwgbGFuZ3VhZ2UgdGFnLiIpOworICBhc3NlcnQoaXNDYW5vbmljYWxp
emVkU3RydWN0dXJhbGx5VmFsaWRMYW5ndWFnZVRhZyhjYW5vbmljYWwpLAorICAgICAgICAgIlwi
IiArIGNhbm9uaWNhbCArICJcIiBpcyBhIGNhbm9uaWNhbCBhbmQgc3RydWN0dXJhbGx5IHZhbGlk
IGxhbmd1YWdlIHRhZy4iKTsKKworICBsZXQgcmVzdWx0ID0gSW50bC5nZXRDYW5vbmljYWxMb2Nh
bGVzKHRhZyk7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0Lmxlbmd0aCwgMSk7CisgIGFzc2Vy
dC5zYW1lVmFsdWUocmVzdWx0WzBdLCBjYW5vbmljYWwpOworfQpJbmRleDogSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvaW50bDQwMi9JbnRsL2dldENhbm9uaWNhbExvY2FsZXMvdW5pY29kZS1leHQtY2Fu
b25pY2FsaXplLW1lYXN1cmVtZW50LXN5c3RlbS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxlcy91bmljb2RlLWV4dC1j
YW5vbmljYWxpemUtbWVhc3VyZW1lbnQtc3lzdGVtLmpzCShub25leGlzdGVudCkKKysrIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50bC9nZXRDYW5vbmljYWxMb2NhbGVzL3VuaWNvZGUt
ZXh0LWNhbm9uaWNhbGl6ZS1tZWFzdXJlbWVudC1zeXN0ZW0uanMJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw0OSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIEFuZHLDqSBCYXJndWxsLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWludGwu
Z2V0Y2Fub25pY2FsbG9jYWxlcworZGVzY3JpcHRpb246ID4KKyAgVGVzdCBVbmljb2RlIGV4dGVu
c2lvbiBzdWJ0YWcgY2Fub25pY2FsaXNhdGlvbiBmb3IgdGhlICJtcyIgZXh0ZW5zaW9uIGtleS4K
K2luZm86IHwKKyAgOC4yLjEgSW50bC5nZXRDYW5vbmljYWxMb2NhbGVzIChsb2NhbGVzKQorICAg
IDEuIExldCBsbCBiZSA/IENhbm9uaWNhbGl6ZUxvY2FsZUxpc3QobG9jYWxlcykuCisgICAgMi4g
UmV0dXJuIENyZWF0ZUFycmF5RnJvbUxpc3QobGwpLgorCisgIDkuMi4xIENhbm9uaWNhbGl6ZUxv
Y2FsZUxpc3QgKGxvY2FsZXMpCisgICAgLi4uCisgICAgNy4gUmVwZWF0LCB3aGlsZSBrIDwgbGVu
CisgICAgICAuLi4KKyAgICAgIGMuIElmIGtQcmVzZW50IGlzIHRydWUsIHRoZW4KKyAgICAgICAg
Li4uCisgICAgICAgIHYuIElmIElzU3RydWN0dXJhbGx5VmFsaWRMYW5ndWFnZVRhZyh0YWcpIGlz
IGZhbHNlLCB0aHJvdyBhIFJhbmdlRXJyb3IgZXhjZXB0aW9uLgorICAgICAgICB2aS4gTGV0IGNh
bm9uaWNhbGl6ZWRUYWcgYmUgQ2Fub25pY2FsaXplVW5pY29kZUxvY2FsZUlkKHRhZykuCisgICAg
ICAgIC4uLgorCisgIFVUUyAzNSwgwqczLjIuMSBDYW5vbmljYWwgVW5pY29kZSBMb2NhbGUgSWRl
bnRpZmllcnMKKyAgICBVc2UgdGhlIGJjcDQ3IGRhdGEgdG8gcmVwbGFjZSBrZXlzLCB0eXBlcywg
dGZpZWxkcywgYW5kIHR2YWx1ZXMgYnkgdGhlaXIgY2Fub25pY2FsIGZvcm1zLgorICAgIFNlZSBT
ZWN0aW9uIDMuNi40IFUgRXh0ZW5zaW9uIERhdGEgRmlsZXMpIGFuZCBTZWN0aW9uIDMuNy4xIFQg
RXh0ZW5zaW9uIERhdGEgRmlsZXMuIFRoZQorICAgIGFsaWFzZXMgYXJlIGluIHRoZSBhbGlhcyBh
dHRyaWJ1dGUgdmFsdWUsIHdoaWxlIHRoZSBjYW5vbmljYWwgaXMgaW4gdGhlIG5hbWUgYXR0cmli
dXRlIHZhbHVlLgoraW5jbHVkZXM6IFt0ZXN0SW50bC5qc10KKy0tLSovCisKKy8vIDxrZXkgbmFt
ZT0ibXMiIFsuLi5dIGFsaWFzPSJtZWFzdXJlIiBzaW5jZT0iMjgiPgorY29uc3QgdGVzdERhdGEg
PSB7CisgIC8vIDx0eXBlIG5hbWU9InVrc3lzdGVtIiBbLi4uXSBhbGlhcz0iaW1wZXJpYWwiIHNp
bmNlPSIyOCIgLz4KKyAgImltcGVyaWFsIjogInVrc3lzdGVtIiwKK307CisKK2ZvciAobGV0IFth
bGlhcywgbmFtZV0gb2YgT2JqZWN0LmVudHJpZXModGVzdERhdGEpKSB7CisgIGxldCB0YWcgPSAi
dW5kLXUtbXMtIiArIGFsaWFzOworICBsZXQgY2Fub25pY2FsID0gInVuZC11LW1zLSIgKyBuYW1l
OworCisgIC8vIE1ha2Ugc3VyZSB0aGUgdGVzdCBkYXRhIGlzIGNvcnJlY3QuCisgIGFzc2VydC5z
YW1lVmFsdWUoaXNDYW5vbmljYWxpemVkU3RydWN0dXJhbGx5VmFsaWRMYW5ndWFnZVRhZyh0YWcp
LCBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAiXCIiICsgdGFnICsgIlwiIGlzbid0IGEgY2Fu
b25pY2FsIGxhbmd1YWdlIHRhZy4iKTsKKyAgYXNzZXJ0KGlzQ2Fub25pY2FsaXplZFN0cnVjdHVy
YWxseVZhbGlkTGFuZ3VhZ2VUYWcoY2Fub25pY2FsKSwKKyAgICAgICAgICJcIiIgKyBjYW5vbmlj
YWwgKyAiXCIgaXMgYSBjYW5vbmljYWwgYW5kIHN0cnVjdHVyYWxseSB2YWxpZCBsYW5ndWFnZSB0
YWcuIik7CisKKyAgbGV0IHJlc3VsdCA9IEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcyh0YWcpOwor
ICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdC5sZW5ndGgsIDEpOworICBhc3NlcnQuc2FtZVZhbHVl
KHJlc3VsdFswXSwgY2Fub25pY2FsKTsKK30KSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2lu
dGw0MDIvSW50bC9nZXRDYW5vbmljYWxMb2NhbGVzL3VuaWNvZGUtZXh0LWNhbm9uaWNhbGl6ZS1y
ZWdpb24uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9JbnRs
L2dldENhbm9uaWNhbExvY2FsZXMvdW5pY29kZS1leHQtY2Fub25pY2FsaXplLXJlZ2lvbi5qcwko
bm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvZ2V0Q2Fu
b25pY2FsTG9jYWxlcy91bmljb2RlLWV4dC1jYW5vbmljYWxpemUtcmVnaW9uLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNjcgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBBbmRyw6kgQmFy
Z3VsbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6
IHNlYy1pbnRsLmdldGNhbm9uaWNhbGxvY2FsZXMKK2Rlc2NyaXB0aW9uOiA+CisgIFRlc3QgVW5p
Y29kZSBleHRlbnNpb24gc3VidGFnIGNhbm9uaWNhbGlzYXRpb24gZm9yIHRoZSAicmciIGV4dGVu
c2lvbiBrZXkuCitpbmZvOiB8CisgIDguMi4xIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcyAobG9j
YWxlcykKKyAgICAxLiBMZXQgbGwgYmUgPyBDYW5vbmljYWxpemVMb2NhbGVMaXN0KGxvY2FsZXMp
LgorICAgIDIuIFJldHVybiBDcmVhdGVBcnJheUZyb21MaXN0KGxsKS4KKworICA5LjIuMSBDYW5v
bmljYWxpemVMb2NhbGVMaXN0IChsb2NhbGVzKQorICAgIC4uLgorICAgIDcuIFJlcGVhdCwgd2hp
bGUgayA8IGxlbgorICAgICAgLi4uCisgICAgICBjLiBJZiBrUHJlc2VudCBpcyB0cnVlLCB0aGVu
CisgICAgICAgIC4uLgorICAgICAgICB2LiBJZiBJc1N0cnVjdHVyYWxseVZhbGlkTGFuZ3VhZ2VU
YWcodGFnKSBpcyBmYWxzZSwgdGhyb3cgYSBSYW5nZUVycm9yIGV4Y2VwdGlvbi4KKyAgICAgICAg
dmkuIExldCBjYW5vbmljYWxpemVkVGFnIGJlIENhbm9uaWNhbGl6ZVVuaWNvZGVMb2NhbGVJZCh0
YWcpLgorICAgICAgICAuLi4KKworICBVVFMgMzUsIMKnMy4yLjEgQ2Fub25pY2FsIFVuaWNvZGUg
TG9jYWxlIElkZW50aWZpZXJzCisgICAgVXNlIHRoZSBiY3A0NyBkYXRhIHRvIHJlcGxhY2Uga2V5
cywgdHlwZXMsIHRmaWVsZHMsIGFuZCB0dmFsdWVzIGJ5IHRoZWlyIGNhbm9uaWNhbCBmb3Jtcy4K
KyAgICBTZWUgU2VjdGlvbiAzLjYuNCBVIEV4dGVuc2lvbiBEYXRhIEZpbGVzKSBhbmQgU2VjdGlv
biAzLjcuMSBUIEV4dGVuc2lvbiBEYXRhIEZpbGVzLiBUaGUKKyAgICBhbGlhc2VzIGFyZSBpbiB0
aGUgYWxpYXMgYXR0cmlidXRlIHZhbHVlLCB3aGlsZSB0aGUgY2Fub25pY2FsIGlzIGluIHRoZSBu
YW1lIGF0dHJpYnV0ZSB2YWx1ZS4KKworICAgIFJlcGxhY2UgYWxpYXNlcyBpbiBzcGVjaWFsIGtl
eSB2YWx1ZXM6CisgICAgICBJZiB0aGVyZSBpcyBhbiAnc2QnIG9yICdyZycga2V5LCByZXBsYWNl
IGFueSBzdWJkaXZpc2lvbiBhbGlhcyBpbiBpdHMgdmFsdWUgaW4gdGhlIHNhbWUgd2F5LAorICAg
ICAgdXNpbmcgc3ViZGl2aXNpb25BbGlhcyBkYXRhLgoraW5jbHVkZXM6IFt0ZXN0SW50bC5qc10K
Ky0tLSovCisKK2NvbnN0IHRlc3REYXRhID0geworICAvLyA8c3ViZGl2aXNpb25BbGlhcyB0eXBl
PSJubzIzIiByZXBsYWNlbWVudD0ibm81MCIgcmVhc29uPSJkZXByZWNhdGVkIi8+CisgICJubzIz
IjogIm5vNTAiLAorCisgIC8vIDxzdWJkaXZpc2lvbkFsaWFzIHR5cGU9ImNuMTEiIHJlcGxhY2Vt
ZW50PSJjbmJqIiByZWFzb249ImRlcHJlY2F0ZWQiLz4KKyAgImNuMTEiOiAiY25iaiIsCisKKyAg
Ly8gPHN1YmRpdmlzaW9uQWxpYXMgdHlwZT0iY3oxMGEiIHJlcGxhY2VtZW50PSJjejExMCIgcmVh
c29uPSJkZXByZWNhdGVkIi8+CisgICJjejEwYSI6ICJjejExMCIsCisKKyAgLy8gPHN1YmRpdmlz
aW9uQWxpYXMgdHlwZT0iZnJhIiByZXBsYWNlbWVudD0iZnJnZXMiIHJlYXNvbj0iZGVwcmVjYXRl
ZCIvPgorICAiZnJhIjogImZyZ2VzIiwKKworICAvLyA8c3ViZGl2aXNpb25BbGlhcyB0eXBlPSJm
cmciIHJlcGxhY2VtZW50PSJmcmdlcyIgcmVhc29uPSJkZXByZWNhdGVkIi8+CisgICJmcmciOiAi
ZnJnZXMiLAorCisgIC8vIDxzdWJkaXZpc2lvbkFsaWFzIHR5cGU9Imx1ZCIgcmVwbGFjZW1lbnQ9
Imx1Y2wgbHVkaSBsdXJkIGx1dmQgbHV3aSIgcmVhc29uPSJkZXByZWNhdGVkIi8+CisgICJsdWQi
OiAibHVjbCIsCit9OworCitmb3IgKGxldCBbYWxpYXMsIG5hbWVdIG9mIE9iamVjdC5lbnRyaWVz
KHRlc3REYXRhKSkgeworICBsZXQgdGFnID0gInVuZC11LXJnLSIgKyBhbGlhczsKKyAgbGV0IGNh
bm9uaWNhbCA9ICJ1bmQtdS1yZy0iICsgbmFtZTsKKworICAvLyBNYWtlIHN1cmUgdGhlIHRlc3Qg
ZGF0YSBpcyBjb3JyZWN0LgorICBhc3NlcnQuc2FtZVZhbHVlKGlzQ2Fub25pY2FsaXplZFN0cnVj
dHVyYWxseVZhbGlkTGFuZ3VhZ2VUYWcodGFnKSwgZmFsc2UsCisgICAgICAgICAgICAgICAgICAg
IlwiIiArIHRhZyArICJcIiBpc24ndCBhIGNhbm9uaWNhbCBsYW5ndWFnZSB0YWcuIik7CisgIGFz
c2VydChpc0Nhbm9uaWNhbGl6ZWRTdHJ1Y3R1cmFsbHlWYWxpZExhbmd1YWdlVGFnKGNhbm9uaWNh
bCksCisgICAgICAgICAiXCIiICsgY2Fub25pY2FsICsgIlwiIGlzIGEgY2Fub25pY2FsIGFuZCBz
dHJ1Y3R1cmFsbHkgdmFsaWQgbGFuZ3VhZ2UgdGFnLiIpOworCisgIGxldCByZXN1bHQgPSBJbnRs
LmdldENhbm9uaWNhbExvY2FsZXModGFnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQubGVu
Z3RoLCAxKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHRbMF0sIGNhbm9uaWNhbCk7Cit9Cklu
ZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxl
cy91bmljb2RlLWV4dC1jYW5vbmljYWxpemUtc3ViZGl2aXNpb24uanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9JbnRsL2dldENhbm9uaWNhbExvY2FsZXMvdW5p
Y29kZS1leHQtY2Fub25pY2FsaXplLXN1YmRpdmlzaW9uLmpzCShub25leGlzdGVudCkKKysrIEpT
VGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50bC9nZXRDYW5vbmljYWxMb2NhbGVzL3VuaWNv
ZGUtZXh0LWNhbm9uaWNhbGl6ZS1zdWJkaXZpc2lvbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDcyIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQW5kcsOpIEJhcmd1bGwuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtaW50bC5nZXRj
YW5vbmljYWxsb2NhbGVzCitkZXNjcmlwdGlvbjogPgorICBUZXN0IFVuaWNvZGUgZXh0ZW5zaW9u
IHN1YnRhZyBjYW5vbmljYWxpc2F0aW9uIGZvciB0aGUgInNkIiBleHRlbnNpb24ga2V5LgoraW5m
bzogfAorICA4LjIuMSBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMgKGxvY2FsZXMpCisgICAgMS4g
TGV0IGxsIGJlID8gQ2Fub25pY2FsaXplTG9jYWxlTGlzdChsb2NhbGVzKS4KKyAgICAyLiBSZXR1
cm4gQ3JlYXRlQXJyYXlGcm9tTGlzdChsbCkuCisKKyAgOS4yLjEgQ2Fub25pY2FsaXplTG9jYWxl
TGlzdCAobG9jYWxlcykKKyAgICAuLi4KKyAgICA3LiBSZXBlYXQsIHdoaWxlIGsgPCBsZW4KKyAg
ICAgIC4uLgorICAgICAgYy4gSWYga1ByZXNlbnQgaXMgdHJ1ZSwgdGhlbgorICAgICAgICAuLi4K
KyAgICAgICAgdi4gSWYgSXNTdHJ1Y3R1cmFsbHlWYWxpZExhbmd1YWdlVGFnKHRhZykgaXMgZmFs
c2UsIHRocm93IGEgUmFuZ2VFcnJvciBleGNlcHRpb24uCisgICAgICAgIHZpLiBMZXQgY2Fub25p
Y2FsaXplZFRhZyBiZSBDYW5vbmljYWxpemVVbmljb2RlTG9jYWxlSWQodGFnKS4KKyAgICAgICAg
Li4uCisKKyAgVVRTIDM1LCDCpzMuMi4xIENhbm9uaWNhbCBVbmljb2RlIExvY2FsZSBJZGVudGlm
aWVycworICAgIFVzZSB0aGUgYmNwNDcgZGF0YSB0byByZXBsYWNlIGtleXMsIHR5cGVzLCB0Zmll
bGRzLCBhbmQgdHZhbHVlcyBieSB0aGVpciBjYW5vbmljYWwgZm9ybXMuCisgICAgU2VlIFNlY3Rp
b24gMy42LjQgVSBFeHRlbnNpb24gRGF0YSBGaWxlcykgYW5kIFNlY3Rpb24gMy43LjEgVCBFeHRl
bnNpb24gRGF0YSBGaWxlcy4gVGhlCisgICAgYWxpYXNlcyBhcmUgaW4gdGhlIGFsaWFzIGF0dHJp
YnV0ZSB2YWx1ZSwgd2hpbGUgdGhlIGNhbm9uaWNhbCBpcyBpbiB0aGUgbmFtZSBhdHRyaWJ1dGUg
dmFsdWUuCisKKyAgICBSZXBsYWNlIGFsaWFzZXMgaW4gc3BlY2lhbCBrZXkgdmFsdWVzOgorICAg
ICAgSWYgdGhlcmUgaXMgYW4gJ3NkJyBvciAncmcnIGtleSwgcmVwbGFjZSBhbnkgc3ViZGl2aXNp
b24gYWxpYXMgaW4gaXRzIHZhbHVlIGluIHRoZSBzYW1lIHdheSwKKyAgICAgIHVzaW5nIHN1YmRp
dmlzaW9uQWxpYXMgZGF0YS4KK2luY2x1ZGVzOiBbdGVzdEludGwuanNdCistLS0qLworCitjb25z
dCB0ZXN0RGF0YSA9IHsKKyAgLy8gPHN1YmRpdmlzaW9uQWxpYXMgdHlwZT0ibm8yMyIgcmVwbGFj
ZW1lbnQ9Im5vNTAiIHJlYXNvbj0iZGVwcmVjYXRlZCIvPgorICAibm8yMyI6ICJubzUwIiwKKwor
ICAvLyA8c3ViZGl2aXNpb25BbGlhcyB0eXBlPSJjbjExIiByZXBsYWNlbWVudD0iY25iaiIgcmVh
c29uPSJkZXByZWNhdGVkIi8+CisgICJjbjExIjogImNuYmoiLAorCisgIC8vIDxzdWJkaXZpc2lv
bkFsaWFzIHR5cGU9ImN6MTBhIiByZXBsYWNlbWVudD0iY3oxMTAiIHJlYXNvbj0iZGVwcmVjYXRl
ZCIvPgorICAiY3oxMGEiOiAiY3oxMTAiLAorCisgIC8vIDxzdWJkaXZpc2lvbkFsaWFzIHR5cGU9
ImZyYSIgcmVwbGFjZW1lbnQ9ImZyZ2VzIiByZWFzb249ImRlcHJlY2F0ZWQiLz4KKyAgImZyYSI6
ICJmcmdlcyIsCisKKyAgLy8gPHN1YmRpdmlzaW9uQWxpYXMgdHlwZT0iZnJnIiByZXBsYWNlbWVu
dD0iZnJnZXMiIHJlYXNvbj0iZGVwcmVjYXRlZCIvPgorICAiZnJnIjogImZyZ2VzIiwKKworICAv
LyA8c3ViZGl2aXNpb25BbGlhcyB0eXBlPSJsdWQiIHJlcGxhY2VtZW50PSJsdWNsIGx1ZGkgbHVy
ZCBsdXZkIGx1d2kiIHJlYXNvbj0iZGVwcmVjYXRlZCIvPgorICAibHVkIjogImx1Y2wiLAorfTsK
KworZm9yIChsZXQgW2FsaWFzLCBuYW1lXSBvZiBPYmplY3QuZW50cmllcyh0ZXN0RGF0YSkpIHsK
KyAgLy8gU3ViZGl2aXNpb24gY29kZXMgc2hvdWxkIGFsd2F5cyBoYXZlIGEgbWF0Y2hpbmcgcmVn
aW9uIHN1YnRhZy4gVGhpcworICAvLyBzaG91bGRuJ3QgYWN0dWFsbHkgbWF0dGVyIGZvciBjYW5v
bmljYWxpc2F0aW9uLCBidXQgbGV0J3Mgbm90IHB1c2ggb3VyCisgIC8vIGx1Y2sgYW5kIGluc3Rl
YWQga2VlcCB0aGUgbGFuZ3VhZ2UgdGFnICd2YWxpZCcgcGVyIFVUUyAzNSwgwqczLjYuNS4KKyAg
bGV0IHJlZ2lvbiA9IG5hbWUuc3Vic3RyaW5nKDAsIDIpLnRvVXBwZXJDYXNlKCk7CisKKyAgbGV0
IHRhZyA9IGB1bmQtJHtyZWdpb259LXUtc2QtJHthbGlhc31gOworICBsZXQgY2Fub25pY2FsID0g
YHVuZC0ke3JlZ2lvbn0tdS1zZC0ke25hbWV9YDsKKworICAvLyBNYWtlIHN1cmUgdGhlIHRlc3Qg
ZGF0YSBpcyBjb3JyZWN0LgorICBhc3NlcnQuc2FtZVZhbHVlKGlzQ2Fub25pY2FsaXplZFN0cnVj
dHVyYWxseVZhbGlkTGFuZ3VhZ2VUYWcodGFnKSwgZmFsc2UsCisgICAgICAgICAgICAgICAgICAg
IlwiIiArIHRhZyArICJcIiBpc24ndCBhIGNhbm9uaWNhbCBsYW5ndWFnZSB0YWcuIik7CisgIGFz
c2VydChpc0Nhbm9uaWNhbGl6ZWRTdHJ1Y3R1cmFsbHlWYWxpZExhbmd1YWdlVGFnKGNhbm9uaWNh
bCksCisgICAgICAgICAiXCIiICsgY2Fub25pY2FsICsgIlwiIGlzIGEgY2Fub25pY2FsIGFuZCBz
dHJ1Y3R1cmFsbHkgdmFsaWQgbGFuZ3VhZ2UgdGFnLiIpOworCisgIGxldCByZXN1bHQgPSBJbnRs
LmdldENhbm9uaWNhbExvY2FsZXModGFnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQubGVu
Z3RoLCAxKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHRbMF0sIGNhbm9uaWNhbCk7Cit9Cklu
ZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxl
cy91bmljb2RlLWV4dC1jYW5vbmljYWxpemUtdGltZXpvbmUuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9JbnRsL2dldENhbm9uaWNhbExvY2FsZXMvdW5pY29k
ZS1leHQtY2Fub25pY2FsaXplLXRpbWV6b25lLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMv
dGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50bC9nZXRDYW5vbmljYWxMb2NhbGVzL3VuaWNvZGUtZXh0
LWNhbm9uaWNhbGl6ZS10aW1lem9uZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcyIEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQW5kcsOpIEJhcmd1bGwuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtaW50bC5nZXRjYW5vbmljYWxs
b2NhbGVzCitkZXNjcmlwdGlvbjogPgorICBUZXN0IFVuaWNvZGUgZXh0ZW5zaW9uIHN1YnRhZyBj
YW5vbmljYWxpc2F0aW9uIGZvciB0aGUgInR6IiBleHRlbnNpb24ga2V5LgoraW5mbzogfAorICA4
LjIuMSBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMgKGxvY2FsZXMpCisgICAgMS4gTGV0IGxsIGJl
ID8gQ2Fub25pY2FsaXplTG9jYWxlTGlzdChsb2NhbGVzKS4KKyAgICAyLiBSZXR1cm4gQ3JlYXRl
QXJyYXlGcm9tTGlzdChsbCkuCisKKyAgOS4yLjEgQ2Fub25pY2FsaXplTG9jYWxlTGlzdCAobG9j
YWxlcykKKyAgICAuLi4KKyAgICA3LiBSZXBlYXQsIHdoaWxlIGsgPCBsZW4KKyAgICAgIC4uLgor
ICAgICAgYy4gSWYga1ByZXNlbnQgaXMgdHJ1ZSwgdGhlbgorICAgICAgICAuLi4KKyAgICAgICAg
di4gSWYgSXNTdHJ1Y3R1cmFsbHlWYWxpZExhbmd1YWdlVGFnKHRhZykgaXMgZmFsc2UsIHRocm93
IGEgUmFuZ2VFcnJvciBleGNlcHRpb24uCisgICAgICAgIHZpLiBMZXQgY2Fub25pY2FsaXplZFRh
ZyBiZSBDYW5vbmljYWxpemVVbmljb2RlTG9jYWxlSWQodGFnKS4KKyAgICAgICAgLi4uCisKKyAg
VVRTIDM1LCDCpzMuMi4xIENhbm9uaWNhbCBVbmljb2RlIExvY2FsZSBJZGVudGlmaWVycworICAg
IFVzZSB0aGUgYmNwNDcgZGF0YSB0byByZXBsYWNlIGtleXMsIHR5cGVzLCB0ZmllbGRzLCBhbmQg
dHZhbHVlcyBieSB0aGVpciBjYW5vbmljYWwgZm9ybXMuCisgICAgU2VlIFNlY3Rpb24gMy42LjQg
VSBFeHRlbnNpb24gRGF0YSBGaWxlcykgYW5kIFNlY3Rpb24gMy43LjEgVCBFeHRlbnNpb24gRGF0
YSBGaWxlcy4gVGhlCisgICAgYWxpYXNlcyBhcmUgaW4gdGhlIGFsaWFzIGF0dHJpYnV0ZSB2YWx1
ZSwgd2hpbGUgdGhlIGNhbm9uaWNhbCBpcyBpbiB0aGUgbmFtZSBhdHRyaWJ1dGUgdmFsdWUuCitp
bmNsdWRlczogW3Rlc3RJbnRsLmpzXQorLS0tKi8KKworLy8gPGtleSBuYW1lPSJ0eiIgWy4uLl0g
YWxpYXM9InRpbWV6b25lIj4KK2NvbnN0IHRlc3REYXRhID0geworICAvLyBTaW1pbGFyIHRvIHRo
ZSAiY2EiIGV4dGVuc2lvbiBrZXksIGFzc3VtZSAicHJlZmVycmVkIiBob2xkcyB0aGUgY2Fub25p
Y2FsCisgIC8vIHZhbHVlIGFuZCAibmFtZSIgdGhlIGFsaWFzIHZhbHVlLgorCisgIC8vIDx0eXBl
IG5hbWU9ImNuY2tnIiBbLi4uXSBkZXByZWNhdGVkPSJ0cnVlIiBwcmVmZXJyZWQ9ImNuc2hhIi8+
CisgICJjbmNrZyI6ICJjbnNoYSIsCisKKyAgLy8gTkI6ICJFaXJlIiBtYXRjaGVzIHRoZSB8dXZh
bHVlfCBwcm9kdWN0aW9uLgorICAvLyA8dHlwZSBuYW1lPSJpZWR1YiIgWy4uLl0gYWxpYXM9IkV1
cm9wZS9EdWJsaW4gRWlyZSIvPgorICAiZWlyZSI6ICJpZWR1YiIsCisKKyAgLy8gTkI6ICJFU1Qi
IG1hdGNoZXMgdGhlIHx1dmFsdWV8IHByb2R1Y3Rpb24uCisgIC8vIDx0eXBlIG5hbWU9InV0Y3cw
NSIgWy4uLl0gYWxpYXM9IkV0Yy9HTVQrNSBFU1QiLz4KKyAgImVzdCI6ICJ1dGN3MDUiLAorCisg
IC8vIE5COiAiR01UMCIgbWF0Y2hlcyB0aGUgfHV2YWx1ZXwgcHJvZHVjdGlvbi4KKyAgLy8gPHR5
cGUgbmFtZT0iZ210IiBbLi4uXSBhbGlhcz0iRXRjL0dNVCBFdGMvR01UKzAgRXRjL0dNVC0wIEV0
Yy9HTVQwIEV0Yy9HcmVlbndpY2ggR01UIEdNVCswIEdNVC0wIEdNVDAgR3JlZW53aWNoIi8+Cisg
ICJnbXQwIjogImdtdCIsCisKKyAgLy8gTkI6ICJVQ1QiIG1hdGNoZXMgdGhlIHx1dmFsdWV8IHBy
b2R1Y3Rpb24uCisgIC8vIDx0eXBlIG5hbWU9InV0YyIgWy4uLl0gYWxpYXM9IkV0Yy9VVEMgRXRj
L1VDVCBFdGMvVW5pdmVyc2FsIEV0Yy9adWx1IFVDVCBVVEMgVW5pdmVyc2FsIFp1bHUiLz4KKyAg
InVjdCI6ICJ1dGMiLAorCisgIC8vIE5COiAiWnVsdSIgbWF0Y2hlcyB0aGUgfHV2YWx1ZXwgcHJv
ZHVjdGlvbi4KKyAgLy8gPHR5cGUgbmFtZT0idXRjIiBbLi4uXSBhbGlhcz0iRXRjL1VUQyBFdGMv
VUNUIEV0Yy9Vbml2ZXJzYWwgRXRjL1p1bHUgVUNUIFVUQyBVbml2ZXJzYWwgWnVsdSIvPgorICAi
enVsdSI6ICJ1dGMiLAorfTsKKworZm9yIChsZXQgW2FsaWFzLCBuYW1lXSBvZiBPYmplY3QuZW50
cmllcyh0ZXN0RGF0YSkpIHsKKyAgbGV0IHRhZyA9ICJ1bmQtdS10ei0iICsgYWxpYXM7CisgIGxl
dCBjYW5vbmljYWwgPSAidW5kLXUtdHotIiArIG5hbWU7CisKKyAgLy8gTWFrZSBzdXJlIHRoZSB0
ZXN0IGRhdGEgaXMgY29ycmVjdC4KKyAgYXNzZXJ0LnNhbWVWYWx1ZShpc0Nhbm9uaWNhbGl6ZWRT
dHJ1Y3R1cmFsbHlWYWxpZExhbmd1YWdlVGFnKHRhZyksIGZhbHNlLAorICAgICAgICAgICAgICAg
ICAgICJcIiIgKyB0YWcgKyAiXCIgaXNuJ3QgYSBjYW5vbmljYWwgbGFuZ3VhZ2UgdGFnLiIpOwor
ICBhc3NlcnQoaXNDYW5vbmljYWxpemVkU3RydWN0dXJhbGx5VmFsaWRMYW5ndWFnZVRhZyhjYW5v
bmljYWwpLAorICAgICAgICAgIlwiIiArIGNhbm9uaWNhbCArICJcIiBpcyBhIGNhbm9uaWNhbCBh
bmQgc3RydWN0dXJhbGx5IHZhbGlkIGxhbmd1YWdlIHRhZy4iKTsKKworICBsZXQgcmVzdWx0ID0g
SW50bC5nZXRDYW5vbmljYWxMb2NhbGVzKHRhZyk7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0
Lmxlbmd0aCwgMSk7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0WzBdLCBjYW5vbmljYWwpOwor
fQpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9JbnRsL2dldENhbm9uaWNhbExv
Y2FsZXMvdW5pY29kZS1leHQtY2Fub25pY2FsaXplLXllcy10by10cnVlLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvSW50bC9nZXRDYW5vbmljYWxMb2NhbGVz
L3VuaWNvZGUtZXh0LWNhbm9uaWNhbGl6ZS15ZXMtdG8tdHJ1ZS5qcwkobm9uZXhpc3RlbnQpCisr
KyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxlcy91
bmljb2RlLWV4dC1jYW5vbmljYWxpemUteWVzLXRvLXRydWUuanMJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw4NiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIEFuZHLDqSBCYXJndWxsLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWludGwu
Z2V0Y2Fub25pY2FsbG9jYWxlcworZGVzY3JpcHRpb246ID4KKyAgImtiIiwgImtjIiwgImtoIiwg
ImtrIiwgYW5kICJrbiIgVW5pY29kZSBleHRlbnNpb24ga2V5cyBjYW5vbmljYWxpc2UgInllcyIg
dG8gInRydWUiLgoraW5mbzogfAorICA4LjIuMSBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMgKGxv
Y2FsZXMpCisgICAgMS4gTGV0IGxsIGJlID8gQ2Fub25pY2FsaXplTG9jYWxlTGlzdChsb2NhbGVz
KS4KKyAgICAyLiBSZXR1cm4gQ3JlYXRlQXJyYXlGcm9tTGlzdChsbCkuCisKKyAgOS4yLjEgQ2Fu
b25pY2FsaXplTG9jYWxlTGlzdCAobG9jYWxlcykKKyAgICAuLi4KKyAgICA3LiBSZXBlYXQsIHdo
aWxlIGsgPCBsZW4KKyAgICAgIC4uLgorICAgICAgYy4gSWYga1ByZXNlbnQgaXMgdHJ1ZSwgdGhl
bgorICAgICAgICAuLi4KKyAgICAgICAgdi4gSWYgSXNTdHJ1Y3R1cmFsbHlWYWxpZExhbmd1YWdl
VGFnKHRhZykgaXMgZmFsc2UsIHRocm93IGEgUmFuZ2VFcnJvciBleGNlcHRpb24uCisgICAgICAg
IHZpLiBMZXQgY2Fub25pY2FsaXplZFRhZyBiZSBDYW5vbmljYWxpemVVbmljb2RlTG9jYWxlSWQo
dGFnKS4KKyAgICAgICAgLi4uCisKKyAgVVRTIDM1LCDCpzMuMi4xIENhbm9uaWNhbCBVbmljb2Rl
IExvY2FsZSBJZGVudGlmaWVycworICAgIFVzZSB0aGUgYmNwNDcgZGF0YSB0byByZXBsYWNlIGtl
eXMsIHR5cGVzLCB0ZmllbGRzLCBhbmQgdHZhbHVlcyBieSB0aGVpciBjYW5vbmljYWwgZm9ybXMu
CisgICAgU2VlIFNlY3Rpb24gMy42LjQgVSBFeHRlbnNpb24gRGF0YSBGaWxlcykgYW5kIFNlY3Rp
b24gMy43LjEgVCBFeHRlbnNpb24gRGF0YSBGaWxlcy4gVGhlCisgICAgYWxpYXNlcyBhcmUgaW4g
dGhlIGFsaWFzIGF0dHJpYnV0ZSB2YWx1ZSwgd2hpbGUgdGhlIGNhbm9uaWNhbCBpcyBpbiB0aGUg
bmFtZSBhdHRyaWJ1dGUgdmFsdWUuCisKKyAgVVRTIDM1LCDCpzMuMi4xIENhbm9uaWNhbCBVbmlj
b2RlIExvY2FsZSBJZGVudGlmaWVycworICAgIEFueSB0eXBlIG9yIHRmaWVsZCB2YWx1ZSAidHJ1
ZSIgaXMgcmVtb3ZlZC4KK2luY2x1ZGVzOiBbdGVzdEludGwuanNdCistLS0qLworCitjb25zdCB1
bmljb2RlS2V5cyA9IFsKKyAgLy8gPGtleSBuYW1lPSJrYiIgWy4uLl0gYWxpYXM9ImNvbEJhY2t3
YXJkcyI+CisgIC8vICAgPHR5cGUgbmFtZT0idHJ1ZSIgWy4uLl0gYWxpYXM9InllcyIvPgorICAi
a2IiLAorCisgIC8vIDxrZXkgbmFtZT0ia2MiIFsuLi5dIGFsaWFzPSJjb2xDYXNlTGV2ZWwiPgor
ICAvLyAgIDx0eXBlIG5hbWU9InRydWUiIFsuLi5dIGFsaWFzPSJ5ZXMiLz4KKyAgImtjIiwKKwor
ICAvLyA8a2V5IG5hbWU9ImtoIiBbLi4uXSBhbGlhcz0iY29sQmFja3dhcmRzIj4KKyAgLy8gICA8
dHlwZSBuYW1lPSJ0cnVlIiBbLi4uXSBhbGlhcz0ieWVzIi8+CisgICJraCIsCisKKyAgLy8gPGtl
eSBuYW1lPSJraCIgWy4uLl0gYWxpYXM9ImNvbEhpcmFnYW5hUXVhdGVybmFyeSI+CisgIC8vICAg
PHR5cGUgbmFtZT0idHJ1ZSIgWy4uLl0gYWxpYXM9InllcyIvPgorICAia2siLAorCisgIC8vIDxr
ZXkgbmFtZT0ia24iIFsuLi5dIGFsaWFzPSJjb2xOdW1lcmljIj4KKyAgLy8gICA8dHlwZSBuYW1l
PSJ0cnVlIiBbLi4uXSBhbGlhcz0ieWVzIi8+CisgICJrbiIsCitdOworCitmb3IgKGxldCBrZXkg
b2YgdW5pY29kZUtleXMpIHsKKyAgbGV0IHRhZyA9IGB1bmQtdS0ke2tleX0teWVzYDsKKyAgbGV0
IGNhbm9uaWNhbCA9IGB1bmQtdS0ke2tleX1gOworCisgIC8vIE1ha2Ugc3VyZSB0aGUgdGVzdCBk
YXRhIGlzIGNvcnJlY3QuCisgIGFzc2VydC5zYW1lVmFsdWUoaXNDYW5vbmljYWxpemVkU3RydWN0
dXJhbGx5VmFsaWRMYW5ndWFnZVRhZyh0YWcpLCBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAi
XCIiICsgdGFnICsgIlwiIGlzbid0IGEgY2Fub25pY2FsIGxhbmd1YWdlIHRhZy4iKTsKKyAgYXNz
ZXJ0KGlzQ2Fub25pY2FsaXplZFN0cnVjdHVyYWxseVZhbGlkTGFuZ3VhZ2VUYWcoY2Fub25pY2Fs
KSwKKyAgICAgICAgICJcIiIgKyBjYW5vbmljYWwgKyAiXCIgaXMgYSBjYW5vbmljYWwgYW5kIHN0
cnVjdHVyYWxseSB2YWxpZCBsYW5ndWFnZSB0YWcuIik7CisKKyAgbGV0IHJlc3VsdCA9IEludGwu
Z2V0Q2Fub25pY2FsTG9jYWxlcyh0YWcpOworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdC5sZW5n
dGgsIDEpOworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdFswXSwgY2Fub25pY2FsKTsKK30KKwor
Ly8gVGVzdCBzb21lIG90aGVyIFVuaWNvZGUgZXh0ZW5zaW9uIGtleXMgd2hpY2ggZG9uJ3QgY29u
dGFpbiBhbiBhbGlhcyBlbnRyeSB0bworLy8gY2Fub25pY2FsaXNlICJ5ZXMiIHRvICJ0cnVlIi4K
K2NvbnN0IG90aGVyVW5pY29kZUtleXMgPSBbCisgICJrYSIsICJrZiIsICJrciIsICJrcyIsICJr
diIsCitdOworCitmb3IgKGxldCBrZXkgb2Ygb3RoZXJVbmljb2RlS2V5cykgeworICBsZXQgdGFn
ID0gYHVuZC11LSR7a2V5fS15ZXNgOworCisgIC8vIE1ha2Ugc3VyZSB0aGUgdGVzdCBkYXRhIGlz
IGNvcnJlY3QuCisgIGFzc2VydChpc0Nhbm9uaWNhbGl6ZWRTdHJ1Y3R1cmFsbHlWYWxpZExhbmd1
YWdlVGFnKHRhZyksCisgICAgICAgICAiXCIiICsgdGFnICsgIlwiIGlzIGEgY2Fub25pY2FsIGFu
ZCBzdHJ1Y3R1cmFsbHkgdmFsaWQgbGFuZ3VhZ2UgdGFnLiIpOworCisgIGxldCByZXN1bHQgPSBJ
bnRsLmdldENhbm9uaWNhbExvY2FsZXModGFnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQu
bGVuZ3RoLCAxKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHRbMF0sIHRhZyk7Cit9CkluZGV4
OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxlcy91
bmljb2RlLWV4dC1rZXktd2l0aC1kaWdpdC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9pbnRsNDAyL0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxlcy91bmljb2RlLWV4dC1rZXkt
d2l0aC1kaWdpdC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRs
NDAyL0ludGwvZ2V0Q2Fub25pY2FsTG9jYWxlcy91bmljb2RlLWV4dC1rZXktd2l0aC1kaWdpdC5q
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAg
QW5kcsOpIEJhcmd1bGwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8q
LS0tCitlc2lkOiBzZWMtaW50bC5nZXRjYW5vbmljYWxsb2NhbGVzCitkZXNjcmlwdGlvbjogPgor
ICBUZXN0IFVuaWNvZGUgZXh0ZW5zaW9uIHN1YnRhZ3Mgd2hlcmUgdGhlIHVrZXkgc3VidGFnIGNv
bnRhaW5zIGEgZGlnaXQuCitpbmZvOiB8CisgIDguMi4xIEludGwuZ2V0Q2Fub25pY2FsTG9jYWxl
cyAobG9jYWxlcykKKyAgICAxLiBMZXQgbGwgYmUgPyBDYW5vbmljYWxpemVMb2NhbGVMaXN0KGxv
Y2FsZXMpLgorICAgIDIuIFJldHVybiBDcmVhdGVBcnJheUZyb21MaXN0KGxsKS4KKworICA5LjIu
MSBDYW5vbmljYWxpemVMb2NhbGVMaXN0IChsb2NhbGVzKQorICAgIC4uLgorICAgIDcuIFJlcGVh
dCwgd2hpbGUgayA8IGxlbgorICAgICAgLi4uCisgICAgICBjLiBJZiBrUHJlc2VudCBpcyB0cnVl
LCB0aGVuCisgICAgICAgIC4uLgorICAgICAgICB2LiBJZiBJc1N0cnVjdHVyYWxseVZhbGlkTGFu
Z3VhZ2VUYWcodGFnKSBpcyBmYWxzZSwgdGhyb3cgYSBSYW5nZUVycm9yIGV4Y2VwdGlvbi4KKyAg
ICAgICAgdmkuIExldCBjYW5vbmljYWxpemVkVGFnIGJlIENhbm9uaWNhbGl6ZVVuaWNvZGVMb2Nh
bGVJZCh0YWcpLgorICAgICAgICAuLi4KKworaW5jbHVkZXM6IFt0ZXN0SW50bC5qc10KKy0tLSov
CisKKy8vIFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbiBzZXF1ZW5jZXMgZG9uJ3QgYWxsb3cga2V5
cyB3aXRoIGEgZGlnaXQgYXMgdGhlaXIKKy8vIHNlY29uZCBjaGFyYWN0ZXIuCitjb25zdCBpbnZh
bGlkQ2FzZXMgPSBbCisgICJlbi11LWMwIiwKKyAgImVuLXUtMDAiLAorXTsKKworLy8gVGhlIGZp
cnN0IGNoYXJhY3RlciBpcyBhbGxvd2VkIHRvIGJlIGEgZGlnaXQuCitjb25zdCB2YWxpZENhc2Vz
ID0gWworICAiZW4tdS0wYyIsCitdOworCitmb3IgKGxldCBpbnZhbGlkIG9mIGludmFsaWRDYXNl
cykgeworICAvLyBNYWtlIHN1cmUgdGhlIHRlc3QgZGF0YSBpcyBjb3JyZWN0LgorICBhc3NlcnQu
c2FtZVZhbHVlKGlzQ2Fub25pY2FsaXplZFN0cnVjdHVyYWxseVZhbGlkTGFuZ3VhZ2VUYWcoaW52
YWxpZCksIGZhbHNlLAorICAgICAgICAgICAgICAgICAgICJcIiIgKyBpbnZhbGlkICsgIlwiIGlz
bid0IGEgc3RydWN0dXJhbGx5IHZhbGlkIGxhbmd1YWdlIHRhZy4iKTsKKworICBhc3NlcnQudGhy
b3dzKFJhbmdlRXJyb3IsICgpID0+IEludGwuZ2V0Q2Fub25pY2FsTG9jYWxlcyhpbnZhbGlkKSk7
Cit9CisKK2ZvciAobGV0IHZhbGlkIG9mIHZhbGlkQ2FzZXMpIHsKKyAgLy8gTWFrZSBzdXJlIHRo
ZSB0ZXN0IGRhdGEgaXMgY29ycmVjdC4KKyAgYXNzZXJ0KGlzQ2Fub25pY2FsaXplZFN0cnVjdHVy
YWxseVZhbGlkTGFuZ3VhZ2VUYWcodmFsaWQpLAorICAgICAgICAgIlwiIiArIHZhbGlkICsgIlwi
IGlzIGEgY2Fub25pY2FsIGFuZCBzdHJ1Y3R1cmFsbHkgdmFsaWQgbGFuZ3VhZ2UgdGFnLiIpOwor
CisgIGxldCByZXN1bHQgPSBJbnRsLmdldENhbm9uaWNhbExvY2FsZXModmFsaWQpOworICBhc3Nl
cnQuc2FtZVZhbHVlKHJlc3VsdC5sZW5ndGgsIDEpOworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3Vs
dFswXSwgdmFsaWQpOworfQpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9Mb2Nh
bGUvY29uc3RydWN0b3ItYXBwbHktb3B0aW9ucy1jYW5vbmljYWxpemVzLXR3aWNlLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvTG9jYWxlL2NvbnN0cnVjdG9y
LWFwcGx5LW9wdGlvbnMtY2Fub25pY2FsaXplcy10d2ljZS5qcwkobm9uZXhpc3RlbnQpCisrKyBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0xvY2FsZS9jb25zdHJ1Y3Rvci1hcHBseS1vcHRp
b25zLWNhbm9uaWNhbGl6ZXMtdHdpY2UuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNiBA
QAorLy8gQ29weXJpZ2h0IDIwMjAgQW5kcsOpIEJhcmd1bGwuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtYXBwbHktb3B0aW9ucy10by10YWcK
K2Rlc2NyaXB0aW9uOiA+CisgICAgQXBwbHlPcHRpb25zVG9UYWcgY2Fub25pY2FsaXNlcyB0aGUg
bGFuZ3VhZ2UgdGFnIHR3byB0aW1lcy4KK2luZm86IHwKKyAgICAxMC4xLjEgQXBwbHlPcHRpb25z
VG9UYWcoIHRhZywgb3B0aW9ucyApCisKKyAgICAuLi4KKyAgICA5LiBTZXQgdGFnIHRvIENhbm9u
aWNhbGl6ZVVuaWNvZGVMb2NhbGVJZCh0YWcpLgorICAgIDEwLiBJZiBsYW5ndWFnZSBpcyBub3Qg
dW5kZWZpbmVkLAorICAgICAgICAuLi4KKyAgICAgICAgYi4gU2V0IHRhZyB0byB0YWcgd2l0aCB0
aGUgc3Vic3RyaW5nIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHVuaWNvZGVfbGFuZ3VhZ2Vfc3VidGFn
CisgICAgICAgICAgIHByb2R1Y3Rpb24gb2YgdGhlIHVuaWNvZGVfbGFuZ3VhZ2VfaWQgcmVwbGFj
ZWQgYnkgdGhlIHN0cmluZyBsYW5ndWFnZS4KKyAgICAuLi4KKyAgICAxMy4gUmV0dXJuIENhbm9u
aWNhbGl6ZVVuaWNvZGVMb2NhbGVJZCh0YWcpLgorZmVhdHVyZXM6IFtJbnRsLkxvY2FsZV0KKy0t
LSovCisKKy8vIEFwcGx5T3B0aW9uc1RvVGFnIGNhbm9uaWNhbGlzZXMgdGhlIGxvY2FsZSBpZGVu
dGlmaWVyIGJlZm9yZSBhcHBseWluZyB0aGUKKy8vIG9wdGlvbnMuIFRoYXQgbWVhbnMgInVuZC1B
cm1uLVNVIiBpcyBmaXJzdCBjYW5vbmljYWxpc2VkIHRvICJ1bmQtQXJtbi1BTSIsCisvLyB0aGVu
IHRoZSBsYW5ndWFnZSBpcyBjaGFuZ2VkIHRvICJydSIuIElmICJydSIgd2VyZSBhcHBsaWVkIGZp
cnN0LCB0aGUgcmVzdWx0CisvLyB3b3VsZCBiZSAicnUtQXJtbi1SVSIgaW5zdGVhZC4KK2Fzc2Vy
dC5zYW1lVmFsdWUobmV3IEludGwuTG9jYWxlKCJ1bmQtQXJtbi1TVSIsIHtsYW5ndWFnZTogInJ1
In0pLnRvU3RyaW5nKCksICJydS1Bcm1uLUFNIik7CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9pbnRsNDAyL0xvY2FsZS9jb25zdHJ1Y3Rvci1ub24taWFuYS1jYW5vbi5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0xvY2FsZS9jb25zdHJ1Y3Rvci1ub24t
aWFuYS1jYW5vbi5qcwkocmV2aXNpb24gMjYwNTcwKQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
aW50bDQwMi9Mb2NhbGUvY29uc3RydWN0b3Itbm9uLWlhbmEtY2Fub24uanMJKHdvcmtpbmcgY29w
eSkKQEAgLTc5LDE4ICs3OSwxMyBAQCB2YXIgdGVzdERhdGEgPSBbCiAgICAgICAgIG1heGltaXpl
ZDogImNzLUxhdG4tQ1oiLAogICAgIH0sCiAgICAgewotICAgICAgICAvLyBFQ01BLTQwMiBjdXJy
ZW50bHkgcmVxdWlyZXMgdGhhdCB2YXJpYW50IHN1YnRhZ3MgYXJlIG5vdCBjYW5vbmljYWxpemVk
LgotICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdGMzOS9lY21hNDAyL2lzc3Vlcy8zMzAK
ICAgICAgICAgdGFnOiAiaHktYXJldmVsYSIsCi0gICAgICAgIGNhbm9uaWNhbDogImh5LWFyZXZl
bGEiLAotICAgICAgICBtYXhpbWl6ZWQ6ICJoeS1Bcm1uLUFNLWFyZXZlbGEiLAorICAgICAgICBj
YW5vbmljYWw6ICJoeSIsCisgICAgICAgIG1heGltaXplZDogImh5LUFybW4tQU0iLAogICAgIH0s
CiAgICAgewotICAgICAgICAvLyBFQ01BLTQwMiBjdXJyZW50bHkgcmVxdWlyZXMgdGhhdCB2YXJp
YW50IHN1YnRhZ3MgYXJlIG5vdCBjYW5vbmljYWxpemVkLgotICAgICAgICAvLyBodHRwczovL2dp
dGh1Yi5jb20vdGMzOS9lY21hNDAyL2lzc3Vlcy8zMzAKICAgICAgICAgdGFnOiAiaHktYXJldm1k
YSIsCi0gICAgICAgIGNhbm9uaWNhbDogImh5LWFyZXZtZGEiLAotICAgICAgICBtYXhpbWl6ZWQ6
ICJoeS1Bcm1uLUFNLWFyZXZtZGEiLAorICAgICAgICBjYW5vbmljYWw6ICJoeXciLAogICAgIH0s
CiBdOwogCkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0xvY2FsZS9jb25zdHJ1
Y3Rvci1vcHRpb25zLWNhbm9uaWNhbGl6ZWQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvaW50bDQwMi9Mb2NhbGUvY29uc3RydWN0b3Itb3B0aW9ucy1jYW5vbmljYWxpemVk
LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvTG9jYWxl
L2NvbnN0cnVjdG9yLW9wdGlvbnMtY2Fub25pY2FsaXplZC5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDY5IEBACisvLyBDb3B5cmlnaHQgMjAyMCBNb3ppbGxhIENvcnBvcmF0aW9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLXJlc29s
dmVsb2NhbGUKK2Rlc2NyaXB0aW9uOiA+CisgICAgVmFsdWVzIHByb3ZpZGVkIGFzIHByb3BlcnRp
ZXMgb2YgdGhlIG9wdGlvbnMtYXJndW1lbnQgdG8gdGhlIExvY2FsZQorICAgIGNvbnN0cnVjdG9y
IGFyZSBjb252ZXJ0ZWQgdG8gY2Fub25pY2FsIGZvcm0uCitpbmZvOiB8CisgICAgUmVzb2x2ZUxv
Y2FsZSAoIGF2YWlsYWJsZUxvY2FsZXMsIHJlcXVlc3RlZExvY2FsZXMsIG9wdGlvbnMsIHJlbGV2
YW50RXh0ZW5zaW9uS2V5cywgbG9jYWxlRGF0YSApCisKKyAgICAuLi4KKyAgICA5LmkuaWlpLjEu
IExldCBvcHRpb25zVmFsdWUgYmUgdGhlIHN0cmluZyBvcHRpb25zVmFsdWUgYWZ0ZXIgcGVyZm9y
bWluZyB0aGUgYWxnb3JpdGhtIHN0ZXBzIHRvIHRyYW5zZm9ybSBVbmljb2RlIGV4dGVuc2lvbiB2
YWx1ZXMgdG8gY2Fub25pY2FsIHN5bnRheCBwZXIgVW5pY29kZSBUZWNobmljYWwgU3RhbmRhcmQg
IzM1IExETUwgwqcgMy4yLjEgQ2Fub25pY2FsIFVuaWNvZGUgTG9jYWxlIElkZW50aWZpZXJzLCB0
cmVhdGluZyBrZXkgYXMgdWtleSBhbmQgb3B0aW9uc1ZhbHVlIGFzIHV2YWx1ZSBwcm9kdWN0aW9u
cy4KKyAgICA5LmkuaWlpLjIuIExldCBvcHRpb25zVmFsdWUgYmUgdGhlIHN0cmluZyBvcHRpb25z
VmFsdWUgYWZ0ZXIgcGVyZm9ybWluZyB0aGUgYWxnb3JpdGhtIHN0ZXBzIHRvIHJlcGxhY2UgVW5p
Y29kZSBleHRlbnNpb24gdmFsdWVzIHdpdGggdGhlaXIgY2Fub25pY2FsIGZvcm0gcGVyIFVuaWNv
ZGUgVGVjaG5pY2FsIFN0YW5kYXJkICMzNSBMRE1MIMKnIDMuMi4xIENhbm9uaWNhbCBVbmljb2Rl
IExvY2FsZSBJZGVudGlmaWVycywgdHJlYXRpbmcga2V5IGFzIHVrZXkgYW5kIG9wdGlvbnNWYWx1
ZSBhcyB1dmFsdWUgcHJvZHVjdGlvbnMuCisgICAgLi4uCisKK2ZlYXR1cmVzOiBbSW50bC5Mb2Nh
bGVdCistLS0qLworCitjb25zdCBrZXlWYWx1ZVRlc3RzID0gWworICB7CisgICAga2V5OiAiY2Ei
LAorICAgIG9wdGlvbjogImNhbGVuZGFyIiwKKyAgICB0ZXN0czogWworICAgICAgWyJpc2xhbWlj
YyIsICJpc2xhbWljLWNpdmlsIl0sCisgICAgICBbImV0aGlvcGljLWFtZXRlLWFsZW0iLCAiZXRo
aW9hYSJdLAorICAgIF0sCisgIH0sCitdOworCitmb3IgKGNvbnN0IHsga2V5LCBvcHRpb24sIHRl
c3RzIH0gb2Yga2V5VmFsdWVUZXN0cykgeworICBmb3IgKGNvbnN0IFtub25jYW5vbmljYWwsIGNh
bm9uaWNhbF0gb2YgdGVzdHMpIHsKKyAgICBsZXQgY2Fub25pY2FsSW5Mb2NhbGUgPQorICAgICAg
bmV3IEludGwuTG9jYWxlKGBlbi11LSR7a2V5fS0ke2Nhbm9uaWNhbH1gKTsKKworICAgIGFzc2Vy
dC5zYW1lVmFsdWUoCisgICAgICBjYW5vbmljYWxJbkxvY2FsZVtvcHRpb25dLAorICAgICAgY2Fu
b25pY2FsLAorICAgICAgYG5ldyBJbnRsLkxvY2FsZSgiZW4tdS0ke2tleX0tJHtjYW5vbmljYWx9
IikuJHtvcHRpb259IHJldHVybnMgJHtjYW5vbmljYWx9YAorICAgICk7CisKKyAgICBsZXQgY2Fu
b25pY2FsSW5PcHRpb24gPQorICAgICAgbmV3IEludGwuTG9jYWxlKGBlbmAsIHsgW29wdGlvbl06
IGNhbm9uaWNhbCB9KTsKKworICAgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgICBjYW5vbmljYWxJ
bk9wdGlvbltvcHRpb25dLAorICAgICAgY2Fub25pY2FsLAorICAgICAgYG5ldyBJbnRsLkxvY2Fs
ZSgiZW4iLCB7ICR7b3B0aW9ufTogIiR7Y2Fub25pY2FsfSIgfSkuJHtvcHRpb259IHJldHVybnMg
JHtjYW5vbmljYWx9YAorICAgICk7CisKKyAgICBsZXQgbm9uY2Fub25pY2FsSW5Mb2NhbGUgPQor
ICAgICAgbmV3IEludGwuTG9jYWxlKGBlbi11LSR7a2V5fS0ke25vbmNhbm9uaWNhbH1gKTsKKwor
ICAgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgICBub25jYW5vbmljYWxJbkxvY2FsZVtvcHRpb25d
LAorICAgICAgY2Fub25pY2FsLAorICAgICAgYG5ldyBJbnRsLkxvY2FsZSgiZW4tdS0ke2tleX0t
JHtub25jYW5vbmljYWx9IikuJHtvcHRpb259IHJldHVybnMgJHtjYW5vbmljYWx9YAorICAgICk7
CisKKyAgICBsZXQgbm9uY2Fub25pY2FsSW5PcHRpb24gPQorICAgICAgbmV3IEludGwuTG9jYWxl
KGBlbmAsIHsgW29wdGlvbl06IG5vbmNhbm9uaWNhbCB9KTsKKworICAgIGFzc2VydC5zYW1lVmFs
dWUoCisgICAgICBub25jYW5vbmljYWxJbk9wdGlvbltvcHRpb25dLAorICAgICAgY2Fub25pY2Fs
LAorICAgICAgYG5ldyBJbnRsLkxvY2FsZSgiZW4iLCB7ICR7b3B0aW9ufTogIiR7bm9uY2Fub25p
Y2FsfSIgfSkuJHtvcHRpb259IHJldHVybnMgJHtjYW5vbmljYWx9YAorICAgICk7CisgIH0KK30K
SW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvTG9jYWxlL2V4dGVuc2lvbnMtZ3Jh
bmRmYXRoZXJlZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAy
L0xvY2FsZS9leHRlbnNpb25zLWdyYW5kZmF0aGVyZWQuanMJKHJldmlzaW9uIDI2MDU3MCkKKysr
IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvTG9jYWxlL2V4dGVuc2lvbnMtZ3JhbmRmYXRo
ZXJlZC5qcwkod29ya2luZyBjb3B5KQpAQCAtMjIsNiArMjIsMTggQEAgZmVhdHVyZXM6IFtJbnRs
LkxvY2FsZV0KIC0tLSovCiAKIGNvbnN0IHRlc3REYXRhID0gWworICAgIC8vIFJlZ3VsYXIgZ3Jh
bmRmYXRoZXJlZCB3aXRob3V0IG1vZGVybiByZXBsYWNlbWVudC4KKyAgICB7CisgICAgICAgIHRh
ZzogImNlbC1nYXVsaXNoIiwKKyAgICAgICAgb3B0aW9uczogeworICAgICAgICAgICAgbGFuZ3Vh
Z2U6ICJmciIsCisgICAgICAgICAgICBzY3JpcHQ6ICJDeXJsIiwKKyAgICAgICAgICAgIHJlZ2lv
bjogIkZSIiwKKyAgICAgICAgICAgIG51bWJlcmluZ1N5c3RlbTogImxhdG4iLAorICAgICAgICB9
LAorICAgICAgICBjYW5vbmljYWw6ICJmci1DeXJsLUZSLXUtbnUtbGF0bi14LWNlbC1nYXVsaXNo
IiwKKyAgICB9LAorCiAgICAgLy8gUmVndWxhciBncmFuZGZhdGhlcmVkIHdpdGggbW9kZXJuIHJl
cGxhY2VtZW50LgogICAgIHsKICAgICAgICAgdGFnOiAiYXJ0LWxvamJhbiIsCkluZGV4OiBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0xvY2FsZS9nZXR0ZXJzLWdyYW5kZmF0aGVyZWQuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9Mb2NhbGUvZ2V0dGVy
cy1ncmFuZGZhdGhlcmVkLmpzCShyZXZpc2lvbiAyNjA1NzApCisrKyBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9pbnRsNDAyL0xvY2FsZS9nZXR0ZXJzLWdyYW5kZmF0aGVyZWQuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTI2LDYgKzI2LDEzIEBAIGZlYXR1cmVzOiBbSW50bC5Mb2NhbGVdCiAtLS0qLwogCiAv
LyBSZWd1bGFyIGdyYW5kZmF0aGVyZWQgbGFuZ3VhZ2UgdGFnLgordmFyIGxvYyA9IG5ldyBJbnRs
LkxvY2FsZSgiY2VsLWdhdWxpc2giKTsKK2Fzc2VydC5zYW1lVmFsdWUobG9jLmJhc2VOYW1lLCAi
eHRnIik7Cithc3NlcnQuc2FtZVZhbHVlKGxvYy5sYW5ndWFnZSwgInh0ZyIpOworYXNzZXJ0LnNh
bWVWYWx1ZShsb2Muc2NyaXB0LCB1bmRlZmluZWQpOworYXNzZXJ0LnNhbWVWYWx1ZShsb2MucmVn
aW9uLCB1bmRlZmluZWQpOworCisvLyBSZWd1bGFyIGdyYW5kZmF0aGVyZWQgbGFuZ3VhZ2UgdGFn
LgogYXNzZXJ0LnRocm93cyhSYW5nZUVycm9yLCAoKSA9PiBuZXcgSW50bC5Mb2NhbGUoInpoLW1p
biIpKTsKIAogYXNzZXJ0LnRocm93cyhSYW5nZUVycm9yLCAoKSA9PiBuZXcgSW50bC5Mb2NhbGUo
ImktZGVmYXVsdCIpKTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvTG9jYWxl
L2xpa2VseS1zdWJ0YWdzLWdyYW5kZmF0aGVyZWQuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvaW50bDQwMi9Mb2NhbGUvbGlrZWx5LXN1YnRhZ3MtZ3JhbmRmYXRoZXJlZC5q
cwkocmV2aXNpb24gMjYwNTcwKQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9Mb2Nh
bGUvbGlrZWx5LXN1YnRhZ3MtZ3JhbmRmYXRoZXJlZC5qcwkod29ya2luZyBjb3B5KQpAQCAtNjcs
NiArNjcsMTAgQEAgY29uc3QgcmVndWxhckdyYW5kZmF0aGVyZWQgPSBbCiAgICAgICAgIG1heGlt
aXplZDogImpiby1MYXRuLTAwMSIsCiAgICAgfSwKICAgICB7CisgICAgICAgIHRhZzogImNlbC1n
YXVsaXNoIiwKKyAgICAgICAgY2Fub25pY2FsOiAieHRnLXgtY2VsLWdhdWxpc2giLAorICAgIH0s
CisgICAgewogICAgICAgICB0YWc6ICJ6aC1ndW95dSIsCiAgICAgICAgIGNhbm9uaWNhbDogInpo
IiwKICAgICAgICAgbWF4aW1pemVkOiAiemgtSGFucy1DTiIsCkluZGV4OiBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9pbnRsNDAyL0xvY2FsZS9saWtlbHktc3VidGFncy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0xvY2FsZS9saWtlbHktc3VidGFncy5qcwkocmV2
aXNpb24gMjYwNTcwKQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9Mb2NhbGUvbGlr
ZWx5LXN1YnRhZ3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3LDEwIEBAIGNvbnN0IHRl
c3REYXRhTWF4aW1hbCA9IHsKICAgICAidW5kLTQxOSI6ICJlcy1MYXRuLTQxOSIsCiAgICAgInVu
ZC0xNTAiOiAicnUtQ3lybC1SVSIsCiAgICAgInVuZC1BVCI6ICJkZS1MYXRuLUFUIiwKKyAgICAi
dW5kLUN5cmwtUk8iOiAiYmctQ3lybC1STyIsCisKKyAgICAvLyBVbmRlZmluZWQgcHJpbWFyeSBs
YW5ndWFnZSBub3QgcmVxdWlyZWQgdG8gY2hhbmdlIGluIGFsbCBjYXNlcy4KKyAgICAidW5kLUFR
IjogInVuZC1MYXRuLUFRIiwKIH07CiAKIGNvbnN0IHRlc3REYXRhTWluaW1hbCA9IHsKQEAgLTYy
LDYgKzY2LDggQEAgY29uc3QgdGVzdERhdGFNaW5pbWFsID0gewogICAgICJlcy1MYXRuLTQxOSI6
ICJlcy00MTkiLAogICAgICJydS1DeXJsLVJVIjogInJ1IiwKICAgICAiZGUtTGF0bi1BVCI6ICJk
ZS1BVCIsCisgICAgImJnLUN5cmwtUk8iOiAiYmctUk8iLAorICAgICJ1bmQtTGF0bi1BUSI6ICJ1
bmQtQVEiLAogfTsKIAogLy8gQWRkIHZhcmlhbnRzLCBleHRlbnNpb25zLCBhbmQgcHJpdmF0ZXVz
ZSBzdWJ0YWdzIGFuZCBlbnN1cmUgdGhleSBkb24ndApJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvaW50bDQwMi9Mb2NhbGUvcHJvdG90eXBlL21pbmltaXplL3JlbW92aW5nLWxpa2VseS1zdWJ0
YWdzLWZpcnN0LWFkZHMtbGlrZWx5LXN1YnRhZ3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvaW50bDQwMi9Mb2NhbGUvcHJvdG90eXBlL21pbmltaXplL3JlbW92aW5nLWxp
a2VseS1zdWJ0YWdzLWZpcnN0LWFkZHMtbGlrZWx5LXN1YnRhZ3MuanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9Mb2NhbGUvcHJvdG90eXBlL21pbmltaXpl
L3JlbW92aW5nLWxpa2VseS1zdWJ0YWdzLWZpcnN0LWFkZHMtbGlrZWx5LXN1YnRhZ3MuanMJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw0OSBAQAorLy8gQ29weXJpZ2h0IDIwMjAgQW5kcsOpIEJh
cmd1bGwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lk
OiBzZWMtSW50bC5Mb2NhbGUucHJvdG90eXBlLm1pbmltaXplCitkZXNjcmlwdGlvbjogPgorICAg
IFRoZSAiUmVtb3ZlIExpa2VseSBTdWJ0YWdzIiBhbGdvcml0aG0gYWRkcyBsaWtlbHkgc3VidGFn
cyBiZWZvcmUgcHJvY2Vzc2luZyB0aGUgbG9jYWxlLgoraW5mbzogfAorICAgIEludGwuTG9jYWxl
LnByb3RvdHlwZS5taW5pbWl6ZSAoKQorICAgIDMuIExldCBtaW5pbWFsIGJlIHRoZSByZXN1bHQg
b2YgdGhlIFJlbW92ZSBMaWtlbHkgU3VidGFncyBhbGdvcml0aG0gYXBwbGllZCB0byBsb2MuW1tM
b2NhbGVdXS4KKyAgICAgICBJZiBhbiBlcnJvciBpcyBzaWduYWxlZCwgc2V0IG1pbmltYWwgdG8g
bG9jLltbTG9jYWxlXV0uCisKKyAgICBVVFMgMzUsIMKnNC4zIExpa2VseSBTdWJ0YWdzCisgICAg
UmVtb3ZlIExpa2VseSBTdWJ0YWdzCisKKyAgICAxLiBGaXJzdCBnZXQgbWF4ID0gQWRkTGlrZWx5
U3VidGFncyhpbnB1dExvY2FsZSkuIElmIGFuIGVycm9yIGlzIHNpZ25hbGVkLCByZXR1cm4gaXQu
CisgICAgMi4gLi4uCitmZWF0dXJlczogW0ludGwuTG9jYWxlXQorLS0tKi8KKwordmFyIHRlc3RE
YXRhTWluaW1hbCA9IHsKKyAgICAvLyBVbmRlZmluZWQgcHJpbWFyeSBsYW5ndWFnZS4KKyAgICAi
dW5kIjogImVuIiwKKyAgICAidW5kLVRoYWkiOiAidGgiLAorICAgICJ1bmQtNDE5IjogImVzLTQx
OSIsCisgICAgInVuZC0xNTAiOiAicnUiLAorICAgICJ1bmQtQVQiOiAiZGUtQVQiLAorCisgICAg
Ly8gaHR0cHM6Ly91bmljb2RlLW9yZy5hdGxhc3NpYW4ubmV0L2Jyb3dzZS9JQ1UtMTM3ODYKKyAg
ICAiYWFlLUxhdG4tSVQiOiAiYWFlLUxhdG4tSVQiLAorICAgICJhYWUtVGhhaS1DTyI6ICJhYWUt
VGhhaS1DTyIsCisKKyAgICAvLyBodHRwczovL3VuaWNvZGUtb3JnLmF0bGFzc2lhbi5uZXQvYnJv
d3NlL0lDVS0xMDIyMAorICAgIC8vIGh0dHBzOi8vdW5pY29kZS1vcmcuYXRsYXNzaWFuLm5ldC9i
cm93c2UvSUNVLTEyMzQ1CisgICAgInVuZC1DVyI6ICJwYXAtQ1ciLAorICAgICJ1bmQtVVMiOiAi
ZW4iLAorICAgICJ6aC1IYW50IjogInpoLVRXIiwKKyAgICAiemgtSGFuaSI6ICJ6aC1IYW5pIiwK
K307CisKK2ZvciAoY29uc3QgW3RhZywgbWluaW1hbF0gb2YgT2JqZWN0LmVudHJpZXModGVzdERh
dGFNaW5pbWFsKSkgeworICAgIC8vIEFzc2VydCB0aGUgfG1pbmltYWx8IHRhZyBpcyBpbmRlZWQg
bWluaW1hbC4KKyAgICBhc3NlcnQuc2FtZVZhbHVlKG5ldyBJbnRsLkxvY2FsZShtaW5pbWFsKS5t
aW5pbWl6ZSgpLnRvU3RyaW5nKCksIG1pbmltYWwsCisgICAgICAgICAgICAgICAgICAgICBgIiR7
bWluaW1hbH0iIHNob3VsZCBiZSBtaW5pbWFsYCk7CisKKyAgICAvLyBBc3NlcnQgUmVtb3ZlTGlr
ZWx5U3VidGFncyh0YWcpIHJldHVybnMgfG1pbmltYWx8LgorICAgIGFzc2VydC5zYW1lVmFsdWUo
bmV3IEludGwuTG9jYWxlKHRhZykubWluaW1pemUoKS50b1N0cmluZygpLCBtaW5pbWFsLAorICAg
ICAgICAgICAgICAgICAgICAgYCIke3RhZ30iLm1pbmltaXplKCkgc2hvdWxkIGJlICIke21pbmlt
YWx9ImApOworfQpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9OdW1iZXJGb3Jt
YXQvcHJvdG90eXBlL2Zvcm1hdC9zaWduRGlzcGxheS1jdXJyZW5jeS1kZS1ERS5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5
cGUvZm9ybWF0L3NpZ25EaXNwbGF5LWN1cnJlbmN5LWRlLURFLmpzCShyZXZpc2lvbiAyNjA1NzAp
CisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUv
Zm9ybWF0L3NpZ25EaXNwbGF5LWN1cnJlbmN5LWRlLURFLmpzCSh3b3JraW5nIGNvcHkpCkBAIC00
MCwxMCArNDAsMTAgQEAgY29uc3QgdGVzdHMgPSBbCiAgIFsKICAgICAiZXhjZXB0WmVybyIsCiAg
ICAgIi05ODcsMDDCoCQiLAotICAgICItMCwwMMKgJCIsCi0gICAgIi0wLDAwwqAkIiwKICAgICAi
MCwwMMKgJCIsCi0gICAgIiswLDAwwqAkIiwKKyAgICAiMCwwMMKgJCIsCisgICAgIjAsMDDCoCQi
LAorICAgICIwLDAwwqAkIiwKICAgICAiKzk4NywwMMKgJCIsCiAgIF0sCiBdOwpJbmRleDogSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdC9z
aWduRGlzcGxheS1jdXJyZW5jeS1lbi1VUy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L3NpZ25EaXNwbGF5
LWN1cnJlbmN5LWVuLVVTLmpzCShyZXZpc2lvbiAyNjA1NzApCisrKyBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L3NpZ25EaXNwbGF5LWN1
cnJlbmN5LWVuLVVTLmpzCSh3b3JraW5nIGNvcHkpCkBAIC00MCwxMCArNDAsMTAgQEAgY29uc3Qg
dGVzdHMgPSBbCiAgIFsKICAgICAiZXhjZXB0WmVybyIsCiAgICAgIigkOTg3LjAwKSIsCi0gICAg
IigkMC4wMCkiLAotICAgICIoJDAuMDApIiwKICAgICAiJDAuMDAiLAotICAgICIrJDAuMDAiLAor
ICAgICIkMC4wMCIsCisgICAgIiQwLjAwIiwKKyAgICAiJDAuMDAiLAogICAgICIrJDk4Ny4wMCIs
CiAgIF0sCiBdOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9OdW1iZXJGb3Jt
YXQvcHJvdG90eXBlL2Zvcm1hdC9zaWduRGlzcGxheS1jdXJyZW5jeS1qYS1KUC5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5
cGUvZm9ybWF0L3NpZ25EaXNwbGF5LWN1cnJlbmN5LWphLUpQLmpzCShyZXZpc2lvbiAyNjA1NzAp
CisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUv
Zm9ybWF0L3NpZ25EaXNwbGF5LWN1cnJlbmN5LWphLUpQLmpzCSh3b3JraW5nIGNvcHkpCkBAIC00
MCwxMCArNDAsMTAgQEAgY29uc3QgdGVzdHMgPSBbCiAgIFsKICAgICAiZXhjZXB0WmVybyIsCiAg
ICAgIigkOTg3LjAwKSIsCi0gICAgIigkMC4wMCkiLAotICAgICIoJDAuMDApIiwKICAgICAiJDAu
MDAiLAotICAgICIrJDAuMDAiLAorICAgICIkMC4wMCIsCisgICAgIiQwLjAwIiwKKyAgICAiJDAu
MDAiLAogICAgICIrJDk4Ny4wMCIsCiAgIF0sCiBdOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdC9zaWduRGlzcGxheS1jdXJy
ZW5jeS1rby1LUi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAy
L051bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L3NpZ25EaXNwbGF5LWN1cnJlbmN5LWtvLUtS
LmpzCShyZXZpc2lvbiAyNjA1NzApCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051
bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L3NpZ25EaXNwbGF5LWN1cnJlbmN5LWtvLUtSLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC00MCwxMCArNDAsMTAgQEAgY29uc3QgdGVzdHMgPSBbCiAgIFsK
ICAgICAiZXhjZXB0WmVybyIsCiAgICAgIihVUyQ5ODcuMDApIiwKLSAgICAiKFVTJDAuMDApIiwK
LSAgICAiKFVTJDAuMDApIiwKICAgICAiVVMkMC4wMCIsCi0gICAgIitVUyQwLjAwIiwKKyAgICAi
VVMkMC4wMCIsCisgICAgIlVTJDAuMDAiLAorICAgICJVUyQwLjAwIiwKICAgICAiK1VTJDk4Ny4w
MCIsCiAgIF0sCiBdOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9OdW1iZXJG
b3JtYXQvcHJvdG90eXBlL2Zvcm1hdC9zaWduRGlzcGxheS1jdXJyZW5jeS16aC1UVy5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90
b3R5cGUvZm9ybWF0L3NpZ25EaXNwbGF5LWN1cnJlbmN5LXpoLVRXLmpzCShyZXZpc2lvbiAyNjA1
NzApCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5
cGUvZm9ybWF0L3NpZ25EaXNwbGF5LWN1cnJlbmN5LXpoLVRXLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC00MCwxMCArNDAsMTAgQEAgY29uc3QgdGVzdHMgPSBbCiAgIFsKICAgICAiZXhjZXB0WmVybyIs
CiAgICAgIihVUyQ5ODcuMDApIiwKLSAgICAiKFVTJDAuMDApIiwKLSAgICAiKFVTJDAuMDApIiwK
ICAgICAiVVMkMC4wMCIsCi0gICAgIitVUyQwLjAwIiwKKyAgICAiVVMkMC4wMCIsCisgICAgIlVT
JDAuMDAiLAorICAgICJVUyQwLjAwIiwKICAgICAiK1VTJDk4Ny4wMCIsCiAgIF0sCiBdOwpJbmRl
eDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zv
cm1hdC9zaWduRGlzcGxheS1kZS1ERS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L3NpZ25EaXNwbGF5LWRl
LURFLmpzCShyZXZpc2lvbiAyNjA1NzApCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAy
L051bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L3NpZ25EaXNwbGF5LWRlLURFLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MCw4ICs1MCw4IEBAIGNvbnN0IHRlc3RzID0gWwogICAgICJleGNlcHRa
ZXJvIiwKICAgICAiLeKIniIsCiAgICAgIi05ODciLAotICAgICItMCIsCi0gICAgIi0wIiwKKyAg
ICAiMCIsCisgICAgIjAiLAogICAgICIwIiwKICAgICAiMCIsCiAgICAgIis5ODciLApJbmRleDog
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1h
dC9zaWduRGlzcGxheS1lbi1VUy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L3NpZ25EaXNwbGF5LWVuLVVT
LmpzCShyZXZpc2lvbiAyNjA1NzApCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051
bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L3NpZ25EaXNwbGF5LWVuLVVTLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC01MCw4ICs1MCw4IEBAIGNvbnN0IHRlc3RzID0gWwogICAgICJleGNlcHRaZXJv
IiwKICAgICAiLeKIniIsCiAgICAgIi05ODciLAotICAgICItMCIsCi0gICAgIi0wIiwKKyAgICAi
MCIsCisgICAgIjAiLAogICAgICIwIiwKICAgICAiMCIsCiAgICAgIis5ODciLApJbmRleDogSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdC9z
aWduRGlzcGxheS1qYS1KUC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9p
bnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L3NpZ25EaXNwbGF5LWphLUpQLmpz
CShyZXZpc2lvbiAyNjA1NzApCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJl
ckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L3NpZ25EaXNwbGF5LWphLUpQLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC01MCw4ICs1MCw4IEBAIGNvbnN0IHRlc3RzID0gWwogICAgICJleGNlcHRaZXJvIiwK
ICAgICAiLeKIniIsCiAgICAgIi05ODciLAotICAgICItMCIsCi0gICAgIi0wIiwKKyAgICAiMCIs
CisgICAgIjAiLAogICAgICIwIiwKICAgICAiMCIsCiAgICAgIis5ODciLApJbmRleDogSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdC9zaWdu
RGlzcGxheS1rby1LUi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRs
NDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L3NpZ25EaXNwbGF5LWtvLUtSLmpzCShy
ZXZpc2lvbiAyNjA1NzApCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJlckZv
cm1hdC9wcm90b3R5cGUvZm9ybWF0L3NpZ25EaXNwbGF5LWtvLUtSLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC01MCw4ICs1MCw4IEBAIGNvbnN0IHRlc3RzID0gWwogICAgICJleGNlcHRaZXJvIiwKICAg
ICAiLeKIniIsCiAgICAgIi05ODciLAotICAgICItMCIsCi0gICAgIi0wIiwKKyAgICAiMCIsCisg
ICAgIjAiLAogICAgICIwIiwKICAgICAiMCIsCiAgICAgIis5ODciLApJbmRleDogSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdC9zaWduRGlz
cGxheS16aC1UVy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAy
L051bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L3NpZ25EaXNwbGF5LXpoLVRXLmpzCShyZXZp
c2lvbiAyNjA1NzApCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJlckZvcm1h
dC9wcm90b3R5cGUvZm9ybWF0L3NpZ25EaXNwbGF5LXpoLVRXLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC01MCw4ICs1MCw4IEBAIGNvbnN0IHRlc3RzID0gWwogICAgICJleGNlcHRaZXJvIiwKICAgICAi
LeKIniIsCiAgICAgIi05ODciLAotICAgICItMCIsCi0gICAgIi0wIiwKKyAgICAiMCIsCisgICAg
IjAiLAogICAgICIwIiwKICAgICAiMCIsCiAgICAgIis5ODciLApJbmRleDogSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMvc2ln
bkRpc3BsYXktY3VycmVuY3ktZGUtREUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMvc2lnbkRp
c3BsYXktY3VycmVuY3ktZGUtREUuanMJKHJldmlzaW9uIDI2MDU3MCkKKysrIEpTVGVzdHMvdGVz
dDI2Mi90ZXN0L2ludGw0MDIvTnVtYmVyRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXRUb1BhcnRzL3Np
Z25EaXNwbGF5LWN1cnJlbmN5LWRlLURFLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01MCwxMCArNTAs
MTAgQEAgY29uc3QgdGVzdHMgPSBbCiAgIFsKICAgICAiZXhjZXB0WmVybyIsCiAgICAgW3sidHlw
ZSI6Im1pbnVzU2lnbiIsInZhbHVlIjoiLSJ9LHsidHlwZSI6ImludGVnZXIiLCJ2YWx1ZSI6Ijk4
NyJ9LHsidHlwZSI6ImRlY2ltYWwiLCJ2YWx1ZSI6IiwifSx7InR5cGUiOiJmcmFjdGlvbiIsInZh
bHVlIjoiMDAifSx7InR5cGUiOiJsaXRlcmFsIiwidmFsdWUiOiLCoCJ9LHsidHlwZSI6ImN1cnJl
bmN5IiwidmFsdWUiOiIkIn1dLAotICAgIFt7InR5cGUiOiJtaW51c1NpZ24iLCJ2YWx1ZSI6Ii0i
fSx7InR5cGUiOiJpbnRlZ2VyIiwidmFsdWUiOiIwIn0seyJ0eXBlIjoiZGVjaW1hbCIsInZhbHVl
IjoiLCJ9LHsidHlwZSI6ImZyYWN0aW9uIiwidmFsdWUiOiIwMCJ9LHsidHlwZSI6ImxpdGVyYWwi
LCJ2YWx1ZSI6IsKgIn0seyJ0eXBlIjoiY3VycmVuY3kiLCJ2YWx1ZSI6IiQifV0sCi0gICAgW3si
dHlwZSI6Im1pbnVzU2lnbiIsInZhbHVlIjoiLSJ9LHsidHlwZSI6ImludGVnZXIiLCJ2YWx1ZSI6
IjAifSx7InR5cGUiOiJkZWNpbWFsIiwidmFsdWUiOiIsIn0seyJ0eXBlIjoiZnJhY3Rpb24iLCJ2
YWx1ZSI6IjAwIn0seyJ0eXBlIjoibGl0ZXJhbCIsInZhbHVlIjoiwqAifSx7InR5cGUiOiJjdXJy
ZW5jeSIsInZhbHVlIjoiJCJ9XSwKICAgICBbeyJ0eXBlIjoiaW50ZWdlciIsInZhbHVlIjoiMCJ9
LHsidHlwZSI6ImRlY2ltYWwiLCJ2YWx1ZSI6IiwifSx7InR5cGUiOiJmcmFjdGlvbiIsInZhbHVl
IjoiMDAifSx7InR5cGUiOiJsaXRlcmFsIiwidmFsdWUiOiLCoCJ9LHsidHlwZSI6ImN1cnJlbmN5
IiwidmFsdWUiOiIkIn1dLAotICAgIFt7InR5cGUiOiJwbHVzU2lnbiIsInZhbHVlIjoiKyJ9LHsi
dHlwZSI6ImludGVnZXIiLCJ2YWx1ZSI6IjAifSx7InR5cGUiOiJkZWNpbWFsIiwidmFsdWUiOiIs
In0seyJ0eXBlIjoiZnJhY3Rpb24iLCJ2YWx1ZSI6IjAwIn0seyJ0eXBlIjoibGl0ZXJhbCIsInZh
bHVlIjoiwqAifSx7InR5cGUiOiJjdXJyZW5jeSIsInZhbHVlIjoiJCJ9XSwKKyAgICBbeyJ0eXBl
IjoiaW50ZWdlciIsInZhbHVlIjoiMCJ9LHsidHlwZSI6ImRlY2ltYWwiLCJ2YWx1ZSI6IiwifSx7
InR5cGUiOiJmcmFjdGlvbiIsInZhbHVlIjoiMDAifSx7InR5cGUiOiJsaXRlcmFsIiwidmFsdWUi
OiLCoCJ9LHsidHlwZSI6ImN1cnJlbmN5IiwidmFsdWUiOiIkIn1dLAorICAgIFt7InR5cGUiOiJp
bnRlZ2VyIiwidmFsdWUiOiIwIn0seyJ0eXBlIjoiZGVjaW1hbCIsInZhbHVlIjoiLCJ9LHsidHlw
ZSI6ImZyYWN0aW9uIiwidmFsdWUiOiIwMCJ9LHsidHlwZSI6ImxpdGVyYWwiLCJ2YWx1ZSI6IsKg
In0seyJ0eXBlIjoiY3VycmVuY3kiLCJ2YWx1ZSI6IiQifV0sCisgICAgW3sidHlwZSI6ImludGVn
ZXIiLCJ2YWx1ZSI6IjAifSx7InR5cGUiOiJkZWNpbWFsIiwidmFsdWUiOiIsIn0seyJ0eXBlIjoi
ZnJhY3Rpb24iLCJ2YWx1ZSI6IjAwIn0seyJ0eXBlIjoibGl0ZXJhbCIsInZhbHVlIjoiwqAifSx7
InR5cGUiOiJjdXJyZW5jeSIsInZhbHVlIjoiJCJ9XSwKICAgICBbeyJ0eXBlIjoicGx1c1NpZ24i
LCJ2YWx1ZSI6IisifSx7InR5cGUiOiJpbnRlZ2VyIiwidmFsdWUiOiI5ODcifSx7InR5cGUiOiJk
ZWNpbWFsIiwidmFsdWUiOiIsIn0seyJ0eXBlIjoiZnJhY3Rpb24iLCJ2YWx1ZSI6IjAwIn0seyJ0
eXBlIjoibGl0ZXJhbCIsInZhbHVlIjoiwqAifSx7InR5cGUiOiJjdXJyZW5jeSIsInZhbHVlIjoi
JCJ9XSwKICAgXSwKIF07CkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJl
ckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0VG9QYXJ0cy9zaWduRGlzcGxheS1jdXJyZW5jeS1lbi1V
Uy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJlckZv
cm1hdC9wcm90b3R5cGUvZm9ybWF0VG9QYXJ0cy9zaWduRGlzcGxheS1jdXJyZW5jeS1lbi1VUy5q
cwkocmV2aXNpb24gMjYwNTcwKQorKysgSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9OdW1i
ZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMvc2lnbkRpc3BsYXktY3VycmVuY3ktZW4t
VVMuanMJKHdvcmtpbmcgY29weSkKQEAgLTUwLDEwICs1MCwxMCBAQCBjb25zdCB0ZXN0cyA9IFsK
ICAgWwogICAgICJleGNlcHRaZXJvIiwKICAgICBbeyJ0eXBlIjoibGl0ZXJhbCIsInZhbHVlIjoi
KCJ9LHsidHlwZSI6ImN1cnJlbmN5IiwidmFsdWUiOiIkIn0seyJ0eXBlIjoiaW50ZWdlciIsInZh
bHVlIjoiOTg3In0seyJ0eXBlIjoiZGVjaW1hbCIsInZhbHVlIjoiLiJ9LHsidHlwZSI6ImZyYWN0
aW9uIiwidmFsdWUiOiIwMCJ9LHsidHlwZSI6ImxpdGVyYWwiLCJ2YWx1ZSI6IikifV0sCi0gICAg
W3sidHlwZSI6ImxpdGVyYWwiLCJ2YWx1ZSI6IigifSx7InR5cGUiOiJjdXJyZW5jeSIsInZhbHVl
IjoiJCJ9LHsidHlwZSI6ImludGVnZXIiLCJ2YWx1ZSI6IjAifSx7InR5cGUiOiJkZWNpbWFsIiwi
dmFsdWUiOiIuIn0seyJ0eXBlIjoiZnJhY3Rpb24iLCJ2YWx1ZSI6IjAwIn0seyJ0eXBlIjoibGl0
ZXJhbCIsInZhbHVlIjoiKSJ9XSwKLSAgICBbeyJ0eXBlIjoibGl0ZXJhbCIsInZhbHVlIjoiKCJ9
LHsidHlwZSI6ImN1cnJlbmN5IiwidmFsdWUiOiIkIn0seyJ0eXBlIjoiaW50ZWdlciIsInZhbHVl
IjoiMCJ9LHsidHlwZSI6ImRlY2ltYWwiLCJ2YWx1ZSI6Ii4ifSx7InR5cGUiOiJmcmFjdGlvbiIs
InZhbHVlIjoiMDAifSx7InR5cGUiOiJsaXRlcmFsIiwidmFsdWUiOiIpIn1dLAogICAgIFt7InR5
cGUiOiJjdXJyZW5jeSIsInZhbHVlIjoiJCJ9LHsidHlwZSI6ImludGVnZXIiLCJ2YWx1ZSI6IjAi
fSx7InR5cGUiOiJkZWNpbWFsIiwidmFsdWUiOiIuIn0seyJ0eXBlIjoiZnJhY3Rpb24iLCJ2YWx1
ZSI6IjAwIn1dLAotICAgIFt7InR5cGUiOiJwbHVzU2lnbiIsInZhbHVlIjoiKyJ9LHsidHlwZSI6
ImN1cnJlbmN5IiwidmFsdWUiOiIkIn0seyJ0eXBlIjoiaW50ZWdlciIsInZhbHVlIjoiMCJ9LHsi
dHlwZSI6ImRlY2ltYWwiLCJ2YWx1ZSI6Ii4ifSx7InR5cGUiOiJmcmFjdGlvbiIsInZhbHVlIjoi
MDAifV0sCisgICAgW3sidHlwZSI6ImN1cnJlbmN5IiwidmFsdWUiOiIkIn0seyJ0eXBlIjoiaW50
ZWdlciIsInZhbHVlIjoiMCJ9LHsidHlwZSI6ImRlY2ltYWwiLCJ2YWx1ZSI6Ii4ifSx7InR5cGUi
OiJmcmFjdGlvbiIsInZhbHVlIjoiMDAifV0sCisgICAgW3sidHlwZSI6ImN1cnJlbmN5IiwidmFs
dWUiOiIkIn0seyJ0eXBlIjoiaW50ZWdlciIsInZhbHVlIjoiMCJ9LHsidHlwZSI6ImRlY2ltYWwi
LCJ2YWx1ZSI6Ii4ifSx7InR5cGUiOiJmcmFjdGlvbiIsInZhbHVlIjoiMDAifV0sCisgICAgW3si
dHlwZSI6ImN1cnJlbmN5IiwidmFsdWUiOiIkIn0seyJ0eXBlIjoiaW50ZWdlciIsInZhbHVlIjoi
MCJ9LHsidHlwZSI6ImRlY2ltYWwiLCJ2YWx1ZSI6Ii4ifSx7InR5cGUiOiJmcmFjdGlvbiIsInZh
bHVlIjoiMDAifV0sCiAgICAgW3sidHlwZSI6InBsdXNTaWduIiwidmFsdWUiOiIrIn0seyJ0eXBl
IjoiY3VycmVuY3kiLCJ2YWx1ZSI6IiQifSx7InR5cGUiOiJpbnRlZ2VyIiwidmFsdWUiOiI5ODci
fSx7InR5cGUiOiJkZWNpbWFsIiwidmFsdWUiOiIuIn0seyJ0eXBlIjoiZnJhY3Rpb24iLCJ2YWx1
ZSI6IjAwIn1dLAogICBdLAogXTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIv
TnVtYmVyRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXRUb1BhcnRzL3NpZ25EaXNwbGF5LWN1cnJlbmN5
LWphLUpQLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvTnVt
YmVyRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXRUb1BhcnRzL3NpZ25EaXNwbGF5LWN1cnJlbmN5LWph
LUpQLmpzCShyZXZpc2lvbiAyNjA1NzApCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAy
L051bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0VG9QYXJ0cy9zaWduRGlzcGxheS1jdXJyZW5j
eS1qYS1KUC5qcwkod29ya2luZyBjb3B5KQpAQCAtNTAsMTAgKzUwLDEwIEBAIGNvbnN0IHRlc3Rz
ID0gWwogICBbCiAgICAgImV4Y2VwdFplcm8iLAogICAgIFt7InR5cGUiOiJsaXRlcmFsIiwidmFs
dWUiOiIoIn0seyJ0eXBlIjoiY3VycmVuY3kiLCJ2YWx1ZSI6IiQifSx7InR5cGUiOiJpbnRlZ2Vy
IiwidmFsdWUiOiI5ODcifSx7InR5cGUiOiJkZWNpbWFsIiwidmFsdWUiOiIuIn0seyJ0eXBlIjoi
ZnJhY3Rpb24iLCJ2YWx1ZSI6IjAwIn0seyJ0eXBlIjoibGl0ZXJhbCIsInZhbHVlIjoiKSJ9XSwK
LSAgICBbeyJ0eXBlIjoibGl0ZXJhbCIsInZhbHVlIjoiKCJ9LHsidHlwZSI6ImN1cnJlbmN5Iiwi
dmFsdWUiOiIkIn0seyJ0eXBlIjoiaW50ZWdlciIsInZhbHVlIjoiMCJ9LHsidHlwZSI6ImRlY2lt
YWwiLCJ2YWx1ZSI6Ii4ifSx7InR5cGUiOiJmcmFjdGlvbiIsInZhbHVlIjoiMDAifSx7InR5cGUi
OiJsaXRlcmFsIiwidmFsdWUiOiIpIn1dLAotICAgIFt7InR5cGUiOiJsaXRlcmFsIiwidmFsdWUi
OiIoIn0seyJ0eXBlIjoiY3VycmVuY3kiLCJ2YWx1ZSI6IiQifSx7InR5cGUiOiJpbnRlZ2VyIiwi
dmFsdWUiOiIwIn0seyJ0eXBlIjoiZGVjaW1hbCIsInZhbHVlIjoiLiJ9LHsidHlwZSI6ImZyYWN0
aW9uIiwidmFsdWUiOiIwMCJ9LHsidHlwZSI6ImxpdGVyYWwiLCJ2YWx1ZSI6IikifV0sCiAgICAg
W3sidHlwZSI6ImN1cnJlbmN5IiwidmFsdWUiOiIkIn0seyJ0eXBlIjoiaW50ZWdlciIsInZhbHVl
IjoiMCJ9LHsidHlwZSI6ImRlY2ltYWwiLCJ2YWx1ZSI6Ii4ifSx7InR5cGUiOiJmcmFjdGlvbiIs
InZhbHVlIjoiMDAifV0sCi0gICAgW3sidHlwZSI6InBsdXNTaWduIiwidmFsdWUiOiIrIn0seyJ0
eXBlIjoiY3VycmVuY3kiLCJ2YWx1ZSI6IiQifSx7InR5cGUiOiJpbnRlZ2VyIiwidmFsdWUiOiIw
In0seyJ0eXBlIjoiZGVjaW1hbCIsInZhbHVlIjoiLiJ9LHsidHlwZSI6ImZyYWN0aW9uIiwidmFs
dWUiOiIwMCJ9XSwKKyAgICBbeyJ0eXBlIjoiY3VycmVuY3kiLCJ2YWx1ZSI6IiQifSx7InR5cGUi
OiJpbnRlZ2VyIiwidmFsdWUiOiIwIn0seyJ0eXBlIjoiZGVjaW1hbCIsInZhbHVlIjoiLiJ9LHsi
dHlwZSI6ImZyYWN0aW9uIiwidmFsdWUiOiIwMCJ9XSwKKyAgICBbeyJ0eXBlIjoiY3VycmVuY3ki
LCJ2YWx1ZSI6IiQifSx7InR5cGUiOiJpbnRlZ2VyIiwidmFsdWUiOiIwIn0seyJ0eXBlIjoiZGVj
aW1hbCIsInZhbHVlIjoiLiJ9LHsidHlwZSI6ImZyYWN0aW9uIiwidmFsdWUiOiIwMCJ9XSwKKyAg
ICBbeyJ0eXBlIjoiY3VycmVuY3kiLCJ2YWx1ZSI6IiQifSx7InR5cGUiOiJpbnRlZ2VyIiwidmFs
dWUiOiIwIn0seyJ0eXBlIjoiZGVjaW1hbCIsInZhbHVlIjoiLiJ9LHsidHlwZSI6ImZyYWN0aW9u
IiwidmFsdWUiOiIwMCJ9XSwKICAgICBbeyJ0eXBlIjoicGx1c1NpZ24iLCJ2YWx1ZSI6IisifSx7
InR5cGUiOiJjdXJyZW5jeSIsInZhbHVlIjoiJCJ9LHsidHlwZSI6ImludGVnZXIiLCJ2YWx1ZSI6
Ijk4NyJ9LHsidHlwZSI6ImRlY2ltYWwiLCJ2YWx1ZSI6Ii4ifSx7InR5cGUiOiJmcmFjdGlvbiIs
InZhbHVlIjoiMDAifV0sCiAgIF0sCiBdOwpJbmRleDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50
bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMvc2lnbkRpc3BsYXktY3Vy
cmVuY3kta28tS1IuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQw
Mi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMvc2lnbkRpc3BsYXktY3VycmVu
Y3kta28tS1IuanMJKHJldmlzaW9uIDI2MDU3MCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2lu
dGw0MDIvTnVtYmVyRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXRUb1BhcnRzL3NpZ25EaXNwbGF5LWN1
cnJlbmN5LWtvLUtSLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01MCwxMCArNTAsMTAgQEAgY29uc3Qg
dGVzdHMgPSBbCiAgIFsKICAgICAiZXhjZXB0WmVybyIsCiAgICAgW3sidHlwZSI6ImxpdGVyYWwi
LCJ2YWx1ZSI6IigifSx7InR5cGUiOiJjdXJyZW5jeSIsInZhbHVlIjoiVVMkIn0seyJ0eXBlIjoi
aW50ZWdlciIsInZhbHVlIjoiOTg3In0seyJ0eXBlIjoiZGVjaW1hbCIsInZhbHVlIjoiLiJ9LHsi
dHlwZSI6ImZyYWN0aW9uIiwidmFsdWUiOiIwMCJ9LHsidHlwZSI6ImxpdGVyYWwiLCJ2YWx1ZSI6
IikifV0sCi0gICAgW3sidHlwZSI6ImxpdGVyYWwiLCJ2YWx1ZSI6IigifSx7InR5cGUiOiJjdXJy
ZW5jeSIsInZhbHVlIjoiVVMkIn0seyJ0eXBlIjoiaW50ZWdlciIsInZhbHVlIjoiMCJ9LHsidHlw
ZSI6ImRlY2ltYWwiLCJ2YWx1ZSI6Ii4ifSx7InR5cGUiOiJmcmFjdGlvbiIsInZhbHVlIjoiMDAi
fSx7InR5cGUiOiJsaXRlcmFsIiwidmFsdWUiOiIpIn1dLAotICAgIFt7InR5cGUiOiJsaXRlcmFs
IiwidmFsdWUiOiIoIn0seyJ0eXBlIjoiY3VycmVuY3kiLCJ2YWx1ZSI6IlVTJCJ9LHsidHlwZSI6
ImludGVnZXIiLCJ2YWx1ZSI6IjAifSx7InR5cGUiOiJkZWNpbWFsIiwidmFsdWUiOiIuIn0seyJ0
eXBlIjoiZnJhY3Rpb24iLCJ2YWx1ZSI6IjAwIn0seyJ0eXBlIjoibGl0ZXJhbCIsInZhbHVlIjoi
KSJ9XSwKICAgICBbeyJ0eXBlIjoiY3VycmVuY3kiLCJ2YWx1ZSI6IlVTJCJ9LHsidHlwZSI6Imlu
dGVnZXIiLCJ2YWx1ZSI6IjAifSx7InR5cGUiOiJkZWNpbWFsIiwidmFsdWUiOiIuIn0seyJ0eXBl
IjoiZnJhY3Rpb24iLCJ2YWx1ZSI6IjAwIn1dLAotICAgIFt7InR5cGUiOiJwbHVzU2lnbiIsInZh
bHVlIjoiKyJ9LHsidHlwZSI6ImN1cnJlbmN5IiwidmFsdWUiOiJVUyQifSx7InR5cGUiOiJpbnRl
Z2VyIiwidmFsdWUiOiIwIn0seyJ0eXBlIjoiZGVjaW1hbCIsInZhbHVlIjoiLiJ9LHsidHlwZSI6
ImZyYWN0aW9uIiwidmFsdWUiOiIwMCJ9XSwKKyAgICBbeyJ0eXBlIjoiY3VycmVuY3kiLCJ2YWx1
ZSI6IlVTJCJ9LHsidHlwZSI6ImludGVnZXIiLCJ2YWx1ZSI6IjAifSx7InR5cGUiOiJkZWNpbWFs
IiwidmFsdWUiOiIuIn0seyJ0eXBlIjoiZnJhY3Rpb24iLCJ2YWx1ZSI6IjAwIn1dLAorICAgIFt7
InR5cGUiOiJjdXJyZW5jeSIsInZhbHVlIjoiVVMkIn0seyJ0eXBlIjoiaW50ZWdlciIsInZhbHVl
IjoiMCJ9LHsidHlwZSI6ImRlY2ltYWwiLCJ2YWx1ZSI6Ii4ifSx7InR5cGUiOiJmcmFjdGlvbiIs
InZhbHVlIjoiMDAifV0sCisgICAgW3sidHlwZSI6ImN1cnJlbmN5IiwidmFsdWUiOiJVUyQifSx7
InR5cGUiOiJpbnRlZ2VyIiwidmFsdWUiOiIwIn0seyJ0eXBlIjoiZGVjaW1hbCIsInZhbHVlIjoi
LiJ9LHsidHlwZSI6ImZyYWN0aW9uIiwidmFsdWUiOiIwMCJ9XSwKICAgICBbeyJ0eXBlIjoicGx1
c1NpZ24iLCJ2YWx1ZSI6IisifSx7InR5cGUiOiJjdXJyZW5jeSIsInZhbHVlIjoiVVMkIn0seyJ0
eXBlIjoiaW50ZWdlciIsInZhbHVlIjoiOTg3In0seyJ0eXBlIjoiZGVjaW1hbCIsInZhbHVlIjoi
LiJ9LHsidHlwZSI6ImZyYWN0aW9uIiwidmFsdWUiOiIwMCJ9XSwKICAgXSwKIF07CkluZGV4OiBK
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0
VG9QYXJ0cy9zaWduRGlzcGxheS1jdXJyZW5jeS16aC1UVy5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0VG9Q
YXJ0cy9zaWduRGlzcGxheS1jdXJyZW5jeS16aC1UVy5qcwkocmV2aXNpb24gMjYwNTcwKQorKysg
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1h
dFRvUGFydHMvc2lnbkRpc3BsYXktY3VycmVuY3ktemgtVFcuanMJKHdvcmtpbmcgY29weSkKQEAg
LTUwLDEwICs1MCwxMCBAQCBjb25zdCB0ZXN0cyA9IFsKICAgWwogICAgICJleGNlcHRaZXJvIiwK
ICAgICBbeyJ0eXBlIjoibGl0ZXJhbCIsInZhbHVlIjoiKCJ9LHsidHlwZSI6ImN1cnJlbmN5Iiwi
dmFsdWUiOiJVUyQifSx7InR5cGUiOiJpbnRlZ2VyIiwidmFsdWUiOiI5ODcifSx7InR5cGUiOiJk
ZWNpbWFsIiwidmFsdWUiOiIuIn0seyJ0eXBlIjoiZnJhY3Rpb24iLCJ2YWx1ZSI6IjAwIn0seyJ0
eXBlIjoibGl0ZXJhbCIsInZhbHVlIjoiKSJ9XSwKLSAgICBbeyJ0eXBlIjoibGl0ZXJhbCIsInZh
bHVlIjoiKCJ9LHsidHlwZSI6ImN1cnJlbmN5IiwidmFsdWUiOiJVUyQifSx7InR5cGUiOiJpbnRl
Z2VyIiwidmFsdWUiOiIwIn0seyJ0eXBlIjoiZGVjaW1hbCIsInZhbHVlIjoiLiJ9LHsidHlwZSI6
ImZyYWN0aW9uIiwidmFsdWUiOiIwMCJ9LHsidHlwZSI6ImxpdGVyYWwiLCJ2YWx1ZSI6IikifV0s
Ci0gICAgW3sidHlwZSI6ImxpdGVyYWwiLCJ2YWx1ZSI6IigifSx7InR5cGUiOiJjdXJyZW5jeSIs
InZhbHVlIjoiVVMkIn0seyJ0eXBlIjoiaW50ZWdlciIsInZhbHVlIjoiMCJ9LHsidHlwZSI6ImRl
Y2ltYWwiLCJ2YWx1ZSI6Ii4ifSx7InR5cGUiOiJmcmFjdGlvbiIsInZhbHVlIjoiMDAifSx7InR5
cGUiOiJsaXRlcmFsIiwidmFsdWUiOiIpIn1dLAogICAgIFt7InR5cGUiOiJjdXJyZW5jeSIsInZh
bHVlIjoiVVMkIn0seyJ0eXBlIjoiaW50ZWdlciIsInZhbHVlIjoiMCJ9LHsidHlwZSI6ImRlY2lt
YWwiLCJ2YWx1ZSI6Ii4ifSx7InR5cGUiOiJmcmFjdGlvbiIsInZhbHVlIjoiMDAifV0sCi0gICAg
W3sidHlwZSI6InBsdXNTaWduIiwidmFsdWUiOiIrIn0seyJ0eXBlIjoiY3VycmVuY3kiLCJ2YWx1
ZSI6IlVTJCJ9LHsidHlwZSI6ImludGVnZXIiLCJ2YWx1ZSI6IjAifSx7InR5cGUiOiJkZWNpbWFs
IiwidmFsdWUiOiIuIn0seyJ0eXBlIjoiZnJhY3Rpb24iLCJ2YWx1ZSI6IjAwIn1dLAorICAgIFt7
InR5cGUiOiJjdXJyZW5jeSIsInZhbHVlIjoiVVMkIn0seyJ0eXBlIjoiaW50ZWdlciIsInZhbHVl
IjoiMCJ9LHsidHlwZSI6ImRlY2ltYWwiLCJ2YWx1ZSI6Ii4ifSx7InR5cGUiOiJmcmFjdGlvbiIs
InZhbHVlIjoiMDAifV0sCisgICAgW3sidHlwZSI6ImN1cnJlbmN5IiwidmFsdWUiOiJVUyQifSx7
InR5cGUiOiJpbnRlZ2VyIiwidmFsdWUiOiIwIn0seyJ0eXBlIjoiZGVjaW1hbCIsInZhbHVlIjoi
LiJ9LHsidHlwZSI6ImZyYWN0aW9uIiwidmFsdWUiOiIwMCJ9XSwKKyAgICBbeyJ0eXBlIjoiY3Vy
cmVuY3kiLCJ2YWx1ZSI6IlVTJCJ9LHsidHlwZSI6ImludGVnZXIiLCJ2YWx1ZSI6IjAifSx7InR5
cGUiOiJkZWNpbWFsIiwidmFsdWUiOiIuIn0seyJ0eXBlIjoiZnJhY3Rpb24iLCJ2YWx1ZSI6IjAw
In1dLAogICAgIFt7InR5cGUiOiJwbHVzU2lnbiIsInZhbHVlIjoiKyJ9LHsidHlwZSI6ImN1cnJl
bmN5IiwidmFsdWUiOiJVUyQifSx7InR5cGUiOiJpbnRlZ2VyIiwidmFsdWUiOiI5ODcifSx7InR5
cGUiOiJkZWNpbWFsIiwidmFsdWUiOiIuIn0seyJ0eXBlIjoiZnJhY3Rpb24iLCJ2YWx1ZSI6IjAw
In1dLAogICBdLAogXTsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvTnVtYmVy
Rm9ybWF0L3Byb3RvdHlwZS9mb3JtYXRUb1BhcnRzL3NpZ25EaXNwbGF5LWRlLURFLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvTnVtYmVyRm9ybWF0L3Byb3Rv
dHlwZS9mb3JtYXRUb1BhcnRzL3NpZ25EaXNwbGF5LWRlLURFLmpzCShyZXZpc2lvbiAyNjA1NzAp
CisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUv
Zm9ybWF0VG9QYXJ0cy9zaWduRGlzcGxheS1kZS1ERS5qcwkod29ya2luZyBjb3B5KQpAQCAtNjAs
OCArNjAsOCBAQCBjb25zdCB0ZXN0cyA9IFsKICAgICAiZXhjZXB0WmVybyIsCiAgICAgW3sidHlw
ZSI6Im1pbnVzU2lnbiIsInZhbHVlIjoiLSJ9LHsidHlwZSI6ImluZmluaXR5IiwidmFsdWUiOiLi
iJ4ifV0sCiAgICAgW3sidHlwZSI6Im1pbnVzU2lnbiIsInZhbHVlIjoiLSJ9LHsidHlwZSI6Imlu
dGVnZXIiLCJ2YWx1ZSI6Ijk4NyJ9XSwKLSAgICBbeyJ0eXBlIjoibWludXNTaWduIiwidmFsdWUi
OiItIn0seyJ0eXBlIjoiaW50ZWdlciIsInZhbHVlIjoiMCJ9XSwKLSAgICBbeyJ0eXBlIjoibWlu
dXNTaWduIiwidmFsdWUiOiItIn0seyJ0eXBlIjoiaW50ZWdlciIsInZhbHVlIjoiMCJ9XSwKKyAg
ICBbeyJ0eXBlIjoiaW50ZWdlciIsInZhbHVlIjoiMCJ9XSwKKyAgICBbeyJ0eXBlIjoiaW50ZWdl
ciIsInZhbHVlIjoiMCJ9XSwKICAgICBbeyJ0eXBlIjoiaW50ZWdlciIsInZhbHVlIjoiMCJ9XSwK
ICAgICBbeyJ0eXBlIjoiaW50ZWdlciIsInZhbHVlIjoiMCJ9XSwKICAgICBbeyJ0eXBlIjoicGx1
c1NpZ24iLCJ2YWx1ZSI6IisifSx7InR5cGUiOiJpbnRlZ2VyIiwidmFsdWUiOiI5ODcifV0sCklu
ZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUv
Zm9ybWF0VG9QYXJ0cy9zaWduRGlzcGxheS1lbi1VUy5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUvZm9ybWF0VG9QYXJ0
cy9zaWduRGlzcGxheS1lbi1VUy5qcwkocmV2aXNpb24gMjYwNTcwKQorKysgSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMvc2ln
bkRpc3BsYXktZW4tVVMuanMJKHdvcmtpbmcgY29weSkKQEAgLTYwLDggKzYwLDggQEAgY29uc3Qg
dGVzdHMgPSBbCiAgICAgImV4Y2VwdFplcm8iLAogICAgIFt7InR5cGUiOiJtaW51c1NpZ24iLCJ2
YWx1ZSI6Ii0ifSx7InR5cGUiOiJpbmZpbml0eSIsInZhbHVlIjoi4oieIn1dLAogICAgIFt7InR5
cGUiOiJtaW51c1NpZ24iLCJ2YWx1ZSI6Ii0ifSx7InR5cGUiOiJpbnRlZ2VyIiwidmFsdWUiOiI5
ODcifV0sCi0gICAgW3sidHlwZSI6Im1pbnVzU2lnbiIsInZhbHVlIjoiLSJ9LHsidHlwZSI6Imlu
dGVnZXIiLCJ2YWx1ZSI6IjAifV0sCi0gICAgW3sidHlwZSI6Im1pbnVzU2lnbiIsInZhbHVlIjoi
LSJ9LHsidHlwZSI6ImludGVnZXIiLCJ2YWx1ZSI6IjAifV0sCisgICAgW3sidHlwZSI6ImludGVn
ZXIiLCJ2YWx1ZSI6IjAifV0sCisgICAgW3sidHlwZSI6ImludGVnZXIiLCJ2YWx1ZSI6IjAifV0s
CiAgICAgW3sidHlwZSI6ImludGVnZXIiLCJ2YWx1ZSI6IjAifV0sCiAgICAgW3sidHlwZSI6Imlu
dGVnZXIiLCJ2YWx1ZSI6IjAifV0sCiAgICAgW3sidHlwZSI6InBsdXNTaWduIiwidmFsdWUiOiIr
In0seyJ0eXBlIjoiaW50ZWdlciIsInZhbHVlIjoiOTg3In1dLApJbmRleDogSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMvc2ln
bkRpc3BsYXktamEtSlAuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50
bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRvUGFydHMvc2lnbkRpc3BsYXktamEt
SlAuanMJKHJldmlzaW9uIDI2MDU3MCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIv
TnVtYmVyRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXRUb1BhcnRzL3NpZ25EaXNwbGF5LWphLUpQLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC02MCw4ICs2MCw4IEBAIGNvbnN0IHRlc3RzID0gWwogICAgICJl
eGNlcHRaZXJvIiwKICAgICBbeyJ0eXBlIjoibWludXNTaWduIiwidmFsdWUiOiItIn0seyJ0eXBl
IjoiaW5maW5pdHkiLCJ2YWx1ZSI6IuKIniJ9XSwKICAgICBbeyJ0eXBlIjoibWludXNTaWduIiwi
dmFsdWUiOiItIn0seyJ0eXBlIjoiaW50ZWdlciIsInZhbHVlIjoiOTg3In1dLAotICAgIFt7InR5
cGUiOiJtaW51c1NpZ24iLCJ2YWx1ZSI6Ii0ifSx7InR5cGUiOiJpbnRlZ2VyIiwidmFsdWUiOiIw
In1dLAotICAgIFt7InR5cGUiOiJtaW51c1NpZ24iLCJ2YWx1ZSI6Ii0ifSx7InR5cGUiOiJpbnRl
Z2VyIiwidmFsdWUiOiIwIn1dLAorICAgIFt7InR5cGUiOiJpbnRlZ2VyIiwidmFsdWUiOiIwIn1d
LAorICAgIFt7InR5cGUiOiJpbnRlZ2VyIiwidmFsdWUiOiIwIn1dLAogICAgIFt7InR5cGUiOiJp
bnRlZ2VyIiwidmFsdWUiOiIwIn1dLAogICAgIFt7InR5cGUiOiJpbnRlZ2VyIiwidmFsdWUiOiIw
In1dLAogICAgIFt7InR5cGUiOiJwbHVzU2lnbiIsInZhbHVlIjoiKyJ9LHsidHlwZSI6ImludGVn
ZXIiLCJ2YWx1ZSI6Ijk4NyJ9XSwKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIv
TnVtYmVyRm9ybWF0L3Byb3RvdHlwZS9mb3JtYXRUb1BhcnRzL3NpZ25EaXNwbGF5LWtvLUtSLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvTnVtYmVyRm9ybWF0
L3Byb3RvdHlwZS9mb3JtYXRUb1BhcnRzL3NpZ25EaXNwbGF5LWtvLUtSLmpzCShyZXZpc2lvbiAy
NjA1NzApCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90
b3R5cGUvZm9ybWF0VG9QYXJ0cy9zaWduRGlzcGxheS1rby1LUi5qcwkod29ya2luZyBjb3B5KQpA
QCAtNjAsOCArNjAsOCBAQCBjb25zdCB0ZXN0cyA9IFsKICAgICAiZXhjZXB0WmVybyIsCiAgICAg
W3sidHlwZSI6Im1pbnVzU2lnbiIsInZhbHVlIjoiLSJ9LHsidHlwZSI6ImluZmluaXR5IiwidmFs
dWUiOiLiiJ4ifV0sCiAgICAgW3sidHlwZSI6Im1pbnVzU2lnbiIsInZhbHVlIjoiLSJ9LHsidHlw
ZSI6ImludGVnZXIiLCJ2YWx1ZSI6Ijk4NyJ9XSwKLSAgICBbeyJ0eXBlIjoibWludXNTaWduIiwi
dmFsdWUiOiItIn0seyJ0eXBlIjoiaW50ZWdlciIsInZhbHVlIjoiMCJ9XSwKLSAgICBbeyJ0eXBl
IjoibWludXNTaWduIiwidmFsdWUiOiItIn0seyJ0eXBlIjoiaW50ZWdlciIsInZhbHVlIjoiMCJ9
XSwKKyAgICBbeyJ0eXBlIjoiaW50ZWdlciIsInZhbHVlIjoiMCJ9XSwKKyAgICBbeyJ0eXBlIjoi
aW50ZWdlciIsInZhbHVlIjoiMCJ9XSwgICAKICAgICBbeyJ0eXBlIjoiaW50ZWdlciIsInZhbHVl
IjoiMCJ9XSwKICAgICBbeyJ0eXBlIjoiaW50ZWdlciIsInZhbHVlIjoiMCJ9XSwKICAgICBbeyJ0
eXBlIjoicGx1c1NpZ24iLCJ2YWx1ZSI6IisifSx7InR5cGUiOiJpbnRlZ2VyIiwidmFsdWUiOiI5
ODcifV0sCkluZGV4OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9w
cm90b3R5cGUvZm9ybWF0VG9QYXJ0cy9zaWduRGlzcGxheS16aC1UVy5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL051bWJlckZvcm1hdC9wcm90b3R5cGUvZm9y
bWF0VG9QYXJ0cy9zaWduRGlzcGxheS16aC1UVy5qcwkocmV2aXNpb24gMjYwNTcwKQorKysgSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9OdW1iZXJGb3JtYXQvcHJvdG90eXBlL2Zvcm1hdFRv
UGFydHMvc2lnbkRpc3BsYXktemgtVFcuanMJKHdvcmtpbmcgY29weSkKQEAgLTYwLDggKzYwLDgg
QEAgY29uc3QgdGVzdHMgPSBbCiAgICAgImV4Y2VwdFplcm8iLAogICAgIFt7InR5cGUiOiJtaW51
c1NpZ24iLCJ2YWx1ZSI6Ii0ifSx7InR5cGUiOiJpbmZpbml0eSIsInZhbHVlIjoi4oieIn1dLAog
ICAgIFt7InR5cGUiOiJtaW51c1NpZ24iLCJ2YWx1ZSI6Ii0ifSx7InR5cGUiOiJpbnRlZ2VyIiwi
dmFsdWUiOiI5ODcifV0sCi0gICAgW3sidHlwZSI6Im1pbnVzU2lnbiIsInZhbHVlIjoiLSJ9LHsi
dHlwZSI6ImludGVnZXIiLCJ2YWx1ZSI6IjAifV0sCi0gICAgW3sidHlwZSI6Im1pbnVzU2lnbiIs
InZhbHVlIjoiLSJ9LHsidHlwZSI6ImludGVnZXIiLCJ2YWx1ZSI6IjAifV0sCisgICAgW3sidHlw
ZSI6ImludGVnZXIiLCJ2YWx1ZSI6IjAifV0sCisgICAgW3sidHlwZSI6ImludGVnZXIiLCJ2YWx1
ZSI6IjAifV0sCiAgICAgW3sidHlwZSI6ImludGVnZXIiLCJ2YWx1ZSI6IjAifV0sCiAgICAgW3si
dHlwZSI6ImludGVnZXIiLCJ2YWx1ZSI6IjAifV0sCiAgICAgW3sidHlwZSI6InBsdXNTaWduIiwi
dmFsdWUiOiIrIn0seyJ0eXBlIjoiaW50ZWdlciIsInZhbHVlIjoiOTg3In1dLApJbmRleDogSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvcmVnZXhwL3UtbnVsbC1jaGFyYWN0
ZXItZXNjYXBlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2xpdGVyYWxzL3JlZ2V4cC91LW51bGwtY2hhcmFjdGVyLWVzY2FwZS5qcwkobm9uZXhpc3RlbnQp
CisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9saXRlcmFscy9yZWdleHAvdS1udWxs
LWNoYXJhY3Rlci1lc2NhcGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNSBAQAorLy8g
Q29weXJpZ2h0IChDKSAyMDIwIEFsZXhleSBTaHZheWthLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogcHJvZC1DaGFyYWN0ZXJFc2NhcGUKK2Rlc2Ny
aXB0aW9uOiA+CisgIE51bGwgY2hhcmFjdGVyIGVzY2FwZSBpcyBwZXJtaXR0ZWQgaW4gVW5pY29k
ZSBwYXR0ZXJucy4KK2luZm86IHwKKyAgQ2hhcmFjdGVyRXNjYXBlW1VdIDo6CisgICAgQ29udHJv
bEVzY2FwZQorICAgIGMgQ29udHJvbExldHRlcgorICAgIDAgW2xvb2thaGVhZCDiiIkgRGVjaW1h
bERpZ2l0XQorICAgIEhleEVzY2FwZVNlcXVlbmNlCisgICAgUmVnRXhwVW5pY29kZUVzY2FwZVNl
cXVlbmNlWz9VXQorICAgIElkZW50aXR5RXNjYXBlWz9VXQorCisgIERlY2ltYWxEaWdpdCA6OiBv
bmUgb2YKKyAgICAwIDEgMiAzIDQgNSA2IDcgOCA5CistLS0qLworCit2YXIgbnVsbENoYXIgPSBT
dHJpbmcuZnJvbUNoYXJDb2RlKDApOworYXNzZXJ0LnNhbWVWYWx1ZSgvXDAvdS5leGVjKG51bGxD
aGFyKVswXSwgbnVsbENoYXIpOworYXNzZXJ0KC9eXDBhJC91LnRlc3QoJ1wwYScpKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoJ1x4MDDikaEnLm1hdGNoKC9cMOKRoS91KVswXSwgJ1x4MDDikaEnKTsKK2Fz
c2VydC5zYW1lVmFsdWUoJ1x1MDAwMOGNrCcuc2VhcmNoKC9cMOGNrCQvdSksIDApOwpJbmRleDog
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvcmVnZXhwL25hbWVkLWdyb3Vw
cy9pbnZhbGlkLW5vbi1pZC1jb250aW51ZS1ncm91cHNwZWNpZmllci5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9saXRlcmFscy9yZWdleHAvbmFtZWQtZ3Jv
dXBzL2ludmFsaWQtbm9uLWlkLWNvbnRpbnVlLWdyb3Vwc3BlY2lmaWVyLmpzCShyZXZpc2lvbiAy
NjA1NzApCisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9saXRlcmFscy9yZWdleHAv
bmFtZWQtZ3JvdXBzL2ludmFsaWQtbm9uLWlkLWNvbnRpbnVlLWdyb3Vwc3BlY2lmaWVyLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0xMiw0ICsxMiw0IEBAIGZlYXR1cmVzOiBbcmVnZXhwLW5hbWVkLWdy
b3Vwc10KIAogJERPTk9URVZBTFVBVEUoKTsKIAotLyg/PCTwkJKkPmEpLzsKKy8oPzwk4p2ePmEp
LzsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL3JlZ2V4cC9u
YW1lZC1ncm91cHMvaW52YWxpZC1ub24taWQtc3RhcnQtZ3JvdXBzcGVjaWZpZXItMy5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9saXRlcmFscy9yZWdleHAv
bmFtZWQtZ3JvdXBzL2ludmFsaWQtbm9uLWlkLXN0YXJ0LWdyb3Vwc3BlY2lmaWVyLTMuanMJKHJl
dmlzaW9uIDI2MDU3MCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2xpdGVyYWxz
L3JlZ2V4cC9uYW1lZC1ncm91cHMvaW52YWxpZC1ub24taWQtc3RhcnQtZ3JvdXBzcGVjaWZpZXIt
My5qcwkod29ya2luZyBjb3B5KQpAQCAtMTIsNCArMTIsNCBAQCBmZWF0dXJlczogW3JlZ2V4cC1u
YW1lZC1ncm91cHNdCiAKICRET05PVEVWQUxVQVRFKCk7CiAKLS8oPzxhXHVEODAxXHVEQ0E0Pi4p
LzsKKy8oPzxhXHVEODNEXHVERjEyPi4pLzsKSW5kZXg6IEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2xpdGVyYWxzL3JlZ2V4cC9uYW1lZC1ncm91cHMvaW52YWxpZC1ub24taWQtc3RhcnQt
Z3JvdXBzcGVjaWZpZXItNi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9saXRlcmFscy9yZWdleHAvbmFtZWQtZ3JvdXBzL2ludmFsaWQtbm9uLWlkLXN0YXJ0
LWdyb3Vwc3BlY2lmaWVyLTYuanMJKHJldmlzaW9uIDI2MDU3MCkKKysrIEpTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL3JlZ2V4cC9uYW1lZC1ncm91cHMvaW52YWxpZC1ub24t
aWQtc3RhcnQtZ3JvdXBzcGVjaWZpZXItNi5qcwkod29ya2luZyBjb3B5KQpAQCAtMTIsNCArMTIs
NCBAQCBmZWF0dXJlczogW3JlZ2V4cC1uYW1lZC1ncm91cHNdCiAKICRET05PVEVWQUxVQVRFKCk7
CiAKLS8oPzxhXHV7MTA0QTR9Pi4pLzsKKy8oPzxhXHV7MUYwOEJ9Pi4pLzsKSW5kZXg6IEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL3JlZ2V4cC9uYW1lZC1ncm91cHMvaW52
YWxpZC11LWVzY2FwZS1pbi1ncm91cHNwZWNpZmllci0yLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL3JlZ2V4cC9uYW1lZC1ncm91cHMvaW52
YWxpZC11LWVzY2FwZS1pbi1ncm91cHNwZWNpZmllci0yLmpzCShyZXZpc2lvbiAyNjA1NzApCisr
KyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9saXRlcmFscy9yZWdleHAvbmFtZWQtZ3Jv
dXBzL2ludmFsaWQtdS1lc2NhcGUtaW4tZ3JvdXBzcGVjaWZpZXItMi5qcwkobm9uZXhpc3RlbnQp
CkBAIC0xLDE1ICswLDAgQEAKLS8vIENvcHlyaWdodCAyMDE3IHRoZSBWOCBwcm9qZWN0IGF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1kZXNjcmlw
dGlvbjogXHV7fSBlc2NhcGVzIGluIEdyb3VwU3BlY2lmaWVyIGFsbG93ZWQgb25seSBpbiBVbmlj
b2RlIG1vZGUKLWVzaWQ6IHByb2QtR3JvdXBTcGVjaWZpZXIKLW5lZ2F0aXZlOgotICBwaGFzZTog
cGFyc2UKLSAgdHlwZTogU3ludGF4RXJyb3IKLWZlYXR1cmVzOiBbcmVnZXhwLW5hbWVkLWdyb3Vw
c10KLS0tLSovCi0KLSRET05PVEVWQUxVQVRFKCk7Ci0KLS8oPzxcdXswM0MwfT5hKS87CkluZGV4
OiBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9saXRlcmFscy9yZWdleHAvbmFtZWQtZ3Jv
dXBzL2ludmFsaWQtdS1lc2NhcGUtaW4tZ3JvdXBzcGVjaWZpZXIuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvcmVnZXhwL25hbWVkLWdyb3Vw
cy9pbnZhbGlkLXUtZXNjYXBlLWluLWdyb3Vwc3BlY2lmaWVyLmpzCShyZXZpc2lvbiAyNjA1NzAp
CisrKyBKU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9saXRlcmFscy9yZWdleHAvbmFtZWQt
Z3JvdXBzL2ludmFsaWQtdS1lc2NhcGUtaW4tZ3JvdXBzcGVjaWZpZXIuanMJKG5vbmV4aXN0ZW50
KQpAQCAtMSwxNSArMCwwIEBACi0vLyBDb3B5cmlnaHQgMjAxNyB0aGUgVjggcHJvamVjdCBhdXRo
b3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0vKi0tLQotZGVzY3Jp
cHRpb246IFx1e30gZXNjYXBlcyBpbiBHcm91cFNwZWNpZmllciBhbGxvd2VkIG9ubHkgaW4gVW5p
Y29kZSBtb2RlCi1lc2lkOiBwcm9kLUdyb3VwU3BlY2lmaWVyCi1uZWdhdGl2ZToKLSAgcGhhc2U6
IHBhcnNlCi0gIHR5cGU6IFN5bnRheEVycm9yCi1mZWF0dXJlczogW3JlZ2V4cC1uYW1lZC1ncm91
cHNdCi0tLS0qLwotCi0kRE9OT1RFVkFMVUFURSgpOwotCi0vKD88XHV7MDA0MX0+LikvOwpJbmRl
eDogSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUvbmFtZXNwYWNlL2lu
dGVybmFscy9zZXQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvbW9kdWxlLWNvZGUvbmFtZXNwYWNlL2ludGVybmFscy9zZXQuanMJKHJldmlzaW9uIDI2MDU3
MCkKKysrIEpTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL21vZHVsZS1jb2RlL25hbWVzcGFj
ZS9pbnRlcm5hbHMvc2V0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC05LDExICs5LDExIEBAIGZsYWdz
OiBbbW9kdWxlXQogZmVhdHVyZXM6IFtSZWZsZWN0LCBTeW1ib2wsIFN5bWJvbC50b1N0cmluZ1Rh
Z10KIC0tLSovCiAKLWltcG9ydCAqIGFzIG5zIGZyb20gJy4vZGVmaW5lLW93bi1wcm9wZXJ0eS5q
cyc7CitpbXBvcnQgKiBhcyBucyBmcm9tICcuL3NldC5qcyc7CiBleHBvcnQgdmFyIGxvY2FsMSA9
IG51bGw7CiB2YXIgbG9jYWwyID0gbnVsbDsKIGV4cG9ydCB7IGxvY2FsMiBhcyByZW5hbWVkIH07
Ci1leHBvcnQgeyBsb2NhbDEgYXMgaW5kaXJlY3QgfSBmcm9tICcuL2RlZmluZS1vd24tcHJvcGVy
dHkuanMnOworZXhwb3J0IHsgbG9jYWwxIGFzIGluZGlyZWN0IH0gZnJvbSAnLi9zZXQuanMnOwog
dmFyIHN5bSA9IFN5bWJvbCgndGVzdDI2MicpOwogCiBhc3NlcnQuc2FtZVZhbHVlKFJlZmxlY3Qu
c2V0KG5zLCAnbG9jYWwxJyksIGZhbHNlLCAnUmVmbGVjdC5zZXQ6IGxvY2FsMScpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>