<?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>217736</bug_id>
          
          <creation_ts>2020-10-14 15:41:35 -0700</creation_ts>
          <short_desc>Update test262 (2020.10.14)</short_desc>
          <delta_ts>2020-10-14 17:13:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ross Kirsling">ross.kirsling</reporter>
          <assigned_to name="Ross Kirsling">ross.kirsling</assigned_to>
          <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1697920</commentid>
    <comment_count>0</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-10-14 15:41:35 -0700</bug_when>
    <thetext>Update test262 (2020.10.14)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1697930</commentid>
    <comment_count>1</comment_count>
      <attachid>411383</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-10-14 16:00:42 -0700</bug_when>
    <thetext>Created attachment 411383
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1697937</commentid>
    <comment_count>2</comment_count>
      <attachid>411383</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-10-14 16:16:46 -0700</bug_when>
    <thetext>Comment on attachment 411383
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1697970</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-14 17:12:06 -0700</bug_when>
    <thetext>Committed r268501: &lt;https://trac.webkit.org/changeset/268501&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 411383.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1697971</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-14 17:13:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/70314600&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411383</attachid>
            <date>2020-10-14 16:00:42 -0700</date>
            <delta_ts>2020-10-14 17:12:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217736-20201014160039.patch</filename>
            <type>text/plain</type>
            <size>2624334</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4NDYwCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxv
ZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQyYTkwYzNkMWNhMjY5NGExNjY1ZDA0OWFhM2Ni
NDM5YmYwNTAyZTcuLmFhNzIzZjQ0MjdlODhjNzJkYmUxYmRkZmYxNDIxMjJkYzIyN2FjNmQgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMjAtMTAtMTQgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNv
bnkuY29tPgorCisgICAgICAgIFVwZGF0ZSB0ZXN0MjYyICgyMDIwLjEwLjE0KQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3NzM2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB0ZXN0MjYyL2NvbmZpZy55
YW1sOgorICAgICAgICAqIHRlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWw6CisgICAgICAgICogdGVz
dDI2Mi9oYXJuZXNzLzoKKyAgICAgICAgKiB0ZXN0MjYyL2xhdGVzdC1jaGFuZ2VzLXN1bW1hcnku
dHh0OgorICAgICAgICAqIHRlc3QyNjIvdGVzdC86CisgICAgICAgICogdGVzdDI2Mi90ZXN0MjYy
LVJldmlzaW9uLnR4dDoKKwogMjAyMC0xMC0xMyAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxl
LmNvbT4KIAogICAgICAgICBKU09iamVjdDo6Z2V0UHJvcGVydHlOYW1lcyBzaG91bGQgaGF2ZSBh
IHN0YWNrIG92ZXJmbG93IGNoZWNrCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvY29uZmln
LnlhbWwgYi9KU1Rlc3RzL3Rlc3QyNjIvY29uZmlnLnlhbWwKaW5kZXggZDQxZDc0YzhlN2IxOGU1
MDNlYjM1NjJmYzdkNTk0OWNhMWM1ZDQxNy4uMzFkODhlY2Q5OThkMTIzMDJiMDE0YmFiM2I2Zjg0
ODIzNjE1NzZlYiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL2NvbmZpZy55YW1sCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi9jb25maWcueWFtbApAQCAtMTUsNiArMTUsNyBAQCBza2lwOgogICAg
IC0gcmVnZXhwLWxvb2tiZWhpbmQKICAgICAtIGxlZ2FjeS1yZWdleHAKIAorICAgIC0gYXJiaXRy
YXJ5LW1vZHVsZS1uYW1lc3BhY2UtbmFtZXMKICAgICAtIGNsYXNzLW1ldGhvZHMtcHJpdmF0ZQog
ICAgIC0gY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWMKICAgICAtIGNsYXNzLXN0YXRpYy1maWVs
ZHMtcHJpdmF0ZQpAQCAtNjksNiArNzAsNyBAQCBza2lwOgogICAgIC0gdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheUNvbnN0cnVjdG9ycy9jdG9ycy1iaWdpbnQKICAgICAtIHRlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvZnJvbS9CaWdJbnQKICAgICAtIHRlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlZmluZU93blByb3BlcnR5L0JpZ0lu
dAorICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMv
RGVsZXRlL0JpZ0ludAogICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9y
cy9pbnRlcm5hbHMvR2V0L0JpZ0ludAogICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNv
bnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0T3duUHJvcGVydHkvQmlnSW50CiAgICAgLSB0ZXN0L2J1
aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9CaWdJ
bnQKQEAgLTgxLDYgKzgzLDggQEAgc2tpcDoKICAgICAtIHRlc3QvaW50bDQwMi9EYXRlVGltZUZv
cm1hdC9wcm90b3R5cGUvZm9ybWF0UmFuZ2VUb1BhcnRzCiAgIGZpbGVzOgogICAgICMgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDgwMAorICAgIC0gdGVzdC9idWls
dC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1iaWdpbnQ2NGFycmF5LmpzCisgICAgLSB0ZXN0L2J1aWx0
LWlucy9PYmplY3Qvc2VhbC9zZWFsLWJpZ3VpbnQ2NGFycmF5LmpzCiAgICAgLSB0ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zZXQvc3JjLXR5cGVkYXJyYXktYmlnLXRocm93cy5q
cwogICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9jdG9ycy90eXBl
ZGFycmF5LWFyZy9zcmMtdHlwZWRhcnJheS1iaWctdGhyb3dzLmpzCiAgICAgLSB0ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL3Byb3RvdHlwZS9TeW1ib2wudG9TdHJpbmdUYWcv
YmlnaW50LWluaGVyaXRlZC5qcwpAQCAtMTEzLDYgKzExNywxMCBAQCBza2lwOgogICAgIC0gdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvdG9Mb2NhbGVTdHJp
bmcvYmlnaW50LWluaGVyaXRlZC5qcwogICAgIC0gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNv
bnN0cnVjdG9ycy9wcm90b3R5cGUvdG9TdHJpbmcvYmlnaW50LWluaGVyaXRlZC5qcwogICAgIC0g
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9wcm90b3R5cGUvdmFsdWVzL2Jp
Z2ludC1pbmhlcml0ZWQuanMKKyAgICAtIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
c3ViY2xhc3MtYnVpbHRpbnMvc3ViY2xhc3MtQmlnSW50NjRBcnJheS5qcworICAgIC0gdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9zdWJjbGFzcy1idWlsdGlucy9zdWJjbGFzcy1CaWdV
aW50NjRBcnJheS5qcworICAgIC0gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL3N1YmNs
YXNzLWJ1aWx0aW5zL3N1YmNsYXNzLUJpZ0ludDY0QXJyYXkuanMKKyAgICAtIHRlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9zdWJjbGFzcy1idWlsdGlucy9zdWJjbGFzcy1CaWdVaW50NjRB
cnJheS5qcwogCiAgICAgIyByZXF1aXJlcyBJQ1UgNjUgKGh0dHBzOi8vdW5pY29kZS1vcmcuYXRs
YXNzaWFuLm5ldC9icm93c2UvSUNVLTIwNjU0KQogICAgIC0gdGVzdC9pbnRsNDAyL1JlbGF0aXZl
VGltZUZvcm1hdC9wcm90b3R5cGUvZm9ybWF0L2VuLXVzLW51bWVyaWMtYXV0by5qcwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sIGIvSlNUZXN0cy90ZXN0MjYy
L2V4cGVjdGF0aW9ucy55YW1sCmluZGV4IGZkZGJhYWVjNGNlYWU4MTA5N2E5NTIxYjk0YmM1Y2M3
ZWNlZjQ1ZTQuLjEyYzhkMTNjM2E3MmM0NmIxNGNiZGY3MDllODk1YmY1MWYzMzVkOTkgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKQEAgLTYwMyw5ICs2MDMsNiBAQCB0ZXN0L2FubmV4Qi9s
YW5ndWFnZS9nbG9iYWwtY29kZS9zd2l0Y2gtZGZsdC1nbG9iYWwtc2tpcC1lYXJseS1lcnItdHJ5
LmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBBbiBpbml0aWFsaXplZCBiaW5kaW5nIGlz
IG5vdCBjcmVhdGVkIHByaW9yIHRvIGV2YWx1YXRpb24gRXhwZWN0ZWQgYSBSZWZlcmVuY2VFcnJv
ciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKIHRlc3Qv
YW5uZXhCL2xhbmd1YWdlL2dsb2JhbC1jb2RlL3N3aXRjaC1kZmx0LWdsb2JhbC1za2lwLWVhcmx5
LWVyci5qczoKICAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBDYW5ub3QgZGVjbGFyZSBhIGZ1bmN0
aW9uIHRoYXQgc2hhZG93cyBhIGxldC9jb25zdC9jbGFzcy9mdW5jdGlvbiB2YXJpYWJsZSAnZicg
aW4gc3RyaWN0IG1vZGUuIgotdGVzdC9idWlsdC1pbnMvQXJyYXlCdWZmZXIvcHJvdG90eXBlL2J5
dGVMZW5ndGgvZGV0YWNoZWQtYnVmZmVyLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBF
eHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhy
b3duIGF0IGFsbCcKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlw
ZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJwog
dGVzdC9idWlsdC1pbnMvQXJyYXlCdWZmZXIvcHJvdG90eXBlL3NsaWNlL3NwZWNpZXMtY29uc3Ry
dWN0b3ItaXMtbm90LW9iamVjdC5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogYGNvbnN0
cnVjdG9yYCB2YWx1ZSBpcyBudWxsIEV4cGVjdGVkIGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBi
dXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJwogICBzdHJpY3QgbW9kZTogJ1Rlc3Qy
NjJFcnJvcjogYGNvbnN0cnVjdG9yYCB2YWx1ZSBpcyBudWxsIEV4cGVjdGVkIGEgVHlwZUVycm9y
IHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJwpAQCAtMTI0
Niw2ICsxMjQzLDkgQEAgdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL3UtbGFz
dGluZGV4LWFkdi5qczoKIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9xdWFudGlmaWVyLWludGVnZXIt
bGltaXQuanM6CiAgIGRlZmF1bHQ6ICdTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJl
c3Npb246IG51bWJlciB0b28gbGFyZ2UgaW4ge30gcXVhbnRpZmllcicKICAgc3RyaWN0IG1vZGU6
ICdTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246IG51bWJlciB0b28gbGFy
Z2UgaW4ge30gcXVhbnRpZmllcicKK3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBl
L3NsaWNlL2RldGFjaGVkLWJ1ZmZlci1jdXN0b20tY3Rvci1vdGhlci10YXJnZXR0eXBlLmpzOgor
ICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBvYmpbMF0gdG8gaGF2ZSBjb25maWd1
cmFibGU6dHJ1ZS4gKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKKyAgc3RyaWN0IG1vZGU6
ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIG9ialswXSB0byBoYXZlIGNvbmZpZ3VyYWJsZTp0cnVl
LiAoVGVzdGluZyB3aXRoIEZsb2F0NjRBcnJheS4pJwogdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eS9wcm90b3R5cGUvc2xpY2UvZGV0YWNoZWQtYnVmZmVyLXplcm8tY291bnQtY3VzdG9tLWN0b3It
b3RoZXItdGFyZ2V0dHlwZS5qczoKICAgZGVmYXVsdDogJ1R5cGVFcnJvcjogVW5kZXJseWluZyBB
cnJheUJ1ZmZlciBoYXMgYmVlbiBkZXRhY2hlZCBmcm9tIHRoZSB2aWV3IChUZXN0aW5nIHdpdGgg
RmxvYXQ2NEFycmF5LiknCiAgIHN0cmljdCBtb2RlOiAnVHlwZUVycm9yOiBVbmRlcmx5aW5nIEFy
cmF5QnVmZmVyIGhhcyBiZWVuIGRldGFjaGVkIGZyb20gdGhlIHZpZXcgKFRlc3Rpbmcgd2l0aCBG
bG9hdDY0QXJyYXkuKScKQEAgLTEzMTIsMTIgKzEzMTIsMjggQEAgdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheUNvbnN0cnVjdG9ycy9jdG9ycy90eXBlZGFycmF5LWFyZy9zYW1lLWN0b3ItYnVmZmVy
LWN0b3IKIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvY3RvcnMvdHlwZWRh
cnJheS1hcmcvc2FtZS1jdG9yLWJ1ZmZlci1jdG9yLXZhbHVlLW5vdC1vYmotdGhyb3dzLmpzOgog
ICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJv
d24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCAoVGVzdGluZyB3aXRoIEZsb2F0
NjRBcnJheS4pJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBl
RXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwgKFRl
c3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKLXRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMvaW50ZXJuYWxzL0RlZmluZU93blByb3BlcnR5L2RldGFjaGVkLWJ1ZmZlci1yZWFs
bS5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8g
YmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwgKFRlc3Rpbmcgd2l0
aCBGbG9hdDY0QXJyYXkuKScKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVk
IGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQg
YWxsIChUZXN0aW5nIHdpdGggRmxvYXQ2NEFycmF5LiknCi10ZXN0L2J1aWx0LWlucy9UeXBlZEFy
cmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWZpbmVPd25Qcm9wZXJ0eS9kZXRhY2hlZC1idWZm
ZXIuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IFRocm93cyBUeXBlRXJyb3Igb24gdmFs
aWQgbnVtZXJpYyBpbmRleCBpZiBpbnN0YW5jZSBoYXMgYSBkZXRhY2hlZCBidWZmZXIgRXhwZWN0
ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBh
dCBhbGwgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKLSAgc3RyaWN0IG1vZGU6ICdUZXN0
MjYyRXJyb3I6IFRocm93cyBUeXBlRXJyb3Igb24gdmFsaWQgbnVtZXJpYyBpbmRleCBpZiBpbnN0
YW5jZSBoYXMgYSBkZXRhY2hlZCBidWZmZXIgRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhy
b3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwgKFRlc3Rpbmcgd2l0aCBGbG9h
dDY0QXJyYXkuKScKK3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJu
YWxzL0RlZmluZU93blByb3BlcnR5L3RvbnVtYmVyLXZhbHVlLWRldGFjaGVkLWJ1ZmZlci5qczoK
KyAgZGVmYXVsdDogJ1R5cGVFcnJvcjogVW5kZXJseWluZyBBcnJheUJ1ZmZlciBoYXMgYmVlbiBk
ZXRhY2hlZCBmcm9tIHRoZSB2aWV3IChUZXN0aW5nIHdpdGggRmxvYXQ2NEFycmF5LiknCisgIHN0
cmljdCBtb2RlOiAnVHlwZUVycm9yOiBVbmRlcmx5aW5nIEFycmF5QnVmZmVyIGhhcyBiZWVuIGRl
dGFjaGVkIGZyb20gdGhlIHZpZXcgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKK3Rlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9kZXRhY2hl
ZC1idWZmZXItcmVhbG0uanM6CisgIGRlZmF1bHQ6ICdUeXBlRXJyb3I6IFVuZGVybHlpbmcgQXJy
YXlCdWZmZXIgaGFzIGJlZW4gZGV0YWNoZWQgZnJvbSB0aGUgdmlldyAoVGVzdGluZyB3aXRoIEZs
b2F0NjRBcnJheS4pJworICBzdHJpY3QgbW9kZTogJ1R5cGVFcnJvcjogVW5kZXJseWluZyBBcnJh
eUJ1ZmZlciBoYXMgYmVlbiBkZXRhY2hlZCBmcm9tIHRoZSB2aWV3IChUZXN0aW5nIHdpdGggRmxv
YXQ2NEFycmF5LiknCit0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVy
bmFscy9EZWxldGUvZGV0YWNoZWQtYnVmZmVyLmpzOgorICBkZWZhdWx0OiAnVHlwZUVycm9yOiBV
bmRlcmx5aW5nIEFycmF5QnVmZmVyIGhhcyBiZWVuIGRldGFjaGVkIGZyb20gdGhlIHZpZXcgKFRl
c3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKKyAgc3RyaWN0IG1vZGU6ICdUeXBlRXJyb3I6IFVu
ZGVybHlpbmcgQXJyYXlCdWZmZXIgaGFzIGJlZW4gZGV0YWNoZWQgZnJvbSB0aGUgdmlldyAoVGVz
dGluZyB3aXRoIEZsb2F0NjRBcnJheS4pJwordGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL2tleS1pcy1vdXQtb2YtYm91bmRzLW5vbi1zdHJpY3Qu
anM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IFRoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBs
ZVsiMSJdYCBpcyB0cnVlIEV4cGVjdGVkIFNhbWVWYWx1ZSjCq2ZhbHNlwrssIMKrdHJ1ZcK7KSB0
byBiZSB0cnVlIChUZXN0aW5nIHdpdGggRmxvYXQ2NEFycmF5LiknCit0ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUva2V5LWlzLW91dC1vZi1ib3Vu
ZHMtc3RyaWN0LmpzOgorICBzdHJpY3QgbW9kZTogJ1R5cGVFcnJvcjogVW5hYmxlIHRvIGRlbGV0
ZSBwcm9wZXJ0eS4gKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKK3Rlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldC9kZXRhY2hlZC1idWZmZXItcmVh
bG0uanM6CisgIGRlZmF1bHQ6ICdUeXBlRXJyb3I6IFVuZGVybHlpbmcgQXJyYXlCdWZmZXIgaGFz
IGJlZW4gZGV0YWNoZWQgZnJvbSB0aGUgdmlldyAoVGVzdGluZyB3aXRoIEZsb2F0NjRBcnJheS4p
JworICBzdHJpY3QgbW9kZTogJ1R5cGVFcnJvcjogVW5kZXJseWluZyBBcnJheUJ1ZmZlciBoYXMg
YmVlbiBkZXRhY2hlZCBmcm9tIHRoZSB2aWV3IChUZXN0aW5nIHdpdGggRmxvYXQ2NEFycmF5Likn
Cit0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXQvZGV0
YWNoZWQtYnVmZmVyLmpzOgorICBkZWZhdWx0OiAnVHlwZUVycm9yOiBVbmRlcmx5aW5nIEFycmF5
QnVmZmVyIGhhcyBiZWVuIGRldGFjaGVkIGZyb20gdGhlIHZpZXcgKFRlc3Rpbmcgd2l0aCBGbG9h
dDY0QXJyYXkuKScKKyAgc3RyaWN0IG1vZGU6ICdUeXBlRXJyb3I6IFVuZGVybHlpbmcgQXJyYXlC
dWZmZXIgaGFzIGJlZW4gZGV0YWNoZWQgZnJvbSB0aGUgdmlldyAoVGVzdGluZyB3aXRoIEZsb2F0
NjRBcnJheS4pJwordGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5h
bHMvR2V0L2luZmluaXR5LWRldGFjaGVkLWJ1ZmZlci5qczoKKyAgZGVmYXVsdDogJ1R5cGVFcnJv
cjogVW5kZXJseWluZyBBcnJheUJ1ZmZlciBoYXMgYmVlbiBkZXRhY2hlZCBmcm9tIHRoZSB2aWV3
IChUZXN0aW5nIHdpdGggRmxvYXQ2NEFycmF5LiknCisgIHN0cmljdCBtb2RlOiAnVHlwZUVycm9y
OiBVbmRlcmx5aW5nIEFycmF5QnVmZmVyIGhhcyBiZWVuIGRldGFjaGVkIGZyb20gdGhlIHZpZXcg
KFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlD
b25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldC9rZXktaXMtbm90LWludGVnZXIuanM6CiAgIGRlZmF1
bHQ6ICdUZXN0MjYyRXJyb3I6IE9yZGluYXJ5R2V0IHdhcyBjYWxsZWQhIFJlZjogOS4xLjguMSAz
LmMgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYy
RXJyb3I6IE9yZGluYXJ5R2V0IHdhcyBjYWxsZWQhIFJlZjogOS4xLjguMSAzLmMgKFRlc3Rpbmcg
d2l0aCBGbG9hdDY0QXJyYXkuKScKQEAgLTEzMjcsMzYgKzEzNDMsNTMgQEAgdGVzdC9idWlsdC1p
bnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0L2tleS1pcy1ub3QtbWludXMt
emVyby5qczoKIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxz
L0dldC9rZXktaXMtb3V0LW9mLWJvdW5kcy5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjog
T3JkaW5hcnlHZXQgd2FzIGNhbGxlZCEgUmVmOiA5LjEuOC4xIDMuYyAoVGVzdGluZyB3aXRoIEZs
b2F0NjRBcnJheS4pJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogT3JkaW5hcnlHZXQg
d2FzIGNhbGxlZCEgUmVmOiA5LjEuOC4xIDMuYyAoVGVzdGluZyB3aXRoIEZsb2F0NjRBcnJheS4p
JwotdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0T3du
UHJvcGVydHkvZW51bWVyYXRlLWRldGFjaGVkLWJ1ZmZlci5qczoKLSAgZGVmYXVsdDogJ1Rlc3Qy
NjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRp
b24gd2FzIHRocm93biBhdCBhbGwgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKLSAgc3Ry
aWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIHRvIGJlIHRocm93
biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsIChUZXN0aW5nIHdpdGggRmxvYXQ2
NEFycmF5LiknCit0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFs
cy9HZXRPd25Qcm9wZXJ0eS9kZXRhY2hlZC1idWZmZXItcmVhbG0uanM6CisgIGRlZmF1bHQ6ICdU
eXBlRXJyb3I6IFVuZGVybHlpbmcgQXJyYXlCdWZmZXIgaGFzIGJlZW4gZGV0YWNoZWQgZnJvbSB0
aGUgdmlldyAoVGVzdGluZyB3aXRoIEZsb2F0NjRBcnJheS4pJworICBzdHJpY3QgbW9kZTogJ1R5
cGVFcnJvcjogVW5kZXJseWluZyBBcnJheUJ1ZmZlciBoYXMgYmVlbiBkZXRhY2hlZCBmcm9tIHRo
ZSB2aWV3IChUZXN0aW5nIHdpdGggRmxvYXQ2NEFycmF5LiknCit0ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXRPd25Qcm9wZXJ0eS9kZXRhY2hlZC1idWZm
ZXIuanM6CisgIGRlZmF1bHQ6ICdUeXBlRXJyb3I6IFVuZGVybHlpbmcgQXJyYXlCdWZmZXIgaGFz
IGJlZW4gZGV0YWNoZWQgZnJvbSB0aGUgdmlldyAoVGVzdGluZyB3aXRoIEZsb2F0NjRBcnJheS4p
JworICBzdHJpY3QgbW9kZTogJ1R5cGVFcnJvcjogVW5kZXJseWluZyBBcnJheUJ1ZmZlciBoYXMg
YmVlbiBkZXRhY2hlZCBmcm9tIHRoZSB2aWV3IChUZXN0aW5nIHdpdGggRmxvYXQ2NEFycmF5Likn
Cit0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXRPd25Q
cm9wZXJ0eS9pbmRleC1wcm9wLWRlc2MuanM6CisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4
cGVjdGVkIG9ialswXSB0byBoYXZlIGNvbmZpZ3VyYWJsZTp0cnVlLiAoVGVzdGluZyB3aXRoIEZs
b2F0NjRBcnJheS4pJworICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgb2Jq
WzBdIHRvIGhhdmUgY29uZmlndXJhYmxlOnRydWUuIChUZXN0aW5nIHdpdGggRmxvYXQ2NEFycmF5
LiknCiB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9IYXNQ
cm9wZXJ0eS9hYnJ1cHQtZnJvbS1vcmRpbmFyeS1oYXMtcGFyZW50LWhhc3Byb3BlcnR5LmpzOgog
ICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiAgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScK
ICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6ICAoVGVzdGluZyB3aXRoIEZsb2F0NjRBcnJh
eS4pJwogdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvSGFz
UHJvcGVydHkvZGV0YWNoZWQtYnVmZmVyLXJlYWxtLmpzOgotICBkZWZhdWx0OiAnVGVzdDI2MkVy
cm9yOiAwIEV4cGVjdGVkIGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9u
IHdhcyB0aHJvd24gYXQgYWxsIChUZXN0aW5nIHdpdGggRmxvYXQ2NEFycmF5LiknCi0gIHN0cmlj
dCBtb2RlOiAnVGVzdDI2MkVycm9yOiAwIEV4cGVjdGVkIGEgVHlwZUVycm9yIHRvIGJlIHRocm93
biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsIChUZXN0aW5nIHdpdGggRmxvYXQ2
NEFycmF5LiknCisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IFJlZmxlY3QuaGFzKHNhbXBsZSwg
IjAiKSBtdXN0IHJldHVybiBmYWxzZSBFeHBlY3RlZCBTYW1lVmFsdWUowqt0cnVlwrssIMKrZmFs
c2XCuykgdG8gYmUgdHJ1ZSAoVGVzdGluZyB3aXRoIEZsb2F0NjRBcnJheS4pJworICBzdHJpY3Qg
bW9kZTogJ1Rlc3QyNjJFcnJvcjogUmVmbGVjdC5oYXMoc2FtcGxlLCAiMCIpIG11c3QgcmV0dXJu
IGZhbHNlIEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3RydWXCuywgwqtmYWxzZcK7KSB0byBiZSB0cnVl
IChUZXN0aW5nIHdpdGggRmxvYXQ2NEFycmF5LiknCiB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
Q29uc3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9kZXRhY2hlZC1idWZmZXIuanM6Ci0g
IGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IDAgRXhwZWN0ZWQgYSBUeXBlRXJyb3IgdG8gYmUgdGhy
b3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwgKFRlc3Rpbmcgd2l0aCBGbG9h
dDY0QXJyYXkuKScKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IDAgRXhwZWN0ZWQgYSBU
eXBlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwg
KFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjog
UmVmbGVjdC5oYXMoc2FtcGxlLCAiMCIpIG11c3QgcmV0dXJuIGZhbHNlIEV4cGVjdGVkIFNhbWVW
YWx1ZSjCq3RydWXCuywgwqtmYWxzZcK7KSB0byBiZSB0cnVlIChUZXN0aW5nIHdpdGggRmxvYXQ2
NEFycmF5LiknCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBSZWZsZWN0LmhhcyhzYW1w
bGUsICIwIikgbXVzdCByZXR1cm4gZmFsc2UgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrdHJ1ZcK7LCDC
q2ZhbHNlwrspIHRvIGJlIHRydWUgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKK3Rlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L2lu
ZmluaXR5LXdpdGgtZGV0YWNoZWQtYnVmZmVyLmpzOgorICBkZWZhdWx0OiAnVHlwZUVycm9yOiBV
bmRlcmx5aW5nIEFycmF5QnVmZmVyIGhhcyBiZWVuIGRldGFjaGVkIGZyb20gdGhlIHZpZXcgKFRl
c3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L2luaGVyaXRlZC1wcm9wZXJ0eS5qczoKICAg
ZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogNDIgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrdHJ1ZcK7LCDC
q2ZhbHNlwrspIHRvIGJlIHRydWUgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKICAgc3Ry
aWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IDQyIEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3RydWXCuywg
wqtmYWxzZcK7KSB0byBiZSB0cnVlIChUZXN0aW5nIHdpdGggRmxvYXQ2NEFycmF5LiknCiB0ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9r
ZXktaXMtZ3JlYXRlci10aGFuLWxhc3QtaW5kZXguanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJy
b3I6IDEgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrdHJ1ZcK7LCDCq2ZhbHNlwrspIHRvIGJlIHRydWUg
KFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJy
b3I6IDEgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrdHJ1ZcK7LCDCq2ZhbHNlwrspIHRvIGJlIHRydWUg
KFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjog
UmVmbGVjdC5oYXMoc2FtcGxlLCAiMSIpIG11c3QgcmV0dXJuIGZhbHNlIEV4cGVjdGVkIFNhbWVW
YWx1ZSjCq3RydWXCuywgwqtmYWxzZcK7KSB0byBiZSB0cnVlIChUZXN0aW5nIHdpdGggRmxvYXQ2
NEFycmF5LiknCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBSZWZsZWN0LmhhcyhzYW1w
bGUsICIxIikgbXVzdCByZXR1cm4gZmFsc2UgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrdHJ1ZcK7LCDC
q2ZhbHNlwrspIHRvIGJlIHRydWUgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKIHRlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L2tl
eS1pcy1sb3dlci10aGFuLXplcm8uanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IC0xIEV4
cGVjdGVkIFNhbWVWYWx1ZSjCq3RydWXCuywgwqtmYWxzZcK7KSB0byBiZSB0cnVlIChUZXN0aW5n
IHdpdGggRmxvYXQ2NEFycmF5LiknCi0gIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiAtMSBF
eHBlY3RlZCBTYW1lVmFsdWUowqt0cnVlwrssIMKrZmFsc2XCuykgdG8gYmUgdHJ1ZSAoVGVzdGlu
ZyB3aXRoIEZsb2F0NjRBcnJheS4pJworICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBSZWZsZWN0
LmhhcyhzYW1wbGUsICItMSIpIG11c3QgcmV0dXJuIGZhbHNlIEV4cGVjdGVkIFNhbWVWYWx1ZSjC
q3RydWXCuywgwqtmYWxzZcK7KSB0byBiZSB0cnVlIChUZXN0aW5nIHdpdGggRmxvYXQ2NEFycmF5
LiknCisgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBSZWZsZWN0LmhhcyhzYW1wbGUsICIt
MSIpIG11c3QgcmV0dXJuIGZhbHNlIEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3RydWXCuywgwqtmYWxz
ZcK7KSB0byBiZSB0cnVlIChUZXN0aW5nIHdpdGggRmxvYXQ2NEFycmF5LiknCiB0ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9rZXktaXMt
bWludXMtemVyby5qczoKLSAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogLTAgRXhwZWN0ZWQgU2Ft
ZVZhbHVlKMKrdHJ1ZcK7LCDCq2ZhbHNlwrspIHRvIGJlIHRydWUgKFRlc3Rpbmcgd2l0aCBGbG9h
dDY0QXJyYXkuKScKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IC0wIEV4cGVjdGVkIFNh
bWVWYWx1ZSjCq3RydWXCuywgwqtmYWxzZcK7KSB0byBiZSB0cnVlIChUZXN0aW5nIHdpdGggRmxv
YXQ2NEFycmF5LiknCisgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IFJlZmxlY3QuaGFzKHNhbXBs
ZSwgIi0wIikgbXVzdCByZXR1cm4gZmFsc2UgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrdHJ1ZcK7LCDC
q2ZhbHNlwrspIHRvIGJlIHRydWUgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKKyAgc3Ry
aWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IFJlZmxlY3QuaGFzKHNhbXBsZSwgIi0wIikgbXVzdCBy
ZXR1cm4gZmFsc2UgRXhwZWN0ZWQgU2FtZVZhbHVlKMKrdHJ1ZcK7LCDCq2ZhbHNlwrspIHRvIGJl
IHRydWUgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKIHRlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L2tleS1pcy1ub3QtaW50ZWdl
ci5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogMS4xIEV4cGVjdGVkIFNhbWVWYWx1ZSjC
q3RydWXCuywgwqtmYWxzZcK7KSB0byBiZSB0cnVlIChUZXN0aW5nIHdpdGggRmxvYXQ2NEFycmF5
LiknCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiAxLjEgRXhwZWN0ZWQgU2FtZVZhbHVl
KMKrdHJ1ZcK7LCDCq2ZhbHNlwrspIHRvIGJlIHRydWUgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJy
YXkuKScKK3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1Nl
dC9kZXRhY2hlZC1idWZmZXItcmVhbG0uanM6CisgIGRlZmF1bHQ6ICdUeXBlRXJyb3I6IFVuZGVy
bHlpbmcgQXJyYXlCdWZmZXIgaGFzIGJlZW4gZGV0YWNoZWQgZnJvbSB0aGUgdmlldyAoVGVzdGlu
ZyB3aXRoIEZsb2F0NjRBcnJheS4pJworICBzdHJpY3QgbW9kZTogJ1R5cGVFcnJvcjogVW5kZXJs
eWluZyBBcnJheUJ1ZmZlciBoYXMgYmVlbiBkZXRhY2hlZCBmcm9tIHRoZSB2aWV3IChUZXN0aW5n
IHdpdGggRmxvYXQ2NEFycmF5LiknCit0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0
b3JzL2ludGVybmFscy9TZXQvZGV0YWNoZWQtYnVmZmVyLmpzOgorICBkZWZhdWx0OiAnVHlwZUVy
cm9yOiBVbmRlcmx5aW5nIEFycmF5QnVmZmVyIGhhcyBiZWVuIGRldGFjaGVkIGZyb20gdGhlIHZp
ZXcgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScKKyAgc3RyaWN0IG1vZGU6ICdUeXBlRXJy
b3I6IFVuZGVybHlpbmcgQXJyYXlCdWZmZXIgaGFzIGJlZW4gZGV0YWNoZWQgZnJvbSB0aGUgdmll
dyAoVGVzdGluZyB3aXRoIEZsb2F0NjRBcnJheS4pJwordGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L3RvbnVtYmVyLXZhbHVlLWRldGFjaGVkLWJ1ZmZl
ci5qczoKKyAgZGVmYXVsdDogJ1R5cGVFcnJvcjogVW5kZXJseWluZyBBcnJheUJ1ZmZlciBoYXMg
YmVlbiBkZXRhY2hlZCBmcm9tIHRoZSB2aWV3IChUZXN0aW5nIHdpdGggRmxvYXQ2NEFycmF5Likn
CisgIHN0cmljdCBtb2RlOiAnVHlwZUVycm9yOiBVbmRlcmx5aW5nIEFycmF5QnVmZmVyIGhhcyBi
ZWVuIGRldGFjaGVkIGZyb20gdGhlIHZpZXcgKFRlc3Rpbmcgd2l0aCBGbG9hdDY0QXJyYXkuKScK
IHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC90b251
bWJlci12YWx1ZS10aHJvd3MuanM6Ci0gIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IFRvTnVtYmVy
IHJ1bnMgYmVmb3JlIFRvSW50ZWdlcihpbmRleCkgRXhwZWN0ZWQgYSBUZXN0MjYyRXJyb3IgdG8g
YmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwgKFRlc3Rpbmcgd2l0
aCBGbG9hdDY0QXJyYXkuKScKLSAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IFRvTnVtYmVy
IHJ1bnMgYmVmb3JlIFRvSW50ZWdlcihpbmRleCkgRXhwZWN0ZWQgYSBUZXN0MjYyRXJyb3IgdG8g
YmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwgKFRlc3Rpbmcgd2l0
aCBGbG9hdDY0QXJyYXkuKScKKyAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogYHNhbXBsZVsiMS4x
Il0gPSBvYmpgIHRocm93cyBUZXN0MjYyRXJyb3IgRXhwZWN0ZWQgYSBUZXN0MjYyRXJyb3IgdG8g
YmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwgKFRlc3Rpbmcgd2l0
aCBGbG9hdDY0QXJyYXkuKScKKyAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IGBzYW1wbGVb
IjEuMSJdID0gb2JqYCB0aHJvd3MgVGVzdDI2MkVycm9yIEV4cGVjdGVkIGEgVGVzdDI2MkVycm9y
IHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsIChUZXN0aW5n
IHdpdGggRmxvYXQ2NEFycmF5LiknCiB0ZXN0L2ludGw0MDIvRGF0ZVRpbWVGb3JtYXQvcHJvdG90
eXBlL2Zvcm1hdFJhbmdlL2VuLVVTLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBl
Y3RlZCBTYW1lVmFsdWUowqsxLzMvMjAxOeKAieKAk+KAiTEvNS8yMDE5wrssIMKrMS8zLzIwMTkg
4oCTIDEvNS8yMDE5wrspIHRvIGJlIHRydWUnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9y
OiBFeHBlY3RlZCBTYW1lVmFsdWUowqsxLzMvMjAxOeKAieKAk+KAiTEvNS8yMDE5wrssIMKrMS8z
LzIwMTkg4oCTIDEvNS8yMDE5wrspIHRvIGJlIHRydWUnCkBAIC0xODgyLDYgKzE5MTUsMTIgQEAg
dGVzdC9sYW5ndWFnZS9ldmFsLWNvZGUvaW5kaXJlY3QvdmFyLWVudi1nbG9iYWwtbGV4LW5vbi1z
dHJpY3QuanM6CiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFs
dWUowqtmdW5jdGlvbiBUeXBlRXJyb3IoKSB7JwogdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9h
cnJvdy1mdW5jdGlvbi9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzOgogICBkZWZhdWx0OiAn
VGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIHRvIGJlIHRocm93biBidXQgbm8g
ZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJwordGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9h
cnJvdy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2Fycm93LWZ1bmN0aW9uLWZvcmJpZGRlbi1l
eHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanM6CisgIGRlZmF1bHQ6ICdU
eXBlRXJyb3I6IEZ1bmN0aW9uLmNhbGxlciB1c2VkIHRvIHJldHJpZXZlIHN0cmljdCBjYWxsZXIn
Cit0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fycm93LWZ1bmN0aW9uL2ZvcmJpZGRlbi1leHQv
YjIvYXJyb3ctZnVuY3Rpb24tZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3At
Y2FsbGVyLXZhbHVlLmpzOgorICBkZWZhdWx0OiAnVHlwZUVycm9yOiBGdW5jdGlvbi5jYWxsZXIg
dXNlZCB0byByZXRyaWV2ZSBzdHJpY3QgY2FsbGVyJwordGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9hcnJvdy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2Fycm93LWZ1bmN0aW9uLWZvcmJpZGRl
bi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzOgorICBkZWZhdWx0OiAnVHlwZUVy
cm9yOiBGdW5jdGlvbi5jYWxsZXIgdXNlZCB0byByZXRyaWV2ZSBzdHJpY3QgY2FsbGVyJwogdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9hcnJvdy1mdW5jdGlvbi9zY29wZS1ib2R5LWxleC1kaXN0
aW5jdC5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBTeW50YXhFcnJv
ciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKIHRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXJyb3ctZnVuY3Rpb24vc2NvcGUtcGFyYW0tcmVzdC1lbGVt
LXZhci1vcGVuLmpzOgpAQCAtMjEwOCwxODYgKzIxNDcsNiBAQCB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2NsYXNzLW5hbWUtaWRlbnQtc3RhdGljLWVzY2FwZWQuanM6CiAgIGRlZmF1
bHQ6ICdUZXN0MjYyOiBUaGlzIHN0YXRlbWVudCBzaG91bGQgbm90IGJlIGV2YWx1YXRlZC4nCiB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2NsYXNzLW5hbWUtaWRlbnQtc3RhdGljLmpz
OgogICBkZWZhdWx0OiAnVGVzdDI2MjogVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBiZSBldmFs
dWF0ZWQuJwotdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1m
aWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFkZGl0aXZlLWV4cHJlc3Npb24tYWRk
LmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBl
Y3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0g
IHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3Rl
ZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lvbi1zdWJ0cmFjdC5qczoKLSAg
ZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4g
b3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBzdHJpY3Qg
bW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3Bl
bmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVy
dHktbmFtZS1mcm9tLWFycm93LWZ1bmN0aW9uLWV4cHJlc3Npb24uanM6Ci0gIGRlZmF1bHQ6ICJT
eW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygn
IGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50
YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJl
Zm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYXNzaWdubWVudC5qczoKLSAgZGVmYXVsdDogIlN5bnRh
eEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVm
b3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBzdHJpY3QgbW9kZTogIlN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3Jl
IGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFz
c2lnbm1lbnQtZXhwcmVzc2lvbi1iaXR3aXNlLW9yLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJy
b3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUg
YSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6
IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBt
ZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNz
L2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdu
bWVudC1leHByZXNzaW9uLWNvYWxlc2NlLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVu
ZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRo
b2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2Qn
cyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1j
bGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1l
eHByZXNzaW9uLWxvZ2ljYWwtYW5kLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2Qn
cyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0
ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBw
YXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFz
cy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHBy
ZXNzaW9uLWxvZ2ljYWwtb3IuanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3Rl
ZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBh
cmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0
b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFt
ZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4
cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3luYy1hcnJvdy1mdW5jdGlv
bi1leHByZXNzaW9uLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9r
ZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0
ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4g
Jz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIg
bGlzdC4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZp
ZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tY29uZGl0aW9uLWV4cHJlc3Npb24tZmFs
c2UuanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4
cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIK
LSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVj
dGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1jb25kaXRpb24tZXhwcmVzc2lvbi10cnVlLmpzOgotICBk
ZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBv
cGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBt
b2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVu
aW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tZGVjaW1hbC1lLW5vdGF0aW9uYWwtbGl0ZXJhbC5qczoKLSAgZGVmYXVsdDog
IlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAn
KCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBzdHJpY3QgbW9kZTogIlN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcg
YmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLWRlY2ltYWwtbGl0ZXJhbC5qczoKLSAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVj
dGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3Mg
cGFyYW1ldGVyIGxpc3QuIgotICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVk
IHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFy
YW1ldGVyIGxpc3QuIgotdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3Mt
ZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cG9uZXRpYXRpb24tZXhw
cmVzc2lvbi5qczoKLSAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9
Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxp
c3QuIgotICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4g
RXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3Qu
IgotdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cHJlc3Npb24tY29hbGVzY2UuanM6Ci0gIGRl
ZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9w
ZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1v
ZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5p
bmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5
LW5hbWUtZnJvbS1leHByZXNzaW9uLWxvZ2ljYWwtYW5kLmpzOgotICBkZWZhdWx0OiAiU3ludGF4
RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZv
cmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJy
b3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUg
YSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhw
cmVzc2lvbi1sb2dpY2FsLW9yLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0
ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBw
YXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQg
dG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJh
bWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1l
eHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZnVuY3Rpb24tZGVjbGFyYXRp
b24uanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4
cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIK
LSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVj
dGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1leHByZXNzaW9uLmpzOgotICBkZWZhdWx0
OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5n
ICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAi
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICco
JyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1l
LWZyb20tZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpzOgotICBkZWZhdWx0OiAiU3lu
dGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBi
ZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4
RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZv
cmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20t
aWRlbnRpZmllci5qczoKLSAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2Vu
ICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVy
IGxpc3QuIgotICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9
Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxp
c3QuIgotdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVs
ZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWludGVnZXItZS1ub3RhdGlvbmFsLWxpdGVy
YWwuanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4
cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIK
LSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVj
dGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2VyLXNlcGFyYXRvcnMuanM6Ci0gIGRlZmF1bHQ6
ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcg
JygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJT
eW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygn
IGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUt
ZnJvbS1tYXRoLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4g
Jz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIg
bGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0n
LiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlz
dC4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxk
cy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbi1k
aXYuanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4
cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIK
LSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVj
dGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLW11bHQuanM6
Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVk
IGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3Ry
aWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFu
IG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1udWxsLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2Qn
cyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0
ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBw
YXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFz
cy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbnVtZXJpYy1saXRlcmFs
LmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBl
Y3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0g
IHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3Rl
ZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tc3RyaW5nLWxpdGVyYWwuanM6Ci0gIGRlZmF1bHQ6ICJTeW50
YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJl
Zm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhF
cnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9y
ZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS15
aWVsZC1leHByZXNzaW9uLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQg
dG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJh
bWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9r
ZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0
ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHBy
LWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1leHBy
ZXNzaW9uLWFkZC5qczoKLSAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2Vu
ICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVy
IGxpc3QuIgotICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9
Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxp
c3QuIgotdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVs
ZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lv
bi1zdWJ0cmFjdC5qczoKLSAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2Vu
ICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVy
IGxpc3QuIgotICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9
Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxp
c3QuIgotdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVs
ZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXJyb3ctZnVuY3Rpb24tZXhw
cmVzc2lvbi5qczoKLSAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9
Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxp
c3QuIgotICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4g
RXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3Qu
IgotdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMt
bWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9u
LWFzc2lnbm1lbnQuanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tl
biAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRl
ciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAn
PScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBs
aXN0LiIKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmll
bGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVz
c2lvbi1iaXR3aXNlLW9yLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQg
dG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJh
bWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9r
ZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0
ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHBy
LWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4
cHJlc3Npb24tY29hbGVzY2UuanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3Rl
ZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBh
cmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0
b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFt
ZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4
cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQt
ZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5qczoKLSAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4
cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9k
J3MgcGFyYW1ldGVyIGxpc3QuIgotICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVj
dGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3Mg
cGFyYW1ldGVyIGxpc3QuIgotdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xh
c3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdu
bWVudC1leHByZXNzaW9uLWxvZ2ljYWwtb3IuanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjog
VW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1l
dGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5l
eHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhv
ZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3Bu
LWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFz
eW5jLWFycm93LWZ1bmN0aW9uLWV4cHJlc3Npb24uanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJv
cjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBh
IG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjog
VW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1l
dGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
Y3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LWNvbmRpdGlvbi1leHByZXNzaW9uLWZhbHNlLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6
IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBt
ZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVu
ZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRo
b2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nw
bi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1j
b25kaXRpb24tZXhwcmVzc2lvbi10cnVlLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVu
ZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRo
b2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2Qn
cyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1j
bGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNp
bWFsLWUtbm90YXRpb25hbC1saXRlcmFsLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVu
ZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRo
b2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2Qn
cyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1j
bGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNp
bWFsLWxpdGVyYWwuanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tl
biAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRl
ciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAn
PScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBs
aXN0LiIKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmll
bGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cG9uZXRpYXRpb24tZXhw
cmVzc2lvbi5qczoKLSAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9
Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxp
c3QuIgotICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4g
RXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3Qu
IgotdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMt
bWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1jb2FsZXNjZS5q
czoKLSAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0
ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBz
dHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQg
YW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5qczoKLSAg
ZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4g
b3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBzdHJpY3Qg
bW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3Bl
bmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLW9yLmpzOgotICBkZWZhdWx0
OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5n
ICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAi
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICco
JyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3Bl
cnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qczoKLSAgZGVmYXVsdDogIlN5bnRh
eEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVm
b3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBzdHJpY3QgbW9kZTogIlN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3Jl
IGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1l
LWZyb20tZnVuY3Rpb24tZXhwcmVzc2lvbi5qczoKLSAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBV
bmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0
aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4
cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9k
J3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4t
Y2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZ2Vu
ZXJhdG9yLWZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6
IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBt
ZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVu
ZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRo
b2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nw
bi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1p
ZGVudGlmaWVyLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4g
Jz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIg
bGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0n
LiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlz
dC4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxk
cy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2VyLWUtbm90YXRpb25h
bC1saXRlcmFsLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4g
Jz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIg
bGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0n
LiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlz
dC4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxk
cy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2VyLXNlcGFyYXRvcnMu
anM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVj
dGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAg
c3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVk
IGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW1hdGguanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhF
cnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9y
ZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJv
cjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBh
IG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tZGl2LmpzOgotICBkZWZhdWx0OiAiU3ludGF4
RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZv
cmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJy
b3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUg
YSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUt
ZnJvbS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLW11bHQuanM6Ci0gIGRlZmF1bHQ6ICJTeW50
YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJl
Zm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhF
cnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9y
ZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLW51bGwuanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tl
biAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRl
ciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAn
PScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBs
aXN0LiIKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmll
bGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW51bWVyaWMtbGl0ZXJhbC5q
czoKLSAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0
ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBz
dHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQg
YW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tc3RyaW5nLWxpdGVyYWwuanM6Ci0gIGRlZmF1bHQ6
ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcg
JygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJT
eW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygn
IGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVy
dHktbmFtZS1mcm9tLXlpZWxkLWV4cHJlc3Npb24uanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJv
cjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBh
IG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjog
VW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1l
dGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
ZWxlbWVudHMvYXJyb3ctYm9keS1kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmpz
OgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIGJ1dCBn
b3QgYSBSZWZlcmVuY2VFcnJvcicKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVj
dGVkIGEgU3ludGF4RXJyb3IgYnV0IGdvdCBhIFJlZmVyZW5jZUVycm9yJwpAQCAtMjMwMCw2ICsy
MTU5LDE4IEBAIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvbmVzdGVk
LWRpcmVjdC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVuCiB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NsYXNzL2VsZW1lbnRzL25lc3RlZC1wcml2YXRlLWRpcmVjdC1ldmFsLWVyci1jb250YWlu
cy1hcmd1bWVudHMuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgU3lu
dGF4RXJyb3IgYnV0IGdvdCBhIFJlZmVyZW5jZUVycm9yJwogICBzdHJpY3QgbW9kZTogJ1Rlc3Qy
NjJFcnJvcjogRXhwZWN0ZWQgYSBTeW50YXhFcnJvciBidXQgZ290IGEgUmVmZXJlbmNlRXJyb3In
Cit0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2dlbi1tZXRob2Qtc3RhdGljL2ZvcmJp
ZGRlbi1leHQvYjIvY2xzLWV4cHItZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJl
Y3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanM6CisgIGRlZmF1bHQ6ICdUeXBlRXJyb3I6
IEZ1bmN0aW9uLmNhbGxlciB1c2VkIHRvIHJldHJpZXZlIGdlbmVyYXRvciBib2R5JwordGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9nZW4tbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0
L2IyL2Nscy1leHByLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vz
cy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanM6CisgIGRlZmF1bHQ6ICdUeXBlRXJyb3I6IEZ1bmN0
aW9uLmNhbGxlciB1c2VkIHRvIHJldHJpZXZlIGdlbmVyYXRvciBib2R5JwordGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9nZW4tbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Ns
cy1leHByLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9w
LWNhbGxlci5qczoKKyAgZGVmYXVsdDogJ1R5cGVFcnJvcjogRnVuY3Rpb24uY2FsbGVyIHVzZWQg
dG8gcmV0cmlldmUgZ2VuZXJhdG9yIGJvZHknCit0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2dlbi1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1nZW4tbWV0aC1mb3JiaWRk
ZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzOgorICBkZWZhdWx0
OiAnVHlwZUVycm9yOiBGdW5jdGlvbi5jYWxsZXIgdXNlZCB0byByZXRyaWV2ZSBnZW5lcmF0b3Ig
Ym9keScKK3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZ2VuLW1ldGhvZC9mb3JiaWRk
ZW4tZXh0L2IyL2Nscy1leHByLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNz
LW93bi1wcm9wLWNhbGxlci12YWx1ZS5qczoKKyAgZGVmYXVsdDogJ1R5cGVFcnJvcjogRnVuY3Rp
b24uY2FsbGVyIHVzZWQgdG8gcmV0cmlldmUgZ2VuZXJhdG9yIGJvZHknCit0ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2dlbi1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1n
ZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qczoKKyAg
ZGVmYXVsdDogJ1R5cGVFcnJvcjogRnVuY3Rpb24uY2FsbGVyIHVzZWQgdG8gcmV0cmlldmUgZ2Vu
ZXJhdG9yIGJvZHknCiB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2lkZW50LW5hbWUt
bWV0aG9kLWRlZi1icmVhay1lc2NhcGVkLmpzOgogICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVu
ZXhwZWN0ZWQgZXNjYXBlZCBjaGFyYWN0ZXJzIGluIGtleXdvcmQgdG9rZW46ICdicmVcXHUwMDYx
ayciCiAgIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgZXNjYXBlZCBjaGFy
YWN0ZXJzIGluIGtleXdvcmQgdG9rZW46ICdicmVcXHUwMDYxayciCkBAIC0yNDI5LDE1ICsyMzAw
LDE4IEBAIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvaWRlbnQtbmFtZS1tZXRob2Qt
ZGVmLXdoaWxlLWVzY2FwZWQuanM6CiB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2lk
ZW50LW5hbWUtbWV0aG9kLWRlZi13aXRoLWVzY2FwZWQuanM6CiAgIGRlZmF1bHQ6ICJTeW50YXhF
cnJvcjogVW5leHBlY3RlZCBlc2NhcGVkIGNoYXJhY3RlcnMgaW4ga2V5d29yZCB0b2tlbjogJ3dc
XHUwMDY5dGgnIgogICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGVzY2Fw
ZWQgY2hhcmFjdGVycyBpbiBrZXl3b3JkIHRva2VuOiAnd1xcdTAwNjl0aCciCi10ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL3N1YmNsYXNzLWJ1aWx0aW5zL3N1YmNsYXNzLUJpZ0ludDY0
QXJyYXkuanM6Ci0gIGRlZmF1bHQ6ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogQmlnSW50NjRBcnJheSIKLSAgc3RyaWN0IG1vZGU6ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogQmlnSW50NjRBcnJheSIKLXRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3Mvc3ViY2xhc3MtYnVpbHRpbnMvc3ViY2xhc3MtQmlnVWludDY0QXJyYXkuanM6Ci0gIGRl
ZmF1bHQ6ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogQmlnVWludDY0QXJy
YXkiCi0gIHN0cmljdCBtb2RlOiAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6
IEJpZ1VpbnQ2NEFycmF5IgotdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9zdWJjbGFz
cy1idWlsdGlucy9zdWJjbGFzcy1XZWFrUmVmLmpzOgotICBkZWZhdWx0OiAnVHlwZUVycm9yOiBG
aXJzdCBhcmd1bWVudCB0byBXZWFrUmVmIHNob3VsZCBiZSBhbiBvYmplY3QnCi0gIHN0cmljdCBt
b2RlOiAnVHlwZUVycm9yOiBGaXJzdCBhcmd1bWVudCB0byBXZWFrUmVmIHNob3VsZCBiZSBhbiBv
YmplY3QnCit0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL21ldGhvZC1zdGF0aWMvZm9y
YmlkZGVuLWV4dC9iMi9jbHMtZXhwci1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0
LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzOgorICBkZWZhdWx0OiAnVHlwZUVycm9yOiBG
dW5jdGlvbi5jYWxsZXIgdXNlZCB0byByZXRyaWV2ZSBzdHJpY3QgY2FsbGVyJwordGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jbGFzcy9tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xz
LWV4cHItbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3At
Y2FsbGVyLXZhbHVlLmpzOgorICBkZWZhdWx0OiAnVHlwZUVycm9yOiBGdW5jdGlvbi5jYWxsZXIg
dXNlZCB0byByZXRyaWV2ZSBzdHJpY3QgY2FsbGVyJwordGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItbWV0aC1zdGF0
aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanM6CisgIGRlZmF1
bHQ6ICdUeXBlRXJyb3I6IEZ1bmN0aW9uLmNhbGxlciB1c2VkIHRvIHJldHJpZXZlIHN0cmljdCBj
YWxsZXInCit0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL21ldGhvZC9mb3JiaWRkZW4t
ZXh0L2IyL2Nscy1leHByLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXBy
b3AtY2FsbGVyLWdldC5qczoKKyAgZGVmYXVsdDogJ1R5cGVFcnJvcjogRnVuY3Rpb24uY2FsbGVy
IHVzZWQgdG8gcmV0cmlldmUgc3RyaWN0IGNhbGxlcicKK3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItbWV0aC1mb3JiaWRkZW4t
ZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanM6CisgIGRlZmF1bHQ6
ICdUeXBlRXJyb3I6IEZ1bmN0aW9uLmNhbGxlciB1c2VkIHRvIHJldHJpZXZlIHN0cmljdCBjYWxs
ZXInCit0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL21ldGhvZC9mb3JiaWRkZW4tZXh0
L2IyL2Nscy1leHByLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxs
ZXIuanM6CisgIGRlZmF1bHQ6ICdUeXBlRXJyb3I6IEZ1bmN0aW9uLmNhbGxlciB1c2VkIHRvIHJl
dHJpZXZlIHN0cmljdCBjYWxsZXInCiB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NvbXBvdW5k
LWFzc2lnbm1lbnQvUzExLjEzLjJfQTUuMTBfVDEuanM6CiAgIGRlZmF1bHQ6ICJSZWZlcmVuY2VF
cnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogeCIKIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y29tcG91bmQtYXNzaWdubWVudC9TMTEuMTMuMl9BNS4xMF9UMi5qczoKQEAgLTI1NDksMTIgKzI0
MjMsMjQgQEAgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9keW5hbWljLWltcG9ydC9mb3ItYXdh
aXQtcmVzb2x1dGlvbi1hbmQtZXJyb3ItYWdlbi15aWUKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYy
OkFzeW5jVGVzdEZhaWx1cmU6VGVzdDI2MkVycm9yOiBUZXN0MjYyRXJyb3I6IGYgRXhwZWN0ZWQg
U2FtZVZhbHVlKMKrbnVsbMK7LCDCq2Zvb8K7KSB0byBiZSB0cnVlJwogdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9mdW5jdGlvbi9ldmFsLXZhci1zY29wZS1zeW50YXgtZXJyLmpzOgogICBkZWZh
dWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIHRvIGJlIHRocm93biBi
dXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJwordGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2Z1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWlu
ZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzOgorICBkZWZhdWx0OiAnVHlwZUVy
cm9yOiBGdW5jdGlvbi5jYWxsZXIgdXNlZCB0byByZXRyaWV2ZSBzdHJpY3QgY2FsbGVyJwordGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2Z1bmMtZXhw
ci1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanM6
CisgIGRlZmF1bHQ6ICdUeXBlRXJyb3I6IEZ1bmN0aW9uLmNhbGxlciB1c2VkIHRvIHJldHJpZXZl
IHN0cmljdCBjYWxsZXInCit0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Z1bmN0aW9uL2ZvcmJp
ZGRlbi1leHQvYjIvZnVuYy1leHByLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3At
Y2FsbGVyLmpzOgorICBkZWZhdWx0OiAnVHlwZUVycm9yOiBGdW5jdGlvbi5jYWxsZXIgdXNlZCB0
byByZXRyaWV2ZSBzdHJpY3QgY2FsbGVyJwogdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5j
dGlvbi9zY29wZS1ib2R5LWxleC1kaXN0aW5jdC5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJv
cjogRXhwZWN0ZWQgYSBTeW50YXhFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3
YXMgdGhyb3duIGF0IGFsbCcKIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24vc2Nv
cGUtcGFyYW0tcmVzdC1lbGVtLXZhci1vcGVuLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9y
OiBFeHBlY3RlZCBTYW1lVmFsdWUowqtvdXRzaWRlwrssIMKraW5zaWRlwrspIHRvIGJlIHRydWUn
CiB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRvcnMvZXZhbC12YXItc2NvcGUtc3lu
dGF4LWVyci5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBTeW50YXhF
cnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKK3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ2VuZXJhdG9ycy9mb3JiaWRkZW4tZXh0L2IyL2dlbi1m
dW5jLWV4cHItZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdl
dC5qczoKKyAgZGVmYXVsdDogJ1R5cGVFcnJvcjogRnVuY3Rpb24uY2FsbGVyIHVzZWQgdG8gcmV0
cmlldmUgZ2VuZXJhdG9yIGJvZHknCit0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRv
cnMvZm9yYmlkZGVuLWV4dC9iMi9nZW4tZnVuYy1leHByLWZvcmJpZGRlbi1leHQtaW5kaXJlY3Qt
YWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5qczoKKyAgZGVmYXVsdDogJ1R5cGVFcnJvcjog
RnVuY3Rpb24uY2FsbGVyIHVzZWQgdG8gcmV0cmlldmUgZ2VuZXJhdG9yIGJvZHknCit0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRvcnMvZm9yYmlkZGVuLWV4dC9iMi9nZW4tZnVuYy1l
eHByLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzOgorICBkZWZh
dWx0OiAnVHlwZUVycm9yOiBGdW5jdGlvbi5jYWxsZXIgdXNlZCB0byByZXRyaWV2ZSBnZW5lcmF0
b3IgYm9keScKIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ2VuZXJhdG9ycy9nZW5lcmF0b3It
Y3JlYXRlZC1hZnRlci1kZWNsLWluc3QuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4
cGVjdGVkIFNhbWVWYWx1ZSjCq1tvYmplY3QgR2VuZXJhdG9yXcK7LCDCq1tvYmplY3QgR2VuZXJh
dG9yXcK7KSB0byBiZSBmYWxzZScKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVj
dGVkIFNhbWVWYWx1ZSjCq1tvYmplY3QgR2VuZXJhdG9yXcK7LCDCq1tvYmplY3QgR2VuZXJhdG9y
XcK7KSB0byBiZSBmYWxzZScKQEAgLTI5NzIsNiArMjg1OCwxOCBAQCB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9lc2NhcGVkLXNldC10LmpzOgogdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vZXNjYXBlZC1z
ZXQuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyOiBUaGlzIHN0YXRlbWVudCBzaG91bGQgbm90IGJl
IGV2YWx1YXRlZC4nCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MjogVGhpcyBzdGF0ZW1lbnQgc2hv
dWxkIG5vdCBiZSBldmFsdWF0ZWQuJwordGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3Qv
bWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9iMi9nZW4tbWV0aC1mb3JiaWRkZW4tZXh0
LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzOgorICBkZWZhdWx0OiAnVHlw
ZUVycm9yOiBGdW5jdGlvbi5jYWxsZXIgdXNlZCB0byByZXRyaWV2ZSBnZW5lcmF0b3IgYm9keScK
K3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2ZvcmJp
ZGRlbi1leHQvYjIvZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXBy
b3AtY2FsbGVyLXZhbHVlLmpzOgorICBkZWZhdWx0OiAnVHlwZUVycm9yOiBGdW5jdGlvbi5jYWxs
ZXIgdXNlZCB0byByZXRyaWV2ZSBnZW5lcmF0b3IgYm9keScKK3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1leHQvYjIvZ2VuLW1ldGgt
Zm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanM6CisgIGRlZmF1bHQ6
ICdUeXBlRXJyb3I6IEZ1bmN0aW9uLmNhbGxlciB1c2VkIHRvIHJldHJpZXZlIGdlbmVyYXRvciBi
b2R5JwordGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24v
Zm9yYmlkZGVuLWV4dC9iMi9tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1w
cm9wLWNhbGxlci1nZXQuanM6CisgIGRlZmF1bHQ6ICdUeXBlRXJyb3I6IEZ1bmN0aW9uLmNhbGxl
ciB1c2VkIHRvIHJldHJpZXZlIHN0cmljdCBjYWxsZXInCit0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IyL21ldGgtZm9yYmlk
ZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzOgorICBkZWZh
dWx0OiAnVHlwZUVycm9yOiBGdW5jdGlvbi5jYWxsZXIgdXNlZCB0byByZXRyaWV2ZSBzdHJpY3Qg
Y2FsbGVyJwordGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRp
b24vZm9yYmlkZGVuLWV4dC9iMi9tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXBy
b3AtY2FsbGVyLmpzOgorICBkZWZhdWx0OiAnVHlwZUVycm9yOiBGdW5jdGlvbi5jYWxsZXIgdXNl
ZCB0byByZXRyaWV2ZSBzdHJpY3QgY2FsbGVyJwogdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9v
YmplY3QvbWV0aG9kLWRlZmluaXRpb24vZ2VuLW1ldGgtZXZhbC12YXItc2NvcGUtc3ludGF4LWVy
ci5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBTeW50YXhFcnJvciB0
byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL21ldGgtZXZhbC12YXIt
c2NvcGUtc3ludGF4LWVyci5qczoKQEAgLTMwODQsMjA0ICsyOTgyLDM2IEBAIHRlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9jbGFzcy1uYW1lLWlkZW50LXN0YXRpYy1lc2NhcGVkLmpzOgog
ICBkZWZhdWx0OiAnVGVzdDI2MjogVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBiZSBldmFsdWF0
ZWQuJwogdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2NsYXNzLW5hbWUtaWRlbnQtc3Rh
dGljLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MjogVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBi
ZSBldmFsdWF0ZWQuJwotdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1k
ZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lv
bi1hZGQuanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScu
IEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0
LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4
cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIK
LXRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFkZGl0aXZlLWV4cHJlc3Npb24tc3VidHJhY3QuanM6
Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVk
IGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3Ry
aWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFu
IG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLWFycm93LWZ1bmN0aW9uLWV4cHJlc3Npb24uanM6Ci0gIGRlZmF1bHQ6
ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcg
JygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJT
eW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygn
IGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1hc3NpZ25tZW50LmpzOgotICBkZWZhdWx0OiAiU3lu
dGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBi
ZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4
RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZv
cmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1h
c3NpZ25tZW50LWV4cHJlc3Npb24tYml0d2lzZS1vci5qczoKLSAgZGVmYXVsdDogIlN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3Jl
IGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9y
OiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEg
bWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdu
bWVudC1leHByZXNzaW9uLWNvYWxlc2NlLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVu
ZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRo
b2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2Qn
cyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNs
YXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4
cHJlc3Npb24tbG9naWNhbC1hbmQuanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdz
IHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3Rl
ZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBh
cmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3Mt
ZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVz
c2lvbi1sb2dpY2FsLW9yLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQg
dG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJh
bWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9r
ZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0
ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wt
ZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3luYy1hcnJvdy1mdW5jdGlvbi1l
eHByZXNzaW9uLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4g
Jz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIg
bGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0n
LiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlz
dC4iCi10ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRz
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1jb25kaXRpb24tZXhwcmVzc2lvbi1mYWxzZS5q
czoKLSAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0
ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBz
dHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQg
YW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1w
cm9wZXJ0eS1uYW1lLWZyb20tY29uZGl0aW9uLWV4cHJlc3Npb24tdHJ1ZS5qczoKLSAgZGVmYXVs
dDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3Blbmlu
ZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBzdHJpY3QgbW9kZTog
IlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAn
KCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1l
LWZyb20tZGVjaW1hbC1lLW5vdGF0aW9uYWwtbGl0ZXJhbC5qczoKLSAgZGVmYXVsdDogIlN5bnRh
eEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVm
b3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBzdHJpY3QgbW9kZTogIlN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3Jl
IGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZGVj
aW1hbC1saXRlcmFsLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9r
ZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0
ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4g
Jz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIg
bGlzdC4iCi10ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmll
bGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHBvbmV0aWF0aW9uLWV4cHJlc3Npb24u
anM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVj
dGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAg
c3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVk
IGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQt
cHJvcGVydHktbmFtZS1mcm9tLWV4cHJlc3Npb24tY29hbGVzY2UuanM6Ci0gIGRlZmF1bHQ6ICJT
eW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygn
IGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50
YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJl
Zm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LWV4cHJlc3Npb24tbG9naWNhbC1hbmQuanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5l
eHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhv
ZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdz
IHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xh
c3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cHJlc3Npb24tbG9n
aWNhbC1vci5qczoKLSAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9
Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxp
c3QuIgotICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4g
RXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3Qu
IgotdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZnVuY3Rpb24tZGVjbGFyYXRpb24uanM6Ci0gIGRl
ZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9w
ZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1v
ZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5p
bmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHkt
bmFtZS1mcm9tLWZ1bmN0aW9uLWV4cHJlc3Npb24uanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJv
cjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBh
IG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjog
VW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1l
dGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9j
cG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWdlbmVyYXRv
ci1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qczoKLSAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4
cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9k
J3MgcGFyYW1ldGVyIGxpc3QuIgotICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVj
dGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3Mg
cGFyYW1ldGVyIGxpc3QuIgotdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFz
cy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20taWRlbnRpZmllci5qczoK
LSAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQg
YW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBzdHJp
Y3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4g
b3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lLWZyb20taW50ZWdlci1lLW5vdGF0aW9uYWwtbGl0ZXJhbC5qczoKLSAgZGVmYXVs
dDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3Blbmlu
ZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBzdHJpY3QgbW9kZTog
IlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAn
KCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1l
LWZyb20taW50ZWdlci1zZXBhcmF0b3JzLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVu
ZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRo
b2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2Qn
cyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNs
YXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1tYXRoLmpzOgotICBk
ZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBv
cGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBt
b2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVu
aW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5
LW5hbWUtZnJvbS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLWRpdi5qczoKLSAgZGVmYXVsdDog
IlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAn
KCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBzdHJpY3QgbW9kZTogIlN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcg
YmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZy
b20tbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbi1tdWx0LmpzOgotICBkZWZhdWx0OiAiU3ludGF4
RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZv
cmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJy
b3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUg
YSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1udWxs
LmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBl
Y3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0g
IHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3Rl
ZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVk
LXByb3BlcnR5LW5hbWUtZnJvbS1udW1lcmljLWxpdGVyYWwuanM6Ci0gIGRlZmF1bHQ6ICJTeW50
YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJl
Zm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhF
cnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9y
ZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLXN0
cmluZy1saXRlcmFsLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9r
ZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0
ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4g
Jz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIg
bGlzdC4iCi10ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmll
bGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS15aWVsZC1leHByZXNzaW9uLmpzOgotICBk
ZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBv
cGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBt
b2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVu
aW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQt
cHJvcGVydHktbmFtZS1mcm9tLWFkZGl0aXZlLWV4cHJlc3Npb24tYWRkLmpzOgotICBkZWZhdWx0
OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5n
ICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAi
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICco
JyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVy
dHktbmFtZS1mcm9tLWFkZGl0aXZlLWV4cHJlc3Npb24tc3VidHJhY3QuanM6Ci0gIGRlZmF1bHQ6
ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcg
JygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJT
eW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygn
IGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lvbi5qczoKLSAgZGVmYXVsdDogIlN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcg
YmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBzdHJpY3QgbW9kZTogIlN5bnRh
eEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVm
b3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYXNzaWdubWVudC5qczoKLSAgZGVmYXVsdDog
IlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAn
KCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBzdHJpY3QgbW9kZTogIlN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcg
YmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5
LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYml0d2lzZS1vci5qczoKLSAgZGVmYXVs
dDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3Blbmlu
ZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBzdHJpY3QgbW9kZTog
IlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAn
KCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3Bl
cnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tY29hbGVzY2UuanM6Ci0gIGRlZmF1
bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5p
bmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6
ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcg
JygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWxvZ2ljYWwtYW5kLmpzOgotICBk
ZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBv
cGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBt
b2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVu
aW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQt
cHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dpY2FsLW9yLmpzOgot
ICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBh
biBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmlj
dCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBv
cGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0
ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzeW5jLWFycm93LWZ1bmN0aW9uLWV4cHJlc3Npb24uanM6
Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVk
IGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3Ry
aWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFu
IG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tY29uZGl0aW9uLWV4cHJlc3Npb24tZmFsc2UuanM6Ci0g
IGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFu
IG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0
IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9w
ZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tY29uZGl0aW9uLWV4cHJlc3Npb24tdHJ1ZS5qczoKLSAgZGVm
YXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3Bl
bmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBzdHJpY3QgbW9k
ZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3Blbmlu
ZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWUtbm90YXRpb25hbC1saXRlcmFsLmpzOgotICBkZWZh
dWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVu
aW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2Rl
OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5n
ICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLWRlY2ltYWwtbGl0ZXJhbC5qczoKLSAgZGVmYXVsdDogIlN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3Jl
IGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9y
OiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEg
bWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1leHBvbmV0aWF0aW9uLWV4cHJlc3Npb24uanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjog
VW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1l
dGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5l
eHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhv
ZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4t
Y2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhw
cmVzc2lvbi1jb2FsZXNjZS5qczoKLSAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVk
IHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFy
YW1ldGVyIGxpc3QuIgotICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRv
a2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1l
dGVyIGxpc3QuIgotdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNs
LWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNzaW9uLWxv
Z2ljYWwtYW5kLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4g
Jz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIg
bGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0n
LiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlz
dC4iCi10ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRz
LW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cHJlc3Npb24tbG9naWNhbC1v
ci5qczoKLSAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhw
ZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgot
ICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0
ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2Rz
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qczoKLSAg
ZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4g
b3BlbmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBzdHJpY3Qg
bW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3Bl
bmluZyAnKCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVk
LXByb3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1leHByZXNzaW9uLmpzOgotICBkZWZhdWx0OiAi
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICco
JyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3lu
dGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBi
ZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHkt
bmFtZS1mcm9tLWdlbmVyYXRvci1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qczoKLSAgZGVmYXVsdDog
IlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAn
KCcgYmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotICBzdHJpY3QgbW9kZTogIlN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICc9Jy4gRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcg
YmVmb3JlIGEgbWV0aG9kJ3MgcGFyYW1ldGVyIGxpc3QuIgotdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5
LW5hbWUtZnJvbS1pZGVudGlmaWVyLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2Qn
cyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0
ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBw
YXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNz
LWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWludGVnZXIt
ZS1ub3RhdGlvbmFsLWxpdGVyYWwuanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBl
Y3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdz
IHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3Rl
ZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBh
cmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3Mt
ZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20taW50ZWdlci1z
ZXBhcmF0b3JzLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4g
Jz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIg
bGlzdC4iCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0n
LiBFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlz
dC4iCi10ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRz
LW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW1hdGguanM6Ci0gIGRlZmF1bHQ6
ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcg
JygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJT
eW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygn
IGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbi1kaXYuanM6Ci0gIGRlZmF1bHQ6
ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcg
JygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJT
eW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygn
IGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbi1tdWx0LmpzOgotICBkZWZhdWx0
OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5n
ICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2RlOiAi
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5nICco
JyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVy
dHktbmFtZS1mcm9tLW51bGwuanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3Rl
ZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBh
cmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0
b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhIG1ldGhvZCdzIHBhcmFt
ZXRlciBsaXN0LiIKLXRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVj
bC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbnVtZXJpYy1saXRl
cmFsLmpzOgotICBkZWZhdWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBF
eHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4i
Ci0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBl
Y3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhv
ZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLXN0cmluZy1saXRlcmFsLmpzOgotICBkZWZh
dWx0OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVu
aW5nICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi0gIHN0cmljdCBtb2Rl
OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJz0nLiBFeHBlY3RlZCBhbiBvcGVuaW5n
ICcoJyBiZWZvcmUgYSBtZXRob2QncyBwYXJhbWV0ZXIgbGlzdC4iCi10ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLXlpZWxkLWV4cHJlc3Npb24uanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhF
cnJvcjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9y
ZSBhIG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJv
cjogVW5leHBlY3RlZCB0b2tlbiAnPScuIEV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBh
IG1ldGhvZCdzIHBhcmFtZXRlciBsaXN0LiIKIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9lbGVtZW50cy9hcnJvdy1ib2R5LWRpcmVjdC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVudHMu
anM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgU3ludGF4RXJyb3IgYnV0
IGdvdCBhIFJlZmVyZW5jZUVycm9yJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhw
ZWN0ZWQgYSBTeW50YXhFcnJvciBidXQgZ290IGEgUmVmZXJlbmNlRXJyb3InCi10ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXJyb3ctYm9keS1pbmRpcmVjdC1ldmFsLWVy
ci1jb250YWlucy1hcmd1bWVudHMuanM6Ci0gIGRlZmF1bHQ6ICJSZWZlcmVuY2VFcnJvcjogQ2Fu
J3QgZmluZCB2YXJpYWJsZTogZXhlY3V0ZWQiCi0gIHN0cmljdCBtb2RlOiAiUmVmZXJlbmNlRXJy
b3I6IENhbid0IGZpbmQgdmFyaWFibGU6IGV4ZWN1dGVkIgogdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2VsZW1lbnRzL2Fycm93LWJvZHktcHJpdmF0ZS1kaXJlY3QtZXZhbC1lcnItY29u
dGFpbnMtYXJndW1lbnRzLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBh
IFN5bnRheEVycm9yIGJ1dCBnb3QgYSBSZWZlcmVuY2VFcnJvcicKICAgc3RyaWN0IG1vZGU6ICdU
ZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgU3ludGF4RXJyb3IgYnV0IGdvdCBhIFJlZmVyZW5jZUVy
cm9yJwogdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL25lc3RlZC1kaXJl
Y3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVy
cm9yOiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIGJ1dCBnb3QgYSBSZWZlcmVuY2VFcnJvcicKICAg
c3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgU3ludGF4RXJyb3IgYnV0IGdv
dCBhIFJlZmVyZW5jZUVycm9yJwotdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1l
bnRzL25lc3RlZC1pbmRpcmVjdC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVudHMuanM6Ci0gIGRl
ZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCq3RydWXCuywgwqtmYWxz
ZcK7KSB0byBiZSB0cnVlJwotICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQg
U2FtZVZhbHVlKMKrdHJ1ZcK7LCDCq2ZhbHNlwrspIHRvIGJlIHRydWUnCiB0ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvbmVzdGVkLXByaXZhdGUtZGlyZWN0LWV2YWwtZXJy
LWNvbnRhaW5zLWFyZ3VtZW50cy5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0
ZWQgYSBTeW50YXhFcnJvciBidXQgZ290IGEgUmVmZXJlbmNlRXJyb3InCiAgIHN0cmljdCBtb2Rl
OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIGJ1dCBnb3QgYSBSZWZlcmVu
Y2VFcnJvcicKK3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9wcml2YXRl
ZmllbGRnZXQtcHJpbWl0aXZlLXJlY2VpdmVyLmpzOgorICBkZWZhdWx0OiAnQmFkIGV4aXQgY29k
ZTogNScKKyAgc3RyaWN0IG1vZGU6ICdCYWQgZXhpdCBjb2RlOiA1JwordGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL3ByaXZhdGVmaWVsZHB1dC1wcmltaXRpdmUtcmVjZWl2
ZXIuanM6CisgIGRlZmF1bHQ6ICdCYWQgZXhpdCBjb2RlOiA1JworICBzdHJpY3QgbW9kZTogJ0Jh
ZCBleGl0IGNvZGU6IDUnCit0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZ2VuLW1ldGhv
ZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1nZW4tbWV0aC1zdGF0aWMtZm9yYmlk
ZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qczoKKyAgZGVmYXVs
dDogJ1R5cGVFcnJvcjogRnVuY3Rpb24uY2FsbGVyIHVzZWQgdG8gcmV0cmlldmUgZ2VuZXJhdG9y
IGJvZHknCit0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZ2VuLW1ldGhvZC1zdGF0aWMv
Zm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1nZW4tbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1p
bmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzOgorICBkZWZhdWx0OiAnVHlw
ZUVycm9yOiBGdW5jdGlvbi5jYWxsZXIgdXNlZCB0byByZXRyaWV2ZSBnZW5lcmF0b3IgYm9keScK
K3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9nZW4tbWV0aG9kLXN0YXRpYy9mb3JiaWRk
ZW4tZXh0L2IyL2Nscy1kZWNsLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0
LWFjY2Vzcy1wcm9wLWNhbGxlci5qczoKKyAgZGVmYXVsdDogJ1R5cGVFcnJvcjogRnVuY3Rpb24u
Y2FsbGVyIHVzZWQgdG8gcmV0cmlldmUgZ2VuZXJhdG9yIGJvZHknCit0ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvZ2VuLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWdlbi1t
ZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanM6
CisgIGRlZmF1bHQ6ICdUeXBlRXJyb3I6IEZ1bmN0aW9uLmNhbGxlciB1c2VkIHRvIHJldHJpZXZl
IGdlbmVyYXRvciBib2R5JwordGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2dlbi1tZXRo
b2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWluZGly
ZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanM6CisgIGRlZmF1bHQ6ICdUeXBlRXJy
b3I6IEZ1bmN0aW9uLmNhbGxlciB1c2VkIHRvIHJldHJpZXZlIGdlbmVyYXRvciBib2R5JwordGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2dlbi1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9j
bHMtZGVjbC1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxl
ci5qczoKKyAgZGVmYXVsdDogJ1R5cGVFcnJvcjogRnVuY3Rpb24uY2FsbGVyIHVzZWQgdG8gcmV0
cmlldmUgZ2VuZXJhdG9yIGJvZHknCiB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvaWRl
bnQtbmFtZS1tZXRob2QtZGVmLWJyZWFrLWVzY2FwZWQuanM6CiAgIGRlZmF1bHQ6ICJTeW50YXhF
cnJvcjogVW5leHBlY3RlZCBlc2NhcGVkIGNoYXJhY3RlcnMgaW4ga2V5d29yZCB0b2tlbjogJ2Jy
ZVxcdTAwNjFrJyIKICAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBlc2Nh
cGVkIGNoYXJhY3RlcnMgaW4ga2V5d29yZCB0b2tlbjogJ2JyZVxcdTAwNjFrJyIKQEAgLTM0MTEs
MTUgKzMxNDEsMTggQEAgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2lkZW50LW5hbWUt
bWV0aG9kLWRlZi13aGlsZS1lc2NhcGVkLmpzOgogdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2lkZW50LW5hbWUtbWV0aG9kLWRlZi13aXRoLWVzY2FwZWQuanM6CiAgIGRlZmF1bHQ6ICJT
eW50YXhFcnJvcjogVW5leHBlY3RlZCBlc2NhcGVkIGNoYXJhY3RlcnMgaW4ga2V5d29yZCB0b2tl
bjogJ3dcXHUwMDY5dGgnIgogICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVk
IGVzY2FwZWQgY2hhcmFjdGVycyBpbiBrZXl3b3JkIHRva2VuOiAnd1xcdTAwNjl0aCciCi10ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mvc3ViY2xhc3MtYnVpbHRpbnMvc3ViY2xhc3MtQmln
SW50NjRBcnJheS5qczoKLSAgZGVmYXVsdDogIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBCaWdJbnQ2NEFycmF5IgotICBzdHJpY3QgbW9kZTogIlJlZmVyZW5jZUVycm9yOiBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBCaWdJbnQ2NEFycmF5IgotdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL3N1YmNsYXNzLWJ1aWx0aW5zL3N1YmNsYXNzLUJpZ1VpbnQ2NEFycmF5LmpzOgot
ICBkZWZhdWx0OiAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEJpZ1VpbnQ2
NEFycmF5IgotICBzdHJpY3QgbW9kZTogIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBCaWdVaW50NjRBcnJheSIKLXRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9zdWJj
bGFzcy1idWlsdGlucy9zdWJjbGFzcy1XZWFrUmVmLmpzOgotICBkZWZhdWx0OiAnVHlwZUVycm9y
OiBGaXJzdCBhcmd1bWVudCB0byBXZWFrUmVmIHNob3VsZCBiZSBhbiBvYmplY3QnCi0gIHN0cmlj
dCBtb2RlOiAnVHlwZUVycm9yOiBGaXJzdCBhcmd1bWVudCB0byBXZWFrUmVmIHNob3VsZCBiZSBh
biBvYmplY3QnCit0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvbWV0aG9kLXN0YXRpYy9m
b3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJl
Y3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanM6CisgIGRlZmF1bHQ6ICdUeXBlRXJyb3I6
IEZ1bmN0aW9uLmNhbGxlciB1c2VkIHRvIHJldHJpZXZlIHN0cmljdCBjYWxsZXInCit0ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Ns
cy1kZWNsLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9w
LWNhbGxlci12YWx1ZS5qczoKKyAgZGVmYXVsdDogJ1R5cGVFcnJvcjogRnVuY3Rpb24uY2FsbGVy
IHVzZWQgdG8gcmV0cmlldmUgc3RyaWN0IGNhbGxlcicKK3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wtbWV0aC1zdGF0
aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanM6CisgIGRlZmF1
bHQ6ICdUeXBlRXJyb3I6IEZ1bmN0aW9uLmNhbGxlciB1c2VkIHRvIHJldHJpZXZlIHN0cmljdCBj
YWxsZXInCit0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvbWV0aG9kL2ZvcmJpZGRlbi1l
eHQvYjIvY2xzLWRlY2wtbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJv
cC1jYWxsZXItZ2V0LmpzOgorICBkZWZhdWx0OiAnVHlwZUVycm9yOiBGdW5jdGlvbi5jYWxsZXIg
dXNlZCB0byByZXRyaWV2ZSBzdHJpY3QgY2FsbGVyJwordGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL21ldGhvZC9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLW1ldGgtZm9yYmlkZGVuLWV4
dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzOgorICBkZWZhdWx0OiAn
VHlwZUVycm9yOiBGdW5jdGlvbi5jYWxsZXIgdXNlZCB0byByZXRyaWV2ZSBzdHJpY3QgY2FsbGVy
JwordGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL21ldGhvZC9mb3JiaWRkZW4tZXh0L2Iy
L2Nscy1kZWNsLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIu
anM6CisgIGRlZmF1bHQ6ICdUeXBlRXJyb3I6IEZ1bmN0aW9uLmNhbGxlciB1c2VkIHRvIHJldHJp
ZXZlIHN0cmljdCBjYWxsZXInCiB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mvc3ViY2xh
c3MvYnVpbHRpbi1vYmplY3RzL0FycmF5QnVmZmVyL3JlZ3VsYXItc3ViY2xhc3NpbmcuanM6CiAg
IGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZScKICAg
c3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIHRydWUgYnV0IGdvdCBmYWxzZScK
QEAgLTM1NTEsMTIgKzMyODQsMjQgQEAgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci9zY29w
ZS1ib2R5LWxleC1vcGVuLmpzOgogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0
ZWQgU2FtZVZhbHVlKMKraW5zaWRlwrssIMKrb3V0c2lkZcK7KSB0byBiZSB0cnVlJwogdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2V2YWwtdmFyLXNjb3BlLXN5bnRheC1lcnIuanM6
CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgU3ludGF4RXJyb3IgdG8gYmUg
dGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCit0ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9mdW5jLWRlY2wtZm9yYmlkZGVu
LWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qczoKKyAgZGVmYXVsdDog
J1R5cGVFcnJvcjogRnVuY3Rpb24uY2FsbGVyIHVzZWQgdG8gcmV0cmlldmUgc3RyaWN0IGNhbGxl
cicKK3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2Z1
bmMtZGVjbC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFs
dWUuanM6CisgIGRlZmF1bHQ6ICdUeXBlRXJyb3I6IEZ1bmN0aW9uLmNhbGxlciB1c2VkIHRvIHJl
dHJpZXZlIHN0cmljdCBjYWxsZXInCit0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24v
Zm9yYmlkZGVuLWV4dC9iMi9mdW5jLWRlY2wtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mt
cHJvcC1jYWxsZXIuanM6CisgIGRlZmF1bHQ6ICdUeXBlRXJyb3I6IEZ1bmN0aW9uLmNhbGxlciB1
c2VkIHRvIHJldHJpZXZlIHN0cmljdCBjYWxsZXInCiB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
ZnVuY3Rpb24vc2NvcGUtYm9keS1sZXgtZGlzdGluY3QuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYy
RXJyb3I6IEV4cGVjdGVkIGEgU3ludGF4RXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRp
b24gd2FzIHRocm93biBhdCBhbGwnCiB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24v
c2NvcGUtcGFyYW0tcmVzdC1lbGVtLXZhci1vcGVuLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVy
cm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqtvdXRzaWRlwrssIMKraW5zaWRlwrspIHRvIGJlIHRy
dWUnCiB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9ycy9ldmFsLXZhci1zY29wZS1z
eW50YXgtZXJyLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBhIFN5bnRh
eEVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJwor
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvZm9yYmlkZGVuLWV4dC9iMi9nZW4t
ZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1n
ZXQuanM6CisgIGRlZmF1bHQ6ICdUeXBlRXJyb3I6IEZ1bmN0aW9uLmNhbGxlciB1c2VkIHRvIHJl
dHJpZXZlIGdlbmVyYXRvciBib2R5JwordGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRv
cnMvZm9yYmlkZGVuLWV4dC9iMi9nZW4tZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtaW5kaXJlY3Qt
YWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5qczoKKyAgZGVmYXVsdDogJ1R5cGVFcnJvcjog
RnVuY3Rpb24uY2FsbGVyIHVzZWQgdG8gcmV0cmlldmUgZ2VuZXJhdG9yIGJvZHknCit0ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9ycy9mb3JiaWRkZW4tZXh0L2IyL2dlbi1mdW5jLWRl
Y2wtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanM6CisgIGRlZmF1
bHQ6ICdUeXBlRXJyb3I6IEZ1bmN0aW9uLmNhbGxlciB1c2VkIHRvIHJldHJpZXZlIGdlbmVyYXRv
ciBib2R5JwogdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvZ2VuZXJhdG9yLWNy
ZWF0ZWQtYWZ0ZXItZGVjbC1pbnN0LmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVycm9yOiBFeHBl
Y3RlZCBTYW1lVmFsdWUowqtbb2JqZWN0IEdlbmVyYXRvcl3Cuywgwqtbb2JqZWN0IEdlbmVyYXRv
cl3CuykgdG8gYmUgZmFsc2UnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3Rl
ZCBTYW1lVmFsdWUowqtbb2JqZWN0IEdlbmVyYXRvcl3Cuywgwqtbb2JqZWN0IEdlbmVyYXRvcl3C
uykgdG8gYmUgZmFsc2UnCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvaGFybmVzcy9hdG9t
aWNzSGVscGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL2hhcm5lc3MvYXRvbWljc0hlbHBlci5qcwpp
bmRleCAxZGJmZjVkNGE4OGRiZjFhODc3MjUzY2JiMTYxODFiNDI2NzE0OWQ1Li5jMWU2OTJiOGU5
NjhjODY3MDYzNzY5MTJkZjZiOWYyMDY3YmE3YzZjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvaGFybmVzcy9hdG9taWNzSGVscGVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi9oYXJuZXNz
L2F0b21pY3NIZWxwZXIuanMKQEAgLTU0LDYgKzU0LDggQEAgZGVmaW5lczoKICAgICB9KSh0aGlz
KTsKICAgfQogCisgICQyNjIuYWdlbnQuc2V0VGltZW91dCA9IHNldFRpbWVvdXQ7CisKICAgJDI2
Mi5hZ2VudC5nZXRSZXBvcnRBc3luYyA9IGZ1bmN0aW9uKCkgewogICAgIHJldHVybiBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlKSB7CiAgICAgICAoZnVuY3Rpb24gbG9vcCgpIHsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi9oYXJuZXNzL2hpZGRlbi1jb25zdHJ1Y3RvcnMuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvaGFybmVzcy9oaWRkZW4tY29uc3RydWN0b3JzLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEyNGNhMTliYjdmZDhiZDZlOTAzMTJkNGViMThlMjhmNzZkOTU3ZGQKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvaGFybmVzcy9oaWRkZW4tY29uc3RydWN0b3JzLmpzCkBAIC0w
LDAgKzEsMTcgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitkZXNjcmlwdGlvbjogfAorICBQ
cm92aWRlcyB1bmlmb3JtIGFjY2VzcyB0byBidWlsdC1pbiBjb25zdHJ1Y3RvcnMgdGhhdCBhcmUg
bm90IGV4cG9zZWQgdG8gdGhlIGdsb2JhbCBvYmplY3QuCitkZWZpbmVzOgorICAtIEFzeW5jQXJy
b3dGdW5jdGlvbgorICAtIEFzeW5jRnVuY3Rpb24KKyAgLSBBc3luY0dlbmVyYXRvckZ1bmN0aW9u
CisgIC0gR2VuZXJhdG9yRnVuY3Rpb24KKy0tLSovCisKK3ZhciBBc3luY0Fycm93RnVuY3Rpb24g
PSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoYXN5bmMgKCkgPT4ge30pLmNvbnN0cnVjdG9yOwordmFy
IEFzeW5jRnVuY3Rpb24gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoYXN5bmMgZnVuY3Rpb24gKCkg
e30pLmNvbnN0cnVjdG9yOwordmFyIEFzeW5jR2VuZXJhdG9yRnVuY3Rpb24gPSBPYmplY3QuZ2V0
UHJvdG90eXBlT2YoYXN5bmMgZnVuY3Rpb24qICgpIHt9KS5jb25zdHJ1Y3RvcjsKK3ZhciBHZW5l
cmF0b3JGdW5jdGlvbiA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihmdW5jdGlvbiogKCkge30pLmNv
bnN0cnVjdG9yOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL2xhdGVzdC1jaGFuZ2VzLXN1
bW1hcnkudHh0IGIvSlNUZXN0cy90ZXN0MjYyL2xhdGVzdC1jaGFuZ2VzLXN1bW1hcnkudHh0Cmlu
ZGV4IGE0NDI0MmEwMjc2OThhNmIxMTE2MmRkZjIxMzZhMDE0NGQ5N2U3NTkuLjVkZjg3Y2I2YzYy
YTI2ODE0N2I5ZWI4MjUzOGRhYzliZWUxYjVjYTUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi9sYXRlc3QtY2hhbmdlcy1zdW1tYXJ5LnR4dAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvbGF0ZXN0
LWNoYW5nZXMtc3VtbWFyeS50eHQKQEAgLTEsOTYxICsxLDEzMzMgQEAKLUEgdGVzdC9idWlsdC1p
bnMvQXJyYXkvcHJvdG90eXBlL2NvbmNhdC9jYWxsLXdpdGgtYm9vbGVhbi5qcwotQSB0ZXN0L2J1
aWx0LWlucy9BcnJheS9wcm90b3R5cGUvY29weVdpdGhpbi9jYWxsLXdpdGgtYm9vbGVhbi5qcwot
QSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvZXZlcnkvY2FsbC13aXRoLWJvb2xlYW4u
anMKLUEgdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2ZpbGwvY2FsbC13aXRoLWJvb2xl
YW4uanMKLUEgdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2ZpbHRlci9jYWxsLXdpdGgt
Ym9vbGVhbi5qcwotQSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvZmluZC9jYWxsLXdp
dGgtYm9vbGVhbi5qcwotQSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvZmluZEluZGV4
L2NhbGwtd2l0aC1ib29sZWFuLmpzCi1BIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9m
bGF0L2NhbGwtd2l0aC1ib29sZWFuLmpzCi1BIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlw
ZS9mbGF0TWFwL2NhbGwtd2l0aC1ib29sZWFuLmpzCi1BIHRlc3QvYnVpbHQtaW5zL0FycmF5L3By
b3RvdHlwZS9mb3JFYWNoL2NhbGwtd2l0aC1ib29sZWFuLmpzCi1BIHRlc3QvYnVpbHQtaW5zL0Fy
cmF5L3Byb3RvdHlwZS9pbmNsdWRlcy9jYWxsLXdpdGgtYm9vbGVhbi5qcwotQSB0ZXN0L2J1aWx0
LWlucy9BcnJheS9wcm90b3R5cGUvaW5kZXhPZi9jYWxsLXdpdGgtYm9vbGVhbi5qcwotQSB0ZXN0
L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvaXRlbS9pbmRleC1hcmd1bWVudC10b2ludGVnZXIu
anMKLUEgdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2l0ZW0vaW5kZXgtbm9uLW51bWVy
aWMtYXJndW1lbnQtdG9pbnRlZ2VyLWludmFsaWQuanMKLUEgdGVzdC9idWlsdC1pbnMvQXJyYXkv
cHJvdG90eXBlL2l0ZW0vaW5kZXgtbm9uLW51bWVyaWMtYXJndW1lbnQtdG9pbnRlZ2VyLmpzCi1B
IHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9pdGVtL2xlbmd0aC5qcwotQSB0ZXN0L2J1
aWx0LWlucy9BcnJheS9wcm90b3R5cGUvaXRlbS9uYW1lLmpzCi1BIHRlc3QvYnVpbHQtaW5zL0Fy
cmF5L3Byb3RvdHlwZS9pdGVtL3Byb3AtZGVzYy5qcwotQSB0ZXN0L2J1aWx0LWlucy9BcnJheS9w
cm90b3R5cGUvaXRlbS9yZXR1cm4tYWJydXB0LWZyb20tdGhpcy5qcwotQSB0ZXN0L2J1aWx0LWlu
cy9BcnJheS9wcm90b3R5cGUvaXRlbS9yZXR1cm5zLWl0ZW0tcmVsYXRpdmUtaW5kZXguanMKLUEg
dGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2l0ZW0vcmV0dXJucy1pdGVtLmpzCi1BIHRl
c3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9pdGVtL3JldHVybnMtdW5kZWZpbmVkLWZvci1o
b2xlcy1pbi1zcGFyc2UtYXJyYXlzLmpzCi1BIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlw
ZS9pdGVtL3JldHVybnMtdW5kZWZpbmVkLWZvci1vdXQtb2YtcmFuZ2UtaW5kZXguanMKLUEgdGVz
dC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2pvaW4vY2FsbC13aXRoLWJvb2xlYW4uanMKLUEg
dGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2xhc3RJbmRleE9mL2NhbGwtd2l0aC1ib29s
ZWFuLmpzCi1BIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9tYXAvY2FsbC13aXRoLWJv
b2xlYW4uanMKLUEgdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3BvcC9jYWxsLXdpdGgt
Ym9vbGVhbi5qcwotQSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvcHVzaC9jYWxsLXdp
dGgtYm9vbGVhbi5qcwotQSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvcmVkdWNlL2Nh
bGwtd2l0aC1ib29sZWFuLmpzCi1BIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9yZWR1
Y2VSaWdodC9jYWxsLXdpdGgtYm9vbGVhbi5qcwotQSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90
b3R5cGUvcmV2ZXJzZS9jYWxsLXdpdGgtYm9vbGVhbi5qcwotQSB0ZXN0L2J1aWx0LWlucy9BcnJh
eS9wcm90b3R5cGUvc2hpZnQvY2FsbC13aXRoLWJvb2xlYW4uanMKLUEgdGVzdC9idWlsdC1pbnMv
QXJyYXkvcHJvdG90eXBlL3NsaWNlL2NhbGwtd2l0aC1ib29sZWFuLmpzCi1BIHRlc3QvYnVpbHQt
aW5zL0FycmF5L3Byb3RvdHlwZS9zb21lL2NhbGwtd2l0aC1ib29sZWFuLmpzCi1BIHRlc3QvYnVp
bHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zcGxpY2UvY2FsbC13aXRoLWJvb2xlYW4uanMKLUEgdGVz
dC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3RvU3RyaW5nL2NhbGwtd2l0aC1ib29sZWFuLmpz
Ci1BIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS91bnNoaWZ0L2NhbGwtd2l0aC1ib29s
ZWFuLmpzCi1NIHRlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L2N1c3RvbS1wcm90by1hY2Nlc3MtZGV0
YWNoZXMtYnVmZmVyLmpzCi1BIHRlc3QvYnVpbHQtaW5zL0RhdGUvVVRDL2ZwLWV2YWx1YXRpb24t
b3JkZXIuanMKLUEgdGVzdC9idWlsdC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5TmFtZXMvbm9u
LW9iamVjdC1hcmd1bWVudC1pbnZhbGlkLmpzCi1BIHRlc3QvYnVpbHQtaW5zL09iamVjdC9nZXRP
d25Qcm9wZXJ0eU5hbWVzL25vbi1vYmplY3QtYXJndW1lbnQtdmFsaWQuanMKLUEgdGVzdC9idWls
dC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5U3ltYm9scy9ub24tb2JqZWN0LWFyZ3VtZW50LWlu
dmFsaWQuanMKLUEgdGVzdC9idWlsdC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5U3ltYm9scy9u
b24tb2JqZWN0LWFyZ3VtZW50LXZhbGlkLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90
b3R5cGUvaXRlbS9pbmRleC1hcmd1bWVudC10b2ludGVnZXIuanMKLUEgdGVzdC9idWlsdC1pbnMv
U3RyaW5nL3Byb3RvdHlwZS9pdGVtL2luZGV4LW5vbi1udW1lcmljLWFyZ3VtZW50LXRvaW50ZWdl
ci1pbnZhbGlkLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvaXRlbS9pbmRl
eC1ub24tbnVtZXJpYy1hcmd1bWVudC10b2ludGVnZXIuanMKLUEgdGVzdC9idWlsdC1pbnMvU3Ry
aW5nL3Byb3RvdHlwZS9pdGVtL2xlbmd0aC5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL2l0ZW0vbmFtZS5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL2l0
ZW0vcHJvcC1kZXNjLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvaXRlbS9y
ZXR1cm4tYWJydXB0LWZyb20tdGhpcy5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90
eXBlL2l0ZW0vcmV0dXJucy1jb2RlLXVuaXQuanMKLUEgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3By
b3RvdHlwZS9pdGVtL3JldHVybnMtaXRlbS1yZWxhdGl2ZS1pbmRleC5qcwotQSB0ZXN0L2J1aWx0
LWlucy9TdHJpbmcvcHJvdG90eXBlL2l0ZW0vcmV0dXJucy1pdGVtLmpzCi1BIHRlc3QvYnVpbHQt
aW5zL1N0cmluZy9wcm90b3R5cGUvaXRlbS9yZXR1cm5zLXVuZGVmaW5lZC1mb3Itb3V0LW9mLXJh
bmdlLWluZGV4LmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZS9y
ZXBsYWNlVmFsdWUtZXZhbHVhdGlvbi1vcmRlci1yZWdleHAtb2JqZWN0LmpzCi1EIHRlc3QvYnVp
bHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9BMTAuanMKLUQgdGVzdC9i
dWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40LjE0X0ExMS5qcwotRCB0ZXN0
L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L1MxNS41LjQuMTRfQTFfVDEuanMKLUQg
dGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40LjE0X0ExX1QxMC5q
cwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L1MxNS41LjQuMTRfQTFf
VDExLmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1LjUuNC4x
NF9BMV9UMTIuanMKLUQgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUu
NS40LjE0X0ExX1QxMy5qcwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0
L1MxNS41LjQuMTRfQTFfVDE0LmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUv
c3BsaXQvUzE1LjUuNC4xNF9BMV9UMTUuanMKLUQgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3Rv
dHlwZS9zcGxpdC9TMTUuNS40LjE0X0ExX1QxNi5qcwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcv
cHJvdG90eXBlL3NwbGl0L1MxNS41LjQuMTRfQTFfVDE3LmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0
cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9BMV9UMTguanMKLUQgdGVzdC9idWlsdC1p
bnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40LjE0X0ExX1QyLmpzCi1EIHRlc3QvYnVp
bHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9BMV9UMy5qcwotRCB0ZXN0
L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L1MxNS41LjQuMTRfQTFfVDQuanMKLUQg
dGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40LjE0X0ExX1Q1Lmpz
Ci1EIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9BMV9U
Ny5qcwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L1MxNS41LjQuMTRf
QTFfVDguanMKLUQgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40
LjE0X0ExX1Q5LmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1
LjUuNC4xNF9BMl9UMS5qcwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0
L1MxNS41LjQuMTRfQTJfVDEwLmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUv
c3BsaXQvUzE1LjUuNC4xNF9BMl9UMTEuanMKLUQgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3Rv
dHlwZS9zcGxpdC9TMTUuNS40LjE0X0EyX1QxMi5qcwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcv
cHJvdG90eXBlL3NwbGl0L1MxNS41LjQuMTRfQTJfVDEzLmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0
cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9BMl9UMTQuanMKLUQgdGVzdC9idWlsdC1p
bnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40LjE0X0EyX1QxNS5qcwotRCB0ZXN0L2J1
aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L1MxNS41LjQuMTRfQTJfVDE2LmpzCi1EIHRl
c3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9BMl9UMTcuanMK
LUQgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40LjE0X0EyX1Qx
OC5qcwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L1MxNS41LjQuMTRf
QTJfVDE5LmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1LjUu
NC4xNF9BMl9UMi5qcwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L1Mx
NS41LjQuMTRfQTJfVDIwLmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3Bs
aXQvUzE1LjUuNC4xNF9BMl9UMjEuanMKLUQgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlw
ZS9zcGxpdC9TMTUuNS40LjE0X0EyX1QyMi5qcwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL3NwbGl0L1MxNS41LjQuMTRfQTJfVDIzLmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0cmlu
Zy9wcm90b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9BMl9UMjQuanMKLUQgdGVzdC9idWlsdC1pbnMv
U3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40LjE0X0EyX1QyNS5qcwotRCB0ZXN0L2J1aWx0
LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L1MxNS41LjQuMTRfQTJfVDI2LmpzCi1EIHRlc3Qv
YnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9BMl9UMjcuanMKLUQg
dGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40LjE0X0EyX1QyOC5q
cwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L1MxNS41LjQuMTRfQTJf
VDI5LmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1LjUuNC4x
NF9BMl9UMy5qcwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L1MxNS41
LjQuMTRfQTJfVDMwLmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQv
UzE1LjUuNC4xNF9BMl9UMzEuanMKLUQgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9z
cGxpdC9TMTUuNS40LjE0X0EyX1QzMi5qcwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90
eXBlL3NwbGl0L1MxNS41LjQuMTRfQTJfVDMzLmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9w
cm90b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9BMl9UMzQuanMKLUQgdGVzdC9idWlsdC1pbnMvU3Ry
aW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40LjE0X0EyX1QzNS5qcwotRCB0ZXN0L2J1aWx0LWlu
cy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L1MxNS41LjQuMTRfQTJfVDM2LmpzCi1EIHRlc3QvYnVp
bHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9BMl9UMzcuanMKLUQgdGVz
dC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40LjE0X0EyX1QzOC5qcwot
RCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L1MxNS41LjQuMTRfQTJfVDM5
LmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9B
Ml9UNC5qcwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L1MxNS41LjQu
MTRfQTJfVDQwLmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1
LjUuNC4xNF9BMl9UNDEuanMKLUQgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxp
dC9TMTUuNS40LjE0X0EyX1Q0Mi5qcwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBl
L3NwbGl0L1MxNS41LjQuMTRfQTJfVDQzLmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90
b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9BMl9UNS5qcwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcv
cHJvdG90eXBlL3NwbGl0L1MxNS41LjQuMTRfQTJfVDYuanMKLUQgdGVzdC9idWlsdC1pbnMvU3Ry
aW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40LjE0X0EyX1Q3LmpzCi1EIHRlc3QvYnVpbHQtaW5z
L1N0cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9BMl9UOC5qcwotRCB0ZXN0L2J1aWx0
LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L1MxNS41LjQuMTRfQTJfVDkuanMKLUQgdGVzdC9i
dWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40LjE0X0EzX1QxLmpzCi1EIHRl
c3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9BM19UMTAuanMK
LUQgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40LjE0X0EzX1Qx
MS5qcwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L1MxNS41LjQuMTRf
QTNfVDIuanMKLUQgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40
LjE0X0EzX1QzLmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1
LjUuNC4xNF9BM19UNC5qcwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0
L1MxNS41LjQuMTRfQTNfVDUuanMKLUQgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9z
cGxpdC9TMTUuNS40LjE0X0EzX1Q2LmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5
cGUvc3BsaXQvUzE1LjUuNC4xNF9BM19UNy5qcwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL3NwbGl0L1MxNS41LjQuMTRfQTNfVDguanMKLUQgdGVzdC9idWlsdC1pbnMvU3RyaW5n
L3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40LjE0X0EzX1Q5LmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0
cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9BNF9UMS5qcwotRCB0ZXN0L2J1aWx0LWlu
cy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L1MxNS41LjQuMTRfQTRfVDEwLmpzCi1EIHRlc3QvYnVp
bHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9BNF9UMTEuanMKLUQgdGVz
dC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40LjE0X0E0X1QxMi5qcwot
RCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L1MxNS41LjQuMTRfQTRfVDEz
LmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9B
NF9UMTQuanMKLUQgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40
LjE0X0E0X1QxNS5qcwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L1Mx
NS41LjQuMTRfQTRfVDE2LmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3Bs
aXQvUzE1LjUuNC4xNF9BNF9UMTcuanMKLUQgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlw
ZS9zcGxpdC9TMTUuNS40LjE0X0E0X1QxOC5qcwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL3NwbGl0L1MxNS41LjQuMTRfQTRfVDE5LmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0cmlu
Zy9wcm90b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9BNF9UMi5qcwotRCB0ZXN0L2J1aWx0LWlucy9T
dHJpbmcvcHJvdG90eXBlL3NwbGl0L1MxNS41LjQuMTRfQTRfVDIwLmpzCi1EIHRlc3QvYnVpbHQt
aW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9BNF9UMjEuanMKLUQgdGVzdC9i
dWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40LjE0X0E0X1QyMi5qcwotRCB0
ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L1MxNS41LjQuMTRfQTRfVDIzLmpz
Ci1EIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9BNF9U
MjQuanMKLUQgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40LjE0
X0E0X1QyNS5qcwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L1MxNS41
LjQuMTRfQTRfVDMuanMKLUQgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9T
MTUuNS40LjE0X0E0X1Q0LmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3Bs
aXQvUzE1LjUuNC4xNF9BNF9UNS5qcwotRCB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBl
L3NwbGl0L1MxNS41LjQuMTRfQTRfVDYuanMKLUQgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3Rv
dHlwZS9zcGxpdC9TMTUuNS40LjE0X0E0X1Q3LmpzCi1EIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9w
cm90b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9BNF9UOC5qcwotRCB0ZXN0L2J1aWx0LWlucy9TdHJp
bmcvcHJvdG90eXBlL3NwbGl0L1MxNS41LjQuMTRfQTRfVDkuanMKLUQgdGVzdC9idWlsdC1pbnMv
U3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40LjE0X0E2LmpzCi1EIHRlc3QvYnVpbHQtaW5z
L1N0cmluZy9wcm90b3R5cGUvc3BsaXQvUzE1LjUuNC4xNF9BNy5qcwotRCB0ZXN0L2J1aWx0LWlu
cy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L1MxNS41LjQuMTRfQTguanMKLUQgdGVzdC9idWlsdC1p
bnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9TMTUuNS40LjE0X0E5LmpzCi1BIHRlc3QvYnVpbHQt
aW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvYXJndW1lbnQtaXMtZnVuY3Rpb24tYW5kLWluc3Rh
bmNlLWlzLXN0cmluZy1vYmplY3Qtb2JqZWN0LWhhdmUtb3ZlcnJpZGVkLXRvLXN0cmluZy1hbmQt
dmFsdWUtb2YtZnVuY3Rpb25zLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUv
c3BsaXQvYXJndW1lbnQtaXMtbmV3LXJlZy1leHAtYW5kLWluc3RhbmNlLWlzLXN0cmluZy1oZWxs
by5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2FyZ3VtZW50LWlz
LW51bGwtYW5kLWluc3RhbmNlLWlzLWZ1bmN0aW9uLWNhbGwtdGhhdC1yZXR1cm5lZC1zdHJpbmcu
anMKLUEgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9hcmd1bWVudC1pcy1v
YmplY3QtYW5kLWluc3RhbmNlLWlzLW51bWJlci1vYmplY3QtaGF2ZS1vdmVycmlkZWQtdG8tc3Ry
aW5nLWZ1bmN0aW9uLXRoYXQtcmV0dXJuLXJlZ2V4cC5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJp
bmcvcHJvdG90eXBlL3NwbGl0L2FyZ3VtZW50LWlzLXJlZy1leHAtYS16LWFuZC1pbnN0YW5jZS1p
cy1zdHJpbmctYWJjLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQv
YXJndW1lbnQtaXMtcmVnZXhwLWEtei1hbmQtaW5zdGFuY2UtaXMtc3RyaW5nLWFiYy5qcwotQSB0
ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2FyZ3VtZW50LWlzLXJlZ2V4cC1h
bmQtaW5zdGFuY2UtaXMtbnVtYmVyLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5
cGUvc3BsaXQvYXJndW1lbnQtaXMtcmVnZXhwLWQtYW5kLWluc3RhbmNlLWlzLXN0cmluZy1kZmUy
M2l1LTM0LTY1LmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvYXJn
dW1lbnQtaXMtcmVnZXhwLWwtYW5kLWluc3RhbmNlLWlzLXN0cmluZy1oZWxsby5qcwotQSB0ZXN0
L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2FyZ3VtZW50LWlzLXJlZ2V4cC1yZWct
ZXhwLWQtYW5kLWluc3RhbmNlLWlzLXN0cmluZy1kZmUyM2l1LTM0LTY1LmpzCi1BIHRlc3QvYnVp
bHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvYXJndW1lbnQtaXMtcmVnZXhwLXMtYW5kLWlu
c3RhbmNlLWlzLXN0cmluZy1hLWItYy1kZS1mLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9w
cm90b3R5cGUvc3BsaXQvYXJndW1lbnQtaXMtcmVnZXhwLXgtYW5kLWluc3RhbmNlLWlzLXN0cmlu
Zy1hLWItYy1kZS1mLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQv
YXJndW1lbnQtaXMtdW5kZWZpbmVkLWFuZC1pbnN0YW5jZS1pcy1zdHJpbmcuanMKLUEgdGVzdC9i
dWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9hcmd1bWVudC1pcy12b2lkLTAtYW5kLWlu
c3RhbmNlLWlzLXN0cmluZy1vYmplY3Qtb2JqZWN0LWhhdmUtb3ZlcnJpZGVkLXRvLXN0cmluZy1m
dW5jdGlvbi5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2FyZ3Vt
ZW50cy1hcmUtYm9vbGVhbi1leHByZXNzaW9uLWZ1bmN0aW9uLWNhbGwtYW5kLW51bGwtYW5kLWlu
c3RhbmNlLWlzLWJvb2xlYW4uanMKLUEgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9z
cGxpdC9hcmd1bWVudHMtYXJlLWZhbHNlLWFuZC10cnVlLWFuZC1pbnN0YW5jZS1pcy1vYmplY3Qu
anMKLUEgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9hcmd1bWVudHMtYXJl
LW5ldy1yZWctZXhwLWFuZC0wLWFuZC1pbnN0YW5jZS1pcy1zdHJpbmctaGVsbG8uanMKLUEgdGVz
dC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9hcmd1bWVudHMtYXJlLW5ldy1yZWct
ZXhwLWFuZC0xLWFuZC1pbnN0YW5jZS1pcy1zdHJpbmctaGVsbG8uanMKLUEgdGVzdC9idWlsdC1p
bnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9hcmd1bWVudHMtYXJlLW5ldy1yZWctZXhwLWFuZC0y
LWFuZC1pbnN0YW5jZS1pcy1zdHJpbmctaGVsbG8uanMKLUEgdGVzdC9idWlsdC1pbnMvU3RyaW5n
L3Byb3RvdHlwZS9zcGxpdC9hcmd1bWVudHMtYXJlLW5ldy1yZWctZXhwLWFuZC0zLWFuZC1pbnN0
YW5jZS1pcy1zdHJpbmctaGVsbG8uanMKLUEgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlw
ZS9zcGxpdC9hcmd1bWVudHMtYXJlLW5ldy1yZWctZXhwLWFuZC00LWFuZC1pbnN0YW5jZS1pcy1z
dHJpbmctaGVsbG8uanMKLUEgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9h
cmd1bWVudHMtYXJlLW5ldy1yZWctZXhwLWFuZC1oaS1hbmQtaW5zdGFuY2UtaXMtc3RyaW5nLWhl
bGxvLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvYXJndW1lbnRz
LWFyZS1uZXctcmVnLWV4cC1hbmQtdW5kZWZpbmVkLWFuZC1pbnN0YW5jZS1pcy1zdHJpbmctaGVs
bG8uanMKLUEgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9hcmd1bWVudHMt
YXJlLW5ldy1yZWctZXhwLWFuZC12b2lkLTAtYW5kLWluc3RhbmNlLWlzLXN0cmluZy1oZWxsby5q
cwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2FyZ3VtZW50cy1hcmUt
b2JqZWN0cy1hbmQtaW5zdGFuY2UtaXMtc3RyaW5nLWZpcnN0LW9iamVjdC1oYXZlLW92ZXJyaWRl
ZC10by1zdHJpbmctZnVuY3Rpb24tYW5kLXZhbHVlLW9mLWZ1bmN0aW9uLXRoYXQtdGhyb3ctZXhj
ZXB0aW9uLXNlY29uZC1vYmplY3QtaGF2ZS1vdmVycmlkZWQtdmFsdWUtb2YtZnVuY3Rpb24tdGhh
dC10aHJvdy1leGNlcHRpb24uanMKLUEgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9z
cGxpdC9hcmd1bWVudHMtYXJlLW9iamVjdHMtYW5kLWluc3RhbmNlLWlzLXN0cmluZy1maXJzdC1v
YmplY3QtaGF2ZS1vdmVycmlkZWQtdG8tc3RyaW5nLWZ1bmN0aW9uLXNlY29uZC1vYmplY3QtaGF2
ZS1vdmVycmlkZWQtdmFsdWUtb2YtYW5kLXRvLXN0cmluZy1mdW5jdGlvbnMuanMKLUEgdGVzdC9i
dWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9hcmd1bWVudHMtYXJlLW9iamVjdHMtYW5k
LWluc3RhbmNlLWlzLXN0cmluZy1maXJzdC1vYmplY3QtaGF2ZS1vdmVycmlkZWQtdG8tc3RyaW5n
LWZ1bmN0aW9uLXNlY29uZC1vYmplY3QtaGF2ZS1vdmVycmlkZWQtdmFsdWUtb2YtZnVuY3Rpb24t
YW5kLXRvLXN0cmluZy1mdW5jdGlvbi10aGF0LXRocm93LWV4Y2VwdGlvbi5qcwotQSB0ZXN0L2J1
aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2FyZ3VtZW50cy1hcmUtb2JqZWN0cy1hbmQt
aW5zdGFuY2UtaXMtc3RyaW5nLWZpcnN0LW9iamVjdC1oYXZlLW92ZXJyaWRlZC10by1zdHJpbmct
ZnVuY3Rpb24tc2Vjb25kLW9iamVjdC1oYXZlLW92ZXJyaWRlZC12YWx1ZS1vZi1mdW5jdGlvbi10
aGF0LXRocm93LWV4Y2VwdGlvbi5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBl
L3NwbGl0L2FyZ3VtZW50cy1hcmUtb2JqZWN0cy1hbmQtaW5zdGFuY2UtaXMtc3RyaW5nLWZpcnN0
LW9iamVjdC1oYXZlLW92ZXJyaWRlZC10by1zdHJpbmctZnVuY3Rpb24tc2Vjb25kLW9iamVjdC1o
YXZlLW92ZXJyaWRlZC12YWx1ZS1vZi1mdW5jdGlvbi5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJp
bmcvcHJvdG90eXBlL3NwbGl0L2FyZ3VtZW50cy1hcmUtb2JqZWN0cy1hbmQtaW5zdGFuY2UtaXMt
c3RyaW5nLWZpcnN0LW9iamVjdC1oYXZlLW92ZXJyaWRlZC10by1zdHJpbmctZnVuY3Rpb24tdGhh
dC10aHJvdy1leGNlcHRpb24tc2Vjb25kLW9iamVjdC1oYXZlLW92ZXJyaWRlZC12YWx1ZS1vZi1m
dW5jdGlvbi10aGF0LXRocm93LWV4Y2VwdGlvbi5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcv
cHJvdG90eXBlL3NwbGl0L2FyZ3VtZW50cy1hcmUtcmVnZXhwLWwtYW5kLTAtYW5kLWluc3RhbmNl
LWlzLXN0cmluZy1oZWxsby5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3Nw
bGl0L2FyZ3VtZW50cy1hcmUtcmVnZXhwLWwtYW5kLTEtYW5kLWluc3RhbmNlLWlzLXN0cmluZy1o
ZWxsby5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2FyZ3VtZW50
cy1hcmUtcmVnZXhwLWwtYW5kLTItYW5kLWluc3RhbmNlLWlzLXN0cmluZy1oZWxsby5qcwotQSB0
ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2FyZ3VtZW50cy1hcmUtcmVnZXhw
LWwtYW5kLTMtYW5kLWluc3RhbmNlLWlzLXN0cmluZy1oZWxsby5qcwotQSB0ZXN0L2J1aWx0LWlu
cy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2FyZ3VtZW50cy1hcmUtcmVnZXhwLWwtYW5kLTQtYW5k
LWluc3RhbmNlLWlzLXN0cmluZy1oZWxsby5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL3NwbGl0L2FyZ3VtZW50cy1hcmUtcmVnZXhwLWwtYW5kLWhpLWFuZC1pbnN0YW5jZS1p
cy1zdHJpbmctaGVsbG8uanMKLUEgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxp
dC9hcmd1bWVudHMtYXJlLXJlZ2V4cC1sLWFuZC11bmRlZmluZWQtYW5kLWluc3RhbmNlLWlzLXN0
cmluZy1oZWxsby5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2Fy
Z3VtZW50cy1hcmUtcmVnZXhwLWwtYW5kLXZvaWQtMC1hbmQtaW5zdGFuY2UtaXMtc3RyaW5nLWhl
bGxvLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvYXJndW1lbnRz
LWFyZS1yZWdleHAtcy1hbmQtMy1hbmQtaW5zdGFuY2UtaXMtc3RyaW5nLWEtYi1jLWRlLWYuanMK
LUEgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9jYWxsLXNwbGl0LTEtMC1p
bnN0YW5jZS1pcy1udW1iZXIuanMKLUEgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9z
cGxpdC9jYWxsLXNwbGl0LTEtMS1pbnN0YW5jZS1pcy1udW1iZXIuanMKLUEgdGVzdC9idWlsdC1p
bnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9jYWxsLXNwbGl0LTEtMTAwLWluc3RhbmNlLWlzLW51
bWJlci5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2NhbGwtc3Bs
aXQtMS0yLWluc3RhbmNlLWlzLW51bWJlci5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL3NwbGl0L2NhbGwtc3BsaXQtMS1ib28taW5zdGFuY2UtaXMtbnVtYmVyLmpzCi1BIHRl
c3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvY2FsbC1zcGxpdC0xLWluc3RhbmNl
LWlzLW51bWJlci5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2Nh
bGwtc3BsaXQtMS1tYXRoLXBvdy0yLTMyLTEtaW5zdGFuY2UtaXMtbnVtYmVyLmpzCi1BIHRlc3Qv
YnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvY2FsbC1zcGxpdC0xLXZvaWQtMC1pbnN0
YW5jZS1pcy1udW1iZXIuanMKLUEgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxp
dC9jYWxsLXNwbGl0LTEyMy1pbnN0YW5jZS1pcy10aGlzMTIzaXMxMjNhMTIzc3RyaW5nMTIzb2Jq
ZWN0LmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvY2FsbC1zcGxp
dC0yLWluc3RhbmNlLWlzLXN0cmluZy1vbmUtdHdvLXRocmVlLWZvdXItZml2ZS5qcwotQSB0ZXN0
L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2NhbGwtc3BsaXQtNC1pbnN0YW5jZS1p
cy1zdHJpbmctb25lLTEtdHdvLTItZm91ci00LmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9w
cm90b3R5cGUvc3BsaXQvY2FsbC1zcGxpdC1oLWluc3RhbmNlLWlzLXN0cmluZy1oZWxsby5qcwot
QSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2NhbGwtc3BsaXQtaGVsbG8t
aW5zdGFuY2UtaXMtc3RyaW5nLWhlbGxvLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90
b3R5cGUvc3BsaXQvY2FsbC1zcGxpdC1oZWxsb3RoZXJlLWluc3RhbmNlLWlzLXN0cmluZy1oZWxs
by5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2NhbGwtc3BsaXQt
aW5zdGFuY2UtaXMtZW1wdHktc3RyaW5nLW9iamVjdC5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJp
bmcvcHJvdG90eXBlL3NwbGl0L2NhbGwtc3BsaXQtaW5zdGFuY2UtaXMtc3RyaW5nLW9uZS0xLXR3
by0yLWZvdXItNC5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2Nh
bGwtc3BsaXQtaW5zdGFuY2UtaXMtc3RyaW5nLW9uZS10d28tdGhyZWUtZm91ci1maXZlLmpzCi1B
IHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvY2FsbC1zcGxpdC1pbnN0YW5j
ZS1pcy1zdHJpbmctb25lLXR3by10aHJlZS5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL3NwbGl0L2NhbGwtc3BsaXQtaW5zdGFuY2UtaXMtc3RyaW5nLmpzCi1BIHRlc3QvYnVp
bHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvY2FsbC1zcGxpdC1sLTAtaW5zdGFuY2UtaXMt
c3RyaW5nLWhlbGxvLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQv
Y2FsbC1zcGxpdC1sLTEtaW5zdGFuY2UtaXMtc3RyaW5nLWhlbGxvLmpzCi1BIHRlc3QvYnVpbHQt
aW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvY2FsbC1zcGxpdC1sLTItaW5zdGFuY2UtaXMtc3Ry
aW5nLWhlbGxvLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvY2Fs
bC1zcGxpdC1sLTMtaW5zdGFuY2UtaXMtc3RyaW5nLWhlbGxvLmpzCi1BIHRlc3QvYnVpbHQtaW5z
L1N0cmluZy9wcm90b3R5cGUvc3BsaXQvY2FsbC1zcGxpdC1sLTQtaW5zdGFuY2UtaXMtc3RyaW5n
LWhlbGxvLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvY2FsbC1z
cGxpdC1sLWluc3RhbmNlLWlzLXN0cmluZy1oZWxsby5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJp
bmcvcHJvdG90eXBlL3NwbGl0L2NhbGwtc3BsaXQtbC1uYS1uLWluc3RhbmNlLWlzLXN0cmluZy1o
ZWxsby5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2NhbGwtc3Bs
aXQtbGwtaW5zdGFuY2UtaXMtc3RyaW5nLWhlbGxvLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmlu
Zy9wcm90b3R5cGUvc3BsaXQvY2FsbC1zcGxpdC1uZXctcmVnLWV4cC5qcwotQSB0ZXN0L2J1aWx0
LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2NhbGwtc3BsaXQtbnVsbC1pbnN0YW5jZS1pcy10
aGlzbnVsbGlzbnVsbGFudWxsc3RyaW5nbnVsbG9iamVjdC5qcwotQSB0ZXN0L2J1aWx0LWlucy9T
dHJpbmcvcHJvdG90eXBlL3NwbGl0L2NhbGwtc3BsaXQtby1pbnN0YW5jZS1pcy1zdHJpbmctaGVs
bG8uanMKLUEgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9jYWxsLXNwbGl0
LW9uLWluc3RhbmNlLWlzLXN0cmluZy1vbmUtMS10d28tMi1mb3VyLTQuanMKLUEgdGVzdC9idWls
dC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9jYWxsLXNwbGl0LXItNDItaW5zdGFuY2UtaXMt
c3RyaW5nLW9uZS0xLXR3by0yLWZvdXItNC5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL3NwbGl0L2NhbGwtc3BsaXQtdHJ1ZS1pbnN0YW5jZS1pcy10aGlzdHJ1ZWlzdHJ1ZWF0
cnVlc3RyaW5ndHJ1ZW9iamVjdC5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBl
L3NwbGl0L2NhbGwtc3BsaXQtdW5kZWZpbmVkLWluc3RhbmNlLWlzLXN0cmluZy1oZWxsby5qcwot
QSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2NhbGwtc3BsaXQtdm9pZC0w
LWluc3RhbmNlLWlzLXRoaXN1bmRlZmluZWRpc3VuZGVmaW5lZGF1bmRlZmluZWRzdHJpbmd1bmRl
ZmluZWRvYmplY3QuanMKLUEgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9j
YWxsLXNwbGl0LXdpdGhvdXQtYXJndW1lbnRzLWFuZC1pbnN0YW5jZS1pcy1lbXB0eS1zdHJpbmcu
anMKLUEgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9jYWxsLXNwbGl0LXgt
aW5zdGFuY2UtaXMtZW1wdHktc3RyaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90
b3R5cGUvc3BsaXQvY2FsbC1zcGxpdC14LWluc3RhbmNlLWlzLXN0cmluZy1oZWxsby5qcwotQSB0
ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2NoZWNraW5nLWJ5LXVzaW5nLWV2
YWwuanMKLUEgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9jaGVja2luZy1p
Zi1jcmVhdGluZy10aGUtc3RyaW5nLXByb3RvdHlwZS1zcGxpdC1vYmplY3QtZmFpbHMuanMKLUEg
dGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9jaGVja2luZy1pZi1kZWxldGlu
Zy10aGUtc3RyaW5nLXByb3RvdHlwZS1zcGxpdC1sZW5ndGgtcHJvcGVydHktZmFpbHMuanMKLUEg
dGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9jaGVja2luZy1pZi1lbnVtZXJh
dGluZy10aGUtc3RyaW5nLXByb3RvdHlwZS1zcGxpdC1sZW5ndGgtcHJvcGVydHktZmFpbHMuanMK
LUEgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9jaGVja2luZy1pZi12YXJ5
aW5nLXRoZS1zdHJpbmctcHJvdG90eXBlLXNwbGl0LWxlbmd0aC1wcm9wZXJ0eS1mYWlscy5qcwot
QSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2NoZWNraW5nLXN0cmluZy1w
cm90b3R5cGUtc3BsaXQtbGVuZ3RoLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5
cGUvc3BsaXQvY2hlY2tpbmctc3RyaW5nLXByb3RvdHlwZS1zcGxpdC1wcm90b3R5cGUuanMKLUEg
dGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9pbnN0YW5jZS1pcy1hcnJheS0x
LTItMy00LTUuanMKLUEgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9pbnN0
YW5jZS1pcy1ib29sZWFuLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3Bs
aXQvaW5zdGFuY2UtaXMtZnVuY3Rpb24uanMKLUEgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3Rv
dHlwZS9zcGxpdC9pbnN0YW5jZS1pcy1tYXRoLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9w
cm90b3R5cGUvc3BsaXQvaW5zdGFuY2UtaXMtbmV3LXN0cmluZy5qcwotQSB0ZXN0L2J1aWx0LWlu
cy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2luc3RhbmNlLWlzLW51bWJlci0xMjM0NTY3ODkwLmpz
Ci1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvaW5zdGFuY2UtaXMtbnVt
YmVyLTFlMjEuanMKLUEgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9pbnN0
YW5jZS1pcy1udW1iZXItbmEtbi5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBl
L3NwbGl0L2luc3RhbmNlLWlzLW9iamVjdC5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL3NwbGl0L2luc3RhbmNlLWlzLXN0cmluZy1vbmUtdHdvLXRocmVlLWZvdXItZml2ZS5q
cwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L2luc3RhbmNlLWlzLXN0
cmluZy5qcwotQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NwbGl0L3NlcGFyYXRv
ci1jb2xvbi1pbnN0YW5jZS1pcy1zdHJpbmctb25lLTEtdHdvLTItZm91ci00LmpzCi1BIHRlc3Qv
YnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvc2VwYXJhdG9yLWNvbW1hLWluc3RhbmNl
LWlzLXN0cmluZy1vbmUtdHdvLXRocmVlLWZvdXItZml2ZS5qcwotQSB0ZXN0L2J1aWx0LWlucy9T
dHJpbmcvcHJvdG90eXBlL3NwbGl0L3NlcGFyYXRvci1lbXB0eS1zdHJpbmctaW5zdGFuY2UtaXMt
c3RyaW5nLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvc2VwYXJh
dG9yLW51bWJlci1saW1pdC1tYXRoLXBvdy0yLTMyLTEtaW5zdGFuY2UtaXMtbnVtYmVyLmpzCi1B
IHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvc2VwYXJhdG9yLXJlZ2V4cC1j
b21tYS1pbnN0YW5jZS1pcy1zdHJpbmctb25lLTEtdHdvLTItZm91ci00LmpzCi1BIHRlc3QvYnVp
bHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvc2VwYXJhdG9yLXJlZ2V4cC1saW1pdC1zdHJp
bmctdmlhLWV2YWwuanMKLUEgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zcGxpdC9z
ZXBhcmF0b3ItcmVnZXhwLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3Bs
aXQvc2VwYXJhdG9yLXN0cmluZy1pbnN0YW5jZS1pcy1lbXB0eS1zdHJpbmctb2JqZWN0LmpzCi1B
IHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2l0ZW0vaW5kZXgtYXJndW1lbnQt
dG9pbnRlZ2VyLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2l0ZW0v
aW5kZXgtbm9uLW51bWVyaWMtYXJndW1lbnQtdG9pbnRlZ2VyLWludmFsaWQuanMKLUEgdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvaXRlbS9pbmRleC1ub24tbnVtZXJpYy1hcmd1
bWVudC10b2ludGVnZXIuanMKLUEgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUv
aXRlbS9sZW5ndGguanMKLUEgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvaXRl
bS9uYW1lLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2l0ZW0vcHJv
cC1kZXNjLmpzCi1BIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2l0ZW0vcmV0
dXJuLWFicnVwdC1mcm9tLXRoaXMuanMKLUEgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90
b3R5cGUvaXRlbS9yZXR1cm5zLWl0ZW0tcmVsYXRpdmUtaW5kZXguanMKLUEgdGVzdC9idWlsdC1p
bnMvVHlwZWRBcnJheS9wcm90b3R5cGUvaXRlbS9yZXR1cm5zLWl0ZW0uanMKLUEgdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvaXRlbS9yZXR1cm5zLXVuZGVmaW5lZC1mb3ItaG9s
ZXMtaW4tc3BhcnNlLWFycmF5cy5qcwotQSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3Rv
dHlwZS9pdGVtL3JldHVybnMtdW5kZWZpbmVkLWZvci1vdXQtb2YtcmFuZ2UtaW5kZXguanMKLU0g
dGVzdC9idWlsdC1pbnMvcGFyc2VJbnQvUzE1LjEuMi4yX0EyX1QxLmpzCi1NIHRlc3QvaW50bDQw
Mi9OdW1iZXJGb3JtYXQvZGZ0LWN1cnJlbmN5LW1uZmQtcmFuZ2UtY2hlY2stbXhmZC5qcwotQSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fycm93LWZ1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjEv
YXJyb3ctZnVuY3Rpb24tZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRz
LmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXJyb3ctZnVuY3Rpb24vZm9yYmlkZGVu
LWV4dC9iMS9hcnJvdy1mdW5jdGlvbi1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1j
YWxsZXIuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hcnJvdy1mdW5jdGlvbi9mb3Ji
aWRkZW4tZXh0L2IyL2Fycm93LWZ1bmN0aW9uLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNz
LXByb3AtY2FsbGVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXJyb3ctZnVuY3Rp
b24vdW5zY29wYWJsZXMtd2l0aC1pbi1uZXN0ZWQtZm4uanMKLUEgdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9hcnJvdy1mdW5jdGlvbi91bnNjb3BhYmxlcy13aXRoLmpzCi1NIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudC9kc3RyL2FycmF5LXJlc3QtaXRlci1ydHJuLWNsb3Nl
LmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXNzaWdubWVudC9kc3RyL29iai1yZXN0
LW5vbi1zdHJpbmctY29tcHV0ZWQtcHJvcGVydHktMS5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2Fzc2lnbm1lbnQvZHN0ci9vYmotcmVzdC1ub24tc3RyaW5nLWNvbXB1dGVkLXByb3Bl
cnR5LTFkb3QuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50L2RzdHIv
b2JqLXJlc3Qtbm9uLXN0cmluZy1jb21wdXRlZC1wcm9wZXJ0eS0xZG90MC5qcwotQSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2Fzc2lnbm1lbnQvZHN0ci9vYmotcmVzdC1ub24tc3RyaW5nLWNv
bXB1dGVkLXByb3BlcnR5LTFlMC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fzc2ln
bm1lbnQvZHN0ci9vYmotcmVzdC1ub24tc3RyaW5nLWNvbXB1dGVkLXByb3BlcnR5LWFycmF5LTEu
anMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3NpZ25tZW50L2RzdHIvb2JqLXJlc3Qt
bm9uLXN0cmluZy1jb21wdXRlZC1wcm9wZXJ0eS1hcnJheS0xZTAuanMKLUEgdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9hc3NpZ25tZW50L2RzdHIvb2JqLXJlc3Qtbm9uLXN0cmluZy1jb21wdXRl
ZC1wcm9wZXJ0eS1zdHJpbmctMS5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5j
LWFycm93LWZ1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjEvYXN5bmMtYXJyb3ctZnVuY3Rpb24tZm9y
YmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCi1BIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvYXN5bmMtYXJyb3ctZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9hc3lu
Yy1hcnJvdy1mdW5jdGlvbi1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIu
anMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1hcnJvdy1mdW5jdGlvbi9mb3Ji
aWRkZW4tZXh0L2IyL2FzeW5jLWFycm93LWZ1bmN0aW9uLWZvcmJpZGRlbi1leHQtaW5kaXJlY3Qt
YWNjZXNzLXByb3AtY2FsbGVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMt
YXJyb3ctZnVuY3Rpb24vdW5zY29wYWJsZXMtd2l0aC1pbi1uZXN0ZWQtZm4uanMKLUEgdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1hcnJvdy1mdW5jdGlvbi91bnNjb3BhYmxlcy13aXRo
LmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vZm9yYmlkZGVu
LWV4dC9iMS9hc3luYy1mdW5jLWV4cHItbmFtZWQtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNz
LXByb3AtYXJndW1lbnRzLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVu
Y3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1mdW5jLWV4cHItbmFtZWQtZm9yYmlkZGVuLWV4
dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvYXN5bmMtZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1mdW5jLWV4cHItbmFtZWxl
c3MtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCi1BIHRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9hc3lu
Yy1mdW5jLWV4cHItbmFtZWxlc3MtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2Fs
bGVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vZm9yYmlk
ZGVuLWV4dC9iMi9hc3luYy1mdW5jLWV4cHItbmFtZWQtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1h
Y2Nlc3MtcHJvcC1jYWxsZXIuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1m
dW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWZ1bmMtZXhwci1uYW1lbGVzcy1mb3JiaWRk
ZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL25hbWVkLXVuc2NvcGFibGVzLXdpdGgtaW4tbmVzdGVk
LWZuLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vbmFtZWQt
dW5zY29wYWJsZXMtd2l0aC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1
bmN0aW9uL25hbWVsZXNzLXVuc2NvcGFibGVzLXdpdGgtaW4tbmVzdGVkLWZuLmpzCi1BIHRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vbmFtZWxlc3MtdW5zY29wYWJsZXMt
d2l0aC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRvci9mb3Ji
aWRkZW4tZXh0L2IxL2FzeW5jLWdlbi1mdW5jLWV4cHItZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNj
ZXNzLXByb3AtYXJndW1lbnRzLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMt
Z2VuZXJhdG9yL2ZvcmJpZGRlbi1leHQvYjEvYXN5bmMtZ2VuLWZ1bmMtZXhwci1mb3JiaWRkZW4t
ZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9hc3luYy1nZW5lcmF0b3IvZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1nZW4tbmFtZWQtZnVu
Yy1leHByLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwotQSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRvci9mb3JiaWRkZW4tZXh0L2Ix
L2FzeW5jLWdlbi1uYW1lZC1mdW5jLWV4cHItZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXBy
b3AtY2FsbGVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9y
L2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtZ2VuLWZ1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWluZGly
ZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fz
eW5jLWdlbmVyYXRvci9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWdlbi1uYW1lZC1mdW5jLWV4cHIt
Zm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKLUEgdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0b3IvbmFtZWQtdW5zY29wYWJsZXMtd2l0aC1p
bi1uZXN0ZWQtZm4uanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0
b3IvbmFtZWQtdW5zY29wYWJsZXMtd2l0aC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2FzeW5jLWdlbmVyYXRvci91bnNjb3BhYmxlcy13aXRoLWluLW5lc3RlZC1mbi5qcwotQSB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRvci91bnNjb3BhYmxlcy13aXRoLmpz
Ci1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC9mb3Ji
aWRkZW4tZXh0L2IxL2Nscy1leHByLWFzeW5jLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0
LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2FzeW5jLWdlbi1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZXhwci1hc3luYy1nZW4t
bWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKLUEgdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQv
YjIvY2xzLWV4cHItYXN5bmMtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mt
cHJvcC1jYWxsZXIuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1n
ZW4tbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLWFzeW5jLWdlbi1tZXRo
LXN0YXRpYy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKLUEg
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kLXN0YXRpYy9m
b3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLWFzeW5jLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4t
ZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1l
eHByLWFzeW5jLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1w
cm9wLWNhbGxlci5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1l
dGhvZC9mb3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLWFzeW5jLW1ldGgtZm9yYmlkZGVuLWV4dC1k
aXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvYXN5bmMtbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWV4cHItYXN5bmMtbWV0
aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKLUEgdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMt
ZXhwci1hc3luYy1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVy
LmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRp
Yy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLWFzeW5jLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1l
eHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZXhw
ci1hc3luYy1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxs
ZXIuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2Qtc3Rh
dGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItYXN5bmMtbWV0aC1zdGF0aWMtZm9yYmlkZGVu
LWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKLUQgdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9jcG4tYWNjZXNzb3JzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1h
ZGRpdGl2ZS1leHByZXNzaW9uLWFkZC5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2Nwbi1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFkZGl0aXZlLWV4
cHJlc3Npb24tc3VidHJhY3QuanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9j
cG4tYWNjZXNzb3JzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hcnJvdy1mdW5jdGlvbi1l
eHByZXNzaW9uLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWFjY2Vz
c29ycy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWFz
c2lnbm1lbnQuanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tYWNjZXNz
b3JzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYml0
d2lzZS1vci5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1hY2Nlc3Nv
cnMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1jb2Fs
ZXNjZS5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1hY2Nlc3NvcnMt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dpY2Fs
LWFuZC5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1hY2Nlc3NvcnMt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dpY2Fs
LW9yLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWFjY2Vzc29ycy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXN5bmMtYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lv
bi5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1hY2Nlc3NvcnMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWNvbmRpdGlvbi1leHByZXNzaW9uLWZhbHNlLmpzCi1E
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWFjY2Vzc29ycy1jb21wdXRlZC1w
cm9wZXJ0eS1uYW1lLWZyb20tY29uZGl0aW9uLWV4cHJlc3Npb24tdHJ1ZS5qcwotRCB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJvcGVydHkt
bmFtZS1mcm9tLWRlY2ltYWwtZS1ub3RhdGlvbmFsLWxpdGVyYWwuanMKLUQgdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tYWNjZXNzb3JzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUt
ZnJvbS1kZWNpbWFsLWxpdGVyYWwuanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFz
cy9jcG4tYWNjZXNzb3JzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHBvbmV0aWF0aW9u
LWV4cHJlc3Npb24uanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tYWNj
ZXNzb3JzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNzaW9uLWNvYWxlc2NlLmpz
Ci1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWFjY2Vzc29ycy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5qcwotRCB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJvcGVydHkt
bmFtZS1mcm9tLWV4cHJlc3Npb24tbG9naWNhbC1vci5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2Nwbi1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWZ1
bmN0aW9uLWRlY2xhcmF0aW9uLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
Y3BuLWFjY2Vzc29ycy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZnVuY3Rpb24tZXhwcmVz
c2lvbi5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1hY2Nlc3NvcnMt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWdlbmVyYXRvci1mdW5jdGlvbi1kZWNsYXJhdGlv
bi5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1hY2Nlc3NvcnMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWlkZW50aWZpZXIuanMKLUQgdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9jcG4tYWNjZXNzb3JzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1pbnRlZ2VyLWUtbm90YXRpb25hbC1saXRlcmFsLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvY3BuLWFjY2Vzc29ycy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20taW50
ZWdlci1zZXBhcmF0b3JzLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3Bu
LWFjY2Vzc29ycy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbWF0aC5qcwotRCB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJvcGVydHkt
bmFtZS1mcm9tLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tZGl2LmpzCi1EIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWFjY2Vzc29ycy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1l
LWZyb20tbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbi1tdWx0LmpzCi1EIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWFjY2Vzc29ycy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZy
b20tbnVtZXJpYy1saXRlcmFsLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
Y3BuLWFjY2Vzc29ycy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tc3RyaW5nLWxpdGVyYWwu
anMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tYWNjZXNzb3JzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS15aWVsZC1leHByZXNzaW9uLmpzCi1BIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItYWNjZXNzb3JzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1leHByZXNzaW9uLWFkZC5qcwotQSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWFjY2Vzc29ycy1jb21wdXRlZC1w
cm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lvbi1zdWJ0cmFjdC5qcwotQSB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWFjY2Vzc29ycy1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwotQSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWFjY2Vzc29ycy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWFzc2lnbm1l
bnQuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1h
Y2Nlc3NvcnMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lv
bi1iaXR3aXNlLW9yLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNs
YXNzLWV4cHItYWNjZXNzb3JzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50
LWV4cHJlc3Npb24tY29hbGVzY2UuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFz
cy9jcG4tY2xhc3MtZXhwci1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFz
c2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWFjY2Vzc29ycy1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWxvZ2ljYWwtb3IuanMKLUEgdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1hY2Nlc3NvcnMtY29tcHV0ZWQt
cHJvcGVydHktbmFtZS1mcm9tLWFzeW5jLWFycm93LWZ1bmN0aW9uLWV4cHJlc3Npb24uanMKLUEg
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1hY2Nlc3NvcnMt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWF3YWl0LWV4cHJlc3Npb24uanMKLUEgdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1hY2Nlc3NvcnMtY29tcHV0
ZWQtcHJvcGVydHktbmFtZS1mcm9tLWNvbmRpdGlvbi1leHByZXNzaW9uLWZhbHNlLmpzCi1BIHRl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItYWNjZXNzb3JzLWNv
bXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1jb25kaXRpb24tZXhwcmVzc2lvbi10cnVlLmpzCi1B
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItYWNjZXNzb3Jz
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWUtbm90YXRpb25hbC1saXRlcmFs
LmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItYWNj
ZXNzb3JzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWxpdGVyYWwuanMKLUEg
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1hY2Nlc3NvcnMt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cG9uZXRpYXRpb24tZXhwcmVzc2lvbi5qcwot
QSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWFjY2Vzc29y
cy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1jb2FsZXNjZS5qcwotQSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWFjY2Vzc29ycy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5qcwotQSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWFjY2Vzc29ycy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLW9yLmpzCi1BIHRl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItYWNjZXNzb3JzLWNv
bXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qcwotQSB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWFjY2Vzc29ycy1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwotQSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWFjY2Vzc29ycy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpzCi1B
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItYWNjZXNzb3Jz
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pZGVudGlmaWVyLmpzCi1BIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItYWNjZXNzb3JzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2VyLWUtbm90YXRpb25hbC1saXRlcmFsLmpzCi1BIHRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItYWNjZXNzb3JzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2VyLXNlcGFyYXRvcnMuanMKLUEgdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1hY2Nlc3NvcnMtY29tcHV0ZWQt
cHJvcGVydHktbmFtZS1mcm9tLW1hdGguanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9jcG4tY2xhc3MtZXhwci1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tZGl2LmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItYWNjZXNzb3JzLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLW11bHQuanMKLUEgdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLW51bGwuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFz
cy9jcG4tY2xhc3MtZXhwci1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW51
bWVyaWMtbGl0ZXJhbC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1j
bGFzcy1leHByLWFjY2Vzc29ycy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tc3RyaW5nLWxp
dGVyYWwuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhw
ci1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLXlpZWxkLWV4cHJlc3Npb24u
anMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lvbi1hZGQuanMKLUEgdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1jb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lvbi1zdWJ0cmFjdC5qcwotQSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWNvbXB1dGVkLXByb3BlcnR5
LW5hbWUtZnJvbS1hcnJvdy1mdW5jdGlvbi1leHByZXNzaW9uLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1hc3NpZ25tZW50LmpzCi1BIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1iaXR3aXNlLW9yLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1jb2FsZXNjZS5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1hc3NpZ25tZW50LWV4cHJlc3Npb24tbG9naWNhbC1hbmQuanMKLUEgdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZy
b20tYXNzaWdubWVudC1leHByZXNzaW9uLWxvZ2ljYWwtb3IuanMKLUEgdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZy
b20tYXN5bmMtYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1hd2FpdC1leHByZXNzaW9uLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
Y3BuLWNsYXNzLWV4cHItY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWNvbmRpdGlvbi1leHBy
ZXNzaW9uLWZhbHNlLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNs
YXNzLWV4cHItY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWNvbmRpdGlvbi1leHByZXNzaW9u
LXRydWUuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhw
ci1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZGVjaW1hbC1lLW5vdGF0aW9uYWwtbGl0ZXJh
bC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWNv
bXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWxpdGVyYWwuanMKLUEgdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20tZXhwb25ldGlhdGlvbi1leHByZXNzaW9uLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LWV4cHJlc3Npb24tY29hbGVzY2UuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFz
cy9jcG4tY2xhc3MtZXhwci1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1s
b2dpY2FsLWFuZC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFz
cy1leHByLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNzaW9uLWxvZ2ljYWwtb3Iu
anMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZnVuY3Rpb24tZGVjbGFyYXRpb24uanMKLUEgdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1n
ZW5lcmF0b3ItZnVuY3Rpb24tZGVjbGFyYXRpb24uanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20taWRl
bnRpZmllci5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1l
eHByLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2VyLWUtbm90YXRpb25hbC1saXRl
cmFsLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHIt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWludGVnZXItc2VwYXJhdG9ycy5qcwotQSB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWNvbXB1dGVkLXByb3Bl
cnR5LW5hbWUtZnJvbS1tYXRoLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
Y3BuLWNsYXNzLWV4cHItY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW11bHRpcGxpY2F0aXZl
LWV4cHJlc3Npb24tZGl2LmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3Bu
LWNsYXNzLWV4cHItY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW11bHRpcGxpY2F0aXZlLWV4
cHJlc3Npb24tbXVsdC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1j
bGFzcy1leHByLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1udWxsLmpzCi1BIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItY29tcHV0ZWQtcHJvcGVydHkt
bmFtZS1mcm9tLW51bWVyaWMtbGl0ZXJhbC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL2Nwbi1jbGFzcy1leHByLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1zdHJpbmct
bGl0ZXJhbC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1l
eHByLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS15aWVsZC1leHByZXNzaW9uLmpzCi1BIHRl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1leHByZXNzaW9uLWFkZC5qcwotQSB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lvbi1zdWJ0cmFjdC5qcwotQSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwotQSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWFzc2lnbm1lbnQu
anMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVs
ZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1iaXR3
aXNlLW9yLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4
cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Np
b24tY29hbGVzY2UuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xh
c3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhw
cmVzc2lvbi1sb2dpY2FsLWFuZC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNz
L2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdu
bWVudC1leHByZXNzaW9uLWxvZ2ljYWwtb3IuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LWFzeW5jLWFycm93LWZ1bmN0aW9uLWV4cHJlc3Npb24uanMKLUEgdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLWF3YWl0LWV4cHJlc3Npb24uanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWNv
bmRpdGlvbi1leHByZXNzaW9uLWZhbHNlLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1j
b25kaXRpb24tZXhwcmVzc2lvbi10cnVlLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1k
ZWNpbWFsLWUtbm90YXRpb25hbC1saXRlcmFsLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1kZWNpbWFsLWxpdGVyYWwuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9j
cG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cG9uZXRp
YXRpb24tZXhwcmVzc2lvbi5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nw
bi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lv
bi1jb2FsZXNjZS5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFz
cy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dp
Y2FsLWFuZC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1l
eHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2Fs
LW9yLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHIt
ZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1kZWNsYXJhdGlvbi5q
cwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxk
cy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwotQSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpz
Ci1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRz
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pZGVudGlmaWVyLmpzCi1BIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3Bl
cnR5LW5hbWUtZnJvbS1pbnRlZ2VyLWUtbm90YXRpb25hbC1saXRlcmFsLmpzCi1BIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2VyLXNlcGFyYXRvcnMuanMKLUEgdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHkt
bmFtZS1mcm9tLW1hdGguanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4t
Y2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW11bHRpcGxpY2F0
aXZlLWV4cHJlc3Npb24tZGl2LmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
Y3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1tdWx0aXBs
aWNhdGl2ZS1leHByZXNzaW9uLW11bHQuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW51
bGwuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1m
aWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW51bWVyaWMtbGl0ZXJhbC5qcwotQSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tc3RyaW5nLWxpdGVyYWwuanMKLUEgdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVy
dHktbmFtZS1mcm9tLXlpZWxkLWV4cHJlc3Npb24uanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lvbi1hZGQuanMKLUEgdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1w
cm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lvbi1zdWJ0cmFjdC5qcwotQSB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2Rz
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hcnJvdy1mdW5jdGlvbi1leHByZXNzaW9uLmpz
Ci1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRz
LW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lv
bi1hc3NpZ25tZW50LmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNs
YXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2ln
bm1lbnQtZXhwcmVzc2lvbi1iaXR3aXNlLW9yLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHkt
bmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1jb2FsZXNjZS5qcwotQSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tbG9naWNhbC1hbmQu
anMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVs
ZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNz
aW9uLWxvZ2ljYWwtb3IuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4t
Y2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXN5
bmMtYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5
LW5hbWUtZnJvbS1hd2FpdC1leHByZXNzaW9uLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHkt
bmFtZS1mcm9tLWNvbmRpdGlvbi1leHByZXNzaW9uLWZhbHNlLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQt
cHJvcGVydHktbmFtZS1mcm9tLWNvbmRpdGlvbi1leHByZXNzaW9uLXRydWUuanMKLUEgdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZGVjaW1hbC1lLW5vdGF0aW9uYWwtbGl0ZXJhbC5q
cwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxk
cy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWxpdGVyYWwuanMK
LUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMt
bWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwb25ldGlhdGlvbi1leHByZXNz
aW9uLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHIt
ZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cHJlc3Npb24tY29h
bGVzY2UuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhw
ci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1s
b2dpY2FsLWFuZC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFz
cy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNz
aW9uLWxvZ2ljYWwtb3IuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4t
Y2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZnVu
Y3Rpb24tZGVjbGFyYXRpb24uanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9j
cG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20t
ZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNz
L2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1nZW5lcmF0b3ItZnVuY3Rpb24tZGVjbGFyYXRpb24uanMKLUEgdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lLWZyb20taWRlbnRpZmllci5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1pbnRlZ2VyLWUtbm90YXRpb25hbC1saXRlcmFsLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQt
cHJvcGVydHktbmFtZS1mcm9tLWludGVnZXItc2VwYXJhdG9ycy5qcwotQSB0ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVk
LXByb3BlcnR5LW5hbWUtZnJvbS1tYXRoLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tZGl2LmpzCi1BIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQt
cHJvcGVydHktbmFtZS1mcm9tLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tbXVsdC5qcwotQSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRo
b2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1udWxsLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQt
cHJvcGVydHktbmFtZS1mcm9tLW51bWVyaWMtbGl0ZXJhbC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1zdHJpbmctbGl0ZXJhbC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3Bl
cnR5LW5hbWUtZnJvbS15aWVsZC1leHByZXNzaW9uLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvY3BuLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1leHBy
ZXNzaW9uLWFkZC5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lvbi1zdWJ0cmFjdC5qcwot
RCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20tYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2Nwbi1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVu
dC1leHByZXNzaW9uLWFzc2lnbm1lbnQuanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9jcG4tY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lv
bi1iaXR3aXNlLW9yLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNv
bXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tY29hbGVzY2Uu
anMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY29tcHV0ZWQtcHJvcGVy
dHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5qcwotRCB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZy
b20tYXNzaWdubWVudC1leHByZXNzaW9uLWxvZ2ljYWwtb3IuanMKLUQgdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9jcG4tY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzeW5jLWFy
cm93LWZ1bmN0aW9uLWV4cHJlc3Npb24uanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9jcG4tY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWNvbmRpdGlvbi1leHByZXNzaW9u
LWZhbHNlLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNvbXB1dGVk
LXByb3BlcnR5LW5hbWUtZnJvbS1jb25kaXRpb24tZXhwcmVzc2lvbi10cnVlLmpzCi1EIHRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1kZWNpbWFsLWUtbm90YXRpb25hbC1saXRlcmFsLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvY3BuLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWxpdGVy
YWwuanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLWV4cG9uZXRpYXRpb24tZXhwcmVzc2lvbi5qcwotRCB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhw
cmVzc2lvbi1jb2FsZXNjZS5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nw
bi1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5qcwot
RCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLW9yLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvY3BuLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1kZWNs
YXJhdGlvbi5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwotRCB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZ2Vu
ZXJhdG9yLWZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvY3BuLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pZGVudGlmaWVyLmpzCi1E
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1pbnRlZ2VyLWUtbm90YXRpb25hbC1saXRlcmFsLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2Vy
LXNlcGFyYXRvcnMuanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW1hdGguanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9jcG4tY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW11bHRpcGxpY2F0aXZl
LWV4cHJlc3Npb24tZGl2LmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3Bu
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLW11
bHQuanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLW51bWVyaWMtbGl0ZXJhbC5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2Nwbi1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tc3RyaW5nLWxpdGVy
YWwuanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLXlpZWxkLWV4cHJlc3Npb24uanMKLUQgdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9jcG4tZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hZGRp
dGl2ZS1leHByZXNzaW9uLWFkZC5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNz
L2Nwbi1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFkZGl0aXZlLWV4cHJlc3Np
b24tc3VidHJhY3QuanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tZmll
bGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hcnJvdy1mdW5jdGlvbi1leHByZXNzaW9u
LmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWZpZWxkcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWFzc2lnbm1lbnQuanMK
LUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tZmllbGRzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYml0d2lzZS1vci5qcwotRCB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1maWVsZHMtY29tcHV0ZWQtcHJvcGVy
dHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1jb2FsZXNjZS5qcwotRCB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5qcwotRCB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dpY2FsLW9yLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20t
YXN5bmMtYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2Nwbi1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWNvbmRp
dGlvbi1leHByZXNzaW9uLWZhbHNlLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvY3BuLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tY29uZGl0aW9uLWV4cHJl
c3Npb24tdHJ1ZS5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1maWVs
ZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWRlY2ltYWwtZS1ub3RhdGlvbmFsLWxpdGVy
YWwuanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tZmllbGRzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWxpdGVyYWwuanMKLUQgdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1leHBvbmV0aWF0aW9uLWV4cHJlc3Npb24uanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9jcG4tZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNzaW9u
LWNvYWxlc2NlLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWZpZWxk
cy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5qcwot
RCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1maWVsZHMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLWV4cHJlc3Npb24tbG9naWNhbC1vci5qcwotRCB0ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LWZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvY3BuLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZnVuY3Rpb24tZXhwcmVz
c2lvbi5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1maWVsZHMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWdlbmVyYXRvci1mdW5jdGlvbi1kZWNsYXJhdGlvbi5q
cwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1maWVsZHMtY29tcHV0ZWQt
cHJvcGVydHktbmFtZS1mcm9tLWlkZW50aWZpZXIuanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9jcG4tZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2Vy
LWUtbm90YXRpb25hbC1saXRlcmFsLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvY3BuLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20taW50ZWdlci1zZXBhcmF0
b3JzLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWZpZWxkcy1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbWF0aC5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NsYXNzL2Nwbi1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW11bHRpcGxp
Y2F0aXZlLWV4cHJlc3Npb24tZGl2LmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvY3BuLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbXVsdGlwbGljYXRpdmUt
ZXhwcmVzc2lvbi1tdWx0LmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3Bu
LWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbnVtZXJpYy1saXRlcmFsLmpzCi1E
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWZpZWxkcy1jb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lLWZyb20tc3RyaW5nLWxpdGVyYWwuanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9jcG4tZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS15aWVsZC1l
eHByZXNzaW9uLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWZpZWxk
cy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1leHByZXNzaW9u
LWFkZC5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1maWVsZHMtbWV0
aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lvbi1zdWJ0
cmFjdC5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1maWVsZHMtbWV0
aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lv
bi5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1maWVsZHMtbWV0aG9k
cy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWFzc2ln
bm1lbnQuanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tZmllbGRzLW1l
dGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1i
aXR3aXNlLW9yLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWZpZWxk
cy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Np
b24tY29hbGVzY2UuanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tZmll
bGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVz
c2lvbi1sb2dpY2FsLWFuZC5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nw
bi1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1l
eHByZXNzaW9uLWxvZ2ljYWwtb3IuanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFz
cy9jcG4tZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzeW5jLWFy
cm93LWZ1bmN0aW9uLWV4cHJlc3Npb24uanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9jcG4tZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWNvbmRp
dGlvbi1leHByZXNzaW9uLWZhbHNlLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvY3BuLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1jb25kaXRp
b24tZXhwcmVzc2lvbi10cnVlLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
Y3BuLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWUt
bm90YXRpb25hbC1saXRlcmFsLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
Y3BuLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWxp
dGVyYWwuanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tZmllbGRzLW1l
dGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cG9uZXRpYXRpb24tZXhwcmVzc2lv
bi5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1maWVsZHMtbWV0aG9k
cy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1jb2FsZXNjZS5qcwotRCB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1maWVsZHMtbWV0aG9kcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5qcwotRCB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLW9yLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NsYXNzL2Nwbi1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20t
ZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNz
L2Nwbi1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZ2VuZXJhdG9y
LWZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvY3BuLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pZGVudGlm
aWVyLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWZpZWxkcy1tZXRo
b2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2VyLWUtbm90YXRpb25hbC1saXRl
cmFsLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWZpZWxkcy1tZXRo
b2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2VyLXNlcGFyYXRvcnMuanMKLUQg
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tZmllbGRzLW1ldGhvZHMtY29tcHV0
ZWQtcHJvcGVydHktbmFtZS1mcm9tLW1hdGguanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9jcG4tZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW11
bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tZGl2LmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvY3BuLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1t
dWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLW11bHQuanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9jcG4tZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LW51bWVyaWMtbGl0ZXJhbC5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nw
bi1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tc3RyaW5nLWxpdGVy
YWwuanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tZmllbGRzLW1ldGhv
ZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLXlpZWxkLWV4cHJlc3Npb24uanMKLUEgdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9zeW50YXgvZWFybHktZXJyb3Jz
L2NsYXNzLWhlcml0YWdlLWFycmF5LWxpdGVyYWwtYXJyb3ctaGVyaXRhZ2UuanMKLUEgdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9zeW50YXgvZWFybHktZXJyb3JzL2Ns
YXNzLWhlcml0YWdlLWFycmF5LWxpdGVyYWwtYXN5bmMtYXJyb3ctaGVyaXRhZ2UuanMKLUEgdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjEv
Y2xzLWV4cHItZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1l
bnRzLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZ2VuLW1ldGhvZC9mb3Ji
aWRkZW4tZXh0L2IxL2Nscy1leHByLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vz
cy1wcm9wLWNhbGxlci5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2dlbi1t
ZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWlu
ZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL2dlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWV4cHItZ2VuLW1l
dGgtc3RhdGljLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwot
QSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2dlbi1tZXRob2Qtc3RhdGljL2ZvcmJp
ZGRlbi1leHQvYjEvY2xzLWV4cHItZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtZGlyZWN0
LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNz
L2dlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItZ2VuLW1ldGgtc3Rh
dGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCi1BIHRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvaGVyaXRhZ2UtYXJyb3ctZnVuY3Rpb24uanMKLUEg
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9oZXJpdGFnZS1hc3luYy1hcnJvdy1mdW5j
dGlvbi5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL21ldGhvZC9mb3JiaWRk
ZW4tZXh0L2IxL2Nscy1leHByLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3At
YXJndW1lbnRzLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvbWV0aG9kL2Zv
cmJpZGRlbi1leHQvYjEvY2xzLWV4cHItbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3Mt
cHJvcC1jYWxsZXIuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9tZXRob2Qv
Zm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNj
ZXNzLXByb3AtY2FsbGVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvbWV0
aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLW1ldGgtc3RhdGljLWZvcmJpZGRl
bi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL21ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZXhwci1t
ZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKLUEg
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1l
eHQvYjIvY2xzLWV4cHItbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mt
cHJvcC1jYWxsZXIuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9mb3Ji
aWRkZW4tZXh0L2IxL2Z1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1h
cmd1bWVudHMuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9mb3JiaWRk
ZW4tZXh0L2IxL2Z1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxs
ZXIuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0
L2IxL2Z1bmMtZXhwci1zdHJpY3QtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJn
dW1lbnRzLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24vZm9yYmlkZGVu
LWV4dC9iMS9mdW5jLWV4cHItc3RyaWN0LWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9w
LWNhbGxlci5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Z1bmN0aW9uL2ZvcmJpZGRl
bi1leHQvYjIvZnVuYy1leHByLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2Fs
bGVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24vcGFyYW0tZXZhbC1u
b24tc3RyaWN0LWlzLWNvcnJlY3QtdmFsdWUuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9mdW5jdGlvbi91bnNjb3BhYmxlcy13aXRoLWluLW5lc3RlZC1mbi5qcwotQSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2Z1bmN0aW9uL3Vuc2NvcGFibGVzLXdpdGguanMKLUEgdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9nZW5lcmF0b3JzL2ZvcmJpZGRlbi1leHQvYjEvZ2VuLWZ1bmMtZXhw
ci1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKLUEgdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0b3JzL2ZvcmJpZGRlbi1leHQvYjEvZ2VuLWZ1bmMt
ZXhwci1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKLUEgdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0b3JzL2ZvcmJpZGRlbi1leHQvYjIvZ2VuLWZ1bmMt
ZXhwci1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwotQSB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRvcnMvdW5zY29wYWJsZXMtd2l0aC1pbi1uZXN0
ZWQtZm4uanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0b3JzL3Vuc2NvcGFi
bGVzLXdpdGguanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvY3BuLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1leHByZXNzaW9uLWFkZC5qcwotRCB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9jcG4tY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLWFkZGl0aXZlLWV4cHJlc3Npb24tc3VidHJhY3QuanMKLUQgdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9vYmplY3QvY3BuLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hcnJvdy1mdW5j
dGlvbi1leHByZXNzaW9uLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2Nw
bi1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWFzc2ln
bm1lbnQuanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvY3BuLWNvbXB1dGVk
LXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYml0d2lzZS1vci5qcwot
RCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9jcG4tY29tcHV0ZWQtcHJvcGVydHkt
bmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1jb2FsZXNjZS5qcwotRCB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL29iamVjdC9jcG4tY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFz
c2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL29iamVjdC9jcG4tY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQt
ZXhwcmVzc2lvbi1sb2dpY2FsLW9yLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2Jq
ZWN0L2Nwbi1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXN5bmMtYXJyb3ctZnVuY3Rpb24t
ZXhwcmVzc2lvbi5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9jcG4tY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWNvbmRpdGlvbi1leHByZXNzaW9uLWZhbHNlLmpzCi1E
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2Nwbi1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20tY29uZGl0aW9uLWV4cHJlc3Npb24tdHJ1ZS5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL29iamVjdC9jcG4tY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWRlY2ltYWwt
ZS1ub3RhdGlvbmFsLWxpdGVyYWwuanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmpl
Y3QvY3BuLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWxpdGVyYWwuanMKLUQg
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvY3BuLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1leHBvbmV0aWF0aW9uLWV4cHJlc3Npb24uanMKLUQgdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9vYmplY3QvY3BuLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNzaW9u
LWNvYWxlc2NlLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2Nwbi1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5qcwotRCB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9jcG4tY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLWV4cHJlc3Npb24tbG9naWNhbC1vci5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L29iamVjdC9jcG4tY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWZ1bmN0aW9uLWRlY2xhcmF0
aW9uLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2Nwbi1jb21wdXRlZC1w
cm9wZXJ0eS1uYW1lLWZyb20tZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwotRCB0ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL29iamVjdC9jcG4tY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWdlbmVy
YXRvci1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L29iamVjdC9jcG4tY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWlkZW50aWZpZXIuanMKLUQg
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvY3BuLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1pbnRlZ2VyLWUtbm90YXRpb25hbC1saXRlcmFsLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvb2JqZWN0L2Nwbi1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20taW50ZWdl
ci1zZXBhcmF0b3JzLmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2Nwbi1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbWF0aC5qcwotRCB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL29iamVjdC9jcG4tY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW11bHRpcGxpY2F0
aXZlLWV4cHJlc3Npb24tZGl2LmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0
L2Nwbi1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lv
bi1tdWx0LmpzCi1EIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2Nwbi1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tbnVtZXJpYy1saXRlcmFsLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvb2JqZWN0L2Nwbi1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tc3RyaW5n
LWxpdGVyYWwuanMKLUQgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvY3BuLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS15aWVsZC1leHByZXNzaW9uLmpzCi1BIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvb2JqZWN0L2Nwbi1vYmotbGl0LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUt
ZnJvbS1hZGRpdGl2ZS1leHByZXNzaW9uLWFkZC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL29iamVjdC9jcG4tb2JqLWxpdC1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRp
dmUtZXhwcmVzc2lvbi1zdWJ0cmFjdC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29i
amVjdC9jcG4tb2JqLWxpdC1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXJyb3ctZnVuY3Rp
b24tZXhwcmVzc2lvbi5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9jcG4t
b2JqLWxpdC1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9u
LWFzc2lnbm1lbnQuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvY3BuLW9i
ai1saXQtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1i
aXR3aXNlLW9yLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2Nwbi1vYmot
bGl0LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tY29h
bGVzY2UuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvY3BuLW9iai1saXQt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dpY2Fs
LWFuZC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9jcG4tb2JqLWxpdC1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWxvZ2ljYWwt
b3IuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvY3BuLW9iai1saXQtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzeW5jLWFycm93LWZ1bmN0aW9uLWV4cHJlc3Npb24u
anMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvY3BuLW9iai1saXQtY29tcHV0
ZWQtcHJvcGVydHktbmFtZS1mcm9tLWF3YWl0LWV4cHJlc3Npb24uanMKLUEgdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9vYmplY3QvY3BuLW9iai1saXQtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLWNvbmRpdGlvbi1leHByZXNzaW9uLWZhbHNlLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvb2JqZWN0L2Nwbi1vYmotbGl0LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1jb25k
aXRpb24tZXhwcmVzc2lvbi10cnVlLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2Jq
ZWN0L2Nwbi1vYmotbGl0LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWUtbm90
YXRpb25hbC1saXRlcmFsLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2Nw
bi1vYmotbGl0LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWxpdGVyYWwuanMK
LUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvY3BuLW9iai1saXQtY29tcHV0ZWQt
cHJvcGVydHktbmFtZS1mcm9tLWV4cG9uZXRpYXRpb24tZXhwcmVzc2lvbi5qcwotQSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9jcG4tb2JqLWxpdC1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20tZXhwcmVzc2lvbi1jb2FsZXNjZS5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL29iamVjdC9jcG4tb2JqLWxpdC1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVz
c2lvbi1sb2dpY2FsLWFuZC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9j
cG4tb2JqLWxpdC1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2Fs
LW9yLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2Nwbi1vYmotbGl0LWNv
bXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qcwotQSB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9jcG4tb2JqLWxpdC1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL29iamVjdC9jcG4tb2JqLWxpdC1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZ2Vu
ZXJhdG9yLWZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvb2JqZWN0L2Nwbi1vYmotbGl0LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pZGVudGlm
aWVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2Nwbi1vYmotbGl0LWNv
bXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2VyLWUtbm90YXRpb25hbC1saXRlcmFsLmpz
Ci1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2Nwbi1vYmotbGl0LWNvbXB1dGVk
LXByb3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2VyLXNlcGFyYXRvcnMuanMKLUEgdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9vYmplY3QvY3BuLW9iai1saXQtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLW1hdGguanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvY3BuLW9iai1s
aXQtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24t
ZGl2LmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L2Nwbi1vYmotbGl0LWNv
bXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLW11bHQu
anMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvY3BuLW9iai1saXQtY29tcHV0
ZWQtcHJvcGVydHktbmFtZS1mcm9tLW51bGwuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9vYmplY3QvY3BuLW9iai1saXQtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW51bWVyaWMt
bGl0ZXJhbC5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9jcG4tb2JqLWxp
dC1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tc3RyaW5nLWxpdGVyYWwuanMKLUEgdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvY3BuLW9iai1saXQtY29tcHV0ZWQtcHJvcGVydHkt
bmFtZS1mcm9tLXlpZWxkLWV4cHJlc3Npb24uanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1nZW4tbWV0
aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKLUEgdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4
dC9iMS9hc3luYy1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxs
ZXIuanMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRp
b24vZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vz
cy1wcm9wLWFyZ3VtZW50cy5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9t
ZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2FzeW5jLW1ldGgtZm9yYmlkZGVuLWV4
dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1leHQvYjEvZ2VuLW1ldGgtZm9y
YmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCi1BIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1leHQvYjEv
Z2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCi1BIHRl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRl
bi1leHQvYjEvbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMu
anMKLUEgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24v
Zm9yYmlkZGVuLWV4dC9iMS9tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNh
bGxlci5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5p
dGlvbi9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJl
Y3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2Jq
ZWN0L21ldGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtbWV0aC1mb3JiaWRk
ZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwotQSB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2dlbi1t
ZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCi1BIHRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1l
eHQvYjIvbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwot
QSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9i
MS9hc3luYy1mdW5jLWRlY2wtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1l
bnRzLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1mdW5jdGlvbi9mb3JiaWRk
ZW4tZXh0L2IxL2FzeW5jLWZ1bmMtZGVjbC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJv
cC1jYWxsZXIuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWZ1bmN0aW9uL2Zv
cmJpZGRlbi1leHQvYjIvYXN5bmMtZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNj
ZXNzLXByb3AtY2FsbGVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1mdW5j
dGlvbi91bnNjb3BhYmxlcy13aXRoLWluLW5lc3RlZC1mbi5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vdW5zY29wYWJsZXMtd2l0aC5qcwotQSB0ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvYXN5bmMtZ2VuZXJhdG9yL2ZvcmJpZGRlbi1leHQvYjEvYXN5bmMtZ2Vu
LWZ1bmMtZGVjbC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMK
LUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWdlbmVyYXRvci9mb3JiaWRkZW4tZXh0
L2IxL2FzeW5jLWdlbi1mdW5jLWRlY2wtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3At
Y2FsbGVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1nZW5lcmF0b3IvZm9y
YmlkZGVuLWV4dC9iMi9hc3luYy1nZW4tZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtaW5kaXJlY3Qt
YWNjZXNzLXByb3AtY2FsbGVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1n
ZW5lcmF0b3IvdW5zY29wYWJsZXMtd2l0aC1pbi1uZXN0ZWQtZm4uanMKLUEgdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2FzeW5jLWdlbmVyYXRvci91bnNjb3BhYmxlcy13aXRoLmpzCi1BIHRlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQv
YjEvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXBy
b3AtYXJndW1lbnRzLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1n
ZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgtZm9yYmlk
ZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wt
YXN5bmMtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIu
anMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLWdlbi1tZXRob2Qtc3Rh
dGljL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWZvcmJp
ZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwotQSB0ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9i
MS9jbHMtZGVjbC1hc3luYy1nZW4tbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNj
ZXNzLXByb3AtY2FsbGVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3lu
Yy1nZW4tbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWFzeW5jLWdlbi1t
ZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwot
QSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kL2ZvcmJpZGRlbi1l
eHQvYjEvY2xzLWRlY2wtYXN5bmMtbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJv
cC1hcmd1bWVudHMuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1l
dGhvZC9mb3JiaWRkZW4tZXh0L2IxL2Nscy1kZWNsLWFzeW5jLW1ldGgtZm9yYmlkZGVuLWV4dC1k
aXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9hc3luYy1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1hc3luYy1tZXRoLWZv
cmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCi1BIHRlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjEv
Y2xzLWRlY2wtYXN5bmMtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXBy
b3AtYXJndW1lbnRzLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1t
ZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtYXN5bmMtbWV0aC1zdGF0aWMt
Zm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCi1BIHRlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIv
Y2xzLWRlY2wtYXN5bmMtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mt
cHJvcC1jYWxsZXIuanMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1hY2Nl
c3NvcnMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFkZGl0aXZlLWV4cHJlc3Npb24tYWRk
LmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tYWNjZXNzb3JzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1leHByZXNzaW9uLXN1YnRyYWN0LmpzCi1E
IHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tYWNjZXNzb3JzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1hcnJvdy1mdW5jdGlvbi1leHByZXNzaW9uLmpzCi1EIHRlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tYWNjZXNzb3JzLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYXNzaWdubWVudC5qcwotRCB0ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWFjY2Vzc29ycy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1l
LWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWJpdHdpc2Utb3IuanMKLUQgdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1jb2FsZXNjZS5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvY3BuLWFjY2Vzc29ycy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20t
YXNzaWdubWVudC1leHByZXNzaW9uLWxvZ2ljYWwtYW5kLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9jcG4tYWNjZXNzb3JzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1h
c3NpZ25tZW50LWV4cHJlc3Npb24tbG9naWNhbC1vci5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvY3BuLWFjY2Vzc29ycy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXN5
bmMtYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvY3BuLWFjY2Vzc29ycy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tY29uZGl0
aW9uLWV4cHJlc3Npb24tZmFsc2UuanMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2Nwbi1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWNvbmRpdGlvbi1leHBy
ZXNzaW9uLXRydWUuanMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1hY2Nl
c3NvcnMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWRlY2ltYWwtZS1ub3RhdGlvbmFsLWxp
dGVyYWwuanMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1hY2Nlc3NvcnMt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWRlY2ltYWwtbGl0ZXJhbC5qcwotRCB0ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWFjY2Vzc29ycy1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20tZXhwb25ldGlhdGlvbi1leHByZXNzaW9uLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9jcG4tYWNjZXNzb3JzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1l
eHByZXNzaW9uLWNvYWxlc2NlLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9j
cG4tYWNjZXNzb3JzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNzaW9uLWxvZ2lj
YWwtYW5kLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tYWNjZXNzb3Jz
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNzaW9uLWxvZ2ljYWwtb3IuanMKLUQg
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLWZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9jcG4tYWNjZXNzb3JzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1mdW5jdGlvbi1leHByZXNzaW9uLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9jcG4tYWNjZXNzb3JzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1nZW5lcmF0b3ItZnVu
Y3Rpb24tZGVjbGFyYXRpb24uanMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nw
bi1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWlkZW50aWZpZXIuanMKLUQg
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLWludGVnZXItZS1ub3RhdGlvbmFsLWxpdGVyYWwuanMKLUQgdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJvcGVydHkt
bmFtZS1mcm9tLWludGVnZXItc2VwYXJhdG9ycy5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvY3BuLWFjY2Vzc29ycy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbWF0aC5q
cwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWFjY2Vzc29ycy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbi1kaXYuanMKLUQg
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tbXVsdC5qcwotRCB0ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWFjY2Vzc29ycy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tbnVtZXJpYy1saXRlcmFsLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9jcG4tYWNjZXNzb3JzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1zdHJpbmct
bGl0ZXJhbC5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWFjY2Vzc29y
cy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20teWllbGQtZXhwcmVzc2lvbi5qcwotQSB0ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtYWNjZXNzb3JzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1leHByZXNzaW9uLWFkZC5qcwotQSB0ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtYWNjZXNzb3JzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1leHByZXNzaW9uLXN1YnRyYWN0LmpzCi1B
IHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1hY2Nlc3NvcnMt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFycm93LWZ1bmN0aW9uLWV4cHJlc3Npb24uanMK
LUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWFjY2Vzc29y
cy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWFzc2ln
bm1lbnQuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNs
LWFjY2Vzc29ycy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNz
aW9uLWJpdHdpc2Utb3IuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1j
bGFzcy1kZWNsLWFjY2Vzc29ycy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVu
dC1leHByZXNzaW9uLWNvYWxlc2NlLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9jcG4tY2xhc3MtZGVjbC1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFz
c2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtYWNjZXNzb3JzLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tbG9naWNhbC1vci5qcwotQSB0ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtYWNjZXNzb3JzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1hc3luYy1hcnJvdy1mdW5jdGlvbi1leHByZXNzaW9uLmpzCi1BIHRl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1hY2Nlc3NvcnMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWF3YWl0LWV4cHJlc3Npb24uanMKLUEgdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWFjY2Vzc29ycy1jb21wdXRlZC1w
cm9wZXJ0eS1uYW1lLWZyb20tY29uZGl0aW9uLWV4cHJlc3Npb24tZmFsc2UuanMKLUEgdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWFjY2Vzc29ycy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tY29uZGl0aW9uLWV4cHJlc3Npb24tdHJ1ZS5qcwotQSB0ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtYWNjZXNzb3JzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWUtbm90YXRpb25hbC1saXRlcmFsLmpzCi1B
IHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1hY2Nlc3NvcnMt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWRlY2ltYWwtbGl0ZXJhbC5qcwotQSB0ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtYWNjZXNzb3JzLWNvbXB1dGVk
LXByb3BlcnR5LW5hbWUtZnJvbS1leHBvbmV0aWF0aW9uLWV4cHJlc3Npb24uanMKLUEgdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWFjY2Vzc29ycy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1jb2FsZXNjZS5qcwotQSB0ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtYWNjZXNzb3JzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1leHByZXNzaW9uLWxvZ2ljYWwtYW5kLmpzCi1BIHRlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLWV4cHJlc3Npb24tbG9naWNhbC1vci5qcwotQSB0ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtYWNjZXNzb3JzLWNvbXB1dGVkLXByb3Bl
cnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtYWNjZXNzb3JzLWNvbXB1dGVkLXByb3BlcnR5
LW5hbWUtZnJvbS1mdW5jdGlvbi1leHByZXNzaW9uLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLWdlbmVyYXRvci1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qcwotQSB0ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtYWNjZXNzb3JzLWNvbXB1dGVkLXByb3Bl
cnR5LW5hbWUtZnJvbS1pZGVudGlmaWVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9jcG4tY2xhc3MtZGVjbC1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LWludGVnZXItZS1ub3RhdGlvbmFsLWxpdGVyYWwuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWFjY2Vzc29ycy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1l
LWZyb20taW50ZWdlci1zZXBhcmF0b3JzLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9jcG4tY2xhc3MtZGVjbC1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LW1hdGguanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNs
LWFjY2Vzc29ycy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbXVsdGlwbGljYXRpdmUtZXhw
cmVzc2lvbi1kaXYuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFz
cy1kZWNsLWFjY2Vzc29ycy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbXVsdGlwbGljYXRp
dmUtZXhwcmVzc2lvbi1tdWx0LmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9j
cG4tY2xhc3MtZGVjbC1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW51bGwu
anMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWFjY2Vz
c29ycy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbnVtZXJpYy1saXRlcmFsLmpzCi1BIHRl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1hY2Nlc3NvcnMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLXN0cmluZy1saXRlcmFsLmpzCi1BIHRlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1hY2Nlc3NvcnMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLXlpZWxkLWV4cHJlc3Npb24uanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1h
ZGRpdGl2ZS1leHByZXNzaW9uLWFkZC5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvY3BuLWNsYXNzLWRlY2wtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFkZGl0aXZlLWV4
cHJlc3Npb24tc3VidHJhY3QuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nw
bi1jbGFzcy1kZWNsLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hcnJvdy1mdW5jdGlvbi1l
eHByZXNzaW9uLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3Mt
ZGVjbC1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWFz
c2lnbm1lbnQuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1k
ZWNsLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYml0
d2lzZS1vci5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRl
Y2wtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1jb2Fs
ZXNjZS5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dpY2Fs
LWFuZC5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dpY2Fs
LW9yLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXN5bmMtYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lv
bi5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWF3YWl0LWV4cHJlc3Npb24uanMKLUEgdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1jb25kaXRpb24tZXhwcmVzc2lvbi1mYWxzZS5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LWNvbmRpdGlvbi1leHByZXNzaW9uLXRydWUuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFs
LWUtbm90YXRpb25hbC1saXRlcmFsLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9jcG4tY2xhc3MtZGVjbC1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZGVjaW1hbC1saXRl
cmFsLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwb25ldGlhdGlvbi1leHByZXNzaW9uLmpzCi1B
IHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1jb21wdXRlZC1w
cm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1jb2FsZXNjZS5qcwotQSB0ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLWV4cHJlc3Npb24tbG9naWNhbC1hbmQuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNz
aW9uLWxvZ2ljYWwtb3IuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1j
bGFzcy1kZWNsLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1kZWNsYXJhdGlv
bi5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWZ1bmN0aW9uLWV4cHJlc3Npb24uanMKLUEgdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWNvbXB1dGVkLXByb3BlcnR5
LW5hbWUtZnJvbS1nZW5lcmF0b3ItZnVuY3Rpb24tZGVjbGFyYXRpb24uanMKLUEgdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1pZGVudGlmaWVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9j
cG4tY2xhc3MtZGVjbC1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20taW50ZWdlci1lLW5vdGF0
aW9uYWwtbGl0ZXJhbC5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNs
YXNzLWRlY2wtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWludGVnZXItc2VwYXJhdG9ycy5q
cwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtY29tcHV0
ZWQtcHJvcGVydHktbmFtZS1mcm9tLW1hdGguanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1tdWx0aXBs
aWNhdGl2ZS1leHByZXNzaW9uLWRpdi5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvY3BuLWNsYXNzLWRlY2wtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW11bHRpcGxpY2F0
aXZlLWV4cHJlc3Npb24tbXVsdC5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
Y3BuLWNsYXNzLWRlY2wtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW51bGwuanMKLUEgdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWNvbXB1dGVkLXByb3Bl
cnR5LW5hbWUtZnJvbS1udW1lcmljLWxpdGVyYWwuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1zdHJp
bmctbGl0ZXJhbC5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNz
LWRlY2wtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLXlpZWxkLWV4cHJlc3Npb24uanMKLUEg
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lvbi1hZGQuanMKLUEgdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lvbi1zdWJ0cmFjdC5qcwotQSB0
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hcnJvdy1mdW5jdGlvbi1leHByZXNzaW9uLmpzCi1BIHRl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0
ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1hc3NpZ25tZW50Lmpz
Ci1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1iaXR3aXNl
LW9yLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1m
aWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1j
b2FsZXNjZS5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRl
Y2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Np
b24tbG9naWNhbC1hbmQuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1j
bGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1l
eHByZXNzaW9uLWxvZ2ljYWwtb3IuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXN5bmMt
YXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1h
d2FpdC1leHByZXNzaW9uLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4t
Y2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWNvbmRpdGlvbi1l
eHByZXNzaW9uLWZhbHNlLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4t
Y2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWNvbmRpdGlvbi1l
eHByZXNzaW9uLXRydWUuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1j
bGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZGVjaW1hbC1lLW5v
dGF0aW9uYWwtbGl0ZXJhbC5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3Bu
LWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWxp
dGVyYWwuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNs
LWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwb25ldGlhdGlvbi1leHByZXNz
aW9uLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1m
aWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cHJlc3Npb24tY29hbGVzY2UuanMK
LUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5qcwotQSB0
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNzaW9uLWxvZ2ljYWwtb3IuanMKLUEgdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1w
cm9wZXJ0eS1uYW1lLWZyb20tZnVuY3Rpb24tZGVjbGFyYXRpb24uanMKLUEgdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUt
ZnJvbS1nZW5lcmF0b3ItZnVuY3Rpb24tZGVjbGFyYXRpb24uanMKLUEgdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20taWRlbnRpZmllci5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
Y3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2Vy
LWUtbm90YXRpb25hbC1saXRlcmFsLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWludGVn
ZXItc2VwYXJhdG9ycy5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNs
YXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1tYXRoLmpzCi1BIHRl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0
ZWQtcHJvcGVydHktbmFtZS1mcm9tLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tZGl2LmpzCi1B
IHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tbXVsdC5q
cwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRz
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1udWxsLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLW51bWVyaWMtbGl0ZXJhbC5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1zdHJp
bmctbGl0ZXJhbC5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNz
LWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS15aWVsZC1leHByZXNzaW9u
LmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVs
ZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lv
bi1hZGQuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNs
LWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1leHBy
ZXNzaW9uLXN1YnRyYWN0LmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4t
Y2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXJy
b3ctZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1hc3NpZ25tZW50LmpzCi1BIHRlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1w
cm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWJpdHdpc2Utb3IuanMKLUEg
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRo
b2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tY29h
bGVzY2UuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNs
LWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4
cHJlc3Npb24tbG9naWNhbC1hbmQuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1hc3NpZ25tZW50LWV4cHJlc3Npb24tbG9naWNhbC1vci5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLWFzeW5jLWFycm93LWZ1bmN0aW9uLWV4cHJlc3Npb24uanMKLUEgdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2Rz
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hd2FpdC1leHByZXNzaW9uLmpzCi1BIHRlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tY29uZGl0aW9uLWV4cHJlc3Npb24tZmFsc2UuanMK
LUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1t
ZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1jb25kaXRpb24tZXhwcmVzc2lvbi10
cnVlLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1m
aWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZGVjaW1hbC1lLW5vdGF0
aW9uYWwtbGl0ZXJhbC5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNs
YXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWRlY2lt
YWwtbGl0ZXJhbC5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNz
LWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cG9uZXRp
YXRpb24tZXhwcmVzc2lvbi5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3Bu
LWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4
cHJlc3Npb24tY29hbGVzY2UuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nw
bi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1l
eHByZXNzaW9uLWxvZ2ljYWwtYW5kLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZy
b20tZXhwcmVzc2lvbi1sb2dpY2FsLW9yLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1l
LWZyb20tZnVuY3Rpb24tZGVjbGFyYXRpb24uanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1mdW5jdGlvbi1leHByZXNzaW9uLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20tZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpzCi1BIHRlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20taWRlbnRpZmllci5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVy
dHktbmFtZS1mcm9tLWludGVnZXItZS1ub3RhdGlvbmFsLWxpdGVyYWwuanMKLUEgdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2VyLXNlcGFyYXRvcnMuanMKLUEgdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1tYXRoLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20tbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbi1kaXYuanMKLUEgdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVk
LXByb3BlcnR5LW5hbWUtZnJvbS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLW11bHQuanMKLUEg
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRo
b2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1udWxsLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1w
cm9wZXJ0eS1uYW1lLWZyb20tbnVtZXJpYy1saXRlcmFsLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lLWZyb20tc3RyaW5nLWxpdGVyYWwuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5
LW5hbWUtZnJvbS15aWVsZC1leHByZXNzaW9uLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9jcG4tY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFkZGl0aXZlLWV4cHJlc3Np
b24tYWRkLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY29tcHV0ZWQt
cHJvcGVydHktbmFtZS1mcm9tLWFkZGl0aXZlLWV4cHJlc3Npb24tc3VidHJhY3QuanMKLUQgdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZy
b20tYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvY3BuLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJl
c3Npb24tYXNzaWdubWVudC5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3Bu
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYml0d2lz
ZS1vci5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tY29hbGVzY2UuanMKLUQgdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZy
b20tYXNzaWdubWVudC1leHByZXNzaW9uLWxvZ2ljYWwtYW5kLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9jcG4tY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1l
bnQtZXhwcmVzc2lvbi1sb2dpY2FsLW9yLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9jcG4tY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzeW5jLWFycm93LWZ1bmN0aW9u
LWV4cHJlc3Npb24uanMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tY29uZGl0aW9uLWV4cHJlc3Npb24tZmFsc2UuanMKLUQg
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jb21wdXRlZC1wcm9wZXJ0eS1uYW1l
LWZyb20tY29uZGl0aW9uLWV4cHJlc3Npb24tdHJ1ZS5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvY3BuLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWUtbm90
YXRpb25hbC1saXRlcmFsLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4t
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWRlY2ltYWwtbGl0ZXJhbC5qcwotRCB0ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1l
eHBvbmV0aWF0aW9uLWV4cHJlc3Npb24uanMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2Nwbi1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1jb2FsZXNjZS5q
cwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNvbXB1dGVkLXByb3BlcnR5
LW5hbWUtZnJvbS1leHByZXNzaW9uLWxvZ2ljYWwtYW5kLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9jcG4tY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cHJlc3Npb24t
bG9naWNhbC1vci5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qcwotRCB0ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1m
dW5jdGlvbi1leHByZXNzaW9uLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9j
cG4tY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWdlbmVyYXRvci1mdW5jdGlvbi1kZWNsYXJh
dGlvbi5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1pZGVudGlmaWVyLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9jcG4tY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWludGVnZXItZS1ub3RhdGlv
bmFsLWxpdGVyYWwuanMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20taW50ZWdlci1zZXBhcmF0b3JzLmpzCi1EIHRlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW1h
dGguanMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lLWZyb20tbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbi1kaXYuanMKLUQgdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20t
bXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbi1tdWx0LmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9jcG4tY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW51bWVyaWMtbGl0ZXJh
bC5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNvbXB1dGVkLXByb3Bl
cnR5LW5hbWUtZnJvbS1zdHJpbmctbGl0ZXJhbC5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvY3BuLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS15aWVsZC1leHByZXNzaW9u
LmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tZmllbGRzLWNvbXB1dGVk
LXByb3BlcnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1leHByZXNzaW9uLWFkZC5qcwotRCB0ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1l
LWZyb20tYWRkaXRpdmUtZXhwcmVzc2lvbi1zdWJ0cmFjdC5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvY3BuLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXJy
b3ctZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvY3BuLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHBy
ZXNzaW9uLWFzc2lnbm1lbnQuanMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nw
bi1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lv
bi1iaXR3aXNlLW9yLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tZmll
bGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tY29h
bGVzY2UuanMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1maWVsZHMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dpY2FsLWFu
ZC5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWZpZWxkcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWxvZ2ljYWwtb3IuanMK
LUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1maWVsZHMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLWFzeW5jLWFycm93LWZ1bmN0aW9uLWV4cHJlc3Npb24uanMKLUQgdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHkt
bmFtZS1mcm9tLWNvbmRpdGlvbi1leHByZXNzaW9uLWZhbHNlLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9jcG4tZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1j
b25kaXRpb24tZXhwcmVzc2lvbi10cnVlLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9jcG4tZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWUtbm90
YXRpb25hbC1saXRlcmFsLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4t
ZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWxpdGVyYWwuanMKLUQg
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1maWVsZHMtY29tcHV0ZWQtcHJvcGVy
dHktbmFtZS1mcm9tLWV4cG9uZXRpYXRpb24tZXhwcmVzc2lvbi5qcwotRCB0ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvY3BuLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20t
ZXhwcmVzc2lvbi1jb2FsZXNjZS5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
Y3BuLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2Fs
LWFuZC5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWZpZWxkcy1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLW9yLmpzCi1EIHRlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvY3BuLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZnVuY3Rpb24t
ZXhwcmVzc2lvbi5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWZpZWxk
cy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlY2xhcmF0
aW9uLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tZmllbGRzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pZGVudGlmaWVyLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9jcG4tZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pbnRl
Z2VyLWUtbm90YXRpb25hbC1saXRlcmFsLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9jcG4tZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2VyLXNlcGFy
YXRvcnMuanMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1maWVsZHMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW1hdGguanMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2Nwbi1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW11bHRpcGxp
Y2F0aXZlLWV4cHJlc3Npb24tZGl2LmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9jcG4tZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1tdWx0aXBsaWNhdGl2ZS1l
eHByZXNzaW9uLW11bHQuanMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1m
aWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW51bWVyaWMtbGl0ZXJhbC5qcwotRCB0
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tc3RyaW5nLWxpdGVyYWwuanMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2Nwbi1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLXlpZWxkLWV4cHJl
c3Npb24uanMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1maWVsZHMtbWV0
aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lvbi1hZGQu
anMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1maWVsZHMtbWV0aG9kcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lvbi1zdWJ0cmFjdC5q
cwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWZpZWxkcy1tZXRob2RzLWNv
bXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hcnJvdy1mdW5jdGlvbi1leHByZXNzaW9uLmpzCi1E
IHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tZmllbGRzLW1ldGhvZHMtY29tcHV0
ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1hc3NpZ25tZW50Lmpz
Ci1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tZmllbGRzLW1ldGhvZHMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1iaXR3aXNlLW9y
LmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tZmllbGRzLW1ldGhvZHMt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1jb2FsZXNj
ZS5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWZpZWxkcy1tZXRob2Rz
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tbG9naWNh
bC1hbmQuanMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1maWVsZHMtbWV0
aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWxv
Z2ljYWwtb3IuanMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1maWVsZHMt
bWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXN5bmMtYXJyb3ctZnVuY3Rpb24t
ZXhwcmVzc2lvbi5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWZpZWxk
cy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1jb25kaXRpb24tZXhwcmVzc2lv
bi1mYWxzZS5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWZpZWxkcy1t
ZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1jb25kaXRpb24tZXhwcmVzc2lvbi10
cnVlLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tZmllbGRzLW1ldGhv
ZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWRlY2ltYWwtZS1ub3RhdGlvbmFsLWxpdGVy
YWwuanMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1maWVsZHMtbWV0aG9k
cy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZGVjaW1hbC1saXRlcmFsLmpzCi1EIHRlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLWV4cG9uZXRpYXRpb24tZXhwcmVzc2lvbi5qcwotRCB0ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5
LW5hbWUtZnJvbS1leHByZXNzaW9uLWNvYWxlc2NlLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9jcG4tZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LWV4cHJlc3Npb24tbG9naWNhbC1hbmQuanMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2Nwbi1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVz
c2lvbi1sb2dpY2FsLW9yLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4t
ZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWZ1bmN0aW9uLWRlY2xh
cmF0aW9uLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tZmllbGRzLW1l
dGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWZ1bmN0aW9uLWV4cHJlc3Npb24uanMK
LUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1maWVsZHMtbWV0aG9kcy1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpz
Ci1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tZmllbGRzLW1ldGhvZHMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWlkZW50aWZpZXIuanMKLUQgdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2Nwbi1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1l
LWZyb20taW50ZWdlci1lLW5vdGF0aW9uYWwtbGl0ZXJhbC5qcwotRCB0ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvY3BuLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUt
ZnJvbS1pbnRlZ2VyLXNlcGFyYXRvcnMuanMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2Nwbi1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbWF0aC5q
cwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWZpZWxkcy1tZXRob2RzLWNv
bXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLWRpdi5q
cwotRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWZpZWxkcy1tZXRob2RzLWNv
bXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLW11bHQu
anMKLUQgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1maWVsZHMtbWV0aG9kcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbnVtZXJpYy1saXRlcmFsLmpzCi1EIHRlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVy
dHktbmFtZS1mcm9tLXN0cmluZy1saXRlcmFsLmpzCi1EIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9jcG4tZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLXlp
ZWxkLWV4cHJlc3Npb24uanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1l
bnRzL3N5bnRheC9lYXJseS1lcnJvcnMvY2xhc3MtaGVyaXRhZ2UtYXJyYXktbGl0ZXJhbC1hcnJv
dy1oZXJpdGFnZS5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMv
c3ludGF4L2Vhcmx5LWVycm9ycy9jbGFzcy1oZXJpdGFnZS1hcnJheS1saXRlcmFsLWFzeW5jLWFy
cm93LWhlcml0YWdlLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9nZW4tbWV0
aG9kL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJl
Y3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtZ2VuLW1ldGgtZm9yYmlk
ZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wtZ2VuLW1l
dGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKLUEgdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2dlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQv
YjEvY2xzLWRlY2wtZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1w
cm9wLWFyZ3VtZW50cy5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZ2VuLW1l
dGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZGVjbC1nZW4tbWV0aC1zdGF0aWMtZm9y
YmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9nZW4tbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1k
ZWNsLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNh
bGxlci5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvbWV0aG9kL2ZvcmJpZGRl
bi1leHQvYjEvY2xzLWRlY2wtbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1h
cmd1bWVudHMuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL21ldGhvZC9mb3Ji
aWRkZW4tZXh0L2IxL2Nscy1kZWNsLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXBy
b3AtY2FsbGVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9tZXRob2QvZm9y
YmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNz
LXByb3AtY2FsbGVyLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9tZXRob2Qt
c3RhdGljL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4
dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtbWV0aC1z
dGF0aWMtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCi1BIHRlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIv
Y2xzLWRlY2wtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1j
YWxsZXIuanMKLU0gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1vZi9kc3RyL2FycmF5LXJl
c3QtaXRlci1ydHJuLWNsb3NlLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mb3Itb2Yv
ZHN0ci9vYmotcmVzdC1ub24tc3RyaW5nLWNvbXB1dGVkLXByb3BlcnR5LTEuanMKLUEgdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1vZi9kc3RyL29iai1yZXN0LW5vbi1zdHJpbmctY29tcHV0
ZWQtcHJvcGVydHktMWRvdC5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yLW9mL2Rz
dHIvb2JqLXJlc3Qtbm9uLXN0cmluZy1jb21wdXRlZC1wcm9wZXJ0eS0xZG90MC5qcwotQSB0ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yLW9mL2RzdHIvb2JqLXJlc3Qtbm9uLXN0cmluZy1jb21w
dXRlZC1wcm9wZXJ0eS0xZTAuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Zvci1vZi9k
c3RyL29iai1yZXN0LW5vbi1zdHJpbmctY29tcHV0ZWQtcHJvcGVydHktYXJyYXktMS5qcwotQSB0
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZm9yLW9mL2RzdHIvb2JqLXJlc3Qtbm9uLXN0cmluZy1j
b21wdXRlZC1wcm9wZXJ0eS1hcnJheS0xZTAuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2Zvci1vZi9kc3RyL29iai1yZXN0LW5vbi1zdHJpbmctY29tcHV0ZWQtcHJvcGVydHktc3RyaW5n
LTEuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2ZvcmJpZGRlbi1leHQv
YjEvY2xzLWV4cHItbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVu
dHMuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2ZvcmJpZGRlbi1leHQv
YjEvY2xzLWV4cHItbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIu
anMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjEv
ZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwot
QSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9mdW5j
LWRlY2wtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCi1BIHRlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2Z1bmMtZGVjbC1m
b3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwotQSB0ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24vcGFyYW0tZXZhbC1ub24tc3RyaWN0LWlzLWNvcnJlY3Qt
dmFsdWUuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL3Vuc2NvcGFibGVz
LXdpdGgtaW4tbmVzdGVkLWZuLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mdW5jdGlv
bi91bnNjb3BhYmxlcy13aXRoLmpzCi1BIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9nZW5lcmF0
b3JzL2ZvcmJpZGRlbi1leHQvYjEvZ2VuLWZ1bmMtZGVjbC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1h
Y2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVy
YXRvcnMvZm9yYmlkZGVuLWV4dC9iMS9nZW4tZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtZGlyZWN0
LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwotQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZ2VuZXJh
dG9ycy9mb3JiaWRkZW4tZXh0L2IyL2dlbi1mdW5jLWRlY2wtZm9yYmlkZGVuLWV4dC1pbmRpcmVj
dC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKLUEgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVy
YXRvcnMvdW5zY29wYWJsZXMtd2l0aC1pbi1uZXN0ZWQtZm4uanMKLUEgdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2dlbmVyYXRvcnMvdW5zY29wYWJsZXMtd2l0aC5qcwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKK00gaGFybmVzcy9hdG9taWNzSGVscGVyLmpzCitBIGhhcm5lc3MvaGlkZGVu
LWNvbnN0cnVjdG9ycy5qcworQSB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
Z2V0WWVhci9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvc2V0WWVhci9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2FubmV4Qi9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9HTVRTdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMK
K0QgdGVzdC9hbm5leEIvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGljZXMtZ3Jv
dXBzLW9iamVjdC5qcworRCB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvUmVnRXhwL25hbWVkLWdyb3Vw
cy9ncm91cHMtb2JqZWN0LmpzCitBIHRlc3QvYW5uZXhCL2J1aWx0LWlucy9TdHJpbmcvcHJvdG90
eXBlL2FuY2hvci9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2FubmV4Qi9idWlsdC1pbnMv
U3RyaW5nL3Byb3RvdHlwZS9iaWcvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9hbm5leEIv
YnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvYmxpbmsvbm90LWEtY29uc3RydWN0b3IuanMKK0Eg
dGVzdC9hbm5leEIvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvYm9sZC9ub3QtYS1jb25zdHJ1
Y3Rvci5qcworQSB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9maXhlZC9u
b3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvU3RyaW5nL3Byb3Rv
dHlwZS9mb250Y29sb3Ivbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9hbm5leEIvYnVpbHQt
aW5zL1N0cmluZy9wcm90b3R5cGUvZm9udHNpemUvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVz
dC9hbm5leEIvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvaXRhbGljcy9ub3QtYS1jb25zdHJ1
Y3Rvci5qcworQSB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9saW5rL25v
dC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYW5uZXhCL2J1aWx0LWlucy9TdHJpbmcvcHJvdG90
eXBlL3NtYWxsL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYW5uZXhCL2J1aWx0LWlucy9T
dHJpbmcvcHJvdG90eXBlL3N0cmlrZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2FubmV4
Qi9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zdWIvbm90LWEtY29uc3RydWN0b3IuanMKK0Eg
dGVzdC9hbm5leEIvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3Vic3RyL25vdC1hLWNvbnN0
cnVjdG9yLmpzCitBIHRlc3QvYW5uZXhCL2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3N1cC9u
b3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvZXNjYXBlL25vdC1h
LWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYW5uZXhCL2J1aWx0LWlucy91bmVzY2FwZS9ub3QtYS1j
b25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9BcnJheS9mcm9tL25vdC1hLWNvbnN0cnVj
dG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0FycmF5L2lzLWEtY29uc3RydWN0b3IuanMKK0EgdGVz
dC9idWlsdC1pbnMvQXJyYXkvaXNBcnJheS9ub3QtYS1jb25zdHJ1Y3Rvci5qcworTSB0ZXN0L2J1
aWx0LWlucy9BcnJheS9vZi9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9B
cnJheS9wcm90b3R5cGUvU3ltYm9sLml0ZXJhdG9yL25vdC1hLWNvbnN0cnVjdG9yLmpzCitNIHRl
c3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb25jYXQvbm90LWEtY29uc3RydWN0b3IuanMK
K0EgdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2NvcHlXaXRoaW4vbm90LWEtY29uc3Ry
dWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2VudHJpZXMvbm90LWEt
Y29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2V2ZXJ5L25v
dC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9maWxs
L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9m
aWx0ZXIvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90
eXBlL2ZpbmQvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJv
dG90eXBlL2ZpbmRJbmRleC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9B
cnJheS9wcm90b3R5cGUvZmxhdC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlu
cy9BcnJheS9wcm90b3R5cGUvZmxhdE1hcC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1
aWx0LWlucy9BcnJheS9wcm90b3R5cGUvZm9yRWFjaC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0
ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvaW5jbHVkZXMvbm90LWEtY29uc3RydWN0b3Iu
anMKK0EgdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2luZGV4T2Yvbm90LWEtY29uc3Ry
dWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2pvaW4vbm90LWEtY29u
c3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2tleXMvbm90LWEt
Y29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2xhc3RJbmRl
eE9mL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlw
ZS9tYXAvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90
eXBlL3BvcC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90
b3R5cGUvcHVzaC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9BcnJheS9w
cm90b3R5cGUvcmVkdWNlL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0Fy
cmF5L3Byb3RvdHlwZS9yZWR1Y2VSaWdodC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1
aWx0LWlucy9BcnJheS9wcm90b3R5cGUvcmV2ZXJzZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0
ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc2hpZnQvbm90LWEtY29uc3RydWN0b3IuanMK
K0EgdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3NsaWNlL25vdC1hLWNvbnN0cnVjdG9y
LmpzCitBIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zb21lL25vdC1hLWNvbnN0cnVj
dG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zb3J0L25vdC1hLWNvbnN0
cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zcGxpY2Uvbm90LWEt
Y29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3RvTG9jYWxl
U3RyaW5nL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3Rv
dHlwZS90b1N0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9BcnJh
eS9wcm90b3R5cGUvdW5zaGlmdC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlu
cy9BcnJheS9wcm90b3R5cGUvdmFsdWVzL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVp
bHQtaW5zL0FycmF5QnVmZmVyL2lzLWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMv
QXJyYXlCdWZmZXIvaXNWaWV3L25vdC1hLWNvbnN0cnVjdG9yLmpzCitNIHRlc3QvYnVpbHQtaW5z
L0FycmF5QnVmZmVyL3Byb3RvdHlwZS9ieXRlTGVuZ3RoL2RldGFjaGVkLWJ1ZmZlci5qcworTSB0
ZXN0L2J1aWx0LWlucy9BcnJheUJ1ZmZlci9wcm90b3R5cGUvYnl0ZUxlbmd0aC90aGlzLWlzLXNo
YXJlZGFycmF5YnVmZmVyLmpzCitBIHRlc3QvYnVpbHQtaW5zL0FycmF5QnVmZmVyL3Byb3RvdHlw
ZS9zbGljZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9Bc3luY0Fycm93
RnVuY3Rpb24vaXMtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9Bc3luY0Z1bmN0
aW9uL2lzLWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvQXN5bmNHZW5lcmF0b3JG
dW5jdGlvbi9pcy1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0F0b21pY3MvYWRk
L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0F0b21pY3MvYW5kL25vdC1h
LWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0F0b21pY3MvY29tcGFyZUV4Y2hhbmdl
L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0F0b21pY3MvZXhjaGFuZ2Uv
bm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvQXRvbWljcy9pc0xvY2tGcmVl
L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0F0b21pY3MvbG9hZC9ub3Qt
YS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL25vdGlmeS9ub3QtYS1j
b25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL29yL25vdC1hLWNvbnN0cnVj
dG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvc3RvcmUvbm90LWEtY29uc3RydWN0b3Iu
anMKK0EgdGVzdC9idWlsdC1pbnMvQXRvbWljcy9zdWIvbm90LWEtY29uc3RydWN0b3IuanMKK00g
dGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0L2ZhbHNlLWZvci10aW1lb3V0LmpzCitNIHRlc3Qv
YnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JhZC1yYW5nZS5qcworTSB0ZXN0L2J1aWx0LWlu
cy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvYmFkLXJhbmdlLmpzCitNIHRlc3QvYnVpbHQtaW5z
L0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9mYWxzZS1mb3ItdGltZW91dC1hZ2VudC5qcworTSB0
ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvZmFsc2UtZm9yLXRpbWVvdXQu
anMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L2dvb2Qtdmlld3Mu
anMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L25hbi1mb3ItdGlt
ZW91dC1hZ2VudC5qcworTSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQv
bmVnYXRpdmUtaW5kZXgtdGhyb3dzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFz
eW5jL2JpZ2ludC9uZWdhdGl2ZS10aW1lb3V0LWFnZW50LmpzCitNIHRlc3QvYnVpbHQtaW5zL0F0
b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9uZWdhdGl2ZS10aW1lb3V0LmpzCitNIHRlc3QvYnVpbHQt
aW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9uby1zcHVyaW91cy13YWtldXAtbm8tb3BlcmF0
aW9uLmpzCitNIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9uby1zcHVy
aW91cy13YWtldXAtb24tYWRkLmpzCitNIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5j
L2JpZ2ludC9uby1zcHVyaW91cy13YWtldXAtb24tYW5kLmpzCitNIHRlc3QvYnVpbHQtaW5zL0F0
b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9uby1zcHVyaW91cy13YWtldXAtb24tY29tcGFyZUV4Y2hh
bmdlLmpzCitNIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9uby1zcHVy
aW91cy13YWtldXAtb24tZXhjaGFuZ2UuanMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0
QXN5bmMvYmlnaW50L25vLXNwdXJpb3VzLXdha2V1cC1vbi1vci5qcworTSB0ZXN0L2J1aWx0LWlu
cy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvbm8tc3B1cmlvdXMtd2FrZXVwLW9uLXN0b3JlLmpz
CitNIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9uby1zcHVyaW91cy13
YWtldXAtb24tc3ViLmpzCitNIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2lu
dC9uby1zcHVyaW91cy13YWtldXAtb24teG9yLmpzCitNIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mv
d2FpdEFzeW5jL2JpZ2ludC9ub24tYmlnaW50NjQtdHlwZWRhcnJheS10aHJvd3MuanMKK00gdGVz
dC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L25vbi1zaGFyZWQtYnVmZmVyZGF0
YS10aHJvd3MuanMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L25v
dC1hLXR5cGVkYXJyYXktdGhyb3dzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFz
eW5jL2JpZ2ludC9ub3QtYW4tb2JqZWN0LXRocm93cy5qcworTSB0ZXN0L2J1aWx0LWlucy9BdG9t
aWNzL3dhaXRBc3luYy9iaWdpbnQvbnVsbC1idWZmZXJkYXRhLXRocm93cy5qcworTSB0ZXN0L2J1
aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvbnVsbC1mb3ItdGltZW91dC1hZ2VudC5q
cworTSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvbnVsbC1mb3ItdGlt
ZW91dC5qcworTSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvb2JqZWN0
LWZvci10aW1lb3V0LWFnZW50LmpzCitNIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5j
L2JpZ2ludC9vYmplY3QtZm9yLXRpbWVvdXQuanMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWljcy93
YWl0QXN5bmMvYmlnaW50L291dC1vZi1yYW5nZS1pbmRleC10aHJvd3MuanMKK00gdGVzdC9idWls
dC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L3BvaXNvbmVkLW9iamVjdC1mb3ItdGltZW91
dC10aHJvd3MtYWdlbnQuanMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmln
aW50L3BvaXNvbmVkLW9iamVjdC1mb3ItdGltZW91dC10aHJvd3MuanMKK00gdGVzdC9idWlsdC1p
bnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L3N5bWJvbC1mb3ItaW5kZXgtdGhyb3dzLWFnZW50
LmpzCitNIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9zeW1ib2wtZm9y
LWluZGV4LXRocm93cy5qcworTSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdp
bnQvc3ltYm9sLWZvci10aW1lb3V0LXRocm93cy1hZ2VudC5qcworTSB0ZXN0L2J1aWx0LWlucy9B
dG9taWNzL3dhaXRBc3luYy9iaWdpbnQvc3ltYm9sLWZvci10aW1lb3V0LXRocm93cy5qcworTSB0
ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvc3ltYm9sLWZvci12YWx1ZS10
aHJvd3MtYWdlbnQuanMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50
L3N5bWJvbC1mb3ItdmFsdWUtdGhyb3dzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2Fp
dEFzeW5jL2JpZ2ludC90cnVlLWZvci10aW1lb3V0LWFnZW50LmpzCitNIHRlc3QvYnVpbHQtaW5z
L0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC90cnVlLWZvci10aW1lb3V0LmpzCitNIHRlc3QvYnVp
bHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC91bmRlZmluZWQtZm9yLXRpbWVvdXQtYWdl
bnQuanMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L3VuZGVmaW5l
ZC1mb3ItdGltZW91dC5qcworTSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdp
bnQvdW5kZWZpbmVkLWluZGV4LWRlZmF1bHRzLXRvLXplcm8tYWdlbnQuanMKK00gdGVzdC9idWls
dC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L3ZhbHVlLW5vdC1lcXVhbC1hZ2VudC5qcwor
TSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvdmFsdWUtbm90LWVxdWFs
LmpzCitNIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC93YWl0ZXJsaXN0
LWJsb2NrLWluZGV4ZWRwb3NpdGlvbi13YWtlLmpzCitNIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mv
d2FpdEFzeW5jL2JpZ2ludC93YXMtd29rZW4tYmVmb3JlLXRpbWVvdXQuanMKK00gdGVzdC9idWls
dC1pbnMvQXRvbWljcy93YWl0QXN5bmMvZmFsc2UtZm9yLXRpbWVvdXQtYWdlbnQuanMKK00gdGVz
dC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvZmFsc2UtZm9yLXRpbWVvdXQuanMKK00gdGVz
dC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvZ29vZC12aWV3cy5qcworQSB0ZXN0L2J1aWx0
LWlucy9BdG9taWNzL3dhaXRBc3luYy9pbXBsaWNpdC1pbmZpbml0eS1mb3ItdGltZW91dC5qcwor
TSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9pcy1mdW5jdGlvbi5qcworTSB0ZXN0
L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uYW4tZm9yLXRpbWVvdXQtYWdlbnQuanMKK00g
dGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbmVnYXRpdmUtaW5kZXgtdGhyb3dzLmpz
CitNIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25lZ2F0aXZlLXRpbWVvdXQtYWdl
bnQuanMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbmVnYXRpdmUtdGltZW91
dC5qcworTSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtl
dXAtbm8tb3BlcmF0aW9uLmpzCitNIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25v
LXNwdXJpb3VzLXdha2V1cC1vbi1hZGQuanMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0
QXN5bmMvbm8tc3B1cmlvdXMtd2FrZXVwLW9uLWFuZC5qcworTSB0ZXN0L2J1aWx0LWlucy9BdG9t
aWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtldXAtb24tY29tcGFyZUV4Y2hhbmdlLmpzCitN
IHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25vLXNwdXJpb3VzLXdha2V1cC1vbi1l
eGNoYW5nZS5qcworTSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1zcHVyaW91
cy13YWtldXAtb24tb3IuanMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbm8t
c3B1cmlvdXMtd2FrZXVwLW9uLXN0b3JlLmpzCitNIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2Fp
dEFzeW5jL25vLXNwdXJpb3VzLXdha2V1cC1vbi1zdWIuanMKK00gdGVzdC9idWlsdC1pbnMvQXRv
bWljcy93YWl0QXN5bmMvbm8tc3B1cmlvdXMtd2FrZXVwLW9uLXhvci5qcworTSB0ZXN0L2J1aWx0
LWlucy9BdG9taWNzL3dhaXRBc3luYy9ub24taW50MzItdHlwZWRhcnJheS10aHJvd3MuanMKK00g
dGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbm9uLXNoYXJlZC1idWZmZXJkYXRhLXRo
cm93cy5qcworTSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9ub3QtYS10eXBlZGFy
cmF5LXRocm93cy5qcworTSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9ub3QtYW4t
b2JqZWN0LXRocm93cy5qcworTSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9udWxs
LWJ1ZmZlcmRhdGEtdGhyb3dzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5j
L251bGwtZm9yLXRpbWVvdXQtYWdlbnQuanMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0
QXN5bmMvbnVsbC1mb3ItdGltZW91dC5qcworTSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRB
c3luYy9vYmplY3QtZm9yLXRpbWVvdXQtYWdlbnQuanMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWlj
cy93YWl0QXN5bmMvb2JqZWN0LWZvci10aW1lb3V0LmpzCitNIHRlc3QvYnVpbHQtaW5zL0F0b21p
Y3Mvd2FpdEFzeW5jL291dC1vZi1yYW5nZS1pbmRleC10aHJvd3MuanMKK00gdGVzdC9idWlsdC1p
bnMvQXRvbWljcy93YWl0QXN5bmMvcG9pc29uZWQtb2JqZWN0LWZvci10aW1lb3V0LXRocm93cy1h
Z2VudC5qcworTSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9wb2lzb25lZC1vYmpl
Y3QtZm9yLXRpbWVvdXQtdGhyb3dzLmpzCitNIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFz
eW5jL3JldHVybnMtcmVzdWx0LW9iamVjdC12YWx1ZS1pcy1wcm9taXNlLXJlc29sdmVzLXRvLW9r
LmpzCitNIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3JldHVybnMtcmVzdWx0LW9i
amVjdC12YWx1ZS1pcy1wcm9taXNlLXJlc29sdmVzLXRvLXRpbWVkLW91dC5qcworTSB0ZXN0L2J1
aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9yZXR1cm5zLXJlc3VsdC1vYmplY3QtdmFsdWUtaXMt
c3RyaW5nLW5vdC1lcXVhbC5qcworTSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9y
ZXR1cm5zLXJlc3VsdC1vYmplY3QtdmFsdWUtaXMtc3RyaW5nLXRpbWVkLW91dC5qcworTSB0ZXN0
L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9zeW1ib2wtZm9yLWluZGV4LXRocm93cy1hZ2Vu
dC5qcworTSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9zeW1ib2wtZm9yLWluZGV4
LXRocm93cy5qcworTSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9zeW1ib2wtZm9y
LXRpbWVvdXQtdGhyb3dzLWFnZW50LmpzCitNIHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFz
eW5jL3N5bWJvbC1mb3ItdGltZW91dC10aHJvd3MuanMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWlj
cy93YWl0QXN5bmMvc3ltYm9sLWZvci12YWx1ZS10aHJvd3MtYWdlbnQuanMKK00gdGVzdC9idWls
dC1pbnMvQXRvbWljcy93YWl0QXN5bmMvc3ltYm9sLWZvci12YWx1ZS10aHJvd3MuanMKK00gdGVz
dC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvdHJ1ZS1mb3ItdGltZW91dC1hZ2VudC5qcwor
TSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy90cnVlLWZvci10aW1lb3V0LmpzCitN
IHRlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3VuZGVmaW5lZC1mb3ItdGltZW91dC1h
Z2VudC5qcworTSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy91bmRlZmluZWQtZm9y
LXRpbWVvdXQuanMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvdW5kZWZpbmVk
LWluZGV4LWRlZmF1bHRzLXRvLXplcm8tYWdlbnQuanMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWlj
cy93YWl0QXN5bmMvdmFsaWRhdGUtYXJyYXl0eXBlLWJlZm9yZS1pbmRleC1jb2VyY2lvbi5qcwor
TSB0ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy92YWxpZGF0ZS1hcnJheXR5cGUtYmVm
b3JlLXRpbWVvdXQtY29lcmNpb24uanMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5
bmMvdmFsaWRhdGUtYXJyYXl0eXBlLWJlZm9yZS12YWx1ZS1jb2VyY2lvbi5qcworTSB0ZXN0L2J1
aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy92YWx1ZS1ub3QtZXF1YWwtYWdlbnQuanMKK00gdGVz
dC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvdmFsdWUtbm90LWVxdWFsLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3dhaXRlcmxpc3QtYmxvY2staW5kZXhlZHBvc2l0
aW9uLXdha2UuanMKK00gdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvd2FzLXdva2Vu
LWJlZm9yZS10aW1lb3V0LmpzCitBIHRlc3QvYnVpbHQtaW5zL0F0b21pY3MveG9yL25vdC1hLWNv
bnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0JpZ0ludC9hc0ludE4vbm90LWEtY29uc3Ry
dWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvQmlnSW50L2FzVWludE4vbm90LWEtY29uc3RydWN0
b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvQmlnSW50L2lzLWEtY29uc3RydWN0b3IuanMKK0QgdGVz
dC9idWlsdC1pbnMvQmlnSW50L25ldy10YXJnZXQtdGhyb3dzLmpzCitBIHRlc3QvYnVpbHQtaW5z
L0JpZ0ludC9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMKK0Eg
dGVzdC9idWlsdC1pbnMvQmlnSW50L3Byb3RvdHlwZS90b1N0cmluZy9ub3QtYS1jb25zdHJ1Y3Rv
ci5qcworQSB0ZXN0L2J1aWx0LWlucy9CaWdJbnQvcHJvdG90eXBlL3ZhbHVlT2Yvbm90LWEtY29u
c3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvQm9vbGVhbi9pcy1hLWNvbnN0cnVjdG9yLmpz
CitBIHRlc3QvYnVpbHQtaW5zL0Jvb2xlYW4vcHJvdG90eXBlL3RvU3RyaW5nL25vdC1hLWNvbnN0
cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0Jvb2xlYW4vcHJvdG90eXBlL3ZhbHVlT2Yvbm90
LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcvaXMtYS1jb25zdHJ1
Y3Rvci5qcworTSB0ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5cGUvYnl0ZUxlbmd0aC9k
ZXRhY2hlZC1idWZmZXIuanMKK0EgdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL2J5
dGVMZW5ndGgvaW5zdGFuY2UtaGFzLWRldGFjaGVkLWJ1ZmZlci5qcworQSB0ZXN0L2J1aWx0LWlu
cy9EYXRhVmlldy9wcm90b3R5cGUvZ2V0QmlnSW50NjQvbm90LWEtY29uc3RydWN0b3IuanMKK0Eg
dGVzdC9idWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL2dldEJpZ1VpbnQ2NC9ub3QtYS1jb25z
dHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5cGUvZ2V0RmxvYXQz
Mi9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5
cGUvZ2V0RmxvYXQ2NC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9EYXRh
Vmlldy9wcm90b3R5cGUvZ2V0SW50MTYvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWls
dC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL2dldEludDMyL25vdC1hLWNvbnN0cnVjdG9yLmpzCitB
IHRlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9nZXRJbnQ4L25vdC1hLWNvbnN0cnVj
dG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9nZXRVaW50MTYvbm90
LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL2dl
dFVpbnQzMi9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9w
cm90b3R5cGUvZ2V0VWludDgvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMv
RGF0YVZpZXcvcHJvdG90eXBlL3NldEJpZ0ludDY0L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRl
c3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9zZXRCaWdVaW50NjQvbm90LWEtY29uc3Ry
dWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL3NldEZsb2F0MzIv
bm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBl
L3NldEZsb2F0NjQvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvRGF0YVZp
ZXcvcHJvdG90eXBlL3NldEludDE2L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQt
aW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9zZXRJbnQzMi9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0
ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5cGUvc2V0SW50OC9ub3QtYS1jb25zdHJ1Y3Rv
ci5qcworQSB0ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5cGUvc2V0VWludDE2L25vdC1h
LWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9zZXRV
aW50MzIvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcvcHJv
dG90eXBlL3NldFVpbnQ4L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0Rh
dGUvVVRDL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0RhdGUvaXMtYS1j
b25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9EYXRlL25vdy9ub3QtYS1jb25zdHJ1Y3Rv
ci5qcworQSB0ZXN0L2J1aWx0LWlucy9EYXRlL3BhcnNlL25vdC1hLWNvbnN0cnVjdG9yLmpzCitB
IHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldERhdGUvbm90LWEtY29uc3RydWN0b3Iu
anMKK0EgdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0RGF5L25vdC1hLWNvbnN0cnVj
dG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldEZ1bGxZZWFyL25vdC1h
LWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldEhvdXJz
L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dl
dE1pbGxpc2Vjb25kcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9nZXRNaW51dGVzL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQt
aW5zL0RhdGUvcHJvdG90eXBlL2dldE1vbnRoL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFNlY29uZHMvbm90LWEtY29uc3RydWN0b3IuanMK
K0EgdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VGltZS9ub3QtYS1jb25zdHJ1Y3Rv
ci5qcworQSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRUaW1lem9uZU9mZnNldC9u
b3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRV
VENEYXRlL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL2dldFVUQ0RheS9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9nZXRVVENGdWxsWWVhci9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENIb3Vycy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwor
QSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNaWxsaXNlY29uZHMvbm90LWEt
Y29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDTWlu
dXRlcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS9nZXRVVENNb250aC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9nZXRVVENTZWNvbmRzL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldERhdGUvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0RnVsbFllYXIvbm90LWEtY29uc3RydWN0b3Iu
anMKK0EgdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0SG91cnMvbm90LWEtY29uc3Ry
dWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TWlsbGlzZWNvbmRz
L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3Nl
dE1pbnV0ZXMvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvc2V0TW9udGgvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvc2V0U2Vjb25kcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRUaW1lL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0RhdGUvbm90LWEtY29uc3RydWN0b3IuanMK
K0EgdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDRnVsbFllYXIvbm90LWEtY29u
c3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDSG91cnMv
bm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0
VVRDTWlsbGlzZWNvbmRzL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL3NldFVUQ01pbnV0ZXMvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTW9udGgvbm90LWEtY29uc3RydWN0b3IuanMK
K0EgdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDU2Vjb25kcy9ub3QtYS1jb25z
dHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0RhdGVTdHJpbmcv
bm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9J
U09TdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMKK00gdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvdG9KU09OL2J1aWx0aW4uanMKK0EgdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
dG9KU09OL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3RvTG9jYWxlRGF0ZVN0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwor
QSB0ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZVRpbWVTdHJpbmcvbm90LWEt
Y29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9TdHJpbmcv
bm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9U
aW1lU3RyaW5nL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL3RvVVRDU3RyaW5nL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL3ZhbHVlT2Yvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWls
dC1pbnMvRXJyb3IvaXMtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9FcnJvci9w
cm90b3R5cGUvdG9TdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMKK00gdGVzdC9idWlsdC1pbnMv
RmluYWxpemF0aW9uUmVnaXN0cnkvZ2MtaGFzLW9uZS1jaGFuY2UtdG8tY2FsbC1jbGVhbnVwQ2Fs
bGJhY2suanMKK0EgdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9uUmVnaXN0cnkvaXMtYS1jb25z
dHJ1Y3Rvci5qcworTSB0ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9wcm90b3R5
cGUvY2xlYW51cFNvbWUvY2FsbGJhY2stbm90LWNhbGxhYmxlLXRocm93cy5qcworTSB0ZXN0L2J1
aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9wcm90b3R5cGUvY2xlYW51cFNvbWUvY2xlYW51
cC1wcmV2ZW50ZWQtd2l0aC1yZWZlcmVuY2UuanMKK00gdGVzdC9idWlsdC1pbnMvRmluYWxpemF0
aW9uUmVnaXN0cnkvcHJvdG90eXBlL2NsZWFudXBTb21lL2NsZWFudXAtcHJldmVudGVkLXdpdGgt
dW5yZWdpc3Rlci5qcworTSB0ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9wcm90
b3R5cGUvY2xlYW51cFNvbWUvY3VzdG9tLXRoaXMuanMKK00gdGVzdC9idWlsdC1pbnMvRmluYWxp
emF0aW9uUmVnaXN0cnkvcHJvdG90eXBlL2NsZWFudXBTb21lL2hvbGRpbmdzLW11bHRpcGxlLXZh
bHVlcy5qcworTSB0ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9wcm90b3R5cGUv
Y2xlYW51cFNvbWUvbGVuZ3RoLmpzCitNIHRlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lz
dHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9uYW1lLmpzCitBIHRlc3QvYnVpbHQtaW5zL0ZpbmFs
aXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9ub3QtYS1jb25zdHJ1Y3Rvci5q
cworTSB0ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9wcm90b3R5cGUvY2xlYW51
cFNvbWUvcHJvcC1kZXNjLmpzCitNIHRlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5
L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9yZWVudHJhbmN5LmpzCitNIHRlc3QvYnVpbHQtaW5zL0Zp
bmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9yZXR1cm4tdW5kZWZpbmVk
LXdpdGgtZ2MuanMKK00gdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9uUmVnaXN0cnkvcHJvdG90
eXBlL2NsZWFudXBTb21lL3JldHVybi11bmRlZmluZWQuanMKK00gdGVzdC9idWlsdC1pbnMvRmlu
YWxpemF0aW9uUmVnaXN0cnkvcHJvdG90eXBlL2NsZWFudXBTb21lL3RoaXMtZG9lcy1ub3QtaGF2
ZS1pbnRlcm5hbC1jZWxscy10aHJvd3MuanMKK00gdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9u
UmVnaXN0cnkvcHJvdG90eXBlL2NsZWFudXBTb21lL3RoaXMtbm90LW9iamVjdC10aHJvd3MuanMK
K0EgdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9uUmVnaXN0cnkvcHJvdG90eXBlL3JlZ2lzdGVy
L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lz
dHJ5L3Byb3RvdHlwZS91bnJlZ2lzdGVyL25vdC1hLWNvbnN0cnVjdG9yLmpzCitNIHRlc3QvYnVp
bHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS91bnJlZ2lzdGVyL3VucmVnaXN0
ZXItY2xlYW5lZC11cC1jZWxsLmpzCitBIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL2lzLWEtY29u
c3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2FwcGx5L25v
dC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9i
aW5kL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3Rv
dHlwZS9jYWxsL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL0Z1bmN0aW9u
L3Byb3RvdHlwZS90b1N0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlu
cy9HZW5lcmF0b3JGdW5jdGlvbi9pcy1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5z
L0dlbmVyYXRvclByb3RvdHlwZS9uZXh0L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVp
bHQtaW5zL0dlbmVyYXRvclByb3RvdHlwZS9yZXR1cm4vbm90LWEtY29uc3RydWN0b3IuanMKK0Eg
dGVzdC9idWlsdC1pbnMvR2VuZXJhdG9yUHJvdG90eXBlL3Rocm93L25vdC1hLWNvbnN0cnVjdG9y
LmpzCitSMTAwIHRlc3QvYW5uZXhCL2J1aWx0LWlucy9KU09OL3BhcnNlL1MxNS4xMi4yX0ExLmpz
IHRlc3QvYnVpbHQtaW5zL0pTT04vcGFyc2UvUzE1LjEyLjJfQTEuanMKK00gdGVzdC9idWlsdC1p
bnMvSlNPTi9wYXJzZS9idWlsdGluLmpzCitBIHRlc3QvYnVpbHQtaW5zL0pTT04vcGFyc2UvZHVw
bGljYXRlLXByb3RvLmpzCitBIHRlc3QvYnVpbHQtaW5zL0pTT04vcGFyc2Uvbm90LWEtY29uc3Ry
dWN0b3IuanMKK00gdGVzdC9idWlsdC1pbnMvSlNPTi9zdHJpbmdpZnkvYnVpbHRpbi5qcworQSB0
ZXN0L2J1aWx0LWlucy9KU09OL3N0cmluZ2lmeS9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0
L2J1aWx0LWlucy9NYXAvaXMtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9NYXAv
cHJvdG90eXBlL1N5bWJvbC5pdGVyYXRvci9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1
aWx0LWlucy9NYXAvcHJvdG90eXBlL2NsZWFyL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3Qv
YnVpbHQtaW5zL01hcC9wcm90b3R5cGUvZGVsZXRlL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRl
c3QvYnVpbHQtaW5zL01hcC9wcm90b3R5cGUvZW50cmllcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwor
QSB0ZXN0L2J1aWx0LWlucy9NYXAvcHJvdG90eXBlL2ZvckVhY2gvbm90LWEtY29uc3RydWN0b3Iu
anMKK0EgdGVzdC9idWlsdC1pbnMvTWFwL3Byb3RvdHlwZS9nZXQvbm90LWEtY29uc3RydWN0b3Iu
anMKK0EgdGVzdC9idWlsdC1pbnMvTWFwL3Byb3RvdHlwZS9oYXMvbm90LWEtY29uc3RydWN0b3Iu
anMKK0EgdGVzdC9idWlsdC1pbnMvTWFwL3Byb3RvdHlwZS9rZXlzL25vdC1hLWNvbnN0cnVjdG9y
LmpzCitBIHRlc3QvYnVpbHQtaW5zL01hcC9wcm90b3R5cGUvc2V0L25vdC1hLWNvbnN0cnVjdG9y
LmpzCitBIHRlc3QvYnVpbHQtaW5zL01hcC9wcm90b3R5cGUvdmFsdWVzL25vdC1hLWNvbnN0cnVj
dG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL01hdGgvYWJzL25vdC1hLWNvbnN0cnVjdG9yLmpzCitB
IHRlc3QvYnVpbHQtaW5zL01hdGgvYWNvcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1
aWx0LWlucy9NYXRoL2Fjb3NoL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5z
L01hdGgvYXNpbi9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9NYXRoL2Fz
aW5oL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL01hdGgvYXRhbi9ub3Qt
YS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9NYXRoL2F0YW4yL25vdC1hLWNvbnN0
cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL01hdGgvYXRhbmgvbm90LWEtY29uc3RydWN0b3Iu
anMKK0EgdGVzdC9idWlsdC1pbnMvTWF0aC9jYnJ0L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRl
c3QvYnVpbHQtaW5zL01hdGgvY2VpbC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0
LWlucy9NYXRoL2NsejMyL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL01h
dGgvY29zL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL01hdGgvY29zaC9u
b3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9NYXRoL2V4cC9ub3QtYS1jb25z
dHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9NYXRoL2V4cG0xL25vdC1hLWNvbnN0cnVjdG9y
LmpzCitBIHRlc3QvYnVpbHQtaW5zL01hdGgvZmxvb3Ivbm90LWEtY29uc3RydWN0b3IuanMKK0Eg
dGVzdC9idWlsdC1pbnMvTWF0aC9mcm91bmQvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9i
dWlsdC1pbnMvTWF0aC9oeXBvdC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlu
cy9NYXRoL2ltdWwvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvTWF0aC9s
b2cvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvTWF0aC9sb2cxMC9ub3Qt
YS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9NYXRoL2xvZzFwL25vdC1hLWNvbnN0
cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL01hdGgvbG9nMi9ub3QtYS1jb25zdHJ1Y3Rvci5q
cworQSB0ZXN0L2J1aWx0LWlucy9NYXRoL21heC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0
L2J1aWx0LWlucy9NYXRoL21pbi9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlu
cy9NYXRoL3Bvdy9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9NYXRoL3Jh
bmRvbS9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9NYXRoL3JvdW5kL25v
dC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL01hdGgvc2lnbi9ub3QtYS1jb25z
dHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9NYXRoL3Npbi9ub3QtYS1jb25zdHJ1Y3Rvci5q
cworQSB0ZXN0L2J1aWx0LWlucy9NYXRoL3Npbmgvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVz
dC9idWlsdC1pbnMvTWF0aC9zcXJ0L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQt
aW5zL01hdGgvdGFuL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL01hdGgv
dGFuaC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9NYXRoL3RydW5jL25v
dC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL05hdGl2ZUVycm9ycy9BZ2dyZWdh
dGVFcnJvci9pcy1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL05hdGl2ZUVycm9y
cy9FdmFsRXJyb3IvaXMtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9OYXRpdmVF
cnJvcnMvUmFuZ2VFcnJvci9pcy1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL05h
dGl2ZUVycm9ycy9SZWZlcmVuY2VFcnJvci9pcy1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVp
bHQtaW5zL05hdGl2ZUVycm9ycy9TeW50YXhFcnJvci9pcy1hLWNvbnN0cnVjdG9yLmpzCitBIHRl
c3QvYnVpbHQtaW5zL05hdGl2ZUVycm9ycy9UeXBlRXJyb3IvaXMtYS1jb25zdHJ1Y3Rvci5qcwor
QSB0ZXN0L2J1aWx0LWlucy9OYXRpdmVFcnJvcnMvVVJJRXJyb3IvaXMtYS1jb25zdHJ1Y3Rvci5q
cworQSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvaXMtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1
aWx0LWlucy9OdW1iZXIvaXNGaW5pdGUvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWls
dC1pbnMvTnVtYmVyL2lzSW50ZWdlci9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0
LWlucy9OdW1iZXIvaXNOYU4vbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMv
TnVtYmVyL2lzU2FmZUludGVnZXIvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1p
bnMvTnVtYmVyL3BhcnNlRmxvYXQvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1p
bnMvTnVtYmVyL3BhcnNlSW50L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5z
L051bWJlci9wcm90b3R5cGUvdG9FeHBvbmVudGlhbC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0
ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvRml4ZWQvbm90LWEtY29uc3RydWN0b3Iu
anMKK0EgdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9ub3Qt
YS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvUHJl
Y2lzaW9uL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL051bWJlci9wcm90
b3R5cGUvdG9TdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvTnVt
YmVyL3Byb3RvdHlwZS92YWx1ZU9mL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQt
aW5zL09iamVjdC9hc3NpZ24vbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMv
T2JqZWN0L2NyZWF0ZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9PYmpl
Y3QvZGVmaW5lUHJvcGVydGllcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlu
cy9PYmplY3QvZGVmaW5lUHJvcGVydHkvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWls
dC1pbnMvT2JqZWN0L2VudHJpZXMvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1p
bnMvT2JqZWN0L2ZyZWV6ZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9P
YmplY3QvZnJvbUVudHJpZXMvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMv
T2JqZWN0L2dldE93blByb3BlcnR5RGVzY3JpcHRvci9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0
ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycy9ub3QtYS1jb25z
dHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0T3duUHJvcGVydHlOYW1lcy9u
b3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0T3duUHJvcGVy
dHlTeW1ib2xzL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9n
ZXRQcm90b3R5cGVPZi9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9PYmpl
Y3QvaXMvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvT2JqZWN0L2lzLWEt
Y29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvT2JqZWN0L2lzRXh0ZW5zaWJsZS9ub3Qt
YS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvaXNGcm96ZW4vbm90LWEt
Y29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvT2JqZWN0L2lzU2VhbGVkL25vdC1hLWNv
bnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9rZXlzL25vdC1hLWNvbnN0cnVj
dG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcmV2ZW50RXh0ZW5zaW9ucy9ub3QtYS1j
b25zdHJ1Y3Rvci5qcworUjA5NSB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlw
ZS9fX2RlZmluZUdldHRlcl9fL2RlZmluZS1hYnJ1cHQuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0
L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL2RlZmluZS1hYnJ1cHQuanMKK1IwOTggdGVzdC9h
bm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVHZXR0ZXJfXy9kZWZpbmUt
ZXhpc3RpbmcuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdldHRl
cl9fL2RlZmluZS1leGlzdGluZy5qcworUjA5NyB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0
L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL2RlZmluZS1uZXcuanMgdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL2RlZmluZS1uZXcuanMKK1IwOTYgdGVz
dC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVHZXR0ZXJfXy9kZWZp
bmUtbm9uLWNvbmZpZ3VyYWJsZS5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19f
ZGVmaW5lR2V0dGVyX18vZGVmaW5lLW5vbi1jb25maWd1cmFibGUuanMKK1IwOTYgdGVzdC9hbm5l
eEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVHZXR0ZXJfXy9kZWZpbmUtbm9u
LWV4dGVuc2libGUuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdl
dHRlcl9fL2RlZmluZS1ub24tZXh0ZW5zaWJsZS5qcworUjA5NyB0ZXN0L2FubmV4Qi9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL2dldHRlci1ub24tY2FsbGFibGUu
anMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL2dldHRl
ci1ub24tY2FsbGFibGUuanMKK1IwOTUgdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvX19kZWZpbmVHZXR0ZXJfXy9rZXktaW52YWxpZC5qcyB0ZXN0L2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL19fZGVmaW5lR2V0dGVyX18va2V5LWludmFsaWQuanMKK1IwOTcgdGVzdC9h
bm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVHZXR0ZXJfXy9sZW5ndGgu
anMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL2xlbmd0
aC5qcworUjA5NyB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmlu
ZUdldHRlcl9fL25hbWUuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmlu
ZUdldHRlcl9fL25hbWUuanMKK1IwOTYgdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvX19kZWZpbmVHZXR0ZXJfXy9wcm9wLWRlc2MuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0
L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL3Byb3AtZGVzYy5qcworUjA5NyB0ZXN0L2FubmV4
Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL3RoaXMtbm9uLW9i
ai5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lR2V0dGVyX18vdGhp
cy1ub24tb2JqLmpzCitSMDk1IHRlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBl
L19fZGVmaW5lU2V0dGVyX18vZGVmaW5lLWFicnVwdC5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3Qv
cHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18vZGVmaW5lLWFicnVwdC5qcworUjA5OCB0ZXN0L2Fu
bmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZVNldHRlcl9fL2RlZmluZS1l
eGlzdGluZy5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVy
X18vZGVmaW5lLWV4aXN0aW5nLmpzCitSMDk3IHRlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3Qv
cHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18vZGVmaW5lLW5ldy5qcyB0ZXN0L2J1aWx0LWlucy9P
YmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18vZGVmaW5lLW5ldy5qcworUjA5NiB0ZXN0
L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZVNldHRlcl9fL2RlZmlu
ZS1ub24tY29uZmlndXJhYmxlLmpzIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19k
ZWZpbmVTZXR0ZXJfXy9kZWZpbmUtbm9uLWNvbmZpZ3VyYWJsZS5qcworUjA5NiB0ZXN0L2FubmV4
Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZVNldHRlcl9fL2RlZmluZS1ub24t
ZXh0ZW5zaWJsZS5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0
dGVyX18vZGVmaW5lLW5vbi1leHRlbnNpYmxlLmpzCitSMDk1IHRlc3QvYW5uZXhCL2J1aWx0LWlu
cy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18va2V5LWludmFsaWQuanMgdGVzdC9i
dWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZVNldHRlcl9fL2tleS1pbnZhbGlkLmpz
CitSMDk3IHRlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0
dGVyX18vbGVuZ3RoLmpzIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVT
ZXR0ZXJfXy9sZW5ndGguanMKK1IwOTcgdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvX19kZWZpbmVTZXR0ZXJfXy9uYW1lLmpzIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvX19kZWZpbmVTZXR0ZXJfXy9uYW1lLmpzCitSMDk2IHRlc3QvYW5uZXhCL2J1aWx0LWlu
cy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18vcHJvcC1kZXNjLmpzIHRlc3QvYnVp
bHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVTZXR0ZXJfXy9wcm9wLWRlc2MuanMKK1Iw
OTcgdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVTZXR0ZXJf
Xy9zZXR0ZXItbm9uLWNhbGxhYmxlLmpzIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUv
X19kZWZpbmVTZXR0ZXJfXy9zZXR0ZXItbm9uLWNhbGxhYmxlLmpzCitSMDk3IHRlc3QvYW5uZXhC
L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18vdGhpcy1ub24tb2Jq
LmpzIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVTZXR0ZXJfXy90aGlz
LW5vbi1vYmouanMKK1IwOTUgdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUv
X19sb29rdXBHZXR0ZXJfXy9rZXktaW52YWxpZC5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJv
dG90eXBlL19fbG9va3VwR2V0dGVyX18va2V5LWludmFsaWQuanMKK1IwOTcgdGVzdC9hbm5leEIv
YnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sZW5ndGguanMgdGVz
dC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRlcl9fL2xlbmd0aC5qcwor
UjA5MSB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRl
cl9fL2xvb2t1cC1ub3QtZm91bmQuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9f
X2xvb2t1cEdldHRlcl9fL2xvb2t1cC1ub3QtZm91bmQuanMKK1IwOTIgdGVzdC9hbm5leEIvYnVp
bHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sb29rdXAtb3duLWFjc3It
dy1nZXR0ZXIuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRl
cl9fL2xvb2t1cC1vd24tYWNzci13LWdldHRlci5qcworUjA5MiB0ZXN0L2FubmV4Qi9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRlcl9fL2xvb2t1cC1vd24tYWNzci13by1n
ZXR0ZXIuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRlcl9f
L2xvb2t1cC1vd24tYWNzci13by1nZXR0ZXIuanMKK1IwOTIgdGVzdC9hbm5leEIvYnVpbHQtaW5z
L09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sb29rdXAtb3duLWRhdGEuanMgdGVz
dC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRlcl9fL2xvb2t1cC1vd24t
ZGF0YS5qcworUjA5MiB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xv
b2t1cEdldHRlcl9fL2xvb2t1cC1vd24tZ2V0LWVyci5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3Qv
cHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vbG9va3VwLW93bi1nZXQtZXJyLmpzCitSMDkyIHRl
c3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vbG9v
a3VwLW93bi1wcm90by1lcnIuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xv
b2t1cEdldHRlcl9fL2xvb2t1cC1vd24tcHJvdG8tZXJyLmpzCitSMDkzIHRlc3QvYW5uZXhCL2J1
aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vbG9va3VwLXByb3RvLWFj
c3Itdy1nZXR0ZXIuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdl
dHRlcl9fL2xvb2t1cC1wcm90by1hY3NyLXctZ2V0dGVyLmpzCitSMDkzIHRlc3QvYW5uZXhCL2J1
aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vbG9va3VwLXByb3RvLWFj
c3Itd28tZ2V0dGVyLmpzIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBH
ZXR0ZXJfXy9sb29rdXAtcHJvdG8tYWNzci13by1nZXR0ZXIuanMKK1IwOTIgdGVzdC9hbm5leEIv
YnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sb29rdXAtcHJvdG8t
ZGF0YS5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18v
bG9va3VwLXByb3RvLWRhdGEuanMKK1IwOTIgdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9w
cm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sb29rdXAtcHJvdG8tZ2V0LWVyci5qcyB0ZXN0L2J1
aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vbG9va3VwLXByb3RvLWdl
dC1lcnIuanMKK1IwOTIgdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19s
b29rdXBHZXR0ZXJfXy9sb29rdXAtcHJvdG8tcHJvdG8tZXJyLmpzIHRlc3QvYnVpbHQtaW5zL09i
amVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sb29rdXAtcHJvdG8tcHJvdG8tZXJyLmpz
CitSMDk3IHRlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0
dGVyX18vbmFtZS5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0
dGVyX18vbmFtZS5qcworUjA5NiB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlw
ZS9fX2xvb2t1cEdldHRlcl9fL3Byb3AtZGVzYy5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJv
dG90eXBlL19fbG9va3VwR2V0dGVyX18vcHJvcC1kZXNjLmpzCitSMDk3IHRlc3QvYW5uZXhCL2J1
aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vdGhpcy1ub24tb2JqLmpz
IHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy90aGlzLW5v
bi1vYmouanMKK1IwOTUgdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19s
b29rdXBTZXR0ZXJfXy9rZXktaW52YWxpZC5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90
eXBlL19fbG9va3VwU2V0dGVyX18va2V5LWludmFsaWQuanMKK1IwOTcgdGVzdC9hbm5leEIvYnVp
bHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9sZW5ndGguanMgdGVzdC9i
dWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2xlbmd0aC5qcworUjA5
MSB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9f
L2xvb2t1cC1ub3QtZm91bmQuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xv
b2t1cFNldHRlcl9fL2xvb2t1cC1ub3QtZm91bmQuanMKK1IwOTIgdGVzdC9hbm5leEIvYnVpbHQt
aW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9sb29rdXAtb3duLWFjc3Itdy1z
ZXR0ZXIuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9f
L2xvb2t1cC1vd24tYWNzci13LXNldHRlci5qcworUjA5MiB0ZXN0L2FubmV4Qi9idWlsdC1pbnMv
T2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2xvb2t1cC1vd24tYWNzci13by1zZXR0
ZXIuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2xv
b2t1cC1vd24tYWNzci13by1zZXR0ZXIuanMKK1IwOTIgdGVzdC9hbm5leEIvYnVpbHQtaW5zL09i
amVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9sb29rdXAtb3duLWRhdGEuanMgdGVzdC9i
dWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2xvb2t1cC1vd24tZGF0
YS5qcworUjA5MiB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1
cFNldHRlcl9fL2xvb2t1cC1vd24tZ2V0LWVyci5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJv
dG90eXBlL19fbG9va3VwU2V0dGVyX18vbG9va3VwLW93bi1nZXQtZXJyLmpzCitSMDkyIHRlc3Qv
YW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vbG9va3Vw
LW93bi1wcm90by1lcnIuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1
cFNldHRlcl9fL2xvb2t1cC1vd24tcHJvdG8tZXJyLmpzCitSMDkzIHRlc3QvYW5uZXhCL2J1aWx0
LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vbG9va3VwLXByb3RvLWFjc3It
dy1zZXR0ZXIuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRl
cl9fL2xvb2t1cC1wcm90by1hY3NyLXctc2V0dGVyLmpzCitSMDkzIHRlc3QvYW5uZXhCL2J1aWx0
LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vbG9va3VwLXByb3RvLWFjc3It
d28tc2V0dGVyLmpzIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0
ZXJfXy9sb29rdXAtcHJvdG8tYWNzci13by1zZXR0ZXIuanMKK1IwOTIgdGVzdC9hbm5leEIvYnVp
bHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9sb29rdXAtcHJvdG8tZGF0
YS5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vbG9v
a3VwLXByb3RvLWRhdGEuanMKK1IwOTIgdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9sb29rdXAtcHJvdG8tZ2V0LWVyci5qcyB0ZXN0L2J1aWx0
LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vbG9va3VwLXByb3RvLWdldC1l
cnIuanMKK1IwOTIgdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29r
dXBTZXR0ZXJfXy9sb29rdXAtcHJvdG8tcHJvdG8tZXJyLmpzIHRlc3QvYnVpbHQtaW5zL09iamVj
dC9wcm90b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9sb29rdXAtcHJvdG8tcHJvdG8tZXJyLmpzCitS
MDk3IHRlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVy
X18vbmFtZS5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVy
X18vbmFtZS5qcworUjA5NiB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9f
X2xvb2t1cFNldHRlcl9fL3Byb3AtZGVzYy5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90
eXBlL19fbG9va3VwU2V0dGVyX18vcHJvcC1kZXNjLmpzCitSMDk3IHRlc3QvYW5uZXhCL2J1aWx0
LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vdGhpcy1ub24tb2JqLmpzIHRl
c3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0ZXJfXy90aGlzLW5vbi1v
YmouanMKK1IwOTUgdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90
b19fL2dldC1hYnJ1cHQuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3Rv
X18vZ2V0LWFicnVwdC5qcworUjA5NiB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3Rv
dHlwZS9fX3Byb3RvX18vZ2V0LWZuLW5hbWUuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3Rv
dHlwZS9fX3Byb3RvX18vZ2V0LWZuLW5hbWUuanMKK1IwOTcgdGVzdC9hbm5leEIvYnVpbHQtaW5z
L09iamVjdC9wcm90b3R5cGUvX19wcm90b19fL2dldC1vcmRpbmFyeS1vYmouanMgdGVzdC9idWls
dC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vZ2V0LW9yZGluYXJ5LW9iai5qcworUjA5
NiB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vZ2V0LXRv
LW9iai1hYnJ1cHQuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18v
Z2V0LXRvLW9iai1hYnJ1cHQuanMKK1IwOTcgdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9w
cm90b3R5cGUvX19wcm90b19fL3Byb3AtZGVzYy5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJv
dG90eXBlL19fcHJvdG9fXy9wcm9wLWRlc2MuanMKK1IwOTUgdGVzdC9hbm5leEIvYnVpbHQtaW5z
L09iamVjdC9wcm90b3R5cGUvX19wcm90b19fL3NldC1hYnJ1cHQuanMgdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vc2V0LWFicnVwdC5qcworUjA5OCB0ZXN0L2FubmV4
Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vc2V0LWN5Y2xlLXNoYWRvd2Vk
LmpzIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90b19fL3NldC1jeWNsZS1z
aGFkb3dlZC5qcworUjA5NyB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9f
X3Byb3RvX18vc2V0LWN5Y2xlLmpzIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19w
cm90b19fL3NldC1jeWNsZS5qcworUjA5NiB0ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS9fX3Byb3RvX18vc2V0LWZuLW5hbWUuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS9fX3Byb3RvX18vc2V0LWZuLW5hbWUuanMKK1IwOTYgdGVzdC9hbm5leEIvYnVpbHQt
aW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90b19fL3NldC1pbW11dGFibGUuanMgdGVzdC9idWls
dC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vc2V0LWltbXV0YWJsZS5qcworUjA5NyB0
ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vc2V0LWludmFs
aWQtdmFsdWUuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vc2V0
LWludmFsaWQtdmFsdWUuanMKK1IwOTcgdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvX19wcm90b19fL3NldC1ub24tZXh0ZW5zaWJsZS5qcyB0ZXN0L2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL19fcHJvdG9fXy9zZXQtbm9uLWV4dGVuc2libGUuanMKK1IwOTYgdGVzdC9h
bm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90b19fL3NldC1ub24tb2JqLWNv
ZXJjaWJsZS5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fcHJvdG9fXy9zZXQt
bm9uLW9iai1jb2VyY2libGUuanMKK1IwOTcgdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9w
cm90b3R5cGUvX19wcm90b19fL3NldC1ub24tb2JqZWN0LmpzIHRlc3QvYnVpbHQtaW5zL09iamVj
dC9wcm90b3R5cGUvX19wcm90b19fL3NldC1ub24tb2JqZWN0LmpzCitSMDk2IHRlc3QvYW5uZXhC
L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fcHJvdG9fXy9zZXQtb3JkaW5hcnktb2JqLmpz
IHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90b19fL3NldC1vcmRpbmFyeS1v
YmouanMKK0EgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9oYXNPd25Qcm9wZXJ0eS9u
b3QtYS1jb25zdHJ1Y3Rvci5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2lz
UHJvdG90eXBlT2YvYnVpbHRpbi5qcworQSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBl
L2lzUHJvdG90eXBlT2Yvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L3Byb3RvdHlwZS9wcm9wZXJ0eUlzRW51bWVyYWJsZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwor
QSB0ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL25vdC1hLWNv
bnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdG9TdHJpbmcv
bm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS92
YWx1ZU9mL25vdC1hLWNvbnN0cnVjdG9yLmpzCitEIHRlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFs
LzE1LjIuMy44LTAtMS5qcworRCB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0w
LTIuanMKK0QgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMS0xLmpzCitEIHRl
c3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTEtMy5qcworRCB0ZXN0L2J1aWx0LWlu
cy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0xLTQuanMKK0QgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Nl
YWwvMTUuMi4zLjgtMS5qcworQSB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9sZW5ndGguanMK
K00gdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvbmFtZS5qcworQSB0ZXN0L2J1aWx0LWlucy9P
YmplY3Qvc2VhbC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworUjA5NyB0ZXN0L2J1aWx0LWlucy9PYmpl
Y3Qvc2VhbC8xNS4yLjMuOC0yLWItNC5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmpl
Y3Qtc2VhbC1hbGwtb3duLXByb3BlcnRpZXMtb2Ytby1hcmUtYWxyZWFkeS1ub24tY29uZmlndXJh
YmxlLmpzCitSMDk1IHRlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItMS5qcyB0
ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1leHRlbnNpYmxlLW9mLW8taXMt
c2V0LWFzLWZhbHNlLWV2ZW4taWYtby1oYXMtbm8tb3duLXByb3BlcnR5LmpzCitSMDk2IHRlc3Qv
YnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItMy5qcyB0ZXN0L2J1aWx0LWlucy9PYmpl
Y3Qvc2VhbC9vYmplY3Qtc2VhbC1pbmhlcml0ZWQtYWNjZXNzb3ItcHJvcGVydGllcy1hcmUtaWdu
b3JlZC5qcworUjA5NiB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLTIuanMg
dGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtaW5oZXJpdGVkLWRhdGEtcHJv
cGVydGllcy1hcmUtaWdub3JlZC5qcworUjA1NCB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8x
NS4yLjMuOC0xLTIuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtaXMt
YS1mdW5jdGlvbi5qcworUjA5NCB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0y
LTQuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtbm9uLWVudW1lcmFi
bGUtb3duLXByb3BlcnR5LW9mLW8taXMtc2VhbGVkLmpzCitSMDkzIHRlc3QvYnVpbHQtaW5zL09i
amVjdC9zZWFsLzE1LjIuMy44LTItYy00LmpzIHRlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29i
amVjdC1zZWFsLW8taXMtYS1ib29sZWFuLW9iamVjdC5qcworUjA5MyB0ZXN0L2J1aWx0LWlucy9P
YmplY3Qvc2VhbC8xNS4yLjMuOC0yLWMtNi5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9v
YmplY3Qtc2VhbC1vLWlzLWEtZGF0ZS1vYmplY3QuanMKK1IwOTMgdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L3NlYWwvMTUuMi4zLjgtMi1jLTEuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2Jq
ZWN0LXNlYWwtby1pcy1hLWZ1bmN0aW9uLW9iamVjdC5qcworUjA5MyB0ZXN0L2J1aWx0LWlucy9P
YmplY3Qvc2VhbC8xNS4yLjMuOC0yLWMtNS5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9v
YmplY3Qtc2VhbC1vLWlzLWEtbnVtYmVyLW9iamVjdC5qcworUjA5MyB0ZXN0L2J1aWx0LWlucy9P
YmplY3Qvc2VhbC8xNS4yLjMuOC0yLWMtNy5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9v
YmplY3Qtc2VhbC1vLWlzLWEtcmVnLWV4cC1vYmplY3QuanMKK1IwOTMgdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1jLTMuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwv
b2JqZWN0LXNlYWwtby1pcy1hLXN0cmluZy1vYmplY3QuanMKK1IwOTMgdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1jLTkuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwv
b2JqZWN0LXNlYWwtby1pcy1hbi1hcmd1bWVudHMtb2JqZWN0LmpzCitSMDkzIHRlc3QvYnVpbHQt
aW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItYy0yLmpzIHRlc3QvYnVpbHQtaW5zL09iamVjdC9z
ZWFsL29iamVjdC1zZWFsLW8taXMtYW4tYXJyYXktb2JqZWN0LmpzCitSMDkzIHRlc3QvYnVpbHQt
aW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItYy04LmpzIHRlc3QvYnVpbHQtaW5zL09iamVjdC9z
ZWFsL29iamVjdC1zZWFsLW8taXMtYW4tZXJyb3Itb2JqZWN0LmpzCitSMDk0IHRlc3QvYnVpbHQt
aW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTQtMi5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2Vh
bC9vYmplY3Qtc2VhbC1vLWlzLWZyb3plbi1hbHJlYWR5LmpzCitSMDk0IHRlc3QvYnVpbHQtaW5z
L09iamVjdC9zZWFsLzE1LjIuMy44LTQtMS5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9v
YmplY3Qtc2VhbC1vLWlzLXNlYWxlZC1hbHJlYWR5LmpzCitSMDk2IHRlc3QvYnVpbHQtaW5zL09i
amVjdC9zZWFsLzE1LjIuMy44LTItYS02LmpzIHRlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29i
amVjdC1zZWFsLXAtaXMtb3duLWFjY2Vzc29yLXByb3BlcnR5LXRoYXQtb3ZlcnJpZGVzLWFuLWlu
aGVyaXRlZC1hY2Nlc3Nvci1wcm9wZXJ0eS5qcworUjA5NiB0ZXN0L2J1aWx0LWlucy9PYmplY3Qv
c2VhbC8xNS4yLjMuOC0yLWEtNS5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qt
c2VhbC1wLWlzLW93bi1hY2Nlc3Nvci1wcm9wZXJ0eS10aGF0LW92ZXJyaWRlcy1hbi1pbmhlcml0
ZWQtZGF0YS1wcm9wZXJ0eS5qcworUjA5NCB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4y
LjMuOC0yLWEtNC5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1wLWlz
LW93bi1hY2Nlc3Nvci1wcm9wZXJ0eS5qcworUjA5NiB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2Vh
bC8xNS4yLjMuOC0yLWEtMy5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2Vh
bC1wLWlzLW93bi1kYXRhLXByb3BlcnR5LXRoYXQtb3ZlcnJpZGVzLWFuLWluaGVyaXRlZC1hY2Nl
c3Nvci1wcm9wZXJ0eS5qcworUjA5NSB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMu
OC0yLWEtMi5qcyB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1wLWlzLW93
bi1kYXRhLXByb3BlcnR5LXRoYXQtb3ZlcnJpZGVzLWFuLWluaGVyaXRlZC1kYXRhLXByb3BlcnR5
LmpzCitSMDkzIHRlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItYS0xLmpzIHRl
c3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLXAtaXMtb3duLWRhdGEtcHJvcGVy
dHkuanMKK1IwOTQgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1hLTEwLmpz
IHRlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLXAtaXMtb3duLXByb3BlcnR5
LW9mLWEtYm9vbGVhbi1vYmplY3QtdGhhdC11c2VzLW9iamVjdC1zLWdldC1vd24tcHJvcGVydHku
anMKK1IwOTQgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1hLTEyLmpzIHRl
c3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLXAtaXMtb3duLXByb3BlcnR5LW9m
LWEtZGF0ZS1vYmplY3QtdGhhdC11c2VzLW9iamVjdC1zLWdldC1vd24tcHJvcGVydHkuanMKK1Iw
OTQgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1hLTcuanMgdGVzdC9idWls
dC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtcC1pcy1vd24tcHJvcGVydHktb2YtYS1mdW5j
dGlvbi1vYmplY3QtdGhhdC11c2VzLW9iamVjdC1zLWdldC1vd24tcHJvcGVydHkuanMKK1IwOTQg
dGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1hLTExLmpzIHRlc3QvYnVpbHQt
aW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLXAtaXMtb3duLXByb3BlcnR5LW9mLWEtbnVtYmVy
LW9iamVjdC10aGF0LXVzZXMtb2JqZWN0LXMtZ2V0LW93bi1wcm9wZXJ0eS5qcworUjA5NCB0ZXN0
L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWEtMTMuanMgdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtcC1pcy1vd24tcHJvcGVydHktb2YtYS1yZWctZXhwLW9i
amVjdC10aGF0LXVzZXMtb2JqZWN0LXMtZ2V0LW93bi1wcm9wZXJ0eS5qcworUjA5NCB0ZXN0L2J1
aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWEtOS5qcyB0ZXN0L2J1aWx0LWlucy9PYmpl
Y3Qvc2VhbC9vYmplY3Qtc2VhbC1wLWlzLW93bi1wcm9wZXJ0eS1vZi1hLXN0cmluZy1vYmplY3Qt
d2hpY2gtaW1wbGVtZW50cy1pdHMtb3duLWdldC1vd24tcHJvcGVydHkuanMKK1IwOTQgdGVzdC9i
dWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1hLTE1LmpzIHRlc3QvYnVpbHQtaW5zL09i
amVjdC9zZWFsL29iamVjdC1zZWFsLXAtaXMtb3duLXByb3BlcnR5LW9mLWFuLWFyZ3VtZW50cy1v
YmplY3Qtd2hpY2gtaW1wbGVtZW50cy1pdHMtb3duLWdldC1vd24tcHJvcGVydHkuanMKK1IwOTQg
dGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1hLTguanMgdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtcC1pcy1vd24tcHJvcGVydHktb2YtYW4tYXJyYXkt
b2JqZWN0LXRoYXQtdXNlcy1vYmplY3Qtcy1nZXQtb3duLXByb3BlcnR5LmpzCitSMDk0IHRlc3Qv
YnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItYS0xNC5qcyB0ZXN0L2J1aWx0LWlucy9P
YmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1wLWlzLW93bi1wcm9wZXJ0eS1vZi1hbi1lcnJvci1vYmpl
Y3QtdGhhdC11c2VzLW9iamVjdC1zLWdldC1vd24tcHJvcGVydHkuanMKK1IwOTMgdGVzdC9idWls
dC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMy0xLmpzIHRlc3QvYnVpbHQtaW5zL09iamVjdC9z
ZWFsL29iamVjdC1zZWFsLXJldHVybmVkLW9iamVjdC1pcy1ub3QtZXh0ZW5zaWJsZS5qcworUjA5
NyB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWItMy5qcyB0ZXN0L2J1aWx0
LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC10aGUtY29uZmlndXJhYmxlLWF0dHJpYnV0ZS1v
Zi1hbGwtb3duLXByb3BlcnRpZXMtb2Ytby1hcmUtc2V0LWZyb20tdHJ1ZS10by1mYWxzZS1hbmQt
b3RoZXItYXR0cmlidXRlcy1vZi10aGUtcHJvcGVydHktYXJlLXVuYWx0ZXJlZC5qcworUjA5NyB0
ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWItMi5qcyB0ZXN0L2J1aWx0LWlu
cy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC10aGUtY29uZmlndXJhYmxlLWF0dHJpYnV0ZS1vZi1v
d24tYWNjZXNzb3ItcHJvcGVydHktb2Ytby1pcy1zZXQtZnJvbS10cnVlLXRvLWZhbHNlLWFuZC1v
dGhlci1hdHRyaWJ1dGVzLW9mLXRoZS1wcm9wZXJ0eS1hcmUtdW5hbHRlcmVkLmpzCitSMDk2IHRl
c3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItYi0xLmpzIHRlc3QvYnVpbHQtaW5z
L09iamVjdC9zZWFsL29iamVjdC1zZWFsLXRoZS1jb25maWd1cmFibGUtYXR0cmlidXRlLW9mLW93
bi1kYXRhLXByb3BlcnR5LW9mLW8taXMtc2V0LWZyb20tdHJ1ZS10by1mYWxzZS1hbmQtb3RoZXIt
YXR0cmlidXRlcy1vZi10aGUtcHJvcGVydHktYXJlLXVuYWx0ZXJlZC5qcworUjA5NCB0ZXN0L2J1
aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC00LTMuanMgdGVzdC9idWlsdC1pbnMvT2JqZWN0
L3NlYWwvb2JqZWN0LXNlYWwtdGhlLWV4dGVuc2lvbi1vZi1vLWlzLXByZXZlbnRlZC1hbHJlYWR5
LmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtYWdncmVnYXRlZXJyb3IuanMK
K0EgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1hcnJheWJ1ZmZlci5qcworQSB0ZXN0
L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLWFycm93ZnVuY3Rpb24uanMKK0EgdGVzdC9idWls
dC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1hc3luY2Fycm93ZnVuY3Rpb24uanMKK0EgdGVzdC9idWls
dC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1hc3luY2Z1bmN0aW9uLmpzCitBIHRlc3QvYnVpbHQtaW5z
L09iamVjdC9zZWFsL3NlYWwtYXN5bmNnZW5lcmF0b3JmdW5jdGlvbi5qcworQSB0ZXN0L2J1aWx0
LWlucy9PYmplY3Qvc2VhbC9zZWFsLWJpZ2ludDY0YXJyYXkuanMKK0EgdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3NlYWwvc2VhbC1iaWd1aW50NjRhcnJheS5qcworQSB0ZXN0L2J1aWx0LWlucy9PYmpl
Y3Qvc2VhbC9zZWFsLWJvb2xlYW4tbGl0ZXJhbC5qcworQSB0ZXN0L2J1aWx0LWlucy9PYmplY3Qv
c2VhbC9zZWFsLWJvb2xlYW4uanMKK0EgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1k
YXRhdmlldy5qcworQSB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLWRhdGUuanMKK0Eg
dGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1lcnJvci5qcworQSB0ZXN0L2J1aWx0LWlu
cy9PYmplY3Qvc2VhbC9zZWFsLWV2YWxlcnJvci5qcworQSB0ZXN0L2J1aWx0LWlucy9PYmplY3Qv
c2VhbC9zZWFsLWZpbmFsaXphdGlvbnJlZ2lzdHJ5LmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVj
dC9zZWFsL3NlYWwtZmxvYXQzMmFycmF5LmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFs
L3NlYWwtZmxvYXQ2NGFycmF5LmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwt
ZnVuY3Rpb24uanMKK0EgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1nZW5lcmF0b3Jm
dW5jdGlvbi5qcworQSB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLWluZmluaXR5Lmpz
CitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtaW50MTZhcnJheS5qcworQSB0ZXN0
L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLWludDMyYXJyYXkuanMKK0EgdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3NlYWwvc2VhbC1pbnQ4YXJyYXkuanMKK0EgdGVzdC9idWlsdC1pbnMvT2JqZWN0
L3NlYWwvc2VhbC1tYXAuanMKK0EgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1uYW4u
anMKK0EgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1udWxsLmpzCitBIHRlc3QvYnVp
bHQtaW5zL09iamVjdC9zZWFsL3NlYWwtbnVtYmVyLmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVj
dC9zZWFsL3NlYWwtb2JqZWN0LmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwt
cHJvbWlzZS5qcworQSB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLXByb3h5LmpzCitB
IHRlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtcmFuZ2VlcnJvci5qcworQSB0ZXN0L2J1
aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLXJlZmVyZW5jZWVycm9yLmpzCitBIHRlc3QvYnVpbHQt
aW5zL09iamVjdC9zZWFsL3NlYWwtcmVnZXhwLmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9z
ZWFsL3NlYWwtc2V0LmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtc2hhcmVk
YXJyYXlidWZmZXIuanMKK0EgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1zdHJpbmcu
anMKK0EgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1zeW1ib2wuanMKK0EgdGVzdC9i
dWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1zeW50YXhlcnJvci5qcworQSB0ZXN0L2J1aWx0LWlu
cy9PYmplY3Qvc2VhbC9zZWFsLXR5cGVlcnJvci5qcworQSB0ZXN0L2J1aWx0LWlucy9PYmplY3Qv
c2VhbC9zZWFsLXVpbnQxNmFycmF5LmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3Nl
YWwtdWludDMyYXJyYXkuanMKK0EgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC11aW50
OGFycmF5LmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtdWludDhjbGFtcGVk
YXJyYXkuanMKK0EgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC11bmRlZmluZWQuanMK
K0EgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC11cmllcnJvci5qcworQSB0ZXN0L2J1
aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLXdlYWttYXAuanMKK0EgdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L3NlYWwvc2VhbC13ZWFrcmVmLmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3Nl
YWwtd2Vha3NldC5qcworTSB0ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zeW1ib2wtb2JqZWN0
LWNvbnRhaW5zLXN5bWJvbC1wcm9wZXJ0aWVzLW5vbi1zdHJpY3QuanMKK00gdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3NlYWwvc3ltYm9sLW9iamVjdC1jb250YWlucy1zeW1ib2wtcHJvcGVydGllcy1z
dHJpY3QuanMKK0EgdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NldFByb3RvdHlwZU9mL25vdC1hLWNv
bnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL09iamVjdC92YWx1ZXMvbm90LWEtY29uc3Ry
dWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9hbGwvbm90LWEtY29uc3RydWN0b3Iu
anMKK0EgdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9hbGxTZXR0bGVkL25vdC1hLWNvbnN0cnVjdG9y
LmpzCitBIHRlc3QvYnVpbHQtaW5zL1Byb21pc2UvYW55L25vdC1hLWNvbnN0cnVjdG9yLmpzCitN
IHRlc3QvYnVpbHQtaW5zL1Byb21pc2UvY3JlYXRlLXJlc29sdmluZy1mdW5jdGlvbnMtcmVqZWN0
LmpzCitNIHRlc3QvYnVpbHQtaW5zL1Byb21pc2UvY3JlYXRlLXJlc29sdmluZy1mdW5jdGlvbnMt
cmVzb2x2ZS5qcworUjA2MCB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2V4ZWN1dG9yLWZ1bmN0aW9u
LW5vbmNvbnN0cnVjdG9yLmpzIHRlc3QvYnVpbHQtaW5zL1Byb21pc2UvZXhlY3V0b3ItZnVuY3Rp
b24tbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9pcy1hLWNv
bnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL2NhdGNoL25v
dC1hLWNvbnN0cnVjdG9yLmpzCitNIHRlc3QvYnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL2Zp
bmFsbHkvaW52b2tlcy10aGVuLXdpdGgtZnVuY3Rpb24uanMKK0EgdGVzdC9idWlsdC1pbnMvUHJv
bWlzZS9wcm90b3R5cGUvZmluYWxseS9ub3QtYS1jb25zdHJ1Y3Rvci5qcworTSB0ZXN0L2J1aWx0
LWlucy9Qcm9taXNlL3Byb3RvdHlwZS9maW5hbGx5L3JlamVjdGVkLW9ic2VydmFibGUtdGhlbi1j
YWxscy1hcmd1bWVudC5qcworTSB0ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3Byb3RvdHlwZS9maW5h
bGx5L3Jlc29sdmVkLW9ic2VydmFibGUtdGhlbi1jYWxscy1hcmd1bWVudC5qcworQSB0ZXN0L2J1
aWx0LWlucy9Qcm9taXNlL3Byb3RvdHlwZS90aGVuL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRl
c3QvYnVpbHQtaW5zL1Byb21pc2UvcmFjZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1
aWx0LWlucy9Qcm9taXNlL3JlamVjdC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0
LWlucy9Qcm9taXNlL3Jlc29sdmUvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1p
bnMvUHJveHkvY3JlYXRlLXRhcmdldC1pcy1ub3QtYS1jb25zdHJ1Y3Rvci5qcworRCB0ZXN0L2J1
aWx0LWlucy9Qcm94eS9jcmVhdGUtdGFyZ2V0LWlzLW5vdC1jb25zdHJ1Y3Rvci5qcworTSB0ZXN0
L2J1aWx0LWlucy9Qcm94eS9yZXZvY2FibGUvYnVpbHRpbi5qcworQSB0ZXN0L2J1aWx0LWlucy9Q
cm94eS9yZXZvY2FibGUvbm90LWEtY29uc3RydWN0b3IuanMKK1IwNTQgdGVzdC9idWlsdC1pbnMv
UHJveHkvcmV2b2NhYmxlL3Jldm9jYXRpb24tZnVuY3Rpb24tbm9uY29uc3RydWN0b3IuanMgdGVz
dC9idWlsdC1pbnMvUHJveHkvcmV2b2NhYmxlL3Jldm9jYXRpb24tZnVuY3Rpb24tbm90LWEtY29u
c3RydWN0b3IuanMKK1IwOTggdGVzdC9hbm5leEIvYnVpbHQtaW5zL1Byb3h5L3NldC9jYWxsLXBh
cmFtZXRlcnMtcHJvdG90eXBlLWR1bmRlci1wcm90by5qcyB0ZXN0L2J1aWx0LWlucy9Qcm94eS9z
ZXQvY2FsbC1wYXJhbWV0ZXJzLXByb3RvdHlwZS1kdW5kZXItcHJvdG8uanMKK0EgdGVzdC9idWls
dC1pbnMvUmVmbGVjdC9hcHBseS9hcmd1bWVudHMtbGlzdC1pcy1ub3QtYXJyYXktbGlrZS1idXQt
c3RpbGwtdmFsaWQuanMKK00gdGVzdC9idWlsdC1pbnMvUmVmbGVjdC9hcHBseS9hcmd1bWVudHMt
bGlzdC1pcy1ub3QtYXJyYXktbGlrZS5qcworQSB0ZXN0L2J1aWx0LWlucy9SZWZsZWN0L2FwcGx5
L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1JlZmxlY3QvY29uc3RydWN0
L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1JlZmxlY3QvZGVmaW5lUHJv
cGVydHkvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvUmVmbGVjdC9kZWxl
dGVQcm9wZXJ0eS9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9SZWZsZWN0
L2dldC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9SZWZsZWN0L2dldE93
blByb3BlcnR5RGVzY3JpcHRvci9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlu
cy9SZWZsZWN0L2dldFByb3RvdHlwZU9mL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVp
bHQtaW5zL1JlZmxlY3QvaGFzL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5z
L1JlZmxlY3QvaXNFeHRlbnNpYmxlL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQt
aW5zL1JlZmxlY3Qvb3duS2V5cy9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlu
cy9SZWZsZWN0L3ByZXZlbnRFeHRlbnNpb25zL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3Qv
YnVpbHQtaW5zL1JlZmxlY3Qvc2V0L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQt
aW5zL1JlZmxlY3Qvc2V0UHJvdG90eXBlT2Yvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL2lzLWEtY29uc3RydWN0b3IuanMKK00gdGVzdC9idWlsdC1pbnMvUmVn
RXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1ncm91cHMtb2JqZWN0LmpzCitNIHRlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9uYW1lZC1ncm91cHMvZ3JvdXBzLW9iamVjdC5qcworQSB0ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvcHJvdG90eXBlL1N5bWJvbC5tYXRjaC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0
ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL1N5bWJvbC5tYXRjaEFsbC9ub3QtYS1jb25z
dHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL1N5bWJvbC5yZXBs
YWNlL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5
cGUvU3ltYm9sLnNlYXJjaC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvcHJvdG90eXBlL1N5bWJvbC5zcGxpdC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0
L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL2V4ZWMvbm90LWEtY29uc3RydWN0b3IuanMKK0Eg
dGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L25vdC1hLWNvbnN0cnVjdG9yLmpz
CitBIHRlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdG9TdHJpbmcvbm90LWEtY29uc3Ry
dWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvU2V0L2lzLWEtY29uc3RydWN0b3IuanMKK0EgdGVz
dC9idWlsdC1pbnMvU2V0L3Byb3RvdHlwZS9TeW1ib2wuaXRlcmF0b3Ivbm90LWEtY29uc3RydWN0
b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvU2V0L3Byb3RvdHlwZS9hZGQvbm90LWEtY29uc3RydWN0
b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvU2V0L3Byb3RvdHlwZS9jbGVhci9ub3QtYS1jb25zdHJ1
Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9TZXQvcHJvdG90eXBlL2RlbGV0ZS9ub3QtYS1jb25z
dHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9TZXQvcHJvdG90eXBlL2VudHJpZXMvbm90LWEt
Y29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvU2V0L3Byb3RvdHlwZS9mb3JFYWNoL25v
dC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1NldC9wcm90b3R5cGUvaGFzL25v
dC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1NldC9wcm90b3R5cGUvdmFsdWVz
L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVmZmVy
L2lzLWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIv
cHJvdG90eXBlL3NsaWNlL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1N0
cmluZy9mcm9tQ2hhckNvZGUvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMv
U3RyaW5nL2Zyb21Db2RlUG9pbnQvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1p
bnMvU3RyaW5nL2lzLWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3By
b3RvdHlwZS9TeW1ib2wuaXRlcmF0b3Ivbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWls
dC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9jaGFyQXQvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVz
dC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9jaGFyQ29kZUF0L25vdC1hLWNvbnN0cnVjdG9y
LmpzCitBIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvY29kZVBvaW50QXQvbm90LWEt
Y29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9jb25jYXQv
bm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9l
bmRzV2l0aC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL2luY2x1ZGVzL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1N0
cmluZy9wcm90b3R5cGUvaW5kZXhPZi9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0
LWlucy9TdHJpbmcvcHJvdG90eXBlL2xhc3RJbmRleE9mL25vdC1hLWNvbnN0cnVjdG9yLmpzCitB
IHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvbG9jYWxlQ29tcGFyZS9ub3QtYS1jb25z
dHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL21hdGNoL25vdC1h
LWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvbWF0Y2hB
bGwvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlw
ZS9ub3JtYWxpemUvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvU3RyaW5n
L3Byb3RvdHlwZS9wYWRFbmQvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMv
U3RyaW5nL3Byb3RvdHlwZS9wYWRTdGFydC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1
aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGVhdC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0
ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2Uvbm90LWEtY29uc3RydWN0b3Iu
anMKK0EgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBsYWNlQWxsL25vdC1hLWNv
bnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc2VhcmNoL25v
dC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc2xp
Y2Uvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlw
ZS9zcGxpdC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL3N0YXJ0c1dpdGgvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMv
U3RyaW5nL3Byb3RvdHlwZS9zdWJzdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9i
dWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS90b0xvY2FsZUxvd2VyQ2FzZS9ub3QtYS1jb25zdHJ1
Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3RvTG9jYWxlVXBwZXJD
YXNlL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5
cGUvdG9Mb3dlckNhc2Uvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvU3Ry
aW5nL3Byb3RvdHlwZS90b1N0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0
LWlucy9TdHJpbmcvcHJvdG90eXBlL3RvVXBwZXJDYXNlL25vdC1hLWNvbnN0cnVjdG9yLmpzCitB
IHRlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvdHJpbS9ub3QtYS1jb25zdHJ1Y3Rvci5q
cworQSB0ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3RyaW1FbmQvbm90LWEtY29uc3Ry
dWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS90cmltU3RhcnQvbm90
LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS92YWx1
ZU9mL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1N0cmluZy9yYXcvbm90
LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvU3ltYm9sL2Zvci9ub3QtYS1jb25z
dHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9TeW1ib2wva2V5Rm9yL25vdC1hLWNvbnN0cnVj
dG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1N5bWJvbC9wcm90b3R5cGUvdG9TdHJpbmcvbm90LWEt
Y29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvU3ltYm9sL3Byb3RvdHlwZS92YWx1ZU9m
L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvZnJvbS9u
b3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L29mL25vdC1h
LWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL1N5
bWJvbC5pdGVyYXRvci9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5L3Byb3RvdHlwZS9jb3B5V2l0aGluL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2VudHJpZXMvbm90LWEtY29uc3RydWN0b3Iu
anMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZXZlcnkvbm90LWEtY29u
c3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZmlsbC9u
b3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlw
ZS9maWx0ZXIvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eS9wcm90b3R5cGUvZmluZC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5L3Byb3RvdHlwZS9maW5kSW5kZXgvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZm9yRWFjaC9ub3QtYS1jb25zdHJ1Y3Rv
ci5qcworQSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9pbmNsdWRlcy9ub3Qt
YS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9p
bmRleE9mL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkv
cHJvdG90eXBlL2pvaW4vbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheS9wcm90b3R5cGUva2V5cy9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9sYXN0SW5kZXhPZi9ub3QtYS1jb25zdHJ1Y3Rvci5q
cworQSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9tYXAvbm90LWEtY29uc3Ry
dWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvcmVkdWNlL25v
dC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBl
L3JlZHVjZVJpZ2h0L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXkvcHJvdG90eXBlL3JldmVyc2Uvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2V0L25vdC1hLWNvbnN0cnVjdG9yLmpzCitNIHRl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL0JpZ0ludC9kZXRhY2hlZC1i
dWZmZXItY3VzdG9tLWN0b3Itb3RoZXItdGFyZ2V0dHlwZS5qcworTSB0ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5L3Byb3RvdHlwZS9zbGljZS9CaWdJbnQvZGV0YWNoZWQtYnVmZmVyLWN1c3RvbS1j
dG9yLXNhbWUtdGFyZ2V0dHlwZS5qcworTSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3Rv
dHlwZS9zbGljZS9CaWdJbnQvZGV0YWNoZWQtYnVmZmVyLWdldC1jdG9yLmpzCitNIHRlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL0JpZ0ludC9kZXRhY2hlZC1idWZmZXIt
c3BlY2llc2N0b3ItZ2V0LXNwZWNpZXMtY3VzdG9tLWN0b3ItdGhyb3dzLmpzCitNIHRlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL0JpZ0ludC9kZXRhY2hlZC1idWZmZXIt
emVyby1jb3VudC1jdXN0b20tY3Rvci1vdGhlci10YXJnZXR0eXBlLmpzCitNIHRlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL0JpZ0ludC9kZXRhY2hlZC1idWZmZXItemVy
by1jb3VudC1jdXN0b20tY3Rvci1zYW1lLXRhcmdldHR5cGUuanMKK00gdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2UvZGV0YWNoZWQtYnVmZmVyLWN1c3RvbS1jdG9yLW90
aGVyLXRhcmdldHR5cGUuanMKK00gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUv
c2xpY2UvZGV0YWNoZWQtYnVmZmVyLWN1c3RvbS1jdG9yLXNhbWUtdGFyZ2V0dHlwZS5qcworTSB0
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zbGljZS9kZXRhY2hlZC1idWZmZXIt
Z2V0LWN0b3IuanMKK00gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2Uv
ZGV0YWNoZWQtYnVmZmVyLXNwZWNpZXNjdG9yLWdldC1zcGVjaWVzLWN1c3RvbS1jdG9yLXRocm93
cy5qcworTSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zbGljZS9kZXRhY2hl
ZC1idWZmZXItemVyby1jb3VudC1jdXN0b20tY3Rvci1vdGhlci10YXJnZXR0eXBlLmpzCitNIHRl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL2RldGFjaGVkLWJ1ZmZlci16
ZXJvLWNvdW50LWN1c3RvbS1jdG9yLXNhbWUtdGFyZ2V0dHlwZS5qcworQSB0ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zbGljZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zb21lL25vdC1hLWNvbnN0cnVjdG9yLmpz
CitBIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NvcnQvQmlnSW50L2NvbXBh
cmVmbi1pcy11bmRlZmluZWQuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5
cGUvc29ydC9jb21wYXJlZm4taXMtdW5kZWZpbmVkLmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXkvcHJvdG90eXBlL3NvcnQvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1p
bnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc3ViYXJyYXkvbm90LWEtY29uc3RydWN0b3IuanMKK0Eg
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvbm90LWEt
Y29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvdG9T
dHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9w
cm90b3R5cGUvdmFsdWVzL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMvQmlnSW50NjRBcnJheS9pcy1hLWNvbnN0cnVjdG9yLmpzCitB
IHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvQmlnVWludDY0QXJyYXkvaXMt
YS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3Jz
L0Zsb2F0MzJBcnJheS9pcy1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXlDb25zdHJ1Y3RvcnMvRmxvYXQ2NEFycmF5L2lzLWEtY29uc3RydWN0b3IuanMKK0EgdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9JbnQxNkFycmF5L2lzLWEtY29uc3Ry
dWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9JbnQzMkFy
cmF5L2lzLWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9JbnQ4QXJyYXkvaXMtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL1VpbnQxNkFycmF5L2lzLWEtY29uc3RydWN0b3IuanMKK0Eg
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9VaW50MzJBcnJheS9pcy1hLWNv
bnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvVWlu
dDhBcnJheS9pcy1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlD
b25zdHJ1Y3RvcnMvVWludDhDbGFtcGVkQXJyYXkvaXMtYS1jb25zdHJ1Y3Rvci5qcworTSB0ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWZpbmVPd25Qcm9w
ZXJ0eS9CaWdJbnQvZGV0YWNoZWQtYnVmZmVyLXJlYWxtLmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlZmluZU93blByb3BlcnR5L0JpZ0ludC9k
ZXRhY2hlZC1idWZmZXIuanMKK00gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9y
cy9pbnRlcm5hbHMvRGVmaW5lT3duUHJvcGVydHkvQmlnSW50L2tleS1pcy1udW1lcmljaW5kZXgu
anMKK00gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVm
aW5lT3duUHJvcGVydHkvQmlnSW50L3RvbnVtYmVyLXZhbHVlLWRldGFjaGVkLWJ1ZmZlci5qcwor
TSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWZpbmVP
d25Qcm9wZXJ0eS9kZXRhY2hlZC1idWZmZXItcmVhbG0uanMKK00gdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVmaW5lT3duUHJvcGVydHkvZGV0YWNoZWQt
YnVmZmVyLmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJu
YWxzL0RlZmluZU93blByb3BlcnR5L3RvbnVtYmVyLXZhbHVlLWRldGFjaGVkLWJ1ZmZlci5qcwor
QSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUv
QmlnSW50L2RldGFjaGVkLWJ1ZmZlci1rZXktaXMtbm90LW51bWVyaWMtaW5kZXguanMKK0EgdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL0JpZ0lu
dC9kZXRhY2hlZC1idWZmZXIta2V5LWlzLXN5bWJvbC5qcworQSB0ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvQmlnSW50L2RldGFjaGVkLWJ1ZmZl
ci1yZWFsbS5qcworQSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVy
bmFscy9EZWxldGUvQmlnSW50L2RldGFjaGVkLWJ1ZmZlci5qcworQSB0ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvQmlnSW50L2luZGV4ZWQtdmFs
dWUtYWItbm9uLXN0cmljdC5qcworQSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0
b3JzL2ludGVybmFscy9EZWxldGUvQmlnSW50L2luZGV4ZWQtdmFsdWUtYWItc3RyaWN0LmpzCitB
IHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9C
aWdJbnQvaW5kZXhlZC12YWx1ZS1zYWItbm9uLXN0cmljdC5qcworQSB0ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvQmlnSW50L2luZGV4ZWQtdmFs
dWUtc2FiLXN0cmljdC5qcworQSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3Jz
L2ludGVybmFscy9EZWxldGUvQmlnSW50L2luZmluaXR5LWRldGFjaGVkLWJ1ZmZlci5qcworQSB0
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvQmln
SW50L2tleS1pcy1ub3QtY2Fub25pY2FsLWluZGV4LW5vbi1zdHJpY3QuanMKK0EgdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL0JpZ0ludC9rZXkt
aXMtbm90LWNhbm9uaWNhbC1pbmRleC1zdHJpY3QuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRB
cnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL0JpZ0ludC9rZXktaXMtbm90LW1pbnVz
LXplcm8tbm9uLXN0cmljdC5qcworQSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0
b3JzL2ludGVybmFscy9EZWxldGUvQmlnSW50L2tleS1pcy1ub3QtbWludXMtemVyby1zdHJpY3Qu
anMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVs
ZXRlL0JpZ0ludC9rZXktaXMtbm90LW51bWVyaWMtaW5kZXgtZ2V0LXRocm93cy5qcworQSB0ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvQmlnSW50
L2tleS1pcy1ub3QtbnVtZXJpYy1pbmRleC1ub24tc3RyaWN0LmpzCitBIHRlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9CaWdJbnQva2V5LWlzLW5v
dC1udW1lcmljLWluZGV4LXN0cmljdC5qcworQSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29u
c3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvQmlnSW50L2tleS1pcy1vdXQtb2YtYm91bmRzLW5v
bi1zdHJpY3QuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRl
cm5hbHMvRGVsZXRlL0JpZ0ludC9rZXktaXMtb3V0LW9mLWJvdW5kcy1zdHJpY3QuanMKK0EgdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL0JpZ0lu
dC9rZXktaXMtc3ltYm9sLmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3Rv
cnMvaW50ZXJuYWxzL0RlbGV0ZS9kZXRhY2hlZC1idWZmZXIta2V5LWlzLW5vdC1udW1lcmljLWlu
ZGV4LmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxz
L0RlbGV0ZS9kZXRhY2hlZC1idWZmZXIta2V5LWlzLXN5bWJvbC5qcworQSB0ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvZGV0YWNoZWQtYnVmZmVy
LXJlYWxtLmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJu
YWxzL0RlbGV0ZS9kZXRhY2hlZC1idWZmZXIuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL2luZGV4ZWQtdmFsdWUtYWItbm9uLXN0cmlj
dC5qcworQSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9E
ZWxldGUvaW5kZXhlZC12YWx1ZS1hYi1zdHJpY3QuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRB
cnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL2luZGV4ZWQtdmFsdWUtc2FiLW5vbi1z
dHJpY3QuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5h
bHMvRGVsZXRlL2luZGV4ZWQtdmFsdWUtc2FiLXN0cmljdC5qcworQSB0ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvaW5maW5pdHktZGV0YWNoZWQt
YnVmZmVyLmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJu
YWxzL0RlbGV0ZS9rZXktaXMtbm90LWNhbm9uaWNhbC1pbmRleC1ub24tc3RyaWN0LmpzCitBIHRl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9rZXkt
aXMtbm90LWNhbm9uaWNhbC1pbmRleC1zdHJpY3QuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRB
cnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL2tleS1pcy1ub3QtaW50ZWdlci5qcwor
QSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUv
a2V5LWlzLW5vdC1taW51cy16ZXJvLW5vbi1zdHJpY3QuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL2tleS1pcy1ub3QtbWludXMtemVy
by1zdHJpY3QuanMKK0EgdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRl
cm5hbHMvRGVsZXRlL2tleS1pcy1ub3QtbnVtZXJpYy1pbmRleC1nZXQtdGhyb3dzLmpzCitBIHRl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9rZXkt
aXMtbm90LW51bWVyaWMtaW5kZXgtbm9uLXN0cmljdC5qcworQSB0ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUva2V5LWlzLW5vdC1udW1lcmljLWlu
ZGV4LXN0cmljdC5qcworQSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2lu
dGVybmFscy9EZWxldGUva2V5LWlzLW91dC1vZi1ib3VuZHMtbm9uLXN0cmljdC5qcworQSB0ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUva2V5LWlz
LW91dC1vZi1ib3VuZHMtc3RyaWN0LmpzCitBIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9rZXktaXMtc3ltYm9sLmpzCitNIHRlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldC9CaWdJbnQvZGV0YWNoZWQt
YnVmZmVyLXJlYWxtLmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMv
aW50ZXJuYWxzL0dldC9CaWdJbnQvZGV0YWNoZWQtYnVmZmVyLmpzCitNIHRlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldC9CaWdJbnQvaW5maW5pdHktZGV0
YWNoZWQtYnVmZmVyLmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMv
aW50ZXJuYWxzL0dldC9CaWdJbnQva2V5LWlzLW5vdC1jYW5vbmljYWwtaW5kZXguanMKK00gdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0L0JpZ0ludC9r
ZXktaXMtbm90LW51bWVyaWMtaW5kZXgtZ2V0LXRocm93cy5qcworTSB0ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXQvQmlnSW50L2tleS1pcy1ub3QtbnVt
ZXJpYy1pbmRleC5qcworTSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2lu
dGVybmFscy9HZXQvQmlnSW50L2tleS1pcy1zeW1ib2wuanMKK00gdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0L2RldGFjaGVkLWJ1ZmZlci1yZWFsbS5q
cworTSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXQv
ZGV0YWNoZWQtYnVmZmVyLmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3Rv
cnMvaW50ZXJuYWxzL0dldC9pbmZpbml0eS1kZXRhY2hlZC1idWZmZXIuanMKK00gdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0L2tleS1pcy1ub3QtY2Fu
b25pY2FsLWluZGV4LmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMv
aW50ZXJuYWxzL0dldC9rZXktaXMtbm90LW51bWVyaWMtaW5kZXgtZ2V0LXRocm93cy5qcworTSB0
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXQva2V5LWlz
LW5vdC1udW1lcmljLWluZGV4LmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMvaW50ZXJuYWxzL0dldC9rZXktaXMtc3ltYm9sLmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldE93blByb3BlcnR5L0JpZ0ludC9kZXRh
Y2hlZC1idWZmZXItcmVhbG0uanMKK00gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9pbnRlcm5hbHMvR2V0T3duUHJvcGVydHkvQmlnSW50L2RldGFjaGVkLWJ1ZmZlci5qcwor
TSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXRPd25Q
cm9wZXJ0eS9CaWdJbnQvZW51bWVyYXRlLWRldGFjaGVkLWJ1ZmZlci5qcworTSB0ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXRPd25Qcm9wZXJ0eS9CaWdJ
bnQvaW5kZXgtcHJvcC1kZXNjLmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMvaW50ZXJuYWxzL0dldE93blByb3BlcnR5L2RldGFjaGVkLWJ1ZmZlci1yZWFsbS5qcwor
TSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXRPd25Q
cm9wZXJ0eS9kZXRhY2hlZC1idWZmZXIuanMKK00gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNv
bnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0T3duUHJvcGVydHkvZW51bWVyYXRlLWRldGFjaGVkLWJ1
ZmZlci5qcworTSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFs
cy9HZXRPd25Qcm9wZXJ0eS9pbmRleC1wcm9wLWRlc2MuanMKK00gdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvSGFzUHJvcGVydHkvQmlnSW50L2FicnVwdC1m
cm9tLW9yZGluYXJ5LWhhcy1wYXJlbnQtaGFzcHJvcGVydHkuanMKK00gdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvSGFzUHJvcGVydHkvQmlnSW50L2RldGFj
aGVkLWJ1ZmZlci1yZWFsbS5qcworTSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0
b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9CaWdJbnQvZGV0YWNoZWQtYnVmZmVyLmpzCitNIHRl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5
L0JpZ0ludC9pbmRleGVkLXZhbHVlLmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L0JpZ0ludC9pbmZpbml0eS13aXRoLWRldGFj
aGVkLWJ1ZmZlci5qcworTSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2lu
dGVybmFscy9IYXNQcm9wZXJ0eS9CaWdJbnQva2V5LWlzLWdyZWF0ZXItdGhhbi1sYXN0LWluZGV4
LmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0hh
c1Byb3BlcnR5L0JpZ0ludC9rZXktaXMtbG93ZXItdGhhbi16ZXJvLmpzCitNIHRlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L0JpZ0ludC9r
ZXktaXMtbWludXMtemVyby5qcworTSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0
b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9hYnJ1cHQtZnJvbS1vcmRpbmFyeS1oYXMtcGFyZW50
LWhhc3Byb3BlcnR5LmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMv
aW50ZXJuYWxzL0hhc1Byb3BlcnR5L2RldGFjaGVkLWJ1ZmZlci1yZWFsbS5qcworTSB0ZXN0L2J1
aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9kZXRh
Y2hlZC1idWZmZXIuanMKK00gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9p
bnRlcm5hbHMvSGFzUHJvcGVydHkvaW5kZXhlZC12YWx1ZS5qcworTSB0ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9pbmZpbml0eS13aXRo
LWRldGFjaGVkLWJ1ZmZlci5qcworTSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0
b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9rZXktaXMtZ3JlYXRlci10aGFuLWxhc3QtaW5kZXgu
anMKK00gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvSGFz
UHJvcGVydHkva2V5LWlzLWxvd2VyLXRoYW4temVyby5qcworTSB0ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9rZXktaXMtbWludXMtemVy
by5qcworTSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9T
ZXQvQmlnSW50L2JpZ2ludC10b2JpZ2ludDY0LmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQvYmlnaW50LXRvYmlndWludDY0Lmpz
CitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9C
aWdJbnQvYm9vbGVhbi10b2JpZ2ludC5qcworTSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29u
c3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L2RldGFjaGVkLWJ1ZmZlci1rZXktaXMtbm90
LW51bWVyaWMtaW5kZXguanMKK00gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9y
cy9pbnRlcm5hbHMvU2V0L0JpZ0ludC9kZXRhY2hlZC1idWZmZXIta2V5LWlzLXN5bWJvbC5qcwor
TSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmln
SW50L2RldGFjaGVkLWJ1ZmZlci1yZWFsbS5qcworTSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L2RldGFjaGVkLWJ1ZmZlci5qcworTSB0
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50
L2luZGV4ZWQtdmFsdWUuanMKK00gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9y
cy9pbnRlcm5hbHMvU2V0L0JpZ0ludC9rZXktaXMtbWludXMtemVyby5qcworTSB0ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L2tleS1pcy1u
b3QtY2Fub25pY2FsLWluZGV4LmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQva2V5LWlzLW5vdC1pbnRlZ2VyLmpzCitNIHRlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQva2V5
LWlzLW5vdC1udW1lcmljLWluZGV4LXNldC10aHJvd3MuanMKK00gdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L0JpZ0ludC9rZXktaXMtbm90LW51bWVy
aWMtaW5kZXguanMKK00gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRl
cm5hbHMvU2V0L0JpZ0ludC9rZXktaXMtb3V0LW9mLWJvdW5kcy5qcworTSB0ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L2tleS1pcy1zeW1i
b2wuanMKK00gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMv
U2V0L0JpZ0ludC9udWxsLXRvYmlnaW50LmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlD
b25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQvbnVtYmVyLXRvYmlnaW50LmpzCitNIHRl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQv
c3RyaW5nLW5hbi10b2JpZ2ludC5qcworTSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3Ry
dWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L3N0cmluZy10b2JpZ2ludC5qcworTSB0ZXN0L2J1
aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L3N5bWJv
bC10b2JpZ2ludC5qcworTSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2lu
dGVybmFscy9TZXQvQmlnSW50L3RvbnVtYmVyLXZhbHVlLWRldGFjaGVkLWJ1ZmZlci5qcworTSB0
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50
L3RvbnVtYmVyLXZhbHVlLXRocm93cy5qcworTSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29u
c3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L3VuZGVmaW5lZC10b2JpZ2ludC5qcworTSB0
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvYmlnaW50
LXRvbnVtYmVyLmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50
ZXJuYWxzL1NldC9jb252ZXJzaW9uLW9wZXJhdGlvbi1jb25zaXN0ZW50LW5hbi5qcworTSB0ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvY29udmVyc2lv
bi1vcGVyYXRpb24uanMKK00gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9p
bnRlcm5hbHMvU2V0L2RldGFjaGVkLWJ1ZmZlci1rZXktaXMtbm90LW51bWVyaWMtaW5kZXguanMK
K00gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L2Rl
dGFjaGVkLWJ1ZmZlci1rZXktaXMtc3ltYm9sLmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9kZXRhY2hlZC1idWZmZXItcmVhbG0uanMKK00g
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L2RldGFj
aGVkLWJ1ZmZlci5qcworTSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2lu
dGVybmFscy9TZXQvaW5kZXhlZC12YWx1ZS5qcworTSB0ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQva2V5LWlzLW1pbnVzLXplcm8uanMKK00gdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L2tleS1pcy1ub3Qt
Y2Fub25pY2FsLWluZGV4LmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3Rv
cnMvaW50ZXJuYWxzL1NldC9rZXktaXMtbm90LWludGVnZXIuanMKK00gdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L2tleS1pcy1ub3QtbnVtZXJpYy1p
bmRleC1zZXQtdGhyb3dzLmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3Rv
cnMvaW50ZXJuYWxzL1NldC9rZXktaXMtbm90LW51bWVyaWMtaW5kZXguanMKK00gdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L2tleS1pcy1vdXQtb2Yt
Ym91bmRzLmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJu
YWxzL1NldC9rZXktaXMtc3ltYm9sLmpzCitNIHRlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC90b251bWJlci12YWx1ZS1kZXRhY2hlZC1idWZmZXIuanMK
K00gdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L3Rv
bnVtYmVyLXZhbHVlLXRocm93cy5qcworQSB0ZXN0L2J1aWx0LWlucy9XZWFrTWFwL2lzLWEtY29u
c3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvV2Vha01hcC9wcm90b3R5cGUvZGVsZXRlL25v
dC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1dlYWtNYXAvcHJvdG90eXBlL2dl
dC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0L2J1aWx0LWlucy9XZWFrTWFwL3Byb3RvdHlw
ZS9oYXMvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvV2Vha01hcC9wcm90
b3R5cGUvc2V0L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQtaW5zL1dlYWtSZWYv
aXMtYS1jb25zdHJ1Y3Rvci5qcworTSB0ZXN0L2J1aWx0LWlucy9XZWFrUmVmL3Byb3RvdHlwZS9k
ZXJlZi9nYy1jbGVhbnVwLW5vdC1wcmV2ZW50ZWQtd2l0aC13ci1kZXJlZi5qcworQSB0ZXN0L2J1
aWx0LWlucy9XZWFrUmVmL3Byb3RvdHlwZS9kZXJlZi9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0
ZXN0L2J1aWx0LWlucy9XZWFrU2V0L2lzLWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1p
bnMvV2Vha1NldC9wcm90b3R5cGUvYWRkL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVp
bHQtaW5zL1dlYWtTZXQvcHJvdG90eXBlL2RlbGV0ZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0
ZXN0L2J1aWx0LWlucy9XZWFrU2V0L3Byb3RvdHlwZS9oYXMvbm90LWEtY29uc3RydWN0b3IuanMK
K0EgdGVzdC9idWlsdC1pbnMvZGVjb2RlVVJJL25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3Qv
YnVpbHQtaW5zL2RlY29kZVVSSUNvbXBvbmVudC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworQSB0ZXN0
L2J1aWx0LWlucy9lbmNvZGVVUkkvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1p
bnMvZW5jb2RlVVJJQ29tcG9uZW50L25vdC1hLWNvbnN0cnVjdG9yLmpzCitBIHRlc3QvYnVpbHQt
aW5zL2V2YWwvbm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvaXNGaW5pdGUv
bm90LWEtY29uc3RydWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvaXNOYU4vbm90LWEtY29uc3Ry
dWN0b3IuanMKK0EgdGVzdC9idWlsdC1pbnMvcGFyc2VGbG9hdC9ub3QtYS1jb25zdHJ1Y3Rvci5q
cworTSB0ZXN0L2J1aWx0LWlucy9wYXJzZUludC9ub3QtYS1jb25zdHJ1Y3Rvci5qcworTSB0ZXN0
L2ludGw0MDIvQ29sbGF0b3IvY29uc3RydWN0b3Itb3B0aW9ucy10aHJvd2luZy1nZXR0ZXJzLmpz
CitBIHRlc3QvaW50bDQwMi9Mb2NhbGUvcmVqZWN0LWR1cGxpY2F0ZS12YXJpYW50cy1pbi10bGFu
Zy5qcworQSB0ZXN0L2ludGw0MDIvTG9jYWxlL3JlamVjdC1kdXBsaWNhdGUtdmFyaWFudHMuanMK
K00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hcnJvdy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0
L2IxL2Fycm93LWZ1bmN0aW9uLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3Vt
ZW50cy5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fycm93LWZ1bmN0aW9uL2ZvcmJp
ZGRlbi1leHQvYjEvYXJyb3ctZnVuY3Rpb24tZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXBy
b3AtY2FsbGVyLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXJyb3ctZnVuY3Rpb24v
Zm9yYmlkZGVuLWV4dC9iMi9hcnJvdy1mdW5jdGlvbi1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFj
Y2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
YXJyb3ctZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9hcnJvdy1mdW5jdGlvbi1mb3JiaWRkZW4t
ZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMKK00gdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9hcnJvdy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2Fycm93LWZ1
bmN0aW9uLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCitNIHRl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtYXJyb3ctZnVuY3Rpb24vYXdhaXQtYXMtYmlu
ZGluZy1pZGVudGlmaWVyLWVzY2FwZWQuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9h
c3luYy1hcnJvdy1mdW5jdGlvbi9hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXIuanMKK00gdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1hcnJvdy1mdW5jdGlvbi9hd2FpdC1hcy1pZGVu
dGlmaWVyLXJlZmVyZW5jZS1lc2NhcGVkLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
YXN5bmMtYXJyb3ctZnVuY3Rpb24vYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UuanMKK00g
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1hcnJvdy1mdW5jdGlvbi9hd2FpdC1hcy1s
YWJlbC1pZGVudGlmaWVyLWVzY2FwZWQuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9h
c3luYy1hcnJvdy1mdW5jdGlvbi9hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLmpzCitNIHRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtYXJyb3ctZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9i
MS9hc3luYy1hcnJvdy1mdW5jdGlvbi1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1h
cmd1bWVudHMuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1hcnJvdy1mdW5j
dGlvbi9mb3JiaWRkZW4tZXh0L2IxL2FzeW5jLWFycm93LWZ1bmN0aW9uLWZvcmJpZGRlbi1leHQt
ZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2FzeW5jLWFycm93LWZ1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtYXJyb3ctZnVuY3Rp
b24tZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcwor
QSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWFycm93LWZ1bmN0aW9uL2ZvcmJpZGRl
bi1leHQvYjIvYXN5bmMtYXJyb3ctZnVuY3Rpb24tZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nl
c3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
YXN5bmMtYXJyb3ctZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1hcnJvdy1mdW5jdGlv
bi1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworTSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRp
Zmllci1lc2NhcGVkLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rp
b24vYXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVyLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvYXN5bmMtZnVuY3Rpb24vYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UtZXNjYXBl
ZC5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL2F3YWl0LWFz
LWlkZW50aWZpZXItcmVmZXJlbmNlLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5
bmMtZnVuY3Rpb24vYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci1lc2NhcGVkLmpzCitNIHRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vYXdhaXQtYXMtbGFiZWwtaWRlbnRp
Zmllci5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL2ZvcmJp
ZGRlbi1leHQvYjEvYXN5bmMtZnVuYy1leHByLW5hbWVkLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFj
Y2Vzcy1wcm9wLWFyZ3VtZW50cy5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5j
LWZ1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjEvYXN5bmMtZnVuYy1leHByLW5hbWVkLWZvcmJpZGRl
bi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2FzeW5jLWZ1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjEvYXN5bmMtZnVuYy1leHByLW5h
bWVsZXNzLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcworTSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjEv
YXN5bmMtZnVuYy1leHByLW5hbWVsZXNzLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9w
LWNhbGxlci5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL2Zv
cmJpZGRlbi1leHQvYjIvYXN5bmMtZnVuYy1leHByLW5hbWVkLWZvcmJpZGRlbi1leHQtaW5kaXJl
Y3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9hc3luYy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWZ1bmMtZXhwci1uYW1l
ZC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMK
K00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0
L2IyL2FzeW5jLWZ1bmMtZXhwci1uYW1lZC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1w
cm9wLWNhbGxlci5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9u
L2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtZnVuYy1leHByLW5hbWVsZXNzLWZvcmJpZGRlbi1leHQt
aW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMKK0EgdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWZ1bmMtZXhw
ci1uYW1lbGVzcy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXIt
dmFsdWUuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9mb3Ji
aWRkZW4tZXh0L2IyL2FzeW5jLWZ1bmMtZXhwci1uYW1lbGVzcy1mb3JiaWRkZW4tZXh0LWluZGly
ZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fz
eW5jLWZ1bmN0aW9uL25hbWVkLWF3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci1lc2NhcGVkLmpz
CitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vbmFtZWQtYXdhaXQt
YXMtYmluZGluZy1pZGVudGlmaWVyLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5
bmMtZnVuY3Rpb24vbmFtZWQtYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UtZXNjYXBlZC5q
cworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL25hbWVkLWF3YWl0
LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
YXN5bmMtZnVuY3Rpb24vbmFtZWQtYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci1lc2NhcGVkLmpz
CitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vbmFtZWQtYXdhaXQt
YXMtbGFiZWwtaWRlbnRpZmllci5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5j
LWZ1bmN0aW9uL25hbWVkLXJldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1hcmd1bWVudHMtZnJv
bS1wYXJlbnQtZnVuY3Rpb24uanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1m
dW5jdGlvbi9uYW1lZC1yZXR1cm5zLWFzeW5jLWFycm93LXJldHVybnMtbmV3dGFyZ2V0LmpzCitB
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vbmFtZWQtcmV0dXJucy1h
c3luYy1hcnJvdy5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9u
L25hbWVkLXJldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0dXJucy1hcmd1bWVudHMtZnJvbS1vd24t
ZnVuY3Rpb24uanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9u
YW1lZC1yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLXJldHVybnMtbmV3dGFyZ2V0LmpzCitBIHRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vbmFtZWQtcmV0dXJucy1hc3luYy1m
dW5jdGlvbi5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRvci9m
b3JiaWRkZW4tZXh0L2IxL2FzeW5jLWdlbi1mdW5jLWV4cHItZm9yYmlkZGVuLWV4dC1kaXJlY3Qt
YWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5
bmMtZ2VuZXJhdG9yL2ZvcmJpZGRlbi1leHQvYjEvYXN5bmMtZ2VuLWZ1bmMtZXhwci1mb3JiaWRk
ZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKK00gdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9hc3luYy1nZW5lcmF0b3IvZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1nZW4tbmFtZWQt
ZnVuYy1leHByLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwor
TSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRvci9mb3JiaWRkZW4tZXh0
L2IxL2FzeW5jLWdlbi1uYW1lZC1mdW5jLWV4cHItZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNz
LXByb3AtY2FsbGVyLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJh
dG9yL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtZ2VuLWZ1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWlu
ZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9yL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtZ2VuLWZ1bmMt
ZXhwci1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUu
anMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0b3IvZm9yYmlkZGVu
LWV4dC9iMi9hc3luYy1nZW4tZnVuYy1leHByLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNz
LXByb3AtY2FsbGVyLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJh
dG9yL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtZ2VuLW5hbWVkLWZ1bmMtZXhwci1mb3JiaWRkZW4t
ZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzCitBIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9yL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtZ2Vu
LW5hbWVkLWZ1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1j
YWxsZXItdmFsdWUuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0
b3IvZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1nZW4tbmFtZWQtZnVuYy1leHByLWZvcmJpZGRlbi1l
eHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLWFz
eW5jLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5q
cworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLWdlbi1tZXRob2QvZm9y
YmlkZGVuLWV4dC9iMS9jbHMtZXhwci1hc3luYy1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVj
dC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFz
cy9hc3luYy1nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItYXN5bmMtZ2VuLW1l
dGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcwor
QSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLWdlbi1tZXRob2QvZm9yYmlk
ZGVuLWV4dC9iMi9jbHMtZXhwci1hc3luYy1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0
LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItYXN5
bmMtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMK
K00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kLXN0YXRp
Yy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLWFzeW5jLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRk
ZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKK00gdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2Ix
L2Nscy1leHByLWFzeW5jLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nl
c3MtcHJvcC1jYWxsZXIuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3lu
Yy1nZW4tbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1leHByLWFzeW5jLWdlbi1t
ZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXIt
Z2V0LmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhv
ZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1hc3luYy1nZW4tbWV0aC1zdGF0aWMt
Zm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzCitN
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC1zdGF0aWMv
Zm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1hc3luYy1nZW4tbWV0aC1zdGF0aWMtZm9yYmlkZGVu
LWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKK00gdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvYXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVyLWVz
Y2FwZWQuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2Qv
YXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVyLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvYXN5bmMtbWV0aG9kL2F3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLWVzY2Fw
ZWQuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvYXdh
aXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9hc3luYy1tZXRob2QvYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci1lc2NhcGVkLmpz
CitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kL2F3YWl0LWFz
LWxhYmVsLWlkZW50aWZpZXIuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9h
c3luYy1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZXhwci1hc3luYy1tZXRoLWZvcmJpZGRl
bi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcworTSB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLWFz
eW5jLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCitBIHRl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kL2ZvcmJpZGRlbi1leHQv
YjIvY2xzLWV4cHItYXN5bmMtbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24t
cHJvcC1jYWxsZXItZ2V0LmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5
bmMtbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItYXN5bmMtbWV0aC1mb3JiaWRkZW4t
ZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMKK00gdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMt
ZXhwci1hc3luYy1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVy
LmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kL3JldHVy
bnMtYXN5bmMtYXJyb3ctcmV0dXJucy1hcmd1bWVudHMtZnJvbS1wYXJlbnQtZnVuY3Rpb24uanMK
K0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvcmV0dXJucy1h
c3luYy1hcnJvdy1yZXR1cm5zLW5ld3RhcmdldC5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NsYXNzL2FzeW5jLW1ldGhvZC9yZXR1cm5zLWFzeW5jLWFycm93LmpzCitBIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kL3JldHVybnMtYXN5bmMtZnVuY3Rp
b24tcmV0dXJucy1hcmd1bWVudHMtZnJvbS1vd24tZnVuY3Rpb24uanMKK0EgdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvcmV0dXJucy1hc3luYy1mdW5jdGlvbi1y
ZXR1cm5zLW5ld3RhcmdldC5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Fz
eW5jLW1ldGhvZC9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1iaW5kaW5nLWlkZW50
aWZpZXItZXNjYXBlZC5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5j
LW1ldGhvZC1zdGF0aWMvYXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVyLmpzCitNIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1pZGVu
dGlmaWVyLXJlZmVyZW5jZS1lc2NhcGVkLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS5q
cworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMv
YXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci1lc2NhcGVkLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1sYWJlbC1pZGVudGlm
aWVyLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0
YXRpYy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLWFzeW5jLW1ldGgtc3RhdGljLWZvcmJpZGRl
bi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcworTSB0ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMS9jbHMt
ZXhwci1hc3luYy1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1j
YWxsZXIuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2Qt
c3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItYXN5bmMtbWV0aC1zdGF0aWMtZm9yYmlk
ZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcworQSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4
dC9iMi9jbHMtZXhwci1hc3luYy1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFj
Y2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItYXN5
bmMtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIu
anMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGlj
L3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1hcmd1bWVudHMtZnJvbS1wYXJlbnQtZnVuY3Rp
b24uanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2Qtc3Rh
dGljL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1uZXd0YXJnZXQuanMKK0EgdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMt
YXJyb3cuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2Qt
c3RhdGljL3JldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0dXJucy1hcmd1bWVudHMtZnJvbS1vd24t
ZnVuY3Rpb24uanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRo
b2Qtc3RhdGljL3JldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0dXJucy1uZXd0YXJnZXQuanMKK0Eg
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL3JldHVy
bnMtYXN5bmMtZnVuY3Rpb24uanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9j
cG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFkZGl0aXZl
LWV4cHJlc3Npb24tYWRkLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3Bu
LWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1l
eHByZXNzaW9uLXN1YnRyYWN0LmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
Y3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hcnJvdy1m
dW5jdGlvbi1leHByZXNzaW9uLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
Y3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25t
ZW50LWV4cHJlc3Npb24tYXNzaWdubWVudC5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20t
YXNzaWdubWVudC1leHByZXNzaW9uLWJpdHdpc2Utb3IuanMKK00gdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1jb2FsZXNjZS5qcworTSB0ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWxvZ2ljYWwtYW5kLmpzCitNIHRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVk
LXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tbG9naWNhbC1vci5qcwor
TSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXN5bmMtYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lv
bi5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZp
ZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXdhaXQtZXhwcmVzc2lvbi5qcworTSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tY29uZGl0aW9uLWV4cHJlc3Npb24tZmFsc2UuanMKK00g
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWNvbmRpdGlvbi1leHByZXNzaW9uLXRydWUuanMKK00g
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWRlY2ltYWwtZS1ub3RhdGlvbmFsLWxpdGVyYWwuanMK
K00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWRlY2ltYWwtbGl0ZXJhbC5qcworTSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1w
cm9wZXJ0eS1uYW1lLWZyb20tZXhwb25ldGlhdGlvbi1leHByZXNzaW9uLmpzCitNIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1leHByZXNzaW9uLWNvYWxlc2NlLmpzCitNIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5
LW5hbWUtZnJvbS1leHByZXNzaW9uLWxvZ2ljYWwtYW5kLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1leHByZXNzaW9uLWxvZ2ljYWwtb3IuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLWZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1m
dW5jdGlvbi1leHByZXNzaW9uLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
Y3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1nZW5lcmF0
b3ItZnVuY3Rpb24tZGVjbGFyYXRpb24uanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWlk
ZW50aWZpZXIuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3Mt
ZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWludGVnZXItZS1ub3RhdGlv
bmFsLWxpdGVyYWwuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xh
c3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWludGVnZXItc2VwYXJh
dG9ycy5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHBy
LWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbWF0aC5qcworTSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lLWZyb20tbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbi1kaXYuanMKK00gdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQt
cHJvcGVydHktbmFtZS1mcm9tLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tbXVsdC5qcworTSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbnVsbC5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZy
b20tbnVtZXJpYy1saXRlcmFsLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
Y3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1zdHJpbmct
bGl0ZXJhbC5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1l
eHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20teWllbGQtZXhwcmVzc2lvbi5q
cworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxk
cy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1leHByZXNzaW9u
LWFkZC5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHBy
LWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1leHBy
ZXNzaW9uLXN1YnRyYWN0LmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3Bu
LWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFy
cm93LWZ1bmN0aW9uLWV4cHJlc3Npb24uanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1l
LWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWFzc2lnbm1lbnQuanMKK00gdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWJpdHdpc2Utb3IuanMK
K00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMt
bWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9u
LWNvYWxlc2NlLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNz
LWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1l
bnQtZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tbG9naWNhbC1vci5qcworTSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3luYy1hcnJvdy1mdW5jdGlvbi1leHByZXNzaW9uLmpz
CitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRz
LW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWF3YWl0LWV4cHJlc3Npb24uanMK
K00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMt
bWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tY29uZGl0aW9uLWV4cHJlc3Npb24t
ZmFsc2UuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhw
ci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tY29uZGl0aW9uLWV4
cHJlc3Npb24tdHJ1ZS5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1j
bGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNp
bWFsLWUtbm90YXRpb25hbC1saXRlcmFsLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLWRlY2ltYWwtbGl0ZXJhbC5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUt
ZnJvbS1leHBvbmV0aWF0aW9uLWV4cHJlc3Npb24uanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1jb2FsZXNjZS5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3Bl
cnR5LW5hbWUtZnJvbS1leHByZXNzaW9uLWxvZ2ljYWwtYW5kLmpzCitNIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQt
cHJvcGVydHktbmFtZS1mcm9tLWV4cHJlc3Npb24tbG9naWNhbC1vci5qcworTSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qcworTSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNv
bXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1leHByZXNzaW9uLmpzCitNIHRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWdlbmVyYXRvci1mdW5jdGlvbi1kZWNsYXJhdGlv
bi5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZp
ZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pZGVudGlmaWVyLmpzCitN
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1l
dGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWludGVnZXItZS1ub3RhdGlvbmFsLWxp
dGVyYWwuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhw
ci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20taW50ZWdlci1zZXBh
cmF0b3JzLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4
cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW1hdGguanMKK00g
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0
aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lv
bi1kaXYuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhw
ci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbXVsdGlwbGljYXRp
dmUtZXhwcmVzc2lvbi1tdWx0LmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
Y3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LW51bGwuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhw
ci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbnVtZXJpYy1saXRl
cmFsLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHIt
ZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLXN0cmluZy1saXRlcmFs
LmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmll
bGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLXlpZWxkLWV4cHJlc3Npb24u
anMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9hcnJvdy1ib2R5
LWRpcmVjdC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVudHMuanMKK0QgdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9hcnJvdy1ib2R5LWluZGlyZWN0LWV2YWwtZXJyLWNv
bnRhaW5zLWFyZ3VtZW50cy5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Vs
ZW1lbnRzL2Fycm93LWJvZHktcHJpdmF0ZS1kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1l
bnRzLmpzCitEIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvYXJyb3ct
Ym9keS1wcml2YXRlLWluZGlyZWN0LWV2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5qcworTSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0
aG9kL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci1lc2NhcGVkLmpzCitNIHRlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2QvYXdhaXQt
YXMtYmluZGluZy1pZGVudGlmaWVyLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2QvYXdhaXQtYXMtaWRlbnRpZmllci1yZWZl
cmVuY2UtZXNjYXBlZC5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1l
bnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL2F3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLmpz
CitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0
ZS1tZXRob2QvYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci1lc2NhcGVkLmpzCitNIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2QvYXdh
aXQtYXMtbGFiZWwtaWRlbnRpZmllci5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0
dXJucy1hcmd1bWVudHMtZnJvbS1wYXJlbnQtZnVuY3Rpb24uanMKK0EgdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC9yZXR1cm5zLWFz
eW5jLWFycm93LXJldHVybnMtbmV3dGFyZ2V0LmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2QvcmV0dXJucy1hc3luYy1hcnJv
dy5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXBy
aXZhdGUtbWV0aG9kL3JldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0dXJucy1hcmd1bWVudHMtZnJv
bS1vd24tZnVuY3Rpb24uanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVt
ZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLXJldHVybnMt
bmV3dGFyZ2V0LmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMv
YXN5bmMtcHJpdmF0ZS1tZXRob2QvcmV0dXJucy1hc3luYy1mdW5jdGlvbi5qcworTSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kLXN0
YXRpYy9hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXItZXNjYXBlZC5qcworTSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kLXN0YXRp
Yy9hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXIuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0aWMvYXdhaXQtYXMt
aWRlbnRpZmllci1yZWZlcmVuY2UtZXNjYXBlZC5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1p
ZGVudGlmaWVyLXJlZmVyZW5jZS5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNz
L2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1sYWJlbC1pZGVu
dGlmaWVyLWVzY2FwZWQuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVt
ZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0aWMvYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmll
ci5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXBy
aXZhdGUtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWFycm93LXJldHVybnMtYXJndW1lbnRz
LWZyb20tcGFyZW50LWZ1bmN0aW9uLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMtYXJy
b3ctcmV0dXJucy1uZXd0YXJnZXQuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFz
cy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0aWMvcmV0dXJucy1hc3luYy1hcnJv
dy5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXBy
aXZhdGUtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLXJldHVybnMtYXJndW1l
bnRzLWZyb20tb3duLWZ1bmN0aW9uLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMtZnVu
Y3Rpb24tcmV0dXJucy1uZXd0YXJnZXQuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0aWMvcmV0dXJucy1hc3luYy1m
dW5jdGlvbi5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2Rp
cmVjdC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVudHMuanMKK0EgdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9pbmRpcmVjdC1ldmFsLWNvbnRhaW5zLWFyZ3VtZW50cy5q
cworRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2luZGlyZWN0LWV2
YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL2VsZW1lbnRzL25lc3RlZC1kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRz
LmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvbmVzdGVkLWlu
ZGlyZWN0LWV2YWwtY29udGFpbnMtYXJndW1lbnRzLmpzCitEIHRlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvZWxlbWVudHMvbmVzdGVkLWluZGlyZWN0LWV2YWwtZXJyLWNvbnRhaW5zLWFy
Z3VtZW50cy5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL25l
c3RlZC1wcml2YXRlLWRpcmVjdC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVudHMuanMKK0EgdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9uZXN0ZWQtcHJpdmF0ZS1pbmRp
cmVjdC1ldmFsLWNvbnRhaW5zLWFyZ3VtZW50cy5qcworRCB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NsYXNzL2VsZW1lbnRzL25lc3RlZC1wcml2YXRlLWluZGlyZWN0LWV2YWwtZXJyLWNvbnRh
aW5zLWFyZ3VtZW50cy5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1l
bnRzL3ByaXZhdGUtZGlyZWN0LWV2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5qcworQSB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL3ByaXZhdGUtaW5kaXJlY3QtZXZh
bC1jb250YWlucy1hcmd1bWVudHMuanMKK0QgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFz
cy9lbGVtZW50cy9wcml2YXRlLWluZGlyZWN0LWV2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5q
cworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2dlbi1tZXRob2QvZm9yYmlkZGVu
LWV4dC9iMS9jbHMtZXhwci1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJv
cC1hcmd1bWVudHMuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9nZW4tbWV0
aG9kL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWV4cHItZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJl
Y3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvZ2VuLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2IyL2Nscy1leHByLWdlbi1tZXRoLWZvcmJpZGRl
bi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMKK0EgdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jbGFzcy9nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4
cHItZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVy
LXZhbHVlLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZ2VuLW1ldGhvZC9m
b3JiaWRkZW4tZXh0L2IyL2Nscy1leHByLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3Qt
YWNjZXNzLXByb3AtY2FsbGVyLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
Z2VuLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZXhwci1nZW4tbWV0aC1zdGF0
aWMtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCitNIHRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZ2VuLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4
dC9iMS9jbHMtZXhwci1nZW4tbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNz
LXByb3AtY2FsbGVyLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZ2VuLW1l
dGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1nZW4tbWV0aC1zdGF0aWMtZm9y
YmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcworQSB0ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2dlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1l
eHQvYjIvY2xzLWV4cHItZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNj
ZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL2dlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItZ2VuLW1l
dGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCitN
IHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjEv
Y2xzLWV4cHItbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMu
anMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9tZXRob2QvZm9yYmlkZGVuLWV4
dC9iMS9jbHMtZXhwci1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxl
ci5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL21ldGhvZC9mb3JiaWRkZW4t
ZXh0L2IyL2Nscy1leHByLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXBy
b3AtY2FsbGVyLWdldC5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL21ldGhv
ZC9mb3JiaWRkZW4tZXh0L2IyL2Nscy1leHByLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1h
Y2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItbWV0aC1mb3JiaWRkZW4t
ZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL21ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZXhwci1tZXRo
LXN0YXRpYy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKK00g
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1l
eHQvYjEvY2xzLWV4cHItbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXBy
b3AtY2FsbGVyLmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvbWV0aG9kLXN0
YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1leHByLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQt
aW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMKK0EgdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHIt
bWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVy
LXZhbHVlLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvbWV0aG9kLXN0YXRp
Yy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1leHByLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5k
aXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvcG9pc29uZWQtdW5kZXJzY29yZS1wcm90by5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL3N1YmNsYXNzLWJ1aWx0aW5zL3N1YmNsYXNzLVdlYWtSZWYuanMKK0QgdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2Z1bmMtZXhw
ci1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKK0QgdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2Z1bmMtZXhwci1m
b3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKK00gdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2Z1bmMtZXhwci1zdHJpY3Qt
Zm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCitNIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9mdW5jLWV4cHItc3Ry
aWN0LWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworQSB0ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2Z1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjIvZnVuYy1leHByLWZv
cmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMKK0EgdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2Z1bmMtZXhw
ci1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMK
K00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2Z1
bmMtZXhwci1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworTSB0
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRvcnMvZm9yYmlkZGVuLWV4dC9iMS9nZW4t
ZnVuYy1leHByLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwor
TSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRvcnMvZm9yYmlkZGVuLWV4dC9iMS9n
ZW4tZnVuYy1leHByLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwor
QSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRvcnMvZm9yYmlkZGVuLWV4dC9iMi9n
ZW4tZnVuYy1leHByLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxl
ci1nZXQuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0b3JzL2ZvcmJpZGRl
bi1leHQvYjIvZ2VuLWZ1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24t
cHJvcC1jYWxsZXItdmFsdWUuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0
b3JzL2ZvcmJpZGRlbi1leHQvYjIvZ2VuLWZ1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWluZGlyZWN0
LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworUjEwMCB0ZXN0L2FubmV4Qi9sYW5ndWFnZS9leHByZXNz
aW9ucy9vYmplY3QvX19wcm90b19fLWR1cGxpY2F0ZS1jb21wdXRlZC5qcyB0ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL29iamVjdC9fX3Byb3RvX18tZHVwbGljYXRlLWNvbXB1dGVkLmpzCitSMTAw
IHRlc3QvYW5uZXhCL2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9fX3Byb3RvX18tZHVwbGlj
YXRlLmpzIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L19fcHJvdG9fXy1kdXBsaWNh
dGUuanMKK1IxMDAgdGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L19fcHJv
dG9fXy1mbi1uYW1lLmpzIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L19fcHJvdG9f
Xy1mbi1uYW1lLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L19fcHJvdG9f
Xy1wZXJtaXR0ZWQtZHVwLmpzCitSMTAwIHRlc3QvYW5uZXhCL2xhbmd1YWdlL2V4cHJlc3Npb25z
L29iamVjdC9fX3Byb3RvX18tcG9pc29uZWQtb2JqZWN0LXByb3RvdHlwZS5qcyB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL29iamVjdC9fX3Byb3RvX18tcG9pc29uZWQtb2JqZWN0LXByb3RvdHlw
ZS5qcworUjEwMCB0ZXN0L2FubmV4Qi9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvX19wcm90
b19fLXZhbHVlLW5vbi1vYmplY3QuanMgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3Qv
X19wcm90b19fLXZhbHVlLW5vbi1vYmplY3QuanMKK1IxMDAgdGVzdC9hbm5leEIvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvb2JqZWN0L19fcHJvdG9fXy12YWx1ZS1udWxsLmpzIHRlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvb2JqZWN0L19fcHJvdG9fXy12YWx1ZS1udWxsLmpzCitSMTAwIHRlc3QvYW5u
ZXhCL2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9fX3Byb3RvX18tdmFsdWUtb2JqLmpzIHRl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L19fcHJvdG9fXy12YWx1ZS1vYmouanMKK0Eg
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vYXN5bmMt
cmV0dXJucy1hc3luYy1hcnJvdy1yZXR1cm5zLWFyZ3VtZW50cy1mcm9tLXBhcmVudC1mdW5jdGlv
bi5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlv
bi9hc3luYy1yZXR1cm5zLWFzeW5jLWFycm93LXJldHVybnMtbmV3dGFyZ2V0LmpzCitBIHRlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2FzeW5jLXJldHVy
bnMtYXN5bmMtYXJyb3cuanMKK0EgdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0
aG9kLWRlZmluaXRpb24vYXN5bmMtcmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1cm5zLWFyZ3Vt
ZW50cy1mcm9tLW93bi1mdW5jdGlvbi5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29i
amVjdC9tZXRob2QtZGVmaW5pdGlvbi9hc3luYy1yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLXJldHVy
bnMtbmV3dGFyZ2V0LmpzCitBIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhv
ZC1kZWZpbml0aW9uL2FzeW5jLXJldHVybnMtYXN5bmMtZnVuY3Rpb24uanMKK00gdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9i
MS9hc3luYy1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVu
dHMuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRp
b24vZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1h
Y2Nlc3MtcHJvcC1jYWxsZXIuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3Qv
bWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1tZXRoLWZvcmJpZGRlbi1l
eHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcworTSB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2FzeW5jLW1l
dGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCitNIHRlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1leHQv
YjEvZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpz
CitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2Zv
cmJpZGRlbi1leHQvYjEvZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3At
Y2FsbGVyLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZp
bml0aW9uL2ZvcmJpZGRlbi1leHQvYjEvbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3Mt
cHJvcC1hcmd1bWVudHMuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0
aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9iMS9tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0
LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVj
dC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWdlbi1tZXRoLWZvcmJp
ZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMKK0EgdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4
dC9iMi9hc3luYy1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJv
cC1jYWxsZXItdmFsdWUuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0
aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1nZW4tbWV0aC1mb3JiaWRkZW4t
ZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLW1l
dGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcwor
QSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3Ji
aWRkZW4tZXh0L2IyL2FzeW5jLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3du
LXByb3AtY2FsbGVyLXZhbHVlLmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0
L21ldGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtbWV0aC1mb3JiaWRkZW4t
ZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2dlbi1tZXRo
LWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMKK0Eg
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vZm9yYmlk
ZGVuLWV4dC9iMi9nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJv
cC1jYWxsZXItdmFsdWUuanMKK00gdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0
aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9iMi9nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWlu
ZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworQSB0ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IyL21ldGgtZm9yYmlkZGVu
LWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcworQSB0ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2Iy
L21ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVl
LmpzCitNIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9u
L2ZvcmJpZGRlbi1leHQvYjIvbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9w
LWNhbGxlci5qcworQSB0ZXN0L2xhbmd1YWdlL21vZHVsZS1jb2RlL2Vhcmx5LWV4cG9ydC1pbGwt
Zm9ybWVkLXN0cmluZy5qcworQSB0ZXN0L2xhbmd1YWdlL21vZHVsZS1jb2RlL2V4cG9ydC1leHBu
YW1lLWJpbmRpbmctc3RyaW5nLmpzCitBIHRlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUvZXhwb3J0
LWV4cG5hbWUtZnJvbS1iaW5kaW5nLXN0cmluZy5qcworQSB0ZXN0L2xhbmd1YWdlL21vZHVsZS1j
b2RlL2V4cG9ydC1leHBuYW1lLWZyb20tc3Rhci1zdHJpbmcuanMKK0EgdGVzdC9sYW5ndWFnZS9t
b2R1bGUtY29kZS9leHBvcnQtZXhwbmFtZS1mcm9tLXN0YXIuanMKK0EgdGVzdC9sYW5ndWFnZS9t
b2R1bGUtY29kZS9leHBvcnQtZXhwbmFtZS1mcm9tLXN0cmluZy1iaW5kaW5nLmpzCitBIHRlc3Qv
bGFuZ3VhZ2UvbW9kdWxlLWNvZGUvZXhwb3J0LWV4cG5hbWUtZnJvbS1zdHJpbmctc3RyaW5nLmpz
CitBIHRlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUvZXhwb3J0LWV4cG5hbWUtZnJvbS1zdHJpbmcu
anMKK0EgdGVzdC9sYW5ndWFnZS9tb2R1bGUtY29kZS9leHBvcnQtZXhwbmFtZS1pbXBvcnQtc3Ry
aW5nLWJpbmRpbmcuanMKK0EgdGVzdC9sYW5ndWFnZS9tb2R1bGUtY29kZS9leHBvcnQtZXhwbmFt
ZV9GSVhUVVJFLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1mdW5jdGlvbi9h
d2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXItZXNjYXBlZC5qcworTSB0ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vYXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVyLmpzCitN
IHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1mdW5jdGlvbi9hd2FpdC1hcy1pZGVudGlm
aWVyLXJlZmVyZW5jZS1lc2NhcGVkLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3lu
Yy1mdW5jdGlvbi9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS5qcworTSB0ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci1l
c2NhcGVkLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1mdW5jdGlvbi9hd2Fp
dC1hcy1sYWJlbC1pZGVudGlmaWVyLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3lu
Yy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2FzeW5jLWZ1bmMtZGVjbC1mb3JiaWRkZW4tZXh0
LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2FzeW5jLWZ1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjEvYXN5bmMtZnVuYy1kZWNsLWZvcmJp
ZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworQSB0ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1mdW5jLWRlY2wt
Zm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcworQSB0
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9h
c3luYy1mdW5jLWRlY2wtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2Fs
bGVyLXZhbHVlLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1mdW5jdGlvbi9m
b3JiaWRkZW4tZXh0L2IyL2FzeW5jLWZ1bmMtZGVjbC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFj
Y2Vzcy1wcm9wLWNhbGxlci5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZnVu
Y3Rpb24vcmV0dXJucy1hc3luYy1hcnJvdy1yZXR1cm5zLWFyZ3VtZW50cy1mcm9tLXBhcmVudC1m
dW5jdGlvbi5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vcmV0
dXJucy1hc3luYy1hcnJvdy1yZXR1cm5zLW5ld3RhcmdldC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vcmV0dXJucy1hc3luYy1hcnJvdy5qcworQSB0ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vcmV0dXJucy1hc3luYy1mdW5jdGlvbi1y
ZXR1cm5zLWFyZ3VtZW50cy1mcm9tLW93bi1mdW5jdGlvbi5qcworQSB0ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vcmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1cm5zLW5l
d3RhcmdldC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vcmV0
dXJucy1hc3luYy1mdW5jdGlvbi5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMt
Z2VuZXJhdG9yL2ZvcmJpZGRlbi1leHQvYjEvYXN5bmMtZ2VuLWZ1bmMtZGVjbC1mb3JiaWRkZW4t
ZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2FzeW5jLWdlbmVyYXRvci9mb3JiaWRkZW4tZXh0L2IxL2FzeW5jLWdlbi1mdW5jLWRl
Y2wtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCitBIHRlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1nZW5lcmF0b3IvZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1n
ZW4tZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxl
ci1nZXQuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWdlbmVyYXRvci9mb3Ji
aWRkZW4tZXh0L2IyL2FzeW5jLWdlbi1mdW5jLWRlY2wtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1h
Y2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9hc3luYy1nZW5lcmF0b3IvZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1nZW4tZnVuYy1kZWNsLWZv
cmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCitNIHRlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjEvY2xz
LWRlY2wtYXN5bmMtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJn
dW1lbnRzLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1nZW4tbWV0
aG9kL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4
dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wtYXN5bmMt
Z2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdl
dC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC9m
b3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWFzeW5jLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtaW5k
aXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5qcworTSB0ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNs
LWFzeW5jLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVy
LmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kLXN0
YXRpYy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1kZWNsLWFzeW5jLWdlbi1tZXRoLXN0YXRpYy1mb3Ji
aWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKK00gdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLWdlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQv
YjEvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFj
Y2Vzcy1wcm9wLWNhbGxlci5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5
bmMtZ2VuLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1hc3luYy1nZW4t
bWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVy
LWdldC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhv
ZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1hc3luYy1nZW4tbWV0aC1zdGF0aWMt
Zm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzCitN
IHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kLXN0YXRpYy9m
b3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWFzeW5jLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4t
ZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci1lc2Nh
cGVkLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2QvYXdh
aXQtYXMtYmluZGluZy1pZGVudGlmaWVyLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9hc3luYy1tZXRob2QvYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UtZXNjYXBlZC5q
cworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kL2F3YWl0LWFz
LWlkZW50aWZpZXItcmVmZXJlbmNlLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9hc3luYy1tZXRob2QvYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci1lc2NhcGVkLmpzCitNIHRl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2QvYXdhaXQtYXMtbGFiZWwt
aWRlbnRpZmllci5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0
aG9kL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtYXN5bmMtbWV0aC1mb3JiaWRkZW4tZXh0LWRp
cmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2FzeW5jLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2IxL2Nscy1kZWNsLWFzeW5jLW1ldGgt
Zm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCitBIHRlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVj
bC1hc3luYy1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxl
ci1nZXQuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC9m
b3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWFzeW5jLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVj
dC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9hc3luYy1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1hc3luYy1t
ZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCitBIHRlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2QvcmV0dXJucy1hc3luYy1hcnJv
dy1yZXR1cm5zLWFyZ3VtZW50cy1mcm9tLXBhcmVudC1mdW5jdGlvbi5qcworQSB0ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0
dXJucy1uZXd0YXJnZXQuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5j
LW1ldGhvZC9yZXR1cm5zLWFzeW5jLWFycm93LmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9hc3luYy1tZXRob2QvcmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1cm5zLWFyZ3Vt
ZW50cy1mcm9tLW93bi1mdW5jdGlvbi5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvYXN5bmMtbWV0aG9kL3JldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0dXJucy1uZXd0YXJnZXQu
anMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC9yZXR1cm5z
LWFzeW5jLWZ1bmN0aW9uLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3lu
Yy1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci1lc2NhcGVkLmpzCitN
IHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2F3YWl0
LWFzLWJpbmRpbmctaWRlbnRpZmllci5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS1lc2Nh
cGVkLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2Qtc3Rh
dGljL2F3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZp
ZXItZXNjYXBlZC5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0
aG9kLXN0YXRpYy9hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLmpzCitNIHRlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjEvY2xz
LWRlY2wtYXN5bmMtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3At
YXJndW1lbnRzLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRo
b2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtYXN5bmMtbWV0aC1zdGF0aWMtZm9y
YmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCitBIHRlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xz
LWRlY2wtYXN5bmMtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3du
LXByb3AtY2FsbGVyLWdldC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5
bmMtbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWFzeW5jLW1ldGgtc3Rh
dGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5q
cworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9m
b3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWFzeW5jLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQt
aW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1h
cmd1bWVudHMtZnJvbS1wYXJlbnQtZnVuY3Rpb24uanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvcmV0dXJucy1hc3luYy1hcnJvdy1yZXR1cm5z
LW5ld3RhcmdldC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0
aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWFycm93LmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0
dXJucy1hcmd1bWVudHMtZnJvbS1vd24tZnVuY3Rpb24uanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvcmV0dXJucy1hc3luYy1mdW5jdGlvbi1y
ZXR1cm5zLW5ld3RhcmdldC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5
bmMtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLmpzCitNIHRlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVy
dHktbmFtZS1mcm9tLWFkZGl0aXZlLWV4cHJlc3Npb24tYWRkLmpzCitNIHRlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHkt
bmFtZS1mcm9tLWFkZGl0aXZlLWV4cHJlc3Npb24tc3VidHJhY3QuanMKK00gdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lvbi5qcworTSB0ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5
LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYXNzaWdubWVudC5qcworTSB0ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYml0d2lzZS1vci5qcworTSB0
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tY29hbGVzY2UuanMK
K00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWxvZ2ljYWwt
YW5kLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1m
aWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1s
b2dpY2FsLW9yLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3Mt
ZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzeW5jLWFycm93LWZ1bmN0
aW9uLWV4cHJlc3Npb24uanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1j
bGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXdhaXQtZXhwcmVz
c2lvbi5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wt
ZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1jb25kaXRpb24tZXhwcmVzc2lvbi1m
YWxzZS5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wt
ZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1jb25kaXRpb24tZXhwcmVzc2lvbi10
cnVlLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1m
aWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWRlY2ltYWwtZS1ub3RhdGlvbmFsLWxp
dGVyYWwuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNs
LWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZGVjaW1hbC1saXRlcmFsLmpzCitN
IHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cG9uZXRpYXRpb24tZXhwcmVzc2lvbi5qcworTSB0
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNzaW9uLWNvYWxlc2NlLmpzCitNIHRlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLWV4cHJlc3Npb24tbG9naWNhbC1hbmQuanMKK00gdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLW9yLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLWZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LWZ1bmN0aW9uLWV4cHJlc3Npb24uanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZ2VuZXJh
dG9yLWZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWlk
ZW50aWZpZXIuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1k
ZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20taW50ZWdlci1lLW5vdGF0aW9u
YWwtbGl0ZXJhbC5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNz
LWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2VyLXNlcGFyYXRv
cnMuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZp
ZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbWF0aC5qcworTSB0ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5
LW5hbWUtZnJvbS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLWRpdi5qcworTSB0ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3Bl
cnR5LW5hbWUtZnJvbS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLW11bHQuanMKK00gdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1w
cm9wZXJ0eS1uYW1lLWZyb20tbnVsbC5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1udW1l
cmljLWxpdGVyYWwuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFz
cy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tc3RyaW5nLWxpdGVyYWwu
anMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxk
cy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20teWllbGQtZXhwcmVzc2lvbi5qcworTSB0ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFkZGl0aXZlLWV4cHJlc3Npb24tYWRkLmpzCitN
IHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0
aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lvbi1zdWJ0
cmFjdC5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wt
ZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFycm93LWZ1bmN0aW9u
LWV4cHJlc3Npb24uanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFz
cy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25t
ZW50LWV4cHJlc3Npb24tYXNzaWdubWVudC5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1iaXR3aXNlLW9yLmpzCitNIHRlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWNvYWxlc2NlLmpzCitN
IHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0
aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWxv
Z2ljYWwtYW5kLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3Mt
ZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVu
dC1leHByZXNzaW9uLWxvZ2ljYWwtb3IuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUt
ZnJvbS1hc3luYy1hcnJvdy1mdW5jdGlvbi1leHByZXNzaW9uLmpzCitNIHRlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1w
cm9wZXJ0eS1uYW1lLWZyb20tYXdhaXQtZXhwcmVzc2lvbi5qcworTSB0ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLWNvbmRpdGlvbi1leHByZXNzaW9uLWZhbHNlLmpzCitNIHRlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tY29uZGl0aW9uLWV4cHJlc3Npb24tdHJ1ZS5qcworTSB0
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhv
ZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWRlY2ltYWwtZS1ub3RhdGlvbmFsLWxpdGVy
YWwuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZp
ZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWxpdGVyYWwu
anMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxk
cy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHBvbmV0aWF0aW9uLWV4cHJl
c3Npb24uanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNs
LWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNzaW9uLWNv
YWxlc2NlLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVj
bC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1s
b2dpY2FsLWFuZC5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNz
LWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cHJlc3Np
b24tbG9naWNhbC1vci5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNs
YXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWZ1bmN0
aW9uLWRlY2xhcmF0aW9uLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4t
Y2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZnVu
Y3Rpb24tZXhwcmVzc2lvbi5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3Bu
LWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWdl
bmVyYXRvci1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHkt
bmFtZS1mcm9tLWlkZW50aWZpZXIuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1pbnRlZ2VyLWUtbm90YXRpb25hbC1saXRlcmFsLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20taW50ZWdlci1zZXBhcmF0b3JzLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tbWF0aC5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3Bu
LWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW11
bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tZGl2LmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20tbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbi1tdWx0LmpzCitNIHRlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tbnVsbC5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLW51bWVyaWMtbGl0ZXJhbC5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLXN0cmluZy1saXRlcmFsLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9j
cG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20t
eWllbGQtZXhwcmVzc2lvbi5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxl
bWVudHMvYXJyb3ctYm9keS1kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmpzCitE
IHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hcnJvdy1ib2R5LWluZGly
ZWN0LWV2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvZWxlbWVudHMvYXJyb3ctYm9keS1wcml2YXRlLWRpcmVjdC1ldmFsLWVyci1j
b250YWlucy1hcmd1bWVudHMuanMKK0QgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Vs
ZW1lbnRzL2Fycm93LWJvZHktcHJpdmF0ZS1pbmRpcmVjdC1ldmFsLWVyci1jb250YWlucy1hcmd1
bWVudHMuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5j
LXByaXZhdGUtbWV0aG9kL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci1lc2NhcGVkLmpzCitN
IHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1l
dGhvZC9hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXIuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL2F3YWl0LWFzLWlkZW50
aWZpZXItcmVmZXJlbmNlLWVzY2FwZWQuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL2F3YWl0LWFzLWlkZW50aWZpZXItcmVm
ZXJlbmNlLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3lu
Yy1wcml2YXRlLW1ldGhvZC9hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLWVzY2FwZWQuanMKK00g
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0
aG9kL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXIuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL3JldHVybnMtYXN5bmMtYXJy
b3ctcmV0dXJucy1hcmd1bWVudHMtZnJvbS1wYXJlbnQtZnVuY3Rpb24uanMKK0EgdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL3JldHVy
bnMtYXN5bmMtYXJyb3ctcmV0dXJucy1uZXd0YXJnZXQuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL3JldHVybnMtYXN5bmMt
YXJyb3cuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5j
LXByaXZhdGUtbWV0aG9kL3JldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0dXJucy1hcmd1bWVudHMt
ZnJvbS1vd24tZnVuY3Rpb24uanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Vs
ZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL3JldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0dXJu
cy1uZXd0YXJnZXQuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRz
L2FzeW5jLXByaXZhdGUtbWV0aG9kL3JldHVybnMtYXN5bmMtZnVuY3Rpb24uanMKK00gdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kLXN0
YXRpYy9hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXItZXNjYXBlZC5qcworTSB0ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGlj
L2F3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWlk
ZW50aWZpZXItcmVmZXJlbmNlLWVzY2FwZWQuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1pZGVu
dGlmaWVyLXJlZmVyZW5jZS5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxl
bWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZp
ZXItZXNjYXBlZC5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMv
YXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXIuanMK
K0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUt
bWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWFycm93LXJldHVybnMtYXJndW1lbnRzLWZyb20t
cGFyZW50LWZ1bmN0aW9uLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVt
ZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0aWMvcmV0dXJucy1hc3luYy1hcnJvdy1yZXR1
cm5zLW5ld3RhcmdldC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVu
dHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMtYXJyb3cuanMKK0Eg
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0
aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLXJldHVybnMtYXJndW1lbnRzLWZyb20t
b3duLWZ1bmN0aW9uLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50
cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0aWMvcmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1
cm5zLW5ld3RhcmdldC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVu
dHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMtZnVuY3Rpb24uanMK
K00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2RpcmVjdC1ldmFsLWVy
ci1jb250YWlucy1hcmd1bWVudHMuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2VsZW1lbnRzL2luZGlyZWN0LWV2YWwtY29udGFpbnMtYXJndW1lbnRzLmpzCitEIHRlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9pbmRpcmVjdC1ldmFsLWVyci1jb250YWlu
cy1hcmd1bWVudHMuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRz
L25lc3RlZC1kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmpzCitBIHRlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9uZXN0ZWQtaW5kaXJlY3QtZXZhbC1jb250
YWlucy1hcmd1bWVudHMuanMKK0QgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1l
bnRzL25lc3RlZC1pbmRpcmVjdC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVudHMuanMKK00gdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL25lc3RlZC1wcml2YXRlLWRpcmVj
dC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVudHMuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2VsZW1lbnRzL25lc3RlZC1wcml2YXRlLWluZGlyZWN0LWV2YWwtY29udGFpbnMt
YXJndW1lbnRzLmpzCitEIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9u
ZXN0ZWQtcHJpdmF0ZS1pbmRpcmVjdC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVudHMuanMKK00g
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL3ByaXZhdGUtZGlyZWN0LWV2
YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvZWxlbWVudHMvcHJpdmF0ZS1pbmRpcmVjdC1ldmFsLWNvbnRhaW5zLWFyZ3VtZW50cy5q
cworRCB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvcHJpdmF0ZS1pbmRp
cmVjdC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVudHMuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL3ByaXZhdGVmaWVsZGdldC1wcmltaXRpdmUtcmVjZWl2ZXIu
anMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL3ByaXZhdGVmaWVs
ZHB1dC1wcmltaXRpdmUtcmVjZWl2ZXIuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2dlbi1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZGVjbC1nZW4tbWV0aC1mb3JiaWRk
ZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKK00gdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2dlbi1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZGVjbC1nZW4t
bWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKK0EgdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2dlbi1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMt
ZGVjbC1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxs
ZXItZ2V0LmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9nZW4tbWV0aG9kL2Zv
cmJpZGRlbi1leHQvYjIvY2xzLWRlY2wtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1h
Y2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wtZ2VuLW1ldGgtZm9y
YmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKK00gdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2dlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjEvY2xz
LWRlY2wtZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFy
Z3VtZW50cy5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZ2VuLW1ldGhvZC1z
dGF0aWMvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZGVjbC1nZW4tbWV0aC1zdGF0aWMtZm9yYmlkZGVu
LWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9nZW4tbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWdl
bi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxs
ZXItZ2V0LmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9nZW4tbWV0aG9kLXN0
YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4t
ZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMKK00gdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2dlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIv
Y2xzLWRlY2wtZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXBy
b3AtY2FsbGVyLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9tZXRob2QvZm9y
YmlkZGVuLWV4dC9iMS9jbHMtZGVjbC1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1w
cm9wLWFyZ3VtZW50cy5qcworTSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvbWV0aG9k
L2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nl
c3MtcHJvcC1jYWxsZXIuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL21ldGhv
ZC9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1h
Y2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcworQSB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wtbWV0aC1mb3JiaWRkZW4tZXh0
LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMKK00gdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL21ldGhvZC9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLW1ldGgt
Zm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKK00gdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL21ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMS9jbHMt
ZGVjbC1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVu
dHMuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL21ldGhvZC1zdGF0aWMvZm9y
YmlkZGVuLWV4dC9iMS9jbHMtZGVjbC1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1h
Y2Nlc3MtcHJvcC1jYWxsZXIuanMKK0EgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL21l
dGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1tZXRoLXN0YXRpYy1mb3JiaWRk
ZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzCitBIHRlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xz
LWRlY2wtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3At
Y2FsbGVyLXZhbHVlLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9tZXRob2Qt
c3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4
dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKK00gdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL3N1YmNsYXNzLWJ1aWx0aW5zL3N1YmNsYXNzLVdlYWtSZWYuanMKK00gdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWV4cHItbWV0
aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKK00gdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWV4cHItbWV0
aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKK0QgdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjEvZnVuYy1kZWNsLWZvcmJp
ZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcworRCB0ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9mdW5jLWRlY2wtZm9yYmlkZGVu
LWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2Z1bmMtZGVjbC1mb3JiaWRkZW4tZXh0LWlu
ZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzCitBIHRlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2Z1bmMtZGVjbC1mb3JiaWRkZW4tZXh0
LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMKK00gdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjIvZnVuYy1kZWNsLWZvcmJpZGRl
bi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCitNIHRlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9nZW5lcmF0b3JzL2ZvcmJpZGRlbi1leHQvYjEvZ2VuLWZ1bmMtZGVjbC1mb3JiaWRk
ZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKK00gdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2dlbmVyYXRvcnMvZm9yYmlkZGVuLWV4dC9iMS9nZW4tZnVuYy1kZWNsLWZvcmJp
ZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworQSB0ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvZ2VuZXJhdG9ycy9mb3JiaWRkZW4tZXh0L2IyL2dlbi1mdW5jLWRlY2wtZm9yYmlk
ZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcworQSB0ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9ycy9mb3JiaWRkZW4tZXh0L2IyL2dlbi1mdW5jLWRl
Y2wtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpz
CitNIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9nZW5lcmF0b3JzL2ZvcmJpZGRlbi1leHQvYjIv
Z2VuLWZ1bmMtZGVjbC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5q
cwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0WWVhci9ub3QtYS1jb25z
dHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvRGF0ZS9w
cm90b3R5cGUvZ2V0WWVhci9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZDE4NmFk
YjhhY2M0MjQ1MjU2NWQwMzUzNDE1MWE0NjllMWEyNWRlCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRZZWFy
L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzIgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMg
Z292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisK
Ky8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitk
ZXNjcmlwdGlvbjogPgorICBEYXRlLnByb3RvdHlwZS5nZXRZZWFyIGRvZXMgbm90IGltcGxlbWVu
dCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBG
dW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBu
b3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tD
b25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4K
KyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZh
bHVhdGVuZXcKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZh
bHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0Nv
bnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rp
b25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKERhdGUucHJv
dG90eXBlLmdldFllYXIpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoRGF0ZS5wcm90b3R5
cGUuZ2V0WWVhcikgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgKCkgPT4geworICBsZXQgZGF0ZSA9IG5ldyBEYXRlKERhdGUubm93KCkpOyBuZXcgZGF0
ZS5nZXRZZWFyKCk7Cit9LCAnYGxldCBkYXRlID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7IG5ldyBk
YXRlLmdldFllYXIoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFllYXIvbm90
LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL3NldFllYXIvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
Yzg1MWU3ZDNjNzM5ZTZmNjczNTJhMjY3MjhjMjI5Yzc3ZWUzOGQyOQotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
c2V0WWVhci9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMyIEBACisvLyBDb3B5cmln
aHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2Jq
ZWN0cworZGVzY3JpcHRpb246ID4KKyAgRGF0ZS5wcm90b3R5cGUuc2V0WWVhciBkb2VzIG5vdCBp
bXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFT
Y3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhh
dCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQg
dGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lm
aWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAg
c2VjLWV2YWx1YXRlbmV3CisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9y
KSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVz
OiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93
LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihE
YXRlLnByb3RvdHlwZS5zZXRZZWFyKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKERhdGUu
cHJvdG90eXBlLnNldFllYXIpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsg
bmV3IGRhdGUuc2V0WWVhcigpOworfSwgJ2BsZXQgZGF0ZSA9IG5ldyBEYXRlKERhdGUubm93KCkp
OyBuZXcgZGF0ZS5zZXRZZWFyKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0dN
VFN0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4
Qi9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9HTVRTdHJpbmcvbm90LWEtY29uc3RydWN0b3Iu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDdhMDhjOGU5MTYzYzNlYWM3ZTA4ODFkNmViMjA3ZTRiMDU2NzM1Ywot
LS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvdG9HTVRTdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCAr
MSwzMiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0
YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIERhdGUucHJvdG90eXBl
LnRvR01UU3RyaW5nIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3
LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQt
aW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3Rv
cnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2Qg
dW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFy
dGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKyAgLi4uCisgIDcuIElmIElz
Q29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNl
cHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtS
ZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZh
bHVlKAorICBpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90eXBlLnRvR01UU3RyaW5nKSwKKyAgZmFs
c2UsCisgICdpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90eXBlLnRvR01UU3RyaW5nKSBtdXN0IHJl
dHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxl
dCBkYXRlID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7IG5ldyBkYXRlLnRvR01UU3RyaW5nKCk7Cit9
LCAnYGxldCBkYXRlID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7IG5ldyBkYXRlLnRvR01UU3RyaW5n
KClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYW5uZXhCL2J1aWx0LWlucy9KU09OL3BhcnNlL1MxNS4xMi4yX0ExLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9KU09OL3BhcnNlL1MxNS4xMi4yX0ExLmpzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYzQ0NzI0ZDYwNzMwM2Y4ZWM1NDY1YjViMjE5
ZjE2OTYzMmM0YWZiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvSlNPTi9wYXJzZS9TMTUu
MTIuMl9BMS5qcworKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLS8vIENvcHlyaWdodCAy
MDExIHRoZSBTcHV0bmlrIGF1dGhvcnMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgotCi0vKi0tLQotaW5mbzogSlNPTi5wYXJzZSBtdXN0IGNyZWF0ZSBhIHByb3BlcnR5IHdp
dGggdGhlIGdpdmVuIHByb3BlcnR5IG5hbWUKLWVzNWlkOiAxNS4xMi4yX0ExCi1kZXNjcmlwdGlv
bjogVGVzdHMgdGhhdCBKU09OLnBhcnNlIHRyZWF0cyAiX19wcm90b19fIiBhcyBhIHJlZ3VsYXIg
cHJvcGVydHkgbmFtZQotLS0tKi8KLQotdmFyIHggPSBKU09OLnBhcnNlKCd7Il9fcHJvdG9fXyI6
W119Jyk7Ci1pZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKHgpICE9PSBPYmplY3QucHJvdG90eXBl
KSB7Ci0gICRFUlJPUignIzE6IEpTT04ucGFyc2UgY29uZnVzZWQgYnkgIl9fcHJvdG9fXyInKTsK
LX0KLWlmICghQXJyYXkuaXNBcnJheSh4Ll9fcHJvdG9fXykpIHsKLSAgJEVSUk9SKCcjMjogSlNP
Ti5wYXJzZSBkaWQgbm90IHNldCAiX19wcm90b19fIiBhcyBhIHJlZ3VsYXIgcHJvcGVydHknKTsK
LX0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2Jq
ZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL2RlZmluZS1hYnJ1cHQuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVH
ZXR0ZXJfXy9kZWZpbmUtYWJydXB0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBm
YWY5NTQ1NTRiZDA1MzEyZWQ3OTdhZmY1MjdjMGExMzIzNWYwMDhiLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4
Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL2RlZmluZS1hYnJ1
cHQuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIw
MTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmpl
Y3QucHJvdG90eXBlLW9iamVjdAotZGVzY3JpcHRpb246IEJlaGF2aW9yIHdoZW4gW1tEZWZpbmVP
d25Qcm9wZXJ0eV1dIHJldHVybnMgYW4gYWJydXB0IGNvbXBsZXRpb24KLWluZm86IHwKLSAgICBb
Li4uXQotICAgIDUuIFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywga2V5LCBkZXNj
KS4KLWZlYXR1cmVzOiBbUHJveHldCi0tLS0qLwotCi12YXIgbm9vcCA9IGZ1bmN0aW9uKCkge307
Ci12YXIgdGhyb3dlciA9IGZ1bmN0aW9uKCkgewotICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7
Ci19OwotdmFyIHN1YmplY3QgPSBuZXcgUHJveHkoe30sIHsgZGVmaW5lUHJvcGVydHk6IHRocm93
ZXIgfSk7Ci0KLWFzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsKLSAgc3Vi
amVjdC5fX2RlZmluZUdldHRlcl9fKCdhdHRyJywgbm9vcCk7Ci19KTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2Rl
ZmluZUdldHRlcl9fL2RlZmluZS1leGlzdGluZy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2Fu
bmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL2RlZmluZS1l
eGlzdGluZy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTFiM2M5MGMxNjgzMGQx
YzQ1YWI5NDdmM2VhMzFkY2NhYTc3OTUzNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09i
amVjdC9wcm90b3R5cGUvX19kZWZpbmVHZXR0ZXJfXy9kZWZpbmUtZXhpc3RpbmcuanMKKysrIC9k
ZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHBy
b2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zl
cm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0t
Ci1lc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3QucHJvdG90eXBl
LW9iamVjdAotZGVzY3JpcHRpb246IEJlaGF2aW9yIHdoZW4gcHJvcGVydHkgZXhpc3RzIGFuZCBp
cyBjb25maWd1cmFibGUKLWluZm86IHwKLSAgICBbLi4uXQotICAgIDMuIExldCBkZXNjIGJlIFBy
b3BlcnR5RGVzY3JpcHRvcntbW0dldF1dOiBnZXR0ZXIsIFtbRW51bWVyYWJsZV1dOiB0cnVlLAot
ICAgICAgIFtbQ29uZmlndXJhYmxlXV06IHRydWV9LgotICAgIDQuIExldCBrZXkgYmUgPyBUb1By
b3BlcnR5S2V5KFApLgotICAgIDUuIFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywg
a2V5LCBkZXNjKS4KLSAgICA2LiBSZXR1cm4gdW5kZWZpbmVkLgotaW5jbHVkZXM6IFtwcm9wZXJ0
eUhlbHBlci5qc10KLS0tLSovCi0KLXZhciBzdWJqZWN0ID0ge307Ci12YXIgb3JpZ2luYWxHZXQg
PSBmdW5jdGlvbigpIHt9OwotdmFyIG9yaWdpbmFsU2V0ID0gZnVuY3Rpb24oKSB7fTsKLXZhciBu
ZXdHZXQgPSBmdW5jdGlvbigpIHt9OwotdmFyIGRlc2MsIHJlc3VsdDsKLQotT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KHN1YmplY3QsICdzdHJpbmdBY3NyJywgewotICBnZXQ6IG9yaWdpbmFsR2V0LAot
ICBzZXQ6IG9yaWdpbmFsU2V0LAotICBlbnVtZXJhYmxlOiBmYWxzZSwKLSAgY29uZmlndXJhYmxl
OiB0cnVlCi19KTsKLQotcmVzdWx0ID0gc3ViamVjdC5fX2RlZmluZUdldHRlcl9fKCdzdHJpbmdB
Y3NyJywgbmV3R2V0KTsKLQotZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
c3ViamVjdCwgJ3N0cmluZ0Fjc3InKTsKLQotdmVyaWZ5UHJvcGVydHkoc3ViamVjdCwgInN0cmlu
Z0Fjc3IiLCB7Ci0gIGVudW1lcmFibGU6IHRydWUsCi0gIGNvbmZpZ3VyYWJsZTogdHJ1ZQotfSk7
Ci0KLWFzc2VydC5zYW1lVmFsdWUoZGVzYy5nZXQsIG5ld0dldCwgJ2Rlc2NyaXB0b3IgYGdldGAg
bWV0aG9kJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKGRlc2Muc2V0LCBvcmlnaW5hbFNldCwgJ2Rlc2Ny
aXB0b3IgYHNldGAgbWV0aG9kJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKGRlc2MudmFsdWUsIHVuZGVm
aW5lZCwgJ2Rlc2NyaXB0b3IgYHZhbHVlYCBwcm9wZXJ0eScpOwotCi1hc3NlcnQuc2FtZVZhbHVl
KHJlc3VsdCwgdW5kZWZpbmVkLCAnbWV0aG9kIHJldHVybiB2YWx1ZScpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19f
ZGVmaW5lR2V0dGVyX18vZGVmaW5lLW5ldy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4
Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL2RlZmluZS1uZXcu
anMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQyMTYyMjQ3YjAwMDVkNTRiOGMyMmNj
OGMwZGZlYjY4NmQ2ZDhmOTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJv
dG90eXBlL19fZGVmaW5lR2V0dGVyX18vZGVmaW5lLW5ldy5qcworKysgL2Rldi9udWxsCkBAIC0x
LDMzICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3Jz
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6IHNlYy1h
ZGRpdGlvbmFsLXByb3BlcnRpZXMtb2YtdGhlLW9iamVjdC5wcm90b3R5cGUtb2JqZWN0Ci1kZXNj
cmlwdGlvbjogQmVoYXZpb3Igd2hlbiBwcm9wZXJ0eSBkb2VzIG5vdCBleGlzdAotaW5mbzogfAot
ICAgIFsuLi5dCi0gICAgMy4gTGV0IGRlc2MgYmUgUHJvcGVydHlEZXNjcmlwdG9ye1tbR2V0XV06
IGdldHRlciwgW1tFbnVtZXJhYmxlXV06IHRydWUsCi0gICAgICAgW1tDb25maWd1cmFibGVdXTog
dHJ1ZX0uCi0gICAgNC4gTGV0IGtleSBiZSA/IFRvUHJvcGVydHlLZXkoUCkuCi0gICAgNS4gUGVy
Zm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrZXksIGRlc2MpLgotICAgIDYuIFJldHVy
biB1bmRlZmluZWQuCi1pbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQotLS0tKi8KLQotdmFy
IHN1YmplY3QgPSB7fTsKLXZhciBnZXQgPSBmdW5jdGlvbigpIHt9OwotdmFyIGRlc2MsIHJlc3Vs
dDsKLQotcmVzdWx0ID0gc3ViamVjdC5fX2RlZmluZUdldHRlcl9fKCdzdHJpbmdBY3NyJywgZ2V0
KTsKLQotZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc3ViamVjdCwgJ3N0
cmluZ0Fjc3InKTsKLQotdmVyaWZ5UHJvcGVydHkoc3ViamVjdCwgInN0cmluZ0Fjc3IiLCB7Ci0g
IGVudW1lcmFibGU6IHRydWUsCi0gIGNvbmZpZ3VyYWJsZTogdHJ1ZQotfSk7Ci0KLWFzc2VydC5z
YW1lVmFsdWUoZGVzYy5nZXQsIGdldCwgJ2Rlc2NyaXB0b3IgYGdldGAgbWV0aG9kJyk7Ci1hc3Nl
cnQuc2FtZVZhbHVlKGRlc2Muc2V0LCB1bmRlZmluZWQsICdkZXNjcmlwdG9yIGBzZXRgIG1ldGhv
ZCcpOwotYXNzZXJ0LnNhbWVWYWx1ZShkZXNjLnZhbHVlLCB1bmRlZmluZWQsICdkZXNjcmlwdG9y
IGB2YWx1ZWAgcHJvcGVydHknKTsKLQotYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIHVuZGVmaW5l
ZCwgJ21ldGhvZCByZXR1cm4gdmFsdWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL2Rl
ZmluZS1ub24tY29uZmlndXJhYmxlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1
aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lR2V0dGVyX18vZGVmaW5lLW5vbi1jb25m
aWd1cmFibGUuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0ZGQ1YzliZTY2YTM5
YWNiNWE4ZDZhZTlhYzNhZDE0ZjNhMDFmYTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9P
YmplY3QvcHJvdG90eXBlL19fZGVmaW5lR2V0dGVyX18vZGVmaW5lLW5vbi1jb25maWd1cmFibGUu
anMKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYg
dGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KLS8qLS0tCi1lc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3Qu
cHJvdG90eXBlLW9iamVjdAotZGVzY3JpcHRpb246IEJlaGF2aW9yIHdoZW4gcHJvcGVydHkgZXhp
c3RzIGFuZCBpcyBub3QgY29uZmlndXJhYmxlCi1pbmZvOiB8Ci0gICAgWy4uLl0KLSAgICA1LiBQ
ZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGtleSwgZGVzYykuCi0tLS0qLwotCi12
YXIgbm9vcCA9IGZ1bmN0aW9uKCkge307Ci12YXIgc3ViamVjdCA9IE9iamVjdC5kZWZpbmVQcm9w
ZXJ0eSgKLSAge30sICdhdHRyJywgeyB2YWx1ZTogMSwgY29uZmlndXJhYmxlOiBmYWxzZSB9Ci0p
OwotCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lR2V0
dGVyX18sICdmdW5jdGlvbicpOwotCi1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24o
KSB7Ci0gIHN1YmplY3QuX19kZWZpbmVHZXR0ZXJfXygnYXR0cicsIG5vb3ApOwotfSk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvX19kZWZpbmVHZXR0ZXJfXy9kZWZpbmUtbm9uLWV4dGVuc2libGUuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVH
ZXR0ZXJfXy9kZWZpbmUtbm9uLWV4dGVuc2libGUuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDI4MTM2M2IzMzY0OTRhY2NjNWM0OGMwY2M3M2I3YTA2ZTAyNTQ5YzkuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lR2V0dGVyX18vZGVm
aW5lLW5vbi1leHRlbnNpYmxlLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotLy8g
Q29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVy
dGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKLWRlc2NyaXB0aW9uOiBCZWhhdmlv
ciB3aGVuICJ0aGlzIiB2YWx1ZSBpcyBub3QgZXh0ZW5zaWJsZQotaW5mbzogfAotICAgIFsuLi5d
Ci0gICAgNS4gUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrZXksIGRlc2MpLgot
LS0tKi8KLQotdmFyIG5vb3AgPSBmdW5jdGlvbigpIHt9OwotdmFyIHN1YmplY3QgPSBPYmplY3Qu
cHJldmVudEV4dGVuc2lvbnMoeyBleGlzdGluZzogbnVsbCB9KTsKLQotc3ViamVjdC5fX2RlZmlu
ZUdldHRlcl9fKCdleGlzdGluZycsIG5vb3ApOwotCi1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
ZnVuY3Rpb24oKSB7Ci0gIHN1YmplY3QuX19kZWZpbmVHZXR0ZXJfXygnYnJhbmQgbmV3Jywgbm9v
cCk7Ci19KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL2dldHRlci1ub24tY2FsbGFibGUu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5
cGUvX19kZWZpbmVHZXR0ZXJfXy9nZXR0ZXItbm9uLWNhbGxhYmxlLmpzCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA1OTBjNWEzYjcyOGFiNDk1MjI1ZTFiMWFhNGY4OTExZTdkNDM3MWJj
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdl
dHRlcl9fL2dldHRlci1ub24tY2FsbGFibGUuanMKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCww
IEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMtYWRkaXRpb25h
bC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3QucHJvdG90eXBlLW9iamVjdAotZGVzY3JpcHRpb246
IEJlaGF2aW9yIHdoZW4gZ2V0dGVyIGlzIG5vdCBjYWxsYWJsZQotaW5mbzogfAotICAgIFsuLi5d
Ci0gICAgMi4gSWYgSXNDYWxsYWJsZShnZXR0ZXIpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJv
ciBleGNlcHRpb24uCi1mZWF0dXJlczogW1N5bWJvbF0KLS0tLSovCi0KLXZhciBzdWJqZWN0ID0g
e307Ci12YXIgc3ltYm9sID0gU3ltYm9sKCcnKTsKLXZhciB0b1N0cmluZ0NvdW50ID0gMDsKLXZh
ciBrZXkgPSB7Ci0gIHRvU3RyaW5nOiBmdW5jdGlvbigpIHsKLSAgICB0b1N0cmluZ0NvdW50ICs9
IDE7Ci0gIH0KLX07Ci0KLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIE9iamVjdC5wcm90b3R5cGUu
X19kZWZpbmVHZXR0ZXJfXywgJ2Z1bmN0aW9uJyk7Ci0KLWFzc2VydC50aHJvd3MoVHlwZUVycm9y
LCBmdW5jdGlvbigpIHsKLSAgc3ViamVjdC5fX2RlZmluZUdldHRlcl9fKGtleSwgJycpOwotfSwg
J3N0cmluZycpOwotCi1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gIHN1
YmplY3QuX19kZWZpbmVHZXR0ZXJfXyhrZXksIDIzKTsKLX0sICdudW1iZXInKTsKLQotYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBzdWJqZWN0Ll9fZGVmaW5lR2V0dGVy
X18oa2V5LCB0cnVlKTsKLX0sICdib29sZWFuJyk7Ci0KLWFzc2VydC50aHJvd3MoVHlwZUVycm9y
LCBmdW5jdGlvbigpIHsKLSAgc3ViamVjdC5fX2RlZmluZUdldHRlcl9fKGtleSwgc3ltYm9sKTsK
LX0sICdzeW1ib2wnKTsKLQotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewot
ICBzdWJqZWN0Ll9fZGVmaW5lR2V0dGVyX18oa2V5LCB7fSk7Ci19LCAnb2JqZWN0Jyk7Ci0KLWFz
c2VydC5zYW1lVmFsdWUodG9TdHJpbmdDb3VudCwgMCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVHZXR0
ZXJfXy9rZXktaW52YWxpZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL2tleS1pbnZhbGlkLmpzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMmZlZWQxZjZlODJhNDRkZGM5Njk3MTdjM2JiMGQw
NzUyNTA4M2FmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9f
X2RlZmluZUdldHRlcl9fL2tleS1pbnZhbGlkLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAs
MCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLWFkZGl0aW9u
YWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKLWRlc2NyaXB0aW9u
OiBCZWhhdmlvciB3aGVuIHByb3BlcnR5IGtleSBjYW5ub3QgYmUgZGVyaXZlZAotaW5mbzogfAot
ICAgIFsuLi5dCi0gICAgNC4gTGV0IGtleSBiZSA/IFRvUHJvcGVydHlLZXkoUCkuCi0tLS0qLwot
Ci12YXIgbm9vcCA9IGZ1bmN0aW9uKCkge307Ci12YXIgc3ViamVjdCA9IHt9OwotdmFyIGtleSA9
IHsKLSAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
KTsKLSAgfQotfTsKLQotYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9uKCkgewot
ICBzdWJqZWN0Ll9fZGVmaW5lR2V0dGVyX18oa2V5LCBub29wKTsKLX0pOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19f
ZGVmaW5lR2V0dGVyX18vbGVuZ3RoLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1
aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lR2V0dGVyX18vbGVuZ3RoLmpzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YTE4OWMxODQyNjM4MWE1Y2I3NjRhNTM2YTA0OWQy
MzNkNjZlZWJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9f
X2RlZmluZUdldHRlcl9fL2xlbmd0aC5qcworKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAK
LS8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6IHNlYy1hZGRpdGlvbmFsLXBy
b3BlcnRpZXMtb2YtdGhlLW9iamVjdC5wcm90b3R5cGUtb2JqZWN0Ci1kZXNjcmlwdGlvbjogT2Jq
ZWN0LnByb3RvdHlwZS5fX2RlZmluZUdldHRlcl9fIGBsZW5ndGhgIHByb3BlcnR5Ci1pbmZvOiB8
Ci0gICAgRVM2IFNlY3Rpb24gMTc6Ci0gICAgRXZlcnkgYnVpbHQtaW4gRnVuY3Rpb24gb2JqZWN0
LCBpbmNsdWRpbmcgY29uc3RydWN0b3JzLCBoYXMgYSBsZW5ndGgKLSAgICBwcm9wZXJ0eSB3aG9z
ZSB2YWx1ZSBpcyBhbiBpbnRlZ2VyLiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhpcyB2
YWx1ZQotICAgIGlzIGVxdWFsIHRvIHRoZSBsYXJnZXN0IG51bWJlciBvZiBuYW1lZCBhcmd1bWVu
dHMgc2hvd24gaW4gdGhlIHN1YmNsYXVzZQotICAgIGhlYWRpbmdzIGZvciB0aGUgZnVuY3Rpb24g
ZGVzY3JpcHRpb24sIGluY2x1ZGluZyBvcHRpb25hbCBwYXJhbWV0ZXJzLgotCi0gICAgWy4uLl0K
LQotICAgIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9m
IGEgYnVpbHQtaW4gRnVuY3Rpb24KLSAgICBvYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgW1tX
cml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IGZhbHNlLAotICAgIFtbQ29uZmlndXJh
YmxlXV06IHRydWUgfS4KLWluY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCi0tLS0qLwotCi12
ZXJpZnlQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lR2V0dGVyX18sICJsZW5ndGgi
LCB7Ci0gIGVudW1lcmFibGU6IGZhbHNlLAotICB3cml0YWJsZTogZmFsc2UsCi0gIGNvbmZpZ3Vy
YWJsZTogdHJ1ZSwKLSAgdmFsdWU6IDIKLX0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lR2V0dGVyX18v
bmFtZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL25hbWUuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGQ3NWU1MTU4ZGJlYjBmZmNlOWFhYjU5NzA2ZDMyMDc3Mjc5ZjkxYjYuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lR2V0dGVyX18vbmFt
ZS5qcworKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAx
NiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgotLyotLS0KLWVzaWQ6IHNlYy1hZGRpdGlvbmFsLXByb3BlcnRpZXMtb2YtdGhlLW9iamVj
dC5wcm90b3R5cGUtb2JqZWN0Ci1kZXNjcmlwdGlvbjogT2JqZWN0LnByb3RvdHlwZS5fX2RlZmlu
ZUdldHRlcl9fIGBuYW1lYCBwcm9wZXJ0eQotaW5mbzogfAotICAgIEVTNiBTZWN0aW9uIDE3Ogot
Ci0gICAgRXZlcnkgYnVpbHQtaW4gRnVuY3Rpb24gb2JqZWN0LCBpbmNsdWRpbmcgY29uc3RydWN0
b3JzLCB0aGF0IGlzIG5vdAotICAgIGlkZW50aWZpZWQgYXMgYW4gYW5vbnltb3VzIGZ1bmN0aW9u
IGhhcyBhIG5hbWUgcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYQotICAgIFN0cmluZy4gVW5sZXNz
IG90aGVyd2lzZSBzcGVjaWZpZWQsIHRoaXMgdmFsdWUgaXMgdGhlIG5hbWUgdGhhdCBpcyBnaXZl
biB0bwotICAgIHRoZSBmdW5jdGlvbiBpbiB0aGlzIHNwZWNpZmljYXRpb24uCi0KLSAgICBbLi4u
XQotCi0gICAgVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsIHRoZSBuYW1lIHByb3BlcnR5IG9m
IGEgYnVpbHQtaW4gRnVuY3Rpb24KLSAgICBvYmplY3QsIGlmIGl0IGV4aXN0cywgaGFzIHRoZSBh
dHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiBmYWxzZSwKLSAgICBbW0VudW1lcmFibGVdXTogZmFs
c2UsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgfS4KLWluY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIu
anNdCi0tLS0qLwotCi12ZXJpZnlQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lR2V0
dGVyX18sICJuYW1lIiwgewotICBlbnVtZXJhYmxlOiBmYWxzZSwKLSAgd3JpdGFibGU6IGZhbHNl
LAotICBjb25maWd1cmFibGU6IHRydWUsCi0gIHZhbHVlOiAiX19kZWZpbmVHZXR0ZXJfXyIKLX0p
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL19fZGVmaW5lR2V0dGVyX18vcHJvcC1kZXNjLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lR2V0dGVy
X18vcHJvcC1kZXNjLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNjYzMWY2NjBh
ZjM2MGQ0ZDEyZmQxNWQ5ZThmZjQ1YTZmM2Y4ZTgwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL3Byb3AtZGVzYy5qcworKysgL2Rl
di9udWxsCkBAIC0xLDE3ICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJv
amVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0K
LWVzaWQ6IHNlYy1hZGRpdGlvbmFsLXByb3BlcnRpZXMtb2YtdGhlLW9iamVjdC5wcm90b3R5cGUt
b2JqZWN0Ci1kZXNjcmlwdGlvbjogUHJvcGVydHkgZGVzY3JpcHRvciBmb3IgT2JqZWN0LnByb3Rv
dHlwZS5fX2RlZmluZUdldHRlcl9fCi1pbmZvOiB8Ci0gICAgRXZlcnkgb3RoZXIgZGF0YSBwcm9w
ZXJ0eSBkZXNjcmliZWQgaW4gY2xhdXNlcyAxOCB0aHJvdWdoIDI2IGFuZCBpbiBBbm5leAotICAg
IEIuMiBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJs
ZV1dOiBmYWxzZSwKLSAgICBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0gdW5sZXNzIG90aGVyd2lz
ZSBzcGVjaWZpZWQuCi1pbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQotLS0tKi8KLQotdmVy
aWZ5UHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIl9fZGVmaW5lR2V0dGVyX18iLCB7Ci0gIGVu
dW1lcmFibGU6IGZhbHNlLAotICB3cml0YWJsZTogdHJ1ZSwKLSAgY29uZmlndXJhYmxlOiB0cnVl
LAotfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5z
L09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVHZXR0ZXJfXy90aGlzLW5vbi1vYmouanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZp
bmVHZXR0ZXJfXy90aGlzLW5vbi1vYmouanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDc1NGE3YzBhYTM1NTE2NWQ2MjQ0NGJmYTQ1YTQ5Njg4YWFhYTRmMTMuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5u
ZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lR2V0dGVyX18vdGhpcy1ub24t
b2JqLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAy
MDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlz
IGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUtb2Jq
ZWN0LnByb3RvdHlwZS1vYmplY3QKLWRlc2NyaXB0aW9uOiBCZWhhdmlvciB3aGVuICJ0aGlzIiB2
YWx1ZSBpcyBub3QgT2JqZWN0LWNvZXJjaWJsZQotaW5mbzogfAotICAgIDEuIExldCBPIGJlID8g
VG9PYmplY3QodGhpcyB2YWx1ZSkuCi0tLS0qLwotCi12YXIgX19kZWZpbmVHZXR0ZXJfXyA9IE9i
amVjdC5wcm90b3R5cGUuX19kZWZpbmVHZXR0ZXJfXzsKLXZhciBub29wID0gZnVuY3Rpb24oKSB7
fTsKLXZhciB0b1N0cmluZ0NvdW50ID0gMDsKLXZhciBrZXkgPSB7Ci0gIHRvU3RyaW5nOiBmdW5j
dGlvbigpIHsKLSAgICB0b1N0cmluZ0NvdW50ICs9IDE7Ci0gIH0KLX07Ci0KLWFzc2VydC5zYW1l
VmFsdWUodHlwZW9mIF9fZGVmaW5lR2V0dGVyX18sICdmdW5jdGlvbicpOwotCi1hc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gIF9fZGVmaW5lR2V0dGVyX18uY2FsbCh1bmRl
ZmluZWQsIGtleSwgbm9vcCk7Ci19LCAndW5kZWZpbmVkJyk7Ci0KLWFzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgX19kZWZpbmVHZXR0ZXJfXy5jYWxsKG51bGwsIGtleSwg
bm9vcCk7Ci19LCAnbnVsbCcpOwotCi1hc3NlcnQuc2FtZVZhbHVlKHRvU3RyaW5nQ291bnQsIDAp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18vZGVmaW5lLWFicnVwdC5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZVNl
dHRlcl9fL2RlZmluZS1hYnJ1cHQuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY1
YzZmYzJiMjQ1NWY5OWQ3N2RmOGI4MWRlZWQyOTBlNWQzYmQ5ZWIuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhC
L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18vZGVmaW5lLWFicnVw
dC5qcworKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAx
NiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgotLyotLS0KLWVzaWQ6IHNlYy1hZGRpdGlvbmFsLXByb3BlcnRpZXMtb2YtdGhlLW9iamVj
dC5wcm90b3R5cGUtb2JqZWN0Ci1kZXNjcmlwdGlvbjogQmVoYXZpb3Igd2hlbiBbW0RlZmluZU93
blByb3BlcnR5XV0gcmV0dXJucyBhbiBhYnJ1cHQgY29tcGxldGlvbgotaW5mbzogfAotICAgIFsu
Li5dCi0gICAgNS4gUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrZXksIGRlc2Mp
LgotZmVhdHVyZXM6IFtQcm94eV0KLS0tLSovCi0KLXZhciBub29wID0gZnVuY3Rpb24oKSB7fTsK
LXZhciB0aHJvd2VyID0gZnVuY3Rpb24oKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoKTsK
LX07Ci12YXIgc3ViamVjdCA9IG5ldyBQcm94eSh7fSwgeyBkZWZpbmVQcm9wZXJ0eTogdGhyb3dl
ciB9KTsKLQotYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9uKCkgewotICBzdWJq
ZWN0Ll9fZGVmaW5lU2V0dGVyX18oJ2F0dHInLCBub29wKTsKLX0pOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVm
aW5lU2V0dGVyX18vZGVmaW5lLWV4aXN0aW5nLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5u
ZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18vZGVmaW5lLWV4
aXN0aW5nLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YTQwY2Y0ZjFhMGJmZTBh
ODQxYzcwNTQxM2FmNjQ4NGE1MmQ3MDdiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2Jq
ZWN0L3Byb3RvdHlwZS9fX2RlZmluZVNldHRlcl9fL2RlZmluZS1leGlzdGluZy5qcworKysgL2Rl
di9udWxsCkBAIC0xLDQyICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJv
amVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0K
LWVzaWQ6IHNlYy1hZGRpdGlvbmFsLXByb3BlcnRpZXMtb2YtdGhlLW9iamVjdC5wcm90b3R5cGUt
b2JqZWN0Ci1kZXNjcmlwdGlvbjogQmVoYXZpb3Igd2hlbiBwcm9wZXJ0eSBleGlzdHMgYW5kIGlz
IGNvbmZpZ3VyYWJsZQotaW5mbzogfAotICAgIFsuLi5dCi0gICAgMy4gTGV0IGRlc2MgYmUgUHJv
cGVydHlEZXNjcmlwdG9ye1tbU2V0XV06IHNldHRlciwgW1tFbnVtZXJhYmxlXV06IHRydWUsCi0g
ICAgICAgW1tDb25maWd1cmFibGVdXTogdHJ1ZX0uCi0gICAgNC4gTGV0IGtleSBiZSA/IFRvUHJv
cGVydHlLZXkoUCkuCi0gICAgNS4gUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBr
ZXksIGRlc2MpLgotICAgIDYuIFJldHVybiB1bmRlZmluZWQuCi1pbmNsdWRlczogW3Byb3BlcnR5
SGVscGVyLmpzXQotLS0tKi8KLQotdmFyIHN1YmplY3QgPSB7fTsKLXZhciBvcmlnaW5hbEdldCA9
IGZ1bmN0aW9uKCkge307Ci12YXIgb3JpZ2luYWxTZXQgPSBmdW5jdGlvbigpIHt9OwotdmFyIG5l
d1NldCA9IGZ1bmN0aW9uKCkge307Ci12YXIgZGVzYywgcmVzdWx0OwotCi1PYmplY3QuZGVmaW5l
UHJvcGVydHkoc3ViamVjdCwgJ3N0cmluZ0Fjc3InLCB7Ci0gIGdldDogb3JpZ2luYWxHZXQsCi0g
IHNldDogb3JpZ2luYWxTZXQsCi0gIGVudW1lcmFibGU6IGZhbHNlLAotICBjb25maWd1cmFibGU6
IHRydWUKLX0pOwotCi1yZXN1bHQgPSBzdWJqZWN0Ll9fZGVmaW5lU2V0dGVyX18oJ3N0cmluZ0Fj
c3InLCBuZXdTZXQpOwotCi1kZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihz
dWJqZWN0LCAnc3RyaW5nQWNzcicpOwotCi12ZXJpZnlQcm9wZXJ0eShzdWJqZWN0LCAic3RyaW5n
QWNzciIsIHsKLSAgZW51bWVyYWJsZTogdHJ1ZSwKLSAgY29uZmlndXJhYmxlOiB0cnVlCi19KTsK
LQotYXNzZXJ0LnNhbWVWYWx1ZShkZXNjLmdldCwgb3JpZ2luYWxHZXQsICdkZXNjcmlwdG9yIGBn
ZXRgIG1ldGhvZCcpOwotYXNzZXJ0LnNhbWVWYWx1ZShkZXNjLnNldCwgbmV3U2V0LCAnZGVzY3Jp
cHRvciBgc2V0YCBtZXRob2QnKTsKLWFzc2VydC5zYW1lVmFsdWUoZGVzYy52YWx1ZSwgdW5kZWZp
bmVkLCAnZGVzY3JpcHRvciBgdmFsdWVgIHByb3BlcnR5Jyk7Ci0KLWFzc2VydC5zYW1lVmFsdWUo
cmVzdWx0LCB1bmRlZmluZWQsICdtZXRob2QgcmV0dXJuIHZhbHVlJyk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19k
ZWZpbmVTZXR0ZXJfXy9kZWZpbmUtbmV3LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhC
L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18vZGVmaW5lLW5ldy5q
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTc1Yjc2ODM2NmI1NzEzOTIzNjBlNmM0
MTBkMzRhNTk3NDFkN2M4OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvX19kZWZpbmVTZXR0ZXJfXy9kZWZpbmUtbmV3LmpzCisrKyAvZGV2L251bGwKQEAgLTEs
MzMgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLWFk
ZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKLWRlc2Ny
aXB0aW9uOiBCZWhhdmlvciB3aGVuIHByb3BlcnR5IGRvZXMgbm90IGV4aXN0Ci1pbmZvOiB8Ci0g
ICAgWy4uLl0KLSAgICAzLiBMZXQgZGVzYyBiZSBQcm9wZXJ0eURlc2NyaXB0b3J7W1tTZXRdXTog
c2V0dGVyLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwKLSAgICAgICBbW0NvbmZpZ3VyYWJsZV1dOiB0
cnVlfS4KLSAgICA0LiBMZXQga2V5IGJlID8gVG9Qcm9wZXJ0eUtleShQKS4KLSAgICA1LiBQZXJm
b3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGtleSwgZGVzYykuCi0gICAgNi4gUmV0dXJu
IHVuZGVmaW5lZC4KLWluY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCi0tLS0qLwotCi12YXIg
c3ViamVjdCA9IHt9OwotdmFyIHNldCA9IGZ1bmN0aW9uKCkge307Ci12YXIgZGVzYywgcmVzdWx0
OwotCi1yZXN1bHQgPSBzdWJqZWN0Ll9fZGVmaW5lU2V0dGVyX18oJ3N0cmluZ0Fjc3InLCBzZXQp
OwotCi1kZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzdWJqZWN0LCAnc3Ry
aW5nQWNzcicpOwotCi12ZXJpZnlQcm9wZXJ0eShzdWJqZWN0LCAic3RyaW5nQWNzciIsIHsKLSAg
ZW51bWVyYWJsZTogdHJ1ZSwKLSAgY29uZmlndXJhYmxlOiB0cnVlLAotfSk7Ci0KLWFzc2VydC5z
YW1lVmFsdWUoZGVzYy5nZXQsIHVuZGVmaW5lZCwgJ2Rlc2NyaXB0b3IgYGdldGAgbWV0aG9kJyk7
Ci1hc3NlcnQuc2FtZVZhbHVlKGRlc2Muc2V0LCBzZXQsICdkZXNjcmlwdG9yIGBzZXRgIG1ldGhv
ZCcpOwotYXNzZXJ0LnNhbWVWYWx1ZShkZXNjLnZhbHVlLCB1bmRlZmluZWQsICdkZXNjcmlwdG9y
IGB2YWx1ZWAgcHJvcGVydHknKTsKLQotYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIHVuZGVmaW5l
ZCwgJ21ldGhvZCByZXR1cm4gdmFsdWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZVNldHRlcl9fL2Rl
ZmluZS1ub24tY29uZmlndXJhYmxlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1
aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18vZGVmaW5lLW5vbi1jb25m
aWd1cmFibGUuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM4NTIzMzc5ZTMwODIw
Y2U0OWY5ZjBiYTQ5YmY4YTVhYzhjMzYyZmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9P
YmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18vZGVmaW5lLW5vbi1jb25maWd1cmFibGUu
anMKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYg
dGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KLS8qLS0tCi1lc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3Qu
cHJvdG90eXBlLW9iamVjdAotZGVzY3JpcHRpb246IEJlaGF2aW9yIHdoZW4gcHJvcGVydHkgZXhp
c3RzIGFuZCBpcyBub3QgY29uZmlndXJhYmxlCi1pbmZvOiB8Ci0gICAgWy4uLl0KLSAgICA1LiBQ
ZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGtleSwgZGVzYykuCi0tLS0qLwotCi12
YXIgbm9vcCA9IGZ1bmN0aW9uKCkge307Ci12YXIgc3ViamVjdCA9IE9iamVjdC5kZWZpbmVQcm9w
ZXJ0eSgKLSAge30sICdhdHRyJywgeyB2YWx1ZTogMSwgY29uZmlndXJhYmxlOiBmYWxzZSB9Ci0p
OwotCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lU2V0
dGVyX18sICdmdW5jdGlvbicpOwotCi1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24o
KSB7Ci0gIHN1YmplY3QuX19kZWZpbmVTZXR0ZXJfXygnYXR0cicsIG5vb3ApOwotfSk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvX19kZWZpbmVTZXR0ZXJfXy9kZWZpbmUtbm9uLWV4dGVuc2libGUuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVT
ZXR0ZXJfXy9kZWZpbmUtbm9uLWV4dGVuc2libGUuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDIwYzAzNGY2NTBhOTU5NzY2NDBmYjRlYWFjYzAzNjA5NTViMTFjMTQuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18vZGVm
aW5lLW5vbi1leHRlbnNpYmxlLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotLy8g
Q29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVy
dGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKLWRlc2NyaXB0aW9uOiBCZWhhdmlv
ciB3aGVuICJ0aGlzIiB2YWx1ZSBpcyBub3QgZXh0ZW5zaWJsZQotaW5mbzogfAotICAgIFsuLi5d
Ci0gICAgNS4gUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrZXksIGRlc2MpLgot
LS0tKi8KLQotdmFyIG5vb3AgPSBmdW5jdGlvbigpIHt9OwotdmFyIHN1YmplY3QgPSBPYmplY3Qu
cHJldmVudEV4dGVuc2lvbnMoeyBleGlzdGluZzogbnVsbCB9KTsKLQotc3ViamVjdC5fX2RlZmlu
ZVNldHRlcl9fKCdleGlzdGluZycsIG5vb3ApOwotCi1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
ZnVuY3Rpb24oKSB7Ci0gIHN1YmplY3QuX19kZWZpbmVTZXR0ZXJfXygnYnJhbmQgbmV3Jywgbm9v
cCk7Ci19KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZVNldHRlcl9fL2tleS1pbnZhbGlkLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVm
aW5lU2V0dGVyX18va2V5LWludmFsaWQuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGFiYTllMDk1YzNmNWFiYjczYjg4OTZhZTgwNjFlNzc3NmZlOWI0MDIuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5u
ZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18va2V5LWludmFs
aWQuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIw
MTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmpl
Y3QucHJvdG90eXBlLW9iamVjdAotZGVzY3JpcHRpb246IEJlaGF2aW9yIHdoZW4gcHJvcGVydHkg
a2V5IGNhbm5vdCBiZSBkZXJpdmVkCi1pbmZvOiB8Ci0gICAgWy4uLl0KLSAgICA0LiBMZXQga2V5
IGJlID8gVG9Qcm9wZXJ0eUtleShQKS4KLS0tLSovCi0KLXZhciBub29wID0gZnVuY3Rpb24oKSB7
fTsKLXZhciBzdWJqZWN0ID0ge307Ci12YXIga2V5ID0gewotICB0b1N0cmluZzogZnVuY3Rpb24o
KSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOwotICB9Ci19OwotCi1hc3NlcnQudGhy
b3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7Ci0gIHN1YmplY3QuX19kZWZpbmVTZXR0ZXJf
XyhrZXksIG5vb3ApOwotfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5l
eEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVTZXR0ZXJfXy9sZW5ndGguanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUv
X19kZWZpbmVTZXR0ZXJfXy9sZW5ndGguanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDRmYjQzODhkMDljMjhmZDdiZTg1YTc2N2IwM2M4ZDgyMjBlZTkzYjcuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5u
ZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18vbGVuZ3RoLmpz
CisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRo
ZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
Ci0vKi0tLQotZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnBy
b3RvdHlwZS1vYmplY3QKLWRlc2NyaXB0aW9uOiBPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lU2V0
dGVyX18gYGxlbmd0aGAgcHJvcGVydHkKLWluZm86IHwKLSAgICBFUzYgU2VjdGlvbiAxNzoKLSAg
ICBFdmVyeSBidWlsdC1pbiBGdW5jdGlvbiBvYmplY3QsIGluY2x1ZGluZyBjb25zdHJ1Y3RvcnMs
IGhhcyBhIGxlbmd0aAotICAgIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIGFuIGludGVnZXIuIFVu
bGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLCB0aGlzIHZhbHVlCi0gICAgaXMgZXF1YWwgdG8gdGhl
IGxhcmdlc3QgbnVtYmVyIG9mIG5hbWVkIGFyZ3VtZW50cyBzaG93biBpbiB0aGUgc3ViY2xhdXNl
Ci0gICAgaGVhZGluZ3MgZm9yIHRoZSBmdW5jdGlvbiBkZXNjcmlwdGlvbiwgaW5jbHVkaW5nIG9w
dGlvbmFsIHBhcmFtZXRlcnMuCi0KLSAgICBbLi4uXQotCi0gICAgVW5sZXNzIG90aGVyd2lzZSBz
cGVjaWZpZWQsIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgYSBidWlsdC1pbiBGdW5jdGlvbgotICAg
IG9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1l
cmFibGVdXTogZmFsc2UsCi0gICAgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB9LgotaW5jbHVkZXM6
IFtwcm9wZXJ0eUhlbHBlci5qc10KLS0tLSovCi0KLXZlcmlmeVByb3BlcnR5KE9iamVjdC5wcm90
b3R5cGUuX19kZWZpbmVTZXR0ZXJfXywgImxlbmd0aCIsIHsKLSAgZW51bWVyYWJsZTogZmFsc2Us
Ci0gIHdyaXRhYmxlOiBmYWxzZSwKLSAgY29uZmlndXJhYmxlOiB0cnVlLAotICB2YWx1ZTogMgot
fSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09i
amVjdC9wcm90b3R5cGUvX19kZWZpbmVTZXR0ZXJfXy9uYW1lLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18v
bmFtZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGMxZWQxYmRmNjY5YzM5N2M5
MWQ4Y2JhMzM5YjI4NTM0YjgwZWE1Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVj
dC9wcm90b3R5cGUvX19kZWZpbmVTZXR0ZXJfXy9uYW1lLmpzCisrKyAvZGV2L251bGwKQEAgLTEs
MjcgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLWFk
ZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKLWRlc2Ny
aXB0aW9uOiBPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lU2V0dGVyX18gYG5hbWVgIHByb3BlcnR5
Ci1pbmZvOiB8Ci0gICAgRVM2IFNlY3Rpb24gMTc6Ci0KLSAgICBFdmVyeSBidWlsdC1pbiBGdW5j
dGlvbiBvYmplY3QsIGluY2x1ZGluZyBjb25zdHJ1Y3RvcnMsIHRoYXQgaXMgbm90Ci0gICAgaWRl
bnRpZmllZCBhcyBhbiBhbm9ueW1vdXMgZnVuY3Rpb24gaGFzIGEgbmFtZSBwcm9wZXJ0eSB3aG9z
ZSB2YWx1ZSBpcyBhCi0gICAgU3RyaW5nLiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhp
cyB2YWx1ZSBpcyB0aGUgbmFtZSB0aGF0IGlzIGdpdmVuIHRvCi0gICAgdGhlIGZ1bmN0aW9uIGlu
IHRoaXMgc3BlY2lmaWNhdGlvbi4KLQotICAgIFsuLi5dCi0KLSAgICBVbmxlc3Mgb3RoZXJ3aXNl
IHNwZWNpZmllZCwgdGhlIG5hbWUgcHJvcGVydHkgb2YgYSBidWlsdC1pbiBGdW5jdGlvbgotICAg
IG9iamVjdCwgaWYgaXQgZXhpc3RzLCBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBbW1dyaXRhYmxlXV06
IGZhbHNlLAotICAgIFtbRW51bWVyYWJsZV1dOiBmYWxzZSwgW1tDb25maWd1cmFibGVdXTogdHJ1
ZSB9LgotaW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KLS0tLSovCi0KLXZlcmlmeVByb3Bl
cnR5KE9iamVjdC5wcm90b3R5cGUuX19kZWZpbmVTZXR0ZXJfXywgIm5hbWUiLCB7Ci0gIGVudW1l
cmFibGU6IGZhbHNlLAotICB3cml0YWJsZTogZmFsc2UsCi0gIGNvbmZpZ3VyYWJsZTogdHJ1ZSwK
LSAgdmFsdWU6ICJfX2RlZmluZVNldHRlcl9fIgotfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVTZXR0
ZXJfXy9wcm9wLWRlc2MuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5z
L09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVTZXR0ZXJfXy9wcm9wLWRlc2MuanMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmMmJiNzk5ZThmNmJhZjY5OTUzYTg5Y2NlYWZlMjIxNzQ5
YzhkMzAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVm
aW5lU2V0dGVyX18vcHJvcC1kZXNjLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAot
Ly8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJv
cGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKLWRlc2NyaXB0aW9uOiBQcm9w
ZXJ0eSBkZXNjcmlwdG9yIGZvciBPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lU2V0dGVyX18KLWlu
Zm86IHwKLSAgICBFdmVyeSBvdGhlciBkYXRhIHByb3BlcnR5IGRlc2NyaWJlZCBpbiBjbGF1c2Vz
IDE4IHRocm91Z2ggMjYgYW5kIGluIEFubmV4Ci0gICAgQi4yIGhhcyB0aGUgYXR0cmlidXRlcyB7
IFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IGZhbHNlLAotICAgIFtbQ29uZmln
dXJhYmxlXV06IHRydWUgfSB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZC4KLWluY2x1ZGVzOiBb
cHJvcGVydHlIZWxwZXIuanNdCi0tLS0qLwotCi12ZXJpZnlQcm9wZXJ0eShPYmplY3QucHJvdG90
eXBlLCAiX19kZWZpbmVTZXR0ZXJfXyIsIHsKLSAgZW51bWVyYWJsZTogZmFsc2UsCi0gIHdyaXRh
YmxlOiB0cnVlLAotICBjb25maWd1cmFibGU6IHRydWUsCi19KTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmlu
ZVNldHRlcl9fL3NldHRlci1ub24tY2FsbGFibGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9h
bm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVTZXR0ZXJfXy9zZXR0ZXIt
bm9uLWNhbGxhYmxlLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMjE1MDQ4YmM4
MDNjMWRjMGFiNDE0Yjk0NjI2ZWE5ZDA5N2EwZjlmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZVNldHRlcl9fL3NldHRlci1ub24tY2FsbGFibGUu
anMKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYg
dGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KLS8qLS0tCi1lc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3Qu
cHJvdG90eXBlLW9iamVjdAotZGVzY3JpcHRpb246IEJlaGF2aW9yIHdoZW4gZ2V0dGVyIGlzIG5v
dCBjYWxsYWJsZQotaW5mbzogfAotICAgIFsuLi5dCi0gICAgMi4gSWYgSXNDYWxsYWJsZShzZXR0
ZXIpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCi1mZWF0dXJlczogW1N5
bWJvbF0KLS0tLSovCi0KLXZhciBzdWJqZWN0ID0ge307Ci12YXIgc3ltYm9sID0gU3ltYm9sKCcn
KTsKLXZhciB0b1N0cmluZ0NvdW50ID0gMDsKLXZhciBrZXkgPSB7Ci0gIHRvU3RyaW5nOiBmdW5j
dGlvbigpIHsKLSAgICB0b1N0cmluZ0NvdW50ICs9IDE7Ci0gIH0KLX07Ci0KLWFzc2VydC5zYW1l
VmFsdWUodHlwZW9mIE9iamVjdC5wcm90b3R5cGUuX19kZWZpbmVTZXR0ZXJfXywgJ2Z1bmN0aW9u
Jyk7Ci0KLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgc3ViamVjdC5f
X2RlZmluZVNldHRlcl9fKGtleSwgJycpOwotfSwgJ3N0cmluZycpOwotCi1hc3NlcnQudGhyb3dz
KFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gIHN1YmplY3QuX19kZWZpbmVTZXR0ZXJfXyhrZXks
IDIzKTsKLX0sICdudW1iZXInKTsKLQotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9u
KCkgewotICBzdWJqZWN0Ll9fZGVmaW5lU2V0dGVyX18oa2V5LCB0cnVlKTsKLX0sICdib29sZWFu
Jyk7Ci0KLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgc3ViamVjdC5f
X2RlZmluZVNldHRlcl9fKGtleSwgc3ltYm9sKTsKLX0sICdzeW1ib2wnKTsKLQotYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBzdWJqZWN0Ll9fZGVmaW5lU2V0dGVyX18o
a2V5LCB7fSk7Ci19LCAnb2JqZWN0Jyk7Ci0KLWFzc2VydC5zYW1lVmFsdWUodG9TdHJpbmdDb3Vu
dCwgMCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5z
L09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVTZXR0ZXJfXy90aGlzLW5vbi1vYmouanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZp
bmVTZXR0ZXJfXy90aGlzLW5vbi1vYmouanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDRjMDZkZmIwZTEzYTA2YzdiYmE2MDYxNmI1Y2U0NTFmM2VkZTc1OGYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5u
ZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18vdGhpcy1ub24t
b2JqLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAy
MDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlz
IGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUtb2Jq
ZWN0LnByb3RvdHlwZS1vYmplY3QKLWRlc2NyaXB0aW9uOiBCZWhhdmlvciB3aGVuICJ0aGlzIiB2
YWx1ZSBpcyBub3QgT2JqZWN0LWNvZXJjaWJsZQotaW5mbzogfAotICAgIDEuIExldCBPIGJlID8g
VG9PYmplY3QodGhpcyB2YWx1ZSkuCi0tLS0qLwotCi12YXIgX19kZWZpbmVTZXR0ZXJfXyA9IE9i
amVjdC5wcm90b3R5cGUuX19kZWZpbmVTZXR0ZXJfXzsKLXZhciBub29wID0gZnVuY3Rpb24oKSB7
fTsKLXZhciB0b1N0cmluZ0NvdW50ID0gMDsKLXZhciBrZXkgPSB7Ci0gIHRvU3RyaW5nOiBmdW5j
dGlvbigpIHsKLSAgICB0b1N0cmluZ0NvdW50ICs9IDE7Ci0gIH0KLX07Ci0KLWFzc2VydC5zYW1l
VmFsdWUodHlwZW9mIF9fZGVmaW5lU2V0dGVyX18sICdmdW5jdGlvbicpOwotCi1hc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gIF9fZGVmaW5lU2V0dGVyX18uY2FsbCh1bmRl
ZmluZWQsIGtleSwgbm9vcCk7Ci19LCAndW5kZWZpbmVkJyk7Ci0KLWFzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgX19kZWZpbmVTZXR0ZXJfXy5jYWxsKG51bGwsIGtleSwg
bm9vcCk7Ci19LCAnbnVsbCcpOwotCi1hc3NlcnQuc2FtZVZhbHVlKHRvU3RyaW5nQ291bnQsIDAp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18va2V5LWludmFsaWQuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0
ZXJfXy9rZXktaW52YWxpZC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjA5NDFl
ZGY0ZGY4NWI0MGQyODIwYTRiZGJiMTExNDQxMWU4MmI5ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVp
bHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9rZXktaW52YWxpZC5qcwor
KysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUg
VjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgot
LyotLS0KLWVzaWQ6IHNlYy1hZGRpdGlvbmFsLXByb3BlcnRpZXMtb2YtdGhlLW9iamVjdC5wcm90
b3R5cGUtb2JqZWN0Ci1kZXNjcmlwdGlvbjogQmVoYXZpb3Igd2hlbiBwcm9wZXJ0eSBrZXkgY2Fu
bm90IGJlIGRlcml2ZWQKLWluZm86IHwKLSAgICBbLi4uXQotICAgIDIuIExldCBrZXkgYmUgPyBU
b1Byb3BlcnR5S2V5KFApLgotLS0tKi8KLQotdmFyIHN1YmplY3QgPSB7fTsKLXZhciBrZXkgPSB7
Ci0gIHRvU3RyaW5nOiBmdW5jdGlvbigpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7
Ci0gIH0KLX07Ci0KLWFzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsKLSAg
c3ViamVjdC5fX2xvb2t1cEdldHRlcl9fKGtleSk7Ci19KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdl
dHRlcl9fL2xlbmd0aC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMv
T2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRlcl9fL2xlbmd0aC5qcwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYTg5MjE3OGY5OWNmNDYwZWQzZjE2ZDE2MGE3NWFjNmM2YzhmODVi
MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBH
ZXR0ZXJfXy9sZW5ndGguanMKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi0vLyBDb3B5
cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVz
LW9mLXRoZS1vYmplY3QucHJvdG90eXBlLW9iamVjdAotZGVzY3JpcHRpb246IE9iamVjdC5wcm90
b3R5cGUuX19sb29rdXBHZXR0ZXJfXyBgbGVuZ3RoYCBwcm9wZXJ0eQotaW5mbzogfAotICAgIEVT
NiBTZWN0aW9uIDE3OgotICAgIEV2ZXJ5IGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVjdCwgaW5jbHVk
aW5nIGNvbnN0cnVjdG9ycywgaGFzIGEgbGVuZ3RoCi0gICAgcHJvcGVydHkgd2hvc2UgdmFsdWUg
aXMgYW4gaW50ZWdlci4gVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsIHRoaXMgdmFsdWUKLSAg
ICBpcyBlcXVhbCB0byB0aGUgbGFyZ2VzdCBudW1iZXIgb2YgbmFtZWQgYXJndW1lbnRzIHNob3du
IGluIHRoZSBzdWJjbGF1c2UKLSAgICBoZWFkaW5ncyBmb3IgdGhlIGZ1bmN0aW9uIGRlc2NyaXB0
aW9uLCBpbmNsdWRpbmcgb3B0aW9uYWwgcGFyYW1ldGVycy4KLQotICAgIFsuLi5dCi0KLSAgICBV
bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBhIGJ1aWx0
LWluIEZ1bmN0aW9uCi0gICAgb2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlcyB7IFtbV3JpdGFibGVd
XTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOiBmYWxzZSwKLSAgICBbW0NvbmZpZ3VyYWJsZV1dOiB0
cnVlIH0uCi1pbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQotLS0tKi8KLQotdmVyaWZ5UHJv
cGVydHkoT2JqZWN0LnByb3RvdHlwZS5fX2xvb2t1cEdldHRlcl9fLCAibGVuZ3RoIiwgewotICBl
bnVtZXJhYmxlOiBmYWxzZSwKLSAgd3JpdGFibGU6IGZhbHNlLAotICBjb25maWd1cmFibGU6IHRy
dWUsCi0gIHZhbHVlOiAxCi19KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2Fu
bmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRlcl9fL2xvb2t1cC1u
b3QtZm91bmQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVj
dC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sb29rdXAtbm90LWZvdW5kLmpzCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMTQyZTFlN2FlMmFhNTdmZTE2YWIzYzAwNjQyZDcwNzUx
Y2UzOGQyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xv
b2t1cEdldHRlcl9fL2xvb2t1cC1ub3QtZm91bmQuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyMSAr
MCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMtYWRkaXRp
b25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3QucHJvdG90eXBlLW9iamVjdAotZGVzY3JpcHRp
b246IEJlaGF2aW9yIHdoZW4gcHJvcGVydHkgZG9lcyBub3QgZXhpc3QgaW4gcHJvdG90eXBlIGNo
YWluCi1pbmZvOiB8Ci0gICAgWy4uLl0KLSAgICA0LiBSZXBlYXQKLSAgICAgICBhLiBMZXQgZGVz
YyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1dKGtleSkuCi0gICAgICAgYi4gSWYgZGVzYyBpcyBu
b3QgdW5kZWZpbmVkLCB0aGVuCi0gICAgICAgICAgaS4gSWYgSXNBY2Nlc3NvckRlc2NyaXB0b3Io
ZGVzYykgaXMgdHJ1ZSwgcmV0dXJuIGRlc2MuW1tHZXRdXS4KLSAgICAgICAgICBpaS4gUmV0dXJu
IHVuZGVmaW5lZC4KLSAgICAgICBjLiBMZXQgTyBiZSA/IE8uW1tHZXRQcm90b3R5cGVPZl1dKCku
Ci0gICAgICAgZC4gSWYgTyBpcyBudWxsLCByZXR1cm4gdW5kZWZpbmVkLiAKLS0tLSovCi0KLXZh
ciByb290ID0ge307Ci12YXIgaW50ZXJtZWRpYXJ5ID0gT2JqZWN0LmNyZWF0ZShyb290KTsKLXZh
ciBzdWJqZWN0ID0gT2JqZWN0LmNyZWF0ZShpbnRlcm1lZGlhcnkpOwotCi1hc3NlcnQuc2FtZVZh
bHVlKHN1YmplY3QuX19sb29rdXBHZXR0ZXJfXygndGFyZ2V0JyksIHVuZGVmaW5lZCk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sb29rdXAtb3duLWFjc3Itdy1nZXR0ZXIuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29r
dXBHZXR0ZXJfXy9sb29rdXAtb3duLWFjc3Itdy1nZXR0ZXIuanMKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGQ2YWNkN2VlODRhZjQwZDVmZjZiNWJmMTliMDFmZDVhMDZiNGVkMjYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVy
X18vbG9va3VwLW93bi1hY3NyLXctZ2V0dGVyLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAs
MCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLWFkZGl0aW9u
YWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKLWRlc2NyaXB0aW9u
OiA+Ci0gICAgQmVoYXZpb3Igd2hlbiAidGhpcyIgdmFsdWUgZGVmaW5lcyBhIGxpa2UtbmFtZWQg
YWNjZXNzb3IgcHJvcGVydHkgd2l0aCBhCi0gICAgYGdldGAgbWV0aG9kCi1pbmZvOiB8Ci0gICAg
Wy4uLl0KLSAgICA0LiBSZXBlYXQKLSAgICAgICBhLiBMZXQgZGVzYyBiZSA/IE8uW1tHZXRPd25Q
cm9wZXJ0eV1dKGtleSkuCi0gICAgICAgYi4gSWYgZGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVu
Ci0gICAgICAgICAgaS4gSWYgSXNBY2Nlc3NvckRlc2NyaXB0b3IoZGVzYykgaXMgdHJ1ZSwgcmV0
dXJuIGRlc2MuW1tHZXRdXS4KLSAgICAgICAgICBpaS4gUmV0dXJuIHVuZGVmaW5lZC4KLSAgICAg
ICBjLiBMZXQgTyBiZSA/IE8uW1tHZXRQcm90b3R5cGVPZl1dKCkuCi0gICAgICAgZC4gSWYgTyBp
cyBudWxsLCByZXR1cm4gdW5kZWZpbmVkLiAKLS0tLSovCi0KLXZhciByb290ID0gT2JqZWN0LmRl
ZmluZVByb3BlcnR5KHt9LCAndGFyZ2V0JywgeyBnZXQ6IGZ1bmN0aW9uKCkge30gfSk7Ci12YXIg
ZGVzYyA9IHsgZ2V0OiBmdW5jdGlvbigpIHt9IH07Ci12YXIgc3ViamVjdCA9IE9iamVjdC5jcmVh
dGUocm9vdCwgeyB0YXJnZXQ6IGRlc2MgfSk7Ci0KLWFzc2VydC5zYW1lVmFsdWUoc3ViamVjdC5f
X2xvb2t1cEdldHRlcl9fKCd0YXJnZXQnKSwgZGVzYy5nZXQpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3Vw
R2V0dGVyX18vbG9va3VwLW93bi1hY3NyLXdvLWdldHRlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRlcl9fL2xv
b2t1cC1vd24tYWNzci13by1nZXR0ZXIuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGFmYTI2NTQwMWNiZWU0OWI3MWY0MTg1ZmUwOTYwMjc1Yzg1OGZkMGEuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5u
ZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vbG9va3VwLW93
bi1hY3NyLXdvLWdldHRlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLS8vIENv
cHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6IHNlYy1hZGRpdGlvbmFsLXByb3BlcnRp
ZXMtb2YtdGhlLW9iamVjdC5wcm90b3R5cGUtb2JqZWN0Ci1kZXNjcmlwdGlvbjogPgotICAgIEJl
aGF2aW9yIHdoZW4gInRoaXMiIHZhbHVlIGRlZmluZXMgYSBsaWtlLW5hbWVkIGFjY2Vzc29yIHBy
b3BlcnR5IHdpdGhvdXQgYQotICAgIGBnZXRgIG1ldGhvZAotaW5mbzogfAotICAgIFsuLi5dCi0g
ICAgNC4gUmVwZWF0Ci0gICAgICAgYS4gTGV0IGRlc2MgYmUgPyBPLltbR2V0T3duUHJvcGVydHld
XShrZXkpLgotICAgICAgIGIuIElmIGRlc2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgotICAgICAg
ICAgIGkuIElmIElzQWNjZXNzb3JEZXNjcmlwdG9yKGRlc2MpIGlzIHRydWUsIHJldHVybiBkZXNj
LltbR2V0XV0uCi0gICAgICAgICAgaWkuIFJldHVybiB1bmRlZmluZWQuCi0gICAgICAgYy4gTGV0
IE8gYmUgPyBPLltbR2V0UHJvdG90eXBlT2ZdXSgpLgotICAgICAgIGQuIElmIE8gaXMgbnVsbCwg
cmV0dXJuIHVuZGVmaW5lZC4gCi0tLS0qLwotCi12YXIgcm9vdCA9IE9iamVjdC5kZWZpbmVQcm9w
ZXJ0eSh7fSwgJ3RhcmdldCcsIHsgZ2V0OiBmdW5jdGlvbigpIHt9IH0pOwotdmFyIGRlc2MgPSB7
IHNldDogZnVuY3Rpb24oKSB7fSB9OwotdmFyIHN1YmplY3QgPSBPYmplY3QuY3JlYXRlKHJvb3Qs
IHsgdGFyZ2V0OiBkZXNjIH0pOwotCi1hc3NlcnQuc2FtZVZhbHVlKHN1YmplY3QuX19sb29rdXBH
ZXR0ZXJfXygndGFyZ2V0JyksIHVuZGVmaW5lZCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJf
Xy9sb29rdXAtb3duLWRhdGEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQt
aW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sb29rdXAtb3duLWRhdGEuanMK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNiMmM1ZTc3OTRhOTQ3ODViMmMwMmY1MGYx
ZTZiNWM4YjBhN2EyNGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90
eXBlL19fbG9va3VwR2V0dGVyX18vbG9va3VwLW93bi1kYXRhLmpzCisrKyAvZGV2L251bGwKQEAg
LTEsMjEgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2Vj
LWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKLWRl
c2NyaXB0aW9uOiBCZWhhdmlvciB3aGVuICJ0aGlzIiB2YWx1ZSBkZWZpbmVzIGEgbGlrZS1uYW1l
ZCBkYXRhIHByb3BlcnR5Ci1pbmZvOiB8Ci0gICAgWy4uLl0KLSAgICA0LiBSZXBlYXQKLSAgICAg
ICBhLiBMZXQgZGVzYyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1dKGtleSkuCi0gICAgICAgYi4g
SWYgZGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCi0gICAgICAgICAgaS4gSWYgSXNBY2Nlc3Nv
ckRlc2NyaXB0b3IoZGVzYykgaXMgdHJ1ZSwgcmV0dXJuIGRlc2MuW1tHZXRdXS4KLSAgICAgICAg
ICBpaS4gUmV0dXJuIHVuZGVmaW5lZC4KLSAgICAgICBjLiBMZXQgTyBiZSA/IE8uW1tHZXRQcm90
b3R5cGVPZl1dKCkuCi0gICAgICAgZC4gSWYgTyBpcyBudWxsLCByZXR1cm4gdW5kZWZpbmVkLiAK
LS0tLSovCi0KLXZhciByb290ID0gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAndGFyZ2V0Jywg
eyBnZXQ6IGZ1bmN0aW9uKCkge30gfSk7Ci12YXIgZGVzYyA9IHsgdmFsdWU6IG51bGwgfTsKLXZh
ciBzdWJqZWN0ID0gT2JqZWN0LmNyZWF0ZShyb290LCB7IHRhcmdldDogZGVzYyB9KTsKLQotYXNz
ZXJ0LnNhbWVWYWx1ZShzdWJqZWN0Ll9fbG9va3VwR2V0dGVyX18oJ3RhcmdldCcpLCB1bmRlZmlu
ZWQpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9P
YmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vbG9va3VwLW93bi1nZXQtZXJyLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19f
bG9va3VwR2V0dGVyX18vbG9va3VwLW93bi1nZXQtZXJyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA1M2IwYWI1ODZhMzg2MzU0ZDEzZjkwYzEyYjY3ZDMxMTNjNjgyZDNjLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRlcl9f
L2xvb2t1cC1vd24tZ2V0LWVyci5qcworKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLS8v
IENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6IHNlYy1hZGRpdGlvbmFsLXByb3Bl
cnRpZXMtb2YtdGhlLW9iamVjdC5wcm90b3R5cGUtb2JqZWN0Ci1kZXNjcmlwdGlvbjogPgotICAg
IEJlaGF2aW9yIHdoZW4gW1tHZXRPd25Qcm9wZXJ0eV1dIG9mICJ0aGlzIiB2YWx1ZSByZXR1cm5z
IGFuIGFicnVwdAotICAgIGNvbXBsZXRpb24KLWluZm86IHwKLSAgICBbLi4uXQotICAgIDQuIFJl
cGVhdAotICAgICAgIGEuIExldCBkZXNjIGJlID8gTy5bW0dldE93blByb3BlcnR5XV0oa2V5KS4K
LSAgICAgICBiLiBJZiBkZXNjIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KLSAgICAgICAgICBpLiBJ
ZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihkZXNjKSBpcyB0cnVlLCByZXR1cm4gZGVzYy5bW0dldF1d
LgotICAgICAgICAgIGlpLiBSZXR1cm4gdW5kZWZpbmVkLgotICAgICAgIGMuIExldCBPIGJlID8g
Ty5bW0dldFByb3RvdHlwZU9mXV0oKS4KLSAgICAgICBkLiBJZiBPIGlzIG51bGwsIHJldHVybiB1
bmRlZmluZWQuIAotZmVhdHVyZXM6IFtQcm94eV0KLS0tLSovCi0KLXZhciByb290ID0gT2JqZWN0
LmRlZmluZVByb3BlcnR5KHt9LCAndGFyZ2V0JywgeyBnZXQ6IGZ1bmN0aW9uKCkge30gfSk7Ci12
YXIgdGhyb3dlciA9IGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7IH07Ci12
YXIgc3ViamVjdCA9IG5ldyBQcm94eShyb290LCB7IGdldE93blByb3BlcnR5RGVzY3JpcHRvcjog
dGhyb3dlciB9KTsKLQotYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9uKCkgewot
ICBzdWJqZWN0Ll9fbG9va3VwR2V0dGVyX18oJ3RhcmdldCcpOwotfSk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19s
b29rdXBHZXR0ZXJfXy9sb29rdXAtb3duLXByb3RvLWVyci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRlcl9fL2xv
b2t1cC1vd24tcHJvdG8tZXJyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MDFj
MTUzOGJhMzEyZjI1YTNhZmRmMjdmN2RiZTY0ODA0YWRiMjg5Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9i
dWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRlcl9fL2xvb2t1cC1vd24tcHJv
dG8tZXJyLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChD
KSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUt
b2JqZWN0LnByb3RvdHlwZS1vYmplY3QKLWRlc2NyaXB0aW9uOiA+Ci0gICAgQmVoYXZpb3Igd2hl
biBbW0dldFByb3RvdHlwZU9mXV0gb2YgInRoaXMiIHZhbHVlIHJldHVybnMgYW4gYWJydXB0Ci0g
ICAgY29tcGxldGlvbgotaW5mbzogfAotICAgIFsuLi5dCi0gICAgNC4gUmVwZWF0Ci0gICAgICAg
YS4gTGV0IGRlc2MgYmUgPyBPLltbR2V0T3duUHJvcGVydHldXShrZXkpLgotICAgICAgIGIuIElm
IGRlc2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgotICAgICAgICAgIGkuIElmIElzQWNjZXNzb3JE
ZXNjcmlwdG9yKGRlc2MpIGlzIHRydWUsIHJldHVybiBkZXNjLltbR2V0XV0uCi0gICAgICAgICAg
aWkuIFJldHVybiB1bmRlZmluZWQuCi0gICAgICAgYy4gTGV0IE8gYmUgPyBPLltbR2V0UHJvdG90
eXBlT2ZdXSgpLgotICAgICAgIGQuIElmIE8gaXMgbnVsbCwgcmV0dXJuIHVuZGVmaW5lZC4gCi1m
ZWF0dXJlczogW1Byb3h5XQotLS0tKi8KLQotdmFyIHJvb3QgPSBPYmplY3QuZGVmaW5lUHJvcGVy
dHkoe30sICd0YXJnZXQnLCB7IGdldDogZnVuY3Rpb24oKSB7fSB9KTsKLXZhciB0aHJvd2VyID0g
ZnVuY3Rpb24oKSB7IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoKTsgfTsKLXZhciBzdWJqZWN0ID0g
bmV3IFByb3h5KE9iamVjdC5jcmVhdGUocm9vdCksIHsgZ2V0UHJvdG90eXBlT2Y6IHRocm93ZXIg
fSk7Ci0KLWFzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsKLSAgc3ViamVj
dC5fX2xvb2t1cEdldHRlcl9fKCd0YXJnZXQnKTsKLX0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0
dGVyX18vbG9va3VwLXByb3RvLWFjc3Itdy1nZXR0ZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sb29r
dXAtcHJvdG8tYWNzci13LWdldHRlci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZjYyZTI5ZmYyZmM5YWQ5YmUzNDY1YjY2YmExMTFlYzdlMjVjNmQ4Ny4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5l
eEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sb29rdXAtcHJv
dG8tYWNzci13LWdldHRlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLS8vIENv
cHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6IHNlYy1hZGRpdGlvbmFsLXByb3BlcnRp
ZXMtb2YtdGhlLW9iamVjdC5wcm90b3R5cGUtb2JqZWN0Ci1kZXNjcmlwdGlvbjogPgotICAgIEJl
aGF2aW9yIHdoZW4gcHJvdG90eXBlIGRlZmluZXMgYSBsaWtlLW5hbWVkIGFjY2Vzc29yIHByb3Bl
cnR5IHdpdGggYSBgZ2V0YAotICAgIG1ldGhvZAotaW5mbzogfAotICAgIFsuLi5dCi0gICAgNC4g
UmVwZWF0Ci0gICAgICAgYS4gTGV0IGRlc2MgYmUgPyBPLltbR2V0T3duUHJvcGVydHldXShrZXkp
LgotICAgICAgIGIuIElmIGRlc2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgotICAgICAgICAgIGku
IElmIElzQWNjZXNzb3JEZXNjcmlwdG9yKGRlc2MpIGlzIHRydWUsIHJldHVybiBkZXNjLltbR2V0
XV0uCi0gICAgICAgICAgaWkuIFJldHVybiB1bmRlZmluZWQuCi0gICAgICAgYy4gTGV0IE8gYmUg
PyBPLltbR2V0UHJvdG90eXBlT2ZdXSgpLgotICAgICAgIGQuIElmIE8gaXMgbnVsbCwgcmV0dXJu
IHVuZGVmaW5lZC4gCi0tLS0qLwotCi12YXIgcm9vdCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7
fSwgJ3RhcmdldCcsIHsgZ2V0OiBmdW5jdGlvbigpIHt9IH0pOwotdmFyIGRlc2MgPSB7IGdldDog
ZnVuY3Rpb24oKSB7fSB9OwotdmFyIGludGVybWVkaWFyeSA9IE9iamVjdC5jcmVhdGUocm9vdCwg
eyB0YXJnZXQ6IGRlc2MgfSk7Ci12YXIgc3ViamVjdCA9IE9iamVjdC5jcmVhdGUoaW50ZXJtZWRp
YXJ5KTsKLQotYXNzZXJ0LnNhbWVWYWx1ZShzdWJqZWN0Ll9fbG9va3VwR2V0dGVyX18oJ3Rhcmdl
dCcpLCBkZXNjLmdldCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIv
YnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sb29rdXAtcHJvdG8t
YWNzci13by1nZXR0ZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5z
L09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sb29rdXAtcHJvdG8tYWNzci13by1n
ZXR0ZXIuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIyMjgyMzNlODZiZjhiNzE0
N2MwOWJkNWNjOWQ2ZjZjOGYxZDk4OWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vbG9va3VwLXByb3RvLWFjc3Itd28tZ2V0dGVy
LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDE2
IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCi0vKi0tLQotZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0
LnByb3RvdHlwZS1vYmplY3QKLWRlc2NyaXB0aW9uOiA+Ci0gICAgQmVoYXZpb3Igd2hlbiBwcm90
b3R5cGUgZGVmaW5lcyBhIGxpa2UtbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhCi0g
ICAgYGdldGAgbWV0aG9kCi1pbmZvOiB8Ci0gICAgWy4uLl0KLSAgICA0LiBSZXBlYXQKLSAgICAg
ICBhLiBMZXQgZGVzYyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1dKGtleSkuCi0gICAgICAgYi4g
SWYgZGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCi0gICAgICAgICAgaS4gSWYgSXNBY2Nlc3Nv
ckRlc2NyaXB0b3IoZGVzYykgaXMgdHJ1ZSwgcmV0dXJuIGRlc2MuW1tHZXRdXS4KLSAgICAgICAg
ICBpaS4gUmV0dXJuIHVuZGVmaW5lZC4KLSAgICAgICBjLiBMZXQgTyBiZSA/IE8uW1tHZXRQcm90
b3R5cGVPZl1dKCkuCi0gICAgICAgZC4gSWYgTyBpcyBudWxsLCByZXR1cm4gdW5kZWZpbmVkLiAK
LS0tLSovCi0KLXZhciByb290ID0gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAndGFyZ2V0Jywg
eyBnZXQ6IGZ1bmN0aW9uKCkge30gfSk7Ci12YXIgZGVzYyA9IHsgc2V0OiBmdW5jdGlvbigpIHt9
IH07Ci12YXIgaW50ZXJtZWRpYXJ5ID0gT2JqZWN0LmNyZWF0ZShyb290LCB7IHRhcmdldDogZGVz
YyB9KTsKLXZhciBzdWJqZWN0ID0gT2JqZWN0LmNyZWF0ZShpbnRlcm1lZGlhcnkpOwotCi1hc3Nl
cnQuc2FtZVZhbHVlKHN1YmplY3QuX19sb29rdXBHZXR0ZXJfXygndGFyZ2V0JyksIHVuZGVmaW5l
ZCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09i
amVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sb29rdXAtcHJvdG8tZGF0YS5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xv
b2t1cEdldHRlcl9fL2xvb2t1cC1wcm90by1kYXRhLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAyNmZiNTk0MmFiOGI3NWFiOWQ2OTJlY2M2MTM4MzAzYTA1MjkzMGRhLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRlcl9fL2xv
b2t1cC1wcm90by1kYXRhLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotLy8gQ29w
eXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGll
cy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKLWRlc2NyaXB0aW9uOiBCZWhhdmlvciB3
aGVuIHByb3RvdHlwZSBkZWZpbmVzIGEgbGlrZS1uYW1lZCBkYXRhIHByb3BlcnR5Ci1pbmZvOiB8
Ci0gICAgWy4uLl0KLSAgICA0LiBSZXBlYXQKLSAgICAgICBhLiBMZXQgZGVzYyBiZSA/IE8uW1tH
ZXRPd25Qcm9wZXJ0eV1dKGtleSkuCi0gICAgICAgYi4gSWYgZGVzYyBpcyBub3QgdW5kZWZpbmVk
LCB0aGVuCi0gICAgICAgICAgaS4gSWYgSXNBY2Nlc3NvckRlc2NyaXB0b3IoZGVzYykgaXMgdHJ1
ZSwgcmV0dXJuIGRlc2MuW1tHZXRdXS4KLSAgICAgICAgICBpaS4gUmV0dXJuIHVuZGVmaW5lZC4K
LSAgICAgICBjLiBMZXQgTyBiZSA/IE8uW1tHZXRQcm90b3R5cGVPZl1dKCkuCi0gICAgICAgZC4g
SWYgTyBpcyBudWxsLCByZXR1cm4gdW5kZWZpbmVkLiAKLS0tLSovCi0KLXZhciByb290ID0gT2Jq
ZWN0LmRlZmluZVByb3BlcnR5KHt9LCAndGFyZ2V0JywgeyBnZXQ6IGZ1bmN0aW9uKCkge30gfSk7
Ci12YXIgZGVzYyA9IHsgdmFsdWU6IG51bGwgfTsKLXZhciBpbnRlcm1lZGlhcnkgPSBPYmplY3Qu
Y3JlYXRlKHJvb3QsIHsgdGFyZ2V0OiBkZXNjIH0pOwotdmFyIHN1YmplY3QgPSBPYmplY3QuY3Jl
YXRlKGludGVybWVkaWFyeSk7Ci0KLWFzc2VydC5zYW1lVmFsdWUoc3ViamVjdC5fX2xvb2t1cEdl
dHRlcl9fKCd0YXJnZXQnKSwgdW5kZWZpbmVkKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRlcl9f
L2xvb2t1cC1wcm90by1nZXQtZXJyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1
aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vbG9va3VwLXByb3RvLWdl
dC1lcnIuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhmZWUxNDU4YjcxMDZmMDc5
NGU0YjAyNjhkODRhNzU1ZWEwYzRkMTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vbG9va3VwLXByb3RvLWdldC1lcnIuanMKKysr
IC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4
IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8q
LS0tCi1lc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3QucHJvdG90
eXBlLW9iamVjdAotZGVzY3JpcHRpb246ID4KLSAgICBCZWhhdmlvciB3aGVuIFtbR2V0T3duUHJv
cGVydHldXSBvZiBwcm90b3R5cGUgcmV0dXJucyBhbiBhYnJ1cHQgY29tcGxldGlvbgotaW5mbzog
fAotICAgIFsuLi5dCi0gICAgNC4gUmVwZWF0Ci0gICAgICAgYS4gTGV0IGRlc2MgYmUgPyBPLltb
R2V0T3duUHJvcGVydHldXShrZXkpLgotICAgICAgIGIuIElmIGRlc2MgaXMgbm90IHVuZGVmaW5l
ZCwgdGhlbgotICAgICAgICAgIGkuIElmIElzQWNjZXNzb3JEZXNjcmlwdG9yKGRlc2MpIGlzIHRy
dWUsIHJldHVybiBkZXNjLltbR2V0XV0uCi0gICAgICAgICAgaWkuIFJldHVybiB1bmRlZmluZWQu
Ci0gICAgICAgYy4gTGV0IE8gYmUgPyBPLltbR2V0UHJvdG90eXBlT2ZdXSgpLgotICAgICAgIGQu
IElmIE8gaXMgbnVsbCwgcmV0dXJuIHVuZGVmaW5lZC4gCi1mZWF0dXJlczogW1Byb3h5XQotLS0t
Ki8KLQotdmFyIHJvb3QgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICd0YXJnZXQnLCB7IGdl
dDogZnVuY3Rpb24oKSB7fSB9KTsKLXZhciB0aHJvd2VyID0gZnVuY3Rpb24oKSB7IHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoKTsgfTsKLXZhciBpbnRlcm1lZGlhcnkgPSBuZXcgUHJveHkoCi0gIE9i
amVjdC5jcmVhdGUocm9vdCksIHsgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yOiB0aHJvd2VyIH0K
LSk7Ci12YXIgc3ViamVjdCA9IE9iamVjdC5jcmVhdGUoaW50ZXJtZWRpYXJ5KTsKLQotYXNzZXJ0
LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9uKCkgewotICBzdWJqZWN0Ll9fbG9va3VwR2V0
dGVyX18oJ3RhcmdldCcpOwotfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9h
bm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sb29rdXAt
cHJvdG8tcHJvdG8tZXJyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlu
cy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vbG9va3VwLXByb3RvLXByb3RvLWVy
ci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWUyNjIyOWE2Y2EzNzlmMmI3NzFi
ZWJlNTE5ODc3ODdkMDYxOWIzMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9w
cm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sb29rdXAtcHJvdG8tcHJvdG8tZXJyLmpzCisrKyAv
ZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBw
cm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0t
LQotZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlw
ZS1vYmplY3QKLWRlc2NyaXB0aW9uOiA+Ci0gICAgQmVoYXZpb3Igd2hlbiBbW0dldFByb3RvdHlw
ZU9mXV0gb2YgcHJvdG90eXBlIHJldHVybnMgYW4gYWJydXB0IGNvbXBsZXRpb24KLWluZm86IHwK
LSAgICBbLi4uXQotICAgIDQuIFJlcGVhdAotICAgICAgIGEuIExldCBkZXNjIGJlID8gTy5bW0dl
dE93blByb3BlcnR5XV0oa2V5KS4KLSAgICAgICBiLiBJZiBkZXNjIGlzIG5vdCB1bmRlZmluZWQs
IHRoZW4KLSAgICAgICAgICBpLiBJZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihkZXNjKSBpcyB0cnVl
LCByZXR1cm4gZGVzYy5bW0dldF1dLgotICAgICAgICAgIGlpLiBSZXR1cm4gdW5kZWZpbmVkLgot
ICAgICAgIGMuIExldCBPIGJlID8gTy5bW0dldFByb3RvdHlwZU9mXV0oKS4KLSAgICAgICBkLiBJ
ZiBPIGlzIG51bGwsIHJldHVybiB1bmRlZmluZWQuIAotZmVhdHVyZXM6IFtQcm94eV0KLS0tLSov
Ci0KLXZhciByb290ID0gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAndGFyZ2V0JywgeyBnZXQ6
IGZ1bmN0aW9uKCkge30gfSk7Ci12YXIgdGhyb3dlciA9IGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCk7IH07Ci12YXIgaW50ZXJtZWRpYXJ5ID0gbmV3IFByb3h5KE9iamVjdC5j
cmVhdGUocm9vdCksIHsgZ2V0UHJvdG90eXBlT2Y6IHRocm93ZXIgfSk7Ci12YXIgc3ViamVjdCA9
IE9iamVjdC5jcmVhdGUoaW50ZXJtZWRpYXJ5KTsKLQotYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJy
b3IsIGZ1bmN0aW9uKCkgewotICBzdWJqZWN0Ll9fbG9va3VwR2V0dGVyX18oJ3RhcmdldCcpOwot
fSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09i
amVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9uYW1lLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18v
bmFtZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDQ0NDRmNjdiODVlY2YxNTRk
NTE2YjhiZjI3ZTBlNWM0MmI2NTRkYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVj
dC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9uYW1lLmpzCisrKyAvZGV2L251bGwKQEAgLTEs
MjcgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLWFk
ZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKLWRlc2Ny
aXB0aW9uOiBPYmplY3QucHJvdG90eXBlLl9fbG9va3VwR2V0dGVyX18gYG5hbWVgIHByb3BlcnR5
Ci1pbmZvOiB8Ci0gICAgRVM2IFNlY3Rpb24gMTc6Ci0KLSAgICBFdmVyeSBidWlsdC1pbiBGdW5j
dGlvbiBvYmplY3QsIGluY2x1ZGluZyBjb25zdHJ1Y3RvcnMsIHRoYXQgaXMgbm90Ci0gICAgaWRl
bnRpZmllZCBhcyBhbiBhbm9ueW1vdXMgZnVuY3Rpb24gaGFzIGEgbmFtZSBwcm9wZXJ0eSB3aG9z
ZSB2YWx1ZSBpcyBhCi0gICAgU3RyaW5nLiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhp
cyB2YWx1ZSBpcyB0aGUgbmFtZSB0aGF0IGlzIGdpdmVuIHRvCi0gICAgdGhlIGZ1bmN0aW9uIGlu
IHRoaXMgc3BlY2lmaWNhdGlvbi4KLQotICAgIFsuLi5dCi0KLSAgICBVbmxlc3Mgb3RoZXJ3aXNl
IHNwZWNpZmllZCwgdGhlIG5hbWUgcHJvcGVydHkgb2YgYSBidWlsdC1pbiBGdW5jdGlvbgotICAg
IG9iamVjdCwgaWYgaXQgZXhpc3RzLCBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBbW1dyaXRhYmxlXV06
IGZhbHNlLAotICAgIFtbRW51bWVyYWJsZV1dOiBmYWxzZSwgW1tDb25maWd1cmFibGVdXTogdHJ1
ZSB9LgotaW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KLS0tLSovCi0KLXZlcmlmeVByb3Bl
cnR5KE9iamVjdC5wcm90b3R5cGUuX19sb29rdXBHZXR0ZXJfXywgIm5hbWUiLCB7Ci0gIGVudW1l
cmFibGU6IGZhbHNlLAotICB3cml0YWJsZTogZmFsc2UsCi0gIGNvbmZpZ3VyYWJsZTogdHJ1ZSwK
LSAgdmFsdWU6ICJfX2xvb2t1cEdldHRlcl9fIgotfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0
ZXJfXy9wcm9wLWRlc2MuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5z
L09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9wcm9wLWRlc2MuanMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk1N2ZhZTY5MjhmM2E1ZWJlOWIwNGQ1OGM2MjEwY2M1MmY1
MTIyNjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9v
a3VwR2V0dGVyX18vcHJvcC1kZXNjLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAot
Ly8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJv
cGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKLWRlc2NyaXB0aW9uOiBQcm9w
ZXJ0eSBkZXNjcmlwdG9yIGZvciBPYmplY3QucHJvdG90eXBlLl9fbG9va3VwR2V0dGVyX18KLWlu
Zm86IHwKLSAgICBFdmVyeSBvdGhlciBkYXRhIHByb3BlcnR5IGRlc2NyaWJlZCBpbiBjbGF1c2Vz
IDE4IHRocm91Z2ggMjYgYW5kIGluIEFubmV4Ci0gICAgQi4yIGhhcyB0aGUgYXR0cmlidXRlcyB7
IFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IGZhbHNlLAotICAgIFtbQ29uZmln
dXJhYmxlXV06IHRydWUgfSB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZC4KLWluY2x1ZGVzOiBb
cHJvcGVydHlIZWxwZXIuanNdCi0tLS0qLwotCi12ZXJpZnlQcm9wZXJ0eShPYmplY3QucHJvdG90
eXBlLCAiX19sb29rdXBHZXR0ZXJfXyIsIHsKLSAgZW51bWVyYWJsZTogZmFsc2UsCi0gIHdyaXRh
YmxlOiB0cnVlLAotICBjb25maWd1cmFibGU6IHRydWUsCi19KTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1
cEdldHRlcl9fL3RoaXMtbm9uLW9iai5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9i
dWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRlcl9fL3RoaXMtbm9uLW9iai5q
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGE4ZjU1NmUyNWNkMGJhZDhiNGQ0ZjMz
NTYzMGNkYzAyMzA5OTlkMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvX19sb29rdXBHZXR0ZXJfXy90aGlzLW5vbi1vYmouanMKKysrIC9kZXYvbnVsbApAQCAt
MSwyOCArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9y
cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMt
YWRkaXRpb25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3QucHJvdG90eXBlLW9iamVjdAotZGVz
Y3JpcHRpb246IEJlaGF2aW9yIHdoZW4gInRoaXMiIHZhbHVlIGlzIG5vdCBPYmplY3QtY29lcmNp
YmxlCi1pbmZvOiB8Ci0gICAgMS4gTGV0IE8gYmUgPyBUb09iamVjdCh0aGlzIHZhbHVlKS4KLS0t
LSovCi0KLXZhciBfX2xvb2t1cEdldHRlcl9fID0gT2JqZWN0LnByb3RvdHlwZS5fX2xvb2t1cEdl
dHRlcl9fOwotdmFyIHRvU3RyaW5nQ291bnQgPSAwOwotdmFyIGtleSA9IHsKLSAgdG9TdHJpbmc6
IGZ1bmN0aW9uKCkgewotICAgIHRvU3RyaW5nQ291bnQgKz0gMTsKLSAgfQotfTsKLQotYXNzZXJ0
LnNhbWVWYWx1ZSh0eXBlb2YgX19sb29rdXBHZXR0ZXJfXywgJ2Z1bmN0aW9uJyk7Ci0KLWFzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgX19sb29rdXBHZXR0ZXJfXy5jYWxs
KHVuZGVmaW5lZCwga2V5KTsKLX0sICd1bmRlZmluZWQnKTsKLQotYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsIGZ1bmN0aW9uKCkgewotICBfX2xvb2t1cEdldHRlcl9fLmNhbGwobnVsbCwga2V5KTsK
LX0sICdudWxsJyk7Ci0KLWFzc2VydC5zYW1lVmFsdWUodG9TdHJpbmdDb3VudCwgMCk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9rZXktaW52YWxpZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2tl
eS1pbnZhbGlkLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMmQxNjkxNGM5MzA0
MzM0NmU3YTM2MjQzMDE3ZTczMzUwNzU3YWZkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMv
T2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2tleS1pbnZhbGlkLmpzCisrKyAvZGV2
L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9q
ZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQot
ZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1v
YmplY3QKLWRlc2NyaXB0aW9uOiBCZWhhdmlvciB3aGVuIHByb3BlcnR5IGtleSBjYW5ub3QgYmUg
ZGVyaXZlZAotaW5mbzogfAotICAgIFsuLi5dCi0gICAgMi4gTGV0IGtleSBiZSA/IFRvUHJvcGVy
dHlLZXkoUCkuCi0tLS0qLwotCi12YXIgc3ViamVjdCA9IHt9OwotdmFyIGtleSA9IHsKLSAgdG9T
dHJpbmc6IGZ1bmN0aW9uKCkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoKTsKLSAgfQot
fTsKLQotYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9uKCkgewotICBzdWJqZWN0
Ll9fbG9va3VwU2V0dGVyX18oa2V5KTsKLX0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18v
bGVuZ3RoLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3Qv
cHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vbGVuZ3RoLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA4MjlmYjdhN2FiZmIwODc0YjkxZGJmOTk4ODRhNjM2N2Y2ZTQ0NGY4Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9f
L2xlbmd0aC5qcworKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLS8vIENvcHlyaWdodCAo
QykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6IHNlYy1hZGRpdGlvbmFsLXByb3BlcnRpZXMtb2YtdGhl
LW9iamVjdC5wcm90b3R5cGUtb2JqZWN0Ci1kZXNjcmlwdGlvbjogT2JqZWN0LnByb3RvdHlwZS5f
X2xvb2t1cFNldHRlcl9fIGBsZW5ndGhgIHByb3BlcnR5Ci1pbmZvOiB8Ci0gICAgRVM2IFNlY3Rp
b24gMTc6Ci0gICAgRXZlcnkgYnVpbHQtaW4gRnVuY3Rpb24gb2JqZWN0LCBpbmNsdWRpbmcgY29u
c3RydWN0b3JzLCBoYXMgYSBsZW5ndGgKLSAgICBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhbiBp
bnRlZ2VyLiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhpcyB2YWx1ZQotICAgIGlzIGVx
dWFsIHRvIHRoZSBsYXJnZXN0IG51bWJlciBvZiBuYW1lZCBhcmd1bWVudHMgc2hvd24gaW4gdGhl
IHN1YmNsYXVzZQotICAgIGhlYWRpbmdzIGZvciB0aGUgZnVuY3Rpb24gZGVzY3JpcHRpb24sIGlu
Y2x1ZGluZyBvcHRpb25hbCBwYXJhbWV0ZXJzLgotCi0gICAgWy4uLl0KLQotICAgIFVubGVzcyBv
dGhlcndpc2Ugc3BlY2lmaWVkLCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIGEgYnVpbHQtaW4gRnVu
Y3Rpb24KLSAgICBvYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiBmYWxz
ZSwgW1tFbnVtZXJhYmxlXV06IGZhbHNlLAotICAgIFtbQ29uZmlndXJhYmxlXV06IHRydWUgfS4K
LWluY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCi0tLS0qLwotCi12ZXJpZnlQcm9wZXJ0eShP
YmplY3QucHJvdG90eXBlLl9fbG9va3VwU2V0dGVyX18sICJsZW5ndGgiLCB7Ci0gIGVudW1lcmFi
bGU6IGZhbHNlLAotICB3cml0YWJsZTogZmFsc2UsCi0gIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKLSAg
dmFsdWU6IDEKLX0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1
aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vbG9va3VwLW5vdC1mb3Vu
ZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3Rv
dHlwZS9fX2xvb2t1cFNldHRlcl9fL2xvb2t1cC1ub3QtZm91bmQuanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGJlZjZhN2M0MzBkNDU0M2FkYTIyZGM5YTdkNzk1MjM4ZDM2YjRiNmUu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0
dGVyX18vbG9va3VwLW5vdC1mb3VuZC5qcworKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAK
LS8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6IHNlYy1hZGRpdGlvbmFsLXBy
b3BlcnRpZXMtb2YtdGhlLW9iamVjdC5wcm90b3R5cGUtb2JqZWN0Ci1kZXNjcmlwdGlvbjogQmVo
YXZpb3Igd2hlbiBwcm9wZXJ0eSBkb2VzIG5vdCBleGlzdCBpbiBwcm90b3R5cGUgY2hhaW4KLWlu
Zm86IHwKLSAgICBbLi4uXQotICAgIDQuIFJlcGVhdAotICAgICAgIGEuIExldCBkZXNjIGJlID8g
Ty5bW0dldE93blByb3BlcnR5XV0oa2V5KS4KLSAgICAgICBiLiBJZiBkZXNjIGlzIG5vdCB1bmRl
ZmluZWQsIHRoZW4KLSAgICAgICAgICBpLiBJZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihkZXNjKSBp
cyB0cnVlLCByZXR1cm4gZGVzYy5bW0dldF1dLgotICAgICAgICAgIGlpLiBSZXR1cm4gdW5kZWZp
bmVkLgotICAgICAgIGMuIExldCBPIGJlID8gTy5bW0dldFByb3RvdHlwZU9mXV0oKS4KLSAgICAg
ICBkLiBJZiBPIGlzIG51bGwsIHJldHVybiB1bmRlZmluZWQuIAotLS0tKi8KLQotdmFyIHJvb3Qg
PSB7fTsKLXZhciBpbnRlcm1lZGlhcnkgPSBPYmplY3QuY3JlYXRlKHJvb3QpOwotdmFyIHN1Ympl
Y3QgPSBPYmplY3QuY3JlYXRlKGludGVybWVkaWFyeSk7Ci0KLWFzc2VydC5zYW1lVmFsdWUoc3Vi
amVjdC5fX2xvb2t1cFNldHRlcl9fKCd0YXJnZXQnKSwgdW5kZWZpbmVkKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9f
X2xvb2t1cFNldHRlcl9fL2xvb2t1cC1vd24tYWNzci13LXNldHRlci5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRl
cl9fL2xvb2t1cC1vd24tYWNzci13LXNldHRlci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZDY1OGJkNzk0NzlmYWU5OTk2Mzc1ZTE5NGZkOTEwNGY1ODdhNmY2Zi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9sb29r
dXAtb3duLWFjc3Itdy1zZXR0ZXIuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi0v
LyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9w
ZXJ0aWVzLW9mLXRoZS1vYmplY3QucHJvdG90eXBlLW9iamVjdAotZGVzY3JpcHRpb246ID4KLSAg
ICBCZWhhdmlvciB3aGVuICJ0aGlzIiB2YWx1ZSBkZWZpbmVzIGEgbGlrZS1uYW1lZCBhY2Nlc3Nv
ciBwcm9wZXJ0eSB3aXRoIGEKLSAgICBgc2V0YCBtZXRob2QKLWluZm86IHwKLSAgICBbLi4uXQot
ICAgIDQuIFJlcGVhdAotICAgICAgIGEuIExldCBkZXNjIGJlID8gTy5bW0dldE93blByb3BlcnR5
XV0oa2V5KS4KLSAgICAgICBiLiBJZiBkZXNjIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KLSAgICAg
ICAgICBpLiBJZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihkZXNjKSBpcyB0cnVlLCByZXR1cm4gZGVz
Yy5bW1NldF1dLgotICAgICAgICAgIGlpLiBSZXR1cm4gdW5kZWZpbmVkLgotICAgICAgIGMuIExl
dCBPIGJlID8gTy5bW0dldFByb3RvdHlwZU9mXV0oKS4KLSAgICAgICBkLiBJZiBPIGlzIG51bGws
IHJldHVybiB1bmRlZmluZWQuIAotLS0tKi8KLQotdmFyIHJvb3QgPSBPYmplY3QuZGVmaW5lUHJv
cGVydHkoe30sICd0YXJnZXQnLCB7IHNldDogZnVuY3Rpb24oKSB7fSB9KTsKLXZhciBkZXNjID0g
eyBzZXQ6IGZ1bmN0aW9uKCkge30gfTsKLXZhciBzdWJqZWN0ID0gT2JqZWN0LmNyZWF0ZShyb290
LCB7IHRhcmdldDogZGVzYyB9KTsKLQotYXNzZXJ0LnNhbWVWYWx1ZShzdWJqZWN0Ll9fbG9va3Vw
U2V0dGVyX18oJ3RhcmdldCcpLCBkZXNjLnNldCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0ZXJf
Xy9sb29rdXAtb3duLWFjc3Itd28tc2V0dGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5u
ZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vbG9va3VwLW93
bi1hY3NyLXdvLXNldHRlci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDViNzFl
MTcxYzI1OGRiMGQxZjZkODNkZTQ2MGY0MTk3YTU5Nzk2Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVp
bHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9sb29rdXAtb3duLWFjc3It
d28tc2V0dGVyLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotLy8gQ29weXJpZ2h0
IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0v
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10
aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKLWRlc2NyaXB0aW9uOiA+Ci0gICAgQmVoYXZpb3Ig
d2hlbiAidGhpcyIgdmFsdWUgZGVmaW5lcyBhIGxpa2UtbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkg
d2l0aG91dCBhCi0gICAgYHNldGAgbWV0aG9kCi1pbmZvOiB8Ci0gICAgWy4uLl0KLSAgICA0LiBS
ZXBlYXQKLSAgICAgICBhLiBMZXQgZGVzYyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1dKGtleSku
Ci0gICAgICAgYi4gSWYgZGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCi0gICAgICAgICAgaS4g
SWYgSXNBY2Nlc3NvckRlc2NyaXB0b3IoZGVzYykgaXMgdHJ1ZSwgcmV0dXJuIGRlc2MuW1tTZXRd
XS4KLSAgICAgICAgICBpaS4gUmV0dXJuIHVuZGVmaW5lZC4KLSAgICAgICBjLiBMZXQgTyBiZSA/
IE8uW1tHZXRQcm90b3R5cGVPZl1dKCkuCi0gICAgICAgZC4gSWYgTyBpcyBudWxsLCByZXR1cm4g
dW5kZWZpbmVkLiAKLS0tLSovCi0KLXZhciByb290ID0gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9
LCAndGFyZ2V0JywgeyBzZXQ6IGZ1bmN0aW9uKCkge30gfSk7Ci12YXIgZGVzYyA9IHsgZ2V0OiBm
dW5jdGlvbigpIHt9IH07Ci12YXIgc3ViamVjdCA9IE9iamVjdC5jcmVhdGUocm9vdCwgeyB0YXJn
ZXQ6IGRlc2MgfSk7Ci0KLWFzc2VydC5zYW1lVmFsdWUoc3ViamVjdC5fX2xvb2t1cFNldHRlcl9f
KCd0YXJnZXQnKSwgdW5kZWZpbmVkKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2xvb2t1
cC1vd24tZGF0YS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2Jq
ZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2xvb2t1cC1vd24tZGF0YS5qcwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjMzNGVjZGU2OTViZDE3MzMxMTA2ZGQwODg3N2VkOTkz
ZDAwYWJkNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19s
b29rdXBTZXR0ZXJfXy9sb29rdXAtb3duLWRhdGEuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyMSAr
MCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMtYWRkaXRp
b25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3QucHJvdG90eXBlLW9iamVjdAotZGVzY3JpcHRp
b246IEJlaGF2aW9yIHdoZW4gInRoaXMiIHZhbHVlIGRlZmluZXMgYSBsaWtlLW5hbWVkIGRhdGEg
cHJvcGVydHkKLWluZm86IHwKLSAgICBbLi4uXQotICAgIDQuIFJlcGVhdAotICAgICAgIGEuIExl
dCBkZXNjIGJlID8gTy5bW0dldE93blByb3BlcnR5XV0oa2V5KS4KLSAgICAgICBiLiBJZiBkZXNj
IGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KLSAgICAgICAgICBpLiBJZiBJc0FjY2Vzc29yRGVzY3Jp
cHRvcihkZXNjKSBpcyB0cnVlLCByZXR1cm4gZGVzYy5bW0dldF1dLgotICAgICAgICAgIGlpLiBS
ZXR1cm4gdW5kZWZpbmVkLgotICAgICAgIGMuIExldCBPIGJlID8gTy5bW0dldFByb3RvdHlwZU9m
XV0oKS4KLSAgICAgICBkLiBJZiBPIGlzIG51bGwsIHJldHVybiB1bmRlZmluZWQuIAotLS0tKi8K
LQotdmFyIHJvb3QgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICd0YXJnZXQnLCB7IHNldDog
ZnVuY3Rpb24oKSB7fSB9KTsKLXZhciBkZXNjID0geyB2YWx1ZTogbnVsbCB9OwotdmFyIHN1Ympl
Y3QgPSBPYmplY3QuY3JlYXRlKHJvb3QsIHsgdGFyZ2V0OiBkZXNjIH0pOwotCi1hc3NlcnQuc2Ft
ZVZhbHVlKHN1YmplY3QuX19sb29rdXBTZXR0ZXJfXygndGFyZ2V0JyksIHVuZGVmaW5lZCk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9w
cm90b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9sb29rdXAtb3duLWdldC1lcnIuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBT
ZXR0ZXJfXy9sb29rdXAtb3duLWdldC1lcnIuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGYxZGY5NjVhYzkxZTg0NzgyM2IwMDY4YWY3YTkzMmMzMDc1ZDk0MGIuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vbG9va3Vw
LW93bi1nZXQtZXJyLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotLy8gQ29weXJp
Z2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1v
Zi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKLWRlc2NyaXB0aW9uOiA+Ci0gICAgQmVoYXZp
b3Igd2hlbiBbW0dldE93blByb3BlcnR5XV0gb2YgInRoaXMiIHZhbHVlIHJldHVybnMgYW4gYWJy
dXB0Ci0gICAgY29tcGxldGlvbgotaW5mbzogfAotICAgIFsuLi5dCi0gICAgNC4gUmVwZWF0Ci0g
ICAgICAgYS4gTGV0IGRlc2MgYmUgPyBPLltbR2V0T3duUHJvcGVydHldXShrZXkpLgotICAgICAg
IGIuIElmIGRlc2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgotICAgICAgICAgIGkuIElmIElzQWNj
ZXNzb3JEZXNjcmlwdG9yKGRlc2MpIGlzIHRydWUsIHJldHVybiBkZXNjLltbU2V0XV0uCi0gICAg
ICAgICAgaWkuIFJldHVybiB1bmRlZmluZWQuCi0gICAgICAgYy4gTGV0IE8gYmUgPyBPLltbR2V0
UHJvdG90eXBlT2ZdXSgpLgotICAgICAgIGQuIElmIE8gaXMgbnVsbCwgcmV0dXJuIHVuZGVmaW5l
ZC4gCi1mZWF0dXJlczogW1Byb3h5XQotLS0tKi8KLQotdmFyIHJvb3QgPSBPYmplY3QuZGVmaW5l
UHJvcGVydHkoe30sICd0YXJnZXQnLCB7IHNldDogZnVuY3Rpb24oKSB7fSB9KTsKLXZhciB0aHJv
d2VyID0gZnVuY3Rpb24oKSB7IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoKTsgfTsKLXZhciBzdWJq
ZWN0ID0gbmV3IFByb3h5KHJvb3QsIHsgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yOiB0aHJvd2Vy
IH0pOwotCi1hc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7Ci0gIHN1Ympl
Y3QuX19sb29rdXBTZXR0ZXJfXygndGFyZ2V0Jyk7Ci19KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNl
dHRlcl9fL2xvb2t1cC1vd24tcHJvdG8tZXJyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5u
ZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vbG9va3VwLW93
bi1wcm90by1lcnIuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ5NWEyODk2OGFh
MmQzZjllYWNiOGJhNjQ0YmVlMDEyMzRjYjU5YTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlu
cy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vbG9va3VwLW93bi1wcm90by1lcnIu
anMKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYg
dGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KLS8qLS0tCi1lc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3Qu
cHJvdG90eXBlLW9iamVjdAotZGVzY3JpcHRpb246ID4KLSAgICBCZWhhdmlvciB3aGVuIFtbR2V0
UHJvdG90eXBlT2ZdXSBvZiAidGhpcyIgdmFsdWUgcmV0dXJucyBhbiBhYnJ1cHQKLSAgICBjb21w
bGV0aW9uCi1pbmZvOiB8Ci0gICAgWy4uLl0KLSAgICA0LiBSZXBlYXQKLSAgICAgICBhLiBMZXQg
ZGVzYyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1dKGtleSkuCi0gICAgICAgYi4gSWYgZGVzYyBp
cyBub3QgdW5kZWZpbmVkLCB0aGVuCi0gICAgICAgICAgaS4gSWYgSXNBY2Nlc3NvckRlc2NyaXB0
b3IoZGVzYykgaXMgdHJ1ZSwgcmV0dXJuIGRlc2MuW1tHZXRdXS4KLSAgICAgICAgICBpaS4gUmV0
dXJuIHVuZGVmaW5lZC4KLSAgICAgICBjLiBMZXQgTyBiZSA/IE8uW1tHZXRQcm90b3R5cGVPZl1d
KCkuCi0gICAgICAgZC4gSWYgTyBpcyBudWxsLCByZXR1cm4gdW5kZWZpbmVkLiAKLWZlYXR1cmVz
OiBbUHJveHldCi0tLS0qLwotCi12YXIgcm9vdCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwg
J3RhcmdldCcsIHsgc2V0OiBmdW5jdGlvbigpIHt9IH0pOwotdmFyIHRocm93ZXIgPSBmdW5jdGlv
bigpIHsgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOyB9OwotdmFyIHN1YmplY3QgPSBuZXcgUHJv
eHkoT2JqZWN0LmNyZWF0ZShyb290KSwgeyBnZXRQcm90b3R5cGVPZjogdGhyb3dlciB9KTsKLQot
YXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9uKCkgewotICBzdWJqZWN0Ll9fbG9v
a3VwU2V0dGVyX18oJ3RhcmdldCcpOwotfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9s
b29rdXAtcHJvdG8tYWNzci13LXNldHRlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4
Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2xvb2t1cC1wcm90
by1hY3NyLXctc2V0dGVyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMmM5MzZk
NTJhN2FhYTZlYjNhNDgyYjEwMTcxYTAzZTYxYTAwYmY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWls
dC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2xvb2t1cC1wcm90by1hY3Ny
LXctc2V0dGVyLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotLy8gQ29weXJpZ2h0
IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0v
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10
aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKLWRlc2NyaXB0aW9uOiA+Ci0gICAgQmVoYXZpb3Ig
d2hlbiBwcm90b3R5cGUgZGVmaW5lcyBhIGxpa2UtbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0
aCBhIGBnZXRgCi0gICAgbWV0aG9kCi1pbmZvOiB8Ci0gICAgWy4uLl0KLSAgICA0LiBSZXBlYXQK
LSAgICAgICBhLiBMZXQgZGVzYyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1dKGtleSkuCi0gICAg
ICAgYi4gSWYgZGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCi0gICAgICAgICAgaS4gSWYgSXNB
Y2Nlc3NvckRlc2NyaXB0b3IoZGVzYykgaXMgdHJ1ZSwgcmV0dXJuIGRlc2MuW1tTZXRdXS4KLSAg
ICAgICAgICBpaS4gUmV0dXJuIHVuZGVmaW5lZC4KLSAgICAgICBjLiBMZXQgTyBiZSA/IE8uW1tH
ZXRQcm90b3R5cGVPZl1dKCkuCi0gICAgICAgZC4gSWYgTyBpcyBudWxsLCByZXR1cm4gdW5kZWZp
bmVkLiAKLS0tLSovCi0KLXZhciByb290ID0gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAndGFy
Z2V0JywgeyBzZXQ6IGZ1bmN0aW9uKCkge30gfSk7Ci12YXIgZGVzYyA9IHsgc2V0OiBmdW5jdGlv
bigpIHt9IH07Ci12YXIgaW50ZXJtZWRpYXJ5ID0gT2JqZWN0LmNyZWF0ZShyb290LCB7IHRhcmdl
dDogZGVzYyB9KTsKLXZhciBzdWJqZWN0ID0gT2JqZWN0LmNyZWF0ZShpbnRlcm1lZGlhcnkpOwot
Ci1hc3NlcnQuc2FtZVZhbHVlKHN1YmplY3QuX19sb29rdXBTZXR0ZXJfXygndGFyZ2V0JyksIGRl
c2Muc2V0KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2xvb2t1cC1wcm90by1hY3NyLXdv
LXNldHRlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0
L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2xvb2t1cC1wcm90by1hY3NyLXdvLXNldHRlci5q
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzk3YzU1MjY2YjJlM2RjZGQ2NzFhMDY1
MTc3MjVkY2ViODdjZThjYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9sb29rdXAtcHJvdG8tYWNzci13by1zZXR0ZXIuanMKKysr
IC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4
IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8q
LS0tCi1lc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3QucHJvdG90
eXBlLW9iamVjdAotZGVzY3JpcHRpb246ID4KLSAgICBCZWhhdmlvciB3aGVuIHByb3RvdHlwZSBk
ZWZpbmVzIGEgbGlrZS1uYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEKLSAgICBgZ2V0
YCBtZXRob2QKLWluZm86IHwKLSAgICBbLi4uXQotICAgIDQuIFJlcGVhdAotICAgICAgIGEuIExl
dCBkZXNjIGJlID8gTy5bW0dldE93blByb3BlcnR5XV0oa2V5KS4KLSAgICAgICBiLiBJZiBkZXNj
IGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KLSAgICAgICAgICBpLiBJZiBJc0FjY2Vzc29yRGVzY3Jp
cHRvcihkZXNjKSBpcyB0cnVlLCByZXR1cm4gZGVzYy5bW1NldF1dLgotICAgICAgICAgIGlpLiBS
ZXR1cm4gdW5kZWZpbmVkLgotICAgICAgIGMuIExldCBPIGJlID8gTy5bW0dldFByb3RvdHlwZU9m
XV0oKS4KLSAgICAgICBkLiBJZiBPIGlzIG51bGwsIHJldHVybiB1bmRlZmluZWQuIAotLS0tKi8K
LQotdmFyIHJvb3QgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICd0YXJnZXQnLCB7IHNldDog
ZnVuY3Rpb24oKSB7fSB9KTsKLXZhciBkZXNjID0geyBnZXQ6IGZ1bmN0aW9uKCkge30gfTsKLXZh
ciBpbnRlcm1lZGlhcnkgPSBPYmplY3QuY3JlYXRlKHJvb3QsIHsgdGFyZ2V0OiBkZXNjIH0pOwot
dmFyIHN1YmplY3QgPSBPYmplY3QuY3JlYXRlKGludGVybWVkaWFyeSk7Ci0KLWFzc2VydC5zYW1l
VmFsdWUoc3ViamVjdC5fX2xvb2t1cFNldHRlcl9fKCd0YXJnZXQnKSwgdW5kZWZpbmVkKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2xvb2t1cC1wcm90by1kYXRhLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0
dGVyX18vbG9va3VwLXByb3RvLWRhdGEuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDNhOWNjMmNjZTI3NzI2ZDU3Mjg0YjdkMDBhNjNkYmE4ZWJkZjVjYWMuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5u
ZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vbG9va3VwLXBy
b3RvLWRhdGEuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi0vLyBDb3B5cmlnaHQg
KEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVzLW9mLXRo
ZS1vYmplY3QucHJvdG90eXBlLW9iamVjdAotZGVzY3JpcHRpb246IEJlaGF2aW9yIHdoZW4gcHJv
dG90eXBlIGRlZmluZXMgYSBsaWtlLW5hbWVkIGRhdGEgcHJvcGVydHkKLWluZm86IHwKLSAgICBb
Li4uXQotICAgIDQuIFJlcGVhdAotICAgICAgIGEuIExldCBkZXNjIGJlID8gTy5bW0dldE93blBy
b3BlcnR5XV0oa2V5KS4KLSAgICAgICBiLiBJZiBkZXNjIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4K
LSAgICAgICAgICBpLiBJZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihkZXNjKSBpcyB0cnVlLCByZXR1
cm4gZGVzYy5bW0dldF1dLgotICAgICAgICAgIGlpLiBSZXR1cm4gdW5kZWZpbmVkLgotICAgICAg
IGMuIExldCBPIGJlID8gTy5bW0dldFByb3RvdHlwZU9mXV0oKS4KLSAgICAgICBkLiBJZiBPIGlz
IG51bGwsIHJldHVybiB1bmRlZmluZWQuIAotLS0tKi8KLQotdmFyIHJvb3QgPSBPYmplY3QuZGVm
aW5lUHJvcGVydHkoe30sICd0YXJnZXQnLCB7IHNldDogZnVuY3Rpb24oKSB7fSB9KTsKLXZhciBk
ZXNjID0geyB2YWx1ZTogbnVsbCB9OwotdmFyIGludGVybWVkaWFyeSA9IE9iamVjdC5jcmVhdGUo
cm9vdCwgeyB0YXJnZXQ6IGRlc2MgfSk7Ci12YXIgc3ViamVjdCA9IE9iamVjdC5jcmVhdGUoaW50
ZXJtZWRpYXJ5KTsKLQotYXNzZXJ0LnNhbWVWYWx1ZShzdWJqZWN0Ll9fbG9va3VwU2V0dGVyX18o
J3RhcmdldCcpLCB1bmRlZmluZWQpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vbG9va3Vw
LXByb3RvLWdldC1lcnIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5z
L09iamVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9sb29rdXAtcHJvdG8tZ2V0LWVyci5q
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzY2MmQ4MzQ1MmIzOGQ3NWFkZDYwMjcz
ZjYzOWEzZjM1ZjM5ODI2ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9sb29rdXAtcHJvdG8tZ2V0LWVyci5qcworKysgL2Rldi9u
dWxsCkBAIC0xLDI4ICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVj
dCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVk
IGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVz
aWQ6IHNlYy1hZGRpdGlvbmFsLXByb3BlcnRpZXMtb2YtdGhlLW9iamVjdC5wcm90b3R5cGUtb2Jq
ZWN0Ci1kZXNjcmlwdGlvbjogPgotICAgIEJlaGF2aW9yIHdoZW4gW1tHZXRPd25Qcm9wZXJ0eV1d
IG9mIHByb3RvdHlwZSByZXR1cm5zIGFuIGFicnVwdCBjb21wbGV0aW9uCi1pbmZvOiB8Ci0gICAg
Wy4uLl0KLSAgICA0LiBSZXBlYXQKLSAgICAgICBhLiBMZXQgZGVzYyBiZSA/IE8uW1tHZXRPd25Q
cm9wZXJ0eV1dKGtleSkuCi0gICAgICAgYi4gSWYgZGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVu
Ci0gICAgICAgICAgaS4gSWYgSXNBY2Nlc3NvckRlc2NyaXB0b3IoZGVzYykgaXMgdHJ1ZSwgcmV0
dXJuIGRlc2MuW1tTZXRdXS4KLSAgICAgICAgICBpaS4gUmV0dXJuIHVuZGVmaW5lZC4KLSAgICAg
ICBjLiBMZXQgTyBiZSA/IE8uW1tHZXRQcm90b3R5cGVPZl1dKCkuCi0gICAgICAgZC4gSWYgTyBp
cyBudWxsLCByZXR1cm4gdW5kZWZpbmVkLiAKLWZlYXR1cmVzOiBbUHJveHldCi0tLS0qLwotCi12
YXIgcm9vdCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgJ3RhcmdldCcsIHsgc2V0OiBmdW5j
dGlvbigpIHt9IH0pOwotdmFyIHRocm93ZXIgPSBmdW5jdGlvbigpIHsgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcigpOyB9OwotdmFyIGludGVybWVkaWFyeSA9IG5ldyBQcm94eSgKLSAgT2JqZWN0LmNy
ZWF0ZShyb290KSwgeyBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6IHRocm93ZXIgfQotKTsKLXZh
ciBzdWJqZWN0ID0gT2JqZWN0LmNyZWF0ZShpbnRlcm1lZGlhcnkpOwotCi1hc3NlcnQudGhyb3dz
KFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7Ci0gIHN1YmplY3QuX19sb29rdXBTZXR0ZXJfXygn
dGFyZ2V0Jyk7Ci19KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9i
dWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2xvb2t1cC1wcm90by1w
cm90by1lcnIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVj
dC9wcm90b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9sb29rdXAtcHJvdG8tcHJvdG8tZXJyLmpzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhN2I4NzM1YzM1Yzk4ZTI4NDY2OTg5OTQzMGVm
ZjU2YWE3YWE2ZWJhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlw
ZS9fX2xvb2t1cFNldHRlcl9fL2xvb2t1cC1wcm90by1wcm90by1lcnIuanMKKysrIC9kZXYvbnVs
bApAQCAtMSwyNiArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3Qg
YXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBi
eSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lk
OiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3QucHJvdG90eXBlLW9iamVj
dAotZGVzY3JpcHRpb246ID4KLSAgICBCZWhhdmlvciB3aGVuIFtbR2V0UHJvdG90eXBlT2ZdXSBv
ZiBwcm90b3R5cGUgcmV0dXJucyBhbiBhYnJ1cHQgY29tcGxldGlvbgotaW5mbzogfAotICAgIFsu
Li5dCi0gICAgNC4gUmVwZWF0Ci0gICAgICAgYS4gTGV0IGRlc2MgYmUgPyBPLltbR2V0T3duUHJv
cGVydHldXShrZXkpLgotICAgICAgIGIuIElmIGRlc2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgot
ICAgICAgICAgIGkuIElmIElzQWNjZXNzb3JEZXNjcmlwdG9yKGRlc2MpIGlzIHRydWUsIHJldHVy
biBkZXNjLltbU2V0XV0uCi0gICAgICAgICAgaWkuIFJldHVybiB1bmRlZmluZWQuCi0gICAgICAg
Yy4gTGV0IE8gYmUgPyBPLltbR2V0UHJvdG90eXBlT2ZdXSgpLgotICAgICAgIGQuIElmIE8gaXMg
bnVsbCwgcmV0dXJuIHVuZGVmaW5lZC4gCi1mZWF0dXJlczogW1Byb3h5XQotLS0tKi8KLQotdmFy
IHJvb3QgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICd0YXJnZXQnLCB7IHNldDogZnVuY3Rp
b24oKSB7fSB9KTsKLXZhciB0aHJvd2VyID0gZnVuY3Rpb24oKSB7IHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoKTsgfTsKLXZhciBpbnRlcm1lZGlhcnkgPSBuZXcgUHJveHkoT2JqZWN0LmNyZWF0ZShy
b290KSwgeyBnZXRQcm90b3R5cGVPZjogdGhyb3dlciB9KTsKLXZhciBzdWJqZWN0ID0gT2JqZWN0
LmNyZWF0ZShpbnRlcm1lZGlhcnkpOwotCi1hc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVu
Y3Rpb24oKSB7Ci0gIHN1YmplY3QuX19sb29rdXBTZXR0ZXJfXygndGFyZ2V0Jyk7Ci19KTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL25hbWUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9h
bm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9uYW1lLmpz
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1Yjc2OWZlZDA2MTQzYWZlMGFiZGJmN2Jh
YzliNjdlMTVhMDUyYjlhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3Rv
dHlwZS9fX2xvb2t1cFNldHRlcl9fL25hbWUuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCww
IEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMtYWRkaXRpb25h
bC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3QucHJvdG90eXBlLW9iamVjdAotZGVzY3JpcHRpb246
IE9iamVjdC5wcm90b3R5cGUuX19sb29rdXBTZXR0ZXJfXyBgbmFtZWAgcHJvcGVydHkKLWluZm86
IHwKLSAgICBFUzYgU2VjdGlvbiAxNzoKLQotICAgIEV2ZXJ5IGJ1aWx0LWluIEZ1bmN0aW9uIG9i
amVjdCwgaW5jbHVkaW5nIGNvbnN0cnVjdG9ycywgdGhhdCBpcyBub3QKLSAgICBpZGVudGlmaWVk
IGFzIGFuIGFub255bW91cyBmdW5jdGlvbiBoYXMgYSBuYW1lIHByb3BlcnR5IHdob3NlIHZhbHVl
IGlzIGEKLSAgICBTdHJpbmcuIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLCB0aGlzIHZhbHVl
IGlzIHRoZSBuYW1lIHRoYXQgaXMgZ2l2ZW4gdG8KLSAgICB0aGUgZnVuY3Rpb24gaW4gdGhpcyBz
cGVjaWZpY2F0aW9uLgotCi0gICAgWy4uLl0KLQotICAgIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lm
aWVkLCB0aGUgbmFtZSBwcm9wZXJ0eSBvZiBhIGJ1aWx0LWluIEZ1bmN0aW9uCi0gICAgb2JqZWN0
LCBpZiBpdCBleGlzdHMsIGhhcyB0aGUgYXR0cmlidXRlcyB7IFtbV3JpdGFibGVdXTogZmFsc2Us
Ci0gICAgW1tFbnVtZXJhYmxlXV06IGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0uCi1p
bmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQotLS0tKi8KLQotdmVyaWZ5UHJvcGVydHkoT2Jq
ZWN0LnByb3RvdHlwZS5fX2xvb2t1cFNldHRlcl9fLCAibmFtZSIsIHsKLSAgZW51bWVyYWJsZTog
ZmFsc2UsCi0gIHdyaXRhYmxlOiBmYWxzZSwKLSAgY29uZmlndXJhYmxlOiB0cnVlLAotICB2YWx1
ZTogIl9fbG9va3VwU2V0dGVyX18iCi19KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL3By
b3AtZGVzYy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0
L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL3Byb3AtZGVzYy5qcwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYzEyMTEwMjJhNWFhNjQyMzlmY2UwYjVhZmM3OGEyZWMxMDkxMWExZi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0
ZXJfXy9wcm9wLWRlc2MuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi0vLyBDb3B5
cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVz
LW9mLXRoZS1vYmplY3QucHJvdG90eXBlLW9iamVjdAotZGVzY3JpcHRpb246IFByb3BlcnR5IGRl
c2NyaXB0b3IgZm9yIE9iamVjdC5wcm90b3R5cGUuX19sb29rdXBTZXR0ZXJfXwotaW5mbzogfAot
ICAgIEV2ZXJ5IG90aGVyIGRhdGEgcHJvcGVydHkgZGVzY3JpYmVkIGluIGNsYXVzZXMgMTggdGhy
b3VnaCAyNiBhbmQgaW4gQW5uZXgKLSAgICBCLjIgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgW1tXcml0
YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTogZmFsc2UsCi0gICAgW1tDb25maWd1cmFibGVd
XTogdHJ1ZSB9IHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLgotaW5jbHVkZXM6IFtwcm9wZXJ0
eUhlbHBlci5qc10KLS0tLSovCi0KLXZlcmlmeVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJf
X2xvb2t1cFNldHRlcl9fIiwgewotICBlbnVtZXJhYmxlOiBmYWxzZSwKLSAgd3JpdGFibGU6IHRy
dWUsCi0gIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKLX0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVy
X18vdGhpcy1ub24tb2JqLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlu
cy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vdGhpcy1ub24tb2JqLmpzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MjVkNWJkY2JlYTA4ZmRiMmMyZTQ2MDc4NTgxOWNm
MDgxZmY2MWI3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9f
X2xvb2t1cFNldHRlcl9fL3RoaXMtbm9uLW9iai5qcworKysgL2Rldi9udWxsCkBAIC0xLDI4ICsw
LDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6IHNlYy1hZGRpdGlv
bmFsLXByb3BlcnRpZXMtb2YtdGhlLW9iamVjdC5wcm90b3R5cGUtb2JqZWN0Ci1kZXNjcmlwdGlv
bjogQmVoYXZpb3Igd2hlbiAidGhpcyIgdmFsdWUgaXMgbm90IE9iamVjdC1jb2VyY2libGUKLWlu
Zm86IHwKLSAgICAxLiBMZXQgTyBiZSA/IFRvT2JqZWN0KHRoaXMgdmFsdWUpLgotLS0tKi8KLQot
dmFyIF9fbG9va3VwU2V0dGVyX18gPSBPYmplY3QucHJvdG90eXBlLl9fbG9va3VwU2V0dGVyX187
Ci12YXIgdG9TdHJpbmdDb3VudCA9IDA7Ci12YXIga2V5ID0gewotICB0b1N0cmluZzogZnVuY3Rp
b24oKSB7Ci0gICAgdG9TdHJpbmdDb3VudCArPSAxOwotICB9Ci19OwotCi1hc3NlcnQuc2FtZVZh
bHVlKHR5cGVvZiBfX2xvb2t1cFNldHRlcl9fLCAnZnVuY3Rpb24nKTsKLQotYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBfX2xvb2t1cFNldHRlcl9fLmNhbGwodW5kZWZp
bmVkLCBrZXkpOwotfSwgJ3VuZGVmaW5lZCcpOwotCi1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
ZnVuY3Rpb24oKSB7Ci0gIF9fbG9va3VwU2V0dGVyX18uY2FsbChudWxsLCBrZXkpOwotfSwgJ251
bGwnKTsKLQotYXNzZXJ0LnNhbWVWYWx1ZSh0b1N0cmluZ0NvdW50LCAwKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9f
X3Byb3RvX18vZ2V0LWFicnVwdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWls
dC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vZ2V0LWFicnVwdC5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYjgzNTQxMGYxZTkzNWQyZTViODE0OTcxNDIwZWYyMzU2ZDNm
ZTU2My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90
b19fL2dldC1hYnJ1cHQuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi0vLyBDb3B5
cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMtb2JqZWN0LnByb3RvdHlwZS5fX3By
b3RvX18KLWVzNmlkOiBCLjIuMi4xCi1kZXNjcmlwdGlvbjogQWJydXB0IGNvbXBsZXRpb24gZnJv
bSBbW0dldFByb3RvdHlwZU9mXV0KLWluZm86IHwKLSAgICAxLiBMZXQgTyBiZSA/IFRvT2JqZWN0
KHRoaXMgdmFsdWUpLgotICAgIDIuIFJldHVybiA/IE8uW1tHZXRQcm90b3R5cGVPZl1dKCkuCi1m
ZWF0dXJlczogW1Byb3h5XQotLS0tKi8KLQotdmFyIGdldCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgJ19fcHJvdG9fXycpLmdldDsKLXZhciB0aHJv
d2VyID0gZnVuY3Rpb24oKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoKTsKLX07Ci0KLXZh
ciBzdWJqZWN0ID0gbmV3IFByb3h5KHt9LCB7IGdldFByb3RvdHlwZU9mOiB0aHJvd2VyIH0pOwot
Ci1hc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7Ci0gIGdldC5jYWxsKHN1
YmplY3QpOwotfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVp
bHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90b19fL2dldC1mbi1uYW1lLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fcHJvdG9f
Xy9nZXQtZm4tbmFtZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODYyYTk2MTAy
Yjk3MzU0MjNkNzk3MzhjMDk2ZTA5ZDBlNDE0NjE2Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQt
aW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90b19fL2dldC1mbi1uYW1lLmpzCisrKyAvZGV2L251
bGwKQEAgLTEsMjMgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDE1IHRoZSBWOCBwcm9qZWN0
IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXM2
aWQ6IEIuMi4yLjEuMQotZGVzY3JpcHRpb246ID4KLSAgICBnZXQgT2JqZWN0LnByb3RvdHlwZS5f
X3Byb3RvX18KLQotICAgIDE3IEVDTUFTY3JpcHQgU3RhbmRhcmQgQnVpbHQtaW4gT2JqZWN0cwot
Ci0gICAgRnVuY3Rpb25zIHRoYXQgYXJlIHNwZWNpZmllZCBhcyBnZXQgb3Igc2V0IGFjY2Vzc29y
IGZ1bmN0aW9ucyBvZiBidWlsdC1pbgotICAgIHByb3BlcnRpZXMgaGF2ZSAiZ2V0ICIgb3IgInNl
dCAiIHByZXBlbmRlZCB0byB0aGUgcHJvcGVydHkgbmFtZSBzdHJpbmcuCi0KLWluY2x1ZGVzOiBb
cHJvcGVydHlIZWxwZXIuanNdCi0tLS0qLwotCi12YXIgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgIl9fcHJvdG9fXyIpOwotCi12
ZXJpZnlQcm9wZXJ0eShkZXNjcmlwdG9yLmdldCwgIm5hbWUiLCB7Ci0gIGVudW1lcmFibGU6IGZh
bHNlLAotICB3cml0YWJsZTogZmFsc2UsCi0gIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKLSAgdmFsdWU6
ICJnZXQgX19wcm90b19fIgotfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9h
bm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90b19fL2dldC1vcmRpbmFyeS1v
YmouanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvX19wcm90b19fL2dldC1vcmRpbmFyeS1vYmouanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDhlZDAwNDQ1NWNiZmI1ODI3OGEyYjNjOWFjYzI0YjRjMjVmNjAxNDYuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fcHJvdG9fXy9nZXQtb3Jk
aW5hcnktb2JqLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotLy8gQ29weXJpZ2h0
IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0v
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLW9iamVjdC5wcm90b3R5cGUuX19wcm90b19f
Ci1lczZpZDogQi4yLjIuMQotZGVzY3JpcHRpb246IE5vcm1hbCBjb21wbGV0aW9uIGZyb20gb3Jk
aW5hcnkgb2JqZWN0J3MgW1tHZXRQcm90b3R5cGVPZl1dCi1pbmZvOiB8Ci0gICAgMS4gTGV0IE8g
YmUgPyBUb09iamVjdCh0aGlzIHZhbHVlKS4KLSAgICAyLiBSZXR1cm4gPyBPLltbR2V0UHJvdG90
eXBlT2ZdXSgpLgotLS0tKi8KLQotdmFyIGdldCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgJ19fcHJvdG9fXycpLmdldDsKLXZhciBwcm90byA9IHt9
OwotdmFyIHdpdGhDdXN0b21Qcm90byA9IE9iamVjdC5jcmVhdGUocHJvdG8pOwotdmFyIHdpdGhO
dWxsUHJvdG8gPSBPYmplY3QuY3JlYXRlKG51bGwpOwotCi1hc3NlcnQuc2FtZVZhbHVlKGdldC5j
YWxsKHt9KSwgT2JqZWN0LnByb3RvdHlwZSwgJ09yZGluYXJ5IG9iamVjdCcpOwotYXNzZXJ0LnNh
bWVWYWx1ZShnZXQuY2FsbCh3aXRoQ3VzdG9tUHJvdG8pLCBwcm90bywgJ2N1c3RvbSBwcm90b3R5
cGUgb2JqZWN0Jyk7Ci1hc3NlcnQuc2FtZVZhbHVlKGdldC5jYWxsKHdpdGhOdWxsUHJvdG8pLCBu
dWxsLCAnbnVsbCBwcm90b3R5cGUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vZ2V0LXRvLW9iai1h
YnJ1cHQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9w
cm90b3R5cGUvX19wcm90b19fL2dldC10by1vYmotYWJydXB0LmpzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBlMzBiNjBmMDcyMGZmNTc0ODA2NWI2ZjdiMWZiNzM1MGMxZGQwYmQ2Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vZ2V0
LXRvLW9iai1hYnJ1cHQuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi0vLyBDb3B5
cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMtb2JqZWN0LnByb3RvdHlwZS5fX3By
b3RvX18KLWVzNmlkOiBCLjIuMi4xCi1kZXNjcmlwdGlvbjogQWJydXB0IGNvbXBsZXRpb24gZnJv
bSBUb09iamVjdAotaW5mbzogfAotICAgIDEuIExldCBPIGJlID8gVG9PYmplY3QodGhpcyB2YWx1
ZSkuCi0tLS0qLwotCi12YXIgZ2V0ID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihP
YmplY3QucHJvdG90eXBlLCAnX19wcm90b19fJykuZ2V0OwotCi1hc3NlcnQuc2FtZVZhbHVlKHR5
cGVvZiBnZXQsICdmdW5jdGlvbicpOwotCi1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rp
b24oKSB7Ci0gIGdldC5jYWxsKHVuZGVmaW5lZCk7Ci19KTsKLQotYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsIGZ1bmN0aW9uKCkgewotICBnZXQuY2FsbChudWxsKTsKLX0pOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19f
cHJvdG9fXy9wcm9wLWRlc2MuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQt
aW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90b19fL3Byb3AtZGVzYy5qcwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggM2U4ZDE3MzM2ZmUzOTJjZTJhZGI3MGI3ZDMwNmUzMzMxNDlhMTJl
ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90b19f
L3Byb3AtZGVzYy5qcworKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLS8vIENvcHlyaWdo
dCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
Ly8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6IHNlYy1hZGRpdGlvbmFsLXByb3BlcnRpZXMtb2Yt
dGhlLW9iamVjdC5wcm90b3R5cGUtb2JqZWN0Ci1lczZpZDogQi4yLjIuMS4yCi1kZXNjcmlwdGlv
bjogUHJvcGVydHkgZGVzY3JpcHRvciBmb3IgT2JqZWN0LnByb3RvdHlwZS5fX3Byb3RvX18KLWlu
Zm86IHwKLSAgICBPYmplY3QucHJvdG90eXBlLl9fcHJvdG9fXyBpcyBhbiBhY2Nlc3NvciBwcm9w
ZXJ0eSB3aXRoIGF0dHJpYnV0ZXMgewotICAgIFtbRW51bWVyYWJsZV1dOiBmYWxzZSwgW1tDb25m
aWd1cmFibGVdXTogdHJ1ZSB9LiBUaGUgW1tHZXRdXSBhbmQgW1tTZXRdXQotICAgIGF0dHJpYnV0
ZXMgYXJlIGRlZmluZWQgYXMgZm9sbG93czoKLWluY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNd
Ci0tLS0qLwotCi12YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2Jq
ZWN0LnByb3RvdHlwZSwgJ19fcHJvdG9fXycpOwotCi1hc3NlcnQuc2FtZVZhbHVlKGRlc2MudmFs
dWUsIHVuZGVmaW5lZCwgJ2B2YWx1ZWAgcHJvcGVydHknKTsKLWFzc2VydC5zYW1lVmFsdWUodHlw
ZW9mIGRlc2MuZ2V0LCAnZnVuY3Rpb24nLCAnYGdldGAgcHJvcGVydHknKTsKLWFzc2VydC5zYW1l
VmFsdWUodHlwZW9mIGRlc2Muc2V0LCAnZnVuY3Rpb24nLCAnYHNldGAgcHJvcGVydHknKTsKLQot
dmVyaWZ5UHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIl9fcHJvdG9fXyIsIHsKLSAgZW51bWVy
YWJsZTogZmFsc2UsCi0gIGNvbmZpZ3VyYWJsZTogdHJ1ZQotfSk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90
b19fL3NldC1hYnJ1cHQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5z
L09iamVjdC9wcm90b3R5cGUvX19wcm90b19fL3NldC1hYnJ1cHQuanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDQ4NDY3NDk0N2Q4MTYyMGZjODY2NDMwYzQ5MzA0NjI3YmMwOGRjZDQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fcHJvdG9fXy9z
ZXQtYWJydXB0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotLy8gQ29weXJpZ2h0
IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0v
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLW9iamVjdC5wcm90b3R5cGUuX19wcm90b19f
Ci1lczZpZDogQi4yLjIuMQotZGVzY3JpcHRpb246IEFicnVwdCBjb21wbGV0aW9uIGZyb20gW1tT
ZXRQcm90b3R5cGVPZl1dCi1pbmZvOiB8Ci0gICAgWy4uLl0KLSAgICA0LiBMZXQgc3RhdHVzIGJl
ID8gTy5bW1NldFByb3RvdHlwZU9mXV0ocHJvdG8pLgotZmVhdHVyZXM6IFtQcm94eV0KLS0tLSov
Ci0KLXZhciB0aHJvd2VyID0gZnVuY3Rpb24oKSB7Ci0gIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
KTsKLX07Ci12YXIgc3ViamVjdCA9IG5ldyBQcm94eSh7fSwgeyBzZXRQcm90b3R5cGVPZjogdGhy
b3dlciB9KTsKLQotYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9uKCkgewotICBz
dWJqZWN0Ll9fcHJvdG9fXyA9IHt9OwotfSk7Ci0KLWFzc2VydC5zYW1lVmFsdWUoT2JqZWN0Lmdl
dFByb3RvdHlwZU9mKHN1YmplY3QpLCBPYmplY3QucHJvdG90eXBlKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3By
b3RvX18vc2V0LWN5Y2xlLXNoYWRvd2VkLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhC
L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fcHJvdG9fXy9zZXQtY3ljbGUtc2hhZG93ZWQu
anMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwM2E4NmVmODZlNDkyMjQ4ZmVmZGM4
Mzc5Y2ViNDdmNjI2YTQwNjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJv
dG90eXBlL19fcHJvdG9fXy9zZXQtY3ljbGUtc2hhZG93ZWQuanMKKysrIC9kZXYvbnVsbApAQCAt
MSwzNCArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9y
cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMt
b2JqZWN0LnByb3RvdHlwZS5fX3Byb3RvX18KLWVzNmlkOiBCLjIuMi4xCi1kZXNjcmlwdGlvbjog
PgotICAgIEN5Y2xlcyBhcmUgbm90IGRldGVjdGVkIHdoZW4gYSBQcm94eSBleG90aWMgb2JqZWN0
IGV4aXN0cyBpbiB0aGUgcHJvdG90eXBlCi0gICAgY2hhaW4KLWluZm86IHwKLSAgICBbLi4uXQot
ICAgIDQuIExldCBzdGF0dXMgYmUgPyBPLltbU2V0UHJvdG90eXBlT2ZdXShwcm90bykuCi0gICAg
NS4gSWYgc3RhdHVzIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCi0KLSAg
ICA5LjEuMi4xIE9yZGluYXJ5U2V0UHJvdG90eXBlT2YKLQotICAgIFsuLi5dCi0gICAgNi4gTGV0
IHAgYmUgVi4KLSAgICA3LiBMZXQgZG9uZSBiZSBmYWxzZS4KLSAgICA4LiBSZXBlYXQgd2hpbGUg
ZG9uZSBpcyBmYWxzZSwKLSAgICAgICBhLiBJZiBwIGlzIG51bGwsIGxldCBkb25lIGJlIHRydWUu
Ci0gICAgICAgYi4gRWxzZSBpZiBTYW1lVmFsdWUocCwgTykgaXMgdHJ1ZSwgcmV0dXJuIGZhbHNl
LgotICAgICAgIGMuIEVsc2UsCi0gICAgICAgICAgaS4gSWYgdGhlIFtbR2V0UHJvdG90eXBlT2Zd
XSBpbnRlcm5hbCBtZXRob2Qgb2YgcCBpcyBub3QgdGhlIG9yZGluYXJ5Ci0gICAgICAgICAgICAg
b2JqZWN0IGludGVybmFsIG1ldGhvZCBkZWZpbmVkIGluIDkuMS4xLCBsZXQgZG9uZSBiZSB0cnVl
LgotICAgICAgICAgIGlpLiBFbHNlLCBsZXQgcCBiZSB0aGUgdmFsdWUgb2YgcCdzIFtbUHJvdG90
eXBlXV0gaW50ZXJuYWwgc2xvdC4KLS0tLSovCi0KLXZhciByb290ID0ge307Ci12YXIgaW50ZXJt
ZWRpYXJ5ID0gbmV3IFByb3h5KE9iamVjdC5jcmVhdGUocm9vdCksIHt9KTsKLXZhciBsZWFmID0g
T2JqZWN0LmNyZWF0ZShpbnRlcm1lZGlhcnkpOwotCi1yb290Ll9fcHJvdG9fXyA9IGxlYWY7Ci0K
LWFzc2VydC5zYW1lVmFsdWUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHJvb3QpLCBsZWFmKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS9fX3Byb3RvX18vc2V0LWN5Y2xlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5u
ZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fcHJvdG9fXy9zZXQtY3ljbGUuanMKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM3MjFiYmQ5YzkyMDhlNWM1MmYzMDEwYTEyN2Y2
ODk3YWIyNTlmNGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBl
L19fcHJvdG9fXy9zZXQtY3ljbGUuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi0v
LyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMtb2JqZWN0LnByb3RvdHlw
ZS5fX3Byb3RvX18KLWVzNmlkOiBCLjIuMi4xCi1kZXNjcmlwdGlvbjogQ3ljbGUgZGV0ZWN0aW9u
Ci1pbmZvOiB8Ci0gICAgWy4uLl0KLSAgICA0LiBMZXQgc3RhdHVzIGJlID8gTy5bW1NldFByb3Rv
dHlwZU9mXV0ocHJvdG8pLgotICAgIDUuIElmIHN0YXR1cyBpcyBmYWxzZSwgdGhyb3cgYSBUeXBl
RXJyb3IgZXhjZXB0aW9uLgotCi0gICAgOS4xLjIuMSBPcmRpbmFyeVNldFByb3RvdHlwZU9mCi0K
LSAgICBbLi4uXQotICAgIDYuIExldCBwIGJlIFYuCi0gICAgNy4gTGV0IGRvbmUgYmUgZmFsc2Uu
Ci0gICAgOC4gUmVwZWF0IHdoaWxlIGRvbmUgaXMgZmFsc2UsCi0gICAgICAgYS4gSWYgcCBpcyBu
dWxsLCBsZXQgZG9uZSBiZSB0cnVlLgotICAgICAgIGIuIEVsc2UgaWYgU2FtZVZhbHVlKHAsIE8p
IGlzIHRydWUsIHJldHVybiBmYWxzZS4KLSAgICAgICBjLiBFbHNlLAotICAgICAgICAgIGkuIElm
IHRoZSBbW0dldFByb3RvdHlwZU9mXV0gaW50ZXJuYWwgbWV0aG9kIG9mIHAgaXMgbm90IHRoZSBv
cmRpbmFyeQotICAgICAgICAgICAgIG9iamVjdCBpbnRlcm5hbCBtZXRob2QgZGVmaW5lZCBpbiA5
LjEuMSwgbGV0IGRvbmUgYmUgdHJ1ZS4KLSAgICAgICAgICBpaS4gRWxzZSwgbGV0IHAgYmUgdGhl
IHZhbHVlIG9mIHAncyBbW1Byb3RvdHlwZV1dIGludGVybmFsIHNsb3QuCi0tLS0qLwotCi12YXIg
cm9vdCA9IHt9OwotdmFyIGludGVybWVkaWFyeSA9IE9iamVjdC5jcmVhdGUocm9vdCk7Ci12YXIg
bGVhZiA9IE9iamVjdC5jcmVhdGUoaW50ZXJtZWRpYXJ5KTsKLQotYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsIGZ1bmN0aW9uKCkgewotICByb290Ll9fcHJvdG9fXyA9IGxlYWY7Ci19KTsKLQotYXNz
ZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yocm9vdCksIE9iamVjdC5wcm90b3R5
cGUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9P
YmplY3QvcHJvdG90eXBlL19fcHJvdG9fXy9zZXQtZm4tbmFtZS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vc2V0LWZu
LW5hbWUuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY0YzI3ODJiYTBjMDk2ZjRm
NmFkYzYxN2Q2NGFiMjFkNmU0M2JmMDEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL19fcHJvdG9fXy9zZXQtZm4tbmFtZS5qcworKysgL2Rldi9udWxsCkBAIC0x
LDIzICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAxNSB0aGUgVjggcHJvamVjdCBhdXRob3Jz
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVzNmlkOiBCLjIu
Mi4xLjIKLWRlc2NyaXB0aW9uOiA+Ci0gICAgc2V0IE9iamVjdC5wcm90b3R5cGUuX19wcm90b19f
Ci0KLSAgICAxNyBFQ01BU2NyaXB0IFN0YW5kYXJkIEJ1aWx0LWluIE9iamVjdHMKLQotICAgIEZ1
bmN0aW9ucyB0aGF0IGFyZSBzcGVjaWZpZWQgYXMgZ2V0IG9yIHNldCBhY2Nlc3NvciBmdW5jdGlv
bnMgb2YgYnVpbHQtaW4KLSAgICBwcm9wZXJ0aWVzIGhhdmUgImdldCAiIG9yICJzZXQgIiBwcmVw
ZW5kZWQgdG8gdGhlIHByb3BlcnR5IG5hbWUgc3RyaW5nLgotCi1pbmNsdWRlczogW3Byb3BlcnR5
SGVscGVyLmpzXQotLS0tKi8KLQotdmFyIGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsICdfX3Byb3RvX18nKTsKLQotdmVyaWZ5UHJv
cGVydHkoZGVzY3JpcHRvci5zZXQsICJuYW1lIiwgewotICBlbnVtZXJhYmxlOiBmYWxzZSwKLSAg
d3JpdGFibGU6IGZhbHNlLAotICBjb25maWd1cmFibGU6IHRydWUsCi0gIHZhbHVlOiAic2V0IF9f
cHJvdG9fXyIKLX0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1
aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fcHJvdG9fXy9zZXQtaW1tdXRhYmxlLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fcHJv
dG9fXy9zZXQtaW1tdXRhYmxlLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiY2Vj
ODhhNDA5MmZmYTE2NDgyNmM1YmRiOWY0ZDgwODBhMGMxMGU5Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9i
dWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vc2V0LWltbXV0YWJsZS5qcworKysg
L2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjgg
cHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyot
LS0KLWVzaWQ6IHNlYy1vYmplY3QucHJvdG90eXBlLl9fcHJvdG9fXwotZGVzY3JpcHRpb246IENh
bGxlZCBvbiBhbiBpbW11dGFibGUgcHJvdG90eXBlIGV4b3RpYyBvYmplY3QKLWluZm86IHwKLSAg
ICBbLi4uXQotICAgIDQuIExldCBzdGF0dXMgYmUgPyBPLltbU2V0UHJvdG90eXBlT2ZdXShwcm90
bykuCi0gICAgNS4gSWYgc3RhdHVzIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRp
b24uCi0tLS0qLwotCi1PYmplY3QucHJvdG90eXBlLl9fcHJvdG9fXyA9IG51bGw7Ci0KLWFzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgT2JqZWN0LnByb3RvdHlwZS5fX3By
b3RvX18gPSB7fTsKLX0pOwotCi1hc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5cGVP
ZihPYmplY3QucHJvdG90eXBlKSwgbnVsbCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90b19fL3NldC1pbnZh
bGlkLXZhbHVlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL19fcHJvdG9fXy9zZXQtaW52YWxpZC12YWx1ZS5qcwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNzMzOTdhNGZhMjhhN2ExNjMwNTdlMjJlZjgwNTBjMWZkZmY1YzEy
ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90b19f
L3NldC1pbnZhbGlkLXZhbHVlLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotLy8g
Q29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLW9iamVjdC5wcm90b3R5cGUu
X19wcm90b19fCi1lczZpZDogQi4yLjIuMQotZGVzY3JpcHRpb246IENhbGxlZCB3aXRoIGEgdmFs
dWUgdGhhdCBpcyBuZWl0aGVyIGFuIE9iamVjdCBub3IgTnVsbAotaW5mbzogfAotICAgIDEuIExl
dCBPIGJlID8gUmVxdWlyZU9iamVjdENvZXJjaWJsZSh0aGlzIHZhbHVlKS4KLSAgICAyLiBJZiBU
eXBlKHByb3RvKSBpcyBuZWl0aGVyIE9iamVjdCBub3IgTnVsbCwgcmV0dXJuIHVuZGVmaW5lZC4K
LWZlYXR1cmVzOiBbU3ltYm9sXQotLS0tKi8KLQotdmFyIHNldCA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgJ19fcHJvdG9fXycpLnNldDsKLXZhciBz
dWJqZWN0ID0ge307Ci0KLWFzc2VydC5zYW1lVmFsdWUoc2V0LmNhbGwoc3ViamVjdCwgdHJ1ZSks
IHVuZGVmaW5lZCwgJ2Jvb2xlYW4nKTsKLWFzc2VydC5zYW1lVmFsdWUoCi0gIE9iamVjdC5nZXRQ
cm90b3R5cGVPZihzdWJqZWN0KSwgT2JqZWN0LnByb3RvdHlwZSwgJ2ZvbGxvd2luZyBib29sZWFu
JwotKTsKLQotYXNzZXJ0LnNhbWVWYWx1ZShzZXQuY2FsbChzdWJqZWN0LCAxKSwgdW5kZWZpbmVk
LCAnbnVtYmVyJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKAotICBPYmplY3QuZ2V0UHJvdG90eXBlT2Yo
c3ViamVjdCksIE9iamVjdC5wcm90b3R5cGUsICdmb2xsb3dpbmcgbnVtYmVyJwotKTsKLQotYXNz
ZXJ0LnNhbWVWYWx1ZShzZXQuY2FsbChzdWJqZWN0LCAnc3RyaW5nJyksIHVuZGVmaW5lZCwgJ3N0
cmluZycpOwotYXNzZXJ0LnNhbWVWYWx1ZSgKLSAgT2JqZWN0LmdldFByb3RvdHlwZU9mKHN1Ympl
Y3QpLCBPYmplY3QucHJvdG90eXBlLCAnZm9sbG93aW5nIHN0cmluZycKLSk7Ci0KLWFzc2VydC5z
YW1lVmFsdWUoc2V0LmNhbGwoc3ViamVjdCwgU3ltYm9sKCcnKSksIHVuZGVmaW5lZCwgJ3N5bWJv
bCcpOwotYXNzZXJ0LnNhbWVWYWx1ZSgKLSAgT2JqZWN0LmdldFByb3RvdHlwZU9mKHN1YmplY3Qp
LCBPYmplY3QucHJvdG90eXBlLCAnZm9sbG93aW5nIHN5bWJvbCcKLSk7Ci0KZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9f
X3Byb3RvX18vc2V0LW5vbi1leHRlbnNpYmxlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5u
ZXhCL2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fcHJvdG9fXy9zZXQtbm9uLWV4dGVuc2li
bGUuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE0MThhYzkyNDc2NTQ3ZTJhOGEy
ZGZkMDE1NTAzNzZmZWJiMWM3NmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3Qv
cHJvdG90eXBlL19fcHJvdG9fXy9zZXQtbm9uLWV4dGVuc2libGUuanMKKysrIC9kZXYvbnVsbApA
QCAtMSwzMiArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0
aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBz
ZWMtb2JqZWN0LnByb3RvdHlwZS5fX3Byb3RvX18KLWVzNmlkOiBCLjIuMi4xCi1kZXNjcmlwdGlv
bjogQ2FsbGVkIG9uIGFuIG5vbi1leHRlbnNpYmxlIG9iamVjdAotaW5mbzogfAotICAgIFsuLi5d
Ci0gICAgNC4gTGV0IHN0YXR1cyBiZSA/IE8uW1tTZXRQcm90b3R5cGVPZl1dKHByb3RvKS4KLSAg
ICA1LiBJZiBzdGF0dXMgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KLQot
ICAgIDkuMS4yLjEgT3JkaW5hcnlTZXRQcm90b3R5cGVPZgotCi0gICAgWy4uLl0KLSAgICAyLiBM
ZXQgZXh0ZW5zaWJsZSBiZSB0aGUgdmFsdWUgb2YgdGhlIFtbRXh0ZW5zaWJsZV1dIGludGVybmFs
IHNsb3Qgb2YgTy4KLSAgICAzLiBMZXQgY3VycmVudCBiZSB0aGUgdmFsdWUgb2YgdGhlIFtbUHJv
dG90eXBlXV0gaW50ZXJuYWwgc2xvdCBvZiBPLgotICAgIDQuIElmIFNhbWVWYWx1ZShWLCBjdXJy
ZW50KSBpcyB0cnVlLCByZXR1cm4gdHJ1ZS4KLSAgICA1LiBJZiBleHRlbnNpYmxlIGlzIGZhbHNl
LCByZXR1cm4gZmFsc2UuCi0tLS0qLwotCi12YXIgcHJvdG8gPSB7fTsKLXZhciBzdWJqZWN0ID0g
T2JqZWN0LmNyZWF0ZShwcm90byk7Ci0KLU9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhzdWJqZWN0
KTsKLQotc3ViamVjdC5fX3Byb3RvX18gPSBwcm90bzsKLQotYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsIGZ1bmN0aW9uKCkgewotICBzdWJqZWN0Ll9fcHJvdG9fXyA9IHt9OwotfSk7Ci0KLWFzc2Vy
dC5zYW1lVmFsdWUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHN1YmplY3QpLCBwcm90byk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvX19wcm90b19fL3NldC1ub24tb2JqLWNvZXJjaWJsZS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vc2V0LW5v
bi1vYmotY29lcmNpYmxlLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNmNkZTQ4
YTJiODY5OThjMWNiOWFiOGQ5N2IwNWM1ZjQzY2E2NjM0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWls
dC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vc2V0LW5vbi1vYmotY29lcmNpYmxlLmpz
CisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRo
ZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
Ci0vKi0tLQotZXNpZDogc2VjLW9iamVjdC5wcm90b3R5cGUuX19wcm90b19fCi1lczZpZDogQi4y
LjIuMQotZGVzY3JpcHRpb246IENhbGxlZCBvbiBhIHZhbHVlIHRoYXQgaXMgbm90IG9iamVjdC1j
b2VyY2libGUKLWluZm86IHwKLSAgICAxLiBMZXQgTyBiZSA/IFJlcXVpcmVPYmplY3RDb2VyY2li
bGUodGhpcyB2YWx1ZSkuCi0tLS0qLwotCi12YXIgc2V0ID0gT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihPYmplY3QucHJvdG90eXBlLCAnX19wcm90b19fJykuc2V0OwotCi1hc3NlcnQu
c2FtZVZhbHVlKHR5cGVvZiBzZXQsICdmdW5jdGlvbicpOwotCi1hc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgZnVuY3Rpb24oKSB7Ci0gIHNldC5jYWxsKHVuZGVmaW5lZCk7Ci19KTsKLQotYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBzZXQuY2FsbChudWxsKTsKLX0pOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmplY3Qv
cHJvdG90eXBlL19fcHJvdG9fXy9zZXQtbm9uLW9iamVjdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vc2V0LW5vbi1v
YmplY3QuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0NmM4YmUyYzc3MzNkNTIz
ZjQ2NTRiOGNiYjY0MWVmMmFhMTY4MjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL19fcHJvdG9fXy9zZXQtbm9uLW9iamVjdC5qcworKysgL2Rldi9udWxsCkBA
IC0xLDM1ICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRo
b3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6IHNl
Yy1vYmplY3QucHJvdG90eXBlLl9fcHJvdG9fXwotZXM2aWQ6IEIuMi4yLjEKLWRlc2NyaXB0aW9u
OiBDYWxsZWQgb24gYSB2YWx1ZSB0aGF0IGlzIG9iamVjdC1jb2VyY2libGUgYnV0IG5vdCBhbiBP
YmplY3QKLWluZm86IHwKLSAgICAxLiBMZXQgTyBiZSA/IFJlcXVpcmVPYmplY3RDb2VyY2libGUo
dGhpcyB2YWx1ZSkuCi0gICAgMi4gSWYgVHlwZShwcm90bykgaXMgbmVpdGhlciBPYmplY3Qgbm9y
IE51bGwsIHJldHVybiB1bmRlZmluZWQuCi0gICAgMy4gSWYgVHlwZShPKSBpcyBub3QgT2JqZWN0
LCByZXR1cm4gdW5kZWZpbmVkLgotZmVhdHVyZXM6IFtTeW1ib2xdCi0tLS0qLwotCi12YXIgc2V0
ID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QucHJvdG90eXBlLCAnX19w
cm90b19fJykuc2V0OwotdmFyIHN1YmplY3QgPSB7fTsKLQotYXNzZXJ0LnNhbWVWYWx1ZShzZXQu
Y2FsbCh0cnVlKSwgdW5kZWZpbmVkLCAnYm9vbGVhbicpOwotYXNzZXJ0LnNhbWVWYWx1ZSgKLSAg
T2JqZWN0LmdldFByb3RvdHlwZU9mKHN1YmplY3QpLCBPYmplY3QucHJvdG90eXBlLCAnZm9sbG93
aW5nIGJvb2xlYW4nCi0pOwotCi1hc3NlcnQuc2FtZVZhbHVlKHNldC5jYWxsKDEpLCB1bmRlZmlu
ZWQsICdudW1iZXInKTsKLWFzc2VydC5zYW1lVmFsdWUoCi0gIE9iamVjdC5nZXRQcm90b3R5cGVP
ZihzdWJqZWN0KSwgT2JqZWN0LnByb3RvdHlwZSwgJ2ZvbGxvd2luZyBudW1iZXInCi0pOwotCi1h
c3NlcnQuc2FtZVZhbHVlKHNldC5jYWxsKCdzdHJpbmcnKSwgdW5kZWZpbmVkLCAnc3RyaW5nJyk7
Ci1hc3NlcnQuc2FtZVZhbHVlKAotICBPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc3ViamVjdCksIE9i
amVjdC5wcm90b3R5cGUsICdmb2xsb3dpbmcgc3RyaW5nJwotKTsKLQotYXNzZXJ0LnNhbWVWYWx1
ZShzZXQuY2FsbChTeW1ib2woJycpKSwgdW5kZWZpbmVkLCAnc3ltYm9sJyk7Ci1hc3NlcnQuc2Ft
ZVZhbHVlKAotICBPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc3ViamVjdCksIE9iamVjdC5wcm90b3R5
cGUsICdmb2xsb3dpbmcgc3ltYm9sJwotKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vc2V0LW9yZGlu
YXJ5LW9iai5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvT2JqZWN0
L3Byb3RvdHlwZS9fX3Byb3RvX18vc2V0LW9yZGluYXJ5LW9iai5qcwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYzc1M2M2NmE2NTM0Zjc5Yjg2MDg0Y2Y1OWViNDdhNmI4MzNhNWZmZC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90b19fL3Nl
dC1vcmRpbmFyeS1vYmouanMKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi0vLyBDb3B5
cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lkOiBzZWMtb2JqZWN0LnByb3RvdHlwZS5fX3By
b3RvX18KLWVzNmlkOiBCLjIuMi4xCi1kZXNjcmlwdGlvbjogU2V0dGluZyB2YWxpZCB2YWx1ZSBv
biBhbiBvcmRpbmFyeSBvYmplY3QKLWluZm86IHwKLSAgICBbLi4uXQotICAgIDQuIExldCBzdGF0
dXMgYmUgPyBPLltbU2V0UHJvdG90eXBlT2ZdXShwcm90bykuCi0gICAgNS4gSWYgc3RhdHVzIGlz
IGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCi0gICAgNi4gUmV0dXJuIHVuZGVm
aW5lZC4KLS0tLSovCi0KLXZhciBzZXQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KE9iamVjdC5wcm90b3R5cGUsICdfX3Byb3RvX18nKS5zZXQ7Ci12YXIgcHJvdG8gPSB7fTsKLXZh
ciBzdWJqZWN0ID0ge307Ci0KLWFzc2VydC5zYW1lVmFsdWUoc2V0LmNhbGwoc3ViamVjdCwgcHJv
dG8pLCB1bmRlZmluZWQpOwotYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yo
c3ViamVjdCksIHByb3RvKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4
Qi9idWlsdC1pbnMvUHJveHkvc2V0L2NhbGwtcGFyYW1ldGVycy1wcm90b3R5cGUtZHVuZGVyLXBy
b3RvLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9Qcm94eS9zZXQv
Y2FsbC1wYXJhbWV0ZXJzLXByb3RvdHlwZS1kdW5kZXItcHJvdG8uanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDVmMGZiYmQ2OWM5ODZhMWJiZjQ4NDAzYzU1NjVmZjUxNWJmM2M2OGYu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9Qcm94eS9zZXQvY2FsbC1wYXJhbWV0ZXJzLXBy
b3RvdHlwZS1kdW5kZXItcHJvdG8uanMKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi0v
LyBDb3B5cmlnaHQgKEMpIDIwMTkgQWxleGV5IFNodmF5a2EuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLXByb3h5LW9iamVjdC1pbnRlcm5hbC1t
ZXRob2RzLWFuZC1pbnRlcm5hbC1zbG90cy1zZXQtcC12LXJlY2VpdmVyCi1kZXNjcmlwdGlvbjog
PgotICBPcmRpbmFyeSBbW1NldF1dIGZvcndhcmRzIGNhbGwgdG8gUHJveHkgInNldCIgdHJhcCB3
aXRoIGNvcnJlY3QgYXJndW1lbnRzLgotICBQcm9wZXJ0eSBuYW1lIGlzICJfX3Byb3RvX18iLgot
aW5mbzogfAotICBPcmRpbmFyeVNldCAoIE8sIFAsIFYsIFJlY2VpdmVyICkKLQotICAuLi4KLSAg
My4gUmV0dXJuIE9yZGluYXJ5U2V0V2l0aE93bkRlc2NyaXB0b3IoTywgUCwgViwgUmVjZWl2ZXIs
IG93bkRlc2MpLgotCi0gIE9yZGluYXJ5U2V0V2l0aE93bkRlc2NyaXB0b3IgKCBPLCBQLCBWLCBS
ZWNlaXZlciwgb3duRGVzYyApCi0KLSAgLi4uCi0gIDIuIElmIG93bkRlc2MgaXMgdW5kZWZpbmVk
LCB0aGVuCi0gICAgYS4gTGV0IHBhcmVudCBiZSA/IE8uW1tHZXRQcm90b3R5cGVPZl1dKCkuCi0g
ICAgYi4gSWYgcGFyZW50IGlzIG5vdCBudWxsLCB0aGVuCi0gICAgICBpLiBSZXR1cm4gPyBwYXJl
bnQuW1tTZXRdXShQLCBWLCBSZWNlaXZlcikuCi0KLSAgW1tTZXRdXSAoIFAsIFYsIFJlY2VpdmVy
ICkKLQotICAuLi4KLSAgOC4gTGV0IGJvb2xlYW5UcmFwUmVzdWx0IGJlICEgVG9Cb29sZWFuKD8g
Q2FsbCh0cmFwLCBoYW5kbGVyLCDCqyB0YXJnZXQsIFAsIFYsIFJlY2VpdmVyIMK7KSkuCi0gIC4u
LgotICAxMi4gUmV0dXJuIHRydWUuCi1pbmNsdWRlczogW3Byb3h5VHJhcHNIZWxwZXIuanNdCi1m
ZWF0dXJlczogW1Byb3h5XQotLS0tKi8KLQotdmFyIF9oYW5kbGVyLCBfdGFyZ2V0LCBfcHJvcCwg
X3ZhbHVlLCBfcmVjZWl2ZXI7Ci12YXIgdGFyZ2V0ID0ge307Ci12YXIgaGFuZGxlciA9IGFsbG93
UHJveHlUcmFwcyh7Ci0gIHNldDogZnVuY3Rpb24odGFyZ2V0LCBwcm9wLCB2YWx1ZSwgcmVjZWl2
ZXIpIHsKLSAgICBfaGFuZGxlciA9IHRoaXM7Ci0gICAgX3RhcmdldCA9IHRhcmdldDsKLSAgICBf
cHJvcCA9IHByb3A7Ci0gICAgX3ZhbHVlID0gdmFsdWU7Ci0gICAgX3JlY2VpdmVyID0gcmVjZWl2
ZXI7Ci0gICAgcmV0dXJuIHRydWU7Ci0gIH0sCi19KTsKLQotdmFyIHByb3h5ID0gbmV3IFByb3h5
KHRhcmdldCwgaGFuZGxlcik7Ci12YXIgcmVjZWl2ZXIgPSBPYmplY3QuY3JlYXRlKHByb3h5KTsK
LXZhciBwcm9wID0gJ19fcHJvdG9fXyc7Ci12YXIgdmFsdWUgPSB7fTsKLQotcmVjZWl2ZXJbcHJv
cF0gPSB2YWx1ZTsKLQotYXNzZXJ0LnNhbWVWYWx1ZShfaGFuZGxlciwgaGFuZGxlciwgJ2hhbmRs
ZXIgb2JqZWN0IGlzIHRoZSB0cmFwIGNvbnRleHQnKTsKLWFzc2VydC5zYW1lVmFsdWUoX3Rhcmdl
dCwgdGFyZ2V0LCAnZmlyc3QgYXJndW1lbnQgaXMgdGhlIHRhcmdldCBvYmplY3QnKTsKLWFzc2Vy
dC5zYW1lVmFsdWUoX3Byb3AsIHByb3AsICdzZWNvbmQgYXJndW1lbnQgaXMgdGhlIHByb3BlcnR5
IG5hbWUnKTsKLWFzc2VydC5zYW1lVmFsdWUoX3ZhbHVlLCB2YWx1ZSwgJ3RoaXJkIGFyZ3VtZW50
IGlzIHRoZSBuZXcgdmFsdWUnKTsKLWFzc2VydC5zYW1lVmFsdWUoX3JlY2VpdmVyLCByZWNlaXZl
ciwgJ2ZvdXJ0aCBhcmd1bWVudCBpcyB0aGUgcmVjZWl2ZXIgb2JqZWN0Jyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRp
Y2VzL2luZGljZXMtZ3JvdXBzLW9iamVjdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4
Qi9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMvaW5kaWNlcy1ncm91cHMtb2JqZWN0Lmpz
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MGMxNmM4YjQxODkyOWE1YzNlYzg2N2Jh
Yjc2YmVjMGIzZDQ5ZTI4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvUmVnRXhwL21hdGNo
LWluZGljZXMvaW5kaWNlcy1ncm91cHMtb2JqZWN0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjIg
KzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTkgUm9uIEJ1Y2t0b24uIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1kZXNjcmlwdGlvbjogVGhlIGdyb3VwcyBvYmpl
Y3Qgb2YgaW5kaWNlcyBpcyBjcmVhdGVkIHdpdGggQ3JlYXRlRGF0YVByb3BlcnR5Ci1pbmNsdWRl
czogW2NvbXBhcmVBcnJheS5qc10KLWVzaWQ6IHNlYy1tYWtlaW5kaWNlc2FycmF5Ci1mZWF0dXJl
czogW3JlZ2V4cC1uYW1lZC1ncm91cHMsIHJlZ2V4cC1tYXRjaC1pbmRpY2VzXQotaW5mbzogfAot
ICBNYWtlSW5kaWNlc0FycmF5ICggUywgaW5kaWNlcywgZ3JvdXBOYW1lcyApCi0gICAgOC4gSWYg
X2dyb3VwTmFtZXNfIGlzIG5vdCAqdW5kZWZpbmVkKiwgdGhlbgotICAgICAgYS4gTGV0IF9ncm91
cHNfIGJlICEgT2JqZWN0Q3JlYXRlKCpudWxsKikuCi0gICAgOS4gRWxzZSwKLSAgICAgIGEuIExl
dCBfZ3JvdXBzXyBiZSAqdW5kZWZpbmVkKi4KLSAgICAxMC4gUGVyZm9ybSAhIENyZWF0ZURhdGFQ
cm9wZXJ0eShfQV8sIGAiZ3JvdXBzImAsIF9ncm91cHNfKS4KLS0tLSovCi0KLS8vIFRoZSBgX19w
cm90b19fYCBwcm9wZXJ0eSBvbiB0aGUgZ3JvdXBzIG9iamVjdCBpcyBub3Qgc3BlY2lhbCwKLS8v
IGFuZCBkb2VzIG5vdCBhZmZlY3QgdGhlIFtbUHJvdG90eXBlXV0gb2YgdGhlIHJlc3VsdGluZyBn
cm91cHMgb2JqZWN0LgotbGV0IHtncm91cHN9ID0gLyg/PF9fcHJvdG9fXz4uKS8uZXhlYygiYSIp
LmluZGljZXM7Ci1hc3NlcnQuY29tcGFyZUFycmF5KFswLCAxXSwgZ3JvdXBzLl9fcHJvdG9fXyk7
Ci1hc3NlcnQuc2FtZVZhbHVlKG51bGwsIE9iamVjdC5nZXRQcm90b3R5cGVPZihncm91cHMpKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvUmVnRXhw
L25hbWVkLWdyb3Vwcy9ncm91cHMtb2JqZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5u
ZXhCL2J1aWx0LWlucy9SZWdFeHAvbmFtZWQtZ3JvdXBzL2dyb3Vwcy1vYmplY3QuanMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgwZWIwY2QyN2YyM2FhMmIwMWE2NDZmM2JlNDIyNTA2
OGZlZGZhZDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9SZWdFeHAvbmFtZWQtZ3JvdXBz
L2dyb3Vwcy1vYmplY3QuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi0vLyBDb3B5
cmlnaHQgMjAxNyBBbGVrc2V5IFNodmF5a2EuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlz
IGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuCi0KLS8qLS0tCi1kZXNjcmlwdGlvbjogUHJvcGVydGllcyBvZiB0aGUgZ3JvdXBzIG9i
amVjdCBhcmUgY3JlYXRlZCB3aXRoIENyZWF0ZURhdGFQcm9wZXJ0eQotZXNpZDogc2VjLXJlZ2V4
cGJ1aWx0aW5leGVjCi1mZWF0dXJlczogW3JlZ2V4cC1uYW1lZC1ncm91cHNdCi1pbmZvOiB8Ci0g
IFJ1bnRpbWUgU2VtYW50aWNzOiBSZWdFeHBCdWlsdGluRXhlYyAoIFIsIFMgKQotICAgIDI0LiBJ
ZiBfUl8gY29udGFpbnMgYW55IHxHcm91cE5hbWV8LCB0aGVuCi0gICAgICBhLiBMZXQgX2dyb3Vw
c18gYmUgT2JqZWN0Q3JlYXRlKCpudWxsKikuCi0gICAgMjUuIEVsc2UsCi0gICAgICBhLiBMZXQg
X2dyb3Vwc18gYmUgKnVuZGVmaW5lZCouCi0gICAgMjYuIFBlcmZvcm0gISBDcmVhdGVEYXRhUHJv
cGVydHkoX0FfLCBgImdyb3VwcyJgLCBfZ3JvdXBzXykuCi0tLS0qLwotCi0vLyBUaGUgYF9fcHJv
dG9fX2AgcHJvcGVydHkgb24gdGhlIGdyb3VwcyBvYmplY3QgaXMgbm90IHNwZWNpYWwsCi0vLyBh
bmQgZG9lcyBub3QgYWZmZWN0IHRoZSBbW1Byb3RvdHlwZV1dIG9mIHRoZSByZXN1bHRpbmcgZ3Jv
dXBzIG9iamVjdC4KLWxldCB7Z3JvdXBzfSA9IC8oPzxfX3Byb3RvX18+LikvLmV4ZWMoImEiKTsK
LWFzc2VydC5zYW1lVmFsdWUoImEiLCBncm91cHMuX19wcm90b19fKTsKLWFzc2VydC5zYW1lVmFs
dWUobnVsbCwgT2JqZWN0LmdldFByb3RvdHlwZU9mKGdyb3VwcykpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL2FuY2hv
ci9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWls
dC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9hbmNob3Ivbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uY2RjMWRkOWVjZmNhYjUxN2U5NDA3NmMxZDU3YjE4NmViZjJjYWM0ZAotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvU3RyaW5nL3By
b3RvdHlwZS9hbmNob3Ivbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMiBAQAorLy8g
Q29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0
LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFN0cmluZy5wcm90b3R5cGUuYW5jaG9yIGRv
ZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwK
KyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2Jq
ZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGlt
cGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lz
ZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlv
bi4KKworICBzZWMtZXZhbHVhdGVuZXcKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29u
c3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgor
aW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVj
dCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0
cnVjdG9yKFN0cmluZy5wcm90b3R5cGUuYW5jaG9yKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVj
dG9yKFN0cmluZy5wcm90b3R5cGUuYW5jaG9yKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fz
c2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBTdHJpbmcucHJvdG90eXBlLmFu
Y2hvcigpOworfSwgJ2BuZXcgU3RyaW5nLnByb3RvdHlwZS5hbmNob3IoKWAgdGhyb3dzIFR5cGVF
cnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQt
aW5zL1N0cmluZy9wcm90b3R5cGUvYmlnL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL2JpZy9ub3QtYS1j
b25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45Y2ZkNGYyMmRkOGQxYjRiZjJmZDFmNGNhNzM5OWEx
NDU3NTRkMjIxCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhC
L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL2JpZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAt
MCwwICsxLDI4IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5z
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3Jp
cHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgU3RyaW5nLnBy
b3RvdHlwZS5iaWcgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXct
YWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1p
biBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9y
cyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1
bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0
aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworICAuLi4KKyAgNy4gSWYgSXND
b25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2Vw
dGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1Jl
ZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFs
dWUoaXNDb25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLmJpZyksIGZhbHNlLCAnaXNDb25zdHJ1
Y3RvcihTdHJpbmcucHJvdG90eXBlLmJpZykgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IFN0cmluZy5wcm90b3R5cGUuYmlnKCk7
Cit9LCAnYG5ldyBTdHJpbmcucHJvdG90eXBlLmJpZygpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvU3RyaW5n
L3Byb3RvdHlwZS9ibGluay9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2FubmV4Qi9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9ibGluay9ub3QtYS1jb25zdHJ1
Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42M2FiOWViNTdiZDQ4N2U2OWIzZjAzNGU4OTA0MmQxMTAxY2Q2
M2E0Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0
LWlucy9TdHJpbmcvcHJvdG90eXBlL2JsaW5rL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAg
KzEsMzIgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1z
dGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBTdHJpbmcucHJvdG90
eXBlLmJsaW5rIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFi
bGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4g
ZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMg
ZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5s
ZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGlj
dWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKyAgLi4uCisgIDcuIElmIElzQ29u
c3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRp
b24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZs
ZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVl
KAorICBpc0NvbnN0cnVjdG9yKFN0cmluZy5wcm90b3R5cGUuYmxpbmspLAorICBmYWxzZSwKKyAg
J2lzQ29uc3RydWN0b3IoU3RyaW5nLnByb3RvdHlwZS5ibGluaykgbXVzdCByZXR1cm4gZmFsc2Un
CispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgU3RyaW5nLnBy
b3RvdHlwZS5ibGluaygpOworfSwgJ2BuZXcgU3RyaW5nLnByb3RvdHlwZS5ibGluaygpYCB0aHJv
d3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4
Qi9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9ib2xkL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL2Jv
bGQvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDE2ZWEyOGQ5ZDc3YjcyMTBjMzVh
M2FhZjA2MmQ3M2MwMmY0YmIyMwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2FubmV4Qi9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9ib2xkL25vdC1hLWNvbnN0cnVj
dG9yLmpzCkBAIC0wLDAgKzEsMzIgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRy
b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBz
ZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgor
ICBTdHJpbmcucHJvdG90eXBlLmJvbGQgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0s
IGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMK
KworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFz
IGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVy
bmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRp
b24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworICAuLi4K
KyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlw
ZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitm
ZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoU3RyaW5nLnByb3RvdHlwZS5ib2xkKSwK
KyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKFN0cmluZy5wcm90b3R5cGUuYm9sZCkgbXVzdCBy
ZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBu
ZXcgU3RyaW5nLnByb3RvdHlwZS5ib2xkKCk7Cit9LCAnYG5ldyBTdHJpbmcucHJvdG90eXBlLmJv
bGQoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9hbm5leEIvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvZml4ZWQvbm90LWEtY29uc3Ry
dWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL1N0cmluZy9w
cm90b3R5cGUvZml4ZWQvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGQwOGQyOGEx
ZGFjNzc5ZmI2N2ZkZWFjZjNlYjFkZWIwOTVjMTBkNQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9maXhlZC9u
b3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMyIEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisv
Ki0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVz
Y3JpcHRpb246ID4KKyAgU3RyaW5nLnByb3RvdHlwZS5maXhlZCBkb2VzIG5vdCBpbXBsZW1lbnQg
W1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVu
Y3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90
IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29u
c3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisg
IHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1
YXRlbmV3CisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxz
ZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25z
dHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9u
XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihTdHJpbmcucHJv
dG90eXBlLmZpeGVkKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKFN0cmluZy5wcm90b3R5
cGUuZml4ZWQpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsICgpID0+IHsKKyAgbmV3IFN0cmluZy5wcm90b3R5cGUuZml4ZWQoKTsKK30sICdgbmV3IFN0
cmluZy5wcm90b3R5cGUuZml4ZWQoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUv
Zm9udGNvbG9yL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5u
ZXhCL2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL2ZvbnRjb2xvci9ub3QtYS1jb25zdHJ1Y3Rv
ci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yODA1NTc2Y2Y1Mzc4ZGFhYTFjMTI2YTA1NjM3N2U1YzEwN2Y0ZGMw
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlu
cy9TdHJpbmcvcHJvdG90eXBlL2ZvbnRjb2xvci9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCww
ICsxLDMyIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQt
c3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgU3RyaW5nLnByb3Rv
dHlwZS5mb250Y29sb3IgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBu
ZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWls
dC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVj
dG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhv
ZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBw
YXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworICAuLi4KKyAgNy4gSWYg
SXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4
Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczog
W1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIGlzQ29uc3RydWN0b3IoU3RyaW5nLnByb3RvdHlwZS5mb250Y29sb3IpLAorICBm
YWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoU3RyaW5nLnByb3RvdHlwZS5mb250Y29sb3IpIG11c3Qg
cmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAg
bmV3IFN0cmluZy5wcm90b3R5cGUuZm9udGNvbG9yKCk7Cit9LCAnYG5ldyBTdHJpbmcucHJvdG90
eXBlLmZvbnRjb2xvcigpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9mb250c2l6
ZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWls
dC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9mb250c2l6ZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wOGE3Y2M2NzlkMDRiNDU3YzU1MTMxYzk3MDM4ZjBmZDhlZWZiZTJjCi0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9TdHJpbmcv
cHJvdG90eXBlL2ZvbnRzaXplL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzIgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1i
dWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBTdHJpbmcucHJvdG90eXBlLmZvbnRz
aXplIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2lu
Zm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rp
b24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90
CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90
aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBm
dW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0
b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisg
IC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNv
bnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBp
c0NvbnN0cnVjdG9yKFN0cmluZy5wcm90b3R5cGUuZm9udHNpemUpLAorICBmYWxzZSwKKyAgJ2lz
Q29uc3RydWN0b3IoU3RyaW5nLnByb3RvdHlwZS5mb250c2l6ZSkgbXVzdCByZXR1cm4gZmFsc2Un
CispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgU3RyaW5nLnBy
b3RvdHlwZS5mb250c2l6ZSgpOworfSwgJ2BuZXcgU3RyaW5nLnByb3RvdHlwZS5mb250c2l6ZSgp
YCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2FubmV4Qi9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9pdGFsaWNzL25vdC1hLWNvbnN0cnVj
dG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL2l0YWxpY3Mvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjI2ZGZhNDRm
N2Y2ODZjNjJkYTkyYWQ1YWYxMTdhMjMxZmE1YzE5ZAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9pdGFsaWNz
L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzIgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMg
Z292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisK
Ky8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitk
ZXNjcmlwdGlvbjogPgorICBTdHJpbmcucHJvdG90eXBlLml0YWxpY3MgZG9lcyBub3QgaW1wbGVt
ZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0
IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJl
IG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBb
W0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBp
bgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1l
dmFsdWF0ZW5ldworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMg
ZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lz
Q29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5j
dGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoU3RyaW5n
LnByb3RvdHlwZS5pdGFsaWNzKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKFN0cmluZy5w
cm90b3R5cGUuaXRhbGljcykgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dz
KFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgU3RyaW5nLnByb3RvdHlwZS5pdGFsaWNzKCk7Cit9
LCAnYG5ldyBTdHJpbmcucHJvdG90eXBlLml0YWxpY3MoKWAgdGhyb3dzIFR5cGVFcnJvcicpOwor
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL1N0cmlu
Zy9wcm90b3R5cGUvbGluay9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2FubmV4Qi9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9saW5rL25vdC1hLWNvbnN0cnVj
dG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY1MjQyMGRkOTdjNjc5OGQ1ZDJhYjVmYWZjYjE5YmYxZmEyODM4
MmIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQt
aW5zL1N0cmluZy9wcm90b3R5cGUvbGluay9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsx
LDMyIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3Rh
bmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgU3RyaW5nLnByb3RvdHlw
ZS5saW5rIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUK
K2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVu
Y3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8g
bm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNz
IG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxh
ciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKyAgLi4uCisgIDcuIElmIElzQ29uc3Ry
dWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24u
CisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0
LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAor
ICBpc0NvbnN0cnVjdG9yKFN0cmluZy5wcm90b3R5cGUubGluayksCisgIGZhbHNlLAorICAnaXND
b25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLmxpbmspIG11c3QgcmV0dXJuIGZhbHNlJworKTsK
KworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IFN0cmluZy5wcm90b3R5
cGUubGluaygpOworfSwgJ2BuZXcgU3RyaW5nLnByb3RvdHlwZS5saW5rKClgIHRocm93cyBUeXBl
RXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0
LWlucy9TdHJpbmcvcHJvdG90eXBlL3NtYWxsL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NtYWxsL25v
dC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmNmVkMjQ1YTVhOTlhNzEzNGY3ZWI3MzY2
MDI2ZTAyN2FmMjY2MmUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9h
bm5leEIvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc21hbGwvbm90LWEtY29uc3RydWN0b3Iu
anMKQEAgLTAsMCArMSwzMiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1l
Y21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFN0
cmluZy5wcm90b3R5cGUuc21hbGwgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlz
IG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKwor
ICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNv
bnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFs
IG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24g
b2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworICAuLi4KKyAg
Ny4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVy
cm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0
dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoU3RyaW5nLnByb3RvdHlwZS5zbWFsbCksCisg
IGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLnNtYWxsKSBtdXN0IHJl
dHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5l
dyBTdHJpbmcucHJvdG90eXBlLnNtYWxsKCk7Cit9LCAnYG5ldyBTdHJpbmcucHJvdG90eXBlLnNt
YWxsKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3N0cmlrZS9ub3QtYS1jb25z
dHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvU3RyaW5n
L3Byb3RvdHlwZS9zdHJpa2Uvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzAzZjdh
NjM3MGU2NGJhNTE1MjRhNTE1ODI0ZDk5ZjhmZWEzMmVkMQotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zdHJp
a2Uvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMiBAQAorLy8gQ29weXJpZ2h0IChD
KSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
KworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMK
K2Rlc2NyaXB0aW9uOiA+CisgIFN0cmluZy5wcm90b3R5cGUuc3RyaWtlIGRvZXMgbm90IGltcGxl
bWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlw
dCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFy
ZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUg
W1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQg
aW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMt
ZXZhbHVhdGVuZXcKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlz
IGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtp
c0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVu
Y3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKFN0cmlu
Zy5wcm90b3R5cGUuc3RyaWtlKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKFN0cmluZy5w
cm90b3R5cGUuc3RyaWtlKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3Mo
VHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBTdHJpbmcucHJvdG90eXBlLnN0cmlrZSgpOworfSwg
J2BuZXcgU3RyaW5nLnByb3RvdHlwZS5zdHJpa2UoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL1N0cmluZy9w
cm90b3R5cGUvc3ViL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YW5uZXhCL2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3N1Yi9ub3QtYS1jb25zdHJ1Y3Rvci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45ZTYxZTA2OTk2NGI4ODg3ZGU0MTI2ZmIzODQ4ZmM0NGRjZmM1MjQ4Ci0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy9T
dHJpbmcvcHJvdG90eXBlL3N1Yi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI4IEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQt
YnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgU3RyaW5nLnByb3RvdHlwZS5zdWIg
ZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzog
fAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBv
YmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAg
aW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3
aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0
aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihj
b25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4u
CitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3Ry
dWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1
Y3RvcihTdHJpbmcucHJvdG90eXBlLnN1YiksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihTdHJpbmcu
cHJvdG90eXBlLnN1YikgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsICgpID0+IHsKKyAgbmV3IFN0cmluZy5wcm90b3R5cGUuc3ViKCk7Cit9LCAnYG5ldyBT
dHJpbmcucHJvdG90eXBlLnN1YigpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9z
dWJzdHIvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIv
YnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3Vic3RyL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU1ZWNmNDA0NjU2ZGJmODE5OTg0MzEyZjA3YjVjYjQ3OGFhNzcyYTgKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL1N0cmlu
Zy9wcm90b3R5cGUvc3Vic3RyL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzIgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1i
dWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBTdHJpbmcucHJvdG90eXBlLnN1YnN0
ciBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZv
OiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9u
IG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAor
ICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhl
cndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVu
Y3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9y
KGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAu
Li4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25z
dHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXND
b25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLnN1YnN0ciksCisgIGZhbHNlLAorICAnaXNDb25z
dHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLnN1YnN0cikgbXVzdCByZXR1cm4gZmFsc2UnCispOwor
Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgU3RyaW5nLnByb3RvdHlw
ZS5zdWJzdHIoKTsKK30sICdgbmV3IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyKClgIHRocm93cyBU
eXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1
aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3N1cC9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zdXAvbm90
LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWEyZmFhOTY1ZDk4NWJjMTMzMDM1MmE3NzUw
N2M4YTVhOGQxYTU2NQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2Fu
bmV4Qi9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zdXAvbm90LWEtY29uc3RydWN0b3IuanMK
QEAgLTAsMCArMSwyOCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21h
c2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFN0cmlu
Zy5wcm90b3R5cGUuc3VwIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3Qg
bmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVp
bHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1
Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRo
b2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEg
cGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKyAgLi4uCisgIDcuIElm
IElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBl
eGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6
IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2Ft
ZVZhbHVlKGlzQ29uc3RydWN0b3IoU3RyaW5nLnByb3RvdHlwZS5zdXApLCBmYWxzZSwgJ2lzQ29u
c3RydWN0b3IoU3RyaW5nLnByb3RvdHlwZS5zdXApIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fz
c2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBTdHJpbmcucHJvdG90eXBlLnN1
cCgpOworfSwgJ2BuZXcgU3RyaW5nLnByb3RvdHlwZS5zdXAoKWAgdGhyb3dzIFR5cGVFcnJvcicp
OworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL2Vz
Y2FwZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9i
dWlsdC1pbnMvZXNjYXBlL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzODljYzAx
OTFmNmI3YjRmMjc2NmYyOWNiOWJjZjA0NWQ2YWZjM2IKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvYnVpbHQtaW5zL2VzY2FwZS9ub3QtYS1jb25zdHJ1Y3Rv
ci5qcwpAQCAtMCwwICsxLDI4IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9u
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2Vj
LWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAg
ZXNjYXBlIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUK
K2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVu
Y3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8g
bm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNz
IG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxh
ciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKyAgLi4uCisgIDcuIElmIElzQ29uc3Ry
dWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24u
CisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0
LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlz
Q29uc3RydWN0b3IoZXNjYXBlKSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKGVzY2FwZSkgbXVzdCBy
ZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3
IGVzY2FwZSgnJyk7Cit9LCAnYG5ldyBlc2NhcGUoXCdcJylgIHRocm93cyBUeXBlRXJyb3InKTsK
KwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2J1aWx0LWlucy91bmVz
Y2FwZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9i
dWlsdC1pbnMvdW5lc2NhcGUvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmI5MDcw
YWFhYTcyMzM5MmFjZDMxYmJjMzUwNzdmYjdiNWM4Njk2ZAotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9idWlsdC1pbnMvdW5lc2NhcGUvbm90LWEtY29uc3Ry
dWN0b3IuanMKQEAgLTAsMCArMSwyOCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2Fs
ZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6
IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+
CisgIHVuZXNjYXBlIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3
LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQt
aW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3Rv
cnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2Qg
dW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFy
dGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKyAgLi4uCisgIDcuIElmIElz
Q29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNl
cHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtS
ZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZh
bHVlKGlzQ29uc3RydWN0b3IodW5lc2NhcGUpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IodW5lc2Nh
cGUpIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9
PiB7CisgIG5ldyB1bmVzY2FwZSgnJyk7Cit9LCAnYG5ldyB1bmVzY2FwZShcJ1wnKWAgdGhyb3dz
IFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L19fcHJvdG9fXy1kdXBsaWNhdGUtY29tcHV0ZWQu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2Jq
ZWN0L19fcHJvdG9fXy1kdXBsaWNhdGUtY29tcHV0ZWQuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDgzODUxMTAxOWNjYjAwZTY2MzU1YTM4OWU4YThlNWI5YmVmNjdlZGYuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYW5uZXhCL2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9fX3Byb3RvX18tZHVwbGlj
YXRlLWNvbXB1dGVkLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotLy8gQ29weXJp
Z2h0IChDKSAyMDE3IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLV9fcHJvdG9fXy1wcm9wZXJ0eS1uYW1l
cy1pbi1vYmplY3QtaW5pdGlhbGl6ZXJzCi1lczZpZDogQi4zLjEKLWRlc2NyaXB0aW9uOiA+Ci0g
ICAgVGhlIHN5bnRheCBlcnJvciBmb3IgZHVwbGljYXRlIGBfX3Byb3RvX19gIHByb3BlcnR5IGlz
IG5vdCB2YWxpZCBpZiB0aGUgZHVwbGljYXRlIGlzIGEKLSAgICBDb21wdXRlZFByb3BlcnR5TmFt
ZQotaW5mbzogfAotICAgIEIuMy4xX19wcm90b19fIFByb3BlcnR5IE5hbWVzIGluIE9iamVjdCBJ
bml0aWFsaXplcnMKLQotICAgIEl0IGlzIGEgU3ludGF4IEVycm9yIGlmIFByb3BlcnR5TmFtZUxp
c3Qgb2YgUHJvcGVydHlEZWZpbml0aW9uTGlzdCBjb250YWlucyBhbnkgZHVwbGljYXRlCi0gICAg
ZW50cmllcyBmb3IgICJfX3Byb3RvX18iIGFuZCBhdCBsZWFzdCB0d28gb2YgdGhvc2UgZW50cmll
cyB3ZXJlIG9idGFpbmVkIGZyb20gcHJvZHVjdGlvbnMgb2YKLSAgICB0aGUgZm9ybQotICAgIFBy
b3BlcnR5RGVmaW5pdGlvbiA6IFByb3BlcnR5TmFtZSA6IEFzc2lnbm1lbnRFeHByZXNzaW9uIC4K
LQotICAgIDEyLjIuNi42IFN0YXRpYyBTZW1hbnRpY3M6IFByb3BlcnR5TmFtZUxpc3QKLQotICAg
IC4uLgotICAgIDMuIEFwcGVuZCBQcm9wTmFtZSBvZiBQcm9wZXJ0eURlZmluaXRpb24gdG8gdGhl
IGVuZCBvZiBsaXN0LgotICAgIC4uLgotCi0gICAgMTIuMi42LjUgU3RhdGljIFNlbWFudGljczog
UHJvcE5hbWUKLQotICAgIENvbXB1dGVkUHJvcGVydHlOYW1lIDogWyBBc3NpZ25tZW50RXhwcmVz
c2lvbiBdCi0gICAgICAgIDEuIFJldHVybiBlbXB0eS4KLS0tLSovCi0KLXZhciBvYmo7Ci12YXIg
cHJvdG8gPSB7fTsKLXZhciBvd25Qcm9wID0ge307Ci0KLW9iaiA9IHsKLSAgICBfX3Byb3RvX186
IHByb3RvLAotICAgIFsnX19wcm90b19fJ106IHt9LAotICAgIFsnX19wcm90b19fJ106IG93blBy
b3AKLX07Ci0KLWFzc2VydC5zYW1lVmFsdWUoCi0gICAgT2JqZWN0LmdldFByb3RvdHlwZU9mKG9i
aiksCi0gICAgcHJvdG8sCi0gICAgJ3Byb3RvdHlwZSBpcyBkZWZpbmVkJwotKTsKLQotYXNzZXJ0
KAotICAgIE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgJ19fcHJvdG9fXycpLAotICAg
ICdoYXMgb3duIHByb3BlcnR5IF9fcHJvdG9fXycKLSk7Ci0KLWFzc2VydC5zYW1lVmFsdWUoCi0g
ICAgb2JqLl9fcHJvdG9fXywKLSAgICBvd25Qcm9wLAotICAgICdvd24gcHJvcGVydHkgdmFsdWUn
Ci0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2xhbmd1YWdlL2V4
cHJlc3Npb25zL29iamVjdC9fX3Byb3RvX18tZHVwbGljYXRlLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYW5uZXhCL2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9fX3Byb3RvX18tZHVwbGlj
YXRlLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YTE2OTQ3MWNlOTc3ZDE1NTFj
YmU5YjIyMzdhNTRmMWM4ZGYyYTc4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9sYW5ndWFnZS9leHByZXNz
aW9ucy9vYmplY3QvX19wcm90b19fLWR1cGxpY2F0ZS5qcworKysgL2Rldi9udWxsCkBAIC0xLDIz
ICswLDAgQEAKLS8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6IHNlYy1fX3By
b3RvX18tcHJvcGVydHktbmFtZXMtaW4tb2JqZWN0LWluaXRpYWxpemVycwotZXM2aWQ6IEIuMy4x
Ci1kZXNjcmlwdGlvbjogRHVwbGljYXRlIGBfX3Byb3RvX19gIHByb3BlcnR5Ci1pbmZvOiB8Ci0g
ICAgSXQgaXMgYSBTeW50YXggRXJyb3IgaWYgUHJvcGVydHlOYW1lTGlzdCBvZiBQcm9wZXJ0eURl
ZmluaXRpb25MaXN0IGNvbnRhaW5zCi0gICAgYW55IGR1cGxpY2F0ZSBlbnRyaWVzIGZvciAiX19w
cm90b19fIiBhbmQgYXQgbGVhc3QgdHdvIG9mIHRob3NlIGVudHJpZXMKLSAgICB3ZXJlIG9idGFp
bmVkIGZyb20gcHJvZHVjdGlvbnMgb2YgdGhlIGZvcm0KLSAgICBQcm9wZXJ0eURlZmluaXRpb24g
OiBQcm9wZXJ0eU5hbWUgOiBBc3NpZ25tZW50RXhwcmVzc2lvbiAuCi1uZWdhdGl2ZToKLSAgcGhh
c2U6IHBhcnNlCi0gIHR5cGU6IFN5bnRheEVycm9yCi0tLS0qLwotCi0kRE9OT1RFVkFMVUFURSgp
OwotCi0oewotICBfX3Byb3RvX186IG51bGwsCi0gIG90aGVyOiBudWxsLAotICAnX19wcm90b19f
JzogbnVsbAotfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L19fcHJvdG9fXy1mbi1uYW1lLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYW5uZXhCL2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9fX3Byb3RvX18t
Zm4tbmFtZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTk5ZDE2ZTU5YTQ2MDY1
YTM3MjAyMjIwZTZhYzJlYWRiZjgyMDM2Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvb2JqZWN0L19fcHJvdG9fXy1mbi1uYW1lLmpzCisrKyAvZGV2L251bGwKQEAgLTEs
MjYgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDE1IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lczZpZDogQi4z
LjEKLWRlc2NyaXB0aW9uOiBGdW5jdGlvbiBuYW1lIGlzIG5vdCBhc3NpZ25lZCBiYXNlZCBvbiB0
aGUgcHJvcGVydHkgbmFtZQotaW5mbzogfAotICAgIFsuLi5dCi0gICAgNi4gSWYgcHJvcEtleSBp
cyB0aGUgU3RyaW5nIHZhbHVlICJfX3Byb3RvX18iIGFuZCBpZgotICAgICAgIElzQ29tcHV0ZWRQ
cm9wZXJ0eUtleShwcm9wS2V5KSBpcyBmYWxzZSwgdGhlbgotICAgICAgIGEuIElmIFR5cGUocHJv
cFZhbHVlKSBpcyBlaXRoZXIgT2JqZWN0IG9yIE51bGwsIHRoZW4KLSAgICAgICAgICBpLiBSZXR1
cm4gb2JqZWN0LltbU2V0UHJvdG90eXBlT2ZdXShwcm9wVmFsdWUpLgotICAgICAgIGIuIFJldHVy
biBOb3JtYWxDb21wbGV0aW9uKGVtcHR5KS4KLSAgICA3LiBJZiBJc0Fub255bW91c0Z1bmN0aW9u
RGVmaW5pdGlvbihBc3NpZ25tZW50RXhwcmVzc2lvbikgaXMgdHJ1ZSwgdGhlbgotICAgICAgIGEu
IExldCBoYXNOYW1lUHJvcGVydHkgYmUgSGFzT3duUHJvcGVydHkocHJvcFZhbHVlLCAibmFtZSIp
LgotICAgICAgIGIuIFJldHVybklmQWJydXB0KGhhc05hbWVQcm9wZXJ0eSkuCi0gICAgICAgYy4g
SWYgaGFzTmFtZVByb3BlcnR5IGlzIGZhbHNlLCBwZXJmb3JtIFNldEZ1bmN0aW9uTmFtZShwcm9w
VmFsdWUsIHByb3BLZXkpLgotLS0tKi8KLQotdmFyIG87Ci0KLW8gPSB7Ci0gIF9fcHJvdG9fXzog
ZnVuY3Rpb24oKSB7fQotfTsKLQotYXNzZXJ0KG8uX19wcm90b19fLm5hbWUgIT09ICdfX3Byb3Rv
X18nKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9sYW5ndWFnZS9l
eHByZXNzaW9ucy9vYmplY3QvX19wcm90b19fLXBvaXNvbmVkLW9iamVjdC1wcm90b3R5cGUuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0
L19fcHJvdG9fXy1wb2lzb25lZC1vYmplY3QtcHJvdG90eXBlLmpzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBmMDNjOGViZDY0MmUwMTNiZWQ3ZTlkZWJiMjgyMDE5ODg1ZjNjNTUyLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2FubmV4Qi9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvX19wcm90b19fLXBv
aXNvbmVkLW9iamVjdC1wcm90b3R5cGUuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBA
Ci0vLyBDb3B5cmlnaHQgKEMpIDIwMjAgQWxleGV5IFNodmF5a2EuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLV9fcHJvdG9fXy1wcm9wZXJ0eS1u
YW1lcy1pbi1vYmplY3QtaW5pdGlhbGl6ZXJzCi1kZXNjcmlwdGlvbjogPgotICBUaGUgdmFsdWUg
b2YgdGhlIGBfX3Byb3RvX19gIHByb3BlcnR5IGtleSBpcyBhc3NpZ25lZCB0byB0aGUgW1tQcm90
b3R5cGVdXS4KLSAgT2JqZWN0LnByb3RvdHlwZS5fX3Byb3RvX18gc2V0dGVyIHNob3VsZCBub3Qg
YmUgY2FsbGVkLgotaW5mbzogfAotICBfX3Byb3RvX18gUHJvcGVydHkgTmFtZXMgaW4gT2JqZWN0
IEluaXRpYWxpemVycwotCi0gIFByb3BlcnR5RGVmaW5pdGlvbiA6IFByb3BlcnR5TmFtZSA6IEFz
c2lnbm1lbnRFeHByZXNzaW9uCi0KLSAgWy4uLl0KLSAgNy4gSWYgaXNQcm90b1NldHRlciBpcyB0
cnVlLCB0aGVuCi0gICAgYS4gSWYgVHlwZShwcm9wVmFsdWUpIGlzIGVpdGhlciBPYmplY3Qgb3Ig
TnVsbCwgdGhlbgotICAgICAgaS4gUmV0dXJuIG9iamVjdC5bW1NldFByb3RvdHlwZU9mXV0ocHJv
cFZhbHVlKS4KLS0tLSovCi0KLU9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBl
LCAnX19wcm90b19fJywgewotICBzZXQ6IGZ1bmN0aW9uKCkgewotICAgIHRocm93IG5ldyBUZXN0
MjYyRXJyb3IoJ3Nob3VsZCBub3QgYmUgY2FsbGVkJyk7Ci0gIH0sCi19KTsKLQotdmFyIHByb3Rv
ID0ge307Ci0KLXZhciBvYmplY3QgPSB7Ci0gIF9fcHJvdG9fXzogcHJvdG8KLX07Ci0KLWFzc2Vy
dCghb2JqZWN0Lmhhc093blByb3BlcnR5KCdfX3Byb3RvX18nKSk7Ci1hc3NlcnQuc2FtZVZhbHVl
KE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmplY3QpLCBwcm90byk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L19fcHJv
dG9fXy12YWx1ZS1ub24tb2JqZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2xh
bmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9fX3Byb3RvX18tdmFsdWUtbm9uLW9iamVjdC5qcwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2ZhOTU4NzA1M2Y5Yjg0OWM2OWQ0ODk4ODdi
ZDQ0M2QwYWQxYzkzNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2Jq
ZWN0L19fcHJvdG9fXy12YWx1ZS1ub24tb2JqZWN0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsOTAg
KzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0vKi0tLQotZXNpZDogc2VjLV9fcHJv
dG9fXy1wcm9wZXJ0eS1uYW1lcy1pbi1vYmplY3QtaW5pdGlhbGl6ZXJzCi1lczZpZDogQi4zLjEK
LWRlc2NyaXB0aW9uOiA+Ci0gIFRoZSB2YWx1ZSBvZiB0aGUgYF9fcHJvdG9fX2AgcHJvcGVydHkg
a2V5IGlzIG5vdCBhc3NpZ25lZCB0byB0aGUKLSAgW1tQcm90b3R5cGVdXSBpbnRlcm5hbCBzbG90
LCBub3IgdG8gYSBwcm9wZXJ0eSBuYW1lZCAiX19wcm90b19fIiAobm9uLU9iamVjdCwKLSAgbm9u
LW51bGwgdmFsdWUpCi1pbmZvOiB8Ci0gIC4uLgotICA2LiBJZiBwcm9wS2V5IGlzIHRoZSBTdHJp
bmcgdmFsdWUgIl9fcHJvdG9fXyIgYW5kIGlmCi0gICAgIElzQ29tcHV0ZWRQcm9wZXJ0eUtleShw
cm9wS2V5KSBpcyBmYWxzZSwgdGhlbgotICAgICBhLiBJZiBUeXBlKHByb3BWYWx1ZSkgaXMgZWl0
aGVyIE9iamVjdCBvciBOdWxsLCB0aGVuCi0gICAgICAgIFsuLi5dCi0gICAgIGIuIFJldHVybiBO
b3JtYWxDb21wbGV0aW9uKGVtcHR5KS4KLWZlYXR1cmVzOiBbU3ltYm9sXQotLS0tKi8KLQotdmFy
IG9iamVjdDsKLQotb2JqZWN0ID0gewotICBfX3Byb3RvX186IHVuZGVmaW5lZAotfTsKLWFzc2Vy
dC5zYW1lVmFsdWUoCi0gIE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmplY3QpLAotICBPYmplY3Qu
cHJvdG90eXBlLAotICAncHJvdG90eXBlICh1bmRlZmluZWQpJwotKTsKLWFzc2VydC5zYW1lVmFs
dWUoCi0gIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCAnX19wcm90b19f
JyksCi0gIHVuZGVmaW5lZCwKLSAgJ3Byb3BlcnR5ICh1bmRlZmluZWQpJwotKTsKLQotb2JqZWN0
ID0gewotICBfX3Byb3RvX186IDEKLX07Ci1hc3NlcnQuc2FtZVZhbHVlKAotICBPYmplY3QuZ2V0
UHJvdG90eXBlT2Yob2JqZWN0KSwKLSAgT2JqZWN0LnByb3RvdHlwZSwKLSAgJ3Byb3RvdHlwZSAo
bnVtZXJpYyBwcmltaXRpdmUpJwotKTsKLWFzc2VydC5zYW1lVmFsdWUoCi0gIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCAnX19wcm90b19fJyksCi0gIHVuZGVmaW5lZCwK
LSAgJ3Byb3BlcnR5IChudW1lcmljIHByaW1pdGl2ZSknCi0pOwotCi1vYmplY3QgPSB7Ci0gIF9f
cHJvdG9fXzogZmFsc2UKLX07Ci1hc3NlcnQuc2FtZVZhbHVlKAotICBPYmplY3QuZ2V0UHJvdG90
eXBlT2Yob2JqZWN0KSwKLSAgT2JqZWN0LnByb3RvdHlwZSwKLSAgJ3Byb3RvdHlwZSAoYm9vbGVh
biBwcmltaXRpdmUpJwotKTsKLWFzc2VydC5zYW1lVmFsdWUoCi0gIE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCAnX19wcm90b19fJyksCi0gIHVuZGVmaW5lZCwKLSAgJ3By
b3BlcnR5IChib29sZWFuIHByaW1pdGl2ZSknCi0pOwotCi1vYmplY3QgPSB7Ci0gIF9fcHJvdG9f
XzogJ3N0cmluZyBsaXRlcmFsJwotfTsKLWFzc2VydC5zYW1lVmFsdWUoCi0gIE9iamVjdC5nZXRQ
cm90b3R5cGVPZihvYmplY3QpLAotICBPYmplY3QucHJvdG90eXBlLAotICAncHJvdG90eXBlIChz
dHJpbmcgcHJpbWl0aXZlKScKLSk7Ci1hc3NlcnQuc2FtZVZhbHVlKAotICBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgJ19fcHJvdG9fXycpLAotICB1bmRlZmluZWQsCi0g
ICdwcm9wZXJ0eSAoc3RyaW5nIHByaW1pdGl2ZSknCi0pOwotCi1vYmplY3QgPSB7Ci0gIF9fcHJv
dG9fXzogU3ltYm9sKCcnKQotfTsKLWFzc2VydC5zYW1lVmFsdWUoCi0gIE9iamVjdC5nZXRQcm90
b3R5cGVPZihvYmplY3QpLAotICBPYmplY3QucHJvdG90eXBlLAotICAncHJvdG90eXBlIChzeW1i
b2wpJwotKTsKLWFzc2VydC5zYW1lVmFsdWUoCi0gIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3Iob2JqZWN0LCAnX19wcm90b19fJyksCi0gIHVuZGVmaW5lZCwKLSAgJ3Byb3BlcnR5IChz
eW1ib2wpJwotKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9sYW5n
dWFnZS9leHByZXNzaW9ucy9vYmplY3QvX19wcm90b19fLXZhbHVlLW51bGwuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L19fcHJvdG9f
Xy12YWx1ZS1udWxsLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOWIxYTA5ZTQz
ODc4MWQ0NTk1ODJkOWVlMTdmODIzZWJmYWMyZDdhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2FubmV4Qi9sYW5ndWFn
ZS9leHByZXNzaW9ucy9vYmplY3QvX19wcm90b19fLXZhbHVlLW51bGwuanMKKysrIC9kZXYvbnVs
bApAQCAtMSwyNCArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3Qg
YXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBi
eSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS8qLS0tCi1lc2lk
OiBzZWMtX19wcm90b19fLXByb3BlcnR5LW5hbWVzLWluLW9iamVjdC1pbml0aWFsaXplcnMKLWVz
NmlkOiBCLjMuMQotZGVzY3JpcHRpb246ID4KLSAgVGhlIHZhbHVlIG9mIHRoZSBgX19wcm90b19f
YCBwcm9wZXJ0eSBrZXkgaXMgYXNzaWduZWQgdG8gdGhlIFtbUHJvdG90eXBlXV0KLSAgaW50ZXJu
YWwgc2xvdCAobnVsbCB2YWx1ZSkKLWluZm86IHwKLSAgLi4uCi0gIDYuIElmIHByb3BLZXkgaXMg
dGhlIFN0cmluZyB2YWx1ZSAiX19wcm90b19fIiBhbmQgaWYKLSAgICAgSXNDb21wdXRlZFByb3Bl
cnR5S2V5KHByb3BLZXkpIGlzIGZhbHNlLCB0aGVuCi0gICAgIGEuIElmIFR5cGUocHJvcFZhbHVl
KSBpcyBlaXRoZXIgT2JqZWN0IG9yIE51bGwsIHRoZW4KLSAgICAgICAgaS4gUmV0dXJuIG9iamVj
dC5bW1NldFByb3RvdHlwZU9mXV0ocHJvcFZhbHVlKS4KLS0tLSovCi0KLXZhciBvYmplY3QgPSB7
Ci0gIF9fcHJvdG9fXzogbnVsbAotfTsKLQotYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJv
dG90eXBlT2Yob2JqZWN0KSwgbnVsbCk7Ci1hc3NlcnQuc2FtZVZhbHVlKAotICBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgJ19fcHJvdG9fXycpLCB1bmRlZmluZWQKLSk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvb2JqZWN0L19fcHJvdG9fXy12YWx1ZS1vYmouanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9hbm5leEIvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L19fcHJvdG9fXy12YWx1ZS1vYmou
anMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdmMmZlOGQ4NTdkNTlkNmE0MWY1YzUw
MGVlYjI5OTBmOWVmOTc0NGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYW5uZXhCL2xhbmd1YWdlL2V4cHJlc3Npb25z
L29iamVjdC9fX3Byb3RvX18tdmFsdWUtb2JqLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAs
MCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDE1IEFuZHLDqSBCYXJndWxsLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLyotLS0KLWVzaWQ6IHNlYy1fX3Byb3RvX18tcHJvcGVy
dHktbmFtZXMtaW4tb2JqZWN0LWluaXRpYWxpemVycwotZXM2aWQ6IEIuMy4xCi1kZXNjcmlwdGlv
bjogPgotICBUaGUgdmFsdWUgb2YgdGhlIGBfX3Byb3RvX19gIHByb3BlcnR5IGtleSBpcyBhc3Np
Z25lZCB0byB0aGUgW1tQcm90b3R5cGVdXQotICBpbnRlcm5hbCBzbG90IChPYmplY3QgdmFsdWUp
Ci1pbmZvOiB8Ci0gIF9fcHJvdG9fXyBQcm9wZXJ0eSBOYW1lcyBpbiBPYmplY3QgSW5pdGlhbGl6
ZXJzCi0KLSAgLi4uCi0gIDYuIElmIHByb3BLZXkgaXMgdGhlIFN0cmluZyB2YWx1ZSAiX19wcm90
b19fIiBhbmQgaWYgSXNDb21wdXRlZFByb3BlcnR5S2V5KHByb3BLZXkpIGlzIGZhbHNlLCB0aGVu
Ci0gICAgYS4gSWYgVHlwZShwcm9wVmFsdWUpIGlzIGVpdGhlciBPYmplY3Qgb3IgTnVsbCwgdGhl
bgotICAgICAgaS4gUmV0dXJuIG9iamVjdC5bW1NldFByb3RvdHlwZU9mXV0ocHJvcFZhbHVlKS4K
LSAgICBiLiBSZXR1cm4gTm9ybWFsQ29tcGxldGlvbihlbXB0eSkuCi0gIC4uLgotLS0tKi8KLQot
dmFyIHByb3RvID0ge307Ci0KLXZhciBvYmplY3QgPSB7Ci0gIF9fcHJvdG9fXzogcHJvdG8KLX07
Ci0KLWFzc2VydC5zYW1lVmFsdWUoT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iamVjdCksIHByb3Rv
KTsKLWFzc2VydC5zYW1lVmFsdWUoCi0gIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
b2JqZWN0LCAnX19wcm90b19fJyksIHVuZGVmaW5lZAotKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9mcm9tL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L2Zyb20vbm90LWEtY29uc3RydWN0
b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODdmODBmNzAwNDdjNTMzOTYxYjhlZDU0Yzc4ZDhmMmUyZTEzNjEz
OAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJh
eS9mcm9tL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdo
dCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmpl
Y3RzCitkZXNjcmlwdGlvbjogPgorICBBcnJheS5mcm9tIGRvZXMgbm90IGltcGxlbWVudCBbW0Nv
bnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlv
biBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRl
bnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1
Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhl
IGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVu
ZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2Us
IHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3Ry
dWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0K
Ky0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihBcnJheS5mcm9tKSwgZmFs
c2UsICdpc0NvbnN0cnVjdG9yKEFycmF5LmZyb20pIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fz
c2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBBcnJheS5mcm9tKFtdKTsKK30s
ICdgbmV3IEFycmF5LmZyb20oW10pYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9pcy1hLWNvbnN0cnVjdG9yLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L2lzLWEtY29uc3RydWN0b3Iu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzNjOWMyYTE2MzUwYjViNTMyNDU0MjAyMWUzMGRlMzE4ZGMxNDEzZQot
LS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9p
cy1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAy
MCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8q
LS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNj
cmlwdGlvbjogPgorICBBcnJheSBpbXBsZW1lbnRzIFtbQ29uc3RydWN0XV0KK2luZm86IHwKKyAg
SXNDb25zdHJ1Y3RvciAoIGFyZ3VtZW50ICkKKworICBUaGUgYWJzdHJhY3Qgb3BlcmF0aW9uIElz
Q29uc3RydWN0b3IgdGFrZXMgYXJndW1lbnQgYXJndW1lbnQgKGFuIEVDTUFTY3JpcHQgbGFuZ3Vh
Z2UgdmFsdWUpLgorICBJdCBkZXRlcm1pbmVzIGlmIGFyZ3VtZW50IGlzIGEgZnVuY3Rpb24gb2Jq
ZWN0IHdpdGggYSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZC4KKyAgSXQgcGVyZm9ybXMg
dGhlIGZvbGxvd2luZyBzdGVwcyB3aGVuIGNhbGxlZDoKKworICBJZiBUeXBlKGFyZ3VtZW50KSBp
cyBub3QgT2JqZWN0LCByZXR1cm4gZmFsc2UuCisgIElmIGFyZ3VtZW50IGhhcyBhIFtbQ29uc3Ry
dWN0XV0gaW50ZXJuYWwgbWV0aG9kLCByZXR1cm4gdHJ1ZS4KKyAgUmV0dXJuIGZhbHNlLgoraW5j
bHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdF0K
Ky0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihBcnJheSksIHRydWUsICdp
c0NvbnN0cnVjdG9yKEFycmF5KSBtdXN0IHJldHVybiB0cnVlJyk7CituZXcgQXJyYXkoKTsKKyAg
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkvaXNBcnJh
eS9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9B
cnJheS9pc0FycmF5L25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlMDczZDNmN2Uw
NjM2NWQwODQ0OTg3ZmY5ZjkzY2NmMTkzY2UyMDEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkvaXNBcnJheS9ub3QtYS1jb25zdHJ1Y3Rvci5q
cwpAQCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVj
bWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgQXJy
YXkuaXNBcnJheSBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1h
YmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWlu
IGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3Jz
IGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVu
bGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRp
Y3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElz
Q29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNl
cHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtS
ZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZh
bHVlKGlzQ29uc3RydWN0b3IoQXJyYXkuaXNBcnJheSksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihB
cnJheS5pc0FycmF5KSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgKCkgPT4geworICBuZXcgQXJyYXkuaXNBcnJheShbXSk7Cit9LCAnYG5ldyBBcnJheS5p
c0FycmF5KFtdKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkvb2Yvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkvb2Yvbm90LWEtY29uc3RydWN0b3IuanMK
aW5kZXggOWMxNWZlNzM5Y2RjMmQzYWJjMjg1NjFkMGMyMmQwYjUzZTA0NzE1Zi4uZmQ3MjViYjU0
MTVkMzU3MDU1MjkzYjkwODg4NGMwODQ4OTk1ZGI3NSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L29mL25vdC1hLWNvbnN0cnVjdG9yLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9vZi9ub3QtYS1jb25zdHJ1Y3Rvci5q
cwpAQCAtMSwxMSArMSwyOSBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDE1IHRoZSBWOCBwcm9qZWN0
IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmlj
ayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVk
IGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCiAvKi0tLQot
ZXNpZDogc2VjLWFycmF5Lm9mCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1p
bi1vYmplY3RzCiBkZXNjcmlwdGlvbjogPgotICBBcnJheS5vZiBpcyBub3QgYSBjb25zdHJ1Y3Rv
ci4KKyAgQXJyYXkub2YgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBu
ZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWls
dC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVj
dG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhv
ZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBw
YXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJ
ZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3Ig
ZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVz
OiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQogLS0tKi8KIAotYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBuZXcgQXJyYXkub2YoKTsKLX0pOworYXNz
ZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKEFycmF5Lm9mKSwgZmFsc2UsICdpc0NvbnN0cnVj
dG9yKEFycmF5Lm9mKSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgKCkgPT4geworICBuZXcgQXJyYXkub2YoMSk7Cit9LCAnYG5ldyBBcnJheS5vZigxKWAg
dGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL1N5bWJvbC5pdGVyYXRvci9ub3QtYS1jb25zdHJ1Y3Rv
ci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvU3lt
Ym9sLml0ZXJhdG9yL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUwY2NlNjA4MjEz
NjZiYjdhZjkwNmJmMjc2NTI5NWEwY2FmZmIwYTUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL1N5bWJvbC5pdGVyYXRvci9u
b3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisv
Ki0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVz
Y3JpcHRpb246ID4KKyAgQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gZG9lcyBub3Qg
aW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01B
U2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRo
YXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50
IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNp
ZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisg
IHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVj
dG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1
ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIFN5
bWJvbCwgU3ltYm9sLml0ZXJhdG9yLCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRv
cl0pLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoQXJyYXkucHJvdG90eXBlW1N5bWJvbC5p
dGVyYXRvcl0pIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsICgpID0+IHsKKyAgbmV3IEFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdKCk7Cit9
LCAnYG5ldyBBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSgpYCB0aHJvd3MgVHlwZUVy
cm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJh
eS9wcm90b3R5cGUvY29uY2F0L25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb25jYXQvbm90LWEtY29uc3RydWN0b3Iu
anMKaW5kZXggYzY5YzIyYzdiNTZiMGI5YWE5YWRmZGI0OWY5YjIxNWE4YWE4ODYxNi4uYWFlNDQ5
NzQzMGE3ZDhlYWM0MjMxNWZjNjgyMmYzZjkwYjg0ODY2MSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9jb25jYXQvbm90LWEtY29uc3Ry
dWN0b3IuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3Rv
dHlwZS9jb25jYXQvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTEsMjIgKzEsMzMgQEAKLS8vIENv
cHlyaWdodCAoQykgMjAxNyBMZW8gQmFsdGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gQ29w
eXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KIAogLyotLS0KLWVzaWQ6IHNlYy1hcnJheS5wcm90b3R5cGUuY29uY2F0Citlc2lk
OiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCiBkZXNjcmlwdGlvbjog
PgotICBBcnJheS5wcm90b3R5cGUuY29uY2F0IGlzIG5vdCBhIGNvbnN0cnVjdG9yLgorICBBcnJh
eS5wcm90b3R5cGUuY29uY2F0IGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBu
b3QgbmV3LWFibGUKIGluZm86IHwKLSAgMTcgRUNNQVNjcmlwdCBTdGFuZGFyZCBCdWlsdC1pbiBP
YmplY3RzCisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cwogCiAgIEJ1aWx0LWluIGZ1bmN0
aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5v
dAogICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBv
dGhlcndpc2Ugc3BlY2lmaWVkIGluCiAgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIg
ZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3Ry
dWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24u
CisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0
LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCiAtLS0qLwogCi1hc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgZnVuY3Rpb24oKSB7Ci0gIG5ldyBBcnJheS5wcm90b3R5cGUuY29uY2F0KCk7Ci19KTsK
K2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoQXJyYXkucHJvdG90eXBlLmNvbmNh
dCksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihBcnJheS5wcm90b3R5cGUuY29uY2F0KSBt
dXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7
CisgIG5ldyBBcnJheS5wcm90b3R5cGUuY29uY2F0KFtdKTsKK30sICdgbmV3IEFycmF5LnByb3Rv
dHlwZS5jb25jYXQoW10pYCB0aHJvd3MgVHlwZUVycm9yJyk7CiAKLWFzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgbmV3IFtdLmNvbmNhdCgpOwotfSk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2NvcHlXaXRo
aW4vbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QXJyYXkvcHJvdG90eXBlL2NvcHlXaXRoaW4vbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDc4MWQ3MGRiNzAyMTQ1MGE3NDkzMDRmMjFjODBlOGY1NWMwNDA1MAotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvY29w
eVdpdGhpbi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmln
aHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2Jq
ZWN0cworZGVzY3JpcHRpb246ID4KKyAgQXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW4gZG9lcyBu
b3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBF
Q01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3Rz
IHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVt
ZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNw
ZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgor
CisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0
cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2lu
Y2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3Qs
IGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1
Y3RvcihBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1
Y3RvcihBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbikgbXVzdCByZXR1cm4gZmFsc2UnCispOwor
Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgQXJyYXkucHJvdG90eXBl
LmNvcHlXaXRoaW4oKTsKK30sICdgbmV3IEFycmF5LnByb3RvdHlwZS5jb3B5V2l0aGluKClgIHRo
cm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0FycmF5L3Byb3RvdHlwZS9lbnRyaWVzL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9lbnRyaWVzL25vdC1h
LWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFiZGMzODdlMzQ1Zjg1OTBlMzNkZDVmNDRmMTk4
NmJjMDgyYjhkOGQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvQXJyYXkvcHJvdG90eXBlL2VudHJpZXMvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAs
MCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0
LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIEFycmF5LnByb3Rv
dHlwZS5lbnRyaWVzIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3
LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQt
aW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3Rv
cnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2Qg
dW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFy
dGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYg
SXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4
Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczog
W1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIGlzQ29uc3RydWN0b3IoQXJyYXkucHJvdG90eXBlLmVudHJpZXMpLAorICBmYWxz
ZSwKKyAgJ2lzQ29uc3RydWN0b3IoQXJyYXkucHJvdG90eXBlLmVudHJpZXMpIG11c3QgcmV0dXJu
IGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IEFy
cmF5LnByb3RvdHlwZS5lbnRyaWVzKCk7Cit9LCAnYG5ldyBBcnJheS5wcm90b3R5cGUuZW50cmll
cygpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvZXZlcnkvbm90LWEtY29uc3RydWN0b3IuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2V2ZXJ5L25v
dC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3ZDZlZTVkMDdmZmRmZTRkYzcxMWIzNTk1
YjhhMWM1Y2YyZjI2ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2V2ZXJ5L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0w
LDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlw
dC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBBcnJheS5wcm90
b3R5cGUuZXZlcnkgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXct
YWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1p
biBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9y
cyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1
bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0
aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJ
c0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhj
ZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBb
UmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihBcnJheS5wcm90b3R5cGUuZXZlcnkpLAorICBmYWxzZSwK
KyAgJ2lzQ29uc3RydWN0b3IoQXJyYXkucHJvdG90eXBlLmV2ZXJ5KSBtdXN0IHJldHVybiBmYWxz
ZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBBcnJheS5w
cm90b3R5cGUuZXZlcnkoKCkgPT4ge30pOworfSwgJ2BuZXcgQXJyYXkucHJvdG90eXBlLmV2ZXJ5
KCgpID0+IHt9KWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2ZpbGwvbm90LWEtY29uc3RydWN0
b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2Zp
bGwvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODNiNWMyZWQ3ZTg1ZWQ3ZWZmNWRk
M2JkNDkyNmY3YWI5ZWIwZTMyOQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvZmlsbC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpA
QCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFz
Y3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgQXJyYXku
cHJvdG90eXBlLmZpbGwgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBu
ZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWls
dC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVj
dG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhv
ZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBw
YXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJ
ZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3Ig
ZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVz
OiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNh
bWVWYWx1ZShpc0NvbnN0cnVjdG9yKEFycmF5LnByb3RvdHlwZS5maWxsKSwgZmFsc2UsICdpc0Nv
bnN0cnVjdG9yKEFycmF5LnByb3RvdHlwZS5maWxsKSBtdXN0IHJldHVybiBmYWxzZScpOworCith
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgQXJyYXkucHJvdG90eXBlLmZp
bGwoKTsKK30sICdgbmV3IEFycmF5LnByb3RvdHlwZS5maWxsKClgIHRocm93cyBUeXBlRXJyb3In
KTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3By
b3RvdHlwZS9maWx0ZXIvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2ZpbHRlci9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NWUzYjNiMWFlYzQ0OTg3NzFiYjkwMmEzNmU0ZWU0ZDRkZWQyNDM1Ci0tLSAv
ZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3Rv
dHlwZS9maWx0ZXIvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWlu
LW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgZG9lcyBu
b3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBF
Q01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3Rz
IHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVt
ZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNw
ZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgor
CisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0
cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2lu
Y2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3Qs
IGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1
Y3RvcihBcnJheS5wcm90b3R5cGUuZmlsdGVyKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9y
KEFycmF5LnByb3RvdHlwZS5maWx0ZXIpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IEFycmF5LnByb3RvdHlwZS5maWx0ZXIo
KCkgPT4ge30pOworfSwgJ2BuZXcgQXJyYXkucHJvdG90eXBlLmZpbHRlcigoKSA9PiB7fSlgIHRo
cm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0FycmF5L3Byb3RvdHlwZS9maW5kL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9maW5kL25vdC1hLWNvbnN0
cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzZjMwMjBhMGEyM2FkZDhmZjA4NWU5OWNiYzAzM2I3NTA5
YWZhNDIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QXJyYXkvcHJvdG90eXBlL2ZpbmQvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBA
QAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJk
LWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIEFycmF5LnByb3RvdHlwZS5maW5k
IGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86
IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24g
b2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90Cisg
IGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVy
d2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5j
dGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rv
cihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAg
Li4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29u
c3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25z
dHJ1Y3RvcihBcnJheS5wcm90b3R5cGUuZmluZCksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihBcnJh
eS5wcm90b3R5cGUuZmluZCkgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93cyhU
eXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IEFycmF5LnByb3RvdHlwZS5maW5kKCgpID0+IHt9KTsK
K30sICdgbmV3IEFycmF5LnByb3RvdHlwZS5maW5kKCgpID0+IHt9KWAgdGhyb3dzIFR5cGVFcnJv
cicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkv
cHJvdG90eXBlL2ZpbmRJbmRleC9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvZmluZEluZGV4L25vdC1hLWNvbnN0cnVj
dG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmE4Yjk0NWRiZWVmMjBjODdhYmRhNTQ0OWU3YjFiN2FmOWU0Yjkx
NDQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJy
YXkvcHJvdG90eXBlL2ZpbmRJbmRleC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMz
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRh
cmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgQXJyYXkucHJvdG90eXBlLmZp
bmRJbmRleCBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxl
CitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1
bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRv
IG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVz
cyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3Vs
YXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29u
c3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRp
b24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZs
ZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVl
KAorICBpc0NvbnN0cnVjdG9yKEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXgpLAorICBmYWxzZSwK
KyAgJ2lzQ29uc3RydWN0b3IoQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleCkgbXVzdCByZXR1cm4g
ZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgQXJy
YXkucHJvdG90eXBlLmZpbmRJbmRleCgoKSA9PiB7fSk7Cit9LCAnYG5ldyBBcnJheS5wcm90b3R5
cGUuZmluZEluZGV4KCgpID0+IHt9KWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2ZsYXQvbm90
LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkv
cHJvdG90eXBlL2ZsYXQvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGFjMjgxYTQ0
NGUzMjQxOGYyMzgxMGY0NWNlNzEzYTg4ZWZmYjYwYwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvZmxhdC9ub3QtYS1jb25z
dHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBX
YWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246
ID4KKyAgQXJyYXkucHJvdG90eXBlLmZsYXQgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0
XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVj
dHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVk
IGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGlu
dGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3Jp
cHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisg
IC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cg
YSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5q
c10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8K
KworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKEFycmF5LnByb3RvdHlwZS5mbGF0KSwg
ZmFsc2UsICdpc0NvbnN0cnVjdG9yKEFycmF5LnByb3RvdHlwZS5mbGF0KSBtdXN0IHJldHVybiBm
YWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgQXJyYXku
cHJvdG90eXBlLmZsYXQoKTsKK30sICdgbmV3IEFycmF5LnByb3RvdHlwZS5mbGF0KClgIHRocm93
cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0FycmF5L3Byb3RvdHlwZS9mbGF0TWFwL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9mbGF0TWFwL25vdC1hLWNv
bnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhZDUwYTBlMmEyMzU3YmU5ZjNjOWVjZWJlMjU4Yzc1
M2JiMTdmZDcKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvQXJyYXkvcHJvdG90eXBlL2ZsYXRNYXAvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCAr
MSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0
YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIEFycmF5LnByb3RvdHlw
ZS5mbGF0TWFwIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFi
bGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4g
ZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMg
ZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5s
ZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGlj
dWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXND
b25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2Vw
dGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1Jl
ZmxlY3QuY29uc3RydWN0LCBBcnJheS5wcm90b3R5cGUuZmxhdE1hcCwgYXJyb3ctZnVuY3Rpb25d
CistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKEFycmF5LnByb3Rv
dHlwZS5mbGF0TWFwKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKEFycmF5LnByb3RvdHlw
ZS5mbGF0TWFwKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVy
cm9yLCAoKSA9PiB7CisgIG5ldyBBcnJheS5wcm90b3R5cGUuZmxhdE1hcCgoKSA9PiB7fSk7Cit9
LCAnYG5ldyBBcnJheS5wcm90b3R5cGUuZmxhdE1hcCgoKSA9PiB7fSlgIHRocm93cyBUeXBlRXJy
b3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5
L3Byb3RvdHlwZS9mb3JFYWNoL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9mb3JFYWNoL25vdC1hLWNvbnN0cnVjdG9y
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjk3MjFkNzhiYjdkMTg1ZjMzMzUzOWIzZDRlZGQ5ZGRiZTVlMzY0MjcK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkv
cHJvdG90eXBlL2ZvckVhY2gvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAor
Ly8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1
aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNo
IGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86
IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24g
b2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90Cisg
IGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVy
d2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5j
dGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rv
cihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAg
Li4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29u
c3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlz
Q29uc3RydWN0b3IoQXJyYXkucHJvdG90eXBlLmZvckVhY2gpLAorICBmYWxzZSwKKyAgJ2lzQ29u
c3RydWN0b3IoQXJyYXkucHJvdG90eXBlLmZvckVhY2gpIG11c3QgcmV0dXJuIGZhbHNlJworKTsK
KworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IEFycmF5LnByb3RvdHlw
ZS5mb3JFYWNoKCgpID0+IHt9KTsKK30sICdgbmV3IEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKCgp
ID0+IHt9KWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2luY2x1ZGVzL25vdC1hLWNvbnN0cnVj
dG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9p
bmNsdWRlcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNTA1MmQxOWZiNDdlZmQ0
NjE5NTI4NzI4ZWZjY2UwZTRmYmM5MjRkCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9pbmNsdWRlcy9ub3QtYS1jb25zdHJ1
Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxk
cm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDog
c2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4K
KyAgQXJyYXkucHJvdG90eXBlLmluY2x1ZGVzIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVj
dF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmpl
Y3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmll
ZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBp
bnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2Ny
aXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKwor
ICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93
IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3Iu
anNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSov
CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoQXJyYXkucHJvdG90eXBlLmlu
Y2x1ZGVzKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKEFycmF5LnByb3RvdHlwZS5pbmNs
dWRlcykgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
KCkgPT4geworICBuZXcgQXJyYXkucHJvdG90eXBlLmluY2x1ZGVzKDEpOworfSwgJ2BuZXcgQXJy
YXkucHJvdG90eXBlLmluY2x1ZGVzKDEpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvaW5kZXhP
Zi9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9B
cnJheS9wcm90b3R5cGUvaW5kZXhPZi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
ZTFhOGQwMTlkNmRkYWJiY2VmZmQzOWEwMTY4OGRhNTI4NzhiYWVjCi0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9pbmRleE9m
L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMg
Z292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisK
Ky8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitk
ZXNjcmlwdGlvbjogPgorICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBkb2VzIG5vdCBpbXBsZW1l
bnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQg
RnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUg
bm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtb
Q29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGlu
CisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2
YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlz
IGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtp
c0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVu
Y3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKEFycmF5
LnByb3RvdHlwZS5pbmRleE9mKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKEFycmF5LnBy
b3RvdHlwZS5pbmRleE9mKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3Mo
VHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBBcnJheS5wcm90b3R5cGUuaW5kZXhPZigpOworfSwg
J2BuZXcgQXJyYXkucHJvdG90eXBlLmluZGV4T2YoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBl
L2pvaW4vbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvQXJyYXkvcHJvdG90eXBlL2pvaW4vbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzNiM2E0ZDVjMjVkZjM2ZTM4NTJiZWFjNGMyNDdkNDMxZjhlMzNmMAotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvam9pbi9u
b3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisv
Ki0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVz
Y3JpcHRpb246ID4KKyAgQXJyYXkucHJvdG90eXBlLmpvaW4gZG9lcyBub3QgaW1wbGVtZW50IFtb
Q29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0
aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBp
ZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0
cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0
aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0
ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxz
ZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25z
dHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9u
XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKEFycmF5LnByb3RvdHlw
ZS5qb2luKSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKEFycmF5LnByb3RvdHlwZS5qb2luKSBtdXN0
IHJldHVybiBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBu
ZXcgQXJyYXkucHJvdG90eXBlLmpvaW4oKTsKK30sICdgbmV3IEFycmF5LnByb3RvdHlwZS5qb2lu
KClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9rZXlzL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9rZXlzL25vdC1h
LWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZiODU0NDc2NWZjMGIzNGJlNjEyZTg3MGM1NGM0
Mzc5NzIzZjk3ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvQXJyYXkvcHJvdG90eXBlL2tleXMvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCAr
MSwyOSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0
YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIEFycmF5LnByb3RvdHlw
ZS5rZXlzIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUK
K2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVu
Y3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8g
bm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNz
IG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxh
ciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25z
dHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlv
bi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxl
Y3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUo
aXNDb25zdHJ1Y3RvcihBcnJheS5wcm90b3R5cGUua2V5cyksIGZhbHNlLCAnaXNDb25zdHJ1Y3Rv
cihBcnJheS5wcm90b3R5cGUua2V5cykgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IEFycmF5LnByb3RvdHlwZS5rZXlzKCk7Cit9
LCAnYG5ldyBBcnJheS5wcm90b3R5cGUua2V5cygpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUv
bGFzdEluZGV4T2Yvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL2xhc3RJbmRleE9mL25vdC1hLWNvbnN0cnVjdG9yLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmRjNzU1ZjllYjA3OTBkYmJmN2U0ZmNiYzczNzVmZmY5ZTMyNTlkMmYKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJv
dG90eXBlL2xhc3RJbmRleE9mL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1i
dWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBBcnJheS5wcm90b3R5cGUubGFzdElu
ZGV4T2YgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQor
aW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5j
dGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBu
b3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mg
b3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFy
IGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0
cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9u
LgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVj
dC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgaXNDb25zdHJ1Y3RvcihBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YpLAorICBmYWxzZSwK
KyAgJ2lzQ29uc3RydWN0b3IoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKSBtdXN0IHJldHVy
biBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBB
cnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YoKTsKK30sICdgbmV3IEFycmF5LnByb3RvdHlwZS5s
YXN0SW5kZXhPZigpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvbWFwL25vdC1hLWNvbnN0cnVj
dG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9t
YXAvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDUyMWIwOTcwOTFhMWNjZWMxNjUx
Y2QwNjQ2MzY4OGU3NDRkZmFmNAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvbWFwL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBA
IC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNj
cmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBBcnJheS5w
cm90b3R5cGUubWFwIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3
LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQt
aW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3Rv
cnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2Qg
dW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFy
dGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYg
SXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4
Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczog
W1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1l
VmFsdWUoaXNDb25zdHJ1Y3RvcihBcnJheS5wcm90b3R5cGUubWFwKSwgZmFsc2UsICdpc0NvbnN0
cnVjdG9yKEFycmF5LnByb3RvdHlwZS5tYXApIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBBcnJheS5wcm90b3R5cGUubWFwKCgp
ID0+IHt9KTsKK30sICdgbmV3IEFycmF5LnByb3RvdHlwZS5tYXAoKCkgPT4ge30pYCB0aHJvd3Mg
VHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9BcnJheS9wcm90b3R5cGUvcG9wL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9wb3Avbm90LWEtY29uc3RydWN0b3Iu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZGNhY2NmNjI4MGJjMWNiYzYyNTg5MDRhZWQ2ODMxMDFmMzczOTlkNQot
LS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9w
cm90b3R5cGUvcG9wL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENv
cHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1p
bi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBBcnJheS5wcm90b3R5cGUucG9wIGRvZXMgbm90
IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNN
QVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0
aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVu
dCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVj
aWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKwor
ICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1
Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNs
dWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBh
cnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihB
cnJheS5wcm90b3R5cGUucG9wKSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKEFycmF5LnByb3RvdHlw
ZS5wb3ApIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAo
KSA9PiB7CisgIG5ldyBBcnJheS5wcm90b3R5cGUucG9wKCk7Cit9LCAnYG5ldyBBcnJheS5wcm90
b3R5cGUucG9wKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9wdXNoL25vdC1hLWNvbnN0cnVj
dG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9w
dXNoL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU3OWIyNDM2NzI5YTMxMGQ0NTRm
YzBlYzJlMTJlMWFkYTE3YjgwNjEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3B1c2gvbm90LWEtY29uc3RydWN0b3IuanMK
QEAgLTAsMCArMSwyOSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21h
c2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIEFycmF5
LnByb3RvdHlwZS5wdXNoIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3Qg
bmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVp
bHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1
Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRo
b2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEg
cGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4g
SWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9y
IGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJl
czogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5z
YW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihBcnJheS5wcm90b3R5cGUucHVzaCksIGZhbHNlLCAnaXND
b25zdHJ1Y3RvcihBcnJheS5wcm90b3R5cGUucHVzaCkgbXVzdCByZXR1cm4gZmFsc2UnKTsKKwor
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IEFycmF5LnByb3RvdHlwZS5w
dXNoKCk7Cit9LCAnYG5ldyBBcnJheS5wcm90b3R5cGUucHVzaCgpYCB0aHJvd3MgVHlwZUVycm9y
Jyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9w
cm90b3R5cGUvcmVkdWNlL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9yZWR1Y2Uvbm90LWEtY29uc3RydWN0b3IuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMWY0MjVjZjFmMjdkNmNlNjY2ODliMDc0YTM0YzI4NzAwYjJhZGU4OAotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90
b3R5cGUvcmVkdWNlL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENv
cHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1p
bi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBBcnJheS5wcm90b3R5cGUucmVkdWNlIGRvZXMg
bm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAg
RUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0
cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxl
bWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBz
cGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4K
KworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25z
dHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitp
bmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0
LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3Ry
dWN0b3IoQXJyYXkucHJvdG90eXBlLnJlZHVjZSksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3Rv
cihBcnJheS5wcm90b3R5cGUucmVkdWNlKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBBcnJheS5wcm90b3R5cGUucmVkdWNl
KCgpID0+IHt9LCBbXSk7Cit9LCAnYG5ldyBBcnJheS5wcm90b3R5cGUucmVkdWNlKCgpID0+IHt9
LCBbXSlgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9yZWR1Y2VSaWdodC9ub3QtYS1jb25zdHJ1
Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUv
cmVkdWNlUmlnaHQvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmQwOGQ3MjFhMzhi
MDM2ZmUwMzBjNmM0OWNkMzIzN2Q0ZWNhODUzOAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvcmVkdWNlUmlnaHQvbm90LWEt
Y29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJp
Y2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0K
K2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0
aW9uOiA+CisgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBkb2VzIG5vdCBpbXBsZW1lbnQg
W1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVu
Y3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90
IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29u
c3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisg
IHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1
YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZh
bHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0Nv
bnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rp
b25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKEFycmF5LnBy
b3RvdHlwZS5yZWR1Y2VSaWdodCksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihBcnJheS5w
cm90b3R5cGUucmVkdWNlUmlnaHQpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdo
dCgoKSA9PiB7fSwgW10pOworfSwgJ2BuZXcgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0KCgp
ID0+IHt9LCBbXSlgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9yZXZlcnNlL25vdC1hLWNvbnN0
cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlw
ZS9yZXZlcnNlL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdkNDhiYzE1ODhkMGFl
NDA2MmY0OWM5MmZmYTYzYjVlNDA4MGQzZjQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3JldmVyc2Uvbm90LWEtY29uc3Ry
dWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2Fs
ZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6
IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+
CisgIEFycmF5LnByb3RvdHlwZS5yZXZlcnNlIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVj
dF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmpl
Y3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmll
ZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBp
bnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2Ny
aXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKwor
ICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93
IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3Iu
anNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSov
CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoQXJyYXkucHJvdG90eXBlLnJl
dmVyc2UpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoQXJyYXkucHJvdG90eXBlLnJldmVy
c2UpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgp
ID0+IHsKKyAgbmV3IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlKCk7Cit9LCAnYG5ldyBBcnJheS5w
cm90b3R5cGUucmV2ZXJzZSgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc2hpZnQvbm90LWEt
Y29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJv
dG90eXBlL3NoaWZ0L25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxNTdmNTJkY2Y2
MzM5NGUyOThlOWNkMTBjNmY3ZTYwNWY4ZDgxMDIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3NoaWZ0L25vdC1hLWNvbnN0
cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdh
bGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lk
OiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjog
PgorICBBcnJheS5wcm90b3R5cGUuc2hpZnQgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0
XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVj
dHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVk
IGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGlu
dGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3Jp
cHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisg
IC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cg
YSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5q
c10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8K
KworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihBcnJheS5wcm90b3R5cGUuc2hp
ZnQpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoQXJyYXkucHJvdG90eXBlLnNoaWZ0KSBt
dXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7
CisgIG5ldyBBcnJheS5wcm90b3R5cGUuc2hpZnQoKTsKK30sICdgbmV3IEFycmF5LnByb3RvdHlw
ZS5zaGlmdCgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc2xpY2Uvbm90LWEtY29uc3RydWN0
b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3Ns
aWNlL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiZDc5NDQ2ZGZmZTg5ZGUyMDY2
NDBlNjU0MmI3NTM3N2JjYTk2MGUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90eXBlL3NsaWNlL25vdC1hLWNvbnN0cnVjdG9yLmpz
CkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNt
YXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBBcnJh
eS5wcm90b3R5cGUuc2xpY2UgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5v
dCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBC
dWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0
cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1l
dGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2Yg
YSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3
LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJy
b3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1
cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihBcnJheS5wcm90b3R5cGUuc2xpY2UpLAorICBm
YWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoQXJyYXkucHJvdG90eXBlLnNsaWNlKSBtdXN0IHJldHVy
biBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBB
cnJheS5wcm90b3R5cGUuc2xpY2UoKTsKK30sICdgbmV3IEFycmF5LnByb3RvdHlwZS5zbGljZSgp
YCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc29tZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc29tZS9ub3QtYS1j
b25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMDZiMDIzNjI0MzJhNTk5NGU0M2FjMjBlYmQ1Y2Zj
MmFiNDlkYzJhCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0FycmF5L3Byb3RvdHlwZS9zb21lL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEs
MjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFu
ZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBBcnJheS5wcm90b3R5cGUu
c29tZSBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitp
bmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0
aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5v
dAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBv
dGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIg
ZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3Ry
dWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24u
CisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0
LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlz
Q29uc3RydWN0b3IoQXJyYXkucHJvdG90eXBlLnNvbWUpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3Io
QXJyYXkucHJvdG90eXBlLnNvbWUpIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJv
d3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBBcnJheS5wcm90b3R5cGUuc29tZSgoKSA9PiB7
fSk7Cit9LCAnYG5ldyBBcnJheS5wcm90b3R5cGUuc29tZSgoKSA9PiB7fSlgIHRocm93cyBUeXBl
RXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Fy
cmF5L3Byb3RvdHlwZS9zb3J0L25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS9zb3J0L25vdC1hLWNvbnN0cnVjdG9yLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjZkMmFlNmQ4OTZkMzhlZmZkNjdkYmNlNjc5ZjM1ZDdlNWEwNmExMGQKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJv
dG90eXBlL3NvcnQvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWlu
LW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIEFycmF5LnByb3RvdHlwZS5zb3J0IGRvZXMgbm90
IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNN
QVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0
aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVu
dCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVj
aWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKwor
ICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1
Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNs
dWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBh
cnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihB
cnJheS5wcm90b3R5cGUuc29ydCksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihBcnJheS5wcm90b3R5
cGUuc29ydCkgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3Is
ICgpID0+IHsKKyAgbmV3IEFycmF5LnByb3RvdHlwZS5zb3J0KCk7Cit9LCAnYG5ldyBBcnJheS5w
cm90b3R5cGUuc29ydCgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL25vdC1hLWNv
bnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3Rv
dHlwZS9zcGxpY2Uvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGE0ZGRhZDE1NDI0
OTlkMzE4OTA0Y2UyOTY4YjM4M2UwNTI4MjJkZQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvc3BsaWNlL25vdC1hLWNvbnN0
cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdh
bGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lk
OiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjog
PgorICBBcnJheS5wcm90b3R5cGUuc3BsaWNlIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVj
dF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmpl
Y3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmll
ZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBp
bnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2Ny
aXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKwor
ICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93
IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3Iu
anNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSov
CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoQXJyYXkucHJvdG90eXBlLnNw
bGljZSksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihBcnJheS5wcm90b3R5cGUuc3BsaWNl
KSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9
PiB7CisgIG5ldyBBcnJheS5wcm90b3R5cGUuc3BsaWNlKCk7Cit9LCAnYG5ldyBBcnJheS5wcm90
b3R5cGUuc3BsaWNlKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9u
b3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJh
eS9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzQwYWQ1Y2ZkNTk5OTg0ZmVmZjk1ZTdiNDdkODEwMzJiOGM0YWY5ZgotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvdG9M
b2NhbGVTdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWlu
LW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmlu
ZyBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZv
OiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9u
IG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAor
ICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhl
cndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVu
Y3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0
b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisg
IC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNv
bnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBp
c0NvbnN0cnVjdG9yKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyksCisgIGZhbHNlLAor
ICAnaXNDb25zdHJ1Y3RvcihBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcpIG11c3QgcmV0
dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3
IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZygpOworfSwgJ2BuZXcgQXJyYXkucHJvdG90
eXBlLnRvTG9jYWxlU3RyaW5nKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS90b1N0cmluZy9u
b3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJh
eS9wcm90b3R5cGUvdG9TdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmY2
YmExOWNhOTMwMzIzMThiYTI5N2JhYjAyZWZlZDEyNTJkYzlmOQotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9wcm90b3R5cGUvdG9TdHJpbmcv
bm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAy
MDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKwor
LyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rl
c2NyaXB0aW9uOiA+CisgIEFycmF5LnByb3RvdHlwZS50b1N0cmluZyBkb2VzIG5vdCBpbXBsZW1l
bnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQg
RnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUg
bm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtb
Q29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGlu
CisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2
YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlz
IGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtp
c0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVu
Y3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKEFycmF5
LnByb3RvdHlwZS50b1N0cmluZyksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihBcnJheS5w
cm90b3R5cGUudG9TdHJpbmcpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IEFycmF5LnByb3RvdHlwZS50b1N0cmluZygpOwor
fSwgJ2BuZXcgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nKClgIHRocm93cyBUeXBlRXJyb3InKTsK
KwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3Rv
dHlwZS91bnNoaWZ0L25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS91bnNoaWZ0L25vdC1hLWNvbnN0cnVjdG9yLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmE4YjIxZjgxMDQzNmFhZDdmYjJkNzgwMGE0NWZiOGFmYjFmZTY0YWYKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXkvcHJvdG90
eXBlL3Vuc2hpZnQvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWlu
LW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIEFycmF5LnByb3RvdHlwZS51bnNoaWZ0IGRvZXMg
bm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAg
RUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0
cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxl
bWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBz
cGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4K
KworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25z
dHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitp
bmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0
LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3Ry
dWN0b3IoQXJyYXkucHJvdG90eXBlLnVuc2hpZnQpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0
b3IoQXJyYXkucHJvdG90eXBlLnVuc2hpZnQpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNz
ZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IEFycmF5LnByb3RvdHlwZS51bnNo
aWZ0KCk7Cit9LCAnYG5ldyBBcnJheS5wcm90b3R5cGUudW5zaGlmdCgpYCB0aHJvd3MgVHlwZUVy
cm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJh
eS9wcm90b3R5cGUvdmFsdWVzL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0FycmF5L3Byb3RvdHlwZS92YWx1ZXMvbm90LWEtY29uc3RydWN0b3Iu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzViZjQ1YWE4YzM1MGNiZGY3NzBhNzc4NzE2NTVlOWZkYWYwMjZmMQot
LS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheS9w
cm90b3R5cGUvdmFsdWVzL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWls
dC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBBcnJheS5wcm90b3R5cGUudmFsdWVzIGRv
ZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwK
KyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2Jq
ZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGlt
cGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lz
ZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlv
bi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihj
b25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4u
CitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3Ry
dWN0LCBBcnJheS5wcm90b3R5cGUudmFsdWVzLCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoQXJyYXkucHJvdG90eXBlLnZhbHVlcyks
CisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihBcnJheS5wcm90b3R5cGUudmFsdWVzKSBtdXN0
IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7Cisg
IG5ldyBBcnJheS5wcm90b3R5cGUudmFsdWVzKCk7Cit9LCAnYG5ldyBBcnJheS5wcm90b3R5cGUu
dmFsdWVzKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5QnVmZmVyL2lzLWEtY29uc3RydWN0b3IuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXlCdWZmZXIvaXMtYS1jb25zdHJ1Y3Rvci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42ZWYwYWRjMzE5M2I3NzZiOGY4ODI5YzEwZmJmNjBmMGYwMmMzODYyCi0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5QnVm
ZmVyL2lzLWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyNCBAQAorLy8gQ29weXJpZ2h0IChD
KSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
KworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMK
K2Rlc2NyaXB0aW9uOiA+CisgIFRoZSBBcnJheUJ1ZmZlciBjb25zdHJ1Y3RvciBpbXBsZW1lbnRz
IFtbQ29uc3RydWN0XV0KK2luZm86IHwKKyAgSXNDb25zdHJ1Y3RvciAoIGFyZ3VtZW50ICkKKwor
ICBUaGUgYWJzdHJhY3Qgb3BlcmF0aW9uIElzQ29uc3RydWN0b3IgdGFrZXMgYXJndW1lbnQgYXJn
dW1lbnQgKGFuIEVDTUFTY3JpcHQgbGFuZ3VhZ2UgdmFsdWUpLgorICBJdCBkZXRlcm1pbmVzIGlm
IGFyZ3VtZW50IGlzIGEgZnVuY3Rpb24gb2JqZWN0IHdpdGggYSBbW0NvbnN0cnVjdF1dIGludGVy
bmFsIG1ldGhvZC4KKyAgSXQgcGVyZm9ybXMgdGhlIGZvbGxvd2luZyBzdGVwcyB3aGVuIGNhbGxl
ZDoKKworICBJZiBUeXBlKGFyZ3VtZW50KSBpcyBub3QgT2JqZWN0LCByZXR1cm4gZmFsc2UuCisg
IElmIGFyZ3VtZW50IGhhcyBhIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLCByZXR1cm4g
dHJ1ZS4KKyAgUmV0dXJuIGZhbHNlLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVh
dHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgQXJyYXlCdWZmZXJdCistLS0qLworCithc3NlcnQu
c2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoQXJyYXlCdWZmZXIpLCB0cnVlLCAnaXNDb25zdHJ1Y3Rv
cihBcnJheUJ1ZmZlcikgbXVzdCByZXR1cm4gdHJ1ZScpOworbmV3IEFycmF5QnVmZmVyKCk7Cisg
IApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5QnVmZmVy
L2lzVmlldy9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9BcnJheUJ1ZmZlci9pc1ZpZXcvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OWQ2NWI5ZjBkOTkxNGM3MGUwZmEwZWM1ODJlMWJhODVkNmMzOTcyNwotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheUJ1ZmZlci9pc1ZpZXcvbm90
LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIw
IFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zl
cm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyot
LS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2Ny
aXB0aW9uOiA+CisgIEFycmF5QnVmZmVyLmlzVmlldyBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25z
dHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24g
T2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50
aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0
XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBk
ZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3
CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0
aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVj
dG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgQXJyYXlCdWZmZXIsIGFycm93
LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKEFycmF5
QnVmZmVyLmlzVmlldyksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihBcnJheUJ1ZmZlci5pc1ZpZXcp
IG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7
CisgIG5ldyBBcnJheUJ1ZmZlci5pc1ZpZXcoKTsKK30sICdgbmV3IEFycmF5QnVmZmVyLmlzVmll
dygpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9BcnJheUJ1ZmZlci9wcm90b3R5cGUvYnl0ZUxlbmd0aC9kZXRhY2hlZC1i
dWZmZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXJyYXlCdWZmZXIvcHJv
dG90eXBlL2J5dGVMZW5ndGgvZGV0YWNoZWQtYnVmZmVyLmpzCmluZGV4IGQ1OTc5YzZkYWJhZDI3
ZGQxY2I1NWNkODdkNjgyMTdjMjIxNzQ1ZGMuLmQ0NWUwMjkyODkxNzUwOTQxNTY1ZDBiNmFhYjE4
YjE5Y2YxZmUzZjcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9B
cnJheUJ1ZmZlci9wcm90b3R5cGUvYnl0ZUxlbmd0aC9kZXRhY2hlZC1idWZmZXIuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5QnVmZmVyL3Byb3RvdHlwZS9ieXRl
TGVuZ3RoL2RldGFjaGVkLWJ1ZmZlci5qcwpAQCAtNCwxOSArNCwxNiBAQAogZXNpZDogc2VjLWdl
dC1hcnJheWJ1ZmZlci5wcm90b3R5cGUuYnl0ZWxlbmd0aAogZGVzY3JpcHRpb246IFJldHVybnMg
MCBpZiB0aGUgYnVmZmVyIGlzIGRldGFjaGVkCiBpbmZvOiB8Ci0gIDI0LjEuNC4xIGdldCBBcnJh
eUJ1ZmZlci5wcm90b3R5cGUuYnl0ZUxlbmd0aAotCi0gIDEuIExldCBPIGJlIHRoZSB0aGlzIHZh
bHVlLgorICBnZXQgQXJyYXlCdWZmZXIucHJvdG90eXBlLmJ5dGVMZW5ndGgKICAgLi4uCi0gIDQu
IElmIElzRGV0YWNoZWRCdWZmZXIoTykgaXMgdHJ1ZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0
aW9uLgorICBJZiBJc0RldGFjaGVkQnVmZmVyKGJ1ZmZlcikgaXMgdHJ1ZSwgcmV0dXJuIDAuCiAg
IC4uLgogaW5jbHVkZXM6IFtkZXRhY2hBcnJheUJ1ZmZlci5qc10KK2ZlYXR1cmVzOiBbYWxpZ24t
ZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5XQogLS0tKi8KIAogdmFy
IGFiID0gbmV3IEFycmF5QnVmZmVyKDEpOwogCiAkREVUQUNIQlVGRkVSKGFiKTsKIAotYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBhYi5ieXRlTGVuZ3RoOwotfSk7Cith
c3NlcnQuc2FtZVZhbHVlKGFiLmJ5dGVMZW5ndGgsIDAsICdUaGUgdmFsdWUgb2YgYWIuYnl0ZUxl
bmd0aCBpcyAwJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QXJyYXlCdWZmZXIvcHJvdG90eXBlL2J5dGVMZW5ndGgvdGhpcy1pcy1zaGFyZWRhcnJheWJ1ZmZl
ci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheUJ1ZmZlci9wcm90b3R5
cGUvYnl0ZUxlbmd0aC90aGlzLWlzLXNoYXJlZGFycmF5YnVmZmVyLmpzCmluZGV4IDI4NjdkODM2
MGU1YTE4MWJjNzI1ZjhmYzc1YzE4ZDUxMjRhNjE1NGUuLmVkMzY1YjRhMDhmY2UxYjRmYzdkMjQ1
ZGQyMzI2MDRkNDY3OWQ0ZGIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9BcnJheUJ1ZmZlci9wcm90b3R5cGUvYnl0ZUxlbmd0aC90aGlzLWlzLXNoYXJlZGFycmF5
YnVmZmVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheUJ1ZmZl
ci9wcm90b3R5cGUvYnl0ZUxlbmd0aC90aGlzLWlzLXNoYXJlZGFycmF5YnVmZmVyLmpzCkBAIC00
LDE0ICs0LDIxIEBACiAvKi0tLQogZXNpZDogc2VjLWdldC1hcnJheWJ1ZmZlci5wcm90b3R5cGUu
Ynl0ZWxlbmd0aAogZGVzY3JpcHRpb246IFRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gd2hl
biBgdGhpc2AgaXMgYSBTaGFyZWRBcnJheUJ1ZmZlcgotZmVhdHVyZXM6IFtTaGFyZWRBcnJheUJ1
ZmZlcl0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdl
Yi1yZWFsaXR5LCBTaGFyZWRBcnJheUJ1ZmZlcl0KIC0tLSovCiAKLXZhciBnZXR0ZXIgPSBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKAordmFyIGJ5dGVMZW5ndGggPSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKAogICBBcnJheUJ1ZmZlci5wcm90b3R5cGUsICJieXRlTGVu
Z3RoIgotKS5nZXQ7CispOworCit2YXIgZ2V0dGVyID0gYnl0ZUxlbmd0aC5nZXQ7Cit2YXIgc2Fi
ID0gbmV3IFNoYXJlZEFycmF5QnVmZmVyKDQpOwogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
ZnVuY3Rpb24oKSB7Ci0gIHZhciBzYWIgPSBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoNCk7CiAgIGdl
dHRlci5jYWxsKHNhYik7CiB9LCAiYHRoaXNgIGNhbm5vdCBiZSBhIFNoYXJlZEFycmF5QnVmZmVy
Iik7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgT2JqZWN0LmRl
ZmluZVByb3BlcnRpZXMoc2FiLCB7IGJ5dGVMZW5ndGggfSk7CisgIHNhYi5ieXRlTGVuZ3RoOwor
fSwgImB0aGlzYCBjYW5ub3QgYmUgYSBTaGFyZWRBcnJheUJ1ZmZlciIpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FycmF5QnVmZmVyL3Byb3RvdHlwZS9zbGlj
ZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9B
cnJheUJ1ZmZlci9wcm90b3R5cGUvc2xpY2Uvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOWVhOGM0MTE2MWJiMDI2NTlmOTBkYTNmY2Y0NWY2OGRkOTdiMmNhMAotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BcnJheUJ1ZmZlci9wcm90b3R5
cGUvc2xpY2Uvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9i
amVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIEFycmF5QnVmZmVyLnByb3RvdHlwZS5zbGljZSBkb2Vz
IG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8Cisg
IEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVj
dHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBs
ZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ug
c3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24u
CisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29u
c3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgor
aW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVj
dCwgQXJyYXlCdWZmZXIsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgaXNDb25zdHJ1Y3RvcihBcnJheUJ1ZmZlci5wcm90b3R5cGUuc2xpY2UpLAorICBmYWxz
ZSwKKyAgJ2lzQ29uc3RydWN0b3IoQXJyYXlCdWZmZXIucHJvdG90eXBlLnNsaWNlKSBtdXN0IHJl
dHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxl
dCBhYiA9IG5ldyBBcnJheUJ1ZmZlcigpOyBuZXcgYWIuc2xpY2UoKTsKK30sICdgbGV0IGFiID0g
bmV3IEFycmF5QnVmZmVyKCk7IG5ldyBhYi5zbGljZSgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Bc3luY0Fycm93RnVu
Y3Rpb24vaXMtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9Bc3luY0Fycm93RnVuY3Rpb24vaXMtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hY2Jj
MDNkOTU4OTk3NTEzNTRjODAzYjdlNGQ0ZmQyNDdmMWUyNmQ3Ci0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FzeW5jQXJyb3dGdW5jdGlvbi9pcy1hLWNv
bnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNr
IFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitl
c2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlv
bjogPgorICBUaGUgQXN5bmNBcnJvd0Z1bmN0aW9uIGNvbnN0cnVjdG9yIGltcGxlbWVudHMgW1tD
b25zdHJ1Y3RdXQoraW5mbzogfAorICBJc0NvbnN0cnVjdG9yICggYXJndW1lbnQgKQorCisgIFRo
ZSBhYnN0cmFjdCBvcGVyYXRpb24gSXNDb25zdHJ1Y3RvciB0YWtlcyBhcmd1bWVudCBhcmd1bWVu
dCAoYW4gRUNNQVNjcmlwdCBsYW5ndWFnZSB2YWx1ZSkuCisgIEl0IGRldGVybWluZXMgaWYgYXJn
dW1lbnQgaXMgYSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwg
bWV0aG9kLgorICBJdCBwZXJmb3JtcyB0aGUgZm9sbG93aW5nIHN0ZXBzIHdoZW4gY2FsbGVkOgor
CisgIElmIFR5cGUoYXJndW1lbnQpIGlzIG5vdCBPYmplY3QsIHJldHVybiBmYWxzZS4KKyAgSWYg
YXJndW1lbnQgaGFzIGEgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QsIHJldHVybiB0cnVl
LgorICBSZXR1cm4gZmFsc2UuCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanMsIGhpZGRlbi1j
b25zdHJ1Y3RvcnMuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0XQorLS0tKi8KKwor
YXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKEFzeW5jQXJyb3dGdW5jdGlvbiksIHRydWUs
ICdpc0NvbnN0cnVjdG9yKEFzeW5jQXJyb3dGdW5jdGlvbikgbXVzdCByZXR1cm4gdHJ1ZScpOwor
bmV3IEFzeW5jQXJyb3dGdW5jdGlvbigpOworICAKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9Bc3luY0Z1bmN0aW9uL2lzLWEtY29uc3RydWN0b3IuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXN5bmNGdW5jdGlvbi9pcy1hLWNvbnN0cnVjdG9y
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjg2MTQ5Mjk3YTcxNzBmOGI1MzUzMWQ2MzYxMzQ0MDc4YzAxZjRmNmMK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXN5bmNG
dW5jdGlvbi9pcy1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjQgQEAKKy8vIENvcHlyaWdo
dCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmpl
Y3RzCitkZXNjcmlwdGlvbjogPgorICBUaGUgQXN5bmNGdW5jdGlvbiBjb25zdHJ1Y3RvciBpbXBs
ZW1lbnRzIFtbQ29uc3RydWN0XV0KK2luZm86IHwKKyAgSXNDb25zdHJ1Y3RvciAoIGFyZ3VtZW50
ICkKKworICBUaGUgYWJzdHJhY3Qgb3BlcmF0aW9uIElzQ29uc3RydWN0b3IgdGFrZXMgYXJndW1l
bnQgYXJndW1lbnQgKGFuIEVDTUFTY3JpcHQgbGFuZ3VhZ2UgdmFsdWUpLgorICBJdCBkZXRlcm1p
bmVzIGlmIGFyZ3VtZW50IGlzIGEgZnVuY3Rpb24gb2JqZWN0IHdpdGggYSBbW0NvbnN0cnVjdF1d
IGludGVybmFsIG1ldGhvZC4KKyAgSXQgcGVyZm9ybXMgdGhlIGZvbGxvd2luZyBzdGVwcyB3aGVu
IGNhbGxlZDoKKworICBJZiBUeXBlKGFyZ3VtZW50KSBpcyBub3QgT2JqZWN0LCByZXR1cm4gZmFs
c2UuCisgIElmIGFyZ3VtZW50IGhhcyBhIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLCBy
ZXR1cm4gdHJ1ZS4KKyAgUmV0dXJuIGZhbHNlLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpz
LCBoaWRkZW4tY29uc3RydWN0b3JzLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdF0K
Ky0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihBc3luY0Z1bmN0aW9uKSwg
dHJ1ZSwgJ2lzQ29uc3RydWN0b3IoQXN5bmNGdW5jdGlvbikgbXVzdCByZXR1cm4gdHJ1ZScpOwor
bmV3IEFzeW5jRnVuY3Rpb24oKTsKKyAgCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvQXN5bmNHZW5lcmF0b3JGdW5jdGlvbi9pcy1hLWNvbnN0cnVjdG9yLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0FzeW5jR2VuZXJhdG9yRnVuY3Rpb24vaXMt
YS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzUzYmM3OWQ1ZTE0YWYzMDQ1NTkyZjc1ODY2
NmNiYjBlYjg2M2YyCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0FzeW5jR2VuZXJhdG9yRnVuY3Rpb24vaXMtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCww
ICsxLDI4IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQt
c3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgVGhlIEFzeW5jR2Vu
ZXJhdG9yRnVuY3Rpb24gY29uc3RydWN0b3IgaW1wbGVtZW50cyBbW0NvbnN0cnVjdF1dCitpbmZv
OiB8CisgIElzQ29uc3RydWN0b3IgKCBhcmd1bWVudCApCisKKyAgVGhlIGFic3RyYWN0IG9wZXJh
dGlvbiBJc0NvbnN0cnVjdG9yIHRha2VzIGFyZ3VtZW50IGFyZ3VtZW50IChhbiBFQ01BU2NyaXB0
IGxhbmd1YWdlIHZhbHVlKS4KKyAgSXQgZGV0ZXJtaW5lcyBpZiBhcmd1bWVudCBpcyBhIGZ1bmN0
aW9uIG9iamVjdCB3aXRoIGEgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QuCisgIEl0IHBl
cmZvcm1zIHRoZSBmb2xsb3dpbmcgc3RlcHMgd2hlbiBjYWxsZWQ6CisKKyAgSWYgVHlwZShhcmd1
bWVudCkgaXMgbm90IE9iamVjdCwgcmV0dXJuIGZhbHNlLgorICBJZiBhcmd1bWVudCBoYXMgYSBb
W0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCwgcmV0dXJuIHRydWUuCisgIFJldHVybiBmYWxz
ZS4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qcywgaGlkZGVuLWNvbnN0cnVjdG9ycy5qc10K
K2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3RdCistLS0qLworCithc3NlcnQuc2FtZVZhbHVl
KAorICBpc0NvbnN0cnVjdG9yKEFzeW5jR2VuZXJhdG9yRnVuY3Rpb24pLAorICB0cnVlLAorICAn
aXNDb25zdHJ1Y3RvcihBc3luY0dlbmVyYXRvckZ1bmN0aW9uKSBtdXN0IHJldHVybiB0cnVlJwor
KTsKK25ldyBBc3luY0dlbmVyYXRvckZ1bmN0aW9uKCk7CisgIApkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3MvYWRkL25vdC1hLWNvbnN0cnVjdG9yLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3MvYWRkL25vdC1hLWNvbnN0
cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlMjk4YzNkYWM1OWI1NGU1Mjc0YWFlOWRhMGRmZTE4ODU4
YTZkYjEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QXRvbWljcy9hZGQvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWlu
LW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIEF0b21pY3MuYWRkIGRvZXMgbm90IGltcGxlbWVu
dCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBG
dW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBu
b3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tD
b25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4K
KyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZh
bHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMg
ZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lz
Q29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBBdG9taWNzLCBh
cnJvdy1mdW5jdGlvbiwgVHlwZWRBcnJheSwgU2hhcmVkQXJyYXlCdWZmZXJdCistLS0qLworCith
c3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoQXRvbWljcy5hZGQpLCBmYWxzZSwgJ2lzQ29u
c3RydWN0b3IoQXRvbWljcy5hZGQpIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJv
d3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBBdG9taWNzLmFkZChuZXcgSW50MzJBcnJheShu
ZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCkpKTsKK30s
ICdgbmV3IEF0b21pY3MuYWRkKG5ldyBJbnQzMkFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJ
bnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UKSkpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL2FuZC9ub3Qt
YS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNz
L2FuZC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZDRhODc0ODJiOTgzYTNmYTI0
YmJkMzQyZDcwNmNmMzE4MjFmODgxCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0F0b21pY3MvYW5kL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAg
KzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1z
dGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBBdG9taWNzLmFuZCBk
b2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8
CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9i
amVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBp
bXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndp
c2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rp
b24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3Io
Y29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4u
LgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0
cnVjdCwgQXRvbWljcywgYXJyb3ctZnVuY3Rpb24sIFR5cGVkQXJyYXksIFNoYXJlZEFycmF5QnVm
ZmVyXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKEF0b21pY3MuYW5k
KSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKEF0b21pY3MuYW5kKSBtdXN0IHJldHVybiBmYWxzZScp
OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgQXRvbWljcy5hbmQo
bmV3IEludDMyQXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVS
X0VMRU1FTlQpKSk7Cit9LCAnYG5ldyBBdG9taWNzLmFuZChuZXcgSW50MzJBcnJheShuZXcgU2hh
cmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCkpKWAgdGhyb3dzIFR5
cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QXRvbWljcy9jb21wYXJlRXhjaGFuZ2Uvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy9jb21wYXJlRXhjaGFuZ2Uvbm90LWEtY29uc3Ry
dWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uY2E0NGFiMzkzNmYxM2VmNWQwOTg2MThkNjAxNDRkMTQ0Zjg4
YzcxYgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9B
dG9taWNzL2NvbXBhcmVFeGNoYW5nZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMz
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRh
cmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgQXRvbWljcy5jb21wYXJlRXhj
aGFuZ2UgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQor
aW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5j
dGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBu
b3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mg
b3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFy
IGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0
cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9u
LgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVj
dC5jb25zdHJ1Y3QsIEF0b21pY3MsIGFycm93LWZ1bmN0aW9uLCBUeXBlZEFycmF5LCBTaGFyZWRB
cnJheUJ1ZmZlcl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3Io
QXRvbWljcy5jb21wYXJlRXhjaGFuZ2UpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoQXRv
bWljcy5jb21wYXJlRXhjaGFuZ2UpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IEF0b21pY3MuY29tcGFyZUV4Y2hhbmdlKG5l
dyBJbnQzMkFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9F
TEVNRU5UKSkpOworfSwgJ2BuZXcgQXRvbWljcy5jb21wYXJlRXhjaGFuZ2UobmV3IEludDMyQXJy
YXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQpKSlg
IHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0F0b21pY3MvZXhjaGFuZ2Uvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy9leGNoYW5nZS9ub3QtYS1jb25zdHJ1Y3Rv
ci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iYzhlN2VjMDI2OWVkMDljN2U5YTk5MjA1ODdhNWQ4MTY4NmQ3Yjdm
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21p
Y3MvZXhjaGFuZ2Uvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWlu
LW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIEF0b21pY3MuZXhjaGFuZ2UgZG9lcyBub3QgaW1w
bGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2Ny
aXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQg
YXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRo
ZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmll
ZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNl
Yy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9y
KSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVz
OiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIEF0b21p
Y3MsIGFycm93LWZ1bmN0aW9uLCBUeXBlZEFycmF5LCBTaGFyZWRBcnJheUJ1ZmZlcl0KKy0tLSov
CisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihBdG9taWNzLmV4Y2hhbmdlKSwgZmFs
c2UsICdpc0NvbnN0cnVjdG9yKEF0b21pY3MuZXhjaGFuZ2UpIG11c3QgcmV0dXJuIGZhbHNlJyk7
CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBBdG9taWNzLmV4Y2hh
bmdlKG5ldyBJbnQzMkFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVT
X1BFUl9FTEVNRU5UKSkpOworfSwgJ2BuZXcgQXRvbWljcy5leGNoYW5nZShuZXcgSW50MzJBcnJh
eShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCkpKWAg
dGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvQXRvbWljcy9pc0xvY2tGcmVlL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3MvaXNMb2NrRnJlZS9ub3QtYS1jb25zdHJ1
Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40MWM4MzJiYWY4MzllMWM4ZjcwNTUzNWE0YmI4YjA3MGE1MGRl
MDg1Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0
b21pY3MvaXNMb2NrRnJlZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBACisv
LyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVp
bHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgQXRvbWljcy5pc0xvY2tGcmVlIGRvZXMg
bm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAg
RUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0
cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxl
bWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBz
cGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4K
KworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25z
dHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitp
bmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0
LCBBdG9taWNzLCBhcnJvdy1mdW5jdGlvbiwgVHlwZWRBcnJheSwgU2hhcmVkQXJyYXlCdWZmZXJd
CistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoQXRvbWljcy5pc0xvY2tG
cmVlKSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKEF0b21pY3MuaXNMb2NrRnJlZSkgbXVzdCByZXR1
cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IEF0
b21pY3MuaXNMb2NrRnJlZShuZXcgSW50MzJBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50
MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCkpKTsKK30sICdgbmV3IEF0b21pY3MuaXNMb2NrRnJl
ZShuZXcgSW50MzJBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19Q
RVJfRUxFTUVOVCkpKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy9sb2FkL25vdC1hLWNvbnN0cnVjdG9yLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3MvbG9hZC9ub3QtYS1jb25z
dHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZjRiMzIzNWFmN2JjNWYxODRiOTU1NjM0YmZlMmUyNzI3
MTY2ZjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0F0b21pY3MvbG9hZC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBACisvLyBD
b3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQt
aW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgQXRvbWljcy5sb2FkIGRvZXMgbm90IGltcGxl
bWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlw
dCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFy
ZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUg
W1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQg
aW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMt
ZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3Rvcikg
aXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczog
W2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBBdG9taWNz
LCBhcnJvdy1mdW5jdGlvbiwgVHlwZWRBcnJheSwgU2hhcmVkQXJyYXlCdWZmZXJdCistLS0qLwor
Cithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoQXRvbWljcy5sb2FkKSwgZmFsc2UsICdp
c0NvbnN0cnVjdG9yKEF0b21pY3MubG9hZCkgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IEF0b21pY3MubG9hZChuZXcgSW50MzJB
cnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCkp
KTsKK30sICdgbmV3IEF0b21pY3MubG9hZChuZXcgSW50MzJBcnJheShuZXcgU2hhcmVkQXJyYXlC
dWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCkpKWAgdGhyb3dzIFR5cGVFcnJvcicp
OworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy9u
b3RpZnkvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvQXRvbWljcy9ub3RpZnkvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmQ3YzFi
MzNkNGU4NGQ3MGNhNzdlMTZhZDU4MGI4NmM1MTljMjE0YgotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL25vdGlmeS9ub3QtYS1jb25zdHJ1
Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxk
cm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDog
c2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4K
KyAgQXRvbWljcy5ub3RpZnkgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5v
dCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBC
dWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0
cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1l
dGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2Yg
YSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3
LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJy
b3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1
cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIEF0b21pY3MsIGFycm93LWZ1bmN0aW9uLCBUeXBlZEFy
cmF5LCBTaGFyZWRBcnJheUJ1ZmZlcl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25z
dHJ1Y3RvcihBdG9taWNzLm5vdGlmeSksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihBdG9taWNzLm5v
dGlmeSkgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgp
ID0+IHsKKyAgbmV3IEF0b21pY3Mubm90aWZ5KG5ldyBJbnQzMkFycmF5KG5ldyBTaGFyZWRBcnJh
eUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UKSkpOworfSwgJ2BuZXcgQXRvbWlj
cy5ub3RpZnkobmV3IEludDMyQXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKEludDMyQXJyYXku
QllURVNfUEVSX0VMRU1FTlQpKSlgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvb3Ivbm90LWEtY29uc3RydWN0
b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy9vci9ub3QtYS1j
b25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NzQ2MjU1NzlmNmY4NzBkZTA2NzBhZDE2NDdiOWYz
YmRmYjdkNjU1Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0F0b21pY3Mvb3Ivbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBAQAorLy8g
Q29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0
LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIEF0b21pY3Mub3IgZG9lcyBub3QgaW1wbGVt
ZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0
IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJl
IG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBb
W0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBp
bgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1l
dmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBp
cyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBb
aXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIEF0b21pY3Ms
IGFycm93LWZ1bmN0aW9uLCBUeXBlZEFycmF5LCBTaGFyZWRBcnJheUJ1ZmZlcl0KKy0tLSovCisK
K2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihBdG9taWNzLm9yKSwgZmFsc2UsICdpc0Nv
bnN0cnVjdG9yKEF0b21pY3Mub3IpIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJv
d3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBBdG9taWNzLm9yKG5ldyBJbnQzMkFycmF5KG5l
dyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UKSkpOworfSwg
J2BuZXcgQXRvbWljcy5vcihuZXcgSW50MzJBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50
MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCkpKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy9zdG9yZS9ub3Qt
YS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNz
L3N0b3JlL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0NzhkNTA1MDNlNWYzMmY1
YjQ0OWE5MzdiNmFjNDYyZWJmZGY1MGEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy9zdG9yZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAt
MCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5z
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3Jp
cHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgQXRvbWljcy5z
dG9yZSBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitp
bmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0
aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5v
dAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBv
dGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIg
ZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3Ry
dWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24u
CisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0
LmNvbnN0cnVjdCwgQXRvbWljcywgYXJyb3ctZnVuY3Rpb24sIFR5cGVkQXJyYXksIFNoYXJlZEFy
cmF5QnVmZmVyXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKEF0b21p
Y3Muc3RvcmUpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoQXRvbWljcy5zdG9yZSkgbXVzdCByZXR1
cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IEF0
b21pY3Muc3RvcmUobmV3IEludDMyQXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKEludDMyQXJy
YXkuQllURVNfUEVSX0VMRU1FTlQpKSk7Cit9LCAnYG5ldyBBdG9taWNzLnN0b3JlKG5ldyBJbnQz
MkFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5U
KSkpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9BdG9taWNzL3N1Yi9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3N1Yi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45NWMxYzIzZDI0ZGVmNmZjNjVhMGEwOWFiMzk4MWNlZmZmM2JlZWM2Ci0tLSAv
ZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvc3Vi
L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMg
Z292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisK
Ky8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitk
ZXNjcmlwdGlvbjogPgorICBBdG9taWNzLnN1YiBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1
Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2Jq
ZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZp
ZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0g
aW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNj
cmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisK
KyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJv
dyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9y
LmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgQXRvbWljcywgYXJyb3ctZnVuY3Rp
b24sIFR5cGVkQXJyYXksIFNoYXJlZEFycmF5QnVmZmVyXQorLS0tKi8KKworYXNzZXJ0LnNhbWVW
YWx1ZShpc0NvbnN0cnVjdG9yKEF0b21pY3Muc3ViKSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKEF0
b21pY3Muc3ViKSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgKCkgPT4geworICBuZXcgQXRvbWljcy5zdWIobmV3IEludDMyQXJyYXkobmV3IFNoYXJlZEFy
cmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQpKSk7Cit9LCAnYG5ldyBBdG9t
aWNzLnN1YihuZXcgSW50MzJBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5C
WVRFU19QRVJfRUxFTUVOVCkpKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0L2ZhbHNlLWZvci10aW1l
b3V0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdC9mYWxz
ZS1mb3ItdGltZW91dC5qcwppbmRleCBlNzIyYmNlYWZmMWNiNGRhNDE4OWU0ODY2MDQyZDUxOWU0
NzgxMjEyLi4zYTBkNjJhM2RkNzAzNjU4MzU5YWRiNjQ2Y2E5ODM1NDllNWQ5MjFiIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0L2ZhbHNlLWZv
ci10aW1lb3V0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNz
L3dhaXQvZmFsc2UtZm9yLXRpbWVvdXQuanMKQEAgLTE2LDkgKzE2LDcgQEAgZmVhdHVyZXM6IFtB
dG9taWNzLCBTaGFyZWRBcnJheUJ1ZmZlciwgU3ltYm9sLCBTeW1ib2wudG9QcmltaXRpdmUsIFR5
cGVkQXJyYXldCiBmbGFnczogW0NhbkJsb2NrSXNUcnVlXQogLS0tKi8KIAotY29uc3QgaTMyYSA9
IG5ldyBJbnQzMkFycmF5KAotICBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRF
U19QRVJfRUxFTUVOVCAqIDQpCi0pOworY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KG5ldyBT
aGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkpOwogCiBj
b25zdCB2YWx1ZU9mID0gewogICB2YWx1ZU9mOiBmdW5jdGlvbigpIHsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iYWQtcmFuZ2Uu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmFk
LXJhbmdlLmpzCmluZGV4IDMzMmNmZTRlYzNiNzc3ZmQxY2QzY2UyZjdkOTRkZDk3MDgxNmIxOWEu
LmNlZDE5MjZhNzA0NTcxNDk0YzZkOWY5YTI1OWY4OTgzZWEyYzUwMGEgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iYWQtcmFuZ2Uu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5j
L2JhZC1yYW5nZS5qcwpAQCAtMTksNyArMTksNyBAQCBpbmZvOiB8CiBpbmNsdWRlczogW3Rlc3RB
dG9taWNzLmpzXQogZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luYywgQXRvbWljcywgU2hhcmVk
QXJyYXlCdWZmZXIsIEFycmF5QnVmZmVyLCBEYXRhVmlldywgU3ltYm9sLCBUeXBlZEFycmF5XQog
LS0tKi8KLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rp
b24nKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rp
b24nLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgQXRvbWljcy53YWl0QXN5bmNgIGlzICJmdW5jdGlv
biInKTsKIGNvbnN0IGkzMmEgPSBuZXcgSW50MzJBcnJheSgKICAgbmV3IFNoYXJlZEFycmF5QnVm
ZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA4KQogKTsKQEAgLTI3LDcgKzI3LDcg
QEAgY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KAogdGVzdFdpdGhBdG9taWNzT3V0T2ZCb3Vu
ZHNJbmRpY2VzKGZ1bmN0aW9uKElkeEdlbikgewogICBhc3NlcnQudGhyb3dzKFJhbmdlRXJyb3Is
IGZ1bmN0aW9uKCkgewogICAgIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIElkeEdlbihpMzJhKSwg
MCwgMCk7Ci0gIH0sICdgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgSWR4R2VuKGkzMmEpLCAwLCAw
KWAgdGhyb3dzIFJhbmdlRXJyb3InKTsKKyAgfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpMzJhLCBJ
ZHhHZW4oaTMyYSksIDAsIDApYCB0aHJvd3MgYSBSYW5nZUVycm9yIGV4Y2VwdGlvbicpOwogfSk7
CiAKIApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mv
d2FpdEFzeW5jL2JpZ2ludC9iYWQtcmFuZ2UuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L2JhZC1yYW5nZS5qcwppbmRleCAzOThkZmFl
ODQ0MTNhMGQ0YzJhYjc0Yjg1OGZmMDcyZmNjYTc3Yjg1Li5iNThkNjFlMDE5MWE2NmMzNDk4OTk3
ZmEyYjE4ZWI4ZmM3Nzk1MmJkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L2JhZC1yYW5nZS5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L2JhZC1yYW5n
ZS5qcwpAQCAtMTgsMTEgKzE4LDExIEBAIGluZm86IHwKIGluY2x1ZGVzOiBbdGVzdEF0b21pY3Mu
anNdCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBBdG9taWNzLCBTaGFyZWRBcnJheUJ1
ZmZlciwgQXJyYXlCdWZmZXIsIERhdGFWaWV3LCBTeW1ib2wsIFR5cGVkQXJyYXksIEJpZ0ludF0K
IC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0
aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0
aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rp
b24iJyk7CiBjb25zdCBpNjRhID0gbmV3IEJpZ0ludDY0QXJyYXkobmV3IFNoYXJlZEFycmF5QnVm
ZmVyKEJpZ0ludDY0QXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA4KSk7CiAKIHRlc3RXaXRoQXRv
bWljc091dE9mQm91bmRzSW5kaWNlcyhmdW5jdGlvbihJZHhHZW4pIHsKICAgYXNzZXJ0LnRocm93
cyhSYW5nZUVycm9yLCBmdW5jdGlvbigpIHsKICAgICBBdG9taWNzLndhaXRBc3luYyhpNjRhLCBJ
ZHhHZW4oaTY0YSksIDBuLCAwKTsKLSAgfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpNjRhLCBJZHhH
ZW4oaTY0YSksIDBuLCAwKWAgdGhyb3dzIFJhbmdlRXJyb3InKTsKKyAgfSwgJ2BBdG9taWNzLndh
aXRBc3luYyhpNjRhLCBJZHhHZW4oaTY0YSksIDBuLCAwKWAgdGhyb3dzIGEgUmFuZ2VFcnJvciBl
eGNlcHRpb24nKTsKIH0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9mYWxzZS1mb3ItdGltZW91dC1hZ2VudC5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQv
ZmFsc2UtZm9yLXRpbWVvdXQtYWdlbnQuanMKaW5kZXggN2RkZjAyNWVlZGFjNDIxMTNjMmMxMTZl
ZWQzNTEyNWNjYmI3YmM0Mi4uMThhOTI0YWIwN2ViN2NlMGYyMTVhMGRjMWVkM2YxMDgyM2Y0MjJk
YSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2Fp
dEFzeW5jL2JpZ2ludC9mYWxzZS1mb3ItdGltZW91dC1hZ2VudC5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L2ZhbHNlLWZvci10
aW1lb3V0LWFnZW50LmpzCkBAIC0xNyw3ICsxNyw3IEBAIGZsYWdzOiBbYXN5bmNdCiBpbmNsdWRl
czogW2F0b21pY3NIZWxwZXIuanNdCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBTaGFy
ZWRBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgQXRvbWljcywgQmlnSW50LCBhcnJvdy1mdW5jdGlv
biwgYXN5bmMtZnVuY3Rpb25zXQogLS0tKi8KLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21p
Y3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21p
Y3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgQXRvbWljcy53
YWl0QXN5bmNgIGlzICJmdW5jdGlvbiInKTsKIGNvbnN0IFJVTk5JTkcgPSAxOwogCiAkMjYyLmFn
ZW50LnN0YXJ0KGAKQEAgLTQ5LDQzICs0OSw0NyBAQCAkMjYyLmFnZW50LnN0YXJ0KGAKIGNvbnN0
IGk2NGEgPSBuZXcgQmlnSW50NjRBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoQmlnSW50NjRB
cnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpKTsKIAogJDI2Mi5hZ2VudC5zYWZlQnJvYWRjYXN0
QXN5bmMoaTY0YSwgUlVOTklORywgMW4pLnRoZW4oYXN5bmMgYWdlbnRDb3VudCA9PiB7Ci0gIGFz
c2VydC5zYW1lVmFsdWUoYWdlbnRDb3VudCwgMW4pOworICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50
Q291bnQsIDFuLCAnVGhlIHZhbHVlIG9mIGBhZ2VudENvdW50YCBpcyAxbicpOwogCiAgIGFzc2Vy
dC5zYW1lVmFsdWUoCiAgICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAogICAg
ICd0aW1lZC1vdXQnLAotICAgICdhd2FpdCBBdG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwg
ZmFsc2UpLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICAgICcoYXdhaXQgJDI2Mi5h
Z2VudC5nZXRSZXBvcnRBc3luYygpKSByZXNvbHZlcyB0byB0aGUgdmFsdWUgInRpbWVkLW91dCIn
CiAgICk7CiAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBhd2FpdCAkMjYyLmFnZW50LmdldFJl
cG9ydEFzeW5jKCksCiAgICAgJ3RpbWVkLW91dCcsCi0gICAgJ2F3YWl0IEF0b21pY3Mud2FpdEFz
eW5jKGk2NGEsIDAsIDBuLCB2YWx1ZU9mKS52YWx1ZSByZXNvbHZlcyB0byAidGltZWQtb3V0IicK
KyAgICAnKGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSkgcmVzb2x2ZXMgdG8gdGhl
IHZhbHVlICJ0aW1lZC1vdXQiJwogICApOwogCiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgYXdh
aXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAogICAgICd0aW1lZC1vdXQnLAotICAgICdh
d2FpdCBBdG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwgdG9QcmltaXRpdmUpLnZhbHVlIHJl
c29sdmVzIHRvICJ0aW1lZC1vdXQiJworICAgICcoYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRB
c3luYygpKSByZXNvbHZlcyB0byB0aGUgdmFsdWUgInRpbWVkLW91dCInCiAgICk7CiAKICAgYXNz
ZXJ0LnNhbWVWYWx1ZSgKICAgICBhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCksCiAg
ICAgJ3RpbWVkLW91dCcsCi0gICAgJ0F0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAsIDBuLCBmYWxz
ZSkudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICAgJyhhd2FpdCAkMjYyLmFnZW50
LmdldFJlcG9ydEFzeW5jKCkpIHJlc29sdmVzIHRvIHRoZSB2YWx1ZSAidGltZWQtb3V0IicKICAg
KTsKIAogICBhc3NlcnQuc2FtZVZhbHVlKAogICAgIGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0
QXN5bmMoKSwKICAgICAndGltZWQtb3V0JywKLSAgICAnQXRvbWljcy53YWl0QXN5bmMoaTY0YSwg
MCwgMG4sIHZhbHVlT2YpLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICAgICcoYXdh
aXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpKSByZXNvbHZlcyB0byB0aGUgdmFsdWUgInRp
bWVkLW91dCInCiAgICk7CiAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBhd2FpdCAkMjYyLmFn
ZW50LmdldFJlcG9ydEFzeW5jKCksCiAgICAgJ3RpbWVkLW91dCcsCi0gICAgJ0F0b21pY3Mud2Fp
dEFzeW5jKGk2NGEsIDAsIDBuLCB0b1ByaW1pdGl2ZSkudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVk
LW91dCInCisgICAgJyhhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCkpIHJlc29sdmVz
IHRvIHRoZSB2YWx1ZSAidGltZWQtb3V0IicKICAgKTsKIAotICBhc3NlcnQuc2FtZVZhbHVlKEF0
b21pY3Mubm90aWZ5KGk2NGEsIDApLCAwLCAnQXRvbWljcy5ub3RpZnkoaTY0YSwgMCkgcmV0dXJu
cyAwJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgQXRvbWljcy5ub3RpZnkoaTY0YSwgMCks
CisgICAgMCwKKyAgICAnQXRvbWljcy5ub3RpZnkobmV3IEJpZ0ludDY0QXJyYXkobmV3IFNoYXJl
ZEFycmF5QnVmZmVyKEJpZ0ludDY0QXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KSksIDApIG11
c3QgcmV0dXJuIDAnCisgICk7CiB9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L2Zh
bHNlLWZvci10aW1lb3V0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21p
Y3Mvd2FpdEFzeW5jL2JpZ2ludC9mYWxzZS1mb3ItdGltZW91dC5qcwppbmRleCAxNzY4NjYwZjNk
NWZiNGVhYmJhN2EyN2JiZTk5ZjA0ODJhOTE0MmYyLi40ZTFlOTg4NzhmNDQ1OTgwN2EzYTBhOTQx
OGJhYmU0OWQxZTAyYWE0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L2ZhbHNlLWZvci10aW1lb3V0LmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvZmFs
c2UtZm9yLXRpbWVvdXQuanMKQEAgLTE2LDcgKzE2LDcgQEAgaW5mbzogfAogZmxhZ3M6IFthc3lu
Y10KIGZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBUeXBl
ZEFycmF5LCBBdG9taWNzLCBCaWdJbnQsIGNvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBTeW1ib2ws
IFN5bWJvbC50b1ByaW1pdGl2ZSwgYXJyb3ctZnVuY3Rpb25dCiAtLS0qLwotYXNzZXJ0LnNhbWVW
YWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicpOworYXNzZXJ0LnNhbWVW
YWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicsICdUaGUgdmFsdWUgb2Yg
YHR5cGVvZiBBdG9taWNzLndhaXRBc3luY2AgaXMgImZ1bmN0aW9uIicpOwogY29uc3QgaTY0YSA9
IG5ldyBCaWdJbnQ2NEFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihCaWdJbnQ2NEFycmF5LkJZ
VEVTX1BFUl9FTEVNRU5UICogNCkpOwogCiBjb25zdCB2YWx1ZU9mID0gewpAQCAtMzQsMTkgKzM0
LDE5IEBAIGNvbnN0IHRvUHJpbWl0aXZlID0gewogYXNzZXJ0LnNhbWVWYWx1ZSgKICAgQXRvbWlj
cy53YWl0QXN5bmMoaTY0YSwgMCwgMG4sIGZhbHNlKS52YWx1ZSwKICAgJ3RpbWVkLW91dCcsCi0g
ICdBdG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwgZmFsc2UpLnZhbHVlIHJlc29sdmVzIHRv
ICJ0aW1lZC1vdXQiJworICAnVGhlIHZhbHVlIG9mIEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAs
IDBuLCBmYWxzZSkudmFsdWUgaXMgInRpbWVkLW91dCInCiApOwogCiBhc3NlcnQuc2FtZVZhbHVl
KAogICBBdG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwgdmFsdWVPZikudmFsdWUsCiAgICd0
aW1lZC1vdXQnLAotICAnQXRvbWljcy53YWl0QXN5bmMoaTY0YSwgMCwgMG4sIGZhbHNlKS52YWx1
ZSByZXNvbHZlcyB0byAidGltZWQtb3V0IicKKyAgJ1RoZSB2YWx1ZSBvZiBBdG9taWNzLndhaXRB
c3luYyhpNjRhLCAwLCAwbiwgdmFsdWVPZikudmFsdWUgaXMgInRpbWVkLW91dCInCiApOwogCiBh
c3NlcnQuc2FtZVZhbHVlKAogICBBdG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwgdG9Qcmlt
aXRpdmUpLnZhbHVlLAogICAndGltZWQtb3V0JywKLSAgJ0F0b21pY3Mud2FpdEFzeW5jKGk2NGEs
IDAsIDBuLCBmYWxzZSkudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICdUaGUgdmFs
dWUgb2YgQXRvbWljcy53YWl0QXN5bmMoaTY0YSwgMCwgMG4sIHRvUHJpbWl0aXZlKS52YWx1ZSBp
cyAidGltZWQtb3V0IicKICk7CiAKIFByb21pc2UuYWxsKFsKQEAgLTU0LDcgKzU0LDcgQEAgUHJv
bWlzZS5hbGwoWwogICBBdG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwgdmFsdWVPZikudmFs
dWUsCiAgIEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAsIDBuLCB0b1ByaW1pdGl2ZSkudmFsdWUK
IF0pLnRoZW4ob3V0Y29tZXMgPT4gewotICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWVzWzBdLCAn
dGltZWQtb3V0Jyk7Ci0gIGFzc2VydC5zYW1lVmFsdWUob3V0Y29tZXNbMV0sICd0aW1lZC1vdXQn
KTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShvdXRjb21lc1syXSwgJ3RpbWVkLW91dCcpOworICBhc3Nl
cnQuc2FtZVZhbHVlKG91dGNvbWVzWzBdLCAndGltZWQtb3V0JywgJ1RoZSB2YWx1ZSBvZiBvdXRj
b21lc1swXSBpcyAidGltZWQtb3V0IicpOworICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWVzWzFd
LCAndGltZWQtb3V0JywgJ1RoZSB2YWx1ZSBvZiBvdXRjb21lc1sxXSBpcyAidGltZWQtb3V0Iicp
OworICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWVzWzJdLCAndGltZWQtb3V0JywgJ1RoZSB2YWx1
ZSBvZiBvdXRjb21lc1syXSBpcyAidGltZWQtb3V0IicpOwogfSkudGhlbigkRE9ORSwgJERPTkUp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2Fp
dEFzeW5jL2JpZ2ludC9nb29kLXZpZXdzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9nb29kLXZpZXdzLmpzCmluZGV4IGU5YTY4YWY3
NTE3M2NjYzA1ZGFjOGVmZTY5MTk4YmY4NWEwODU3NjAuLjRiN2U5MWMzNzZmYzdmYjEzMWY5ZDQy
Y2IyYzlmMjRlYTRmMGQ1YmIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvZ29vZC12aWV3cy5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L2dvb2Qtdmll
d3MuanMKQEAgLTksNyArOSw3IEBAIGZsYWdzOiBbYXN5bmNdCiBpbmNsdWRlczogW2F0b21pY3NI
ZWxwZXIuanNdCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBBdG9taWNzLCBCaWdJbnRd
CiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5j
dGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5j
dGlvbicsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBBdG9taWNzLndhaXRBc3luY2AgaXMgImZ1bmN0
aW9uIicpOwogCiAkMjYyLmFnZW50LnN0YXJ0KGAKICAgKGFzeW5jICgpID0+IHsKQEAgLTU0LDE3
ICs1NCwxNyBAQCAkMjYyLmFnZW50LnN0YXJ0KGAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBv
dXRjb21lc1swXSwKICAgICAnQSB0aW1lZC1vdXQnLAotICAgICciQSAiICsgKGF3YWl0IEF0b21p
Y3Mud2FpdEFzeW5jKHZpZXcsIDAsIDBuLCAwKS52YWx1ZSByZXNvbHZlcyB0byAiQSB0aW1lZC1v
dXQiJworICAgICdUaGUgdmFsdWUgb2Ygb3V0Y29tZXNbMF0gaXMgIkEgdGltZWQtb3V0IicKICAg
KTsKIAogICBhc3NlcnQuc2FtZVZhbHVlKAogICAgIG91dGNvbWVzWzFdLAogICAgICdCIG5vdC1l
cXVhbCcsCi0gICAgJyJCICIgKyAoYXdhaXQgQXRvbWljcy53YWl0QXN5bmModmlldywgMCwgMzdu
LCAwKS52YWx1ZSByZXNvbHZlcyB0byAiQiBub3QtZXF1YWwiJworICAgICdUaGUgdmFsdWUgb2Yg
b3V0Y29tZXNbMV0gaXMgIkIgbm90LWVxdWFsIicKICAgKTsKICAgYXNzZXJ0LnNhbWVWYWx1ZSgK
ICAgICBvdXRjb21lc1syXSwKICAgICAnQyBub3QtZXF1YWwsbm90LWVxdWFsLG5vdC1lcXVhbCxu
b3QtZXF1YWwsbm90LWVxdWFsJywKLSAgICAnQWxsIEMgdmFsdWVzIGFyZSBub3QgZXF1YWwnCisg
ICAgJ1RoZSB2YWx1ZSBvZiBvdXRjb21lc1syXSBpcyAiQyBub3QtZXF1YWwsbm90LWVxdWFsLG5v
dC1lcXVhbCxub3QtZXF1YWwsbm90LWVxdWFsIicKICAgKTsKIH0pKCkudGhlbigkRE9ORSwgJERP
TkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mv
d2FpdEFzeW5jL2JpZ2ludC9uYW4tZm9yLXRpbWVvdXQtYWdlbnQuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L25hbi1mb3ItdGltZW91
dC1hZ2VudC5qcwppbmRleCA5NTI0YWU4NzRlN2I0YzViNDY3NDU3ZGY3YzE3ZjI3MzAzN2I0Njc3
Li41NDIxMTg0YWI2NGQ2YmE1YjUzNDc3NmY4OGVkNzczNzE5NzZmOTIyIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L25h
bi1mb3ItdGltZW91dC1hZ2VudC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L25hbi1mb3ItdGltZW91dC1hZ2VudC5qcwpAQCAt
MTcsNyArMTcsNyBAQCBmbGFnczogW2FzeW5jXQogaW5jbHVkZXM6IFthdG9taWNzSGVscGVyLmpz
XQogZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luYywgU2hhcmVkQXJyYXlCdWZmZXIsIFR5cGVk
QXJyYXksIEF0b21pY3MsIEJpZ0ludCwgYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9uc10K
IC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0
aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0
aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rp
b24iJyk7CiBjb25zdCBSVU5OSU5HID0gMTsKIAogJDI2Mi5hZ2VudC5zdGFydChgCkBAIC0zMywx
MiArMzMsMTcgQEAgJDI2Mi5hZ2VudC5zdGFydChgCiBjb25zdCBpNjRhID0gbmV3IEJpZ0ludDY0
QXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKEJpZ0ludDY0QXJyYXkuQllURVNfUEVSX0VMRU1F
TlQgKiA0KSk7CiAKICQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5jKGk2NGEsIFJVTk5JTkcs
IDFuKS50aGVuKGFzeW5jIGFnZW50Q291bnQgPT4gewotICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50
Q291bnQsIDFuKTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpNjRhLCAwKSwg
MSwgJ0F0b21pY3Mubm90aWZ5KGk2NGEsIDApIHJldHVybnMgMScpOworICBhc3NlcnQuc2FtZVZh
bHVlKGFnZW50Q291bnQsIDFuLCAnVGhlIHZhbHVlIG9mIGBhZ2VudENvdW50YCBpcyAxbicpOwor
CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgQXRvbWljcy5ub3RpZnkoaTY0YSwgMCksCisgICAg
MSwKKyAgICAnQXRvbWljcy5ub3RpZnkobmV3IEJpZ0ludDY0QXJyYXkobmV3IFNoYXJlZEFycmF5
QnVmZmVyKEJpZ0ludDY0QXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KSksIDApIG11c3QgcmV0
dXJuIDEnCisgICk7CiAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBhd2FpdCAkMjYyLmFnZW50
LmdldFJlcG9ydEFzeW5jKCksCiAgICAgJ29rJywKLSAgICAnYXdhaXQgQXRvbWljcy53YWl0QXN5
bmMoaTY0YSwgMCwgMG4sIE5hTikudmFsdWUgcmVzb2x2ZXMgdG8gIm9rIicKKyAgICAnKGF3YWl0
ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSkgcmVzb2x2ZXMgdG8gdGhlIHZhbHVlICJvayIn
CiAgICk7CiB9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L25lZ2F0aXZlLWluZGV4
LXRocm93cy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRB
c3luYy9iaWdpbnQvbmVnYXRpdmUtaW5kZXgtdGhyb3dzLmpzCmluZGV4IDM5MDA0YWEzYzdjNTE2
ZDExMGIyZThmNGYzNDJkMjU3YWFmZjVjM2MuLjk1M2EwNWUzNzNmYWVjMTU3OTdjYTg4NWU1YzBm
NmFkNjBlZjM2NWIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9B
dG9taWNzL3dhaXRBc3luYy9iaWdpbnQvbmVnYXRpdmUtaW5kZXgtdGhyb3dzLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvbmVn
YXRpdmUtaW5kZXgtdGhyb3dzLmpzCkBAIC0xNyw3ICsxNyw3IEBAIGluZm86IHwKIAogZmVhdHVy
ZXM6IFtBdG9taWNzLndhaXRBc3luYywgU2hhcmVkQXJyYXlCdWZmZXIsIFR5cGVkQXJyYXksIEF0
b21pY3MsIEJpZ0ludF0KIC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndh
aXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndh
aXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFz
eW5jYCBpcyAiZnVuY3Rpb24iJyk7CiBjb25zdCBpNjRhID0gbmV3IEJpZ0ludDY0QXJyYXkoCiAg
IG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihCaWdJbnQ2NEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICog
NCkKICk7CkBAIC0zMCwxNCArMzAsMTQgQEAgY29uc3QgcG9pc29uZWQgPSB7CiAKIGFzc2VydC50
aHJvd3MoUmFuZ2VFcnJvciwgZnVuY3Rpb24oKSB7CiAgIEF0b21pY3Mud2FpdEFzeW5jKGk2NGEs
IC1JbmZpbml0eSwgcG9pc29uZWQsIHBvaXNvbmVkKTsKLX0sICdgQXRvbWljcy53YWl0QXN5bmMo
aTY0YSwgLUluZmluaXR5LCBwb2lzb25lZCwgcG9pc29uZWQpYCB0aHJvd3MgUmFuZ2VFcnJvcicp
OworfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpNjRhLCAtSW5maW5pdHksIHBvaXNvbmVkLCBwb2lz
b25lZClgIHRocm93cyBhIFJhbmdlRXJyb3IgZXhjZXB0aW9uJyk7CiBhc3NlcnQudGhyb3dzKFJh
bmdlRXJyb3IsIGZ1bmN0aW9uKCkgewogICBBdG9taWNzLndhaXRBc3luYyhpNjRhLCAtNy45OTks
IHBvaXNvbmVkLCBwb2lzb25lZCk7Ci19LCAnYEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIC03Ljk5
OSwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIFJhbmdlRXJyb3InKTsKK30sICdgQXRvbWlj
cy53YWl0QXN5bmMoaTY0YSwgLTcuOTk5LCBwb2lzb25lZCwgcG9pc29uZWQpYCB0aHJvd3MgYSBS
YW5nZUVycm9yIGV4Y2VwdGlvbicpOwogYXNzZXJ0LnRocm93cyhSYW5nZUVycm9yLCBmdW5jdGlv
bigpIHsKICAgQXRvbWljcy53YWl0QXN5bmMoaTY0YSwgLTEsIHBvaXNvbmVkLCBwb2lzb25lZCk7
Ci19LCAnYEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIC0xLCBwb2lzb25lZCwgcG9pc29uZWQpYCB0
aHJvd3MgUmFuZ2VFcnJvcicpOworfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpNjRhLCAtMSwgcG9p
c29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIGEgUmFuZ2VFcnJvciBleGNlcHRpb24nKTsKIGFzc2Vy
dC50aHJvd3MoUmFuZ2VFcnJvciwgZnVuY3Rpb24oKSB7CiAgIEF0b21pY3Mud2FpdEFzeW5jKGk2
NGEsIC0zMDAsIHBvaXNvbmVkLCBwb2lzb25lZCk7Ci19LCAnYEF0b21pY3Mud2FpdEFzeW5jKGk2
NGEsIC0zMDAsIHBvaXNvbmVkLCBwb2lzb25lZClgIHRocm93cyBSYW5nZUVycm9yJyk7Cit9LCAn
YEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIC0zMDAsIHBvaXNvbmVkLCBwb2lzb25lZClgIHRocm93
cyBhIFJhbmdlRXJyb3IgZXhjZXB0aW9uJyk7CiAKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvbmVnYXRpdmUtdGltZW91
dC1hZ2VudC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRB
c3luYy9iaWdpbnQvbmVnYXRpdmUtdGltZW91dC1hZ2VudC5qcwppbmRleCA2ZjY5MWExMmRhOTRm
NTk1ODhhZDg3YmFlNzQ2OWMyYTZmY2Q3M2VlLi5hYzcwZDEyMGViZDVmMDVkZWY4NWNhMzUzMGM3
MzkzZDhiMTJiZTk5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QXRvbWljcy93YWl0QXN5bmMvYmlnaW50L25lZ2F0aXZlLXRpbWVvdXQtYWdlbnQuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9u
ZWdhdGl2ZS10aW1lb3V0LWFnZW50LmpzCkBAIC0xNyw3ICsxNyw3IEBAIGZsYWdzOiBbYXN5bmNd
CiBpbmNsdWRlczogW2F0b21pY3NIZWxwZXIuanNdCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFz
eW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgQXRvbWljcywgQmlnSW50LCBhcnJv
dy1mdW5jdGlvbiwgYXN5bmMtZnVuY3Rpb25zXQogLS0tKi8KLWFzc2VydC5zYW1lVmFsdWUodHlw
ZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlw
ZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2Yg
QXRvbWljcy53YWl0QXN5bmNgIGlzICJmdW5jdGlvbiInKTsKIGNvbnN0IFJVTk5JTkcgPSAxOwog
CiAkMjYyLmFnZW50LnN0YXJ0KGAKQEAgLTMyLDEzICszMiwxNyBAQCAkMjYyLmFnZW50LnN0YXJ0
KGAKIGNvbnN0IGk2NGEgPSBuZXcgQmlnSW50NjRBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIo
QmlnSW50NjRBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpKTsKIAogJDI2Mi5hZ2VudC5zYWZl
QnJvYWRjYXN0QXN5bmMoaTY0YSwgUlVOTklORywgMW4pLnRoZW4oYXN5bmMgYWdlbnRDb3VudCA9
PiB7Ci0gIGFzc2VydC5zYW1lVmFsdWUoYWdlbnRDb3VudCwgMW4pOworICBhc3NlcnQuc2FtZVZh
bHVlKGFnZW50Q291bnQsIDFuLCAnVGhlIHZhbHVlIG9mIGBhZ2VudENvdW50YCBpcyAxbicpOwog
CiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3lu
YygpLAogICAgICd0aW1lZC1vdXQnLAotICAgICdhd2FpdCBBdG9taWNzLndhaXRBc3luYyhpNjRh
LCAwLCAwbiwgLTUpLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICAgICcoYXdhaXQg
JDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpKSByZXNvbHZlcyB0byB0aGUgdmFsdWUgInRpbWVk
LW91dCInCiAgICk7CiAKLSAgYXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpNjRhLCAw
KSwgMCwgJ0F0b21pY3Mubm90aWZ5KGk2NGEsIDApIHJldHVybnMgMCcpOworICBhc3NlcnQuc2Ft
ZVZhbHVlKAorICAgIEF0b21pY3Mubm90aWZ5KGk2NGEsIDApLAorICAgIDAsCisgICAgJ0F0b21p
Y3Mubm90aWZ5KG5ldyBCaWdJbnQ2NEFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihCaWdJbnQ2
NEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkpLCAwKSBtdXN0IHJldHVybiAwJworICApOwog
fSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9uZWdhdGl2ZS10aW1lb3V0LmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9u
ZWdhdGl2ZS10aW1lb3V0LmpzCmluZGV4IGRkZDczMWFmYTc0NjI5YTkxNDFiZThkMzIwNjkyZWNk
OWU3OTI0YjYuLmJmY2Y4OTI1ZDlmMGM1MjU5MjZmN2UzZjk4MjJjN2Q1NmFiNTdlMjkgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9i
aWdpbnQvbmVnYXRpdmUtdGltZW91dC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L25lZ2F0aXZlLXRpbWVvdXQuanMKQEAgLTE2
LDEzICsxNiw5IEBAIGluZm86IHwKIGZsYWdzOiBbYXN5bmNdCiBmZWF0dXJlczogW0F0b21pY3Mu
d2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgQXRvbWljcywgQmlnSW50
LCBkZXN0cnVjdHVyaW5nLWJpbmRpbmcsIGFycm93LWZ1bmN0aW9uXQogLS0tKi8KLWFzc2VydC5z
YW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nKTsKK2Fzc2VydC5z
YW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nLCAnVGhlIHZhbHVl
IG9mIGB0eXBlb2YgQXRvbWljcy53YWl0QXN5bmNgIGlzICJmdW5jdGlvbiInKTsKIGNvbnN0IGk2
NGEgPSBuZXcgQmlnSW50NjRBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoQmlnSW50NjRBcnJh
eS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpKTsKIAogUHJvbWlzZS5hbGwoW0F0b21pY3Mud2FpdEFz
eW5jKGk2NGEsIDAsIDBuLCAtMSkudmFsdWVdKS50aGVuKChbb3V0Y29tZV0pID0+IHsKLSAgYXNz
ZXJ0LnNhbWVWYWx1ZSgKLSAgICBvdXRjb21lLAotICAgICd0aW1lZC1vdXQnLAotICAgICdBdG9t
aWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwgLTEpLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1v
dXQiJwotICApOworICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWUsICd0aW1lZC1vdXQnLCAnVGhl
IHZhbHVlIG9mIGBvdXRjb21lYCBpcyAidGltZWQtb3V0IicpOwogfSkudGhlbigkRE9ORSwgJERP
TkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mv
d2FpdEFzeW5jL2JpZ2ludC9uby1zcHVyaW91cy13YWtldXAtbm8tb3BlcmF0aW9uLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9uby1z
cHVyaW91cy13YWtldXAtbm8tb3BlcmF0aW9uLmpzCmluZGV4IDgwNTA1ZTQyZTdjZjg0YjRiOTcx
YWNhMzc0NTJmZTYwOWQ4ODc5YTguLjMyOGM3MTkyZTEwYmM0ZTRiMjc1NTFhYjMxOWY5ZDc4MTE4
MDliZGMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNz
L3dhaXRBc3luYy9iaWdpbnQvbm8tc3B1cmlvdXMtd2FrZXVwLW5vLW9wZXJhdGlvbi5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50
L25vLXNwdXJpb3VzLXdha2V1cC1uby1vcGVyYXRpb24uanMKQEAgLTI1LDcgKzI1LDcgQEAgZmxh
Z3M6IFthc3luY10KIGluY2x1ZGVzOiBbYXRvbWljc0hlbHBlci5qc10KIGZlYXR1cmVzOiBbQXRv
bWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBUeXBlZEFycmF5LCBBdG9taWNzLCBC
aWdJbnQsIGFycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnNdCiAtLS0qLwotYXNzZXJ0LnNh
bWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicpOworYXNzZXJ0LnNh
bWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicsICdUaGUgdmFsdWUg
b2YgYHR5cGVvZiBBdG9taWNzLndhaXRBc3luY2AgaXMgImZ1bmN0aW9uIicpOwogY29uc3QgUlVO
TklORyA9IDE7CiBjb25zdCBUSU1FT1VUID0gJDI2Mi5hZ2VudC50aW1lb3V0cy5zbWFsbDsKIGNv
bnN0IGk2NGEgPSBuZXcgQmlnSW50NjRBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoQmlnSW50
NjRBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpKTsKQEAgLTQ2LDE2ICs0NiwxNSBAQCAkMjYy
LmFnZW50LnN0YXJ0KGAKIGApOwogCiAkMjYyLmFnZW50LnNhZmVCcm9hZGNhc3RBc3luYyhpNjRh
LCBSVU5OSU5HLCAxbikudGhlbihhc3luYyBhZ2VudENvdW50ID0+IHsKLSAgYXNzZXJ0LnNhbWVW
YWx1ZShhZ2VudENvdW50LCAxbik7CisgIGFzc2VydC5zYW1lVmFsdWUoYWdlbnRDb3VudCwgMW4s
ICdUaGUgdmFsdWUgb2YgYGFnZW50Q291bnRgIGlzIDFuJyk7CiAgIGNvbnN0IGxhcHNlID0gYXdh
aXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpOwotICBhc3NlcnQobGFwc2UgPj0gVElNRU9V
VCwgJ1RoZSByZXN1bHQgb2YgYChsYXBzZSA+PSBUSU1FT1VUKWAgaXMgdHJ1ZScpOworICBhc3Nl
cnQobGFwc2UgPj0gVElNRU9VVCwgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBgKGxhcHNlID49
IFRJTUVPVVQpYCBpcyB0cnVlJyk7CiAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0ICQyNjIuYWdlbnQu
Z2V0UmVwb3J0QXN5bmMoKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsICd0aW1lZC1vdXQn
LCAnVGhlIHZhbHVlIG9mIGByZXN1bHRgIGlzICJ0aW1lZC1vdXQiJyk7CiAKICAgYXNzZXJ0LnNh
bWVWYWx1ZSgKLSAgICByZXN1bHQsCi0gICAgJ3RpbWVkLW91dCcsCi0gICAgJ2F3YWl0IEF0b21p
Y3Mud2FpdEFzeW5jKGk2NGEsIDAsIDBuLCAke1RJTUVPVVR9KS52YWx1ZSByZXNvbHZlcyB0byAi
dGltZWQtb3V0IicKKyAgICBBdG9taWNzLm5vdGlmeShpNjRhLCAwKSwKKyAgICAwLAorICAgICdB
dG9taWNzLm5vdGlmeShuZXcgQmlnSW50NjRBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoQmln
SW50NjRBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpKSwgMCkgbXVzdCByZXR1cm4gMCcKICAg
KTsKLQotICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mubm90aWZ5KGk2NGEsIDApLCAwLCAnQXRv
bWljcy5ub3RpZnkoaTY0YSwgMCkgcmV0dXJucyAwJyk7CiB9KS50aGVuKCRET05FLCAkRE9ORSk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0
QXN5bmMvYmlnaW50L25vLXNwdXJpb3VzLXdha2V1cC1vbi1hZGQuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L25vLXNwdXJpb3VzLXdh
a2V1cC1vbi1hZGQuanMKaW5kZXggMWY3ZmE0YWQwNzU5NTljZjM5YWZhMDRjNzk3NzQwODE5ZjYz
ODNjNS4uNmUyZjJmOWY4ZDk2Yzc2MWQxZjMyYjc2MTNlNWI2Mzc5Yzg2NzBkNCAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2lu
dC9uby1zcHVyaW91cy13YWtldXAtb24tYWRkLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvbm8tc3B1cmlvdXMtd2FrZXVwLW9u
LWFkZC5qcwpAQCAtMjQsNyArMjQsNyBAQCBmbGFnczogW2FzeW5jXQogaW5jbHVkZXM6IFthdG9t
aWNzSGVscGVyLmpzXQogZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luYywgU2hhcmVkQXJyYXlC
dWZmZXIsIFR5cGVkQXJyYXksIEF0b21pY3MsIEJpZ0ludCwgYXJyb3ctZnVuY3Rpb24sIGFzeW5j
LWZ1bmN0aW9uc10KIC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRB
c3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRB
c3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5j
YCBpcyAiZnVuY3Rpb24iJyk7CiBjb25zdCBSVU5OSU5HID0gMTsKIGNvbnN0IFRJTUVPVVQgPSAk
MjYyLmFnZW50LnRpbWVvdXRzLnNtYWxsOwogY29uc3QgaTY0YSA9IG5ldyBCaWdJbnQ2NEFycmF5
KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihCaWdJbnQ2NEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICog
NCkpOwpAQCAtNDUsMTcgKzQ1LDE2IEBAICQyNjIuYWdlbnQuc3RhcnQoYAogYCk7CiAKICQyNjIu
YWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5jKGk2NGEsIFJVTk5JTkcsIDFuKS50aGVuKGFzeW5jIGFn
ZW50Q291bnQgPT4gewotICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDFuKTsKKyAgYXNz
ZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCAxbiwgJ1RoZSB2YWx1ZSBvZiBgYWdlbnRDb3VudGAg
aXMgMW4nKTsKICAgQXRvbWljcy5hZGQoaTY0YSwgMCwgMW4pOwogICBjb25zdCBsYXBzZSA9IGF3
YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKTsKLSAgYXNzZXJ0KGxhcHNlID49IFRJTUVP
VVQsICdUaGUgcmVzdWx0IG9mIGAobGFwc2UgPj0gVElNRU9VVClgIGlzIHRydWUnKTsKKyAgYXNz
ZXJ0KGxhcHNlID49IFRJTUVPVVQsICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgYChsYXBzZSA+
PSBUSU1FT1VUKWAgaXMgdHJ1ZScpOwogICBjb25zdCByZXN1bHQgPSBhd2FpdCAkMjYyLmFnZW50
LmdldFJlcG9ydEFzeW5jKCk7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAndGltZWQtb3V0
JywgJ1RoZSB2YWx1ZSBvZiBgcmVzdWx0YCBpcyAidGltZWQtb3V0IicpOwogCiAgIGFzc2VydC5z
YW1lVmFsdWUoCi0gICAgcmVzdWx0LAotICAgICd0aW1lZC1vdXQnLAotICAgICdhd2FpdCBBdG9t
aWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwgJHtUSU1FT1VUfSkudmFsdWUgcmVzb2x2ZXMgdG8g
InRpbWVkLW91dCInCisgICAgQXRvbWljcy5ub3RpZnkoaTY0YSwgMCksCisgICAgMCwKKyAgICAn
QXRvbWljcy5ub3RpZnkobmV3IEJpZ0ludDY0QXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKEJp
Z0ludDY0QXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KSksIDApIG11c3QgcmV0dXJuIDAnCiAg
ICk7Ci0KLSAgYXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpNjRhLCAwKSwgMCwgJ0F0
b21pY3Mubm90aWZ5KGk2NGEsIDApIHJldHVybnMgMCcpOwogfSkudGhlbigkRE9ORSwgJERPTkUp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2Fp
dEFzeW5jL2JpZ2ludC9uby1zcHVyaW91cy13YWtldXAtb24tYW5kLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9uby1zcHVyaW91cy13
YWtldXAtb24tYW5kLmpzCmluZGV4IDZjNTE0NmYxYmZlMjFiZTcyNDIxNmEyYmJiZTc3OWJjOWVl
OWUyYjMuLmU4MTMwMTFjNjUwMDIwODliOWQyODdmYzAxMTg3NDM3ZTQ2MjVhYzcgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdp
bnQvbm8tc3B1cmlvdXMtd2FrZXVwLW9uLWFuZC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L25vLXNwdXJpb3VzLXdha2V1cC1v
bi1hbmQuanMKQEAgLTI0LDcgKzI0LDcgQEAgZmxhZ3M6IFthc3luY10KIGluY2x1ZGVzOiBbYXRv
bWljc0hlbHBlci5qc10KIGZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5
QnVmZmVyLCBUeXBlZEFycmF5LCBBdG9taWNzLCBCaWdJbnQsIGFycm93LWZ1bmN0aW9uLCBhc3lu
Yy1mdW5jdGlvbnNdCiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0
QXN5bmMsICdmdW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0
QXN5bmMsICdmdW5jdGlvbicsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBBdG9taWNzLndhaXRBc3lu
Y2AgaXMgImZ1bmN0aW9uIicpOwogY29uc3QgUlVOTklORyA9IDE7CiBjb25zdCBUSU1FT1VUID0g
JDI2Mi5hZ2VudC50aW1lb3V0cy5zbWFsbDsKIGNvbnN0IGk2NGEgPSBuZXcgQmlnSW50NjRBcnJh
eShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoQmlnSW50NjRBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAq
IDQpKTsKQEAgLTQ1LDE3ICs0NSwxNiBAQCAkMjYyLmFnZW50LnN0YXJ0KGAKIGApOwogCiAkMjYy
LmFnZW50LnNhZmVCcm9hZGNhc3RBc3luYyhpNjRhLCBSVU5OSU5HLCAxbikudGhlbihhc3luYyBh
Z2VudENvdW50ID0+IHsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCAxbik7CisgIGFz
c2VydC5zYW1lVmFsdWUoYWdlbnRDb3VudCwgMW4sICdUaGUgdmFsdWUgb2YgYGFnZW50Q291bnRg
IGlzIDFuJyk7CiAgIEF0b21pY3MuYW5kKGk2NGEsIDAsIDFuKTsKICAgY29uc3QgbGFwc2UgPSBh
d2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCk7Ci0gIGFzc2VydChsYXBzZSA+PSBUSU1F
T1VULCAnVGhlIHJlc3VsdCBvZiBgKGxhcHNlID49IFRJTUVPVVQpYCBpcyB0cnVlJyk7CisgIGFz
c2VydChsYXBzZSA+PSBUSU1FT1VULCAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIGAobGFwc2Ug
Pj0gVElNRU9VVClgIGlzIHRydWUnKTsKICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgJDI2Mi5hZ2Vu
dC5nZXRSZXBvcnRBc3luYygpOworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgJ3RpbWVkLW91
dCcsICdUaGUgdmFsdWUgb2YgYHJlc3VsdGAgaXMgInRpbWVkLW91dCInKTsKIAogICBhc3NlcnQu
c2FtZVZhbHVlKAotICAgIHJlc3VsdCwKLSAgICAndGltZWQtb3V0JywKLSAgICAnYXdhaXQgQXRv
bWljcy53YWl0QXN5bmMoaTY0YSwgMCwgMG4sICR7VElNRU9VVH0pLnZhbHVlIHJlc29sdmVzIHRv
ICJ0aW1lZC1vdXQiJworICAgIEF0b21pY3Mubm90aWZ5KGk2NGEsIDApLAorICAgIDAsCisgICAg
J0F0b21pY3Mubm90aWZ5KG5ldyBCaWdJbnQ2NEFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihC
aWdJbnQ2NEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkpLCAwKSBtdXN0IHJldHVybiAwJwog
ICApOwotCi0gIGFzc2VydC5zYW1lVmFsdWUoQXRvbWljcy5ub3RpZnkoaTY0YSwgMCksIDAsICdB
dG9taWNzLm5vdGlmeShpNjRhLCAwKSByZXR1cm5zIDAnKTsKIH0pLnRoZW4oJERPTkUsICRET05F
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dh
aXRBc3luYy9iaWdpbnQvbm8tc3B1cmlvdXMtd2FrZXVwLW9uLWNvbXBhcmVFeGNoYW5nZS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQv
bm8tc3B1cmlvdXMtd2FrZXVwLW9uLWNvbXBhcmVFeGNoYW5nZS5qcwppbmRleCBlZmNhY2NjZDc2
YjQxNzEwOTI2MThjNDc2YWU3NjAwMTQ1ODA5MTkwLi42ZTk4NDZjY2EyZWY3YTlhNGU3NzhhYmU1
ZjQzODdjYmQyNmZjNjFmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L25vLXNwdXJpb3VzLXdha2V1cC1vbi1jb21wYXJl
RXhjaGFuZ2UuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mv
d2FpdEFzeW5jL2JpZ2ludC9uby1zcHVyaW91cy13YWtldXAtb24tY29tcGFyZUV4Y2hhbmdlLmpz
CkBAIC0yNCw3ICsyNCw3IEBAIGZsYWdzOiBbYXN5bmNdCiBpbmNsdWRlczogW2F0b21pY3NIZWxw
ZXIuanNdCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwg
VHlwZWRBcnJheSwgQXRvbWljcywgQmlnSW50LCBhcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVuY3Rp
b25zXQogLS0tKi8KLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAn
ZnVuY3Rpb24nKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAn
ZnVuY3Rpb24nLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgQXRvbWljcy53YWl0QXN5bmNgIGlzICJm
dW5jdGlvbiInKTsKIGNvbnN0IFJVTk5JTkcgPSAxOwogY29uc3QgVElNRU9VVCA9ICQyNjIuYWdl
bnQudGltZW91dHMuc21hbGw7CiBjb25zdCBpNjRhID0gbmV3IEJpZ0ludDY0QXJyYXkobmV3IFNo
YXJlZEFycmF5QnVmZmVyKEJpZ0ludDY0QXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KSk7CkBA
IC00NSwxNyArNDUsMTYgQEAgJDI2Mi5hZ2VudC5zdGFydChgCiBgKTsKIAogJDI2Mi5hZ2VudC5z
YWZlQnJvYWRjYXN0QXN5bmMoaTY0YSwgUlVOTklORywgMW4pLnRoZW4oYXN5bmMgYWdlbnRDb3Vu
dCA9PiB7Ci0gIGFzc2VydC5zYW1lVmFsdWUoYWdlbnRDb3VudCwgMW4pOworICBhc3NlcnQuc2Ft
ZVZhbHVlKGFnZW50Q291bnQsIDFuLCAnVGhlIHZhbHVlIG9mIGBhZ2VudENvdW50YCBpcyAxbicp
OwogICBBdG9taWNzLmNvbXBhcmVFeGNoYW5nZShpNjRhLCAwLCAwbiwgMW4pOwogICBjb25zdCBs
YXBzZSA9IGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKTsKLSAgYXNzZXJ0KGxhcHNl
ID49IFRJTUVPVVQsICdUaGUgcmVzdWx0IG9mIGAobGFwc2UgPj0gVElNRU9VVClgIGlzIHRydWUn
KTsKKyAgYXNzZXJ0KGxhcHNlID49IFRJTUVPVVQsICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcg
YChsYXBzZSA+PSBUSU1FT1VUKWAgaXMgdHJ1ZScpOwogICBjb25zdCByZXN1bHQgPSBhd2FpdCAk
MjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCk7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAn
dGltZWQtb3V0JywgJ1RoZSB2YWx1ZSBvZiBgcmVzdWx0YCBpcyAidGltZWQtb3V0IicpOwogCiAg
IGFzc2VydC5zYW1lVmFsdWUoCi0gICAgcmVzdWx0LAotICAgICd0aW1lZC1vdXQnLAotICAgICdh
d2FpdCBBdG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwgJHtUSU1FT1VUfSkudmFsdWUgcmVz
b2x2ZXMgdG8gInRpbWVkLW91dCInCisgICAgQXRvbWljcy5ub3RpZnkoaTY0YSwgMCksCisgICAg
MCwKKyAgICAnQXRvbWljcy5ub3RpZnkobmV3IEJpZ0ludDY0QXJyYXkobmV3IFNoYXJlZEFycmF5
QnVmZmVyKEJpZ0ludDY0QXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KSksIDApIG11c3QgcmV0
dXJuIDAnCiAgICk7Ci0KLSAgYXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpNjRhLCAw
KSwgMCwgJ0F0b21pY3Mubm90aWZ5KGk2NGEsIDApIHJldHVybnMgMCcpOwogfSkudGhlbigkRE9O
RSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0
b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9uby1zcHVyaW91cy13YWtldXAtb24tZXhjaGFuZ2UuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50
L25vLXNwdXJpb3VzLXdha2V1cC1vbi1leGNoYW5nZS5qcwppbmRleCA2ZmJiNTg1YmM5ZjQxYjJl
N2Y0OGE2MDVhMjQyMWUwYzU1OWY3OTc1Li5mNDQzNWI4Y2RlZjI0OThkNTQ2Mzc3MmU4YTYxNTBh
MTA2YmZiMjg4IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRv
bWljcy93YWl0QXN5bmMvYmlnaW50L25vLXNwdXJpb3VzLXdha2V1cC1vbi1leGNoYW5nZS5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmln
aW50L25vLXNwdXJpb3VzLXdha2V1cC1vbi1leGNoYW5nZS5qcwpAQCAtMjQsNyArMjQsNyBAQCBm
bGFnczogW2FzeW5jXQogaW5jbHVkZXM6IFthdG9taWNzSGVscGVyLmpzXQogZmVhdHVyZXM6IFtB
dG9taWNzLndhaXRBc3luYywgU2hhcmVkQXJyYXlCdWZmZXIsIFR5cGVkQXJyYXksIEF0b21pY3Ms
IEJpZ0ludCwgYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9uc10KIC0tLSovCi1hc3NlcnQu
c2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQu
c2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1
ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiBjb25zdCBS
VU5OSU5HID0gMTsKIGNvbnN0IFRJTUVPVVQgPSAkMjYyLmFnZW50LnRpbWVvdXRzLnNtYWxsOwog
Y29uc3QgaTY0YSA9IG5ldyBCaWdJbnQ2NEFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihCaWdJ
bnQ2NEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkpOwpAQCAtNDUsMTcgKzQ1LDE2IEBAICQy
NjIuYWdlbnQuc3RhcnQoYAogYCk7CiAKICQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5jKGk2
NGEsIFJVTk5JTkcsIDFuKS50aGVuKGFzeW5jIGFnZW50Q291bnQgPT4gewotICBhc3NlcnQuc2Ft
ZVZhbHVlKGFnZW50Q291bnQsIDFuKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCAx
biwgJ1RoZSB2YWx1ZSBvZiBgYWdlbnRDb3VudGAgaXMgMW4nKTsKICAgQXRvbWljcy5leGNoYW5n
ZShpNjRhLCAwLCAxbik7CiAgIGNvbnN0IGxhcHNlID0gYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBv
cnRBc3luYygpOwotICBhc3NlcnQobGFwc2UgPj0gVElNRU9VVCwgJ1RoZSByZXN1bHQgb2YgYChs
YXBzZSA+PSBUSU1FT1VUKWAgaXMgdHJ1ZScpOworICBhc3NlcnQobGFwc2UgPj0gVElNRU9VVCwg
J1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBgKGxhcHNlID49IFRJTUVPVVQpYCBpcyB0cnVlJyk7
CiAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKTsKKyAg
YXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsICd0aW1lZC1vdXQnLCAnVGhlIHZhbHVlIG9mIGByZXN1
bHRgIGlzICJ0aW1lZC1vdXQiJyk7CiAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKLSAgICByZXN1bHQs
Ci0gICAgJ3RpbWVkLW91dCcsCi0gICAgJ2F3YWl0IEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAs
IDBuLCAke1RJTUVPVVR9KS52YWx1ZSByZXNvbHZlcyB0byAidGltZWQtb3V0IicKKyAgICBBdG9t
aWNzLm5vdGlmeShpNjRhLCAwKSwKKyAgICAwLAorICAgICdBdG9taWNzLm5vdGlmeShuZXcgQmln
SW50NjRBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoQmlnSW50NjRBcnJheS5CWVRFU19QRVJf
RUxFTUVOVCAqIDQpKSwgMCkgbXVzdCByZXR1cm4gMCcKICAgKTsKLQotICBhc3NlcnQuc2FtZVZh
bHVlKEF0b21pY3Mubm90aWZ5KGk2NGEsIDApLCAwLCAnQXRvbWljcy5ub3RpZnkoaTY0YSwgMCkg
cmV0dXJucyAwJyk7CiB9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L25vLXNwdXJp
b3VzLXdha2V1cC1vbi1vci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9t
aWNzL3dhaXRBc3luYy9iaWdpbnQvbm8tc3B1cmlvdXMtd2FrZXVwLW9uLW9yLmpzCmluZGV4IGRl
Y2UwODFjZmQyNzkzZDhlMzQzMjdlZTU2OGEzYmFkODQwZjlhNTkuLjE2NTIyMDRhNzc4ZWJjZGYy
ZWZhYWY4NDdiNTc3ZWE4YTlkYTEwMzkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvbm8tc3B1cmlvdXMtd2FrZXVwLW9u
LW9yLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRB
c3luYy9iaWdpbnQvbm8tc3B1cmlvdXMtd2FrZXVwLW9uLW9yLmpzCkBAIC0yNCw3ICsyNCw3IEBA
IGZsYWdzOiBbYXN5bmNdCiBpbmNsdWRlczogW2F0b21pY3NIZWxwZXIuanNdCiBmZWF0dXJlczog
W0F0b21pY3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgQXRvbWlj
cywgQmlnSW50LCBhcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVuY3Rpb25zXQogLS0tKi8KLWFzc2Vy
dC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nLCAnVGhlIHZh
bHVlIG9mIGB0eXBlb2YgQXRvbWljcy53YWl0QXN5bmNgIGlzICJmdW5jdGlvbiInKTsKIGNvbnN0
IFJVTk5JTkcgPSAxOwogY29uc3QgVElNRU9VVCA9ICQyNjIuYWdlbnQudGltZW91dHMuc21hbGw7
CiBjb25zdCBpNjRhID0gbmV3IEJpZ0ludDY0QXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKEJp
Z0ludDY0QXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KSk7CkBAIC00NSwxNyArNDUsMTYgQEAg
JDI2Mi5hZ2VudC5zdGFydChgCiBgKTsKIAogJDI2Mi5hZ2VudC5zYWZlQnJvYWRjYXN0QXN5bmMo
aTY0YSwgUlVOTklORywgMW4pLnRoZW4oYXN5bmMgYWdlbnRDb3VudCA9PiB7Ci0gIGFzc2VydC5z
YW1lVmFsdWUoYWdlbnRDb3VudCwgMW4pOworICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQs
IDFuLCAnVGhlIHZhbHVlIG9mIGBhZ2VudENvdW50YCBpcyAxbicpOwogICBBdG9taWNzLm9yKGk2
NGEsIDAsIDFuKTsKICAgY29uc3QgbGFwc2UgPSBhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFz
eW5jKCk7Ci0gIGFzc2VydChsYXBzZSA+PSBUSU1FT1VULCAnVGhlIHJlc3VsdCBvZiBgKGxhcHNl
ID49IFRJTUVPVVQpYCBpcyB0cnVlJyk7CisgIGFzc2VydChsYXBzZSA+PSBUSU1FT1VULCAnVGhl
IHJlc3VsdCBvZiBldmFsdWF0aW5nIGAobGFwc2UgPj0gVElNRU9VVClgIGlzIHRydWUnKTsKICAg
Y29uc3QgcmVzdWx0ID0gYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpOworICBhc3Nl
cnQuc2FtZVZhbHVlKHJlc3VsdCwgJ3RpbWVkLW91dCcsICdUaGUgdmFsdWUgb2YgYHJlc3VsdGAg
aXMgInRpbWVkLW91dCInKTsKIAogICBhc3NlcnQuc2FtZVZhbHVlKAotICAgIHJlc3VsdCwKLSAg
ICAndGltZWQtb3V0JywKLSAgICAnYXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTY0YSwgMCwgMG4s
ICR7VElNRU9VVH0pLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICAgIEF0b21pY3Mu
bm90aWZ5KGk2NGEsIDApLAorICAgIDAsCisgICAgJ0F0b21pY3Mubm90aWZ5KG5ldyBCaWdJbnQ2
NEFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihCaWdJbnQ2NEFycmF5LkJZVEVTX1BFUl9FTEVN
RU5UICogNCkpLCAwKSBtdXN0IHJldHVybiAwJwogICApOwotCi0gIGFzc2VydC5zYW1lVmFsdWUo
QXRvbWljcy5ub3RpZnkoaTY0YSwgMCksIDAsICdBdG9taWNzLm5vdGlmeShpNjRhLCAwKSByZXR1
cm5zIDAnKTsKIH0pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvbm8tc3B1cmlvdXMt
d2FrZXVwLW9uLXN0b3JlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21p
Y3Mvd2FpdEFzeW5jL2JpZ2ludC9uby1zcHVyaW91cy13YWtldXAtb24tc3RvcmUuanMKaW5kZXgg
YmFlNTdiZGVhMTU4NDc5YjI0OTcwOTg1N2EzZmZhM2JmNTQwNDMwNC4uYTdkMTUwMzI1NGI2ZGM4
MWZjMzMxZjk2Nzk5NGJmZWRiMTYzMmI2NSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9uby1zcHVyaW91cy13YWtldXAt
b24tc3RvcmUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mv
d2FpdEFzeW5jL2JpZ2ludC9uby1zcHVyaW91cy13YWtldXAtb24tc3RvcmUuanMKQEAgLTI0LDcg
KzI0LDcgQEAgZmxhZ3M6IFthc3luY10KIGluY2x1ZGVzOiBbYXRvbWljc0hlbHBlci5qc10KIGZl
YXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBUeXBlZEFycmF5
LCBBdG9taWNzLCBCaWdJbnQsIGFycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnNdCiAtLS0q
LwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicp
OworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbics
ICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBBdG9taWNzLndhaXRBc3luY2AgaXMgImZ1bmN0aW9uIicp
OwogY29uc3QgUlVOTklORyA9IDE7CiBjb25zdCBUSU1FT1VUID0gJDI2Mi5hZ2VudC50aW1lb3V0
cy5zbWFsbDsKIGNvbnN0IGk2NGEgPSBuZXcgQmlnSW50NjRBcnJheShuZXcgU2hhcmVkQXJyYXlC
dWZmZXIoQmlnSW50NjRBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpKTsKQEAgLTQ1LDE3ICs0
NSwxNiBAQCAkMjYyLmFnZW50LnN0YXJ0KGAKIGApOwogCiAkMjYyLmFnZW50LnNhZmVCcm9hZGNh
c3RBc3luYyhpNjRhLCBSVU5OSU5HLCAxbikudGhlbihhc3luYyBhZ2VudENvdW50ID0+IHsKLSAg
YXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCAxbik7CisgIGFzc2VydC5zYW1lVmFsdWUoYWdl
bnRDb3VudCwgMW4sICdUaGUgdmFsdWUgb2YgYGFnZW50Q291bnRgIGlzIDFuJyk7CiAgIEF0b21p
Y3Muc3RvcmUoaTY0YSwgMCwgMGIxMDEwbik7CiAgIGNvbnN0IGxhcHNlID0gYXdhaXQgJDI2Mi5h
Z2VudC5nZXRSZXBvcnRBc3luYygpOwotICBhc3NlcnQobGFwc2UgPj0gVElNRU9VVCwgJ1RoZSBy
ZXN1bHQgb2YgYChsYXBzZSA+PSBUSU1FT1VUKWAgaXMgdHJ1ZScpOworICBhc3NlcnQobGFwc2Ug
Pj0gVElNRU9VVCwgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBgKGxhcHNlID49IFRJTUVPVVQp
YCBpcyB0cnVlJyk7CiAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0
QXN5bmMoKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsICd0aW1lZC1vdXQnLCAnVGhlIHZh
bHVlIG9mIGByZXN1bHRgIGlzICJ0aW1lZC1vdXQiJyk7CiAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgK
LSAgICByZXN1bHQsCi0gICAgJ3RpbWVkLW91dCcsCi0gICAgJ2F3YWl0IEF0b21pY3Mud2FpdEFz
eW5jKGk2NGEsIDAsIDBuLCAke1RJTUVPVVR9KS52YWx1ZSByZXNvbHZlcyB0byAidGltZWQtb3V0
IicKKyAgICBBdG9taWNzLm5vdGlmeShpNjRhLCAwKSwKKyAgICAwLAorICAgICdBdG9taWNzLm5v
dGlmeShuZXcgQmlnSW50NjRBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoQmlnSW50NjRBcnJh
eS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpKSwgMCkgbXVzdCByZXR1cm4gMCcKICAgKTsKLQotICBh
c3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mubm90aWZ5KGk2NGEsIDApLCAwLCAnQXRvbWljcy5ub3Rp
ZnkoaTY0YSwgMCkgcmV0dXJucyAwJyk7CiB9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmln
aW50L25vLXNwdXJpb3VzLXdha2V1cC1vbi1zdWIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L25vLXNwdXJpb3VzLXdha2V1cC1vbi1z
dWIuanMKaW5kZXggOWQ0N2Y3NjQwOTE4MGY1MGI0OGJlMTUwOTMyYWJhZDg2ZjFmYjA4Zi4uM2I0
ZTViOGYwODliYzcyMzU3YTdlODY1ZmFkYWMwYTZhZjY0MjQxNCAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9uby1zcHVy
aW91cy13YWtldXAtb24tc3ViLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvbm8tc3B1cmlvdXMtd2FrZXVwLW9uLXN1Yi5qcwpA
QCAtMjQsNyArMjQsNyBAQCBmbGFnczogW2FzeW5jXQogaW5jbHVkZXM6IFthdG9taWNzSGVscGVy
LmpzXQogZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luYywgU2hhcmVkQXJyYXlCdWZmZXIsIFR5
cGVkQXJyYXksIEF0b21pY3MsIEJpZ0ludCwgYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9u
c10KIC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1
bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1
bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVu
Y3Rpb24iJyk7CiBjb25zdCBSVU5OSU5HID0gMTsKIGNvbnN0IFRJTUVPVVQgPSAkMjYyLmFnZW50
LnRpbWVvdXRzLnNtYWxsOwogY29uc3QgaTY0YSA9IG5ldyBCaWdJbnQ2NEFycmF5KG5ldyBTaGFy
ZWRBcnJheUJ1ZmZlcihCaWdJbnQ2NEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkpOwpAQCAt
NDUsMTcgKzQ1LDE2IEBAICQyNjIuYWdlbnQuc3RhcnQoYAogYCk7CiAKICQyNjIuYWdlbnQuc2Fm
ZUJyb2FkY2FzdEFzeW5jKGk2NGEsIFJVTk5JTkcsIDFuKS50aGVuKGFzeW5jIGFnZW50Q291bnQg
PT4gewotICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDFuKTsKKyAgYXNzZXJ0LnNhbWVW
YWx1ZShhZ2VudENvdW50LCAxbiwgJ1RoZSB2YWx1ZSBvZiBgYWdlbnRDb3VudGAgaXMgMW4nKTsK
ICAgQXRvbWljcy5zdWIoaTY0YSwgMCwgMW4pOwogICBjb25zdCBsYXBzZSA9IGF3YWl0ICQyNjIu
YWdlbnQuZ2V0UmVwb3J0QXN5bmMoKTsKLSAgYXNzZXJ0KGxhcHNlID49IFRJTUVPVVQsICdUaGUg
cmVzdWx0IG9mIGAobGFwc2UgPj0gVElNRU9VVClgIGlzIHRydWUnKTsKKyAgYXNzZXJ0KGxhcHNl
ID49IFRJTUVPVVQsICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgYChsYXBzZSA+PSBUSU1FT1VU
KWAgaXMgdHJ1ZScpOwogICBjb25zdCByZXN1bHQgPSBhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9y
dEFzeW5jKCk7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAndGltZWQtb3V0JywgJ1RoZSB2
YWx1ZSBvZiBgcmVzdWx0YCBpcyAidGltZWQtb3V0IicpOwogCiAgIGFzc2VydC5zYW1lVmFsdWUo
Ci0gICAgcmVzdWx0LAotICAgICd0aW1lZC1vdXQnLAotICAgICdhd2FpdCBBdG9taWNzLndhaXRB
c3luYyhpNjRhLCAwLCAwbiwgJHtUSU1FT1VUfSkudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91
dCInCisgICAgQXRvbWljcy5ub3RpZnkoaTY0YSwgMCksCisgICAgMCwKKyAgICAnQXRvbWljcy5u
b3RpZnkobmV3IEJpZ0ludDY0QXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKEJpZ0ludDY0QXJy
YXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KSksIDApIG11c3QgcmV0dXJuIDAnCiAgICk7Ci0KLSAg
YXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpNjRhLCAwKSwgMCwgJ0F0b21pY3Mubm90
aWZ5KGk2NGEsIDApIHJldHVybnMgMCcpOwogfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2Jp
Z2ludC9uby1zcHVyaW91cy13YWtldXAtb24teG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9uby1zcHVyaW91cy13YWtldXAtb24t
eG9yLmpzCmluZGV4IGI5NWM0YmZlODg0ZmEwODYwNjY3NzM3MGJlOThiNzBjZDViMzlmZmYuLmQ0
NmJhZjIyYTM3YzMxZDZjZDhiNTAwODkxOTA1YTQ4ZGM5ZGZiNWUgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvbm8tc3B1
cmlvdXMtd2FrZXVwLW9uLXhvci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L25vLXNwdXJpb3VzLXdha2V1cC1vbi14b3IuanMK
QEAgLTI0LDcgKzI0LDcgQEAgZmxhZ3M6IFthc3luY10KIGluY2x1ZGVzOiBbYXRvbWljc0hlbHBl
ci5qc10KIGZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBU
eXBlZEFycmF5LCBBdG9taWNzLCBCaWdJbnQsIGFycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlv
bnNdCiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdm
dW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdm
dW5jdGlvbicsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBBdG9taWNzLndhaXRBc3luY2AgaXMgImZ1
bmN0aW9uIicpOwogY29uc3QgUlVOTklORyA9IDE7CiBjb25zdCBUSU1FT1VUID0gJDI2Mi5hZ2Vu
dC50aW1lb3V0cy5zbWFsbDsKIGNvbnN0IGk2NGEgPSBuZXcgQmlnSW50NjRBcnJheShuZXcgU2hh
cmVkQXJyYXlCdWZmZXIoQmlnSW50NjRBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpKTsKQEAg
LTQ1LDE3ICs0NSwxNiBAQCAkMjYyLmFnZW50LnN0YXJ0KGAKIGApOwogCiAkMjYyLmFnZW50LnNh
ZmVCcm9hZGNhc3RBc3luYyhpNjRhLCBSVU5OSU5HLCAxbikudGhlbihhc3luYyBhZ2VudENvdW50
ID0+IHsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCAxbik7CisgIGFzc2VydC5zYW1l
VmFsdWUoYWdlbnRDb3VudCwgMW4sICdUaGUgdmFsdWUgb2YgYGFnZW50Q291bnRgIGlzIDFuJyk7
CiAgIEF0b21pY3MueG9yKGk2NGEsIDAsIDFuKTsKICAgY29uc3QgbGFwc2UgPSBhd2FpdCAkMjYy
LmFnZW50LmdldFJlcG9ydEFzeW5jKCk7Ci0gIGFzc2VydChsYXBzZSA+PSBUSU1FT1VULCAnVGhl
IHJlc3VsdCBvZiBgKGxhcHNlID49IFRJTUVPVVQpYCBpcyB0cnVlJyk7CisgIGFzc2VydChsYXBz
ZSA+PSBUSU1FT1VULCAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIGAobGFwc2UgPj0gVElNRU9V
VClgIGlzIHRydWUnKTsKICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBv
cnRBc3luYygpOworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgJ3RpbWVkLW91dCcsICdUaGUg
dmFsdWUgb2YgYHJlc3VsdGAgaXMgInRpbWVkLW91dCInKTsKIAogICBhc3NlcnQuc2FtZVZhbHVl
KAotICAgIHJlc3VsdCwKLSAgICAndGltZWQtb3V0JywKLSAgICAnYXdhaXQgQXRvbWljcy53YWl0
QXN5bmMoaTY0YSwgMCwgMG4sICR7VElNRU9VVH0pLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1v
dXQiJworICAgIEF0b21pY3Mubm90aWZ5KGk2NGEsIDApLAorICAgIDAsCisgICAgJ0F0b21pY3Mu
bm90aWZ5KG5ldyBCaWdJbnQ2NEFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihCaWdJbnQ2NEFy
cmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkpLCAwKSBtdXN0IHJldHVybiAwJwogICApOwotCi0g
IGFzc2VydC5zYW1lVmFsdWUoQXRvbWljcy5ub3RpZnkoaTY0YSwgMCksIDAsICdBdG9taWNzLm5v
dGlmeShpNjRhLCAwKSByZXR1cm5zIDAnKTsKIH0pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9i
aWdpbnQvbm9uLWJpZ2ludDY0LXR5cGVkYXJyYXktdGhyb3dzLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9ub24tYmlnaW50NjQtdHlw
ZWRhcnJheS10aHJvd3MuanMKaW5kZXggNDM1Mjc4NTA1ODAwN2JjZWMxZjY2MjNiMjJjYjk1ZjZj
MTlkMDFjZC4uNTUxMGZmMjBkNTQ4Njg5YzNmNjE5ZDI0YWY2NjE0ZjVkMDY3MmVmOCAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2Jp
Z2ludC9ub24tYmlnaW50NjQtdHlwZWRhcnJheS10aHJvd3MuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9ub24tYmlnaW50NjQt
dHlwZWRhcnJheS10aHJvd3MuanMKQEAgLTIxLDcgKzIxLDcgQEAgaW5mbzogfAogCiBmZWF0dXJl
czogW0F0b21pY3Mud2FpdEFzeW5jLCBGbG9hdDMyQXJyYXksIEZsb2F0NjRBcnJheSwgSW50OEFy
cmF5LCBUeXBlZEFycmF5LCBVaW50MTZBcnJheSwgVWludDhBcnJheSwgVWludDhDbGFtcGVkQXJy
YXksIGFycm93LWZ1bmN0aW9uLCBTaGFyZWRBcnJheUJ1ZmZlciwgQXRvbWljc10KIC0tLSovCi1h
c3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cith
c3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1Ro
ZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiBj
b25zdCBwb2lzb25lZCA9IHsKICAgdmFsdWVPZigpIHsKICAgICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCdzaG91bGQgbm90IGV2YWx1YXRlIHRoaXMgY29kZScpOwpAQCAtMzEsNSArMzEsNSBAQCBj
b25zdCBwb2lzb25lZCA9IHsKIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CiAgIGNv
bnN0IHZpZXcgPSBuZXcgQmlnVWludDY0QXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKEJpZ1Vp
bnQ2NEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogOCkpOwogICBBdG9taWNzLndhaXRBc3luYyh2
aWV3LCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKTsKLX0sICdgY29uc3QgdmlldyA9IG5l
dyBCaWdVaW50NjRBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoQmlnVWludDY0QXJyYXkuQllU
RVNfUEVSX0VMRU1FTlQgKiA4KSk7IEF0b21pY3Mud2FpdEFzeW5jKHZpZXcsIHBvaXNvbmVkLCBw
b2lzb25lZCwgcG9pc29uZWQpO2AgdGhyb3dzIFR5cGVFcnJvcicpOworfSwgJ2Bjb25zdCB2aWV3
ID0gbmV3IEJpZ1VpbnQ2NEFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihCaWdVaW50NjRBcnJh
eS5CWVRFU19QRVJfRUxFTUVOVCAqIDgpKTsgQXRvbWljcy53YWl0QXN5bmModmlldywgcG9pc29u
ZWQsIHBvaXNvbmVkLCBwb2lzb25lZClgIHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsK
IApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2Fp
dEFzeW5jL2JpZ2ludC9ub24tc2hhcmVkLWJ1ZmZlcmRhdGEtdGhyb3dzLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9ub24tc2hhcmVk
LWJ1ZmZlcmRhdGEtdGhyb3dzLmpzCmluZGV4IGU2ZGNiZmVlNDM3YzFlOGI1YTY2YjA3ZTU3NmI1
OGM5NTAxNTEzMmQuLjdhMDQ4NzE5NDgzNTQwNzk4NjZmYThjMDVlMDUxZDkxNTc3ZGEzMzYgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3lu
Yy9iaWdpbnQvbm9uLXNoYXJlZC1idWZmZXJkYXRhLXRocm93cy5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L25vbi1zaGFyZWQt
YnVmZmVyZGF0YS10aHJvd3MuanMKQEAgLTIwLDcgKzIwLDcgQEAgaW5mbzogfAogCiBmZWF0dXJl
czogW0F0b21pY3Mud2FpdEFzeW5jLCBBcnJheUJ1ZmZlciwgQXRvbWljcywgVHlwZWRBcnJheSwg
QmlnSW50LCBhcnJvdy1mdW5jdGlvbl0KIC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBB
dG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBB
dG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21p
Y3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiBjb25zdCBpNjRhID0gbmV3IEJpZ0ludDY0
QXJyYXkobmV3IEFycmF5QnVmZmVyKEJpZ0ludDY0QXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0
KSk7CiAKIGNvbnN0IHBvaXNvbmVkID0gewpAQCAtMzEsOCArMzEsOCBAQCBjb25zdCBwb2lzb25l
ZCA9IHsKIAogYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKICAgQXRvbWljcy53YWl0
QXN5bmMoaTY0YSwgMCwgMG4sIDApOwotfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCAw
biwgMClgIHRocm93cyBUeXBlRXJyb3InKTsKK30sICdgQXRvbWljcy53YWl0QXN5bmMoaTY0YSwg
MCwgMG4sIDApYCB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAKIGFzc2VydC50aHJv
d3MoVHlwZUVycm9yLCAoKSA9PiB7CiAgIEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIHBvaXNvbmVk
LCBwb2lzb25lZCwgcG9pc29uZWQpOwotfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpNjRhLCBwb2lz
b25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIFR5cGVFcnJvcicpOworfSwgJ2BBdG9t
aWNzLndhaXRBc3luYyhpNjRhLCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dz
IGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9ub3QtYS10eXBlZGFycmF5LXRo
cm93cy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3lu
Yy9iaWdpbnQvbm90LWEtdHlwZWRhcnJheS10aHJvd3MuanMKaW5kZXggNGJkZWFkYmQwYzllZGFm
NDExMzA1OGFmY2NkMTlhMTk3NjU3OGJjZS4uZjQzY2MzZTIyYWJjZjRhOTA0MjJlZjdlMDQ2NmRk
MDgyYmM4NDgwZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0
b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9ub3QtYS10eXBlZGFycmF5LXRocm93cy5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L25v
dC1hLXR5cGVkYXJyYXktdGhyb3dzLmpzCkBAIC0yNCw3ICsyNCw4IEBAIGluZm86IHwKIAogZmVh
dHVyZXM6IFtBdG9taWNzLndhaXRBc3luYywgYXJyb3ctZnVuY3Rpb24sIEF0b21pY3NdCiAtLS0q
LwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicp
OworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbics
ICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBBdG9taWNzLndhaXRBc3luY2AgaXMgImZ1bmN0aW9uIicp
OworCiBjb25zdCBwb2lzb25lZCA9IHsKICAgdmFsdWVPZigpIHsKICAgICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCdzaG91bGQgbm90IGV2YWx1YXRlIHRoaXMgY29kZScpOwpAQCAtMzMsOCArMzQs
OCBAQCBjb25zdCBwb2lzb25lZCA9IHsKIAogYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+
IHsKICAgQXRvbWljcy53YWl0QXN5bmMoe30sIDAsIDBuLCAwKTsKLX0sICdgQXRvbWljcy53YWl0
QXN5bmMoe30sIDAsIDBuLCAwKWAgdGhyb3dzIFR5cGVFcnJvcicpOworfSwgJ2BBdG9taWNzLndh
aXRBc3luYyh7fSwgMCwgMG4sIDApYCB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAK
IGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CiAgIEF0b21pY3Mud2FpdEFzeW5jKHt9
LCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKTsKLX0sICdgQXRvbWljcy53YWl0QXN5bmMo
e30sIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpYCB0aHJvd3MgVHlwZUVycm9yJyk7Cit9
LCAnYEF0b21pY3Mud2FpdEFzeW5jKHt9LCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKWAg
dGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9ub3QtYW4tb2JqZWN0
LXRocm93cy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRB
c3luYy9iaWdpbnQvbm90LWFuLW9iamVjdC10aHJvd3MuanMKaW5kZXggOWU2OGE0MzM2ZjJiOWI3
YzhlOTQyYmY3ZWQwZTYwNDVlNzI3N2U4ZC4uMWRkZDhmNWJkODhmODc4YjY1MGNiZDRkMDQzODk1
YTE0ZjY1YjdiNSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0
b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9ub3QtYW4tb2JqZWN0LXRocm93cy5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L25vdC1h
bi1vYmplY3QtdGhyb3dzLmpzCkBAIC0yNCw3ICsyNCw3IEBAIGluZm86IHwKIAogZmVhdHVyZXM6
IFtBdG9taWNzLndhaXRBc3luYywgU3ltYm9sLCBhcnJvdy1mdW5jdGlvbiwgQXRvbWljc10KIC0t
LSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9u
Jyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9u
JywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24i
Jyk7CiBjb25zdCBwb2lzb25lZCA9IHsKICAgdmFsdWVPZigpIHsKICAgICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCdzaG91bGQgbm90IGV2YWx1YXRlIHRoaXMgY29kZScpOwpAQCAtMzMsMjkgKzMz
LDI5IEBAIGNvbnN0IHBvaXNvbmVkID0gewogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkg
PT4gewogICBBdG9taWNzLndhaXRBc3luYyhudWxsLCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNv
bmVkKTsKLX0sICdgQXRvbWljcy53YWl0QXN5bmMobnVsbCwgcG9pc29uZWQsIHBvaXNvbmVkLCBw
b2lzb25lZClgIHRocm93cyBUeXBlRXJyb3InKTsKK30sICdgQXRvbWljcy53YWl0QXN5bmMobnVs
bCwgcG9pc29uZWQsIHBvaXNvbmVkLCBwb2lzb25lZClgIHRocm93cyBhIFR5cGVFcnJvciBleGNl
cHRpb24nKTsKIAogYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKICAgQXRvbWljcy53
YWl0QXN5bmModW5kZWZpbmVkLCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKTsKLX0sICdg
QXRvbWljcy53YWl0QXN5bmModW5kZWZpbmVkLCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVk
KWAgdGhyb3dzIFR5cGVFcnJvcicpOworfSwgJ2BBdG9taWNzLndhaXRBc3luYyh1bmRlZmluZWQs
IHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpYCB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0
aW9uJyk7CiAKIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CiAgIEF0b21pY3Mud2Fp
dEFzeW5jKHRydWUsIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpOwotfSwgJ2BBdG9taWNz
LndhaXRBc3luYyh0cnVlLCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIFR5
cGVFcnJvcicpOworfSwgJ2BBdG9taWNzLndhaXRBc3luYyh0cnVlLCBwb2lzb25lZCwgcG9pc29u
ZWQsIHBvaXNvbmVkKWAgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwogCiBhc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gewogICBBdG9taWNzLndhaXRBc3luYyhmYWxzZSwgcG9p
c29uZWQsIHBvaXNvbmVkLCBwb2lzb25lZCk7Ci19LCAnYEF0b21pY3Mud2FpdEFzeW5jKGZhbHNl
LCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIFR5cGVFcnJvcicpOworfSwg
J2BBdG9taWNzLndhaXRBc3luYyhmYWxzZSwgcG9pc29uZWQsIHBvaXNvbmVkLCBwb2lzb25lZClg
IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKIAogYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsICgpID0+IHsKICAgQXRvbWljcy53YWl0QXN5bmMoJyoqKnN0cmluZyoqKicsIHBvaXNvbmVk
LCBwb2lzb25lZCwgcG9pc29uZWQpOwotfSwgJ2BBdG9taWNzLndhaXRBc3luYyhcJyoqKnN0cmlu
ZyoqKlwnLCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIFR5cGVFcnJvcicp
OworfSwgJ2BBdG9taWNzLndhaXRBc3luYygiKioqc3RyaW5nKioqIiwgcG9pc29uZWQsIHBvaXNv
bmVkLCBwb2lzb25lZClgIHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKIAogYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKICAgQXRvbWljcy53YWl0QXN5bmMoTnVtYmVyLk5F
R0FUSVZFX0lORklOSVRZLCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKTsKLX0sICdgQXRv
bWljcy53YWl0QXN5bmMoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLCBwb2lzb25lZCwgcG9pc29u
ZWQsIHBvaXNvbmVkKWAgdGhyb3dzIFR5cGVFcnJvcicpOworfSwgJ2BBdG9taWNzLndhaXRBc3lu
YyhOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQp
YCB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAKIGFzc2VydC50aHJvd3MoVHlwZUVy
cm9yLCAoKSA9PiB7CiAgIEF0b21pY3Mud2FpdEFzeW5jKFN5bWJvbCgnKioqc3ltYm9sKioqJyks
IHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpOwotfSwgJ2BBdG9taWNzLndhaXRBc3luYyhT
eW1ib2woXCcqKipzeW1ib2wqKipcJyksIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpYCB0
aHJvd3MgVHlwZUVycm9yJyk7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5jKFN5bWJvbCgiKioqc3lt
Ym9sKioqIiksIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpYCB0aHJvd3MgYSBUeXBlRXJy
b3IgZXhjZXB0aW9uJyk7CiAKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvbnVsbC1idWZmZXJkYXRhLXRocm93cy5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQv
bnVsbC1idWZmZXJkYXRhLXRocm93cy5qcwppbmRleCBjNDRmNTFhMzNlMjBkZWNlOGQyNzZhNWIy
N2Y5MGZjYjk2NDQwNTgxLi4wMDVlZjk2NTk5OWUxMDM5ZGJlZDY0MjE5NWE5MTUyNjNjNzk3NDhh
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0
QXN5bmMvYmlnaW50L251bGwtYnVmZmVyZGF0YS10aHJvd3MuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9udWxsLWJ1ZmZlcmRh
dGEtdGhyb3dzLmpzCkBAIC0yNSw3ICsyNSw3IEBAIGluZm86IHwKIGluY2x1ZGVzOiBbZGV0YWNo
QXJyYXlCdWZmZXIuanNdCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBBcnJheUJ1ZmZl
ciwgQXRvbWljcywgVHlwZWRBcnJheSwgQmlnSW50XQogLS0tKi8KLWFzc2VydC5zYW1lVmFsdWUo
dHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nKTsKK2Fzc2VydC5zYW1lVmFsdWUo
dHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nLCAnVGhlIHZhbHVlIG9mIGB0eXBl
b2YgQXRvbWljcy53YWl0QXN5bmNgIGlzICJmdW5jdGlvbiInKTsKIGNvbnN0IGk2NGEgPSBuZXcg
QmlnSW50NjRBcnJheSgKICAgbmV3IEFycmF5QnVmZmVyKEJpZ0ludDY0QXJyYXkuQllURVNfUEVS
X0VMRU1FTlQgKiA0KQogKTsKQEAgLTQ0LDUgKzQ0LDUgQEAgdHJ5IHsKIAogYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICBBdG9taWNzLndhaXRBc3luYyhpNjRhLCBwb2lz
b25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKTsKLX0sICdgQXRvbWljcy53YWl0QXN5bmMoaTY0YSwg
cG9pc29uZWQsIHBvaXNvbmVkLCBwb2lzb25lZClgIHRocm93cyBUeXBlRXJyb3InKTsKK30sICdg
QXRvbWljcy53YWl0QXN5bmMoaTY0YSwgcG9pc29uZWQsIHBvaXNvbmVkLCBwb2lzb25lZClgIHRo
cm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKIApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9udWxsLWZvci10aW1l
b3V0LWFnZW50LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2Fp
dEFzeW5jL2JpZ2ludC9udWxsLWZvci10aW1lb3V0LWFnZW50LmpzCmluZGV4IGEzZjlhODI1Mzdi
M2U3MjYyMmI3NmExYzc0ODYyZmNjYmFmYTVkMGEuLjZhZTdjYjMxZjJkZTFiNDI1MTc2YWZhNTMz
MmIyOWViMGU5MTI3N2QgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvbnVsbC1mb3ItdGltZW91dC1hZ2VudC5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50
L251bGwtZm9yLXRpbWVvdXQtYWdlbnQuanMKQEAgLTE5LDcgKzE5LDcgQEAgZmxhZ3M6IFthc3lu
Y10KIGluY2x1ZGVzOiBbYXRvbWljc0hlbHBlci5qc10KIGZlYXR1cmVzOiBbQXRvbWljcy53YWl0
QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBUeXBlZEFycmF5LCBBdG9taWNzLCBCaWdJbnQsIGFy
cm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnNdCiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1ZSh0
eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0
eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicsICdUaGUgdmFsdWUgb2YgYHR5cGVv
ZiBBdG9taWNzLndhaXRBc3luY2AgaXMgImZ1bmN0aW9uIicpOwogY29uc3QgUlVOTklORyA9IDE7
CiAKICQyNjIuYWdlbnQuc3RhcnQoYApAQCAtNTEsNDMgKzUxLDQ3IEBAICQyNjIuYWdlbnQuc3Rh
cnQoYAogY29uc3QgaTY0YSA9IG5ldyBCaWdJbnQ2NEFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZl
cihCaWdJbnQ2NEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkpOwogCiAkMjYyLmFnZW50LnNh
ZmVCcm9hZGNhc3RBc3luYyhpNjRhLCBSVU5OSU5HLCAxbikudGhlbihhc3luYyBhZ2VudENvdW50
ID0+IHsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCAxbik7CisgIGFzc2VydC5zYW1l
VmFsdWUoYWdlbnRDb3VudCwgMW4sICdUaGUgdmFsdWUgb2YgYGFnZW50Q291bnRgIGlzIDFuJyk7
CiAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFz
eW5jKCksCiAgICAgJ3RpbWVkLW91dCcsCi0gICAgJ2F3YWl0IEF0b21pY3Mud2FpdEFzeW5jKGk2
NGEsIDAsIDBuLCBudWxsKS52YWx1ZSByZXNvbHZlcyB0byAidGltZWQtb3V0IicKKyAgICAnKGF3
YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSkgcmVzb2x2ZXMgdG8gdGhlIHZhbHVlICJ0
aW1lZC1vdXQiJwogICApOwogCiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgYXdhaXQgJDI2Mi5h
Z2VudC5nZXRSZXBvcnRBc3luYygpLAogICAgICd0aW1lZC1vdXQnLAotICAgICdhd2FpdCBBdG9t
aWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwgdmFsdWVPZikudmFsdWUgcmVzb2x2ZXMgdG8gInRp
bWVkLW91dCInCisgICAgJyhhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCkpIHJlc29s
dmVzIHRvIHRoZSB2YWx1ZSAidGltZWQtb3V0IicKICAgKTsKIAogICBhc3NlcnQuc2FtZVZhbHVl
KAogICAgIGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSwKICAgICAndGltZWQtb3V0
JywKLSAgICAnYXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTY0YSwgMCwgMG4sIHRvUHJpbWl0aXZl
KS52YWx1ZSByZXNvbHZlcyB0byAidGltZWQtb3V0IicKKyAgICAnKGF3YWl0ICQyNjIuYWdlbnQu
Z2V0UmVwb3J0QXN5bmMoKSkgcmVzb2x2ZXMgdG8gdGhlIHZhbHVlICJ0aW1lZC1vdXQiJwogICAp
OwogCiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRB
c3luYygpLAogICAgICd0aW1lZC1vdXQnLAotICAgICdBdG9taWNzLndhaXRBc3luYyhpNjRhLCAw
LCAwbiwgbnVsbCkudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICAgJyhhd2FpdCAk
MjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCkpIHJlc29sdmVzIHRvIHRoZSB2YWx1ZSAidGltZWQt
b3V0IicKICAgKTsKIAogICBhc3NlcnQuc2FtZVZhbHVlKAogICAgIGF3YWl0ICQyNjIuYWdlbnQu
Z2V0UmVwb3J0QXN5bmMoKSwKICAgICAndGltZWQtb3V0JywKLSAgICAnQXRvbWljcy53YWl0QXN5
bmMoaTY0YSwgMCwgMG4sIHZhbHVlT2YpLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJwor
ICAgICcoYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpKSByZXNvbHZlcyB0byB0aGUg
dmFsdWUgInRpbWVkLW91dCInCiAgICk7CiAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBhd2Fp
dCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCksCiAgICAgJ3RpbWVkLW91dCcsCi0gICAgJ0F0
b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAsIDBuLCB0b1ByaW1pdGl2ZSkudmFsdWUgcmVzb2x2ZXMg
dG8gInRpbWVkLW91dCInCisgICAgJyhhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCkp
IHJlc29sdmVzIHRvIHRoZSB2YWx1ZSAidGltZWQtb3V0IicKICAgKTsKIAotICBhc3NlcnQuc2Ft
ZVZhbHVlKEF0b21pY3Mubm90aWZ5KGk2NGEsIDApLCAwLCAnQXRvbWljcy5ub3RpZnkoaTY0YSwg
MCkgcmV0dXJucyAwJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgQXRvbWljcy5ub3RpZnko
aTY0YSwgMCksCisgICAgMCwKKyAgICAnQXRvbWljcy5ub3RpZnkobmV3IEJpZ0ludDY0QXJyYXko
bmV3IFNoYXJlZEFycmF5QnVmZmVyKEJpZ0ludDY0QXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0
KSksIDApIG11c3QgcmV0dXJuIDAnCisgICk7CiB9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMv
YmlnaW50L251bGwtZm9yLXRpbWVvdXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L251bGwtZm9yLXRpbWVvdXQuanMKaW5kZXggOTI1
NDM0MDgxOTk1ZDIyYWFmMDY2MzA3ZDk3YzU3Y2ViMTgwYzdkYy4uNjExOGIzMmI2ODhmYzBjNWZi
MTdhMzFjMGZhN2ExZWZlNzA4ZjI2MSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9udWxsLWZvci10aW1lb3V0LmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdp
bnQvbnVsbC1mb3ItdGltZW91dC5qcwpAQCAtMTYsOSArMTYsOCBAQCBpbmZvOiB8CiAgICAgTnVs
bCAtPiBSZXR1cm4gKzAuCiAKIGZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFy
cmF5QnVmZmVyLCBTeW1ib2wsIFN5bWJvbC50b1ByaW1pdGl2ZSwgVHlwZWRBcnJheSwgY29tcHV0
ZWQtcHJvcGVydHktbmFtZXMsIEF0b21pY3MsIEJpZ0ludCwgYXJyb3ctZnVuY3Rpb25dCi1mbGFn
czogW2FzeW5jXQogLS0tKi8KLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFz
eW5jLCAnZnVuY3Rpb24nKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFz
eW5jLCAnZnVuY3Rpb24nLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgQXRvbWljcy53YWl0QXN5bmNg
IGlzICJmdW5jdGlvbiInKTsKIGNvbnN0IGk2NGEgPSBuZXcgQmlnSW50NjRBcnJheShuZXcgU2hh
cmVkQXJyYXlCdWZmZXIoQmlnSW50NjRBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpKTsKIAog
Y29uc3QgdmFsdWVPZiA9IHsKQEAgLTM2LDI3ICszNSwxNyBAQCBjb25zdCB0b1ByaW1pdGl2ZSA9
IHsKIGFzc2VydC5zYW1lVmFsdWUoCiAgIEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAsIDBuLCBu
dWxsKS52YWx1ZSwKICAgJ3RpbWVkLW91dCcsCi0gICdBdG9taWNzLndhaXRBc3luYyhpNjRhLCAw
LCAwbiwgbnVsbCkudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICdUaGUgdmFsdWUg
b2YgQXRvbWljcy53YWl0QXN5bmMoaTY0YSwgMCwgMG4sIG51bGwpLnZhbHVlIGlzICJ0aW1lZC1v
dXQiJwogKTsKIAogYXNzZXJ0LnNhbWVWYWx1ZSgKICAgQXRvbWljcy53YWl0QXN5bmMoaTY0YSwg
MCwgMG4sIHZhbHVlT2YpLnZhbHVlLAogICAndGltZWQtb3V0JywKLSAgJ0F0b21pY3Mud2FpdEFz
eW5jKGk2NGEsIDAsIDBuLCB2YWx1ZU9mKS52YWx1ZSByZXNvbHZlcyB0byAidGltZWQtb3V0IicK
KyAgJ1RoZSB2YWx1ZSBvZiBBdG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwgdmFsdWVPZiku
dmFsdWUgaXMgInRpbWVkLW91dCInCiApOwogCiBhc3NlcnQuc2FtZVZhbHVlKAogICBBdG9taWNz
LndhaXRBc3luYyhpNjRhLCAwLCAwbiwgdG9QcmltaXRpdmUpLnZhbHVlLAogICAndGltZWQtb3V0
JywKLSAgJ0F0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAsIDBuLCB0b1ByaW1pdGl2ZSkudmFsdWUg
cmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICdUaGUgdmFsdWUgb2YgQXRvbWljcy53YWl0QXN5
bmMoaTY0YSwgMCwgMG4sIHRvUHJpbWl0aXZlKS52YWx1ZSBpcyAidGltZWQtb3V0IicKICk7Ci0K
LVByb21pc2UuYWxsKFsKLSAgQXRvbWljcy53YWl0QXN5bmMoaTY0YSwgMCwgMG4sIG51bGwpLnZh
bHVlLAotICBBdG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwgdmFsdWVPZikudmFsdWUsCi0g
IEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAsIDBuLCB0b1ByaW1pdGl2ZSkudmFsdWUKLV0pLnRo
ZW4ob3V0Y29tZXMgPT4gewotICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWVzWzBdLCAndGltZWQt
b3V0Jyk7Ci0gIGFzc2VydC5zYW1lVmFsdWUob3V0Y29tZXNbMV0sICd0aW1lZC1vdXQnKTsKLSAg
YXNzZXJ0LnNhbWVWYWx1ZShvdXRjb21lc1syXSwgJ3RpbWVkLW91dCcpOwotfSkudGhlbigkRE9O
RSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0
b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9vYmplY3QtZm9yLXRpbWVvdXQtYWdlbnQuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L29iamVj
dC1mb3ItdGltZW91dC1hZ2VudC5qcwppbmRleCAwM2Q2NWM4NjYxMTVkNzE2MGZlMGVkM2VkODU3
OWQxM2M4YjdhODU2Li5mODZmMTdjNDY3MWVlM2YyNGMzMThlNzdhZjk3MGViZWJjYzdhOTVlIDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5
bmMvYmlnaW50L29iamVjdC1mb3ItdGltZW91dC1hZ2VudC5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L29iamVjdC1mb3ItdGlt
ZW91dC1hZ2VudC5qcwpAQCAtMjIsNyArMjIsNyBAQCBmbGFnczogW2FzeW5jXQogaW5jbHVkZXM6
IFthdG9taWNzSGVscGVyLmpzXQogZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luYywgU2hhcmVk
QXJyYXlCdWZmZXIsIFR5cGVkQXJyYXksIEF0b21pY3MsIEJpZ0ludCwgYXJyb3ctZnVuY3Rpb24s
IGFzeW5jLWZ1bmN0aW9uc10KIC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNz
LndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNz
LndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2Fp
dEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiBjb25zdCBSVU5OSU5HID0gMTsKIAogJDI2Mi5hZ2Vu
dC5zdGFydChgCkBAIC02MCw0MyArNjAsNDcgQEAgJDI2Mi5hZ2VudC5zdGFydChgCiBjb25zdCBp
NjRhID0gbmV3IEJpZ0ludDY0QXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKEJpZ0ludDY0QXJy
YXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KSk7CiAKICQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFz
eW5jKGk2NGEsIFJVTk5JTkcsIDFuKS50aGVuKGFzeW5jIGFnZW50Q291bnQgPT4gewotICBhc3Nl
cnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDFuKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENv
dW50LCAxbiwgJ1RoZSB2YWx1ZSBvZiBgYWdlbnRDb3VudGAgaXMgMW4nKTsKIAogICBhc3NlcnQu
c2FtZVZhbHVlKAogICAgIGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSwKICAgICAn
dGltZWQtb3V0JywKLSAgICAnYXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTY0YSwgMCwgMG4sIHZh
bHVlT2YpLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICAgICcoYXdhaXQgJDI2Mi5h
Z2VudC5nZXRSZXBvcnRBc3luYygpKSByZXNvbHZlcyB0byB0aGUgdmFsdWUgInRpbWVkLW91dCIn
CiAgICk7CiAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBhd2FpdCAkMjYyLmFnZW50LmdldFJl
cG9ydEFzeW5jKCksCiAgICAgJ3RpbWVkLW91dCcsCi0gICAgJ2F3YWl0IEF0b21pY3Mud2FpdEFz
eW5jKGk2NGEsIDAsIDBuLCB0b1N0cmluZykudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCIn
CisgICAgJyhhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCkpIHJlc29sdmVzIHRvIHRo
ZSB2YWx1ZSAidGltZWQtb3V0IicKICAgKTsKIAogICBhc3NlcnQuc2FtZVZhbHVlKAogICAgIGF3
YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSwKICAgICAndGltZWQtb3V0JywKLSAgICAn
YXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTY0YSwgMCwgMG4sIHRvUHJpbWl0aXZlKS52YWx1ZSBy
ZXNvbHZlcyB0byAidGltZWQtb3V0IicKKyAgICAnKGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0
QXN5bmMoKSkgcmVzb2x2ZXMgdG8gdGhlIHZhbHVlICJ0aW1lZC1vdXQiJwogICApOwogCiAgIGFz
c2VydC5zYW1lVmFsdWUoCiAgICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAog
ICAgICd0aW1lZC1vdXQnLAotICAgICdBdG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwgdmFs
dWVPZikudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICAgJyhhd2FpdCAkMjYyLmFn
ZW50LmdldFJlcG9ydEFzeW5jKCkpIHJlc29sdmVzIHRvIHRoZSB2YWx1ZSAidGltZWQtb3V0IicK
ICAgKTsKIAogICBhc3NlcnQuc2FtZVZhbHVlKAogICAgIGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVw
b3J0QXN5bmMoKSwKICAgICAndGltZWQtb3V0JywKLSAgICAnQXRvbWljcy53YWl0QXN5bmMoaTY0
YSwgMCwgMG4sIHRvU3RyaW5nKS52YWx1ZSByZXNvbHZlcyB0byAidGltZWQtb3V0IicKKyAgICAn
KGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSkgcmVzb2x2ZXMgdG8gdGhlIHZhbHVl
ICJ0aW1lZC1vdXQiJwogICApOwogCiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgYXdhaXQgJDI2
Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAogICAgICd0aW1lZC1vdXQnLAotICAgICdBdG9taWNz
LndhaXRBc3luYyhpNjRhLCAwLCAwbiwgdG9QcmltaXRpdmUpLnZhbHVlIHJlc29sdmVzIHRvICJ0
aW1lZC1vdXQiJworICAgICcoYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpKSByZXNv
bHZlcyB0byB0aGUgdmFsdWUgInRpbWVkLW91dCInCiAgICk7CiAKLSAgYXNzZXJ0LnNhbWVWYWx1
ZShBdG9taWNzLm5vdGlmeShpNjRhLCAwKSwgMCwgJ0F0b21pY3Mubm90aWZ5KGk2NGEsIDApIHJl
dHVybnMgMCcpOworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIEF0b21pY3Mubm90aWZ5KGk2NGEs
IDApLAorICAgIDAsCisgICAgJ0F0b21pY3Mubm90aWZ5KG5ldyBCaWdJbnQ2NEFycmF5KG5ldyBT
aGFyZWRBcnJheUJ1ZmZlcihCaWdJbnQ2NEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkpLCAw
KSBtdXN0IHJldHVybiAwJworICApOwogfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2lu
dC9vYmplY3QtZm9yLXRpbWVvdXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QXRvbWljcy93YWl0QXN5bmMvYmlnaW50L29iamVjdC1mb3ItdGltZW91dC5qcwppbmRleCA1MWQ0
MGMwOTRkYmY4MGQ2Y2VlZjU2YjZmOTRlZGJhN2E5ZWRkNzgzLi4yODZjZTBhYzY0YWY0ZDQwZWFi
NjhjNjI0MzZhMWRlZjYwODFjMTdlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L29iamVjdC1mb3ItdGltZW91dC5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmln
aW50L29iamVjdC1mb3ItdGltZW91dC5qcwpAQCAtMjEsNyArMjEsNyBAQCBpbmZvOiB8CiBmZWF0
dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgU3ltYm9sLCBTeW1i
b2wudG9QcmltaXRpdmUsIFR5cGVkQXJyYXksIGNvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBBdG9t
aWNzLCBCaWdJbnQsIGFycm93LWZ1bmN0aW9uXQogZmxhZ3M6IFthc3luY10KIC0tLSovCi1hc3Nl
cnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3Nl
cnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2
YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiBjb25z
dCBpNjRhID0gbmV3IEJpZ0ludDY0QXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKEJpZ0ludDY0
QXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KSk7CiAKIGNvbnN0IHZhbHVlT2YgPSB7CkBAIC00
NSwxOSArNDUsMTkgQEAgY29uc3QgdG9QcmltaXRpdmUgPSB7CiBhc3NlcnQuc2FtZVZhbHVlKAog
ICBBdG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwgdmFsdWVPZikudmFsdWUsCiAgICd0aW1l
ZC1vdXQnLAotICAnQXRvbWljcy53YWl0QXN5bmMoaTY0YSwgMCwgMG4sIHZhbHVlT2YpLnZhbHVl
IHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICAnVGhlIHZhbHVlIG9mIEF0b21pY3Mud2FpdEFz
eW5jKGk2NGEsIDAsIDBuLCB2YWx1ZU9mKS52YWx1ZSBpcyAidGltZWQtb3V0IicKICk7CiAKIGFz
c2VydC5zYW1lVmFsdWUoCiAgIEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAsIDBuLCB0b1N0cmlu
ZykudmFsdWUsCiAgICd0aW1lZC1vdXQnLAotICAnQXRvbWljcy53YWl0QXN5bmMoaTY0YSwgMCwg
MG4sIHRvU3RyaW5nKS52YWx1ZSByZXNvbHZlcyB0byAidGltZWQtb3V0IicKKyAgJ1RoZSB2YWx1
ZSBvZiBBdG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwgdG9TdHJpbmcpLnZhbHVlIGlzICJ0
aW1lZC1vdXQiJwogKTsKIAogYXNzZXJ0LnNhbWVWYWx1ZSgKICAgQXRvbWljcy53YWl0QXN5bmMo
aTY0YSwgMCwgMG4sIHRvUHJpbWl0aXZlKS52YWx1ZSwKICAgJ3RpbWVkLW91dCcsCi0gICdBdG9t
aWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwgdG9QcmltaXRpdmUpLnZhbHVlIHJlc29sdmVzIHRv
ICJ0aW1lZC1vdXQiJworICAnVGhlIHZhbHVlIG9mIEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAs
IDBuLCB0b1ByaW1pdGl2ZSkudmFsdWUgaXMgInRpbWVkLW91dCInCiApOwogCiBQcm9taXNlLmFs
bChbCkBAIC02NSw3ICs2NSw3IEBAIFByb21pc2UuYWxsKFsKICAgQXRvbWljcy53YWl0QXN5bmMo
aTY0YSwgMCwgMG4sIHRvU3RyaW5nKS52YWx1ZSwKICAgQXRvbWljcy53YWl0QXN5bmMoaTY0YSwg
MCwgMG4sIHRvUHJpbWl0aXZlKS52YWx1ZQogXSkudGhlbihvdXRjb21lcyA9PiB7Ci0gIGFzc2Vy
dC5zYW1lVmFsdWUob3V0Y29tZXNbMF0sICd0aW1lZC1vdXQnKTsKLSAgYXNzZXJ0LnNhbWVWYWx1
ZShvdXRjb21lc1sxXSwgJ3RpbWVkLW91dCcpOwotICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWVz
WzJdLCAndGltZWQtb3V0Jyk7CisgIGFzc2VydC5zYW1lVmFsdWUob3V0Y29tZXNbMF0sICd0aW1l
ZC1vdXQnLCAnVGhlIHZhbHVlIG9mIG91dGNvbWVzWzBdIGlzICJ0aW1lZC1vdXQiJyk7CisgIGFz
c2VydC5zYW1lVmFsdWUob3V0Y29tZXNbMV0sICd0aW1lZC1vdXQnLCAnVGhlIHZhbHVlIG9mIG91
dGNvbWVzWzFdIGlzICJ0aW1lZC1vdXQiJyk7CisgIGFzc2VydC5zYW1lVmFsdWUob3V0Y29tZXNb
Ml0sICd0aW1lZC1vdXQnLCAnVGhlIHZhbHVlIG9mIG91dGNvbWVzWzJdIGlzICJ0aW1lZC1vdXQi
Jyk7CiB9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L291dC1vZi1yYW5nZS1pbmRl
eC10aHJvd3MuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0
QXN5bmMvYmlnaW50L291dC1vZi1yYW5nZS1pbmRleC10aHJvd3MuanMKaW5kZXggMDBkZmZmNDUy
NTJmNWViNWI4ZGFhZDlkZTlhZTk4NTQyMGMxZDZlYS4uMjg3NjU4YmU3ODkwMzk2NTE5NDk0Y2Ux
OTNlNjAwOTczMDU0YzUyOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9vdXQtb2YtcmFuZ2UtaW5kZXgtdGhyb3dzLmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9i
aWdpbnQvb3V0LW9mLXJhbmdlLWluZGV4LXRocm93cy5qcwpAQCAtMjAsNyArMjAsNyBAQCBpbmZv
OiB8CiAgICAgNS4gSWYgYWNjZXNzSW5kZXgg4omlIGxlbmd0aCwgdGhyb3cgYSBSYW5nZUVycm9y
IGV4Y2VwdGlvbi4KIGZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVm
ZmVyLCBUeXBlZEFycmF5LCBBdG9taWNzLCBCaWdJbnRdCiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1
ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1
ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicsICdUaGUgdmFsdWUgb2YgYHR5
cGVvZiBBdG9taWNzLndhaXRBc3luY2AgaXMgImZ1bmN0aW9uIicpOwogY29uc3QgaTY0YSA9IG5l
dyBCaWdJbnQ2NEFycmF5KAogICBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoQmlnSW50NjRBcnJheS5C
WVRFU19QRVJfRUxFTUVOVCAqIDQpCiApOwpAQCAtMzMsMTQgKzMzLDE0IEBAIGNvbnN0IHBvaXNv
bmVkID0gewogCiBhc3NlcnQudGhyb3dzKFJhbmdlRXJyb3IsIGZ1bmN0aW9uKCkgewogICBBdG9t
aWNzLndhaXRBc3luYyhpNjRhLCBJbmZpbml0eSwgcG9pc29uZWQsIHBvaXNvbmVkKTsKLX0sICdg
QXRvbWljcy53YWl0QXN5bmMoaTY0YSwgSW5maW5pdHksIHBvaXNvbmVkLCBwb2lzb25lZClgIHRo
cm93cyBSYW5nZUVycm9yJyk7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIEluZmluaXR5
LCBwb2lzb25lZCwgcG9pc29uZWQpYCB0aHJvd3MgYSBSYW5nZUVycm9yIGV4Y2VwdGlvbicpOwog
YXNzZXJ0LnRocm93cyhSYW5nZUVycm9yLCBmdW5jdGlvbigpIHsKICAgQXRvbWljcy53YWl0QXN5
bmMoaTY0YSwgLTEsIHBvaXNvbmVkLCBwb2lzb25lZCk7Ci19LCAnYEF0b21pY3Mud2FpdEFzeW5j
KGk2NGEsIC0xLCBwb2lzb25lZCwgcG9pc29uZWQpYCB0aHJvd3MgUmFuZ2VFcnJvcicpOworfSwg
J2BBdG9taWNzLndhaXRBc3luYyhpNjRhLCAtMSwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dz
IGEgUmFuZ2VFcnJvciBleGNlcHRpb24nKTsKIGFzc2VydC50aHJvd3MoUmFuZ2VFcnJvciwgZnVu
Y3Rpb24oKSB7CiAgIEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDQsIHBvaXNvbmVkLCBwb2lzb25l
ZCk7Ci19LCAnYEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDQsIHBvaXNvbmVkLCBwb2lzb25lZClg
IHRocm93cyBSYW5nZUVycm9yJyk7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDQsIHBv
aXNvbmVkLCBwb2lzb25lZClgIHRocm93cyBhIFJhbmdlRXJyb3IgZXhjZXB0aW9uJyk7CiBhc3Nl
cnQudGhyb3dzKFJhbmdlRXJyb3IsIGZ1bmN0aW9uKCkgewogICBBdG9taWNzLndhaXRBc3luYyhp
NjRhLCAyMDAsIHBvaXNvbmVkLCBwb2lzb25lZCk7Ci19LCAnYEF0b21pY3Mud2FpdEFzeW5jKGk2
NGEsIDIwMCwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIFJhbmdlRXJyb3InKTsKK30sICdg
QXRvbWljcy53YWl0QXN5bmMoaTY0YSwgMjAwLCBwb2lzb25lZCwgcG9pc29uZWQpYCB0aHJvd3Mg
YSBSYW5nZUVycm9yIGV4Y2VwdGlvbicpOwogCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L3BvaXNvbmVkLW9iamVjdC1m
b3ItdGltZW91dC10aHJvd3MtYWdlbnQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L3BvaXNvbmVkLW9iamVjdC1mb3ItdGltZW91dC10
aHJvd3MtYWdlbnQuanMKaW5kZXggOGM2ODJmNmFjMWI0NjE2MGY5OTI5MjE5YTg1MDFmM2EyMDU4
YjYyNy4uZjk1YzA2ZmQ3YThlN2VkZWI5YWQ2NGQ1MDgzNDU1NWYzYmYwZTkzOCAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2lu
dC9wb2lzb25lZC1vYmplY3QtZm9yLXRpbWVvdXQtdGhyb3dzLWFnZW50LmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvcG9pc29u
ZWQtb2JqZWN0LWZvci10aW1lb3V0LXRocm93cy1hZ2VudC5qcwpAQCAtMjAsNyArMjAsNyBAQCBm
bGFnczogW2FzeW5jXQogaW5jbHVkZXM6IFthdG9taWNzSGVscGVyLmpzXQogZmVhdHVyZXM6IFtB
dG9taWNzLndhaXRBc3luYywgU2hhcmVkQXJyYXlCdWZmZXIsIFR5cGVkQXJyYXksIEF0b21pY3Ms
IEJpZ0ludCwgYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9uc10KIC0tLSovCi1hc3NlcnQu
c2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQu
c2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1
ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiBjb25zdCBS
VU5OSU5HID0gMTsKIAogJDI2Mi5hZ2VudC5zdGFydChgCkBAIC02MywxOSArNjMsMjMgQEAgJDI2
Mi5hZ2VudC5zdGFydChgCiBjb25zdCBpNjRhID0gbmV3IEJpZ0ludDY0QXJyYXkobmV3IFNoYXJl
ZEFycmF5QnVmZmVyKEJpZ0ludDY0QXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KSk7CiAKICQy
NjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5jKGk2NGEsIFJVTk5JTkcsIDFuKS50aGVuKGFzeW5j
IGFnZW50Q291bnQgPT4gewotICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDFuKTsKKyAg
YXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCAxbiwgJ1RoZSB2YWx1ZSBvZiBgYWdlbnRDb3Vu
dGAgaXMgMW4nKTsKIAogICBhc3NlcnQuc2FtZVZhbHVlKAogICAgIGF3YWl0ICQyNjIuYWdlbnQu
Z2V0UmVwb3J0QXN5bmMoKSwKICAgICAncG9pc29uZWRWYWx1ZU9mJywKLSAgICAnQXRvbWljcy53
YWl0QXN5bmMoaTY0YSwgMCwgMG4sIHBvaXNvbmVkVmFsdWVPZikgdGhyb3dzJworICAgICcoYXdh
aXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpKSByZXNvbHZlcyB0byB0aGUgdmFsdWUgInBv
aXNvbmVkVmFsdWVPZiInCiAgICk7CiAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBhd2FpdCAk
MjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCksCiAgICAgJ3BvaXNvbmVkVG9QcmltaXRpdmUnLAot
ICAgICdBdG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwgcG9pc29uZWRUb1ByaW1pdGl2ZSkg
dGhyb3dzJworICAgICcoYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpKSByZXNvbHZl
cyB0byB0aGUgdmFsdWUgInBvaXNvbmVkVG9QcmltaXRpdmUiJwogICApOwogCi0gIGFzc2VydC5z
YW1lVmFsdWUoQXRvbWljcy5ub3RpZnkoaTY0YSwgMCksIDAsICdBdG9taWNzLm5vdGlmeShpNjRh
LCAwKSByZXR1cm5zIDAnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBBdG9taWNzLm5vdGlm
eShpNjRhLCAwKSwKKyAgICAwLAorICAgICdBdG9taWNzLm5vdGlmeShuZXcgQmlnSW50NjRBcnJh
eShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoQmlnSW50NjRBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAq
IDQpKSwgMCkgbXVzdCByZXR1cm4gMCcKKyAgKTsKIH0pLnRoZW4oJERPTkUsICRET05FKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3lu
Yy9iaWdpbnQvcG9pc29uZWQtb2JqZWN0LWZvci10aW1lb3V0LXRocm93cy5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvcG9pc29uZWQt
b2JqZWN0LWZvci10aW1lb3V0LXRocm93cy5qcwppbmRleCA0M2QzODEwYjQ4NWNkYTc1ZWU4MzAy
NDE4NGQ3ZWNmOGU1N2MwZGM4Li5iNWMyZTNkNGIyY2U1MzY4MzYxMTdjNTA5NjQ4NTcwOWEyYzFi
MzIwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93
YWl0QXN5bmMvYmlnaW50L3BvaXNvbmVkLW9iamVjdC1mb3ItdGltZW91dC10aHJvd3MuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2lu
dC9wb2lzb25lZC1vYmplY3QtZm9yLXRpbWVvdXQtdGhyb3dzLmpzCkBAIC0xOCw3ICsxOCw3IEBA
IGluZm86IHwKIAogZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luYywgU2hhcmVkQXJyYXlCdWZm
ZXIsIFN5bWJvbCwgU3ltYm9sLnRvUHJpbWl0aXZlLCBUeXBlZEFycmF5LCBjb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lcywgQXRvbWljcywgQmlnSW50XQogLS0tKi8KLWFzc2VydC5zYW1lVmFsdWUodHlw
ZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlw
ZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2Yg
QXRvbWljcy53YWl0QXN5bmNgIGlzICJmdW5jdGlvbiInKTsKIGNvbnN0IGk2NGEgPSBuZXcgQmln
SW50NjRBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoQmlnSW50NjRBcnJheS5CWVRFU19QRVJf
RUxFTUVOVCAqIDQpKTsKIAogY29uc3QgcG9pc29uZWRWYWx1ZU9mID0gewpAQCAtMzUsOCArMzUs
OCBAQCBjb25zdCBwb2lzb25lZFRvUHJpbWl0aXZlID0gewogCiBhc3NlcnQudGhyb3dzKFRlc3Qy
NjJFcnJvciwgZnVuY3Rpb24oKSB7CiAgIEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAsIDBuLCBw
b2lzb25lZFZhbHVlT2YpOwotfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwgcG9p
c29uZWRWYWx1ZU9mKWAgdGhyb3dzIFRlc3QyNjJFcnJvcicpOworfSwgJ2BBdG9taWNzLndhaXRB
c3luYyhpNjRhLCAwLCAwbiwgcG9pc29uZWRWYWx1ZU9mKWAgdGhyb3dzIGEgVGVzdDI2MkVycm9y
IGV4Y2VwdGlvbicpOwogCiBhc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7
CiAgIEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAsIDBuLCBwb2lzb25lZFRvUHJpbWl0aXZlKTsK
LX0sICdgQXRvbWljcy53YWl0QXN5bmMoaTY0YSwgMCwgMG4sIHBvaXNvbmVkVG9QcmltaXRpdmUp
YCB0aHJvd3MgVGVzdDI2MkVycm9yJyk7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAs
IDBuLCBwb2lzb25lZFRvUHJpbWl0aXZlKWAgdGhyb3dzIGEgVGVzdDI2MkVycm9yIGV4Y2VwdGlv
bicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mv
d2FpdEFzeW5jL2JpZ2ludC9zeW1ib2wtZm9yLWluZGV4LXRocm93cy1hZ2VudC5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvc3ltYm9s
LWZvci1pbmRleC10aHJvd3MtYWdlbnQuanMKaW5kZXggN2M2NGZjMDUwYzBmZmQ5NGY5ZTVlNDky
YmYxNTdmMWUxZjdhMzBlNi4uYjVlZjY1ZmJhN2ZjNWJjZDJiMTMxM2M2Y2U0MWQyZmYwMDBlZDZm
NCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2Fp
dEFzeW5jL2JpZ2ludC9zeW1ib2wtZm9yLWluZGV4LXRocm93cy1hZ2VudC5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L3N5bWJv
bC1mb3ItaW5kZXgtdGhyb3dzLWFnZW50LmpzCkBAIC0zMiw3ICszMiw3IEBAIGZsYWdzOiBbYXN5
bmNdCiBpbmNsdWRlczogW2F0b21pY3NIZWxwZXIuanNdCiBmZWF0dXJlczogW0F0b21pY3Mud2Fp
dEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgU3ltYm9sLCBTeW1ib2wudG9QcmltaXRpdmUsIFR5
cGVkQXJyYXksIEF0b21pY3MsIEJpZ0ludCwgYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9u
c10KIC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1
bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1
bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVu
Y3Rpb24iJyk7CiBjb25zdCBSVU5OSU5HID0gMTsKIAogJDI2Mi5hZ2VudC5zdGFydChgCkBAIC03
NSwxOSArNzUsMjMgQEAgJDI2Mi5hZ2VudC5zdGFydChgCiBjb25zdCBpNjRhID0gbmV3IEJpZ0lu
dDY0QXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKEJpZ0ludDY0QXJyYXkuQllURVNfUEVSX0VM
RU1FTlQgKiA0KSk7CiAKICQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5jKGk2NGEsIFJVTk5J
TkcsIDFuKS50aGVuKGFzeW5jIGFnZW50Q291bnQgPT4gewotICBhc3NlcnQuc2FtZVZhbHVlKGFn
ZW50Q291bnQsIDFuKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCAxbiwgJ1RoZSB2
YWx1ZSBvZiBgYWdlbnRDb3VudGAgaXMgMW4nKTsKIAogICBhc3NlcnQuc2FtZVZhbHVlKAogICAg
IGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSwKICAgICAnQSBUeXBlRXJyb3InLAot
ICAgICdBdG9taWNzLndhaXRBc3luYyhpNjRhLCBTeW1ib2woIjEiKSwgLi4uLCAuLi4pIHRocm93
cyBUeXBlRXJyb3InCisgICAgJyhhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCkpIHJl
c29sdmVzIHRvIHRoZSB2YWx1ZSAiQSBUeXBlRXJyb3IiJwogICApOwogCiAgIGFzc2VydC5zYW1l
VmFsdWUoCiAgICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAogICAgICdCIFR5
cGVFcnJvcicsCi0gICAgJ0F0b21pY3Mud2FpdEFzeW5jKGk2NGEsIFN5bWJvbCgiMiIpLCAuLi4s
IC4uLikgdGhyb3dzIFR5cGVFcnJvcicKKyAgICAnKGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0
QXN5bmMoKSkgcmVzb2x2ZXMgdG8gdGhlIHZhbHVlICJCIFR5cGVFcnJvciInCiAgICk7CiAKLSAg
YXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpNjRhLCAwKSwgMCwgJ0F0b21pY3Mubm90
aWZ5KGk2NGEsIDApIHJldHVybnMgMCcpOworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIEF0b21p
Y3Mubm90aWZ5KGk2NGEsIDApLAorICAgIDAsCisgICAgJ0F0b21pY3Mubm90aWZ5KG5ldyBCaWdJ
bnQ2NEFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihCaWdJbnQ2NEFycmF5LkJZVEVTX1BFUl9F
TEVNRU5UICogNCkpLCAwKSBtdXN0IHJldHVybiAwJworICApOwogfSkudGhlbigkRE9ORSwgJERP
TkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mv
d2FpdEFzeW5jL2JpZ2ludC9zeW1ib2wtZm9yLWluZGV4LXRocm93cy5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvc3ltYm9sLWZvci1p
bmRleC10aHJvd3MuanMKaW5kZXggNzk0NTVmYzc1ODRhZWRiN2Y3YmU1YTgyNjQ2NDc1Y2ViN2Yz
ZGI4My4uZWExYTQ5ZDc2ZmU3OGRhNGU2YzRiMTEwNzUxMDVkNGIwNjcxNjc5MiAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2lu
dC9zeW1ib2wtZm9yLWluZGV4LXRocm93cy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L3N5bWJvbC1mb3ItaW5kZXgtdGhyb3dz
LmpzCkBAIC0zMSw3ICszMSw3IEBAIGluZm86IHwKIAogZmVhdHVyZXM6IFtBdG9taWNzLndhaXRB
c3luYywgU2hhcmVkQXJyYXlCdWZmZXIsIFN5bWJvbCwgU3ltYm9sLnRvUHJpbWl0aXZlLCBUeXBl
ZEFycmF5LCBjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgQXRvbWljcywgQmlnSW50XQogLS0tKi8K
LWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nKTsK
K2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nLCAn
VGhlIHZhbHVlIG9mIGB0eXBlb2YgQXRvbWljcy53YWl0QXN5bmNgIGlzICJmdW5jdGlvbiInKTsK
IGNvbnN0IGk2NGEgPSBuZXcgQmlnSW50NjRBcnJheSgKICAgbmV3IFNoYXJlZEFycmF5QnVmZmVy
KEJpZ0ludDY0QXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KQogKTsKQEAgLTUwLDE5ICs1MCwx
OSBAQCBjb25zdCBwb2lzb25lZFRvUHJpbWl0aXZlID0gewogCiBhc3NlcnQudGhyb3dzKFRlc3Qy
NjJFcnJvciwgZnVuY3Rpb24oKSB7CiAgIEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIHBvaXNvbmVk
VmFsdWVPZiwgcG9pc29uZWRWYWx1ZU9mLCBwb2lzb25lZFZhbHVlT2YpOwotfSwgJ2BBdG9taWNz
LndhaXRBc3luYyhpNjRhLCBwb2lzb25lZFZhbHVlT2YsIHBvaXNvbmVkVmFsdWVPZiwgcG9pc29u
ZWRWYWx1ZU9mKWAgdGhyb3dzIFRlc3QyNjJFcnJvcicpOworfSwgJ2BBdG9taWNzLndhaXRBc3lu
YyhpNjRhLCBwb2lzb25lZFZhbHVlT2YsIHBvaXNvbmVkVmFsdWVPZiwgcG9pc29uZWRWYWx1ZU9m
KWAgdGhyb3dzIGEgVGVzdDI2MkVycm9yIGV4Y2VwdGlvbicpOwogCiBhc3NlcnQudGhyb3dzKFRl
c3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7CiAgIEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIHBvaXNv
bmVkVG9QcmltaXRpdmUsIHBvaXNvbmVkVG9QcmltaXRpdmUsIHBvaXNvbmVkVG9QcmltaXRpdmUp
OwotfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpNjRhLCBwb2lzb25lZFRvUHJpbWl0aXZlLCBwb2lz
b25lZFRvUHJpbWl0aXZlLCBwb2lzb25lZFRvUHJpbWl0aXZlKWAgdGhyb3dzIFRlc3QyNjJFcnJv
cicpOworfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpNjRhLCBwb2lzb25lZFRvUHJpbWl0aXZlLCBw
b2lzb25lZFRvUHJpbWl0aXZlLCBwb2lzb25lZFRvUHJpbWl0aXZlKWAgdGhyb3dzIGEgVGVzdDI2
MkVycm9yIGV4Y2VwdGlvbicpOwogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24o
KSB7CiAgIEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIFN5bWJvbCgnMScpLCBwb2lzb25lZFZhbHVl
T2YsIHBvaXNvbmVkVmFsdWVPZik7Ci19LCAnYEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIFN5bWJv
bCgiMSIpLCBwb2lzb25lZFZhbHVlT2YsIHBvaXNvbmVkVmFsdWVPZilgIHRocm93cyBUeXBlRXJy
b3InKTsKK30sICdgQXRvbWljcy53YWl0QXN5bmMoaTY0YSwgU3ltYm9sKCIxIiksIHBvaXNvbmVk
VmFsdWVPZiwgcG9pc29uZWRWYWx1ZU9mKWAgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbicp
OwogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgIEF0b21pY3Mud2Fp
dEFzeW5jKGk2NGEsIFN5bWJvbCgnMicpLCBwb2lzb25lZFRvUHJpbWl0aXZlLCBwb2lzb25lZFRv
UHJpbWl0aXZlKTsKLX0sICdgQXRvbWljcy53YWl0QXN5bmMoaTY0YSwgU3ltYm9sKCIyIiksIHBv
aXNvbmVkVG9QcmltaXRpdmUsIHBvaXNvbmVkVG9QcmltaXRpdmUpYCB0aHJvd3MgVHlwZUVycm9y
Jyk7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIFN5bWJvbCgiMiIpLCBwb2lzb25lZFRv
UHJpbWl0aXZlLCBwb2lzb25lZFRvUHJpbWl0aXZlKWAgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2Vw
dGlvbicpOwogCiAKIApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9zeW1ib2wtZm9yLXRpbWVvdXQtdGhyb3dzLWFnZW50
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2Jp
Z2ludC9zeW1ib2wtZm9yLXRpbWVvdXQtdGhyb3dzLWFnZW50LmpzCmluZGV4IGE4MDFhYjY5NzBm
N2I5MzNlYzk0ZmRmNGRjZmNhNGY2ODQ1YTdmYjQuLjZmYjE2Yzk2ZmRhM2RkN2M0NmFhYTIxMWQ2
ZGVhNDMxNWRjNDFhZTcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvc3ltYm9sLWZvci10aW1lb3V0LXRocm93cy1hZ2Vu
dC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5
bmMvYmlnaW50L3N5bWJvbC1mb3ItdGltZW91dC10aHJvd3MtYWdlbnQuanMKQEAgLTE5LDcgKzE5
LDcgQEAgZmxhZ3M6IFthc3luY10KIGluY2x1ZGVzOiBbYXRvbWljc0hlbHBlci5qc10KIGZlYXR1
cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBTeW1ib2wsIFN5bWJv
bC50b1ByaW1pdGl2ZSwgVHlwZWRBcnJheSwgQXRvbWljcywgQmlnSW50LCBhcnJvdy1mdW5jdGlv
biwgYXN5bmMtZnVuY3Rpb25zXQogLS0tKi8KLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21p
Y3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21p
Y3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgQXRvbWljcy53
YWl0QXN5bmNgIGlzICJmdW5jdGlvbiInKTsKIGNvbnN0IFJVTk5JTkcgPSAxOwogCiAkMjYyLmFn
ZW50LnN0YXJ0KGAKQEAgLTUwLDE5ICs1MCwyMyBAQCAkMjYyLmFnZW50LnN0YXJ0KGAKIGNvbnN0
IGk2NGEgPSBuZXcgQmlnSW50NjRBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoQmlnSW50NjRB
cnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpKTsKIAogJDI2Mi5hZ2VudC5zYWZlQnJvYWRjYXN0
QXN5bmMoaTY0YSwgUlVOTklORywgMW4pLnRoZW4oYXN5bmMgYWdlbnRDb3VudCA9PiB7Ci0gIGFz
c2VydC5zYW1lVmFsdWUoYWdlbnRDb3VudCwgMW4pOworICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50
Q291bnQsIDFuLCAnVGhlIHZhbHVlIG9mIGBhZ2VudENvdW50YCBpcyAxbicpOwogCiAgIGFzc2Vy
dC5zYW1lVmFsdWUoCiAgICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAogICAg
ICdBIFR5cGVFcnJvcicsCi0gICAgJ0F0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAsIDBuLCBTeW1i
b2woIjEiKSkgdGhyb3dzIFR5cGVFcnJvcicKKyAgICAnKGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVw
b3J0QXN5bmMoKSkgcmVzb2x2ZXMgdG8gdGhlIHZhbHVlICJBIFR5cGVFcnJvciInCiAgICk7CiAK
ICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5j
KCksCiAgICAgJ0IgVHlwZUVycm9yJywKLSAgICAnQXRvbWljcy53YWl0QXN5bmMoaTY0YSwgMCwg
MG4sIFN5bWJvbCgiMiIpKSB0aHJvd3MgVHlwZUVycm9yJworICAgICcoYXdhaXQgJDI2Mi5hZ2Vu
dC5nZXRSZXBvcnRBc3luYygpKSByZXNvbHZlcyB0byB0aGUgdmFsdWUgIkIgVHlwZUVycm9yIicK
ICAgKTsKIAotICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mubm90aWZ5KGk2NGEsIDApLCAwLCAn
QXRvbWljcy5ub3RpZnkoaTY0YSwgMCkgcmV0dXJucyAwJyk7CisgIGFzc2VydC5zYW1lVmFsdWUo
CisgICAgQXRvbWljcy5ub3RpZnkoaTY0YSwgMCksCisgICAgMCwKKyAgICAnQXRvbWljcy5ub3Rp
ZnkobmV3IEJpZ0ludDY0QXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKEJpZ0ludDY0QXJyYXku
QllURVNfUEVSX0VMRU1FTlQgKiA0KSksIDApIG11c3QgcmV0dXJuIDAnCisgICk7CiB9KS50aGVu
KCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L3N5bWJvbC1mb3ItdGltZW91dC10aHJvd3MuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50
L3N5bWJvbC1mb3ItdGltZW91dC10aHJvd3MuanMKaW5kZXggNTU2YjYzZDBmMjU5NGNlZDdlYjg0
YjM5NWZiZjNkZjdhZmQxOTFiOC4uOTQwMGY4YzJjNmVmYTkxM2RmYzRjYjIxZTU5YjdjMGRkMWI1
Y2EwZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mv
d2FpdEFzeW5jL2JpZ2ludC9zeW1ib2wtZm9yLXRpbWVvdXQtdGhyb3dzLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvc3ltYm9s
LWZvci10aW1lb3V0LXRocm93cy5qcwpAQCAtMTcsNyArMTcsNyBAQCBpbmZvOiB8CiAKIGZlYXR1
cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBTeW1ib2wsIFN5bWJv
bC50b1ByaW1pdGl2ZSwgVHlwZWRBcnJheSwgY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIEF0b21p
Y3MsIEJpZ0ludF0KIC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRB
c3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRB
c3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5j
YCBpcyAiZnVuY3Rpb24iJyk7CiBjb25zdCBpNjRhID0gbmV3IEJpZ0ludDY0QXJyYXkobmV3IFNo
YXJlZEFycmF5QnVmZmVyKEJpZ0ludDY0QXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KSk7CiAK
IGNvbnN0IHBvaXNvbmVkVmFsdWVPZiA9IHsKQEAgLTM0LDE2ICszNCwxNiBAQCBjb25zdCBwb2lz
b25lZFRvUHJpbWl0aXZlID0gewogCiBhc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rp
b24oKSB7CiAgIEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAsIDBuLCBwb2lzb25lZFZhbHVlT2Yp
OwotfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwgcG9pc29uZWRWYWx1ZU9mKWAg
dGhyb3dzIFRlc3QyNjJFcnJvcicpOworfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCAw
biwgcG9pc29uZWRWYWx1ZU9mKWAgdGhyb3dzIGEgVGVzdDI2MkVycm9yIGV4Y2VwdGlvbicpOwog
CiBhc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7CiAgIEF0b21pY3Mud2Fp
dEFzeW5jKGk2NGEsIDAsIDBuLCBwb2lzb25lZFRvUHJpbWl0aXZlKTsKLX0sICdgQXRvbWljcy53
YWl0QXN5bmMoaTY0YSwgMCwgMG4sIHBvaXNvbmVkVG9QcmltaXRpdmUpYCB0aHJvd3MgVGVzdDI2
MkVycm9yJyk7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAsIDBuLCBwb2lzb25lZFRv
UHJpbWl0aXZlKWAgdGhyb3dzIGEgVGVzdDI2MkVycm9yIGV4Y2VwdGlvbicpOwogCiBhc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgIEF0b21pY3Mud2FpdEFzeW5jKGk2NGEs
IDAsIDBuLCBTeW1ib2woJ2ZvbycpKTsKLX0sICdgQXRvbWljcy53YWl0QXN5bmMoaTY0YSwgMCwg
MG4sIFN5bWJvbCgiZm9vIikpYCB0aHJvd3MgVHlwZUVycm9yJyk7Cit9LCAnYEF0b21pY3Mud2Fp
dEFzeW5jKGk2NGEsIDAsIDBuLCBTeW1ib2woImZvbyIpKWAgdGhyb3dzIGEgVHlwZUVycm9yIGV4
Y2VwdGlvbicpOwogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgIEF0
b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAsIDBuLCBTeW1ib2woJ2ZvbycpKTsKLX0sICdgQXRvbWlj
cy53YWl0QXN5bmMoaTY0YSwgMCwgMG4sIFN5bWJvbCgiZm9vIikpYCB0aHJvd3MgVHlwZUVycm9y
Jyk7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAsIDBuLCBTeW1ib2woImZvbyIpKWAg
dGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9zeW1ib2wtZm9yLXZh
bHVlLXRocm93cy1hZ2VudC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9t
aWNzL3dhaXRBc3luYy9iaWdpbnQvc3ltYm9sLWZvci12YWx1ZS10aHJvd3MtYWdlbnQuanMKaW5k
ZXggNDBiZTFkYTM1NDNjMGJlMzMzZGM4MTcwZDYzNjVhM2Y0YTNmNjgzNC4uNTA3YjdlNWU3MzA4
MGI2OWU2MWUyZGEwNTVkMDgzNmE5YWVkNWI0ZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC9zeW1ib2wtZm9yLXZhbHVl
LXRocm93cy1hZ2VudC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRv
bWljcy93YWl0QXN5bmMvYmlnaW50L3N5bWJvbC1mb3ItdmFsdWUtdGhyb3dzLWFnZW50LmpzCkBA
IC0yMyw3ICsyMyw3IEBAIGZsYWdzOiBbYXN5bmNdCiBpbmNsdWRlczogW2F0b21pY3NIZWxwZXIu
anNdCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgU3lt
Ym9sLCBTeW1ib2wudG9QcmltaXRpdmUsIFR5cGVkQXJyYXksIEF0b21pY3MsIEJpZ0ludCwgYXJy
b3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9uc10KIC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5
cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5
cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9m
IEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiBjb25zdCBSVU5OSU5HID0gMTsK
IAogJDI2Mi5hZ2VudC5zdGFydChgCkBAIC02NiwxOSArNjYsMjMgQEAgJDI2Mi5hZ2VudC5zdGFy
dChgCiBjb25zdCBpNjRhID0gbmV3IEJpZ0ludDY0QXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVy
KEJpZ0ludDY0QXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KSk7CiAKICQyNjIuYWdlbnQuc2Fm
ZUJyb2FkY2FzdEFzeW5jKGk2NGEsIFJVTk5JTkcsIDFuKS50aGVuKGFzeW5jIGFnZW50Q291bnQg
PT4gewotICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDFuKTsKKyAgYXNzZXJ0LnNhbWVW
YWx1ZShhZ2VudENvdW50LCAxbiwgJ1RoZSB2YWx1ZSBvZiBgYWdlbnRDb3VudGAgaXMgMW4nKTsK
IAogICBhc3NlcnQuc2FtZVZhbHVlKAogICAgIGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5
bmMoKSwKICAgICAnQSBUeXBlRXJyb3InLAotICAgICdBdG9taWNzLndhaXRBc3luYyhpNjRhLCAw
LCBTeW1ib2woIjEiKSwgLi4uKSB0aHJvd3MgVHlwZUVycm9yJworICAgICcoYXdhaXQgJDI2Mi5h
Z2VudC5nZXRSZXBvcnRBc3luYygpKSByZXNvbHZlcyB0byB0aGUgdmFsdWUgIkEgVHlwZUVycm9y
IicKICAgKTsKIAogICBhc3NlcnQuc2FtZVZhbHVlKAogICAgIGF3YWl0ICQyNjIuYWdlbnQuZ2V0
UmVwb3J0QXN5bmMoKSwKICAgICAnQiBUeXBlRXJyb3InLAotICAgICdBdG9taWNzLndhaXRBc3lu
YyhpNjRhLCAwLCBTeW1ib2woIjIiKSwgLi4uKSB0aHJvd3MgVHlwZUVycm9yJworICAgICcoYXdh
aXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpKSByZXNvbHZlcyB0byB0aGUgdmFsdWUgIkIg
VHlwZUVycm9yIicKICAgKTsKIAotICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mubm90aWZ5KGk2
NGEsIDApLCAwLCAnQXRvbWljcy5ub3RpZnkoaTY0YSwgMCkgcmV0dXJucyAwJyk7CisgIGFzc2Vy
dC5zYW1lVmFsdWUoCisgICAgQXRvbWljcy5ub3RpZnkoaTY0YSwgMCksCisgICAgMCwKKyAgICAn
QXRvbWljcy5ub3RpZnkobmV3IEJpZ0ludDY0QXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKEJp
Z0ludDY0QXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KSksIDApIG11c3QgcmV0dXJuIDAnCisg
ICk7CiB9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L3N5bWJvbC1mb3ItdmFsdWUt
dGhyb3dzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFz
eW5jL2JpZ2ludC9zeW1ib2wtZm9yLXZhbHVlLXRocm93cy5qcwppbmRleCA1ZDA4YWQyZjIxOTFh
ODU4YWFlZmJjNDY0NjVmNzk4YzM1Mzc5MTljLi42ZjM2ZGQxOTZiMTU1YWNjMDkzMDcyMWUxOWEw
ODAxNTIwODEwMmYzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QXRvbWljcy93YWl0QXN5bmMvYmlnaW50L3N5bWJvbC1mb3ItdmFsdWUtdGhyb3dzLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQv
c3ltYm9sLWZvci12YWx1ZS10aHJvd3MuanMKQEAgLTIyLDcgKzIyLDcgQEAgaW5mbzogfAogCiBm
ZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgU3ltYm9sLCBT
eW1ib2wudG9QcmltaXRpdmUsIFR5cGVkQXJyYXksIGNvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBB
dG9taWNzLCBCaWdJbnRdCiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53
YWl0QXN5bmMsICdmdW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53
YWl0QXN5bmMsICdmdW5jdGlvbicsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBBdG9taWNzLndhaXRB
c3luY2AgaXMgImZ1bmN0aW9uIicpOwogY29uc3QgaTY0YSA9IG5ldyBCaWdJbnQ2NEFycmF5KAog
ICBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoQmlnSW50NjRBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAq
IDQpCiApOwpAQCAtNDEsMTcgKzQxLDE3IEBAIGNvbnN0IHBvaXNvbmVkVG9QcmltaXRpdmUgPSB7
CiAKIGFzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsKICAgQXRvbWljcy53
YWl0QXN5bmMoaTY0YSwgMCwgcG9pc29uZWRWYWx1ZU9mLCBwb2lzb25lZFZhbHVlT2YpOwotfSwg
J2BBdG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCBwb2lzb25lZFZhbHVlT2YsIHBvaXNvbmVkVmFs
dWVPZilgIHRocm93cyBUZXN0MjYyRXJyb3InKTsKK30sICdgQXRvbWljcy53YWl0QXN5bmMoaTY0
YSwgMCwgcG9pc29uZWRWYWx1ZU9mLCBwb2lzb25lZFZhbHVlT2YpYCB0aHJvd3MgYSBUZXN0MjYy
RXJyb3IgZXhjZXB0aW9uJyk7CiAKIGFzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlv
bigpIHsKICAgQXRvbWljcy53YWl0QXN5bmMoaTY0YSwgMCwgcG9pc29uZWRUb1ByaW1pdGl2ZSwg
cG9pc29uZWRUb1ByaW1pdGl2ZSk7Ci19LCAnYEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAsIHBv
aXNvbmVkVG9QcmltaXRpdmUsIHBvaXNvbmVkVG9QcmltaXRpdmUpYCB0aHJvd3MgVGVzdDI2MkVy
cm9yJyk7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAsIHBvaXNvbmVkVG9QcmltaXRp
dmUsIHBvaXNvbmVkVG9QcmltaXRpdmUpYCB0aHJvd3MgYSBUZXN0MjYyRXJyb3IgZXhjZXB0aW9u
Jyk7CiAKIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAgQXRvbWljcy53
YWl0QXN5bmMoaTY0YSwgMCwgU3ltYm9sKCJmb28iKSwgcG9pc29uZWRWYWx1ZU9mKTsKLX0sICdg
QXRvbWljcy53YWl0QXN5bmMoaTY0YSwgMCwgU3ltYm9sKCJmb28iKSwgcG9pc29uZWRWYWx1ZU9m
KWAgdGhyb3dzIFR5cGVFcnJvcicpOworfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCBT
eW1ib2woImZvbyIpLCBwb2lzb25lZFZhbHVlT2YpYCB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0
aW9uJyk7CiAKIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAgQXRvbWlj
cy53YWl0QXN5bmMoaTY0YSwgMCwgU3ltYm9sKCJmb28iKSwgcG9pc29uZWRUb1ByaW1pdGl2ZSk7
Ci19LCAnYEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAsIFN5bWJvbCgiZm9vIiksIHBvaXNvbmVk
VG9QcmltaXRpdmUpYCB0aHJvd3MgVHlwZUVycm9yJyk7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5j
KGk2NGEsIDAsIFN5bWJvbCgiZm9vIiksIHBvaXNvbmVkVG9QcmltaXRpdmUpYCB0aHJvd3MgYSBU
eXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvdHJ1ZS1mb3ItdGltZW91dC1hZ2Vu
dC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9i
aWdpbnQvdHJ1ZS1mb3ItdGltZW91dC1hZ2VudC5qcwppbmRleCBkMzgyMzllNGFiYWIzZTQ5NjYx
ZWRmZTQ0Y2NhZTFkMGExZDJkNDVmLi4yYmQxZmVlNzdhZmIwMzc3YjVmZjQ4ZWM1NWQ0ZTRmMGNh
MmNiNTA5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWlj
cy93YWl0QXN5bmMvYmlnaW50L3RydWUtZm9yLXRpbWVvdXQtYWdlbnQuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC90cnVlLWZv
ci10aW1lb3V0LWFnZW50LmpzCkBAIC0xNyw3ICsxNyw3IEBAIGZsYWdzOiBbYXN5bmNdCiBpbmNs
dWRlczogW2F0b21pY3NIZWxwZXIuanNdCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBT
aGFyZWRBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgQXRvbWljcywgQmlnSW50LCBhcnJvdy1mdW5j
dGlvbiwgYXN5bmMtZnVuY3Rpb25zXQogLS0tKi8KLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0
b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0
b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgQXRvbWlj
cy53YWl0QXN5bmNgIGlzICJmdW5jdGlvbiInKTsKIGNvbnN0IFJVTk5JTkcgPSAxOwogCiAkMjYy
LmFnZW50LnN0YXJ0KGAKQEAgLTQ2LDI1ICs0NiwyOSBAQCAkMjYyLmFnZW50LnN0YXJ0KGAKIGNv
bnN0IGk2NGEgPSBuZXcgQmlnSW50NjRBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoQmlnSW50
NjRBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpKTsKIAogJDI2Mi5hZ2VudC5zYWZlQnJvYWRj
YXN0QXN5bmMoaTY0YSwgUlVOTklORywgMW4pLnRoZW4oYXN5bmMgYWdlbnRDb3VudCA9PiB7Ci0g
IGFzc2VydC5zYW1lVmFsdWUoYWdlbnRDb3VudCwgMW4pOworICBhc3NlcnQuc2FtZVZhbHVlKGFn
ZW50Q291bnQsIDFuLCAnVGhlIHZhbHVlIG9mIGBhZ2VudENvdW50YCBpcyAxbicpOwogCiAgIGFz
c2VydC5zYW1lVmFsdWUoCiAgICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAog
ICAgICd0aW1lZC1vdXQnLAotICAgICdhd2FpdCBBdG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCAw
biwgZmFsc2UpLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICAgICcoYXdhaXQgJDI2
Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpKSByZXNvbHZlcyB0byB0aGUgdmFsdWUgInRpbWVkLW91
dCInCiAgICk7CiAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBhd2FpdCAkMjYyLmFnZW50Lmdl
dFJlcG9ydEFzeW5jKCksCiAgICAgJ3RpbWVkLW91dCcsCi0gICAgJ2F3YWl0IEF0b21pY3Mud2Fp
dEFzeW5jKGk2NGEsIDAsIDBuLCB2YWx1ZU9mKS52YWx1ZSByZXNvbHZlcyB0byAidGltZWQtb3V0
IicKKyAgICAnKGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSkgcmVzb2x2ZXMgdG8g
dGhlIHZhbHVlICJ0aW1lZC1vdXQiJwogICApOwogCiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAg
YXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAogICAgICd0aW1lZC1vdXQnLAotICAg
ICdhd2FpdCBBdG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwgdG9QcmltaXRpdmUpLnZhbHVl
IHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICAgICcoYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBv
cnRBc3luYygpKSByZXNvbHZlcyB0byB0aGUgdmFsdWUgInRpbWVkLW91dCInCiAgICk7CiAKLSAg
YXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpNjRhLCAwKSwgMCwgJ0F0b21pY3Mubm90
aWZ5KGk2NGEsIDApIHJldHVybnMgMCcpOworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIEF0b21p
Y3Mubm90aWZ5KGk2NGEsIDApLAorICAgIDAsCisgICAgJ0F0b21pY3Mubm90aWZ5KG5ldyBCaWdJ
bnQ2NEFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihCaWdJbnQ2NEFycmF5LkJZVEVTX1BFUl9F
TEVNRU5UICogNCkpLCAwKSBtdXN0IHJldHVybiAwJworICApOwogfSkudGhlbigkRE9ORSwgJERP
TkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mv
d2FpdEFzeW5jL2JpZ2ludC90cnVlLWZvci10aW1lb3V0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC90cnVlLWZvci10aW1lb3V0Lmpz
CmluZGV4IDIxNDg1NDQ5NjJmNjYyMTY2ODdjODMxZjgzZmRmZjNjZjIxMzEwY2UuLmNmYWU5ZGQ0
ODUzMTJjN2RkMzkyM2FlMzkyNjgwMjUwYTQ0YzQwYjcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvdHJ1ZS1mb3ItdGlt
ZW91dC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0
QXN5bmMvYmlnaW50L3RydWUtZm9yLXRpbWVvdXQuanMKQEAgLTE4LDcgKzE4LDcgQEAgaW5mbzog
fAogZmxhZ3M6IFthc3luY10KIGZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFy
cmF5QnVmZmVyLCBUeXBlZEFycmF5LCBBdG9taWNzLCBCaWdJbnQsIGNvbXB1dGVkLXByb3BlcnR5
LW5hbWVzLCBTeW1ib2wsIFN5bWJvbC50b1ByaW1pdGl2ZSwgYXJyb3ctZnVuY3Rpb25dCiAtLS0q
LwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicp
OworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbics
ICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBBdG9taWNzLndhaXRBc3luY2AgaXMgImZ1bmN0aW9uIicp
OwogY29uc3QgaTY0YSA9IG5ldyBCaWdJbnQ2NEFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihC
aWdJbnQ2NEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkpOwogCiBjb25zdCB2YWx1ZU9mID0g
ewpAQCAtMzMsMTIgKzMzLDMxIEBAIGNvbnN0IHRvUHJpbWl0aXZlID0gewogICB9CiB9OwogCits
ZXQgb3V0Y29tZXMgPSBbXTsKK2xldCBsaWZlc3BhbiA9IDEwMDA7CitsZXQgc3RhcnQgPSAkMjYy
LmFnZW50Lm1vbm90b25pY05vdygpOworCisoZnVuY3Rpb24gd2FpdCgpIHsKKyAgbGV0IGVsYXBz
ZWQgPSAkMjYyLmFnZW50Lm1vbm90b25pY05vdygpIC0gc3RhcnQ7CisKKyAgaWYgKGVsYXBzZWQg
PiBsaWZlc3BhbikgeworICAgICRET05FKCdUZXN0IHRpbWVkIG91dCcpOworICAgIHJldHVybjsK
KyAgfQorCisgIGlmIChvdXRjb21lcy5sZW5ndGgpIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKG91
dGNvbWVzWzBdLCAndGltZWQtb3V0JywgJ1RoZSB2YWx1ZSBvZiBvdXRjb21lc1swXSBpcyAidGlt
ZWQtb3V0IicpOworICAgIGFzc2VydC5zYW1lVmFsdWUob3V0Y29tZXNbMV0sICd0aW1lZC1vdXQn
LCAnVGhlIHZhbHVlIG9mIG91dGNvbWVzWzFdIGlzICJ0aW1lZC1vdXQiJyk7CisgICAgYXNzZXJ0
LnNhbWVWYWx1ZShvdXRjb21lc1syXSwgJ3RpbWVkLW91dCcsICdUaGUgdmFsdWUgb2Ygb3V0Y29t
ZXNbMl0gaXMgInRpbWVkLW91dCInKTsKKyAgICAkRE9ORSgpOworICAgIHJldHVybjsKKyAgfQor
CisgICQyNjIuYWdlbnQuc2V0VGltZW91dCh3YWl0LCAwKTsKK30pKCk7CisKIFByb21pc2UuYWxs
KFsKICAgQXRvbWljcy53YWl0QXN5bmMoaTY0YSwgMCwgMG4sIHRydWUpLnZhbHVlLAogICBBdG9t
aWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwgdmFsdWVPZikudmFsdWUsCiAgIEF0b21pY3Mud2Fp
dEFzeW5jKGk2NGEsIDAsIDBuLCB0b1ByaW1pdGl2ZSkudmFsdWUKLV0pLnRoZW4ob3V0Y29tZXMg
PT4gewotICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWVzWzBdLCAndGltZWQtb3V0Jyk7Ci0gIGFz
c2VydC5zYW1lVmFsdWUob3V0Y29tZXNbMV0sICd0aW1lZC1vdXQnKTsKLSAgYXNzZXJ0LnNhbWVW
YWx1ZShvdXRjb21lc1syXSwgJ3RpbWVkLW91dCcpOwotfSkudGhlbigkRE9ORSwgJERPTkUpOwor
XSkudGhlbihyZXN1bHRzID0+IG91dGNvbWVzID0gcmVzdWx0cywgJERPTkUpOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2lu
dC91bmRlZmluZWQtZm9yLXRpbWVvdXQtYWdlbnQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L3VuZGVmaW5lZC1mb3ItdGltZW91dC1h
Z2VudC5qcwppbmRleCBlOGJmODczNDc0NGU3NGI0OTQ1MjlmYWI4MTBkZDAwODQyMjE2ZGQ2Li42
NDYzNmQ3ZTNjY2EzZjZmNjA2ZmUwMjVjYjY1YzE5YmQ5NzhkMzY5IDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L3VuZGVm
aW5lZC1mb3ItdGltZW91dC1hZ2VudC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L3VuZGVmaW5lZC1mb3ItdGltZW91dC1hZ2Vu
dC5qcwpAQCAtMjIsNyArMjIsNyBAQCBmbGFnczogW2FzeW5jXQogaW5jbHVkZXM6IFthdG9taWNz
SGVscGVyLmpzXQogZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luYywgU2hhcmVkQXJyYXlCdWZm
ZXIsIFR5cGVkQXJyYXksIEF0b21pY3MsIEJpZ0ludCwgYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1
bmN0aW9uc10KIC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3lu
YywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3lu
YywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBp
cyAiZnVuY3Rpb24iJyk7CiAKIGNvbnN0IFdBSVRfSU5ERVggPSAwOwogY29uc3QgUlVOTklORyA9
IDE7CkBAIC01NywxMiArNTcsMTYgQEAgY29uc3QgaTY0YSA9IG5ldyBCaWdJbnQ2NEFycmF5KAog
CiAkMjYyLmFnZW50LnNhZmVCcm9hZGNhc3RBc3luYyhpNjRhLCBSVU5OSU5HLCBCaWdJbnQoTlVN
QUdFTlQpKS50aGVuKGFzeW5jIChhZ2VudENvdW50KSA9PiB7CiAKLSAgYXNzZXJ0LnNhbWVWYWx1
ZShhZ2VudENvdW50LCBCaWdJbnQoTlVNQUdFTlQpKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
ICBhZ2VudENvdW50LAorICAgIEJpZ0ludChOVU1BR0VOVCksCisgICAgJ1RoZSB2YWx1ZSBvZiBg
YWdlbnRDb3VudGAgbXVzdCByZXR1cm4gdGhlIHNhbWUgdmFsdWUgcmV0dXJuZWQgYnkgQmlnSW50
KE5VTUFHRU5UKScKKyAgKTsKIAogICBhc3NlcnQuc2FtZVZhbHVlKAogICAgIEF0b21pY3Mubm90
aWZ5KGk2NGEsIFdBSVRfSU5ERVgsIE5PVElGWUNPVU5UKSwKICAgICBOT1RJRllDT1VOVCwKLSAg
ICAnQXRvbWljcy5ub3RpZnkoaTY0YSwgV0FJVF9JTkRFWCwgTk9USUZZQ09VTlQpIHJldHVybnMg
dGhlIHZhbHVlIG9mIGBOT1RJRllDT1VOVGAgKDIpJworICAgICdBdG9taWNzLm5vdGlmeShuZXcg
QmlnSW50NjRBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoQmlnSW50NjRBcnJheS5CWVRFU19Q
RVJfRUxFTUVOVCAqIDQpKSwgMCwgMikgbXVzdCByZXR1cm4gdGhlIHZhbHVlIG9mIE5PVElGWUNP
VU5UJwogICApOwogCiAgIGNvbnN0IHJlcG9ydHMgPSBbCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L3VuZGVmaW5lZC1m
b3ItdGltZW91dC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dh
aXRBc3luYy9iaWdpbnQvdW5kZWZpbmVkLWZvci10aW1lb3V0LmpzCmluZGV4IDc3ZDI1Y2ZlNzhk
Y2ZmZmZkMmNhNmY2ZjgxZWU3NTU4ZDM2OWQxMDQuLjQzNTAwYzA5ZTdmMzU0NGU0MjcxMTYxMmYz
ZmU3NWVkNGQ0ODJiYjcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvdW5kZWZpbmVkLWZvci10aW1lb3V0LmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQv
dW5kZWZpbmVkLWZvci10aW1lb3V0LmpzCkBAIC0xOCwyMyArMTgsMTEgQEAgaW5mbzogfAogICA1
LklmIHEgaXMgTmFOLCBsZXQgdCBiZSAr4oieLCBlbHNlIGxldCB0IGJlIG1heChxLCAwKQogCiBm
bGFnczogW2FzeW5jXQotaW5jbHVkZXM6IFthdG9taWNzSGVscGVyLmpzXQogZmVhdHVyZXM6IFtB
dG9taWNzLndhaXRBc3luYywgU2hhcmVkQXJyYXlCdWZmZXIsIFR5cGVkQXJyYXksIEF0b21pY3Ms
IEJpZ0ludCwgY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIFN5bWJvbCwgU3ltYm9sLnRvUHJpbWl0
aXZlLCBhcnJvdy1mdW5jdGlvbl0KIC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9t
aWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9t
aWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mu
d2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiBjb25zdCBpNjRhID0gbmV3IEJpZ0ludDY0QXJy
YXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKEJpZ0ludDY0QXJyYXkuQllURVNfUEVSX0VMRU1FTlQg
KiA0KSk7CiAKLSQyNjIuYWdlbnQuc3RhcnQoYAotICAkMjYyLmFnZW50LnJlY2VpdmVCcm9hZGNh
c3QoYXN5bmMgKHNhYikgPT4gewotICAgIHZhciBpNjRhID0gbmV3IEJpZ0ludDY0QXJyYXkoc2Fi
KTsKLSAgICAkMjYyLmFnZW50LnNsZWVwKDEwMDApOwotICAgIEF0b21pY3Mubm90aWZ5KGk2NGEs
IDAsIDQpOwotICAgICQyNjIuYWdlbnQubGVhdmluZygpOwotICB9KTsKLWApOwotCi0kMjYyLmFn
ZW50LnNhZmVCcm9hZGNhc3QoaTY0YSk7Ci0KIGNvbnN0IHZhbHVlT2YgPSB7CiAgIHZhbHVlT2Yo
KSB7CiAgICAgcmV0dXJuIHVuZGVmaW5lZDsKQEAgLTUzLDggKzQxLDEwIEBAIFByb21pc2UuYWxs
KFsKICAgQXRvbWljcy53YWl0QXN5bmMoaTY0YSwgMCwgMG4sIHZhbHVlT2YpLnZhbHVlLAogICBB
dG9taWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbiwgdG9QcmltaXRpdmUpLnZhbHVlCiBdKS50aGVu
KG91dGNvbWVzID0+IHsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShvdXRjb21lc1swXSwgJ29rJyk7Ci0g
IGFzc2VydC5zYW1lVmFsdWUob3V0Y29tZXNbMV0sICdvaycpOwotICBhc3NlcnQuc2FtZVZhbHVl
KG91dGNvbWVzWzJdLCAnb2snKTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShvdXRjb21lc1szXSwgJ29r
Jyk7CisgIGFzc2VydC5zYW1lVmFsdWUob3V0Y29tZXNbMF0sICdvaycsICdUaGUgdmFsdWUgb2Yg
b3V0Y29tZXNbMF0gaXMgIm9rIicpOworICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWVzWzFdLCAn
b2snLCAnVGhlIHZhbHVlIG9mIG91dGNvbWVzWzFdIGlzICJvayInKTsKKyAgYXNzZXJ0LnNhbWVW
YWx1ZShvdXRjb21lc1syXSwgJ29rJywgJ1RoZSB2YWx1ZSBvZiBvdXRjb21lc1syXSBpcyAib2si
Jyk7CisgIGFzc2VydC5zYW1lVmFsdWUob3V0Y29tZXNbM10sICdvaycsICdUaGUgdmFsdWUgb2Yg
b3V0Y29tZXNbM10gaXMgIm9rIicpOwogfSkudGhlbigkRE9ORSwgJERPTkUpOworCitBdG9taWNz
Lm5vdGlmeShpNjRhLCAwKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvdW5kZWZpbmVkLWluZGV4LWRlZmF1bHRzLXRv
LXplcm8tYWdlbnQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93
YWl0QXN5bmMvYmlnaW50L3VuZGVmaW5lZC1pbmRleC1kZWZhdWx0cy10by16ZXJvLWFnZW50Lmpz
CmluZGV4IDY2MmM4NzQxYzYzYzNjZWZkMDk0OGMwOTNmZjRlYzExNjQwY2FjNzAuLjliZDFiMzY3
OTk1NjNhYzBlZDI5ZWEzMDdkNWNhZmMzYjZlY2YzZjUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvdW5kZWZpbmVkLWlu
ZGV4LWRlZmF1bHRzLXRvLXplcm8tYWdlbnQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC91bmRlZmluZWQtaW5kZXgtZGVmYXVs
dHMtdG8temVyby1hZ2VudC5qcwpAQCAtMjYsNyArMjYsNyBAQCBmbGFnczogW2FzeW5jXQogaW5j
bHVkZXM6IFthdG9taWNzSGVscGVyLmpzXQogZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luYywg
U2hhcmVkQXJyYXlCdWZmZXIsIFR5cGVkQXJyYXksIEF0b21pY3MsIEJpZ0ludCwgYXJyb3ctZnVu
Y3Rpb24sIGFzeW5jLWZ1bmN0aW9uc10KIC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBB
dG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBB
dG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21p
Y3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiAKIGNvbnN0IFdBSVRfSU5ERVggPSAwOwog
Y29uc3QgUlVOTklORyA9IDE7CkBAIC01OSwxMiArNTksMTYgQEAgY29uc3QgaTY0YSA9IG5ldyBC
aWdJbnQ2NEFycmF5KAogCiAkMjYyLmFnZW50LnNhZmVCcm9hZGNhc3RBc3luYyhpNjRhLCBSVU5O
SU5HLCBCaWdJbnQoTlVNQUdFTlQpKS50aGVuKGFzeW5jIChhZ2VudENvdW50KSA9PiB7CiAKLSAg
YXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCBCaWdJbnQoTlVNQUdFTlQpKTsKKyAgYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgICBhZ2VudENvdW50LAorICAgIEJpZ0ludChOVU1BR0VOVCksCisgICAg
J1RoZSB2YWx1ZSBvZiBgYWdlbnRDb3VudGAgbXVzdCByZXR1cm4gdGhlIHNhbWUgdmFsdWUgcmV0
dXJuZWQgYnkgQmlnSW50KE5VTUFHRU5UKScKKyAgKTsKIAogICBhc3NlcnQuc2FtZVZhbHVlKAog
ICAgIEF0b21pY3Mubm90aWZ5KGk2NGEsIFdBSVRfSU5ERVgsIE5PVElGWUNPVU5UKSwKICAgICBO
T1RJRllDT1VOVCwKLSAgICAnQXRvbWljcy5ub3RpZnkoaTY0YSwgV0FJVF9JTkRFWCwgTk9USUZZ
Q09VTlQpIHJldHVybnMgdGhlIHZhbHVlIG9mIGBOT1RJRllDT1VOVGAgKDIpJworICAgICdBdG9t
aWNzLm5vdGlmeShuZXcgQmlnSW50NjRBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoQmlnSW50
NjRBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpKSwgMCwgMikgbXVzdCByZXR1cm4gdGhlIHZh
bHVlIG9mIE5PVElGWUNPVU5UJwogICApOwogCiAgIGNvbnN0IHJlcG9ydHMgPSBbCmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmln
aW50L3ZhbHVlLW5vdC1lcXVhbC1hZ2VudC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvdmFsdWUtbm90LWVxdWFsLWFnZW50LmpzCmlu
ZGV4IDFlOGQ1YjFjMzc2YTgwYTg2ZGE5YTBiMTQ4NDdlMGQ5OTA1MTcwODcuLmJlNDk0MDdmNjRk
MDFjZjBiMTEwYTU2MDU4ZGFjNTJjZTkzZTA1OTQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvdmFsdWUtbm90LWVxdWFs
LWFnZW50LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dh
aXRBc3luYy9iaWdpbnQvdmFsdWUtbm90LWVxdWFsLWFnZW50LmpzCkBAIC0yMyw3ICsyMyw3IEBA
IGZsYWdzOiBbYXN5bmNdCiBpbmNsdWRlczogW2F0b21pY3NIZWxwZXIuanNdCiBmZWF0dXJlczog
W0F0b21pY3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgQXRvbWlj
cywgQmlnSW50LCBhcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVuY3Rpb25zXQogLS0tKi8KLWFzc2Vy
dC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nLCAnVGhlIHZh
bHVlIG9mIGB0eXBlb2YgQXRvbWljcy53YWl0QXN5bmNgIGlzICJmdW5jdGlvbiInKTsKIGNvbnN0
IFJVTk5JTkcgPSAxOwogY29uc3QgdmFsdWUgPSA0Mm47CiAKQEAgLTQwLDIzICs0MCwyMyBAQCAk
MjYyLmFnZW50LnN0YXJ0KGAKIGNvbnN0IGk2NGEgPSBuZXcgQmlnSW50NjRBcnJheShuZXcgU2hh
cmVkQXJyYXlCdWZmZXIoQmlnSW50NjRBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpKTsKIAog
JDI2Mi5hZ2VudC5zYWZlQnJvYWRjYXN0QXN5bmMoaTY0YSwgUlVOTklORywgMW4pLnRoZW4oYXN5
bmMgYWdlbnRDb3VudCA9PiB7Ci0gIGFzc2VydC5zYW1lVmFsdWUoYWdlbnRDb3VudCwgMW4pOwor
ICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDFuLCAnVGhlIHZhbHVlIG9mIGBhZ2VudENv
dW50YCBpcyAxbicpOwogCiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgYXdhaXQgJDI2Mi5hZ2Vu
dC5nZXRSZXBvcnRBc3luYygpLAogICAgIHZhbHVlLnRvU3RyaW5nKCksCi0gICAgJ0F0b21pY3Mu
c3RvcmUoaTY0YSwgMCwgNDJuKSByZXR1cm5zIDQyJworICAgICcoYXdhaXQgJDI2Mi5hZ2VudC5n
ZXRSZXBvcnRBc3luYygpKSBtdXN0IHJldHVybiB0aGUgc2FtZSB2YWx1ZSByZXR1cm5lZCBieSB2
YWx1ZS50b1N0cmluZygpJwogICApOwogCiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgYXdhaXQg
JDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAogICAgICdub3QtZXF1YWwnLAotICAgICdBdG9t
aWNzLndhaXRBc3luYyhpNjRhLCAwLCAwbikudmFsdWUgcmVzb2x2ZXMgdG8gIm5vdC1lcXVhbCIn
CisgICAgJyhhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCkpIHJlc29sdmVzIHRvIHRo
ZSB2YWx1ZSAibm90LWVxdWFsIicKICAgKTsKIAogICBhc3NlcnQuc2FtZVZhbHVlKAogICAgIEF0
b21pY3Mubm90aWZ5KGk2NGEsIDAsIDEpLAogICAgIDAsCi0gICAgJ0F0b21pY3Mubm90aWZ5KGk2
NGEsIDAsIDEpIHJldHVybnMgMCAobm90aGluZyB0byBub3RpZnkpJworICAgICdBdG9taWNzLm5v
dGlmeShuZXcgQmlnSW50NjRBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoQmlnSW50NjRBcnJh
eS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpKSwgMCwgMSkgbXVzdCByZXR1cm4gMCcKICAgKTsKIH0p
LnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvdmFsdWUtbm90LWVxdWFsLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC92YWx1
ZS1ub3QtZXF1YWwuanMKaW5kZXggMDRkZWMyODA4NTI1NWRjMGY5OWU2NTk5ZmIzOTIxNDRiNDQx
MDYyYS4uZmIxMjk1M2IyYmE5MDEzZDEyZmM5ODhjMDU3YmNlZGZjZmJlMGI0OSAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2lu
dC92YWx1ZS1ub3QtZXF1YWwuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC92YWx1ZS1ub3QtZXF1YWwuanMKQEAgLTIyLDcgKzIy
LDcgQEAgaW5mbzogfAogZmxhZ3M6IFthc3luY10KIGZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5
bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBUeXBlZEFycmF5LCBCaWdJbnQsIGNvbXB1dGVkLXByb3Bl
cnR5LW5hbWVzLCBTeW1ib2wsIFN5bWJvbC50b1ByaW1pdGl2ZSwgQXRvbWljcywgYXJyb3ctZnVu
Y3Rpb25dCiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMs
ICdmdW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMs
ICdmdW5jdGlvbicsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBBdG9taWNzLndhaXRBc3luY2AgaXMg
ImZ1bmN0aW9uIicpOwogY29uc3QgaTY0YSA9IG5ldyBCaWdJbnQ2NEFycmF5KG5ldyBTaGFyZWRB
cnJheUJ1ZmZlcihCaWdJbnQ2NEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkpOwogCiBjb25z
dCB2YWx1ZU9mID0gewpAQCAtMzgsNiArMzgsNiBAQCBjb25zdCB0b1ByaW1pdGl2ZSA9IHsKIH07
CiAKIFByb21pc2UuYWxsKFtBdG9taWNzLnN0b3JlKGk2NGEsIDAsIDQybiksIEF0b21pY3Mud2Fp
dEFzeW5jKGk2NGEsIDAsIDBuKS52YWx1ZV0pLnRoZW4ob3V0Y29tZXMgPT4gewotICBhc3NlcnQu
c2FtZVZhbHVlKG91dGNvbWVzWzBdLCA0Mm4pOwotICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWVz
WzFdLCAnbm90LWVxdWFsJyk7CisgIGFzc2VydC5zYW1lVmFsdWUob3V0Y29tZXNbMF0sIDQybiwg
J1RoZSB2YWx1ZSBvZiBvdXRjb21lc1swXSBpcyA0Mm4nKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShv
dXRjb21lc1sxXSwgJ25vdC1lcXVhbCcsICdUaGUgdmFsdWUgb2Ygb3V0Y29tZXNbMV0gaXMgIm5v
dC1lcXVhbCInKTsKIH0pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvd2FpdGVybGlz
dC1ibG9jay1pbmRleGVkcG9zaXRpb24td2FrZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvd2FpdGVybGlzdC1ibG9jay1pbmRleGVk
cG9zaXRpb24td2FrZS5qcwppbmRleCBmNDYxN2FhYTJiMmNiZTc0YThjOWZmMmQ5NTQyNzJjNTFh
MzY1NjcwLi45MGZjNTZjYjU2YzlmMGQwNDQzYWFiOWU3NDk3NzljZjI1NGYwMzM1IDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvYmln
aW50L3dhaXRlcmxpc3QtYmxvY2staW5kZXhlZHBvc2l0aW9uLXdha2UuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2JpZ2ludC93YWl0ZXJs
aXN0LWJsb2NrLWluZGV4ZWRwb3NpdGlvbi13YWtlLmpzCkBAIC0yNCw3ICsyNCw3IEBAIGZsYWdz
OiBbYXN5bmNdCiBpbmNsdWRlczogW2F0b21pY3NIZWxwZXIuanNdCiBmZWF0dXJlczogW0F0b21p
Y3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgQXRvbWljcywgQmln
SW50LCBhcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVuY3Rpb25zXQogLS0tKi8KLWFzc2VydC5zYW1l
VmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nKTsKK2Fzc2VydC5zYW1l
VmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nLCAnVGhlIHZhbHVlIG9m
IGB0eXBlb2YgQXRvbWljcy53YWl0QXN5bmNgIGlzICJmdW5jdGlvbiInKTsKIAogY29uc3QgTlVN
QUdFTlQgPSAyOwogY29uc3QgUlVOTklORyA9IDQ7CkBAIC01NywyOCArNTcsMzIgQEAgY29uc3Qg
aTY0YSA9IG5ldyBCaWdJbnQ2NEFycmF5KAogCiAkMjYyLmFnZW50LnNhZmVCcm9hZGNhc3RBc3lu
YyhpNjRhLCBSVU5OSU5HLCBCaWdJbnQoTlVNQUdFTlQpKS50aGVuKGFzeW5jIChhZ2VudENvdW50
KSA9PiB7CiAKLSAgYXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCBCaWdJbnQoTlVNQUdFTlQp
KTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBhZ2VudENvdW50LAorICAgIEJpZ0ludChOVU1B
R0VOVCksCisgICAgJ1RoZSB2YWx1ZSBvZiBgYWdlbnRDb3VudGAgbXVzdCByZXR1cm4gdGhlIHNh
bWUgdmFsdWUgcmV0dXJuZWQgYnkgQmlnSW50KE5VTUFHRU5UKScKKyAgKTsKIAogICAvLyBOb3Rp
ZnkgaW5kZXggMSwgbm90aWZpZXMgbm90aGluZwotICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mu
bm90aWZ5KGk2NGEsIDEpLCAwLCAnQXRvbWljcy5ub3RpZnkoaTY0YSwgMSkgcmV0dXJucyAwJyk7
CisgIGFzc2VydC5zYW1lVmFsdWUoQXRvbWljcy5ub3RpZnkoaTY0YSwgMSksIDAsICdBdG9taWNz
Lm5vdGlmeShuZXcgQmlnSW50NjRBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoQmlnSW50NjRB
cnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDUpKSwgMSkgbXVzdCByZXR1cm4gMCcpOwogCiAgIC8v
IE5vdGlmeSBpbmRleCAzLCBub3RpZmllcyBub3RoaW5nCi0gIGFzc2VydC5zYW1lVmFsdWUoQXRv
bWljcy5ub3RpZnkoaTY0YSwgMyksIDAsICdBdG9taWNzLm5vdGlmeShpNjRhLCAzKSByZXR1cm5z
IDAnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpNjRhLCAzKSwgMCwgJ0F0
b21pY3Mubm90aWZ5KG5ldyBCaWdJbnQ2NEFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihCaWdJ
bnQ2NEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNSkpLCAzKSBtdXN0IHJldHVybiAwJyk7CiAK
ICAgLy8gTm90aWZ5IGluZGV4IDIsIG5vdGlmaWVzIDEKLSAgYXNzZXJ0LnNhbWVWYWx1ZShBdG9t
aWNzLm5vdGlmeShpNjRhLCAyKSwgMSwgJ0F0b21pY3Mubm90aWZ5KGk2NGEsIDIpIHJldHVybnMg
MScpOworICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mubm90aWZ5KGk2NGEsIDIpLCAxLCAnQXRv
bWljcy5ub3RpZnkobmV3IEJpZ0ludDY0QXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKEJpZ0lu
dDY0QXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA1KSksIDIpIG11c3QgcmV0dXJuIDEnKTsKICAg
YXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCks
CiAgICAgJ29rJywKLSAgICAnYXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTY0YSwgMCwgMG4sIElu
ZmluaXR5KS52YWx1ZSByZXNvbHZlcyB0byAib2siJworICAgICcoYXdhaXQgJDI2Mi5hZ2VudC5n
ZXRSZXBvcnRBc3luYygpKSByZXNvbHZlcyB0byB0aGUgdmFsdWUgIm9rIicKICAgKTsKIAogICAv
LyBOb3RpZnkgaW5kZXggMCwgbm90aWZpZXMgMQotICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mu
bm90aWZ5KGk2NGEsIDApLCAxLCAnQXRvbWljcy5ub3RpZnkoaTY0YSwgMCkgcmV0dXJucyAxJyk7
CisgIGFzc2VydC5zYW1lVmFsdWUoQXRvbWljcy5ub3RpZnkoaTY0YSwgMCksIDEsICdBdG9taWNz
Lm5vdGlmeShuZXcgQmlnSW50NjRBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoQmlnSW50NjRB
cnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDUpKSwgMCkgbXVzdCByZXR1cm4gMScpOwogICBhc3Nl
cnQuc2FtZVZhbHVlKAogICAgIGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSwKICAg
ICAnb2snLAotICAgICdhd2FpdCBBdG9taWNzLndhaXRBc3luYyhpNjRhLCAyLCAwbiwgSW5maW5p
dHkpLnZhbHVlIHJlc29sdmVzIHRvICJvayInCisgICAgJyhhd2FpdCAkMjYyLmFnZW50LmdldFJl
cG9ydEFzeW5jKCkpIHJlc29sdmVzIHRvIHRoZSB2YWx1ZSAib2siJwogICApOwogCiB9KS50aGVu
KCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvQXRvbWljcy93YWl0QXN5bmMvYmlnaW50L3dhcy13b2tlbi1iZWZvcmUtdGltZW91dC5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQv
d2FzLXdva2VuLWJlZm9yZS10aW1lb3V0LmpzCmluZGV4IDNmNGE3ZjFmZjMyZGQxYzY1OGU4ZjZi
NmI5YzEwNTk0NzZiNjkwMzUuLmMwOTVmYTFiN2ZlMWI0NGYxODlhNWUzODhmYTkzNTQxZmRkOWM3
MGUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dh
aXRBc3luYy9iaWdpbnQvd2FzLXdva2VuLWJlZm9yZS10aW1lb3V0LmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9iaWdpbnQvd2FzLXdva2Vu
LWJlZm9yZS10aW1lb3V0LmpzCkBAIC05LDcgKzksNyBAQCBmbGFnczogW2FzeW5jXQogaW5jbHVk
ZXM6IFthdG9taWNzSGVscGVyLmpzXQogZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luYywgU2hh
cmVkQXJyYXlCdWZmZXIsIFR5cGVkQXJyYXksIEF0b21pY3MsIEJpZ0ludCwgYXJyb3ctZnVuY3Rp
b24sIGFzeW5jLWZ1bmN0aW9uc10KIC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9t
aWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9t
aWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mu
d2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiBjb25zdCBSVU5OSU5HID0gMTsKIGNvbnN0IFRJ
TUVPVVQgPSAkMjYyLmFnZW50LnRpbWVvdXRzLmh1Z2U7CiBjb25zdCBpNjRhID0gbmV3IEJpZ0lu
dDY0QXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKEJpZ0ludDY0QXJyYXkuQllURVNfUEVSX0VM
RU1FTlQgKiA0KSk7CkBAIC0zMCwxNyArMzAsMjMgQEAgJDI2Mi5hZ2VudC5zdGFydChgCiBgKTsK
IAogJDI2Mi5hZ2VudC5zYWZlQnJvYWRjYXN0QXN5bmMoaTY0YSwgUlVOTklORywgMW4pLnRoZW4o
YXN5bmMgYWdlbnRDb3VudCA9PiB7Ci0gIGFzc2VydC5zYW1lVmFsdWUoYWdlbnRDb3VudCwgMW4p
OwotICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mubm90aWZ5KGk2NGEsIDApLCAxLCAnQXRvbWlj
cy5ub3RpZnkoaTY0YSwgMCkgcmV0dXJucyAxJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoYWdlbnRD
b3VudCwgMW4sICdUaGUgdmFsdWUgb2YgYGFnZW50Q291bnRgIGlzIDFuJyk7CisKKyAgYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgICBBdG9taWNzLm5vdGlmeShpNjRhLCAwKSwKKyAgICAxLAorICAgICdB
dG9taWNzLm5vdGlmeShuZXcgQmlnSW50NjRBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoQmln
SW50NjRBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpKSwgMCkgbXVzdCByZXR1cm4gMScKKyAg
KTsKKwogICBjb25zdCBsYXBzZSA9IGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKTsK
LSAgYXNzZXJ0KGxhcHNlIDwgVElNRU9VVCwgJ1RoZSByZXN1bHQgb2YgYChsYXBzZSA+PSBUSU1F
T1VUKWAgaXMgdHJ1ZScpOworICBhc3NlcnQobGFwc2UgPCBUSU1FT1VULCAnVGhlIHJlc3VsdCBv
ZiBldmFsdWF0aW5nIGAobGFwc2UgPCBUSU1FT1VUKWAgaXMgdHJ1ZScpOwogICBjb25zdCByZXN1
bHQgPSBhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCk7CisgIGFzc2VydC5zYW1lVmFs
dWUocmVzdWx0LCAnb2snLCAnVGhlIHZhbHVlIG9mIGByZXN1bHRgIGlzICJvayInKTsKKyAgYXNz
ZXJ0LnNhbWVWYWx1ZShyZXN1bHQsICdvaycsICdUaGUgdmFsdWUgb2YgYHJlc3VsdGAgaXMgIm9r
IicpOwogCiAgIGFzc2VydC5zYW1lVmFsdWUoCi0gICAgcmVzdWx0LAotICAgICdvaycsCi0gICAg
J2F3YWl0IEF0b21pY3Mud2FpdEFzeW5jKGk2NGEsIDAsIDBuLCAke1RJTUVPVVR9KS52YWx1ZSBy
ZXNvbHZlcyB0byAib2siJworICAgIEF0b21pY3Mubm90aWZ5KGk2NGEsIDApLAorICAgIDAsCisg
ICAgJ0F0b21pY3Mubm90aWZ5KG5ldyBCaWdJbnQ2NEFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZl
cihCaWdJbnQ2NEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkpLCAwKSBtdXN0IHJldHVybiAw
JwogICApOwotCi0gIGFzc2VydC5zYW1lVmFsdWUoQXRvbWljcy5ub3RpZnkoaTY0YSwgMCksIDAs
ICdBdG9taWNzLm5vdGlmeShpNjRhLCAwKSByZXR1cm5zIDAnKTsKIH0pLnRoZW4oJERPTkUsICRE
T05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNz
L3dhaXRBc3luYy9mYWxzZS1mb3ItdGltZW91dC1hZ2VudC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9mYWxzZS1mb3ItdGltZW91dC1hZ2VudC5q
cwppbmRleCAwOWMxY2QzNzI1OWIyNzRkMjc0OTU0MGQ1OThlNzZkNzI3YWZiNjNkLi5kYTk2NTFk
ZjJkM2M1ZDhhMjYxMjQ0OTMyYTBjNzc1Yzc1NWMzNGJhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvZmFsc2UtZm9yLXRpbWVvdXQt
YWdlbnQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2Fp
dEFzeW5jL2ZhbHNlLWZvci10aW1lb3V0LWFnZW50LmpzCkBAIC0xOCw3ICsxOCw3IEBAIGZsYWdz
OiBbYXN5bmNdCiBpbmNsdWRlczogW2F0b21pY3NIZWxwZXIuanNdCiBmZWF0dXJlczogW0F0b21p
Y3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgQXRvbWljcywgYXJy
b3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9uc10KIC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5
cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5
cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9m
IEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiAKIGNvbnN0IFJVTk5JTkcgPSAx
OwogCkBAIC01Myw0MCArNTMsNDAgQEAgY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KAogKTsK
ICQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5jKGkzMmEsIFJVTk5JTkcsIDEpLnRoZW4oYXN5
bmMgKGFnZW50Q291bnQpID0+IHsKIAotICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDEp
OworICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDEsICdUaGUgdmFsdWUgb2YgYGFnZW50
Q291bnRgIGlzIDEnKTsKIAogICBhc3NlcnQuc2FtZVZhbHVlKAogICAgIGF3YWl0ICQyNjIuYWdl
bnQuZ2V0UmVwb3J0QXN5bmMoKSwKICAgICAndGltZWQtb3V0JywKLSAgICAnYXdhaXQgQXRvbWlj
cy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgZmFsc2UpLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1v
dXQiJworICAgICcoYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpKSByZXNvbHZlcyB0
byB0aGUgdmFsdWUgInRpbWVkLW91dCInCiAgICk7CiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAg
YXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAogICAgICd0aW1lZC1vdXQnLAotICAg
ICdhd2FpdCBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB2YWx1ZU9mKS52YWx1ZSByZXNv
bHZlcyB0byAidGltZWQtb3V0IicKKyAgICAnKGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5
bmMoKSkgcmVzb2x2ZXMgdG8gdGhlIHZhbHVlICJ0aW1lZC1vdXQiJwogICApOwogICBhc3NlcnQu
c2FtZVZhbHVlKAogICAgIGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSwKICAgICAn
dGltZWQtb3V0JywKLSAgICAnYXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgdG9Q
cmltaXRpdmUpLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICAgICcoYXdhaXQgJDI2
Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpKSByZXNvbHZlcyB0byB0aGUgdmFsdWUgInRpbWVkLW91
dCInCiAgICk7CiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRS
ZXBvcnRBc3luYygpLAogICAgICd0aW1lZC1vdXQnLAotICAgICdBdG9taWNzLndhaXRBc3luYyhp
MzJhLCAwLCAwLCBmYWxzZSkudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICAgJyhh
d2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCkpIHJlc29sdmVzIHRvIHRoZSB2YWx1ZSAi
dGltZWQtb3V0IicKICAgKTsKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBhd2FpdCAkMjYyLmFn
ZW50LmdldFJlcG9ydEFzeW5jKCksCiAgICAgJ3RpbWVkLW91dCcsCi0gICAgJ0F0b21pY3Mud2Fp
dEFzeW5jKGkzMmEsIDAsIDAsIHZhbHVlT2YpLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQi
JworICAgICcoYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpKSByZXNvbHZlcyB0byB0
aGUgdmFsdWUgInRpbWVkLW91dCInCiAgICk7CiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgYXdh
aXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAogICAgICd0aW1lZC1vdXQnLAotICAgICdB
dG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB0b1ByaW1pdGl2ZSkudmFsdWUgcmVzb2x2ZXMg
dG8gInRpbWVkLW91dCInCisgICAgJyhhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCkp
IHJlc29sdmVzIHRvIHRoZSB2YWx1ZSAidGltZWQtb3V0IicKICAgKTsKIAotICBhc3NlcnQuc2Ft
ZVZhbHVlKEF0b21pY3Mubm90aWZ5KGkzMmEsIDApLCAwLCAnQXRvbWljcy5ub3RpZnkoaTMyYSwg
MCkgcmV0dXJucyAwJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoQXRvbWljcy5ub3RpZnkoaTMyYSwg
MCksIDAsICdBdG9taWNzLm5vdGlmeShuZXcgSW50MzJBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZm
ZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpKSwgMCkgbXVzdCByZXR1cm4gMCcp
OwogCiB9KS50aGVuKCRET05FLCAkRE9ORSk7CiAKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9mYWxzZS1mb3ItdGltZW91dC5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9mYWxzZS1m
b3ItdGltZW91dC5qcwppbmRleCBlZDIyMjg2NThmNzAyYWU5MWE4YjUxMTY3YThiODRlYzZiOGEw
NGEyLi44ZmM1Y2Y5YTViZGY5MjI2MWEwMzRkZjMyMWUxNWVhNWIxMzc3MTBjIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvZmFsc2Ut
Zm9yLXRpbWVvdXQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21p
Y3Mvd2FpdEFzeW5jL2ZhbHNlLWZvci10aW1lb3V0LmpzCkBAIC0xNyw3ICsxNyw3IEBAIGluZm86
IHwKIGZsYWdzOiBbYXN5bmNdCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBTaGFyZWRB
cnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgQXRvbWljcywgY29tcHV0ZWQtcHJvcGVydHktbmFtZXMs
IFN5bWJvbCwgU3ltYm9sLnRvUHJpbWl0aXZlLCBhcnJvdy1mdW5jdGlvbl0KIC0tLSovCi1hc3Nl
cnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3Nl
cnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2
YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiBjb25z
dCBpMzJhID0gbmV3IEludDMyQXJyYXkoCiAgIG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFy
cmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkKICk7CkBAIC0zNywxOSArMzcsMTkgQEAgY29uc3Qg
dG9QcmltaXRpdmUgPSB7CiBhc3NlcnQuc2FtZVZhbHVlKAogICBBdG9taWNzLndhaXRBc3luYyhp
MzJhLCAwLCAwLCBmYWxzZSkudmFsdWUsCiAgICd0aW1lZC1vdXQnLAotICAnQXRvbWljcy53YWl0
QXN5bmMoaTMyYSwgMCwgMCwgZmFsc2UpLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJwor
ICAnVGhlIHZhbHVlIG9mIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIGZhbHNlKS52YWx1
ZSBpcyAidGltZWQtb3V0IicKICk7CiAKIGFzc2VydC5zYW1lVmFsdWUoCiAgIEF0b21pY3Mud2Fp
dEFzeW5jKGkzMmEsIDAsIDAsIHZhbHVlT2YpLnZhbHVlLAogICAndGltZWQtb3V0JywKLSAgJ0F0
b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIGZhbHNlKS52YWx1ZSByZXNvbHZlcyB0byAidGlt
ZWQtb3V0IicKKyAgJ1RoZSB2YWx1ZSBvZiBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB2
YWx1ZU9mKS52YWx1ZSBpcyAidGltZWQtb3V0IicKICk7CiAKIGFzc2VydC5zYW1lVmFsdWUoCiAg
IEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIHRvUHJpbWl0aXZlKS52YWx1ZSwKICAgJ3Rp
bWVkLW91dCcsCi0gICdBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCBmYWxzZSkudmFsdWUg
cmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICdUaGUgdmFsdWUgb2YgQXRvbWljcy53YWl0QXN5
bmMoaTMyYSwgMCwgMCwgdG9QcmltaXRpdmUpLnZhbHVlIGlzICJ0aW1lZC1vdXQiJwogKTsKIAog
UHJvbWlzZS5hbGwoWwpAQCAtNTcsNyArNTcsNyBAQCBQcm9taXNlLmFsbChbCiAgICAgQXRvbWlj
cy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgdmFsdWVPZikudmFsdWUsCiAgICAgQXRvbWljcy53YWl0
QXN5bmMoaTMyYSwgMCwgMCwgdG9QcmltaXRpdmUpLnZhbHVlLAogICBdKS50aGVuKG91dGNvbWVz
ID0+IHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWVzWzBdLCAndGltZWQtb3V0Jyk7Ci0g
ICAgYXNzZXJ0LnNhbWVWYWx1ZShvdXRjb21lc1sxXSwgJ3RpbWVkLW91dCcpOwotICAgIGFzc2Vy
dC5zYW1lVmFsdWUob3V0Y29tZXNbMl0sICd0aW1lZC1vdXQnKTsKKyAgICBhc3NlcnQuc2FtZVZh
bHVlKG91dGNvbWVzWzBdLCAndGltZWQtb3V0JywgJ1RoZSB2YWx1ZSBvZiBvdXRjb21lc1swXSBp
cyAidGltZWQtb3V0IicpOworICAgIGFzc2VydC5zYW1lVmFsdWUob3V0Y29tZXNbMV0sICd0aW1l
ZC1vdXQnLCAnVGhlIHZhbHVlIG9mIG91dGNvbWVzWzFdIGlzICJ0aW1lZC1vdXQiJyk7CisgICAg
YXNzZXJ0LnNhbWVWYWx1ZShvdXRjb21lc1syXSwgJ3RpbWVkLW91dCcsICdUaGUgdmFsdWUgb2Yg
b3V0Y29tZXNbMl0gaXMgInRpbWVkLW91dCInKTsKICAgfSkudGhlbigkRE9ORSwgJERPTkUpOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFz
eW5jL2dvb2Qtdmlld3MuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWlj
cy93YWl0QXN5bmMvZ29vZC12aWV3cy5qcwppbmRleCBiYTk3ZGJkMDBlMDgxZjE2NDBmODcxZDhh
MmNkNzI0NTRlM2U5NTQ4Li5kZGIxYzM2MDBiODRjMzlmYTI5N2E0MDFlZjBhN2FhMGI4OWMxNWYx
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0
QXN5bmMvZ29vZC12aWV3cy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QXRvbWljcy93YWl0QXN5bmMvZ29vZC12aWV3cy5qcwpAQCAtOSw3ICs5LDcgQEAgZmxhZ3M6IFth
c3luY10KIGluY2x1ZGVzOiBbYXRvbWljc0hlbHBlci5qc10KIGZlYXR1cmVzOiBbQXRvbWljcy53
YWl0QXN5bmMsIEF0b21pY3NdCiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWlj
cy53YWl0QXN5bmMsICdmdW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWlj
cy53YWl0QXN5bmMsICdmdW5jdGlvbicsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBBdG9taWNzLndh
aXRBc3luY2AgaXMgImZ1bmN0aW9uIicpOwogCiAkMjYyLmFnZW50LnN0YXJ0KGAKICAgKGFzeW5j
ICgpID0+IHsKQEAgLTUzLDE3ICs1MywxNyBAQCAkMjYyLmFnZW50LnN0YXJ0KGAKICAgYXNzZXJ0
LnNhbWVWYWx1ZSgKICAgICBvdXRjb21lc1swXSwKICAgICAnQSB0aW1lZC1vdXQnLAotICAgICci
QSAiICsgKGF3YWl0IEF0b21pY3Mud2FpdEFzeW5jKHZpZXcsIDAsIDAsIDApLnZhbHVlIHJlc29s
dmVzIHRvICJBIHRpbWVkLW91dCInCisgICAgJ1RoZSB2YWx1ZSBvZiBvdXRjb21lc1swXSBpcyAi
QSB0aW1lZC1vdXQiJwogICApOwogCiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgb3V0Y29tZXNb
MV0sCiAgICAgJ0Igbm90LWVxdWFsJywKLSAgICAnIkIgIiArIChhd2FpdCBBdG9taWNzLndhaXRB
c3luYyh2aWV3LCAwLCAzNywgMCkudmFsdWUgcmVzb2x2ZXMgdG8gIkIgbm90LWVxdWFsIicKKyAg
ICAnVGhlIHZhbHVlIG9mIG91dGNvbWVzWzFdIGlzICJCIG5vdC1lcXVhbCInCiAgICk7CiAgIGFz
c2VydC5zYW1lVmFsdWUoCiAgICAgb3V0Y29tZXNbMl0sCiAgICAgJ0Mgbm90LWVxdWFsLG5vdC1l
cXVhbCxub3QtZXF1YWwsbm90LWVxdWFsLG5vdC1lcXVhbCcsCi0gICAgJ0FsbCBDIHZhbHVlcyBh
cmUgbm90IGVxdWFsJworICAgICdUaGUgdmFsdWUgb2Ygb3V0Y29tZXNbMl0gaXMgIkMgbm90LWVx
dWFsLG5vdC1lcXVhbCxub3QtZXF1YWwsbm90LWVxdWFsLG5vdC1lcXVhbCInCiAgICk7CiB9KSgp
LnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9pbXBsaWNpdC1pbmZpbml0eS1mb3ItdGltZW91dC5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9pbXBs
aWNpdC1pbmZpbml0eS1mb3ItdGltZW91dC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OWZiMzgyZjI1OTdkNTcx
NTQxODc4MTM5ZjBmMDZlZTE1NjdiYTkyCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2ltcGxpY2l0LWluZmluaXR5LWZv
ci10aW1lb3V0LmpzCkBAIC0wLDAgKzEsMzggQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNr
IFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitl
c2lkOiBzZWMtYXRvbWljcy53YWl0YXN5bmMKK2Rlc2NyaXB0aW9uOiA+CisgIFVuZGVmaW5lZCB0
aW1lb3V0IGFyZyBpcyBjb2VyY2VkIHRvIHplcm8KK2luZm86IHwKKyAgQXRvbWljcy53YWl0QXN5
bmMoIHR5cGVkQXJyYXksIGluZGV4LCB2YWx1ZSwgdGltZW91dCApCisKKyAgMS4gUmV0dXJuIERv
V2FpdChhc3luYywgdHlwZWRBcnJheSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0KS4KKworICBEb1dh
aXQgKCBtb2RlLCB0eXBlZEFycmF5LCBpbmRleCwgdmFsdWUsIHRpbWVvdXQgKQorCisgIDYuIExl
dCBxIGJlID8gVG9OdW1iZXIodGltZW91dCkuCisgICAgLi4uCisgICAgVW5kZWZpbmVkICAgIFJl
dHVybiBOYU4uCisKKyAgNS5JZiBxIGlzIE5hTiwgbGV0IHQgYmUgK+KIniwgZWxzZSBsZXQgdCBi
ZSBtYXgocSwgMCkKKworZmxhZ3M6IFthc3luY10KK2ZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5
bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBUeXBlZEFycmF5LCBBdG9taWNzLCBjb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lcywgU3ltYm9sLCBTeW1ib2wudG9QcmltaXRpdmUsIGFycm93LWZ1bmN0aW9uXQor
LS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rp
b24nLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgQXRvbWljcy53YWl0QXN5bmNgIGlzICJmdW5jdGlv
biInKTsKKworY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KAorICBuZXcgU2hhcmVkQXJyYXlC
dWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpCispOworCitsZXQge2FzeW5j
LCB2YWx1ZX0gPSBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwKTsKKwordmFsdWUudGhlbihy
ZXN1bHQgPT4geworCisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAib2siLCAnVGhlIHZhbHVl
IG9mIGByZXN1bHRgIGlzICJvayInKTsKKworfSwgJERPTkUpLnRoZW4oJERPTkUsICRET05FKTsK
KworQXRvbWljcy5ub3RpZnkoaTMyYSwgMCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvaXMtZnVuY3Rpb24uanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvaXMtZnVuY3Rpb24uanMK
aW5kZXggNzg4OGUxMTBhMzNhODhmZjZjMjRlYjQyZTFmODk0NjI4NTllYzlmZi4uMmZjNzY4NTli
M2Q2Y2M2ZDEzMzZiZDI1OTQ5ZWFlOWY3ZTFlNWYxNSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL2lzLWZ1bmN0aW9uLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9pcy1mdW5j
dGlvbi5qcwpAQCAtNyw0ICs3LDQgQEAgZGVzY3JpcHRpb246IEF0b21pY3Mud2FpdEFzeW5jIGlz
IGNhbGxhYmxlCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBBdG9taWNzXQogLS0tKi8K
IAotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicp
OworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbics
ICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBBdG9taWNzLndhaXRBc3luY2AgaXMgImZ1bmN0aW9uIicp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2Fp
dEFzeW5jL25hbi1mb3ItdGltZW91dC1hZ2VudC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uYW4tZm9yLXRpbWVvdXQtYWdlbnQuanMKaW5kZXgg
YWMzYzk5Y2I5ZjQ0MDI4YzIwM2RlZDljNWFjNTljZDZkOTZiNWNjMC4uMDcyZjU3NzQ1MDNiM2Ex
Zjc5ZjllZjliYmNlM2UwODI3NzU2OWFkZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25hbi1mb3ItdGltZW91dC1hZ2VudC5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbmFu
LWZvci10aW1lb3V0LWFnZW50LmpzCkBAIC0xOCw3ICsxOCw3IEBAIGZsYWdzOiBbYXN5bmNdCiBp
bmNsdWRlczogW2F0b21pY3NIZWxwZXIuanNdCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5j
LCBTaGFyZWRBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgQXRvbWljcywgYXJyb3ctZnVuY3Rpb24s
IGFzeW5jLWZ1bmN0aW9uc10KIC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNz
LndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNz
LndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2Fp
dEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiAKIGNvbnN0IFJVTk5JTkcgPSAxOwogCkBAIC0zOCwx
NCArMzgsMTQgQEAgY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KAogCiAkMjYyLmFnZW50LnNh
ZmVCcm9hZGNhc3RBc3luYyhpMzJhLCBSVU5OSU5HLCAxKS50aGVuKGFzeW5jIChhZ2VudENvdW50
KSA9PiB7CiAKLSAgYXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCAxKTsKKyAgYXNzZXJ0LnNh
bWVWYWx1ZShhZ2VudENvdW50LCAxLCAnVGhlIHZhbHVlIG9mIGBhZ2VudENvdW50YCBpcyAxJyk7
CiAKLSAgYXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpMzJhLCAwKSwgMSwgJ0F0b21p
Y3Mubm90aWZ5KGkzMmEsIDApIHJldHVybnMgMScpOworICBhc3NlcnQuc2FtZVZhbHVlKEF0b21p
Y3Mubm90aWZ5KGkzMmEsIDApLCAxLCAnQXRvbWljcy5ub3RpZnkobmV3IEludDMyQXJyYXkobmV3
IFNoYXJlZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KSksIDAp
IG11c3QgcmV0dXJuIDEnKTsKIAogICBhc3NlcnQuc2FtZVZhbHVlKAogICAgIGF3YWl0ICQyNjIu
YWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSwKICAgICAnb2snLAotICAgICdhd2FpdCBBdG9taWNzLndh
aXRBc3luYyhpMzJhLCAwLCAwLCBOYU4pLnZhbHVlIHJlc29sdmVzIHRvICJvayInCisgICAgJyhh
d2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCkpIHJlc29sdmVzIHRvIHRoZSB2YWx1ZSAi
b2siJwogICApOwogCiB9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbmVnYXRpdmUtaW5kZXgt
dGhyb3dzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFz
eW5jL25lZ2F0aXZlLWluZGV4LXRocm93cy5qcwppbmRleCA2NGZhYzgxZjllMTgyMjE5NzA4ZDM3
MzgyYjExZjk1ODkwNjMyYjhlLi4wZjE4ODBjNWI3MTNjNmViMmZiMTI4NWVhM2EzYWQzNzQ2OTFi
YTBjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93
YWl0QXN5bmMvbmVnYXRpdmUtaW5kZXgtdGhyb3dzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uZWdhdGl2ZS1pbmRleC10aHJvd3MuanMK
QEAgLTE3LDcgKzE3LDcgQEAgaW5mbzogfAogCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5j
LCBTaGFyZWRBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgQXRvbWljc10KIC0tLSovCi1hc3NlcnQu
c2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQu
c2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1
ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiBjb25zdCBp
MzJhID0gbmV3IEludDMyQXJyYXkoCiAgIG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5
LkJZVEVTX1BFUl9FTEVNRU5UICogNCkKICk7CkBAIC0zMCwxMyArMzAsMTMgQEAgY29uc3QgcG9p
c29uZWQgPSB7CiAKIGFzc2VydC50aHJvd3MoUmFuZ2VFcnJvciwgZnVuY3Rpb24oKSB7CiAgIEF0
b21pY3Mud2FpdEFzeW5jKGkzMmEsIC1JbmZpbml0eSwgcG9pc29uZWQsIHBvaXNvbmVkKTsKLX0s
ICdgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgLUluZmluaXR5LCBwb2lzb25lZCwgcG9pc29uZWQp
YCB0aHJvd3MgUmFuZ2VFcnJvcicpOworfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpMzJhLCAtSW5m
aW5pdHksIHBvaXNvbmVkLCBwb2lzb25lZClgIHRocm93cyBhIFJhbmdlRXJyb3IgZXhjZXB0aW9u
Jyk7CiBhc3NlcnQudGhyb3dzKFJhbmdlRXJyb3IsIGZ1bmN0aW9uKCkgewogICBBdG9taWNzLndh
aXRBc3luYyhpMzJhLCAtNy45OTksIHBvaXNvbmVkLCBwb2lzb25lZCk7Ci19LCAnYEF0b21pY3Mu
d2FpdEFzeW5jKGkzMmEsIC03Ljk5OSwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIFJhbmdl
RXJyb3InKTsKK30sICdgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgLTcuOTk5LCBwb2lzb25lZCwg
cG9pc29uZWQpYCB0aHJvd3MgYSBSYW5nZUVycm9yIGV4Y2VwdGlvbicpOwogYXNzZXJ0LnRocm93
cyhSYW5nZUVycm9yLCBmdW5jdGlvbigpIHsKICAgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgLTEs
IHBvaXNvbmVkLCBwb2lzb25lZCk7Ci19LCAnYEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIC0xLCBw
b2lzb25lZCwgcG9pc29uZWQpYCB0aHJvd3MgUmFuZ2VFcnJvcicpOworfSwgJ2BBdG9taWNzLndh
aXRBc3luYyhpMzJhLCAtMSwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIGEgUmFuZ2VFcnJv
ciBleGNlcHRpb24nKTsKIGFzc2VydC50aHJvd3MoUmFuZ2VFcnJvciwgZnVuY3Rpb24oKSB7CiAg
IEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIC0zMDAsIHBvaXNvbmVkLCBwb2lzb25lZCk7Ci19LCAn
YEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIC0zMDAsIHBvaXNvbmVkLCBwb2lzb25lZClgIHRocm93
cyBSYW5nZUVycm9yJyk7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIC0zMDAsIHBvaXNv
bmVkLCBwb2lzb25lZClgIHRocm93cyBhIFJhbmdlRXJyb3IgZXhjZXB0aW9uJyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbmVn
YXRpdmUtdGltZW91dC1hZ2VudC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9B
dG9taWNzL3dhaXRBc3luYy9uZWdhdGl2ZS10aW1lb3V0LWFnZW50LmpzCmluZGV4IDVhMmNhNWU1
MDQxN2MwZjAzNWEyZjEyMTQ0ZDUxZmUzN2QyMTZiN2IuLmM1OGI0ZmNlYjY0YWI2YWQxZmE4MjQ5
MzZjNWQ0M2ZkNjdmNzllMDIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9BdG9taWNzL3dhaXRBc3luYy9uZWdhdGl2ZS10aW1lb3V0LWFnZW50LmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uZWdhdGl2ZS10
aW1lb3V0LWFnZW50LmpzCkBAIC0xOCw3ICsxOCw3IEBAIGZsYWdzOiBbYXN5bmNdCiBpbmNsdWRl
czogW2F0b21pY3NIZWxwZXIuanNdCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBTaGFy
ZWRBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgQXRvbWljcywgYXJyb3ctZnVuY3Rpb24sIGFzeW5j
LWZ1bmN0aW9uc10KIC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRB
c3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRB
c3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5j
YCBpcyAiZnVuY3Rpb24iJyk7CiAKIGNvbnN0IFJVTk5JTkcgPSAxOwogCkBAIC0zNywxNSArMzcs
MTUgQEAgY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KAogCiAkMjYyLmFnZW50LnNhZmVCcm9h
ZGNhc3RBc3luYyhpMzJhLCBSVU5OSU5HLCAxKS50aGVuKGFzeW5jIChhZ2VudENvdW50KSA9PiB7
CiAKLSAgYXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCAxKTsKKyAgYXNzZXJ0LnNhbWVWYWx1
ZShhZ2VudENvdW50LCAxLCAnVGhlIHZhbHVlIG9mIGBhZ2VudENvdW50YCBpcyAxJyk7CiAKICAg
YXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCks
CiAgICAgJ3RpbWVkLW91dCcsCi0gICAgJ2F3YWl0IEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAs
IDAsIC01KS52YWx1ZSByZXNvbHZlcyB0byAidGltZWQtb3V0IicKKyAgICAnKGF3YWl0ICQyNjIu
YWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSkgcmVzb2x2ZXMgdG8gdGhlIHZhbHVlICJ0aW1lZC1vdXQi
JwogICApOwogCi0gIGFzc2VydC5zYW1lVmFsdWUoQXRvbWljcy5ub3RpZnkoaTMyYSwgMCksIDAs
ICdBdG9taWNzLm5vdGlmeShpMzJhLCAwKSByZXR1cm5zIDAnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1
ZShBdG9taWNzLm5vdGlmeShpMzJhLCAwKSwgMCwgJ0F0b21pY3Mubm90aWZ5KG5ldyBJbnQzMkFy
cmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICog
NCkpLCAwKSBtdXN0IHJldHVybiAwJyk7CiAKIH0pLnRoZW4oJERPTkUsICRET05FKTsKIApkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5j
L25lZ2F0aXZlLXRpbWVvdXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRv
bWljcy93YWl0QXN5bmMvbmVnYXRpdmUtdGltZW91dC5qcwppbmRleCA0ZDQzNTI1NzYzYzQyYzhm
ZTEyMTEyNTQ5YWU0ZmE3OTRhMzZmODBjLi4zNDQ1NmYyYzc5Mzk2YTM4ZjY0NjJiYWU3OWE0ZWM3
NGUwZDcyNjI3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRv
bWljcy93YWl0QXN5bmMvbmVnYXRpdmUtdGltZW91dC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbmVnYXRpdmUtdGltZW91dC5qcwpAQCAt
MTcsNyArMTcsNyBAQCBpbmZvOiB8CiBmbGFnczogW2FzeW5jXQogZmVhdHVyZXM6IFtBdG9taWNz
LndhaXRBc3luYywgU2hhcmVkQXJyYXlCdWZmZXIsIFR5cGVkQXJyYXksIEF0b21pY3MsIGRlc3Ry
dWN0dXJpbmctYmluZGluZywgYXJyb3ctZnVuY3Rpb25dCiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1
ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1
ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicsICdUaGUgdmFsdWUgb2YgYHR5
cGVvZiBBdG9taWNzLndhaXRBc3luY2AgaXMgImZ1bmN0aW9uIicpOwogY29uc3QgaTMyYSA9IG5l
dyBJbnQzMkFycmF5KAogICBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19Q
RVJfRUxFTUVOVCAqIDQpCiApOwpAQCAtMjgsNiArMjgsNiBAQCBQcm9taXNlLmFsbChbCiAgICAg
YXNzZXJ0LnNhbWVWYWx1ZSgKICAgICAgIG91dGNvbWUsCiAgICAgICAndGltZWQtb3V0JywKLSAg
ICAgICdBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCAtMSkudmFsdWUgcmVzb2x2ZXMgdG8g
InRpbWVkLW91dCInCisgICAgICAnVGhlIHZhbHVlIG9mIGBvdXRjb21lYCBpcyAidGltZWQtb3V0
IicKICAgICApOwogICB9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbm8tc3B1cmlvdXMtd2Fr
ZXVwLW5vLW9wZXJhdGlvbi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9t
aWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtldXAtbm8tb3BlcmF0aW9uLmpzCmluZGV4IDFm
OTkwZmNlZjE5ODgyOTdkNDFlNjBkYjI2NTU2MjRmMDc4MGU4YTEuLmM2YTc1MzE3MDQwZWY2MDBm
YjkzYTEwNDE3NWUzNGQ1NTkyMTQ4NDAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtldXAtbm8tb3BlcmF0
aW9uLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRB
c3luYy9uby1zcHVyaW91cy13YWtldXAtbm8tb3BlcmF0aW9uLmpzCkBAIC0yNiw3ICsyNiw3IEBA
IGZsYWdzOiBbYXN5bmNdCiBpbmNsdWRlczogW2F0b21pY3NIZWxwZXIuanNdCiBmZWF0dXJlczog
W0F0b21pY3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgQXRvbWlj
cywgYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9uc10KIC0tLSovCi1hc3NlcnQuc2FtZVZh
bHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZh
bHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBg
dHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiAKIGNvbnN0IFJVTk5J
TkcgPSAxOwogY29uc3QgVElNRU9VVCA9ICQyNjIuYWdlbnQudGltZW91dHMuc21hbGw7CkBAIC01
MiwxMyArNTIsMTMgQEAgJDI2Mi5hZ2VudC5zdGFydChgCiAKICQyNjIuYWdlbnQuc2FmZUJyb2Fk
Y2FzdEFzeW5jKGkzMmEsIFJVTk5JTkcsIDEpLnRoZW4oYXN5bmMgKGFnZW50Q291bnQpID0+IHsK
IAotICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDEpOworICBhc3NlcnQuc2FtZVZhbHVl
KGFnZW50Q291bnQsIDEsICdUaGUgdmFsdWUgb2YgYGFnZW50Q291bnRgIGlzIDEnKTsKIAogICBj
b25zdCBsYXBzZSA9IGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKTsKIAogICBhc3Nl
cnQoCiAgICAgbGFwc2UgPj0gVElNRU9VVCwKLSAgICAnVGhlIHJlc3VsdCBvZiBgKGxhcHNlID49
IFRJTUVPVVQpYCBpcyB0cnVlJworICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgYChsYXBz
ZSA+PSBUSU1FT1VUKWAgaXMgdHJ1ZScKICAgKTsKIAogICBjb25zdCByZXN1bHQgPSBhd2FpdCAk
MjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCk7CkBAIC02Niw3ICs2Niw3IEBAICQyNjIuYWdlbnQu
c2FmZUJyb2FkY2FzdEFzeW5jKGkzMmEsIFJVTk5JTkcsIDEpLnRoZW4oYXN5bmMgKGFnZW50Q291
bnQpID0+IHsKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICByZXN1bHQsCiAgICAgJ3RpbWVkLW91
dCcsCi0gICAgJ2F3YWl0IEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsICR7VElNRU9VVH0p
LnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICAgICdUaGUgdmFsdWUgb2YgYHJlc3Vs
dGAgaXMgInRpbWVkLW91dCInCiAgICk7Ci0gIGFzc2VydC5zYW1lVmFsdWUoQXRvbWljcy5ub3Rp
ZnkoaTMyYSwgMCksIDAsICdBdG9taWNzLm5vdGlmeShpMzJhLCAwKSByZXR1cm5zIDAnKTsKKyAg
YXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpMzJhLCAwKSwgMCwgJ0F0b21pY3Mubm90
aWZ5KG5ldyBJbnQzMkFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVT
X1BFUl9FTEVNRU5UICogNCkpLCAwKSBtdXN0IHJldHVybiAwJyk7CiB9KS50aGVuKCRET05FLCAk
RE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWlj
cy93YWl0QXN5bmMvbm8tc3B1cmlvdXMtd2FrZXVwLW9uLWFkZC5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtldXAtb24t
YWRkLmpzCmluZGV4IGNkOGRlZmJkOWMyZmY0ZDBhYjY0YmYzZjZkOGY0OTRhZDExNjlkZmIuLjQw
MjMwYjJiN2FkZmVkMGUxYzI4NDZmNDhkNGU2OWIxMGJlYTYxMjIgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13
YWtldXAtb24tYWRkLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9t
aWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtldXAtb24tYWRkLmpzCkBAIC0yNSw3ICsyNSw3
IEBAIGZsYWdzOiBbYXN5bmNdCiBpbmNsdWRlczogW2F0b21pY3NIZWxwZXIuanNdCiBmZWF0dXJl
czogW0F0b21pY3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgQXRv
bWljcywgYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9uc10KIC0tLSovCi1hc3NlcnQuc2Ft
ZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2Ft
ZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBv
ZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiAKIGNvbnN0IFJV
Tk5JTkcgPSAxOwogY29uc3QgVElNRU9VVCA9ICQyNjIuYWdlbnQudGltZW91dHMuc21hbGw7CkBA
IC01MSw3ICs1MSw3IEBAICQyNjIuYWdlbnQuc3RhcnQoYAogCiAkMjYyLmFnZW50LnNhZmVCcm9h
ZGNhc3RBc3luYyhpMzJhLCBSVU5OSU5HLCAxKS50aGVuKGFzeW5jIChhZ2VudENvdW50KSA9PiB7
CiAKLSAgYXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCAxKTsKKyAgYXNzZXJ0LnNhbWVWYWx1
ZShhZ2VudENvdW50LCAxLCAnVGhlIHZhbHVlIG9mIGBhZ2VudENvdW50YCBpcyAxJyk7CiAKICAg
QXRvbWljcy5hZGQoaTMyYSwgMCwgMSk7CiAKQEAgLTU5LDcgKzU5LDcgQEAgJDI2Mi5hZ2VudC5z
YWZlQnJvYWRjYXN0QXN5bmMoaTMyYSwgUlVOTklORywgMSkudGhlbihhc3luYyAoYWdlbnRDb3Vu
dCkgPT4gewogCiAgIGFzc2VydCgKICAgICBsYXBzZSA+PSBUSU1FT1VULAotICAgICdUaGUgcmVz
dWx0IG9mIGAobGFwc2UgPj0gVElNRU9VVClgIGlzIHRydWUnCisgICAgJ1RoZSByZXN1bHQgb2Yg
ZXZhbHVhdGluZyBgKGxhcHNlID49IFRJTUVPVVQpYCBpcyB0cnVlJwogICApOwogCiAgIGNvbnN0
IHJlc3VsdCA9IGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKTsKQEAgLTY3LDcgKzY3
LDcgQEAgJDI2Mi5hZ2VudC5zYWZlQnJvYWRjYXN0QXN5bmMoaTMyYSwgUlVOTklORywgMSkudGhl
bihhc3luYyAoYWdlbnRDb3VudCkgPT4gewogICBhc3NlcnQuc2FtZVZhbHVlKAogICAgIHJlc3Vs
dCwKICAgICAndGltZWQtb3V0JywKLSAgICAnYXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwg
MCwgMCwgJHtUSU1FT1VUfSkudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICAgJ1Ro
ZSB2YWx1ZSBvZiBgcmVzdWx0YCBpcyAidGltZWQtb3V0IicKICAgKTsKLSAgYXNzZXJ0LnNhbWVW
YWx1ZShBdG9taWNzLm5vdGlmeShpMzJhLCAwKSwgMCwgJ0F0b21pY3Mubm90aWZ5KGkzMmEsIDAp
IHJldHVybnMgMCcpOworICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mubm90aWZ5KGkzMmEsIDAp
LCAwLCAnQXRvbWljcy5ub3RpZnkobmV3IEludDMyQXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVy
KEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KSksIDApIG11c3QgcmV0dXJuIDAnKTsK
IH0pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtldXAtb24tYW5kLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25vLXNw
dXJpb3VzLXdha2V1cC1vbi1hbmQuanMKaW5kZXggYjAyYmJmYmViYTAwMDkwODAwMGQzOGU0N2Y4
N2I2ZGQ2ZTQ0NTY1Mi4uYjg3ZjFmNDgxYmY3OGY1NTA2MDNjNjMwMmE0NjAyODRlNjRhZjgyOSAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFz
eW5jL25vLXNwdXJpb3VzLXdha2V1cC1vbi1hbmQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25vLXNwdXJpb3VzLXdha2V1cC1vbi1hbmQu
anMKQEAgLTI1LDcgKzI1LDcgQEAgZmxhZ3M6IFthc3luY10KIGluY2x1ZGVzOiBbYXRvbWljc0hl
bHBlci5qc10KIGZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVy
LCBUeXBlZEFycmF5LCBBdG9taWNzLCBhcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVuY3Rpb25zXQog
LS0tKi8KLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rp
b24nKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rp
b24nLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgQXRvbWljcy53YWl0QXN5bmNgIGlzICJmdW5jdGlv
biInKTsKIAogY29uc3QgUlVOTklORyA9IDE7CiBjb25zdCBUSU1FT1VUID0gJDI2Mi5hZ2VudC50
aW1lb3V0cy5zbWFsbDsKQEAgLTUxLDcgKzUxLDcgQEAgJDI2Mi5hZ2VudC5zdGFydChgCiAKICQy
NjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5jKGkzMmEsIFJVTk5JTkcsIDEpLnRoZW4oYXN5bmMg
KGFnZW50Q291bnQpID0+IHsKIAotICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDEpOwor
ICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDEsICdUaGUgdmFsdWUgb2YgYGFnZW50Q291
bnRgIGlzIDEnKTsKIAogICBBdG9taWNzLmFuZChpMzJhLCAwLCAxKTsKIApAQCAtNTksNyArNTks
NyBAQCAkMjYyLmFnZW50LnNhZmVCcm9hZGNhc3RBc3luYyhpMzJhLCBSVU5OSU5HLCAxKS50aGVu
KGFzeW5jIChhZ2VudENvdW50KSA9PiB7CiAKICAgYXNzZXJ0KAogICAgIGxhcHNlID49IFRJTUVP
VVQsCi0gICAgJ1RoZSByZXN1bHQgb2YgYChsYXBzZSA+PSBUSU1FT1VUKWAgaXMgdHJ1ZScKKyAg
ICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIGAobGFwc2UgPj0gVElNRU9VVClgIGlzIHRydWUn
CiAgICk7CiAKICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3lu
YygpOwpAQCAtNjcsNyArNjcsNyBAQCAkMjYyLmFnZW50LnNhZmVCcm9hZGNhc3RBc3luYyhpMzJh
LCBSVU5OSU5HLCAxKS50aGVuKGFzeW5jIChhZ2VudENvdW50KSA9PiB7CiAgIGFzc2VydC5zYW1l
VmFsdWUoCiAgICAgcmVzdWx0LAogICAgICd0aW1lZC1vdXQnLAotICAgICdhd2FpdCBBdG9taWNz
LndhaXRBc3luYyhpMzJhLCAwLCAwLCAke1RJTUVPVVR9KS52YWx1ZSByZXNvbHZlcyB0byAidGlt
ZWQtb3V0IicKKyAgICAnVGhlIHZhbHVlIG9mIGByZXN1bHRgIGlzICJ0aW1lZC1vdXQiJwogICAp
OwotICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mubm90aWZ5KGkzMmEsIDApLCAwLCAnQXRvbWlj
cy5ub3RpZnkoaTMyYSwgMCkgcmV0dXJucyAwJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoQXRvbWlj
cy5ub3RpZnkoaTMyYSwgMCksIDAsICdBdG9taWNzLm5vdGlmeShuZXcgSW50MzJBcnJheShuZXcg
U2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpKSwgMCkg
bXVzdCByZXR1cm4gMCcpOwogfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25vLXNwdXJpb3Vz
LXdha2V1cC1vbi1jb21wYXJlRXhjaGFuZ2UuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbm8tc3B1cmlvdXMtd2FrZXVwLW9uLWNvbXBhcmVFeGNo
YW5nZS5qcwppbmRleCA1NTQ5ZjQ1ZTVmZDkwM2ExYmM1ZDVjM2FlNjM2OTAwMDdiZWZhY2NjLi4z
ZTM4MzYzOWI0ZDQxZTcyNTUzZjFiNTQ1YWNlYjhhODk0YWZjZGZmIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbm8tc3B1cmlvdXMt
d2FrZXVwLW9uLWNvbXBhcmVFeGNoYW5nZS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbm8tc3B1cmlvdXMtd2FrZXVwLW9uLWNvbXBhcmVF
eGNoYW5nZS5qcwpAQCAtMjUsNyArMjUsNyBAQCBmbGFnczogW2FzeW5jXQogaW5jbHVkZXM6IFth
dG9taWNzSGVscGVyLmpzXQogZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luYywgU2hhcmVkQXJy
YXlCdWZmZXIsIFR5cGVkQXJyYXksIEF0b21pY3MsIGFycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5j
dGlvbnNdCiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMs
ICdmdW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMs
ICdmdW5jdGlvbicsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBBdG9taWNzLndhaXRBc3luY2AgaXMg
ImZ1bmN0aW9uIicpOwogCiBjb25zdCBSVU5OSU5HID0gMTsKIGNvbnN0IFRJTUVPVVQgPSAkMjYy
LmFnZW50LnRpbWVvdXRzLnNtYWxsOwpAQCAtNTEsNyArNTEsNyBAQCAkMjYyLmFnZW50LnN0YXJ0
KGAKIAogJDI2Mi5hZ2VudC5zYWZlQnJvYWRjYXN0QXN5bmMoaTMyYSwgUlVOTklORywgMSkudGhl
bihhc3luYyAoYWdlbnRDb3VudCkgPT4gewogCi0gIGFzc2VydC5zYW1lVmFsdWUoYWdlbnRDb3Vu
dCwgMSk7CisgIGFzc2VydC5zYW1lVmFsdWUoYWdlbnRDb3VudCwgMSwgJ1RoZSB2YWx1ZSBvZiBg
YWdlbnRDb3VudGAgaXMgMScpOwogCiAgIEF0b21pY3MuY29tcGFyZUV4Y2hhbmdlKGkzMmEsIDAs
IDAsIDEpOwogCkBAIC01OSw3ICs1OSw3IEBAICQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5j
KGkzMmEsIFJVTk5JTkcsIDEpLnRoZW4oYXN5bmMgKGFnZW50Q291bnQpID0+IHsKIAogICBhc3Nl
cnQoCiAgICAgbGFwc2UgPj0gVElNRU9VVCwKLSAgICAnVGhlIHJlc3VsdCBvZiBgKGxhcHNlID49
IFRJTUVPVVQpYCBpcyB0cnVlJworICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgYChsYXBz
ZSA+PSBUSU1FT1VUKWAgaXMgdHJ1ZScKICAgKTsKIAogICBjb25zdCByZXN1bHQgPSBhd2FpdCAk
MjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCk7CkBAIC02Nyw3ICs2Nyw3IEBAICQyNjIuYWdlbnQu
c2FmZUJyb2FkY2FzdEFzeW5jKGkzMmEsIFJVTk5JTkcsIDEpLnRoZW4oYXN5bmMgKGFnZW50Q291
bnQpID0+IHsKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICByZXN1bHQsCiAgICAgJ3RpbWVkLW91
dCcsCi0gICAgJ2F3YWl0IEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsICR7VElNRU9VVH0p
LnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICAgICdUaGUgdmFsdWUgb2YgYHJlc3Vs
dGAgaXMgInRpbWVkLW91dCInCiAgICk7Ci0gIGFzc2VydC5zYW1lVmFsdWUoQXRvbWljcy5ub3Rp
ZnkoaTMyYSwgMCksIDAsICdBdG9taWNzLm5vdGlmeShpMzJhLCAwKSByZXR1cm5zIDAnKTsKKyAg
YXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpMzJhLCAwKSwgMCwgJ0F0b21pY3Mubm90
aWZ5KG5ldyBJbnQzMkFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVT
X1BFUl9FTEVNRU5UICogNCkpLCAwKSBtdXN0IHJldHVybiAwJyk7CiB9KS50aGVuKCRET05FLCAk
RE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWlj
cy93YWl0QXN5bmMvbm8tc3B1cmlvdXMtd2FrZXVwLW9uLWV4Y2hhbmdlLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25vLXNwdXJpb3VzLXdha2V1
cC1vbi1leGNoYW5nZS5qcwppbmRleCBjODAxMDhjNTU5YTM3NjA0NDA1NjJjYTBjYmM0NjNhMzZj
NzMwNGJkLi4zMmE1ODJkMmE3NThkZTEyNzBhMTZkNGYzMzFmNzRiMGY2MTcyZDIzIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbm8t
c3B1cmlvdXMtd2FrZXVwLW9uLWV4Y2hhbmdlLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtldXAtb24tZXhjaGFu
Z2UuanMKQEAgLTI1LDcgKzI1LDcgQEAgZmxhZ3M6IFthc3luY10KIGluY2x1ZGVzOiBbYXRvbWlj
c0hlbHBlci5qc10KIGZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVm
ZmVyLCBUeXBlZEFycmF5LCBBdG9taWNzLCBhcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVuY3Rpb25z
XQogLS0tKi8KLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVu
Y3Rpb24nKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVu
Y3Rpb24nLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgQXRvbWljcy53YWl0QXN5bmNgIGlzICJmdW5j
dGlvbiInKTsKIAogY29uc3QgUlVOTklORyA9IDE7CiBjb25zdCBUSU1FT1VUID0gJDI2Mi5hZ2Vu
dC50aW1lb3V0cy5zbWFsbDsKQEAgLTUxLDcgKzUxLDcgQEAgJDI2Mi5hZ2VudC5zdGFydChgCiAK
ICQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5jKGkzMmEsIFJVTk5JTkcsIDEpLnRoZW4oYXN5
bmMgKGFnZW50Q291bnQpID0+IHsKIAotICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDEp
OworICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDEsICdUaGUgdmFsdWUgb2YgYGFnZW50
Q291bnRgIGlzIDEnKTsKIAogICBBdG9taWNzLmV4Y2hhbmdlKGkzMmEsIDAsIDEpOwogCkBAIC01
OSw3ICs1OSw3IEBAICQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5jKGkzMmEsIFJVTk5JTkcs
IDEpLnRoZW4oYXN5bmMgKGFnZW50Q291bnQpID0+IHsKIAogICBhc3NlcnQoCiAgICAgbGFwc2Ug
Pj0gVElNRU9VVCwKLSAgICAnVGhlIHJlc3VsdCBvZiBgKGxhcHNlID49IFRJTUVPVVQpYCBpcyB0
cnVlJworICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgYChsYXBzZSA+PSBUSU1FT1VUKWAg
aXMgdHJ1ZScKICAgKTsKIAogICBjb25zdCByZXN1bHQgPSBhd2FpdCAkMjYyLmFnZW50LmdldFJl
cG9ydEFzeW5jKCk7CkBAIC02Nyw3ICs2Nyw3IEBAICQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFz
eW5jKGkzMmEsIFJVTk5JTkcsIDEpLnRoZW4oYXN5bmMgKGFnZW50Q291bnQpID0+IHsKICAgYXNz
ZXJ0LnNhbWVWYWx1ZSgKICAgICByZXN1bHQsCiAgICAgJ3RpbWVkLW91dCcsCi0gICAgJ2F3YWl0
IEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsICR7VElNRU9VVH0pLnZhbHVlIHJlc29sdmVz
IHRvICJ0aW1lZC1vdXQiJworICAgICdUaGUgdmFsdWUgb2YgYHJlc3VsdGAgaXMgInRpbWVkLW91
dCInCiAgICk7Ci0gIGFzc2VydC5zYW1lVmFsdWUoQXRvbWljcy5ub3RpZnkoaTMyYSwgMCksIDAs
ICdBdG9taWNzLm5vdGlmeShpMzJhLCAwKSByZXR1cm5zIDAnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1
ZShBdG9taWNzLm5vdGlmeShpMzJhLCAwKSwgMCwgJ0F0b21pY3Mubm90aWZ5KG5ldyBJbnQzMkFy
cmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICog
NCkpLCAwKSBtdXN0IHJldHVybiAwJyk7CiB9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbm8t
c3B1cmlvdXMtd2FrZXVwLW9uLW9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0F0b21pY3Mvd2FpdEFzeW5jL25vLXNwdXJpb3VzLXdha2V1cC1vbi1vci5qcwppbmRleCA3YWE4
OTMxNjUwZWM1M2I0YWM3OTI3ZTI5ZmRiZGM0MjNjZjczMTFjLi5mMmE2MmExYmQ5MWY1ZTI2ZjM4
MjFiMWU0NWRkNDlmZjM2ZjcxN2YzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbm8tc3B1cmlvdXMtd2FrZXVwLW9uLW9yLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1z
cHVyaW91cy13YWtldXAtb24tb3IuanMKQEAgLTI1LDcgKzI1LDcgQEAgZmxhZ3M6IFthc3luY10K
IGluY2x1ZGVzOiBbYXRvbWljc0hlbHBlci5qc10KIGZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5
bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBUeXBlZEFycmF5LCBBdG9taWNzLCBhcnJvdy1mdW5jdGlv
biwgYXN5bmMtZnVuY3Rpb25zXQogLS0tKi8KLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21p
Y3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21p
Y3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgQXRvbWljcy53
YWl0QXN5bmNgIGlzICJmdW5jdGlvbiInKTsKIAogY29uc3QgUlVOTklORyA9IDE7CiBjb25zdCBU
SU1FT1VUID0gJDI2Mi5hZ2VudC50aW1lb3V0cy5zbWFsbDsKQEAgLTUxLDcgKzUxLDcgQEAgJDI2
Mi5hZ2VudC5zdGFydChgCiAKICQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5jKGkzMmEsIFJV
Tk5JTkcsIDEpLnRoZW4oYXN5bmMgKGFnZW50Q291bnQpID0+IHsKIAotICBhc3NlcnQuc2FtZVZh
bHVlKGFnZW50Q291bnQsIDEpOworICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDEsICdU
aGUgdmFsdWUgb2YgYGFnZW50Q291bnRgIGlzIDEnKTsKIAogICBBdG9taWNzLm9yKGkzMmEsIDAs
IDEpOwogCkBAIC01OSw3ICs1OSw3IEBAICQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5jKGkz
MmEsIFJVTk5JTkcsIDEpLnRoZW4oYXN5bmMgKGFnZW50Q291bnQpID0+IHsKIAogICBhc3NlcnQo
CiAgICAgbGFwc2UgPj0gVElNRU9VVCwKLSAgICAnVGhlIHJlc3VsdCBvZiBgKGxhcHNlID49IFRJ
TUVPVVQpYCBpcyB0cnVlJworICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgYChsYXBzZSA+
PSBUSU1FT1VUKWAgaXMgdHJ1ZScKICAgKTsKIAogICBjb25zdCByZXN1bHQgPSBhd2FpdCAkMjYy
LmFnZW50LmdldFJlcG9ydEFzeW5jKCk7CkBAIC02Nyw3ICs2Nyw3IEBAICQyNjIuYWdlbnQuc2Fm
ZUJyb2FkY2FzdEFzeW5jKGkzMmEsIFJVTk5JTkcsIDEpLnRoZW4oYXN5bmMgKGFnZW50Q291bnQp
ID0+IHsKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICByZXN1bHQsCiAgICAgJ3RpbWVkLW91dCcs
Ci0gICAgJ2F3YWl0IEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsICR7VElNRU9VVH0pLnZh
bHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICAgICdUaGUgdmFsdWUgb2YgYHJlc3VsdGAg
aXMgInRpbWVkLW91dCInCiAgICk7Ci0gIGFzc2VydC5zYW1lVmFsdWUoQXRvbWljcy5ub3RpZnko
aTMyYSwgMCksIDAsICdBdG9taWNzLm5vdGlmeShpMzJhLCAwKSByZXR1cm5zIDAnKTsKKyAgYXNz
ZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpMzJhLCAwKSwgMCwgJ0F0b21pY3Mubm90aWZ5
KG5ldyBJbnQzMkFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BF
Ul9FTEVNRU5UICogNCkpLCAwKSBtdXN0IHJldHVybiAwJyk7CiB9KS50aGVuKCRET05FLCAkRE9O
RSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93
YWl0QXN5bmMvbm8tc3B1cmlvdXMtd2FrZXVwLW9uLXN0b3JlLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25vLXNwdXJpb3VzLXdha2V1cC1vbi1z
dG9yZS5qcwppbmRleCBhNDhiMzlkNjc5ZTY1YjM5YjQ4YzQ4M2E4N2ZmYmYwOWI1N2QwNGMwLi42
NjAwY2U5ZWI2YmE5ODY1OTk1ZWEzZmQwNmYxZGUyYTllOWJhNGU1IDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbm8tc3B1cmlvdXMt
d2FrZXVwLW9uLXN0b3JlLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9B
dG9taWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtldXAtb24tc3RvcmUuanMKQEAgLTI1LDcg
KzI1LDcgQEAgZmxhZ3M6IFthc3luY10KIGluY2x1ZGVzOiBbYXRvbWljc0hlbHBlci5qc10KIGZl
YXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBUeXBlZEFycmF5
LCBBdG9taWNzLCBhcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVuY3Rpb25zXQogLS0tKi8KLWFzc2Vy
dC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nLCAnVGhlIHZh
bHVlIG9mIGB0eXBlb2YgQXRvbWljcy53YWl0QXN5bmNgIGlzICJmdW5jdGlvbiInKTsKIAogY29u
c3QgUlVOTklORyA9IDE7CiBjb25zdCBUSU1FT1VUID0gJDI2Mi5hZ2VudC50aW1lb3V0cy5zbWFs
bDsKQEAgLTUxLDcgKzUxLDcgQEAgJDI2Mi5hZ2VudC5zdGFydChgCiAKICQyNjIuYWdlbnQuc2Fm
ZUJyb2FkY2FzdEFzeW5jKGkzMmEsIFJVTk5JTkcsIDEpLnRoZW4oYXN5bmMgKGFnZW50Q291bnQp
ID0+IHsKIAotICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDEpOworICBhc3NlcnQuc2Ft
ZVZhbHVlKGFnZW50Q291bnQsIDEsICdUaGUgdmFsdWUgb2YgYGFnZW50Q291bnRgIGlzIDEnKTsK
IAogICBBdG9taWNzLnN0b3JlKGkzMmEsIDAsIDBiMTAxMCk7CiAKQEAgLTU5LDcgKzU5LDcgQEAg
JDI2Mi5hZ2VudC5zYWZlQnJvYWRjYXN0QXN5bmMoaTMyYSwgUlVOTklORywgMSkudGhlbihhc3lu
YyAoYWdlbnRDb3VudCkgPT4gewogCiAgIGFzc2VydCgKICAgICBsYXBzZSA+PSBUSU1FT1VULAot
ICAgICdUaGUgcmVzdWx0IG9mIGAobGFwc2UgPj0gVElNRU9VVClgIGlzIHRydWUnCisgICAgJ1Ro
ZSByZXN1bHQgb2YgZXZhbHVhdGluZyBgKGxhcHNlID49IFRJTUVPVVQpYCBpcyB0cnVlJwogICAp
OwogCiAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKTsK
QEAgLTY3LDcgKzY3LDcgQEAgJDI2Mi5hZ2VudC5zYWZlQnJvYWRjYXN0QXN5bmMoaTMyYSwgUlVO
TklORywgMSkudGhlbihhc3luYyAoYWdlbnRDb3VudCkgPT4gewogICBhc3NlcnQuc2FtZVZhbHVl
KAogICAgIHJlc3VsdCwKICAgICAndGltZWQtb3V0JywKLSAgICAnYXdhaXQgQXRvbWljcy53YWl0
QXN5bmMoaTMyYSwgMCwgMCwgJHtUSU1FT1VUfSkudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91
dCInCisgICAgJ1RoZSB2YWx1ZSBvZiBgcmVzdWx0YCBpcyAidGltZWQtb3V0IicKICAgKTsKLSAg
YXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpMzJhLCAwKSwgMCwgJ0F0b21pY3Mubm90
aWZ5KGkzMmEsIDApIHJldHVybnMgMCcpOworICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mubm90
aWZ5KGkzMmEsIDApLCAwLCAnQXRvbWljcy5ub3RpZnkobmV3IEludDMyQXJyYXkobmV3IFNoYXJl
ZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KSksIDApIG11c3Qg
cmV0dXJuIDAnKTsKIH0pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9uby1zcHVyaW91cy13YWtl
dXAtb24tc3ViLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2Fp
dEFzeW5jL25vLXNwdXJpb3VzLXdha2V1cC1vbi1zdWIuanMKaW5kZXggNmE1NWI2MjQ1MzAyZWI4
MjJlMzIzZDNmZWY0ZGRiZTE4MjM3YWMxYS4uYjBiMjFiNTdkNzlkYThmNTFlZmZjNGJkYmEyY2Rj
NzQ2NWIwNTc0NCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0
b21pY3Mvd2FpdEFzeW5jL25vLXNwdXJpb3VzLXdha2V1cC1vbi1zdWIuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25vLXNwdXJpb3VzLXdh
a2V1cC1vbi1zdWIuanMKQEAgLTI1LDcgKzI1LDcgQEAgZmxhZ3M6IFthc3luY10KIGluY2x1ZGVz
OiBbYXRvbWljc0hlbHBlci5qc10KIGZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJl
ZEFycmF5QnVmZmVyLCBUeXBlZEFycmF5LCBBdG9taWNzLCBhcnJvdy1mdW5jdGlvbiwgYXN5bmMt
ZnVuY3Rpb25zXQogLS0tKi8KLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFz
eW5jLCAnZnVuY3Rpb24nKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFz
eW5jLCAnZnVuY3Rpb24nLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgQXRvbWljcy53YWl0QXN5bmNg
IGlzICJmdW5jdGlvbiInKTsKIAogY29uc3QgUlVOTklORyA9IDE7CiBjb25zdCBUSU1FT1VUID0g
JDI2Mi5hZ2VudC50aW1lb3V0cy5zbWFsbDsKQEAgLTUxLDcgKzUxLDcgQEAgJDI2Mi5hZ2VudC5z
dGFydChgCiAKICQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5jKGkzMmEsIFJVTk5JTkcsIDEp
LnRoZW4oYXN5bmMgKGFnZW50Q291bnQpID0+IHsKIAotICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50
Q291bnQsIDEpOworICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDEsICdUaGUgdmFsdWUg
b2YgYGFnZW50Q291bnRgIGlzIDEnKTsKIAogICBBdG9taWNzLnN1YihpMzJhLCAwLCAxKTsKIApA
QCAtNTksNyArNTksNyBAQCAkMjYyLmFnZW50LnNhZmVCcm9hZGNhc3RBc3luYyhpMzJhLCBSVU5O
SU5HLCAxKS50aGVuKGFzeW5jIChhZ2VudENvdW50KSA9PiB7CiAKICAgYXNzZXJ0KAogICAgIGxh
cHNlID49IFRJTUVPVVQsCi0gICAgJ1RoZSByZXN1bHQgb2YgYChsYXBzZSA+PSBUSU1FT1VUKWAg
aXMgdHJ1ZScKKyAgICAnVGhlIHJlc3VsdCBvZiBldmFsdWF0aW5nIGAobGFwc2UgPj0gVElNRU9V
VClgIGlzIHRydWUnCiAgICk7CiAKICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgJDI2Mi5hZ2VudC5n
ZXRSZXBvcnRBc3luYygpOwpAQCAtNjcsNyArNjcsNyBAQCAkMjYyLmFnZW50LnNhZmVCcm9hZGNh
c3RBc3luYyhpMzJhLCBSVU5OSU5HLCAxKS50aGVuKGFzeW5jIChhZ2VudENvdW50KSA9PiB7CiAg
IGFzc2VydC5zYW1lVmFsdWUoCiAgICAgcmVzdWx0LAogICAgICd0aW1lZC1vdXQnLAotICAgICdh
d2FpdCBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCAke1RJTUVPVVR9KS52YWx1ZSByZXNv
bHZlcyB0byAidGltZWQtb3V0IicKKyAgICAnVGhlIHZhbHVlIG9mIGByZXN1bHRgIGlzICJ0aW1l
ZC1vdXQiJwogICApOwotICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mubm90aWZ5KGkzMmEsIDAp
LCAwLCAnQXRvbWljcy5ub3RpZnkoaTMyYSwgMCkgcmV0dXJucyAwJyk7CisgIGFzc2VydC5zYW1l
VmFsdWUoQXRvbWljcy5ub3RpZnkoaTMyYSwgMCksIDAsICdBdG9taWNzLm5vdGlmeShuZXcgSW50
MzJBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVO
VCAqIDQpKSwgMCkgbXVzdCByZXR1cm4gMCcpOwogfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5j
L25vLXNwdXJpb3VzLXdha2V1cC1vbi14b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbm8tc3B1cmlvdXMtd2FrZXVwLW9uLXhvci5qcwppbmRl
eCAxNDgxOTk5ZDRiMWE3ODIxYzQ4N2VhNGJlYTVkY2VmMmYwMDhlNmRmLi5iZWZjMTYwOTA4MzBm
NTExNGM4MjE2NjQ1MDBhZDUzYzI1NzYxYTljIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbm8tc3B1cmlvdXMtd2FrZXVwLW9uLXhv
ci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5
bmMvbm8tc3B1cmlvdXMtd2FrZXVwLW9uLXhvci5qcwpAQCAtMjUsNyArMjUsNyBAQCBmbGFnczog
W2FzeW5jXQogaW5jbHVkZXM6IFthdG9taWNzSGVscGVyLmpzXQogZmVhdHVyZXM6IFtBdG9taWNz
LndhaXRBc3luYywgU2hhcmVkQXJyYXlCdWZmZXIsIFR5cGVkQXJyYXksIEF0b21pY3MsIGFycm93
LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnNdCiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBl
b2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBl
b2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBB
dG9taWNzLndhaXRBc3luY2AgaXMgImZ1bmN0aW9uIicpOwogCiBjb25zdCBSVU5OSU5HID0gMTsK
IGNvbnN0IFRJTUVPVVQgPSAkMjYyLmFnZW50LnRpbWVvdXRzLnNtYWxsOwpAQCAtNTEsNyArNTEs
NyBAQCAkMjYyLmFnZW50LnN0YXJ0KGAKIAogJDI2Mi5hZ2VudC5zYWZlQnJvYWRjYXN0QXN5bmMo
aTMyYSwgUlVOTklORywgMSkudGhlbihhc3luYyAoYWdlbnRDb3VudCkgPT4gewogCi0gIGFzc2Vy
dC5zYW1lVmFsdWUoYWdlbnRDb3VudCwgMSk7CisgIGFzc2VydC5zYW1lVmFsdWUoYWdlbnRDb3Vu
dCwgMSwgJ1RoZSB2YWx1ZSBvZiBgYWdlbnRDb3VudGAgaXMgMScpOwogCiAgIEF0b21pY3MueG9y
KGkzMmEsIDAsIDEpOwogCkBAIC01OSw3ICs1OSw3IEBAICQyNjIuYWdlbnQuc2FmZUJyb2FkY2Fz
dEFzeW5jKGkzMmEsIFJVTk5JTkcsIDEpLnRoZW4oYXN5bmMgKGFnZW50Q291bnQpID0+IHsKIAog
ICBhc3NlcnQoCiAgICAgbGFwc2UgPj0gVElNRU9VVCwKLSAgICAnVGhlIHJlc3VsdCBvZiBgKGxh
cHNlID49IFRJTUVPVVQpYCBpcyB0cnVlJworICAgICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcg
YChsYXBzZSA+PSBUSU1FT1VUKWAgaXMgdHJ1ZScKICAgKTsKIAogICBjb25zdCByZXN1bHQgPSBh
d2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCk7CkBAIC02Nyw3ICs2Nyw3IEBAICQyNjIu
YWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5jKGkzMmEsIFJVTk5JTkcsIDEpLnRoZW4oYXN5bmMgKGFn
ZW50Q291bnQpID0+IHsKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICByZXN1bHQsCiAgICAgJ3Rp
bWVkLW91dCcsCi0gICAgJ2F3YWl0IEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsICR7VElN
RU9VVH0pLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICAgICdUaGUgdmFsdWUgb2Yg
YHJlc3VsdGAgaXMgInRpbWVkLW91dCInCiAgICk7Ci0gIGFzc2VydC5zYW1lVmFsdWUoQXRvbWlj
cy5ub3RpZnkoaTMyYSwgMCksIDAsICdBdG9taWNzLm5vdGlmeShpMzJhLCAwKSByZXR1cm5zIDAn
KTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpMzJhLCAwKSwgMCwgJ0F0b21p
Y3Mubm90aWZ5KG5ldyBJbnQzMkFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5
LkJZVEVTX1BFUl9FTEVNRU5UICogNCkpLCAwKSBtdXN0IHJldHVybiAwJyk7CiB9KS50aGVuKCRE
T05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QXRvbWljcy93YWl0QXN5bmMvbm9uLWludDMyLXR5cGVkYXJyYXktdGhyb3dzLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25vbi1pbnQzMi10eXBl
ZGFycmF5LXRocm93cy5qcwppbmRleCBlM2I3ODFkMDIyNTU0ZDEyOWZiYTI3Yjk0MzNiODRmZTY5
ODg4MWYwLi5iZGZmZGQ3OWYzYjViZWI0YzBlZTIzMDU4OWY4MDE1NmIyZjZjN2M5IDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbm9u
LWludDMyLXR5cGVkYXJyYXktdGhyb3dzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9ub24taW50MzItdHlwZWRhcnJheS10aHJvd3MuanMK
QEAgLTIxLDcgKzIxLDcgQEAgaW5mbzogfAogCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5j
LCBGbG9hdDMyQXJyYXksIEZsb2F0NjRBcnJheSwgSW50OEFycmF5LCBUeXBlZEFycmF5LCBVaW50
MTZBcnJheSwgVWludDhBcnJheSwgVWludDhDbGFtcGVkQXJyYXksIGFycm93LWZ1bmN0aW9uLCBT
aGFyZWRBcnJheUJ1ZmZlciwgQXRvbWljc10KIC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVv
ZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVv
ZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0
b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiBjb25zdCBwb2lzb25lZCA9IHsKICAg
dmFsdWVPZigpIHsKICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdzaG91bGQgbm90IGV2YWx1
YXRlIHRoaXMgY29kZScpOwpAQCAtMzMsNTMgKzMzLDUzIEBAIGFzc2VydC50aHJvd3MoVHlwZUVy
cm9yLCAoKSA9PiB7CiAgICAgbmV3IFNoYXJlZEFycmF5QnVmZmVyKEZsb2F0NjRBcnJheS5CWVRF
U19QRVJfRUxFTUVOVCAqIDgpCiAgICk7CiAgIEF0b21pY3Mud2FpdEFzeW5jKHZpZXcsIHBvaXNv
bmVkLCBwb2lzb25lZCwgcG9pc29uZWQpOwotfSwgJ2Bjb25zdCB2aWV3ID0gbmV3IEZsb2F0NjRB
cnJheSggbmV3IFNoYXJlZEFycmF5QnVmZmVyKEZsb2F0NjRBcnJheS5CWVRFU19QRVJfRUxFTUVO
VCAqIDgpICk7IEF0b21pY3Mud2FpdEFzeW5jKHZpZXcsIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9p
c29uZWQpYCB0aHJvd3MgVHlwZUVycm9yJyk7Cit9LCAnYGNvbnN0IHZpZXcgPSBuZXcgRmxvYXQ2
NEFycmF5KCBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoRmxvYXQ2NEFycmF5LkJZVEVTX1BFUl9FTEVN
RU5UICogOCkgKTsgQXRvbWljcy53YWl0QXN5bmModmlldywgcG9pc29uZWQsIHBvaXNvbmVkLCBw
b2lzb25lZClgIHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKIAogYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsICgpID0+IHsKICAgY29uc3QgdmlldyA9IG5ldyBGbG9hdDMyQXJyYXkoCiAg
ICAgbmV3IFNoYXJlZEFycmF5QnVmZmVyKEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAq
IDQpCiAgICk7CiAgIEF0b21pY3Mud2FpdEFzeW5jKHZpZXcsIHBvaXNvbmVkLCBwb2lzb25lZCwg
cG9pc29uZWQpOwotfSwgJ2Bjb25zdCB2aWV3ID0gbmV3IEZsb2F0MzJBcnJheSggbmV3IFNoYXJl
ZEFycmF5QnVmZmVyKEZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpICk7IEF0b21p
Y3Mud2FpdEFzeW5jKHZpZXcsIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpYCB0aHJvd3Mg
VHlwZUVycm9yJyk7Cit9LCAnYGNvbnN0IHZpZXcgPSBuZXcgRmxvYXQzMkFycmF5KCBuZXcgU2hh
cmVkQXJyYXlCdWZmZXIoRmxvYXQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkgKTsgQXRv
bWljcy53YWl0QXN5bmModmlldywgcG9pc29uZWQsIHBvaXNvbmVkLCBwb2lzb25lZClgIHRocm93
cyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKIAogYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgp
ID0+IHsKICAgY29uc3QgdmlldyA9IG5ldyBJbnQxNkFycmF5KAogICAgIG5ldyBTaGFyZWRBcnJh
eUJ1ZmZlcihJbnQxNkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogMikKICAgKTsKICAgQXRvbWlj
cy53YWl0QXN5bmModmlldywgcG9pc29uZWQsIHBvaXNvbmVkLCBwb2lzb25lZCk7Ci19LCAnYGNv
bnN0IHZpZXcgPSBuZXcgSW50MTZBcnJheSggbmV3IFNoYXJlZEFycmF5QnVmZmVyKEludDE2QXJy
YXkuQllURVNfUEVSX0VMRU1FTlQgKiAyKSApOyBBdG9taWNzLndhaXRBc3luYyh2aWV3LCBwb2lz
b25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIFR5cGVFcnJvcicpOworfSwgJ2Bjb25z
dCB2aWV3ID0gbmV3IEludDE2QXJyYXkoIG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQxNkFycmF5
LkJZVEVTX1BFUl9FTEVNRU5UICogMikgKTsgQXRvbWljcy53YWl0QXN5bmModmlldywgcG9pc29u
ZWQsIHBvaXNvbmVkLCBwb2lzb25lZClgIHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsK
IAogYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKICAgY29uc3QgdmlldyA9IG5ldyBJ
bnQ4QXJyYXkoCiAgICAgbmV3IFNoYXJlZEFycmF5QnVmZmVyKEludDhBcnJheS5CWVRFU19QRVJf
RUxFTUVOVCkKICAgKTsKICAgQXRvbWljcy53YWl0QXN5bmModmlldywgcG9pc29uZWQsIHBvaXNv
bmVkLCBwb2lzb25lZCk7Ci19LCAnYGNvbnN0IHZpZXcgPSBuZXcgSW50OEFycmF5KCBuZXcgU2hh
cmVkQXJyYXlCdWZmZXIoSW50OEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UKSApOyBBdG9taWNzLndh
aXRBc3luYyh2aWV3LCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIFR5cGVF
cnJvcicpOworfSwgJ2Bjb25zdCB2aWV3ID0gbmV3IEludDhBcnJheSggbmV3IFNoYXJlZEFycmF5
QnVmZmVyKEludDhBcnJheS5CWVRFU19QRVJfRUxFTUVOVCkgKTsgQXRvbWljcy53YWl0QXN5bmMo
dmlldywgcG9pc29uZWQsIHBvaXNvbmVkLCBwb2lzb25lZClgIHRocm93cyBhIFR5cGVFcnJvciBl
eGNlcHRpb24nKTsKIAogYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKICAgY29uc3Qg
dmlldyA9IG5ldyBVaW50MzJBcnJheSgKICAgICBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoVWludDMy
QXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KQogICApOwogICBBdG9taWNzLndhaXRBc3luYyh2
aWV3LCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKTsKLX0sICdgY29uc3QgdmlldyA9IG5l
dyBVaW50MzJBcnJheSggbmV3IFNoYXJlZEFycmF5QnVmZmVyKFVpbnQzMkFycmF5LkJZVEVTX1BF
Ul9FTEVNRU5UICogNCkgKTsgQXRvbWljcy53YWl0QXN5bmModmlldywgcG9pc29uZWQsIHBvaXNv
bmVkLCBwb2lzb25lZClgIHRocm93cyBUeXBlRXJyb3InKTsKK30sICdgY29uc3QgdmlldyA9IG5l
dyBVaW50MzJBcnJheSggbmV3IFNoYXJlZEFycmF5QnVmZmVyKFVpbnQzMkFycmF5LkJZVEVTX1BF
Ul9FTEVNRU5UICogNCkgKTsgQXRvbWljcy53YWl0QXN5bmModmlldywgcG9pc29uZWQsIHBvaXNv
bmVkLCBwb2lzb25lZClgIHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKIAogYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKICAgY29uc3QgdmlldyA9IG5ldyBVaW50MTZBcnJh
eSgKICAgICBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoVWludDE2QXJyYXkuQllURVNfUEVSX0VMRU1F
TlQgKiAyKQogICApOwogICBBdG9taWNzLndhaXRBc3luYyh2aWV3LCBwb2lzb25lZCwgcG9pc29u
ZWQsIHBvaXNvbmVkKTsKLX0sICdgY29uc3QgdmlldyA9IG5ldyBVaW50MTZBcnJheSggbmV3IFNo
YXJlZEFycmF5QnVmZmVyKFVpbnQxNkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogMikgKTsgQXRv
bWljcy53YWl0QXN5bmModmlldywgcG9pc29uZWQsIHBvaXNvbmVkLCBwb2lzb25lZClgIHRocm93
cyBUeXBlRXJyb3InKTsKK30sICdgY29uc3QgdmlldyA9IG5ldyBVaW50MTZBcnJheSggbmV3IFNo
YXJlZEFycmF5QnVmZmVyKFVpbnQxNkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogMikgKTsgQXRv
bWljcy53YWl0QXN5bmModmlldywgcG9pc29uZWQsIHBvaXNvbmVkLCBwb2lzb25lZClgIHRocm93
cyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKIAogYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgp
ID0+IHsKICAgY29uc3QgdmlldyA9IG5ldyBVaW50OEFycmF5KAogICAgIG5ldyBTaGFyZWRBcnJh
eUJ1ZmZlcihVaW50OEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UKQogICApOwogICBBdG9taWNzLndh
aXRBc3luYyh2aWV3LCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKTsKLX0sICdgY29uc3Qg
dmlldyA9IG5ldyBVaW50OEFycmF5KCBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoVWludDhBcnJheS5C
WVRFU19QRVJfRUxFTUVOVCkgKTsgQXRvbWljcy53YWl0QXN5bmModmlldywgcG9pc29uZWQsIHBv
aXNvbmVkLCBwb2lzb25lZClgIHRocm93cyBUeXBlRXJyb3InKTsKK30sICdgY29uc3QgdmlldyA9
IG5ldyBVaW50OEFycmF5KCBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoVWludDhBcnJheS5CWVRFU19Q
RVJfRUxFTUVOVCkgKTsgQXRvbWljcy53YWl0QXN5bmModmlldywgcG9pc29uZWQsIHBvaXNvbmVk
LCBwb2lzb25lZClgIHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKIAogYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsICgpID0+IHsKICAgY29uc3QgdmlldyA9IG5ldyBVaW50OENsYW1wZWRB
cnJheSgKICAgICBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoVWludDhDbGFtcGVkQXJyYXkuQllURVNf
UEVSX0VMRU1FTlQpCiAgICk7CiAgIEF0b21pY3Mud2FpdEFzeW5jKHZpZXcsIHBvaXNvbmVkLCBw
b2lzb25lZCwgcG9pc29uZWQpOwotfSwgJ2Bjb25zdCB2aWV3ID0gbmV3IFVpbnQ4Q2xhbXBlZEFy
cmF5KCBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoVWludDhDbGFtcGVkQXJyYXkuQllURVNfUEVSX0VM
RU1FTlQpICk7IEF0b21pY3Mud2FpdEFzeW5jKHZpZXcsIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9p
c29uZWQpYCB0aHJvd3MgVHlwZUVycm9yJyk7Cit9LCAnYGNvbnN0IHZpZXcgPSBuZXcgVWludDhD
bGFtcGVkQXJyYXkoIG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihVaW50OENsYW1wZWRBcnJheS5CWVRF
U19QRVJfRUxFTUVOVCkgKTsgQXRvbWljcy53YWl0QXN5bmModmlldywgcG9pc29uZWQsIHBvaXNv
bmVkLCBwb2lzb25lZClgIHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9ub24t
c2hhcmVkLWJ1ZmZlcmRhdGEtdGhyb3dzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0F0b21pY3Mvd2FpdEFzeW5jL25vbi1zaGFyZWQtYnVmZmVyZGF0YS10aHJvd3MuanMKaW5k
ZXggNTMwNzY3ZDE5ZmU1OWEwNjdlMWU2MTNmZWZjYzdkZjMxMTRiOGZmYy4uNjM2NmRhYzFmMzI4
NzU0MmJhMDIxYzE4NTQ5YmNmODQ0YTNjNWYxOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25vbi1zaGFyZWQtYnVmZmVyZGF0YS10
aHJvd3MuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2Fp
dEFzeW5jL25vbi1zaGFyZWQtYnVmZmVyZGF0YS10aHJvd3MuanMKQEAgLTIwLDcgKzIwLDcgQEAg
aW5mbzogfAogCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBBcnJheUJ1ZmZlciwgQXRv
bWljcywgVHlwZWRBcnJheSwgYXJyb3ctZnVuY3Rpb25dCiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1
ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1
ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicsICdUaGUgdmFsdWUgb2YgYHR5
cGVvZiBBdG9taWNzLndhaXRBc3luY2AgaXMgImZ1bmN0aW9uIicpOwogY29uc3QgaTMyYSA9IG5l
dyBJbnQzMkFycmF5KAogICBuZXcgQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxF
TUVOVCAqIDQpCiApOwpAQCAtMzMsOCArMzMsOCBAQCBjb25zdCBwb2lzb25lZCA9IHsKIAogYXNz
ZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKICAgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwg
MCwgMCwgMCk7Ci19LCAnYEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIDApYCB0aHJvd3Mg
VHlwZUVycm9yJyk7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIDApYCB0aHJv
d3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAKIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAo
KSA9PiB7CiAgIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9p
c29uZWQpOwotfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpMzJhLCBwb2lzb25lZCwgcG9pc29uZWQs
IHBvaXNvbmVkKWAgdGhyb3dzIFR5cGVFcnJvcicpOworfSwgJ2BBdG9taWNzLndhaXRBc3luYyhp
MzJhLCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIGEgVHlwZUVycm9yIGV4
Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0
b21pY3Mvd2FpdEFzeW5jL25vdC1hLXR5cGVkYXJyYXktdGhyb3dzLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25vdC1hLXR5cGVkYXJyYXktdGhy
b3dzLmpzCmluZGV4IGI5MDhkMzZkY2FiZDMxZjRmODdjNDkyYWI2NDNjZWM5NTY1MmU2NDEuLmFj
ZmY3MGFkZmFjNmU2MjdhODdhMGYwZjdmMDk2ZjhmYjJlM2VhZmQgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9ub3QtYS10eXBlZGFy
cmF5LXRocm93cy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWlj
cy93YWl0QXN5bmMvbm90LWEtdHlwZWRhcnJheS10aHJvd3MuanMKQEAgLTI0LDcgKzI0LDcgQEAg
aW5mbzogfAogCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBhcnJvdy1mdW5jdGlvbiwg
QXRvbWljc10KIC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3lu
YywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3lu
YywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBp
cyAiZnVuY3Rpb24iJyk7CiBjb25zdCBwb2lzb25lZCA9IHsKICAgdmFsdWVPZigpIHsKICAgICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdzaG91bGQgbm90IGV2YWx1YXRlIHRoaXMgY29kZScpOwpA
QCAtMzMsOCArMzMsOCBAQCBjb25zdCBwb2lzb25lZCA9IHsKIAogYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsICgpID0+IHsKICAgQXRvbWljcy53YWl0QXN5bmMoe30sIDAsIDAsIDApOwotfSwgJ2BB
dG9taWNzLndhaXRBc3luYyh7fSwgMCwgMCwgMClgIHRocm93cyBUeXBlRXJyb3InKTsKK30sICdg
QXRvbWljcy53YWl0QXN5bmMoe30sIDAsIDAsIDApYCB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0
aW9uJyk7CiAKIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CiAgIEF0b21pY3Mud2Fp
dEFzeW5jKHt9LCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKTsKLX0sICdgQXRvbWljcy53
YWl0QXN5bmMoe30sIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpYCB0aHJvd3MgVHlwZUVy
cm9yJyk7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5jKHt9LCBwb2lzb25lZCwgcG9pc29uZWQsIHBv
aXNvbmVkKWAgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL25vdC1hbi1vYmpl
Y3QtdGhyb3dzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2Fp
dEFzeW5jL25vdC1hbi1vYmplY3QtdGhyb3dzLmpzCmluZGV4IGVhZjM4YjNmNDU1M2M3NjliNThi
OGYwYjFmMjk5NjAwMDEwMTYyZDMuLmNhZjQ2MTMxYmFkZmFkMGNlYmUxMzBkNzcxMTE4YTA1YzRk
NmRiOTYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNz
L3dhaXRBc3luYy9ub3QtYW4tb2JqZWN0LXRocm93cy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvbm90LWFuLW9iamVjdC10aHJvd3MuanMK
QEAgLTI0LDcgKzI0LDcgQEAgaW5mbzogfAogCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5j
LCBTeW1ib2wsIGFycm93LWZ1bmN0aW9uLCBBdG9taWNzXQogLS0tKi8KLWFzc2VydC5zYW1lVmFs
dWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nKTsKK2Fzc2VydC5zYW1lVmFs
dWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nLCAnVGhlIHZhbHVlIG9mIGB0
eXBlb2YgQXRvbWljcy53YWl0QXN5bmNgIGlzICJmdW5jdGlvbiInKTsKIGNvbnN0IHBvaXNvbmVk
ID0gewogICB2YWx1ZU9mKCkgewogICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ3Nob3VsZCBu
b3QgZXZhbHVhdGUgdGhpcyBjb2RlJyk7CkBAIC0zMywyOCArMzMsMjggQEAgY29uc3QgcG9pc29u
ZWQgPSB7CiAKIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CiAgIEF0b21pY3Mud2Fp
dEFzeW5jKG51bGwsIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpOwotfSwgJ2BBdG9taWNz
LndhaXRBc3luYyhudWxsLCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIFR5
cGVFcnJvcicpOworfSwgJ2BBdG9taWNzLndhaXRBc3luYyhudWxsLCBwb2lzb25lZCwgcG9pc29u
ZWQsIHBvaXNvbmVkKWAgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwogCiBhc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gewogICBBdG9taWNzLndhaXRBc3luYyh1bmRlZmluZWQs
IHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpOwotfSwgJ2BBdG9taWNzLndhaXRBc3luYyh1
bmRlZmluZWQsIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpYCB0aHJvd3MgVHlwZUVycm9y
Jyk7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5jKHVuZGVmaW5lZCwgcG9pc29uZWQsIHBvaXNvbmVk
LCBwb2lzb25lZClgIHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKIAogYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsICgpID0+IHsKICAgQXRvbWljcy53YWl0QXN5bmModHJ1ZSwgcG9pc29u
ZWQsIHBvaXNvbmVkLCBwb2lzb25lZCk7Ci19LCAnYEF0b21pY3Mud2FpdEFzeW5jKHRydWUsIHBv
aXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpYCB0aHJvd3MgVHlwZUVycm9yJyk7Cit9LCAnYEF0
b21pY3Mud2FpdEFzeW5jKHRydWUsIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpYCB0aHJv
d3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAKIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAo
KSA9PiB7CiAgIEF0b21pY3Mud2FpdEFzeW5jKGZhbHNlLCBwb2lzb25lZCwgcG9pc29uZWQsIHBv
aXNvbmVkKTsKLX0sICdgQXRvbWljcy53YWl0QXN5bmMoZmFsc2UsIHBvaXNvbmVkLCBwb2lzb25l
ZCwgcG9pc29uZWQpYCB0aHJvd3MgVHlwZUVycm9yJyk7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5j
KGZhbHNlLCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIGEgVHlwZUVycm9y
IGV4Y2VwdGlvbicpOwogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gewogICBBdG9t
aWNzLndhaXRBc3luYygnKioqc3RyaW5nKioqJywgcG9pc29uZWQsIHBvaXNvbmVkLCBwb2lzb25l
ZCk7Ci19LCAnYEF0b21pY3Mud2FpdEFzeW5jKFwnKioqc3RyaW5nKioqXCcsIHBvaXNvbmVkLCBw
b2lzb25lZCwgcG9pc29uZWQpYCB0aHJvd3MgVHlwZUVycm9yJyk7Cit9LCAnYEF0b21pY3Mud2Fp
dEFzeW5jKCIqKipzdHJpbmcqKioiLCBwb2lzb25lZCwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhy
b3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
KCkgPT4gewogICBBdG9taWNzLndhaXRBc3luYyhOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksIHBv
aXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpOwotfSwgJ2BBdG9taWNzLndhaXRBc3luYyhOdW1i
ZXIuTkVHQVRJVkVfSU5GSU5JVFksIHBvaXNvbmVkLCBwb2lzb25lZCwgcG9pc29uZWQpYCB0aHJv
d3MgVHlwZUVycm9yJyk7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5jKE51bWJlci5ORUdBVElWRV9J
TkZJTklUWSwgcG9pc29uZWQsIHBvaXNvbmVkLCBwb2lzb25lZClgIHRocm93cyBhIFR5cGVFcnJv
ciBleGNlcHRpb24nKTsKIAogYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKICAgQXRv
bWljcy53YWl0QXN5bmMoU3ltYm9sKCcqKipzeW1ib2wqKionKSwgcG9pc29uZWQsIHBvaXNvbmVk
LCBwb2lzb25lZCk7Ci19LCAnYEF0b21pY3Mud2FpdEFzeW5jKFN5bWJvbChcJyoqKnN5bWJvbCoq
KlwnKSwgcG9pc29uZWQsIHBvaXNvbmVkLCBwb2lzb25lZClgIHRocm93cyBUeXBlRXJyb3InKTsK
K30sICdgQXRvbWljcy53YWl0QXN5bmMoU3ltYm9sKCIqKipzeW1ib2wqKioiKSwgcG9pc29uZWQs
IHBvaXNvbmVkLCBwb2lzb25lZClgIHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3lu
Yy9udWxsLWJ1ZmZlcmRhdGEtdGhyb3dzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0F0b21pY3Mvd2FpdEFzeW5jL251bGwtYnVmZmVyZGF0YS10aHJvd3MuanMKaW5kZXggNGM3
ZjQ0MDA2NzQ1ZmMxOTg4MWQ3Y2ViZGNkZDNiZjQ0NDg3Yzk4OS4uNTQ4MzU3ZGJiODk4ZDc2YWNh
NmIxN2IzZDczZWY4NWJmMWIxZGJiMSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL251bGwtYnVmZmVyZGF0YS10aHJvd3MuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL251bGwt
YnVmZmVyZGF0YS10aHJvd3MuanMKQEAgLTI1LDcgKzI1LDcgQEAgaW5mbzogfAogaW5jbHVkZXM6
IFtkZXRhY2hBcnJheUJ1ZmZlci5qc10KIGZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIEFy
cmF5QnVmZmVyLCBBdG9taWNzLCBUeXBlZEFycmF5XQogLS0tKi8KLWFzc2VydC5zYW1lVmFsdWUo
dHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nKTsKK2Fzc2VydC5zYW1lVmFsdWUo
dHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nLCAnVGhlIHZhbHVlIG9mIGB0eXBl
b2YgQXRvbWljcy53YWl0QXN5bmNgIGlzICJmdW5jdGlvbiInKTsKIGNvbnN0IGkzMmEgPSBuZXcg
SW50MzJBcnJheSgKICAgbmV3IEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1F
TlQgKiA0KQogKTsKQEAgLTQ0LDQgKzQ0LDQgQEAgdHJ5IHsKIAogYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsIGZ1bmN0aW9uKCkgewogICBBdG9taWNzLndhaXRBc3luYyhpMzJhLCBwb2lzb25lZCwg
cG9pc29uZWQsIHBvaXNvbmVkKTsKLX0sICdgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgcG9pc29u
ZWQsIHBvaXNvbmVkLCBwb2lzb25lZClgIHRocm93cyBUeXBlRXJyb3InKTsKK30sICdgQXRvbWlj
cy53YWl0QXN5bmMoaTMyYSwgcG9pc29uZWQsIHBvaXNvbmVkLCBwb2lzb25lZClgIHRocm93cyBh
IFR5cGVFcnJvciBleGNlcHRpb24nKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9udWxsLWZvci10aW1lb3V0LWFnZW50LmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL251bGwtZm9y
LXRpbWVvdXQtYWdlbnQuanMKaW5kZXggOGJmNjdiYzRjZDA4MDgxOGE2YjBkYjdlZDY2ODBiOGE0
ODVkYmQ4ZS4uMmI3MTE1NmFjMDEzODI0NzEzZjFlYjg4YmNlYzMzZjFhNDllNWIwNiAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL251
bGwtZm9yLXRpbWVvdXQtYWdlbnQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0F0b21pY3Mvd2FpdEFzeW5jL251bGwtZm9yLXRpbWVvdXQtYWdlbnQuanMKQEAgLTIwLDcg
KzIwLDcgQEAgZmxhZ3M6IFthc3luY10KIGluY2x1ZGVzOiBbYXRvbWljc0hlbHBlci5qc10KIGZl
YXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBUeXBlZEFycmF5
LCBBdG9taWNzLCBhcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVuY3Rpb25zXQogLS0tKi8KLWFzc2Vy
dC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nLCAnVGhlIHZh
bHVlIG9mIGB0eXBlb2YgQXRvbWljcy53YWl0QXN5bmNgIGlzICJmdW5jdGlvbiInKTsKIAogY29u
c3QgUlVOTklORyA9IDE7CiAKQEAgLTU1LDQwICs1NSw0MCBAQCBjb25zdCBpMzJhID0gbmV3IElu
dDMyQXJyYXkoCiApOwogCiAkMjYyLmFnZW50LnNhZmVCcm9hZGNhc3RBc3luYyhpMzJhLCBSVU5O
SU5HLCAxKS50aGVuKGFzeW5jIChhZ2VudENvdW50KSA9PiB7Ci0gIGFzc2VydC5zYW1lVmFsdWUo
YWdlbnRDb3VudCwgMSk7CisgIGFzc2VydC5zYW1lVmFsdWUoYWdlbnRDb3VudCwgMSwgJ1RoZSB2
YWx1ZSBvZiBgYWdlbnRDb3VudGAgaXMgMScpOwogCiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAg
YXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAogICAgICd0aW1lZC1vdXQnLAotICAg
ICdhd2FpdCBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCBudWxsKS52YWx1ZSByZXNvbHZl
cyB0byAidGltZWQtb3V0IicKKyAgICAnKGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMo
KSkgcmVzb2x2ZXMgdG8gdGhlIHZhbHVlICJ0aW1lZC1vdXQiJwogICApOwogICBhc3NlcnQuc2Ft
ZVZhbHVlKAogICAgIGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSwKICAgICAndGlt
ZWQtb3V0JywKLSAgICAnYXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgdmFsdWVP
ZikudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICAgJyhhd2FpdCAkMjYyLmFnZW50
LmdldFJlcG9ydEFzeW5jKCkpIHJlc29sdmVzIHRvIHRoZSB2YWx1ZSAidGltZWQtb3V0IicKICAg
KTsKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFz
eW5jKCksCiAgICAgJ3RpbWVkLW91dCcsCi0gICAgJ2F3YWl0IEF0b21pY3Mud2FpdEFzeW5jKGkz
MmEsIDAsIDAsIHRvUHJpbWl0aXZlKS52YWx1ZSByZXNvbHZlcyB0byAidGltZWQtb3V0IicKKyAg
ICAnKGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSkgcmVzb2x2ZXMgdG8gdGhlIHZh
bHVlICJ0aW1lZC1vdXQiJwogICApOwogICBhc3NlcnQuc2FtZVZhbHVlKAogICAgIGF3YWl0ICQy
NjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSwKICAgICAndGltZWQtb3V0JywKLSAgICAnQXRvbWlj
cy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgbnVsbCkudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91
dCInCisgICAgJyhhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCkpIHJlc29sdmVzIHRv
IHRoZSB2YWx1ZSAidGltZWQtb3V0IicKICAgKTsKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBh
d2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCksCiAgICAgJ3RpbWVkLW91dCcsCi0gICAg
J0F0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIHZhbHVlT2YpLnZhbHVlIHJlc29sdmVzIHRv
ICJ0aW1lZC1vdXQiJworICAgICcoYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpKSBy
ZXNvbHZlcyB0byB0aGUgdmFsdWUgInRpbWVkLW91dCInCiAgICk7CiAgIGFzc2VydC5zYW1lVmFs
dWUoCiAgICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAogICAgICd0aW1lZC1v
dXQnLAotICAgICdBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB0b1ByaW1pdGl2ZSkudmFs
dWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICAgJyhhd2FpdCAkMjYyLmFnZW50LmdldFJl
cG9ydEFzeW5jKCkpIHJlc29sdmVzIHRvIHRoZSB2YWx1ZSAidGltZWQtb3V0IicKICAgKTsKIAot
ICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mubm90aWZ5KGkzMmEsIDApLCAwLCAnQXRvbWljcy5u
b3RpZnkoaTMyYSwgMCkgcmV0dXJucyAwJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoQXRvbWljcy5u
b3RpZnkoaTMyYSwgMCksIDAsICdBdG9taWNzLm5vdGlmeShuZXcgSW50MzJBcnJheShuZXcgU2hh
cmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpKSwgMCkgbXVz
dCByZXR1cm4gMCcpOwogCiB9KS50aGVuKCRET05FLCAkRE9ORSk7CiAKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9udWxsLWZvci10
aW1lb3V0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFz
eW5jL251bGwtZm9yLXRpbWVvdXQuanMKaW5kZXggM2Y1Yzc4NGYyZjFlNjM4YWE0ZDg5Yjk1Njc2
ZmU0NDUyN2UxZGYzOC4uMWQ0YmU3ODAwMWUzNmRiODQxMzY3ZmUzOWIwNmIxNzE0ZGYwNjQxZCAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFz
eW5jL251bGwtZm9yLXRpbWVvdXQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0F0b21pY3Mvd2FpdEFzeW5jL251bGwtZm9yLXRpbWVvdXQuanMKQEAgLTE3LDkgKzE3LDgg
QEAgaW5mbzogfAogICAgIE51bGwgLT4gUmV0dXJuICswLgogCiBmZWF0dXJlczogW0F0b21pY3Mu
d2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgU3ltYm9sLCBTeW1ib2wudG9QcmltaXRpdmUs
IFR5cGVkQXJyYXksIGNvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBBdG9taWNzLCBhcnJvdy1mdW5j
dGlvbl0KLWZsYWdzOiBbYXN5bmNdCiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRv
bWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRv
bWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBBdG9taWNz
LndhaXRBc3luY2AgaXMgImZ1bmN0aW9uIicpOwogCiBjb25zdCBpMzJhID0gbmV3IEludDMyQXJy
YXkoCiAgIG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5U
ICogNCkKQEAgLTQwLDI1ICszOSwxNSBAQCBjb25zdCB0b1ByaW1pdGl2ZSA9IHsKIGFzc2VydC5z
YW1lVmFsdWUoCiAgIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIG51bGwpLnZhbHVlLAog
ICAndGltZWQtb3V0JywKLSAgJ0F0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIG51bGwpLnZh
bHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICAnVGhlIHZhbHVlIG9mIEF0b21pY3Mud2Fp
dEFzeW5jKGkzMmEsIDAsIDAsIG51bGwpLnZhbHVlIGlzICJ0aW1lZC1vdXQiJwogKTsKIGFzc2Vy
dC5zYW1lVmFsdWUoCiAgIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIHZhbHVlT2YpLnZh
bHVlLAogICAndGltZWQtb3V0JywKLSAgJ0F0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIHZh
bHVlT2YpLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICAnVGhlIHZhbHVlIG9mIEF0
b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIHZhbHVlT2YpLnZhbHVlIGlzICJ0aW1lZC1vdXQi
JwogKTsKIGFzc2VydC5zYW1lVmFsdWUoCiAgIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAs
IHRvUHJpbWl0aXZlKS52YWx1ZSwKICAgJ3RpbWVkLW91dCcsCi0gICdBdG9taWNzLndhaXRBc3lu
YyhpMzJhLCAwLCAwLCB0b1ByaW1pdGl2ZSkudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCIn
CisgICdUaGUgdmFsdWUgb2YgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgdG9QcmltaXRp
dmUpLnZhbHVlIGlzICJ0aW1lZC1vdXQiJwogKTsKLQotUHJvbWlzZS5hbGwoWwotICAgIEF0b21p
Y3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIG51bGwpLnZhbHVlLAotICAgIEF0b21pY3Mud2FpdEFz
eW5jKGkzMmEsIDAsIDAsIHZhbHVlT2YpLnZhbHVlLAotICAgIEF0b21pY3Mud2FpdEFzeW5jKGkz
MmEsIDAsIDAsIHRvUHJpbWl0aXZlKS52YWx1ZSwKLSAgXSkudGhlbihvdXRjb21lcyA9PiB7Ci0g
ICAgYXNzZXJ0LnNhbWVWYWx1ZShvdXRjb21lc1swXSwgInRpbWVkLW91dCIpOwotICAgIGFzc2Vy
dC5zYW1lVmFsdWUob3V0Y29tZXNbMV0sICJ0aW1lZC1vdXQiKTsKLSAgICBhc3NlcnQuc2FtZVZh
bHVlKG91dGNvbWVzWzJdLCAidGltZWQtb3V0Iik7Ci0gIH0pLnRoZW4oJERPTkUsICRET05FKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRB
c3luYy9vYmplY3QtZm9yLXRpbWVvdXQtYWdlbnQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvb2JqZWN0LWZvci10aW1lb3V0LWFnZW50LmpzCmlu
ZGV4IGExMjZiNTRhZmU5ZWIwZjAxZWFlMzJlODA0ZmQyNWI5MWY3ZjEyNmYuLjNlM2I3NDdjMzZm
MmE1YTExODkzOTE5MzhhM2MyNzIwNTRlNGE0N2YgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9vYmplY3QtZm9yLXRpbWVvdXQtYWdl
bnQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFz
eW5jL29iamVjdC1mb3ItdGltZW91dC1hZ2VudC5qcwpAQCAtMjMsNyArMjMsNyBAQCBmbGFnczog
W2FzeW5jXQogaW5jbHVkZXM6IFthdG9taWNzSGVscGVyLmpzXQogZmVhdHVyZXM6IFtBdG9taWNz
LndhaXRBc3luYywgU2hhcmVkQXJyYXlCdWZmZXIsIFR5cGVkQXJyYXksIEF0b21pY3MsIGFycm93
LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnNdCiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBl
b2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBl
b2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBB
dG9taWNzLndhaXRBc3luY2AgaXMgImZ1bmN0aW9uIicpOwogCiBjb25zdCBSVU5OSU5HID0gMTsK
IApAQCAtNjUsNDAgKzY1LDQwIEBAIGNvbnN0IGkzMmEgPSBuZXcgSW50MzJBcnJheSgKIAogJDI2
Mi5hZ2VudC5zYWZlQnJvYWRjYXN0QXN5bmMoaTMyYSwgUlVOTklORywgMSkudGhlbihhc3luYyAo
YWdlbnRDb3VudCkgPT4gewogCi0gIGFzc2VydC5zYW1lVmFsdWUoYWdlbnRDb3VudCwgMSk7Cisg
IGFzc2VydC5zYW1lVmFsdWUoYWdlbnRDb3VudCwgMSwgJ1RoZSB2YWx1ZSBvZiBgYWdlbnRDb3Vu
dGAgaXMgMScpOwogCiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgYXdhaXQgJDI2Mi5hZ2VudC5n
ZXRSZXBvcnRBc3luYygpLAogICAgICd0aW1lZC1vdXQnLAotICAgICdhd2FpdCBBdG9taWNzLndh
aXRBc3luYyhpMzJhLCAwLCAwLCB2YWx1ZU9mKS52YWx1ZSByZXNvbHZlcyB0byAidGltZWQtb3V0
IicKKyAgICAnKGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSkgcmVzb2x2ZXMgdG8g
dGhlIHZhbHVlICJ0aW1lZC1vdXQiJwogICApOwogICBhc3NlcnQuc2FtZVZhbHVlKAogICAgIGF3
YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSwKICAgICAndGltZWQtb3V0JywKLSAgICAn
YXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgdG9TdHJpbmcpLnZhbHVlIHJlc29s
dmVzIHRvICJ0aW1lZC1vdXQiJworICAgICcoYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3lu
YygpKSByZXNvbHZlcyB0byB0aGUgdmFsdWUgInRpbWVkLW91dCInCiAgICk7CiAgIGFzc2VydC5z
YW1lVmFsdWUoCiAgICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAogICAgICd0
aW1lZC1vdXQnLAotICAgICdhd2FpdCBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB0b1By
aW1pdGl2ZSkudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91dCInCisgICAgJyhhd2FpdCAkMjYy
LmFnZW50LmdldFJlcG9ydEFzeW5jKCkpIHJlc29sdmVzIHRvIHRoZSB2YWx1ZSAidGltZWQtb3V0
IicKICAgKTsKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBhd2FpdCAkMjYyLmFnZW50LmdldFJl
cG9ydEFzeW5jKCksCiAgICAgJ3RpbWVkLW91dCcsCi0gICAgJ0F0b21pY3Mud2FpdEFzeW5jKGkz
MmEsIDAsIDAsIHZhbHVlT2YpLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICAgICco
YXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpKSByZXNvbHZlcyB0byB0aGUgdmFsdWUg
InRpbWVkLW91dCInCiAgICk7CiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgYXdhaXQgJDI2Mi5h
Z2VudC5nZXRSZXBvcnRBc3luYygpLAogICAgICd0aW1lZC1vdXQnLAotICAgICdBdG9taWNzLndh
aXRBc3luYyhpMzJhLCAwLCAwLCB0b1N0cmluZykudmFsdWUgcmVzb2x2ZXMgdG8gInRpbWVkLW91
dCInCisgICAgJyhhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCkpIHJlc29sdmVzIHRv
IHRoZSB2YWx1ZSAidGltZWQtb3V0IicKICAgKTsKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBh
d2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCksCiAgICAgJ3RpbWVkLW91dCcsCi0gICAg
J0F0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIHRvUHJpbWl0aXZlKS52YWx1ZSByZXNvbHZl
cyB0byAidGltZWQtb3V0IicKKyAgICAnKGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMo
KSkgcmVzb2x2ZXMgdG8gdGhlIHZhbHVlICJ0aW1lZC1vdXQiJwogICApOwogCi0gIGFzc2VydC5z
YW1lVmFsdWUoQXRvbWljcy5ub3RpZnkoaTMyYSwgMCksIDAsICdBdG9taWNzLm5vdGlmeShpMzJh
LCAwKSByZXR1cm5zIDAnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpMzJh
LCAwKSwgMCwgJ0F0b21pY3Mubm90aWZ5KG5ldyBJbnQzMkFycmF5KG5ldyBTaGFyZWRBcnJheUJ1
ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkpLCAwKSBtdXN0IHJldHVybiAw
Jyk7CiAKIH0pLnRoZW4oJERPTkUsICRET05FKTsKIApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL29iamVjdC1mb3ItdGltZW91dC5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9vYmpl
Y3QtZm9yLXRpbWVvdXQuanMKaW5kZXggNDliNDU5YjM5ZDdhOGE5MjA2OGIxMGUyNTc5NjkwZjA2
MGIyN2NiMy4uZDhjYzhmYzM1OWFmYmI5N2I1ZDEyYjJmMzE1NzRjMGExNGVkYjNiYSAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL29i
amVjdC1mb3ItdGltZW91dC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QXRvbWljcy93YWl0QXN5bmMvb2JqZWN0LWZvci10aW1lb3V0LmpzCkBAIC0yMiw3ICsyMiw3IEBA
IGluZm86IHwKIGZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVy
LCBTeW1ib2wsIFN5bWJvbC50b1ByaW1pdGl2ZSwgVHlwZWRBcnJheSwgY29tcHV0ZWQtcHJvcGVy
dHktbmFtZXMsIEF0b21pY3MsIGFycm93LWZ1bmN0aW9uXQogZmxhZ3M6IFthc3luY10KIC0tLSov
Ci1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7
Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJywg
J1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7
CiBjb25zdCBpMzJhID0gbmV3IEludDMyQXJyYXkoCiAgIG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJ
bnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkKICk7CkBAIC00OCwxNyArNDgsMTcgQEAg
Y29uc3QgdG9QcmltaXRpdmUgPSB7CiBhc3NlcnQuc2FtZVZhbHVlKAogICBBdG9taWNzLndhaXRB
c3luYyhpMzJhLCAwLCAwLCB2YWx1ZU9mKS52YWx1ZSwKICAgJ3RpbWVkLW91dCcsCi0gICdBdG9t
aWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB2YWx1ZU9mKS52YWx1ZSByZXNvbHZlcyB0byAidGlt
ZWQtb3V0IicKKyAgJ1RoZSB2YWx1ZSBvZiBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB2
YWx1ZU9mKS52YWx1ZSBpcyAidGltZWQtb3V0IicKICk7CiBhc3NlcnQuc2FtZVZhbHVlKAogICBB
dG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB0b1N0cmluZykudmFsdWUsCiAgICd0aW1lZC1v
dXQnLAotICAnQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgdG9TdHJpbmcpLnZhbHVlIHJl
c29sdmVzIHRvICJ0aW1lZC1vdXQiJworICAnVGhlIHZhbHVlIG9mIEF0b21pY3Mud2FpdEFzeW5j
KGkzMmEsIDAsIDAsIHRvU3RyaW5nKS52YWx1ZSBpcyAidGltZWQtb3V0IicKICk7CiBhc3NlcnQu
c2FtZVZhbHVlKAogICBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB0b1ByaW1pdGl2ZSku
dmFsdWUsCiAgICd0aW1lZC1vdXQnLAotICAnQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwg
dG9QcmltaXRpdmUpLnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICAnVGhlIHZhbHVl
IG9mIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIHRvUHJpbWl0aXZlKS52YWx1ZSBpcyAi
dGltZWQtb3V0IicKICk7CiAKIFByb21pc2UuYWxsKFsKQEAgLTY2LDcgKzY2LDcgQEAgUHJvbWlz
ZS5hbGwoWwogICAgIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIHRvU3RyaW5nKS52YWx1
ZSwKICAgICBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCB0b1ByaW1pdGl2ZSkudmFsdWUs
CiAgIF0pLnRoZW4ob3V0Y29tZXMgPT4gewotICAgIGFzc2VydC5zYW1lVmFsdWUob3V0Y29tZXNb
MF0sICJ0aW1lZC1vdXQiKTsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWVzWzFdLCAidGlt
ZWQtb3V0Iik7Ci0gICAgYXNzZXJ0LnNhbWVWYWx1ZShvdXRjb21lc1syXSwgInRpbWVkLW91dCIp
OworICAgIGFzc2VydC5zYW1lVmFsdWUob3V0Y29tZXNbMF0sICJ0aW1lZC1vdXQiLCAnVGhlIHZh
bHVlIG9mIG91dGNvbWVzWzBdIGlzICJ0aW1lZC1vdXQiJyk7CisgICAgYXNzZXJ0LnNhbWVWYWx1
ZShvdXRjb21lc1sxXSwgInRpbWVkLW91dCIsICdUaGUgdmFsdWUgb2Ygb3V0Y29tZXNbMV0gaXMg
InRpbWVkLW91dCInKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWVzWzJdLCAidGltZWQt
b3V0IiwgJ1RoZSB2YWx1ZSBvZiBvdXRjb21lc1syXSBpcyAidGltZWQtb3V0IicpOwogICB9KS50
aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvQXRvbWljcy93YWl0QXN5bmMvb3V0LW9mLXJhbmdlLWluZGV4LXRocm93cy5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9vdXQtb2YtcmFu
Z2UtaW5kZXgtdGhyb3dzLmpzCmluZGV4IGUyODI1MWRmYjNlZTc2NmFmZjAwMTkyNmNmZDYxZmQ4
YzIyOWRkOWIuLjYzYTEwNmUwOGFhOTU2NjIzZTViOTE2NjQxZTAzM2FkZmRiMGRhMWYgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9v
dXQtb2YtcmFuZ2UtaW5kZXgtdGhyb3dzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9vdXQtb2YtcmFuZ2UtaW5kZXgtdGhyb3dzLmpzCkBA
IC0yMCw3ICsyMCw3IEBAIGluZm86IHwKICAgICA1LiBJZiBhY2Nlc3NJbmRleCDiiaUgbGVuZ3Ro
LCB0aHJvdyBhIFJhbmdlRXJyb3IgZXhjZXB0aW9uLgogZmVhdHVyZXM6IFtBdG9taWNzLndhaXRB
c3luYywgU2hhcmVkQXJyYXlCdWZmZXIsIFR5cGVkQXJyYXksIEF0b21pY3NdCiAtLS0qLwotYXNz
ZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicpOworYXNz
ZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicsICdUaGUg
dmFsdWUgb2YgYHR5cGVvZiBBdG9taWNzLndhaXRBc3luY2AgaXMgImZ1bmN0aW9uIicpOwogY29u
c3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KAogICBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJB
cnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpCiApOwpAQCAtMzMsMTMgKzMzLDEzIEBAIGNvbnN0
IHBvaXNvbmVkID0gewogCiBhc3NlcnQudGhyb3dzKFJhbmdlRXJyb3IsIGZ1bmN0aW9uKCkgewog
ICBBdG9taWNzLndhaXRBc3luYyhpMzJhLCBJbmZpbml0eSwgcG9pc29uZWQsIHBvaXNvbmVkKTsK
LX0sICdgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgSW5maW5pdHksIHBvaXNvbmVkLCBwb2lzb25l
ZClgIHRocm93cyBSYW5nZUVycm9yJyk7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIElu
ZmluaXR5LCBwb2lzb25lZCwgcG9pc29uZWQpYCB0aHJvd3MgYSBSYW5nZUVycm9yIGV4Y2VwdGlv
bicpOwogYXNzZXJ0LnRocm93cyhSYW5nZUVycm9yLCBmdW5jdGlvbigpIHsKICAgQXRvbWljcy53
YWl0QXN5bmMoaTMyYSwgLTEsIHBvaXNvbmVkLCBwb2lzb25lZCk7Ci19LCAnYEF0b21pY3Mud2Fp
dEFzeW5jKGkzMmEsIC0xLCBwb2lzb25lZCwgcG9pc29uZWQpYCB0aHJvd3MgUmFuZ2VFcnJvcicp
OworfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpMzJhLCAtMSwgcG9pc29uZWQsIHBvaXNvbmVkKWAg
dGhyb3dzIGEgUmFuZ2VFcnJvciBleGNlcHRpb24nKTsKIGFzc2VydC50aHJvd3MoUmFuZ2VFcnJv
ciwgZnVuY3Rpb24oKSB7CiAgIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDQsIHBvaXNvbmVkLCBw
b2lzb25lZCk7Ci19LCAnYEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDQsIHBvaXNvbmVkLCBwb2lz
b25lZClgIHRocm93cyBSYW5nZUVycm9yJyk7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5jKGkzMmEs
IDQsIHBvaXNvbmVkLCBwb2lzb25lZClgIHRocm93cyBhIFJhbmdlRXJyb3IgZXhjZXB0aW9uJyk7
CiBhc3NlcnQudGhyb3dzKFJhbmdlRXJyb3IsIGZ1bmN0aW9uKCkgewogICBBdG9taWNzLndhaXRB
c3luYyhpMzJhLCAyMDAsIHBvaXNvbmVkLCBwb2lzb25lZCk7Ci19LCAnYEF0b21pY3Mud2FpdEFz
eW5jKGkzMmEsIDIwMCwgcG9pc29uZWQsIHBvaXNvbmVkKWAgdGhyb3dzIFJhbmdlRXJyb3InKTsK
K30sICdgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMjAwLCBwb2lzb25lZCwgcG9pc29uZWQpYCB0
aHJvd3MgYSBSYW5nZUVycm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3BvaXNvbmVkLW9iamVjdC1mb3It
dGltZW91dC10aHJvd3MtYWdlbnQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QXRvbWljcy93YWl0QXN5bmMvcG9pc29uZWQtb2JqZWN0LWZvci10aW1lb3V0LXRocm93cy1hZ2Vu
dC5qcwppbmRleCAxMGM5NmMwNWQxZTI0ZjA0ZTlmMWI0NWE0YmQ1MzUwMjMzMzAzNzNmLi43OGU4
ZDk4YTdjMzMzZDE5MTkxYzI0MmI2NWNkYzI0M2ZjZTJkZmUwIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvcG9pc29uZWQtb2JqZWN0
LWZvci10aW1lb3V0LXRocm93cy1hZ2VudC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvcG9pc29uZWQtb2JqZWN0LWZvci10aW1lb3V0LXRo
cm93cy1hZ2VudC5qcwpAQCAtMjEsNyArMjEsNyBAQCBmbGFnczogW2FzeW5jXQogaW5jbHVkZXM6
IFthdG9taWNzSGVscGVyLmpzXQogZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luYywgU2hhcmVk
QXJyYXlCdWZmZXIsIFR5cGVkQXJyYXksIEF0b21pY3MsIGFycm93LWZ1bmN0aW9uLCBhc3luYy1m
dW5jdGlvbnNdCiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5
bmMsICdmdW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5
bmMsICdmdW5jdGlvbicsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBBdG9taWNzLndhaXRBc3luY2Ag
aXMgImZ1bmN0aW9uIicpOwogCiBjb25zdCBSVU5OSU5HID0gMTsKIApAQCAtNjgsMjEgKzY4LDIx
IEBAIGNvbnN0IGkzMmEgPSBuZXcgSW50MzJBcnJheSgKIAogJDI2Mi5hZ2VudC5zYWZlQnJvYWRj
YXN0QXN5bmMoaTMyYSwgUlVOTklORywgMSkudGhlbihhc3luYyAoYWdlbnRDb3VudCkgPT4gewog
Ci0gIGFzc2VydC5zYW1lVmFsdWUoYWdlbnRDb3VudCwgMSk7CisgIGFzc2VydC5zYW1lVmFsdWUo
YWdlbnRDb3VudCwgMSwgJ1RoZSB2YWx1ZSBvZiBgYWdlbnRDb3VudGAgaXMgMScpOwogCiAgIGFz
c2VydC5zYW1lVmFsdWUoCiAgICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAog
ICAgICdwb2lzb25lZFZhbHVlT2YnLAotICAgICdBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAw
LCBwb2lzb25lZFZhbHVlT2YpIHRocm93cycKKyAgICAnKGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVw
b3J0QXN5bmMoKSkgcmVzb2x2ZXMgdG8gdGhlIHZhbHVlICJwb2lzb25lZFZhbHVlT2YiJwogICAp
OwogCiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRB
c3luYygpLAogICAgICdwb2lzb25lZFRvUHJpbWl0aXZlJywKLSAgICAnQXRvbWljcy53YWl0QXN5
bmMoaTMyYSwgMCwgMCwgcG9pc29uZWRUb1ByaW1pdGl2ZSkgdGhyb3dzJworICAgICcoYXdhaXQg
JDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpKSByZXNvbHZlcyB0byB0aGUgdmFsdWUgInBvaXNv
bmVkVG9QcmltaXRpdmUiJwogICApOwogCi0gIGFzc2VydC5zYW1lVmFsdWUoQXRvbWljcy5ub3Rp
ZnkoaTMyYSwgMCksIDAsICdBdG9taWNzLm5vdGlmeShpMzJhLCAwKSByZXR1cm5zIDAnKTsKKyAg
YXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpMzJhLCAwKSwgMCwgJ0F0b21pY3Mubm90
aWZ5KG5ldyBJbnQzMkFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVT
X1BFUl9FTEVNRU5UICogNCkpLCAwKSBtdXN0IHJldHVybiAwJyk7CiAKIH0pLnRoZW4oJERPTkUs
ICRET05FKTsKIApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0
b21pY3Mvd2FpdEFzeW5jL3BvaXNvbmVkLW9iamVjdC1mb3ItdGltZW91dC10aHJvd3MuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvcG9pc29uZWQt
b2JqZWN0LWZvci10aW1lb3V0LXRocm93cy5qcwppbmRleCA5YTcwM2RjMTEzYjg0OTIyMzE1ZWFk
NTE4MjEwMTEzMGE1MTk2MGY5Li40NGI2YjZiYjViYjJiNDMzNzZiM2FjNmQ0OGYzYzcxMWIwNTNm
YTU1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93
YWl0QXN5bmMvcG9pc29uZWQtb2JqZWN0LWZvci10aW1lb3V0LXRocm93cy5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvcG9pc29uZWQtb2Jq
ZWN0LWZvci10aW1lb3V0LXRocm93cy5qcwpAQCAtMTksNyArMTksNyBAQCBpbmZvOiB8CiAKIGZl
YXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBTeW1ib2wsIFN5
bWJvbC50b1ByaW1pdGl2ZSwgVHlwZWRBcnJheSwgY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIEF0
b21pY3NdCiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMs
ICdmdW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMs
ICdmdW5jdGlvbicsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBBdG9taWNzLndhaXRBc3luY2AgaXMg
ImZ1bmN0aW9uIicpOwogCiBjb25zdCBpMzJhID0gbmV3IEludDMyQXJyYXkoCiAgIG5ldyBTaGFy
ZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkKQEAgLTM5LDgg
KzM5LDggQEAgY29uc3QgcG9pc29uZWRUb1ByaW1pdGl2ZSA9IHsKIAogYXNzZXJ0LnRocm93cyhU
ZXN0MjYyRXJyb3IsIGZ1bmN0aW9uKCkgewogICBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAw
LCBwb2lzb25lZFZhbHVlT2YpOwotfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCBw
b2lzb25lZFZhbHVlT2YpYCB0aHJvd3MgVGVzdDI2MkVycm9yJyk7Cit9LCAnYEF0b21pY3Mud2Fp
dEFzeW5jKGkzMmEsIDAsIDAsIHBvaXNvbmVkVmFsdWVPZilgIHRocm93cyBhIFRlc3QyNjJFcnJv
ciBleGNlcHRpb24nKTsKIAogYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9uKCkg
ewogICBBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCBwb2lzb25lZFRvUHJpbWl0aXZlKTsK
LX0sICdgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgcG9pc29uZWRUb1ByaW1pdGl2ZSlg
IHRocm93cyBUZXN0MjYyRXJyb3InKTsKK30sICdgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwg
MCwgcG9pc29uZWRUb1ByaW1pdGl2ZSlgIHRocm93cyBhIFRlc3QyNjJFcnJvciBleGNlcHRpb24n
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dh
aXRBc3luYy9yZXR1cm5zLXJlc3VsdC1vYmplY3QtdmFsdWUtaXMtcHJvbWlzZS1yZXNvbHZlcy10
by1vay5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3lu
Yy9yZXR1cm5zLXJlc3VsdC1vYmplY3QtdmFsdWUtaXMtcHJvbWlzZS1yZXNvbHZlcy10by1vay5q
cwppbmRleCBjYzhmOTU5MDBhMTMzYTJhMGNiZTcyZjQ0ZjY0M2UyOWUzY2U1ZGQ2Li4wYzZiMDAy
NzAyMWRjN2YwMWFjYWNjY2MyZDMyZTM5YTM3MmRhMWRkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvcmV0dXJucy1yZXN1bHQtb2Jq
ZWN0LXZhbHVlLWlzLXByb21pc2UtcmVzb2x2ZXMtdG8tb2suanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3JldHVybnMtcmVzdWx0LW9iamVj
dC12YWx1ZS1pcy1wcm9taXNlLXJlc29sdmVzLXRvLW9rLmpzCkBAIC00LDcgKzQsNyBAQAogLyot
LS0KIGVzaWQ6IHNlYy1hdG9taWNzLndhaXRhc3luYwogZGVzY3JpcHRpb246ID4KLSAgQXRvbWlj
cy53YWl0QXN5bmMgcmV0dXJucyBhIHJlc3VsdCBvYmplY3QgY29udGFpbmluZyBhIHByb21pc2Ug
dGhhdCByZXNvbHZlcyB0byAib2siIGFuZCBhc3luYyBpcyB0cnVlLgorICBBdG9taWNzLndhaXRB
c3luYyByZXR1cm5zIGEgcmVzdWx0IG9iamVjdCBjb250YWluaW5nIGEgcHJvcGVydHkgbmFtZWQg
InZhbHVlIiB3aG9zZSB2YWx1ZSBpcyBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byAib2siIGFu
ZCBhc3luYyBpcyB0cnVlLgogaW5mbzogfAogICBBdG9taWNzLndhaXRBc3luYyggdHlwZWRBcnJh
eSwgaW5kZXgsIHZhbHVlLCB0aW1lb3V0ICkKIApAQCAtMjUsMTkgKzI1LDIzIEBAIGluZm86IHwK
IGZsYWdzOiBbYXN5bmNdCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBUeXBlZEFycmF5
LCBTaGFyZWRBcnJheUJ1ZmZlciwgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nLCBBdG9taWNzLCBhcnJv
dy1mdW5jdGlvbl0KIC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRB
c3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRB
c3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5j
YCBpcyAiZnVuY3Rpb24iJyk7CiAKIGNvbnN0IGkzMmEgPSBuZXcgSW50MzJBcnJheSgKICAgbmV3
IFNoYXJlZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA4KQogKTsK
IAogbGV0IHthc3luYywgdmFsdWV9ID0gQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgMTAw
MCk7Ci1hc3NlcnQuc2FtZVZhbHVlKGFzeW5jLCB0cnVlKTsKLWFzc2VydCh2YWx1ZSBpbnN0YW5j
ZW9mIFByb21pc2UpOwotYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodmFs
dWUpLCBQcm9taXNlLnByb3RvdHlwZSk7Cithc3NlcnQuc2FtZVZhbHVlKGFzeW5jLCB0cnVlLCAn
VGhlIHZhbHVlIG9mIGBhc3luY2AgaXMgdHJ1ZScpOworYXNzZXJ0KHZhbHVlIGluc3RhbmNlb2Yg
UHJvbWlzZSwgJ1RoZSByZXN1bHQgb2YgZXZhbHVhdGluZyBgKHZhbHVlIGluc3RhbmNlb2YgUHJv
bWlzZSlgIGlzIHRydWUnKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5nZXRQcm90b3R5
cGVPZih2YWx1ZSksCisgIFByb21pc2UucHJvdG90eXBlLAorICAnT2JqZWN0LmdldFByb3RvdHlw
ZU9mKHZhbHVlKSBtdXN0IHJldHVybiB0aGUgdmFsdWUgb2YgUHJvbWlzZS5wcm90b3R5cGUnCisp
OwogCiB2YWx1ZS50aGVuKG91dGNvbWUgPT4gewotICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWUs
ICJvayIpOworICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWUsICJvayIsICdUaGUgdmFsdWUgb2Yg
YG91dGNvbWVgIGlzICJvayInKTsKIH0pLnRoZW4oKCkgPT4gJERPTkUoKSwgJERPTkUpOwogCiBB
dG9taWNzLmFkZChpMzJhLCAwLCAxKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9yZXR1cm5zLXJlc3VsdC1vYmplY3QtdmFsdWUt
aXMtcHJvbWlzZS1yZXNvbHZlcy10by10aW1lZC1vdXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvcmV0dXJucy1yZXN1bHQtb2JqZWN0LXZhbHVl
LWlzLXByb21pc2UtcmVzb2x2ZXMtdG8tdGltZWQtb3V0LmpzCmluZGV4IDk4ZWNkYjEyNTNiOTA2
ZDg5NTc0MTYxNTMyNzk1ZjAyZmQ4Y2UzZWUuLjUwMmEwN2FhYzRjODI3NWQ5MGQ2OWE3N2ZlM2Yx
NzZjZmQwNWE0ZmIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9B
dG9taWNzL3dhaXRBc3luYy9yZXR1cm5zLXJlc3VsdC1vYmplY3QtdmFsdWUtaXMtcHJvbWlzZS1y
ZXNvbHZlcy10by10aW1lZC1vdXQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0F0b21pY3Mvd2FpdEFzeW5jL3JldHVybnMtcmVzdWx0LW9iamVjdC12YWx1ZS1pcy1wcm9t
aXNlLXJlc29sdmVzLXRvLXRpbWVkLW91dC5qcwpAQCAtMjUsMjAgKzI1LDMxIEBAIGluZm86IHwK
IGZsYWdzOiBbYXN5bmNdCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBUeXBlZEFycmF5
LCBTaGFyZWRBcnJheUJ1ZmZlciwgZGVzdHJ1Y3R1cmluZy1iaW5kaW5nLCBBdG9taWNzLCBhcnJv
dy1mdW5jdGlvbl0KIC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRB
c3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRB
c3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5j
YCBpcyAiZnVuY3Rpb24iJyk7CiAKIGNvbnN0IGkzMmEgPSBuZXcgSW50MzJBcnJheSgKICAgbmV3
IFNoYXJlZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA4KQogKTsK
IAogbGV0IHthc3luYywgdmFsdWV9ID0gQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgMSk7
Ci1hc3NlcnQuc2FtZVZhbHVlKGFzeW5jLCB0cnVlKTsKLWFzc2VydCh2YWx1ZSBpbnN0YW5jZW9m
IFByb21pc2UpOwotYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodmFsdWUp
LCBQcm9taXNlLnByb3RvdHlwZSk7Ci0KLXZhbHVlLnRoZW4ob3V0Y29tZSA9PiB7Ci0gIGFzc2Vy
dC5zYW1lVmFsdWUob3V0Y29tZSwgInRpbWVkLW91dCIpOwotfSkudGhlbigoKSA9PiAkRE9ORSgp
LCAkRE9ORSk7Ci0KLQotCitsZXQgb3V0Y29tZSA9IG51bGw7CitsZXQgbGlmZXNwYW4gPSAxMDAw
OworbGV0IHN0YXJ0ID0gJDI2Mi5hZ2VudC5tb25vdG9uaWNOb3coKTsKKworZnVuY3Rpb24gd2Fp
dCgpIHsKKyAgbGV0IGVsYXBzZWQgPSAkMjYyLmFnZW50Lm1vbm90b25pY05vdygpIC0gc3RhcnQ7
CisgIGlmIChlbGFwc2VkID4gbGlmZXNwYW4pIHsKKyAgICAkRE9ORSgiVGVzdCB0aW1lZCBvdXQi
KTsKKyAgICByZXR1cm47CisgIH0KKyAgaWYgKG91dGNvbWUgPT09ICJ0aW1lZC1vdXQiKSB7Cisg
ICAgJERPTkUoKTsKKyAgICByZXR1cm47CisgIH0KKworICAkMjYyLmFnZW50LnNldFRpbWVvdXQo
d2FpdCwgMCk7Cit9CisKK3dhaXQoKTsKKwordmFsdWUudGhlbihyZXN1bHQgPT4gKG91dGNvbWUg
PSByZXN1bHQpLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvQXRvbWljcy93YWl0QXN5bmMvcmV0dXJucy1yZXN1bHQtb2JqZWN0LXZhbHVlLWlzLXN0
cmluZy1ub3QtZXF1YWwuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWlj
cy93YWl0QXN5bmMvcmV0dXJucy1yZXN1bHQtb2JqZWN0LXZhbHVlLWlzLXN0cmluZy1ub3QtZXF1
YWwuanMKaW5kZXggNjY3ZDNjODc2YTg0Y2M1NzM5YjhkNTczN2IwMTM1ZDY2ODA5ZTQwNi4uODkx
YWQzZTM1ZTQ5MWJkYmNkMWZiM2Y5MGY0N2Q5ZDdiNjEwMTI1MSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3JldHVybnMtcmVzdWx0
LW9iamVjdC12YWx1ZS1pcy1zdHJpbmctbm90LWVxdWFsLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9yZXR1cm5zLXJlc3VsdC1vYmplY3Qt
dmFsdWUtaXMtc3RyaW5nLW5vdC1lcXVhbC5qcwpAQCAtMjQsNyArMjQsNyBAQCBpbmZvOiB8CiAK
IGZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFR5cGVkQXJyYXksIFNoYXJlZEFycmF5QnVm
ZmVyLCBkZXN0cnVjdHVyaW5nLWJpbmRpbmcsIEF0b21pY3NdCiAtLS0qLwotYXNzZXJ0LnNhbWVW
YWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicpOworYXNzZXJ0LnNhbWVW
YWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicsICdUaGUgdmFsdWUgb2Yg
YHR5cGVvZiBBdG9taWNzLndhaXRBc3luY2AgaXMgImZ1bmN0aW9uIicpOwogCiBjb25zdCBpMzJh
ID0gbmV3IEludDMyQXJyYXkoCiAgIG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZ
VEVTX1BFUl9FTEVNRU5UICogOCkKQEAgLTMyLDUgKzMyLDUgQEAgY29uc3QgaTMyYSA9IG5ldyBJ
bnQzMkFycmF5KAogCiBsZXQge2FzeW5jLCB2YWx1ZX0gPSBBdG9taWNzLndhaXRBc3luYyhpMzJh
LCAwLCAxKTsKIAotYXNzZXJ0LnNhbWVWYWx1ZShhc3luYywgZmFsc2UpOwotYXNzZXJ0LnNhbWVW
YWx1ZSh2YWx1ZSwgIm5vdC1lcXVhbCIpOworYXNzZXJ0LnNhbWVWYWx1ZShhc3luYywgZmFsc2Us
ICdUaGUgdmFsdWUgb2YgYGFzeW5jYCBpcyBmYWxzZScpOworYXNzZXJ0LnNhbWVWYWx1ZSh2YWx1
ZSwgIm5vdC1lcXVhbCIsICdUaGUgdmFsdWUgb2YgYHZhbHVlYCBpcyAibm90LWVxdWFsIicpOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFz
eW5jL3JldHVybnMtcmVzdWx0LW9iamVjdC12YWx1ZS1pcy1zdHJpbmctdGltZWQtb3V0LmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3JldHVybnMt
cmVzdWx0LW9iamVjdC12YWx1ZS1pcy1zdHJpbmctdGltZWQtb3V0LmpzCmluZGV4IDNhYjA2NDQ1
YTVlMjI2NGI3Yjk4MTU5ZjAxYzJjY2YwMWNhYjNiZjguLjVmNTA1NDUxMDVlMDUwZTIxNzFlMGIx
NTcyNTQyNDA5ZjQwODljYTUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9BdG9taWNzL3dhaXRBc3luYy9yZXR1cm5zLXJlc3VsdC1vYmplY3QtdmFsdWUtaXMtc3Ry
aW5nLXRpbWVkLW91dC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRv
bWljcy93YWl0QXN5bmMvcmV0dXJucy1yZXN1bHQtb2JqZWN0LXZhbHVlLWlzLXN0cmluZy10aW1l
ZC1vdXQuanMKQEAgLTI0LDcgKzI0LDcgQEAgaW5mbzogfAogCiBmZWF0dXJlczogW0F0b21pY3Mu
d2FpdEFzeW5jLCBUeXBlZEFycmF5LCBTaGFyZWRBcnJheUJ1ZmZlciwgZGVzdHJ1Y3R1cmluZy1i
aW5kaW5nLCBBdG9taWNzXQogLS0tKi8KLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mu
d2FpdEFzeW5jLCAnZnVuY3Rpb24nKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mu
d2FpdEFzeW5jLCAnZnVuY3Rpb24nLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgQXRvbWljcy53YWl0
QXN5bmNgIGlzICJmdW5jdGlvbiInKTsKIAogY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KAog
ICBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDgp
CkBAIC0zMiw1ICszMiw1IEBAIGNvbnN0IGkzMmEgPSBuZXcgSW50MzJBcnJheSgKIAogbGV0IHth
c3luYywgdmFsdWV9ID0gQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgMCk7CiAKLWFzc2Vy
dC5zYW1lVmFsdWUoYXN5bmMsIGZhbHNlKTsKLWFzc2VydC5zYW1lVmFsdWUodmFsdWUsICJ0aW1l
ZC1vdXQiKTsKK2Fzc2VydC5zYW1lVmFsdWUoYXN5bmMsIGZhbHNlLCAnVGhlIHZhbHVlIG9mIGBh
c3luY2AgaXMgZmFsc2UnKTsKK2Fzc2VydC5zYW1lVmFsdWUodmFsdWUsICJ0aW1lZC1vdXQiLCAn
VGhlIHZhbHVlIG9mIGB2YWx1ZWAgaXMgInRpbWVkLW91dCInKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9zeW1ib2wtZm9yLWlu
ZGV4LXRocm93cy1hZ2VudC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9t
aWNzL3dhaXRBc3luYy9zeW1ib2wtZm9yLWluZGV4LXRocm93cy1hZ2VudC5qcwppbmRleCA0OTcx
ZTQwMTNkODg1MzMyNjdiZWExYjgyYzQ4MDdlODk0MzkxNzg5Li4yZjIyZmRkNzI1MTJkNjQ3NGE3
Y2Y4N2QxMDlkOWVmZWQ1ZjJkNzk1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvc3ltYm9sLWZvci1pbmRleC10aHJvd3MtYWdlbnQu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5j
L3N5bWJvbC1mb3ItaW5kZXgtdGhyb3dzLWFnZW50LmpzCkBAIC0zMyw3ICszMyw3IEBAIGZsYWdz
OiBbYXN5bmNdCiBpbmNsdWRlczogW2F0b21pY3NIZWxwZXIuanNdCiBmZWF0dXJlczogW0F0b21p
Y3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgU3ltYm9sLCBTeW1ib2wudG9QcmltaXRp
dmUsIFR5cGVkQXJyYXksIEF0b21pY3MsIGFycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnNd
CiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5j
dGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5j
dGlvbicsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBBdG9taWNzLndhaXRBc3luY2AgaXMgImZ1bmN0
aW9uIicpOwogCiBjb25zdCBSVU5OSU5HID0gMTsKIApAQCAtODAsMjAgKzgwLDIwIEBAIGNvbnN0
IGkzMmEgPSBuZXcgSW50MzJBcnJheSgKIAogJDI2Mi5hZ2VudC5zYWZlQnJvYWRjYXN0QXN5bmMo
aTMyYSwgUlVOTklORywgMSkudGhlbihhc3luYyAoYWdlbnRDb3VudCkgPT4gewogCi0gIGFzc2Vy
dC5zYW1lVmFsdWUoYWdlbnRDb3VudCwgMSk7CisgIGFzc2VydC5zYW1lVmFsdWUoYWdlbnRDb3Vu
dCwgMSwgJ1RoZSB2YWx1ZSBvZiBgYWdlbnRDb3VudGAgaXMgMScpOwogCiAgIGFzc2VydC5zYW1l
VmFsdWUoCiAgICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAogICAgICdBIFR5
cGVFcnJvcicsCi0gICAgJ0F0b21pY3Mud2FpdEFzeW5jKGkzMmEsIFN5bWJvbCgiMSIpLCAuLi4s
IC4uLikgdGhyb3dzIFR5cGVFcnJvcicKKyAgICAnKGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0
QXN5bmMoKSkgcmVzb2x2ZXMgdG8gdGhlIHZhbHVlICJBIFR5cGVFcnJvciInCiAgICk7CiAKICAg
YXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCks
CiAgICAgJ0IgVHlwZUVycm9yJywKLSAgICAnQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgU3ltYm9s
KCIyIiksIC4uLiwgLi4uKSB0aHJvd3MgVHlwZUVycm9yJworICAgICcoYXdhaXQgJDI2Mi5hZ2Vu
dC5nZXRSZXBvcnRBc3luYygpKSByZXNvbHZlcyB0byB0aGUgdmFsdWUgIkIgVHlwZUVycm9yIicK
ICAgKTsKIAotICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mubm90aWZ5KGkzMmEsIDApLCAwLCAn
QXRvbWljcy5ub3RpZnkoaTMyYSwgMCkgcmV0dXJucyAwJyk7CisgIGFzc2VydC5zYW1lVmFsdWUo
QXRvbWljcy5ub3RpZnkoaTMyYSwgMCksIDAsICdBdG9taWNzLm5vdGlmeShuZXcgSW50MzJBcnJh
eShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQp
KSwgMCkgbXVzdCByZXR1cm4gMCcpOwogCiB9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvc3lt
Ym9sLWZvci1pbmRleC10aHJvd3MuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QXRvbWljcy93YWl0QXN5bmMvc3ltYm9sLWZvci1pbmRleC10aHJvd3MuanMKaW5kZXggMmViNTc4
YWZmMGM5YjA5NDgxM2Y5MWY2ZGNjMDQ1YzJmNmMzZmY4Ny4uYTQ4MzBjMDU5MmE5NGJmZjJlM2Vj
MThlOWY5ZDk1ZWRlY2E2MzYyMSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3N5bWJvbC1mb3ItaW5kZXgtdGhyb3dzLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9zeW1ib2wt
Zm9yLWluZGV4LXRocm93cy5qcwpAQCAtMzEsNyArMzEsNyBAQCBpbmZvOiB8CiAKIGZlYXR1cmVz
OiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBTeW1ib2wsIFN5bWJvbC50
b1ByaW1pdGl2ZSwgVHlwZWRBcnJheSwgY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIEF0b21pY3Nd
CiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5j
dGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5j
dGlvbicsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBBdG9taWNzLndhaXRBc3luY2AgaXMgImZ1bmN0
aW9uIicpOwogCiBjb25zdCBpMzJhID0gbmV3IEludDMyQXJyYXkoCiAgIG5ldyBTaGFyZWRBcnJh
eUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UICogNCkKQEAgLTUxLDE4ICs1MSwx
OCBAQCBjb25zdCBwb2lzb25lZFRvUHJpbWl0aXZlID0gewogCiBhc3NlcnQudGhyb3dzKFRlc3Qy
NjJFcnJvciwgZnVuY3Rpb24oKSB7CiAgIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIHBvaXNvbmVk
VmFsdWVPZiwgcG9pc29uZWRWYWx1ZU9mLCBwb2lzb25lZFZhbHVlT2YpOwotfSwgJ2BBdG9taWNz
LndhaXRBc3luYyhpMzJhLCBwb2lzb25lZFZhbHVlT2YsIHBvaXNvbmVkVmFsdWVPZiwgcG9pc29u
ZWRWYWx1ZU9mKWAgdGhyb3dzIFRlc3QyNjJFcnJvcicpOworfSwgJ2BBdG9taWNzLndhaXRBc3lu
YyhpMzJhLCBwb2lzb25lZFZhbHVlT2YsIHBvaXNvbmVkVmFsdWVPZiwgcG9pc29uZWRWYWx1ZU9m
KWAgdGhyb3dzIGEgVGVzdDI2MkVycm9yIGV4Y2VwdGlvbicpOwogCiBhc3NlcnQudGhyb3dzKFRl
c3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7CiAgIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIHBvaXNv
bmVkVG9QcmltaXRpdmUsIHBvaXNvbmVkVG9QcmltaXRpdmUsIHBvaXNvbmVkVG9QcmltaXRpdmUp
OwotfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpMzJhLCBwb2lzb25lZFRvUHJpbWl0aXZlLCBwb2lz
b25lZFRvUHJpbWl0aXZlLCBwb2lzb25lZFRvUHJpbWl0aXZlKWAgdGhyb3dzIFRlc3QyNjJFcnJv
cicpOworfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpMzJhLCBwb2lzb25lZFRvUHJpbWl0aXZlLCBw
b2lzb25lZFRvUHJpbWl0aXZlLCBwb2lzb25lZFRvUHJpbWl0aXZlKWAgdGhyb3dzIGEgVGVzdDI2
MkVycm9yIGV4Y2VwdGlvbicpOwogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24o
KSB7CiAgIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIFN5bWJvbCgnMScpLCBwb2lzb25lZFZhbHVl
T2YsIHBvaXNvbmVkVmFsdWVPZik7Ci19LCAnYEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIFN5bWJv
bCgiMSIpLCBwb2lzb25lZFZhbHVlT2YsIHBvaXNvbmVkVmFsdWVPZilgIHRocm93cyBUeXBlRXJy
b3InKTsKK30sICdgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgU3ltYm9sKCIxIiksIHBvaXNvbmVk
VmFsdWVPZiwgcG9pc29uZWRWYWx1ZU9mKWAgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbicp
OwogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgIEF0b21pY3Mud2Fp
dEFzeW5jKGkzMmEsIFN5bWJvbCgnMicpLCBwb2lzb25lZFRvUHJpbWl0aXZlLCBwb2lzb25lZFRv
UHJpbWl0aXZlKTsKLX0sICdgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgU3ltYm9sKCIyIiksIHBv
aXNvbmVkVG9QcmltaXRpdmUsIHBvaXNvbmVkVG9QcmltaXRpdmUpYCB0aHJvd3MgVHlwZUVycm9y
Jyk7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIFN5bWJvbCgiMiIpLCBwb2lzb25lZFRv
UHJpbWl0aXZlLCBwb2lzb25lZFRvUHJpbWl0aXZlKWAgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2Vw
dGlvbicpOwogCiAKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9B
dG9taWNzL3dhaXRBc3luYy9zeW1ib2wtZm9yLXRpbWVvdXQtdGhyb3dzLWFnZW50LmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3N5bWJvbC1mb3It
dGltZW91dC10aHJvd3MtYWdlbnQuanMKaW5kZXggMmIyZGFjYTU2ZTU3MmVkNGU4Njg1MWQwZjc2
MmJhYTU3Y2M3NjEzOS4uMWVlMjY3YzVmNmE2M2RmNTAxMDg2MjA0MmU1ZTMxMzA1MTZjMmY3NyAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFz
eW5jL3N5bWJvbC1mb3ItdGltZW91dC10aHJvd3MtYWdlbnQuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3N5bWJvbC1mb3ItdGltZW91dC10
aHJvd3MtYWdlbnQuanMKQEAgLTIwLDcgKzIwLDcgQEAgZmxhZ3M6IFthc3luY10KIGluY2x1ZGVz
OiBbYXRvbWljc0hlbHBlci5qc10KIGZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJl
ZEFycmF5QnVmZmVyLCBTeW1ib2wsIFN5bWJvbC50b1ByaW1pdGl2ZSwgVHlwZWRBcnJheSwgQXRv
bWljcywgYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9uc10KIC0tLSovCi1hc3NlcnQuc2Ft
ZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2Ft
ZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBv
ZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiAKIGNvbnN0IFJV
Tk5JTkcgPSAxOwogCkBAIC01NSwyMSArNTUsMjEgQEAgY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFy
cmF5KAogCiAkMjYyLmFnZW50LnNhZmVCcm9hZGNhc3RBc3luYyhpMzJhLCBSVU5OSU5HLCAxKS50
aGVuKGFzeW5jIChhZ2VudENvdW50KSA9PiB7CiAKLSAgYXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENv
dW50LCAxKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCAxLCAnVGhlIHZhbHVlIG9m
IGBhZ2VudENvdW50YCBpcyAxJyk7CiAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBhd2FpdCAk
MjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCksCiAgICAgJ0EgVHlwZUVycm9yJywKLSAgICAnQXRv
bWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgU3ltYm9sKCIxIikpIHRocm93cyBUeXBlRXJyb3In
CisgICAgJyhhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCkpIHJlc29sdmVzIHRvIHRo
ZSB2YWx1ZSAiQSBUeXBlRXJyb3IiJwogICApOwogCiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAg
YXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpLAogICAgICdCIFR5cGVFcnJvcicsCi0g
ICAgJ0F0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIFN5bWJvbCgiMiIpKSB0aHJvd3MgVHlw
ZUVycm9yJworICAgICcoYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpKSByZXNvbHZl
cyB0byB0aGUgdmFsdWUgIkIgVHlwZUVycm9yIicKICAgKTsKIAotICBhc3NlcnQuc2FtZVZhbHVl
KEF0b21pY3Mubm90aWZ5KGkzMmEsIDApLCAwLCAnQXRvbWljcy5ub3RpZnkoaTMyYSwgMCkgcmV0
dXJucyAwJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoQXRvbWljcy5ub3RpZnkoaTMyYSwgMCksIDAs
ICdBdG9taWNzLm5vdGlmeShuZXcgSW50MzJBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50
MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpKSwgMCkgbXVzdCByZXR1cm4gMCcpOwogCiB9
KS50aGVuKCRET05FLCAkRE9ORSk7CiAKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9zeW1ib2wtZm9yLXRpbWVvdXQtdGhyb3dzLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3N5bWJv
bC1mb3ItdGltZW91dC10aHJvd3MuanMKaW5kZXggMGQ4YmMyOWQzN2ExNzdhY2Q0YjE1NDk2NjEw
OGI1Mjk5NTlkM2JmNi4uMDBlYjA2YmE4YTY1OWY3YzkwZjY1MGM0OTk2ZTU1ZjNiMTgyZTI1NyAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFz
eW5jL3N5bWJvbC1mb3ItdGltZW91dC10aHJvd3MuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3N5bWJvbC1mb3ItdGltZW91dC10aHJvd3Mu
anMKQEAgLTE4LDcgKzE4LDcgQEAgaW5mbzogfAogCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFz
eW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwgU3ltYm9sLCBTeW1ib2wudG9QcmltaXRpdmUsIFR5cGVk
QXJyYXksIGNvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBBdG9taWNzXQogLS0tKi8KLWFzc2VydC5z
YW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nKTsKK2Fzc2VydC5z
YW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rpb24nLCAnVGhlIHZhbHVl
IG9mIGB0eXBlb2YgQXRvbWljcy53YWl0QXN5bmNgIGlzICJmdW5jdGlvbiInKTsKIGNvbnN0IGkz
MmEgPSBuZXcgSW50MzJBcnJheSgKICAgbmV3IFNoYXJlZEFycmF5QnVmZmVyKEludDMyQXJyYXku
QllURVNfUEVSX0VMRU1FTlQgKiA0KQogKTsKQEAgLTM3LDE2ICszNywxNiBAQCBjb25zdCBwb2lz
b25lZFRvUHJpbWl0aXZlID0gewogCiBhc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rp
b24oKSB7CiAgIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIHBvaXNvbmVkVmFsdWVPZik7
Ci19LCAnYEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIHBvaXNvbmVkVmFsdWVPZilgIHRo
cm93cyBUZXN0MjYyRXJyb3InKTsKK30sICdgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwg
cG9pc29uZWRWYWx1ZU9mKWAgdGhyb3dzIGEgVGVzdDI2MkVycm9yIGV4Y2VwdGlvbicpOwogCiBh
c3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7CiAgIEF0b21pY3Mud2FpdEFz
eW5jKGkzMmEsIDAsIDAsIHBvaXNvbmVkVG9QcmltaXRpdmUpOwotfSwgJ2BBdG9taWNzLndhaXRB
c3luYyhpMzJhLCAwLCAwLCBwb2lzb25lZFRvUHJpbWl0aXZlKWAgdGhyb3dzIFRlc3QyNjJFcnJv
cicpOworfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCBwb2lzb25lZFRvUHJpbWl0
aXZlKWAgdGhyb3dzIGEgVGVzdDI2MkVycm9yIGV4Y2VwdGlvbicpOwogCiBhc3NlcnQudGhyb3dz
KFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAs
IFN5bWJvbCgiZm9vIikpOwotfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCBTeW1i
b2woImZvbyIpKWAgdGhyb3dzIFR5cGVFcnJvcicpOworfSwgJ2BBdG9taWNzLndhaXRBc3luYyhp
MzJhLCAwLCAwLCBTeW1ib2woImZvbyIpKWAgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbicp
OwogCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgIEF0b21pY3Mud2Fp
dEFzeW5jKGkzMmEsIDAsIDAsIFN5bWJvbCgiZm9vIikpOwotfSwgJ2BBdG9taWNzLndhaXRBc3lu
YyhpMzJhLCAwLCAwLCBTeW1ib2woImZvbyIpKWAgdGhyb3dzIFR5cGVFcnJvcicpOworfSwgJ2BB
dG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCBTeW1ib2woImZvbyIpKWAgdGhyb3dzIGEgVHlw
ZUVycm9yIGV4Y2VwdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3N5bWJvbC1mb3ItdmFsdWUtdGhyb3dzLWFnZW50Lmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3N5bWJv
bC1mb3ItdmFsdWUtdGhyb3dzLWFnZW50LmpzCmluZGV4IGI2MjgxY2I1MTZiZjRiMTQwNTA2NDFk
MWNlMzNlYmNkYmYzNDllYTEuLjk0ZTM1MTFkNjEwZjJlOWFkNWExZTg0NDM4NGZiMDQ3NDk4ZjZl
Y2EgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dh
aXRBc3luYy9zeW1ib2wtZm9yLXZhbHVlLXRocm93cy1hZ2VudC5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvc3ltYm9sLWZvci12YWx1ZS10
aHJvd3MtYWdlbnQuanMKQEAgLTI0LDcgKzI0LDcgQEAgZmxhZ3M6IFthc3luY10KIGluY2x1ZGVz
OiBbYXRvbWljc0hlbHBlci5qc10KIGZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMsIFNoYXJl
ZEFycmF5QnVmZmVyLCBTeW1ib2wsIFN5bWJvbC50b1ByaW1pdGl2ZSwgVHlwZWRBcnJheSwgQXRv
bWljcywgYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9uc10KIC0tLSovCi1hc3NlcnQuc2Ft
ZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2Ft
ZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBv
ZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiAKIGNvbnN0IFJV
Tk5JTkcgPSAxOwogCkBAIC03MSwyMSArNzEsMjEgQEAgY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFy
cmF5KAogCiAkMjYyLmFnZW50LnNhZmVCcm9hZGNhc3RBc3luYyhpMzJhLCBSVU5OSU5HLCAxKS50
aGVuKGFzeW5jIChhZ2VudENvdW50KSA9PiB7CiAKLSAgYXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENv
dW50LCAxKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCAxLCAnVGhlIHZhbHVlIG9m
IGBhZ2VudENvdW50YCBpcyAxJyk7CiAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBhd2FpdCAk
MjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCksCiAgICAgJ0EgVHlwZUVycm9yJywKLSAgICAnQXRv
bWljcy53YWl0QXN5bmMoaTMyYSwgMCwgU3ltYm9sKCIxIiksIC4uLikgdGhyb3dzIFR5cGVFcnJv
cicKKyAgICAnKGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSkgcmVzb2x2ZXMgdG8g
dGhlIHZhbHVlICJBIFR5cGVFcnJvciInCiAgICk7CiAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAg
ICBhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCksCiAgICAgJ0IgVHlwZUVycm9yJywK
LSAgICAnQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgU3ltYm9sKCIyIiksIC4uLikgdGhyb3dz
IFR5cGVFcnJvcicKKyAgICAnKGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSkgcmVz
b2x2ZXMgdG8gdGhlIHZhbHVlICJCIFR5cGVFcnJvciInCiAgICk7CiAKLSAgYXNzZXJ0LnNhbWVW
YWx1ZShBdG9taWNzLm5vdGlmeShpMzJhLCAwKSwgMCwgJ0F0b21pY3Mubm90aWZ5KGkzMmEsIDAp
IHJldHVybnMgMCcpOworICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mubm90aWZ5KGkzMmEsIDAp
LCAwLCAnQXRvbWljcy5ub3RpZnkobmV3IEludDMyQXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVy
KEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KSksIDApIG11c3QgcmV0dXJuIDAnKTsK
IAogfSkudGhlbigkRE9ORSwgJERPTkUpOwogCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvc3ltYm9sLWZvci12YWx1ZS10aHJvd3Mu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvc3lt
Ym9sLWZvci12YWx1ZS10aHJvd3MuanMKaW5kZXggNTMwODUwZWU4Y2FlNjEyNDEwY2MyY2I2ZWFl
NzEwM2RjY2FjZTQ4ZS4uYTgzMzY0ZGMyOGI5MGQ4NWU5NTFhYWZlNDAzOTM3NGY5YzFhY2YzYyAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFz
eW5jL3N5bWJvbC1mb3ItdmFsdWUtdGhyb3dzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy9zeW1ib2wtZm9yLXZhbHVlLXRocm93cy5qcwpA
QCAtMjIsNyArMjIsNyBAQCBpbmZvOiB8CiAKIGZlYXR1cmVzOiBbQXRvbWljcy53YWl0QXN5bmMs
IFNoYXJlZEFycmF5QnVmZmVyLCBTeW1ib2wsIFN5bWJvbC50b1ByaW1pdGl2ZSwgVHlwZWRBcnJh
eSwgY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIEF0b21pY3NdCiAtLS0qLwotYXNzZXJ0LnNhbWVW
YWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicpOworYXNzZXJ0LnNhbWVW
YWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicsICdUaGUgdmFsdWUgb2Yg
YHR5cGVvZiBBdG9taWNzLndhaXRBc3luY2AgaXMgImZ1bmN0aW9uIicpOwogY29uc3QgaTMyYSA9
IG5ldyBJbnQzMkFycmF5KAogICBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRF
U19QRVJfRUxFTUVOVCAqIDQpCiApOwpAQCAtNDEsMTYgKzQxLDE2IEBAIGNvbnN0IHBvaXNvbmVk
VG9QcmltaXRpdmUgPSB7CiAKIGFzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigp
IHsKICAgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgcG9pc29uZWRWYWx1ZU9mLCBwb2lzb25l
ZFZhbHVlT2YpOwotfSwgJ2BBdG9taWNzLndhaXRBc3luYyhpMzJhLCAwLCBwb2lzb25lZFZhbHVl
T2YsIHBvaXNvbmVkVmFsdWVPZilgIHRocm93cyBUZXN0MjYyRXJyb3InKTsKK30sICdgQXRvbWlj
cy53YWl0QXN5bmMoaTMyYSwgMCwgcG9pc29uZWRWYWx1ZU9mLCBwb2lzb25lZFZhbHVlT2YpYCB0
aHJvd3MgYSBUZXN0MjYyRXJyb3IgZXhjZXB0aW9uJyk7CiAKIGFzc2VydC50aHJvd3MoVGVzdDI2
MkVycm9yLCBmdW5jdGlvbigpIHsKICAgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgcG9pc29u
ZWRUb1ByaW1pdGl2ZSwgcG9pc29uZWRUb1ByaW1pdGl2ZSk7Ci19LCAnYEF0b21pY3Mud2FpdEFz
eW5jKGkzMmEsIDAsIHBvaXNvbmVkVG9QcmltaXRpdmUsIHBvaXNvbmVkVG9QcmltaXRpdmUpYCB0
aHJvd3MgVGVzdDI2MkVycm9yJyk7Cit9LCAnYEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIHBv
aXNvbmVkVG9QcmltaXRpdmUsIHBvaXNvbmVkVG9QcmltaXRpdmUpYCB0aHJvd3MgYSBUZXN0MjYy
RXJyb3IgZXhjZXB0aW9uJyk7CiAKIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigp
IHsKICAgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgU3ltYm9sKCJmb28iKSwgcG9pc29uZWRW
YWx1ZU9mKTsKLX0sICdgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgU3ltYm9sKCJmb28iKSwg
cG9pc29uZWRWYWx1ZU9mKWAgdGhyb3dzIFR5cGVFcnJvcicpOworfSwgJ2BBdG9taWNzLndhaXRB
c3luYyhpMzJhLCAwLCBTeW1ib2woImZvbyIpLCBwb2lzb25lZFZhbHVlT2YpYCB0aHJvd3MgYSBU
eXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAKIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlv
bigpIHsKICAgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgU3ltYm9sKCJmb28iKSwgcG9pc29u
ZWRUb1ByaW1pdGl2ZSk7Ci19LCAnYEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIFN5bWJvbCgi
Zm9vIiksIHBvaXNvbmVkVG9QcmltaXRpdmUpYCB0aHJvd3MgVHlwZUVycm9yJyk7Cit9LCAnYEF0
b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIFN5bWJvbCgiZm9vIiksIHBvaXNvbmVkVG9QcmltaXRp
dmUpYCB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvdHJ1ZS1mb3ItdGltZW91
dC1hZ2VudC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRB
c3luYy90cnVlLWZvci10aW1lb3V0LWFnZW50LmpzCmluZGV4IDk2YjViZTYzNjhiZjUwOTJhYzBj
N2Y4ODVhZjY5NDE0ZTJkNGI0Y2IuLjAzZmVhMjZkNWIwNjBjNWMxOTZjMGU3MmVkYzM4NjBkYmIz
Y2UwNDQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNz
L3dhaXRBc3luYy90cnVlLWZvci10aW1lb3V0LWFnZW50LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy90cnVlLWZvci10aW1lb3V0LWFnZW50
LmpzCkBAIC0xOCw3ICsxOCw3IEBAIGZsYWdzOiBbYXN5bmNdCiBpbmNsdWRlczogW2F0b21pY3NI
ZWxwZXIuanNdCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZl
ciwgVHlwZWRBcnJheSwgQXRvbWljcywgYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9uc10K
IC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0
aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0
aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rp
b24iJyk7CiAKIGNvbnN0IFJVTk5JTkcgPSAxOwogCkBAIC01MCwyNSArNTAsMjUgQEAgY29uc3Qg
aTMyYSA9IG5ldyBJbnQzMkFycmF5KAogKTsKICQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5j
KGkzMmEsIFJVTk5JTkcsIDEpLnRoZW4oYXN5bmMgKGFnZW50Q291bnQpID0+IHsKIAotICBhc3Nl
cnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDEpOworICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291
bnQsIDEsICdUaGUgdmFsdWUgb2YgYGFnZW50Q291bnRgIGlzIDEnKTsKIAogICBhc3NlcnQuc2Ft
ZVZhbHVlKAogICAgIGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSwKICAgICAndGlt
ZWQtb3V0JywKLSAgICAnYXdhaXQgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgZmFsc2Up
LnZhbHVlIHJlc29sdmVzIHRvICJ0aW1lZC1vdXQiJworICAgICcoYXdhaXQgJDI2Mi5hZ2VudC5n
ZXRSZXBvcnRBc3luYygpKSByZXNvbHZlcyB0byB0aGUgdmFsdWUgInRpbWVkLW91dCInCiAgICk7
CiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3lu
YygpLAogICAgICd0aW1lZC1vdXQnLAotICAgICdhd2FpdCBBdG9taWNzLndhaXRBc3luYyhpMzJh
LCAwLCAwLCB2YWx1ZU9mKS52YWx1ZSByZXNvbHZlcyB0byAidGltZWQtb3V0IicKKyAgICAnKGF3
YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSkgcmVzb2x2ZXMgdG8gdGhlIHZhbHVlICJ0
aW1lZC1vdXQiJwogICApOwogICBhc3NlcnQuc2FtZVZhbHVlKAogICAgIGF3YWl0ICQyNjIuYWdl
bnQuZ2V0UmVwb3J0QXN5bmMoKSwKICAgICAndGltZWQtb3V0JywKLSAgICAnYXdhaXQgQXRvbWlj
cy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgdG9QcmltaXRpdmUpLnZhbHVlIHJlc29sdmVzIHRvICJ0
aW1lZC1vdXQiJworICAgICcoYXdhaXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpKSByZXNv
bHZlcyB0byB0aGUgdmFsdWUgInRpbWVkLW91dCInCiAgICk7CiAKLSAgYXNzZXJ0LnNhbWVWYWx1
ZShBdG9taWNzLm5vdGlmeShpMzJhLCAwKSwgMCwgJ0F0b21pY3Mubm90aWZ5KGkzMmEsIDApIHJl
dHVybnMgMCcpOworICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mubm90aWZ5KGkzMmEsIDApLCAw
LCAnQXRvbWljcy5ub3RpZnkobmV3IEludDMyQXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKElu
dDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KSksIDApIG11c3QgcmV0dXJuIDAnKTsKIAog
fSkudGhlbigkRE9ORSwgJERPTkUpOwogCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvdHJ1ZS1mb3ItdGltZW91dC5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy90cnVlLWZvci10aW1l
b3V0LmpzCmluZGV4IDViY2M0OGRjYjAyNjRmOTAzNTczZjE0OWNlYWQzM2ZlZGZhMmE1N2MuLmYy
NGExODI1OTA1Y2I5ZjM3M2VjZjgzZDRkMWRjM2FhYzExYTlkNzEgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy90cnVlLWZvci10aW1l
b3V0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRB
c3luYy90cnVlLWZvci10aW1lb3V0LmpzCkBAIC0xOSw3ICsxOSw3IEBAIGluZm86IHwKIGZsYWdz
OiBbYXN5bmNdCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZl
ciwgVHlwZWRBcnJheSwgQXRvbWljcywgY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIFN5bWJvbCwg
U3ltYm9sLnRvUHJpbWl0aXZlLCBhcnJvdy1mdW5jdGlvbl0KIC0tLSovCi1hc3NlcnQuc2FtZVZh
bHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZh
bHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBg
dHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiBjb25zdCBpMzJhID0g
bmV3IEludDMyQXJyYXkoCiAgIG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVT
X1BFUl9FTEVNRU5UICogNCkKICk7CkBAIC0zNiwxMiArMzYsMjkgQEAgY29uc3QgdG9QcmltaXRp
dmUgPSB7CiAgIH0KIH07CiAKK2xldCBvdXRjb21lcyA9IFtdOworbGV0IGxpZmVzcGFuID0gMTAw
MDsKK2xldCBzdGFydCA9ICQyNjIuYWdlbnQubW9ub3RvbmljTm93KCk7CisKKyhmdW5jdGlvbiB3
YWl0KCkgeworICBsZXQgZWxhcHNlZCA9ICQyNjIuYWdlbnQubW9ub3RvbmljTm93KCkgLSBzdGFy
dDsKKyAgaWYgKGVsYXBzZWQgPiBsaWZlc3BhbikgeworICAgICRET05FKCJUZXN0IHRpbWVkIG91
dCIpOworICAgIHJldHVybjsKKyAgfQorICBpZiAob3V0Y29tZXMubGVuZ3RoKSB7CisgICAgYXNz
ZXJ0LnNhbWVWYWx1ZShvdXRjb21lc1swXSwgJ3RpbWVkLW91dCcsICdUaGUgdmFsdWUgb2Ygb3V0
Y29tZXNbMF0gaXMgInRpbWVkLW91dCInKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWVz
WzFdLCAndGltZWQtb3V0JywgJ1RoZSB2YWx1ZSBvZiBvdXRjb21lc1sxXSBpcyAidGltZWQtb3V0
IicpOworICAgIGFzc2VydC5zYW1lVmFsdWUob3V0Y29tZXNbMl0sICd0aW1lZC1vdXQnLCAnVGhl
IHZhbHVlIG9mIG91dGNvbWVzWzJdIGlzICJ0aW1lZC1vdXQiJyk7CisgICAgJERPTkUoKTsKKyAg
ICByZXR1cm47CisgIH0KKworICAkMjYyLmFnZW50LnNldFRpbWVvdXQod2FpdCwgMCk7Cit9KSgp
OworCiBQcm9taXNlLmFsbChbCiAgICAgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgdHJ1
ZSkudmFsdWUsCiAgICAgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgdmFsdWVPZikudmFs
dWUsCiAgICAgQXRvbWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgdG9QcmltaXRpdmUpLnZhbHVl
LAotICBdKS50aGVuKG91dGNvbWVzID0+IHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWVz
WzBdLCAndGltZWQtb3V0Jyk7Ci0gICAgYXNzZXJ0LnNhbWVWYWx1ZShvdXRjb21lc1sxXSwgJ3Rp
bWVkLW91dCcpOwotICAgIGFzc2VydC5zYW1lVmFsdWUob3V0Y29tZXNbMl0sICd0aW1lZC1vdXQn
KTsKLSAgfSkudGhlbigkRE9ORSwgJERPTkUpOworICBdKS50aGVuKHJlc3VsdHMgPT4gKG91dGNv
bWVzID0gcmVzdWx0cyksICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy91bmRlZmluZWQtZm9yLXRpbWVvdXQtYWdlbnQu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvdW5k
ZWZpbmVkLWZvci10aW1lb3V0LWFnZW50LmpzCmluZGV4IDQ0YTEzNzc3ZjFhYzY4YTg2ODY4Yzc2
Yjc1Y2NiOTU1NDk2YWVhZjkuLmRkZGE5MjgwZmE0NmY1ZTFkNjIyMTAwYmIwNDZmYWNmYWY2NTll
ZDIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dh
aXRBc3luYy91bmRlZmluZWQtZm9yLXRpbWVvdXQtYWdlbnQuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3VuZGVmaW5lZC1mb3ItdGltZW91
dC1hZ2VudC5qcwpAQCAtMjIsNyArMjIsNyBAQCBmbGFnczogW2FzeW5jXQogaW5jbHVkZXM6IFth
dG9taWNzSGVscGVyLmpzXQogZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luYywgU2hhcmVkQXJy
YXlCdWZmZXIsIFR5cGVkQXJyYXksIEF0b21pY3MsIGFycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5j
dGlvbnNdCiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMs
ICdmdW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWljcy53YWl0QXN5bmMs
ICdmdW5jdGlvbicsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBBdG9taWNzLndhaXRBc3luY2AgaXMg
ImZ1bmN0aW9uIicpOwogCiBjb25zdCBXQUlUX0lOREVYID0gMDsKIGNvbnN0IFJVTk5JTkcgPSAx
OwpAQCAtNTcsMTIgKzU3LDEyIEBAIGNvbnN0IGkzMmEgPSBuZXcgSW50MzJBcnJheSgKIAogJDI2
Mi5hZ2VudC5zYWZlQnJvYWRjYXN0QXN5bmMoaTMyYSwgUlVOTklORywgTlVNQUdFTlQpLnRoZW4o
YXN5bmMgKGFnZW50Q291bnQpID0+IHsKIAotICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQs
IE5VTUFHRU5UKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShhZ2VudENvdW50LCBOVU1BR0VOVCwgJ1Ro
ZSB2YWx1ZSBvZiBgYWdlbnRDb3VudGAgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9m
IE5VTUFHRU5UJyk7CiAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBBdG9taWNzLm5vdGlmeShp
MzJhLCBXQUlUX0lOREVYLCBOT1RJRllDT1VOVCksCiAgICAgTk9USUZZQ09VTlQsCi0gICAgJ0F0
b21pY3Mubm90aWZ5KGkzMmEsIFdBSVRfSU5ERVgsIE5PVElGWUNPVU5UKSByZXR1cm5zIHRoZSB2
YWx1ZSBvZiBgTk9USUZZQ09VTlRgICgyKScKKyAgICAnQXRvbWljcy5ub3RpZnkobmV3IEludDMy
QXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQg
KiA0KSksIDAsIDIpIG11c3QgcmV0dXJuIHRoZSB2YWx1ZSBvZiBOT1RJRllDT1VOVCcKICAgKTsK
IAogICBjb25zdCByZXBvcnRzID0gWwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3VuZGVmaW5lZC1mb3ItdGltZW91dC5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy91bmRlZmluZWQt
Zm9yLXRpbWVvdXQuanMKaW5kZXggYmZmYzA2ZDJiMDFhOWJkOWFkZDg3NDdmNjQwNmY4MWU1OTg5
ODk0YS4uNjAxNWM1NTFiNmIxMjYxYWU4ZmUwYTUwODBjZTQ1NTU2NTRmNjQ5ZCAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3VuZGVm
aW5lZC1mb3ItdGltZW91dC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QXRvbWljcy93YWl0QXN5bmMvdW5kZWZpbmVkLWZvci10aW1lb3V0LmpzCkBAIC0xOSwyNSArMTks
MTMgQEAgaW5mbzogfAogICA1LklmIHEgaXMgTmFOLCBsZXQgdCBiZSAr4oieLCBlbHNlIGxldCB0
IGJlIG1heChxLCAwKQogCiBmbGFnczogW2FzeW5jXQotaW5jbHVkZXM6IFthdG9taWNzSGVscGVy
LmpzXQogZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luYywgU2hhcmVkQXJyYXlCdWZmZXIsIFR5
cGVkQXJyYXksIEF0b21pY3MsIGNvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBTeW1ib2wsIFN5bWJv
bC50b1ByaW1pdGl2ZSwgYXJyb3ctZnVuY3Rpb25dCiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1ZSh0
eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0
eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicsICdUaGUgdmFsdWUgb2YgYHR5cGVv
ZiBBdG9taWNzLndhaXRBc3luY2AgaXMgImZ1bmN0aW9uIicpOwogY29uc3QgaTMyYSA9IG5ldyBJ
bnQzMkFycmF5KAogICBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJf
RUxFTUVOVCAqIDQpCiApOwogCi0kMjYyLmFnZW50LnN0YXJ0KGAKLSAgJDI2Mi5hZ2VudC5yZWNl
aXZlQnJvYWRjYXN0KGFzeW5jIChzYWIpID0+IHsKLSAgICB2YXIgaTMyYSA9IG5ldyBJbnQzMkFy
cmF5KHNhYik7Ci0gICAgJDI2Mi5hZ2VudC5zbGVlcCgxMDAwKTsKLSAgICBBdG9taWNzLm5vdGlm
eShpMzJhLCAwLCA0KTsKLSAgICAkMjYyLmFnZW50LmxlYXZpbmcoKTsKLSAgfSk7Ci1gKTsKLQot
JDI2Mi5hZ2VudC5zYWZlQnJvYWRjYXN0KGkzMmEpOwotCiBjb25zdCB2YWx1ZU9mID0gewogICB2
YWx1ZU9mKCkgewogICAgIHJldHVybiB1bmRlZmluZWQ7CkBAIC01NCwxMCArNDIsMTIgQEAgUHJv
bWlzZS5hbGwoWwogICAgIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDApLnZhbHVlLAogICAg
IEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDAsIHVuZGVmaW5lZCkudmFsdWUsCiAgICAgQXRv
bWljcy53YWl0QXN5bmMoaTMyYSwgMCwgMCwgdmFsdWVPZikudmFsdWUsCi0gICAgQXRvbWljcy53
YWl0QXN5bmMoaTMyYSwgMCwgMCwgdG9QcmltaXRpdmUpLnZhbHVlLAorICAgIEF0b21pY3Mud2Fp
dEFzeW5jKGkzMmEsIDAsIDAsIHRvUHJpbWl0aXZlKS52YWx1ZQogICBdKS50aGVuKG91dGNvbWVz
ID0+IHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWVzWzBdLCAnb2snKTsKLSAgICBhc3Nl
cnQuc2FtZVZhbHVlKG91dGNvbWVzWzFdLCAnb2snKTsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKG91
dGNvbWVzWzJdLCAnb2snKTsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWVzWzNdLCAnb2sn
KTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWVzWzBdLCAnb2snLCAnVGhlIHZhbHVlIG9m
IG91dGNvbWVzWzBdIGlzICJvayInKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWVzWzFd
LCAnb2snLCAnVGhlIHZhbHVlIG9mIG91dGNvbWVzWzFdIGlzICJvayInKTsKKyAgICBhc3NlcnQu
c2FtZVZhbHVlKG91dGNvbWVzWzJdLCAnb2snLCAnVGhlIHZhbHVlIG9mIG91dGNvbWVzWzJdIGlz
ICJvayInKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWVzWzNdLCAnb2snLCAnVGhlIHZh
bHVlIG9mIG91dGNvbWVzWzNdIGlzICJvayInKTsKICAgfSkudGhlbigkRE9ORSwgJERPTkUpOwor
CitBdG9taWNzLm5vdGlmeShpMzJhLCAwKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy91bmRlZmluZWQtaW5kZXgtZGVmYXVsdHMt
dG8temVyby1hZ2VudC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNz
L3dhaXRBc3luYy91bmRlZmluZWQtaW5kZXgtZGVmYXVsdHMtdG8temVyby1hZ2VudC5qcwppbmRl
eCBhYTRhYmFlMzZlYmRlOTdkZTgzYWQwMDQ0NDkzMjhiNWY3MWI5YTRlLi5lYTIxOWZiMTQ4MWRh
YjYzNzZhYWViZjBhMzQ2Y2Q0OWNmZTZhZGZkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvdW5kZWZpbmVkLWluZGV4LWRlZmF1bHRz
LXRvLXplcm8tYWdlbnQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0
b21pY3Mvd2FpdEFzeW5jL3VuZGVmaW5lZC1pbmRleC1kZWZhdWx0cy10by16ZXJvLWFnZW50Lmpz
CkBAIC0yNiw3ICsyNiw3IEBAIGZsYWdzOiBbYXN5bmNdCiBpbmNsdWRlczogW2F0b21pY3NIZWxw
ZXIuanNdCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJheUJ1ZmZlciwg
VHlwZWRBcnJheSwgQXRvbWljcywgYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9uc10KIC0t
LSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9u
Jyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9u
JywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24i
Jyk7CiAKIGNvbnN0IFdBSVRfSU5ERVggPSAwOwogY29uc3QgUlVOTklORyA9IDE7CkBAIC01OSwx
MiArNTksMTIgQEAgY29uc3QgaTMyYSA9IG5ldyBJbnQzMkFycmF5KAogCiAkMjYyLmFnZW50LnNh
ZmVCcm9hZGNhc3RBc3luYyhpMzJhLCBSVU5OSU5HLCBOVU1BR0VOVCkudGhlbihhc3luYyAoYWdl
bnRDb3VudCkgPT4gewogCi0gIGFzc2VydC5zYW1lVmFsdWUoYWdlbnRDb3VudCwgTlVNQUdFTlQp
OworICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIE5VTUFHRU5ULCAnVGhlIHZhbHVlIG9m
IGBhZ2VudENvdW50YCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgTlVNQUdFTlQn
KTsKIAogICBhc3NlcnQuc2FtZVZhbHVlKAogICAgIEF0b21pY3Mubm90aWZ5KGkzMmEsIFdBSVRf
SU5ERVgsIE5PVElGWUNPVU5UKSwKICAgICBOT1RJRllDT1VOVCwKLSAgICAnQXRvbWljcy5ub3Rp
ZnkoaTMyYSwgV0FJVF9JTkRFWCwgTk9USUZZQ09VTlQpIHJldHVybnMgdGhlIHZhbHVlIG9mIGBO
T1RJRllDT1VOVGAgKDIpJworICAgICdBdG9taWNzLm5vdGlmeShuZXcgSW50MzJBcnJheShuZXcg
U2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAqIDQpKSwgMCwg
MikgbXVzdCByZXR1cm4gdGhlIHZhbHVlIG9mIE5PVElGWUNPVU5UJwogICApOwogCiAgIGNvbnN0
IHJlcG9ydHMgPSBbCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QXRvbWljcy93YWl0QXN5bmMvdmFsaWRhdGUtYXJyYXl0eXBlLWJlZm9yZS1pbmRleC1jb2VyY2lv
bi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy92
YWxpZGF0ZS1hcnJheXR5cGUtYmVmb3JlLWluZGV4LWNvZXJjaW9uLmpzCmluZGV4IGE3MzQ2ZWRm
MjAyNDAyYjQzZGFjNDAwZGVmNDFkZDM0MTc5MzM5YjkuLmYzOWRkODBmMTRhOGM5ZmIyNzMxNGU2
ZTE0YzYwMmU2MjM4NTcwNzkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9BdG9taWNzL3dhaXRBc3luYy92YWxpZGF0ZS1hcnJheXR5cGUtYmVmb3JlLWluZGV4LWNv
ZXJjaW9uLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dh
aXRBc3luYy92YWxpZGF0ZS1hcnJheXR5cGUtYmVmb3JlLWluZGV4LWNvZXJjaW9uLmpzCkBAIC0y
OSwxMSArMjksMTEgQEAgaW5mbzogfAogCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBB
dG9taWNzLCBUeXBlZEFycmF5LCBTaGFyZWRBcnJheUJ1ZmZlcl0KIC0tLSovCi1hc3NlcnQuc2Ft
ZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2Ft
ZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBv
ZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiAKIGNvbnN0IGlu
ZGV4ID0gewogICB2YWx1ZU9mKCkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoImluZGV4
IGNvZXJjZWQiKTsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7CiAgIH0KIH07CiAKQEAg
LTQ2LDUgKzQ2LDUgQEAgZm9yIChjb25zdCBub25TaGFyZWRBcnJheVR5cGUgb2Ygbm9uU2hhcmVk
QXJyYXlUeXBlcykgewogICBjb25zdCB0eXBlZEFycmF5ID0gbmV3IG5vblNoYXJlZEFycmF5VHlw
ZShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoOCkpOwogICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
ZnVuY3Rpb24oKSB7CiAgICAgQXRvbWljcy53YWl0QXN5bmModHlwZWRBcnJheSwgaW5kZXgsIDAs
IDApOwotICB9KTsKKyAgfSwgJ2BBdG9taWNzLndhaXRBc3luYyh0eXBlZEFycmF5LCBpbmRleCwg
MCwgMClgIHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKIH0KZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy92YWxpZGF0ZS1h
cnJheXR5cGUtYmVmb3JlLXRpbWVvdXQtY29lcmNpb24uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvdmFsaWRhdGUtYXJyYXl0eXBlLWJlZm9yZS10
aW1lb3V0LWNvZXJjaW9uLmpzCmluZGV4IDRhY2E0NWRkOGViZWZhYjdiMmMwODFjNmE3Nzc1ODM5
YzU1MGVlODYuLjExNzRlZTJkNThlNTQwNWYwYmI5NmNmOTI1ZTA0ZWExZjliNGJlNDkgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy92
YWxpZGF0ZS1hcnJheXR5cGUtYmVmb3JlLXRpbWVvdXQtY29lcmNpb24uanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3ZhbGlkYXRlLWFycmF5
dHlwZS1iZWZvcmUtdGltZW91dC1jb2VyY2lvbi5qcwpAQCAtMjksMTEgKzI5LDExIEBAIGluZm86
IHwKIAogZmVhdHVyZXM6IFtBdG9taWNzLndhaXRBc3luYywgQXRvbWljcywgVHlwZWRBcnJheSwg
U2hhcmVkQXJyYXlCdWZmZXJdCiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWlj
cy53YWl0QXN5bmMsICdmdW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQXRvbWlj
cy53YWl0QXN5bmMsICdmdW5jdGlvbicsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBBdG9taWNzLndh
aXRBc3luY2AgaXMgImZ1bmN0aW9uIicpOwogCiBjb25zdCB0aW1lb3V0ID0gewogICB2YWx1ZU9m
KCkgewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoInRpbWVvdXQgY29lcmNlZCIpOworICAg
IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoKTsKICAgfQogfTsKIApAQCAtNDYsNSArNDYsNSBAQCBm
b3IgKGNvbnN0IG5vblNoYXJlZEFycmF5VHlwZSBvZiBub25TaGFyZWRBcnJheVR5cGVzKSB7CiAg
IGNvbnN0IHR5cGVkQXJyYXkgPSBuZXcgbm9uU2hhcmVkQXJyYXlUeXBlKG5ldyBTaGFyZWRBcnJh
eUJ1ZmZlcig4KSk7CiAgIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAg
ICBBdG9taWNzLndhaXRBc3luYyh0eXBlZEFycmF5LCAwLCAwLCB0aW1lb3V0KTsKLSAgfSk7Cisg
IH0sICdgQXRvbWljcy53YWl0QXN5bmModHlwZWRBcnJheSwgMCwgMCwgdGltZW91dClgIHRocm93
cyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy92YWxpZGF0ZS1hcnJheXR5cGUtYmVm
b3JlLXZhbHVlLWNvZXJjaW9uLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0
b21pY3Mvd2FpdEFzeW5jL3ZhbGlkYXRlLWFycmF5dHlwZS1iZWZvcmUtdmFsdWUtY29lcmNpb24u
anMKaW5kZXggZGYyZjQ5MGIzOTkyZTMxMDQ2MjhkMGZlZGVkYjljNDRjMjA5YTNhZi4uZTU2NzQy
OTkxZGZiNzZmYjAxNzllYzFhODcwNTQxMmI4ODRmZDFmOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3ZhbGlkYXRlLWFycmF5dHlw
ZS1iZWZvcmUtdmFsdWUtY29lcmNpb24uanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3ZhbGlkYXRlLWFycmF5dHlwZS1iZWZvcmUtdmFsdWUt
Y29lcmNpb24uanMKQEAgLTI5LDExICsyOSwxMSBAQCBpbmZvOiB8CiAKIGZlYXR1cmVzOiBbQXRv
bWljcy53YWl0QXN5bmMsIEF0b21pY3MsIFR5cGVkQXJyYXksIFNoYXJlZEFycmF5QnVmZmVyXQog
LS0tKi8KLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rp
b24nKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jLCAnZnVuY3Rp
b24nLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgQXRvbWljcy53YWl0QXN5bmNgIGlzICJmdW5jdGlv
biInKTsKIAogY29uc3QgdmFsdWUgPSB7CiAgIHZhbHVlT2YoKSB7Ci0gICAgdGhyb3cgbmV3IFRl
c3QyNjJFcnJvcigidmFsdWUgY29lcmNlZCIpOworICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
KTsKICAgfQogfTsKIApAQCAtNDYsNSArNDYsNSBAQCBmb3IgKGNvbnN0IG5vblNoYXJlZEFycmF5
VHlwZSBvZiBub25TaGFyZWRBcnJheVR5cGVzKSB7CiAgIGNvbnN0IHR5cGVkQXJyYXkgPSBuZXcg
bm9uU2hhcmVkQXJyYXlUeXBlKG5ldyBTaGFyZWRBcnJheUJ1ZmZlcig4KSk7CiAgIGFzc2VydC50
aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAgICBBdG9taWNzLndhaXRBc3luYyh0eXBl
ZEFycmF5LCAwLCB2YWx1ZSwgMCk7Ci0gIH0pOworICB9LCAnYEF0b21pY3Mud2FpdEFzeW5jKHR5
cGVkQXJyYXksIDAsIHZhbHVlLCAwKWAgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwog
fQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2Fp
dEFzeW5jL3ZhbHVlLW5vdC1lcXVhbC1hZ2VudC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy92YWx1ZS1ub3QtZXF1YWwtYWdlbnQuanMKaW5kZXgg
MTZkMjYxZjIyNjQ3MjcyM2YxMDI2OGJiOWQ2ZTczYzM0MTI0NzJjZC4uNDBjNGZiNWQyYTZiOGM5
ZjI5ZWNmYjFjOGE2Yjg1OTExNTRhNjk1NyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0F0b21pY3Mvd2FpdEFzeW5jL3ZhbHVlLW5vdC1lcXVhbC1hZ2VudC5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvdmFs
dWUtbm90LWVxdWFsLWFnZW50LmpzCkBAIC0yNCw3ICsyNCw3IEBAIGZsYWdzOiBbYXN5bmNdCiBp
bmNsdWRlczogW2F0b21pY3NIZWxwZXIuanNdCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5j
LCBTaGFyZWRBcnJheUJ1ZmZlciwgVHlwZWRBcnJheSwgQXRvbWljcywgYXJyb3ctZnVuY3Rpb24s
IGFzeW5jLWZ1bmN0aW9uc10KIC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNz
LndhaXRBc3luYywgJ2Z1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNz
LndhaXRBc3luYywgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2Fp
dEFzeW5jYCBpcyAiZnVuY3Rpb24iJyk7CiAKIGNvbnN0IFJVTk5JTkcgPSAxOwogY29uc3QgdmFs
dWUgPSA0MjsKQEAgLTQ2LDIxICs0NiwyMSBAQCBjb25zdCBpMzJhID0gbmV3IEludDMyQXJyYXko
CiAKICQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5jKGkzMmEsIFJVTk5JTkcsIDEpLnRoZW4o
YXN5bmMgKGFnZW50Q291bnQpID0+IHsKIAotICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQs
IDEpOworICBhc3NlcnQuc2FtZVZhbHVlKGFnZW50Q291bnQsIDEsICdUaGUgdmFsdWUgb2YgYGFn
ZW50Q291bnRgIGlzIDEnKTsKIAogICBhc3NlcnQuc2FtZVZhbHVlKAogICAgIGF3YWl0ICQyNjIu
YWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSwKLSAgICB2YWx1ZS50b1N0cmluZygpLAotICAgICdBdG9t
aWNzLnN0b3JlKGkzMmEsIDAsICR7dmFsdWV9KSByZXR1cm5zIDQyJworICAgICc0MicsCisgICAg
Jyhhd2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCkpIHJlc29sdmVzIHRvIHRoZSB2YWx1
ZSAiNDIiJwogICApOwogICBhc3NlcnQuc2FtZVZhbHVlKAogICAgIGF3YWl0ICQyNjIuYWdlbnQu
Z2V0UmVwb3J0QXN5bmMoKSwKICAgICAnbm90LWVxdWFsJywKLSAgICAnQXRvbWljcy53YWl0QXN5
bmMoaTMyYSwgMCwgMCkudmFsdWUgcmVzb2x2ZXMgdG8gIm5vdC1lcXVhbCInCisgICAgJyhhd2Fp
dCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCkpIHJlc29sdmVzIHRvIHRoZSB2YWx1ZSAibm90
LWVxdWFsIicKICAgKTsKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBBdG9taWNzLm5vdGlmeShp
MzJhLCAwLCAxKSwKICAgICAwLAotICAgICdBdG9taWNzLm5vdGlmeShpMzJhLCAwLCAxKSByZXR1
cm5zIDAgKG5vdGhpbmcgdG8gbm90aWZ5KScKKyAgICAnQXRvbWljcy5ub3RpZnkobmV3IEludDMy
QXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQg
KiA0KSksIDAsIDEpIG11c3QgcmV0dXJuIDAnCiAgICk7CiB9KS50aGVuKCRET05FLCAkRE9ORSk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0
QXN5bmMvdmFsdWUtbm90LWVxdWFsLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0F0b21pY3Mvd2FpdEFzeW5jL3ZhbHVlLW5vdC1lcXVhbC5qcwppbmRleCA2MjEwOTgyNTU0NzE5
OGVhMWJiYzAzY2EwY2ExMzFkMTRlYmM0MjBiLi5jMTcxOTdiYjE4YjZmMTFkZGI5MTg1NmMxM2E3
ZDc5MmYyYWNlZGUwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
QXRvbWljcy93YWl0QXN5bmMvdmFsdWUtbm90LWVxdWFsLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy92YWx1ZS1ub3QtZXF1YWwuanMKQEAg
LTIzLDcgKzIzLDcgQEAgaW5mbzogfAogZmxhZ3M6IFthc3luY10KIGZlYXR1cmVzOiBbQXRvbWlj
cy53YWl0QXN5bmMsIFNoYXJlZEFycmF5QnVmZmVyLCBUeXBlZEFycmF5LCBjb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lcywgU3ltYm9sLCBTeW1ib2wudG9QcmltaXRpdmUsIEF0b21pY3MsIGFycm93LWZ1
bmN0aW9uXQogLS0tKi8KLWFzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5j
LCAnZnVuY3Rpb24nKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIEF0b21pY3Mud2FpdEFzeW5j
LCAnZnVuY3Rpb24nLCAnVGhlIHZhbHVlIG9mIGB0eXBlb2YgQXRvbWljcy53YWl0QXN5bmNgIGlz
ICJmdW5jdGlvbiInKTsKIGNvbnN0IGkzMmEgPSBuZXcgSW50MzJBcnJheSgKICAgbmV3IFNoYXJl
ZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA0KQogKTsKQEAgLTQ0
LDYgKzQ0LDYgQEAgUHJvbWlzZS5hbGwoWwogICAgIEF0b21pY3Muc3RvcmUoaTMyYSwgMCwgNDIp
LAogICAgIEF0b21pY3Mud2FpdEFzeW5jKGkzMmEsIDAsIDApLnZhbHVlLAogICBdKS50aGVuKG91
dGNvbWVzID0+IHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKG91dGNvbWVzWzBdLCA0Mik7Ci0gICAg
YXNzZXJ0LnNhbWVWYWx1ZShvdXRjb21lc1sxXSwgJ25vdC1lcXVhbCcpOworICAgIGFzc2VydC5z
YW1lVmFsdWUob3V0Y29tZXNbMF0sIDQyLCAnVGhlIHZhbHVlIG9mIG91dGNvbWVzWzBdIGlzIDQy
Jyk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShvdXRjb21lc1sxXSwgJ25vdC1lcXVhbCcsICdUaGUg
dmFsdWUgb2Ygb3V0Y29tZXNbMV0gaXMgIm5vdC1lcXVhbCInKTsKICAgfSkudGhlbigkRE9ORSwg
JERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21p
Y3Mvd2FpdEFzeW5jL3dhaXRlcmxpc3QtYmxvY2staW5kZXhlZHBvc2l0aW9uLXdha2UuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvd2FpdGVybGlz
dC1ibG9jay1pbmRleGVkcG9zaXRpb24td2FrZS5qcwppbmRleCAwOWE1NWIyZmJkYTdjNWM0Zjg5
MDIyMTAyYzc4NDdmZWUyNDFiNjM5Li41NzcwNjk5MTk5YzZlNGNhNDY2MTI0Yjg5M2U1OWY3ODE2
MjdlZTc4IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWlj
cy93YWl0QXN5bmMvd2FpdGVybGlzdC1ibG9jay1pbmRleGVkcG9zaXRpb24td2FrZS5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvd2FpdGVy
bGlzdC1ibG9jay1pbmRleGVkcG9zaXRpb24td2FrZS5qcwpAQCAtMjQsNyArMjQsNyBAQCBmbGFn
czogW2FzeW5jXQogaW5jbHVkZXM6IFthdG9taWNzSGVscGVyLmpzXQogZmVhdHVyZXM6IFtBdG9t
aWNzLndhaXRBc3luYywgU2hhcmVkQXJyYXlCdWZmZXIsIFR5cGVkQXJyYXksIEF0b21pY3MsIGFy
cm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnNdCiAtLS0qLwotYXNzZXJ0LnNhbWVWYWx1ZSh0
eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicpOworYXNzZXJ0LnNhbWVWYWx1ZSh0
eXBlb2YgQXRvbWljcy53YWl0QXN5bmMsICdmdW5jdGlvbicsICdUaGUgdmFsdWUgb2YgYHR5cGVv
ZiBBdG9taWNzLndhaXRBc3luY2AgaXMgImZ1bmN0aW9uIicpOwogCiBjb25zdCBOVU1BR0VOVCA9
IDI7CiBjb25zdCBSVU5OSU5HID0gNDsKQEAgLTU3LDI4ICs1NywyOCBAQCBjb25zdCBpMzJhID0g
bmV3IEludDMyQXJyYXkoCiAKICQyNjIuYWdlbnQuc2FmZUJyb2FkY2FzdEFzeW5jKGkzMmEsIFJV
Tk5JTkcsIE5VTUFHRU5UKS50aGVuKGFzeW5jIChhZ2VudENvdW50KSA9PiB7CiAKLSAgYXNzZXJ0
LnNhbWVWYWx1ZShhZ2VudENvdW50LCBOVU1BR0VOVCk7CisgIGFzc2VydC5zYW1lVmFsdWUoYWdl
bnRDb3VudCwgTlVNQUdFTlQsICdUaGUgdmFsdWUgb2YgYGFnZW50Q291bnRgIGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBOVU1BR0VOVCcpOwogCiAgIC8vIE5vdGlmeSBpbmRleCAx
LCBub3RpZmllcyBub3RoaW5nCi0gIGFzc2VydC5zYW1lVmFsdWUoQXRvbWljcy5ub3RpZnkoaTMy
YSwgMSksIDAsICdBdG9taWNzLm5vdGlmeShpMzJhLCAxKSByZXR1cm5zIDAnKTsKKyAgYXNzZXJ0
LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpMzJhLCAxKSwgMCwgJ0F0b21pY3Mubm90aWZ5KG5l
dyBJbnQzMkFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9F
TEVNRU5UICogNSkpLCAxKSBtdXN0IHJldHVybiAwJyk7CiAKICAgLy8gTm90aWZ5IGluZGV4IDMs
IG5vdGlmaWVzIG5vdGhpbmcKLSAgYXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpMzJh
LCAzKSwgMCwgJ0F0b21pY3Mubm90aWZ5KGkzMmEsIDMpIHJldHVybnMgMCcpOworICBhc3NlcnQu
c2FtZVZhbHVlKEF0b21pY3Mubm90aWZ5KGkzMmEsIDMpLCAwLCAnQXRvbWljcy5ub3RpZnkobmV3
IEludDMyQXJyYXkobmV3IFNoYXJlZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VM
RU1FTlQgKiA1KSksIDMpIG11c3QgcmV0dXJuIDAnKTsKIAogICAvLyBOb3RpZnkgaW5kZXggMiwg
bm90aWZpZXMgMQotICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mubm90aWZ5KGkzMmEsIDIpLCAx
LCAnQXRvbWljcy5ub3RpZnkoaTMyYSwgMikgcmV0dXJucyAxJyk7CisgIGFzc2VydC5zYW1lVmFs
dWUoQXRvbWljcy5ub3RpZnkoaTMyYSwgMiksIDEsICdBdG9taWNzLm5vdGlmeShuZXcgSW50MzJB
cnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCAq
IDUpKSwgMikgbXVzdCByZXR1cm4gMScpOwogICBhc3NlcnQuc2FtZVZhbHVlKAogICAgIGF3YWl0
ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSwKICAgICAnb2snLAotICAgICdhd2FpdCBBdG9t
aWNzLndhaXRBc3luYyhpMzJhLCAwLCAwLCBJbmZpbml0eSkudmFsdWUgcmVzb2x2ZXMgdG8gIm9r
IicKKyAgICAnKGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSkgcmVzb2x2ZXMgdG8g
dGhlIHZhbHVlICJvayInCiAgICk7CiAKICAgLy8gTm90aWZ5IGluZGV4IDAsIG5vdGlmaWVzIDEK
LSAgYXNzZXJ0LnNhbWVWYWx1ZShBdG9taWNzLm5vdGlmeShpMzJhLCAwKSwgMSwgJ0F0b21pY3Mu
bm90aWZ5KGkzMmEsIDApIHJldHVybnMgMScpOworICBhc3NlcnQuc2FtZVZhbHVlKEF0b21pY3Mu
bm90aWZ5KGkzMmEsIDApLCAxLCAnQXRvbWljcy5ub3RpZnkobmV3IEludDMyQXJyYXkobmV3IFNo
YXJlZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQgKiA1KSksIDApIG11
c3QgcmV0dXJuIDEnKTsKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBhd2FpdCAkMjYyLmFnZW50
LmdldFJlcG9ydEFzeW5jKCksCiAgICAgJ29rJywKLSAgICAnYXdhaXQgQXRvbWljcy53YWl0QXN5
bmMoaTMyYSwgMiwgMCwgSW5maW5pdHkpLnZhbHVlIHJlc29sdmVzIHRvICJvayInCisgICAgJyhh
d2FpdCAkMjYyLmFnZW50LmdldFJlcG9ydEFzeW5jKCkpIHJlc29sdmVzIHRvIHRoZSB2YWx1ZSAi
b2siJwogICApOwogCiB9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy93YWl0QXN5bmMvd2FzLXdva2VuLWJlZm9y
ZS10aW1lb3V0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0F0b21pY3Mvd2Fp
dEFzeW5jL3dhcy13b2tlbi1iZWZvcmUtdGltZW91dC5qcwppbmRleCBhMzM3ZjA2NmUxNWFjMGEy
MWQyNjUwNTVhMzYxYTJhZjgwNTliZmQ3Li5hYWNiZDVlZTgyNzEzYmZiMGRkNGE2MDEwN2VkZTYy
Njg1N2IwMTIyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRv
bWljcy93YWl0QXN5bmMvd2FzLXdva2VuLWJlZm9yZS10aW1lb3V0LmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3dhaXRBc3luYy93YXMtd29rZW4tYmVmb3Jl
LXRpbWVvdXQuanMKQEAgLTksNyArOSw3IEBAIGZsYWdzOiBbYXN5bmNdCiBpbmNsdWRlczogW2F0
b21pY3NIZWxwZXIuanNdCiBmZWF0dXJlczogW0F0b21pY3Mud2FpdEFzeW5jLCBTaGFyZWRBcnJh
eUJ1ZmZlciwgVHlwZWRBcnJheSwgQXRvbWljcywgYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0
aW9uc10KIC0tLSovCi1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywg
J2Z1bmN0aW9uJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBBdG9taWNzLndhaXRBc3luYywg
J2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIEF0b21pY3Mud2FpdEFzeW5jYCBpcyAi
ZnVuY3Rpb24iJyk7CiAKIGNvbnN0IFJVTk5JTkcgPSAxOwogY29uc3QgVElNRU9VVCA9ICQyNjIu
YWdlbnQudGltZW91dHMuaHVnZTsKQEAgLTM1LDIyICszNSwyMCBAQCAkMjYyLmFnZW50LnN0YXJ0
KGAKIAogJDI2Mi5hZ2VudC5zYWZlQnJvYWRjYXN0QXN5bmMoaTMyYSwgUlVOTklORywgMSkudGhl
bihhc3luYyAoYWdlbnRDb3VudCkgPT4gewogCi0gIGFzc2VydC5zYW1lVmFsdWUoYWdlbnRDb3Vu
dCwgMSk7Ci0gIGFzc2VydC5zYW1lVmFsdWUoQXRvbWljcy5ub3RpZnkoaTMyYSwgMCksIDEsICdB
dG9taWNzLm5vdGlmeShpMzJhLCAwKSByZXR1cm5zIDEnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShh
Z2VudENvdW50LCAxLCAnVGhlIHZhbHVlIG9mIGBhZ2VudENvdW50YCBpcyAxJyk7CisgIGFzc2Vy
dC5zYW1lVmFsdWUoQXRvbWljcy5ub3RpZnkoaTMyYSwgMCksIDEsICdBdG9taWNzLm5vdGlmeShu
ZXcgSW50MzJBcnJheShuZXcgU2hhcmVkQXJyYXlCdWZmZXIoSW50MzJBcnJheS5CWVRFU19QRVJf
RUxFTUVOVCAqIDQpKSwgMCkgbXVzdCByZXR1cm4gMScpOwogCi0gIGNvbnN0IGxhcHNlID0gYXdh
aXQgJDI2Mi5hZ2VudC5nZXRSZXBvcnRBc3luYygpOworICBsZXQgbGFwc2UgPSBhd2FpdCAkMjYy
LmFnZW50LmdldFJlcG9ydEFzeW5jKCk7CiAKICAgYXNzZXJ0KAogICAgIGxhcHNlIDwgVElNRU9V
VCwKLSAgICAnVGhlIHJlc3VsdCBvZiBgKGxhcHNlID49IFRJTUVPVVQpYCBpcyB0cnVlJworICAg
ICdUaGUgcmVzdWx0IG9mIGV2YWx1YXRpbmcgYChsYXBzZSA8IFRJTUVPVVQpYCBpcyB0cnVlJwog
ICApOwogCi0gIGNvbnN0IHJlc3VsdCA9IGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMo
KTsKLQogICBhc3NlcnQuc2FtZVZhbHVlKAotICAgIHJlc3VsdCwKKyAgICBhd2FpdCAkMjYyLmFn
ZW50LmdldFJlcG9ydEFzeW5jKCksCiAgICAgJ29rJywKLSAgICAnYXdhaXQgQXRvbWljcy53YWl0
QXN5bmMoaTMyYSwgMCwgMCwgJHtUSU1FT1VUfSkudmFsdWUgcmVzb2x2ZXMgdG8gIm9rIicKKyAg
ICAnKGF3YWl0ICQyNjIuYWdlbnQuZ2V0UmVwb3J0QXN5bmMoKSkgcmVzb2x2ZXMgdG8gdGhlIHZh
bHVlICJvayInCiAgICk7Ci0gIGFzc2VydC5zYW1lVmFsdWUoQXRvbWljcy5ub3RpZnkoaTMyYSwg
MCksIDAsICdBdG9taWNzLm5vdGlmeShpMzJhLCAwKSByZXR1cm5zIDAnKTsKKyAgYXNzZXJ0LnNh
bWVWYWx1ZShBdG9taWNzLm5vdGlmeShpMzJhLCAwKSwgMCwgJ0F0b21pY3Mubm90aWZ5KG5ldyBJ
bnQzMkFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVN
RU5UICogNCkpLCAwKSBtdXN0IHJldHVybiAwJyk7CiB9KS50aGVuKCRET05FLCAkRE9ORSk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWljcy94b3Ivbm90
LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQXRvbWlj
cy94b3Ivbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmUwNGI2OWYwMTEwNTVmZGI2
YThhYzU3ZmUwMmU2M2RlZTdhZGM1MQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9BdG9taWNzL3hvci9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCww
ICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQt
c3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgQXRvbWljcy54b3Ig
ZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzog
fAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBv
YmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAg
aW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3
aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0
aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9y
KGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAu
Li4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25z
dHJ1Y3QsIEF0b21pY3MsIGFycm93LWZ1bmN0aW9uLCBUeXBlZEFycmF5LCBTaGFyZWRBcnJheUJ1
ZmZlcl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihBdG9taWNzLnhv
ciksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihBdG9taWNzLnhvcikgbXVzdCByZXR1cm4gZmFsc2Un
KTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IEF0b21pY3MueG9y
KG5ldyBJbnQzMkFycmF5KG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihJbnQzMkFycmF5LkJZVEVTX1BF
Ul9FTEVNRU5UKSkpOworfSwgJ2BuZXcgQXRvbWljcy54b3IobmV3IEludDMyQXJyYXkobmV3IFNo
YXJlZEFycmF5QnVmZmVyKEludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQpKSlgIHRocm93cyBU
eXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0JpZ0ludC9hc0ludE4vbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvQmlnSW50L2FzSW50Ti9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xY2YxYWUyZDgxMzIyNWZmZGNlMDc4ZWZhMTQ4YzE5Mzg0NjAxZTViCi0tLSAvZGV2L251bGwK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0JpZ0ludC9hc0ludE4vbm90LWEt
Y29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyNiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJp
Y2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitl
c2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlv
bjogPgorICBCaWdJbnQuYXNJbnROIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBp
cyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisK
KyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBj
b25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5h
bCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9u
IG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4K
KyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlw
ZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitm
ZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBCaWdJbnQsIGFycm93LWZ1bmN0aW9uXQorLS0t
Ki8KK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihCaWdJbnQuYXNJbnROKSwgZmFsc2Us
ICdpc0NvbnN0cnVjdG9yKEJpZ0ludC5hc0ludE4pIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fz
c2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBCaWdJbnQuYXNJbnROKDY0LCAx
bik7Cit9LCAnYG5ldyBCaWdJbnQuYXNJbnROKDY0LCAxbilgIHRocm93cyBUeXBlRXJyb3InKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9CaWdJbnQvYXNVaW50
Ti9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9C
aWdJbnQvYXNVaW50Ti9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYmVkZWExZWQw
MDQ1ZjliYTllOWRlOTE5ZTFjMmE0ODYyMjcyODQ2Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0JpZ0ludC9hc1VpbnROL25vdC1hLWNvbnN0cnVjdG9y
LmpzCkBAIC0wLDAgKzEsMjYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLWVj
bWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgQmln
SW50LmFzVWludE4gZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXct
YWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1p
biBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9y
cyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1
bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0
aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJ
c0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhj
ZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBb
UmVmbGVjdC5jb25zdHJ1Y3QsIEJpZ0ludCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworYXNzZXJ0
LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKEJpZ0ludC5hc1VpbnROKSwgZmFsc2UsICdpc0NvbnN0
cnVjdG9yKEJpZ0ludC5hc1VpbnROKSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgQmlnSW50LmFzVWludE4oNjQsIDFuKTsKK30s
ICdgbmV3IEJpZ0ludC5hc1VpbnROKDY0LCAxbilgIHRocm93cyBUeXBlRXJyb3InKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9CaWdJbnQvaXMtYS1jb25zdHJ1
Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9CaWdJbnQvaXMtYS1jb25z
dHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZjUxODJlMjg5YTU4NzcxMDQzYzBiYWI5OTYwZmZlZWI2
ODhlZDg3Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0JpZ0ludC9pcy1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdo
dCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmpl
Y3RzCitkZXNjcmlwdGlvbjogPgorICBCaWdJbnQgaXMgYSBjb25zdHJ1Y3RvciwgYW5kIGRvZXMg
aW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGJ1dCBpcyBub3QgbmV3IHRhcmdldAoraW5mbzogfAor
ICBzZWMtYmlnaW50LWNvbnN0cnVjdG9yCisKKyAgLSBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNl
ZCB3aXRoIHRoZSBuZXcgb3BlcmF0b3Igb3IgdG8gYmUgc3ViY2xhc3NlZC4gSXQgbWF5IGJlIHVz
ZWQgYXMgdGhlIHZhbHVlIG9mIGFuIGV4dGVuZHMgY2xhdXNlIG9mIGEgY2xhc3MgZGVmaW5pdGlv
biBidXQgYSBzdXBlciBjYWxsIHRvIHRoZSBCaWdJbnQgY29uc3RydWN0b3Igd2lsbCBjYXVzZSBh
biBleGNlcHRpb24uCisKKyAgc2VjLWJpZ2ludC1jb25zdHJ1Y3Rvci1udW1iZXItdmFsdWUKKwor
ICAxLiBJZiBOZXdUYXJnZXQgaXMgbm90IHVuZGVmaW5lZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhj
ZXB0aW9uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtCaWdJbnQs
IFJlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIGlzQ29uc3RydWN0b3IoQmlnSW50KSwKKyAgdHJ1ZSwKKyAgJ2lzQ29uc3RydWN0
b3IoQmlnSW50KSBtdXN0IHJldHVybiB0cnVlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsICgpID0+IHsKKyAgbmV3IEJpZ0ludCh7CisgICAgdmFsdWVPZigpIHsKKyAgICAgIG5ldyBU
ZXN0MjYyRXJyb3IoKTsKKyAgICB9CisgIH0pOworfSwgJ2BuZXcgQmlnSW50KHsgdmFsdWVPZigp
IHtuZXcgVGVzdDI2MkVycm9yKCk7fX0pYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9CaWdJbnQvbmV3LXRhcmdldC10aHJv
d3MuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQmlnSW50L25ldy10YXJnZXQt
dGhyb3dzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNjFlZjZlMmIyMDM5NmUw
MmJjNDM1NTVjODI2ZmVlMmUwOWYxYzM4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9CaWdJbnQvbmV3
LXRhcmdldC10aHJvd3MuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi0vLyBDb3B5
cmlnaHQgKEMpIDIwMTcgUm9iaW4gVGVtcGxldG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgotCi0vKi0tLQotZGVzY3JpcHRpb246IFRocm93cyBhIFR5cGVFcnJvciBpZiBC
aWdJbnQgaXMgY2FsbGVkIHdpdGggYSBuZXcgdGFyZ2V0Ci1lc2lkOiBzZWMtYmlnaW50LWNvbnN0
cnVjdG9yCi1pbmZvOiB8Ci0gIDEuIElmIE5ld1RhcmdldCBpcyBub3QgdW5kZWZpbmVkLCB0aHJv
dyBhIFR5cGVFcnJvciBleGNlcHRpb24uCi0gIC4uLgotZmVhdHVyZXM6IFtCaWdJbnRdCi0tLS0q
LwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgQmlnSW50LCAnZnVuY3Rpb24nKTsKLQotYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBuZXcgQmlnSW50KCk7Ci19KTsKLQot
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBuZXcgQmlnSW50KHsKLSAg
ICB2YWx1ZU9mOiBmdW5jdGlvbigpIHsKLSAgICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoInVu
cmVhY2hhYmxlIik7Ci0gICAgfQotICB9KTsKLX0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0JpZ0ludC9wcm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvbm90LWEt
Y29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQmlnSW50L3By
b3RvdHlwZS90b0xvY2FsZVN0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
M2NhYWUzMTUyYmUyOTViMjkwNGRmM2NiYTc0MWEwNzU5NTgwZmM1Ci0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0JpZ0ludC9wcm90b3R5cGUvdG9Mb2Nh
bGVTdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMSBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmpl
Y3RzCitkZXNjcmlwdGlvbjogPgorICBCaWdJbnQucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGRv
ZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwK
KyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2Jq
ZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGlt
cGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lz
ZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlv
bi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihj
b25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4u
CitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3Ry
dWN0LCBCaWdJbnQsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KK2Fzc2VydC5zYW1lVmFsdWUoCisg
IGlzQ29uc3RydWN0b3IoQmlnSW50LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyksCisgIGZhbHNl
LAorICAnaXNDb25zdHJ1Y3RvcihCaWdJbnQucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nKSBtdXN0
IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7Cisg
IGxldCBuID0gMW47CisgIG5ldyBuLnRvTG9jYWxlU3RyaW5nKCk7Cit9LCAnYGxldCBuID0gMW47
IG5ldyBuLnRvTG9jYWxlU3RyaW5nKClgIHRocm93cyBUeXBlRXJyb3InKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9CaWdJbnQvcHJvdG90eXBlL3RvU3RyaW5n
L25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Jp
Z0ludC9wcm90b3R5cGUvdG9TdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
Y2Q1NzYzYThlN2I4YWI3Yzg5M2I0MTM2NzYwOGRmOTI0NGNkYWUzMgotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9CaWdJbnQvcHJvdG90eXBlL3RvU3Ry
aW5nL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzEgQEAKKy8vIENvcHlyaWdodCAo
QykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
CisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cwor
ZGVzY3JpcHRpb246ID4KKyAgQmlnSW50LnByb3RvdHlwZS50b1N0cmluZyBkb2VzIG5vdCBpbXBs
ZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3Jp
cHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBh
cmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhl
IFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVk
IGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2Vj
LWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3Ip
IGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6
IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgQmlnSW50
LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVj
dG9yKEJpZ0ludC5wcm90b3R5cGUudG9TdHJpbmcpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0
b3IoQmlnSW50LnByb3RvdHlwZS50b1N0cmluZykgbXVzdCByZXR1cm4gZmFsc2UnCispOworCith
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgbiA9IDFuOworICBuZXcgbi50
b1N0cmluZygpOworfSwgJ2BsZXQgbiA9IDFuOyBuZXcgbi50b1N0cmluZygpYCB0aHJvd3MgVHlw
ZUVycm9yJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQmln
SW50L3Byb3RvdHlwZS92YWx1ZU9mL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0JpZ0ludC9wcm90b3R5cGUvdmFsdWVPZi9ub3QtYS1jb25zdHJ1
Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45ODIyMTRmOTlhYzZkMjc5YmFjZjk4NGM1YTE5NTkxODkwYjUy
YjgzCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Jp
Z0ludC9wcm90b3R5cGUvdmFsdWVPZi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMx
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJk
LWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIEJpZ0ludC5wcm90b3R5cGUudmFs
dWVPZiBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitp
bmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0
aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5v
dAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBv
dGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIg
ZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3Ry
dWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24u
CisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0
LmNvbnN0cnVjdCwgQmlnSW50LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCithc3NlcnQuc2FtZVZh
bHVlKAorICBpc0NvbnN0cnVjdG9yKEJpZ0ludC5wcm90b3R5cGUudmFsdWVPZiksCisgIGZhbHNl
LAorICAnaXNDb25zdHJ1Y3RvcihCaWdJbnQucHJvdG90eXBlLnZhbHVlT2YpIG11c3QgcmV0dXJu
IGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IG4g
PSAxbjsKKyAgbmV3IG4udmFsdWVPZigpOworfSwgJ2BsZXQgbiA9IDFuOyBuZXcgbi52YWx1ZU9m
KClgIHRocm93cyBUeXBlRXJyb3InKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9Cb29sZWFuL2lzLWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvQm9vbGVhbi9pcy1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3
OTkwZTM4NjJiZDdmYWMwNmIxMGQ4OTU0NWY4MzE2YzQ2N2NiMTcKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQm9vbGVhbi9pcy1hLWNvbnN0cnVjdG9y
LmpzCkBAIC0wLDAgKzEsMjQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMt
ZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBU
aGUgQm9vbGVhbiBjb25zdHJ1Y3RvciBpbXBsZW1lbnRzIFtbQ29uc3RydWN0XV0KK2luZm86IHwK
KyAgSXNDb25zdHJ1Y3RvciAoIGFyZ3VtZW50ICkKKworICBUaGUgYWJzdHJhY3Qgb3BlcmF0aW9u
IElzQ29uc3RydWN0b3IgdGFrZXMgYXJndW1lbnQgYXJndW1lbnQgKGFuIEVDTUFTY3JpcHQgbGFu
Z3VhZ2UgdmFsdWUpLgorICBJdCBkZXRlcm1pbmVzIGlmIGFyZ3VtZW50IGlzIGEgZnVuY3Rpb24g
b2JqZWN0IHdpdGggYSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZC4KKyAgSXQgcGVyZm9y
bXMgdGhlIGZvbGxvd2luZyBzdGVwcyB3aGVuIGNhbGxlZDoKKworICBJZiBUeXBlKGFyZ3VtZW50
KSBpcyBub3QgT2JqZWN0LCByZXR1cm4gZmFsc2UuCisgIElmIGFyZ3VtZW50IGhhcyBhIFtbQ29u
c3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLCByZXR1cm4gdHJ1ZS4KKyAgUmV0dXJuIGZhbHNlLgor
aW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVj
dF0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihCb29sZWFuKSwgdHJ1
ZSwgJ2lzQ29uc3RydWN0b3IoQm9vbGVhbikgbXVzdCByZXR1cm4gdHJ1ZScpOworbmV3IEJvb2xl
YW4oKTsKKyAgCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQm9v
bGVhbi9wcm90b3R5cGUvdG9TdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvQm9vbGVhbi9wcm90b3R5cGUvdG9TdHJpbmcvbm90LWEtY29u
c3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjcwZWQ0ZGVmYTQ3MDkwMTliYzY3ZDRhNWYyZWQzYzI0
YjY1YTkxZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9Cb29sZWFuL3Byb3RvdHlwZS90b1N0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCww
ICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQt
c3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgQm9vbGVhbi5wcm90
b3R5cGUudG9TdHJpbmcgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBu
ZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWls
dC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVj
dG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhv
ZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBw
YXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJ
ZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3Ig
ZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVz
OiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZyksCisg
IGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihCb29sZWFuLnByb3RvdHlwZS50b1N0cmluZykgbXVz
dCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gewor
ICBuZXcgQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcoKTsKK30sICdgbmV3IEJvb2xlYW4ucHJv
dG90eXBlLnRvU3RyaW5nKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Jvb2xlYW4vcHJvdG90eXBlL3ZhbHVlT2Yvbm90
LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvQm9vbGVh
bi9wcm90b3R5cGUvdmFsdWVPZi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Nzhm
OWQ5NDYxMTdlZGU3ZjhlYWUzNDJmYTI2NDY3MjE0MTUwMmEzCi0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Jvb2xlYW4vcHJvdG90eXBlL3ZhbHVlT2Yv
bm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAy
MDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKwor
LyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rl
c2NyaXB0aW9uOiA+CisgIEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YgZG9lcyBub3QgaW1wbGVt
ZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0
IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJl
IG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBb
W0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBp
bgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1l
dmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBp
cyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBb
aXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1
bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihCb29s
ZWFuLnByb3RvdHlwZS52YWx1ZU9mKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKEJvb2xl
YW4ucHJvdG90eXBlLnZhbHVlT2YpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2Yo
KTsKK30sICdgbmV3IEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YoKWAgdGhyb3dzIFR5cGVFcnJv
cicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0YVZp
ZXcvaXMtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRhVmlldy9pcy1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5NTY0ZDhkZGI3YzZiNzQy
NzY1MmIyNWM5ZmU0NWIwMGY5ZjFmMWQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcvaXMtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsx
LDI0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3Rh
bmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgVGhlIERhdGFWaWV3IGNv
bnN0cnVjdG9yIGltcGxlbWVudHMgW1tDb25zdHJ1Y3RdXQoraW5mbzogfAorICBJc0NvbnN0cnVj
dG9yICggYXJndW1lbnQgKQorCisgIFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gSXNDb25zdHJ1Y3Rv
ciB0YWtlcyBhcmd1bWVudCBhcmd1bWVudCAoYW4gRUNNQVNjcmlwdCBsYW5ndWFnZSB2YWx1ZSku
CisgIEl0IGRldGVybWluZXMgaWYgYXJndW1lbnQgaXMgYSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBh
IFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLgorICBJdCBwZXJmb3JtcyB0aGUgZm9sbG93
aW5nIHN0ZXBzIHdoZW4gY2FsbGVkOgorCisgIElmIFR5cGUoYXJndW1lbnQpIGlzIG5vdCBPYmpl
Y3QsIHJldHVybiBmYWxzZS4KKyAgSWYgYXJndW1lbnQgaGFzIGEgW1tDb25zdHJ1Y3RdXSBpbnRl
cm5hbCBtZXRob2QsIHJldHVybiB0cnVlLgorICBSZXR1cm4gZmFsc2UuCitpbmNsdWRlczogW2lz
Q29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBEYXRhVmlldywg
QXJyYXlCdWZmZXJdCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoRGF0
YVZpZXcpLCB0cnVlLCAnaXNDb25zdHJ1Y3RvcihEYXRhVmlldykgbXVzdCByZXR1cm4gdHJ1ZScp
OworbmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcigxNikpOworICAKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5cGUvYnl0ZUxlbmd0
aC9kZXRhY2hlZC1idWZmZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
YVZpZXcvcHJvdG90eXBlL2J5dGVMZW5ndGgvZGV0YWNoZWQtYnVmZmVyLmpzCmluZGV4IDI3MzNl
NjQxMzk4YmY0MDdlMjRlOTExZWU1YzIxZjJjZGQyZTA1ZTYuLjczZWFhZmM4NGJkYmZmYmI3NzA5
MmIyNDNjZmVkMDU3NjdlZWZiMmUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRhVmlldy9wcm90b3R5cGUvYnl0ZUxlbmd0aC9kZXRhY2hlZC1idWZmZXIuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9i
eXRlTGVuZ3RoL2RldGFjaGVkLWJ1ZmZlci5qcwpAQCAtNSwxOSArNSwxOSBAQAogZXNpZDogc2Vj
LWdldC1kYXRhdmlldy5wcm90b3R5cGUuYnl0ZWxlbmd0aAogZGVzY3JpcHRpb246IFRocm93cyBh
IFR5cGVFcnJvciBpZiB0aGUgaW5zdGFuY2UgaGFzIGEgZGV0YWNoZWQgYnVmZmVyCiBpbmZvOiB8
Ci0gIDI0LjIuNC4yIGdldCBEYXRhVmlldy5wcm90b3R5cGUuYnl0ZUxlbmd0aAorICBnZXQgRGF0
YVZpZXcucHJvdG90eXBlLmJ5dGVMZW5ndGgKICAgLi4uCi0gIDUuIExldCBidWZmZXIgYmUgdGhl
IHZhbHVlIG9mIE8ncyBbW1ZpZXdlZEFycmF5QnVmZmVyXV0gaW50ZXJuYWwgc2xvdC4KLSAgNi4g
SWYgSXNEZXRhY2hlZEJ1ZmZlcihidWZmZXIpIGlzIHRydWUsIHRocm93IGEgVHlwZUVycm9yIGV4
Y2VwdGlvbi4KKyAgTGV0IGJ1ZmZlciBiZSB0aGUgdmFsdWUgb2YgTydzIFtbVmlld2VkQXJyYXlC
dWZmZXJdXSBpbnRlcm5hbCBzbG90LgorICBJZiBJc0RldGFjaGVkQnVmZmVyKGJ1ZmZlcikgaXMg
dHJ1ZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogICAuLi4KIGluY2x1ZGVzOiBbZGV0
YWNoQXJyYXlCdWZmZXIuanNdCiAtLS0qLwogCi12YXIgYnVmZmVyID0gbmV3IEFycmF5QnVmZmVy
KDEpOwotdmFyIHNhbXBsZSA9IG5ldyBEYXRhVmlldyhidWZmZXIsIDApOworbGV0IGJ1ZmZlciA9
IG5ldyBBcnJheUJ1ZmZlcigxKTsKK2xldCBkdiA9IG5ldyBEYXRhVmlldyhidWZmZXIsIDApOwog
CiAkREVUQUNIQlVGRkVSKGJ1ZmZlcik7CiAKLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5j
dGlvbigpIHsKLSAgc2FtcGxlLmJ5dGVMZW5ndGg7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
KCkgPT4geworICBkdi5ieXRlTGVuZ3RoOwogfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL2J5dGVMZW5ndGgvaW5zdGFuY2Ut
aGFzLWRldGFjaGVkLWJ1ZmZlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRhVmlldy9wcm90b3R5cGUvYnl0ZUxlbmd0aC9pbnN0YW5jZS1oYXMtZGV0YWNoZWQtYnVmZmVy
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmNhYzZjNzhlMjUzYjgzMmJlMzk0OTZlZWM1ZjZhYjQ3ODdmOWMxM2YK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0YVZp
ZXcvcHJvdG90eXBlL2J5dGVMZW5ndGgvaW5zdGFuY2UtaGFzLWRldGFjaGVkLWJ1ZmZlci5qcwpA
QCAtMCwwICsxLDIzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWdldC1k
YXRhdmlldy5wcm90b3R5cGUuYnl0ZWxlbmd0aAorZGVzY3JpcHRpb246IFRocm93cyBhIFR5cGVF
cnJvciBpZiB0aGUgaW5zdGFuY2UgaGFzIGEgZGV0YWNoZWQgYnVmZmVyCitpbmZvOiB8CisgIGdl
dCBEYXRhVmlldy5wcm90b3R5cGUuYnl0ZUxlbmd0aAorICAuLi4KKyAgTGV0IGJ1ZmZlciBiZSB0
aGUgdmFsdWUgb2YgTydzIFtbVmlld2VkQXJyYXlCdWZmZXJdXSBpbnRlcm5hbCBzbG90LgorICBJ
ZiBJc0RldGFjaGVkQnVmZmVyKGJ1ZmZlcikgaXMgdHJ1ZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhj
ZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbZGV0YWNoQXJyYXlCdWZmZXIuanNdCistLS0qLwor
CitsZXQgYnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKDEpOworbGV0IGR2ID0gbmV3IERhdGFWaWV3
KGJ1ZmZlciwgMCk7CisKKyRERVRBQ0hCVUZGRVIoZHYuYnVmZmVyKTsKKworYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgZHYuYnl0ZUxlbmd0aDsKK30pOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9nZXRCaWdJ
bnQ2NC9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRhVmlldy9wcm90b3R5cGUvZ2V0QmlnSW50NjQvbm90LWEtY29uc3RydWN0b3IuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNzU4ZDg2OTBmMzYyMjIwZjY4YjlmYmEyYWZhYWVkYzgyZWZlNDEwNwotLS0gL2Rl
di9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90
b3R5cGUvZ2V0QmlnSW50NjQvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAor
Ly8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1
aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIERhdGFWaWV3LnByb3RvdHlwZS5nZXRC
aWdJbnQ2NCBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxl
CitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1
bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRv
IG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVz
cyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3Vs
YXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29u
c3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRp
b24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZs
ZWN0LmNvbnN0cnVjdCwgQmlnSW50LCBEYXRhVmlldywgYXJyb3ctZnVuY3Rpb24sIEFycmF5QnVm
ZmVyXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihEYXRhVmll
dy5wcm90b3R5cGUuZ2V0QmlnSW50NjQpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoRGF0
YVZpZXcucHJvdG90eXBlLmdldEJpZ0ludDY0KSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fz
c2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCBkdiA9IG5ldyBEYXRhVmlldyhu
ZXcgQXJyYXlCdWZmZXIoMTYpKTsgbmV3IGR2LmdldEJpZ0ludDY0KDAsIDApOworfSwgJ2BsZXQg
ZHYgPSBuZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDE2KSk7IG5ldyBkdi5nZXRCaWdJbnQ2
NCgwLCAwKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL2dldEJpZ1VpbnQ2NC9ub3QtYS1j
b25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9w
cm90b3R5cGUvZ2V0QmlnVWludDY0L25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2
MTA2NjA3NDFkNDI4NjkwMTM2NWFjZGNiZTFmNWFhMTkwMDQ4OTkKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL2dldEJp
Z1VpbnQ2NC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmln
aHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2Jq
ZWN0cworZGVzY3JpcHRpb246ID4KKyAgRGF0YVZpZXcucHJvdG90eXBlLmdldEJpZ1VpbnQ2NCBk
b2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8
CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9i
amVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBp
bXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndp
c2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rp
b24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3Io
Y29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4u
LgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0
cnVjdCwgRGF0YVZpZXcsIGFycm93LWZ1bmN0aW9uLCBBcnJheUJ1ZmZlcl0KKy0tLSovCisKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoRGF0YVZpZXcucHJvdG90eXBlLmdldEJp
Z1VpbnQ2NCksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihEYXRhVmlldy5wcm90b3R5cGUu
Z2V0QmlnVWludDY0KSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCAoKSA9PiB7CisgIGxldCBkdiA9IG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIo
MTYpKTsgbmV3IGR2LmdldEJpZ1VpbnQ2NCgwLCAwKTsKK30sICdgbGV0IGR2ID0gbmV3IERhdGFW
aWV3KG5ldyBBcnJheUJ1ZmZlcigxNikpOyBuZXcgZHYuZ2V0QmlnVWludDY0KDAsIDApYCB0aHJv
d3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRhVmlldy9wcm90b3R5cGUvZ2V0RmxvYXQzMi9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5cGUvZ2V0Rmxv
YXQzMi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YTI2OWFmMDVhN2I5NDVmMzFh
ZjE2OGM0M2Q5NDVhNjZjYTY4OTAwCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9nZXRGbG9hdDMyL25vdC1hLWNvbnN0
cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdh
bGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lk
OiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjog
PgorICBEYXRhVmlldy5wcm90b3R5cGUuZ2V0RmxvYXQzMiBkb2VzIG5vdCBpbXBsZW1lbnQgW1tD
b25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rp
b24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlk
ZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3Ry
dWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRo
ZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRl
bmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNl
LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0
cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgRGF0YVZpZXcsIGFycm93
LWZ1bmN0aW9uLCBBcnJheUJ1ZmZlcl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlz
Q29uc3RydWN0b3IoRGF0YVZpZXcucHJvdG90eXBlLmdldEZsb2F0MzIpLAorICBmYWxzZSwKKyAg
J2lzQ29uc3RydWN0b3IoRGF0YVZpZXcucHJvdG90eXBlLmdldEZsb2F0MzIpIG11c3QgcmV0dXJu
IGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IGR2
ID0gbmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcigxNikpOyBuZXcgZHYuZ2V0RmxvYXQzMigw
LCAwKTsKK30sICdgbGV0IGR2ID0gbmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcigxNikpOyBu
ZXcgZHYuZ2V0RmxvYXQzMigwLCAwKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL2dldEZs
b2F0NjQvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0YVZpZXcvcHJvdG90eXBlL2dldEZsb2F0NjQvbm90LWEtY29uc3RydWN0b3IuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTRiMTEwNWE3OTUxMzUzNzk3ZTBjZGY5NmNiOGU1OTIwMDgxODE0YQotLS0gL2Rl
di9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90
b3R5cGUvZ2V0RmxvYXQ2NC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisv
LyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVp
bHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgRGF0YVZpZXcucHJvdG90eXBlLmdldEZs
b2F0NjQgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQor
aW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5j
dGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBu
b3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mg
b3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFy
IGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0
cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9u
LgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVj
dC5jb25zdHJ1Y3QsIERhdGFWaWV3LCBhcnJvdy1mdW5jdGlvbiwgQXJyYXlCdWZmZXJdCistLS0q
LworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKERhdGFWaWV3LnByb3RvdHlw
ZS5nZXRGbG9hdDY0KSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKERhdGFWaWV3LnByb3Rv
dHlwZS5nZXRGbG9hdDY0KSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3Mo
VHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCBkdiA9IG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZm
ZXIoMTYpKTsgbmV3IGR2LmdldEZsb2F0NjQoMCwgMCk7Cit9LCAnYGxldCBkdiA9IG5ldyBEYXRh
VmlldyhuZXcgQXJyYXlCdWZmZXIoMTYpKTsgbmV3IGR2LmdldEZsb2F0NjQoMCwgMClgIHRocm93
cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9nZXRJbnQxNi9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5cGUvZ2V0SW50MTYv
bm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDNmMzgzNDdkMzIyZDIxNmJjZTRmMmIx
NTE4ZDM4ZGJhMmM5NDYxMgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5cGUvZ2V0SW50MTYvbm90LWEtY29uc3RydWN0b3Iu
anMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1l
Y21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIERh
dGFWaWV3LnByb3RvdHlwZS5nZXRJbnQxNiBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3Rd
XSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0
cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQg
YXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50
ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlw
dGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAg
Li4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBh
IFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpz
XQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgRGF0YVZpZXcsIGFycm93LWZ1bmN0aW9u
LCBBcnJheUJ1ZmZlcl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0
b3IoRGF0YVZpZXcucHJvdG90eXBlLmdldEludDE2KSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVj
dG9yKERhdGFWaWV3LnByb3RvdHlwZS5nZXRJbnQxNikgbXVzdCByZXR1cm4gZmFsc2UnCispOwor
Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgZHYgPSBuZXcgRGF0YVZp
ZXcobmV3IEFycmF5QnVmZmVyKDE2KSk7IG5ldyBkdi5nZXRJbnQxNigwLCAwKTsKK30sICdgbGV0
IGR2ID0gbmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcigxNikpOyBuZXcgZHYuZ2V0SW50MTYo
MCwgMClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9nZXRJbnQzMi9ub3QtYS1jb25zdHJ1
Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5
cGUvZ2V0SW50MzIvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzBhYTk3MzczYjE3
MWQzNDU3OWYzNTM1NDRmYmQ0OGZkZDhiYmNjNAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5cGUvZ2V0SW50MzIvbm90LWEt
Y29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJp
Y2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0K
K2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0
aW9uOiA+CisgIERhdGFWaWV3LnByb3RvdHlwZS5nZXRJbnQzMiBkb2VzIG5vdCBpbXBsZW1lbnQg
W1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVu
Y3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90
IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29u
c3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisg
IHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1
YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZh
bHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0Nv
bnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgRGF0YVZpZXcsIGFy
cm93LWZ1bmN0aW9uLCBBcnJheUJ1ZmZlcl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisg
IGlzQ29uc3RydWN0b3IoRGF0YVZpZXcucHJvdG90eXBlLmdldEludDMyKSwKKyAgZmFsc2UsCisg
ICdpc0NvbnN0cnVjdG9yKERhdGFWaWV3LnByb3RvdHlwZS5nZXRJbnQzMikgbXVzdCByZXR1cm4g
ZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgZHYg
PSBuZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDE2KSk7IG5ldyBkdi5nZXRJbnQzMigwLCAw
KTsKK30sICdgbGV0IGR2ID0gbmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcigxNikpOyBuZXcg
ZHYuZ2V0SW50MzIoMCwgMClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9nZXRJbnQ4L25v
dC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGFW
aWV3L3Byb3RvdHlwZS9nZXRJbnQ4L25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEw
ZDQ4Zjc0NWU0MzZlYzVlZjNjZjJlMzcwYzYyMzVjNzNiYWFjNmYKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL2dldElu
dDgvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChD
KSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
KworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMK
K2Rlc2NyaXB0aW9uOiA+CisgIERhdGFWaWV3LnByb3RvdHlwZS5nZXRJbnQ4IGRvZXMgbm90IGlt
cGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNj
cmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0
IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0
aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZp
ZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBz
ZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3Rv
cikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRl
czogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBEYXRh
VmlldywgYXJyb3ctZnVuY3Rpb24sIEFycmF5QnVmZmVyXQorLS0tKi8KKworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihEYXRhVmlldy5wcm90b3R5cGUuZ2V0SW50OCksCisgIGZh
bHNlLAorICAnaXNDb25zdHJ1Y3RvcihEYXRhVmlldy5wcm90b3R5cGUuZ2V0SW50OCkgbXVzdCBy
ZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBs
ZXQgZHYgPSBuZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDE2KSk7IG5ldyBkdi5nZXRJbnQ4
KDAsIDApOworfSwgJ2BsZXQgZHYgPSBuZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDE2KSk7
IG5ldyBkdi5nZXRJbnQ4KDAsIDApYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5cGUvZ2V0VWlu
dDE2L25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGFWaWV3L3Byb3RvdHlwZS9nZXRVaW50MTYvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYjBhZDQyYzM5NDcyNTRlZTEyYjY3NjRlZTNiNTJhNmU0ZDI5ZmM1YwotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5
cGUvZ2V0VWludDE2L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENv
cHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1p
bi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBEYXRhVmlldy5wcm90b3R5cGUuZ2V0VWludDE2
IGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86
IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24g
b2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90Cisg
IGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVy
d2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5j
dGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rv
cihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAg
Li4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29u
c3RydWN0LCBEYXRhVmlldywgYXJyb3ctZnVuY3Rpb24sIEFycmF5QnVmZmVyXQorLS0tKi8KKwor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihEYXRhVmlldy5wcm90b3R5cGUuZ2V0
VWludDE2KSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKERhdGFWaWV3LnByb3RvdHlwZS5n
ZXRVaW50MTYpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsICgpID0+IHsKKyAgbGV0IGR2ID0gbmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcigxNikp
OyBuZXcgZHYuZ2V0VWludDE2KDAsIDApOworfSwgJ2BsZXQgZHYgPSBuZXcgRGF0YVZpZXcobmV3
IEFycmF5QnVmZmVyKDE2KSk7IG5ldyBkdi5nZXRVaW50MTYoMCwgMClgIHRocm93cyBUeXBlRXJy
b3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGFW
aWV3L3Byb3RvdHlwZS9nZXRVaW50MzIvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL2dldFVpbnQzMi9ub3QtYS1j
b25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OGNhMjI4Y2MyNGNkZjUxNzg3ZTg4Y2NiY2I4NmZk
NTNkYWU4MjUwCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9nZXRVaW50MzIvbm90LWEtY29uc3RydWN0b3IuanMKQEAg
LTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2Ny
aXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIERhdGFWaWV3
LnByb3RvdHlwZS5nZXRVaW50MzIgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlz
IG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKwor
ICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNv
bnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFs
IG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24g
b2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgor
ICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBl
RXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2Zl
YXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIERhdGFWaWV3LCBhcnJvdy1mdW5jdGlvbiwgQXJy
YXlCdWZmZXJdCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKERh
dGFWaWV3LnByb3RvdHlwZS5nZXRVaW50MzIpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3Io
RGF0YVZpZXcucHJvdG90eXBlLmdldFVpbnQzMikgbXVzdCByZXR1cm4gZmFsc2UnCispOworCith
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgZHYgPSBuZXcgRGF0YVZpZXco
bmV3IEFycmF5QnVmZmVyKDE2KSk7IG5ldyBkdi5nZXRVaW50MzIoMCwgMCk7Cit9LCAnYGxldCBk
diA9IG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMTYpKTsgbmV3IGR2LmdldFVpbnQzMigw
LCAwKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL2dldFVpbnQ4L25vdC1hLWNvbnN0cnVj
dG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlw
ZS9nZXRVaW50OC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMzE2NWZmMmFlNWY2
ZDY3NzIzMTkyY2U4NWIxY2E4ZjAwNjIwMDc2Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9nZXRVaW50OC9ub3QtYS1j
b25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmlj
ayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVk
IGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQor
ZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRp
b246ID4KKyAgRGF0YVZpZXcucHJvdG90eXBlLmdldFVpbnQ4IGRvZXMgbm90IGltcGxlbWVudCBb
W0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5j
dGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3Qg
aWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25z
dHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAg
dGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVh
dGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFs
c2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29u
c3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBEYXRhVmlldywgYXJy
b3ctZnVuY3Rpb24sIEFycmF5QnVmZmVyXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
aXNDb25zdHJ1Y3RvcihEYXRhVmlldy5wcm90b3R5cGUuZ2V0VWludDgpLAorICBmYWxzZSwKKyAg
J2lzQ29uc3RydWN0b3IoRGF0YVZpZXcucHJvdG90eXBlLmdldFVpbnQ4KSBtdXN0IHJldHVybiBm
YWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCBkdiA9
IG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMTYpKTsgbmV3IGR2LmdldFVpbnQ4KDAsIDAp
OworfSwgJ2BsZXQgZHYgPSBuZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDE2KSk7IG5ldyBk
di5nZXRVaW50OCgwLCAwKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL3NldEJpZ0ludDY0
L25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGFWaWV3L3Byb3RvdHlwZS9zZXRCaWdJbnQ2NC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yOWFlNWI1NzNjZjM2NzZiMmU2YjE3OTEwN2VlMzZkNWUyYzdiNWQzCi0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlw
ZS9zZXRCaWdJbnQ2NC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBD
b3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQt
aW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgRGF0YVZpZXcucHJvdG90eXBlLnNldEJpZ0lu
dDY0IGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2lu
Zm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rp
b24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90
CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90
aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBm
dW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1
Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4K
KyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3Qu
Y29uc3RydWN0LCBCaWdJbnQsIERhdGFWaWV3LCBhcnJvdy1mdW5jdGlvbiwgQXJyYXlCdWZmZXJd
CistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKERhdGFWaWV3LnBy
b3RvdHlwZS5zZXRCaWdJbnQ2NCksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihEYXRhVmll
dy5wcm90b3R5cGUuc2V0QmlnSW50NjQpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IGR2ID0gbmV3IERhdGFWaWV3KG5ldyBB
cnJheUJ1ZmZlcigxNikpOyBuZXcgZHYuc2V0QmlnSW50NjQoMCwgMCk7Cit9LCAnYGxldCBkdiA9
IG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMTYpKTsgbmV3IGR2LnNldEJpZ0ludDY0KDAs
IDApYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5cGUvc2V0QmlnVWludDY0L25vdC1hLWNvbnN0
cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3Rv
dHlwZS9zZXRCaWdVaW50NjQvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjkzNTRk
N2VhODVmOTk3ZDQwOGM3NjYwYzEwNjAxYWVmMGM5MWYzMQotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5cGUvc2V0QmlnVWlu
dDY0L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAo
QykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
CisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3Rz
CitkZXNjcmlwdGlvbjogPgorICBEYXRhVmlldy5wcm90b3R5cGUuc2V0QmlnVWludDY0IGRvZXMg
bm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAg
RUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0
cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxl
bWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBz
cGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4K
KworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25z
dHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitp
bmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0
LCBEYXRhVmlldywgYXJyb3ctZnVuY3Rpb24sIEFycmF5QnVmZmVyXQorLS0tKi8KKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihEYXRhVmlldy5wcm90b3R5cGUuc2V0QmlnVWlu
dDY0KSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKERhdGFWaWV3LnByb3RvdHlwZS5zZXRC
aWdVaW50NjQpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsICgpID0+IHsKKyAgbGV0IGR2ID0gbmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcigxNikp
OyBuZXcgZHYuc2V0QmlnVWludDY0KDAsIDApOworfSwgJ2BsZXQgZHYgPSBuZXcgRGF0YVZpZXco
bmV3IEFycmF5QnVmZmVyKDE2KSk7IG5ldyBkdi5zZXRCaWdVaW50NjQoMCwgMClgIHRocm93cyBU
eXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGFWaWV3L3Byb3RvdHlwZS9zZXRGbG9hdDMyL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9zZXRGbG9hdDMy
L25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlOGMyNjI1ZDRlMTg1ZGQzZmFiYTI4
YmMxYjdlYTkzNjRjMjBlMTcKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL3NldEZsb2F0MzIvbm90LWEtY29uc3RydWN0
b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJv
bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNl
Yy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+Cisg
IERhdGFWaWV3LnByb3RvdHlwZS5zZXRGbG9hdDMyIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0
cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBP
YmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRp
ZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3Rd
XSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRl
c2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcK
KworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRo
cm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0
b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBEYXRhVmlldywgYXJyb3ctZnVu
Y3Rpb24sIEFycmF5QnVmZmVyXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25z
dHJ1Y3RvcihEYXRhVmlldy5wcm90b3R5cGUuc2V0RmxvYXQzMiksCisgIGZhbHNlLAorICAnaXND
b25zdHJ1Y3RvcihEYXRhVmlldy5wcm90b3R5cGUuc2V0RmxvYXQzMikgbXVzdCByZXR1cm4gZmFs
c2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgZHYgPSBu
ZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDE2KSk7IG5ldyBkdi5zZXRGbG9hdDMyKDAsIDAp
OworfSwgJ2BsZXQgZHYgPSBuZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDE2KSk7IG5ldyBk
di5zZXRGbG9hdDMyKDAsIDApYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5cGUvc2V0RmxvYXQ2
NC9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRhVmlldy9wcm90b3R5cGUvc2V0RmxvYXQ2NC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMjQyOWI1YzI1OTYzMjQ2YzgzYWM2MTQ2NTM0OTcyMDEyYmI4ZWZhCi0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlw
ZS9zZXRGbG9hdDY0L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENv
cHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1p
bi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBEYXRhVmlldy5wcm90b3R5cGUuc2V0RmxvYXQ2
NCBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZv
OiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9u
IG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAor
ICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhl
cndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVu
Y3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0
b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisg
IC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNv
bnN0cnVjdCwgRGF0YVZpZXcsIGFycm93LWZ1bmN0aW9uLCBBcnJheUJ1ZmZlcl0KKy0tLSovCisK
K2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoRGF0YVZpZXcucHJvdG90eXBlLnNl
dEZsb2F0NjQpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoRGF0YVZpZXcucHJvdG90eXBl
LnNldEZsb2F0NjQpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsICgpID0+IHsKKyAgbGV0IGR2ID0gbmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcigx
NikpOyBuZXcgZHYuc2V0RmxvYXQ2NCgwLCAwKTsKK30sICdgbGV0IGR2ID0gbmV3IERhdGFWaWV3
KG5ldyBBcnJheUJ1ZmZlcigxNikpOyBuZXcgZHYuc2V0RmxvYXQ2NCgwLCAwKWAgdGhyb3dzIFR5
cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0YVZpZXcvcHJvdG90eXBlL3NldEludDE2L25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9zZXRJbnQxNi9ub3Qt
YS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODYxMGJkZjJhYmE3MDdhOTI2NTA1MDhlNTdi
OTIwNTdkN2Y3ZmM5Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9zZXRJbnQxNi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpA
QCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFz
Y3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgRGF0YVZp
ZXcucHJvdG90eXBlLnNldEludDE2IGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBp
cyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisK
KyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBj
b25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5h
bCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9u
IG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4K
KyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlw
ZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitm
ZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBEYXRhVmlldywgYXJyb3ctZnVuY3Rpb24sIEFy
cmF5QnVmZmVyXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihE
YXRhVmlldy5wcm90b3R5cGUuc2V0SW50MTYpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3Io
RGF0YVZpZXcucHJvdG90eXBlLnNldEludDE2KSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fz
c2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCBkdiA9IG5ldyBEYXRhVmlldyhu
ZXcgQXJyYXlCdWZmZXIoMTYpKTsgbmV3IGR2LnNldEludDE2KDAsIDApOworfSwgJ2BsZXQgZHYg
PSBuZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDE2KSk7IG5ldyBkdi5zZXRJbnQxNigwLCAw
KWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL3NldEludDMyL25vdC1hLWNvbnN0cnVjdG9y
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9z
ZXRJbnQzMi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZmRhNmIyNDAzMjU2YWI0
ZjY3YTk5ZWE4NGNlYWQ1MThiYjY4MGNhCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9zZXRJbnQzMi9ub3QtYS1jb25z
dHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBX
YWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246
ID4KKyAgRGF0YVZpZXcucHJvdG90eXBlLnNldEludDMyIGRvZXMgbm90IGltcGxlbWVudCBbW0Nv
bnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlv
biBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRl
bnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1
Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhl
IGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVu
ZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2Us
IHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3Ry
dWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBEYXRhVmlldywgYXJyb3ct
ZnVuY3Rpb24sIEFycmF5QnVmZmVyXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXND
b25zdHJ1Y3RvcihEYXRhVmlldy5wcm90b3R5cGUuc2V0SW50MzIpLAorICBmYWxzZSwKKyAgJ2lz
Q29uc3RydWN0b3IoRGF0YVZpZXcucHJvdG90eXBlLnNldEludDMyKSBtdXN0IHJldHVybiBmYWxz
ZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCBkdiA9IG5l
dyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMTYpKTsgbmV3IGR2LnNldEludDMyKDAsIDApOwor
fSwgJ2BsZXQgZHYgPSBuZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDE2KSk7IG5ldyBkdi5z
ZXRJbnQzMigwLCAwKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL3NldEludDgvbm90LWEt
Y29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcv
cHJvdG90eXBlL3NldEludDgvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDJkZTNk
NzE5MjViZjY5Mjc5OWJiNDQ0ZjA1YjY5MDJiM2JkODE1YQotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5cGUvc2V0SW50OC9u
b3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisv
Ki0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVz
Y3JpcHRpb246ID4KKyAgRGF0YVZpZXcucHJvdG90eXBlLnNldEludDggZG9lcyBub3QgaW1wbGVt
ZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0
IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJl
IG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBb
W0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBp
bgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1l
dmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBp
cyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBb
aXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIERhdGFWaWV3
LCBhcnJvdy1mdW5jdGlvbiwgQXJyYXlCdWZmZXJdCistLS0qLworCithc3NlcnQuc2FtZVZhbHVl
KAorICBpc0NvbnN0cnVjdG9yKERhdGFWaWV3LnByb3RvdHlwZS5zZXRJbnQ4KSwKKyAgZmFsc2Us
CisgICdpc0NvbnN0cnVjdG9yKERhdGFWaWV3LnByb3RvdHlwZS5zZXRJbnQ4KSBtdXN0IHJldHVy
biBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCBk
diA9IG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMTYpKTsgbmV3IGR2LnNldEludDgoMCwg
MCk7Cit9LCAnYGxldCBkdiA9IG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMTYpKTsgbmV3
IGR2LnNldEludDgoMCwgMClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9zZXRVaW50MTYv
bm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
YVZpZXcvcHJvdG90eXBlL3NldFVpbnQxNi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YzgwZTg1YjQyNmU1MGVlMjk3N2QwMzJmYjcxN2ZmODdkOGU4ODVjCi0tLSAvZGV2L251bGwK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGFWaWV3L3Byb3RvdHlwZS9z
ZXRVaW50MTYvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9i
amVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIERhdGFWaWV3LnByb3RvdHlwZS5zZXRVaW50MTYgZG9l
cyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAor
ICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmpl
Y3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1w
bGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNl
IHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9u
LgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNv
bnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4K
K2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1
Y3QsIERhdGFWaWV3LCBhcnJvdy1mdW5jdGlvbiwgQXJyYXlCdWZmZXJdCistLS0qLworCithc3Nl
cnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKERhdGFWaWV3LnByb3RvdHlwZS5zZXRVaW50
MTYpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoRGF0YVZpZXcucHJvdG90eXBlLnNldFVp
bnQxNikgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
KCkgPT4geworICBsZXQgZHYgPSBuZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDE2KSk7IG5l
dyBkdi5zZXRVaW50MTYoMCwgMCk7Cit9LCAnYGxldCBkdiA9IG5ldyBEYXRhVmlldyhuZXcgQXJy
YXlCdWZmZXIoMTYpKTsgbmV3IGR2LnNldFVpbnQxNigwLCAwKWAgdGhyb3dzIFR5cGVFcnJvcicp
OworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcv
cHJvdG90eXBlL3NldFVpbnQzMi9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5cGUvc2V0VWludDMyL25vdC1hLWNvbnN0
cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhN2QyMzRkNWQ1NDk2ZjRmZTQ1NDEzMjY1YjIyNDA0MGVi
ZTBiYmUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0YVZpZXcvcHJvdG90eXBlL3NldFVpbnQzMi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCww
ICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQt
c3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgRGF0YVZpZXcucHJv
dG90eXBlLnNldFVpbnQzMiBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90
IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1
aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3Ry
dWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0
aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBh
IHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcu
IElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJv
ciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVy
ZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgRGF0YVZpZXcsIGFycm93LWZ1bmN0aW9uLCBBcnJheUJ1
ZmZlcl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoRGF0YVZp
ZXcucHJvdG90eXBlLnNldFVpbnQzMiksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihEYXRh
Vmlldy5wcm90b3R5cGUuc2V0VWludDMyKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCBkdiA9IG5ldyBEYXRhVmlldyhuZXcg
QXJyYXlCdWZmZXIoMTYpKTsgbmV3IGR2LnNldFVpbnQzMigwLCAwKTsKK30sICdgbGV0IGR2ID0g
bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcigxNikpOyBuZXcgZHYuc2V0VWludDMyKDAsIDAp
YCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRhVmlldy9wcm90b3R5cGUvc2V0VWludDgvbm90LWEtY29uc3RydWN0b3Iu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL3Nl
dFVpbnQ4L25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlYTc2MTBhNjY1ZGY1MTU4
OGU0ZmFjMWI3YTRkNDljMmVjOTAxNmQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0YVZpZXcvcHJvdG90eXBlL3NldFVpbnQ4L25vdC1hLWNvbnN0
cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdh
bGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lk
OiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjog
PgorICBEYXRhVmlldy5wcm90b3R5cGUuc2V0VWludDggZG9lcyBub3QgaW1wbGVtZW50IFtbQ29u
c3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9u
IE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVu
dGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVj
dF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUg
ZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5l
dworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwg
dGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1
Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIERhdGFWaWV3LCBhcnJvdy1m
dW5jdGlvbiwgQXJyYXlCdWZmZXJdCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0Nv
bnN0cnVjdG9yKERhdGFWaWV3LnByb3RvdHlwZS5zZXRVaW50OCksCisgIGZhbHNlLAorICAnaXND
b25zdHJ1Y3RvcihEYXRhVmlldy5wcm90b3R5cGUuc2V0VWludDgpIG11c3QgcmV0dXJuIGZhbHNl
JworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IGR2ID0gbmV3
IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcigxNikpOyBuZXcgZHYuc2V0VWludDgoMCwgMCk7Cit9
LCAnYGxldCBkdiA9IG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMTYpKTsgbmV3IGR2LnNl
dFVpbnQ4KDAsIDApYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1VUQy9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL1VUQy9ub3QtYS1jb25zdHJ1Y3Rvci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jNTlkYmM2ZDA3NGVjNmViNDEyNGJhOTM2YTI2MjhjMzlmODgyZTYzCi0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvVVRD
L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMg
Z292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisK
Ky8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitk
ZXNjcmlwdGlvbjogPgorICBEYXRlLlVUQyBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3Rd
XSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0
cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQg
YXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50
ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlw
dGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAg
Li4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBh
IFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpz
XQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLwor
Cithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoRGF0ZS5VVEMpLCBmYWxzZSwgJ2lzQ29u
c3RydWN0b3IoRGF0ZS5VVEMpIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3Mo
VHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBEYXRlLlVUQygpOworfSwgJ2BuZXcgRGF0ZS5VVEMo
KWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9pcy1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvaXMtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MmJjMjQ5
YzZiZTNlZTI2NDc5ZDU2YjE3OWY5MDExMzJjY2I0MjBjCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvaXMtYS1jb25zdHJ1Y3Rvci5qcwpAQCAt
MCwwICsxLDI0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5z
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3Jp
cHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgVGhlIERhdGUg
Y29uc3RydWN0b3IgaW1wbGVtZW50cyBbW0NvbnN0cnVjdF1dCitpbmZvOiB8CisgIElzQ29uc3Ry
dWN0b3IgKCBhcmd1bWVudCApCisKKyAgVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBJc0NvbnN0cnVj
dG9yIHRha2VzIGFyZ3VtZW50IGFyZ3VtZW50IChhbiBFQ01BU2NyaXB0IGxhbmd1YWdlIHZhbHVl
KS4KKyAgSXQgZGV0ZXJtaW5lcyBpZiBhcmd1bWVudCBpcyBhIGZ1bmN0aW9uIG9iamVjdCB3aXRo
IGEgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QuCisgIEl0IHBlcmZvcm1zIHRoZSBmb2xs
b3dpbmcgc3RlcHMgd2hlbiBjYWxsZWQ6CisKKyAgSWYgVHlwZShhcmd1bWVudCkgaXMgbm90IE9i
amVjdCwgcmV0dXJuIGZhbHNlLgorICBJZiBhcmd1bWVudCBoYXMgYSBbW0NvbnN0cnVjdF1dIGlu
dGVybmFsIG1ldGhvZCwgcmV0dXJuIHRydWUuCisgIFJldHVybiBmYWxzZS4KK2luY2x1ZGVzOiBb
aXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3RdCistLS0qLwor
Cithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoRGF0ZSksIHRydWUsICdpc0NvbnN0cnVj
dG9yKERhdGUpIG11c3QgcmV0dXJuIHRydWUnKTsKK25ldyBEYXRlKCk7CisgIApkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvbm93L25vdC1hLWNvbnN0cnVj
dG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvbm93L25vdC1hLWNv
bnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5YjA0ZjQ3YTgxOWU0NjUwN2M4N2M2MWRhNmFjOTYy
Y2VhYWMxYjkKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9ub3cvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWlu
LW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIERhdGUubm93IGRvZXMgbm90IGltcGxlbWVudCBb
W0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5j
dGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3Qg
aWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25z
dHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAg
dGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVh
dGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFs
c2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29u
c3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlv
bl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihEYXRlLm5vdyksIGZh
bHNlLCAnaXNDb25zdHJ1Y3RvcihEYXRlLm5vdykgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNz
ZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IERhdGUubm93KCk7Cit9LCAnYG5l
dyBEYXRlLm5vdygpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3BhcnNlL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcGFyc2Uvbm90LWEtY29uc3RydWN0
b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzUzNTQwNTVjODllZDNiZmE4OTgxYTE1MGJhZjljZDJjYzMyZTQ2
ZAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3BhcnNlL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdo
dCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmpl
Y3RzCitkZXNjcmlwdGlvbjogPgorICBEYXRlLnBhcnNlIGRvZXMgbm90IGltcGxlbWVudCBbW0Nv
bnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlv
biBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRl
bnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1
Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhl
IGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVu
ZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2Us
IHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3Ry
dWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0K
Ky0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihEYXRlLnBhcnNlKSwgZmFs
c2UsICdpc0NvbnN0cnVjdG9yKERhdGUucGFyc2UpIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fz
c2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBEYXRlLnBhcnNlKCk7Cit9LCAn
YG5ldyBEYXRlLnBhcnNlKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldERhdGUvbm90LWEt
Y29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvZ2V0RGF0ZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMDQzZjA3YjYx
MjU5NWMzMzE5NzU5Njc3MDg3MTI4MGIyZWU3OGZlCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldERhdGUvbm90LWEtY29u
c3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sg
V2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBi
eSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2Vz
aWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9u
OiA+CisgIERhdGUucHJvdG90eXBlLmdldERhdGUgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3Ry
dWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9i
amVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlm
aWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1d
IGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVz
Y3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldwor
CisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhy
b3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rv
ci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0t
Ki8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihEYXRlLnByb3RvdHlwZS5n
ZXREYXRlKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90eXBlLmdldERh
dGUpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgp
ID0+IHsKKyAgbGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRhdGUuZ2V0RGF0
ZSgpOworfSwgJ2BsZXQgZGF0ZSA9IG5ldyBEYXRlKERhdGUubm93KCkpOyBuZXcgZGF0ZS5nZXRE
YXRlKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldERheS9ub3QtYS1jb25zdHJ1Y3Rvci5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXREYXkv
bm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTM2NWEzMmNiMmQ1ZTYxM2IwODI5NTg3
ZTMxNTU3YmFlNTY1NjIwMQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXREYXkvbm90LWEtY29uc3RydWN0b3IuanMKQEAg
LTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2Ny
aXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIERhdGUucHJv
dG90eXBlLmdldERheSBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5l
dy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0
LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0
b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9k
IHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBh
cnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElm
IElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBl
eGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6
IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2Ft
ZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90eXBlLmdldERheSksCisgIGZhbHNl
LAorICAnaXNDb25zdHJ1Y3RvcihEYXRlLnByb3RvdHlwZS5nZXREYXkpIG11c3QgcmV0dXJuIGZh
bHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IGRhdGUg
PSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRhdGUuZ2V0RGF5KCk7Cit9LCAnYGxldCBkYXRl
ID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7IG5ldyBkYXRlLmdldERheSgpYCB0aHJvd3MgVHlwZUVy
cm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9nZXRGdWxsWWVhci9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRGdWxsWWVhci9ub3QtYS1jb25z
dHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xODdlNmQxMWYwYmY0MzAxMzMyMjExYmE2NDNjMWUyZWQw
MzYwZGYwCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL2dldEZ1bGxZZWFyL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAg
KzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1z
dGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBEYXRlLnByb3RvdHlw
ZS5nZXRGdWxsWWVhciBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5l
dy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0
LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0
b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9k
IHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBh
cnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElm
IElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBl
eGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6
IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2Ft
ZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyKSwKKyAg
ZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyKSBtdXN0
IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7Cisg
IGxldCBkYXRlID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7IG5ldyBkYXRlLmdldEZ1bGxZZWFyKCk7
Cit9LCAnYGxldCBkYXRlID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7IG5ldyBkYXRlLmdldEZ1bGxZ
ZWFyKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldEhvdXJzL25vdC1hLWNvbnN0cnVjdG9y
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldEhv
dXJzL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlMzE0ODI2MzhiZTJlZTFlNDRk
MThhOWQwODVjYWI1M2FmN2U5ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0SG91cnMvbm90LWEtY29uc3RydWN0b3Iu
anMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1l
Y21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIERh
dGUucHJvdG90eXBlLmdldEhvdXJzIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBp
cyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisK
KyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBj
b25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5h
bCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9u
IG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4K
KyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlw
ZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitm
ZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMp
LAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoRGF0ZS5wcm90b3R5cGUuZ2V0SG91cnMpIG11
c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsK
KyAgbGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRhdGUuZ2V0SG91cnMoKTsK
K30sICdgbGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRhdGUuZ2V0SG91cnMo
KWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TWlsbGlzZWNvbmRzL25vdC1hLWNvbnN0cnVj
dG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dl
dE1pbGxpc2Vjb25kcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YWRiYjVjMTg0
NTBhODUwNjM0ZDhhN2Q5ZmM0ZDZmNDFjYjZlOGEwCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldE1pbGxpc2Vjb25kcy9u
b3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisv
Ki0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVz
Y3JpcHRpb246ID4KKyAgRGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzIGRvZXMgbm90IGlt
cGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNj
cmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0
IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0
aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZp
ZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBz
ZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3Rv
cikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRl
czogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJv
dy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3Io
RGF0ZS5wcm90b3R5cGUuZ2V0TWlsbGlzZWNvbmRzKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVj
dG9yKERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcykgbXVzdCByZXR1cm4gZmFsc2UnCisp
OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgZGF0ZSA9IG5ldyBE
YXRlKERhdGUubm93KCkpOyBuZXcgZGF0ZS5nZXRNaWxsaXNlY29uZHMoKTsKK30sICdgbGV0IGRh
dGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRhdGUuZ2V0TWlsbGlzZWNvbmRzKClgIHRo
cm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldE1pbnV0ZXMvbm90LWEtY29uc3RydWN0b3IuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TWludXRlcy9u
b3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTVlZWJiNzkzYzgxZTg2OGQ4ZmY5OGE5
MmE3NWUxY2ZjNzMzMjkxCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldE1pbnV0ZXMvbm90LWEtY29uc3RydWN0b3IuanMK
QEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21h
c2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIERhdGUu
cHJvdG90eXBlLmdldE1pbnV0ZXMgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlz
IG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKwor
ICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNv
bnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFs
IG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24g
b2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgor
ICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBl
RXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2Zl
YXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihEYXRlLnByb3RvdHlwZS5nZXRNaW51dGVz
KSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMp
IG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+
IHsKKyAgbGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRhdGUuZ2V0TWludXRl
cygpOworfSwgJ2BsZXQgZGF0ZSA9IG5ldyBEYXRlKERhdGUubm93KCkpOyBuZXcgZGF0ZS5nZXRN
aW51dGVzKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldE1vbnRoL25vdC1hLWNvbnN0cnVj
dG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dl
dE1vbnRoL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5N2Q0NzZhYmY3YTJkZGNj
ZmUxZGE3NDM5MDZmOTE5Mjg1OTI3OGMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0TW9udGgvbm90LWEtY29uc3RydWN0
b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJv
bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNl
Yy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+Cisg
IERhdGUucHJvdG90eXBlLmdldE1vbnRoIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1d
LCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3Rz
CisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBh
cyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRl
cm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0
aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAu
Li4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEg
VHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNd
CitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisK
K2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoRGF0ZS5wcm90b3R5cGUuZ2V0TW9u
dGgpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoRGF0ZS5wcm90b3R5cGUuZ2V0TW9udGgp
IG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+
IHsKKyAgbGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRhdGUuZ2V0TW9udGgo
KTsKK30sICdgbGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRhdGUuZ2V0TW9u
dGgoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0U2Vjb25kcy9ub3QtYS1jb25zdHJ1Y3Rv
ci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRT
ZWNvbmRzL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1M2ZjNGYxZGY5ZTU5MWM4
YmQ5YjM4ZWVjMDBmY2JlYjJjZDQ2N2IKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0U2Vjb25kcy9ub3QtYS1jb25zdHJ1
Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxk
cm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDog
c2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4K
KyAgRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcyBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1
Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2Jq
ZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZp
ZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0g
aW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNj
cmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisK
KyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJv
dyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9y
LmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0q
LworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90eXBlLmdl
dFNlY29uZHMpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoRGF0ZS5wcm90b3R5cGUuZ2V0
U2Vjb25kcykgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgKCkgPT4geworICBsZXQgZGF0ZSA9IG5ldyBEYXRlKERhdGUubm93KCkpOyBuZXcgZGF0ZS5n
ZXRTZWNvbmRzKCk7Cit9LCAnYGxldCBkYXRlID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7IG5ldyBk
YXRlLmdldFNlY29uZHMoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VGltZS9ub3QtYS1j
b25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9nZXRUaW1lL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAzNGJkMTAxNjdl
NzhkNzRmMGE1NGQ5NzlkNmM3MzhiZDA5OTEzYzgKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VGltZS9ub3QtYS1jb25z
dHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBX
YWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246
ID4KKyAgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1
Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2Jq
ZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZp
ZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0g
aW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNj
cmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisK
KyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJv
dyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9y
LmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0q
LworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90eXBlLmdl
dFRpbWUpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoRGF0ZS5wcm90b3R5cGUuZ2V0VGlt
ZSkgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkg
PT4geworICBsZXQgZGF0ZSA9IG5ldyBEYXRlKERhdGUubm93KCkpOyBuZXcgZGF0ZS5nZXRUaW1l
KCk7Cit9LCAnYGxldCBkYXRlID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7IG5ldyBkYXRlLmdldFRp
bWUoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VGltZXpvbmVPZmZzZXQvbm90LWEtY29u
c3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvZ2V0VGltZXpvbmVPZmZzZXQvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWNm
NmJkNjI3MDdlZDJlNDE2ZDUyZWFhZmQ1NmFiODM4MmI1MmJlNAotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRUaW1lem9u
ZU9mZnNldC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmln
aHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2Jq
ZWN0cworZGVzY3JpcHRpb246ID4KKyAgRGF0ZS5wcm90b3R5cGUuZ2V0VGltZXpvbmVPZmZzZXQg
ZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzog
fAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBv
YmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAg
aW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3
aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0
aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9y
KGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAu
Li4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25z
dHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXND
b25zdHJ1Y3RvcihEYXRlLnByb3RvdHlwZS5nZXRUaW1lem9uZU9mZnNldCksCisgIGZhbHNlLAor
ICAnaXNDb25zdHJ1Y3RvcihEYXRlLnByb3RvdHlwZS5nZXRUaW1lem9uZU9mZnNldCkgbXVzdCBy
ZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBs
ZXQgZGF0ZSA9IG5ldyBEYXRlKERhdGUubm93KCkpOyBuZXcgZGF0ZS5nZXRUaW1lem9uZU9mZnNl
dCgpOworfSwgJ2BsZXQgZGF0ZSA9IG5ldyBEYXRlKERhdGUubm93KCkpOyBuZXcgZGF0ZS5nZXRU
aW1lem9uZU9mZnNldCgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENEYXRlL25vdC1h
LWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL2dldFVUQ0RhdGUvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWQxNDQw
ZDAzYTNkMThkNmMxNmJmNWFjZmQ2MDJmYjBhZjlhZjQwMAotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENEYXRlL25v
dC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAy
MCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8q
LS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNj
cmlwdGlvbjogPgorICBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXRlIGRvZXMgbm90IGltcGxlbWVu
dCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBG
dW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBu
b3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tD
b25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4K
KyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZh
bHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMg
ZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lz
Q29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5j
dGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoRGF0ZS5w
cm90b3R5cGUuZ2V0VVRDRGF0ZSksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihEYXRlLnBy
b3RvdHlwZS5nZXRVVENEYXRlKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJv
d3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCBkYXRlID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7
IG5ldyBkYXRlLmdldFVUQ0RhdGUoKTsKK30sICdgbGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5v
dygpKTsgbmV3IGRhdGUuZ2V0VVRDRGF0ZSgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRV
VENEYXkvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRGF5L25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIzY2QxMTVhNzFhM2QzZTc2NTBlZDc2YTczNzIyNGFhYmQwOWVhNzEKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0
VVRDRGF5L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdo
dCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmpl
Y3RzCitkZXNjcmlwdGlvbjogPgorICBEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkgZG9lcyBub3Qg
aW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01B
U2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRo
YXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50
IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNp
ZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisg
IHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVj
dG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1
ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFy
cm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3Rv
cihEYXRlLnByb3RvdHlwZS5nZXRVVENEYXkpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3Io
RGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF5KSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCBkYXRlID0gbmV3IERhdGUoRGF0ZS5u
b3coKSk7IG5ldyBkYXRlLmdldFVUQ0RheSgpOworfSwgJ2BsZXQgZGF0ZSA9IG5ldyBEYXRlKERh
dGUubm93KCkpOyBuZXcgZGF0ZS5nZXRVVENEYXkoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
Z2V0VVRDRnVsbFllYXIvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRDRnVsbFllYXIvbm90LWEtY29uc3RydWN0
b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjZlMGUwNTk2OTE2MjJiNDYyZTVlMGQ2YjJhM2U2MGUxYzRmNWRi
NQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9nZXRVVENGdWxsWWVhci9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsx
LDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3Rh
bmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgRGF0ZS5wcm90b3R5cGUu
Z2V0VVRDRnVsbFllYXIgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBu
ZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWls
dC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVj
dG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhv
ZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBw
YXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJ
ZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3Ig
ZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVz
OiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhciks
CisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVh
cikgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkg
PT4geworICBsZXQgZGF0ZSA9IG5ldyBEYXRlKERhdGUubm93KCkpOyBuZXcgZGF0ZS5nZXRVVENG
dWxsWWVhcigpOworfSwgJ2BsZXQgZGF0ZSA9IG5ldyBEYXRlKERhdGUubm93KCkpOyBuZXcgZGF0
ZS5nZXRVVENGdWxsWWVhcigpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENIb3Vycy9u
b3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9nZXRVVENIb3Vycy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
NWY2NWEzYjI4NzgzN2RhY2UyNDA4MDUzYzZhY2RmMTJmOGY4ZDNhCi0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ0hv
dXJzL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAo
QykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
CisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3Rz
CitkZXNjcmlwdGlvbjogPgorICBEYXRlLnByb3RvdHlwZS5nZXRVVENIb3VycyBkb2VzIG5vdCBp
bXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFT
Y3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhh
dCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQg
dGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lm
aWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAg
c2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0
b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVk
ZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJy
b3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9y
KERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9y
KERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fz
c2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCBkYXRlID0gbmV3IERhdGUoRGF0
ZS5ub3coKSk7IG5ldyBkYXRlLmdldFVUQ0hvdXJzKCk7Cit9LCAnYGxldCBkYXRlID0gbmV3IERh
dGUoRGF0ZS5ub3coKSk7IG5ldyBkYXRlLmdldFVUQ0hvdXJzKClgIHRocm93cyBUeXBlRXJyb3In
KTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL2dldFVUQ01pbGxpc2Vjb25kcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNaWxsaXNlY29uZHMv
bm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDEyZGZkYWZkMjFjNjU4NzVhNmFlYTVm
ZTcwYzc2ZTE2YzBiMmZiZQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNaWxsaXNlY29uZHMvbm90LWEtY29uc3Ry
dWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2Fs
ZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6
IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+
CisgIERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcyBkb2VzIG5vdCBpbXBsZW1lbnQg
W1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVu
Y3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90
IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29u
c3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisg
IHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1
YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZh
bHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0Nv
bnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rp
b25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKERhdGUucHJv
dG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcyksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihE
YXRlLnByb3RvdHlwZS5nZXRVVENNaWxsaXNlY29uZHMpIG11c3QgcmV0dXJuIGZhbHNlJworKTsK
KworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IGRhdGUgPSBuZXcgRGF0
ZShEYXRlLm5vdygpKTsgbmV3IGRhdGUuZ2V0VVRDTWlsbGlzZWNvbmRzKCk7Cit9LCAnYGxldCBk
YXRlID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7IG5ldyBkYXRlLmdldFVUQ01pbGxpc2Vjb25kcygp
YCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNaW51dGVzL25vdC1hLWNvbnN0cnVjdG9y
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVU
Q01pbnV0ZXMvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2QwY2JjYWQzOWRjODdl
OTM0ZjkwMGYzMWQ1ZTdhYTQ5MDFkYjljNgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNaW51dGVzL25vdC1hLWNv
bnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNr
IFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitl
c2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlv
bjogPgorICBEYXRlLnByb3RvdHlwZS5nZXRVVENNaW51dGVzIGRvZXMgbm90IGltcGxlbWVudCBb
W0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5j
dGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3Qg
aWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25z
dHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAg
dGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVh
dGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFs
c2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29u
c3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlv
bl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoRGF0ZS5wcm90
b3R5cGUuZ2V0VVRDTWludXRlcyksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihEYXRlLnBy
b3RvdHlwZS5nZXRVVENNaW51dGVzKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50
aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCBkYXRlID0gbmV3IERhdGUoRGF0ZS5ub3co
KSk7IG5ldyBkYXRlLmdldFVUQ01pbnV0ZXMoKTsKK30sICdgbGV0IGRhdGUgPSBuZXcgRGF0ZShE
YXRlLm5vdygpKTsgbmV3IGRhdGUuZ2V0VVRDTWludXRlcygpYCB0aHJvd3MgVHlwZUVycm9yJyk7
CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3Rv
dHlwZS9nZXRVVENNb250aC9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9nZXRVVENNb250aC9ub3QtYS1jb25zdHJ1Y3Rv
ci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kY2UyMmM3NGI5MGFmYTU0ZDg2YTRlNTcwNmFmYjJkMDk4Nzg5YWMz
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL2dldFVUQ01vbnRoL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMg
QEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFy
ZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBEYXRlLnByb3RvdHlwZS5nZXRV
VENNb250aCBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxl
CitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1
bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRv
IG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVz
cyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3Vs
YXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29u
c3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRp
b24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZs
ZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVl
KAorICBpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoKSwKKyAgZmFsc2Us
CisgICdpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoKSBtdXN0IHJldHVy
biBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCBk
YXRlID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7IG5ldyBkYXRlLmdldFVUQ01vbnRoKCk7Cit9LCAn
YGxldCBkYXRlID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7IG5ldyBkYXRlLmdldFVUQ01vbnRoKClg
IHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ1NlY29uZHMvbm90LWEtY29uc3RydWN0b3Iu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvZ2V0VVRD
U2Vjb25kcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ODNlZjk4NmZiMDRlNmJl
YmY2YTQxYWQ3YmI4ZmYzM2UzNGZhOWFkCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL2dldFVUQ1NlY29uZHMvbm90LWEtY29u
c3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sg
V2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBi
eSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2Vz
aWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9u
OiA+CisgIERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMgZG9lcyBub3QgaW1wbGVtZW50IFtb
Q29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0
aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBp
ZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0
cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0
aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0
ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxz
ZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25z
dHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9u
XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihEYXRlLnByb3Rv
dHlwZS5nZXRVVENTZWNvbmRzKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKERhdGUucHJv
dG90eXBlLmdldFVUQ1NlY29uZHMpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygp
KTsgbmV3IGRhdGUuZ2V0VVRDU2Vjb25kcygpOworfSwgJ2BsZXQgZGF0ZSA9IG5ldyBEYXRlKERh
dGUubm93KCkpOyBuZXcgZGF0ZS5nZXRVVENTZWNvbmRzKClgIHRocm93cyBUeXBlRXJyb3InKTsK
KwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3NldERhdGUvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0RGF0ZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yZGI4YjVlNjE0YjE2NjNkZmViOWZlNWZkMzNmMmZiMWM1MmMxMzdkCi0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L3NldERhdGUvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9i
amVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIERhdGUucHJvdG90eXBlLnNldERhdGUgZG9lcyBub3Qg
aW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01B
U2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRo
YXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50
IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNp
ZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisg
IHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVj
dG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1
ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFy
cm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3Rv
cihEYXRlLnByb3RvdHlwZS5zZXREYXRlKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKERh
dGUucHJvdG90eXBlLnNldERhdGUpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygp
KTsgbmV3IGRhdGUuc2V0RGF0ZSgpOworfSwgJ2BsZXQgZGF0ZSA9IG5ldyBEYXRlKERhdGUubm93
KCkpOyBuZXcgZGF0ZS5zZXREYXRlKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldEZ1bGxZ
ZWFyL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0RhdGUvcHJvdG90eXBlL3NldEZ1bGxZZWFyL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmJkYWQxOTNjMTkzODZiM2ViNTExNDM5NmUwZjdkNTc1NDNiNzljODQKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0
RnVsbFllYXIvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9i
amVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyIGRvZXMg
bm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAg
RUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0
cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxl
bWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBz
cGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4K
KworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25z
dHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitp
bmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0
LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3Ry
dWN0b3IoRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3Ry
dWN0b3IoRGF0ZS5wcm90b3R5cGUuc2V0RnVsbFllYXIpIG11c3QgcmV0dXJuIGZhbHNlJworKTsK
KworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IGRhdGUgPSBuZXcgRGF0
ZShEYXRlLm5vdygpKTsgbmV3IGRhdGUuc2V0RnVsbFllYXIoKTsKK30sICdgbGV0IGRhdGUgPSBu
ZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRhdGUuc2V0RnVsbFllYXIoKWAgdGhyb3dzIFR5cGVF
cnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0
ZS9wcm90b3R5cGUvc2V0SG91cnMvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0SG91cnMvbm90LWEtY29uc3RydWN0
b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjljNTA1M2M1NmY4MjNlY2JiNjZhNDRlNzdlOTIwZDM2MTM4ZWRh
NQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9zZXRIb3Vycy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQt
YnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgRGF0ZS5wcm90b3R5cGUuc2V0SG91
cnMgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5m
bzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlv
biBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QK
KyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3Ro
ZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1
bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVj
dG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgor
ICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5j
b25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
aXNDb25zdHJ1Y3RvcihEYXRlLnByb3RvdHlwZS5zZXRIb3VycyksCisgIGZhbHNlLAorICAnaXND
b25zdHJ1Y3RvcihEYXRlLnByb3RvdHlwZS5zZXRIb3VycykgbXVzdCByZXR1cm4gZmFsc2UnCisp
OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgZGF0ZSA9IG5ldyBE
YXRlKERhdGUubm93KCkpOyBuZXcgZGF0ZS5zZXRIb3VycygpOworfSwgJ2BsZXQgZGF0ZSA9IG5l
dyBEYXRlKERhdGUubm93KCkpOyBuZXcgZGF0ZS5zZXRIb3VycygpYCB0aHJvd3MgVHlwZUVycm9y
Jyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS9zZXRNaWxsaXNlY29uZHMvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TWlsbGlzZWNvbmRzL25vdC1h
LWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmYmU5ZjNkN2Y0MzMzMDZlYTk5NmE0NzMwYzll
MmEzMTc1NzM2YjUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TWlsbGlzZWNvbmRzL25vdC1hLWNvbnN0cnVjdG9yLmpz
CkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNt
YXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBEYXRl
LnByb3RvdHlwZS5zZXRNaWxsaXNlY29uZHMgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0
XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVj
dHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVk
IGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGlu
dGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3Jp
cHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisg
IC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cg
YSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5q
c10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8K
KworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihEYXRlLnByb3RvdHlwZS5zZXRN
aWxsaXNlY29uZHMpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoRGF0ZS5wcm90b3R5cGUu
c2V0TWlsbGlzZWNvbmRzKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3Mo
VHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCBkYXRlID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7IG5l
dyBkYXRlLnNldE1pbGxpc2Vjb25kcygpOworfSwgJ2BsZXQgZGF0ZSA9IG5ldyBEYXRlKERhdGUu
bm93KCkpOyBuZXcgZGF0ZS5zZXRNaWxsaXNlY29uZHMoKWAgdGhyb3dzIFR5cGVFcnJvcicpOwor
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvc2V0TWludXRlcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRNaW51dGVzL25vdC1hLWNvbnN0cnVjdG9yLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmVhOGZkZjYwMDIyM2E3NGU2NThhYWFiN2I3MDVmYzNkZjdmODg5MDIKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90
b3R5cGUvc2V0TWludXRlcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisv
LyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVp
bHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgRGF0ZS5wcm90b3R5cGUuc2V0TWludXRl
cyBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZv
OiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9u
IG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAor
ICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhl
cndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVu
Y3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0
b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisg
IC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNv
bnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBp
c0NvbnN0cnVjdG9yKERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMpLAorICBmYWxzZSwKKyAgJ2lz
Q29uc3RydWN0b3IoRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcykgbXVzdCByZXR1cm4gZmFsc2Un
CispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgZGF0ZSA9IG5l
dyBEYXRlKERhdGUubm93KCkpOyBuZXcgZGF0ZS5zZXRNaW51dGVzKCk7Cit9LCAnYGxldCBkYXRl
ID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7IG5ldyBkYXRlLnNldE1pbnV0ZXMoKWAgdGhyb3dzIFR5
cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvc2V0TW9udGgvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0TW9udGgvbm90LWEtY29uc3Ry
dWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjU4MTQwYWE4NmFhYmJiY2FiMDc1ODBkY2U5YzcxNmRiZDg1
OTFhOAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9zZXRNb250aC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMz
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRh
cmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgRGF0ZS5wcm90b3R5cGUuc2V0
TW9udGggZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQor
aW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5j
dGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBu
b3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mg
b3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFy
IGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0
cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9u
LgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVj
dC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgaXNDb25zdHJ1Y3RvcihEYXRlLnByb3RvdHlwZS5zZXRNb250aCksCisgIGZhbHNlLAorICAn
aXNDb25zdHJ1Y3RvcihEYXRlLnByb3RvdHlwZS5zZXRNb250aCkgbXVzdCByZXR1cm4gZmFsc2Un
CispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgZGF0ZSA9IG5l
dyBEYXRlKERhdGUubm93KCkpOyBuZXcgZGF0ZS5zZXRNb250aCgpOworfSwgJ2BsZXQgZGF0ZSA9
IG5ldyBEYXRlKERhdGUubm93KCkpOyBuZXcgZGF0ZS5zZXRNb250aCgpYCB0aHJvd3MgVHlwZUVy
cm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9zZXRTZWNvbmRzL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFNlY29uZHMvbm90LWEtY29uc3Ry
dWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA1MGZkODgxM2M2NjY0MjM5ZGU0MDc5YjE0NTBhNTA4ZWU3
ZjE5YQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9zZXRTZWNvbmRzL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEs
MzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFu
ZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBEYXRlLnByb3RvdHlwZS5z
ZXRTZWNvbmRzIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFi
bGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4g
ZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMg
ZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5s
ZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGlj
dWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXND
b25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2Vw
dGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1Jl
ZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIGlzQ29uc3RydWN0b3IoRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcyksCisgIGZhbHNl
LAorICAnaXNDb25zdHJ1Y3RvcihEYXRlLnByb3RvdHlwZS5zZXRTZWNvbmRzKSBtdXN0IHJldHVy
biBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCBk
YXRlID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7IG5ldyBkYXRlLnNldFNlY29uZHMoKTsKK30sICdg
bGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRhdGUuc2V0U2Vjb25kcygpYCB0
aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRUaW1lL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFRpbWUvbm90LWEt
Y29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWEwYmJhNDhiNTI3M2E0YjNhZTA2ODAxM2I5NjFk
Mzk5ODFlNGIzYgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRUaW1lL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAg
KzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1z
dGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBEYXRlLnByb3RvdHlw
ZS5zZXRUaW1lIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFi
bGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4g
ZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMg
ZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5s
ZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGlj
dWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXND
b25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2Vw
dGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1Jl
ZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIGlzQ29uc3RydWN0b3IoRGF0ZS5wcm90b3R5cGUuc2V0VGltZSksCisgIGZhbHNlLAor
ICAnaXNDb25zdHJ1Y3RvcihEYXRlLnByb3RvdHlwZS5zZXRUaW1lKSBtdXN0IHJldHVybiBmYWxz
ZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCBkYXRlID0g
bmV3IERhdGUoRGF0ZS5ub3coKSk7IG5ldyBkYXRlLnNldFRpbWUoKTsKK30sICdgbGV0IGRhdGUg
PSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRhdGUuc2V0VGltZSgpYCB0aHJvd3MgVHlwZUVy
cm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS9zZXRVVENEYXRlL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0RhdGUvbm90LWEtY29uc3Ry
dWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNWUwYWVjOWFjZWIxYzAyNDU5Y2NlNmVlMTVmYjU4ODhhNzQw
OTE4NQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS9zZXRVVENEYXRlL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEs
MzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFu
ZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBEYXRlLnByb3RvdHlwZS5z
ZXRVVENEYXRlIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFi
bGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4g
ZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMg
ZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5s
ZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGlj
dWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXND
b25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2Vw
dGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1Jl
ZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIGlzQ29uc3RydWN0b3IoRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSksCisgIGZhbHNl
LAorICAnaXNDb25zdHJ1Y3RvcihEYXRlLnByb3RvdHlwZS5zZXRVVENEYXRlKSBtdXN0IHJldHVy
biBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCBk
YXRlID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7IG5ldyBkYXRlLnNldFVUQ0RhdGUoKTsKK30sICdg
bGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRhdGUuc2V0VVRDRGF0ZSgpYCB0
aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENGdWxsWWVhci9ub3QtYS1jb25zdHJ1Y3Rvci5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS9zZXRVVENG
dWxsWWVhci9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kM2M3OGQxOGFiYzE5Njdh
ZDc4YTIxZWNkODFiNDVhZTZmYzRkM2ZmCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0Z1bGxZZWFyL25vdC1hLWNv
bnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNr
IFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitl
c2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlv
bjogPgorICBEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxsWWVhciBkb2VzIG5vdCBpbXBsZW1lbnQg
W1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVu
Y3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90
IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29u
c3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisg
IHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1
YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZh
bHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0Nv
bnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rp
b25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKERhdGUucHJv
dG90eXBlLnNldFVUQ0Z1bGxZZWFyKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKERhdGUu
cHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCBkYXRlID0gbmV3IERhdGUoRGF0ZS5u
b3coKSk7IG5ldyBkYXRlLnNldFVUQ0Z1bGxZZWFyKCk7Cit9LCAnYGxldCBkYXRlID0gbmV3IERh
dGUoRGF0ZS5ub3coKSk7IG5ldyBkYXRlLnNldFVUQ0Z1bGxZZWFyKClgIHRocm93cyBUeXBlRXJy
b3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUv
cHJvdG90eXBlL3NldFVUQ0hvdXJzL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ0hvdXJzL25vdC1hLWNvbnN0
cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwMmM2YmZiZGM3M2NkOGYzOTJlODk3ZTc3MTVhZGFiMmQ0
NTZmZmIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvc2V0VVRDSG91cnMvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCAr
MSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0
YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIERhdGUucHJvdG90eXBl
LnNldFVUQ0hvdXJzIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3
LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQt
aW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3Rv
cnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2Qg
dW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFy
dGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYg
SXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4
Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczog
W1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIGlzQ29uc3RydWN0b3IoRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMpLAorICBm
YWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoRGF0ZS5wcm90b3R5cGUuc2V0VVRDSG91cnMpIG11c3Qg
cmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAg
bGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRhdGUuc2V0VVRDSG91cnMoKTsK
K30sICdgbGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRhdGUuc2V0VVRDSG91
cnMoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTWlsbGlzZWNvbmRzL25vdC1hLWNv
bnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3NldFVUQ01pbGxpc2Vjb25kcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
NWVjYTJmYThjYWQzM2E1OGFmYzY2ODJiNmZkYTMxMTg3MmY1YzU1Ci0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01p
bGxpc2Vjb25kcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5
cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4t
b2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNv
bmRzIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2lu
Zm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rp
b24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90
CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90
aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBm
dW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1
Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4K
KyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3Qu
Y29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisg
IGlzQ29uc3RydWN0b3IoRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWlsbGlzZWNvbmRzKSwKKyAgZmFs
c2UsCisgICdpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcykg
bXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4g
eworICBsZXQgZGF0ZSA9IG5ldyBEYXRlKERhdGUubm93KCkpOyBuZXcgZGF0ZS5zZXRVVENNaWxs
aXNlY29uZHMoKTsKK30sICdgbGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRh
dGUuc2V0VVRDTWlsbGlzZWNvbmRzKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01p
bnV0ZXMvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTWludXRlcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wNzYyZWMzMDBkYWMyMGIwYzhjNzc3MDc2MDEwOTNlMDRiMjk5NjFjCi0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBl
L3NldFVUQ01pbnV0ZXMvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8g
Q29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0
LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0
ZXMgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5m
bzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlv
biBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QK
KyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3Ro
ZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1
bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVj
dG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgor
ICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5j
b25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
aXNDb25zdHJ1Y3RvcihEYXRlLnByb3RvdHlwZS5zZXRVVENNaW51dGVzKSwKKyAgZmFsc2UsCisg
ICdpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMpIG11c3QgcmV0dXJu
IGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IGRh
dGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRhdGUuc2V0VVRDTWludXRlcygpOworfSwg
J2BsZXQgZGF0ZSA9IG5ldyBEYXRlKERhdGUubm93KCkpOyBuZXcgZGF0ZS5zZXRVVENNaW51dGVz
KClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVUQ01vbnRoL25vdC1hLWNvbnN0cnVjdG9y
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3NldFVU
Q01vbnRoL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2NDNjNDZiMTI1ZTkxMTRl
YzIyZWY0YTgyOGUyYTM5NmUwMjM4OGYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDTW9udGgvbm90LWEtY29uc3Ry
dWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2Fs
ZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6
IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+
CisgIERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0
cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBP
YmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRp
ZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3Rd
XSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRl
c2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcK
KworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRo
cm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0
b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0t
LSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoRGF0ZS5wcm90b3R5cGUu
c2V0VVRDTW9udGgpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoRGF0ZS5wcm90b3R5cGUu
c2V0VVRDTW9udGgpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsICgpID0+IHsKKyAgbGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRh
dGUuc2V0VVRDTW9udGgoKTsKK30sICdgbGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsg
bmV3IGRhdGUuc2V0VVRDTW9udGgoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvc2V0VVRDU2Vj
b25kcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9EYXRlL3Byb3RvdHlwZS9zZXRVVENTZWNvbmRzL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjBkM2UwNWFjY2ZmYTA5YTU2NDQyOGQ2Y2U0MDIxYjEwN2FiYjM3ZTAKLS0tIC9kZXYv
bnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUv
c2V0VVRDU2Vjb25kcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBD
b3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQt
aW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25k
cyBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZv
OiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9u
IG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAor
ICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhl
cndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVu
Y3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0
b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisg
IC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNv
bnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBp
c0NvbnN0cnVjdG9yKERhdGUucHJvdG90eXBlLnNldFVUQ1NlY29uZHMpLAorICBmYWxzZSwKKyAg
J2lzQ29uc3RydWN0b3IoRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcykgbXVzdCByZXR1cm4g
ZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgZGF0
ZSA9IG5ldyBEYXRlKERhdGUubm93KCkpOyBuZXcgZGF0ZS5zZXRVVENTZWNvbmRzKCk7Cit9LCAn
YGxldCBkYXRlID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7IG5ldyBkYXRlLnNldFVUQ1NlY29uZHMo
KWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9EYXRlU3RyaW5nL25vdC1hLWNvbnN0cnVjdG9y
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvRGF0
ZVN0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43N2U5NDhmZWIyOWNlZDll
ZGFiMmQ2ZTgxMTZkZTMwZDQzYWM4ZmZkCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvRGF0ZVN0cmluZy9ub3QtYS1jb25z
dHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBX
YWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246
ID4KKyAgRGF0ZS5wcm90b3R5cGUudG9EYXRlU3RyaW5nIGRvZXMgbm90IGltcGxlbWVudCBbW0Nv
bnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlv
biBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRl
bnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1
Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhl
IGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVu
ZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2Us
IHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3Ry
dWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0K
Ky0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoRGF0ZS5wcm90b3R5
cGUudG9EYXRlU3RyaW5nKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90
eXBlLnRvRGF0ZVN0cmluZykgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dz
KFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgZGF0ZSA9IG5ldyBEYXRlKERhdGUubm93KCkpOyBu
ZXcgZGF0ZS50b0RhdGVTdHJpbmcoKTsKK30sICdgbGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5v
dygpKTsgbmV3IGRhdGUudG9EYXRlU3RyaW5nKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3Rv
SVNPU3RyaW5nL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvSVNPU3RyaW5nL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjcyZmFjODU1Njg0NTU2ODQ5MzgyMGI3NWE1MDRhOWZkMjgxYjI1YzgKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvdG9JU09TdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8g
Q29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0
LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5n
IGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86
IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24g
b2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90Cisg
IGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVy
d2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5j
dGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rv
cihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAg
Li4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29u
c3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlz
Q29uc3RydWN0b3IoRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcpLAorICBmYWxzZSwKKyAgJ2lz
Q29uc3RydWN0b3IoRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcpIG11c3QgcmV0dXJuIGZhbHNl
JworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IGRhdGUgPSBu
ZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRhdGUudG9JU09TdHJpbmcoKTsKK30sICdgbGV0IGRh
dGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRhdGUudG9JU09TdHJpbmcoKWAgdGhyb3dz
IFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRGF0ZS9wcm90b3R5cGUvdG9KU09OL2J1aWx0aW4uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5cGUvdG9KU09OL2J1aWx0aW4uanMKaW5kZXggN2M3ZjM4
YzE1NDUyNzc1Njg3NDFjNDgyMzRhMzcwOTJkOTQxNTBiNi4uOWMwZmJjNWVmY2U0NDMxNjE0MDJj
YThhOWM2ZDIyMThiZWE4OWI2MyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvSlNPTi9idWlsdGluLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0pTT04vYnVpbHRpbi5qcwpAQCAt
NiwxNiArNiwxOSBAQCBkZXNjcmlwdGlvbjogPgogICBUZXN0cyB0aGF0IERhdGUucHJvdG90eXBl
LnRvSlNPTiBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzCiAgIGZvciBidWlsdC1pbiBvYmplY3RzIGRl
ZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZiBjaGFwdGVyIDE3IG9mCiAgIHRoZSBFQ01BU2Ny
aXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCi1pbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNd
CiBmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0XQogLS0tKi8KIAotdmFyIHRvSlNPTiA9IERh
dGUucHJvdG90eXBlLnRvSlNPTjsKLQotYXNzZXJ0KE9iamVjdC5pc0V4dGVuc2libGUodG9KU09O
KSk7Ci1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiB0b0pTT04sICdmdW5jdGlvbicpOwotYXNzZXJ0
LnNhbWVWYWx1ZShPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodG9KU09OKSwgJ1tvYmpl
Y3QgRnVuY3Rpb25dJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0
b0pTT04pLCBGdW5jdGlvbi5wcm90b3R5cGUpOwotCi1hc3NlcnQuc2FtZVZhbHVlKHRvSlNPTi5o
YXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJyksIGZhbHNlKTsKLWFzc2VydC5zYW1lVmFsdWUoaXND
b25zdHJ1Y3Rvcih0b0pTT04pLCBmYWxzZSk7Cithc3NlcnQoT2JqZWN0LmlzRXh0ZW5zaWJsZShE
YXRlLnByb3RvdHlwZS50b0pTT04pLCAnT2JqZWN0LmlzRXh0ZW5zaWJsZShEYXRlLnByb3RvdHlw
ZS50b0pTT04pIG11c3QgcmV0dXJuIHRydWUnKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIERh
dGUucHJvdG90eXBlLnRvSlNPTiwgJ2Z1bmN0aW9uJywgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIERh
dGUucHJvdG90eXBlLnRvSlNPTmAgaXMgImZ1bmN0aW9uIicpOworYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKERhdGUucHJvdG90eXBlLnRvSlNPTiks
CisgICdbb2JqZWN0IEZ1bmN0aW9uXScsCisgICdPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNh
bGwoRGF0ZS5wcm90b3R5cGUudG9KU09OKSBtdXN0IHJldHVybiAiW29iamVjdCBGdW5jdGlvbl0i
JworKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5nZXRQcm90b3R5cGVPZihEYXRlLnBy
b3RvdHlwZS50b0pTT04pLAorICBGdW5jdGlvbi5wcm90b3R5cGUsCisgICdPYmplY3QuZ2V0UHJv
dG90eXBlT2YoRGF0ZS5wcm90b3R5cGUudG9KU09OKSBtdXN0IHJldHVybiB0aGUgdmFsdWUgb2Yg
RnVuY3Rpb24ucHJvdG90eXBlJworKTsKK2Fzc2VydC5zYW1lVmFsdWUoRGF0ZS5wcm90b3R5cGUu
dG9KU09OLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSwgZmFsc2UsICdEYXRlLnByb3RvdHlw
ZS50b0pTT04uaGFzT3duUHJvcGVydHkoInByb3RvdHlwZSIpIG11c3QgcmV0dXJuIGZhbHNlJyk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRGF0ZS9wcm90b3R5
cGUvdG9KU09OL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvSlNPTi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lMGNjMjhmOWM4M2JjMTBlNjViMGU4YzQ0MTZiMjczNDFhNmI4ZjlkCi0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3Rv
SlNPTi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQg
KEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2Rl
IGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0
cworZGVzY3JpcHRpb246ID4KKyAgRGF0ZS5wcm90b3R5cGUudG9KU09OIGRvZXMgbm90IGltcGxl
bWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlw
dCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFy
ZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUg
W1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQg
aW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMt
ZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3Rvcikg
aXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczog
W2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1m
dW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoRGF0
ZS5wcm90b3R5cGUudG9KU09OKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKERhdGUucHJv
dG90eXBlLnRvSlNPTikgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5
cGVFcnJvciwgKCkgPT4geworICBsZXQgZGF0ZSA9IG5ldyBEYXRlKERhdGUubm93KCkpOyBuZXcg
ZGF0ZS50b0pTT04oKTsKK30sICdgbGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3
IGRhdGUudG9KU09OKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvTG9jYWxlRGF0ZVN0cmlu
Zy9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9E
YXRlL3Byb3RvdHlwZS90b0xvY2FsZURhdGVTdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZGQ4Y2JiNDUyYzAxOTUyMTgzZmQ5OWEzOTQ4MzMwNWFiNzEwMGYwYgotLS0gL2Rl
di9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS90b0xvY2FsZURhdGVTdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBA
QAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJk
LWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIERhdGUucHJvdG90eXBlLnRvTG9j
YWxlRGF0ZVN0cmluZyBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5l
dy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0
LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0
b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9k
IHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBh
cnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElm
IElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBl
eGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6
IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2Ft
ZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmlu
ZyksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihEYXRlLnByb3RvdHlwZS50b0xvY2FsZURh
dGVTdHJpbmcpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsICgpID0+IHsKKyAgbGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRhdGUu
dG9Mb2NhbGVEYXRlU3RyaW5nKCk7Cit9LCAnYGxldCBkYXRlID0gbmV3IERhdGUoRGF0ZS5ub3co
KSk7IG5ldyBkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlw
ZS90b0xvY2FsZVN0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9ub3QtYS1jb25zdHJ1
Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lNjRhNGM5NmRjOTY4MjcwZjhlMGY3ZGQwYWY2MmZiODgwNTEx
NDBhCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Rh
dGUvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAg
KzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1z
dGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBEYXRlLnByb3RvdHlw
ZS50b0xvY2FsZVN0cmluZyBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90
IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1
aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3Ry
dWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0
aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBh
IHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcu
IElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJv
ciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVy
ZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQu
c2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5n
KSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3Ry
aW5nKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAo
KSA9PiB7CisgIGxldCBkYXRlID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7IG5ldyBkYXRlLnRvTG9j
YWxlU3RyaW5nKCk7Cit9LCAnYGxldCBkYXRlID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7IG5ldyBk
YXRlLnRvTG9jYWxlU3RyaW5nKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvTG9jYWxlVGlt
ZVN0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9EYXRlL3Byb3RvdHlwZS90b0xvY2FsZVRpbWVTdHJpbmcvbm90LWEtY29uc3RydWN0b3Iu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOGVhMDQzMDE1MDgzNDBiNDk4ZTFiNjhkZjE0ODVjNTA2Yjc5ZDk4YQot
LS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS90b0xvY2FsZVRpbWVTdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCAr
MSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0
YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIERhdGUucHJvdG90eXBl
LnRvTG9jYWxlVGltZVN0cmluZyBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMg
bm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisg
IEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29u
c3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwg
bWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBv
ZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisg
IDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVF
cnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVh
dHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3Nl
cnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGlt
ZVN0cmluZyksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihEYXRlLnByb3RvdHlwZS50b0xv
Y2FsZVRpbWVTdHJpbmcpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhU
eXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3
IGRhdGUudG9Mb2NhbGVUaW1lU3RyaW5nKCk7Cit9LCAnYGxldCBkYXRlID0gbmV3IERhdGUoRGF0
ZS5ub3coKSk7IG5ldyBkYXRlLnRvTG9jYWxlVGltZVN0cmluZygpYCB0aHJvd3MgVHlwZUVycm9y
Jyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3By
b3RvdHlwZS90b1N0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1N0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xZDZlOGQyZDI3YjYzMWQ5ODA2OGQ2MTI2MTc2ZDc2NTMwN2U1ZjEyCi0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJv
dG90eXBlL3RvU3RyaW5nL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWls
dC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBEYXRlLnByb3RvdHlwZS50b1N0cmluZyBk
b2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8
CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9i
amVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBp
bXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndp
c2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rp
b24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3Io
Y29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4u
LgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0
cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0Nv
bnN0cnVjdG9yKERhdGUucHJvdG90eXBlLnRvU3RyaW5nKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0
cnVjdG9yKERhdGUucHJvdG90eXBlLnRvU3RyaW5nKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisK
K2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCBkYXRlID0gbmV3IERhdGUo
RGF0ZS5ub3coKSk7IG5ldyBkYXRlLnRvU3RyaW5nKCk7Cit9LCAnYGxldCBkYXRlID0gbmV3IERh
dGUoRGF0ZS5ub3coKSk7IG5ldyBkYXRlLnRvU3RyaW5nKClgIHRocm93cyBUeXBlRXJyb3InKTsK
KwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90
eXBlL3RvVGltZVN0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1RpbWVTdHJpbmcvbm90LWEtY29uc3RydWN0
b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzU1ZmQ1YWMzZGM0ZTJhYmVmZmRlZmExZTk0YmJlYWU4ZDE5MTBh
MwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRl
L3Byb3RvdHlwZS90b1RpbWVTdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwz
MyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5k
YXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIERhdGUucHJvdG90eXBlLnRv
VGltZVN0cmluZyBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1h
YmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWlu
IGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3Jz
IGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVu
bGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRp
Y3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElz
Q29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNl
cHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtS
ZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZh
bHVlKAorICBpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZyksCisgIGZh
bHNlLAorICAnaXNDb25zdHJ1Y3RvcihEYXRlLnByb3RvdHlwZS50b1RpbWVTdHJpbmcpIG11c3Qg
cmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAg
bGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRhdGUudG9UaW1lU3RyaW5nKCk7
Cit9LCAnYGxldCBkYXRlID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7IG5ldyBkYXRlLnRvVGltZVN0
cmluZygpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90b1VUQ1N0cmluZy9ub3QtYS1jb25zdHJ1
Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9EYXRlL3Byb3RvdHlwZS90
b1VUQ1N0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNTU0Y2I1NWJlNjll
NGNkNGJjNGYxYWFmMWU1ZmU4NzU0MzdhYmIyCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3RvVVRDU3RyaW5nL25vdC1hLWNv
bnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNr
IFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitl
c2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlv
bjogPgorICBEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZyBkb2VzIG5vdCBpbXBsZW1lbnQgW1tD
b25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rp
b24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlk
ZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3Ry
dWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRo
ZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRl
bmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNl
LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0
cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25d
CistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90
eXBlLnRvVVRDU3RyaW5nKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90
eXBlLnRvVVRDU3RyaW5nKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3Mo
VHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCBkYXRlID0gbmV3IERhdGUoRGF0ZS5ub3coKSk7IG5l
dyBkYXRlLnRvVVRDU3RyaW5nKCk7Cit9LCAnYGxldCBkYXRlID0gbmV3IERhdGUoRGF0ZS5ub3co
KSk7IG5ldyBkYXRlLnRvVVRDU3RyaW5nKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3ZhbHVl
T2Yvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
RGF0ZS9wcm90b3R5cGUvdmFsdWVPZi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
ZTRhMjA4M2YwMTBiYjEzZjQ1MmY2M2IzMTc4YzNhMmQxNjcxYWFkCi0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0RhdGUvcHJvdG90eXBlL3ZhbHVlT2Yv
bm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAy
MDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKwor
LyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rl
c2NyaXB0aW9uOiA+CisgIERhdGUucHJvdG90eXBlLnZhbHVlT2YgZG9lcyBub3QgaW1wbGVtZW50
IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1
bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5v
dCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0Nv
bnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgor
ICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFs
dWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBm
YWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXND
b25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0
aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihEYXRlLnBy
b3RvdHlwZS52YWx1ZU9mKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKERhdGUucHJvdG90
eXBlLnZhbHVlT2YpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsICgpID0+IHsKKyAgbGV0IGRhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpKTsgbmV3IGRh
dGUudmFsdWVPZigpOworfSwgJ2BsZXQgZGF0ZSA9IG5ldyBEYXRlKERhdGUubm93KCkpOyBuZXcg
ZGF0ZS52YWx1ZU9mKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Vycm9yL2lzLWEtY29uc3RydWN0b3IuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRXJyb3IvaXMtYS1jb25zdHJ1Y3Rvci5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43OWM3MGIxMDczNmE0OGZkMzI1ZTlkYmRjMmY4ODk0M2I0YjdiMTE5Ci0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Vycm9yL2lzLWEtY29u
c3RydWN0b3IuanMKQEAgLTAsMCArMSwyNCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sg
V2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBi
eSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2Vz
aWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9u
OiA+CisgIFRoZSBFcnJvciBjb25zdHJ1Y3RvciBpbXBsZW1lbnRzIFtbQ29uc3RydWN0XV0KK2lu
Zm86IHwKKyAgSXNDb25zdHJ1Y3RvciAoIGFyZ3VtZW50ICkKKworICBUaGUgYWJzdHJhY3Qgb3Bl
cmF0aW9uIElzQ29uc3RydWN0b3IgdGFrZXMgYXJndW1lbnQgYXJndW1lbnQgKGFuIEVDTUFTY3Jp
cHQgbGFuZ3VhZ2UgdmFsdWUpLgorICBJdCBkZXRlcm1pbmVzIGlmIGFyZ3VtZW50IGlzIGEgZnVu
Y3Rpb24gb2JqZWN0IHdpdGggYSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZC4KKyAgSXQg
cGVyZm9ybXMgdGhlIGZvbGxvd2luZyBzdGVwcyB3aGVuIGNhbGxlZDoKKworICBJZiBUeXBlKGFy
Z3VtZW50KSBpcyBub3QgT2JqZWN0LCByZXR1cm4gZmFsc2UuCisgIElmIGFyZ3VtZW50IGhhcyBh
IFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLCByZXR1cm4gdHJ1ZS4KKyAgUmV0dXJuIGZh
bHNlLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNv
bnN0cnVjdF0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihFcnJvciks
IHRydWUsICdpc0NvbnN0cnVjdG9yKEVycm9yKSBtdXN0IHJldHVybiB0cnVlJyk7CituZXcgRXJy
b3IoKTsKKyAgCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRXJy
b3IvcHJvdG90eXBlL3RvU3RyaW5nL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0Vycm9yL3Byb3RvdHlwZS90b1N0cmluZy9ub3QtYS1jb25zdHJ1
Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jZTI1OTExMjBmY2U5OTMxOWQ2YjNiZWE0YzAxMThjZWIxNjNm
NmM3Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Vy
cm9yL3Byb3RvdHlwZS90b1N0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMz
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRh
cmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgRXJyb3IucHJvdG90eXBlLnRv
U3RyaW5nIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUK
K2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVu
Y3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8g
bm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNz
IG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxh
ciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25z
dHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlv
bi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxl
Y3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIGlzQ29uc3RydWN0b3IoRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nKSwKKyAgZmFsc2UsCisg
ICdpc0NvbnN0cnVjdG9yKEVycm9yLnByb3RvdHlwZS50b1N0cmluZykgbXVzdCByZXR1cm4gZmFs
c2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgRXJyb3Iu
cHJvdG90eXBlLnRvU3RyaW5nKCk7Cit9LCAnYG5ldyBFcnJvci5wcm90b3R5cGUudG9TdHJpbmco
KWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvRmluYWxpemF0aW9uUmVnaXN0cnkvZ2MtaGFzLW9uZS1jaGFuY2UtdG8tY2Fs
bC1jbGVhbnVwQ2FsbGJhY2suanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRmlu
YWxpemF0aW9uUmVnaXN0cnkvZ2MtaGFzLW9uZS1jaGFuY2UtdG8tY2FsbC1jbGVhbnVwQ2FsbGJh
Y2suanMKaW5kZXggMTBlMGM4ZjU0MzNlZDc5MGU0MmMzZWRmNDk5Y2E5Mjc5NGY0NzY2OS4uOWI2
YWIwMzY2ZDg3OTAyZGRmNjRkMzI3NDhlMGY2YWEyODA5NjRkMSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L2djLWhhcy1vbmUt
Y2hhbmNlLXRvLWNhbGwtY2xlYW51cENhbGxiYWNrLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9nYy1oYXMtb25lLWNoYW5jZS10by1j
YWxsLWNsZWFudXBDYWxsYmFjay5qcwpAQCAtMjUsNyArMjUsNyBAQCBpbmZvOiB8CiAgIDIuIEZv
ciBlYWNoIEZpbmFsaXphdGlvblJlZ2lzdHJ5IGZpbmFsaXphdGlvblJlZ2lzdHJ5IHN1Y2ggdGhh
dCBmaW5hbGl6YXRpb25SZWdpc3RyeS5bW0NlbGxzXV0gY29udGFpbnMgY2VsbCwgc3VjaCB0aGF0
IGNlbGwuW1tUYXJnZXRdXSBpcyBvYmosCiAgICAgYS4gU2V0IGNlbGwuW1tUYXJnZXRdXSB0byBl
bXB0eS4KICAgICBiLiBPcHRpb25hbGx5LCBwZXJmb3JtICEgSG9zdENsZWFudXBGaW5hbGl6YXRp
b25SZWdpc3RyeShmaW5hbGl6YXRpb25SZWdpc3RyeSkuCi1mZWF0dXJlczogW2NsZWFudXBTb21l
LCBGaW5hbGl6YXRpb25SZWdpc3RyeSwgYXN5bmMtZnVuY3Rpb25zLCBob3N0LWdjLXJlcXVpcmVk
XQorZmVhdHVyZXM6IFtjbGVhbnVwU29tZSwgRmluYWxpemF0aW9uUmVnaXN0cnkucHJvdG90eXBl
LmNsZWFudXBTb21lLCBGaW5hbGl6YXRpb25SZWdpc3RyeSwgYXN5bmMtZnVuY3Rpb25zLCBob3N0
LWdjLXJlcXVpcmVkXQogZmxhZ3M6IFthc3luYywgbm9uLWRldGVybWluaXN0aWNdCiBpbmNsdWRl
czogW2FzeW5jLWdjLmpzLCBjb21wYXJlQXJyYXkuanNdCiAtLS0qLwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L2lzLWEtY29u
c3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9u
UmVnaXN0cnkvaXMtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMGZlZTNlYTBmYTBiMzU2
YzE5MTAyMTQyNzZiMmIwYmUwYjIxMmVlCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L2lzLWEtY29uc3RydWN0b3Iu
anMKQEAgLTAsMCArMSwyNCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1l
Y21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFRo
ZSBGaW5hbGl6YXRpb25SZWdpc3RyeSBjb25zdHJ1Y3RvciBpbXBsZW1lbnRzIFtbQ29uc3RydWN0
XV0KK2luZm86IHwKKyAgSXNDb25zdHJ1Y3RvciAoIGFyZ3VtZW50ICkKKworICBUaGUgYWJzdHJh
Y3Qgb3BlcmF0aW9uIElzQ29uc3RydWN0b3IgdGFrZXMgYXJndW1lbnQgYXJndW1lbnQgKGFuIEVD
TUFTY3JpcHQgbGFuZ3VhZ2UgdmFsdWUpLgorICBJdCBkZXRlcm1pbmVzIGlmIGFyZ3VtZW50IGlz
IGEgZnVuY3Rpb24gb2JqZWN0IHdpdGggYSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZC4K
KyAgSXQgcGVyZm9ybXMgdGhlIGZvbGxvd2luZyBzdGVwcyB3aGVuIGNhbGxlZDoKKworICBJZiBU
eXBlKGFyZ3VtZW50KSBpcyBub3QgT2JqZWN0LCByZXR1cm4gZmFsc2UuCisgIElmIGFyZ3VtZW50
IGhhcyBhIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLCByZXR1cm4gdHJ1ZS4KKyAgUmV0
dXJuIGZhbHNlLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZs
ZWN0LmNvbnN0cnVjdCwgRmluYWxpemF0aW9uUmVnaXN0cnksIGFycm93LWZ1bmN0aW9uXQorLS0t
Ki8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKEZpbmFsaXphdGlvblJlZ2lzdHJ5
KSwgdHJ1ZSwgJ2lzQ29uc3RydWN0b3IoRmluYWxpemF0aW9uUmVnaXN0cnkpIG11c3QgcmV0dXJu
IHRydWUnKTsKK25ldyBGaW5hbGl6YXRpb25SZWdpc3RyeSgoKSA9PiB7fSk7CisgIApkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5
L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9jYWxsYmFjay1ub3QtY2FsbGFibGUtdGhyb3dzLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3Rv
dHlwZS9jbGVhbnVwU29tZS9jYWxsYmFjay1ub3QtY2FsbGFibGUtdGhyb3dzLmpzCmluZGV4IDcx
NDc0YTQ0Y2RlZTkxZmQ3ZTUxM2ZjZjg2ZGMwZmE0ZGMxNjllNDMuLjQ5ZmE2ZWI0ZjNkZTBjMGMw
MjJiNzAwZTRiYjI3MDZjMjVlNzk3MWQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9wcm90b3R5cGUvY2xlYW51cFNvbWUvY2Fs
bGJhY2stbm90LWNhbGxhYmxlLXRocm93cy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRmluYWxpemF0aW9uUmVnaXN0cnkvcHJvdG90eXBlL2NsZWFudXBTb21lL2NhbGxi
YWNrLW5vdC1jYWxsYWJsZS10aHJvd3MuanMKQEAgLTEyLDcgKzEyLDcgQEAgaW5mbzogfAogICAz
LiBJZiBmaW5hbGl6YXRpb25SZWdpc3RyeSBkb2VzIG5vdCBoYXZlIGEgW1tDZWxsc11dIGludGVy
bmFsIHNsb3QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICAgNC4gSWYgY2FsbGJhY2sg
aXMgbm90IHVuZGVmaW5lZCBhbmQgSXNDYWxsYWJsZShjYWxsYmFjaykgaXMgZmFsc2UsIHRocm93
IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICAgLi4uCi1mZWF0dXJlczogW2NsZWFudXBTb21lLCBG
aW5hbGl6YXRpb25SZWdpc3RyeV0KK2ZlYXR1cmVzOiBbRmluYWxpemF0aW9uUmVnaXN0cnkucHJv
dG90eXBlLmNsZWFudXBTb21lLCBjbGVhbnVwU29tZSwgRmluYWxpemF0aW9uUmVnaXN0cnldCiAt
LS0qLwogCiBhc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBGaW5hbGl6YXRpb25SZWdpc3RyeS5wcm90
b3R5cGUuY2xlYW51cFNvbWUsICdmdW5jdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVw
U29tZS9jbGVhbnVwLXByZXZlbnRlZC13aXRoLXJlZmVyZW5jZS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9wcm90b3R5cGUvY2xlYW51cFNv
bWUvY2xlYW51cC1wcmV2ZW50ZWQtd2l0aC1yZWZlcmVuY2UuanMKaW5kZXggN2Y2NTU0Y2VlNDIy
NjRlMTBjZWEwNThiY2IyZWRkNjNkYzBiMmY5Yy4uOTM2NDMxODk4ODMxOWVjZGNjYTBhNTcwMjdk
MzM4YTRmMDIxYTFiYSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9jbGVhbnVwLXByZXZl
bnRlZC13aXRoLXJlZmVyZW5jZS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRmluYWxpemF0aW9uUmVnaXN0cnkvcHJvdG90eXBlL2NsZWFudXBTb21lL2NsZWFudXAtcHJl
dmVudGVkLXdpdGgtcmVmZXJlbmNlLmpzCkBAIC0xMyw3ICsxMyw3IEBAIGluZm86IHwKICAgNC4g
SWYgY2FsbGJhY2sgaXMgbm90IHVuZGVmaW5lZCBhbmQgSXNDYWxsYWJsZShjYWxsYmFjaykgaXMg
ZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICAgNS4gUGVyZm9ybSA/IENsZWFu
dXBGaW5hbGl6YXRpb25SZWdpc3RyeShmaW5hbGl6YXRpb25SZWdpc3RyeSwgY2FsbGJhY2spLgog
ICA2LiBSZXR1cm4gdW5kZWZpbmVkLgotZmVhdHVyZXM6IFtjbGVhbnVwU29tZSwgRmluYWxpemF0
aW9uUmVnaXN0cnksIGhvc3QtZ2MtcmVxdWlyZWRdCitmZWF0dXJlczogW0ZpbmFsaXphdGlvblJl
Z2lzdHJ5LnByb3RvdHlwZS5jbGVhbnVwU29tZSwgY2xlYW51cFNvbWUsIEZpbmFsaXphdGlvblJl
Z2lzdHJ5LCBob3N0LWdjLXJlcXVpcmVkXQogaW5jbHVkZXM6IFthc3luYy1nYy5qc10KIGZsYWdz
OiBbYXN5bmMsIG5vbi1kZXRlcm1pbmlzdGljXQogLS0tKi8KZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9wcm90b3R5cGUvY2xl
YW51cFNvbWUvY2xlYW51cC1wcmV2ZW50ZWQtd2l0aC11bnJlZ2lzdGVyLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVh
bnVwU29tZS9jbGVhbnVwLXByZXZlbnRlZC13aXRoLXVucmVnaXN0ZXIuanMKaW5kZXggZjkxMGVj
OGExNDcyMTRlMjUzMWI0ZmEzMWJkNzY0YTU0MjEwYWJlOC4uYjJkNjA2ZjcxMzE0MzJhMTFmZWY1
NWEyNTcyMTdjM2Q3M2JlYzI0YiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9jbGVhbnVw
LXByZXZlbnRlZC13aXRoLXVucmVnaXN0ZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9jbGVh
bnVwLXByZXZlbnRlZC13aXRoLXVucmVnaXN0ZXIuanMKQEAgLTIyLDcgKzIyLDcgQEAgaW5mbzog
fAogICAgICAgaS4gUmVtb3ZlIGNlbGwgZnJvbSBmaW5hbGl6YXRpb25SZWdpc3RyeS5bW0NlbGxz
XV0uCiAgICAgICBpaS4gU2V0IHJlbW92ZWQgdG8gdHJ1ZS4KICAgMy4gUmV0dXJuIHJlbW92ZWQu
Ci1mZWF0dXJlczogW2NsZWFudXBTb21lLCBGaW5hbGl6YXRpb25SZWdpc3RyeSwgaG9zdC1nYy1y
ZXF1aXJlZF0KK2ZlYXR1cmVzOiBbRmluYWxpemF0aW9uUmVnaXN0cnkucHJvdG90eXBlLmNsZWFu
dXBTb21lLCBjbGVhbnVwU29tZSwgRmluYWxpemF0aW9uUmVnaXN0cnksIGhvc3QtZ2MtcmVxdWly
ZWRdCiBpbmNsdWRlczogW2FzeW5jLWdjLmpzXQogZmxhZ3M6IFthc3luYywgbm9uLWRldGVybWlu
aXN0aWNdCiAtLS0qLwpAQCAtNDksNiArNDksNiBAQCBlbXB0eUNlbGxzKCkudGhlbihmdW5jdGlv
bigpIHsKICAgZmluYWxpemF0aW9uUmVnaXN0cnkuY2xlYW51cFNvbWUoZnVuY3Rpb24gY2IoaG9s
ZGluZykgewogICAgIGNhbGxlZCArPSAxOwogICB9KTsKLSAgCisKICAgYXNzZXJ0LnNhbWVWYWx1
ZShjYWxsZWQsIDAsICdjYWxsYmFjayB3YXMgbm90IGNhbGxlZCcpOwogfSkudGhlbigkRE9ORSwg
cmVzb2x2ZUFzeW5jR0MpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9jdXN0b20tdGhp
cy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3Ry
eS9wcm90b3R5cGUvY2xlYW51cFNvbWUvY3VzdG9tLXRoaXMuanMKaW5kZXggNjg5NzEyNDVjMDA3
NjQ1ZjAzZGU0NWU5YmZkM2U1YmNlNzM3YzUxYS4uNzVmZGI5NmZkMzMzNjRlOWYxMGY0MGJmYzhm
Yjg4NDk1YmM3YjVjYyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9jdXN0b20tdGhpcy5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9uUmVnaXN0
cnkvcHJvdG90eXBlL2NsZWFudXBTb21lL2N1c3RvbS10aGlzLmpzCkBAIC0xMyw3ICsxMyw3IEBA
IGluZm86IHwKICAgNC4gSWYgY2FsbGJhY2sgaXMgbm90IHVuZGVmaW5lZCBhbmQgSXNDYWxsYWJs
ZShjYWxsYmFjaykgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICAgNS4g
UGVyZm9ybSAhIENsZWFudXBGaW5hbGl6YXRpb25SZWdpc3RyeShmaW5hbGl6YXRpb25SZWdpc3Ry
eSwgY2FsbGJhY2spLgogICA2LiBSZXR1cm4gdW5kZWZpbmVkLgotZmVhdHVyZXM6IFtjbGVhbnVw
U29tZSwgRmluYWxpemF0aW9uUmVnaXN0cnldCitmZWF0dXJlczogW0ZpbmFsaXphdGlvblJlZ2lz
dHJ5LnByb3RvdHlwZS5jbGVhbnVwU29tZSwgY2xlYW51cFNvbWUsIEZpbmFsaXphdGlvblJlZ2lz
dHJ5XQogLS0tKi8KIAogdmFyIGZuID0gZnVuY3Rpb24oKSB7fTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9wcm90b3R5cGUv
Y2xlYW51cFNvbWUvaG9sZGluZ3MtbXVsdGlwbGUtdmFsdWVzLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29t
ZS9ob2xkaW5ncy1tdWx0aXBsZS12YWx1ZXMuanMKaW5kZXggNzZkYzM3MGRiNWMyYzhjMGNlNmIw
YmQyOWNkMTYzNzRlMDFlODlkMy4uNjBmMzE5OGNmMmJmOTcwN2QyMGExNGY0MTFjNzQzOTFlYWM0
OGZiNCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXph
dGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9ob2xkaW5ncy1tdWx0aXBsZS12YWx1
ZXMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJl
Z2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9ob2xkaW5ncy1tdWx0aXBsZS12YWx1ZXMuanMK
QEAgLTIzLDcgKzIzLDcgQEAgaW5mbzogfAogICAuLi4KIAogCi1mZWF0dXJlczogW2NsZWFudXBT
b21lLCBGaW5hbGl6YXRpb25SZWdpc3RyeSwgU3ltYm9sLCBob3N0LWdjLXJlcXVpcmVkXQorZmVh
dHVyZXM6IFtGaW5hbGl6YXRpb25SZWdpc3RyeS5wcm90b3R5cGUuY2xlYW51cFNvbWUsIGNsZWFu
dXBTb21lLCBGaW5hbGl6YXRpb25SZWdpc3RyeSwgU3ltYm9sLCBob3N0LWdjLXJlcXVpcmVkXQog
aW5jbHVkZXM6IFthc3luYy1nYy5qc10KIGZsYWdzOiBbYXN5bmMsIG5vbi1kZXRlcm1pbmlzdGlj
XQogLS0tKi8KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GaW5h
bGl6YXRpb25SZWdpc3RyeS9wcm90b3R5cGUvY2xlYW51cFNvbWUvbGVuZ3RoLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9j
bGVhbnVwU29tZS9sZW5ndGguanMKaW5kZXggMWU0ZDRiMWZkNmRlOTc4ZTg0MzIxY2I3YTY1NGE3
ZGFlY2I5YmIyZC4uZTkzNmFiNGI2YThiMWU4YjFmOGRkM2NlMTAxNWE5ZWVmZGEyZGY0MCAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lz
dHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9sZW5ndGguanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29t
ZS9sZW5ndGguanMKQEAgLTIxLDcgKzIxLDcgQEAgaW5mbzogfAogICBmdW5jdGlvbiBvYmplY3Qg
aGFzIHRoZSBhdHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiBmYWxzZSwKICAgW1tFbnVtZXJhYmxl
XV06IGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0uCiBpbmNsdWRlczogW3Byb3BlcnR5
SGVscGVyLmpzXQotZmVhdHVyZXM6IFtjbGVhbnVwU29tZSwgRmluYWxpemF0aW9uUmVnaXN0cnld
CitmZWF0dXJlczogW0ZpbmFsaXphdGlvblJlZ2lzdHJ5LnByb3RvdHlwZS5jbGVhbnVwU29tZSwg
Y2xlYW51cFNvbWUsIEZpbmFsaXphdGlvblJlZ2lzdHJ5XQogLS0tKi8KIAogdmVyaWZ5UHJvcGVy
dHkoRmluYWxpemF0aW9uUmVnaXN0cnkucHJvdG90eXBlLmNsZWFudXBTb21lLCAnbGVuZ3RoJywg
ewpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlv
blJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9uYW1lLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29t
ZS9uYW1lLmpzCmluZGV4IDU1N2Q4NTRmYzJiODZmZGRiYTk0MGEzNWYyNjUwNzE0YzMwOTg0ZWUu
LjUxMGE2ZjkzMjcyMzkyNGQ3OTQyYWEzZTA1YTdjNDQxZTM0ZjBlM2IgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9wcm90b3R5
cGUvY2xlYW51cFNvbWUvbmFtZS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvRmluYWxpemF0aW9uUmVnaXN0cnkvcHJvdG90eXBlL2NsZWFudXBTb21lL25hbWUuanMKQEAg
LTIwLDcgKzIwLDcgQEAgaW5mbzogfAogICBvYmplY3QsIGlmIGl0IGV4aXN0cywgaGFzIHRoZSBh
dHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiBmYWxzZSwKICAgW1tFbnVtZXJhYmxlXV06IGZhbHNl
LCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0uCiBpbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpz
XQotZmVhdHVyZXM6IFtjbGVhbnVwU29tZSwgRmluYWxpemF0aW9uUmVnaXN0cnldCitmZWF0dXJl
czogW0ZpbmFsaXphdGlvblJlZ2lzdHJ5LnByb3RvdHlwZS5jbGVhbnVwU29tZSwgY2xlYW51cFNv
bWUsIEZpbmFsaXphdGlvblJlZ2lzdHJ5XQogLS0tKi8KIAogdmVyaWZ5UHJvcGVydHkoRmluYWxp
emF0aW9uUmVnaXN0cnkucHJvdG90eXBlLmNsZWFudXBTb21lLCAnbmFtZScsIHsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9w
cm90b3R5cGUvY2xlYW51cFNvbWUvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9uUmVnaXN0cnkvcHJvdG90eXBlL2NsZWFudXBT
b21lL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4MWVkZjgxMGM2ZTQ3MzljMTYw
ODVkYmM0ODc4NzZjMmQwYzgwM2YKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9uUmVnaXN0cnkvcHJvdG90eXBlL2NsZWFudXBTb21l
L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMg
Z292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisK
Ky8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitk
ZXNjcmlwdGlvbjogPgorICBGaW5hbGl6YXRpb25SZWdpc3RyeS5wcm90b3R5cGUuY2xlYW51cFNv
bWUgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5m
bzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlv
biBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QK
KyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3Ro
ZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1
bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVj
dG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgor
ICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5j
b25zdHJ1Y3QsIEZpbmFsaXphdGlvblJlZ2lzdHJ5LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisK
K2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoRmluYWxpemF0aW9uUmVnaXN0cnku
cHJvdG90eXBlLmNsZWFudXBTb21lKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKEZpbmFs
aXphdGlvblJlZ2lzdHJ5LnByb3RvdHlwZS5jbGVhbnVwU29tZSkgbXVzdCByZXR1cm4gZmFsc2Un
CispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgZnIgPSBuZXcg
RmluYWxpemF0aW9uUmVnaXN0cnkoKCkgPT4ge30pOyBuZXcgZnIuY2xlYW51cFNvbWUoKCkgPT4g
e30pOworfSwgJ2BsZXQgZnIgPSBuZXcgRmluYWxpemF0aW9uUmVnaXN0cnkoKCkgPT4ge30pOyBu
ZXcgZnIuY2xlYW51cFNvbWUoKCkgPT4ge30pYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3Ry
eS9wcm90b3R5cGUvY2xlYW51cFNvbWUvcHJvcC1kZXNjLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9w
cm9wLWRlc2MuanMKaW5kZXggZGJiOTE2MjRhZDRiODZmOTJkYmJhNzA5MDc0MzEzOWM0YzZlZjY5
OC4uZDgyY2RiZTAwNGE3YWUxOWJhYzhlMzIwMzM3ZWFmYzllOTRjMjNmNiAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3Rv
dHlwZS9jbGVhbnVwU29tZS9wcm9wLWRlc2MuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9wcm9w
LWRlc2MuanMKQEAgLTEyLDcgKzEyLDcgQEAgaW5mbzogfAogICBoYXMgdGhlIGF0dHJpYnV0ZXMg
eyBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOiBmYWxzZSwKICAgW1tDb25maWd1
cmFibGVdXTogdHJ1ZSB9IHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLgogaW5jbHVkZXM6IFtw
cm9wZXJ0eUhlbHBlci5qc10KLWZlYXR1cmVzOiBbY2xlYW51cFNvbWUsIEZpbmFsaXphdGlvblJl
Z2lzdHJ5XQorZmVhdHVyZXM6IFtGaW5hbGl6YXRpb25SZWdpc3RyeS5wcm90b3R5cGUuY2xlYW51
cFNvbWUsIGNsZWFudXBTb21lLCBGaW5hbGl6YXRpb25SZWdpc3RyeV0KIC0tLSovCiAKIGFzc2Vy
dC5zYW1lVmFsdWUodHlwZW9mIEZpbmFsaXphdGlvblJlZ2lzdHJ5LnByb3RvdHlwZS5jbGVhbnVw
U29tZSwgJ2Z1bmN0aW9uJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvRmluYWxpemF0aW9uUmVnaXN0cnkvcHJvdG90eXBlL2NsZWFudXBTb21lL3JlZW50cmFu
Y3kuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9uUmVnaXN0
cnkvcHJvdG90eXBlL2NsZWFudXBTb21lL3JlZW50cmFuY3kuanMKaW5kZXggYTQ3NTE1MTQ0MDRj
M2MzZmU2MjhiMDQzNDQ4OTk5YTc2NThmOTIzZS4uOGNjNDM3ZTA4NzQ0OTI5NmQ1MDgzZWZhMTgw
MDc4OGYzYTQ3MmYzMCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9yZWVudHJhbmN5Lmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3Ry
eS9wcm90b3R5cGUvY2xlYW51cFNvbWUvcmVlbnRyYW5jeS5qcwpAQCAtOCw3ICs4LDcgQEAgZGVz
Y3JpcHRpb246ID4KIGluZm86IHwKICAgRmluYWxpemF0aW9uUmVnaXN0cnkucHJvdG90eXBlLmNs
ZWFudXBTb21lICggWyBjYWxsYmFjayBdICkKIAotZmVhdHVyZXM6IFtjbGVhbnVwU29tZSwgRmlu
YWxpemF0aW9uUmVnaXN0cnksIGhvc3QtZ2MtcmVxdWlyZWRdCitmZWF0dXJlczogW0ZpbmFsaXph
dGlvblJlZ2lzdHJ5LnByb3RvdHlwZS5jbGVhbnVwU29tZSwgY2xlYW51cFNvbWUsIEZpbmFsaXph
dGlvblJlZ2lzdHJ5LCBob3N0LWdjLXJlcXVpcmVkXQogaW5jbHVkZXM6IFthc3luYy1nYy5qc10K
IGZsYWdzOiBbYXN5bmMsIG5vbi1kZXRlcm1pbmlzdGljXQogLS0tKi8KZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9wcm90b3R5
cGUvY2xlYW51cFNvbWUvcmV0dXJuLXVuZGVmaW5lZC13aXRoLWdjLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVw
U29tZS9yZXR1cm4tdW5kZWZpbmVkLXdpdGgtZ2MuanMKaW5kZXggNWRjNjE4NzIxZGVkMmQwMjUx
ZTZlOGRhNGZiODE5NGZlZGMzZWVhZi4uZDEwMjM3OWJkZGIxYTIwMjIyMjU1MDM1MTQ5YmQxMzVi
MWVjOGIyYSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFs
aXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9yZXR1cm4tdW5kZWZpbmVkLXdp
dGgtZ2MuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlv
blJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9yZXR1cm4tdW5kZWZpbmVkLXdpdGgtZ2Mu
anMKQEAgLTEzLDcgKzEzLDcgQEAgaW5mbzogfAogICA0LiBJZiBjYWxsYmFjayBpcyBub3QgdW5k
ZWZpbmVkIGFuZCBJc0NhbGxhYmxlKGNhbGxiYWNrKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJy
b3IgZXhjZXB0aW9uLgogICA1LiBQZXJmb3JtID8gQ2xlYW51cEZpbmFsaXphdGlvblJlZ2lzdHJ5
KGZpbmFsaXphdGlvblJlZ2lzdHJ5LCBjYWxsYmFjaykuCiAgIDYuIFJldHVybiB1bmRlZmluZWQu
Ci1mZWF0dXJlczogW2NsZWFudXBTb21lLCBGaW5hbGl6YXRpb25SZWdpc3RyeSwgYXJyb3ctZnVu
Y3Rpb24sIGFzeW5jLWZ1bmN0aW9ucywgYXN5bmMtaXRlcmF0aW9uLCBjbGFzcywgaG9zdC1nYy1y
ZXF1aXJlZF0KK2ZlYXR1cmVzOiBbRmluYWxpemF0aW9uUmVnaXN0cnkucHJvdG90eXBlLmNsZWFu
dXBTb21lLCBjbGVhbnVwU29tZSwgRmluYWxpemF0aW9uUmVnaXN0cnksIGFycm93LWZ1bmN0aW9u
LCBhc3luYy1mdW5jdGlvbnMsIGFzeW5jLWl0ZXJhdGlvbiwgY2xhc3MsIGhvc3QtZ2MtcmVxdWly
ZWRdCiBpbmNsdWRlczogW2FzeW5jLWdjLmpzXQogZmxhZ3M6IFthc3luYywgbm9uLWRldGVybWlu
aXN0aWNdCiAtLS0qLwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9yZXR1cm4tdW5kZWZp
bmVkLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lz
dHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS9yZXR1cm4tdW5kZWZpbmVkLmpzCmluZGV4IDgzM2U3
MzhlNzEzZjQzZGUxOGRkMjRhZGVmZTc2MDhhNzdlNDU5Y2MuLmU1ZTFiMzBlNWYwYTY1ZTM3Zjhi
ZDEzNDQ5OTUwNDk0ZTAzZWI0NzUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9wcm90b3R5cGUvY2xlYW51cFNvbWUvcmV0dXJu
LXVuZGVmaW5lZC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRmluYWxp
emF0aW9uUmVnaXN0cnkvcHJvdG90eXBlL2NsZWFudXBTb21lL3JldHVybi11bmRlZmluZWQuanMK
QEAgLTEzLDcgKzEzLDcgQEAgaW5mbzogfAogICA0LiBJZiBjYWxsYmFjayBpcyBub3QgdW5kZWZp
bmVkIGFuZCBJc0NhbGxhYmxlKGNhbGxiYWNrKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3Ig
ZXhjZXB0aW9uLgogICA1LiBQZXJmb3JtID8gQ2xlYW51cEZpbmFsaXphdGlvblJlZ2lzdHJ5KGZp
bmFsaXphdGlvblJlZ2lzdHJ5LCBjYWxsYmFjaykuCiAgIDYuIFJldHVybiB1bmRlZmluZWQuCi1m
ZWF0dXJlczogW2NsZWFudXBTb21lLCBGaW5hbGl6YXRpb25SZWdpc3RyeSwgYXJyb3ctZnVuY3Rp
b24sIGFzeW5jLWZ1bmN0aW9ucywgYXN5bmMtaXRlcmF0aW9uLCBjbGFzc10KK2ZlYXR1cmVzOiBb
RmluYWxpemF0aW9uUmVnaXN0cnkucHJvdG90eXBlLmNsZWFudXBTb21lLCBjbGVhbnVwU29tZSwg
RmluYWxpemF0aW9uUmVnaXN0cnksIGFycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnMsIGFz
eW5jLWl0ZXJhdGlvbiwgY2xhc3NdCiAtLS0qLwogCiB2YXIgZm4gPSBmdW5jdGlvbigpIHt9Owpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJl
Z2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS90aGlzLWRvZXMtbm90LWhhdmUtaW50ZXJuYWwt
Y2VsbHMtdGhyb3dzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXph
dGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS90aGlzLWRvZXMtbm90LWhhdmUtaW50
ZXJuYWwtY2VsbHMtdGhyb3dzLmpzCmluZGV4IDVmMjE1M2Y5MGQ4NWM2NGE0NWJkNThlYjIyYzll
YjA4YzY3MTk4ZDIuLjYyMzA2OGY2ZGExNTAyMWVhNzBhMTg1OGFmNWQ2Y2E2NGY2MWU5ZTUgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdp
c3RyeS9wcm90b3R5cGUvY2xlYW51cFNvbWUvdGhpcy1kb2VzLW5vdC1oYXZlLWludGVybmFsLWNl
bGxzLXRocm93cy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRmluYWxp
emF0aW9uUmVnaXN0cnkvcHJvdG90eXBlL2NsZWFudXBTb21lL3RoaXMtZG9lcy1ub3QtaGF2ZS1p
bnRlcm5hbC1jZWxscy10aHJvd3MuanMKQEAgLTEyLDcgKzEyLDcgQEAgaW5mbzogfAogICAzLiBJ
ZiBmaW5hbGl6YXRpb25SZWdpc3RyeSBkb2VzIG5vdCBoYXZlIGEgW1tDZWxsc11dIGludGVybmFs
IHNsb3QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICAgNC4gSWYgY2FsbGJhY2sgaXMg
bm90IHVuZGVmaW5lZCBhbmQgSXNDYWxsYWJsZShjYWxsYmFjaykgaXMgZmFsc2UsIHRocm93IGEg
VHlwZUVycm9yIGV4Y2VwdGlvbi4KICAgLi4uCi1mZWF0dXJlczogW2NsZWFudXBTb21lLCBXZWFr
U2V0LCBXZWFrTWFwLCBGaW5hbGl6YXRpb25SZWdpc3RyeSwgV2Vha1JlZl0KK2ZlYXR1cmVzOiBb
RmluYWxpemF0aW9uUmVnaXN0cnkucHJvdG90eXBlLmNsZWFudXBTb21lLCBjbGVhbnVwU29tZSwg
V2Vha1NldCwgV2Vha01hcCwgRmluYWxpemF0aW9uUmVnaXN0cnksIFdlYWtSZWZdCiAtLS0qLwog
CiBhc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBGaW5hbGl6YXRpb25SZWdpc3RyeS5wcm90b3R5cGUu
Y2xlYW51cFNvbWUsICdmdW5jdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS90
aGlzLW5vdC1vYmplY3QtdGhyb3dzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS9jbGVhbnVwU29tZS90aGlzLW5vdC1vYmpl
Y3QtdGhyb3dzLmpzCmluZGV4IDk4MDRiZGViNmRlM2JiNzNlNDgzNjRjY2YxNWFiY2RhYjBjMTVh
MGUuLjAwMjU4OWMzMzJjNmNjZWM0MTNkOWJmNGIyZWRlYjA0NmEzMzNmYWUgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9wcm90
b3R5cGUvY2xlYW51cFNvbWUvdGhpcy1ub3Qtb2JqZWN0LXRocm93cy5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9uUmVnaXN0cnkvcHJvdG90eXBlL2Ns
ZWFudXBTb21lL3RoaXMtbm90LW9iamVjdC10aHJvd3MuanMKQEAgLTEyLDcgKzEyLDcgQEAgaW5m
bzogfAogICAzLiBJZiBmaW5hbGl6YXRpb25SZWdpc3RyeSBkb2VzIG5vdCBoYXZlIGEgW1tDZWxs
c11dIGludGVybmFsIHNsb3QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICAgNC4gSWYg
Y2FsbGJhY2sgaXMgbm90IHVuZGVmaW5lZCBhbmQgSXNDYWxsYWJsZShjYWxsYmFjaykgaXMgZmFs
c2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICAgLi4uCi1mZWF0dXJlczogW2NsZWFu
dXBTb21lLCBGaW5hbGl6YXRpb25SZWdpc3RyeV0KK2ZlYXR1cmVzOiBbRmluYWxpemF0aW9uUmVn
aXN0cnkucHJvdG90eXBlLmNsZWFudXBTb21lLCBjbGVhbnVwU29tZSwgRmluYWxpemF0aW9uUmVn
aXN0cnldCiAtLS0qLwogCiBhc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBGaW5hbGl6YXRpb25SZWdp
c3RyeS5wcm90b3R5cGUuY2xlYW51cFNvbWUsICdmdW5jdGlvbicpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlw
ZS9yZWdpc3Rlci9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9GaW5hbGl6YXRpb25SZWdpc3RyeS9wcm90b3R5cGUvcmVnaXN0ZXIvbm90LWEtY29u
c3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDU5OWI4MDE2ZTIyYTFjNzQzNGJhNjdjZWVlYTViZDU1
NDM2MDQ5NwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9GaW5hbGl6YXRpb25SZWdpc3RyeS9wcm90b3R5cGUvcmVnaXN0ZXIvbm90LWEtY29uc3RydWN0
b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJv
bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNl
Yy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+Cisg
IEZpbmFsaXphdGlvblJlZ2lzdHJ5LnByb3RvdHlwZS5yZWdpc3RlciBkb2VzIG5vdCBpbXBsZW1l
bnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQg
RnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUg
bm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtb
Q29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGlu
CisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2
YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlz
IGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtp
c0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgRmluYWxpemF0
aW9uUmVnaXN0cnksIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgaXNDb25zdHJ1Y3RvcihGaW5hbGl6YXRpb25SZWdpc3RyeS5wcm90b3R5cGUucmVnaXN0ZXIp
LAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoRmluYWxpemF0aW9uUmVnaXN0cnkucHJvdG90
eXBlLnJlZ2lzdGVyKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCAoKSA9PiB7CisgIGxldCBmciA9IG5ldyBGaW5hbGl6YXRpb25SZWdpc3RyeSgoKSA9
PiB7fSk7IG5ldyBmci5yZWdpc3Rlcih7fSk7Cit9LCAnYGxldCBmciA9IG5ldyBGaW5hbGl6YXRp
b25SZWdpc3RyeSgoKSA9PiB7fSk7IG5ldyBmci5yZWdpc3Rlcih7fSlgIHRocm93cyBUeXBlRXJy
b3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFs
aXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS91bnJlZ2lzdGVyL25vdC1hLWNvbnN0cnVjdG9yLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3By
b3RvdHlwZS91bnJlZ2lzdGVyL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUzMGE0
MzJmM2JmYzY3NGRkNzg4NWQ4MmQ1MDIzN2MwMWMzMzY4NWMKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9uUmVnaXN0cnkvcHJvdG90
eXBlL3VucmVnaXN0ZXIvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8g
Q29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0
LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIEZpbmFsaXphdGlvblJlZ2lzdHJ5LnByb3Rv
dHlwZS51bnJlZ2lzdGVyIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3Qg
bmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVp
bHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1
Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRo
b2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEg
cGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4g
SWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9y
IGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJl
czogW1JlZmxlY3QuY29uc3RydWN0LCBGaW5hbGl6YXRpb25SZWdpc3RyeSwgYXJyb3ctZnVuY3Rp
b25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKEZpbmFsaXph
dGlvblJlZ2lzdHJ5LnByb3RvdHlwZS51bnJlZ2lzdGVyKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0
cnVjdG9yKEZpbmFsaXphdGlvblJlZ2lzdHJ5LnByb3RvdHlwZS51bnJlZ2lzdGVyKSBtdXN0IHJl
dHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxl
dCBmciA9IG5ldyBGaW5hbGl6YXRpb25SZWdpc3RyeSgoKSA9PiB7fSk7IGxldCB0b2tlbiA9IHt9
OyBmci5yZWdpc3Rlcih0b2tlbik7IG5ldyBmci51bnJlZ2lzdGVyKHRva2VuKTsKK30sICdgbGV0
IGZyID0gbmV3IEZpbmFsaXphdGlvblJlZ2lzdHJ5KCgpID0+IHt9KTsgbGV0IHRva2VuID0ge307
IGZyLnJlZ2lzdGVyKHRva2VuKTsgbmV3IGZyLnVucmVnaXN0ZXIodG9rZW4pYCB0aHJvd3MgVHlw
ZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9G
aW5hbGl6YXRpb25SZWdpc3RyeS9wcm90b3R5cGUvdW5yZWdpc3Rlci91bnJlZ2lzdGVyLWNsZWFu
ZWQtdXAtY2VsbC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GaW5hbGl6YXRp
b25SZWdpc3RyeS9wcm90b3R5cGUvdW5yZWdpc3Rlci91bnJlZ2lzdGVyLWNsZWFuZWQtdXAtY2Vs
bC5qcwppbmRleCA0MmY4Y2UwZWY5ZWUwOTU1ZGFmOTRhNWFlZmQ2N2I2ODRmZmRjNTAwLi5lM2Y1
NjY3MDVhZDRjZTZhYWM0Y2ZlZTU1MGEyMDNlY2IzOGNiMzc5IDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRmluYWxpemF0aW9uUmVnaXN0cnkvcHJvdG90eXBlL3Vu
cmVnaXN0ZXIvdW5yZWdpc3Rlci1jbGVhbmVkLXVwLWNlbGwuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL0ZpbmFsaXphdGlvblJlZ2lzdHJ5L3Byb3RvdHlwZS91bnJlZ2lz
dGVyL3VucmVnaXN0ZXItY2xlYW5lZC11cC1jZWxsLmpzCkBAIC0yOSw3ICsyOSw3IEBAIGluZm86
IHwKICAgICAgIGkuIFJlbW92ZSBjZWxsIGZyb20gZmluYWxpemF0aW9uUmVnaXN0cnkuW1tDZWxs
c11dLgogICAgICAgaWkuIFNldCByZW1vdmVkIHRvIHRydWUuCiAgIDMuIFJldHVybiByZW1vdmVk
LgotZmVhdHVyZXM6IFtjbGVhbnVwU29tZSwgRmluYWxpemF0aW9uUmVnaXN0cnksIGhvc3QtZ2Mt
cmVxdWlyZWRdCitmZWF0dXJlczogW0ZpbmFsaXphdGlvblJlZ2lzdHJ5LnByb3RvdHlwZS5jbGVh
bnVwU29tZSwgY2xlYW51cFNvbWUsIEZpbmFsaXphdGlvblJlZ2lzdHJ5LCBob3N0LWdjLXJlcXVp
cmVkXQogaW5jbHVkZXM6IFthc3luYy1nYy5qc10KIGZsYWdzOiBbYXN5bmMsIG5vbi1kZXRlcm1p
bmlzdGljXQogLS0tKi8KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9GdW5jdGlvbi9pcy1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0Z1bmN0aW9uL2lzLWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDdiODI0NTVk
M2IxOTRlNTAxYmI0ZmI5ZGNiMzM0NTg2Y2NjOGEzZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9pcy1hLWNvbnN0cnVjdG9yLmpzCkBA
IC0wLDAgKzEsMjQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNj
cmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBUaGUgRnVu
Y3Rpb24gY29uc3RydWN0b3IgaW1wbGVtZW50cyBbW0NvbnN0cnVjdF1dCitpbmZvOiB8CisgIElz
Q29uc3RydWN0b3IgKCBhcmd1bWVudCApCisKKyAgVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBJc0Nv
bnN0cnVjdG9yIHRha2VzIGFyZ3VtZW50IGFyZ3VtZW50IChhbiBFQ01BU2NyaXB0IGxhbmd1YWdl
IHZhbHVlKS4KKyAgSXQgZGV0ZXJtaW5lcyBpZiBhcmd1bWVudCBpcyBhIGZ1bmN0aW9uIG9iamVj
dCB3aXRoIGEgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QuCisgIEl0IHBlcmZvcm1zIHRo
ZSBmb2xsb3dpbmcgc3RlcHMgd2hlbiBjYWxsZWQ6CisKKyAgSWYgVHlwZShhcmd1bWVudCkgaXMg
bm90IE9iamVjdCwgcmV0dXJuIGZhbHNlLgorICBJZiBhcmd1bWVudCBoYXMgYSBbW0NvbnN0cnVj
dF1dIGludGVybmFsIG1ldGhvZCwgcmV0dXJuIHRydWUuCisgIFJldHVybiBmYWxzZS4KK2luY2x1
ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3RdCist
LS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoRnVuY3Rpb24pLCB0cnVlLCAn
aXNDb25zdHJ1Y3RvcihGdW5jdGlvbikgbXVzdCByZXR1cm4gdHJ1ZScpOworbmV3IEZ1bmN0aW9u
KCk7CisgIApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0
aW9uL3Byb3RvdHlwZS9hcHBseS9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvYXBwbHkvbm90LWEtY29uc3RydWN0
b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNWFiYThjNTYyZGI5YTAzMTNiYjEwYzMxY2I4OWY2NjQ1NjAyOGQx
ZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5j
dGlvbi9wcm90b3R5cGUvYXBwbHkvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBA
QAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJk
LWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIEZ1bmN0aW9uLnByb3RvdHlwZS5h
cHBseSBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitp
bmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0
aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5v
dAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBv
dGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIg
ZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3Ry
dWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24u
CisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0
LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAor
ICBpc0NvbnN0cnVjdG9yKEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSksCisgIGZhbHNlLAorICAn
aXNDb25zdHJ1Y3RvcihGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkpIG11c3QgcmV0dXJuIGZhbHNl
JworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IEZ1bmN0aW9u
LnByb3RvdHlwZS5hcHBseSgpOworfSwgJ2BuZXcgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KClg
IHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9iaW5kL25v
dC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhZDVhYjYyYTcyNDllMDU4Mjg3OGUxZjA1
MWQ3NmE4YzU4NzcxYzQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL2JpbmQvbm90LWEtY29uc3RydWN0b3IuanMKQEAg
LTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2Ny
aXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIEZ1bmN0aW9u
LnByb3RvdHlwZS5iaW5kIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3Qg
bmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVp
bHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1
Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRo
b2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEg
cGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4g
SWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9y
IGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJl
czogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpLAorICBm
YWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpIG11c3QgcmV0
dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3
IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKCk7Cit9LCAnYG5ldyBGdW5jdGlvbi5wcm90b3R5cGUu
YmluZCgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUvY2FsbC9ub3QtYS1jb25zdHJ1Y3Rv
ci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9GdW5jdGlvbi9wcm90b3R5cGUv
Y2FsbC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hY2Y1ZWEwOWRhMWU4NTAwYWM0
NzFhZTg2OTU4ZWVlZDU1OWFkZDk5Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS9jYWxsL25vdC1hLWNvbnN0cnVjdG9y
LmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMt
ZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBG
dW5jdGlvbi5wcm90b3R5cGUuY2FsbCBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwg
aXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cwor
CisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMg
Y29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJu
YWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlv
biBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4u
CisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5
cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQor
ZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCith
c3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxs
KSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsKSBt
dXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7
CisgIG5ldyBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCgpOworfSwgJ2BuZXcgRnVuY3Rpb24ucHJv
dG90eXBlLmNhbGwoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvRnVuY3Rpb24vcHJvdG90eXBlL3RvU3RyaW5nL25vdC1h
LWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9u
L3Byb3RvdHlwZS90b1N0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTVk
MDllODViYTFiNTUwOGU5NWY0NDUyYWYyODZlZWJkOGFmMzVkCi0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0Z1bmN0aW9uL3Byb3RvdHlwZS90b1N0cmlu
Zy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMp
IDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgor
CisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cwor
ZGVzY3JpcHRpb246ID4KKyAgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGRvZXMgbm90IGlt
cGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNj
cmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0
IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0
aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZp
ZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBz
ZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3Rv
cikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRl
czogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJv
dy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3Io
RnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9y
KEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZykgbXVzdCByZXR1cm4gZmFsc2UnCispOworCith
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgRnVuY3Rpb24ucHJvdG90eXBl
LnRvU3RyaW5nKCk7Cit9LCAnYG5ldyBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcoKWAgdGhy
b3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvR2VuZXJhdG9yRnVuY3Rpb24vaXMtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9HZW5lcmF0b3JGdW5jdGlvbi9pcy1hLWNvbnN0cnVjdG9yLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmQ0MmNjYzRiZTU1ZWFkMTNlZWM3ZTgzZmE3MDJhNTUyZTExNDYzM2IKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvR2VuZXJhdG9y
RnVuY3Rpb24vaXMtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI0IEBACisvLyBDb3B5cmln
aHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2Jq
ZWN0cworZGVzY3JpcHRpb246ID4KKyAgVGhlIEdlbmVyYXRvckZ1bmN0aW9uIGNvbnN0cnVjdG9y
IGltcGxlbWVudHMgW1tDb25zdHJ1Y3RdXQoraW5mbzogfAorICBJc0NvbnN0cnVjdG9yICggYXJn
dW1lbnQgKQorCisgIFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gSXNDb25zdHJ1Y3RvciB0YWtlcyBh
cmd1bWVudCBhcmd1bWVudCAoYW4gRUNNQVNjcmlwdCBsYW5ndWFnZSB2YWx1ZSkuCisgIEl0IGRl
dGVybWluZXMgaWYgYXJndW1lbnQgaXMgYSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhIFtbQ29uc3Ry
dWN0XV0gaW50ZXJuYWwgbWV0aG9kLgorICBJdCBwZXJmb3JtcyB0aGUgZm9sbG93aW5nIHN0ZXBz
IHdoZW4gY2FsbGVkOgorCisgIElmIFR5cGUoYXJndW1lbnQpIGlzIG5vdCBPYmplY3QsIHJldHVy
biBmYWxzZS4KKyAgSWYgYXJndW1lbnQgaGFzIGEgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRo
b2QsIHJldHVybiB0cnVlLgorICBSZXR1cm4gZmFsc2UuCitpbmNsdWRlczogW2lzQ29uc3RydWN0
b3IuanMsIGhpZGRlbi1jb25zdHJ1Y3RvcnMuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3Ry
dWN0XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKEdlbmVyYXRvckZ1
bmN0aW9uKSwgdHJ1ZSwgJ2lzQ29uc3RydWN0b3IoR2VuZXJhdG9yRnVuY3Rpb24pIG11c3QgcmV0
dXJuIHRydWUnKTsKK25ldyBHZW5lcmF0b3JGdW5jdGlvbigpOworICAKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9HZW5lcmF0b3JQcm90b3R5cGUvbmV4dC9ub3Qt
YS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9HZW5lcmF0
b3JQcm90b3R5cGUvbmV4dC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZGI5ODk0
ODVmYWNlN2IwOGYyNmNlMzMyZDIzZjllMzVkZGM4YzcyCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0dlbmVyYXRvclByb3RvdHlwZS9uZXh0L25vdC1h
LWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBS
aWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0t
Citlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlw
dGlvbjogPgorICBPYmplY3QuZ2V0UHJvdG90eXBlT2YoKGZ1bmN0aW9uKiBnKCkge30pLnByb3Rv
dHlwZSkubmV4dCBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1h
YmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWlu
IGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3Jz
IGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVu
bGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRp
Y3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElz
Q29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNl
cHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtS
ZWZsZWN0LmNvbnN0cnVjdCwgZ2VuZXJhdG9ycywgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCith
c3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKE9iamVjdC5nZXRQcm90b3R5cGVPZigo
ZnVuY3Rpb24qIGcoKSB7fSkucHJvdG90eXBlKS5uZXh0KSwKKyAgZmFsc2UsCisgICdpc0NvbnN0
cnVjdG9yKE9iamVjdC5nZXRQcm90b3R5cGVPZigoZnVuY3Rpb24qIGcoKSB7fSkucHJvdG90eXBl
KS5uZXh0KSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9y
LCAoKSA9PiB7CisgIGZ1bmN0aW9uKiBnKCkge30gbGV0IGl0ZXJhdG9yID0gZygpOyBuZXcgaXRl
cmF0b3IubmV4dCgpOworfSwgJ2BmdW5jdGlvbiogZygpIHt9IGxldCBpdGVyYXRvciA9IGcoKTsg
bmV3IGl0ZXJhdG9yLm5leHQoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvR2VuZXJhdG9yUHJvdG90eXBlL3JldHVybi9u
b3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9HZW5l
cmF0b3JQcm90b3R5cGUvcmV0dXJuL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNh
YjBiZTliMGZhNDg1NTRlM2Y0NThlZDE3YjEyNTJiNmRlMDMzYzQKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvR2VuZXJhdG9yUHJvdG90eXBlL3JldHVy
bi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMp
IDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgor
CisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cwor
ZGVzY3JpcHRpb246ID4KKyAgT2JqZWN0LmdldFByb3RvdHlwZU9mKChmdW5jdGlvbiogZygpIHt9
KS5wcm90b3R5cGUpLnJldHVybiBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMg
bm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisg
IEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29u
c3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwg
bWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBv
ZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisg
IDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVF
cnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVh
dHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgZ2VuZXJhdG9ycywgYXJyb3ctZnVuY3Rpb25dCist
LS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKE9iamVjdC5nZXRQcm90
b3R5cGVPZigoZnVuY3Rpb24qIGcoKSB7fSkucHJvdG90eXBlKS5yZXR1cm4pLAorICBmYWxzZSwK
KyAgJ2lzQ29uc3RydWN0b3IoT2JqZWN0LmdldFByb3RvdHlwZU9mKChmdW5jdGlvbiogZygpIHt9
KS5wcm90b3R5cGUpLnJldHVybikgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgKCkgPT4geworICBmdW5jdGlvbiogZygpIHt9IGxldCBpdGVyYXRvciA9
IGcoKTsgbmV3IGl0ZXJhdG9yLnJldHVybigpOworfSwgJ2BmdW5jdGlvbiogZygpIHt9IGxldCBp
dGVyYXRvciA9IGcoKTsgbmV3IGl0ZXJhdG9yLnJldHVybigpYCB0aHJvd3MgVHlwZUVycm9yJyk7
CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9HZW5lcmF0b3JQ
cm90b3R5cGUvdGhyb3cvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvR2VuZXJhdG9yUHJvdG90eXBlL3Rocm93L25vdC1hLWNvbnN0cnVjdG9yLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQ1MDAzNzUyMTM2NjdmMjk1MzE1NjRiMDBlY2QwMDBjNzc0YjdiMTMKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvR2VuZXJhdG9y
UHJvdG90eXBlL3Rocm93L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWls
dC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBPYmplY3QuZ2V0UHJvdG90eXBlT2YoKGZ1
bmN0aW9uKiBnKCkge30pLnByb3RvdHlwZSkudGhyb3cgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29u
c3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9u
IE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVu
dGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVj
dF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUg
ZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5l
dworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwg
dGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1
Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGdlbmVyYXRvcnMsIGFycm93
LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihP
YmplY3QuZ2V0UHJvdG90eXBlT2YoKGZ1bmN0aW9uKiBnKCkge30pLnByb3RvdHlwZSkudGhyb3cp
LAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoT2JqZWN0LmdldFByb3RvdHlwZU9mKChmdW5j
dGlvbiogZygpIHt9KS5wcm90b3R5cGUpLnRocm93KSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisK
K2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGZ1bmN0aW9uKiBnKCkge30gbGV0
IGV4cGVjdGVkID0gbmV3IFRlc3QyNjJFcnJvcigpOyBsZXQgaXRlcmF0b3IgPSBnKCk7dHJ5IHtu
ZXcgaXRlcmF0b3IudGhyb3coZXhwZWN0ZWQpO30gY2F0Y2ggKGUpIHtpZiAoZSAhPT0gZXhwZWN0
ZWQpIHt0aHJvdyBlO319Cit9LCAnYGZ1bmN0aW9uKiBnKCkge30gbGV0IGV4cGVjdGVkID0gbmV3
IFRlc3QyNjJFcnJvcigpOyBsZXQgaXRlcmF0b3IgPSBnKCk7dHJ5IHtuZXcgaXRlcmF0b3IudGhy
b3coZXhwZWN0ZWQpO30gY2F0Y2ggKGUpIHtpZiAoZSAhPT0gZXhwZWN0ZWQpIHt0aHJvdyBlO319
YCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9KU09OL3BhcnNlL1MxNS4xMi4yX0ExLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL0pTT04vcGFyc2UvUzE1LjEyLjJfQTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmM0NDcy
NGQ2MDczMDNmOGVjNTQ2NWI1YjIxOWYxNjk2MzJjNGFmYgotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9KU09OL3BhcnNlL1MxNS4xMi4yX0ExLmpzCkBA
IC0wLDAgKzEsMTYgQEAKKy8vIENvcHlyaWdodCAyMDExIHRoZSBTcHV0bmlrIGF1dGhvcnMuICBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQoraW5mbzogSlNPTi5w
YXJzZSBtdXN0IGNyZWF0ZSBhIHByb3BlcnR5IHdpdGggdGhlIGdpdmVuIHByb3BlcnR5IG5hbWUK
K2VzNWlkOiAxNS4xMi4yX0ExCitkZXNjcmlwdGlvbjogVGVzdHMgdGhhdCBKU09OLnBhcnNlIHRy
ZWF0cyAiX19wcm90b19fIiBhcyBhIHJlZ3VsYXIgcHJvcGVydHkgbmFtZQorLS0tKi8KKwordmFy
IHggPSBKU09OLnBhcnNlKCd7Il9fcHJvdG9fXyI6W119Jyk7CitpZiAoT2JqZWN0LmdldFByb3Rv
dHlwZU9mKHgpICE9PSBPYmplY3QucHJvdG90eXBlKSB7CisgICRFUlJPUignIzE6IEpTT04ucGFy
c2UgY29uZnVzZWQgYnkgIl9fcHJvdG9fXyInKTsKK30KK2lmICghQXJyYXkuaXNBcnJheSh4Ll9f
cHJvdG9fXykpIHsKKyAgJEVSUk9SKCcjMjogSlNPTi5wYXJzZSBkaWQgbm90IHNldCAiX19wcm90
b19fIiBhcyBhIHJlZ3VsYXIgcHJvcGVydHknKTsKK30KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9KU09OL3BhcnNlL2J1aWx0aW4uanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvSlNPTi9wYXJzZS9idWlsdGluLmpzCmluZGV4IDcwYWRjMjMyYzYx
NTdiOWMzMzdjNWRhN2JjNDQ2OGVkOThhNzcwNGYuLmMyODFjM2Y2ZmYxNTQ5OTExMjQwYmEzY2Ey
NWM3YWFlMGM0ODA5Y2IgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9KU09OL3BhcnNlL2J1aWx0aW4uanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL0pTT04vcGFyc2UvYnVpbHRpbi5qcwpAQCAtNSwxNSArNSwyNCBAQCBlc2lkOiBzZWMtanNv
bi5wYXJzZQogZGVzY3JpcHRpb246ID4KICAgUmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBmdW5j
dGlvbnMsIGRlZmluZWQgaW4gaW50cm9kdWN0aW9uIG9mIGNoYXB0ZXIgMTcsCiAgIGFyZSBzYXRp
c2ZpZWQuCi1pbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCiBmZWF0dXJlczogW1JlZmxlY3Qu
Y29uc3RydWN0XQogLS0tKi8KIAogdmFyIHBhcnNlID0gSlNPTi5wYXJzZTsKLWFzc2VydChPYmpl
Y3QuaXNFeHRlbnNpYmxlKHBhcnNlKSk7Ci1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBwYXJzZSwg
J2Z1bmN0aW9uJyk7Ci1hc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcu
Y2FsbChwYXJzZSksICdbb2JqZWN0IEZ1bmN0aW9uXScpOwotYXNzZXJ0LnNhbWVWYWx1ZShPYmpl
Y3QuZ2V0UHJvdG90eXBlT2YocGFyc2UpLCBGdW5jdGlvbi5wcm90b3R5cGUpOwotCi1hc3NlcnQu
c2FtZVZhbHVlKHBhcnNlLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSwgZmFsc2UpOwotYXNz
ZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKHBhcnNlKSwgZmFsc2UpOworYXNzZXJ0KE9iamVj
dC5pc0V4dGVuc2libGUocGFyc2UpLCAnT2JqZWN0LmlzRXh0ZW5zaWJsZShwYXJzZSkgbXVzdCBy
ZXR1cm4gdHJ1ZScpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgcGFyc2UsICdmdW5jdGlvbics
ICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBwYXJzZWAgaXMgImZ1bmN0aW9uIicpOworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHBhcnNlKSwKKyAgJ1tv
YmplY3QgRnVuY3Rpb25dJywKKyAgJ09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCgiSlNP
Ti5wYXJzZSIpIG11c3QgcmV0dXJuICJbb2JqZWN0IEZ1bmN0aW9uXSInCispOworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgT2JqZWN0LmdldFByb3RvdHlwZU9mKHBhcnNlKSwKKyAgRnVuY3Rpb24ucHJv
dG90eXBlLAorICAnT2JqZWN0LmdldFByb3RvdHlwZU9mKCJKU09OLnBhcnNlIikgbXVzdCByZXR1
cm4gdGhlIHZhbHVlIG9mIEZ1bmN0aW9uLnByb3RvdHlwZScKKyk7Cithc3NlcnQuc2FtZVZhbHVl
KAorICBwYXJzZS5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJyksCisgIGZhbHNlLAorICAncGFy
c2UuaGFzT3duUHJvcGVydHkoInByb3RvdHlwZSIpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9KU09OL3BhcnNlL2R1cGxp
Y2F0ZS1wcm90by5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9KU09OL3BhcnNl
L2R1cGxpY2F0ZS1wcm90by5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZjZjY2M4ZGU5NTFiYWU3YzMxZmE4MWI3
NDM5ZDkyMTg3MTNmNGM4Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0pTT04vcGFyc2UvZHVwbGljYXRlLXByb3RvLmpzCkBAIC0wLDAgKzEsMTcgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAyMCBkZXZzbmVrLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLW9iamVjdC1pbml0aWFsaXplci1zdGF0aWMt
c2VtYW50aWNzLWVhcmx5LWVycm9ycworZGVzY3JpcHRpb246ID4KKyAgSXQgaXMgYSBTeW50YXgg
RXJyb3IgaWYgUHJvcGVydHlOYW1lTGlzdCBvZiBQcm9wZXJ0eURlZmluaXRpb25MaXN0IGNvbnRh
aW5zCisgIGFueSBkdXBsaWNhdGUgZW50cmllcyBmb3IgIl9fcHJvdG9fXyIgYW5kIGF0IGxlYXN0
IHR3byBvZiB0aG9zZSBlbnRyaWVzIHdlcmUKKyAgb2J0YWluZWQgZnJvbSBwcm9kdWN0aW9ucyBv
ZiB0aGUgZm9ybQorICAgIFByb3BlcnR5RGVmaW5pdGlvbiA6IFByb3BlcnR5TmFtZSBgOmAgQXNz
aWdubWVudEV4cHJlc3Npb24gLgorICBUaGlzIHJ1bGUgaXMgbm90IGFwcGxpZWQgaWYgdGhpcyBQ
cm9wZXJ0eURlZmluaXRpb24gaXMgY29udGFpbmVkIHdpdGhpbiBhCisgIFNjcmlwdCB3aGljaCBp
cyBiZWluZyBldmFsdWF0ZWQgZm9yIEpTT04ucGFyc2UgKHNlZSBzdGVwIDQgb2YgSlNPTi5wYXJz
ZSkuCistLS0qLworCit2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZSgneyAiX19wcm90b19fIjogMSwg
Il9fcHJvdG9fXyI6IDIgfScpOworCithc3NlcnQuc2FtZVZhbHVlKHJlc3VsdC5fX3Byb3RvX18s
IDIpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0pTT04vcGFy
c2Uvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
SlNPTi9wYXJzZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYWU1NmRhMzA3YzRj
ODYzYmRiNzhlODZmZTE5YWJiOGY4MzZlMGI2Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0pTT04vcGFyc2Uvbm90LWEtY29uc3RydWN0b3IuanMKQEAg
LTAsMCArMSwyOSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2Ny
aXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIEpTT04ucGFy
c2UgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5m
bzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlv
biBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QK
KyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3Ro
ZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1
bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVj
dG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgor
ICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5j
b25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0Nv
bnN0cnVjdG9yKEpTT04ucGFyc2UpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoSlNPTi5wYXJzZSkg
bXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsK
KyAgbmV3IEpTT04ucGFyc2UoJ3t9Jyk7Cit9LCAnYG5ldyBKU09OLnBhcnNlKFwne31cJylgIHRo
cm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL0pTT04vc3RyaW5naWZ5L2J1aWx0aW4uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvSlNPTi9zdHJpbmdpZnkvYnVpbHRpbi5qcwppbmRleCAyMDc2MWYxYzRkODFhMzZj
Y2M5ODBiYzRiYzg5Y2ZiYjA5ZjZiOWE4Li44OGY0Nzg1MWI3NDE2ZTQxYjZlOWJkNjZiYWJjZGVh
YzNiYjg4ZmZlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvSlNP
Ti9zdHJpbmdpZnkvYnVpbHRpbi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvSlNPTi9zdHJpbmdpZnkvYnVpbHRpbi5qcwpAQCAtNiwxMiArNiwyMiBAQCBkZXNjcmlwdGlv
bjogPgogICBUZXN0cyB0aGF0IEpTT04uc3RyaW5naWZ5IG1lZXRzIHRoZSByZXF1aXJlbWVudHMK
ICAgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mIGNo
YXB0ZXIgMTcgb2YKICAgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KLWlu
Y2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KIGZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3Rd
CiAtLS0qLwogCi1hc3NlcnQoT2JqZWN0LmlzRXh0ZW5zaWJsZShKU09OLnN0cmluZ2lmeSkpOwot
YXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoSlNPTi5zdHJp
bmdpZnkpLCAnW29iamVjdCBGdW5jdGlvbl0nKTsKLWFzc2VydC5zYW1lVmFsdWUoT2JqZWN0Lmdl
dFByb3RvdHlwZU9mKEpTT04uc3RyaW5naWZ5KSwgRnVuY3Rpb24ucHJvdG90eXBlKTsKLWFzc2Vy
dC5zYW1lVmFsdWUoSlNPTi5zdHJpbmdpZnkuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpLCBm
YWxzZSk7Ci1hc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoSlNPTi5zdHJpbmdpZnkpLCBm
YWxzZSk7Cithc3NlcnQoT2JqZWN0LmlzRXh0ZW5zaWJsZShKU09OLnN0cmluZ2lmeSksICdPYmpl
Y3QuaXNFeHRlbnNpYmxlKEpTT04uc3RyaW5naWZ5KSBtdXN0IHJldHVybiB0cnVlJyk7Cithc3Nl
cnQuc2FtZVZhbHVlKAorICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoSlNPTi5zdHJp
bmdpZnkpLAorICAnW29iamVjdCBGdW5jdGlvbl0nLAorICAnT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZy5jYWxsKEpTT04uc3RyaW5naWZ5KSBtdXN0IHJldHVybiAiW29iamVjdCBGdW5jdGlvbl0i
JworKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5nZXRQcm90b3R5cGVPZihKU09OLnN0
cmluZ2lmeSksCisgIEZ1bmN0aW9uLnByb3RvdHlwZSwKKyAgJ09iamVjdC5nZXRQcm90b3R5cGVP
ZihKU09OLnN0cmluZ2lmeSkgbXVzdCByZXR1cm4gdGhlIHZhbHVlIG9mIEZ1bmN0aW9uLnByb3Rv
dHlwZScKKyk7Cithc3NlcnQuc2FtZVZhbHVlKAorICBKU09OLnN0cmluZ2lmeS5oYXNPd25Qcm9w
ZXJ0eSgncHJvdG90eXBlJyksCisgIGZhbHNlLAorICAnSlNPTi5zdHJpbmdpZnkuaGFzT3duUHJv
cGVydHkoInByb3RvdHlwZSIpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9KU09OL3N0cmluZ2lmeS9ub3QtYS1jb25zdHJ1
Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9KU09OL3N0cmluZ2lmeS9u
b3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNzAyYTAzMDI2YWU0MDVlMzA0Nzg0Zjg1
YjVjZDk2OGQ2NDE3NjYyCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL0pTT04vc3RyaW5naWZ5L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEs
MjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFu
ZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBKU09OLnN0cmluZ2lmeSBk
b2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8
CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9i
amVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBp
bXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndp
c2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rp
b24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3Io
Y29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4u
LgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0
cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3Ry
dWN0b3IoSlNPTi5zdHJpbmdpZnkpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoSlNPTi5zdHJpbmdp
ZnkpIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9
PiB7CisgIG5ldyBKU09OLnN0cmluZ2lmeSh7fSk7Cit9LCAnYG5ldyBKU09OLnN0cmluZ2lmeSh7
fSlgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL01hcC9pcy1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL01hcC9pcy1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlOWRiZWU3
NTc5MWFhN2M4NjRjZjQ2MjJlNWEzZjdjNGY4NTBiMTIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWFwL2lzLWEtY29uc3RydWN0b3IuanMKQEAgLTAs
MCArMSwyNCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0
LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFRoZSBNYXAgY29u
c3RydWN0b3IgaW1wbGVtZW50cyBbW0NvbnN0cnVjdF1dCitpbmZvOiB8CisgIElzQ29uc3RydWN0
b3IgKCBhcmd1bWVudCApCisKKyAgVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBJc0NvbnN0cnVjdG9y
IHRha2VzIGFyZ3VtZW50IGFyZ3VtZW50IChhbiBFQ01BU2NyaXB0IGxhbmd1YWdlIHZhbHVlKS4K
KyAgSXQgZGV0ZXJtaW5lcyBpZiBhcmd1bWVudCBpcyBhIGZ1bmN0aW9uIG9iamVjdCB3aXRoIGEg
W1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QuCisgIEl0IHBlcmZvcm1zIHRoZSBmb2xsb3dp
bmcgc3RlcHMgd2hlbiBjYWxsZWQ6CisKKyAgSWYgVHlwZShhcmd1bWVudCkgaXMgbm90IE9iamVj
dCwgcmV0dXJuIGZhbHNlLgorICBJZiBhcmd1bWVudCBoYXMgYSBbW0NvbnN0cnVjdF1dIGludGVy
bmFsIG1ldGhvZCwgcmV0dXJuIHRydWUuCisgIFJldHVybiBmYWxzZS4KK2luY2x1ZGVzOiBbaXND
b25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIE1hcF0KKy0tLSov
CisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihNYXApLCB0cnVlLCAnaXNDb25zdHJ1
Y3RvcihNYXApIG11c3QgcmV0dXJuIHRydWUnKTsKK25ldyBNYXAoKTsKKyAgCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWFwL3Byb3RvdHlwZS9TeW1ib2wuaXRl
cmF0b3Ivbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvTWFwL3Byb3RvdHlwZS9TeW1ib2wuaXRlcmF0b3Ivbm90LWEtY29uc3RydWN0b3IuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTZjOTI4ODZmM2M0ZDhjMmVjZTEwMThiYTg0YWEyNWVmNWJhNjk3MQotLS0gL2Rl
di9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXAvcHJvdG90eXBl
L1N5bWJvbC5pdGVyYXRvci9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisv
LyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVp
bHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgTWFwLnByb3RvdHlwZVtTeW1ib2wuaXRl
cmF0b3JdIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUK
K2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVu
Y3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8g
bm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNz
IG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxh
ciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25z
dHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlv
bi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxl
Y3QuY29uc3RydWN0LCBTeW1ib2wsIFN5bWJvbC5pdGVyYXRvciwgTWFwLCBhcnJvdy1mdW5jdGlv
bl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoTWFwLnByb3Rv
dHlwZVtTeW1ib2wuaXRlcmF0b3JdKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKE1hcC5w
cm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSkgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3Nl
cnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgbSA9IG5ldyBNYXAoKTsgbmV3IG1b
U3ltYm9sLml0ZXJhdG9yXSgpOworfSwgJ2BsZXQgbSA9IG5ldyBNYXAoKTsgbmV3IG1bU3ltYm9s
Lml0ZXJhdG9yXSgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXAvcHJvdG90eXBlL2NsZWFyL25vdC1hLWNvbnN0cnVj
dG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hcC9wcm90b3R5cGUvY2xl
YXIvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWU2YzcyODJmNWU4YzYzYWY3NWI2
OGE5ZjllMmMwZTc4YWI1MmNmMwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9NYXAvcHJvdG90eXBlL2NsZWFyL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBA
IC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNj
cmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBNYXAucHJv
dG90eXBlLmNsZWFyIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3
LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQt
aW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3Rv
cnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2Qg
dW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFy
dGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYg
SXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4
Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczog
W1JlZmxlY3QuY29uc3RydWN0LCBNYXAsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0
LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKE1hcC5wcm90b3R5cGUuY2xlYXIpLCBmYWxzZSwgJ2lz
Q29uc3RydWN0b3IoTWFwLnByb3RvdHlwZS5jbGVhcikgbXVzdCByZXR1cm4gZmFsc2UnKTsKKwor
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IG0gPSBuZXcgTWFwKCk7IG5l
dyBtLmNsZWFyKCk7Cit9LCAnYGxldCBtID0gbmV3IE1hcCgpOyBuZXcgbS5jbGVhcigpYCB0aHJv
d3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9NYXAvcHJvdG90eXBlL2RlbGV0ZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXAvcHJvdG90eXBlL2RlbGV0ZS9ub3QtYS1jb25zdHJ1
Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41MmE5OTE2ZmMxNzRjMGQ1MmU5Zjk1YmU5YmY1MjBkZDQ3OTE3
MWUxCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01h
cC9wcm90b3R5cGUvZGVsZXRlL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1i
dWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBNYXAucHJvdG90eXBlLmRlbGV0ZSBk
b2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8
CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9i
amVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBp
bXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndp
c2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rp
b24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3Io
Y29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4u
LgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0
cnVjdCwgTWFwLCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXND
b25zdHJ1Y3RvcihNYXAucHJvdG90eXBlLmRlbGV0ZSksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihN
YXAucHJvdG90eXBlLmRlbGV0ZSkgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IG0gPSBuZXcgTWFwKCk7IG5ldyBtLmRlbGV0ZSgp
OworfSwgJ2BsZXQgbSA9IG5ldyBNYXAoKTsgbmV3IG0uZGVsZXRlKClgIHRocm93cyBUeXBlRXJy
b3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hcC9w
cm90b3R5cGUvZW50cmllcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9NYXAvcHJvdG90eXBlL2VudHJpZXMvbm90LWEtY29uc3RydWN0b3IuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMDIzMDAxYmQyNmE2ODRjYjA2MjgyODAzYzI2MWMwOTc3M2JlNGU0MgotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXAvcHJvdG90
eXBlL2VudHJpZXMvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWlu
LW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIE1hcC5wcm90b3R5cGUuZW50cmllcyBkb2VzIG5v
dCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVD
TUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMg
dGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1l
bnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3Bl
Y2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisK
KyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3Ry
dWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5j
bHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwg
TWFwLCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29u
c3RydWN0b3IoTWFwLnByb3RvdHlwZS5lbnRyaWVzKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVj
dG9yKE1hcC5wcm90b3R5cGUuZW50cmllcykgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3Nl
cnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgbSA9IG5ldyBNYXAoKTsgbmV3IG0u
ZW50cmllcygpOworfSwgJ2BsZXQgbSA9IG5ldyBNYXAoKTsgbmV3IG0uZW50cmllcygpYCB0aHJv
d3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9NYXAvcHJvdG90eXBlL2ZvckVhY2gvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWFwL3Byb3RvdHlwZS9mb3JFYWNoL25vdC1hLWNvbnN0
cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1ZjE1Y2JlMWY4OTk4ODAwZDhiOThkNDVhY2I0YWJmYzdl
ZTU5NjkKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
TWFwL3Byb3RvdHlwZS9mb3JFYWNoL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMg
QEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFy
ZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBNYXAucHJvdG90eXBlLmZvckVh
Y2ggZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5m
bzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlv
biBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QK
KyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3Ro
ZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1
bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVj
dG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgor
ICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5j
b25zdHJ1Y3QsIE1hcCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVl
KAorICBpc0NvbnN0cnVjdG9yKE1hcC5wcm90b3R5cGUuZm9yRWFjaCksCisgIGZhbHNlLAorICAn
aXNDb25zdHJ1Y3RvcihNYXAucHJvdG90eXBlLmZvckVhY2gpIG11c3QgcmV0dXJuIGZhbHNlJwor
KTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IG0gPSBuZXcgTWFw
KCk7IG5ldyBtLmZvckVhY2goKTsKK30sICdgbGV0IG0gPSBuZXcgTWFwKCk7IG5ldyBtLmZvckVh
Y2goKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvTWFwL3Byb3RvdHlwZS9nZXQvbm90LWEtY29uc3RydWN0b3IuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWFwL3Byb3RvdHlwZS9nZXQvbm90LWEtY29u
c3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWVjYTI1ODBjN2EzNzM4YjE2YzQyOTg1ZjBhZmEzNDQw
NWFkOTNmMgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9NYXAvcHJvdG90eXBlL2dldC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQt
YnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgTWFwLnByb3RvdHlwZS5nZXQgZG9l
cyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAor
ICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmpl
Y3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1w
bGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNl
IHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9u
LgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNv
bnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4K
K2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1
Y3QsIE1hcCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29u
c3RydWN0b3IoTWFwLnByb3RvdHlwZS5nZXQpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoTWFwLnBy
b3RvdHlwZS5nZXQpIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVy
cm9yLCAoKSA9PiB7CisgIGxldCBtID0gbmV3IE1hcCgpOyBuZXcgbS5nZXQoKTsKK30sICdgbGV0
IG0gPSBuZXcgTWFwKCk7IG5ldyBtLmdldCgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXAvcHJvdG90eXBlL2hhcy9u
b3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXAv
cHJvdG90eXBlL2hhcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjM4NjFiNGZm
NGQ3ZjE4MjgzOThmOWEzOTQwZmUyZDA4ODA1YzUwCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hcC9wcm90b3R5cGUvaGFzL25vdC1hLWNvbnN0cnVj
dG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRy
b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBz
ZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgor
ICBNYXAucHJvdG90eXBlLmhhcyBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMg
bm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisg
IEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29u
c3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwg
bWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBv
ZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisg
IDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVF
cnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVh
dHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgTWFwLCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisK
K2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihNYXAucHJvdG90eXBlLmhhcyksIGZhbHNl
LCAnaXNDb25zdHJ1Y3RvcihNYXAucHJvdG90eXBlLmhhcykgbXVzdCByZXR1cm4gZmFsc2UnKTsK
KworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IG0gPSBuZXcgTWFwKCk7
IG5ldyBtLmhhcygpOworfSwgJ2BsZXQgbSA9IG5ldyBNYXAoKTsgbmV3IG0uaGFzKClgIHRocm93
cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL01hcC9wcm90b3R5cGUva2V5cy9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9NYXAvcHJvdG90eXBlL2tleXMvbm90LWEtY29uc3RydWN0b3Iu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZDM1MjU3YWYyMTg2YjAwMjEyMTliY2NiNGFlNmVjMmNiZjdmOWQ3NQot
LS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXAvcHJv
dG90eXBlL2tleXMvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWlu
LW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIE1hcC5wcm90b3R5cGUua2V5cyBkb2VzIG5vdCBp
bXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFT
Y3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhh
dCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQg
dGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lm
aWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAg
c2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0
b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVk
ZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgTWFw
LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3Rv
cihNYXAucHJvdG90eXBlLmtleXMpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoTWFwLnByb3RvdHlw
ZS5rZXlzKSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
KCkgPT4geworICBsZXQgbSA9IG5ldyBNYXAoKTsgbmV3IG0ua2V5cygpOworfSwgJ2BsZXQgbSA9
IG5ldyBNYXAoKTsgbmV3IG0ua2V5cygpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXAvcHJvdG90eXBlL3NldC9ub3Qt
YS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXAvcHJv
dG90eXBlL3NldC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjAxZjc4MDRkZGFi
ZGYwMWYyMWY4ZjMxYjVmNTg5YjlkYTMyOGUyCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hcC9wcm90b3R5cGUvc2V0L25vdC1hLWNvbnN0cnVjdG9y
LmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMt
ZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBN
YXAucHJvdG90eXBlLnNldCBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90
IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1
aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3Ry
dWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0
aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBh
IHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcu
IElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJv
ciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVy
ZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgTWFwLCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fz
c2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihNYXAucHJvdG90eXBlLnNldCksIGZhbHNlLCAn
aXNDb25zdHJ1Y3RvcihNYXAucHJvdG90eXBlLnNldCkgbXVzdCByZXR1cm4gZmFsc2UnKTsKKwor
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IG0gPSBuZXcgTWFwKCk7IG5l
dyBtLnNldCgpOworfSwgJ2BsZXQgbSA9IG5ldyBNYXAoKTsgbmV3IG0uc2V0KClgIHRocm93cyBU
eXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L01hcC9wcm90b3R5cGUvdmFsdWVzL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL01hcC9wcm90b3R5cGUvdmFsdWVzL25vdC1hLWNvbnN0cnVjdG9y
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIwYWRiMGM4ZDc2OTAyNjNhMzA4MmM0ODQxZTk0NTY0Nzg4YjQ4MTMK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWFwL3By
b3RvdHlwZS92YWx1ZXMvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBAQAorLy8g
Q29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0
LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIE1hcC5wcm90b3R5cGUudmFsdWVzIGRvZXMg
bm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAg
RUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0
cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxl
bWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBz
cGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4K
KworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25z
dHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitp
bmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0
LCBNYXAsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0
cnVjdG9yKE1hcC5wcm90b3R5cGUudmFsdWVzKSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKE1hcC5w
cm90b3R5cGUudmFsdWVzKSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5
cGVFcnJvciwgKCkgPT4geworICBsZXQgbSA9IG5ldyBNYXAoKTsgbmV3IG0udmFsdWVzKCk7Cit9
LCAnYGxldCBtID0gbmV3IE1hcCgpOyBuZXcgbS52YWx1ZXMoKWAgdGhyb3dzIFR5cGVFcnJvcicp
OworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9hYnMv
bm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0
aC9hYnMvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWY5N2NjYmI1MzIzODc5ZDUz
ZWIyM2E4NWJiZTQ1MWIzMDU1NGJhOQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9NYXRoL2Ficy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsx
LDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3Rh
bmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgTWF0aC5hYnMgZG9lcyBu
b3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBF
Q01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3Rz
IHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVt
ZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNw
ZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgor
CisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0
cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2lu
Y2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3Qs
IGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9y
KE1hdGguYWJzKSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKE1hdGguYWJzKSBtdXN0IHJldHVybiBm
YWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgTWF0aC5h
YnMoKTsKK30sICdgbmV3IE1hdGguYWJzKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvYWNvcy9ub3QtYS1jb25z
dHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRoL2Fjb3Mvbm90
LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDM4ZTFiMjNhODllNDI0YmI2MDQyNmI0OWE4
ZDZkNWRmNjQzNjRkMwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9NYXRoL2Fjb3Mvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBAQAor
Ly8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1
aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIE1hdGguYWNvcyBkb2VzIG5vdCBpbXBs
ZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3Jp
cHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBh
cmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhl
IFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVk
IGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2Vj
LWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3Ip
IGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6
IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ct
ZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoTWF0aC5h
Y29zKSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKE1hdGguYWNvcykgbXVzdCByZXR1cm4gZmFsc2Un
KTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IE1hdGguYWNvcygp
OworfSwgJ2BuZXcgTWF0aC5hY29zKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvYWNvc2gvbm90LWEtY29uc3Ry
dWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9hY29zaC9ub3Qt
YS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NDk4ODhmZTliYzMzNzYxYzE0Y2EyMmY4ODcw
OGM4MWEzMzdiOGZiCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL01hdGgvYWNvc2gvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBAQAor
Ly8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1
aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIE1hdGguYWNvc2ggZG9lcyBub3QgaW1w
bGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2Ny
aXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQg
YXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRo
ZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmll
ZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNl
Yy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9y
KSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVz
OiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93
LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKE1hdGgu
YWNvc2gpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoTWF0aC5hY29zaCkgbXVzdCByZXR1cm4gZmFs
c2UnKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IE1hdGguYWNv
c2goKTsKK30sICdgbmV3IE1hdGguYWNvc2goKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9hc2luL25vdC1hLWNv
bnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvYXNpbi9u
b3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNTMwMjVhMTY0OWMyZDU4MTJmZjZmMWEx
ZDg4YWZhODQxNGQwOWUzCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL01hdGgvYXNpbi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQt
YnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgTWF0aC5hc2luIGRvZXMgbm90IGlt
cGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNj
cmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0
IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0
aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZp
ZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBz
ZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3Rv
cikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRl
czogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJv
dy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihNYXRo
LmFzaW4pLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoTWF0aC5hc2luKSBtdXN0IHJldHVybiBmYWxz
ZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgTWF0aC5hc2lu
KCk7Cit9LCAnYG5ldyBNYXRoLmFzaW4oKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9hc2luaC9ub3QtYS1jb25z
dHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRoL2FzaW5oL25v
dC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE4MDMwMDBjMmE1MzMzMTA4MmNkZDljYjIz
ZWYxM2Q4N2Y4Y2Y1ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvTWF0aC9hc2luaC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQt
YnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgTWF0aC5hc2luaCBkb2VzIG5vdCBp
bXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFT
Y3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhh
dCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQg
dGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lm
aWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAg
c2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0
b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVk
ZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJy
b3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoTWF0
aC5hc2luaCksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihNYXRoLmFzaW5oKSBtdXN0IHJldHVybiBm
YWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgTWF0aC5h
c2luaCgpOworfSwgJ2BuZXcgTWF0aC5hc2luaCgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRoL2F0YW4vbm90LWEt
Y29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9hdGFu
L25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2MDM3ZDZiMjIwNGNiZjA2MDM5MDQz
Y2YzNWVjOTYwYmRhOThkM2EKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvTWF0aC9hdGFuL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkg
QEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFy
ZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBNYXRoLmF0YW4gZG9lcyBub3Qg
aW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01B
U2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRo
YXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50
IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNp
ZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisg
IHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVj
dG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1
ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFy
cm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKE1h
dGguYXRhbiksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihNYXRoLmF0YW4pIG11c3QgcmV0dXJuIGZh
bHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBNYXRoLmF0
YW4oKTsKK30sICdgbmV3IE1hdGguYXRhbigpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRoL2F0YW4yL25vdC1hLWNv
bnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvYXRhbjIv
bm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTRmM2FiMDJmMzM2OTExODEzMmNhZjBj
MDZiNGE2YTRlN2I5ODQ4OQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9NYXRoL2F0YW4yL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkg
QEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFy
ZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBNYXRoLmF0YW4yIGRvZXMgbm90
IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNN
QVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0
aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVu
dCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVj
aWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKwor
ICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1
Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNs
dWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBh
cnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihN
YXRoLmF0YW4yKSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKE1hdGguYXRhbjIpIG11c3QgcmV0dXJu
IGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBNYXRo
LmF0YW4yKCk7Cit9LCAnYG5ldyBNYXRoLmF0YW4yKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvYXRhbmgvbm90
LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9h
dGFuaC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMWI5ZmU4ZjVlZmJlMWU2MDJi
NzEyYzM4MTRmMjM5ZGUyOTFlNjUxCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL01hdGgvYXRhbmgvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCAr
MSwyOSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0
YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIE1hdGguYXRhbmggZG9l
cyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAor
ICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmpl
Y3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1w
bGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNl
IHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9u
LgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNv
bnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4K
K2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1
Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVj
dG9yKE1hdGguYXRhbmgpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoTWF0aC5hdGFuaCkgbXVzdCBy
ZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3
IE1hdGguYXRhbmgoKTsKK30sICdgbmV3IE1hdGguYXRhbmgoKWAgdGhyb3dzIFR5cGVFcnJvcicp
OworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9jYnJ0
L25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01h
dGgvY2JydC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTlhMTNlN2IzNjA0ZGU3
ZThiMzliYjEzOTgwZDFjNzBhOTVhMGJlCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvY2JydC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCww
ICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQt
c3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgTWF0aC5jYnJ0IGRv
ZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwK
KyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2Jq
ZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGlt
cGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lz
ZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlv
bi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihj
b25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4u
CitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3Ry
dWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1
Y3RvcihNYXRoLmNicnQpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoTWF0aC5jYnJ0KSBtdXN0IHJl
dHVybiBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcg
TWF0aC5jYnJ0KCk7Cit9LCAnYG5ldyBNYXRoLmNicnQoKWAgdGhyb3dzIFR5cGVFcnJvcicpOwor
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9jZWlsL25v
dC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgv
Y2VpbC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOThmNWFkNTIyMzNhNDgxNDIz
NTYyY2JiOTA0YjQxOGE3NzU5Y2ViCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL01hdGgvY2VpbC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsx
LDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3Rh
bmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgTWF0aC5jZWlsIGRvZXMg
bm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAg
RUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0
cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxl
bWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBz
cGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4K
KworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25z
dHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitp
bmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0
LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3Rv
cihNYXRoLmNlaWwpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoTWF0aC5jZWlsKSBtdXN0IHJldHVy
biBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgTWF0
aC5jZWlsKCk7Cit9LCAnYG5ldyBNYXRoLmNlaWwoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9jbHozMi9ub3Qt
YS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRoL2Ns
ejMyL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE5YzI0ZDExYjExYjA4NzRhNWUx
MmI2ZmJiMjQ1MjBkYzIyYzk0NTMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvTWF0aC9jbHozMi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsx
LDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3Rh
bmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgTWF0aC5jbHozMiBkb2Vz
IG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8Cisg
IEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVj
dHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBs
ZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ug
c3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24u
CisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29u
c3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgor
aW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVj
dCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0
b3IoTWF0aC5jbHozMiksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihNYXRoLmNsejMyKSBtdXN0IHJl
dHVybiBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcg
TWF0aC5jbHozMigpOworfSwgJ2BuZXcgTWF0aC5jbHozMigpYCB0aHJvd3MgVHlwZUVycm9yJyk7
CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRoL2Nvcy9u
b3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRo
L2Nvcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZGUxMzk4OGNjMTJmZDA4MjQx
MDU1NzVmOTY4ZDhmNDVjZjdkYWM0Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL01hdGgvY29zL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEs
MjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFu
ZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBNYXRoLmNvcyBkb2VzIG5v
dCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVD
TUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMg
dGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1l
bnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3Bl
Y2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisK
KyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3Ry
dWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5j
bHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwg
YXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3Io
TWF0aC5jb3MpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoTWF0aC5jb3MpIG11c3QgcmV0dXJuIGZh
bHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBNYXRoLmNv
cygpOworfSwgJ2BuZXcgTWF0aC5jb3MoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9jb3NoL25vdC1hLWNvbnN0
cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvY29zaC9ub3Qt
YS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMWMyN2JiYjkyOWM0ZjJjZmYyYTQ2MWIyNjc1
MTllMjI0NDhjMDlkCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL01hdGgvY29zaC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBACisv
LyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVp
bHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgTWF0aC5jb3NoIGRvZXMgbm90IGltcGxl
bWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlw
dCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFy
ZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUg
W1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQg
aW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMt
ZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3Rvcikg
aXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczog
W2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1m
dW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihNYXRoLmNv
c2gpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoTWF0aC5jb3NoKSBtdXN0IHJldHVybiBmYWxzZScp
OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgTWF0aC5jb3NoKCk7
Cit9LCAnYG5ldyBNYXRoLmNvc2goKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9leHAvbm90LWEtY29uc3RydWN0
b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9leHAvbm90LWEtY29u
c3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjI3YWMyMThmZjcwZDhhZDI1ZjFjMTVmNzBkNjgyZmFi
MGYwY2U5MAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9NYXRoL2V4cC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBACisvLyBDb3B5
cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4t
b2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgTWF0aC5leHAgZG9lcyBub3QgaW1wbGVtZW50IFtb
Q29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0
aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBp
ZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0
cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0
aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0
ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxz
ZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25z
dHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9u
XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKE1hdGguZXhwKSwgZmFs
c2UsICdpc0NvbnN0cnVjdG9yKE1hdGguZXhwKSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3Nl
cnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgTWF0aC5leHAoKTsKK30sICdgbmV3
IE1hdGguZXhwKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvZXhwbTEvbm90LWEtY29uc3RydWN0b3IuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9leHBtMS9ub3QtYS1jb25zdHJ1Y3Rv
ci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hYTFlYzVmNWVhMDEwOWY4NTZhMzNkZTY0ZjE2YTgxODIwMjMyM2Ez
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgv
ZXhwbTEvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBAQAorLy8gQ29weXJpZ2h0
IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVj
dHMKK2Rlc2NyaXB0aW9uOiA+CisgIE1hdGguZXhwbTEgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29u
c3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9u
IE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVu
dGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVj
dF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUg
ZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5l
dworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwg
dGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1
Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQor
LS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKE1hdGguZXhwbTEpLCBmYWxz
ZSwgJ2lzQ29uc3RydWN0b3IoTWF0aC5leHBtMSkgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNz
ZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IE1hdGguZXhwbTEoKTsKK30sICdg
bmV3IE1hdGguZXhwbTEoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9mbG9vci9ub3QtYS1jb25zdHJ1Y3Rvci5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRoL2Zsb29yL25vdC1hLWNvbnN0
cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2ZTgxNmMzNzhiYjk3ZmU2MmNmMGE4YTlhZjBlY2E3OTI5
YmU2OWIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
TWF0aC9mbG9vci9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBACisvLyBDb3B5
cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4t
b2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgTWF0aC5mbG9vciBkb2VzIG5vdCBpbXBsZW1lbnQg
W1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVu
Y3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90
IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29u
c3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisg
IHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1
YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZh
bHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0Nv
bnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rp
b25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoTWF0aC5mbG9vciks
IGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihNYXRoLmZsb29yKSBtdXN0IHJldHVybiBmYWxzZScpOwor
Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgTWF0aC5mbG9vcigpOwor
fSwgJ2BuZXcgTWF0aC5mbG9vcigpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRoL2Zyb3VuZC9ub3QtYS1jb25zdHJ1
Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRoL2Zyb3VuZC9ub3Qt
YS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMDdhNzdlOGRlM2M4OGRjY2JiYTY2M2ZmMWJi
ZDJmN2EwZmI1YTM1Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL01hdGgvZnJvdW5kL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1i
dWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBNYXRoLmZyb3VuZCBkb2VzIG5vdCBp
bXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFT
Y3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhh
dCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQg
dGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lm
aWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAg
c2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0
b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVk
ZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJy
b3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoTWF0
aC5mcm91bmQpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoTWF0aC5mcm91bmQpIG11c3QgcmV0dXJu
IGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBNYXRo
LmZyb3VuZCgpOworfSwgJ2BuZXcgTWF0aC5mcm91bmQoKWAgdGhyb3dzIFR5cGVFcnJvcicpOwor
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9oeXBvdC9u
b3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRo
L2h5cG90L25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwYzUwMjIyMmZlZTYxYTQ1
Y2JlYmIzZjI0YmFkYmNhNWNlNzcyMWYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvTWF0aC9oeXBvdC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCww
ICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQt
c3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgTWF0aC5oeXBvdCBk
b2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8
CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9i
amVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBp
bXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndp
c2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rp
b24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3Io
Y29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4u
LgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0
cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3Ry
dWN0b3IoTWF0aC5oeXBvdCksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihNYXRoLmh5cG90KSBtdXN0
IHJldHVybiBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBu
ZXcgTWF0aC5oeXBvdCgpOworfSwgJ2BuZXcgTWF0aC5oeXBvdCgpYCB0aHJvd3MgVHlwZUVycm9y
Jyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRoL2lt
dWwvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
TWF0aC9pbXVsL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE3Nzc4YWNjNTEzYTUz
M2Q2ZTcyNWE2YWQxYTIyMDU1OGI5NTQ1NTcKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9pbXVsL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0w
LDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlw
dC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBNYXRoLmltdWwg
ZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzog
fAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBv
YmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAg
aW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3
aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0
aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9y
KGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAu
Li4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25z
dHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0
cnVjdG9yKE1hdGguaW11bCksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihNYXRoLmltdWwpIG11c3Qg
cmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5l
dyBNYXRoLmltdWwoKTsKK30sICdgbmV3IE1hdGguaW11bCgpYCB0aHJvd3MgVHlwZUVycm9yJyk7
CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRoL2xvZy9u
b3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRo
L2xvZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYzZmYzlmODczNDBhZjE5ZThm
MWYyZTQ3ODAwN2JlM2YwZjE2OTA5Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL01hdGgvbG9nL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEs
MjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFu
ZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBNYXRoLmxvZyBkb2VzIG5v
dCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVD
TUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMg
dGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1l
bnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3Bl
Y2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisK
KyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3Ry
dWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5j
bHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwg
YXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3Io
TWF0aC5sb2cpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoTWF0aC5sb2cpIG11c3QgcmV0dXJuIGZh
bHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBNYXRoLmxv
ZygpOworfSwgJ2BuZXcgTWF0aC5sb2coKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9sb2cxMC9ub3QtYS1jb25z
dHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRoL2xvZzEwL25v
dC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkZDI3NmEwZmJhYmQ5ODI2NmU4MThmZTg0
ZjNmM2Q2NjE5NGZkYTcKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvTWF0aC9sb2cxMC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQt
YnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgTWF0aC5sb2cxMCBkb2VzIG5vdCBp
bXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFT
Y3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhh
dCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQg
dGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lm
aWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAg
c2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0
b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVk
ZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJy
b3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoTWF0
aC5sb2cxMCksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihNYXRoLmxvZzEwKSBtdXN0IHJldHVybiBm
YWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgTWF0aC5s
b2cxMCgpOworfSwgJ2BuZXcgTWF0aC5sb2cxMCgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRoL2xvZzFwL25vdC1h
LWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvbG9n
MXAvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmZiN2Y1YmM1NGMwYTYxMzk1MDg3
OWEzNWUxNzNhYmE4ZWU0NWYxNAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9NYXRoL2xvZzFwL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEs
MjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFu
ZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBNYXRoLmxvZzFwIGRvZXMg
bm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAg
RUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0
cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxl
bWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBz
cGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4K
KworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25z
dHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitp
bmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0
LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3Rv
cihNYXRoLmxvZzFwKSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKE1hdGgubG9nMXApIG11c3QgcmV0
dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBN
YXRoLmxvZzFwKCk7Cit9LCAnYG5ldyBNYXRoLmxvZzFwKClgIHRocm93cyBUeXBlRXJyb3InKTsK
KwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvbG9nMi9u
b3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRo
L2xvZzIvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzg2YWNhYWMyYTBlYjQ0NjI0
NjBmNDY0ZTQwZDEyZDE3ZTZiM2ExOQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9NYXRoL2xvZzIvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCAr
MSwyOSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0
YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIE1hdGgubG9nMiBkb2Vz
IG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8Cisg
IEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVj
dHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBs
ZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ug
c3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24u
CisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29u
c3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgor
aW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVj
dCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0
b3IoTWF0aC5sb2cyKSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKE1hdGgubG9nMikgbXVzdCByZXR1
cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IE1h
dGgubG9nMigpOworfSwgJ2BuZXcgTWF0aC5sb2cyKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvbWF4L25vdC1h
LWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvbWF4
L25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhNTNhN2QzODJkM2E1NGY5ZGU3NWJm
ZTIyOTgwZGM1OGQ5YTkxZTcKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvTWF0aC9tYXgvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBA
QAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJk
LWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIE1hdGgubWF4IGRvZXMgbm90IGlt
cGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNj
cmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0
IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0
aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZp
ZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBz
ZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3Rv
cikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRl
czogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJv
dy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihNYXRo
Lm1heCksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihNYXRoLm1heCkgbXVzdCByZXR1cm4gZmFsc2Un
KTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IE1hdGgubWF4KCk7
Cit9LCAnYG5ldyBNYXRoLm1heCgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRoL21pbi9ub3QtYS1jb25zdHJ1Y3Rv
ci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRoL21pbi9ub3QtYS1jb25z
dHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNWE3N2ExYjY0Y2Y1OGExYTVjNzNjOGY4Njk5OTllYjBk
OWU5MjJjCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L01hdGgvbWluL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHly
aWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlz
IGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1v
YmplY3RzCitkZXNjcmlwdGlvbjogPgorICBNYXRoLm1pbiBkb2VzIG5vdCBpbXBsZW1lbnQgW1tD
b25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rp
b24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlk
ZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3Ry
dWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRo
ZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRl
bmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNl
LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0
cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25d
CistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoTWF0aC5taW4pLCBmYWxz
ZSwgJ2lzQ29uc3RydWN0b3IoTWF0aC5taW4pIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBNYXRoLm1pbigpOworfSwgJ2BuZXcg
TWF0aC5taW4oKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9wb3cvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9wb3cvbm90LWEtY29uc3RydWN0b3IuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2NhNWFjNDAwZDQ0OTIzNjkwOGJlMjZhZDEwMWI4ZDhkODE2OTM0YwotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRoL3Bvdy9u
b3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisv
Ki0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVz
Y3JpcHRpb246ID4KKyAgTWF0aC5wb3cgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0s
IGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMK
KworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFz
IGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVy
bmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRp
b24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4u
LgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBU
eXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10K
K2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKwor
YXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKE1hdGgucG93KSwgZmFsc2UsICdpc0NvbnN0
cnVjdG9yKE1hdGgucG93KSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5
cGVFcnJvciwgKCkgPT4geworICBuZXcgTWF0aC5wb3coKTsKK30sICdgbmV3IE1hdGgucG93KClg
IHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL01hdGgvcmFuZG9tL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvcmFuZG9tL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjlkY2U1ZWJiOTE0NDBlNWFjYjMxMjMxNDIyYjVmNTI0Zjg0Y2ZhZGIKLS0tIC9kZXYv
bnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9yYW5kb20vbm90
LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIw
IFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zl
cm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyot
LS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2Ny
aXB0aW9uOiA+CisgIE1hdGgucmFuZG9tIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1d
LCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3Rz
CisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBh
cyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRl
cm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0
aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAu
Li4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEg
VHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNd
CitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisK
K2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihNYXRoLnJhbmRvbSksIGZhbHNlLCAnaXND
b25zdHJ1Y3RvcihNYXRoLnJhbmRvbSkgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IE1hdGgucmFuZG9tKCk7Cit9LCAnYG5ldyBN
YXRoLnJhbmRvbSgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRoL3JvdW5kL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvcm91bmQvbm90LWEtY29uc3RydWN0
b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODAyMWNmMWYzMzY3ZWNiNjBiNzMxMDQ2NmEzYThkYmU1ZDRjMjA1
MAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRo
L3JvdW5kL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdo
dCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmpl
Y3RzCitkZXNjcmlwdGlvbjogPgorICBNYXRoLnJvdW5kIGRvZXMgbm90IGltcGxlbWVudCBbW0Nv
bnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlv
biBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRl
bnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1
Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhl
IGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVu
ZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2Us
IHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3Ry
dWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0K
Ky0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihNYXRoLnJvdW5kKSwgZmFs
c2UsICdpc0NvbnN0cnVjdG9yKE1hdGgucm91bmQpIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fz
c2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBNYXRoLnJvdW5kKCk7Cit9LCAn
YG5ldyBNYXRoLnJvdW5kKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvc2lnbi9ub3QtYS1jb25zdHJ1Y3Rvci5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXRoL3NpZ24vbm90LWEtY29uc3Ry
dWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTY3MDZiMWM4NmI2ZGNiMzlhOWJiZTYzY2JhNDE4OWQ0Y2Ew
ZTcwZQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9N
YXRoL3NpZ24vbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9i
amVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIE1hdGguc2lnbiBkb2VzIG5vdCBpbXBsZW1lbnQgW1tD
b25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rp
b24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlk
ZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3Ry
dWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRo
ZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRl
bmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNl
LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0
cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25d
CistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoTWF0aC5zaWduKSwgZmFs
c2UsICdpc0NvbnN0cnVjdG9yKE1hdGguc2lnbikgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNz
ZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IE1hdGguc2lnbigpOworfSwgJ2Bu
ZXcgTWF0aC5zaWduKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvc2luL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvc2luL25vdC1hLWNvbnN0cnVjdG9y
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQzYTEyNGVlODlkYmIxZGU1MjZiOWRkNjVmYTU2ZDAzYTNlY2QwYTkK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9z
aW4vbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBAQAorLy8gQ29weXJpZ2h0IChD
KSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
KworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMK
K2Rlc2NyaXB0aW9uOiA+CisgIE1hdGguc2luIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVj
dF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmpl
Y3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmll
ZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBp
bnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2Ny
aXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKwor
ICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93
IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3Iu
anNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSov
CisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihNYXRoLnNpbiksIGZhbHNlLCAnaXND
b25zdHJ1Y3RvcihNYXRoLnNpbikgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IE1hdGguc2luKCk7Cit9LCAnYG5ldyBNYXRoLnNp
bigpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9NYXRoL3Npbmgvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9zaW5oL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmM1YzlhMWNiOGI2OTNiNzAyNmVlNWJiZmI3NDU1NmQyOTlhNDY2MDcKLS0tIC9kZXYv
bnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9zaW5oL25vdC1h
LWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBS
aWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0t
Citlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlw
dGlvbjogPgorICBNYXRoLnNpbmggZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlz
IG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKwor
ICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNv
bnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFs
IG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24g
b2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgor
ICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBl
RXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2Zl
YXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNz
ZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKE1hdGguc2luaCksIGZhbHNlLCAnaXNDb25zdHJ1
Y3RvcihNYXRoLnNpbmgpIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCAoKSA9PiB7CisgIG5ldyBNYXRoLnNpbmgoKTsKK30sICdgbmV3IE1hdGguc2luaCgp
YCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9NYXRoL3NxcnQvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvTWF0aC9zcXJ0L25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmE3NGExNjUxNjUzZDU4ODg0MGM2OWI3Yzk2YTg1MDRhMDYyODRlMWQKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC9zcXJ0L25vdC1hLWNv
bnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNr
IFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitl
c2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlv
bjogPgorICBNYXRoLnNxcnQgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5v
dCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBC
dWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0
cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1l
dGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2Yg
YSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3
LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJy
b3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1
cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0
LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKE1hdGguc3FydCksIGZhbHNlLCAnaXNDb25zdHJ1Y3Rv
cihNYXRoLnNxcnQpIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVy
cm9yLCAoKSA9PiB7CisgIG5ldyBNYXRoLnNxcnQoKTsKK30sICdgbmV3IE1hdGguc3FydCgpYCB0
aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9NYXRoL3Rhbi9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9NYXRoL3Rhbi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
OTM0M2VhYmI1OGM3YjgzNGMxZTk1YmQzNDgyZWQzZWViY2VmOWNiCi0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvdGFuL25vdC1hLWNvbnN0cnVj
dG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRy
b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBz
ZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgor
ICBNYXRoLnRhbiBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1h
YmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWlu
IGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3Jz
IGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVu
bGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRp
Y3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElz
Q29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNl
cHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtS
ZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZh
bHVlKGlzQ29uc3RydWN0b3IoTWF0aC50YW4pLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoTWF0aC50
YW4pIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9
PiB7CisgIG5ldyBNYXRoLnRhbigpOworfSwgJ2BuZXcgTWF0aC50YW4oKWAgdGhyb3dzIFR5cGVF
cnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0
aC90YW5oL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL01hdGgvdGFuaC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NTQyODcyNTll
YWVjYjI1MDlhNGNjMWM4ODE0NDQxNjU1ZGIwZDMzCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL01hdGgvdGFuaC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpA
QCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFz
Y3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgTWF0aC50
YW5oIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2lu
Zm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rp
b24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90
CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90
aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBm
dW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1
Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4K
KyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3Qu
Y29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXND
b25zdHJ1Y3RvcihNYXRoLnRhbmgpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoTWF0aC50YW5oKSBt
dXN0IHJldHVybiBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gewor
ICBuZXcgTWF0aC50YW5oKCk7Cit9LCAnYG5ldyBNYXRoLnRhbmgoKWAgdGhyb3dzIFR5cGVFcnJv
cicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC90
cnVuYy9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9NYXRoL3RydW5jL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmMDVmMjcxNTk3
YTA1NTMxNzRlZDI0NzllMjQyZjllMDNjZjg0MzAKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTWF0aC90cnVuYy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpA
QCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFz
Y3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgTWF0aC50
cnVuYyBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitp
bmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0
aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5v
dAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBv
dGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIg
ZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3Ry
dWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24u
CisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0
LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlz
Q29uc3RydWN0b3IoTWF0aC50cnVuYyksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihNYXRoLnRydW5j
KSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4g
eworICBuZXcgTWF0aC50cnVuYygpOworfSwgJ2BuZXcgTWF0aC50cnVuYygpYCB0aHJvd3MgVHlw
ZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9O
YXRpdmVFcnJvcnMvQWdncmVnYXRlRXJyb3IvaXMtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OYXRpdmVFcnJvcnMvQWdncmVnYXRlRXJyb3IvaXMtYS1j
b25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTFhZDE3MWI2OGZjYjVhMWVlMTgyNjViOTBjMjI2
ZDA1MThkYThkCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL05hdGl2ZUVycm9ycy9BZ2dyZWdhdGVFcnJvci9pcy1hLWNvbnN0cnVjdG9yLmpzCkBAIC0w
LDAgKzEsMjQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlw
dC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBUaGUgQWdncmVn
YXRlRXJyb3IgY29uc3RydWN0b3IgaW1wbGVtZW50cyBbW0NvbnN0cnVjdF1dCitpbmZvOiB8Cisg
IElzQ29uc3RydWN0b3IgKCBhcmd1bWVudCApCisKKyAgVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBJ
c0NvbnN0cnVjdG9yIHRha2VzIGFyZ3VtZW50IGFyZ3VtZW50IChhbiBFQ01BU2NyaXB0IGxhbmd1
YWdlIHZhbHVlKS4KKyAgSXQgZGV0ZXJtaW5lcyBpZiBhcmd1bWVudCBpcyBhIGZ1bmN0aW9uIG9i
amVjdCB3aXRoIGEgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QuCisgIEl0IHBlcmZvcm1z
IHRoZSBmb2xsb3dpbmcgc3RlcHMgd2hlbiBjYWxsZWQ6CisKKyAgSWYgVHlwZShhcmd1bWVudCkg
aXMgbm90IE9iamVjdCwgcmV0dXJuIGZhbHNlLgorICBJZiBhcmd1bWVudCBoYXMgYSBbW0NvbnN0
cnVjdF1dIGludGVybmFsIG1ldGhvZCwgcmV0dXJuIHRydWUuCisgIFJldHVybiBmYWxzZS4KK2lu
Y2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3Qs
IEFnZ3JlZ2F0ZUVycm9yXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9y
KEFnZ3JlZ2F0ZUVycm9yKSwgdHJ1ZSwgJ2lzQ29uc3RydWN0b3IoQWdncmVnYXRlRXJyb3IpIG11
c3QgcmV0dXJuIHRydWUnKTsKK25ldyBBZ2dyZWdhdGVFcnJvcihbXSk7CisgIApkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL05hdGl2ZUVycm9ycy9FdmFsRXJyb3Iv
aXMtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OYXRp
dmVFcnJvcnMvRXZhbEVycm9yL2lzLWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTdiMmQ4
MTFmZGFmOGZiNmJhZjQ3NTcwMTg4NTE3MDk0NDUyZGM5OQotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OYXRpdmVFcnJvcnMvRXZhbEVycm9yL2lzLWEt
Y29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyNCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJp
Y2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0K
K2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0
aW9uOiA+CisgIFRoZSBFdmFsRXJyb3IgY29uc3RydWN0b3IgaW1wbGVtZW50cyBbW0NvbnN0cnVj
dF1dCitpbmZvOiB8CisgIElzQ29uc3RydWN0b3IgKCBhcmd1bWVudCApCisKKyAgVGhlIGFic3Ry
YWN0IG9wZXJhdGlvbiBJc0NvbnN0cnVjdG9yIHRha2VzIGFyZ3VtZW50IGFyZ3VtZW50IChhbiBF
Q01BU2NyaXB0IGxhbmd1YWdlIHZhbHVlKS4KKyAgSXQgZGV0ZXJtaW5lcyBpZiBhcmd1bWVudCBp
cyBhIGZ1bmN0aW9uIG9iamVjdCB3aXRoIGEgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2Qu
CisgIEl0IHBlcmZvcm1zIHRoZSBmb2xsb3dpbmcgc3RlcHMgd2hlbiBjYWxsZWQ6CisKKyAgSWYg
VHlwZShhcmd1bWVudCkgaXMgbm90IE9iamVjdCwgcmV0dXJuIGZhbHNlLgorICBJZiBhcmd1bWVu
dCBoYXMgYSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCwgcmV0dXJuIHRydWUuCisgIFJl
dHVybiBmYWxzZS4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVm
bGVjdC5jb25zdHJ1Y3RdCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3Io
RXZhbEVycm9yKSwgdHJ1ZSwgJ2lzQ29uc3RydWN0b3IoRXZhbEVycm9yKSBtdXN0IHJldHVybiB0
cnVlJyk7CituZXcgRXZhbEVycm9yKCk7CisgIApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL05hdGl2ZUVycm9ycy9SYW5nZUVycm9yL2lzLWEtY29uc3RydWN0b3Iu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTmF0aXZlRXJyb3JzL1JhbmdlRXJy
b3IvaXMtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNTUyOTk4Yzk4YTcxZmFmNDdjOTNl
NjNhNmZmMzI2ZmQzNDcwOTE5Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL05hdGl2ZUVycm9ycy9SYW5nZUVycm9yL2lzLWEtY29uc3RydWN0b3IuanMK
QEAgLTAsMCArMSwyNCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21h
c2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFRoZSBS
YW5nZUVycm9yIGNvbnN0cnVjdG9yIGltcGxlbWVudHMgW1tDb25zdHJ1Y3RdXQoraW5mbzogfAor
ICBJc0NvbnN0cnVjdG9yICggYXJndW1lbnQgKQorCisgIFRoZSBhYnN0cmFjdCBvcGVyYXRpb24g
SXNDb25zdHJ1Y3RvciB0YWtlcyBhcmd1bWVudCBhcmd1bWVudCAoYW4gRUNNQVNjcmlwdCBsYW5n
dWFnZSB2YWx1ZSkuCisgIEl0IGRldGVybWluZXMgaWYgYXJndW1lbnQgaXMgYSBmdW5jdGlvbiBv
YmplY3Qgd2l0aCBhIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLgorICBJdCBwZXJmb3Jt
cyB0aGUgZm9sbG93aW5nIHN0ZXBzIHdoZW4gY2FsbGVkOgorCisgIElmIFR5cGUoYXJndW1lbnQp
IGlzIG5vdCBPYmplY3QsIHJldHVybiBmYWxzZS4KKyAgSWYgYXJndW1lbnQgaGFzIGEgW1tDb25z
dHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QsIHJldHVybiB0cnVlLgorICBSZXR1cm4gZmFsc2UuCitp
bmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0
XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKFJhbmdlRXJyb3IpLCB0
cnVlLCAnaXNDb25zdHJ1Y3RvcihSYW5nZUVycm9yKSBtdXN0IHJldHVybiB0cnVlJyk7CituZXcg
UmFuZ2VFcnJvcigpOworICAKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9OYXRpdmVFcnJvcnMvUmVmZXJlbmNlRXJyb3IvaXMtYS1jb25zdHJ1Y3Rvci5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OYXRpdmVFcnJvcnMvUmVmZXJlbmNlRXJyb3Iv
aXMtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kODNlMjk5OWRhZjY2MmUyZGVkMjA0ZGVh
ZWU1YmJjMjdjNzgwNzI5Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL05hdGl2ZUVycm9ycy9SZWZlcmVuY2VFcnJvci9pcy1hLWNvbnN0cnVjdG9yLmpz
CkBAIC0wLDAgKzEsMjQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNt
YXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBUaGUg
UmVmZXJlbmNlRXJyb3IgY29uc3RydWN0b3IgaW1wbGVtZW50cyBbW0NvbnN0cnVjdF1dCitpbmZv
OiB8CisgIElzQ29uc3RydWN0b3IgKCBhcmd1bWVudCApCisKKyAgVGhlIGFic3RyYWN0IG9wZXJh
dGlvbiBJc0NvbnN0cnVjdG9yIHRha2VzIGFyZ3VtZW50IGFyZ3VtZW50IChhbiBFQ01BU2NyaXB0
IGxhbmd1YWdlIHZhbHVlKS4KKyAgSXQgZGV0ZXJtaW5lcyBpZiBhcmd1bWVudCBpcyBhIGZ1bmN0
aW9uIG9iamVjdCB3aXRoIGEgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QuCisgIEl0IHBl
cmZvcm1zIHRoZSBmb2xsb3dpbmcgc3RlcHMgd2hlbiBjYWxsZWQ6CisKKyAgSWYgVHlwZShhcmd1
bWVudCkgaXMgbm90IE9iamVjdCwgcmV0dXJuIGZhbHNlLgorICBJZiBhcmd1bWVudCBoYXMgYSBb
W0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCwgcmV0dXJuIHRydWUuCisgIFJldHVybiBmYWxz
ZS4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25z
dHJ1Y3RdCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoUmVmZXJlbmNl
RXJyb3IpLCB0cnVlLCAnaXNDb25zdHJ1Y3RvcihSZWZlcmVuY2VFcnJvcikgbXVzdCByZXR1cm4g
dHJ1ZScpOworbmV3IFJlZmVyZW5jZUVycm9yKCk7CisgIApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL05hdGl2ZUVycm9ycy9TeW50YXhFcnJvci9pcy1hLWNvbnN0
cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL05hdGl2ZUVycm9ycy9T
eW50YXhFcnJvci9pcy1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzMmYwOTIwZWY0NzEw
YmM5YTJlNjljYzMyOWU0ODMxYmExNzdlOGEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvTmF0aXZlRXJyb3JzL1N5bnRheEVycm9yL2lzLWEtY29uc3Ry
dWN0b3IuanMKQEAgLTAsMCArMSwyNCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2Fs
ZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6
IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+
CisgIFRoZSBTeW50YXhFcnJvciBjb25zdHJ1Y3RvciBpbXBsZW1lbnRzIFtbQ29uc3RydWN0XV0K
K2luZm86IHwKKyAgSXNDb25zdHJ1Y3RvciAoIGFyZ3VtZW50ICkKKworICBUaGUgYWJzdHJhY3Qg
b3BlcmF0aW9uIElzQ29uc3RydWN0b3IgdGFrZXMgYXJndW1lbnQgYXJndW1lbnQgKGFuIEVDTUFT
Y3JpcHQgbGFuZ3VhZ2UgdmFsdWUpLgorICBJdCBkZXRlcm1pbmVzIGlmIGFyZ3VtZW50IGlzIGEg
ZnVuY3Rpb24gb2JqZWN0IHdpdGggYSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZC4KKyAg
SXQgcGVyZm9ybXMgdGhlIGZvbGxvd2luZyBzdGVwcyB3aGVuIGNhbGxlZDoKKworICBJZiBUeXBl
KGFyZ3VtZW50KSBpcyBub3QgT2JqZWN0LCByZXR1cm4gZmFsc2UuCisgIElmIGFyZ3VtZW50IGhh
cyBhIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLCByZXR1cm4gdHJ1ZS4KKyAgUmV0dXJu
IGZhbHNlLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0
LmNvbnN0cnVjdF0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihTeW50
YXhFcnJvciksIHRydWUsICdpc0NvbnN0cnVjdG9yKFN5bnRheEVycm9yKSBtdXN0IHJldHVybiB0
cnVlJyk7CituZXcgU3ludGF4RXJyb3IoKTsKKyAgCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvTmF0aXZlRXJyb3JzL1R5cGVFcnJvci9pcy1hLWNvbnN0cnVjdG9y
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL05hdGl2ZUVycm9ycy9UeXBlRXJy
b3IvaXMtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOTM4MWZjYmEzZDA0YzJhY2VjZGM1
MDg5NjMzODBkMDgzODQ1ZDk2Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL05hdGl2ZUVycm9ycy9UeXBlRXJyb3IvaXMtYS1jb25zdHJ1Y3Rvci5qcwpA
QCAtMCwwICsxLDI0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFz
Y3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgVGhlIFR5
cGVFcnJvciBjb25zdHJ1Y3RvciBpbXBsZW1lbnRzIFtbQ29uc3RydWN0XV0KK2luZm86IHwKKyAg
SXNDb25zdHJ1Y3RvciAoIGFyZ3VtZW50ICkKKworICBUaGUgYWJzdHJhY3Qgb3BlcmF0aW9uIElz
Q29uc3RydWN0b3IgdGFrZXMgYXJndW1lbnQgYXJndW1lbnQgKGFuIEVDTUFTY3JpcHQgbGFuZ3Vh
Z2UgdmFsdWUpLgorICBJdCBkZXRlcm1pbmVzIGlmIGFyZ3VtZW50IGlzIGEgZnVuY3Rpb24gb2Jq
ZWN0IHdpdGggYSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZC4KKyAgSXQgcGVyZm9ybXMg
dGhlIGZvbGxvd2luZyBzdGVwcyB3aGVuIGNhbGxlZDoKKworICBJZiBUeXBlKGFyZ3VtZW50KSBp
cyBub3QgT2JqZWN0LCByZXR1cm4gZmFsc2UuCisgIElmIGFyZ3VtZW50IGhhcyBhIFtbQ29uc3Ry
dWN0XV0gaW50ZXJuYWwgbWV0aG9kLCByZXR1cm4gdHJ1ZS4KKyAgUmV0dXJuIGZhbHNlLgoraW5j
bHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdF0K
Ky0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihUeXBlRXJyb3IpLCB0cnVl
LCAnaXNDb25zdHJ1Y3RvcihUeXBlRXJyb3IpIG11c3QgcmV0dXJuIHRydWUnKTsKK25ldyBUeXBl
RXJyb3IoKTsKKyAgCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
TmF0aXZlRXJyb3JzL1VSSUVycm9yL2lzLWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvTmF0aXZlRXJyb3JzL1VSSUVycm9yL2lzLWEtY29uc3RydWN0b3Iu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2RhODQ1M2RjNTBiNjhjNjE5ZTYzZmFhODc4M2YyMGQ5NWUxMmYwNAot
LS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OYXRpdmVF
cnJvcnMvVVJJRXJyb3IvaXMtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI0IEBACisvLyBD
b3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQt
aW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgVGhlIFVSSUVycm9yIGNvbnN0cnVjdG9yIGlt
cGxlbWVudHMgW1tDb25zdHJ1Y3RdXQoraW5mbzogfAorICBJc0NvbnN0cnVjdG9yICggYXJndW1l
bnQgKQorCisgIFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gSXNDb25zdHJ1Y3RvciB0YWtlcyBhcmd1
bWVudCBhcmd1bWVudCAoYW4gRUNNQVNjcmlwdCBsYW5ndWFnZSB2YWx1ZSkuCisgIEl0IGRldGVy
bWluZXMgaWYgYXJndW1lbnQgaXMgYSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhIFtbQ29uc3RydWN0
XV0gaW50ZXJuYWwgbWV0aG9kLgorICBJdCBwZXJmb3JtcyB0aGUgZm9sbG93aW5nIHN0ZXBzIHdo
ZW4gY2FsbGVkOgorCisgIElmIFR5cGUoYXJndW1lbnQpIGlzIG5vdCBPYmplY3QsIHJldHVybiBm
YWxzZS4KKyAgSWYgYXJndW1lbnQgaGFzIGEgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2Qs
IHJldHVybiB0cnVlLgorICBSZXR1cm4gZmFsc2UuCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3Iu
anNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0XQorLS0tKi8KKworYXNzZXJ0LnNhbWVW
YWx1ZShpc0NvbnN0cnVjdG9yKFVSSUVycm9yKSwgdHJ1ZSwgJ2lzQ29uc3RydWN0b3IoVVJJRXJy
b3IpIG11c3QgcmV0dXJuIHRydWUnKTsKK25ldyBVUklFcnJvcigpOworICAKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvaXMtYS1jb25zdHJ1Y3Rvci5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvaXMtYS1jb25zdHJ1Y3Rv
ci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42ZjliMzUzOTc5NTM4Njg0NDBmZGRiMzRkNDk2OGMwMWYwZDAyNmJm
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJl
ci9pcy1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjQgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMg
Z292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisK
Ky8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitk
ZXNjcmlwdGlvbjogPgorICBUaGUgTnVtYmVyIGNvbnN0cnVjdG9yIGltcGxlbWVudHMgW1tDb25z
dHJ1Y3RdXQoraW5mbzogfAorICBJc0NvbnN0cnVjdG9yICggYXJndW1lbnQgKQorCisgIFRoZSBh
YnN0cmFjdCBvcGVyYXRpb24gSXNDb25zdHJ1Y3RvciB0YWtlcyBhcmd1bWVudCBhcmd1bWVudCAo
YW4gRUNNQVNjcmlwdCBsYW5ndWFnZSB2YWx1ZSkuCisgIEl0IGRldGVybWluZXMgaWYgYXJndW1l
bnQgaXMgYSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0
aG9kLgorICBJdCBwZXJmb3JtcyB0aGUgZm9sbG93aW5nIHN0ZXBzIHdoZW4gY2FsbGVkOgorCisg
IElmIFR5cGUoYXJndW1lbnQpIGlzIG5vdCBPYmplY3QsIHJldHVybiBmYWxzZS4KKyAgSWYgYXJn
dW1lbnQgaGFzIGEgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QsIHJldHVybiB0cnVlLgor
ICBSZXR1cm4gZmFsc2UuCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczog
W1JlZmxlY3QuY29uc3RydWN0XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVj
dG9yKE51bWJlciksIHRydWUsICdpc0NvbnN0cnVjdG9yKE51bWJlcikgbXVzdCByZXR1cm4gdHJ1
ZScpOworbmV3IE51bWJlcigpOworICAKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9OdW1iZXIvaXNGaW5pdGUvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL2lzRmluaXRlL25vdC1hLWNvbnN0cnVjdG9y
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJlOThhMDkyMDg0OGYzZjZmMDU3ZmZjNzgzYmRkMDJjZjk4Y2E0MmMK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVy
L2lzRmluaXRlL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHly
aWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlz
IGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1v
YmplY3RzCitkZXNjcmlwdGlvbjogPgorICBOdW1iZXIuaXNGaW5pdGUgZG9lcyBub3QgaW1wbGVt
ZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0
IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJl
IG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBb
W0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBp
bgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1l
dmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBp
cyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBb
aXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1
bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKE51bWJlci5p
c0Zpbml0ZSksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihOdW1iZXIuaXNGaW5pdGUpIG11c3QgcmV0
dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBO
dW1iZXIuaXNGaW5pdGUoKTsKK30sICdgbmV3IE51bWJlci5pc0Zpbml0ZSgpYCB0aHJvd3MgVHlw
ZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9O
dW1iZXIvaXNJbnRlZ2VyL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL051bWJlci9pc0ludGVnZXIvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzhhZmFlM2ZiYzFlNzk1YTg2MjNiZDgzOGFmMzBmY2VhMjk0YjRmNwotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvaXNJbnRlZ2Vy
L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMg
Z292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisK
Ky8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitk
ZXNjcmlwdGlvbjogPgorICBOdW1iZXIuaXNJbnRlZ2VyIGRvZXMgbm90IGltcGxlbWVudCBbW0Nv
bnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlv
biBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRl
bnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1
Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhl
IGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVu
ZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2Us
IHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3Ry
dWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0K
Ky0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihOdW1iZXIuaXNJbnRlZ2Vy
KSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKE51bWJlci5pc0ludGVnZXIpIG11c3QgcmV0dXJuIGZh
bHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBOdW1iZXIu
aXNJbnRlZ2VyKCk7Cit9LCAnYG5ldyBOdW1iZXIuaXNJbnRlZ2VyKClgIHRocm93cyBUeXBlRXJy
b3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJl
ci9pc05hTi9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9OdW1iZXIvaXNOYU4vbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTA4ZmVi
NDg4OWI2ZDgyNGMzMTQ2MzcwYzJkNzJkMTBmMzdmNjY1NwotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvaXNOYU4vbm90LWEtY29uc3RydWN0
b3IuanMKQEAgLTAsMCArMSwyOSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJv
bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNl
Yy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+Cisg
IE51bWJlci5pc05hTiBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5l
dy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0
LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0
b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9k
IHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBh
cnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElm
IElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBl
eGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6
IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2Ft
ZVZhbHVlKGlzQ29uc3RydWN0b3IoTnVtYmVyLmlzTmFOKSwgZmFsc2UsICdpc0NvbnN0cnVjdG9y
KE51bWJlci5pc05hTikgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsICgpID0+IHsKKyAgbmV3IE51bWJlci5pc05hTigpOworfSwgJ2BuZXcgTnVtYmVyLmlz
TmFOKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL051bWJlci9pc1NhZmVJbnRlZ2VyL25vdC1hLWNvbnN0cnVjdG9yLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9pc1NhZmVJbnRlZ2VyL25v
dC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhMTJjMDFhN2YyZjhlOWVjZDcyOTRlNDJl
YzE5ZWVkNjFiZDUxYzYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvTnVtYmVyL2lzU2FmZUludGVnZXIvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAs
MCArMSwyOSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0
LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIE51bWJlci5pc1Nh
ZmVJbnRlZ2VyIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFi
bGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4g
ZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMg
ZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5s
ZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGlj
dWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXND
b25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2Vw
dGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1Jl
ZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFs
dWUoaXNDb25zdHJ1Y3RvcihOdW1iZXIuaXNTYWZlSW50ZWdlciksIGZhbHNlLCAnaXNDb25zdHJ1
Y3RvcihOdW1iZXIuaXNTYWZlSW50ZWdlcikgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IE51bWJlci5pc1NhZmVJbnRlZ2VyKCk7
Cit9LCAnYG5ldyBOdW1iZXIuaXNTYWZlSW50ZWdlcigpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcGFyc2VG
bG9hdC9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9OdW1iZXIvcGFyc2VGbG9hdC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40N2M4
ZDY2ZmY2MGMyYmMxZjNhM2E1MDNmNWVlY2JmMGIxZDIxMzI3Ci0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wYXJzZUZsb2F0L25vdC1hLWNv
bnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNr
IFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitl
c2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlv
bjogPgorICBOdW1iZXIucGFyc2VGbG9hdCBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3Rd
XSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0
cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQg
YXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50
ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlw
dGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAg
Li4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBh
IFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpz
XQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLwor
Cithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoTnVtYmVyLnBhcnNlRmxvYXQpLCBmYWxz
ZSwgJ2lzQ29uc3RydWN0b3IoTnVtYmVyLnBhcnNlRmxvYXQpIG11c3QgcmV0dXJuIGZhbHNlJyk7
CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBOdW1iZXIucGFyc2VG
bG9hdCgpOworfSwgJ2BuZXcgTnVtYmVyLnBhcnNlRmxvYXQoKWAgdGhyb3dzIFR5cGVFcnJvcicp
OworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Bh
cnNlSW50L25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL051bWJlci9wYXJzZUludC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMWE0
NWI1N2RlYjdiYmQ5ZWZhY2RjYmUwZDE0MjUyNjE5MTViNmEwCi0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wYXJzZUludC9ub3QtYS1jb25z
dHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBX
YWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246
ID4KKyAgTnVtYmVyLnBhcnNlSW50IGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBp
cyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisK
KyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBj
b25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5h
bCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9u
IG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4K
KyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlw
ZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitm
ZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fz
c2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihOdW1iZXIucGFyc2VJbnQpLCBmYWxzZSwgJ2lz
Q29uc3RydWN0b3IoTnVtYmVyLnBhcnNlSW50KSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3Nl
cnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgTnVtYmVyLnBhcnNlSW50KCk7Cit9
LCAnYG5ldyBOdW1iZXIucGFyc2VJbnQoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b0V4
cG9uZW50aWFsL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9FeHBvbmVudGlhbC9ub3QtYS1jb25zdHJ1Y3Rvci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wYjUyN2EwZGE3NTZjZDU2NWZjMjliNGI0OTVjZjc3N2RiYjVjMDk2Ci0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9w
cm90b3R5cGUvdG9FeHBvbmVudGlhbC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMz
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRh
cmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgTnVtYmVyLnByb3RvdHlwZS50
b0V4cG9uZW50aWFsIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3
LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQt
aW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3Rv
cnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2Qg
dW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFy
dGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYg
SXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4
Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczog
W1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIGlzQ29uc3RydWN0b3IoTnVtYmVyLnByb3RvdHlwZS50b0V4cG9uZW50aWFsKSwK
KyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKE51bWJlci5wcm90b3R5cGUudG9FeHBvbmVudGlh
bCkgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkg
PT4geworICBuZXcgTnVtYmVyLnByb3RvdHlwZS50b0V4cG9uZW50aWFsKCk7Cit9LCAnYG5ldyBO
dW1iZXIucHJvdG90eXBlLnRvRXhwb25lbnRpYWwoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlw
ZS90b0ZpeGVkL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9GaXhlZC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jYWM1Nzg0YjViNDdmMWNhMDU3ZGYyNzNkZWIwZjQ2ZTZlMDU4ZmU0Ci0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5
cGUvdG9GaXhlZC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5
cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4t
b2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkIGRvZXMg
bm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAg
RUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0
cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxl
bWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBz
cGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4K
KworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25z
dHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitp
bmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0
LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3Ry
dWN0b3IoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVj
dG9yKE51bWJlci5wcm90b3R5cGUudG9GaXhlZCkgbXVzdCByZXR1cm4gZmFsc2UnCispOworCith
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgTnVtYmVyLnByb3RvdHlwZS50
b0ZpeGVkKCk7Cit9LCAnYG5ldyBOdW1iZXIucHJvdG90eXBlLnRvRml4ZWQoKWAgdGhyb3dzIFR5
cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
TnVtYmVyL3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvTG9jYWxlU3Ry
aW5nL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkZWY3MmI3YTZkYzI2ZDhjMmFm
ZWQwOGU1ZjU0ZjcwZTc5NjE3ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9ub3QtYS1jb25z
dHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBX
YWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246
ID4KKyAgTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyBkb2VzIG5vdCBpbXBsZW1lbnQg
W1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVu
Y3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90
IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29u
c3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisg
IHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1
YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZh
bHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0Nv
bnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rp
b25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKE51bWJlci5w
cm90b3R5cGUudG9Mb2NhbGVTdHJpbmcpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoTnVt
YmVyLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZykgbXVzdCByZXR1cm4gZmFsc2UnCispOworCith
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgTnVtYmVyLnByb3RvdHlwZS50
b0xvY2FsZVN0cmluZygpOworfSwgJ2BuZXcgTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZVN0cmlu
ZygpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvUHJlY2lzaW9uL25vdC1hLWNvbnN0cnVj
dG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUv
dG9QcmVjaXNpb24vbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTUzYjljNDFhNmVj
N2ExODFjNTNjYmY3NWYzNmFmYzg5ZGYyNTg2MQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9OdW1iZXIvcHJvdG90eXBlL3RvUHJlY2lzaW9uL25vdC1h
LWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBS
aWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0t
Citlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlw
dGlvbjogPgorICBOdW1iZXIucHJvdG90eXBlLnRvUHJlY2lzaW9uIGRvZXMgbm90IGltcGxlbWVu
dCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBG
dW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBu
b3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tD
b25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4K
KyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZh
bHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMg
ZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lz
Q29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5j
dGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoTnVtYmVy
LnByb3RvdHlwZS50b1ByZWNpc2lvbiksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihOdW1i
ZXIucHJvdG90eXBlLnRvUHJlY2lzaW9uKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBOdW1iZXIucHJvdG90eXBlLnRvUHJl
Y2lzaW9uKCk7Cit9LCAnYG5ldyBOdW1iZXIucHJvdG90eXBlLnRvUHJlY2lzaW9uKClgIHRocm93
cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS90b1N0cmluZy9ub3Qt
YS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42N2RhYTUyNGNhZDUzMWM4NjcxNTU5YTdiNGFl
NjIwYjk2YTU0ZWUxCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL051bWJlci9wcm90b3R5cGUvdG9TdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMKQEAg
LTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2Ny
aXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIE51bWJlci5w
cm90b3R5cGUudG9TdHJpbmcgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5v
dCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBC
dWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0
cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1l
dGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2Yg
YSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3
LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJy
b3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1
cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nKSwK
KyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcpIG11
c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsK
KyAgbmV3IE51bWJlci5wcm90b3R5cGUudG9TdHJpbmcoKTsKK30sICdgbmV3IE51bWJlci5wcm90
b3R5cGUudG9TdHJpbmcoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvTnVtYmVyL3Byb3RvdHlwZS92YWx1ZU9mL25vdC1h
LWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9w
cm90b3R5cGUvdmFsdWVPZi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jN2VkNjc0
NjkzN2NkNTU2NDE1ZTA4MDI3NzJiYjY3NTI2Y2Q0ZWM0Ci0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL051bWJlci9wcm90b3R5cGUvdmFsdWVPZi9ub3Qt
YS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAg
UmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0t
LQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3Jp
cHRpb246ID4KKyAgTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mIGRvZXMgbm90IGltcGxlbWVudCBb
W0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5j
dGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3Qg
aWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25z
dHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAg
dGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVh
dGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFs
c2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29u
c3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlv
bl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoTnVtYmVyLnBy
b3RvdHlwZS52YWx1ZU9mKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKE51bWJlci5wcm90
b3R5cGUudmFsdWVPZikgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5
cGVFcnJvciwgKCkgPT4geworICBuZXcgTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mKCk7Cit9LCAn
YG5ldyBOdW1iZXIucHJvdG90eXBlLnZhbHVlT2YoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2Fzc2lnbi9u
b3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmpl
Y3QvYXNzaWduL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYyZTBmODUzODUzZWRk
Yjg0ODJlZDAyMjNmYjJkMTQxZTUwZDNlZDMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2Fzc2lnbi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpA
QCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFz
Y3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgT2JqZWN0
LmFzc2lnbiBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxl
CitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1
bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRv
IG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVz
cyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3Vs
YXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29u
c3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRp
b24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZs
ZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVl
KGlzQ29uc3RydWN0b3IoT2JqZWN0LmFzc2lnbiksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihPYmpl
Y3QuYXNzaWduKSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgKCkgPT4geworICBuZXcgT2JqZWN0LmFzc2lnbih7fSk7Cit9LCAnYG5ldyBPYmplY3QuYXNz
aWduKHt9KWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2NyZWF0ZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvY3JlYXRlL25vdC1hLWNvbnN0cnVj
dG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmNiNWQ3MWZlOGViNDRiYTE1YjBkOTEwN2E1NTc3MDE3MjdkNGVm
NWYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L2NyZWF0ZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBACisvLyBDb3B5
cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4t
b2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgT2JqZWN0LmNyZWF0ZSBkb2VzIG5vdCBpbXBsZW1l
bnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQg
RnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUg
bm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtb
Q29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGlu
CisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2
YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlz
IGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtp
c0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVu
Y3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoT2JqZWN0LmNy
ZWF0ZSksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihPYmplY3QuY3JlYXRlKSBtdXN0IHJldHVybiBm
YWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgT2JqZWN0
LmNyZWF0ZShudWxsKTsKK30sICdgbmV3IE9iamVjdC5jcmVhdGUobnVsbClgIHRocm93cyBUeXBl
RXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9kZWZpbmVQcm9wZXJ0aWVzL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9kZWZpbmVQcm9wZXJ0aWVzL25vdC1hLWNvbnN0cnVj
dG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmM3MDYxMTE2MTFhZGI1YTk4MjZiNTAzMTA5YTBjNThhNzliODM5
ZjAKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L2RlZmluZVByb3BlcnRpZXMvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBA
QAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJk
LWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0
aWVzIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2lu
Zm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rp
b24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90
CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90
aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBm
dW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1
Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4K
KyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3Qu
Y29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisg
IGlzQ29uc3RydWN0b3IoT2JqZWN0LmRlZmluZVByb3BlcnRpZXMpLAorICBmYWxzZSwKKyAgJ2lz
Q29uc3RydWN0b3IoT2JqZWN0LmRlZmluZVByb3BlcnRpZXMpIG11c3QgcmV0dXJuIGZhbHNlJwor
KTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IE9iamVjdC5kZWZp
bmVQcm9wZXJ0aWVzKHt9LCB7fSk7Cit9LCAnYG5ldyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh7
fSwge30pYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZGVmaW5lUHJvcGVydHkvbm90LWEtY29uc3RydWN0b3Iu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2RlZmluZVByb3BlcnR5
L25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2MWIxMGRjMWE3ODc2MmM3YTljY2Yz
Mjg1MjUxYzA0YWYzZTM2M2MKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L2RlZmluZVByb3BlcnR5L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBA
IC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNj
cmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBPYmplY3Qu
ZGVmaW5lUHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBu
ZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWls
dC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVj
dG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhv
ZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBw
YXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJ
ZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3Ig
ZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVz
OiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihPYmplY3QuZGVmaW5lUHJvcGVydHkpLAorICBmYWxz
ZSwKKyAgJ2lzQ29uc3RydWN0b3IoT2JqZWN0LmRlZmluZVByb3BlcnR5KSBtdXN0IHJldHVybiBm
YWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBPYmpl
Y3QuZGVmaW5lUHJvcGVydHkoe30sICcnLCB7fSk7Cit9LCAnYG5ldyBPYmplY3QuZGVmaW5lUHJv
cGVydHkoe30sIFwnXCcsIHt9KWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2VudHJpZXMvbm90LWEtY29uc3Ry
dWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2VudHJpZXMv
bm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTM0ZjIyNGIyMzIyN2ZiMDBmNTFmMGI0
YThlOGNmNWUxMDU3MzMxMwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3QvZW50cmllcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsx
LDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3Rh
bmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgT2JqZWN0LmVudHJpZXMg
ZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzog
fAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBv
YmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAg
aW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3
aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0
aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9y
KGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAu
Li4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25z
dHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0
cnVjdG9yKE9iamVjdC5lbnRyaWVzKSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKE9iamVjdC5lbnRy
aWVzKSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkg
PT4geworICBuZXcgT2JqZWN0LmVudHJpZXMoe30pOworfSwgJ2BuZXcgT2JqZWN0LmVudHJpZXMo
e30pYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3QvZnJlZXplL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9mcmVlemUvbm90LWEtY29uc3RydWN0b3Iu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZGYzZmE0ZjMwNjE2NzU3MDk3ZDQ0OGI5N2JiM2ZjNmM1YTU3NmRjOAot
LS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
ZnJlZXplL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdo
dCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmpl
Y3RzCitkZXNjcmlwdGlvbjogPgorICBPYmplY3QuZnJlZXplIGRvZXMgbm90IGltcGxlbWVudCBb
W0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5j
dGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3Qg
aWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25z
dHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAg
dGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVh
dGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFs
c2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29u
c3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlv
bl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihPYmplY3QuZnJlZXpl
KSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKE9iamVjdC5mcmVlemUpIG11c3QgcmV0dXJuIGZhbHNl
Jyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBPYmplY3QuZnJl
ZXplKHt9KTsKK30sICdgbmV3IE9iamVjdC5mcmVlemUoe30pYCB0aHJvd3MgVHlwZUVycm9yJyk7
CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZnJv
bUVudHJpZXMvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvT2JqZWN0L2Zyb21FbnRyaWVzL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljg5MWY1ZmQxODE1NWY3OWE5YWZkMGIxYjc3NTFkYWJmZGFkZTE5NmUKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2Zyb21FbnRyaWVzL25v
dC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAy
MCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8q
LS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNj
cmlwdGlvbjogPgorICBPYmplY3QuZnJvbUVudHJpZXMgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29u
c3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9u
IE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVu
dGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVj
dF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUg
ZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5l
dworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwg
dGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1
Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIE9iamVjdC5mcm9tRW50cmll
cywgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0
b3IoT2JqZWN0LmZyb21FbnRyaWVzKSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKE9iamVjdC5mcm9t
RW50cmllcykgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3Is
ICgpID0+IHsKKyAgbmV3IE9iamVjdC5mcm9tRW50cmllcyhbXSk7Cit9LCAnYG5ldyBPYmplY3Qu
ZnJvbUVudHJpZXMoW10pYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
L25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ivbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzE4ZmQ0Y2U1ODVjNmYwMDQ0MjdmYTZhYThiMTk1ZTgxYjcwYWU5NQotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWls
dC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUK
K2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVu
Y3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8g
bm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNz
IG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxh
ciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25z
dHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlv
bi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxl
Y3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIGlzQ29uc3RydWN0b3IoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciksCisgIGZh
bHNlLAorICAnaXNDb25zdHJ1Y3RvcihPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKSBt
dXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7
CisgIG5ldyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHt9LCAnJyk7Cit9LCAnYG5l
dyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHt9LCBcJ1wnKWAgdGhyb3dzIFR5cGVF
cnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L2dldE93blByb3BlcnR5RGVzY3JpcHRvcnMvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5RGVzY3JpcHRv
cnMvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTRiMDJjYTQxMmEyZmFiZTEzMDA4
MWFlMzg5NDQ1Y2E5NTljMTA4YQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycy9ub3QtYS1jb25z
dHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBX
YWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246
ID4KKyAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMgZG9lcyBub3QgaW1wbGVtZW50
IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1
bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5v
dCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0Nv
bnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgor
ICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFs
dWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBm
YWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXND
b25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0
aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgbXVzdCByZXR1cm4gZmFsc2UnCispOwor
Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcnMoe30pOworfSwgJ2BuZXcgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcnMoe30pYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0T3duUHJvcGVydHlOYW1lcy9ub3QtYS1j
b25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvZ2V0
T3duUHJvcGVydHlOYW1lcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ODgwNWEx
NzU4ZjE4ODg4N2IwNDAzN2Y5MTM3NGM5Njc1ODQ1ZmExCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9nZXRPd25Qcm9wZXJ0eU5hbWVzL25v
dC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAy
MCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8q
LS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNj
cmlwdGlvbjogPgorICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyBkb2VzIG5vdCBpbXBsZW1l
bnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQg
RnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUg
bm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtb
Q29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGlu
CisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2
YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlz
IGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtp
c0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVu
Y3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKE9iamVj
dC5nZXRPd25Qcm9wZXJ0eU5hbWVzKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKE9iamVj
dC5nZXRPd25Qcm9wZXJ0eU5hbWVzKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50
aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1l
cyh7fSk7Cit9LCAnYG5ldyBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh7fSlgIHRocm93cyBU
eXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9nZXRPd25Qcm9wZXJ0eVN5bWJvbHMvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2dldE93blByb3BlcnR5U3ltYm9scy9u
b3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMjNiOWY2YjNmZDhhZGUzMzc0MzY1NjZh
MjJiMGM5ZjQwZTgyNTIyCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9nZXRPd25Qcm9wZXJ0eVN5bWJvbHMvbm90LWEtY29uc3RydWN0b3Iu
anMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1l
Y21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0
XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVj
dHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVk
IGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGlu
dGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3Jp
cHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisg
IC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cg
YSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5q
c10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIFN5bWJvbCwgYXJyb3ctZnVuY3Rpb25d
CistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKE9iamVjdC5nZXRP
d25Qcm9wZXJ0eVN5bWJvbHMpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoT2JqZWN0Lmdl
dE93blByb3BlcnR5U3ltYm9scykgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9s
cyh7fSk7Cit9LCAnYG5ldyBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHt9KWAgdGhyb3dz
IFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L2dldFByb3RvdHlwZU9mL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9nZXRQcm90b3R5cGVPZi9ub3QtYS1jb25zdHJ1
Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wMjBlYmIzMGJiMDQ4MjQ5MzIwMGY1OTVhZWI0ZTNmZGU5YmI5
MjkxCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9nZXRQcm90b3R5cGVPZi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQt
YnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgT2JqZWN0LmdldFByb3RvdHlwZU9m
IGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86
IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24g
b2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90Cisg
IGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVy
d2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5j
dGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rv
cihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAg
Li4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29u
c3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlz
Q29uc3RydWN0b3IoT2JqZWN0LmdldFByb3RvdHlwZU9mKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0
cnVjdG9yKE9iamVjdC5nZXRQcm90b3R5cGVPZikgbXVzdCByZXR1cm4gZmFsc2UnCispOworCith
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgT2JqZWN0LmdldFByb3RvdHlw
ZU9mKHt9KTsKK30sICdgbmV3IE9iamVjdC5nZXRQcm90b3R5cGVPZih7fSlgIHRocm93cyBUeXBl
RXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9pcy1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9pcy1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwZDM5ZjQxNTlmNzY0NDE4
ZDdlMmFmYTJiYzlkMWJhODQyMjE1ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2lzLWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwy
NCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5k
YXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFRoZSBPYmplY3QgY29uc3Ry
dWN0b3IgaW1wbGVtZW50cyBbW0NvbnN0cnVjdF1dCitpbmZvOiB8CisgIElzQ29uc3RydWN0b3Ig
KCBhcmd1bWVudCApCisKKyAgVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBJc0NvbnN0cnVjdG9yIHRh
a2VzIGFyZ3VtZW50IGFyZ3VtZW50IChhbiBFQ01BU2NyaXB0IGxhbmd1YWdlIHZhbHVlKS4KKyAg
SXQgZGV0ZXJtaW5lcyBpZiBhcmd1bWVudCBpcyBhIGZ1bmN0aW9uIG9iamVjdCB3aXRoIGEgW1tD
b25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QuCisgIEl0IHBlcmZvcm1zIHRoZSBmb2xsb3dpbmcg
c3RlcHMgd2hlbiBjYWxsZWQ6CisKKyAgSWYgVHlwZShhcmd1bWVudCkgaXMgbm90IE9iamVjdCwg
cmV0dXJuIGZhbHNlLgorICBJZiBhcmd1bWVudCBoYXMgYSBbW0NvbnN0cnVjdF1dIGludGVybmFs
IG1ldGhvZCwgcmV0dXJuIHRydWUuCisgIFJldHVybiBmYWxzZS4KK2luY2x1ZGVzOiBbaXNDb25z
dHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3RdCistLS0qLworCithc3Nl
cnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoT2JqZWN0KSwgdHJ1ZSwgJ2lzQ29uc3RydWN0b3Io
T2JqZWN0KSBtdXN0IHJldHVybiB0cnVlJyk7CituZXcgT2JqZWN0KCk7CisgIApkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9pcy9ub3QtYS1jb25zdHJ1
Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvaXMvbm90LWEt
Y29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTAzMmY0MzM2ODlkOGI1MjFkNzgwMjNiNTliMmE4
N2QzNjU2Y2E1MwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3QvaXMvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBAQAorLy8g
Q29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0
LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIE9iamVjdC5pcyBkb2VzIG5vdCBpbXBsZW1l
bnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQg
RnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUg
bm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtb
Q29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGlu
CisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2
YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlz
IGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtp
c0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgT2JqZWN0Lmlz
LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3Rv
cihPYmplY3QuaXMpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoT2JqZWN0LmlzKSBtdXN0IHJldHVy
biBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgT2Jq
ZWN0LmlzKDAsIDApOworfSwgJ2BuZXcgT2JqZWN0LmlzKDAsIDApYCB0aHJvd3MgVHlwZUVycm9y
Jyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
aXNFeHRlbnNpYmxlL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9pc0V4dGVuc2libGUvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOWI1MGI1ODU0ZTljNjM1YzExNDI1MDllOGMxYjNlNTVmYWQ3NjZiYQotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvaXNFeHRlbnNp
YmxlL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAo
QykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
CisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3Rz
CitkZXNjcmlwdGlvbjogPgorICBPYmplY3QuaXNFeHRlbnNpYmxlIGRvZXMgbm90IGltcGxlbWVu
dCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBG
dW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBu
b3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tD
b25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4K
KyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZh
bHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMg
ZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lz
Q29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5j
dGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihPYmplY3QuaXNF
eHRlbnNpYmxlKSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKE9iamVjdC5pc0V4dGVuc2libGUpIG11
c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7Cisg
IG5ldyBPYmplY3QuaXNFeHRlbnNpYmxlKHt9KTsKK30sICdgbmV3IE9iamVjdC5pc0V4dGVuc2li
bGUoe30pYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvaXNGcm96ZW4vbm90LWEtY29uc3RydWN0b3IuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2lzRnJvemVuL25vdC1hLWNvbnN0
cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmNWY1MDNhMTY4ZjMyMTE2ZjVkODhhOWU4NGQ5YzBjNzg2
ZGM3MjIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L2lzRnJvemVuL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWls
dC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBPYmplY3QuaXNGcm96ZW4gZG9lcyBub3Qg
aW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01B
U2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRo
YXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50
IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNp
ZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisg
IHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVj
dG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1
ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFy
cm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKE9i
amVjdC5pc0Zyb3plbiksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihPYmplY3QuaXNGcm96ZW4pIG11
c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7Cisg
IG5ldyBPYmplY3QuaXNGcm96ZW4oe30pOworfSwgJ2BuZXcgT2JqZWN0LmlzRnJvemVuKHt9KWAg
dGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvT2JqZWN0L2lzU2VhbGVkL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9pc1NlYWxlZC9ub3QtYS1jb25zdHJ1Y3Rvci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44YTU1MDk4OWYxYmM1MTM2YTY0YTYzODU4NDljMTdiODQyMWZiNzhkCi0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9p
c1NlYWxlZC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmln
aHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2Jq
ZWN0cworZGVzY3JpcHRpb246ID4KKyAgT2JqZWN0LmlzU2VhbGVkIGRvZXMgbm90IGltcGxlbWVu
dCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBG
dW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBu
b3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tD
b25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4K
KyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZh
bHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMg
ZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lz
Q29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5j
dGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihPYmplY3QuaXNT
ZWFsZWQpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoT2JqZWN0LmlzU2VhbGVkKSBtdXN0IHJldHVy
biBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgT2Jq
ZWN0LmlzU2VhbGVkKHt9KTsKK30sICdgbmV3IE9iamVjdC5pc1NlYWxlZCh7fSlgIHRocm93cyBU
eXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9rZXlzL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9rZXlzL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4
NzNmOGExYjY5YzAwMTcwMDc1MTJkMWIxODBmYWEzMzAxMTRjMWIKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2tleXMvbm90LWEtY29uc3Ry
dWN0b3IuanMKQEAgLTAsMCArMSwyOSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2Fs
ZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6
IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+
CisgIE9iamVjdC5rZXlzIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3Qg
bmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVp
bHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1
Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRo
b2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEg
cGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4g
SWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9y
IGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJl
czogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5z
YW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihPYmplY3Qua2V5cyksIGZhbHNlLCAnaXNDb25zdHJ1Y3Rv
cihPYmplY3Qua2V5cykgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsICgpID0+IHsKKyAgbmV3IE9iamVjdC5rZXlzKHt9KTsKK30sICdgbmV3IE9iamVjdC5r
ZXlzKHt9KWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3ByZXZlbnRFeHRlbnNpb25zL25vdC1hLWNvbnN0cnVj
dG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcmV2ZW50RXh0
ZW5zaW9ucy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNGQ1MWRjNzE3MGQxZDIw
NDY0ZTk3OWZmZWZmNmQ3ZTA1NTYzM2RhCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcmV2ZW50RXh0ZW5zaW9ucy9ub3QtYS1jb25zdHJ1
Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxk
cm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDog
c2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4K
KyAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVj
dF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmpl
Y3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmll
ZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBp
bnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2Ny
aXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKwor
ICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93
IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3Iu
anNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSov
CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoT2JqZWN0LnByZXZlbnRFeHRl
bnNpb25zKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKE9iamVjdC5wcmV2ZW50RXh0ZW5z
aW9ucykgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
KCkgPT4geworICBuZXcgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHt9KTsKK30sICdgbmV3IE9i
amVjdC5wcmV2ZW50RXh0ZW5zaW9ucyh7fSlgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19k
ZWZpbmVHZXR0ZXJfXy9kZWZpbmUtYWJydXB0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVHZXR0ZXJfXy9kZWZpbmUtYWJydXB0Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjI2ZjU5ZTQyYWM0ZGI3NjlhMzgxZTY0ZjRiYjBkMmZhNWRkZjA5NWMKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL2RlZmluZS1hYnJ1cHQuanMKQEAgLTAsMCArMSwyMCBA
QAorLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLWFkZGl0aW9uYWwt
cHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKK2Rlc2NyaXB0aW9uOiBC
ZWhhdmlvciB3aGVuIFtbRGVmaW5lT3duUHJvcGVydHldXSByZXR1cm5zIGFuIGFicnVwdCBjb21w
bGV0aW9uCitpbmZvOiB8CisgICAgWy4uLl0KKyAgICA1LiBQZXJmb3JtID8gRGVmaW5lUHJvcGVy
dHlPclRocm93KE8sIGtleSwgZGVzYykuCitmZWF0dXJlczogW1Byb3h5LCBfX2dldHRlcl9fXQor
LS0tKi8KKwordmFyIG5vb3AgPSBmdW5jdGlvbigpIHt9OwordmFyIHRocm93ZXIgPSBmdW5jdGlv
bigpIHsKKyAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOworfTsKK3ZhciBzdWJqZWN0ID0gbmV3
IFByb3h5KHt9LCB7IGRlZmluZVByb3BlcnR5OiB0aHJvd2VyIH0pOworCithc3NlcnQudGhyb3dz
KFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7CisgIHN1YmplY3QuX19kZWZpbmVHZXR0ZXJfXygn
YXR0cicsIG5vb3ApOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL2RlZmluZS1leGlzdGluZy5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVm
aW5lR2V0dGVyX18vZGVmaW5lLWV4aXN0aW5nLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzOWU1ODdiY2JjOWUz
NTQ1OWViZWY2YTNkNmEzMGRhZWU5MGEzODkKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL2Rl
ZmluZS1leGlzdGluZy5qcwpAQCAtMCwwICsxLDQzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTYg
dGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KKy8qLS0tCitlc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3Qu
cHJvdG90eXBlLW9iamVjdAorZGVzY3JpcHRpb246IEJlaGF2aW9yIHdoZW4gcHJvcGVydHkgZXhp
c3RzIGFuZCBpcyBjb25maWd1cmFibGUKK2luZm86IHwKKyAgICBbLi4uXQorICAgIDMuIExldCBk
ZXNjIGJlIFByb3BlcnR5RGVzY3JpcHRvcntbW0dldF1dOiBnZXR0ZXIsIFtbRW51bWVyYWJsZV1d
OiB0cnVlLAorICAgICAgIFtbQ29uZmlndXJhYmxlXV06IHRydWV9LgorICAgIDQuIExldCBrZXkg
YmUgPyBUb1Byb3BlcnR5S2V5KFApLgorICAgIDUuIFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9y
VGhyb3coTywga2V5LCBkZXNjKS4KKyAgICA2LiBSZXR1cm4gdW5kZWZpbmVkLgoraW5jbHVkZXM6
IFtwcm9wZXJ0eUhlbHBlci5qc10KK2ZlYXR1cmVzOiBbX19nZXR0ZXJfX10KKy0tLSovCisKK3Zh
ciBzdWJqZWN0ID0ge307Cit2YXIgb3JpZ2luYWxHZXQgPSBmdW5jdGlvbigpIHt9OwordmFyIG9y
aWdpbmFsU2V0ID0gZnVuY3Rpb24oKSB7fTsKK3ZhciBuZXdHZXQgPSBmdW5jdGlvbigpIHt9Owor
dmFyIGRlc2MsIHJlc3VsdDsKKworT2JqZWN0LmRlZmluZVByb3BlcnR5KHN1YmplY3QsICdzdHJp
bmdBY3NyJywgeworICBnZXQ6IG9yaWdpbmFsR2V0LAorICBzZXQ6IG9yaWdpbmFsU2V0LAorICBl
bnVtZXJhYmxlOiBmYWxzZSwKKyAgY29uZmlndXJhYmxlOiB0cnVlCit9KTsKKworcmVzdWx0ID0g
c3ViamVjdC5fX2RlZmluZUdldHRlcl9fKCdzdHJpbmdBY3NyJywgbmV3R2V0KTsKKworZGVzYyA9
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc3ViamVjdCwgJ3N0cmluZ0Fjc3InKTsK
KwordmVyaWZ5UHJvcGVydHkoc3ViamVjdCwgInN0cmluZ0Fjc3IiLCB7CisgIGVudW1lcmFibGU6
IHRydWUsCisgIGNvbmZpZ3VyYWJsZTogdHJ1ZQorfSk7CisKK2Fzc2VydC5zYW1lVmFsdWUoZGVz
Yy5nZXQsIG5ld0dldCwgJ2Rlc2NyaXB0b3IgYGdldGAgbWV0aG9kJyk7Cithc3NlcnQuc2FtZVZh
bHVlKGRlc2Muc2V0LCBvcmlnaW5hbFNldCwgJ2Rlc2NyaXB0b3IgYHNldGAgbWV0aG9kJyk7Cith
c3NlcnQuc2FtZVZhbHVlKGRlc2MudmFsdWUsIHVuZGVmaW5lZCwgJ2Rlc2NyaXB0b3IgYHZhbHVl
YCBwcm9wZXJ0eScpOworCithc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgdW5kZWZpbmVkLCAnbWV0
aG9kIHJldHVybiB2YWx1ZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVHZXR0ZXJfXy9kZWZpbmUtbmV3LmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVH
ZXR0ZXJfXy9kZWZpbmUtbmV3LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNlYWY5NDk1OTI3YmI1MmIxZmI0MDkx
YWMzNzI3ODliZGYyMWY2N2UKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL2RlZmluZS1uZXcu
anMKQEAgLTAsMCArMSwzNCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0
IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNp
ZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmpl
Y3QKK2Rlc2NyaXB0aW9uOiBCZWhhdmlvciB3aGVuIHByb3BlcnR5IGRvZXMgbm90IGV4aXN0Citp
bmZvOiB8CisgICAgWy4uLl0KKyAgICAzLiBMZXQgZGVzYyBiZSBQcm9wZXJ0eURlc2NyaXB0b3J7
W1tHZXRdXTogZ2V0dGVyLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwKKyAgICAgICBbW0NvbmZpZ3Vy
YWJsZV1dOiB0cnVlfS4KKyAgICA0LiBMZXQga2V5IGJlID8gVG9Qcm9wZXJ0eUtleShQKS4KKyAg
ICA1LiBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGtleSwgZGVzYykuCisgICAg
Ni4gUmV0dXJuIHVuZGVmaW5lZC4KK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCitmZWF0
dXJlczogW19fZ2V0dGVyX19dCistLS0qLworCit2YXIgc3ViamVjdCA9IHt9OwordmFyIGdldCA9
IGZ1bmN0aW9uKCkge307Cit2YXIgZGVzYywgcmVzdWx0OworCityZXN1bHQgPSBzdWJqZWN0Ll9f
ZGVmaW5lR2V0dGVyX18oJ3N0cmluZ0Fjc3InLCBnZXQpOworCitkZXNjID0gT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihzdWJqZWN0LCAnc3RyaW5nQWNzcicpOworCit2ZXJpZnlQcm9w
ZXJ0eShzdWJqZWN0LCAic3RyaW5nQWNzciIsIHsKKyAgZW51bWVyYWJsZTogdHJ1ZSwKKyAgY29u
ZmlndXJhYmxlOiB0cnVlCit9KTsKKworYXNzZXJ0LnNhbWVWYWx1ZShkZXNjLmdldCwgZ2V0LCAn
ZGVzY3JpcHRvciBgZ2V0YCBtZXRob2QnKTsKK2Fzc2VydC5zYW1lVmFsdWUoZGVzYy5zZXQsIHVu
ZGVmaW5lZCwgJ2Rlc2NyaXB0b3IgYHNldGAgbWV0aG9kJyk7Cithc3NlcnQuc2FtZVZhbHVlKGRl
c2MudmFsdWUsIHVuZGVmaW5lZCwgJ2Rlc2NyaXB0b3IgYHZhbHVlYCBwcm9wZXJ0eScpOworCith
c3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgdW5kZWZpbmVkLCAnbWV0aG9kIHJldHVybiB2YWx1ZScp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvX19kZWZpbmVHZXR0ZXJfXy9kZWZpbmUtbm9uLWNvbmZpZ3VyYWJsZS5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lR2V0dGVy
X18vZGVmaW5lLW5vbi1jb25maWd1cmFibGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDk0ZjFmZWZhNmRkM2E2
YTgzNTYxMzVkZjc0NjAxODM5YzI2ZGEyNwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lR2V0dGVyX18vZGVm
aW5lLW5vbi1jb25maWd1cmFibGUuanMKQEAgLTAsMCArMSwyMSBAQAorLy8gQ29weXJpZ2h0IChD
KSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUt
b2JqZWN0LnByb3RvdHlwZS1vYmplY3QKK2Rlc2NyaXB0aW9uOiBCZWhhdmlvciB3aGVuIHByb3Bl
cnR5IGV4aXN0cyBhbmQgaXMgbm90IGNvbmZpZ3VyYWJsZQoraW5mbzogfAorICAgIFsuLi5dCisg
ICAgNS4gUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrZXksIGRlc2MpLgorZmVh
dHVyZXM6IFtfX2dldHRlcl9fXQorLS0tKi8KKwordmFyIG5vb3AgPSBmdW5jdGlvbigpIHt9Owor
dmFyIHN1YmplY3QgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkoCisgIHt9LCAnYXR0cicsIHsgdmFs
dWU6IDEsIGNvbmZpZ3VyYWJsZTogZmFsc2UgfQorKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBl
b2YgT2JqZWN0LnByb3RvdHlwZS5fX2RlZmluZUdldHRlcl9fLCAnZnVuY3Rpb24nKTsKKworYXNz
ZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBzdWJqZWN0Ll9fZGVmaW5lR2V0
dGVyX18oJ2F0dHInLCBub29wKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVHZXR0ZXJfXy9kZWZpbmUtbm9u
LWV4dGVuc2libGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL2RlZmluZS1ub24tZXh0ZW5zaWJsZS5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMDIxN2Y1NDU3ZDNkYTAzMTQ5MGE5NzQ5YmY1Yjg5MDkzMDBlZWYxCi0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUv
X19kZWZpbmVHZXR0ZXJfXy9kZWZpbmUtbm9uLWV4dGVuc2libGUuanMKQEAgLTAsMCArMSwxOSBA
QAorLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLWFkZGl0aW9uYWwt
cHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKK2Rlc2NyaXB0aW9uOiBC
ZWhhdmlvciB3aGVuICJ0aGlzIiB2YWx1ZSBpcyBub3QgZXh0ZW5zaWJsZQoraW5mbzogfAorICAg
IFsuLi5dCisgICAgNS4gUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrZXksIGRl
c2MpLgorZmVhdHVyZXM6IFtfX2dldHRlcl9fXQorLS0tKi8KKwordmFyIG5vb3AgPSBmdW5jdGlv
bigpIHt9OwordmFyIHN1YmplY3QgPSBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoeyBleGlzdGlu
ZzogbnVsbCB9KTsKKworc3ViamVjdC5fX2RlZmluZUdldHRlcl9fKCdleGlzdGluZycsIG5vb3Ap
OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIHN1YmplY3QuX19k
ZWZpbmVHZXR0ZXJfXygnYnJhbmQgbmV3Jywgbm9vcCk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lR2V0dGVy
X18vZ2V0dGVyLW5vbi1jYWxsYWJsZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lR2V0dGVyX18vZ2V0dGVyLW5vbi1jYWxsYWJsZS5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42MDcwYjU2YzkwNDdmNWE3ZGMzMTEyMzk5ZjA0ODA2NDgwOWI3ODQyCi0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9w
cm90b3R5cGUvX19kZWZpbmVHZXR0ZXJfXy9nZXR0ZXItbm9uLWNhbGxhYmxlLmpzCkBAIC0wLDAg
KzEsNDMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1hZGRp
dGlvbmFsLXByb3BlcnRpZXMtb2YtdGhlLW9iamVjdC5wcm90b3R5cGUtb2JqZWN0CitkZXNjcmlw
dGlvbjogQmVoYXZpb3Igd2hlbiBnZXR0ZXIgaXMgbm90IGNhbGxhYmxlCitpbmZvOiB8CisgICAg
Wy4uLl0KKyAgICAyLiBJZiBJc0NhbGxhYmxlKGdldHRlcikgaXMgZmFsc2UsIHRocm93IGEgVHlw
ZUVycm9yIGV4Y2VwdGlvbi4KK2ZlYXR1cmVzOiBbU3ltYm9sLCBfX2dldHRlcl9fXQorLS0tKi8K
KwordmFyIHN1YmplY3QgPSB7fTsKK3ZhciBzeW1ib2wgPSBTeW1ib2woJycpOwordmFyIHRvU3Ry
aW5nQ291bnQgPSAwOwordmFyIGtleSA9IHsKKyAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgeworICAg
IHRvU3RyaW5nQ291bnQgKz0gMTsKKyAgfQorfTsKKworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2Yg
T2JqZWN0LnByb3RvdHlwZS5fX2RlZmluZUdldHRlcl9fLCAnZnVuY3Rpb24nKTsKKworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBzdWJqZWN0Ll9fZGVmaW5lR2V0dGVy
X18oa2V5LCAnJyk7Cit9LCAnc3RyaW5nJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBm
dW5jdGlvbigpIHsKKyAgc3ViamVjdC5fX2RlZmluZUdldHRlcl9fKGtleSwgMjMpOworfSwgJ251
bWJlcicpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIHN1Ympl
Y3QuX19kZWZpbmVHZXR0ZXJfXyhrZXksIHRydWUpOworfSwgJ2Jvb2xlYW4nKTsKKworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBzdWJqZWN0Ll9fZGVmaW5lR2V0dGVy
X18oa2V5LCBzeW1ib2wpOworfSwgJ3N5bWJvbCcpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgZnVuY3Rpb24oKSB7CisgIHN1YmplY3QuX19kZWZpbmVHZXR0ZXJfXyhrZXksIHt9KTsKK30s
ICdvYmplY3QnKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSh0b1N0cmluZ0NvdW50LCAwKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19f
ZGVmaW5lR2V0dGVyX18va2V5LWludmFsaWQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL2tleS1pbnZhbGlkLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjg4MDU0ZDUxYzljYmY1MTM5NjgyOTI1NDdjZTU1MmRhMDY1OWE1NTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3Rv
dHlwZS9fX2RlZmluZUdldHRlcl9fL2tleS1pbnZhbGlkLmpzCkBAIC0wLDAgKzEsMjIgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1hZGRpdGlvbmFsLXByb3Bl
cnRpZXMtb2YtdGhlLW9iamVjdC5wcm90b3R5cGUtb2JqZWN0CitkZXNjcmlwdGlvbjogQmVoYXZp
b3Igd2hlbiBwcm9wZXJ0eSBrZXkgY2Fubm90IGJlIGRlcml2ZWQKK2luZm86IHwKKyAgICBbLi4u
XQorICAgIDQuIExldCBrZXkgYmUgPyBUb1Byb3BlcnR5S2V5KFApLgorZmVhdHVyZXM6IFtfX2dl
dHRlcl9fXQorLS0tKi8KKwordmFyIG5vb3AgPSBmdW5jdGlvbigpIHt9OwordmFyIHN1YmplY3Qg
PSB7fTsKK3ZhciBrZXkgPSB7CisgIHRvU3RyaW5nOiBmdW5jdGlvbigpIHsKKyAgICB0aHJvdyBu
ZXcgVGVzdDI2MkVycm9yKCk7CisgIH0KK307CisKK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9y
LCBmdW5jdGlvbigpIHsKKyAgc3ViamVjdC5fX2RlZmluZUdldHRlcl9fKGtleSwgbm9vcCk7Cit9
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJv
dG90eXBlL19fZGVmaW5lR2V0dGVyX18vbGVuZ3RoLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVHZXR0ZXJfXy9sZW5ndGguanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDU4NmU0YzRjNDM2NzViNzE3YzBjOWFjNmQyYWY2ZjQwMjlhOTQ3NwotLS0gL2Rl
di9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90
eXBlL19fZGVmaW5lR2V0dGVyX18vbGVuZ3RoLmpzCkBAIC0wLDAgKzEsMjcgQEAKKy8vIENvcHly
aWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1hZGRpdGlvbmFsLXByb3BlcnRpZXMt
b2YtdGhlLW9iamVjdC5wcm90b3R5cGUtb2JqZWN0CitkZXNjcmlwdGlvbjogT2JqZWN0LnByb3Rv
dHlwZS5fX2RlZmluZUdldHRlcl9fIGBsZW5ndGhgIHByb3BlcnR5CitpbmZvOiB8CisgICAgRVM2
IFNlY3Rpb24gMTc6CisgICAgRXZlcnkgYnVpbHQtaW4gRnVuY3Rpb24gb2JqZWN0LCBpbmNsdWRp
bmcgY29uc3RydWN0b3JzLCBoYXMgYSBsZW5ndGgKKyAgICBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBp
cyBhbiBpbnRlZ2VyLiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhpcyB2YWx1ZQorICAg
IGlzIGVxdWFsIHRvIHRoZSBsYXJnZXN0IG51bWJlciBvZiBuYW1lZCBhcmd1bWVudHMgc2hvd24g
aW4gdGhlIHN1YmNsYXVzZQorICAgIGhlYWRpbmdzIGZvciB0aGUgZnVuY3Rpb24gZGVzY3JpcHRp
b24sIGluY2x1ZGluZyBvcHRpb25hbCBwYXJhbWV0ZXJzLgorCisgICAgWy4uLl0KKworICAgIFVu
bGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIGEgYnVpbHQt
aW4gRnVuY3Rpb24KKyAgICBvYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1d
OiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IGZhbHNlLAorICAgIFtbQ29uZmlndXJhYmxlXV06IHRy
dWUgfS4KK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCitmZWF0dXJlczogW19fZ2V0dGVy
X19dCistLS0qLworCit2ZXJpZnlQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lR2V0
dGVyX18sICJsZW5ndGgiLCB7CisgIGVudW1lcmFibGU6IGZhbHNlLAorICB3cml0YWJsZTogZmFs
c2UsCisgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKKyAgdmFsdWU6IDIKK30pOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVH
ZXR0ZXJfXy9uYW1lLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9w
cm90b3R5cGUvX19kZWZpbmVHZXR0ZXJfXy9uYW1lLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5MjY1Y2JmYzJm
MjQxYzQ3NGU0ZDc5MjNkODE2OTNkOTMyOWZkMTUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9f
L25hbWUuanMKQEAgLTAsMCArMSwyOCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBw
cm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0t
LQorZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlw
ZS1vYmplY3QKK2Rlc2NyaXB0aW9uOiBPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lR2V0dGVyX18g
YG5hbWVgIHByb3BlcnR5CitpbmZvOiB8CisgICAgRVM2IFNlY3Rpb24gMTc6CisKKyAgICBFdmVy
eSBidWlsdC1pbiBGdW5jdGlvbiBvYmplY3QsIGluY2x1ZGluZyBjb25zdHJ1Y3RvcnMsIHRoYXQg
aXMgbm90CisgICAgaWRlbnRpZmllZCBhcyBhbiBhbm9ueW1vdXMgZnVuY3Rpb24gaGFzIGEgbmFt
ZSBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhCisgICAgU3RyaW5nLiBVbmxlc3Mgb3RoZXJ3aXNl
IHNwZWNpZmllZCwgdGhpcyB2YWx1ZSBpcyB0aGUgbmFtZSB0aGF0IGlzIGdpdmVuIHRvCisgICAg
dGhlIGZ1bmN0aW9uIGluIHRoaXMgc3BlY2lmaWNhdGlvbi4KKworICAgIFsuLi5dCisKKyAgICBV
bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhlIG5hbWUgcHJvcGVydHkgb2YgYSBidWlsdC1p
biBGdW5jdGlvbgorICAgIG9iamVjdCwgaWYgaXQgZXhpc3RzLCBoYXMgdGhlIGF0dHJpYnV0ZXMg
eyBbW1dyaXRhYmxlXV06IGZhbHNlLAorICAgIFtbRW51bWVyYWJsZV1dOiBmYWxzZSwgW1tDb25m
aWd1cmFibGVdXTogdHJ1ZSB9LgoraW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KK2ZlYXR1
cmVzOiBbX19nZXR0ZXJfX10KKy0tLSovCisKK3ZlcmlmeVByb3BlcnR5KE9iamVjdC5wcm90b3R5
cGUuX19kZWZpbmVHZXR0ZXJfXywgIm5hbWUiLCB7CisgIGVudW1lcmFibGU6IGZhbHNlLAorICB3
cml0YWJsZTogZmFsc2UsCisgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKKyAgdmFsdWU6ICJfX2RlZmlu
ZUdldHRlcl9fIgorfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL3Byb3AtZGVzYy5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lR2V0dGVy
X18vcHJvcC1kZXNjLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzOTdhNzVkZjAyMTZkOTQ3NDg3MTJjN2UyN2Fl
ZjMyNGJiODNjYjAKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZUdldHRlcl9fL3Byb3AtZGVzYy5qcwpAQCAt
MCwwICsxLDE4IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9y
cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMt
YWRkaXRpb25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3QucHJvdG90eXBlLW9iamVjdAorZGVz
Y3JpcHRpb246IFByb3BlcnR5IGRlc2NyaXB0b3IgZm9yIE9iamVjdC5wcm90b3R5cGUuX19kZWZp
bmVHZXR0ZXJfXworaW5mbzogfAorICAgIEV2ZXJ5IG90aGVyIGRhdGEgcHJvcGVydHkgZGVzY3Jp
YmVkIGluIGNsYXVzZXMgMTggdGhyb3VnaCAyNiBhbmQgaW4gQW5uZXgKKyAgICBCLjIgaGFzIHRo
ZSBhdHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTogZmFsc2Us
CisgICAgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB9IHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVk
LgoraW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KK2ZlYXR1cmVzOiBbX19nZXR0ZXJfX10K
Ky0tLSovCisKK3ZlcmlmeVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJfX2RlZmluZUdldHRl
cl9fIiwgeworICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgd3JpdGFibGU6IHRydWUsCisgIGNvbmZp
Z3VyYWJsZTogdHJ1ZSwKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVHZXR0ZXJfXy90aGlzLW5vbi1vYmouanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmlu
ZUdldHRlcl9fL3RoaXMtbm9uLW9iai5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNmIxMmEyNTcyMzBiNzBiOWMy
ZGQ4MGM4NDdhMjMxMWZiMjcwZWQwCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVHZXR0ZXJfXy90aGlzLW5v
bi1vYmouanMKQEAgLTAsMCArMSwzMCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBw
cm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0t
LQorZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlw
ZS1vYmplY3QKK2Rlc2NyaXB0aW9uOiBCZWhhdmlvciB3aGVuICJ0aGlzIiB2YWx1ZSBpcyBub3Qg
T2JqZWN0LWNvZXJjaWJsZQoraW5mbzogfAorICAgIDEuIExldCBPIGJlID8gVG9PYmplY3QodGhp
cyB2YWx1ZSkuCitmZWF0dXJlczogW19fZ2V0dGVyX19dCistLS0qLworCit2YXIgX19kZWZpbmVH
ZXR0ZXJfXyA9IE9iamVjdC5wcm90b3R5cGUuX19kZWZpbmVHZXR0ZXJfXzsKK3ZhciBub29wID0g
ZnVuY3Rpb24oKSB7fTsKK3ZhciB0b1N0cmluZ0NvdW50ID0gMDsKK3ZhciBrZXkgPSB7CisgIHRv
U3RyaW5nOiBmdW5jdGlvbigpIHsKKyAgICB0b1N0cmluZ0NvdW50ICs9IDE7CisgIH0KK307CisK
K2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIF9fZGVmaW5lR2V0dGVyX18sICdmdW5jdGlvbicpOwor
Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIF9fZGVmaW5lR2V0dGVy
X18uY2FsbCh1bmRlZmluZWQsIGtleSwgbm9vcCk7Cit9LCAndW5kZWZpbmVkJyk7CisKK2Fzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgX19kZWZpbmVHZXR0ZXJfXy5jYWxs
KG51bGwsIGtleSwgbm9vcCk7Cit9LCAnbnVsbCcpOworCithc3NlcnQuc2FtZVZhbHVlKHRvU3Ry
aW5nQ291bnQsIDApOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVTZXR0ZXJfXy9kZWZpbmUtYWJydXB0LmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVTZXR0
ZXJfXy9kZWZpbmUtYWJydXB0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE1ZWFlNWNmMjkyMTBiZDRmMDFkYTE4
YTRlZmUxNDgyMzAwYWQyMmYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZVNldHRlcl9fL2RlZmluZS1hYnJ1
cHQuanMKQEAgLTAsMCArMSwyMCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9q
ZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQor
ZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1v
YmplY3QKK2Rlc2NyaXB0aW9uOiBCZWhhdmlvciB3aGVuIFtbRGVmaW5lT3duUHJvcGVydHldXSBy
ZXR1cm5zIGFuIGFicnVwdCBjb21wbGV0aW9uCitpbmZvOiB8CisgICAgWy4uLl0KKyAgICA1LiBQ
ZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGtleSwgZGVzYykuCitmZWF0dXJlczog
W1Byb3h5LCBfX3NldHRlcl9fXQorLS0tKi8KKwordmFyIG5vb3AgPSBmdW5jdGlvbigpIHt9Owor
dmFyIHRocm93ZXIgPSBmdW5jdGlvbigpIHsKKyAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOwor
fTsKK3ZhciBzdWJqZWN0ID0gbmV3IFByb3h5KHt9LCB7IGRlZmluZVByb3BlcnR5OiB0aHJvd2Vy
IH0pOworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7CisgIHN1Ympl
Y3QuX19kZWZpbmVTZXR0ZXJfXygnYXR0cicsIG5vb3ApOworfSk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZVNldHRl
cl9fL2RlZmluZS1leGlzdGluZy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9P
YmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18vZGVmaW5lLWV4aXN0aW5nLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmJkZTRhYzE2ODczM2RkYWNlMWRiMmFjYjhiODdhY2QwZmFjZThhNDQKLS0tIC9kZXYv
bnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlw
ZS9fX2RlZmluZVNldHRlcl9fL2RlZmluZS1leGlzdGluZy5qcwpAQCAtMCwwICsxLDQzIEBACisv
LyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9w
ZXJ0aWVzLW9mLXRoZS1vYmplY3QucHJvdG90eXBlLW9iamVjdAorZGVzY3JpcHRpb246IEJlaGF2
aW9yIHdoZW4gcHJvcGVydHkgZXhpc3RzIGFuZCBpcyBjb25maWd1cmFibGUKK2luZm86IHwKKyAg
ICBbLi4uXQorICAgIDMuIExldCBkZXNjIGJlIFByb3BlcnR5RGVzY3JpcHRvcntbW1NldF1dOiBz
ZXR0ZXIsIFtbRW51bWVyYWJsZV1dOiB0cnVlLAorICAgICAgIFtbQ29uZmlndXJhYmxlXV06IHRy
dWV9LgorICAgIDQuIExldCBrZXkgYmUgPyBUb1Byb3BlcnR5S2V5KFApLgorICAgIDUuIFBlcmZv
cm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywga2V5LCBkZXNjKS4KKyAgICA2LiBSZXR1cm4g
dW5kZWZpbmVkLgoraW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KK2ZlYXR1cmVzOiBbX19z
ZXR0ZXJfX10KKy0tLSovCisKK3ZhciBzdWJqZWN0ID0ge307Cit2YXIgb3JpZ2luYWxHZXQgPSBm
dW5jdGlvbigpIHt9OwordmFyIG9yaWdpbmFsU2V0ID0gZnVuY3Rpb24oKSB7fTsKK3ZhciBuZXdT
ZXQgPSBmdW5jdGlvbigpIHt9OwordmFyIGRlc2MsIHJlc3VsdDsKKworT2JqZWN0LmRlZmluZVBy
b3BlcnR5KHN1YmplY3QsICdzdHJpbmdBY3NyJywgeworICBnZXQ6IG9yaWdpbmFsR2V0LAorICBz
ZXQ6IG9yaWdpbmFsU2V0LAorICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgY29uZmlndXJhYmxlOiB0
cnVlCit9KTsKKworcmVzdWx0ID0gc3ViamVjdC5fX2RlZmluZVNldHRlcl9fKCdzdHJpbmdBY3Ny
JywgbmV3U2V0KTsKKworZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc3Vi
amVjdCwgJ3N0cmluZ0Fjc3InKTsKKwordmVyaWZ5UHJvcGVydHkoc3ViamVjdCwgInN0cmluZ0Fj
c3IiLCB7CisgIGVudW1lcmFibGU6IHRydWUsCisgIGNvbmZpZ3VyYWJsZTogdHJ1ZQorfSk7CisK
K2Fzc2VydC5zYW1lVmFsdWUoZGVzYy5nZXQsIG9yaWdpbmFsR2V0LCAnZGVzY3JpcHRvciBgZ2V0
YCBtZXRob2QnKTsKK2Fzc2VydC5zYW1lVmFsdWUoZGVzYy5zZXQsIG5ld1NldCwgJ2Rlc2NyaXB0
b3IgYHNldGAgbWV0aG9kJyk7Cithc3NlcnQuc2FtZVZhbHVlKGRlc2MudmFsdWUsIHVuZGVmaW5l
ZCwgJ2Rlc2NyaXB0b3IgYHZhbHVlYCBwcm9wZXJ0eScpOworCithc3NlcnQuc2FtZVZhbHVlKHJl
c3VsdCwgdW5kZWZpbmVkLCAnbWV0aG9kIHJldHVybiB2YWx1ZScpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVTZXR0
ZXJfXy9kZWZpbmUtbmV3LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9wcm90b3R5cGUvX19kZWZpbmVTZXR0ZXJfXy9kZWZpbmUtbmV3LmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5
ZmQzYTY0ZWFkNmY1ODNlMzY0YWUyNTYxN2NiZjI3NmM5ZDljN2UKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2RlZmlu
ZVNldHRlcl9fL2RlZmluZS1uZXcuanMKQEAgLTAsMCArMSwzNCBAQAorLy8gQ29weXJpZ2h0IChD
KSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUt
b2JqZWN0LnByb3RvdHlwZS1vYmplY3QKK2Rlc2NyaXB0aW9uOiBCZWhhdmlvciB3aGVuIHByb3Bl
cnR5IGRvZXMgbm90IGV4aXN0CitpbmZvOiB8CisgICAgWy4uLl0KKyAgICAzLiBMZXQgZGVzYyBi
ZSBQcm9wZXJ0eURlc2NyaXB0b3J7W1tTZXRdXTogc2V0dGVyLCBbW0VudW1lcmFibGVdXTogdHJ1
ZSwKKyAgICAgICBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlfS4KKyAgICA0LiBMZXQga2V5IGJlID8g
VG9Qcm9wZXJ0eUtleShQKS4KKyAgICA1LiBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93
KE8sIGtleSwgZGVzYykuCisgICAgNi4gUmV0dXJuIHVuZGVmaW5lZC4KK2luY2x1ZGVzOiBbcHJv
cGVydHlIZWxwZXIuanNdCitmZWF0dXJlczogW19fc2V0dGVyX19dCistLS0qLworCit2YXIgc3Vi
amVjdCA9IHt9OwordmFyIHNldCA9IGZ1bmN0aW9uKCkge307Cit2YXIgZGVzYywgcmVzdWx0Owor
CityZXN1bHQgPSBzdWJqZWN0Ll9fZGVmaW5lU2V0dGVyX18oJ3N0cmluZ0Fjc3InLCBzZXQpOwor
CitkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzdWJqZWN0LCAnc3RyaW5n
QWNzcicpOworCit2ZXJpZnlQcm9wZXJ0eShzdWJqZWN0LCAic3RyaW5nQWNzciIsIHsKKyAgZW51
bWVyYWJsZTogdHJ1ZSwKKyAgY29uZmlndXJhYmxlOiB0cnVlLAorfSk7CisKK2Fzc2VydC5zYW1l
VmFsdWUoZGVzYy5nZXQsIHVuZGVmaW5lZCwgJ2Rlc2NyaXB0b3IgYGdldGAgbWV0aG9kJyk7Cith
c3NlcnQuc2FtZVZhbHVlKGRlc2Muc2V0LCBzZXQsICdkZXNjcmlwdG9yIGBzZXRgIG1ldGhvZCcp
OworYXNzZXJ0LnNhbWVWYWx1ZShkZXNjLnZhbHVlLCB1bmRlZmluZWQsICdkZXNjcmlwdG9yIGB2
YWx1ZWAgcHJvcGVydHknKTsKKworYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIHVuZGVmaW5lZCwg
J21ldGhvZCByZXR1cm4gdmFsdWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18vZGVmaW5lLW5vbi1j
b25maWd1cmFibGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS9fX2RlZmluZVNldHRlcl9fL2RlZmluZS1ub24tY29uZmlndXJhYmxlLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmIzNTg0ODAwMDgxZjkxZjNlMjI4OTMzYTZkYzllY2RiZGE5ODlhZjMKLS0tIC9kZXYv
bnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlw
ZS9fX2RlZmluZVNldHRlcl9fL2RlZmluZS1ub24tY29uZmlndXJhYmxlLmpzCkBAIC0wLDAgKzEs
MjEgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1hZGRpdGlv
bmFsLXByb3BlcnRpZXMtb2YtdGhlLW9iamVjdC5wcm90b3R5cGUtb2JqZWN0CitkZXNjcmlwdGlv
bjogQmVoYXZpb3Igd2hlbiBwcm9wZXJ0eSBleGlzdHMgYW5kIGlzIG5vdCBjb25maWd1cmFibGUK
K2luZm86IHwKKyAgICBbLi4uXQorICAgIDUuIFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhy
b3coTywga2V5LCBkZXNjKS4KK2ZlYXR1cmVzOiBbX19zZXR0ZXJfX10KKy0tLSovCisKK3ZhciBu
b29wID0gZnVuY3Rpb24oKSB7fTsKK3ZhciBzdWJqZWN0ID0gT2JqZWN0LmRlZmluZVByb3BlcnR5
KAorICB7fSwgJ2F0dHInLCB7IHZhbHVlOiAxLCBjb25maWd1cmFibGU6IGZhbHNlIH0KKyk7CisK
K2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIE9iamVjdC5wcm90b3R5cGUuX19kZWZpbmVTZXR0ZXJf
XywgJ2Z1bmN0aW9uJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsK
KyAgc3ViamVjdC5fX2RlZmluZVNldHRlcl9fKCdhdHRyJywgbm9vcCk7Cit9KTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVm
aW5lU2V0dGVyX18vZGVmaW5lLW5vbi1leHRlbnNpYmxlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVTZXR0ZXJfXy9kZWZpbmUtbm9u
LWV4dGVuc2libGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzIxOTRkOGNjNmUxODNhMzViMzU4ZmY5Mjg0NjNi
OWM0YzVlZTNlNQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18vZGVmaW5lLW5vbi1leHRlbnNp
YmxlLmpzCkBAIC0wLDAgKzEsMTkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJv
amVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0K
K2VzaWQ6IHNlYy1hZGRpdGlvbmFsLXByb3BlcnRpZXMtb2YtdGhlLW9iamVjdC5wcm90b3R5cGUt
b2JqZWN0CitkZXNjcmlwdGlvbjogQmVoYXZpb3Igd2hlbiAidGhpcyIgdmFsdWUgaXMgbm90IGV4
dGVuc2libGUKK2luZm86IHwKKyAgICBbLi4uXQorICAgIDUuIFBlcmZvcm0gPyBEZWZpbmVQcm9w
ZXJ0eU9yVGhyb3coTywga2V5LCBkZXNjKS4KK2ZlYXR1cmVzOiBbX19zZXR0ZXJfX10KKy0tLSov
CisKK3ZhciBub29wID0gZnVuY3Rpb24oKSB7fTsKK3ZhciBzdWJqZWN0ID0gT2JqZWN0LnByZXZl
bnRFeHRlbnNpb25zKHsgZXhpc3Rpbmc6IG51bGwgfSk7CisKK3N1YmplY3QuX19kZWZpbmVTZXR0
ZXJfXygnZXhpc3RpbmcnLCBub29wKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0
aW9uKCkgeworICBzdWJqZWN0Ll9fZGVmaW5lU2V0dGVyX18oJ2JyYW5kIG5ldycsIG5vb3ApOwor
fSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS9fX2RlZmluZVNldHRlcl9fL2tleS1pbnZhbGlkLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVTZXR0ZXJfXy9rZXktaW52
YWxpZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jNjEyNmM3YTkzZTFlMjMzYmRhMTU1NmExZTRiOGU0ZDgyOWE2
NDdlCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9wcm90b3R5cGUvX19kZWZpbmVTZXR0ZXJfXy9rZXktaW52YWxpZC5qcwpAQCAtMCwwICsx
LDIyIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtYWRkaXRp
b25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3QucHJvdG90eXBlLW9iamVjdAorZGVzY3JpcHRp
b246IEJlaGF2aW9yIHdoZW4gcHJvcGVydHkga2V5IGNhbm5vdCBiZSBkZXJpdmVkCitpbmZvOiB8
CisgICAgWy4uLl0KKyAgICA0LiBMZXQga2V5IGJlID8gVG9Qcm9wZXJ0eUtleShQKS4KK2ZlYXR1
cmVzOiBbX19zZXR0ZXJfX10KKy0tLSovCisKK3ZhciBub29wID0gZnVuY3Rpb24oKSB7fTsKK3Zh
ciBzdWJqZWN0ID0ge307Cit2YXIga2V5ID0geworICB0b1N0cmluZzogZnVuY3Rpb24oKSB7Cisg
ICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOworICB9Cit9OworCithc3NlcnQudGhyb3dzKFRl
c3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7CisgIHN1YmplY3QuX19kZWZpbmVTZXR0ZXJfXyhrZXks
IG5vb3ApOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3Byb3RvdHlwZS9fX2RlZmluZVNldHRlcl9fL2xlbmd0aC5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18vbGVu
Z3RoLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQ1NjU5N2M4OWVkMTNkMTVjNjdjYmI2N2QwM2UzYmQ3MmUzZGM4
ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L3Byb3RvdHlwZS9fX2RlZmluZVNldHRlcl9fL2xlbmd0aC5qcwpAQCAtMCwwICsxLDI3IEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtYWRkaXRpb25hbC1w
cm9wZXJ0aWVzLW9mLXRoZS1vYmplY3QucHJvdG90eXBlLW9iamVjdAorZGVzY3JpcHRpb246IE9i
amVjdC5wcm90b3R5cGUuX19kZWZpbmVTZXR0ZXJfXyBgbGVuZ3RoYCBwcm9wZXJ0eQoraW5mbzog
fAorICAgIEVTNiBTZWN0aW9uIDE3OgorICAgIEV2ZXJ5IGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVj
dCwgaW5jbHVkaW5nIGNvbnN0cnVjdG9ycywgaGFzIGEgbGVuZ3RoCisgICAgcHJvcGVydHkgd2hv
c2UgdmFsdWUgaXMgYW4gaW50ZWdlci4gVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsIHRoaXMg
dmFsdWUKKyAgICBpcyBlcXVhbCB0byB0aGUgbGFyZ2VzdCBudW1iZXIgb2YgbmFtZWQgYXJndW1l
bnRzIHNob3duIGluIHRoZSBzdWJjbGF1c2UKKyAgICBoZWFkaW5ncyBmb3IgdGhlIGZ1bmN0aW9u
IGRlc2NyaXB0aW9uLCBpbmNsdWRpbmcgb3B0aW9uYWwgcGFyYW1ldGVycy4KKworICAgIFsuLi5d
CisKKyAgICBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhlIGxlbmd0aCBwcm9wZXJ0eSBv
ZiBhIGJ1aWx0LWluIEZ1bmN0aW9uCisgICAgb2JqZWN0IGhhcyB0aGUgYXR0cmlidXRlcyB7IFtb
V3JpdGFibGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOiBmYWxzZSwKKyAgICBbW0NvbmZpZ3Vy
YWJsZV1dOiB0cnVlIH0uCitpbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQorZmVhdHVyZXM6
IFtfX3NldHRlcl9fXQorLS0tKi8KKwordmVyaWZ5UHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZS5f
X2RlZmluZVNldHRlcl9fLCAibGVuZ3RoIiwgeworICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgd3Jp
dGFibGU6IGZhbHNlLAorICBjb25maWd1cmFibGU6IHRydWUsCisgIHZhbHVlOiAyCit9KTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBl
L19fZGVmaW5lU2V0dGVyX18vbmFtZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18vbmFtZS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
ZDZlNjhiMzYwMDFjMjIxMjcwNDY4ZjgzMTQ3YTA4OGNhOTNhNGYwCi0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZp
bmVTZXR0ZXJfXy9uYW1lLmpzCkBAIC0wLDAgKzEsMjggQEAKKy8vIENvcHlyaWdodCAoQykgMjAx
NiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorLyotLS0KK2VzaWQ6IHNlYy1hZGRpdGlvbmFsLXByb3BlcnRpZXMtb2YtdGhlLW9iamVj
dC5wcm90b3R5cGUtb2JqZWN0CitkZXNjcmlwdGlvbjogT2JqZWN0LnByb3RvdHlwZS5fX2RlZmlu
ZVNldHRlcl9fIGBuYW1lYCBwcm9wZXJ0eQoraW5mbzogfAorICAgIEVTNiBTZWN0aW9uIDE3Ogor
CisgICAgRXZlcnkgYnVpbHQtaW4gRnVuY3Rpb24gb2JqZWN0LCBpbmNsdWRpbmcgY29uc3RydWN0
b3JzLCB0aGF0IGlzIG5vdAorICAgIGlkZW50aWZpZWQgYXMgYW4gYW5vbnltb3VzIGZ1bmN0aW9u
IGhhcyBhIG5hbWUgcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgYQorICAgIFN0cmluZy4gVW5sZXNz
IG90aGVyd2lzZSBzcGVjaWZpZWQsIHRoaXMgdmFsdWUgaXMgdGhlIG5hbWUgdGhhdCBpcyBnaXZl
biB0bworICAgIHRoZSBmdW5jdGlvbiBpbiB0aGlzIHNwZWNpZmljYXRpb24uCisKKyAgICBbLi4u
XQorCisgICAgVW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQsIHRoZSBuYW1lIHByb3BlcnR5IG9m
IGEgYnVpbHQtaW4gRnVuY3Rpb24KKyAgICBvYmplY3QsIGlmIGl0IGV4aXN0cywgaGFzIHRoZSBh
dHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiBmYWxzZSwKKyAgICBbW0VudW1lcmFibGVdXTogZmFs
c2UsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgfS4KK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIu
anNdCitmZWF0dXJlczogW19fc2V0dGVyX19dCistLS0qLworCit2ZXJpZnlQcm9wZXJ0eShPYmpl
Y3QucHJvdG90eXBlLl9fZGVmaW5lU2V0dGVyX18sICJuYW1lIiwgeworICBlbnVtZXJhYmxlOiBm
YWxzZSwKKyAgd3JpdGFibGU6IGZhbHNlLAorICBjb25maWd1cmFibGU6IHRydWUsCisgIHZhbHVl
OiAiX19kZWZpbmVTZXR0ZXJfXyIKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVTZXR0ZXJfXy9wcm9wLWRlc2Mu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2Rl
ZmluZVNldHRlcl9fL3Byb3AtZGVzYy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yOTE3NDQ5ZDYxYTE2NjkzMWQ5
NjJiODZlNzU5ODgyMGI0MmMyZjFhCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19kZWZpbmVTZXR0ZXJfXy9wcm9wLWRl
c2MuanMKQEAgLTAsMCArMSwxOCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9q
ZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQor
ZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1v
YmplY3QKK2Rlc2NyaXB0aW9uOiBQcm9wZXJ0eSBkZXNjcmlwdG9yIGZvciBPYmplY3QucHJvdG90
eXBlLl9fZGVmaW5lU2V0dGVyX18KK2luZm86IHwKKyAgICBFdmVyeSBvdGhlciBkYXRhIHByb3Bl
cnR5IGRlc2NyaWJlZCBpbiBjbGF1c2VzIDE4IHRocm91Z2ggMjYgYW5kIGluIEFubmV4CisgICAg
Qi4yIGhhcyB0aGUgYXR0cmlidXRlcyB7IFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxl
XV06IGZhbHNlLAorICAgIFtbQ29uZmlndXJhYmxlXV06IHRydWUgfSB1bmxlc3Mgb3RoZXJ3aXNl
IHNwZWNpZmllZC4KK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCitmZWF0dXJlczogW19f
c2V0dGVyX19dCistLS0qLworCit2ZXJpZnlQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiX19k
ZWZpbmVTZXR0ZXJfXyIsIHsKKyAgZW51bWVyYWJsZTogZmFsc2UsCisgIHdyaXRhYmxlOiB0cnVl
LAorICBjb25maWd1cmFibGU6IHRydWUsCit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18vc2V0dGVy
LW5vbi1jYWxsYWJsZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
cHJvdG90eXBlL19fZGVmaW5lU2V0dGVyX18vc2V0dGVyLW5vbi1jYWxsYWJsZS5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42MGQxYTI4NzE3M2RkNTRhN2NkMTRkYjYxZDk5ZjMxMWUxODBjNjZmCi0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUv
X19kZWZpbmVTZXR0ZXJfXy9zZXR0ZXItbm9uLWNhbGxhYmxlLmpzCkBAIC0wLDAgKzEsNDMgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1hZGRpdGlvbmFsLXBy
b3BlcnRpZXMtb2YtdGhlLW9iamVjdC5wcm90b3R5cGUtb2JqZWN0CitkZXNjcmlwdGlvbjogQmVo
YXZpb3Igd2hlbiBnZXR0ZXIgaXMgbm90IGNhbGxhYmxlCitpbmZvOiB8CisgICAgWy4uLl0KKyAg
ICAyLiBJZiBJc0NhbGxhYmxlKHNldHRlcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4
Y2VwdGlvbi4KK2ZlYXR1cmVzOiBbU3ltYm9sLCBfX3NldHRlcl9fXQorLS0tKi8KKwordmFyIHN1
YmplY3QgPSB7fTsKK3ZhciBzeW1ib2wgPSBTeW1ib2woJycpOwordmFyIHRvU3RyaW5nQ291bnQg
PSAwOwordmFyIGtleSA9IHsKKyAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgeworICAgIHRvU3RyaW5n
Q291bnQgKz0gMTsKKyAgfQorfTsKKworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgT2JqZWN0LnBy
b3RvdHlwZS5fX2RlZmluZVNldHRlcl9fLCAnZnVuY3Rpb24nKTsKKworYXNzZXJ0LnRocm93cyhU
eXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBzdWJqZWN0Ll9fZGVmaW5lU2V0dGVyX18oa2V5LCAn
Jyk7Cit9LCAnc3RyaW5nJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigp
IHsKKyAgc3ViamVjdC5fX2RlZmluZVNldHRlcl9fKGtleSwgMjMpOworfSwgJ251bWJlcicpOwor
Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIHN1YmplY3QuX19kZWZp
bmVTZXR0ZXJfXyhrZXksIHRydWUpOworfSwgJ2Jvb2xlYW4nKTsKKworYXNzZXJ0LnRocm93cyhU
eXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBzdWJqZWN0Ll9fZGVmaW5lU2V0dGVyX18oa2V5LCBz
eW1ib2wpOworfSwgJ3N5bWJvbCcpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rp
b24oKSB7CisgIHN1YmplY3QuX19kZWZpbmVTZXR0ZXJfXyhrZXksIHt9KTsKK30sICdvYmplY3Qn
KTsKKworYXNzZXJ0LnNhbWVWYWx1ZSh0b1N0cmluZ0NvdW50LCAwKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fZGVmaW5lU2V0
dGVyX18vdGhpcy1ub24tb2JqLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9wcm90b3R5cGUvX19kZWZpbmVTZXR0ZXJfXy90aGlzLW5vbi1vYmouanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYjg0OWM4NTgyOTQ2NDVhYWZjNWIxOTVkN2RiODNhMjI2NzQ2OTRmOAotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19f
ZGVmaW5lU2V0dGVyX18vdGhpcy1ub24tb2JqLmpzCkBAIC0wLDAgKzEsMzAgQEAKKy8vIENvcHly
aWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1hZGRpdGlvbmFsLXByb3BlcnRpZXMt
b2YtdGhlLW9iamVjdC5wcm90b3R5cGUtb2JqZWN0CitkZXNjcmlwdGlvbjogQmVoYXZpb3Igd2hl
biAidGhpcyIgdmFsdWUgaXMgbm90IE9iamVjdC1jb2VyY2libGUKK2luZm86IHwKKyAgICAxLiBM
ZXQgTyBiZSA/IFRvT2JqZWN0KHRoaXMgdmFsdWUpLgorZmVhdHVyZXM6IFtfX3NldHRlcl9fXQor
LS0tKi8KKwordmFyIF9fZGVmaW5lU2V0dGVyX18gPSBPYmplY3QucHJvdG90eXBlLl9fZGVmaW5l
U2V0dGVyX187Cit2YXIgbm9vcCA9IGZ1bmN0aW9uKCkge307Cit2YXIgdG9TdHJpbmdDb3VudCA9
IDA7Cit2YXIga2V5ID0geworICB0b1N0cmluZzogZnVuY3Rpb24oKSB7CisgICAgdG9TdHJpbmdD
b3VudCArPSAxOworICB9Cit9OworCithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBfX2RlZmluZVNl
dHRlcl9fLCAnZnVuY3Rpb24nKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9u
KCkgeworICBfX2RlZmluZVNldHRlcl9fLmNhbGwodW5kZWZpbmVkLCBrZXksIG5vb3ApOworfSwg
J3VuZGVmaW5lZCcpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Cisg
IF9fZGVmaW5lU2V0dGVyX18uY2FsbChudWxsLCBrZXksIG5vb3ApOworfSwgJ251bGwnKTsKKwor
YXNzZXJ0LnNhbWVWYWx1ZSh0b1N0cmluZ0NvdW50LCAwKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18v
a2V5LWludmFsaWQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS9fX2xvb2t1cEdldHRlcl9fL2tleS1pbnZhbGlkLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmNGM5
YTdiOGRmZTQwZGJmNGEyZDY4NjIyZjM3YzdmZGYyZjQ4NmEKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdl
dHRlcl9fL2tleS1pbnZhbGlkLmpzCkBAIC0wLDAgKzEsMjEgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1hZGRpdGlvbmFsLXByb3BlcnRpZXMtb2YtdGhlLW9i
amVjdC5wcm90b3R5cGUtb2JqZWN0CitkZXNjcmlwdGlvbjogQmVoYXZpb3Igd2hlbiBwcm9wZXJ0
eSBrZXkgY2Fubm90IGJlIGRlcml2ZWQKK2luZm86IHwKKyAgICBbLi4uXQorICAgIDIuIExldCBr
ZXkgYmUgPyBUb1Byb3BlcnR5S2V5KFApLgorZmVhdHVyZXM6IFtfX2dldHRlcl9fXQorLS0tKi8K
KwordmFyIHN1YmplY3QgPSB7fTsKK3ZhciBrZXkgPSB7CisgIHRvU3RyaW5nOiBmdW5jdGlvbigp
IHsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7CisgIH0KK307CisKK2Fzc2VydC50aHJv
d3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsKKyAgc3ViamVjdC5fX2xvb2t1cEdldHRlcl9f
KGtleSk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9P
YmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vbGVuZ3RoLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sZW5n
dGguanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODBlZmRkNmFjOWE3NjZhZDRmZGNhOTgyZWViYTAyYTVkODQ5YzY3
NwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vbGVuZ3RoLmpzCkBAIC0wLDAgKzEsMjcgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1hZGRpdGlvbmFsLXBy
b3BlcnRpZXMtb2YtdGhlLW9iamVjdC5wcm90b3R5cGUtb2JqZWN0CitkZXNjcmlwdGlvbjogT2Jq
ZWN0LnByb3RvdHlwZS5fX2xvb2t1cEdldHRlcl9fIGBsZW5ndGhgIHByb3BlcnR5CitpbmZvOiB8
CisgICAgRVM2IFNlY3Rpb24gMTc6CisgICAgRXZlcnkgYnVpbHQtaW4gRnVuY3Rpb24gb2JqZWN0
LCBpbmNsdWRpbmcgY29uc3RydWN0b3JzLCBoYXMgYSBsZW5ndGgKKyAgICBwcm9wZXJ0eSB3aG9z
ZSB2YWx1ZSBpcyBhbiBpbnRlZ2VyLiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhpcyB2
YWx1ZQorICAgIGlzIGVxdWFsIHRvIHRoZSBsYXJnZXN0IG51bWJlciBvZiBuYW1lZCBhcmd1bWVu
dHMgc2hvd24gaW4gdGhlIHN1YmNsYXVzZQorICAgIGhlYWRpbmdzIGZvciB0aGUgZnVuY3Rpb24g
ZGVzY3JpcHRpb24sIGluY2x1ZGluZyBvcHRpb25hbCBwYXJhbWV0ZXJzLgorCisgICAgWy4uLl0K
KworICAgIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9m
IGEgYnVpbHQtaW4gRnVuY3Rpb24KKyAgICBvYmplY3QgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgW1tX
cml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IGZhbHNlLAorICAgIFtbQ29uZmlndXJh
YmxlXV06IHRydWUgfS4KK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCitmZWF0dXJlczog
W19fZ2V0dGVyX19dCistLS0qLworCit2ZXJpZnlQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLl9f
bG9va3VwR2V0dGVyX18sICJsZW5ndGgiLCB7CisgIGVudW1lcmFibGU6IGZhbHNlLAorICB3cml0
YWJsZTogZmFsc2UsCisgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKKyAgdmFsdWU6IDEKK30pOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUv
X19sb29rdXBHZXR0ZXJfXy9sb29rdXAtbm90LWZvdW5kLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sb29rdXAtbm90
LWZvdW5kLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1Y2U5OGQwODk0ZTgzNGZkZjZkMzk2OThhZmNkNGRmOWI4
M2M3NDkKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRlcl9fL2xvb2t1cC1ub3QtZm91bmQuanMKQEAg
LTAsMCArMSwyMiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2Vj
LWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKK2Rl
c2NyaXB0aW9uOiBCZWhhdmlvciB3aGVuIHByb3BlcnR5IGRvZXMgbm90IGV4aXN0IGluIHByb3Rv
dHlwZSBjaGFpbgoraW5mbzogfAorICAgIFsuLi5dCisgICAgNC4gUmVwZWF0CisgICAgICAgYS4g
TGV0IGRlc2MgYmUgPyBPLltbR2V0T3duUHJvcGVydHldXShrZXkpLgorICAgICAgIGIuIElmIGRl
c2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgICAgIGkuIElmIElzQWNjZXNzb3JEZXNj
cmlwdG9yKGRlc2MpIGlzIHRydWUsIHJldHVybiBkZXNjLltbR2V0XV0uCisgICAgICAgICAgaWku
IFJldHVybiB1bmRlZmluZWQuCisgICAgICAgYy4gTGV0IE8gYmUgPyBPLltbR2V0UHJvdG90eXBl
T2ZdXSgpLgorICAgICAgIGQuIElmIE8gaXMgbnVsbCwgcmV0dXJuIHVuZGVmaW5lZC4KK2ZlYXR1
cmVzOiBbX19nZXR0ZXJfX10KKy0tLSovCisKK3ZhciByb290ID0ge307Cit2YXIgaW50ZXJtZWRp
YXJ5ID0gT2JqZWN0LmNyZWF0ZShyb290KTsKK3ZhciBzdWJqZWN0ID0gT2JqZWN0LmNyZWF0ZShp
bnRlcm1lZGlhcnkpOworCithc3NlcnQuc2FtZVZhbHVlKHN1YmplY3QuX19sb29rdXBHZXR0ZXJf
XygndGFyZ2V0JyksIHVuZGVmaW5lZCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRlcl9fL2xvb2t1cC1vd24t
YWNzci13LWdldHRlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
cHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vbG9va3VwLW93bi1hY3NyLXctZ2V0dGVyLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIxYWI1NWViNGYyMmY1ZDQxY2JkNjdhOGQ2OGJjMDQ3NWIxMzQ1YjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3Rv
dHlwZS9fX2xvb2t1cEdldHRlcl9fL2xvb2t1cC1vd24tYWNzci13LWdldHRlci5qcwpAQCAtMCww
ICsxLDI0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtYWRk
aXRpb25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3QucHJvdG90eXBlLW9iamVjdAorZGVzY3Jp
cHRpb246ID4KKyAgICBCZWhhdmlvciB3aGVuICJ0aGlzIiB2YWx1ZSBkZWZpbmVzIGEgbGlrZS1u
YW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIGEKKyAgICBgZ2V0YCBtZXRob2QKK2luZm86IHwK
KyAgICBbLi4uXQorICAgIDQuIFJlcGVhdAorICAgICAgIGEuIExldCBkZXNjIGJlID8gTy5bW0dl
dE93blByb3BlcnR5XV0oa2V5KS4KKyAgICAgICBiLiBJZiBkZXNjIGlzIG5vdCB1bmRlZmluZWQs
IHRoZW4KKyAgICAgICAgICBpLiBJZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihkZXNjKSBpcyB0cnVl
LCByZXR1cm4gZGVzYy5bW0dldF1dLgorICAgICAgICAgIGlpLiBSZXR1cm4gdW5kZWZpbmVkLgor
ICAgICAgIGMuIExldCBPIGJlID8gTy5bW0dldFByb3RvdHlwZU9mXV0oKS4KKyAgICAgICBkLiBJ
ZiBPIGlzIG51bGwsIHJldHVybiB1bmRlZmluZWQuCitmZWF0dXJlczogW19fZ2V0dGVyX19dCist
LS0qLworCit2YXIgcm9vdCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgJ3RhcmdldCcsIHsg
Z2V0OiBmdW5jdGlvbigpIHt9IH0pOwordmFyIGRlc2MgPSB7IGdldDogZnVuY3Rpb24oKSB7fSB9
OwordmFyIHN1YmplY3QgPSBPYmplY3QuY3JlYXRlKHJvb3QsIHsgdGFyZ2V0OiBkZXNjIH0pOwor
Cithc3NlcnQuc2FtZVZhbHVlKHN1YmplY3QuX19sb29rdXBHZXR0ZXJfXygndGFyZ2V0JyksIGRl
c2MuZ2V0KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vbG9va3VwLW93bi1hY3NyLXdvLWdldHRlci5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9v
a3VwR2V0dGVyX18vbG9va3VwLW93bi1hY3NyLXdvLWdldHRlci5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZjgz
YzY3Y2M2ZWFiZDZlYmE0YmViOGVjMjk4MWY3MTg4NDE0MGYyCi0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBH
ZXR0ZXJfXy9sb29rdXAtb3duLWFjc3Itd28tZ2V0dGVyLmpzCkBAIC0wLDAgKzEsMjQgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1hZGRpdGlvbmFsLXByb3Bl
cnRpZXMtb2YtdGhlLW9iamVjdC5wcm90b3R5cGUtb2JqZWN0CitkZXNjcmlwdGlvbjogPgorICAg
IEJlaGF2aW9yIHdoZW4gInRoaXMiIHZhbHVlIGRlZmluZXMgYSBsaWtlLW5hbWVkIGFjY2Vzc29y
IHByb3BlcnR5IHdpdGhvdXQgYQorICAgIGBnZXRgIG1ldGhvZAoraW5mbzogfAorICAgIFsuLi5d
CisgICAgNC4gUmVwZWF0CisgICAgICAgYS4gTGV0IGRlc2MgYmUgPyBPLltbR2V0T3duUHJvcGVy
dHldXShrZXkpLgorICAgICAgIGIuIElmIGRlc2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAg
ICAgICAgIGkuIElmIElzQWNjZXNzb3JEZXNjcmlwdG9yKGRlc2MpIGlzIHRydWUsIHJldHVybiBk
ZXNjLltbR2V0XV0uCisgICAgICAgICAgaWkuIFJldHVybiB1bmRlZmluZWQuCisgICAgICAgYy4g
TGV0IE8gYmUgPyBPLltbR2V0UHJvdG90eXBlT2ZdXSgpLgorICAgICAgIGQuIElmIE8gaXMgbnVs
bCwgcmV0dXJuIHVuZGVmaW5lZC4KK2ZlYXR1cmVzOiBbX19nZXR0ZXJfX10KKy0tLSovCisKK3Zh
ciByb290ID0gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAndGFyZ2V0JywgeyBnZXQ6IGZ1bmN0
aW9uKCkge30gfSk7Cit2YXIgZGVzYyA9IHsgc2V0OiBmdW5jdGlvbigpIHt9IH07Cit2YXIgc3Vi
amVjdCA9IE9iamVjdC5jcmVhdGUocm9vdCwgeyB0YXJnZXQ6IGRlc2MgfSk7CisKK2Fzc2VydC5z
YW1lVmFsdWUoc3ViamVjdC5fX2xvb2t1cEdldHRlcl9fKCd0YXJnZXQnKSwgdW5kZWZpbmVkKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90
eXBlL19fbG9va3VwR2V0dGVyX18vbG9va3VwLW93bi1kYXRhLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sb29rdXAt
b3duLWRhdGEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTNmY2I4MTM4OGJjZGJiOWVkMjI5ZTZiZjY5Y2RmYmI4
ZGU1ODkwNwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vbG9va3VwLW93bi1kYXRhLmpzCkBA
IC0wLDAgKzEsMjIgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRo
b3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNl
Yy1hZGRpdGlvbmFsLXByb3BlcnRpZXMtb2YtdGhlLW9iamVjdC5wcm90b3R5cGUtb2JqZWN0Citk
ZXNjcmlwdGlvbjogQmVoYXZpb3Igd2hlbiAidGhpcyIgdmFsdWUgZGVmaW5lcyBhIGxpa2UtbmFt
ZWQgZGF0YSBwcm9wZXJ0eQoraW5mbzogfAorICAgIFsuLi5dCisgICAgNC4gUmVwZWF0CisgICAg
ICAgYS4gTGV0IGRlc2MgYmUgPyBPLltbR2V0T3duUHJvcGVydHldXShrZXkpLgorICAgICAgIGIu
IElmIGRlc2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgICAgIGkuIElmIElzQWNjZXNz
b3JEZXNjcmlwdG9yKGRlc2MpIGlzIHRydWUsIHJldHVybiBkZXNjLltbR2V0XV0uCisgICAgICAg
ICAgaWkuIFJldHVybiB1bmRlZmluZWQuCisgICAgICAgYy4gTGV0IE8gYmUgPyBPLltbR2V0UHJv
dG90eXBlT2ZdXSgpLgorICAgICAgIGQuIElmIE8gaXMgbnVsbCwgcmV0dXJuIHVuZGVmaW5lZC4K
K2ZlYXR1cmVzOiBbX19nZXR0ZXJfX10KKy0tLSovCisKK3ZhciByb290ID0gT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KHt9LCAndGFyZ2V0JywgeyBnZXQ6IGZ1bmN0aW9uKCkge30gfSk7Cit2YXIgZGVz
YyA9IHsgdmFsdWU6IG51bGwgfTsKK3ZhciBzdWJqZWN0ID0gT2JqZWN0LmNyZWF0ZShyb290LCB7
IHRhcmdldDogZGVzYyB9KTsKKworYXNzZXJ0LnNhbWVWYWx1ZShzdWJqZWN0Ll9fbG9va3VwR2V0
dGVyX18oJ3RhcmdldCcpLCB1bmRlZmluZWQpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sb29rdXAt
b3duLWdldC1lcnIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS9fX2xvb2t1cEdldHRlcl9fL2xvb2t1cC1vd24tZ2V0LWVyci5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jZTVjMjVjMTY4ZDcyNzI5YjVlY2ZjNjQ1ZTlhOTkwYjllZWQxNTc4Ci0tLSAvZGV2L251bGwK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19s
b29rdXBHZXR0ZXJfXy9sb29rdXAtb3duLWdldC1lcnIuanMKQEAgLTAsMCArMSwyNiBAQAorLy8g
Q29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVy
dGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKK2Rlc2NyaXB0aW9uOiA+CisgICAg
QmVoYXZpb3Igd2hlbiBbW0dldE93blByb3BlcnR5XV0gb2YgInRoaXMiIHZhbHVlIHJldHVybnMg
YW4gYWJydXB0CisgICAgY29tcGxldGlvbgoraW5mbzogfAorICAgIFsuLi5dCisgICAgNC4gUmVw
ZWF0CisgICAgICAgYS4gTGV0IGRlc2MgYmUgPyBPLltbR2V0T3duUHJvcGVydHldXShrZXkpLgor
ICAgICAgIGIuIElmIGRlc2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgICAgIGkuIElm
IElzQWNjZXNzb3JEZXNjcmlwdG9yKGRlc2MpIGlzIHRydWUsIHJldHVybiBkZXNjLltbR2V0XV0u
CisgICAgICAgICAgaWkuIFJldHVybiB1bmRlZmluZWQuCisgICAgICAgYy4gTGV0IE8gYmUgPyBP
LltbR2V0UHJvdG90eXBlT2ZdXSgpLgorICAgICAgIGQuIElmIE8gaXMgbnVsbCwgcmV0dXJuIHVu
ZGVmaW5lZC4KK2ZlYXR1cmVzOiBbUHJveHksIF9fZ2V0dGVyX19dCistLS0qLworCit2YXIgcm9v
dCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgJ3RhcmdldCcsIHsgZ2V0OiBmdW5jdGlvbigp
IHt9IH0pOwordmFyIHRocm93ZXIgPSBmdW5jdGlvbigpIHsgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cigpOyB9OwordmFyIHN1YmplY3QgPSBuZXcgUHJveHkocm9vdCwgeyBnZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3I6IHRocm93ZXIgfSk7CisKK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5j
dGlvbigpIHsKKyAgc3ViamVjdC5fX2xvb2t1cEdldHRlcl9fKCd0YXJnZXQnKTsKK30pOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUv
X19sb29rdXBHZXR0ZXJfXy9sb29rdXAtb3duLXByb3RvLWVyci5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vbG9va3Vw
LW93bi1wcm90by1lcnIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzU3YzEzNjQwYjI4ZWRhOWZhZThkMTM3ZTFm
ZDI5ZjI2MjFlYWMwYQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vbG9va3VwLW93bi1wcm90
by1lcnIuanMKQEAgLTAsMCArMSwyNiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBw
cm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0t
LQorZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlw
ZS1vYmplY3QKK2Rlc2NyaXB0aW9uOiA+CisgICAgQmVoYXZpb3Igd2hlbiBbW0dldFByb3RvdHlw
ZU9mXV0gb2YgInRoaXMiIHZhbHVlIHJldHVybnMgYW4gYWJydXB0CisgICAgY29tcGxldGlvbgor
aW5mbzogfAorICAgIFsuLi5dCisgICAgNC4gUmVwZWF0CisgICAgICAgYS4gTGV0IGRlc2MgYmUg
PyBPLltbR2V0T3duUHJvcGVydHldXShrZXkpLgorICAgICAgIGIuIElmIGRlc2MgaXMgbm90IHVu
ZGVmaW5lZCwgdGhlbgorICAgICAgICAgIGkuIElmIElzQWNjZXNzb3JEZXNjcmlwdG9yKGRlc2Mp
IGlzIHRydWUsIHJldHVybiBkZXNjLltbR2V0XV0uCisgICAgICAgICAgaWkuIFJldHVybiB1bmRl
ZmluZWQuCisgICAgICAgYy4gTGV0IE8gYmUgPyBPLltbR2V0UHJvdG90eXBlT2ZdXSgpLgorICAg
ICAgIGQuIElmIE8gaXMgbnVsbCwgcmV0dXJuIHVuZGVmaW5lZC4KK2ZlYXR1cmVzOiBbUHJveHks
IF9fZ2V0dGVyX19dCistLS0qLworCit2YXIgcm9vdCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7
fSwgJ3RhcmdldCcsIHsgZ2V0OiBmdW5jdGlvbigpIHt9IH0pOwordmFyIHRocm93ZXIgPSBmdW5j
dGlvbigpIHsgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOyB9OwordmFyIHN1YmplY3QgPSBuZXcg
UHJveHkoT2JqZWN0LmNyZWF0ZShyb290KSwgeyBnZXRQcm90b3R5cGVPZjogdGhyb3dlciB9KTsK
KworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9uKCkgeworICBzdWJqZWN0Ll9f
bG9va3VwR2V0dGVyX18oJ3RhcmdldCcpOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRlcl9fL2xvb2t1
cC1wcm90by1hY3NyLXctZ2V0dGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sb29rdXAtcHJvdG8tYWNzci13LWdl
dHRlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hNDgxOWE3MDNmNDY0M2JjN2Y0M2U0Njg2MTUyNmIxNjFiN2Rj
OGRjCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sb29rdXAtcHJvdG8tYWNzci13LWdldHRl
ci5qcwpAQCAtMCwwICsxLDI1IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2pl
Y3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitl
c2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3QucHJvdG90eXBlLW9i
amVjdAorZGVzY3JpcHRpb246ID4KKyAgICBCZWhhdmlvciB3aGVuIHByb3RvdHlwZSBkZWZpbmVz
IGEgbGlrZS1uYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIGEgYGdldGAKKyAgICBtZXRob2QK
K2luZm86IHwKKyAgICBbLi4uXQorICAgIDQuIFJlcGVhdAorICAgICAgIGEuIExldCBkZXNjIGJl
ID8gTy5bW0dldE93blByb3BlcnR5XV0oa2V5KS4KKyAgICAgICBiLiBJZiBkZXNjIGlzIG5vdCB1
bmRlZmluZWQsIHRoZW4KKyAgICAgICAgICBpLiBJZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihkZXNj
KSBpcyB0cnVlLCByZXR1cm4gZGVzYy5bW0dldF1dLgorICAgICAgICAgIGlpLiBSZXR1cm4gdW5k
ZWZpbmVkLgorICAgICAgIGMuIExldCBPIGJlID8gTy5bW0dldFByb3RvdHlwZU9mXV0oKS4KKyAg
ICAgICBkLiBJZiBPIGlzIG51bGwsIHJldHVybiB1bmRlZmluZWQuCitmZWF0dXJlczogW19fZ2V0
dGVyX19dCistLS0qLworCit2YXIgcm9vdCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgJ3Rh
cmdldCcsIHsgZ2V0OiBmdW5jdGlvbigpIHt9IH0pOwordmFyIGRlc2MgPSB7IGdldDogZnVuY3Rp
b24oKSB7fSB9OwordmFyIGludGVybWVkaWFyeSA9IE9iamVjdC5jcmVhdGUocm9vdCwgeyB0YXJn
ZXQ6IGRlc2MgfSk7Cit2YXIgc3ViamVjdCA9IE9iamVjdC5jcmVhdGUoaW50ZXJtZWRpYXJ5KTsK
KworYXNzZXJ0LnNhbWVWYWx1ZShzdWJqZWN0Ll9fbG9va3VwR2V0dGVyX18oJ3RhcmdldCcpLCBk
ZXNjLmdldCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRlcl9fL2xvb2t1cC1wcm90by1hY3NyLXdvLWdldHRl
ci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19f
bG9va3VwR2V0dGVyX18vbG9va3VwLXByb3RvLWFjc3Itd28tZ2V0dGVyLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU1YTkxZTU2ZjZjZDY4M2JjZTI5NjRiOTYyZTA2OTM5M2UyMzQ1MDAKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xv
b2t1cEdldHRlcl9fL2xvb2t1cC1wcm90by1hY3NyLXdvLWdldHRlci5qcwpAQCAtMCwwICsxLDI1
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtYWRkaXRpb25h
bC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3QucHJvdG90eXBlLW9iamVjdAorZGVzY3JpcHRpb246
ID4KKyAgICBCZWhhdmlvciB3aGVuIHByb3RvdHlwZSBkZWZpbmVzIGEgbGlrZS1uYW1lZCBhY2Nl
c3NvciBwcm9wZXJ0eSB3aXRob3V0IGEKKyAgICBgZ2V0YCBtZXRob2QKK2luZm86IHwKKyAgICBb
Li4uXQorICAgIDQuIFJlcGVhdAorICAgICAgIGEuIExldCBkZXNjIGJlID8gTy5bW0dldE93blBy
b3BlcnR5XV0oa2V5KS4KKyAgICAgICBiLiBJZiBkZXNjIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4K
KyAgICAgICAgICBpLiBJZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihkZXNjKSBpcyB0cnVlLCByZXR1
cm4gZGVzYy5bW0dldF1dLgorICAgICAgICAgIGlpLiBSZXR1cm4gdW5kZWZpbmVkLgorICAgICAg
IGMuIExldCBPIGJlID8gTy5bW0dldFByb3RvdHlwZU9mXV0oKS4KKyAgICAgICBkLiBJZiBPIGlz
IG51bGwsIHJldHVybiB1bmRlZmluZWQuCitmZWF0dXJlczogW19fZ2V0dGVyX19dCistLS0qLwor
Cit2YXIgcm9vdCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgJ3RhcmdldCcsIHsgZ2V0OiBm
dW5jdGlvbigpIHt9IH0pOwordmFyIGRlc2MgPSB7IHNldDogZnVuY3Rpb24oKSB7fSB9OwordmFy
IGludGVybWVkaWFyeSA9IE9iamVjdC5jcmVhdGUocm9vdCwgeyB0YXJnZXQ6IGRlc2MgfSk7Cit2
YXIgc3ViamVjdCA9IE9iamVjdC5jcmVhdGUoaW50ZXJtZWRpYXJ5KTsKKworYXNzZXJ0LnNhbWVW
YWx1ZShzdWJqZWN0Ll9fbG9va3VwR2V0dGVyX18oJ3RhcmdldCcpLCB1bmRlZmluZWQpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUv
X19sb29rdXBHZXR0ZXJfXy9sb29rdXAtcHJvdG8tZGF0YS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vbG9va3VwLXBy
b3RvLWRhdGEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM5YTdmYzI0NGQyNTU4YWIxOTMzYWI4OTExYjUwMjYw
Y2NlNzM0MAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vbG9va3VwLXByb3RvLWRhdGEuanMK
QEAgLTAsMCArMSwyMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1
dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDog
c2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QK
K2Rlc2NyaXB0aW9uOiBCZWhhdmlvciB3aGVuIHByb3RvdHlwZSBkZWZpbmVzIGEgbGlrZS1uYW1l
ZCBkYXRhIHByb3BlcnR5CitpbmZvOiB8CisgICAgWy4uLl0KKyAgICA0LiBSZXBlYXQKKyAgICAg
ICBhLiBMZXQgZGVzYyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1dKGtleSkuCisgICAgICAgYi4g
SWYgZGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICAgICAgaS4gSWYgSXNBY2Nlc3Nv
ckRlc2NyaXB0b3IoZGVzYykgaXMgdHJ1ZSwgcmV0dXJuIGRlc2MuW1tHZXRdXS4KKyAgICAgICAg
ICBpaS4gUmV0dXJuIHVuZGVmaW5lZC4KKyAgICAgICBjLiBMZXQgTyBiZSA/IE8uW1tHZXRQcm90
b3R5cGVPZl1dKCkuCisgICAgICAgZC4gSWYgTyBpcyBudWxsLCByZXR1cm4gdW5kZWZpbmVkLgor
ZmVhdHVyZXM6IFtfX2dldHRlcl9fXQorLS0tKi8KKwordmFyIHJvb3QgPSBPYmplY3QuZGVmaW5l
UHJvcGVydHkoe30sICd0YXJnZXQnLCB7IGdldDogZnVuY3Rpb24oKSB7fSB9KTsKK3ZhciBkZXNj
ID0geyB2YWx1ZTogbnVsbCB9OwordmFyIGludGVybWVkaWFyeSA9IE9iamVjdC5jcmVhdGUocm9v
dCwgeyB0YXJnZXQ6IGRlc2MgfSk7Cit2YXIgc3ViamVjdCA9IE9iamVjdC5jcmVhdGUoaW50ZXJt
ZWRpYXJ5KTsKKworYXNzZXJ0LnNhbWVWYWx1ZShzdWJqZWN0Ll9fbG9va3VwR2V0dGVyX18oJ3Rh
cmdldCcpLCB1bmRlZmluZWQpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9sb29rdXAtcHJvdG8tZ2V0
LWVyci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBl
L19fbG9va3VwR2V0dGVyX18vbG9va3VwLXByb3RvLWdldC1lcnIuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmRm
ZTQyZjFiNDM0ZjBmMDA5MTM1YmQyMWU4MjI3MmRjOWNkZGRiZQotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3Vw
R2V0dGVyX18vbG9va3VwLXByb3RvLWdldC1lcnIuanMKQEAgLTAsMCArMSwyOCBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGll
cy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKK2Rlc2NyaXB0aW9uOiA+CisgICAgQmVo
YXZpb3Igd2hlbiBbW0dldE93blByb3BlcnR5XV0gb2YgcHJvdG90eXBlIHJldHVybnMgYW4gYWJy
dXB0IGNvbXBsZXRpb24KK2luZm86IHwKKyAgICBbLi4uXQorICAgIDQuIFJlcGVhdAorICAgICAg
IGEuIExldCBkZXNjIGJlID8gTy5bW0dldE93blByb3BlcnR5XV0oa2V5KS4KKyAgICAgICBiLiBJ
ZiBkZXNjIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAgICAgICAgICBpLiBJZiBJc0FjY2Vzc29y
RGVzY3JpcHRvcihkZXNjKSBpcyB0cnVlLCByZXR1cm4gZGVzYy5bW0dldF1dLgorICAgICAgICAg
IGlpLiBSZXR1cm4gdW5kZWZpbmVkLgorICAgICAgIGMuIExldCBPIGJlID8gTy5bW0dldFByb3Rv
dHlwZU9mXV0oKS4KKyAgICAgICBkLiBJZiBPIGlzIG51bGwsIHJldHVybiB1bmRlZmluZWQuCitm
ZWF0dXJlczogW1Byb3h5LCBfX2dldHRlcl9fXQorLS0tKi8KKwordmFyIHJvb3QgPSBPYmplY3Qu
ZGVmaW5lUHJvcGVydHkoe30sICd0YXJnZXQnLCB7IGdldDogZnVuY3Rpb24oKSB7fSB9KTsKK3Zh
ciB0aHJvd2VyID0gZnVuY3Rpb24oKSB7IHRocm93IG5ldyBUZXN0MjYyRXJyb3IoKTsgfTsKK3Zh
ciBpbnRlcm1lZGlhcnkgPSBuZXcgUHJveHkoCisgIE9iamVjdC5jcmVhdGUocm9vdCksIHsgZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yOiB0aHJvd2VyIH0KKyk7Cit2YXIgc3ViamVjdCA9IE9iamVj
dC5jcmVhdGUoaW50ZXJtZWRpYXJ5KTsKKworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1
bmN0aW9uKCkgeworICBzdWJqZWN0Ll9fbG9va3VwR2V0dGVyX18oJ3RhcmdldCcpOworfSk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlw
ZS9fX2xvb2t1cEdldHRlcl9fL2xvb2t1cC1wcm90by1wcm90by1lcnIuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRlcl9fL2xv
b2t1cC1wcm90by1wcm90by1lcnIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjIwNjA1NTY1MDA5MmZiN2ZkMmJk
NDVjY2FiZjg3M2ZmOTdmNjBiNwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vbG9va3VwLXBy
b3RvLXByb3RvLWVyci5qcwpAQCAtMCwwICsxLDI2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTYg
dGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KKy8qLS0tCitlc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3Qu
cHJvdG90eXBlLW9iamVjdAorZGVzY3JpcHRpb246ID4KKyAgICBCZWhhdmlvciB3aGVuIFtbR2V0
UHJvdG90eXBlT2ZdXSBvZiBwcm90b3R5cGUgcmV0dXJucyBhbiBhYnJ1cHQgY29tcGxldGlvbgor
aW5mbzogfAorICAgIFsuLi5dCisgICAgNC4gUmVwZWF0CisgICAgICAgYS4gTGV0IGRlc2MgYmUg
PyBPLltbR2V0T3duUHJvcGVydHldXShrZXkpLgorICAgICAgIGIuIElmIGRlc2MgaXMgbm90IHVu
ZGVmaW5lZCwgdGhlbgorICAgICAgICAgIGkuIElmIElzQWNjZXNzb3JEZXNjcmlwdG9yKGRlc2Mp
IGlzIHRydWUsIHJldHVybiBkZXNjLltbR2V0XV0uCisgICAgICAgICAgaWkuIFJldHVybiB1bmRl
ZmluZWQuCisgICAgICAgYy4gTGV0IE8gYmUgPyBPLltbR2V0UHJvdG90eXBlT2ZdXSgpLgorICAg
ICAgIGQuIElmIE8gaXMgbnVsbCwgcmV0dXJuIHVuZGVmaW5lZC4KK2ZlYXR1cmVzOiBbUHJveHks
IF9fZ2V0dGVyX19dCistLS0qLworCit2YXIgcm9vdCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7
fSwgJ3RhcmdldCcsIHsgZ2V0OiBmdW5jdGlvbigpIHt9IH0pOwordmFyIHRocm93ZXIgPSBmdW5j
dGlvbigpIHsgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOyB9OwordmFyIGludGVybWVkaWFyeSA9
IG5ldyBQcm94eShPYmplY3QuY3JlYXRlKHJvb3QpLCB7IGdldFByb3RvdHlwZU9mOiB0aHJvd2Vy
IH0pOwordmFyIHN1YmplY3QgPSBPYmplY3QuY3JlYXRlKGludGVybWVkaWFyeSk7CisKK2Fzc2Vy
dC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsKKyAgc3ViamVjdC5fX2xvb2t1cEdl
dHRlcl9fKCd0YXJnZXQnKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy9uYW1lLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBHZXR0
ZXJfXy9uYW1lLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1M2VjMGYyYWNiMjU3YzM2NjdiMWRiMGVlMjNhODBh
MDFkZGVkMjgKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRlcl9fL25hbWUuanMKQEAgLTAsMCArMSwy
OCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLWFkZGl0aW9u
YWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKK2Rlc2NyaXB0aW9u
OiBPYmplY3QucHJvdG90eXBlLl9fbG9va3VwR2V0dGVyX18gYG5hbWVgIHByb3BlcnR5CitpbmZv
OiB8CisgICAgRVM2IFNlY3Rpb24gMTc6CisKKyAgICBFdmVyeSBidWlsdC1pbiBGdW5jdGlvbiBv
YmplY3QsIGluY2x1ZGluZyBjb25zdHJ1Y3RvcnMsIHRoYXQgaXMgbm90CisgICAgaWRlbnRpZmll
ZCBhcyBhbiBhbm9ueW1vdXMgZnVuY3Rpb24gaGFzIGEgbmFtZSBwcm9wZXJ0eSB3aG9zZSB2YWx1
ZSBpcyBhCisgICAgU3RyaW5nLiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhpcyB2YWx1
ZSBpcyB0aGUgbmFtZSB0aGF0IGlzIGdpdmVuIHRvCisgICAgdGhlIGZ1bmN0aW9uIGluIHRoaXMg
c3BlY2lmaWNhdGlvbi4KKworICAgIFsuLi5dCisKKyAgICBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNp
ZmllZCwgdGhlIG5hbWUgcHJvcGVydHkgb2YgYSBidWlsdC1pbiBGdW5jdGlvbgorICAgIG9iamVj
dCwgaWYgaXQgZXhpc3RzLCBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBbW1dyaXRhYmxlXV06IGZhbHNl
LAorICAgIFtbRW51bWVyYWJsZV1dOiBmYWxzZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB9Lgor
aW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KK2ZlYXR1cmVzOiBbX19nZXR0ZXJfX10KKy0t
LSovCisKK3ZlcmlmeVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUuX19sb29rdXBHZXR0ZXJfXywg
Im5hbWUiLCB7CisgIGVudW1lcmFibGU6IGZhbHNlLAorICB3cml0YWJsZTogZmFsc2UsCisgIGNv
bmZpZ3VyYWJsZTogdHJ1ZSwKKyAgdmFsdWU6ICJfX2xvb2t1cEdldHRlcl9fIgorfSk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9f
X2xvb2t1cEdldHRlcl9fL3Byb3AtZGVzYy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwR2V0dGVyX18vcHJvcC1kZXNjLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmZlOTI1ZTg2OGUyZmM0ODJkNzljNGU5ZTRkZThjODU2NmJiNDk2OTkKLS0tIC9kZXYv
bnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlw
ZS9fX2xvb2t1cEdldHRlcl9fL3Byb3AtZGVzYy5qcwpAQCAtMCwwICsxLDE4IEBACisvLyBDb3B5
cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVz
LW9mLXRoZS1vYmplY3QucHJvdG90eXBlLW9iamVjdAorZGVzY3JpcHRpb246IFByb3BlcnR5IGRl
c2NyaXB0b3IgZm9yIE9iamVjdC5wcm90b3R5cGUuX19sb29rdXBHZXR0ZXJfXworaW5mbzogfAor
ICAgIEV2ZXJ5IG90aGVyIGRhdGEgcHJvcGVydHkgZGVzY3JpYmVkIGluIGNsYXVzZXMgMTggdGhy
b3VnaCAyNiBhbmQgaW4gQW5uZXgKKyAgICBCLjIgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgW1tXcml0
YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTogZmFsc2UsCisgICAgW1tDb25maWd1cmFibGVd
XTogdHJ1ZSB9IHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLgoraW5jbHVkZXM6IFtwcm9wZXJ0
eUhlbHBlci5qc10KK2ZlYXR1cmVzOiBbX19nZXR0ZXJfX10KKy0tLSovCisKK3ZlcmlmeVByb3Bl
cnR5KE9iamVjdC5wcm90b3R5cGUsICJfX2xvb2t1cEdldHRlcl9fIiwgeworICBlbnVtZXJhYmxl
OiBmYWxzZSwKKyAgd3JpdGFibGU6IHRydWUsCisgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKK30pOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5
cGUvX19sb29rdXBHZXR0ZXJfXy90aGlzLW5vbi1vYmouanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cEdldHRlcl9fL3RoaXMtbm9uLW9i
ai5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mYWRkMTNhOTBkNzQyYzA1MTQyNDZjY2FkNDEwOTMzNWM4NmZkNzZk
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9wcm90b3R5cGUvX19sb29rdXBHZXR0ZXJfXy90aGlzLW5vbi1vYmouanMKQEAgLTAsMCArMSwy
OSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLWFkZGl0aW9u
YWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKK2Rlc2NyaXB0aW9u
OiBCZWhhdmlvciB3aGVuICJ0aGlzIiB2YWx1ZSBpcyBub3QgT2JqZWN0LWNvZXJjaWJsZQoraW5m
bzogfAorICAgIDEuIExldCBPIGJlID8gVG9PYmplY3QodGhpcyB2YWx1ZSkuCitmZWF0dXJlczog
W19fZ2V0dGVyX19dCistLS0qLworCit2YXIgX19sb29rdXBHZXR0ZXJfXyA9IE9iamVjdC5wcm90
b3R5cGUuX19sb29rdXBHZXR0ZXJfXzsKK3ZhciB0b1N0cmluZ0NvdW50ID0gMDsKK3ZhciBrZXkg
PSB7CisgIHRvU3RyaW5nOiBmdW5jdGlvbigpIHsKKyAgICB0b1N0cmluZ0NvdW50ICs9IDE7Cisg
IH0KK307CisKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIF9fbG9va3VwR2V0dGVyX18sICdmdW5j
dGlvbicpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIF9fbG9v
a3VwR2V0dGVyX18uY2FsbCh1bmRlZmluZWQsIGtleSk7Cit9LCAndW5kZWZpbmVkJyk7CisKK2Fz
c2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgX19sb29rdXBHZXR0ZXJfXy5j
YWxsKG51bGwsIGtleSk7Cit9LCAnbnVsbCcpOworCithc3NlcnQuc2FtZVZhbHVlKHRvU3RyaW5n
Q291bnQsIDApOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9rZXktaW52YWxpZC5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18v
a2V5LWludmFsaWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTI2NmZiN2FiNDkwM2U5ZDI3NGY1YmJkOTg3OWQ5
ODZhMmNiZTQxYgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18va2V5LWludmFsaWQuanMKQEAg
LTAsMCArMSwyMSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2Vj
LWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKK2Rl
c2NyaXB0aW9uOiBCZWhhdmlvciB3aGVuIHByb3BlcnR5IGtleSBjYW5ub3QgYmUgZGVyaXZlZAor
aW5mbzogfAorICAgIFsuLi5dCisgICAgMi4gTGV0IGtleSBiZSA/IFRvUHJvcGVydHlLZXkoUCku
CitmZWF0dXJlczogW19fc2V0dGVyX19dCistLS0qLworCit2YXIgc3ViamVjdCA9IHt9OwordmFy
IGtleSA9IHsKKyAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgeworICAgIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoKTsKKyAgfQorfTsKKworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9u
KCkgeworICBzdWJqZWN0Ll9fbG9va3VwU2V0dGVyX18oa2V5KTsKK30pOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBT
ZXR0ZXJfXy9sZW5ndGguanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0
L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2xlbmd0aC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMmVhYWE4
Y2I4NTBkYWFiMDNhYjFkZjkwN2I1YWY2YzViMTM2YTZjCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0
ZXJfXy9sZW5ndGguanMKQEAgLTAsMCArMSwyNyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRo
ZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
CisvKi0tLQorZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnBy
b3RvdHlwZS1vYmplY3QKK2Rlc2NyaXB0aW9uOiBPYmplY3QucHJvdG90eXBlLl9fbG9va3VwU2V0
dGVyX18gYGxlbmd0aGAgcHJvcGVydHkKK2luZm86IHwKKyAgICBFUzYgU2VjdGlvbiAxNzoKKyAg
ICBFdmVyeSBidWlsdC1pbiBGdW5jdGlvbiBvYmplY3QsIGluY2x1ZGluZyBjb25zdHJ1Y3RvcnMs
IGhhcyBhIGxlbmd0aAorICAgIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIGFuIGludGVnZXIuIFVu
bGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLCB0aGlzIHZhbHVlCisgICAgaXMgZXF1YWwgdG8gdGhl
IGxhcmdlc3QgbnVtYmVyIG9mIG5hbWVkIGFyZ3VtZW50cyBzaG93biBpbiB0aGUgc3ViY2xhdXNl
CisgICAgaGVhZGluZ3MgZm9yIHRoZSBmdW5jdGlvbiBkZXNjcmlwdGlvbiwgaW5jbHVkaW5nIG9w
dGlvbmFsIHBhcmFtZXRlcnMuCisKKyAgICBbLi4uXQorCisgICAgVW5sZXNzIG90aGVyd2lzZSBz
cGVjaWZpZWQsIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgYSBidWlsdC1pbiBGdW5jdGlvbgorICAg
IG9iamVjdCBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1l
cmFibGVdXTogZmFsc2UsCisgICAgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB9LgoraW5jbHVkZXM6
IFtwcm9wZXJ0eUhlbHBlci5qc10KK2ZlYXR1cmVzOiBbX19zZXR0ZXJfX10KKy0tLSovCisKK3Zl
cmlmeVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUuX19sb29rdXBTZXR0ZXJfXywgImxlbmd0aCIs
IHsKKyAgZW51bWVyYWJsZTogZmFsc2UsCisgIHdyaXRhYmxlOiBmYWxzZSwKKyAgY29uZmlndXJh
YmxlOiB0cnVlLAorICB2YWx1ZTogMQorfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2xvb2t1cC1u
b3QtZm91bmQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3Rv
dHlwZS9fX2xvb2t1cFNldHRlcl9fL2xvb2t1cC1ub3QtZm91bmQuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU2
N2I0Mjk4MTRhNGZiNDRlMzM2N2RkMTg4ZDBhNDJiZDU5MmMyMAotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3Vw
U2V0dGVyX18vbG9va3VwLW5vdC1mb3VuZC5qcwpAQCAtMCwwICsxLDIyIEBACisvLyBDb3B5cmln
aHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVzLW9m
LXRoZS1vYmplY3QucHJvdG90eXBlLW9iamVjdAorZGVzY3JpcHRpb246IEJlaGF2aW9yIHdoZW4g
cHJvcGVydHkgZG9lcyBub3QgZXhpc3QgaW4gcHJvdG90eXBlIGNoYWluCitpbmZvOiB8CisgICAg
Wy4uLl0KKyAgICA0LiBSZXBlYXQKKyAgICAgICBhLiBMZXQgZGVzYyBiZSA/IE8uW1tHZXRPd25Q
cm9wZXJ0eV1dKGtleSkuCisgICAgICAgYi4gSWYgZGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVu
CisgICAgICAgICAgaS4gSWYgSXNBY2Nlc3NvckRlc2NyaXB0b3IoZGVzYykgaXMgdHJ1ZSwgcmV0
dXJuIGRlc2MuW1tHZXRdXS4KKyAgICAgICAgICBpaS4gUmV0dXJuIHVuZGVmaW5lZC4KKyAgICAg
ICBjLiBMZXQgTyBiZSA/IE8uW1tHZXRQcm90b3R5cGVPZl1dKCkuCisgICAgICAgZC4gSWYgTyBp
cyBudWxsLCByZXR1cm4gdW5kZWZpbmVkLgorZmVhdHVyZXM6IFtfX3NldHRlcl9fXQorLS0tKi8K
KwordmFyIHJvb3QgPSB7fTsKK3ZhciBpbnRlcm1lZGlhcnkgPSBPYmplY3QuY3JlYXRlKHJvb3Qp
OwordmFyIHN1YmplY3QgPSBPYmplY3QuY3JlYXRlKGludGVybWVkaWFyeSk7CisKK2Fzc2VydC5z
YW1lVmFsdWUoc3ViamVjdC5fX2xvb2t1cFNldHRlcl9fKCd0YXJnZXQnKSwgdW5kZWZpbmVkKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90
eXBlL19fbG9va3VwU2V0dGVyX18vbG9va3VwLW93bi1hY3NyLXctc2V0dGVyLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0ZXJf
Xy9sb29rdXAtb3duLWFjc3Itdy1zZXR0ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjM3ZWI4ZmQ0ZGNlYjZj
OGZlMmU4MjkyODk3ZTc5ZWQzYzc3ZTBiMQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vbG9v
a3VwLW93bi1hY3NyLXctc2V0dGVyLmpzCkBAIC0wLDAgKzEsMjQgQEAKKy8vIENvcHlyaWdodCAo
QykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1hZGRpdGlvbmFsLXByb3BlcnRpZXMtb2YtdGhl
LW9iamVjdC5wcm90b3R5cGUtb2JqZWN0CitkZXNjcmlwdGlvbjogPgorICAgIEJlaGF2aW9yIHdo
ZW4gInRoaXMiIHZhbHVlIGRlZmluZXMgYSBsaWtlLW5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IHdp
dGggYQorICAgIGBzZXRgIG1ldGhvZAoraW5mbzogfAorICAgIFsuLi5dCisgICAgNC4gUmVwZWF0
CisgICAgICAgYS4gTGV0IGRlc2MgYmUgPyBPLltbR2V0T3duUHJvcGVydHldXShrZXkpLgorICAg
ICAgIGIuIElmIGRlc2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgICAgIGkuIElmIElz
QWNjZXNzb3JEZXNjcmlwdG9yKGRlc2MpIGlzIHRydWUsIHJldHVybiBkZXNjLltbU2V0XV0uCisg
ICAgICAgICAgaWkuIFJldHVybiB1bmRlZmluZWQuCisgICAgICAgYy4gTGV0IE8gYmUgPyBPLltb
R2V0UHJvdG90eXBlT2ZdXSgpLgorICAgICAgIGQuIElmIE8gaXMgbnVsbCwgcmV0dXJuIHVuZGVm
aW5lZC4KK2ZlYXR1cmVzOiBbX19zZXR0ZXJfX10KKy0tLSovCisKK3ZhciByb290ID0gT2JqZWN0
LmRlZmluZVByb3BlcnR5KHt9LCAndGFyZ2V0JywgeyBzZXQ6IGZ1bmN0aW9uKCkge30gfSk7Cit2
YXIgZGVzYyA9IHsgc2V0OiBmdW5jdGlvbigpIHt9IH07Cit2YXIgc3ViamVjdCA9IE9iamVjdC5j
cmVhdGUocm9vdCwgeyB0YXJnZXQ6IGRlc2MgfSk7CisKK2Fzc2VydC5zYW1lVmFsdWUoc3ViamVj
dC5fX2xvb2t1cFNldHRlcl9fKCd0YXJnZXQnKSwgZGVzYy5zZXQpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0
ZXJfXy9sb29rdXAtb3duLWFjc3Itd28tc2V0dGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9sb29rdXAtb3duLWFj
c3Itd28tc2V0dGVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmMjcwMDdlMDQzOGJiN2UxYjM5MTRmNmE2MWFj
Yzg1MzlhY2M5MDgKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2xvb2t1cC1vd24tYWNzci13
by1zZXR0ZXIuanMKQEAgLTAsMCArMSwyNCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBW
OCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMg
Z292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisv
Ki0tLQorZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1vZi10aGUtb2JqZWN0LnByb3Rv
dHlwZS1vYmplY3QKK2Rlc2NyaXB0aW9uOiA+CisgICAgQmVoYXZpb3Igd2hlbiAidGhpcyIgdmFs
dWUgZGVmaW5lcyBhIGxpa2UtbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhCisgICAg
YHNldGAgbWV0aG9kCitpbmZvOiB8CisgICAgWy4uLl0KKyAgICA0LiBSZXBlYXQKKyAgICAgICBh
LiBMZXQgZGVzYyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1dKGtleSkuCisgICAgICAgYi4gSWYg
ZGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICAgICAgaS4gSWYgSXNBY2Nlc3NvckRl
c2NyaXB0b3IoZGVzYykgaXMgdHJ1ZSwgcmV0dXJuIGRlc2MuW1tTZXRdXS4KKyAgICAgICAgICBp
aS4gUmV0dXJuIHVuZGVmaW5lZC4KKyAgICAgICBjLiBMZXQgTyBiZSA/IE8uW1tHZXRQcm90b3R5
cGVPZl1dKCkuCisgICAgICAgZC4gSWYgTyBpcyBudWxsLCByZXR1cm4gdW5kZWZpbmVkLgorZmVh
dHVyZXM6IFtfX3NldHRlcl9fXQorLS0tKi8KKwordmFyIHJvb3QgPSBPYmplY3QuZGVmaW5lUHJv
cGVydHkoe30sICd0YXJnZXQnLCB7IHNldDogZnVuY3Rpb24oKSB7fSB9KTsKK3ZhciBkZXNjID0g
eyBnZXQ6IGZ1bmN0aW9uKCkge30gfTsKK3ZhciBzdWJqZWN0ID0gT2JqZWN0LmNyZWF0ZShyb290
LCB7IHRhcmdldDogZGVzYyB9KTsKKworYXNzZXJ0LnNhbWVWYWx1ZShzdWJqZWN0Ll9fbG9va3Vw
U2V0dGVyX18oJ3RhcmdldCcpLCB1bmRlZmluZWQpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9sb29r
dXAtb3duLWRhdGEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2xvb2t1cC1vd24tZGF0YS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
YTBlMTExNTFlNzBmZmIzZGY4OWU3NjYxZDE3ZDhiMjMzYTM5ODQ2Ci0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29r
dXBTZXR0ZXJfXy9sb29rdXAtb3duLWRhdGEuanMKQEAgLTAsMCArMSwyMiBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLWFkZGl0aW9uYWwtcHJvcGVydGllcy1v
Zi10aGUtb2JqZWN0LnByb3RvdHlwZS1vYmplY3QKK2Rlc2NyaXB0aW9uOiBCZWhhdmlvciB3aGVu
ICJ0aGlzIiB2YWx1ZSBkZWZpbmVzIGEgbGlrZS1uYW1lZCBkYXRhIHByb3BlcnR5CitpbmZvOiB8
CisgICAgWy4uLl0KKyAgICA0LiBSZXBlYXQKKyAgICAgICBhLiBMZXQgZGVzYyBiZSA/IE8uW1tH
ZXRPd25Qcm9wZXJ0eV1dKGtleSkuCisgICAgICAgYi4gSWYgZGVzYyBpcyBub3QgdW5kZWZpbmVk
LCB0aGVuCisgICAgICAgICAgaS4gSWYgSXNBY2Nlc3NvckRlc2NyaXB0b3IoZGVzYykgaXMgdHJ1
ZSwgcmV0dXJuIGRlc2MuW1tHZXRdXS4KKyAgICAgICAgICBpaS4gUmV0dXJuIHVuZGVmaW5lZC4K
KyAgICAgICBjLiBMZXQgTyBiZSA/IE8uW1tHZXRQcm90b3R5cGVPZl1dKCkuCisgICAgICAgZC4g
SWYgTyBpcyBudWxsLCByZXR1cm4gdW5kZWZpbmVkLgorZmVhdHVyZXM6IFtfX3NldHRlcl9fXQor
LS0tKi8KKwordmFyIHJvb3QgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICd0YXJnZXQnLCB7
IHNldDogZnVuY3Rpb24oKSB7fSB9KTsKK3ZhciBkZXNjID0geyB2YWx1ZTogbnVsbCB9OwordmFy
IHN1YmplY3QgPSBPYmplY3QuY3JlYXRlKHJvb3QsIHsgdGFyZ2V0OiBkZXNjIH0pOworCithc3Nl
cnQuc2FtZVZhbHVlKHN1YmplY3QuX19sb29rdXBTZXR0ZXJfXygndGFyZ2V0JyksIHVuZGVmaW5l
ZCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2xvb2t1cC1vd24tZ2V0LWVyci5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18v
bG9va3VwLW93bi1nZXQtZXJyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlMjg2Yzc4ZTU3ZWMyNWNmNGUzODBh
ZjUyMGFkMTA0ZmFhNmZmNzAKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2xvb2t1cC1vd24t
Z2V0LWVyci5qcwpAQCAtMCwwICsxLDI2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4
IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8q
LS0tCitlc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3QucHJvdG90
eXBlLW9iamVjdAorZGVzY3JpcHRpb246ID4KKyAgICBCZWhhdmlvciB3aGVuIFtbR2V0T3duUHJv
cGVydHldXSBvZiAidGhpcyIgdmFsdWUgcmV0dXJucyBhbiBhYnJ1cHQKKyAgICBjb21wbGV0aW9u
CitpbmZvOiB8CisgICAgWy4uLl0KKyAgICA0LiBSZXBlYXQKKyAgICAgICBhLiBMZXQgZGVzYyBi
ZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1dKGtleSkuCisgICAgICAgYi4gSWYgZGVzYyBpcyBub3Qg
dW5kZWZpbmVkLCB0aGVuCisgICAgICAgICAgaS4gSWYgSXNBY2Nlc3NvckRlc2NyaXB0b3IoZGVz
YykgaXMgdHJ1ZSwgcmV0dXJuIGRlc2MuW1tTZXRdXS4KKyAgICAgICAgICBpaS4gUmV0dXJuIHVu
ZGVmaW5lZC4KKyAgICAgICBjLiBMZXQgTyBiZSA/IE8uW1tHZXRQcm90b3R5cGVPZl1dKCkuCisg
ICAgICAgZC4gSWYgTyBpcyBudWxsLCByZXR1cm4gdW5kZWZpbmVkLgorZmVhdHVyZXM6IFtQcm94
eSwgX19zZXR0ZXJfX10KKy0tLSovCisKK3ZhciByb290ID0gT2JqZWN0LmRlZmluZVByb3BlcnR5
KHt9LCAndGFyZ2V0JywgeyBzZXQ6IGZ1bmN0aW9uKCkge30gfSk7Cit2YXIgdGhyb3dlciA9IGZ1
bmN0aW9uKCkgeyB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7IH07Cit2YXIgc3ViamVjdCA9IG5l
dyBQcm94eShyb290LCB7IGdldE93blByb3BlcnR5RGVzY3JpcHRvcjogdGhyb3dlciB9KTsKKwor
YXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9uKCkgeworICBzdWJqZWN0Ll9fbG9v
a3VwU2V0dGVyX18oJ3RhcmdldCcpOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2xvb2t1cC1v
d24tcHJvdG8tZXJyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9w
cm90b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9sb29rdXAtb3duLXByb3RvLWVyci5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40NDQ5MzkwMmEyNTdiYzQzMjUyMjNiM2NmMGQwNGM2YzlhOThiZGNmCi0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUv
X19sb29rdXBTZXR0ZXJfXy9sb29rdXAtb3duLXByb3RvLWVyci5qcwpAQCAtMCwwICsxLDI2IEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtYWRkaXRpb25hbC1w
cm9wZXJ0aWVzLW9mLXRoZS1vYmplY3QucHJvdG90eXBlLW9iamVjdAorZGVzY3JpcHRpb246ID4K
KyAgICBCZWhhdmlvciB3aGVuIFtbR2V0UHJvdG90eXBlT2ZdXSBvZiAidGhpcyIgdmFsdWUgcmV0
dXJucyBhbiBhYnJ1cHQKKyAgICBjb21wbGV0aW9uCitpbmZvOiB8CisgICAgWy4uLl0KKyAgICA0
LiBSZXBlYXQKKyAgICAgICBhLiBMZXQgZGVzYyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1dKGtl
eSkuCisgICAgICAgYi4gSWYgZGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICAgICAg
aS4gSWYgSXNBY2Nlc3NvckRlc2NyaXB0b3IoZGVzYykgaXMgdHJ1ZSwgcmV0dXJuIGRlc2MuW1tH
ZXRdXS4KKyAgICAgICAgICBpaS4gUmV0dXJuIHVuZGVmaW5lZC4KKyAgICAgICBjLiBMZXQgTyBi
ZSA/IE8uW1tHZXRQcm90b3R5cGVPZl1dKCkuCisgICAgICAgZC4gSWYgTyBpcyBudWxsLCByZXR1
cm4gdW5kZWZpbmVkLgorZmVhdHVyZXM6IFtQcm94eSwgX19zZXR0ZXJfX10KKy0tLSovCisKK3Zh
ciByb290ID0gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAndGFyZ2V0JywgeyBzZXQ6IGZ1bmN0
aW9uKCkge30gfSk7Cit2YXIgdGhyb3dlciA9IGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCk7IH07Cit2YXIgc3ViamVjdCA9IG5ldyBQcm94eShPYmplY3QuY3JlYXRlKHJvb3Qp
LCB7IGdldFByb3RvdHlwZU9mOiB0aHJvd2VyIH0pOworCithc3NlcnQudGhyb3dzKFRlc3QyNjJF
cnJvciwgZnVuY3Rpb24oKSB7CisgIHN1YmplY3QuX19sb29rdXBTZXR0ZXJfXygndGFyZ2V0Jyk7
Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
cHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vbG9va3VwLXByb3RvLWFjc3Itdy1zZXR0ZXIuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1
cFNldHRlcl9fL2xvb2t1cC1wcm90by1hY3NyLXctc2V0dGVyLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE3MmNj
ZTFkMmZiMmYyMmIwMDA1Zjg0NDczMTA5ZGQ3OTMzZWI2NDYKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNl
dHRlcl9fL2xvb2t1cC1wcm90by1hY3NyLXctc2V0dGVyLmpzCkBAIC0wLDAgKzEsMjUgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1hZGRpdGlvbmFsLXByb3Bl
cnRpZXMtb2YtdGhlLW9iamVjdC5wcm90b3R5cGUtb2JqZWN0CitkZXNjcmlwdGlvbjogPgorICAg
IEJlaGF2aW9yIHdoZW4gcHJvdG90eXBlIGRlZmluZXMgYSBsaWtlLW5hbWVkIGFjY2Vzc29yIHBy
b3BlcnR5IHdpdGggYSBgZ2V0YAorICAgIG1ldGhvZAoraW5mbzogfAorICAgIFsuLi5dCisgICAg
NC4gUmVwZWF0CisgICAgICAgYS4gTGV0IGRlc2MgYmUgPyBPLltbR2V0T3duUHJvcGVydHldXShr
ZXkpLgorICAgICAgIGIuIElmIGRlc2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgICAg
IGkuIElmIElzQWNjZXNzb3JEZXNjcmlwdG9yKGRlc2MpIGlzIHRydWUsIHJldHVybiBkZXNjLltb
U2V0XV0uCisgICAgICAgICAgaWkuIFJldHVybiB1bmRlZmluZWQuCisgICAgICAgYy4gTGV0IE8g
YmUgPyBPLltbR2V0UHJvdG90eXBlT2ZdXSgpLgorICAgICAgIGQuIElmIE8gaXMgbnVsbCwgcmV0
dXJuIHVuZGVmaW5lZC4KK2ZlYXR1cmVzOiBbX19zZXR0ZXJfX10KKy0tLSovCisKK3ZhciByb290
ID0gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAndGFyZ2V0JywgeyBzZXQ6IGZ1bmN0aW9uKCkg
e30gfSk7Cit2YXIgZGVzYyA9IHsgc2V0OiBmdW5jdGlvbigpIHt9IH07Cit2YXIgaW50ZXJtZWRp
YXJ5ID0gT2JqZWN0LmNyZWF0ZShyb290LCB7IHRhcmdldDogZGVzYyB9KTsKK3ZhciBzdWJqZWN0
ID0gT2JqZWN0LmNyZWF0ZShpbnRlcm1lZGlhcnkpOworCithc3NlcnQuc2FtZVZhbHVlKHN1Ympl
Y3QuX19sb29rdXBTZXR0ZXJfXygndGFyZ2V0JyksIGRlc2Muc2V0KTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0
dGVyX18vbG9va3VwLXByb3RvLWFjc3Itd28tc2V0dGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9sb29rdXAtcHJv
dG8tYWNzci13by1zZXR0ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTFhZDgwZjU5ZjZjYTE2Y2EyOTU2ZThm
YzYwODgxYzczY2Y5ZTM5YwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vbG9va3VwLXByb3Rv
LWFjc3Itd28tc2V0dGVyLmpzCkBAIC0wLDAgKzEsMjUgQEAKKy8vIENvcHlyaWdodCAoQykgMjAx
NiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorLyotLS0KK2VzaWQ6IHNlYy1hZGRpdGlvbmFsLXByb3BlcnRpZXMtb2YtdGhlLW9iamVj
dC5wcm90b3R5cGUtb2JqZWN0CitkZXNjcmlwdGlvbjogPgorICAgIEJlaGF2aW9yIHdoZW4gcHJv
dG90eXBlIGRlZmluZXMgYSBsaWtlLW5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYQor
ICAgIGBnZXRgIG1ldGhvZAoraW5mbzogfAorICAgIFsuLi5dCisgICAgNC4gUmVwZWF0CisgICAg
ICAgYS4gTGV0IGRlc2MgYmUgPyBPLltbR2V0T3duUHJvcGVydHldXShrZXkpLgorICAgICAgIGIu
IElmIGRlc2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgICAgIGkuIElmIElzQWNjZXNz
b3JEZXNjcmlwdG9yKGRlc2MpIGlzIHRydWUsIHJldHVybiBkZXNjLltbU2V0XV0uCisgICAgICAg
ICAgaWkuIFJldHVybiB1bmRlZmluZWQuCisgICAgICAgYy4gTGV0IE8gYmUgPyBPLltbR2V0UHJv
dG90eXBlT2ZdXSgpLgorICAgICAgIGQuIElmIE8gaXMgbnVsbCwgcmV0dXJuIHVuZGVmaW5lZC4K
K2ZlYXR1cmVzOiBbX19zZXR0ZXJfX10KKy0tLSovCisKK3ZhciByb290ID0gT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KHt9LCAndGFyZ2V0JywgeyBzZXQ6IGZ1bmN0aW9uKCkge30gfSk7Cit2YXIgZGVz
YyA9IHsgZ2V0OiBmdW5jdGlvbigpIHt9IH07Cit2YXIgaW50ZXJtZWRpYXJ5ID0gT2JqZWN0LmNy
ZWF0ZShyb290LCB7IHRhcmdldDogZGVzYyB9KTsKK3ZhciBzdWJqZWN0ID0gT2JqZWN0LmNyZWF0
ZShpbnRlcm1lZGlhcnkpOworCithc3NlcnQuc2FtZVZhbHVlKHN1YmplY3QuX19sb29rdXBTZXR0
ZXJfXygndGFyZ2V0JyksIHVuZGVmaW5lZCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL2xvb2t1cC1w
cm90by1kYXRhLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9sb29rdXAtcHJvdG8tZGF0YS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
YjE1NmVlYmRhMDAxZWMyZTIzMmEwNTJhZWVhMWM2YzAxZTNmNTY5Ci0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29r
dXBTZXR0ZXJfXy9sb29rdXAtcHJvdG8tZGF0YS5qcwpAQCAtMCwwICsxLDIzIEBACisvLyBDb3B5
cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVz
LW9mLXRoZS1vYmplY3QucHJvdG90eXBlLW9iamVjdAorZGVzY3JpcHRpb246IEJlaGF2aW9yIHdo
ZW4gcHJvdG90eXBlIGRlZmluZXMgYSBsaWtlLW5hbWVkIGRhdGEgcHJvcGVydHkKK2luZm86IHwK
KyAgICBbLi4uXQorICAgIDQuIFJlcGVhdAorICAgICAgIGEuIExldCBkZXNjIGJlID8gTy5bW0dl
dE93blByb3BlcnR5XV0oa2V5KS4KKyAgICAgICBiLiBJZiBkZXNjIGlzIG5vdCB1bmRlZmluZWQs
IHRoZW4KKyAgICAgICAgICBpLiBJZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihkZXNjKSBpcyB0cnVl
LCByZXR1cm4gZGVzYy5bW0dldF1dLgorICAgICAgICAgIGlpLiBSZXR1cm4gdW5kZWZpbmVkLgor
ICAgICAgIGMuIExldCBPIGJlID8gTy5bW0dldFByb3RvdHlwZU9mXV0oKS4KKyAgICAgICBkLiBJ
ZiBPIGlzIG51bGwsIHJldHVybiB1bmRlZmluZWQuCitmZWF0dXJlczogW19fc2V0dGVyX19dCist
LS0qLworCit2YXIgcm9vdCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgJ3RhcmdldCcsIHsg
c2V0OiBmdW5jdGlvbigpIHt9IH0pOwordmFyIGRlc2MgPSB7IHZhbHVlOiBudWxsIH07Cit2YXIg
aW50ZXJtZWRpYXJ5ID0gT2JqZWN0LmNyZWF0ZShyb290LCB7IHRhcmdldDogZGVzYyB9KTsKK3Zh
ciBzdWJqZWN0ID0gT2JqZWN0LmNyZWF0ZShpbnRlcm1lZGlhcnkpOworCithc3NlcnQuc2FtZVZh
bHVlKHN1YmplY3QuX19sb29rdXBTZXR0ZXJfXygndGFyZ2V0JyksIHVuZGVmaW5lZCk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9f
X2xvb2t1cFNldHRlcl9fL2xvb2t1cC1wcm90by1nZXQtZXJyLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9sb29rdXAt
cHJvdG8tZ2V0LWVyci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MTUxODY2ZDUwZTJhMjk5NTUyYzE3NzljMGY0
NGEzOTAzY2ViY2QyCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9sb29rdXAtcHJvdG8tZ2V0
LWVyci5qcwpAQCAtMCwwICsxLDI4IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHBy
b2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zl
cm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0t
Citlc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmplY3QucHJvdG90eXBl
LW9iamVjdAorZGVzY3JpcHRpb246ID4KKyAgICBCZWhhdmlvciB3aGVuIFtbR2V0T3duUHJvcGVy
dHldXSBvZiBwcm90b3R5cGUgcmV0dXJucyBhbiBhYnJ1cHQgY29tcGxldGlvbgoraW5mbzogfAor
ICAgIFsuLi5dCisgICAgNC4gUmVwZWF0CisgICAgICAgYS4gTGV0IGRlc2MgYmUgPyBPLltbR2V0
T3duUHJvcGVydHldXShrZXkpLgorICAgICAgIGIuIElmIGRlc2MgaXMgbm90IHVuZGVmaW5lZCwg
dGhlbgorICAgICAgICAgIGkuIElmIElzQWNjZXNzb3JEZXNjcmlwdG9yKGRlc2MpIGlzIHRydWUs
IHJldHVybiBkZXNjLltbU2V0XV0uCisgICAgICAgICAgaWkuIFJldHVybiB1bmRlZmluZWQuCisg
ICAgICAgYy4gTGV0IE8gYmUgPyBPLltbR2V0UHJvdG90eXBlT2ZdXSgpLgorICAgICAgIGQuIElm
IE8gaXMgbnVsbCwgcmV0dXJuIHVuZGVmaW5lZC4KK2ZlYXR1cmVzOiBbUHJveHksIF9fc2V0dGVy
X19dCistLS0qLworCit2YXIgcm9vdCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgJ3Rhcmdl
dCcsIHsgc2V0OiBmdW5jdGlvbigpIHt9IH0pOwordmFyIHRocm93ZXIgPSBmdW5jdGlvbigpIHsg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOyB9OwordmFyIGludGVybWVkaWFyeSA9IG5ldyBQcm94
eSgKKyAgT2JqZWN0LmNyZWF0ZShyb290KSwgeyBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6IHRo
cm93ZXIgfQorKTsKK3ZhciBzdWJqZWN0ID0gT2JqZWN0LmNyZWF0ZShpbnRlcm1lZGlhcnkpOwor
Cithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7CisgIHN1YmplY3QuX19s
b29rdXBTZXR0ZXJfXygndGFyZ2V0Jyk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vbG9va3Vw
LXByb3RvLXByb3RvLWVyci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vbG9va3VwLXByb3RvLXByb3RvLWVyci5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zMmQwMDMyNjRlYTNjNDA1NGQ3NjNjNzE3OTdmNTBlOGNkMTA2Y2EwCi0tLSAv
ZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvX19sb29rdXBTZXR0ZXJfXy9sb29rdXAtcHJvdG8tcHJvdG8tZXJyLmpzCkBAIC0wLDAg
KzEsMjYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1hZGRp
dGlvbmFsLXByb3BlcnRpZXMtb2YtdGhlLW9iamVjdC5wcm90b3R5cGUtb2JqZWN0CitkZXNjcmlw
dGlvbjogPgorICAgIEJlaGF2aW9yIHdoZW4gW1tHZXRQcm90b3R5cGVPZl1dIG9mIHByb3RvdHlw
ZSByZXR1cm5zIGFuIGFicnVwdCBjb21wbGV0aW9uCitpbmZvOiB8CisgICAgWy4uLl0KKyAgICA0
LiBSZXBlYXQKKyAgICAgICBhLiBMZXQgZGVzYyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1dKGtl
eSkuCisgICAgICAgYi4gSWYgZGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICAgICAg
aS4gSWYgSXNBY2Nlc3NvckRlc2NyaXB0b3IoZGVzYykgaXMgdHJ1ZSwgcmV0dXJuIGRlc2MuW1tT
ZXRdXS4KKyAgICAgICAgICBpaS4gUmV0dXJuIHVuZGVmaW5lZC4KKyAgICAgICBjLiBMZXQgTyBi
ZSA/IE8uW1tHZXRQcm90b3R5cGVPZl1dKCkuCisgICAgICAgZC4gSWYgTyBpcyBudWxsLCByZXR1
cm4gdW5kZWZpbmVkLgorZmVhdHVyZXM6IFtQcm94eSwgX19zZXR0ZXJfX10KKy0tLSovCisKK3Zh
ciByb290ID0gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAndGFyZ2V0JywgeyBzZXQ6IGZ1bmN0
aW9uKCkge30gfSk7Cit2YXIgdGhyb3dlciA9IGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCk7IH07Cit2YXIgaW50ZXJtZWRpYXJ5ID0gbmV3IFByb3h5KE9iamVjdC5jcmVhdGUo
cm9vdCksIHsgZ2V0UHJvdG90eXBlT2Y6IHRocm93ZXIgfSk7Cit2YXIgc3ViamVjdCA9IE9iamVj
dC5jcmVhdGUoaW50ZXJtZWRpYXJ5KTsKKworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1
bmN0aW9uKCkgeworICBzdWJqZWN0Ll9fbG9va3VwU2V0dGVyX18oJ3RhcmdldCcpOworfSk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlw
ZS9fX2xvb2t1cFNldHRlcl9fL25hbWUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL25hbWUuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NmE2OTJhYjU2NzFkZmNmYmNlMDk4OWFmMzkzNTI5NWQ3MzZmYjllMQotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9v
a3VwU2V0dGVyX18vbmFtZS5qcwpAQCAtMCwwICsxLDI4IEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmpl
Y3QucHJvdG90eXBlLW9iamVjdAorZGVzY3JpcHRpb246IE9iamVjdC5wcm90b3R5cGUuX19sb29r
dXBTZXR0ZXJfXyBgbmFtZWAgcHJvcGVydHkKK2luZm86IHwKKyAgICBFUzYgU2VjdGlvbiAxNzoK
KworICAgIEV2ZXJ5IGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVjdCwgaW5jbHVkaW5nIGNvbnN0cnVj
dG9ycywgdGhhdCBpcyBub3QKKyAgICBpZGVudGlmaWVkIGFzIGFuIGFub255bW91cyBmdW5jdGlv
biBoYXMgYSBuYW1lIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIGEKKyAgICBTdHJpbmcuIFVubGVz
cyBvdGhlcndpc2Ugc3BlY2lmaWVkLCB0aGlzIHZhbHVlIGlzIHRoZSBuYW1lIHRoYXQgaXMgZ2l2
ZW4gdG8KKyAgICB0aGUgZnVuY3Rpb24gaW4gdGhpcyBzcGVjaWZpY2F0aW9uLgorCisgICAgWy4u
Ll0KKworICAgIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLCB0aGUgbmFtZSBwcm9wZXJ0eSBv
ZiBhIGJ1aWx0LWluIEZ1bmN0aW9uCisgICAgb2JqZWN0LCBpZiBpdCBleGlzdHMsIGhhcyB0aGUg
YXR0cmlidXRlcyB7IFtbV3JpdGFibGVdXTogZmFsc2UsCisgICAgW1tFbnVtZXJhYmxlXV06IGZh
bHNlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0uCitpbmNsdWRlczogW3Byb3BlcnR5SGVscGVy
LmpzXQorZmVhdHVyZXM6IFtfX3NldHRlcl9fXQorLS0tKi8KKwordmVyaWZ5UHJvcGVydHkoT2Jq
ZWN0LnByb3RvdHlwZS5fX2xvb2t1cFNldHRlcl9fLCAibmFtZSIsIHsKKyAgZW51bWVyYWJsZTog
ZmFsc2UsCisgIHdyaXRhYmxlOiBmYWxzZSwKKyAgY29uZmlndXJhYmxlOiB0cnVlLAorICB2YWx1
ZTogIl9fbG9va3VwU2V0dGVyX18iCit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vcHJvcC1kZXNj
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19s
b29rdXBTZXR0ZXJfXy9wcm9wLWRlc2MuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTNjOWQ0YTQ4ZGE4YTk4Y2Zk
NjlhODhjNjA2NGNjNjk0MWRjMjExOQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fbG9va3VwU2V0dGVyX18vcHJvcC1k
ZXNjLmpzCkBAIC0wLDAgKzEsMTggQEAKKy8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJv
amVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0K
K2VzaWQ6IHNlYy1hZGRpdGlvbmFsLXByb3BlcnRpZXMtb2YtdGhlLW9iamVjdC5wcm90b3R5cGUt
b2JqZWN0CitkZXNjcmlwdGlvbjogUHJvcGVydHkgZGVzY3JpcHRvciBmb3IgT2JqZWN0LnByb3Rv
dHlwZS5fX2xvb2t1cFNldHRlcl9fCitpbmZvOiB8CisgICAgRXZlcnkgb3RoZXIgZGF0YSBwcm9w
ZXJ0eSBkZXNjcmliZWQgaW4gY2xhdXNlcyAxOCB0aHJvdWdoIDI2IGFuZCBpbiBBbm5leAorICAg
IEIuMiBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJs
ZV1dOiBmYWxzZSwKKyAgICBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0gdW5sZXNzIG90aGVyd2lz
ZSBzcGVjaWZpZWQuCitpbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQorZmVhdHVyZXM6IFtf
X3NldHRlcl9fXQorLS0tKi8KKwordmVyaWZ5UHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIl9f
bG9va3VwU2V0dGVyX18iLCB7CisgIGVudW1lcmFibGU6IGZhbHNlLAorICB3cml0YWJsZTogdHJ1
ZSwKKyAgY29uZmlndXJhYmxlOiB0cnVlLAorfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRlcl9fL3RoaXMt
bm9uLW9iai5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90
eXBlL19fbG9va3VwU2V0dGVyX18vdGhpcy1ub24tb2JqLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmNTA5ZDE0
NGYwY2FjOTkzMjNjZTkwNTM1YzhhMTAyYjNjNTAyNWUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX2xvb2t1cFNldHRl
cl9fL3RoaXMtbm9uLW9iai5qcwpAQCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9wZXJ0aWVzLW9mLXRoZS1vYmpl
Y3QucHJvdG90eXBlLW9iamVjdAorZGVzY3JpcHRpb246IEJlaGF2aW9yIHdoZW4gInRoaXMiIHZh
bHVlIGlzIG5vdCBPYmplY3QtY29lcmNpYmxlCitpbmZvOiB8CisgICAgMS4gTGV0IE8gYmUgPyBU
b09iamVjdCh0aGlzIHZhbHVlKS4KK2ZlYXR1cmVzOiBbX19zZXR0ZXJfX10KKy0tLSovCisKK3Zh
ciBfX2xvb2t1cFNldHRlcl9fID0gT2JqZWN0LnByb3RvdHlwZS5fX2xvb2t1cFNldHRlcl9fOwor
dmFyIHRvU3RyaW5nQ291bnQgPSAwOwordmFyIGtleSA9IHsKKyAgdG9TdHJpbmc6IGZ1bmN0aW9u
KCkgeworICAgIHRvU3RyaW5nQ291bnQgKz0gMTsKKyAgfQorfTsKKworYXNzZXJ0LnNhbWVWYWx1
ZSh0eXBlb2YgX19sb29rdXBTZXR0ZXJfXywgJ2Z1bmN0aW9uJyk7CisKK2Fzc2VydC50aHJvd3Mo
VHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgX19sb29rdXBTZXR0ZXJfXy5jYWxsKHVuZGVmaW5l
ZCwga2V5KTsKK30sICd1bmRlZmluZWQnKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1
bmN0aW9uKCkgeworICBfX2xvb2t1cFNldHRlcl9fLmNhbGwobnVsbCwga2V5KTsKK30sICdudWxs
Jyk7CisKK2Fzc2VydC5zYW1lVmFsdWUodG9TdHJpbmdDb3VudCwgMCk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18v
Z2V0LWFicnVwdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJv
dG90eXBlL19fcHJvdG9fXy9nZXQtYWJydXB0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI2OWQ0MzM3ZDJjZWFh
OWVlZWMzNzEwYWIwNzBmMGRkZjE0ZDgyNjUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vZ2V0LWFicnVw
dC5qcwpAQCAtMCwwICsxLDIyIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2pl
Y3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitl
c2lkOiBzZWMtb2JqZWN0LnByb3RvdHlwZS5fX3Byb3RvX18KK2VzNmlkOiBCLjIuMi4xCitkZXNj
cmlwdGlvbjogQWJydXB0IGNvbXBsZXRpb24gZnJvbSBbW0dldFByb3RvdHlwZU9mXV0KK2luZm86
IHwKKyAgICAxLiBMZXQgTyBiZSA/IFRvT2JqZWN0KHRoaXMgdmFsdWUpLgorICAgIDIuIFJldHVy
biA/IE8uW1tHZXRQcm90b3R5cGVPZl1dKCkuCitmZWF0dXJlczogW1Byb3h5LCBfX3Byb3RvX19d
CistLS0qLworCit2YXIgZ2V0ID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmpl
Y3QucHJvdG90eXBlLCAnX19wcm90b19fJykuZ2V0OwordmFyIHRocm93ZXIgPSBmdW5jdGlvbigp
IHsKKyAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOworfTsKKwordmFyIHN1YmplY3QgPSBuZXcg
UHJveHkoe30sIHsgZ2V0UHJvdG90eXBlT2Y6IHRocm93ZXIgfSk7CisKK2Fzc2VydC50aHJvd3Mo
VGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsKKyAgZ2V0LmNhbGwoc3ViamVjdCk7Cit9KTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBl
L19fcHJvdG9fXy9nZXQtZm4tbmFtZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3QvcHJvdG90eXBlL19fcHJvdG9fXy9nZXQtZm4tbmFtZS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
OTNmMDY3MThlNGZiZWZiMjFiNmE4ZTM5ZjIxODZjOGIxMTM2YWI1Ci0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90
b19fL2dldC1mbi1uYW1lLmpzCkBAIC0wLDAgKzEsMjQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAx
NSB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorLyotLS0KK2VzNmlkOiBCLjIuMi4xLjEKK2Rlc2NyaXB0aW9uOiA+CisgICAgZ2V0IE9i
amVjdC5wcm90b3R5cGUuX19wcm90b19fCisKKyAgICAxNyBFQ01BU2NyaXB0IFN0YW5kYXJkIEJ1
aWx0LWluIE9iamVjdHMKKworICAgIEZ1bmN0aW9ucyB0aGF0IGFyZSBzcGVjaWZpZWQgYXMgZ2V0
IG9yIHNldCBhY2Nlc3NvciBmdW5jdGlvbnMgb2YgYnVpbHQtaW4KKyAgICBwcm9wZXJ0aWVzIGhh
dmUgImdldCAiIG9yICJzZXQgIiBwcmVwZW5kZWQgdG8gdGhlIHByb3BlcnR5IG5hbWUgc3RyaW5n
LgorCitpbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQorZmVhdHVyZXM6IFtfX3Byb3RvX19d
CistLS0qLworCit2YXIgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoT2JqZWN0LnByb3RvdHlwZSwgIl9fcHJvdG9fXyIpOworCit2ZXJpZnlQcm9wZXJ0eShkZXNj
cmlwdG9yLmdldCwgIm5hbWUiLCB7CisgIGVudW1lcmFibGU6IGZhbHNlLAorICB3cml0YWJsZTog
ZmFsc2UsCisgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKKyAgdmFsdWU6ICJnZXQgX19wcm90b19fIgor
fSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS9fX3Byb3RvX18vZ2V0LW9yZGluYXJ5LW9iai5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fcHJvdG9fXy9nZXQtb3JkaW5hcnktb2Jq
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgzZjcwZDAzZGJjYzAyY2RmZDdjZWMwM2U3ZWJhYWM5YWY4YWFiOTcK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0
L3Byb3RvdHlwZS9fX3Byb3RvX18vZ2V0LW9yZGluYXJ5LW9iai5qcwpAQCAtMCwwICsxLDIwIEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtb2JqZWN0LnByb3Rv
dHlwZS5fX3Byb3RvX18KK2VzNmlkOiBCLjIuMi4xCitkZXNjcmlwdGlvbjogTm9ybWFsIGNvbXBs
ZXRpb24gZnJvbSBvcmRpbmFyeSBvYmplY3QncyBbW0dldFByb3RvdHlwZU9mXV0KK2luZm86IHwK
KyAgICAxLiBMZXQgTyBiZSA/IFRvT2JqZWN0KHRoaXMgdmFsdWUpLgorICAgIDIuIFJldHVybiA/
IE8uW1tHZXRQcm90b3R5cGVPZl1dKCkuCitmZWF0dXJlczogW19fcHJvdG9fX10KKy0tLSovCisK
K3ZhciBnZXQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5
cGUsICdfX3Byb3RvX18nKS5nZXQ7Cit2YXIgcHJvdG8gPSB7fTsKK3ZhciB3aXRoQ3VzdG9tUHJv
dG8gPSBPYmplY3QuY3JlYXRlKHByb3RvKTsKK3ZhciB3aXRoTnVsbFByb3RvID0gT2JqZWN0LmNy
ZWF0ZShudWxsKTsKKworYXNzZXJ0LnNhbWVWYWx1ZShnZXQuY2FsbCh7fSksIE9iamVjdC5wcm90
b3R5cGUsICdPcmRpbmFyeSBvYmplY3QnKTsKK2Fzc2VydC5zYW1lVmFsdWUoZ2V0LmNhbGwod2l0
aEN1c3RvbVByb3RvKSwgcHJvdG8sICdjdXN0b20gcHJvdG90eXBlIG9iamVjdCcpOworYXNzZXJ0
LnNhbWVWYWx1ZShnZXQuY2FsbCh3aXRoTnVsbFByb3RvKSwgbnVsbCwgJ251bGwgcHJvdG90eXBl
Jyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS9fX3Byb3RvX18vZ2V0LXRvLW9iai1hYnJ1cHQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vZ2V0LXRvLW9iai1hYnJ1
cHQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjhkZjc1ZTBkNzg4NDRjZWI3MDFlY2NkNmQzYzVkMTdhYWQ0N2U4
YgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL19fcHJvdG9fXy9nZXQtdG8tb2JqLWFicnVwdC5qcwpAQCAtMCwwICsxLDIy
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtb2JqZWN0LnBy
b3RvdHlwZS5fX3Byb3RvX18KK2VzNmlkOiBCLjIuMi4xCitkZXNjcmlwdGlvbjogQWJydXB0IGNv
bXBsZXRpb24gZnJvbSBUb09iamVjdAoraW5mbzogfAorICAgIDEuIExldCBPIGJlID8gVG9PYmpl
Y3QodGhpcyB2YWx1ZSkuCitmZWF0dXJlczogW19fcHJvdG9fX10KKy0tLSovCisKK3ZhciBnZXQg
PSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsICdfX3By
b3RvX18nKS5nZXQ7CisKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIGdldCwgJ2Z1bmN0aW9uJyk7
CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgZ2V0LmNhbGwodW5k
ZWZpbmVkKTsKK30pOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Cisg
IGdldC5jYWxsKG51bGwpOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vcHJvcC1kZXNjLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90b19fL3Byb3At
ZGVzYy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42ZjIxZWE3ODI5MTY2ZTRmNWVhMTRjOWQ2ZWYzNDllMmY3OTA5
NTYzCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9wcm90b3R5cGUvX19wcm90b19fL3Byb3AtZGVzYy5qcwpAQCAtMCwwICsxLDI0IEBACisv
LyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtYWRkaXRpb25hbC1wcm9w
ZXJ0aWVzLW9mLXRoZS1vYmplY3QucHJvdG90eXBlLW9iamVjdAorZXM2aWQ6IEIuMi4yLjEuMgor
ZGVzY3JpcHRpb246IFByb3BlcnR5IGRlc2NyaXB0b3IgZm9yIE9iamVjdC5wcm90b3R5cGUuX19w
cm90b19fCitpbmZvOiB8CisgICAgT2JqZWN0LnByb3RvdHlwZS5fX3Byb3RvX18gaXMgYW4gYWNj
ZXNzb3IgcHJvcGVydHkgd2l0aCBhdHRyaWJ1dGVzIHsKKyAgICBbW0VudW1lcmFibGVdXTogZmFs
c2UsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgfS4gVGhlIFtbR2V0XV0gYW5kIFtbU2V0XV0KKyAg
ICBhdHRyaWJ1dGVzIGFyZSBkZWZpbmVkIGFzIGZvbGxvd3M6CitpbmNsdWRlczogW3Byb3BlcnR5
SGVscGVyLmpzXQorZmVhdHVyZXM6IFtfX3Byb3RvX19dCistLS0qLworCit2YXIgZGVzYyA9IE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgJ19fcHJvdG9f
XycpOworCithc3NlcnQuc2FtZVZhbHVlKGRlc2MudmFsdWUsIHVuZGVmaW5lZCwgJ2B2YWx1ZWAg
cHJvcGVydHknKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIGRlc2MuZ2V0LCAnZnVuY3Rpb24n
LCAnYGdldGAgcHJvcGVydHknKTsKK2Fzc2VydC5zYW1lVmFsdWUodHlwZW9mIGRlc2Muc2V0LCAn
ZnVuY3Rpb24nLCAnYHNldGAgcHJvcGVydHknKTsKKwordmVyaWZ5UHJvcGVydHkoT2JqZWN0LnBy
b3RvdHlwZSwgIl9fcHJvdG9fXyIsIHsKKyAgZW51bWVyYWJsZTogZmFsc2UsCisgIGNvbmZpZ3Vy
YWJsZTogdHJ1ZQorfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vc2V0LWFicnVwdC5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fcHJvdG9fXy9zZXQtYWJydXB0
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjA0MzdlZjU1ZGFkZGNjYTFiNmYxYTcyMzJjNzFmMjkzMGU3MjgxYzQK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0
L3Byb3RvdHlwZS9fX3Byb3RvX18vc2V0LWFicnVwdC5qcwpAQCAtMCwwICsxLDIyIEBACisvLyBD
b3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtb2JqZWN0LnByb3RvdHlwZS5f
X3Byb3RvX18KK2VzNmlkOiBCLjIuMi4xCitkZXNjcmlwdGlvbjogQWJydXB0IGNvbXBsZXRpb24g
ZnJvbSBbW1NldFByb3RvdHlwZU9mXV0KK2luZm86IHwKKyAgICBbLi4uXQorICAgIDQuIExldCBz
dGF0dXMgYmUgPyBPLltbU2V0UHJvdG90eXBlT2ZdXShwcm90bykuCitmZWF0dXJlczogW1Byb3h5
LCBfX3Byb3RvX19dCistLS0qLworCit2YXIgdGhyb3dlciA9IGZ1bmN0aW9uKCkgeworICB0aHJv
dyBuZXcgVGVzdDI2MkVycm9yKCk7Cit9OwordmFyIHN1YmplY3QgPSBuZXcgUHJveHkoe30sIHsg
c2V0UHJvdG90eXBlT2Y6IHRocm93ZXIgfSk7CisKK2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9y
LCBmdW5jdGlvbigpIHsKKyAgc3ViamVjdC5fX3Byb3RvX18gPSB7fTsKK30pOworCithc3NlcnQu
c2FtZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5cGVPZihzdWJqZWN0KSwgT2JqZWN0LnByb3RvdHlw
ZSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3By
b3RvdHlwZS9fX3Byb3RvX18vc2V0LWN5Y2xlLXNoYWRvd2VkLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90b19fL3NldC1jeWNsZS1zaGFk
b3dlZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40N2M0YTU3ZmVmMmZiOTM3MjE5ODcxYTI3MjZjZmZhNzYxOTcz
YmQxCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9wcm90b3R5cGUvX19wcm90b19fL3NldC1jeWNsZS1zaGFkb3dlZC5qcwpAQCAtMCwwICsx
LDM1IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtb2JqZWN0
LnByb3RvdHlwZS5fX3Byb3RvX18KK2VzNmlkOiBCLjIuMi4xCitkZXNjcmlwdGlvbjogPgorICAg
IEN5Y2xlcyBhcmUgbm90IGRldGVjdGVkIHdoZW4gYSBQcm94eSBleG90aWMgb2JqZWN0IGV4aXN0
cyBpbiB0aGUgcHJvdG90eXBlCisgICAgY2hhaW4KK2luZm86IHwKKyAgICBbLi4uXQorICAgIDQu
IExldCBzdGF0dXMgYmUgPyBPLltbU2V0UHJvdG90eXBlT2ZdXShwcm90bykuCisgICAgNS4gSWYg
c3RhdHVzIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisKKyAgICA5LjEu
Mi4xIE9yZGluYXJ5U2V0UHJvdG90eXBlT2YKKworICAgIFsuLi5dCisgICAgNi4gTGV0IHAgYmUg
Vi4KKyAgICA3LiBMZXQgZG9uZSBiZSBmYWxzZS4KKyAgICA4LiBSZXBlYXQgd2hpbGUgZG9uZSBp
cyBmYWxzZSwKKyAgICAgICBhLiBJZiBwIGlzIG51bGwsIGxldCBkb25lIGJlIHRydWUuCisgICAg
ICAgYi4gRWxzZSBpZiBTYW1lVmFsdWUocCwgTykgaXMgdHJ1ZSwgcmV0dXJuIGZhbHNlLgorICAg
ICAgIGMuIEVsc2UsCisgICAgICAgICAgaS4gSWYgdGhlIFtbR2V0UHJvdG90eXBlT2ZdXSBpbnRl
cm5hbCBtZXRob2Qgb2YgcCBpcyBub3QgdGhlIG9yZGluYXJ5CisgICAgICAgICAgICAgb2JqZWN0
IGludGVybmFsIG1ldGhvZCBkZWZpbmVkIGluIDkuMS4xLCBsZXQgZG9uZSBiZSB0cnVlLgorICAg
ICAgICAgIGlpLiBFbHNlLCBsZXQgcCBiZSB0aGUgdmFsdWUgb2YgcCdzIFtbUHJvdG90eXBlXV0g
aW50ZXJuYWwgc2xvdC4KK2ZlYXR1cmVzOiBbX19wcm90b19fXQorLS0tKi8KKwordmFyIHJvb3Qg
PSB7fTsKK3ZhciBpbnRlcm1lZGlhcnkgPSBuZXcgUHJveHkoT2JqZWN0LmNyZWF0ZShyb290KSwg
e30pOwordmFyIGxlYWYgPSBPYmplY3QuY3JlYXRlKGludGVybWVkaWFyeSk7CisKK3Jvb3QuX19w
cm90b19fID0gbGVhZjsKKworYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yo
cm9vdCksIGxlYWYpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9wcm90b3R5cGUvX19wcm90b19fL3NldC1jeWNsZS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fcHJvdG9fXy9zZXQtY3ljbGUuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2U3NmZiZGNlZWYzMzFmYjM3ODAwNWNjODZmYzEzMGVmOGMwYjA3OQotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJv
dG90eXBlL19fcHJvdG9fXy9zZXQtY3ljbGUuanMKQEAgLTAsMCArMSwzNSBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLW9iamVjdC5wcm90b3R5cGUuX19wcm90
b19fCitlczZpZDogQi4yLjIuMQorZGVzY3JpcHRpb246IEN5Y2xlIGRldGVjdGlvbgoraW5mbzog
fAorICAgIFsuLi5dCisgICAgNC4gTGV0IHN0YXR1cyBiZSA/IE8uW1tTZXRQcm90b3R5cGVPZl1d
KHByb3RvKS4KKyAgICA1LiBJZiBzdGF0dXMgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4
Y2VwdGlvbi4KKworICAgIDkuMS4yLjEgT3JkaW5hcnlTZXRQcm90b3R5cGVPZgorCisgICAgWy4u
Ll0KKyAgICA2LiBMZXQgcCBiZSBWLgorICAgIDcuIExldCBkb25lIGJlIGZhbHNlLgorICAgIDgu
IFJlcGVhdCB3aGlsZSBkb25lIGlzIGZhbHNlLAorICAgICAgIGEuIElmIHAgaXMgbnVsbCwgbGV0
IGRvbmUgYmUgdHJ1ZS4KKyAgICAgICBiLiBFbHNlIGlmIFNhbWVWYWx1ZShwLCBPKSBpcyB0cnVl
LCByZXR1cm4gZmFsc2UuCisgICAgICAgYy4gRWxzZSwKKyAgICAgICAgICBpLiBJZiB0aGUgW1tH
ZXRQcm90b3R5cGVPZl1dIGludGVybmFsIG1ldGhvZCBvZiBwIGlzIG5vdCB0aGUgb3JkaW5hcnkK
KyAgICAgICAgICAgICBvYmplY3QgaW50ZXJuYWwgbWV0aG9kIGRlZmluZWQgaW4gOS4xLjEsIGxl
dCBkb25lIGJlIHRydWUuCisgICAgICAgICAgaWkuIEVsc2UsIGxldCBwIGJlIHRoZSB2YWx1ZSBv
ZiBwJ3MgW1tQcm90b3R5cGVdXSBpbnRlcm5hbCBzbG90LgorZmVhdHVyZXM6IFtfX3Byb3RvX19d
CistLS0qLworCit2YXIgcm9vdCA9IHt9OwordmFyIGludGVybWVkaWFyeSA9IE9iamVjdC5jcmVh
dGUocm9vdCk7Cit2YXIgbGVhZiA9IE9iamVjdC5jcmVhdGUoaW50ZXJtZWRpYXJ5KTsKKworYXNz
ZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICByb290Ll9fcHJvdG9fXyA9IGxl
YWY7Cit9KTsKKworYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yocm9vdCks
IE9iamVjdC5wcm90b3R5cGUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90b19fL3NldC1mbi1uYW1lLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90b19fL3NldC1m
bi1uYW1lLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNlZGMwZDUzNWJiY2RmM2Q0NDc3MzMwZDJkNmMxYmFjYzMx
NGJmZWIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vc2V0LWZuLW5hbWUuanMKQEAgLTAsMCArMSwyNCBA
QAorLy8gQ29weXJpZ2h0IChDKSAyMDE1IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXM2aWQ6IEIuMi4yLjEuMgorZGVz
Y3JpcHRpb246ID4KKyAgICBzZXQgT2JqZWN0LnByb3RvdHlwZS5fX3Byb3RvX18KKworICAgIDE3
IEVDTUFTY3JpcHQgU3RhbmRhcmQgQnVpbHQtaW4gT2JqZWN0cworCisgICAgRnVuY3Rpb25zIHRo
YXQgYXJlIHNwZWNpZmllZCBhcyBnZXQgb3Igc2V0IGFjY2Vzc29yIGZ1bmN0aW9ucyBvZiBidWls
dC1pbgorICAgIHByb3BlcnRpZXMgaGF2ZSAiZ2V0ICIgb3IgInNldCAiIHByZXBlbmRlZCB0byB0
aGUgcHJvcGVydHkgbmFtZSBzdHJpbmcuCisKK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNd
CitmZWF0dXJlczogW19fcHJvdG9fX10KKy0tLSovCisKK3ZhciBkZXNjcmlwdG9yID0gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QucHJvdG90eXBlLCAnX19wcm90b19fJyk7
CisKK3ZlcmlmeVByb3BlcnR5KGRlc2NyaXB0b3Iuc2V0LCAibmFtZSIsIHsKKyAgZW51bWVyYWJs
ZTogZmFsc2UsCisgIHdyaXRhYmxlOiBmYWxzZSwKKyAgY29uZmlndXJhYmxlOiB0cnVlLAorICB2
YWx1ZTogInNldCBfX3Byb3RvX18iCit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fcHJvdG9fXy9zZXQtaW1tdXRhYmxlLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90
b19fL3NldC1pbW11dGFibGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNmOTNhN2M3OWEzMTllMDMxYWY5OGIz
MmMwZDk3NTE0ZjIyMmE2MwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fcHJvdG9fXy9zZXQtaW1tdXRhYmxlLmpzCkBA
IC0wLDAgKzEsMTkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRo
b3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNl
Yy1vYmplY3QucHJvdG90eXBlLl9fcHJvdG9fXworZGVzY3JpcHRpb246IENhbGxlZCBvbiBhbiBp
bW11dGFibGUgcHJvdG90eXBlIGV4b3RpYyBvYmplY3QKK2luZm86IHwKKyAgICBbLi4uXQorICAg
IDQuIExldCBzdGF0dXMgYmUgPyBPLltbU2V0UHJvdG90eXBlT2ZdXShwcm90bykuCisgICAgNS4g
SWYgc3RhdHVzIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCitmZWF0dXJl
czogW19fcHJvdG9fX10KKy0tLSovCisKK09iamVjdC5wcm90b3R5cGUuX19wcm90b19fID0gbnVs
bDsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICBPYmplY3QucHJv
dG90eXBlLl9fcHJvdG9fXyA9IHt9OworfSk7CisKK2Fzc2VydC5zYW1lVmFsdWUoT2JqZWN0Lmdl
dFByb3RvdHlwZU9mKE9iamVjdC5wcm90b3R5cGUpLCBudWxsKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fcHJvdG9fXy9zZXQt
aW52YWxpZC12YWx1ZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
cHJvdG90eXBlL19fcHJvdG9fXy9zZXQtaW52YWxpZC12YWx1ZS5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNDVm
MmE1YzIwYzQ5ZDljMmNlNjMwYzAxYjkyNzliNjdhOGJmNTE2Ci0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90b19f
L3NldC1pbnZhbGlkLXZhbHVlLmpzCkBAIC0wLDAgKzEsMzUgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1vYmplY3QucHJvdG90eXBlLl9fcHJvdG9fXworZXM2
aWQ6IEIuMi4yLjEKK2Rlc2NyaXB0aW9uOiBDYWxsZWQgd2l0aCBhIHZhbHVlIHRoYXQgaXMgbmVp
dGhlciBhbiBPYmplY3Qgbm9yIE51bGwKK2luZm86IHwKKyAgICAxLiBMZXQgTyBiZSA/IFJlcXVp
cmVPYmplY3RDb2VyY2libGUodGhpcyB2YWx1ZSkuCisgICAgMi4gSWYgVHlwZShwcm90bykgaXMg
bmVpdGhlciBPYmplY3Qgbm9yIE51bGwsIHJldHVybiB1bmRlZmluZWQuCitmZWF0dXJlczogW1N5
bWJvbCwgX19wcm90b19fXQorLS0tKi8KKwordmFyIHNldCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgJ19fcHJvdG9fXycpLnNldDsKK3ZhciBzdWJq
ZWN0ID0ge307CisKK2Fzc2VydC5zYW1lVmFsdWUoc2V0LmNhbGwoc3ViamVjdCwgdHJ1ZSksIHVu
ZGVmaW5lZCwgJ2Jvb2xlYW4nKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5nZXRQcm90
b3R5cGVPZihzdWJqZWN0KSwgT2JqZWN0LnByb3RvdHlwZSwgJ2ZvbGxvd2luZyBib29sZWFuJwor
KTsKKworYXNzZXJ0LnNhbWVWYWx1ZShzZXQuY2FsbChzdWJqZWN0LCAxKSwgdW5kZWZpbmVkLCAn
bnVtYmVyJyk7Cithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc3Vi
amVjdCksIE9iamVjdC5wcm90b3R5cGUsICdmb2xsb3dpbmcgbnVtYmVyJworKTsKKworYXNzZXJ0
LnNhbWVWYWx1ZShzZXQuY2FsbChzdWJqZWN0LCAnc3RyaW5nJyksIHVuZGVmaW5lZCwgJ3N0cmlu
ZycpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LmdldFByb3RvdHlwZU9mKHN1YmplY3Qp
LCBPYmplY3QucHJvdG90eXBlLCAnZm9sbG93aW5nIHN0cmluZycKKyk7CisKK2Fzc2VydC5zYW1l
VmFsdWUoc2V0LmNhbGwoc3ViamVjdCwgU3ltYm9sKCcnKSksIHVuZGVmaW5lZCwgJ3N5bWJvbCcp
OworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LmdldFByb3RvdHlwZU9mKHN1YmplY3QpLCBP
YmplY3QucHJvdG90eXBlLCAnZm9sbG93aW5nIHN5bWJvbCcKKyk7CisKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fcHJvdG9fXy9z
ZXQtbm9uLWV4dGVuc2libGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vc2V0LW5vbi1leHRlbnNpYmxlLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmMxNGUyN2Q1Yzc4ZmM5NGQxMjhkMjViZWNmNDU3ZDFkNjc5ZmQ0ZmEKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3By
b3RvX18vc2V0LW5vbi1leHRlbnNpYmxlLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdo
dCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1vYmplY3QucHJvdG90eXBlLl9fcHJvdG9f
XworZXM2aWQ6IEIuMi4yLjEKK2Rlc2NyaXB0aW9uOiBDYWxsZWQgb24gYW4gbm9uLWV4dGVuc2li
bGUgb2JqZWN0CitpbmZvOiB8CisgICAgWy4uLl0KKyAgICA0LiBMZXQgc3RhdHVzIGJlID8gTy5b
W1NldFByb3RvdHlwZU9mXV0ocHJvdG8pLgorICAgIDUuIElmIHN0YXR1cyBpcyBmYWxzZSwgdGhy
b3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorCisgICAgOS4xLjIuMSBPcmRpbmFyeVNldFByb3Rv
dHlwZU9mCisKKyAgICBbLi4uXQorICAgIDIuIExldCBleHRlbnNpYmxlIGJlIHRoZSB2YWx1ZSBv
ZiB0aGUgW1tFeHRlbnNpYmxlXV0gaW50ZXJuYWwgc2xvdCBvZiBPLgorICAgIDMuIExldCBjdXJy
ZW50IGJlIHRoZSB2YWx1ZSBvZiB0aGUgW1tQcm90b3R5cGVdXSBpbnRlcm5hbCBzbG90IG9mIE8u
CisgICAgNC4gSWYgU2FtZVZhbHVlKFYsIGN1cnJlbnQpIGlzIHRydWUsIHJldHVybiB0cnVlLgor
ICAgIDUuIElmIGV4dGVuc2libGUgaXMgZmFsc2UsIHJldHVybiBmYWxzZS4KK2ZlYXR1cmVzOiBb
X19wcm90b19fXQorLS0tKi8KKwordmFyIHByb3RvID0ge307Cit2YXIgc3ViamVjdCA9IE9iamVj
dC5jcmVhdGUocHJvdG8pOworCitPYmplY3QucHJldmVudEV4dGVuc2lvbnMoc3ViamVjdCk7CisK
K3N1YmplY3QuX19wcm90b19fID0gcHJvdG87CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBm
dW5jdGlvbigpIHsKKyAgc3ViamVjdC5fX3Byb3RvX18gPSB7fTsKK30pOworCithc3NlcnQuc2Ft
ZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5cGVPZihzdWJqZWN0KSwgcHJvdG8pOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90
b19fL3NldC1ub24tb2JqLWNvZXJjaWJsZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3QvcHJvdG90eXBlL19fcHJvdG9fXy9zZXQtbm9uLW9iai1jb2VyY2libGUuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMDg0YWUyYzMwMTY2YzUyOWI3NWY2MDhmNDUzZWYyOGE5MWNkMjU2NgotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJv
dG90eXBlL19fcHJvdG9fXy9zZXQtbm9uLW9iai1jb2VyY2libGUuanMKQEAgLTAsMCArMSwyMiBA
QAorLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLW9iamVjdC5wcm90
b3R5cGUuX19wcm90b19fCitlczZpZDogQi4yLjIuMQorZGVzY3JpcHRpb246IENhbGxlZCBvbiBh
IHZhbHVlIHRoYXQgaXMgbm90IG9iamVjdC1jb2VyY2libGUKK2luZm86IHwKKyAgICAxLiBMZXQg
TyBiZSA/IFJlcXVpcmVPYmplY3RDb2VyY2libGUodGhpcyB2YWx1ZSkuCitmZWF0dXJlczogW19f
cHJvdG9fX10KKy0tLSovCisKK3ZhciBzZXQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKE9iamVjdC5wcm90b3R5cGUsICdfX3Byb3RvX18nKS5zZXQ7CisKK2Fzc2VydC5zYW1lVmFs
dWUodHlwZW9mIHNldCwgJ2Z1bmN0aW9uJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCBm
dW5jdGlvbigpIHsKKyAgc2V0LmNhbGwodW5kZWZpbmVkKTsKK30pOworCithc3NlcnQudGhyb3dz
KFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgIHNldC5jYWxsKG51bGwpOworfSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9fX3By
b3RvX18vc2V0LW5vbi1vYmplY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3Byb3RvdHlwZS9fX3Byb3RvX18vc2V0LW5vbi1vYmplY3QuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZGQyZDMyYTY0N2UxN2MzM2IwNTVkNGViZmJhNDIxZDA3ZWEwY2U4YwotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL19fcHJv
dG9fXy9zZXQtbm9uLW9iamVjdC5qcwpAQCAtMCwwICsxLDM1IEBACisvLyBDb3B5cmlnaHQgKEMp
IDIwMTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtb2JqZWN0LnByb3RvdHlwZS5fX3Byb3RvX18KK2Vz
NmlkOiBCLjIuMi4xCitkZXNjcmlwdGlvbjogQ2FsbGVkIG9uIGEgdmFsdWUgdGhhdCBpcyBvYmpl
Y3QtY29lcmNpYmxlIGJ1dCBub3QgYW4gT2JqZWN0CitpbmZvOiB8CisgICAgMS4gTGV0IE8gYmUg
PyBSZXF1aXJlT2JqZWN0Q29lcmNpYmxlKHRoaXMgdmFsdWUpLgorICAgIDIuIElmIFR5cGUocHJv
dG8pIGlzIG5laXRoZXIgT2JqZWN0IG5vciBOdWxsLCByZXR1cm4gdW5kZWZpbmVkLgorICAgIDMu
IElmIFR5cGUoTykgaXMgbm90IE9iamVjdCwgcmV0dXJuIHVuZGVmaW5lZC4KK2ZlYXR1cmVzOiBb
U3ltYm9sLCBfX3Byb3RvX19dCistLS0qLworCit2YXIgc2V0ID0gT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihPYmplY3QucHJvdG90eXBlLCAnX19wcm90b19fJykuc2V0OwordmFyIHN1
YmplY3QgPSB7fTsKKworYXNzZXJ0LnNhbWVWYWx1ZShzZXQuY2FsbCh0cnVlKSwgdW5kZWZpbmVk
LCAnYm9vbGVhbicpOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LmdldFByb3RvdHlwZU9m
KHN1YmplY3QpLCBPYmplY3QucHJvdG90eXBlLCAnZm9sbG93aW5nIGJvb2xlYW4nCispOworCith
c3NlcnQuc2FtZVZhbHVlKHNldC5jYWxsKDEpLCB1bmRlZmluZWQsICdudW1iZXInKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoCisgIE9iamVjdC5nZXRQcm90b3R5cGVPZihzdWJqZWN0KSwgT2JqZWN0LnBy
b3RvdHlwZSwgJ2ZvbGxvd2luZyBudW1iZXInCispOworCithc3NlcnQuc2FtZVZhbHVlKHNldC5j
YWxsKCdzdHJpbmcnKSwgdW5kZWZpbmVkLCAnc3RyaW5nJyk7Cithc3NlcnQuc2FtZVZhbHVlKAor
ICBPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc3ViamVjdCksIE9iamVjdC5wcm90b3R5cGUsICdmb2xs
b3dpbmcgc3RyaW5nJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZShzZXQuY2FsbChTeW1ib2woJycp
KSwgdW5kZWZpbmVkLCAnc3ltYm9sJyk7Cithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QuZ2V0
UHJvdG90eXBlT2Yoc3ViamVjdCksIE9iamVjdC5wcm90b3R5cGUsICdmb2xsb3dpbmcgc3ltYm9s
JworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
cHJvdG90eXBlL19fcHJvdG9fXy9zZXQtb3JkaW5hcnktb2JqLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvX19wcm90b19fL3NldC1vcmRpbmFyeS1v
YmouanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjdiMWY2MzAxYmY0ODY2MzE3MDYzODczZDQzMGRjZTU0ZDk1NDk1
NwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmpl
Y3QvcHJvdG90eXBlL19fcHJvdG9fXy9zZXQtb3JkaW5hcnktb2JqLmpzCkBAIC0wLDAgKzEsMjAg
QEAKKy8vIENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5z
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1vYmplY3QucHJv
dG90eXBlLl9fcHJvdG9fXworZXM2aWQ6IEIuMi4yLjEKK2Rlc2NyaXB0aW9uOiBTZXR0aW5nIHZh
bGlkIHZhbHVlIG9uIGFuIG9yZGluYXJ5IG9iamVjdAoraW5mbzogfAorICAgIFsuLi5dCisgICAg
NC4gTGV0IHN0YXR1cyBiZSA/IE8uW1tTZXRQcm90b3R5cGVPZl1dKHByb3RvKS4KKyAgICA1LiBJ
ZiBzdGF0dXMgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgICA2LiBS
ZXR1cm4gdW5kZWZpbmVkLgorZmVhdHVyZXM6IFtfX3Byb3RvX19dCistLS0qLworCit2YXIgc2V0
ID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QucHJvdG90eXBlLCAnX19w
cm90b19fJykuc2V0OwordmFyIHByb3RvID0ge307Cit2YXIgc3ViamVjdCA9IHt9OworCithc3Nl
cnQuc2FtZVZhbHVlKHNldC5jYWxsKHN1YmplY3QsIHByb3RvKSwgdW5kZWZpbmVkKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHN1YmplY3QpLCBwcm90byk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9o
YXNPd25Qcm9wZXJ0eS9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2hhc093blByb3BlcnR5L25vdC1hLWNvbnN0cnVj
dG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjI2MTE0MDdhYTliNzExN2Q0ODRhYmNlYzQwYWNlZTE5OTliYzM0
M2UKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L3Byb3RvdHlwZS9oYXNPd25Qcm9wZXJ0eS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCww
ICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQt
c3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgT2JqZWN0LnByb3Rv
dHlwZS5oYXNPd25Qcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMg
bm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisg
IEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29u
c3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwg
bWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBv
ZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisg
IDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVF
cnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVh
dHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3Nl
cnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJv
cGVydHkpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoT2JqZWN0LnByb3RvdHlwZS5oYXNP
d25Qcm9wZXJ0eSkgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgKCkgPT4geworICBuZXcgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnJyk7
Cit9LCAnYG5ldyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5KFwnXCcpYCB0aHJvd3Mg
VHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3QvcHJvdG90eXBlL2lzUHJvdG90eXBlT2YvYnVpbHRpbi5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL2lzUHJvdG90eXBlT2YvYnVpbHRp
bi5qcwppbmRleCBkODFjMjkzYzIxOGU5MDFhMjliZGZhYjliYTNmZmUxZjViYjI2NzJiLi40ZDVj
OTIwZWIxMjU4ZjA0ZGM5N2I2NzRhMjA5YzFmZDUwZWQwNzExIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9pc1Byb3RvdHlwZU9mL2J1
aWx0aW4uanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvaXNQcm90b3R5cGVPZi9idWlsdGluLmpzCkBAIC03LDEyICs3LDI1IEBAIGRlc2NyaXB0
aW9uOiA+CiAgIFRlc3RzIHRoYXQgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mIG1lZXRz
IHRoZSByZXF1aXJlbWVudHMKICAgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUg
aW50cm9kdWN0aW9uIG9mIGNoYXB0ZXIgMTcgb2YKICAgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2Ug
U3BlY2lmaWNhdGlvbi4KLWluY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KIGZlYXR1cmVzOiBb
UmVmbGVjdC5jb25zdHJ1Y3RdCiAtLS0qLwogCi1hc3NlcnQoT2JqZWN0LmlzRXh0ZW5zaWJsZShP
YmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YpKTsKLWFzc2VydC5zYW1lVmFsdWUoT2JqZWN0
LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiks
ICJbb2JqZWN0IEZ1bmN0aW9uXSIpOwotYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90
eXBlT2YoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKSwgRnVuY3Rpb24ucHJvdG90eXBl
KTsKLWFzc2VydC5zYW1lVmFsdWUoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmhhc093
blByb3BlcnR5KCJwcm90b3R5cGUiKSwgZmFsc2UpOwotYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0
cnVjdG9yKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiksIGZhbHNlKTsKK2Fzc2VydCgK
KyAgT2JqZWN0LmlzRXh0ZW5zaWJsZShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YpLAor
ICAnT2JqZWN0LmlzRXh0ZW5zaWJsZShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YpIG11
c3QgcmV0dXJuIHRydWUnCispOworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LnByb3RvdHlw
ZS50b1N0cmluZy5jYWxsKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiksCisgICJbb2Jq
ZWN0IEZ1bmN0aW9uXSIsCisgICdPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoT2JqZWN0
LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKSBtdXN0IHJldHVybiAiW29iamVjdCBGdW5jdGlvbl0i
JworKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5nZXRQcm90b3R5cGVPZihPYmplY3Qu
cHJvdG90eXBlLmlzUHJvdG90eXBlT2YpLAorICBGdW5jdGlvbi5wcm90b3R5cGUsCisgICdPYmpl
Y3QuZ2V0UHJvdG90eXBlT2YoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKSBtdXN0IHJl
dHVybiB0aGUgdmFsdWUgb2YgRnVuY3Rpb24ucHJvdG90eXBlJworKTsKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5oYXNPd25Qcm9wZXJ0eSgicHJv
dG90eXBlIiksCisgIGZhbHNlLAorICAnT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmhh
c093blByb3BlcnR5KCJwcm90b3R5cGUiKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9pc1By
b3RvdHlwZU9mL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9wcm90b3R5cGUvaXNQcm90b3R5cGVPZi9ub3QtYS1jb25zdHJ1Y3Rvci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMDRjZDcxZmJlYTNjYTZkZTk0ZTIyY2E4MWZlOTNmZWE3OTBjMTM4Ci0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9w
cm90b3R5cGUvaXNQcm90b3R5cGVPZi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMz
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRh
cmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgT2JqZWN0LnByb3RvdHlwZS5p
c1Byb3RvdHlwZU9mIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3
LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQt
aW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3Rv
cnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2Qg
dW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFy
dGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYg
SXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4
Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczog
W1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIGlzQ29uc3RydWN0b3IoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKSwK
KyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVP
ZikgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkg
PT4geworICBuZXcgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKHt9KTsKK30sICdgbmV3
IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZih7fSlgIHRocm93cyBUeXBlRXJyb3InKTsK
KwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90
b3R5cGUvcHJvcGVydHlJc0VudW1lcmFibGUvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS9wcm9wZXJ0eUlzRW51bWVy
YWJsZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MDA2MDk4ZjFjYmE2Mzk5YTcx
YTcyYzVkYjZiMWJhYzYyYTY0OGFhCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvcHJvcGVydHlJc0VudW1lcmFibGUvbm90
LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIw
IFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zl
cm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyot
LS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2Ny
aXB0aW9uOiA+CisgIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgZG9lcyBu
b3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBF
Q01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3Rz
IHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVt
ZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNw
ZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgor
CisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0
cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2lu
Y2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3Qs
IGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1
Y3RvcihPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKSwKKyAgZmFsc2UsCisg
ICdpc0NvbnN0cnVjdG9yKE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUpIG11
c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsK
KyAgbmV3IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUoJycpOworfSwgJ2Bu
ZXcgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ1wnKWAgdGhyb3dzIFR5
cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3RvTG9jYWxlU3Ry
aW5nL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1ZWU2MDA1MDNmMDI3ZDUxZjIw
MjljMmI5OGZlNjI2ZTdlYWEwNzgKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvT2JqZWN0L3Byb3RvdHlwZS90b0xvY2FsZVN0cmluZy9ub3QtYS1jb25z
dHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBX
YWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246
ID4KKyAgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyBkb2VzIG5vdCBpbXBsZW1lbnQg
W1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVu
Y3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90
IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29u
c3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisg
IHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1
YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZh
bHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0Nv
bnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rp
b25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKE9iamVjdC5w
cm90b3R5cGUudG9Mb2NhbGVTdHJpbmcpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoT2Jq
ZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZykgbXVzdCByZXR1cm4gZmFsc2UnCispOworCith
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgT2JqZWN0LnByb3RvdHlwZS50
b0xvY2FsZVN0cmluZygnJyk7Cit9LCAnYG5ldyBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3Ry
aW5nKFwnXCcpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3RvU3RyaW5nL25vdC1hLWNvbnN0
cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5
cGUvdG9TdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjlmODZlNDgxMGE3
MjAxMjM5ZWQ2YjJmN2UzNmI3MWY5N2JjN2QyYwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3RvU3RyaW5nL25vdC1hLWNv
bnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNr
IFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitl
c2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlv
bjogPgorICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGRvZXMgbm90IGltcGxlbWVudCBbW0Nv
bnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlv
biBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRl
bnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1
Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhl
IGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVu
ZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2Us
IHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3Ry
dWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0K
Ky0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZyksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihPYmplY3QucHJvdG90
eXBlLnRvU3RyaW5nKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCAoKSA9PiB7CisgIG5ldyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCk7Cit9LCAn
YG5ldyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5
cGUvdmFsdWVPZi9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3ZhbHVlT2Yvbm90LWEtY29uc3RydWN0b3IuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMzgwYWE3YTI5ZjQ0MTY2MDhiMmMzMjJiYjI3ZDMzY2ZiYjYwZGIwNwotLS0gL2Rl
di9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90
eXBlL3ZhbHVlT2Yvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWlu
LW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiBkb2Vz
IG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8Cisg
IEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVj
dHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBs
ZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ug
c3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24u
CisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29u
c3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgor
aW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVj
dCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0
cnVjdG9yKE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1
Y3RvcihPYmplY3QucHJvdG90eXBlLnZhbHVlT2YpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKwor
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IE9iamVjdC5wcm90b3R5cGUu
dmFsdWVPZigpOworfSwgJ2BuZXcgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mKClgIHRocm93cyBU
eXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9zZWFsLzE1LjIuMy44LTAtMS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0wLTEuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGNhYzAyY2MxZjMxOWRiZTVmYTI1ZmJmMzkxODQwYzdlNGY0NTBkNDIuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTAtMS5qcworKysgL2Rldi9udWxsCkBA
IC0xLDExICswLDAgQEAKLS8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0vKi0tLQotZXM1aWQ6IDE1
LjIuMy44LTAtMQotZGVzY3JpcHRpb246IE9iamVjdC5zZWFsIG11c3QgZXhpc3QgYXMgYSBmdW5j
dGlvbgotLS0tKi8KLQotdmFyIGYgPSBPYmplY3Quc2VhbDsKLQotYXNzZXJ0LnNhbWVWYWx1ZSh0
eXBlb2YoZiksICJmdW5jdGlvbiIsICd0eXBlb2YoZiknKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0wLTIuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMC0yLmpzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMTRjOTlhMmJiYzE3NWMxMzk5YjEwN2MxOGVh
ZTFhNTA4NWRhNjU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0w
LTIuanMKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLS8vIENvcHlyaWdodCAoYykgMjAx
MiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2Rl
IGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgotCi0vKi0tLQotZXM1aWQ6IDE1LjIuMy44LTAtMgotZGVzY3JpcHRpb246IE9iamVjdC5zZWFs
IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMSBwYXJhbWV0ZXIKLS0tLSovCi0KLWFz
c2VydC5zYW1lVmFsdWUoT2JqZWN0LnNlYWwubGVuZ3RoLCAxLCAnT2JqZWN0LnNlYWwubGVuZ3Ro
Jyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Nl
YWwvMTUuMi4zLjgtMS0xLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9zZWFsLzE1LjIuMy44LTEtMS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNThh
NjkzOGE2YTY2OTA2ZTQ3YThjN2UyNTJiYmQ3YWMzMDZlZTlkOC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMS0xLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAs
MCBAQAotLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lczVpZDogMTUuMi4zLjgtMS0x
Ci1kZXNjcmlwdGlvbjogPgotICAgIE9iamVjdC5zZWFsIGRvZXMgbm90IHRocm93IFR5cGVFcnJv
ciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzCi0gICAgdW5kZWZpbmVkCi0tLS0qLwotCi1PYmpl
Y3Quc2VhbCh1bmRlZmluZWQpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTEtMi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0xLTIuanMKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGQyODAxNGM1ZWRkNWVkNmVjYmZlYzcwZTk5OTAxZmU2ZTc0NzY0MjQuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTEtMi5qcworKysgL2Rldi9u
dWxsCkBAIC0xLDkgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRp
b25hbC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lczVp
ZDogMTUuMi4zLjgtMS0yCi1kZXNjcmlwdGlvbjogT2JqZWN0LnNlYWwgZG9lcyBub3QgdGhyb3cg
VHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbnVsbAotLS0tKi8KLQotT2JqZWN0
LnNlYWwobnVsbCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3NlYWwvMTUuMi4zLjgtMS0zLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTEtMy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMzI2OTE1YWYzY2JmYzM1N2JlM2QzMDVhNTQ1NTIyYWJiZTkxYjY1Ny4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMS0zLmpzCisrKyAvZGV2L251bGwKQEAg
LTEsMTEgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lczVpZDogMTUu
Mi4zLjgtMS0zCi1kZXNjcmlwdGlvbjogPgotICAgIE9iamVjdC5zZWFsIGRvZXMgbm90IHRocm93
IFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIGEKLSAgICBib29sZWFuIHByaW1p
dGl2ZQotLS0tKi8KLQotT2JqZWN0LnNlYWwoZmFsc2UpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTEtNC5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0xLTQuanMKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA3MmM2ZDg4Y2MxNjcwZDMxM2M2ZDZkNDUwMDVh
YjI0MzFjMzlhZjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTEt
NC5qcworKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLS8vIENvcHlyaWdodCAoYykgMjAx
MiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2Rl
IGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgotCi0vKi0tLQotZXM1aWQ6IDE1LjIuMy44LTEtNAotZGVzY3JpcHRpb246ID4KLSAgICBPYmpl
Y3Quc2VhbCBkb2VzIG5vdCB0aHJvdyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBp
cyBhCi0gICAgc3RyaW5nIHByaW1pdGl2ZQotLS0tKi8KLQotT2JqZWN0LnNlYWwoImFiYyIpOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1
LjIuMy44LTEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwv
MTUuMi4zLjgtMS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2EzMWZmOTU5Zjg4
ZWY2M2VlN2VhNThjODRlZWRlNmIwZGRjNThjMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0
L3NlYWwvMTUuMi4zLjgtMS5qcworKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLS8vIENv
cHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgotCi0vKi0tLQotZXM1aWQ6IDE1LjIuMy44LTEKLWRlc2NyaXB0aW9u
OiA+Ci0gICAgT2JqZWN0LnNlYWwgZG9lcyBub3QgdGhyb3cgVHlwZUVycm9yIGlmIHR5cGUgb2Yg
Zmlyc3QgcGFyYW0gaXMgbm90Ci0gICAgT2JqZWN0Ci0tLS0qLwotCi1PYmplY3Quc2VhbCgwKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8x
NS4yLjMuOC0yLTEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Nl
YWwvMTUuMi4zLjgtMi0xLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMDBkMDll
OTM0ZDM4NGNiYmM4OWYwNDI1ZjU0OTE1M2JiM2NhNjU4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9P
YmplY3Qvc2VhbC8xNS4yLjMuOC0yLTEuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBA
Ci0vLyBDb3B5cmlnaHQgKGMpIDIwMTIgRWNtYSBJbnRlcm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotLyotLS0KLWVzNWlkOiAxNS4yLjMuOC0yLTEKLWRl
c2NyaXB0aW9uOiA+Ci0gICAgT2JqZWN0LnNlYWwgLSBleHRlbnNpYmxlIG9mICdPJyBpcyBzZXQg
YXMgZmFsc2UgZXZlbiBpZiAnTycgaGFzIG5vCi0gICAgb3duIHByb3BlcnR5Ci0tLS0qLwotCi12
YXIgb2JqID0ge307Ci0KLXZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsK
LQotT2JqZWN0LnNlYWwob2JqKTsKLQotYXNzZXJ0KHByZUNoZWNrLCAncHJlQ2hlY2sgIT09IHRy
dWUnKTsKLWFzc2VydC5zYW1lVmFsdWUoT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopLCBmYWxzZSwg
J09iamVjdC5pc0V4dGVuc2libGUob2JqKScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItMi5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLTIuanMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBmZTNlZmIwYWJlZmM3Y2Q1NTMwMjYyMDg2MGM3MTcyNGZk
M2M5N2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItMi5qcwor
KysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLS8vIENvcHlyaWdodCAoYykgMjAxMiBFY21h
IEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0v
Ki0tLQotZXM1aWQ6IDE1LjIuMy44LTItMgotZGVzY3JpcHRpb246IE9iamVjdC5zZWFsIC0gaW5o
ZXJpdGVkIGRhdGEgcHJvcGVydGllcyBhcmUgaWdub3JlZAotLS0tKi8KLQotdmFyIHByb3RvID0g
e307Ci0KLU9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIkZhdGhlciIsIHsKLSAgdmFsdWU6
IDEwLAotICBjb25maWd1cmFibGU6IHRydWUKLX0pOwotCi12YXIgQ29uc3RydWN0RnVuID0gZnVu
Y3Rpb24oKSB7fTsKLUNvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsKLQotdmFyIGNoaWxk
ID0gbmV3IENvbnN0cnVjdEZ1bigpOwotdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJs
ZShjaGlsZCk7Ci1PYmplY3Quc2VhbChjaGlsZCk7Ci0KLXZhciBiZWZvcmVEZWxldGVkID0gcHJv
dG8uaGFzT3duUHJvcGVydHkoIkZhdGhlciIpOwotZGVsZXRlIHByb3RvLkZhdGhlcjsKLXZhciBh
ZnRlckRlbGV0ZWQgPSBwcm90by5oYXNPd25Qcm9wZXJ0eSgiRmF0aGVyIik7Ci0KLWFzc2VydChw
cmVDaGVjaywgJ3ByZUNoZWNrICE9PSB0cnVlJyk7Ci1hc3NlcnQoYmVmb3JlRGVsZXRlZCwgJ2Jl
Zm9yZURlbGV0ZWQgIT09IHRydWUnKTsKLWFzc2VydC5zYW1lVmFsdWUoYWZ0ZXJEZWxldGVkLCBm
YWxzZSwgJ2FmdGVyRGVsZXRlZCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLTMuanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDVkZmY4NTYzZjZhMzdkYzFmY2Y0MTJmYTUwZTNkNzVhMzhjODYxZjcu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItMy5qcworKysgL2Rl
di9udWxsCkBAIC0xLDMxICswLDAgQEAKLS8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVy
bmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVk
IGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0vKi0tLQot
ZXM1aWQ6IDE1LjIuMy44LTItMwotZGVzY3JpcHRpb246IE9iamVjdC5zZWFsIC0gaW5oZXJpdGVk
IGFjY2Vzc29yIHByb3BlcnRpZXMgYXJlIGlnbm9yZWQKLS0tLSovCi0KLXZhciBwcm90byA9IHt9
OwotCi1PYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJGYXRoZXIiLCB7Ci0gIGdldDogZnVu
Y3Rpb24oKSB7Ci0gICAgcmV0dXJuIDEwOwotICB9LAotICBjb25maWd1cmFibGU6IHRydWUKLX0p
OwotCi12YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24oKSB7fTsKLUNvbnN0cnVjdEZ1bi5wcm90
b3R5cGUgPSBwcm90bzsKLQotdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOwotdmFyIHBy
ZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShjaGlsZCk7Ci1PYmplY3Quc2VhbChjaGlsZCk7
Ci0KLXZhciBiZWZvcmVEZWxldGVkID0gcHJvdG8uaGFzT3duUHJvcGVydHkoIkZhdGhlciIpOwot
ZGVsZXRlIHByb3RvLkZhdGhlcjsKLXZhciBhZnRlckRlbGV0ZWQgPSBwcm90by5oYXNPd25Qcm9w
ZXJ0eSgiRmF0aGVyIik7Ci0KLWFzc2VydChwcmVDaGVjaywgJ3ByZUNoZWNrICE9PSB0cnVlJyk7
Ci1hc3NlcnQoYmVmb3JlRGVsZXRlZCwgJ2JlZm9yZURlbGV0ZWQgIT09IHRydWUnKTsKLWFzc2Vy
dC5zYW1lVmFsdWUoYWZ0ZXJEZWxldGVkLCBmYWxzZSwgJ2FmdGVyRGVsZXRlZCcpOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44
LTItNC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4y
LjMuOC0yLTQuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3OTc1ZTY4OGY4MzAw
ODQ1OTcyNWViMjM2YjgxNzM2OTA3ZWJmNGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9z
ZWFsLzE1LjIuMy44LTItNC5qcworKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLS8vIENv
cHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgotCi0vKi0tLQotZXM1aWQ6IDE1LjIuMy44LTItNAotZGVzY3JpcHRp
b246IE9iamVjdC5zZWFsIC0gbm9uLWVudW1lcmFibGUgb3duIHByb3BlcnR5IG9mICdPJyBpcyBz
ZWFsZWQKLWluY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCi0tLS0qLwotCi12YXIgb2JqID0g
e307Ci0KLU9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7Ci0gIHZhbHVlOiAxMCwK
LSAgZW51bWVyYWJsZTogZmFsc2UsCi0gIGNvbmZpZ3VyYWJsZTogdHJ1ZQotfSk7Ci0KLWFzc2Vy
dChPYmplY3QuaXNFeHRlbnNpYmxlKG9iaikpOwotT2JqZWN0LnNlYWwob2JqKTsKLQotYXNzZXJ0
KG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIikpOwotdmVyaWZ5Tm90Q29uZmlndXJhYmxlKG9iaiwg
ImZvbyIpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9zZWFsLzE1LjIuMy44LTItYS0xLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9zZWFsLzE1LjIuMy44LTItYS0xLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMGFmMzE2YmIzZTQ3ZmI0M2VhYzg5NDQ2NTBkMWQ0MzRkYzc4MTBiLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWEtMS5qcworKysgL2Rldi9udWxsCkBA
IC0xLDE4ICswLDAgQEAKLS8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0vKi0tLQotZXM1aWQ6IDE1
LjIuMy44LTItYS0xCi1kZXNjcmlwdGlvbjogT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIGRhdGEg
cHJvcGVydHkKLWluY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCi0tLS0qLwotCi12YXIgb2Jq
ID0ge307Ci0KLW9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJp
YnV0ZSB2YWx1ZSBvZiBmb286IHRydWUKLQotYXNzZXJ0KE9iamVjdC5pc0V4dGVuc2libGUob2Jq
KSk7Ci1PYmplY3Quc2VhbChvYmopOwotCi12ZXJpZnlOb3RDb25maWd1cmFibGUob2JqLCAiZm9v
Iik7Ci1hc3NlcnQuc2FtZVZhbHVlKG9iai5mb28sIDEwKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWEtMTAuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1hLTEw
LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NGZjMDI1YmY0NzJiYzJkMDhkYzM4
ZjY3YjdmZDU3MmY4M2RmODY1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4y
LjMuOC0yLWEtMTAuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0vLyBDb3B5cmln
aHQgKGMpIDIwMTIgRWNtYSBJbnRlcm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KLQotLyotLS0KLWVzNWlkOiAxNS4yLjMuOC0yLWEtMTAKLWRlc2NyaXB0aW9u
OiA+Ci0gICAgT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5IG9mIGEgQm9vbGVhbiBv
YmplY3QgdGhhdCB1c2VzCi0gICAgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dCi1pbmNsdWRl
czogW3Byb3BlcnR5SGVscGVyLmpzXQotLS0tKi8KLQotdmFyIG9iaiA9IG5ldyBCb29sZWFuKGZh
bHNlKTsKLQotb2JqLmZvbyA9IDEwOwotCi1hc3NlcnQoT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmop
KTsKLU9iamVjdC5zZWFsKG9iaik7Ci0KLXZlcmlmeU5vdENvbmZpZ3VyYWJsZShvYmosICJmb28i
KTsKLWFzc2VydC5zYW1lVmFsdWUob2JqLmZvbywgMTApOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItYS0xMS5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWEtMTEu
anMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2OGQzZTAxY2EwN2JjYjk5ZDY4Y2Q3
YjA0MjkwNGQ0OWI4MmEzZjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIu
My44LTItYS0xMS5qcworKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS8vIENvcHlyaWdo
dCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgotCi0vKi0tLQotZXM1aWQ6IDE1LjIuMy44LTItYS0xMQotZGVzY3JpcHRpb246
ID4KLSAgICBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYSBOdW1iZXIgb2Jq
ZWN0IHRoYXQgdXNlcwotICAgIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXQotaW5jbHVkZXM6
IFtwcm9wZXJ0eUhlbHBlci5qc10KLS0tLSovCi0KLXZhciBvYmogPSBuZXcgTnVtYmVyKC0xKTsK
LQotb2JqLmZvbyA9IDEwOwotCi1hc3NlcnQoT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopKTsKLU9i
amVjdC5zZWFsKG9iaik7Ci0KLXZlcmlmeU5vdENvbmZpZ3VyYWJsZShvYmosICJmb28iKTsKLWFz
c2VydC5zYW1lVmFsdWUob2JqLmZvbywgMTApOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItYS0xMi5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWEtMTIuanMKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYzZTIxMzNjZGM4OWFhZjM2NTZjOGI5ZDQ4YTdj
OTIzOTlhZGJmNTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTIt
YS0xMi5qcworKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS8vIENvcHlyaWdodCAoYykg
MjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgotCi0vKi0tLQotZXM1aWQ6IDE1LjIuMy44LTItYS0xMgotZGVzY3JpcHRpb246ID4KLSAg
ICBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYSBEYXRlIG9iamVjdCB0aGF0
IHVzZXMKLSAgICBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0KLWluY2x1ZGVzOiBbcHJvcGVy
dHlIZWxwZXIuanNdCi0tLS0qLwotCi12YXIgb2JqID0gbmV3IERhdGUoKTsKLQotb2JqLmZvbyA9
IDEwOwotCi1hc3NlcnQoT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopKTsKLU9iamVjdC5zZWFsKG9i
aik7Ci0KLXZlcmlmeU5vdENvbmZpZ3VyYWJsZShvYmosICJmb28iKTsKLWFzc2VydC5zYW1lVmFs
dWUob2JqLmZvbywgMTApOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItYS0xMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWEtMTMuanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGZhNGVlOTUzZTkxMWJiMDAzOGNlZDViMGQ2YTg2MzYyMzFhYjU4NjIu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItYS0xMy5qcworKysg
L2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIElu
dGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0vKi0t
LQotZXM1aWQ6IDE1LjIuMy44LTItYS0xMwotZGVzY3JpcHRpb246ID4KLSAgICBPYmplY3Quc2Vh
bCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYSBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcwotICAg
IE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXQotaW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5q
c10KLS0tLSovCi0KLXZhciBvYmogPSBuZXcgUmVnRXhwKCk7Ci0KLW9iai5mb28gPSAxMDsKLQot
YXNzZXJ0KE9iamVjdC5pc0V4dGVuc2libGUob2JqKSk7Ci1PYmplY3Quc2VhbChvYmopOwotCi12
ZXJpZnlOb3RDb25maWd1cmFibGUob2JqLCAiZm9vIik7Ci1hc3NlcnQuc2FtZVZhbHVlKG9iai5m
b28sIDEwKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmpl
Y3Qvc2VhbC8xNS4yLjMuOC0yLWEtMTQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1hLTE0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA2MGY0MmI3MGQzMjhhNjRhZjEzODc3MjVjODM0ZDhjMDE1YjY1NGQ4Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWEtMTQuanMKKysrIC9kZXYvbnVs
bApAQCAtMSwyMCArMCwwIEBACi0vLyBDb3B5cmlnaHQgKGMpIDIwMTIgRWNtYSBJbnRlcm5hdGlv
bmFsLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotLyotLS0KLWVzNWlk
OiAxNS4yLjMuOC0yLWEtMTQKLWRlc2NyaXB0aW9uOiA+Ci0gICAgT2JqZWN0LnNlYWwgLSAnUCcg
aXMgb3duIHByb3BlcnR5IG9mIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMKLSAgICBPYmplY3Qn
cyBbW0dldE93blByb3BlcnR5XV0KLWluY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCi0tLS0q
LwotCi12YXIgb2JqID0gbmV3IEVycm9yKCk7Ci0KLW9iai5mb28gPSAxMDsKLQotYXNzZXJ0KE9i
amVjdC5pc0V4dGVuc2libGUob2JqKSk7Ci1PYmplY3Quc2VhbChvYmopOwotCi12ZXJpZnlOb3RD
b25maWd1cmFibGUob2JqLCAiZm9vIik7Ci1hc3NlcnQuc2FtZVZhbHVlKG9iai5mb28sIDEwKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8x
NS4yLjMuOC0yLWEtMTUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0
L3NlYWwvMTUuMi4zLjgtMi1hLTE1LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAy
NDJhMWM4NWM1ZTg3ODFhNTJlMjk4YjlkMjFhZGQzZmU2ZmM2OGRhLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWEtMTUuanMKKysrIC9kZXYvbnVsbApAQCAtMSwy
MiArMCwwIEBACi0vLyBDb3B5cmlnaHQgKGMpIDIwMTIgRWNtYSBJbnRlcm5hdGlvbmFsLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotLyotLS0KLWVzNWlkOiAxNS4yLjMu
OC0yLWEtMTUKLWRlc2NyaXB0aW9uOiA+Ci0gICAgT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHBy
b3BlcnR5IG9mIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2gKLSAgICBpbXBsZW1lbnRzIGl0cyBv
d24gW1tHZXRPd25Qcm9wZXJ0eV1dCi1pbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQotLS0t
Ki8KLQotdmFyIG9iaiA9IChmdW5jdGlvbigpIHsKLSAgcmV0dXJuIGFyZ3VtZW50czsKLX0pKCk7
Ci0KLW9iai5mb28gPSAxMDsKLQotYXNzZXJ0KE9iamVjdC5pc0V4dGVuc2libGUob2JqKSk7Ci1P
YmplY3Quc2VhbChvYmopOwotCi12ZXJpZnlOb3RDb25maWd1cmFibGUob2JqLCAiZm9vIik7Ci1h
c3NlcnQuc2FtZVZhbHVlKG9iai5mb28sIDEwKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWEtMi5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWEtMi5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjFlMzA4MDRmOTQ0YTcwMWU5YTg4YmUyNWNiNmMz
MmYzMDZhODA1NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1h
LTIuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi0vLyBDb3B5cmlnaHQgKGMpIDIw
MTIgRWNtYSBJbnRlcm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KLQotLyotLS0KLWVzNWlkOiAxNS4yLjMuOC0yLWEtMgotZGVzY3JpcHRpb246ID4KLSAgICBP
YmplY3Quc2VhbCAtICdQJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBp
bmhlcml0ZWQKLSAgICBkYXRhIHByb3BlcnR5Ci1pbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpz
XQotLS0tKi8KLQotdmFyIHByb3RvID0gewotICBmb286IDAKLX07Ci0KLXZhciBDb25zdHJ1Y3RG
dW4gPSBmdW5jdGlvbigpIHt9OwotQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOwotCi12
YXIgb2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOwotT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwg
ImZvbyIsIHsKLSAgdmFsdWU6IDEwLAotICBjb25maWd1cmFibGU6IHRydWUKLX0pOwotCi1hc3Nl
cnQoT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopKTsKLU9iamVjdC5zZWFsKG9iaik7Ci0KLXZlcmlm
eU5vdENvbmZpZ3VyYWJsZShvYmosICJmb28iKTsKLWFzc2VydC5zYW1lVmFsdWUob2JqLmZvbywg
MTApOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9z
ZWFsLzE1LjIuMy44LTItYS0zLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9zZWFsLzE1LjIuMy44LTItYS0zLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBlZTE5OWUzMmFjNTI3NDk0MzJmN2JlNzA3MTQ5Y2YyZGU0NzQ5ZjNjLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWEtMy5qcworKysgL2Rldi9udWxsCkBAIC0x
LDM0ICswLDAgQEAKLS8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBB
bGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0vKi0tLQotZXM1aWQ6IDE1LjIu
My44LTItYS0zCi1kZXNjcmlwdGlvbjogPgotICAgIE9iamVjdC5zZWFsIC0gJ1AnIGlzIG93biBk
YXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZAotICAgIGFjY2Vzc29yIHBy
b3BlcnR5Ci1pbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQotLS0tKi8KLQotdmFyIHByb3Rv
ID0ge307Ci0KLU9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsKLSAgZ2V0OiBm
dW5jdGlvbigpIHsKLSAgICByZXR1cm4gMDsKLSAgfSwKLSAgY29uZmlndXJhYmxlOiB0cnVlCi19
KTsKLQotdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uKCkge307Ci1Db25zdHJ1Y3RGdW4ucHJv
dG90eXBlID0gcHJvdG87Ci0KLXZhciBvYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7Ci1PYmplY3Qu
ZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgewotICB2YWx1ZTogMTAsCi0gIGNvbmZpZ3VyYWJs
ZTogdHJ1ZQotfSk7Ci0KLWFzc2VydChPYmplY3QuaXNFeHRlbnNpYmxlKG9iaikpOwotT2JqZWN0
LnNlYWwob2JqKTsKLQotdmVyaWZ5Tm90Q29uZmlndXJhYmxlKG9iaiwgImZvbyIpOwotYXNzZXJ0
LnNhbWVWYWx1ZShvYmouZm9vLCAxMCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1hLTQuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1hLTQuanMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhkZTgyN2JkNzVmZDFhNzBkZDExODljNWM2NTM4MDljODNk
NDM3YjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItYS00Lmpz
CisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVj
bWEgSW50ZXJuYXRpb25hbC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMg
Z292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0K
LS8qLS0tCi1lczVpZDogMTUuMi4zLjgtMi1hLTQKLWRlc2NyaXB0aW9uOiBPYmplY3Quc2VhbCAt
ICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkKLWluY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIu
anNdCi0tLS0qLwotCi12YXIgb2JqID0ge307Ci0KLU9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmos
ICJmb28iLCB7Ci0gIGdldDogZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIDEwOwotICB9LAotICBj
b25maWd1cmFibGU6IHRydWUKLX0pOwotCi1hc3NlcnQoT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmop
KTsKLU9iamVjdC5zZWFsKG9iaik7Ci0KLXZlcmlmeU5vdENvbmZpZ3VyYWJsZShvYmosICJmb28i
KTsKLWFzc2VydC5zYW1lVmFsdWUob2JqLmZvbywgMTApOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItYS01LmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItYS01Lmpz
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMTA1N2UxMzYxOWIyODEyMTlhZDRhYjk3
MzJlNzQzNjk5YzlhMjA5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMu
OC0yLWEtNS5qcworKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLS8vIENvcHlyaWdodCAo
YykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgotCi0vKi0tLQotZXM1aWQ6IDE1LjIuMy44LTItYS01Ci1kZXNjcmlwdGlvbjogPgot
ICAgIE9iamVjdC5zZWFsIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJy
aWRlcyBhbgotICAgIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5Ci1pbmNsdWRlczogW3Byb3BlcnR5
SGVscGVyLmpzXQotLS0tKi8KLQotdmFyIHByb3RvID0ge307Ci0KLU9iamVjdC5kZWZpbmVQcm9w
ZXJ0eShwcm90bywgImZvbyIsIHsKLSAgdmFsdWU6IDAsCi0gIGNvbmZpZ3VyYWJsZTogdHJ1ZQot
fSk7Ci0KLXZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbigpIHt9OwotQ29uc3RydWN0RnVuLnBy
b3RvdHlwZSA9IHByb3RvOwotCi12YXIgb2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOwotCi1PYmpl
Y3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgewotICBnZXQ6IGZ1bmN0aW9uKCkgewotICAg
IHJldHVybiAxMDsKLSAgfSwKLSAgY29uZmlndXJhYmxlOiB0cnVlCi19KTsKLQotYXNzZXJ0KE9i
amVjdC5pc0V4dGVuc2libGUob2JqKSk7Ci1PYmplY3Quc2VhbChvYmopOwotCi12ZXJpZnlOb3RD
b25maWd1cmFibGUob2JqLCAiZm9vIik7Ci1hc3NlcnQuc2FtZVZhbHVlKG9iai5mb28sIDEwKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8x
NS4yLjMuOC0yLWEtNi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
c2VhbC8xNS4yLjMuOC0yLWEtNi5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzMx
ODA2MWNlMDQ1MWFmMDhiNmI4NjNkOTdiYWQ2YjU3M2Q2MmJiMC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1hLTYuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzNyAr
MCwwIEBACi0vLyBDb3B5cmlnaHQgKGMpIDIwMTIgRWNtYSBJbnRlcm5hdGlvbmFsLiAgQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotLyotLS0KLWVzNWlkOiAxNS4yLjMuOC0y
LWEtNgotZGVzY3JpcHRpb246ID4KLSAgICBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gYWNjZXNz
b3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4KLSAgICBpbmhlcml0ZWQgYWNjZXNzb3IgcHJv
cGVydHkKLWluY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCi0tLS0qLwotCi12YXIgcHJvdG8g
PSB7fTsKLQotT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgewotICBnZXQ6IGZ1
bmN0aW9uKCkgewotICAgIHJldHVybiAwOwotICB9LAotICBjb25maWd1cmFibGU6IHRydWUKLX0p
OwotCi12YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24oKSB7fTsKLUNvbnN0cnVjdEZ1bi5wcm90
b3R5cGUgPSBwcm90bzsKLQotdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsKLQotT2JqZWN0
LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsKLSAgZ2V0OiBmdW5jdGlvbigpIHsKLSAgICBy
ZXR1cm4gMTA7Ci0gIH0sCi0gIGNvbmZpZ3VyYWJsZTogdHJ1ZQotfSk7Ci0KLWFzc2VydChPYmpl
Y3QuaXNFeHRlbnNpYmxlKG9iaikpOwotT2JqZWN0LnNlYWwob2JqKTsKLQotdmVyaWZ5Tm90Q29u
ZmlndXJhYmxlKG9iaiwgImZvbyIpOwotYXNzZXJ0LnNhbWVWYWx1ZShvYmouZm9vLCAxMCk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUu
Mi4zLjgtMi1hLTcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Nl
YWwvMTUuMi4zLjgtMi1hLTcuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgwOGZm
YzgwZjdiNjJkYjkwNDc3ZmVhNzQyZDg0ODE1MjZkYjY4NGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9zZWFsLzE1LjIuMy44LTItYS03LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAs
MCBAQAotLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lczVpZDogMTUuMi4zLjgtMi1h
LTcKLWRlc2NyaXB0aW9uOiA+Ci0gICAgT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5
IG9mIGEgRnVuY3Rpb24gb2JqZWN0IHRoYXQgdXNlcwotICAgIE9iamVjdCdzIFtbR2V0T3duUHJv
cGVydHldXQotaW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KLS0tLSovCi0KLXZhciBvYmog
PSBmdW5jdGlvbigpIHt9OwotCi1vYmouZm9vID0gMTA7Ci0KLWFzc2VydChPYmplY3QuaXNFeHRl
bnNpYmxlKG9iaikpOwotT2JqZWN0LnNlYWwob2JqKTsKLQotdmVyaWZ5Tm90Q29uZmlndXJhYmxl
KG9iaiwgImZvbyIpOwotYXNzZXJ0LnNhbWVWYWx1ZShvYmouZm9vLCAxMCk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1h
LTguanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4z
LjgtMi1hLTguanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4MTE0OTgyM2MyNWFj
MTNkM2RlOWViNjY0MmU5YTNmNWM0MzM2M2UuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9z
ZWFsLzE1LjIuMy44LTItYS04LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLy8g
Q29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lczVpZDogMTUuMi4zLjgtMi1hLTgKLWRlc2Ny
aXB0aW9uOiA+Ci0gICAgT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5IG9mIGFuIEFy
cmF5IG9iamVjdCB0aGF0IHVzZXMKLSAgICBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0KLWlu
Y2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCi0tLS0qLwotCi12YXIgb2JqID0gW107Ci0KLW9i
ai5mb28gPSAxMDsKLQotYXNzZXJ0KE9iamVjdC5pc0V4dGVuc2libGUob2JqKSk7Ci1PYmplY3Qu
c2VhbChvYmopOwotCi12ZXJpZnlOb3RDb25maWd1cmFibGUob2JqLCAiZm9vIik7Ci1hc3NlcnQu
c2FtZVZhbHVlKG9iai5mb28sIDEwKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWEtOS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWEtOS5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNzE4NTc1ZmFjOGI3NzU2ZWIwMDYwY2E0NjE4MDdhOWQ0MzYz
MTI5Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1hLTkuanMK
KysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0vLyBDb3B5cmlnaHQgKGMpIDIwMTIgRWNt
YSBJbnRlcm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQot
LyotLS0KLWVzNWlkOiAxNS4yLjMuOC0yLWEtOQotZGVzY3JpcHRpb246ID4KLSAgICBPYmplY3Qu
c2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYSBTdHJpbmcgb2JqZWN0IHdoaWNoCi0gICAg
aW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXQotaW5jbHVkZXM6IFtwcm9wZXJ0
eUhlbHBlci5qc10KLS0tLSovCi0KLXZhciBvYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsKLQotb2Jq
LmZvbyA9IDEwOwotCi1hc3NlcnQoT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopKTsKLU9iamVjdC5z
ZWFsKG9iaik7Ci0KLXZlcmlmeU5vdENvbmZpZ3VyYWJsZShvYmosICJmb28iKTsKLWFzc2VydC5z
YW1lVmFsdWUob2JqLmZvbywgMTApOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItYi0xLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItYi0xLmpzCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBhYjAwYTYzZDBmMDM5ZjM5MzU3ZGJmMzdjMGJkMmJjMTg3ODg3
MDRjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWItMS5qcwor
KysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLS8vIENvcHlyaWdodCAoYykgMjAxMiBFY21h
IEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0v
Ki0tLQotZXM1aWQ6IDE1LjIuMy44LTItYi0xCi1kZXNjcmlwdGlvbjogPgotICAgIE9iamVjdC5z
ZWFsIC0gdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIG93biBkYXRhIHByb3BlcnR5
Ci0gICAgb2YgJ08nIGlzIHNldCBmcm9tIHRydWUgdG8gZmFsc2UgYW5kIG90aGVyIGF0dHJpYnV0
ZXMgb2YgdGhlCi0gICAgcHJvcGVydHkgYXJlIHVuYWx0ZXJlZAotaW5jbHVkZXM6IFtwcm9wZXJ0
eUhlbHBlci5qc10KLS0tLSovCi0KLXZhciBvYmogPSB7fTsKLQotT2JqZWN0LmRlZmluZVByb3Bl
cnR5KG9iaiwgImZvbyIsIHsKLSAgdmFsdWU6IDEwLAotICB3cml0YWJsZTogdHJ1ZSwKLSAgZW51
bWVyYWJsZTogdHJ1ZSwKLSAgY29uZmlndXJhYmxlOiB0cnVlCi19KTsKLXZhciBwcmVDaGVjayA9
IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsKLU9iamVjdC5zZWFsKG9iaik7Ci0KLWlmICghcHJl
Q2hlY2spIHsKLSAgJEVSUk9SKCdFeHBlY3RlZCBwcmVDaGVjayB0byBiZSB0cnVlLCBhY3R1YWxs
eSAnICsgcHJlQ2hlY2spOwotfQotCi12ZXJpZnlFcXVhbFRvKG9iaiwgImZvbyIsIDEwKTsKLQot
dmVyaWZ5V3JpdGFibGUob2JqLCAiZm9vIik7Ci0KLXZlcmlmeUVudW1lcmFibGUob2JqLCAiZm9v
Iik7Ci0KLXZlcmlmeU5vdENvbmZpZ3VyYWJsZShvYmosICJmb28iKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWItMi5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0y
LWItMi5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjg2YTUxODU3ZDY4ZjllNDZk
MThiZWM3ZWE0Mzk3OTA2YzhjZjYzMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwv
MTUuMi4zLjgtMi1iLTIuanMKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi0vLyBDb3B5
cmlnaHQgKGMpIDIwMTIgRWNtYSBJbnRlcm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KLQotLyotLS0KLWVzNWlkOiAxNS4yLjMuOC0yLWItMgotZGVzY3JpcHRp
b246ID4KLSAgICBPYmplY3Quc2VhbCAtIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBv
ZiBvd24gYWNjZXNzb3IKLSAgICBwcm9wZXJ0eSBvZiAnTycgaXMgc2V0IGZyb20gdHJ1ZSB0byBm
YWxzZSBhbmQgb3RoZXIgYXR0cmlidXRlcyBvZgotICAgIHRoZSBwcm9wZXJ0eSBhcmUgdW5hbHRl
cmVkCi1pbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQotLS0tKi8KLQotdmFyIG9iaiA9IHt9
Owotb2JqLnZhcmlhYmxlRm9ySGVscFZlcmlmeSA9ICJkYXRhIjsKLQotZnVuY3Rpb24gc2V0RnVu
Yyh2YWx1ZSkgewotICBvYmoudmFyaWFibGVGb3JIZWxwVmVyaWZ5ID0gdmFsdWU7Ci19Ci0KLWZ1
bmN0aW9uIGdldEZ1bmMoKSB7Ci0gIHJldHVybiAxMDsKLX0KLU9iamVjdC5kZWZpbmVQcm9wZXJ0
eShvYmosICJmb28iLCB7Ci0gIGdldDogZ2V0RnVuYywKLSAgc2V0OiBzZXRGdW5jLAotICBlbnVt
ZXJhYmxlOiB0cnVlLAotICBjb25maWd1cmFibGU6IHRydWUKLX0pOwotdmFyIHByZUNoZWNrID0g
T2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOwotT2JqZWN0LnNlYWwob2JqKTsKLQotaWYgKCFwcmVD
aGVjaykgewotICAkRVJST1IoJ0V4cGVjdGVkIHByZUNoZWNrIHRvIGJlIHRydWUsIGFjdHVhbGx5
ICcgKyBwcmVDaGVjayk7Ci19Ci0KLXZlcmlmeUVxdWFsVG8ob2JqLCAiZm9vIiwgZ2V0RnVuYygp
KTsKLQotdmVyaWZ5V3JpdGFibGUob2JqLCAiZm9vIiwgInZhcmlhYmxlRm9ySGVscFZlcmlmeSIp
OwotCi12ZXJpZnlFbnVtZXJhYmxlKG9iaiwgImZvbyIpOwotCi12ZXJpZnlOb3RDb25maWd1cmFi
bGUob2JqLCAiZm9vIik7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1iLTMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1iLTMuanMKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDI1NzZmM2ViYWM3M2U5ZWQ1YTBiZjY4NTQ2MzRkYThjNWE3Y2NjNjAuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItYi0zLmpzCisrKyAvZGV2
L251bGwKQEAgLTEsNTggKzAsMCBAQAotLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJu
YXRpb25hbC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1l
czVpZDogMTUuMi4zLjgtMi1iLTMKLWRlc2NyaXB0aW9uOiA+Ci0gICAgT2JqZWN0LnNlYWwgLSB0
aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgYWxsIG93biBwcm9wZXJ0aWVzCi0gICAg
b2YgJ08nIGFyZSBzZXQgZnJvbSB0cnVlIHRvIGZhbHNlIGFuZCBvdGhlciBhdHRyaWJ1dGVzIG9m
IHRoZQotICAgIHByb3BlcnR5IGFyZSB1bmFsdGVyZWQKLWluY2x1ZGVzOiBbcHJvcGVydHlIZWxw
ZXIuanNdCi0tLS0qLwotCi12YXIgb2JqID0ge307Ci1vYmoudmFyaWFibGVGb3JIZWxwVmVyaWZ5
ID0gImRhdGEiOwotCi1PYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vMSIsIHsKLSAgdmFs
dWU6IDEwLAotICB3cml0YWJsZTogdHJ1ZSwKLSAgZW51bWVyYWJsZTogdHJ1ZSwKLSAgY29uZmln
dXJhYmxlOiB0cnVlCi19KTsKLQotZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsKLSAgb2JqLnZh
cmlhYmxlRm9ySGVscFZlcmlmeSA9IHZhbHVlOwotfQotCi1mdW5jdGlvbiBnZXRfZnVuYygpIHsK
LSAgcmV0dXJuIDEwOwotfQotT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbzIiLCB7Ci0g
IGdldDogZ2V0X2Z1bmMsCi0gIHNldDogc2V0X2Z1bmMsCi0gIGVudW1lcmFibGU6IHRydWUsCi0g
IGNvbmZpZ3VyYWJsZTogdHJ1ZQotfSk7Ci12YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNp
YmxlKG9iaik7Ci1PYmplY3Quc2VhbChvYmopOwotCi1pZiAoIXByZUNoZWNrKSB7Ci0gICRFUlJP
UignRXhwZWN0ZWQgcHJlQ2hlY2sgdG8gYmUgdHJ1ZSwgYWN0dWFsbHkgJyArIHByZUNoZWNrKTsK
LX0KLQotCi12ZXJpZnlFcXVhbFRvKG9iaiwgImZvbzEiLCAxMCk7Ci0KLXZlcmlmeVdyaXRhYmxl
KG9iaiwgImZvbzEiKTsKLQotdmVyaWZ5RW51bWVyYWJsZShvYmosICJmb28xIik7Ci0KLXZlcmlm
eU5vdENvbmZpZ3VyYWJsZShvYmosICJmb28xIik7Ci0KLXZlcmlmeUVxdWFsVG8ob2JqLCAiZm9v
MiIsIGdldF9mdW5jKCkpOwotCi12ZXJpZnlXcml0YWJsZShvYmosICJmb28yIiwgInZhcmlhYmxl
Rm9ySGVscFZlcmlmeSIpOwotCi12ZXJpZnlFbnVtZXJhYmxlKG9iaiwgImZvbzIiKTsKLQotdmVy
aWZ5Tm90Q29uZmlndXJhYmxlKG9iaiwgImZvbzIiKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWItNC5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWItNC5qcwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGRlMjQ4YjEwNjk4MzM2NmMzYmRjMjBkNDdh
ZWY3NWQwMTJlOWQ0Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgt
Mi1iLTQuanMKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi0vLyBDb3B5cmlnaHQgKGMp
IDIwMTIgRWNtYSBJbnRlcm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KLQotLyotLS0KLWVzNWlkOiAxNS4yLjMuOC0yLWItNAotZGVzY3JpcHRpb246ID4KLSAg
ICBPYmplY3Quc2VhbCAtIGFsbCBvd24gcHJvcGVydGllcyBvZiAnTycgYXJlIGFscmVhZHkKLSAg
ICBub24tY29uZmlndXJhYmxlCi1pbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpzXQotLS0tKi8K
LQotdmFyIG9iaiA9IHt9Owotb2JqLnZhcmlhYmxlRm9ySGVscFZlcmlmeSA9ICJkYXRhIjsKLQot
T2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbzEiLCB7Ci0gIHZhbHVlOiAxMCwKLSAgd3Jp
dGFibGU6IHRydWUsCi0gIGVudW1lcmFibGU6IHRydWUsCi0gIGNvbmZpZ3VyYWJsZTogZmFsc2UK
LX0pOwotCi1mdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgewotICBvYmoudmFyaWFibGVGb3JIZWxw
VmVyaWZ5ID0gdmFsdWU7Ci19Ci0KLWZ1bmN0aW9uIGdldF9mdW5jKCkgewotICByZXR1cm4gMTA7
Ci19Ci1PYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vMiIsIHsKLSAgZ2V0OiBnZXRfZnVu
YywKLSAgc2V0OiBzZXRfZnVuYywKLSAgZW51bWVyYWJsZTogdHJ1ZSwKLSAgY29uZmlndXJhYmxl
OiBmYWxzZQotfSk7Ci0KLWlmICghT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopKSB7Ci0gICRFUlJP
UignRXhwZWN0ZWQgb2JqIHRvIGJlIGV4dGVuc2libGUsIGFjdHVhbGx5ICcgKyBPYmplY3QuaXNF
eHRlbnNpYmxlKG9iaikpOwotfQotCi1PYmplY3Quc2VhbChvYmopOwotCi1pZiAoT2JqZWN0Lmlz
RXh0ZW5zaWJsZShvYmopKSB7Ci0gICRFUlJPUignRXhwZWN0ZWQgb2JqIE5PVCB0byBiZSBleHRl
bnNpYmxlLCBhY3R1YWxseSAnICsgT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopKTsKLX0KLQotdmVy
aWZ5RXF1YWxUbyhvYmosICJmb28xIiwgMTApOwotCi12ZXJpZnlXcml0YWJsZShvYmosICJmb28x
Iik7Ci0KLXZlcmlmeUVudW1lcmFibGUob2JqLCAiZm9vMSIpOwotCi12ZXJpZnlOb3RDb25maWd1
cmFibGUob2JqLCAiZm9vMSIpOwotdmVyaWZ5RXF1YWxUbyhvYmosICJmb28yIiwgZ2V0X2Z1bmMo
KSk7Ci0KLXZlcmlmeVdyaXRhYmxlKG9iaiwgImZvbzIiLCAidmFyaWFibGVGb3JIZWxwVmVyaWZ5
Iik7Ci0KLXZlcmlmeUVudW1lcmFibGUob2JqLCAiZm9vMiIpOwotCi12ZXJpZnlOb3RDb25maWd1
cmFibGUob2JqLCAiZm9vMiIpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItYy0xLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItYy0xLmpzCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA1MTQ0NTZhNjY2YzdjNGQwNGVhMjlhYWNmMGI2OGZmYjNjN2QwOGNk
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWMtMS5qcworKysg
L2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLS8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIElu
dGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0vKi0t
LQotZXM1aWQ6IDE1LjIuMy44LTItYy0xCi1kZXNjcmlwdGlvbjogT2JqZWN0LnNlYWwgLSAnTycg
aXMgYSBGdW5jdGlvbiBvYmplY3QKLS0tLSovCi0KLXZhciBmdW4gPSBmdW5jdGlvbigpIHt9Owot
dmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShmdW4pOwotT2JqZWN0LnNlYWwoZnVu
KTsKLQotYXNzZXJ0KHByZUNoZWNrLCAncHJlQ2hlY2sgIT09IHRydWUnKTsKLWFzc2VydChPYmpl
Y3QuaXNTZWFsZWQoZnVuKSwgJ09iamVjdC5pc1NlYWxlZChmdW4pICE9PSB0cnVlJyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4z
LjgtMi1jLTIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwv
MTUuMi4zLjgtMi1jLTIuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ5YThhZWY2
ZGY5ZTBlNmU1YWY0MjhmNTY0NWJjMDlhNjliNGRjOWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9zZWFsLzE1LjIuMy44LTItYy0yLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBA
QAotLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lczVpZDogMTUuMi4zLjgtMi1jLTIK
LWRlc2NyaXB0aW9uOiBPYmplY3Quc2VhbCAtICdPJyBpcyBhbiBBcnJheSBvYmplY3QKLS0tLSov
Ci0KLXZhciBhcnIgPSBbMCwgMV07Ci12YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxl
KGFycik7Ci1PYmplY3Quc2VhbChhcnIpOwotCi1hc3NlcnQocHJlQ2hlY2ssICdwcmVDaGVjayAh
PT0gdHJ1ZScpOwotYXNzZXJ0KE9iamVjdC5pc1NlYWxlZChhcnIpLCAnT2JqZWN0LmlzU2VhbGVk
KGFycikgIT09IHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWMtMy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWMtMy5qcwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNDQ3YTJkNWZkMGNjMmRmM2RjYzI3NGM4MGY1MjE0N2YxODIyY2QzNy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1jLTMuanMKKysrIC9k
ZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0vLyBDb3B5cmlnaHQgKGMpIDIwMTIgRWNtYSBJbnRl
cm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotLyotLS0K
LWVzNWlkOiAxNS4yLjMuOC0yLWMtMwotZGVzY3JpcHRpb246IE9iamVjdC5zZWFsIC0gJ08nIGlz
IGEgU3RyaW5nIG9iamVjdAotLS0tKi8KLQotdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoImEiKTsK
LXZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoc3RyT2JqKTsKLU9iamVjdC5zZWFs
KHN0ck9iaik7Ci0KLWFzc2VydChwcmVDaGVjaywgJ3ByZUNoZWNrICE9PSB0cnVlJyk7Ci1hc3Nl
cnQoT2JqZWN0LmlzU2VhbGVkKHN0ck9iaiksICdPYmplY3QuaXNTZWFsZWQoc3RyT2JqKSAhPT0g
dHJ1ZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9zZWFsLzE1LjIuMy44LTItYy00LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9zZWFsLzE1LjIuMy44LTItYy00LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBhMDIxNTJhYmQ4MmI0ZmE5MTAxZTYxNjA2NWEwNzBmZWJjNzY2NDFlLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWMtNC5qcworKysgL2Rldi9udWxsCkBA
IC0xLDE0ICswLDAgQEAKLS8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0vKi0tLQotZXM1aWQ6IDE1
LjIuMy44LTItYy00Ci1kZXNjcmlwdGlvbjogT2JqZWN0LnNlYWwgLSAnTycgaXMgYSBCb29sZWFu
IG9iamVjdAotLS0tKi8KLQotdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbihmYWxzZSk7Ci12YXIg
cHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGJvb2xPYmopOwotT2JqZWN0LnNlYWwoYm9v
bE9iaik7Ci0KLWFzc2VydChwcmVDaGVjaywgJ3ByZUNoZWNrICE9PSB0cnVlJyk7Ci1hc3NlcnQo
T2JqZWN0LmlzU2VhbGVkKGJvb2xPYmopLCAnT2JqZWN0LmlzU2VhbGVkKGJvb2xPYmopICE9PSB0
cnVlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0
L3NlYWwvMTUuMi4zLjgtMi1jLTUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1jLTUuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGI2MDI2NDhjZGYxMzFmYzdkMzc4N2U5MDkxNGM4YTQ5NzY4MzkyZjIuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItYy01LmpzCisrKyAvZGV2L251bGwKQEAg
LTEsMTQgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lczVpZDogMTUu
Mi4zLjgtMi1jLTUKLWRlc2NyaXB0aW9uOiBPYmplY3Quc2VhbCAtICdPJyBpcyBhIE51bWJlciBv
YmplY3QKLS0tLSovCi0KLXZhciBudW1PYmogPSBuZXcgTnVtYmVyKDMpOwotdmFyIHByZUNoZWNr
ID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShudW1PYmopOwotT2JqZWN0LnNlYWwobnVtT2JqKTsKLQot
YXNzZXJ0KHByZUNoZWNrLCAncHJlQ2hlY2sgIT09IHRydWUnKTsKLWFzc2VydChPYmplY3QuaXNT
ZWFsZWQobnVtT2JqKSwgJ09iamVjdC5pc1NlYWxlZChudW1PYmopICE9PSB0cnVlJyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4z
LjgtMi1jLTYuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwv
MTUuMi4zLjgtMi1jLTYuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM5NzZhZTU1
ZjU5OGI3NDUxMzNlNDViYjcwMjFiMDc4OTRmNGRiNzEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9zZWFsLzE1LjIuMy44LTItYy02LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBA
QAotLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lczVpZDogMTUuMi4zLjgtMi1jLTYK
LWRlc2NyaXB0aW9uOiBPYmplY3Quc2VhbCAtICdPJyBpcyBhIERhdGUgb2JqZWN0Ci0tLS0qLwot
Ci12YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7Ci12YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRl
bnNpYmxlKGRhdGVPYmopOwotT2JqZWN0LnNlYWwoZGF0ZU9iaik7Ci0KLWFzc2VydChwcmVDaGVj
aywgJ3ByZUNoZWNrICE9PSB0cnVlJyk7Ci1hc3NlcnQoT2JqZWN0LmlzU2VhbGVkKGRhdGVPYmop
LCAnT2JqZWN0LmlzU2VhbGVkKGRhdGVPYmopICE9PSB0cnVlJyk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1jLTcuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1j
LTcuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFlNTBhMTYwMmJiZWJhMTlmNTdh
YWEyZWNlNDZjYWU1MTc3NDU4MjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1
LjIuMy44LTItYy03LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotLy8gQ29weXJp
Z2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0v
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lczVpZDogMTUuMi4zLjgtMi1jLTcKLWRlc2NyaXB0aW9u
OiBPYmplY3Quc2VhbCAtICdPJyBpcyBhIFJlZ0V4cCBvYmplY3QKLS0tLSovCi0KLXZhciByZWdP
YmogPSBuZXcgUmVnRXhwKCk7Ci12YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKHJl
Z09iaik7Ci1PYmplY3Quc2VhbChyZWdPYmopOwotCi1hc3NlcnQocHJlQ2hlY2ssICdwcmVDaGVj
ayAhPT0gdHJ1ZScpOwotYXNzZXJ0KE9iamVjdC5pc1NlYWxlZChyZWdPYmopLCAnT2JqZWN0Lmlz
U2VhbGVkKHJlZ09iaikgIT09IHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWMtOC5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC0yLWMtOC5qcwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTcyZmY2MjU5M2YxNTRjNDdiN2MxN2YxODcyMGM4MGIy
YjA5YjYwYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1jLTgu
anMKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0vLyBDb3B5cmlnaHQgKGMpIDIwMTIg
RWNtYSBJbnRlcm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
LQotLyotLS0KLWVzNWlkOiAxNS4yLjMuOC0yLWMtOAotZGVzY3JpcHRpb246IE9iamVjdC5zZWFs
IC0gJ08nIGlzIGFuIEVycm9yIG9iamVjdAotLS0tKi8KLQotdmFyIGVyck9iaiA9IG5ldyBFcnJv
cigpOwotdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShlcnJPYmopOwotT2JqZWN0
LnNlYWwoZXJyT2JqKTsKLQotYXNzZXJ0KHByZUNoZWNrLCAncHJlQ2hlY2sgIT09IHRydWUnKTsK
LWFzc2VydChPYmplY3QuaXNTZWFsZWQoZXJyT2JqKSwgJ09iamVjdC5pc1NlYWxlZChlcnJPYmop
ICE9PSB0cnVlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1jLTkuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMi1jLTkuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDBhOTMzNTBiMzAxZjg4NTQ0ZjdkNGYyNjFmMWVkZTM5ZDBjMzk0YTYuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTItYy05LmpzCisrKyAvZGV2L251
bGwKQEAgLTEsMTcgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRp
b25hbC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lczVp
ZDogMTUuMi4zLjgtMi1jLTkKLWRlc2NyaXB0aW9uOiBPYmplY3Quc2VhbCAtICdPJyBpcyBhbiBB
cmd1bWVudHMgb2JqZWN0Ci0tLS0qLwotCi12YXIgYXJnT2JqID0gKGZ1bmN0aW9uKCkgewotICBy
ZXR1cm4gYXJndW1lbnRzOwotfSkoKTsKLQotdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5z
aWJsZShhcmdPYmopOwotT2JqZWN0LnNlYWwoYXJnT2JqKTsKLQotYXNzZXJ0KHByZUNoZWNrLCAn
cHJlQ2hlY2sgIT09IHRydWUnKTsKLWFzc2VydChPYmplY3QuaXNTZWFsZWQoYXJnT2JqKSwgJ09i
amVjdC5pc1NlYWxlZChhcmdPYmopICE9PSB0cnVlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMy0xLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTMtMS5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGJlYjFiZDY3NGJhNzkwMmI0NzAxYjM5Nzk5NDNk
MTI0ODVhNjM1OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtMy0x
LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChjKSAyMDEy
IEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
Ci0KLS8qLS0tCi1lczVpZDogMTUuMi4zLjgtMy0xCi1kZXNjcmlwdGlvbjogT2JqZWN0LnNlYWwg
LSByZXR1cm5lZCBvYmplY3QgaXMgbm90IGV4dGVuc2libGUKLS0tLSovCi0KLXZhciBvYmogPSB7
fTsKLXZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsKLU9iamVjdC5zZWFs
KG9iaik7Ci0KLWFzc2VydChwcmVDaGVjaywgJ3ByZUNoZWNrICE9PSB0cnVlJyk7Ci1hc3NlcnQu
c2FtZVZhbHVlKE9iamVjdC5pc0V4dGVuc2libGUob2JqKSwgZmFsc2UsICdPYmplY3QuaXNFeHRl
bnNpYmxlKG9iaiknKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3Qvc2VhbC8xNS4yLjMuOC00LTEuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtNC0xLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA1NmVhODdjMzBmNWQzNTIyM2I3ZGNhNmUxZDdiNGY1MDVlYmIwOWMxLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC8xNS4yLjMuOC00LTEuanMKKysrIC9kZXYvbnVsbApA
QCAtMSwxOCArMCwwIEBACi0vLyBDb3B5cmlnaHQgKGMpIDIwMTIgRWNtYSBJbnRlcm5hdGlvbmFs
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQotLyotLS0KLWVzNWlkOiAx
NS4yLjMuOC00LTEKLWRlc2NyaXB0aW9uOiBPYmplY3Quc2VhbCAtICdPJyBpcyBzZWFsZWQgYWxy
ZWFkeQotLS0tKi8KLQotdmFyIG9iaiA9IHt9OwotCi1vYmouZm9vID0gMTA7IC8vIGRlZmF1bHQg
dmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwg
ZW51bWVyYWJsZTogdHJ1ZQotdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmop
OwotT2JqZWN0LnNlYWwob2JqKTsKLQotT2JqZWN0LnNlYWwob2JqKTsKLQotYXNzZXJ0KHByZUNo
ZWNrLCAncHJlQ2hlY2sgIT09IHRydWUnKTsKLWFzc2VydChPYmplY3QuaXNTZWFsZWQob2JqKSwg
J09iamVjdC5pc1NlYWxlZChvYmopICE9PSB0cnVlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtNC0yLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsLzE1LjIuMy44LTQtMi5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmQ2ZWRiMmZjNTVlZWY4NzQyYmRlOGIwOTQ5MWIx
MDRkYTIzNmI1Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUuMi4zLjgtNC0y
LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotLy8gQ29weXJpZ2h0IChjKSAyMDEy
IEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
Ci0KLS8qLS0tCi1lczVpZDogMTUuMi4zLjgtNC0yCi1kZXNjcmlwdGlvbjogT2JqZWN0LnNlYWwg
LSAnTycgaXMgZnJvemVuIGFscmVhZHkKLS0tLSovCi0KLXZhciBvYmogPSB7fTsKLQotb2JqLmZv
byA9IDEwOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBj
b25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUKLXZhciBwcmVDaGVjayA9IE9iamVj
dC5pc0V4dGVuc2libGUob2JqKTsKLU9iamVjdC5mcmVlemUob2JqKTsKLQotT2JqZWN0LnNlYWwo
b2JqKTsKLQotYXNzZXJ0KHByZUNoZWNrLCAncHJlQ2hlY2sgIT09IHRydWUnKTsKLWFzc2VydChP
YmplY3QuaXNTZWFsZWQob2JqKSwgJ09iamVjdC5pc1NlYWxlZChvYmopICE9PSB0cnVlJyk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvMTUu
Mi4zLjgtNC0zLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFs
LzE1LjIuMy44LTQtMy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGIzMzI5Yzgw
NGNhNzc1N2Y1MmM2ZDllMTY0MGI3MTQ2ODQyMmM4My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L3NlYWwvMTUuMi4zLjgtNC0zLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAot
Ly8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLS8qLS0tCi1lczVpZDogMTUuMi4zLjgtNC0zCi1kZXNj
cmlwdGlvbjogT2JqZWN0LnNlYWwgLSB0aGUgZXh0ZW5zaW9uIG9mICdPJyBpcyBwcmV2ZW50ZWQg
YWxyZWFkeQotLS0tKi8KLQotdmFyIG9iaiA9IHt9OwotCi1vYmouZm9vID0gMTA7IC8vIGRlZmF1
bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1
ZSwgZW51bWVyYWJsZTogdHJ1ZQotdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShv
YmopOwotT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7Ci1PYmplY3Quc2VhbChvYmopOwot
Ci1hc3NlcnQocHJlQ2hlY2ssICdwcmVDaGVjayAhPT0gdHJ1ZScpOwotYXNzZXJ0KE9iamVjdC5p
c1NlYWxlZChvYmopLCAnT2JqZWN0LmlzU2VhbGVkKG9iaikgIT09IHRydWUnKTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9sZW5ndGguanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvbGVuZ3RoLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjRmNzIzM2YwZDg3ODExNmJmMzdkZGM4OGUwM2IwZmViNmNiODY5YTEKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwv
bGVuZ3RoLmpzCkBAIC0wLDAgKzEsMjEgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdh
bGRyb24uICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246
IE9iamVjdC5zZWFsICdgbGVuZ3RoYCBwcm9wZXJ0eScKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBT
dGFuZGFyZCBCdWlsdC1pbiBPYmplY3RzCisKKyAgRXZlcnkgYnVpbHQtaW4gZnVuY3Rpb24gb2Jq
ZWN0LCBpbmNsdWRpbmcgY29uc3RydWN0b3JzLCBoYXMgYSAibGVuZ3RoIiBwcm9wZXJ0eSB3aG9z
ZSB2YWx1ZSBpcyBhbiBpbnRlZ2VyLiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgdGhpcyB2
YWx1ZSBpcyBlcXVhbCB0byB0aGUgbnVtYmVyIG9mIHJlcXVpcmVkIHBhcmFtZXRlcnMgc2hvd24g
aW4gdGhlIHN1YmNsYXVzZSBoZWFkaW5ncyBmb3IgdGhlIGZ1bmN0aW9uIGRlc2NyaXB0aW9uLiBP
cHRpb25hbCBwYXJhbWV0ZXJzIGFuZCByZXN0IHBhcmFtZXRlcnMgYXJlIG5vdCBpbmNsdWRlZCBp
biB0aGUgcGFyYW1ldGVyIGNvdW50LgorCisgIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLCB0
aGUgImxlbmd0aCIgcHJvcGVydHkgb2YgYSBidWlsdC1pbiBmdW5jdGlvbiBvYmplY3QgaGFzIHRo
ZSBhdHRyaWJ1dGVzIHsgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IGZhbHNl
LCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIH0uCisKK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIu
anNdCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5zZWFsLmxlbmd0aCwgMSk7CisK
K3ZlcmlmeU5vdEVudW1lcmFibGUoT2JqZWN0LnNlYWwsICJsZW5ndGgiKTsKK3ZlcmlmeU5vdFdy
aXRhYmxlKE9iamVjdC5zZWFsLCAibGVuZ3RoIik7Cit2ZXJpZnlDb25maWd1cmFibGUoT2JqZWN0
LnNlYWwsICJsZW5ndGgiKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3Qvc2VhbC9uYW1lLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9zZWFsL25hbWUuanMKaW5kZXggMzAwZjc1OWFkNzc5YmEyMGM4ZjM0OGE0MjdkYjE4
ZTYzNDE0ODAyZS4uMGRhNTc5NTY0MmM4YmM0OTkwNjk3NDk2MTc3Njg5N2JmMjg5NjIzMSAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL25hbWUu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL25hbWUu
anMKQEAgLTIsNyArMiw3IEBACiAvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAKIC8qLS0tCi1lczZpZDogMTkuMS4y
LjE3Citlc2lkOiBzZWMtb2JqZWN0LnNlYWwKIGRlc2NyaXB0aW9uOiA+CiAgIE9iamVjdC5zZWFs
Lm5hbWUgaXMgInNlYWwiLgogaW5mbzogfApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjFjNmU3YTAwNzcwMWYwYTY0ZmFmNjJlZWM5YjEwYTI4Y2RkY2Q2OWQKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwv
bm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBAQAorLy8gQ29weXJpZ2h0IChDKSAy
MDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKwor
LyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rl
c2NyaXB0aW9uOiA+CisgIE9iamVjdC5zZWFsIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVj
dF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmpl
Y3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmll
ZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBp
bnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2Ny
aXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKwor
ICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93
IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3Iu
anNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSov
CisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihPYmplY3Quc2VhbCksIGZhbHNlLCAn
aXNDb25zdHJ1Y3RvcihPYmplY3Quc2VhbCkgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IE9iamVjdC5zZWFsKCk7Cit9LCAnYG5l
dyBPYmplY3Quc2VhbCgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1hbGwtb3du
LXByb3BlcnRpZXMtb2Ytby1hcmUtYWxyZWFkeS1ub24tY29uZmlndXJhYmxlLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLWFsbC1vd24t
cHJvcGVydGllcy1vZi1vLWFyZS1hbHJlYWR5LW5vbi1jb25maWd1cmFibGUuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDljNTQxMTQxODIzYjVkZjgzYmEyYzZmNmUwMjI1OGIyZTMwNGU1MgotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qt
c2VhbC1hbGwtb3duLXByb3BlcnRpZXMtb2Ytby1hcmUtYWxyZWFkeS1ub24tY29uZmlndXJhYmxl
LmpzCkBAIC0wLDAgKzEsNTkgQEAKKy8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0
aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLXNldGludGVncml0eWxldmVsCitkZXNjcmlwdGlvbjogPgorICAgIE9iamVjdC5zZWFs
IC0gYWxsIG93biBwcm9wZXJ0aWVzIG9mICdPJyBhcmUgYWxyZWFkeQorICAgIG5vbi1jb25maWd1
cmFibGUKK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCistLS0qLworCit2YXIgb2JqID0g
e307CitvYmoudmFyaWFibGVGb3JIZWxwVmVyaWZ5ID0gImRhdGEiOworCitPYmplY3QuZGVmaW5l
UHJvcGVydHkob2JqLCAiZm9vMSIsIHsKKyAgdmFsdWU6IDEwLAorICB3cml0YWJsZTogdHJ1ZSwK
KyAgZW51bWVyYWJsZTogdHJ1ZSwKKyAgY29uZmlndXJhYmxlOiBmYWxzZQorfSk7CisKK2Z1bmN0
aW9uIHNldF9mdW5jKHZhbHVlKSB7CisgIG9iai52YXJpYWJsZUZvckhlbHBWZXJpZnkgPSB2YWx1
ZTsKK30KKworZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7CisgIHJldHVybiAxMDsKK30KK09iamVjdC5k
ZWZpbmVQcm9wZXJ0eShvYmosICJmb28yIiwgeworICBnZXQ6IGdldF9mdW5jLAorICBzZXQ6IHNl
dF9mdW5jLAorICBlbnVtZXJhYmxlOiB0cnVlLAorICBjb25maWd1cmFibGU6IGZhbHNlCit9KTsK
KworaWYgKCFPYmplY3QuaXNFeHRlbnNpYmxlKG9iaikpIHsKKyAgJEVSUk9SKCdFeHBlY3RlZCBv
YmogdG8gYmUgZXh0ZW5zaWJsZSwgYWN0dWFsbHkgJyArIE9iamVjdC5pc0V4dGVuc2libGUob2Jq
KSk7Cit9CisKK09iamVjdC5zZWFsKG9iaik7CisKK2lmIChPYmplY3QuaXNFeHRlbnNpYmxlKG9i
aikpIHsKKyAgJEVSUk9SKCdFeHBlY3RlZCBvYmogTk9UIHRvIGJlIGV4dGVuc2libGUsIGFjdHVh
bGx5ICcgKyBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaikpOworfQorCit2ZXJpZnlFcXVhbFRvKG9i
aiwgImZvbzEiLCAxMCk7CisKK3ZlcmlmeVdyaXRhYmxlKG9iaiwgImZvbzEiKTsKKwordmVyaWZ5
RW51bWVyYWJsZShvYmosICJmb28xIik7CisKK3ZlcmlmeU5vdENvbmZpZ3VyYWJsZShvYmosICJm
b28xIik7Cit2ZXJpZnlFcXVhbFRvKG9iaiwgImZvbzIiLCBnZXRfZnVuYygpKTsKKwordmVyaWZ5
V3JpdGFibGUob2JqLCAiZm9vMiIsICJ2YXJpYWJsZUZvckhlbHBWZXJpZnkiKTsKKwordmVyaWZ5
RW51bWVyYWJsZShvYmosICJmb28yIik7CisKK3ZlcmlmeU5vdENvbmZpZ3VyYWJsZShvYmosICJm
b28yIik7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0
L3NlYWwvb2JqZWN0LXNlYWwtZXh0ZW5zaWJsZS1vZi1vLWlzLXNldC1hcy1mYWxzZS1ldmVuLWlm
LW8taGFzLW5vLW93bi1wcm9wZXJ0eS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1leHRlbnNpYmxlLW9mLW8taXMtc2V0LWFzLWZhbHNl
LWV2ZW4taWYtby1oYXMtbm8tb3duLXByb3BlcnR5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlMGQ5NWFhMzhj
NTBhMzc3ZTE3Yzc3NjRkMDkyMmRjMmIzOGZmZjUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtZXh0ZW5zaWJs
ZS1vZi1vLWlzLXNldC1hcy1mYWxzZS1ldmVuLWlmLW8taGFzLW5vLW93bi1wcm9wZXJ0eS5qcwpA
QCAtMCwwICsxLDE4IEBACisvLyBDb3B5cmlnaHQgKGMpIDIwMTIgRWNtYSBJbnRlcm5hdGlvbmFs
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNl
Yy1vYmplY3Quc2VhbAorZGVzY3JpcHRpb246ID4KKyAgICBPYmplY3Quc2VhbCAtIGV4dGVuc2li
bGUgb2YgJ08nIGlzIHNldCBhcyBmYWxzZSBldmVuIGlmICdPJyBoYXMgbm8KKyAgICBvd24gcHJv
cGVydHkKKy0tLSovCisKK3ZhciBvYmogPSB7fTsKKwordmFyIHByZUNoZWNrID0gT2JqZWN0Lmlz
RXh0ZW5zaWJsZShvYmopOworCitPYmplY3Quc2VhbChvYmopOworCithc3NlcnQocHJlQ2hlY2ss
ICdwcmVDaGVjayAhPT0gdHJ1ZScpOworYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuaXNFeHRlbnNp
YmxlKG9iaiksIGZhbHNlLCAnT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopJyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwt
aW5oZXJpdGVkLWFjY2Vzc29yLXByb3BlcnRpZXMtYXJlLWlnbm9yZWQuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtaW5oZXJpdGVkLWFj
Y2Vzc29yLXByb3BlcnRpZXMtYXJlLWlnbm9yZWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWU0NmYyZDczMjBh
NGQ3YjExZTEwMjUwMDY2NjY1YzVmY2M1YzFkYgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1pbmhlcml0ZWQt
YWNjZXNzb3ItcHJvcGVydGllcy1hcmUtaWdub3JlZC5qcwpAQCAtMCwwICsxLDMxIEBACisvLyBD
b3B5cmlnaHQgKGMpIDIwMTIgRWNtYSBJbnRlcm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1zZXRpbnRlZ3JpdHlsZXZlbAor
ZGVzY3JpcHRpb246IE9iamVjdC5zZWFsIC0gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnRpZXMg
YXJlIGlnbm9yZWQKKy0tLSovCisKK3ZhciBwcm90byA9IHt9OworCitPYmplY3QuZGVmaW5lUHJv
cGVydHkocHJvdG8sICJGYXRoZXIiLCB7CisgIGdldDogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJu
IDEwOworICB9LAorICBjb25maWd1cmFibGU6IHRydWUKK30pOworCit2YXIgQ29uc3RydWN0RnVu
ID0gZnVuY3Rpb24oKSB7fTsKK0NvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsKKwordmFy
IGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOwordmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0
ZW5zaWJsZShjaGlsZCk7CitPYmplY3Quc2VhbChjaGlsZCk7CisKK3ZhciBiZWZvcmVEZWxldGVk
ID0gcHJvdG8uaGFzT3duUHJvcGVydHkoIkZhdGhlciIpOworZGVsZXRlIHByb3RvLkZhdGhlcjsK
K3ZhciBhZnRlckRlbGV0ZWQgPSBwcm90by5oYXNPd25Qcm9wZXJ0eSgiRmF0aGVyIik7CisKK2Fz
c2VydChwcmVDaGVjaywgJ3ByZUNoZWNrICE9PSB0cnVlJyk7Cithc3NlcnQoYmVmb3JlRGVsZXRl
ZCwgJ2JlZm9yZURlbGV0ZWQgIT09IHRydWUnKTsKK2Fzc2VydC5zYW1lVmFsdWUoYWZ0ZXJEZWxl
dGVkLCBmYWxzZSwgJ2FmdGVyRGVsZXRlZCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLWluaGVyaXRlZC1kYXRhLXBy
b3BlcnRpZXMtYXJlLWlnbm9yZWQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtaW5oZXJpdGVkLWRhdGEtcHJvcGVydGllcy1hcmUtaWdu
b3JlZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42ZmI0YTA3NTY2ZjAwNzg2YzE1MDU4ZjE0ZjkzZTE3NDdhMTBi
MjJmCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9zZWFsL29iamVjdC1zZWFsLWluaGVyaXRlZC1kYXRhLXByb3BlcnRpZXMtYXJlLWlnbm9y
ZWQuanMKQEAgLTAsMCArMSwyOSBAQAorLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJu
YXRpb25hbC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitl
c2lkOiBzZWMtc2V0aW50ZWdyaXR5bGV2ZWwKK2Rlc2NyaXB0aW9uOiBPYmplY3Quc2VhbCAtIGlu
aGVyaXRlZCBkYXRhIHByb3BlcnRpZXMgYXJlIGlnbm9yZWQKKy0tLSovCisKK3ZhciBwcm90byA9
IHt9OworCitPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJGYXRoZXIiLCB7CisgIHZhbHVl
OiAxMCwKKyAgY29uZmlndXJhYmxlOiB0cnVlCit9KTsKKwordmFyIENvbnN0cnVjdEZ1biA9IGZ1
bmN0aW9uKCkge307CitDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87CisKK3ZhciBjaGls
ZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsKK3ZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2li
bGUoY2hpbGQpOworT2JqZWN0LnNlYWwoY2hpbGQpOworCit2YXIgYmVmb3JlRGVsZXRlZCA9IHBy
b3RvLmhhc093blByb3BlcnR5KCJGYXRoZXIiKTsKK2RlbGV0ZSBwcm90by5GYXRoZXI7Cit2YXIg
YWZ0ZXJEZWxldGVkID0gcHJvdG8uaGFzT3duUHJvcGVydHkoIkZhdGhlciIpOworCithc3NlcnQo
cHJlQ2hlY2ssICdwcmVDaGVjayAhPT0gdHJ1ZScpOworYXNzZXJ0KGJlZm9yZURlbGV0ZWQsICdi
ZWZvcmVEZWxldGVkICE9PSB0cnVlJyk7Cithc3NlcnQuc2FtZVZhbHVlKGFmdGVyRGVsZXRlZCwg
ZmFsc2UsICdhZnRlckRlbGV0ZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1pcy1hLWZ1bmN0aW9uLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLWlzLWEt
ZnVuY3Rpb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDRiNTNhZDU4MDdmNDQ1YjE5MDkwNzEwZWI3YzE1YmYx
NzcwYTQ3ZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1pcy1hLWZ1bmN0aW9uLmpzCkBAIC0wLDAgKzEsOSBA
QAorLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtb2JqZWN0LnNlYWwK
K2Rlc2NyaXB0aW9uOiBPYmplY3Quc2VhbCBpcyBhIGZ1bmN0aW9uCistLS0qLworCithc3NlcnQu
c2FtZVZhbHVlKHR5cGVvZiBPYmplY3Quc2VhbCwgImZ1bmN0aW9uIiwgJ3R5cGVvZihmKScpOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29i
amVjdC1zZWFsLW5vbi1lbnVtZXJhYmxlLW93bi1wcm9wZXJ0eS1vZi1vLWlzLXNlYWxlZC5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1u
b24tZW51bWVyYWJsZS1vd24tcHJvcGVydHktb2Ytby1pcy1zZWFsZWQuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2YyOGM4OTJiN2I5NmEyNTNlZjMxYTU2NDAxMDk2MjhkN2M1MTBmZAotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2Vh
bC1ub24tZW51bWVyYWJsZS1vd24tcHJvcGVydHktb2Ytby1pcy1zZWFsZWQuanMKQEAgLTAsMCAr
MSwyMiBAQAorLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtc2V0aW50
ZWdyaXR5bGV2ZWwKK2Rlc2NyaXB0aW9uOiBPYmplY3Quc2VhbCAtIG5vbi1lbnVtZXJhYmxlIG93
biBwcm9wZXJ0eSBvZiAnTycgaXMgc2VhbGVkCitpbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpz
XQorLS0tKi8KKwordmFyIG9iaiA9IHt9OworCitPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAi
Zm9vIiwgeworICB2YWx1ZTogMTAsCisgIGVudW1lcmFibGU6IGZhbHNlLAorICBjb25maWd1cmFi
bGU6IHRydWUKK30pOworCithc3NlcnQoT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopKTsKK09iamVj
dC5zZWFsKG9iaik7CisKK2Fzc2VydChvYmouaGFzT3duUHJvcGVydHkoImZvbyIpKTsKK3Zlcmlm
eU5vdENvbmZpZ3VyYWJsZShvYmosICJmb28iKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1vLWlzLWEtYm9vbGVhbi1v
YmplY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2Jq
ZWN0LXNlYWwtby1pcy1hLWJvb2xlYW4tb2JqZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5ZTNmMWI2NjFk
ZmNlOGY2NjgzZGM3ZjMxMjY1NjdlZjRlMTUxMWUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtby1pcy1hLWJv
b2xlYW4tb2JqZWN0LmpzCkBAIC0wLDAgKzEsMTQgQEAKKy8vIENvcHlyaWdodCAoYykgMjAxMiBF
Y21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgor
CisvKi0tLQorZXNpZDogc2VjLXNldGludGVncml0eWxldmVsCitkZXNjcmlwdGlvbjogT2JqZWN0
LnNlYWwgLSAnTycgaXMgYSBCb29sZWFuIG9iamVjdAorLS0tKi8KKwordmFyIGJvb2xPYmogPSBu
ZXcgQm9vbGVhbihmYWxzZSk7Cit2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGJv
b2xPYmopOworT2JqZWN0LnNlYWwoYm9vbE9iaik7CisKK2Fzc2VydChwcmVDaGVjaywgJ3ByZUNo
ZWNrICE9PSB0cnVlJyk7Cithc3NlcnQoT2JqZWN0LmlzU2VhbGVkKGJvb2xPYmopLCAnT2JqZWN0
LmlzU2VhbGVkKGJvb2xPYmopICE9PSB0cnVlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtby1pcy1hLWRhdGUtb2Jq
ZWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVj
dC1zZWFsLW8taXMtYS1kYXRlLW9iamVjdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTRhMGYxOWJmNDRjNDcw
NDBhZjkxNDU1MmJkNzA4ZDI5NzE1OTQxCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLW8taXMtYS1kYXRlLW9i
amVjdC5qcwpAQCAtMCwwICsxLDE0IEBACisvLyBDb3B5cmlnaHQgKGMpIDIwMTIgRWNtYSBJbnRl
cm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0K
K2VzaWQ6IHNlYy1zZXRpbnRlZ3JpdHlsZXZlbAorZGVzY3JpcHRpb246IE9iamVjdC5zZWFsIC0g
J08nIGlzIGEgRGF0ZSBvYmplY3QKKy0tLSovCisKK3ZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsK
K3ZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoZGF0ZU9iaik7CitPYmplY3Quc2Vh
bChkYXRlT2JqKTsKKworYXNzZXJ0KHByZUNoZWNrLCAncHJlQ2hlY2sgIT09IHRydWUnKTsKK2Fz
c2VydChPYmplY3QuaXNTZWFsZWQoZGF0ZU9iaiksICdPYmplY3QuaXNTZWFsZWQoZGF0ZU9iaikg
IT09IHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9P
YmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1vLWlzLWEtZnVuY3Rpb24tb2JqZWN0LmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLW8taXMtYS1m
dW5jdGlvbi1vYmplY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzgzNDJjODYwYjRhZjBlZDMwNjg1NWYyMzcx
NDBjMTAxZjZhZTVmYQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1vLWlzLWEtZnVuY3Rpb24tb2JqZWN0Lmpz
CkBAIC0wLDAgKzEsMTQgQEAKKy8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9u
YWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDog
c2VjLXNldGludGVncml0eWxldmVsCitkZXNjcmlwdGlvbjogT2JqZWN0LnNlYWwgLSAnTycgaXMg
YSBGdW5jdGlvbiBvYmplY3QKKy0tLSovCisKK3ZhciBmdW4gPSBmdW5jdGlvbigpIHt9OwordmFy
IHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShmdW4pOworT2JqZWN0LnNlYWwoZnVuKTsK
KworYXNzZXJ0KHByZUNoZWNrLCAncHJlQ2hlY2sgIT09IHRydWUnKTsKK2Fzc2VydChPYmplY3Qu
aXNTZWFsZWQoZnVuKSwgJ09iamVjdC5pc1NlYWxlZChmdW4pICE9PSB0cnVlJyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNl
YWwtby1pcy1hLW51bWJlci1vYmplY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtby1pcy1hLW51bWJlci1vYmplY3QuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjYzMWE0MThhMDE1YTM0YzM3ZWZmODdjOWQ1M2Q1OTYyMDFkNjJiMwotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmpl
Y3Qtc2VhbC1vLWlzLWEtbnVtYmVyLW9iamVjdC5qcwpAQCAtMCwwICsxLDE0IEBACisvLyBDb3B5
cmlnaHQgKGMpIDIwMTIgRWNtYSBJbnRlcm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1zZXRpbnRlZ3JpdHlsZXZlbAorZGVz
Y3JpcHRpb246IE9iamVjdC5zZWFsIC0gJ08nIGlzIGEgTnVtYmVyIG9iamVjdAorLS0tKi8KKwor
dmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoMyk7Cit2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRl
bnNpYmxlKG51bU9iaik7CitPYmplY3Quc2VhbChudW1PYmopOworCithc3NlcnQocHJlQ2hlY2ss
ICdwcmVDaGVjayAhPT0gdHJ1ZScpOworYXNzZXJ0KE9iamVjdC5pc1NlYWxlZChudW1PYmopLCAn
T2JqZWN0LmlzU2VhbGVkKG51bU9iaikgIT09IHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1vLWlzLWEtcmVn
LWV4cC1vYmplY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Nl
YWwvb2JqZWN0LXNlYWwtby1pcy1hLXJlZy1leHAtb2JqZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1NWE4
NTA3ZDczYjY3ZTE0MzRkNmU3Yzc0NWVhZGFmY2Y3NWZiNDgKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtby1p
cy1hLXJlZy1leHAtb2JqZWN0LmpzCkBAIC0wLDAgKzEsMTQgQEAKKy8vIENvcHlyaWdodCAoYykg
MjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorCisvKi0tLQorZXNpZDogc2VjLXNldGludGVncml0eWxldmVsCitkZXNjcmlwdGlvbjog
T2JqZWN0LnNlYWwgLSAnTycgaXMgYSBSZWdFeHAgb2JqZWN0CistLS0qLworCit2YXIgcmVnT2Jq
ID0gbmV3IFJlZ0V4cCgpOwordmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShyZWdP
YmopOworT2JqZWN0LnNlYWwocmVnT2JqKTsKKworYXNzZXJ0KHByZUNoZWNrLCAncHJlQ2hlY2sg
IT09IHRydWUnKTsKK2Fzc2VydChPYmplY3QuaXNTZWFsZWQocmVnT2JqKSwgJ09iamVjdC5pc1Nl
YWxlZChyZWdPYmopICE9PSB0cnVlJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtby1pcy1hLXN0cmluZy1vYmplY3Qu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNl
YWwtby1pcy1hLXN0cmluZy1vYmplY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmNhYThmYjY5OTUwN2Q2NWNk
NTgwZDkxMGU5MTJlMWViOTdlMDJkYwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1vLWlzLWEtc3RyaW5nLW9i
amVjdC5qcwpAQCAtMCwwICsxLDE0IEBACisvLyBDb3B5cmlnaHQgKGMpIDIwMTIgRWNtYSBJbnRl
cm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0K
K2VzaWQ6IHNlYy1zZXRpbnRlZ3JpdHlsZXZlbAorZGVzY3JpcHRpb246IE9iamVjdC5zZWFsIC0g
J08nIGlzIGEgU3RyaW5nIG9iamVjdAorLS0tKi8KKwordmFyIHN0ck9iaiA9IG5ldyBTdHJpbmco
ImEiKTsKK3ZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoc3RyT2JqKTsKK09iamVj
dC5zZWFsKHN0ck9iaik7CisKK2Fzc2VydChwcmVDaGVjaywgJ3ByZUNoZWNrICE9PSB0cnVlJyk7
Cithc3NlcnQoT2JqZWN0LmlzU2VhbGVkKHN0ck9iaiksICdPYmplY3QuaXNTZWFsZWQoc3RyT2Jq
KSAhPT0gdHJ1ZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9zZWFsL29iamVjdC1zZWFsLW8taXMtYW4tYXJndW1lbnRzLW9iamVjdC5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1vLWlz
LWFuLWFyZ3VtZW50cy1vYmplY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmUxNjU1NTRmOTNlZjBhOGYxZWQ2
OGFhMzlmMmUyZmUzMDlmOWQwNAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1vLWlzLWFuLWFyZ3VtZW50cy1v
YmplY3QuanMKQEAgLTAsMCArMSwxNyBAQAorLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50
ZXJuYXRpb25hbC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0t
Citlc2lkOiBzZWMtc2V0aW50ZWdyaXR5bGV2ZWwKK2Rlc2NyaXB0aW9uOiBPYmplY3Quc2VhbCAt
ICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0CistLS0qLworCit2YXIgYXJnT2JqID0gKGZ1bmN0
aW9uKCkgeworICByZXR1cm4gYXJndW1lbnRzOworfSkoKTsKKwordmFyIHByZUNoZWNrID0gT2Jq
ZWN0LmlzRXh0ZW5zaWJsZShhcmdPYmopOworT2JqZWN0LnNlYWwoYXJnT2JqKTsKKworYXNzZXJ0
KHByZUNoZWNrLCAncHJlQ2hlY2sgIT09IHRydWUnKTsKK2Fzc2VydChPYmplY3QuaXNTZWFsZWQo
YXJnT2JqKSwgJ09iamVjdC5pc1NlYWxlZChhcmdPYmopICE9PSB0cnVlJyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwt
by1pcy1hbi1hcnJheS1vYmplY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtby1pcy1hbi1hcnJheS1vYmplY3QuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDZmYTAzOWM5MTYwMWMzMGQ3NTkzOWRmNTEwMjRlMjE4YWVmZjk2MAotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qt
c2VhbC1vLWlzLWFuLWFycmF5LW9iamVjdC5qcwpAQCAtMCwwICsxLDE0IEBACisvLyBDb3B5cmln
aHQgKGMpIDIwMTIgRWNtYSBJbnRlcm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1zZXRpbnRlZ3JpdHlsZXZlbAorZGVzY3Jp
cHRpb246IE9iamVjdC5zZWFsIC0gJ08nIGlzIGFuIEFycmF5IG9iamVjdAorLS0tKi8KKwordmFy
IGFyciA9IFswLCAxXTsKK3ZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoYXJyKTsK
K09iamVjdC5zZWFsKGFycik7CisKK2Fzc2VydChwcmVDaGVjaywgJ3ByZUNoZWNrICE9PSB0cnVl
Jyk7Cithc3NlcnQoT2JqZWN0LmlzU2VhbGVkKGFyciksICdPYmplY3QuaXNTZWFsZWQoYXJyKSAh
PT0gdHJ1ZScpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9zZWFsL29iamVjdC1zZWFsLW8taXMtYW4tZXJyb3Itb2JqZWN0LmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLW8taXMtYW4tZXJy
b3Itb2JqZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0YTJiYzZmMjBkY2Q4MDYwZmZhN2Q1ODg1MzA5MDli
MjM5YWM4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtby1pcy1hbi1lcnJvci1vYmplY3QuanMKQEAgLTAs
MCArMSwxNCBAQAorLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtc2V0
aW50ZWdyaXR5bGV2ZWwKK2Rlc2NyaXB0aW9uOiBPYmplY3Quc2VhbCAtICdPJyBpcyBhbiBFcnJv
ciBvYmplY3QKKy0tLSovCisKK3ZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsKK3ZhciBwcmVDaGVj
ayA9IE9iamVjdC5pc0V4dGVuc2libGUoZXJyT2JqKTsKK09iamVjdC5zZWFsKGVyck9iaik7CisK
K2Fzc2VydChwcmVDaGVjaywgJ3ByZUNoZWNrICE9PSB0cnVlJyk7Cithc3NlcnQoT2JqZWN0Lmlz
U2VhbGVkKGVyck9iaiksICdPYmplY3QuaXNTZWFsZWQoZXJyT2JqKSAhPT0gdHJ1ZScpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVj
dC1zZWFsLW8taXMtZnJvemVuLWFscmVhZHkuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtby1pcy1mcm96ZW4tYWxyZWFkeS5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xYWEwZDI5M2YxMjEzNDYxMDQ0YzY5ZDhjMGMyOWE3ZDQwMzkwZTQ1Ci0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29i
amVjdC1zZWFsLW8taXMtZnJvemVuLWFscmVhZHkuanMKQEAgLTAsMCArMSwxOCBAQAorLy8gQ29w
eXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtc2V0aW50ZWdyaXR5bGV2ZWwKK2Rl
c2NyaXB0aW9uOiBPYmplY3Quc2VhbCAtICdPJyBpcyBmcm96ZW4gYWxyZWFkeQorLS0tKi8KKwor
dmFyIG9iaiA9IHt9OworCitvYmouZm9vID0gMTA7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmli
dXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1
ZQordmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOworT2JqZWN0LmZyZWV6
ZShvYmopOworCitPYmplY3Quc2VhbChvYmopOworCithc3NlcnQocHJlQ2hlY2ssICdwcmVDaGVj
ayAhPT0gdHJ1ZScpOworYXNzZXJ0KE9iamVjdC5pc1NlYWxlZChvYmopLCAnT2JqZWN0LmlzU2Vh
bGVkKG9iaikgIT09IHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1vLWlzLXNlYWxlZC1hbHJlYWR5LmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLW8t
aXMtc2VhbGVkLWFscmVhZHkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDlkOTIyZmJkNjllMDBlMDc5YzUwYWUz
MjJhZmRkNDMxMGIxNDM0MAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1vLWlzLXNlYWxlZC1hbHJlYWR5Lmpz
CkBAIC0wLDAgKzEsMTggQEAKKy8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9u
YWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDog
c2VjLXNldGludGVncml0eWxldmVsCitkZXNjcmlwdGlvbjogT2JqZWN0LnNlYWwgLSAnTycgaXMg
c2VhbGVkIGFscmVhZHkKKy0tLSovCisKK3ZhciBvYmogPSB7fTsKKworb2JqLmZvbyA9IDEwOyAv
LyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFi
bGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUKK3ZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVu
c2libGUob2JqKTsKK09iamVjdC5zZWFsKG9iaik7CisKK09iamVjdC5zZWFsKG9iaik7CisKK2Fz
c2VydChwcmVDaGVjaywgJ3ByZUNoZWNrICE9PSB0cnVlJyk7Cithc3NlcnQoT2JqZWN0LmlzU2Vh
bGVkKG9iaiksICdPYmplY3QuaXNTZWFsZWQob2JqKSAhPT0gdHJ1ZScpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLXAt
aXMtb3duLWFjY2Vzc29yLXByb3BlcnR5LXRoYXQtb3ZlcnJpZGVzLWFuLWluaGVyaXRlZC1hY2Nl
c3Nvci1wcm9wZXJ0eS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
c2VhbC9vYmplY3Qtc2VhbC1wLWlzLW93bi1hY2Nlc3Nvci1wcm9wZXJ0eS10aGF0LW92ZXJyaWRl
cy1hbi1pbmhlcml0ZWQtYWNjZXNzb3ItcHJvcGVydHkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTUzNzg0ODBj
ZDYwMDg4ZTYxYjNkMjY4OWQyOWI2YjgzMzFmZjRkNwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1wLWlzLW93
bi1hY2Nlc3Nvci1wcm9wZXJ0eS10aGF0LW92ZXJyaWRlcy1hbi1pbmhlcml0ZWQtYWNjZXNzb3It
cHJvcGVydHkuanMKQEAgLTAsMCArMSwzNyBAQAorLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEg
SW50ZXJuYXRpb25hbC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8q
LS0tCitlc2lkOiBzZWMtc2V0aW50ZWdyaXR5bGV2ZWwKK2Rlc2NyaXB0aW9uOiA+CisgICAgT2Jq
ZWN0LnNlYWwgLSAnUCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFu
CisgICAgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5CitpbmNsdWRlczogW3Byb3BlcnR5SGVs
cGVyLmpzXQorLS0tKi8KKwordmFyIHByb3RvID0ge307CisKK09iamVjdC5kZWZpbmVQcm9wZXJ0
eShwcm90bywgImZvbyIsIHsKKyAgZ2V0OiBmdW5jdGlvbigpIHsKKyAgICByZXR1cm4gMDsKKyAg
fSwKKyAgY29uZmlndXJhYmxlOiB0cnVlCit9KTsKKwordmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0
aW9uKCkge307CitDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87CisKK3ZhciBvYmogPSBu
ZXcgQ29uc3RydWN0RnVuKCk7CisKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7
CisgIGdldDogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIDEwOworICB9LAorICBjb25maWd1cmFi
bGU6IHRydWUKK30pOworCithc3NlcnQoT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopKTsKK09iamVj
dC5zZWFsKG9iaik7CisKK3ZlcmlmeU5vdENvbmZpZ3VyYWJsZShvYmosICJmb28iKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUob2JqLmZvbywgMTApOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLXAtaXMtb3duLWFjY2Vzc29yLXBy
b3BlcnR5LXRoYXQtb3ZlcnJpZGVzLWFuLWluaGVyaXRlZC1kYXRhLXByb3BlcnR5LmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLXAtaXMt
b3duLWFjY2Vzc29yLXByb3BlcnR5LXRoYXQtb3ZlcnJpZGVzLWFuLWluaGVyaXRlZC1kYXRhLXBy
b3BlcnR5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2NGQyMDU5OTg3OWRmNmI4ZDZhODY1OWJmMmQzYWM5YjRm
ZjkyMzAKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtcC1pcy1vd24tYWNjZXNzb3ItcHJvcGVydHktdGhhdC1v
dmVycmlkZXMtYW4taW5oZXJpdGVkLWRhdGEtcHJvcGVydHkuanMKQEAgLTAsMCArMSwzNSBAQAor
Ly8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtc2V0aW50ZWdyaXR5bGV2
ZWwKK2Rlc2NyaXB0aW9uOiA+CisgICAgT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIGFjY2Vzc29y
IHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuCisgICAgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkK
K2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCistLS0qLworCit2YXIgcHJvdG8gPSB7fTsK
KworT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgeworICB2YWx1ZTogMCwKKyAg
Y29uZmlndXJhYmxlOiB0cnVlCit9KTsKKwordmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uKCkg
e307CitDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87CisKK3ZhciBvYmogPSBuZXcgQ29u
c3RydWN0RnVuKCk7CisKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7CisgIGdl
dDogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIDEwOworICB9LAorICBjb25maWd1cmFibGU6IHRy
dWUKK30pOworCithc3NlcnQoT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopKTsKK09iamVjdC5zZWFs
KG9iaik7CisKK3ZlcmlmeU5vdENvbmZpZ3VyYWJsZShvYmosICJmb28iKTsKK2Fzc2VydC5zYW1l
VmFsdWUob2JqLmZvbywgMTApOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLXAtaXMtb3duLWFjY2Vzc29yLXByb3BlcnR5
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1z
ZWFsLXAtaXMtb3duLWFjY2Vzc29yLXByb3BlcnR5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwYzZmZTc3ZTA4
M2RmY2JmMDAxNzJmYTZjNTkwMDZiZjE0MDViNmMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtcC1pcy1vd24t
YWNjZXNzb3ItcHJvcGVydHkuanMKQEAgLTAsMCArMSwyMyBAQAorLy8gQ29weXJpZ2h0IChjKSAy
MDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCisKKy8qLS0tCitlc2lkOiBzZWMtc2V0aW50ZWdyaXR5bGV2ZWwKK2Rlc2NyaXB0aW9uOiBP
YmplY3Quc2VhbCAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkKK2luY2x1ZGVzOiBbcHJv
cGVydHlIZWxwZXIuanNdCistLS0qLworCit2YXIgb2JqID0ge307CisKK09iamVjdC5kZWZpbmVQ
cm9wZXJ0eShvYmosICJmb28iLCB7CisgIGdldDogZnVuY3Rpb24oKSB7CisgICAgcmV0dXJuIDEw
OworICB9LAorICBjb25maWd1cmFibGU6IHRydWUKK30pOworCithc3NlcnQoT2JqZWN0LmlzRXh0
ZW5zaWJsZShvYmopKTsKK09iamVjdC5zZWFsKG9iaik7CisKK3ZlcmlmeU5vdENvbmZpZ3VyYWJs
ZShvYmosICJmb28iKTsKK2Fzc2VydC5zYW1lVmFsdWUob2JqLmZvbywgMTApOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFs
LXAtaXMtb3duLWRhdGEtcHJvcGVydHktdGhhdC1vdmVycmlkZXMtYW4taW5oZXJpdGVkLWFjY2Vz
c29yLXByb3BlcnR5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9z
ZWFsL29iamVjdC1zZWFsLXAtaXMtb3duLWRhdGEtcHJvcGVydHktdGhhdC1vdmVycmlkZXMtYW4t
aW5oZXJpdGVkLWFjY2Vzc29yLXByb3BlcnR5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlOWE0ZGYxMmI2OWY0
MGFkNzc2NTM1MzYyODJlYjNmN2Q2OGFjZWIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtcC1pcy1vd24tZGF0
YS1wcm9wZXJ0eS10aGF0LW92ZXJyaWRlcy1hbi1pbmhlcml0ZWQtYWNjZXNzb3ItcHJvcGVydHku
anMKQEAgLTAsMCArMSwzNCBAQAorLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRp
b25hbC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lk
OiBzZWMtc2V0aW50ZWdyaXR5bGV2ZWwKK2Rlc2NyaXB0aW9uOiA+CisgICAgT2JqZWN0LnNlYWwg
LSAnUCcgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkCisg
ICAgYWNjZXNzb3IgcHJvcGVydHkKK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCistLS0q
LworCit2YXIgcHJvdG8gPSB7fTsKKworT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9v
IiwgeworICBnZXQ6IGZ1bmN0aW9uKCkgeworICAgIHJldHVybiAwOworICB9LAorICBjb25maWd1
cmFibGU6IHRydWUKK30pOworCit2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24oKSB7fTsKK0Nv
bnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsKKwordmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RG
dW4oKTsKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7CisgIHZhbHVlOiAxMCwK
KyAgY29uZmlndXJhYmxlOiB0cnVlCit9KTsKKworYXNzZXJ0KE9iamVjdC5pc0V4dGVuc2libGUo
b2JqKSk7CitPYmplY3Quc2VhbChvYmopOworCit2ZXJpZnlOb3RDb25maWd1cmFibGUob2JqLCAi
Zm9vIik7Cithc3NlcnQuc2FtZVZhbHVlKG9iai5mb28sIDEwKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1wLWlzLW93
bi1kYXRhLXByb3BlcnR5LXRoYXQtb3ZlcnJpZGVzLWFuLWluaGVyaXRlZC1kYXRhLXByb3BlcnR5
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1z
ZWFsLXAtaXMtb3duLWRhdGEtcHJvcGVydHktdGhhdC1vdmVycmlkZXMtYW4taW5oZXJpdGVkLWRh
dGEtcHJvcGVydHkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjgxMGY5NzZjNzI2MWE4MzExNjEzMjIwMjQyNTMy
YTY3OTU2MzhhNQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1wLWlzLW93bi1kYXRhLXByb3BlcnR5LXRoYXQt
b3ZlcnJpZGVzLWFuLWluaGVyaXRlZC1kYXRhLXByb3BlcnR5LmpzCkBAIC0wLDAgKzEsMjkgQEAK
Ky8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLXNldGludGVncml0eWxl
dmVsCitkZXNjcmlwdGlvbjogPgorICAgIE9iamVjdC5zZWFsIC0gJ1AnIGlzIG93biBkYXRhIHBy
b3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZAorICAgIGRhdGEgcHJvcGVydHkKK2lu
Y2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCistLS0qLworCit2YXIgcHJvdG8gPSB7CisgIGZv
bzogMAorfTsKKwordmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uKCkge307CitDb25zdHJ1Y3RG
dW4ucHJvdG90eXBlID0gcHJvdG87CisKK3ZhciBvYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7CitP
YmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeworICB2YWx1ZTogMTAsCisgIGNvbmZp
Z3VyYWJsZTogdHJ1ZQorfSk7CisKK2Fzc2VydChPYmplY3QuaXNFeHRlbnNpYmxlKG9iaikpOwor
T2JqZWN0LnNlYWwob2JqKTsKKwordmVyaWZ5Tm90Q29uZmlndXJhYmxlKG9iaiwgImZvbyIpOwor
YXNzZXJ0LnNhbWVWYWx1ZShvYmouZm9vLCAxMCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtcC1pcy1vd24tZGF0YS1w
cm9wZXJ0eS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9v
YmplY3Qtc2VhbC1wLWlzLW93bi1kYXRhLXByb3BlcnR5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ0Mjc3ZGYz
MDcwMDAxNmFiZjFkMzEwMzFhOGQwOTU5NDkwNTJmMWUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtcC1pcy1v
d24tZGF0YS1wcm9wZXJ0eS5qcwpAQCAtMCwwICsxLDE4IEBACisvLyBDb3B5cmlnaHQgKGMpIDIw
MTIgRWNtYSBJbnRlcm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KKworLyotLS0KK2VzaWQ6IHNlYy1zZXRpbnRlZ3JpdHlsZXZlbAorZGVzY3JpcHRpb246IE9i
amVjdC5zZWFsIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5CitpbmNsdWRlczogW3Byb3BlcnR5
SGVscGVyLmpzXQorLS0tKi8KKwordmFyIG9iaiA9IHt9OworCitvYmouZm9vID0gMTA7IC8vIGRl
ZmF1bHQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgZm9vOiB0cnVlCisKK2Fz
c2VydChPYmplY3QuaXNFeHRlbnNpYmxlKG9iaikpOworT2JqZWN0LnNlYWwob2JqKTsKKwordmVy
aWZ5Tm90Q29uZmlndXJhYmxlKG9iaiwgImZvbyIpOworYXNzZXJ0LnNhbWVWYWx1ZShvYmouZm9v
LCAxMCk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0
L3NlYWwvb2JqZWN0LXNlYWwtcC1pcy1vd24tcHJvcGVydHktb2YtYS1ib29sZWFuLW9iamVjdC10
aGF0LXVzZXMtb2JqZWN0LXMtZ2V0LW93bi1wcm9wZXJ0eS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1wLWlzLW93bi1wcm9wZXJ0eS1v
Zi1hLWJvb2xlYW4tb2JqZWN0LXRoYXQtdXNlcy1vYmplY3Qtcy1nZXQtb3duLXByb3BlcnR5Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjE1M2E4NzRhNWIyZmMxZTg3MDIyYWY3ZTVmZDNjZTQ2NjEyMzJkNTMKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Nl
YWwvb2JqZWN0LXNlYWwtcC1pcy1vd24tcHJvcGVydHktb2YtYS1ib29sZWFuLW9iamVjdC10aGF0
LXVzZXMtb2JqZWN0LXMtZ2V0LW93bi1wcm9wZXJ0eS5qcwpAQCAtMCwwICsxLDIwIEBACisvLyBD
b3B5cmlnaHQgKGMpIDIwMTIgRWNtYSBJbnRlcm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1zZXRpbnRlZ3JpdHlsZXZlbAor
ZGVzY3JpcHRpb246ID4KKyAgICBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2Yg
YSBCb29sZWFuIG9iamVjdCB0aGF0IHVzZXMKKyAgICBPYmplY3QncyBbW0dldE93blByb3BlcnR5
XV0KK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCistLS0qLworCit2YXIgb2JqID0gbmV3
IEJvb2xlYW4oZmFsc2UpOworCitvYmouZm9vID0gMTA7CisKK2Fzc2VydChPYmplY3QuaXNFeHRl
bnNpYmxlKG9iaikpOworT2JqZWN0LnNlYWwob2JqKTsKKwordmVyaWZ5Tm90Q29uZmlndXJhYmxl
KG9iaiwgImZvbyIpOworYXNzZXJ0LnNhbWVWYWx1ZShvYmouZm9vLCAxMCk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwt
cC1pcy1vd24tcHJvcGVydHktb2YtYS1kYXRlLW9iamVjdC10aGF0LXVzZXMtb2JqZWN0LXMtZ2V0
LW93bi1wcm9wZXJ0eS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
c2VhbC9vYmplY3Qtc2VhbC1wLWlzLW93bi1wcm9wZXJ0eS1vZi1hLWRhdGUtb2JqZWN0LXRoYXQt
dXNlcy1vYmplY3Qtcy1nZXQtb3duLXByb3BlcnR5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzYzlhNTllNWE3
ZDgzYzIyNjMyN2NiNjZjZjA0OGZhMjQ0MGE4NjcKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtcC1pcy1vd24t
cHJvcGVydHktb2YtYS1kYXRlLW9iamVjdC10aGF0LXVzZXMtb2JqZWN0LXMtZ2V0LW93bi1wcm9w
ZXJ0eS5qcwpAQCAtMCwwICsxLDIwIEBACisvLyBDb3B5cmlnaHQgKGMpIDIwMTIgRWNtYSBJbnRl
cm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0K
K2VzaWQ6IHNlYy1zZXRpbnRlZ3JpdHlsZXZlbAorZGVzY3JpcHRpb246ID4KKyAgICBPYmplY3Qu
c2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYSBEYXRlIG9iamVjdCB0aGF0IHVzZXMKKyAg
ICBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0KK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIu
anNdCistLS0qLworCit2YXIgb2JqID0gbmV3IERhdGUoKTsKKworb2JqLmZvbyA9IDEwOworCith
c3NlcnQoT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopKTsKK09iamVjdC5zZWFsKG9iaik7CisKK3Zl
cmlmeU5vdENvbmZpZ3VyYWJsZShvYmosICJmb28iKTsKK2Fzc2VydC5zYW1lVmFsdWUob2JqLmZv
bywgMTApOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9zZWFsL29iamVjdC1zZWFsLXAtaXMtb3duLXByb3BlcnR5LW9mLWEtZnVuY3Rpb24tb2JqZWN0
LXRoYXQtdXNlcy1vYmplY3Qtcy1nZXQtb3duLXByb3BlcnR5LmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLXAtaXMtb3duLXByb3BlcnR5
LW9mLWEtZnVuY3Rpb24tb2JqZWN0LXRoYXQtdXNlcy1vYmplY3Qtcy1nZXQtb3duLXByb3BlcnR5
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQ2MjIyM2MzM2MwZDY5MzZhNTg1OGJhNjZmNDEwNGJmNDM4Yzg4NTgK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0
L3NlYWwvb2JqZWN0LXNlYWwtcC1pcy1vd24tcHJvcGVydHktb2YtYS1mdW5jdGlvbi1vYmplY3Qt
dGhhdC11c2VzLW9iamVjdC1zLWdldC1vd24tcHJvcGVydHkuanMKQEAgLTAsMCArMSwyMCBAQAor
Ly8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtc2V0aW50ZWdyaXR5bGV2
ZWwKK2Rlc2NyaXB0aW9uOiA+CisgICAgT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3duIHByb3BlcnR5
IG9mIGEgRnVuY3Rpb24gb2JqZWN0IHRoYXQgdXNlcworICAgIE9iamVjdCdzIFtbR2V0T3duUHJv
cGVydHldXQoraW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KKy0tLSovCisKK3ZhciBvYmog
PSBmdW5jdGlvbigpIHt9OworCitvYmouZm9vID0gMTA7CisKK2Fzc2VydChPYmplY3QuaXNFeHRl
bnNpYmxlKG9iaikpOworT2JqZWN0LnNlYWwob2JqKTsKKwordmVyaWZ5Tm90Q29uZmlndXJhYmxl
KG9iaiwgImZvbyIpOworYXNzZXJ0LnNhbWVWYWx1ZShvYmouZm9vLCAxMCk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwt
cC1pcy1vd24tcHJvcGVydHktb2YtYS1udW1iZXItb2JqZWN0LXRoYXQtdXNlcy1vYmplY3Qtcy1n
ZXQtb3duLXByb3BlcnR5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9zZWFsL29iamVjdC1zZWFsLXAtaXMtb3duLXByb3BlcnR5LW9mLWEtbnVtYmVyLW9iamVjdC10
aGF0LXVzZXMtb2JqZWN0LXMtZ2V0LW93bi1wcm9wZXJ0eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZjMwNmZk
NDA5ZmEzOGRjOTkwM2Q1YmQzYThmOGYzYjZjM2VhMzAzCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLXAtaXMt
b3duLXByb3BlcnR5LW9mLWEtbnVtYmVyLW9iamVjdC10aGF0LXVzZXMtb2JqZWN0LXMtZ2V0LW93
bi1wcm9wZXJ0eS5qcwpAQCAtMCwwICsxLDIwIEBACisvLyBDb3B5cmlnaHQgKGMpIDIwMTIgRWNt
YSBJbnRlcm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKwor
LyotLS0KK2VzaWQ6IHNlYy1zZXRpbnRlZ3JpdHlsZXZlbAorZGVzY3JpcHRpb246ID4KKyAgICBP
YmplY3Quc2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYSBOdW1iZXIgb2JqZWN0IHRoYXQg
dXNlcworICAgIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXQoraW5jbHVkZXM6IFtwcm9wZXJ0
eUhlbHBlci5qc10KKy0tLSovCisKK3ZhciBvYmogPSBuZXcgTnVtYmVyKC0xKTsKKworb2JqLmZv
byA9IDEwOworCithc3NlcnQoT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopKTsKK09iamVjdC5zZWFs
KG9iaik7CisKK3ZlcmlmeU5vdENvbmZpZ3VyYWJsZShvYmosICJmb28iKTsKK2Fzc2VydC5zYW1l
VmFsdWUob2JqLmZvbywgMTApOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLXAtaXMtb3duLXByb3BlcnR5LW9mLWEtcmVn
LWV4cC1vYmplY3QtdGhhdC11c2VzLW9iamVjdC1zLWdldC1vd24tcHJvcGVydHkuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtcC1pcy1v
d24tcHJvcGVydHktb2YtYS1yZWctZXhwLW9iamVjdC10aGF0LXVzZXMtb2JqZWN0LXMtZ2V0LW93
bi1wcm9wZXJ0eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGU5MDkxODViODU0MmVkOGFhMDMwNWU5YWQ3Yjdj
ZTRmNmMwYjJkCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLXAtaXMtb3duLXByb3BlcnR5LW9mLWEtcmVnLWV4
cC1vYmplY3QtdGhhdC11c2VzLW9iamVjdC1zLWdldC1vd24tcHJvcGVydHkuanMKQEAgLTAsMCAr
MSwyMCBAQAorLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtc2V0aW50
ZWdyaXR5bGV2ZWwKK2Rlc2NyaXB0aW9uOiA+CisgICAgT2JqZWN0LnNlYWwgLSAnUCcgaXMgb3du
IHByb3BlcnR5IG9mIGEgUmVnRXhwIG9iamVjdCB0aGF0IHVzZXMKKyAgICBPYmplY3QncyBbW0dl
dE93blByb3BlcnR5XV0KK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCistLS0qLworCit2
YXIgb2JqID0gbmV3IFJlZ0V4cCgpOworCitvYmouZm9vID0gMTA7CisKK2Fzc2VydChPYmplY3Qu
aXNFeHRlbnNpYmxlKG9iaikpOworT2JqZWN0LnNlYWwob2JqKTsKKwordmVyaWZ5Tm90Q29uZmln
dXJhYmxlKG9iaiwgImZvbyIpOworYXNzZXJ0LnNhbWVWYWx1ZShvYmouZm9vLCAxMCk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0
LXNlYWwtcC1pcy1vd24tcHJvcGVydHktb2YtYS1zdHJpbmctb2JqZWN0LXdoaWNoLWltcGxlbWVu
dHMtaXRzLW93bi1nZXQtb3duLXByb3BlcnR5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLXAtaXMtb3duLXByb3BlcnR5LW9mLWEtc3Ry
aW5nLW9iamVjdC13aGljaC1pbXBsZW1lbnRzLWl0cy1vd24tZ2V0LW93bi1wcm9wZXJ0eS5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mY2U2YWQ5NTM0ODRkZWI1M2M2NjUyZGY4NDk3ZTQzOTU1NGQ1MzIwCi0tLSAv
ZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFs
L29iamVjdC1zZWFsLXAtaXMtb3duLXByb3BlcnR5LW9mLWEtc3RyaW5nLW9iamVjdC13aGljaC1p
bXBsZW1lbnRzLWl0cy1vd24tZ2V0LW93bi1wcm9wZXJ0eS5qcwpAQCAtMCwwICsxLDIwIEBACisv
LyBDb3B5cmlnaHQgKGMpIDIwMTIgRWNtYSBJbnRlcm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1zZXRpbnRlZ3JpdHlsZXZl
bAorZGVzY3JpcHRpb246ID4KKyAgICBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkg
b2YgYSBTdHJpbmcgb2JqZWN0IHdoaWNoCisgICAgaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3du
UHJvcGVydHldXQoraW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KKy0tLSovCisKK3ZhciBv
YmogPSBuZXcgU3RyaW5nKCJhYmMiKTsKKworb2JqLmZvbyA9IDEwOworCithc3NlcnQoT2JqZWN0
LmlzRXh0ZW5zaWJsZShvYmopKTsKK09iamVjdC5zZWFsKG9iaik7CisKK3ZlcmlmeU5vdENvbmZp
Z3VyYWJsZShvYmosICJmb28iKTsKK2Fzc2VydC5zYW1lVmFsdWUob2JqLmZvbywgMTApOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVj
dC1zZWFsLXAtaXMtb3duLXByb3BlcnR5LW9mLWFuLWFyZ3VtZW50cy1vYmplY3Qtd2hpY2gtaW1w
bGVtZW50cy1pdHMtb3duLWdldC1vd24tcHJvcGVydHkuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtcC1pcy1vd24tcHJvcGVydHktb2Yt
YW4tYXJndW1lbnRzLW9iamVjdC13aGljaC1pbXBsZW1lbnRzLWl0cy1vd24tZ2V0LW93bi1wcm9w
ZXJ0eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lMTJiOGFlYmZjMGU4ZDgxMjAzNzg1NmM1ZGI4NzQyNjgyODMx
ZGY3Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9zZWFsL29iamVjdC1zZWFsLXAtaXMtb3duLXByb3BlcnR5LW9mLWFuLWFyZ3VtZW50cy1v
YmplY3Qtd2hpY2gtaW1wbGVtZW50cy1pdHMtb3duLWdldC1vd24tcHJvcGVydHkuanMKQEAgLTAs
MCArMSwyMiBAQAorLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtc2V0
aW50ZWdyaXR5bGV2ZWwKK2Rlc2NyaXB0aW9uOiA+CisgICAgT2JqZWN0LnNlYWwgLSAnUCcgaXMg
b3duIHByb3BlcnR5IG9mIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2gKKyAgICBpbXBsZW1lbnRz
IGl0cyBvd24gW1tHZXRPd25Qcm9wZXJ0eV1dCitpbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpz
XQorLS0tKi8KKwordmFyIG9iaiA9IChmdW5jdGlvbigpIHsKKyAgcmV0dXJuIGFyZ3VtZW50czsK
K30pKCk7CisKK29iai5mb28gPSAxMDsKKworYXNzZXJ0KE9iamVjdC5pc0V4dGVuc2libGUob2Jq
KSk7CitPYmplY3Quc2VhbChvYmopOworCit2ZXJpZnlOb3RDb25maWd1cmFibGUob2JqLCAiZm9v
Iik7Cithc3NlcnQuc2FtZVZhbHVlKG9iai5mb28sIDEwKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC1wLWlzLW93bi1w
cm9wZXJ0eS1vZi1hbi1hcnJheS1vYmplY3QtdGhhdC11c2VzLW9iamVjdC1zLWdldC1vd24tcHJv
cGVydHkuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2Jq
ZWN0LXNlYWwtcC1pcy1vd24tcHJvcGVydHktb2YtYW4tYXJyYXktb2JqZWN0LXRoYXQtdXNlcy1v
YmplY3Qtcy1nZXQtb3duLXByb3BlcnR5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiZTkwOWQzZmUyYmU1NDgz
Zjg1NGYzNDdiYzViM2FlMTI3Mzg0NGEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtcC1pcy1vd24tcHJvcGVy
dHktb2YtYW4tYXJyYXktb2JqZWN0LXRoYXQtdXNlcy1vYmplY3Qtcy1nZXQtb3duLXByb3BlcnR5
LmpzCkBAIC0wLDAgKzEsMjAgQEAKKy8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0
aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLXNldGludGVncml0eWxldmVsCitkZXNjcmlwdGlvbjogPgorICAgIE9iamVjdC5zZWFs
IC0gJ1AnIGlzIG93biBwcm9wZXJ0eSBvZiBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzCisgICAg
T2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dCitpbmNsdWRlczogW3Byb3BlcnR5SGVscGVyLmpz
XQorLS0tKi8KKwordmFyIG9iaiA9IFtdOworCitvYmouZm9vID0gMTA7CisKK2Fzc2VydChPYmpl
Y3QuaXNFeHRlbnNpYmxlKG9iaikpOworT2JqZWN0LnNlYWwob2JqKTsKKwordmVyaWZ5Tm90Q29u
ZmlndXJhYmxlKG9iaiwgImZvbyIpOworYXNzZXJ0LnNhbWVWYWx1ZShvYmouZm9vLCAxMCk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2Jq
ZWN0LXNlYWwtcC1pcy1vd24tcHJvcGVydHktb2YtYW4tZXJyb3Itb2JqZWN0LXRoYXQtdXNlcy1v
YmplY3Qtcy1nZXQtb3duLXByb3BlcnR5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLXAtaXMtb3duLXByb3BlcnR5LW9mLWFuLWVycm9y
LW9iamVjdC10aGF0LXVzZXMtb2JqZWN0LXMtZ2V0LW93bi1wcm9wZXJ0eS5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iYWViNGExOGQxZTMxOTA2ZjFhYWJhYTVkMDY2YjlhM2VhNzNhZTRlCi0tLSAvZGV2L251bGwK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1z
ZWFsLXAtaXMtb3duLXByb3BlcnR5LW9mLWFuLWVycm9yLW9iamVjdC10aGF0LXVzZXMtb2JqZWN0
LXMtZ2V0LW93bi1wcm9wZXJ0eS5qcwpAQCAtMCwwICsxLDIwIEBACisvLyBDb3B5cmlnaHQgKGMp
IDIwMTIgRWNtYSBJbnRlcm5hdGlvbmFsLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1zZXRpbnRlZ3JpdHlsZXZlbAorZGVzY3JpcHRpb246
ID4KKyAgICBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYW4gRXJyb3Igb2Jq
ZWN0IHRoYXQgdXNlcworICAgIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXQoraW5jbHVkZXM6
IFtwcm9wZXJ0eUhlbHBlci5qc10KKy0tLSovCisKK3ZhciBvYmogPSBuZXcgRXJyb3IoKTsKKwor
b2JqLmZvbyA9IDEwOworCithc3NlcnQoT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopKTsKK09iamVj
dC5zZWFsKG9iaik7CisKK3ZlcmlmeU5vdENvbmZpZ3VyYWJsZShvYmosICJmb28iKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUob2JqLmZvbywgMTApOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLXJldHVybmVkLW9iamVjdC1pcy1u
b3QtZXh0ZW5zaWJsZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
c2VhbC9vYmplY3Qtc2VhbC1yZXR1cm5lZC1vYmplY3QtaXMtbm90LWV4dGVuc2libGUuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjQwOTU3YmVmMTI1NzY1ZDMwOGViMDY2MWRkYWY2ZGQzNzc2ZTExMQotLS0gL2Rl
di9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9v
YmplY3Qtc2VhbC1yZXR1cm5lZC1vYmplY3QtaXMtbm90LWV4dGVuc2libGUuanMKQEAgLTAsMCAr
MSwxNCBAQAorLy8gQ29weXJpZ2h0IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtc2V0aW50
ZWdyaXR5bGV2ZWwKK2Rlc2NyaXB0aW9uOiBPYmplY3Quc2VhbCAtIHJldHVybmVkIG9iamVjdCBp
cyBub3QgZXh0ZW5zaWJsZQorLS0tKi8KKwordmFyIG9iaiA9IHt9OwordmFyIHByZUNoZWNrID0g
T2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOworT2JqZWN0LnNlYWwob2JqKTsKKworYXNzZXJ0KHBy
ZUNoZWNrLCAncHJlQ2hlY2sgIT09IHRydWUnKTsKK2Fzc2VydC5zYW1lVmFsdWUoT2JqZWN0Lmlz
RXh0ZW5zaWJsZShvYmopLCBmYWxzZSwgJ09iamVjdC5pc0V4dGVuc2libGUob2JqKScpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVj
dC1zZWFsLXRoZS1jb25maWd1cmFibGUtYXR0cmlidXRlLW9mLWFsbC1vd24tcHJvcGVydGllcy1v
Zi1vLWFyZS1zZXQtZnJvbS10cnVlLXRvLWZhbHNlLWFuZC1vdGhlci1hdHRyaWJ1dGVzLW9mLXRo
ZS1wcm9wZXJ0eS1hcmUtdW5hbHRlcmVkLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLXRoZS1jb25maWd1cmFibGUtYXR0cmlidXRlLW9m
LWFsbC1vd24tcHJvcGVydGllcy1vZi1vLWFyZS1zZXQtZnJvbS10cnVlLXRvLWZhbHNlLWFuZC1v
dGhlci1hdHRyaWJ1dGVzLW9mLXRoZS1wcm9wZXJ0eS1hcmUtdW5hbHRlcmVkLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjAzYmE5MDE1ZTQ1NjI5NWJjYzgxZTQwOWM3MTY1ZThmZWZhMTliZTIKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0
LXNlYWwtdGhlLWNvbmZpZ3VyYWJsZS1hdHRyaWJ1dGUtb2YtYWxsLW93bi1wcm9wZXJ0aWVzLW9m
LW8tYXJlLXNldC1mcm9tLXRydWUtdG8tZmFsc2UtYW5kLW90aGVyLWF0dHJpYnV0ZXMtb2YtdGhl
LXByb3BlcnR5LWFyZS11bmFsdGVyZWQuanMKQEAgLTAsMCArMSw1OCBAQAorLy8gQ29weXJpZ2h0
IChjKSAyMDEyIEVjbWEgSW50ZXJuYXRpb25hbC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtc2V0aW50ZWdyaXR5bGV2ZWwKK2Rlc2NyaXB0
aW9uOiA+CisgICAgT2JqZWN0LnNlYWwgLSB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUg
b2YgYWxsIG93biBwcm9wZXJ0aWVzCisgICAgb2YgJ08nIGFyZSBzZXQgZnJvbSB0cnVlIHRvIGZh
bHNlIGFuZCBvdGhlciBhdHRyaWJ1dGVzIG9mIHRoZQorICAgIHByb3BlcnR5IGFyZSB1bmFsdGVy
ZWQKK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCistLS0qLworCit2YXIgb2JqID0ge307
CitvYmoudmFyaWFibGVGb3JIZWxwVmVyaWZ5ID0gImRhdGEiOworCitPYmplY3QuZGVmaW5lUHJv
cGVydHkob2JqLCAiZm9vMSIsIHsKKyAgdmFsdWU6IDEwLAorICB3cml0YWJsZTogdHJ1ZSwKKyAg
ZW51bWVyYWJsZTogdHJ1ZSwKKyAgY29uZmlndXJhYmxlOiB0cnVlCit9KTsKKworZnVuY3Rpb24g
c2V0X2Z1bmModmFsdWUpIHsKKyAgb2JqLnZhcmlhYmxlRm9ySGVscFZlcmlmeSA9IHZhbHVlOwor
fQorCitmdW5jdGlvbiBnZXRfZnVuYygpIHsKKyAgcmV0dXJuIDEwOworfQorT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KG9iaiwgImZvbzIiLCB7CisgIGdldDogZ2V0X2Z1bmMsCisgIHNldDogc2V0X2Z1
bmMsCisgIGVudW1lcmFibGU6IHRydWUsCisgIGNvbmZpZ3VyYWJsZTogdHJ1ZQorfSk7Cit2YXIg
cHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7CitPYmplY3Quc2VhbChvYmopOwor
CitpZiAoIXByZUNoZWNrKSB7CisgICRFUlJPUignRXhwZWN0ZWQgcHJlQ2hlY2sgdG8gYmUgdHJ1
ZSwgYWN0dWFsbHkgJyArIHByZUNoZWNrKTsKK30KKworCit2ZXJpZnlFcXVhbFRvKG9iaiwgImZv
bzEiLCAxMCk7CisKK3ZlcmlmeVdyaXRhYmxlKG9iaiwgImZvbzEiKTsKKwordmVyaWZ5RW51bWVy
YWJsZShvYmosICJmb28xIik7CisKK3ZlcmlmeU5vdENvbmZpZ3VyYWJsZShvYmosICJmb28xIik7
CisKK3ZlcmlmeUVxdWFsVG8ob2JqLCAiZm9vMiIsIGdldF9mdW5jKCkpOworCit2ZXJpZnlXcml0
YWJsZShvYmosICJmb28yIiwgInZhcmlhYmxlRm9ySGVscFZlcmlmeSIpOworCit2ZXJpZnlFbnVt
ZXJhYmxlKG9iaiwgImZvbzIiKTsKKwordmVyaWZ5Tm90Q29uZmlndXJhYmxlKG9iaiwgImZvbzIi
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2Vh
bC9vYmplY3Qtc2VhbC10aGUtY29uZmlndXJhYmxlLWF0dHJpYnV0ZS1vZi1vd24tYWNjZXNzb3It
cHJvcGVydHktb2Ytby1pcy1zZXQtZnJvbS10cnVlLXRvLWZhbHNlLWFuZC1vdGhlci1hdHRyaWJ1
dGVzLW9mLXRoZS1wcm9wZXJ0eS1hcmUtdW5hbHRlcmVkLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL29iamVjdC1zZWFsLXRoZS1jb25maWd1cmFibGUtYXR0
cmlidXRlLW9mLW93bi1hY2Nlc3Nvci1wcm9wZXJ0eS1vZi1vLWlzLXNldC1mcm9tLXRydWUtdG8t
ZmFsc2UtYW5kLW90aGVyLWF0dHJpYnV0ZXMtb2YtdGhlLXByb3BlcnR5LWFyZS11bmFsdGVyZWQu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzE1ZDcwMzlhOWUxMTE5OTAwY2NjNTA4NmI0OWQ0Y2IyNmU3NDQzZAot
LS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
c2VhbC9vYmplY3Qtc2VhbC10aGUtY29uZmlndXJhYmxlLWF0dHJpYnV0ZS1vZi1vd24tYWNjZXNz
b3ItcHJvcGVydHktb2Ytby1pcy1zZXQtZnJvbS10cnVlLXRvLWZhbHNlLWFuZC1vdGhlci1hdHRy
aWJ1dGVzLW9mLXRoZS1wcm9wZXJ0eS1hcmUtdW5hbHRlcmVkLmpzCkBAIC0wLDAgKzEsNDIgQEAK
Ky8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLXNldGludGVncml0eWxl
dmVsCitkZXNjcmlwdGlvbjogPgorICAgIE9iamVjdC5zZWFsIC0gdGhlIFtbQ29uZmlndXJhYmxl
XV0gYXR0cmlidXRlIG9mIG93biBhY2Nlc3NvcgorICAgIHByb3BlcnR5IG9mICdPJyBpcyBzZXQg
ZnJvbSB0cnVlIHRvIGZhbHNlIGFuZCBvdGhlciBhdHRyaWJ1dGVzIG9mCisgICAgdGhlIHByb3Bl
cnR5IGFyZSB1bmFsdGVyZWQKK2luY2x1ZGVzOiBbcHJvcGVydHlIZWxwZXIuanNdCistLS0qLwor
Cit2YXIgb2JqID0ge307CitvYmoudmFyaWFibGVGb3JIZWxwVmVyaWZ5ID0gImRhdGEiOworCitm
dW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7CisgIG9iai52YXJpYWJsZUZvckhlbHBWZXJpZnkgPSB2
YWx1ZTsKK30KKworZnVuY3Rpb24gZ2V0RnVuYygpIHsKKyAgcmV0dXJuIDEwOworfQorT2JqZWN0
LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsKKyAgZ2V0OiBnZXRGdW5jLAorICBzZXQ6IHNl
dEZ1bmMsCisgIGVudW1lcmFibGU6IHRydWUsCisgIGNvbmZpZ3VyYWJsZTogdHJ1ZQorfSk7Cit2
YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7CitPYmplY3Quc2VhbChvYmop
OworCitpZiAoIXByZUNoZWNrKSB7CisgICRFUlJPUignRXhwZWN0ZWQgcHJlQ2hlY2sgdG8gYmUg
dHJ1ZSwgYWN0dWFsbHkgJyArIHByZUNoZWNrKTsKK30KKwordmVyaWZ5RXF1YWxUbyhvYmosICJm
b28iLCBnZXRGdW5jKCkpOworCit2ZXJpZnlXcml0YWJsZShvYmosICJmb28iLCAidmFyaWFibGVG
b3JIZWxwVmVyaWZ5Iik7CisKK3ZlcmlmeUVudW1lcmFibGUob2JqLCAiZm9vIik7CisKK3Zlcmlm
eU5vdENvbmZpZ3VyYWJsZShvYmosICJmb28iKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC10aGUtY29uZmlndXJhYmxl
LWF0dHJpYnV0ZS1vZi1vd24tZGF0YS1wcm9wZXJ0eS1vZi1vLWlzLXNldC1mcm9tLXRydWUtdG8t
ZmFsc2UtYW5kLW90aGVyLWF0dHJpYnV0ZXMtb2YtdGhlLXByb3BlcnR5LWFyZS11bmFsdGVyZWQu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNl
YWwtdGhlLWNvbmZpZ3VyYWJsZS1hdHRyaWJ1dGUtb2Ytb3duLWRhdGEtcHJvcGVydHktb2Ytby1p
cy1zZXQtZnJvbS10cnVlLXRvLWZhbHNlLWFuZC1vdGhlci1hdHRyaWJ1dGVzLW9mLXRoZS1wcm9w
ZXJ0eS1hcmUtdW5hbHRlcmVkLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiNmNhOWIxYjA0YWI4NDkyODA4ZDM2
OTZhNDNhODE1MmRlM2VhOTkKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtdGhlLWNvbmZpZ3VyYWJsZS1hdHRy
aWJ1dGUtb2Ytb3duLWRhdGEtcHJvcGVydHktb2Ytby1pcy1zZXQtZnJvbS10cnVlLXRvLWZhbHNl
LWFuZC1vdGhlci1hdHRyaWJ1dGVzLW9mLXRoZS1wcm9wZXJ0eS1hcmUtdW5hbHRlcmVkLmpzCkBA
IC0wLDAgKzEsMzQgQEAKKy8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2Vj
LXNldGludGVncml0eWxldmVsCitkZXNjcmlwdGlvbjogPgorICAgIE9iamVjdC5zZWFsIC0gdGhl
IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIG93biBkYXRhIHByb3BlcnR5CisgICAgb2Yg
J08nIGlzIHNldCBmcm9tIHRydWUgdG8gZmFsc2UgYW5kIG90aGVyIGF0dHJpYnV0ZXMgb2YgdGhl
CisgICAgcHJvcGVydHkgYXJlIHVuYWx0ZXJlZAoraW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5q
c10KKy0tLSovCisKK3ZhciBvYmogPSB7fTsKKworT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwg
ImZvbyIsIHsKKyAgdmFsdWU6IDEwLAorICB3cml0YWJsZTogdHJ1ZSwKKyAgZW51bWVyYWJsZTog
dHJ1ZSwKKyAgY29uZmlndXJhYmxlOiB0cnVlCit9KTsKK3ZhciBwcmVDaGVjayA9IE9iamVjdC5p
c0V4dGVuc2libGUob2JqKTsKK09iamVjdC5zZWFsKG9iaik7CisKK2lmICghcHJlQ2hlY2spIHsK
KyAgJEVSUk9SKCdFeHBlY3RlZCBwcmVDaGVjayB0byBiZSB0cnVlLCBhY3R1YWxseSAnICsgcHJl
Q2hlY2spOworfQorCit2ZXJpZnlFcXVhbFRvKG9iaiwgImZvbyIsIDEwKTsKKwordmVyaWZ5V3Jp
dGFibGUob2JqLCAiZm9vIik7CisKK3ZlcmlmeUVudW1lcmFibGUob2JqLCAiZm9vIik7CisKK3Zl
cmlmeU5vdENvbmZpZ3VyYWJsZShvYmosICJmb28iKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9vYmplY3Qtc2VhbC10aGUtZXh0ZW5zaW9u
LW9mLW8taXMtcHJldmVudGVkLWFscmVhZHkuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtdGhlLWV4dGVuc2lvbi1vZi1vLWlzLXByZXZl
bnRlZC1hbHJlYWR5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlmZDE5ZGM5N2U3ODZmNGU3ZjU5NDdlMTkyYWNm
Y2ZmMTc5MGQzYTcKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvT2JqZWN0L3NlYWwvb2JqZWN0LXNlYWwtdGhlLWV4dGVuc2lvbi1vZi1vLWlzLXByZXZl
bnRlZC1hbHJlYWR5LmpzCkBAIC0wLDAgKzEsMTcgQEAKKy8vIENvcHlyaWdodCAoYykgMjAxMiBF
Y21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgor
CisvKi0tLQorZXNpZDogc2VjLXNldGludGVncml0eWxldmVsCitkZXNjcmlwdGlvbjogT2JqZWN0
LnNlYWwgLSB0aGUgZXh0ZW5zaW9uIG9mICdPJyBpcyBwcmV2ZW50ZWQgYWxyZWFkeQorLS0tKi8K
KwordmFyIG9iaiA9IHt9OworCitvYmouZm9vID0gMTA7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0
cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTog
dHJ1ZQordmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOworT2JqZWN0LnBy
ZXZlbnRFeHRlbnNpb25zKG9iaik7CitPYmplY3Quc2VhbChvYmopOworCithc3NlcnQocHJlQ2hl
Y2ssICdwcmVDaGVjayAhPT0gdHJ1ZScpOworYXNzZXJ0KE9iamVjdC5pc1NlYWxlZChvYmopLCAn
T2JqZWN0LmlzU2VhbGVkKG9iaikgIT09IHRydWUnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLWFnZ3JlZ2F0ZWVycm9yLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtYWdncmVnYXRl
ZXJyb3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDU4N2U4YWRmOTEyNDE5ZDUzNjQ2MjU2OTRmZTExMDllM2My
OGVmYwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9P
YmplY3Qvc2VhbC9zZWFsLWFnZ3JlZ2F0ZWVycm9yLmpzCkBAIC0wLDAgKzEsMzYgQEAKKy8vIENv
cHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtb2JqZWN0LnNlYWwKK2Rlc2NyaXB0aW9uOiA+
CisgICAgT2JqZWN0LnNlYWwgQWdncmVnYXRlRXJyb3IKK2luZm86IHwKKyAgSWYgVHlwZShPKSBp
cyBub3QgT2JqZWN0LCByZXR1cm4gTy4KKyAgTGV0IHN0YXR1cyBiZSA/IFNldEludGVncml0eUxl
dmVsKE8sIHNlYWxlZCkuCisKKyAgU2V0SW50ZWdyaXR5TGV2ZWwgKCBPLCBsZXZlbCApCisKKyAg
QXNzZXJ0OiBUeXBlKE8pIGlzIE9iamVjdC4KKyAgQXNzZXJ0OiBsZXZlbCBpcyBlaXRoZXIgc2Vh
bGVkIG9yIGZyb3plbi4KKyAgTGV0IHN0YXR1cyBiZSA/IE8uW1tQcmV2ZW50RXh0ZW5zaW9uc11d
KCkuCisgIElmIHN0YXR1cyBpcyBmYWxzZSwgcmV0dXJuIGZhbHNlLgorICBMZXQga2V5cyBiZSA/
IE8uW1tPd25Qcm9wZXJ0eUtleXNdXSgpLgorICBJZiBsZXZlbCBpcyBzZWFsZWQsIHRoZW4KKyAg
ICBGb3IgZWFjaCBlbGVtZW50IGsgb2Yga2V5cywgZG8KKyAgICAgIFBlcmZvcm0gPyBEZWZpbmVQ
cm9wZXJ0eU9yVGhyb3coTywgaywgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVd
XTogZmFsc2UgfSkuCisgIEVsc2UsCisgICAgQXNzZXJ0OiBsZXZlbCBpcyBmcm96ZW4uCisgICAg
Rm9yIGVhY2ggZWxlbWVudCBrIG9mIGtleXMsIGRvCisgICAgICBMZXQgY3VycmVudERlc2MgYmUg
PyBPLltbR2V0T3duUHJvcGVydHldXShrKS4KKyAgICAgIElmIGN1cnJlbnREZXNjIGlzIG5vdCB1
bmRlZmluZWQsIHRoZW4KKyAgICAgICAgSWYgSXNBY2Nlc3NvckRlc2NyaXB0b3IoY3VycmVudERl
c2MpIGlzIHRydWUsIHRoZW4KKyAgICAgICAgICBMZXQgZGVzYyBiZSB0aGUgUHJvcGVydHlEZXNj
cmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UgfS4KKyAgICAgICAgRWxzZSwKKyAgICAg
ICAgICBMZXQgZGVzYyBiZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVd
XTogZmFsc2UsIFtbV3JpdGFibGVdXTogZmFsc2UgfS4KKyAgICAgICAgUGVyZm9ybSA/IERlZmlu
ZVByb3BlcnR5T3JUaHJvdyhPLCBrLCBkZXNjKS4KKyAgUmV0dXJuIHRydWUuCisKKy0tLSovCisK
K09iamVjdC5zZWFsKG5ldyBBZ2dyZWdhdGVFcnJvcihbXSkpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtYXJyYXlidWZmZXIuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1hcnJheWJ1
ZmZlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hM2Y0YzA1ZTc3NjQ5ZjZlZGI1YWY0Y2U5ZGExZWFhMjE1MDUw
MzFiCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9zZWFsL3NlYWwtYXJyYXlidWZmZXIuanMKQEAgLTAsMCArMSwzNiBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1vYmplY3Quc2VhbAorZGVzY3JpcHRpb246ID4KKyAg
ICBPYmplY3Quc2VhbCBBcnJheUJ1ZmZlcgoraW5mbzogfAorICBJZiBUeXBlKE8pIGlzIG5vdCBP
YmplY3QsIHJldHVybiBPLgorICBMZXQgc3RhdHVzIGJlID8gU2V0SW50ZWdyaXR5TGV2ZWwoTywg
c2VhbGVkKS4KKworICBTZXRJbnRlZ3JpdHlMZXZlbCAoIE8sIGxldmVsICkKKworICBBc3NlcnQ6
IFR5cGUoTykgaXMgT2JqZWN0LgorICBBc3NlcnQ6IGxldmVsIGlzIGVpdGhlciBzZWFsZWQgb3Ig
ZnJvemVuLgorICBMZXQgc3RhdHVzIGJlID8gTy5bW1ByZXZlbnRFeHRlbnNpb25zXV0oKS4KKyAg
SWYgc3RhdHVzIGlzIGZhbHNlLCByZXR1cm4gZmFsc2UuCisgIExldCBrZXlzIGJlID8gTy5bW093
blByb3BlcnR5S2V5c11dKCkuCisgIElmIGxldmVsIGlzIHNlYWxlZCwgdGhlbgorICAgIEZvciBl
YWNoIGVsZW1lbnQgayBvZiBrZXlzLCBkbworICAgICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5
T3JUaHJvdyhPLCBrLCBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxz
ZSB9KS4KKyAgRWxzZSwKKyAgICBBc3NlcnQ6IGxldmVsIGlzIGZyb3plbi4KKyAgICBGb3IgZWFj
aCBlbGVtZW50IGsgb2Yga2V5cywgZG8KKyAgICAgIExldCBjdXJyZW50RGVzYyBiZSA/IE8uW1tH
ZXRPd25Qcm9wZXJ0eV1dKGspLgorICAgICAgSWYgY3VycmVudERlc2MgaXMgbm90IHVuZGVmaW5l
ZCwgdGhlbgorICAgICAgICBJZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihjdXJyZW50RGVzYykgaXMg
dHJ1ZSwgdGhlbgorICAgICAgICAgIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3Ig
eyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB9LgorICAgICAgICBFbHNlLAorICAgICAgICAgIExl
dCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxz
ZSwgW1tXcml0YWJsZV1dOiBmYWxzZSB9LgorICAgICAgICBQZXJmb3JtID8gRGVmaW5lUHJvcGVy
dHlPclRocm93KE8sIGssIGRlc2MpLgorICBSZXR1cm4gdHJ1ZS4KKworLS0tKi8KKworT2JqZWN0
LnNlYWwobmV3IEFycmF5QnVmZmVyKCkpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtYXJyb3dmdW5jdGlvbi5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLWFycm93ZnVuY3Rpb24uanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMmQxNzNjMjg3YWMxNzhjNGM3YjNiYWQ4ZmRhZTE0ODFkZjMyYmFlYgotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2Vh
bC9zZWFsLWFycm93ZnVuY3Rpb24uanMKQEAgLTAsMCArMSwzNiBAQAorLy8gQ29weXJpZ2h0IChD
KSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
KworLyotLS0KK2VzaWQ6IHNlYy1vYmplY3Quc2VhbAorZGVzY3JpcHRpb246ID4KKyAgICBPYmpl
Y3Quc2VhbCBBcnJvd0Z1bmN0aW9uCitpbmZvOiB8CisgIElmIFR5cGUoTykgaXMgbm90IE9iamVj
dCwgcmV0dXJuIE8uCisgIExldCBzdGF0dXMgYmUgPyBTZXRJbnRlZ3JpdHlMZXZlbChPLCBzZWFs
ZWQpLgorCisgIFNldEludGVncml0eUxldmVsICggTywgbGV2ZWwgKQorCisgIEFzc2VydDogVHlw
ZShPKSBpcyBPYmplY3QuCisgIEFzc2VydDogbGV2ZWwgaXMgZWl0aGVyIHNlYWxlZCBvciBmcm96
ZW4uCisgIExldCBzdGF0dXMgYmUgPyBPLltbUHJldmVudEV4dGVuc2lvbnNdXSgpLgorICBJZiBz
dGF0dXMgaXMgZmFsc2UsIHJldHVybiBmYWxzZS4KKyAgTGV0IGtleXMgYmUgPyBPLltbT3duUHJv
cGVydHlLZXlzXV0oKS4KKyAgSWYgbGV2ZWwgaXMgc2VhbGVkLCB0aGVuCisgICAgRm9yIGVhY2gg
ZWxlbWVudCBrIG9mIGtleXMsIGRvCisgICAgICBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRo
cm93KE8sIGssIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0p
LgorICBFbHNlLAorICAgIEFzc2VydDogbGV2ZWwgaXMgZnJvemVuLgorICAgIEZvciBlYWNoIGVs
ZW1lbnQgayBvZiBrZXlzLCBkbworICAgICAgTGV0IGN1cnJlbnREZXNjIGJlID8gTy5bW0dldE93
blByb3BlcnR5XV0oaykuCisgICAgICBJZiBjdXJyZW50RGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0
aGVuCisgICAgICAgIElmIElzQWNjZXNzb3JEZXNjcmlwdG9yKGN1cnJlbnREZXNjKSBpcyB0cnVl
LCB0aGVuCisgICAgICAgICAgTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtb
Q29uZmlndXJhYmxlXV06IGZhbHNlIH0uCisgICAgICAgIEVsc2UsCisgICAgICAgICAgTGV0IGRl
c2MgYmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlLCBb
W1dyaXRhYmxlXV06IGZhbHNlIH0uCisgICAgICAgIFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9y
VGhyb3coTywgaywgZGVzYykuCisgIFJldHVybiB0cnVlLgorCistLS0qLworCitPYmplY3Quc2Vh
bChuZXcgKE9iamVjdC5nZXRQcm90b3R5cGVPZigoKSA9PiB7fSkuY29uc3RydWN0b3IpKCkpOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3Nl
YWwtYXN5bmNhcnJvd2Z1bmN0aW9uLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9zZWFsL3NlYWwtYXN5bmNhcnJvd2Z1bmN0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1ZTAw
ZThiMjk0MTQ2ZDJjYzAyMWQ1NDA2ZWEzYTBkZGNiY2I0YTUKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1hc3luY2Fycm93
ZnVuY3Rpb24uanMKQEAgLTAsMCArMSwzNiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sg
V2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBi
eSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2Vz
aWQ6IHNlYy1vYmplY3Quc2VhbAorZGVzY3JpcHRpb246ID4KKyAgICBPYmplY3Quc2VhbCBBc3lu
Y0Fycm93RnVuY3Rpb24KK2luZm86IHwKKyAgSWYgVHlwZShPKSBpcyBub3QgT2JqZWN0LCByZXR1
cm4gTy4KKyAgTGV0IHN0YXR1cyBiZSA/IFNldEludGVncml0eUxldmVsKE8sIHNlYWxlZCkuCisK
KyAgU2V0SW50ZWdyaXR5TGV2ZWwgKCBPLCBsZXZlbCApCisKKyAgQXNzZXJ0OiBUeXBlKE8pIGlz
IE9iamVjdC4KKyAgQXNzZXJ0OiBsZXZlbCBpcyBlaXRoZXIgc2VhbGVkIG9yIGZyb3plbi4KKyAg
TGV0IHN0YXR1cyBiZSA/IE8uW1tQcmV2ZW50RXh0ZW5zaW9uc11dKCkuCisgIElmIHN0YXR1cyBp
cyBmYWxzZSwgcmV0dXJuIGZhbHNlLgorICBMZXQga2V5cyBiZSA/IE8uW1tPd25Qcm9wZXJ0eUtl
eXNdXSgpLgorICBJZiBsZXZlbCBpcyBzZWFsZWQsIHRoZW4KKyAgICBGb3IgZWFjaCBlbGVtZW50
IGsgb2Yga2V5cywgZG8KKyAgICAgIFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywg
aywgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UgfSkuCisgIEVs
c2UsCisgICAgQXNzZXJ0OiBsZXZlbCBpcyBmcm96ZW4uCisgICAgRm9yIGVhY2ggZWxlbWVudCBr
IG9mIGtleXMsIGRvCisgICAgICBMZXQgY3VycmVudERlc2MgYmUgPyBPLltbR2V0T3duUHJvcGVy
dHldXShrKS4KKyAgICAgIElmIGN1cnJlbnREZXNjIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAg
ICAgICAgSWYgSXNBY2Nlc3NvckRlc2NyaXB0b3IoY3VycmVudERlc2MpIGlzIHRydWUsIHRoZW4K
KyAgICAgICAgICBMZXQgZGVzYyBiZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1
cmFibGVdXTogZmFsc2UgfS4KKyAgICAgICAgRWxzZSwKKyAgICAgICAgICBMZXQgZGVzYyBiZSB0
aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UsIFtbV3JpdGFi
bGVdXTogZmFsc2UgfS4KKyAgICAgICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhP
LCBrLCBkZXNjKS4KKyAgUmV0dXJuIHRydWUuCisKKy0tLSovCisKK09iamVjdC5zZWFsKG5ldyAo
T2JqZWN0LmdldFByb3RvdHlwZU9mKGFzeW5jICgpID0+IHt9KS5jb25zdHJ1Y3RvcikoKSk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2Vh
bC1hc3luY2Z1bmN0aW9uLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9zZWFsL3NlYWwtYXN5bmNmdW5jdGlvbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNTIzYTgxMmU2YjQ2NmI1
ZmRhNzdmYmRiY2ZjNzJjYjUzMjA2MWJiCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtYXN5bmNmdW5jdGlvbi5qcwpAQCAt
MCwwICsxLDM2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5z
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLW9iamVjdC5z
ZWFsCitkZXNjcmlwdGlvbjogPgorICAgIE9iamVjdC5zZWFsIEFzeW5jRnVuY3Rpb24KK2luZm86
IHwKKyAgSWYgVHlwZShPKSBpcyBub3QgT2JqZWN0LCByZXR1cm4gTy4KKyAgTGV0IHN0YXR1cyBi
ZSA/IFNldEludGVncml0eUxldmVsKE8sIHNlYWxlZCkuCisKKyAgU2V0SW50ZWdyaXR5TGV2ZWwg
KCBPLCBsZXZlbCApCisKKyAgQXNzZXJ0OiBUeXBlKE8pIGlzIE9iamVjdC4KKyAgQXNzZXJ0OiBs
ZXZlbCBpcyBlaXRoZXIgc2VhbGVkIG9yIGZyb3plbi4KKyAgTGV0IHN0YXR1cyBiZSA/IE8uW1tQ
cmV2ZW50RXh0ZW5zaW9uc11dKCkuCisgIElmIHN0YXR1cyBpcyBmYWxzZSwgcmV0dXJuIGZhbHNl
LgorICBMZXQga2V5cyBiZSA/IE8uW1tPd25Qcm9wZXJ0eUtleXNdXSgpLgorICBJZiBsZXZlbCBp
cyBzZWFsZWQsIHRoZW4KKyAgICBGb3IgZWFjaCBlbGVtZW50IGsgb2Yga2V5cywgZG8KKyAgICAg
IFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywgaywgUHJvcGVydHlEZXNjcmlwdG9y
IHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UgfSkuCisgIEVsc2UsCisgICAgQXNzZXJ0OiBsZXZl
bCBpcyBmcm96ZW4uCisgICAgRm9yIGVhY2ggZWxlbWVudCBrIG9mIGtleXMsIGRvCisgICAgICBM
ZXQgY3VycmVudERlc2MgYmUgPyBPLltbR2V0T3duUHJvcGVydHldXShrKS4KKyAgICAgIElmIGN1
cnJlbnREZXNjIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAgICAgICAgSWYgSXNBY2Nlc3NvckRl
c2NyaXB0b3IoY3VycmVudERlc2MpIGlzIHRydWUsIHRoZW4KKyAgICAgICAgICBMZXQgZGVzYyBi
ZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UgfS4KKyAg
ICAgICAgRWxzZSwKKyAgICAgICAgICBMZXQgZGVzYyBiZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9y
IHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UsIFtbV3JpdGFibGVdXTogZmFsc2UgfS4KKyAgICAg
ICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrLCBkZXNjKS4KKyAgUmV0dXJu
IHRydWUuCisKKy0tLSovCisKK09iamVjdC5zZWFsKG5ldyAoT2JqZWN0LmdldFByb3RvdHlwZU9m
KGFzeW5jIGZ1bmN0aW9uKCkge30pLmNvbnN0cnVjdG9yKSgpKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLWFzeW5jZ2VuZXJhdG9y
ZnVuY3Rpb24uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwv
c2VhbC1hc3luY2dlbmVyYXRvcmZ1bmN0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1ZjdkZmM3ODU4NjRj
MTdkZGUyMTg1NGIyZTY3ODYyNmE2YjIwZGEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1hc3luY2dlbmVyYXRvcmZ1bmN0
aW9uLmpzCkBAIC0wLDAgKzEsMzYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRy
b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBz
ZWMtb2JqZWN0LnNlYWwKK2Rlc2NyaXB0aW9uOiA+CisgICAgT2JqZWN0LnNlYWwgQXN5bmNHZW5l
cmF0b3JGdW5jdGlvbgoraW5mbzogfAorICBJZiBUeXBlKE8pIGlzIG5vdCBPYmplY3QsIHJldHVy
biBPLgorICBMZXQgc3RhdHVzIGJlID8gU2V0SW50ZWdyaXR5TGV2ZWwoTywgc2VhbGVkKS4KKwor
ICBTZXRJbnRlZ3JpdHlMZXZlbCAoIE8sIGxldmVsICkKKworICBBc3NlcnQ6IFR5cGUoTykgaXMg
T2JqZWN0LgorICBBc3NlcnQ6IGxldmVsIGlzIGVpdGhlciBzZWFsZWQgb3IgZnJvemVuLgorICBM
ZXQgc3RhdHVzIGJlID8gTy5bW1ByZXZlbnRFeHRlbnNpb25zXV0oKS4KKyAgSWYgc3RhdHVzIGlz
IGZhbHNlLCByZXR1cm4gZmFsc2UuCisgIExldCBrZXlzIGJlID8gTy5bW093blByb3BlcnR5S2V5
c11dKCkuCisgIElmIGxldmVsIGlzIHNlYWxlZCwgdGhlbgorICAgIEZvciBlYWNoIGVsZW1lbnQg
ayBvZiBrZXlzLCBkbworICAgICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBr
LCBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB9KS4KKyAgRWxz
ZSwKKyAgICBBc3NlcnQ6IGxldmVsIGlzIGZyb3plbi4KKyAgICBGb3IgZWFjaCBlbGVtZW50IGsg
b2Yga2V5cywgZG8KKyAgICAgIExldCBjdXJyZW50RGVzYyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0
eV1dKGspLgorICAgICAgSWYgY3VycmVudERlc2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAg
ICAgICBJZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihjdXJyZW50RGVzYykgaXMgdHJ1ZSwgdGhlbgor
ICAgICAgICAgIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3Vy
YWJsZV1dOiBmYWxzZSB9LgorICAgICAgICBFbHNlLAorICAgICAgICAgIExldCBkZXNjIGJlIHRo
ZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSwgW1tXcml0YWJs
ZV1dOiBmYWxzZSB9LgorICAgICAgICBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8s
IGssIGRlc2MpLgorICBSZXR1cm4gdHJ1ZS4KKworLS0tKi8KKworT2JqZWN0LnNlYWwobmV3IChP
YmplY3QuZ2V0UHJvdG90eXBlT2YoYXN5bmMgZnVuY3Rpb24gKiAoKSB7fSkuY29uc3RydWN0b3Ip
KCkpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9z
ZWFsL3NlYWwtYmlnaW50NjRhcnJheS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3Qvc2VhbC9zZWFsLWJpZ2ludDY0YXJyYXkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY3NTk3ODhi
NTZkNjljNmIxYmNmZDZlOWEwYTdmNGU0YzI0OTRmMQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLWJpZ2ludDY0YXJyYXku
anMKQEAgLTAsMCArMSwzNiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1v
YmplY3Quc2VhbAorZGVzY3JpcHRpb246ID4KKyAgICBPYmplY3Quc2VhbCBCaWdJbnQ2NEFycmF5
CitpbmZvOiB8CisgIElmIFR5cGUoTykgaXMgbm90IE9iamVjdCwgcmV0dXJuIE8uCisgIExldCBz
dGF0dXMgYmUgPyBTZXRJbnRlZ3JpdHlMZXZlbChPLCBzZWFsZWQpLgorCisgIFNldEludGVncml0
eUxldmVsICggTywgbGV2ZWwgKQorCisgIEFzc2VydDogVHlwZShPKSBpcyBPYmplY3QuCisgIEFz
c2VydDogbGV2ZWwgaXMgZWl0aGVyIHNlYWxlZCBvciBmcm96ZW4uCisgIExldCBzdGF0dXMgYmUg
PyBPLltbUHJldmVudEV4dGVuc2lvbnNdXSgpLgorICBJZiBzdGF0dXMgaXMgZmFsc2UsIHJldHVy
biBmYWxzZS4KKyAgTGV0IGtleXMgYmUgPyBPLltbT3duUHJvcGVydHlLZXlzXV0oKS4KKyAgSWYg
bGV2ZWwgaXMgc2VhbGVkLCB0aGVuCisgICAgRm9yIGVhY2ggZWxlbWVudCBrIG9mIGtleXMsIGRv
CisgICAgICBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGssIFByb3BlcnR5RGVz
Y3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0pLgorICBFbHNlLAorICAgIEFzc2Vy
dDogbGV2ZWwgaXMgZnJvemVuLgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBrZXlzLCBkbwor
ICAgICAgTGV0IGN1cnJlbnREZXNjIGJlID8gTy5bW0dldE93blByb3BlcnR5XV0oaykuCisgICAg
ICBJZiBjdXJyZW50RGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICAgIElmIElzQWNj
ZXNzb3JEZXNjcmlwdG9yKGN1cnJlbnREZXNjKSBpcyB0cnVlLCB0aGVuCisgICAgICAgICAgTGV0
IGRlc2MgYmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNl
IH0uCisgICAgICAgIEVsc2UsCisgICAgICAgICAgTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5RGVz
Y3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlLCBbW1dyaXRhYmxlXV06IGZhbHNlIH0u
CisgICAgICAgIFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywgaywgZGVzYykuCisg
IFJldHVybiB0cnVlLgorCistLS0qLworCitPYmplY3Quc2VhbChuZXcgQmlnSW50NjRBcnJheSgp
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2Vh
bC9zZWFsLWJpZ3VpbnQ2NGFycmF5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9zZWFsL3NlYWwtYmlndWludDY0YXJyYXkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2U2ZGUwYjA2
MzJkOTE5NmRmYzZkZTk5ZjhiNTk0ZDllZTNjMjA3YwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLWJpZ3VpbnQ2NGFycmF5
LmpzCkBAIC0wLDAgKzEsMzYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMt
b2JqZWN0LnNlYWwKK2Rlc2NyaXB0aW9uOiA+CisgICAgT2JqZWN0LnNlYWwgQmlnVWludDY0QXJy
YXkKK2luZm86IHwKKyAgSWYgVHlwZShPKSBpcyBub3QgT2JqZWN0LCByZXR1cm4gTy4KKyAgTGV0
IHN0YXR1cyBiZSA/IFNldEludGVncml0eUxldmVsKE8sIHNlYWxlZCkuCisKKyAgU2V0SW50ZWdy
aXR5TGV2ZWwgKCBPLCBsZXZlbCApCisKKyAgQXNzZXJ0OiBUeXBlKE8pIGlzIE9iamVjdC4KKyAg
QXNzZXJ0OiBsZXZlbCBpcyBlaXRoZXIgc2VhbGVkIG9yIGZyb3plbi4KKyAgTGV0IHN0YXR1cyBi
ZSA/IE8uW1tQcmV2ZW50RXh0ZW5zaW9uc11dKCkuCisgIElmIHN0YXR1cyBpcyBmYWxzZSwgcmV0
dXJuIGZhbHNlLgorICBMZXQga2V5cyBiZSA/IE8uW1tPd25Qcm9wZXJ0eUtleXNdXSgpLgorICBJ
ZiBsZXZlbCBpcyBzZWFsZWQsIHRoZW4KKyAgICBGb3IgZWFjaCBlbGVtZW50IGsgb2Yga2V5cywg
ZG8KKyAgICAgIFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywgaywgUHJvcGVydHlE
ZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UgfSkuCisgIEVsc2UsCisgICAgQXNz
ZXJ0OiBsZXZlbCBpcyBmcm96ZW4uCisgICAgRm9yIGVhY2ggZWxlbWVudCBrIG9mIGtleXMsIGRv
CisgICAgICBMZXQgY3VycmVudERlc2MgYmUgPyBPLltbR2V0T3duUHJvcGVydHldXShrKS4KKyAg
ICAgIElmIGN1cnJlbnREZXNjIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAgICAgICAgSWYgSXNB
Y2Nlc3NvckRlc2NyaXB0b3IoY3VycmVudERlc2MpIGlzIHRydWUsIHRoZW4KKyAgICAgICAgICBM
ZXQgZGVzYyBiZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFs
c2UgfS4KKyAgICAgICAgRWxzZSwKKyAgICAgICAgICBMZXQgZGVzYyBiZSB0aGUgUHJvcGVydHlE
ZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UsIFtbV3JpdGFibGVdXTogZmFsc2Ug
fS4KKyAgICAgICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrLCBkZXNjKS4K
KyAgUmV0dXJuIHRydWUuCisKKy0tLSovCisKK09iamVjdC5zZWFsKG5ldyBCaWdVaW50NjRBcnJh
eSgpKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
c2VhbC9zZWFsLWJvb2xlYW4tbGl0ZXJhbC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3Qvc2VhbC9zZWFsLWJvb2xlYW4tbGl0ZXJhbC5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYTdm
ZGNlZTQ5ZDYwNmZiOTU2ZmMxYTVhNTQxNzQ1ZDg5OTgxNzAxCi0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtYm9vbGVhbi1s
aXRlcmFsLmpzCkBAIC0wLDAgKzEsMzYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdh
bGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lk
OiBzZWMtb2JqZWN0LnNlYWwKK2Rlc2NyaXB0aW9uOiA+CisgICAgT2JqZWN0LnNlYWwgYm9vbGVh
biBsaXRlcmFsCitpbmZvOiB8CisgIElmIFR5cGUoTykgaXMgbm90IE9iamVjdCwgcmV0dXJuIE8u
CisgIExldCBzdGF0dXMgYmUgPyBTZXRJbnRlZ3JpdHlMZXZlbChPLCBzZWFsZWQpLgorCisgIFNl
dEludGVncml0eUxldmVsICggTywgbGV2ZWwgKQorCisgIEFzc2VydDogVHlwZShPKSBpcyBPYmpl
Y3QuCisgIEFzc2VydDogbGV2ZWwgaXMgZWl0aGVyIHNlYWxlZCBvciBmcm96ZW4uCisgIExldCBz
dGF0dXMgYmUgPyBPLltbUHJldmVudEV4dGVuc2lvbnNdXSgpLgorICBJZiBzdGF0dXMgaXMgZmFs
c2UsIHJldHVybiBmYWxzZS4KKyAgTGV0IGtleXMgYmUgPyBPLltbT3duUHJvcGVydHlLZXlzXV0o
KS4KKyAgSWYgbGV2ZWwgaXMgc2VhbGVkLCB0aGVuCisgICAgRm9yIGVhY2ggZWxlbWVudCBrIG9m
IGtleXMsIGRvCisgICAgICBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGssIFBy
b3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0pLgorICBFbHNlLAor
ICAgIEFzc2VydDogbGV2ZWwgaXMgZnJvemVuLgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBr
ZXlzLCBkbworICAgICAgTGV0IGN1cnJlbnREZXNjIGJlID8gTy5bW0dldE93blByb3BlcnR5XV0o
aykuCisgICAgICBJZiBjdXJyZW50RGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICAg
IElmIElzQWNjZXNzb3JEZXNjcmlwdG9yKGN1cnJlbnREZXNjKSBpcyB0cnVlLCB0aGVuCisgICAg
ICAgICAgTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxl
XV06IGZhbHNlIH0uCisgICAgICAgIEVsc2UsCisgICAgICAgICAgTGV0IGRlc2MgYmUgdGhlIFBy
b3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlLCBbW1dyaXRhYmxlXV06
IGZhbHNlIH0uCisgICAgICAgIFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywgaywg
ZGVzYykuCisgIFJldHVybiB0cnVlLgorCistLS0qLworCitPYmplY3Quc2VhbCh0cnVlKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFs
LWJvb2xlYW4uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwv
c2VhbC1ib29sZWFuLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk5ZmY0MWZmZTAwMGNiNmM0NzkwYjI3ZWRhZjVi
MDNlZTJlNzI5MDAKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1ib29sZWFuLmpzCkBAIC0wLDAgKzEsMzYgQEAKKy8vIENv
cHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtb2JqZWN0LnNlYWwKK2Rlc2NyaXB0aW9uOiA+
CisgICAgT2JqZWN0LnNlYWwgQm9vbGVhbgoraW5mbzogfAorICBJZiBUeXBlKE8pIGlzIG5vdCBP
YmplY3QsIHJldHVybiBPLgorICBMZXQgc3RhdHVzIGJlID8gU2V0SW50ZWdyaXR5TGV2ZWwoTywg
c2VhbGVkKS4KKworICBTZXRJbnRlZ3JpdHlMZXZlbCAoIE8sIGxldmVsICkKKworICBBc3NlcnQ6
IFR5cGUoTykgaXMgT2JqZWN0LgorICBBc3NlcnQ6IGxldmVsIGlzIGVpdGhlciBzZWFsZWQgb3Ig
ZnJvemVuLgorICBMZXQgc3RhdHVzIGJlID8gTy5bW1ByZXZlbnRFeHRlbnNpb25zXV0oKS4KKyAg
SWYgc3RhdHVzIGlzIGZhbHNlLCByZXR1cm4gZmFsc2UuCisgIExldCBrZXlzIGJlID8gTy5bW093
blByb3BlcnR5S2V5c11dKCkuCisgIElmIGxldmVsIGlzIHNlYWxlZCwgdGhlbgorICAgIEZvciBl
YWNoIGVsZW1lbnQgayBvZiBrZXlzLCBkbworICAgICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5
T3JUaHJvdyhPLCBrLCBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxz
ZSB9KS4KKyAgRWxzZSwKKyAgICBBc3NlcnQ6IGxldmVsIGlzIGZyb3plbi4KKyAgICBGb3IgZWFj
aCBlbGVtZW50IGsgb2Yga2V5cywgZG8KKyAgICAgIExldCBjdXJyZW50RGVzYyBiZSA/IE8uW1tH
ZXRPd25Qcm9wZXJ0eV1dKGspLgorICAgICAgSWYgY3VycmVudERlc2MgaXMgbm90IHVuZGVmaW5l
ZCwgdGhlbgorICAgICAgICBJZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihjdXJyZW50RGVzYykgaXMg
dHJ1ZSwgdGhlbgorICAgICAgICAgIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3Ig
eyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB9LgorICAgICAgICBFbHNlLAorICAgICAgICAgIExl
dCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxz
ZSwgW1tXcml0YWJsZV1dOiBmYWxzZSB9LgorICAgICAgICBQZXJmb3JtID8gRGVmaW5lUHJvcGVy
dHlPclRocm93KE8sIGssIGRlc2MpLgorICBSZXR1cm4gdHJ1ZS4KKworLS0tKi8KKworT2JqZWN0
LnNlYWwobmV3IEJvb2xlYW4oKSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1kYXRhdmlldy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLWRhdGF2aWV3LmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJh
Zjk1OWQzN2JmYTdmMTYzY2EzYWY2NDFmZTVmYjk5MjBiY2I0NzAKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1kYXRhdmll
dy5qcwpAQCAtMCwwICsxLDM2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9u
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2Vj
LW9iamVjdC5zZWFsCitkZXNjcmlwdGlvbjogPgorICAgIE9iamVjdC5zZWFsIERhdGFWaWV3Citp
bmZvOiB8CisgIElmIFR5cGUoTykgaXMgbm90IE9iamVjdCwgcmV0dXJuIE8uCisgIExldCBzdGF0
dXMgYmUgPyBTZXRJbnRlZ3JpdHlMZXZlbChPLCBzZWFsZWQpLgorCisgIFNldEludGVncml0eUxl
dmVsICggTywgbGV2ZWwgKQorCisgIEFzc2VydDogVHlwZShPKSBpcyBPYmplY3QuCisgIEFzc2Vy
dDogbGV2ZWwgaXMgZWl0aGVyIHNlYWxlZCBvciBmcm96ZW4uCisgIExldCBzdGF0dXMgYmUgPyBP
LltbUHJldmVudEV4dGVuc2lvbnNdXSgpLgorICBJZiBzdGF0dXMgaXMgZmFsc2UsIHJldHVybiBm
YWxzZS4KKyAgTGV0IGtleXMgYmUgPyBPLltbT3duUHJvcGVydHlLZXlzXV0oKS4KKyAgSWYgbGV2
ZWwgaXMgc2VhbGVkLCB0aGVuCisgICAgRm9yIGVhY2ggZWxlbWVudCBrIG9mIGtleXMsIGRvCisg
ICAgICBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGssIFByb3BlcnR5RGVzY3Jp
cHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0pLgorICBFbHNlLAorICAgIEFzc2VydDog
bGV2ZWwgaXMgZnJvemVuLgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBrZXlzLCBkbworICAg
ICAgTGV0IGN1cnJlbnREZXNjIGJlID8gTy5bW0dldE93blByb3BlcnR5XV0oaykuCisgICAgICBJ
ZiBjdXJyZW50RGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICAgIElmIElzQWNjZXNz
b3JEZXNjcmlwdG9yKGN1cnJlbnREZXNjKSBpcyB0cnVlLCB0aGVuCisgICAgICAgICAgTGV0IGRl
c2MgYmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0u
CisgICAgICAgIEVsc2UsCisgICAgICAgICAgTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5RGVzY3Jp
cHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlLCBbW1dyaXRhYmxlXV06IGZhbHNlIH0uCisg
ICAgICAgIFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywgaywgZGVzYykuCisgIFJl
dHVybiB0cnVlLgorCistLS0qLworCitPYmplY3Quc2VhbChuZXcgRGF0YVZpZXcobmV3IEFycmF5
QnVmZmVyKDQpKSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3NlYWwvc2VhbC1kYXRlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9zZWFsL3NlYWwtZGF0ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNGNjYmM5YmM4ODljZmFmYjVj
ZTZhMjhlZGYzZThmNWE1YWQ2YmQ4Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtZGF0ZS5qcwpAQCAtMCwwICsxLDM2IEBA
CisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLW9iamVjdC5zZWFsCitkZXNjcmlw
dGlvbjogPgorICAgIE9iamVjdC5zZWFsIERhdGUKK2luZm86IHwKKyAgSWYgVHlwZShPKSBpcyBu
b3QgT2JqZWN0LCByZXR1cm4gTy4KKyAgTGV0IHN0YXR1cyBiZSA/IFNldEludGVncml0eUxldmVs
KE8sIHNlYWxlZCkuCisKKyAgU2V0SW50ZWdyaXR5TGV2ZWwgKCBPLCBsZXZlbCApCisKKyAgQXNz
ZXJ0OiBUeXBlKE8pIGlzIE9iamVjdC4KKyAgQXNzZXJ0OiBsZXZlbCBpcyBlaXRoZXIgc2VhbGVk
IG9yIGZyb3plbi4KKyAgTGV0IHN0YXR1cyBiZSA/IE8uW1tQcmV2ZW50RXh0ZW5zaW9uc11dKCku
CisgIElmIHN0YXR1cyBpcyBmYWxzZSwgcmV0dXJuIGZhbHNlLgorICBMZXQga2V5cyBiZSA/IE8u
W1tPd25Qcm9wZXJ0eUtleXNdXSgpLgorICBJZiBsZXZlbCBpcyBzZWFsZWQsIHRoZW4KKyAgICBG
b3IgZWFjaCBlbGVtZW50IGsgb2Yga2V5cywgZG8KKyAgICAgIFBlcmZvcm0gPyBEZWZpbmVQcm9w
ZXJ0eU9yVGhyb3coTywgaywgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTog
ZmFsc2UgfSkuCisgIEVsc2UsCisgICAgQXNzZXJ0OiBsZXZlbCBpcyBmcm96ZW4uCisgICAgRm9y
IGVhY2ggZWxlbWVudCBrIG9mIGtleXMsIGRvCisgICAgICBMZXQgY3VycmVudERlc2MgYmUgPyBP
LltbR2V0T3duUHJvcGVydHldXShrKS4KKyAgICAgIElmIGN1cnJlbnREZXNjIGlzIG5vdCB1bmRl
ZmluZWQsIHRoZW4KKyAgICAgICAgSWYgSXNBY2Nlc3NvckRlc2NyaXB0b3IoY3VycmVudERlc2Mp
IGlzIHRydWUsIHRoZW4KKyAgICAgICAgICBMZXQgZGVzYyBiZSB0aGUgUHJvcGVydHlEZXNjcmlw
dG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UgfS4KKyAgICAgICAgRWxzZSwKKyAgICAgICAg
ICBMZXQgZGVzYyBiZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTog
ZmFsc2UsIFtbV3JpdGFibGVdXTogZmFsc2UgfS4KKyAgICAgICAgUGVyZm9ybSA/IERlZmluZVBy
b3BlcnR5T3JUaHJvdyhPLCBrLCBkZXNjKS4KKyAgUmV0dXJuIHRydWUuCisKKy0tLSovCisKK09i
amVjdC5zZWFsKG5ldyBEYXRlKCkpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtZXJyb3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1lcnJvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZGYyMjk3
ZjUwMGJlMDkzN2VjYjMzY2RiMzk5NWU4NmNlYWYwZDhkCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtZXJyb3IuanMKQEAg
LTAsMCArMSwzNiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1vYmplY3Qu
c2VhbAorZGVzY3JpcHRpb246ID4KKyAgICBPYmplY3Quc2VhbCBFcnJvcgoraW5mbzogfAorICBJ
ZiBUeXBlKE8pIGlzIG5vdCBPYmplY3QsIHJldHVybiBPLgorICBMZXQgc3RhdHVzIGJlID8gU2V0
SW50ZWdyaXR5TGV2ZWwoTywgc2VhbGVkKS4KKworICBTZXRJbnRlZ3JpdHlMZXZlbCAoIE8sIGxl
dmVsICkKKworICBBc3NlcnQ6IFR5cGUoTykgaXMgT2JqZWN0LgorICBBc3NlcnQ6IGxldmVsIGlz
IGVpdGhlciBzZWFsZWQgb3IgZnJvemVuLgorICBMZXQgc3RhdHVzIGJlID8gTy5bW1ByZXZlbnRF
eHRlbnNpb25zXV0oKS4KKyAgSWYgc3RhdHVzIGlzIGZhbHNlLCByZXR1cm4gZmFsc2UuCisgIExl
dCBrZXlzIGJlID8gTy5bW093blByb3BlcnR5S2V5c11dKCkuCisgIElmIGxldmVsIGlzIHNlYWxl
ZCwgdGhlbgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBrZXlzLCBkbworICAgICAgUGVyZm9y
bSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrLCBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0Nv
bmZpZ3VyYWJsZV1dOiBmYWxzZSB9KS4KKyAgRWxzZSwKKyAgICBBc3NlcnQ6IGxldmVsIGlzIGZy
b3plbi4KKyAgICBGb3IgZWFjaCBlbGVtZW50IGsgb2Yga2V5cywgZG8KKyAgICAgIExldCBjdXJy
ZW50RGVzYyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1dKGspLgorICAgICAgSWYgY3VycmVudERl
c2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgICBJZiBJc0FjY2Vzc29yRGVzY3JpcHRv
cihjdXJyZW50RGVzYykgaXMgdHJ1ZSwgdGhlbgorICAgICAgICAgIExldCBkZXNjIGJlIHRoZSBQ
cm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB9LgorICAgICAgICBF
bHNlLAorICAgICAgICAgIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0Nv
bmZpZ3VyYWJsZV1dOiBmYWxzZSwgW1tXcml0YWJsZV1dOiBmYWxzZSB9LgorICAgICAgICBQZXJm
b3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGssIGRlc2MpLgorICBSZXR1cm4gdHJ1ZS4K
KworLS0tKi8KKworT2JqZWN0LnNlYWwobmV3IEVycm9yKCkpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtZXZhbGVycm9yLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtZXZhbGVycm9y
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjE1Njg4MDhkZGU0NzRkMGZkMmM5NTdjMWUwM2UwNDY5YTBlNGM1MDEK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0
L3NlYWwvc2VhbC1ldmFsZXJyb3IuanMKQEAgLTAsMCArMSwzNiBAQAorLy8gQ29weXJpZ2h0IChD
KSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
KworLyotLS0KK2VzaWQ6IHNlYy1vYmplY3Quc2VhbAorZGVzY3JpcHRpb246ID4KKyAgICBPYmpl
Y3Quc2VhbCBFdmFsRXJyb3IKK2luZm86IHwKKyAgSWYgVHlwZShPKSBpcyBub3QgT2JqZWN0LCBy
ZXR1cm4gTy4KKyAgTGV0IHN0YXR1cyBiZSA/IFNldEludGVncml0eUxldmVsKE8sIHNlYWxlZCku
CisKKyAgU2V0SW50ZWdyaXR5TGV2ZWwgKCBPLCBsZXZlbCApCisKKyAgQXNzZXJ0OiBUeXBlKE8p
IGlzIE9iamVjdC4KKyAgQXNzZXJ0OiBsZXZlbCBpcyBlaXRoZXIgc2VhbGVkIG9yIGZyb3plbi4K
KyAgTGV0IHN0YXR1cyBiZSA/IE8uW1tQcmV2ZW50RXh0ZW5zaW9uc11dKCkuCisgIElmIHN0YXR1
cyBpcyBmYWxzZSwgcmV0dXJuIGZhbHNlLgorICBMZXQga2V5cyBiZSA/IE8uW1tPd25Qcm9wZXJ0
eUtleXNdXSgpLgorICBJZiBsZXZlbCBpcyBzZWFsZWQsIHRoZW4KKyAgICBGb3IgZWFjaCBlbGVt
ZW50IGsgb2Yga2V5cywgZG8KKyAgICAgIFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3co
TywgaywgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UgfSkuCisg
IEVsc2UsCisgICAgQXNzZXJ0OiBsZXZlbCBpcyBmcm96ZW4uCisgICAgRm9yIGVhY2ggZWxlbWVu
dCBrIG9mIGtleXMsIGRvCisgICAgICBMZXQgY3VycmVudERlc2MgYmUgPyBPLltbR2V0T3duUHJv
cGVydHldXShrKS4KKyAgICAgIElmIGN1cnJlbnREZXNjIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4K
KyAgICAgICAgSWYgSXNBY2Nlc3NvckRlc2NyaXB0b3IoY3VycmVudERlc2MpIGlzIHRydWUsIHRo
ZW4KKyAgICAgICAgICBMZXQgZGVzYyBiZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25m
aWd1cmFibGVdXTogZmFsc2UgfS4KKyAgICAgICAgRWxzZSwKKyAgICAgICAgICBMZXQgZGVzYyBi
ZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UsIFtbV3Jp
dGFibGVdXTogZmFsc2UgfS4KKyAgICAgICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJv
dyhPLCBrLCBkZXNjKS4KKyAgUmV0dXJuIHRydWUuCisKKy0tLSovCisKK09iamVjdC5zZWFsKG5l
dyBFdmFsRXJyb3IoKSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3NlYWwvc2VhbC1maW5hbGl6YXRpb25yZWdpc3RyeS5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLWZpbmFsaXphdGlvbnJlZ2lzdHJ5
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQ5Zjg0ZGM2MTQxNzUzY2FjMjc5YzA3NjNjYTk0NjYwYWM4M2Q0YzcK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0
L3NlYWwvc2VhbC1maW5hbGl6YXRpb25yZWdpc3RyeS5qcwpAQCAtMCwwICsxLDM2IEBACisvLyBD
b3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLW9iamVjdC5zZWFsCitkZXNjcmlwdGlvbjog
PgorICAgIE9iamVjdC5zZWFsIEZpbmFsaXphdGlvblJlZ2lzdHJ5CitpbmZvOiB8CisgIElmIFR5
cGUoTykgaXMgbm90IE9iamVjdCwgcmV0dXJuIE8uCisgIExldCBzdGF0dXMgYmUgPyBTZXRJbnRl
Z3JpdHlMZXZlbChPLCBzZWFsZWQpLgorCisgIFNldEludGVncml0eUxldmVsICggTywgbGV2ZWwg
KQorCisgIEFzc2VydDogVHlwZShPKSBpcyBPYmplY3QuCisgIEFzc2VydDogbGV2ZWwgaXMgZWl0
aGVyIHNlYWxlZCBvciBmcm96ZW4uCisgIExldCBzdGF0dXMgYmUgPyBPLltbUHJldmVudEV4dGVu
c2lvbnNdXSgpLgorICBJZiBzdGF0dXMgaXMgZmFsc2UsIHJldHVybiBmYWxzZS4KKyAgTGV0IGtl
eXMgYmUgPyBPLltbT3duUHJvcGVydHlLZXlzXV0oKS4KKyAgSWYgbGV2ZWwgaXMgc2VhbGVkLCB0
aGVuCisgICAgRm9yIGVhY2ggZWxlbWVudCBrIG9mIGtleXMsIGRvCisgICAgICBQZXJmb3JtID8g
RGVmaW5lUHJvcGVydHlPclRocm93KE8sIGssIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmln
dXJhYmxlXV06IGZhbHNlIH0pLgorICBFbHNlLAorICAgIEFzc2VydDogbGV2ZWwgaXMgZnJvemVu
LgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBrZXlzLCBkbworICAgICAgTGV0IGN1cnJlbnRE
ZXNjIGJlID8gTy5bW0dldE93blByb3BlcnR5XV0oaykuCisgICAgICBJZiBjdXJyZW50RGVzYyBp
cyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICAgIElmIElzQWNjZXNzb3JEZXNjcmlwdG9yKGN1
cnJlbnREZXNjKSBpcyB0cnVlLCB0aGVuCisgICAgICAgICAgTGV0IGRlc2MgYmUgdGhlIFByb3Bl
cnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0uCisgICAgICAgIEVsc2Us
CisgICAgICAgICAgTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmln
dXJhYmxlXV06IGZhbHNlLCBbW1dyaXRhYmxlXV06IGZhbHNlIH0uCisgICAgICAgIFBlcmZvcm0g
PyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywgaywgZGVzYykuCisgIFJldHVybiB0cnVlLgorCist
LS0qLworCitPYmplY3Quc2VhbChuZXcgRmluYWxpemF0aW9uUmVnaXN0cnkoKCkgPT4ge30pKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9z
ZWFsLWZsb2F0MzJhcnJheS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmpl
Y3Qvc2VhbC9zZWFsLWZsb2F0MzJhcnJheS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMjQzOGVjY2Q4NzZlOTY5
ZGQwN2JiMjA5MWVmZDBiODk0YTk3Nzg5Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtZmxvYXQzMmFycmF5LmpzCkBAIC0w
LDAgKzEsMzYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtb2JqZWN0LnNl
YWwKK2Rlc2NyaXB0aW9uOiA+CisgICAgT2JqZWN0LnNlYWwgRmxvYXQzMkFycmF5CitpbmZvOiB8
CisgIElmIFR5cGUoTykgaXMgbm90IE9iamVjdCwgcmV0dXJuIE8uCisgIExldCBzdGF0dXMgYmUg
PyBTZXRJbnRlZ3JpdHlMZXZlbChPLCBzZWFsZWQpLgorCisgIFNldEludGVncml0eUxldmVsICgg
TywgbGV2ZWwgKQorCisgIEFzc2VydDogVHlwZShPKSBpcyBPYmplY3QuCisgIEFzc2VydDogbGV2
ZWwgaXMgZWl0aGVyIHNlYWxlZCBvciBmcm96ZW4uCisgIExldCBzdGF0dXMgYmUgPyBPLltbUHJl
dmVudEV4dGVuc2lvbnNdXSgpLgorICBJZiBzdGF0dXMgaXMgZmFsc2UsIHJldHVybiBmYWxzZS4K
KyAgTGV0IGtleXMgYmUgPyBPLltbT3duUHJvcGVydHlLZXlzXV0oKS4KKyAgSWYgbGV2ZWwgaXMg
c2VhbGVkLCB0aGVuCisgICAgRm9yIGVhY2ggZWxlbWVudCBrIG9mIGtleXMsIGRvCisgICAgICBQ
ZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGssIFByb3BlcnR5RGVzY3JpcHRvciB7
IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0pLgorICBFbHNlLAorICAgIEFzc2VydDogbGV2ZWwg
aXMgZnJvemVuLgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBrZXlzLCBkbworICAgICAgTGV0
IGN1cnJlbnREZXNjIGJlID8gTy5bW0dldE93blByb3BlcnR5XV0oaykuCisgICAgICBJZiBjdXJy
ZW50RGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICAgIElmIElzQWNjZXNzb3JEZXNj
cmlwdG9yKGN1cnJlbnREZXNjKSBpcyB0cnVlLCB0aGVuCisgICAgICAgICAgTGV0IGRlc2MgYmUg
dGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0uCisgICAg
ICAgIEVsc2UsCisgICAgICAgICAgTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7
IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlLCBbW1dyaXRhYmxlXV06IGZhbHNlIH0uCisgICAgICAg
IFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywgaywgZGVzYykuCisgIFJldHVybiB0
cnVlLgorCistLS0qLworCitPYmplY3Quc2VhbChuZXcgRmxvYXQzMkFycmF5KCkpOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtZmxv
YXQ2NGFycmF5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFs
L3NlYWwtZmxvYXQ2NGFycmF5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjliZDhkMmRlNGU4Yzc2YjljZDhiYWJm
ZTJiNDZlOGM3ZTQ0ZGY1YjEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1mbG9hdDY0YXJyYXkuanMKQEAgLTAsMCArMSwz
NiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1vYmplY3Quc2VhbAorZGVz
Y3JpcHRpb246ID4KKyAgICBPYmplY3Quc2VhbCBGbG9hdDY0QXJyYXkKK2luZm86IHwKKyAgSWYg
VHlwZShPKSBpcyBub3QgT2JqZWN0LCByZXR1cm4gTy4KKyAgTGV0IHN0YXR1cyBiZSA/IFNldElu
dGVncml0eUxldmVsKE8sIHNlYWxlZCkuCisKKyAgU2V0SW50ZWdyaXR5TGV2ZWwgKCBPLCBsZXZl
bCApCisKKyAgQXNzZXJ0OiBUeXBlKE8pIGlzIE9iamVjdC4KKyAgQXNzZXJ0OiBsZXZlbCBpcyBl
aXRoZXIgc2VhbGVkIG9yIGZyb3plbi4KKyAgTGV0IHN0YXR1cyBiZSA/IE8uW1tQcmV2ZW50RXh0
ZW5zaW9uc11dKCkuCisgIElmIHN0YXR1cyBpcyBmYWxzZSwgcmV0dXJuIGZhbHNlLgorICBMZXQg
a2V5cyBiZSA/IE8uW1tPd25Qcm9wZXJ0eUtleXNdXSgpLgorICBJZiBsZXZlbCBpcyBzZWFsZWQs
IHRoZW4KKyAgICBGb3IgZWFjaCBlbGVtZW50IGsgb2Yga2V5cywgZG8KKyAgICAgIFBlcmZvcm0g
PyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywgaywgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25m
aWd1cmFibGVdXTogZmFsc2UgfSkuCisgIEVsc2UsCisgICAgQXNzZXJ0OiBsZXZlbCBpcyBmcm96
ZW4uCisgICAgRm9yIGVhY2ggZWxlbWVudCBrIG9mIGtleXMsIGRvCisgICAgICBMZXQgY3VycmVu
dERlc2MgYmUgPyBPLltbR2V0T3duUHJvcGVydHldXShrKS4KKyAgICAgIElmIGN1cnJlbnREZXNj
IGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAgICAgICAgSWYgSXNBY2Nlc3NvckRlc2NyaXB0b3Io
Y3VycmVudERlc2MpIGlzIHRydWUsIHRoZW4KKyAgICAgICAgICBMZXQgZGVzYyBiZSB0aGUgUHJv
cGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UgfS4KKyAgICAgICAgRWxz
ZSwKKyAgICAgICAgICBMZXQgZGVzYyBiZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25m
aWd1cmFibGVdXTogZmFsc2UsIFtbV3JpdGFibGVdXTogZmFsc2UgfS4KKyAgICAgICAgUGVyZm9y
bSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrLCBkZXNjKS4KKyAgUmV0dXJuIHRydWUuCisK
Ky0tLSovCisKK09iamVjdC5zZWFsKG5ldyBGbG9hdDY0QXJyYXkoKSk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1mdW5jdGlvbi5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLWZ1bmN0
aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjYwOTZlMWE1OGRjMGFiOGE4NmI1ZTg1ZGE1MjcxZTVkMjNhNGVj
YjYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L3NlYWwvc2VhbC1mdW5jdGlvbi5qcwpAQCAtMCwwICsxLDM2IEBACisvLyBDb3B5cmlnaHQg
KEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2Rl
IGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgorCisvKi0tLQorZXNpZDogc2VjLW9iamVjdC5zZWFsCitkZXNjcmlwdGlvbjogPgorICAgIE9i
amVjdC5zZWFsIEZ1bmN0aW9uCitpbmZvOiB8CisgIElmIFR5cGUoTykgaXMgbm90IE9iamVjdCwg
cmV0dXJuIE8uCisgIExldCBzdGF0dXMgYmUgPyBTZXRJbnRlZ3JpdHlMZXZlbChPLCBzZWFsZWQp
LgorCisgIFNldEludGVncml0eUxldmVsICggTywgbGV2ZWwgKQorCisgIEFzc2VydDogVHlwZShP
KSBpcyBPYmplY3QuCisgIEFzc2VydDogbGV2ZWwgaXMgZWl0aGVyIHNlYWxlZCBvciBmcm96ZW4u
CisgIExldCBzdGF0dXMgYmUgPyBPLltbUHJldmVudEV4dGVuc2lvbnNdXSgpLgorICBJZiBzdGF0
dXMgaXMgZmFsc2UsIHJldHVybiBmYWxzZS4KKyAgTGV0IGtleXMgYmUgPyBPLltbT3duUHJvcGVy
dHlLZXlzXV0oKS4KKyAgSWYgbGV2ZWwgaXMgc2VhbGVkLCB0aGVuCisgICAgRm9yIGVhY2ggZWxl
bWVudCBrIG9mIGtleXMsIGRvCisgICAgICBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93
KE8sIGssIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0pLgor
ICBFbHNlLAorICAgIEFzc2VydDogbGV2ZWwgaXMgZnJvemVuLgorICAgIEZvciBlYWNoIGVsZW1l
bnQgayBvZiBrZXlzLCBkbworICAgICAgTGV0IGN1cnJlbnREZXNjIGJlID8gTy5bW0dldE93blBy
b3BlcnR5XV0oaykuCisgICAgICBJZiBjdXJyZW50RGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVu
CisgICAgICAgIElmIElzQWNjZXNzb3JEZXNjcmlwdG9yKGN1cnJlbnREZXNjKSBpcyB0cnVlLCB0
aGVuCisgICAgICAgICAgTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29u
ZmlndXJhYmxlXV06IGZhbHNlIH0uCisgICAgICAgIEVsc2UsCisgICAgICAgICAgTGV0IGRlc2Mg
YmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlLCBbW1dy
aXRhYmxlXV06IGZhbHNlIH0uCisgICAgICAgIFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhy
b3coTywgaywgZGVzYykuCisgIFJldHVybiB0cnVlLgorCistLS0qLworCitPYmplY3Quc2VhbChu
ZXcgRnVuY3Rpb24oKSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3NlYWwvc2VhbC1nZW5lcmF0b3JmdW5jdGlvbi5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLWdlbmVyYXRvcmZ1bmN0aW9uLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjlkZmEzNmI4ODJhOTNhZWNkMGQ1ZTdhZGY1MjBhMzAxMzA2ODgwMmUKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwv
c2VhbC1nZW5lcmF0b3JmdW5jdGlvbi5qcwpAQCAtMCwwICsxLDM2IEBACisvLyBDb3B5cmlnaHQg
KEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2Rl
IGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgorCisvKi0tLQorZXNpZDogc2VjLW9iamVjdC5zZWFsCitkZXNjcmlwdGlvbjogPgorICAgIE9i
amVjdC5zZWFsIEdlbmVyYXRvckZ1bmN0aW9uCitpbmZvOiB8CisgIElmIFR5cGUoTykgaXMgbm90
IE9iamVjdCwgcmV0dXJuIE8uCisgIExldCBzdGF0dXMgYmUgPyBTZXRJbnRlZ3JpdHlMZXZlbChP
LCBzZWFsZWQpLgorCisgIFNldEludGVncml0eUxldmVsICggTywgbGV2ZWwgKQorCisgIEFzc2Vy
dDogVHlwZShPKSBpcyBPYmplY3QuCisgIEFzc2VydDogbGV2ZWwgaXMgZWl0aGVyIHNlYWxlZCBv
ciBmcm96ZW4uCisgIExldCBzdGF0dXMgYmUgPyBPLltbUHJldmVudEV4dGVuc2lvbnNdXSgpLgor
ICBJZiBzdGF0dXMgaXMgZmFsc2UsIHJldHVybiBmYWxzZS4KKyAgTGV0IGtleXMgYmUgPyBPLltb
T3duUHJvcGVydHlLZXlzXV0oKS4KKyAgSWYgbGV2ZWwgaXMgc2VhbGVkLCB0aGVuCisgICAgRm9y
IGVhY2ggZWxlbWVudCBrIG9mIGtleXMsIGRvCisgICAgICBQZXJmb3JtID8gRGVmaW5lUHJvcGVy
dHlPclRocm93KE8sIGssIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZh
bHNlIH0pLgorICBFbHNlLAorICAgIEFzc2VydDogbGV2ZWwgaXMgZnJvemVuLgorICAgIEZvciBl
YWNoIGVsZW1lbnQgayBvZiBrZXlzLCBkbworICAgICAgTGV0IGN1cnJlbnREZXNjIGJlID8gTy5b
W0dldE93blByb3BlcnR5XV0oaykuCisgICAgICBJZiBjdXJyZW50RGVzYyBpcyBub3QgdW5kZWZp
bmVkLCB0aGVuCisgICAgICAgIElmIElzQWNjZXNzb3JEZXNjcmlwdG9yKGN1cnJlbnREZXNjKSBp
cyB0cnVlLCB0aGVuCisgICAgICAgICAgTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5RGVzY3JpcHRv
ciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0uCisgICAgICAgIEVsc2UsCisgICAgICAgICAg
TGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZh
bHNlLCBbW1dyaXRhYmxlXV06IGZhbHNlIH0uCisgICAgICAgIFBlcmZvcm0gPyBEZWZpbmVQcm9w
ZXJ0eU9yVGhyb3coTywgaywgZGVzYykuCisgIFJldHVybiB0cnVlLgorCistLS0qLworCitPYmpl
Y3Quc2VhbChuZXcgKE9iamVjdC5nZXRQcm90b3R5cGVPZihmdW5jdGlvbiAqICgpIHt9KS5jb25z
dHJ1Y3RvcikoKSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3NlYWwvc2VhbC1pbmZpbml0eS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3Qvc2VhbC9zZWFsLWluZmluaXR5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhMmJkNjczNWMz
YjljNDY1ZWFkNmVmY2VmOTkxZjIyNzk5MmE3NWYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1pbmZpbml0eS5qcwpAQCAt
MCwwICsxLDM2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5z
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLW9iamVjdC5z
ZWFsCitkZXNjcmlwdGlvbjogPgorICAgIE9iamVjdC5zZWFsIEluZmluaXR5CitpbmZvOiB8Cisg
IElmIFR5cGUoTykgaXMgbm90IE9iamVjdCwgcmV0dXJuIE8uCisgIExldCBzdGF0dXMgYmUgPyBT
ZXRJbnRlZ3JpdHlMZXZlbChPLCBzZWFsZWQpLgorCisgIFNldEludGVncml0eUxldmVsICggTywg
bGV2ZWwgKQorCisgIEFzc2VydDogVHlwZShPKSBpcyBPYmplY3QuCisgIEFzc2VydDogbGV2ZWwg
aXMgZWl0aGVyIHNlYWxlZCBvciBmcm96ZW4uCisgIExldCBzdGF0dXMgYmUgPyBPLltbUHJldmVu
dEV4dGVuc2lvbnNdXSgpLgorICBJZiBzdGF0dXMgaXMgZmFsc2UsIHJldHVybiBmYWxzZS4KKyAg
TGV0IGtleXMgYmUgPyBPLltbT3duUHJvcGVydHlLZXlzXV0oKS4KKyAgSWYgbGV2ZWwgaXMgc2Vh
bGVkLCB0aGVuCisgICAgRm9yIGVhY2ggZWxlbWVudCBrIG9mIGtleXMsIGRvCisgICAgICBQZXJm
b3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGssIFByb3BlcnR5RGVzY3JpcHRvciB7IFtb
Q29uZmlndXJhYmxlXV06IGZhbHNlIH0pLgorICBFbHNlLAorICAgIEFzc2VydDogbGV2ZWwgaXMg
ZnJvemVuLgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBrZXlzLCBkbworICAgICAgTGV0IGN1
cnJlbnREZXNjIGJlID8gTy5bW0dldE93blByb3BlcnR5XV0oaykuCisgICAgICBJZiBjdXJyZW50
RGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICAgIElmIElzQWNjZXNzb3JEZXNjcmlw
dG9yKGN1cnJlbnREZXNjKSBpcyB0cnVlLCB0aGVuCisgICAgICAgICAgTGV0IGRlc2MgYmUgdGhl
IFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0uCisgICAgICAg
IEVsc2UsCisgICAgICAgICAgTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtb
Q29uZmlndXJhYmxlXV06IGZhbHNlLCBbW1dyaXRhYmxlXV06IGZhbHNlIH0uCisgICAgICAgIFBl
cmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywgaywgZGVzYykuCisgIFJldHVybiB0cnVl
LgorCistLS0qLworCitPYmplY3Quc2VhbChJbmZpbml0eSk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1pbnQxNmFycmF5LmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtaW50MTZhcnJh
eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iNDYyNDU5MjNiZjg2NDVlMDU1N2RiMGY0OTFhZjEwNDZiODUxMDBh
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9zZWFsL3NlYWwtaW50MTZhcnJheS5qcwpAQCAtMCwwICsxLDM2IEBACisvLyBDb3B5cmlnaHQg
KEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2Rl
IGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgorCisvKi0tLQorZXNpZDogc2VjLW9iamVjdC5zZWFsCitkZXNjcmlwdGlvbjogPgorICAgIE9i
amVjdC5zZWFsIEludDE2QXJyYXkKK2luZm86IHwKKyAgSWYgVHlwZShPKSBpcyBub3QgT2JqZWN0
LCByZXR1cm4gTy4KKyAgTGV0IHN0YXR1cyBiZSA/IFNldEludGVncml0eUxldmVsKE8sIHNlYWxl
ZCkuCisKKyAgU2V0SW50ZWdyaXR5TGV2ZWwgKCBPLCBsZXZlbCApCisKKyAgQXNzZXJ0OiBUeXBl
KE8pIGlzIE9iamVjdC4KKyAgQXNzZXJ0OiBsZXZlbCBpcyBlaXRoZXIgc2VhbGVkIG9yIGZyb3pl
bi4KKyAgTGV0IHN0YXR1cyBiZSA/IE8uW1tQcmV2ZW50RXh0ZW5zaW9uc11dKCkuCisgIElmIHN0
YXR1cyBpcyBmYWxzZSwgcmV0dXJuIGZhbHNlLgorICBMZXQga2V5cyBiZSA/IE8uW1tPd25Qcm9w
ZXJ0eUtleXNdXSgpLgorICBJZiBsZXZlbCBpcyBzZWFsZWQsIHRoZW4KKyAgICBGb3IgZWFjaCBl
bGVtZW50IGsgb2Yga2V5cywgZG8KKyAgICAgIFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhy
b3coTywgaywgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UgfSku
CisgIEVsc2UsCisgICAgQXNzZXJ0OiBsZXZlbCBpcyBmcm96ZW4uCisgICAgRm9yIGVhY2ggZWxl
bWVudCBrIG9mIGtleXMsIGRvCisgICAgICBMZXQgY3VycmVudERlc2MgYmUgPyBPLltbR2V0T3du
UHJvcGVydHldXShrKS4KKyAgICAgIElmIGN1cnJlbnREZXNjIGlzIG5vdCB1bmRlZmluZWQsIHRo
ZW4KKyAgICAgICAgSWYgSXNBY2Nlc3NvckRlc2NyaXB0b3IoY3VycmVudERlc2MpIGlzIHRydWUs
IHRoZW4KKyAgICAgICAgICBMZXQgZGVzYyBiZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tD
b25maWd1cmFibGVdXTogZmFsc2UgfS4KKyAgICAgICAgRWxzZSwKKyAgICAgICAgICBMZXQgZGVz
YyBiZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UsIFtb
V3JpdGFibGVdXTogZmFsc2UgfS4KKyAgICAgICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JU
aHJvdyhPLCBrLCBkZXNjKS4KKyAgUmV0dXJuIHRydWUuCisKKy0tLSovCisKK09iamVjdC5zZWFs
KG5ldyBJbnQxNkFycmF5KCkpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9zZWFsL3NlYWwtaW50MzJhcnJheS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLWludDMyYXJyYXkuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MmVjMDcyMjRiZGQyNGU2ZGFlNjJiNzc5OWI5MTU3MjU0Zjc4YjAyMgotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLWludDMy
YXJyYXkuanMKQEAgLTAsMCArMSwzNiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2Fs
ZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6
IHNlYy1vYmplY3Quc2VhbAorZGVzY3JpcHRpb246ID4KKyAgICBPYmplY3Quc2VhbCBJbnQzMkFy
cmF5CitpbmZvOiB8CisgIElmIFR5cGUoTykgaXMgbm90IE9iamVjdCwgcmV0dXJuIE8uCisgIExl
dCBzdGF0dXMgYmUgPyBTZXRJbnRlZ3JpdHlMZXZlbChPLCBzZWFsZWQpLgorCisgIFNldEludGVn
cml0eUxldmVsICggTywgbGV2ZWwgKQorCisgIEFzc2VydDogVHlwZShPKSBpcyBPYmplY3QuCisg
IEFzc2VydDogbGV2ZWwgaXMgZWl0aGVyIHNlYWxlZCBvciBmcm96ZW4uCisgIExldCBzdGF0dXMg
YmUgPyBPLltbUHJldmVudEV4dGVuc2lvbnNdXSgpLgorICBJZiBzdGF0dXMgaXMgZmFsc2UsIHJl
dHVybiBmYWxzZS4KKyAgTGV0IGtleXMgYmUgPyBPLltbT3duUHJvcGVydHlLZXlzXV0oKS4KKyAg
SWYgbGV2ZWwgaXMgc2VhbGVkLCB0aGVuCisgICAgRm9yIGVhY2ggZWxlbWVudCBrIG9mIGtleXMs
IGRvCisgICAgICBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGssIFByb3BlcnR5
RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0pLgorICBFbHNlLAorICAgIEFz
c2VydDogbGV2ZWwgaXMgZnJvemVuLgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBrZXlzLCBk
bworICAgICAgTGV0IGN1cnJlbnREZXNjIGJlID8gTy5bW0dldE93blByb3BlcnR5XV0oaykuCisg
ICAgICBJZiBjdXJyZW50RGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICAgIElmIElz
QWNjZXNzb3JEZXNjcmlwdG9yKGN1cnJlbnREZXNjKSBpcyB0cnVlLCB0aGVuCisgICAgICAgICAg
TGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZh
bHNlIH0uCisgICAgICAgIEVsc2UsCisgICAgICAgICAgTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5
RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlLCBbW1dyaXRhYmxlXV06IGZhbHNl
IH0uCisgICAgICAgIFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywgaywgZGVzYyku
CisgIFJldHVybiB0cnVlLgorCistLS0qLworCitPYmplY3Quc2VhbChuZXcgSW50MzJBcnJheSgp
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2Vh
bC9zZWFsLWludDhhcnJheS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmpl
Y3Qvc2VhbC9zZWFsLWludDhhcnJheS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wM2Q3NGJlYmNmOGZmOTA3Yjlk
YzZjMzJiNDBiZTUwNmVmNTc0M2FiCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtaW50OGFycmF5LmpzCkBAIC0wLDAgKzEs
MzYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtb2JqZWN0LnNlYWwKK2Rl
c2NyaXB0aW9uOiA+CisgICAgT2JqZWN0LnNlYWwgSW50OEFycmF5CitpbmZvOiB8CisgIElmIFR5
cGUoTykgaXMgbm90IE9iamVjdCwgcmV0dXJuIE8uCisgIExldCBzdGF0dXMgYmUgPyBTZXRJbnRl
Z3JpdHlMZXZlbChPLCBzZWFsZWQpLgorCisgIFNldEludGVncml0eUxldmVsICggTywgbGV2ZWwg
KQorCisgIEFzc2VydDogVHlwZShPKSBpcyBPYmplY3QuCisgIEFzc2VydDogbGV2ZWwgaXMgZWl0
aGVyIHNlYWxlZCBvciBmcm96ZW4uCisgIExldCBzdGF0dXMgYmUgPyBPLltbUHJldmVudEV4dGVu
c2lvbnNdXSgpLgorICBJZiBzdGF0dXMgaXMgZmFsc2UsIHJldHVybiBmYWxzZS4KKyAgTGV0IGtl
eXMgYmUgPyBPLltbT3duUHJvcGVydHlLZXlzXV0oKS4KKyAgSWYgbGV2ZWwgaXMgc2VhbGVkLCB0
aGVuCisgICAgRm9yIGVhY2ggZWxlbWVudCBrIG9mIGtleXMsIGRvCisgICAgICBQZXJmb3JtID8g
RGVmaW5lUHJvcGVydHlPclRocm93KE8sIGssIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmln
dXJhYmxlXV06IGZhbHNlIH0pLgorICBFbHNlLAorICAgIEFzc2VydDogbGV2ZWwgaXMgZnJvemVu
LgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBrZXlzLCBkbworICAgICAgTGV0IGN1cnJlbnRE
ZXNjIGJlID8gTy5bW0dldE93blByb3BlcnR5XV0oaykuCisgICAgICBJZiBjdXJyZW50RGVzYyBp
cyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICAgIElmIElzQWNjZXNzb3JEZXNjcmlwdG9yKGN1
cnJlbnREZXNjKSBpcyB0cnVlLCB0aGVuCisgICAgICAgICAgTGV0IGRlc2MgYmUgdGhlIFByb3Bl
cnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0uCisgICAgICAgIEVsc2Us
CisgICAgICAgICAgTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmln
dXJhYmxlXV06IGZhbHNlLCBbW1dyaXRhYmxlXV06IGZhbHNlIH0uCisgICAgICAgIFBlcmZvcm0g
PyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywgaywgZGVzYykuCisgIFJldHVybiB0cnVlLgorCist
LS0qLworCitPYmplY3Quc2VhbChuZXcgSW50OEFycmF5KCkpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtbWFwLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtbWFwLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmZiMjQ4ZWI1YmIxMjcyMWUxZGEwYTE3M2UzNzQ1NGI0NzQyNzdmNGYKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1t
YXAuanMKQEAgLTAsMCArMSwzNiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJv
bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNl
Yy1vYmplY3Quc2VhbAorZGVzY3JpcHRpb246ID4KKyAgICBPYmplY3Quc2VhbCBNYXAKK2luZm86
IHwKKyAgSWYgVHlwZShPKSBpcyBub3QgT2JqZWN0LCByZXR1cm4gTy4KKyAgTGV0IHN0YXR1cyBi
ZSA/IFNldEludGVncml0eUxldmVsKE8sIHNlYWxlZCkuCisKKyAgU2V0SW50ZWdyaXR5TGV2ZWwg
KCBPLCBsZXZlbCApCisKKyAgQXNzZXJ0OiBUeXBlKE8pIGlzIE9iamVjdC4KKyAgQXNzZXJ0OiBs
ZXZlbCBpcyBlaXRoZXIgc2VhbGVkIG9yIGZyb3plbi4KKyAgTGV0IHN0YXR1cyBiZSA/IE8uW1tQ
cmV2ZW50RXh0ZW5zaW9uc11dKCkuCisgIElmIHN0YXR1cyBpcyBmYWxzZSwgcmV0dXJuIGZhbHNl
LgorICBMZXQga2V5cyBiZSA/IE8uW1tPd25Qcm9wZXJ0eUtleXNdXSgpLgorICBJZiBsZXZlbCBp
cyBzZWFsZWQsIHRoZW4KKyAgICBGb3IgZWFjaCBlbGVtZW50IGsgb2Yga2V5cywgZG8KKyAgICAg
IFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywgaywgUHJvcGVydHlEZXNjcmlwdG9y
IHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UgfSkuCisgIEVsc2UsCisgICAgQXNzZXJ0OiBsZXZl
bCBpcyBmcm96ZW4uCisgICAgRm9yIGVhY2ggZWxlbWVudCBrIG9mIGtleXMsIGRvCisgICAgICBM
ZXQgY3VycmVudERlc2MgYmUgPyBPLltbR2V0T3duUHJvcGVydHldXShrKS4KKyAgICAgIElmIGN1
cnJlbnREZXNjIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAgICAgICAgSWYgSXNBY2Nlc3NvckRl
c2NyaXB0b3IoY3VycmVudERlc2MpIGlzIHRydWUsIHRoZW4KKyAgICAgICAgICBMZXQgZGVzYyBi
ZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UgfS4KKyAg
ICAgICAgRWxzZSwKKyAgICAgICAgICBMZXQgZGVzYyBiZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9y
IHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UsIFtbV3JpdGFibGVdXTogZmFsc2UgfS4KKyAgICAg
ICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrLCBkZXNjKS4KKyAgUmV0dXJu
IHRydWUuCisKKy0tLSovCisKK09iamVjdC5zZWFsKG5ldyBNYXAoKSk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1uYW4uanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1uYW4uanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTJlZGJmYjQ2MGU5ZjUxMzdhM2RkMTRlMzY4Y2QyNGEwNzk5OGFlNwotLS0gL2Rl
di9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9z
ZWFsLW5hbi5qcwpAQCAtMCwwICsxLDM2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBX
YWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLW9iamVjdC5zZWFsCitkZXNjcmlwdGlvbjogPgorICAgIE9iamVjdC5zZWFsIE5hTgor
aW5mbzogfAorICBJZiBUeXBlKE8pIGlzIG5vdCBPYmplY3QsIHJldHVybiBPLgorICBMZXQgc3Rh
dHVzIGJlID8gU2V0SW50ZWdyaXR5TGV2ZWwoTywgc2VhbGVkKS4KKworICBTZXRJbnRlZ3JpdHlM
ZXZlbCAoIE8sIGxldmVsICkKKworICBBc3NlcnQ6IFR5cGUoTykgaXMgT2JqZWN0LgorICBBc3Nl
cnQ6IGxldmVsIGlzIGVpdGhlciBzZWFsZWQgb3IgZnJvemVuLgorICBMZXQgc3RhdHVzIGJlID8g
Ty5bW1ByZXZlbnRFeHRlbnNpb25zXV0oKS4KKyAgSWYgc3RhdHVzIGlzIGZhbHNlLCByZXR1cm4g
ZmFsc2UuCisgIExldCBrZXlzIGJlID8gTy5bW093blByb3BlcnR5S2V5c11dKCkuCisgIElmIGxl
dmVsIGlzIHNlYWxlZCwgdGhlbgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBrZXlzLCBkbwor
ICAgICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrLCBQcm9wZXJ0eURlc2Ny
aXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB9KS4KKyAgRWxzZSwKKyAgICBBc3NlcnQ6
IGxldmVsIGlzIGZyb3plbi4KKyAgICBGb3IgZWFjaCBlbGVtZW50IGsgb2Yga2V5cywgZG8KKyAg
ICAgIExldCBjdXJyZW50RGVzYyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1dKGspLgorICAgICAg
SWYgY3VycmVudERlc2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgICBJZiBJc0FjY2Vz
c29yRGVzY3JpcHRvcihjdXJyZW50RGVzYykgaXMgdHJ1ZSwgdGhlbgorICAgICAgICAgIExldCBk
ZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB9
LgorICAgICAgICBFbHNlLAorICAgICAgICAgIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2Ny
aXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSwgW1tXcml0YWJsZV1dOiBmYWxzZSB9Lgor
ICAgICAgICBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGssIGRlc2MpLgorICBS
ZXR1cm4gdHJ1ZS4KKworLS0tKi8KKworT2JqZWN0LnNlYWwoTmFOKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLW51bGwuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1udWxsLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjI0NzhiZjJkMzM5MGFkMzFhMTkwOGRmYjdlNjdjNGQ4N2QyNDY1MDgKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwv
c2VhbC1udWxsLmpzCkBAIC0wLDAgKzEsMzYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNr
IFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitl
c2lkOiBzZWMtb2JqZWN0LnNlYWwKK2Rlc2NyaXB0aW9uOiA+CisgICAgT2JqZWN0LnNlYWwgbnVs
bAoraW5mbzogfAorICBJZiBUeXBlKE8pIGlzIG5vdCBPYmplY3QsIHJldHVybiBPLgorICBMZXQg
c3RhdHVzIGJlID8gU2V0SW50ZWdyaXR5TGV2ZWwoTywgc2VhbGVkKS4KKworICBTZXRJbnRlZ3Jp
dHlMZXZlbCAoIE8sIGxldmVsICkKKworICBBc3NlcnQ6IFR5cGUoTykgaXMgT2JqZWN0LgorICBB
c3NlcnQ6IGxldmVsIGlzIGVpdGhlciBzZWFsZWQgb3IgZnJvemVuLgorICBMZXQgc3RhdHVzIGJl
ID8gTy5bW1ByZXZlbnRFeHRlbnNpb25zXV0oKS4KKyAgSWYgc3RhdHVzIGlzIGZhbHNlLCByZXR1
cm4gZmFsc2UuCisgIExldCBrZXlzIGJlID8gTy5bW093blByb3BlcnR5S2V5c11dKCkuCisgIElm
IGxldmVsIGlzIHNlYWxlZCwgdGhlbgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBrZXlzLCBk
bworICAgICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrLCBQcm9wZXJ0eURl
c2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB9KS4KKyAgRWxzZSwKKyAgICBBc3Nl
cnQ6IGxldmVsIGlzIGZyb3plbi4KKyAgICBGb3IgZWFjaCBlbGVtZW50IGsgb2Yga2V5cywgZG8K
KyAgICAgIExldCBjdXJyZW50RGVzYyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1dKGspLgorICAg
ICAgSWYgY3VycmVudERlc2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgICBJZiBJc0Fj
Y2Vzc29yRGVzY3JpcHRvcihjdXJyZW50RGVzYykgaXMgdHJ1ZSwgdGhlbgorICAgICAgICAgIExl
dCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxz
ZSB9LgorICAgICAgICBFbHNlLAorICAgICAgICAgIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURl
c2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSwgW1tXcml0YWJsZV1dOiBmYWxzZSB9
LgorICAgICAgICBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGssIGRlc2MpLgor
ICBSZXR1cm4gdHJ1ZS4KKworLS0tKi8KKworT2JqZWN0LnNlYWwobnVsbCk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1udW1iZXIu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1udW1i
ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzMyMWFiMzY2NWNiYmU3ODcwNTM4MmQ2YTA3M2E5YjRiNmYzNGRl
ZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmpl
Y3Qvc2VhbC9zZWFsLW51bWJlci5qcwpAQCAtMCwwICsxLDM2IEBACisvLyBDb3B5cmlnaHQgKEMp
IDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlz
IGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgor
CisvKi0tLQorZXNpZDogc2VjLW9iamVjdC5zZWFsCitkZXNjcmlwdGlvbjogPgorICAgIE9iamVj
dC5zZWFsIE51bWJlcgoraW5mbzogfAorICBJZiBUeXBlKE8pIGlzIG5vdCBPYmplY3QsIHJldHVy
biBPLgorICBMZXQgc3RhdHVzIGJlID8gU2V0SW50ZWdyaXR5TGV2ZWwoTywgc2VhbGVkKS4KKwor
ICBTZXRJbnRlZ3JpdHlMZXZlbCAoIE8sIGxldmVsICkKKworICBBc3NlcnQ6IFR5cGUoTykgaXMg
T2JqZWN0LgorICBBc3NlcnQ6IGxldmVsIGlzIGVpdGhlciBzZWFsZWQgb3IgZnJvemVuLgorICBM
ZXQgc3RhdHVzIGJlID8gTy5bW1ByZXZlbnRFeHRlbnNpb25zXV0oKS4KKyAgSWYgc3RhdHVzIGlz
IGZhbHNlLCByZXR1cm4gZmFsc2UuCisgIExldCBrZXlzIGJlID8gTy5bW093blByb3BlcnR5S2V5
c11dKCkuCisgIElmIGxldmVsIGlzIHNlYWxlZCwgdGhlbgorICAgIEZvciBlYWNoIGVsZW1lbnQg
ayBvZiBrZXlzLCBkbworICAgICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBr
LCBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB9KS4KKyAgRWxz
ZSwKKyAgICBBc3NlcnQ6IGxldmVsIGlzIGZyb3plbi4KKyAgICBGb3IgZWFjaCBlbGVtZW50IGsg
b2Yga2V5cywgZG8KKyAgICAgIExldCBjdXJyZW50RGVzYyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0
eV1dKGspLgorICAgICAgSWYgY3VycmVudERlc2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAg
ICAgICBJZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihjdXJyZW50RGVzYykgaXMgdHJ1ZSwgdGhlbgor
ICAgICAgICAgIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3Vy
YWJsZV1dOiBmYWxzZSB9LgorICAgICAgICBFbHNlLAorICAgICAgICAgIExldCBkZXNjIGJlIHRo
ZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSwgW1tXcml0YWJs
ZV1dOiBmYWxzZSB9LgorICAgICAgICBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8s
IGssIGRlc2MpLgorICBSZXR1cm4gdHJ1ZS4KKworLS0tKi8KKworT2JqZWN0LnNlYWwobmV3IE51
bWJlcigxKSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L3NlYWwvc2VhbC1vYmplY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3NlYWwvc2VhbC1vYmplY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWE5ZDQ5YzJkMmM1OGI1NGQw
MTM5MTU2ZGM5YmNmN2M1Mjg3Zjk2NgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLW9iamVjdC5qcwpAQCAtMCwwICsxLDM2
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLW9iamVjdC5zZWFsCitkZXNj
cmlwdGlvbjogPgorICAgIE9iamVjdC5zZWFsIE9iamVjdAoraW5mbzogfAorICBJZiBUeXBlKE8p
IGlzIG5vdCBPYmplY3QsIHJldHVybiBPLgorICBMZXQgc3RhdHVzIGJlID8gU2V0SW50ZWdyaXR5
TGV2ZWwoTywgc2VhbGVkKS4KKworICBTZXRJbnRlZ3JpdHlMZXZlbCAoIE8sIGxldmVsICkKKwor
ICBBc3NlcnQ6IFR5cGUoTykgaXMgT2JqZWN0LgorICBBc3NlcnQ6IGxldmVsIGlzIGVpdGhlciBz
ZWFsZWQgb3IgZnJvemVuLgorICBMZXQgc3RhdHVzIGJlID8gTy5bW1ByZXZlbnRFeHRlbnNpb25z
XV0oKS4KKyAgSWYgc3RhdHVzIGlzIGZhbHNlLCByZXR1cm4gZmFsc2UuCisgIExldCBrZXlzIGJl
ID8gTy5bW093blByb3BlcnR5S2V5c11dKCkuCisgIElmIGxldmVsIGlzIHNlYWxlZCwgdGhlbgor
ICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBrZXlzLCBkbworICAgICAgUGVyZm9ybSA/IERlZmlu
ZVByb3BlcnR5T3JUaHJvdyhPLCBrLCBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJs
ZV1dOiBmYWxzZSB9KS4KKyAgRWxzZSwKKyAgICBBc3NlcnQ6IGxldmVsIGlzIGZyb3plbi4KKyAg
ICBGb3IgZWFjaCBlbGVtZW50IGsgb2Yga2V5cywgZG8KKyAgICAgIExldCBjdXJyZW50RGVzYyBi
ZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1dKGspLgorICAgICAgSWYgY3VycmVudERlc2MgaXMgbm90
IHVuZGVmaW5lZCwgdGhlbgorICAgICAgICBJZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihjdXJyZW50
RGVzYykgaXMgdHJ1ZSwgdGhlbgorICAgICAgICAgIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURl
c2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB9LgorICAgICAgICBFbHNlLAorICAg
ICAgICAgIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJs
ZV1dOiBmYWxzZSwgW1tXcml0YWJsZV1dOiBmYWxzZSB9LgorICAgICAgICBQZXJmb3JtID8gRGVm
aW5lUHJvcGVydHlPclRocm93KE8sIGssIGRlc2MpLgorICBSZXR1cm4gdHJ1ZS4KKworLS0tKi8K
KworT2JqZWN0LnNlYWwobmV3IE9iamVjdCgpKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLXByb21pc2UuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1wcm9taXNlLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQ4N2YzNGNlZDcyODdjMmNmYjVkYTZlOTIwMmRlZmZmOWFmZjk0YzUKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1w
cm9taXNlLmpzCkBAIC0wLDAgKzEsMzYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdh
bGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lk
OiBzZWMtb2JqZWN0LnNlYWwKK2Rlc2NyaXB0aW9uOiA+CisgICAgT2JqZWN0LnNlYWwgUHJvbWlz
ZQoraW5mbzogfAorICBJZiBUeXBlKE8pIGlzIG5vdCBPYmplY3QsIHJldHVybiBPLgorICBMZXQg
c3RhdHVzIGJlID8gU2V0SW50ZWdyaXR5TGV2ZWwoTywgc2VhbGVkKS4KKworICBTZXRJbnRlZ3Jp
dHlMZXZlbCAoIE8sIGxldmVsICkKKworICBBc3NlcnQ6IFR5cGUoTykgaXMgT2JqZWN0LgorICBB
c3NlcnQ6IGxldmVsIGlzIGVpdGhlciBzZWFsZWQgb3IgZnJvemVuLgorICBMZXQgc3RhdHVzIGJl
ID8gTy5bW1ByZXZlbnRFeHRlbnNpb25zXV0oKS4KKyAgSWYgc3RhdHVzIGlzIGZhbHNlLCByZXR1
cm4gZmFsc2UuCisgIExldCBrZXlzIGJlID8gTy5bW093blByb3BlcnR5S2V5c11dKCkuCisgIElm
IGxldmVsIGlzIHNlYWxlZCwgdGhlbgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBrZXlzLCBk
bworICAgICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrLCBQcm9wZXJ0eURl
c2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB9KS4KKyAgRWxzZSwKKyAgICBBc3Nl
cnQ6IGxldmVsIGlzIGZyb3plbi4KKyAgICBGb3IgZWFjaCBlbGVtZW50IGsgb2Yga2V5cywgZG8K
KyAgICAgIExldCBjdXJyZW50RGVzYyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1dKGspLgorICAg
ICAgSWYgY3VycmVudERlc2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgICBJZiBJc0Fj
Y2Vzc29yRGVzY3JpcHRvcihjdXJyZW50RGVzYykgaXMgdHJ1ZSwgdGhlbgorICAgICAgICAgIExl
dCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxz
ZSB9LgorICAgICAgICBFbHNlLAorICAgICAgICAgIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURl
c2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSwgW1tXcml0YWJsZV1dOiBmYWxzZSB9
LgorICAgICAgICBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGssIGRlc2MpLgor
ICBSZXR1cm4gdHJ1ZS4KKworLS0tKi8KKworT2JqZWN0LnNlYWwobmV3IFByb21pc2UoKCkgPT4g
e30pKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
c2VhbC9zZWFsLXByb3h5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9zZWFsL3NlYWwtcHJveHkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjc0OTI2ODYxYTFlMGFlYzY0MmNhYzMx
OGU5NDA1OGZhZjY4YTVjZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLXByb3h5LmpzCkBAIC0wLDAgKzEsMzYgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtb2JqZWN0LnNlYWwKK2Rlc2NyaXB0aW9u
OiA+CisgICAgT2JqZWN0LnNlYWwgUHJveHkKK2luZm86IHwKKyAgSWYgVHlwZShPKSBpcyBub3Qg
T2JqZWN0LCByZXR1cm4gTy4KKyAgTGV0IHN0YXR1cyBiZSA/IFNldEludGVncml0eUxldmVsKE8s
IHNlYWxlZCkuCisKKyAgU2V0SW50ZWdyaXR5TGV2ZWwgKCBPLCBsZXZlbCApCisKKyAgQXNzZXJ0
OiBUeXBlKE8pIGlzIE9iamVjdC4KKyAgQXNzZXJ0OiBsZXZlbCBpcyBlaXRoZXIgc2VhbGVkIG9y
IGZyb3plbi4KKyAgTGV0IHN0YXR1cyBiZSA/IE8uW1tQcmV2ZW50RXh0ZW5zaW9uc11dKCkuCisg
IElmIHN0YXR1cyBpcyBmYWxzZSwgcmV0dXJuIGZhbHNlLgorICBMZXQga2V5cyBiZSA/IE8uW1tP
d25Qcm9wZXJ0eUtleXNdXSgpLgorICBJZiBsZXZlbCBpcyBzZWFsZWQsIHRoZW4KKyAgICBGb3Ig
ZWFjaCBlbGVtZW50IGsgb2Yga2V5cywgZG8KKyAgICAgIFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0
eU9yVGhyb3coTywgaywgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFs
c2UgfSkuCisgIEVsc2UsCisgICAgQXNzZXJ0OiBsZXZlbCBpcyBmcm96ZW4uCisgICAgRm9yIGVh
Y2ggZWxlbWVudCBrIG9mIGtleXMsIGRvCisgICAgICBMZXQgY3VycmVudERlc2MgYmUgPyBPLltb
R2V0T3duUHJvcGVydHldXShrKS4KKyAgICAgIElmIGN1cnJlbnREZXNjIGlzIG5vdCB1bmRlZmlu
ZWQsIHRoZW4KKyAgICAgICAgSWYgSXNBY2Nlc3NvckRlc2NyaXB0b3IoY3VycmVudERlc2MpIGlz
IHRydWUsIHRoZW4KKyAgICAgICAgICBMZXQgZGVzYyBiZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9y
IHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UgfS4KKyAgICAgICAgRWxzZSwKKyAgICAgICAgICBM
ZXQgZGVzYyBiZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFs
c2UsIFtbV3JpdGFibGVdXTogZmFsc2UgfS4KKyAgICAgICAgUGVyZm9ybSA/IERlZmluZVByb3Bl
cnR5T3JUaHJvdyhPLCBrLCBkZXNjKS4KKyAgUmV0dXJuIHRydWUuCisKKy0tLSovCisKK09iamVj
dC5zZWFsKG5ldyBQcm94eSh7fSwge30pKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLXJhbmdlZXJyb3IuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1yYW5nZWVycm9yLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmU4YWQyOWI1N2NkOGFjOGZhZTczMTQyNDFiNTA0MWIxMThjMTViYTkKLS0tIC9kZXYv
bnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2Vh
bC1yYW5nZWVycm9yLmpzCkBAIC0wLDAgKzEsMzYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBS
aWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0t
Citlc2lkOiBzZWMtb2JqZWN0LnNlYWwKK2Rlc2NyaXB0aW9uOiA+CisgICAgT2JqZWN0LnNlYWwg
UmFuZ2VFcnJvcgoraW5mbzogfAorICBJZiBUeXBlKE8pIGlzIG5vdCBPYmplY3QsIHJldHVybiBP
LgorICBMZXQgc3RhdHVzIGJlID8gU2V0SW50ZWdyaXR5TGV2ZWwoTywgc2VhbGVkKS4KKworICBT
ZXRJbnRlZ3JpdHlMZXZlbCAoIE8sIGxldmVsICkKKworICBBc3NlcnQ6IFR5cGUoTykgaXMgT2Jq
ZWN0LgorICBBc3NlcnQ6IGxldmVsIGlzIGVpdGhlciBzZWFsZWQgb3IgZnJvemVuLgorICBMZXQg
c3RhdHVzIGJlID8gTy5bW1ByZXZlbnRFeHRlbnNpb25zXV0oKS4KKyAgSWYgc3RhdHVzIGlzIGZh
bHNlLCByZXR1cm4gZmFsc2UuCisgIExldCBrZXlzIGJlID8gTy5bW093blByb3BlcnR5S2V5c11d
KCkuCisgIElmIGxldmVsIGlzIHNlYWxlZCwgdGhlbgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBv
ZiBrZXlzLCBkbworICAgICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrLCBQ
cm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB9KS4KKyAgRWxzZSwK
KyAgICBBc3NlcnQ6IGxldmVsIGlzIGZyb3plbi4KKyAgICBGb3IgZWFjaCBlbGVtZW50IGsgb2Yg
a2V5cywgZG8KKyAgICAgIExldCBjdXJyZW50RGVzYyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1d
KGspLgorICAgICAgSWYgY3VycmVudERlc2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAg
ICBJZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihjdXJyZW50RGVzYykgaXMgdHJ1ZSwgdGhlbgorICAg
ICAgICAgIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJs
ZV1dOiBmYWxzZSB9LgorICAgICAgICBFbHNlLAorICAgICAgICAgIExldCBkZXNjIGJlIHRoZSBQ
cm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSwgW1tXcml0YWJsZV1d
OiBmYWxzZSB9LgorICAgICAgICBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGss
IGRlc2MpLgorICBSZXR1cm4gdHJ1ZS4KKworLS0tKi8KKworT2JqZWN0LnNlYWwobmV3IFJhbmdl
RXJyb3IoKSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2Jq
ZWN0L3NlYWwvc2VhbC1yZWZlcmVuY2VlcnJvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLXJlZmVyZW5jZWVycm9yLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFl
MGJlNTMyYmQyYmZjNWRmMmVmNmFlOTI3M2RkYWYzMjFmNDcyMjAKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1yZWZlcmVu
Y2VlcnJvci5qcwpAQCAtMCwwICsxLDM2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBX
YWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLW9iamVjdC5zZWFsCitkZXNjcmlwdGlvbjogPgorICAgIE9iamVjdC5zZWFsIFJlZmVy
ZW5jZUVycm9yCitpbmZvOiB8CisgIElmIFR5cGUoTykgaXMgbm90IE9iamVjdCwgcmV0dXJuIE8u
CisgIExldCBzdGF0dXMgYmUgPyBTZXRJbnRlZ3JpdHlMZXZlbChPLCBzZWFsZWQpLgorCisgIFNl
dEludGVncml0eUxldmVsICggTywgbGV2ZWwgKQorCisgIEFzc2VydDogVHlwZShPKSBpcyBPYmpl
Y3QuCisgIEFzc2VydDogbGV2ZWwgaXMgZWl0aGVyIHNlYWxlZCBvciBmcm96ZW4uCisgIExldCBz
dGF0dXMgYmUgPyBPLltbUHJldmVudEV4dGVuc2lvbnNdXSgpLgorICBJZiBzdGF0dXMgaXMgZmFs
c2UsIHJldHVybiBmYWxzZS4KKyAgTGV0IGtleXMgYmUgPyBPLltbT3duUHJvcGVydHlLZXlzXV0o
KS4KKyAgSWYgbGV2ZWwgaXMgc2VhbGVkLCB0aGVuCisgICAgRm9yIGVhY2ggZWxlbWVudCBrIG9m
IGtleXMsIGRvCisgICAgICBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGssIFBy
b3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0pLgorICBFbHNlLAor
ICAgIEFzc2VydDogbGV2ZWwgaXMgZnJvemVuLgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBr
ZXlzLCBkbworICAgICAgTGV0IGN1cnJlbnREZXNjIGJlID8gTy5bW0dldE93blByb3BlcnR5XV0o
aykuCisgICAgICBJZiBjdXJyZW50RGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICAg
IElmIElzQWNjZXNzb3JEZXNjcmlwdG9yKGN1cnJlbnREZXNjKSBpcyB0cnVlLCB0aGVuCisgICAg
ICAgICAgTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxl
XV06IGZhbHNlIH0uCisgICAgICAgIEVsc2UsCisgICAgICAgICAgTGV0IGRlc2MgYmUgdGhlIFBy
b3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlLCBbW1dyaXRhYmxlXV06
IGZhbHNlIH0uCisgICAgICAgIFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywgaywg
ZGVzYykuCisgIFJldHVybiB0cnVlLgorCistLS0qLworCitPYmplY3Quc2VhbChuZXcgUmVmZXJl
bmNlRXJyb3IoKSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3NlYWwvc2VhbC1yZWdleHAuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3NlYWwvc2VhbC1yZWdleHAuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmI1YjA0NDlkNjNjNDQz
MDg1MmI3MzA0OWIzZjQ2MWUxYmFmZDE5MwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLXJlZ2V4cC5qcwpAQCAtMCwwICsx
LDM2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLW9iamVjdC5zZWFsCitk
ZXNjcmlwdGlvbjogPgorICAgIE9iamVjdC5zZWFsIFJlZ0V4cAoraW5mbzogfAorICBJZiBUeXBl
KE8pIGlzIG5vdCBPYmplY3QsIHJldHVybiBPLgorICBMZXQgc3RhdHVzIGJlID8gU2V0SW50ZWdy
aXR5TGV2ZWwoTywgc2VhbGVkKS4KKworICBTZXRJbnRlZ3JpdHlMZXZlbCAoIE8sIGxldmVsICkK
KworICBBc3NlcnQ6IFR5cGUoTykgaXMgT2JqZWN0LgorICBBc3NlcnQ6IGxldmVsIGlzIGVpdGhl
ciBzZWFsZWQgb3IgZnJvemVuLgorICBMZXQgc3RhdHVzIGJlID8gTy5bW1ByZXZlbnRFeHRlbnNp
b25zXV0oKS4KKyAgSWYgc3RhdHVzIGlzIGZhbHNlLCByZXR1cm4gZmFsc2UuCisgIExldCBrZXlz
IGJlID8gTy5bW093blByb3BlcnR5S2V5c11dKCkuCisgIElmIGxldmVsIGlzIHNlYWxlZCwgdGhl
bgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBrZXlzLCBkbworICAgICAgUGVyZm9ybSA/IERl
ZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrLCBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3Vy
YWJsZV1dOiBmYWxzZSB9KS4KKyAgRWxzZSwKKyAgICBBc3NlcnQ6IGxldmVsIGlzIGZyb3plbi4K
KyAgICBGb3IgZWFjaCBlbGVtZW50IGsgb2Yga2V5cywgZG8KKyAgICAgIExldCBjdXJyZW50RGVz
YyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1dKGspLgorICAgICAgSWYgY3VycmVudERlc2MgaXMg
bm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgICBJZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihjdXJy
ZW50RGVzYykgaXMgdHJ1ZSwgdGhlbgorICAgICAgICAgIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0
eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB9LgorICAgICAgICBFbHNlLAor
ICAgICAgICAgIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3Vy
YWJsZV1dOiBmYWxzZSwgW1tXcml0YWJsZV1dOiBmYWxzZSB9LgorICAgICAgICBQZXJmb3JtID8g
RGVmaW5lUHJvcGVydHlPclRocm93KE8sIGssIGRlc2MpLgorICBSZXR1cm4gdHJ1ZS4KKworLS0t
Ki8KKworT2JqZWN0LnNlYWwobmV3IFJlZ0V4cCgiIikpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtc2V0LmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtc2V0LmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmI4ZTFhZmEwZDY4YTVmZjE4YTBiMTFmMzBjYmI3ZWQyNDVkMzE5YzEKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1zZXQu
anMKQEAgLTAsMCArMSwzNiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1v
YmplY3Quc2VhbAorZGVzY3JpcHRpb246ID4KKyAgICBPYmplY3Quc2VhbCBTZXQKK2luZm86IHwK
KyAgSWYgVHlwZShPKSBpcyBub3QgT2JqZWN0LCByZXR1cm4gTy4KKyAgTGV0IHN0YXR1cyBiZSA/
IFNldEludGVncml0eUxldmVsKE8sIHNlYWxlZCkuCisKKyAgU2V0SW50ZWdyaXR5TGV2ZWwgKCBP
LCBsZXZlbCApCisKKyAgQXNzZXJ0OiBUeXBlKE8pIGlzIE9iamVjdC4KKyAgQXNzZXJ0OiBsZXZl
bCBpcyBlaXRoZXIgc2VhbGVkIG9yIGZyb3plbi4KKyAgTGV0IHN0YXR1cyBiZSA/IE8uW1tQcmV2
ZW50RXh0ZW5zaW9uc11dKCkuCisgIElmIHN0YXR1cyBpcyBmYWxzZSwgcmV0dXJuIGZhbHNlLgor
ICBMZXQga2V5cyBiZSA/IE8uW1tPd25Qcm9wZXJ0eUtleXNdXSgpLgorICBJZiBsZXZlbCBpcyBz
ZWFsZWQsIHRoZW4KKyAgICBGb3IgZWFjaCBlbGVtZW50IGsgb2Yga2V5cywgZG8KKyAgICAgIFBl
cmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywgaywgUHJvcGVydHlEZXNjcmlwdG9yIHsg
W1tDb25maWd1cmFibGVdXTogZmFsc2UgfSkuCisgIEVsc2UsCisgICAgQXNzZXJ0OiBsZXZlbCBp
cyBmcm96ZW4uCisgICAgRm9yIGVhY2ggZWxlbWVudCBrIG9mIGtleXMsIGRvCisgICAgICBMZXQg
Y3VycmVudERlc2MgYmUgPyBPLltbR2V0T3duUHJvcGVydHldXShrKS4KKyAgICAgIElmIGN1cnJl
bnREZXNjIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAgICAgICAgSWYgSXNBY2Nlc3NvckRlc2Ny
aXB0b3IoY3VycmVudERlc2MpIGlzIHRydWUsIHRoZW4KKyAgICAgICAgICBMZXQgZGVzYyBiZSB0
aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UgfS4KKyAgICAg
ICAgRWxzZSwKKyAgICAgICAgICBMZXQgZGVzYyBiZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsg
W1tDb25maWd1cmFibGVdXTogZmFsc2UsIFtbV3JpdGFibGVdXTogZmFsc2UgfS4KKyAgICAgICAg
UGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrLCBkZXNjKS4KKyAgUmV0dXJuIHRy
dWUuCisKKy0tLSovCisKK09iamVjdC5zZWFsKG5ldyBTZXQoKSk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1zaGFyZWRhcnJheWJ1
ZmZlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFs
LXNoYXJlZGFycmF5YnVmZmVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmNzMwY2JhNjExOGNmYzRkM2FhZDk0
Mjc1ZTU3NzZkMWQ1NjA2ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1zaGFyZWRhcnJheWJ1ZmZlci5qcwpAQCAtMCww
ICsxLDM2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLW9iamVjdC5zZWFs
CitkZXNjcmlwdGlvbjogPgorICAgIE9iamVjdC5zZWFsIFNoYXJlZEFycmF5QnVmZmVyCitpbmZv
OiB8CisgIElmIFR5cGUoTykgaXMgbm90IE9iamVjdCwgcmV0dXJuIE8uCisgIExldCBzdGF0dXMg
YmUgPyBTZXRJbnRlZ3JpdHlMZXZlbChPLCBzZWFsZWQpLgorCisgIFNldEludGVncml0eUxldmVs
ICggTywgbGV2ZWwgKQorCisgIEFzc2VydDogVHlwZShPKSBpcyBPYmplY3QuCisgIEFzc2VydDog
bGV2ZWwgaXMgZWl0aGVyIHNlYWxlZCBvciBmcm96ZW4uCisgIExldCBzdGF0dXMgYmUgPyBPLltb
UHJldmVudEV4dGVuc2lvbnNdXSgpLgorICBJZiBzdGF0dXMgaXMgZmFsc2UsIHJldHVybiBmYWxz
ZS4KKyAgTGV0IGtleXMgYmUgPyBPLltbT3duUHJvcGVydHlLZXlzXV0oKS4KKyAgSWYgbGV2ZWwg
aXMgc2VhbGVkLCB0aGVuCisgICAgRm9yIGVhY2ggZWxlbWVudCBrIG9mIGtleXMsIGRvCisgICAg
ICBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGssIFByb3BlcnR5RGVzY3JpcHRv
ciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0pLgorICBFbHNlLAorICAgIEFzc2VydDogbGV2
ZWwgaXMgZnJvemVuLgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBrZXlzLCBkbworICAgICAg
TGV0IGN1cnJlbnREZXNjIGJlID8gTy5bW0dldE93blByb3BlcnR5XV0oaykuCisgICAgICBJZiBj
dXJyZW50RGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICAgIElmIElzQWNjZXNzb3JE
ZXNjcmlwdG9yKGN1cnJlbnREZXNjKSBpcyB0cnVlLCB0aGVuCisgICAgICAgICAgTGV0IGRlc2Mg
YmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0uCisg
ICAgICAgIEVsc2UsCisgICAgICAgICAgTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5RGVzY3JpcHRv
ciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlLCBbW1dyaXRhYmxlXV06IGZhbHNlIH0uCisgICAg
ICAgIFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywgaywgZGVzYykuCisgIFJldHVy
biB0cnVlLgorZmVhdHVyZXM6IFtTaGFyZWRBcnJheUJ1ZmZlcl0KKy0tLSovCisKK09iamVjdC5z
ZWFsKG5ldyBTaGFyZWRBcnJheUJ1ZmZlcig0KSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1zdHJpbmcuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC1zdHJpbmcuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZTY1YjVjZWJlMjUyNDdkNDJkN2U3ZjdiMGM2ZGQzY2Q2OTdlM2M0MgotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLXN0
cmluZy5qcwpAQCAtMCwwICsxLDM2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxk
cm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDog
c2VjLW9iamVjdC5zZWFsCitkZXNjcmlwdGlvbjogPgorICAgIE9iamVjdC5zZWFsIFN0cmluZwor
aW5mbzogfAorICBJZiBUeXBlKE8pIGlzIG5vdCBPYmplY3QsIHJldHVybiBPLgorICBMZXQgc3Rh
dHVzIGJlID8gU2V0SW50ZWdyaXR5TGV2ZWwoTywgc2VhbGVkKS4KKworICBTZXRJbnRlZ3JpdHlM
ZXZlbCAoIE8sIGxldmVsICkKKworICBBc3NlcnQ6IFR5cGUoTykgaXMgT2JqZWN0LgorICBBc3Nl
cnQ6IGxldmVsIGlzIGVpdGhlciBzZWFsZWQgb3IgZnJvemVuLgorICBMZXQgc3RhdHVzIGJlID8g
Ty5bW1ByZXZlbnRFeHRlbnNpb25zXV0oKS4KKyAgSWYgc3RhdHVzIGlzIGZhbHNlLCByZXR1cm4g
ZmFsc2UuCisgIExldCBrZXlzIGJlID8gTy5bW093blByb3BlcnR5S2V5c11dKCkuCisgIElmIGxl
dmVsIGlzIHNlYWxlZCwgdGhlbgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBrZXlzLCBkbwor
ICAgICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrLCBQcm9wZXJ0eURlc2Ny
aXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB9KS4KKyAgRWxzZSwKKyAgICBBc3NlcnQ6
IGxldmVsIGlzIGZyb3plbi4KKyAgICBGb3IgZWFjaCBlbGVtZW50IGsgb2Yga2V5cywgZG8KKyAg
ICAgIExldCBjdXJyZW50RGVzYyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1dKGspLgorICAgICAg
SWYgY3VycmVudERlc2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgICBJZiBJc0FjY2Vz
c29yRGVzY3JpcHRvcihjdXJyZW50RGVzYykgaXMgdHJ1ZSwgdGhlbgorICAgICAgICAgIExldCBk
ZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB9
LgorICAgICAgICBFbHNlLAorICAgICAgICAgIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2Ny
aXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSwgW1tXcml0YWJsZV1dOiBmYWxzZSB9Lgor
ICAgICAgICBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGssIGRlc2MpLgorICBS
ZXR1cm4gdHJ1ZS4KKworLS0tKi8KKworT2JqZWN0LnNlYWwobmV3IFN0cmluZygiIikpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwt
c3ltYm9sLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3Nl
YWwtc3ltYm9sLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFkNGM4OTZlMDQyM2M3MDNiZWZiMGI4YmQ3OTM3NzI3
YTZlMDY1NTUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L3NlYWwvc2VhbC1zeW1ib2wuanMKQEAgLTAsMCArMSwzNiBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1vYmplY3Quc2VhbAorZGVzY3JpcHRpb246ID4KKyAg
ICBPYmplY3Quc2VhbCBTeW1ib2wKK2luZm86IHwKKyAgSWYgVHlwZShPKSBpcyBub3QgT2JqZWN0
LCByZXR1cm4gTy4KKyAgTGV0IHN0YXR1cyBiZSA/IFNldEludGVncml0eUxldmVsKE8sIHNlYWxl
ZCkuCisKKyAgU2V0SW50ZWdyaXR5TGV2ZWwgKCBPLCBsZXZlbCApCisKKyAgQXNzZXJ0OiBUeXBl
KE8pIGlzIE9iamVjdC4KKyAgQXNzZXJ0OiBsZXZlbCBpcyBlaXRoZXIgc2VhbGVkIG9yIGZyb3pl
bi4KKyAgTGV0IHN0YXR1cyBiZSA/IE8uW1tQcmV2ZW50RXh0ZW5zaW9uc11dKCkuCisgIElmIHN0
YXR1cyBpcyBmYWxzZSwgcmV0dXJuIGZhbHNlLgorICBMZXQga2V5cyBiZSA/IE8uW1tPd25Qcm9w
ZXJ0eUtleXNdXSgpLgorICBJZiBsZXZlbCBpcyBzZWFsZWQsIHRoZW4KKyAgICBGb3IgZWFjaCBl
bGVtZW50IGsgb2Yga2V5cywgZG8KKyAgICAgIFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhy
b3coTywgaywgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UgfSku
CisgIEVsc2UsCisgICAgQXNzZXJ0OiBsZXZlbCBpcyBmcm96ZW4uCisgICAgRm9yIGVhY2ggZWxl
bWVudCBrIG9mIGtleXMsIGRvCisgICAgICBMZXQgY3VycmVudERlc2MgYmUgPyBPLltbR2V0T3du
UHJvcGVydHldXShrKS4KKyAgICAgIElmIGN1cnJlbnREZXNjIGlzIG5vdCB1bmRlZmluZWQsIHRo
ZW4KKyAgICAgICAgSWYgSXNBY2Nlc3NvckRlc2NyaXB0b3IoY3VycmVudERlc2MpIGlzIHRydWUs
IHRoZW4KKyAgICAgICAgICBMZXQgZGVzYyBiZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tD
b25maWd1cmFibGVdXTogZmFsc2UgfS4KKyAgICAgICAgRWxzZSwKKyAgICAgICAgICBMZXQgZGVz
YyBiZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UsIFtb
V3JpdGFibGVdXTogZmFsc2UgfS4KKyAgICAgICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JU
aHJvdyhPLCBrLCBkZXNjKS4KKyAgUmV0dXJuIHRydWUuCisKKy0tLSovCisKK09iamVjdC5zZWFs
KFN5bWJvbCgpKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9P
YmplY3Qvc2VhbC9zZWFsLXN5bnRheGVycm9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9zZWFsL3NlYWwtc3ludGF4ZXJyb3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzgzNGUx
NWI4M2FiNzgyYzVjNmVlYWEwMzI0YTFhNTY4Nzk0MzA5OAotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLXN5bnRheGVycm9y
LmpzCkBAIC0wLDAgKzEsMzYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMt
b2JqZWN0LnNlYWwKK2Rlc2NyaXB0aW9uOiA+CisgICAgT2JqZWN0LnNlYWwgU3ludGF4RXJyb3IK
K2luZm86IHwKKyAgSWYgVHlwZShPKSBpcyBub3QgT2JqZWN0LCByZXR1cm4gTy4KKyAgTGV0IHN0
YXR1cyBiZSA/IFNldEludGVncml0eUxldmVsKE8sIHNlYWxlZCkuCisKKyAgU2V0SW50ZWdyaXR5
TGV2ZWwgKCBPLCBsZXZlbCApCisKKyAgQXNzZXJ0OiBUeXBlKE8pIGlzIE9iamVjdC4KKyAgQXNz
ZXJ0OiBsZXZlbCBpcyBlaXRoZXIgc2VhbGVkIG9yIGZyb3plbi4KKyAgTGV0IHN0YXR1cyBiZSA/
IE8uW1tQcmV2ZW50RXh0ZW5zaW9uc11dKCkuCisgIElmIHN0YXR1cyBpcyBmYWxzZSwgcmV0dXJu
IGZhbHNlLgorICBMZXQga2V5cyBiZSA/IE8uW1tPd25Qcm9wZXJ0eUtleXNdXSgpLgorICBJZiBs
ZXZlbCBpcyBzZWFsZWQsIHRoZW4KKyAgICBGb3IgZWFjaCBlbGVtZW50IGsgb2Yga2V5cywgZG8K
KyAgICAgIFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywgaywgUHJvcGVydHlEZXNj
cmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UgfSkuCisgIEVsc2UsCisgICAgQXNzZXJ0
OiBsZXZlbCBpcyBmcm96ZW4uCisgICAgRm9yIGVhY2ggZWxlbWVudCBrIG9mIGtleXMsIGRvCisg
ICAgICBMZXQgY3VycmVudERlc2MgYmUgPyBPLltbR2V0T3duUHJvcGVydHldXShrKS4KKyAgICAg
IElmIGN1cnJlbnREZXNjIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAgICAgICAgSWYgSXNBY2Nl
c3NvckRlc2NyaXB0b3IoY3VycmVudERlc2MpIGlzIHRydWUsIHRoZW4KKyAgICAgICAgICBMZXQg
ZGVzYyBiZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFsc2Ug
fS4KKyAgICAgICAgRWxzZSwKKyAgICAgICAgICBMZXQgZGVzYyBiZSB0aGUgUHJvcGVydHlEZXNj
cmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UsIFtbV3JpdGFibGVdXTogZmFsc2UgfS4K
KyAgICAgICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrLCBkZXNjKS4KKyAg
UmV0dXJuIHRydWUuCisKKy0tLSovCisKK09iamVjdC5zZWFsKG5ldyBTeW50YXhFcnJvcigpKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9z
ZWFsLXR5cGVlcnJvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qv
c2VhbC9zZWFsLXR5cGVlcnJvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NWZmNTcyMDMyZDBiNDhmZjc3MDY5
NGRkZjE0ZmI5NzI5YTEyMTk1Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtdHlwZWVycm9yLmpzCkBAIC0wLDAgKzEsMzYg
QEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtb2JqZWN0LnNlYWwKK2Rlc2Ny
aXB0aW9uOiA+CisgICAgT2JqZWN0LnNlYWwgVHlwZUVycm9yCitpbmZvOiB8CisgIElmIFR5cGUo
TykgaXMgbm90IE9iamVjdCwgcmV0dXJuIE8uCisgIExldCBzdGF0dXMgYmUgPyBTZXRJbnRlZ3Jp
dHlMZXZlbChPLCBzZWFsZWQpLgorCisgIFNldEludGVncml0eUxldmVsICggTywgbGV2ZWwgKQor
CisgIEFzc2VydDogVHlwZShPKSBpcyBPYmplY3QuCisgIEFzc2VydDogbGV2ZWwgaXMgZWl0aGVy
IHNlYWxlZCBvciBmcm96ZW4uCisgIExldCBzdGF0dXMgYmUgPyBPLltbUHJldmVudEV4dGVuc2lv
bnNdXSgpLgorICBJZiBzdGF0dXMgaXMgZmFsc2UsIHJldHVybiBmYWxzZS4KKyAgTGV0IGtleXMg
YmUgPyBPLltbT3duUHJvcGVydHlLZXlzXV0oKS4KKyAgSWYgbGV2ZWwgaXMgc2VhbGVkLCB0aGVu
CisgICAgRm9yIGVhY2ggZWxlbWVudCBrIG9mIGtleXMsIGRvCisgICAgICBQZXJmb3JtID8gRGVm
aW5lUHJvcGVydHlPclRocm93KE8sIGssIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJh
YmxlXV06IGZhbHNlIH0pLgorICBFbHNlLAorICAgIEFzc2VydDogbGV2ZWwgaXMgZnJvemVuLgor
ICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBrZXlzLCBkbworICAgICAgTGV0IGN1cnJlbnREZXNj
IGJlID8gTy5bW0dldE93blByb3BlcnR5XV0oaykuCisgICAgICBJZiBjdXJyZW50RGVzYyBpcyBu
b3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICAgIElmIElzQWNjZXNzb3JEZXNjcmlwdG9yKGN1cnJl
bnREZXNjKSBpcyB0cnVlLCB0aGVuCisgICAgICAgICAgTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5
RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0uCisgICAgICAgIEVsc2UsCisg
ICAgICAgICAgTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJh
YmxlXV06IGZhbHNlLCBbW1dyaXRhYmxlXV06IGZhbHNlIH0uCisgICAgICAgIFBlcmZvcm0gPyBE
ZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywgaywgZGVzYykuCisgIFJldHVybiB0cnVlLgorCistLS0q
LworCitPYmplY3Quc2VhbChuZXcgVHlwZUVycm9yKCkpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtdWludDE2YXJyYXkuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC11aW50MTZhcnJh
eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hYTc3NTkzZjk5YzMxMWE0Y2M2ZWI5NDE1YjA1NzYyMmUyNWFjMGZk
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9zZWFsL3NlYWwtdWludDE2YXJyYXkuanMKQEAgLTAsMCArMSwzNiBAQAorLy8gQ29weXJpZ2h0
IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KKworLyotLS0KK2VzaWQ6IHNlYy1vYmplY3Quc2VhbAorZGVzY3JpcHRpb246ID4KKyAgICBP
YmplY3Quc2VhbCBVaW50MTZBcnJheQoraW5mbzogfAorICBJZiBUeXBlKE8pIGlzIG5vdCBPYmpl
Y3QsIHJldHVybiBPLgorICBMZXQgc3RhdHVzIGJlID8gU2V0SW50ZWdyaXR5TGV2ZWwoTywgc2Vh
bGVkKS4KKworICBTZXRJbnRlZ3JpdHlMZXZlbCAoIE8sIGxldmVsICkKKworICBBc3NlcnQ6IFR5
cGUoTykgaXMgT2JqZWN0LgorICBBc3NlcnQ6IGxldmVsIGlzIGVpdGhlciBzZWFsZWQgb3IgZnJv
emVuLgorICBMZXQgc3RhdHVzIGJlID8gTy5bW1ByZXZlbnRFeHRlbnNpb25zXV0oKS4KKyAgSWYg
c3RhdHVzIGlzIGZhbHNlLCByZXR1cm4gZmFsc2UuCisgIExldCBrZXlzIGJlID8gTy5bW093blBy
b3BlcnR5S2V5c11dKCkuCisgIElmIGxldmVsIGlzIHNlYWxlZCwgdGhlbgorICAgIEZvciBlYWNo
IGVsZW1lbnQgayBvZiBrZXlzLCBkbworICAgICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JU
aHJvdyhPLCBrLCBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB9
KS4KKyAgRWxzZSwKKyAgICBBc3NlcnQ6IGxldmVsIGlzIGZyb3plbi4KKyAgICBGb3IgZWFjaCBl
bGVtZW50IGsgb2Yga2V5cywgZG8KKyAgICAgIExldCBjdXJyZW50RGVzYyBiZSA/IE8uW1tHZXRP
d25Qcm9wZXJ0eV1dKGspLgorICAgICAgSWYgY3VycmVudERlc2MgaXMgbm90IHVuZGVmaW5lZCwg
dGhlbgorICAgICAgICBJZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihjdXJyZW50RGVzYykgaXMgdHJ1
ZSwgdGhlbgorICAgICAgICAgIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBb
W0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB9LgorICAgICAgICBFbHNlLAorICAgICAgICAgIExldCBk
ZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSwg
W1tXcml0YWJsZV1dOiBmYWxzZSB9LgorICAgICAgICBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlP
clRocm93KE8sIGssIGRlc2MpLgorICBSZXR1cm4gdHJ1ZS4KKworLS0tKi8KKworT2JqZWN0LnNl
YWwobmV3IFVpbnQxNkFycmF5KCkpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtdWludDMyYXJyYXkuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC11aW50MzJhcnJheS5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hYmJjZTE0ZTNhM2Y1ZmRiNjA1YTYzMmE4YmQxNjE5OWM2YmFlOTI0Ci0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwt
dWludDMyYXJyYXkuanMKQEAgLTAsMCArMSwzNiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJp
Y2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0K
K2VzaWQ6IHNlYy1vYmplY3Quc2VhbAorZGVzY3JpcHRpb246ID4KKyAgICBPYmplY3Quc2VhbCBV
aW50MzJBcnJheQoraW5mbzogfAorICBJZiBUeXBlKE8pIGlzIG5vdCBPYmplY3QsIHJldHVybiBP
LgorICBMZXQgc3RhdHVzIGJlID8gU2V0SW50ZWdyaXR5TGV2ZWwoTywgc2VhbGVkKS4KKworICBT
ZXRJbnRlZ3JpdHlMZXZlbCAoIE8sIGxldmVsICkKKworICBBc3NlcnQ6IFR5cGUoTykgaXMgT2Jq
ZWN0LgorICBBc3NlcnQ6IGxldmVsIGlzIGVpdGhlciBzZWFsZWQgb3IgZnJvemVuLgorICBMZXQg
c3RhdHVzIGJlID8gTy5bW1ByZXZlbnRFeHRlbnNpb25zXV0oKS4KKyAgSWYgc3RhdHVzIGlzIGZh
bHNlLCByZXR1cm4gZmFsc2UuCisgIExldCBrZXlzIGJlID8gTy5bW093blByb3BlcnR5S2V5c11d
KCkuCisgIElmIGxldmVsIGlzIHNlYWxlZCwgdGhlbgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBv
ZiBrZXlzLCBkbworICAgICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrLCBQ
cm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB9KS4KKyAgRWxzZSwK
KyAgICBBc3NlcnQ6IGxldmVsIGlzIGZyb3plbi4KKyAgICBGb3IgZWFjaCBlbGVtZW50IGsgb2Yg
a2V5cywgZG8KKyAgICAgIExldCBjdXJyZW50RGVzYyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1d
KGspLgorICAgICAgSWYgY3VycmVudERlc2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAg
ICBJZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihjdXJyZW50RGVzYykgaXMgdHJ1ZSwgdGhlbgorICAg
ICAgICAgIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJs
ZV1dOiBmYWxzZSB9LgorICAgICAgICBFbHNlLAorICAgICAgICAgIExldCBkZXNjIGJlIHRoZSBQ
cm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSwgW1tXcml0YWJsZV1d
OiBmYWxzZSB9LgorICAgICAgICBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGss
IGRlc2MpLgorICBSZXR1cm4gdHJ1ZS4KKworLS0tKi8KKworT2JqZWN0LnNlYWwobmV3IFVpbnQz
MkFycmF5KCkpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9zZWFsL3NlYWwtdWludDhhcnJheS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3Qvc2VhbC9zZWFsLXVpbnQ4YXJyYXkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTljNzdkNjYy
ODc2YWMyZWNlOTM1ODgxMDYzZDVjN2UzZWFmYzVmOAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLXVpbnQ4YXJyYXkuanMK
QEAgLTAsMCArMSwzNiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1vYmpl
Y3Quc2VhbAorZGVzY3JpcHRpb246ID4KKyAgICBPYmplY3Quc2VhbCBVaW50OEFycmF5CitpbmZv
OiB8CisgIElmIFR5cGUoTykgaXMgbm90IE9iamVjdCwgcmV0dXJuIE8uCisgIExldCBzdGF0dXMg
YmUgPyBTZXRJbnRlZ3JpdHlMZXZlbChPLCBzZWFsZWQpLgorCisgIFNldEludGVncml0eUxldmVs
ICggTywgbGV2ZWwgKQorCisgIEFzc2VydDogVHlwZShPKSBpcyBPYmplY3QuCisgIEFzc2VydDog
bGV2ZWwgaXMgZWl0aGVyIHNlYWxlZCBvciBmcm96ZW4uCisgIExldCBzdGF0dXMgYmUgPyBPLltb
UHJldmVudEV4dGVuc2lvbnNdXSgpLgorICBJZiBzdGF0dXMgaXMgZmFsc2UsIHJldHVybiBmYWxz
ZS4KKyAgTGV0IGtleXMgYmUgPyBPLltbT3duUHJvcGVydHlLZXlzXV0oKS4KKyAgSWYgbGV2ZWwg
aXMgc2VhbGVkLCB0aGVuCisgICAgRm9yIGVhY2ggZWxlbWVudCBrIG9mIGtleXMsIGRvCisgICAg
ICBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGssIFByb3BlcnR5RGVzY3JpcHRv
ciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0pLgorICBFbHNlLAorICAgIEFzc2VydDogbGV2
ZWwgaXMgZnJvemVuLgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBrZXlzLCBkbworICAgICAg
TGV0IGN1cnJlbnREZXNjIGJlID8gTy5bW0dldE93blByb3BlcnR5XV0oaykuCisgICAgICBJZiBj
dXJyZW50RGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICAgIElmIElzQWNjZXNzb3JE
ZXNjcmlwdG9yKGN1cnJlbnREZXNjKSBpcyB0cnVlLCB0aGVuCisgICAgICAgICAgTGV0IGRlc2Mg
YmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0uCisg
ICAgICAgIEVsc2UsCisgICAgICAgICAgTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5RGVzY3JpcHRv
ciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlLCBbW1dyaXRhYmxlXV06IGZhbHNlIH0uCisgICAg
ICAgIFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywgaywgZGVzYykuCisgIFJldHVy
biB0cnVlLgorCistLS0qLworCitPYmplY3Quc2VhbChuZXcgVWludDhBcnJheSgpKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLXVp
bnQ4Y2xhbXBlZGFycmF5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9zZWFsL3NlYWwtdWludDhjbGFtcGVkYXJyYXkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDI1OTMwZTg5MzMz
ODY4NDRjODBkYTc2YmM3OWJkYWY4MjA1OTc4ZAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLXVpbnQ4Y2xhbXBlZGFycmF5
LmpzCkBAIC0wLDAgKzEsMzYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMt
b2JqZWN0LnNlYWwKK2Rlc2NyaXB0aW9uOiA+CisgICAgT2JqZWN0LnNlYWwgVWludDhDbGFtcGVk
QXJyYXkKK2luZm86IHwKKyAgSWYgVHlwZShPKSBpcyBub3QgT2JqZWN0LCByZXR1cm4gTy4KKyAg
TGV0IHN0YXR1cyBiZSA/IFNldEludGVncml0eUxldmVsKE8sIHNlYWxlZCkuCisKKyAgU2V0SW50
ZWdyaXR5TGV2ZWwgKCBPLCBsZXZlbCApCisKKyAgQXNzZXJ0OiBUeXBlKE8pIGlzIE9iamVjdC4K
KyAgQXNzZXJ0OiBsZXZlbCBpcyBlaXRoZXIgc2VhbGVkIG9yIGZyb3plbi4KKyAgTGV0IHN0YXR1
cyBiZSA/IE8uW1tQcmV2ZW50RXh0ZW5zaW9uc11dKCkuCisgIElmIHN0YXR1cyBpcyBmYWxzZSwg
cmV0dXJuIGZhbHNlLgorICBMZXQga2V5cyBiZSA/IE8uW1tPd25Qcm9wZXJ0eUtleXNdXSgpLgor
ICBJZiBsZXZlbCBpcyBzZWFsZWQsIHRoZW4KKyAgICBGb3IgZWFjaCBlbGVtZW50IGsgb2Yga2V5
cywgZG8KKyAgICAgIFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywgaywgUHJvcGVy
dHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UgfSkuCisgIEVsc2UsCisgICAg
QXNzZXJ0OiBsZXZlbCBpcyBmcm96ZW4uCisgICAgRm9yIGVhY2ggZWxlbWVudCBrIG9mIGtleXMs
IGRvCisgICAgICBMZXQgY3VycmVudERlc2MgYmUgPyBPLltbR2V0T3duUHJvcGVydHldXShrKS4K
KyAgICAgIElmIGN1cnJlbnREZXNjIGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAgICAgICAgSWYg
SXNBY2Nlc3NvckRlc2NyaXB0b3IoY3VycmVudERlc2MpIGlzIHRydWUsIHRoZW4KKyAgICAgICAg
ICBMZXQgZGVzYyBiZSB0aGUgUHJvcGVydHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTog
ZmFsc2UgfS4KKyAgICAgICAgRWxzZSwKKyAgICAgICAgICBMZXQgZGVzYyBiZSB0aGUgUHJvcGVy
dHlEZXNjcmlwdG9yIHsgW1tDb25maWd1cmFibGVdXTogZmFsc2UsIFtbV3JpdGFibGVdXTogZmFs
c2UgfS4KKyAgICAgICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrLCBkZXNj
KS4KKyAgUmV0dXJuIHRydWUuCisKKy0tLSovCisKK09iamVjdC5zZWFsKG5ldyBVaW50OENsYW1w
ZWRBcnJheSgpKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9P
YmplY3Qvc2VhbC9zZWFsLXVuZGVmaW5lZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3Qvc2VhbC9zZWFsLXVuZGVmaW5lZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOTcxMjMxZWZm
YjA3MjY1NTYwZjRjMjQ3ZDhiMGYxNzhlYmFmNzk0Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtdW5kZWZpbmVkLmpzCkBA
IC0wLDAgKzEsMzYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtb2JqZWN0
LnNlYWwKK2Rlc2NyaXB0aW9uOiA+CisgICAgT2JqZWN0LnNlYWwgdW5kZWZpbmVkCitpbmZvOiB8
CisgIElmIFR5cGUoTykgaXMgbm90IE9iamVjdCwgcmV0dXJuIE8uCisgIExldCBzdGF0dXMgYmUg
PyBTZXRJbnRlZ3JpdHlMZXZlbChPLCBzZWFsZWQpLgorCisgIFNldEludGVncml0eUxldmVsICgg
TywgbGV2ZWwgKQorCisgIEFzc2VydDogVHlwZShPKSBpcyBPYmplY3QuCisgIEFzc2VydDogbGV2
ZWwgaXMgZWl0aGVyIHNlYWxlZCBvciBmcm96ZW4uCisgIExldCBzdGF0dXMgYmUgPyBPLltbUHJl
dmVudEV4dGVuc2lvbnNdXSgpLgorICBJZiBzdGF0dXMgaXMgZmFsc2UsIHJldHVybiBmYWxzZS4K
KyAgTGV0IGtleXMgYmUgPyBPLltbT3duUHJvcGVydHlLZXlzXV0oKS4KKyAgSWYgbGV2ZWwgaXMg
c2VhbGVkLCB0aGVuCisgICAgRm9yIGVhY2ggZWxlbWVudCBrIG9mIGtleXMsIGRvCisgICAgICBQ
ZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGssIFByb3BlcnR5RGVzY3JpcHRvciB7
IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0pLgorICBFbHNlLAorICAgIEFzc2VydDogbGV2ZWwg
aXMgZnJvemVuLgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBrZXlzLCBkbworICAgICAgTGV0
IGN1cnJlbnREZXNjIGJlID8gTy5bW0dldE93blByb3BlcnR5XV0oaykuCisgICAgICBJZiBjdXJy
ZW50RGVzYyBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICAgIElmIElzQWNjZXNzb3JEZXNj
cmlwdG9yKGN1cnJlbnREZXNjKSBpcyB0cnVlLCB0aGVuCisgICAgICAgICAgTGV0IGRlc2MgYmUg
dGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0uCisgICAg
ICAgIEVsc2UsCisgICAgICAgICAgTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7
IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlLCBbW1dyaXRhYmxlXV06IGZhbHNlIH0uCisgICAgICAg
IFBlcmZvcm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywgaywgZGVzYykuCisgIFJldHVybiB0
cnVlLgorCistLS0qLworCitPYmplY3Quc2VhbCh1bmRlZmluZWQpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3NlYWwtdXJpZXJyb3IuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC11cmllcnJv
ci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iNjljM2ZhYTViMzJlNGU1NmJiZWU3Mjk5MThhNTRhNWQ5MmMzMGUz
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9zZWFsL3NlYWwtdXJpZXJyb3IuanMKQEAgLTAsMCArMSwzNiBAQAorLy8gQ29weXJpZ2h0IChD
KSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
KworLyotLS0KK2VzaWQ6IHNlYy1vYmplY3Quc2VhbAorZGVzY3JpcHRpb246ID4KKyAgICBPYmpl
Y3Quc2VhbCBVUklFcnJvcgoraW5mbzogfAorICBJZiBUeXBlKE8pIGlzIG5vdCBPYmplY3QsIHJl
dHVybiBPLgorICBMZXQgc3RhdHVzIGJlID8gU2V0SW50ZWdyaXR5TGV2ZWwoTywgc2VhbGVkKS4K
KworICBTZXRJbnRlZ3JpdHlMZXZlbCAoIE8sIGxldmVsICkKKworICBBc3NlcnQ6IFR5cGUoTykg
aXMgT2JqZWN0LgorICBBc3NlcnQ6IGxldmVsIGlzIGVpdGhlciBzZWFsZWQgb3IgZnJvemVuLgor
ICBMZXQgc3RhdHVzIGJlID8gTy5bW1ByZXZlbnRFeHRlbnNpb25zXV0oKS4KKyAgSWYgc3RhdHVz
IGlzIGZhbHNlLCByZXR1cm4gZmFsc2UuCisgIExldCBrZXlzIGJlID8gTy5bW093blByb3BlcnR5
S2V5c11dKCkuCisgIElmIGxldmVsIGlzIHNlYWxlZCwgdGhlbgorICAgIEZvciBlYWNoIGVsZW1l
bnQgayBvZiBrZXlzLCBkbworICAgICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhP
LCBrLCBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB9KS4KKyAg
RWxzZSwKKyAgICBBc3NlcnQ6IGxldmVsIGlzIGZyb3plbi4KKyAgICBGb3IgZWFjaCBlbGVtZW50
IGsgb2Yga2V5cywgZG8KKyAgICAgIExldCBjdXJyZW50RGVzYyBiZSA/IE8uW1tHZXRPd25Qcm9w
ZXJ0eV1dKGspLgorICAgICAgSWYgY3VycmVudERlc2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgor
ICAgICAgICBJZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihjdXJyZW50RGVzYykgaXMgdHJ1ZSwgdGhl
bgorICAgICAgICAgIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZp
Z3VyYWJsZV1dOiBmYWxzZSB9LgorICAgICAgICBFbHNlLAorICAgICAgICAgIExldCBkZXNjIGJl
IHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSwgW1tXcml0
YWJsZV1dOiBmYWxzZSB9LgorICAgICAgICBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93
KE8sIGssIGRlc2MpLgorICBSZXR1cm4gdHJ1ZS4KKworLS0tKi8KKworT2JqZWN0LnNlYWwobmV3
IFVSSUVycm9yKCkpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L09iamVjdC9zZWFsL3NlYWwtd2Vha21hcC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9PYmplY3Qvc2VhbC9zZWFsLXdlYWttYXAuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzRhOWRmYzNhY2Yy
MDU2MmNhZTU2OGJiZjBkMzY5ZWE0Y2YxYmY1NgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLXdlYWttYXAuanMKQEAgLTAs
MCArMSwzNiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1vYmplY3Quc2Vh
bAorZGVzY3JpcHRpb246ID4KKyAgICBPYmplY3Quc2VhbCBXZWFrTWFwCitpbmZvOiB8CisgIElm
IFR5cGUoTykgaXMgbm90IE9iamVjdCwgcmV0dXJuIE8uCisgIExldCBzdGF0dXMgYmUgPyBTZXRJ
bnRlZ3JpdHlMZXZlbChPLCBzZWFsZWQpLgorCisgIFNldEludGVncml0eUxldmVsICggTywgbGV2
ZWwgKQorCisgIEFzc2VydDogVHlwZShPKSBpcyBPYmplY3QuCisgIEFzc2VydDogbGV2ZWwgaXMg
ZWl0aGVyIHNlYWxlZCBvciBmcm96ZW4uCisgIExldCBzdGF0dXMgYmUgPyBPLltbUHJldmVudEV4
dGVuc2lvbnNdXSgpLgorICBJZiBzdGF0dXMgaXMgZmFsc2UsIHJldHVybiBmYWxzZS4KKyAgTGV0
IGtleXMgYmUgPyBPLltbT3duUHJvcGVydHlLZXlzXV0oKS4KKyAgSWYgbGV2ZWwgaXMgc2VhbGVk
LCB0aGVuCisgICAgRm9yIGVhY2ggZWxlbWVudCBrIG9mIGtleXMsIGRvCisgICAgICBQZXJmb3Jt
ID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGssIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29u
ZmlndXJhYmxlXV06IGZhbHNlIH0pLgorICBFbHNlLAorICAgIEFzc2VydDogbGV2ZWwgaXMgZnJv
emVuLgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBrZXlzLCBkbworICAgICAgTGV0IGN1cnJl
bnREZXNjIGJlID8gTy5bW0dldE93blByb3BlcnR5XV0oaykuCisgICAgICBJZiBjdXJyZW50RGVz
YyBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICAgIElmIElzQWNjZXNzb3JEZXNjcmlwdG9y
KGN1cnJlbnREZXNjKSBpcyB0cnVlLCB0aGVuCisgICAgICAgICAgTGV0IGRlc2MgYmUgdGhlIFBy
b3BlcnR5RGVzY3JpcHRvciB7IFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIH0uCisgICAgICAgIEVs
c2UsCisgICAgICAgICAgTGV0IGRlc2MgYmUgdGhlIFByb3BlcnR5RGVzY3JpcHRvciB7IFtbQ29u
ZmlndXJhYmxlXV06IGZhbHNlLCBbW1dyaXRhYmxlXV06IGZhbHNlIH0uCisgICAgICAgIFBlcmZv
cm0gPyBEZWZpbmVQcm9wZXJ0eU9yVGhyb3coTywgaywgZGVzYykuCisgIFJldHVybiB0cnVlLgor
CistLS0qLworCitPYmplY3Quc2VhbChuZXcgV2Vha01hcCgpKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zZWFsLXdlYWtyZWYuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC13ZWFrcmVmLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjAwMjIxNjI0OThmYzFmZDM4ZmVhNDk1YmRmODZmN2VlN2UwOTFhNjUKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Nl
YWwvc2VhbC13ZWFrcmVmLmpzCkBAIC0wLDAgKzEsMzYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAy
MCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8q
LS0tCitlc2lkOiBzZWMtb2JqZWN0LnNlYWwKK2Rlc2NyaXB0aW9uOiA+CisgICAgT2JqZWN0LnNl
YWwgV2Vha1JlZgoraW5mbzogfAorICBJZiBUeXBlKE8pIGlzIG5vdCBPYmplY3QsIHJldHVybiBP
LgorICBMZXQgc3RhdHVzIGJlID8gU2V0SW50ZWdyaXR5TGV2ZWwoTywgc2VhbGVkKS4KKworICBT
ZXRJbnRlZ3JpdHlMZXZlbCAoIE8sIGxldmVsICkKKworICBBc3NlcnQ6IFR5cGUoTykgaXMgT2Jq
ZWN0LgorICBBc3NlcnQ6IGxldmVsIGlzIGVpdGhlciBzZWFsZWQgb3IgZnJvemVuLgorICBMZXQg
c3RhdHVzIGJlID8gTy5bW1ByZXZlbnRFeHRlbnNpb25zXV0oKS4KKyAgSWYgc3RhdHVzIGlzIGZh
bHNlLCByZXR1cm4gZmFsc2UuCisgIExldCBrZXlzIGJlID8gTy5bW093blByb3BlcnR5S2V5c11d
KCkuCisgIElmIGxldmVsIGlzIHNlYWxlZCwgdGhlbgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBv
ZiBrZXlzLCBkbworICAgICAgUGVyZm9ybSA/IERlZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrLCBQ
cm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB9KS4KKyAgRWxzZSwK
KyAgICBBc3NlcnQ6IGxldmVsIGlzIGZyb3plbi4KKyAgICBGb3IgZWFjaCBlbGVtZW50IGsgb2Yg
a2V5cywgZG8KKyAgICAgIExldCBjdXJyZW50RGVzYyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1d
KGspLgorICAgICAgSWYgY3VycmVudERlc2MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAg
ICBJZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihjdXJyZW50RGVzYykgaXMgdHJ1ZSwgdGhlbgorICAg
ICAgICAgIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJs
ZV1dOiBmYWxzZSB9LgorICAgICAgICBFbHNlLAorICAgICAgICAgIExldCBkZXNjIGJlIHRoZSBQ
cm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSwgW1tXcml0YWJsZV1d
OiBmYWxzZSB9LgorICAgICAgICBQZXJmb3JtID8gRGVmaW5lUHJvcGVydHlPclRocm93KE8sIGss
IGRlc2MpLgorICBSZXR1cm4gdHJ1ZS4KKworLS0tKi8KKworT2JqZWN0LnNlYWwobmV3IFdlYWtS
ZWYoe30pKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmpl
Y3Qvc2VhbC9zZWFsLXdlYWtzZXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
T2JqZWN0L3NlYWwvc2VhbC13ZWFrc2V0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4MWUwYzk1MzEyNjhlNDcw
M2Y5YzE0NmY0NGJkODNhNWFmMDY0ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc2VhbC13ZWFrc2V0LmpzCkBAIC0wLDAgKzEs
MzYgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtb2JqZWN0LnNlYWwKK2Rl
c2NyaXB0aW9uOiA+CisgICAgT2JqZWN0LnNlYWwgV2Vha1NldAoraW5mbzogfAorICBJZiBUeXBl
KE8pIGlzIG5vdCBPYmplY3QsIHJldHVybiBPLgorICBMZXQgc3RhdHVzIGJlID8gU2V0SW50ZWdy
aXR5TGV2ZWwoTywgc2VhbGVkKS4KKworICBTZXRJbnRlZ3JpdHlMZXZlbCAoIE8sIGxldmVsICkK
KworICBBc3NlcnQ6IFR5cGUoTykgaXMgT2JqZWN0LgorICBBc3NlcnQ6IGxldmVsIGlzIGVpdGhl
ciBzZWFsZWQgb3IgZnJvemVuLgorICBMZXQgc3RhdHVzIGJlID8gTy5bW1ByZXZlbnRFeHRlbnNp
b25zXV0oKS4KKyAgSWYgc3RhdHVzIGlzIGZhbHNlLCByZXR1cm4gZmFsc2UuCisgIExldCBrZXlz
IGJlID8gTy5bW093blByb3BlcnR5S2V5c11dKCkuCisgIElmIGxldmVsIGlzIHNlYWxlZCwgdGhl
bgorICAgIEZvciBlYWNoIGVsZW1lbnQgayBvZiBrZXlzLCBkbworICAgICAgUGVyZm9ybSA/IERl
ZmluZVByb3BlcnR5T3JUaHJvdyhPLCBrLCBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3Vy
YWJsZV1dOiBmYWxzZSB9KS4KKyAgRWxzZSwKKyAgICBBc3NlcnQ6IGxldmVsIGlzIGZyb3plbi4K
KyAgICBGb3IgZWFjaCBlbGVtZW50IGsgb2Yga2V5cywgZG8KKyAgICAgIExldCBjdXJyZW50RGVz
YyBiZSA/IE8uW1tHZXRPd25Qcm9wZXJ0eV1dKGspLgorICAgICAgSWYgY3VycmVudERlc2MgaXMg
bm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgICBJZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihjdXJy
ZW50RGVzYykgaXMgdHJ1ZSwgdGhlbgorICAgICAgICAgIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0
eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3VyYWJsZV1dOiBmYWxzZSB9LgorICAgICAgICBFbHNlLAor
ICAgICAgICAgIExldCBkZXNjIGJlIHRoZSBQcm9wZXJ0eURlc2NyaXB0b3IgeyBbW0NvbmZpZ3Vy
YWJsZV1dOiBmYWxzZSwgW1tXcml0YWJsZV1dOiBmYWxzZSB9LgorICAgICAgICBQZXJmb3JtID8g
RGVmaW5lUHJvcGVydHlPclRocm93KE8sIGssIGRlc2MpLgorICBSZXR1cm4gdHJ1ZS4KKworLS0t
Ki8KKworT2JqZWN0LnNlYWwobmV3IFdlYWtTZXQoKSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc3ltYm9sLW9iamVjdC1jb250YWlucy1z
eW1ib2wtcHJvcGVydGllcy1ub24tc3RyaWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL09iamVjdC9zZWFsL3N5bWJvbC1vYmplY3QtY29udGFpbnMtc3ltYm9sLXByb3BlcnRp
ZXMtbm9uLXN0cmljdC5qcwppbmRleCBmNGUxNWFhODZiY2MwN2M5MTgwNjU2NGZjM2I3YTc0M2Q0
NjBmZDA2Li5hMTBiZDc3YzM2MDdiNjU1MGY3NjY3ODFiNGJiMzIyYzQ3Y2QyNGRiIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc3ltYm9sLW9i
amVjdC1jb250YWlucy1zeW1ib2wtcHJvcGVydGllcy1ub24tc3RyaWN0LmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zeW1ib2wtb2JqZWN0LWNvbnRh
aW5zLXN5bWJvbC1wcm9wZXJ0aWVzLW5vbi1zdHJpY3QuanMKQEAgLTEsNyArMSw3IEBACiAvLyBD
b3B5cmlnaHQgKEMpIDIwMTMgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KIC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KIC8qLS0tCi1lczZpZDogMTkuNAorZXNpZDogc2VjLW9iamVj
dC5zZWFsCiBkZXNjcmlwdGlvbjogPgogICAgIE9iamVjdC5zZWFsKG9iaikgd2hlcmUgb2JqIGNv
bnRhaW5zIHN5bWJvbCBwcm9wZXJ0aWVzLgogZmxhZ3M6IFtub1N0cmljdF0KZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zeW1ib2wtb2JqZWN0
LWNvbnRhaW5zLXN5bWJvbC1wcm9wZXJ0aWVzLXN0cmljdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2VhbC9zeW1ib2wtb2JqZWN0LWNvbnRhaW5zLXN5bWJvbC1w
cm9wZXJ0aWVzLXN0cmljdC5qcwppbmRleCBlOGZkN2QzNGZkOTU0NDZjMmFiYzIzMjZjYTgzMGU0
NjAxNDVhMTYwLi5iMmNhYTdlYWQ2MmM2MmM4MjUyNTUzZWUzZTcwYWIzMjQ1NzNhODAxIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NlYWwvc3ltYm9s
LW9iamVjdC1jb250YWlucy1zeW1ib2wtcHJvcGVydGllcy1zdHJpY3QuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9zZWFsL3N5bWJvbC1vYmplY3QtY29udGFp
bnMtc3ltYm9sLXByb3BlcnRpZXMtc3RyaWN0LmpzCkBAIC0xLDcgKzEsNyBAQAogLy8gQ29weXJp
Z2h0IChDKSAyMDEzIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCiAvKi0tLQotZXM2aWQ6IDE5LjQKK2VzaWQ6IHNlYy1vYmplY3Quc2Vh
bAogZGVzY3JpcHRpb246ID4KICAgICBPYmplY3Quc2VhbChvYmopIHdoZXJlIG9iaiBjb250YWlu
cyBzeW1ib2wgcHJvcGVydGllcy4KIGZsYWdzOiBbb25seVN0cmljdF0KZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3Qvc2V0UHJvdG90eXBlT2Yvbm90LWEt
Y29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3Nl
dFByb3RvdHlwZU9mL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0MTFhNjMxMmM1
NDY5ODBjZGFmNTgyYjhjMmI3ZWIyNWIzYmZkNjcKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L3NldFByb3RvdHlwZU9mL25vdC1hLWNvbnN0
cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdh
bGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lk
OiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjog
PgorICBPYmplY3Quc2V0UHJvdG90eXBlT2YgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0
XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVj
dHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVk
IGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGlu
dGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3Jp
cHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisg
IC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cg
YSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5q
c10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8K
KworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihPYmplY3Quc2V0UHJvdG90eXBl
T2YpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoT2JqZWN0LnNldFByb3RvdHlwZU9mKSBt
dXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7
CisgIG5ldyBPYmplY3Quc2V0UHJvdG90eXBlT2Yoe30sIHt9KTsKK30sICdgbmV3IE9iamVjdC5z
ZXRQcm90b3R5cGVPZih7fSwge30pYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvdmFsdWVzL25vdC1hLWNvbnN0
cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC92YWx1ZXMv
bm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTFlOTA5YzVmNGVmNDAwZDQ4OTc3YTk3
ZmI3OWQ2M2Y3ZDhhNDcyMAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3QvdmFsdWVzL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEs
MjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFu
ZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBPYmplY3QudmFsdWVzIGRv
ZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwK
KyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2Jq
ZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGlt
cGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lz
ZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlv
bi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihj
b25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4u
CitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3Ry
dWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1
Y3RvcihPYmplY3QudmFsdWVzKSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKE9iamVjdC52YWx1ZXMp
IG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7
CisgIG5ldyBPYmplY3QudmFsdWVzKHt9KTsKK30sICdgbmV3IE9iamVjdC52YWx1ZXMoe30pYCB0
aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9Qcm9taXNlL2FsbC9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mNGRjNmVhNTMwYjM2MGEzYTljZGU4OTg2ZTYyMDc3OTZkN2MxNTQ1Ci0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvYWxsL25vdC1h
LWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBS
aWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0t
Citlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlw
dGlvbjogPgorICBQcm9taXNlLmFsbCBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwg
aXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cwor
CisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMg
Y29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJu
YWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlv
biBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4u
CisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5
cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQor
ZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCith
c3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoUHJvbWlzZS5hbGwpLCBmYWxzZSwgJ2lzQ29u
c3RydWN0b3IoUHJvbWlzZS5hbGwpIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJv
d3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBQcm9taXNlLmFsbChbXSk7Cit9LCAnYG5ldyBQ
cm9taXNlLmFsbChbXSlgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvYWxsU2V0dGxlZC9ub3QtYS1jb25zdHJ1
Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbFNldHRs
ZWQvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjlkYWYwMThjMjNhMWM2MWJkZDNm
ODE0NGJkZTFjYjgxZThhNjFmZQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FsbFNldHRsZWQvbm90LWEtY29uc3RydWN0b3IuanMKQEAg
LTAsMCArMSwyOSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2Ny
aXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFByb21pc2Uu
YWxsU2V0dGxlZCBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1h
YmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWlu
IGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3Jz
IGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVu
bGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRp
Y3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElz
Q29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNl
cHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtS
ZWZsZWN0LmNvbnN0cnVjdCwgUHJvbWlzZS5hbGxTZXR0bGVkLCBhcnJvdy1mdW5jdGlvbl0KKy0t
LSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihQcm9taXNlLmFsbFNldHRsZWQp
LCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoUHJvbWlzZS5hbGxTZXR0bGVkKSBtdXN0IHJldHVybiBm
YWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgUHJvbWlz
ZS5hbGxTZXR0bGVkKCk7Cit9LCAnYG5ldyBQcm9taXNlLmFsbFNldHRsZWQoKWAgdGhyb3dzIFR5
cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
UHJvbWlzZS9hbnkvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUHJvbWlzZS9hbnkvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODVi
ZDA2ODVhOWNiMTVkZDc4NmY3YzQyYzgwODc1MDQ2NDdjZDBhNgotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2FueS9ub3QtYS1jb25zdHJ1
Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxk
cm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDog
c2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4K
KyAgUHJvbWlzZS5hbnkgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBu
ZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWls
dC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVj
dG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhv
ZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBw
YXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJ
ZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3Ig
ZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVz
OiBbUmVmbGVjdC5jb25zdHJ1Y3QsIFByb21pc2UuYW55LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSov
CisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihQcm9taXNlLmFueSksIGZhbHNlLCAn
aXNDb25zdHJ1Y3RvcihQcm9taXNlLmFueSkgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IFByb21pc2UuYW55KFsxXSk7Cit9LCAn
YG5ldyBQcm9taXNlLmFueShbMV0pYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2NyZWF0ZS1yZXNvbHZpbmct
ZnVuY3Rpb25zLXJlamVjdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9t
aXNlL2NyZWF0ZS1yZXNvbHZpbmctZnVuY3Rpb25zLXJlamVjdC5qcwppbmRleCAxNmFjZWY3ZTI0
ZDA3ZjIzOGUxYTAzMTNhOTcyYmY1NmQ3MzIzMTBkLi5jOWRmMTc5M2I5MWQ5NDE3NWQ2NTkzMDkz
MTU4MTA1MGY2ZWRhMzY1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUHJvbWlzZS9jcmVhdGUtcmVzb2x2aW5nLWZ1bmN0aW9ucy1yZWplY3QuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvY3JlYXRlLXJlc29sdmluZy1mdW5j
dGlvbnMtcmVqZWN0LmpzCkBAIC05LDcgKzksNyBAQCBpbmZvOiB8CiAKICAgLi4uCiAgIDcuIExl
dCByZWplY3QgYmUgISBDcmVhdGVCdWlsdGluRnVuY3Rpb24oc3RlcHNSZWplY3QsIMKrIFtbUHJv
bWlzZV1dLCBbW0FscmVhZHlSZXNvbHZlZF1dIMK7KS4KLWZlYXR1cmVzOiBbUmVmbGVjdC5jb25z
dHJ1Y3RdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KIGlu
Y2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KIGZsYWdzOiBbYXN5bmNdCiAtLS0qLwpAQCAtMjAs
OSArMjAsMTMgQEAgUHJvbWlzZS5yZXNvbHZlKDEpLnRoZW4oZnVuY3Rpb24oKSB7CiAKIHZhciB0
aGVuID0gUHJvbWlzZS5wcm90b3R5cGUudGhlbjsKIFByb21pc2UucHJvdG90eXBlLnRoZW4gPSBm
dW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgYXNzZXJ0KCFpc0NvbnN0cnVjdG9yKHJlamVj
dCkpOwotICBhc3NlcnQuc2FtZVZhbHVlKHJlamVjdC5sZW5ndGgsIDEpOwotICBhc3NlcnQuc2Ft
ZVZhbHVlKHJlamVjdC5uYW1lLCAnJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3Rv
cihyZWplY3QpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IocmVqZWN0KSBtdXN0IHJldHVybiBmYWxz
ZScpOworICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICAgIG5ldyByZWplY3Qo
KTsKKyAgfSwgJ2BuZXcgcmVqZWN0KClgIHRocm93cyBUeXBlRXJyb3InKTsKKworICBhc3NlcnQu
c2FtZVZhbHVlKHJlamVjdC5sZW5ndGgsIDEsICdUaGUgdmFsdWUgb2YgcmVqZWN0Lmxlbmd0aCBp
cyAxJyk7CisgIGFzc2VydC5zYW1lVmFsdWUocmVqZWN0Lm5hbWUsICcnLCAnVGhlIHZhbHVlIG9m
IHJlamVjdC5uYW1lIGlzICIiJyk7CiAKICAgcmV0dXJuIHRoZW4uY2FsbCh0aGlzLCByZXNvbHZl
LCByZWplY3QpOwogfTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9Qcm9taXNlL2NyZWF0ZS1yZXNvbHZpbmctZnVuY3Rpb25zLXJlc29sdmUuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9jcmVhdGUtcmVzb2x2aW5nLWZ1bmN0aW9u
cy1yZXNvbHZlLmpzCmluZGV4IDkzODg5M2RmN2I5ZmFhN2M4Y2Q5ZjI4ZGZiZWE5OWZlZjUzYmMw
OGMuLjdiYWFiMGM1MGU4NzQ1NDNhZGU3ODJlZTBhMzhjZDgzODQwMWIzNzUgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2NyZWF0ZS1yZXNvbHZpbmct
ZnVuY3Rpb25zLXJlc29sdmUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1Byb21pc2UvY3JlYXRlLXJlc29sdmluZy1mdW5jdGlvbnMtcmVzb2x2ZS5qcwpAQCAtOSw3ICs5
LDcgQEAgaW5mbzogfAogCiAgIC4uLgogICAzLiBMZXQgcmVzb2x2ZSBiZSAhIENyZWF0ZUJ1aWx0
aW5GdW5jdGlvbihzdGVwc1Jlc29sdmUsIMKrIFtbUHJvbWlzZV1dLCBbW0FscmVhZHlSZXNvbHZl
ZF1dIMK7KS4KLWZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3RdCitmZWF0dXJlczogW1JlZmxl
Y3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KIGluY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5q
c10KIGZsYWdzOiBbYXN5bmNdCiAtLS0qLwpAQCAtMjAsOSArMjAsMTMgQEAgUHJvbWlzZS5yZXNv
bHZlKDEpLnRoZW4oZnVuY3Rpb24oKSB7CiAKIHZhciB0aGVuID0gUHJvbWlzZS5wcm90b3R5cGUu
dGhlbjsKIFByb21pc2UucHJvdG90eXBlLnRoZW4gPSBmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qp
IHsKLSAgYXNzZXJ0KCFpc0NvbnN0cnVjdG9yKHJlc29sdmUpKTsKLSAgYXNzZXJ0LnNhbWVWYWx1
ZShyZXNvbHZlLmxlbmd0aCwgMSk7Ci0gIGFzc2VydC5zYW1lVmFsdWUocmVzb2x2ZS5uYW1lLCAn
Jyk7CisgIGFzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihyZXNvbHZlKSwgZmFsc2UsICdp
c0NvbnN0cnVjdG9yKHJlc29sdmUpIG11c3QgcmV0dXJuIGZhbHNlJyk7CisgIGFzc2VydC50aHJv
d3MoVHlwZUVycm9yLCAoKSA9PiB7CisgICAgbmV3IHJlc29sdmUoKTsKKyAgfSwgJ2BuZXcgcmVz
b2x2ZSgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXNvbHZl
Lmxlbmd0aCwgMSwgJ1RoZSB2YWx1ZSBvZiByZXNvbHZlLmxlbmd0aCBpcyAxJyk7CisgIGFzc2Vy
dC5zYW1lVmFsdWUocmVzb2x2ZS5uYW1lLCAnJywgJ1RoZSB2YWx1ZSBvZiByZXNvbHZlLm5hbWUg
aXMgIiInKTsKIAogICByZXR1cm4gdGhlbi5jYWxsKHRoaXMsIHJlc29sdmUsIHJlamVjdCk7CiB9
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvZXhl
Y3V0b3ItZnVuY3Rpb24tbm9uY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUHJvbWlzZS9leGVjdXRvci1mdW5jdGlvbi1ub25jb25zdHJ1Y3Rvci5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmJmNjJkZTYyZTMxMzI0ZWIzMDUxYzg3ZGJkMGRk
NTM1YTMxNWE2OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9leGVjdXRvci1mdW5jdGlv
bi1ub25jb25zdHJ1Y3Rvci5qcworKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLS8vIENv
cHlyaWdodCAoQykgMjAxNSBBbmRyw6kgQmFyZ3VsbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KLQotLyotLS0KLWVzaWQ6IHNlYy1nZXRjYXBhYmlsaXRpZXNleGVjdXRvci1m
dW5jdGlvbnMKLWRlc2NyaXB0aW9uOiBHZXRDYXBhYmlsaXRpZXNFeGVjdXRvciBmdW5jdGlvbiBp
cyBub3QgY29uc3RydWN0b3IKLWluZm86IHwKLSAgMTcgRUNNQVNjcmlwdCBTdGFuZGFyZCBCdWls
dC1pbiBPYmplY3RzOgotICAgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90
IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAotICAgIGltcGxlbWVudCB0aGUgW1tD
b25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQKLSAg
ICBpbiB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgotaW5jbHVkZXM6
IFtpc0NvbnN0cnVjdG9yLmpzXQotZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdF0KLS0tLSov
Ci0KLXZhciBleGVjdXRvckZ1bmN0aW9uOwotCi1mdW5jdGlvbiBOb3RQcm9taXNlKGV4ZWN1dG9y
KSB7Ci0gIGV4ZWN1dG9yRnVuY3Rpb24gPSBleGVjdXRvcjsKLSAgZXhlY3V0b3IoZnVuY3Rpb24o
KSB7fSwgZnVuY3Rpb24oKSB7fSk7Ci19Ci1Qcm9taXNlLnJlc29sdmUuY2FsbChOb3RQcm9taXNl
KTsKLQotYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNh
bGwoZXhlY3V0b3JGdW5jdGlvbiwgInByb3RvdHlwZSIpLCBmYWxzZSk7Ci1hc3NlcnQuc2FtZVZh
bHVlKGlzQ29uc3RydWN0b3IoZXhlY3V0b3JGdW5jdGlvbiksIGZhbHNlKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2V4ZWN1dG9yLWZ1bmN0aW9u
LW5vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1By
b21pc2UvZXhlY3V0b3ItZnVuY3Rpb24tbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MmRiNWZmMmE5N2EzNWEyZjRhNDZlZDE3MTM5ODg3ZTQ2MTQyNDQ3MAotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2V4ZWN1dG9yLWZ1bmN0
aW9uLW5vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzQgQEAKKy8vIENvcHlyaWdodCAo
QykgMjAxNSBBbmRyw6kgQmFyZ3VsbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KKworLyotLS0KK2VzaWQ6IHNlYy1nZXRjYXBhYmlsaXRpZXNleGVjdXRvci1mdW5jdGlvbnMK
K2Rlc2NyaXB0aW9uOiBHZXRDYXBhYmlsaXRpZXNFeGVjdXRvciBmdW5jdGlvbiBpcyBub3QgY29u
c3RydWN0b3IKK2luZm86IHwKKyAgMTcgRUNNQVNjcmlwdCBTdGFuZGFyZCBCdWlsdC1pbiBPYmpl
Y3RzOgorICAgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZp
ZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICAgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3Rd
XSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQKKyAgICBpbiB0aGUg
ZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgoraW5jbHVkZXM6IFtpc0NvbnN0
cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25d
CistLS0qLworCit2YXIgZXhlY3V0b3JGdW5jdGlvbjsKKworZnVuY3Rpb24gTm90UHJvbWlzZShl
eGVjdXRvcikgeworICBleGVjdXRvckZ1bmN0aW9uID0gZXhlY3V0b3I7CisgIGV4ZWN1dG9yKGZ1
bmN0aW9uKCkge30sIGZ1bmN0aW9uKCkge30pOworfQorUHJvbWlzZS5yZXNvbHZlLmNhbGwoTm90
UHJvbWlzZSk7CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUuaGFzT3du
UHJvcGVydHkuY2FsbChleGVjdXRvckZ1bmN0aW9uLCAicHJvdG90eXBlIiksCisgIGZhbHNlLAor
ICAnT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGV4ZWN1dG9yRnVuY3Rpb24s
ICJwcm90b3R5cGUiKSBtdXN0IHJldHVybiBmYWxzZScKKyk7Cithc3NlcnQuc2FtZVZhbHVlKGlz
Q29uc3RydWN0b3IoZXhlY3V0b3JGdW5jdGlvbiksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihleGVj
dXRvckZ1bmN0aW9uKSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgKCkgPT4geworICBuZXcgZXhlY3V0b3JGdW5jdGlvbigpOworfSwgJ2BuZXcgZXhlY3V0
b3JGdW5jdGlvbigpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL2lzLWEtY29uc3RydWN0b3IuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9pcy1hLWNvbnN0cnVjdG9yLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmJiYTkxNGU1Y2ViYTUzODQ0YmE2ZTY1ZDcyYjEwNzk3YWIzZDgxZWYKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9pcy1h
LWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBS
aWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0t
Citlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlw
dGlvbjogPgorICBUaGUgUHJvbWlzZSBjb25zdHJ1Y3RvciBpbXBsZW1lbnRzIFtbQ29uc3RydWN0
XV0KK2luZm86IHwKKyAgSXNDb25zdHJ1Y3RvciAoIGFyZ3VtZW50ICkKKworICBUaGUgYWJzdHJh
Y3Qgb3BlcmF0aW9uIElzQ29uc3RydWN0b3IgdGFrZXMgYXJndW1lbnQgYXJndW1lbnQgKGFuIEVD
TUFTY3JpcHQgbGFuZ3VhZ2UgdmFsdWUpLgorICBJdCBkZXRlcm1pbmVzIGlmIGFyZ3VtZW50IGlz
IGEgZnVuY3Rpb24gb2JqZWN0IHdpdGggYSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZC4K
KyAgSXQgcGVyZm9ybXMgdGhlIGZvbGxvd2luZyBzdGVwcyB3aGVuIGNhbGxlZDoKKworICBJZiBU
eXBlKGFyZ3VtZW50KSBpcyBub3QgT2JqZWN0LCByZXR1cm4gZmFsc2UuCisgIElmIGFyZ3VtZW50
IGhhcyBhIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLCByZXR1cm4gdHJ1ZS4KKyAgUmV0
dXJuIGZhbHNlLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZs
ZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVl
KGlzQ29uc3RydWN0b3IoUHJvbWlzZSksIHRydWUsICdpc0NvbnN0cnVjdG9yKFByb21pc2UpIG11
c3QgcmV0dXJuIHRydWUnKTsKK25ldyBQcm9taXNlKCgpID0+IHt9KTsKKyAgCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5cGUvY2F0Y2gv
bm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJv
bWlzZS9wcm90b3R5cGUvY2F0Y2gvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmU1
NmMzNGJhNTUzYmNjNmJiMjMxZGJhODUzZjUyZTA1MzkzNzgyNgotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9taXNlL3Byb3RvdHlwZS9jYXRjaC9u
b3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisv
Ki0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVz
Y3JpcHRpb246ID4KKyAgUHJvbWlzZS5wcm90b3R5cGUuY2F0Y2ggZG9lcyBub3QgaW1wbGVtZW50
IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1
bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5v
dCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0Nv
bnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgor
ICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFs
dWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBm
YWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXND
b25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0
aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihQcm9taXNl
LnByb3RvdHlwZS5jYXRjaCksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihQcm9taXNlLnBy
b3RvdHlwZS5jYXRjaCkgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5
cGVFcnJvciwgKCkgPT4geworICBsZXQgcCA9IG5ldyBQcm9taXNlKCgpID0+IHt9KTsgbmV3IHAu
Y2F0Y2goKTsKK30sICdgbGV0IHAgPSBuZXcgUHJvbWlzZSgoKSA9PiB7fSk7IG5ldyBwLmNhdGNo
KClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL2ZpbmFsbHkvaW52b2tlcy10aGVuLXdpdGgt
ZnVuY3Rpb24uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90
b3R5cGUvZmluYWxseS9pbnZva2VzLXRoZW4td2l0aC1mdW5jdGlvbi5qcwppbmRleCAzOTk1Y2I1
ZTVmOGE2Y2E1N2RlZDc3OTdlNjlhOGQ4OTAxMjUwMjllLi4xMWZjM2ZmMGJhYjdlY2VmZjQ3ZWI2
Njc4YTBjYTZjYWJiMDQ4OTY0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUHJvbWlzZS9wcm90b3R5cGUvZmluYWxseS9pbnZva2VzLXRoZW4td2l0aC1mdW5jdGlv
bi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5
cGUvZmluYWxseS9pbnZva2VzLXRoZW4td2l0aC1mdW5jdGlvbi5qcwpAQCAtNCw3ICs0LDcgQEAK
IGF1dGhvcjogSm9yZGFuIEhhcmJhbmQKIGRlc2NyaXB0aW9uOiBQcm9taXNlLnByb3RvdHlwZS5m
aW5hbGx5IGludm9rZXMgYHRoZW5gIG1ldGhvZAogZXNpZDogc2VjLXByb21pc2UucHJvdG90eXBl
LmZpbmFsbHkKLWZlYXR1cmVzOiBbUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseSwgUmVmbGVjdC5j
b25zdHJ1Y3RdCitmZWF0dXJlczogW1Byb21pc2UucHJvdG90eXBlLmZpbmFsbHksIFJlZmxlY3Qu
Y29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KIGluY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10K
IC0tLSovCiAKQEAgLTEzLDE2ICsxMywxNiBAQCB2YXIgcmV0dXJuVmFsdWUgPSB7fTsKIHZhciBj
YWxsQ291bnQgPSAwOwogdmFyIHRoaXNWYWx1ZSA9IG51bGw7CiB2YXIgYXJnQ291bnQgPSBudWxs
OwotdmFyIGZpcnN0QXJnID0gbnVsbDsKLXZhciBzZWNvbmRBcmcgPSBudWxsOwordmFyIHJlc29s
dmUgPSBudWxsOwordmFyIHJlamVjdCA9IG51bGw7CiAKIHRhcmdldC50aGVuID0gZnVuY3Rpb24o
YSwgYikgewogICBjYWxsQ291bnQgKz0gMTsKIAogICB0aGlzVmFsdWUgPSB0aGlzOwogICBhcmdD
b3VudCA9IGFyZ3VtZW50cy5sZW5ndGg7Ci0gIGZpcnN0QXJnID0gYTsKLSAgc2Vjb25kQXJnID0g
YjsKKyAgcmVzb2x2ZSA9IGE7CisgIHJlamVjdCA9IGI7CiAKICAgcmV0dXJuIHJldHVyblZhbHVl
OwogfTsKQEAgLTMwLDMxICszMCwzOCBAQCB0YXJnZXQudGhlbiA9IGZ1bmN0aW9uKGEsIGIpIHsK
IHZhciBvcmlnaW5hbEZpbmFsbHlIYW5kbGVyID0gZnVuY3Rpb24oKSB7fTsKIHZhciByZXN1bHQg
PSBQcm9taXNlLnByb3RvdHlwZS5maW5hbGx5LmNhbGwodGFyZ2V0LCBvcmlnaW5hbEZpbmFsbHlI
YW5kbGVyLCAyLCAzKTsKIAotYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdJbnZva2Vz
IGB0aGVuYCBtZXRob2QgZXhhY3RseSBvbmNlJyk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3Vu
dCwgMSwgJ1RoZSB2YWx1ZSBvZiBgY2FsbENvdW50YCBpcyAxJyk7CiBhc3NlcnQuc2FtZVZhbHVl
KAogICB0aGlzVmFsdWUsCiAgIHRhcmdldCwKLSAgJ0ludm9rZXMgYHRoZW5gIG1ldGhvZCB3aXRo
IHRoZSBpbnN0YW5jZSBhcyB0aGUgYHRoaXNgIHZhbHVlJworICAnVGhlIHZhbHVlIG9mIGB0aGlz
VmFsdWVgIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiB0YXJnZXQnCiApOwotYXNz
ZXJ0LnNhbWVWYWx1ZShhcmdDb3VudCwgMiwgJ0ludm9rZXMgYHRoZW5gIG1ldGhvZCB3aXRoIGV4
YWN0bHkgdHdvIHNpbmdsZSBhcmd1bWVudHMnKTsKK2Fzc2VydC5zYW1lVmFsdWUoYXJnQ291bnQs
IDIsICdUaGUgdmFsdWUgb2YgYGFyZ0NvdW50YCBpcyAyJyk7CiBhc3NlcnQuc2FtZVZhbHVlKAot
ICB0eXBlb2YgZmlyc3RBcmcsCisgIHR5cGVvZiByZXNvbHZlLAogICAnZnVuY3Rpb24nLAotICAn
SW52b2tlcyBgdGhlbmAgbWV0aG9kIHdpdGggYSBmdW5jdGlvbiBhcyB0aGUgZmlyc3QgYXJndW1l
bnQnCisgICdUaGUgdmFsdWUgb2YgYHR5cGVvZiByZXNvbHZlYCBpcyAiZnVuY3Rpb24iJwogKTsK
LWFzc2VydC5ub3RTYW1lVmFsdWUoZmlyc3RBcmcsIG9yaWdpbmFsRmluYWxseUhhbmRsZXIsICdJ
bnZva2VzIGB0aGVuYCBtZXRob2Qgd2l0aCBhIGRpZmZlcmVudCBmdWxmaWxsbWVudCBoYW5kbGVy
Jyk7Ci1hc3NlcnQuc2FtZVZhbHVlKGZpcnN0QXJnLmxlbmd0aCwgMSwgJ2Z1bGZpbGxtZW50IGhh
bmRsZXIgaGFzIGEgbGVuZ3RoIG9mIDEnKTsKLWFzc2VydC5zYW1lVmFsdWUoZmlyc3RBcmcubmFt
ZSwgJycsICdmdWxmaWxsbWVudCBoYW5kbGVyIGlzIGFub255bW91cycpOwotYXNzZXJ0KCFpc0Nv
bnN0cnVjdG9yKGZpcnN0QXJnKSwgJ2Z1bGZpbGxtZW50IGhhbmRsZXIgaXMgbm90IGNvbnN0cnVj
dG9yJyk7Cithc3NlcnQubm90U2FtZVZhbHVlKHJlc29sdmUsIG9yaWdpbmFsRmluYWxseUhhbmRs
ZXIsICdUaGUgdmFsdWUgb2YgYHJlc29sdmVgIGlzIGV4cGVjdGVkIHRvIG5vdCBlcXVhbCB0aGUg
dmFsdWUgb2YgYG9yaWdpbmFsRmluYWxseUhhbmRsZXJgJyk7Cithc3NlcnQuc2FtZVZhbHVlKHJl
c29sdmUubGVuZ3RoLCAxLCAnVGhlIHZhbHVlIG9mIHJlc29sdmUubGVuZ3RoIGlzIDEnKTsKK2Fz
c2VydC5zYW1lVmFsdWUocmVzb2x2ZS5uYW1lLCAnJywgJ1RoZSB2YWx1ZSBvZiByZXNvbHZlLm5h
bWUgaXMgIiInKTsKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihyZXNvbHZlKSwgZmFs
c2UsICdpc0NvbnN0cnVjdG9yKHJlc29sdmUpIG11c3QgcmV0dXJuIGZhbHNlJyk7Cithc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgcmVzb2x2ZSgpOworfSwgJ2BuZXcgcmVz
b2x2ZSgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKIAogYXNzZXJ0LnNhbWVWYWx1ZSgKLSAgdHlw
ZW9mIHNlY29uZEFyZywKKyAgdHlwZW9mIHJlamVjdCwKICAgJ2Z1bmN0aW9uJywKLSAgJ0ludm9r
ZXMgYHRoZW5gIG1ldGhvZCB3aXRoIGEgZnVuY3Rpb24gYXMgdGhlIHNlY29uZCBhcmd1bWVudCcK
KyAgJ1RoZSB2YWx1ZSBvZiBgdHlwZW9mIHJlamVjdGAgaXMgImZ1bmN0aW9uIicKICk7Ci1hc3Nl
cnQubm90U2FtZVZhbHVlKHNlY29uZEFyZywgb3JpZ2luYWxGaW5hbGx5SGFuZGxlciwgJ0ludm9r
ZXMgYHRoZW5gIG1ldGhvZCB3aXRoIGEgZGlmZmVyZW50IHJlamVjdGlvbiBoYW5kbGVyJyk7Ci1h
c3NlcnQuc2FtZVZhbHVlKHNlY29uZEFyZy5sZW5ndGgsIDEsICdyZWplY3Rpb24gaGFuZGxlciBo
YXMgYSBsZW5ndGggb2YgMScpOwotYXNzZXJ0LnNhbWVWYWx1ZShzZWNvbmRBcmcubmFtZSwgJycs
ICdyZWplY3Rpb24gaGFuZGxlciBpcyBhbm9ueW1vdXMnKTsKLWFzc2VydCghaXNDb25zdHJ1Y3Rv
cihzZWNvbmRBcmcpLCAncmVqZWN0aW9uIGhhbmRsZXIgaXMgbm90IGNvbnN0cnVjdG9yJyk7Cith
c3NlcnQubm90U2FtZVZhbHVlKHJlamVjdCwgb3JpZ2luYWxGaW5hbGx5SGFuZGxlciwgJ1RoZSB2
YWx1ZSBvZiBgcmVqZWN0YCBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgdGhlIHZhbHVlIG9mIGBv
cmlnaW5hbEZpbmFsbHlIYW5kbGVyYCcpOworYXNzZXJ0LnNhbWVWYWx1ZShyZWplY3QubGVuZ3Ro
LCAxLCAnVGhlIHZhbHVlIG9mIHJlamVjdC5sZW5ndGggaXMgMScpOworYXNzZXJ0LnNhbWVWYWx1
ZShyZWplY3QubmFtZSwgJycsICdUaGUgdmFsdWUgb2YgcmVqZWN0Lm5hbWUgaXMgIiInKTsKK2Fz
c2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihyZWplY3QpLCBmYWxzZSwgJ2lzQ29uc3RydWN0
b3IocmVqZWN0KSBtdXN0IHJldHVybiBmYWxzZScpOworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3Is
ICgpID0+IHsKKyAgbmV3IHJlamVjdCgpOworfSwgJ2BuZXcgcmVqZWN0KClgIHRocm93cyBUeXBl
RXJyb3InKTsKIAotYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIHJldHVyblZhbHVlLCAnUmV0dXJu
cyB0aGUgcmVzdWx0IG9mIHRoZSBpbnZvY2F0aW9uIG9mIGB0aGVuYCcpOworYXNzZXJ0LnNhbWVW
YWx1ZShyZXN1bHQsIHJldHVyblZhbHVlLCAnVGhlIHZhbHVlIG9mIGByZXN1bHRgIGlzIGV4cGVj
dGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiByZXR1cm5WYWx1ZScpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL2ZpbmFsbHkvbm90
LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlz
ZS9wcm90b3R5cGUvZmluYWxseS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZGIz
Zjk4ODE4NDM1MmE2YzYzZjkxMjAwNDQ4OTBkYTg5MjhlMjI5Ci0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL2ZpbmFsbHkv
bm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAy
MDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKwor
LyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rl
c2NyaXB0aW9uOiA+CisgIFByb21pc2UucHJvdG90eXBlLmZpbmFsbHkgZG9lcyBub3QgaW1wbGVt
ZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0
IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJl
IG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBb
W0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBp
bgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1l
dmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBp
cyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBb
aXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIFByb21pc2Uu
cHJvdG90eXBlLmZpbmFsbHksIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihQcm9taXNlLnByb3RvdHlwZS5maW5hbGx5KSwKKyAgZmFs
c2UsCisgICdpc0NvbnN0cnVjdG9yKFByb21pc2UucHJvdG90eXBlLmZpbmFsbHkpIG11c3QgcmV0
dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0
IHAgPSBuZXcgUHJvbWlzZSgoKSA9PiB7fSk7IG5ldyBwLmZpbmFsbHkoKTsKK30sICdgbGV0IHAg
PSBuZXcgUHJvbWlzZSgoKSA9PiB7fSk7IG5ldyBwLmZpbmFsbHkoKWAgdGhyb3dzIFR5cGVFcnJv
cicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlz
ZS9wcm90b3R5cGUvZmluYWxseS9yZWplY3RlZC1vYnNlcnZhYmxlLXRoZW4tY2FsbHMtYXJndW1l
bnQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5cGUv
ZmluYWxseS9yZWplY3RlZC1vYnNlcnZhYmxlLXRoZW4tY2FsbHMtYXJndW1lbnQuanMKaW5kZXgg
MGI4M2JmNTUxNmYzYmI2Y2VjZGZlYzVlZGJhYWJkMmFmYzcxZWE5ZC4uNDMzMDZlOGFjYWYyNmI5
NjNlYWNhYWExNGJmM2E4N2Q3ODc4ZmRmOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL2ZpbmFsbHkvcmVqZWN0ZWQtb2JzZXJ2YWJs
ZS10aGVuLWNhbGxzLWFyZ3VtZW50LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9Qcm9taXNlL3Byb3RvdHlwZS9maW5hbGx5L3JlamVjdGVkLW9ic2VydmFibGUtdGhlbi1j
YWxscy1hcmd1bWVudC5qcwpAQCAtMTIsNyArMTIsNyBAQCBpbmZvOiB8CiAgIDkuIFJldHVybiA/
IEludm9rZShwcm9taXNlLCAidGhlbiIsIMKrIHRocm93ZXIgwrspLgogCiAgIFRoZSAibGVuZ3Ro
IiBwcm9wZXJ0eSBvZiBhIENhdGNoIEZpbmFsbHkgZnVuY3Rpb24gaXMgMS4KLWZlYXR1cmVzOiBb
UHJvbWlzZS5wcm90b3R5cGUuZmluYWxseSwgUmVmbGVjdC5jb25zdHJ1Y3RdCitmZWF0dXJlczog
W1Byb21pc2UucHJvdG90eXBlLmZpbmFsbHksIFJlZmxlY3QuY29uc3RydWN0LCBjbGFzcywgYXJy
b3ctZnVuY3Rpb25dCiBpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCiBmbGFnczogW2FzeW5j
XQogLS0tKi8KQEAgLTQwLDExICs0MCwyMyBAQCB2YXIgZXhwZWN0ZWQgPSBbCiAKIHZhciB0aGVu
ID0gUHJvbWlzZS5wcm90b3R5cGUudGhlbjsKIFByb21pc2UucHJvdG90eXBlLnRoZW4gPSBmdW5j
dGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgYXNzZXJ0KCFpc0NvbnN0cnVjdG9yKHJlc29sdmUp
KTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShyZXNvbHZlLmxlbmd0aCwgZXhwZWN0ZWRbY2FsbHNdLmxl
bmd0aCk7Ci0gIGFzc2VydC5zYW1lVmFsdWUocmVzb2x2ZS5uYW1lLCBleHBlY3RlZFtjYWxsc10u
bmFtZSk7CisgIGFzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihyZWplY3QpLCBmYWxzZSwg
J2lzQ29uc3RydWN0b3IocmVqZWN0KSBtdXN0IHJldHVybiBmYWxzZScpOworICBhc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgKCkgPT4geworICAgIG5ldyByZWplY3QoKTsKKyAgfSwgJ2BuZXcgcmVq
ZWN0KClgIHRocm93cyBUeXBlRXJyb3InKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIHJl
c29sdmUubGVuZ3RoLAorICAgIGV4cGVjdGVkW2NhbGxzXS5sZW5ndGgsCisgICAgJ1RoZSB2YWx1
ZSBvZiByZXNvbHZlLmxlbmd0aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgZXhw
ZWN0ZWRbY2FsbHNdLmxlbmd0aCcKKyAgKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICByZXNv
bHZlLm5hbWUsCisgICAgZXhwZWN0ZWRbY2FsbHNdLm5hbWUsCisgICAgJ1RoZSB2YWx1ZSBvZiBy
ZXNvbHZlLm5hbWUgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIGV4cGVjdGVkW2Nh
bGxzXS5uYW1lJworICApOwogICBpZiAoY2FsbHMgPT09IDApIHsKLSAgICBhc3NlcnQudGhyb3dz
KE15RXJyb3IsIHJlc29sdmUpOworICAgIGFzc2VydC50aHJvd3MoTXlFcnJvciwgcmVzb2x2ZSwg
J2ByZXNvbHZlKClgIHRocm93cyBgTXlFcnJvcmAnKTsKICAgfQogCiAgIGNhbGxzICs9IDE7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5
cGUvZmluYWxseS9yZXNvbHZlZC1vYnNlcnZhYmxlLXRoZW4tY2FsbHMtYXJndW1lbnQuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5cGUvZmluYWxseS9y
ZXNvbHZlZC1vYnNlcnZhYmxlLXRoZW4tY2FsbHMtYXJndW1lbnQuanMKaW5kZXggMGY5MTViNmIz
NzYyOTg4ZjZhYjA4ODBkZTkyZDIyZTc1YjMxMDgyOS4uMzc0OWVlYWMxMjU5OGYxZGRhZDJjODY2
ODk0YmZjZWE1NTVmYzFjZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1Byb21pc2UvcHJvdG90eXBlL2ZpbmFsbHkvcmVzb2x2ZWQtb2JzZXJ2YWJsZS10aGVuLWNh
bGxzLWFyZ3VtZW50LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9t
aXNlL3Byb3RvdHlwZS9maW5hbGx5L3Jlc29sdmVkLW9ic2VydmFibGUtdGhlbi1jYWxscy1hcmd1
bWVudC5qcwpAQCAtMTIsNyArMTIsNyBAQCBpbmZvOiB8CiAgIDkuIFJldHVybiA/IEludm9rZShw
cm9taXNlLCAidGhlbiIsIMKrIHZhbHVlVGh1bmsgwrspLgogCiAgIFRoZSAibGVuZ3RoIiBwcm9w
ZXJ0eSBvZiBhIFRoZW4gRmluYWxseSBmdW5jdGlvbiBpcyAxLgotZmVhdHVyZXM6IFtQcm9taXNl
LnByb3RvdHlwZS5maW5hbGx5LCBSZWZsZWN0LmNvbnN0cnVjdF0KK2ZlYXR1cmVzOiBbUHJvbWlz
ZS5wcm90b3R5cGUuZmluYWxseSwgUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQog
aW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQogZmxhZ3M6IFthc3luY10KIC0tLSovCkBAIC0z
MSwxMSArMzEsMjMgQEAgdmFyIGV4cGVjdGVkID0gWwogCiB2YXIgdGhlbiA9IFByb21pc2UucHJv
dG90eXBlLnRoZW47CiBQcm9taXNlLnByb3RvdHlwZS50aGVuID0gZnVuY3Rpb24ocmVzb2x2ZSkg
ewotICBhc3NlcnQoIWlzQ29uc3RydWN0b3IocmVzb2x2ZSkpOwotICBhc3NlcnQuc2FtZVZhbHVl
KHJlc29sdmUubGVuZ3RoLCBleHBlY3RlZFtjYWxsc10ubGVuZ3RoKTsKLSAgYXNzZXJ0LnNhbWVW
YWx1ZShyZXNvbHZlLm5hbWUsIGV4cGVjdGVkW2NhbGxzXS5uYW1lKTsKKyAgYXNzZXJ0LnNhbWVW
YWx1ZShpc0NvbnN0cnVjdG9yKHJlc29sdmUpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IocmVzb2x2
ZSkgbXVzdCByZXR1cm4gZmFsc2UnKTsKKyAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+
IHsKKyAgICBuZXcgcmVzb2x2ZSgpOworICB9LCAnYG5ldyByZXNvbHZlKClgIHRocm93cyBUeXBl
RXJyb3InKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIHJlc29sdmUubGVuZ3RoLAorICAg
IGV4cGVjdGVkW2NhbGxzXS5sZW5ndGgsCisgICAgJ1RoZSB2YWx1ZSBvZiByZXNvbHZlLmxlbmd0
aCBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgZXhwZWN0ZWRbY2FsbHNdLmxlbmd0
aCcKKyAgKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICByZXNvbHZlLm5hbWUsCisgICAgZXhw
ZWN0ZWRbY2FsbHNdLm5hbWUsCisgICAgJ1RoZSB2YWx1ZSBvZiByZXNvbHZlLm5hbWUgaXMgZXhw
ZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIGV4cGVjdGVkW2NhbGxzXS5uYW1lJworICApOwog
ICBpZiAoY2FsbHMgPT09IDApIHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc29sdmUoKSwgdmFs
dWUpOworICAgIGFzc2VydC5zYW1lVmFsdWUocmVzb2x2ZSgpLCB2YWx1ZSwgJ3Jlc29sdmUoKSBt
dXN0IHJldHVybiB0aGUgdmFsdWUgb2YgdmFsdWUnKTsKICAgfQogICBjYWxscyArPSAxOwogICBy
ZXR1cm4gdGhlbi5jYWxsKHRoaXMsIHJlc29sdmUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL3RoZW4vbm90LWEtY29uc3RydWN0
b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9wcm90b3R5cGUv
dGhlbi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOTYxYTY1MTNiNDZkYmQ4N2Q1
NzQzOTVhNjIwODIwMDBkYmM5N2I4Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcHJvdG90eXBlL3RoZW4vbm90LWEtY29uc3RydWN0b3Iu
anMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1l
Y21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFBy
b21pc2UucHJvdG90eXBlLnRoZW4gZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlz
IG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKwor
ICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNv
bnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFs
IG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24g
b2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgor
ICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBl
RXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2Zl
YXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihQcm9taXNlLnByb3RvdHlwZS50aGVuKSwK
KyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKFByb21pc2UucHJvdG90eXBlLnRoZW4pIG11c3Qg
cmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAg
bGV0IHAgPSBuZXcgUHJvbWlzZSgoKSA9PiB7fSk7IG5ldyBwLnRoZW4oKTsKK30sICdgbGV0IHAg
PSBuZXcgUHJvbWlzZSgoKSA9PiB7fSk7IG5ldyBwLnRoZW4oKWAgdGhyb3dzIFR5cGVFcnJvcicp
OworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9y
YWNlL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1Byb21pc2UvcmFjZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZTFlZTY1ZTc4
ZWExYWI3YTM3MjVjYmFiNmM5OGIyMDRjZDE2ZTU3Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcmFjZS9ub3QtYS1jb25zdHJ1Y3Rvci5q
cwpAQCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVj
bWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgUHJv
bWlzZS5yYWNlIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFi
bGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4g
ZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMg
ZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5s
ZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGlj
dWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXND
b25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2Vw
dGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1Jl
ZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFs
dWUoaXNDb25zdHJ1Y3RvcihQcm9taXNlLnJhY2UpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoUHJv
bWlzZS5yYWNlKSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgKCkgPT4geworICBuZXcgUHJvbWlzZS5yYWNlKFtdKTsKK30sICdgbmV3IFByb21pc2UucmFj
ZShbXSlgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcmVqZWN0L25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb21pc2UvcmVqZWN0L25vdC1hLWNvbnN0cnVj
dG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjJiMzk0ZGMxZTM5ODM1NjgwZjc3YTNlMjMyMGRjOWZhM2VkYmNh
NTMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJv
bWlzZS9yZWplY3Qvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWlu
LW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFByb21pc2UucmVqZWN0IGRvZXMgbm90IGltcGxl
bWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlw
dCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFy
ZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUg
W1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQg
aW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMt
ZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3Rvcikg
aXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczog
W2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1m
dW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihQcm9taXNl
LnJlamVjdCksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihQcm9taXNlLnJlamVjdCkgbXVzdCByZXR1
cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IFBy
b21pc2UucmVqZWN0KCk7Cit9LCAnYG5ldyBQcm9taXNlLnJlamVjdCgpYCB0aHJvd3MgVHlwZUVy
cm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm9t
aXNlL3Jlc29sdmUvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUHJvbWlzZS9yZXNvbHZlL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmE3NWNjZDZhZDJiY2IyOTc2M2U5NWJhYmZiZjBkODZmYjJiNTkyZGQKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJvbWlzZS9yZXNvbHZlL25vdC1h
LWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBS
aWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0t
Citlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlw
dGlvbjogPgorICBQcm9taXNlLnJlc29sdmUgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0
XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVj
dHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVk
IGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGlu
dGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3Jp
cHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisg
IC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cg
YSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5q
c10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8K
KworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKFByb21pc2UucmVzb2x2ZSksIGZhbHNl
LCAnaXNDb25zdHJ1Y3RvcihQcm9taXNlLnJlc29sdmUpIG11c3QgcmV0dXJuIGZhbHNlJyk7CisK
K2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBQcm9taXNlLnJlc29sdmUo
KTsKK30sICdgbmV3IFByb21pc2UucmVzb2x2ZSgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm94eS9jcmVhdGUtdGFy
Z2V0LWlzLW5vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1Byb3h5L2NyZWF0ZS10YXJnZXQtaXMtbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTA3ZmFkNzQzZjdkMjdlODMyZDA1ODVlNDZkMmM2NWY3NjhjMTBjMQotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm94eS9jcmVhdGUtdGFyZ2V0
LWlzLW5vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzEgQEAKKy8vIENvcHlyaWdodCAo
QykgMjAxNSB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1wcm94eWNyZWF0ZQorZGVzY3JpcHRpb246ID4K
KyAgICBBIFByb3h5IGV4b3RpYyBvYmplY3Qgb25seSBhY2NlcHRzIGEgY29uc3RydWN0b3IgY2Fs
bCBpZiB0YXJnZXQgaXMKKyAgICBjb25zdHJ1Y3Rvci4KK2luZm86IHwKKyAgICBQcm94eUNyZWF0
ZSAoIHRhcmdldCwgaGFuZGxlciApCisKKyAgICBJZiBJc0NhbGxhYmxlKHRhcmdldCkgaXMgdHJ1
ZSwgdGhlbgorICAgICAgICBTZXQgUC5bW0NhbGxdXSBhcyBzcGVjaWZpZWQgaW4gOS41LjEyLgor
ICAgICAgICBJZiBJc0NvbnN0cnVjdG9yKHRhcmdldCkgaXMgdHJ1ZSwgdGhlbgorICAgICAgICAg
ICAgU2V0IFAuW1tDb25zdHJ1Y3RdXSBhcyBzcGVjaWZpZWQgaW4gOS41LjEzLgorICAgIC4uLgor
CisgICAgUnVudGltZSBTZW1hbnRpY3M6IEV2YWx1YXRlTmV3KGNvbnN0cnVjdFByb2R1Y3Rpb24s
IGFyZ3VtZW50cykKKworICAgIDguIElmIElzQ29uc3RydWN0b3IgKGNvbnN0cnVjdG9yKSBpcyBm
YWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVj
dG9yLmpzXQorZmVhdHVyZXM6IFtQcm94eSwgUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0
aW9uXQorLS0tKi8KKwordmFyIHByb3h5ID0gbmV3IFByb3h5KGV2YWwsIHt9KTsKKworcHJveHko
KTsgLy8gdGhlIFByb3h5IG9iamVjdCBpcyBjYWxsYWJsZQorCithc3NlcnQuc2FtZVZhbHVlKGlz
Q29uc3RydWN0b3IocHJveHkpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IocHJveHkpIG11c3QgcmV0
dXJuIGZhbHNlJyk7Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgcHJv
eHkoKTsKK30sICdgbmV3IHByb3h5KClgIHRocm93cyBUeXBlRXJyb3InKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm94eS9jcmVhdGUtdGFyZ2V0LWlzLW5v
dC1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm94eS9j
cmVhdGUtdGFyZ2V0LWlzLW5vdC1jb25zdHJ1Y3Rvci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZGMxOGUyYTU3NGYwMjhhMTJhNDRmYThjYmExNjJkODhlMDc5MThjYS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvUHJveHkvY3JlYXRlLXRhcmdldC1pcy1ub3QtY29uc3RydWN0b3IuanMK
KysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTUgdGhl
IFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
LS8qLS0tCi1lczZpZDogOS41LjE1Ci1kZXNjcmlwdGlvbjogPgotICAgIEEgUHJveHkgZXhvdGlj
IG9iamVjdCBvbmx5IGFjY2VwdHMgYSBjb25zdHJ1Y3RvciBjYWxsIGlmIHRhcmdldCBpcwotICAg
IGNvbnN0cnVjdG9yLgotaW5mbzogfAotICAgIFByb3h5ICggdGFyZ2V0LCBoYW5kbGVyICkKLQot
ICAgIDcuIElmIElzQ2FsbGFibGUodGFyZ2V0KSBpcyB0cnVlLCB0aGVuCi0gICAgICAgIGIuIElm
IHRhcmdldCBoYXMgYSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCwgdGhlbgotICAgICAg
ICAgICAgaS4gU2V0IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCBvZiBQIGFzIHNw
ZWNpZmllZCBpbgotICAgICAgICAgICAgOS41LjE0LgotICAgIC4uLgotCi0gICAgMTIuMy4zLjEu
MSBSdW50aW1lIFNlbWFudGljczogRXZhbHVhdGVOZXcoY29uc3RydWN0UHJvZHVjdGlvbiwgYXJn
dW1lbnRzKQotCi0gICAgOC4gSWYgSXNDb25zdHJ1Y3RvciAoY29uc3RydWN0b3IpIGlzIGZhbHNl
LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCi1mZWF0dXJlczogW1Byb3h5XQotLS0tKi8K
LQotdmFyIHAgPSBuZXcgUHJveHkoZXZhbCwge30pOwotCi1wKCk7IC8vIHRoZSBQcm94eSBvYmpl
Y3QgaXMgY2FsbGFibGUKLQotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewot
ICBuZXcgcCgpOwotfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUHJveHkvcmV2b2NhYmxlL2J1aWx0aW4uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUHJveHkvcmV2b2NhYmxlL2J1aWx0aW4uanMKaW5kZXggNjkzY2ZjMzM5NTVjNDA1YzQ2
ODk1ZTAwZWFhYTk0NWUyNzllOTZjZi4uMzRjOTA2MmM0NzA5NDIyYTYyM2FkMDQ3MTlkYWUwMjc1
MDZlMjkwNyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb3h5
L3Jldm9jYWJsZS9idWlsdGluLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9Qcm94eS9yZXZvY2FibGUvYnVpbHRpbi5qcwpAQCAtNSwxNCArNSwyNCBAQCBlc2lkOiBzZWMt
cHJveHkucmV2b2NhYmxlCiBkZXNjcmlwdGlvbjogPgogICBSZXF1aXJlbWVudHMgZm9yIGJ1aWx0
LWluIGZ1bmN0aW9ucywgZGVmaW5lZCBpbiBpbnRyb2R1Y3Rpb24gb2YgY2hhcHRlciAxNywKICAg
YXJlIHNhdGlzZmllZC4KLWluY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KIGZlYXR1cmVzOiBb
UHJveHksIFJlZmxlY3QuY29uc3RydWN0XQogLS0tKi8KIAotYXNzZXJ0KE9iamVjdC5pc0V4dGVu
c2libGUoUHJveHkucmV2b2NhYmxlKSk7Ci1hc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBQcm94eS5y
ZXZvY2FibGUsICdmdW5jdGlvbicpOwotYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QucHJvdG90eXBl
LnRvU3RyaW5nLmNhbGwoUHJveHkucmV2b2NhYmxlKSwgJ1tvYmplY3QgRnVuY3Rpb25dJyk7Ci1h
c3NlcnQuc2FtZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5cGVPZihQcm94eS5yZXZvY2FibGUpLCBG
dW5jdGlvbi5wcm90b3R5cGUpOworYXNzZXJ0KE9iamVjdC5pc0V4dGVuc2libGUoUHJveHkucmV2
b2NhYmxlKSwgJ09iamVjdC5pc0V4dGVuc2libGUoUHJveHkucmV2b2NhYmxlKSBtdXN0IHJldHVy
biB0cnVlJyk7Cithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBQcm94eS5yZXZvY2FibGUsICdmdW5j
dGlvbicsICdUaGUgdmFsdWUgb2YgYHR5cGVvZiBQcm94eS5yZXZvY2FibGVgIGlzICJmdW5jdGlv
biInKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bChQcm94eS5yZXZvY2FibGUpLAorICAnW29iamVjdCBGdW5jdGlvbl0nLAorICAnT2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZy5jYWxsKFByb3h5LnJldm9jYWJsZSkgbXVzdCByZXR1cm4gIltvYmpl
Y3QgRnVuY3Rpb25dIicKKyk7Cithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QuZ2V0UHJvdG90
eXBlT2YoUHJveHkucmV2b2NhYmxlKSwKKyAgRnVuY3Rpb24ucHJvdG90eXBlLAorICAnT2JqZWN0
LmdldFByb3RvdHlwZU9mKFByb3h5LnJldm9jYWJsZSkgbXVzdCByZXR1cm4gdGhlIHZhbHVlIG9m
IEZ1bmN0aW9uLnByb3RvdHlwZScKKyk7CiAKLWFzc2VydC5zYW1lVmFsdWUoUHJveHkucmV2b2Nh
YmxlLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSwgZmFsc2UpOwotYXNzZXJ0LnNhbWVWYWx1
ZShpc0NvbnN0cnVjdG9yKFByb3h5LnJldm9jYWJsZSksIGZhbHNlKTsKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIFByb3h5LnJldm9jYWJsZS5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJyksCisgIGZh
bHNlLAorICAnUHJveHkucmV2b2NhYmxlLmhhc093blByb3BlcnR5KFwncHJvdG90eXBlXCcpIG11
c3QgcmV0dXJuIGZhbHNlJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9Qcm94eS9yZXZvY2FibGUvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUHJveHkvcmV2b2NhYmxlL25vdC1hLWNvbnN0cnVjdG9yLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIzOTkxN2Y1MWViNjA0YWRkMTJkNGMwZGViODg3YjhmZDIyYmM5ZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJveHkvcmV2
b2NhYmxlL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdo
dCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmpl
Y3RzCitkZXNjcmlwdGlvbjogPgorICBQcm94eS5yZXZvY2FibGUgZG9lcyBub3QgaW1wbGVtZW50
IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1
bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5v
dCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0Nv
bnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgor
ICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFs
dWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBm
YWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXND
b25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIFJlZmxlY3QsIGFy
cm93LWZ1bmN0aW9uLCBQcm94eV0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1
Y3RvcihQcm94eS5yZXZvY2FibGUpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoUHJveHkucmV2b2Nh
YmxlKSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkg
PT4geworICBuZXcgUHJveHkucmV2b2NhYmxlKHt9LCB7fSk7Cit9LCAnYG5ldyBQcm94eS5yZXZv
Y2FibGUoe30sIHt9KWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJveHkvcmV2b2NhYmxlL3Jldm9jYXRpb24tZnVuY3Rp
b24tbm9uY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJv
eHkvcmV2b2NhYmxlL3Jldm9jYXRpb24tZnVuY3Rpb24tbm9uY29uc3RydWN0b3IuanMKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU1NmEyMmY0NTg1MjdlYjRkMGNmN2U4YTI4OTA2ZDJi
MjdjZDYwOGEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb3h5L3Jldm9jYWJsZS9yZXZvY2F0aW9u
LWZ1bmN0aW9uLW5vbmNvbnN0cnVjdG9yLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBA
QAotLy8gQ29weXJpZ2h0IChDKSAyMDE1IEFuZHLDqSBCYXJndWxsLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgotCi0vKi0tLQotZXNpZDogc2VjLXByb3h5LnJldm9jYWJsZQot
ZGVzY3JpcHRpb246IFByb3h5IFJldm9jYXRpb24gZnVuY3Rpb25zIGFyZSBub3QgY29uc3RydWN0
b3JzCi1pbmZvOiB8Ci0gIDE3IEVDTUFTY3JpcHQgU3RhbmRhcmQgQnVpbHQtaW4gT2JqZWN0czoK
LSAgICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFz
IGNvbnN0cnVjdG9ycyBkbyBub3QKLSAgICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50
ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkCi0gICAgaW4gdGhlIGRlc2Ny
aXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KLWluY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rv
ci5qc10KLWZlYXR1cmVzOiBbUHJveHksIFJlZmxlY3QuY29uc3RydWN0XQotLS0tKi8KLQotdmFy
IHJldm9jYXRpb25GdW5jdGlvbiA9IFByb3h5LnJldm9jYWJsZSh7fSwge30pLnJldm9rZTsKLQot
YXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocmV2
b2NhdGlvbkZ1bmN0aW9uLCAicHJvdG90eXBlIiksIGZhbHNlKTsKLWFzc2VydC5zYW1lVmFsdWUo
aXNDb25zdHJ1Y3RvcihyZXZvY2F0aW9uRnVuY3Rpb24pLCBmYWxzZSk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUHJveHkvcmV2b2NhYmxlL3Jldm9jYXRpb24t
ZnVuY3Rpb24tbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUHJveHkvcmV2b2NhYmxlL3Jldm9jYXRpb24tZnVuY3Rpb24tbm90LWEtY29uc3RydWN0
b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDhjYmZjMzdhNjA5MWZkYjBkOGU5ZjU3YjRmNDU0YTAzOWQ1NzU3
ZAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm94
eS9yZXZvY2FibGUvcmV2b2NhdGlvbi1mdW5jdGlvbi1ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAt
MCwwICsxLDI4IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTUgQW5kcsOpIEJhcmd1bGwuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtcHJveHku
cmV2b2NhYmxlCitkZXNjcmlwdGlvbjogUHJveHkgUmV2b2NhdGlvbiBmdW5jdGlvbnMgYXJlIG5v
dCBjb25zdHJ1Y3RvcnMKK2luZm86IHwKKyAgMTcgRUNNQVNjcmlwdCBTdGFuZGFyZCBCdWlsdC1p
biBPYmplY3RzOgorICAgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlk
ZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICAgIGltcGxlbWVudCB0aGUgW1tDb25z
dHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQKKyAgICBp
biB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgoraW5jbHVkZXM6IFtp
c0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtQcm94eSwgUmVmbGVjdC5jb25zdHJ1Y3QsIGFy
cm93LWZ1bmN0aW9uXQorLS0tKi8KKwordmFyIHJldm9jYXRpb25GdW5jdGlvbiA9IFByb3h5LnJl
dm9jYWJsZSh7fSwge30pLnJldm9rZTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgT2JqZWN0LnBy
b3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHJldm9jYXRpb25GdW5jdGlvbiwgInByb3RvdHlw
ZSIpLAorICBmYWxzZSwKKyAgJ09iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChy
ZXZvY2F0aW9uRnVuY3Rpb24sICJwcm90b3R5cGUiKSBtdXN0IHJldHVybiBmYWxzZScKKyk7Cith
c3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IocmV2b2NhdGlvbkZ1bmN0aW9uKSwgZmFsc2Us
ICdpc0NvbnN0cnVjdG9yKHJldm9jYXRpb25GdW5jdGlvbikgbXVzdCByZXR1cm4gZmFsc2UnKTsK
K2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyByZXZvY2F0aW9uRnVuY3Rp
b24oKTsKK30sICdgbmV3IHJldm9jYXRpb25GdW5jdGlvbigpYCB0aHJvd3MgVHlwZUVycm9yJyk7
CisKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Byb3h5L3Nl
dC9jYWxsLXBhcmFtZXRlcnMtcHJvdG90eXBlLWR1bmRlci1wcm90by5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9Qcm94eS9zZXQvY2FsbC1wYXJhbWV0ZXJzLXByb3RvdHlwZS1k
dW5kZXItcHJvdG8uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTY3YzhiNTJiYmFlYTUwZWEwMmI5MTk3YjVmMWE5
MTAwZTgzNjQ1MgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9Qcm94eS9zZXQvY2FsbC1wYXJhbWV0ZXJzLXByb3RvdHlwZS1kdW5kZXItcHJvdG8uanMK
QEAgLTAsMCArMSw1NiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE5IEFsZXhleSBTaHZheWthLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1wcm94
eS1vYmplY3QtaW50ZXJuYWwtbWV0aG9kcy1hbmQtaW50ZXJuYWwtc2xvdHMtc2V0LXAtdi1yZWNl
aXZlcgorZGVzY3JpcHRpb246ID4KKyAgT3JkaW5hcnkgW1tTZXRdXSBmb3J3YXJkcyBjYWxsIHRv
IFByb3h5ICJzZXQiIHRyYXAgd2l0aCBjb3JyZWN0IGFyZ3VtZW50cy4KKyAgUHJvcGVydHkgbmFt
ZSBpcyAiX19wcm90b19fIi4KK2luZm86IHwKKyAgT3JkaW5hcnlTZXQgKCBPLCBQLCBWLCBSZWNl
aXZlciApCisKKyAgLi4uCisgIDMuIFJldHVybiBPcmRpbmFyeVNldFdpdGhPd25EZXNjcmlwdG9y
KE8sIFAsIFYsIFJlY2VpdmVyLCBvd25EZXNjKS4KKworICBPcmRpbmFyeVNldFdpdGhPd25EZXNj
cmlwdG9yICggTywgUCwgViwgUmVjZWl2ZXIsIG93bkRlc2MgKQorCisgIC4uLgorICAyLiBJZiBv
d25EZXNjIGlzIHVuZGVmaW5lZCwgdGhlbgorICAgIGEuIExldCBwYXJlbnQgYmUgPyBPLltbR2V0
UHJvdG90eXBlT2ZdXSgpLgorICAgIGIuIElmIHBhcmVudCBpcyBub3QgbnVsbCwgdGhlbgorICAg
ICAgaS4gUmV0dXJuID8gcGFyZW50LltbU2V0XV0oUCwgViwgUmVjZWl2ZXIpLgorCisgIFtbU2V0
XV0gKCBQLCBWLCBSZWNlaXZlciApCisKKyAgLi4uCisgIDguIExldCBib29sZWFuVHJhcFJlc3Vs
dCBiZSAhIFRvQm9vbGVhbig/IENhbGwodHJhcCwgaGFuZGxlciwgwqsgdGFyZ2V0LCBQLCBWLCBS
ZWNlaXZlciDCuykpLgorICAuLi4KKyAgMTIuIFJldHVybiB0cnVlLgoraW5jbHVkZXM6IFtwcm94
eVRyYXBzSGVscGVyLmpzXQorZmVhdHVyZXM6IFtQcm94eSwgX19wcm90b19fXQorLS0tKi8KKwor
dmFyIF9oYW5kbGVyLCBfdGFyZ2V0LCBfcHJvcCwgX3ZhbHVlLCBfcmVjZWl2ZXI7Cit2YXIgdGFy
Z2V0ID0ge307Cit2YXIgaGFuZGxlciA9IGFsbG93UHJveHlUcmFwcyh7CisgIHNldDogZnVuY3Rp
b24odGFyZ2V0LCBwcm9wLCB2YWx1ZSwgcmVjZWl2ZXIpIHsKKyAgICBfaGFuZGxlciA9IHRoaXM7
CisgICAgX3RhcmdldCA9IHRhcmdldDsKKyAgICBfcHJvcCA9IHByb3A7CisgICAgX3ZhbHVlID0g
dmFsdWU7CisgICAgX3JlY2VpdmVyID0gcmVjZWl2ZXI7CisgICAgcmV0dXJuIHRydWU7CisgIH0s
Cit9KTsKKwordmFyIHByb3h5ID0gbmV3IFByb3h5KHRhcmdldCwgaGFuZGxlcik7Cit2YXIgcmVj
ZWl2ZXIgPSBPYmplY3QuY3JlYXRlKHByb3h5KTsKK3ZhciBwcm9wID0gJ19fcHJvdG9fXyc7Cit2
YXIgdmFsdWUgPSB7fTsKKworcmVjZWl2ZXJbcHJvcF0gPSB2YWx1ZTsKKworYXNzZXJ0LnNhbWVW
YWx1ZShfaGFuZGxlciwgaGFuZGxlciwgJ2hhbmRsZXIgb2JqZWN0IGlzIHRoZSB0cmFwIGNvbnRl
eHQnKTsKK2Fzc2VydC5zYW1lVmFsdWUoX3RhcmdldCwgdGFyZ2V0LCAnZmlyc3QgYXJndW1lbnQg
aXMgdGhlIHRhcmdldCBvYmplY3QnKTsKK2Fzc2VydC5zYW1lVmFsdWUoX3Byb3AsIHByb3AsICdz
ZWNvbmQgYXJndW1lbnQgaXMgdGhlIHByb3BlcnR5IG5hbWUnKTsKK2Fzc2VydC5zYW1lVmFsdWUo
X3ZhbHVlLCB2YWx1ZSwgJ3RoaXJkIGFyZ3VtZW50IGlzIHRoZSBuZXcgdmFsdWUnKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoX3JlY2VpdmVyLCByZWNlaXZlciwgJ2ZvdXJ0aCBhcmd1bWVudCBpcyB0aGUg
cmVjZWl2ZXIgb2JqZWN0Jyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVmbGVjdC9hcHBseS9hcmd1bWVudHMtbGlzdC1pcy1ub3QtYXJyYXktbGlrZS1idXQt
c3RpbGwtdmFsaWQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVmbGVjdC9h
cHBseS9hcmd1bWVudHMtbGlzdC1pcy1ub3QtYXJyYXktbGlrZS1idXQtc3RpbGwtdmFsaWQuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOWRjYTVhNjE0MWM5ZmQxMWZmNDE5Y2M5MTc3ZGQzMmQzMTE3OWFmZQotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWZsZWN0L2Fw
cGx5L2FyZ3VtZW50cy1saXN0LWlzLW5vdC1hcnJheS1saWtlLWJ1dC1zdGlsbC12YWxpZC5qcwpA
QCAtMCwwICsxLDgwIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMTUgdGhlIFY4IHByb2plY3QgYXV0
aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdh
bGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDog
c2VjLXJlZmxlY3QuYXBwbHkKK2Rlc2NyaXB0aW9uOiA+CisgIFJldHVybiBhYnJ1cHQgaWYgYXJn
dW1lbnRzTGlzdCBpcyBub3QgYW4gQXJyYXlMaWtlIG9iamVjdC4KK2luZm86IHwKKyAgUmVmbGVj
dC5hcHBseSAoIHRhcmdldCwgdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0ICkKKworICAuLi4K
KyAgTGV0IGFyZ3MgYmUgPyBDcmVhdGVMaXN0RnJvbUFycmF5TGlrZShhcmd1bWVudHNMaXN0KS4K
KworCisgIENyZWF0ZUxpc3RGcm9tQXJyYXlMaWtlIChvYmogWywgZWxlbWVudFR5cGVzXSApCisK
KyAgLi4uCisgIElmIFR5cGUob2JqKSBpcyBub3QgT2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBl
eGNlcHRpb24uCisgIExldCBsZW4gYmUgPyBMZW5ndGhPZkFycmF5TGlrZShvYmopLgorICBMZXQg
bGlzdCBiZSBhIG5ldyBlbXB0eSBMaXN0LgorICBMZXQgaW5kZXggYmUgMC4KKyAgUmVwZWF0LCB3
aGlsZSBpbmRleCA8IGxlbiwKKyAgICBMZXQgaW5kZXhOYW1lIGJlICEgVG9TdHJpbmcoaW5kZXgp
LgorICAgIExldCBuZXh0IGJlID8gR2V0KG9iaiwgaW5kZXhOYW1lKS4KKyAgICBJZiBUeXBlKG5l
eHQpIGlzIG5vdCBhbiBlbGVtZW50IG9mIGVsZW1lbnRUeXBlcywgdGhyb3cgYSBUeXBlRXJyb3Ig
ZXhjZXB0aW9uLgorICAgIEFwcGVuZCBuZXh0IGFzIHRoZSBsYXN0IGVsZW1lbnQgb2YgbGlzdC4K
KyAgICBTZXQgaW5kZXggdG8gaW5kZXggKyAxLgorICBSZXR1cm4gbGlzdC4KK2luY2x1ZGVzOiBb
Y29tcGFyZUFycmF5LmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LCBhcnJvdy1mdW5jdGlvbiwgU3lt
Ym9sXQorLS0tKi8KKworbGV0IGNvdW50ID0gMDsKKworZnVuY3Rpb24gZm4oLi4uYXJncykgewor
ICBjb3VudCsrOworICByZXR1cm4gYXJnczsKK30KKworbGV0IGZfdW5jdGlvbiA9IG5ldyBGdW5j
dGlvbigpOworCitPYmplY3QuZGVmaW5lUHJvcGVydHkoZl91bmN0aW9uLCAibGVuZ3RoIiwgewor
ICBnZXQoKSB7CisgICAgcmV0dXJuIDE7CisgIH0KK30pOworCithc3NlcnQuY29tcGFyZUFycmF5
KFJlZmxlY3QuYXBwbHkoZm4sIG51bGwsIGZfdW5jdGlvbiksIFt1bmRlZmluZWRdKTsKKworbGV0
IG9iamVjdCA9IG5ldyBPYmplY3QoKTsKKworT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iamVjdCwg
Imxlbmd0aCIsIHsKKyAgZ2V0KCkgeworICAgIHJldHVybiAxOworICB9Cit9KTsKKworYXNzZXJ0
LmNvbXBhcmVBcnJheShSZWZsZWN0LmFwcGx5KGZuLCBudWxsLCBvYmplY3QpLCBbdW5kZWZpbmVk
XSk7CisKK2xldCBudW1iZXIgPSBuZXcgTnVtYmVyKCk7CisKK09iamVjdC5kZWZpbmVQcm9wZXJ0
eShudW1iZXIsICJsZW5ndGgiLCB7CisgIGdldCgpIHsKKyAgICByZXR1cm4gMTsKKyAgfQorfSk7
CisKK2Fzc2VydC5jb21wYXJlQXJyYXkoUmVmbGVjdC5hcHBseShmbiwgbnVsbCwgbnVtYmVyKSwg
W3VuZGVmaW5lZF0pOworCitsZXQgYm9vbGVhbiA9IG5ldyBCb29sZWFuKCk7CisKK09iamVjdC5k
ZWZpbmVQcm9wZXJ0eShib29sZWFuLCAibGVuZ3RoIiwgeworICBnZXQoKSB7CisgICAgcmV0dXJu
IDE7CisgIH0KK30pOworCithc3NlcnQuY29tcGFyZUFycmF5KFJlZmxlY3QuYXBwbHkoZm4sIG51
bGwsIGJvb2xlYW4pLCBbdW5kZWZpbmVkXSk7CisKK2Fzc2VydC5zYW1lVmFsdWUoY291bnQsIDQs
ICdUaGUgdmFsdWUgb2YgYGNvdW50YCBpcyAxJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVmbGVjdC9hcHBseS9hcmd1bWVudHMtbGlzdC1pcy1ub3QtYXJy
YXktbGlrZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWZsZWN0L2FwcGx5
L2FyZ3VtZW50cy1saXN0LWlzLW5vdC1hcnJheS1saWtlLmpzCmluZGV4IDU0ODM2ODI2ODM5ODg2
OWI4ZGRkYzc0NzAwM2I4YTczYzNlMWY4M2UuLmUwZmY1NTAzZjQ5YWQxMjI1NWNiYTE1OTQxMjAz
OWI2ZjJlYzY5ZDMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWZsZWN0L2FwcGx5L2FyZ3VtZW50cy1saXN0LWlzLW5vdC1hcnJheS1saWtlLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWZsZWN0L2FwcGx5L2FyZ3VtZW50cy1saXN0
LWlzLW5vdC1hcnJheS1saWtlLmpzCkBAIC0xLDQwICsxLDczIEBACiAvLyBDb3B5cmlnaHQgKEMp
IDIwMTUgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIENv
cHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCiAvKi0tLQotZXM2aWQ6IDI2LjEuMQorZXNpZDogc2VjLXJlZmxlY3QuYXBwbHkK
IGRlc2NyaXB0aW9uOiA+CiAgIFJldHVybiBhYnJ1cHQgaWYgYXJndW1lbnRzTGlzdCBpcyBub3Qg
YW4gQXJyYXlMaWtlIG9iamVjdC4KIGluZm86IHwKLSAgMjYuMS4xIFJlZmxlY3QuYXBwbHkgKCB0
YXJnZXQsIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCApCisgIFJlZmxlY3QuYXBwbHkgKCB0
YXJnZXQsIHRoaXNBcmd1bWVudCwgYXJndW1lbnRzTGlzdCApCiAKICAgLi4uCi0gIDIuIExldCBh
cmdzIGJlIENyZWF0ZUxpc3RGcm9tQXJyYXlMaWtlKGFyZ3VtZW50c0xpc3QpLgotICAzLiBSZXR1
cm5JZkFicnVwdChhcmdzKS4KLSAgLi4uCisgIExldCBhcmdzIGJlID8gQ3JlYXRlTGlzdEZyb21B
cnJheUxpa2UoYXJndW1lbnRzTGlzdCkuCiAKLSAgNy4zLjE3IENyZWF0ZUxpc3RGcm9tQXJyYXlM
aWtlIChvYmogWywgZWxlbWVudFR5cGVzXSApCisKKyAgQ3JlYXRlTGlzdEZyb21BcnJheUxpa2Ug
KG9iaiBbLCBlbGVtZW50VHlwZXNdICkKIAogICAuLi4KLSAgMy4gSWYgVHlwZShvYmopIGlzIG5v
dCBPYmplY3QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KLSAgNC4gTGV0IGxlbiBiZSBU
b0xlbmd0aChHZXQob2JqLCAibGVuZ3RoIikpLgotICA1LiBSZXR1cm5JZkFicnVwdChsZW4pLgot
ICAuLi4KLWZlYXR1cmVzOiBbUmVmbGVjdF0KKyAgSWYgVHlwZShvYmopIGlzIG5vdCBPYmplY3Qs
IHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KK2ZlYXR1cmVzOiBbUmVmbGVjdCwgYXJyb3ct
ZnVuY3Rpb24sIFN5bWJvbF0KIC0tLSovCiAKLWZ1bmN0aW9uIGZuKCkge30KLXZhciBvID0ge307
CitsZXQgY291bnQgPSAwOworCitmdW5jdGlvbiBmbigpIHsKKyAgY291bnQrKzsKK30KKworYXNz
ZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsICgpID0+IHsKKyAgUmVmbGVjdC5hcHBseShmbiwgbnVs
bCwgeworICAgIGdldCBsZW5ndGgoKSB7CisgICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7
CisgICAgfQorICB9KTsKK30sICdgUmVmbGVjdC5hcHBseShmbiwgbnVsbCwge2dldCBsZW5ndGgo
KSB7dGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpO319KWAgdGhyb3dzIGEgVGVzdDI2MkVycm9yIGV4
Y2VwdGlvbicpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBSZWZsZWN0
LmFwcGx5KGZuLCBudWxsIC8qIGVtcHR5ICovKTsKK30sICdgUmVmbGVjdC5hcHBseShmbiwgbnVs
bCAvKiBlbXB0eSAqLylgIHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKKworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgUmVmbGVjdC5hcHBseShmbiwgbnVsbCwgU3lt
Ym9sKCkpOworfSwgJ2BSZWZsZWN0LmFwcGx5KGZuLCBudWxsLCBTeW1ib2woKSlgIHRocm93cyBh
IFR5cGVFcnJvciBleGNlcHRpb24nKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+
IHsKKyAgUmVmbGVjdC5hcHBseShmbiwgbnVsbCwgMSk7Cit9LCAnYFJlZmxlY3QuYXBwbHkoZm4s
IG51bGwsIDEpYCB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CisKK2Fzc2VydC50aHJv
d3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIFJlZmxlY3QuYXBwbHkoZm4sIG51bGwsIEluZmluaXR5
KTsKK30sICdgUmVmbGVjdC5hcHBseShmbiwgbnVsbCwgSW5maW5pdHkpYCB0aHJvd3MgYSBUeXBl
RXJyb3IgZXhjZXB0aW9uJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7Cisg
IFJlZmxlY3QuYXBwbHkoZm4sIG51bGwsIG51bGwpOworfSwgJ2BSZWZsZWN0LmFwcGx5KGZuLCBu
dWxsLCBudWxsKWAgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOworCithc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgKCkgPT4geworICBSZWZsZWN0LmFwcGx5KGZuLCBudWxsLCB1bmRlZmlu
ZWQpOworfSwgJ2BSZWZsZWN0LmFwcGx5KGZuLCBudWxsLCB1bmRlZmluZWQpYCB0aHJvd3MgYSBU
eXBlRXJyb3IgZXhjZXB0aW9uJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7
CisgIFJlZmxlY3QuYXBwbHkoZm4sIG51bGwsIGZhbHNlKTsKK30sICdgUmVmbGVjdC5hcHBseShm
biwgbnVsbCwgZmFsc2UpYCB0aHJvd3MgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CisKK2Fzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIFJlZmxlY3QuYXBwbHkoZm4sIG51bGwsIHRy
dWUpOworfSwgJ2BSZWZsZWN0LmFwcGx5KGZuLCBudWxsLCB0cnVlKWAgdGhyb3dzIGEgVHlwZUVy
cm9yIGV4Y2VwdGlvbicpOwogCi1PYmplY3QuZGVmaW5lUHJvcGVydHkobywgJ2xlbmd0aCcsIHsK
LSAgZ2V0OiBmdW5jdGlvbigpIHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7Ci0gIH0K
LX0pOworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgUmVmbGVjdC5hcHBseShm
biwgbnVsbCwgTmFOKTsKK30sICdgUmVmbGVjdC5hcHBseShmbiwgbnVsbCwgTmFOKWAgdGhyb3dz
IGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwogCi1hc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwg
ZnVuY3Rpb24oKSB7Ci0gIFJlZmxlY3QuYXBwbHkoZm4sIDEsIG8pOwotfSk7CiAKLWFzc2VydC50
aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgUmVmbGVjdC5hcHBseShmbiwgMSwgMSk7
Ci19KTsKK2Fzc2VydC5zYW1lVmFsdWUoY291bnQsIDAsICdUaGUgdmFsdWUgb2YgYGNvdW50YCBp
cyAwJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVmbGVj
dC9hcHBseS9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWZsZWN0L2FwcGx5L25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIyODEx
YzhlNTY0ZTMzMTdlMzE5NDNkMjUyNjU0ZjllNzE0MTFjNDcKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVmbGVjdC9hcHBseS9ub3QtYS1jb25zdHJ1
Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxk
cm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDog
c2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4K
KyAgUmVmbGVjdC5hcHBseSBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90
IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1
aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3Ry
dWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0
aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBh
IHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcu
IElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJv
ciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVy
ZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgUmVmbGVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLwor
Cithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoUmVmbGVjdC5hcHBseSksIGZhbHNlLCAn
aXNDb25zdHJ1Y3RvcihSZWZsZWN0LmFwcGx5KSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3Nl
cnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgUmVmbGVjdC5hcHBseSgoKSA9PiB7
fSwgdW5kZWZpbmVkLCBbXSk7Cit9LCAnYG5ldyBSZWZsZWN0LmFwcGx5KCgpID0+IHt9LCB1bmRl
ZmluZWQsIFtdKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVmbGVjdC9jb25zdHJ1Y3Qvbm90LWEtY29uc3RydWN0b3Iu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVmbGVjdC9jb25zdHJ1Y3Qvbm90
LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTQzYWJmZTZkY2E3N2UyMWZiMDk2NDc4MGEy
MTU1MGQzMzUxODFiOAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWZsZWN0L2NvbnN0cnVjdC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsx
LDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3Rh
bmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgUmVmbGVjdC5jb25zdHJ1
Y3QgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5m
bzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlv
biBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QK
KyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3Ro
ZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1
bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVj
dG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgor
ICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5j
b25zdHJ1Y3QsIFJlZmxlY3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVW
YWx1ZShpc0NvbnN0cnVjdG9yKFJlZmxlY3QuY29uc3RydWN0KSwgZmFsc2UsICdpc0NvbnN0cnVj
dG9yKFJlZmxlY3QuY29uc3RydWN0KSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgUmVmbGVjdC5jb25zdHJ1Y3QoRnVuY3Rpb24s
IFtdLCBGdW5jdGlvbik7Cit9LCAnYG5ldyBSZWZsZWN0LmNvbnN0cnVjdChGdW5jdGlvbiwgW10s
IEZ1bmN0aW9uKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVmbGVjdC9kZWZpbmVQcm9wZXJ0eS9ub3QtYS1jb25zdHJ1
Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWZsZWN0L2RlZmluZVBy
b3BlcnR5L25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2NWRhODZlY2QzZjUzMWM1
N2I4N2ZiM2M0MTM5Mjg0ODAzNTUxYzYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvUmVmbGVjdC9kZWZpbmVQcm9wZXJ0eS9ub3QtYS1jb25zdHJ1Y3Rv
ci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9u
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2Vj
LWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAg
UmVmbGVjdC5kZWZpbmVQcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwg
aXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cwor
CisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMg
Y29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJu
YWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlv
biBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4u
CisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5
cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQor
ZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgUmVmbGVjdCwgYXJyb3ctZnVuY3Rpb25dCist
LS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKFJlZmxlY3QuZGVmaW5l
UHJvcGVydHkpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoUmVmbGVjdC5kZWZpbmVQcm9w
ZXJ0eSkgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
KCkgPT4geworICBuZXcgUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgJycpOworfSwgJ2BuZXcg
UmVmbGVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgXCdcJylgIHRocm93cyBUeXBlRXJyb3InKTsKKwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZmxlY3QvZGVsZXRl
UHJvcGVydHkvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVmbGVjdC9kZWxldGVQcm9wZXJ0eS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42ZmI5ZGZiNTY5ZDNkN2Y3MzRjNzVmMDZjNjEyOGQ3OWI1NzAxMDgzCi0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZmxlY3QvZGVsZXRlUHJv
cGVydHkvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0
IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVj
dHMKK2Rlc2NyaXB0aW9uOiA+CisgIFJlZmxlY3QuZGVsZXRlUHJvcGVydHkgZG9lcyBub3QgaW1w
bGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2Ny
aXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQg
YXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRo
ZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmll
ZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNl
Yy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9y
KSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVz
OiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIFJlZmxl
Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25z
dHJ1Y3RvcihSZWZsZWN0LmRlbGV0ZVByb3BlcnR5KSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVj
dG9yKFJlZmxlY3QuZGVsZXRlUHJvcGVydHkpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNz
ZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IFJlZmxlY3QuZGVsZXRlUHJvcGVy
dHkoe30sICcnKTsKK30sICdgbmV3IFJlZmxlY3QuZGVsZXRlUHJvcGVydHkoe30sIFwnXCcpYCB0
aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWZsZWN0L2dldC9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWZsZWN0L2dldC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45Zjc5M2JhMTc0OWI0OWU4N2Y5OGUxYTVkYzYzMGRmYjE0MzNkOThmCi0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZmxlY3QvZ2V0L25vdC1h
LWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBS
aWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0t
Citlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlw
dGlvbjogPgorICBSZWZsZWN0LmdldCBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwg
aXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cwor
CisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMg
Y29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJu
YWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlv
biBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4u
CisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5
cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQor
ZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgUmVmbGVjdCwgYXJyb3ctZnVuY3Rpb25dCist
LS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoUmVmbGVjdC5nZXQpLCBmYWxz
ZSwgJ2lzQ29uc3RydWN0b3IoUmVmbGVjdC5nZXQpIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fz
c2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBSZWZsZWN0LmdldCh7fSwgJycp
OworfSwgJ2BuZXcgUmVmbGVjdC5nZXQoe30sIFwnXCcpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWZsZWN0L2dldE93
blByb3BlcnR5RGVzY3JpcHRvci9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWZsZWN0L2dldE93blByb3BlcnR5RGVzY3JpcHRvci9ub3QtYS1j
b25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jY2NjNDA1MTE3OGIxZDJmMTAyODc5NGQ0NzQ3MmU1
MTg4YWZjMDU5Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZmxlY3QvZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yL25vdC1hLWNvbnN0cnVjdG9yLmpz
CkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNt
YXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBSZWZs
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1
Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2Jq
ZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZp
ZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0g
aW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNj
cmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisK
KyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJv
dyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9y
LmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgUmVmbGVjdCwgYXJyb3ctZnVuY3Rp
b25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKFJlZmxlY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKFJl
ZmxlY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisK
K2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBSZWZsZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcih7fSwgJycpOworfSwgJ2BuZXcgUmVmbGVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3Ioe30sIFwnXCcpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWZsZWN0L2dldFByb3RvdHlwZU9mL25v
dC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZmxl
Y3QvZ2V0UHJvdG90eXBlT2Yvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmNiMTVh
NzM0M2FmNjRhNGE2YWY1OTVlMjZhYjE0ODY2M2UzYTA1MwotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWZsZWN0L2dldFByb3RvdHlwZU9mL25vdC1h
LWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBS
aWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0t
Citlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlw
dGlvbjogPgorICBSZWZsZWN0LmdldFByb3RvdHlwZU9mIGRvZXMgbm90IGltcGxlbWVudCBbW0Nv
bnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlv
biBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRl
bnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1
Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhl
IGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVu
ZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2Us
IHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3Ry
dWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBSZWZsZWN0LCBhcnJvdy1m
dW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoUmVm
bGVjdC5nZXRQcm90b3R5cGVPZiksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihSZWZsZWN0
LmdldFByb3RvdHlwZU9mKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3Mo
VHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBSZWZsZWN0LmdldFByb3RvdHlwZU9mKHt9KTsKK30s
ICdgbmV3IFJlZmxlY3QuZ2V0UHJvdG90eXBlT2Yoe30pYCB0aHJvd3MgVHlwZUVycm9yJyk7CisK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWZsZWN0L2hhcy9u
b3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWZs
ZWN0L2hhcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOTFhMzM2ZjA4NmYxMmZl
OGU1MzhiNTIxYzAyOWE1OTBkNTI5MzYyCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZmxlY3QvaGFzL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0w
LDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlw
dC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBSZWZsZWN0Lmhh
cyBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZv
OiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9u
IG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAor
ICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhl
cndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVu
Y3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0
b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisg
IC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNv
bnN0cnVjdCwgUmVmbGVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZh
bHVlKGlzQ29uc3RydWN0b3IoUmVmbGVjdC5oYXMpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoUmVm
bGVjdC5oYXMpIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9y
LCAoKSA9PiB7CisgIG5ldyBSZWZsZWN0LmhhcygpOworfSwgJ2BuZXcgUmVmbGVjdC5oYXMoKWAg
dGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVmbGVjdC9pc0V4dGVuc2libGUvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVmbGVjdC9pc0V4dGVuc2libGUvbm90LWEtY29u
c3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2I1NzJkOGY3MDZhYTk4ZDZhODAwMjQ4MTMxNjcxYTdm
ZTlhNDBlNwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWZsZWN0L2lzRXh0ZW5zaWJsZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRh
cmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgUmVmbGVjdC5pc0V4dGVuc2li
bGUgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5m
bzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlv
biBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QK
KyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3Ro
ZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1
bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVj
dG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgor
ICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5j
b25zdHJ1Y3QsIFJlZmxlY3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVW
YWx1ZShpc0NvbnN0cnVjdG9yKFJlZmxlY3QuaXNFeHRlbnNpYmxlKSwgZmFsc2UsICdpc0NvbnN0
cnVjdG9yKFJlZmxlY3QuaXNFeHRlbnNpYmxlKSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3Nl
cnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgUmVmbGVjdC5pc0V4dGVuc2libGUo
e30pOworfSwgJ2BuZXcgUmVmbGVjdC5pc0V4dGVuc2libGUoe30pYCB0aHJvd3MgVHlwZUVycm9y
Jyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWZsZWN0
L293bktleXMvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVmbGVjdC9vd25LZXlzL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ0
YzJmMzc0YmQ4OTc3OWE3NGEyYTk2ZDBiYmYwZTAyM2ViMDVlNTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVmbGVjdC9vd25LZXlzL25vdC1hLWNv
bnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNr
IFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitl
c2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlv
bjogPgorICBSZWZsZWN0Lm93bktleXMgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0s
IGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMK
KworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFz
IGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVy
bmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRp
b24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4u
LgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBU
eXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10K
K2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIFJlZmxlY3QsIGFycm93LWZ1bmN0aW9uXQor
LS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKFJlZmxlY3Qub3duS2V5cyks
IGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihSZWZsZWN0Lm93bktleXMpIG11c3QgcmV0dXJuIGZhbHNl
Jyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBSZWZsZWN0Lm93
bktleXMoe30pOworfSwgJ2BuZXcgUmVmbGVjdC5vd25LZXlzKHt9KWAgdGhyb3dzIFR5cGVFcnJv
cicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVmbGVj
dC9wcmV2ZW50RXh0ZW5zaW9ucy9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWZsZWN0L3ByZXZlbnRFeHRlbnNpb25zL25vdC1hLWNvbnN0cnVj
dG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmU1ZmZlZGRmMDk0MGExYjYzNTNmMzgyNWIyOTQyZTZmMGRhMDI0
NDMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVm
bGVjdC9wcmV2ZW50RXh0ZW5zaW9ucy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMz
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRh
cmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgUmVmbGVjdC5wcmV2ZW50RXh0
ZW5zaW9ucyBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxl
CitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1
bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRv
IG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVz
cyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3Vs
YXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29u
c3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRp
b24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZs
ZWN0LmNvbnN0cnVjdCwgUmVmbGVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQu
c2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKFJlZmxlY3QucHJldmVudEV4dGVuc2lvbnMpLAor
ICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoUmVmbGVjdC5wcmV2ZW50RXh0ZW5zaW9ucykgbXVz
dCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gewor
ICBuZXcgUmVmbGVjdC5wcmV2ZW50RXh0ZW5zaW9ucyh7fSk7Cit9LCAnYG5ldyBSZWZsZWN0LnBy
ZXZlbnRFeHRlbnNpb25zKHt9KWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVmbGVjdC9zZXQvbm90LWEtY29uc3RydWN0
b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVmbGVjdC9zZXQvbm90LWEt
Y29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGEyYWVkNThjODA5OTI3ODg1YWY3MjUyZDQ5YTAx
YjUyYzE3ZTg3MQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWZsZWN0L3NldC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBACisv
LyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVp
bHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgUmVmbGVjdC5zZXQgZG9lcyBub3QgaW1w
bGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2Ny
aXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQg
YXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRo
ZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmll
ZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNl
Yy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9y
KSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVz
OiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIFJlZmxl
Y3QsIFJlZmxlY3Quc2V0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFs
dWUoaXNDb25zdHJ1Y3RvcihSZWZsZWN0LnNldCksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihSZWZs
ZWN0LnNldCkgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3Is
ICgpID0+IHsKKyAgbmV3IFJlZmxlY3Quc2V0KHt9KTsKK30sICdgbmV3IFJlZmxlY3Quc2V0KHt9
KWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvUmVmbGVjdC9zZXRQcm90b3R5cGVPZi9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWZsZWN0L3NldFByb3RvdHlwZU9mL25v
dC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2ZTM1YmJiNGY1NzYzMTgxMWM3MGIyN2Iy
OGYyOWI2YTBlYmI5YWIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVmbGVjdC9zZXRQcm90b3R5cGVPZi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAt
MCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5z
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3Jp
cHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgUmVmbGVjdC5z
ZXRQcm90b3R5cGVPZiBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5l
dy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0
LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0
b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9k
IHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBh
cnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElm
IElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBl
eGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6
IFtSZWZsZWN0LmNvbnN0cnVjdCwgUmVmbGVjdCwgUmVmbGVjdC5zZXRQcm90b3R5cGVPZiwgYXJy
b3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9y
KFJlZmxlY3Quc2V0UHJvdG90eXBlT2YpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoUmVm
bGVjdC5zZXRQcm90b3R5cGVPZikgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgUmVmbGVjdC5zZXRQcm90b3R5cGVPZih7fSwg
e30pOworfSwgJ2BuZXcgUmVmbGVjdC5zZXRQcm90b3R5cGVPZih7fSwge30pYCB0aHJvd3MgVHlw
ZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9S
ZWdFeHAvaXMtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvaXMtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MmI4ZWVhMDExNjVmMDYy
N2M0OGRlNWFiNTBlNDFlNDM4NDFmNTAwCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9pcy1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEs
MjQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFu
ZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBUaGUgUmVnRXhwIGNvbnN0
cnVjdG9yIGltcGxlbWVudHMgW1tDb25zdHJ1Y3RdXQoraW5mbzogfAorICBJc0NvbnN0cnVjdG9y
ICggYXJndW1lbnQgKQorCisgIFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gSXNDb25zdHJ1Y3RvciB0
YWtlcyBhcmd1bWVudCBhcmd1bWVudCAoYW4gRUNNQVNjcmlwdCBsYW5ndWFnZSB2YWx1ZSkuCisg
IEl0IGRldGVybWluZXMgaWYgYXJndW1lbnQgaXMgYSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhIFtb
Q29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLgorICBJdCBwZXJmb3JtcyB0aGUgZm9sbG93aW5n
IHN0ZXBzIHdoZW4gY2FsbGVkOgorCisgIElmIFR5cGUoYXJndW1lbnQpIGlzIG5vdCBPYmplY3Qs
IHJldHVybiBmYWxzZS4KKyAgSWYgYXJndW1lbnQgaGFzIGEgW1tDb25zdHJ1Y3RdXSBpbnRlcm5h
bCBtZXRob2QsIHJldHVybiB0cnVlLgorICBSZXR1cm4gZmFsc2UuCitpbmNsdWRlczogW2lzQ29u
c3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0XQorLS0tKi8KKworYXNz
ZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKFJlZ0V4cCksIHRydWUsICdpc0NvbnN0cnVjdG9y
KFJlZ0V4cCkgbXVzdCByZXR1cm4gdHJ1ZScpOworbmV3IFJlZ0V4cCgnJyk7CisgIApkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2Vz
L2luZGljZXMtZ3JvdXBzLW9iamVjdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9SZWdFeHAvbWF0Y2gtaW5kaWNlcy9pbmRpY2VzLWdyb3Vwcy1vYmplY3QuanMKaW5kZXggN2Jk
NDQ4ZDAzNWMxODZjMWE0OTZkNzlkMzcxZTlmZTBjMmNjY2JmZi4uZTQwNDEyZGFmNzAzNjU4ZjRl
N2M0ZTIxNzVmNGU2NjlmN2E1ZDk5ZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9tYXRjaC1pbmRpY2VzL2luZGljZXMtZ3JvdXBzLW9iamVjdC5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL21hdGNoLWluZGljZXMv
aW5kaWNlcy1ncm91cHMtb2JqZWN0LmpzCkBAIC0zLDcgKzMsNyBAQAogCiAvKi0tLQogZGVzY3Jp
cHRpb246IFRoZSBncm91cHMgb2JqZWN0IG9mIGluZGljZXMgaXMgY3JlYXRlZCB3aXRoIENyZWF0
ZURhdGFQcm9wZXJ0eQotaW5jbHVkZXM6IFtwcm9wZXJ0eUhlbHBlci5qc10KK2luY2x1ZGVzOiBb
cHJvcGVydHlIZWxwZXIuanMsIGNvbXBhcmVBcnJheS5qc10KIGVzaWQ6IHNlYy1tYWtlaW5kaWNl
c2FycmF5CiBmZWF0dXJlczogW3JlZ2V4cC1uYW1lZC1ncm91cHMsIHJlZ2V4cC1tYXRjaC1pbmRp
Y2VzXQogaW5mbzogfApAQCAtMTUsNyArMTUsNiBAQCBpbmZvOiB8CiAgICAgMTAuIFBlcmZvcm0g
ISBDcmVhdGVEYXRhUHJvcGVydHkoX0FfLCBgImdyb3VwcyJgLCBfZ3JvdXBzXykuCiAtLS0qLwog
Ci0KIC8vIGBncm91cHNgIGlzIGNyZWF0ZWQgd2l0aCBEZWZpbmUsIG5vdCBTZXQuCiBsZXQgY291
bnRlciA9IDA7CiBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiZ3JvdXBz
IiwgewpAQCAtMzIsMyArMzEsOSBAQCB2ZXJpZnlQcm9wZXJ0eShpbmRpY2VzLCAnZ3JvdXBzJywg
ewogICAgIGVudW1lcmFibGU6IHRydWUsCiAgICAgY29uZmlndXJhYmxlOiB0cnVlCiB9KTsKKwor
Ly8gVGhlIGBfX3Byb3RvX19gIHByb3BlcnR5IG9uIHRoZSBncm91cHMgb2JqZWN0IGlzIG5vdCBz
cGVjaWFsLAorLy8gYW5kIGRvZXMgbm90IGFmZmVjdCB0aGUgW1tQcm90b3R5cGVdXSBvZiB0aGUg
cmVzdWx0aW5nIGdyb3VwcyBvYmplY3QuCitsZXQge2dyb3Vwc30gPSAvKD88X19wcm90b19fPi4p
Ly5leGVjKCJhIikuaW5kaWNlczsKK2Fzc2VydC5jb21wYXJlQXJyYXkoWzAsIDFdLCBncm91cHMu
X19wcm90b19fKTsKK2Fzc2VydC5zYW1lVmFsdWUobnVsbCwgT2JqZWN0LmdldFByb3RvdHlwZU9m
KGdyb3VwcykpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1Jl
Z0V4cC9uYW1lZC1ncm91cHMvZ3JvdXBzLW9iamVjdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9SZWdFeHAvbmFtZWQtZ3JvdXBzL2dyb3Vwcy1vYmplY3QuanMKaW5kZXggZDhl
ZTRhZmY3ZDU4ZTc1Njg0ZThkZGRlNWFlM2FiMzZkMDZmZTZlNy4uMzJhODViZjc1OWUwNGVhY2Vi
NDM3NTEzOWU1ZjVmZWIxOWM3ZTljYSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1JlZ0V4cC9uYW1lZC1ncm91cHMvZ3JvdXBzLW9iamVjdC5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL25hbWVkLWdyb3Vwcy9ncm91cHMtb2Jq
ZWN0LmpzCkBAIC0zMSwzICszMSw5IEBAIHZlcmlmeVByb3BlcnR5KG1hdGNoLCAiZ3JvdXBzIiwg
ewogICBlbnVtZXJhYmxlOiB0cnVlLAogICBjb25maWd1cmFibGU6IHRydWUsCiB9KTsKKworLy8g
VGhlIGBfX3Byb3RvX19gIHByb3BlcnR5IG9uIHRoZSBncm91cHMgb2JqZWN0IGlzIG5vdCBzcGVj
aWFsLAorLy8gYW5kIGRvZXMgbm90IGFmZmVjdCB0aGUgW1tQcm90b3R5cGVdXSBvZiB0aGUgcmVz
dWx0aW5nIGdyb3VwcyBvYmplY3QuCitsZXQge2dyb3Vwc30gPSAvKD88X19wcm90b19fPi4pLy5l
eGVjKCJhIik7Cithc3NlcnQuc2FtZVZhbHVlKCJhIiwgZ3JvdXBzLl9fcHJvdG9fXyk7Cithc3Nl
cnQuc2FtZVZhbHVlKG51bGwsIE9iamVjdC5nZXRQcm90b3R5cGVPZihncm91cHMpKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL1N5
bWJvbC5tYXRjaC9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL1N5bWJvbC5tYXRjaC9ub3QtYS1jb25zdHJ1Y3Rvci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NWE4ZDY0YTA2NzcyNTk5ZGUxZWJlZjllYWEwY2ZlZDA2NWVkYjIxCi0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9w
cm90b3R5cGUvU3ltYm9sLm1hdGNoL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMg
QEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFy
ZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBSZWdFeHAucHJvdG90eXBlW1N5
bWJvbC5tYXRjaF0gZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXct
YWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1p
biBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9y
cyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1
bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0
aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJ
c0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhj
ZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBb
UmVmbGVjdC5jb25zdHJ1Y3QsIFN5bWJvbCwgU3ltYm9sLm1hdGNoLCBhcnJvdy1mdW5jdGlvbl0K
Ky0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoUmVnRXhwLnByb3Rv
dHlwZVtTeW1ib2wubWF0Y2hdKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKFJlZ0V4cC5w
cm90b3R5cGVbU3ltYm9sLm1hdGNoXSkgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgcmUgPSBuZXcgUmVnRXhwKCcnKTsgbmV3
IHJlW1N5bWJvbC5tYXRjaF0oKTsKK30sICdgbGV0IHJlID0gbmV3IFJlZ0V4cChcJ1wnKTsgbmV3
IHJlW1N5bWJvbC5tYXRjaF0oKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9TeW1ib2wubWF0
Y2hBbGwvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvUmVnRXhwL3Byb3RvdHlwZS9TeW1ib2wubWF0Y2hBbGwvbm90LWEtY29uc3RydWN0b3IuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYTljZTRjMzMxMzc3MTM1ODExYzQ2YzBjMTg1YzdiNGVhNTRjMTc2YwotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJv
dG90eXBlL1N5bWJvbC5tYXRjaEFsbC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMz
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRh
cmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgUmVnRXhwLnByb3RvdHlwZVtT
eW1ib2wubWF0Y2hBbGxdIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3Qg
bmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVp
bHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1
Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRo
b2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEg
cGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4g
SWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9y
IGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJl
czogW1JlZmxlY3QuY29uc3RydWN0LCBTeW1ib2wsIFN5bWJvbC5tYXRjaCwgU3ltYm9sLm1hdGNo
QWxsLCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29u
c3RydWN0b3IoUmVnRXhwLnByb3RvdHlwZVtTeW1ib2wubWF0Y2hBbGxdKSwKKyAgZmFsc2UsCisg
ICdpc0NvbnN0cnVjdG9yKFJlZ0V4cC5wcm90b3R5cGVbU3ltYm9sLm1hdGNoQWxsXSkgbXVzdCBy
ZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBs
ZXQgcmUgPSBuZXcgUmVnRXhwKCcnKTsgbmV3IHJlW1N5bWJvbC5tYXRjaEFsbF0oKTsKK30sICdg
bGV0IHJlID0gbmV3IFJlZ0V4cChcJ1wnKTsgbmV3IHJlW1N5bWJvbC5tYXRjaEFsbF0oKWAgdGhy
b3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9TeW1ib2wucmVwbGFjZS9ub3QtYS1jb25zdHJ1Y3Rvci5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL1N5bWJv
bC5yZXBsYWNlL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI3ZWZhNmJhOTQ0NmRk
Y2NjYTBhNDljODdlNzk1ODk3NDMwODA0M2MKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9TeW1ib2wucmVwbGFjZS9ub3Qt
YS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAg
UmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0t
LQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3Jp
cHRpb246ID4KKyAgUmVnRXhwLnByb3RvdHlwZVtTeW1ib2wucmVwbGFjZV0gZG9lcyBub3QgaW1w
bGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2Ny
aXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQg
YXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRo
ZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmll
ZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNl
Yy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9y
KSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVz
OiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIFN5bWJv
bCwgU3ltYm9sLnJlcGxhY2UsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihSZWdFeHAucHJvdG90eXBlW1N5bWJvbC5yZXBsYWNlXSks
CisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihSZWdFeHAucHJvdG90eXBlW1N5bWJvbC5yZXBs
YWNlXSkgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
KCkgPT4geworICBsZXQgcmUgPSBuZXcgUmVnRXhwKCcnKTsgbmV3IHJlW1N5bWJvbC5yZXBsYWNl
XSgpOworfSwgJ2BsZXQgcmUgPSBuZXcgUmVnRXhwKFwnXCcpOyBuZXcgcmVbU3ltYm9sLnJlcGxh
Y2VdKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvU3ltYm9sLnNlYXJjaC9ub3QtYS1jb25z
dHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90
eXBlL1N5bWJvbC5zZWFyY2gvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDBiY2Q5
NGVkYzA4ZjJhNzY1NjQxNTEzN2FhMTkyY2ExMGUxYWY1OQotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL1N5bWJvbC5zZWFy
Y2gvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChD
KSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
KworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMK
K2Rlc2NyaXB0aW9uOiA+CisgIFJlZ0V4cC5wcm90b3R5cGVbU3ltYm9sLnNlYXJjaF0gZG9lcyBu
b3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBF
Q01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3Rz
IHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVt
ZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNw
ZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgor
CisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0
cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2lu
Y2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3Qs
IFN5bWJvbCwgU3ltYm9sLnNlYXJjaCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQu
c2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKFJlZ0V4cC5wcm90b3R5cGVbU3ltYm9sLnNlYXJj
aF0pLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoUmVnRXhwLnByb3RvdHlwZVtTeW1ib2wu
c2VhcmNoXSkgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgKCkgPT4geworICBsZXQgcmUgPSBuZXcgUmVnRXhwKCcnKTsgbmV3IHJlW1N5bWJvbC5zZWFy
Y2hdKCk7Cit9LCAnYGxldCByZSA9IG5ldyBSZWdFeHAoXCdcJyk7IG5ldyByZVtTeW1ib2wuc2Vh
cmNoXSgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90eXBlL1N5bWJvbC5zcGxpdC9ub3QtYS1jb25z
dHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9SZWdFeHAvcHJvdG90
eXBlL1N5bWJvbC5zcGxpdC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNGQ1YWI2
YjJmMzg3Y2EyMTE4NDJlMWE3MjE1N2I3NGJlOWFjMDY1Ci0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvU3ltYm9sLnNwbGl0
L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMg
Z292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisK
Ky8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitk
ZXNjcmlwdGlvbjogPgorICBSZWdFeHAucHJvdG90eXBlW1N5bWJvbC5zcGxpdF0gZG9lcyBub3Qg
aW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01B
U2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRo
YXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50
IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNp
ZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisg
IHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVj
dG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1
ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIFN5
bWJvbCwgU3ltYm9sLnNwbGl0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIGlzQ29uc3RydWN0b3IoUmVnRXhwLnByb3RvdHlwZVtTeW1ib2wuc3BsaXRdKSwK
KyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKFJlZ0V4cC5wcm90b3R5cGVbU3ltYm9sLnNwbGl0
XSkgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkg
PT4geworICBsZXQgcmUgPSBuZXcgUmVnRXhwKCcnKTsgbmV3IHJlW1N5bWJvbC5zcGxpdF0oKTsK
K30sICdgbGV0IHJlID0gbmV3IFJlZ0V4cChcJ1wnKTsgbmV3IHJlW1N5bWJvbC5zcGxpdF0oKWAg
dGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS9leGVjL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9ub3QtYS1j
b25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ODBjMDVhYjMzOWVmN2ZlYmRmM2M0ZjQ5ODEzOWZj
NjM2N2ZiNGJiCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1JlZ0V4cC9wcm90b3R5cGUvZXhlYy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsx
LDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3Rh
bmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgUmVnRXhwLnByb3RvdHlw
ZS5leGVjIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUK
K2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVu
Y3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8g
bm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNz
IG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxh
ciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25z
dHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlv
bi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxl
Y3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIGlzQ29uc3RydWN0b3IoUmVnRXhwLnByb3RvdHlwZS5leGVjKSwKKyAgZmFsc2UsCisgICdp
c0NvbnN0cnVjdG9yKFJlZ0V4cC5wcm90b3R5cGUuZXhlYykgbXVzdCByZXR1cm4gZmFsc2UnCisp
OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgcmUgPSBuZXcgUmVn
RXhwKCcnKTsgbmV3IHJlLmV4ZWMoKTsKK30sICdgbGV0IHJlID0gbmV3IFJlZ0V4cChcJ1wnKTsg
bmV3IHJlLmV4ZWMoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90ZXN0L25vdC1hLWNvbnN0
cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5
cGUvdGVzdC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMzI2NTJjYmI3NzY0NGYx
NjhlYzgxNDdkOGY2YWRkNjRjNTE4NTJjCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1JlZ0V4cC9wcm90b3R5cGUvdGVzdC9ub3QtYS1jb25zdHJ1Y3Rv
ci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9u
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2Vj
LWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAg
UmVnRXhwLnByb3RvdHlwZS50ZXN0IGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBp
cyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisK
KyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBj
b25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5h
bCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9u
IG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4K
KyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlw
ZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitm
ZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoUmVnRXhwLnByb3RvdHlwZS50ZXN0KSwK
KyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKFJlZ0V4cC5wcm90b3R5cGUudGVzdCkgbXVzdCBy
ZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBs
ZXQgcmUgPSBuZXcgUmVnRXhwKCcnKTsgbmV3IHJlLnRlc3QoKTsKK30sICdgbGV0IHJlID0gbmV3
IFJlZ0V4cChcJ1wnKTsgbmV3IHJlLnRlc3QoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlwZS90
b1N0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9SZWdFeHAvcHJvdG90eXBlL3RvU3RyaW5nL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQ0ZTI2MGJiYTY0YjI4ZGIyMTU2NmEwZjQ4YjRlNmE0YjU4YjRiZGYKLS0tIC9kZXYv
bnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvUmVnRXhwL3Byb3RvdHlw
ZS90b1N0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5
cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4t
b2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZyBkb2Vz
IG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8Cisg
IEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVj
dHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBs
ZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ug
c3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24u
CisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29u
c3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgor
aW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVj
dCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0
cnVjdG9yKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3Ry
dWN0b3IoUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZykgbXVzdCByZXR1cm4gZmFsc2UnCispOwor
Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgcmUgPSBuZXcgUmVnRXhw
KCcnKTsgbmV3IHJlLnRvU3RyaW5nKCk7Cit9LCAnYGxldCByZSA9IG5ldyBSZWdFeHAoXCdcJyk7
IG5ldyByZS50b1N0cmluZygpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TZXQvaXMtYS1jb25zdHJ1Y3Rvci5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TZXQvaXMtYS1jb25zdHJ1Y3Rvci5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yZWNiNmMxODE0ODgyYTMwNmEwMDc3YTc2NGYwZGJlZDkwNTAyMWVlCi0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NldC9pcy1hLWNvbnN0
cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdh
bGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lk
OiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjog
PgorICBUaGUgU2V0IGNvbnN0cnVjdG9yIGltcGxlbWVudHMgW1tDb25zdHJ1Y3RdXQoraW5mbzog
fAorICBJc0NvbnN0cnVjdG9yICggYXJndW1lbnQgKQorCisgIFRoZSBhYnN0cmFjdCBvcGVyYXRp
b24gSXNDb25zdHJ1Y3RvciB0YWtlcyBhcmd1bWVudCBhcmd1bWVudCAoYW4gRUNNQVNjcmlwdCBs
YW5ndWFnZSB2YWx1ZSkuCisgIEl0IGRldGVybWluZXMgaWYgYXJndW1lbnQgaXMgYSBmdW5jdGlv
biBvYmplY3Qgd2l0aCBhIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLgorICBJdCBwZXJm
b3JtcyB0aGUgZm9sbG93aW5nIHN0ZXBzIHdoZW4gY2FsbGVkOgorCisgIElmIFR5cGUoYXJndW1l
bnQpIGlzIG5vdCBPYmplY3QsIHJldHVybiBmYWxzZS4KKyAgSWYgYXJndW1lbnQgaGFzIGEgW1tD
b25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QsIHJldHVybiB0cnVlLgorICBSZXR1cm4gZmFsc2Uu
CitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3Ry
dWN0LCBTZXRdCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoU2V0KSwg
dHJ1ZSwgJ2lzQ29uc3RydWN0b3IoU2V0KSBtdXN0IHJldHVybiB0cnVlJyk7CituZXcgU2V0KCk7
CisgIApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NldC9wcm90
b3R5cGUvU3ltYm9sLml0ZXJhdG9yL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1NldC9wcm90b3R5cGUvU3ltYm9sLml0ZXJhdG9yL25vdC1hLWNv
bnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyYTcxMDJkM2VjNzA2ZTYzOTlhZmI4YzZiZDE1M2I2
ZTFmZWFiYzAKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvU2V0L3Byb3RvdHlwZS9TeW1ib2wuaXRlcmF0b3Ivbm90LWEtY29uc3RydWN0b3IuanMKQEAg
LTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2Ny
aXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFNldC5wcm90
b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwg
aXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cwor
CisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMg
Y29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJu
YWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlv
biBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4u
CisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5
cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQor
ZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgU3ltYm9sLCBTeW1ib2wuaXRlcmF0b3IsIFNl
dCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0
cnVjdG9yKFNldC5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSksCisgIGZhbHNlLAorICAnaXND
b25zdHJ1Y3RvcihTZXQucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0pIG11c3QgcmV0dXJuIGZh
bHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IHMgPSBu
ZXcgU2V0KFtdKTsgbmV3IHNbU3ltYm9sLml0ZXJhdG9yXSgpOworfSwgJ2BsZXQgcyA9IG5ldyBT
ZXQoW10pOyBuZXcgc1tTeW1ib2wuaXRlcmF0b3JdKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NldC9wcm90b3R5cGUv
YWRkL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1NldC9wcm90b3R5cGUvYWRkL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4MjQ4
MGRhMTYwYTJkZWU1MTAzOWIwOGY1ZDVkODAxODcxMTBiMTYKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2V0L3Byb3RvdHlwZS9hZGQvbm90LWEtY29u
c3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sg
V2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBi
eSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2Vz
aWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9u
OiA+CisgIFNldC5wcm90b3R5cGUuYWRkIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1d
LCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3Rz
CisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBh
cyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRl
cm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0
aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAu
Li4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEg
VHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNd
CitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBTZXQsIGFycm93LWZ1bmN0aW9uXQorLS0t
Ki8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKFNldC5wcm90b3R5cGUuYWRkKSwg
ZmFsc2UsICdpc0NvbnN0cnVjdG9yKFNldC5wcm90b3R5cGUuYWRkKSBtdXN0IHJldHVybiBmYWxz
ZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgcyA9IG5ldyBT
ZXQoW10pOyBuZXcgcy5hZGQoKTsKK30sICdgbGV0IHMgPSBuZXcgU2V0KFtdKTsgbmV3IHMuYWRk
KClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1NldC9wcm90b3R5cGUvY2xlYXIvbm90LWEtY29uc3RydWN0b3IuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2V0L3Byb3RvdHlwZS9jbGVhci9ub3QtYS1j
b25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNzc5NDRjM2MxMDA4MGVlNGJiOWNhMzUzMGQ0Yjk2
ZTc0YTM4MTBkCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1NldC9wcm90b3R5cGUvY2xlYXIvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwy
OSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5k
YXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFNldC5wcm90b3R5cGUuY2xl
YXIgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5m
bzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlv
biBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QK
KyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3Ro
ZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1
bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVj
dG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgor
ICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5j
b25zdHJ1Y3QsIFNldCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVl
KGlzQ29uc3RydWN0b3IoU2V0LnByb3RvdHlwZS5jbGVhciksIGZhbHNlLCAnaXNDb25zdHJ1Y3Rv
cihTZXQucHJvdG90eXBlLmNsZWFyKSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgcyA9IG5ldyBTZXQoW10pOyBuZXcgcy5jbGVh
cigpOworfSwgJ2BsZXQgcyA9IG5ldyBTZXQoW10pOyBuZXcgcy5jbGVhcigpYCB0aHJvd3MgVHlw
ZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9T
ZXQvcHJvdG90eXBlL2RlbGV0ZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9TZXQvcHJvdG90eXBlL2RlbGV0ZS9ub3QtYS1jb25zdHJ1Y3Rvci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yZjhhZjEwNTA5ZGI1OTJjOTBlZDUwMGUxOTRiYmQ2MDFlZjQ0ZWJhCi0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NldC9wcm90
b3R5cGUvZGVsZXRlL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENv
cHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1p
bi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBTZXQucHJvdG90eXBlLmRlbGV0ZSBkb2VzIG5v
dCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVD
TUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMg
dGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1l
bnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3Bl
Y2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisK
KyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3Ry
dWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5j
bHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwg
U2V0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1
Y3RvcihTZXQucHJvdG90eXBlLmRlbGV0ZSksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihTZXQucHJv
dG90eXBlLmRlbGV0ZSkgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsICgpID0+IHsKKyAgbGV0IHMgPSBuZXcgU2V0KFtdKTsgbmV3IHMuZGVsZXRlKCk7Cit9
LCAnYGxldCBzID0gbmV3IFNldChbXSk7IG5ldyBzLmRlbGV0ZSgpYCB0aHJvd3MgVHlwZUVycm9y
Jyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TZXQvcHJv
dG90eXBlL2VudHJpZXMvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvU2V0L3Byb3RvdHlwZS9lbnRyaWVzL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjJiZjY4NjdkYWM0YjMxZjUwZTc4OWM1NzMzOGY1MzUwMmMyNWFlODQKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2V0L3Byb3RvdHlw
ZS9lbnRyaWVzL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHly
aWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlz
IGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1v
YmplY3RzCitkZXNjcmlwdGlvbjogPgorICBTZXQucHJvdG90eXBlLmVudHJpZXMgZG9lcyBub3Qg
aW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01B
U2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRo
YXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50
IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNp
ZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisg
IHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVj
dG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1
ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIFNl
dCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0
cnVjdG9yKFNldC5wcm90b3R5cGUuZW50cmllcyksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3Rv
cihTZXQucHJvdG90eXBlLmVudHJpZXMpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IHMgPSBuZXcgU2V0KFtdKTsgbmV3IHMu
ZW50cmllcygpOworfSwgJ2BsZXQgcyA9IG5ldyBTZXQoW10pOyBuZXcgcy5lbnRyaWVzKClgIHRo
cm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1NldC9wcm90b3R5cGUvZm9yRWFjaC9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TZXQvcHJvdG90eXBlL2ZvckVhY2gvbm90LWEtY29u
c3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDYyYzk4ZmE0MWIzZTIwMjk5N2M0ZjEyZDJmYmI5NTg0
M2I2YTg0YgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9TZXQvcHJvdG90eXBlL2ZvckVhY2gvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwz
MyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5k
YXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFNldC5wcm90b3R5cGUuZm9y
RWFjaCBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitp
bmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0
aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5v
dAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBv
dGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIg
ZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3Ry
dWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24u
CisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0
LmNvbnN0cnVjdCwgU2V0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIGlzQ29uc3RydWN0b3IoU2V0LnByb3RvdHlwZS5mb3JFYWNoKSwKKyAgZmFsc2UsCisg
ICdpc0NvbnN0cnVjdG9yKFNldC5wcm90b3R5cGUuZm9yRWFjaCkgbXVzdCByZXR1cm4gZmFsc2Un
CispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgcyA9IG5ldyBT
ZXQoW10pOyBuZXcgcy5mb3JFYWNoKCgpID0+IHt9KTsKK30sICdgbGV0IHMgPSBuZXcgU2V0KFtd
KTsgbmV3IHMuZm9yRWFjaCgoKSA9PiB7fSlgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NldC9wcm90b3R5cGUvaGFzL25v
dC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NldC9w
cm90b3R5cGUvaGFzL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhM2QzNWU2NGU4
NzA0NTY4ZmRkNmY0NDJhODE1ZmIwMmY4OGZiNTQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2V0L3Byb3RvdHlwZS9oYXMvbm90LWEtY29uc3RydWN0
b3IuanMKQEAgLTAsMCArMSwyOSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJv
bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNl
Yy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+Cisg
IFNldC5wcm90b3R5cGUuaGFzIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBu
b3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAg
QnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25z
dHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBt
ZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9m
IGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAg
Ny4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVy
cm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0
dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBTZXQsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKwor
YXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKFNldC5wcm90b3R5cGUuaGFzKSwgZmFsc2Us
ICdpc0NvbnN0cnVjdG9yKFNldC5wcm90b3R5cGUuaGFzKSBtdXN0IHJldHVybiBmYWxzZScpOwor
Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgcyA9IG5ldyBTZXQoW10p
OyBuZXcgcy5oYXMoKTsKK30sICdgbGV0IHMgPSBuZXcgU2V0KFtdKTsgbmV3IHMuaGFzKClgIHRo
cm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1NldC9wcm90b3R5cGUvdmFsdWVzL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NldC9wcm90b3R5cGUvdmFsdWVzL25vdC1hLWNvbnN0
cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlYjkyOGUyM2MwY2YxZjhmYjA2YjIzNTQzN2VlOTk5Mjk2
NDVjZGMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
U2V0L3Byb3RvdHlwZS92YWx1ZXMvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBA
QAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJk
LWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFNldC5wcm90b3R5cGUudmFsdWVz
IGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86
IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24g
b2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90Cisg
IGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVy
d2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5j
dGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rv
cihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAg
Li4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29u
c3RydWN0LCBTZXQsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShp
c0NvbnN0cnVjdG9yKFNldC5wcm90b3R5cGUudmFsdWVzKSwgZmFsc2UsICdpc0NvbnN0cnVjdG9y
KFNldC5wcm90b3R5cGUudmFsdWVzKSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgcyA9IG5ldyBTZXQoW10pOyBuZXcgcy52YWx1
ZXMoKTsKK30sICdgbGV0IHMgPSBuZXcgU2V0KFtdKTsgbmV3IHMudmFsdWVzKClgIHRocm93cyBU
eXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1NoYXJlZEFycmF5QnVmZmVyL2lzLWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIvaXMtYS1jb25zdHJ1Y3Rvci5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wNmMwNWQ2MDFjMDA1MzFiNjgwOTIwOWM3YzQxZDc2MTQ0YTViMDlmCi0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1NoYXJlZEFycmF5QnVm
ZmVyL2lzLWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyNCBAQAorLy8gQ29weXJpZ2h0IChD
KSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
KworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMK
K2Rlc2NyaXB0aW9uOiA+CisgIFRoZSBTaGFyZWRBcnJheUJ1ZmZlciBjb25zdHJ1Y3RvciBpbXBs
ZW1lbnRzIFtbQ29uc3RydWN0XV0KK2luZm86IHwKKyAgSXNDb25zdHJ1Y3RvciAoIGFyZ3VtZW50
ICkKKworICBUaGUgYWJzdHJhY3Qgb3BlcmF0aW9uIElzQ29uc3RydWN0b3IgdGFrZXMgYXJndW1l
bnQgYXJndW1lbnQgKGFuIEVDTUFTY3JpcHQgbGFuZ3VhZ2UgdmFsdWUpLgorICBJdCBkZXRlcm1p
bmVzIGlmIGFyZ3VtZW50IGlzIGEgZnVuY3Rpb24gb2JqZWN0IHdpdGggYSBbW0NvbnN0cnVjdF1d
IGludGVybmFsIG1ldGhvZC4KKyAgSXQgcGVyZm9ybXMgdGhlIGZvbGxvd2luZyBzdGVwcyB3aGVu
IGNhbGxlZDoKKworICBJZiBUeXBlKGFyZ3VtZW50KSBpcyBub3QgT2JqZWN0LCByZXR1cm4gZmFs
c2UuCisgIElmIGFyZ3VtZW50IGhhcyBhIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLCBy
ZXR1cm4gdHJ1ZS4KKyAgUmV0dXJuIGZhbHNlLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpz
XQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgU2hhcmVkQXJyYXlCdWZmZXJdCistLS0q
LworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoU2hhcmVkQXJyYXlCdWZmZXIpLCB0
cnVlLCAnaXNDb25zdHJ1Y3RvcihTaGFyZWRBcnJheUJ1ZmZlcikgbXVzdCByZXR1cm4gdHJ1ZScp
OworbmV3IFNoYXJlZEFycmF5QnVmZmVyKDEpOworICAKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9TaGFyZWRBcnJheUJ1ZmZlci9wcm90b3R5cGUvc2xpY2Uvbm90
LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVk
QXJyYXlCdWZmZXIvcHJvdG90eXBlL3NsaWNlL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjkxZmY2MzcxY2RjNjZjNmU0NTI5MGUwYjM2ZDk2YThiYmZmOTMyNTMKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU2hhcmVkQXJyYXlCdWZmZXIv
cHJvdG90eXBlL3NsaWNlL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWls
dC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBTaGFyZWRBcnJheUJ1ZmZlci5wcm90b3R5
cGUuc2xpY2UgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJs
ZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBm
dW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBk
byBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxl
c3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1
bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0Nv
bnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0
aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVm
bGVjdC5jb25zdHJ1Y3QsIFNoYXJlZEFycmF5QnVmZmVyLCBhcnJvdy1mdW5jdGlvbl0KKy0tLSov
CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoU2hhcmVkQXJyYXlCdWZmZXIu
cHJvdG90eXBlLnNsaWNlKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKFNoYXJlZEFycmF5
QnVmZmVyLnByb3RvdHlwZS5zbGljZSkgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgc2FiID0gbmV3IFNoYXJlZEFycmF5QnVm
ZmVyKDEpOyBuZXcgc2FiLnNsaWNlKCk7Cit9LCAnYGxldCBzYWIgPSBuZXcgU2hhcmVkQXJyYXlC
dWZmZXIoMSk7IG5ldyBzYWIuc2xpY2UoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL2Zyb21DaGFyQ29kZS9u
b3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJp
bmcvZnJvbUNoYXJDb2RlL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkODNlMzY1
ODNhZDUyODdlY2E5YTMyNDNmOGE0ZWMzYzA4MjE1OTEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL2Zyb21DaGFyQ29kZS9ub3QtYS1jb25z
dHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBX
YWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246
ID4KKyAgU3RyaW5nLmZyb21DaGFyQ29kZSBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3Rd
XSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0
cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQg
YXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50
ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlw
dGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAg
Li4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBh
IFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpz
XQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLwor
Cithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoU3RyaW5nLmZyb21DaGFyQ29kZSksIGZh
bHNlLCAnaXNDb25zdHJ1Y3RvcihTdHJpbmcuZnJvbUNoYXJDb2RlKSBtdXN0IHJldHVybiBmYWxz
ZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgU3RyaW5nLmZy
b21DaGFyQ29kZSgpOworfSwgJ2BuZXcgU3RyaW5nLmZyb21DaGFyQ29kZSgpYCB0aHJvd3MgVHlw
ZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9T
dHJpbmcvZnJvbUNvZGVQb2ludC9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvZnJvbUNvZGVQb2ludC9ub3QtYS1jb25zdHJ1Y3Rvci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xNWU1NDI1YjlmYWM5NzViYjE1MmExNDQwZWU3ZjBmZDhlYzNkOTdiCi0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9m
cm9tQ29kZVBvaW50L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENv
cHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1p
bi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBTdHJpbmcuZnJvbUNvZGVQb2ludCBkb2VzIG5v
dCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVD
TUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMg
dGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1l
bnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3Bl
Y2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisK
KyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3Ry
dWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5j
bHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwg
YXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3Io
U3RyaW5nLmZyb21Db2RlUG9pbnQpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoU3RyaW5nLmZyb21D
b2RlUG9pbnQpIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9y
LCAoKSA9PiB7CisgIG5ldyBTdHJpbmcuZnJvbUNvZGVQb2ludCgpOworfSwgJ2BuZXcgU3RyaW5n
LmZyb21Db2RlUG9pbnQoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL2lzLWEtY29uc3RydWN0b3IuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL2lzLWEtY29uc3RydWN0b3IuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzNkYjQ2ZTA4ZmEzMGZlYWNmMDI1YzU4NGI4Y2JiNTQ3ODg0MTYyNwotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvaXMt
YS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAg
UmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0t
LQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3Jp
cHRpb246ID4KKyAgVGhlIFN0cmluZyBjb25zdHJ1Y3RvciBpbXBsZW1lbnRzIFtbQ29uc3RydWN0
XV0KK2luZm86IHwKKyAgSXNDb25zdHJ1Y3RvciAoIGFyZ3VtZW50ICkKKworICBUaGUgYWJzdHJh
Y3Qgb3BlcmF0aW9uIElzQ29uc3RydWN0b3IgdGFrZXMgYXJndW1lbnQgYXJndW1lbnQgKGFuIEVD
TUFTY3JpcHQgbGFuZ3VhZ2UgdmFsdWUpLgorICBJdCBkZXRlcm1pbmVzIGlmIGFyZ3VtZW50IGlz
IGEgZnVuY3Rpb24gb2JqZWN0IHdpdGggYSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZC4K
KyAgSXQgcGVyZm9ybXMgdGhlIGZvbGxvd2luZyBzdGVwcyB3aGVuIGNhbGxlZDoKKworICBJZiBU
eXBlKGFyZ3VtZW50KSBpcyBub3QgT2JqZWN0LCByZXR1cm4gZmFsc2UuCisgIElmIGFyZ3VtZW50
IGhhcyBhIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLCByZXR1cm4gdHJ1ZS4KKyAgUmV0
dXJuIGZhbHNlLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZs
ZWN0LmNvbnN0cnVjdF0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihT
dHJpbmcpLCB0cnVlLCAnaXNDb25zdHJ1Y3RvcihTdHJpbmcpIG11c3QgcmV0dXJuIHRydWUnKTsK
K25ldyBTdHJpbmcoKTsKKyAgCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9TeW1ib2wuaXRlcmF0b3Ivbm90LWEtY29uc3RydWN0b3Iu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9TeW1i
b2wuaXRlcmF0b3Ivbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGJjY2UwNzFkYzZj
YjM4ZGZkNmNhMjNjMWUzZTE3Y2ViN2NiNWJlMgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL1N5bWJvbC5pdGVyYXRvci9u
b3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisv
Ki0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVz
Y3JpcHRpb246ID4KKyAgU3RyaW5nLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIGRvZXMgbm90
IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNN
QVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0
aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVu
dCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVj
aWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKwor
ICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1
Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNs
dWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBT
eW1ib2wsIFN5bWJvbC5pdGVyYXRvciwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQu
c2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKFN0cmluZy5wcm90b3R5cGVbU3ltYm9sLml0ZXJh
dG9yXSksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlW1N5bWJv
bC5pdGVyYXRvcl0pIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsICgpID0+IHsKKyAgbmV3IFN0cmluZy5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSgp
OworfSwgJ2BuZXcgU3RyaW5nLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdKClgIHRocm93cyBU
eXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1N0cmluZy9wcm90b3R5cGUvY2hhckF0L25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvY2hhckF0L25vdC1hLWNvbnN0
cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1MTM2YjEwNTI4NzRhMWZjYTcwMTI2YmMzMTI0OTVjYWU3
NDVjMjMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
U3RyaW5nL3Byb3RvdHlwZS9jaGFyQXQvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwz
MyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5k
YXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFN0cmluZy5wcm90b3R5cGUu
Y2hhckF0IGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUK
K2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVu
Y3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8g
bm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNz
IG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxh
ciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25z
dHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlv
bi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxl
Y3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUo
CisgIGlzQ29uc3RydWN0b3IoU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQpLAorICBmYWxzZSwKKyAg
J2lzQ29uc3RydWN0b3IoU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQpIG11c3QgcmV0dXJuIGZhbHNl
JworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IFN0cmluZy5w
cm90b3R5cGUuY2hhckF0KCk7Cit9LCAnYG5ldyBTdHJpbmcucHJvdG90eXBlLmNoYXJBdCgpYCB0
aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL2NoYXJDb2RlQXQvbm90LWEtY29uc3RydWN0b3IuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9jaGFyQ29k
ZUF0L25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwNDU4ZGQxMmU4YmI1ODJjM2Nl
OWVhMjdlZDNhYmY5NmRiYjg5NWMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9jaGFyQ29kZUF0L25vdC1hLWNvbnN0cnVj
dG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRy
b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBz
ZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgor
ICBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3Ry
dWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9i
amVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlm
aWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1d
IGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVz
Y3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldwor
CisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhy
b3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rv
ci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0t
Ki8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBl
LmNoYXJDb2RlQXQpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoU3RyaW5nLnByb3RvdHlw
ZS5jaGFyQ29kZUF0KSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCAoKSA9PiB7CisgIG5ldyBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQoKTsKK30s
ICdgbmV3IFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdCgpYCB0aHJvd3MgVHlwZUVycm9yJyk7
CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL2NvZGVQb2ludEF0L25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvY29kZVBvaW50QXQvbm90LWEtY29uc3Ry
dWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjM4ZGJiNjUzZmQxYWU3ZmIzNjg1ZDYxYjU1YTUwOTY4OGE3
NWQwYgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9T
dHJpbmcvcHJvdG90eXBlL2NvZGVQb2ludEF0L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAg
KzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1z
dGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBTdHJpbmcucHJvdG90
eXBlLmNvZGVQb2ludEF0IGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3Qg
bmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVp
bHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1
Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRo
b2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEg
cGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4g
SWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9y
IGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJl
czogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5z
YW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoU3RyaW5nLnByb3RvdHlwZS5jb2RlUG9pbnRBdCks
CisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLmNvZGVQb2ludEF0
KSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9
PiB7CisgIG5ldyBTdHJpbmcucHJvdG90eXBlLmNvZGVQb2ludEF0KCk7Cit9LCAnYG5ldyBTdHJp
bmcucHJvdG90eXBlLmNvZGVQb2ludEF0KClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvY29u
Y2F0L25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1N0cmluZy9wcm90b3R5cGUvY29uY2F0L25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU2MzA2ZWY5ZmZmOWRmMzhiM2ZhZDViY2YxOWEwNzdjMjAwMTc5ZWIKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9jb25j
YXQvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChD
KSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
KworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMK
K2Rlc2NyaXB0aW9uOiA+CisgIFN0cmluZy5wcm90b3R5cGUuY29uY2F0IGRvZXMgbm90IGltcGxl
bWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlw
dCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFy
ZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUg
W1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQg
aW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMt
ZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3Rvcikg
aXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczog
W2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1m
dW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoU3Ry
aW5nLnByb3RvdHlwZS5jb25jYXQpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoU3RyaW5n
LnByb3RvdHlwZS5jb25jYXQpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IFN0cmluZy5wcm90b3R5cGUuY29uY2F0KCk7Cit9
LCAnYG5ldyBTdHJpbmcucHJvdG90eXBlLmNvbmNhdCgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90
eXBlL2VuZHNXaXRoL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvZW5kc1dpdGgvbm90LWEtY29uc3RydWN0b3IuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzQyODBjNWMwMTk3NDllMTg0Y2FlNGRmNjU0M2M0NzQ3YjU4Njk0ZgotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL2VuZHNXaXRoL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWls
dC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBTdHJpbmcucHJvdG90eXBlLmVuZHNXaXRo
IGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86
IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24g
b2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90Cisg
IGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVy
d2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5j
dGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rv
cihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAg
Li4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29u
c3RydWN0LCBTdHJpbmcucHJvdG90eXBlLmVuZHNXaXRoLCBhcnJvdy1mdW5jdGlvbl0KKy0tLSov
CisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoU3RyaW5nLnByb3RvdHlwZS5l
bmRzV2l0aCksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLmVu
ZHNXaXRoKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9y
LCAoKSA9PiB7CisgIG5ldyBTdHJpbmcucHJvdG90eXBlLmVuZHNXaXRoKCk7Cit9LCAnYG5ldyBT
dHJpbmcucHJvdG90eXBlLmVuZHNXaXRoKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvaW5j
bHVkZXMvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvU3RyaW5nL3Byb3RvdHlwZS9pbmNsdWRlcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jOGM1YTk2OTJiOTQxYzgwODUwMDFiZTQzNTI0ODgzNTc1MTA5ZTEyCi0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUv
aW5jbHVkZXMvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9i
amVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFN0cmluZy5wcm90b3R5cGUuaW5jbHVkZXMgZG9lcyBu
b3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBF
Q01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3Rz
IHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVt
ZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNw
ZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgor
CisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0
cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2lu
Y2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3Qs
IGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1
Y3RvcihTdHJpbmcucHJvdG90eXBlLmluY2x1ZGVzKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVj
dG9yKFN0cmluZy5wcm90b3R5cGUuaW5jbHVkZXMpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKwor
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IFN0cmluZy5wcm90b3R5cGUu
aW5jbHVkZXMoMSk7Cit9LCAnYG5ldyBTdHJpbmcucHJvdG90eXBlLmluY2x1ZGVzKDEpYCB0aHJv
d3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9TdHJpbmcvcHJvdG90eXBlL2luZGV4T2Yvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9pbmRleE9mL25vdC1h
LWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAyYzA1YjA2MzhlMjUyMTY0NTRhYjMyMGI0Njhi
ODNjMTk5YTQzYWQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9pbmRleE9mL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0w
LDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlw
dC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBTdHJpbmcucHJv
dG90eXBlLmluZGV4T2YgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBu
ZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWls
dC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVj
dG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhv
ZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBw
YXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJ
ZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3Ig
ZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVz
OiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLmluZGV4T2YpLAorICBm
YWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mKSBtdXN0IHJl
dHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5l
dyBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YoKTsKK30sICdgbmV3IFN0cmluZy5wcm90b3R5cGUu
aW5kZXhPZigpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL2xhc3RJbmRleE9mL25vdC1hLWNv
bnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90
b3R5cGUvbGFzdEluZGV4T2Yvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYxM2Y0
ZmI2ZWEyOWExMjU2ZjlkOTkyYmQyZTI3MTM3NzU2N2ExYwotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL2xhc3RJbmRleE9m
L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMg
Z292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisK
Ky8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitk
ZXNjcmlwdGlvbjogPgorICBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mIGRvZXMgbm90IGlt
cGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNj
cmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0
IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0
aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZp
ZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBz
ZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3Rv
cikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRl
czogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJv
dy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3Io
U3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZiksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3Rv
cihTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisK
K2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBTdHJpbmcucHJvdG90eXBl
Lmxhc3RJbmRleE9mKCk7Cit9LCAnYG5ldyBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKClg
IHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvbG9jYWxlQ29tcGFyZS9ub3QtYS1jb25zdHJ1Y3Rv
ci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL2xv
Y2FsZUNvbXBhcmUvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGQ4NzI0OGFlMGFl
Yzk3M2VmNWJiMWI4YzFjZWM2NWZiYjg1ZWMzMAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL2xvY2FsZUNvbXBhcmUvbm90
LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIw
IFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zl
cm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyot
LS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2Ny
aXB0aW9uOiA+CisgIFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSBkb2VzIG5vdCBpbXBs
ZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3Jp
cHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBh
cmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhl
IFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVk
IGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2Vj
LWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3Ip
IGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6
IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ct
ZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKFN0
cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3Rv
cihTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUpIG11c3QgcmV0dXJuIGZhbHNlJworKTsK
KworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IFN0cmluZy5wcm90b3R5
cGUubG9jYWxlQ29tcGFyZSgpOworfSwgJ2BuZXcgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21w
YXJlKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvbWF0Y2gvbm90LWEtY29uc3RydWN0b3Iu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9tYXRj
aC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYjc5YTA4YTVmODM0YTEyZDY5MjEx
Y2I1NzYyYjgwNDIyNWU1ZDNhCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvbWF0Y2gvbm90LWEtY29uc3RydWN0b3IuanMK
QEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21h
c2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFN0cmlu
Zy5wcm90b3R5cGUubWF0Y2ggZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5v
dCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBC
dWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0
cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1l
dGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2Yg
YSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3
LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJy
b3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1
cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLm1hdGNoKSwKKyAg
ZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKFN0cmluZy5wcm90b3R5cGUubWF0Y2gpIG11c3QgcmV0
dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3
IFN0cmluZy5wcm90b3R5cGUubWF0Y2goKTsKK30sICdgbmV3IFN0cmluZy5wcm90b3R5cGUubWF0
Y2goKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9tYXRjaEFsbC9ub3QtYS1jb25zdHJ1Y3Rv
ci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL21h
dGNoQWxsL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhNmI0M2VkMzJjNmM5YTk5
YThmZjkxOGZiYWM5OGIzNjAxZTFhMTMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9tYXRjaEFsbC9ub3QtYS1jb25zdHJ1
Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxk
cm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRo
ZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDog
c2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4K
KyAgU3RyaW5nLnByb3RvdHlwZS5tYXRjaEFsbCBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1
Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2Jq
ZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZp
ZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0g
aW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNj
cmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisK
KyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJv
dyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9y
LmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgU3RyaW5nLnByb3RvdHlwZS5tYXRj
aEFsbCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0Nv
bnN0cnVjdG9yKFN0cmluZy5wcm90b3R5cGUubWF0Y2hBbGwpLAorICBmYWxzZSwKKyAgJ2lzQ29u
c3RydWN0b3IoU3RyaW5nLnByb3RvdHlwZS5tYXRjaEFsbCkgbXVzdCByZXR1cm4gZmFsc2UnCisp
OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgU3RyaW5nLnByb3Rv
dHlwZS5tYXRjaEFsbCgpOworfSwgJ2BuZXcgU3RyaW5nLnByb3RvdHlwZS5tYXRjaEFsbCgpYCB0
aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL25vcm1hbGl6ZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL25vcm1hbGl6
ZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iODU0ZTQ5NTA4NGNhY2IzNWU5ODZi
OWM2MWQ4ODM1YWNjZTdhOTEzCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvbm9ybWFsaXplL25vdC1hLWNvbnN0cnVjdG9y
LmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMt
ZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBT
dHJpbmcucHJvdG90eXBlLm5vcm1hbGl6ZSBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3Rd
XSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0
cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQg
YXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50
ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlw
dGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAg
Li4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBh
IFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpz
XQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLwor
Cithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKFN0cmluZy5wcm90b3R5cGUubm9y
bWFsaXplKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKFN0cmluZy5wcm90b3R5cGUubm9y
bWFsaXplKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9y
LCAoKSA9PiB7CisgIG5ldyBTdHJpbmcucHJvdG90eXBlLm5vcm1hbGl6ZSgpOworfSwgJ2BuZXcg
U3RyaW5nLnByb3RvdHlwZS5ub3JtYWxpemUoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9w
YWRFbmQvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvU3RyaW5nL3Byb3RvdHlwZS9wYWRFbmQvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYWQzODYyYzFlNWNiYjViY2VmMjczYTMyYTdmMDZkNGQ0Mjc2MDVlYwotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3Bh
ZEVuZC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQg
KEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2Rl
IGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0
cworZGVzY3JpcHRpb246ID4KKyAgU3RyaW5nLnByb3RvdHlwZS5wYWRFbmQgZG9lcyBub3QgaW1w
bGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2Ny
aXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQg
YXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRo
ZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmll
ZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNl
Yy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9y
KSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVz
OiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93
LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihT
dHJpbmcucHJvdG90eXBlLnBhZEVuZCksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihTdHJp
bmcucHJvdG90eXBlLnBhZEVuZCkgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgU3RyaW5nLnByb3RvdHlwZS5wYWRFbmQoKTsK
K30sICdgbmV3IFN0cmluZy5wcm90b3R5cGUucGFkRW5kKClgIHRocm93cyBUeXBlRXJyb3InKTsK
KwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90
b3R5cGUvcGFkU3RhcnQvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9wYWRTdGFydC9ub3QtYS1jb25zdHJ1Y3Rvci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kMjM2YTY4ODI2NWNmYWU0MWQxMmNiYTU5Y2JjNDczMDY1MzI1MWI0Ci0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9w
cm90b3R5cGUvcGFkU3RhcnQvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAor
Ly8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1
aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFN0cmluZy5wcm90b3R5cGUucGFkU3Rh
cnQgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5m
bzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlv
biBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QK
KyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3Ro
ZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1
bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVj
dG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgor
ICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5j
b25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
aXNDb25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLnBhZFN0YXJ0KSwKKyAgZmFsc2UsCisgICdp
c0NvbnN0cnVjdG9yKFN0cmluZy5wcm90b3R5cGUucGFkU3RhcnQpIG11c3QgcmV0dXJuIGZhbHNl
JworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IFN0cmluZy5w
cm90b3R5cGUucGFkU3RhcnQoKTsKK30sICdgbmV3IFN0cmluZy5wcm90b3R5cGUucGFkU3RhcnQo
KWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBlYXQvbm90LWEtY29uc3RydWN0b3IuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9yZXBlYXQv
bm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDBhNGIxN2E4NzIwNjczZjFhYzc1M2Y2
MWFjOWQzZjA0ZjI3NmJmMQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGVhdC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpA
QCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFz
Y3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgU3RyaW5n
LnByb3RvdHlwZS5yZXBlYXQgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5v
dCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBC
dWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0
cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1l
dGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2Yg
YSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3
LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJy
b3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1
cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLnJlcGVhdCksCisg
IGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLnJlcGVhdCkgbXVzdCBy
ZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBu
ZXcgU3RyaW5nLnByb3RvdHlwZS5yZXBlYXQoKTsKK30sICdgbmV3IFN0cmluZy5wcm90b3R5cGUu
cmVwZWF0KClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFjZS9ub3QtYS1jb25zdHJ1
Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBl
L3JlcGxhY2Uvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGZmOWFmYWRkOTFjYTE3
NzZhYzk4NGFjMDVhNWMxNjYxODNhMjA4ZAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2Uvbm90LWEtY29uc3Ry
dWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2Fs
ZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6
IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+
CisgIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZSBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1
Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2Jq
ZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZp
ZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0g
aW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNj
cmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisK
KyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJv
dyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9y
LmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0q
LworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKFN0cmluZy5wcm90b3R5cGUu
cmVwbGFjZSksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLnJl
cGxhY2UpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3Is
ICgpID0+IHsKKyAgbmV3IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZSgpOworfSwgJ2BuZXcgU3Ry
aW5nLnByb3RvdHlwZS5yZXBsYWNlKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvcmVwbGFj
ZUFsbC9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9TdHJpbmcvcHJvdG90eXBlL3JlcGxhY2VBbGwvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDU4OTIzM2MwNTE4MDdmOTU2Y2EyZGQyNGZjNDgwMjg4ZGEzNzE1YQotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBl
L3JlcGxhY2VBbGwvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29w
eXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRo
aXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VO
U0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWlu
LW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCBk
b2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8
CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9i
amVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBp
bXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndp
c2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rp
b24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3Io
Y29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4u
LgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0
cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0Nv
bnN0cnVjdG9yKFN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCksCisgIGZhbHNlLAorICAnaXND
b25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwpIG11c3QgcmV0dXJuIGZhbHNl
JworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IFN0cmluZy5w
cm90b3R5cGUucmVwbGFjZUFsbCgpOworfSwgJ2BuZXcgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNl
QWxsKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc2VhcmNoL25vdC1hLWNvbnN0cnVjdG9y
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc2Vh
cmNoL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiMmRjNTBjNjMzYjdiOTUwMmJi
ZGY3YTdlYmEyMzdkMDZmZWNhYmUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zZWFyY2gvbm90LWEtY29uc3RydWN0b3Iu
anMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1l
Y21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFN0
cmluZy5wcm90b3R5cGUuc2VhcmNoIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBp
cyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisK
KyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBj
b25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5h
bCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9u
IG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4K
KyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlw
ZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitm
ZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gp
LAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gpIG11
c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsK
KyAgbmV3IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoKCk7Cit9LCAnYG5ldyBTdHJpbmcucHJvdG90
eXBlLnNlYXJjaCgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NsaWNlL25vdC1hLWNvbnN0
cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5
cGUvc2xpY2Uvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzM0ZjJmMzg5NWRhYmI4
NTZkMmU0YzM2NDJkNDczZTJmOTcwZDQwNQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3NsaWNlL25vdC1hLWNvbnN0cnVj
dG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRy
b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBz
ZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgor
ICBTdHJpbmcucHJvdG90eXBlLnNsaWNlIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1d
LCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3Rz
CisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBh
cyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRl
cm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0
aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAu
Li4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEg
VHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNd
CitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisK
K2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoU3RyaW5nLnByb3RvdHlwZS5zbGlj
ZSksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLnNsaWNlKSBt
dXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7
CisgIG5ldyBTdHJpbmcucHJvdG90eXBlLnNsaWNlKCk7Cit9LCAnYG5ldyBTdHJpbmcucHJvdG90
eXBlLnNsaWNlKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvbm90LWEtY29uc3Ry
dWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlw
ZS9zcGxpdC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NWFiYjRhZDFlNmVmOGU4
ZWNlYWNlN2I2MDUyYzBjOWVhZGI2YTgzCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3BsaXQvbm90LWEtY29uc3RydWN0
b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJv
bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNl
Yy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+Cisg
IFN0cmluZy5wcm90b3R5cGUuc3BsaXQgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0s
IGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMK
KworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFz
IGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVy
bmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRp
b24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4u
LgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBU
eXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10K
K2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKwor
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLnNwbGl0
KSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKFN0cmluZy5wcm90b3R5cGUuc3BsaXQpIG11
c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsK
KyAgbmV3IFN0cmluZy5wcm90b3R5cGUuc3BsaXQoKTsKK30sICdgbmV3IFN0cmluZy5wcm90b3R5
cGUuc3BsaXQoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zdGFydHNXaXRoL25vdC1hLWNv
bnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90
b3R5cGUvc3RhcnRzV2l0aC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ODhlM2Uy
MzJjODhkMDEwZmVkZjIyNzA0YWU5NGY1YjgwYWU2NjkwCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvc3RhcnRzV2l0aC9u
b3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisv
Ki0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVz
Y3JpcHRpb246ID4KKyAgU3RyaW5nLnByb3RvdHlwZS5zdGFydHNXaXRoIGRvZXMgbm90IGltcGxl
bWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlw
dCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFy
ZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUg
W1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQg
aW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMt
ZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3Rvcikg
aXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczog
W2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1m
dW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoU3Ry
aW5nLnByb3RvdHlwZS5zdGFydHNXaXRoKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKFN0
cmluZy5wcm90b3R5cGUuc3RhcnRzV2l0aCkgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3Nl
cnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgU3RyaW5nLnByb3RvdHlwZS5zdGFy
dHNXaXRoKCk7Cit9LCAnYG5ldyBTdHJpbmcucHJvdG90eXBlLnN0YXJ0c1dpdGgoKWAgdGhyb3dz
IFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvU3RyaW5nL3Byb3RvdHlwZS9zdWJzdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS9zdWJzdHJpbmcvbm90
LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTRkOGJhZjYwNTg0NjZkYjRjOTY3MWU3NWRh
ZGU4YjY3ZDc0MzJjZQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3N1YnN0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpA
QCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFz
Y3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgU3RyaW5n
LnByb3RvdHlwZS5zdWJzdHJpbmcgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlz
IG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKwor
ICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNv
bnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFs
IG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24g
b2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgor
ICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBl
RXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2Zl
YXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLnN1YnN0cmlu
ZyksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLnN1YnN0cmlu
ZykgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkg
PT4geworICBuZXcgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcoKTsKK30sICdgbmV3IFN0cmlu
Zy5wcm90b3R5cGUuc3Vic3RyaW5nKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvdG9Mb2Nh
bGVMb3dlckNhc2Uvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS90b0xvY2FsZUxvd2VyQ2FzZS9ub3QtYS1jb25zdHJ1
Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hMjU3MzIyMmMwZjk4ZmQ4NWNjMzJmOTIyMjMxMTgwYjQ1NWFh
NzZlCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0
cmluZy9wcm90b3R5cGUvdG9Mb2NhbGVMb3dlckNhc2Uvbm90LWEtY29uc3RydWN0b3IuanMKQEAg
LTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2Ny
aXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFN0cmluZy5w
cm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0
XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVj
dHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVk
IGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGlu
dGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3Jp
cHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisg
IC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cg
YSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5q
c10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8K
KworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLnRv
TG9jYWxlTG93ZXJDYXNlKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKFN0cmluZy5wcm90
b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IFN0cmluZy5wcm90b3R5cGUudG9Mb2Nh
bGVMb3dlckNhc2UoKTsKK30sICdgbmV3IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNh
c2UoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS90b0xvY2FsZVVwcGVyQ2FzZS9ub3QtYS1j
b25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL3RvTG9jYWxlVXBwZXJDYXNlL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjA4ZmFmMTc5MTMxZDY1YmMzZjYxMTMzNDI5ZmMzMDJjOTBlNDc5NjkKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS90b0xv
Y2FsZVVwcGVyQ2FzZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBD
b3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQt
aW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVw
cGVyQ2FzZSBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxl
CitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1
bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRv
IG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVz
cyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3Vs
YXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29u
c3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRp
b24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZs
ZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVl
KAorICBpc0NvbnN0cnVjdG9yKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UpLAor
ICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVy
Q2FzZSkgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
KCkgPT4geworICBuZXcgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZSgpOworfSwg
J2BuZXcgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZSgpYCB0aHJvd3MgVHlwZUVy
cm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJp
bmcvcHJvdG90eXBlL3RvTG93ZXJDYXNlL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvdG9Mb3dlckNhc2Uvbm90LWEt
Y29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWNiYTJhY2Y4OGJjYWQwMWZhMTI2ZmEyMmE4NGQ3
N2JlNTdiYjMwZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9TdHJpbmcvcHJvdG90eXBlL3RvTG93ZXJDYXNlL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBA
IC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNj
cmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBTdHJpbmcu
cHJvdG90eXBlLnRvTG93ZXJDYXNlIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBp
cyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisK
KyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBj
b25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5h
bCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9u
IG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4K
KyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlw
ZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitm
ZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoU3RyaW5nLnByb3RvdHlwZS50b0xvd2Vy
Q2FzZSksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLnRvTG93
ZXJDYXNlKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9y
LCAoKSA9PiB7CisgIG5ldyBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCk7Cit9LCAnYG5l
dyBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90b3R5
cGUvdG9TdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS90b1N0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kZGJiOTg2Yjk0OWM5MWY5NDZhMzk3NDY3MjhlYzFmMTEyNzc2YWYyCi0tLSAv
ZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9wcm90
b3R5cGUvdG9TdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8g
Q29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0
LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcg
ZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzog
fAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBv
YmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAg
aW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3
aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0
aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9y
KGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAu
Li4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25z
dHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXND
b25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKSwKKyAgZmFsc2UsCisgICdpc0Nv
bnN0cnVjdG9yKFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcpIG11c3QgcmV0dXJuIGZhbHNlJwor
KTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IFN0cmluZy5wcm90
b3R5cGUudG9TdHJpbmcoKTsKK30sICdgbmV3IFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcoKWAg
dGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS90b1VwcGVyQ2FzZS9ub3QtYS1jb25zdHJ1Y3Rvci5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3RvVXBw
ZXJDYXNlL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMxOTY4MGM3ODYyZWY3Mzdh
NTBiOTgzODI4Y2ZiYzI3MjEwNjY5ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS90b1VwcGVyQ2FzZS9ub3QtYS1jb25z
dHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBX
YWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246
ID4KKyAgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZSBkb2VzIG5vdCBpbXBsZW1lbnQgW1tD
b25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rp
b24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlk
ZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3Ry
dWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRo
ZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRl
bmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNl
LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0
cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25d
CistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKFN0cmluZy5wcm90
b3R5cGUudG9VcHBlckNhc2UpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoU3RyaW5nLnBy
b3RvdHlwZS50b1VwcGVyQ2FzZSkgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2Fz
ZSgpOworfSwgJ2BuZXcgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZSgpYCB0aHJvd3MgVHlw
ZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9T
dHJpbmcvcHJvdG90eXBlL3RyaW0vbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS90cmltL25vdC1hLWNvbnN0cnVjdG9y
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjYyOTMyZjc5N2Y3MjZlNzgyNTk5YjRkZTI3NDA5MmFlMTUzMWYxNzQK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5n
L3Byb3RvdHlwZS90cmltL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWls
dC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBTdHJpbmcucHJvdG90eXBlLnRyaW0gZG9l
cyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAor
ICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmpl
Y3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1w
bGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNl
IHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9u
LgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNv
bnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4K
K2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1
Y3QsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25z
dHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLnRyaW0pLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0
b3IoU3RyaW5nLnByb3RvdHlwZS50cmltKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBTdHJpbmcucHJvdG90eXBlLnRyaW0o
KTsKK30sICdgbmV3IFN0cmluZy5wcm90b3R5cGUudHJpbSgpYCB0aHJvd3MgVHlwZUVycm9yJyk7
CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJv
dG90eXBlL3RyaW1FbmQvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS90cmltRW5kL25vdC1hLWNvbnN0cnVjdG9yLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjZmZmFhZTkzM2Y5MjQ1ODVmNWQwMTdiMjZkNGFjMjU2YmVhN2VjOGEKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3By
b3RvdHlwZS90cmltRW5kL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWls
dC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBTdHJpbmcucHJvdG90eXBlLnRyaW1FbmQg
ZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzog
fAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBv
YmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAg
aW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3
aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0
aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9y
KGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAu
Li4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25z
dHJ1Y3QsIHN0cmluZy10cmltbWluZywgU3RyaW5nLnByb3RvdHlwZS50cmltRW5kLCBhcnJvdy1m
dW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoU3Ry
aW5nLnByb3RvdHlwZS50cmltRW5kKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKFN0cmlu
Zy5wcm90b3R5cGUudHJpbUVuZCkgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgU3RyaW5nLnByb3RvdHlwZS50cmltRW5kKCk7
Cit9LCAnYG5ldyBTdHJpbmcucHJvdG90eXBlLnRyaW1FbmQoKWAgdGhyb3dzIFR5cGVFcnJvcicp
OworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3By
b3RvdHlwZS90cmltU3RhcnQvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvU3RyaW5nL3Byb3RvdHlwZS90cmltU3RhcnQvbm90LWEtY29uc3RydWN0
b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjYxMjIxNWQwYTdhYjFiMzUxNzRmOWM0ODA3MDFjNDliZThhNjhk
NgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJp
bmcvcHJvdG90eXBlL3RyaW1TdGFydC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMz
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRh
cmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgU3RyaW5nLnByb3RvdHlwZS50
cmltU3RhcnQgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJs
ZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBm
dW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBk
byBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxl
c3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1
bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0Nv
bnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0
aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVm
bGVjdC5jb25zdHJ1Y3QsIHN0cmluZy10cmltbWluZywgU3RyaW5nLnByb3RvdHlwZS50cmltU3Rh
cnQsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25z
dHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLnRyaW1TdGFydCksCisgIGZhbHNlLAorICAnaXNDb25z
dHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLnRyaW1TdGFydCkgbXVzdCByZXR1cm4gZmFsc2UnCisp
OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgU3RyaW5nLnByb3Rv
dHlwZS50cmltU3RhcnQoKTsKK30sICdgbmV3IFN0cmluZy5wcm90b3R5cGUudHJpbVN0YXJ0KClg
IHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1N0cmluZy9wcm90b3R5cGUvdmFsdWVPZi9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3ZhbHVlT2Yv
bm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWM2ZGVkNzczNDFmZjg4YTk0YmYyNDk4
Y2VhMzZmZTg5Y2RkYTA0MQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9TdHJpbmcvcHJvdG90eXBlL3ZhbHVlT2Yvbm90LWEtY29uc3RydWN0b3IuanMK
QEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21h
c2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFN0cmlu
Zy5wcm90b3R5cGUudmFsdWVPZiBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMg
bm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisg
IEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29u
c3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwg
bWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBv
ZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisg
IDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVF
cnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVh
dHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3Nl
cnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKFN0cmluZy5wcm90b3R5cGUudmFsdWVPZiks
CisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YpIG11
c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsK
KyAgbmV3IFN0cmluZy5wcm90b3R5cGUudmFsdWVPZigpOworfSwgJ2BuZXcgU3RyaW5nLnByb3Rv
dHlwZS52YWx1ZU9mKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0cmluZy9yYXcvbm90LWEtY29uc3RydWN0b3IuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3RyaW5nL3Jhdy9ub3QtYS1jb25zdHJ1
Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40NjBjZTJlYjY5ZDJhM2NkOTVlNTdjYTU0MzdhMjVhYWFjNmU4
YjU3Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N0
cmluZy9yYXcvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyOSBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9i
amVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFN0cmluZy5yYXcgZG9lcyBub3QgaW1wbGVtZW50IFtb
Q29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0
aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBp
ZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0
cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0
aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0
ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxz
ZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25z
dHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9u
XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKFN0cmluZy5yYXcpLCBm
YWxzZSwgJ2lzQ29uc3RydWN0b3IoU3RyaW5nLnJhdykgbXVzdCByZXR1cm4gZmFsc2UnKTsKKwor
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbmV3IFN0cmluZy5yYXcoe3Jhdzog
W119LCBbXSk7Cit9LCAnYG5ldyBTdHJpbmcucmF3KHtyYXc6IFtdfSwgW10pYCB0aHJvd3MgVHlw
ZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9T
eW1ib2wvZm9yL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1N5bWJvbC9mb3Ivbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDA3Nzk1
OTFjYTgyOTY4N2M3Nzc1YWMzY2JhYmQ2NzE2NGNmZjAxNgotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TeW1ib2wvZm9yL25vdC1hLWNvbnN0cnVjdG9y
LmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMt
ZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBT
eW1ib2wuZm9yIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFi
bGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4g
ZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMg
ZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5s
ZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGlj
dWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXND
b25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2Vw
dGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1Jl
ZmxlY3QuY29uc3RydWN0LCBTeW1ib2wsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0
LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKFN5bWJvbC5mb3IpLCBmYWxzZSwgJ2lzQ29uc3RydWN0
b3IoU3ltYm9sLmZvcikgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsICgpID0+IHsKKyAgbmV3IFN5bWJvbC5mb3IoKTsKK30sICdgbmV3IFN5bWJvbC5mb3Io
KWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvU3ltYm9sL2tleUZvci9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9TeW1ib2wva2V5Rm9yL25vdC1hLWNvbnN0cnVjdG9yLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmMxZGExZjc5ZjRjY2UzNzZkYTA1YTAzOThlZTc2NDgzNjVmMTllZDYKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3ltYm9sL2tl
eUZvci9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQg
KEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2Rl
IGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0
cworZGVzY3JpcHRpb246ID4KKyAgU3ltYm9sLmtleUZvciBkb2VzIG5vdCBpbXBsZW1lbnQgW1tD
b25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rp
b24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlk
ZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3Ry
dWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRo
ZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRl
bmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNl
LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0
cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgU3ltYm9sLCBhcnJvdy1m
dW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihTeW1ib2wu
a2V5Rm9yKSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKFN5bWJvbC5rZXlGb3IpIG11c3QgcmV0dXJu
IGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBTeW1i
b2wua2V5Rm9yKFN5bWJvbCgpKTsKK30sICdgbmV3IFN5bWJvbC5rZXlGb3IoU3ltYm9sKCkpYCB0
aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9TeW1ib2wvcHJvdG90eXBlL3RvU3RyaW5nL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1N5bWJvbC9wcm90b3R5cGUvdG9TdHJpbmcv
bm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGJiNmU5ZmI4YjFmOGY1ZmI0YWJjMzdk
NjAxNzNiOGE5ZTg2ZjcwYQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9TeW1ib2wvcHJvdG90eXBlL3RvU3RyaW5nL25vdC1hLWNvbnN0cnVjdG9yLmpz
CkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBs
aWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNt
YXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBTeW1i
b2wucHJvdG90eXBlLnRvU3RyaW5nIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBp
cyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisK
KyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBj
b25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5h
bCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9u
IG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4K
KyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlw
ZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitm
ZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBTeW1ib2wsIGFycm93LWZ1bmN0aW9uXQorLS0t
Ki8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihTeW1ib2wucHJvdG90eXBl
LnRvU3RyaW5nKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKFN5bWJvbC5wcm90b3R5cGUu
dG9TdHJpbmcpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsICgpID0+IHsKKyAgbGV0IHN5bWJvbCA9IFN5bWJvbCgpOyBuZXcgc3ltYm9sLnRvU3RyaW5n
KCk7Cit9LCAnYGxldCBzeW1ib2wgPSBTeW1ib2woKTsgbmV3IHN5bWJvbC50b1N0cmluZygpYCB0
aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9TeW1ib2wvcHJvdG90eXBlL3ZhbHVlT2Yvbm90LWEtY29uc3RydWN0b3IuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvU3ltYm9sL3Byb3RvdHlwZS92YWx1ZU9mL25v
dC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiYjdlN2VmMThkYjI5MTk1NDJhM2ZhNTBl
MTlhMzlhOWFjNjY5YmMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvU3ltYm9sL3Byb3RvdHlwZS92YWx1ZU9mL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBA
IC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNj
cmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBTeW1ib2wu
cHJvdG90eXBlLnZhbHVlT2YgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5v
dCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBC
dWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0
cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1l
dGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2Yg
YSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3
LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJy
b3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1
cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIFN5bWJvbCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLwor
Cithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKFN5bWJvbC5wcm90b3R5cGUudmFs
dWVPZiksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihTeW1ib2wucHJvdG90eXBlLnZhbHVl
T2YpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgp
ID0+IHsKKyAgbGV0IHN5bWJvbCA9IFN5bWJvbCgpOyBuZXcgc3ltYm9sLnZhbHVlT2YoKTsKK30s
ICdgbGV0IHN5bWJvbCA9IFN5bWJvbCgpOyBuZXcgc3ltYm9sLnZhbHVlT2YoKWAgdGhyb3dzIFR5
cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheS9mcm9tL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvZnJvbS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zNjNmZDljZTBlNDJlZWFmMjMyNDMxOWZkMzZiNTNjZmEzY2ZmZmYzCi0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvZnJvbS9u
b3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisv
Ki0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVz
Y3JpcHRpb246ID4KKyAgVHlwZWRBcnJheS5mcm9tIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0
cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBP
YmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRp
ZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3Rd
XSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRl
c2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcK
KworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRo
cm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0
b3IuanMsIHRlc3RUeXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwg
VHlwZWRBcnJheSwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlz
Q29uc3RydWN0b3IoVHlwZWRBcnJheS5mcm9tKSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKFR5cGVk
QXJyYXkuZnJvbSkgbXVzdCByZXR1cm4gZmFsc2UnKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsICgpID0+IHsKKyAgbmV3IFR5cGVkQXJyYXkuZnJvbShbXSk7Cit9LCAnYG5ldyBUeXBlZEFy
cmF5LmZyb20oW10pYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L29mL25vdC1hLWNvbnN0cnVjdG9yLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvb2Yvbm90LWEtY29u
c3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzE3YTU5OWYxMmU5MDg3Njc1ZDZmMzk5YjA0NDY1MzBi
MWUwYjE5NgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5L29mL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWls
dC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBUeXBlZEFycmF5Lm9mIGRvZXMgbm90IGlt
cGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNj
cmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0
IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0
aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZp
ZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBz
ZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3Rv
cikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRl
czogW2lzQ29uc3RydWN0b3IuanMsIHRlc3RUeXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFtSZWZs
ZWN0LmNvbnN0cnVjdCwgVHlwZWRBcnJheSwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3Nl
cnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoVHlwZWRBcnJheS5vZiksIGZhbHNlLCAnaXNDb25z
dHJ1Y3RvcihUeXBlZEFycmF5Lm9mKSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgVHlwZWRBcnJheS5vZigxLCAyLCAzLCA0KTsK
K30sICdgbmV3IFR5cGVkQXJyYXkub2YoMSwgMiwgMywgNClgIHRocm93cyBUeXBlRXJyb3InKTsK
KwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkv
cHJvdG90eXBlL1N5bWJvbC5pdGVyYXRvci9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9TeW1ib2wuaXRlcmF0
b3Ivbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTU3M2EwN2U5YjE0MDAyNzczMWFj
ZTFlMzQ0OWNkMTljY2ZhNTE3NQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9TeW1ib2wuaXRlcmF0b3Ivbm90LWEt
Y29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJp
Y2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0K
K2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0
aW9uOiA+CisgIFR5cGVkQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0gZG9lcyBub3Qg
aW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01B
U2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRo
YXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50
IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNp
ZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisg
IHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVj
dG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1
ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qcywgdGVzdFR5cGVkQXJyYXkuanNdCitmZWF0dXJlczogW1Jl
ZmxlY3QuY29uc3RydWN0LCBTeW1ib2wsIFN5bWJvbC5pdGVyYXRvciwgYXJyb3ctZnVuY3Rpb24s
IFR5cGVkQXJyYXldCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9y
KFR5cGVkQXJyYXkucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0pLAorICBmYWxzZSwKKyAgJ2lz
Q29uc3RydWN0b3IoVHlwZWRBcnJheS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXSkgbXVzdCBy
ZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBs
ZXQgdTggPSBuZXcgVWludDhBcnJheSgxKTsgbmV3IHU4W1N5bWJvbC5pdGVyYXRvcl0oKTsKK30s
ICdgbGV0IHU4ID0gbmV3IFVpbnQ4QXJyYXkoMSk7IG5ldyB1OFtTeW1ib2wuaXRlcmF0b3JdKClg
IHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2NvcHlXaXRoaW4vbm90LWEtY29uc3RydWN0
b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5
cGUvY29weVdpdGhpbi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMDdiNDYxOTUz
Y2RhZDliYjhiMTQwYzQ1M2Q1ODMzZjlmZmJjYmJlCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2NvcHlXaXRoaW4v
bm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAy
MDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKwor
LyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rl
c2NyaXB0aW9uOiA+CisgIFR5cGVkQXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW4gZG9lcyBub3Qg
aW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01B
U2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRo
YXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50
IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNp
ZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisg
IHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVj
dG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1
ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qcywgdGVzdFR5cGVkQXJyYXkuanNdCitmZWF0dXJlczogW1Jl
ZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbiwgVHlwZWRBcnJheV0KKy0tLSovCisKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoVHlwZWRBcnJheS5wcm90b3R5cGUuY29w
eVdpdGhpbiksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihUeXBlZEFycmF5LnByb3RvdHlw
ZS5jb3B5V2l0aGluKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCAoKSA9PiB7CisgIGxldCB1OCA9IG5ldyBVaW50OEFycmF5KDEpOyBuZXcgdTguY29w
eVdpdGhpbigpOworfSwgJ2BsZXQgdTggPSBuZXcgVWludDhBcnJheSgxKTsgbmV3IHU4LmNvcHlX
aXRoaW4oKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZW50cmllcy9ub3QtYS1jb25z
dHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3By
b3RvdHlwZS9lbnRyaWVzL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4Mzc0Y2Uy
OGQyNGU3ODE5ZDEyMDFmNTUxYzVjNTkwMjYxZTVhYWEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZW50cmllcy9u
b3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisv
Ki0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVz
Y3JpcHRpb246ID4KKyAgVHlwZWRBcnJheS5wcm90b3R5cGUuZW50cmllcyBkb2VzIG5vdCBpbXBs
ZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3Jp
cHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBh
cmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhl
IFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVk
IGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2Vj
LWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3Ip
IGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6
IFtpc0NvbnN0cnVjdG9yLmpzLCB0ZXN0VHlwZWRBcnJheS5qc10KK2ZlYXR1cmVzOiBbUmVmbGVj
dC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uLCBUeXBlZEFycmF5XQorLS0tKi8KKworYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihUeXBlZEFycmF5LnByb3RvdHlwZS5lbnRyaWVz
KSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKFR5cGVkQXJyYXkucHJvdG90eXBlLmVudHJp
ZXMpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgp
ID0+IHsKKyAgbGV0IHU4ID0gbmV3IFVpbnQ4QXJyYXkoMSk7IG5ldyB1OC5lbnRyaWVzKCk7Cit9
LCAnYGxldCB1OCA9IG5ldyBVaW50OEFycmF5KDEpOyBuZXcgdTguZW50cmllcygpYCB0aHJvd3Mg
VHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5L3Byb3RvdHlwZS9ldmVyeS9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9ldmVyeS9ub3Qt
YS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMTc2OTMxZDk2MWIyNjhiMDNiODEzOTQxNjhh
MjE3MWE3NjUzNjAwCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2V2ZXJ5L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBA
IC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNj
cmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBUeXBlZEFy
cmF5LnByb3RvdHlwZS5ldmVyeSBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMg
bm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisg
IEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29u
c3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwg
bWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBv
ZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisg
IDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVF
cnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzLCB0ZXN0
VHlwZWRBcnJheS5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0
aW9uLCBUeXBlZEFycmF5XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1
Y3RvcihUeXBlZEFycmF5LnByb3RvdHlwZS5ldmVyeSksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1
Y3RvcihUeXBlZEFycmF5LnByb3RvdHlwZS5ldmVyeSkgbXVzdCByZXR1cm4gZmFsc2UnCispOwor
Cithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgdTggPSBuZXcgVWludDhB
cnJheSgxKTsgbmV3IHU4LmV2ZXJ5KCgpID0+IHt9KTsKK30sICdgbGV0IHU4ID0gbmV3IFVpbnQ4
QXJyYXkoMSk7IG5ldyB1OC5ldmVyeSgoKSA9PiB7fSlgIHRocm93cyBUeXBlRXJyb3InKTsKKwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJv
dG90eXBlL2ZpbGwvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZmlsbC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xZGZhMmE2NDA3MjFlZWY2NWM0ZDA0ZTQxYTQ3ZTc5NDViYmUzN2E2Ci0tLSAv
ZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkv
cHJvdG90eXBlL2ZpbGwvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8g
Q29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0
LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFR5cGVkQXJyYXkucHJvdG90eXBlLmZpbGwg
ZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzog
fAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBv
YmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAg
aW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3
aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0
aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9y
KGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAu
Li4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qcywgdGVzdFR5cGVkQXJyYXkuanNdCitmZWF0
dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbiwgVHlwZWRBcnJheV0KKy0t
LSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoVHlwZWRBcnJheS5wcm90
b3R5cGUuZmlsbCksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihUeXBlZEFycmF5LnByb3Rv
dHlwZS5maWxsKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVy
cm9yLCAoKSA9PiB7CisgIGxldCB1OCA9IG5ldyBVaW50OEFycmF5KDEpOyBuZXcgdTguZmlsbCgp
OworfSwgJ2BsZXQgdTggPSBuZXcgVWludDhBcnJheSgxKTsgbmV3IHU4LmZpbGwoKWAgdGhyb3dz
IFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZmlsdGVyL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2ZpbHRlci9u
b3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjkxNGQ3N2RhYmJhMmM4NjNhOGE1MjEz
OTNjMmJlMGE2OTEwZTUxCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2ZpbHRlci9ub3QtYS1jb25zdHJ1Y3Rvci5q
cwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVj
bWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgVHlw
ZWRBcnJheS5wcm90b3R5cGUuZmlsdGVyIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1d
LCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3Rz
CisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBh
cyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRl
cm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0
aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAu
Li4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEg
VHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanMs
IHRlc3RUeXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ct
ZnVuY3Rpb24sIFR5cGVkQXJyYXldCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0Nv
bnN0cnVjdG9yKFR5cGVkQXJyYXkucHJvdG90eXBlLmZpbHRlciksCisgIGZhbHNlLAorICAnaXND
b25zdHJ1Y3RvcihUeXBlZEFycmF5LnByb3RvdHlwZS5maWx0ZXIpIG11c3QgcmV0dXJuIGZhbHNl
JworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IHU4ID0gbmV3
IFVpbnQ4QXJyYXkoMSk7IG5ldyB1OC5maWx0ZXIoKCkgPT4ge30pOworfSwgJ2BsZXQgdTggPSBu
ZXcgVWludDhBcnJheSgxKTsgbmV3IHU4LmZpbHRlcigoKSA9PiB7fSlgIHRocm93cyBUeXBlRXJy
b3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXkvcHJvdG90eXBlL2ZpbmQvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvZmluZC9ub3QtYS1jb25zdHJ1
Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kYjFmN2E4ZTA0MzMwNWEwNWM1ZDhlOTgzN2VjNmM2ZDEwMWM4
NjM0Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXkvcHJvdG90eXBlL2ZpbmQvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwz
MyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5k
YXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFR5cGVkQXJyYXkucHJvdG90
eXBlLmZpbmQgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJs
ZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBm
dW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBk
byBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxl
c3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1
bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0Nv
bnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0
aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qcywgdGVzdFR5cGVkQXJyYXku
anNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbiwgVHlwZWRB
cnJheV0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoVHlwZWRB
cnJheS5wcm90b3R5cGUuZmluZCksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihUeXBlZEFy
cmF5LnByb3RvdHlwZS5maW5kKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJv
d3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCB1OCA9IG5ldyBVaW50OEFycmF5KDEpOyBuZXcg
dTguZmluZCgoKSA9PiB7fSk7Cit9LCAnYGxldCB1OCA9IG5ldyBVaW50OEFycmF5KDEpOyBuZXcg
dTguZmluZCgoKSA9PiB7fSlgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2ZpbmRJbmRl
eC9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5L3Byb3RvdHlwZS9maW5kSW5kZXgvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTgzYmNkZjRmMjA5ZWQ0NjMwNWViZTkwY2M4N2ZjZjIwY2FlOGEzNwotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3Rv
dHlwZS9maW5kSW5kZXgvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8g
Q29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0
LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFR5cGVkQXJyYXkucHJvdG90eXBlLmZpbmRJ
bmRleCBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitp
bmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0
aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5v
dAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBv
dGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIg
ZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3Ry
dWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24u
CisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzLCB0ZXN0VHlwZWRBcnJheS5qc10K
K2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uLCBUeXBlZEFycmF5
XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihUeXBlZEFycmF5
LnByb3RvdHlwZS5maW5kSW5kZXgpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoVHlwZWRB
cnJheS5wcm90b3R5cGUuZmluZEluZGV4KSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCB1OCA9IG5ldyBVaW50OEFycmF5KDEp
OyBuZXcgdTguZmluZEluZGV4KCgpID0+IHt9KTsKK30sICdgbGV0IHU4ID0gbmV3IFVpbnQ4QXJy
YXkoMSk7IG5ldyB1OC5maW5kSW5kZXgoKCkgPT4ge30pYCB0aHJvd3MgVHlwZUVycm9yJyk7CisK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3By
b3RvdHlwZS9mb3JFYWNoL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2ZvckVhY2gvbm90LWEtY29uc3RydWN0
b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMWU0NGExOWJkODdkNTQwY2ZlYTAzNDY4ZmY0NWQyMTc5MzQwMjY2
MAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5L3Byb3RvdHlwZS9mb3JFYWNoL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEs
MzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFu
ZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBUeXBlZEFycmF5LnByb3Rv
dHlwZS5mb3JFYWNoIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3
LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQt
aW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3Rv
cnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2Qg
dW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFy
dGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYg
SXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4
Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanMsIHRlc3RUeXBlZEFy
cmF5LmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb24sIFR5
cGVkQXJyYXldCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKFR5
cGVkQXJyYXkucHJvdG90eXBlLmZvckVhY2gpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3Io
VHlwZWRBcnJheS5wcm90b3R5cGUuZm9yRWFjaCkgbXVzdCByZXR1cm4gZmFsc2UnCispOworCith
c3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgdTggPSBuZXcgVWludDhBcnJh
eSgxKTsgbmV3IHU4LmZvckVhY2goKCkgPT4ge30pOworfSwgJ2BsZXQgdTggPSBuZXcgVWludDhB
cnJheSgxKTsgbmV3IHU4LmZvckVhY2goKCkgPT4ge30pYCB0aHJvd3MgVHlwZUVycm9yJyk7CisK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3By
b3RvdHlwZS9pbmNsdWRlcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9pbmNsdWRlcy9ub3QtYS1jb25zdHJ1
Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hNjBiNWFjYmY3NmNiMDIyYThlODlhZThlNmZkNTdmYjZkMzU3
NGI0Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXkvcHJvdG90eXBlL2luY2x1ZGVzL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAg
KzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1z
dGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBUeXBlZEFycmF5LnBy
b3RvdHlwZS5pbmNsdWRlcyBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90
IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1
aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3Ry
dWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0
aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBh
IHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcu
IElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJv
ciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzLCB0ZXN0VHlw
ZWRBcnJheS5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9u
LCBUeXBlZEFycmF5XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3Rv
cihUeXBlZEFycmF5LnByb3RvdHlwZS5pbmNsdWRlcyksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1
Y3RvcihUeXBlZEFycmF5LnByb3RvdHlwZS5pbmNsdWRlcykgbXVzdCByZXR1cm4gZmFsc2UnCisp
OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgdTggPSBuZXcgVWlu
dDhBcnJheSgxKTsgbmV3IHU4LmluY2x1ZGVzKDEpOworfSwgJ2BsZXQgdTggPSBuZXcgVWludDhB
cnJheSgxKTsgbmV3IHU4LmluY2x1ZGVzKDEpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlw
ZS9pbmRleE9mL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2luZGV4T2Yvbm90LWEtY29uc3RydWN0b3IuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMmYwNjQzMjIxYmIwNDJhNTQ1MDY3NjQzZGJiZWU2ODA3N2I2OGY4NQotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
L3Byb3RvdHlwZS9pbmRleE9mL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1i
dWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBUeXBlZEFycmF5LnByb3RvdHlwZS5p
bmRleE9mIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUK
K2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVu
Y3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8g
bm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNz
IG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxh
ciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25z
dHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlv
bi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanMsIHRlc3RUeXBlZEFycmF5Lmpz
XQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb24sIFR5cGVkQXJy
YXldCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKFR5cGVkQXJy
YXkucHJvdG90eXBlLmluZGV4T2YpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoVHlwZWRB
cnJheS5wcm90b3R5cGUuaW5kZXhPZikgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgdTggPSBuZXcgVWludDhBcnJheSgxKTsg
bmV3IHU4LmluZGV4T2YoKTsKK30sICdgbGV0IHU4ID0gbmV3IFVpbnQ4QXJyYXkoMSk7IG5ldyB1
OC5pbmRleE9mKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2pvaW4vbm90LWEtY29u
c3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9w
cm90b3R5cGUvam9pbi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NTU3YjFiOThm
ZDM1NDMyNDFjM2I2ODllMTViMzY1YTI1MTVlZWU0Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2pvaW4vbm90LWEt
Y29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJp
Y2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0K
K2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0
aW9uOiA+CisgIFR5cGVkQXJyYXkucHJvdG90eXBlLmpvaW4gZG9lcyBub3QgaW1wbGVtZW50IFtb
Q29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0
aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBp
ZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0
cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0
aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0
ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxz
ZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25z
dHJ1Y3Rvci5qcywgdGVzdFR5cGVkQXJyYXkuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3Ry
dWN0LCBhcnJvdy1mdW5jdGlvbiwgVHlwZWRBcnJheV0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFs
dWUoCisgIGlzQ29uc3RydWN0b3IoVHlwZWRBcnJheS5wcm90b3R5cGUuam9pbiksCisgIGZhbHNl
LAorICAnaXNDb25zdHJ1Y3RvcihUeXBlZEFycmF5LnByb3RvdHlwZS5qb2luKSBtdXN0IHJldHVy
biBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCB1
OCA9IG5ldyBVaW50OEFycmF5KDEpOyBuZXcgdTguam9pbigpOworfSwgJ2BsZXQgdTggPSBuZXcg
VWludDhBcnJheSgxKTsgbmV3IHU4LmpvaW4oKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5
cGUva2V5cy9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9rZXlzL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjI5OWY3M2UxZmYyZWZiNGIzMmQ2Nzc2NjkzYjI5Y2MwMmZkMjQwYWEKLS0tIC9kZXYv
bnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90
b3R5cGUva2V5cy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5
cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4t
b2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgVHlwZWRBcnJheS5wcm90b3R5cGUua2V5cyBkb2Vz
IG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8Cisg
IEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVj
dHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBs
ZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ug
c3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24u
CisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29u
c3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgor
aW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzLCB0ZXN0VHlwZWRBcnJheS5qc10KK2ZlYXR1cmVz
OiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uLCBUeXBlZEFycmF5XQorLS0tKi8K
KworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihUeXBlZEFycmF5LnByb3RvdHlw
ZS5rZXlzKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKFR5cGVkQXJyYXkucHJvdG90eXBl
LmtleXMpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3Is
ICgpID0+IHsKKyAgbGV0IHU4ID0gbmV3IFVpbnQ4QXJyYXkoMSk7IG5ldyB1OC5rZXlzKCk7Cit9
LCAnYGxldCB1OCA9IG5ldyBVaW50OEFycmF5KDEpOyBuZXcgdTgua2V5cygpYCB0aHJvd3MgVHlw
ZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5L3Byb3RvdHlwZS9sYXN0SW5kZXhPZi9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9sYXN0SW5k
ZXhPZi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMjFhOGU4YTUzMjJhN2FlYjI1
ZmEyNzg1MGQ1Yzc5YjZkMDAyNGY3Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL2xhc3RJbmRleE9mL25vdC1hLWNv
bnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNr
IFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQg
YnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitl
c2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlv
bjogPgorICBUeXBlZEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBkb2VzIG5vdCBpbXBsZW1l
bnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQg
RnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUg
bm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtb
Q29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGlu
CisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2
YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlz
IGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtp
c0NvbnN0cnVjdG9yLmpzLCB0ZXN0VHlwZWRBcnJheS5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5j
b25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uLCBUeXBlZEFycmF5XQorLS0tKi8KKworYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihUeXBlZEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhP
ZiksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1Y3RvcihUeXBlZEFycmF5LnByb3RvdHlwZS5sYXN0
SW5kZXhPZikgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgKCkgPT4geworICBsZXQgdTggPSBuZXcgVWludDhBcnJheSgxKTsgbmV3IHU4Lmxhc3RJbmRl
eE9mKCk7Cit9LCAnYGxldCB1OCA9IG5ldyBVaW50OEFycmF5KDEpOyBuZXcgdTgubGFzdEluZGV4
T2YoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvbWFwL25vdC1hLWNvbnN0cnVjdG9y
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBl
L21hcC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MGFjOGY0ODRhNmNiZDk2MDE3
ZGE3OGI1ZWJiMzRhODNiZDQxOTE1Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL21hcC9ub3QtYS1jb25zdHJ1Y3Rv
ci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9u
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBC
U0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2Vj
LWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAg
VHlwZWRBcnJheS5wcm90b3R5cGUubWFwIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1d
LCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3Rz
CisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBh
cyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRl
cm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0
aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAu
Li4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEg
VHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanMs
IHRlc3RUeXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ct
ZnVuY3Rpb24sIFR5cGVkQXJyYXldCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0Nv
bnN0cnVjdG9yKFR5cGVkQXJyYXkucHJvdG90eXBlLm1hcCksCisgIGZhbHNlLAorICAnaXNDb25z
dHJ1Y3RvcihUeXBlZEFycmF5LnByb3RvdHlwZS5tYXApIG11c3QgcmV0dXJuIGZhbHNlJworKTsK
KworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IHU4ID0gbmV3IFVpbnQ4
QXJyYXkoMSk7IG5ldyB1OC5tYXAoKCkgPT4ge30pOworfSwgJ2BsZXQgdTggPSBuZXcgVWludDhB
cnJheSgxKTsgbmV3IHU4Lm1hcCgoKSA9PiB7fSlgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90
eXBlL3JlZHVjZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9yZWR1Y2Uvbm90LWEtY29uc3RydWN0b3IuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMWY2ZmM4NjM5OTUwNzIxNzRkMWJiNWIwMDk4MGQ4MzM0MzNkNjM4NAotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
L3Byb3RvdHlwZS9yZWR1Y2Uvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAor
Ly8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1
aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFR5cGVkQXJyYXkucHJvdG90eXBlLnJl
ZHVjZSBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitp
bmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0
aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5v
dAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBv
dGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIg
ZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3Ry
dWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24u
CisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzLCB0ZXN0VHlwZWRBcnJheS5qc10K
K2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uLCBUeXBlZEFycmF5
XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihUeXBlZEFycmF5
LnByb3RvdHlwZS5yZWR1Y2UpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoVHlwZWRBcnJh
eS5wcm90b3R5cGUucmVkdWNlKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJv
d3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCB1OCA9IG5ldyBVaW50OEFycmF5KDEpOyBuZXcg
dTgucmVkdWNlKCgpID0+IHt9LCBbXSk7Cit9LCAnYGxldCB1OCA9IG5ldyBVaW50OEFycmF5KDEp
OyBuZXcgdTgucmVkdWNlKCgpID0+IHt9LCBbXSlgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90
eXBlL3JlZHVjZVJpZ2h0L25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3JlZHVjZVJpZ2h0L25vdC1hLWNvbnN0
cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMwOTZjZmRhYzA1MzcxNmY2MWY1NzE1MjFlZjAzNTQxMzUw
ODk2ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheS9wcm90b3R5cGUvcmVkdWNlUmlnaHQvbm90LWEtY29uc3RydWN0b3IuanMKQEAg
LTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2Ny
aXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFR5cGVkQXJy
YXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1d
LCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3Rz
CisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBh
cyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRl
cm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0
aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAu
Li4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEg
VHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanMs
IHRlc3RUeXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ct
ZnVuY3Rpb24sIFR5cGVkQXJyYXldCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0Nv
bnN0cnVjdG9yKFR5cGVkQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0KSwKKyAgZmFsc2UsCisg
ICdpc0NvbnN0cnVjdG9yKFR5cGVkQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0KSBtdXN0IHJl
dHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxl
dCB1OCA9IG5ldyBVaW50OEFycmF5KDEpOyBuZXcgdTgucmVkdWNlUmlnaHQoKCkgPT4ge30sIFtd
KTsKK30sICdgbGV0IHU4ID0gbmV3IFVpbnQ4QXJyYXkoMSk7IG5ldyB1OC5yZWR1Y2VSaWdodCgo
KSA9PiB7fSwgW10pYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9yZXZlcnNlL25vdC1h
LWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXkvcHJvdG90eXBlL3JldmVyc2Uvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTA4
Zjg2MDc5YTk3MmQyYjliMTUzZmFmN2E0MTU2ZTBkZWRlYjJmYwotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9yZXZl
cnNlL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAo
QykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
CisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3Rz
CitkZXNjcmlwdGlvbjogPgorICBUeXBlZEFycmF5LnByb3RvdHlwZS5yZXZlcnNlIGRvZXMgbm90
IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNN
QVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0
aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVu
dCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVj
aWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKwor
ICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1
Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNs
dWRlczogW2lzQ29uc3RydWN0b3IuanMsIHRlc3RUeXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFtS
ZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb24sIFR5cGVkQXJyYXldCistLS0qLworCith
c3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKFR5cGVkQXJyYXkucHJvdG90eXBlLnJl
dmVyc2UpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoVHlwZWRBcnJheS5wcm90b3R5cGUu
cmV2ZXJzZSkgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgKCkgPT4geworICBsZXQgdTggPSBuZXcgVWludDhBcnJheSgxKTsgbmV3IHU4LnJldmVyc2Uo
KTsKK30sICdgbGV0IHU4ID0gbmV3IFVpbnQ4QXJyYXkoMSk7IG5ldyB1OC5yZXZlcnNlKClgIHRo
cm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NldC9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zZXQvbm90
LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2M3ZTIwZDcyMzJmMzcwOTRkZWExMWYwZDYx
N2ZlNDJmNTk1Y2IxNwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zZXQvbm90LWEtY29uc3RydWN0b3IuanMKQEAg
LTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2Ny
aXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFR5cGVkQXJy
YXkucHJvdG90eXBlLnNldCBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90
IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1
aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3Ry
dWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0
aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBh
IHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcu
IElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJv
ciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzLCB0ZXN0VHlw
ZWRBcnJheS5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9u
LCBUeXBlZEFycmF5XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3Rv
cihUeXBlZEFycmF5LnByb3RvdHlwZS5zZXQpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3Io
VHlwZWRBcnJheS5wcm90b3R5cGUuc2V0KSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCB1OCA9IG5ldyBVaW50OEFycmF5KDEp
OyBuZXcgdTguc2V0KFswXSwgMCk7Cit9LCAnYGxldCB1OCA9IG5ldyBVaW50OEFycmF5KDEpOyBu
ZXcgdTguc2V0KFswXSwgMClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL0Jp
Z0ludC9kZXRhY2hlZC1idWZmZXItY3VzdG9tLWN0b3Itb3RoZXItdGFyZ2V0dHlwZS5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zbGljZS9C
aWdJbnQvZGV0YWNoZWQtYnVmZmVyLWN1c3RvbS1jdG9yLW90aGVyLXRhcmdldHR5cGUuanMKaW5k
ZXggYzgxYWQ5YWI4OTg1M2E2ZDllMTc2MTc4MmQ5MGM1NjYzYmJhYWFmNi4uZjVhN2FlZDc5MjQ0
YmU2ZDM4MzM3N2FhOTk0ZjRjN2EzMDEwYTQxNSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL0JpZ0ludC9kZXRhY2hl
ZC1idWZmZXItY3VzdG9tLWN0b3Itb3RoZXItdGFyZ2V0dHlwZS5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2UvQmlnSW50L2Rl
dGFjaGVkLWJ1ZmZlci1jdXN0b20tY3Rvci1vdGhlci10YXJnZXR0eXBlLmpzCkBAIC0zLDM2ICsz
LDc1IEBACiAvKi0tLQogZXNpZDogc2VjLSV0eXBlZGFycmF5JS5wcm90b3R5cGUuc2xpY2UKIGRl
c2NyaXB0aW9uOiA+Ci0gIFRocm93cyBhIFR5cGVFcnJvciBidWZmZXIgaXMgZGV0YWNoZWQgb24g
R2V0IGN1c3RvbSBjb25zdHJ1Y3Rvci4gVXNpbmcgb3RoZXIKLSAgdGFyZ2V0VHlwZQorICBUaHJv
d3MgYSBUeXBlRXJyb3IgaWYgX09fLltbVmlld2VkQXJyYXlCdWZmZXJdXSBpcyBkZXRhY2hlZCBk
dXJpbmcgY3JlYXRlIHdpdGggY3VzdG9tIGNvbnN0cnVjdG9yIChvdGhlciB0YXJnZXRUeXBlKQog
aW5mbzogfAotICAyMi4yLjMuMjQgJVR5cGVkQXJyYXklLnByb3RvdHlwZS5zbGljZSAoIHN0YXJ0
LCBlbmQgKQotCi0gIC4uLgotICA5LiBMZXQgQSBiZSA/IFR5cGVkQXJyYXlTcGVjaWVzQ3JlYXRl
KE8sIMKrIGNvdW50IMK7KS4KLSAgLi4uCi0gIDE0LiBJZiBTYW1lVmFsdWUoc3JjVHlwZSwgdGFy
Z2V0VHlwZSkgaXMgZmFsc2UsIHRoZW4KLSAgICBhLiBMZXQgbiBiZSAwLgotICAgIGIuIFJlcGVh
dCwgd2hpbGUgayA8IGZpbmFsCi0gICAgICAuLi4KLSAgICAgIGlpLiBMZXQga1ZhbHVlIGJlID8g
R2V0KE8sIFBrKS4KLSAgICAgIC4uLgotICAuLi4KLWluY2x1ZGVzOiBbdGVzdEJpZ0ludFR5cGVk
QXJyYXkuanMsIGRldGFjaEFycmF5QnVmZmVyLmpzXQotZmVhdHVyZXM6IFtCaWdJbnQsIFN5bWJv
bC5zcGVjaWVzLCBUeXBlZEFycmF5XQorICAlVHlwZWRBcnJheSUucHJvdG90eXBlLnNsaWNlICgg
c3RhcnQsIGVuZCApCisKKyAgICBMZXQgQSBiZSA/IFR5cGVkQXJyYXlTcGVjaWVzQ3JlYXRlKE8s
IMKrIGNvdW50IMK7KS4KKworICBUeXBlZEFycmF5U3BlY2llc0NyZWF0ZSAoIGV4ZW1wbGFyLCBh
cmd1bWVudExpc3QgKQorCisgICAgTGV0IHJlc3VsdCBiZSA/IFR5cGVkQXJyYXlDcmVhdGUoY29u
c3RydWN0b3IsIGFyZ3VtZW50TGlzdCkuCisKKyAgVHlwZWRBcnJheUNyZWF0ZSAoIGNvbnN0cnVj
dG9yLCBhcmd1bWVudExpc3QgKQorCisgICAgTGV0IG5ld1R5cGVkQXJyYXkgYmUgPyBDb25zdHJ1
Y3QoY29uc3RydWN0b3IsIGFyZ3VtZW50TGlzdCkuCisgICAgUGVyZm9ybSA/IFZhbGlkYXRlVHlw
ZWRBcnJheShuZXdUeXBlZEFycmF5KS4KKworICBWYWxpZGF0ZVR5cGVkQXJyYXkgKCBPICkKKyAg
ICBUaGUgYWJzdHJhY3Qgb3BlcmF0aW9uIFZhbGlkYXRlVHlwZWRBcnJheSB0YWtlcyBhcmd1bWVu
dCBPLiBJdCBwZXJmb3JtcyB0aGUgZm9sbG93aW5nIHN0ZXBzIHdoZW4gY2FsbGVkOgorCisgICAg
UGVyZm9ybSA/IFJlcXVpcmVJbnRlcm5hbFNsb3QoTywgW1tUeXBlZEFycmF5TmFtZV1dKS4KKyAg
ICBBc3NlcnQ6IE8gaGFzIGEgW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dIGludGVybmFsIHNsb3QuCisg
ICAgTGV0IGJ1ZmZlciBiZSBPLltbVmlld2VkQXJyYXlCdWZmZXJdXS4KKyAgICBJZiBJc0RldGFj
aGVkQnVmZmVyKGJ1ZmZlcikgaXMgdHJ1ZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgor
ICAgIC4uLgorCitpbmNsdWRlczogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzLCBkZXRhY2hBcnJh
eUJ1ZmZlci5qcywgcHJvcGVydHlIZWxwZXIuanNdCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVk
LWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgQmlnSW50LCBTeW1ib2wuc3BlY2ll
cywgVHlwZWRBcnJheV0KIC0tLSovCiAKIHRlc3RXaXRoQmlnSW50VHlwZWRBcnJheUNvbnN0cnVj
dG9ycyhmdW5jdGlvbihUQSkgeworICBsZXQgY291bnRlciA9IDA7CiAgIHZhciBzYW1wbGUgPSBu
ZXcgVEEoMSk7CiAKKyAgdmVyaWZ5Q29uZmlndXJhYmxlKHNhbXBsZSwgIjAiKTsKKyAgT2JqZWN0
LmRlZmluZVByb3BlcnR5KHNhbXBsZSwgIjAiLCB7CisgICAgZ2V0KCkgeworICAgICAgLy8gSWYg
dGhlIHNsaWNlIG9wZXJhdGlvbiByZWFjaGVzIHRoaXMgY29kZSwKKyAgICAgIC8vIHRoZW4gaXQg
ZGlkIG5vdCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KKyAgICAgIC8vIGFzIGEgcmVzdWx0
IG9mIHRoZSBkZXRhY2hlZCBidWZmZXIuCisgICAgICAvLworICAgICAgLy8gUmVhY2hpbmcgdGhp
cyBjb2RlIGlzIHRoZSBlcXVpdmFsZW50IHRvOgorICAgICAgLy8KKyAgICAgIC8vIElmIGNvdW50
ID4gMCwgdGhlbgorICAgICAgLy8gICAgSWYgSXNEZXRhY2hlZEJ1ZmZlcihPLltbVmlld2VkQXJy
YXlCdWZmZXJdXSkgaXMgdHJ1ZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAgICAg
Ly8gICAgTGV0IHNyY05hbWUgYmUgdGhlIFN0cmluZyB2YWx1ZSBvZiBPLltbVHlwZWRBcnJheU5h
bWVdXS4KKyAgICAgIC8vICAgIExldCBzcmNUeXBlIGJlIHRoZSBFbGVtZW50IFR5cGUgdmFsdWUg
aW4gVGFibGUgNjIgZm9yIHNyY05hbWUuCisgICAgICAvLyAgICBMZXQgdGFyZ2V0TmFtZSBiZSB0
aGUgU3RyaW5nIHZhbHVlIG9mIEEuW1tUeXBlZEFycmF5TmFtZV1dLgorICAgICAgLy8gICAgTGV0
IHRhcmdldFR5cGUgYmUgdGhlIEVsZW1lbnQgVHlwZSB2YWx1ZSBpbiBUYWJsZSA2MiBmb3IgdGFy
Z2V0TmFtZS4KKyAgICAgIC8vICAgIElmIHNyY1R5cGUgaXMgZGlmZmVyZW50IGZyb20gdGFyZ2V0
VHlwZSwgdGhlbgorICAgICAgLy8gICAgICBMZXQgbiBiZSAwLgorICAgICAgLy8gICAgICBSZXBl
YXQsIHdoaWxlIGsgPCBmaW5hbCwKKyAgICAgIC8vICAgICAgICBMZXQgUGsgYmUgISBUb1N0cmlu
ZyhrKS4KKyAgICAgIC8vICAgICAgICBMZXQga1ZhbHVlIGJlICEgR2V0KE8sIFBrKS4KKyAgICAg
IC8vCisgICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7CisgICAgfQorICB9KTsKKwogICBz
YW1wbGUuY29uc3RydWN0b3IgPSB7fTsKICAgc2FtcGxlLmNvbnN0cnVjdG9yW1N5bWJvbC5zcGVj
aWVzXSA9IGZ1bmN0aW9uKGNvdW50KSB7CiAgICAgdmFyIG90aGVyID0gVEEgPT09IEJpZ0ludDY0
QXJyYXkgPyBCaWdVaW50NjRBcnJheSA6IEJpZ0ludDY0QXJyYXk7CisgICAgY291bnRlcisrOwog
ICAgICRERVRBQ0hCVUZGRVIoc2FtcGxlLmJ1ZmZlcik7CiAgICAgcmV0dXJuIG5ldyBvdGhlcihj
b3VudCk7CiAgIH07CiAKICAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewor
ICAgIGNvdW50ZXIrKzsKICAgICBzYW1wbGUuc2xpY2UoKTsKLSAgfSwgInN0ZXAgMTQuYi5paSAt
ID8gR2V0KE8sIFBrKSwgTyBoYXMgYSBkZXRhY2hlZCBidWZmZXIiKTsKKyAgfSwgJ2BzYW1wbGUu
c2xpY2UoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCisgIGFzc2VydC5zYW1lVmFsdWUoY291bnRl
ciwgMiwgJ1RoZSB2YWx1ZSBvZiBgY291bnRlcmAgaXMgMicpOwogfSk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2Uv
QmlnSW50L2RldGFjaGVkLWJ1ZmZlci1jdXN0b20tY3Rvci1zYW1lLXRhcmdldHR5cGUuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2Uv
QmlnSW50L2RldGFjaGVkLWJ1ZmZlci1jdXN0b20tY3Rvci1zYW1lLXRhcmdldHR5cGUuanMKaW5k
ZXggYTVlNjRhN2QxODY1ODViZDVkYjRlZGQ5YjlkOTg2ZGJjYTA0MDFiNy4uMGNkZWE5NzdkOTMy
M2MxMTIxMzIzMDljNjNmZjA4MDRiYjZjNTU3OCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL0JpZ0ludC9kZXRhY2hl
ZC1idWZmZXItY3VzdG9tLWN0b3Itc2FtZS10YXJnZXR0eXBlLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zbGljZS9CaWdJbnQvZGV0
YWNoZWQtYnVmZmVyLWN1c3RvbS1jdG9yLXNhbWUtdGFyZ2V0dHlwZS5qcwpAQCAtMiwzMyArMiw1
MCBAQAogLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgogLyotLS0KIGVzaWQ6IHNlYy0ldHlwZWRhcnJheSUucHJvdG90
eXBlLnNsaWNlCi1kZXNjcmlwdGlvbjogVGhyb3dzIGEgVHlwZUVycm9yIGJ1ZmZlciBpcyBkZXRh
Y2hlZCBvbiBHZXQgY3VzdG9tIGNvbnN0cnVjdG9yLgorZGVzY3JpcHRpb246ID4KKyAgVGhyb3dz
IGEgVHlwZUVycm9yIGlmIF9PXy5bW1ZpZXdlZEFycmF5QnVmZmVyXV0gaXMgZGV0YWNoZWQgZHVy
aW5nIGNyZWF0ZSB3aXRoIGN1c3RvbSBjb25zdHJ1Y3Rvci4KIGluZm86IHwKLSAgMjIuMi4zLjI0
ICVUeXBlZEFycmF5JS5wcm90b3R5cGUuc2xpY2UgKCBzdGFydCwgZW5kICkKKyAgJVR5cGVkQXJy
YXklLnByb3RvdHlwZS5zbGljZSAoIHN0YXJ0LCBlbmQgKQogCi0gIC4uLgotICA5LiBMZXQgQSBi
ZSA/IFR5cGVkQXJyYXlTcGVjaWVzQ3JlYXRlKE8sIMKrIGNvdW50IMK7KS4KLSAgLi4uCi0gIDE0
LiBJZiBTYW1lVmFsdWUoc3JjVHlwZSwgdGFyZ2V0VHlwZSkgaXMgZmFsc2UsIHRoZW4KKyAgICBM
ZXQgQSBiZSA/IFR5cGVkQXJyYXlTcGVjaWVzQ3JlYXRlKE8sIMKrIGNvdW50IMK7KS4KKworICBU
eXBlZEFycmF5U3BlY2llc0NyZWF0ZSAoIGV4ZW1wbGFyLCBhcmd1bWVudExpc3QgKQorCisgICAg
TGV0IHJlc3VsdCBiZSA/IFR5cGVkQXJyYXlDcmVhdGUoY29uc3RydWN0b3IsIGFyZ3VtZW50TGlz
dCkuCisKKyAgVHlwZWRBcnJheUNyZWF0ZSAoIGNvbnN0cnVjdG9yLCBhcmd1bWVudExpc3QgKQor
CisgICAgTGV0IG5ld1R5cGVkQXJyYXkgYmUgPyBDb25zdHJ1Y3QoY29uc3RydWN0b3IsIGFyZ3Vt
ZW50TGlzdCkuCisgICAgUGVyZm9ybSA/IFZhbGlkYXRlVHlwZWRBcnJheShuZXdUeXBlZEFycmF5
KS4KKworICBWYWxpZGF0ZVR5cGVkQXJyYXkgKCBPICkKKyAgICBUaGUgYWJzdHJhY3Qgb3BlcmF0
aW9uIFZhbGlkYXRlVHlwZWRBcnJheSB0YWtlcyBhcmd1bWVudCBPLiBJdCBwZXJmb3JtcyB0aGUg
Zm9sbG93aW5nIHN0ZXBzIHdoZW4gY2FsbGVkOgorCisgICAgUGVyZm9ybSA/IFJlcXVpcmVJbnRl
cm5hbFNsb3QoTywgW1tUeXBlZEFycmF5TmFtZV1dKS4KKyAgICBBc3NlcnQ6IE8gaGFzIGEgW1tW
aWV3ZWRBcnJheUJ1ZmZlcl1dIGludGVybmFsIHNsb3QuCisgICAgTGV0IGJ1ZmZlciBiZSBPLltb
Vmlld2VkQXJyYXlCdWZmZXJdXS4KKyAgICBJZiBJc0RldGFjaGVkQnVmZmVyKGJ1ZmZlcikgaXMg
dHJ1ZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogICAgIC4uLgotICAxNS4gRWxzZSBp
ZiBjb3VudCA+IDAsIHRoZW4KLSAgICBhLiBMZXQgc3JjQnVmZmVyIGJlIHRoZSB2YWx1ZSBvZiBP
J3MgW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dIGludGVybmFsIHNsb3QuCi0gICAgYi4gSWYgSXNEZXRh
Y2hlZEJ1ZmZlcihzcmNCdWZmZXIpIGlzIHRydWUsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlv
bi4KLSAgLi4uCisKIGluY2x1ZGVzOiBbdGVzdEJpZ0ludFR5cGVkQXJyYXkuanMsIGRldGFjaEFy
cmF5QnVmZmVyLmpzXQotZmVhdHVyZXM6IFtCaWdJbnQsIFN5bWJvbC5zcGVjaWVzLCBUeXBlZEFy
cmF5XQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2Vi
LXJlYWxpdHksIEJpZ0ludCwgU3ltYm9sLnNwZWNpZXMsIFR5cGVkQXJyYXldCiAtLS0qLwogCiB0
ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKLSAgdmFy
IHNhbXBsZSA9IG5ldyBUQSgxKTsKKyAgbGV0IGNvdW50ZXIgPSAwOworICBsZXQgc2FtcGxlID0g
bmV3IFRBKDEpOwogCiAgIHNhbXBsZS5jb25zdHJ1Y3RvciA9IHt9OwogICBzYW1wbGUuY29uc3Ry
dWN0b3JbU3ltYm9sLnNwZWNpZXNdID0gZnVuY3Rpb24oY291bnQpIHsKKyAgICBjb3VudGVyKys7
CiAgICAgJERFVEFDSEJVRkZFUihzYW1wbGUuYnVmZmVyKTsKICAgICByZXR1cm4gbmV3IFRBKGNv
dW50KTsKICAgfTsKIAogICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Cisg
ICAgY291bnRlcisrOwogICAgIHNhbXBsZS5zbGljZSgpOwotICB9LCAic3RlcCAxNS5iLCBJc0Rl
dGFjaGVkQnVmZmVyKHNyY0J1ZmZlcikgaXMgdHJ1ZSIpOworICB9LCAnYHNhbXBsZS5zbGljZSgp
YCB0aHJvd3MgVHlwZUVycm9yJyk7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShjb3VudGVyLCAyLCAn
VGhlIHZhbHVlIG9mIGBjb3VudGVyYCBpcyAyJyk7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zbGljZS9CaWdJbnQv
ZGV0YWNoZWQtYnVmZmVyLWdldC1jdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL0JpZ0ludC9kZXRhY2hlZC1idWZmZXItZ2V0
LWN0b3IuanMKaW5kZXggNWNlMjU4ZDVjMzdkN2VmYjRiMzVkNDg0ZTNlNTQ5ZGY3MzUzZmE1ZS4u
OGMyZDczZTllMmRmMmRkMmJkZTI1YTkxY2MwY2ZkMTA0MGY0OTFiNCAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL0Jp
Z0ludC9kZXRhY2hlZC1idWZmZXItZ2V0LWN0b3IuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL0JpZ0ludC9kZXRhY2hlZC1i
dWZmZXItZ2V0LWN0b3IuanMKQEAgLTIsMzIgKzIsNDkgQEAKIC8vIFRoaXMgY29kZSBpcyBnb3Zl
cm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KIC8qLS0t
CiBlc2lkOiBzZWMtJXR5cGVkYXJyYXklLnByb3RvdHlwZS5zbGljZQotZGVzY3JpcHRpb246IFRo
cm93cyBhIFR5cGVFcnJvciBidWZmZXIgaXMgZGV0YWNoZWQgb24gR2V0IGNvbnN0cnVjdG9yLgor
ZGVzY3JpcHRpb246ID4KKyAgVGhyb3dzIGEgVHlwZUVycm9yIGlmIF9PXy5bW1ZpZXdlZEFycmF5
QnVmZmVyXV0gaXMgZGV0YWNoZWQgZHVyaW5nIEdldCBjdXN0b20gY29uc3RydWN0b3IuCiBpbmZv
OiB8Ci0gIDIyLjIuMy4yNCAlVHlwZWRBcnJheSUucHJvdG90eXBlLnNsaWNlICggc3RhcnQsIGVu
ZCApCisgICVUeXBlZEFycmF5JS5wcm90b3R5cGUuc2xpY2UgKCBzdGFydCwgZW5kICkKIAotICAu
Li4KLSAgOS4gTGV0IEEgYmUgPyBUeXBlZEFycmF5U3BlY2llc0NyZWF0ZShPLCDCqyBjb3VudCDC
uykuCi0gIC4uLgotICAxNC4gSWYgU2FtZVZhbHVlKHNyY1R5cGUsIHRhcmdldFR5cGUpIGlzIGZh
bHNlLCB0aGVuCisgICAgTGV0IEEgYmUgPyBUeXBlZEFycmF5U3BlY2llc0NyZWF0ZShPLCDCqyBj
b3VudCDCuykuCisKKyAgVHlwZWRBcnJheVNwZWNpZXNDcmVhdGUgKCBleGVtcGxhciwgYXJndW1l
bnRMaXN0ICkKKworICAgIExldCByZXN1bHQgYmUgPyBUeXBlZEFycmF5Q3JlYXRlKGNvbnN0cnVj
dG9yLCBhcmd1bWVudExpc3QpLgorCisgIFR5cGVkQXJyYXlDcmVhdGUgKCBjb25zdHJ1Y3Rvciwg
YXJndW1lbnRMaXN0ICkKKworICAgIExldCBuZXdUeXBlZEFycmF5IGJlID8gQ29uc3RydWN0KGNv
bnN0cnVjdG9yLCBhcmd1bWVudExpc3QpLgorICAgIFBlcmZvcm0gPyBWYWxpZGF0ZVR5cGVkQXJy
YXkobmV3VHlwZWRBcnJheSkuCisKKyAgVmFsaWRhdGVUeXBlZEFycmF5ICggTyApCisgICAgVGhl
IGFic3RyYWN0IG9wZXJhdGlvbiBWYWxpZGF0ZVR5cGVkQXJyYXkgdGFrZXMgYXJndW1lbnQgTy4g
SXQgcGVyZm9ybXMgdGhlIGZvbGxvd2luZyBzdGVwcyB3aGVuIGNhbGxlZDoKKworICAgIFBlcmZv
cm0gPyBSZXF1aXJlSW50ZXJuYWxTbG90KE8sIFtbVHlwZWRBcnJheU5hbWVdXSkuCisgICAgQXNz
ZXJ0OiBPIGhhcyBhIFtbVmlld2VkQXJyYXlCdWZmZXJdXSBpbnRlcm5hbCBzbG90LgorICAgIExl
dCBidWZmZXIgYmUgTy5bW1ZpZXdlZEFycmF5QnVmZmVyXV0uCisgICAgSWYgSXNEZXRhY2hlZEJ1
ZmZlcihidWZmZXIpIGlzIHRydWUsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICAgICAu
Li4KLSAgMTUuIEVsc2UgaWYgY291bnQgPiAwLCB0aGVuCi0gICAgYS4gTGV0IHNyY0J1ZmZlciBi
ZSB0aGUgdmFsdWUgb2YgTydzIFtbVmlld2VkQXJyYXlCdWZmZXJdXSBpbnRlcm5hbCBzbG90Lgot
ICAgIGIuIElmIElzRGV0YWNoZWRCdWZmZXIoc3JjQnVmZmVyKSBpcyB0cnVlLCB0aHJvdyBhIFR5
cGVFcnJvciBleGNlcHRpb24uCi0gIC4uLgorCiBpbmNsdWRlczogW3Rlc3RCaWdJbnRUeXBlZEFy
cmF5LmpzLCBkZXRhY2hBcnJheUJ1ZmZlci5qc10KLWZlYXR1cmVzOiBbQmlnSW50LCBUeXBlZEFy
cmF5XQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2Vi
LXJlYWxpdHksIEJpZ0ludCwgVHlwZWRBcnJheV0KIC0tLSovCiAKIHRlc3RXaXRoQmlnSW50VHlw
ZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewotICB2YXIgc2FtcGxlID0gbmV3IFRB
KDEpOworICBsZXQgY291bnRlciA9IDA7CisgIGxldCBzYW1wbGUgPSBuZXcgVEEoMSk7CiAKICAg
T2JqZWN0LmRlZmluZVByb3BlcnR5KHNhbXBsZSwgImNvbnN0cnVjdG9yIiwgewotICAgIGdldDog
ZnVuY3Rpb24oKSB7CisgICAgZ2V0KCkgeworICAgICAgY291bnRlcisrOwogICAgICAgJERFVEFD
SEJVRkZFUihzYW1wbGUuYnVmZmVyKTsKICAgICB9CiAgIH0pOwogICBhc3NlcnQudGhyb3dzKFR5
cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgICAgY291bnRlcisrOwogICAgIHNhbXBsZS5zbGljZSgp
OwotICB9KTsKKyAgfSwgJ2BzYW1wbGUuc2xpY2UoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCisg
IGFzc2VydC5zYW1lVmFsdWUoY291bnRlciwgMiwgJ1RoZSB2YWx1ZSBvZiBgY291bnRlcmAgaXMg
MicpOwogfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheS9wcm90b3R5cGUvc2xpY2UvQmlnSW50L2RldGFjaGVkLWJ1ZmZlci1zcGVjaWVzY3Rv
ci1nZXQtc3BlY2llcy1jdXN0b20tY3Rvci10aHJvd3MuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2UvQmlnSW50L2RldGFjaGVkLWJ1
ZmZlci1zcGVjaWVzY3Rvci1nZXQtc3BlY2llcy1jdXN0b20tY3Rvci10aHJvd3MuanMKaW5kZXgg
MjkyNTgyNjZiNmNhMTkzZTE2MTNmZWFjMTdkM2E1MjU0YWQ4ZTM3MS4uMTE3OWZiMWZmOWJiNWYz
NDk4YWE2YTMyOGQzODQ5MjRkNTQ2NjYxOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL0JpZ0ludC9kZXRhY2hlZC1i
dWZmZXItc3BlY2llc2N0b3ItZ2V0LXNwZWNpZXMtY3VzdG9tLWN0b3ItdGhyb3dzLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zbGlj
ZS9CaWdJbnQvZGV0YWNoZWQtYnVmZmVyLXNwZWNpZXNjdG9yLWdldC1zcGVjaWVzLWN1c3RvbS1j
dG9yLXRocm93cy5qcwpAQCAtMiw0MiArMiw1MCBAQAogLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVk
IGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgogLyotLS0KIGVz
aWQ6IHNlYy0ldHlwZWRhcnJheSUucHJvdG90eXBlLnNsaWNlCi1kZXNjcmlwdGlvbjogPgotICBD
dXN0b20gQEBzcGVjaWVzIGNvbnN0cnVjdG9yIHRocm93cyBpZiBpdCByZXR1cm5zIGFuIGluc3Rh
bmNlIHdpdGggYSBkZXRhY2hlZAotICBidWZmZXIKK2Rlc2NyaXB0aW9uOiBUaHJvd3MgYSBUeXBl
RXJyb3IgaWYgYnVmZmVyIG9mIG9iamVjdCBjcmVhdGVkIGJ5IGN1c3RvbSBjb25zdHJ1Y3RvciBp
cyBkZXRhY2hlZC4KIGluZm86IHwKLSAgMjIuMi4zLjI0ICVUeXBlZEFycmF5JS5wcm90b3R5cGUu
c2xpY2UgKCBzdGFydCwgZW5kICkKKyAgJVR5cGVkQXJyYXklLnByb3RvdHlwZS5zbGljZSAoIHN0
YXJ0LCBlbmQgKQogCi0gIC4uLgotICA5LiBMZXQgQSBiZSA/IFR5cGVkQXJyYXlTcGVjaWVzQ3Jl
YXRlKE8sIMKrIGNvdW50IMK7KS4KLSAgLi4uCisgICAgTGV0IEEgYmUgPyBUeXBlZEFycmF5U3Bl
Y2llc0NyZWF0ZShPLCDCqyBjb3VudCDCuykuCiAKLSAgMjIuMi40LjcgVHlwZWRBcnJheVNwZWNp
ZXNDcmVhdGUgKCBleGVtcGxhciwgYXJndW1lbnRMaXN0ICkKKyAgVHlwZWRBcnJheVNwZWNpZXND
cmVhdGUgKCBleGVtcGxhciwgYXJndW1lbnRMaXN0ICkKIAotICAuLi4KLSAgMy4gTGV0IGNvbnN0
cnVjdG9yIGJlID8gU3BlY2llc0NvbnN0cnVjdG9yKGV4ZW1wbGFyLCBkZWZhdWx0Q29uc3RydWN0
b3IpLgotICA0LiBSZXR1cm4gPyBUeXBlZEFycmF5Q3JlYXRlKGNvbnN0cnVjdG9yLCBhcmd1bWVu
dExpc3QpLgorICAgIExldCByZXN1bHQgYmUgPyBUeXBlZEFycmF5Q3JlYXRlKGNvbnN0cnVjdG9y
LCBhcmd1bWVudExpc3QpLgogCi0gIDIyLjIuNC42IFR5cGVkQXJyYXlDcmVhdGUgKCBjb25zdHJ1
Y3RvciwgYXJndW1lbnRMaXN0ICkKKyAgVHlwZWRBcnJheUNyZWF0ZSAoIGNvbnN0cnVjdG9yLCBh
cmd1bWVudExpc3QgKQorCisgICAgTGV0IG5ld1R5cGVkQXJyYXkgYmUgPyBDb25zdHJ1Y3QoY29u
c3RydWN0b3IsIGFyZ3VtZW50TGlzdCkuCisgICAgUGVyZm9ybSA/IFZhbGlkYXRlVHlwZWRBcnJh
eShuZXdUeXBlZEFycmF5KS4KKworICBWYWxpZGF0ZVR5cGVkQXJyYXkgKCBPICkKKyAgICBUaGUg
YWJzdHJhY3Qgb3BlcmF0aW9uIFZhbGlkYXRlVHlwZWRBcnJheSB0YWtlcyBhcmd1bWVudCBPLiBJ
dCBwZXJmb3JtcyB0aGUgZm9sbG93aW5nIHN0ZXBzIHdoZW4gY2FsbGVkOgorCisgICAgUGVyZm9y
bSA/IFJlcXVpcmVJbnRlcm5hbFNsb3QoTywgW1tUeXBlZEFycmF5TmFtZV1dKS4KKyAgICBBc3Nl
cnQ6IE8gaGFzIGEgW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dIGludGVybmFsIHNsb3QuCisgICAgTGV0
IGJ1ZmZlciBiZSBPLltbVmlld2VkQXJyYXlCdWZmZXJdXS4KKyAgICBJZiBJc0RldGFjaGVkQnVm
ZmVyKGJ1ZmZlcikgaXMgdHJ1ZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAgIC4u
LgogCi0gIDEuIExldCBuZXdUeXBlZEFycmF5IGJlID8gQ29uc3RydWN0KGNvbnN0cnVjdG9yLCBh
cmd1bWVudExpc3QpLgotICAyLiBQZXJmb3JtID8gVmFsaWRhdGVUeXBlZEFycmF5KG5ld1R5cGVk
QXJyYXkpLgotICAuLi4KIGluY2x1ZGVzOiBbdGVzdEJpZ0ludFR5cGVkQXJyYXkuanMsIGRldGFj
aEFycmF5QnVmZmVyLmpzXQotZmVhdHVyZXM6IFtCaWdJbnQsIFN5bWJvbC5zcGVjaWVzLCBUeXBl
ZEFycmF5XQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgt
d2ViLXJlYWxpdHksIEJpZ0ludCwgU3ltYm9sLnNwZWNpZXMsIFR5cGVkQXJyYXldCiAtLS0qLwog
CiB0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKLSAg
dmFyIHNhbXBsZSA9IG5ldyBUQSgpOworICBsZXQgY291bnRlciA9IDA7CisgIGxldCBzYW1wbGUg
PSBuZXcgVEEoMSk7CiAKICAgc2FtcGxlLmNvbnN0cnVjdG9yID0ge307CiAgIHNhbXBsZS5jb25z
dHJ1Y3RvcltTeW1ib2wuc3BlY2llc10gPSBmdW5jdGlvbihjb3VudCkgewotICAgIHZhciBvdGhl
ciA9IG5ldyBUQShjb3VudCk7CisgICAgbGV0IG90aGVyID0gbmV3IFRBKGNvdW50KTsKKyAgICBj
b3VudGVyKys7CiAgICAgJERFVEFDSEJVRkZFUihvdGhlci5idWZmZXIpOwogICAgIHJldHVybiBv
dGhlcjsKICAgfTsKIAogICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Cisg
ICAgY291bnRlcisrOwogICAgIHNhbXBsZS5zbGljZSgpOwotICB9KTsKKyAgfSwgJ2BzYW1wbGUu
c2xpY2UoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCisgIGFzc2VydC5zYW1lVmFsdWUoY291bnRl
ciwgMiwgJ1RoZSB2YWx1ZSBvZiBgY291bnRlcmAgaXMgMicpOwogfSk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2Uv
QmlnSW50L2RldGFjaGVkLWJ1ZmZlci16ZXJvLWNvdW50LWN1c3RvbS1jdG9yLW90aGVyLXRhcmdl
dHR5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90
b3R5cGUvc2xpY2UvQmlnSW50L2RldGFjaGVkLWJ1ZmZlci16ZXJvLWNvdW50LWN1c3RvbS1jdG9y
LW90aGVyLXRhcmdldHR5cGUuanMKaW5kZXggODUxNDY4ZjkzZmFlNTk5Mjk5NzRkM2I0YzBkYTJk
YWIxZmU1NTRiMS4uMGNlZjRkZDE4ZDJiZGEwZjI1NDNmZjEwNWMzZWEwNzYyZDAxYjE3YyAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90
eXBlL3NsaWNlL0JpZ0ludC9kZXRhY2hlZC1idWZmZXItemVyby1jb3VudC1jdXN0b20tY3Rvci1v
dGhlci10YXJnZXR0eXBlLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5L3Byb3RvdHlwZS9zbGljZS9CaWdJbnQvZGV0YWNoZWQtYnVmZmVyLXplcm8tY291
bnQtY3VzdG9tLWN0b3Itb3RoZXItdGFyZ2V0dHlwZS5qcwpAQCAtNCw0NSArNCw0MiBAQAogZXNp
ZDogc2VjLSV0eXBlZGFycmF5JS5wcm90b3R5cGUuc2xpY2UKIGRlc2NyaXB0aW9uOiA+CiAgIERv
ZXMgbm90IHRocm93IGEgVHlwZUVycm9yIGlmIGJ1ZmZlciBpcyBkZXRhY2hlZCBvbiBjdXN0b20g
Y29uc3RydWN0b3IgYW5kCi0gIGBrID49IGZpbmFsYC4gVXNpbmcgb3RoZXIgdGFyZ2V0VHlwZS4K
KyAgY291bnQgPD0gMC4gVXNpbmcgb3RoZXIgdGFyZ2V0VHlwZS4KIGluZm86IHwKICAgMjIuMi4z
LjI0ICVUeXBlZEFycmF5JS5wcm90b3R5cGUuc2xpY2UgKCBzdGFydCwgZW5kICkKIAotICAuLi4K
LSAgOS4gTGV0IEEgYmUgPyBUeXBlZEFycmF5U3BlY2llc0NyZWF0ZShPLCDCqyBjb3VudCDCuyku
Ci0gIC4uLgotICAxNC4gSWYgU2FtZVZhbHVlKHNyY1R5cGUsIHRhcmdldFR5cGUpIGlzIGZhbHNl
LCB0aGVuCi0gICAgYS4gTGV0IG4gYmUgMC4KLSAgICBiLiBSZXBlYXQsIHdoaWxlIGsgPCBmaW5h
bAotICAgICAgLi4uCi0gICAgICBpaS4gTGV0IGtWYWx1ZSBiZSA/IEdldChPLCBQaykuCi0gICAg
ICAuLi4KLSAgLi4uCi0gIDE2LiBSZXR1cm4gQS4KKyAgTGV0IEEgYmUgPyBUeXBlZEFycmF5U3Bl
Y2llc0NyZWF0ZShPLCDCqyBjb3VudCDCuykuCisgIElmIGNvdW50ID4gMCwgdGhlbgorICAgIC4u
LgorICBSZXR1cm4gQQorCiBpbmNsdWRlczogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzLCBkZXRh
Y2hBcnJheUJ1ZmZlci5qc10KLWZlYXR1cmVzOiBbQmlnSW50LCBTeW1ib2wuc3BlY2llcywgVHlw
ZWRBcnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRo
LXdlYi1yZWFsaXR5LCBCaWdJbnQsIFN5bWJvbC5zcGVjaWVzLCBUeXBlZEFycmF5XQogLS0tKi8K
IAogdGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7Ci0g
IHZhciBzYW1wbGUsIHJlc3VsdCwgb3RoZXI7Ci0gIHZhciBjdG9yID0ge307CisgIGxldCBjb3Vu
dGVyID0gMDsKKyAgbGV0IHNhbXBsZSwgcmVzdWx0LCBPdGhlciwgb3RoZXI7CisgIGxldCBjdG9y
ID0ge307CiAgIGN0b3JbU3ltYm9sLnNwZWNpZXNdID0gZnVuY3Rpb24oY291bnQpIHsKLSAgICBv
dGhlciA9IFRBID09PSBCaWdJbnQ2NEFycmF5ID8gQmlnVWludDY0QXJyYXkgOiBCaWdJbnQ2NEFy
cmF5OworICAgIGNvdW50ZXIrKzsKKyAgICBPdGhlciA9IFRBID09PSBCaWdJbnQ2NEFycmF5ID8g
QmlnVWludDY0QXJyYXkgOiBCaWdJbnQ2NEFycmF5OwogICAgICRERVRBQ0hCVUZGRVIoc2FtcGxl
LmJ1ZmZlcik7Ci0gICAgcmV0dXJuIG5ldyBvdGhlcihjb3VudCk7CisgICAgb3RoZXIgPSBuZXcg
T3RoZXIoY291bnQpOworICAgIHJldHVybiBvdGhlcjsKICAgfTsKIAogICBzYW1wbGUgPSBuZXcg
VEEoMCk7CiAgIHNhbXBsZS5jb25zdHJ1Y3RvciA9IGN0b3I7CiAgIHJlc3VsdCA9IHNhbXBsZS5z
bGljZSgpOwotICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdC5sZW5ndGgsIDAsICIjMTogcmVzdWx0
Lmxlbmd0aCIpOwotICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdC5idWZmZXIsIHNhbXBsZS5i
dWZmZXIsICIjMTogY3JlYXRlcyBhIG5ldyBidWZmZXIiKTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShy
ZXN1bHQuY29uc3RydWN0b3IsIG90aGVyLCAiIzE6IGN0b3IiKTsKKyAgYXNzZXJ0LnNhbWVWYWx1
ZShyZXN1bHQubGVuZ3RoLCAwLCAnVGhlIHZhbHVlIG9mIHJlc3VsdC5sZW5ndGggaXMgMCcpOwor
ICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdC5idWZmZXIsIHNhbXBsZS5idWZmZXIsICdUaGUg
dmFsdWUgb2YgcmVzdWx0LmJ1ZmZlciBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgdGhlIHZhbHVl
IG9mIGBzYW1wbGUuYnVmZmVyYCcpOworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdC5jb25zdHJ1
Y3RvciwgT3RoZXIsICdUaGUgdmFsdWUgb2YgcmVzdWx0LmNvbnN0cnVjdG9yIGlzIGV4cGVjdGVk
IHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBPdGhlcicpOworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3Vs
dCwgb3RoZXIsICdUaGUgdmFsdWUgb2YgYHJlc3VsdGAgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhl
IHZhbHVlIG9mIG90aGVyJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoY291bnRlciwgMSwgJ1RoZSB2
YWx1ZSBvZiBgY291bnRlcmAgaXMgMScpOwogCiAgIHNhbXBsZSA9IG5ldyBUQSg0KTsKICAgc2Ft
cGxlLmNvbnN0cnVjdG9yID0gY3RvcjsKLSAgcmVzdWx0ID0gc2FtcGxlLnNsaWNlKDEsIDEpOwot
ICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdC5sZW5ndGgsIDAsICIjMjogcmVzdWx0Lmxlbmd0aCIp
OwotICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdC5idWZmZXIsIHNhbXBsZS5idWZmZXIsICIj
MjogY3JlYXRlcyBhIG5ldyBidWZmZXIiKTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQuY29u
c3RydWN0b3IsIG90aGVyLCAiIzI6IGN0b3IiKTsKKyAgc2FtcGxlLnNsaWNlKDEsIDEpOyAvLyBj
b3VudCA9IDA7CisgIGFzc2VydC5zYW1lVmFsdWUoY291bnRlciwgMiwgJ1RoZSB2YWx1ZSBvZiBg
Y291bnRlcmAgaXMgMicpOwogfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2UvQmlnSW50L2RldGFjaGVkLWJ1ZmZl
ci16ZXJvLWNvdW50LWN1c3RvbS1jdG9yLXNhbWUtdGFyZ2V0dHlwZS5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zbGljZS9CaWdJbnQvZGV0
YWNoZWQtYnVmZmVyLXplcm8tY291bnQtY3VzdG9tLWN0b3Itc2FtZS10YXJnZXR0eXBlLmpzCmlu
ZGV4IDY3MzcyYmQ3MzcxMmI2ZTE3YjE0MmE0MWU5NDg4YmY0ZWFjOTA2NWEuLjNmNTQyNGIxNGIx
YzE2ZmViYzFhYmZiZDg2MTBjYmFhZDE5MmI3ODUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zbGljZS9CaWdJbnQvZGV0YWNo
ZWQtYnVmZmVyLXplcm8tY291bnQtY3VzdG9tLWN0b3Itc2FtZS10YXJnZXR0eXBlLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zbGlj
ZS9CaWdJbnQvZGV0YWNoZWQtYnVmZmVyLXplcm8tY291bnQtY3VzdG9tLWN0b3Itc2FtZS10YXJn
ZXR0eXBlLmpzCkBAIC00LDQyICs0LDQ2IEBACiBlc2lkOiBzZWMtJXR5cGVkYXJyYXklLnByb3Rv
dHlwZS5zbGljZQogZGVzY3JpcHRpb246ID4KICAgRG9lcyBub3QgdGhyb3cgYSBUeXBlRXJyb3Ig
aWYgYnVmZmVyIGlzIGRldGFjaGVkIG9uIGN1c3RvbSBjb25zdHJ1Y3RvciBhbmQKLSAgYGsgPj0g
ZmluYWxgLiBVc2luZyBzYW1lIHRhcmdldFR5cGUuCisgIGNvdW50IDw9IDAuIFVzaW5nIHNhbWUg
dGFyZ2V0VHlwZS4KIGluZm86IHwKICAgMjIuMi4zLjI0ICVUeXBlZEFycmF5JS5wcm90b3R5cGUu
c2xpY2UgKCBzdGFydCwgZW5kICkKIAotICAuLi4KLSAgOS4gTGV0IEEgYmUgPyBUeXBlZEFycmF5
U3BlY2llc0NyZWF0ZShPLCDCqyBjb3VudCDCuykuCi0gIC4uLgotICAxNC4gSWYgU2FtZVZhbHVl
KHNyY1R5cGUsIHRhcmdldFR5cGUpIGlzIGZhbHNlLCB0aGVuCisgIExldCBBIGJlID8gVHlwZWRB
cnJheVNwZWNpZXNDcmVhdGUoTywgwqsgY291bnQgwrspLgorICBJZiBjb3VudCA+IDAsIHRoZW4K
ICAgICAuLi4KLSAgMTUuIEVsc2UgaWYgY291bnQgPiAwLCB0aGVuCi0gICAgYS4gTGV0IHNyY0J1
ZmZlciBiZSB0aGUgdmFsdWUgb2YgTydzIFtbVmlld2VkQXJyYXlCdWZmZXJdXSBpbnRlcm5hbCBz
bG90LgotICAgIGIuIElmIElzRGV0YWNoZWRCdWZmZXIoc3JjQnVmZmVyKSBpcyB0cnVlLCB0aHJv
dyBhIFR5cGVFcnJvciBleGNlcHRpb24uCi0gIC4uLgorICBSZXR1cm4gQQogaW5jbHVkZXM6IFt0
ZXN0QmlnSW50VHlwZWRBcnJheS5qcywgZGV0YWNoQXJyYXlCdWZmZXIuanNdCi1mZWF0dXJlczog
W0JpZ0ludCwgU3ltYm9sLnNwZWNpZXMsIFR5cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWduLWRl
dGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgQmlnSW50LCBTeW1ib2wu
c3BlY2llcywgVHlwZWRBcnJheV0KIC0tLSovCiAKIHRlc3RXaXRoQmlnSW50VHlwZWRBcnJheUNv
bnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewotICB2YXIgc2FtcGxlLCByZXN1bHQ7Ci0gIHZhciBj
dG9yID0ge307CisgIGxldCBjb3VudGVyID0gMDsKKyAgbGV0IHNhbXBsZSwgcmVzdWx0LCBvdGhl
cjsKKyAgbGV0IGN0b3IgPSB7fTsKICAgY3RvcltTeW1ib2wuc3BlY2llc10gPSBmdW5jdGlvbihj
b3VudCkgeworICAgIGNvdW50ZXIrKzsKICAgICAkREVUQUNIQlVGRkVSKHNhbXBsZS5idWZmZXIp
OwotICAgIHJldHVybiBuZXcgVEEoY291bnQpOworICAgIG90aGVyID0gbmV3IFRBKGNvdW50KTsK
KyAgICByZXR1cm4gb3RoZXI7CiAgIH07CiAKICAgc2FtcGxlID0gbmV3IFRBKDApOwogICBzYW1w
bGUuY29uc3RydWN0b3IgPSBjdG9yOwogICByZXN1bHQgPSBzYW1wbGUuc2xpY2UoKTsKLSAgYXNz
ZXJ0LnNhbWVWYWx1ZShyZXN1bHQubGVuZ3RoLCAwLCAiIzE6IHJlc3VsdC5sZW5ndGgiKTsKLSAg
YXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQuYnVmZmVyLCBzYW1wbGUuYnVmZmVyLCAiIzE6IGNy
ZWF0ZXMgYSBuZXcgYnVmZmVyIik7Ci0gIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LmNvbnN0cnVj
dG9yLCBUQSwgIiMxOiBjdG9yIik7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0Lmxlbmd0aCwg
MCwgJ1RoZSB2YWx1ZSBvZiByZXN1bHQubGVuZ3RoIGlzIDAnKTsKKyAgYXNzZXJ0Lm5vdFNhbWVW
YWx1ZShyZXN1bHQuYnVmZmVyLCBzYW1wbGUuYnVmZmVyLCAnVGhlIHZhbHVlIG9mIHJlc3VsdC5i
dWZmZXIgaXMgZXhwZWN0ZWQgdG8gbm90IGVxdWFsIHRoZSB2YWx1ZSBvZiBgc2FtcGxlLmJ1ZmZl
cmAnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIG90aGVyLCAnVGhlIHZhbHVlIG9mIGBy
ZXN1bHRgIGlzIGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBvdGhlcicpOworICBhc3Nl
cnQuc2FtZVZhbHVlKGNvdW50ZXIsIDEsICdUaGUgdmFsdWUgb2YgYGNvdW50ZXJgIGlzIDEnKTsK
IAogICBzYW1wbGUgPSBuZXcgVEEoNCk7CiAgIHNhbXBsZS5jb25zdHJ1Y3RvciA9IGN0b3I7Ci0g
IHJlc3VsdCA9IHNhbXBsZS5zbGljZSgxLCAxKTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQu
bGVuZ3RoLCAwLCAiIzI6IHJlc3VsdC5sZW5ndGgiKTsKLSAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShy
ZXN1bHQuYnVmZmVyLCBzYW1wbGUuYnVmZmVyLCAiIzI6IGNyZWF0ZXMgYSBuZXcgYnVmZmVyIik7
Ci0gIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LmNvbnN0cnVjdG9yLCBUQSwgIiMyOiBjdG9yIik7
CisgIHJlc3VsdCA9IHNhbXBsZS5zbGljZSgxLCAxKTsgLy8gY291bnQgPSAwOworICBhc3NlcnQu
c2FtZVZhbHVlKHJlc3VsdC5sZW5ndGgsIDAsICdUaGUgdmFsdWUgb2YgcmVzdWx0Lmxlbmd0aCBp
cyAwJyk7CisgIGFzc2VydC5ub3RTYW1lVmFsdWUoCisgICAgcmVzdWx0LmJ1ZmZlciwKKyAgICBz
YW1wbGUuYnVmZmVyLAorICAgICdUaGUgdmFsdWUgb2YgcmVzdWx0LmJ1ZmZlciBpcyBleHBlY3Rl
ZCB0byBub3QgZXF1YWwgdGhlIHZhbHVlIG9mIGBzYW1wbGUuYnVmZmVyYCcKKyAgKTsKKyAgYXNz
ZXJ0LnNhbWVWYWx1ZShyZXN1bHQuY29uc3RydWN0b3IsIFRBLCAnVGhlIHZhbHVlIG9mIHJlc3Vs
dC5jb25zdHJ1Y3RvciBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUgb2YgVEEnKTsKKyAg
YXNzZXJ0LnNhbWVWYWx1ZShjb3VudGVyLCAyLCAnVGhlIHZhbHVlIG9mIGBjb3VudGVyYCBpcyAy
Jyk7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5L3Byb3RvdHlwZS9zbGljZS9kZXRhY2hlZC1idWZmZXItY3VzdG9tLWN0b3Itb3RoZXIt
dGFyZ2V0dHlwZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
L3Byb3RvdHlwZS9zbGljZS9kZXRhY2hlZC1idWZmZXItY3VzdG9tLWN0b3Itb3RoZXItdGFyZ2V0
dHlwZS5qcwppbmRleCA3ZjhlYjRiYjcwMzA2YTFlMjQwZmE0NjhkOGI2MzNmMzhkOTg1NGRlLi5m
NjVmZGQ2MDVjNjQxYjI4YzliNGUyYmIzYmE1NjllNmQ5NTQ2MGVmIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2UvZGV0
YWNoZWQtYnVmZmVyLWN1c3RvbS1jdG9yLW90aGVyLXRhcmdldHR5cGUuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL2RldGFj
aGVkLWJ1ZmZlci1jdXN0b20tY3Rvci1vdGhlci10YXJnZXR0eXBlLmpzCkBAIC0zLDM2ICszLDYx
IEBACiAvKi0tLQogZXNpZDogc2VjLSV0eXBlZGFycmF5JS5wcm90b3R5cGUuc2xpY2UKIGRlc2Ny
aXB0aW9uOiA+Ci0gIFRocm93cyBhIFR5cGVFcnJvciBidWZmZXIgaXMgZGV0YWNoZWQgb24gR2V0
IGN1c3RvbSBjb25zdHJ1Y3Rvci4gVXNpbmcgb3RoZXIKKyAgVGhyb3dzIGEgVHlwZUVycm9yIGlm
IF9PXy5bW1ZpZXdlZEFycmF5QnVmZmVyXV0gaXMgZGV0YWNoZWQuIFVzaW5nIG90aGVyCiAgIHRh
cmdldFR5cGUKIGluZm86IHwKICAgMjIuMi4zLjI0ICVUeXBlZEFycmF5JS5wcm90b3R5cGUuc2xp
Y2UgKCBzdGFydCwgZW5kICkKIAogICAuLi4KLSAgOS4gTGV0IEEgYmUgPyBUeXBlZEFycmF5U3Bl
Y2llc0NyZWF0ZShPLCDCqyBjb3VudCDCuykuCisgIExldCBBIGJlID8gVHlwZWRBcnJheVNwZWNp
ZXNDcmVhdGUoTywgwqsgY291bnQgwrspLgorICBJZiBjb3VudCA+IDAsIHRoZW4KKyAgICBJZiBJ
c0RldGFjaGVkQnVmZmVyKE8uW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dKSBpcyB0cnVlLCB0aHJvdyBh
IFR5cGVFcnJvciBleGNlcHRpb24uCiAgIC4uLgotICAxNC4gSWYgU2FtZVZhbHVlKHNyY1R5cGUs
IHRhcmdldFR5cGUpIGlzIGZhbHNlLCB0aGVuCi0gICAgYS4gTGV0IG4gYmUgMC4KLSAgICBiLiBS
ZXBlYXQsIHdoaWxlIGsgPCBmaW5hbAotICAgICAgLi4uCi0gICAgICBpaS4gTGV0IGtWYWx1ZSBi
ZSA/IEdldChPLCBQaykuCi0gICAgICAuLi4KLSAgLi4uCi1pbmNsdWRlczogW3Rlc3RUeXBlZEFy
cmF5LmpzLCBkZXRhY2hBcnJheUJ1ZmZlci5qc10KLWZlYXR1cmVzOiBbU3ltYm9sLnNwZWNpZXMs
IFR5cGVkQXJyYXldCitpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5LmpzLCBkZXRhY2hBcnJheUJ1
ZmZlci5qcywgcHJvcGVydHlIZWxwZXIuanNdCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1
ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgU3ltYm9sLnNwZWNpZXMsIFR5cGVkQXJy
YXldCiAtLS0qLwogCiB0ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEp
IHsKKyAgbGV0IGNvdW50ZXIgPSAwOwogICB2YXIgc2FtcGxlID0gbmV3IFRBKDEpOwogCisgIHZl
cmlmeUNvbmZpZ3VyYWJsZShzYW1wbGUsICIwIik7CisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShz
YW1wbGUsICIwIiwgeworICAgIGdldCgpIHsKKyAgICAgIC8vIElmIHRoZSBzbGljZSBvcGVyYXRp
b24gcmVhY2hlcyB0aGlzIGNvZGUsCisgICAgICAvLyB0aGVuIGl0IGRpZCBub3QgdGhyb3cgYSBU
eXBlRXJyb3IgZXhjZXB0aW9uCisgICAgICAvLyBhcyBhIHJlc3VsdCBvZiB0aGUgZGV0YWNoZWQg
YnVmZmVyLgorICAgICAgLy8KKyAgICAgIC8vIFJlYWNoaW5nIHRoaXMgY29kZSBpcyB0aGUgZXF1
aXZhbGVudCB0bzoKKyAgICAgIC8vCisgICAgICAvLyBJZiBjb3VudCA+IDAsIHRoZW4KKyAgICAg
IC8vICAgIElmIElzRGV0YWNoZWRCdWZmZXIoTy5bW1ZpZXdlZEFycmF5QnVmZmVyXV0pIGlzIHRy
dWUsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgICAgIC8vICAgIExldCBzcmNOYW1l
IGJlIHRoZSBTdHJpbmcgdmFsdWUgb2YgTy5bW1R5cGVkQXJyYXlOYW1lXV0uCisgICAgICAvLyAg
ICBMZXQgc3JjVHlwZSBiZSB0aGUgRWxlbWVudCBUeXBlIHZhbHVlIGluIFRhYmxlIDYyIGZvciBz
cmNOYW1lLgorICAgICAgLy8gICAgTGV0IHRhcmdldE5hbWUgYmUgdGhlIFN0cmluZyB2YWx1ZSBv
ZiBBLltbVHlwZWRBcnJheU5hbWVdXS4KKyAgICAgIC8vICAgIExldCB0YXJnZXRUeXBlIGJlIHRo
ZSBFbGVtZW50IFR5cGUgdmFsdWUgaW4gVGFibGUgNjIgZm9yIHRhcmdldE5hbWUuCisgICAgICAv
LyAgICBJZiBzcmNUeXBlIGlzIGRpZmZlcmVudCBmcm9tIHRhcmdldFR5cGUsIHRoZW4KKyAgICAg
IC8vICAgICAgTGV0IG4gYmUgMC4KKyAgICAgIC8vICAgICAgUmVwZWF0LCB3aGlsZSBrIDwgZmlu
YWwsCisgICAgICAvLyAgICAgICAgTGV0IFBrIGJlICEgVG9TdHJpbmcoaykuCisgICAgICAvLyAg
ICAgICAgTGV0IGtWYWx1ZSBiZSAhIEdldChPLCBQaykuCisgICAgICAvLworICAgICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcigpOworICAgIH0KKyAgfSk7CisKICAgc2FtcGxlLmNvbnN0cnVjdG9y
ID0ge307CiAgIHNhbXBsZS5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc10gPSBmdW5jdGlvbihj
b3VudCkgewogICAgIHZhciBvdGhlciA9IFRBID09PSBJbnQ4QXJyYXkgPyBJbnQxNkFycmF5IDog
SW50OEFycmF5OworICAgIGNvdW50ZXIrKzsKICAgICAkREVUQUNIQlVGRkVSKHNhbXBsZS5idWZm
ZXIpOwogICAgIHJldHVybiBuZXcgb3RoZXIoY291bnQpOwogICB9OwogCiAgIGFzc2VydC50aHJv
d3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKKyAgICBjb3VudGVyKys7CiAgICAgc2FtcGxlLnNs
aWNlKCk7Ci0gIH0sICJzdGVwIDE0LmIuaWkgLSA/IEdldChPLCBQayksIE8gaGFzIGEgZGV0YWNo
ZWQgYnVmZmVyIik7CisgIH0sICdgc2FtcGxlLnNsaWNlKClgIHRocm93cyBUeXBlRXJyb3InKTsK
KworICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50ZXIsIDIsICdUaGUgdmFsdWUgb2YgYGNvdW50ZXJg
IGlzIDInKTsKIH0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL2RldGFjaGVkLWJ1ZmZlci1jdXN0b20tY3Rvci1z
YW1lLXRhcmdldHR5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRB
cnJheS9wcm90b3R5cGUvc2xpY2UvZGV0YWNoZWQtYnVmZmVyLWN1c3RvbS1jdG9yLXNhbWUtdGFy
Z2V0dHlwZS5qcwppbmRleCA4ZDA0MWNkOTg2NjMyZjNiZjllY2UxOGRjNDg0ZTIxNDcwNWI4Y2Vl
Li4xMDY0OTk2NDIyYzc4ODlmOWQzMDRlNDUxOWM3YjBkZGRkNmY2MDcwIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2Uv
ZGV0YWNoZWQtYnVmZmVyLWN1c3RvbS1jdG9yLXNhbWUtdGFyZ2V0dHlwZS5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2UvZGV0
YWNoZWQtYnVmZmVyLWN1c3RvbS1jdG9yLXNhbWUtdGFyZ2V0dHlwZS5qcwpAQCAtMiwzMyArMiwz
NCBAQAogLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgogLyotLS0KIGVzaWQ6IHNlYy0ldHlwZWRhcnJheSUucHJvdG90
eXBlLnNsaWNlCi1kZXNjcmlwdGlvbjogVGhyb3dzIGEgVHlwZUVycm9yIGJ1ZmZlciBpcyBkZXRh
Y2hlZCBvbiBHZXQgY3VzdG9tIGNvbnN0cnVjdG9yLgorZGVzY3JpcHRpb246IFRocm93cyBhIFR5
cGVFcnJvciBpZiBfT18uW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dIGlzIGRldGFjaGVkIG9uIEdldCBj
dXN0b20gY29uc3RydWN0b3IuCiBpbmZvOiB8CiAgIDIyLjIuMy4yNCAlVHlwZWRBcnJheSUucHJv
dG90eXBlLnNsaWNlICggc3RhcnQsIGVuZCApCiAKICAgLi4uCi0gIDkuIExldCBBIGJlID8gVHlw
ZWRBcnJheVNwZWNpZXNDcmVhdGUoTywgwqsgY291bnQgwrspLgotICAuLi4KLSAgMTQuIElmIFNh
bWVWYWx1ZShzcmNUeXBlLCB0YXJnZXRUeXBlKSBpcyBmYWxzZSwgdGhlbgotICAgIC4uLgotICAx
NS4gRWxzZSBpZiBjb3VudCA+IDAsIHRoZW4KLSAgICBhLiBMZXQgc3JjQnVmZmVyIGJlIHRoZSB2
YWx1ZSBvZiBPJ3MgW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dIGludGVybmFsIHNsb3QuCi0gICAgYi4g
SWYgSXNEZXRhY2hlZEJ1ZmZlcihzcmNCdWZmZXIpIGlzIHRydWUsIHRocm93IGEgVHlwZUVycm9y
IGV4Y2VwdGlvbi4KKyAgTGV0IEEgYmUgPyBUeXBlZEFycmF5U3BlY2llc0NyZWF0ZShPLCDCqyBj
b3VudCDCuykuCisgIElmIGNvdW50ID4gMCwgdGhlbgorICAgIElmIElzRGV0YWNoZWRCdWZmZXIo
Ty5bW1ZpZXdlZEFycmF5QnVmZmVyXV0pIGlzIHRydWUsIHRocm93IGEgVHlwZUVycm9yIGV4Y2Vw
dGlvbi4KICAgLi4uCiBpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5LmpzLCBkZXRhY2hBcnJheUJ1
ZmZlci5qc10KLWZlYXR1cmVzOiBbU3ltYm9sLnNwZWNpZXMsIFR5cGVkQXJyYXldCitmZWF0dXJl
czogW2FsaWduLWRldGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgU3lt
Ym9sLnNwZWNpZXMsIFR5cGVkQXJyYXldCiAtLS0qLwogCiB0ZXN0V2l0aFR5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKLSAgdmFyIHNhbXBsZSA9IG5ldyBUQSgxKTsKKyAgbGV0
IGNvdW50ZXIgPSAwOworICBsZXQgc2FtcGxlID0gbmV3IFRBKDEpOwogCiAgIHNhbXBsZS5jb25z
dHJ1Y3RvciA9IHt9OwogICBzYW1wbGUuY29uc3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0gZnVu
Y3Rpb24oY291bnQpIHsKKyAgICBjb3VudGVyKys7CiAgICAgJERFVEFDSEJVRkZFUihzYW1wbGUu
YnVmZmVyKTsKICAgICByZXR1cm4gbmV3IFRBKGNvdW50KTsKICAgfTsKIAogICBhc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgICAgY291bnRlcisrOwogICAgIHNhbXBsZS5z
bGljZSgpOwotICB9LCAic3RlcCAxNS5iLCBJc0RldGFjaGVkQnVmZmVyKHNyY0J1ZmZlcikgaXMg
dHJ1ZSIpOworICB9LCAnYHNhbXBsZS5zbGljZSgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKKyAg
YXNzZXJ0LnNhbWVWYWx1ZShjb3VudGVyLCAyLCAnVGhlIHZhbHVlIG9mIGBjb3VudGVyYCBpcyAy
Jyk7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5L3Byb3RvdHlwZS9zbGljZS9kZXRhY2hlZC1idWZmZXItZ2V0LWN0b3IuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2UvZGV0
YWNoZWQtYnVmZmVyLWdldC1jdG9yLmpzCmluZGV4IGZjNmZlMjEwMTU5MzM2YmExZDkyYWE0OTQy
NjcwYjNkZTk1YTM1MTcuLmM3NTg4OTcyYTYyMDBhMDFmZmFlOTQ0YzRjNzMwNGRkMDIyNGIwNTAg
MTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3By
b3RvdHlwZS9zbGljZS9kZXRhY2hlZC1idWZmZXItZ2V0LWN0b3IuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL2RldGFjaGVk
LWJ1ZmZlci1nZXQtY3Rvci5qcwpAQCAtMiwzMiArMiwzMyBAQAogLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgogLyot
LS0KIGVzaWQ6IHNlYy0ldHlwZWRhcnJheSUucHJvdG90eXBlLnNsaWNlCi1kZXNjcmlwdGlvbjog
VGhyb3dzIGEgVHlwZUVycm9yIGJ1ZmZlciBpcyBkZXRhY2hlZCBvbiBHZXQgY29uc3RydWN0b3Iu
CitkZXNjcmlwdGlvbjogVGhyb3dzIGEgVHlwZUVycm9yIGlmIF9PXy5bW1ZpZXdlZEFycmF5QnVm
ZmVyXV0gaXMgZGV0YWNoZWQuCiBpbmZvOiB8CiAgIDIyLjIuMy4yNCAlVHlwZWRBcnJheSUucHJv
dG90eXBlLnNsaWNlICggc3RhcnQsIGVuZCApCiAKICAgLi4uCi0gIDkuIExldCBBIGJlID8gVHlw
ZWRBcnJheVNwZWNpZXNDcmVhdGUoTywgwqsgY291bnQgwrspLgotICAuLi4KLSAgMTQuIElmIFNh
bWVWYWx1ZShzcmNUeXBlLCB0YXJnZXRUeXBlKSBpcyBmYWxzZSwgdGhlbgotICAgIC4uLgotICAx
NS4gRWxzZSBpZiBjb3VudCA+IDAsIHRoZW4KLSAgICBhLiBMZXQgc3JjQnVmZmVyIGJlIHRoZSB2
YWx1ZSBvZiBPJ3MgW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dIGludGVybmFsIHNsb3QuCi0gICAgYi4g
SWYgSXNEZXRhY2hlZEJ1ZmZlcihzcmNCdWZmZXIpIGlzIHRydWUsIHRocm93IGEgVHlwZUVycm9y
IGV4Y2VwdGlvbi4KKyAgTGV0IEEgYmUgPyBUeXBlZEFycmF5U3BlY2llc0NyZWF0ZShPLCDCqyBj
b3VudCDCuykuCisgIElmIGNvdW50ID4gMCwgdGhlbgorICAgIElmIElzRGV0YWNoZWRCdWZmZXIo
Ty5bW1ZpZXdlZEFycmF5QnVmZmVyXV0pIGlzIHRydWUsIHRocm93IGEgVHlwZUVycm9yIGV4Y2Vw
dGlvbi4KICAgLi4uCiBpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5LmpzLCBkZXRhY2hBcnJheUJ1
ZmZlci5qc10KLWZlYXR1cmVzOiBbVHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNo
ZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBTeW1ib2wuc3BlY2llcywgVHlw
ZWRBcnJheV0KIC0tLSovCiAKIHRlc3RXaXRoVHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlv
bihUQSkgewotICB2YXIgc2FtcGxlID0gbmV3IFRBKDEpOworICBsZXQgY291bnRlciA9IDA7Cisg
IGxldCBzYW1wbGUgPSBuZXcgVEEoMSk7CiAKICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNhbXBs
ZSwgImNvbnN0cnVjdG9yIiwgewotICAgIGdldDogZnVuY3Rpb24oKSB7CisgICAgZ2V0KCkgewor
ICAgICAgY291bnRlcisrOwogICAgICAgJERFVEFDSEJVRkZFUihzYW1wbGUuYnVmZmVyKTsKICAg
ICB9CiAgIH0pOwogICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgICAg
Y291bnRlcisrOwogICAgIHNhbXBsZS5zbGljZSgpOwotICB9KTsKKyAgfSwgJ2BzYW1wbGUuc2xp
Y2UoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCisgIGFzc2VydC5zYW1lVmFsdWUoY291bnRlciwg
MiwgJ1RoZSB2YWx1ZSBvZiBgY291bnRlcmAgaXMgMicpOwogfSk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2UvZGV0
YWNoZWQtYnVmZmVyLXNwZWNpZXNjdG9yLWdldC1zcGVjaWVzLWN1c3RvbS1jdG9yLXRocm93cy5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9z
bGljZS9kZXRhY2hlZC1idWZmZXItc3BlY2llc2N0b3ItZ2V0LXNwZWNpZXMtY3VzdG9tLWN0b3It
dGhyb3dzLmpzCmluZGV4IDZiYWI2YjZjMzZkZmUzM2IxOGMwZTI0NzlmMzJhYWVmMDE1MzVmYTEu
LjEzYmVmZTU2ZjAxYTkyYTc1YjZmODdhZjAxOWEwNWEzNDI0NjIzYWIgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zbGljZS9k
ZXRhY2hlZC1idWZmZXItc3BlY2llc2N0b3ItZ2V0LXNwZWNpZXMtY3VzdG9tLWN0b3ItdGhyb3dz
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3Rv
dHlwZS9zbGljZS9kZXRhY2hlZC1idWZmZXItc3BlY2llc2N0b3ItZ2V0LXNwZWNpZXMtY3VzdG9t
LWN0b3ItdGhyb3dzLmpzCkBAIC0yLDQyICsyLDUwIEBACiAvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAvKi0tLQog
ZXNpZDogc2VjLSV0eXBlZGFycmF5JS5wcm90b3R5cGUuc2xpY2UKLWRlc2NyaXB0aW9uOiA+Ci0g
IEN1c3RvbSBAQHNwZWNpZXMgY29uc3RydWN0b3IgdGhyb3dzIGlmIGl0IHJldHVybnMgYW4gaW5z
dGFuY2Ugd2l0aCBhIGRldGFjaGVkCi0gIGJ1ZmZlcgorZGVzY3JpcHRpb246IFRocm93cyBhIFR5
cGVFcnJvciBpZiBidWZmZXIgb2Ygb2JqZWN0IGNyZWF0ZWQgYnkgY3VzdG9tIGNvbnN0cnVjdG9y
IGlzIGRldGFjaGVkLgogaW5mbzogfAotICAyMi4yLjMuMjQgJVR5cGVkQXJyYXklLnByb3RvdHlw
ZS5zbGljZSAoIHN0YXJ0LCBlbmQgKQorICAlVHlwZWRBcnJheSUucHJvdG90eXBlLnNsaWNlICgg
c3RhcnQsIGVuZCApCiAKLSAgLi4uCi0gIDkuIExldCBBIGJlID8gVHlwZWRBcnJheVNwZWNpZXND
cmVhdGUoTywgwqsgY291bnQgwrspLgotICAuLi4KKyAgICBMZXQgQSBiZSA/IFR5cGVkQXJyYXlT
cGVjaWVzQ3JlYXRlKE8sIMKrIGNvdW50IMK7KS4KIAotICAyMi4yLjQuNyBUeXBlZEFycmF5U3Bl
Y2llc0NyZWF0ZSAoIGV4ZW1wbGFyLCBhcmd1bWVudExpc3QgKQorICBUeXBlZEFycmF5U3BlY2ll
c0NyZWF0ZSAoIGV4ZW1wbGFyLCBhcmd1bWVudExpc3QgKQogCi0gIC4uLgotICAzLiBMZXQgY29u
c3RydWN0b3IgYmUgPyBTcGVjaWVzQ29uc3RydWN0b3IoZXhlbXBsYXIsIGRlZmF1bHRDb25zdHJ1
Y3RvcikuCi0gIDQuIFJldHVybiA/IFR5cGVkQXJyYXlDcmVhdGUoY29uc3RydWN0b3IsIGFyZ3Vt
ZW50TGlzdCkuCisgICAgTGV0IHJlc3VsdCBiZSA/IFR5cGVkQXJyYXlDcmVhdGUoY29uc3RydWN0
b3IsIGFyZ3VtZW50TGlzdCkuCiAKLSAgMjIuMi40LjYgVHlwZWRBcnJheUNyZWF0ZSAoIGNvbnN0
cnVjdG9yLCBhcmd1bWVudExpc3QgKQorICBUeXBlZEFycmF5Q3JlYXRlICggY29uc3RydWN0b3Is
IGFyZ3VtZW50TGlzdCApCisKKyAgICBMZXQgbmV3VHlwZWRBcnJheSBiZSA/IENvbnN0cnVjdChj
b25zdHJ1Y3RvciwgYXJndW1lbnRMaXN0KS4KKyAgICBQZXJmb3JtID8gVmFsaWRhdGVUeXBlZEFy
cmF5KG5ld1R5cGVkQXJyYXkpLgorCisgIFZhbGlkYXRlVHlwZWRBcnJheSAoIE8gKQorICAgIFRo
ZSBhYnN0cmFjdCBvcGVyYXRpb24gVmFsaWRhdGVUeXBlZEFycmF5IHRha2VzIGFyZ3VtZW50IE8u
IEl0IHBlcmZvcm1zIHRoZSBmb2xsb3dpbmcgc3RlcHMgd2hlbiBjYWxsZWQ6CisKKyAgICBQZXJm
b3JtID8gUmVxdWlyZUludGVybmFsU2xvdChPLCBbW1R5cGVkQXJyYXlOYW1lXV0pLgorICAgIEFz
c2VydDogTyBoYXMgYSBbW1ZpZXdlZEFycmF5QnVmZmVyXV0gaW50ZXJuYWwgc2xvdC4KKyAgICBM
ZXQgYnVmZmVyIGJlIE8uW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dLgorICAgIElmIElzRGV0YWNoZWRC
dWZmZXIoYnVmZmVyKSBpcyB0cnVlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgICAg
Li4uCiAKLSAgMS4gTGV0IG5ld1R5cGVkQXJyYXkgYmUgPyBDb25zdHJ1Y3QoY29uc3RydWN0b3Is
IGFyZ3VtZW50TGlzdCkuCi0gIDIuIFBlcmZvcm0gPyBWYWxpZGF0ZVR5cGVkQXJyYXkobmV3VHlw
ZWRBcnJheSkuCi0gIC4uLgogaW5jbHVkZXM6IFt0ZXN0VHlwZWRBcnJheS5qcywgZGV0YWNoQXJy
YXlCdWZmZXIuanNdCi1mZWF0dXJlczogW1N5bWJvbC5zcGVjaWVzLCBUeXBlZEFycmF5XQorZmVh
dHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxpdHks
IFN5bWJvbC5zcGVjaWVzLCBUeXBlZEFycmF5XQogLS0tKi8KIAogdGVzdFdpdGhUeXBlZEFycmF5
Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7Ci0gIHZhciBzYW1wbGUgPSBuZXcgVEEoKTsKKyAg
bGV0IGNvdW50ZXIgPSAwOworICBsZXQgc2FtcGxlID0gbmV3IFRBKDEpOwogCiAgIHNhbXBsZS5j
b25zdHJ1Y3RvciA9IHt9OwogICBzYW1wbGUuY29uc3RydWN0b3JbU3ltYm9sLnNwZWNpZXNdID0g
ZnVuY3Rpb24oY291bnQpIHsKLSAgICB2YXIgb3RoZXIgPSBuZXcgVEEoY291bnQpOworICAgIGxl
dCBvdGhlciA9IG5ldyBUQShjb3VudCk7CisgICAgY291bnRlcisrOwogICAgICRERVRBQ0hCVUZG
RVIob3RoZXIuYnVmZmVyKTsKICAgICByZXR1cm4gb3RoZXI7CiAgIH07CiAKICAgYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeworICAgIGNvdW50ZXIrKzsKICAgICBzYW1wbGUu
c2xpY2UoKTsKLSAgfSk7CisgIH0sICdgc2FtcGxlLnNsaWNlKClgIHRocm93cyBUeXBlRXJyb3In
KTsKKworICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50ZXIsIDIsICdUaGUgdmFsdWUgb2YgYGNvdW50
ZXJgIGlzIDInKTsKIH0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL2RldGFjaGVkLWJ1ZmZlci16ZXJvLWNvdW50
LWN1c3RvbS1jdG9yLW90aGVyLXRhcmdldHR5cGUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2UvZGV0YWNoZWQtYnVmZmVyLXplcm8t
Y291bnQtY3VzdG9tLWN0b3Itb3RoZXItdGFyZ2V0dHlwZS5qcwppbmRleCBkMDgxYmUzYTFiYWZh
NDM3YjBkODAzZWRhOWZlMWNkNGQ2MjUxYWJiLi5iM2ZlODQ1NjE2MWY1ZDVlNzFlYmEzMmRiYzg2
YTYyNTcxZWVhNGFlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2UvZGV0YWNoZWQtYnVmZmVyLXplcm8tY291bnQtY3Vz
dG9tLWN0b3Itb3RoZXItdGFyZ2V0dHlwZS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2UvZGV0YWNoZWQtYnVmZmVyLXplcm8t
Y291bnQtY3VzdG9tLWN0b3Itb3RoZXItdGFyZ2V0dHlwZS5qcwpAQCAtNCw0NSArNCw0MiBAQAog
ZXNpZDogc2VjLSV0eXBlZGFycmF5JS5wcm90b3R5cGUuc2xpY2UKIGRlc2NyaXB0aW9uOiA+CiAg
IERvZXMgbm90IHRocm93IGEgVHlwZUVycm9yIGlmIGJ1ZmZlciBpcyBkZXRhY2hlZCBvbiBjdXN0
b20gY29uc3RydWN0b3IgYW5kCi0gIGBrID49IGZpbmFsYC4gVXNpbmcgb3RoZXIgdGFyZ2V0VHlw
ZS4KKyAgY291bnQgPD0gMC4gVXNpbmcgb3RoZXIgdGFyZ2V0VHlwZS4KIGluZm86IHwKICAgMjIu
Mi4zLjI0ICVUeXBlZEFycmF5JS5wcm90b3R5cGUuc2xpY2UgKCBzdGFydCwgZW5kICkKIAotICAu
Li4KLSAgOS4gTGV0IEEgYmUgPyBUeXBlZEFycmF5U3BlY2llc0NyZWF0ZShPLCDCqyBjb3VudCDC
uykuCi0gIC4uLgotICAxNC4gSWYgU2FtZVZhbHVlKHNyY1R5cGUsIHRhcmdldFR5cGUpIGlzIGZh
bHNlLCB0aGVuCi0gICAgYS4gTGV0IG4gYmUgMC4KLSAgICBiLiBSZXBlYXQsIHdoaWxlIGsgPCBm
aW5hbAotICAgICAgLi4uCi0gICAgICBpaS4gTGV0IGtWYWx1ZSBiZSA/IEdldChPLCBQaykuCi0g
ICAgICAuLi4KLSAgLi4uCi0gIDE2LiBSZXR1cm4gQS4KKyAgTGV0IEEgYmUgPyBUeXBlZEFycmF5
U3BlY2llc0NyZWF0ZShPLCDCqyBjb3VudCDCuykuCisgIElmIGNvdW50ID4gMCwgdGhlbgorICAg
IC4uLgorICBSZXR1cm4gQQorCiBpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5LmpzLCBkZXRhY2hB
cnJheUJ1ZmZlci5qc10KLWZlYXR1cmVzOiBbU3ltYm9sLnNwZWNpZXMsIFR5cGVkQXJyYXldCitm
ZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0
eSwgU3ltYm9sLnNwZWNpZXMsIFR5cGVkQXJyYXldCiAtLS0qLwogCiB0ZXN0V2l0aFR5cGVkQXJy
YXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKLSAgdmFyIHNhbXBsZSwgcmVzdWx0LCBvdGhl
cjsKLSAgdmFyIGN0b3IgPSB7fTsKKyAgbGV0IGNvdW50ZXIgPSAwOworICBsZXQgc2FtcGxlLCBy
ZXN1bHQsIE90aGVyLCBvdGhlcjsKKyAgbGV0IGN0b3IgPSB7fTsKICAgY3RvcltTeW1ib2wuc3Bl
Y2llc10gPSBmdW5jdGlvbihjb3VudCkgewotICAgIG90aGVyID0gVEEgPT09IEludDhBcnJheSA/
IEludDE2QXJyYXkgOiBJbnQ4QXJyYXk7CisgICAgY291bnRlcisrOworICAgIE90aGVyID0gVEEg
PT09IEludDE2QXJyYXkgPyBJbnQ4QXJyYXkgOiBJbnQxNkFycmF5OwogICAgICRERVRBQ0hCVUZG
RVIoc2FtcGxlLmJ1ZmZlcik7Ci0gICAgcmV0dXJuIG5ldyBvdGhlcihjb3VudCk7CisgICAgb3Ro
ZXIgPSBuZXcgT3RoZXIoY291bnQpOworICAgIHJldHVybiBvdGhlcjsKICAgfTsKIAogICBzYW1w
bGUgPSBuZXcgVEEoMCk7CiAgIHNhbXBsZS5jb25zdHJ1Y3RvciA9IGN0b3I7CiAgIHJlc3VsdCA9
IHNhbXBsZS5zbGljZSgpOwotICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdC5sZW5ndGgsIDAsICIj
MTogcmVzdWx0Lmxlbmd0aCIpOwotICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdC5idWZmZXIs
IHNhbXBsZS5idWZmZXIsICIjMTogY3JlYXRlcyBhIG5ldyBidWZmZXIiKTsKLSAgYXNzZXJ0LnNh
bWVWYWx1ZShyZXN1bHQuY29uc3RydWN0b3IsIG90aGVyLCAiIzE6IGN0b3IiKTsKKyAgYXNzZXJ0
LnNhbWVWYWx1ZShyZXN1bHQubGVuZ3RoLCAwLCAnVGhlIHZhbHVlIG9mIHJlc3VsdC5sZW5ndGgg
aXMgMCcpOworICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdC5idWZmZXIsIHNhbXBsZS5idWZm
ZXIsICdUaGUgdmFsdWUgb2YgcmVzdWx0LmJ1ZmZlciBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwg
dGhlIHZhbHVlIG9mIGBzYW1wbGUuYnVmZmVyYCcpOworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3Vs
dC5jb25zdHJ1Y3RvciwgT3RoZXIsICdUaGUgdmFsdWUgb2YgcmVzdWx0LmNvbnN0cnVjdG9yIGlz
IGV4cGVjdGVkIHRvIGVxdWFsIHRoZSB2YWx1ZSBvZiBPdGhlcicpOworICBhc3NlcnQuc2FtZVZh
bHVlKHJlc3VsdCwgb3RoZXIsICdUaGUgdmFsdWUgb2YgYHJlc3VsdGAgaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgdGhlIHZhbHVlIG9mIG90aGVyJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoY291bnRlciwg
MSwgJ1RoZSB2YWx1ZSBvZiBgY291bnRlcmAgaXMgMScpOwogCiAgIHNhbXBsZSA9IG5ldyBUQSg0
KTsKICAgc2FtcGxlLmNvbnN0cnVjdG9yID0gY3RvcjsKLSAgcmVzdWx0ID0gc2FtcGxlLnNsaWNl
KDEsIDEpOwotICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdC5sZW5ndGgsIDAsICIjMjogcmVzdWx0
Lmxlbmd0aCIpOwotICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdC5idWZmZXIsIHNhbXBsZS5i
dWZmZXIsICIjMjogY3JlYXRlcyBhIG5ldyBidWZmZXIiKTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShy
ZXN1bHQuY29uc3RydWN0b3IsIG90aGVyLCAiIzI6IGN0b3IiKTsKKyAgc2FtcGxlLnNsaWNlKDEs
IDEpOyAvLyBjb3VudCA9IDA7CisgIGFzc2VydC5zYW1lVmFsdWUoY291bnRlciwgMiwgJ1RoZSB2
YWx1ZSBvZiBgY291bnRlcmAgaXMgMicpOwogfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2UvZGV0YWNoZWQtYnVm
ZmVyLXplcm8tY291bnQtY3VzdG9tLWN0b3Itc2FtZS10YXJnZXR0eXBlLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NsaWNlL2RldGFjaGVk
LWJ1ZmZlci16ZXJvLWNvdW50LWN1c3RvbS1jdG9yLXNhbWUtdGFyZ2V0dHlwZS5qcwppbmRleCA1
NDlkNTZjODc2YTBiMGJmMzc1MTc4NTcxYWE1ZTk2MDlkODkzNzk5Li5iNGYyNmE0NGI0ZThkNTI0
MzczOWFlZjg0MGUyODBlNTk3ZGI4MThmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2UvZGV0YWNoZWQtYnVmZmVyLXpl
cm8tY291bnQtY3VzdG9tLWN0b3Itc2FtZS10YXJnZXR0eXBlLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zbGljZS9kZXRhY2hlZC1i
dWZmZXItemVyby1jb3VudC1jdXN0b20tY3Rvci1zYW1lLXRhcmdldHR5cGUuanMKQEAgLTQsNDIg
KzQsMzkgQEAKIGVzaWQ6IHNlYy0ldHlwZWRhcnJheSUucHJvdG90eXBlLnNsaWNlCiBkZXNjcmlw
dGlvbjogPgogICBEb2VzIG5vdCB0aHJvdyBhIFR5cGVFcnJvciBpZiBidWZmZXIgaXMgZGV0YWNo
ZWQgb24gY3VzdG9tIGNvbnN0cnVjdG9yIGFuZAotICBgayA+PSBmaW5hbGAuIFVzaW5nIHNhbWUg
dGFyZ2V0VHlwZS4KKyAgY291bnQgPD0gMC4gVXNpbmcgb3RoZXIgdGFyZ2V0VHlwZS4KIGluZm86
IHwKICAgMjIuMi4zLjI0ICVUeXBlZEFycmF5JS5wcm90b3R5cGUuc2xpY2UgKCBzdGFydCwgZW5k
ICkKIAorICBMZXQgQSBiZSA/IFR5cGVkQXJyYXlTcGVjaWVzQ3JlYXRlKE8sIMKrIGNvdW50IMK7
KS4KKyAgSWYgY291bnQgPiAwLCB0aGVuCiAgIC4uLgotICA5LiBMZXQgQSBiZSA/IFR5cGVkQXJy
YXlTcGVjaWVzQ3JlYXRlKE8sIMKrIGNvdW50IMK7KS4KLSAgLi4uCi0gIDE0LiBJZiBTYW1lVmFs
dWUoc3JjVHlwZSwgdGFyZ2V0VHlwZSkgaXMgZmFsc2UsIHRoZW4KLSAgICAuLi4KLSAgMTUuIEVs
c2UgaWYgY291bnQgPiAwLCB0aGVuCi0gICAgYS4gTGV0IHNyY0J1ZmZlciBiZSB0aGUgdmFsdWUg
b2YgTydzIFtbVmlld2VkQXJyYXlCdWZmZXJdXSBpbnRlcm5hbCBzbG90LgotICAgIGIuIElmIElz
RGV0YWNoZWRCdWZmZXIoc3JjQnVmZmVyKSBpcyB0cnVlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNl
cHRpb24uCi0gIC4uLgorICBSZXR1cm4gQQogaW5jbHVkZXM6IFt0ZXN0VHlwZWRBcnJheS5qcywg
ZGV0YWNoQXJyYXlCdWZmZXIuanNdCi1mZWF0dXJlczogW1N5bWJvbC5zcGVjaWVzLCBUeXBlZEFy
cmF5XQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2Vi
LXJlYWxpdHksIFN5bWJvbC5zcGVjaWVzLCBUeXBlZEFycmF5XQogLS0tKi8KIAogdGVzdFdpdGhU
eXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7Ci0gIHZhciBzYW1wbGUsIHJlc3Vs
dDsKLSAgdmFyIGN0b3IgPSB7fTsKKyAgbGV0IGNvdW50ZXIgPSAwOworICBsZXQgc2FtcGxlLCBy
ZXN1bHQsIG90aGVyOworICBsZXQgY3RvciA9IHt9OwogICBjdG9yW1N5bWJvbC5zcGVjaWVzXSA9
IGZ1bmN0aW9uKGNvdW50KSB7CisgICAgY291bnRlcisrOwogICAgICRERVRBQ0hCVUZGRVIoc2Ft
cGxlLmJ1ZmZlcik7Ci0gICAgcmV0dXJuIG5ldyBUQShjb3VudCk7CisgICAgb3RoZXIgPSBuZXcg
VEEoY291bnQpOworICAgIHJldHVybiBvdGhlcjsKICAgfTsKIAogICBzYW1wbGUgPSBuZXcgVEEo
MCk7CiAgIHNhbXBsZS5jb25zdHJ1Y3RvciA9IGN0b3I7CiAgIHJlc3VsdCA9IHNhbXBsZS5zbGlj
ZSgpOwotICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdC5sZW5ndGgsIDAsICIjMTogcmVzdWx0Lmxl
bmd0aCIpOwotICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdC5idWZmZXIsIHNhbXBsZS5idWZm
ZXIsICIjMTogY3JlYXRlcyBhIG5ldyBidWZmZXIiKTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1
bHQuY29uc3RydWN0b3IsIFRBLCAiIzE6IGN0b3IiKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1
bHQubGVuZ3RoLCAwLCAnVGhlIHZhbHVlIG9mIHJlc3VsdC5sZW5ndGggaXMgMCcpOworICBhc3Nl
cnQubm90U2FtZVZhbHVlKHJlc3VsdC5idWZmZXIsIHNhbXBsZS5idWZmZXIsICdUaGUgdmFsdWUg
b2YgcmVzdWx0LmJ1ZmZlciBpcyBleHBlY3RlZCB0byBub3QgZXF1YWwgdGhlIHZhbHVlIG9mIGBz
YW1wbGUuYnVmZmVyYCcpOworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgb3RoZXIsICdUaGUg
dmFsdWUgb2YgYHJlc3VsdGAgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgdGhlIHZhbHVlIG9mIG90aGVy
Jyk7CisgIGFzc2VydC5zYW1lVmFsdWUoY291bnRlciwgMSwgJ1RoZSB2YWx1ZSBvZiBgY291bnRl
cmAgaXMgMScpOwogCiAgIHNhbXBsZSA9IG5ldyBUQSg0KTsKICAgc2FtcGxlLmNvbnN0cnVjdG9y
ID0gY3RvcjsKLSAgcmVzdWx0ID0gc2FtcGxlLnNsaWNlKDEsIDEpOwotICBhc3NlcnQuc2FtZVZh
bHVlKHJlc3VsdC5sZW5ndGgsIDAsICIjMjogcmVzdWx0Lmxlbmd0aCIpOwotICBhc3NlcnQubm90
U2FtZVZhbHVlKHJlc3VsdC5idWZmZXIsIHNhbXBsZS5idWZmZXIsICIjMjogY3JlYXRlcyBhIG5l
dyBidWZmZXIiKTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQuY29uc3RydWN0b3IsIFRBLCAi
IzI6IGN0b3IiKTsKKyAgc2FtcGxlLnNsaWNlKDEsIDEpOyAvLyBjb3VudCA9IDA7CisgIGFzc2Vy
dC5zYW1lVmFsdWUoY291bnRlciwgMiwgJ1RoZSB2YWx1ZSBvZiBgY291bnRlcmAgaXMgMicpOwog
fSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eS9wcm90b3R5cGUvc2xpY2Uvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc2xpY2Uvbm90LWEtY29uc3RydWN0
b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjBjZDQ0ZGE0NjFjZDg1MzVmNmMwOGFiOWNhNmY2ZDE0NGU5ZjMy
YQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5L3Byb3RvdHlwZS9zbGljZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMz
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRh
cmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgVHlwZWRBcnJheS5wcm90b3R5
cGUuc2xpY2UgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJs
ZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBm
dW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBk
byBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxl
c3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1
bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0Nv
bnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0
aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qcywgdGVzdFR5cGVkQXJyYXku
anNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbiwgVHlwZWRB
cnJheV0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoVHlwZWRB
cnJheS5wcm90b3R5cGUuc2xpY2UpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoVHlwZWRB
cnJheS5wcm90b3R5cGUuc2xpY2UpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IHU4ID0gbmV3IFVpbnQ4QXJyYXkoMSk7IG5l
dyB1OC5zbGljZSgpOworfSwgJ2BsZXQgdTggPSBuZXcgVWludDhBcnJheSgxKTsgbmV3IHU4LnNs
aWNlKClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NvbWUvbm90LWEtY29uc3RydWN0
b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5
cGUvc29tZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNzQ3NmU2NDBmODYyOTZh
ZDg0ZGU4NTQ1MjFjMjUyM2I3Nzg4YmY2Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NvbWUvbm90LWEtY29uc3Ry
dWN0b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2Fs
ZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0
aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6
IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+
CisgIFR5cGVkQXJyYXkucHJvdG90eXBlLnNvbWUgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3Ry
dWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9i
amVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlm
aWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1d
IGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVz
Y3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldwor
CisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhy
b3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rv
ci5qcywgdGVzdFR5cGVkQXJyYXkuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBh
cnJvdy1mdW5jdGlvbiwgVHlwZWRBcnJheV0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisg
IGlzQ29uc3RydWN0b3IoVHlwZWRBcnJheS5wcm90b3R5cGUuc29tZSksCisgIGZhbHNlLAorICAn
aXNDb25zdHJ1Y3RvcihUeXBlZEFycmF5LnByb3RvdHlwZS5zb21lKSBtdXN0IHJldHVybiBmYWxz
ZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCB1OCA9IG5l
dyBVaW50OEFycmF5KDEpOyBuZXcgdTguc29tZSgoKSA9PiB7fSk7Cit9LCAnYGxldCB1OCA9IG5l
dyBVaW50OEFycmF5KDEpOyBuZXcgdTguc29tZSgoKSA9PiB7fSlgIHRocm93cyBUeXBlRXJyb3In
KTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXkvcHJvdG90eXBlL3NvcnQvQmlnSW50L2NvbXBhcmVmbi1pcy11bmRlZmluZWQuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc29ydC9CaWdJ
bnQvY29tcGFyZWZuLWlzLXVuZGVmaW5lZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjM1MTQ2NjAyNGUyNWE2
NzM0MWY4ZTBmYWJkODMxNGQ5Yzg0MjFhCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NvcnQvQmlnSW50L2NvbXBh
cmVmbi1pcy11bmRlZmluZWQuanMKQEAgLTAsMCArMSwyMyBAQAorLy8gQ29weXJpZ2h0IChDKSAy
MDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8q
LS0tCitlc2lkOiBzZWMtJXR5cGVkYXJyYXklLnByb3RvdHlwZS5zb3J0CitkZXNjcmlwdGlvbjog
PgorICBUcmVhdHMgZXhwbGljaXQgdW5kZWZpbmVkIGNvbXBhcmVmbiB0aGUgc2FtZSBhcyBpbXBs
aWNpdCB1bmRlZmluZWQgY29tcGFyZWZuCitpbmZvOiB8CisgICVUeXBlZEFycmF5JS5wcm90b3R5
cGUuc29ydCAoIGNvbXBhcmVmbiApCisKKyAgMS4gSWYgY29tcGFyZWZuIGlzIG5vdCB1bmRlZmlu
ZWQgYW5kIElzQ2FsbGFibGUoY29tcGFyZWZuKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3Ig
ZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzLCB0ZXN0QmlnSW50
VHlwZWRBcnJheS5qc10KK2ZlYXR1cmVzOiBbVHlwZWRBcnJheSwgQmlnSW50XQorLS0tKi8KKwor
dGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CisgIGxl
dCBzYW1wbGUgPSBuZXcgVEEoWzQybiwgNDRuLCA0Nm4sIDQzbiwgNDVuXSk7CisgIGxldCBleHBs
aWNpdCA9IHNhbXBsZS5zb3J0KHVuZGVmaW5lZCk7CisgIGxldCBpbXBsaWNpdCA9IHNhbXBsZS5z
b3J0KCk7CisKKyAgYXNzZXJ0LmNvbXBhcmVBcnJheShleHBsaWNpdCwgWzQybiwgNDNuLCA0NG4s
IDQ1biwgNDZuXSwgJ1RoZSB2YWx1ZSBvZiBgZXhwbGljaXRgIGlzIFs0Mm4sIDQzbiwgNDRuLCA0
NW4sIDQ2bl0nKTsKKyAgYXNzZXJ0LmNvbXBhcmVBcnJheShpbXBsaWNpdCwgWzQybiwgNDNuLCA0
NG4sIDQ1biwgNDZuXSwgJ1RoZSB2YWx1ZSBvZiBgaW1wbGljaXRgIGlzIFs0Mm4sIDQzbiwgNDRu
LCA0NW4sIDQ2bl0nKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NvcnQvY29tcGFyZWZuLWlzLXVuZGVmaW5lZC5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9z
b3J0L2NvbXBhcmVmbi1pcy11bmRlZmluZWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ3NjM2NzFjOWY1ZWYz
MGU2MGVmNTJhMTVjMzNjMGFlYTc4ZjE2MAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS9zb3J0L2NvbXBhcmVmbi1p
cy11bmRlZmluZWQuanMKQEAgLTAsMCArMSwyMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJp
Y2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitl
c2lkOiBzZWMtJXR5cGVkYXJyYXklLnByb3RvdHlwZS5zb3J0CitkZXNjcmlwdGlvbjogPgorICBU
cmVhdHMgZXhwbGljaXQgdW5kZWZpbmVkIGNvbXBhcmVmbiB0aGUgc2FtZSBhcyBpbXBsaWNpdCB1
bmRlZmluZWQgY29tcGFyZWZuCitpbmZvOiB8CisgICVUeXBlZEFycmF5JS5wcm90b3R5cGUuc29y
dCAoIGNvbXBhcmVmbiApCisKKyAgMS4gSWYgY29tcGFyZWZuIGlzIG5vdCB1bmRlZmluZWQgYW5k
IElzQ2FsbGFibGUoY29tcGFyZWZuKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0
aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbY29tcGFyZUFycmF5LmpzLCB0ZXN0VHlwZWRBcnJheS5q
c10KK2ZlYXR1cmVzOiBbVHlwZWRBcnJheV0KKy0tLSovCisKK3Rlc3RXaXRoVHlwZWRBcnJheUNv
bnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgeworICBsZXQgc2FtcGxlID0gbmV3IFRBKFs0MiwgNDQs
IDQ2LCA0MywgNDVdKTsKKyAgbGV0IGV4cGxpY2l0ID0gc2FtcGxlLnNvcnQodW5kZWZpbmVkKTsK
KyAgbGV0IGltcGxpY2l0ID0gc2FtcGxlLnNvcnQoKTsKKworICBhc3NlcnQuY29tcGFyZUFycmF5
KGV4cGxpY2l0LCBbNDIsIDQzLCA0NCwgNDUsIDQ2XSwgJ1RoZSB2YWx1ZSBvZiBgZXhwbGljaXRg
IGlzIFs0MiwgNDMsIDQ0LCA0NSwgNDZdJyk7CisgIGFzc2VydC5jb21wYXJlQXJyYXkoaW1wbGlj
aXQsIFs0MiwgNDMsIDQ0LCA0NSwgNDZdLCAnVGhlIHZhbHVlIG9mIGBpbXBsaWNpdGAgaXMgWzQy
LCA0MywgNDQsIDQ1LCA0Nl0nKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NvcnQvbm90LWEtY29uc3RydWN0b3Iu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUv
c29ydC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjBjOTY0NjU5YjdhNzk4ZmZk
YWMyMzQ3YjFjOGViZWY5MzVhMTgzCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3NvcnQvbm90LWEtY29uc3RydWN0
b3IuanMKQEAgLTAsMCArMSwzMyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJv
bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNl
Yy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+Cisg
IFR5cGVkQXJyYXkucHJvdG90eXBlLnNvcnQgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0
XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVj
dHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVk
IGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGlu
dGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3Jp
cHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisg
IC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cg
YSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5q
cywgdGVzdFR5cGVkQXJyYXkuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJv
dy1mdW5jdGlvbiwgVHlwZWRBcnJheV0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlz
Q29uc3RydWN0b3IoVHlwZWRBcnJheS5wcm90b3R5cGUuc29ydCksCisgIGZhbHNlLAorICAnaXND
b25zdHJ1Y3RvcihUeXBlZEFycmF5LnByb3RvdHlwZS5zb3J0KSBtdXN0IHJldHVybiBmYWxzZScK
Kyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCB1OCA9IG5ldyBV
aW50OEFycmF5KDEpOyBuZXcgdTguc29ydCgpOworfSwgJ2BsZXQgdTggPSBuZXcgVWludDhBcnJh
eSgxKTsgbmV3IHU4LnNvcnQoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9wcm90b3R5cGUvc3ViYXJy
YXkvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheS9wcm90b3R5cGUvc3ViYXJyYXkvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNWRkOGI0NzY5NGRlZjAxYzJmMTQyYWJkNzI4ZThkNWJlNWUwMGIyZgotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3Rv
dHlwZS9zdWJhcnJheS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBD
b3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQt
aW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgVHlwZWRBcnJheS5wcm90b3R5cGUuc3ViYXJy
YXkgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5m
bzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlv
biBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QK
KyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3Ro
ZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1
bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVj
dG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgor
ICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qcywgdGVzdFR5cGVkQXJyYXkuanNdCitm
ZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbiwgVHlwZWRBcnJheV0K
Ky0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoVHlwZWRBcnJheS5w
cm90b3R5cGUuc3ViYXJyYXkpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoVHlwZWRBcnJh
eS5wcm90b3R5cGUuc3ViYXJyYXkpIG11c3QgcmV0dXJuIGZhbHNlJworKTsKKworYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IHU4ID0gbmV3IFVpbnQ4QXJyYXkoMSk7IG5l
dyB1OC5zdWJhcnJheSgpOworfSwgJ2BsZXQgdTggPSBuZXcgVWludDhBcnJheSgxKTsgbmV3IHU4
LnN1YmFycmF5KClgIHRocm93cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5n
L25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXkvcHJvdG90eXBlL3RvTG9jYWxlU3RyaW5nL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmQzYzAxNjJmNDRkMTAwNjk5NjBjYTY3ZTliMmZmOTU3YzY0N2M4NTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheS9w
cm90b3R5cGUvdG9Mb2NhbGVTdHJpbmcvbm90LWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwz
MyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQg
aW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5k
YXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFR5cGVkQXJyYXkucHJvdG90
eXBlLnRvTG9jYWxlU3RyaW5nIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBu
b3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAg
QnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25z
dHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBt
ZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9m
IGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAg
Ny4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVy
cm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanMsIHRlc3RU
eXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rp
b24sIFR5cGVkQXJyYXldCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVj
dG9yKFR5cGVkQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nKSwKKyAgZmFsc2UsCisgICdp
c0NvbnN0cnVjdG9yKFR5cGVkQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nKSBtdXN0IHJl
dHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxl
dCB1OCA9IG5ldyBVaW50OEFycmF5KDEpOyBuZXcgdTgudG9Mb2NhbGVTdHJpbmcoKTsKK30sICdg
bGV0IHU4ID0gbmV3IFVpbnQ4QXJyYXkoMSk7IG5ldyB1OC50b0xvY2FsZVN0cmluZygpYCB0aHJv
d3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS90b1N0cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5L3Byb3RvdHlwZS90b1N0
cmluZy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hOWJlYWRhZjEwMjlkNDcwNzk5
ZDNiMjZkODM3OTM3N2E2YTJmZWM2Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3RvU3RyaW5nL25vdC1hLWNvbnN0
cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdh
bGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lk
OiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjog
PgorICBUeXBlZEFycmF5LnByb3RvdHlwZS50b1N0cmluZyBkb2VzIG5vdCBpbXBsZW1lbnQgW1tD
b25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rp
b24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlk
ZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3Ry
dWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRo
ZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRl
bmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNl
LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0
cnVjdG9yLmpzLCB0ZXN0VHlwZWRBcnJheS5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1
Y3QsIGFycm93LWZ1bmN0aW9uLCBUeXBlZEFycmF5XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgaXNDb25zdHJ1Y3RvcihUeXBlZEFycmF5LnByb3RvdHlwZS50b1N0cmluZyksCisgIGZh
bHNlLAorICAnaXNDb25zdHJ1Y3RvcihUeXBlZEFycmF5LnByb3RvdHlwZS50b1N0cmluZykgbXVz
dCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4gewor
ICBsZXQgdTggPSBuZXcgVWludDhBcnJheSgxKTsgbmV3IHU4LnRvU3RyaW5nKCk7Cit9LCAnYGxl
dCB1OCA9IG5ldyBVaW50OEFycmF5KDEpOyBuZXcgdTgudG9TdHJpbmcoKWAgdGhyb3dzIFR5cGVF
cnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheS9wcm90b3R5cGUvdmFsdWVzL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3ZhbHVlcy9ub3QtYS1j
b25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZGY2ZDY0M2ZlYzY0ZTczMjlhMWRhZjk2MGNkODI2
ZmNkNzM4MzU4Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXkvcHJvdG90eXBlL3ZhbHVlcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAt
MCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5z
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3Jp
cHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgVHlwZWRBcnJh
eS5wcm90b3R5cGUudmFsdWVzIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBu
b3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAg
QnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25z
dHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBt
ZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9m
IGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAg
Ny4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVy
cm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanMsIHRlc3RU
eXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rp
b24sIFR5cGVkQXJyYXldCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVj
dG9yKFR5cGVkQXJyYXkucHJvdG90eXBlLnZhbHVlcyksCisgIGZhbHNlLAorICAnaXNDb25zdHJ1
Y3RvcihUeXBlZEFycmF5LnByb3RvdHlwZS52YWx1ZXMpIG11c3QgcmV0dXJuIGZhbHNlJworKTsK
KworYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgbGV0IHU4ID0gbmV3IFVpbnQ4
QXJyYXkoMSk7IG5ldyB1OC52YWx1ZXMoKTsKK30sICdgbGV0IHU4ID0gbmV3IFVpbnQ4QXJyYXko
MSk7IG5ldyB1OC52YWx1ZXMoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9CaWdJ
bnQ2NEFycmF5L2lzLWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9CaWdJbnQ2NEFycmF5L2lzLWEtY29uc3RydWN0
b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uM2NiMTE0MjM2ZmUzNGM1ZjlhZjYzOGY2YjlkNTg5MzkyYTIyN2Zl
YwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5Q29uc3RydWN0b3JzL0JpZ0ludDY0QXJyYXkvaXMtYS1jb25zdHJ1Y3Rvci5qcwpAQCAt
MCwwICsxLDI0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5z
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3Jp
cHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgVGhlIEJpZ0lu
dDY0QXJyYXkgY29uc3RydWN0b3IgaW1wbGVtZW50cyBbW0NvbnN0cnVjdF1dCitpbmZvOiB8Cisg
IElzQ29uc3RydWN0b3IgKCBhcmd1bWVudCApCisKKyAgVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBJ
c0NvbnN0cnVjdG9yIHRha2VzIGFyZ3VtZW50IGFyZ3VtZW50IChhbiBFQ01BU2NyaXB0IGxhbmd1
YWdlIHZhbHVlKS4KKyAgSXQgZGV0ZXJtaW5lcyBpZiBhcmd1bWVudCBpcyBhIGZ1bmN0aW9uIG9i
amVjdCB3aXRoIGEgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QuCisgIEl0IHBlcmZvcm1z
IHRoZSBmb2xsb3dpbmcgc3RlcHMgd2hlbiBjYWxsZWQ6CisKKyAgSWYgVHlwZShhcmd1bWVudCkg
aXMgbm90IE9iamVjdCwgcmV0dXJuIGZhbHNlLgorICBJZiBhcmd1bWVudCBoYXMgYSBbW0NvbnN0
cnVjdF1dIGludGVybmFsIG1ldGhvZCwgcmV0dXJuIHRydWUuCisgIFJldHVybiBmYWxzZS4KK2lu
Y2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3Qs
IEJpZ0ludCwgVHlwZWRBcnJheV0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1
Y3RvcihCaWdJbnQ2NEFycmF5KSwgdHJ1ZSwgJ2lzQ29uc3RydWN0b3IoQmlnSW50NjRBcnJheSkg
bXVzdCByZXR1cm4gdHJ1ZScpOworbmV3IEJpZ0ludDY0QXJyYXkoKTsKKyAgCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9C
aWdVaW50NjRBcnJheS9pcy1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvQmlnVWludDY0QXJyYXkvaXMtYS1jb25z
dHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZWZlMWM4NDhjM2FmOTM0OGZjMTM0NGZhNGEzZDJiNjMz
OGJlZjc2Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvQmlnVWludDY0QXJyYXkvaXMtYS1jb25zdHJ1Y3Rvci5q
cwpAQCAtMCwwICsxLDI0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVj
bWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgVGhl
IEJpZ1VpbnQ2NEFycmF5IGNvbnN0cnVjdG9yIGltcGxlbWVudHMgW1tDb25zdHJ1Y3RdXQoraW5m
bzogfAorICBJc0NvbnN0cnVjdG9yICggYXJndW1lbnQgKQorCisgIFRoZSBhYnN0cmFjdCBvcGVy
YXRpb24gSXNDb25zdHJ1Y3RvciB0YWtlcyBhcmd1bWVudCBhcmd1bWVudCAoYW4gRUNNQVNjcmlw
dCBsYW5ndWFnZSB2YWx1ZSkuCisgIEl0IGRldGVybWluZXMgaWYgYXJndW1lbnQgaXMgYSBmdW5j
dGlvbiBvYmplY3Qgd2l0aCBhIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLgorICBJdCBw
ZXJmb3JtcyB0aGUgZm9sbG93aW5nIHN0ZXBzIHdoZW4gY2FsbGVkOgorCisgIElmIFR5cGUoYXJn
dW1lbnQpIGlzIG5vdCBPYmplY3QsIHJldHVybiBmYWxzZS4KKyAgSWYgYXJndW1lbnQgaGFzIGEg
W1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QsIHJldHVybiB0cnVlLgorICBSZXR1cm4gZmFs
c2UuCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29u
c3RydWN0LCBUeXBlZEFycmF5XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVj
dG9yKEJpZ1VpbnQ2NEFycmF5KSwgdHJ1ZSwgJ2lzQ29uc3RydWN0b3IoQmlnVWludDY0QXJyYXkp
IG11c3QgcmV0dXJuIHRydWUnKTsKK25ldyBCaWdVaW50NjRBcnJheSgpOworICAKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3Jz
L0Zsb2F0MzJBcnJheS9pcy1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvRmxvYXQzMkFycmF5L2lzLWEtY29uc3Ry
dWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQxYjEyYTUwZDU5NWZjNmJkZDIzZDY2MTZiODA3MmVkYTQy
NjM5ZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL0Zsb2F0MzJBcnJheS9pcy1hLWNvbnN0cnVjdG9yLmpzCkBA
IC0wLDAgKzEsMjQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNl
bnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNj
cmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBUaGUgRmxv
YXQzMkFycmF5IGNvbnN0cnVjdG9yIGltcGxlbWVudHMgW1tDb25zdHJ1Y3RdXQoraW5mbzogfAor
ICBJc0NvbnN0cnVjdG9yICggYXJndW1lbnQgKQorCisgIFRoZSBhYnN0cmFjdCBvcGVyYXRpb24g
SXNDb25zdHJ1Y3RvciB0YWtlcyBhcmd1bWVudCBhcmd1bWVudCAoYW4gRUNNQVNjcmlwdCBsYW5n
dWFnZSB2YWx1ZSkuCisgIEl0IGRldGVybWluZXMgaWYgYXJndW1lbnQgaXMgYSBmdW5jdGlvbiBv
YmplY3Qgd2l0aCBhIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLgorICBJdCBwZXJmb3Jt
cyB0aGUgZm9sbG93aW5nIHN0ZXBzIHdoZW4gY2FsbGVkOgorCisgIElmIFR5cGUoYXJndW1lbnQp
IGlzIG5vdCBPYmplY3QsIHJldHVybiBmYWxzZS4KKyAgSWYgYXJndW1lbnQgaGFzIGEgW1tDb25z
dHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QsIHJldHVybiB0cnVlLgorICBSZXR1cm4gZmFsc2UuCitp
bmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0
LCBUeXBlZEFycmF5XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKEZs
b2F0MzJBcnJheSksIHRydWUsICdpc0NvbnN0cnVjdG9yKEZsb2F0MzJBcnJheSkgbXVzdCByZXR1
cm4gdHJ1ZScpOworbmV3IEZsb2F0MzJBcnJheSgpOworICAKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL0Zsb2F0NjRBcnJh
eS9pcy1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMvRmxvYXQ2NEFycmF5L2lzLWEtY29uc3RydWN0b3IuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZDAyOGNlY2FjOTAzN2JiZjFlZmQ5ZGEzY2NkODRlNGJjMTgwNTYxMQotLS0gL2Rl
di9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29u
c3RydWN0b3JzL0Zsb2F0NjRBcnJheS9pcy1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjQg
QEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGlu
IHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFy
ZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBUaGUgRmxvYXQ2NEFycmF5IGNv
bnN0cnVjdG9yIGltcGxlbWVudHMgW1tDb25zdHJ1Y3RdXQoraW5mbzogfAorICBJc0NvbnN0cnVj
dG9yICggYXJndW1lbnQgKQorCisgIFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gSXNDb25zdHJ1Y3Rv
ciB0YWtlcyBhcmd1bWVudCBhcmd1bWVudCAoYW4gRUNNQVNjcmlwdCBsYW5ndWFnZSB2YWx1ZSku
CisgIEl0IGRldGVybWluZXMgaWYgYXJndW1lbnQgaXMgYSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBh
IFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLgorICBJdCBwZXJmb3JtcyB0aGUgZm9sbG93
aW5nIHN0ZXBzIHdoZW4gY2FsbGVkOgorCisgIElmIFR5cGUoYXJndW1lbnQpIGlzIG5vdCBPYmpl
Y3QsIHJldHVybiBmYWxzZS4KKyAgSWYgYXJndW1lbnQgaGFzIGEgW1tDb25zdHJ1Y3RdXSBpbnRl
cm5hbCBtZXRob2QsIHJldHVybiB0cnVlLgorICBSZXR1cm4gZmFsc2UuCitpbmNsdWRlczogW2lz
Q29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBUeXBlZEFycmF5
XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKEZsb2F0NjRBcnJheSks
IHRydWUsICdpc0NvbnN0cnVjdG9yKEZsb2F0NjRBcnJheSkgbXVzdCByZXR1cm4gdHJ1ZScpOwor
bmV3IEZsb2F0NjRBcnJheSgpOworICAKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL0ludDE2QXJyYXkvaXMtYS1jb25zdHJ1
Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3Ry
dWN0b3JzL0ludDE2QXJyYXkvaXMtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NzU3MzMw
ZWJjNjM1NGNhNzQxZTZmZmQ2NWMwNGRhYzliNDk5NjlmCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvSW50MTZB
cnJheS9pcy1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjQgQEAKKy8vIENvcHlyaWdodCAo
QykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
CisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3Rz
CitkZXNjcmlwdGlvbjogPgorICBUaGUgSW50MTZBcnJheSBjb25zdHJ1Y3RvciBpbXBsZW1lbnRz
IFtbQ29uc3RydWN0XV0KK2luZm86IHwKKyAgSXNDb25zdHJ1Y3RvciAoIGFyZ3VtZW50ICkKKwor
ICBUaGUgYWJzdHJhY3Qgb3BlcmF0aW9uIElzQ29uc3RydWN0b3IgdGFrZXMgYXJndW1lbnQgYXJn
dW1lbnQgKGFuIEVDTUFTY3JpcHQgbGFuZ3VhZ2UgdmFsdWUpLgorICBJdCBkZXRlcm1pbmVzIGlm
IGFyZ3VtZW50IGlzIGEgZnVuY3Rpb24gb2JqZWN0IHdpdGggYSBbW0NvbnN0cnVjdF1dIGludGVy
bmFsIG1ldGhvZC4KKyAgSXQgcGVyZm9ybXMgdGhlIGZvbGxvd2luZyBzdGVwcyB3aGVuIGNhbGxl
ZDoKKworICBJZiBUeXBlKGFyZ3VtZW50KSBpcyBub3QgT2JqZWN0LCByZXR1cm4gZmFsc2UuCisg
IElmIGFyZ3VtZW50IGhhcyBhIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLCByZXR1cm4g
dHJ1ZS4KKyAgUmV0dXJuIGZhbHNlLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVh
dHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgVHlwZWRBcnJheV0KKy0tLSovCisKK2Fzc2VydC5z
YW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihJbnQxNkFycmF5KSwgdHJ1ZSwgJ2lzQ29uc3RydWN0b3Io
SW50MTZBcnJheSkgbXVzdCByZXR1cm4gdHJ1ZScpOworbmV3IEludDE2QXJyYXkoKTsKKyAgCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9JbnQzMkFycmF5L2lzLWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9JbnQzMkFycmF5L2lzLWEtY29u
c3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTE3N2RmMTk1MjRiOThkYzczZDY5NWJlMmEwMzRjNzVi
MmEzZTNjYQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL0ludDMyQXJyYXkvaXMtYS1jb25zdHJ1Y3Rvci5qcwpA
QCAtMCwwICsxLDI0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFz
Y3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgVGhlIElu
dDMyQXJyYXkgY29uc3RydWN0b3IgaW1wbGVtZW50cyBbW0NvbnN0cnVjdF1dCitpbmZvOiB8Cisg
IElzQ29uc3RydWN0b3IgKCBhcmd1bWVudCApCisKKyAgVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBJ
c0NvbnN0cnVjdG9yIHRha2VzIGFyZ3VtZW50IGFyZ3VtZW50IChhbiBFQ01BU2NyaXB0IGxhbmd1
YWdlIHZhbHVlKS4KKyAgSXQgZGV0ZXJtaW5lcyBpZiBhcmd1bWVudCBpcyBhIGZ1bmN0aW9uIG9i
amVjdCB3aXRoIGEgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QuCisgIEl0IHBlcmZvcm1z
IHRoZSBmb2xsb3dpbmcgc3RlcHMgd2hlbiBjYWxsZWQ6CisKKyAgSWYgVHlwZShhcmd1bWVudCkg
aXMgbm90IE9iamVjdCwgcmV0dXJuIGZhbHNlLgorICBJZiBhcmd1bWVudCBoYXMgYSBbW0NvbnN0
cnVjdF1dIGludGVybmFsIG1ldGhvZCwgcmV0dXJuIHRydWUuCisgIFJldHVybiBmYWxzZS4KK2lu
Y2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3Qs
IFR5cGVkQXJyYXldCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoSW50
MzJBcnJheSksIHRydWUsICdpc0NvbnN0cnVjdG9yKEludDMyQXJyYXkpIG11c3QgcmV0dXJuIHRy
dWUnKTsKK25ldyBJbnQzMkFycmF5KCk7CisgIApkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvSW50OEFycmF5L2lzLWEtY29u
c3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNv
bnN0cnVjdG9ycy9JbnQ4QXJyYXkvaXMtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OWEz
ZTk0ZDI2MDA2MTFhMjU0MTcyMDhkZDcyZTM4Yzc2Mzc3MDRjCi0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvSW50
OEFycmF5L2lzLWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwyNCBAQAorLy8gQ29weXJpZ2h0
IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVj
dHMKK2Rlc2NyaXB0aW9uOiA+CisgIFRoZSBJbnQ4QXJyYXkgY29uc3RydWN0b3IgaW1wbGVtZW50
cyBbW0NvbnN0cnVjdF1dCitpbmZvOiB8CisgIElzQ29uc3RydWN0b3IgKCBhcmd1bWVudCApCisK
KyAgVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBJc0NvbnN0cnVjdG9yIHRha2VzIGFyZ3VtZW50IGFy
Z3VtZW50IChhbiBFQ01BU2NyaXB0IGxhbmd1YWdlIHZhbHVlKS4KKyAgSXQgZGV0ZXJtaW5lcyBp
ZiBhcmd1bWVudCBpcyBhIGZ1bmN0aW9uIG9iamVjdCB3aXRoIGEgW1tDb25zdHJ1Y3RdXSBpbnRl
cm5hbCBtZXRob2QuCisgIEl0IHBlcmZvcm1zIHRoZSBmb2xsb3dpbmcgc3RlcHMgd2hlbiBjYWxs
ZWQ6CisKKyAgSWYgVHlwZShhcmd1bWVudCkgaXMgbm90IE9iamVjdCwgcmV0dXJuIGZhbHNlLgor
ICBJZiBhcmd1bWVudCBoYXMgYSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCwgcmV0dXJu
IHRydWUuCisgIFJldHVybiBmYWxzZS4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2Zl
YXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIFR5cGVkQXJyYXldCistLS0qLworCithc3NlcnQu
c2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoSW50OEFycmF5KSwgdHJ1ZSwgJ2lzQ29uc3RydWN0b3Io
SW50OEFycmF5KSBtdXN0IHJldHVybiB0cnVlJyk7CituZXcgSW50OEFycmF5KCk7CisgIApkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMvVWludDE2QXJyYXkvaXMtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL1VpbnQxNkFycmF5L2lzLWEtY29u
c3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDM4NmY2MDFmOGJkZjZhNTczNDk2NmZhZjVlNzYxYjJj
MTM5MWVjNgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL1VpbnQxNkFycmF5L2lzLWEtY29uc3RydWN0b3IuanMK
QEAgLTAsMCArMSwyNCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21h
c2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFRoZSBV
aW50MTZBcnJheSBjb25zdHJ1Y3RvciBpbXBsZW1lbnRzIFtbQ29uc3RydWN0XV0KK2luZm86IHwK
KyAgSXNDb25zdHJ1Y3RvciAoIGFyZ3VtZW50ICkKKworICBUaGUgYWJzdHJhY3Qgb3BlcmF0aW9u
IElzQ29uc3RydWN0b3IgdGFrZXMgYXJndW1lbnQgYXJndW1lbnQgKGFuIEVDTUFTY3JpcHQgbGFu
Z3VhZ2UgdmFsdWUpLgorICBJdCBkZXRlcm1pbmVzIGlmIGFyZ3VtZW50IGlzIGEgZnVuY3Rpb24g
b2JqZWN0IHdpdGggYSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZC4KKyAgSXQgcGVyZm9y
bXMgdGhlIGZvbGxvd2luZyBzdGVwcyB3aGVuIGNhbGxlZDoKKworICBJZiBUeXBlKGFyZ3VtZW50
KSBpcyBub3QgT2JqZWN0LCByZXR1cm4gZmFsc2UuCisgIElmIGFyZ3VtZW50IGhhcyBhIFtbQ29u
c3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLCByZXR1cm4gdHJ1ZS4KKyAgUmV0dXJuIGZhbHNlLgor
aW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVj
dCwgVHlwZWRBcnJheV0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihV
aW50MTZBcnJheSksIHRydWUsICdpc0NvbnN0cnVjdG9yKFVpbnQxNkFycmF5KSBtdXN0IHJldHVy
biB0cnVlJyk7CituZXcgVWludDE2QXJyYXkoKTsKKyAgCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9VaW50MzJBcnJheS9p
cy1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXlDb25zdHJ1Y3RvcnMvVWludDMyQXJyYXkvaXMtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YzIwODE4NTkyOTQzNWIwMDVjNmRhZDM1NDFhMDljM2MwMWI0NDUzCi0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMvVWludDMyQXJyYXkvaXMtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI0IEBACisv
LyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVp
bHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgVGhlIFVpbnQzMkFycmF5IGNvbnN0cnVj
dG9yIGltcGxlbWVudHMgW1tDb25zdHJ1Y3RdXQoraW5mbzogfAorICBJc0NvbnN0cnVjdG9yICgg
YXJndW1lbnQgKQorCisgIFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gSXNDb25zdHJ1Y3RvciB0YWtl
cyBhcmd1bWVudCBhcmd1bWVudCAoYW4gRUNNQVNjcmlwdCBsYW5ndWFnZSB2YWx1ZSkuCisgIEl0
IGRldGVybWluZXMgaWYgYXJndW1lbnQgaXMgYSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhIFtbQ29u
c3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLgorICBJdCBwZXJmb3JtcyB0aGUgZm9sbG93aW5nIHN0
ZXBzIHdoZW4gY2FsbGVkOgorCisgIElmIFR5cGUoYXJndW1lbnQpIGlzIG5vdCBPYmplY3QsIHJl
dHVybiBmYWxzZS4KKyAgSWYgYXJndW1lbnQgaGFzIGEgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBt
ZXRob2QsIHJldHVybiB0cnVlLgorICBSZXR1cm4gZmFsc2UuCitpbmNsdWRlczogW2lzQ29uc3Ry
dWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBUeXBlZEFycmF5XQorLS0t
Ki8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKFVpbnQzMkFycmF5KSwgdHJ1ZSwg
J2lzQ29uc3RydWN0b3IoVWludDMyQXJyYXkpIG11c3QgcmV0dXJuIHRydWUnKTsKK25ldyBVaW50
MzJBcnJheSgpOworICAKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL1VpbnQ4QXJyYXkvaXMtYS1jb25zdHJ1Y3Rvci5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL1Vp
bnQ4QXJyYXkvaXMtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NzE5ZThiZmEwMDY2NWMx
MWRlMWZhYTRkMWFkMDE4MjY5MmRiMTJkCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvVWludDhBcnJheS9pcy1h
LWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBS
aWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0t
Citlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlw
dGlvbjogPgorICBUaGUgVWludDhBcnJheSBjb25zdHJ1Y3RvciBpbXBsZW1lbnRzIFtbQ29uc3Ry
dWN0XV0KK2luZm86IHwKKyAgSXNDb25zdHJ1Y3RvciAoIGFyZ3VtZW50ICkKKworICBUaGUgYWJz
dHJhY3Qgb3BlcmF0aW9uIElzQ29uc3RydWN0b3IgdGFrZXMgYXJndW1lbnQgYXJndW1lbnQgKGFu
IEVDTUFTY3JpcHQgbGFuZ3VhZ2UgdmFsdWUpLgorICBJdCBkZXRlcm1pbmVzIGlmIGFyZ3VtZW50
IGlzIGEgZnVuY3Rpb24gb2JqZWN0IHdpdGggYSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhv
ZC4KKyAgSXQgcGVyZm9ybXMgdGhlIGZvbGxvd2luZyBzdGVwcyB3aGVuIGNhbGxlZDoKKworICBJ
ZiBUeXBlKGFyZ3VtZW50KSBpcyBub3QgT2JqZWN0LCByZXR1cm4gZmFsc2UuCisgIElmIGFyZ3Vt
ZW50IGhhcyBhIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLCByZXR1cm4gdHJ1ZS4KKyAg
UmV0dXJuIGZhbHNlLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtS
ZWZsZWN0LmNvbnN0cnVjdCwgVHlwZWRBcnJheV0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUo
aXNDb25zdHJ1Y3RvcihVaW50OEFycmF5KSwgdHJ1ZSwgJ2lzQ29uc3RydWN0b3IoVWludDhBcnJh
eSkgbXVzdCByZXR1cm4gdHJ1ZScpOworbmV3IFVpbnQ4QXJyYXkoKTsKKyAgCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9V
aW50OENsYW1wZWRBcnJheS9pcy1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvVWludDhDbGFtcGVkQXJyYXkvaXMt
YS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZTUyOWRlMWVhNTk5MmFlYTMzNDAzZWZkMjY4
NDNlYThhMTM1ZWU1Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvVWludDhDbGFtcGVkQXJyYXkvaXMtYS1jb25z
dHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBX
YWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246
ID4KKyAgVGhlIFVpbnQ4Q2xhbXBlZEFycmF5IGNvbnN0cnVjdG9yIGltcGxlbWVudHMgW1tDb25z
dHJ1Y3RdXQoraW5mbzogfAorICBJc0NvbnN0cnVjdG9yICggYXJndW1lbnQgKQorCisgIFRoZSBh
YnN0cmFjdCBvcGVyYXRpb24gSXNDb25zdHJ1Y3RvciB0YWtlcyBhcmd1bWVudCBhcmd1bWVudCAo
YW4gRUNNQVNjcmlwdCBsYW5ndWFnZSB2YWx1ZSkuCisgIEl0IGRldGVybWluZXMgaWYgYXJndW1l
bnQgaXMgYSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0
aG9kLgorICBJdCBwZXJmb3JtcyB0aGUgZm9sbG93aW5nIHN0ZXBzIHdoZW4gY2FsbGVkOgorCisg
IElmIFR5cGUoYXJndW1lbnQpIGlzIG5vdCBPYmplY3QsIHJldHVybiBmYWxzZS4KKyAgSWYgYXJn
dW1lbnQgaGFzIGEgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QsIHJldHVybiB0cnVlLgor
ICBSZXR1cm4gZmFsc2UuCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczog
W1JlZmxlY3QuY29uc3RydWN0XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVj
dG9yKFVpbnQ4Q2xhbXBlZEFycmF5KSwgdHJ1ZSwgJ2lzQ29uc3RydWN0b3IoVWludDhDbGFtcGVk
QXJyYXkpIG11c3QgcmV0dXJuIHRydWUnKTsKK25ldyBVaW50OENsYW1wZWRBcnJheSgpOworICAK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29u
c3RydWN0b3JzL2ludGVybmFscy9EZWZpbmVPd25Qcm9wZXJ0eS9CaWdJbnQvZGV0YWNoZWQtYnVm
ZmVyLXJlYWxtLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlD
b25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlZmluZU93blByb3BlcnR5L0JpZ0ludC9kZXRhY2hlZC1i
dWZmZXItcmVhbG0uanMKaW5kZXggNTJkMmFkMDk1MGRjNzFmOTc5Mzg4NjI3YTJhNjI4YmY5MWQ0
ODgxZC4uOGJjZmMwNDQwOTA1NDYyNDZiYTcxMTg5YTYzZTBhZTViMmEzMzE1YSAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMv
aW50ZXJuYWxzL0RlZmluZU93blByb3BlcnR5L0JpZ0ludC9kZXRhY2hlZC1idWZmZXItcmVhbG0u
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMvaW50ZXJuYWxzL0RlZmluZU93blByb3BlcnR5L0JpZ0ludC9kZXRhY2hlZC1idWZmZXIt
cmVhbG0uanMKQEAgLTMsNyArMyw3IEBACiAvKi0tLQogZXNpZDogc2VjLWludGVnZXItaW5kZXhl
ZC1leG90aWMtb2JqZWN0cy1kZWZpbmVvd25wcm9wZXJ0eS1wLWRlc2MKIGRlc2NyaXB0aW9uOiA+
Ci0gIFRocm93cyBhIFR5cGVFcnJvciBpZiBvYmplY3QgaGFzIHZhbGlkIG51bWVyaWMgaW5kZXgg
YW5kIGEgZGV0YWNoZWQgYnVmZmVyCisgIFJldHVybnMgZmFsc2UgaWYgdGhpcyBoYXMgdmFsaWQg
bnVtZXJpYyBpbmRleCBhbmQgYSBkZXRhY2hlZCBidWZmZXIKICAgKGhvbm9yaW5nIHRoZSBSZWFs
bSBvZiB0aGUgY3VycmVudCBleGVjdXRpb24gY29udGV4dCkKIGluZm86IHwKICAgOS40LjUuMyBb
W0RlZmluZU93blByb3BlcnR5XV0gKCBQLCBEZXNjKQpAQCAtMjAsMTcgKzIwLDE3IEBAIGluZm86
IHwKICAgOS40LjUuOSBJbnRlZ2VySW5kZXhlZEVsZW1lbnRTZXQgKCBPLCBpbmRleCwgdmFsdWUg
KQogCiAgIC4uLgotICA0LiBMZXQgYnVmZmVyIGJlIHRoZSB2YWx1ZSBvZiBPJ3MgW1tWaWV3ZWRB
cnJheUJ1ZmZlcl1dIGludGVybmFsIHNsb3QuCi0gIDUuIElmIElzRGV0YWNoZWRCdWZmZXIoYnVm
ZmVyKSBpcyB0cnVlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIExldCBidWZmZXIg
YmUgTy5bW1ZpZXdlZEFycmF5QnVmZmVyXV0uCisgIElmIElzRGV0YWNoZWRCdWZmZXIoYnVmZmVy
KSBpcyB0cnVlLCByZXR1cm4gZmFsc2UuCiAgIC4uLgogaW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlw
ZWRBcnJheS5qcywgZGV0YWNoQXJyYXlCdWZmZXIuanNdCi1mZWF0dXJlczogW0JpZ0ludCwgY3Jv
c3MtcmVhbG0sIFJlZmxlY3QsIFR5cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVk
LWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgQmlnSW50LCBjcm9zcy1yZWFsbSwg
UmVmbGVjdCwgVHlwZWRBcnJheV0KIC0tLSovCi0KIHZhciBvdGhlciA9ICQyNjIuY3JlYXRlUmVh
bG0oKS5nbG9iYWw7CisKIHZhciBkZXNjID0gewogICB2YWx1ZTogMG4sCi0gIGNvbmZpZ3VyYWJs
ZTogZmFsc2UsCisgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKICAgZW51bWVyYWJsZTogdHJ1ZSwKICAg
d3JpdGFibGU6IHRydWUKIH07CkBAIC0zOCwxMCArMzgsMTEgQEAgdmFyIGRlc2MgPSB7CiB0ZXN0
V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKICAgdmFyIE90
aGVyVEEgPSBvdGhlcltUQS5uYW1lXTsKICAgdmFyIHNhbXBsZSA9IG5ldyBPdGhlclRBKDEpOwot
CiAgICRERVRBQ0hCVUZGRVIoc2FtcGxlLmJ1ZmZlcik7CiAKLSAgYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsIGZ1bmN0aW9uKCkgewotICAgIFJlZmxlY3QuZGVmaW5lUHJvcGVydHkoc2FtcGxlLCAn
MCcsIGRlc2MpOwotICB9KTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBSZWZsZWN0LmRlZmlu
ZVByb3BlcnR5KHNhbXBsZSwgJzAnLCBkZXNjKSwKKyAgICBmYWxzZSwKKyAgICAnUmVmbGVjdC5k
ZWZpbmVQcm9wZXJ0eShzYW1wbGUsICIwIiwge3ZhbHVlOiAwbiwgY29uZmlndXJhYmxlOiB0cnVl
LCBlbnVtZXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZX0gKSBtdXN0IHJldHVybiBmYWxzZScK
KyAgKTsKIH0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlZmluZU93blByb3BlcnR5L0JpZ0ludC9k
ZXRhY2hlZC1idWZmZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRB
cnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVmaW5lT3duUHJvcGVydHkvQmlnSW50L2RldGFj
aGVkLWJ1ZmZlci5qcwppbmRleCAxNzQxN2I5OTVkZDk5ZmI3NmEzNzYwYjM2YzAxY2JmMmEwOTY5
OGE1Li41NzAyMjJkNTUxNDY2MzNiZDc4MGI0ODE3YTgzYmI5NTQzMzIwYjBlIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9p
bnRlcm5hbHMvRGVmaW5lT3duUHJvcGVydHkvQmlnSW50L2RldGFjaGVkLWJ1ZmZlci5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9p
bnRlcm5hbHMvRGVmaW5lT3duUHJvcGVydHkvQmlnSW50L2RldGFjaGVkLWJ1ZmZlci5qcwpAQCAt
Myw3ICszLDcgQEAKIC8qLS0tCiBlc2lkOiBzZWMtaW50ZWdlci1pbmRleGVkLWV4b3RpYy1vYmpl
Y3RzLWRlZmluZW93bnByb3BlcnR5LXAtZGVzYwogZGVzY3JpcHRpb246ID4KLSAgVGhyb3dzIGEg
VHlwZUVycm9yIGlmIG9iamVjdCBoYXMgdmFsaWQgbnVtZXJpYyBpbmRleCBhbmQgYSBkZXRhY2hl
ZCBidWZmZXIKKyAgUmV0dXJucyBmYWxzZSBpZiB0aGlzIGhhcyB2YWxpZCBudW1lcmljIGluZGV4
IGFuZCBhIGRldGFjaGVkIGJ1ZmZlcgogaW5mbzogfAogICA5LjQuNS4zIFtbRGVmaW5lT3duUHJv
cGVydHldXSAoIFAsIERlc2MpCiAgIC4uLgpAQCAtMTksMTMgKzE5LDEyIEBAIGluZm86IHwKICAg
OS40LjUuOSBJbnRlZ2VySW5kZXhlZEVsZW1lbnRTZXQgKCBPLCBpbmRleCwgdmFsdWUgKQogCiAg
IC4uLgotICA0LiBMZXQgYnVmZmVyIGJlIHRoZSB2YWx1ZSBvZiBPJ3MgW1tWaWV3ZWRBcnJheUJ1
ZmZlcl1dIGludGVybmFsIHNsb3QuCi0gIDUuIElmIElzRGV0YWNoZWRCdWZmZXIoYnVmZmVyKSBp
cyB0cnVlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIExldCBidWZmZXIgYmUgTy5b
W1ZpZXdlZEFycmF5QnVmZmVyXV0uCisgIElmIElzRGV0YWNoZWRCdWZmZXIoYnVmZmVyKSBpcyB0
cnVlLCByZXR1cm4gZmFsc2UuCiAgIC4uLgogaW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlwZWRBcnJh
eS5qcywgZGV0YWNoQXJyYXlCdWZmZXIuanNdCi1mZWF0dXJlczogW0JpZ0ludCwgUmVmbGVjdCwg
VHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13
aXRoLXdlYi1yZWFsaXR5LCBCaWdJbnQsIFJlZmxlY3QsIFR5cGVkQXJyYXldCiAtLS0qLwotCiB2
YXIgZGVzYyA9IHsKICAgdmFsdWU6IDBuLAogICBjb25maWd1cmFibGU6IGZhbHNlLApAQCAtNDMs
OTIgKzQyLDcwIEBAIHRlc3RXaXRoQmlnSW50VHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlv
bihUQSkgewogICB2YXIgc2FtcGxlID0gbmV3IFRBKDQyKTsKICAgJERFVEFDSEJVRkZFUihzYW1w
bGUuYnVmZmVyKTsKIAotICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0g
ICAgUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eShzYW1wbGUsICIwIiwgZGVzYyk7Ci0gIH0sICJUaHJv
d3MgVHlwZUVycm9yIG9uIHZhbGlkIG51bWVyaWMgaW5kZXggaWYgaW5zdGFuY2UgaGFzIGEgZGV0
YWNoZWQgYnVmZmVyIik7Ci0KICAgYXNzZXJ0LnNhbWVWYWx1ZSgKLSAgICBSZWZsZWN0LmRlZmlu
ZVByb3BlcnR5KHNhbXBsZSwgIi0xIiwgZGVzYyksCisgICAgUmVmbGVjdC5kZWZpbmVQcm9wZXJ0
eShzYW1wbGUsICcwJywgZGVzYyksCiAgICAgZmFsc2UsCi0gICAgIlJldHVybiBmYWxzZSBiZWZv
cmUgRGV0YWNoZWQgQnVmZmVyIGNoZWNrIHdoZW4gdmFsdWUgaXMgYSBuZWdhdGl2ZSBudW1iZXIi
CisgICAgJ1JlZmxlY3QuZGVmaW5lUHJvcGVydHkoc2FtcGxlLCAiMCIsIHt2YWx1ZTogMG4sIGNv
bmZpZ3VyYWJsZTogZmFsc2UsIGVudW1lcmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlfSkgbXVz
dCByZXR1cm4gZmFsc2UnCiAgICk7CiAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKLSAgICBSZWZsZWN0
LmRlZmluZVByb3BlcnR5KHNhbXBsZSwgIjEuMSIsIGRlc2MpLAorICAgIFJlZmxlY3QuZGVmaW5l
UHJvcGVydHkoc2FtcGxlLCAnLTEnLCBkZXNjKSwKICAgICBmYWxzZSwKLSAgICAiUmV0dXJuIGZh
bHNlIGJlZm9yZSBEZXRhY2hlZCBCdWZmZXIgY2hlY2sgd2hlbiB2YWx1ZSBpcyBub3QgYW4gaW50
ZWdlciIKKyAgICAnUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eShzYW1wbGUsICItMSIsIHt2YWx1ZTog
MG4sIGNvbmZpZ3VyYWJsZTogZmFsc2UsIGVudW1lcmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVl
fSkgbXVzdCByZXR1cm4gZmFsc2UnCiAgICk7CiAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKLSAgICBS
ZWZsZWN0LmRlZmluZVByb3BlcnR5KHNhbXBsZSwgIi0wIiwgZGVzYyksCisgICAgUmVmbGVjdC5k
ZWZpbmVQcm9wZXJ0eShzYW1wbGUsICcxLjEnLCBkZXNjKSwKICAgICBmYWxzZSwKLSAgICAiUmV0
dXJuIGZhbHNlIGJlZm9yZSBEZXRhY2hlZCBCdWZmZXIgY2hlY2sgd2hlbiB2YWx1ZSBpcyAtMCIK
KyAgICAnUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eShzYW1wbGUsICIxLjEiLCB7dmFsdWU6IDBuLCBj
b25maWd1cmFibGU6IGZhbHNlLCBlbnVtZXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZX0pIG11
c3QgcmV0dXJuIGZhbHNlJwogICApOwogCiAgIGFzc2VydC5zYW1lVmFsdWUoCi0gICAgUmVmbGVj
dC5kZWZpbmVQcm9wZXJ0eShzYW1wbGUsICIyIiwgewotICAgICAgY29uZmlndXJhYmxlOiB0cnVl
LAotICAgICAgZW51bWVyYWJsZTogdHJ1ZSwKLSAgICAgIHdyaXRhYmxlOiB0cnVlLAotICAgICAg
dmFsdWU6IG9iagotICAgIH0pLAorICAgIFJlZmxlY3QuZGVmaW5lUHJvcGVydHkoc2FtcGxlLCAn
LTAnLCBkZXNjKSwKICAgICBmYWxzZSwKLSAgICAiUmV0dXJuIGZhbHNlIGJlZm9yZSBEZXRhY2hl
ZCBCdWZmZXIgY2hlY2sgd2hlbiBkZXNjIGNvbmZpZ3VyYWJsZSBpcyB0cnVlIgorICAgICdSZWZs
ZWN0LmRlZmluZVByb3BlcnR5KHNhbXBsZSwgIi0wIiwge3ZhbHVlOiAwbiwgY29uZmlndXJhYmxl
OiBmYWxzZSwgZW51bWVyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWV9KSBtdXN0IHJldHVybiBm
YWxzZScKICAgKTsKIAotICBhc3NlcnQuc2FtZVZhbHVlKAotICAgIFJlZmxlY3QuZGVmaW5lUHJv
cGVydHkoc2FtcGxlLCAiMyIsIHsKLSAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsCi0gICAgICBl
bnVtZXJhYmxlOiBmYWxzZSwKLSAgICAgIHdyaXRhYmxlOiB0cnVlLAotICAgICAgdmFsdWU6IG9i
agotICAgIH0pLAotICAgIGZhbHNlLAotICAgICJSZXR1cm4gZmFsc2UgYmVmb3JlIERldGFjaGVk
IEJ1ZmZlciBjaGVjayB3aGVuIGRlc2MgZW51bWVyYWJsZSBpcyBmYWxzZSIKLSAgKTsKKyAgYXNz
ZXJ0LnNhbWVWYWx1ZShSZWZsZWN0LmRlZmluZVByb3BlcnR5KHNhbXBsZSwgJzInLCB7CisgICAg
Y29uZmlndXJhYmxlOiB0cnVlLAorICAgIGVudW1lcmFibGU6IHRydWUsCisgICAgd3JpdGFibGU6
IHRydWUsCisgICAgdmFsdWU6IG9iagorICB9KSwgZmFsc2UsICdSZWZsZWN0LmRlZmluZVByb3Bl
cnR5KHNhbXBsZSwgIjIiLCB7Y29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlLCB3
cml0YWJsZTogdHJ1ZSwgdmFsdWU6IG9ian0pIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKKyAgYXNz
ZXJ0LnNhbWVWYWx1ZShSZWZsZWN0LmRlZmluZVByb3BlcnR5KHNhbXBsZSwgJzMnLCB7CisgICAg
Y29uZmlndXJhYmxlOiBmYWxzZSwKKyAgICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgICB3cml0YWJs
ZTogdHJ1ZSwKKyAgICB2YWx1ZTogb2JqCisgIH0pLCBmYWxzZSwgJ1JlZmxlY3QuZGVmaW5lUHJv
cGVydHkoc2FtcGxlLCAiMyIsIHtjb25maWd1cmFibGU6IGZhbHNlLCBlbnVtZXJhYmxlOiBmYWxz
ZSwgd3JpdGFibGU6IHRydWUsIHZhbHVlOiBvYmp9KSBtdXN0IHJldHVybiBmYWxzZScpOworCisg
IGFzc2VydC5zYW1lVmFsdWUoUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eShzYW1wbGUsICc0Jywgewor
ICAgIHdyaXRhYmxlOiBmYWxzZSwKKyAgICBjb25maWd1cmFibGU6IGZhbHNlLAorICAgIGVudW1l
cmFibGU6IHRydWUsCisgICAgdmFsdWU6IG9iagorICB9KSwgZmFsc2UsICdSZWZsZWN0LmRlZmlu
ZVByb3BlcnR5KHNhbXBsZSwgIjQiLCB7d3JpdGFibGU6IGZhbHNlLCBjb25maWd1cmFibGU6IGZh
bHNlLCBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogb2JqfSkgbXVzdCByZXR1cm4gZmFsc2UnKTsK
IAogICBhc3NlcnQuc2FtZVZhbHVlKAotICAgIFJlZmxlY3QuZGVmaW5lUHJvcGVydHkoc2FtcGxl
LCAiNCIsIHsKLSAgICAgIHdyaXRhYmxlOiBmYWxzZSwKLSAgICAgIGNvbmZpZ3VyYWJsZTogZmFs
c2UsCi0gICAgICBlbnVtZXJhYmxlOiB0cnVlLAotICAgICAgdmFsdWU6IG9iagotICAgIH0pLAor
ICAgIFJlZmxlY3QuZGVmaW5lUHJvcGVydHkoc2FtcGxlLCAnNDInLCBkZXNjKSwKICAgICBmYWxz
ZSwKLSAgICAiUmV0dXJuIGZhbHNlIGJlZm9yZSBEZXRhY2hlZCBCdWZmZXIgY2hlY2sgd2hlbiBk
ZXNjIHdyaXRhYmxlIGlzIGZhbHNlIgorICAgICdSZWZsZWN0LmRlZmluZVByb3BlcnR5KHNhbXBs
ZSwgIjQyIiwge3ZhbHVlOiAwbiwgY29uZmlndXJhYmxlOiBmYWxzZSwgZW51bWVyYWJsZTogdHJ1
ZSwgd3JpdGFibGU6IHRydWV9KSBtdXN0IHJldHVybiBmYWxzZScKICAgKTsKIAogICBhc3NlcnQu
c2FtZVZhbHVlKAotICAgIFJlZmxlY3QuZGVmaW5lUHJvcGVydHkoc2FtcGxlLCAiNDIiLCBkZXNj
KSwKKyAgICBSZWZsZWN0LmRlZmluZVByb3BlcnR5KHNhbXBsZSwgJzQzJywgZGVzYyksCiAgICAg
ZmFsc2UsCi0gICAgIlJldHVybiBmYWxzZSBiZWZvcmUgRGV0YWNoZWQgQnVmZmVyIGNoZWNrIHdo
ZW4ga2V5ID09IFtbQXJyYXlMZW5ndGhdXSIKKyAgICAnUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eShz
YW1wbGUsICI0MyIsIHt2YWx1ZTogMG4sIGNvbmZpZ3VyYWJsZTogZmFsc2UsIGVudW1lcmFibGU6
IHRydWUsIHdyaXRhYmxlOiB0cnVlfSkgbXVzdCByZXR1cm4gZmFsc2UnCiAgICk7CiAKLSAgYXNz
ZXJ0LnNhbWVWYWx1ZSgKLSAgICBSZWZsZWN0LmRlZmluZVByb3BlcnR5KHNhbXBsZSwgIjQzIiwg
ZGVzYyksCi0gICAgZmFsc2UsCi0gICAgIlJldHVybiBmYWxzZSBiZWZvcmUgRGV0YWNoZWQgQnVm
ZmVyIGNoZWNrIHdoZW4ga2V5ID4gW1tBcnJheUxlbmd0aF1dIgotICApOwotCi0gIGFzc2VydC5z
YW1lVmFsdWUoCi0gICAgUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eShzYW1wbGUsICI1IiwgewotICAg
ICAgZ2V0OiBmdW5jdGlvbigpIHt9Ci0gICAgfSksCi0gICAgZmFsc2UsCi0gICAgIlJldHVybiBm
YWxzZSBiZWZvcmUgRGV0YWNoZWQgQnVmZmVyIGNoZWNrIHdpdGggYWNjZXNzb3IgZGVzY3JpcHRv
ciIKLSAgKTsKLQotICBhc3NlcnQuc2FtZVZhbHVlKAotICAgIFJlZmxlY3QuZGVmaW5lUHJvcGVy
dHkoc2FtcGxlLCAiNiIsIHsKLSAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsCi0gICAgICBlbnVt
ZXJhYmxlOiB0cnVlLAotICAgICAgd3JpdGFibGU6IHRydWUKLSAgICB9KSwKLSAgICB0cnVlLAot
ICAgICJSZXR1cm4gdHJ1ZSBiZWZvcmUgRGV0YWNoZWQgQnVmZmVyIGNoZWNrIHdoZW4gZGVzYyB2
YWx1ZSBpcyBub3QgcHJlc2VudCIKLSAgKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShSZWZsZWN0LmRl
ZmluZVByb3BlcnR5KHNhbXBsZSwgJzUnLCB7CisgICAgZ2V0OiBmdW5jdGlvbigpIHt9CisgIH0p
LCBmYWxzZSwgJ1JlZmxlY3QuZGVmaW5lUHJvcGVydHkoc2FtcGxlLCAiNSIsIHtnZXQ6IGZ1bmN0
aW9uKCkge319KSBtdXN0IHJldHVybiBmYWxzZScpOwogCi0gIGFzc2VydC50aHJvd3MoVGVzdDI2
MkVycm9yLCBmdW5jdGlvbigpIHsKLSAgICBSZWZsZWN0LmRlZmluZVByb3BlcnR5KHNhbXBsZSwg
IjciLCB7dmFsdWU6IG9ian0pOwotICB9LCAiUmV0dXJuIEFicnVwdCBiZWZvcmUgRGV0YWNoZWQg
QnVmZmVyIGNoZWNrIGZyb20gVG9OdW1iZXIoZGVzYy52YWx1ZSkiKTsKKyAgYXNzZXJ0LnNhbWVW
YWx1ZShSZWZsZWN0LmRlZmluZVByb3BlcnR5KHNhbXBsZSwgJzYnLCB7CisgICAgY29uZmlndXJh
YmxlOiBmYWxzZSwKKyAgICBlbnVtZXJhYmxlOiB0cnVlLAorICAgIHdyaXRhYmxlOiB0cnVlCisg
IH0pLCBmYWxzZSwgJ1JlZmxlY3QuZGVmaW5lUHJvcGVydHkoc2FtcGxlLCAiNiIsIHtjb25maWd1
cmFibGU6IGZhbHNlLCBlbnVtZXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZX0pIG11c3QgcmV0
dXJuIGZhbHNlJyk7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWZpbmVPd25Qcm9wZXJ0eS9C
aWdJbnQva2V5LWlzLW51bWVyaWNpbmRleC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWZpbmVPd25Qcm9wZXJ0eS9C
aWdJbnQva2V5LWlzLW51bWVyaWNpbmRleC5qcwppbmRleCAzZTgyNDFjYTA3Y2Y5OGZkNjdhMjQ4
YzM4ODI5NTE1YmRiNzE5OGNhLi44Zjg0NmYwZTUwZGVmYzhhZTFlMDE5YmIzNWFkNTFlODI2NDk4
YzNkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVmaW5lT3duUHJvcGVydHkvQmlnSW50L2tleS1pcy1u
dW1lcmljaW5kZXguanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlZmluZU93blByb3BlcnR5L0JpZ0ludC9rZXkt
aXMtbnVtZXJpY2luZGV4LmpzCkBAIC0xMSwzMiArMTEsMjYgQEAgaW5mbzogfAogICAgIGEuIExl
dCBudW1lcmljSW5kZXggYmUgISBDYW5vbmljYWxOdW1lcmljSW5kZXhTdHJpbmcoUCkuCiAgICAg
Yi4gSWYgbnVtZXJpY0luZGV4IGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KICAgICAgIC4uLgotICAg
ICAgeC4gSWYgRGVzYyBoYXMgYSBbW1dyaXRhYmxlXV0gZmllbGQgYW5kIGlmIERlc2MuW1tXcml0
YWJsZV1dIGlzIGZhbHNlLAotICAgICAgcmV0dXJuIGZhbHNlLgorICAgICAgdi4gSWYgRGVzYyBo
YXMgYSBbW1dyaXRhYmxlXV0gZmllbGQgYW5kIGlmIERlc2MuW1tXcml0YWJsZV1dIGlzIGZhbHNl
LAorICAgICAgICByZXR1cm4gZmFsc2UuCiAgIC4uLgogaW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlw
ZWRBcnJheS5qcywgcHJvcGVydHlIZWxwZXIuanNdCi1mZWF0dXJlczogW0JpZ0ludCwgUmVmbGVj
dCwgVHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGlj
cy13aXRoLXdlYi1yZWFsaXR5LCBCaWdJbnQsIFJlZmxlY3QsIFR5cGVkQXJyYXldCiAtLS0qLwot
CiB0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKICAg
dmFyIHNhbXBsZSA9IG5ldyBUQShbNDJuLCA0Mm5dKTsKIAotICBhc3NlcnQuc2FtZVZhbHVlKAot
ICAgIFJlZmxlY3QuZGVmaW5lUHJvcGVydHkoc2FtcGxlLCAiMCIsIHsKLSAgICAgIHZhbHVlOiA4
biwKLSAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsCi0gICAgICBlbnVtZXJhYmxlOiB0cnVlLAot
ICAgICAgd3JpdGFibGU6IHRydWUKLSAgICB9KSwKLSAgICB0cnVlCi0gICk7Ci0KLSAgYXNzZXJ0
LnNhbWVWYWx1ZShzYW1wbGVbMF0sIDhuLCAicHJvcGVydHkgdmFsdWUgd2FzIHNldCIpOwotICB2
YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc2FtcGxlLCAiMCIpOwot
Ci0gIGFzc2VydC5zYW1lVmFsdWUoZGVzYy52YWx1ZSwgOG4sICJkZXNjLnZhbHVlIik7Ci0gIGFz
c2VydC5zYW1lVmFsdWUoZGVzYy53cml0YWJsZSwgdHJ1ZSwgInByb3BlcnR5IGlzIHdyaXRhYmxl
Iik7CisgIGFzc2VydC5zYW1lVmFsdWUoUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eShzYW1wbGUsICcw
JywgeworICAgIHZhbHVlOiA4biwKKyAgICBjb25maWd1cmFibGU6IHRydWUsCisgICAgZW51bWVy
YWJsZTogdHJ1ZSwKKyAgICB3cml0YWJsZTogdHJ1ZQorICB9KSwgdHJ1ZSwgJ1JlZmxlY3QuZGVm
aW5lUHJvcGVydHkoc2FtcGxlLCAiMCIsIHt2YWx1ZTogOG4sIGNvbmZpZ3VyYWJsZTogdHJ1ZSwg
ZW51bWVyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWV9KSBtdXN0IHJldHVybiB0cnVlJyk7CiAK
LSAgdmVyaWZ5RW51bWVyYWJsZShzYW1wbGUsICIwIik7Ci0gIHZlcmlmeU5vdENvbmZpZ3VyYWJs
ZShzYW1wbGUsICIwIik7CisgIGFzc2VydC5zYW1lVmFsdWUoc2FtcGxlWzBdLCA4biwgJ1RoZSB2
YWx1ZSBvZiBzYW1wbGVbMF0gaXMgOG4nKTsKKyAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKHNhbXBsZSwgJzAnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShkZXNjLnZh
bHVlLCA4biwgJ1RoZSB2YWx1ZSBvZiBkZXNjLnZhbHVlIGlzIDhuJyk7CisgIGFzc2VydC5zYW1l
VmFsdWUoZGVzYy53cml0YWJsZSwgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBkZXNjLndyaXRhYmxlIGlz
IHRydWUnKTsKKyAgdmVyaWZ5RW51bWVyYWJsZShzYW1wbGUsICcwJyk7CisgIHZlcmlmeU5vdENv
bmZpZ3VyYWJsZShzYW1wbGUsICcwJyk7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWZpbmVP
d25Qcm9wZXJ0eS9CaWdJbnQvdG9udW1iZXItdmFsdWUtZGV0YWNoZWQtYnVmZmVyLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJu
YWxzL0RlZmluZU93blByb3BlcnR5L0JpZ0ludC90b251bWJlci12YWx1ZS1kZXRhY2hlZC1idWZm
ZXIuanMKaW5kZXggOWM4YTE5MWU5Zjc4YzMzYTY3YzAwOTlhNDU5OWZjODYzMTIxMmRiMy4uMjVh
OThlOWJmNzcwYmQ4ZGQ0YjliNTJjZjI1YTgwNjY4MDVmZDU3NCAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxz
L0RlZmluZU93blByb3BlcnR5L0JpZ0ludC90b251bWJlci12YWx1ZS1kZXRhY2hlZC1idWZmZXIu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMvaW50ZXJuYWxzL0RlZmluZU93blByb3BlcnR5L0JpZ0ludC90b251bWJlci12YWx1ZS1k
ZXRhY2hlZC1idWZmZXIuanMKQEAgLTEsMTIgKzEsMTEgQEAKIC8vIENvcHlyaWdodCAoQykgMjAx
NyBNb3ppbGxhIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8gVGhpcyBjb2Rl
IGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgotCiAvKi0tLQogZXNpZDogc2VjLWludGVnZXItaW5kZXhlZC1leG90aWMtb2JqZWN0cy1kZWZp
bmVvd25wcm9wZXJ0eS1wLWRlc2MKIGRlc2NyaXB0aW9uOiA+CiAgICAgRGVmaW5pbmcgYSB0eXBl
ZCBhcnJheSBlbGVtZW50IHRvIGEgdmFsdWUgdGhhdCwgd2hlbiBjb252ZXJ0ZWQgdG8gdGhlIHR5
cGVkCi0gICAgYXJyYXkgZWxlbWVudCB0eXBlLCBkZXRhY2hlcyB0aGUgdHlwZWQgYXJyYXkncyB1
bmRlcmx5aW5nIGJ1ZmZlciwgc2hvdWxkCi0gICAgdGhyb3cgYSBUeXBlRXJyb3IgYW5kIG5vdCBt
b2RpZnkgdGhlIHR5cGVkIGFycmF5LgorICAgIGFycmF5IGVsZW1lbnQgdHlwZSwgZGV0YWNoZXMg
dGhlIHR5cGVkIGFycmF5J3MgdW5kZXJseWluZyBidWZmZXIsIHNob3VsZCByZXR1cm4KKyAgICBm
YWxzZSBhbmQgbm90IG1vZGlmeSB0aGUgdHlwZWQgYXJyYXkuCiBpbmZvOiB8CiAgIDkuNC41LjMg
W1tEZWZpbmVPd25Qcm9wZXJ0eV1dICggUCwgRGVzYyApCiAKQEAgLTI2LDMwICsyNSwyNSBAQCBp
bmZvOiB8CiAgIDE1LiBQZXJmb3JtIFNldFZhbHVlSW5CdWZmZXIoYnVmZmVyLCBpbmRleGVkUG9z
aXRpb24sIGVsZW1lbnRUeXBlLCBudW1WYWx1ZSkuCiAgIDE2LiBSZXR1cm4gdHJ1ZS4KIGluY2x1
ZGVzOiBbdGVzdEJpZ0ludFR5cGVkQXJyYXkuanMsIGRldGFjaEFycmF5QnVmZmVyLmpzXQotZmVh
dHVyZXM6IFtCaWdJbnQsIFJlZmxlY3QsIFR5cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWduLWRl
dGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgQmlnSW50LCBSZWZsZWN0
LCBUeXBlZEFycmF5XQogLS0tKi8KLQogdGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0
b3JzKGZ1bmN0aW9uKFRBKSB7CiAgIHZhciB0YSA9IG5ldyBUQShbMTduXSk7CiAKLSAgdmFyIGRl
c2MgPQotICAgIHsKLSAgICAgIHZhbHVlOiB7Ci0gICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICRERVRBQ0hCVUZGRVIodGEuYnVmZmVyKTsKLSAgICAgICAgICByZXR1cm4g
NDJuOwotICAgICAgICB9CisgIHZhciBkZXNjID0geworICAgIHZhbHVlOiB7CisgICAgICB2YWx1
ZU9mKCkgeworICAgICAgICAkREVUQUNIQlVGRkVSKHRhLmJ1ZmZlcik7CisgICAgICAgIHJldHVy
biA0Mm47CiAgICAgICB9Ci0gICAgfTsKKyAgICB9CisgIH07CiAKLSAgYXNzZXJ0LnRocm93cyhU
eXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICAgIFJlZmxlY3QuZGVmaW5lUHJvcGVydHkodGEsIDAs
IGRlc2MpOwotICB9LAotICAiZGV0YWNoaW5nIGEgQXJyYXlCdWZmZXIgZHVyaW5nIGRlZmluaW5n
IGFuIGVsZW1lbnQgb2YgYSB0eXBlZCBhcnJheSAiICsKLSAgInZpZXdpbmcgaXQgc2hvdWxkIHRo
cm93Iik7CisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eSh0
YSwgMCwgZGVzYyksCisgICAgZmFsc2UsCisgICAgJ1JlZmxlY3QuZGVmaW5lUHJvcGVydHkodGEs
IDAsIHt2YWx1ZToge3ZhbHVlT2YoKSB7JERFVEFDSEJVRkZFUih0YS5idWZmZXIpOyByZXR1cm4g
NDJuO319fSkgbXVzdCByZXR1cm4gZmFsc2UnCisgICk7CiAKLSAgYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsIGZ1bmN0aW9uKCkgewotICAgIHRhWzBdOwotICB9KTsKKyAgYXNzZXJ0LnNhbWVWYWx1
ZSh0YVswXSwgdW5kZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHRhWzBdIGlzIGV4cGVjdGVkIHRvIGVx
dWFsIGB1bmRlZmluZWRgJyk7CiB9KTsKLQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlZmluZU93blBy
b3BlcnR5L2RldGFjaGVkLWJ1ZmZlci1yZWFsbS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWZpbmVPd25Qcm9wZXJ0
eS9kZXRhY2hlZC1idWZmZXItcmVhbG0uanMKaW5kZXggYWNmZjZlNDRlN2E3ODJjYmI0MjU5N2E5
NTQyNTQ0ODAzNGFlOWVmYS4uNDYwMGU5MzdlNjU4MjdlMDA5N2UzYjM1NDE2ODQ4MzllYzVlNzU5
NSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlD
b25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlZmluZU93blByb3BlcnR5L2RldGFjaGVkLWJ1ZmZlci1y
ZWFsbS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNv
bnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVmaW5lT3duUHJvcGVydHkvZGV0YWNoZWQtYnVmZmVyLXJl
YWxtLmpzCkBAIC0zLDcgKzMsNyBAQAogLyotLS0KIGVzaWQ6IHNlYy1pbnRlZ2VyLWluZGV4ZWQt
ZXhvdGljLW9iamVjdHMtZGVmaW5lb3ducHJvcGVydHktcC1kZXNjCiBkZXNjcmlwdGlvbjogPgot
ICBUaHJvd3MgYSBUeXBlRXJyb3IgaWYgb2JqZWN0IGhhcyB2YWxpZCBudW1lcmljIGluZGV4IGFu
ZCBhIGRldGFjaGVkIGJ1ZmZlcgorICBSZXR1cm5zIGZhbHNlIGlmIHRoaXMgaGFzIHZhbGlkIG51
bWVyaWMgaW5kZXggYW5kIGEgZGV0YWNoZWQgYnVmZmVyCiAgIChob25vcmluZyB0aGUgUmVhbG0g
b2YgdGhlIGN1cnJlbnQgZXhlY3V0aW9uIGNvbnRleHQpCiBpbmZvOiB8CiAgIDkuNC41LjMgW1tE
ZWZpbmVPd25Qcm9wZXJ0eV1dICggUCwgRGVzYykKQEAgLTIwLDE3ICsyMCwxNyBAQCBpbmZvOiB8
CiAgIDkuNC41LjkgSW50ZWdlckluZGV4ZWRFbGVtZW50U2V0ICggTywgaW5kZXgsIHZhbHVlICkK
IAogICAuLi4KLSAgNC4gTGV0IGJ1ZmZlciBiZSB0aGUgdmFsdWUgb2YgTydzIFtbVmlld2VkQXJy
YXlCdWZmZXJdXSBpbnRlcm5hbCBzbG90LgotICA1LiBJZiBJc0RldGFjaGVkQnVmZmVyKGJ1ZmZl
cikgaXMgdHJ1ZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICBMZXQgYnVmZmVyIGJl
IE8uW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dLgorICBJZiBJc0RldGFjaGVkQnVmZmVyKGJ1ZmZlcikg
aXMgdHJ1ZSwgcmV0dXJuIGZhbHNlLgogICAuLi4KIGluY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXku
anMsIGRldGFjaEFycmF5QnVmZmVyLmpzXQotZmVhdHVyZXM6IFtjcm9zcy1yZWFsbSwgUmVmbGVj
dCwgVHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGlj
cy13aXRoLXdlYi1yZWFsaXR5LCBjcm9zcy1yZWFsbSwgUmVmbGVjdCwgVHlwZWRBcnJheV0KIC0t
LSovCiAKIHZhciBvdGhlciA9ICQyNjIuY3JlYXRlUmVhbG0oKS5nbG9iYWw7CiB2YXIgZGVzYyA9
IHsKICAgdmFsdWU6IDAsCi0gIGNvbmZpZ3VyYWJsZTogZmFsc2UsCisgIGNvbmZpZ3VyYWJsZTog
dHJ1ZSwKICAgZW51bWVyYWJsZTogdHJ1ZSwKICAgd3JpdGFibGU6IHRydWUKIH07CkBAIC00MSw3
ICs0MSw5IEBAIHRlc3RXaXRoVHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewog
CiAgICRERVRBQ0hCVUZGRVIoc2FtcGxlLmJ1ZmZlcik7CiAKLSAgYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsIGZ1bmN0aW9uKCkgewotICAgIFJlZmxlY3QuZGVmaW5lUHJvcGVydHkoc2FtcGxlLCAn
MCcsIGRlc2MpOwotICB9KTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBSZWZsZWN0LmRlZmlu
ZVByb3BlcnR5KHNhbXBsZSwgJzAnLCBkZXNjKSwKKyAgICBmYWxzZSwKKyAgICAnUmVmbGVjdC5k
ZWZpbmVQcm9wZXJ0eShzYW1wbGUsICIwIiwge3ZhbHVlOiAwLCBjb25maWd1cmFibGU6IHRydWUs
IGVudW1lcmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlfSkgbXVzdCByZXR1cm4gZmFsc2UnCisg
ICk7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWZpbmVPd25Qcm9wZXJ0eS9kZXRhY2hlZC1i
dWZmZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9pbnRlcm5hbHMvRGVmaW5lT3duUHJvcGVydHkvZGV0YWNoZWQtYnVmZmVyLmpzCmlu
ZGV4IGExMDM5NjM2ZjdjMTkxMDczODRmMGJmOWYzZGUxZDNlMDVkODRhNTEuLmMzMmRhOTU4NmZl
Y2I5MTk5NzY3ZWY0MGNjMzZjMzAwMmFiZGY0ZGMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWZpbmVP
d25Qcm9wZXJ0eS9kZXRhY2hlZC1idWZmZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlZmluZU93blByb3Bl
cnR5L2RldGFjaGVkLWJ1ZmZlci5qcwpAQCAtMyw3ICszLDcgQEAKIC8qLS0tCiBlc2lkOiBzZWMt
aW50ZWdlci1pbmRleGVkLWV4b3RpYy1vYmplY3RzLWRlZmluZW93bnByb3BlcnR5LXAtZGVzYwog
ZGVzY3JpcHRpb246ID4KLSAgVGhyb3dzIGEgVHlwZUVycm9yIGlmIG9iamVjdCBoYXMgdmFsaWQg
bnVtZXJpYyBpbmRleCBhbmQgYSBkZXRhY2hlZCBidWZmZXIKKyAgUmV0dXJucyBmYWxzZSBpZiB0
aGlzIGhhcyB2YWxpZCBudW1lcmljIGluZGV4IGFuZCBhIGRldGFjaGVkIGJ1ZmZlcgogaW5mbzog
fAogICA5LjQuNS4zIFtbRGVmaW5lT3duUHJvcGVydHldXSAoIFAsIERlc2MpCiAgIC4uLgpAQCAt
MTksMTEgKzE5LDExIEBAIGluZm86IHwKICAgOS40LjUuOSBJbnRlZ2VySW5kZXhlZEVsZW1lbnRT
ZXQgKCBPLCBpbmRleCwgdmFsdWUgKQogCiAgIC4uLgotICA0LiBMZXQgYnVmZmVyIGJlIHRoZSB2
YWx1ZSBvZiBPJ3MgW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dIGludGVybmFsIHNsb3QuCi0gIDUuIElm
IElzRGV0YWNoZWRCdWZmZXIoYnVmZmVyKSBpcyB0cnVlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNl
cHRpb24uCisgIExldCBidWZmZXIgYmUgTy5bW1ZpZXdlZEFycmF5QnVmZmVyXV0uCisgIElmIElz
RGV0YWNoZWRCdWZmZXIoYnVmZmVyKSBpcyB0cnVlLCByZXR1cm4gZmFsc2UuCiAgIC4uLgogaW5j
bHVkZXM6IFt0ZXN0VHlwZWRBcnJheS5qcywgZGV0YWNoQXJyYXlCdWZmZXIuanNdCi1mZWF0dXJl
czogW1JlZmxlY3QsIFR5cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1ZmZl
ci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgUmVmbGVjdCwgVHlwZWRBcnJheV0KIC0tLSov
CiAKIHZhciBkZXNjID0gewpAQCAtNDMsMjYgKzQzLDI4IEBAIHRlc3RXaXRoVHlwZWRBcnJheUNv
bnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewogICB2YXIgc2FtcGxlID0gbmV3IFRBKDQyKTsKICAg
JERFVEFDSEJVRkZFUihzYW1wbGUuYnVmZmVyKTsKIAotICBhc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgZnVuY3Rpb24oKSB7Ci0gICAgUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eShzYW1wbGUsICIwIiwg
ZGVzYyk7Ci0gIH0sICJUaHJvd3MgVHlwZUVycm9yIG9uIHZhbGlkIG51bWVyaWMgaW5kZXggaWYg
aW5zdGFuY2UgaGFzIGEgZGV0YWNoZWQgYnVmZmVyIik7CisgIGFzc2VydC5zYW1lVmFsdWUoCisg
ICAgUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eShzYW1wbGUsICIwIiwgZGVzYyksCisgICAgZmFsc2Us
CisgICAgJ1JlZmxlY3QuZGVmaW5lUHJvcGVydHkoc2FtcGxlLCAiMCIsIHt2YWx1ZTogMCwgY29u
ZmlndXJhYmxlOiBmYWxzZSwgZW51bWVyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWV9ICkgbXVz
dCByZXR1cm4gZmFsc2UnCisgICk7CiAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBSZWZsZWN0
LmRlZmluZVByb3BlcnR5KHNhbXBsZSwgIi0xIiwgZGVzYyksCiAgICAgZmFsc2UsCi0gICAgIlJl
dHVybiBmYWxzZSBiZWZvcmUgRGV0YWNoZWQgQnVmZmVyIGNoZWNrIHdoZW4gdmFsdWUgaXMgYSBu
ZWdhdGl2ZSBudW1iZXIiCisgICAgJ1JlZmxlY3QuZGVmaW5lUHJvcGVydHkoc2FtcGxlLCAiLTEi
LCB7dmFsdWU6IDAsIGNvbmZpZ3VyYWJsZTogZmFsc2UsIGVudW1lcmFibGU6IHRydWUsIHdyaXRh
YmxlOiB0cnVlfSApIG11c3QgcmV0dXJuIGZhbHNlJwogICApOwogCiAgIGFzc2VydC5zYW1lVmFs
dWUoCiAgICAgUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eShzYW1wbGUsICIxLjEiLCBkZXNjKSwKICAg
ICBmYWxzZSwKLSAgICAiUmV0dXJuIGZhbHNlIGJlZm9yZSBEZXRhY2hlZCBCdWZmZXIgY2hlY2sg
d2hlbiB2YWx1ZSBpcyBub3QgYW4gaW50ZWdlciIKKyAgICAnUmVmbGVjdC5kZWZpbmVQcm9wZXJ0
eShzYW1wbGUsICIxLjEiLCB7dmFsdWU6IDAsIGNvbmZpZ3VyYWJsZTogZmFsc2UsIGVudW1lcmFi
bGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlfSApIG11c3QgcmV0dXJuIGZhbHNlJwogICApOwogCiAg
IGFzc2VydC5zYW1lVmFsdWUoCiAgICAgUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eShzYW1wbGUsICIt
MCIsIGRlc2MpLAogICAgIGZhbHNlLAotICAgICJSZXR1cm4gZmFsc2UgYmVmb3JlIERldGFjaGVk
IEJ1ZmZlciBjaGVjayB3aGVuIHZhbHVlIGlzIC0wIgorICAgICdSZWZsZWN0LmRlZmluZVByb3Bl
cnR5KHNhbXBsZSwgIi0wIiwge3ZhbHVlOiAwLCBjb25maWd1cmFibGU6IGZhbHNlLCBlbnVtZXJh
YmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZX0gKSBtdXN0IHJldHVybiBmYWxzZScKICAgKTsKIAog
ICBhc3NlcnQuc2FtZVZhbHVlKApAQCAtNzMsNyArNzUsNyBAQCB0ZXN0V2l0aFR5cGVkQXJyYXlD
b25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKICAgICAgIHZhbHVlOiBvYmoKICAgICB9KSwKICAg
ICBmYWxzZSwKLSAgICAiUmV0dXJuIGZhbHNlIGJlZm9yZSBEZXRhY2hlZCBCdWZmZXIgY2hlY2sg
d2hlbiBkZXNjIGNvbmZpZ3VyYWJsZSBpcyB0cnVlIgorICAgICdSZWZsZWN0LmRlZmluZVByb3Bl
cnR5KHNhbXBsZSwgIjIiLCB7Y29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlLCB3
cml0YWJsZTogdHJ1ZSwgdmFsdWU6IG9ian0pIG11c3QgcmV0dXJuIGZhbHNlJwogICApOwogCiAg
IGFzc2VydC5zYW1lVmFsdWUoCkBAIC04NCw3ICs4Niw3IEBAIHRlc3RXaXRoVHlwZWRBcnJheUNv
bnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewogICAgICAgdmFsdWU6IG9iagogICAgIH0pLAogICAg
IGZhbHNlLAotICAgICJSZXR1cm4gZmFsc2UgYmVmb3JlIERldGFjaGVkIEJ1ZmZlciBjaGVjayB3
aGVuIGRlc2MgZW51bWVyYWJsZSBpcyBmYWxzZSIKKyAgICAnUmVmbGVjdC5kZWZpbmVQcm9wZXJ0
eShzYW1wbGUsICIzIiwge2NvbmZpZ3VyYWJsZTogZmFsc2UsIGVudW1lcmFibGU6IGZhbHNlLCB3
cml0YWJsZTogdHJ1ZSwgdmFsdWU6IG9ian0pIG11c3QgcmV0dXJuIGZhbHNlJwogICApOwogCiAg
IGFzc2VydC5zYW1lVmFsdWUoCkBAIC05NSwxOSArOTcsMTkgQEAgdGVzdFdpdGhUeXBlZEFycmF5
Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CiAgICAgICB2YWx1ZTogb2JqCiAgICAgfSksCiAg
ICAgZmFsc2UsCi0gICAgIlJldHVybiBmYWxzZSBiZWZvcmUgRGV0YWNoZWQgQnVmZmVyIGNoZWNr
IHdoZW4gZGVzYyB3cml0YWJsZSBpcyBmYWxzZSIKKyAgICAnUmVmbGVjdC5kZWZpbmVQcm9wZXJ0
eSgibmV3IFRBKDQyKSIsICI0Iiwge3dyaXRhYmxlOiBmYWxzZSwgY29uZmlndXJhYmxlOiBmYWxz
ZSwgZW51bWVyYWJsZTogdHJ1ZSwgdmFsdWU6IG9ian0pIG11c3QgcmV0dXJuIGZhbHNlJwogICAp
OwogCiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eShzYW1w
bGUsICI0MiIsIGRlc2MpLAogICAgIGZhbHNlLAotICAgICJSZXR1cm4gZmFsc2UgYmVmb3JlIERl
dGFjaGVkIEJ1ZmZlciBjaGVjayB3aGVuIGtleSA9PSBbW0FycmF5TGVuZ3RoXV0iCisgICAgJ1Jl
ZmxlY3QuZGVmaW5lUHJvcGVydHkoc2FtcGxlLCAiNDIiLCB7dmFsdWU6IDAsIGNvbmZpZ3VyYWJs
ZTogZmFsc2UsIGVudW1lcmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlfSApIG11c3QgcmV0dXJu
IGZhbHNlJwogICApOwogCiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgUmVmbGVjdC5kZWZpbmVQ
cm9wZXJ0eShzYW1wbGUsICI0MyIsIGRlc2MpLAogICAgIGZhbHNlLAotICAgICJSZXR1cm4gZmFs
c2UgYmVmb3JlIERldGFjaGVkIEJ1ZmZlciBjaGVjayB3aGVuIGtleSA+IFtbQXJyYXlMZW5ndGhd
XSIKKyAgICAnUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eShzYW1wbGUsICI0MyIsIHt2YWx1ZTogMCwg
Y29uZmlndXJhYmxlOiBmYWxzZSwgZW51bWVyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWV9ICkg
bXVzdCByZXR1cm4gZmFsc2UnCiAgICk7CiAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKQEAgLTExNSw3
ICsxMTcsNyBAQCB0ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsK
ICAgICAgIGdldDogZnVuY3Rpb24oKSB7fQogICAgIH0pLAogICAgIGZhbHNlLAotICAgICJSZXR1
cm4gZmFsc2UgYmVmb3JlIERldGFjaGVkIEJ1ZmZlciBjaGVjayB3aXRoIGFjY2Vzc29yIGRlc2Ny
aXB0b3IiCisgICAgJ1JlZmxlY3QuZGVmaW5lUHJvcGVydHkoc2FtcGxlLCAiNSIsIHtnZXQ6IGZ1
bmN0aW9uKCkge319KSBtdXN0IHJldHVybiBmYWxzZScKICAgKTsKIAogICBhc3NlcnQuc2FtZVZh
bHVlKApAQCAtMTI0LDExICsxMjYsNyBAQCB0ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMo
ZnVuY3Rpb24oVEEpIHsKICAgICAgIGVudW1lcmFibGU6IHRydWUsCiAgICAgICB3cml0YWJsZTog
dHJ1ZQogICAgIH0pLAotICAgIHRydWUsCi0gICAgIlJldHVybiB0cnVlIGJlZm9yZSBEZXRhY2hl
ZCBCdWZmZXIgY2hlY2sgd2hlbiBkZXNjIHZhbHVlIGlzIG5vdCBwcmVzZW50IgorICAgIGZhbHNl
LAorICAgICdSZWZsZWN0LmRlZmluZVByb3BlcnR5KHNhbXBsZSwgIjYiLCB7Y29uZmlndXJhYmxl
OiBmYWxzZSwgZW51bWVyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWV9KSBtdXN0IHJldHVybiBm
YWxzZScKICAgKTsKLQotICBhc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7
Ci0gICAgUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eShzYW1wbGUsICI3Iiwge3ZhbHVlOiBvYmp9KTsK
LSAgfSwgIlJldHVybiBBYnJ1cHQgYmVmb3JlIERldGFjaGVkIEJ1ZmZlciBjaGVjayBmcm9tIFRv
TnVtYmVyKGRlc2MudmFsdWUpIik7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWZpbmVPd25Q
cm9wZXJ0eS90b251bWJlci12YWx1ZS1kZXRhY2hlZC1idWZmZXIuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVmaW5l
T3duUHJvcGVydHkvdG9udW1iZXItdmFsdWUtZGV0YWNoZWQtYnVmZmVyLmpzCmluZGV4IDE5NDBl
NWNkZTM3NWFjNGJiMDJjZjQ5NDY3NGZjY2U4M2FjNWM0YWUuLjI1ZmZiNzNjNzczYWExNDcxYjQ0
OWUzNjUzMjYzZmE3ZTY0NDg2MjQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWZpbmVPd25Qcm9wZXJ0
eS90b251bWJlci12YWx1ZS1kZXRhY2hlZC1idWZmZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlZmluZU93
blByb3BlcnR5L3RvbnVtYmVyLXZhbHVlLWRldGFjaGVkLWJ1ZmZlci5qcwpAQCAtNiw3ICs2LDcg
QEAgZXNpZDogc2VjLWludGVnZXItaW5kZXhlZC1leG90aWMtb2JqZWN0cy1kZWZpbmVvd25wcm9w
ZXJ0eS1wLWRlc2MKIGRlc2NyaXB0aW9uOiA+CiAgICAgRGVmaW5pbmcgYSB0eXBlZCBhcnJheSBl
bGVtZW50IHRvIGEgdmFsdWUgdGhhdCwgd2hlbiBjb252ZXJ0ZWQgdG8gdGhlIHR5cGVkCiAgICAg
YXJyYXkgZWxlbWVudCB0eXBlLCBkZXRhY2hlcyB0aGUgdHlwZWQgYXJyYXkncyB1bmRlcmx5aW5n
IGJ1ZmZlciwgc2hvdWxkCi0gICAgdGhyb3cgYSBUeXBlRXJyb3IgYW5kIG5vdCBtb2RpZnkgdGhl
IHR5cGVkIGFycmF5LgorICAgIHJldHVybiBmYWxzZSBhbmQgbm90IG1vZGlmeSB0aGUgdHlwZWQg
YXJyYXkuCiBpbmZvOiB8CiAgIDkuNC41LjMgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dICggUCwgRGVz
YyApCiAKQEAgLTI2LDcgKzI2LDcgQEAgaW5mbzogfAogICAxNS4gUGVyZm9ybSBTZXRWYWx1ZUlu
QnVmZmVyKGJ1ZmZlciwgaW5kZXhlZFBvc2l0aW9uLCBlbGVtZW50VHlwZSwgbnVtVmFsdWUpLgog
ICAxNi4gUmV0dXJuIHRydWUuCiBpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5LmpzLCBkZXRhY2hB
cnJheUJ1ZmZlci5qc10KLWZlYXR1cmVzOiBbUmVmbGVjdCwgVHlwZWRBcnJheV0KK2ZlYXR1cmVz
OiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBSZWZs
ZWN0LCBUeXBlZEFycmF5XQogLS0tKi8KIAogdGVzdFdpdGhUeXBlZEFycmF5Q29uc3RydWN0b3Jz
KGZ1bmN0aW9uKFRBKSB7CkBAIC0zNSwyMSArMzUsMTggQEAgdGVzdFdpdGhUeXBlZEFycmF5Q29u
c3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CiAgIHZhciBkZXNjID0KICAgICB7CiAgICAgICB2YWx1
ZTogewotICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbigpIHsKKyAgICAgICAgdmFsdWVPZigpIHsK
ICAgICAgICAgICAkREVUQUNIQlVGRkVSKHRhLmJ1ZmZlcik7CiAgICAgICAgICAgcmV0dXJuIDQy
OwogICAgICAgICB9CiAgICAgICB9CiAgICAgfTsKIAotICBhc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgZnVuY3Rpb24oKSB7Ci0gICAgUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eSh0YSwgMCwgZGVzYyk7
Ci0gIH0sCi0gICJkZXRhY2hpbmcgYSBBcnJheUJ1ZmZlciBkdXJpbmcgZGVmaW5pbmcgYW4gZWxl
bWVudCBvZiBhIHR5cGVkIGFycmF5ICIgKwotICAidmlld2luZyBpdCBzaG91bGQgdGhyb3ciKTsK
LQotICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gICAgdGFbMF07Ci0g
IH0pOworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIFJlZmxlY3QuZGVmaW5lUHJvcGVydHkodGEs
IDAsIGRlc2MpLAorICAgIGZhbHNlLAorICAgICdSZWZsZWN0LmRlZmluZVByb3BlcnR5KHRhLCAw
LCB7dmFsdWU6IHt2YWx1ZU9mKCkgeyRERVRBQ0hCVUZGRVIodGEuYnVmZmVyKTsgcmV0dXJuIDQy
O319fSApIG11c3QgcmV0dXJuIGZhbHNlJworICApOworICBhc3NlcnQuc2FtZVZhbHVlKHRhWzBd
LCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2YgdGFbMF0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgYHVu
ZGVmaW5lZGAnKTsKIH0pOwogCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL0JpZ0ludC9kZXRh
Y2hlZC1idWZmZXIta2V5LWlzLW5vdC1udW1lcmljLWluZGV4LmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9C
aWdJbnQvZGV0YWNoZWQtYnVmZmVyLWtleS1pcy1ub3QtbnVtZXJpYy1pbmRleC5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40MDM1ODUzNGM5N2Q1NWQwMTNhNTM2YmIyZmYwYjNlZDkwOTMwZjUyCi0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9CaWdJbnQvZGV0YWNoZWQtYnVmZmVyLWtleS1pcy1ub3Qt
bnVtZXJpYy1pbmRleC5qcwpAQCAtMCwwICsxLDMyIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAg
UmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0K
K2VzaWQ6IHNlYy1pbnRlZ2VyLWluZGV4ZWQtZXhvdGljLW9iamVjdHMtZGVsZXRlLXAKK2Rlc2Ny
aXB0aW9uOiA+CisgIFJldHVybnMgdHJ1ZSB3aGVuIGRlbGV0aW5nIGFueSBwcm9wZXJ0eSBpZiBi
dWZmZXIgaXMgZGV0YWNoZWQuCitpbmZvOiB8CisgIFtbRGVsZXRlXV0gKFApCisKKyAgLi4uCisg
IEFzc2VydDogSXNQcm9wZXJ0eUtleShQKSBpcyB0cnVlLgorICBBc3NlcnQ6IE8gaXMgYW4gSW50
ZWdlci1JbmRleGVkIGV4b3RpYyBvYmplY3QuCisgIElmIFR5cGUoUCkgaXMgU3RyaW5nLCB0aGVu
CisgICAgTGV0IG51bWVyaWNJbmRleCBiZSAhIENhbm9uaWNhbE51bWVyaWNJbmRleFN0cmluZyhQ
KS4KKyAgICBJZiBudW1lcmljSW5kZXggaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgSWYg
SXNEZXRhY2hlZEJ1ZmZlcihPLltbVmlld2VkQXJyYXlCdWZmZXJdXSkgaXMgdHJ1ZSwgcmV0dXJu
IHRydWUuCisgICAgLi4uCisgIFJldHVybiA/IE9yZGluYXJ5RGVsZXRlKE8sIFApCitpbmNsdWRl
czogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzLCBkZXRhY2hBcnJheUJ1ZmZlci5qc10KK2ZlYXR1
cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBC
aWdJbnQsIFR5cGVkQXJyYXldCistLS0qLworCit0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKKyAgdmFyIHNhbXBsZSA9IG5ldyBUQSgxKTsKKyAgc2Ft
cGxlLnN0cmluZyA9ICJ0ZXN0MjYyIjsKKworICAkREVUQUNIQlVGRkVSKHNhbXBsZS5idWZmZXIp
OworCisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNhbXBsZS5zdHJpbmcsIHRydWUsICdUaGUg
dmFsdWUgb2YgYGRlbGV0ZSBzYW1wbGUuc3RyaW5nYCBpcyB0cnVlJyk7CisgIGFzc2VydC5zYW1l
VmFsdWUoZGVsZXRlIHNhbXBsZS51bmRlZiwgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNh
bXBsZS51bmRlZmAgaXMgdHJ1ZScpOworICBhc3NlcnQuc2FtZVZhbHVlKGRlbGV0ZSBzYW1wbGVb
MF0sIHRydWUsICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBzYW1wbGVbMF1gIGlzIHRydWUnKTsKK30p
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlD
b25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9CaWdJbnQvZGV0YWNoZWQtYnVmZmVyLWtleS1p
cy1zeW1ib2wuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNv
bnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL0JpZ0ludC9kZXRhY2hlZC1idWZmZXIta2V5LWlz
LXN5bWJvbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZjYyYWUzZjY1M2Q5NGM5YWUwYWNkODFkMzY5Y2Q3NzFi
MGU1OTNlCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9CaWdJbnQvZGV0YWNoZWQt
YnVmZmVyLWtleS1pcy1zeW1ib2wuanMKQEAgLTAsMCArMSwyOCBAQAorLy8gQ29weXJpZ2h0IChD
KSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
Ky8qLS0tCitlc2lkOiBzZWMtaW50ZWdlci1pbmRleGVkLWV4b3RpYy1vYmplY3RzLWRlbGV0ZS1w
CitkZXNjcmlwdGlvbjogPgorICBDYWxscyBPcmRpbmFyeURlbGV0ZSB3aGVuIGtleSBpcyBhIFN5
bWJvbC4KK2luZm86IHwKKyAgW1tEZWxldGVdXSAoUCkKKworICAuLi4KKyAgQXNzZXJ0OiBJc1By
b3BlcnR5S2V5KFApIGlzIHRydWUuCisgIEFzc2VydDogTyBpcyBhbiBJbnRlZ2VyLUluZGV4ZWQg
ZXhvdGljIG9iamVjdC4KKyAgSWYgVHlwZShQKSBpcyBTdHJpbmcsIHRoZW4KKyAgICAuLi4KKyAg
UmV0dXJuID8gT3JkaW5hcnlEZWxldGUoTywgUCkuCitpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5
LmpzLCBkZXRhY2hBcnJheUJ1ZmZlci5qc10KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVm
ZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBTeW1ib2wsIFR5cGVkQXJyYXldCistLS0q
LworCit0ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKKyAgbGV0
IHNhbXBsZSA9IG5ldyBUQSgxKTsKKyAgJERFVEFDSEJVRkZFUihzYW1wbGUuYnVmZmVyKTsKKwor
ICBsZXQgcyA9IFN5bWJvbCgiMSIpOworCisgIHNhbXBsZVtzXSA9IDE7CisgIGFzc2VydC5zYW1l
VmFsdWUoZGVsZXRlIHNhbXBsZVtzXSwgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBs
ZVtzXWAgaXMgdHJ1ZScpOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL0JpZ0ludC9k
ZXRhY2hlZC1idWZmZXItcmVhbG0uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL0JpZ0ludC9kZXRhY2hlZC1i
dWZmZXItcmVhbG0uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2QzZWI5ODVmOWRjMGViNjAzNDU0MDI0MDc4MmMy
MDA5YTczNDBmNAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvQmlnSW50L2RldGFj
aGVkLWJ1ZmZlci1yZWFsbS5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyot
LS0KK2VzaWQ6IHNlYy1pbnRlZ2VyLWluZGV4ZWQtZXhvdGljLW9iamVjdHMtZGVsZXRlLXAKK2Rl
c2NyaXB0aW9uOiA+CisgIFJldHVybnMgdHJ1ZSB3aGVuIGRlbGV0aW5nIGFueSBwcm9wZXJ0eSBp
ZiBidWZmZXIgaXMgZGV0YWNoZWQKKyAgKGhvbm9yaW5nIHRoZSBSZWFsbSBvZiB0aGUgY3VycmVu
dCBleGVjdXRpb24gY29udGV4dCkKK2luZm86IHwKKyAgW1tEZWxldGVdXSAoUCkKKworICAuLi4K
KyAgQXNzZXJ0OiBJc1Byb3BlcnR5S2V5KFApIGlzIHRydWUuCisgIEFzc2VydDogTyBpcyBhbiBJ
bnRlZ2VyLUluZGV4ZWQgZXhvdGljIG9iamVjdC4KKyAgSWYgVHlwZShQKSBpcyBTdHJpbmcsIHRo
ZW4KKyAgICBMZXQgbnVtZXJpY0luZGV4IGJlICEgQ2Fub25pY2FsTnVtZXJpY0luZGV4U3RyaW5n
KFApLgorICAgIElmIG51bWVyaWNJbmRleCBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICBJ
ZiBJc0RldGFjaGVkQnVmZmVyKE8uW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dKSBpcyB0cnVlLCByZXR1
cm4gdHJ1ZS4KKworICAuLi4KK2luY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXkuanMsIGRldGFjaEFy
cmF5QnVmZmVyLmpzXQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNz
LXdpdGgtd2ViLXJlYWxpdHksIGNyb3NzLXJlYWxtLCBUeXBlZEFycmF5XQorLS0tKi8KKwordmFy
IG90aGVyID0gJDI2Mi5jcmVhdGVSZWFsbSgpLmdsb2JhbDsKKwordGVzdFdpdGhUeXBlZEFycmF5
Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CisgIHZhciBPdGhlclRBID0gb3RoZXJbVEEubmFt
ZV07CisgIHZhciBzYW1wbGUgPSBuZXcgT3RoZXJUQSgxKTsKKworICAkREVUQUNIQlVGRkVSKHNh
bXBsZS5idWZmZXIpOworCisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNhbXBsZVswXSwgdHJ1
ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVswXWAgaXMgdHJ1ZScpOworfSk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9pbnRlcm5hbHMvRGVsZXRlL0JpZ0ludC9kZXRhY2hlZC1idWZmZXIuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMv
RGVsZXRlL0JpZ0ludC9kZXRhY2hlZC1idWZmZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjUxNmYyYTVlN2Yz
NzQ4NjI3ZjQ2MWJkZTVkOGQ0N2FiYWMyODEyZAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9E
ZWxldGUvQmlnSW50L2RldGFjaGVkLWJ1ZmZlci5qcwpAQCAtMCwwICsxLDMxIEBACisvLyBDb3B5
cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhp
cyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5T
RSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1pbnRlZ2VyLWluZGV4ZWQtZXhvdGljLW9iamVjdHMt
ZGVsZXRlLXAKK2Rlc2NyaXB0aW9uOiA+CisgIFJldHVybnMgdHJ1ZSB3aGVuIGRlbGV0aW5nIGFu
eSBwcm9wZXJ0eSBpZiBidWZmZXIgaXMgZGV0YWNoZWQuCitpbmZvOiB8CisgIFtbRGVsZXRlXV0g
KFApCisKKyAgLi4uCisgIEFzc2VydDogSXNQcm9wZXJ0eUtleShQKSBpcyB0cnVlLgorICBBc3Nl
cnQ6IE8gaXMgYW4gSW50ZWdlci1JbmRleGVkIGV4b3RpYyBvYmplY3QuCisgIElmIFR5cGUoUCkg
aXMgU3RyaW5nLCB0aGVuCisgICAgTGV0IG51bWVyaWNJbmRleCBiZSAhIENhbm9uaWNhbE51bWVy
aWNJbmRleFN0cmluZyhQKS4KKyAgICBJZiBudW1lcmljSW5kZXggaXMgbm90IHVuZGVmaW5lZCwg
dGhlbgorICAgICAgSWYgSXNEZXRhY2hlZEJ1ZmZlcihPLltbVmlld2VkQXJyYXlCdWZmZXJdXSkg
aXMgdHJ1ZSwgcmV0dXJuIHRydWUuCisgIC4uLgoraW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlwZWRB
cnJheS5qcywgZGV0YWNoQXJyYXlCdWZmZXIuanNdCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVk
LWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgQmlnSW50LCBUeXBlZEFycmF5XQor
LS0tKi8KKwordGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRB
KSB7CisgIHZhciBzYW1wbGUgPSBuZXcgVEEoMSk7CisgICRERVRBQ0hCVUZGRVIoc2FtcGxlLmJ1
ZmZlcik7CisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNhbXBsZVswXSwgdHJ1ZSwgJ1RoZSB2
YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVswXWAgaXMgdHJ1ZScpOworICBhc3NlcnQuc2FtZVZhbHVl
KGRlbGV0ZSBzYW1wbGVbIjEuMSJdLCB0cnVlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUgc2FtcGxl
WyIxLjEiXWAgaXMgdHJ1ZScpOworICBhc3NlcnQuc2FtZVZhbHVlKGRlbGV0ZSBzYW1wbGVbIi0w
Il0sIHRydWUsICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBzYW1wbGVbIi0wIl1gIGlzIHRydWUnKTsK
KyAgYXNzZXJ0LnNhbWVWYWx1ZShkZWxldGUgc2FtcGxlWyItMSJdLCB0cnVlLCAnVGhlIHZhbHVl
IG9mIGBkZWxldGUgc2FtcGxlWyItMSJdYCBpcyB0cnVlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUo
ZGVsZXRlIHNhbXBsZVsiMSJdLCB0cnVlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUgc2FtcGxlWyIx
Il1gIGlzIHRydWUnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShkZWxldGUgc2FtcGxlWyIyIl0sIHRy
dWUsICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBzYW1wbGVbIjIiXWAgaXMgdHJ1ZScpOworfSk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL0JpZ0ludC9pbmRleGVkLXZhbHVlLWFiLW5vbi1zdHJp
Y3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9pbnRlcm5hbHMvRGVsZXRlL0JpZ0ludC9pbmRleGVkLXZhbHVlLWFiLW5vbi1zdHJpY3Qu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzBlMTQ0OTk4NDFkYzljOTcyZGFiYTlkNDhmNDZlZWZlMTAzMTQ5NQot
LS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFy
cmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvQmlnSW50L2luZGV4ZWQtdmFsdWUtYWIt
bm9uLXN0cmljdC5qcwpAQCAtMCwwICsxLDQ0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmlj
ayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVk
IGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2Vz
aWQ6IHNlYy1pbnRlZ2VyLWluZGV4ZWQtZXhvdGljLW9iamVjdHMtZGVsZXRlLXAKK2Rlc2NyaXB0
aW9uOiA+CisgIFJldHVybiB2YWx1ZSBmcm9tIHZhbGlkIG51bWVyaWMgaW5kZXgKK2luZm86IHwK
KyAgW1tEZWxldGVdXSAoUCkKKworICAuLi4KKyAgQXNzZXJ0OiBJc1Byb3BlcnR5S2V5KFApIGlz
IHRydWUuCisgIEFzc2VydDogTyBpcyBhbiBJbnRlZ2VyLUluZGV4ZWQgZXhvdGljIG9iamVjdC4K
KyAgSWYgVHlwZShQKSBpcyBTdHJpbmcsIHRoZW4KKyAgICBMZXQgbnVtZXJpY0luZGV4IGJlICEg
Q2Fub25pY2FsTnVtZXJpY0luZGV4U3RyaW5nKFApLgorICAgIElmIG51bWVyaWNJbmRleCBpcyBu
b3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICBJZiBJc0RldGFjaGVkQnVmZmVyKE8uW1tWaWV3ZWRB
cnJheUJ1ZmZlcl1dKSBpcyB0cnVlLCByZXR1cm4gdHJ1ZS4KKyAgICAgIElmICEgSXNWYWxpZElu
dGVnZXJJbmRleChPLCBudW1lcmljSW5kZXgpIGlzIGZhbHNlLCByZXR1cm4gdHJ1ZS4KKyAgICAg
IFJldHVybiBmYWxzZS4KKyAgICAgICAgLi4uCitmbGFnczogW25vU3RyaWN0XQoraW5jbHVkZXM6
IFt0ZXN0QmlnSW50VHlwZWRBcnJheS5qc10KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVm
ZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBCaWdJbnQsIFR5cGVkQXJyYXldCistLS0q
LworCit0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsK
KyAgbGV0IHByb3RvID0gVHlwZWRBcnJheS5wcm90b3R5cGU7CisgIGxldCBkZXNjcmlwdG9yR2V0
dGVyVGhyb3dzID0geworICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKKyAgICBnZXQoKSB7CisgICAg
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJPcmRpbmFyeUdldCB3YXMgY2FsbGVkISIpOworICAg
IH0KKyAgfTsKKyAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMocHJvdG8sIHsKKyAgICBbIjAiXTog
ZGVzY3JpcHRvckdldHRlclRocm93cywKKyAgICBbIjEiXTogZGVzY3JpcHRvckdldHRlclRocm93
cywKKyAgfSk7CisKKyAgbGV0IHNhbXBsZSA9IG5ldyBUQSgyKTsKKworICBhc3NlcnQuc2FtZVZh
bHVlKGRlbGV0ZSBzYW1wbGVbIjAiXSwgZmFsc2UsICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBzYW1w
bGVbIjAiXWAgaXMgZmFsc2UnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShkZWxldGUgc2FtcGxlWzBd
LCBmYWxzZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVswXWAgaXMgZmFsc2UnKTsKKyAg
YXNzZXJ0LnNhbWVWYWx1ZShkZWxldGUgc2FtcGxlWyIxIl0sIGZhbHNlLCAnVGhlIHZhbHVlIG9m
IGBkZWxldGUgc2FtcGxlWyIxIl1gIGlzIGZhbHNlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoZGVs
ZXRlIHNhbXBsZVsxXSwgZmFsc2UsICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBzYW1wbGVbMV1gIGlz
IGZhbHNlJyk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvQmlnSW50L2luZGV4ZWQt
dmFsdWUtYWItc3RyaWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9CaWdJbnQvaW5kZXhlZC12YWx1ZS1h
Yi1zdHJpY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmJiNjk1OWUzNzdhY2YxMmVlYWZkYzMyYzE3Nzg2ZTM2
ZjIxYjg1ZAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvQmlnSW50L2luZGV4ZWQt
dmFsdWUtYWItc3RyaWN0LmpzCkBAIC0wLDAgKzEsNTIgQEAKKy8vIENvcHlyaWdodCAoQykgMjAy
MCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0t
LQorZXNpZDogc2VjLWludGVnZXItaW5kZXhlZC1leG90aWMtb2JqZWN0cy1kZWxldGUtcAorZGVz
Y3JpcHRpb246ID4KKyAgUmV0dXJuIHZhbHVlIGZyb20gdmFsaWQgbnVtZXJpYyBpbmRleAoraW5m
bzogfAorICBbW0RlbGV0ZV1dIChQKQorCisgIC4uLgorICBBc3NlcnQ6IElzUHJvcGVydHlLZXko
UCkgaXMgdHJ1ZS4KKyAgQXNzZXJ0OiBPIGlzIGFuIEludGVnZXItSW5kZXhlZCBleG90aWMgb2Jq
ZWN0LgorICBJZiBUeXBlKFApIGlzIFN0cmluZywgdGhlbgorICAgIExldCBudW1lcmljSW5kZXgg
YmUgISBDYW5vbmljYWxOdW1lcmljSW5kZXhTdHJpbmcoUCkuCisgICAgSWYgbnVtZXJpY0luZGV4
IGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAgICAgIElmIElzRGV0YWNoZWRCdWZmZXIoTy5bW1Zp
ZXdlZEFycmF5QnVmZmVyXV0pIGlzIHRydWUsIHJldHVybiB0cnVlLgorICAgICAgSWYgISBJc1Zh
bGlkSW50ZWdlckluZGV4KE8sIG51bWVyaWNJbmRleCkgaXMgZmFsc2UsIHJldHVybiB0cnVlLgor
ICAgICAgUmV0dXJuIGZhbHNlLgorICAgICAgICAuLi4KK2ZsYWdzOiBbb25seVN0cmljdF0KK2lu
Y2x1ZGVzOiBbdGVzdEJpZ0ludFR5cGVkQXJyYXkuanNdCitmZWF0dXJlczogW2FsaWduLWRldGFj
aGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgQmlnSW50LCBUeXBlZEFycmF5
XQorLS0tKi8KKwordGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9u
KFRBKSB7CisgIGxldCBwcm90byA9IFR5cGVkQXJyYXkucHJvdG90eXBlOworICBsZXQgZGVzY3Jp
cHRvckdldHRlclRocm93cyA9IHsKKyAgICBjb25maWd1cmFibGU6IHRydWUsCisgICAgZ2V0KCkg
eworICAgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiT3JkaW5hcnlHZXQgd2FzIGNhbGxlZCEi
KTsKKyAgICB9CisgIH07CisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHByb3RvLCB7CisgICAg
WyIwIl06IGRlc2NyaXB0b3JHZXR0ZXJUaHJvd3MsCisgICAgWyIxIl06IGRlc2NyaXB0b3JHZXR0
ZXJUaHJvd3MsCisgIH0pOworCisgIGxldCBzYW1wbGUgPSBuZXcgVEEoMik7CisKKyAgYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgICBkZWxldGUgc2FtcGxlWyIwIl07CisgIH0s
ICdgZGVsZXRlIHNhbXBsZVsiMCJdYCB0aHJvd3MgVHlwZUVycm9yJyk7CisgIGFzc2VydC50aHJv
d3MoVHlwZUVycm9yLCAoKSA9PiB7CisgICAgZGVsZXRlIHNhbXBsZVsiMSJdOworICB9LCAnYGRl
bGV0ZSBzYW1wbGVbIjEiXWAgdGhyb3dzIFR5cGVFcnJvcicpOworICBhc3NlcnQudGhyb3dzKFR5
cGVFcnJvciwgKCkgPT4geworICAgIGRlbGV0ZSBzYW1wbGVbMF07CisgIH0sICdgZGVsZXRlIHNh
bXBsZVswXWAgdGhyb3dzIFR5cGVFcnJvcicpOworICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
KCkgPT4geworICAgIGRlbGV0ZSBzYW1wbGVbMF07CisgIH0sICdgZGVsZXRlIHNhbXBsZVswXWAg
dGhyb3dzIFR5cGVFcnJvcicpOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL0JpZ0lu
dC9pbmRleGVkLXZhbHVlLXNhYi1ub24tc3RyaWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9CaWdJbnQv
aW5kZXhlZC12YWx1ZS1zYWItbm9uLXN0cmljdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZTFmMzU1ZmVlNzFi
MDhiNjlmMzUwYTQzYzc5NzY1M2FmNDNjOGU0Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0Rl
bGV0ZS9CaWdJbnQvaW5kZXhlZC12YWx1ZS1zYWItbm9uLXN0cmljdC5qcwpAQCAtMCwwICsxLDMy
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gQ29weXJpZ2h0IChDKSAyMDE3IE1vemlsbGEgQ29ycG9yYXRpb24uIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLWludGVnZXItaW5k
ZXhlZC1leG90aWMtb2JqZWN0cy1kZWxldGUtcAorZGVzY3JpcHRpb246ID4KKyAgUmV0dXJuIHZh
bHVlIGZyb20gdmFsaWQgbnVtZXJpYyBpbmRleCwgd2l0aCBTaGFyZWRBcnJheUJ1ZmZlcgorZmxh
Z3M6IFtub1N0cmljdF0KK2luY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXkuanNdCitmZWF0dXJlczog
W2FsaWduLWRldGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgVHlwZWRB
cnJheSwgU2hhcmVkQXJyYXlCdWZmZXJdCistLS0qLworCit0ZXN0V2l0aFR5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKKyAgbGV0IHByb3RvID0gVHlwZWRBcnJheS5wcm90b3R5
cGU7CisgIGxldCBkZXNjcmlwdG9yR2V0dGVyVGhyb3dzID0geworICAgIGNvbmZpZ3VyYWJsZTog
dHJ1ZSwKKyAgICBnZXQoKSB7CisgICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJPcmRpbmFy
eUdldCB3YXMgY2FsbGVkISIpOworICAgIH0KKyAgfTsKKyAgT2JqZWN0LmRlZmluZVByb3BlcnRp
ZXMocHJvdG8sIHsKKyAgICBbIjAiXTogZGVzY3JpcHRvckdldHRlclRocm93cywKKyAgICBbIjEi
XTogZGVzY3JpcHRvckdldHRlclRocm93cywKKyAgfSk7CisgIGxldCBzYWIgPSBuZXcgU2hhcmVk
QXJyYXlCdWZmZXIoVEEuQllURVNfUEVSX0VMRU1FTlQgKiAyKTsKKyAgbGV0IHNhbXBsZSA9IG5l
dyBUQShzYWIpOworCisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNhbXBsZVsiMCJdLCBmYWxz
ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVsiMCJdYCBpcyBmYWxzZScpOworICBhc3Nl
cnQuc2FtZVZhbHVlKGRlbGV0ZSBzYW1wbGVbMF0sIGZhbHNlLCAnVGhlIHZhbHVlIG9mIGBkZWxl
dGUgc2FtcGxlWyIwIl1gIGlzIGZhbHNlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNh
bXBsZVsiMSJdLCBmYWxzZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVsiMSJdYCBpcyBm
YWxzZScpOworICBhc3NlcnQuc2FtZVZhbHVlKGRlbGV0ZSBzYW1wbGVbMV0sIGZhbHNlLCAnVGhl
IHZhbHVlIG9mIGBkZWxldGUgc2FtcGxlWyIxIl1gIGlzIGZhbHNlJyk7Cit9KTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3Jz
L2ludGVybmFscy9EZWxldGUvQmlnSW50L2luZGV4ZWQtdmFsdWUtc2FiLXN0cmljdC5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVy
bmFscy9EZWxldGUvQmlnSW50L2luZGV4ZWQtdmFsdWUtc2FiLXN0cmljdC5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jMTRlMjZkZDA4ODc4MWRhNjE2ZDMwMmY3NWJiNzBhYmI4MmI1YmU1Ci0tLSAvZGV2L251bGwK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3Rv
cnMvaW50ZXJuYWxzL0RlbGV0ZS9CaWdJbnQvaW5kZXhlZC12YWx1ZS1zYWItc3RyaWN0LmpzCkBA
IC0wLDAgKzEsNDAgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTcgTW96aWxsYSBDb3Jwb3JhdGlv
bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMt
aW50ZWdlci1pbmRleGVkLWV4b3RpYy1vYmplY3RzLWRlbGV0ZS1wCitkZXNjcmlwdGlvbjogPgor
ICBUaHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiBpbiBzdHJpY3QgbW9kZS4KK2ZsYWdzOiBbb25s
eVN0cmljdF0KK2luY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXkuanNdCitmZWF0dXJlczogW2FsaWdu
LWRldGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgVHlwZWRBcnJheSwg
U2hhcmVkQXJyYXlCdWZmZXJdCistLS0qLworCit0ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1Y3Rv
cnMoZnVuY3Rpb24oVEEpIHsKKyAgbGV0IHByb3RvID0gVHlwZWRBcnJheS5wcm90b3R5cGU7Cisg
IGxldCBkZXNjcmlwdG9yR2V0dGVyVGhyb3dzID0geworICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwK
KyAgICBnZXQoKSB7CisgICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJPcmRpbmFyeUdldCB3
YXMgY2FsbGVkISIpOworICAgIH0KKyAgfTsKKyAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMocHJv
dG8sIHsKKyAgICBbIjAiXTogZGVzY3JpcHRvckdldHRlclRocm93cywKKyAgICBbIjEiXTogZGVz
Y3JpcHRvckdldHRlclRocm93cywKKyAgfSk7CisgIGxldCBzYWIgPSBuZXcgU2hhcmVkQXJyYXlC
dWZmZXIoVEEuQllURVNfUEVSX0VMRU1FTlQgKiAyKTsKKyAgbGV0IHNhbXBsZSA9IG5ldyBUQShz
YWIpOworCisgIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgICAgZGVsZXRlIHNh
bXBsZVsiMCJdOworICB9KTsKKyAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAg
ICBkZWxldGUgc2FtcGxlWzBdOworICB9KTsKKyAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgp
ID0+IHsKKyAgICBkZWxldGUgc2FtcGxlWyIxIl07CisgIH0pOworICBhc3NlcnQudGhyb3dzKFR5
cGVFcnJvciwgKCkgPT4geworICAgIGRlbGV0ZSBzYW1wbGVbMV07CisgIH0pOworfSk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9pbnRlcm5hbHMvRGVsZXRlL0JpZ0ludC9pbmZpbml0eS1kZXRhY2hlZC1idWZmZXIuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9p
bnRlcm5hbHMvRGVsZXRlL0JpZ0ludC9pbmZpbml0eS1kZXRhY2hlZC1idWZmZXIuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzY1NGJkNmI1YTc4MjY5OWFjYTE5YjgwNGI3N2MzZjQ3ZjFlZmUyNAotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3Ry
dWN0b3JzL2ludGVybmFscy9EZWxldGUvQmlnSW50L2luZmluaXR5LWRldGFjaGVkLWJ1ZmZlci5q
cwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWlu
dGVnZXJpbmRleGVkZWxlbWVudGdldAorZGVzY3JpcHRpb246ID4KKyAgIkluZmluaXR5IiBpcyBh
IGNhbm9uaWNhbCBudW1lcmljIHN0cmluZy4gUmV0dXJucyB0cnVlIHdoZW4gZGVsZXRpbmcgYW55
IHByb3BlcnR5IGlmIGJ1ZmZlciBpcyBkZXRhY2hlZC4KK2luZm86IHwKKyAgW1tEZWxldGVdXSAo
IFAsIFJlY2VpdmVyICkKKyAgLi4uCisgIEFzc2VydDogSXNQcm9wZXJ0eUtleShQKSBpcyB0cnVl
LgorICBBc3NlcnQ6IE8gaXMgYW4gSW50ZWdlci1JbmRleGVkIGV4b3RpYyBvYmplY3QuCisgIElm
IFR5cGUoUCkgaXMgU3RyaW5nLCB0aGVuCisgICAgTGV0IG51bWVyaWNJbmRleCBiZSAhIENhbm9u
aWNhbE51bWVyaWNJbmRleFN0cmluZyhQKS4KKyAgICBJZiBudW1lcmljSW5kZXggaXMgbm90IHVu
ZGVmaW5lZCwgdGhlbgorICAgICAgSWYgSXNEZXRhY2hlZEJ1ZmZlcihPLltbVmlld2VkQXJyYXlC
dWZmZXJdXSkgaXMgdHJ1ZSwgcmV0dXJuIHRydWUuCisKKyAgQ2Fub25pY2FsTnVtZXJpY0luZGV4
U3RyaW5nICggYXJndW1lbnQgKQorICAgIC4uLgorICAgIExldCBuIGJlICEgVG9OdW1iZXIoYXJn
dW1lbnQpLgorICAgIElmIFNhbWVWYWx1ZSghIFRvU3RyaW5nKG4pLCBhcmd1bWVudCkgaXMgZmFs
c2UsIHJldHVybiB1bmRlZmluZWQuCisgICAgUmV0dXJuIG4uCisKK2luY2x1ZGVzOiBbdGVzdEJp
Z0ludFR5cGVkQXJyYXkuanMsIGRldGFjaEFycmF5QnVmZmVyLmpzXQorZmVhdHVyZXM6IFthbGln
bi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIEJpZ0ludCwgVHlw
ZWRBcnJheV0KKy0tLSovCisKK3Rlc3RXaXRoQmlnSW50VHlwZWRBcnJheUNvbnN0cnVjdG9ycyhm
dW5jdGlvbihUQSkgeworICB2YXIgc2FtcGxlID0gbmV3IFRBKDEpOworICAkREVUQUNIQlVGRkVS
KHNhbXBsZS5idWZmZXIpOworCisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNhbXBsZS5JbmZp
bml0eSwgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZS5JbmZpbml0eWAgaXMgdHJ1
ZScpOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL0JpZ0ludC9rZXktaXMtbm90LWNh
bm9uaWNhbC1pbmRleC1ub24tc3RyaWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9CaWdJbnQva2V5LWlz
LW5vdC1jYW5vbmljYWwtaW5kZXgtbm9uLXN0cmljdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NDA2NDhhZWU5
YzYyYzYzMzYxOTJmOTkzNDYyYzUyY2UyODcwOTU4Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxz
L0RlbGV0ZS9CaWdJbnQva2V5LWlzLW5vdC1jYW5vbmljYWwtaW5kZXgtbm9uLXN0cmljdC5qcwpA
QCAtMCwwICsxLDY3IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1pbnRlZ2Vy
LWluZGV4ZWQtZXhvdGljLW9iamVjdHMtZGVsZXRlLXAKK2Rlc2NyaXB0aW9uOiA+CisgIFJldHVy
biB0cnVlIGlmIGtleSBpcyBub3QgYSBDYW5vbmljYWxOdW1lcmljSW5kZXguCitpbmZvOiB8Cisg
IFtbRGVsZXRlXV0gKFApCisKKyAgLi4uCisgIEFzc2VydDogSXNQcm9wZXJ0eUtleShQKSBpcyB0
cnVlLgorICBBc3NlcnQ6IE8gaXMgYW4gSW50ZWdlci1JbmRleGVkIGV4b3RpYyBvYmplY3QuCisg
IElmIFR5cGUoUCkgaXMgU3RyaW5nLCB0aGVuCisgICAgTGV0IG51bWVyaWNJbmRleCBiZSAhIENh
bm9uaWNhbE51bWVyaWNJbmRleFN0cmluZyhQKS4KKyAgICBJZiBudW1lcmljSW5kZXggaXMgbm90
IHVuZGVmaW5lZCwgdGhlbgorICAgICAgSWYgSXNEZXRhY2hlZEJ1ZmZlcihPLltbVmlld2VkQXJy
YXlCdWZmZXJdXSkgaXMgdHJ1ZSwgcmV0dXJuIHRydWUuCisgICAgICBJZiAhIElzVmFsaWRJbnRl
Z2VySW5kZXgoTywgbnVtZXJpY0luZGV4KSBpcyBmYWxzZSwgcmV0dXJuIHRydWUuCisgICAgICBS
ZXR1cm4gZmFsc2UuCisgICAgLi4uCisgIFJldHVybiA/IE9yZGluYXJ5RGVsZXRlKE8sIFApLgor
ZmxhZ3M6IFtub1N0cmljdF0KK2luY2x1ZGVzOiBbdGVzdEJpZ0ludFR5cGVkQXJyYXkuanNdCitm
ZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0
eSwgQmlnSW50LCBUeXBlZEFycmF5XQorLS0tKi8KKwordGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5
Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CisgIHZhciBrZXlzID0gWworICAgICIxLjAiLAor
ICAgICIrMSIsCisgICAgIjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLAorICAgICIwLjAwMDAwMDEi
CisgIF07CisKKyAga2V5cy5mb3JFYWNoKChrZXkpID0+IHsKKyAgICB2YXIgc2FtcGxlID0gbmV3
IFRBKCk7IC8vIDwtIGludGVudGlvbmFsbHkgZW1wdHkKKworICAgIGFzc2VydC5zYW1lVmFsdWUo
CisgICAgICBkZWxldGUgc2FtcGxlW2tleV0sIHRydWUsCisgICAgICAnVGhlIHZhbHVlIG9mIGBk
ZWxldGUgc2FtcGxlW2tleV1gIGlzIHRydWUnCisgICAgKTsKKworICAgIFR5cGVkQXJyYXkucHJv
dG90eXBlW2tleV0gPSBrZXk7CisKKyAgICBhc3NlcnQuc2FtZVZhbHVlKAorICAgICAgZGVsZXRl
IHNhbXBsZVtrZXldLAorICAgICAgdHJ1ZSwKKyAgICAgICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBz
YW1wbGVba2V5XWAgaXMgdHJ1ZScKKyAgICApOworCisgICAgc2FtcGxlW2tleV0gPSBrZXk7Cisg
ICAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICAgIGRlbGV0ZSBzYW1wbGVba2V5XSwgdHJ1ZSwKKyAg
ICAgICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBzYW1wbGVba2V5XWAgaXMgdHJ1ZScKKyAgICApOwor
CisgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNhbXBsZSwga2V5LCB7CisgICAgICBnZXQoKSB7
IHJldHVybiBrZXk7IH0KKyAgICB9KTsKKworICAgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgICBk
ZWxldGUgc2FtcGxlW2tleV0sIGZhbHNlLAorICAgICAgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNh
bXBsZVtrZXldYCBpcyBmYWxzZScKKyAgICApOworCisgICAgZGVsZXRlIFR5cGVkQXJyYXkucHJv
dG90eXBlW2tleV07CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL0JpZ0lu
dC9rZXktaXMtbm90LWNhbm9uaWNhbC1pbmRleC1zdHJpY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL0Jp
Z0ludC9rZXktaXMtbm90LWNhbm9uaWNhbC1pbmRleC1zdHJpY3QuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWYy
MTFlMmNlNGMzYjAyOWU5Njk3ZjhkNGYxMTMzNmRkOTJiNjMzMQotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2lu
dGVybmFscy9EZWxldGUvQmlnSW50L2tleS1pcy1ub3QtY2Fub25pY2FsLWluZGV4LXN0cmljdC5q
cwpAQCAtMCwwICsxLDY2IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1pbnRl
Z2VyLWluZGV4ZWQtZXhvdGljLW9iamVjdHMtZGVsZXRlLXAKK2Rlc2NyaXB0aW9uOiA+CisgIFJl
dHVybiB0cnVlIGlmIGtleSBpcyBub3QgYSBDYW5vbmljYWxOdW1lcmljSW5kZXguCitpbmZvOiB8
CisgIFtbRGVsZXRlXV0gKFApCisKKyAgLi4uCisgIEFzc2VydDogSXNQcm9wZXJ0eUtleShQKSBp
cyB0cnVlLgorICBBc3NlcnQ6IE8gaXMgYW4gSW50ZWdlci1JbmRleGVkIGV4b3RpYyBvYmplY3Qu
CisgIElmIFR5cGUoUCkgaXMgU3RyaW5nLCB0aGVuCisgICAgTGV0IG51bWVyaWNJbmRleCBiZSAh
IENhbm9uaWNhbE51bWVyaWNJbmRleFN0cmluZyhQKS4KKyAgICBJZiBudW1lcmljSW5kZXggaXMg
bm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgSWYgSXNEZXRhY2hlZEJ1ZmZlcihPLltbVmlld2Vk
QXJyYXlCdWZmZXJdXSkgaXMgdHJ1ZSwgcmV0dXJuIHRydWUuCisgICAgICBJZiAhIElzVmFsaWRJ
bnRlZ2VySW5kZXgoTywgbnVtZXJpY0luZGV4KSBpcyBmYWxzZSwgcmV0dXJuIHRydWUuCisgICAg
ICBSZXR1cm4gZmFsc2UuCisgICAgLi4uCisgIFJldHVybiA/IE9yZGluYXJ5RGVsZXRlKE8sIFAp
LgorZmxhZ3M6IFtvbmx5U3RyaWN0XQoraW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlwZWRBcnJheS5q
c10KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1y
ZWFsaXR5LCBCaWdJbnQsIFR5cGVkQXJyYXldCistLS0qLworCit0ZXN0V2l0aEJpZ0ludFR5cGVk
QXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKKyAgdmFyIGtleXMgPSBbCisgICAgIjEu
MCIsCisgICAgIisxIiwKKyAgICAiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsCisgICAgIjAuMDAw
MDAwMSIKKyAgXTsKKworICBrZXlzLmZvckVhY2goKGtleSkgPT4geworICAgIHZhciBzYW1wbGUg
PSBuZXcgVEEoKTsgLy8gPC0gaW50ZW50aW9uYWxseSBlbXB0eQorCisgICAgYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgICAgIGRlbGV0ZSBzYW1wbGVba2V5XSwgdHJ1ZSwKKyAgICAgICdUaGUgdmFsdWUg
b2YgYGRlbGV0ZSBzYW1wbGVba2V5XWAgaXMgdHJ1ZScKKyAgICApOworCisgICAgVHlwZWRBcnJh
eS5wcm90b3R5cGVba2V5XSA9IGtleTsKKworICAgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgICBk
ZWxldGUgc2FtcGxlW2tleV0sCisgICAgICB0cnVlLAorICAgICAgJ1RoZSB2YWx1ZSBvZiBgZGVs
ZXRlIHNhbXBsZVtrZXldYCBpcyB0cnVlJworICAgICk7CisKKyAgICBzYW1wbGVba2V5XSA9IGtl
eTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKAorICAgICAgZGVsZXRlIHNhbXBsZVtrZXldLCB0cnVl
LAorICAgICAgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVtrZXldYCBpcyB0cnVlJworICAg
ICk7CisKKyAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2FtcGxlLCBrZXksIHsKKyAgICAgIGdl
dCgpIHsgcmV0dXJuIGtleTsgfQorICAgIH0pOworCisgICAgYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsICgpID0+IHsKKyAgICAgIGRlbGV0ZSBzYW1wbGVba2V5XTsKKyAgICB9LCAnYGRlbGV0ZSBz
YW1wbGVba2V5XWAgdGhyb3dzIFR5cGVFcnJvcicpOworCisgICAgZGVsZXRlIFR5cGVkQXJyYXku
cHJvdG90eXBlW2tleV07CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL0Jp
Z0ludC9rZXktaXMtbm90LW1pbnVzLXplcm8tbm9uLXN0cmljdC5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUv
QmlnSW50L2tleS1pcy1ub3QtbWludXMtemVyby1ub24tc3RyaWN0LmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0
MDY2ZDg2NmNjMDg1MWZkNDA2MjJkNWY4NmQwMWQxMzg1ZTU4NzAKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9p
bnRlcm5hbHMvRGVsZXRlL0JpZ0ludC9rZXktaXMtbm90LW1pbnVzLXplcm8tbm9uLXN0cmljdC5q
cwpAQCAtMCwwICsxLDQ0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0Qg
bGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1pbnRl
Z2VyLWluZGV4ZWQtZXhvdGljLW9iamVjdHMtZGVsZXRlLXAKK2Rlc2NyaXB0aW9uOiA+CisgIFJl
dHVybiB0cnVlIGlmIGtleSBpcyBhIENhbm9uaWNhbE51bWVyaWNJbmRleCBhbmQgSXNWYWxpZElu
dGVnZXJJbmRleChPLCBudW1lcmljSW5kZXgpIGlzIGZhbHNlLgoraW5mbzogfAorICBbW0RlbGV0
ZV1dIChQKQorCisgIC4uLgorICBBc3NlcnQ6IElzUHJvcGVydHlLZXkoUCkgaXMgdHJ1ZS4KKyAg
QXNzZXJ0OiBPIGlzIGFuIEludGVnZXItSW5kZXhlZCBleG90aWMgb2JqZWN0LgorICBJZiBUeXBl
KFApIGlzIFN0cmluZywgdGhlbgorICAgIExldCBudW1lcmljSW5kZXggYmUgISBDYW5vbmljYWxO
dW1lcmljSW5kZXhTdHJpbmcoUCkuCisgICAgSWYgbnVtZXJpY0luZGV4IGlzIG5vdCB1bmRlZmlu
ZWQsIHRoZW4KKyAgICAgIElmIElzRGV0YWNoZWRCdWZmZXIoTy5bW1ZpZXdlZEFycmF5QnVmZmVy
XV0pIGlzIHRydWUsIHJldHVybiB0cnVlLgorICAgICAgSWYgISBJc1ZhbGlkSW50ZWdlckluZGV4
KE8sIG51bWVyaWNJbmRleCkgaXMgZmFsc2UsIHJldHVybiB0cnVlLgorICAgICAgUmV0dXJuIGZh
bHNlLgorCisgIC4uLgorCisgIEludGVnZXJJbmRleGVkRWxlbWVudEdldCAoIE8sIGluZGV4ICkK
KworICAuLi4KKyAgSWYgISBJc1ZhbGlkSW50ZWdlckluZGV4KE8sIGluZGV4KSBpcyBmYWxzZSwg
cmV0dXJuIHVuZGVmaW5lZC4KKyAgLi4uCitmbGFnczogW25vU3RyaWN0XQoraW5jbHVkZXM6IFt0
ZXN0QmlnSW50VHlwZWRBcnJheS5qc10KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVy
LXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBCaWdJbnQsIFR5cGVkQXJyYXldCistLS0qLwor
Cit0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKKyAg
bGV0IHByb3RvID0gVHlwZWRBcnJheS5wcm90b3R5cGU7CisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0
eShwcm90bywgIi0wIiwgeworICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKKyAgICBnZXQoKSB7Cisg
ICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJPcmRpbmFyeUdldCB3YXMgY2FsbGVkISIpOwor
ICAgIH0KKyAgfSk7CisgIGxldCBzYW1wbGUgPSBuZXcgVEEoMSk7CisKKyAgYXNzZXJ0LnNhbWVW
YWx1ZShkZWxldGUgc2FtcGxlWyItMCJdLCB0cnVlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUgc2Ft
cGxlWyItMCJdYCBpcyB0cnVlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNhbXBsZVst
MF0sIGZhbHNlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUgc2FtcGxlWy0wXWAgaXMgZmFsc2UnKTsK
K30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9CaWdJbnQva2V5LWlzLW5vdC1taW51cy16
ZXJvLXN0cmljdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvQmlnSW50L2tleS1pcy1ub3QtbWludXMtemVy
by1zdHJpY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDE2ZThjNWNkZTY1ZDljZjBjMTMwY2VjMDJhNTU5NDBk
ZGIwOGIyNgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvQmlnSW50L2tleS1pcy1u
b3QtbWludXMtemVyby1zdHJpY3QuanMKQEAgLTAsMCArMSw0NiBAQAorLy8gQ29weXJpZ2h0IChD
KSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
Ky8qLS0tCitlc2lkOiBzZWMtaW50ZWdlci1pbmRleGVkLWV4b3RpYy1vYmplY3RzLWRlbGV0ZS1w
CitkZXNjcmlwdGlvbjogPgorICBSZXR1cm4gdHJ1ZSBpZiBrZXkgaXMgYSBDYW5vbmljYWxOdW1l
cmljSW5kZXggYW5kIElzVmFsaWRJbnRlZ2VySW5kZXgoTywgbnVtZXJpY0luZGV4KSBpcyBmYWxz
ZS4KK2luZm86IHwKKyAgW1tEZWxldGVdXSAoUCkKKworICAuLi4KKyAgQXNzZXJ0OiBJc1Byb3Bl
cnR5S2V5KFApIGlzIHRydWUuCisgIEFzc2VydDogTyBpcyBhbiBJbnRlZ2VyLUluZGV4ZWQgZXhv
dGljIG9iamVjdC4KKyAgSWYgVHlwZShQKSBpcyBTdHJpbmcsIHRoZW4KKyAgICBMZXQgbnVtZXJp
Y0luZGV4IGJlICEgQ2Fub25pY2FsTnVtZXJpY0luZGV4U3RyaW5nKFApLgorICAgIElmIG51bWVy
aWNJbmRleCBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICBJZiBJc0RldGFjaGVkQnVmZmVy
KE8uW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dKSBpcyB0cnVlLCByZXR1cm4gdHJ1ZS4KKyAgICAgIElm
ICEgSXNWYWxpZEludGVnZXJJbmRleChPLCBudW1lcmljSW5kZXgpIGlzIGZhbHNlLCByZXR1cm4g
dHJ1ZS4KKyAgICAgIFJldHVybiBmYWxzZS4KKworICAuLi4KKworICBJbnRlZ2VySW5kZXhlZEVs
ZW1lbnRHZXQgKCBPLCBpbmRleCApCisKKyAgLi4uCisgIElmICEgSXNWYWxpZEludGVnZXJJbmRl
eChPLCBpbmRleCkgaXMgZmFsc2UsIHJldHVybiB1bmRlZmluZWQuCisgIC4uLgorZmxhZ3M6IFtv
bmx5U3RyaWN0XQoraW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlwZWRBcnJheS5qc10KK2ZlYXR1cmVz
OiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBCaWdJ
bnQsIFR5cGVkQXJyYXldCistLS0qLworCit0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMoZnVuY3Rpb24oVEEpIHsKKyAgbGV0IHByb3RvID0gVHlwZWRBcnJheS5wcm90b3R5cGU7
CisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIi0wIiwgeworICAgIGNvbmZpZ3VyYWJs
ZTogdHJ1ZSwKKyAgICBnZXQoKSB7CisgICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJPcmRp
bmFyeUdldCB3YXMgY2FsbGVkISIpOworICAgIH0KKyAgfSk7CisgIGxldCBzYW1wbGUgPSBuZXcg
VEEoMSk7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShkZWxldGUgc2FtcGxlWyItMCJdLCB0cnVlLCAn
VGhlIHZhbHVlIG9mIGBkZWxldGUgc2FtcGxlWyItMCJdYCBpcyB0cnVlJyk7CisgIGFzc2VydC50
aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgICAgZGVsZXRlIHNhbXBsZVstMF07CisgIH0sICdg
ZGVsZXRlIHNhbXBsZVstMF1gIHRocm93cyBUeXBlRXJyb3InKTsKK30pOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50
ZXJuYWxzL0RlbGV0ZS9CaWdJbnQva2V5LWlzLW5vdC1udW1lcmljLWluZGV4LWdldC10aHJvd3Mu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9y
cy9pbnRlcm5hbHMvRGVsZXRlL0JpZ0ludC9rZXktaXMtbm90LW51bWVyaWMtaW5kZXgtZ2V0LXRo
cm93cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mNGZmNDk2MjMxNDU0MzJlODU1NWYwMjMyMGUxNmYzYTZkNDI0
MGEyCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9CaWdJbnQva2V5LWlzLW5vdC1u
dW1lcmljLWluZGV4LWdldC10aHJvd3MuanMKQEAgLTAsMCArMSwzOCBAQAorLy8gQ29weXJpZ2h0
IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29k
ZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KKy8qLS0tCitlc2lkOiBzZWMtaW50ZWdlci1pbmRleGVkLWV4b3RpYy1vYmplY3RzLWRlbGV0
ZS1wCitkZXNjcmlwdGlvbjogPgorICBVc2UgT3JkaW5hcnlEZWxldGUgaWYga2V5IGlzIG5vdCBh
IENhbm9uaWNhbE51bWVyaWNJbmRleAoraW5mbzogfAorICBbW0RlbGV0ZV1dIChQKQorCisgIC4u
LgorICBBc3NlcnQ6IElzUHJvcGVydHlLZXkoUCkgaXMgdHJ1ZS4KKyAgQXNzZXJ0OiBPIGlzIGFu
IEludGVnZXItSW5kZXhlZCBleG90aWMgb2JqZWN0LgorICBJZiBUeXBlKFApIGlzIFN0cmluZywg
dGhlbgorICAgIExldCBudW1lcmljSW5kZXggYmUgISBDYW5vbmljYWxOdW1lcmljSW5kZXhTdHJp
bmcoUCkuCisgICAgSWYgbnVtZXJpY0luZGV4IGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAgICAg
IElmIElzRGV0YWNoZWRCdWZmZXIoTy5bW1ZpZXdlZEFycmF5QnVmZmVyXV0pIGlzIHRydWUsIHJl
dHVybiB0cnVlLgorICAgICAgSWYgISBJc1ZhbGlkSW50ZWdlckluZGV4KE8sIG51bWVyaWNJbmRl
eCkgaXMgZmFsc2UsIHJldHVybiB0cnVlLgorICAgICAgUmV0dXJuIGZhbHNlLgorICAgICAgLi4u
CisgIFJldHVybiA/IE9yZGluYXJ5RGVsZXRlKE8sIFApLgorCitpbmNsdWRlczogW3Rlc3RCaWdJ
bnRUeXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50
aWNzLXdpdGgtd2ViLXJlYWxpdHksIEJpZ0ludCwgVHlwZWRBcnJheV0KKy0tLSovCisKK3Rlc3RX
aXRoQmlnSW50VHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgeworICBsZXQgc2Ft
cGxlID0gbmV3IFRBKDEpOworCisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzYW1wbGUsICJmb28i
LCB7CisgICAgZ2V0KCkgeworICAgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOworICAgIH0K
KyAgfSk7CisKKyAgYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsICgpID0+IHsKKyAgICBzYW1w
bGUuZm9vOworICB9LCAnYHNhbXBsZS5mb29gIHRocm93cyBUZXN0MjYyRXJyb3InKTsKK30pOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9CaWdJbnQva2V5LWlzLW5vdC1udW1lcmljLWluZGV4
LW5vbi1zdHJpY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL0JpZ0ludC9rZXktaXMtbm90LW51bWVyaWMt
aW5kZXgtbm9uLXN0cmljdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNzA3ZWE3MjQyM2JkNTc3ZDZhMDk1NmJi
MWViMzk0NmYxMzRlOWEwCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9CaWdJbnQv
a2V5LWlzLW5vdC1udW1lcmljLWluZGV4LW5vbi1zdHJpY3QuanMKQEAgLTAsMCArMSw0NCBAQAor
Ly8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtaW50ZWdlci1pbmRleGVkLWV4b3RpYy1v
YmplY3RzLWRlbGV0ZS1wCitkZXNjcmlwdGlvbjogPgorICBVc2UgT3JkaW5hcnlEZWxldGUgaWYg
a2V5IGlzIG5vdCBhIENhbm9uaWNhbE51bWVyaWNJbmRleAoraW5mbzogfAorICBbW0RlbGV0ZV1d
IChQKQorCisgIC4uLgorICBBc3NlcnQ6IElzUHJvcGVydHlLZXkoUCkgaXMgdHJ1ZS4KKyAgQXNz
ZXJ0OiBPIGlzIGFuIEludGVnZXItSW5kZXhlZCBleG90aWMgb2JqZWN0LgorICBJZiBUeXBlKFAp
IGlzIFN0cmluZywgdGhlbgorICAgIExldCBudW1lcmljSW5kZXggYmUgISBDYW5vbmljYWxOdW1l
cmljSW5kZXhTdHJpbmcoUCkuCisgICAgSWYgbnVtZXJpY0luZGV4IGlzIG5vdCB1bmRlZmluZWQs
IHRoZW4KKyAgICAgIElmIElzRGV0YWNoZWRCdWZmZXIoTy5bW1ZpZXdlZEFycmF5QnVmZmVyXV0p
IGlzIHRydWUsIHJldHVybiB0cnVlLgorICAgICAgSWYgISBJc1ZhbGlkSW50ZWdlckluZGV4KE8s
IG51bWVyaWNJbmRleCkgaXMgZmFsc2UsIHJldHVybiB0cnVlLgorICAgICAgUmV0dXJuIGZhbHNl
LgorICAgIC4uLgorICBSZXR1cm4gPyBPcmRpbmFyeURlbGV0ZShPLCBQKS4KK2ZsYWdzOiBbbm9T
dHJpY3RdCitpbmNsdWRlczogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFth
bGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIEJpZ0ludCwg
VHlwZWRBcnJheV0KKy0tLSovCisKK3Rlc3RXaXRoQmlnSW50VHlwZWRBcnJheUNvbnN0cnVjdG9y
cyhmdW5jdGlvbihUQSkgeworICBUeXBlZEFycmF5LnByb3RvdHlwZS5iYXogPSAiYmF6IjsKKyAg
bGV0IHNhbXBsZSA9IG5ldyBUQSgxKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGRlbGV0
ZSBzYW1wbGUuZm9vLCB0cnVlLAorICAgICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBzYW1wbGUuZm9v
YCBpcyB0cnVlJworICApOworCisgIHNhbXBsZS5mb28gPSAiZm9vIjsKKyAgYXNzZXJ0LnNhbWVW
YWx1ZShkZWxldGUgc2FtcGxlLmZvbywgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBs
ZS5mb29gIGlzIHRydWUnKTsKKworICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2FtcGxlLCAiYmFy
IiwgeworICAgIGdldCgpIHsgcmV0dXJuICJiYXIiOyB9CisgIH0pOworCisgIGFzc2VydC5zYW1l
VmFsdWUoZGVsZXRlIHNhbXBsZS5iYXIsIGZhbHNlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUgc2Ft
cGxlLmJhcmAgaXMgZmFsc2UnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShkZWxldGUgc2FtcGxlLmJh
eiwgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZS5iYXpgIGlzIHRydWUnKTsKK30p
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlD
b25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9CaWdJbnQva2V5LWlzLW5vdC1udW1lcmljLWlu
ZGV4LXN0cmljdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvQmlnSW50L2tleS1pcy1ub3QtbnVtZXJpYy1p
bmRleC1zdHJpY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTEyMGFmOGQ2Nzc2MjNhN2ZjZDdmYWE0YjExOWQ3
Zjg4YWJiNTdmMgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvQmlnSW50L2tleS1p
cy1ub3QtbnVtZXJpYy1pbmRleC1zdHJpY3QuanMKQEAgLTAsMCArMSw0NyBAQAorLy8gQ29weXJp
Z2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtaW50ZWdlci1pbmRleGVkLWV4b3RpYy1vYmplY3RzLWRl
bGV0ZS1wCitkZXNjcmlwdGlvbjogPgorICBVc2UgT3JkaW5hcnlEZWxldGUgaWYga2V5IGlzIG5v
dCBhIENhbm9uaWNhbE51bWVyaWNJbmRleAoraW5mbzogfAorICBbW0RlbGV0ZV1dIChQKQorCisg
IC4uLgorICBBc3NlcnQ6IElzUHJvcGVydHlLZXkoUCkgaXMgdHJ1ZS4KKyAgQXNzZXJ0OiBPIGlz
IGFuIEludGVnZXItSW5kZXhlZCBleG90aWMgb2JqZWN0LgorICBJZiBUeXBlKFApIGlzIFN0cmlu
ZywgdGhlbgorICAgIExldCBudW1lcmljSW5kZXggYmUgISBDYW5vbmljYWxOdW1lcmljSW5kZXhT
dHJpbmcoUCkuCisgICAgSWYgbnVtZXJpY0luZGV4IGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAg
ICAgIElmIElzRGV0YWNoZWRCdWZmZXIoTy5bW1ZpZXdlZEFycmF5QnVmZmVyXV0pIGlzIHRydWUs
IHJldHVybiB0cnVlLgorICAgICAgSWYgISBJc1ZhbGlkSW50ZWdlckluZGV4KE8sIG51bWVyaWNJ
bmRleCkgaXMgZmFsc2UsIHJldHVybiB0cnVlLgorICAgICAgUmV0dXJuIGZhbHNlLgorICAgIC4u
LgorICBSZXR1cm4gPyBPcmRpbmFyeURlbGV0ZShPLCBQKS4KK2ZsYWdzOiBbb25seVN0cmljdF0K
K2luY2x1ZGVzOiBbdGVzdEJpZ0ludFR5cGVkQXJyYXkuanNdCitmZWF0dXJlczogW2FsaWduLWRl
dGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgQmlnSW50LCBUeXBlZEFy
cmF5XQorLS0tKi8KKwordGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0
aW9uKFRBKSB7CisgIFR5cGVkQXJyYXkucHJvdG90eXBlLmJheiA9ICJiYXoiOworICBsZXQgc2Ft
cGxlID0gbmV3IFRBKDEpOworCisgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgZGVsZXRlIHNhbXBs
ZS5mb28sIHRydWUsCisgICAgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZS5mb29gIGlzIHRy
dWUnCisgICk7CisKKyAgc2FtcGxlLmZvbyA9ICJmb28iOworICBhc3NlcnQuc2FtZVZhbHVlKGRl
bGV0ZSBzYW1wbGUuZm9vLCB0cnVlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUgc2FtcGxlLmZvb2Ag
aXMgdHJ1ZScpOworCisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzYW1wbGUsICJiYXIiLCB7Cisg
ICAgZ2V0KCkgeyByZXR1cm4gImJhciI7IH0KKyAgfSk7CisKKyAgYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsICgpID0+IHsKKyAgICBkZWxldGUgc2FtcGxlLmJhcjsKKyAgfSwgJ2BkZWxldGUgc2Ft
cGxlLmJhcmAgdGhyb3dzIFR5cGVFcnJvcicpOworCisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRl
IHNhbXBsZS5iYXosIHRydWUsICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBzYW1wbGUuYmF6YCBpcyB0
cnVlJyk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvQmlnSW50L2tleS1pcy1vdXQt
b2YtYm91bmRzLW5vbi1zdHJpY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL0JpZ0ludC9rZXktaXMtb3V0
LW9mLWJvdW5kcy1ub24tc3RyaWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmNjhkNjliZGNhOTVjZjZiMTBh
YTBiZjAxOTZmMjhiMzUyMTk0NjAKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL0Jp
Z0ludC9rZXktaXMtb3V0LW9mLWJvdW5kcy1ub24tc3RyaWN0LmpzCkBAIC0wLDAgKzEsNDcgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLWludGVnZXItaW5kZXhlZC1leG90aWMt
b2JqZWN0cy1kZWxldGUtcAorZGVzY3JpcHRpb246ID4KKyAgUmV0dXJuIHRydWUgaWYgSXNWYWxp
ZEludGVnZXJJbmRleChPLCBudW1lcmljSW5kZXgpIGlzIGZhbHNlLgoraW5mbzogfAorICBbW0Rl
bGV0ZV1dIChQKQorCisgIC4uLgorICBBc3NlcnQ6IElzUHJvcGVydHlLZXkoUCkgaXMgdHJ1ZS4K
KyAgQXNzZXJ0OiBPIGlzIGFuIEludGVnZXItSW5kZXhlZCBleG90aWMgb2JqZWN0LgorICBJZiBU
eXBlKFApIGlzIFN0cmluZywgdGhlbgorICAgIExldCBudW1lcmljSW5kZXggYmUgISBDYW5vbmlj
YWxOdW1lcmljSW5kZXhTdHJpbmcoUCkuCisgICAgSWYgbnVtZXJpY0luZGV4IGlzIG5vdCB1bmRl
ZmluZWQsIHRoZW4KKyAgICAgIElmIElzRGV0YWNoZWRCdWZmZXIoTy5bW1ZpZXdlZEFycmF5QnVm
ZmVyXV0pIGlzIHRydWUsIHJldHVybiB0cnVlLgorICAgICAgSWYgISBJc1ZhbGlkSW50ZWdlcklu
ZGV4KE8sIG51bWVyaWNJbmRleCkgaXMgZmFsc2UsIHJldHVybiB0cnVlLgorICAgICAgUmV0dXJu
IGZhbHNlLgorICAgICAgICAuLi4KKyAgUmV0dXJuID8gT3JkaW5hcnlEZWxldGUoTywgUCkuCisK
K2ZsYWdzOiBbbm9TdHJpY3RdCitpbmNsdWRlczogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzXQor
ZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxp
dHksIEJpZ0ludCwgVHlwZWRBcnJheV0KKy0tLSovCisKK3Rlc3RXaXRoQmlnSW50VHlwZWRBcnJh
eUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgeworICBsZXQgcHJvdG8gPSBUeXBlZEFycmF5LnBy
b3RvdHlwZTsKKyAgbGV0IGRlc2NyaXB0b3JHZXR0ZXJUaHJvd3MgPSB7CisgICAgY29uZmlndXJh
YmxlOiB0cnVlLAorICAgIGdldCgpIHsKKyAgICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIk9y
ZGluYXJ5R2V0IHdhcyBjYWxsZWQhIik7CisgICAgfQorICB9OworICBPYmplY3QuZGVmaW5lUHJv
cGVydGllcyhwcm90bywgeworICAgIFsiLTEiXTogZGVzY3JpcHRvckdldHRlclRocm93cywKKyAg
ICBbIjEiXTogZGVzY3JpcHRvckdldHRlclRocm93cywKKyAgfSk7CisKKyAgbGV0IHNhbXBsZSA9
IG5ldyBUQSgxKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShkZWxldGUgc2FtcGxlWyItMSJdLCB0cnVl
LCAnVGhlIHZhbHVlIG9mIGBkZWxldGUgc2FtcGxlWyItMSJdYCBpcyB0cnVlJyk7CisgIGFzc2Vy
dC5zYW1lVmFsdWUoZGVsZXRlIHNhbXBsZVstMV0sIHRydWUsICdUaGUgdmFsdWUgb2YgYGRlbGV0
ZSBzYW1wbGVbLTFdYCBpcyB0cnVlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNhbXBs
ZVsiMCJdLCBmYWxzZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVsiMCJdYCBpcyBmYWxz
ZScpOworICBhc3NlcnQuc2FtZVZhbHVlKGRlbGV0ZSBzYW1wbGVbMF0sIGZhbHNlLCAnVGhlIHZh
bHVlIG9mIGBkZWxldGUgc2FtcGxlWzBdYCBpcyBmYWxzZScpOworICBhc3NlcnQuc2FtZVZhbHVl
KGRlbGV0ZSBzYW1wbGVbIjEiXSwgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVsi
MSJdYCBpcyB0cnVlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNhbXBsZVsxXSwgdHJ1
ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVsxXWAgaXMgdHJ1ZScpOworfSk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9pbnRlcm5hbHMvRGVsZXRlL0JpZ0ludC9rZXktaXMtb3V0LW9mLWJvdW5kcy1zdHJpY3Qu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9y
cy9pbnRlcm5hbHMvRGVsZXRlL0JpZ0ludC9rZXktaXMtb3V0LW9mLWJvdW5kcy1zdHJpY3QuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2JkMWEwNzY3YTRkODRlOWMwNzczMjM1Y2UzNTY0NGE2ZDJmYmFjZQotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvQmlnSW50L2tleS1pcy1vdXQtb2YtYm91bmRz
LXN0cmljdC5qcwpAQCAtMCwwICsxLDU0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBX
YWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6
IHNlYy1pbnRlZ2VyLWluZGV4ZWQtZXhvdGljLW9iamVjdHMtZGVsZXRlLXAKK2Rlc2NyaXB0aW9u
OiA+CisgIFJldHVybiB0cnVlIGlmIElzVmFsaWRJbnRlZ2VySW5kZXgoTywgbnVtZXJpY0luZGV4
KSBpcyBmYWxzZS4KK2luZm86IHwKKyAgW1tEZWxldGVdXSAoUCkKKworICAuLi4KKyAgQXNzZXJ0
OiBJc1Byb3BlcnR5S2V5KFApIGlzIHRydWUuCisgIEFzc2VydDogTyBpcyBhbiBJbnRlZ2VyLUlu
ZGV4ZWQgZXhvdGljIG9iamVjdC4KKyAgSWYgVHlwZShQKSBpcyBTdHJpbmcsIHRoZW4KKyAgICBM
ZXQgbnVtZXJpY0luZGV4IGJlICEgQ2Fub25pY2FsTnVtZXJpY0luZGV4U3RyaW5nKFApLgorICAg
IElmIG51bWVyaWNJbmRleCBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICBJZiBJc0RldGFj
aGVkQnVmZmVyKE8uW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dKSBpcyB0cnVlLCByZXR1cm4gdHJ1ZS4K
KyAgICAgIElmICEgSXNWYWxpZEludGVnZXJJbmRleChPLCBudW1lcmljSW5kZXgpIGlzIGZhbHNl
LCByZXR1cm4gdHJ1ZS4KKyAgICAgIFJldHVybiBmYWxzZS4KKyAgICAgICAgLi4uCisgIFJldHVy
biA/IE9yZGluYXJ5RGVsZXRlKE8sIFApLgorCitmbGFnczogW29ubHlTdHJpY3RdCitpbmNsdWRl
czogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1i
dWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIEJpZ0ludCwgVHlwZWRBcnJheV0KKy0t
LSovCisKK3Rlc3RXaXRoQmlnSW50VHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkg
eworICBsZXQgcHJvdG8gPSBUeXBlZEFycmF5LnByb3RvdHlwZTsKKyAgbGV0IGRlc2NyaXB0b3JH
ZXR0ZXJUaHJvd3MgPSB7CisgICAgY29uZmlndXJhYmxlOiB0cnVlLAorICAgIGdldCgpIHsKKyAg
ICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIk9yZGluYXJ5R2V0IHdhcyBjYWxsZWQhIik7Cisg
ICAgfQorICB9OworICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhwcm90bywgeworICAgIFsiLTEi
XTogZGVzY3JpcHRvckdldHRlclRocm93cywKKyAgICBbIjEiXTogZGVzY3JpcHRvckdldHRlclRo
cm93cywKKyAgfSk7CisKKyAgbGV0IHNhbXBsZSA9IG5ldyBUQSgxKTsKKyAgYXNzZXJ0LnNhbWVW
YWx1ZShkZWxldGUgc2FtcGxlWyItMSJdLCB0cnVlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUgc2Ft
cGxlWyItMSJdYCBpcyB0cnVlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNhbXBsZVst
MV0sIHRydWUsICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBzYW1wbGVbLTFdYCBpcyB0cnVlJyk7CisK
KyAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgICBkZWxldGUgc2FtcGxlWyIw
Il07CisgIH0sICdgZGVsZXRlIHNhbXBsZVsiMCJdYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKKyAg
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgICBkZWxldGUgc2FtcGxlWzBdOwor
ICB9LCAnYGRlbGV0ZSBzYW1wbGVbMF1gIHRocm93cyBUeXBlRXJyb3InKTsKKworICBhc3NlcnQu
c2FtZVZhbHVlKGRlbGV0ZSBzYW1wbGVbIjEiXSwgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRl
IHNhbXBsZVsiMSJdYCBpcyB0cnVlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNhbXBs
ZVsxXSwgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVsxXWAgaXMgdHJ1ZScpOwor
fSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL0JpZ0ludC9rZXktaXMtc3ltYm9sLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50
ZXJuYWxzL0RlbGV0ZS9CaWdJbnQva2V5LWlzLXN5bWJvbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMTQxNjVi
OTczYTdlOTI0MzNjMzhmYjc1ODA1ZmQ0YWE5MzQyNjJhCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJu
YWxzL0RlbGV0ZS9CaWdJbnQva2V5LWlzLXN5bWJvbC5qcwpAQCAtMCwwICsxLDMxIEBACisvLyBD
b3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1pbnRlZ2VyLWluZGV4ZWQtZXhvdGljLW9iamVj
dHMtZGVsZXRlLXAKK2Rlc2NyaXB0aW9uOiA+CisgIFVzZSBPcmRpbmFyeURlbGV0ZSBpZiBrZXkg
aXMgYSBTeW1ib2wKK2luZm86IHwKKyAgW1tEZWxldGVdXSAoUCkKKworICAuLi4KKyAgQXNzZXJ0
OiBJc1Byb3BlcnR5S2V5KFApIGlzIHRydWUuCisgIEFzc2VydDogTyBpcyBhbiBJbnRlZ2VyLUlu
ZGV4ZWQgZXhvdGljIG9iamVjdC4KKyAgSWYgVHlwZShQKSBpcyBTdHJpbmcsIHRoZW4KKyAgICAu
Li4KKyAgUmV0dXJuID8gT3JkaW5hcnlEZWxldGUoTywgUCkuCisKK2luY2x1ZGVzOiBbdGVzdEJp
Z0ludFR5cGVkQXJyYXkuanNdCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1ZmZlci1zZW1h
bnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgQmlnSW50LCBTeW1ib2wsIFR5cGVkQXJyYXldCistLS0q
LworCit0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsK
KyAgbGV0IHNhbXBsZSA9IG5ldyBUQSgxKTsKKyAgbGV0IHMgPSBTeW1ib2woIjEiKTsKKworICBh
c3NlcnQuc2FtZVZhbHVlKGRlbGV0ZSBzYW1wbGVbc10sIHRydWUsICdUaGUgdmFsdWUgb2YgYGRl
bGV0ZSBzYW1wbGVbc11gIGlzIHRydWUnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShSZWZsZWN0Lmhh
cyhzYW1wbGUsIHMpLCBmYWxzZSwgJ1JlZmxlY3QuaGFzKHNhbXBsZSwgcykgbXVzdCByZXR1cm4g
ZmFsc2UnKTsKKworICBzYW1wbGVbc10gPSAiIjsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShkZWxldGUg
c2FtcGxlW3NdLCB0cnVlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUgc2FtcGxlW3NdYCBpcyB0cnVl
Jyk7CisgIGFzc2VydC5zYW1lVmFsdWUoUmVmbGVjdC5oYXMoc2FtcGxlLCBzKSwgZmFsc2UsICdS
ZWZsZWN0LmhhcyhzYW1wbGUsIHMpIG11c3QgcmV0dXJuIGZhbHNlJyk7Cit9KTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3Jz
L2ludGVybmFscy9EZWxldGUvZGV0YWNoZWQtYnVmZmVyLWtleS1pcy1ub3QtbnVtZXJpYy1pbmRl
eC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0
b3JzL2ludGVybmFscy9EZWxldGUvZGV0YWNoZWQtYnVmZmVyLWtleS1pcy1ub3QtbnVtZXJpYy1p
bmRleC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41YmFkNTdiMmU0ZGVhYWIyZWVjODhmODZhOGUzMzVkODIwZThl
NzcyCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9kZXRhY2hlZC1idWZmZXIta2V5
LWlzLW5vdC1udW1lcmljLWluZGV4LmpzCkBAIC0wLDAgKzEsMzQgQEAKKy8vIENvcHlyaWdodCAo
QykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
CisvKi0tLQorZXNpZDogc2VjLWludGVnZXItaW5kZXhlZC1leG90aWMtb2JqZWN0cy1kZWxldGUt
cAorZGVzY3JpcHRpb246ID4KKyAgUmV0dXJucyB0cnVlIHdoZW4gZGVsZXRpbmcgYW55IHByb3Bl
cnR5IGlmIGJ1ZmZlciBpcyBkZXRhY2hlZC4KK2luZm86IHwKKyAgW1tEZWxldGVdXSAoUCkKKwor
ICAuLi4KKyAgQXNzZXJ0OiBJc1Byb3BlcnR5S2V5KFApIGlzIHRydWUuCisgIEFzc2VydDogTyBp
cyBhbiBJbnRlZ2VyLUluZGV4ZWQgZXhvdGljIG9iamVjdC4KKyAgSWYgVHlwZShQKSBpcyBTdHJp
bmcsIHRoZW4KKyAgICBMZXQgbnVtZXJpY0luZGV4IGJlICEgQ2Fub25pY2FsTnVtZXJpY0luZGV4
U3RyaW5nKFApLgorICAgIElmIG51bWVyaWNJbmRleCBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisg
ICAgICBJZiBJc0RldGFjaGVkQnVmZmVyKE8uW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dKSBpcyB0cnVl
LCByZXR1cm4gdHJ1ZS4KKyAgICAuLi4KKyAgUmV0dXJuID8gT3JkaW5hcnlEZWxldGUoTywgUCkK
K2luY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXkuanMsIGRldGFjaEFycmF5QnVmZmVyLmpzXQorZmVh
dHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxpdHks
IFR5cGVkQXJyYXldCistLS0qLworCit0ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVu
Y3Rpb24oVEEpIHsKKyAgbGV0IHNhbXBsZSA9IG5ldyBUQSgxKTsKKyAgbGV0IGtleSA9ICJrZXki
OworICBzYW1wbGUuc3RyaW5nID0ga2V5OworCisgICRERVRBQ0hCVUZGRVIoc2FtcGxlLmJ1ZmZl
cik7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShkZWxldGUgc2FtcGxlLnN0cmluZywgdHJ1ZSwgJ1Ro
ZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZS5zdHJpbmdgIGlzIHRydWUnKTsKKyAgYXNzZXJ0LnNh
bWVWYWx1ZShkZWxldGUgc2FtcGxlLnVuZGVmLCB0cnVlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUg
c2FtcGxlLnVuZGVmYCBpcyB0cnVlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNhbXBs
ZVtrZXldLCB0cnVlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUgc2FtcGxlLnN0cmluZ2AgaXMgdHJ1
ZScpOworICBhc3NlcnQuc2FtZVZhbHVlKGRlbGV0ZSBzYW1wbGVbInVuZGVmIl0sIHRydWUsICdU
aGUgdmFsdWUgb2YgYGRlbGV0ZSBzYW1wbGUudW5kZWZgIGlzIHRydWUnKTsKK30pOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3Rv
cnMvaW50ZXJuYWxzL0RlbGV0ZS9kZXRhY2hlZC1idWZmZXIta2V5LWlzLXN5bWJvbC5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVy
bmFscy9EZWxldGUvZGV0YWNoZWQtYnVmZmVyLWtleS1pcy1zeW1ib2wuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MWY2MmFlM2Y2NTNkOTRjOWFlMGFjZDgxZDM2OWNkNzcxYjBlNTkzZQotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3Jz
L2ludGVybmFscy9EZWxldGUvZGV0YWNoZWQtYnVmZmVyLWtleS1pcy1zeW1ib2wuanMKQEAgLTAs
MCArMSwyOCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2Ug
Zm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtaW50ZWdlci1pbmRl
eGVkLWV4b3RpYy1vYmplY3RzLWRlbGV0ZS1wCitkZXNjcmlwdGlvbjogPgorICBDYWxscyBPcmRp
bmFyeURlbGV0ZSB3aGVuIGtleSBpcyBhIFN5bWJvbC4KK2luZm86IHwKKyAgW1tEZWxldGVdXSAo
UCkKKworICAuLi4KKyAgQXNzZXJ0OiBJc1Byb3BlcnR5S2V5KFApIGlzIHRydWUuCisgIEFzc2Vy
dDogTyBpcyBhbiBJbnRlZ2VyLUluZGV4ZWQgZXhvdGljIG9iamVjdC4KKyAgSWYgVHlwZShQKSBp
cyBTdHJpbmcsIHRoZW4KKyAgICAuLi4KKyAgUmV0dXJuID8gT3JkaW5hcnlEZWxldGUoTywgUCku
CitpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5LmpzLCBkZXRhY2hBcnJheUJ1ZmZlci5qc10KK2Zl
YXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5
LCBTeW1ib2wsIFR5cGVkQXJyYXldCistLS0qLworCit0ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMoZnVuY3Rpb24oVEEpIHsKKyAgbGV0IHNhbXBsZSA9IG5ldyBUQSgxKTsKKyAgJERFVEFD
SEJVRkZFUihzYW1wbGUuYnVmZmVyKTsKKworICBsZXQgcyA9IFN5bWJvbCgiMSIpOworCisgIHNh
bXBsZVtzXSA9IDE7CisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNhbXBsZVtzXSwgdHJ1ZSwg
J1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVtzXWAgaXMgdHJ1ZScpOworfSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9y
cy9pbnRlcm5hbHMvRGVsZXRlL2RldGFjaGVkLWJ1ZmZlci1yZWFsbS5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxl
dGUvZGV0YWNoZWQtYnVmZmVyLXJlYWxtLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkM2ViOTg1ZjlkYzBlYjYw
MzQ1NDAyNDA3ODJjMjAwOWE3MzQwZjQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRl
L2RldGFjaGVkLWJ1ZmZlci1yZWFsbS5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQg
KEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2Rl
IGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgorLyotLS0KK2VzaWQ6IHNlYy1pbnRlZ2VyLWluZGV4ZWQtZXhvdGljLW9iamVjdHMtZGVsZXRl
LXAKK2Rlc2NyaXB0aW9uOiA+CisgIFJldHVybnMgdHJ1ZSB3aGVuIGRlbGV0aW5nIGFueSBwcm9w
ZXJ0eSBpZiBidWZmZXIgaXMgZGV0YWNoZWQKKyAgKGhvbm9yaW5nIHRoZSBSZWFsbSBvZiB0aGUg
Y3VycmVudCBleGVjdXRpb24gY29udGV4dCkKK2luZm86IHwKKyAgW1tEZWxldGVdXSAoUCkKKwor
ICAuLi4KKyAgQXNzZXJ0OiBJc1Byb3BlcnR5S2V5KFApIGlzIHRydWUuCisgIEFzc2VydDogTyBp
cyBhbiBJbnRlZ2VyLUluZGV4ZWQgZXhvdGljIG9iamVjdC4KKyAgSWYgVHlwZShQKSBpcyBTdHJp
bmcsIHRoZW4KKyAgICBMZXQgbnVtZXJpY0luZGV4IGJlICEgQ2Fub25pY2FsTnVtZXJpY0luZGV4
U3RyaW5nKFApLgorICAgIElmIG51bWVyaWNJbmRleCBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisg
ICAgICBJZiBJc0RldGFjaGVkQnVmZmVyKE8uW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dKSBpcyB0cnVl
LCByZXR1cm4gdHJ1ZS4KKworICAuLi4KK2luY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXkuanMsIGRl
dGFjaEFycmF5QnVmZmVyLmpzXQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2Vt
YW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIGNyb3NzLXJlYWxtLCBUeXBlZEFycmF5XQorLS0tKi8K
KwordmFyIG90aGVyID0gJDI2Mi5jcmVhdGVSZWFsbSgpLmdsb2JhbDsKKwordGVzdFdpdGhUeXBl
ZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CisgIHZhciBPdGhlclRBID0gb3RoZXJb
VEEubmFtZV07CisgIHZhciBzYW1wbGUgPSBuZXcgT3RoZXJUQSgxKTsKKworICAkREVUQUNIQlVG
RkVSKHNhbXBsZS5idWZmZXIpOworCisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNhbXBsZVsw
XSwgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVswXWAgaXMgdHJ1ZScpOworfSk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNv
bnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL2RldGFjaGVkLWJ1ZmZlci5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9E
ZWxldGUvZGV0YWNoZWQtYnVmZmVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0YWRmM2ViN2RiZGI2ZmJhZDIy
NjQzYWEzNWE0NTA1MDUwYWM1MDYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL2Rl
dGFjaGVkLWJ1ZmZlci5qcwpAQCAtMCwwICsxLDMxIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAg
UmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0K
K2VzaWQ6IHNlYy1pbnRlZ2VyLWluZGV4ZWQtZXhvdGljLW9iamVjdHMtZGVsZXRlLXAKK2Rlc2Ny
aXB0aW9uOiA+CisgIFJldHVybnMgdHJ1ZSB3aGVuIGRlbGV0aW5nIGFueSBwcm9wZXJ0eSBpZiBi
dWZmZXIgaXMgZGV0YWNoZWQuCitpbmZvOiB8CisgIFtbRGVsZXRlXV0gKFApCisKKyAgLi4uCisg
IEFzc2VydDogSXNQcm9wZXJ0eUtleShQKSBpcyB0cnVlLgorICBBc3NlcnQ6IE8gaXMgYW4gSW50
ZWdlci1JbmRleGVkIGV4b3RpYyBvYmplY3QuCisgIElmIFR5cGUoUCkgaXMgU3RyaW5nLCB0aGVu
CisgICAgTGV0IG51bWVyaWNJbmRleCBiZSAhIENhbm9uaWNhbE51bWVyaWNJbmRleFN0cmluZyhQ
KS4KKyAgICBJZiBudW1lcmljSW5kZXggaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgSWYg
SXNEZXRhY2hlZEJ1ZmZlcihPLltbVmlld2VkQXJyYXlCdWZmZXJdXSkgaXMgdHJ1ZSwgcmV0dXJu
IHRydWUuCisgIC4uLgoraW5jbHVkZXM6IFt0ZXN0VHlwZWRBcnJheS5qcywgZGV0YWNoQXJyYXlC
dWZmZXIuanNdCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0
aC13ZWItcmVhbGl0eSwgVHlwZWRBcnJheV0KKy0tLSovCisKK3Rlc3RXaXRoVHlwZWRBcnJheUNv
bnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgeworICB2YXIgc2FtcGxlID0gbmV3IFRBKDEpOworICAk
REVUQUNIQlVGRkVSKHNhbXBsZS5idWZmZXIpOworICBhc3NlcnQuc2FtZVZhbHVlKGRlbGV0ZSBz
YW1wbGVbMF0sIHRydWUsICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBzYW1wbGVbMF1gIGlzIHRydWUn
KTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShkZWxldGUgc2FtcGxlWyIxLjEiXSwgdHJ1ZSwgJ1RoZSB2
YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVsiMS4xIl1gIGlzIHRydWUnKTsKKyAgYXNzZXJ0LnNhbWVW
YWx1ZShkZWxldGUgc2FtcGxlWyItMCJdLCB0cnVlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUgc2Ft
cGxlWyItMCJdYCBpcyB0cnVlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNhbXBsZVsi
LTEiXSwgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVsiLTEiXWAgaXMgdHJ1ZScp
OworICBhc3NlcnQuc2FtZVZhbHVlKGRlbGV0ZSBzYW1wbGVbIjEiXSwgdHJ1ZSwgJ1RoZSB2YWx1
ZSBvZiBgZGVsZXRlIHNhbXBsZVsiMSJdYCBpcyB0cnVlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUo
ZGVsZXRlIHNhbXBsZVsiMiJdLCB0cnVlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUgc2FtcGxlWyIy
Il1gIGlzIHRydWUnKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9pbmRleGVkLXZh
bHVlLWFiLW5vbi1zdHJpY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL2luZGV4ZWQtdmFsdWUtYWItbm9u
LXN0cmljdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZWJhZjRiNGE1MmE1ZDk3MmMwMDVmNDFhNDQ4Mjk0NmM2
M2FjOTM5Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9pbmRleGVkLXZhbHVlLWFi
LW5vbi1zdHJpY3QuanMKQEAgLTAsMCArMSw0NCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJp
Y2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitl
c2lkOiBzZWMtaW50ZWdlci1pbmRleGVkLWV4b3RpYy1vYmplY3RzLWRlbGV0ZS1wCitkZXNjcmlw
dGlvbjogPgorICBSZXR1cm4gdmFsdWUgZnJvbSB2YWxpZCBudW1lcmljIGluZGV4CitpbmZvOiB8
CisgIFtbRGVsZXRlXV0gKFApCisKKyAgLi4uCisgIEFzc2VydDogSXNQcm9wZXJ0eUtleShQKSBp
cyB0cnVlLgorICBBc3NlcnQ6IE8gaXMgYW4gSW50ZWdlci1JbmRleGVkIGV4b3RpYyBvYmplY3Qu
CisgIElmIFR5cGUoUCkgaXMgU3RyaW5nLCB0aGVuCisgICAgTGV0IG51bWVyaWNJbmRleCBiZSAh
IENhbm9uaWNhbE51bWVyaWNJbmRleFN0cmluZyhQKS4KKyAgICBJZiBudW1lcmljSW5kZXggaXMg
bm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgSWYgSXNEZXRhY2hlZEJ1ZmZlcihPLltbVmlld2Vk
QXJyYXlCdWZmZXJdXSkgaXMgdHJ1ZSwgcmV0dXJuIHRydWUuCisgICAgICBJZiAhIElzVmFsaWRJ
bnRlZ2VySW5kZXgoTywgbnVtZXJpY0luZGV4KSBpcyBmYWxzZSwgcmV0dXJuIHRydWUuCisgICAg
ICBSZXR1cm4gZmFsc2UuCisgICAgICAgIC4uLgorZmxhZ3M6IFtub1N0cmljdF0KK2luY2x1ZGVz
OiBbdGVzdFR5cGVkQXJyYXkuanNdCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1ZmZlci1z
ZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgVHlwZWRBcnJheV0KKy0tLSovCisKK3Rlc3RXaXRo
VHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgeworICBsZXQgcHJvdG8gPSBUeXBl
ZEFycmF5LnByb3RvdHlwZTsKKyAgbGV0IGRlc2NyaXB0b3JHZXR0ZXJUaHJvd3MgPSB7CisgICAg
Y29uZmlndXJhYmxlOiB0cnVlLAorICAgIGdldCgpIHsKKyAgICAgIHRocm93IG5ldyBUZXN0MjYy
RXJyb3IoIk9yZGluYXJ5R2V0IHdhcyBjYWxsZWQhIik7CisgICAgfQorICB9OworICBPYmplY3Qu
ZGVmaW5lUHJvcGVydGllcyhwcm90bywgeworICAgIFsiMCJdOiBkZXNjcmlwdG9yR2V0dGVyVGhy
b3dzLAorICAgIFsiMSJdOiBkZXNjcmlwdG9yR2V0dGVyVGhyb3dzLAorICB9KTsKKworICBsZXQg
c2FtcGxlID0gbmV3IFRBKDIpOworCisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNhbXBsZVsi
MCJdLCBmYWxzZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVsiMCJdYCBpcyBmYWxzZScp
OworICBhc3NlcnQuc2FtZVZhbHVlKGRlbGV0ZSBzYW1wbGVbMF0sIGZhbHNlLCAnVGhlIHZhbHVl
IG9mIGBkZWxldGUgc2FtcGxlWzBdYCBpcyBmYWxzZScpOworICBhc3NlcnQuc2FtZVZhbHVlKGRl
bGV0ZSBzYW1wbGVbIjEiXSwgZmFsc2UsICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBzYW1wbGVbIjEi
XWAgaXMgZmFsc2UnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShkZWxldGUgc2FtcGxlWzFdLCBmYWxz
ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVsxXWAgaXMgZmFsc2UnKTsKK30pOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9pbmRleGVkLXZhbHVlLWFiLXN0cmljdC5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFs
cy9EZWxldGUvaW5kZXhlZC12YWx1ZS1hYi1zdHJpY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzAyYWE0OTRk
YjE0OGZmNDRkMmViNmYyMmJhNGNkOWU4OGYyODczZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFs
cy9EZWxldGUvaW5kZXhlZC12YWx1ZS1hYi1zdHJpY3QuanMKQEAgLTAsMCArMSw1MiBAQAorLy8g
Q29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtaW50ZWdlci1pbmRleGVkLWV4b3RpYy1vYmpl
Y3RzLWRlbGV0ZS1wCitkZXNjcmlwdGlvbjogPgorICBSZXR1cm4gdmFsdWUgZnJvbSB2YWxpZCBu
dW1lcmljIGluZGV4CitpbmZvOiB8CisgIFtbRGVsZXRlXV0gKFApCisKKyAgLi4uCisgIEFzc2Vy
dDogSXNQcm9wZXJ0eUtleShQKSBpcyB0cnVlLgorICBBc3NlcnQ6IE8gaXMgYW4gSW50ZWdlci1J
bmRleGVkIGV4b3RpYyBvYmplY3QuCisgIElmIFR5cGUoUCkgaXMgU3RyaW5nLCB0aGVuCisgICAg
TGV0IG51bWVyaWNJbmRleCBiZSAhIENhbm9uaWNhbE51bWVyaWNJbmRleFN0cmluZyhQKS4KKyAg
ICBJZiBudW1lcmljSW5kZXggaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgSWYgSXNEZXRh
Y2hlZEJ1ZmZlcihPLltbVmlld2VkQXJyYXlCdWZmZXJdXSkgaXMgdHJ1ZSwgcmV0dXJuIHRydWUu
CisgICAgICBJZiAhIElzVmFsaWRJbnRlZ2VySW5kZXgoTywgbnVtZXJpY0luZGV4KSBpcyBmYWxz
ZSwgcmV0dXJuIHRydWUuCisgICAgICBSZXR1cm4gZmFsc2UuCisgICAgICAgIC4uLgorZmxhZ3M6
IFtvbmx5U3RyaWN0XQoraW5jbHVkZXM6IFt0ZXN0VHlwZWRBcnJheS5qc10KK2ZlYXR1cmVzOiBb
YWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBUeXBlZEFy
cmF5XQorLS0tKi8KKwordGVzdFdpdGhUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRB
KSB7CisgIGxldCBwcm90byA9IFR5cGVkQXJyYXkucHJvdG90eXBlOworICBsZXQgZGVzY3JpcHRv
ckdldHRlclRocm93cyA9IHsKKyAgICBjb25maWd1cmFibGU6IHRydWUsCisgICAgZ2V0KCkgewor
ICAgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiT3JkaW5hcnlHZXQgd2FzIGNhbGxlZCEiKTsK
KyAgICB9CisgIH07CisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHByb3RvLCB7CisgICAgWyIw
Il06IGRlc2NyaXB0b3JHZXR0ZXJUaHJvd3MsCisgICAgWyIxIl06IGRlc2NyaXB0b3JHZXR0ZXJU
aHJvd3MsCisgIH0pOworCisgIGxldCBzYW1wbGUgPSBuZXcgVEEoMik7CisKKyAgYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgICBkZWxldGUgc2FtcGxlWyIwIl07CisgIH0sICdg
ZGVsZXRlIHNhbXBsZVsiMCJdYCB0aHJvd3MgVHlwZUVycm9yJyk7CisgIGFzc2VydC50aHJvd3Mo
VHlwZUVycm9yLCAoKSA9PiB7CisgICAgZGVsZXRlIHNhbXBsZVsiMSJdOworICB9LCAnYGRlbGV0
ZSBzYW1wbGVbIjEiXWAgdGhyb3dzIFR5cGVFcnJvcicpOworICBhc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgKCkgPT4geworICAgIGRlbGV0ZSBzYW1wbGVbMF07CisgIH0sICdgZGVsZXRlIHNhbXBs
ZVswXWAgdGhyb3dzIFR5cGVFcnJvcicpOworICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkg
PT4geworICAgIGRlbGV0ZSBzYW1wbGVbMF07CisgIH0sICdgZGVsZXRlIHNhbXBsZVswXWAgdGhy
b3dzIFR5cGVFcnJvcicpOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL2luZGV4ZWQt
dmFsdWUtc2FiLW5vbi1zdHJpY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL2luZGV4ZWQtdmFsdWUtc2Fi
LW5vbi1zdHJpY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2UxZjM1NWZlZTcxYjA4YjY5ZjM1MGE0M2M3OTc2
NTNhZjQzYzhlNAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvaW5kZXhlZC12YWx1
ZS1zYWItbm9uLXN0cmljdC5qcwpAQCAtMCwwICsxLDMyIEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gQ29weXJpZ2h0IChDKSAy
MDE3IE1vemlsbGEgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCisvKi0tLQorZXNpZDogc2VjLWludGVnZXItaW5kZXhlZC1leG90aWMtb2JqZWN0cy1kZWxl
dGUtcAorZGVzY3JpcHRpb246ID4KKyAgUmV0dXJuIHZhbHVlIGZyb20gdmFsaWQgbnVtZXJpYyBp
bmRleCwgd2l0aCBTaGFyZWRBcnJheUJ1ZmZlcgorZmxhZ3M6IFtub1N0cmljdF0KK2luY2x1ZGVz
OiBbdGVzdFR5cGVkQXJyYXkuanNdCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1ZmZlci1z
ZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgVHlwZWRBcnJheSwgU2hhcmVkQXJyYXlCdWZmZXJd
CistLS0qLworCit0ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsK
KyAgbGV0IHByb3RvID0gVHlwZWRBcnJheS5wcm90b3R5cGU7CisgIGxldCBkZXNjcmlwdG9yR2V0
dGVyVGhyb3dzID0geworICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKKyAgICBnZXQoKSB7CisgICAg
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJPcmRpbmFyeUdldCB3YXMgY2FsbGVkISIpOworICAg
IH0KKyAgfTsKKyAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMocHJvdG8sIHsKKyAgICBbIjAiXTog
ZGVzY3JpcHRvckdldHRlclRocm93cywKKyAgICBbIjEiXTogZGVzY3JpcHRvckdldHRlclRocm93
cywKKyAgfSk7CisgIGxldCBzYWIgPSBuZXcgU2hhcmVkQXJyYXlCdWZmZXIoVEEuQllURVNfUEVS
X0VMRU1FTlQgKiAyKTsKKyAgbGV0IHNhbXBsZSA9IG5ldyBUQShzYWIpOworCisgIGFzc2VydC5z
YW1lVmFsdWUoZGVsZXRlIHNhbXBsZVsiMCJdLCBmYWxzZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRl
IHNhbXBsZVsiMCJdYCBpcyBmYWxzZScpOworICBhc3NlcnQuc2FtZVZhbHVlKGRlbGV0ZSBzYW1w
bGVbMF0sIGZhbHNlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUgc2FtcGxlWyIwIl1gIGlzIGZhbHNl
Jyk7CisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNhbXBsZVsiMSJdLCBmYWxzZSwgJ1RoZSB2
YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVsiMSJdYCBpcyBmYWxzZScpOworICBhc3NlcnQuc2FtZVZh
bHVlKGRlbGV0ZSBzYW1wbGVbMV0sIGZhbHNlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUgc2FtcGxl
WyIxIl1gIGlzIGZhbHNlJyk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvaW5kZXhl
ZC12YWx1ZS1zYWItc3RyaWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9pbmRleGVkLXZhbHVlLXNhYi1z
dHJpY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzE0ZTI2ZGQwODg3ODFkYTYxNmQzMDJmNzViYjcwYWJiODJi
NWJlNQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUvaW5kZXhlZC12YWx1ZS1zYWIt
c3RyaWN0LmpzCkBAIC0wLDAgKzEsNDAgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdh
bGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTcgTW96aWxs
YSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zl
cm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0t
Citlc2lkOiBzZWMtaW50ZWdlci1pbmRleGVkLWV4b3RpYy1vYmplY3RzLWRlbGV0ZS1wCitkZXNj
cmlwdGlvbjogPgorICBUaHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiBpbiBzdHJpY3QgbW9kZS4K
K2ZsYWdzOiBbb25seVN0cmljdF0KK2luY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXkuanNdCitmZWF0
dXJlczogW2FsaWduLWRldGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwg
VHlwZWRBcnJheSwgU2hhcmVkQXJyYXlCdWZmZXJdCistLS0qLworCit0ZXN0V2l0aFR5cGVkQXJy
YXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKKyAgbGV0IHByb3RvID0gVHlwZWRBcnJheS5w
cm90b3R5cGU7CisgIGxldCBkZXNjcmlwdG9yR2V0dGVyVGhyb3dzID0geworICAgIGNvbmZpZ3Vy
YWJsZTogdHJ1ZSwKKyAgICBnZXQoKSB7CisgICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJP
cmRpbmFyeUdldCB3YXMgY2FsbGVkISIpOworICAgIH0KKyAgfTsKKyAgT2JqZWN0LmRlZmluZVBy
b3BlcnRpZXMocHJvdG8sIHsKKyAgICBbIjAiXTogZGVzY3JpcHRvckdldHRlclRocm93cywKKyAg
ICBbIjEiXTogZGVzY3JpcHRvckdldHRlclRocm93cywKKyAgfSk7CisgIGxldCBzYWIgPSBuZXcg
U2hhcmVkQXJyYXlCdWZmZXIoVEEuQllURVNfUEVSX0VMRU1FTlQgKiAyKTsKKyAgbGV0IHNhbXBs
ZSA9IG5ldyBUQShzYWIpOworCisgIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7Cisg
ICAgZGVsZXRlIHNhbXBsZVsiMCJdOworICB9KTsKKyAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3Is
ICgpID0+IHsKKyAgICBkZWxldGUgc2FtcGxlWzBdOworICB9KTsKKyAgYXNzZXJ0LnRocm93cyhU
eXBlRXJyb3IsICgpID0+IHsKKyAgICBkZWxldGUgc2FtcGxlWyIxIl07CisgIH0pOworICBhc3Nl
cnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICAgIGRlbGV0ZSBzYW1wbGVbMV07CisgIH0p
OworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRB
cnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL2luZmluaXR5LWRldGFjaGVkLWJ1ZmZl
ci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0
b3JzL2ludGVybmFscy9EZWxldGUvaW5maW5pdHktZGV0YWNoZWQtYnVmZmVyLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjcyZTVlOTlmYTNiNWRmZDQ0YjVlZTY3ZDQxNDk2MzI0MzdiMTY1NDkKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9pbnRlcm5hbHMvRGVsZXRlL2luZmluaXR5LWRldGFjaGVkLWJ1ZmZlci5qcwpAQCAtMCww
ICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWludGVnZXJpbmRl
eGVkZWxlbWVudGdldAorZGVzY3JpcHRpb246ID4KKyAgIkluZmluaXR5IiBpcyBhIGNhbm9uaWNh
bCBudW1lcmljIHN0cmluZy4gUmV0dXJucyB0cnVlIHdoZW4gZGVsZXRpbmcgYW55IHByb3BlcnR5
IGlmIGJ1ZmZlciBpcyBkZXRhY2hlZC4KK2luZm86IHwKKyAgW1tEZWxldGVdXSAoIFAsIFJlY2Vp
dmVyICkKKyAgLi4uCisgIEFzc2VydDogSXNQcm9wZXJ0eUtleShQKSBpcyB0cnVlLgorICBBc3Nl
cnQ6IE8gaXMgYW4gSW50ZWdlci1JbmRleGVkIGV4b3RpYyBvYmplY3QuCisgIElmIFR5cGUoUCkg
aXMgU3RyaW5nLCB0aGVuCisgICAgTGV0IG51bWVyaWNJbmRleCBiZSAhIENhbm9uaWNhbE51bWVy
aWNJbmRleFN0cmluZyhQKS4KKyAgICBJZiBudW1lcmljSW5kZXggaXMgbm90IHVuZGVmaW5lZCwg
dGhlbgorICAgICAgSWYgSXNEZXRhY2hlZEJ1ZmZlcihPLltbVmlld2VkQXJyYXlCdWZmZXJdXSkg
aXMgdHJ1ZSwgcmV0dXJuIHRydWUuCisKKyAgQ2Fub25pY2FsTnVtZXJpY0luZGV4U3RyaW5nICgg
YXJndW1lbnQgKQorICAgIC4uLgorICAgIExldCBuIGJlICEgVG9OdW1iZXIoYXJndW1lbnQpLgor
ICAgIElmIFNhbWVWYWx1ZSghIFRvU3RyaW5nKG4pLCBhcmd1bWVudCkgaXMgZmFsc2UsIHJldHVy
biB1bmRlZmluZWQuCisgICAgUmV0dXJuIG4uCisKK2luY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXku
anMsIGRldGFjaEFycmF5QnVmZmVyLmpzXQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZm
ZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIFR5cGVkQXJyYXldCistLS0qLworCit0ZXN0
V2l0aFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKKyAgdmFyIHNhbXBsZSA9
IG5ldyBUQSgxKTsKKyAgJERFVEFDSEJVRkZFUihzYW1wbGUuYnVmZmVyKTsKKworICBhc3NlcnQu
c2FtZVZhbHVlKGRlbGV0ZSBzYW1wbGUuSW5maW5pdHksIHRydWUsICdUaGUgdmFsdWUgb2YgYGRl
bGV0ZSBzYW1wbGUuSW5maW5pdHlgIGlzIHRydWUnKTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxz
L0RlbGV0ZS9rZXktaXMtbm90LWNhbm9uaWNhbC1pbmRleC1ub24tc3RyaWN0LmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxz
L0RlbGV0ZS9rZXktaXMtbm90LWNhbm9uaWNhbC1pbmRleC1ub24tc3RyaWN0LmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjYyMGUwYTM3MTE0Mzk4NDA2YmY0YzllZjEwNDk5NzJlYjFmMmMyYTkKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9pbnRlcm5hbHMvRGVsZXRlL2tleS1pcy1ub3QtY2Fub25pY2FsLWluZGV4LW5vbi1zdHJp
Y3QuanMKQEAgLTAsMCArMSw2NyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJv
bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMt
aW50ZWdlci1pbmRleGVkLWV4b3RpYy1vYmplY3RzLWRlbGV0ZS1wCitkZXNjcmlwdGlvbjogPgor
ICBSZXR1cm4gdHJ1ZSBpZiBrZXkgaXMgbm90IGEgQ2Fub25pY2FsTnVtZXJpY0luZGV4LgoraW5m
bzogfAorICBbW0RlbGV0ZV1dIChQKQorCisgIC4uLgorICBBc3NlcnQ6IElzUHJvcGVydHlLZXko
UCkgaXMgdHJ1ZS4KKyAgQXNzZXJ0OiBPIGlzIGFuIEludGVnZXItSW5kZXhlZCBleG90aWMgb2Jq
ZWN0LgorICBJZiBUeXBlKFApIGlzIFN0cmluZywgdGhlbgorICAgIExldCBudW1lcmljSW5kZXgg
YmUgISBDYW5vbmljYWxOdW1lcmljSW5kZXhTdHJpbmcoUCkuCisgICAgSWYgbnVtZXJpY0luZGV4
IGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAgICAgIElmIElzRGV0YWNoZWRCdWZmZXIoTy5bW1Zp
ZXdlZEFycmF5QnVmZmVyXV0pIGlzIHRydWUsIHJldHVybiB0cnVlLgorICAgICAgSWYgISBJc1Zh
bGlkSW50ZWdlckluZGV4KE8sIG51bWVyaWNJbmRleCkgaXMgZmFsc2UsIHJldHVybiB0cnVlLgor
ICAgICAgUmV0dXJuIGZhbHNlLgorICAgIC4uLgorICBSZXR1cm4gPyBPcmRpbmFyeURlbGV0ZShP
LCBQKS4KK2ZsYWdzOiBbbm9TdHJpY3RdCitpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5LmpzXQor
ZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxp
dHksIFR5cGVkQXJyYXldCistLS0qLworCit0ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMo
ZnVuY3Rpb24oVEEpIHsKKyAgdmFyIGtleXMgPSBbCisgICAgIjEuMCIsCisgICAgIisxIiwKKyAg
ICAiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsCisgICAgIjAuMDAwMDAwMSIKKyAgXTsKKworICBr
ZXlzLmZvckVhY2goKGtleSkgPT4geworICAgIHZhciBzYW1wbGUgPSBuZXcgVEEoKTsgLy8gPC0g
aW50ZW50aW9uYWxseSBlbXB0eQorCisgICAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICAgIGRlbGV0
ZSBzYW1wbGVba2V5XSwgdHJ1ZSwKKyAgICAgICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBzYW1wbGVb
a2V5XWAgaXMgdHJ1ZScKKyAgICApOworCisgICAgVHlwZWRBcnJheS5wcm90b3R5cGVba2V5XSA9
IGtleTsKKworICAgIGFzc2VydC5zYW1lVmFsdWUoCisgICAgICBkZWxldGUgc2FtcGxlW2tleV0s
CisgICAgICB0cnVlLAorICAgICAgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVtrZXldYCBp
cyB0cnVlJworICAgICk7CisKKyAgICBzYW1wbGVba2V5XSA9IGtleTsKKyAgICBhc3NlcnQuc2Ft
ZVZhbHVlKAorICAgICAgZGVsZXRlIHNhbXBsZVtrZXldLCB0cnVlLAorICAgICAgJ1RoZSB2YWx1
ZSBvZiBgZGVsZXRlIHNhbXBsZVtrZXldYCBpcyB0cnVlJworICAgICk7CisKKyAgICBPYmplY3Qu
ZGVmaW5lUHJvcGVydHkoc2FtcGxlLCBrZXksIHsKKyAgICAgIGdldCgpIHsgcmV0dXJuIGtleTsg
fQorICAgIH0pOworCisgICAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICAgIGRlbGV0ZSBzYW1wbGVb
a2V5XSwgZmFsc2UsCisgICAgICAnVGhlIHZhbHVlIG9mIGBkZWxldGUgc2FtcGxlW2tleV1gIGlz
IGZhbHNlJworICAgICk7CisKKyAgICBkZWxldGUgVHlwZWRBcnJheS5wcm90b3R5cGVba2V5XTsK
KyAgfSk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUva2V5LWlzLW5vdC1jYW5vbmlj
YWwtaW5kZXgtc3RyaWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9rZXktaXMtbm90LWNhbm9uaWNhbC1p
bmRleC1zdHJpY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmYzY2UwMWQyMGUyZjc0OTYyMjU1Y2I1OWVmZjQ0
ZTBhNmNmNDY3NgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUva2V5LWlzLW5vdC1j
YW5vbmljYWwtaW5kZXgtc3RyaWN0LmpzCkBAIC0wLDAgKzEsNjYgQEAKKy8vIENvcHlyaWdodCAo
QykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
CisvKi0tLQorZXNpZDogc2VjLWludGVnZXItaW5kZXhlZC1leG90aWMtb2JqZWN0cy1kZWxldGUt
cAorZGVzY3JpcHRpb246ID4KKyAgUmV0dXJuIHRydWUgaWYga2V5IGlzIG5vdCBhIENhbm9uaWNh
bE51bWVyaWNJbmRleC4KK2luZm86IHwKKyAgW1tEZWxldGVdXSAoUCkKKworICAuLi4KKyAgQXNz
ZXJ0OiBJc1Byb3BlcnR5S2V5KFApIGlzIHRydWUuCisgIEFzc2VydDogTyBpcyBhbiBJbnRlZ2Vy
LUluZGV4ZWQgZXhvdGljIG9iamVjdC4KKyAgSWYgVHlwZShQKSBpcyBTdHJpbmcsIHRoZW4KKyAg
ICBMZXQgbnVtZXJpY0luZGV4IGJlICEgQ2Fub25pY2FsTnVtZXJpY0luZGV4U3RyaW5nKFApLgor
ICAgIElmIG51bWVyaWNJbmRleCBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICBJZiBJc0Rl
dGFjaGVkQnVmZmVyKE8uW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dKSBpcyB0cnVlLCByZXR1cm4gdHJ1
ZS4KKyAgICAgIElmICEgSXNWYWxpZEludGVnZXJJbmRleChPLCBudW1lcmljSW5kZXgpIGlzIGZh
bHNlLCByZXR1cm4gdHJ1ZS4KKyAgICAgIFJldHVybiBmYWxzZS4KKyAgICAuLi4KKyAgUmV0dXJu
ID8gT3JkaW5hcnlEZWxldGUoTywgUCkuCitmbGFnczogW29ubHlTdHJpY3RdCitpbmNsdWRlczog
W3Rlc3RUeXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2Vt
YW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIFR5cGVkQXJyYXldCistLS0qLworCit0ZXN0V2l0aFR5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKKyAgdmFyIGtleXMgPSBbCisgICAg
IjEuMCIsCisgICAgIisxIiwKKyAgICAiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsCisgICAgIjAu
MDAwMDAwMSIKKyAgXTsKKworICBrZXlzLmZvckVhY2goKGtleSkgPT4geworICAgIHZhciBzYW1w
bGUgPSBuZXcgVEEoKTsgLy8gPC0gaW50ZW50aW9uYWxseSBlbXB0eQorCisgICAgYXNzZXJ0LnNh
bWVWYWx1ZSgKKyAgICAgIGRlbGV0ZSBzYW1wbGVba2V5XSwgdHJ1ZSwKKyAgICAgICdUaGUgdmFs
dWUgb2YgYGRlbGV0ZSBzYW1wbGVba2V5XWAgaXMgdHJ1ZScKKyAgICApOworCisgICAgVHlwZWRB
cnJheS5wcm90b3R5cGVba2V5XSA9IGtleTsKKworICAgIGFzc2VydC5zYW1lVmFsdWUoCisgICAg
ICBkZWxldGUgc2FtcGxlW2tleV0sCisgICAgICB0cnVlLAorICAgICAgJ1RoZSB2YWx1ZSBvZiBg
ZGVsZXRlIHNhbXBsZVtrZXldYCBpcyB0cnVlJworICAgICk7CisKKyAgICBzYW1wbGVba2V5XSA9
IGtleTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKAorICAgICAgZGVsZXRlIHNhbXBsZVtrZXldLCB0
cnVlLAorICAgICAgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVtrZXldYCBpcyB0cnVlJwor
ICAgICk7CisKKyAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2FtcGxlLCBrZXksIHsKKyAgICAg
IGdldCgpIHsgcmV0dXJuIGtleTsgfQorICAgIH0pOworCisgICAgYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsICgpID0+IHsKKyAgICAgIGRlbGV0ZSBzYW1wbGVba2V5XTsKKyAgICB9LCAnYGRlbGV0
ZSBzYW1wbGVba2V5XWAgdGhyb3dzIFR5cGVFcnJvcicpOworCisgICAgZGVsZXRlIFR5cGVkQXJy
YXkucHJvdG90eXBlW2tleV07CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRl
L2tleS1pcy1ub3QtaW50ZWdlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUva2V5LWlzLW5vdC1pbnRlZ2Vy
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjFmMTgxZmJlZTRlYzkwYTk1Yzk4MjU0MjJkYzVkMDlhNzNlYjA0YzQK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRB
cnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL2tleS1pcy1ub3QtaW50ZWdlci5qcwpA
QCAtMCwwICsxLDQyIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1pbnRlZ2Vy
LWluZGV4ZWQtZXhvdGljLW9iamVjdHMtZGVsZXRlLXAKK2Rlc2NyaXB0aW9uOiA+CisgIFJldHVy
biB0cnVlIGlmIGtleSBpcyBhIENhbm9uaWNhbE51bWVyaWNJbmRleCBhbmQgSXNWYWxpZEludGVn
ZXJJbmRleChPLCBudW1lcmljSW5kZXgpIGlzIGZhbHNlLgoraW5mbzogfAorICBbW0RlbGV0ZV1d
IChQKQorCisgIC4uLgorICBBc3NlcnQ6IElzUHJvcGVydHlLZXkoUCkgaXMgdHJ1ZS4KKyAgQXNz
ZXJ0OiBPIGlzIGFuIEludGVnZXItSW5kZXhlZCBleG90aWMgb2JqZWN0LgorICBJZiBUeXBlKFAp
IGlzIFN0cmluZywgdGhlbgorICAgIExldCBudW1lcmljSW5kZXggYmUgISBDYW5vbmljYWxOdW1l
cmljSW5kZXhTdHJpbmcoUCkuCisgICAgSWYgbnVtZXJpY0luZGV4IGlzIG5vdCB1bmRlZmluZWQs
IHRoZW4KKyAgICAgIElmIElzRGV0YWNoZWRCdWZmZXIoTy5bW1ZpZXdlZEFycmF5QnVmZmVyXV0p
IGlzIHRydWUsIHJldHVybiB0cnVlLgorICAgICAgSWYgISBJc1ZhbGlkSW50ZWdlckluZGV4KE8s
IG51bWVyaWNJbmRleCkgaXMgZmFsc2UsIHJldHVybiB0cnVlLgorICAgICAgUmV0dXJuIGZhbHNl
LgorICAgICAgICAuLi4KKworICBJbnRlZ2VySW5kZXhlZEVsZW1lbnRHZXQgKCBPLCBpbmRleCAp
CisKKyAgLi4uCisgIDUuIElmIElzSW50ZWdlcihpbmRleCkgaXMgZmFsc2UsIHJldHVybiB1bmRl
ZmluZWQuCisgIC4uLgoraW5jbHVkZXM6IFt0ZXN0VHlwZWRBcnJheS5qc10KK2ZlYXR1cmVzOiBb
YWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBUeXBlZEFy
cmF5XQorLS0tKi8KKwordGVzdFdpdGhUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRB
KSB7CisgIGxldCBwcm90byA9IFR5cGVkQXJyYXkucHJvdG90eXBlOworICBPYmplY3QuZGVmaW5l
UHJvcGVydHkocHJvdG8sICIxLjEiLCB7CisgICAgY29uZmlndXJhYmxlOiB0cnVlLAorICAgIGdl
dCgpIHsKKyAgICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoIk9yZGluYXJ5R2V0IHdhcyBjYWxs
ZWQhIik7CisgICAgfQorICB9KTsKKyAgbGV0IHNhbXBsZSA9IG5ldyBUQSgxKTsKKworICBhc3Nl
cnQuc2FtZVZhbHVlKGRlbGV0ZSBzYW1wbGVbIjEuMSJdLCB0cnVlLCAnVGhlIHZhbHVlIG9mIGBk
ZWxldGUgc2FtcGxlWyIxLjEiXWAgaXMgdHJ1ZScpOworICBhc3NlcnQuc2FtZVZhbHVlKGRlbGV0
ZSBzYW1wbGVbMS4xXSwgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVsxLjFdYCBp
cyB0cnVlJyk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUva2V5LWlzLW5vdC1taW51
cy16ZXJvLW5vbi1zdHJpY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL2tleS1pcy1ub3QtbWludXMtemVy
by1ub24tc3RyaWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlZGJiYmM1YTk0YjJhOGUxYWYwMWNkNDk1ZmNj
N2I3ODE2NzRiMzYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL2tleS1pcy1ub3Qt
bWludXMtemVyby1ub24tc3RyaWN0LmpzCkBAIC0wLDAgKzEsNDQgQEAKKy8vIENvcHlyaWdodCAo
QykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
CisvKi0tLQorZXNpZDogc2VjLWludGVnZXItaW5kZXhlZC1leG90aWMtb2JqZWN0cy1kZWxldGUt
cAorZGVzY3JpcHRpb246ID4KKyAgUmV0dXJuIHRydWUgaWYga2V5IGlzIGEgQ2Fub25pY2FsTnVt
ZXJpY0luZGV4IGFuZCBJc1ZhbGlkSW50ZWdlckluZGV4KE8sIG51bWVyaWNJbmRleCkgaXMgZmFs
c2UuCitpbmZvOiB8CisgIFtbRGVsZXRlXV0gKFApCisKKyAgLi4uCisgIEFzc2VydDogSXNQcm9w
ZXJ0eUtleShQKSBpcyB0cnVlLgorICBBc3NlcnQ6IE8gaXMgYW4gSW50ZWdlci1JbmRleGVkIGV4
b3RpYyBvYmplY3QuCisgIElmIFR5cGUoUCkgaXMgU3RyaW5nLCB0aGVuCisgICAgTGV0IG51bWVy
aWNJbmRleCBiZSAhIENhbm9uaWNhbE51bWVyaWNJbmRleFN0cmluZyhQKS4KKyAgICBJZiBudW1l
cmljSW5kZXggaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgSWYgSXNEZXRhY2hlZEJ1ZmZl
cihPLltbVmlld2VkQXJyYXlCdWZmZXJdXSkgaXMgdHJ1ZSwgcmV0dXJuIHRydWUuCisgICAgICBJ
ZiAhIElzVmFsaWRJbnRlZ2VySW5kZXgoTywgbnVtZXJpY0luZGV4KSBpcyBmYWxzZSwgcmV0dXJu
IHRydWUuCisgICAgICBSZXR1cm4gZmFsc2UuCisKKyAgLi4uCisKKyAgSW50ZWdlckluZGV4ZWRF
bGVtZW50R2V0ICggTywgaW5kZXggKQorCisgIC4uLgorICBJZiAhIElzVmFsaWRJbnRlZ2VySW5k
ZXgoTywgaW5kZXgpIGlzIGZhbHNlLCByZXR1cm4gdW5kZWZpbmVkLgorICAuLi4KK2ZsYWdzOiBb
bm9TdHJpY3RdCitpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5LmpzXQorZmVhdHVyZXM6IFthbGln
bi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIFR5cGVkQXJyYXld
CistLS0qLworCit0ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsK
KyAgbGV0IHByb3RvID0gVHlwZWRBcnJheS5wcm90b3R5cGU7CisgIE9iamVjdC5kZWZpbmVQcm9w
ZXJ0eShwcm90bywgIi0wIiwgeworICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwKKyAgICBnZXQoKSB7
CisgICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCJPcmRpbmFyeUdldCB3YXMgY2FsbGVkISIp
OworICAgIH0KKyAgfSk7CisgIGxldCBzYW1wbGUgPSBuZXcgVEEoMSk7CisKKyAgYXNzZXJ0LnNh
bWVWYWx1ZShkZWxldGUgc2FtcGxlWyItMCJdLCB0cnVlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUg
c2FtcGxlWyItMCJdYCBpcyB0cnVlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNhbXBs
ZVstMF0sIGZhbHNlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUgc2FtcGxlWy0wXWAgaXMgZmFsc2Un
KTsKK30pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9rZXktaXMtbm90LW1pbnVzLXplcm8t
c3RyaWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9rZXktaXMtbm90LW1pbnVzLXplcm8tc3RyaWN0Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjAzMTgwMTFjZjg3M2VhNGFhNzZhNzAzYjkxNTMzMzZkMGRkMTk1MDQKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL2tleS1pcy1ub3QtbWludXMtemVyby1zdHJp
Y3QuanMKQEAgLTAsMCArMSw0NiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJv
bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUg
QlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMt
aW50ZWdlci1pbmRleGVkLWV4b3RpYy1vYmplY3RzLWRlbGV0ZS1wCitkZXNjcmlwdGlvbjogPgor
ICBSZXR1cm4gdHJ1ZSBpZiBrZXkgaXMgYSBDYW5vbmljYWxOdW1lcmljSW5kZXggYW5kIElzVmFs
aWRJbnRlZ2VySW5kZXgoTywgbnVtZXJpY0luZGV4KSBpcyBmYWxzZS4KK2luZm86IHwKKyAgW1tE
ZWxldGVdXSAoUCkKKworICAuLi4KKyAgQXNzZXJ0OiBJc1Byb3BlcnR5S2V5KFApIGlzIHRydWUu
CisgIEFzc2VydDogTyBpcyBhbiBJbnRlZ2VyLUluZGV4ZWQgZXhvdGljIG9iamVjdC4KKyAgSWYg
VHlwZShQKSBpcyBTdHJpbmcsIHRoZW4KKyAgICBMZXQgbnVtZXJpY0luZGV4IGJlICEgQ2Fub25p
Y2FsTnVtZXJpY0luZGV4U3RyaW5nKFApLgorICAgIElmIG51bWVyaWNJbmRleCBpcyBub3QgdW5k
ZWZpbmVkLCB0aGVuCisgICAgICBJZiBJc0RldGFjaGVkQnVmZmVyKE8uW1tWaWV3ZWRBcnJheUJ1
ZmZlcl1dKSBpcyB0cnVlLCByZXR1cm4gdHJ1ZS4KKyAgICAgIElmICEgSXNWYWxpZEludGVnZXJJ
bmRleChPLCBudW1lcmljSW5kZXgpIGlzIGZhbHNlLCByZXR1cm4gdHJ1ZS4KKyAgICAgIFJldHVy
biBmYWxzZS4KKworICAuLi4KKworICBJbnRlZ2VySW5kZXhlZEVsZW1lbnRHZXQgKCBPLCBpbmRl
eCApCisKKyAgLi4uCisgIElmICEgSXNWYWxpZEludGVnZXJJbmRleChPLCBpbmRleCkgaXMgZmFs
c2UsIHJldHVybiB1bmRlZmluZWQuCisgIC4uLgorZmxhZ3M6IFtvbmx5U3RyaWN0XQoraW5jbHVk
ZXM6IFt0ZXN0VHlwZWRBcnJheS5qc10KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVy
LXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBUeXBlZEFycmF5XQorLS0tKi8KKwordGVzdFdp
dGhUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CisgIGxldCBwcm90byA9IFR5
cGVkQXJyYXkucHJvdG90eXBlOworICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICItMCIs
IHsKKyAgICBjb25maWd1cmFibGU6IHRydWUsCisgICAgZ2V0KCkgeworICAgICAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcigiT3JkaW5hcnlHZXQgd2FzIGNhbGxlZCEiKTsKKyAgICB9CisgIH0pOwor
ICBsZXQgc2FtcGxlID0gbmV3IFRBKDEpOworCisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNh
bXBsZVsiLTAiXSwgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVsiLTAiXWAgaXMg
dHJ1ZScpOworICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICAgIGRlbGV0ZSBz
YW1wbGVbLTBdOworICB9LCAnYGRlbGV0ZSBzYW1wbGVbLTBdYCB0aHJvd3MgVHlwZUVycm9yJyk7
Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFy
cmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUva2V5LWlzLW5vdC1udW1lcmljLWluZGV4
LWdldC10aHJvd3MuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL2tleS1pcy1ub3QtbnVtZXJpYy1pbmRleC1n
ZXQtdGhyb3dzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwYTJmM2FmYWJlYmFjOTFmMjg1NDM2MzUwYTNkODI2
NjYwYTEyMzIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL2tleS1pcy1ub3QtbnVt
ZXJpYy1pbmRleC1nZXQtdGhyb3dzLmpzCkBAIC0wLDAgKzEsMzggQEAKKy8vIENvcHlyaWdodCAo
QykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUg
aXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu
CisvKi0tLQorZXNpZDogc2VjLWludGVnZXItaW5kZXhlZC1leG90aWMtb2JqZWN0cy1kZWxldGUt
cAorZGVzY3JpcHRpb246ID4KKyAgVXNlIE9yZGluYXJ5RGVsZXRlIGlmIGtleSBpcyBub3QgYSBD
YW5vbmljYWxOdW1lcmljSW5kZXgKK2luZm86IHwKKyAgW1tEZWxldGVdXSAoUCkKKworICAuLi4K
KyAgQXNzZXJ0OiBJc1Byb3BlcnR5S2V5KFApIGlzIHRydWUuCisgIEFzc2VydDogTyBpcyBhbiBJ
bnRlZ2VyLUluZGV4ZWQgZXhvdGljIG9iamVjdC4KKyAgSWYgVHlwZShQKSBpcyBTdHJpbmcsIHRo
ZW4KKyAgICBMZXQgbnVtZXJpY0luZGV4IGJlICEgQ2Fub25pY2FsTnVtZXJpY0luZGV4U3RyaW5n
KFApLgorICAgIElmIG51bWVyaWNJbmRleCBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICBJ
ZiBJc0RldGFjaGVkQnVmZmVyKE8uW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dKSBpcyB0cnVlLCByZXR1
cm4gdHJ1ZS4KKyAgICAgIElmICEgSXNWYWxpZEludGVnZXJJbmRleChPLCBudW1lcmljSW5kZXgp
IGlzIGZhbHNlLCByZXR1cm4gdHJ1ZS4KKyAgICAgIFJldHVybiBmYWxzZS4KKyAgICAgIC4uLgor
ICBSZXR1cm4gPyBPcmRpbmFyeURlbGV0ZShPLCBQKS4KKworaW5jbHVkZXM6IFt0ZXN0VHlwZWRB
cnJheS5qc10KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRo
LXdlYi1yZWFsaXR5LCBUeXBlZEFycmF5XQorLS0tKi8KKwordGVzdFdpdGhUeXBlZEFycmF5Q29u
c3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CisgIGxldCBzYW1wbGUgPSBuZXcgVEEoMSk7CisKKyAg
T2JqZWN0LmRlZmluZVByb3BlcnR5KHNhbXBsZSwgImZvbyIsIHsKKyAgICBnZXQoKSB7CisgICAg
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7CisgICAgfQorICB9KTsKKworICBhc3NlcnQudGhy
b3dzKFRlc3QyNjJFcnJvciwgKCkgPT4geworICAgIHNhbXBsZS5mb287CisgIH0sICdgc2FtcGxl
LmZvb2AgdGhyb3dzIFRlc3QyNjJFcnJvcicpOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVs
ZXRlL2tleS1pcy1ub3QtbnVtZXJpYy1pbmRleC1ub24tc3RyaWN0LmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0
ZS9rZXktaXMtbm90LW51bWVyaWMtaW5kZXgtbm9uLXN0cmljdC5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNGM0
NmUyM2IzZTI4ZGU1MTEyOWQ2MGYzMTcxZmYxMjcwMTM3YjQ0Ci0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50
ZXJuYWxzL0RlbGV0ZS9rZXktaXMtbm90LW51bWVyaWMtaW5kZXgtbm9uLXN0cmljdC5qcwpAQCAt
MCwwICsxLDQ0IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5z
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1pbnRlZ2VyLWlu
ZGV4ZWQtZXhvdGljLW9iamVjdHMtZGVsZXRlLXAKK2Rlc2NyaXB0aW9uOiA+CisgIFVzZSBPcmRp
bmFyeURlbGV0ZSBpZiBrZXkgaXMgbm90IGEgQ2Fub25pY2FsTnVtZXJpY0luZGV4CitpbmZvOiB8
CisgIFtbRGVsZXRlXV0gKFApCisKKyAgLi4uCisgIEFzc2VydDogSXNQcm9wZXJ0eUtleShQKSBp
cyB0cnVlLgorICBBc3NlcnQ6IE8gaXMgYW4gSW50ZWdlci1JbmRleGVkIGV4b3RpYyBvYmplY3Qu
CisgIElmIFR5cGUoUCkgaXMgU3RyaW5nLCB0aGVuCisgICAgTGV0IG51bWVyaWNJbmRleCBiZSAh
IENhbm9uaWNhbE51bWVyaWNJbmRleFN0cmluZyhQKS4KKyAgICBJZiBudW1lcmljSW5kZXggaXMg
bm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgSWYgSXNEZXRhY2hlZEJ1ZmZlcihPLltbVmlld2Vk
QXJyYXlCdWZmZXJdXSkgaXMgdHJ1ZSwgcmV0dXJuIHRydWUuCisgICAgICBJZiAhIElzVmFsaWRJ
bnRlZ2VySW5kZXgoTywgbnVtZXJpY0luZGV4KSBpcyBmYWxzZSwgcmV0dXJuIHRydWUuCisgICAg
ICBSZXR1cm4gZmFsc2UuCisgICAgLi4uCisgIFJldHVybiA/IE9yZGluYXJ5RGVsZXRlKE8sIFAp
LgorZmxhZ3M6IFtub1N0cmljdF0KK2luY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXkuanNdCitmZWF0
dXJlczogW2FsaWduLWRldGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwg
VHlwZWRBcnJheV0KKy0tLSovCisKK3Rlc3RXaXRoVHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5j
dGlvbihUQSkgeworICBUeXBlZEFycmF5LnByb3RvdHlwZS5iYXogPSAiYmF6IjsKKyAgbGV0IHNh
bXBsZSA9IG5ldyBUQSgxKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGRlbGV0ZSBzYW1w
bGUuZm9vLCB0cnVlLAorICAgICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBzYW1wbGUuZm9vYCBpcyB0
cnVlJworICApOworCisgIHNhbXBsZS5mb28gPSAiZm9vIjsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShk
ZWxldGUgc2FtcGxlLmZvbywgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZS5mb29g
IGlzIHRydWUnKTsKKworICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2FtcGxlLCAiYmFyIiwgewor
ICAgIGdldCgpIHsgcmV0dXJuICJiYXIiOyB9CisgIH0pOworCisgIGFzc2VydC5zYW1lVmFsdWUo
ZGVsZXRlIHNhbXBsZS5iYXIsIGZhbHNlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUgc2FtcGxlLmJh
cmAgaXMgZmFsc2UnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShkZWxldGUgc2FtcGxlLmJheiwgdHJ1
ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZS5iYXpgIGlzIHRydWUnKTsKK30pOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9rZXktaXMtbm90LW51bWVyaWMtaW5kZXgtc3RyaWN0Lmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMv
aW50ZXJuYWxzL0RlbGV0ZS9rZXktaXMtbm90LW51bWVyaWMtaW5kZXgtc3RyaWN0LmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIzZDNlMTk4ZGJiZmEyMTg0MTQxNThiNTM3NzU3ODc5MzMyYjIxZGEKLS0tIC9kZXYv
bnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL2tleS1pcy1ub3QtbnVtZXJpYy1pbmRleC1zdHJpY3Qu
anMKQEAgLTAsMCArMSw0NyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtaW50
ZWdlci1pbmRleGVkLWV4b3RpYy1vYmplY3RzLWRlbGV0ZS1wCitkZXNjcmlwdGlvbjogPgorICBV
c2UgT3JkaW5hcnlEZWxldGUgaWYga2V5IGlzIG5vdCBhIENhbm9uaWNhbE51bWVyaWNJbmRleAor
aW5mbzogfAorICBbW0RlbGV0ZV1dIChQKQorCisgIC4uLgorICBBc3NlcnQ6IElzUHJvcGVydHlL
ZXkoUCkgaXMgdHJ1ZS4KKyAgQXNzZXJ0OiBPIGlzIGFuIEludGVnZXItSW5kZXhlZCBleG90aWMg
b2JqZWN0LgorICBJZiBUeXBlKFApIGlzIFN0cmluZywgdGhlbgorICAgIExldCBudW1lcmljSW5k
ZXggYmUgISBDYW5vbmljYWxOdW1lcmljSW5kZXhTdHJpbmcoUCkuCisgICAgSWYgbnVtZXJpY0lu
ZGV4IGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAgICAgIElmIElzRGV0YWNoZWRCdWZmZXIoTy5b
W1ZpZXdlZEFycmF5QnVmZmVyXV0pIGlzIHRydWUsIHJldHVybiB0cnVlLgorICAgICAgSWYgISBJ
c1ZhbGlkSW50ZWdlckluZGV4KE8sIG51bWVyaWNJbmRleCkgaXMgZmFsc2UsIHJldHVybiB0cnVl
LgorICAgICAgUmV0dXJuIGZhbHNlLgorICAgIC4uLgorICBSZXR1cm4gPyBPcmRpbmFyeURlbGV0
ZShPLCBQKS4KK2ZsYWdzOiBbb25seVN0cmljdF0KK2luY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXku
anNdCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWIt
cmVhbGl0eSwgVHlwZWRBcnJheV0KKy0tLSovCisKK3Rlc3RXaXRoVHlwZWRBcnJheUNvbnN0cnVj
dG9ycyhmdW5jdGlvbihUQSkgeworICBUeXBlZEFycmF5LnByb3RvdHlwZS5iYXogPSAiYmF6IjsK
KyAgbGV0IHNhbXBsZSA9IG5ldyBUQSgxKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIGRl
bGV0ZSBzYW1wbGUuZm9vLCB0cnVlLAorICAgICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBzYW1wbGUu
Zm9vYCBpcyB0cnVlJworICApOworCisgIHNhbXBsZS5mb28gPSAiZm9vIjsKKyAgYXNzZXJ0LnNh
bWVWYWx1ZShkZWxldGUgc2FtcGxlLmZvbywgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNh
bXBsZS5mb29gIGlzIHRydWUnKTsKKworICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2FtcGxlLCAi
YmFyIiwgeworICAgIGdldCgpIHsgcmV0dXJuICJiYXIiOyB9CisgIH0pOworCisgIGFzc2VydC50
aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgICAgZGVsZXRlIHNhbXBsZS5iYXI7CisgIH0sICdg
ZGVsZXRlIHNhbXBsZS5iYXJgIHRocm93cyBUeXBlRXJyb3InKTsKKworICBhc3NlcnQuc2FtZVZh
bHVlKGRlbGV0ZSBzYW1wbGUuYmF6LCB0cnVlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUgc2FtcGxl
LmJhemAgaXMgdHJ1ZScpOworfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL2tleS1pcy1v
dXQtb2YtYm91bmRzLW5vbi1zdHJpY3QuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL2tleS1pcy1vdXQtb2Yt
Ym91bmRzLW5vbi1zdHJpY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzU1OTQ3MThiYWZlMWVjZGRkOTFiNmYy
ZjA0ZjFjZDM3MGY4OTQyZQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUva2V5LWlz
LW91dC1vZi1ib3VuZHMtbm9uLXN0cmljdC5qcwpAQCAtMCwwICsxLDQ3IEBACisvLyBDb3B5cmln
aHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBj
b2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorLyotLS0KK2VzaWQ6IHNlYy1pbnRlZ2VyLWluZGV4ZWQtZXhvdGljLW9iamVjdHMtZGVs
ZXRlLXAKK2Rlc2NyaXB0aW9uOiA+CisgIFJldHVybiB0cnVlIGlmIElzVmFsaWRJbnRlZ2VySW5k
ZXgoTywgbnVtZXJpY0luZGV4KSBpcyBmYWxzZS4KK2luZm86IHwKKyAgW1tEZWxldGVdXSAoUCkK
KworICAuLi4KKyAgQXNzZXJ0OiBJc1Byb3BlcnR5S2V5KFApIGlzIHRydWUuCisgIEFzc2VydDog
TyBpcyBhbiBJbnRlZ2VyLUluZGV4ZWQgZXhvdGljIG9iamVjdC4KKyAgSWYgVHlwZShQKSBpcyBT
dHJpbmcsIHRoZW4KKyAgICBMZXQgbnVtZXJpY0luZGV4IGJlICEgQ2Fub25pY2FsTnVtZXJpY0lu
ZGV4U3RyaW5nKFApLgorICAgIElmIG51bWVyaWNJbmRleCBpcyBub3QgdW5kZWZpbmVkLCB0aGVu
CisgICAgICBJZiBJc0RldGFjaGVkQnVmZmVyKE8uW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dKSBpcyB0
cnVlLCByZXR1cm4gdHJ1ZS4KKyAgICAgIElmICEgSXNWYWxpZEludGVnZXJJbmRleChPLCBudW1l
cmljSW5kZXgpIGlzIGZhbHNlLCByZXR1cm4gdHJ1ZS4KKyAgICAgIFJldHVybiBmYWxzZS4KKyAg
ICAgICAgLi4uCisgIFJldHVybiA/IE9yZGluYXJ5RGVsZXRlKE8sIFApLgorCitmbGFnczogW25v
U3RyaWN0XQoraW5jbHVkZXM6IFt0ZXN0VHlwZWRBcnJheS5qc10KK2ZlYXR1cmVzOiBbYWxpZ24t
ZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBUeXBlZEFycmF5XQor
LS0tKi8KKwordGVzdFdpdGhUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7Cisg
IGxldCBwcm90byA9IFR5cGVkQXJyYXkucHJvdG90eXBlOworICBsZXQgZGVzY3JpcHRvckdldHRl
clRocm93cyA9IHsKKyAgICBjb25maWd1cmFibGU6IHRydWUsCisgICAgZ2V0KCkgeworICAgICAg
dGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiT3JkaW5hcnlHZXQgd2FzIGNhbGxlZCEiKTsKKyAgICB9
CisgIH07CisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHByb3RvLCB7CisgICAgWyItMSJdOiBk
ZXNjcmlwdG9yR2V0dGVyVGhyb3dzLAorICAgIFsiMSJdOiBkZXNjcmlwdG9yR2V0dGVyVGhyb3dz
LAorICB9KTsKKworICBsZXQgc2FtcGxlID0gbmV3IFRBKDEpOworICBhc3NlcnQuc2FtZVZhbHVl
KGRlbGV0ZSBzYW1wbGVbIi0xIl0sIHRydWUsICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBzYW1wbGVb
Ii0xIl1gIGlzIHRydWUnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShkZWxldGUgc2FtcGxlWy0xXSwg
dHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVstMV1gIGlzIHRydWUnKTsKKyAgYXNz
ZXJ0LnNhbWVWYWx1ZShkZWxldGUgc2FtcGxlWyIwIl0sIGZhbHNlLCAnVGhlIHZhbHVlIG9mIGBk
ZWxldGUgc2FtcGxlWyIwIl1gIGlzIGZhbHNlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRl
IHNhbXBsZVswXSwgZmFsc2UsICdUaGUgdmFsdWUgb2YgYGRlbGV0ZSBzYW1wbGVbMF1gIGlzIGZh
bHNlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNhbXBsZVsiMSJdLCB0cnVlLCAnVGhl
IHZhbHVlIG9mIGBkZWxldGUgc2FtcGxlWyIxIl1gIGlzIHRydWUnKTsKKyAgYXNzZXJ0LnNhbWVW
YWx1ZShkZWxldGUgc2FtcGxlWzFdLCB0cnVlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUgc2FtcGxl
WzFdYCBpcyB0cnVlJyk7Cit9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUva2V5LWlzLW91
dC1vZi1ib3VuZHMtc3RyaWN0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0RlbGV0ZS9rZXktaXMtb3V0LW9mLWJvdW5k
cy1zdHJpY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU5OTk1NmVhOWQ5NWE0NmZlZjg0Mzc2ODg4YjMxNWJj
ZDA4ODUzMwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUva2V5LWlzLW91dC1vZi1i
b3VuZHMtc3RyaWN0LmpzCkBAIC0wLDAgKzEsNTQgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBS
aWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQor
ZXNpZDogc2VjLWludGVnZXItaW5kZXhlZC1leG90aWMtb2JqZWN0cy1kZWxldGUtcAorZGVzY3Jp
cHRpb246ID4KKyAgUmV0dXJuIHRydWUgaWYgSXNWYWxpZEludGVnZXJJbmRleChPLCBudW1lcmlj
SW5kZXgpIGlzIGZhbHNlLgoraW5mbzogfAorICBbW0RlbGV0ZV1dIChQKQorCisgIC4uLgorICBB
c3NlcnQ6IElzUHJvcGVydHlLZXkoUCkgaXMgdHJ1ZS4KKyAgQXNzZXJ0OiBPIGlzIGFuIEludGVn
ZXItSW5kZXhlZCBleG90aWMgb2JqZWN0LgorICBJZiBUeXBlKFApIGlzIFN0cmluZywgdGhlbgor
ICAgIExldCBudW1lcmljSW5kZXggYmUgISBDYW5vbmljYWxOdW1lcmljSW5kZXhTdHJpbmcoUCku
CisgICAgSWYgbnVtZXJpY0luZGV4IGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KKyAgICAgIElmIElz
RGV0YWNoZWRCdWZmZXIoTy5bW1ZpZXdlZEFycmF5QnVmZmVyXV0pIGlzIHRydWUsIHJldHVybiB0
cnVlLgorICAgICAgSWYgISBJc1ZhbGlkSW50ZWdlckluZGV4KE8sIG51bWVyaWNJbmRleCkgaXMg
ZmFsc2UsIHJldHVybiB0cnVlLgorICAgICAgUmV0dXJuIGZhbHNlLgorICAgICAgICAuLi4KKyAg
UmV0dXJuID8gT3JkaW5hcnlEZWxldGUoTywgUCkuCisKK2ZsYWdzOiBbb25seVN0cmljdF0KK2lu
Y2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXkuanNdCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1
ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgVHlwZWRBcnJheV0KKy0tLSovCisKK3Rl
c3RXaXRoVHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgeworICBsZXQgcHJvdG8g
PSBUeXBlZEFycmF5LnByb3RvdHlwZTsKKyAgbGV0IGRlc2NyaXB0b3JHZXR0ZXJUaHJvd3MgPSB7
CisgICAgY29uZmlndXJhYmxlOiB0cnVlLAorICAgIGdldCgpIHsKKyAgICAgIHRocm93IG5ldyBU
ZXN0MjYyRXJyb3IoIk9yZGluYXJ5R2V0IHdhcyBjYWxsZWQhIik7CisgICAgfQorICB9OworICBP
YmplY3QuZGVmaW5lUHJvcGVydGllcyhwcm90bywgeworICAgIFsiLTEiXTogZGVzY3JpcHRvckdl
dHRlclRocm93cywKKyAgICBbIjEiXTogZGVzY3JpcHRvckdldHRlclRocm93cywKKyAgfSk7CisK
KyAgbGV0IHNhbXBsZSA9IG5ldyBUQSgxKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShkZWxldGUgc2Ft
cGxlWyItMSJdLCB0cnVlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUgc2FtcGxlWyItMSJdYCBpcyB0
cnVlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNhbXBsZVstMV0sIHRydWUsICdUaGUg
dmFsdWUgb2YgYGRlbGV0ZSBzYW1wbGVbLTFdYCBpcyB0cnVlJyk7CisKKyAgYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsICgpID0+IHsKKyAgICBkZWxldGUgc2FtcGxlWyIwIl07CisgIH0sICdgZGVs
ZXRlIHNhbXBsZVsiMCJdYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKKyAgYXNzZXJ0LnRocm93cyhU
eXBlRXJyb3IsICgpID0+IHsKKyAgICBkZWxldGUgc2FtcGxlWzBdOworICB9LCAnYGRlbGV0ZSBz
YW1wbGVbMF1gIHRocm93cyBUeXBlRXJyb3InKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKGRlbGV0
ZSBzYW1wbGVbIjEiXSwgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVsiMSJdYCBp
cyB0cnVlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoZGVsZXRlIHNhbXBsZVsxXSwgdHJ1ZSwgJ1Ro
ZSB2YWx1ZSBvZiBgZGVsZXRlIHNhbXBsZVsxXWAgaXMgdHJ1ZScpOworfSk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9p
bnRlcm5hbHMvRGVsZXRlL2tleS1pcy1zeW1ib2wuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvRGVsZXRlL2tleS1pcy1z
eW1ib2wuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMzVkNGIzNmFiMDc1YTlmOGI2MDAxM2NjMGQ4NmMxMWYxYTY2
MGNiYgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9EZWxldGUva2V5LWlzLXN5bWJvbC5qcwpA
QCAtMCwwICsxLDMxIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1pbnRlZ2Vy
LWluZGV4ZWQtZXhvdGljLW9iamVjdHMtZGVsZXRlLXAKK2Rlc2NyaXB0aW9uOiA+CisgIFVzZSBP
cmRpbmFyeURlbGV0ZSBpZiBrZXkgaXMgYSBTeW1ib2wKK2luZm86IHwKKyAgW1tEZWxldGVdXSAo
UCkKKworICAuLi4KKyAgQXNzZXJ0OiBJc1Byb3BlcnR5S2V5KFApIGlzIHRydWUuCisgIEFzc2Vy
dDogTyBpcyBhbiBJbnRlZ2VyLUluZGV4ZWQgZXhvdGljIG9iamVjdC4KKyAgSWYgVHlwZShQKSBp
cyBTdHJpbmcsIHRoZW4KKyAgICAuLi4KKyAgUmV0dXJuID8gT3JkaW5hcnlEZWxldGUoTywgUCku
CisKK2luY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXkuanNdCitmZWF0dXJlczogW2FsaWduLWRldGFj
aGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgU3ltYm9sLCBTeW1ib2wsIFR5
cGVkQXJyYXldCistLS0qLworCit0ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rp
b24oVEEpIHsKKyAgbGV0IHNhbXBsZSA9IG5ldyBUQSgxKTsKKyAgbGV0IHMgPSBTeW1ib2woIjEi
KTsKKworICBhc3NlcnQuc2FtZVZhbHVlKGRlbGV0ZSBzYW1wbGVbc10sIHRydWUsICdUaGUgdmFs
dWUgb2YgYGRlbGV0ZSBzYW1wbGVbc11gIGlzIHRydWUnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShS
ZWZsZWN0LmhhcyhzYW1wbGUsIHMpLCBmYWxzZSwgJ1JlZmxlY3QuaGFzKHNhbXBsZSwgcykgbXVz
dCByZXR1cm4gZmFsc2UnKTsKKworICBzYW1wbGVbc10gPSAiIjsKKyAgYXNzZXJ0LnNhbWVWYWx1
ZShkZWxldGUgc2FtcGxlW3NdLCB0cnVlLCAnVGhlIHZhbHVlIG9mIGBkZWxldGUgc2FtcGxlW3Nd
YCBpcyB0cnVlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoUmVmbGVjdC5oYXMoc2FtcGxlLCBzKSwg
ZmFsc2UsICdSZWZsZWN0LmhhcyhzYW1wbGUsIHMpIG11c3QgcmV0dXJuIGZhbHNlJyk7Cit9KTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29u
c3RydWN0b3JzL2ludGVybmFscy9HZXQvQmlnSW50L2RldGFjaGVkLWJ1ZmZlci1yZWFsbS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2lu
dGVybmFscy9HZXQvQmlnSW50L2RldGFjaGVkLWJ1ZmZlci1yZWFsbS5qcwppbmRleCBhZjUyZTMz
OTIwMThhNWZlNDZhNmRlMjEwMzc2NDExZGQ0M2YwMmVhLi5mNjI5MDMyNWU3MGM5YzU0MmM5ZGZm
MGNhYmQ0ZjMzMmY4OGVhYTk1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0L0JpZ0ludC9kZXRhY2hl
ZC1idWZmZXItcmVhbG0uanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldC9CaWdJbnQvZGV0YWNoZWQtYnVmZmVy
LXJlYWxtLmpzCkBAIC0zLDMwICszLDM0IEBACiAvKi0tLQogZXNpZDogc2VjLWludGVnZXItaW5k
ZXhlZC1leG90aWMtb2JqZWN0cy1nZXQtcC1yZWNlaXZlcgogZGVzY3JpcHRpb246ID4KLSAgVGhy
b3dzIGEgVHlwZUVycm9yIGlmIGtleSBoYXMgYSBudW1lcmljIGluZGV4IGFuZCBvYmplY3QgaGFz
IGEgZGV0YWNoZWQKKyAgUmV0dXJucyB1bmRlZmluZWQgaWYga2V5IGhhcyBhIG51bWVyaWMgaW5k
ZXggYW5kIG9iamVjdCBoYXMgYSBkZXRhY2hlZAogICBidWZmZXIgKGhvbm9yaW5nIHRoZSBSZWFs
bSBvZiB0aGUgY3VycmVudCBleGVjdXRpb24gY29udGV4dCkKIGluZm86IHwKLSAgOS40LjUuNCBb
W0dldF1dIChQLCBSZWNlaXZlcikKKyAgW1tHZXRdXSAoIFAsIFJlY2VpdmVyICkKIAotICAuLi4K
LSAgMi4gSWYgVHlwZShQKSBpcyBTdHJpbmcsIHRoZW4KLSAgICBhLiBMZXQgbnVtZXJpY0luZGV4
IGJlICEgQ2Fub25pY2FsTnVtZXJpY0luZGV4U3RyaW5nKFApLgotICAgIGIuIElmIG51bWVyaWNJ
bmRleCBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCi0gICAgICBpLiBSZXR1cm4gPyBJbnRlZ2VySW5k
ZXhlZEVsZW1lbnRHZXQoTywgbnVtZXJpY0luZGV4KS4KKyAgICBJZiBUeXBlKFApIGlzIFN0cmlu
ZywgdGhlbgorICAgICAgTGV0IG51bWVyaWNJbmRleCBiZSAhIENhbm9uaWNhbE51bWVyaWNJbmRl
eFN0cmluZyhQKS4KKyAgICAgIElmIG51bWVyaWNJbmRleCBpcyBub3QgdW5kZWZpbmVkLCB0aGVu
CisgICAgICAgIFJldHVybiAhIEludGVnZXJJbmRleGVkRWxlbWVudEdldChPLCBudW1lcmljSW5k
ZXgpLgorCisgIEludGVnZXJJbmRleGVkRWxlbWVudEdldCAoIE8sIGluZGV4ICkKKworICAgIEFz
c2VydDogTyBpcyBhbiBJbnRlZ2VyLUluZGV4ZWQgZXhvdGljIG9iamVjdC4KKyAgICBBc3NlcnQ6
IFR5cGUoaW5kZXgpIGlzIE51bWJlci4KKyAgICBMZXQgYnVmZmVyIGJlIE8uW1tWaWV3ZWRBcnJh
eUJ1ZmZlcl1dLgorICAgIElmIElzRGV0YWNoZWRCdWZmZXIoYnVmZmVyKSBpcyB0cnVlLCByZXR1
cm4gdW5kZWZpbmVkLgogICAuLi4KIGluY2x1ZGVzOiBbdGVzdEJpZ0ludFR5cGVkQXJyYXkuanMs
IGRldGFjaEFycmF5QnVmZmVyLmpzXQotZmVhdHVyZXM6IFtCaWdJbnQsIGNyb3NzLXJlYWxtLCBU
eXBlZEFycmF5XQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdp
dGgtd2ViLXJlYWxpdHksIEJpZ0ludCwgY3Jvc3MtcmVhbG0sIFR5cGVkQXJyYXldCiAtLS0qLwog
Ci12YXIgb3RoZXIgPSAkMjYyLmNyZWF0ZVJlYWxtKCkuZ2xvYmFsOworbGV0IG90aGVyID0gJDI2
Mi5jcmVhdGVSZWFsbSgpLmdsb2JhbDsKIAogdGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3Ry
dWN0b3JzKGZ1bmN0aW9uKFRBKSB7Ci0gIHZhciBPdGhlclRBID0gb3RoZXJbVEEubmFtZV07Ci0g
IHZhciBzYW1wbGUgPSBuZXcgT3RoZXJUQSgxKTsKKyAgbGV0IE90aGVyVEEgPSBvdGhlcltUQS5u
YW1lXTsKKyAgbGV0IHNhbXBsZSA9IG5ldyBPdGhlclRBKDEpOwogCiAgICRERVRBQ0hCVUZGRVIo
c2FtcGxlLmJ1ZmZlcik7CiAKLSAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkg
ewotICAgIHNhbXBsZVswXTsKLSAgfSk7CisgIGFzc2VydC5zYW1lVmFsdWUoc2FtcGxlWzBdLCB1
bmRlZmluZWQsICdUaGUgdmFsdWUgb2Ygc2FtcGxlWzBdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIGB1
bmRlZmluZWRgJyk7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXQvQmlnSW50L2RldGFjaGVk
LWJ1ZmZlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29u
c3RydWN0b3JzL2ludGVybmFscy9HZXQvQmlnSW50L2RldGFjaGVkLWJ1ZmZlci5qcwppbmRleCAw
YWM5NmE4NjNlZDVjZGMyMjNhZDMwNDc0NTQ5NjkyODk0MzlmYTkxLi5hMWRkOTUyMjZiYWY3ZjJl
NzFiYzVhMzk2MTAzNmQzOTllYWJjYjU5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0L0JpZ0ludC9k
ZXRhY2hlZC1idWZmZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldC9CaWdJbnQvZGV0YWNoZWQtYnVmZmVy
LmpzCkBAIC0zLDQ1ICszLDM0IEBACiAvKi0tLQogZXNpZDogc2VjLWludGVnZXItaW5kZXhlZC1l
eG90aWMtb2JqZWN0cy1nZXQtcC1yZWNlaXZlcgogZGVzY3JpcHRpb246ID4KLSAgVGhyb3dzIGEg
VHlwZUVycm9yIGlmIGtleSBoYXMgYSBudW1lcmljIGluZGV4IGFuZCBvYmplY3QgaGFzIGEgZGV0
YWNoZWQgYnVmZmVyCisgIFJldHVybnMgdW5kZWZpbmVkIGlmIGtleSBoYXMgYSBudW1lcmljIGlu
ZGV4IGFuZCBvYmplY3QgaGFzIGEgZGV0YWNoZWQgYnVmZmVyCiBpbmZvOiB8Ci0gIDkuNC41LjQg
W1tHZXRdXSAoUCwgUmVjZWl2ZXIpCisgIFtbR2V0XV0gKCBQLCBSZWNlaXZlciApCisKKyAgICBJ
ZiBUeXBlKFApIGlzIFN0cmluZywgdGhlbgorICAgICAgTGV0IG51bWVyaWNJbmRleCBiZSAhIENh
bm9uaWNhbE51bWVyaWNJbmRleFN0cmluZyhQKS4KKyAgICAgIElmIG51bWVyaWNJbmRleCBpcyBu
b3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICAgIFJldHVybiAhIEludGVnZXJJbmRleGVkRWxlbWVu
dEdldChPLCBudW1lcmljSW5kZXgpLgorCisgIEludGVnZXJJbmRleGVkRWxlbWVudEdldCAoIE8s
IGluZGV4ICkKKworICAgIEFzc2VydDogTyBpcyBhbiBJbnRlZ2VyLUluZGV4ZWQgZXhvdGljIG9i
amVjdC4KKyAgICBBc3NlcnQ6IFR5cGUoaW5kZXgpIGlzIE51bWJlci4KKyAgICBMZXQgYnVmZmVy
IGJlIE8uW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dLgorICAgIElmIElzRGV0YWNoZWRCdWZmZXIoYnVm
ZmVyKSBpcyB0cnVlLCByZXR1cm4gdW5kZWZpbmVkLgogCi0gIC4uLgotICAyLiBJZiBUeXBlKFAp
IGlzIFN0cmluZywgdGhlbgotICAgIGEuIExldCBudW1lcmljSW5kZXggYmUgISBDYW5vbmljYWxO
dW1lcmljSW5kZXhTdHJpbmcoUCkuCi0gICAgYi4gSWYgbnVtZXJpY0luZGV4IGlzIG5vdCB1bmRl
ZmluZWQsIHRoZW4KLSAgICAgIGkuIFJldHVybiA/IEludGVnZXJJbmRleGVkRWxlbWVudEdldChP
LCBudW1lcmljSW5kZXgpLgotICAuLi4KIGluY2x1ZGVzOiBbdGVzdEJpZ0ludFR5cGVkQXJyYXku
anMsIGRldGFjaEFycmF5QnVmZmVyLmpzXQotZmVhdHVyZXM6IFtCaWdJbnQsIFR5cGVkQXJyYXld
CitmZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVh
bGl0eSwgQmlnSW50LCBUeXBlZEFycmF5XQogLS0tKi8KIAogdGVzdFdpdGhCaWdJbnRUeXBlZEFy
cmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7Ci0gIHZhciBzYW1wbGUgPSBuZXcgVEEoWzQy
bl0pOworICBsZXQgc2FtcGxlID0gbmV3IFRBKDEpOwogICAkREVUQUNIQlVGRkVSKHNhbXBsZS5i
dWZmZXIpOwogCi0gIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgICBz
YW1wbGVbMF07Ci0gIH0sICJ2YWxpZCBudW1lcmljIGluZGV4Iik7Ci0KLSAgYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICAgIHNhbXBsZVsiMS4xIl07Ci0gIH0sICJkZXRh
Y2ggYnVmZmVyIHJ1bnMgYmVmb3JlIGNoZWNraW5nIGZvciAxLjEiKTsKLQotICBhc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gICAgc2FtcGxlWyItMCJdOwotICB9LCAiZGV0
YWNoIGJ1ZmZlciBydW5zIGJlZm9yZSBjaGVja2luZyBmb3IgLTAiKTsKLQotICBhc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gICAgc2FtcGxlWyItMSJdOwotICB9LCAiZGV0
YWNoIGJ1ZmZlciBydW5zIGJlZm9yZSBjaGVja2luZyBmb3IgLTEiKTsKLQotICBhc3NlcnQudGhy
b3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gICAgc2FtcGxlWyIxIl07Ci0gIH0sICJkZXRh
Y2ggYnVmZmVyIHJ1bnMgYmVmb3JlIGNoZWNraW5nIGZvciBrZXkgPT0gbGVuZ3RoIik7Ci0KLSAg
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICAgIHNhbXBsZVsiMiJdOwot
ICB9LCAiZGV0YWNoIGJ1ZmZlciBydW5zIGJlZm9yZSBjaGVja2luZyBmb3Iga2V5ID4gbGVuZ3Ro
Iik7CisgIGFzc2VydC5zYW1lVmFsdWUoc2FtcGxlWzBdLCB1bmRlZmluZWQsICdUaGUgdmFsdWUg
b2Ygc2FtcGxlWzBdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIGB1bmRlZmluZWRgJyk7CisgIGFzc2Vy
dC5zYW1lVmFsdWUoc2FtcGxlWyIxLjEiXSwgdW5kZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHNhbXBs
ZVsiMS4xIl0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgYHVuZGVmaW5lZGAnKTsKKyAgYXNzZXJ0LnNh
bWVWYWx1ZShzYW1wbGVbIi0wIl0sIHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiBzYW1wbGVbIi0w
Il0gaXMgZXhwZWN0ZWQgdG8gZXF1YWwgYHVuZGVmaW5lZGAnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1
ZShzYW1wbGVbIi0xIl0sIHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiBzYW1wbGVbIi0xIl0gaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgYHVuZGVmaW5lZGAnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShzYW1w
bGVbIjEiXSwgdW5kZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHNhbXBsZVsiMSJdIGlzIGV4cGVjdGVk
IHRvIGVxdWFsIGB1bmRlZmluZWRgJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoc2FtcGxlWyIyIl0s
IHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiBzYW1wbGVbIjIiXSBpcyBleHBlY3RlZCB0byBlcXVh
bCBgdW5kZWZpbmVkYCcpOwogfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0L0JpZ0ludC9pbmZp
bml0eS1kZXRhY2hlZC1idWZmZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0L0JpZ0ludC9pbmZpbml0eS1kZXRh
Y2hlZC1idWZmZXIuanMKaW5kZXggMWUwNGY5NTQ0M2E1YWE0Y2Q0ODFjMzg1NzI0NmUzYjE3NzA2
OGIwMi4uOTdlZDJhMmRhNmQ5MmVlMDJlZjdhZGQzNTYxN2IwZjI0ZDY2OWE0MiAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMv
aW50ZXJuYWxzL0dldC9CaWdJbnQvaW5maW5pdHktZGV0YWNoZWQtYnVmZmVyLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVy
bmFscy9HZXQvQmlnSW50L2luZmluaXR5LWRldGFjaGVkLWJ1ZmZlci5qcwpAQCAtMjcsMTQgKzI3
LDEyIEBAIGluZm86IHwKICAgICAuLi4KIAogaW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlwZWRBcnJh
eS5qcywgZGV0YWNoQXJyYXlCdWZmZXIuanNdCi1mZWF0dXJlczogW0JpZ0ludCwgVHlwZWRBcnJh
eV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1y
ZWFsaXR5LCBCaWdJbnQsIFR5cGVkQXJyYXldCiAtLS0qLwogCiB0ZXN0V2l0aEJpZ0ludFR5cGVk
QXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKLSAgdmFyIHNhbXBsZSA9IG5ldyBUQSgw
KTsKKyAgbGV0IHNhbXBsZSA9IG5ldyBUQSgwKTsKICAgJERFVEFDSEJVRkZFUihzYW1wbGUuYnVm
ZmVyKTsKIAotICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gICAgc2Ft
cGxlLkluZmluaXR5OwotICB9KTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShzYW1wbGUuSW5maW5pdHks
IHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiBzYW1wbGUuSW5maW5pdHkgaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgYHVuZGVmaW5lZGAnKTsKIH0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldC9CaWdJbnQv
a2V5LWlzLW5vdC1jYW5vbmljYWwtaW5kZXguanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0L0JpZ0ludC9rZXktaXMt
bm90LWNhbm9uaWNhbC1pbmRleC5qcwppbmRleCA1YTU5OTQwOWE2MGY0ZGQ1Y2Q4N2NjYzdhMGE1
NGQ4MzFkOTRlMWE0Li43NjBmMmJkNGNlMDkyNTJlZWJiYWMzMDZmNzM3ZTE3NGEwM2MzMWJjIDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9pbnRlcm5hbHMvR2V0L0JpZ0ludC9rZXktaXMtbm90LWNhbm9uaWNhbC1pbmRleC5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9pbnRlcm5hbHMvR2V0L0JpZ0ludC9rZXktaXMtbm90LWNhbm9uaWNhbC1pbmRleC5qcwpA
QCAtMyw3ICszLDcgQEAKIC8qLS0tCiBlc2lkOiBzZWMtaW50ZWdlci1pbmRleGVkLWV4b3RpYy1v
YmplY3RzLWdldC1wLXJlY2VpdmVyCiBkZXNjcmlwdGlvbjogPgotICBVc2UgT3JnaW5hcnlHZXQg
aWYgbnVtZXJpYyBrZXkgaXMgbm90IGEgQ2Fub25pY2FsTnVtZXJpY0luZGV4CisgIFVzZSBPcmRp
bmFyeUdldCBpZiBudW1lcmljIGtleSBpcyBub3QgYSBDYW5vbmljYWxOdW1lcmljSW5kZXgKIGlu
Zm86IHwKICAgOS40LjUuNCBbW0dldF1dIChQLCBSZWNlaXZlcikKIApAQCAtMTQsNyArMTQsNyBA
QCBpbmZvOiB8CiAgICAgLi4uCiAgIDMuIFJldHVybiA/IE9yZGluYXJ5R2V0KE8sIFAsIFJlY2Vp
dmVyKS4KIGluY2x1ZGVzOiBbdGVzdEJpZ0ludFR5cGVkQXJyYXkuanNdCi1mZWF0dXJlczogW0Jp
Z0ludCwgVHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFu
dGljcy13aXRoLXdlYi1yZWFsaXR5LCBCaWdJbnQsIFR5cGVkQXJyYXldCiAtLS0qLwogCiB2YXIg
a2V5cyA9IFsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXQvQmlnSW50L2tleS1pcy1ub3QtbnVtZXJp
Yy1pbmRleC1nZXQtdGhyb3dzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldC9CaWdJbnQva2V5LWlzLW5vdC1udW1l
cmljLWluZGV4LWdldC10aHJvd3MuanMKaW5kZXggYTUzMmI2Y2VhMTRkZmEzZTJiM2IyN2I0MzNj
Zjk4ODdkZjZjYWZhYy4uMTIxOGFmZTFlNWNlODJmZjkwODQ3MTBjZDEzNDViNjRhZmJlNDlmYSAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMvaW50ZXJuYWxzL0dldC9CaWdJbnQva2V5LWlzLW5vdC1udW1lcmljLWluZGV4LWdl
dC10aHJvd3MuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldC9CaWdJbnQva2V5LWlzLW5vdC1udW1lcmljLWlu
ZGV4LWdldC10aHJvd3MuanMKQEAgLTMsNyArMyw3IEBACiAvKi0tLQogZXNpZDogc2VjLWludGVn
ZXItaW5kZXhlZC1leG90aWMtb2JqZWN0cy1nZXQtcC1yZWNlaXZlcgogZGVzY3JpcHRpb246ID4K
LSAgUmV0dXJucyBhYnJ1cHQgZnJvbSBPcmdpbmFyeUdldCB3aGVuIGtleSBpcyBub3QgYSBudW1l
cmljIGluZGV4CisgIFJldHVybnMgYWJydXB0IGZyb20gT3JkaW5hcnlHZXQgd2hlbiBrZXkgaXMg
bm90IGEgbnVtZXJpYyBpbmRleAogaW5mbzogfAogICA5LjQuNS40IFtbR2V0XV0gKFAsIFJlY2Vp
dmVyKQogCkBAIC0yMCw3ICsyMCw3IEBAIGluZm86IHwKICAgOC4gUmV0dXJuID8gQ2FsbChnZXR0
ZXIsIFJlY2VpdmVyKS4KICAgLi4uCiBpbmNsdWRlczogW3Rlc3RCaWdJbnRUeXBlZEFycmF5Lmpz
XQotZmVhdHVyZXM6IFtCaWdJbnQsIFR5cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWduLWRldGFj
aGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgQmlnSW50LCBUeXBlZEFycmF5
XQogLS0tKi8KIAogdGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9u
KFRBKSB7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRB
cnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0L0JpZ0ludC9rZXktaXMtbm90LW51bWVyaWMt
aW5kZXguanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9pbnRlcm5hbHMvR2V0L0JpZ0ludC9rZXktaXMtbm90LW51bWVyaWMtaW5kZXguanMK
aW5kZXggMzE2N2RkZjBjMGM4ZjBkZWZhNDhmZDZmZTdjMzJhMGRkYjE5NzczYi4uZjYwZjNiMGE2
YThkNjcwZDZkNzMzODMwZDljN2E4NzUxZGVhODdlYiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldC9C
aWdJbnQva2V5LWlzLW5vdC1udW1lcmljLWluZGV4LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXQvQmlnSW50
L2tleS1pcy1ub3QtbnVtZXJpYy1pbmRleC5qcwpAQCAtMyw3ICszLDcgQEAKIC8qLS0tCiBlc2lk
OiBzZWMtaW50ZWdlci1pbmRleGVkLWV4b3RpYy1vYmplY3RzLWdldC1wLXJlY2VpdmVyCiBkZXNj
cmlwdGlvbjogPgotICBVc2UgT3JnaW5hcnlHZXQgaWYga2V5IGlzIG5vdCBhIENhbm9uaWNhbE51
bWVyaWNJbmRleAorICBVc2UgT3JkaW5hcnlHZXQgaWYga2V5IGlzIG5vdCBhIENhbm9uaWNhbE51
bWVyaWNJbmRleAogaW5mbzogfAogICA5LjQuNS40IFtbR2V0XV0gKFAsIFJlY2VpdmVyKQogCkBA
IC0xNCw3ICsxNCw3IEBAIGluZm86IHwKICAgICAuLi4KICAgMy4gUmV0dXJuID8gT3JkaW5hcnlH
ZXQoTywgUCwgUmVjZWl2ZXIpLgogaW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlwZWRBcnJheS5qc10K
LWZlYXR1cmVzOiBbQmlnSW50LCBUeXBlZEFycmF5XQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hl
ZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIEJpZ0ludCwgVHlwZWRBcnJheV0K
IC0tLSovCiAKIFR5cGVkQXJyYXkucHJvdG90eXBlLmJheiA9ICJ0ZXN0MjYyIjsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3Jz
L2ludGVybmFscy9HZXQvQmlnSW50L2tleS1pcy1zeW1ib2wuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0L0JpZ0lu
dC9rZXktaXMtc3ltYm9sLmpzCmluZGV4IDExZTgwZjhkODdlNDQzMzI5ODcyNDQ2ZGE5MzUxOWI2
MmRlYjcyOGEuLjgwYzU1MGEwZDU4YzI2MjU2MGU1NzRjZGE0ZTgzMWU2M2RlODYxNWMgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0
b3JzL2ludGVybmFscy9HZXQvQmlnSW50L2tleS1pcy1zeW1ib2wuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dl
dC9CaWdJbnQva2V5LWlzLXN5bWJvbC5qcwpAQCAtMyw3ICszLDcgQEAKIC8qLS0tCiBlc2lkOiBz
ZWMtaW50ZWdlci1pbmRleGVkLWV4b3RpYy1vYmplY3RzLWdldC1wLXJlY2VpdmVyCiBkZXNjcmlw
dGlvbjogPgotICBVc2UgT3JnaW5hcnlHZXQgaWYga2V5IGlzIGEgU3ltYm9sCisgIFVzZSBPcmRp
bmFyeUdldCBpZiBrZXkgaXMgYSBTeW1ib2wKIGluZm86IHwKICAgOS40LjUuNCBbW0dldF1dIChQ
LCBSZWNlaXZlcikKIApAQCAtMTIsNyArMTIsNyBAQCBpbmZvOiB8CiAgICAgLi4uCiAgIDMuIFJl
dHVybiA/IE9yZGluYXJ5R2V0KE8sIFAsIFJlY2VpdmVyKS4KIGluY2x1ZGVzOiBbdGVzdEJpZ0lu
dFR5cGVkQXJyYXkuanNdCi1mZWF0dXJlczogW0JpZ0ludCwgU3ltYm9sLCBUeXBlZEFycmF5XQor
ZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxp
dHksIEJpZ0ludCwgU3ltYm9sLCBUeXBlZEFycmF5XQogLS0tKi8KIAogdmFyIHBhcmVudEtleSA9
IFN5bWJvbCgiMiIpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldC9kZXRhY2hlZC1idWZmZXItcmVh
bG0uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9pbnRlcm5hbHMvR2V0L2RldGFjaGVkLWJ1ZmZlci1yZWFsbS5qcwppbmRleCA3MTMxMGMw
YzQwZTkwYzU2NmY3YTgwZTJlZTljYzk1ODUwZGMxOTcwLi42MGQ3M2JlZTMxZjE2NDgwMjY0Y2Q2
OGFmZjZhMWFhMjI1Y2JkMWE1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0L2RldGFjaGVkLWJ1ZmZl
ci1yZWFsbS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0L2RldGFjaGVkLWJ1ZmZlci1yZWFsbS5qcwpAQCAt
MywzMCArMywzNCBAQAogLyotLS0KIGVzaWQ6IHNlYy1pbnRlZ2VyLWluZGV4ZWQtZXhvdGljLW9i
amVjdHMtZ2V0LXAtcmVjZWl2ZXIKIGRlc2NyaXB0aW9uOiA+Ci0gIFRocm93cyBhIFR5cGVFcnJv
ciBpZiBrZXkgaGFzIGEgbnVtZXJpYyBpbmRleCBhbmQgb2JqZWN0IGhhcyBhIGRldGFjaGVkCisg
IFJldHVybnMgdW5kZWZpbmVkIGlmIGtleSBoYXMgYSBudW1lcmljIGluZGV4IGFuZCBvYmplY3Qg
aGFzIGEgZGV0YWNoZWQKICAgYnVmZmVyIChob25vcmluZyB0aGUgUmVhbG0gb2YgdGhlIGN1cnJl
bnQgZXhlY3V0aW9uIGNvbnRleHQpCiBpbmZvOiB8Ci0gIDkuNC41LjQgW1tHZXRdXSAoUCwgUmVj
ZWl2ZXIpCisgIFtbR2V0XV0gKCBQLCBSZWNlaXZlciApCiAKLSAgLi4uCi0gIDIuIElmIFR5cGUo
UCkgaXMgU3RyaW5nLCB0aGVuCi0gICAgYS4gTGV0IG51bWVyaWNJbmRleCBiZSAhIENhbm9uaWNh
bE51bWVyaWNJbmRleFN0cmluZyhQKS4KLSAgICBiLiBJZiBudW1lcmljSW5kZXggaXMgbm90IHVu
ZGVmaW5lZCwgdGhlbgotICAgICAgaS4gUmV0dXJuID8gSW50ZWdlckluZGV4ZWRFbGVtZW50R2V0
KE8sIG51bWVyaWNJbmRleCkuCisgICAgSWYgVHlwZShQKSBpcyBTdHJpbmcsIHRoZW4KKyAgICAg
IExldCBudW1lcmljSW5kZXggYmUgISBDYW5vbmljYWxOdW1lcmljSW5kZXhTdHJpbmcoUCkuCisg
ICAgICBJZiBudW1lcmljSW5kZXggaXMgbm90IHVuZGVmaW5lZCwgdGhlbgorICAgICAgICBSZXR1
cm4gISBJbnRlZ2VySW5kZXhlZEVsZW1lbnRHZXQoTywgbnVtZXJpY0luZGV4KS4KKworICBJbnRl
Z2VySW5kZXhlZEVsZW1lbnRHZXQgKCBPLCBpbmRleCApCisKKyAgICBBc3NlcnQ6IE8gaXMgYW4g
SW50ZWdlci1JbmRleGVkIGV4b3RpYyBvYmplY3QuCisgICAgQXNzZXJ0OiBUeXBlKGluZGV4KSBp
cyBOdW1iZXIuCisgICAgTGV0IGJ1ZmZlciBiZSBPLltbVmlld2VkQXJyYXlCdWZmZXJdXS4KKyAg
ICBJZiBJc0RldGFjaGVkQnVmZmVyKGJ1ZmZlcikgaXMgdHJ1ZSwgcmV0dXJuIHVuZGVmaW5lZC4K
ICAgLi4uCiBpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5LmpzLCBkZXRhY2hBcnJheUJ1ZmZlci5q
c10KLWZlYXR1cmVzOiBbY3Jvc3MtcmVhbG0sIFR5cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWdu
LWRldGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgY3Jvc3MtcmVhbG0s
IFR5cGVkQXJyYXldCiAtLS0qLwogCi12YXIgb3RoZXIgPSAkMjYyLmNyZWF0ZVJlYWxtKCkuZ2xv
YmFsOworbGV0IG90aGVyID0gJDI2Mi5jcmVhdGVSZWFsbSgpLmdsb2JhbDsKIAogdGVzdFdpdGhU
eXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7Ci0gIHZhciBPdGhlclRBID0gb3Ro
ZXJbVEEubmFtZV07Ci0gIHZhciBzYW1wbGUgPSBuZXcgT3RoZXJUQSgxKTsKKyAgbGV0IE90aGVy
VEEgPSBvdGhlcltUQS5uYW1lXTsKKyAgbGV0IHNhbXBsZSA9IG5ldyBPdGhlclRBKDEpOwogCiAg
ICRERVRBQ0hCVUZGRVIoc2FtcGxlLmJ1ZmZlcik7CiAKLSAgYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsIGZ1bmN0aW9uKCkgewotICAgIHNhbXBsZVswXTsKLSAgfSk7CisgIGFzc2VydC5zYW1lVmFs
dWUoc2FtcGxlWzBdLCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2Ygc2FtcGxlWzBdIGlzIGV4cGVj
dGVkIHRvIGVxdWFsIGB1bmRlZmluZWRgJyk7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXQv
ZGV0YWNoZWQtYnVmZmVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldC9kZXRhY2hlZC1idWZmZXIuanMKaW5kZXgg
NGU1MmIxY2YwYTI0MGZjYzNhZmY0MTZjNGYyODA4NjJmYWZmZWRlMy4uZTc1MzIwOWNkN2JhNTRm
YWRhOTc0YmRjZDE3OTM5YmI5MzU2MTg1YSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldC9kZXRhY2hl
ZC1idWZmZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldC9kZXRhY2hlZC1idWZmZXIuanMKQEAgLTMsNDUg
KzMsMzQgQEAKIC8qLS0tCiBlc2lkOiBzZWMtaW50ZWdlci1pbmRleGVkLWV4b3RpYy1vYmplY3Rz
LWdldC1wLXJlY2VpdmVyCiBkZXNjcmlwdGlvbjogPgotICBUaHJvd3MgYSBUeXBlRXJyb3IgaWYg
a2V5IGhhcyBhIG51bWVyaWMgaW5kZXggYW5kIG9iamVjdCBoYXMgYSBkZXRhY2hlZCBidWZmZXIK
KyAgUmV0dXJucyB1bmRlZmluZWQgaWYga2V5IGhhcyBhIG51bWVyaWMgaW5kZXggYW5kIG9iamVj
dCBoYXMgYSBkZXRhY2hlZCBidWZmZXIKIGluZm86IHwKLSAgOS40LjUuNCBbW0dldF1dIChQLCBS
ZWNlaXZlcikKKyAgW1tHZXRdXSAoIFAsIFJlY2VpdmVyICkKKworICAgIElmIFR5cGUoUCkgaXMg
U3RyaW5nLCB0aGVuCisgICAgICBMZXQgbnVtZXJpY0luZGV4IGJlICEgQ2Fub25pY2FsTnVtZXJp
Y0luZGV4U3RyaW5nKFApLgorICAgICAgSWYgbnVtZXJpY0luZGV4IGlzIG5vdCB1bmRlZmluZWQs
IHRoZW4KKyAgICAgICAgUmV0dXJuICEgSW50ZWdlckluZGV4ZWRFbGVtZW50R2V0KE8sIG51bWVy
aWNJbmRleCkuCisKKyAgSW50ZWdlckluZGV4ZWRFbGVtZW50R2V0ICggTywgaW5kZXggKQorCisg
ICAgQXNzZXJ0OiBPIGlzIGFuIEludGVnZXItSW5kZXhlZCBleG90aWMgb2JqZWN0LgorICAgIEFz
c2VydDogVHlwZShpbmRleCkgaXMgTnVtYmVyLgorICAgIExldCBidWZmZXIgYmUgTy5bW1ZpZXdl
ZEFycmF5QnVmZmVyXV0uCisgICAgSWYgSXNEZXRhY2hlZEJ1ZmZlcihidWZmZXIpIGlzIHRydWUs
IHJldHVybiB1bmRlZmluZWQuCiAKLSAgLi4uCi0gIDIuIElmIFR5cGUoUCkgaXMgU3RyaW5nLCB0
aGVuCi0gICAgYS4gTGV0IG51bWVyaWNJbmRleCBiZSAhIENhbm9uaWNhbE51bWVyaWNJbmRleFN0
cmluZyhQKS4KLSAgICBiLiBJZiBudW1lcmljSW5kZXggaXMgbm90IHVuZGVmaW5lZCwgdGhlbgot
ICAgICAgaS4gUmV0dXJuID8gSW50ZWdlckluZGV4ZWRFbGVtZW50R2V0KE8sIG51bWVyaWNJbmRl
eCkuCi0gIC4uLgogaW5jbHVkZXM6IFt0ZXN0VHlwZWRBcnJheS5qcywgZGV0YWNoQXJyYXlCdWZm
ZXIuanNdCi1mZWF0dXJlczogW1R5cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVk
LWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgVHlwZWRBcnJheV0KIC0tLSovCiAK
IHRlc3RXaXRoVHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewogICB2YXIgc2Ft
cGxlID0gbmV3IFRBKFs0Ml0pOwogICAkREVUQUNIQlVGRkVSKHNhbXBsZS5idWZmZXIpOwogCi0g
IGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgICBzYW1wbGVbMF07Ci0g
IH0sICJ2YWxpZCBudW1lcmljIGluZGV4Iik7Ci0KLSAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3Is
IGZ1bmN0aW9uKCkgewotICAgIHNhbXBsZVsiMS4xIl07Ci0gIH0sICJkZXRhY2ggYnVmZmVyIHJ1
bnMgYmVmb3JlIGNoZWNraW5nIGZvciAxLjEiKTsKLQotICBhc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgZnVuY3Rpb24oKSB7Ci0gICAgc2FtcGxlWyItMCJdOwotICB9LCAiZGV0YWNoIGJ1ZmZlciBy
dW5zIGJlZm9yZSBjaGVja2luZyBmb3IgLTAiKTsKLQotICBhc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgZnVuY3Rpb24oKSB7Ci0gICAgc2FtcGxlWyItMSJdOwotICB9LCAiZGV0YWNoIGJ1ZmZlciBy
dW5zIGJlZm9yZSBjaGVja2luZyBmb3IgLTEiKTsKLQotICBhc3NlcnQudGhyb3dzKFR5cGVFcnJv
ciwgZnVuY3Rpb24oKSB7Ci0gICAgc2FtcGxlWyIxIl07Ci0gIH0sICJkZXRhY2ggYnVmZmVyIHJ1
bnMgYmVmb3JlIGNoZWNraW5nIGZvciBrZXkgPT0gbGVuZ3RoIik7Ci0KLSAgYXNzZXJ0LnRocm93
cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICAgIHNhbXBsZVsiMiJdOwotICB9LCAiZGV0YWNo
IGJ1ZmZlciBydW5zIGJlZm9yZSBjaGVja2luZyBmb3Iga2V5ID4gbGVuZ3RoIik7CisgIGFzc2Vy
dC5zYW1lVmFsdWUoc2FtcGxlWzBdLCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2Ygc2FtcGxlWzBd
IGlzIGV4cGVjdGVkIHRvIGVxdWFsIGB1bmRlZmluZWRgJyk7CisgIGFzc2VydC5zYW1lVmFsdWUo
c2FtcGxlWyIxLjEiXSwgdW5kZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHNhbXBsZVsiMS4xIl0gaXMg
ZXhwZWN0ZWQgdG8gZXF1YWwgYHVuZGVmaW5lZGAnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShzYW1w
bGVbIi0wIl0sIHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiBzYW1wbGVbIi0wIl0gaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgYHVuZGVmaW5lZGAnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShzYW1wbGVbIi0x
Il0sIHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiBzYW1wbGVbIi0xIl0gaXMgZXhwZWN0ZWQgdG8g
ZXF1YWwgYHVuZGVmaW5lZGAnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShzYW1wbGVbIjEiXSwgdW5k
ZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHNhbXBsZVsiMSJdIGlzIGV4cGVjdGVkIHRvIGVxdWFsIGB1
bmRlZmluZWRgJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoc2FtcGxlWyIyIl0sIHVuZGVmaW5lZCwg
J1RoZSB2YWx1ZSBvZiBzYW1wbGVbIjIiXSBpcyBleHBlY3RlZCB0byBlcXVhbCBgdW5kZWZpbmVk
YCcpOwogfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0L2luZmluaXR5LWRldGFjaGVkLWJ1ZmZl
ci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0
b3JzL2ludGVybmFscy9HZXQvaW5maW5pdHktZGV0YWNoZWQtYnVmZmVyLmpzCmluZGV4IGFlMmE4
Y2RmYzc4ZDcwNDQ2MWIyNDA5Y2ZiZjc1MmFjMWZjYzBhZWMuLmQ1YzZkNTM3N2I5OTVmMTQ3NTIz
NjUzNDNlNmNmMWU3YjAxZTQzNmYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXQvaW5maW5pdHktZGV0
YWNoZWQtYnVmZmVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXQvaW5maW5pdHktZGV0YWNoZWQtYnVmZmVy
LmpzCkBAIC0xNCwyNyArMTQsMjYgQEAgaW5mbzogfAogICAgICAgaS4gUmV0dXJuID8gSW50ZWdl
ckluZGV4ZWRFbGVtZW50R2V0KE8sIG51bWVyaWNJbmRleCkuCiAgIC4uLgogCi0gIDcuMS4xNiBD
YW5vbmljYWxOdW1lcmljSW5kZXhTdHJpbmcgKCBhcmd1bWVudCApCisgIENhbm9uaWNhbE51bWVy
aWNJbmRleFN0cmluZyAoIGFyZ3VtZW50ICkKICAgICAuLi4KICAgICAzLiBMZXQgbiBiZSAhIFRv
TnVtYmVyKGFyZ3VtZW50KS4KICAgICA0LiBJZiBTYW1lVmFsdWUoISBUb1N0cmluZyhuKSwgYXJn
dW1lbnQpIGlzIGZhbHNlLCByZXR1cm4gdW5kZWZpbmVkLgogICAgIDUuIFJldHVybiBuLgogCi0g
IDkuNC41LjggSW50ZWdlckluZGV4ZWRFbGVtZW50R2V0ICggTywgaW5kZXggKQotICAgIC4uLgot
ICAgIDMuIExldCBidWZmZXIgYmUgTy5bW1ZpZXdlZEFycmF5QnVmZmVyXV0uCi0gICAgNC4gSWYg
SXNEZXRhY2hlZEJ1ZmZlcihidWZmZXIpIGlzIHRydWUsIHRocm93IGEgVHlwZUVycm9yIGV4Y2Vw
dGlvbi4KLSAgICAuLi4KKyAgSW50ZWdlckluZGV4ZWRFbGVtZW50R2V0ICggTywgaW5kZXggKQor
CisgICAgQXNzZXJ0OiBPIGlzIGFuIEludGVnZXItSW5kZXhlZCBleG90aWMgb2JqZWN0LgorICAg
IEFzc2VydDogVHlwZShpbmRleCkgaXMgTnVtYmVyLgorICAgIExldCBidWZmZXIgYmUgTy5bW1Zp
ZXdlZEFycmF5QnVmZmVyXV0uCisgICAgSWYgSXNEZXRhY2hlZEJ1ZmZlcihidWZmZXIpIGlzIHRy
dWUsIHJldHVybiB1bmRlZmluZWQuCiAKIGluY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXkuanMsIGRl
dGFjaEFycmF5QnVmZmVyLmpzXQotZmVhdHVyZXM6IFtUeXBlZEFycmF5XQorZmVhdHVyZXM6IFth
bGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIFR5cGVkQXJy
YXldCiAtLS0qLwogCiB0ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEp
IHsKLSAgdmFyIHNhbXBsZSA9IG5ldyBUQSgwKTsKKyAgbGV0IHNhbXBsZSA9IG5ldyBUQSgwKTsK
ICAgJERFVEFDSEJVRkZFUihzYW1wbGUuYnVmZmVyKTsKIAotICBhc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgZnVuY3Rpb24oKSB7Ci0gICAgc2FtcGxlLkluZmluaXR5OwotICB9KTsKKyAgYXNzZXJ0
LnNhbWVWYWx1ZShzYW1wbGUuSW5maW5pdHksIHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiBzYW1w
bGUuSW5maW5pdHkgaXMgZXhwZWN0ZWQgdG8gZXF1YWwgYHVuZGVmaW5lZGAnKTsKIH0pOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMvaW50ZXJuYWxzL0dldC9rZXktaXMtbm90LWNhbm9uaWNhbC1pbmRleC5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFs
cy9HZXQva2V5LWlzLW5vdC1jYW5vbmljYWwtaW5kZXguanMKaW5kZXggMjEyOTMwMjZjMGI0NjU5
Mzc2ZTNjOTc0NWEwN2RlOGRhMjAzOGI4Yy4uZjZlMzdlZWI3NDgwYmNmM2NjYjRlNjExMDBkNDkw
ODNlOWM3YmRmOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldC9rZXktaXMtbm90LWNhbm9uaWNhbC1p
bmRleC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNv
bnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0L2tleS1pcy1ub3QtY2Fub25pY2FsLWluZGV4LmpzCkBA
IC0zLDcgKzMsNyBAQAogLyotLS0KIGVzaWQ6IHNlYy1pbnRlZ2VyLWluZGV4ZWQtZXhvdGljLW9i
amVjdHMtZ2V0LXAtcmVjZWl2ZXIKIGRlc2NyaXB0aW9uOiA+Ci0gIFVzZSBPcmdpbmFyeUdldCBp
ZiBudW1lcmljIGtleSBpcyBub3QgYSBDYW5vbmljYWxOdW1lcmljSW5kZXgKKyAgVXNlIE9yZGlu
YXJ5R2V0IGlmIG51bWVyaWMga2V5IGlzIG5vdCBhIENhbm9uaWNhbE51bWVyaWNJbmRleAogaW5m
bzogfAogICA5LjQuNS40IFtbR2V0XV0gKFAsIFJlY2VpdmVyKQogCkBAIC0xNCw3ICsxNCw3IEBA
IGluZm86IHwKICAgICAuLi4KICAgMy4gUmV0dXJuID8gT3JkaW5hcnlHZXQoTywgUCwgUmVjZWl2
ZXIpLgogaW5jbHVkZXM6IFt0ZXN0VHlwZWRBcnJheS5qc10KLWZlYXR1cmVzOiBbVHlwZWRBcnJh
eV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1y
ZWFsaXR5LCBUeXBlZEFycmF5XQogLS0tKi8KIAogdmFyIGtleXMgPSBbCmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRl
cm5hbHMvR2V0L2tleS1pcy1ub3QtbnVtZXJpYy1pbmRleC1nZXQtdGhyb3dzLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxz
L0dldC9rZXktaXMtbm90LW51bWVyaWMtaW5kZXgtZ2V0LXRocm93cy5qcwppbmRleCA3NWVhMWRj
NDNkYmNjYmFlYWQzZjVmOWVlNTIwM2JkMWJjMjlhMDBhLi5jZTFhMzEzY2E0OGExYjNkNGQzMDM4
ZDQ2ZjU0ZDNlZGUxYTAzNDcyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0L2tleS1pcy1ub3QtbnVt
ZXJpYy1pbmRleC1nZXQtdGhyb3dzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXQva2V5LWlzLW5vdC1udW1l
cmljLWluZGV4LWdldC10aHJvd3MuanMKQEAgLTMsNyArMyw3IEBACiAvKi0tLQogZXNpZDogc2Vj
LWludGVnZXItaW5kZXhlZC1leG90aWMtb2JqZWN0cy1nZXQtcC1yZWNlaXZlcgogZGVzY3JpcHRp
b246ID4KLSAgUmV0dXJucyBhYnJ1cHQgZnJvbSBPcmdpbmFyeUdldCB3aGVuIGtleSBpcyBub3Qg
YSBudW1lcmljIGluZGV4CisgIFJldHVybnMgYWJydXB0IGZyb20gT3JkaW5hcnlHZXQgd2hlbiBr
ZXkgaXMgbm90IGEgbnVtZXJpYyBpbmRleAogaW5mbzogfAogICA5LjQuNS40IFtbR2V0XV0gKFAs
IFJlY2VpdmVyKQogCkBAIC0yMCw3ICsyMCw3IEBAIGluZm86IHwKICAgOC4gUmV0dXJuID8gQ2Fs
bChnZXR0ZXIsIFJlY2VpdmVyKS4KICAgLi4uCiBpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5Lmpz
XQotZmVhdHVyZXM6IFtUeXBlZEFycmF5XQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZm
ZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIFR5cGVkQXJyYXldCiAtLS0qLwogCiB0ZXN0
V2l0aFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVy
bmFscy9HZXQva2V5LWlzLW5vdC1udW1lcmljLWluZGV4LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldC9rZXktaXMt
bm90LW51bWVyaWMtaW5kZXguanMKaW5kZXggNTM4MjRhZDM0YWJkZmI0YTRmNGVkY2QxZTA5YjMz
YTE1NzQ4OTg1ZC4uN2IyM2JjMmE1NTQxNjI3MzI3NzkyYTc0NzlkNjM2Zjc3OGIxY2NkYiAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMvaW50ZXJuYWxzL0dldC9rZXktaXMtbm90LW51bWVyaWMtaW5kZXguanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJu
YWxzL0dldC9rZXktaXMtbm90LW51bWVyaWMtaW5kZXguanMKQEAgLTMsNyArMyw3IEBACiAvKi0t
LQogZXNpZDogc2VjLWludGVnZXItaW5kZXhlZC1leG90aWMtb2JqZWN0cy1nZXQtcC1yZWNlaXZl
cgogZGVzY3JpcHRpb246ID4KLSAgVXNlIE9yZ2luYXJ5R2V0IGlmIGtleSBpcyBub3QgYSBDYW5v
bmljYWxOdW1lcmljSW5kZXgKKyAgVXNlIE9yZGluYXJ5R2V0IGlmIGtleSBpcyBub3QgYSBDYW5v
bmljYWxOdW1lcmljSW5kZXgKIGluZm86IHwKICAgOS40LjUuNCBbW0dldF1dIChQLCBSZWNlaXZl
cikKIApAQCAtMTQsNyArMTQsNyBAQCBpbmZvOiB8CiAgICAgLi4uCiAgIDMuIFJldHVybiA/IE9y
ZGluYXJ5R2V0KE8sIFAsIFJlY2VpdmVyKS4KIGluY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXkuanNd
Ci1mZWF0dXJlczogW1R5cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1ZmZl
ci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgVHlwZWRBcnJheV0KIC0tLSovCiAKIFR5cGVk
QXJyYXkucHJvdG90eXBlLmJheiA9ICJ0ZXN0MjYyIjsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXQv
a2V5LWlzLXN5bWJvbC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFy
cmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXQva2V5LWlzLXN5bWJvbC5qcwppbmRleCAxZDA1
ZDA2YmMwYmM4N2I0ZWY3YTllZjg5MjdlMmMyNjk5N2ViNDE0Li4zOTE4MGNmOWNhMDk5ZGE0ZGYx
NzdhYjFlYjJlOGJhNWVkMTJiODBjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0L2tleS1pcy1zeW1i
b2wuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMvaW50ZXJuYWxzL0dldC9rZXktaXMtc3ltYm9sLmpzCkBAIC0zLDcgKzMsNyBAQAog
LyotLS0KIGVzaWQ6IHNlYy1pbnRlZ2VyLWluZGV4ZWQtZXhvdGljLW9iamVjdHMtZ2V0LXAtcmVj
ZWl2ZXIKIGRlc2NyaXB0aW9uOiA+Ci0gIFVzZSBPcmdpbmFyeUdldCBpZiBrZXkgaXMgYSBTeW1i
b2wKKyAgVXNlIE9yZGluYXJ5R2V0IGlmIGtleSBpcyBhIFN5bWJvbAogaW5mbzogfAogICA5LjQu
NS40IFtbR2V0XV0gKFAsIFJlY2VpdmVyKQogCkBAIC0xMiw3ICsxMiw3IEBAIGluZm86IHwKICAg
ICAuLi4KICAgMy4gUmV0dXJuID8gT3JkaW5hcnlHZXQoTywgUCwgUmVjZWl2ZXIpLgogaW5jbHVk
ZXM6IFt0ZXN0VHlwZWRBcnJheS5qc10KLWZlYXR1cmVzOiBbU3ltYm9sLCBUeXBlZEFycmF5XQor
ZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxp
dHksIFN5bWJvbCwgVHlwZWRBcnJheV0KIC0tLSovCiAKIHZhciBwYXJlbnRLZXkgPSBTeW1ib2wo
IjIiKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFy
cmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXRPd25Qcm9wZXJ0eS9CaWdJbnQvZGV0YWNoZWQt
YnVmZmVyLXJlYWxtLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldE93blByb3BlcnR5L0JpZ0ludC9kZXRhY2hlZC1i
dWZmZXItcmVhbG0uanMKaW5kZXggOTFjMDY3MzJiY2ViY2VmY2ZjNWMwNGEwYzA2YTM0MDI1ZGFl
M2M0NC4uYzYwMmIyNDVhYjgxOTQ2N2IzMmE3NGNhN2U2NDgzN2MxOWJhMzhhMyAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMv
aW50ZXJuYWxzL0dldE93blByb3BlcnR5L0JpZ0ludC9kZXRhY2hlZC1idWZmZXItcmVhbG0uanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3Rv
cnMvaW50ZXJuYWxzL0dldE93blByb3BlcnR5L0JpZ0ludC9kZXRhY2hlZC1idWZmZXItcmVhbG0u
anMKQEAgLTMsOCArMyw3IEBACiAvKi0tLQogZXNpZDogc2VjLWludGVnZXItaW5kZXhlZC1leG90
aWMtb2JqZWN0cy1nZXRvd25wcm9wZXJ0eS1wCiBkZXNjcmlwdGlvbjogPgotICBUaHJvd3MgYSBU
eXBlRXJyb3IgaWYgdGhpcyBoYXMgYSBkZXRhY2hlZCBidWZmZXIgKGhvbm9yaW5nIHRoZSBSZWFs
bSBvZiB0aGUKLSAgY3VycmVudCBleGVjdXRpb24gY29udGV4dCkKKyAgUmV0dXJuZWQgdW5kZWZp
bmVkIGlmIHRoaXMgaGFzIGEgZGV0YWNoZWQgYnVmZmVyIChob25vcmluZyB0aGUgUmVhbG0gb2Yg
dGhlIGN1cnJlbnQgZXhlY3V0aW9uIGNvbnRleHQpCiBpbmZvOiB8CiAgIDkuNC41LjEgW1tHZXRP
d25Qcm9wZXJ0eV1dICggUCApCiAKQEAgLTEyLDE3ICsxMSwxOCBAQCBpbmZvOiB8CiAgIDMuIElm
IFR5cGUoUCkgaXMgU3RyaW5nLCB0aGVuCiAgICAgYS4gTGV0IG51bWVyaWNJbmRleCBiZSAhIENh
bm9uaWNhbE51bWVyaWNJbmRleFN0cmluZyhQKS4KICAgICBiLiBJZiBudW1lcmljSW5kZXggaXMg
bm90IHVuZGVmaW5lZCwgdGhlbgotICAgICAgaS4gTGV0IHZhbHVlIGJlID8gSW50ZWdlckluZGV4
ZWRFbGVtZW50R2V0KE8sIG51bWVyaWNJbmRleCkuCisgICAgICBpLiBMZXQgdmFsdWUgYmUgISBJ
bnRlZ2VySW5kZXhlZEVsZW1lbnRHZXQoTywgbnVtZXJpY0luZGV4KS4KKyAgICAgIGlpLiBJZiB2
YWx1ZSBpcyB1bmRlZmluZWQsIHJldHVybiB1bmRlZmluZWQuCiAgIC4uLgogCi0gIDkuNC41Ljgg
SW50ZWdlckluZGV4ZWRFbGVtZW50R2V0ICggTywgaW5kZXggKQorICBJbnRlZ2VySW5kZXhlZEVs
ZW1lbnRHZXQgKCBPLCBpbmRleCApCiAKICAgLi4uCi0gIDMuIExldCBidWZmZXIgYmUgdGhlIHZh
bHVlIG9mIE8ncyBbW1ZpZXdlZEFycmF5QnVmZmVyXV0gaW50ZXJuYWwgc2xvdC4KLSAgNC4gSWYg
SXNEZXRhY2hlZEJ1ZmZlcihidWZmZXIpIGlzIHRydWUsIHRocm93IGEgVHlwZUVycm9yIGV4Y2Vw
dGlvbi4KKyAgTGV0IGJ1ZmZlciBiZSB0aGUgdmFsdWUgb2YgTydzIFtbVmlld2VkQXJyYXlCdWZm
ZXJdXSBpbnRlcm5hbCBzbG90LgorICBJZiBJc0RldGFjaGVkQnVmZmVyKGJ1ZmZlcikgaXMgdHJ1
ZSwgcmV0dXJuIHVuZGVmaW5lZC4KICAgLi4uCiBpbmNsdWRlczogW3Rlc3RCaWdJbnRUeXBlZEFy
cmF5LmpzLCBkZXRhY2hBcnJheUJ1ZmZlci5qc10KLWZlYXR1cmVzOiBbQmlnSW50LCBjcm9zcy1y
ZWFsbSwgVHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFu
dGljcy13aXRoLXdlYi1yZWFsaXR5LCBCaWdJbnQsIGNyb3NzLXJlYWxtLCBUeXBlZEFycmF5XQog
LS0tKi8KIAogdmFyIG90aGVyID0gJDI2Mi5jcmVhdGVSZWFsbSgpLmdsb2JhbDsKQEAgLTMzLDcg
KzMzLDkgQEAgdGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRB
KSB7CiAKICAgJERFVEFDSEJVRkZFUihzYW1wbGUuYnVmZmVyKTsKIAotICBhc3NlcnQudGhyb3dz
KFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihzYW1wbGUsIDApOwotICB9KTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNhbXBsZSwgMCksCisgICAgdW5kZWZpbmVkLAorICAg
ICdPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKCJuZXcgT3RoZXJUQSgxKSIsIDApIG11
c3QgcmV0dXJuIHVuZGVmaW5lZCcKKyAgKTsKIH0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldE93
blByb3BlcnR5L0JpZ0ludC9kZXRhY2hlZC1idWZmZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0T3duUHJvcGVy
dHkvQmlnSW50L2RldGFjaGVkLWJ1ZmZlci5qcwppbmRleCA1ZjE0ZjAzMTcwZjA0MjRmMTIyNGU1
ZWQyZWUxODQwNWEyNDNlODNiLi4wMTc4YjczOTMwZWI2NWUwOTM2MjRhMDUzYTAyYTkyNTg5Mjdh
MmE1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0T3duUHJvcGVydHkvQmlnSW50L2RldGFjaGVkLWJ1
ZmZlci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNv
bnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0T3duUHJvcGVydHkvQmlnSW50L2RldGFjaGVkLWJ1ZmZl
ci5qcwpAQCAtMiw3ICsyLDcgQEAKIC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNE
IGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KIC8qLS0tCiBlc2lkOiBzZWMtaW50
ZWdlci1pbmRleGVkLWV4b3RpYy1vYmplY3RzLWdldG93bnByb3BlcnR5LXAKLWRlc2NyaXB0aW9u
OiBUaHJvd3MgYSBUeXBlRXJyb3IgaWYgdGhpcyBoYXMgYSBkZXRhY2hlZCBidWZmZXIKK2Rlc2Ny
aXB0aW9uOiBSZXR1cm5zIHVuZGVmaW5lZCBpZiB0aGlzIGhhcyBhIGRldGFjaGVkIGJ1ZmZlcgog
aW5mbzogfAogICA5LjQuNS4xIFtbR2V0T3duUHJvcGVydHldXSAoIFAgKQogCkBAIC0xMCwyNCAr
MTAsMjcgQEAgaW5mbzogfAogICAzLiBJZiBUeXBlKFApIGlzIFN0cmluZywgdGhlbgogICAgIGEu
IExldCBudW1lcmljSW5kZXggYmUgISBDYW5vbmljYWxOdW1lcmljSW5kZXhTdHJpbmcoUCkuCiAg
ICAgYi4gSWYgbnVtZXJpY0luZGV4IGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KLSAgICAgIGkuIExl
dCB2YWx1ZSBiZSA/IEludGVnZXJJbmRleGVkRWxlbWVudEdldChPLCBudW1lcmljSW5kZXgpLgor
ICAgICAgaS4gTGV0IHZhbHVlIGJlICEgSW50ZWdlckluZGV4ZWRFbGVtZW50R2V0KE8sIG51bWVy
aWNJbmRleCkuCisgICAgICBpaS4gSWYgdmFsdWUgaXMgdW5kZWZpbmVkLCByZXR1cm4gdW5kZWZp
bmVkLgogICAuLi4KIAotICA5LjQuNS44IEludGVnZXJJbmRleGVkRWxlbWVudEdldCAoIE8sIGlu
ZGV4ICkKKyAgSW50ZWdlckluZGV4ZWRFbGVtZW50R2V0ICggTywgaW5kZXggKQogCiAgIC4uLgot
ICAzLiBMZXQgYnVmZmVyIGJlIHRoZSB2YWx1ZSBvZiBPJ3MgW1tWaWV3ZWRBcnJheUJ1ZmZlcl1d
IGludGVybmFsIHNsb3QuCi0gIDQuIElmIElzRGV0YWNoZWRCdWZmZXIoYnVmZmVyKSBpcyB0cnVl
LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIExldCBidWZmZXIgYmUgdGhlIHZhbHVl
IG9mIE8ncyBbW1ZpZXdlZEFycmF5QnVmZmVyXV0gaW50ZXJuYWwgc2xvdC4KKyAgSWYgSXNEZXRh
Y2hlZEJ1ZmZlcihidWZmZXIpIGlzIHRydWUsIHJldHVybiB1bmRlZmluZWQuCiAgIC4uLgogaW5j
bHVkZXM6IFt0ZXN0QmlnSW50VHlwZWRBcnJheS5qcywgZGV0YWNoQXJyYXlCdWZmZXIuanNdCi1m
ZWF0dXJlczogW0JpZ0ludCwgVHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQt
YnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBCaWdJbnQsIFR5cGVkQXJyYXldCiAt
LS0qLwogCiB0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEp
IHsKICAgdmFyIHNhbXBsZSA9IG5ldyBUQSgxKTsKICAgJERFVEFDSEJVRkZFUihzYW1wbGUuYnVm
ZmVyKTsKIAotICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gICAgT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzYW1wbGUsIDApOwotICB9KTsKKyAgYXNzZXJ0
LnNhbWVWYWx1ZSgKKyAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNhbXBsZSwg
MCksCisgICAgdW5kZWZpbmVkLAorICAgICdPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KHNhbXBsZSwgMCkgbXVzdCByZXR1cm4gdW5kZWZpbmVkJworICApOwogfSk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9p
bnRlcm5hbHMvR2V0T3duUHJvcGVydHkvQmlnSW50L2VudW1lcmF0ZS1kZXRhY2hlZC1idWZmZXIu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9y
cy9pbnRlcm5hbHMvR2V0T3duUHJvcGVydHkvQmlnSW50L2VudW1lcmF0ZS1kZXRhY2hlZC1idWZm
ZXIuanMKaW5kZXggOTUyM2UzYTVmZDVhNjI2MTllYjU2ZGJjN2NlZjMyZGQ3ZjIzYzJmZS4uODRi
MmY3ZGY5MzBlY2FmNTU2YTM2ODViNDJjZmUzMWIzYmI3ZTE3YyAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxz
L0dldE93blByb3BlcnR5L0JpZ0ludC9lbnVtZXJhdGUtZGV0YWNoZWQtYnVmZmVyLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2lu
dGVybmFscy9HZXRPd25Qcm9wZXJ0eS9CaWdJbnQvZW51bWVyYXRlLWRldGFjaGVkLWJ1ZmZlci5q
cwpAQCAtMTAsMTMgKzEwLDEzIEBAIGluZm86IHwKICAgICAzLiBJZiBUeXBlKFApIGlzIFN0cmlu
ZywgdGhlbgogICAgICAgYS4gTGV0IG51bWVyaWNJbmRleCBiZSAhIENhbm9uaWNhbE51bWVyaWNJ
bmRleFN0cmluZyhQKS4KICAgICAgIGIuIElmIG51bWVyaWNJbmRleCBpcyBub3QgdW5kZWZpbmVk
LCB0aGVuCi0gICAgICAgIGkuIExldCB2YWx1ZSBiZSA/IEludGVnZXJJbmRleGVkRWxlbWVudEdl
dChPLCBudW1lcmljSW5kZXgpLgorICAgICAgICBpLiBMZXQgdmFsdWUgYmUgISBJbnRlZ2VySW5k
ZXhlZEVsZW1lbnRHZXQoTywgbnVtZXJpY0luZGV4KS4KICAgICAuLi4KIAotICA5LjQuNS44IElu
dGVnZXJJbmRleGVkRWxlbWVudEdldCAoIE8sIGluZGV4ICkKKyAgSW50ZWdlckluZGV4ZWRFbGVt
ZW50R2V0ICggTywgaW5kZXggKQogICAgIC4uLgotICAgIDMuIExldCBidWZmZXIgYmUgTy5bW1Zp
ZXdlZEFycmF5QnVmZmVyXV0uCi0gICAgNC4gSWYgSXNEZXRhY2hlZEJ1ZmZlcihidWZmZXIpIGlz
IHRydWUsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgICBMZXQgYnVmZmVyIGJlIE8u
W1tWaWV3ZWRBcnJheUJ1ZmZlcl1dLgorICAgIElmIElzRGV0YWNoZWRCdWZmZXIoYnVmZmVyKSBp
cyB0cnVlLCByZXR1cm4gdW5kZWZpbmVkLgogICAgIC4uLgogCiAgIDEzLjcuNS4xNSBFbnVtZXJh
dGVPYmplY3RQcm9wZXJ0aWVzIChPKQpAQCAtMjcsMTYgKzI3LDE2IEBAIGluZm86IHwKICAgICBj
YWxsaW5nIGl0cyBbW0dldE93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kLgogCiBpbmNsdWRl
czogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzLCBkZXRhY2hBcnJheUJ1ZmZlci5qc10KLWZlYXR1
cmVzOiBbQmlnSW50LCBUeXBlZEFycmF5XQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZm
ZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIEJpZ0ludCwgVHlwZWRBcnJheV0KIC0tLSov
CiAKIHRlc3RXaXRoQmlnSW50VHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewog
ICB2YXIgc2FtcGxlID0gbmV3IFRBKDQyKTsKICAgJERFVEFDSEJVRkZFUihzYW1wbGUuYnVmZmVy
KTsKIAotICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gICAgZm9yICh2
YXIga2V5IGluIHNhbXBsZSkgewotICAgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOwotICAg
IH0KLSAgfSk7CisgIGxldCBjb3VudGVyID0gMDsKKyAgZm9yICh2YXIga2V5IGluIHNhbXBsZSkg
eworICAgIGNvdW50ZXIrKzsKKyAgfQorICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50ZXIsIDAsICdU
aGUgdmFsdWUgb2YgYGNvdW50ZXJgIGlzIDAnKTsKIH0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dl
dE93blByb3BlcnR5L0JpZ0ludC9pbmRleC1wcm9wLWRlc2MuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0T3duUHJv
cGVydHkvQmlnSW50L2luZGV4LXByb3AtZGVzYy5qcwppbmRleCBhZDQ0ZWI4ZDNjYzQ0ZWY4NjFm
MjliZTQwZmM4ZWJjYTFjOTA2NzMxLi41NjVlM2E2MGRmN2Q3NGJjMjAyNTk2YjMxYzA3YTNjZWRj
M2ViYTk4IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRB
cnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0T3duUHJvcGVydHkvQmlnSW50L2luZGV4LXBy
b3AtZGVzYy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0T3duUHJvcGVydHkvQmlnSW50L2luZGV4LXByb3At
ZGVzYy5qcwpAQCAtMTMsMjQgKzEzLDIxIEBAIGluZm86IHwKICAgICBiLiBJZiBudW1lcmljSW5k
ZXggaXMgbm90IHVuZGVmaW5lZCwgdGhlbgogICAgICAgLi4uCiAgICAgICBpaWkuIFJldHVybiBh
IFByb3BlcnR5RGVzY3JpcHRvcntbW1ZhbHVlXV06IHZhbHVlLCBbW1dyaXRhYmxlXV06IHRydWUs
Ci0gICAgICBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogZmFsc2V9Lgor
ICAgICAgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWV9LgogICAu
Li4KIGluY2x1ZGVzOiBbdGVzdEJpZ0ludFR5cGVkQXJyYXkuanMsIHByb3BlcnR5SGVscGVyLmpz
XQotZmVhdHVyZXM6IFtCaWdJbnQsIFR5cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWduLWRldGFj
aGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgQmlnSW50LCBUeXBlZEFycmF5
XQogLS0tKi8KLQogdGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9u
KFRBKSB7CiAgIHZhciBzYW1wbGUgPSBuZXcgVEEoWzQybiwgNDNuXSk7Ci0KICAgdmFyIGRlc2Mw
ID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzYW1wbGUsIDApOwotICBhc3NlcnQu
c2FtZVZhbHVlKGRlc2MwLnZhbHVlLCA0Mm4sICJ2YWx1ZSIsICJkZXNjMC52YWx1ZSA9PT0gNDIi
KTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShkZXNjMC53cml0YWJsZSwgdHJ1ZSwgImluZGV4IGRlc2Ny
aXB0b3IgaXMgd3JpdGFibGUgWzBdIik7Ci0gIHZlcmlmeUVudW1lcmFibGUoc2FtcGxlLCAiMCIs
ICJpbmRleCBkZXNjcmlwdG9yIGlzIGVudW1lcmFibGUgWzBdIik7Ci0gIHZlcmlmeU5vdENvbmZp
Z3VyYWJsZShzYW1wbGUsICIwIiwgImluZGV4IGRlc2NyaXB0b3IgaXMgbm90IGNvbmZpZ3VyYWJs
ZSBbMF0iKTsKLQorICBhc3NlcnQuc2FtZVZhbHVlKGRlc2MwLnZhbHVlLCA0Mm4sICdUaGUgdmFs
dWUgb2YgZGVzYzAudmFsdWUgaXMgNDJuJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoZGVzYzAud3Jp
dGFibGUsIHRydWUsICdUaGUgdmFsdWUgb2YgZGVzYzAud3JpdGFibGUgaXMgdHJ1ZScpOworICB2
ZXJpZnlFbnVtZXJhYmxlKHNhbXBsZSwgJzAnLCAnaW5kZXggZGVzY3JpcHRvciBpcyBlbnVtZXJh
YmxlIFswXScpOworICB2ZXJpZnlDb25maWd1cmFibGUoc2FtcGxlLCAnMCcsICdpbmRleCBkZXNj
cmlwdG9yIGlzIGNvbmZpZ3VyYWJsZSBbMF0nKTsKICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihzYW1wbGUsIDEpOwotICBhc3NlcnQuc2FtZVZhbHVlKGRlc2Mx
LnZhbHVlLCA0M24sICJ2YWx1ZSIsICJkZXNjMS52YWx1ZSA9PT0gNDMiKTsKLSAgYXNzZXJ0LnNh
bWVWYWx1ZShkZXNjMS53cml0YWJsZSwgdHJ1ZSwgImluZGV4IGRlc2NyaXB0b3IgaXMgd3JpdGFi
bGUgWzFdIik7Ci0gIHZlcmlmeUVudW1lcmFibGUoc2FtcGxlLCAiMSIsICJpbmRleCBkZXNjcmlw
dG9yIGlzIGVudW1lcmFibGUgWzFdIik7Ci0gIHZlcmlmeU5vdENvbmZpZ3VyYWJsZShzYW1wbGUs
ICIxIiwgImluZGV4IGRlc2NyaXB0b3IgaXMgbm90IGNvbmZpZ3VyYWJsZSBbMV0iKTsKKyAgYXNz
ZXJ0LnNhbWVWYWx1ZShkZXNjMS52YWx1ZSwgNDNuLCAnVGhlIHZhbHVlIG9mIGRlc2MxLnZhbHVl
IGlzIDQzbicpOworICBhc3NlcnQuc2FtZVZhbHVlKGRlc2MxLndyaXRhYmxlLCB0cnVlLCAnVGhl
IHZhbHVlIG9mIGRlc2MxLndyaXRhYmxlIGlzIHRydWUnKTsKKyAgdmVyaWZ5RW51bWVyYWJsZShz
YW1wbGUsICcxJywgJ2luZGV4IGRlc2NyaXB0b3IgaXMgZW51bWVyYWJsZSBbMV0nKTsKKyAgdmVy
aWZ5Q29uZmlndXJhYmxlKHNhbXBsZSwgJzEnLCAnaW5kZXggZGVzY3JpcHRvciBpcyBjb25maWd1
cmFibGUgWzFdJyk7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXRPd25Qcm9wZXJ0eS9kZXRh
Y2hlZC1idWZmZXItcmVhbG0uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0T3duUHJvcGVydHkvZGV0YWNoZWQtYnVm
ZmVyLXJlYWxtLmpzCmluZGV4IDc5YTExMzA2NGE3OTdjYjNmMDQ3ZjU4MTJmMDNjNjcyZmViODg5
NGQuLjk1NTEyNGIzOTQ5OGUwOWRiNGJiMDVlYWUyM2RkOTVjNjcwMDlkOWYgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2lu
dGVybmFscy9HZXRPd25Qcm9wZXJ0eS9kZXRhY2hlZC1idWZmZXItcmVhbG0uanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJu
YWxzL0dldE93blByb3BlcnR5L2RldGFjaGVkLWJ1ZmZlci1yZWFsbS5qcwpAQCAtMyw4ICszLDcg
QEAKIC8qLS0tCiBlc2lkOiBzZWMtaW50ZWdlci1pbmRleGVkLWV4b3RpYy1vYmplY3RzLWdldG93
bnByb3BlcnR5LXAKIGRlc2NyaXB0aW9uOiA+Ci0gIFRocm93cyBhIFR5cGVFcnJvciBpZiB0aGlz
IGhhcyBhIGRldGFjaGVkIGJ1ZmZlciAoaG9ub3JpbmcgdGhlIFJlYWxtIG9mIHRoZQotICBjdXJy
ZW50IGV4ZWN1dGlvbiBjb250ZXh0KQorICBSZXR1cm5lZCB1bmRlZmluZWQgaWYgdGhpcyBoYXMg
YSBkZXRhY2hlZCBidWZmZXIgKGhvbm9yaW5nIHRoZSBSZWFsbSBvZiB0aGUgY3VycmVudCBleGVj
dXRpb24gY29udGV4dCkKIGluZm86IHwKICAgOS40LjUuMSBbW0dldE93blByb3BlcnR5XV0gKCBQ
ICkKIApAQCAtMTIsMTcgKzExLDE4IEBAIGluZm86IHwKICAgMy4gSWYgVHlwZShQKSBpcyBTdHJp
bmcsIHRoZW4KICAgICBhLiBMZXQgbnVtZXJpY0luZGV4IGJlICEgQ2Fub25pY2FsTnVtZXJpY0lu
ZGV4U3RyaW5nKFApLgogICAgIGIuIElmIG51bWVyaWNJbmRleCBpcyBub3QgdW5kZWZpbmVkLCB0
aGVuCi0gICAgICBpLiBMZXQgdmFsdWUgYmUgPyBJbnRlZ2VySW5kZXhlZEVsZW1lbnRHZXQoTywg
bnVtZXJpY0luZGV4KS4KKyAgICAgIGkuIExldCB2YWx1ZSBiZSAhIEludGVnZXJJbmRleGVkRWxl
bWVudEdldChPLCBudW1lcmljSW5kZXgpLgorICAgICAgaWkuIElmIHZhbHVlIGlzIHVuZGVmaW5l
ZCwgcmV0dXJuIHVuZGVmaW5lZC4KICAgLi4uCiAKLSAgOS40LjUuOCBJbnRlZ2VySW5kZXhlZEVs
ZW1lbnRHZXQgKCBPLCBpbmRleCApCisgIEludGVnZXJJbmRleGVkRWxlbWVudEdldCAoIE8sIGlu
ZGV4ICkKIAogICAuLi4KLSAgMy4gTGV0IGJ1ZmZlciBiZSB0aGUgdmFsdWUgb2YgTydzIFtbVmll
d2VkQXJyYXlCdWZmZXJdXSBpbnRlcm5hbCBzbG90LgotICA0LiBJZiBJc0RldGFjaGVkQnVmZmVy
KGJ1ZmZlcikgaXMgdHJ1ZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgotICAuLi4KKyAg
TGV0IGJ1ZmZlciBiZSB0aGUgdmFsdWUgb2YgTydzIFtbVmlld2VkQXJyYXlCdWZmZXJdXSBpbnRl
cm5hbCBzbG90LgorICBJZiBJc0RldGFjaGVkQnVmZmVyKGJ1ZmZlcikgaXMgdHJ1ZSwgcmV0dXJu
IHVuZGVmaW5lZC4KKwogaW5jbHVkZXM6IFt0ZXN0VHlwZWRBcnJheS5qcywgZGV0YWNoQXJyYXlC
dWZmZXIuanNdCi1mZWF0dXJlczogW2Nyb3NzLXJlYWxtLCBUeXBlZEFycmF5XQorZmVhdHVyZXM6
IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIGNyb3Nz
LXJlYWxtLCBUeXBlZEFycmF5XQogLS0tKi8KIAogdmFyIG90aGVyID0gJDI2Mi5jcmVhdGVSZWFs
bSgpLmdsb2JhbDsKQEAgLTMzLDcgKzMzLDkgQEAgdGVzdFdpdGhUeXBlZEFycmF5Q29uc3RydWN0
b3JzKGZ1bmN0aW9uKFRBKSB7CiAKICAgJERFVEFDSEJVRkZFUihzYW1wbGUuYnVmZmVyKTsKIAot
ICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gICAgT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihzYW1wbGUsIDApOwotICB9KTsKKyAgYXNzZXJ0LnNhbWVWYWx1
ZSgKKyAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNhbXBsZSwgMCksCisgICAg
dW5kZWZpbmVkLAorICAgICdPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNhbXBsZSwg
MCkgbXVzdCByZXR1cm4gdW5kZWZpbmVkJworICApOwogfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMv
R2V0T3duUHJvcGVydHkvZGV0YWNoZWQtYnVmZmVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldE93blByb3BlcnR5
L2RldGFjaGVkLWJ1ZmZlci5qcwppbmRleCA2Njc1ZDEzMDc2YzVmMWNiZDdkMTE1Zjc3Yjg5Zjg5
NmEyYjg5Yzg2Li5lMzhkYmIzYjBmNjFiYmFiZDUwMzdmNGI2N2M4OTc4M2ZkYTEzMDExIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9pbnRlcm5hbHMvR2V0T3duUHJvcGVydHkvZGV0YWNoZWQtYnVmZmVyLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVy
bmFscy9HZXRPd25Qcm9wZXJ0eS9kZXRhY2hlZC1idWZmZXIuanMKQEAgLTIsNyArMiw3IEBACiAv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCiAvKi0tLQogZXNpZDogc2VjLWludGVnZXItaW5kZXhlZC1leG90aWMtb2Jq
ZWN0cy1nZXRvd25wcm9wZXJ0eS1wCi1kZXNjcmlwdGlvbjogVGhyb3dzIGEgVHlwZUVycm9yIGlm
IHRoaXMgaGFzIGEgZGV0YWNoZWQgYnVmZmVyCitkZXNjcmlwdGlvbjogUmV0dXJucyB1bmRlZmlu
ZWQgaWYgdGhpcyBoYXMgYSBkZXRhY2hlZCBidWZmZXIKIGluZm86IHwKICAgOS40LjUuMSBbW0dl
dE93blByb3BlcnR5XV0gKCBQICkKIApAQCAtMTAsMjQgKzEwLDI3IEBAIGluZm86IHwKICAgMy4g
SWYgVHlwZShQKSBpcyBTdHJpbmcsIHRoZW4KICAgICBhLiBMZXQgbnVtZXJpY0luZGV4IGJlICEg
Q2Fub25pY2FsTnVtZXJpY0luZGV4U3RyaW5nKFApLgogICAgIGIuIElmIG51bWVyaWNJbmRleCBp
cyBub3QgdW5kZWZpbmVkLCB0aGVuCi0gICAgICBpLiBMZXQgdmFsdWUgYmUgPyBJbnRlZ2VySW5k
ZXhlZEVsZW1lbnRHZXQoTywgbnVtZXJpY0luZGV4KS4KKyAgICAgIGkuIExldCB2YWx1ZSBiZSAh
IEludGVnZXJJbmRleGVkRWxlbWVudEdldChPLCBudW1lcmljSW5kZXgpLgorICAgICAgaWkuIElm
IHZhbHVlIGlzIHVuZGVmaW5lZCwgcmV0dXJuIHVuZGVmaW5lZC4KICAgLi4uCiAKLSAgOS40LjUu
OCBJbnRlZ2VySW5kZXhlZEVsZW1lbnRHZXQgKCBPLCBpbmRleCApCisgIEludGVnZXJJbmRleGVk
RWxlbWVudEdldCAoIE8sIGluZGV4ICkKIAogICAuLi4KLSAgMy4gTGV0IGJ1ZmZlciBiZSB0aGUg
dmFsdWUgb2YgTydzIFtbVmlld2VkQXJyYXlCdWZmZXJdXSBpbnRlcm5hbCBzbG90LgotICA0LiBJ
ZiBJc0RldGFjaGVkQnVmZmVyKGJ1ZmZlcikgaXMgdHJ1ZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhj
ZXB0aW9uLgorICBMZXQgYnVmZmVyIGJlIHRoZSB2YWx1ZSBvZiBPJ3MgW1tWaWV3ZWRBcnJheUJ1
ZmZlcl1dIGludGVybmFsIHNsb3QuCisgIElmIElzRGV0YWNoZWRCdWZmZXIoYnVmZmVyKSBpcyB0
cnVlLCByZXR1cm4gdW5kZWZpbmVkLgogICAuLi4KIGluY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXku
anMsIGRldGFjaEFycmF5QnVmZmVyLmpzXQotZmVhdHVyZXM6IFtUeXBlZEFycmF5XQorZmVhdHVy
ZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIFR5
cGVkQXJyYXldCiAtLS0qLwogCiB0ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rp
b24oVEEpIHsKICAgdmFyIHNhbXBsZSA9IG5ldyBUQSgxKTsKICAgJERFVEFDSEJVRkZFUihzYW1w
bGUuYnVmZmVyKTsKIAotICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0g
ICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzYW1wbGUsIDApOwotICB9KTsKKyAg
YXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNh
bXBsZSwgMCksCisgICAgdW5kZWZpbmVkLAorICAgICdPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKHNhbXBsZSwgMCkgbXVzdCByZXR1cm4gdW5kZWZpbmVkJworICApOwogfSk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9pbnRlcm5hbHMvR2V0T3duUHJvcGVydHkvZW51bWVyYXRlLWRldGFjaGVkLWJ1ZmZlci5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3Jz
L2ludGVybmFscy9HZXRPd25Qcm9wZXJ0eS9lbnVtZXJhdGUtZGV0YWNoZWQtYnVmZmVyLmpzCmlu
ZGV4IDQwZDc2MzBkZDY2M2FmMDRjZjcyYzA0ZTBkNDY4YWJkN2Q5MzY3MGEuLjI4ZTFhZjZmMzFj
ZGRmZTkzNjI2MmNjZTk3OWFjYTI3MmQ1NzZhMTYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXRPd25Q
cm9wZXJ0eS9lbnVtZXJhdGUtZGV0YWNoZWQtYnVmZmVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9HZXRPd25Q
cm9wZXJ0eS9lbnVtZXJhdGUtZGV0YWNoZWQtYnVmZmVyLmpzCkBAIC0xMCwxMyArMTAsMTMgQEAg
aW5mbzogfAogICAgIDMuIElmIFR5cGUoUCkgaXMgU3RyaW5nLCB0aGVuCiAgICAgICBhLiBMZXQg
bnVtZXJpY0luZGV4IGJlICEgQ2Fub25pY2FsTnVtZXJpY0luZGV4U3RyaW5nKFApLgogICAgICAg
Yi4gSWYgbnVtZXJpY0luZGV4IGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KLSAgICAgICAgaS4gTGV0
IHZhbHVlIGJlID8gSW50ZWdlckluZGV4ZWRFbGVtZW50R2V0KE8sIG51bWVyaWNJbmRleCkuCisg
ICAgICAgIGkuIExldCB2YWx1ZSBiZSAhIEludGVnZXJJbmRleGVkRWxlbWVudEdldChPLCBudW1l
cmljSW5kZXgpLgogICAgIC4uLgogCi0gIDkuNC41LjggSW50ZWdlckluZGV4ZWRFbGVtZW50R2V0
ICggTywgaW5kZXggKQorICBJbnRlZ2VySW5kZXhlZEVsZW1lbnRHZXQgKCBPLCBpbmRleCApCiAg
ICAgLi4uCi0gICAgMy4gTGV0IGJ1ZmZlciBiZSBPLltbVmlld2VkQXJyYXlCdWZmZXJdXS4KLSAg
ICA0LiBJZiBJc0RldGFjaGVkQnVmZmVyKGJ1ZmZlcikgaXMgdHJ1ZSwgdGhyb3cgYSBUeXBlRXJy
b3IgZXhjZXB0aW9uLgorICAgIExldCBidWZmZXIgYmUgTy5bW1ZpZXdlZEFycmF5QnVmZmVyXV0u
CisgICAgSWYgSXNEZXRhY2hlZEJ1ZmZlcihidWZmZXIpIGlzIHRydWUsIHJldHVybiB1bmRlZmlu
ZWQuCiAgICAgLi4uCiAKICAgMTMuNy41LjE1IEVudW1lcmF0ZU9iamVjdFByb3BlcnRpZXMgKE8p
CkBAIC0yNywxNiArMjcsMTYgQEAgaW5mbzogfAogICAgIGNhbGxpbmcgaXRzIFtbR2V0T3duUHJv
cGVydHldXSBpbnRlcm5hbCBtZXRob2QuCiAKIGluY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXkuanMs
IGRldGFjaEFycmF5QnVmZmVyLmpzXQotZmVhdHVyZXM6IFtUeXBlZEFycmF5XQorZmVhdHVyZXM6
IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIFR5cGVk
QXJyYXldCiAtLS0qLwogCiB0ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24o
VEEpIHsKICAgdmFyIHNhbXBsZSA9IG5ldyBUQSg0Mik7CiAgICRERVRBQ0hCVUZGRVIoc2FtcGxl
LmJ1ZmZlcik7CiAKLSAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICAg
IGZvciAodmFyIGtleSBpbiBzYW1wbGUpIHsKLSAgICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3Io
KTsKLSAgICB9Ci0gIH0pOworICBsZXQgY291bnQgPSAwOworICBmb3IgKHZhciBrZXkgaW4gc2Ft
cGxlKSB7CisgICAgY291bnQrKzsKKyAgfQorICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAwLCAn
VGhlIHZhbHVlIG9mIGBjb3VudGAgaXMgMCcpOwogfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvR2V0
T3duUHJvcGVydHkvaW5kZXgtcHJvcC1kZXNjLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0dldE93blByb3BlcnR5L2lu
ZGV4LXByb3AtZGVzYy5qcwppbmRleCBmZTdmMWVjYTI2MGFmN2IzYzQ4YzU3YjhjODM2MDlhNTJl
N2VlMDllLi5iZDM0OTM0MDlmN2ExMjY4ZjNmYjVmZDY1ZWU3NDc2MGYzMjlhYzlhIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9y
cy9pbnRlcm5hbHMvR2V0T3duUHJvcGVydHkvaW5kZXgtcHJvcC1kZXNjLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFs
cy9HZXRPd25Qcm9wZXJ0eS9pbmRleC1wcm9wLWRlc2MuanMKQEAgLTE2LDIxICsxNiwyMSBAQCBp
bmZvOiB8CiAgICAgICBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogZmFs
c2V9LgogICAuLi4KIGluY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXkuanMsIHByb3BlcnR5SGVscGVy
LmpzXQotZmVhdHVyZXM6IFtUeXBlZEFycmF5XQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1i
dWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIFR5cGVkQXJyYXldCiAtLS0qLwogCiB0
ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKICAgdmFyIHNhbXBs
ZSA9IG5ldyBUQShbNDIsIDQzXSk7CiAKICAgdmFyIGRlc2MwID0gT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihzYW1wbGUsIDApOwotICBhc3NlcnQuc2FtZVZhbHVlKGRlc2MwLnZhbHVl
LCA0MiwgInZhbHVlIiwgImRlc2MwLnZhbHVlID09PSA0MiIpOwotICBhc3NlcnQuc2FtZVZhbHVl
KGRlc2MwLndyaXRhYmxlLCB0cnVlLCAiaW5kZXggZGVzY3JpcHRvciBpcyB3cml0YWJsZSBbMF0i
KTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShkZXNjMC52YWx1ZSwgNDIsICdUaGUgdmFsdWUgb2YgZGVz
YzAudmFsdWUgaXMgNDInKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShkZXNjMC53cml0YWJsZSwgdHJ1
ZSwgJ1RoZSB2YWx1ZSBvZiBkZXNjMC53cml0YWJsZSBpcyB0cnVlJyk7CiAgIHZlcmlmeUVudW1l
cmFibGUoc2FtcGxlLCAiMCIsICJpbmRleCBkZXNjcmlwdG9yIGlzIGVudW1lcmFibGUgWzBdIik7
Ci0gIHZlcmlmeU5vdENvbmZpZ3VyYWJsZShzYW1wbGUsICIwIiwgImluZGV4IGRlc2NyaXB0b3Ig
aXMgbm90IGNvbmZpZ3VyYWJsZSBbMF0iKTsKKyAgdmVyaWZ5Q29uZmlndXJhYmxlKHNhbXBsZSwg
IjAiLCAiaW5kZXggZGVzY3JpcHRvciBpcyBjb25maWd1cmFibGUgWzBdIik7CiAKICAgdmFyIGRl
c2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzYW1wbGUsIDEpOwotICBhc3Nl
cnQuc2FtZVZhbHVlKGRlc2MxLnZhbHVlLCA0MywgInZhbHVlIiwgImRlc2MxLnZhbHVlID09PSA0
MyIpOwotICBhc3NlcnQuc2FtZVZhbHVlKGRlc2MxLndyaXRhYmxlLCB0cnVlLCAiaW5kZXggZGVz
Y3JpcHRvciBpcyB3cml0YWJsZSBbMV0iKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShkZXNjMS52YWx1
ZSwgNDMsICdUaGUgdmFsdWUgb2YgZGVzYzEudmFsdWUgaXMgNDMnKTsKKyAgYXNzZXJ0LnNhbWVW
YWx1ZShkZXNjMS53cml0YWJsZSwgdHJ1ZSwgJ1RoZSB2YWx1ZSBvZiBkZXNjMS53cml0YWJsZSBp
cyB0cnVlJyk7CiAgIHZlcmlmeUVudW1lcmFibGUoc2FtcGxlLCAiMSIsICJpbmRleCBkZXNjcmlw
dG9yIGlzIGVudW1lcmFibGUgWzFdIik7Ci0gIHZlcmlmeU5vdENvbmZpZ3VyYWJsZShzYW1wbGUs
ICIxIiwgImluZGV4IGRlc2NyaXB0b3IgaXMgbm90IGNvbmZpZ3VyYWJsZSBbMV0iKTsKKyAgdmVy
aWZ5Q29uZmlndXJhYmxlKHNhbXBsZSwgIjEiLCAiaW5kZXggZGVzY3JpcHRvciBpcyBjb25maWd1
cmFibGUgWzFdIik7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9CaWdJbnQv
YWJydXB0LWZyb20tb3JkaW5hcnktaGFzLXBhcmVudC1oYXNwcm9wZXJ0eS5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9I
YXNQcm9wZXJ0eS9CaWdJbnQvYWJydXB0LWZyb20tb3JkaW5hcnktaGFzLXBhcmVudC1oYXNwcm9w
ZXJ0eS5qcwppbmRleCBiMzM0YTM4ODhkZTg0ZjIyMjEzNDFjZmU1ZGNjM2RiZGZiMDhjZjJiLi4x
MDk4NWM1YTg3Y2Q1MzYxOTU0MjEyYzc1NzQwMTE0NDgxNjg4Y2JkIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5h
bHMvSGFzUHJvcGVydHkvQmlnSW50L2FicnVwdC1mcm9tLW9yZGluYXJ5LWhhcy1wYXJlbnQtaGFz
cHJvcGVydHkuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L0JpZ0ludC9hYnJ1cHQtZnJvbS1v
cmRpbmFyeS1oYXMtcGFyZW50LWhhc3Byb3BlcnR5LmpzCkBAIC0xMCw4ICsxMCw4IEBAIGluZm86
IHwKICAgMy4gSWYgVHlwZShQKSBpcyBTdHJpbmcsIHRoZW4KICAgICBhLiBMZXQgbnVtZXJpY0lu
ZGV4IGJlICEgQ2Fub25pY2FsTnVtZXJpY0luZGV4U3RyaW5nKFApLgogICAgIGIuIElmIG51bWVy
aWNJbmRleCBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCi0gICAgICBpLiBMZXQgYnVmZmVyIGJlIHRo
ZSB2YWx1ZSBvZiBPJ3MgW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dIGludGVybmFsIHNsb3QuCi0gICAg
ICBpaS4gSWYgSXNEZXRhY2hlZEJ1ZmZlcihidWZmZXIpIGlzIHRydWUsIHRocm93IGEgVHlwZUVy
cm9yIGV4Y2VwdGlvbi4KKyAgICAgIGkuIExldCBidWZmZXIgYmUgTy5bW1ZpZXdlZEFycmF5QnVm
ZmVyXV0uCisgICAgICBpaS4gSWYgSXNEZXRhY2hlZEJ1ZmZlcihidWZmZXIpIGlzIHRydWUsIHJl
dHVybiBmYWxzZS4KICAgLi4uCiAKICAgOS4xLjcuMSBPcmRpbmFyeUhhc1Byb3BlcnR5IChPLCBQ
KQpAQCAtMjQsNyArMjQsNyBAQCBpbmZvOiB8CiAgICAgYS4gUmV0dXJuID8gcGFyZW50LltbSGFz
UHJvcGVydHldXShQKS4KICAgNi4gUmV0dXJuIGZhbHNlLgogaW5jbHVkZXM6IFt0ZXN0QmlnSW50
VHlwZWRBcnJheS5qc10KLWZlYXR1cmVzOiBbQmlnSW50LCBSZWZsZWN0LCBQcm94eSwgVHlwZWRB
cnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdl
Yi1yZWFsaXR5LCBCaWdJbnQsIFJlZmxlY3QsIFByb3h5LCBUeXBlZEFycmF5XQogLS0tKi8KIAog
dmFyIGhhbmRsZXIgPSB7CkBAIC00MiwyMiArNDIsMjIgQEAgdGVzdFdpdGhCaWdJbnRUeXBlZEFy
cmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CiAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAg
ICBSZWZsZWN0LmhhcyhzYW1wbGUsIDApLCB0cnVlLAotICAgICJPcmRpbmFyeUhhc1Byb3BlcnR5
IGRvZXMgbm90IGFmZmVjdCBudW1lcmljSW5kZXggcHJvcGVydGllcyBbMF0iCisgICAgJ1JlZmxl
Y3QuaGFzKHNhbXBsZSwgMCkgbXVzdCByZXR1cm4gdHJ1ZScKICAgKTsKICAgYXNzZXJ0LnNhbWVW
YWx1ZSgKICAgICBSZWZsZWN0LmhhcyhzYW1wbGUsIDEpLCBmYWxzZSwKLSAgICAiT3JkaW5hcnlI
YXNQcm9wZXJ0eSBkb2VzIG5vdCBhZmZlY3QgbnVtZXJpY0luZGV4IHByb3BlcnRpZXMgWzFdIgor
ICAgICdSZWZsZWN0LmhhcyhzYW1wbGUsIDEpIG11c3QgcmV0dXJuIGZhbHNlJwogICApOwogCiAg
IGFzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsKICAgICBSZWZsZWN0Lmhh
cyhzYW1wbGUsICJmb28iKTsKLSAgfSwgIlJldHVybiBhYnJ1cHQgZnJvbSBwYXJlbnQncyBbW0hh
c1Byb3BlcnR5XV0gJ2ZvbyciKTsKKyAgfSwgJ2BSZWZsZWN0LmhhcyhzYW1wbGUsICJmb28iKWAg
dGhyb3dzIFRlc3QyNjJFcnJvcicpOwogCiAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzYW1wbGUs
ICJmb28iLCB7IHZhbHVlOiA0MiB9KTsKIAogICBhc3NlcnQuc2FtZVZhbHVlKAogICAgIFJlZmxl
Y3QuaGFzKHNhbXBsZSwgImZvbyIpLAogICAgIHRydWUsCi0gICAgInRyYXAgaXMgbm90IHRyaWdn
ZXJlZCBpZiBbW0dldE93blByb3BlcnR5XV0gcmV0dXJucyBhIGRlZmluZWQgdmFsdWUiCisgICAg
J1JlZmxlY3QuaGFzKHNhbXBsZSwgImZvbyIpIG11c3QgcmV0dXJuIHRydWUnCiAgICk7CiB9KTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29u
c3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9CaWdJbnQvZGV0YWNoZWQtYnVmZmVyLXJl
YWxtLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L0JpZ0ludC9kZXRhY2hlZC1idWZmZXItcmVhbG0u
anMKaW5kZXggMzg3MGU1MjgyYWI2MWIwNTFiZDU0ZWU4NjgyOGE3NGZiYzgzNTMzMS4uNDExYTYz
YmRjZWFjZmU5YTkxOGY0ZjE2Mzk1ZmVkYWJiMjA4NjIzZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0hh
c1Byb3BlcnR5L0JpZ0ludC9kZXRhY2hlZC1idWZmZXItcmVhbG0uanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0hh
c1Byb3BlcnR5L0JpZ0ludC9kZXRhY2hlZC1idWZmZXItcmVhbG0uanMKQEAgLTMsNyArMyw3IEBA
CiAvKi0tLQogZXNpZDogc2VjLWludGVnZXItaW5kZXhlZC1leG90aWMtb2JqZWN0cy1oYXNwcm9w
ZXJ0eS1wCiBkZXNjcmlwdGlvbjogPgotICBUaHJvd3MgYSBUeXBlRXJyb3IgaWYgdGhpcyBoYXMg
YSBkZXRhY2hlZCBidWZmZXIgKGhvbm9yaW5nIHRoZSBSZWFsbSBvZiB0aGUKKyAgUmV0dXJucyBm
YWxzZSBpZiB0aGlzIGhhcyBhIGRldGFjaGVkIGJ1ZmZlciAoaG9ub3JpbmcgdGhlIFJlYWxtIG9m
IHRoZQogICBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0KQogaW5mbzogfAogICA5LjQuNS4yIFtb
SGFzUHJvcGVydHldXShQKQpAQCAtMTIsMTEgKzEyLDExIEBAIGluZm86IHwKICAgMy4gSWYgVHlw
ZShQKSBpcyBTdHJpbmcsIHRoZW4KICAgICBhLiBMZXQgbnVtZXJpY0luZGV4IGJlICEgQ2Fub25p
Y2FsTnVtZXJpY0luZGV4U3RyaW5nKFApLgogICAgIGIuIElmIG51bWVyaWNJbmRleCBpcyBub3Qg
dW5kZWZpbmVkLCB0aGVuCi0gICAgICBpLiBMZXQgYnVmZmVyIGJlIHRoZSB2YWx1ZSBvZiBPJ3Mg
W1tWaWV3ZWRBcnJheUJ1ZmZlcl1dIGludGVybmFsIHNsb3QuCi0gICAgICBpaS4gSWYgSXNEZXRh
Y2hlZEJ1ZmZlcihidWZmZXIpIGlzIHRydWUsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4K
KyAgICAgIGkuIExldCBidWZmZXIgYmUgTy5bW1ZpZXdlZEFycmF5QnVmZmVyXV0uCisgICAgICBp
aS4gSWYgSXNEZXRhY2hlZEJ1ZmZlcihidWZmZXIpIGlzIHRydWUsIHJldHVybiBmYWxzZS4KICAg
Li4uCiBpbmNsdWRlczogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzLCBkZXRhY2hBcnJheUJ1ZmZl
ci5qc10KLWZlYXR1cmVzOiBbQmlnSW50LCBjcm9zcy1yZWFsbSwgUmVmbGVjdCwgVHlwZWRBcnJh
eV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1y
ZWFsaXR5LCBCaWdJbnQsIGNyb3NzLXJlYWxtLCBSZWZsZWN0LCBUeXBlZEFycmF5XQogLS0tKi8K
IAogdmFyIG90aGVyID0gJDI2Mi5jcmVhdGVSZWFsbSgpLmdsb2JhbDsKQEAgLTI3LDcgKzI3LDUg
QEAgdGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CiAK
ICAgJERFVEFDSEJVRkZFUihzYW1wbGUuYnVmZmVyKTsKIAotICBhc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgZnVuY3Rpb24oKSB7Ci0gICAgUmVmbGVjdC5oYXMoc2FtcGxlLCAnMCcpOwotICB9LCAn
MCcpOworICBhc3NlcnQuc2FtZVZhbHVlKFJlZmxlY3QuaGFzKHNhbXBsZSwgJzAnKSwgZmFsc2Us
ICdSZWZsZWN0LmhhcyhzYW1wbGUsICIwIikgbXVzdCByZXR1cm4gZmFsc2UnKTsKIH0pOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L0JpZ0ludC9kZXRhY2hlZC1idWZmZXIuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRl
cm5hbHMvSGFzUHJvcGVydHkvQmlnSW50L2RldGFjaGVkLWJ1ZmZlci5qcwppbmRleCBkNzgyNjVl
MzUwOThmYjk5ZmY2Mjc0NGE0MGUyMjdkM2NkMWYzZmU1Li45MDdiNjhhM2EzZDYxY2RkNDBlNzc2
YzVmN2ZjOTlkNzhiNDY5ZTg0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvSGFzUHJvcGVydHkvQmlnSW50
L2RldGFjaGVkLWJ1ZmZlci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvSGFzUHJvcGVydHkvQmlnSW50L2RldGFj
aGVkLWJ1ZmZlci5qcwpAQCAtMiw3ICsyLDcgQEAKIC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBi
eSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KIC8qLS0tCiBlc2lk
OiBzZWMtaW50ZWdlci1pbmRleGVkLWV4b3RpYy1vYmplY3RzLWhhc3Byb3BlcnR5LXAKLWRlc2Ny
aXB0aW9uOiBUaHJvd3MgYSBUeXBlRXJyb3IgaWYgdGhpcyBoYXMgYSBkZXRhY2hlZCBidWZmZXIK
K2Rlc2NyaXB0aW9uOiBSZXR1cm5zIGZhbHNlIGlmIHRoaXMgaGFzIGEgZGV0YWNoZWQgYnVmZmVy
CiBpbmZvOiB8CiAgIDkuNC41LjIgW1tIYXNQcm9wZXJ0eV1dKFApCiAKQEAgLTEwLDI2ICsxMCwx
OCBAQCBpbmZvOiB8CiAgIDMuIElmIFR5cGUoUCkgaXMgU3RyaW5nLCB0aGVuCiAgICAgYS4gTGV0
IG51bWVyaWNJbmRleCBiZSAhIENhbm9uaWNhbE51bWVyaWNJbmRleFN0cmluZyhQKS4KICAgICBi
LiBJZiBudW1lcmljSW5kZXggaXMgbm90IHVuZGVmaW5lZCwgdGhlbgotICAgICAgaS4gTGV0IGJ1
ZmZlciBiZSB0aGUgdmFsdWUgb2YgTydzIFtbVmlld2VkQXJyYXlCdWZmZXJdXSBpbnRlcm5hbCBz
bG90LgotICAgICAgaWkuIElmIElzRGV0YWNoZWRCdWZmZXIoYnVmZmVyKSBpcyB0cnVlLCB0aHJv
dyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgICAgICBpLiBMZXQgYnVmZmVyIGJlIE8uW1tWaWV3
ZWRBcnJheUJ1ZmZlcl1dLgorICAgICAgaWkuIElmIElzRGV0YWNoZWRCdWZmZXIoYnVmZmVyKSBp
cyB0cnVlLCByZXR1cm4gZmFsc2UuCiAgIC4uLgogaW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlwZWRB
cnJheS5qcywgZGV0YWNoQXJyYXlCdWZmZXIuanNdCi1mZWF0dXJlczogW0JpZ0ludCwgUmVmbGVj
dCwgVHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGlj
cy13aXRoLXdlYi1yZWFsaXR5LCBCaWdJbnQsIFJlZmxlY3QsIFR5cGVkQXJyYXldCiAtLS0qLwog
CiB0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKICAg
dmFyIHNhbXBsZSA9IG5ldyBUQSgxKTsKICAgJERFVEFDSEJVRkZFUihzYW1wbGUuYnVmZmVyKTsK
IAotICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gICAgUmVmbGVjdC5o
YXMoc2FtcGxlLCAiMCIpOwotICB9LCAiMCIpOwotCi0gIGFzc2VydC50aHJvd3MoVHlwZUVycm9y
LCBmdW5jdGlvbigpIHsKLSAgICBSZWZsZWN0LmhhcyhzYW1wbGUsICItMCIpOwotICB9LCAiLTAi
KTsKLQotICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gICAgUmVmbGVj
dC5oYXMoc2FtcGxlLCAiMS4xIik7Ci0gIH0sICIxLjEiKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShS
ZWZsZWN0LmhhcyhzYW1wbGUsICIwIiksIGZhbHNlLCAnUmVmbGVjdC5oYXMoc2FtcGxlLCAiMCIp
IG11c3QgcmV0dXJuIGZhbHNlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoUmVmbGVjdC5oYXMoc2Ft
cGxlLCAiLTAiKSwgZmFsc2UsICdSZWZsZWN0LmhhcyhzYW1wbGUsICItMCIpIG11c3QgcmV0dXJu
IGZhbHNlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoUmVmbGVjdC5oYXMoc2FtcGxlLCAiMS4xIiks
IGZhbHNlLCAnUmVmbGVjdC5oYXMoc2FtcGxlLCAiMS4xIikgbXVzdCByZXR1cm4gZmFsc2UnKTsK
IH0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L0JpZ0ludC9pbmRleGVkLXZhbHVl
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3Rv
cnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L0JpZ0ludC9pbmRleGVkLXZhbHVlLmpzCmluZGV4IDkx
MzNhZTI2MWFiOTFhMThmZjlkMDRmYzBhYWJjYzZjMDQzY2M4MTcuLjdmOTMzYTM2MGMxMjBlZjg3
OTI5NmM1Y2YwMDIyMDZjNWNkZjA3YmQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9C
aWdJbnQvaW5kZXhlZC12YWx1ZS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvSGFzUHJvcGVydHkvQmlnSW50L2lu
ZGV4ZWQtdmFsdWUuanMKQEAgLTExLDIyICsxMSwxNiBAQCBpbmZvOiB8CiAgIDMuIElmIFR5cGUo
UCkgaXMgU3RyaW5nLCB0aGVuCiAgICAgYS4gTGV0IG51bWVyaWNJbmRleCBiZSAhIENhbm9uaWNh
bE51bWVyaWNJbmRleFN0cmluZyhQKS4KICAgICBiLiBJZiBudW1lcmljSW5kZXggaXMgbm90IHVu
ZGVmaW5lZCwgdGhlbgotICAgICAgaS4gTGV0IGJ1ZmZlciBiZSB0aGUgdmFsdWUgb2YgTydzIFtb
Vmlld2VkQXJyYXlCdWZmZXJdXSBpbnRlcm5hbCBzbG90LgotICAgICAgaWkuIElmIElzRGV0YWNo
ZWRCdWZmZXIoYnVmZmVyKSBpcyB0cnVlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCi0g
ICAgICBpaWkuIElmIElzSW50ZWdlcihudW1lcmljSW5kZXgpIGlzIGZhbHNlLCByZXR1cm4gZmFs
c2UuCi0gICAgICBpdi4gSWYgbnVtZXJpY0luZGV4ID0gLTAsIHJldHVybiBmYWxzZS4KLSAgICAg
IHYuIElmIG51bWVyaWNJbmRleCA8IDAsIHJldHVybiBmYWxzZS4KLSAgICAgIHZpLiBJZiBudW1l
cmljSW5kZXgg4omlIHRoZSB2YWx1ZSBvZiBPJ3MgW1tBcnJheUxlbmd0aF1dIGludGVybmFsIHNs
b3QsCi0gICAgICByZXR1cm4gZmFsc2UuCi0gICAgICB2aWkuIFJldHVybiB0cnVlLgorICAgICAg
aS4gTGV0IGJ1ZmZlciBiZSBPLltbVmlld2VkQXJyYXlCdWZmZXJdXS4KKyAgICAgIGlpLiBJZiBJ
c0RldGFjaGVkQnVmZmVyKGJ1ZmZlcikgaXMgdHJ1ZSwgcmV0dXJuIGZhbHNlLgorICAgICAgaWlp
LiBJZiAhIElzVmFsaWRJbnRlZ2VySW5kZXgoTywgbnVtZXJpY0luZGV4KSBpcyBmYWxzZSwgcmV0
dXJuIGZhbHNlLgorICAgICAgaXYuIFJldHVybiB0cnVlLgogICAuLi4KIGluY2x1ZGVzOiBbdGVz
dEJpZ0ludFR5cGVkQXJyYXkuanNdCi1mZWF0dXJlczogW0JpZ0ludCwgUmVmbGVjdCwgVHlwZWRB
cnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdl
Yi1yZWFsaXR5LCBCaWdJbnQsIFJlZmxlY3QsIFR5cGVkQXJyYXldCiAtLS0qLwotCiB0ZXN0V2l0
aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKICAgdmFyIHNhbXBs
ZSA9IG5ldyBUQShbNDJuLCA0M25dKTsKLQotICBhc3NlcnQuc2FtZVZhbHVlKFJlZmxlY3QuaGFz
KHNhbXBsZSwgMCksIHRydWUpOwotICBhc3NlcnQuc2FtZVZhbHVlKFJlZmxlY3QuaGFzKHNhbXBs
ZSwgMSksIHRydWUpOworICBhc3NlcnQuc2FtZVZhbHVlKFJlZmxlY3QuaGFzKHNhbXBsZSwgMCks
IHRydWUsICdSZWZsZWN0LmhhcyhzYW1wbGUsIDApIG11c3QgcmV0dXJuIHRydWUnKTsKKyAgYXNz
ZXJ0LnNhbWVWYWx1ZShSZWZsZWN0LmhhcyhzYW1wbGUsIDEpLCB0cnVlLCAnUmVmbGVjdC5oYXMo
c2FtcGxlLCAxKSBtdXN0IHJldHVybiB0cnVlJyk7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9I
YXNQcm9wZXJ0eS9CaWdJbnQvaW5maW5pdHktd2l0aC1kZXRhY2hlZC1idWZmZXIuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5h
bHMvSGFzUHJvcGVydHkvQmlnSW50L2luZmluaXR5LXdpdGgtZGV0YWNoZWQtYnVmZmVyLmpzCmlu
ZGV4IDJlNGNkYjdhZWI4YmUzYjFiZGVkYWRmOWVjODNjYjczOTAzODY2YTQuLjhlNzI2NTMxOGM3
N2ZmZjM1NDlkMWE5MDg3Njg3OGEzMmViNWVmMjAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9w
ZXJ0eS9CaWdJbnQvaW5maW5pdHktd2l0aC1kZXRhY2hlZC1idWZmZXIuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxz
L0hhc1Byb3BlcnR5L0JpZ0ludC9pbmZpbml0eS13aXRoLWRldGFjaGVkLWJ1ZmZlci5qcwpAQCAt
MSw2ICsxLDUgQEAKIC8vIENvcHlyaWdodCAoQykgMjAxNyBBbmRyw6kgQmFyZ3VsbC4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KIC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLQogLyotLS0KIGVzaWQ6IHNlYy1pbnRlZ2Vy
LWluZGV4ZWQtZXhvdGljLW9iamVjdHMtaGFzcHJvcGVydHktcAogZGVzY3JpcHRpb246ID4KQEAg
LTEyLDcgKzExLDcgQEAgaW5mbzogfAogICAgIGEuIExldCBudW1lcmljSW5kZXggYmUgISBDYW5v
bmljYWxOdW1lcmljSW5kZXhTdHJpbmcoUCkuCiAgICAgYi4gSWYgbnVtZXJpY0luZGV4IGlzIG5v
dCB1bmRlZmluZWQsIHRoZW4KICAgICAgIGkuIExldCBidWZmZXIgYmUgTy5bW1ZpZXdlZEFycmF5
QnVmZmVyXV0uCi0gICAgICBpaS4gSWYgSXNEZXRhY2hlZEJ1ZmZlcihidWZmZXIpIGlzIHRydWUs
IHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgICAgIGlpLiBJZiBJc0RldGFjaGVkQnVm
ZmVyKGJ1ZmZlcikgaXMgdHJ1ZSwgcmV0dXJuIGZhbHNlLgogICAgICAgLi4uCiAKICAgNy4xLjE2
IENhbm9uaWNhbE51bWVyaWNJbmRleFN0cmluZyAoIGFyZ3VtZW50ICkKQEAgLTIzLDE0ICsyMiwy
NSBAQCBpbmZvOiB8CiAKIGZsYWdzOiBbbm9TdHJpY3RdCiBpbmNsdWRlczogW3Rlc3RCaWdJbnRU
eXBlZEFycmF5LmpzLCBkZXRhY2hBcnJheUJ1ZmZlci5qc10KLWZlYXR1cmVzOiBbQmlnSW50LCBU
eXBlZEFycmF5XQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdp
dGgtd2ViLXJlYWxpdHksIEJpZ0ludCwgVHlwZWRBcnJheV0KIC0tLSovCi0KIHRlc3RXaXRoQmln
SW50VHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewotICB2YXIgc2FtcGxlID0g
bmV3IFRBKDApOwotICAkREVUQUNIQlVGRkVSKHNhbXBsZS5idWZmZXIpOworICBsZXQgY291bnRl
ciA9IDA7CisKKyAgbGV0IG4gPSB7CisgICAgdmFsdWVPZigpIHsKKyAgICAgIGNvdW50ZXIrKzsK
KyAgICAgIHJldHVybiA5bjsKKyAgICB9CisgIH07CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShjb3Vu
dGVyLCAwLCAnVGhlIHZhbHVlIG9mIGBjb3VudGVyYCBpcyAwJyk7CisgIGxldCB0YSA9IG5ldyBU
QShbbl0pOworICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50ZXIsIDEsICdUaGUgdmFsdWUgb2YgYGNv
dW50ZXJgIGlzIDEnKTsKKyAgJERFVEFDSEJVRkZFUih0YS5idWZmZXIpOwogCi0gIGFzc2VydC50
aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgICB3aXRoIChzYW1wbGUpIEluZmluaXR5
OwotICB9KTsKKyAgd2l0aCAodGEpIHsKKyAgICBJbmZpbml0eTsKKyAgICBhc3NlcnQuc2FtZVZh
bHVlKGNvdW50ZXIsIDEsICdUaGUgdmFsdWUgb2YgYGNvdW50ZXJgIGlzIDEnKTsKKyAgfQogfSk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNv
bnN0cnVjdG9ycy9pbnRlcm5hbHMvSGFzUHJvcGVydHkvQmlnSW50L2tleS1pcy1ncmVhdGVyLXRo
YW4tbGFzdC1pbmRleC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFy
cmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9CaWdJbnQva2V5LWlzLWdyZWF0
ZXItdGhhbi1sYXN0LWluZGV4LmpzCmluZGV4IGMxZDcyMTM0OGU4NmZiODEyYjRjNjcxMmZhODc2
OWNlODAxN2ZmYzIuLjFmMTlmMGVkMzg5OGUwNTljODkyZDEyMDk1NjJmNjc4MjgxZmU0ZjQgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3Ry
dWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9CaWdJbnQva2V5LWlzLWdyZWF0ZXItdGhhbi1s
YXN0LWluZGV4LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFy
cmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9CaWdJbnQva2V5LWlzLWdyZWF0
ZXItdGhhbi1sYXN0LWluZGV4LmpzCkBAIC0xMSwxMSArMTEsMTAgQEAgaW5mbzogfAogICAgIGEu
IExldCBudW1lcmljSW5kZXggYmUgISBDYW5vbmljYWxOdW1lcmljSW5kZXhTdHJpbmcoUCkuCiAg
ICAgYi4gSWYgbnVtZXJpY0luZGV4IGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KICAgICAgIC4uLgot
ICAgICAgdmkuIElmIG51bWVyaWNJbmRleCDiiaUgdGhlIHZhbHVlIG9mIE8ncyBbW0FycmF5TGVu
Z3RoXV0gaW50ZXJuYWwgc2xvdCwKLSAgICAgIHJldHVybiBmYWxzZS4KKyAgICAgIGlpaS4gSWYg
ISBJc1ZhbGlkSW50ZWdlckluZGV4KE8sIG51bWVyaWNJbmRleCkgaXMgZmFsc2UsIHJldHVybiBm
YWxzZS4KICAgLi4uCiBpbmNsdWRlczogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzXQotZmVhdHVy
ZXM6IFtCaWdJbnQsIFJlZmxlY3QsIFR5cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWduLWRldGFj
aGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgQmlnSW50LCBSZWZsZWN0LCBU
eXBlZEFycmF5XQogLS0tKi8KIAogLy8gUHJldmVudHMgZmFsc2UgcG9zaXRpdmVzIHVzaW5nIE9y
ZGluYXJ5SGFzUHJvcGVydHkKQEAgLTI0LDUgKzIzLDUgQEAgVHlwZWRBcnJheS5wcm90b3R5cGVb
MV0gPSAidGVzdDI2MiI7CiB0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVu
Y3Rpb24oVEEpIHsKICAgdmFyIHNhbXBsZSA9IG5ldyBUQSgxKTsKIAotICBhc3NlcnQuc2FtZVZh
bHVlKFJlZmxlY3QuaGFzKHNhbXBsZSwgIjEiKSwgZmFsc2UsICIxIik7CisgIGFzc2VydC5zYW1l
VmFsdWUoUmVmbGVjdC5oYXMoc2FtcGxlLCAiMSIpLCBmYWxzZSwgJ1JlZmxlY3QuaGFzKHNhbXBs
ZSwgIjEiKSBtdXN0IHJldHVybiBmYWxzZScpOwogfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvSGFz
UHJvcGVydHkvQmlnSW50L2tleS1pcy1sb3dlci10aGFuLXplcm8uanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvSGFzUHJv
cGVydHkvQmlnSW50L2tleS1pcy1sb3dlci10aGFuLXplcm8uanMKaW5kZXggMDA0OGE0Zjk3NTE5
MmI3ODFlYTE1Y2Y1YWM1YjI3OTBlNDk1N2E2MS4uNGQzMzYxNDAxNGYwZmFiMjVjZmY0ZDk5NGY4
MWQ2MTVlZGYwNzkyZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L0JpZ0ludC9rZXkt
aXMtbG93ZXItdGhhbi16ZXJvLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9CaWdJbnQva2V5
LWlzLWxvd2VyLXRoYW4temVyby5qcwpAQCAtMTEsMTAgKzExLDEwIEBAIGluZm86IHwKICAgICBh
LiBMZXQgbnVtZXJpY0luZGV4IGJlICEgQ2Fub25pY2FsTnVtZXJpY0luZGV4U3RyaW5nKFApLgog
ICAgIGIuIElmIG51bWVyaWNJbmRleCBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCiAgICAgICAuLi4K
LSAgICAgIHYuIElmIG51bWVyaWNJbmRleCA8IDAsIHJldHVybiBmYWxzZS4KKyAgICAgIGlpaS4g
SWYgISBJc1ZhbGlkSW50ZWdlckluZGV4KE8sIG51bWVyaWNJbmRleCkgaXMgZmFsc2UsIHJldHVy
biBmYWxzZS4KICAgLi4uCiBpbmNsdWRlczogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzXQotZmVh
dHVyZXM6IFtCaWdJbnQsIFJlZmxlY3QsIFR5cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWduLWRl
dGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgQmlnSW50LCBSZWZsZWN0
LCBUeXBlZEFycmF5XQogLS0tKi8KIAogCkBAIC0yNCw1ICsyNCw1IEBAIFR5cGVkQXJyYXkucHJv
dG90eXBlWy0xXSA9ICJ0ZXN0MjYyIjsKIHRlc3RXaXRoQmlnSW50VHlwZWRBcnJheUNvbnN0cnVj
dG9ycyhmdW5jdGlvbihUQSkgewogICB2YXIgc2FtcGxlID0gbmV3IFRBKDEpOwogCi0gIGFzc2Vy
dC5zYW1lVmFsdWUoUmVmbGVjdC5oYXMoc2FtcGxlLCAiLTEiKSwgZmFsc2UsICItMSIpOworICBh
c3NlcnQuc2FtZVZhbHVlKFJlZmxlY3QuaGFzKHNhbXBsZSwgIi0xIiksIGZhbHNlLCAnUmVmbGVj
dC5oYXMoc2FtcGxlLCAiLTEiKSBtdXN0IHJldHVybiBmYWxzZScpOwogfSk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9p
bnRlcm5hbHMvSGFzUHJvcGVydHkvQmlnSW50L2tleS1pcy1taW51cy16ZXJvLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxz
L0hhc1Byb3BlcnR5L0JpZ0ludC9rZXktaXMtbWludXMtemVyby5qcwppbmRleCAwZDZhMTUxNWYz
YTFlYzc5Y2ZlYzNhMmM1OTNjZDIyNzhiOGY3M2Y1Li5mZTMzMjY2NWM1OWMzOTIyMzM3YTExOWIw
N2NlNTFkY2U2NmRhYTRjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1p
bnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvSGFzUHJvcGVydHkvQmlnSW50L2tl
eS1pcy1taW51cy16ZXJvLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9CaWdJbnQva2V5LWlz
LW1pbnVzLXplcm8uanMKQEAgLTExLDEwICsxMSwxMCBAQCBpbmZvOiB8CiAgICAgYS4gTGV0IG51
bWVyaWNJbmRleCBiZSAhIENhbm9uaWNhbE51bWVyaWNJbmRleFN0cmluZyhQKS4KICAgICBiLiBJ
ZiBudW1lcmljSW5kZXggaXMgbm90IHVuZGVmaW5lZCwgdGhlbgogICAgICAgLi4uCi0gICAgICBp
di4gSWYgbnVtZXJpY0luZGV4ID0gLTAsIHJldHVybiBmYWxzZS4KKyAgICAgIGlpaS4gSWYgISBJ
c1ZhbGlkSW50ZWdlckluZGV4KE8sIG51bWVyaWNJbmRleCkgaXMgZmFsc2UsIHJldHVybiBmYWxz
ZS4KICAgLi4uCiBpbmNsdWRlczogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzXQotZmVhdHVyZXM6
IFtCaWdJbnQsIFJlZmxlY3QsIFR5cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVk
LWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgQmlnSW50LCBSZWZsZWN0LCBUeXBl
ZEFycmF5XQogLS0tKi8KIAogCkBAIC0yNCw1ICsyNCw1IEBAIFR5cGVkQXJyYXkucHJvdG90eXBl
WyItMCJdID0gInRlc3QyNjIiOwogdGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3Jz
KGZ1bmN0aW9uKFRBKSB7CiAgIHZhciBzYW1wbGUgPSBuZXcgVEEoMSk7CiAKLSAgYXNzZXJ0LnNh
bWVWYWx1ZShSZWZsZWN0LmhhcyhzYW1wbGUsICItMCIpLCBmYWxzZSwgIi0wIik7CisgIGFzc2Vy
dC5zYW1lVmFsdWUoUmVmbGVjdC5oYXMoc2FtcGxlLCAiLTAiKSwgZmFsc2UsICdSZWZsZWN0Lmhh
cyhzYW1wbGUsICItMCIpIG11c3QgcmV0dXJuIGZhbHNlJyk7CiB9KTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVy
bmFscy9IYXNQcm9wZXJ0eS9hYnJ1cHQtZnJvbS1vcmRpbmFyeS1oYXMtcGFyZW50LWhhc3Byb3Bl
cnR5LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L2FicnVwdC1mcm9tLW9yZGluYXJ5LWhhcy1wYXJl
bnQtaGFzcHJvcGVydHkuanMKaW5kZXggYzU0YjRjZjIwYjFkNmI1OGNkYWY0ODViNDk2MGY4NjJi
MjRmZTgzOS4uNzY0NjA4NTRjMDQ0YzdmODVkNTM1YjlhMWMyMDFiYmNiNDZjMzk4MCAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3Rv
cnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L2FicnVwdC1mcm9tLW9yZGluYXJ5LWhhcy1wYXJlbnQt
aGFzcHJvcGVydHkuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L2FicnVwdC1mcm9tLW9yZGlu
YXJ5LWhhcy1wYXJlbnQtaGFzcHJvcGVydHkuanMKQEAgLTEwLDggKzEwLDggQEAgaW5mbzogfAog
ICAzLiBJZiBUeXBlKFApIGlzIFN0cmluZywgdGhlbgogICAgIGEuIExldCBudW1lcmljSW5kZXgg
YmUgISBDYW5vbmljYWxOdW1lcmljSW5kZXhTdHJpbmcoUCkuCiAgICAgYi4gSWYgbnVtZXJpY0lu
ZGV4IGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KLSAgICAgIGkuIExldCBidWZmZXIgYmUgdGhlIHZh
bHVlIG9mIE8ncyBbW1ZpZXdlZEFycmF5QnVmZmVyXV0gaW50ZXJuYWwgc2xvdC4KLSAgICAgIGlp
LiBJZiBJc0RldGFjaGVkQnVmZmVyKGJ1ZmZlcikgaXMgdHJ1ZSwgdGhyb3cgYSBUeXBlRXJyb3Ig
ZXhjZXB0aW9uLgorICAgICAgaS4gTGV0IGJ1ZmZlciBiZSBPLltbVmlld2VkQXJyYXlCdWZmZXJd
XS4KKyAgICAgIGlpLiBJZiBJc0RldGFjaGVkQnVmZmVyKGJ1ZmZlcikgaXMgdHJ1ZSwgcmV0dXJu
IGZhbHNlLgogICAuLi4KIAogICA5LjEuNy4xIE9yZGluYXJ5SGFzUHJvcGVydHkgKE8sIFApCkBA
IC0yNCw3ICsyNCw3IEBAIGluZm86IHwKICAgICBhLiBSZXR1cm4gPyBwYXJlbnQuW1tIYXNQcm9w
ZXJ0eV1dKFApLgogICA2LiBSZXR1cm4gZmFsc2UuCiBpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5
LmpzXQotZmVhdHVyZXM6IFtSZWZsZWN0LCBQcm94eSwgVHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBb
YWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBSZWZsZWN0
LCBQcm94eSwgVHlwZWRBcnJheV0KIC0tLSovCiAKIHZhciBoYW5kbGVyID0gewpAQCAtNDIsMjIg
KzQyLDIyIEBAIHRlc3RXaXRoVHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewog
CiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgUmVmbGVjdC5oYXMoc2FtcGxlLCAwKSwgdHJ1ZSwK
LSAgICAiT3JkaW5hcnlIYXNQcm9wZXJ0eSBkb2VzIG5vdCBhZmZlY3QgbnVtZXJpY0luZGV4IHBy
b3BlcnRpZXMgWzBdIgorICAgICdSZWZsZWN0LmhhcyhzYW1wbGUsIDApIG11c3QgcmV0dXJuIHRy
dWUnCiAgICk7CiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgUmVmbGVjdC5oYXMoc2FtcGxlLCAx
KSwgZmFsc2UsCi0gICAgIk9yZGluYXJ5SGFzUHJvcGVydHkgZG9lcyBub3QgYWZmZWN0IG51bWVy
aWNJbmRleCBwcm9wZXJ0aWVzIFsxXSIKKyAgICAnUmVmbGVjdC5oYXMoc2FtcGxlLCAxKSBtdXN0
IHJldHVybiBmYWxzZScKICAgKTsKIAogICBhc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVu
Y3Rpb24oKSB7CiAgICAgUmVmbGVjdC5oYXMoc2FtcGxlLCAiZm9vIik7Ci0gIH0sICJSZXR1cm4g
YWJydXB0IGZyb20gcGFyZW50J3MgW1tIYXNQcm9wZXJ0eV1dICdmb28nIik7CisgIH0sICdgUmVm
bGVjdC5oYXMoc2FtcGxlLCAiZm9vIilgIHRocm93cyBUZXN0MjYyRXJyb3InKTsKIAogICBPYmpl
Y3QuZGVmaW5lUHJvcGVydHkoc2FtcGxlLCAiZm9vIiwgeyB2YWx1ZTogNDIgfSk7CiAKICAgYXNz
ZXJ0LnNhbWVWYWx1ZSgKICAgICBSZWZsZWN0LmhhcyhzYW1wbGUsICJmb28iKSwKICAgICB0cnVl
LAotICAgICJ0cmFwIGlzIG5vdCB0cmlnZ2VyZWQgaWYgW1tHZXRPd25Qcm9wZXJ0eV1dIHJldHVy
bnMgYSBkZWZpbmVkIHZhbHVlIgorICAgICdSZWZsZWN0LmhhcyhzYW1wbGUsICJmb28iKSBtdXN0
IHJldHVybiB0cnVlJwogICApOwogfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvSGFzUHJvcGVydHkv
ZGV0YWNoZWQtYnVmZmVyLXJlYWxtLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L2RldGFjaGVkLWJ1
ZmZlci1yZWFsbS5qcwppbmRleCBhYWU2MTQ5ZTJiNzllYzA0NzIwNTg3NDFiZWM4ODg1YmE0MzU3
NDQ1Li44NWJjNjNjZWM2NDJmYmRkNmM1OTA1MDY3YWRlNjE0N2M3NzBmOTQ1IDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9p
bnRlcm5hbHMvSGFzUHJvcGVydHkvZGV0YWNoZWQtYnVmZmVyLXJlYWxtLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFs
cy9IYXNQcm9wZXJ0eS9kZXRhY2hlZC1idWZmZXItcmVhbG0uanMKQEAgLTMsOCArMyw3IEBACiAv
Ki0tLQogZXNpZDogc2VjLWludGVnZXItaW5kZXhlZC1leG90aWMtb2JqZWN0cy1oYXNwcm9wZXJ0
eS1wCiBkZXNjcmlwdGlvbjogPgotICBUaHJvd3MgYSBUeXBlRXJyb3IgaWYgdGhpcyBoYXMgYSBk
ZXRhY2hlZCBidWZmZXIgKGhvbm9yaW5nIHRoZSBSZWFsbSBvZiB0aGUKLSAgY3VycmVudCBleGVj
dXRpb24gY29udGV4dCkKKyAgUmV0dXJucyBmYWxzZSBpZiB0aGlzIGhhcyBhIGRldGFjaGVkIGJ1
ZmZlciAoaG9ub3JpbmcgdGhlIFJlYWxtIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBjb250ZXh0
KQogaW5mbzogfAogICA5LjQuNS4yIFtbSGFzUHJvcGVydHldXShQKQogCkBAIC0xMiwxMSArMTEs
MTEgQEAgaW5mbzogfAogICAzLiBJZiBUeXBlKFApIGlzIFN0cmluZywgdGhlbgogICAgIGEuIExl
dCBudW1lcmljSW5kZXggYmUgISBDYW5vbmljYWxOdW1lcmljSW5kZXhTdHJpbmcoUCkuCiAgICAg
Yi4gSWYgbnVtZXJpY0luZGV4IGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KLSAgICAgIGkuIExldCBi
dWZmZXIgYmUgdGhlIHZhbHVlIG9mIE8ncyBbW1ZpZXdlZEFycmF5QnVmZmVyXV0gaW50ZXJuYWwg
c2xvdC4KLSAgICAgIGlpLiBJZiBJc0RldGFjaGVkQnVmZmVyKGJ1ZmZlcikgaXMgdHJ1ZSwgdGhy
b3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAgICAgaS4gTGV0IGJ1ZmZlciBiZSBPLltbVmll
d2VkQXJyYXlCdWZmZXJdXS4KKyAgICAgIGlpLiBJZiBJc0RldGFjaGVkQnVmZmVyKGJ1ZmZlcikg
aXMgdHJ1ZSwgcmV0dXJuIGZhbHNlLgogICAuLi4KIGluY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXku
anMsIGRldGFjaEFycmF5QnVmZmVyLmpzXQotZmVhdHVyZXM6IFtjcm9zcy1yZWFsbSwgUmVmbGVj
dCwgVHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGlj
cy13aXRoLXdlYi1yZWFsaXR5LCBjcm9zcy1yZWFsbSwgUmVmbGVjdCwgVHlwZWRBcnJheV0KIC0t
LSovCiAKIHZhciBvdGhlciA9ICQyNjIuY3JlYXRlUmVhbG0oKS5nbG9iYWw7CkBAIC0yNyw3ICsy
Niw1IEBAIHRlc3RXaXRoVHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewogCiAg
ICRERVRBQ0hCVUZGRVIoc2FtcGxlLmJ1ZmZlcik7CiAKLSAgYXNzZXJ0LnRocm93cyhUeXBlRXJy
b3IsIGZ1bmN0aW9uKCkgewotICAgIFJlZmxlY3QuaGFzKHNhbXBsZSwgJzAnKTsKLSAgfSwgJzAn
KTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShSZWZsZWN0LmhhcyhzYW1wbGUsICcwJyksIGZhbHNlLCAn
UmVmbGVjdC5oYXMoc2FtcGxlLCAiMCIpIG11c3QgcmV0dXJuIGZhbHNlJyk7CiB9KTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0
b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9kZXRhY2hlZC1idWZmZXIuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvSGFz
UHJvcGVydHkvZGV0YWNoZWQtYnVmZmVyLmpzCmluZGV4IDkwODVkYzNhYjJjMzNlMGRmMjc2MmI3
OWM5NWNjZjhjZWE5YTliYTkuLmNmMTE1NzAyMTBlMmVhODgzZmYwYWRlYTc4OTczNDY4NjQ3Zjk5
MWMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
Q29uc3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9kZXRhY2hlZC1idWZmZXIuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMv
aW50ZXJuYWxzL0hhc1Byb3BlcnR5L2RldGFjaGVkLWJ1ZmZlci5qcwpAQCAtMiw3ICsyLDcgQEAK
IC8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhl
IExJQ0VOU0UgZmlsZS4KIC8qLS0tCiBlc2lkOiBzZWMtaW50ZWdlci1pbmRleGVkLWV4b3RpYy1v
YmplY3RzLWhhc3Byb3BlcnR5LXAKLWRlc2NyaXB0aW9uOiBUaHJvd3MgYSBUeXBlRXJyb3IgaWYg
dGhpcyBoYXMgYSBkZXRhY2hlZCBidWZmZXIKK2Rlc2NyaXB0aW9uOiBSZXR1cm4gZmFsc2UgaWYg
dGhpcyBoYXMgYSBkZXRhY2hlZCBidWZmZXIKIGluZm86IHwKICAgOS40LjUuMiBbW0hhc1Byb3Bl
cnR5XV0oUCkKIApAQCAtMTAsMjYgKzEwLDE4IEBAIGluZm86IHwKICAgMy4gSWYgVHlwZShQKSBp
cyBTdHJpbmcsIHRoZW4KICAgICBhLiBMZXQgbnVtZXJpY0luZGV4IGJlICEgQ2Fub25pY2FsTnVt
ZXJpY0luZGV4U3RyaW5nKFApLgogICAgIGIuIElmIG51bWVyaWNJbmRleCBpcyBub3QgdW5kZWZp
bmVkLCB0aGVuCi0gICAgICBpLiBMZXQgYnVmZmVyIGJlIHRoZSB2YWx1ZSBvZiBPJ3MgW1tWaWV3
ZWRBcnJheUJ1ZmZlcl1dIGludGVybmFsIHNsb3QuCi0gICAgICBpaS4gSWYgSXNEZXRhY2hlZEJ1
ZmZlcihidWZmZXIpIGlzIHRydWUsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgICAg
IGkuIExldCBidWZmZXIgYmUgTy5bW1ZpZXdlZEFycmF5QnVmZmVyXV0uCisgICAgICBpaS4gSWYg
SXNEZXRhY2hlZEJ1ZmZlcihidWZmZXIpIGlzIHRydWUsIHJldHVybiBmYWxzZS4KICAgLi4uCiBp
bmNsdWRlczogW3Rlc3RUeXBlZEFycmF5LmpzLCBkZXRhY2hBcnJheUJ1ZmZlci5qc10KLWZlYXR1
cmVzOiBbUmVmbGVjdCwgVHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVm
ZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBSZWZsZWN0LCBUeXBlZEFycmF5XQogLS0t
Ki8KIAogdGVzdFdpdGhUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CiAgIHZh
ciBzYW1wbGUgPSBuZXcgVEEoMSk7CiAgICRERVRBQ0hCVUZGRVIoc2FtcGxlLmJ1ZmZlcik7CiAK
LSAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICAgIFJlZmxlY3QuaGFz
KHNhbXBsZSwgIjAiKTsKLSAgfSwgIjAiKTsKLQotICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
ZnVuY3Rpb24oKSB7Ci0gICAgUmVmbGVjdC5oYXMoc2FtcGxlLCAiLTAiKTsKLSAgfSwgIi0wIik7
Ci0KLSAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICAgIFJlZmxlY3Qu
aGFzKHNhbXBsZSwgIjEuMSIpOwotICB9LCAiMS4xIik7CisgIGFzc2VydC5zYW1lVmFsdWUoUmVm
bGVjdC5oYXMoc2FtcGxlLCAiMCIpLCBmYWxzZSwgJ1JlZmxlY3QuaGFzKHNhbXBsZSwgIjAiKSBt
dXN0IHJldHVybiBmYWxzZScpOworICBhc3NlcnQuc2FtZVZhbHVlKFJlZmxlY3QuaGFzKHNhbXBs
ZSwgIi0wIiksIGZhbHNlLCAnUmVmbGVjdC5oYXMoc2FtcGxlLCAiLTAiKSBtdXN0IHJldHVybiBm
YWxzZScpOworICBhc3NlcnQuc2FtZVZhbHVlKFJlZmxlY3QuaGFzKHNhbXBsZSwgIjEuMSIpLCBm
YWxzZSwgJ1JlZmxlY3QuaGFzKHNhbXBsZSwgIjEuMSIpIG11c3QgcmV0dXJuIGZhbHNlJyk7CiB9
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
Q29uc3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9pbmRleGVkLXZhbHVlLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJu
YWxzL0hhc1Byb3BlcnR5L2luZGV4ZWQtdmFsdWUuanMKaW5kZXggNWEzYjA0ODJhYzNlOWVlYmRh
MzYzYzNjMWIwMTQ1YjFlNzk4NGQ1OS4uYWZiNTdiYTNhY2ZlMzk1N2QyNGRhZmFhYTc3MmIxZjY1
MjM4MzFkOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L2luZGV4ZWQtdmFsdWUuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3Rv
cnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L2luZGV4ZWQtdmFsdWUuanMKQEAgLTExLDIyICsxMSwx
OCBAQCBpbmZvOiB8CiAgIDMuIElmIFR5cGUoUCkgaXMgU3RyaW5nLCB0aGVuCiAgICAgYS4gTGV0
IG51bWVyaWNJbmRleCBiZSAhIENhbm9uaWNhbE51bWVyaWNJbmRleFN0cmluZyhQKS4KICAgICBi
LiBJZiBudW1lcmljSW5kZXggaXMgbm90IHVuZGVmaW5lZCwgdGhlbgotICAgICAgaS4gTGV0IGJ1
ZmZlciBiZSB0aGUgdmFsdWUgb2YgTydzIFtbVmlld2VkQXJyYXlCdWZmZXJdXSBpbnRlcm5hbCBz
bG90LgotICAgICAgaWkuIElmIElzRGV0YWNoZWRCdWZmZXIoYnVmZmVyKSBpcyB0cnVlLCB0aHJv
dyBhIFR5cGVFcnJvciBleGNlcHRpb24uCi0gICAgICBpaWkuIElmIElzSW50ZWdlcihudW1lcmlj
SW5kZXgpIGlzIGZhbHNlLCByZXR1cm4gZmFsc2UuCi0gICAgICBpdi4gSWYgbnVtZXJpY0luZGV4
ID0gLTAsIHJldHVybiBmYWxzZS4KLSAgICAgIHYuIElmIG51bWVyaWNJbmRleCA8IDAsIHJldHVy
biBmYWxzZS4KLSAgICAgIHZpLiBJZiBudW1lcmljSW5kZXgg4omlIHRoZSB2YWx1ZSBvZiBPJ3Mg
W1tBcnJheUxlbmd0aF1dIGludGVybmFsIHNsb3QsCi0gICAgICByZXR1cm4gZmFsc2UuCi0gICAg
ICB2aWkuIFJldHVybiB0cnVlLgorICAgICAgaS4gTGV0IGJ1ZmZlciBiZSBPLltbVmlld2VkQXJy
YXlCdWZmZXJdXS4KKyAgICAgIGlpLiBJZiBJc0RldGFjaGVkQnVmZmVyKGJ1ZmZlcikgaXMgdHJ1
ZSwgcmV0dXJuIGZhbHNlLgorICAgICAgaWlpLiBJZiAhIElzVmFsaWRJbnRlZ2VySW5kZXgoTywg
bnVtZXJpY0luZGV4KSBpcyBmYWxzZSwgcmV0dXJuIGZhbHNlLgorICAgICAgaXYuIFJldHVybiB0
cnVlLgogICAuLi4KIGluY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXkuanNdCi1mZWF0dXJlczogW1Jl
ZmxlY3QsIFR5cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1ZmZlci1zZW1h
bnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgUmVmbGVjdCwgVHlwZWRBcnJheV0KIC0tLSovCiAKIHRl
c3RXaXRoVHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewogICB2YXIgc2FtcGxl
ID0gbmV3IFRBKFs0MiwgNDNdKTsKIAotICBhc3NlcnQuc2FtZVZhbHVlKFJlZmxlY3QuaGFzKHNh
bXBsZSwgMCksIHRydWUpOwotICBhc3NlcnQuc2FtZVZhbHVlKFJlZmxlY3QuaGFzKHNhbXBsZSwg
MSksIHRydWUpOworICBhc3NlcnQuc2FtZVZhbHVlKFJlZmxlY3QuaGFzKHNhbXBsZSwgMCksIHRy
dWUsICdSZWZsZWN0LmhhcygibmV3IFRBKFs0MiwgNDNdKSIsIDApIG11c3QgcmV0dXJuIHRydWUn
KTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShSZWZsZWN0LmhhcyhzYW1wbGUsIDEpLCB0cnVlLCAnUmVm
bGVjdC5oYXMoIm5ldyBUQShbNDIsIDQzXSkiLCAxKSBtdXN0IHJldHVybiB0cnVlJyk7CiB9KTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29u
c3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9pbmZpbml0eS13aXRoLWRldGFjaGVkLWJ1
ZmZlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3Ry
dWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9pbmZpbml0eS13aXRoLWRldGFjaGVkLWJ1ZmZl
ci5qcwppbmRleCA3YTc5YmVjN2I5NDQzYTUyNTk5ZDRlMDg4M2FlZjdjNDk1NmQzNDVjLi40YzRh
NmZmZDBkNTk2ZmRlZTAxNjE0NmUwNjNhMjRmNjkwN2Q1YWFjIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMv
SGFzUHJvcGVydHkvaW5maW5pdHktd2l0aC1kZXRhY2hlZC1idWZmZXIuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxz
L0hhc1Byb3BlcnR5L2luZmluaXR5LXdpdGgtZGV0YWNoZWQtYnVmZmVyLmpzCkBAIC0xMiw3ICsx
Miw3IEBAIGluZm86IHwKICAgICBhLiBMZXQgbnVtZXJpY0luZGV4IGJlICEgQ2Fub25pY2FsTnVt
ZXJpY0luZGV4U3RyaW5nKFApLgogICAgIGIuIElmIG51bWVyaWNJbmRleCBpcyBub3QgdW5kZWZp
bmVkLCB0aGVuCiAgICAgICBpLiBMZXQgYnVmZmVyIGJlIE8uW1tWaWV3ZWRBcnJheUJ1ZmZlcl1d
LgotICAgICAgaWkuIElmIElzRGV0YWNoZWRCdWZmZXIoYnVmZmVyKSBpcyB0cnVlLCB0aHJvdyBh
IFR5cGVFcnJvciBleGNlcHRpb24uCisgICAgICBpaS4gSWYgSXNEZXRhY2hlZEJ1ZmZlcihidWZm
ZXIpIGlzIHRydWUsIHJldHVybiBmYWxzZS4KICAgICAgIC4uLgogCiAgIDcuMS4xNiBDYW5vbmlj
YWxOdW1lcmljSW5kZXhTdHJpbmcgKCBhcmd1bWVudCApCkBAIC0yMywxNCArMjMsMjggQEAgaW5m
bzogfAogCiBmbGFnczogW25vU3RyaWN0XQogaW5jbHVkZXM6IFt0ZXN0VHlwZWRBcnJheS5qcywg
ZGV0YWNoQXJyYXlCdWZmZXIuanNdCi1mZWF0dXJlczogW1R5cGVkQXJyYXldCitmZWF0dXJlczog
W2FsaWduLWRldGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgVHlwZWRB
cnJheV0KIC0tLSovCiAKIHRlc3RXaXRoVHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihU
QSkgewotICB2YXIgc2FtcGxlID0gbmV3IFRBKDApOwotICAkREVUQUNIQlVGRkVSKHNhbXBsZS5i
dWZmZXIpOworICBsZXQgY291bnRlciA9IDA7CisgIGxldCBuID0geworICAgIHZhbHVlT2YoKSB7
CisgICAgICBjb3VudGVyKys7CisgICAgICByZXR1cm4gOTsKKyAgICB9CisgIH07CiAKLSAgYXNz
ZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICAgIHdpdGggKHNhbXBsZSkgSW5m
aW5pdHk7Ci0gIH0pOworICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50ZXIsIDAsICdUaGUgdmFsdWUg
b2YgYGNvdW50ZXJgIGlzIDAnKTsKKworICBsZXQgdGEgPSBuZXcgVEEoW25dKTsKKworICBhc3Nl
cnQuc2FtZVZhbHVlKGNvdW50ZXIsIDEsICdUaGUgdmFsdWUgb2YgYGNvdW50ZXJgIGlzIDEnKTsK
KworICAkREVUQUNIQlVGRkVSKHRhLmJ1ZmZlcik7CisKKyAgd2l0aCAodGEpIHsKKyAgICBJbmZp
bml0eTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50ZXIsIDEsICdUaGUgdmFsdWUgb2YgYGNv
dW50ZXJgIGlzIDEnKTsKKyAgfQogfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvSGFzUHJvcGVydHkv
a2V5LWlzLWdyZWF0ZXItdGhhbi1sYXN0LWluZGV4LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L2tl
eS1pcy1ncmVhdGVyLXRoYW4tbGFzdC1pbmRleC5qcwppbmRleCA2MzBjMjExYzFhYmFjMjg5MmQx
Y2ZlZjY0NDU4NTY0ZTdkNmE2YTRmLi4zOTc1YmIwYTUxZWI2MGJlYTY0MGYwMmNlZWQ5NzRmNjM3
ZDA1ZTQ5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRB
cnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvSGFzUHJvcGVydHkva2V5LWlzLWdyZWF0ZXItdGhh
bi1sYXN0LWluZGV4LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9rZXktaXMtZ3JlYXRlci10
aGFuLWxhc3QtaW5kZXguanMKQEAgLTExLDExICsxMSwxMCBAQCBpbmZvOiB8CiAgICAgYS4gTGV0
IG51bWVyaWNJbmRleCBiZSAhIENhbm9uaWNhbE51bWVyaWNJbmRleFN0cmluZyhQKS4KICAgICBi
LiBJZiBudW1lcmljSW5kZXggaXMgbm90IHVuZGVmaW5lZCwgdGhlbgogICAgICAgLi4uCi0gICAg
ICB2aS4gSWYgbnVtZXJpY0luZGV4IOKJpSB0aGUgdmFsdWUgb2YgTydzIFtbQXJyYXlMZW5ndGhd
XSBpbnRlcm5hbCBzbG90LAotICAgICAgcmV0dXJuIGZhbHNlLgorICAgICAgaWlpLiBJZiAhIElz
VmFsaWRJbnRlZ2VySW5kZXgoTywgbnVtZXJpY0luZGV4KSBpcyBmYWxzZSwgcmV0dXJuIGZhbHNl
LgogICAuLi4KIGluY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXkuanNdCi1mZWF0dXJlczogW1JlZmxl
Y3QsIFR5cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1ZmZlci1zZW1hbnRp
Y3Mtd2l0aC13ZWItcmVhbGl0eSwgUmVmbGVjdCwgVHlwZWRBcnJheV0KIC0tLSovCiAKIC8vIFBy
ZXZlbnRzIGZhbHNlIHBvc2l0aXZlcyB1c2luZyBPcmRpbmFyeUhhc1Byb3BlcnR5CkBAIC0yNCw1
ICsyMyw1IEBAIFR5cGVkQXJyYXkucHJvdG90eXBlWzFdID0gInRlc3QyNjIiOwogdGVzdFdpdGhU
eXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CiAgIHZhciBzYW1wbGUgPSBuZXcg
VEEoMSk7CiAKLSAgYXNzZXJ0LnNhbWVWYWx1ZShSZWZsZWN0LmhhcyhzYW1wbGUsICIxIiksIGZh
bHNlLCAiMSIpOworICBhc3NlcnQuc2FtZVZhbHVlKFJlZmxlY3QuaGFzKHNhbXBsZSwgIjEiKSwg
ZmFsc2UsICdSZWZsZWN0LmhhcyhzYW1wbGUsICIxIikgbXVzdCByZXR1cm4gZmFsc2UnKTsKIH0p
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlD
b25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L2tleS1pcy1sb3dlci10aGFuLXplcm8u
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9y
cy9pbnRlcm5hbHMvSGFzUHJvcGVydHkva2V5LWlzLWxvd2VyLXRoYW4temVyby5qcwppbmRleCA4
YmRhMDk0Y2YwZTJlOTA5NDNkNDA4MmZhMzIxNTE3MTcxMzc1MDliLi45MjBmOGVhZjZlN2E3YTMx
NjcxNDZlMGJhMDMwNjMyNzUwMTJhYjg4IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvSGFzUHJvcGVydHkv
a2V5LWlzLWxvd2VyLXRoYW4temVyby5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvSGFzUHJvcGVydHkva2V5LWlz
LWxvd2VyLXRoYW4temVyby5qcwpAQCAtMTEsMTAgKzExLDEwIEBAIGluZm86IHwKICAgICBhLiBM
ZXQgbnVtZXJpY0luZGV4IGJlICEgQ2Fub25pY2FsTnVtZXJpY0luZGV4U3RyaW5nKFApLgogICAg
IGIuIElmIG51bWVyaWNJbmRleCBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCiAgICAgICAuLi4KLSAg
ICAgIHYuIElmIG51bWVyaWNJbmRleCA8IDAsIHJldHVybiBmYWxzZS4KKyAgICAgIGlpaS4gSWYg
ISBJc1ZhbGlkSW50ZWdlckluZGV4KE8sIG51bWVyaWNJbmRleCkgaXMgZmFsc2UsIHJldHVybiBm
YWxzZS4KICAgLi4uCiBpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5LmpzXQotZmVhdHVyZXM6IFtS
ZWZsZWN0LCBUeXBlZEFycmF5XQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2Vt
YW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIFJlZmxlY3QsIFR5cGVkQXJyYXldCiAtLS0qLwogCiAK
QEAgLTI0LDUgKzI0LDUgQEAgVHlwZWRBcnJheS5wcm90b3R5cGVbLTFdID0gInRlc3QyNjIiOwog
dGVzdFdpdGhUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CiAgIHZhciBzYW1w
bGUgPSBuZXcgVEEoMSk7CiAKLSAgYXNzZXJ0LnNhbWVWYWx1ZShSZWZsZWN0LmhhcyhzYW1wbGUs
ICItMSIpLCBmYWxzZSwgIi0xIik7CisgIGFzc2VydC5zYW1lVmFsdWUoUmVmbGVjdC5oYXMoc2Ft
cGxlLCAiLTEiKSwgZmFsc2UsICdSZWZsZWN0LmhhcyhzYW1wbGUsICItMSIpIG11c3QgcmV0dXJu
IGZhbHNlJyk7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9rZXktaXMtbWlu
dXMtemVyby5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29u
c3RydWN0b3JzL2ludGVybmFscy9IYXNQcm9wZXJ0eS9rZXktaXMtbWludXMtemVyby5qcwppbmRl
eCA5MzY0ZTg5YjUxZDBlN2M1OGQzYmI3YmUwZGM1NjQ5MTE5ZDBhOGI5Li4xM2JhMzM2Y2EwMzVl
MGMxMTJjY2UyODMyYmFhM2Y5NDlhMjEzMzkyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvSGFzUHJvcGVy
dHkva2V5LWlzLW1pbnVzLXplcm8uanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL0hhc1Byb3BlcnR5L2tleS1pcy1t
aW51cy16ZXJvLmpzCkBAIC0xMSwxMCArMTEsMTAgQEAgaW5mbzogfAogICAgIGEuIExldCBudW1l
cmljSW5kZXggYmUgISBDYW5vbmljYWxOdW1lcmljSW5kZXhTdHJpbmcoUCkuCiAgICAgYi4gSWYg
bnVtZXJpY0luZGV4IGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KICAgICAgIC4uLgotICAgICAgaXYu
IElmIG51bWVyaWNJbmRleCA9IC0wLCByZXR1cm4gZmFsc2UuCisgICAgICBpaWkuIElmICEgSXNW
YWxpZEludGVnZXJJbmRleChPLCBudW1lcmljSW5kZXgpIGlzIGZhbHNlLCByZXR1cm4gZmFsc2Uu
CiAgIC4uLgogaW5jbHVkZXM6IFt0ZXN0VHlwZWRBcnJheS5qc10KLWZlYXR1cmVzOiBbUmVmbGVj
dCwgVHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGlj
cy13aXRoLXdlYi1yZWFsaXR5LCBSZWZsZWN0LCBUeXBlZEFycmF5XQogLS0tKi8KIAogCkBAIC0y
NCw1ICsyNCw1IEBAIFR5cGVkQXJyYXkucHJvdG90eXBlWyItMCJdID0gInRlc3QyNjIiOwogdGVz
dFdpdGhUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CiAgIHZhciBzYW1wbGUg
PSBuZXcgVEEoMSk7CiAKLSAgYXNzZXJ0LnNhbWVWYWx1ZShSZWZsZWN0LmhhcyhzYW1wbGUsICIt
MCIpLCBmYWxzZSwgIi0wIik7CisgIGFzc2VydC5zYW1lVmFsdWUoUmVmbGVjdC5oYXMoc2FtcGxl
LCAiLTAiKSwgZmFsc2UsICdSZWZsZWN0LmhhcyhzYW1wbGUsICItMCIpIG11c3QgcmV0dXJuIGZh
bHNlJyk7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L2JpZ2ludC10b2JpZ2lu
dDY0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQvYmlnaW50LXRvYmlnaW50NjQuanMKaW5kZXggMzUz
YjljNzZkZjQ0ODY1MTM0MTNhMzk2ODU4MmU1OThiNmMwMjdiOS4uZDg0NDFhZjJmMDdlZGYwNTQ5
OGEzMmU2MTAzNTIyZjBhNmM4MTM4MyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQvYmln
aW50LXRvYmlnaW50NjQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQvYmlnaW50LXRvYmlnaW50
NjQuanMKQEAgLTY1LDQ2ICs2NSwzNiBAQCBpbmZvOiB8CiAgICAgMi4gTGV0IGludDY0Yml0IGJl
IG4gbW9kdWxvIDJeNjQuCiAgICAgMy4gSWYgaW50NjRiaXQg4omlIDJeNjMsIHJldHVybiBpbnQ2
NGJpdCAtIDJeNjQ7IG90aGVyd2lzZSByZXR1cm4gaW50NjRiaXQuCiAKLWZlYXR1cmVzOiBbQmln
SW50LCBUeXBlZEFycmF5XQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50
aWNzLXdpdGgtd2ViLXJlYWxpdHksIEJpZ0ludCwgVHlwZWRBcnJheV0KIC0tLSovCi0KKy8vIDJu
ICoqIDY0biArIDJuCisvLyAybiAqKiA2M24gKyAybgorLy8gLSgybiAqKiA2M24pIC0gMm4KKy8v
IC0oMm4gKiogNjRuKSAtIDJuCisvLyAybiAtIDJuICoqIDYzbgorLy8gMm4gKiogNjNuIC0gMgog
dmFyIHZhbHMgPSBbCi0gIDE4NDQ2NzQ0MDczNzA5NTUxNjE4biwgLy8gMm4gKiogNjRuICsgMm4K
LSAgOTIyMzM3MjAzNjg1NDc3NTgxMG4sIC8vIDJuICoqIDYzbiArIDJuCisgIDE4NDQ2NzQ0MDcz
NzA5NTUxNjE4biwKKyAgOTIyMzM3MjAzNjg1NDc3NTgxMG4sCiAgIDJuLAogICAwbiwKICAgLTJu
LAotICAtOTIyMzM3MjAzNjg1NDc3NTgxMG4sIC8vIC0oMm4gKiogNjNuKSAtIDJuCi0gIC0xODQ0
Njc0NDA3MzcwOTU1MTYxOG4sIC8vIC0oMm4gKiogNjRuKSAtIDJuCisgIC05MjIzMzcyMDM2ODU0
Nzc1ODEwbiwKKyAgLTE4NDQ2NzQ0MDczNzA5NTUxNjE4bgogXTsKIAogdmFyIHR5cGVkQXJyYXkg
PSBuZXcgQmlnSW50NjRBcnJheSgxKTsKLQogdHlwZWRBcnJheVswXSA9IHZhbHNbMF07Ci1hc3Nl
cnQuc2FtZVZhbHVlKHR5cGVkQXJyYXlbMF0sIDJuLAotICAgICAgICAgICAgICAgICAiVG9CaWdJ
bnQ2NCgybiAqKiA2NG4gKyAybikgPT4gMm4iKTsKLQorYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlZEFy
cmF5WzBdLCAybiwgJ1RoZSB2YWx1ZSBvZiB0eXBlZEFycmF5WzBdIGlzIDJuJyk7CiB0eXBlZEFy
cmF5WzBdID0gdmFsc1sxXTsKLWFzc2VydC5zYW1lVmFsdWUodHlwZWRBcnJheVswXSwgLTkyMjMz
NzIwMzY4NTQ3NzU4MDZuLCAvLyAybiAtIDJuICoqIDYzbgotICAgICAgICAgICAgICAgICAiVG9C
aWdJbnQ2NCgybiAqKiA2M24gKyAybikgPT4gLTkyMjMzNzIwMzY4NTQ3NzU4MDZuIik7Ci0KK2Fz
c2VydC5zYW1lVmFsdWUodHlwZWRBcnJheVswXSwgLTkyMjMzNzIwMzY4NTQ3NzU4MDZuLCAnVGhl
IHZhbHVlIG9mIHR5cGVkQXJyYXlbMF0gaXMgLTkyMjMzNzIwMzY4NTQ3NzU4MDZuJyk7CiB0eXBl
ZEFycmF5WzBdID0gdmFsc1syXTsKLWFzc2VydC5zYW1lVmFsdWUodHlwZWRBcnJheVswXSwgMm4s
Ci0gICAgICAgICAgICAgICAgICJUb0JpZ0ludDY0KDJuKSA9PiAybiIpOwotCithc3NlcnQuc2Ft
ZVZhbHVlKHR5cGVkQXJyYXlbMF0sIDJuLCAnVGhlIHZhbHVlIG9mIHR5cGVkQXJyYXlbMF0gaXMg
Mm4nKTsKIHR5cGVkQXJyYXlbMF0gPSB2YWxzWzNdOwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlZEFy
cmF5WzBdLCAwbiwKLSAgICAgICAgICAgICAgICAgIlRvQmlnSW50NjQoMG4pID0+IDBuIik7Ci0K
K2Fzc2VydC5zYW1lVmFsdWUodHlwZWRBcnJheVswXSwgMG4sICdUaGUgdmFsdWUgb2YgdHlwZWRB
cnJheVswXSBpcyAwbicpOwogdHlwZWRBcnJheVswXSA9IHZhbHNbNF07Ci1hc3NlcnQuc2FtZVZh
bHVlKHR5cGVkQXJyYXlbMF0sIC0ybiwKLSAgICAgICAgICAgICAgICAgIlRvQmlnSW50NjQoIC0y
bikgPT4gLTJuIik7Ci0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZWRBcnJheVswXSwgLTJuLCAnVGhl
IHZhbHVlIG9mIHR5cGVkQXJyYXlbMF0gaXMgLTJuJyk7CiB0eXBlZEFycmF5WzBdID0gdmFsc1s1
XTsKLWFzc2VydC5zYW1lVmFsdWUodHlwZWRBcnJheVswXSwgOTIyMzM3MjAzNjg1NDc3NTgwNm4s
IC8vIDJuICoqIDYzbiAtIDIKLSAgICAgICAgICAgICAgICAgIlRvQmlnSW50NjQoIC0oMm4gKiog
NjRuKSAtIDJuKSA9PiA5MjIzMzcyMDM2ODU0Nzc1ODA2biIpOwotCithc3NlcnQuc2FtZVZhbHVl
KHR5cGVkQXJyYXlbMF0sIDkyMjMzNzIwMzY4NTQ3NzU4MDZuLCAnVGhlIHZhbHVlIG9mIHR5cGVk
QXJyYXlbMF0gaXMgOTIyMzM3MjAzNjg1NDc3NTgwNm4nKTsKIHR5cGVkQXJyYXlbMF0gPSB2YWxz
WzZdOwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlZEFycmF5WzBdLCAtMm4sCi0gICAgICAgICAgICAg
ICAgICJUb0JpZ0ludDY0KCAtKDJuICoqIDY0bikgLSAybikgPT4gLTJuIik7Ci0KK2Fzc2VydC5z
YW1lVmFsdWUodHlwZWRBcnJheVswXSwgLTJuLCAnVGhlIHZhbHVlIG9mIHR5cGVkQXJyYXlbMF0g
aXMgLTJuJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L0JpZ0ludC9iaWdpbnQtdG9iaWd1aW50
NjQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9pbnRlcm5hbHMvU2V0L0JpZ0ludC9iaWdpbnQtdG9iaWd1aW50NjQuanMKaW5kZXggNDBj
YmM0MDkwODcyYzJlY2QxZWFjZmM0OWJkNWJhOWIxNGU0N2Y1NS4uY2Q3NDkxZTU3Mzk2YzkzOGMy
ODAxMzFlMDFlNWJmYWJhNTY4NTgzOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQvYmln
aW50LXRvYmlndWludDY0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L2JpZ2ludC10b2JpZ3Vp
bnQ2NC5qcwpAQCAtNjUsNDUgKzY1LDM4IEBAIGluZm86IHwKICAgICAyLiBMZXQgaW50NjRiaXQg
YmUgbiBtb2R1bG8gMl42NC4KICAgICAzLiBSZXR1cm4gaW50NjRiaXQuCiAKLWZlYXR1cmVzOiBb
QmlnSW50LCBUeXBlZEFycmF5XQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2Vt
YW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIEJpZ0ludCwgVHlwZWRBcnJheV0KIC0tLSovCi0KKy8v
IDJuICoqIDY0biArIDJuCisvLyAybiAqKiA2M24gKyAybgorLy8gLSgybiAqKiA2M24pIC0gMm4K
Ky8vIC0oMm4gKiogNjRuKSAtIDJuCisvLyAybiAqKiA2M24gKyAybgorLy8gMm4gKiogNjRuIC0g
Mm4KKy8vIDJuICoqIDYzbiAtIDJuCisvLyAybiAqKiA2NG4gLSAybgogdmFyIHZhbHMgPSBbCi0g
IDE4NDQ2NzQ0MDczNzA5NTUxNjE4biwgLy8gMm4gKiogNjRuICsgMm4KLSAgOTIyMzM3MjAzNjg1
NDc3NTgxMG4sIC8vIDJuICoqIDYzbiArIDJuCisgIDE4NDQ2NzQ0MDczNzA5NTUxNjE4biwKKyAg
OTIyMzM3MjAzNjg1NDc3NTgxMG4sCiAgIDJuLAogICAwbiwKICAgLTJuLAotICAtOTIyMzM3MjAz
Njg1NDc3NTgxMG4sIC8vIC0oMm4gKiogNjNuKSAtIDJuCi0gIC0xODQ0Njc0NDA3MzcwOTU1MTYx
OG4sIC8vIC0oMm4gKiogNjRuKSAtIDJuCisgIC05MjIzMzcyMDM2ODU0Nzc1ODEwbiwKKyAgLTE4
NDQ2NzQ0MDczNzA5NTUxNjE4bgogXTsKIAogdmFyIHR5cGVkQXJyYXkgPSBuZXcgQmlnVWludDY0
QXJyYXkoMSk7Ci0KIHR5cGVkQXJyYXlbMF0gPSB2YWxzWzBdOwotYXNzZXJ0LnNhbWVWYWx1ZSh0
eXBlZEFycmF5WzBdLCAybiwKLSAgICAgICAgICAgICAgICAgIlRvQmlnVWludDY0KDJuICoqIDY0
biArIDJuKSA9PiAybiIpOwotCithc3NlcnQuc2FtZVZhbHVlKHR5cGVkQXJyYXlbMF0sIDJuLCAn
VGhlIHZhbHVlIG9mIHR5cGVkQXJyYXlbMF0gaXMgMm4nKTsKIHR5cGVkQXJyYXlbMF0gPSB2YWxz
WzFdOwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlZEFycmF5WzBdLCA5MjIzMzcyMDM2ODU0Nzc1ODEw
biwgLy8gMm4gKiogNjNuICsgMm4KLSAgICAgICAgICAgICAgICAgIlRvQmlnVWludDY0KDJuICoq
IDYzbiArIDJuKSA9PiA5MjIzMzcyMDM2ODU0Nzc1ODEwIik7Ci0KK2Fzc2VydC5zYW1lVmFsdWUo
dHlwZWRBcnJheVswXSwgOTIyMzM3MjAzNjg1NDc3NTgxMG4sICdUaGUgdmFsdWUgb2YgdHlwZWRB
cnJheVswXSBpcyA5MjIzMzcyMDM2ODU0Nzc1ODEwbicpOwogdHlwZWRBcnJheVswXSA9IHZhbHNb
Ml07Ci1hc3NlcnQuc2FtZVZhbHVlKHR5cGVkQXJyYXlbMF0sIDJuLAotICAgICAgICAgICAgICAg
ICAiVG9CaWdVaW50NjQoMm4pID0+IDJuIik7Ci0KK2Fzc2VydC5zYW1lVmFsdWUodHlwZWRBcnJh
eVswXSwgMm4sICdUaGUgdmFsdWUgb2YgdHlwZWRBcnJheVswXSBpcyAybicpOwogdHlwZWRBcnJh
eVswXSA9IHZhbHNbM107Ci1hc3NlcnQuc2FtZVZhbHVlKHR5cGVkQXJyYXlbMF0sIDBuLAotICAg
ICAgICAgICAgICAgICAiVG9CaWdVaW50NjQoMG4pID0+IDBuIik7Ci0KK2Fzc2VydC5zYW1lVmFs
dWUodHlwZWRBcnJheVswXSwgMG4sICdUaGUgdmFsdWUgb2YgdHlwZWRBcnJheVswXSBpcyAwbicp
OwogdHlwZWRBcnJheVswXSA9IHZhbHNbNF07Ci1hc3NlcnQuc2FtZVZhbHVlKHR5cGVkQXJyYXlb
MF0sIDE4NDQ2NzQ0MDczNzA5NTUxNjE0biwgLy8gMm4gKiogNjRuIC0gMm4KLSAgICAgICAgICAg
ICAgICAgIlRvQmlnVWludDY0KCAtMm4pID0+IDE4NDQ2NzQ0MDczNzA5NTUxNjE0biIpOwotCith
c3NlcnQuc2FtZVZhbHVlKHR5cGVkQXJyYXlbMF0sIDE4NDQ2NzQ0MDczNzA5NTUxNjE0biwgJ1Ro
ZSB2YWx1ZSBvZiB0eXBlZEFycmF5WzBdIGlzIDE4NDQ2NzQ0MDczNzA5NTUxNjE0bicpOwogdHlw
ZWRBcnJheVswXSA9IHZhbHNbNV07Ci1hc3NlcnQuc2FtZVZhbHVlKHR5cGVkQXJyYXlbMF0sIDky
MjMzNzIwMzY4NTQ3NzU4MDZuLCAvLyAybiAqKiA2M24gLSAybgotICAgICAgICAgICAgICAgICAi
VG9CaWdVaW50NjQoIC0oMm4gKiogNjNuKSAtIDJuKSA9PiA5MjIzMzcyMDM2ODU0Nzc1ODA2biIp
OwotCithc3NlcnQuc2FtZVZhbHVlKHR5cGVkQXJyYXlbMF0sIDkyMjMzNzIwMzY4NTQ3NzU4MDZu
LCAnVGhlIHZhbHVlIG9mIHR5cGVkQXJyYXlbMF0gaXMgOTIyMzM3MjAzNjg1NDc3NTgwNm4nKTsK
IHR5cGVkQXJyYXlbMF0gPSB2YWxzWzZdOwotYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlZEFycmF5WzBd
LCAxODQ0Njc0NDA3MzcwOTU1MTYxNG4sIC8vIDJuICoqIDY0biAtIDJuCi0gICAgICAgICAgICAg
ICAgICJUb0JpZ1VpbnQ2NCggLSgybiAqKiA2NG4pIC0gMm4pID0+IDE4NDQ2NzQ0MDczNzA5NTUx
NjE0biIpOworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlZEFycmF5WzBdLCAxODQ0Njc0NDA3MzcwOTU1
MTYxNG4sICdUaGUgdmFsdWUgb2YgdHlwZWRBcnJheVswXSBpcyAxODQ0Njc0NDA3MzcwOTU1MTYx
NG4nKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFy
cmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L2Jvb2xlYW4tdG9iaWdpbnQuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9p
bnRlcm5hbHMvU2V0L0JpZ0ludC9ib29sZWFuLXRvYmlnaW50LmpzCmluZGV4IDY4YzNhN2E1MTg2
M2M0ZjVmNmUzMzQ1OGU2NmIxYmZjMWU0MjcxZTYuLmQ1MWZlMTFhMTczZjMxNWJhY2IyNDZlZmMz
OWMxMWM5ODlkODA1OTQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L2Jvb2xlYW4tdG9i
aWdpbnQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlD
b25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQvYm9vbGVhbi10b2JpZ2ludC5qcwpAQCAt
NDgsMTQgKzQ4LDEyIEBAIGluZm86IHwKICAgICBSZXN1bHQ6IFJldHVybiAxbiBpZiBwcmltIGlz
IHRydWUgYW5kIDBuIGlmIHByaW0gaXMgZmFsc2UuCiAKIGluY2x1ZGVzOiBbdGVzdEJpZ0ludFR5
cGVkQXJyYXkuanNdCi1mZWF0dXJlczogW0JpZ0ludCwgVHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBb
YWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBCaWdJbnQs
IFR5cGVkQXJyYXldCiAtLS0qLwotCiB0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3Rv
cnMoZnVuY3Rpb24oVEEpIHsKICAgdmFyIHR5cGVkQXJyYXkgPSBuZXcgVEEoMik7CiAgIHR5cGVk
QXJyYXlbMF0gPSBmYWxzZTsKICAgdHlwZWRBcnJheVsxXSA9IHRydWU7Ci0KLSAgYXNzZXJ0LnNh
bWVWYWx1ZSh0eXBlZEFycmF5WzBdLCAwbiwgIkZhbHNlIGNvbnZlcnRzIHRvIEJpZ0ludCIpOwot
ICBhc3NlcnQuc2FtZVZhbHVlKHR5cGVkQXJyYXlbMV0sIDFuLCAiVHJ1ZSBjb252ZXJ0cyB0byBC
aWdJbnQiKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlZEFycmF5WzBdLCAwbiwgJ1RoZSB2YWx1
ZSBvZiB0eXBlZEFycmF5WzBdIGlzIDBuJyk7CisgIGFzc2VydC5zYW1lVmFsdWUodHlwZWRBcnJh
eVsxXSwgMW4sICdUaGUgdmFsdWUgb2YgdHlwZWRBcnJheVsxXSBpcyAxbicpOwogfSk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9pbnRlcm5hbHMvU2V0L0JpZ0ludC9kZXRhY2hlZC1idWZmZXIta2V5LWlzLW5vdC1udW1l
cmljLWluZGV4LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlD
b25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQvZGV0YWNoZWQtYnVmZmVyLWtleS1pcy1u
b3QtbnVtZXJpYy1pbmRleC5qcwppbmRleCA4N2YyNGY4ZjYyM2JiMTRmMGZiNmI4OGEyMmRkZDVj
ZmZkYWIyNTEyLi5kZWIxODJlNzg4YWMwYjNjNDU0YmIzNTdiNWNlMzNkYzczNGM4NzNlIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9pbnRlcm5hbHMvU2V0L0JpZ0ludC9kZXRhY2hlZC1idWZmZXIta2V5LWlzLW5vdC1udW1l
cmljLWluZGV4LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFy
cmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L2RldGFjaGVkLWJ1ZmZlci1rZXkt
aXMtbm90LW51bWVyaWMtaW5kZXguanMKQEAgLTE0LDEzICsxNCwxNyBAQCBpbmZvOiB8CiAgICAg
Li4uCiAgIDMuIFJldHVybiA/IE9yZGluYXJ5U2V0KE8sIFAsIFYsIFJlY2VpdmVyKS4KIGluY2x1
ZGVzOiBbdGVzdEJpZ0ludFR5cGVkQXJyYXkuanMsIGRldGFjaEFycmF5QnVmZmVyLmpzXQotZmVh
dHVyZXM6IFtCaWdJbnQsIFJlZmxlY3QsIFR5cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWduLWRl
dGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgQmlnSW50LCBSZWZsZWN0
LCBUeXBlZEFycmF5XQogLS0tKi8KLQogdGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0
b3JzKGZ1bmN0aW9uKFRBKSB7Ci0gIHZhciBzYW1wbGUgPSBuZXcgVEEoWzQybiwgNDNuXSk7Cisg
IHZhciBzYW1wbGUgPSBuZXcgVEEoMik7CiAgICRERVRBQ0hCVUZGRVIoc2FtcGxlLmJ1ZmZlcik7
CiAKLSAgYXNzZXJ0LnNhbWVWYWx1ZShSZWZsZWN0LnNldChzYW1wbGUsICJmb28iLCAidGVzdDI2
MiIpLCB0cnVlKTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShzYW1wbGUuZm9vLCAidGVzdDI2MiIpOwor
ICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIFJlZmxlY3Quc2V0KHNhbXBsZSwgJ2ZvbycsICd0ZXN0
MjYyJyksCisgICAgdHJ1ZSwKKyAgICAnUmVmbGVjdC5zZXQoc2FtcGxlLCAiZm9vIiwgInRlc3Qy
NjIiKSBtdXN0IHJldHVybiB0cnVlJworICApOworCisgIGFzc2VydC5zYW1lVmFsdWUoc2FtcGxl
LmZvbywgJ3Rlc3QyNjInLCAnVGhlIHZhbHVlIG9mIHNhbXBsZS5mb28gaXMgInRlc3QyNjIiJyk7
CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFy
cmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L2RldGFjaGVkLWJ1ZmZlci1rZXkt
aXMtc3ltYm9sLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlD
b25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQvZGV0YWNoZWQtYnVmZmVyLWtleS1pcy1z
eW1ib2wuanMKaW5kZXggZjIyZTgwOGJhNjYxYTNjNWUzMzQ5MDQzMjk5N2ZmMDE2NTIzZjMzOS4u
Y2QyYjg4YTI0YmM3N2NlMmZhNjk2MGMxNmFjNDQzZmJlNDU1YmZmNiAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJu
YWxzL1NldC9CaWdJbnQvZGV0YWNoZWQtYnVmZmVyLWtleS1pcy1zeW1ib2wuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJu
YWxzL1NldC9CaWdJbnQvZGV0YWNoZWQtYnVmZmVyLWtleS1pcy1zeW1ib2wuanMKQEAgLTEyLDE1
ICsxMiwxOSBAQCBpbmZvOiB8CiAgICAgLi4uCiAgIDMuIFJldHVybiA/IE9yZGluYXJ5U2V0KE8s
IFAsIFYsIFJlY2VpdmVyKS4KIGluY2x1ZGVzOiBbdGVzdEJpZ0ludFR5cGVkQXJyYXkuanMsIGRl
dGFjaEFycmF5QnVmZmVyLmpzXQotZmVhdHVyZXM6IFtCaWdJbnQsIFN5bWJvbCwgUmVmbGVjdCwg
VHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13
aXRoLXdlYi1yZWFsaXR5LCBCaWdJbnQsIFN5bWJvbCwgUmVmbGVjdCwgVHlwZWRBcnJheV0KIC0t
LSovCi0KLXZhciBzID0gU3ltYm9sKCIxIik7Cit2YXIgcyA9IFN5bWJvbCgnMScpOwogCiB0ZXN0
V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKLSAgdmFyIHNh
bXBsZSA9IG5ldyBUQShbNDJuLCA0M25dKTsKKyAgdmFyIHNhbXBsZSA9IG5ldyBUQSgyKTsKICAg
JERFVEFDSEJVRkZFUihzYW1wbGUuYnVmZmVyKTsKIAotICBhc3NlcnQuc2FtZVZhbHVlKFJlZmxl
Y3Quc2V0KHNhbXBsZSwgcywgInRlc3QyNjIiKSwgdHJ1ZSk7Ci0gIGFzc2VydC5zYW1lVmFsdWUo
c2FtcGxlW3NdLCAidGVzdDI2MiIpOworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIFJlZmxlY3Qu
c2V0KHNhbXBsZSwgcywgJ3Rlc3QyNjInKSwKKyAgICB0cnVlLAorICAgICdSZWZsZWN0LnNldChz
YW1wbGUsICJTeW1ib2woXFwiMVxcIikiLCAidGVzdDI2MiIpIG11c3QgcmV0dXJuIHRydWUnCisg
ICk7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShzYW1wbGVbc10sICd0ZXN0MjYyJywgJ1RoZSB2YWx1
ZSBvZiBzYW1wbGVbc10gaXMgInRlc3QyNjIiJyk7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9T
ZXQvQmlnSW50L2RldGFjaGVkLWJ1ZmZlci1yZWFsbS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L2Rl
dGFjaGVkLWJ1ZmZlci1yZWFsbS5qcwppbmRleCBmNWUxNWQ4M2ViNTkzYmI2NWNkZGM4ZjkxNDU5
YTQ4ZjY1ODBjMDEwLi45YzY2ZmUxNTY1ZjMwNTU0ODdlMzI0OWRhNmI2ZGFmMTYyZmVjNTk3IDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9pbnRlcm5hbHMvU2V0L0JpZ0ludC9kZXRhY2hlZC1idWZmZXItcmVhbG0uanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMv
aW50ZXJuYWxzL1NldC9CaWdJbnQvZGV0YWNoZWQtYnVmZmVyLXJlYWxtLmpzCkBAIC0zLDcgKzMs
NyBAQAogLyotLS0KIGVzaWQ6IHNlYy1pbnRlZ2VyLWluZGV4ZWQtZXhvdGljLW9iamVjdHMtc2V0
LXAtdi1yZWNlaXZlcgogZGVzY3JpcHRpb246ID4KLSAgVGhyb3dzIGEgVHlwZUVycm9yIGlmIGtl
eSBoYXMgYSBudW1lcmljIGluZGV4IGFuZCBvYmplY3QgaGFzIGEgZGV0YWNoZWQKKyAgUmV0dXJu
cyBmYWxzZSBpZiBUaHJvd3MgYSBUeXBlRXJyb3IgaWYga2V5IGhhcyBhIG51bWVyaWMgaW5kZXgg
YW5kIG9iamVjdCBoYXMgYSBkZXRhY2hlZAogICBidWZmZXIgKGhvbm9yaW5nIHRoZSBSZWFsbSBv
ZiB0aGUgY3VycmVudCBleGVjdXRpb24gY29udGV4dCkKIGluZm86IHwKICAgOS40LjUuNSBbW1Nl
dF1dICggUCwgViwgUmVjZWl2ZXIpCkBAIC0xNSwyNiArMTUsMjMgQEAgaW5mbzogfAogICAgICAg
aS4gUmV0dXJuID8gSW50ZWdlckluZGV4ZWRFbGVtZW50U2V0KE8sIG51bWVyaWNJbmRleCwgViku
CiAgIC4uLgogCi0gIDkuNC41LjkgSW50ZWdlckluZGV4ZWRFbGVtZW50U2V0ICggTywgaW5kZXgs
IHZhbHVlICkKKyAgSW50ZWdlckluZGV4ZWRFbGVtZW50U2V0ICggTywgaW5kZXgsIHZhbHVlICkK
IAotICAuLi4KLSAgMy4gTGV0IG51bVZhbHVlIGJlID8gVG9OdW1iZXIodmFsdWUpLgotICA0LiBM
ZXQgYnVmZmVyIGJlIHRoZSB2YWx1ZSBvZiBPJ3MgW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dIGludGVy
bmFsIHNsb3QuCi0gIDUuIElmIElzRGV0YWNoZWRCdWZmZXIoYnVmZmVyKSBpcyB0cnVlLCB0aHJv
dyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIEFzc2VydDogTyBpcyBhbiBJbnRlZ2VyLUluZGV4
ZWQgZXhvdGljIG9iamVjdC4KKyAgQXNzZXJ0OiBUeXBlKGluZGV4KSBpcyBOdW1iZXIuCisgIElm
IE8uW1tDb250ZW50VHlwZV1dIGlzIEJpZ0ludCwgbGV0IG51bVZhbHVlIGJlID8gVG9CaWdJbnQo
dmFsdWUpLgorICBPdGhlcndpc2UsIGxldCBudW1WYWx1ZSBiZSA/IFRvTnVtYmVyKHZhbHVlKS4K
KyAgTGV0IGJ1ZmZlciBiZSBPLltbVmlld2VkQXJyYXlCdWZmZXJdXS4KKyAgSWYgSXNEZXRhY2hl
ZEJ1ZmZlcihidWZmZXIpIGlzIHRydWUsIHJldHVybiBmYWxzZS4KICAgLi4uCiBpbmNsdWRlczog
W3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzLCBkZXRhY2hBcnJheUJ1ZmZlci5qc10KLWZlYXR1cmVz
OiBbQmlnSW50LCBjcm9zcy1yZWFsbSwgVHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0
YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBCaWdJbnQsIGNyb3NzLXJl
YWxtLCBUeXBlZEFycmF5XQogLS0tKi8KIAotdmFyIG90aGVyID0gJDI2Mi5jcmVhdGVSZWFsbSgp
Lmdsb2JhbDsKLQorbGV0IG90aGVyID0gJDI2Mi5jcmVhdGVSZWFsbSgpLmdsb2JhbDsKIHRlc3RX
aXRoQmlnSW50VHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewotICB2YXIgT3Ro
ZXJUQSA9IG90aGVyW1RBLm5hbWVdOwotICB2YXIgc2FtcGxlID0gbmV3IE90aGVyVEEoMSk7Ci0K
KyAgbGV0IE90aGVyVEEgPSBvdGhlcltUQS5uYW1lXTsKKyAgbGV0IHNhbXBsZSA9IG5ldyBPdGhl
clRBKDEpOwogICAkREVUQUNIQlVGRkVSKHNhbXBsZS5idWZmZXIpOwotCi0gIGFzc2VydC50aHJv
d3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgICBzYW1wbGVbMF0gPSAwbjsKLSAgfSk7Cisg
IGFzc2VydC5zYW1lVmFsdWUoc2FtcGxlWzBdID0gMW4sIGZhbHNlLCAnYHNhbXBsZVswXSA9IDFu
YCBpcyBmYWxzZScpOwogfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L0JpZ0ludC9kZXRhY2hl
ZC1idWZmZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNv
bnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L0JpZ0ludC9kZXRhY2hlZC1idWZmZXIuanMKaW5kZXgg
NjE0Zjc3NzljYjBhMzAzZWM3ZDlkOGRjMThiY2YxYTRmNWFiYTM5My4uNzFlZTZiNDUxMzRmNmNj
MTM3NjUyNzA4M2QxOWViNzFjYjc4MzQ3NSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQv
ZGV0YWNoZWQtYnVmZmVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L2RldGFjaGVkLWJ1ZmZl
ci5qcwpAQCAtMyw2MyArMyw0NiBAQAogLyotLS0KIGVzaWQ6IHNlYy1pbnRlZ2VyLWluZGV4ZWQt
ZXhvdGljLW9iamVjdHMtc2V0LXAtdi1yZWNlaXZlcgogZGVzY3JpcHRpb246ID4KLSAgVGhyb3dz
IGEgVHlwZUVycm9yIGlmIGtleSBoYXMgYSBudW1lcmljIGluZGV4IGFuZCBvYmplY3QgaGFzIGEg
ZGV0YWNoZWQgYnVmZmVyCisgIFJldHVybnMgdHJ1ZSB3aGVuIHNldHRpbmcgdGhlIHZhbHVlIG9m
IGFueSBDYW5vbmljYWxOdW1lcmljSW5kZXhTdHJpbmcgaWYgYnVmZmVyIGlzIGRldGFjaGVkLgog
aW5mbzogfAotICA5LjQuNS41IFtbU2V0XV0gKCBQLCBWLCBSZWNlaXZlcikKKyAgW1tTZXRdXSAo
IFAsIFYsIFJlY2VpdmVyKQogCiAgIC4uLgotICAyLiBJZiBUeXBlKFApIGlzIFN0cmluZywgdGhl
bgotICAgIGEuIExldCBudW1lcmljSW5kZXggYmUgISBDYW5vbmljYWxOdW1lcmljSW5kZXhTdHJp
bmcoUCkuCi0gICAgYi4gSWYgbnVtZXJpY0luZGV4IGlzIG5vdCB1bmRlZmluZWQsIHRoZW4KLSAg
ICAgIGkuIFJldHVybiA/IEludGVnZXJJbmRleGVkRWxlbWVudFNldChPLCBudW1lcmljSW5kZXgs
IFYpLgorICAgSWYgVHlwZShQKSBpcyBTdHJpbmcsIHRoZW4KKyAgICBMZXQgbnVtZXJpY0luZGV4
IGJlICEgQ2Fub25pY2FsTnVtZXJpY0luZGV4U3RyaW5nKFApLgorICAgIElmIG51bWVyaWNJbmRl
eCBpcyBub3QgdW5kZWZpbmVkLCB0aGVuCisgICAgICBSZXR1cm4gPyBJbnRlZ2VySW5kZXhlZEVs
ZW1lbnRTZXQoTywgbnVtZXJpY0luZGV4LCBWKS4KICAgLi4uCiAKLSAgOS40LjUuOSBJbnRlZ2Vy
SW5kZXhlZEVsZW1lbnRTZXQgKCBPLCBpbmRleCwgdmFsdWUgKQorICBJbnRlZ2VySW5kZXhlZEVs
ZW1lbnRTZXQgKCBPLCBpbmRleCwgdmFsdWUgKQorCisgIEFzc2VydDogTyBpcyBhbiBJbnRlZ2Vy
LUluZGV4ZWQgZXhvdGljIG9iamVjdC4KKyAgQXNzZXJ0OiBUeXBlKGluZGV4KSBpcyBOdW1iZXIu
CisgIElmIE8uW1tDb250ZW50VHlwZV1dIGlzIEJpZ0ludCwgbGV0IG51bVZhbHVlIGJlID8gVG9C
aWdJbnQodmFsdWUpLgorICBPdGhlcndpc2UsIGxldCBudW1WYWx1ZSBiZSA/IFRvTnVtYmVyKHZh
bHVlKS4KKyAgTGV0IGJ1ZmZlciBiZSBPLltbVmlld2VkQXJyYXlCdWZmZXJdXS4KKyAgSWYgSXNE
ZXRhY2hlZEJ1ZmZlcihidWZmZXIpIGlzIHRydWUsIHJldHVybiBmYWxzZS4KIAotICAuLi4KLSAg
My4gTGV0IG51bVZhbHVlIGJlID8gVG9OdW1iZXIodmFsdWUpLgotICA0LiBMZXQgYnVmZmVyIGJl
IHRoZSB2YWx1ZSBvZiBPJ3MgW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dIGludGVybmFsIHNsb3QuCi0g
IDUuIElmIElzRGV0YWNoZWRCdWZmZXIoYnVmZmVyKSBpcyB0cnVlLCB0aHJvdyBhIFR5cGVFcnJv
ciBleGNlcHRpb24uCi0gIC4uLgogaW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlwZWRBcnJheS5qcywg
ZGV0YWNoQXJyYXlCdWZmZXIuanNdCi1mZWF0dXJlczogW0JpZ0ludCwgVHlwZWRBcnJheV0KK2Zl
YXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5
LCBCaWdJbnQsIFR5cGVkQXJyYXldCiAtLS0qLwotCiB0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlD
b25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKLSAgdmFyIHNhbXBsZSA9IG5ldyBUQShbNDJuXSk7
CisgIGxldCBzYW1wbGUgPSBuZXcgVEEoWzQybl0pOwogICAkREVUQUNIQlVGRkVSKHNhbXBsZS5i
dWZmZXIpOwotCi0gIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgICBz
YW1wbGVbMF0gPSAxbjsKLSAgfSwgInZhbGlkIG51bWVyaWMgaW5kZXgiKTsKLQotICBhc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gICAgc2FtcGxlWyIxLjEiXSA9IDFuOwot
ICB9LCAiZGV0YWNoIGJ1ZmZlciBydW5zIGJlZm9yZSBjaGVja2luZyBmb3IgMS4xIik7Ci0KLSAg
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICAgIHNhbXBsZVsiLTAiXSA9
IDFuOwotICB9LCAiZGV0YWNoIGJ1ZmZlciBydW5zIGJlZm9yZSBjaGVja2luZyBmb3IgLTAiKTsK
LQotICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gICAgc2FtcGxlWyIt
MSJdID0gMW47Ci0gIH0sICJkZXRhY2ggYnVmZmVyIHJ1bnMgYmVmb3JlIGNoZWNraW5nIGZvciAt
MSIpOwotCi0gIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgICBzYW1w
bGVbIjEiXSA9IDFuOwotICB9LCAiZGV0YWNoIGJ1ZmZlciBydW5zIGJlZm9yZSBjaGVja2luZyBm
b3Iga2V5ID09IGxlbmd0aCIpOwotCi0gIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlv
bigpIHsKLSAgICBzYW1wbGVbIjIiXSA9IDFuOwotICB9LCAiZGV0YWNoIGJ1ZmZlciBydW5zIGJl
Zm9yZSBjaGVja2luZyBmb3Iga2V5ID4gbGVuZ3RoIik7Ci0KLSAgdmFyIG9iaiA9IHsKLSAgICB2
YWx1ZU9mOiBmdW5jdGlvbigpIHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShzYW1wbGVbMF0gPSAxbiwg
ZmFsc2UsICdgc2FtcGxlWzBdID0gMW5gIGlzIGZhbHNlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUo
c2FtcGxlWycxLjEnXSA9IDFuLCBmYWxzZSwgJ2BzYW1wbGVbIjEuMSJdID0gMW5gIGlzIGZhbHNl
Jyk7CisgIGFzc2VydC5zYW1lVmFsdWUoc2FtcGxlWyctMCddID0gMW4sIGZhbHNlLCAnYHNhbXBs
ZVsiLTAiXSA9IDFuYCBpcyBmYWxzZScpOworICBhc3NlcnQuc2FtZVZhbHVlKHNhbXBsZVsnLTEn
XSA9IDFuLCBmYWxzZSwgJ2BzYW1wbGVbIi0xIl0gPSAxbmAgaXMgZmFsc2UnKTsKKyAgYXNzZXJ0
LnNhbWVWYWx1ZShzYW1wbGVbJzEnXSA9IDFuLCBmYWxzZSwgJ2BzYW1wbGVbIjEiXSA9IDFuYCBp
cyBmYWxzZScpOworICBhc3NlcnQuc2FtZVZhbHVlKHNhbXBsZVsnMiddID0gMW4sIGZhbHNlLCAn
YHNhbXBsZVsiMiJdID0gMW5gIGlzIGZhbHNlJyk7CisKKyAgbGV0IG9iaiA9IHsKKyAgICB2YWx1
ZU9mKCkgewogICAgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOwogICAgIH0KICAgfTsKIAog
ICBhc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7Ci0gICAgc2FtcGxlWyIw
Il0gPSBvYmo7Ci0gIH0sICJUb051bWJlcih2YWx1ZSkgaXMgY2FsbGVkIGJlZm9yZSBkZXRhY2hl
ZCBidWZmZXIgY2hlY2siKTsKKyAgICBzYW1wbGVbJzAnXSA9IG9iajsKKyAgfSwgJ2BzYW1wbGVb
IjAiXSA9IG9iamAgdGhyb3dzIFRlc3QyNjJFcnJvcicpOwogfSk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5h
bHMvU2V0L0JpZ0ludC9pbmRleGVkLXZhbHVlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQvaW5kZXhl
ZC12YWx1ZS5qcwppbmRleCA3MWM5MTRmODcwY2MyMzZmYzk3NDE2NGU2MWY0OWJlYzA4NjFlMzEy
Li5lZTc3NjYzZGEzYWNmYWZkODI5NDg2ZGQ4ZDBkMDEwNzM2ODU0ZGE4IDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRl
cm5hbHMvU2V0L0JpZ0ludC9pbmRleGVkLXZhbHVlLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50
L2luZGV4ZWQtdmFsdWUuanMKQEAgLTIwLDI0ICsyMCwyMyBAQCBpbmZvOiB8CiAgIDE1LiBQZXJm
b3JtIFNldFZhbHVlSW5CdWZmZXIoYnVmZmVyLCBpbmRleGVkUG9zaXRpb24sIGVsZW1lbnRUeXBl
LCBudW1WYWx1ZSkuCiAgIDE2LiBSZXR1cm4gdHJ1ZS4KIGluY2x1ZGVzOiBbdGVzdEJpZ0ludFR5
cGVkQXJyYXkuanNdCi1mZWF0dXJlczogW0JpZ0ludCwgUmVmbGVjdCwgVHlwZWRBcnJheV0KK2Zl
YXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5
LCBCaWdJbnQsIFJlZmxlY3QsIFR5cGVkQXJyYXldCiAtLS0qLwogCi12YXIgcHJvdG8gPSBUeXBl
ZEFycmF5LnByb3RvdHlwZTsKLXZhciB0aHJvd0Rlc2MgPSB7CitsZXQgcHJvdG8gPSBUeXBlZEFy
cmF5LnByb3RvdHlwZTsKK2xldCB0aHJvd0Rlc2MgPSB7CiAgIHNldDogZnVuY3Rpb24oKSB7Ci0g
ICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiT3JkaW5hcnlTZXQgd2FzIGNhbGxlZCEgUmVmOiA5
LjEuOS4xIDMuYi5pIik7CisgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignT3JkaW5hcnlTZXQg
d2FzIGNhbGxlZCEnKTsKICAgfQogfTsKLU9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAi
LCB0aHJvd0Rlc2MpOwotT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHRocm93RGVz
Yyk7CiAKLXRlc3RXaXRoQmlnSW50VHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkg
ewotICB2YXIgc2FtcGxlID0gbmV3IFRBKFs0Mm4sIDQzbl0pOwotCi0gIGFzc2VydC5zYW1lVmFs
dWUoUmVmbGVjdC5zZXQoc2FtcGxlLCAiMCIsIDFuKSwgdHJ1ZSwgInNhbXBsZVswXSIpOwotICBh
c3NlcnQuc2FtZVZhbHVlKHNhbXBsZVswXSwgMW4sICJzYW1wbGVbMF0gdmFsdWUgaXMgc2V0Iik7
CitPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICcwJywgdGhyb3dEZXNjKTsKK09iamVjdC5k
ZWZpbmVQcm9wZXJ0eShwcm90bywgJzEnLCB0aHJvd0Rlc2MpOwogCi0gIGFzc2VydC5zYW1lVmFs
dWUoUmVmbGVjdC5zZXQoc2FtcGxlLCAiMSIsIDQybiksIHRydWUsICJzYW1wbGVbMV0iKTsKLSAg
YXNzZXJ0LnNhbWVWYWx1ZShzYW1wbGVbMV0sIDQybiwgInNhbXBsZVsxXSB2YWx1ZSBpcyBzZXQi
KTsKK3Rlc3RXaXRoQmlnSW50VHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewor
ICBsZXQgc2FtcGxlID0gbmV3IFRBKDIpOworICBhc3NlcnQuc2FtZVZhbHVlKFJlZmxlY3Quc2V0
KHNhbXBsZSwgJzAnLCAxbiksIHRydWUsICdSZWZsZWN0LnNldChzYW1wbGUsICIwIiwgMW4pIG11
c3QgcmV0dXJuIHRydWUnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShzYW1wbGVbMF0sIDFuLCAnVGhl
IHZhbHVlIG9mIHNhbXBsZVswXSBpcyAxbicpOworICBhc3NlcnQuc2FtZVZhbHVlKFJlZmxlY3Qu
c2V0KHNhbXBsZSwgJzEnLCA0Mm4pLCB0cnVlLCAnUmVmbGVjdC5zZXQoc2FtcGxlLCAiMSIsIDQy
bikgbXVzdCByZXR1cm4gdHJ1ZScpOworICBhc3NlcnQuc2FtZVZhbHVlKHNhbXBsZVsxXSwgNDJu
LCAnVGhlIHZhbHVlIG9mIHNhbXBsZVsxXSBpcyA0Mm4nKTsKIH0pOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJu
YWxzL1NldC9CaWdJbnQva2V5LWlzLW1pbnVzLXplcm8uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L0JpZ0ludC9r
ZXktaXMtbWludXMtemVyby5qcwppbmRleCBhZDUwNDU2OTI1OWU1ZmE4ZDI5OTQ1NjdjN2M4MWNi
YzE3ZmQ2MGUwLi4zMjA0MGQ5ZjE3ZWJkMWU5NTBjMDNjZjQ0MzI1OGQxMmNiMjE2NzUxIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9pbnRlcm5hbHMvU2V0L0JpZ0ludC9rZXktaXMtbWludXMtemVyby5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5h
bHMvU2V0L0JpZ0ludC9rZXktaXMtbWludXMtemVyby5qcwpAQCAtMjAsMTIgKzIwLDEwIEBAIGlu
Zm86IHwKICAgLi4uCiAgIDEwLiBJZiBpbmRleCA9IC0wLCByZXR1cm4gZmFsc2UuCiBpbmNsdWRl
czogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzXQotZmVhdHVyZXM6IFtCaWdJbnQsIFJlZmxlY3Qs
IFR5cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mt
d2l0aC13ZWItcmVhbGl0eSwgQmlnSW50LCBSZWZsZWN0LCBUeXBlZEFycmF5XQogLS0tKi8KLQog
dGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CiAgIHZh
ciBzYW1wbGUgPSBuZXcgVEEoWzQybl0pOwotCi0gIGFzc2VydC5zYW1lVmFsdWUoUmVmbGVjdC5z
ZXQoc2FtcGxlLCAiLTAiLCAxbiksIGZhbHNlLCAiLTAiKTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShz
YW1wbGUuaGFzT3duUHJvcGVydHkoIi0wIiksIGZhbHNlLCAiaGFzIG5vIHByb3BlcnR5IFstMF0i
KTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShSZWZsZWN0LnNldChzYW1wbGUsICctMCcsIDFuKSwgZmFs
c2UsICdSZWZsZWN0LnNldCgibmV3IFRBKFs0Mm5dKSIsICItMCIsIDFuKSBtdXN0IHJldHVybiBm
YWxzZScpOworICBhc3NlcnQuc2FtZVZhbHVlKHNhbXBsZS5oYXNPd25Qcm9wZXJ0eSgnLTAnKSwg
ZmFsc2UsICdzYW1wbGUuaGFzT3duUHJvcGVydHkoIi0wIikgbXVzdCByZXR1cm4gZmFsc2UnKTsK
IH0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQva2V5LWlzLW5vdC1jYW5vbmljYWwt
aW5kZXguanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9pbnRlcm5hbHMvU2V0L0JpZ0ludC9rZXktaXMtbm90LWNhbm9uaWNhbC1pbmRleC5q
cwppbmRleCA5YTEyOTZmYTUyNTdlMzU2MTMxMTYxZTZiNGJlN2UxMWY5ZGI5YmU5Li4yNzEwNTgw
ZjBlNzRjZjQwOGI0NGRiODg5MDVjYmYyNDBlMWYzMGJjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0
L0JpZ0ludC9rZXktaXMtbm90LWNhbm9uaWNhbC1pbmRleC5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L0Jp
Z0ludC9rZXktaXMtbm90LWNhbm9uaWNhbC1pbmRleC5qcwpAQCAtMyw3ICszLDcgQEAKIC8qLS0t
CiBlc2lkOiBzZWMtaW50ZWdlci1pbmRleGVkLWV4b3RpYy1vYmplY3RzLXNldC1wLXYtcmVjZWl2
ZXIKIGRlc2NyaXB0aW9uOiA+Ci0gIFVzZSBPcmdpbmFyeVNldCBpZiBudW1lcmljIGtleSBpcyBu
b3QgYSBDYW5vbmljYWxOdW1lcmljSW5kZXgKKyAgVXNlIE9yZGluYXJ5U2V0IGlmIG51bWVyaWMg
a2V5IGlzIG5vdCBhIENhbm9uaWNhbE51bWVyaWNJbmRleAogaW5mbzogfAogICA5LjQuNS41IFtb
U2V0XV0gKCBQLCBWLCBSZWNlaXZlcikKIApAQCAtMTQsNDUgKzE0LDM2IEBAIGluZm86IHwKICAg
Li4uCiAgIDMuIFJldHVybiA/IE9yZGluYXJ5U2V0KE8sIFAsIFYsIFJlY2VpdmVyKS4KIGluY2x1
ZGVzOiBbdGVzdEJpZ0ludFR5cGVkQXJyYXkuanNdCi1mZWF0dXJlczogW0JpZ0ludCwgUmVmbGVj
dCwgVHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGlj
cy13aXRoLXdlYi1yZWFsaXR5LCBCaWdJbnQsIFJlZmxlY3QsIFR5cGVkQXJyYXldCiAtLS0qLwot
Ci12YXIga2V5cyA9IFsKLSAgIjEuMCIsCi0gICIrMSIsCi0gICIxMDAwMDAwMDAwMDAwMDAwMDAw
MDAwIiwKLSAgIjAuMDAwMDAwMSIKLV07Cit2YXIga2V5cyA9IFsnMS4wJywgJysxJywgJzEwMDAw
MDAwMDAwMDAwMDAwMDAwMDAnLCAnMC4wMDAwMDAxJ107CiAKIHRlc3RXaXRoQmlnSW50VHlwZWRB
cnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewogICBrZXlzLmZvckVhY2goZnVuY3Rpb24o
a2V5KSB7CiAgICAgdmFyIHNhbXBsZSA9IG5ldyBUQShbNDJuXSk7CiAKICAgICBhc3NlcnQuc2Ft
ZVZhbHVlKAotICAgICAgUmVmbGVjdC5zZXQoc2FtcGxlLCBrZXksICJlY21hMjYyIiksCisgICAg
ICBSZWZsZWN0LnNldChzYW1wbGUsIGtleSwgJ2VjbWEyNjInKSwKICAgICAgIHRydWUsCi0gICAg
ICAiUmV0dXJuIHRydWUgc2V0dGluZyBhIG5ldyBwcm9wZXJ0eSBbIiArIGtleSArICJdIgorICAg
ICAgJ1JlZmxlY3Quc2V0KCJuZXcgVEEoWzQybl0pIiwga2V5LCAiZWNtYTI2MiIpIG11c3QgcmV0
dXJuIHRydWUnCiAgICAgKTsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKHNhbXBsZVtrZXldLCAiZWNt
YTI2MiIpOworCisgICAgYXNzZXJ0LnNhbWVWYWx1ZShzYW1wbGVba2V5XSwgJ2VjbWEyNjInLCAn
VGhlIHZhbHVlIG9mIHNhbXBsZVtrZXldIGlzICJlY21hMjYyIicpOwogCiAgICAgYXNzZXJ0LnNh
bWVWYWx1ZSgKLSAgICAgIFJlZmxlY3Quc2V0KHNhbXBsZSwga2V5LCAiZXMzMDAwIiksCisgICAg
ICBSZWZsZWN0LnNldChzYW1wbGUsIGtleSwgJ2VzMzAwMCcpLAogICAgICAgdHJ1ZSwKLSAgICAg
ICJSZXR1cm4gdHJ1ZSBzZXR0aW5nIGEgdmFsdWUgdG8gYSB3cml0YWJsZSBwcm9wZXJ0eSBbIiAr
IGtleSArICJdIgorICAgICAgJ1JlZmxlY3Quc2V0KCJuZXcgVEEoWzQybl0pIiwga2V5LCAiZXMz
MDAwIikgbXVzdCByZXR1cm4gdHJ1ZScKICAgICApOwotICAgIGFzc2VydC5zYW1lVmFsdWUoc2Ft
cGxlW2tleV0sICJlczMwMDAiKTsKKworICAgIGFzc2VydC5zYW1lVmFsdWUoc2FtcGxlW2tleV0s
ICdlczMwMDAnLCAnVGhlIHZhbHVlIG9mIHNhbXBsZVtrZXldIGlzICJlczMwMDAiJyk7CiAKICAg
ICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2FtcGxlLCBrZXksIHsKICAgICAgIHdyaXRhYmxlOiBm
YWxzZSwKICAgICAgIHZhbHVlOiB1bmRlZmluZWQKICAgICB9KTsKLSAgICBhc3NlcnQuc2FtZVZh
bHVlKAotICAgICAgUmVmbGVjdC5zZXQoc2FtcGxlLCBrZXksIDQyKSwKLSAgICAgIGZhbHNlLAot
ICAgICAgIlJldHVybiBmYWxzZSBzZXR0aW5nIGEgdmFsdWUgdG8gYSBub24td3JpdGFibGUgcHJv
cGVydHkgWyIgKyBrZXkgKyAiXSIKLSAgICApOwotICAgIGFzc2VydC5zYW1lVmFsdWUoCi0gICAg
ICBzYW1wbGVba2V5XSwgdW5kZWZpbmVkLCAibm9uLXdyaXRhYmxlIFsiICsga2V5ICsgIl0gaXMg
cHJlc2VydmVkIgotICAgICk7CisKKyAgICBhc3NlcnQuc2FtZVZhbHVlKFJlZmxlY3Quc2V0KHNh
bXBsZSwga2V5LCA0MiksIGZhbHNlLCAnUmVmbGVjdC5zZXQoIm5ldyBUQShbNDJuXSkiLCBrZXks
IDQyKSBtdXN0IHJldHVybiBmYWxzZScpOworICAgIGFzc2VydC5zYW1lVmFsdWUoc2FtcGxlW2tl
eV0sIHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiBzYW1wbGVba2V5XSBpcyBleHBlY3RlZCB0byBl
cXVhbCBgdW5kZWZpbmVkYCcpOwogICB9KTsKIH0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9C
aWdJbnQva2V5LWlzLW5vdC1pbnRlZ2VyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQva2V5LWlzLW5v
dC1pbnRlZ2VyLmpzCmluZGV4IGVmOTcyM2QzNDU0OTZlOWU2YTBiZDQ2MjZjYmY3Njk2NzBlMWVj
YzguLjgwYjRkMDQyYTBmMzk5Mjk4MGFhN2E0OGZkNzE3ZGViZGIyNTlhYjggMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2lu
dGVybmFscy9TZXQvQmlnSW50L2tleS1pcy1ub3QtaW50ZWdlci5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0
L0JpZ0ludC9rZXktaXMtbm90LWludGVnZXIuanMKQEAgLTIwLDE5ICsyMCwxOCBAQCBpbmZvOiB8
CiAgIDYuIElmIElzSW50ZWdlcihpbmRleCkgaXMgZmFsc2UsIHJldHVybiBmYWxzZS4KICAgLi4u
CiBpbmNsdWRlczogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzXQotZmVhdHVyZXM6IFtCaWdJbnQs
IFJlZmxlY3QsIFR5cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1ZmZlci1z
ZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgQmlnSW50LCBSZWZsZWN0LCBUeXBlZEFycmF5XQog
LS0tKi8KLQogdGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRB
KSB7CiAgIHZhciBzYW1wbGUgPSBuZXcgVEEoWzQybl0pOworICBhc3NlcnQuc2FtZVZhbHVlKFJl
ZmxlY3Quc2V0KHNhbXBsZSwgJzEuMScsIDFuKSwgZmFsc2UsICdSZWZsZWN0LnNldCgibmV3IFRB
KFs0Mm5dKSIsICIxLjEiLCAxbikgbXVzdCByZXR1cm4gZmFsc2UnKTsKIAotICBhc3NlcnQuc2Ft
ZVZhbHVlKFJlZmxlY3Quc2V0KHNhbXBsZSwgIjEuMSIsIDFuKSwgZmFsc2UsICIxLjEiKTsKLSAg
YXNzZXJ0LnNhbWVWYWx1ZShSZWZsZWN0LnNldChzYW1wbGUsICIwLjAwMDEiLCAxbiksIGZhbHNl
LCAiMC4wMDAxIik7Ci0KLSAgYXNzZXJ0LnNhbWVWYWx1ZShzYW1wbGUuaGFzT3duUHJvcGVydHko
IjEuMSIpLCBmYWxzZSwgImhhcyBubyBwcm9wZXJ0eSBbMS4xXSIpOwogICBhc3NlcnQuc2FtZVZh
bHVlKAotICAgIHNhbXBsZS5oYXNPd25Qcm9wZXJ0eSgiMC4wMDAxIiksCisgICAgUmVmbGVjdC5z
ZXQoc2FtcGxlLCAnMC4wMDAxJywgMW4pLAogICAgIGZhbHNlLAotICAgICJoYXMgbm8gcHJvcGVy
dHkgWzAuMDAwMV0iCisgICAgJ1JlZmxlY3Quc2V0KCJuZXcgVEEoWzQybl0pIiwgIjAuMDAwMSIs
IDFuKSBtdXN0IHJldHVybiBmYWxzZScKICAgKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKHNhbXBs
ZS5oYXNPd25Qcm9wZXJ0eSgnMS4xJyksIGZhbHNlLCAnc2FtcGxlLmhhc093blByb3BlcnR5KCIx
LjEiKSBtdXN0IHJldHVybiBmYWxzZScpOworICBhc3NlcnQuc2FtZVZhbHVlKHNhbXBsZS5oYXNP
d25Qcm9wZXJ0eSgnMC4wMDAxJyksIGZhbHNlLCAnc2FtcGxlLmhhc093blByb3BlcnR5KCIwLjAw
MDEiKSBtdXN0IHJldHVybiBmYWxzZScpOwogfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L0Jp
Z0ludC9rZXktaXMtbm90LW51bWVyaWMtaW5kZXgtc2V0LXRocm93cy5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQv
QmlnSW50L2tleS1pcy1ub3QtbnVtZXJpYy1pbmRleC1zZXQtdGhyb3dzLmpzCmluZGV4IDFlNTUz
MjVmNmM1OWE4ZjJjYWMzOWFiMThiNzgwM2I0ZTY5MDhlMWEuLjhkOWI0NjMyYjZmZWRkMzA4MDg0
NDA5MzUxNzRkZDBhOTI2NDY4OWYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L2tleS1p
cy1ub3QtbnVtZXJpYy1pbmRleC1zZXQtdGhyb3dzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50
L2tleS1pcy1ub3QtbnVtZXJpYy1pbmRleC1zZXQtdGhyb3dzLmpzCkBAIC0zLDcgKzMsNyBAQAog
LyotLS0KIGVzaWQ6IHNlYy1pbnRlZ2VyLWluZGV4ZWQtZXhvdGljLW9iamVjdHMtc2V0LXAtdi1y
ZWNlaXZlcgogZGVzY3JpcHRpb246ID4KLSAgUmV0dXJucyBhYnJ1cHQgZnJvbSBPcmdpbmFyeVNl
dCB3aGVuIGtleSBpcyBub3QgYSBudW1lcmljIGluZGV4CisgIFJldHVybnMgYWJydXB0IGZyb20g
T3JkaW5hcnlTZXQgd2hlbiBrZXkgaXMgbm90IGEgbnVtZXJpYyBpbmRleAogaW5mbzogfAogICA5
LjQuNS41IFtbU2V0XV0gKCBQLCBWLCBSZWNlaXZlcikKIApAQCAtMjAsNyArMjAsNyBAQCBpbmZv
OiB8CiAgIDguIFBlcmZvcm0gPyBDYWxsKHNldHRlciwgUmVjZWl2ZXIsIMKrIFYgwrspLgogICAu
Li4KIGluY2x1ZGVzOiBbdGVzdEJpZ0ludFR5cGVkQXJyYXkuanNdCi1mZWF0dXJlczogW0JpZ0lu
dCwgVHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGlj
cy13aXRoLXdlYi1yZWFsaXR5LCBCaWdJbnQsIFR5cGVkQXJyYXldCiAtLS0qLwogCiB0ZXN0V2l0
aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKQEAgLTM0LDcgKzM0
LDcgQEAgdGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7
CiAKICAgYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9uKCkgewogICAgIHNhbXBs
ZS50ZXN0MjYyID0gMTsKLSAgfSk7CisgIH0sICdgc2FtcGxlLnRlc3QyNjIgPSAxYCB0aHJvd3Mg
VGVzdDI2MkVycm9yJyk7CiAKLSAgYXNzZXJ0LnNhbWVWYWx1ZShzYW1wbGUudGVzdDI2MiwgdW5k
ZWZpbmVkKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShzYW1wbGUudGVzdDI2MiwgdW5kZWZpbmVkLCAn
VGhlIHZhbHVlIG9mIHNhbXBsZS50ZXN0MjYyIGlzIGV4cGVjdGVkIHRvIGVxdWFsIGB1bmRlZmlu
ZWRgJyk7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L2tleS1pcy1ub3QtbnVt
ZXJpYy1pbmRleC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L2tleS1pcy1ub3QtbnVtZXJpYy1pbmRl
eC5qcwppbmRleCA2MDI4MjBkZTkzNmYyNGFjZjA2MTU4MzIyNDlkODc3MTU3ZDc4MDkxLi44NGI5
YTIxNGFhZDdmZTFkMTUxZjFiODliNzZiY2U4OTYzZTlmZGIyIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMv
U2V0L0JpZ0ludC9rZXktaXMtbm90LW51bWVyaWMtaW5kZXguanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9C
aWdJbnQva2V5LWlzLW5vdC1udW1lcmljLWluZGV4LmpzCkBAIC0zLDcgKzMsNyBAQAogLyotLS0K
IGVzaWQ6IHNlYy1pbnRlZ2VyLWluZGV4ZWQtZXhvdGljLW9iamVjdHMtc2V0LXAtdi1yZWNlaXZl
cgogZGVzY3JpcHRpb246ID4KLSAgVXNlIE9yZ2luYXJ5U2V0IGlmIGtleSBpcyBub3QgYSBDYW5v
bmljYWxOdW1lcmljSW5kZXgKKyAgVXNlIE9yZGluYXJ5U2V0IGlmIGtleSBpcyBub3QgYSBDYW5v
bmljYWxOdW1lcmljSW5kZXgKIGluZm86IHwKICAgOS40LjUuNSBbW1NldF1dICggUCwgViwgUmVj
ZWl2ZXIpCiAKQEAgLTE0LDM0ICsxNCwzMiBAQCBpbmZvOiB8CiAgIC4uLgogICAzLiBSZXR1cm4g
PyBPcmRpbmFyeVNldChPLCBQLCBWLCBSZWNlaXZlcikuCiBpbmNsdWRlczogW3Rlc3RCaWdJbnRU
eXBlZEFycmF5LmpzXQotZmVhdHVyZXM6IFtCaWdJbnQsIFJlZmxlY3QsIFR5cGVkQXJyYXldCitm
ZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0
eSwgQmlnSW50LCBSZWZsZWN0LCBUeXBlZEFycmF5XQogLS0tKi8KLQogdGVzdFdpdGhCaWdJbnRU
eXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CiAgIHZhciBzYW1wbGUgPSBuZXcg
VEEoWzQybl0pOwogCiAgIGFzc2VydC5zYW1lVmFsdWUoCi0gICAgUmVmbGVjdC5zZXQoc2FtcGxl
LCAidGVzdDI2MiIsICJlY21hMjYyIiksCisgICAgUmVmbGVjdC5zZXQoc2FtcGxlLCAndGVzdDI2
MicsICdlY21hMjYyJyksCiAgICAgdHJ1ZSwKLSAgICAiUmV0dXJuIHRydWUgc2V0dGluZyBhIG5l
dyBwcm9wZXJ0eSIKKyAgICAnUmVmbGVjdC5zZXQoIm5ldyBUQShbNDJuXSkiLCAidGVzdDI2MiIs
ICJlY21hMjYyIikgbXVzdCByZXR1cm4gdHJ1ZScKICAgKTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShz
YW1wbGUudGVzdDI2MiwgImVjbWEyNjIiKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKHNhbXBsZS50
ZXN0MjYyLCAnZWNtYTI2MicsICdUaGUgdmFsdWUgb2Ygc2FtcGxlLnRlc3QyNjIgaXMgImVjbWEy
NjIiJyk7CiAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKLSAgICBSZWZsZWN0LnNldChzYW1wbGUsICJ0
ZXN0MjYyIiwgImVzMzAwMCIpLAorICAgIFJlZmxlY3Quc2V0KHNhbXBsZSwgJ3Rlc3QyNjInLCAn
ZXMzMDAwJyksCiAgICAgdHJ1ZSwKLSAgICAiUmV0dXJuIHRydWUgc2V0dGluZyBhIHZhbHVlIHRv
IGEgd3JpdGFibGUgcHJvcGVydHkiCisgICAgJ1JlZmxlY3Quc2V0KCJuZXcgVEEoWzQybl0pIiwg
InRlc3QyNjIiLCAiZXMzMDAwIikgbXVzdCByZXR1cm4gdHJ1ZScKICAgKTsKLSAgYXNzZXJ0LnNh
bWVWYWx1ZShzYW1wbGUudGVzdDI2MiwgImVzMzAwMCIpOwogCi0gIE9iamVjdC5kZWZpbmVQcm9w
ZXJ0eShzYW1wbGUsICJmb28iLCB7CisgIGFzc2VydC5zYW1lVmFsdWUoc2FtcGxlLnRlc3QyNjIs
ICdlczMwMDAnLCAnVGhlIHZhbHVlIG9mIHNhbXBsZS50ZXN0MjYyIGlzICJlczMwMDAiJyk7CisK
KyAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNhbXBsZSwgJ2ZvbycsIHsKICAgICB3cml0YWJsZTog
ZmFsc2UsCiAgICAgdmFsdWU6IHVuZGVmaW5lZAogICB9KTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZSgK
LSAgICBSZWZsZWN0LnNldChzYW1wbGUsICJmb28iLCA0MiksCi0gICAgZmFsc2UsCi0gICAgIlJl
dHVybiBmYWxzZSBzZXR0aW5nIGEgdmFsdWUgdG8gYSBub24td3JpdGFibGUgcHJvcGVydHkiCi0g
ICk7Ci0gIGFzc2VydC5zYW1lVmFsdWUoc2FtcGxlLmZvbywgdW5kZWZpbmVkKTsKKworICBhc3Nl
cnQuc2FtZVZhbHVlKFJlZmxlY3Quc2V0KHNhbXBsZSwgJ2ZvbycsIDQyKSwgZmFsc2UsICdSZWZs
ZWN0LnNldCgibmV3IFRBKFs0Mm5dKSIsICJmb28iLCA0MikgbXVzdCByZXR1cm4gZmFsc2UnKTsK
KyAgYXNzZXJ0LnNhbWVWYWx1ZShzYW1wbGUuZm9vLCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2Yg
c2FtcGxlLmZvbyBpcyBleHBlY3RlZCB0byBlcXVhbCBgdW5kZWZpbmVkYCcpOwogfSk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9pbnRlcm5hbHMvU2V0L0JpZ0ludC9rZXktaXMtb3V0LW9mLWJvdW5kcy5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFs
cy9TZXQvQmlnSW50L2tleS1pcy1vdXQtb2YtYm91bmRzLmpzCmluZGV4IDRkZTQ1MTg5MDgyNTRl
NDBlZTAyZTk0NjZjYmIwZmM5YjQ5NTlkYmMuLjJmMzFmYjgzYTkyYmQxMzcyM2Q3Y2RlOWZkMjA2
NTQ4MTE3M2ZiOTEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L2tleS1pcy1vdXQtb2Yt
Ym91bmRzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L2tleS1pcy1vdXQtb2YtYm91bmRzLmpz
CkBAIC0yMSwxNyArMjEsMTQgQEAgaW5mbzogfAogICA5LiBJZiBpbmRleCA8IDAgb3IgaW5kZXgg
4omlIGxlbmd0aCwgcmV0dXJuIGZhbHNlLgogICAuLi4KIGluY2x1ZGVzOiBbdGVzdEJpZ0ludFR5
cGVkQXJyYXkuanNdCi1mZWF0dXJlczogW0JpZ0ludCwgUmVmbGVjdCwgVHlwZWRBcnJheV0KK2Zl
YXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5
LCBCaWdJbnQsIFJlZmxlY3QsIFR5cGVkQXJyYXldCiAtLS0qLwotCiB0ZXN0V2l0aEJpZ0ludFR5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKICAgdmFyIHNhbXBsZSA9IG5ldyBU
QShbNDJuXSk7Ci0KLSAgYXNzZXJ0LnNhbWVWYWx1ZShSZWZsZWN0LnNldChzYW1wbGUsICItMSIs
IDFuKSwgZmFsc2UsICItMSIpOwotICBhc3NlcnQuc2FtZVZhbHVlKFJlZmxlY3Quc2V0KHNhbXBs
ZSwgIjEiLCAxbiksIGZhbHNlLCAiMSIpOwotICBhc3NlcnQuc2FtZVZhbHVlKFJlZmxlY3Quc2V0
KHNhbXBsZSwgIjIiLCAxbiksIGZhbHNlLCAiMiIpOwotCi0gIGFzc2VydC5zYW1lVmFsdWUoc2Ft
cGxlLmhhc093blByb3BlcnR5KCItMSIpLCBmYWxzZSwgImhhcyBubyBwcm9wZXJ0eSBbLTFdIik7
Ci0gIGFzc2VydC5zYW1lVmFsdWUoc2FtcGxlLmhhc093blByb3BlcnR5KCIxIiksIGZhbHNlLCAi
aGFzIG5vIHByb3BlcnR5IFsxXSIpOwotICBhc3NlcnQuc2FtZVZhbHVlKHNhbXBsZS5oYXNPd25Q
cm9wZXJ0eSgiMiIpLCBmYWxzZSwgImhhcyBubyBwcm9wZXJ0eSBbMl0iKTsKKyAgYXNzZXJ0LnNh
bWVWYWx1ZShSZWZsZWN0LnNldChzYW1wbGUsICctMScsIDFuKSwgZmFsc2UsICdSZWZsZWN0LnNl
dCgibmV3IFRBKFs0Mm5dKSIsICItMSIsIDFuKSBtdXN0IHJldHVybiBmYWxzZScpOworICBhc3Nl
cnQuc2FtZVZhbHVlKFJlZmxlY3Quc2V0KHNhbXBsZSwgJzEnLCAxbiksIGZhbHNlLCAnUmVmbGVj
dC5zZXQoIm5ldyBUQShbNDJuXSkiLCAiMSIsIDFuKSBtdXN0IHJldHVybiBmYWxzZScpOworICBh
c3NlcnQuc2FtZVZhbHVlKFJlZmxlY3Quc2V0KHNhbXBsZSwgJzInLCAxbiksIGZhbHNlLCAnUmVm
bGVjdC5zZXQoIm5ldyBUQShbNDJuXSkiLCAiMiIsIDFuKSBtdXN0IHJldHVybiBmYWxzZScpOwor
ICBhc3NlcnQuc2FtZVZhbHVlKHNhbXBsZS5oYXNPd25Qcm9wZXJ0eSgnLTEnKSwgZmFsc2UsICdz
YW1wbGUuaGFzT3duUHJvcGVydHkoIi0xIikgbXVzdCByZXR1cm4gZmFsc2UnKTsKKyAgYXNzZXJ0
LnNhbWVWYWx1ZShzYW1wbGUuaGFzT3duUHJvcGVydHkoJzEnKSwgZmFsc2UsICdzYW1wbGUuaGFz
T3duUHJvcGVydHkoIjEiKSBtdXN0IHJldHVybiBmYWxzZScpOworICBhc3NlcnQuc2FtZVZhbHVl
KHNhbXBsZS5oYXNPd25Qcm9wZXJ0eSgnMicpLCBmYWxzZSwgJ3NhbXBsZS5oYXNPd25Qcm9wZXJ0
eSgiMiIpIG11c3QgcmV0dXJuIGZhbHNlJyk7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQv
QmlnSW50L2tleS1pcy1zeW1ib2wuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L0JpZ0ludC9rZXktaXMtc3ltYm9s
LmpzCmluZGV4IGU2M2JhZWRiMGI4MDg1YmUzYmMwOWUyZjZjMWRlZDdmZDBkN2FjZGQuLmExNmU3
ODgyNmYxNWEyMGVkMDNiMzM2M2U1MzkwN2RiZjgwY2YwMzUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9T
ZXQvQmlnSW50L2tleS1pcy1zeW1ib2wuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQva2V5LWlz
LXN5bWJvbC5qcwpAQCAtMyw3ICszLDcgQEAKIC8qLS0tCiBlc2lkOiBzZWMtaW50ZWdlci1pbmRl
eGVkLWV4b3RpYy1vYmplY3RzLXNldC1wLXYtcmVjZWl2ZXIKIGRlc2NyaXB0aW9uOiA+Ci0gIFVz
ZSBPcmdpbmFyeVNldCBpZiBrZXkgaXMgYSBTeW1ib2wKKyAgVXNlIE9yZGluYXJ5U2V0IGlmIGtl
eSBpcyBhIFN5bWJvbAogaW5mbzogfAogICA5LjQuNS41IFtbU2V0XV0gKCBQLCBWLCBSZWNlaXZl
cikKIApAQCAtMTIsMzcgKzEyLDQwIEBAIGluZm86IHwKICAgLi4uCiAgIDMuIFJldHVybiA/IE9y
ZGluYXJ5U2V0KE8sIFAsIFYsIFJlY2VpdmVyKS4KIGluY2x1ZGVzOiBbdGVzdEJpZ0ludFR5cGVk
QXJyYXkuanNdCi1mZWF0dXJlczogW0JpZ0ludCwgUmVmbGVjdCwgU3ltYm9sLCBUeXBlZEFycmF5
XQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJl
YWxpdHksIEJpZ0ludCwgUmVmbGVjdCwgU3ltYm9sLCBUeXBlZEFycmF5XQogLS0tKi8KLQotdmFy
IHMxID0gU3ltYm9sKCIxIik7Ci12YXIgczIgPSBTeW1ib2woIjIiKTsKK3ZhciBzMSA9IFN5bWJv
bCgnMScpOwordmFyIHMyID0gU3ltYm9sKCcyJyk7CiAKIHRlc3RXaXRoQmlnSW50VHlwZWRBcnJh
eUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewogICB2YXIgc2FtcGxlID0gbmV3IFRBKFs0Mm5d
KTsKIAogICBhc3NlcnQuc2FtZVZhbHVlKAotICAgIFJlZmxlY3Quc2V0KHNhbXBsZSwgczEsICJl
Y21hMjYyIiksCisgICAgUmVmbGVjdC5zZXQoc2FtcGxlLCBzMSwgJ2VjbWEyNjInKSwKICAgICB0
cnVlLAotICAgICJSZXR1cm4gdHJ1ZSBzZXR0aW5nIGEgbmV3IHByb3BlcnR5IgorICAgICdSZWZs
ZWN0LnNldCgibmV3IFRBKFs0Mm5dKSIsICJTeW1ib2woXFwiMVxcIikiLCAiZWNtYTI2MiIpIG11
c3QgcmV0dXJuIHRydWUnCiAgICk7Ci0gIGFzc2VydC5zYW1lVmFsdWUoc2FtcGxlW3MxXSwgImVj
bWEyNjIiKTsKKworICBhc3NlcnQuc2FtZVZhbHVlKHNhbXBsZVtzMV0sICdlY21hMjYyJywgJ1Ro
ZSB2YWx1ZSBvZiBzYW1wbGVbczFdIGlzICJlY21hMjYyIicpOwogCiAgIGFzc2VydC5zYW1lVmFs
dWUoCi0gICAgUmVmbGVjdC5zZXQoc2FtcGxlLCBzMSwgImVzMzAwMCIpLAorICAgIFJlZmxlY3Qu
c2V0KHNhbXBsZSwgczEsICdlczMwMDAnKSwKICAgICB0cnVlLAotICAgICJSZXR1cm4gdHJ1ZSBz
ZXR0aW5nIGEgdmFsdWUgdG8gYSB3cml0YWJsZSBwcm9wZXJ0eSIKKyAgICAnUmVmbGVjdC5zZXQo
Im5ldyBUQShbNDJuXSkiLCAiU3ltYm9sKFxcIjFcXCIpIiwgImVzMzAwMCIpIG11c3QgcmV0dXJu
IHRydWUnCiAgICk7Ci0gIGFzc2VydC5zYW1lVmFsdWUoc2FtcGxlW3MxXSwgImVzMzAwMCIpOwor
CisgIGFzc2VydC5zYW1lVmFsdWUoc2FtcGxlW3MxXSwgJ2VzMzAwMCcsICdUaGUgdmFsdWUgb2Yg
c2FtcGxlW3MxXSBpcyAiZXMzMDAwIicpOwogCiAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzYW1w
bGUsIHMyLCB7CiAgICAgd3JpdGFibGU6IGZhbHNlLAogICAgIHZhbHVlOiB1bmRlZmluZWQKICAg
fSk7CisKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBSZWZsZWN0LnNldChzYW1wbGUsIHMyLCA0
MiksCiAgICAgZmFsc2UsCi0gICAgIlJldHVybiBmYWxzZSBzZXR0aW5nIGEgdmFsdWUgdG8gYSBu
b24td3JpdGFibGUgcHJvcGVydHkiCisgICAgJ1JlZmxlY3Quc2V0KCJuZXcgVEEoWzQybl0pIiwg
IlN5bWJvbChcXCIyXFwiKSIsIDQyKSBtdXN0IHJldHVybiBmYWxzZScKICAgKTsKLSAgYXNzZXJ0
LnNhbWVWYWx1ZShzYW1wbGVbczJdLCB1bmRlZmluZWQpOworCisgIGFzc2VydC5zYW1lVmFsdWUo
c2FtcGxlW3MyXSwgdW5kZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHNhbXBsZVtzMl0gaXMgZXhwZWN0
ZWQgdG8gZXF1YWwgYHVuZGVmaW5lZGAnKTsKIH0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9C
aWdJbnQvbnVsbC10b2JpZ2ludC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L251bGwtdG9iaWdpbnQu
anMKaW5kZXggNjRkZTQ4NDRhNThiYTIxMzBmOWE0OWI4YjIyZWFiMzI5NzU2ZDMwMC4uNjc5YzUw
YzY5MDNmNzI3ZGY0M2NmNGNjMTkyMWI5ODI1ZWNlZjFkNCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1Nl
dC9CaWdJbnQvbnVsbC10b2JpZ2ludC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L0JpZ0ludC9udWxsLXRv
YmlnaW50LmpzCkBAIC00OCw3ICs0OCw3IEBAIGluZm86IHwKICAgICBSZXN1bHQ6IFRocm93IGEg
VHlwZUVycm9yIGV4Y2VwdGlvbi4KIAogaW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlwZWRBcnJheS5q
c10KLWZlYXR1cmVzOiBbQmlnSW50LCBUeXBlZEFycmF5XQorZmVhdHVyZXM6IFthbGlnbi1kZXRh
Y2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIEJpZ0ludCwgVHlwZWRBcnJh
eV0KIC0tLSovCiAKIHRlc3RXaXRoQmlnSW50VHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlv
bihUQSkgewpAQCAtNTYsNiArNTYsNiBAQCB0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMoZnVuY3Rpb24oVEEpIHsKIAogICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rp
b24oKSB7CiAgICAgdHlwZWRBcnJheVswXSA9IG51bGw7Ci0gIH0sICJhYnJ1cHQgY29tcGxldGlv
biBmcm9tIE51bGwiKTsKKyAgfSwgJ2B0eXBlZEFycmF5WzBdID0gbnVsbGAgdGhyb3dzIFR5cGVF
cnJvcicpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L251bWJlci10b2Jp
Z2ludC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3Ry
dWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L251bWJlci10b2JpZ2ludC5qcwppbmRleCAxNGIz
OTY3MWQwOWZhOWE5MDliYzg2MjBmOWFmNTkzMzI5NTFjNjBhLi42OTJiMTdkMjBiNmI5ZjRhNzRk
NzRlMDg1NGYzZDkwZjA5MzI2MWRjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L0JpZ0ludC9udW1i
ZXItdG9iaWdpbnQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVk
QXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQvbnVtYmVyLXRvYmlnaW50Lmpz
CkBAIC00OCw3ICs0OCw3IEBAIGluZm86IHwKICAgICBSZXN1bHQ6IFRocm93IGEgVHlwZUVycm9y
IGV4Y2VwdGlvbi4KIAogaW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlwZWRBcnJheS5qc10KLWZlYXR1
cmVzOiBbQmlnSW50LCBUeXBlZEFycmF5XQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZm
ZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIEJpZ0ludCwgVHlwZWRBcnJheV0KIC0tLSov
CiAKIHRlc3RXaXRoQmlnSW50VHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewpA
QCAtNTYsMzAgKzU2LDMwIEBAIHRlc3RXaXRoQmlnSW50VHlwZWRBcnJheUNvbnN0cnVjdG9ycyhm
dW5jdGlvbihUQSkgewogCiAgIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsK
ICAgICB0eXBlZEFycmF5WzBdID0gMTsKLSAgfSwgImFicnVwdCBjb21wbGV0aW9uIGZyb20gTnVt
YmVyOiAxIik7CisgIH0sICdgdHlwZWRBcnJheVswXSA9IDFgIHRocm93cyBUeXBlRXJyb3InKTsK
IAogICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgICAgdHlwZWRBcnJh
eVswXSA9IE1hdGgucG93KDIsIDYzKTsKLSAgfSwgImFicnVwdCBjb21wbGV0aW9uIGZyb20gTnVt
YmVyOiAyKio2MyIpOworICB9LCAnYHR5cGVkQXJyYXlbMF0gPSBNYXRoLnBvdygyLCA2MylgIHRo
cm93cyBUeXBlRXJyb3InKTsKIAogICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24o
KSB7CiAgICAgdHlwZWRBcnJheVswXSA9ICswOwotICB9LCAiYWJydXB0IGNvbXBsZXRpb24gZnJv
bSBOdW1iZXI6ICswIik7CisgIH0sICdgdHlwZWRBcnJheVswXSA9ICswYCB0aHJvd3MgVHlwZUVy
cm9yJyk7CiAKICAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewogICAgIHR5
cGVkQXJyYXlbMF0gPSAtMDsKLSAgfSwgImFicnVwdCBjb21wbGV0aW9uIGZyb20gTnVtYmVyOiAt
MCIpOworICB9LCAnYHR5cGVkQXJyYXlbMF0gPSAtMGAgdGhyb3dzIFR5cGVFcnJvcicpOwogCiAg
IGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAgICB0eXBlZEFycmF5WzBd
ID0gSW5maW5pdHk7Ci0gIH0sICJhYnJ1cHQgY29tcGxldGlvbiBmcm9tIE51bWJlcjogSW5maW5p
dHkiKTsKKyAgfSwgJ2B0eXBlZEFycmF5WzBdID0gSW5maW5pdHlgIHRocm93cyBUeXBlRXJyb3In
KTsKIAogICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CiAgICAgdHlwZWRB
cnJheVswXSA9IC1JbmZpbml0eTsKLSAgfSwgImFicnVwdCBjb21wbGV0aW9uIGZyb20gTnVtYmVy
OiAtSW5maW5pdHkiKTsKKyAgfSwgJ2B0eXBlZEFycmF5WzBdID0gLUluZmluaXR5YCB0aHJvd3Mg
VHlwZUVycm9yJyk7CiAKICAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewog
ICAgIHR5cGVkQXJyYXlbMF0gPSBOYU47Ci0gIH0sICJhYnJ1cHQgY29tcGxldGlvbiBmcm9tIE51
bWJlcjogTmFOIik7CisgIH0sICdgdHlwZWRBcnJheVswXSA9IE5hTmAgdGhyb3dzIFR5cGVFcnJv
cicpOwogCiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9U
eXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L3N0cmluZy1uYW4tdG9i
aWdpbnQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9pbnRlcm5hbHMvU2V0L0JpZ0ludC9zdHJpbmctbmFuLXRvYmlnaW50LmpzCmluZGV4
IDgyM2I1YWU2NmFkZmY4YmY4NmU4N2VkMWE5ZDdhZDg4NjllZjE1MWQuLjFhNzNlZWNjNjc1OWUy
YTQ5OTVhNjc0NGE1MDJjMDNkMjVjZjBkMDggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50
L3N0cmluZy1uYW4tdG9iaWdpbnQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQvc3RyaW5nLW5h
bi10b2JpZ2ludC5qcwpAQCAtNTIsNyArNTIsNyBAQCBpbmZvOiB8CiAgICAgICAzLiBSZXR1cm4g
bi4KIAogaW5jbHVkZXM6IFt0ZXN0QmlnSW50VHlwZWRBcnJheS5qc10KLWZlYXR1cmVzOiBbQmln
SW50LCBUeXBlZEFycmF5XQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50
aWNzLXdpdGgtd2ViLXJlYWxpdHksIEJpZ0ludCwgVHlwZWRBcnJheV0KIC0tLSovCiAKIHRlc3RX
aXRoQmlnSW50VHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewpAQCAtNjAsNiAr
NjAsNiBAQCB0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEp
IHsKIAogICBhc3NlcnQudGhyb3dzKFN5bnRheEVycm9yLCBmdW5jdGlvbigpIHsKICAgICB0eXBl
ZEFycmF5WzBdID0gImRlZmluYXRlbHkgbm90IGEgbnVtYmVyIjsKLSAgfSwgIlN0cmluZ1RvQmln
SW50KHByaW0pID09IE5hTiIpOworICB9LCAnYHR5cGVkQXJyYXlbMF0gPSAiZGVmaW5hdGVseSBu
b3QgYSBudW1iZXIiYCB0aHJvd3MgU3ludGF4RXJyb3InKTsKIAogfSk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRl
cm5hbHMvU2V0L0JpZ0ludC9zdHJpbmctdG9iaWdpbnQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L0JpZ0ludC9z
dHJpbmctdG9iaWdpbnQuanMKaW5kZXggNDFhMjM0OWI2MDQzMzM0NGU3ZmUyMzEyZmQ0NmI0ZmRl
ZDAxMDA5NC4uZDgzODRiNjdjMmQyMWM5YjI0MDg0YWQyMzdjMDk4NTk3YWM0NDY3MiAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3Rv
cnMvaW50ZXJuYWxzL1NldC9CaWdJbnQvc3RyaW5nLXRvYmlnaW50LmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9T
ZXQvQmlnSW50L3N0cmluZy10b2JpZ2ludC5qcwpAQCAtNTgsMzIgKzU4LDI4IEBAIGluZm86IHwK
ICAgICAgIGNvcnJlc3BvbmRzIHRvIHRoZSBNViwgcmF0aGVyIHRoYW4gcm91bmRpbmcgdG8gYSBO
dW1iZXIuCiAKIGluY2x1ZGVzOiBbdGVzdEJpZ0ludFR5cGVkQXJyYXkuanNdCi1mZWF0dXJlczog
W0JpZ0ludCwgVHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNl
bWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBCaWdJbnQsIFR5cGVkQXJyYXldCiAtLS0qLwotCiB0
ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKICAgdmFy
IHR5cGVkQXJyYXkgPSBuZXcgVEEoMSk7Ci0KICAgdHlwZWRBcnJheVswXSA9ICcnOwotICBhc3Nl
cnQuc2FtZVZhbHVlKHR5cGVkQXJyYXlbMF0sIDBuKTsKLQorICBhc3NlcnQuc2FtZVZhbHVlKHR5
cGVkQXJyYXlbMF0sIDBuLCAnVGhlIHZhbHVlIG9mIHR5cGVkQXJyYXlbMF0gaXMgMG4nKTsKICAg
dHlwZWRBcnJheVswXSA9ICcxJzsKLSAgYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlZEFycmF5WzBdLCAx
bik7CisgIGFzc2VydC5zYW1lVmFsdWUodHlwZWRBcnJheVswXSwgMW4sICdUaGUgdmFsdWUgb2Yg
dHlwZWRBcnJheVswXSBpcyAxbicpOwogCiAgIGFzc2VydC50aHJvd3MoU3ludGF4RXJyb3IsIGZ1
bmN0aW9uKCkgewogICAgIHR5cGVkQXJyYXlbMF0gPSAnMW4nOwotICB9LCAiQSBTdHJpbmdOdW1l
cmljTGl0ZXJhbCBtYXkgbm90IGluY2x1ZGUgYSBCaWdJbnRMaXRlcmFsU3VmZml4LiIpOworICB9
LCAnYHR5cGVkQXJyYXlbMF0gPSAiMW4iYCB0aHJvd3MgU3ludGF4RXJyb3InKTsKIAogICBhc3Nl
cnQudGhyb3dzKFN5bnRheEVycm9yLCBmdW5jdGlvbigpIHsKLSAgICB0eXBlZEFycmF5WzBdID0g
IkluZmluaXR5IjsKLSAgfSwgIlJlcGxhY2UgdGhlIFN0clVuc2lnbmVkRGVjaW1hbExpdGVyYWwg
cHJvZHVjdGlvbiB3aXRoIERlY2ltYWxEaWdpdHMgdG8gbm90IGFsbG93IEluZmluaXR5Li4iKTsK
KyAgICB0eXBlZEFycmF5WzBdID0gJ0luZmluaXR5JzsKKyAgfSwgJ2B0eXBlZEFycmF5WzBdID0g
IkluZmluaXR5ImAgdGhyb3dzIFN5bnRheEVycm9yJyk7CiAKICAgYXNzZXJ0LnRocm93cyhTeW50
YXhFcnJvciwgZnVuY3Rpb24oKSB7Ci0gICAgdHlwZWRBcnJheVswXSA9ICIxLjEiOwotICB9LCAi
UmVwbGFjZSB0aGUgU3RyVW5zaWduZWREZWNpbWFsTGl0ZXJhbCBwcm9kdWN0aW9uIHdpdGggRGVj
aW1hbERpZ2l0cyB0byBub3QgYWxsb3cuLi4gZGVjaW1hbCBwb2ludHMuLi4iKTsKKyAgICB0eXBl
ZEFycmF5WzBdID0gJzEuMSc7CisgIH0sICdgdHlwZWRBcnJheVswXSA9ICIxLjEiYCB0aHJvd3Mg
U3ludGF4RXJyb3InKTsKIAogICBhc3NlcnQudGhyb3dzKFN5bnRheEVycm9yLCBmdW5jdGlvbigp
IHsKLSAgICB0eXBlZEFycmF5WzBdID0gIjFlNyI7Ci0gIH0sICJSZXBsYWNlIHRoZSBTdHJVbnNp
Z25lZERlY2ltYWxMaXRlcmFsIHByb2R1Y3Rpb24gd2l0aCBEZWNpbWFsRGlnaXRzIHRvIG5vdCBh
bGxvdy4uLiBleHBvbmVudHMuLi4iKTsKLQorICAgIHR5cGVkQXJyYXlbMF0gPSAnMWU3JzsKKyAg
fSwgJ2B0eXBlZEFycmF5WzBdID0gIjFlNyJgIHRocm93cyBTeW50YXhFcnJvcicpOwogfSk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9pbnRlcm5hbHMvU2V0L0JpZ0ludC9zeW1ib2wtdG9iaWdpbnQuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMv
U2V0L0JpZ0ludC9zeW1ib2wtdG9iaWdpbnQuanMKaW5kZXggNGQ1YTY3NTExODI1YjA5MTQyOTM3
YjFlYzdiMGM5YTQzMTlkYjYyZS4uZmMzOWFjOWQ2MDBmZmZiYzM1M2Y3ODBlNTI0MGY2ZmE2NTZk
MDM2NCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQvc3ltYm9sLXRvYmlnaW50LmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3Jz
L2ludGVybmFscy9TZXQvQmlnSW50L3N5bWJvbC10b2JpZ2ludC5qcwpAQCAtNDgsNyArNDgsNyBA
QCBpbmZvOiB8CiAgICAgUmVzdWx0OiBUaHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCiAKIGlu
Y2x1ZGVzOiBbdGVzdEJpZ0ludFR5cGVkQXJyYXkuanNdCi1mZWF0dXJlczogW0JpZ0ludCwgVHlw
ZWRBcnJheSwgU3ltYm9sXQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50
aWNzLXdpdGgtd2ViLXJlYWxpdHksIEJpZ0ludCwgVHlwZWRBcnJheSwgU3ltYm9sXQogLS0tKi8K
IAogdmFyIHMgPSBTeW1ib2woKQpAQCAtNTgsNiArNTgsNiBAQCB0ZXN0V2l0aEJpZ0ludFR5cGVk
QXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKIAogICBhc3NlcnQudGhyb3dzKFR5cGVF
cnJvciwgZnVuY3Rpb24oKSB7CiAgICAgdHlwZWRBcnJheVswXSA9IHM7Ci0gIH0sICJhYnJ1cHQg
Y29tcGxldGlvbiBmcm9tIFN5bWJvbCIpOworICB9LCAnYHR5cGVkQXJyYXlbMF0gPSBzYCB0aHJv
d3MgVHlwZUVycm9yJyk7CiAKIH0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQvdG9u
dW1iZXItdmFsdWUtZGV0YWNoZWQtYnVmZmVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQvdG9udW1i
ZXItdmFsdWUtZGV0YWNoZWQtYnVmZmVyLmpzCmluZGV4IGRhYmZlMGNjNTQxNjIxYTMwYjVlY2U3
ZTE5Y2E4YTBjMGQ3YzYwZDAuLmFmZDExYTI5NTdjYzY3ZGY2YzI3NWFmZGZhOTE1OTRiZWFhYjFk
NDkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L3RvbnVtYmVyLXZhbHVlLWRldGFjaGVk
LWJ1ZmZlci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJh
eUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L0JpZ0ludC90b251bWJlci12YWx1ZS1kZXRhY2hl
ZC1idWZmZXIuanMKQEAgLTQsOSArNCw4IEBACiAvKi0tLQogZXNpZDogc2VjLWludGVnZXItaW5k
ZXhlZC1leG90aWMtb2JqZWN0cy1zZXQtcC12LXJlY2VpdmVyCiBkZXNjcmlwdGlvbjogPgotICAg
IFNldHRpbmcgYSB0eXBlZCBhcnJheSBlbGVtZW50IHRvIGEgdmFsdWUgdGhhdCwgd2hlbiBjb252
ZXJ0ZWQgdG8gdGhlIHR5cGVkCi0gICAgYXJyYXkgZWxlbWVudCB0eXBlLCBkZXRhY2hlcyB0aGUg
dHlwZWQgYXJyYXkncyB1bmRlcmx5aW5nIGJ1ZmZlciwgc2hvdWxkCi0gICAgdGhyb3cgYSBUeXBl
RXJyb3IgYW5kIG5vdCBtb2RpZnkgdGhlIHR5cGVkIGFycmF5LgorICBTZXR0aW5nIGEgdHlwZWQg
YXJyYXkgZWxlbWVudCB0byBhIHZhbHVlIHRoYXQsIHdoZW4gY29udmVydGVkIHRvIHRoZSB0eXBl
ZAorICBhcnJheSBlbGVtZW50IHR5cGUsIGRldGFjaGVzIHRoZSB0eXBlZCBhcnJheSdzIHVuZGVy
bHlpbmcgYnVmZmVyLCBzaG91bGQgcmV0dXJuIGZhbHNlLgogaW5mbzogfAogICA5LjQuNS41IFtb
U2V0XV0gKCBQLCBWLCBSZWNlaXZlcikKIApAQCAtMTksMjggKzE4LDI2IEBAIGluZm86IHwKIAog
ICA5LjQuNS45IEludGVnZXJJbmRleGVkRWxlbWVudFNldCAoIE8sIGluZGV4LCB2YWx1ZSApCiAK
LSAgLi4uCi0gIDE1LiBQZXJmb3JtIFNldFZhbHVlSW5CdWZmZXIoYnVmZmVyLCBpbmRleGVkUG9z
aXRpb24sIGVsZW1lbnRUeXBlLCBudW1WYWx1ZSkuCi0gIDE2LiBSZXR1cm4gdHJ1ZS4KKyAgQXNz
ZXJ0OiBPIGlzIGFuIEludGVnZXItSW5kZXhlZCBleG90aWMgb2JqZWN0LgorICBBc3NlcnQ6IFR5
cGUoaW5kZXgpIGlzIE51bWJlci4KKyAgSWYgTy5bW0NvbnRlbnRUeXBlXV0gaXMgQmlnSW50LCBs
ZXQgbnVtVmFsdWUgYmUgPyBUb0JpZ0ludCh2YWx1ZSkuCisgIE90aGVyd2lzZSwgbGV0IG51bVZh
bHVlIGJlID8gVG9OdW1iZXIodmFsdWUpLgorICBMZXQgYnVmZmVyIGJlIE8uW1tWaWV3ZWRBcnJh
eUJ1ZmZlcl1dLgorICBJZiBJc0RldGFjaGVkQnVmZmVyKGJ1ZmZlcikgaXMgdHJ1ZSwgcmV0dXJu
IGZhbHNlLgorCiBpbmNsdWRlczogW3Rlc3RCaWdJbnRUeXBlZEFycmF5LmpzLCBkZXRhY2hBcnJh
eUJ1ZmZlci5qc10KLWZlYXR1cmVzOiBbQmlnSW50LCBSZWZsZWN0LCBUeXBlZEFycmF5XQorZmVh
dHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxpdHks
IEJpZ0ludCwgUmVmbGVjdCwgVHlwZWRBcnJheV0KIC0tLSovCiAKIHRlc3RXaXRoQmlnSW50VHlw
ZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewotICB2YXIgdGEgPSBuZXcgVEEoWzE3
bl0pOwotCi0gIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgICBSZWZs
ZWN0LnNldCh0YSwgMCwgewotICAgICAgdmFsdWVPZjogZnVuY3Rpb24oKSB7Ci0gICAgICAgICRE
RVRBQ0hCVUZGRVIodGEuYnVmZmVyKTsKLSAgICAgICAgcmV0dXJuIDQybjsKLSAgICAgIH0KLSAg
ICB9KTsKLSAgfSwKLSAgImRldGFjaGluZyBhIEFycmF5QnVmZmVyIGR1cmluZyBzZXR0aW5nIGFu
IGVsZW1lbnQgb2YgYSB0eXBlZCBhcnJheSAiICsKLSAgInZpZXdpbmcgaXQgc2hvdWxkIHRocm93
Iik7Ci0KLSAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICAgIHRhWzBd
OworICBsZXQgdGEgPSBuZXcgVEEoMSk7CisgIGxldCByZXN1bHQgPSBSZWZsZWN0LnNldCh0YSwg
MCwgeworICAgIHZhbHVlT2YoKSB7CisgICAgICAkREVUQUNIQlVGRkVSKHRhLmJ1ZmZlcik7Cisg
ICAgICByZXR1cm4gNDJuOworICAgIH0KICAgfSk7CisKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1
bHQsIGZhbHNlKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZSh0YVswXSwgZmFsc2UpOwogfSk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9pbnRlcm5hbHMvU2V0L0JpZ0ludC90b251bWJlci12YWx1ZS10aHJvd3MuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5h
bHMvU2V0L0JpZ0ludC90b251bWJlci12YWx1ZS10aHJvd3MuanMKaW5kZXggYTkxZjNmYmU2Nzdj
NzRhNGU1MjljNDRlMDNhZTRmYjExNTYxZTBmMy4uZjZiYmNmNmQ5NDYwN2MwMzc5NjI4YzljMGJl
MGM5MGM3ODA0NGJmMCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQvdG9udW1iZXItdmFs
dWUtdGhyb3dzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFy
cmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvQmlnSW50L3RvbnVtYmVyLXZhbHVlLXRocm93
cy5qcwpAQCAtMTQsNDUgKzE0LDQ2IEBAIGluZm86IHwKICAgICAgIGkuIFJldHVybiA/IEludGVn
ZXJJbmRleGVkRWxlbWVudFNldChPLCBudW1lcmljSW5kZXgsIFYpLgogICAuLi4KIAotICA5LjQu
NS45IEludGVnZXJJbmRleGVkRWxlbWVudFNldCAoIE8sIGluZGV4LCB2YWx1ZSApCisgIEludGVn
ZXJJbmRleGVkRWxlbWVudFNldCAoIE8sIGluZGV4LCB2YWx1ZSApCiAKLSAgLi4uCi0gIDMuIExl
dCBudW1WYWx1ZSBiZSA/IFRvTnVtYmVyKHZhbHVlKS4KKyAgQXNzZXJ0OiBPIGlzIGFuIEludGVn
ZXItSW5kZXhlZCBleG90aWMgb2JqZWN0LgorICBBc3NlcnQ6IFR5cGUoaW5kZXgpIGlzIE51bWJl
ci4KKyAgSWYgTy5bW0NvbnRlbnRUeXBlXV0gaXMgQmlnSW50LCBsZXQgbnVtVmFsdWUgYmUgPyBU
b0JpZ0ludCh2YWx1ZSkuCisgIE90aGVyd2lzZSwgbGV0IG51bVZhbHVlIGJlID8gVG9OdW1iZXIo
dmFsdWUpLgogICAuLi4KIGluY2x1ZGVzOiBbdGVzdEJpZ0ludFR5cGVkQXJyYXkuanNdCi1mZWF0
dXJlczogW0JpZ0ludCwgVHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVm
ZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBCaWdJbnQsIFR5cGVkQXJyYXldCiAtLS0q
LwotCiB0ZXN0V2l0aEJpZ0ludFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsK
LSAgdmFyIHNhbXBsZSA9IG5ldyBUQShbNDJuXSk7CisgIGxldCBzYW1wbGUgPSBuZXcgVEEoWzQy
bl0pOwogCi0gIHZhciBvYmogPSB7Ci0gICAgdmFsdWVPZjogZnVuY3Rpb24oKSB7CisgIGxldCBv
YmogPSB7CisgICAgdmFsdWVPZigpIHsKICAgICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoKTsK
ICAgICB9CiAgIH07CiAKICAgYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9uKCkg
ewotICAgIHNhbXBsZVsiMCJdID0gb2JqOwotICB9LCAiVG9OdW1iZXIgY2hlY2sgd2l0aCBhIHZh
bGlkIGluZGV4Iik7CisgICAgc2FtcGxlWycwJ10gPSBvYmo7CisgIH0sICdgc2FtcGxlWyIwIl0g
PSBvYmpgIHRocm93cyBUZXN0MjYyRXJyb3InKTsKIAogICBhc3NlcnQudGhyb3dzKFRlc3QyNjJF
cnJvciwgZnVuY3Rpb24oKSB7Ci0gICAgc2FtcGxlWyIxLjEiXSA9IG9iajsKLSAgfSwgIlRvTnVt
YmVyIHJ1bnMgYmVmb3JlIFRvSW50ZWdlcihpbmRleCkiKTsKKyAgICBzYW1wbGVbJzEuMSddID0g
b2JqOworICB9LCAnYHNhbXBsZVsiMS4xIl0gPSBvYmpgIHRocm93cyBUZXN0MjYyRXJyb3InKTsK
IAogICBhc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7Ci0gICAgc2FtcGxl
WyItMCJdID0gb2JqOwotICB9LCAiVG9OdW1iZXIgcnVucyBiZWZvcmUgLTAgY2hlY2siKTsKKyAg
ICBzYW1wbGVbJy0wJ10gPSBvYmo7CisgIH0sICdgc2FtcGxlWyItMCJdID0gb2JqYCB0aHJvd3Mg
VGVzdDI2MkVycm9yJyk7CiAKICAgYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0aW9u
KCkgewotICAgIHNhbXBsZVsiLTEiXSA9IG9iajsKLSAgfSwgIlRvTnVtYmVyIHJ1bnMgYmVmb3Jl
IDwgMCBjaGVjayIpOworICAgIHNhbXBsZVsnLTEnXSA9IG9iajsKKyAgfSwgJ2BzYW1wbGVbIi0x
Il0gPSBvYmpgIHRocm93cyBUZXN0MjYyRXJyb3InKTsKIAogICBhc3NlcnQudGhyb3dzKFRlc3Qy
NjJFcnJvciwgZnVuY3Rpb24oKSB7Ci0gICAgc2FtcGxlWyIxIl0gPSBvYmo7Ci0gIH0sICJUb051
bWJlciBydW5zIGJlZm9yZSBpbmRleCA9PSBsZW5ndGggY2hlY2siKTsKKyAgICBzYW1wbGVbJzEn
XSA9IG9iajsKKyAgfSwgJ2BzYW1wbGVbIjEiXSA9IG9iamAgdGhyb3dzIFRlc3QyNjJFcnJvcicp
OwogCiAgIGFzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsKLSAgICBzYW1w
bGVbIjIiXSA9IG9iajsKLSAgfSwgIlRvTnVtYmVyIHJ1bnMgYmVmb3JlIGluZGV4ID4gbGVuZ3Ro
IGNoZWNrIik7CisgICAgc2FtcGxlWycyJ10gPSBvYmo7CisgIH0sICdgc2FtcGxlWyIyIl0gPSBv
YmpgIHRocm93cyBUZXN0MjYyRXJyb3InKTsKIH0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9C
aWdJbnQvdW5kZWZpbmVkLXRvYmlnaW50LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9CaWdJbnQvdW5kZWZpbmVk
LXRvYmlnaW50LmpzCmluZGV4IDVmMmI1NGUxN2U0ODRlZmQ4NDU0ZmY4OWY3Y2VlYjkxZTExMWYx
NGEuLmRkZmUxYjFkMzdhZDhjZjgxMzM0ZGZjMjIyODI4NTIzNGQxNGI5NTAgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2lu
dGVybmFscy9TZXQvQmlnSW50L3VuZGVmaW5lZC10b2JpZ2ludC5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0
L0JpZ0ludC91bmRlZmluZWQtdG9iaWdpbnQuanMKQEAgLTQ5LDcgKzQ5LDcgQEAgaW5mbzogfAog
ICAgIFJlc3VsdDogVGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogCiBpbmNsdWRlczogW3Rl
c3RCaWdJbnRUeXBlZEFycmF5LmpzXQotZmVhdHVyZXM6IFtCaWdJbnQsIFR5cGVkQXJyYXldCitm
ZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0
eSwgQmlnSW50LCBUeXBlZEFycmF5XQogLS0tKi8KIAogdGVzdFdpdGhCaWdJbnRUeXBlZEFycmF5
Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CkBAIC01Nyw2ICs1Nyw2IEBAIHRlc3RXaXRoQmln
SW50VHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewogCiAgIGFzc2VydC50aHJv
d3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKICAgICB0eXBlZEFycmF5WzBdID0gdW5kZWZpbmVk
OwotICB9LCAiYWJydXB0IGNvbXBsZXRpb24gZnJvbSB1bmRlZmluZWQiKTsKKyAgfSwgJ2B0eXBl
ZEFycmF5WzBdID0gdW5kZWZpbmVkYCB0aHJvd3MgVHlwZUVycm9yJyk7CiAKIH0pOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3Rv
cnMvaW50ZXJuYWxzL1NldC9iaWdpbnQtdG9udW1iZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L2JpZ2ludC10
b251bWJlci5qcwppbmRleCA2MGM4NWU3N2YzY2UwZjU2ZGM2MGI4ZjUyNGIxYzZjNzgyN2NhMmIz
Li4yNTljNWY5ZjMxNDYyZDlhNjhmNDJiNTNlY2U3NzNlMDk3NmExZWQxIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRl
cm5hbHMvU2V0L2JpZ2ludC10b251bWJlci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L2JpZ2ludC10b251
bWJlci5qcwpAQCAtNDgsMTYgKzQ4LDEyIEBAIGluZm86IHwKICAgICBSZXN1bHQ6IFRocm93IGEg
VHlwZUVycm9yIEV4Y2VwdGlvbgogCiBpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5LmpzXQotZmVh
dHVyZXM6IFtCaWdJbnQsIFR5cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1
ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgQmlnSW50LCBUeXBlZEFycmF5XQogLS0t
Ki8KLQotdmFyIHR5cGVkQXJyYXk7Ci0KIHRlc3RXaXRoVHlwZWRBcnJheUNvbnN0cnVjdG9ycyhm
dW5jdGlvbihUQSkgeworICB2YXIgdHlwZWRBcnJheSA9IG5ldyBUQSgxKTsKIAotICAgIHR5cGVk
QXJyYXkgPSBuZXcgVEEoMSk7Ci0gICAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9u
KCkgewotICAgICAgdHlwZWRBcnJheVswXSA9IDFuOwotICAgIH0pOwotICB9KTsKLQorICBhc3Nl
cnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisgICAgdHlwZWRBcnJheVswXSA9IDFu
OworICB9LCAnYHR5cGVkQXJyYXlbMF0gPSAxbmAgdGhyb3dzIFR5cGVFcnJvcicpOworfSk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9pbnRlcm5hbHMvU2V0L2NvbnZlcnNpb24tb3BlcmF0aW9uLWNvbnNpc3RlbnQtbmFu
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3Rv
cnMvaW50ZXJuYWxzL1NldC9jb252ZXJzaW9uLW9wZXJhdGlvbi1jb25zaXN0ZW50LW5hbi5qcwpp
bmRleCA3YzY1ZDliMGUwNGUxOTczMmZhZGQ0YmQyN2NlNjdhNzk5MTc4NmQ2Li44NzgxNGY5YWE1
NzY1Yjk4NTRjNjkzMDNiYzM0ZmE3ZDM2MjM5Y2ZlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L2Nv
bnZlcnNpb24tb3BlcmF0aW9uLWNvbnNpc3RlbnQtbmFuLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvY29u
dmVyc2lvbi1vcGVyYXRpb24tY29uc2lzdGVudC1uYW4uanMKQEAgLTYzLDcgKzYzLDcgQEAgaW5m
bzogfAogICBhbiBleHByZXNzaW9uIG9mIHRoZSBmb3JtICBYICE9PSBYLiBUaGUgcmVzdWx0IHdp
bGwgYmUgdHJ1ZSBpZiBhbmQgb25seQogICBpZiBYIGlzIGEgTmFOLgogaW5jbHVkZXM6IFtuYW5z
LmpzLCB0ZXN0VHlwZWRBcnJheS5qc10KLWZlYXR1cmVzOiBbVHlwZWRBcnJheV0KK2ZlYXR1cmVz
OiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBUeXBl
ZEFycmF5XQogLS0tKi8KIAogdGVzdFdpdGhUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9u
KEZBKSB7CkBAIC04MywxMiArODMsMTIgQEAgdGVzdFdpdGhUeXBlZEFycmF5Q29uc3RydWN0b3Jz
KGZ1bmN0aW9uKEZBKSB7CiAKICAgICAgIGFzc2VydCgKICAgICAgICAgc2FtcGxlc1tpXSAhPT0g
c2FtcGxlc1tpXSwKLSAgICAgICAgYHNhbXBsZXMgKGluZGV4PSR7aWR4fSkgcHJvZHVjZXMgYSB2
YWxpZCBOYU4gKCR7cHJlY2lzaW9ufSBwcmVjaXNpb24pYAorICAgICAgICAnVGhlIHJlc3VsdCBv
ZiBgKHNhbXBsZXNbaV0gIT09IHNhbXBsZXNbaV0pYCBpcyB0cnVlJwogICAgICAgKTsKIAogICAg
ICAgYXNzZXJ0KAogICAgICAgICBjb250cm9sc1tpXSAhPT0gY29udHJvbHNbaV0sCi0gICAgICAg
IGBjb250cm9scyAoaW5kZXg9JHtpZHh9KSBwcm9kdWNlcyBhIHZhbGlkIE5hTiAoJHtwcmVjaXNp
b259IHByZWNpc2lvbilgCisgICAgICAgICdUaGUgcmVzdWx0IG9mIGAoY29udHJvbHNbaV0gIT09
IGNvbnRyb2xzW2ldKWAgaXMgdHJ1ZScKICAgICAgICk7CiAgICAgfQogICB9CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9p
bnRlcm5hbHMvU2V0L2NvbnZlcnNpb24tb3BlcmF0aW9uLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9jb252ZXJz
aW9uLW9wZXJhdGlvbi5qcwppbmRleCBlN2VlZGQ0MDcwM2U4MTg0MmNkYmMxNDliOTA3YzhkNTMz
ZDc3YmM1Li5lNTNjNWZkMWY3YjAyNjg3NzdmYWUwOTcyYjE4ODRhZjZlZThmZTdkIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9y
cy9pbnRlcm5hbHMvU2V0L2NvbnZlcnNpb24tb3BlcmF0aW9uLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQv
Y29udmVyc2lvbi1vcGVyYXRpb24uanMKQEAgLTM5LDcgKzM5LDcgQEAgaW5mbzogfAogICAgIGUu
IEVsc2UsCiAgICAgICAuLi4KIGluY2x1ZGVzOiBbYnl0ZUNvbnZlcnNpb25WYWx1ZXMuanMsIHRl
c3RUeXBlZEFycmF5LmpzXQotZmVhdHVyZXM6IFtUeXBlZEFycmF5XQorZmVhdHVyZXM6IFthbGln
bi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIFR5cGVkQXJyYXld
CiAtLS0qLwogCiB0ZXN0VHlwZWRBcnJheUNvbnZlcnNpb25zKGJ5dGVDb252ZXJzaW9uVmFsdWVz
LCBmdW5jdGlvbihUQSwgdmFsdWUsIGV4cGVjdGVkLCBpbml0aWFsKSB7CkBAIC00Nyw1ICs0Nyw1
IEBAIHRlc3RUeXBlZEFycmF5Q29udmVyc2lvbnMoYnl0ZUNvbnZlcnNpb25WYWx1ZXMsIGZ1bmN0
aW9uKFRBLCB2YWx1ZSwgZXhwZWN0ZWQsIGluCiAKICAgc2FtcGxlWzBdID0gdmFsdWU7CiAKLSAg
YXNzZXJ0LnNhbWVWYWx1ZShzYW1wbGVbMF0sIGV4cGVjdGVkLCB2YWx1ZSArICIgY29udmVydHMg
dG8gIiArIGV4cGVjdGVkKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShzYW1wbGVbMF0sIGV4cGVjdGVk
LCAnVGhlIHZhbHVlIG9mIHNhbXBsZVswXSBpcyBleHBlY3RlZCB0byBlcXVhbCB0aGUgdmFsdWUg
b2YgZXhwZWN0ZWQnKTsKIH0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9kZXRhY2hlZC1idWZm
ZXIta2V5LWlzLW5vdC1udW1lcmljLWluZGV4LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9kZXRhY2hlZC1idWZm
ZXIta2V5LWlzLW5vdC1udW1lcmljLWluZGV4LmpzCmluZGV4IDczODJkNjI2ZTcyZmZlZGE4MzJm
NWY2N2FmNzQyYjViNzI5MWRmYmQuLjgzZGI4MjJkYTc3Zjc1NmNjYTFmY2I5YjUzNzYzMDM5NDUz
NTRhNGMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFy
cmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvZGV0YWNoZWQtYnVmZmVyLWtleS1pcy1ub3Qt
bnVtZXJpYy1pbmRleC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlw
ZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L2RldGFjaGVkLWJ1ZmZlci1rZXktaXMt
bm90LW51bWVyaWMtaW5kZXguanMKQEAgLTE0LDEzICsxNCwxNyBAQCBpbmZvOiB8CiAgICAgLi4u
CiAgIDMuIFJldHVybiA/IE9yZGluYXJ5U2V0KE8sIFAsIFYsIFJlY2VpdmVyKS4KIGluY2x1ZGVz
OiBbdGVzdFR5cGVkQXJyYXkuanMsIGRldGFjaEFycmF5QnVmZmVyLmpzXQotZmVhdHVyZXM6IFtS
ZWZsZWN0LCBUeXBlZEFycmF5XQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2Vt
YW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIFJlZmxlY3QsIFR5cGVkQXJyYXldCiAtLS0qLwogCiB0
ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKLSAgdmFyIHNhbXBs
ZSA9IG5ldyBUQShbNDIsIDQzXSk7CisgIHZhciBzYW1wbGUgPSBuZXcgVEEoMik7CiAgICRERVRB
Q0hCVUZGRVIoc2FtcGxlLmJ1ZmZlcik7CiAKLSAgYXNzZXJ0LnNhbWVWYWx1ZShSZWZsZWN0LnNl
dChzYW1wbGUsICJmb28iLCAidGVzdDI2MiIpLCB0cnVlKTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShz
YW1wbGUuZm9vLCAidGVzdDI2MiIpOworICBhc3NlcnQuc2FtZVZhbHVlKAorICAgIFJlZmxlY3Qu
c2V0KHNhbXBsZSwgImZvbyIsICJ0ZXN0MjYyIiksCisgICAgdHJ1ZSwKKyAgICAnUmVmbGVjdC5z
ZXQoc2FtcGxlLCAiZm9vIiwgInRlc3QyNjIiKSBtdXN0IHJldHVybiB0cnVlJworICApOworICBh
c3NlcnQuc2FtZVZhbHVlKHNhbXBsZS5mb28sICJ0ZXN0MjYyIiwgJ1RoZSB2YWx1ZSBvZiBzYW1w
bGUuZm9vIGlzICJ0ZXN0MjYyIicpOwogfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L2RldGFj
aGVkLWJ1ZmZlci1rZXktaXMtc3ltYm9sLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9kZXRhY2hlZC1idWZmZXIt
a2V5LWlzLXN5bWJvbC5qcwppbmRleCAxZmJlMWI2MGNhMjA2ZmUxOTk3MDIzN2ZjNTY2MTFlMjQy
MDkxOWY4Li44NmIzMTU2MWE2NmNjZDZjM2E3YTQ4OGZmZjNhNTY5ZDRmZDU0ODAzIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9y
cy9pbnRlcm5hbHMvU2V0L2RldGFjaGVkLWJ1ZmZlci1rZXktaXMtc3ltYm9sLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVy
bmFscy9TZXQvZGV0YWNoZWQtYnVmZmVyLWtleS1pcy1zeW1ib2wuanMKQEAgLTEyLDE1ICsxMiwx
OSBAQCBpbmZvOiB8CiAgICAgLi4uCiAgIDMuIFJldHVybiA/IE9yZGluYXJ5U2V0KE8sIFAsIFYs
IFJlY2VpdmVyKS4KIGluY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXkuanMsIGRldGFjaEFycmF5QnVm
ZmVyLmpzXQotZmVhdHVyZXM6IFtTeW1ib2wsIFJlZmxlY3QsIFR5cGVkQXJyYXldCitmZWF0dXJl
czogW2FsaWduLWRldGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgU3lt
Ym9sLCBSZWZsZWN0LCBUeXBlZEFycmF5XQogLS0tKi8KIAotdmFyIHMgPSBTeW1ib2woIjEiKTsK
K2xldCBzID0gU3ltYm9sKCIxIik7CiAKIHRlc3RXaXRoVHlwZWRBcnJheUNvbnN0cnVjdG9ycyhm
dW5jdGlvbihUQSkgewotICB2YXIgc2FtcGxlID0gbmV3IFRBKFs0MiwgNDNdKTsKKyAgbGV0IHNh
bXBsZSA9IG5ldyBUQSgyKTsKICAgJERFVEFDSEJVRkZFUihzYW1wbGUuYnVmZmVyKTsKIAotICBh
c3NlcnQuc2FtZVZhbHVlKFJlZmxlY3Quc2V0KHNhbXBsZSwgcywgInRlc3QyNjIiKSwgdHJ1ZSk7
Ci0gIGFzc2VydC5zYW1lVmFsdWUoc2FtcGxlW3NdLCAidGVzdDI2MiIpOworICBhc3NlcnQuc2Ft
ZVZhbHVlKAorICAgIFJlZmxlY3Quc2V0KHNhbXBsZSwgcywgInRlc3QyNjIiKSwKKyAgICB0cnVl
LAorICAgICdSZWZsZWN0LnNldChzYW1wbGUsICJTeW1ib2woXFwiMVxcIikiLCAidGVzdDI2MiIp
IG11c3QgcmV0dXJuIHRydWUnCisgICk7CisgIGFzc2VydC5zYW1lVmFsdWUoc2FtcGxlW3NdLCAi
dGVzdDI2MiIsICdUaGUgdmFsdWUgb2Ygc2FtcGxlW3NdIGlzICJ0ZXN0MjYyIicpOwogfSk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0
cnVjdG9ycy9pbnRlcm5hbHMvU2V0L2RldGFjaGVkLWJ1ZmZlci1yZWFsbS5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9T
ZXQvZGV0YWNoZWQtYnVmZmVyLXJlYWxtLmpzCmluZGV4IDUxMDIyOTM5NWU2Yjk3MTUzYmQxMWY5
ZDcxYjQwYTI3M2JjMTFkYWYuLmQ3MzljZDIyOTFjZjliM2VhNmUzNmU5MmJkMDA3MGRjYjM1Y2Fh
ODMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvZGV0YWNoZWQtYnVmZmVyLXJlYWxtLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2lu
dGVybmFscy9TZXQvZGV0YWNoZWQtYnVmZmVyLXJlYWxtLmpzCkBAIC0xNSwyNiArMTUsMjMgQEAg
aW5mbzogfAogICAgICAgaS4gUmV0dXJuID8gSW50ZWdlckluZGV4ZWRFbGVtZW50U2V0KE8sIG51
bWVyaWNJbmRleCwgVikuCiAgIC4uLgogCi0gIDkuNC41LjkgSW50ZWdlckluZGV4ZWRFbGVtZW50
U2V0ICggTywgaW5kZXgsIHZhbHVlICkKKyAgSW50ZWdlckluZGV4ZWRFbGVtZW50U2V0ICggTywg
aW5kZXgsIHZhbHVlICkKIAotICAuLi4KLSAgMy4gTGV0IG51bVZhbHVlIGJlID8gVG9OdW1iZXIo
dmFsdWUpLgotICA0LiBMZXQgYnVmZmVyIGJlIHRoZSB2YWx1ZSBvZiBPJ3MgW1tWaWV3ZWRBcnJh
eUJ1ZmZlcl1dIGludGVybmFsIHNsb3QuCi0gIDUuIElmIElzRGV0YWNoZWRCdWZmZXIoYnVmZmVy
KSBpcyB0cnVlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIEFzc2VydDogTyBpcyBh
biBJbnRlZ2VyLUluZGV4ZWQgZXhvdGljIG9iamVjdC4KKyAgQXNzZXJ0OiBUeXBlKGluZGV4KSBp
cyBOdW1iZXIuCisgIElmIE8uW1tDb250ZW50VHlwZV1dIGlzIEJpZ0ludCwgbGV0IG51bVZhbHVl
IGJlID8gVG9CaWdJbnQodmFsdWUpLgorICBPdGhlcndpc2UsIGxldCBudW1WYWx1ZSBiZSA/IFRv
TnVtYmVyKHZhbHVlKS4KKyAgTGV0IGJ1ZmZlciBiZSBPLltbVmlld2VkQXJyYXlCdWZmZXJdXS4K
KyAgSWYgSXNEZXRhY2hlZEJ1ZmZlcihidWZmZXIpIGlzIHRydWUsIHJldHVybiBmYWxzZS4KICAg
Li4uCiBpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5LmpzLCBkZXRhY2hBcnJheUJ1ZmZlci5qc10K
LWZlYXR1cmVzOiBbY3Jvc3MtcmVhbG0sIFR5cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWduLWRl
dGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgY3Jvc3MtcmVhbG0sIFR5
cGVkQXJyYXldCiAtLS0qLwogCi12YXIgb3RoZXIgPSAkMjYyLmNyZWF0ZVJlYWxtKCkuZ2xvYmFs
OwotCitsZXQgb3RoZXIgPSAkMjYyLmNyZWF0ZVJlYWxtKCkuZ2xvYmFsOwogdGVzdFdpdGhUeXBl
ZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7Ci0gIHZhciBPdGhlclRBID0gb3RoZXJb
VEEubmFtZV07Ci0gIHZhciBzYW1wbGUgPSBuZXcgT3RoZXJUQSgxKTsKLQorICBsZXQgT3RoZXJU
QSA9IG90aGVyW1RBLm5hbWVdOworICBsZXQgc2FtcGxlID0gbmV3IE90aGVyVEEoMSk7CiAgICRE
RVRBQ0hCVUZGRVIoc2FtcGxlLmJ1ZmZlcik7Ci0KLSAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3Is
IGZ1bmN0aW9uKCkgewotICAgIHNhbXBsZVswXSA9IDA7Ci0gIH0pOworICBhc3NlcnQuc2FtZVZh
bHVlKHNhbXBsZVswXSA9IDEsIGZhbHNlLCAnYHNhbXBsZVswXSA9IDFgIGlzIGZhbHNlJyk7CiB9
KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5
Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvZGV0YWNoZWQtYnVmZmVyLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1Nl
dC9kZXRhY2hlZC1idWZmZXIuanMKaW5kZXggYTM3M2Y5ZmJlM2Q1NGJlY2RhYjhjNzg2NTVhZDc4
MmM1ODkzZTJhZi4uNzQ2MTc2N2ZjNDg5N2E4YjI3YWRlYWE0OWIwZGVjOTdlYmI1ODUzNCAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMvaW50ZXJuYWxzL1NldC9kZXRhY2hlZC1idWZmZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9k
ZXRhY2hlZC1idWZmZXIuanMKQEAgLTMsNjMgKzMsNDYgQEAKIC8qLS0tCiBlc2lkOiBzZWMtaW50
ZWdlci1pbmRleGVkLWV4b3RpYy1vYmplY3RzLXNldC1wLXYtcmVjZWl2ZXIKIGRlc2NyaXB0aW9u
OiA+Ci0gIFRocm93cyBhIFR5cGVFcnJvciBpZiBrZXkgaGFzIGEgbnVtZXJpYyBpbmRleCBhbmQg
b2JqZWN0IGhhcyBhIGRldGFjaGVkIGJ1ZmZlcgorICBSZXR1cm5zIGZhbHNlIGlmIGtleSBoYXMg
YSBudW1lcmljIGluZGV4IGFuZCBvYmplY3QgaGFzIGEgZGV0YWNoZWQgYnVmZmVyCiBpbmZvOiB8
Ci0gIDkuNC41LjUgW1tTZXRdXSAoIFAsIFYsIFJlY2VpdmVyKQorICBbW1NldF1dICggUCwgViwg
UmVjZWl2ZXIpCiAKICAgLi4uCi0gIDIuIElmIFR5cGUoUCkgaXMgU3RyaW5nLCB0aGVuCi0gICAg
YS4gTGV0IG51bWVyaWNJbmRleCBiZSAhIENhbm9uaWNhbE51bWVyaWNJbmRleFN0cmluZyhQKS4K
LSAgICBiLiBJZiBudW1lcmljSW5kZXggaXMgbm90IHVuZGVmaW5lZCwgdGhlbgotICAgICAgaS4g
UmV0dXJuID8gSW50ZWdlckluZGV4ZWRFbGVtZW50U2V0KE8sIG51bWVyaWNJbmRleCwgVikuCisg
ICBJZiBUeXBlKFApIGlzIFN0cmluZywgdGhlbgorICAgIExldCBudW1lcmljSW5kZXggYmUgISBD
YW5vbmljYWxOdW1lcmljSW5kZXhTdHJpbmcoUCkuCisgICAgSWYgbnVtZXJpY0luZGV4IGlzIG5v
dCB1bmRlZmluZWQsIHRoZW4KKyAgICAgIFJldHVybiA/IEludGVnZXJJbmRleGVkRWxlbWVudFNl
dChPLCBudW1lcmljSW5kZXgsIFYpLgogICAuLi4KIAotICA5LjQuNS45IEludGVnZXJJbmRleGVk
RWxlbWVudFNldCAoIE8sIGluZGV4LCB2YWx1ZSApCisgIEludGVnZXJJbmRleGVkRWxlbWVudFNl
dCAoIE8sIGluZGV4LCB2YWx1ZSApCisKKyAgQXNzZXJ0OiBPIGlzIGFuIEludGVnZXItSW5kZXhl
ZCBleG90aWMgb2JqZWN0LgorICBBc3NlcnQ6IFR5cGUoaW5kZXgpIGlzIE51bWJlci4KKyAgSWYg
Ty5bW0NvbnRlbnRUeXBlXV0gaXMgQmlnSW50LCBsZXQgbnVtVmFsdWUgYmUgPyBUb0JpZ0ludCh2
YWx1ZSkuCisgIE90aGVyd2lzZSwgbGV0IG51bVZhbHVlIGJlID8gVG9OdW1iZXIodmFsdWUpLgor
ICBMZXQgYnVmZmVyIGJlIE8uW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dLgorICBJZiBJc0RldGFjaGVk
QnVmZmVyKGJ1ZmZlcikgaXMgdHJ1ZSwgcmV0dXJuIGZhbHNlLgogCi0gIC4uLgotICAzLiBMZXQg
bnVtVmFsdWUgYmUgPyBUb051bWJlcih2YWx1ZSkuCi0gIDQuIExldCBidWZmZXIgYmUgdGhlIHZh
bHVlIG9mIE8ncyBbW1ZpZXdlZEFycmF5QnVmZmVyXV0gaW50ZXJuYWwgc2xvdC4KLSAgNS4gSWYg
SXNEZXRhY2hlZEJ1ZmZlcihidWZmZXIpIGlzIHRydWUsIHRocm93IGEgVHlwZUVycm9yIGV4Y2Vw
dGlvbi4KLSAgLi4uCiBpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5LmpzLCBkZXRhY2hBcnJheUJ1
ZmZlci5qc10KLWZlYXR1cmVzOiBbVHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNo
ZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBUeXBlZEFycmF5XQogLS0tKi8K
LQogdGVzdFdpdGhUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7Ci0gIHZhciBz
YW1wbGUgPSBuZXcgVEEoWzQyXSk7CisgIGxldCBzYW1wbGUgPSBuZXcgVEEoWzQyXSk7CiAgICRE
RVRBQ0hCVUZGRVIoc2FtcGxlLmJ1ZmZlcik7Ci0KLSAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3Is
IGZ1bmN0aW9uKCkgewotICAgIHNhbXBsZVswXSA9IDE7Ci0gIH0sICJ2YWxpZCBudW1lcmljIGlu
ZGV4Iik7Ci0KLSAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICAgIHNh
bXBsZVsiMS4xIl0gPSAxOwotICB9LCAiZGV0YWNoIGJ1ZmZlciBydW5zIGJlZm9yZSBjaGVja2lu
ZyBmb3IgMS4xIik7Ci0KLSAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewot
ICAgIHNhbXBsZVsiLTAiXSA9IDE7Ci0gIH0sICJkZXRhY2ggYnVmZmVyIHJ1bnMgYmVmb3JlIGNo
ZWNraW5nIGZvciAtMCIpOwotCi0gIGFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigp
IHsKLSAgICBzYW1wbGVbIi0xIl0gPSAxOwotICB9LCAiZGV0YWNoIGJ1ZmZlciBydW5zIGJlZm9y
ZSBjaGVja2luZyBmb3IgLTEiKTsKLQotICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rp
b24oKSB7Ci0gICAgc2FtcGxlWyIxIl0gPSAxOwotICB9LCAiZGV0YWNoIGJ1ZmZlciBydW5zIGJl
Zm9yZSBjaGVja2luZyBmb3Iga2V5ID09IGxlbmd0aCIpOwotCi0gIGFzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgICBzYW1wbGVbIjIiXSA9IDE7Ci0gIH0sICJkZXRhY2gg
YnVmZmVyIHJ1bnMgYmVmb3JlIGNoZWNraW5nIGZvciBrZXkgPiBsZW5ndGgiKTsKLQotICB2YXIg
b2JqID0gewotICAgIHZhbHVlT2Y6IGZ1bmN0aW9uKCkgeworICBhc3NlcnQuc2FtZVZhbHVlKHNh
bXBsZVswXSA9IDEsIGZhbHNlLCAnYHNhbXBsZVswXSA9IDFgIGlzIGZhbHNlJyk7CisgIGFzc2Vy
dC5zYW1lVmFsdWUoc2FtcGxlWycxLjEnXSA9IDEsIGZhbHNlLCAnYHNhbXBsZVtcJzEuMVwnXSA9
IDFgIGlzIGZhbHNlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoc2FtcGxlWyctMCddID0gMSwgZmFs
c2UsICdgc2FtcGxlW1wnLTBcJ10gPSAxYCBpcyBmYWxzZScpOworICBhc3NlcnQuc2FtZVZhbHVl
KHNhbXBsZVsnLTEnXSA9IDEsIGZhbHNlLCAnYHNhbXBsZVtcJy0xXCddID0gMWAgaXMgZmFsc2Un
KTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShzYW1wbGVbJzEnXSA9IDEsIGZhbHNlLCAnYHNhbXBsZVtc
JzFcJ10gPSAxYCBpcyBmYWxzZScpOworICBhc3NlcnQuc2FtZVZhbHVlKHNhbXBsZVsnMiddID0g
MSwgZmFsc2UsICdgc2FtcGxlW1wnMlwnXSA9IDFgIGlzIGZhbHNlJyk7CisKKyAgbGV0IG9iaiA9
IHsKKyAgICB2YWx1ZU9mKCkgewogICAgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOwogICAg
IH0KICAgfTsKIAogICBhc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7Ci0g
ICAgc2FtcGxlWyIwIl0gPSBvYmo7Ci0gIH0sICJUb051bWJlcih2YWx1ZSkgaXMgY2FsbGVkIGJl
Zm9yZSBkZXRhY2hlZCBidWZmZXIgY2hlY2siKTsKKyAgICBzYW1wbGVbJzAnXSA9IG9iajsKKyAg
fSwgJ2BzYW1wbGVbXCcwXCddID0gb2JqYCB0aHJvd3MgVGVzdDI2MkVycm9yJyk7CiB9KTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3Ry
dWN0b3JzL2ludGVybmFscy9TZXQvaW5kZXhlZC12YWx1ZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvaW5kZXhl
ZC12YWx1ZS5qcwppbmRleCAyMzMzZDRjNDRiZjU2YTIwZTg1YjI1MTBkM2VmNWJlMTM1ZWM4MDlh
Li42NWY5M2FmMDU4NjY3ZjE4MWI5YzBmYzgyNDFmZmNjMGYzMDQzMGQ2IDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRl
cm5hbHMvU2V0L2luZGV4ZWQtdmFsdWUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9pbmRleGVkLXZhbHVl
LmpzCkBAIC0yMCwyNCArMjAsMjMgQEAgaW5mbzogfAogICAxNS4gUGVyZm9ybSBTZXRWYWx1ZUlu
QnVmZmVyKGJ1ZmZlciwgaW5kZXhlZFBvc2l0aW9uLCBlbGVtZW50VHlwZSwgbnVtVmFsdWUpLgog
ICAxNi4gUmV0dXJuIHRydWUuCiBpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5LmpzXQotZmVhdHVy
ZXM6IFtSZWZsZWN0LCBUeXBlZEFycmF5XQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZm
ZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIFJlZmxlY3QsIFR5cGVkQXJyYXldCiAtLS0q
LwogCi12YXIgcHJvdG8gPSBUeXBlZEFycmF5LnByb3RvdHlwZTsKLXZhciB0aHJvd0Rlc2MgPSB7
CitsZXQgcHJvdG8gPSBUeXBlZEFycmF5LnByb3RvdHlwZTsKK2xldCB0aHJvd0Rlc2MgPSB7CiAg
IHNldDogZnVuY3Rpb24oKSB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigiT3JkaW5hcnlT
ZXQgd2FzIGNhbGxlZCEgUmVmOiA5LjEuOS4xIDMuYi5pIik7CisgICAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignT3JkaW5hcnlTZXQgd2FzIGNhbGxlZCEnKTsKICAgfQogfTsKLU9iamVjdC5kZWZp
bmVQcm9wZXJ0eShwcm90bywgIjAiLCB0aHJvd0Rlc2MpOwotT2JqZWN0LmRlZmluZVByb3BlcnR5
KHByb3RvLCAiMSIsIHRocm93RGVzYyk7CiAKLXRlc3RXaXRoVHlwZWRBcnJheUNvbnN0cnVjdG9y
cyhmdW5jdGlvbihUQSkgewotICB2YXIgc2FtcGxlID0gbmV3IFRBKFs0MiwgNDNdKTsKLQotICBh
c3NlcnQuc2FtZVZhbHVlKFJlZmxlY3Quc2V0KHNhbXBsZSwgIjAiLCAxKSwgdHJ1ZSwgInNhbXBs
ZVswXSIpOwotICBhc3NlcnQuc2FtZVZhbHVlKHNhbXBsZVswXSwgMSwgInNhbXBsZVswXSB2YWx1
ZSBpcyBzZXQiKTsKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgJzAnLCB0aHJvd0Rlc2Mp
OworT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAnMScsIHRocm93RGVzYyk7CiAKLSAgYXNz
ZXJ0LnNhbWVWYWx1ZShSZWZsZWN0LnNldChzYW1wbGUsICIxIiwgNDIpLCB0cnVlLCAic2FtcGxl
WzFdIik7Ci0gIGFzc2VydC5zYW1lVmFsdWUoc2FtcGxlWzFdLCA0MiwgInNhbXBsZVsxXSB2YWx1
ZSBpcyBzZXQiKTsKK3Rlc3RXaXRoVHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkg
eworICBsZXQgc2FtcGxlID0gbmV3IFRBKDIpOworICBhc3NlcnQuc2FtZVZhbHVlKFJlZmxlY3Qu
c2V0KHNhbXBsZSwgJzAnLCAxKSwgdHJ1ZSwgJ1JlZmxlY3Quc2V0KHNhbXBsZSwgIjAiLCAxKSBt
dXN0IHJldHVybiB0cnVlJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoc2FtcGxlWzBdLCAxLCAnVGhl
IHZhbHVlIG9mIHNhbXBsZVswXSBpcyAxJyk7CisgIGFzc2VydC5zYW1lVmFsdWUoUmVmbGVjdC5z
ZXQoc2FtcGxlLCAnMScsIDQyKSwgdHJ1ZSwgJ1JlZmxlY3Quc2V0KHNhbXBsZSwgIjEiLCA0Mikg
bXVzdCByZXR1cm4gdHJ1ZScpOworICBhc3NlcnQuc2FtZVZhbHVlKHNhbXBsZVsxXSwgNDIsICdU
aGUgdmFsdWUgb2Ygc2FtcGxlWzFdIGlzIDQyJyk7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9T
ZXQva2V5LWlzLW1pbnVzLXplcm8uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L2tleS1pcy1taW51cy16ZXJvLmpz
CmluZGV4IGE3MzVlOGJhYWQzNWI5MmY4MjgyMGNlYzhlYzRhNzY4NjdmMTExNjUuLjMxNzYyZWNj
MzA0M2M1NmQwYzcyZjZiYzYxYTUwM2RhYzUwMDM5OTUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQv
a2V5LWlzLW1pbnVzLXplcm8uanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9rZXktaXMtbWludXMtemVyby5q
cwpAQCAtMjAsMTIgKzIwLDEyIEBAIGluZm86IHwKICAgNy4gSWYgaW5kZXggPSAtMCwgcmV0dXJu
IGZhbHNlLgogICAuLi4KIGluY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXkuanNdCi1mZWF0dXJlczog
W1JlZmxlY3QsIFR5cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1ZmZlci1z
ZW1hbnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgUmVmbGVjdCwgVHlwZWRBcnJheV0KIC0tLSovCiAK
IHRlc3RXaXRoVHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewogICB2YXIgc2Ft
cGxlID0gbmV3IFRBKFs0Ml0pOwogCi0gIGFzc2VydC5zYW1lVmFsdWUoUmVmbGVjdC5zZXQoc2Ft
cGxlLCAiLTAiLCAxKSwgZmFsc2UsICItMCIpOwotICBhc3NlcnQuc2FtZVZhbHVlKHNhbXBsZS5o
YXNPd25Qcm9wZXJ0eSgiLTAiKSwgZmFsc2UsICJoYXMgbm8gcHJvcGVydHkgWy0wXSIpOworICBh
c3NlcnQuc2FtZVZhbHVlKFJlZmxlY3Quc2V0KHNhbXBsZSwgIi0wIiwgMSksIGZhbHNlLCAnUmVm
bGVjdC5zZXQoc2FtcGxlLCAiLTAiLCAxKSBtdXN0IHJldHVybiBmYWxzZScpOworICBhc3NlcnQu
c2FtZVZhbHVlKHNhbXBsZS5oYXNPd25Qcm9wZXJ0eSgiLTAiKSwgZmFsc2UsICdzYW1wbGUuaGFz
T3duUHJvcGVydHkoIi0wIikgbXVzdCByZXR1cm4gZmFsc2UnKTsKIH0pOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50
ZXJuYWxzL1NldC9rZXktaXMtbm90LWNhbm9uaWNhbC1pbmRleC5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQva2V5
LWlzLW5vdC1jYW5vbmljYWwtaW5kZXguanMKaW5kZXggMWZiN2E5ZWM2YmMxNTA4ZDcyOTcwNWVi
ODIxNjM5MGU5MzIxOThkNC4uM2E1N2FlOTAwZmE2YTAxZWM0NjNjNjJiNGUwZTY0YjE2YTE4OWMy
MyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlD
b25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9rZXktaXMtbm90LWNhbm9uaWNhbC1pbmRleC5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9y
cy9pbnRlcm5hbHMvU2V0L2tleS1pcy1ub3QtY2Fub25pY2FsLWluZGV4LmpzCkBAIC0zLDcgKzMs
NyBAQAogLyotLS0KIGVzaWQ6IHNlYy1pbnRlZ2VyLWluZGV4ZWQtZXhvdGljLW9iamVjdHMtc2V0
LXAtdi1yZWNlaXZlcgogZGVzY3JpcHRpb246ID4KLSAgVXNlIE9yZ2luYXJ5U2V0IGlmIG51bWVy
aWMga2V5IGlzIG5vdCBhIENhbm9uaWNhbE51bWVyaWNJbmRleAorICBVc2UgT3JkaW5hcnlTZXQg
aWYgbnVtZXJpYyBrZXkgaXMgbm90IGEgQ2Fub25pY2FsTnVtZXJpY0luZGV4CiBpbmZvOiB8CiAg
IDkuNC41LjUgW1tTZXRdXSAoIFAsIFYsIFJlY2VpdmVyKQogCkBAIC0xNCw3ICsxNCw3IEBAIGlu
Zm86IHwKICAgLi4uCiAgIDMuIFJldHVybiA/IE9yZGluYXJ5U2V0KE8sIFAsIFYsIFJlY2VpdmVy
KS4KIGluY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXkuanNdCi1mZWF0dXJlczogW1JlZmxlY3QsIFR5
cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1ZmZlci1zZW1hbnRpY3Mtd2l0
aC13ZWItcmVhbGl0eSwgUmVmbGVjdCwgVHlwZWRBcnJheV0KIC0tLSovCiAKIHZhciBrZXlzID0g
WwpAQCAtMzEsMTYgKzMxLDE2IEBAIHRlc3RXaXRoVHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5j
dGlvbihUQSkgewogICAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgICBSZWZsZWN0LnNldChzYW1w
bGUsIGtleSwgImVjbWEyNjIiKSwKICAgICAgIHRydWUsCi0gICAgICAiUmV0dXJuIHRydWUgc2V0
dGluZyBhIG5ldyBwcm9wZXJ0eSBbIiArIGtleSArICJdIgorICAgICAgJ1JlZmxlY3Quc2V0KHNh
bXBsZSwga2V5LCAiZWNtYTI2MiIpIG11c3QgcmV0dXJuIHRydWUnCiAgICAgKTsKLSAgICBhc3Nl
cnQuc2FtZVZhbHVlKHNhbXBsZVtrZXldLCAiZWNtYTI2MiIpOworICAgIGFzc2VydC5zYW1lVmFs
dWUoc2FtcGxlW2tleV0sICJlY21hMjYyIiwgJ1RoZSB2YWx1ZSBvZiBzYW1wbGVba2V5XSBpcyAi
ZWNtYTI2MiInKTsKIAogICAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgICBSZWZsZWN0LnNldChz
YW1wbGUsIGtleSwgImVzMzAwMCIpLAogICAgICAgdHJ1ZSwKLSAgICAgICJSZXR1cm4gdHJ1ZSBz
ZXR0aW5nIGEgdmFsdWUgdG8gYSB3cml0YWJsZSBwcm9wZXJ0eSBbIiArIGtleSArICJdIgorICAg
ICAgJ1JlZmxlY3Quc2V0KHNhbXBsZSwga2V5LCAiZXMzMDAwIikgbXVzdCByZXR1cm4gdHJ1ZScK
ICAgICApOwotICAgIGFzc2VydC5zYW1lVmFsdWUoc2FtcGxlW2tleV0sICJlczMwMDAiKTsKKyAg
ICBhc3NlcnQuc2FtZVZhbHVlKHNhbXBsZVtrZXldLCAiZXMzMDAwIiwgJ1RoZSB2YWx1ZSBvZiBz
YW1wbGVba2V5XSBpcyAiZXMzMDAwIicpOwogCiAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNh
bXBsZSwga2V5LCB7CiAgICAgICB3cml0YWJsZTogZmFsc2UsCkBAIC00OSwxMCArNDksMTAgQEAg
dGVzdFdpdGhUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CiAgICAgYXNzZXJ0
LnNhbWVWYWx1ZSgKICAgICAgIFJlZmxlY3Quc2V0KHNhbXBsZSwga2V5LCA0MiksCiAgICAgICBm
YWxzZSwKLSAgICAgICJSZXR1cm4gZmFsc2Ugc2V0dGluZyBhIHZhbHVlIHRvIGEgbm9uLXdyaXRh
YmxlIHByb3BlcnR5IFsiICsga2V5ICsgIl0iCisgICAgICAnUmVmbGVjdC5zZXQoc2FtcGxlLCBr
ZXksIDQyKSBtdXN0IHJldHVybiBmYWxzZScKICAgICApOwogICAgIGFzc2VydC5zYW1lVmFsdWUo
Ci0gICAgICBzYW1wbGVba2V5XSwgdW5kZWZpbmVkLCAibm9uLXdyaXRhYmxlIFsiICsga2V5ICsg
Il0gaXMgcHJlc2VydmVkIgorICAgICAgc2FtcGxlW2tleV0sIHVuZGVmaW5lZCwgJ1RoZSB2YWx1
ZSBvZiBzYW1wbGVba2V5XSBpcyBleHBlY3RlZCB0byBlcXVhbCBgdW5kZWZpbmVkYCcKICAgICAp
OwogICB9KTsKIH0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9rZXktaXMtbm90LWludGVnZXIu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9y
cy9pbnRlcm5hbHMvU2V0L2tleS1pcy1ub3QtaW50ZWdlci5qcwppbmRleCAyNTIyMjBmNjFkOTk5
Y2Y2OTIxZTIzYjY4YTJjNzFiYzUzYWQ2MzdiLi5hMTJjYmRjNDMyZDAxZTVmMmNlZDc3ZmNlNzhi
NGY0ZGRkOTA4ZDRmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
VHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L2tleS1pcy1ub3QtaW50ZWdlci5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVj
dG9ycy9pbnRlcm5hbHMvU2V0L2tleS1pcy1ub3QtaW50ZWdlci5qcwpAQCAtMjAsMTkgKzIwLDE5
IEBAIGluZm86IHwKICAgNi4gSWYgSXNJbnRlZ2VyKGluZGV4KSBpcyBmYWxzZSwgcmV0dXJuIGZh
bHNlLgogICAuLi4KIGluY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXkuanNdCi1mZWF0dXJlczogW1Jl
ZmxlY3QsIFR5cGVkQXJyYXldCitmZWF0dXJlczogW2FsaWduLWRldGFjaGVkLWJ1ZmZlci1zZW1h
bnRpY3Mtd2l0aC13ZWItcmVhbGl0eSwgUmVmbGVjdCwgVHlwZWRBcnJheV0KIC0tLSovCiAKIHRl
c3RXaXRoVHlwZWRBcnJheUNvbnN0cnVjdG9ycyhmdW5jdGlvbihUQSkgewogICB2YXIgc2FtcGxl
ID0gbmV3IFRBKFs0Ml0pOwogCi0gIGFzc2VydC5zYW1lVmFsdWUoUmVmbGVjdC5zZXQoc2FtcGxl
LCAiMS4xIiwgMSksIGZhbHNlLCAiMS4xIik7Ci0gIGFzc2VydC5zYW1lVmFsdWUoUmVmbGVjdC5z
ZXQoc2FtcGxlLCAiMC4wMDAxIiwgMSksIGZhbHNlLCAiMC4wMDAxIik7CisgIGFzc2VydC5zYW1l
VmFsdWUoUmVmbGVjdC5zZXQoc2FtcGxlLCAiMS4xIiwgMSksIGZhbHNlLCAnUmVmbGVjdC5zZXQo
c2FtcGxlLCAiMS4xIiwgMSkgbXVzdCByZXR1cm4gZmFsc2UnKTsKKyAgYXNzZXJ0LnNhbWVWYWx1
ZShSZWZsZWN0LnNldChzYW1wbGUsICIwLjAwMDEiLCAxKSwgZmFsc2UsICdSZWZsZWN0LnNldChz
YW1wbGUsICIwLjAwMDEiLCAxKSBtdXN0IHJldHVybiBmYWxzZScpOwogCi0gIGFzc2VydC5zYW1l
VmFsdWUoc2FtcGxlLmhhc093blByb3BlcnR5KCIxLjEiKSwgZmFsc2UsICJoYXMgbm8gcHJvcGVy
dHkgWzEuMV0iKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShzYW1wbGUuaGFzT3duUHJvcGVydHkoIjEu
MSIpLCBmYWxzZSwgJ3NhbXBsZS5oYXNPd25Qcm9wZXJ0eSgiMS4xIikgbXVzdCByZXR1cm4gZmFs
c2UnKTsKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBzYW1wbGUuaGFzT3duUHJvcGVydHkoIjAu
MDAwMSIpLAogICAgIGZhbHNlLAotICAgICJoYXMgbm8gcHJvcGVydHkgWzAuMDAwMV0iCisgICAg
J3NhbXBsZS5oYXNPd25Qcm9wZXJ0eSgiMC4wMDAxIikgbXVzdCByZXR1cm4gZmFsc2UnCiAgICk7
CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFy
cmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQva2V5LWlzLW5vdC1udW1lcmljLWluZGV4LXNl
dC10aHJvd3MuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNv
bnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L2tleS1pcy1ub3QtbnVtZXJpYy1pbmRleC1zZXQtdGhy
b3dzLmpzCmluZGV4IGRiNzlhNzlkY2Y5YzhiYjZmNjMzMWRkMTA5NjRiOWI2MmZlZDA0NjguLmEx
NWI5MmYwNzJhZWNiNmNkYTcwMTMxMDgwOTkyYTgyYTEwZTc1NzAgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFs
cy9TZXQva2V5LWlzLW5vdC1udW1lcmljLWluZGV4LXNldC10aHJvd3MuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxz
L1NldC9rZXktaXMtbm90LW51bWVyaWMtaW5kZXgtc2V0LXRocm93cy5qcwpAQCAtMyw3ICszLDcg
QEAKIC8qLS0tCiBlc2lkOiBzZWMtaW50ZWdlci1pbmRleGVkLWV4b3RpYy1vYmplY3RzLXNldC1w
LXYtcmVjZWl2ZXIKIGRlc2NyaXB0aW9uOiA+Ci0gIFJldHVybnMgYWJydXB0IGZyb20gT3JnaW5h
cnlTZXQgd2hlbiBrZXkgaXMgbm90IGEgbnVtZXJpYyBpbmRleAorICBSZXR1cm5zIGFicnVwdCBm
cm9tIE9yZGluYXJ5U2V0IHdoZW4ga2V5IGlzIG5vdCBhIG51bWVyaWMgaW5kZXgKIGluZm86IHwK
ICAgOS40LjUuNSBbW1NldF1dICggUCwgViwgUmVjZWl2ZXIpCiAKQEAgLTIwLDcgKzIwLDcgQEAg
aW5mbzogfAogICA4LiBQZXJmb3JtID8gQ2FsbChzZXR0ZXIsIFJlY2VpdmVyLCDCqyBWIMK7KS4K
ICAgLi4uCiBpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5LmpzXQotZmVhdHVyZXM6IFtUeXBlZEFy
cmF5XQorZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2Vi
LXJlYWxpdHksIFR5cGVkQXJyYXldCiAtLS0qLwogCiB0ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1
Y3RvcnMoZnVuY3Rpb24oVEEpIHsKQEAgLTM0LDcgKzM0LDcgQEAgdGVzdFdpdGhUeXBlZEFycmF5
Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CiAKICAgYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJy
b3IsIGZ1bmN0aW9uKCkgewogICAgIHNhbXBsZS50ZXN0MjYyID0gMTsKLSAgfSk7CisgIH0sICdg
c2FtcGxlLnRlc3QyNjIgPSAxYCB0aHJvd3MgVGVzdDI2MkVycm9yJyk7CiAKLSAgYXNzZXJ0LnNh
bWVWYWx1ZShzYW1wbGUudGVzdDI2MiwgdW5kZWZpbmVkKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShz
YW1wbGUudGVzdDI2MiwgdW5kZWZpbmVkLCAnVGhlIHZhbHVlIG9mIHNhbXBsZS50ZXN0MjYyIGlz
IGV4cGVjdGVkIHRvIGVxdWFsIGB1bmRlZmluZWRgJyk7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFs
cy9TZXQva2V5LWlzLW5vdC1udW1lcmljLWluZGV4LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9rZXktaXMtbm90
LW51bWVyaWMtaW5kZXguanMKaW5kZXggNDYyZWI3NTJkMzQzNjIzOGExZWMzOWFmYTliYTQzN2Jk
OGJkMTM1YS4uZjM3MDU0MzJjNzU4N2EyOTEzNDgzMjkyNWE3NWFhYjUzNWM4N2VmMCAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3Rv
cnMvaW50ZXJuYWxzL1NldC9rZXktaXMtbm90LW51bWVyaWMtaW5kZXguanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxz
L1NldC9rZXktaXMtbm90LW51bWVyaWMtaW5kZXguanMKQEAgLTMsNyArMyw3IEBACiAvKi0tLQog
ZXNpZDogc2VjLWludGVnZXItaW5kZXhlZC1leG90aWMtb2JqZWN0cy1zZXQtcC12LXJlY2VpdmVy
CiBkZXNjcmlwdGlvbjogPgotICBVc2UgT3JnaW5hcnlTZXQgaWYga2V5IGlzIG5vdCBhIENhbm9u
aWNhbE51bWVyaWNJbmRleAorICBVc2UgT3JkaW5hcnlTZXQgaWYga2V5IGlzIG5vdCBhIENhbm9u
aWNhbE51bWVyaWNJbmRleAogaW5mbzogfAogICA5LjQuNS41IFtbU2V0XV0gKCBQLCBWLCBSZWNl
aXZlcikKIApAQCAtMTQsNyArMTQsNyBAQCBpbmZvOiB8CiAgIC4uLgogICAzLiBSZXR1cm4gPyBP
cmRpbmFyeVNldChPLCBQLCBWLCBSZWNlaXZlcikuCiBpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5
LmpzXQotZmVhdHVyZXM6IFtSZWZsZWN0LCBUeXBlZEFycmF5XQorZmVhdHVyZXM6IFthbGlnbi1k
ZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxpdHksIFJlZmxlY3QsIFR5cGVk
QXJyYXldCiAtLS0qLwogCiB0ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24o
VEEpIHsKQEAgLTIzLDE2ICsyMywxNiBAQCB0ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMo
ZnVuY3Rpb24oVEEpIHsKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBSZWZsZWN0LnNldChzYW1w
bGUsICJ0ZXN0MjYyIiwgImVjbWEyNjIiKSwKICAgICB0cnVlLAotICAgICJSZXR1cm4gdHJ1ZSBz
ZXR0aW5nIGEgbmV3IHByb3BlcnR5IgorICAgICdSZWZsZWN0LnNldChzYW1wbGUsICJ0ZXN0MjYy
IiwgImVjbWEyNjIiKSBtdXN0IHJldHVybiB0cnVlJwogICApOwotICBhc3NlcnQuc2FtZVZhbHVl
KHNhbXBsZS50ZXN0MjYyLCAiZWNtYTI2MiIpOworICBhc3NlcnQuc2FtZVZhbHVlKHNhbXBsZS50
ZXN0MjYyLCAiZWNtYTI2MiIsICdUaGUgdmFsdWUgb2Ygc2FtcGxlLnRlc3QyNjIgaXMgImVjbWEy
NjIiJyk7CiAKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBSZWZsZWN0LnNldChzYW1wbGUsICJ0
ZXN0MjYyIiwgImVzMzAwMCIpLAogICAgIHRydWUsCi0gICAgIlJldHVybiB0cnVlIHNldHRpbmcg
YSB2YWx1ZSB0byBhIHdyaXRhYmxlIHByb3BlcnR5IgorICAgICdSZWZsZWN0LnNldChzYW1wbGUs
ICJ0ZXN0MjYyIiwgImVzMzAwMCIpIG11c3QgcmV0dXJuIHRydWUnCiAgICk7Ci0gIGFzc2VydC5z
YW1lVmFsdWUoc2FtcGxlLnRlc3QyNjIsICJlczMwMDAiKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShz
YW1wbGUudGVzdDI2MiwgImVzMzAwMCIsICdUaGUgdmFsdWUgb2Ygc2FtcGxlLnRlc3QyNjIgaXMg
ImVzMzAwMCInKTsKIAogICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2FtcGxlLCAiZm9vIiwgewog
ICAgIHdyaXRhYmxlOiBmYWxzZSwKQEAgLTQxLDcgKzQxLDcgQEAgdGVzdFdpdGhUeXBlZEFycmF5
Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7CiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgUmVm
bGVjdC5zZXQoc2FtcGxlLCAiZm9vIiwgNDIpLAogICAgIGZhbHNlLAotICAgICJSZXR1cm4gZmFs
c2Ugc2V0dGluZyBhIHZhbHVlIHRvIGEgbm9uLXdyaXRhYmxlIHByb3BlcnR5IgorICAgICdSZWZs
ZWN0LnNldChzYW1wbGUsICJmb28iLCA0MikgbXVzdCByZXR1cm4gZmFsc2UnCiAgICk7Ci0gIGFz
c2VydC5zYW1lVmFsdWUoc2FtcGxlLmZvbywgdW5kZWZpbmVkKTsKKyAgYXNzZXJ0LnNhbWVWYWx1
ZShzYW1wbGUuZm9vLCB1bmRlZmluZWQsICdUaGUgdmFsdWUgb2Ygc2FtcGxlLmZvbyBpcyBleHBl
Y3RlZCB0byBlcXVhbCBgdW5kZWZpbmVkYCcpOwogfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0
L2tleS1pcy1vdXQtb2YtYm91bmRzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9rZXktaXMtb3V0LW9mLWJvdW5k
cy5qcwppbmRleCBlNWE1ZDZkYTg1NGEyZmY0Mzk2ZWFmNjQwYjk3ZTVjMTAzOWRiNTNiLi5jZTk5
YWQxYTI2NjUyZWY5NDY5NDM0NzA1NzBkZGYzNTliMmNjNThlIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMv
U2V0L2tleS1pcy1vdXQtb2YtYm91bmRzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQva2V5LWlzLW91dC1v
Zi1ib3VuZHMuanMKQEAgLTIxLDE3ICsyMSwxNyBAQCBpbmZvOiB8CiAgIDkuIElmIGluZGV4IDwg
MCBvciBpbmRleCDiiaUgbGVuZ3RoLCByZXR1cm4gZmFsc2UuCiAgIC4uLgogaW5jbHVkZXM6IFt0
ZXN0VHlwZWRBcnJheS5qc10KLWZlYXR1cmVzOiBbUmVmbGVjdCwgVHlwZWRBcnJheV0KK2ZlYXR1
cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBS
ZWZsZWN0LCBUeXBlZEFycmF5XQogLS0tKi8KIAogdGVzdFdpdGhUeXBlZEFycmF5Q29uc3RydWN0
b3JzKGZ1bmN0aW9uKFRBKSB7CiAgIHZhciBzYW1wbGUgPSBuZXcgVEEoWzQyXSk7CiAKLSAgYXNz
ZXJ0LnNhbWVWYWx1ZShSZWZsZWN0LnNldChzYW1wbGUsICItMSIsIDEpLCBmYWxzZSwgIi0xIik7
Ci0gIGFzc2VydC5zYW1lVmFsdWUoUmVmbGVjdC5zZXQoc2FtcGxlLCAiMSIsIDEpLCBmYWxzZSwg
IjEiKTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShSZWZsZWN0LnNldChzYW1wbGUsICIyIiwgMSksIGZh
bHNlLCAiMiIpOworICBhc3NlcnQuc2FtZVZhbHVlKFJlZmxlY3Quc2V0KHNhbXBsZSwgIi0xIiwg
MSksIGZhbHNlLCAnUmVmbGVjdC5zZXQoc2FtcGxlLCAiLTEiLCAxKSBtdXN0IHJldHVybiBmYWxz
ZScpOworICBhc3NlcnQuc2FtZVZhbHVlKFJlZmxlY3Quc2V0KHNhbXBsZSwgIjEiLCAxKSwgZmFs
c2UsICdSZWZsZWN0LnNldChzYW1wbGUsICIxIiwgMSkgbXVzdCByZXR1cm4gZmFsc2UnKTsKKyAg
YXNzZXJ0LnNhbWVWYWx1ZShSZWZsZWN0LnNldChzYW1wbGUsICIyIiwgMSksIGZhbHNlLCAnUmVm
bGVjdC5zZXQoc2FtcGxlLCAiMiIsIDEpIG11c3QgcmV0dXJuIGZhbHNlJyk7CiAKLSAgYXNzZXJ0
LnNhbWVWYWx1ZShzYW1wbGUuaGFzT3duUHJvcGVydHkoIi0xIiksIGZhbHNlLCAiaGFzIG5vIHBy
b3BlcnR5IFstMV0iKTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShzYW1wbGUuaGFzT3duUHJvcGVydHko
IjEiKSwgZmFsc2UsICJoYXMgbm8gcHJvcGVydHkgWzFdIik7Ci0gIGFzc2VydC5zYW1lVmFsdWUo
c2FtcGxlLmhhc093blByb3BlcnR5KCIyIiksIGZhbHNlLCAiaGFzIG5vIHByb3BlcnR5IFsyXSIp
OworICBhc3NlcnQuc2FtZVZhbHVlKHNhbXBsZS5oYXNPd25Qcm9wZXJ0eSgiLTEiKSwgZmFsc2Us
ICdzYW1wbGUuaGFzT3duUHJvcGVydHkoIi0xIikgbXVzdCByZXR1cm4gZmFsc2UnKTsKKyAgYXNz
ZXJ0LnNhbWVWYWx1ZShzYW1wbGUuaGFzT3duUHJvcGVydHkoIjEiKSwgZmFsc2UsICdzYW1wbGUu
aGFzT3duUHJvcGVydHkoIjEiKSBtdXN0IHJldHVybiBmYWxzZScpOworICBhc3NlcnQuc2FtZVZh
bHVlKHNhbXBsZS5oYXNPd25Qcm9wZXJ0eSgiMiIpLCBmYWxzZSwgJ3NhbXBsZS5oYXNPd25Qcm9w
ZXJ0eSgiMiIpIG11c3QgcmV0dXJuIGZhbHNlJyk7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9T
ZXQva2V5LWlzLXN5bWJvbC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQva2V5LWlzLXN5bWJvbC5qcwppbmRleCA4
MzhhYjc0ZTBiYmNkZGY0NGNmNDZlNTQyMGE2NzVjMzkzZmQ1MDhkLi4wMjlmY2FjODJkMmZiNDVl
MjI3OTcwMjZjMWMwNDA1ZTQyZmJhMTc0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9idWlsdC1pbnMvVHlwZWRBcnJheUNvbnN0cnVjdG9ycy9pbnRlcm5hbHMvU2V0L2tleS1pcy1z
eW1ib2wuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlD
b25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC9rZXktaXMtc3ltYm9sLmpzCkBAIC0zLDcgKzMsNyBA
QAogLyotLS0KIGVzaWQ6IHNlYy1pbnRlZ2VyLWluZGV4ZWQtZXhvdGljLW9iamVjdHMtc2V0LXAt
di1yZWNlaXZlcgogZGVzY3JpcHRpb246ID4KLSAgVXNlIE9yZ2luYXJ5U2V0IGlmIGtleSBpcyBh
IFN5bWJvbAorICBVc2UgT3JkaW5hcnlTZXQgaWYga2V5IGlzIGEgU3ltYm9sCiBpbmZvOiB8CiAg
IDkuNC41LjUgW1tTZXRdXSAoIFAsIFYsIFJlY2VpdmVyKQogCkBAIC0xMiw3ICsxMiw3IEBAIGlu
Zm86IHwKICAgLi4uCiAgIDMuIFJldHVybiA/IE9yZGluYXJ5U2V0KE8sIFAsIFYsIFJlY2VpdmVy
KS4KIGluY2x1ZGVzOiBbdGVzdFR5cGVkQXJyYXkuanNdCi1mZWF0dXJlczogW1JlZmxlY3QsIFN5
bWJvbCwgVHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVmZmVyLXNlbWFu
dGljcy13aXRoLXdlYi1yZWFsaXR5LCBSZWZsZWN0LCBTeW1ib2wsIFR5cGVkQXJyYXldCiAtLS0q
LwogCiB2YXIgczEgPSBTeW1ib2woIjEiKTsKQEAgLTI0LDE2ICsyNCwxNiBAQCB0ZXN0V2l0aFR5
cGVkQXJyYXlDb25zdHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKICAgYXNzZXJ0LnNhbWVWYWx1ZSgK
ICAgICBSZWZsZWN0LnNldChzYW1wbGUsIHMxLCAiZWNtYTI2MiIpLAogICAgIHRydWUsCi0gICAg
IlJldHVybiB0cnVlIHNldHRpbmcgYSBuZXcgcHJvcGVydHkiCisgICAgJ1JlZmxlY3Quc2V0KHNh
bXBsZSwgIlN5bWJvbChcXCIxXFwiKSIsICJlY21hMjYyIikgbXVzdCByZXR1cm4gdHJ1ZScKICAg
KTsKLSAgYXNzZXJ0LnNhbWVWYWx1ZShzYW1wbGVbczFdLCAiZWNtYTI2MiIpOworICBhc3NlcnQu
c2FtZVZhbHVlKHNhbXBsZVtzMV0sICJlY21hMjYyIiwgJ1RoZSB2YWx1ZSBvZiBzYW1wbGVbczFd
IGlzICJlY21hMjYyIicpOwogCiAgIGFzc2VydC5zYW1lVmFsdWUoCiAgICAgUmVmbGVjdC5zZXQo
c2FtcGxlLCBzMSwgImVzMzAwMCIpLAogICAgIHRydWUsCi0gICAgIlJldHVybiB0cnVlIHNldHRp
bmcgYSB2YWx1ZSB0byBhIHdyaXRhYmxlIHByb3BlcnR5IgorICAgICdSZWZsZWN0LnNldChzYW1w
bGUsICJTeW1ib2woXFwiMVxcIikiLCAiZXMzMDAwIikgbXVzdCByZXR1cm4gdHJ1ZScKICAgKTsK
LSAgYXNzZXJ0LnNhbWVWYWx1ZShzYW1wbGVbczFdLCAiZXMzMDAwIik7CisgIGFzc2VydC5zYW1l
VmFsdWUoc2FtcGxlW3MxXSwgImVzMzAwMCIsICdUaGUgdmFsdWUgb2Ygc2FtcGxlW3MxXSBpcyAi
ZXMzMDAwIicpOwogCiAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzYW1wbGUsIHMyLCB7CiAgICAg
d3JpdGFibGU6IGZhbHNlLApAQCAtNDIsNyArNDIsNyBAQCB0ZXN0V2l0aFR5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMoZnVuY3Rpb24oVEEpIHsKICAgYXNzZXJ0LnNhbWVWYWx1ZSgKICAgICBSZWZsZWN0
LnNldChzYW1wbGUsIHMyLCA0MiksCiAgICAgZmFsc2UsCi0gICAgIlJldHVybiBmYWxzZSBzZXR0
aW5nIGEgdmFsdWUgdG8gYSBub24td3JpdGFibGUgcHJvcGVydHkiCisgICAgJ1JlZmxlY3Quc2V0
KHNhbXBsZSwgIlN5bWJvbChcXCIyXFwiKSIsIDQyKSBtdXN0IHJldHVybiBmYWxzZScKICAgKTsK
LSAgYXNzZXJ0LnNhbWVWYWx1ZShzYW1wbGVbczJdLCB1bmRlZmluZWQpOworICBhc3NlcnQuc2Ft
ZVZhbHVlKHNhbXBsZVtzMl0sIHVuZGVmaW5lZCwgJ1RoZSB2YWx1ZSBvZiBzYW1wbGVbczJdIGlz
IGV4cGVjdGVkIHRvIGVxdWFsIGB1bmRlZmluZWRgJyk7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBlZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFs
cy9TZXQvdG9udW1iZXItdmFsdWUtZGV0YWNoZWQtYnVmZmVyLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC90b251
bWJlci12YWx1ZS1kZXRhY2hlZC1idWZmZXIuanMKaW5kZXggNzU2MGIzMTA1ZTU3MTAyM2M3ZDE2
NmFhN2U5N2ZkNTI1Y2ZhODY1NS4uNzYzMTU2ZDA5NmU1YjBhZmJjNDA5YjBiZjI0NzZjYTA0OTM1
MWJjNCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJy
YXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC90b251bWJlci12YWx1ZS1kZXRhY2hlZC1idWZm
ZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC90b251bWJlci12YWx1ZS1kZXRhY2hlZC1idWZmZXIuanMK
QEAgLTQsOSArNCw4IEBACiAvKi0tLQogZXNpZDogc2VjLWludGVnZXItaW5kZXhlZC1leG90aWMt
b2JqZWN0cy1zZXQtcC12LXJlY2VpdmVyCiBkZXNjcmlwdGlvbjogPgotICAgIFNldHRpbmcgYSB0
eXBlZCBhcnJheSBlbGVtZW50IHRvIGEgdmFsdWUgdGhhdCwgd2hlbiBjb252ZXJ0ZWQgdG8gdGhl
IHR5cGVkCi0gICAgYXJyYXkgZWxlbWVudCB0eXBlLCBkZXRhY2hlcyB0aGUgdHlwZWQgYXJyYXkn
cyB1bmRlcmx5aW5nIGJ1ZmZlciwgc2hvdWxkCi0gICAgdGhyb3cgYSBUeXBlRXJyb3IgYW5kIG5v
dCBtb2RpZnkgdGhlIHR5cGVkIGFycmF5LgorICBTZXR0aW5nIGEgdHlwZWQgYXJyYXkgZWxlbWVu
dCB0byBhIHZhbHVlIHRoYXQsIHdoZW4gY29udmVydGVkIHRvIHRoZSB0eXBlZAorICBhcnJheSBl
bGVtZW50IHR5cGUsIGRldGFjaGVzIHRoZSB0eXBlZCBhcnJheSdzIHVuZGVybHlpbmcgYnVmZmVy
LCBzaG91bGQgcmV0dXJuIGZhbHNlLgogaW5mbzogfAogICA5LjQuNS41IFtbU2V0XV0gKCBQLCBW
LCBSZWNlaXZlcikKIApAQCAtMTksMjggKzE4LDI2IEBAIGluZm86IHwKIAogICA5LjQuNS45IElu
dGVnZXJJbmRleGVkRWxlbWVudFNldCAoIE8sIGluZGV4LCB2YWx1ZSApCiAKLSAgLi4uCi0gIDE1
LiBQZXJmb3JtIFNldFZhbHVlSW5CdWZmZXIoYnVmZmVyLCBpbmRleGVkUG9zaXRpb24sIGVsZW1l
bnRUeXBlLCBudW1WYWx1ZSkuCi0gIDE2LiBSZXR1cm4gdHJ1ZS4KKyAgQXNzZXJ0OiBPIGlzIGFu
IEludGVnZXItSW5kZXhlZCBleG90aWMgb2JqZWN0LgorICBBc3NlcnQ6IFR5cGUoaW5kZXgpIGlz
IE51bWJlci4KKyAgSWYgTy5bW0NvbnRlbnRUeXBlXV0gaXMgQmlnSW50LCBsZXQgbnVtVmFsdWUg
YmUgPyBUb0JpZ0ludCh2YWx1ZSkuCisgIE90aGVyd2lzZSwgbGV0IG51bVZhbHVlIGJlID8gVG9O
dW1iZXIodmFsdWUpLgorICBMZXQgYnVmZmVyIGJlIE8uW1tWaWV3ZWRBcnJheUJ1ZmZlcl1dLgor
ICBJZiBJc0RldGFjaGVkQnVmZmVyKGJ1ZmZlcikgaXMgdHJ1ZSwgcmV0dXJuIGZhbHNlLgorCiBp
bmNsdWRlczogW3Rlc3RUeXBlZEFycmF5LmpzLCBkZXRhY2hBcnJheUJ1ZmZlci5qc10KLWZlYXR1
cmVzOiBbUmVmbGVjdCwgVHlwZWRBcnJheV0KK2ZlYXR1cmVzOiBbYWxpZ24tZGV0YWNoZWQtYnVm
ZmVyLXNlbWFudGljcy13aXRoLXdlYi1yZWFsaXR5LCBSZWZsZWN0LCBUeXBlZEFycmF5XQogLS0t
Ki8KIAogdGVzdFdpdGhUeXBlZEFycmF5Q29uc3RydWN0b3JzKGZ1bmN0aW9uKFRBKSB7Ci0gIHZh
ciB0YSA9IG5ldyBUQShbMTddKTsKLQotICBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rp
b24oKSB7Ci0gICAgUmVmbGVjdC5zZXQodGEsIDAsIHsKLSAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9u
KCkgewotICAgICAgICAkREVUQUNIQlVGRkVSKHRhLmJ1ZmZlcik7Ci0gICAgICAgIHJldHVybiA0
MjsKLSAgICAgIH0KLSAgICB9KTsKLSAgfSwKLSAgImRldGFjaGluZyBhIEFycmF5QnVmZmVyIGR1
cmluZyBzZXR0aW5nIGFuIGVsZW1lbnQgb2YgYSB0eXBlZCBhcnJheSAiICsKLSAgInZpZXdpbmcg
aXQgc2hvdWxkIHRocm93Iik7Ci0KLSAgYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9u
KCkgewotICAgIHRhWzBdOworICBsZXQgdGEgPSBuZXcgVEEoMSk7CisgIGxldCByZXN1bHQgPSBS
ZWZsZWN0LnNldCh0YSwgMCwgeworICAgIHZhbHVlT2YoKSB7CisgICAgICAkREVUQUNIQlVGRkVS
KHRhLmJ1ZmZlcik7CisgICAgICByZXR1cm4gNDI7CisgICAgfQogICB9KTsKKworICBhc3NlcnQu
c2FtZVZhbHVlKHJlc3VsdCwgZmFsc2UpOworICBhc3NlcnQuc2FtZVZhbHVlKHRhWzBdLCBmYWxz
ZSk7CiB9KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9UeXBl
ZEFycmF5Q29uc3RydWN0b3JzL2ludGVybmFscy9TZXQvdG9udW1iZXItdmFsdWUtdGhyb3dzLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMv
aW50ZXJuYWxzL1NldC90b251bWJlci12YWx1ZS10aHJvd3MuanMKaW5kZXggMDgxMzFmNGJmMzky
MTVlZGIyMDVkYmVmMGVlODNjMGRlZjg2MGYwMy4uMDlmNDNjMDJmNjJiZjMzMmM1MGMxZTM3MjY3
ZjM1Yzc1ZDMxYTRmOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1R5cGVkQXJyYXlDb25zdHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC90b251bWJlci12YWx1ZS10aHJv
d3MuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1R5cGVkQXJyYXlDb25z
dHJ1Y3RvcnMvaW50ZXJuYWxzL1NldC90b251bWJlci12YWx1ZS10aHJvd3MuanMKQEAgLTE0LDQ1
ICsxNCw0NyBAQCBpbmZvOiB8CiAgICAgICBpLiBSZXR1cm4gPyBJbnRlZ2VySW5kZXhlZEVsZW1l
bnRTZXQoTywgbnVtZXJpY0luZGV4LCBWKS4KICAgLi4uCiAKLSAgOS40LjUuOSBJbnRlZ2VySW5k
ZXhlZEVsZW1lbnRTZXQgKCBPLCBpbmRleCwgdmFsdWUgKQorICBJbnRlZ2VySW5kZXhlZEVsZW1l
bnRTZXQgKCBPLCBpbmRleCwgdmFsdWUgKQogCi0gIC4uLgotICAzLiBMZXQgbnVtVmFsdWUgYmUg
PyBUb051bWJlcih2YWx1ZSkuCisgIEFzc2VydDogTyBpcyBhbiBJbnRlZ2VyLUluZGV4ZWQgZXhv
dGljIG9iamVjdC4KKyAgQXNzZXJ0OiBUeXBlKGluZGV4KSBpcyBOdW1iZXIuCisgIElmIE8uW1tD
b250ZW50VHlwZV1dIGlzIEJpZ0ludCwgbGV0IG51bVZhbHVlIGJlID8gVG9CaWdJbnQodmFsdWUp
LgorICBPdGhlcndpc2UsIGxldCBudW1WYWx1ZSBiZSA/IFRvTnVtYmVyKHZhbHVlKS4KICAgLi4u
CiBpbmNsdWRlczogW3Rlc3RUeXBlZEFycmF5LmpzXQotZmVhdHVyZXM6IFtUeXBlZEFycmF5XQor
ZmVhdHVyZXM6IFthbGlnbi1kZXRhY2hlZC1idWZmZXItc2VtYW50aWNzLXdpdGgtd2ViLXJlYWxp
dHksIFR5cGVkQXJyYXldCiAtLS0qLwogCiB0ZXN0V2l0aFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMo
ZnVuY3Rpb24oVEEpIHsKLSAgdmFyIHNhbXBsZSA9IG5ldyBUQShbNDJdKTsKKyAgbGV0IHNhbXBs
ZSA9IG5ldyBUQShbNDJdKTsKIAotICB2YXIgb2JqID0gewotICAgIHZhbHVlT2Y6IGZ1bmN0aW9u
KCkgeworICBsZXQgb2JqID0geworICAgIHZhbHVlT2YoKSB7CiAgICAgICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCk7CiAgICAgfQogICB9OwogCiAgIGFzc2VydC50aHJvd3MoVGVzdDI2MkVycm9y
LCBmdW5jdGlvbigpIHsKICAgICBzYW1wbGVbIjAiXSA9IG9iajsKLSAgfSwgIlRvTnVtYmVyIGNo
ZWNrIHdpdGggYSB2YWxpZCBpbmRleCIpOworICB9LCAnYHNhbXBsZVsiMCJdID0gb2JqYCB0aHJv
d3MgVGVzdDI2MkVycm9yJyk7CiAKICAgYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsIGZ1bmN0
aW9uKCkgewogICAgIHNhbXBsZVsiMS4xIl0gPSBvYmo7Ci0gIH0sICJUb051bWJlciBydW5zIGJl
Zm9yZSBUb0ludGVnZXIoaW5kZXgpIik7CisgIH0sICdgc2FtcGxlWyIxLjEiXSA9IG9iamAgdGhy
b3dzIFRlc3QyNjJFcnJvcicpOwogCiAgIGFzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5j
dGlvbigpIHsKICAgICBzYW1wbGVbIi0wIl0gPSBvYmo7Ci0gIH0sICJUb051bWJlciBydW5zIGJl
Zm9yZSAtMCBjaGVjayIpOworICB9LCAnYHNhbXBsZVsiLTAiXSA9IG9iamAgdGhyb3dzIFRlc3Qy
NjJFcnJvcicpOwogCiAgIGFzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsK
ICAgICBzYW1wbGVbIi0xIl0gPSBvYmo7Ci0gIH0sICJUb051bWJlciBydW5zIGJlZm9yZSA8IDAg
Y2hlY2siKTsKKyAgfSwgJ2BzYW1wbGVbIi0xIl0gPSBvYmpgIHRocm93cyBUZXN0MjYyRXJyb3In
KTsKIAogICBhc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgZnVuY3Rpb24oKSB7CiAgICAgc2Ft
cGxlWyIxIl0gPSBvYmo7Ci0gIH0sICJUb051bWJlciBydW5zIGJlZm9yZSBpbmRleCA9PSBsZW5n
dGggY2hlY2siKTsKKyAgfSwgJ2BzYW1wbGVbIjEiXSA9IG9iamAgdGhyb3dzIFRlc3QyNjJFcnJv
cicpOwogCiAgIGFzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCBmdW5jdGlvbigpIHsKICAgICBz
YW1wbGVbIjIiXSA9IG9iajsKLSAgfSwgIlRvTnVtYmVyIHJ1bnMgYmVmb3JlIGluZGV4ID4gbGVu
Z3RoIGNoZWNrIik7CisgIH0sICdgc2FtcGxlWyIyIl0gPSBvYmpgIHRocm93cyBUZXN0MjYyRXJy
b3InKTsKIH0pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1dl
YWtNYXAvaXMtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9XZWFrTWFwL2lzLWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmRhMDg3YjE0MTgwZjky
Y2UzNTE0NWExMTI0YWM2YTcwZmMwMGY5MQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9XZWFrTWFwL2lzLWEtY29uc3RydWN0b3IuanMKQEAgLTAsMCAr
MSwyNCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0
YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFRoZSBXZWFrTWFwIGNv
bnN0cnVjdG9yIGltcGxlbWVudHMgW1tDb25zdHJ1Y3RdXQoraW5mbzogfAorICBJc0NvbnN0cnVj
dG9yICggYXJndW1lbnQgKQorCisgIFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gSXNDb25zdHJ1Y3Rv
ciB0YWtlcyBhcmd1bWVudCBhcmd1bWVudCAoYW4gRUNNQVNjcmlwdCBsYW5ndWFnZSB2YWx1ZSku
CisgIEl0IGRldGVybWluZXMgaWYgYXJndW1lbnQgaXMgYSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBh
IFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLgorICBJdCBwZXJmb3JtcyB0aGUgZm9sbG93
aW5nIHN0ZXBzIHdoZW4gY2FsbGVkOgorCisgIElmIFR5cGUoYXJndW1lbnQpIGlzIG5vdCBPYmpl
Y3QsIHJldHVybiBmYWxzZS4KKyAgSWYgYXJndW1lbnQgaGFzIGEgW1tDb25zdHJ1Y3RdXSBpbnRl
cm5hbCBtZXRob2QsIHJldHVybiB0cnVlLgorICBSZXR1cm4gZmFsc2UuCitpbmNsdWRlczogW2lz
Q29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBXZWFrTWFwXQor
LS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKFdlYWtNYXApLCB0cnVlLCAn
aXNDb25zdHJ1Y3RvcihXZWFrTWFwKSBtdXN0IHJldHVybiB0cnVlJyk7CituZXcgV2Vha01hcCgp
OworICAKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9XZWFrTWFw
L3Byb3RvdHlwZS9kZWxldGUvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvV2Vha01hcC9wcm90b3R5cGUvZGVsZXRlL25vdC1hLWNvbnN0cnVjdG9y
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmY1MWFkM2YxYmVlMjJhNWQ1M2NhNmNlMTc2YmJjYzY5MDVlZTdiYjkK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvV2Vha01h
cC9wcm90b3R5cGUvZGVsZXRlL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRo
ZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1i
dWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBXZWFrTWFwLnByb3RvdHlwZS5kZWxl
dGUgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5m
bzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlv
biBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QK
KyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3Ro
ZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1
bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVj
dG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgor
ICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5j
b25zdHJ1Y3QsIFdlYWtNYXAsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVW
YWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihXZWFrTWFwLnByb3RvdHlwZS5kZWxldGUpLAorICBmYWxz
ZSwKKyAgJ2lzQ29uc3RydWN0b3IoV2Vha01hcC5wcm90b3R5cGUuZGVsZXRlKSBtdXN0IHJldHVy
biBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCB3
bSA9IG5ldyBXZWFrTWFwKCk7IG5ldyB3bS5kZWxldGUoKTsKK30sICdgbGV0IHdtID0gbmV3IFdl
YWtNYXAoKTsgbmV3IHdtLmRlbGV0ZSgpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9XZWFrTWFwL3Byb3RvdHlwZS9nZXQv
bm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvV2Vh
a01hcC9wcm90b3R5cGUvZ2V0L25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQyN2Nj
MjgwYTJiZGRiN2MyZGEzZTc0NTQwYjU1OWNjNzQ1NDYzMzYKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvV2Vha01hcC9wcm90b3R5cGUvZ2V0L25vdC1h
LWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBS
aWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0t
Citlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlw
dGlvbjogPgorICBXZWFrTWFwLnByb3RvdHlwZS5nZXQgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29u
c3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9u
IE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVu
dGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVj
dF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUg
ZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5l
dworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwg
dGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1
Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIFdlYWtNYXAsIGFycm93LWZ1
bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihXZWFr
TWFwLnByb3RvdHlwZS5nZXQpLAorICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoV2Vha01hcC5w
cm90b3R5cGUuZ2V0KSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCAoKSA9PiB7CisgIGxldCB3bSA9IG5ldyBXZWFrTWFwKCk7IG5ldyB3bS5nZXQoKTsK
K30sICdgbGV0IHdtID0gbmV3IFdlYWtNYXAoKTsgbmV3IHdtLmdldCgpYCB0aHJvd3MgVHlwZUVy
cm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9XZWFr
TWFwL3Byb3RvdHlwZS9oYXMvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9idWlsdC1pbnMvV2Vha01hcC9wcm90b3R5cGUvaGFzL25vdC1hLWNvbnN0cnVjdG9yLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmQ4YTFkYTJiMGM4MzQ1MGEyYzdjMjNiMDk1NjFjOGY3NWQ4ZTZmNWUKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvV2Vha01hcC9w
cm90b3R5cGUvaGFzL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENv
cHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBU
aGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1p
bi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBXZWFrTWFwLnByb3RvdHlwZS5oYXMgZG9lcyBu
b3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAorICBF
Q01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmplY3Rz
IHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1wbGVt
ZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNlIHNw
ZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9uLgor
CisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNvbnN0
cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4KK2lu
Y2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3Qs
IFdlYWtNYXAsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAg
aXNDb25zdHJ1Y3RvcihXZWFrTWFwLnByb3RvdHlwZS5oYXMpLAorICBmYWxzZSwKKyAgJ2lzQ29u
c3RydWN0b3IoV2Vha01hcC5wcm90b3R5cGUuaGFzKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisK
K2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCB3bSA9IG5ldyBXZWFrTWFw
KCk7IG5ldyB3bS5oYXMoKTsKK30sICdgbGV0IHdtID0gbmV3IFdlYWtNYXAoKTsgbmV3IHdtLmhh
cygpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9XZWFrTWFwL3Byb3RvdHlwZS9zZXQvbm90LWEtY29uc3RydWN0b3IuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvV2Vha01hcC9wcm90b3R5cGUvc2V0L25v
dC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiMjZmMTBiYjg4MjZlNDFhOTUxZWFhYjRm
YzZjNzhmMDRhNDQzY2MKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvV2Vha01hcC9wcm90b3R5cGUvc2V0L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0w
LDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlw
dC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBXZWFrTWFwLnBy
b3RvdHlwZS5zZXQgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXct
YWJsZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1p
biBmdW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9y
cyBkbyBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1
bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0
aWN1bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJ
c0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhj
ZXB0aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBb
UmVmbGVjdC5jb25zdHJ1Y3QsIFdlYWtNYXAsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNz
ZXJ0LnNhbWVWYWx1ZSgKKyAgaXNDb25zdHJ1Y3RvcihXZWFrTWFwLnByb3RvdHlwZS5zZXQpLAor
ICBmYWxzZSwKKyAgJ2lzQ29uc3RydWN0b3IoV2Vha01hcC5wcm90b3R5cGUuc2V0KSBtdXN0IHJl
dHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxl
dCB3bSA9IG5ldyBXZWFrTWFwKCk7IG5ldyB3bS5zZXQoe30sIDEpOworfSwgJ2BsZXQgd20gPSBu
ZXcgV2Vha01hcCgpOyBuZXcgd20uc2V0KHt9LCAxKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvV2Vha1JlZi9pcy1hLWNv
bnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1dlYWtSZWYvaXMt
YS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wN2NmZDAxMzUzNjdkZjNlODFiNzY0ZGQ0MTU0
ODE5ZjgzYmU3YmZlCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL1dlYWtSZWYvaXMtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI0IEBACisvLyBD
b3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8g
VGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQt
aW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgVGhlIFdlYWtSZWYgY29uc3RydWN0b3IgaW1w
bGVtZW50cyBbW0NvbnN0cnVjdF1dCitpbmZvOiB8CisgIElzQ29uc3RydWN0b3IgKCBhcmd1bWVu
dCApCisKKyAgVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBJc0NvbnN0cnVjdG9yIHRha2VzIGFyZ3Vt
ZW50IGFyZ3VtZW50IChhbiBFQ01BU2NyaXB0IGxhbmd1YWdlIHZhbHVlKS4KKyAgSXQgZGV0ZXJt
aW5lcyBpZiBhcmd1bWVudCBpcyBhIGZ1bmN0aW9uIG9iamVjdCB3aXRoIGEgW1tDb25zdHJ1Y3Rd
XSBpbnRlcm5hbCBtZXRob2QuCisgIEl0IHBlcmZvcm1zIHRoZSBmb2xsb3dpbmcgc3RlcHMgd2hl
biBjYWxsZWQ6CisKKyAgSWYgVHlwZShhcmd1bWVudCkgaXMgbm90IE9iamVjdCwgcmV0dXJuIGZh
bHNlLgorICBJZiBhcmd1bWVudCBoYXMgYSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCwg
cmV0dXJuIHRydWUuCisgIFJldHVybiBmYWxzZS4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5q
c10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1Y3QsIFdlYWtSZWZdCistLS0qLworCithc3Nl
cnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoV2Vha1JlZiksIHRydWUsICdpc0NvbnN0cnVjdG9y
KFdlYWtSZWYpIG11c3QgcmV0dXJuIHRydWUnKTsKK25ldyBXZWFrUmVmKHt9KQorICAKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9XZWFrUmVmL3Byb3RvdHlwZS9k
ZXJlZi9nYy1jbGVhbnVwLW5vdC1wcmV2ZW50ZWQtd2l0aC13ci1kZXJlZi5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9XZWFrUmVmL3Byb3RvdHlwZS9kZXJlZi9nYy1jbGVhbnVw
LW5vdC1wcmV2ZW50ZWQtd2l0aC13ci1kZXJlZi5qcwppbmRleCAxNmYyN2Y5ZmI1ZDY3MDFhNmFh
ZTUxZjgyODUwNDczYTFkOGM3NGVhLi4wN2UwOTExYTJkMzMwNDkwYjVhMzRhYjg0MzJiZjQwNjdh
YWE4YzFkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvV2Vha1Jl
Zi9wcm90b3R5cGUvZGVyZWYvZ2MtY2xlYW51cC1ub3QtcHJldmVudGVkLXdpdGgtd3ItZGVyZWYu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1dlYWtSZWYvcHJvdG90eXBl
L2RlcmVmL2djLWNsZWFudXAtbm90LXByZXZlbnRlZC13aXRoLXdyLWRlcmVmLmpzCkBAIC0xMyw3
ICsxMyw3IEBAIGluZm86IHwKICAgICBhLiBQZXJmb3JtICEgS2VlcER1cmluZ0pvYih0YXJnZXQp
LgogICAgIGIuIFJldHVybiB0YXJnZXQuCiAgIDYuIFJldHVybiB1bmRlZmluZWQuCi1mZWF0dXJl
czogW2NsZWFudXBTb21lLCBXZWFrUmVmLCBob3N0LWdjLXJlcXVpcmVkXQorZmVhdHVyZXM6IFtG
aW5hbGl6YXRpb25SZWdpc3RyeS5wcm90b3R5cGUuY2xlYW51cFNvbWUsIGNsZWFudXBTb21lLCBX
ZWFrUmVmLCBob3N0LWdjLXJlcXVpcmVkXQogaW5jbHVkZXM6IFthc3luYy1nYy5qc10KIGZsYWdz
OiBbYXN5bmMsIG5vbi1kZXRlcm1pbmlzdGljXQogLS0tKi8KZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9XZWFrUmVmL3Byb3RvdHlwZS9kZXJlZi9ub3QtYS1jb25z
dHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9XZWFrUmVmL3Byb3Rv
dHlwZS9kZXJlZi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMzE5Nzc5YTMzYjY4
YThjNGI0MzAyMjA2MWNjZmQxYzVkYzQ0NWViCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1dlYWtSZWYvcHJvdG90eXBlL2RlcmVmL25vdC1hLWNvbnN0
cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdh
bGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lk
OiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjog
PgorICBXZWFrUmVmLnByb3RvdHlwZS5kZXJlZiBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1
Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2Jq
ZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZp
ZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0g
aW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNj
cmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisK
KyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJv
dyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9y
LmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgV2Vha1JlZiwgYXJyb3ctZnVuY3Rp
b25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKAorICBpc0NvbnN0cnVjdG9yKFdlYWtSZWYu
cHJvdG90eXBlLmRlcmVmKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKFdlYWtSZWYucHJv
dG90eXBlLmRlcmVmKSBtdXN0IHJldHVybiBmYWxzZScKKyk7CisKK2Fzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCAoKSA9PiB7CisgIGxldCB3ciA9IG5ldyBXZWFrUmVmKHt9KTsgbmV3IHdyLmRlcmVm
KCk7Cit9LCAnYGxldCB3ciA9IG5ldyBXZWFrUmVmKHt9KTsgbmV3IHdyLmRlcmVmKClgIHRocm93
cyBUeXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQt
aW5zL1dlYWtTZXQvaXMtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1
aWx0LWlucy9XZWFrU2V0L2lzLWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM1OTI4NTUx
MjU4MDlmNmZiODZiNWM0YTJlNmQ1ODE2YWM0NmFhZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9XZWFrU2V0L2lzLWEtY29uc3RydWN0b3IuanMKQEAg
LTAsMCArMSwyNCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIFJpY2sgV2FsZHJvbi4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vu
c2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworLyotLS0KK2VzaWQ6IHNlYy1lY21hc2Ny
aXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKK2Rlc2NyaXB0aW9uOiA+CisgIFRoZSBXZWFr
U2V0IGNvbnN0cnVjdG9yIGltcGxlbWVudHMgW1tDb25zdHJ1Y3RdXQoraW5mbzogfAorICBJc0Nv
bnN0cnVjdG9yICggYXJndW1lbnQgKQorCisgIFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gSXNDb25z
dHJ1Y3RvciB0YWtlcyBhcmd1bWVudCBhcmd1bWVudCAoYW4gRUNNQVNjcmlwdCBsYW5ndWFnZSB2
YWx1ZSkuCisgIEl0IGRldGVybWluZXMgaWYgYXJndW1lbnQgaXMgYSBmdW5jdGlvbiBvYmplY3Qg
d2l0aCBhIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kLgorICBJdCBwZXJmb3JtcyB0aGUg
Zm9sbG93aW5nIHN0ZXBzIHdoZW4gY2FsbGVkOgorCisgIElmIFR5cGUoYXJndW1lbnQpIGlzIG5v
dCBPYmplY3QsIHJldHVybiBmYWxzZS4KKyAgSWYgYXJndW1lbnQgaGFzIGEgW1tDb25zdHJ1Y3Rd
XSBpbnRlcm5hbCBtZXRob2QsIHJldHVybiB0cnVlLgorICBSZXR1cm4gZmFsc2UuCitpbmNsdWRl
czogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBXZWFr
U2V0XQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZShpc0NvbnN0cnVjdG9yKFdlYWtTZXQpLCB0
cnVlLCAnaXNDb25zdHJ1Y3RvcihXZWFrU2V0KSBtdXN0IHJldHVybiB0cnVlJyk7CituZXcgV2Vh
a1NldCgpOworICAKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9X
ZWFrU2V0L3Byb3RvdHlwZS9hZGQvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvV2Vha1NldC9wcm90b3R5cGUvYWRkL25vdC1hLWNvbnN0cnVjdG9y
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmNhYTM5Y2U4ZjE2NDBiNzIzZmFiMjM0MDljYzQ4MDFlODBhNzNiMDgK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvV2Vha1Nl
dC9wcm90b3R5cGUvYWRkL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWls
dC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBXZWFrU2V0LnByb3RvdHlwZS5hZGQgZG9l
cyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJsZQoraW5mbzogfAor
ICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBmdW5jdGlvbiBvYmpl
Y3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBkbyBub3QKKyAgaW1w
bGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxlc3Mgb3RoZXJ3aXNl
IHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1bGFyIGZ1bmN0aW9u
LgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0NvbnN0cnVjdG9yKGNv
bnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgorICAuLi4K
K2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVmbGVjdC5jb25zdHJ1
Y3QsIFdlYWtTZXQsIGFycm93LWZ1bmN0aW9uXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSgK
KyAgaXNDb25zdHJ1Y3RvcihXZWFrU2V0LnByb3RvdHlwZS5hZGQpLAorICBmYWxzZSwKKyAgJ2lz
Q29uc3RydWN0b3IoV2Vha1NldC5wcm90b3R5cGUuYWRkKSBtdXN0IHJldHVybiBmYWxzZScKKyk7
CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIGxldCB3cyA9IG5ldyBXZWFr
U2V0KCk7IG5ldyB3cy5hZGQoe30pOworfSwgJ2BsZXQgd3MgPSBuZXcgV2Vha1NldCgpOyBuZXcg
d3MuYWRkKHt9KWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9idWlsdC1pbnMvV2Vha1NldC9wcm90b3R5cGUvZGVsZXRlL25vdC1hLWNvbnN0
cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1dlYWtTZXQvcHJvdG90
eXBlL2RlbGV0ZS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMGQxNGVmMDc2MjU4
MTI0OGI3ZTljNDAyMGI5YWFjMjU2ZWE2YjgyCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1dlYWtTZXQvcHJvdG90eXBlL2RlbGV0ZS9ub3QtYS1jb25z
dHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBX
YWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5
IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNp
ZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246
ID4KKyAgV2Vha1NldC5wcm90b3R5cGUuZGVsZXRlIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0
cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBP
YmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRp
ZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3Rd
XSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRl
c2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcK
KworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRo
cm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0
b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBXZWFrU2V0LCBhcnJvdy1mdW5j
dGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoCisgIGlzQ29uc3RydWN0b3IoV2Vha1Nl
dC5wcm90b3R5cGUuZGVsZXRlKSwKKyAgZmFsc2UsCisgICdpc0NvbnN0cnVjdG9yKFdlYWtTZXQu
cHJvdG90eXBlLmRlbGV0ZSkgbXVzdCByZXR1cm4gZmFsc2UnCispOworCithc3NlcnQudGhyb3dz
KFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgd3MgPSBuZXcgV2Vha1NldCgpOyBuZXcgd3MuZGVs
ZXRlKCk7Cit9LCAnYGxldCB3cyA9IG5ldyBXZWFrU2V0KCk7IG5ldyB3cy5kZWxldGUoKWAgdGhy
b3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWls
dC1pbnMvV2Vha1NldC9wcm90b3R5cGUvaGFzL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL1dlYWtTZXQvcHJvdG90eXBlL2hhcy9ub3QtYS1jb25z
dHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42N2MxNDAxYmMwZTNmNDhiMWZjMzIxYjI0ODA4MjFlNThl
ZjkyOGRhCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5z
L1dlYWtTZXQvcHJvdG90eXBlL2hhcy9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDMz
IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRh
cmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgV2Vha1NldC5wcm90b3R5cGUu
aGFzIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2lu
Zm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rp
b24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90
CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90
aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBm
dW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1
Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4K
KyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3Qu
Y29uc3RydWN0LCBXZWFrU2V0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIGlzQ29uc3RydWN0b3IoV2Vha1NldC5wcm90b3R5cGUuaGFzKSwKKyAgZmFsc2Us
CisgICdpc0NvbnN0cnVjdG9yKFdlYWtTZXQucHJvdG90eXBlLmhhcykgbXVzdCByZXR1cm4gZmFs
c2UnCispOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBsZXQgd3MgPSBu
ZXcgV2Vha1NldCgpOyBuZXcgd3MuaGFzKCk7Cit9LCAnYGxldCB3cyA9IG5ldyBXZWFrU2V0KCk7
IG5ldyB3cy5oYXMoKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvZGVjb2RlVVJJL25vdC1hLWNvbnN0cnVjdG9yLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL2RlY29kZVVSSS9ub3QtYS1jb25zdHJ1Y3Rv
ci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40M2FmM2NlOGJhMjdkYjdhMzQ2YzgxM2VkMGZiZjE0YjdiYjc1OTZh
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL2RlY29k
ZVVSSS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQg
KEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2Rl
IGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0
cworZGVzY3JpcHRpb246ID4KKyAgZGVjb2RlVVJJIGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0
cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBP
YmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRp
ZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3Rd
XSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRl
c2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcK
KworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRo
cm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0
b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0t
LSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihkZWNvZGVVUkkpLCBmYWxzZSwg
J2lzQ29uc3RydWN0b3IoZGVjb2RlVVJJKSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgZGVjb2RlVVJJKCcnKTsKK30sICdgbmV3
IGRlY29kZVVSSShcJ1wnKWAgdGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvZGVjb2RlVVJJQ29tcG9uZW50L25vdC1hLWNvbnN0
cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL2RlY29kZVVSSUNvbXBv
bmVudC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjM2YWU4ZmQwZWI4Y2Q1NTBi
ODMzNWY4NDgxYzZkNDVkYmFlZDMzCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL2RlY29kZVVSSUNvbXBvbmVudC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpA
QCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGlj
ZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFz
Y3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgZGVjb2Rl
VVJJQ29tcG9uZW50IGRvZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3
LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQt
aW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3Rv
cnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2Qg
dW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFy
dGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYg
SXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4
Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczog
W1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1l
VmFsdWUoaXNDb25zdHJ1Y3RvcihkZWNvZGVVUklDb21wb25lbnQpLCBmYWxzZSwgJ2lzQ29uc3Ry
dWN0b3IoZGVjb2RlVVJJQ29tcG9uZW50KSBtdXN0IHJldHVybiBmYWxzZScpOworCithc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgZGVjb2RlVVJJQ29tcG9uZW50KCcnKTsK
K30sICdgbmV3IGRlY29kZVVSSUNvbXBvbmVudChcJ1wnKWAgdGhyb3dzIFR5cGVFcnJvcicpOwor
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvZW5jb2RlVVJJL25v
dC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL2VuY29k
ZVVSSS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOTc2YmNkNDE3NzRhMWNiZmY4
ZTYzZDM0MzI1M2IwZGEzZWRlNzA1Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvYnVpbHQtaW5zL2VuY29kZVVSSS9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsx
LDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3Rh
bmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgZW5jb2RlVVJJIGRvZXMg
bm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAg
RUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0
cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxl
bWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBz
cGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4K
KworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25z
dHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitp
bmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0
LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3Rv
cihlbmNvZGVVUkkpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoZW5jb2RlVVJJKSBtdXN0IHJldHVy
biBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgZW5j
b2RlVVJJKCcnKTsKK30sICdgbmV3IGVuY29kZVVSSShcJ1wnKWAgdGhyb3dzIFR5cGVFcnJvcicp
OworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvZW5jb2RlVVJJ
Q29tcG9uZW50L25vdC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVp
bHQtaW5zL2VuY29kZVVSSUNvbXBvbmVudC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iMTQ2NjU2MjlhZjVkMWQyMGZlZmZhZWQ0ODFhMmFhMTkzODhhZDgxCi0tLSAvZGV2L251bGwK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL2VuY29kZVVSSUNvbXBvbmVudC9u
b3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdv
dmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisv
Ki0tLQorZXNpZDogc2VjLWVjbWFzY3JpcHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVz
Y3JpcHRpb246ID4KKyAgZW5jb2RlVVJJQ29tcG9uZW50IGRvZXMgbm90IGltcGxlbWVudCBbW0Nv
bnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwKKyAgRUNNQVNjcmlwdCBGdW5jdGlv
biBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2JqZWN0cyB0aGF0IGFyZSBub3QgaWRl
bnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGltcGxlbWVudCB0aGUgW1tDb25zdHJ1
Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lzZSBzcGVjaWZpZWQgaW4KKyAgdGhl
IGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlvbi4KKworICBzZWMtZXZhbHVhdGVu
ZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikgaXMgZmFsc2Us
IHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4uCitpbmNsdWRlczogW2lzQ29uc3Ry
dWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3RydWN0LCBhcnJvdy1mdW5jdGlvbl0K
Ky0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1Y3RvcihlbmNvZGVVUklDb21wb25l
bnQpLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoZW5jb2RlVVJJQ29tcG9uZW50KSBtdXN0IHJldHVy
biBmYWxzZScpOworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgZW5j
b2RlVVJJQ29tcG9uZW50KCcnKTsKK30sICdgbmV3IGVuY29kZVVSSUNvbXBvbmVudChcJ1wnKWAg
dGhyb3dzIFR5cGVFcnJvcicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9i
dWlsdC1pbnMvZXZhbC9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9ldmFsL25vdC1hLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRkYmM0NTIz
ZDlmNDY3ZGIyMTlkYzMzYjAxMGE0NWRhNDBkYmYzY2UKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvZXZhbC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAt
MCwwICsxLDI5IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5z
ZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisvKi0tLQorZXNpZDogc2VjLWVjbWFzY3Jp
cHQtc3RhbmRhcmQtYnVpbHQtaW4tb2JqZWN0cworZGVzY3JpcHRpb246ID4KKyAgZXZhbCBkb2Vz
IG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8Cisg
IEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVj
dHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBs
ZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ug
c3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24u
CisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29u
c3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgor
aW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVj
dCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0
b3IoZXZhbCksIGZhbHNlLCAnaXNDb25zdHJ1Y3RvcihldmFsKSBtdXN0IHJldHVybiBmYWxzZScp
OworCithc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4geworICBuZXcgZXZhbCgnJyk7Cit9
LCAnYG5ldyBldmFsKFwnXCcpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9pc0Zpbml0ZS9ub3QtYS1jb25zdHJ1Y3Rvci5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9pc0Zpbml0ZS9ub3QtYS1jb25zdHJ1
Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NTAzOGM3ZjU4NmE2M2JhZGI1Y2RlNGIzNTAyMjVkZmE1MDkx
ZGM0Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL2lz
RmluaXRlL25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdo
dCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp
bGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmpl
Y3RzCitkZXNjcmlwdGlvbjogPgorICBpc0Zpbml0ZSBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25z
dHJ1Y3RdXSwgaXMgbm90IG5ldy1hYmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24g
T2JqZWN0cworCisgIEJ1aWx0LWluIGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50
aWZpZWQgYXMgY29uc3RydWN0b3JzIGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0
XV0gaW50ZXJuYWwgbWV0aG9kIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBk
ZXNjcmlwdGlvbiBvZiBhIHBhcnRpY3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3
CisKKyAgLi4uCisgIDcuIElmIElzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0
aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVj
dG9yLmpzXQorZmVhdHVyZXM6IFtSZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCist
LS0qLworCithc3NlcnQuc2FtZVZhbHVlKGlzQ29uc3RydWN0b3IoaXNGaW5pdGUpLCBmYWxzZSwg
J2lzQ29uc3RydWN0b3IoaXNGaW5pdGUpIG11c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50
aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5ldyBpc0Zpbml0ZSgxKTsKK30sICdgbmV3IGlz
RmluaXRlKDEpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2J1aWx0LWlucy9pc05hTi9ub3QtYS1jb25zdHJ1Y3Rvci5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9pc05hTi9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43MjE2NGRlMTllOWQwYWQzZDJjNGViMGRiZDBlODJjYTRiMjljM2M0Ci0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL2lzTmFOL25vdC1hLWNvbnN0
cnVjdG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdh
bGRyb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkg
dGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lk
OiBzZWMtZWNtYXNjcmlwdC1zdGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjog
PgorICBpc05hTiBkb2VzIG5vdCBpbXBsZW1lbnQgW1tDb25zdHJ1Y3RdXSwgaXMgbm90IG5ldy1h
YmxlCitpbmZvOiB8CisgIEVDTUFTY3JpcHQgRnVuY3Rpb24gT2JqZWN0cworCisgIEJ1aWx0LWlu
IGZ1bmN0aW9uIG9iamVjdHMgdGhhdCBhcmUgbm90IGlkZW50aWZpZWQgYXMgY29uc3RydWN0b3Jz
IGRvIG5vdAorICBpbXBsZW1lbnQgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIHVu
bGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkIGluCisgIHRoZSBkZXNjcmlwdGlvbiBvZiBhIHBhcnRp
Y3VsYXIgZnVuY3Rpb24uCisKKyAgc2VjLWV2YWx1YXRlbmV3CisKKyAgLi4uCisgIDcuIElmIElz
Q29uc3RydWN0b3IoY29uc3RydWN0b3IpIGlzIGZhbHNlLCB0aHJvdyBhIFR5cGVFcnJvciBleGNl
cHRpb24uCisgIC4uLgoraW5jbHVkZXM6IFtpc0NvbnN0cnVjdG9yLmpzXQorZmVhdHVyZXM6IFtS
ZWZsZWN0LmNvbnN0cnVjdCwgYXJyb3ctZnVuY3Rpb25dCistLS0qLworCithc3NlcnQuc2FtZVZh
bHVlKGlzQ29uc3RydWN0b3IoaXNOYU4pLCBmYWxzZSwgJ2lzQ29uc3RydWN0b3IoaXNOYU4pIG11
c3QgcmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7Cisg
IG5ldyBpc05hTigxKTsKK30sICdgbmV3IGlzTmFOKDEpYCB0aHJvd3MgVHlwZUVycm9yJyk7CisK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9wYXJzZUZsb2F0L25v
dC1hLWNvbnN0cnVjdG9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL3BhcnNl
RmxvYXQvbm90LWEtY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmM5YWI4YTczODQwYTI1MDA4
M2M4NTVkNjAzNmRjNGRlYzhiZmRmNgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9wYXJzZUZsb2F0L25vdC1hLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAg
KzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBSaWNrIFdhbGRyb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZv
dW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlc2lkOiBzZWMtZWNtYXNjcmlwdC1z
dGFuZGFyZC1idWlsdC1pbi1vYmplY3RzCitkZXNjcmlwdGlvbjogPgorICBwYXJzZUZsb2F0IGRv
ZXMgbm90IGltcGxlbWVudCBbW0NvbnN0cnVjdF1dLCBpcyBub3QgbmV3LWFibGUKK2luZm86IHwK
KyAgRUNNQVNjcmlwdCBGdW5jdGlvbiBPYmplY3RzCisKKyAgQnVpbHQtaW4gZnVuY3Rpb24gb2Jq
ZWN0cyB0aGF0IGFyZSBub3QgaWRlbnRpZmllZCBhcyBjb25zdHJ1Y3RvcnMgZG8gbm90CisgIGlt
cGxlbWVudCB0aGUgW1tDb25zdHJ1Y3RdXSBpbnRlcm5hbCBtZXRob2QgdW5sZXNzIG90aGVyd2lz
ZSBzcGVjaWZpZWQgaW4KKyAgdGhlIGRlc2NyaXB0aW9uIG9mIGEgcGFydGljdWxhciBmdW5jdGlv
bi4KKworICBzZWMtZXZhbHVhdGVuZXcKKworICAuLi4KKyAgNy4gSWYgSXNDb25zdHJ1Y3Rvcihj
b25zdHJ1Y3RvcikgaXMgZmFsc2UsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgLi4u
CitpbmNsdWRlczogW2lzQ29uc3RydWN0b3IuanNdCitmZWF0dXJlczogW1JlZmxlY3QuY29uc3Ry
dWN0LCBhcnJvdy1mdW5jdGlvbl0KKy0tLSovCisKK2Fzc2VydC5zYW1lVmFsdWUoaXNDb25zdHJ1
Y3RvcihwYXJzZUZsb2F0KSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKHBhcnNlRmxvYXQpIG11c3Qg
cmV0dXJuIGZhbHNlJyk7CisKK2Fzc2VydC50aHJvd3MoVHlwZUVycm9yLCAoKSA9PiB7CisgIG5l
dyBwYXJzZUZsb2F0KDEpOworfSwgJ2BuZXcgcGFyc2VGbG9hdCgxKWAgdGhyb3dzIFR5cGVFcnJv
cicpOworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMvcGFyc2VJ
bnQvbm90LWEtY29uc3RydWN0b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9idWlsdC1pbnMv
cGFyc2VJbnQvbm90LWEtY29uc3RydWN0b3IuanMKaW5kZXggMzdjMDZhOGE4YTIzZDEzYWRlNzgx
NzhjOGRhZDAwNGFiZmUxMjg4YS4uMmQwMDRjYWQ1NDUwN2RiNmExOGI4Y2JmZTVjYzY4NGMyMDQ2
MGExNyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL3BhcnNlSW50
L25vdC1hLWNvbnN0cnVjdG9yLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9wYXJzZUludC9ub3QtYS1jb25zdHJ1Y3Rvci5qcwpAQCAtMSwxNCArMSwyOSBAQAotLy8gQ29w
eXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBDb3B5cmlnaHQgKEMpIDIwMjAgUmljayBXYWxkcm9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
Ly8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgogCiAvKi0tLQotaW5mbzogVGhlIHBhcnNlSW50IHByb3BlcnR5IGNhbid0
IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKLWVzaWQ6IHNlYy1wYXJzZWludC1zdHJpbmctcmFkaXgK
K2VzaWQ6IHNlYy1lY21hc2NyaXB0LXN0YW5kYXJkLWJ1aWx0LWluLW9iamVjdHMKIGRlc2NyaXB0
aW9uOiA+Ci0gICAgSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBb
W0NvbnN0cnVjdF1dIG1ldGhvZCwKLSAgICB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KKyAg
cGFyc2VJbnQgZG9lcyBub3QgaW1wbGVtZW50IFtbQ29uc3RydWN0XV0sIGlzIG5vdCBuZXctYWJs
ZQoraW5mbzogfAorICBFQ01BU2NyaXB0IEZ1bmN0aW9uIE9iamVjdHMKKworICBCdWlsdC1pbiBm
dW5jdGlvbiBvYmplY3RzIHRoYXQgYXJlIG5vdCBpZGVudGlmaWVkIGFzIGNvbnN0cnVjdG9ycyBk
byBub3QKKyAgaW1wbGVtZW50IHRoZSBbW0NvbnN0cnVjdF1dIGludGVybmFsIG1ldGhvZCB1bmxl
c3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCBpbgorICB0aGUgZGVzY3JpcHRpb24gb2YgYSBwYXJ0aWN1
bGFyIGZ1bmN0aW9uLgorCisgIHNlYy1ldmFsdWF0ZW5ldworCisgIC4uLgorICA3LiBJZiBJc0Nv
bnN0cnVjdG9yKGNvbnN0cnVjdG9yKSBpcyBmYWxzZSwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0
aW9uLgorICAuLi4KK2luY2x1ZGVzOiBbaXNDb25zdHJ1Y3Rvci5qc10KK2ZlYXR1cmVzOiBbUmVm
bGVjdC5jb25zdHJ1Y3QsIGFycm93LWZ1bmN0aW9uXQogLS0tKi8KIAorYXNzZXJ0LnNhbWVWYWx1
ZShpc0NvbnN0cnVjdG9yKHBhcnNlSW50KSwgZmFsc2UsICdpc0NvbnN0cnVjdG9yKHBhcnNlSW50
KSBtdXN0IHJldHVybiBmYWxzZScpOworCiBhc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgKCkgPT4g
ewotICBuZXcgcGFyc2VJbnQoKTsKLX0sICdgbmV3IHBhcnNlSW50KClgIHRocm93cyBUeXBlRXJy
b3InKTsKKyAgbmV3IHBhcnNlSW50KDEpOworfSwgJ2BuZXcgcGFyc2VJbnQoMSlgIHRocm93cyBU
eXBlRXJyb3InKTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9D
b2xsYXRvci9jb25zdHJ1Y3Rvci1vcHRpb25zLXRocm93aW5nLWdldHRlcnMuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0NvbGxhdG9yL2NvbnN0cnVjdG9yLW9wdGlvbnMtdGhyb3dp
bmctZ2V0dGVycy5qcwppbmRleCA0ZDNiMWJkZTU1NzgzMmJmMDMzMGQ3YWM3ZDg0OWNkOGJhMzBh
NWNlLi5lOWQ0OTQyMmM2MjdiZmYxMmRlYWNiODg0ODE0NzI0ZTA4ZjVmNGQ2IDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAyL0NvbGxhdG9yL2NvbnN0cnVjdG9yLW9wdGlv
bnMtdGhyb3dpbmctZ2V0dGVycy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9pbnRsNDAy
L0NvbGxhdG9yL2NvbnN0cnVjdG9yLW9wdGlvbnMtdGhyb3dpbmctZ2V0dGVycy5qcwpAQCAtMTEs
NiArMTEsNyBAQCBmdW5jdGlvbiBDdXN0b21FcnJvcigpIHt9CiBjb25zdCBvcHRpb25zID0gWwog
ICAidXNhZ2UiLAogICAibG9jYWxlTWF0Y2hlciIsCisgICJjb2xsYXRpb24iLAogICAibnVtZXJp
YyIsCiAgICJjYXNlRmlyc3QiLAogICAic2Vuc2l0aXZpdHkiLApkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9Mb2NhbGUvcmVqZWN0LWR1cGxpY2F0ZS12YXJpYW50cy1p
bi10bGFuZy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvTG9jYWxlL3JlamVjdC1k
dXBsaWNhdGUtdmFyaWFudHMtaW4tdGxhbmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGQ2OTEyODQ3NTllZTc2
MWM1ZWMyZjkwZjdiYWVjNTc3NzExOTIyNQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2ludGw0MDIvTG9jYWxlL3JlamVjdC1kdXBsaWNhdGUtdmFyaWFudHMtaW4tdGxh
bmcuanMKQEAgLTAsMCArMSw1MCBAQAorLy8gQ29weXJpZ2h0IDIwMjAgSmVmZiBXYWxkZW4sIE1v
emlsbGEgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMg
Z292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisK
Ky8qLS0tCitlc2lkOiBzZWMtaXNzdHJ1Y3R1cmFsbHl2YWxpZGxhbmd1YWdldGFnCitkZXNjcmlw
dGlvbjogPgorICBWZXJpZmllcyB0aGF0IGp1c3QgYXMgZHVwbGljYXRlIHZhcmlhbnRzIGluIGEg
dGFnICgiZW4tZW1vZGVuZy1lbW9kZW5nIikgbWFrZQorICB0aGUgdGFnIHN0cnVjdHVyYWxseSBp
bnZhbGlkLCBzbyB0b28gZG8gZHVwbGljYXRlIHZhcmlhbnRzIGluIHRoZSB0bGFuZworICBjb21w
b25lbnQgb2YgYW4gb3RoZXJ3aXNlIHN0cnVjdHVyYWxseSB2YWxpZCB0YWcgKCJkZS10LWVtb2Rl
bmctZW1vZGVuZyIpLAorICBtYWtlIGl0IHN0cnVjdHVyYWxseSBpbnZhbGlkLgoraW5mbzogfAor
ICBpZiBhIGB0cmFuc2Zvcm1lZF9leHRlbnNpb25zYCBjb21wb25lbnQgdGhhdCBjb250YWlucyBh
IGB0bGFuZ2AgY29tcG9uZW50IGlzCisgIHByZXNlbnQsIHRoZW4KKyAgICB0aGUgYHRsYW5nYCBj
b21wb25lbnQgY29udGFpbnMgbm8gZHVwbGljYXRlIGB1bmljb2RlX3ZhcmlhbnRfc3VidGFnYAor
ICAgIHN1YnRhZ3MuCitmZWF0dXJlczogW0ludGwuTG9jYWxlXQorLS0tKi8KKworYXNzZXJ0LnNh
bWVWYWx1ZSh0eXBlb2YgSW50bC5Mb2NhbGUsICJmdW5jdGlvbiIpOworCitmdW5jdGlvbiBtdXN0
UmVqZWN0KHRhZykgeworICBhc3NlcnQudGhyb3dzKFJhbmdlRXJyb3IsICgpID0+IHsKKyAgICAv
LyBEaXJlY3QgbWF0Y2hlcyBhcmUgcmVqZWN0ZWQuCisgICAgbmV3IEludGwuTG9jYWxlKHRhZyk7
CisgIH0sIGB0YWcgIiR7dGFnfSIgbXVzdCBiZSBjb25zaWRlcmVkIHN0cnVjdHVyYWxseSBpbnZh
bGlkYCk7Cit9CisKKy8vIEJDUDQ3IHNpbmNlIGZvcmV2ZXIsIGFuZCBFQ01BLTQwMiBhcyBjb25z
ZXF1ZW5jZSwgZG8gbm90IGNvbnNpZGVyIHRhZ3MgdGhhdAorLy8gY29udGFpbiBkdXBsaWNhdGUg
dmFyaWFudHMgdG8gYmUgc3RydWN0dXJhbGx5IHZhbGlkLiAgVGhpcyByZXN0cmljdGlvbiBhbHNv
CisvLyBhcHBsaWVzIHdpdGhpbiB0aGUgfHRsYW5nfCBjb21wb25lbnQgKGluZGljYXRpbmcgdGhl
IHNvdXJjZSBsb2NhbGUgZnJvbSB3aGljaAorLy8gcmVsZXZhbnQgY29udGVudCB3YXMgdHJhbnNm
b3JtZWQpIG9mIGEgYnJvYWRlciBsYW5ndWFnZSB0YWcuCisKKy8vIERpcmVjdCBtYXRjaGVzIGFy
ZSByZWplY3RlZC4KK211c3RSZWplY3QoImRlLXQtZW4tZW1vZGVuZy1lbW9kZW5nIik7CisvLyBD
YXNlLWluc2Vuc2l0aXZlIG1hdGNoZXMgYXJlIGFsc28gcmVqZWN0ZWQuCittdXN0UmVqZWN0KCJk
ZS10LWVuLUVtb2RlbmctZW1vZGVuZyIpOworLy8gLi4uYW5kIGluIGVpdGhlciBvcmRlci4KK211
c3RSZWplY3QoImRlLXQtZW4tZW1vZGVuZy1FbW9kZW5nIik7CisKKy8vIFJlcGVhdCB0aGUgYWJv
dmUgdGVzdHMgd2l0aCBhZGRpdGlvbmFsIHZhcmlhbnRzIGludGVyc3BlcnNlZCBhdCBlYWNoIHBv
aW50CisvLyBmb3IgY29tcGxldGVuZXNzLgorbXVzdFJlamVjdCgiZGUtdC1lbi12YXJpYW50LWVt
b2RlbmctZW1vZGVuZyIpOworbXVzdFJlamVjdCgiZGUtdC1lbi12YXJpYW50LUVtb2RlbmctZW1v
ZGVuZyIpOworbXVzdFJlamVjdCgiZGUtdC1lbi12YXJpYW50LWVtb2RlbmctRW1vZGVuZyIpOwor
bXVzdFJlamVjdCgiZGUtdC1lbi1lbW9kZW5nLXZhcmlhbnQtZW1vZGVuZyIpOworbXVzdFJlamVj
dCgiZGUtdC1lbi1FbW9kZW5nLXZhcmlhbnQtZW1vZGVuZyIpOworbXVzdFJlamVjdCgiZGUtdC1l
bi1lbW9kZW5nLXZhcmlhbnQtRW1vZGVuZyIpOworbXVzdFJlamVjdCgiZGUtdC1lbi1lbW9kZW5n
LWVtb2RlbmctdmFyaWFudCIpOworbXVzdFJlamVjdCgiZGUtdC1lbi1FbW9kZW5nLWVtb2Rlbmct
dmFyaWFudCIpOworbXVzdFJlamVjdCgiZGUtdC1lbi1lbW9kZW5nLUVtb2RlbmctdmFyaWFudCIp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvaW50bDQwMi9Mb2NhbGUvcmVqZWN0
LWR1cGxpY2F0ZS12YXJpYW50cy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2ludGw0MDIvTG9j
YWxlL3JlamVjdC1kdXBsaWNhdGUtdmFyaWFudHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTYwMzcyYjAwOWI3
MDIyNjA4ZjBhOTY4OGVjMDY5ZjIxYTIyYTAyOAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2ludGw0MDIvTG9jYWxlL3JlamVjdC1kdXBsaWNhdGUtdmFyaWFudHMuanMK
QEAgLTAsMCArMSw0NCBAQAorLy8gQ29weXJpZ2h0IDIwMjAgSmVmZiBXYWxkZW4sIE1vemlsbGEg
Q29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0t
Citlc2lkOiBzZWMtaXNzdHJ1Y3R1cmFsbHl2YWxpZGxhbmd1YWdldGFnCitkZXNjcmlwdGlvbjog
PgorICBWZXJpZmllcyB0aGF0IGR1cGxpY2F0ZSB2YXJpYW50cyBpbiBhIHRhZyAoImVuLWVtb2Rl
bmctZW1vZGVuZyIpIG1ha2UgdGhlIHRhZworICBzdHJ1Y3R1cmFsbHkgaW52YWxpZC4KK2luZm86
IHwKKyAgdGhlIGB1bmljb2RlX2xhbmd1YWdlX2lkYCB3aXRoaW4gX2xvY2FsZV8gY29udGFpbnMg
bm8gZHVwbGljYXRlCisgIGB1bmljb2RlX3ZhcmlhbnRfc3VidGFnYCBzdWJ0YWdzCitmZWF0dXJl
czogW0ludGwuTG9jYWxlXQorLS0tKi8KKworYXNzZXJ0LnNhbWVWYWx1ZSh0eXBlb2YgSW50bC5M
b2NhbGUsICJmdW5jdGlvbiIpOworCitmdW5jdGlvbiBtdXN0UmVqZWN0KHRhZykgeworICBhc3Nl
cnQudGhyb3dzKFJhbmdlRXJyb3IsICgpID0+IHsKKyAgICAvLyBEaXJlY3QgbWF0Y2hlcyBhcmUg
cmVqZWN0ZWQuCisgICAgbmV3IEludGwuTG9jYWxlKHRhZyk7CisgIH0sIGB0YWcgIiR7dGFnfSIg
bXVzdCBiZSBjb25zaWRlcmVkIHN0cnVjdHVyYWxseSBpbnZhbGlkYCk7Cit9CisKKy8vIEJDUDQ3
IHNpbmNlIGZvcmV2ZXIsIGFuZCBFQ01BLTQwMiBhcyBjb25zZXF1ZW5jZSwgZG8gbm90IGNvbnNp
ZGVyIHRhZ3MgdGhhdAorLy8gY29udGFpbiBkdXBsaWNhdGUgdmFyaWFudHMgdG8gYmUgc3RydWN0
dXJhbGx5IHZhbGlkLgorCisvLyBEaXJlY3QgbWF0Y2hlcyBhcmUgcmVqZWN0ZWQuCittdXN0UmVq
ZWN0KCJlbi1lbW9kZW5nLWVtb2RlbmciKTsKKy8vIENhc2UtaW5zZW5zaXRpdmUgbWF0Y2hlcyBh
cmUgYWxzbyByZWplY3RlZC4KK211c3RSZWplY3QoImVuLUVtb2RlbmctZW1vZGVuZyIpOworLy8g
Li4uYW5kIGluIGVpdGhlciBvcmRlci4KK211c3RSZWplY3QoImVuLWVtb2RlbmctRW1vZGVuZyIp
OworCisvLyBSZXBlYXQgdGhlIGFib3ZlIHRlc3RzIHdpdGggYWRkaXRpb25hbCB2YXJpYW50cyBp
bnRlcnNwZXJzZWQgYXQgZWFjaCBwb2ludAorLy8gZm9yIGNvbXBsZXRlbmVzcy4KK211c3RSZWpl
Y3QoImVuLXZhcmlhbnQtZW1vZGVuZy1lbW9kZW5nIik7CittdXN0UmVqZWN0KCJlbi12YXJpYW50
LUVtb2RlbmctZW1vZGVuZyIpOworbXVzdFJlamVjdCgiZW4tdmFyaWFudC1lbW9kZW5nLUVtb2Rl
bmciKTsKK211c3RSZWplY3QoImVuLWVtb2RlbmctdmFyaWFudC1lbW9kZW5nIik7CittdXN0UmVq
ZWN0KCJlbi1FbW9kZW5nLXZhcmlhbnQtZW1vZGVuZyIpOworbXVzdFJlamVjdCgiZW4tZW1vZGVu
Zy12YXJpYW50LUVtb2RlbmciKTsKK211c3RSZWplY3QoImVuLWVtb2RlbmctZW1vZGVuZy12YXJp
YW50Iik7CittdXN0UmVqZWN0KCJlbi1FbW9kZW5nLWVtb2RlbmctdmFyaWFudCIpOworbXVzdFJl
amVjdCgiZW4tZW1vZGVuZy1FbW9kZW5nLXZhcmlhbnQiKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fycm93LWZ1bmN0aW9uL2ZvcmJpZGRl
bi1leHQvYjEvYXJyb3ctZnVuY3Rpb24tZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3At
YXJndW1lbnRzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
YXJyb3ctZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9hcnJvdy1mdW5jdGlvbi1mb3JiaWRkZW4t
ZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKaW5kZXggYzFiMjlhOTI3ZTdhNjE3
NDFhMzc1OGJmZmZjNGE2ODFlNjMzMzg3OS4uMjE4Mzg3MDZiMDkxZmMyZmQyZWFlODcwOWQyOGU3
NTU0ZjExNTE2ZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXJyb3ctZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9hcnJvdy1mdW5jdGlvbi1m
b3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXJyb3ctZnVuY3Rpb24vZm9yYmlk
ZGVuLWV4dC9iMS9hcnJvdy1mdW5jdGlvbi1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJv
cC1hcmd1bWVudHMuanMKQEAgLTIsMjQgKzIsMzQgQEAKIC8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1z
L2ZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5jYXNlCiAvLyAtIHNy
Yy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQtb25lL2Fycm93LWZ1
bmN0aW9uLnRlbXBsYXRlCiAvKi0tLQotZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24s
IG8uYXJndW1lbnRzIChhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uKQorZGVzY3JpcHRpb246IEZv
cmJpZGRlbiBleHRlbnNpb24sIGYuYXJndW1lbnRzIChhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9u
KQogZXNpZDogc2VjLWFycm93LWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNz
LWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbYXJyb3ctZnVuY3Rpb25dCiBmbGFnczogW2dlbmVyYXRl
ZCwgbm9TdHJpY3RdCiBpbmZvOiB8CiAgICAgQXJyb3dGdW5jdGlvbiA6IEFycm93UGFyYW1ldGVy
cyA9PiBDb25jaXNlQm9keQogCi0gICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmlu
ZWQgdXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3Qg
bm90IGJlIGNyZWF0ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJn
dW1lbnRzIi4gU3VjaCBvd24gcHJvcGVydGllcyBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9y
IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2RE
ZWZpbml0aW9uLCBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5
bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLCBDbGFzc0Rl
Y2xhcmF0aW9uLCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5
bmNGdW5jdGlvbkV4cHJlc3Npb24sIG9yIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9m
IHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUu
IEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBG
dW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRo
ZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRo
ZSBBc3luY0Z1bmN0aW9uIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcg
dGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duIHBy
b3BlcnRpZXMuCisKKyAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2lu
ZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdAorICAgIG5v
dCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3Vt
ZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbworICAgIG11c3Qgbm90IGJlIGNyZWF0ZWQg
Zm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRo
b2REZWZpbml0aW9uLAorICAgIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNz
aW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24s
CisgICAgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVj
bGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvcgorICAgIEFzeW5jQXJyb3dGdW5j
dGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGlu
IHN0cmljdCBtb2RlIGNvZGUuCisgICAgQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rp
b25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVu
Y3Rpb25zCisgICAgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3lu
YyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbgorICAgIGNvbnN0cnVj
dG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVz
dCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duCisgICAgcHJvcGVydGllcy4KIAogLS0tKi8K
IAogdmFyIGNhbGxDb3VudCA9IDA7CiB2YXIgZjsKIGYgPSAoKSA9PiB7Ci0gIGYuYXJndW1lbnRz
OworICBhc3NlcnQuc2FtZVZhbHVlKGYuaGFzT3duUHJvcGVydHkoImFyZ3VtZW50cyIpLCBmYWxz
ZSk7CiAgIGNhbGxDb3VudCsrOwogfTsKIAotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0
aW9uKCkgeworCiAgIGYoKTsKLX0pOwotYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdh
cnJvdyBmdW5jdGlvbiBib2R5IG5vdCBldmFsdWF0ZWQnKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2Fs
bENvdW50LCAxLCAnYXJyb3cgZnVuY3Rpb24gYm9keSBldmFsdWF0ZWQnKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fycm93LWZ1bmN0aW9u
L2ZvcmJpZGRlbi1leHQvYjEvYXJyb3ctZnVuY3Rpb24tZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNj
ZXNzLXByb3AtY2FsbGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvYXJyb3ctZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9hcnJvdy1mdW5jdGlvbi1mb3Ji
aWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKaW5kZXggMmRhYzU3MDc1MDA2
ZmZhYjU5Nzc0YmYzMTY0MjY5ZTI3NjBiOTQ5ZS4uNmViZjZlZTEwMmU5NTYxODg2ZjcwMjhhNzM4
YmNkMmEyYjA1ZmEwNCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvYXJyb3ctZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9hcnJvdy1mdW5jdGlv
bi1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXJyb3ctZnVuY3Rpb24vZm9yYmlk
ZGVuLWV4dC9iMS9hcnJvdy1mdW5jdGlvbi1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJv
cC1jYWxsZXIuanMKQEAgLTQsMjIgKzQsMzIgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogRm9yYmlk
ZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIgKGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24pCiBlc2lk
OiBzZWMtYXJyb3ctZnVuY3Rpb24tZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVh
dGlvbgorZmVhdHVyZXM6IFthcnJvdy1mdW5jdGlvbl0KIGZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0
cmljdF0KIGluZm86IHwKICAgICBBcnJvd0Z1bmN0aW9uIDogQXJyb3dQYXJhbWV0ZXJzID0+IENv
bmNpc2VCb2R5CiAKLSAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2lu
ZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3QgYmUg
Y3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMi
LiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rp
b24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRp
b24sIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVy
YXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sIENsYXNzRGVjbGFyYXRp
b24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0
aW9uRXhwcmVzc2lvbiwgb3IgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhl
ciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4gQnVpbHQt
aW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9u
IGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVy
YXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5j
RnVuY3Rpb24gY29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmlu
ZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24gcHJvcGVydGll
cy4KKworICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRh
Y3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0CisgICAgbm90IGJlIGNy
ZWF0ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4g
U3VjaCBvd24gcHJvcGVydGllcyBhbHNvCisgICAgbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVu
Y3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmlu
aXRpb24sCisgICAgR2VuZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFz
eW5jR2VuZXJhdG9yRGVjbGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwKKyAgICBD
bGFzc0RlY2xhcmF0aW9uLCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlv
biwgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24sIG9yCisgICAgQXN5bmNBcnJvd0Z1bmN0aW9uIHJl
Z2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0
IG1vZGUgY29kZS4KKyAgICBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3Jl
YXRlZCB1c2luZyB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMK
KyAgICBjcmVhdGVkIHVzaW5nIHRoZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0
aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBBc3luY0Z1bmN0aW9uCisgICAgY29uc3RydWN0b3IsIGFu
ZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBi
ZSBjcmVhdGVkIHdpdGggc3VjaCBvd24KKyAgICBwcm9wZXJ0aWVzLgogCiAtLS0qLwogCiB2YXIg
Y2FsbENvdW50ID0gMDsKIHZhciBmOwogZiA9ICgpID0+IHsKLSAgZi5jYWxsZXI7CisgIGFzc2Vy
dC5zYW1lVmFsdWUoZi5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIiksIGZhbHNlKTsKICAgY2FsbENv
dW50Kys7CiB9OwogCi1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7CisKICAg
ZigpOwotfSk7Ci1hc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2Fycm93IGZ1bmN0aW9u
IGJvZHkgbm90IGV2YWx1YXRlZCcpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdh
cnJvdyBmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXJyb3ctZnVuY3Rpb24vZm9yYmlkZGVuLWV4
dC9iMi9hcnJvdy1mdW5jdGlvbi1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJv
cC1jYWxsZXItZ2V0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvYXJyb3ctZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9hcnJvdy1mdW5jdGlvbi1mb3JiaWRk
ZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjNkOTQ5OTczYmFiZWUzMmI4N2I3MmZkMjRkYjQzODYxODJkZDk2ZDkKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hcnJvdy1mdW5j
dGlvbi9mb3JiaWRkZW4tZXh0L2IyL2Fycm93LWZ1bmN0aW9uLWZvcmJpZGRlbi1leHQtaW5kaXJl
Y3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMKQEAgLTAsMCArMSw2MCBAQAorLy8gVGhp
cyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3Vy
Y2VzOgorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nl
c3Mtb3duLXByb3AtY2FsbGVyLWdldC5jYXNlCisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3Ji
aWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQtdHdvL2Fycm93LWZ1bmN0aW9uLnRlbXBsYXRlCisvKi0t
LQorZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVyIChhcnJvdyBmdW5j
dGlvbiBleHByZXNzaW9uKQorZXNpZDogc2VjLWFycm93LWRlZmluaXRpb25zLXJ1bnRpbWUtc2Vt
YW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbYXJyb3ctZnVuY3Rpb25dCitmbGFnczogW2dl
bmVyYXRlZCwgbm9TdHJpY3RdCitpbmZvOiB8CisgICAgQXJyb3dGdW5jdGlvbiA6IEFycm93UGFy
YW1ldGVycyA9PiBDb25jaXNlQm9keQorCisKKyAgICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRl
bmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxl
ciIgdGhlIHZhbHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tH
ZXRdXSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9u
CisgICAgb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9u
IHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAgICBhdHRyaWJ1
dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQuCisKKy0t
LSovCit2YXIgQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCA9IFN5bWJvbCgpOwor
ZnVuY3Rpb24gaW5uZXIoKSB7CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0LCBidXQgaXMg
Zm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0cmljdCBmdW5jdGlvbiBv
YmplY3QKKyAgcmV0dXJuIGlubmVyLmhhc093blByb3BlcnR5KCJjYWxsZXIiKQorICAgID8gaW5u
ZXIuY2FsbGVyCisgICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUOworfQor
Cit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBmOworZiA9ICgpID0+IHsKKyAgInVzZSBzdHJpY3Qi
OworICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBp
biB0aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEg
InRydWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRo
YXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBoZXJlLgorICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJv
bSB0d28gZGlmZmVyZW50IGNhc2UgZmlsZXMsIHdoaWNoIHVzZQorICAvLyB0aGUgc2FtZSB0ZW1w
bGF0ZXMuCisgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihpbm5lciwgImNhbGxlciIpOworICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZp
Z3VyYWJsZSAmJiB0cnVlKSB7CisgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2Fs
bGVyIiwge2dldCgpe3JldHVybiAxfX0pOworICB9CisgIHZhciByZXN1bHQgPSBpbm5lcigpOwor
ICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7Cisg
ICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBv
d24gImNhbGxlciIgcHJvcGVydHkgb24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNob3Vs
ZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRv
LicpOworICB9CisgIC8vICJDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBm
cm9tCisgIC8vIGZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmNhc2UK
KyAgLy8KKyAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJv
cGVydHkKKyAgLy8gbmFtZWQgImNhbGxlciIsIHRoZW4gaXRzIHZhbHVlIHdpbGwgYmUgcmV0dXJu
ZWQuCisgIC8vCisgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBo
YXZlIGFuCisgIC8vIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiwgdGhlbiB0aGUgc3ltYm9s
CisgIC8vIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qgd2lsbCBiZSByZXR1cm5l
ZC4KKyAgaWYgKHJlc3VsdCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkg
eworICAgIGFzc2VydC5ub3RTYW1lVmFsdWUocmVzdWx0LCBmKTsKKyAgfQorICBjYWxsQ291bnQr
KzsKK307CisKK2YoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnYXJyb3cgZnVu
Y3Rpb24gYm9keSBldmFsdWF0ZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fycm93LWZ1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjIvYXJy
b3ctZnVuY3Rpb24tZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVy
LXZhbHVlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXJy
b3ctZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9hcnJvdy1mdW5jdGlvbi1mb3JiaWRkZW4tZXh0
LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzI3
OGE3NzQ5YzkyZTgwYWIxZTg0ZTg1M2JkMzY0ZmI4ZTljYWI5OQotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fycm93LWZ1bmN0aW9u
L2ZvcmJpZGRlbi1leHQvYjIvYXJyb3ctZnVuY3Rpb24tZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1h
Y2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzCkBAIC0wLDAgKzEsNjAgQEAKKy8vIFRoaXMg
ZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNl
czoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNz
LW93bi1wcm9wLWNhbGxlci12YWx1ZS5jYXNlCisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3Ji
aWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQtdHdvL2Fycm93LWZ1bmN0aW9uLnRlbXBsYXRlCisvKi0t
LQorZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVyIChhcnJvdyBmdW5j
dGlvbiBleHByZXNzaW9uKQorZXNpZDogc2VjLWFycm93LWRlZmluaXRpb25zLXJ1bnRpbWUtc2Vt
YW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbYXJyb3ctZnVuY3Rpb25dCitmbGFnczogW2dl
bmVyYXRlZCwgbm9TdHJpY3RdCitpbmZvOiB8CisgICAgQXJyb3dGdW5jdGlvbiA6IEFycm93UGFy
YW1ldGVycyA9PiBDb25jaXNlQm9keQorCisKKyAgICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRl
bmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxl
ciIgdGhlIHZhbHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tH
ZXRdXSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9u
CisgICAgb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9u
IHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAgICBhdHRyaWJ1
dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQuCisKKy0t
LSovCit2YXIgQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCA9IFN5bWJvbCgpOwor
ZnVuY3Rpb24gaW5uZXIoKSB7CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0LCBidXQgaXMg
Zm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0cmljdCBmdW5jdGlvbiBv
YmplY3QKKyAgcmV0dXJuIGlubmVyLmhhc093blByb3BlcnR5KCJjYWxsZXIiKQorICAgID8gaW5u
ZXIuY2FsbGVyCisgICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUOworfQor
Cit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBmOworZiA9ICgpID0+IHsKKyAgInVzZSBzdHJpY3Qi
OworICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBp
biB0aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEg
InRydWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRo
YXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBoZXJlLgorICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJv
bSB0d28gZGlmZmVyZW50IGNhc2UgZmlsZXMsIHdoaWNoIHVzZQorICAvLyB0aGUgc2FtZSB0ZW1w
bGF0ZXMuCisgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihpbm5lciwgImNhbGxlciIpOworICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZp
Z3VyYWJsZSAmJiB0cnVlKSB7CisgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2Fs
bGVyIiwge3ZhbHVlOiAxfSk7CisgIH0KKyAgdmFyIHJlc3VsdCA9IGlubmVyKCk7CisgIGlmIChk
ZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICBhc3Nl
cnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMgdGVzdCBkZWZpbmVkIGFuIG93biAiY2Fs
bGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJlIGFj
Y2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4gdGhlIHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7Cisg
IH0KKyAgLy8gIkNBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAg
Ly8gZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAvLwor
ICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQor
ICAvLyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAg
Ly8KKyAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4K
KyAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgLy8g
Q0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCB3aWxsIGJlIHJldHVybmVkLgorICBp
ZiAocmVzdWx0ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAg
YXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIGYpOworICB9CisgIGNhbGxDb3VudCsrOworfTsK
KworZigpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdhcnJvdyBmdW5jdGlvbiBi
b2R5IGV2YWx1YXRlZCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvYXJyb3ctZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9hcnJvdy1mdW5j
dGlvbi1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fycm93LWZ1bmN0aW9uL2ZvcmJp
ZGRlbi1leHQvYjIvYXJyb3ctZnVuY3Rpb24tZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mt
cHJvcC1jYWxsZXIuanMKaW5kZXggN2Q0OGNiMDk1MTA0YmUzZjc0MTMyNmFiMGYyMzRkOWQwNzA2
OWY1MS4uZTQzYmU1MDU2YmUyNzlhODA3ZGU0N2NmNmY0YTgzYWQwN2YyNzA5MyAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXJyb3ctZnVuY3Rp
b24vZm9yYmlkZGVuLWV4dC9iMi9hcnJvdy1mdW5jdGlvbi1mb3JiaWRkZW4tZXh0LWluZGlyZWN0
LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9hcnJvdy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2Fycm93LWZ1bmN0
aW9uLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCkBAIC00LDI3
ICs0LDU3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2Fs
bGVyIChhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uKQogZXNpZDogc2VjLWFycm93LWRlZmluaXRp
b25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbYXJyb3ctZnVuY3Rp
b25dCiBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCiBpbmZvOiB8CiAgICAgQXJyb3dGdW5j
dGlvbiA6IEFycm93UGFyYW1ldGVycyA9PiBDb25jaXNlQm9keQogCi0gICAgSWYgYW4gaW1wbGVt
ZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5
IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZiB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1
c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3Qg
ZnVuY3Rpb24gb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0
aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0gYXR0cmlidXRl
IG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgorCisgICAg
SWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4g
b3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRoYXQgcHJvcGVy
dHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0
IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbgorICAgIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNz
b3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVy
dHkncyBbW0dldF1dCisgICAgYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1
bmN0aW9uIHdoZW4gY2FsbGVkLgogCiAtLS0qLwordmFyIENBTExFUl9PV05fUFJPUEVSVFlfRE9F
U19OT1RfRVhJU1QgPSBTeW1ib2woKTsKIGZ1bmN0aW9uIGlubmVyKCkgewotICAvLyBUaGlzIHBy
b3BlcnR5IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgc3RyaWN0IGZ1
bmN0aW9uIG9iamVjdAotICByZXR1cm4gaW5uZXIuY2FsbGVyOworICAvLyBUaGlzIHByb3BlcnR5
IG1heSBleGlzdCwgYnV0IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMg
YSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Qcm9wZXJ0eSgi
Y2FsbGVyIikKKyAgICA/IGlubmVyLmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9QUk9QRVJUWV9E
T0VTX05PVF9FWElTVDsKIH0KIAogdmFyIGNhbGxDb3VudCA9IDA7CiB2YXIgZjsKIGYgPSAoKSA9
PiB7CiAgICJ1c2Ugc3RyaWN0IjsKLSAgaW5uZXIoKS50b1N0cmluZygpOworICAvLyBUaGlzIGFu
ZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5j
YXNlIGZpbGUuCisgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhl
cmUsIHRoZXJlIGlzIGEKKyAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNl
IiB2YWx1ZSBoZXJlLgorICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50
IGNhc2UgZmlsZXMsIHdoaWNoIHVzZQorICAvLyB0aGUgc2FtZSB0ZW1wbGF0ZXMuCisgIGxldCBk
ZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbm5lciwgImNhbGxl
ciIpOworICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiBmYWxz
ZSkgeworICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbm5lciwgImNhbGxlciIsIHt9KTsKKyAg
fQorICB2YXIgcmVzdWx0ID0gaW5uZXIoKTsKKyAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRv
ci5jb25maWd1cmFibGUgJiYgZmFsc2UpIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwg
MSwgJ0lmIHRoaXMgdGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUg
aW5uZXIgZnVuY3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCBy
ZXR1cm4gdGhlIHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgIH0KKyAgLy8gIkNBTExFUl9PV05f
UFJPUEVSVFlfRE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAgLy8gZm9yYmlkZGVuLWV4dC1pbmRp
cmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAvLworICAvLyBJZiB0aGUgZnVuY3Rpb24g
b2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAvLyBuYW1lZCAiY2FsbGVyIiwg
dGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgLy8KKyAgLy8gSWYgdGhlIGZ1bmN0
aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgLy8gb3duIHByb3BlcnR5IG5h
bWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9E
T0VTX05PVF9FWElTVCB3aWxsIGJlIHJldHVybmVkLgorICBpZiAocmVzdWx0ICE9PSBDQUxMRVJf
T1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShy
ZXN1bHQsIGYpOworICB9CiAgIGNhbGxDb3VudCsrOwogfTsKIAotYXNzZXJ0LnRocm93cyhUeXBl
RXJyb3IsIGZ1bmN0aW9uKCkgewotICBmKCk7Ci19KTsKLWFzc2VydC5zYW1lVmFsdWUoY2FsbENv
dW50LCAwLCAnYXJyb3cgZnVuY3Rpb24gYm9keSBub3QgZXZhbHVhdGVkJyk7CitmKCk7Cithc3Nl
cnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Fycm93IGZ1bmN0aW9uIGJvZHkgZXZhbHVhdGVk
Jyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9hc3luYy1hcnJvdy1mdW5jdGlvbi9hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXItZXNjYXBl
ZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWFy
cm93LWZ1bmN0aW9uL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci1lc2NhcGVkLmpzCmluZGV4
IGQ0MDRiNTcxYjRlZDFiNDIxZTQxYTE3YjgwODM2OTI5MWZmZGZjODkuLmEwN2Q3MmQ2MDU4NzJj
NDNkNmM0MjkzMjY2OTgyMjFiNjNlOGQxYWYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWFycm93LWZ1bmN0aW9uL2F3YWl0LWFzLWJp
bmRpbmctaWRlbnRpZmllci1lc2NhcGVkLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWFycm93LWZ1bmN0aW9uL2F3YWl0LWFzLWJpbmRpbmct
aWRlbnRpZmllci1lc2NhcGVkLmpzCkBAIC0yOSw2ICsyOSw2IEBAIGluZm86IHwKICRET05PVEVW
QUxVQVRFKCk7CiAKIAotYXN5bmMoKSA9PiB7Cithc3luYyAoKSA9PiB7CiAgIHZhciBcdTAwNjF3
YWl0OwotfTsKK30KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2FzeW5jLWFycm93LWZ1bmN0aW9uL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmll
ci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWFy
cm93LWZ1bmN0aW9uL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci5qcwppbmRleCBlNGFmZjgy
OWNlYmNhYzA4ODBlYjcwMjhkNWY4YmM2NmZhMWJlM2QwLi45ODBlN2I2ODFjMTk4OTJlMGFkYzBm
NWI0ZTFjYWZhZTM2ZTg0NWMzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9hc3luYy1hcnJvdy1mdW5jdGlvbi9hd2FpdC1hcy1iaW5kaW5nLWlk
ZW50aWZpZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvYXN5bmMtYXJyb3ctZnVuY3Rpb24vYXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVyLmpzCkBA
IC0yOSw2ICsyOSw2IEBAIGluZm86IHwKICRET05PVEVWQUxVQVRFKCk7CiAKIAotYXN5bmMoKSA9
PiB7Cithc3luYyAoKSA9PiB7CiAgIHZhciBhd2FpdDsKLX07Cit9CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1hcnJvdy1mdW5jdGlv
bi9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS1lc2NhcGVkLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtYXJyb3ctZnVuY3Rpb24vYXdhaXQt
YXMtaWRlbnRpZmllci1yZWZlcmVuY2UtZXNjYXBlZC5qcwppbmRleCBiOTllMGZmODIzMDA2OTk1
NWFjNDYwNmQ0ZjM1MWZhNWM2ZDI3YmJhLi43NjZhMTg1Yzg1ZWNlOGNjOTRlMzBiZTBmNWM0Zjk3
OTc0MTU4ZGY4IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9hc3luYy1hcnJvdy1mdW5jdGlvbi9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5j
ZS1lc2NhcGVkLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2FzeW5jLWFycm93LWZ1bmN0aW9uL2F3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLWVz
Y2FwZWQuanMKQEAgLTI5LDYgKzI5LDYgQEAgaW5mbzogfAogJERPTk9URVZBTFVBVEUoKTsKIAog
Ci1hc3luYygpID0+IHsKK2FzeW5jICgpID0+IHsKICAgdm9pZCBcdTAwNjF3YWl0OwotfTsKK30K
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Fz
eW5jLWFycm93LWZ1bmN0aW9uL2F3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtYXJyb3ctZnVuY3Rp
b24vYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UuanMKaW5kZXggZmYwYTJiNTkwYTI4Yjgw
N2FkNzE1OGFjYzg2MmUyZmMwOTNiYjJjZi4uZjdkMTE0NGE1YWJkNDM2MDU2MjY3Y2Y2MTRmYTBh
Mzk3ZGY4YTZkNCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXN5bmMtYXJyb3ctZnVuY3Rpb24vYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVu
Y2UuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5
bmMtYXJyb3ctZnVuY3Rpb24vYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UuanMKQEAgLTI5
LDYgKzI5LDYgQEAgaW5mbzogfAogJERPTk9URVZBTFVBVEUoKTsKIAogCi1hc3luYygpID0+IHsK
K2FzeW5jICgpID0+IHsKICAgdm9pZCBhd2FpdDsKLX07Cit9CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1hcnJvdy1mdW5jdGlvbi9h
d2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLWVzY2FwZWQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1hcnJvdy1mdW5jdGlvbi9hd2FpdC1hcy1sYWJl
bC1pZGVudGlmaWVyLWVzY2FwZWQuanMKaW5kZXggODkyZjNhODQwMTRlZTZlYzI3MTI3MjIyYjZl
NDI5ZTA0MDU5NmViYS4uYjU2ZGZiMDE5NThmMWQyNDdlOWY1ZTAwZTI5YTg5ZTA3ZmVjNWI4NyAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5
bmMtYXJyb3ctZnVuY3Rpb24vYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci1lc2NhcGVkLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWFycm93
LWZ1bmN0aW9uL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXItZXNjYXBlZC5qcwpAQCAtMjksNiAr
MjksNiBAQCBpbmZvOiB8CiAkRE9OT1RFVkFMVUFURSgpOwogCiAKLWFzeW5jKCkgPT4geworYXN5
bmMgKCkgPT4gewogICBcdTAwNjF3YWl0OiA7Ci19OworfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtYXJyb3ctZnVuY3Rpb24vYXdh
aXQtYXMtbGFiZWwtaWRlbnRpZmllci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2FzeW5jLWFycm93LWZ1bmN0aW9uL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZp
ZXIuanMKaW5kZXggMDI4NTA4MWY5OTc5NjYwMzU5NzdhYjMwZTJmZWU1NjY3ODBjMGZmZC4uYjJk
MTFhMWY3MGI5ZmQ0ODhkMTc1NjNiYTIzYzJlYmY3MzY0NzlhOCAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtYXJyb3ctZnVuY3Rpb24v
YXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1hcnJvdy1mdW5jdGlvbi9hd2FpdC1hcy1sYWJlbC1p
ZGVudGlmaWVyLmpzCkBAIC0yOSw2ICsyOSw2IEBAIGluZm86IHwKICRET05PVEVWQUxVQVRFKCk7
CiAKIAotYXN5bmMoKSA9PiB7Cithc3luYyAoKSA9PiB7CiAgIGF3YWl0OiA7Ci19OworfQpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMt
YXJyb3ctZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1hcnJvdy1mdW5jdGlvbi1mb3Ji
aWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1hcnJvdy1mdW5jdGlvbi9mb3JiaWRk
ZW4tZXh0L2IxL2FzeW5jLWFycm93LWZ1bmN0aW9uLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vz
cy1wcm9wLWFyZ3VtZW50cy5qcwppbmRleCA2NzI3NjZlNGQ2ZjcxY2NlZTIzMzc3MTI3ZDhiYzFk
Y2U5MTg3ZjAxLi5kNDQwNDI0ZWM2NjNmNDkxZDNhMDM5MmExY2Q5Yjc1ZWEzZTlmMDEzIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1h
cnJvdy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2FzeW5jLWFycm93LWZ1bmN0aW9uLWZvcmJp
ZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1hcnJvdy1mdW5jdGlvbi9mb3Ji
aWRkZW4tZXh0L2IxL2FzeW5jLWFycm93LWZ1bmN0aW9uLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFj
Y2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwpAQCAtMiw5ICsyLDkgQEAKIC8vIC0gc3JjL2Z1bmN0aW9u
LWZvcm1zL2ZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5jYXNlCiAv
LyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQtb25lL2Fz
eW5jLWFycm93LWZ1bmN0aW9uLnRlbXBsYXRlCiAvKi0tLQotZGVzY3JpcHRpb246IEZvcmJpZGRl
biBleHRlbnNpb24sIG8uYXJndW1lbnRzIChhc3luYyBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9u
KQorZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIGYuYXJndW1lbnRzIChhc3luYyBh
cnJvdyBmdW5jdGlvbiBleHByZXNzaW9uKQogZXNpZDogc2VjLWFzeW5jLWFycm93LWZ1bmN0aW9u
LWRlZmluaXRpb25zCi1mZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2ZlYXR1cmVzOiBbYXJy
b3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9uc10KIGZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmlj
dCwgYXN5bmNdCiBpbmZvOiB8CiAgICAgQXN5bmNBcnJvd0Z1bmN0aW9uIDoKQEAgLTE1LDcgKzE1
LDE2IEBAIGluZm86IHwKICAgICAgIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQogCiAKLSAgICBFQ01B
U2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0
b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9w
ZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVz
IGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVz
aW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sIEdlbmVyYXRvckRlY2xhcmF0
aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3lu
Y0dlbmVyYXRvckV4cHJlc3Npb24sIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwg
QXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IgQXN5
bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBj
b250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4gQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3Qg
ZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0
b3IgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5
bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24gY29uc3RydWN0b3Is
IGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5v
dCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24gcHJvcGVydGllcy4KKyAgICBFQ01BU2NyaXB0IGZ1
bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0
cmljdCBtb2RlIGNvZGUgbXVzdAorICAgIG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRp
ZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxz
bworICAgIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1
c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLAorICAgIEdlbmVyYXRvckRl
Y2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9u
LCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sCisgICAgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NF
eHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNz
aW9uLCBvcgorICAgIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhl
IGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuCisgICAgQnVpbHQt
aW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9u
IGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zCisgICAgY3JlYXRlZCB1c2luZyB0aGUg
R2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUg
QXN5bmNGdW5jdGlvbgorICAgIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNp
bmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3du
CisgICAgcHJvcGVydGllcy4KIAogLS0tKi8KIApAQCAtMjMsMTUgKzMyLDExIEBAIGluZm86IHwK
IHZhciBjYWxsQ291bnQgPSAwOwogdmFyIGY7CiBmID0gYXN5bmMgKCkgPT4gewotICBmLmFyZ3Vt
ZW50czsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShmLmhhc093blByb3BlcnR5KCJhcmd1bWVudHMiKSwg
ZmFsc2UpOwogICBjYWxsQ291bnQrKzsKIH07CiAKIGYoKQotICAudGhlbihfID0+IHsKLSAgICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdmdW5jdGlvbiBzaG91bGQgbm90IGJlIHJlc29sdmVkJyk7
Ci0gIH0sIGVycm9yID0+IGFzc2VydC5zYW1lVmFsdWUoZXJyb3IuY29uc3RydWN0b3IsIFR5cGVF
cnJvcikpCiAgIC50aGVuKCgpID0+IHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwg
MCwgJ2Z1bmN0aW9uIGJvZHkgaXMgbm90IGV2YWx1YXRlZCcpOwotICB9LCAkRE9ORSkKLSAgLnRo
ZW4oJERPTkUsICRET05FKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1
bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CisgIH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9h
c3luYy1hcnJvdy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2FzeW5jLWFycm93LWZ1bmN0aW9u
LWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWFycm93LWZ1bmN0aW9uL2ZvcmJp
ZGRlbi1leHQvYjEvYXN5bmMtYXJyb3ctZnVuY3Rpb24tZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNj
ZXNzLXByb3AtY2FsbGVyLmpzCmluZGV4IDQzNmIwYTNlN2ZjZmJlNTM4ZGFjYzE3NWQyMDgxYTg5
MmU3MWZmMTcuLmFmNWI2NTFjZmRjYTdiZjA2YmM1ZmRmMzY2MjJkMTI0YzY3ZmNiZjAgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWFy
cm93LWZ1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjEvYXN5bmMtYXJyb3ctZnVuY3Rpb24tZm9yYmlk
ZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWFycm93LWZ1bmN0aW9uL2ZvcmJpZGRl
bi1leHQvYjEvYXN5bmMtYXJyb3ctZnVuY3Rpb24tZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNz
LXByb3AtY2FsbGVyLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBGb3Ji
aWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoYXN5bmMgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lv
bikKIGVzaWQ6IHNlYy1hc3luYy1hcnJvdy1mdW5jdGlvbi1kZWZpbml0aW9ucwotZmVhdHVyZXM6
IFthc3luYy1mdW5jdGlvbnNdCitmZWF0dXJlczogW2Fycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5j
dGlvbnNdCiBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5jXQogaW5mbzogfAogICAg
IEFzeW5jQXJyb3dGdW5jdGlvbiA6CkBAIC0xNSw3ICsxNSwxNiBAQCBpbmZvOiB8CiAgICAgICB7
IEFzeW5jRnVuY3Rpb25Cb2R5IH0KIAogCi0gICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3Rz
IGRlZmluZWQgdXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2Rl
IG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBv
ciAiYXJndW1lbnRzIi4gU3VjaCBvd24gcHJvcGVydGllcyBhbHNvIG11c3Qgbm90IGJlIGNyZWF0
ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBN
ZXRob2REZWZpbml0aW9uLCBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lv
biwgQXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLCBD
bGFzc0RlY2xhcmF0aW9uLCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlv
biwgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24sIG9yIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRs
ZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2Rl
IGNvZGUuIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5n
IHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucyBjcmVhdGVkIHVz
aW5nIHRoZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVz
aW5nIHRoZSBBc3luY0Z1bmN0aW9uIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQg
dXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2gg
b3duIHByb3BlcnRpZXMuCisgICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQg
dXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3QKKyAg
ICBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJh
cmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28KKyAgICBtdXN0IG5vdCBiZSBjcmVh
dGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwg
TWV0aG9kRGVmaW5pdGlvbiwKKyAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhw
cmVzc2lvbiwgQXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNz
aW9uLAorICAgIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlv
bkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IKKyAgICBBc3luY0Fycm93
RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5l
ZCBpbiBzdHJpY3QgbW9kZSBjb2RlLgorICAgIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1
bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9y
IGZ1bmN0aW9ucworICAgIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3Rvciwg
YXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24KKyAgICBjb25z
dHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNv
IG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93bgorICAgIHByb3BlcnRpZXMuCiAKIC0t
LSovCiAKQEAgLTIzLDE1ICszMiwxMSBAQCBpbmZvOiB8CiB2YXIgY2FsbENvdW50ID0gMDsKIHZh
ciBmOwogZiA9IGFzeW5jICgpID0+IHsKLSAgZi5jYWxsZXI7CisgIGFzc2VydC5zYW1lVmFsdWUo
Zi5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIiksIGZhbHNlKTsKICAgY2FsbENvdW50Kys7CiB9Owog
CiBmKCkKLSAgLnRoZW4oXyA9PiB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignZnVuY3Rp
b24gc2hvdWxkIG5vdCBiZSByZXNvbHZlZCcpOwotICB9LCBlcnJvciA9PiBhc3NlcnQuc2FtZVZh
bHVlKGVycm9yLmNvbnN0cnVjdG9yLCBUeXBlRXJyb3IpKQogICAudGhlbigoKSA9PiB7Ci0gICAg
YXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdmdW5jdGlvbiBib2R5IGlzIG5vdCBldmFs
dWF0ZWQnKTsKLSAgfSwgJERPTkUpCi0gIC50aGVuKCRET05FLCAkRE9ORSk7CisgICAgYXNzZXJ0
LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcpOworICB9
LCAkRE9ORSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtYXJyb3ctZnVuY3Rpb24vZm9yYmlkZGVu
LWV4dC9iMi9hc3luYy1hcnJvdy1mdW5jdGlvbi1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vz
cy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvYXN5bmMtYXJyb3ctZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1h
cnJvdy1mdW5jdGlvbi1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxs
ZXItZ2V0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2ODAzY2Q4MDU1NjU3NzFjZmM3NTQ0ZWMzNzJkNmVhMzZm
M2EzMzcKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9hc3luYy1hcnJvdy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWFy
cm93LWZ1bmN0aW9uLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxl
ci1nZXQuanMKQEAgLTAsMCArMSw2OCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkg
Z2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZnVuY3Rpb24t
Zm9ybXMvZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5j
YXNlCisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQt
dHdvL2FzeW5jLWFycm93LWZ1bmN0aW9uLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEZv
cmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVyIChhc3luYyBhcnJvdyBmdW5jdGlvbiBleHByZXNz
aW9uKQorZXNpZDogc2VjLWFzeW5jLWFycm93LWRlZmluaXRpb25zCitmZWF0dXJlczogW2Fycm93
LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnNdCitmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3Qs
IGFzeW5jXQoraW5mbzogfAorICAgIEFzeW5jQXJyb3dGdW5jdGlvbiA6CisgICAgICAuLi4KKyAg
ICAgIENvdmVyQ2FsbEV4cHJlc3Npb25BbmRBc3luY0Fycm93SGVhZCA9PiBBc3luY0NvbmNpc2VC
b2R5CisKKyAgICBBc3luY0NvbmNpc2VCb2R5IDoKKyAgICAgIHsgQXN5bmNGdW5jdGlvbkJvZHkg
fQorCisKKyAgICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmpl
Y3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZhbHVlIG9mCisgICAg
dGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBbW0dldE93blByb3Bl
cnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9uCisgICAgb2JqZWN0LiBJZiBpdCBp
cyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9m
IHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAgICBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4g
YSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQuCisKKy0tLSovCit2YXIgQ0FMTEVSX09XTl9Q
Uk9QRVJUWV9ET0VTX05PVF9FWElTVCA9IFN5bWJvbCgpOworZnVuY3Rpb24gaW5uZXIoKSB7Cisg
IC8vIFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0LCBidXQgaXMgZm9yYmlkZGVuIGZyb20gaGF2aW5n
IGEgdmFsdWUgdGhhdCBpcyBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKKyAgcmV0dXJuIGlubmVy
Lmhhc093blByb3BlcnR5KCJjYWxsZXIiKQorICAgID8gaW5uZXIuY2FsbGVyCisgICAgOiBDQUxM
RVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUOworfQorCisKK3ZhciBjYWxsQ291bnQgPSAw
OwordmFyIGY7CitmID0gYXN5bmMgKCkgPT4geworICAidXNlIHN0cmljdCI7CisgIC8vIFRoaXMg
YW5kIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uYWwgdmFsdWUgaXMgc2V0IGluIHRoZSB0ZXN0J3Mg
LmNhc2UgZmlsZS4KKyAgLy8gRm9yIGV2ZXJ5IHRlc3QgdGhhdCBoYXMgYSAidHJ1ZSIgdmFsdWUg
aGVyZSwgdGhlcmUgaXMgYQorICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMgYSAiZmFs
c2UiIHZhbHVlIGhlcmUuCisgIC8vIFRoZXkgYXJlIGdlbmVyYXRlZCBmcm9tIHR3byBkaWZmZXJl
bnQgY2FzZSBmaWxlcywgd2hpY2ggdXNlCisgIC8vIHRoZSBzYW1lIHRlbXBsYXRlcy4KKyAgbGV0
IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGlubmVyLCAiY2Fs
bGVyIik7CisgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRy
dWUpIHsKKyAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJjYWxsZXIiLCB7Z2V0KCl7
cmV0dXJuIDF9fSk7CisgIH0KKyAgdmFyIHJlc3VsdCA9IGlubmVyKCk7CisgIGlmIChkZXNjcmlw
dG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICBhc3NlcnQuc2Ft
ZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMgdGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBw
cm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2li
bGUgYW5kIHNob3VsZCByZXR1cm4gdGhlIHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgIH0KKyAg
Ly8gIkNBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAgLy8gZm9y
YmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAvLworICAvLyBJ
ZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAvLyBu
YW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgLy8KKyAg
Ly8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgLy8g
b3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgLy8gQ0FMTEVS
X09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCB3aWxsIGJlIHJldHVybmVkLgorICBpZiAocmVz
dWx0ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgYXNzZXJ0
Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIGYpOworICB9CisgIGNhbGxDb3VudCsrOworfTsKKworZigp
CisgIC50aGVuKCgpID0+IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1
bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CisgIH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9h
c3luYy1hcnJvdy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWFycm93LWZ1bmN0aW9u
LWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWFycm93LWZ1
bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtYXJyb3ctZnVuY3Rpb24tZm9yYmlkZGVuLWV4
dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQw
NTc3ZjliNzlkMjM1NmFiNDMwNjdiNGQzZjFiZDc2MDdmNGRiMjgKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1hcnJvdy1m
dW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWFycm93LWZ1bmN0aW9uLWZvcmJpZGRlbi1l
eHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5qcwpAQCAtMCwwICsxLDY4
IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9s
bG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWlu
ZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuY2FzZQorLy8gLSBzcmMvZnVuY3Rp
b24tZm9ybXMvZm9yYmlkZGVuLWV4dGVuc2lvbnMvYnVsbGV0LXR3by9hc3luYy1hcnJvdy1mdW5j
dGlvbi50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBv
LmNhbGxlciAoYXN5bmMgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbikKK2VzaWQ6IHNlYy1hc3lu
Yy1hcnJvdy1kZWZpbml0aW9ucworZmVhdHVyZXM6IFthcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVu
Y3Rpb25zXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0LCBhc3luY10KK2luZm86IHwKKyAg
ICBBc3luY0Fycm93RnVuY3Rpb24gOgorICAgICAgLi4uCisgICAgICBDb3ZlckNhbGxFeHByZXNz
aW9uQW5kQXN5bmNBcnJvd0hlYWQgPT4gQXN5bmNDb25jaXNlQm9keQorCisgICAgQXN5bmNDb25j
aXNlQm9keSA6CisgICAgICB7IEFzeW5jRnVuY3Rpb25Cb2R5IH0KKworCisgICAgSWYgYW4gaW1w
bGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3Bl
cnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRoYXQgcHJvcGVydHksIGFzIG9i
c2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBh
IHN0cmljdCBmdW5jdGlvbgorICAgIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVy
dHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dl
dF1dCisgICAgYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdo
ZW4gY2FsbGVkLgorCistLS0qLwordmFyIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJ
U1QgPSBTeW1ib2woKTsKK2Z1bmN0aW9uIGlubmVyKCkgeworICAvLyBUaGlzIHByb3BlcnR5IG1h
eSBleGlzdCwgYnV0IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgYSBz
dHJpY3QgZnVuY3Rpb24gb2JqZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Qcm9wZXJ0eSgiY2Fs
bGVyIikKKyAgICA/IGlubmVyLmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VT
X05PVF9FWElTVDsKK30KKworCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBmOworZiA9IGFzeW5j
ICgpID0+IHsKKyAgInVzZSBzdHJpY3QiOworICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgIC8vIEZv
ciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAg
Ly8gY29ycmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBoZXJlLgorICAv
LyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNhc2UgZmlsZXMsIHdoaWNo
IHVzZQorICAvLyB0aGUgc2FtZSB0ZW1wbGF0ZXMuCisgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbm5lciwgImNhbGxlciIpOworICBpZiAoZGVzY3Jp
cHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgT2JqZWN0LmRl
ZmluZVByb3BlcnR5KGlubmVyLCAiY2FsbGVyIiwge3ZhbHVlOiAxfSk7CisgIH0KKyAgdmFyIHJl
c3VsdCA9IGlubmVyKCk7CisgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJh
YmxlICYmIHRydWUpIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMg
dGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rp
b24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4gdGhlIHZh
bHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgIH0KKyAgLy8gIkNBTExFUl9PV05fUFJPUEVSVFlfRE9F
U19OT1RfRVhJU1QiIGlzIGZyb20KKyAgLy8gZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mt
cHJvcC1jYWxsZXIuY2FzZQorICAvLworICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5l
ciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAvLyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFs
dWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgLy8KKyAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAi
aW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIi
LCB0aGVuIHRoZSBzeW1ib2wKKyAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElT
VCB3aWxsIGJlIHJldHVybmVkLgorICBpZiAocmVzdWx0ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZ
X0RPRVNfTk9UX0VYSVNUKSB7CisgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIGYpOwor
ICB9CisgIGNhbGxDb3VudCsrOworfTsKKworZigpCisgIC50aGVuKCgpID0+IHsKKyAgICBhc3Nl
cnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7Cisg
IH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1hcnJvdy1mdW5jdGlvbi9mb3JiaWRk
ZW4tZXh0L2IyL2FzeW5jLWFycm93LWZ1bmN0aW9uLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNj
ZXNzLXByb3AtY2FsbGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvYXN5bmMtYXJyb3ctZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1hcnJvdy1m
dW5jdGlvbi1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwppbmRl
eCBkOTNmNjgwZTIxZmJkYzBhYmYxYjdhYWQ1YWM0ZTVmNmIzYTJmZWM3Li4wZTQ4OGY5YmJjYmFm
OWRhMDQ0NGIyMGYzNDUwODM2YzMwZjJhNjYzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1hcnJvdy1mdW5jdGlvbi9mb3JiaWRkZW4t
ZXh0L2IyL2FzeW5jLWFycm93LWZ1bmN0aW9uLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNz
LXByb3AtY2FsbGVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2FzeW5jLWFycm93LWZ1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtYXJyb3ct
ZnVuY3Rpb24tZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKQEAg
LTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8u
Y2FsbGVyIChhc3luYyBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uKQogZXNpZDogc2VjLWFzeW5j
LWFycm93LWRlZmluaXRpb25zCi1mZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2ZlYXR1cmVz
OiBbYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9uc10KIGZsYWdzOiBbZ2VuZXJhdGVkLCBu
b1N0cmljdCwgYXN5bmNdCiBpbmZvOiB8CiAgICAgQXN5bmNBcnJvd0Z1bmN0aW9uIDoKQEAgLTE1
LDEyICsxNSwxOCBAQCBpbmZvOiB8CiAgICAgICB7IEFzeW5jRnVuY3Rpb25Cb2R5IH0KIAogCi0g
ICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGgg
YW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZiB0aGF0IHByb3BlcnR5
LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBu
b3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9w
ZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtb
R2V0XV0gYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4g
Y2FsbGVkLgorICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9uIG9i
amVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2YKKyAg
ICB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJv
cGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24KKyAgICBvYmplY3QuIElmIGl0
IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUg
b2YgdGhlIHByb3BlcnR5J3MgW1tHZXRdXQorICAgIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVy
biBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KIAogLS0tKi8KK3ZhciBDQUxMRVJfT1dO
X1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7CiBmdW5jdGlvbiBpbm5lcigpIHsK
LSAgLy8gVGhpcyBwcm9wZXJ0eSBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0
IGlzIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKLSAgcmV0dXJuIGlubmVyLmNhbGxlcjsKKyAgLy8g
VGhpcyBwcm9wZXJ0eSBtYXkgZXhpc3QsIGJ1dCBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2
YWx1ZSB0aGF0IGlzIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdAorICByZXR1cm4gaW5uZXIuaGFz
T3duUHJvcGVydHkoImNhbGxlciIpCisgICAgPyBpbm5lci5jYWxsZXIKKyAgICA6IENBTExFUl9P
V05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Q7CiB9CiAKIApAQCAtMjgsMTUgKzM0LDM1IEBAIHZh
ciBjYWxsQ291bnQgPSAwOwogdmFyIGY7CiBmID0gYXN5bmMgKCkgPT4gewogICAidXNlIHN0cmlj
dCI7Ci0gIGlubmVyKCkudG9TdHJpbmcoKTsKKyAgLy8gVGhpcyBhbmQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRlc3QncyAuY2FzZSBmaWxlLgorICAvLyBG
b3IgZXZlcnkgdGVzdCB0aGF0IGhhcyBhICJ0cnVlIiB2YWx1ZSBoZXJlLCB0aGVyZSBpcyBhCisg
IC8vIGNvcnJlc3BvbmRpbmcgdGVzdCB0aGF0IGhhcyBhICJmYWxzZSIgdmFsdWUgaGVyZS4KKyAg
Ly8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdvIGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGlj
aCB1c2UKKyAgLy8gdGhlIHNhbWUgdGVtcGxhdGVzLgorICBsZXQgZGVzY3JpcHRvciA9IE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgaWYgKGRlc2Ny
aXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgZmFsc2UpIHsKKyAgICBPYmplY3Qu
ZGVmaW5lUHJvcGVydHkoaW5uZXIsICJjYWxsZXIiLCB7fSk7CisgIH0KKyAgdmFyIHJlc3VsdCA9
IGlubmVyKCk7CisgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYm
IGZhbHNlKSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0aGlzIHRlc3Qg
ZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkgb24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0
aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBp
dCB3YXMgc2V0IHRvLicpOworICB9CisgIC8vICJDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9U
X0VYSVNUIiBpcyBmcm9tCisgIC8vIGZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3At
Y2FsbGVyLmNhc2UKKyAgLy8KKyAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIGhh
cyBhbiBvd24gcHJvcGVydHkKKyAgLy8gbmFtZWQgImNhbGxlciIsIHRoZW4gaXRzIHZhbHVlIHdp
bGwgYmUgcmV0dXJuZWQuCisgIC8vCisgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVy
IiBET0VTIE5PVCBoYXZlIGFuCisgIC8vIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiwgdGhl
biB0aGUgc3ltYm9sCisgIC8vIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qgd2ls
bCBiZSByZXR1cm5lZC4KKyAgaWYgKHJlc3VsdCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VT
X05PVF9FWElTVCkgeworICAgIGFzc2VydC5ub3RTYW1lVmFsdWUocmVzdWx0LCBmKTsKKyAgfQog
ICBjYWxsQ291bnQrKzsKIH07CiAKIGYoKQotICAudGhlbihfID0+IHsKLSAgICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCdmdW5jdGlvbiBzaG91bGQgbm90IGJlIHJlc29sdmVkJyk7Ci0gIH0sIGVy
cm9yID0+IGFzc2VydC5zYW1lVmFsdWUoZXJyb3IuY29uc3RydWN0b3IsIFR5cGVFcnJvcikpCiAg
IC50aGVuKCgpID0+IHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2Z1bmN0
aW9uIGJvZHkgaXMgbm90IGV2YWx1YXRlZCcpOwotICB9LCAkRE9ORSkKLSAgLnRoZW4oJERPTkUs
ICRET05FKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJv
ZHkgZXZhbHVhdGVkJyk7CisgIH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5j
dGlvbi9hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXItZXNjYXBlZC5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL2F3YWl0LWFzLWJp
bmRpbmctaWRlbnRpZmllci1lc2NhcGVkLmpzCmluZGV4IGRjOGRiODAyNjcwYTdiY2QwMmYwZWU3
YzAyM2E5MGM1ZTQzZDUxMGIuLmE0MzliNzk3OTAyZGRjNmFiMDg4ZGU1YjI3MGMzZmZmMjZiYjYw
YWEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2FzeW5jLWZ1bmN0aW9uL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci1lc2NhcGVkLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0
aW9uL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci1lc2NhcGVkLmpzCkBAIC0yNSw2ICsyNSw2
IEBAIGluZm86IHwKICRET05PVEVWQUxVQVRFKCk7CiAKIAotdmFyIGZuID0gYXN5bmMgZnVuY3Rp
b24gKCkgewordmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiAoKSB7CiAgIHZhciBcdTAwNjF3
YWl0OwogfTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2FzeW5jLWZ1bmN0aW9uL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL2F3
YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci5qcwppbmRleCBhMTY2NDUwZWE4YTk4ZTYzZTU3MWRk
OGJhZDBlNTVlOWE1ZTEwODU4Li43NzU4M2Q3ZmQxMDM3MDYzYzc2ZmQxNjZkZjBkY2RlMjYyOTAx
NWEyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9hc3luYy1mdW5jdGlvbi9hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXIuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vYXdh
aXQtYXMtYmluZGluZy1pZGVudGlmaWVyLmpzCkBAIC0yNSw2ICsyNSw2IEBAIGluZm86IHwKICRE
T05PVEVWQUxVQVRFKCk7CiAKIAotdmFyIGZuID0gYXN5bmMgZnVuY3Rpb24gKCkgewordmFyIGFz
eW5jRm4gPSBhc3luYyBmdW5jdGlvbiAoKSB7CiAgIHZhciBhd2FpdDsKIH07CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlv
bi9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS1lc2NhcGVkLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vYXdhaXQtYXMtaWRl
bnRpZmllci1yZWZlcmVuY2UtZXNjYXBlZC5qcwppbmRleCA5YzJjNDEzMjA3N2IwZmZiMDJlYjNh
MTVmZjZhZmQ4YzhlMjQ3ODI1Li4wZjdkM2RlNzkwYzM2N2YzMGIwM2JlNDE3Y2MzOTc2Y2UwY2Qw
ZTlmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9hc3luYy1mdW5jdGlvbi9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS1lc2NhcGVkLmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1
bmN0aW9uL2F3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLWVzY2FwZWQuanMKQEAgLTI1LDYg
KzI1LDYgQEAgaW5mbzogfAogJERPTk9URVZBTFVBVEUoKTsKIAogCi12YXIgZm4gPSBhc3luYyBm
dW5jdGlvbiAoKSB7Cit2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uICgpIHsKICAgdm9pZCBc
dTAwNjF3YWl0OwogfTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL2F3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNl
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVu
Y3Rpb24vYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UuanMKaW5kZXggMjFhOTY4YTQyYjk4
NDYwYTk1YzkxMGExZTEzZjYyOThlNTUzNzEyMC4uOTAyMzM1Yzc3NTc3MDU0Nzc0ZGIyNTY4YjUw
N2FhMmVlMzQxYjU3OCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2Uu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMt
ZnVuY3Rpb24vYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UuanMKQEAgLTI1LDYgKzI1LDYg
QEAgaW5mbzogfAogJERPTk9URVZBTFVBVEUoKTsKIAogCi12YXIgZm4gPSBhc3luYyBmdW5jdGlv
biAoKSB7Cit2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uICgpIHsKICAgdm9pZCBhd2FpdDsK
IH07CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9hc3luYy1mdW5jdGlvbi9hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLWVzY2FwZWQuanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9h
d2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLWVzY2FwZWQuanMKaW5kZXggZjJjZTYzNzU2ZWI5YTRj
M2Y3NGY1ODVkM2E5YzgxNDU0ZGVjMGUzOC4uZjU4ZGY1ZWMwOGU0YzYyMGFhYTFkYzJiYzdiNzkw
ZjM4ZDA3ZWQ3MCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci1lc2NhcGVk
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5j
LWZ1bmN0aW9uL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXItZXNjYXBlZC5qcwpAQCAtMjUsNiAr
MjUsNiBAQCBpbmZvOiB8CiAkRE9OT1RFVkFMVUFURSgpOwogCiAKLXZhciBmbiA9IGFzeW5jIGZ1
bmN0aW9uICgpIHsKK3ZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gKCkgewogICBcdTAwNjF3
YWl0OiA7CiB9OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL2F3
YWl0LWFzLWxhYmVsLWlkZW50aWZpZXIuanMKaW5kZXggMmMxMGM5NmQ5MTRjNjUwNmM4ZjIzNDI4
ODU4YTdlMzVjYmE4Nzk4NC4uYTcxZDUwMjZkOTc0NzRkY2Q2Njg4ZjUxYzUyNjlmNTA2YzNiM2Fm
ZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
YXN5bmMtZnVuY3Rpb24vYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9hd2FpdC1h
cy1sYWJlbC1pZGVudGlmaWVyLmpzCkBAIC0yNSw2ICsyNSw2IEBAIGluZm86IHwKICRET05PVEVW
QUxVQVRFKCk7CiAKIAotdmFyIGZuID0gYXN5bmMgZnVuY3Rpb24gKCkgewordmFyIGFzeW5jRm4g
PSBhc3luYyBmdW5jdGlvbiAoKSB7CiAgIGF3YWl0OiA7CiB9OwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vZm9yYmlk
ZGVuLWV4dC9iMS9hc3luYy1mdW5jLWV4cHItbmFtZWQtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNj
ZXNzLXByb3AtYXJndW1lbnRzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1mdW5jLWV4cHIt
bmFtZWQtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCmluZGV4
IDhhNTVhOWFkY2Y5YzI0NzFkOGZkM2I1MjlhMzE1ZWZhYjI0OTRjZDYuLjljMzdjNTQyZjM1MTBm
NGZlZTBlMWIxNzBiZTE3ZWM0ZWRhYTdmOTIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjEv
YXN5bmMtZnVuYy1leHByLW5hbWVkLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFy
Z3VtZW50cy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9hc3luYy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2FzeW5jLWZ1bmMtZXhwci1uYW1lZC1m
b3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKQEAgLTIsMzEgKzIs
MzYgQEAKIC8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vz
cy1wcm9wLWFyZ3VtZW50cy5jYXNlCiAvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4t
ZXh0ZW5zaW9ucy9idWxsZXQtb25lL2FzeW5jLWZ1bmMtZXhwci1uYW1lZC50ZW1wbGF0ZQogLyot
LS0KLWRlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmFyZ3VtZW50cyAoYXN5bmMg
ZnVuY3Rpb24gbmFtZWQgZXhwcmVzc2lvbikKK2Rlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5z
aW9uLCBmLmFyZ3VtZW50cyAoYXN5bmMgZnVuY3Rpb24gbmFtZWQgZXhwcmVzc2lvbikKIGVzaWQ6
IHNlYy1hc3luYy1mdW5jdGlvbi1kZWZpbml0aW9ucwotZmVhdHVyZXM6IFthc3luYy1mdW5jdGlv
bnNdCitmZWF0dXJlczogW2Fycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnNdCiBmbGFnczog
W2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5jXQogaW5mbzogfAogICAgIEFzeW5jRnVuY3Rpb25F
eHByZXNzaW9uIDoKICAgICAgIGFzeW5jIGZ1bmN0aW9uIEJpbmRpbmdJZGVudGlmaWVyICggRm9y
bWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQogCiAKLSAgICBFQ01BU2NyaXB0
IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGlu
IHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVz
IG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28g
bXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFu
IEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBH
ZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVy
YXRvckV4cHJlc3Npb24sIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNG
dW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IgQXN5bmNBcnJv
d0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWlu
ZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4gQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rp
b25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVu
Y3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVu
Y3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24gY29uc3RydWN0b3IsIGFuZCBm
dW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBj
cmVhdGVkIHdpdGggc3VjaCBvd24gcHJvcGVydGllcy4KKyAgICBFQ01BU2NyaXB0IGZ1bmN0aW9u
IG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBt
b2RlIGNvZGUgbXVzdAorICAgIG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFt
ZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbworICAg
IG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBh
biBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLAorICAgIEdlbmVyYXRvckRlY2xhcmF0
aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3lu
Y0dlbmVyYXRvckV4cHJlc3Npb24sCisgICAgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNz
aW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBv
cgorICAgIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmlu
aXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuCisgICAgQnVpbHQtaW4gZnVu
Y3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0
cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zCisgICAgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJh
dG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNG
dW5jdGlvbgorICAgIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhl
IGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duCisgICAg
cHJvcGVydGllcy4KIAogLS0tKi8KIAogCiB2YXIgY2FsbENvdW50ID0gMDsKIHZhciBmID0gYXN5
bmMgZnVuY3Rpb24gZigpIHsKLSAgZi5hcmd1bWVudHM7CisgIGFzc2VydC5zYW1lVmFsdWUoZi5o
YXNPd25Qcm9wZXJ0eSgiYXJndW1lbnRzIiksIGZhbHNlKTsKICAgY2FsbENvdW50Kys7CiB9CiAK
IGYoKQotICAudGhlbihfID0+IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdmdW5jdGlv
biBzaG91bGQgbm90IGJlIHJlc29sdmVkJyk7Ci0gIH0sIGVycm9yID0+IGFzc2VydC5zYW1lVmFs
dWUoZXJyb3IuY29uc3RydWN0b3IsIFR5cGVFcnJvcikpCiAgIC50aGVuKCgpID0+IHsKLSAgICBh
c3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2Z1bmN0aW9uIGJvZHkgaXMgbm90IGV2YWx1
YXRlZCcpOwotICB9LCAkRE9ORSkKLSAgLnRoZW4oJERPTkUsICRET05FKTsKKyAgICBhc3NlcnQu
c2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CisgIH0s
ICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2Ix
L2FzeW5jLWZ1bmMtZXhwci1uYW1lZC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1j
YWxsZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3lu
Yy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2FzeW5jLWZ1bmMtZXhwci1uYW1lZC1mb3JiaWRk
ZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKaW5kZXggZjFlYzgxMThkMmZjNDIw
OTFlYjlmZWE3MjFjY2Q0YzEzOWVmMDJmOC4uMDE4MjdhMDg4Njk1NTllNjI1MDlhMTA0MjQzNDk3
MjhhYTMxMTc0MCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1mdW5jLWV4cHIt
bmFtZWQtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL2Zv
cmJpZGRlbi1leHQvYjEvYXN5bmMtZnVuYy1leHByLW5hbWVkLWZvcmJpZGRlbi1leHQtZGlyZWN0
LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwpAQCAtNCwyOSArNCwzNCBAQAogLyotLS0KIGRlc2NyaXB0
aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoYXN5bmMgZnVuY3Rpb24gbmFtZWQg
ZXhwcmVzc2lvbikKIGVzaWQ6IHNlYy1hc3luYy1mdW5jdGlvbi1kZWZpbml0aW9ucwotZmVhdHVy
ZXM6IFthc3luYy1mdW5jdGlvbnNdCitmZWF0dXJlczogW2Fycm93LWZ1bmN0aW9uLCBhc3luYy1m
dW5jdGlvbnNdCiBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5jXQogaW5mbzogfAog
ICAgIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uIDoKICAgICAgIGFzeW5jIGZ1bmN0aW9uIEJpbmRp
bmdJZGVudGlmaWVyICggRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQog
CiAKLSAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0
aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3QgYmUgY3JlYXRlZCB3
aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93
biBwcm9wZXJ0aWVzIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0
cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sIEdlbmVy
YXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xh
cmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sIENsYXNzRGVjbGFyYXRpb24sIENsYXNz
RXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVz
c2lvbiwgb3IgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVm
aW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4gQnVpbHQtaW4gZnVuY3Rp
b25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVj
dG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25z
dHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24g
Y29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2Qg
YWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24gcHJvcGVydGllcy4KKyAgICBF
Q01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3Ry
dWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdAorICAgIG5vdCBiZSBjcmVhdGVkIHdpdGgg
b3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHBy
b3BlcnRpZXMgYWxzbworICAgIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVj
dHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLAorICAg
IEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRv
ckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sCisgICAgQ2xhc3NEZWNsYXJh
dGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVu
Y3Rpb25FeHByZXNzaW9uLCBvcgorICAgIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9m
IHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUu
CisgICAgQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcg
dGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zCisgICAgY3JlYXRl
ZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRl
ZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbgorICAgIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25z
IGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3
aXRoIHN1Y2ggb3duCisgICAgcHJvcGVydGllcy4KIAogLS0tKi8KIAogCiB2YXIgY2FsbENvdW50
ID0gMDsKIHZhciBmID0gYXN5bmMgZnVuY3Rpb24gZigpIHsKLSAgZi5jYWxsZXI7CisgIGFzc2Vy
dC5zYW1lVmFsdWUoZi5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIiksIGZhbHNlKTsKICAgY2FsbENv
dW50Kys7CiB9CiAKIGYoKQotICAudGhlbihfID0+IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVy
cm9yKCdmdW5jdGlvbiBzaG91bGQgbm90IGJlIHJlc29sdmVkJyk7Ci0gIH0sIGVycm9yID0+IGFz
c2VydC5zYW1lVmFsdWUoZXJyb3IuY29uc3RydWN0b3IsIFR5cGVFcnJvcikpCiAgIC50aGVuKCgp
ID0+IHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2Z1bmN0aW9uIGJvZHkg
aXMgbm90IGV2YWx1YXRlZCcpOwotICB9LCAkRE9ORSkKLSAgLnRoZW4oJERPTkUsICRET05FKTsK
KyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVh
dGVkJyk7CisgIH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9mb3Ji
aWRkZW4tZXh0L2IxL2FzeW5jLWZ1bmMtZXhwci1uYW1lbGVzcy1mb3JiaWRkZW4tZXh0LWRpcmVj
dC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2FzeW5jLWZ1bmMt
ZXhwci1uYW1lbGVzcy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMu
anMKaW5kZXggMzQzMWJjNjJmODk5M2NlNDVjY2FmNzg5ZTgyZjQ1ZTVkM2YxMDYzZi4uNzkyMmQ3
MzA1OTAxMWI5Nzk5Yjc1ODBmYTViYWQ2NGVmZDA5OGI4ZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vZm9yYmlkZGVu
LWV4dC9iMS9hc3luYy1mdW5jLWV4cHItbmFtZWxlc3MtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNj
ZXNzLXByb3AtYXJndW1lbnRzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjEvYXN5bmMtZnVuYy1l
eHByLW5hbWVsZXNzLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5q
cwpAQCAtMiwzMSArMiwzNiBAQAogLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4
dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmNhc2UKIC8vIC0gc3JjL2Z1bmN0aW9uLWZv
cm1zL2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC1vbmUvYXN5bmMtZnVuYy1leHByLW5hbWVs
ZXNzLnRlbXBsYXRlCiAvKi0tLQotZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8u
YXJndW1lbnRzIChhc3luYyBmdW5jdGlvbiBuYW1lbGVzcyBleHByZXNzaW9uKQorZGVzY3JpcHRp
b246IEZvcmJpZGRlbiBleHRlbnNpb24sIGYuYXJndW1lbnRzIChhc3luYyBmdW5jdGlvbiBuYW1l
bGVzcyBleHByZXNzaW9uKQogZXNpZDogc2VjLWFzeW5jLWZ1bmN0aW9uLWRlZmluaXRpb25zCi1m
ZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2ZlYXR1cmVzOiBbYXJyb3ctZnVuY3Rpb24sIGFz
eW5jLWZ1bmN0aW9uc10KIGZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdCwgYXN5bmNdCiBpbmZv
OiB8CiAgICAgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24gOgogICAgICAgYXN5bmMgZnVuY3Rpb24g
KCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CiAKIAotICAgIEVDTUFT
Y3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBjb25zdHJ1Y3Rv
cnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3Bl
cnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMg
YWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNp
bmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwgR2VuZXJhdG9yRGVjbGFyYXRp
b24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2VuZXJhdG9yRGVjbGFyYXRpb24sIEFzeW5j
R2VuZXJhdG9yRXhwcmVzc2lvbiwgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBB
c3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvciBBc3lu
Y0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNv
bnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLiBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0cmljdCBm
dW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IsIGdlbmVyYXRv
ciBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3lu
YyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbiBjb25zdHJ1Y3Rvciwg
YW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90
IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93biBwcm9wZXJ0aWVzLgorICAgIEVDTUFTY3JpcHQgZnVu
Y3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3Ry
aWN0IG1vZGUgY29kZSBtdXN0CisgICAgbm90IGJlIGNyZWF0ZWQgd2l0aCBvd24gcHJvcGVydGll
cyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4gU3VjaCBvd24gcHJvcGVydGllcyBhbHNv
CisgICAgbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVz
aW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sCisgICAgR2VuZXJhdG9yRGVj
bGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2VuZXJhdG9yRGVjbGFyYXRpb24s
IEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwKKyAgICBDbGFzc0RlY2xhcmF0aW9uLCBDbGFzc0V4
cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNGdW5jdGlvbkV4cHJlc3Np
b24sIG9yCisgICAgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUg
ZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4KKyAgICBCdWlsdC1p
biBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rpb24g
Y29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMKKyAgICBjcmVhdGVkIHVzaW5nIHRoZSBH
ZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBB
c3luY0Z1bmN0aW9uCisgICAgY29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2lu
ZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24K
KyAgICBwcm9wZXJ0aWVzLgogCiAtLS0qLwogCiAKIHZhciBjYWxsQ291bnQgPSAwOwogdmFyIGYg
PSBhc3luYyBmdW5jdGlvbigpIHsKLSAgZi5hcmd1bWVudHM7CisgIGFzc2VydC5zYW1lVmFsdWUo
Zi5oYXNPd25Qcm9wZXJ0eSgiYXJndW1lbnRzIiksIGZhbHNlKTsKICAgY2FsbENvdW50Kys7CiB9
CiAKIGYoKQotICAudGhlbihfID0+IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdmdW5j
dGlvbiBzaG91bGQgbm90IGJlIHJlc29sdmVkJyk7Ci0gIH0sIGVycm9yID0+IGFzc2VydC5zYW1l
VmFsdWUoZXJyb3IuY29uc3RydWN0b3IsIFR5cGVFcnJvcikpCiAgIC50aGVuKCgpID0+IHsKLSAg
ICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2Z1bmN0aW9uIGJvZHkgaXMgbm90IGV2
YWx1YXRlZCcpOwotICB9LCAkRE9ORSkKLSAgLnRoZW4oJERPTkUsICRET05FKTsKKyAgICBhc3Nl
cnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7Cisg
IH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0
L2IxL2FzeW5jLWZ1bmMtZXhwci1uYW1lbGVzcy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3Mt
cHJvcC1jYWxsZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9hc3luYy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2FzeW5jLWZ1bmMtZXhwci1uYW1lbGVz
cy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKaW5kZXggZTIyNTIz
ODU3ZmYzMDIzNDNhYzJmNmUyMTk4YTEzNzcyNDc4NjkzNi4uN2UzZjc3OWNlYTA0YWY5YmQ4ZWZi
OTRjZmY2MTU1MmZjNDgxZjQ0NyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1m
dW5jLWV4cHItbmFtZWxlc3MtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVy
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5j
LWZ1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjEvYXN5bmMtZnVuYy1leHByLW5hbWVsZXNzLWZvcmJp
ZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwpAQCAtNCwyOSArNCwzNCBAQAog
LyotLS0KIGRlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoYXN5bmMg
ZnVuY3Rpb24gbmFtZWxlc3MgZXhwcmVzc2lvbikKIGVzaWQ6IHNlYy1hc3luYy1mdW5jdGlvbi1k
ZWZpbml0aW9ucwotZmVhdHVyZXM6IFthc3luYy1mdW5jdGlvbnNdCitmZWF0dXJlczogW2Fycm93
LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnNdCiBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3Qs
IGFzeW5jXQogaW5mbzogfAogICAgIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uIDoKICAgICAgIGFz
eW5jIGZ1bmN0aW9uICggRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQog
CiAKLSAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0
aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3QgYmUgY3JlYXRlZCB3
aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93
biBwcm9wZXJ0aWVzIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0
cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sIEdlbmVy
YXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xh
cmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sIENsYXNzRGVjbGFyYXRpb24sIENsYXNz
RXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVz
c2lvbiwgb3IgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVm
aW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4gQnVpbHQtaW4gZnVuY3Rp
b25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVj
dG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25z
dHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24g
Y29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2Qg
YWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24gcHJvcGVydGllcy4KKyAgICBF
Q01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3Ry
dWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdAorICAgIG5vdCBiZSBjcmVhdGVkIHdpdGgg
b3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHBy
b3BlcnRpZXMgYWxzbworICAgIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVj
dHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLAorICAg
IEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRv
ckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sCisgICAgQ2xhc3NEZWNsYXJh
dGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVu
Y3Rpb25FeHByZXNzaW9uLCBvcgorICAgIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9m
IHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUu
CisgICAgQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcg
dGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zCisgICAgY3JlYXRl
ZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRl
ZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbgorICAgIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25z
IGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3
aXRoIHN1Y2ggb3duCisgICAgcHJvcGVydGllcy4KIAogLS0tKi8KIAogCiB2YXIgY2FsbENvdW50
ID0gMDsKIHZhciBmID0gYXN5bmMgZnVuY3Rpb24oKSB7Ci0gIGYuY2FsbGVyOworICBhc3NlcnQu
c2FtZVZhbHVlKGYuaGFzT3duUHJvcGVydHkoImNhbGxlciIpLCBmYWxzZSk7CiAgIGNhbGxDb3Vu
dCsrOwogfQogCiBmKCkKLSAgLnRoZW4oXyA9PiB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJv
cignZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSByZXNvbHZlZCcpOwotICB9LCBlcnJvciA9PiBhc3Nl
cnQuc2FtZVZhbHVlKGVycm9yLmNvbnN0cnVjdG9yLCBUeXBlRXJyb3IpKQogICAudGhlbigoKSA9
PiB7Ci0gICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdmdW5jdGlvbiBib2R5IGlz
IG5vdCBldmFsdWF0ZWQnKTsKLSAgfSwgJERPTkUpCi0gIC50aGVuKCRET05FLCAkRE9ORSk7Cisg
ICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdmdW5jdGlvbiBib2R5IGV2YWx1YXRl
ZCcpOworICB9LCAkRE9ORSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vZm9yYmlk
ZGVuLWV4dC9iMi9hc3luYy1mdW5jLWV4cHItbmFtZWQtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1h
Y2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtZnVu
Yy1leHByLW5hbWVkLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxl
ci1nZXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMWZkZDAyMzBmNjAxNmQyMTM4NWJiMDBkZWY1YzczOTFhYWVl
MDQ4ZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtZnVuYy1leHBy
LW5hbWVkLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQu
anMKQEAgLTAsMCArMSw2NCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJh
dGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMv
Zm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5jYXNlCisv
LyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQtdHdvL2Fz
eW5jLWZ1bmMtZXhwci1uYW1lZC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBGb3JiaWRk
ZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoYXN5bmMgZnVuY3Rpb24gbmFtZWQgZXhwcmVzc2lvbikK
K2VzaWQ6IHNlYy1hc3luYy1kZWZpbml0aW9ucworZmVhdHVyZXM6IFthcnJvdy1mdW5jdGlvbiwg
YXN5bmMtZnVuY3Rpb25zXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0LCBhc3luY10KK2lu
Zm86IHwKKyAgICBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiA6CisgICAgICBhc3luYyBmdW5jdGlv
biBCaW5kaW5nSWRlbnRpZmllciAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVuY3Rpb25C
b2R5IH0KKworCisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24g
b2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZgor
ICAgIHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Q
cm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbgorICAgIG9iamVjdC4gSWYg
aXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1
ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0
dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgorCistLS0qLwordmFyIENBTExFUl9P
V05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2woKTsKK2Z1bmN0aW9uIGlubmVyKCkg
eworICAvLyBUaGlzIHByb3BlcnR5IG1heSBleGlzdCwgYnV0IGlzIGZvcmJpZGRlbiBmcm9tIGhh
dmluZyBhIHZhbHVlIHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0CisgIHJldHVybiBp
bm5lci5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlubmVyLmNhbGxlcgorICAgIDog
Q0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVDsKK30KKworCit2YXIgY2FsbENvdW50
ID0gMDsKK3ZhciBmOworZiA9IGFzeW5jIGZ1bmN0aW9uIGYoKSB7CisgICJ1c2Ugc3RyaWN0IjsK
KyAgLy8gVGhpcyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4g
dGhlIHRlc3QncyAuY2FzZSBmaWxlLgorICAvLyBGb3IgZXZlcnkgdGVzdCB0aGF0IGhhcyBhICJ0
cnVlIiB2YWx1ZSBoZXJlLCB0aGVyZSBpcyBhCisgIC8vIGNvcnJlc3BvbmRpbmcgdGVzdCB0aGF0
IGhhcyBhICJmYWxzZSIgdmFsdWUgaGVyZS4KKyAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20g
dHdvIGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgLy8gdGhlIHNhbWUgdGVtcGxh
dGVzLgorICBsZXQgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
aW5uZXIsICJjYWxsZXIiKTsKKyAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1
cmFibGUgJiYgdHJ1ZSkgeworICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbm5lciwgImNhbGxl
ciIsIHtnZXQoKXtyZXR1cm4gMX19KTsKKyAgfQorICB2YXIgcmVzdWx0ID0gaW5uZXIoKTsKKyAg
aWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgdHJ1ZSkgeworICAg
IGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAxLCAnSWYgdGhpcyB0ZXN0IGRlZmluZWQgYW4gb3du
ICJjYWxsZXIiIHByb3BlcnR5IG9uIHRoZSBpbm5lciBmdW5jdGlvbiwgdGhlbiBpdCBzaG91bGQg
YmUgYWNjZXNzaWJsZSBhbmQgc2hvdWxkIHJldHVybiB0aGUgdmFsdWUgaXQgd2FzIHNldCB0by4n
KTsKKyAgfQorICAvLyAiQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCIgaXMgZnJv
bQorICAvLyBmb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5jYXNlCisg
IC8vCisgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBoYXMgYW4gb3duIHByb3Bl
cnR5CisgIC8vIG5hbWVkICJjYWxsZXIiLCB0aGVuIGl0cyB2YWx1ZSB3aWxsIGJlIHJldHVybmVk
LgorICAvLworICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgRE9FUyBOT1QgaGF2
ZSBhbgorICAvLyBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIsIHRoZW4gdGhlIHN5bWJvbAor
ICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQu
CisgIGlmIChyZXN1bHQgIT09IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QpIHsK
KyAgICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdCwgZik7CisgIH0KKyAgY2FsbENvdW50Kys7
Cit9CisKK2YoKQorICAudGhlbigoKSA9PiB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291
bnQsIDEsICdmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcpOworICB9LCAkRE9ORSkudGhlbigkRE9O
RSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1mdW5jLWV4cHIt
bmFtZWQtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVl
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVu
Y3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1mdW5jLWV4cHItbmFtZWQtZm9yYmlkZGVuLWV4
dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAz
ZWIxYWZlZTlmZTM4YTE0NGU5Njg1ZTMyZjhiMGFkYzEwZTkzZDkKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlv
bi9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWZ1bmMtZXhwci1uYW1lZC1mb3JiaWRkZW4tZXh0LWlu
ZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMKQEAgLTAsMCArMSw2NCBAQAor
Ly8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2lu
ZyBzb3VyY2VzOgorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dC1pbmRpcmVj
dC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmNhc2UKKy8vIC0gc3JjL2Z1bmN0aW9uLWZv
cm1zL2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC10d28vYXN5bmMtZnVuYy1leHByLW5hbWVk
LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2Fs
bGVyIChhc3luYyBmdW5jdGlvbiBuYW1lZCBleHByZXNzaW9uKQorZXNpZDogc2VjLWFzeW5jLWRl
ZmluaXRpb25zCitmZWF0dXJlczogW2Fycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnNdCitm
bGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5jXQoraW5mbzogfAorICAgIEFzeW5jRnVu
Y3Rpb25FeHByZXNzaW9uIDoKKyAgICAgIGFzeW5jIGZ1bmN0aW9uIEJpbmRpbmdJZGVudGlmaWVy
ICggRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQorCisKKyAgICBJZiBh
biBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24g
cHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZhbHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0eSwg
YXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90
IGJlIGEgc3RyaWN0IGZ1bmN0aW9uCisgICAgb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBw
cm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdz
IFtbR2V0XV0KKyAgICBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rp
b24gd2hlbiBjYWxsZWQuCisKKy0tLSovCit2YXIgQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05P
VF9FWElTVCA9IFN5bWJvbCgpOworZnVuY3Rpb24gaW5uZXIoKSB7CisgIC8vIFRoaXMgcHJvcGVy
dHkgbWF5IGV4aXN0LCBidXQgaXMgZm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBp
cyBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKKyAgcmV0dXJuIGlubmVyLmhhc093blByb3BlcnR5
KCJjYWxsZXIiKQorICAgID8gaW5uZXIuY2FsbGVyCisgICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZ
X0RPRVNfTk9UX0VYSVNUOworfQorCisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFyIGY7CitmID0g
YXN5bmMgZnVuY3Rpb24gZigpIHsKKyAgInVzZSBzdHJpY3QiOworICAvLyBUaGlzIGFuZCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5jYXNlIGZp
bGUuCisgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRo
ZXJlIGlzIGEKKyAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2YWx1
ZSBoZXJlLgorICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNhc2Ug
ZmlsZXMsIHdoaWNoIHVzZQorICAvLyB0aGUgc2FtZSB0ZW1wbGF0ZXMuCisgIGxldCBkZXNjcmlw
dG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbm5lciwgImNhbGxlciIpOwor
ICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7Cisg
ICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2FsbGVyIiwge3ZhbHVlOiAxfSk7Cisg
IH0KKyAgdmFyIHJlc3VsdCA9IGlubmVyKCk7CisgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0
b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwg
MSwgJ0lmIHRoaXMgdGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUg
aW5uZXIgZnVuY3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCBy
ZXR1cm4gdGhlIHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgIH0KKyAgLy8gIkNBTExFUl9PV05f
UFJPUEVSVFlfRE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAgLy8gZm9yYmlkZGVuLWV4dC1pbmRp
cmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAvLworICAvLyBJZiB0aGUgZnVuY3Rpb24g
b2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAvLyBuYW1lZCAiY2FsbGVyIiwg
dGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgLy8KKyAgLy8gSWYgdGhlIGZ1bmN0
aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgLy8gb3duIHByb3BlcnR5IG5h
bWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9E
T0VTX05PVF9FWElTVCB3aWxsIGJlIHJldHVybmVkLgorICBpZiAocmVzdWx0ICE9PSBDQUxMRVJf
T1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShy
ZXN1bHQsIGYpOworICB9CisgIGNhbGxDb3VudCsrOworfQorCitmKCkKKyAgLnRoZW4oKCkgPT4g
eworICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnZnVuY3Rpb24gYm9keSBldmFs
dWF0ZWQnKTsKKyAgfSwgJERPTkUpLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL2Zv
cmJpZGRlbi1leHQvYjIvYXN5bmMtZnVuYy1leHByLW5hbWVkLWZvcmJpZGRlbi1leHQtaW5kaXJl
Y3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1mdW5jLWV4
cHItbmFtZWQtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKaW5k
ZXggNzFkMDcwZmUzYjhjNjFlZTRhY2ViYjI4YThhOTUyYTA2MDBhZTk5Ny4uMTc1MDlmZGFiMDZm
MTI5OWE3Mjc1NmI4MWY4YjVjMzI1YTMxOWM2NyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9i
Mi9hc3luYy1mdW5jLWV4cHItbmFtZWQtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJv
cC1jYWxsZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvYXN5bmMtZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1mdW5jLWV4cHItbmFtZWQt
Zm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKQEAgLTQsMzQgKzQs
NjEgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIg
KGFzeW5jIGZ1bmN0aW9uIG5hbWVkIGV4cHJlc3Npb24pCiBlc2lkOiBzZWMtYXN5bmMtZGVmaW5p
dGlvbnMKLWZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zXQorZmVhdHVyZXM6IFthcnJvdy1mdW5j
dGlvbiwgYXN5bmMtZnVuY3Rpb25zXQogZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0LCBhc3lu
Y10KIGluZm86IHwKICAgICBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiA6CiAgICAgICBhc3luYyBm
dW5jdGlvbiBCaW5kaW5nSWRlbnRpZmllciAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVu
Y3Rpb25Cb2R5IH0KIAogCi0gICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVu
Y3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1
ZSBvZiB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3du
UHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0LiBJZiBpdCBp
cyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9m
IHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0gYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3Ry
aWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgorICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVu
ZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVy
IiB0aGUgdmFsdWUgb2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dl
dF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24K
KyAgICBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24g
dGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRdXQorICAgIGF0dHJpYnV0
ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KIAogLS0t
Ki8KK3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7CiBm
dW5jdGlvbiBpbm5lcigpIHsKLSAgLy8gVGhpcyBwcm9wZXJ0eSBpcyBmb3JiaWRkZW4gZnJvbSBo
YXZpbmcgYSB2YWx1ZSB0aGF0IGlzIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKLSAgcmV0dXJuIGlu
bmVyLmNhbGxlcjsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBtYXkgZXhpc3QsIGJ1dCBpcyBmb3JiaWRk
ZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdAor
ICByZXR1cm4gaW5uZXIuaGFzT3duUHJvcGVydHkoImNhbGxlciIpCisgICAgPyBpbm5lci5jYWxs
ZXIKKyAgICA6IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Q7CiB9CiAKIAogdmFy
IGNhbGxDb3VudCA9IDA7Ci12YXIgZiA9IGFzeW5jIGZ1bmN0aW9uIGYoKSB7Cit2YXIgZjsKK2Yg
PSBhc3luYyBmdW5jdGlvbiBmKCkgewogICAidXNlIHN0cmljdCI7Ci0gIGlubmVyKCkudG9TdHJp
bmcoKTsKKyAgLy8gVGhpcyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBz
ZXQgaW4gdGhlIHRlc3QncyAuY2FzZSBmaWxlLgorICAvLyBGb3IgZXZlcnkgdGVzdCB0aGF0IGhh
cyBhICJ0cnVlIiB2YWx1ZSBoZXJlLCB0aGVyZSBpcyBhCisgIC8vIGNvcnJlc3BvbmRpbmcgdGVz
dCB0aGF0IGhhcyBhICJmYWxzZSIgdmFsdWUgaGVyZS4KKyAgLy8gVGhleSBhcmUgZ2VuZXJhdGVk
IGZyb20gdHdvIGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgLy8gdGhlIHNhbWUg
dGVtcGxhdGVzLgorICBsZXQgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5j
b25maWd1cmFibGUgJiYgZmFsc2UpIHsKKyAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIs
ICJjYWxsZXIiLCB7fSk7CisgIH0KKyAgdmFyIHJlc3VsdCA9IGlubmVyKCk7CisgIGlmIChkZXNj
cmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIGZhbHNlKSB7CisgICAgYXNzZXJ0
LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxl
ciIgcHJvcGVydHkgb24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nl
c3NpYmxlIGFuZCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICB9
CisgIC8vICJDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9tCisgIC8v
IGZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmNhc2UKKyAgLy8KKyAg
Ly8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAg
Ly8gbmFtZWQgImNhbGxlciIsIHRoZW4gaXRzIHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQuCisgIC8v
CisgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFuCisg
IC8vIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiwgdGhlbiB0aGUgc3ltYm9sCisgIC8vIENB
TExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qgd2lsbCBiZSByZXR1cm5lZC4KKyAgaWYg
KHJlc3VsdCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkgeworICAgIGFz
c2VydC5ub3RTYW1lVmFsdWUocmVzdWx0LCBmKTsKKyAgfQogICBjYWxsQ291bnQrKzsKIH0KIAog
ZigpCi0gIC50aGVuKF8gPT4gewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ2Z1bmN0aW9u
IHNob3VsZCBub3QgYmUgcmVzb2x2ZWQnKTsKLSAgfSwgZXJyb3IgPT4gYXNzZXJ0LnNhbWVWYWx1
ZShlcnJvci5jb25zdHJ1Y3RvciwgVHlwZUVycm9yKSkKICAgLnRoZW4oKCkgPT4gewotICAgIGFz
c2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAwLCAnZnVuY3Rpb24gYm9keSBpcyBub3QgZXZhbHVh
dGVkJyk7Ci0gIH0sICRET05FKQotICAudGhlbigkRE9ORSwgJERPTkUpOworICAgIGFzc2VydC5z
YW1lVmFsdWUoY2FsbENvdW50LCAxLCAnZnVuY3Rpb24gYm9keSBldmFsdWF0ZWQnKTsKKyAgfSwg
JERPTkUpLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjIv
YXN5bmMtZnVuYy1leHByLW5hbWVsZXNzLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93
bi1wcm9wLWNhbGxlci1nZXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWZ1bmMtZXhwci1u
YW1lbGVzcy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjk1NmM2YTEwNjliNzNiNzMzYWI3YTNiYTNmODk4MTkyNzgyODI1NmQK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9hc3luYy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWZ1bmMtZXhwci1uYW1l
bGVzcy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0Lmpz
CkBAIC0wLDAgKzEsNjQgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRl
ZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2Zv
cmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuY2FzZQorLy8g
LSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dGVuc2lvbnMvYnVsbGV0LXR3by9hc3lu
Yy1mdW5jLWV4cHItbmFtZWxlc3MudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogRm9yYmlk
ZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIgKGFzeW5jIGZ1bmN0aW9uIG5hbWVsZXNzIGV4cHJlc3Np
b24pCitlc2lkOiBzZWMtYXN5bmMtZGVmaW5pdGlvbnMKK2ZlYXR1cmVzOiBbYXJyb3ctZnVuY3Rp
b24sIGFzeW5jLWZ1bmN0aW9uc10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdCwgYXN5bmNd
CitpbmZvOiB8CisgICAgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24gOgorICAgICAgYXN5bmMgZnVu
Y3Rpb24gKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CisKKworICAg
IElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFu
IG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2YKKyAgICB0aGF0IHByb3Bl
cnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVz
dCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24KKyAgICBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vz
c29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3Bl
cnR5J3MgW1tHZXRdXQorICAgIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBm
dW5jdGlvbiB3aGVuIGNhbGxlZC4KKworLS0tKi8KK3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZX0RP
RVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7CitmdW5jdGlvbiBpbm5lcigpIHsKKyAgLy8gVGhpcyBw
cm9wZXJ0eSBtYXkgZXhpc3QsIGJ1dCBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0
aGF0IGlzIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdAorICByZXR1cm4gaW5uZXIuaGFzT3duUHJv
cGVydHkoImNhbGxlciIpCisgICAgPyBpbm5lci5jYWxsZXIKKyAgICA6IENBTExFUl9PV05fUFJP
UEVSVFlfRE9FU19OT1RfRVhJU1Q7Cit9CisKKwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgZjsK
K2YgPSBhc3luYyBmdW5jdGlvbigpIHsKKyAgInVzZSBzdHJpY3QiOworICAvLyBUaGlzIGFuZCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5jYXNl
IGZpbGUuCisgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUs
IHRoZXJlIGlzIGEKKyAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2
YWx1ZSBoZXJlLgorICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNh
c2UgZmlsZXMsIHdoaWNoIHVzZQorICAvLyB0aGUgc2FtZSB0ZW1wbGF0ZXMuCisgIGxldCBkZXNj
cmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbm5lciwgImNhbGxlciIp
OworICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7
CisgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2FsbGVyIiwge2dldCgpe3JldHVy
biAxfX0pOworICB9CisgIHZhciByZXN1bHQgPSBpbm5lcigpOworICBpZiAoZGVzY3JpcHRvciAm
JiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1
ZShyZXN1bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVy
dHkgb24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFu
ZCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICB9CisgIC8vICJD
QUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9tCisgIC8vIGZvcmJpZGRl
bi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmNhc2UKKyAgLy8KKyAgLy8gSWYgdGhl
IGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAgLy8gbmFtZWQg
ImNhbGxlciIsIHRoZW4gaXRzIHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQuCisgIC8vCisgIC8vIElm
IHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFuCisgIC8vIG93biBw
cm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiwgdGhlbiB0aGUgc3ltYm9sCisgIC8vIENBTExFUl9PV05f
UFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qgd2lsbCBiZSByZXR1cm5lZC4KKyAgaWYgKHJlc3VsdCAh
PT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkgeworICAgIGFzc2VydC5ub3RT
YW1lVmFsdWUocmVzdWx0LCBmKTsKKyAgfQorICBjYWxsQ291bnQrKzsKK30KKworZigpCisgIC50
aGVuKCgpID0+IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9u
IGJvZHkgZXZhbHVhdGVkJyk7CisgIH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1m
dW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWZ1bmMtZXhwci1uYW1lbGVzcy1mb3JiaWRk
ZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9mb3JiaWRk
ZW4tZXh0L2IyL2FzeW5jLWZ1bmMtZXhwci1uYW1lbGVzcy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0
LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmM0Njc2OTYwNGEy
YTdlMWIzNGY4YzI3YjNmOWUxNjJmNjlmZDFmZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL2ZvcmJpZGRl
bi1leHQvYjIvYXN5bmMtZnVuYy1leHByLW5hbWVsZXNzLWZvcmJpZGRlbi1leHQtaW5kaXJlY3Qt
YWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5qcwpAQCAtMCwwICsxLDY0IEBACisvLyBUaGlz
IGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJj
ZXM6CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vz
cy1vd24tcHJvcC1jYWxsZXItdmFsdWUuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9y
YmlkZGVuLWV4dGVuc2lvbnMvYnVsbGV0LXR3by9hc3luYy1mdW5jLWV4cHItbmFtZWxlc3MudGVt
cGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIg
KGFzeW5jIGZ1bmN0aW9uIG5hbWVsZXNzIGV4cHJlc3Npb24pCitlc2lkOiBzZWMtYXN5bmMtZGVm
aW5pdGlvbnMKK2ZlYXR1cmVzOiBbYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9uc10KK2Zs
YWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdCwgYXN5bmNdCitpbmZvOiB8CisgICAgQXN5bmNGdW5j
dGlvbkV4cHJlc3Npb24gOgorICAgICAgYXN5bmMgZnVuY3Rpb24gKCBGb3JtYWxQYXJhbWV0ZXJz
ICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CisKKworICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4
dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2Fs
bGVyIiB0aGUgdmFsdWUgb2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBb
W0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rp
b24KKyAgICBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rp
b24gdGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRdXQorICAgIGF0dHJp
YnV0ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KKwor
LS0tKi8KK3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7
CitmdW5jdGlvbiBpbm5lcigpIHsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBtYXkgZXhpc3QsIGJ1dCBp
cyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEgc3RyaWN0IGZ1bmN0aW9u
IG9iamVjdAorICByZXR1cm4gaW5uZXIuaGFzT3duUHJvcGVydHkoImNhbGxlciIpCisgICAgPyBp
bm5lci5jYWxsZXIKKyAgICA6IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Q7Cit9
CisKKwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgZjsKK2YgPSBhc3luYyBmdW5jdGlvbigpIHsK
KyAgInVzZSBzdHJpY3QiOworICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFs
IHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgIC8vIEZvciBldmVyeSB0
ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgLy8gY29ycmVz
cG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBoZXJlLgorICAvLyBUaGV5IGFy
ZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNhc2UgZmlsZXMsIHdoaWNoIHVzZQorICAv
LyB0aGUgc2FtZSB0ZW1wbGF0ZXMuCisgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihpbm5lciwgImNhbGxlciIpOworICBpZiAoZGVzY3JpcHRvciAmJiBk
ZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgT2JqZWN0LmRlZmluZVByb3Bl
cnR5KGlubmVyLCAiY2FsbGVyIiwge3ZhbHVlOiAxfSk7CisgIH0KKyAgdmFyIHJlc3VsdCA9IGlu
bmVyKCk7CisgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRy
dWUpIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMgdGVzdCBkZWZp
bmVkIGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rpb24sIHRoZW4g
aXQgc2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4gdGhlIHZhbHVlIGl0IHdh
cyBzZXQgdG8uJyk7CisgIH0KKyAgLy8gIkNBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJ
U1QiIGlzIGZyb20KKyAgLy8gZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxs
ZXIuY2FzZQorICAvLworICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgaGFzIGFu
IG93biBwcm9wZXJ0eQorICAvLyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBi
ZSByZXR1cm5lZC4KKyAgLy8KKyAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIERP
RVMgTk9UIGhhdmUgYW4KKyAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRo
ZSBzeW1ib2wKKyAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCB3aWxsIGJl
IHJldHVybmVkLgorICBpZiAocmVzdWx0ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9U
X0VYSVNUKSB7CisgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIGYpOworICB9CisgIGNh
bGxDb3VudCsrOworfQorCitmKCkKKyAgLnRoZW4oKCkgPT4geworICAgIGFzc2VydC5zYW1lVmFs
dWUoY2FsbENvdW50LCAxLCAnZnVuY3Rpb24gYm9keSBldmFsdWF0ZWQnKTsKKyAgfSwgJERPTkUp
LnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMt
ZnVuYy1leHByLW5hbWVsZXNzLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2Fs
bGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMt
ZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1mdW5jLWV4cHItbmFtZWxlc3MtZm9yYmlk
ZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKaW5kZXggYmFkOWEwZjQwNjlj
MGJhNDU0YjU4NDc3OGYwNTkwYzU0NzViYjY0Mi4uYmE4ZDc2NGJiMmIwM2U4OWI3YWNjZWMyNjBk
NDY2OGJlNzYwNzAzZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1mdW5jLWV4
cHItbmFtZWxlc3MtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVu
Y3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1mdW5jLWV4cHItbmFtZWxlc3MtZm9yYmlkZGVu
LWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKQEAgLTQsMzQgKzQsNjEgQEAKIC8q
LS0tCiBkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIgKGFzeW5jIGZ1
bmN0aW9uIG5hbWVsZXNzIGV4cHJlc3Npb24pCiBlc2lkOiBzZWMtYXN5bmMtZGVmaW5pdGlvbnMK
LWZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zXQorZmVhdHVyZXM6IFthcnJvdy1mdW5jdGlvbiwg
YXN5bmMtZnVuY3Rpb25zXQogZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0LCBhc3luY10KIGlu
Zm86IHwKICAgICBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiA6CiAgICAgICBhc3luYyBmdW5jdGlv
biAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVuY3Rpb25Cb2R5IH0KIAogCi0gICAgSWYg
YW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3du
IHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZiB0aGF0IHByb3BlcnR5LCBhcyBv
YnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUg
YSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwg
dGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0g
YXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVk
LgorICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3
aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2YKKyAgICB0aGF0
IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHld
XSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24KKyAgICBvYmplY3QuIElmIGl0IGlzIGFu
IGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhl
IHByb3BlcnR5J3MgW1tHZXRdXQorICAgIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0
cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KIAogLS0tKi8KK3ZhciBDQUxMRVJfT1dOX1BST1BF
UlRZX0RPRVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7CiBmdW5jdGlvbiBpbm5lcigpIHsKLSAgLy8g
VGhpcyBwcm9wZXJ0eSBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIHN0
cmljdCBmdW5jdGlvbiBvYmplY3QKLSAgcmV0dXJuIGlubmVyLmNhbGxlcjsKKyAgLy8gVGhpcyBw
cm9wZXJ0eSBtYXkgZXhpc3QsIGJ1dCBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0
aGF0IGlzIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdAorICByZXR1cm4gaW5uZXIuaGFzT3duUHJv
cGVydHkoImNhbGxlciIpCisgICAgPyBpbm5lci5jYWxsZXIKKyAgICA6IENBTExFUl9PV05fUFJP
UEVSVFlfRE9FU19OT1RfRVhJU1Q7CiB9CiAKIAogdmFyIGNhbGxDb3VudCA9IDA7Ci12YXIgZiA9
IGFzeW5jIGZ1bmN0aW9uKCkgewordmFyIGY7CitmID0gYXN5bmMgZnVuY3Rpb24oKSB7CiAgICJ1
c2Ugc3RyaWN0IjsKLSAgaW5uZXIoKS50b1N0cmluZygpOworICAvLyBUaGlzIGFuZCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5jYXNlIGZpbGUu
CisgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRoZXJl
IGlzIGEKKyAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBo
ZXJlLgorICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNhc2UgZmls
ZXMsIHdoaWNoIHVzZQorICAvLyB0aGUgc2FtZSB0ZW1wbGF0ZXMuCisgIGxldCBkZXNjcmlwdG9y
ID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbm5lciwgImNhbGxlciIpOworICBp
ZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiBmYWxzZSkgeworICAg
IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbm5lciwgImNhbGxlciIsIHt9KTsKKyAgfQorICB2YXIg
cmVzdWx0ID0gaW5uZXIoKTsKKyAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1
cmFibGUgJiYgZmFsc2UpIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRo
aXMgdGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVu
Y3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4gdGhl
IHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgIH0KKyAgLy8gIkNBTExFUl9PV05fUFJPUEVSVFlf
RE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAgLy8gZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nl
c3MtcHJvcC1jYWxsZXIuY2FzZQorICAvLworICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJp
bm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAvLyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMg
dmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgLy8KKyAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVj
dCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJjYWxs
ZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9F
WElTVCB3aWxsIGJlIHJldHVybmVkLgorICBpZiAocmVzdWx0ICE9PSBDQUxMRVJfT1dOX1BST1BF
UlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIGYp
OworICB9CiAgIGNhbGxDb3VudCsrOwogfQogCiBmKCkKLSAgLnRoZW4oXyA9PiB7Ci0gICAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSByZXNvbHZlZCcpOwot
ICB9LCBlcnJvciA9PiBhc3NlcnQuc2FtZVZhbHVlKGVycm9yLmNvbnN0cnVjdG9yLCBUeXBlRXJy
b3IpKQogICAudGhlbigoKSA9PiB7Ci0gICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAs
ICdmdW5jdGlvbiBib2R5IGlzIG5vdCBldmFsdWF0ZWQnKTsKLSAgfSwgJERPTkUpCi0gIC50aGVu
KCRET05FLCAkRE9ORSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdmdW5j
dGlvbiBib2R5IGV2YWx1YXRlZCcpOworICB9LCAkRE9ORSkudGhlbigkRE9ORSwgJERPTkUpOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5
bmMtZnVuY3Rpb24vbmFtZWQtYXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVyLWVzY2FwZWQuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlv
bi9uYW1lZC1hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXItZXNjYXBlZC5qcwppbmRleCA4YTE4
MGQ1MzUwMjc4MDgwOTAyNTVmOGQ5NGViNzJhYTg4MWZhYTgyLi5mM2IxNTY0Yzk3YTJjNzkwZTMx
YTg2M2JmNWM1NDViNDFhOGM4ZWUxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9uYW1lZC1hd2FpdC1hcy1iaW5kaW5n
LWlkZW50aWZpZXItZXNjYXBlZC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9uYW1lZC1hd2FpdC1hcy1iaW5kaW5nLWlkZW50
aWZpZXItZXNjYXBlZC5qcwpAQCAtMjUsNiArMjUsNiBAQCBpbmZvOiB8CiAkRE9OT1RFVkFMVUFU
RSgpOwogCiAKLXZhciBmbiA9IGFzeW5jIGZ1bmN0aW9uIGZuKCkgewordmFyIGFzeW5jRm4gPSBh
c3luYyBmdW5jdGlvbiBhc3luY0ZuKCkgewogICB2YXIgXHUwMDYxd2FpdDsKIH07CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5j
dGlvbi9uYW1lZC1hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXIuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9uYW1lZC1hd2FpdC1h
cy1iaW5kaW5nLWlkZW50aWZpZXIuanMKaW5kZXggMDhiOWRhZjU0NTIyMzk3MzNjNTczNmRmNDEw
MzJiNzgwYjk0M2Y4NS4uMTRiZmQ2MGVjMjRmOTVhMDI5NWU2MzQ5NzYzN2Q2ZDY4ZDQ0ZjVmNiAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5
bmMtZnVuY3Rpb24vbmFtZWQtYXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVyLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL25h
bWVkLWF3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci5qcwpAQCAtMjUsNiArMjUsNiBAQCBpbmZv
OiB8CiAkRE9OT1RFVkFMVUFURSgpOwogCiAKLXZhciBmbiA9IGFzeW5jIGZ1bmN0aW9uIGZuKCkg
ewordmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiBhc3luY0ZuKCkgewogICB2YXIgYXdhaXQ7
CiB9OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvYXN5bmMtZnVuY3Rpb24vbmFtZWQtYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UtZXNj
YXBlZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5j
LWZ1bmN0aW9uL25hbWVkLWF3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLWVzY2FwZWQuanMK
aW5kZXggYjlhYTRhM2RmOTUzM2U2MzNmOGY2YWE2MjkzZDJkZjM4MmIwMmYwYS4uYWE4MGQ1YjNh
YjUyOGQ1ZWE4ODFmMWM4MGFkMDQ1ZTFlMzY2ODQ3YSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vbmFtZWQtYXdhaXQt
YXMtaWRlbnRpZmllci1yZWZlcmVuY2UtZXNjYXBlZC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9uYW1lZC1hd2FpdC1hcy1p
ZGVudGlmaWVyLXJlZmVyZW5jZS1lc2NhcGVkLmpzCkBAIC0yNSw2ICsyNSw2IEBAIGluZm86IHwK
ICRET05PVEVWQUxVQVRFKCk7CiAKIAotdmFyIGZuID0gYXN5bmMgZnVuY3Rpb24gZm4oKSB7Cit2
YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIGFzeW5jRm4oKSB7CiAgIHZvaWQgXHUwMDYxd2Fp
dDsKIH07CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9hc3luYy1mdW5jdGlvbi9uYW1lZC1hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0
aW9uL25hbWVkLWF3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLmpzCmluZGV4IDU5ODliMjdi
NTBiZTA5MGMzYmQ3YzAyMjBlMzU2YjYzYWMxY2FhMTEuLmRjY2E5YTc2N2M0YWI5NDY2MDExNzEx
NmU5MDA5NjdiZjcxMGNkYTUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL25hbWVkLWF3YWl0LWFzLWlkZW50aWZpZXIt
cmVmZXJlbmNlLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2FzeW5jLWZ1bmN0aW9uL25hbWVkLWF3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLmpz
CkBAIC0yNSw2ICsyNSw2IEBAIGluZm86IHwKICRET05PVEVWQUxVQVRFKCk7CiAKIAotdmFyIGZu
ID0gYXN5bmMgZnVuY3Rpb24gZm4oKSB7Cit2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIGFz
eW5jRm4oKSB7CiAgIHZvaWQgYXdhaXQ7CiB9OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vbmFtZWQtYXdhaXQtYXMt
bGFiZWwtaWRlbnRpZmllci1lc2NhcGVkLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvYXN5bmMtZnVuY3Rpb24vbmFtZWQtYXdhaXQtYXMtbGFiZWwtaWRlbnRp
Zmllci1lc2NhcGVkLmpzCmluZGV4IDI5MDMzNjhmMDkxZGM4OTI2OWE4YWUyMjZlYjQ0MGY4YjFk
N2FlMmQuLjBjMDAzY2I5NjZmOTQwMmIyMjQxMGQ1NDdhNDFlMDViZjFlMDFiMWYgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0
aW9uL25hbWVkLWF3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXItZXNjYXBlZC5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9uYW1l
ZC1hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLWVzY2FwZWQuanMKQEAgLTI1LDYgKzI1LDYgQEAg
aW5mbzogfAogJERPTk9URVZBTFVBVEUoKTsKIAogCi12YXIgZm4gPSBhc3luYyBmdW5jdGlvbiBm
bigpIHsKK3ZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24gYXN5bmNGbigpIHsKICAgXHUwMDYx
d2FpdDogOwogfTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL25hbWVkLWF3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXIu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5j
dGlvbi9uYW1lZC1hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLmpzCmluZGV4IDVlZDE1MjVmZGIx
NDEzNjU5NWQ4YTQzYzIyODA4NDc0N2Q5ZmY3NGEuLjZlNTg2YTM5MDQ4OTJhMTVkYmVmM2RjOWFk
ZDAzOGVkMzI1NDhhYzYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL25hbWVkLWF3YWl0LWFzLWxhYmVsLWlkZW50aWZp
ZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5
bmMtZnVuY3Rpb24vbmFtZWQtYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci5qcwpAQCAtMjUsNiAr
MjUsNiBAQCBpbmZvOiB8CiAkRE9OT1RFVkFMVUFURSgpOwogCiAKLXZhciBmbiA9IGFzeW5jIGZ1
bmN0aW9uIGZuKCkgewordmFyIGFzeW5jRm4gPSBhc3luYyBmdW5jdGlvbiBhc3luY0ZuKCkgewog
ICBhd2FpdDogOwogfTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL25hbWVkLXJldHVybnMtYXN5bmMtYXJyb3ctcmV0
dXJucy1hcmd1bWVudHMtZnJvbS1wYXJlbnQtZnVuY3Rpb24uanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9uYW1lZC1yZXR1cm5zLWFz
eW5jLWFycm93LXJldHVybnMtYXJndW1lbnRzLWZyb20tcGFyZW50LWZ1bmN0aW9uLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmQxZDhlM2QwNzg1OGQ1OWFiMTQ5ZWQ0YjFkMmUzYTYwNGExMmE3ZDgKLS0tIC9kZXYv
bnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3lu
Yy1mdW5jdGlvbi9uYW1lZC1yZXR1cm5zLWFzeW5jLWFycm93LXJldHVybnMtYXJndW1lbnRzLWZy
b20tcGFyZW50LWZ1bmN0aW9uLmpzCkBAIC0wLDAgKzEsMzAgQEAKKy8vIFRoaXMgZmlsZSB3YXMg
cHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0g
c3JjL2FzeW5jLWZ1bmN0aW9ucy9yZXR1cm5zLWFzeW5jLWFycm93LXJldHVybnMtYXJndW1lbnRz
LWZyb20tcGFyZW50LWZ1bmN0aW9uLmNhc2UKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9ldmFs
dWF0aW9uL2FzeW5jLWV4cHJlc3Npb24tbmFtZWQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlv
bjogQXN5bmMgZnVuY3Rpb24gcmV0dXJucyBhbiBhc3luYyBmdW5jdGlvbi4gKE5hbWVkIGFzeW5j
IGZ1bmN0aW9uIGV4cHJlc3Npb24pCitlc2lkOiBwcm9kLUFzeW5jRnVuY3Rpb25FeHByZXNzaW9u
CitmZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10K
K2luZm86IHwKKyAgICBBc3luYyBGdW5jdGlvbiBEZWZpbml0aW9ucworCisgICAgQXN5bmNGdW5j
dGlvbkV4cHJlc3Npb24gOgorICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIGZ1
bmN0aW9uIEJpbmRpbmdJZGVudGlmaWVyICggRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5j
dGlvbkJvZHkgfQorCistLS0qLworbGV0IGNvdW50ID0gMDsKKworCit2YXIgYXN5bmNGbiA9IGFz
eW5jIGZ1bmN0aW9uIGFzeW5jRm4oeCkgeworICBsZXQgYSA9IGFyZ3VtZW50czsKKyAgICByZXR1
cm4gYXN5bmMgKCkgPT4gYSA9PT0gYXJndW1lbnRzOworfTsKKworYXN5bmNGbigpLnRoZW4ocmV0
Rm4gPT4geworICBjb3VudCsrOworICByZXR1cm4gcmV0Rm4oKTsKK30pLnRoZW4ocmVzdWx0ID0+
IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIHRydWUpOworICBhc3NlcnQuc2FtZVZhbHVl
KGNvdW50LCAxKTsKK30pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL25hbWVkLXJl
dHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1uZXd0YXJnZXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9uYW1lZC1yZXR1cm5zLWFz
eW5jLWFycm93LXJldHVybnMtbmV3dGFyZ2V0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczODU0N2MyZmM2OTNk
MDMwNzM2YTczNTk1Yjg3ZjNhZDc3ZDk2MjUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9uYW1lZC1yZXR1
cm5zLWFzeW5jLWFycm93LXJldHVybnMtbmV3dGFyZ2V0LmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8v
IFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcg
c291cmNlczoKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9yZXR1cm5zLWFzeW5jLWFycm93LXJl
dHVybnMtbmV3dGFyZ2V0LmNhc2UKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9ldmFsdWF0aW9u
L2FzeW5jLWV4cHJlc3Npb24tbmFtZWQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXN5
bmMgZnVuY3Rpb24gcmV0dXJucyBhbiBhc3luYyBmdW5jdGlvbi4gKE5hbWVkIGFzeW5jIGZ1bmN0
aW9uIGV4cHJlc3Npb24pCitlc2lkOiBwcm9kLUFzeW5jRnVuY3Rpb25FeHByZXNzaW9uCitmZWF0
dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luZm86
IHwKKyAgICBBc3luYyBGdW5jdGlvbiBEZWZpbml0aW9ucworCisgICAgQXN5bmNGdW5jdGlvbkV4
cHJlc3Npb24gOgorICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIGZ1bmN0aW9u
IEJpbmRpbmdJZGVudGlmaWVyICggRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJv
ZHkgfQorCistLS0qLworbGV0IGNvdW50ID0gMDsKKworCit2YXIgYXN5bmNGbiA9IGFzeW5jIGZ1
bmN0aW9uIGFzeW5jRm4oeCkgeworICByZXR1cm4gYXN5bmMgKCkgPT4gbmV3LnRhcmdldDsKK307
CisKK2FzeW5jRm4oKS50aGVuKHJldEZuID0+IHsKKyAgY291bnQrKzsKKyAgcmV0dXJuIHJldEZu
KCk7Cit9KS50aGVuKHJlc3VsdCA9PiB7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCB1bmRl
ZmluZWQpOworICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxKTsKK30pLnRoZW4oJERPTkUsICRE
T05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2FzeW5jLWZ1bmN0aW9uL25hbWVkLXJldHVybnMtYXN5bmMtYXJyb3cuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9uYW1lZC1y
ZXR1cm5zLWFzeW5jLWFycm93LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ0Mjk2ZGIzMDIxM2JlZDhhYmJjNGRl
ZTExMmZjOWY4OWFiNzViMWYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9uYW1lZC1yZXR1cm5zLWFzeW5j
LWFycm93LmpzCkBAIC0wLDAgKzEsMjkgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5
IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2FzeW5jLWZ1
bmN0aW9ucy9yZXR1cm5zLWFzeW5jLWFycm93LmNhc2UKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9u
cy9ldmFsdWF0aW9uL2FzeW5jLWV4cHJlc3Npb24tbmFtZWQudGVtcGxhdGUKKy8qLS0tCitkZXNj
cmlwdGlvbjogQXN5bmMgZnVuY3Rpb24gcmV0dXJucyBhbiBhc3luYyBmdW5jdGlvbi4gKE5hbWVk
IGFzeW5jIGZ1bmN0aW9uIGV4cHJlc3Npb24pCitlc2lkOiBwcm9kLUFzeW5jRnVuY3Rpb25FeHBy
ZXNzaW9uCitmZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBh
c3luY10KK2luZm86IHwKKyAgICBBc3luYyBGdW5jdGlvbiBEZWZpbml0aW9ucworCisgICAgQXN5
bmNGdW5jdGlvbkV4cHJlc3Npb24gOgorICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhl
cmVdIGZ1bmN0aW9uIEJpbmRpbmdJZGVudGlmaWVyICggRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5
bmNGdW5jdGlvbkJvZHkgfQorCistLS0qLworbGV0IGNvdW50ID0gMDsKKworCit2YXIgYXN5bmNG
biA9IGFzeW5jIGZ1bmN0aW9uIGFzeW5jRm4oeCkgeworICByZXR1cm4gYXN5bmMgKCkgPT4geDsK
K307CisKK2FzeW5jRm4oMSkudGhlbihyZXRGbiA9PiB7CisgIGNvdW50Kys7CisgIHJldHVybiBy
ZXRGbigpOworfSkudGhlbihyZXN1bHQgPT4geworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwg
MSk7CisgIGFzc2VydC5zYW1lVmFsdWUoY291bnQsIDEpOworfSkudGhlbigkRE9ORSwgJERPTkUp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
YXN5bmMtZnVuY3Rpb24vbmFtZWQtcmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1cm5zLWFyZ3Vt
ZW50cy1mcm9tLW93bi1mdW5jdGlvbi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL25hbWVkLXJldHVybnMtYXN5bmMtZnVuY3Rpb24t
cmV0dXJucy1hcmd1bWVudHMtZnJvbS1vd24tZnVuY3Rpb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZThhYzFm
YzlkZWY4MjMxMGQ5MDI2ZTQ2MzM1MTcyZjg3ZWY1OWZhOQotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL25h
bWVkLXJldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0dXJucy1hcmd1bWVudHMtZnJvbS1vd24tZnVu
Y3Rpb24uanMKQEAgLTAsMCArMSwzMCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkg
Z2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvYXN5bmMtZnVu
Y3Rpb25zL3JldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0dXJucy1hcmd1bWVudHMtZnJvbS1vd24t
ZnVuY3Rpb24uY2FzZQorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25zL2V2YWx1YXRpb24vYXN5bmMt
ZXhwcmVzc2lvbi1uYW1lZC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBc3luYyBmdW5j
dGlvbiByZXR1cm5zIGFuIGFzeW5jIGZ1bmN0aW9uLiAoTmFtZWQgYXN5bmMgZnVuY3Rpb24gZXhw
cmVzc2lvbikKK2VzaWQ6IHByb2QtQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24KK2ZlYXR1cmVzOiBb
YXN5bmMtZnVuY3Rpb25zXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIGFzeW5jXQoraW5mbzogfAorICAg
IEFzeW5jIEZ1bmN0aW9uIERlZmluaXRpb25zCisKKyAgICBBc3luY0Z1bmN0aW9uRXhwcmVzc2lv
biA6CisgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gZnVuY3Rpb24gQmluZGlu
Z0lkZW50aWZpZXIgKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CisK
Ky0tLSovCitsZXQgY291bnQgPSAwOworCisKK3ZhciBhc3luY0ZuID0gYXN5bmMgZnVuY3Rpb24g
YXN5bmNGbih4KSB7CisgIGxldCBhID0gYXJndW1lbnRzOworICAgIHJldHVybiBhc3luYyBmdW5j
dGlvbigpIHsgcmV0dXJuIGEgPT09IGFyZ3VtZW50czsgfTsKK307CisKK2FzeW5jRm4oMSkudGhl
bihyZXRGbiA9PiB7CisgIGNvdW50Kys7CisgIHJldHVybiByZXRGbigpOworfSkudGhlbihyZXN1
bHQgPT4geworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgZmFsc2UpOworICBhc3NlcnQuc2Ft
ZVZhbHVlKGNvdW50LCAxKTsKK30pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL25h
bWVkLXJldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0dXJucy1uZXd0YXJnZXQuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9uYW1lZC1y
ZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLXJldHVybnMtbmV3dGFyZ2V0LmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNi
NzVjMmIyMDY1YjllNjc3ZTcxYjc2ZWM4NGEwNTU0ZGYyMzUzMDAKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlv
bi9uYW1lZC1yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLXJldHVybnMtbmV3dGFyZ2V0LmpzCkBAIC0w
LDAgKzEsMjkgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9t
IHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9yZXR1cm5z
LWFzeW5jLWZ1bmN0aW9uLXJldHVybnMtbmV3dGFyZ2V0LmNhc2UKKy8vIC0gc3JjL2FzeW5jLWZ1
bmN0aW9ucy9ldmFsdWF0aW9uL2FzeW5jLWV4cHJlc3Npb24tbmFtZWQudGVtcGxhdGUKKy8qLS0t
CitkZXNjcmlwdGlvbjogQXN5bmMgZnVuY3Rpb24gcmV0dXJucyBhbiBhc3luYyBmdW5jdGlvbi4g
KE5hbWVkIGFzeW5jIGZ1bmN0aW9uIGV4cHJlc3Npb24pCitlc2lkOiBwcm9kLUFzeW5jRnVuY3Rp
b25FeHByZXNzaW9uCitmZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2ZsYWdzOiBbZ2VuZXJh
dGVkLCBhc3luY10KK2luZm86IHwKKyAgICBBc3luYyBGdW5jdGlvbiBEZWZpbml0aW9ucworCisg
ICAgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24gOgorICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5h
dG9yIGhlcmVdIGZ1bmN0aW9uIEJpbmRpbmdJZGVudGlmaWVyICggRm9ybWFsUGFyYW1ldGVycyAp
IHsgQXN5bmNGdW5jdGlvbkJvZHkgfQorCistLS0qLworbGV0IGNvdW50ID0gMDsKKworCit2YXIg
YXN5bmNGbiA9IGFzeW5jIGZ1bmN0aW9uIGFzeW5jRm4oeCkgeworICByZXR1cm4gYXN5bmMgZnVu
Y3Rpb24oKSB7IHJldHVybiBuZXcudGFyZ2V0OyB9OworfTsKKworYXN5bmNGbigxKS50aGVuKHJl
dEZuID0+IHsKKyAgY291bnQrKzsKKyAgcmV0dXJuIHJldEZuKCk7Cit9KS50aGVuKHJlc3VsdCA9
PiB7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCB1bmRlZmluZWQpOworICBhc3NlcnQuc2Ft
ZVZhbHVlKGNvdW50LCAxKTsKK30pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWZ1bmN0aW9uL25h
bWVkLXJldHVybnMtYXN5bmMtZnVuY3Rpb24uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9uYW1lZC1yZXR1cm5zLWFzeW5jLWZ1bmN0
aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjM2YTc4NTRhOTM0ZGM1MTdkYzc3OTViM2MwMzFlZTVhZjY1YmFh
MzkKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9hc3luYy1mdW5jdGlvbi9uYW1lZC1yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLmpzCkBA
IC0wLDAgKzEsMjkgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBm
cm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9yZXR1
cm5zLWFzeW5jLWZ1bmN0aW9uLmNhc2UKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9ldmFsdWF0
aW9uL2FzeW5jLWV4cHJlc3Npb24tbmFtZWQudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjog
QXN5bmMgZnVuY3Rpb24gcmV0dXJucyBhbiBhc3luYyBmdW5jdGlvbi4gKE5hbWVkIGFzeW5jIGZ1
bmN0aW9uIGV4cHJlc3Npb24pCitlc2lkOiBwcm9kLUFzeW5jRnVuY3Rpb25FeHByZXNzaW9uCitm
ZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2lu
Zm86IHwKKyAgICBBc3luYyBGdW5jdGlvbiBEZWZpbml0aW9ucworCisgICAgQXN5bmNGdW5jdGlv
bkV4cHJlc3Npb24gOgorICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIGZ1bmN0
aW9uIEJpbmRpbmdJZGVudGlmaWVyICggRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlv
bkJvZHkgfQorCistLS0qLworbGV0IGNvdW50ID0gMDsKKworCit2YXIgYXN5bmNGbiA9IGFzeW5j
IGZ1bmN0aW9uIGFzeW5jRm4oeCkgeworICByZXR1cm4gYXN5bmMgZnVuY3Rpb24oKSB7IHJldHVy
biB4OyB9OworfTsKKworYXN5bmNGbigxKS50aGVuKHJldEZuID0+IHsKKyAgY291bnQrKzsKKyAg
cmV0dXJuIHJldEZuKCk7Cit9KS50aGVuKHJlc3VsdCA9PiB7CisgIGFzc2VydC5zYW1lVmFsdWUo
cmVzdWx0LCAxKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwgMSk7Cit9KS50aGVuKCRET05F
LCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9hc3luYy1nZW5lcmF0b3IvZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1nZW4tZnVuYy1l
eHByLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRvci9mb3Ji
aWRkZW4tZXh0L2IxL2FzeW5jLWdlbi1mdW5jLWV4cHItZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNj
ZXNzLXByb3AtYXJndW1lbnRzLmpzCmluZGV4IGFlYTg2ODUyNjlmYzRkNzFlZTIzOGFkMzAyZjAw
NzEwYWQ3MmU5YjcuLmU4MDAzNmI3NGUzYzQ3Zjc1ZTQ1OTdiOTNiMzNhMDU3MjlhNjQxZDYgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5j
LWdlbmVyYXRvci9mb3JiaWRkZW4tZXh0L2IxL2FzeW5jLWdlbi1mdW5jLWV4cHItZm9yYmlkZGVu
LWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRvci9mb3JiaWRkZW4tZXh0
L2IxL2FzeW5jLWdlbi1mdW5jLWV4cHItZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3At
YXJndW1lbnRzLmpzCkBAIC0yLDE2ICsyLDI1IEBACiAvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9m
b3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuY2FzZQogLy8gLSBzcmMv
ZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dGVuc2lvbnMvYnVsbGV0LW9uZS9hc3luYy1nZW4t
ZnVuYy1leHByLnRlbXBsYXRlCiAvKi0tLQotZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNp
b24sIG8uYXJndW1lbnRzIChhc3luYyBnZW5lcmF0b3IgZnVuY3Rpb24gZXhwcmVzc2lvbikKK2Rl
c2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBmLmFyZ3VtZW50cyAoYXN5bmMgZ2VuZXJh
dG9yIGZ1bmN0aW9uIGV4cHJlc3Npb24pCiBlc2lkOiBzZWMtYXN5bmNnZW5lcmF0b3ItZGVmaW5p
dGlvbnMtZXZhbHVhdGlvbgotZmVhdHVyZXM6IFthc3luYy1pdGVyYXRpb25dCitmZWF0dXJlczog
W2Fycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnMsIGFzeW5jLWl0ZXJhdGlvbl0KIGZsYWdz
OiBbZ2VuZXJhdGVkLCBub1N0cmljdCwgYXN5bmNdCiBpbmZvOiB8CiAgICAgQXN5bmNHZW5lcmF0
b3JFeHByZXNzaW9uIDogYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIGZ1bmN0aW9uICog
KCBGb3JtYWxQYXJhbWV0ZXJzICkgewogICAgICAgICBBc3luY0dlbmVyYXRvckJvZHkgfQogCiAK
LSAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMg
Y29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRo
IG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBw
cm9wZXJ0aWVzIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBk
ZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sIEdlbmVyYXRv
ckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0
aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhw
cmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lv
biwgb3IgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5p
dGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4gQnVpbHQtaW4gZnVuY3Rpb25z
LCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9y
LCBnZW5lcmF0b3IgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1
Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24gY29u
c3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxz
byBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24gcHJvcGVydGllcy4KKyAgICBFQ01B
U2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0
b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdAorICAgIG5vdCBiZSBjcmVhdGVkIHdpdGggb3du
IHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3Bl
cnRpZXMgYWxzbworICAgIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMg
ZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLAorICAgIEdl
bmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRl
Y2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sCisgICAgQ2xhc3NEZWNsYXJhdGlv
biwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rp
b25FeHByZXNzaW9uLCBvcgorICAgIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdo
ZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuCisg
ICAgQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhl
IEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zCisgICAgY3JlYXRlZCB1
c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1
c2luZyB0aGUgQXN5bmNGdW5jdGlvbgorICAgIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNy
ZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRo
IHN1Y2ggb3duCisgICAgcHJvcGVydGllcy4KIAogLS0tKi8KIApAQCAtMTksMTUgKzI4LDExIEBA
IGluZm86IHwKIHZhciBjYWxsQ291bnQgPSAwOwogdmFyIGY7CiBmID0gYXN5bmMgZnVuY3Rpb24q
KCkgewotICBmLmFyZ3VtZW50czsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShmLmhhc093blByb3BlcnR5
KCJhcmd1bWVudHMiKSwgZmFsc2UpOwogICBjYWxsQ291bnQrKzsKIH07CiAKIGYoKS5uZXh0KCkK
LSAgLnRoZW4oXyA9PiB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignZnVuY3Rpb24gc2hv
dWxkIG5vdCBiZSByZXNvbHZlZCcpOwotICB9LCBlcnJvciA9PiBhc3NlcnQuc2FtZVZhbHVlKGVy
cm9yLmNvbnN0cnVjdG9yLCBUeXBlRXJyb3IpKQogICAudGhlbigoKSA9PiB7Ci0gICAgYXNzZXJ0
LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdmdW5jdGlvbiBib2R5IGlzIG5vdCBldmFsdWF0ZWQn
KTsKLSAgfSwgJERPTkUpCi0gIC50aGVuKCRET05FLCAkRE9ORSk7CisgICAgYXNzZXJ0LnNhbWVW
YWx1ZShjYWxsQ291bnQsIDEsICdmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcpOworICB9LCAkRE9O
RSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9yL2ZvcmJpZGRlbi1leHQvYjEvYXN5
bmMtZ2VuLWZ1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5l
cmF0b3IvZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1nZW4tZnVuYy1leHByLWZvcmJpZGRlbi1leHQt
ZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwppbmRleCAwNzFkMzExOTY3MGU0ODg4YjE4OWQx
YjEwZGRjODY4ZmI2NDg5ZjA4Li5kODQzMjMxYTM3YjM5OTQzYTY0NGNkODU0OTA2NDAwMTJkYzE1
ZTU0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9hc3luYy1nZW5lcmF0b3IvZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1nZW4tZnVuYy1leHByLWZv
cmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0b3IvZm9yYmlkZGVu
LWV4dC9iMS9hc3luYy1nZW4tZnVuYy1leHByLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1w
cm9wLWNhbGxlci5qcwpAQCAtNCwxNCArNCwyMyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBGb3Ji
aWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoYXN5bmMgZ2VuZXJhdG9yIGZ1bmN0aW9uIGV4cHJl
c3Npb24pCiBlc2lkOiBzZWMtYXN5bmNnZW5lcmF0b3ItZGVmaW5pdGlvbnMtZXZhbHVhdGlvbgot
ZmVhdHVyZXM6IFthc3luYy1pdGVyYXRpb25dCitmZWF0dXJlczogW2Fycm93LWZ1bmN0aW9uLCBh
c3luYy1mdW5jdGlvbnMsIGFzeW5jLWl0ZXJhdGlvbl0KIGZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0
cmljdCwgYXN5bmNdCiBpbmZvOiB8CiAgICAgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uIDogYXN5
bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIGZ1bmN0aW9uICogKCBGb3JtYWxQYXJhbWV0ZXJz
ICkgewogICAgICAgICBBc3luY0dlbmVyYXRvckJvZHkgfQogCiAKLSAgICBFQ01BU2NyaXB0IGZ1
bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0
cmljdCBtb2RlIGNvZGUgbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5h
bWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28gbXVz
dCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFy
cm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5l
cmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRv
ckV4cHJlc3Npb24sIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5j
dGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IgQXN5bmNBcnJvd0Z1
bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQg
aW4gc3RyaWN0IG1vZGUgY29kZS4gQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25z
IGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rp
b25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rp
b25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24gY29uc3RydWN0b3IsIGFuZCBmdW5j
dGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVh
dGVkIHdpdGggc3VjaCBvd24gcHJvcGVydGllcy4KKyAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9i
amVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2Rl
IGNvZGUgbXVzdAorICAgIG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQg
ImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbworICAgIG11
c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBB
cnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLAorICAgIEdlbmVyYXRvckRlY2xhcmF0aW9u
LCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dl
bmVyYXRvckV4cHJlc3Npb24sCisgICAgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9u
LCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvcgor
ICAgIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRp
b24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuCisgICAgQnVpbHQtaW4gZnVuY3Rp
b25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVj
dG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zCisgICAgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9y
IGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5j
dGlvbgorICAgIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJp
bmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duCisgICAgcHJv
cGVydGllcy4KIAogLS0tKi8KIApAQCAtMTksMTUgKzI4LDExIEBAIGluZm86IHwKIHZhciBjYWxs
Q291bnQgPSAwOwogdmFyIGY7CiBmID0gYXN5bmMgZnVuY3Rpb24qKCkgewotICBmLmNhbGxlcjsK
KyAgYXNzZXJ0LnNhbWVWYWx1ZShmLmhhc093blByb3BlcnR5KCJjYWxsZXIiKSwgZmFsc2UpOwog
ICBjYWxsQ291bnQrKzsKIH07CiAKIGYoKS5uZXh0KCkKLSAgLnRoZW4oXyA9PiB7Ci0gICAgdGhy
b3cgbmV3IFRlc3QyNjJFcnJvcignZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSByZXNvbHZlZCcpOwot
ICB9LCBlcnJvciA9PiBhc3NlcnQuc2FtZVZhbHVlKGVycm9yLmNvbnN0cnVjdG9yLCBUeXBlRXJy
b3IpKQogICAudGhlbigoKSA9PiB7Ci0gICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAs
ICdmdW5jdGlvbiBib2R5IGlzIG5vdCBldmFsdWF0ZWQnKTsKLSAgfSwgJERPTkUpCi0gIC50aGVu
KCRET05FLCAkRE9ORSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdmdW5j
dGlvbiBib2R5IGV2YWx1YXRlZCcpOworICB9LCAkRE9ORSkudGhlbigkRE9ORSwgJERPTkUpOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5
bmMtZ2VuZXJhdG9yL2ZvcmJpZGRlbi1leHQvYjEvYXN5bmMtZ2VuLW5hbWVkLWZ1bmMtZXhwci1m
b3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0b3IvZm9yYmlkZGVu
LWV4dC9iMS9hc3luYy1nZW4tbmFtZWQtZnVuYy1leHByLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFj
Y2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwppbmRleCAwMTQ0ZGRiMWJmOTI5YzMyOTkzY2ZjMGIyNDYw
ZGNhN2FlZDJiZjRjLi4wNGYxNTBjOTYzZGMxYTBmMDY5ZjUxMjJkODhlZGZkM2VkMzMyNmNkIDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3lu
Yy1nZW5lcmF0b3IvZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1nZW4tbmFtZWQtZnVuYy1leHByLWZv
cmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0b3IvZm9yYmlk
ZGVuLWV4dC9iMS9hc3luYy1nZW4tbmFtZWQtZnVuYy1leHByLWZvcmJpZGRlbi1leHQtZGlyZWN0
LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwpAQCAtMiwxNiArMiwyNSBAQAogLy8gLSBzcmMvZnVu
Y3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmNh
c2UKIC8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC1v
bmUvYXN5bmMtZ2VuLW5hbWVkLWZ1bmMtZXhwci50ZW1wbGF0ZQogLyotLS0KLWRlc2NyaXB0aW9u
OiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmFyZ3VtZW50cyAoYXN5bmMgZ2VuZXJhdG9yIG5hbWVk
IGZ1bmN0aW9uIGV4cHJlc3Npb24pCitkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwg
Zi5hcmd1bWVudHMgKGFzeW5jIGdlbmVyYXRvciBuYW1lZCBmdW5jdGlvbiBleHByZXNzaW9uKQog
ZXNpZDogc2VjLWFzeW5jZ2VuZXJhdG9yLWRlZmluaXRpb25zLWV2YWx1YXRpb24KLWZlYXR1cmVz
OiBbYXN5bmMtaXRlcmF0aW9uXQorZmVhdHVyZXM6IFthcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVu
Y3Rpb25zLCBhc3luYy1pdGVyYXRpb25dCiBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFz
eW5jXQogaW5mbzogfAogICAgIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiA6IGFzeW5jIFtubyBM
aW5lVGVybWluYXRvciBoZXJlXSBmdW5jdGlvbiAqIEJpbmRpbmdJZGVudGlmaWVyCiAgICAgICAg
ICggRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNHZW5lcmF0b3JCb2R5IH0KIAogCi0gICAgRUNN
QVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgc3ludGFjdGljIGNvbnN0cnVj
dG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBvd24gcHJv
cGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4gU3VjaCBvd24gcHJvcGVydGll
cyBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1
c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLCBHZW5lcmF0b3JEZWNsYXJh
dGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5
bmNHZW5lcmF0b3JFeHByZXNzaW9uLCBDbGFzc0RlY2xhcmF0aW9uLCBDbGFzc0V4cHJlc3Npb24s
IEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24sIG9yIEFz
eW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMg
Y29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0
IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJh
dG9yIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFz
eW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBBc3luY0Z1bmN0aW9uIGNvbnN0cnVjdG9y
LCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBu
b3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duIHByb3BlcnRpZXMuCisgICAgRUNNQVNjcmlwdCBm
dW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBz
dHJpY3QgbW9kZSBjb2RlIG11c3QKKyAgICBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0
aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFs
c28KKyAgICBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQg
dXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwKKyAgICBHZW5lcmF0b3JE
ZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlv
biwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLAorICAgIENsYXNzRGVjbGFyYXRpb24sIENsYXNz
RXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVz
c2lvbiwgb3IKKyAgICBBc3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRo
ZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLgorICAgIEJ1aWx0
LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlv
biBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucworICAgIGNyZWF0ZWQgdXNpbmcgdGhl
IEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhl
IEFzeW5jRnVuY3Rpb24KKyAgICBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVz
aW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93
bgorICAgIHByb3BlcnRpZXMuCiAKIC0tLSovCiAKQEAgLTE5LDE1ICsyOCwxMSBAQCBpbmZvOiB8
CiB2YXIgY2FsbENvdW50ID0gMDsKIHZhciBmOwogZiA9IGFzeW5jIGZ1bmN0aW9uKiBnKCkgewot
ICBmLmFyZ3VtZW50czsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShmLmhhc093blByb3BlcnR5KCJhcmd1
bWVudHMiKSwgZmFsc2UpOwogICBjYWxsQ291bnQrKzsKIH07CiAKIGYoKS5uZXh0KCkKLSAgLnRo
ZW4oXyA9PiB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignZnVuY3Rpb24gc2hvdWxkIG5v
dCBiZSByZXNvbHZlZCcpOwotICB9LCBlcnJvciA9PiBhc3NlcnQuc2FtZVZhbHVlKGVycm9yLmNv
bnN0cnVjdG9yLCBUeXBlRXJyb3IpKQogICAudGhlbigoKSA9PiB7Ci0gICAgYXNzZXJ0LnNhbWVW
YWx1ZShjYWxsQ291bnQsIDAsICdmdW5jdGlvbiBib2R5IGlzIG5vdCBldmFsdWF0ZWQnKTsKLSAg
fSwgJERPTkUpCi0gIC50aGVuKCRET05FLCAkRE9ORSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShj
YWxsQ291bnQsIDEsICdmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcpOworICB9LCAkRE9ORSkudGhl
bigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9yL2ZvcmJpZGRlbi1leHQvYjEvYXN5bmMtZ2Vu
LW5hbWVkLWZ1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5l
cmF0b3IvZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1nZW4tbmFtZWQtZnVuYy1leHByLWZvcmJpZGRl
bi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwppbmRleCA5MjhjNDk4NDZkYWVmODQ2
NjA5ZWQzMzc2NDU0ZDVjYWU1ZjVmODBjLi4xYTNmMWY1MmQ1ZjhkYjNmY2IzZGZjZGEwYzBmNmMx
N2UxZGMyYTI0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9hc3luYy1nZW5lcmF0b3IvZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1nZW4tbmFtZWQt
ZnVuYy1leHByLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0
b3IvZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1nZW4tbmFtZWQtZnVuYy1leHByLWZvcmJpZGRlbi1l
eHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwpAQCAtNCwxNCArNCwyMyBAQAogLyotLS0K
IGRlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoYXN5bmMgZ2VuZXJh
dG9yIG5hbWVkIGZ1bmN0aW9uIGV4cHJlc3Npb24pCiBlc2lkOiBzZWMtYXN5bmNnZW5lcmF0b3It
ZGVmaW5pdGlvbnMtZXZhbHVhdGlvbgotZmVhdHVyZXM6IFthc3luYy1pdGVyYXRpb25dCitmZWF0
dXJlczogW2Fycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnMsIGFzeW5jLWl0ZXJhdGlvbl0K
IGZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdCwgYXN5bmNdCiBpbmZvOiB8CiAgICAgQXN5bmNH
ZW5lcmF0b3JFeHByZXNzaW9uIDogYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIGZ1bmN0
aW9uICogQmluZGluZ0lkZW50aWZpZXIKICAgICAgICAgKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBB
c3luY0dlbmVyYXRvckJvZHkgfQogCiAKLSAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMg
ZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUg
bXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9y
ICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28gbXVzdCBub3QgYmUgY3JlYXRl
ZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1l
dGhvZERlZmluaXRpb24sIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9u
LCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sIENs
YXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9u
LCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxl
c3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUg
Y29kZS4gQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcg
dGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zIGNyZWF0ZWQgdXNp
bmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNp
bmcgdGhlIEFzeW5jRnVuY3Rpb24gY29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1
c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBv
d24gcHJvcGVydGllcy4KKyAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1
c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdAorICAg
IG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFy
Z3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbworICAgIG11c3Qgbm90IGJlIGNyZWF0
ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBN
ZXRob2REZWZpbml0aW9uLAorICAgIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHBy
ZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Np
b24sCisgICAgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9u
RGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvcgorICAgIEFzeW5jQXJyb3dG
dW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVk
IGluIHN0cmljdCBtb2RlIGNvZGUuCisgICAgQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVu
Y3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3Ig
ZnVuY3Rpb25zCisgICAgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBh
c3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbgorICAgIGNvbnN0
cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28g
bXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duCisgICAgcHJvcGVydGllcy4KIAogLS0t
Ki8KIApAQCAtMTksMTUgKzI4LDExIEBAIGluZm86IHwKIHZhciBjYWxsQ291bnQgPSAwOwogdmFy
IGY7CiBmID0gYXN5bmMgZnVuY3Rpb24qIGcoKSB7Ci0gIGYuY2FsbGVyOworICBhc3NlcnQuc2Ft
ZVZhbHVlKGYuaGFzT3duUHJvcGVydHkoImNhbGxlciIpLCBmYWxzZSk7CiAgIGNhbGxDb3VudCsr
OwogfTsKIAogZigpLm5leHQoKQotICAudGhlbihfID0+IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCdmdW5jdGlvbiBzaG91bGQgbm90IGJlIHJlc29sdmVkJyk7Ci0gIH0sIGVycm9yID0+
IGFzc2VydC5zYW1lVmFsdWUoZXJyb3IuY29uc3RydWN0b3IsIFR5cGVFcnJvcikpCiAgIC50aGVu
KCgpID0+IHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2Z1bmN0aW9uIGJv
ZHkgaXMgbm90IGV2YWx1YXRlZCcpOwotICB9LCAkRE9ORSkKLSAgLnRoZW4oJERPTkUsICRET05F
KTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZh
bHVhdGVkJyk7CisgIH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0b3Iv
Zm9yYmlkZGVuLWV4dC9iMi9hc3luYy1nZW4tZnVuYy1leHByLWZvcmJpZGRlbi1leHQtaW5kaXJl
Y3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0b3IvZm9yYmlkZGVuLWV4dC9iMi9hc3lu
Yy1nZW4tZnVuYy1leHByLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNh
bGxlci1nZXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODFiZjJjNTc2ZmJjZWZiOGY3Y2ZhNDMxY2MwOGM5ZWY0
MTAxYzNmZQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRvci9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWdlbi1m
dW5jLWV4cHItZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdl
dC5qcwpAQCAtMCwwICsxLDY0IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5l
cmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jt
cy9mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmNhc2UK
Ky8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC10d28v
YXN5bmMtZ2VuLWZ1bmMtZXhwci50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBGb3JiaWRk
ZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoYXN5bmMgZ2VuZXJhdG9yIGZ1bmN0aW9uIGV4cHJlc3Np
b24pCitlc2lkOiBzZWMtYXN5bmNnZW5lcmF0b3ItZGVmaW5pdGlvbnMtZXZhbHVhdGlvbgorZmVh
dHVyZXM6IFthcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVuY3Rpb25zLCBhc3luYy1pdGVyYXRpb25d
CitmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5jXQoraW5mbzogfAorICAgIEFzeW5j
R2VuZXJhdG9yRXhwcmVzc2lvbiA6IGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBmdW5j
dGlvbiAqICggRm9ybWFsUGFyYW1ldGVycyApIHsKKyAgICAgICAgQXN5bmNHZW5lcmF0b3JCb2R5
IH0KKworCisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2Jq
ZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZgorICAg
IHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9w
ZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbgorICAgIG9iamVjdC4gSWYgaXQg
aXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBv
ZiB0aGUgcHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJu
IGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgorCistLS0qLwordmFyIENBTExFUl9PV05f
UFJPUEVSVFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2woKTsKK2Z1bmN0aW9uIGlubmVyKCkgewor
ICAvLyBUaGlzIHByb3BlcnR5IG1heSBleGlzdCwgYnV0IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmlu
ZyBhIHZhbHVlIHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0CisgIHJldHVybiBpbm5l
ci5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlubmVyLmNhbGxlcgorICAgIDogQ0FM
TEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVDsKK30KKworCit2YXIgY2FsbENvdW50ID0g
MDsKK3ZhciBmOworZiA9IGFzeW5jIGZ1bmN0aW9uKigpIHsKKyAgInVzZSBzdHJpY3QiOworICAv
LyBUaGlzIGFuZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0aGUg
dGVzdCdzIC5jYXNlIGZpbGUuCisgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUi
IHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFz
IGEgImZhbHNlIiB2YWx1ZSBoZXJlLgorICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28g
ZGlmZmVyZW50IGNhc2UgZmlsZXMsIHdoaWNoIHVzZQorICAvLyB0aGUgc2FtZSB0ZW1wbGF0ZXMu
CisgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbm5l
ciwgImNhbGxlciIpOworICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJs
ZSAmJiB0cnVlKSB7CisgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2FsbGVyIiwg
e2dldCgpe3JldHVybiAxfX0pOworICB9CisgIHZhciByZXN1bHQgPSBpbm5lcigpOworICBpZiAo
ZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgYXNz
ZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNh
bGxlciIgcHJvcGVydHkgb24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBh
Y2Nlc3NpYmxlIGFuZCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOwor
ICB9CisgIC8vICJDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9tCisg
IC8vIGZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmNhc2UKKyAgLy8K
KyAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkK
KyAgLy8gbmFtZWQgImNhbGxlciIsIHRoZW4gaXRzIHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQuCisg
IC8vCisgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFu
CisgIC8vIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiwgdGhlbiB0aGUgc3ltYm9sCisgIC8v
IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qgd2lsbCBiZSByZXR1cm5lZC4KKyAg
aWYgKHJlc3VsdCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkgeworICAg
IGFzc2VydC5ub3RTYW1lVmFsdWUocmVzdWx0LCBmKTsKKyAgfQorICBjYWxsQ291bnQrKzsKK307
CisKK2YoKS5uZXh0KCkKKyAgLnRoZW4oKCkgPT4geworICAgIGFzc2VydC5zYW1lVmFsdWUoY2Fs
bENvdW50LCAxLCAnZnVuY3Rpb24gYm9keSBldmFsdWF0ZWQnKTsKKyAgfSwgJERPTkUpLnRoZW4o
JERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRvci9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWdlbi1m
dW5jLWV4cHItZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZh
bHVlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMt
Z2VuZXJhdG9yL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtZ2VuLWZ1bmMtZXhwci1mb3JiaWRkZW4t
ZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YjEyOTAxMzEwZDRjYzJiYTI2MTMwYTVlMzY4NWQ4MGU0NDg3NzllYQotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVy
YXRvci9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWdlbi1mdW5jLWV4cHItZm9yYmlkZGVuLWV4dC1p
bmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzCkBAIC0wLDAgKzEsNjQgQEAK
Ky8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dp
bmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHQtaW5kaXJl
Y3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5jYXNlCisvLyAtIHNyYy9mdW5jdGlvbi1m
b3Jtcy9mb3JiaWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQtdHdvL2FzeW5jLWdlbi1mdW5jLWV4cHIu
dGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxs
ZXIgKGFzeW5jIGdlbmVyYXRvciBmdW5jdGlvbiBleHByZXNzaW9uKQorZXNpZDogc2VjLWFzeW5j
Z2VuZXJhdG9yLWRlZmluaXRpb25zLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbYXJyb3ctZnVuY3Rp
b24sIGFzeW5jLWZ1bmN0aW9ucywgYXN5bmMtaXRlcmF0aW9uXQorZmxhZ3M6IFtnZW5lcmF0ZWQs
IG5vU3RyaWN0LCBhc3luY10KK2luZm86IHwKKyAgICBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24g
OiBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gZnVuY3Rpb24gKiAoIEZvcm1hbFBhcmFt
ZXRlcnMgKSB7CisgICAgICAgIEFzeW5jR2VuZXJhdG9yQm9keSB9CisKKworICAgIElmIGFuIGlt
cGxlbWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9w
ZXJ0eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBv
YnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUg
YSBzdHJpY3QgZnVuY3Rpb24KKyAgICBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3Bl
cnR5LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tH
ZXRdXQorICAgIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3
aGVuIGNhbGxlZC4KKworLS0tKi8KK3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VY
SVNUID0gU3ltYm9sKCk7CitmdW5jdGlvbiBpbm5lcigpIHsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBt
YXkgZXhpc3QsIGJ1dCBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEg
c3RyaWN0IGZ1bmN0aW9uIG9iamVjdAorICByZXR1cm4gaW5uZXIuaGFzT3duUHJvcGVydHkoImNh
bGxlciIpCisgICAgPyBpbm5lci5jYWxsZXIKKyAgICA6IENBTExFUl9PV05fUFJPUEVSVFlfRE9F
U19OT1RfRVhJU1Q7Cit9CisKKwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgZjsKK2YgPSBhc3lu
YyBmdW5jdGlvbiooKSB7CisgICJ1c2Ugc3RyaWN0IjsKKyAgLy8gVGhpcyBhbmQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRlc3QncyAuY2FzZSBmaWxlLgor
ICAvLyBGb3IgZXZlcnkgdGVzdCB0aGF0IGhhcyBhICJ0cnVlIiB2YWx1ZSBoZXJlLCB0aGVyZSBp
cyBhCisgIC8vIGNvcnJlc3BvbmRpbmcgdGVzdCB0aGF0IGhhcyBhICJmYWxzZSIgdmFsdWUgaGVy
ZS4KKyAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdvIGRpZmZlcmVudCBjYXNlIGZpbGVz
LCB3aGljaCB1c2UKKyAgLy8gdGhlIHNhbWUgdGVtcGxhdGVzLgorICBsZXQgZGVzY3JpcHRvciA9
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgaWYg
KGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgdHJ1ZSkgeworICAgIE9i
amVjdC5kZWZpbmVQcm9wZXJ0eShpbm5lciwgImNhbGxlciIsIHt2YWx1ZTogMX0pOworICB9Cisg
IHZhciByZXN1bHQgPSBpbm5lcigpOworICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNv
bmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJ
ZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkgb24gdGhlIGlubmVy
IGZ1bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91bGQgcmV0dXJu
IHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICB9CisgIC8vICJDQUxMRVJfT1dOX1BST1BF
UlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9tCisgIC8vIGZvcmJpZGRlbi1leHQtaW5kaXJlY3Qt
YWNjZXNzLXByb3AtY2FsbGVyLmNhc2UKKyAgLy8KKyAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVj
dCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAgLy8gbmFtZWQgImNhbGxlciIsIHRoZW4g
aXRzIHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQuCisgIC8vCisgIC8vIElmIHRoZSBmdW5jdGlvbiBv
YmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFuCisgIC8vIG93biBwcm9wZXJ0eSBuYW1lZCAi
Y2FsbGVyIiwgdGhlbiB0aGUgc3ltYm9sCisgIC8vIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19O
T1RfRVhJU1Qgd2lsbCBiZSByZXR1cm5lZC4KKyAgaWYgKHJlc3VsdCAhPT0gQ0FMTEVSX09XTl9Q
Uk9QRVJUWV9ET0VTX05PVF9FWElTVCkgeworICAgIGFzc2VydC5ub3RTYW1lVmFsdWUocmVzdWx0
LCBmKTsKKyAgfQorICBjYWxsQ291bnQrKzsKK307CisKK2YoKS5uZXh0KCkKKyAgLnRoZW4oKCkg
PT4geworICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnZnVuY3Rpb24gYm9keSBl
dmFsdWF0ZWQnKTsKKyAgfSwgJERPTkUpLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRv
ci9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWdlbi1mdW5jLWV4cHItZm9yYmlkZGVuLWV4dC1pbmRp
cmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0b3IvZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1nZW4t
ZnVuYy1leHByLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCmlu
ZGV4IDFjN2JiZDAwNWYwMGUyODUyZjM0MzliYTk2NzgyZjQ2MTBhZDNlY2IuLmZkNWYwMmNmYjI1
MDg4NWYyMmMyNTFhNThlZjRjMmIxZGFkMWRhNGQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRvci9mb3JiaWRkZW4tZXh0
L2IyL2FzeW5jLWdlbi1mdW5jLWV4cHItZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJv
cC1jYWxsZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvYXN5bmMtZ2VuZXJhdG9yL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtZ2VuLWZ1bmMtZXhwci1m
b3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwpAQCAtNCwxOSArNCwy
NSBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAo
YXN5bmMgZ2VuZXJhdG9yIGZ1bmN0aW9uIGV4cHJlc3Npb24pCiBlc2lkOiBzZWMtYXN5bmNnZW5l
cmF0b3ItZGVmaW5pdGlvbnMtZXZhbHVhdGlvbgotZmVhdHVyZXM6IFthc3luYy1pdGVyYXRpb25d
CitmZWF0dXJlczogW2Fycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnMsIGFzeW5jLWl0ZXJh
dGlvbl0KIGZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdCwgYXN5bmNdCiBpbmZvOiB8CiAgICAg
QXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uIDogYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVd
IGZ1bmN0aW9uICogKCBGb3JtYWxQYXJhbWV0ZXJzICkgewogICAgICAgICBBc3luY0dlbmVyYXRv
ckJvZHkgfQogCiAKLSAgICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBmdW5jdGlv
biBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZhbHVlIG9m
IHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9w
ZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QuIElmIGl0IGlzIGFu
IGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhl
IHByb3BlcnR5J3MgW1tHZXRdXSBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3Qg
ZnVuY3Rpb24gd2hlbiBjYWxsZWQuCisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBh
bnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRo
ZSB2YWx1ZSBvZgorICAgIHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0g
b3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbgorICAg
IG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0
IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0cmlidXRlIG11
c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgogCiAtLS0qLwor
dmFyIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2woKTsKIGZ1bmN0
aW9uIGlubmVyKCkgewotICAvLyBUaGlzIHByb3BlcnR5IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmlu
ZyBhIHZhbHVlIHRoYXQgaXMgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdAotICByZXR1cm4gaW5uZXIu
Y2FsbGVyOworICAvLyBUaGlzIHByb3BlcnR5IG1heSBleGlzdCwgYnV0IGlzIGZvcmJpZGRlbiBm
cm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0CisgIHJl
dHVybiBpbm5lci5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlubmVyLmNhbGxlcgor
ICAgIDogQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVDsKIH0KIAogCkBAIC0yNCwx
NSArMzAsMzUgQEAgdmFyIGNhbGxDb3VudCA9IDA7CiB2YXIgZjsKIGYgPSBhc3luYyBmdW5jdGlv
biooKSB7CiAgICJ1c2Ugc3RyaWN0IjsKLSAgaW5uZXIoKS50b1N0cmluZygpOworICAvLyBUaGlz
IGFuZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdz
IC5jYXNlIGZpbGUuCisgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVl
IGhlcmUsIHRoZXJlIGlzIGEKKyAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZh
bHNlIiB2YWx1ZSBoZXJlLgorICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVy
ZW50IGNhc2UgZmlsZXMsIHdoaWNoIHVzZQorICAvLyB0aGUgc2FtZSB0ZW1wbGF0ZXMuCisgIGxl
dCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbm5lciwgImNh
bGxlciIpOworICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiBm
YWxzZSkgeworICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbm5lciwgImNhbGxlciIsIHt9KTsK
KyAgfQorICB2YXIgcmVzdWx0ID0gaW5uZXIoKTsKKyAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3Jp
cHRvci5jb25maWd1cmFibGUgJiYgZmFsc2UpIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3Vs
dCwgMSwgJ0lmIHRoaXMgdGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0
aGUgaW5uZXIgZnVuY3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3Vs
ZCByZXR1cm4gdGhlIHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgIH0KKyAgLy8gIkNBTExFUl9P
V05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAgLy8gZm9yYmlkZGVuLWV4dC1p
bmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAvLworICAvLyBJZiB0aGUgZnVuY3Rp
b24gb2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAvLyBuYW1lZCAiY2FsbGVy
IiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgLy8KKyAgLy8gSWYgdGhlIGZ1
bmN0aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgLy8gb3duIHByb3BlcnR5
IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgLy8gQ0FMTEVSX09XTl9QUk9QRVJU
WV9ET0VTX05PVF9FWElTVCB3aWxsIGJlIHJldHVybmVkLgorICBpZiAocmVzdWx0ICE9PSBDQUxM
RVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1
ZShyZXN1bHQsIGYpOworICB9CiAgIGNhbGxDb3VudCsrOwogfTsKIAogZigpLm5leHQoKQotICAu
dGhlbihfID0+IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdmdW5jdGlvbiBzaG91bGQg
bm90IGJlIHJlc29sdmVkJyk7Ci0gIH0sIGVycm9yID0+IGFzc2VydC5zYW1lVmFsdWUoZXJyb3Iu
Y29uc3RydWN0b3IsIFR5cGVFcnJvcikpCiAgIC50aGVuKCgpID0+IHsKLSAgICBhc3NlcnQuc2Ft
ZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2Z1bmN0aW9uIGJvZHkgaXMgbm90IGV2YWx1YXRlZCcpOwot
ICB9LCAkRE9ORSkKLSAgLnRoZW4oJERPTkUsICRET05FKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVl
KGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CisgIH0sICRET05FKS50
aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0b3IvZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1n
ZW4tbmFtZWQtZnVuYy1leHByLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9w
LWNhbGxlci1nZXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9hc3luYy1nZW5lcmF0b3IvZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1nZW4tbmFtZWQtZnVuYy1l
eHByLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYTYzYzI2MTE1NWM0MTYzZjI1YjI0MThkZTllODg4ZDBmZDdkZTEyYgotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2FzeW5jLWdlbmVyYXRvci9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWdlbi1uYW1lZC1mdW5jLWV4
cHItZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcwpA
QCAtMCwwICsxLDY0IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQg
ZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3Ji
aWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmNhc2UKKy8vIC0g
c3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC10d28vYXN5bmMt
Z2VuLW5hbWVkLWZ1bmMtZXhwci50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBGb3JiaWRk
ZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoYXN5bmMgZ2VuZXJhdG9yIG5hbWVkIGZ1bmN0aW9uIGV4
cHJlc3Npb24pCitlc2lkOiBzZWMtYXN5bmNnZW5lcmF0b3ItZGVmaW5pdGlvbnMtZXZhbHVhdGlv
bgorZmVhdHVyZXM6IFthcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVuY3Rpb25zLCBhc3luYy1pdGVy
YXRpb25dCitmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5jXQoraW5mbzogfAorICAg
IEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiA6IGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJl
XSBmdW5jdGlvbiAqIEJpbmRpbmdJZGVudGlmaWVyCisgICAgICAgICggRm9ybWFsUGFyYW1ldGVy
cyApIHsgQXN5bmNHZW5lcmF0b3JCb2R5IH0KKworCisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24g
ZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJj
YWxsZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5n
IFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5j
dGlvbgorICAgIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5j
dGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0
cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgor
CistLS0qLwordmFyIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2wo
KTsKK2Z1bmN0aW9uIGlubmVyKCkgeworICAvLyBUaGlzIHByb3BlcnR5IG1heSBleGlzdCwgYnV0
IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rp
b24gb2JqZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/
IGlubmVyLmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVDsK
K30KKworCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBmOworZiA9IGFzeW5jIGZ1bmN0aW9uKiBn
KCkgeworICAidXNlIHN0cmljdCI7CisgIC8vIFRoaXMgYW5kIHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9uYWwgdmFsdWUgaXMgc2V0IGluIHRoZSB0ZXN0J3MgLmNhc2UgZmlsZS4KKyAgLy8gRm9yIGV2
ZXJ5IHRlc3QgdGhhdCBoYXMgYSAidHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUgaXMgYQorICAvLyBj
b3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgIC8vIFRo
ZXkgYXJlIGdlbmVyYXRlZCBmcm9tIHR3byBkaWZmZXJlbnQgY2FzZSBmaWxlcywgd2hpY2ggdXNl
CisgIC8vIHRoZSBzYW1lIHRlbXBsYXRlcy4KKyAgbGV0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKGlubmVyLCAiY2FsbGVyIik7CisgIGlmIChkZXNjcmlwdG9y
ICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICBPYmplY3QuZGVmaW5l
UHJvcGVydHkoaW5uZXIsICJjYWxsZXIiLCB7Z2V0KCl7cmV0dXJuIDF9fSk7CisgIH0KKyAgdmFy
IHJlc3VsdCA9IGlubmVyKCk7CisgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmln
dXJhYmxlICYmIHRydWUpIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRo
aXMgdGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVu
Y3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4gdGhl
IHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgIH0KKyAgLy8gIkNBTExFUl9PV05fUFJPUEVSVFlf
RE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAgLy8gZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nl
c3MtcHJvcC1jYWxsZXIuY2FzZQorICAvLworICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJp
bm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAvLyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMg
dmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgLy8KKyAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVj
dCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJjYWxs
ZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9F
WElTVCB3aWxsIGJlIHJldHVybmVkLgorICBpZiAocmVzdWx0ICE9PSBDQUxMRVJfT1dOX1BST1BF
UlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIGYp
OworICB9CisgIGNhbGxDb3VudCsrOworfTsKKworZigpLm5leHQoKQorICAudGhlbigoKSA9PiB7
CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdmdW5jdGlvbiBib2R5IGV2YWx1
YXRlZCcpOworICB9LCAkRE9ORSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9yL2Zv
cmJpZGRlbi1leHQvYjIvYXN5bmMtZ2VuLW5hbWVkLWZ1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWlu
ZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9hc3luYy1nZW5lcmF0b3IvZm9yYmlkZGVuLWV4dC9i
Mi9hc3luYy1nZW4tbmFtZWQtZnVuYy1leHByLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNz
LW93bi1wcm9wLWNhbGxlci12YWx1ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MWZmMzVhZDViMzM1MjU4MDE5
NTU4NzJlYzIxODYzZmM5ZWQxYzkzCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9yL2ZvcmJpZGRlbi1leHQv
YjIvYXN5bmMtZ2VuLW5hbWVkLWZ1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vz
cy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMKQEAgLTAsMCArMSw2NCBAQAorLy8gVGhpcyBmaWxl
IHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgor
Ly8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3du
LXByb3AtY2FsbGVyLXZhbHVlLmNhc2UKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRl
bi1leHRlbnNpb25zL2J1bGxldC10d28vYXN5bmMtZ2VuLW5hbWVkLWZ1bmMtZXhwci50ZW1wbGF0
ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoYXN5
bmMgZ2VuZXJhdG9yIG5hbWVkIGZ1bmN0aW9uIGV4cHJlc3Npb24pCitlc2lkOiBzZWMtYXN5bmNn
ZW5lcmF0b3ItZGVmaW5pdGlvbnMtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFthcnJvdy1mdW5jdGlv
biwgYXN5bmMtZnVuY3Rpb25zLCBhc3luYy1pdGVyYXRpb25dCitmbGFnczogW2dlbmVyYXRlZCwg
bm9TdHJpY3QsIGFzeW5jXQoraW5mbzogfAorICAgIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiA6
IGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBmdW5jdGlvbiAqIEJpbmRpbmdJZGVudGlm
aWVyCisgICAgICAgICggRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNHZW5lcmF0b3JCb2R5IH0K
KworCisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0
IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRo
YXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0
eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbgorICAgIG9iamVjdC4gSWYgaXQgaXMg
YW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0
aGUgcHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEg
c3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgorCistLS0qLwordmFyIENBTExFUl9PV05fUFJP
UEVSVFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2woKTsKK2Z1bmN0aW9uIGlubmVyKCkgeworICAv
LyBUaGlzIHByb3BlcnR5IG1heSBleGlzdCwgYnV0IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBh
IHZhbHVlIHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0CisgIHJldHVybiBpbm5lci5o
YXNPd25Qcm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlubmVyLmNhbGxlcgorICAgIDogQ0FMTEVS
X09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVDsKK30KKworCit2YXIgY2FsbENvdW50ID0gMDsK
K3ZhciBmOworZiA9IGFzeW5jIGZ1bmN0aW9uKiBnKCkgeworICAidXNlIHN0cmljdCI7CisgIC8v
IFRoaXMgYW5kIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uYWwgdmFsdWUgaXMgc2V0IGluIHRoZSB0
ZXN0J3MgLmNhc2UgZmlsZS4KKyAgLy8gRm9yIGV2ZXJ5IHRlc3QgdGhhdCBoYXMgYSAidHJ1ZSIg
dmFsdWUgaGVyZSwgdGhlcmUgaXMgYQorICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMg
YSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgIC8vIFRoZXkgYXJlIGdlbmVyYXRlZCBmcm9tIHR3byBk
aWZmZXJlbnQgY2FzZSBmaWxlcywgd2hpY2ggdXNlCisgIC8vIHRoZSBzYW1lIHRlbXBsYXRlcy4K
KyAgbGV0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGlubmVy
LCAiY2FsbGVyIik7CisgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxl
ICYmIHRydWUpIHsKKyAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJjYWxsZXIiLCB7
dmFsdWU6IDF9KTsKKyAgfQorICB2YXIgcmVzdWx0ID0gaW5uZXIoKTsKKyAgaWYgKGRlc2NyaXB0
b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgdHJ1ZSkgeworICAgIGFzc2VydC5zYW1l
VmFsdWUocmVzdWx0LCAxLCAnSWYgdGhpcyB0ZXN0IGRlZmluZWQgYW4gb3duICJjYWxsZXIiIHBy
b3BlcnR5IG9uIHRoZSBpbm5lciBmdW5jdGlvbiwgdGhlbiBpdCBzaG91bGQgYmUgYWNjZXNzaWJs
ZSBhbmQgc2hvdWxkIHJldHVybiB0aGUgdmFsdWUgaXQgd2FzIHNldCB0by4nKTsKKyAgfQorICAv
LyAiQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCIgaXMgZnJvbQorICAvLyBmb3Ji
aWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5jYXNlCisgIC8vCisgIC8vIElm
IHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBoYXMgYW4gb3duIHByb3BlcnR5CisgIC8vIG5h
bWVkICJjYWxsZXIiLCB0aGVuIGl0cyB2YWx1ZSB3aWxsIGJlIHJldHVybmVkLgorICAvLworICAv
LyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgRE9FUyBOT1QgaGF2ZSBhbgorICAvLyBv
d24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIsIHRoZW4gdGhlIHN5bWJvbAorICAvLyBDQUxMRVJf
T1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQuCisgIGlmIChyZXN1
bHQgIT09IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QpIHsKKyAgICBhc3NlcnQu
bm90U2FtZVZhbHVlKHJlc3VsdCwgZik7CisgIH0KKyAgY2FsbENvdW50Kys7Cit9OworCitmKCku
bmV4dCgpCisgIC50aGVuKCgpID0+IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwg
MSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CisgIH0sICRET05FKS50aGVuKCRET05FLCAk
RE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9hc3luYy1nZW5lcmF0b3IvZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1nZW4tbmFtZWQtZnVu
Yy1leHByLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvYXN5bmMtZ2VuZXJhdG9yL2Zv
cmJpZGRlbi1leHQvYjIvYXN5bmMtZ2VuLW5hbWVkLWZ1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWlu
ZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwppbmRleCBlNGZjNjlhMjliNGE2ZGM5NGEyMDBh
M2NiYWYyN2MyNzkxMmVkZGY5Li4zOTcxY2U4NTgzYWI3MDdmMjg0ZjFkNWJhNTBkMmE0NTViZTBh
YTlkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9hc3luYy1nZW5lcmF0b3IvZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1nZW4tbmFtZWQtZnVuYy1l
eHByLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2FzeW5jLWdlbmVyYXRvci9m
b3JiaWRkZW4tZXh0L2IyL2FzeW5jLWdlbi1uYW1lZC1mdW5jLWV4cHItZm9yYmlkZGVuLWV4dC1p
bmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKQEAgLTQsMTkgKzQsMjUgQEAKIC8qLS0tCiBk
ZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIgKGFzeW5jIGdlbmVyYXRv
ciBuYW1lZCBmdW5jdGlvbiBleHByZXNzaW9uKQogZXNpZDogc2VjLWFzeW5jZ2VuZXJhdG9yLWRl
ZmluaXRpb25zLWV2YWx1YXRpb24KLWZlYXR1cmVzOiBbYXN5bmMtaXRlcmF0aW9uXQorZmVhdHVy
ZXM6IFthcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVuY3Rpb25zLCBhc3luYy1pdGVyYXRpb25dCiBm
bGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5jXQogaW5mbzogfAogICAgIEFzeW5jR2Vu
ZXJhdG9yRXhwcmVzc2lvbiA6IGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBmdW5jdGlv
biAqIEJpbmRpbmdJZGVudGlmaWVyCiAgICAgICAgICggRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5
bmNHZW5lcmF0b3JCb2R5IH0KIAogCi0gICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBh
bnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRo
ZSB2YWx1ZSBvZiB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtb
R2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0LiBJ
ZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZh
bHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0gYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJu
IGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgorICAgIElmIGFuIGltcGxlbWVudGF0aW9u
IGV4dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAi
Y2FsbGVyIiB0aGUgdmFsdWUgb2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2lu
ZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVu
Y3Rpb24KKyAgICBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVu
Y3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRdXQorICAgIGF0
dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4K
IAogLS0tKi8KK3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUID0gU3ltYm9s
KCk7CiBmdW5jdGlvbiBpbm5lcigpIHsKLSAgLy8gVGhpcyBwcm9wZXJ0eSBpcyBmb3JiaWRkZW4g
ZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKLSAgcmV0
dXJuIGlubmVyLmNhbGxlcjsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBtYXkgZXhpc3QsIGJ1dCBpcyBm
b3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEgc3RyaWN0IGZ1bmN0aW9uIG9i
amVjdAorICByZXR1cm4gaW5uZXIuaGFzT3duUHJvcGVydHkoImNhbGxlciIpCisgICAgPyBpbm5l
ci5jYWxsZXIKKyAgICA6IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Q7CiB9CiAK
IApAQCAtMjQsMTUgKzMwLDM1IEBAIHZhciBjYWxsQ291bnQgPSAwOwogdmFyIGY7CiBmID0gYXN5
bmMgZnVuY3Rpb24qIGcoKSB7CiAgICJ1c2Ugc3RyaWN0IjsKLSAgaW5uZXIoKS50b1N0cmluZygp
OworICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBp
biB0aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEg
InRydWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRo
YXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBoZXJlLgorICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJv
bSB0d28gZGlmZmVyZW50IGNhc2UgZmlsZXMsIHdoaWNoIHVzZQorICAvLyB0aGUgc2FtZSB0ZW1w
bGF0ZXMuCisgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihpbm5lciwgImNhbGxlciIpOworICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZp
Z3VyYWJsZSAmJiBmYWxzZSkgeworICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbm5lciwgImNh
bGxlciIsIHt9KTsKKyAgfQorICB2YXIgcmVzdWx0ID0gaW5uZXIoKTsKKyAgaWYgKGRlc2NyaXB0
b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgZmFsc2UpIHsKKyAgICBhc3NlcnQuc2Ft
ZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMgdGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBw
cm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2li
bGUgYW5kIHNob3VsZCByZXR1cm4gdGhlIHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgIH0KKyAg
Ly8gIkNBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAgLy8gZm9y
YmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAvLworICAvLyBJ
ZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAvLyBu
YW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgLy8KKyAg
Ly8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgLy8g
b3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgLy8gQ0FMTEVS
X09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCB3aWxsIGJlIHJldHVybmVkLgorICBpZiAocmVz
dWx0ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgYXNzZXJ0
Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIGYpOworICB9CiAgIGNhbGxDb3VudCsrOwogfTsKIAogZigp
Lm5leHQoKQotICAudGhlbihfID0+IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdmdW5j
dGlvbiBzaG91bGQgbm90IGJlIHJlc29sdmVkJyk7Ci0gIH0sIGVycm9yID0+IGFzc2VydC5zYW1l
VmFsdWUoZXJyb3IuY29uc3RydWN0b3IsIFR5cGVFcnJvcikpCiAgIC50aGVuKCgpID0+IHsKLSAg
ICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2Z1bmN0aW9uIGJvZHkgaXMgbm90IGV2
YWx1YXRlZCcpOwotICB9LCAkRE9ORSkKLSAgLnRoZW4oJERPTkUsICRET05FKTsKKyAgICBhc3Nl
cnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7Cisg
IH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kLXN0YXRp
Yy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLWFzeW5jLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRk
ZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kLXN0YXRpYy9m
b3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLWFzeW5jLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4t
ZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKaW5kZXggMzRmMTliYzNhYTAwMDk5
MTIyZjA1YzFhOTU2MDJmMDZhZTUyOGNiNC4uMmY2MzQ1NzliYTk2MTJlYWQ4NzZhNThmOGZlYWMw
NThmYWQyZTllYyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMS9j
bHMtZXhwci1hc3luYy1nZW4tbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNz
LXByb3AtYXJndW1lbnRzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2FzeW5jLWdlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjEv
Y2xzLWV4cHItYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vz
cy1wcm9wLWFyZ3VtZW50cy5qcwpAQCAtMiwzMSArMiwzNiBAQAogLy8gLSBzcmMvZnVuY3Rpb24t
Zm9ybXMvZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmNhc2UKIC8v
IC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC1vbmUvY2xz
LWV4cHItYXN5bmMtZ2VuLW1ldGgtc3RhdGljLnRlbXBsYXRlCiAvKi0tLQotZGVzY3JpcHRpb246
IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uYXJndW1lbnRzIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lv
biBhc3luYyBnZW5lcmF0b3IgbWV0aG9kKQorZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNp
b24sIGYuYXJndW1lbnRzIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBhc3luYyBnZW5lcmF0b3Ig
bWV0aG9kKQogZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2
YWx1YXRpb24KLWZlYXR1cmVzOiBbYXN5bmMtaXRlcmF0aW9uXQorZmVhdHVyZXM6IFthcnJvdy1m
dW5jdGlvbiwgYXN5bmMtZnVuY3Rpb25zLCBhc3luYy1pdGVyYXRpb24sIGNsYXNzXQogZmxhZ3M6
IFtnZW5lcmF0ZWQsIG5vU3RyaWN0LCBhc3luY10KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Np
b24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllcm9wdCBDbGFzc1RhaWwKIAogCi0gICAgRUNNQVNj
cmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9y
cyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBvd24gcHJvcGVy
dGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4gU3VjaCBvd24gcHJvcGVydGllcyBh
bHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2lu
ZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLCBHZW5lcmF0b3JEZWNsYXJhdGlv
biwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNH
ZW5lcmF0b3JFeHByZXNzaW9uLCBDbGFzc0RlY2xhcmF0aW9uLCBDbGFzc0V4cHJlc3Npb24sIEFz
eW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24sIG9yIEFzeW5j
QXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29u
dGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1
bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9y
IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5j
IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBBc3luY0Z1bmN0aW9uIGNvbnN0cnVjdG9yLCBh
bmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3Qg
YmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duIHByb3BlcnRpZXMuCisgICAgRUNNQVNjcmlwdCBmdW5j
dGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJp
Y3QgbW9kZSBjb2RlIG11c3QKKyAgICBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVz
IG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28K
KyAgICBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNp
bmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwKKyAgICBHZW5lcmF0b3JEZWNs
YXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwg
QXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLAorICAgIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhw
cmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lv
biwgb3IKKyAgICBBc3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBk
ZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLgorICAgIEJ1aWx0LWlu
IGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBj
b25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucworICAgIGNyZWF0ZWQgdXNpbmcgdGhlIEdl
bmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFz
eW5jRnVuY3Rpb24KKyAgICBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5n
IHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93bgor
ICAgIHByb3BlcnRpZXMuCiAKIC0tLSovCiAKIHZhciBjYWxsQ291bnQgPSAwOwogdmFyIEMgPSBj
bGFzcyB7CiAgIHN0YXRpYyBhc3luYyAqbWV0aG9kKCkgewotICAgIHRoaXMubWV0aG9kLmFyZ3Vt
ZW50czsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHRoaXMubWV0aG9kLmhhc093blByb3BlcnR5KCJh
cmd1bWVudHMiKSwgZmFsc2UpOwogICAgIGNhbGxDb3VudCsrOwogICB9CiB9OwogCiBDLm1ldGhv
ZCgpLm5leHQoKQotICAudGhlbihfID0+IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdm
dW5jdGlvbiBzaG91bGQgbm90IGJlIHJlc29sdmVkJyk7Ci0gIH0sIGVycm9yID0+IGFzc2VydC5z
YW1lVmFsdWUoZXJyb3IuY29uc3RydWN0b3IsIFR5cGVFcnJvcikpCiAgIC50aGVuKCgpID0+IHsK
LSAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2Z1bmN0aW9uIGJvZHkgaXMgbm90
IGV2YWx1YXRlZCcpOwotICB9LCAkRE9ORSkKLSAgLnRoZW4oJERPTkUsICRET05FKTsKKyAgICBh
c3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7
CisgIH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kLXN0
YXRpYy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLWFzeW5jLWdlbi1tZXRoLXN0YXRpYy1mb3Ji
aWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kLXN0YXRpYy9m
b3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLWFzeW5jLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4t
ZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKaW5kZXggMDAxZmRjNGQwMDg0NmZlZmE3
YWRmNGY4M2I0MDVhMmYzMjVjMThjNy4uYzBmZjc0MTUzNjAyNDUyNGFmYjgyNDAyZDlkYjE3YjUz
ODAxZTc3MCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMS9jbHMt
ZXhwci1hc3luYy1nZW4tbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXBy
b3AtY2FsbGVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NsYXNzL2FzeW5jLWdlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWV4
cHItYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9w
LWNhbGxlci5qcwpAQCAtNCwyOSArNCwzNCBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBGb3JiaWRk
ZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoc3RhdGljIGNsYXNzIGV4cHJlc3Npb24gYXN5bmMgZ2Vu
ZXJhdG9yIG1ldGhvZCkKIGVzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFu
dGljcy1ldmFsdWF0aW9uCi1mZWF0dXJlczogW2FzeW5jLWl0ZXJhdGlvbl0KK2ZlYXR1cmVzOiBb
YXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9ucywgYXN5bmMtaXRlcmF0aW9uLCBjbGFzc10K
IGZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdCwgYXN5bmNdCiBpbmZvOiB8CiAgICAgQ2xhc3NF
eHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xhc3NUYWlsCiAKIAotICAg
IEVDTUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBjb25z
dHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggb3du
IHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3Bl
cnRpZXMgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmlu
ZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwgR2VuZXJhdG9yRGVj
bGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2VuZXJhdG9yRGVjbGFyYXRpb24s
IEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNz
aW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBv
ciBBc3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9u
IGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLiBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0
cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IsIGdl
bmVyYXRvciBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9y
LCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbiBjb25zdHJ1
Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11
c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93biBwcm9wZXJ0aWVzLgorICAgIEVDTUFTY3Jp
cHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBjb25zdHJ1Y3RvcnMg
aW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0CisgICAgbm90IGJlIGNyZWF0ZWQgd2l0aCBvd24gcHJv
cGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4gU3VjaCBvd24gcHJvcGVydGll
cyBhbHNvCisgICAgbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZp
bmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sCisgICAgR2VuZXJh
dG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2VuZXJhdG9yRGVjbGFy
YXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwKKyAgICBDbGFzc0RlY2xhcmF0aW9uLCBD
bGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNGdW5jdGlvbkV4
cHJlc3Npb24sIG9yCisgICAgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhl
ciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4KKyAgICBC
dWlsdC1pbiBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgRnVu
Y3Rpb24gY29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMKKyAgICBjcmVhdGVkIHVzaW5n
IHRoZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5n
IHRoZSBBc3luY0Z1bmN0aW9uCisgICAgY29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRl
ZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3Vj
aCBvd24KKyAgICBwcm9wZXJ0aWVzLgogCiAtLS0qLwogCiB2YXIgY2FsbENvdW50ID0gMDsKIHZh
ciBDID0gY2xhc3MgewogICBzdGF0aWMgYXN5bmMgKm1ldGhvZCgpIHsKLSAgICB0aGlzLm1ldGhv
ZC5jYWxsZXI7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh0aGlzLm1ldGhvZC5oYXNPd25Qcm9wZXJ0
eSgiY2FsbGVyIiksIGZhbHNlKTsKICAgICBjYWxsQ291bnQrKzsKICAgfQogfTsKIAogQy5tZXRo
b2QoKS5uZXh0KCkKLSAgLnRoZW4oXyA9PiB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcign
ZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSByZXNvbHZlZCcpOwotICB9LCBlcnJvciA9PiBhc3NlcnQu
c2FtZVZhbHVlKGVycm9yLmNvbnN0cnVjdG9yLCBUeXBlRXJyb3IpKQogICAudGhlbigoKSA9PiB7
Ci0gICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdmdW5jdGlvbiBib2R5IGlzIG5v
dCBldmFsdWF0ZWQnKTsKLSAgfSwgJERPTkUpCi0gIC50aGVuKCRET05FLCAkRE9ORSk7CisgICAg
YXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcp
OworICB9LCAkRE9ORSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC1z
dGF0aWMvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1hc3luYy1nZW4tbWV0aC1zdGF0aWMtZm9y
YmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLWdlbi1tZXRo
b2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItYXN5bmMtZ2VuLW1ldGgtc3RhdGlj
LWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTMxYzFhOTkwMTVhYzRlMzc0OTM1ZWI3MmRmNWVmNzVjMmQ4YjU5NgotLS0gL2Rl
di9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2FzeW5jLWdlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItYXN5
bmMtZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9w
LWNhbGxlci1nZXQuanMKQEAgLTAsMCArMSw2MyBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1
cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZnVu
Y3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVy
LWdldC5jYXNlCisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0ZW5zaW9ucy9i
dWxsZXQtdHdvL2Nscy1leHByLWFzeW5jLWdlbi1tZXRoLXN0YXRpYy50ZW1wbGF0ZQorLyotLS0K
K2Rlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoc3RhdGljIGNsYXNz
IGV4cHJlc3Npb24gYXN5bmMgZ2VuZXJhdG9yIG1ldGhvZCkKK2VzaWQ6IHNlYy1jbGFzcy1kZWZp
bml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW2Fycm93LWZ1
bmN0aW9uLCBhc3luYy1mdW5jdGlvbnMsIGFzeW5jLWl0ZXJhdGlvbiwgY2xhc3NdCitmbGFnczog
W2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5jXQoraW5mbzogfAorICAgIENsYXNzRXhwcmVzc2lv
biA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFpbAorCisKKyAgICBJZiBhbiBp
bXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJv
cGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZhbHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0eSwgYXMg
b2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJl
IGEgc3RyaWN0IGZ1bmN0aW9uCisgICAgb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9w
ZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtb
R2V0XV0KKyAgICBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24g
d2hlbiBjYWxsZWQuCisKKy0tLSovCit2YXIgQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9F
WElTVCA9IFN5bWJvbCgpOworZnVuY3Rpb24gaW5uZXIoKSB7CisgIC8vIFRoaXMgcHJvcGVydHkg
bWF5IGV4aXN0LCBidXQgaXMgZm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBh
IHN0cmljdCBmdW5jdGlvbiBvYmplY3QKKyAgcmV0dXJuIGlubmVyLmhhc093blByb3BlcnR5KCJj
YWxsZXIiKQorICAgID8gaW5uZXIuY2FsbGVyCisgICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZX0RP
RVNfTk9UX0VYSVNUOworfQorCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBDID0gY2xhc3Mgewor
ICBzdGF0aWMgYXN5bmMgKm1ldGhvZCgpIHsKKyAgICAvKiBpbXBsaWNpdCBzdHJpY3QgKi8KKyAg
ICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0
aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgICAgLy8gRm9yIGV2ZXJ5IHRlc3QgdGhhdCBoYXMgYSAi
dHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUgaXMgYQorICAgIC8vIGNvcnJlc3BvbmRpbmcgdGVzdCB0
aGF0IGhhcyBhICJmYWxzZSIgdmFsdWUgaGVyZS4KKyAgICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQg
ZnJvbSB0d28gZGlmZmVyZW50IGNhc2UgZmlsZXMsIHdoaWNoIHVzZQorICAgIGxldCBkZXNjcmlw
dG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbm5lciwgImNhbGxlciIpOwor
ICAgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsK
KyAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbm5lciwgImNhbGxlciIsIHtnZXQoKXtyZXR1
cm4gMX19KTsKKyAgICB9CisgICAgdmFyIHJlc3VsdCA9IGlubmVyKCk7CisgICAgaWYgKGRlc2Ny
aXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgdHJ1ZSkgeworICAgICAgYXNzZXJ0
LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxl
ciIgcHJvcGVydHkgb24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nl
c3NpYmxlIGFuZCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICAg
IH0KKworICAgIC8vICJDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9t
CisgICAgLy8gZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQor
ICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24g
cHJvcGVydHkKKyAgICAvLyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSBy
ZXR1cm5lZC4KKyAgICAvLworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBE
T0VTIE5PVCBoYXZlIGFuCisgICAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVu
IHRoZSBzeW1ib2wKKyAgICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdp
bGwgYmUgcmV0dXJuZWQuCisgICAgaWYgKHJlc3VsdCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9E
T0VTX05PVF9FWElTVCkgeworICAgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIHRoaXMu
bWV0aG9kKTsKKyAgICB9CisgICAgY2FsbENvdW50Kys7CisgIH0KK307CisKK0MubWV0aG9kKCku
bmV4dCgpCisgIC50aGVuKCgpID0+IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwg
MSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CisgIH0sICRET05FKS50aGVuKCRET05FLCAk
RE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1l
eHByLWFzeW5jLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1v
d24tcHJvcC1jYWxsZXItdmFsdWUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2Iy
L2Nscy1leHByLWFzeW5jLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFj
Y2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmM3ZmJmMjE5NmRiMzAy
MjIzNmFiMjU2ZTJlOTVmNTBiZmU2NzhlMgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLWdlbi1tZXRob2Qtc3Rh
dGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWZvcmJp
ZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5qcwpAQCAtMCww
ICsxLDYzIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0
aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4t
ZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuY2FzZQorLy8gLSBzcmMv
ZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dGVuc2lvbnMvYnVsbGV0LXR3by9jbHMtZXhwci1h
c3luYy1nZW4tbWV0aC1zdGF0aWMudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogRm9yYmlk
ZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIgKHN0YXRpYyBjbGFzcyBleHByZXNzaW9uIGFzeW5jIGdl
bmVyYXRvciBtZXRob2QpCitlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1h
bnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFthcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVuY3Rp
b25zLCBhc3luYy1pdGVyYXRpb24sIGNsYXNzXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0
LCBhc3luY10KK2luZm86IHwKKyAgICBDbGFzc0V4cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5nSWRl
bnRpZmllcm9wdCBDbGFzc1RhaWwKKworCisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5k
cyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIi
IHRoZSB2YWx1ZSBvZgorICAgIHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0
XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbgor
ICAgIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0
aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0cmlidXRl
IG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgorCistLS0q
LwordmFyIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2woKTsKK2Z1
bmN0aW9uIGlubmVyKCkgeworICAvLyBUaGlzIHByb3BlcnR5IG1heSBleGlzdCwgYnV0IGlzIGZv
cmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24gb2Jq
ZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlubmVy
LmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVDsKK30KKwor
dmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgQyA9IGNsYXNzIHsKKyAgc3RhdGljIGFzeW5jICptZXRo
b2QoKSB7CisgICAgLyogaW1wbGljaXQgc3RyaWN0ICovCisgICAgLy8gVGhpcyBhbmQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRlc3QncyAuY2FzZSBmaWxl
LgorICAgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRo
ZXJlIGlzIGEKKyAgICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMgYSAiZmFsc2UiIHZh
bHVlIGhlcmUuCisgICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdvIGRpZmZlcmVudCBj
YXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgICBsZXQgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgICBpZiAoZGVzY3JpcHRvciAm
JiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgICBPYmplY3QuZGVmaW5l
UHJvcGVydHkoaW5uZXIsICJjYWxsZXIiLCB7dmFsdWU6IDF9KTsKKyAgICB9CisgICAgdmFyIHJl
c3VsdCA9IGlubmVyKCk7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1
cmFibGUgJiYgdHJ1ZSkgeworICAgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0
aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkgb24gdGhlIGlubmVyIGZ1
bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91bGQgcmV0dXJuIHRo
ZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICAgIH0KKworICAgIC8vICJDQUxMRVJfT1dOX1BS
T1BFUlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9tCisgICAgLy8gZm9yYmlkZGVuLWV4dC1pbmRp
cmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0
aW9uIG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAgICAvLyBuYW1lZCAiY2Fs
bGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgICAvLworICAgIC8vIElm
IHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFuCisgICAgLy8gb3du
IHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgICAvLyBDQUxMRVJf
T1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQuCisgICAgaWYgKHJl
c3VsdCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkgeworICAgICAgYXNz
ZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIHRoaXMubWV0aG9kKTsKKyAgICB9CisgICAgY2FsbENv
dW50Kys7CisgIH0KK307CisKK0MubWV0aG9kKCkubmV4dCgpCisgIC50aGVuKCgpID0+IHsKKyAg
ICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVk
Jyk7CisgIH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1nZW4tbWV0aG9k
LXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1leHByLWFzeW5jLWdlbi1tZXRoLXN0YXRpYy1m
b3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLWdlbi1tZXRob2Qtc3Rh
dGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWZvcmJp
ZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCmluZGV4IDRjZGEzOWUwYjA0
NWIwZDc4ZjgxNTZkNjVjYzdlZDYxYTNhNTMyYmIuLjQwMmUxMjBmM2FhMmQ0NTg2NmZlNGNlNDY3
YWMwZjg1YzViYzU4MGMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLWdlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQv
YjIvY2xzLWV4cHItYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3Qt
YWNjZXNzLXByb3AtY2FsbGVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLWdlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQv
YjIvY2xzLWV4cHItYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3Qt
YWNjZXNzLXByb3AtY2FsbGVyLmpzCkBAIC00LDM0ICs0LDYwIEBACiAvKi0tLQogZGVzY3JpcHRp
b246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVyIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lv
biBhc3luYyBnZW5lcmF0b3IgbWV0aG9kKQogZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1
bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KLWZlYXR1cmVzOiBbYXN5bmMtaXRlcmF0aW9uXQor
ZmVhdHVyZXM6IFthcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVuY3Rpb25zLCBhc3luYy1pdGVyYXRp
b24sIGNsYXNzXQogZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0LCBhc3luY10KIGluZm86IHwK
ICAgICBDbGFzc0V4cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllcm9wdCBDbGFzc1Rh
aWwKIAogCi0gICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2Jq
ZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZiB0aGF0
IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHld
XSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nl
c3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9w
ZXJ0eSdzIFtbR2V0XV0gYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0
aW9uIHdoZW4gY2FsbGVkLgorICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1
bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFs
dWUgb2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtb
R2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24KKyAgICBvYmpl
Y3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0
aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRdXQorICAgIGF0dHJpYnV0ZSBtdXN0IG5l
dmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KIAogLS0tKi8KK3ZhciBD
QUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7CiBmdW5jdGlvbiBp
bm5lcigpIHsKLSAgLy8gVGhpcyBwcm9wZXJ0eSBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2
YWx1ZSB0aGF0IGlzIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKLSAgcmV0dXJuIGlubmVyLmNhbGxl
cjsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBtYXkgZXhpc3QsIGJ1dCBpcyBmb3JiaWRkZW4gZnJvbSBo
YXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdAorICByZXR1cm4g
aW5uZXIuaGFzT3duUHJvcGVydHkoImNhbGxlciIpCisgICAgPyBpbm5lci5jYWxsZXIKKyAgICA6
IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Q7CiB9CiAKIHZhciBjYWxsQ291bnQg
PSAwOwogdmFyIEMgPSBjbGFzcyB7CiAgIHN0YXRpYyBhc3luYyAqbWV0aG9kKCkgewogICAgIC8q
IGltcGxpY2l0IHN0cmljdCAqLwotICAgIGlubmVyKCkudG9TdHJpbmcoKTsKKyAgICAvLyBUaGlz
IGFuZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdz
IC5jYXNlIGZpbGUuCisgICAgLy8gRm9yIGV2ZXJ5IHRlc3QgdGhhdCBoYXMgYSAidHJ1ZSIgdmFs
dWUgaGVyZSwgdGhlcmUgaXMgYQorICAgIC8vIGNvcnJlc3BvbmRpbmcgdGVzdCB0aGF0IGhhcyBh
ICJmYWxzZSIgdmFsdWUgaGVyZS4KKyAgICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28g
ZGlmZmVyZW50IGNhc2UgZmlsZXMsIHdoaWNoIHVzZQorICAgIGxldCBkZXNjcmlwdG9yID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbm5lciwgImNhbGxlciIpOworICAgIGlmIChk
ZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIGZhbHNlKSB7CisgICAgICBP
YmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJjYWxsZXIiLCB7fSk7CisgICAgfQorICAgIHZh
ciByZXN1bHQgPSBpbm5lcigpOworICAgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29u
ZmlndXJhYmxlICYmIGZhbHNlKSB7CisgICAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwg
J0lmIHRoaXMgdGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5u
ZXIgZnVuY3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1
cm4gdGhlIHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgICAgfQorCisgICAgLy8gIkNBTExFUl9P
V05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAgICAvLyBmb3JiaWRkZW4tZXh0
LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5jYXNlCisgICAgLy8KKyAgICAvLyBJZiB0aGUg
ZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAgIC8vIG5hbWVk
ICJjYWxsZXIiLCB0aGVuIGl0cyB2YWx1ZSB3aWxsIGJlIHJldHVybmVkLgorICAgIC8vCisgICAg
Ly8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgICAv
LyBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIsIHRoZW4gdGhlIHN5bWJvbAorICAgIC8vIENB
TExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qgd2lsbCBiZSByZXR1cm5lZC4KKyAgICBp
ZiAocmVzdWx0ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAg
ICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdCwgdGhpcy5tZXRob2QpOworICAgIH0KICAgICBj
YWxsQ291bnQrKzsKICAgfQogfTsKIAogQy5tZXRob2QoKS5uZXh0KCkKLSAgLnRoZW4oXyA9PiB7
Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSByZXNv
bHZlZCcpOwotICB9LCBlcnJvciA9PiBhc3NlcnQuc2FtZVZhbHVlKGVycm9yLmNvbnN0cnVjdG9y
LCBUeXBlRXJyb3IpKQogICAudGhlbigoKSA9PiB7Ci0gICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxs
Q291bnQsIDAsICdmdW5jdGlvbiBib2R5IGlzIG5vdCBldmFsdWF0ZWQnKTsKLSAgfSwgJERPTkUp
Ci0gIC50aGVuKCRET05FLCAkRE9ORSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQs
IDEsICdmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcpOworICB9LCAkRE9ORSkudGhlbigkRE9ORSwg
JERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLWFz
eW5jLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5j
LWdlbi1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZXhwci1hc3luYy1nZW4tbWV0aC1mb3Ji
aWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKaW5kZXggNGRkYmE0YmY0
ZjVjMzdkMjY5MWZiYjUyM2Q2YzgxZDBlYTM0ZWY0YS4uZDY2ZjFiMDMxYzNhZDY5NmU0MWVmODI5
NDVlODYzYzlmYzVlNTRjYyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2IxL2Ns
cy1leHByLWFzeW5jLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFy
Z3VtZW50cy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWV4cHItYXN5bmMt
Z2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCkBA
IC0yLDMxICsyLDM2IEBACiAvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWRp
cmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuY2FzZQogLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMv
Zm9yYmlkZGVuLWV4dGVuc2lvbnMvYnVsbGV0LW9uZS9jbHMtZXhwci1hc3luYy1nZW4tbWV0aC50
ZW1wbGF0ZQogLyotLS0KLWRlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmFyZ3Vt
ZW50cyAoY2xhc3MgZXhwcmVzc2lvbiBhc3luYyBnZW5lcmF0b3IgbWV0aG9kKQorZGVzY3JpcHRp
b246IEZvcmJpZGRlbiBleHRlbnNpb24sIGYuYXJndW1lbnRzIChjbGFzcyBleHByZXNzaW9uIGFz
eW5jIGdlbmVyYXRvciBtZXRob2QpCiBlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGlt
ZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgotZmVhdHVyZXM6IFthc3luYy1pdGVyYXRpb25dCitmZWF0
dXJlczogW2Fycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnMsIGFzeW5jLWl0ZXJhdGlvbiwg
Y2xhc3NdCiBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5jXQogaW5mbzogfAogICAg
IENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFpbAog
CiAKLSAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0
aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3QgYmUgY3JlYXRlZCB3
aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93
biBwcm9wZXJ0aWVzIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0
cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sIEdlbmVy
YXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xh
cmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sIENsYXNzRGVjbGFyYXRpb24sIENsYXNz
RXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVz
c2lvbiwgb3IgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVm
aW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4gQnVpbHQtaW4gZnVuY3Rp
b25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVj
dG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25z
dHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24g
Y29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2Qg
YWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24gcHJvcGVydGllcy4KKyAgICBF
Q01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3Ry
dWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdAorICAgIG5vdCBiZSBjcmVhdGVkIHdpdGgg
b3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHBy
b3BlcnRpZXMgYWxzbworICAgIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVj
dHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLAorICAg
IEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRv
ckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sCisgICAgQ2xhc3NEZWNsYXJh
dGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVu
Y3Rpb25FeHByZXNzaW9uLCBvcgorICAgIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9m
IHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUu
CisgICAgQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcg
dGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zCisgICAgY3JlYXRl
ZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRl
ZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbgorICAgIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25z
IGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3
aXRoIHN1Y2ggb3duCisgICAgcHJvcGVydGllcy4KIAogLS0tKi8KIAogdmFyIGNhbGxDb3VudCA9
IDA7CiB2YXIgQyA9IGNsYXNzIHsKICAgYXN5bmMgKm1ldGhvZCgpIHsKLSAgICB0aGlzLm1ldGhv
ZC5hcmd1bWVudHM7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh0aGlzLm1ldGhvZC5oYXNPd25Qcm9w
ZXJ0eSgiYXJndW1lbnRzIiksIGZhbHNlKTsKICAgICBjYWxsQ291bnQrKzsKICAgfQogfTsKIAog
Qy5wcm90b3R5cGUubWV0aG9kKCkubmV4dCgpCi0gIC50aGVuKF8gPT4gewotICAgIHRocm93IG5l
dyBUZXN0MjYyRXJyb3IoJ2Z1bmN0aW9uIHNob3VsZCBub3QgYmUgcmVzb2x2ZWQnKTsKLSAgfSwg
ZXJyb3IgPT4gYXNzZXJ0LnNhbWVWYWx1ZShlcnJvci5jb25zdHJ1Y3RvciwgVHlwZUVycm9yKSkK
ICAgLnRoZW4oKCkgPT4gewotICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAwLCAnZnVu
Y3Rpb24gYm9keSBpcyBub3QgZXZhbHVhdGVkJyk7Ci0gIH0sICRET05FKQotICAudGhlbigkRE9O
RSwgJERPTkUpOworICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnZnVuY3Rpb24g
Ym9keSBldmFsdWF0ZWQnKTsKKyAgfSwgJERPTkUpLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Fz
eW5jLWdlbi1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZXhwci1hc3luYy1nZW4tbWV0aC1m
b3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kL2ZvcmJp
ZGRlbi1leHQvYjEvY2xzLWV4cHItYXN5bmMtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3Qt
YWNjZXNzLXByb3AtY2FsbGVyLmpzCmluZGV4IDcyMDBkNWY1OTRlMjczNGMxZDNmYTkxZjM2OWNi
Y2ZiMmEyMGVlMWIuLmQ0ZjUzNDBmNWY3YjkyNTZmN2Y1MGY0M2QzNGY0NmNlZTMxZDVjOGEgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNz
L2FzeW5jLWdlbi1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZXhwci1hc3luYy1nZW4tbWV0
aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhv
ZC9mb3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLWFzeW5jLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQt
ZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwpAQCAtNCwyOSArNCwzNCBAQAogLyotLS0KIGRl
c2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoY2xhc3MgZXhwcmVzc2lv
biBhc3luYyBnZW5lcmF0b3IgbWV0aG9kKQogZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1
bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KLWZlYXR1cmVzOiBbYXN5bmMtaXRlcmF0aW9uXQor
ZmVhdHVyZXM6IFthcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVuY3Rpb25zLCBhc3luYy1pdGVyYXRp
b24sIGNsYXNzXQogZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0LCBhc3luY10KIGluZm86IHwK
ICAgICBDbGFzc0V4cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllcm9wdCBDbGFzc1Rh
aWwKIAogCi0gICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgc3lu
dGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3Qgbm90IGJlIGNyZWF0
ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4gU3Vj
aCBvd24gcHJvcGVydGllcyBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9i
amVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLCBH
ZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNHZW5lcmF0b3JE
ZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLCBDbGFzc0RlY2xhcmF0aW9uLCBD
bGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNGdW5jdGlvbkV4
cHJlc3Npb24sIG9yIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhl
IGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuIEJ1aWx0LWluIGZ1
bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25z
dHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBHZW5lcmF0b3Ig
Y29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBBc3luY0Z1bmN0
aW9uIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0
aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duIHByb3BlcnRpZXMuCisg
ICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgc3ludGFjdGljIGNv
bnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3QKKyAgICBub3QgYmUgY3JlYXRlZCB3
aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93
biBwcm9wZXJ0aWVzIGFsc28KKyAgICBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBv
YmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwK
KyAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNHZW5l
cmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLAorICAgIENsYXNzRGVj
bGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3lu
Y0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IKKyAgICBBc3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVz
cyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBj
b2RlLgorICAgIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVz
aW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucworICAgIGNy
ZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNy
ZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24KKyAgICBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0
aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0
ZWQgd2l0aCBzdWNoIG93bgorICAgIHByb3BlcnRpZXMuCiAKIC0tLSovCiAKIHZhciBjYWxsQ291
bnQgPSAwOwogdmFyIEMgPSBjbGFzcyB7CiAgIGFzeW5jICptZXRob2QoKSB7Ci0gICAgdGhpcy5t
ZXRob2QuY2FsbGVyOworICAgIGFzc2VydC5zYW1lVmFsdWUodGhpcy5tZXRob2QuaGFzT3duUHJv
cGVydHkoImNhbGxlciIpLCBmYWxzZSk7CiAgICAgY2FsbENvdW50Kys7CiAgIH0KIH07CiAKIEMu
cHJvdG90eXBlLm1ldGhvZCgpLm5leHQoKQotICAudGhlbihfID0+IHsKLSAgICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCdmdW5jdGlvbiBzaG91bGQgbm90IGJlIHJlc29sdmVkJyk7Ci0gIH0sIGVy
cm9yID0+IGFzc2VydC5zYW1lVmFsdWUoZXJyb3IuY29uc3RydWN0b3IsIFR5cGVFcnJvcikpCiAg
IC50aGVuKCgpID0+IHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2Z1bmN0
aW9uIGJvZHkgaXMgbm90IGV2YWx1YXRlZCcpOwotICB9LCAkRE9ORSkKLSAgLnRoZW4oJERPTkUs
ICRET05FKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJv
ZHkgZXZhbHVhdGVkJyk7CisgIH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3lu
Yy1nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItYXN5bmMtZ2VuLW1ldGgtZm9y
YmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLWdlbi1tZXRo
b2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1hc3luYy1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0
LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhNzli
ODFlOWM5MzEwODliYTQ3NjkwOGUzYTQwYzU5M2I5MDAxZjMKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1nZW4t
bWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItYXN5bmMtZ2VuLW1ldGgtZm9yYmlkZGVu
LWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcwpAQCAtMCwwICsxLDYz
IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9s
bG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWlu
ZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmNhc2UKKy8vIC0gc3JjL2Z1bmN0aW9u
LWZvcm1zL2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC10d28vY2xzLWV4cHItYXN5bmMtZ2Vu
LW1ldGgudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwg
by5jYWxsZXIgKGNsYXNzIGV4cHJlc3Npb24gYXN5bmMgZ2VuZXJhdG9yIG1ldGhvZCkKK2VzaWQ6
IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0
dXJlczogW2Fycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnMsIGFzeW5jLWl0ZXJhdGlvbiwg
Y2xhc3NdCitmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5jXQoraW5mbzogfAorICAg
IENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFpbAor
CisKKyAgICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmplY3Qg
d2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZhbHVlIG9mCisgICAgdGhh
dCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBbW0dldE93blByb3BlcnR5
XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9uCisgICAgb2JqZWN0LiBJZiBpdCBpcyBh
biBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRo
ZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAgICBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBz
dHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQuCisKKy0tLSovCit2YXIgQ0FMTEVSX09XTl9QUk9Q
RVJUWV9ET0VTX05PVF9FWElTVCA9IFN5bWJvbCgpOworZnVuY3Rpb24gaW5uZXIoKSB7CisgIC8v
IFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0LCBidXQgaXMgZm9yYmlkZGVuIGZyb20gaGF2aW5nIGEg
dmFsdWUgdGhhdCBpcyBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKKyAgcmV0dXJuIGlubmVyLmhh
c093blByb3BlcnR5KCJjYWxsZXIiKQorICAgID8gaW5uZXIuY2FsbGVyCisgICAgOiBDQUxMRVJf
T1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUOworfQorCit2YXIgY2FsbENvdW50ID0gMDsKK3Zh
ciBDID0gY2xhc3MgeworICBhc3luYyAqbWV0aG9kKCkgeworICAgIC8qIGltcGxpY2l0IHN0cmlj
dCAqLworICAgIC8vIFRoaXMgYW5kIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uYWwgdmFsdWUgaXMg
c2V0IGluIHRoZSB0ZXN0J3MgLmNhc2UgZmlsZS4KKyAgICAvLyBGb3IgZXZlcnkgdGVzdCB0aGF0
IGhhcyBhICJ0cnVlIiB2YWx1ZSBoZXJlLCB0aGVyZSBpcyBhCisgICAgLy8gY29ycmVzcG9uZGlu
ZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBoZXJlLgorICAgIC8vIFRoZXkgYXJlIGdl
bmVyYXRlZCBmcm9tIHR3byBkaWZmZXJlbnQgY2FzZSBmaWxlcywgd2hpY2ggdXNlCisgICAgbGV0
IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGlubmVyLCAiY2Fs
bGVyIik7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYg
dHJ1ZSkgeworICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2FsbGVyIiwge2dl
dCgpe3JldHVybiAxfX0pOworICAgIH0KKyAgICB2YXIgcmVzdWx0ID0gaW5uZXIoKTsKKyAgICBp
ZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAg
ICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMgdGVzdCBkZWZpbmVkIGFuIG93
biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rpb24sIHRoZW4gaXQgc2hvdWxk
IGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4gdGhlIHZhbHVlIGl0IHdhcyBzZXQgdG8u
Jyk7CisgICAgfQorCisgICAgLy8gIkNBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qi
IGlzIGZyb20KKyAgICAvLyBmb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxl
ci5jYXNlCisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgaGFz
IGFuIG93biBwcm9wZXJ0eQorICAgIC8vIG5hbWVkICJjYWxsZXIiLCB0aGVuIGl0cyB2YWx1ZSB3
aWxsIGJlIHJldHVybmVkLgorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAi
aW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgICAvLyBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxl
ciIsIHRoZW4gdGhlIHN5bWJvbAorICAgIC8vIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1Rf
RVhJU1Qgd2lsbCBiZSByZXR1cm5lZC4KKyAgICBpZiAocmVzdWx0ICE9PSBDQUxMRVJfT1dOX1BS
T1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3Vs
dCwgdGhpcy5tZXRob2QpOworICAgIH0KKyAgICBjYWxsQ291bnQrKzsKKyAgfQorfTsKKworQy5w
cm90b3R5cGUubWV0aG9kKCkubmV4dCgpCisgIC50aGVuKCgpID0+IHsKKyAgICBhc3NlcnQuc2Ft
ZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CisgIH0sICRE
T05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kL2ZvcmJpZGRlbi1l
eHQvYjIvY2xzLWV4cHItYXN5bmMtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nl
c3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2IyL2Ns
cy1leHByLWFzeW5jLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1w
cm9wLWNhbGxlci12YWx1ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNDM1NmIxZmExMzBjNzA0NmI5Yjc3OTJj
MWY0YWUzNTdlMDZiOTg2Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC9mb3JiaWRkZW4tZXh0
L2IyL2Nscy1leHByLWFzeW5jLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNz
LW93bi1wcm9wLWNhbGxlci12YWx1ZS5qcwpAQCAtMCwwICsxLDYzIEBACisvLyBUaGlzIGZpbGUg
d2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6Cisv
LyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24t
cHJvcC1jYWxsZXItdmFsdWUuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVu
LWV4dGVuc2lvbnMvYnVsbGV0LXR3by9jbHMtZXhwci1hc3luYy1nZW4tbWV0aC50ZW1wbGF0ZQor
LyotLS0KK2Rlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoY2xhc3Mg
ZXhwcmVzc2lvbiBhc3luYyBnZW5lcmF0b3IgbWV0aG9kKQorZXNpZDogc2VjLWNsYXNzLWRlZmlu
aXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbYXJyb3ctZnVu
Y3Rpb24sIGFzeW5jLWZ1bmN0aW9ucywgYXN5bmMtaXRlcmF0aW9uLCBjbGFzc10KK2ZsYWdzOiBb
Z2VuZXJhdGVkLCBub1N0cmljdCwgYXN5bmNdCitpbmZvOiB8CisgICAgQ2xhc3NFeHByZXNzaW9u
IDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xhc3NUYWlsCisKKworICAgIElmIGFuIGlt
cGxlbWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9w
ZXJ0eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBv
YnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUg
YSBzdHJpY3QgZnVuY3Rpb24KKyAgICBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3Bl
cnR5LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tH
ZXRdXQorICAgIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3
aGVuIGNhbGxlZC4KKworLS0tKi8KK3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VY
SVNUID0gU3ltYm9sKCk7CitmdW5jdGlvbiBpbm5lcigpIHsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBt
YXkgZXhpc3QsIGJ1dCBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEg
c3RyaWN0IGZ1bmN0aW9uIG9iamVjdAorICByZXR1cm4gaW5uZXIuaGFzT3duUHJvcGVydHkoImNh
bGxlciIpCisgICAgPyBpbm5lci5jYWxsZXIKKyAgICA6IENBTExFUl9PV05fUFJPUEVSVFlfRE9F
U19OT1RfRVhJU1Q7Cit9CisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFyIEMgPSBjbGFzcyB7Cisg
IGFzeW5jICptZXRob2QoKSB7CisgICAgLyogaW1wbGljaXQgc3RyaWN0ICovCisgICAgLy8gVGhp
cyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRlc3Qn
cyAuY2FzZSBmaWxlLgorICAgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZh
bHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMg
YSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdv
IGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgICBsZXQgZGVzY3JpcHRvciA9IE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgICBpZiAo
ZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgICBP
YmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJjYWxsZXIiLCB7dmFsdWU6IDF9KTsKKyAgICB9
CisgICAgdmFyIHJlc3VsdCA9IGlubmVyKCk7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3Jp
cHRvci5jb25maWd1cmFibGUgJiYgdHJ1ZSkgeworICAgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1
bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkgb24g
dGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91
bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICAgIH0KKworICAgIC8vICJD
QUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9tCisgICAgLy8gZm9yYmlk
ZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAgIC8vCisgICAgLy8g
SWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAgICAv
LyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgICAv
LworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFu
CisgICAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAg
ICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQu
CisgICAgaWYgKHJlc3VsdCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkg
eworICAgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIHRoaXMubWV0aG9kKTsKKyAgICB9
CisgICAgY2FsbENvdW50Kys7CisgIH0KK307CisKK0MucHJvdG90eXBlLm1ldGhvZCgpLm5leHQo
KQorICAudGhlbigoKSA9PiB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdm
dW5jdGlvbiBib2R5IGV2YWx1YXRlZCcpOworICB9LCAkRE9ORSkudGhlbigkRE9ORSwgJERPTkUp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2IyL2Nscy1leHByLWFzeW5jLWdl
bi1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtZ2VuLW1l
dGhvZC9mb3JiaWRkZW4tZXh0L2IyL2Nscy1leHByLWFzeW5jLWdlbi1tZXRoLWZvcmJpZGRlbi1l
eHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCmluZGV4IDU3MmM2OGExMTY3MDViN2Ux
MDUzZGVhMjc2ZDgxMzljOWJjZmZkZWIuLmE5ZmJhZTVlMzNmMWIwMDM5MTZiZjQ3NDdlMjVhMmU3
OWMyMjc3MzkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2FzeW5jLWdlbi1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1h
c3luYy1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9h
c3luYy1nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItYXN5bmMtZ2VuLW1ldGgt
Zm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKQEAgLTQsMzQgKzQs
NjAgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIg
KGNsYXNzIGV4cHJlc3Npb24gYXN5bmMgZ2VuZXJhdG9yIG1ldGhvZCkKIGVzaWQ6IHNlYy1jbGFz
cy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCi1mZWF0dXJlczogW2Fz
eW5jLWl0ZXJhdGlvbl0KK2ZlYXR1cmVzOiBbYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9u
cywgYXN5bmMtaXRlcmF0aW9uLCBjbGFzc10KIGZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdCwg
YXN5bmNdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50
aWZpZXJvcHQgQ2xhc3NUYWlsCiAKIAotICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVuZHMg
YW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiB0
aGUgdmFsdWUgb2YgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBb
W0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdC4g
SWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2
YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1dIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVy
biBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KKyAgICBJZiBhbiBpbXBsZW1lbnRhdGlv
biBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQg
ImNhbGxlciIgdGhlIHZhbHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNp
bmcgW1tHZXRdXSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1
bmN0aW9uCisgICAgb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1
bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAgICBh
dHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQu
CiAKIC0tLSovCit2YXIgQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCA9IFN5bWJv
bCgpOwogZnVuY3Rpb24gaW5uZXIoKSB7Ci0gIC8vIFRoaXMgcHJvcGVydHkgaXMgZm9yYmlkZGVu
IGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0Ci0gIHJl
dHVybiBpbm5lci5jYWxsZXI7CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0LCBidXQgaXMg
Zm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0cmljdCBmdW5jdGlvbiBv
YmplY3QKKyAgcmV0dXJuIGlubmVyLmhhc093blByb3BlcnR5KCJjYWxsZXIiKQorICAgID8gaW5u
ZXIuY2FsbGVyCisgICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUOwogfQog
CiB2YXIgY2FsbENvdW50ID0gMDsKIHZhciBDID0gY2xhc3MgewogICBhc3luYyAqbWV0aG9kKCkg
ewogICAgIC8qIGltcGxpY2l0IHN0cmljdCAqLwotICAgIGlubmVyKCkudG9TdHJpbmcoKTsKKyAg
ICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0
aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgICAgLy8gRm9yIGV2ZXJ5IHRlc3QgdGhhdCBoYXMgYSAi
dHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUgaXMgYQorICAgIC8vIGNvcnJlc3BvbmRpbmcgdGVzdCB0
aGF0IGhhcyBhICJmYWxzZSIgdmFsdWUgaGVyZS4KKyAgICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQg
ZnJvbSB0d28gZGlmZmVyZW50IGNhc2UgZmlsZXMsIHdoaWNoIHVzZQorICAgIGxldCBkZXNjcmlw
dG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbm5lciwgImNhbGxlciIpOwor
ICAgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIGZhbHNlKSB7
CisgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJjYWxsZXIiLCB7fSk7CisgICAg
fQorICAgIHZhciByZXN1bHQgPSBpbm5lcigpOworICAgIGlmIChkZXNjcmlwdG9yICYmIGRlc2Ny
aXB0b3IuY29uZmlndXJhYmxlICYmIGZhbHNlKSB7CisgICAgICBhc3NlcnQuc2FtZVZhbHVlKHJl
c3VsdCwgMSwgJ0lmIHRoaXMgdGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBv
biB0aGUgaW5uZXIgZnVuY3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNo
b3VsZCByZXR1cm4gdGhlIHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgICAgfQorCisgICAgLy8g
IkNBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAgICAvLyBmb3Ji
aWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5jYXNlCisgICAgLy8KKyAgICAv
LyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAg
IC8vIG5hbWVkICJjYWxsZXIiLCB0aGVuIGl0cyB2YWx1ZSB3aWxsIGJlIHJldHVybmVkLgorICAg
IC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUg
YW4KKyAgICAvLyBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIsIHRoZW4gdGhlIHN5bWJvbAor
ICAgIC8vIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qgd2lsbCBiZSByZXR1cm5l
ZC4KKyAgICBpZiAocmVzdWx0ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNU
KSB7CisgICAgICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdCwgdGhpcy5tZXRob2QpOworICAg
IH0KICAgICBjYWxsQ291bnQrKzsKICAgfQogfTsKIAogQy5wcm90b3R5cGUubWV0aG9kKCkubmV4
dCgpCi0gIC50aGVuKF8gPT4gewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ2Z1bmN0aW9u
IHNob3VsZCBub3QgYmUgcmVzb2x2ZWQnKTsKLSAgfSwgZXJyb3IgPT4gYXNzZXJ0LnNhbWVWYWx1
ZShlcnJvci5jb25zdHJ1Y3RvciwgVHlwZUVycm9yKSkKICAgLnRoZW4oKCkgPT4gewotICAgIGFz
c2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAwLCAnZnVuY3Rpb24gYm9keSBpcyBub3QgZXZhbHVh
dGVkJyk7Ci0gIH0sICRET05FKQotICAudGhlbigkRE9ORSwgJERPTkUpOworICAgIGFzc2VydC5z
YW1lVmFsdWUoY2FsbENvdW50LCAxLCAnZnVuY3Rpb24gYm9keSBldmFsdWF0ZWQnKTsKKyAgfSwg
JERPTkUpLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvYXdhaXQt
YXMtYmluZGluZy1pZGVudGlmaWVyLWVzY2FwZWQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWJp
bmRpbmctaWRlbnRpZmllci1lc2NhcGVkLmpzCmluZGV4IGMxNThlMWIxNmVkMTUyODJlZTNmOWUz
NTczYjdiYWQ3NzRmNTY0ZjIuLjAyZDE1NDQ1N2Y3MmU1MWVjNGE0YzUzYTIxYzA1MjI5ZjkxMzZh
ODcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvYXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVyLWVz
Y2FwZWQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXItZXNj
YXBlZC5qcwpAQCAtMzEsNiArMzEsOCBAQCBpbmZvOiB8CiAkRE9OT1RFVkFMVUFURSgpOwogCiAK
LXZhciBDID0gY2xhc3MgeyBzdGF0aWMgYXN5bmMgbWV0aG9kKCkgewordmFyIEMgPSBjbGFzcyB7
CisgIHN0YXRpYyBhc3luYyBtZXRob2QoKSB7CiAgICAgdmFyIFx1MDA2MXdhaXQ7Ci19fTsKKyAg
fQorfTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvYXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVy
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5
bmMtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXIuanMKaW5kZXggZGFh
M2RjYzgzZGUxMDkyNWRiYTZmOTIwMjliYjJhZDQxZjgwYTg4MC4uZjhkNTY4ZmEzMzE2ZWFkMDYx
YTkwZDhjZDg4YjZiNDVjMGEyYmFjMiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1i
aW5kaW5nLWlkZW50aWZpZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1iaW5kaW5nLWlk
ZW50aWZpZXIuanMKQEAgLTMxLDYgKzMxLDggQEAgaW5mbzogfAogJERPTk9URVZBTFVBVEUoKTsK
IAogCi12YXIgQyA9IGNsYXNzIHsgc3RhdGljIGFzeW5jIG1ldGhvZCgpIHsKK3ZhciBDID0gY2xh
c3MgeworICBzdGF0aWMgYXN5bmMgbWV0aG9kKCkgewogICAgIHZhciBhd2FpdDsKLX19OworICB9
Cit9OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5j
ZS1lc2NhcGVkLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS1l
c2NhcGVkLmpzCmluZGV4IGZjMjgwNzVhOTg0ODY1YmNiNGYzYjc1NGIyN2VhYWMxNmYzODhjYjYu
LjkxODJkMTJlYjhhODQ0MjNlODNmYzIyOGFmZGY3OTQxNGU0YmQ5NDcgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhv
ZC1zdGF0aWMvYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UtZXNjYXBlZC5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRo
b2Qtc3RhdGljL2F3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLWVzY2FwZWQuanMKQEAgLTMx
LDYgKzMxLDggQEAgaW5mbzogfAogJERPTk9URVZBTFVBVEUoKTsKIAogCi12YXIgQyA9IGNsYXNz
IHsgc3RhdGljIGFzeW5jIG1ldGhvZCgpIHsKK3ZhciBDID0gY2xhc3MgeworICBzdGF0aWMgYXN5
bmMgbWV0aG9kKCkgewogICAgIHZvaWQgXHUwMDYxd2FpdDsKLX19OworICB9Cit9OwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5
bmMtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC1z
dGF0aWMvYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UuanMKaW5kZXggYzgwZWMyYjRjNzJi
MjFjMDE5NDcxOWU3ZTM3YWQ1MTJlMzUxMWI4My4uODI4YTJlN2YwYjY1OWUyZDJiZDM2NDA1ZGZk
OGY3ZjI4ZTFhNDFlYiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1pZGVudGlmaWVy
LXJlZmVyZW5jZS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJl
bmNlLmpzCkBAIC0zMSw2ICszMSw4IEBAIGluZm86IHwKICRET05PVEVWQUxVQVRFKCk7CiAKIAot
dmFyIEMgPSBjbGFzcyB7IHN0YXRpYyBhc3luYyBtZXRob2QoKSB7Cit2YXIgQyA9IGNsYXNzIHsK
KyAgc3RhdGljIGFzeW5jIG1ldGhvZCgpIHsKICAgICB2b2lkIGF3YWl0OwotfX07CisgIH0KK307
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXItZXNjYXBl
ZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Fz
eW5jLW1ldGhvZC1zdGF0aWMvYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci1lc2NhcGVkLmpzCmlu
ZGV4IDM0ZmJlOTU5MGIyNTg1ODNjMTliODc3ZTllYmUxNTQyODIyNTExNTIuLmU4ZjljZGFmODkz
NmM2YmE1ZDI1MTllZmY1NDIxODc0ZWQyYWI0NWYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvYXdh
aXQtYXMtbGFiZWwtaWRlbnRpZmllci1lc2NhcGVkLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvYXdhaXQt
YXMtbGFiZWwtaWRlbnRpZmllci1lc2NhcGVkLmpzCkBAIC0zMSw2ICszMSw4IEBAIGluZm86IHwK
ICRET05PVEVWQUxVQVRFKCk7CiAKIAotdmFyIEMgPSBjbGFzcyB7IHN0YXRpYyBhc3luYyBtZXRo
b2QoKSB7Cit2YXIgQyA9IGNsYXNzIHsKKyAgc3RhdGljIGFzeW5jIG1ldGhvZCgpIHsKICAgICBc
dTAwNjF3YWl0OiA7Ci19fTsKKyAgfQorfTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvYXdhaXQt
YXMtbGFiZWwtaWRlbnRpZmllci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvYXdhaXQtYXMtbGFiZWwtaWRlbnRp
Zmllci5qcwppbmRleCAxMDk2YzdkNTRhNDE2NjU2Mjc2ZTRkZDllMDUxNTJjYTI5Y2YwYjExLi44
YTlmMTQwOTgxY2RhOWRiNzc1MzY0Mzg1MDZkYTRiYmY2Zjg3NTcxIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2Qt
c3RhdGljL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9hd2Fp
dC1hcy1sYWJlbC1pZGVudGlmaWVyLmpzCkBAIC0zMSw2ICszMSw4IEBAIGluZm86IHwKICRET05P
VEVWQUxVQVRFKCk7CiAKIAotdmFyIEMgPSBjbGFzcyB7IHN0YXRpYyBhc3luYyBtZXRob2QoKSB7
Cit2YXIgQyA9IGNsYXNzIHsKKyAgc3RhdGljIGFzeW5jIG1ldGhvZCgpIHsKICAgICBhd2FpdDog
OwotfX07CisgIH0KK307CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjEv
Y2xzLWV4cHItYXN5bmMtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXBy
b3AtYXJndW1lbnRzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLWFz
eW5jLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50
cy5qcwppbmRleCBjMGY0MjU5NjVkZGYzM2JmOWMzM2VjOTg4YWY1NzMxMjE4OGQwYmFlLi41Mjhi
YThmYjk5MjFiNmQxZjI5YWFkOTFiY2ZkZGNhYzFkMGFlNzBkIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2Qtc3Rh
dGljL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWV4cHItYXN5bmMtbWV0aC1zdGF0aWMtZm9yYmlkZGVu
LWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvZm9y
YmlkZGVuLWV4dC9iMS9jbHMtZXhwci1hc3luYy1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWRp
cmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKQEAgLTIsMTUgKzIsMjQgQEAKIC8vIC0gc3Jj
L2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50
cy5jYXNlCiAvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0ZW5zaW9ucy9idWxs
ZXQtb25lL2Nscy1leHByLWFzeW5jLW1ldGgtc3RhdGljLnRlbXBsYXRlCiAvKi0tLQotZGVzY3Jp
cHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uYXJndW1lbnRzIChzdGF0aWMgY2xhc3MgZXhw
cmVzc2lvbiBhc3luYyBtZXRob2QpCitkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwg
Zi5hcmd1bWVudHMgKHN0YXRpYyBjbGFzcyBleHByZXNzaW9uIGFzeW5jIG1ldGhvZCkKIGVzaWQ6
IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCi1mZWF0
dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2ZlYXR1cmVzOiBbYXJyb3ctZnVuY3Rpb24sIGFzeW5j
LWZ1bmN0aW9ucywgY2xhc3NdCiBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5jXQog
aW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0
IENsYXNzVGFpbAogCiAKLSAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1
c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3Qg
YmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVu
dHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVu
Y3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmlu
aXRpb24sIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dl
bmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sIENsYXNzRGVjbGFy
YXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1
bmN0aW9uRXhwcmVzc2lvbiwgb3IgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hl
dGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4gQnVp
bHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0
aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdl
bmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFz
eW5jRnVuY3Rpb24gY29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUg
YmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24gcHJvcGVy
dGllcy4KKyAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50
YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdAorICAgIG5vdCBiZSBj
cmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIu
IFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbworICAgIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1
bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZp
bml0aW9uLAorICAgIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBB
c3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sCisgICAg
Q2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRp
b24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvcgorICAgIEFzeW5jQXJyb3dGdW5jdGlvbiBy
ZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmlj
dCBtb2RlIGNvZGUuCisgICAgQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNy
ZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25z
CisgICAgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5j
dGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbgorICAgIGNvbnN0cnVjdG9yLCBh
bmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3Qg
YmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duCisgICAgcHJvcGVydGllcy4KIAogLS0tKi8KIApAQCAt
MTksMTYgKzI4LDEyIEBAIHZhciBjYWxsQ291bnQgPSAwOwogCiB2YXIgQyA9IGNsYXNzIHsKICAg
c3RhdGljIGFzeW5jIG1ldGhvZCgpIHsKLSAgICB0aGlzLm1ldGhvZC5hcmd1bWVudHM7CisgICAg
YXNzZXJ0LnNhbWVWYWx1ZSh0aGlzLm1ldGhvZC5oYXNPd25Qcm9wZXJ0eSgiYXJndW1lbnRzIiks
IGZhbHNlKTsKICAgICBjYWxsQ291bnQrKzsKICAgfQogfTsKIAogQy5tZXRob2QoKQotICAudGhl
bihfID0+IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdmdW5jdGlvbiBzaG91bGQgbm90
IGJlIHJlc29sdmVkJyk7Ci0gIH0sIGVycm9yID0+IGFzc2VydC5zYW1lVmFsdWUoZXJyb3IuY29u
c3RydWN0b3IsIFR5cGVFcnJvcikpCiAgIC50aGVuKCgpID0+IHsKLSAgICBhc3NlcnQuc2FtZVZh
bHVlKGNhbGxDb3VudCwgMCwgJ2Z1bmN0aW9uIGJvZHkgaXMgbm90IGV2YWx1YXRlZCcpOwotICB9
LCAkRE9ORSkKLSAgLnRoZW4oJERPTkUsICRET05FKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNh
bGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CisgIH0sICRET05FKS50aGVu
KCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjEv
Y2xzLWV4cHItYXN5bmMtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXBy
b3AtY2FsbGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLWFzeW5j
LW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwpp
bmRleCAxOGZkNDlkNjJiMTFjZjRiODczNDA4NDA2NjY5ZWNjOGU5YjVlYWQ5Li5hNDgyMWYwYTc2
NTdmOTYwMjc1NjJiYTI2ZTU1ZDk3ZGZlZTFjY2Q0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2Zv
cmJpZGRlbi1leHQvYjEvY2xzLWV4cHItYXN5bmMtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1k
aXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4
dC9iMS9jbHMtZXhwci1hc3luYy1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nl
c3MtcHJvcC1jYWxsZXIuanMKQEAgLTQsMTMgKzQsMjIgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjog
Rm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIgKHN0YXRpYyBjbGFzcyBleHByZXNzaW9uIGFz
eW5jIG1ldGhvZCkKIGVzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGlj
cy1ldmFsdWF0aW9uCi1mZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2ZlYXR1cmVzOiBbYXJy
b3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9ucywgY2xhc3NdCiBmbGFnczogW2dlbmVyYXRlZCwg
bm9TdHJpY3QsIGFzeW5jXQogaW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJp
bmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFpbAogCiAKLSAgICBFQ01BU2NyaXB0IGZ1bmN0aW9u
IG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBt
b2RlIGNvZGUgbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJj
YWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28gbXVzdCBub3Qg
YmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVu
Y3Rpb24sIE1ldGhvZERlZmluaXRpb24sIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JF
eHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJl
c3Npb24sIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRl
Y2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IgQXN5bmNBcnJvd0Z1bmN0aW9u
IHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3Ry
aWN0IG1vZGUgY29kZS4gQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0
ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zIGNy
ZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNy
ZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24gY29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMg
Y3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdp
dGggc3VjaCBvd24gcHJvcGVydGllcy4KKyAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMg
ZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUg
bXVzdAorICAgIG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxl
ciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbworICAgIG11c3Qgbm90
IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1
bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLAorICAgIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5l
cmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRv
ckV4cHJlc3Npb24sCisgICAgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3lu
Y0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvcgorICAgIEFz
eW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMg
Y29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuCisgICAgQnVpbHQtaW4gZnVuY3Rpb25zLCBz
dHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBn
ZW5lcmF0b3IgZnVuY3Rpb25zCisgICAgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0
cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbgor
ICAgIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0
aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duCisgICAgcHJvcGVydGll
cy4KIAogLS0tKi8KIApAQCAtMTksMTYgKzI4LDEyIEBAIHZhciBjYWxsQ291bnQgPSAwOwogCiB2
YXIgQyA9IGNsYXNzIHsKICAgc3RhdGljIGFzeW5jIG1ldGhvZCgpIHsKLSAgICB0aGlzLm1ldGhv
ZC5jYWxsZXI7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh0aGlzLm1ldGhvZC5oYXNPd25Qcm9wZXJ0
eSgiY2FsbGVyIiksIGZhbHNlKTsKICAgICBjYWxsQ291bnQrKzsKICAgfQogfTsKIAogQy5tZXRo
b2QoKQotICAudGhlbihfID0+IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdmdW5jdGlv
biBzaG91bGQgbm90IGJlIHJlc29sdmVkJyk7Ci0gIH0sIGVycm9yID0+IGFzc2VydC5zYW1lVmFs
dWUoZXJyb3IuY29uc3RydWN0b3IsIFR5cGVFcnJvcikpCiAgIC50aGVuKCgpID0+IHsKLSAgICBh
c3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2Z1bmN0aW9uIGJvZHkgaXMgbm90IGV2YWx1
YXRlZCcpOwotICB9LCAkRE9ORSkKLSAgLnRoZW4oJERPTkUsICRET05FKTsKKyAgICBhc3NlcnQu
c2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CisgIH0s
ICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2ZvcmJp
ZGRlbi1leHQvYjIvY2xzLWV4cHItYXN5bmMtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRp
cmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVu
LWV4dC9iMi9jbHMtZXhwci1hc3luYy1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0
LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIwYzZhM2I1Mzg2MDAx
MzBkMTZmOTc2OWY1MTczNzZiYTllOWViMmUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGlj
L2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItYXN5bmMtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4
dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcwpAQCAtMCwwICsxLDY1IEBA
CisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93
aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWluZGly
ZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmNhc2UKKy8vIC0gc3JjL2Z1bmN0aW9uLWZv
cm1zL2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC10d28vY2xzLWV4cHItYXN5bmMtbWV0aC1z
dGF0aWMudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwg
by5jYWxsZXIgKHN0YXRpYyBjbGFzcyBleHByZXNzaW9uIGFzeW5jIG1ldGhvZCkKK2VzaWQ6IHNl
Yy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJl
czogW2Fycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnMsIGNsYXNzXQorZmxhZ3M6IFtnZW5l
cmF0ZWQsIG5vU3RyaWN0LCBhc3luY10KK2luZm86IHwKKyAgICBDbGFzc0V4cHJlc3Npb24gOiBj
bGFzcyBCaW5kaW5nSWRlbnRpZmllcm9wdCBDbGFzc1RhaWwKKworCisgICAgSWYgYW4gaW1wbGVt
ZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5
IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRoYXQgcHJvcGVydHksIGFzIG9ic2Vy
dmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0
cmljdCBmdW5jdGlvbgorICAgIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHks
IHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1d
CisgICAgYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4g
Y2FsbGVkLgorCistLS0qLwordmFyIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qg
PSBTeW1ib2woKTsKK2Z1bmN0aW9uIGlubmVyKCkgeworICAvLyBUaGlzIHByb3BlcnR5IG1heSBl
eGlzdCwgYnV0IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgYSBzdHJp
Y3QgZnVuY3Rpb24gb2JqZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVy
IikKKyAgICA/IGlubmVyLmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05P
VF9FWElTVDsKK30KKworCit2YXIgY2FsbENvdW50ID0gMDsKKwordmFyIEMgPSBjbGFzcyB7Cisg
IHN0YXRpYyBhc3luYyBtZXRob2QoKSB7CisgICAgLyogaW1wbGljaXQgc3RyaWN0ICovCisgICAg
Ly8gVGhpcyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhl
IHRlc3QncyAuY2FzZSBmaWxlLgorICAgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRy
dWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhh
dCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZy
b20gdHdvIGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgICBsZXQgZGVzY3JpcHRv
ciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAg
ICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7Cisg
ICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJjYWxsZXIiLCB7Z2V0KCl7cmV0dXJu
IDF9fSk7CisgICAgfQorICAgIHZhciByZXN1bHQgPSBpbm5lcigpOworICAgIGlmIChkZXNjcmlw
dG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICAgIGFzc2VydC5z
YW1lVmFsdWUocmVzdWx0LCAxLCAnSWYgdGhpcyB0ZXN0IGRlZmluZWQgYW4gb3duICJjYWxsZXIi
IHByb3BlcnR5IG9uIHRoZSBpbm5lciBmdW5jdGlvbiwgdGhlbiBpdCBzaG91bGQgYmUgYWNjZXNz
aWJsZSBhbmQgc2hvdWxkIHJldHVybiB0aGUgdmFsdWUgaXQgd2FzIHNldCB0by4nKTsKKyAgICB9
CisKKyAgICAvLyAiQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCIgaXMgZnJvbQor
ICAgIC8vIGZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmNhc2UKKyAg
ICAvLworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBoYXMgYW4gb3duIHBy
b3BlcnR5CisgICAgLy8gbmFtZWQgImNhbGxlciIsIHRoZW4gaXRzIHZhbHVlIHdpbGwgYmUgcmV0
dXJuZWQuCisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgRE9F
UyBOT1QgaGF2ZSBhbgorICAgIC8vIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiwgdGhlbiB0
aGUgc3ltYm9sCisgICAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCB3aWxs
IGJlIHJldHVybmVkLgorICAgIGlmIChyZXN1bHQgIT09IENBTExFUl9PV05fUFJPUEVSVFlfRE9F
U19OT1RfRVhJU1QpIHsKKyAgICAgIGFzc2VydC5ub3RTYW1lVmFsdWUocmVzdWx0LCB0aGlzLm1l
dGhvZCk7CisgICAgfQorICAgIGNhbGxDb3VudCsrOworICB9Cit9OworCitDLm1ldGhvZCgpCisg
IC50aGVuKCgpID0+IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0
aW9uIGJvZHkgZXZhbHVhdGVkJyk7CisgIH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFz
cy9hc3luYy1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItYXN5bmMtbWV0
aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZh
bHVlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
YXN5bmMtbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1leHByLWFzeW5jLW1ldGgt
c3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1
ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42MjZmZDgwMDllNWFlODMwMTdlMDA5YjQ1OTQzOTljODE5YjI1Y2M1
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1leHBy
LWFzeW5jLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9w
LWNhbGxlci12YWx1ZS5qcwpAQCAtMCwwICsxLDY1IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2Nl
ZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9m
dW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxs
ZXItdmFsdWUuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dGVuc2lv
bnMvYnVsbGV0LXR3by9jbHMtZXhwci1hc3luYy1tZXRoLXN0YXRpYy50ZW1wbGF0ZQorLyotLS0K
K2Rlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoc3RhdGljIGNsYXNz
IGV4cHJlc3Npb24gYXN5bmMgbWV0aG9kKQorZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1
bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbYXJyb3ctZnVuY3Rpb24sIGFz
eW5jLWZ1bmN0aW9ucywgY2xhc3NdCitmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5j
XQoraW5mbzogfAorICAgIENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVy
b3B0IENsYXNzVGFpbAorCisKKyAgICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBm
dW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZh
bHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBb
W0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9uCisgICAgb2Jq
ZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMg
dGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAgICBhdHRyaWJ1dGUgbXVzdCBu
ZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQuCisKKy0tLSovCit2YXIg
Q0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCA9IFN5bWJvbCgpOworZnVuY3Rpb24g
aW5uZXIoKSB7CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0LCBidXQgaXMgZm9yYmlkZGVu
IGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKKyAg
cmV0dXJuIGlubmVyLmhhc093blByb3BlcnR5KCJjYWxsZXIiKQorICAgID8gaW5uZXIuY2FsbGVy
CisgICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUOworfQorCisKK3ZhciBj
YWxsQ291bnQgPSAwOworCit2YXIgQyA9IGNsYXNzIHsKKyAgc3RhdGljIGFzeW5jIG1ldGhvZCgp
IHsKKyAgICAvKiBpbXBsaWNpdCBzdHJpY3QgKi8KKyAgICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisg
ICAgLy8gRm9yIGV2ZXJ5IHRlc3QgdGhhdCBoYXMgYSAidHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUg
aXMgYQorICAgIC8vIGNvcnJlc3BvbmRpbmcgdGVzdCB0aGF0IGhhcyBhICJmYWxzZSIgdmFsdWUg
aGVyZS4KKyAgICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNhc2Ug
ZmlsZXMsIHdoaWNoIHVzZQorICAgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihpbm5lciwgImNhbGxlciIpOworICAgIGlmIChkZXNjcmlwdG9yICYmIGRl
c2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICAgIE9iamVjdC5kZWZpbmVQcm9w
ZXJ0eShpbm5lciwgImNhbGxlciIsIHt2YWx1ZTogMX0pOworICAgIH0KKyAgICB2YXIgcmVzdWx0
ID0gaW5uZXIoKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJs
ZSAmJiB0cnVlKSB7CisgICAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMg
dGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rp
b24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4gdGhlIHZh
bHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgICAgfQorCisgICAgLy8gIkNBTExFUl9PV05fUFJPUEVS
VFlfRE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAgICAvLyBmb3JiaWRkZW4tZXh0LWluZGlyZWN0
LWFjY2Vzcy1wcm9wLWNhbGxlci5jYXNlCisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24g
b2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAgIC8vIG5hbWVkICJjYWxsZXIi
LCB0aGVuIGl0cyB2YWx1ZSB3aWxsIGJlIHJldHVybmVkLgorICAgIC8vCisgICAgLy8gSWYgdGhl
IGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgICAvLyBvd24gcHJv
cGVydHkgbmFtZWQgImNhbGxlciIsIHRoZW4gdGhlIHN5bWJvbAorICAgIC8vIENBTExFUl9PV05f
UFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qgd2lsbCBiZSByZXR1cm5lZC4KKyAgICBpZiAocmVzdWx0
ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgICBhc3NlcnQu
bm90U2FtZVZhbHVlKHJlc3VsdCwgdGhpcy5tZXRob2QpOworICAgIH0KKyAgICBjYWxsQ291bnQr
KzsKKyAgfQorfTsKKworQy5tZXRob2QoKQorICAudGhlbigoKSA9PiB7CisgICAgYXNzZXJ0LnNh
bWVWYWx1ZShjYWxsQ291bnQsIDEsICdmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcpOworICB9LCAk
RE9ORSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9mb3JiaWRk
ZW4tZXh0L2IyL2Nscy1leHByLWFzeW5jLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJl
Y3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Ns
cy1leHByLWFzeW5jLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXBy
b3AtY2FsbGVyLmpzCmluZGV4IDhlMWM4ODBmZjQ1OTQxOTcxYjg2NGVhMGU2NGQ5MTIxOTM5ZTY1
OTAuLmQ2MjlmMmM3MTliNmQ0MGY1NTNjOWQ1YTY1N2VlNzNmN2M2MWM5ZjAgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1l
dGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1hc3luYy1tZXRoLXN0YXRpYy1m
b3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2Qtc3Rh
dGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItYXN5bmMtbWV0aC1zdGF0aWMtZm9yYmlkZGVu
LWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKQEAgLTQsMTggKzQsMjQgQEAKIC8q
LS0tCiBkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIgKHN0YXRpYyBj
bGFzcyBleHByZXNzaW9uIGFzeW5jIG1ldGhvZCkKIGVzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9u
cy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCi1mZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9u
c10KK2ZlYXR1cmVzOiBbYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9ucywgY2xhc3NdCiBm
bGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5jXQogaW5mbzogfAogICAgIENsYXNzRXhw
cmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFpbAogCiAKLSAgICBJ
ZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBv
d24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZhbHVlIG9mIHRoYXQgcHJvcGVydHksIGFz
IG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBi
ZSBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5
LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRd
XSBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxs
ZWQuCisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0
IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRo
YXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0
eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbgorICAgIG9iamVjdC4gSWYgaXQgaXMg
YW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0
aGUgcHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEg
c3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgogCiAtLS0qLwordmFyIENBTExFUl9PV05fUFJP
UEVSVFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2woKTsKIGZ1bmN0aW9uIGlubmVyKCkgewotICAv
LyBUaGlzIHByb3BlcnR5IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMg
c3RyaWN0IGZ1bmN0aW9uIG9iamVjdAotICByZXR1cm4gaW5uZXIuY2FsbGVyOworICAvLyBUaGlz
IHByb3BlcnR5IG1heSBleGlzdCwgYnV0IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVl
IHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Q
cm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlubmVyLmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9Q
Uk9QRVJUWV9ET0VTX05PVF9FWElTVDsKIH0KIAogCkBAIC0yNCwxNiArMzAsMzYgQEAgdmFyIGNh
bGxDb3VudCA9IDA7CiB2YXIgQyA9IGNsYXNzIHsKICAgc3RhdGljIGFzeW5jIG1ldGhvZCgpIHsK
ICAgICAvKiBpbXBsaWNpdCBzdHJpY3QgKi8KLSAgICBpbm5lcigpLnRvU3RyaW5nKCk7CisgICAg
Ly8gVGhpcyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhl
IHRlc3QncyAuY2FzZSBmaWxlLgorICAgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRy
dWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhh
dCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZy
b20gdHdvIGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgICBsZXQgZGVzY3JpcHRv
ciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAg
ICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiBmYWxzZSkgewor
ICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2FsbGVyIiwge30pOworICAgIH0K
KyAgICB2YXIgcmVzdWx0ID0gaW5uZXIoKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlw
dG9yLmNvbmZpZ3VyYWJsZSAmJiBmYWxzZSkgeworICAgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1
bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkgb24g
dGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91
bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICAgIH0KKworICAgIC8vICJD
QUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9tCisgICAgLy8gZm9yYmlk
ZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAgIC8vCisgICAgLy8g
SWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAgICAv
LyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgICAv
LworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFu
CisgICAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAg
ICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQu
CisgICAgaWYgKHJlc3VsdCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkg
eworICAgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIHRoaXMubWV0aG9kKTsKKyAgICB9
CiAgICAgY2FsbENvdW50Kys7CiAgIH0KIH07CiAKIEMubWV0aG9kKCkKLSAgLnRoZW4oXyA9PiB7
Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSByZXNv
bHZlZCcpOwotICB9LCBlcnJvciA9PiBhc3NlcnQuc2FtZVZhbHVlKGVycm9yLmNvbnN0cnVjdG9y
LCBUeXBlRXJyb3IpKQogICAudGhlbigoKSA9PiB7Ci0gICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxs
Q291bnQsIDAsICdmdW5jdGlvbiBib2R5IGlzIG5vdCBldmFsdWF0ZWQnKTsKLSAgfSwgJERPTkUp
Ci0gIC50aGVuKCRET05FLCAkRE9ORSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQs
IDEsICdmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcpOworICB9LCAkRE9ORSkudGhlbigkRE9ORSwg
JERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWFycm93LXJldHVy
bnMtYXJndW1lbnRzLWZyb20tcGFyZW50LWZ1bmN0aW9uLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9yZXR1cm5z
LWFzeW5jLWFycm93LXJldHVybnMtYXJndW1lbnRzLWZyb20tcGFyZW50LWZ1bmN0aW9uLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjUzYTJiYzJhM2JkMTc3NjZjN2Y4MjI3YzNiOGY2ZTFkMzM0Zjc2ZjcKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1hcmd1
bWVudHMtZnJvbS1wYXJlbnQtZnVuY3Rpb24uanMKQEAgLTAsMCArMSw0MCBAQAorLy8gVGhpcyBm
aWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2Vz
OgorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25zL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1h
cmd1bWVudHMtZnJvbS1wYXJlbnQtZnVuY3Rpb24uY2FzZQorLy8gLSBzcmMvYXN5bmMtZnVuY3Rp
b25zL2V2YWx1YXRpb24vYXN5bmMtY2xhc3MtZXhwci1zdGF0aWMtbWV0aG9kLnRlbXBsYXRlCisv
Ki0tLQorZGVzY3JpcHRpb246IEFzeW5jIGZ1bmN0aW9uIHJldHVybnMgYW4gYXN5bmMgZnVuY3Rp
b24uIChTdGF0aWMgYXN5bmMgbWV0aG9kIGFzIGEgQ2xhc3NFeHByZXNzaW9uIGVsZW1lbnQpCitl
c2lkOiBwcm9kLUFzeW5jTWV0aG9kCitmZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2ZsYWdz
OiBbZ2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICBDbGFzc0VsZW1lbnQgOgorICAgICAg
c3RhdGljIE1ldGhvZERlZmluaXRpb24KKworICAgIE1ldGhvZERlZmluaXRpb24gOgorICAgICAg
QXN5bmNNZXRob2QKKworICAgIEFzeW5jIEZ1bmN0aW9uIERlZmluaXRpb25zCisKKyAgICBBc3lu
Y01ldGhvZCA6CisgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gUHJvcGVydHlO
YW1lICggVW5pcXVlRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQorCist
LS0qLworbGV0IGNvdW50ID0gMDsKKworCit2YXIgQyA9IGNsYXNzIHsKKyAgc3RhdGljIGFzeW5j
IG1ldGhvZCh4KSB7CisgICAgbGV0IGEgPSBhcmd1bWVudHM7CisgICAgICByZXR1cm4gYXN5bmMg
KCkgPT4gYSA9PT0gYXJndW1lbnRzOworICB9Cit9OworLy8gU3RvcmVzIGEgcmVmZXJlbmNlIGBh
c3luY0ZuYCBmb3IgY2FzZSBldmFsdWF0aW9uCitsZXQgYXN5bmNGbiA9IEMubWV0aG9kOworCith
c3luY0ZuKCkudGhlbihyZXRGbiA9PiB7CisgIGNvdW50Kys7CisgIHJldHVybiByZXRGbigpOwor
fSkudGhlbihyZXN1bHQgPT4geworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgdHJ1ZSk7Cisg
IGFzc2VydC5zYW1lVmFsdWUoY291bnQsIDEpOworfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
YXN5bmMtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWFycm93LXJldHVybnMtbmV3dGFyZ2V0
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5
bmMtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWFycm93LXJldHVybnMtbmV3dGFyZ2V0Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjhlNmI1MjkxZTZiNmNhM2VhYjExOTM2YjhhZWRkYzJmYTIzYmFiNWIKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1u
ZXd0YXJnZXQuanMKQEAgLTAsMCArMSwzOSBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFs
bHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvYXN5bmMt
ZnVuY3Rpb25zL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1uZXd0YXJnZXQuY2FzZQorLy8g
LSBzcmMvYXN5bmMtZnVuY3Rpb25zL2V2YWx1YXRpb24vYXN5bmMtY2xhc3MtZXhwci1zdGF0aWMt
bWV0aG9kLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFzeW5jIGZ1bmN0aW9uIHJldHVy
bnMgYW4gYXN5bmMgZnVuY3Rpb24uIChTdGF0aWMgYXN5bmMgbWV0aG9kIGFzIGEgQ2xhc3NFeHBy
ZXNzaW9uIGVsZW1lbnQpCitlc2lkOiBwcm9kLUFzeW5jTWV0aG9kCitmZWF0dXJlczogW2FzeW5j
LWZ1bmN0aW9uc10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICBDbGFz
c0VsZW1lbnQgOgorICAgICAgc3RhdGljIE1ldGhvZERlZmluaXRpb24KKworICAgIE1ldGhvZERl
ZmluaXRpb24gOgorICAgICAgQXN5bmNNZXRob2QKKworICAgIEFzeW5jIEZ1bmN0aW9uIERlZmlu
aXRpb25zCisKKyAgICBBc3luY01ldGhvZCA6CisgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0
b3IgaGVyZV0gUHJvcGVydHlOYW1lICggVW5pcXVlRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNG
dW5jdGlvbkJvZHkgfQorCistLS0qLworbGV0IGNvdW50ID0gMDsKKworCit2YXIgQyA9IGNsYXNz
IHsKKyAgc3RhdGljIGFzeW5jIG1ldGhvZCh4KSB7CisgICAgcmV0dXJuIGFzeW5jICgpID0+IG5l
dy50YXJnZXQ7CisgIH0KK307CisvLyBTdG9yZXMgYSByZWZlcmVuY2UgYGFzeW5jRm5gIGZvciBj
YXNlIGV2YWx1YXRpb24KK2xldCBhc3luY0ZuID0gQy5tZXRob2Q7CisKK2FzeW5jRm4oKS50aGVu
KHJldEZuID0+IHsKKyAgY291bnQrKzsKKyAgcmV0dXJuIHJldEZuKCk7Cit9KS50aGVuKHJlc3Vs
dCA9PiB7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCB1bmRlZmluZWQpOworICBhc3NlcnQu
c2FtZVZhbHVlKGNvdW50LCAxKTsKK30pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1l
dGhvZC1zdGF0aWMvcmV0dXJucy1hc3luYy1hcnJvdy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvcmV0dXJucy1h
c3luYy1hcnJvdy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNGUxODVjNmYwYTVkNzEzMTE3ZjNjN2IwZmFlYmQ2
NDc1MzMyNjc1Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWFy
cm93LmpzCkBAIC0wLDAgKzEsMzkgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdl
bmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0
aW9ucy9yZXR1cm5zLWFzeW5jLWFycm93LmNhc2UKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9l
dmFsdWF0aW9uL2FzeW5jLWNsYXNzLWV4cHItc3RhdGljLW1ldGhvZC50ZW1wbGF0ZQorLyotLS0K
K2Rlc2NyaXB0aW9uOiBBc3luYyBmdW5jdGlvbiByZXR1cm5zIGFuIGFzeW5jIGZ1bmN0aW9uLiAo
U3RhdGljIGFzeW5jIG1ldGhvZCBhcyBhIENsYXNzRXhwcmVzc2lvbiBlbGVtZW50KQorZXNpZDog
cHJvZC1Bc3luY01ldGhvZAorZmVhdHVyZXM6IFthc3luYy1mdW5jdGlvbnNdCitmbGFnczogW2dl
bmVyYXRlZCwgYXN5bmNdCitpbmZvOiB8CisgICAgQ2xhc3NFbGVtZW50IDoKKyAgICAgIHN0YXRp
YyBNZXRob2REZWZpbml0aW9uCisKKyAgICBNZXRob2REZWZpbml0aW9uIDoKKyAgICAgIEFzeW5j
TWV0aG9kCisKKyAgICBBc3luYyBGdW5jdGlvbiBEZWZpbml0aW9ucworCisgICAgQXN5bmNNZXRo
b2QgOgorICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIFByb3BlcnR5TmFtZSAo
IFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVuY3Rpb25Cb2R5IH0KKworLS0tKi8K
K2xldCBjb3VudCA9IDA7CisKKwordmFyIEMgPSBjbGFzcyB7CisgIHN0YXRpYyBhc3luYyBtZXRo
b2QoeCkgeworICAgIHJldHVybiBhc3luYyAoKSA9PiB4OworICB9Cit9OworLy8gU3RvcmVzIGEg
cmVmZXJlbmNlIGBhc3luY0ZuYCBmb3IgY2FzZSBldmFsdWF0aW9uCitsZXQgYXN5bmNGbiA9IEMu
bWV0aG9kOworCithc3luY0ZuKDEpLnRoZW4ocmV0Rm4gPT4geworICBjb3VudCsrOworICByZXR1
cm4gcmV0Rm4oKTsKK30pLnRoZW4ocmVzdWx0ID0+IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1
bHQsIDEpOworICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxKTsKK30pLnRoZW4oJERPTkUsICRE
T05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvcmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1
cm5zLWFyZ3VtZW50cy1mcm9tLW93bi1mdW5jdGlvbi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvcmV0dXJucy1h
c3luYy1mdW5jdGlvbi1yZXR1cm5zLWFyZ3VtZW50cy1mcm9tLW93bi1mdW5jdGlvbi5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jMDJmMjIyZTMzYTVhYjFkZDNiNWY5MjAxN2M0ZDdkNjc4NTliNGJlCi0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLXJldHVybnMtYXJn
dW1lbnRzLWZyb20tb3duLWZ1bmN0aW9uLmpzCkBAIC0wLDAgKzEsNDAgQEAKKy8vIFRoaXMgZmls
ZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoK
Ky8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLXJldHVybnMt
YXJndW1lbnRzLWZyb20tb3duLWZ1bmN0aW9uLmNhc2UKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9u
cy9ldmFsdWF0aW9uL2FzeW5jLWNsYXNzLWV4cHItc3RhdGljLW1ldGhvZC50ZW1wbGF0ZQorLyot
LS0KK2Rlc2NyaXB0aW9uOiBBc3luYyBmdW5jdGlvbiByZXR1cm5zIGFuIGFzeW5jIGZ1bmN0aW9u
LiAoU3RhdGljIGFzeW5jIG1ldGhvZCBhcyBhIENsYXNzRXhwcmVzc2lvbiBlbGVtZW50KQorZXNp
ZDogcHJvZC1Bc3luY01ldGhvZAorZmVhdHVyZXM6IFthc3luYy1mdW5jdGlvbnNdCitmbGFnczog
W2dlbmVyYXRlZCwgYXN5bmNdCitpbmZvOiB8CisgICAgQ2xhc3NFbGVtZW50IDoKKyAgICAgIHN0
YXRpYyBNZXRob2REZWZpbml0aW9uCisKKyAgICBNZXRob2REZWZpbml0aW9uIDoKKyAgICAgIEFz
eW5jTWV0aG9kCisKKyAgICBBc3luYyBGdW5jdGlvbiBEZWZpbml0aW9ucworCisgICAgQXN5bmNN
ZXRob2QgOgorICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIFByb3BlcnR5TmFt
ZSAoIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVuY3Rpb25Cb2R5IH0KKworLS0t
Ki8KK2xldCBjb3VudCA9IDA7CisKKwordmFyIEMgPSBjbGFzcyB7CisgIHN0YXRpYyBhc3luYyBt
ZXRob2QoeCkgeworICAgIGxldCBhID0gYXJndW1lbnRzOworICAgICAgcmV0dXJuIGFzeW5jIGZ1
bmN0aW9uKCkgeyByZXR1cm4gYSA9PT0gYXJndW1lbnRzOyB9OworICB9Cit9OworLy8gU3RvcmVz
IGEgcmVmZXJlbmNlIGBhc3luY0ZuYCBmb3IgY2FzZSBldmFsdWF0aW9uCitsZXQgYXN5bmNGbiA9
IEMubWV0aG9kOworCithc3luY0ZuKDEpLnRoZW4ocmV0Rm4gPT4geworICBjb3VudCsrOworICBy
ZXR1cm4gcmV0Rm4oKTsKK30pLnRoZW4ocmVzdWx0ID0+IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShy
ZXN1bHQsIGZhbHNlKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwgMSk7Cit9KS50aGVuKCRE
T05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMtZnVuY3Rp
b24tcmV0dXJucy1uZXd0YXJnZXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMtZnVuY3Rp
b24tcmV0dXJucy1uZXd0YXJnZXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmZjMjkxYTU2MWUzNmE2ZWM0MTU4
YWJiMTQ3ZTdmY2I0ZTU2M2JiNwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvcmV0dXJu
cy1hc3luYy1mdW5jdGlvbi1yZXR1cm5zLW5ld3RhcmdldC5qcwpAQCAtMCwwICsxLDM5IEBACisv
LyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5n
IHNvdXJjZXM6CisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvcmV0dXJucy1hc3luYy1mdW5jdGlv
bi1yZXR1cm5zLW5ld3RhcmdldC5jYXNlCisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvZXZhbHVh
dGlvbi9hc3luYy1jbGFzcy1leHByLXN0YXRpYy1tZXRob2QudGVtcGxhdGUKKy8qLS0tCitkZXNj
cmlwdGlvbjogQXN5bmMgZnVuY3Rpb24gcmV0dXJucyBhbiBhc3luYyBmdW5jdGlvbi4gKFN0YXRp
YyBhc3luYyBtZXRob2QgYXMgYSBDbGFzc0V4cHJlc3Npb24gZWxlbWVudCkKK2VzaWQ6IHByb2Qt
QXN5bmNNZXRob2QKK2ZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zXQorZmxhZ3M6IFtnZW5lcmF0
ZWQsIGFzeW5jXQoraW5mbzogfAorICAgIENsYXNzRWxlbWVudCA6CisgICAgICBzdGF0aWMgTWV0
aG9kRGVmaW5pdGlvbgorCisgICAgTWV0aG9kRGVmaW5pdGlvbiA6CisgICAgICBBc3luY01ldGhv
ZAorCisgICAgQXN5bmMgRnVuY3Rpb24gRGVmaW5pdGlvbnMKKworICAgIEFzeW5jTWV0aG9kIDoK
KyAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBQcm9wZXJ0eU5hbWUgKCBVbmlx
dWVGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CisKKy0tLSovCitsZXQg
Y291bnQgPSAwOworCisKK3ZhciBDID0gY2xhc3MgeworICBzdGF0aWMgYXN5bmMgbWV0aG9kKHgp
IHsKKyAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24oKSB7IHJldHVybiBuZXcudGFyZ2V0OyB9Owor
ICB9Cit9OworLy8gU3RvcmVzIGEgcmVmZXJlbmNlIGBhc3luY0ZuYCBmb3IgY2FzZSBldmFsdWF0
aW9uCitsZXQgYXN5bmNGbiA9IEMubWV0aG9kOworCithc3luY0ZuKDEpLnRoZW4ocmV0Rm4gPT4g
eworICBjb3VudCsrOworICByZXR1cm4gcmV0Rm4oKTsKK30pLnRoZW4ocmVzdWx0ID0+IHsKKyAg
YXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIHVuZGVmaW5lZCk7CisgIGFzc2VydC5zYW1lVmFsdWUo
Y291bnQsIDEpOworfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRp
Yy9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWZ1
bmN0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkMWI4ZDJlZjM0MjVhM2QxNGViOTFkYTA4MDU4MmFkNzkz
YmQ0OTQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMtZnVuY3Rp
b24uanMKQEAgLTAsMCArMSwzOSBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2Vu
ZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvYXN5bmMtZnVuY3Rp
b25zL3JldHVybnMtYXN5bmMtZnVuY3Rpb24uY2FzZQorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25z
L2V2YWx1YXRpb24vYXN5bmMtY2xhc3MtZXhwci1zdGF0aWMtbWV0aG9kLnRlbXBsYXRlCisvKi0t
LQorZGVzY3JpcHRpb246IEFzeW5jIGZ1bmN0aW9uIHJldHVybnMgYW4gYXN5bmMgZnVuY3Rpb24u
IChTdGF0aWMgYXN5bmMgbWV0aG9kIGFzIGEgQ2xhc3NFeHByZXNzaW9uIGVsZW1lbnQpCitlc2lk
OiBwcm9kLUFzeW5jTWV0aG9kCitmZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2ZsYWdzOiBb
Z2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICBDbGFzc0VsZW1lbnQgOgorICAgICAgc3Rh
dGljIE1ldGhvZERlZmluaXRpb24KKworICAgIE1ldGhvZERlZmluaXRpb24gOgorICAgICAgQXN5
bmNNZXRob2QKKworICAgIEFzeW5jIEZ1bmN0aW9uIERlZmluaXRpb25zCisKKyAgICBBc3luY01l
dGhvZCA6CisgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gUHJvcGVydHlOYW1l
ICggVW5pcXVlRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQorCistLS0q
LworbGV0IGNvdW50ID0gMDsKKworCit2YXIgQyA9IGNsYXNzIHsKKyAgc3RhdGljIGFzeW5jIG1l
dGhvZCh4KSB7CisgICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uKCkgeyByZXR1cm4geDsgfTsKKyAg
fQorfTsKKy8vIFN0b3JlcyBhIHJlZmVyZW5jZSBgYXN5bmNGbmAgZm9yIGNhc2UgZXZhbHVhdGlv
bgorbGV0IGFzeW5jRm4gPSBDLm1ldGhvZDsKKworYXN5bmNGbigxKS50aGVuKHJldEZuID0+IHsK
KyAgY291bnQrKzsKKyAgcmV0dXJuIHJldEZuKCk7Cit9KS50aGVuKHJlc3VsdCA9PiB7CisgIGFz
c2VydC5zYW1lVmFsdWUocmVzdWx0LCAxKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwgMSk7
Cit9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvYXdhaXQtYXMtYmluZGlu
Zy1pZGVudGlmaWVyLWVzY2FwZWQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvYXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVy
LWVzY2FwZWQuanMKaW5kZXggNmMyOTk0NjY1Njg2NTZmNTg2ZjRmNDU0MDM3M2FiZmE4NjhkZmNj
My4uOTFlMTFlZTQwMGNiNGZiMmM5ZDIxNjZhMDc5ZmRjMWZmYTgzMjRlYyAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0
aG9kL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci1lc2NhcGVkLmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC9hd2Fp
dC1hcy1iaW5kaW5nLWlkZW50aWZpZXItZXNjYXBlZC5qcwpAQCAtMzEsNiArMzEsOSBAQCBpbmZv
OiB8CiAkRE9OT1RFVkFMVUFURSgpOwogCiAKLXZhciBDID0gY2xhc3MgeyBhc3luYyBtZXRob2Qo
KSB7Cit2YXIgQyA9IGNsYXNzIHsKKyAgYXN5bmMgbWV0aG9kKCkgewogICAgIHZhciBcdTAwNjF3
YWl0OwotfX07CisgIH0KK307CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC9hd2FpdC1hcy1iaW5kaW5nLWlk
ZW50aWZpZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9hc3luYy1tZXRob2QvYXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVyLmpzCmluZGV4IDZj
MWMwMTI1ZGQxOWQ2YmFlMmU3YmIwZjViNjUxYzQ3NWJhNDMzZjMuLmQ3OGM2ZjgxY2ZiZTFkMDkx
MmJkYjY5YTlmNmI4ZWY4MDIxNzk0ZjIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC9hd2FpdC1hcy1iaW5kaW5n
LWlkZW50aWZpZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci5qcwpA
QCAtMzEsNiArMzEsOSBAQCBpbmZvOiB8CiAkRE9OT1RFVkFMVUFURSgpOwogCiAKLXZhciBDID0g
Y2xhc3MgeyBhc3luYyBtZXRob2QoKSB7Cit2YXIgQyA9IGNsYXNzIHsKKyAgYXN5bmMgbWV0aG9k
KCkgewogICAgIHZhciBhd2FpdDsKLX19OworICB9Cit9OworCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvYXdh
aXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UtZXNjYXBlZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC9hd2FpdC1hcy1pZGVu
dGlmaWVyLXJlZmVyZW5jZS1lc2NhcGVkLmpzCmluZGV4IDQ1ZTQ1MTdmYjZkNDQ4MmRiN2U1Yjhj
OGRhYjE5MDVkYmFlZTZlNTYuLjRkM2ExODQ5YWFhMzExYjE4MzE2M2RmNWU5YTczNGQyOWVlNzZi
YTYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL2FzeW5jLW1ldGhvZC9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS1lc2NhcGVk
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNz
L2FzeW5jLW1ldGhvZC9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS1lc2NhcGVkLmpzCkBA
IC0zMSw2ICszMSw5IEBAIGluZm86IHwKICRET05PVEVWQUxVQVRFKCk7CiAKIAotdmFyIEMgPSBj
bGFzcyB7IGFzeW5jIG1ldGhvZCgpIHsKK3ZhciBDID0gY2xhc3MgeworICBhc3luYyBtZXRob2Qo
KSB7CiAgICAgdm9pZCBcdTAwNjF3YWl0OwotfX07CisgIH0KK307CisKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhv
ZC9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC9hd2FpdC1hcy1pZGVudGlm
aWVyLXJlZmVyZW5jZS5qcwppbmRleCBjMjllZmIyYjk2MDc4MzhhOWE2ODdmY2VhYzgzZWQ2MDY4
ZmZlNDYzLi4zZWUwNzE1NDgyOGFjOTJlNzIwNmE1NTY5M2YxZWFhY2E0NjlmYWQ3IDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3lu
Yy1tZXRob2QvYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kL2F3YWl0
LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLmpzCkBAIC0zMSw2ICszMSw5IEBAIGluZm86IHwKICRE
T05PVEVWQUxVQVRFKCk7CiAKIAotdmFyIEMgPSBjbGFzcyB7IGFzeW5jIG1ldGhvZCgpIHsKK3Zh
ciBDID0gY2xhc3MgeworICBhc3luYyBtZXRob2QoKSB7CiAgICAgdm9pZCBhd2FpdDsKLX19Owor
ICB9Cit9OworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci1lc2Nh
cGVkLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
YXN5bmMtbWV0aG9kL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXItZXNjYXBlZC5qcwppbmRleCA5
MmVmOTdlODBmMzQ3ZDNjNWE0ZTllNGI5MWVjM2I0ZDAwYTFkMzI2Li4wOGM2YzFhYTA1NjViMDFm
NDFjMThlNmY5MjE3NDBkNzQ0ODViMjIzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvYXdhaXQtYXMtbGFiZWwt
aWRlbnRpZmllci1lc2NhcGVkLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC9hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVy
LWVzY2FwZWQuanMKQEAgLTMxLDYgKzMxLDkgQEAgaW5mbzogfAogJERPTk9URVZBTFVBVEUoKTsK
IAogCi12YXIgQyA9IGNsYXNzIHsgYXN5bmMgbWV0aG9kKCkgewordmFyIEMgPSBjbGFzcyB7Cisg
IGFzeW5jIG1ldGhvZCgpIHsKICAgICBcdTAwNjF3YWl0OiA7Ci19fTsKKyAgfQorfTsKKwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
YXN5bmMtbWV0aG9kL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXIuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvYXdhaXQtYXMt
bGFiZWwtaWRlbnRpZmllci5qcwppbmRleCBmNzM1ZDNhZjUzMDQ3MjFkMmU4NzVkODMwNmUzYjcw
ODljMGU1NTJhLi5mY2M2YjlhZGE5NmEwZTU1NjViMGIyMjlhYjExMDU3NjUzYzYxODZmIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9h
c3luYy1tZXRob2QvYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvYXdhaXQt
YXMtbGFiZWwtaWRlbnRpZmllci5qcwpAQCAtMzEsNiArMzEsOSBAQCBpbmZvOiB8CiAkRE9OT1RF
VkFMVUFURSgpOwogCiAKLXZhciBDID0gY2xhc3MgeyBhc3luYyBtZXRob2QoKSB7Cit2YXIgQyA9
IGNsYXNzIHsKKyAgYXN5bmMgbWV0aG9kKCkgewogICAgIGF3YWl0OiA7Ci19fTsKKyAgfQorfTsK
KwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvYXN5bmMtbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWV4cHItYXN5bmMtbWV0aC1m
b3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvZm9yYmlk
ZGVuLWV4dC9iMS9jbHMtZXhwci1hc3luYy1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vz
cy1wcm9wLWFyZ3VtZW50cy5qcwppbmRleCAzZDU5ZDBjZWYwMTlhNDY1ZDQ5YWMwOWM3OTgwYzM3
OWQ3NzZhZDQzLi5iOTRjNGIwMTkwZTQ4NTg4ZmE3ZTAwYWI1MDliMDhjOWFhMWEyNWYxIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9h
c3luYy1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZXhwci1hc3luYy1tZXRoLWZvcmJpZGRl
bi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvZm9yYmlkZGVu
LWV4dC9iMS9jbHMtZXhwci1hc3luYy1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1w
cm9wLWFyZ3VtZW50cy5qcwpAQCAtMiwxNSArMiwyNCBAQAogLy8gLSBzcmMvZnVuY3Rpb24tZm9y
bXMvZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmNhc2UKIC8vIC0g
c3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC1vbmUvY2xzLWV4
cHItYXN5bmMtbWV0aC50ZW1wbGF0ZQogLyotLS0KLWRlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0
ZW5zaW9uLCBvLmFyZ3VtZW50cyAoY2xhc3MgZXhwcmVzc2lvbiBhc3luYyBtZXRob2QpCitkZXNj
cmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgZi5hcmd1bWVudHMgKGNsYXNzIGV4cHJlc3Np
b24gYXN5bmMgbWV0aG9kKQogZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2Vt
YW50aWNzLWV2YWx1YXRpb24KLWZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zXQorZmVhdHVyZXM6
IFthcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVuY3Rpb25zLCBjbGFzc10KIGZsYWdzOiBbZ2VuZXJh
dGVkLCBub1N0cmljdCwgYXN5bmNdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xh
c3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xhc3NUYWlsCiAKIAotICAgIEVDTUFTY3JpcHQgZnVu
Y3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3Ry
aWN0IG1vZGUgY29kZSBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFt
ZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbyBtdXN0
IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJy
b3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwgR2VuZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVy
YXRvckV4cHJlc3Npb24sIEFzeW5jR2VuZXJhdG9yRGVjbGFyYXRpb24sIEFzeW5jR2VuZXJhdG9y
RXhwcmVzc2lvbiwgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0
aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvciBBc3luY0Fycm93RnVu
Y3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBp
biBzdHJpY3QgbW9kZSBjb2RlLiBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMg
Y3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlv
bnMgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlv
bnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbiBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0
aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0
ZWQgd2l0aCBzdWNoIG93biBwcm9wZXJ0aWVzLgorICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2Jq
ZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUg
Y29kZSBtdXN0CisgICAgbm90IGJlIGNyZWF0ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAi
Y2FsbGVyIiBvciAiYXJndW1lbnRzIi4gU3VjaCBvd24gcHJvcGVydGllcyBhbHNvCisgICAgbXVz
dCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFy
cm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sCisgICAgR2VuZXJhdG9yRGVjbGFyYXRpb24s
IEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2VuZXJhdG9yRGVjbGFyYXRpb24sIEFzeW5jR2Vu
ZXJhdG9yRXhwcmVzc2lvbiwKKyAgICBDbGFzc0RlY2xhcmF0aW9uLCBDbGFzc0V4cHJlc3Npb24s
IEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24sIG9yCisg
ICAgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlv
biBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4KKyAgICBCdWlsdC1pbiBmdW5jdGlv
bnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rpb24gY29uc3RydWN0
b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMKKyAgICBjcmVhdGVkIHVzaW5nIHRoZSBHZW5lcmF0b3Ig
Y29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBBc3luY0Z1bmN0
aW9uCisgICAgY29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmlu
ZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24KKyAgICBwcm9w
ZXJ0aWVzLgogCiAtLS0qLwogCkBAIC0xOCwxNiArMjcsMTIgQEAgaW5mbzogfAogdmFyIGNhbGxD
b3VudCA9IDA7CiB2YXIgQyA9IGNsYXNzIHsKICAgYXN5bmMgbWV0aG9kKCkgewotICAgIHRoaXMu
bWV0aG9kLmFyZ3VtZW50czsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHRoaXMubWV0aG9kLmhhc093
blByb3BlcnR5KCJhcmd1bWVudHMiKSwgZmFsc2UpOwogICAgIGNhbGxDb3VudCsrOwogICB9CiB9
OwogCiBDLnByb3RvdHlwZS5tZXRob2QoKQotICAudGhlbihfID0+IHsKLSAgICB0aHJvdyBuZXcg
VGVzdDI2MkVycm9yKCdmdW5jdGlvbiBzaG91bGQgbm90IGJlIHJlc29sdmVkJyk7Ci0gIH0sIGVy
cm9yID0+IGFzc2VydC5zYW1lVmFsdWUoZXJyb3IuY29uc3RydWN0b3IsIFR5cGVFcnJvcikpCiAg
IC50aGVuKCgpID0+IHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2Z1bmN0
aW9uIGJvZHkgaXMgbm90IGV2YWx1YXRlZCcpOwotICB9LCAkRE9ORSkKLSAgLnRoZW4oJERPTkUs
ICRET05FKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJv
ZHkgZXZhbHVhdGVkJyk7CisgIH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3lu
Yy1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZXhwci1hc3luYy1tZXRoLWZvcmJpZGRlbi1l
eHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2IxL2Ns
cy1leHByLWFzeW5jLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVy
LmpzCmluZGV4IDBlYjc4NjkzYjJjYWEyMjU2YTE0Y2U1NDNhZWE5Yjk4YzdkZTg2NzEuLjVlZjEx
ZWM0ZjRkYjdlMDY2NmEyYWQ1ZmMxYTRhODhjZjA1ZGY3NGMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC9mb3Ji
aWRkZW4tZXh0L2IxL2Nscy1leHByLWFzeW5jLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNj
ZXNzLXByb3AtY2FsbGVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLWFz
eW5jLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCkBAIC00
LDEzICs0LDIyIEBACiAvKi0tLQogZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8u
Y2FsbGVyIChjbGFzcyBleHByZXNzaW9uIGFzeW5jIG1ldGhvZCkKIGVzaWQ6IHNlYy1jbGFzcy1k
ZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCi1mZWF0dXJlczogW2FzeW5j
LWZ1bmN0aW9uc10KK2ZlYXR1cmVzOiBbYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9ucywg
Y2xhc3NdCiBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5jXQogaW5mbzogfAogICAg
IENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFpbAog
CiAKLSAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0
aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3QgYmUgY3JlYXRlZCB3
aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93
biBwcm9wZXJ0aWVzIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0
cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sIEdlbmVy
YXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xh
cmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sIENsYXNzRGVjbGFyYXRpb24sIENsYXNz
RXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVz
c2lvbiwgb3IgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVm
aW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4gQnVpbHQtaW4gZnVuY3Rp
b25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVj
dG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25z
dHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24g
Y29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2Qg
YWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24gcHJvcGVydGllcy4KKyAgICBF
Q01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3Ry
dWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdAorICAgIG5vdCBiZSBjcmVhdGVkIHdpdGgg
b3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHBy
b3BlcnRpZXMgYWxzbworICAgIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVj
dHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLAorICAg
IEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRv
ckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sCisgICAgQ2xhc3NEZWNsYXJh
dGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVu
Y3Rpb25FeHByZXNzaW9uLCBvcgorICAgIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9m
IHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUu
CisgICAgQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcg
dGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zCisgICAgY3JlYXRl
ZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRl
ZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbgorICAgIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25z
IGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3
aXRoIHN1Y2ggb3duCisgICAgcHJvcGVydGllcy4KIAogLS0tKi8KIApAQCAtMTgsMTYgKzI3LDEy
IEBAIGluZm86IHwKIHZhciBjYWxsQ291bnQgPSAwOwogdmFyIEMgPSBjbGFzcyB7CiAgIGFzeW5j
IG1ldGhvZCgpIHsKLSAgICB0aGlzLm1ldGhvZC5jYWxsZXI7CisgICAgYXNzZXJ0LnNhbWVWYWx1
ZSh0aGlzLm1ldGhvZC5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIiksIGZhbHNlKTsKICAgICBjYWxs
Q291bnQrKzsKICAgfQogfTsKIAogQy5wcm90b3R5cGUubWV0aG9kKCkKLSAgLnRoZW4oXyA9PiB7
Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSByZXNv
bHZlZCcpOwotICB9LCBlcnJvciA9PiBhc3NlcnQuc2FtZVZhbHVlKGVycm9yLmNvbnN0cnVjdG9y
LCBUeXBlRXJyb3IpKQogICAudGhlbigoKSA9PiB7Ci0gICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxs
Q291bnQsIDAsICdmdW5jdGlvbiBib2R5IGlzIG5vdCBldmFsdWF0ZWQnKTsKLSAgfSwgJERPTkUp
Ci0gIC50aGVuKCRET05FLCAkRE9ORSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQs
IDEsICdmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcpOworICB9LCAkRE9ORSkudGhlbigkRE9ORSwg
JERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItYXN5bmMt
bWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0Lmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMt
bWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItYXN5bmMtbWV0aC1mb3JiaWRkZW4tZXh0
LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViMjky
ZDVjNjA4ODgzMTNkMGQ5MjU4N2IxY2MxODFjYTA5NWYxMGUKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRo
b2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1hc3luYy1tZXRoLWZvcmJpZGRlbi1leHQtaW5k
aXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMKQEAgLTAsMCArMSw2NCBAQAorLy8g
VGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBz
b3VyY2VzOgorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1h
Y2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5jYXNlCisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9m
b3JiaWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQtdHdvL2Nscy1leHByLWFzeW5jLW1ldGgudGVtcGxh
dGUKKy8qLS0tCitkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIgKGNs
YXNzIGV4cHJlc3Npb24gYXN5bmMgbWV0aG9kKQorZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25z
LXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbYXJyb3ctZnVuY3Rpb24s
IGFzeW5jLWZ1bmN0aW9ucywgY2xhc3NdCitmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFz
eW5jXQoraW5mbzogfAorICAgIENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlm
aWVyb3B0IENsYXNzVGFpbAorCisKKyAgICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFu
eSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhl
IHZhbHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBv
ciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9uCisgICAg
b2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQg
aXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAgICBhdHRyaWJ1dGUgbXVz
dCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQuCisKKy0tLSovCit2
YXIgQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCA9IFN5bWJvbCgpOworZnVuY3Rp
b24gaW5uZXIoKSB7CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0LCBidXQgaXMgZm9yYmlk
ZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QK
KyAgcmV0dXJuIGlubmVyLmhhc093blByb3BlcnR5KCJjYWxsZXIiKQorICAgID8gaW5uZXIuY2Fs
bGVyCisgICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUOworfQorCisKK3Zh
ciBjYWxsQ291bnQgPSAwOwordmFyIEMgPSBjbGFzcyB7CisgIGFzeW5jIG1ldGhvZCgpIHsKKyAg
ICAvKiBpbXBsaWNpdCBzdHJpY3QgKi8KKyAgICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgICAgLy8g
Rm9yIGV2ZXJ5IHRlc3QgdGhhdCBoYXMgYSAidHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUgaXMgYQor
ICAgIC8vIGNvcnJlc3BvbmRpbmcgdGVzdCB0aGF0IGhhcyBhICJmYWxzZSIgdmFsdWUgaGVyZS4K
KyAgICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNhc2UgZmlsZXMs
IHdoaWNoIHVzZQorICAgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihpbm5lciwgImNhbGxlciIpOworICAgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0
b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShp
bm5lciwgImNhbGxlciIsIHtnZXQoKXtyZXR1cm4gMX19KTsKKyAgICB9CisgICAgdmFyIHJlc3Vs
dCA9IGlubmVyKCk7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFi
bGUgJiYgdHJ1ZSkgeworICAgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0aGlz
IHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkgb24gdGhlIGlubmVyIGZ1bmN0
aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91bGQgcmV0dXJuIHRoZSB2
YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICAgIH0KKworICAgIC8vICJDQUxMRVJfT1dOX1BST1BF
UlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9tCisgICAgLy8gZm9yYmlkZGVuLWV4dC1pbmRpcmVj
dC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9u
IG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAgICAvLyBuYW1lZCAiY2FsbGVy
IiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgICAvLworICAgIC8vIElmIHRo
ZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFuCisgICAgLy8gb3duIHBy
b3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgICAvLyBDQUxMRVJfT1dO
X1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQuCisgICAgaWYgKHJlc3Vs
dCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkgeworICAgICAgYXNzZXJ0
Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIHRoaXMubWV0aG9kKTsKKyAgICB9CisgICAgY2FsbENvdW50
Kys7CisgIH0KK307CisKK0MucHJvdG90eXBlLm1ldGhvZCgpCisgIC50aGVuKCgpID0+IHsKKyAg
ICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVk
Jyk7CisgIH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvZm9y
YmlkZGVuLWV4dC9iMi9jbHMtZXhwci1hc3luYy1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3Qt
YWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2IyL2Ns
cy1leHByLWFzeW5jLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3At
Y2FsbGVyLXZhbHVlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5YmRjYWJkYjEzZDVlODkwYWIxNDg5NjllNWJh
MjJhN2VjMDQwODEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMt
ZXhwci1hc3luYy1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNh
bGxlci12YWx1ZS5qcwpAQCAtMCwwICsxLDY0IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVy
YWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5j
dGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXIt
dmFsdWUuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dGVuc2lvbnMv
YnVsbGV0LXR3by9jbHMtZXhwci1hc3luYy1tZXRoLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRp
b246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVyIChjbGFzcyBleHByZXNzaW9uIGFzeW5j
IG1ldGhvZCkKK2VzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1l
dmFsdWF0aW9uCitmZWF0dXJlczogW2Fycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnMsIGNs
YXNzXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0LCBhc3luY10KK2luZm86IHwKKyAgICBD
bGFzc0V4cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllcm9wdCBDbGFzc1RhaWwKKwor
CisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdp
dGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRoYXQg
cHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1d
LCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbgorICAgIG9iamVjdC4gSWYgaXQgaXMgYW4g
YWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUg
cHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3Ry
aWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgorCistLS0qLwordmFyIENBTExFUl9PV05fUFJPUEVS
VFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2woKTsKK2Z1bmN0aW9uIGlubmVyKCkgeworICAvLyBU
aGlzIHByb3BlcnR5IG1heSBleGlzdCwgYnV0IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZh
bHVlIHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0CisgIHJldHVybiBpbm5lci5oYXNP
d25Qcm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlubmVyLmNhbGxlcgorICAgIDogQ0FMTEVSX09X
Tl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVDsKK30KKworCit2YXIgY2FsbENvdW50ID0gMDsKK3Zh
ciBDID0gY2xhc3MgeworICBhc3luYyBtZXRob2QoKSB7CisgICAgLyogaW1wbGljaXQgc3RyaWN0
ICovCisgICAgLy8gVGhpcyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBz
ZXQgaW4gdGhlIHRlc3QncyAuY2FzZSBmaWxlLgorICAgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQg
aGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgICAvLyBjb3JyZXNwb25kaW5n
IHRlc3QgdGhhdCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgICAgLy8gVGhleSBhcmUgZ2Vu
ZXJhdGVkIGZyb20gdHdvIGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgICBsZXQg
ZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJjYWxs
ZXIiKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0
cnVlKSB7CisgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJjYWxsZXIiLCB7dmFs
dWU6IDF9KTsKKyAgICB9CisgICAgdmFyIHJlc3VsdCA9IGlubmVyKCk7CisgICAgaWYgKGRlc2Ny
aXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgdHJ1ZSkgeworICAgICAgYXNzZXJ0
LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxl
ciIgcHJvcGVydHkgb24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nl
c3NpYmxlIGFuZCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICAg
IH0KKworICAgIC8vICJDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9t
CisgICAgLy8gZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQor
ICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24g
cHJvcGVydHkKKyAgICAvLyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSBy
ZXR1cm5lZC4KKyAgICAvLworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBE
T0VTIE5PVCBoYXZlIGFuCisgICAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVu
IHRoZSBzeW1ib2wKKyAgICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdp
bGwgYmUgcmV0dXJuZWQuCisgICAgaWYgKHJlc3VsdCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9E
T0VTX05PVF9FWElTVCkgeworICAgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIHRoaXMu
bWV0aG9kKTsKKyAgICB9CisgICAgY2FsbENvdW50Kys7CisgIH0KK307CisKK0MucHJvdG90eXBl
Lm1ldGhvZCgpCisgIC50aGVuKCgpID0+IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3Vu
dCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CisgIH0sICRET05FKS50aGVuKCRET05F
LCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1hc3lu
Yy1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9k
L2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItYXN5bmMtbWV0aC1mb3JiaWRkZW4tZXh0LWluZGly
ZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwppbmRleCA0MTJiNWZiYmEzZGFiNzFjZjk0YzZjNzZh
YTk4YzJiYzdhMTM1ZjY0Li42NDc1ZDBmMjBmODY0ZTczY2YyYWI0OTU2OWU4MjNjYWNiZThiZDNk
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9hc3luYy1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1hc3luYy1tZXRoLWZv
cmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC9mb3Ji
aWRkZW4tZXh0L2IyL2Nscy1leHByLWFzeW5jLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1h
Y2Nlc3MtcHJvcC1jYWxsZXIuanMKQEAgLTQsMTggKzQsMjQgQEAKIC8qLS0tCiBkZXNjcmlwdGlv
bjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIgKGNsYXNzIGV4cHJlc3Npb24gYXN5bmMg
bWV0aG9kKQogZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2
YWx1YXRpb24KLWZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zXQorZmVhdHVyZXM6IFthcnJvdy1m
dW5jdGlvbiwgYXN5bmMtZnVuY3Rpb25zLCBjbGFzc10KIGZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0
cmljdCwgYXN5bmNdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmluZGlu
Z0lkZW50aWZpZXJvcHQgQ2xhc3NUYWlsCiAKIAotICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4
dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2Fs
bGVyIiB0aGUgdmFsdWUgb2YgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRd
XSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9uIG9i
amVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlz
IHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1dIGF0dHJpYnV0ZSBtdXN0IG5ldmVy
IHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KKyAgICBJZiBhbiBpbXBsZW1l
bnRhdGlvbiBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkg
bmFtZWQgImNhbGxlciIgdGhlIHZhbHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2
ZWQgdXNpbmcgW1tHZXRdXSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3Ry
aWN0IGZ1bmN0aW9uCisgICAgb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwg
dGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0K
KyAgICBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBj
YWxsZWQuCiAKIC0tLSovCit2YXIgQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCA9
IFN5bWJvbCgpOwogZnVuY3Rpb24gaW5uZXIoKSB7Ci0gIC8vIFRoaXMgcHJvcGVydHkgaXMgZm9y
YmlkZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0
Ci0gIHJldHVybiBpbm5lci5jYWxsZXI7CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0LCBi
dXQgaXMgZm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0cmljdCBmdW5j
dGlvbiBvYmplY3QKKyAgcmV0dXJuIGlubmVyLmhhc093blByb3BlcnR5KCJjYWxsZXIiKQorICAg
ID8gaW5uZXIuY2FsbGVyCisgICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNU
OwogfQogCiAKQEAgLTIzLDE2ICsyOSwzNiBAQCB2YXIgY2FsbENvdW50ID0gMDsKIHZhciBDID0g
Y2xhc3MgewogICBhc3luYyBtZXRob2QoKSB7CiAgICAgLyogaW1wbGljaXQgc3RyaWN0ICovCi0g
ICAgaW5uZXIoKS50b1N0cmluZygpOworICAgIC8vIFRoaXMgYW5kIHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9uYWwgdmFsdWUgaXMgc2V0IGluIHRoZSB0ZXN0J3MgLmNhc2UgZmlsZS4KKyAgICAvLyBG
b3IgZXZlcnkgdGVzdCB0aGF0IGhhcyBhICJ0cnVlIiB2YWx1ZSBoZXJlLCB0aGVyZSBpcyBhCisg
ICAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBoZXJlLgor
ICAgIC8vIFRoZXkgYXJlIGdlbmVyYXRlZCBmcm9tIHR3byBkaWZmZXJlbnQgY2FzZSBmaWxlcywg
d2hpY2ggdXNlCisgICAgbGV0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKGlubmVyLCAiY2FsbGVyIik7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRv
ci5jb25maWd1cmFibGUgJiYgZmFsc2UpIHsKKyAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShp
bm5lciwgImNhbGxlciIsIHt9KTsKKyAgICB9CisgICAgdmFyIHJlc3VsdCA9IGlubmVyKCk7Cisg
ICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgZmFsc2UpIHsK
KyAgICAgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAxLCAnSWYgdGhpcyB0ZXN0IGRlZmluZWQg
YW4gb3duICJjYWxsZXIiIHByb3BlcnR5IG9uIHRoZSBpbm5lciBmdW5jdGlvbiwgdGhlbiBpdCBz
aG91bGQgYmUgYWNjZXNzaWJsZSBhbmQgc2hvdWxkIHJldHVybiB0aGUgdmFsdWUgaXQgd2FzIHNl
dCB0by4nKTsKKyAgICB9CisKKyAgICAvLyAiQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9F
WElTVCIgaXMgZnJvbQorICAgIC8vIGZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3At
Y2FsbGVyLmNhc2UKKyAgICAvLworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVy
IiBoYXMgYW4gb3duIHByb3BlcnR5CisgICAgLy8gbmFtZWQgImNhbGxlciIsIHRoZW4gaXRzIHZh
bHVlIHdpbGwgYmUgcmV0dXJuZWQuCisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2Jq
ZWN0ICJpbm5lciIgRE9FUyBOT1QgaGF2ZSBhbgorICAgIC8vIG93biBwcm9wZXJ0eSBuYW1lZCAi
Y2FsbGVyIiwgdGhlbiB0aGUgc3ltYm9sCisgICAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VT
X05PVF9FWElTVCB3aWxsIGJlIHJldHVybmVkLgorICAgIGlmIChyZXN1bHQgIT09IENBTExFUl9P
V05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QpIHsKKyAgICAgIGFzc2VydC5ub3RTYW1lVmFsdWUo
cmVzdWx0LCB0aGlzLm1ldGhvZCk7CisgICAgfQogICAgIGNhbGxDb3VudCsrOwogICB9CiB9Owog
CiBDLnByb3RvdHlwZS5tZXRob2QoKQotICAudGhlbihfID0+IHsKLSAgICB0aHJvdyBuZXcgVGVz
dDI2MkVycm9yKCdmdW5jdGlvbiBzaG91bGQgbm90IGJlIHJlc29sdmVkJyk7Ci0gIH0sIGVycm9y
ID0+IGFzc2VydC5zYW1lVmFsdWUoZXJyb3IuY29uc3RydWN0b3IsIFR5cGVFcnJvcikpCiAgIC50
aGVuKCgpID0+IHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2Z1bmN0aW9u
IGJvZHkgaXMgbm90IGV2YWx1YXRlZCcpOwotICB9LCAkRE9ORSkKLSAgLnRoZW4oJERPTkUsICRE
T05FKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkg
ZXZhbHVhdGVkJyk7CisgIH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1t
ZXRob2QvcmV0dXJucy1hc3luYy1hcnJvdy1yZXR1cm5zLWFyZ3VtZW50cy1mcm9tLXBhcmVudC1m
dW5jdGlvbi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2FzeW5jLW1ldGhvZC9yZXR1cm5zLWFzeW5jLWFycm93LXJldHVybnMtYXJndW1lbnRzLWZy
b20tcGFyZW50LWZ1bmN0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4ZjcwMDE4ZjFhMGEzYmFlZTFiZGQ0
M2MzYWMyZDZmMzA5MGQ4ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvcmV0dXJucy1hc3luYy1h
cnJvdy1yZXR1cm5zLWFyZ3VtZW50cy1mcm9tLXBhcmVudC1mdW5jdGlvbi5qcwpAQCAtMCwwICsx
LDQxIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUg
Zm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvcmV0dXJucy1hc3lu
Yy1hcnJvdy1yZXR1cm5zLWFyZ3VtZW50cy1mcm9tLXBhcmVudC1mdW5jdGlvbi5jYXNlCisvLyAt
IHNyYy9hc3luYy1mdW5jdGlvbnMvZXZhbHVhdGlvbi9hc3luYy1jbGFzcy1leHByLW1ldGhvZC50
ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBc3luYyBmdW5jdGlvbiByZXR1cm5zIGFuIGFz
eW5jIGZ1bmN0aW9uLiAoQXN5bmMgbWV0aG9kIGFzIGEgQ2xhc3NFeHByZXNzaW9uIGVsZW1lbnQp
Citlc2lkOiBwcm9kLUFzeW5jTWV0aG9kCitmZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2Zs
YWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICBDbGFzc0VsZW1lbnQgOgorICAg
ICAgTWV0aG9kRGVmaW5pdGlvbgorCisgICAgTWV0aG9kRGVmaW5pdGlvbiA6CisgICAgICBBc3lu
Y01ldGhvZAorCisgICAgQXN5bmMgRnVuY3Rpb24gRGVmaW5pdGlvbnMKKworICAgIEFzeW5jTWV0
aG9kIDoKKyAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBQcm9wZXJ0eU5hbWUg
KCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CisKKy0tLSov
CitsZXQgY291bnQgPSAwOworCisKK3ZhciBDID0gY2xhc3MgeworICBhc3luYyBtZXRob2QoeCkg
eworICAgIGxldCBhID0gYXJndW1lbnRzOworICAgICAgcmV0dXJuIGFzeW5jICgpID0+IGEgPT09
IGFyZ3VtZW50czsKKyAgfQorfTsKKy8vIFN0b3JlcyBhIHJlZmVyZW5jZSBgYXN5bmNGbmAgZm9y
IGNhc2UgZXZhbHVhdGlvbgorbGV0IGMgPSBuZXcgQygpOworbGV0IGFzeW5jRm4gPSBjLm1ldGhv
ZC5iaW5kKGMpOworCithc3luY0ZuKCkudGhlbihyZXRGbiA9PiB7CisgIGNvdW50Kys7CisgIHJl
dHVybiByZXRGbigpOworfSkudGhlbihyZXN1bHQgPT4geworICBhc3NlcnQuc2FtZVZhbHVlKHJl
c3VsdCwgdHJ1ZSk7CisgIGFzc2VydC5zYW1lVmFsdWUoY291bnQsIDEpOworfSkudGhlbigkRE9O
RSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1u
ZXd0YXJnZXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9hc3luYy1tZXRob2QvcmV0dXJucy1hc3luYy1hcnJvdy1yZXR1cm5zLW5ld3RhcmdldC5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45NjYzYzdlYmU4YmMwYjVhYzY5MTViMDJmOTMyZjhiOGQ0ZjNkZDRlCi0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvYXN5bmMtbWV0aG9kL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1uZXd0YXJn
ZXQuanMKQEAgLTAsMCArMSw0MCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2Vu
ZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvYXN5bmMtZnVuY3Rp
b25zL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1uZXd0YXJnZXQuY2FzZQorLy8gLSBzcmMv
YXN5bmMtZnVuY3Rpb25zL2V2YWx1YXRpb24vYXN5bmMtY2xhc3MtZXhwci1tZXRob2QudGVtcGxh
dGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXN5bmMgZnVuY3Rpb24gcmV0dXJucyBhbiBhc3luYyBm
dW5jdGlvbi4gKEFzeW5jIG1ldGhvZCBhcyBhIENsYXNzRXhwcmVzc2lvbiBlbGVtZW50KQorZXNp
ZDogcHJvZC1Bc3luY01ldGhvZAorZmVhdHVyZXM6IFthc3luYy1mdW5jdGlvbnNdCitmbGFnczog
W2dlbmVyYXRlZCwgYXN5bmNdCitpbmZvOiB8CisgICAgQ2xhc3NFbGVtZW50IDoKKyAgICAgIE1l
dGhvZERlZmluaXRpb24KKworICAgIE1ldGhvZERlZmluaXRpb24gOgorICAgICAgQXN5bmNNZXRo
b2QKKworICAgIEFzeW5jIEZ1bmN0aW9uIERlZmluaXRpb25zCisKKyAgICBBc3luY01ldGhvZCA6
CisgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gUHJvcGVydHlOYW1lICggVW5p
cXVlRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQorCistLS0qLworbGV0
IGNvdW50ID0gMDsKKworCit2YXIgQyA9IGNsYXNzIHsKKyAgYXN5bmMgbWV0aG9kKHgpIHsKKyAg
ICByZXR1cm4gYXN5bmMgKCkgPT4gbmV3LnRhcmdldDsKKyAgfQorfTsKKy8vIFN0b3JlcyBhIHJl
ZmVyZW5jZSBgYXN5bmNGbmAgZm9yIGNhc2UgZXZhbHVhdGlvbgorbGV0IGMgPSBuZXcgQygpOwor
bGV0IGFzeW5jRm4gPSBjLm1ldGhvZC5iaW5kKGMpOworCithc3luY0ZuKCkudGhlbihyZXRGbiA9
PiB7CisgIGNvdW50Kys7CisgIHJldHVybiByZXRGbigpOworfSkudGhlbihyZXN1bHQgPT4gewor
ICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgdW5kZWZpbmVkKTsKKyAgYXNzZXJ0LnNhbWVWYWx1
ZShjb3VudCwgMSk7Cit9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvcmV0
dXJucy1hc3luYy1hcnJvdy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC9yZXR1cm5zLWFzeW5jLWFycm93LmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjA3MWI0OTJhMTI3MzIzMjk2OWVjYWRjNTU4NDA3NDRlZWI0N2NkMWEKLS0tIC9kZXYvbnVs
bAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9h
c3luYy1tZXRob2QvcmV0dXJucy1hc3luYy1hcnJvdy5qcwpAQCAtMCwwICsxLDQwIEBACisvLyBU
aGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNv
dXJjZXM6CisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvcmV0dXJucy1hc3luYy1hcnJvdy5jYXNl
CisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvZXZhbHVhdGlvbi9hc3luYy1jbGFzcy1leHByLW1l
dGhvZC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBc3luYyBmdW5jdGlvbiByZXR1cm5z
IGFuIGFzeW5jIGZ1bmN0aW9uLiAoQXN5bmMgbWV0aG9kIGFzIGEgQ2xhc3NFeHByZXNzaW9uIGVs
ZW1lbnQpCitlc2lkOiBwcm9kLUFzeW5jTWV0aG9kCitmZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9u
c10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICBDbGFzc0VsZW1lbnQg
OgorICAgICAgTWV0aG9kRGVmaW5pdGlvbgorCisgICAgTWV0aG9kRGVmaW5pdGlvbiA6CisgICAg
ICBBc3luY01ldGhvZAorCisgICAgQXN5bmMgRnVuY3Rpb24gRGVmaW5pdGlvbnMKKworICAgIEFz
eW5jTWV0aG9kIDoKKyAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBQcm9wZXJ0
eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CisK
Ky0tLSovCitsZXQgY291bnQgPSAwOworCisKK3ZhciBDID0gY2xhc3MgeworICBhc3luYyBtZXRo
b2QoeCkgeworICAgIHJldHVybiBhc3luYyAoKSA9PiB4OworICB9Cit9OworLy8gU3RvcmVzIGEg
cmVmZXJlbmNlIGBhc3luY0ZuYCBmb3IgY2FzZSBldmFsdWF0aW9uCitsZXQgYyA9IG5ldyBDKCk7
CitsZXQgYXN5bmNGbiA9IGMubWV0aG9kLmJpbmQoYyk7CisKK2FzeW5jRm4oMSkudGhlbihyZXRG
biA9PiB7CisgIGNvdW50Kys7CisgIHJldHVybiByZXRGbigpOworfSkudGhlbihyZXN1bHQgPT4g
eworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSk7CisgIGFzc2VydC5zYW1lVmFsdWUoY291
bnQsIDEpOworfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kL3JldHVybnMt
YXN5bmMtZnVuY3Rpb24tcmV0dXJucy1hcmd1bWVudHMtZnJvbS1vd24tZnVuY3Rpb24uanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRo
b2QvcmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1cm5zLWFyZ3VtZW50cy1mcm9tLW93bi1mdW5j
dGlvbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45M2Y5MDcxZDRjNzczNGU1YTFhNzkwMWY1MWUzM2I5NDYyYmZj
NmFkCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvYXN5bmMtbWV0aG9kL3JldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0dXJu
cy1hcmd1bWVudHMtZnJvbS1vd24tZnVuY3Rpb24uanMKQEAgLTAsMCArMSw0MSBAQAorLy8gVGhp
cyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3Vy
Y2VzOgorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25zL3JldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0
dXJucy1hcmd1bWVudHMtZnJvbS1vd24tZnVuY3Rpb24uY2FzZQorLy8gLSBzcmMvYXN5bmMtZnVu
Y3Rpb25zL2V2YWx1YXRpb24vYXN5bmMtY2xhc3MtZXhwci1tZXRob2QudGVtcGxhdGUKKy8qLS0t
CitkZXNjcmlwdGlvbjogQXN5bmMgZnVuY3Rpb24gcmV0dXJucyBhbiBhc3luYyBmdW5jdGlvbi4g
KEFzeW5jIG1ldGhvZCBhcyBhIENsYXNzRXhwcmVzc2lvbiBlbGVtZW50KQorZXNpZDogcHJvZC1B
c3luY01ldGhvZAorZmVhdHVyZXM6IFthc3luYy1mdW5jdGlvbnNdCitmbGFnczogW2dlbmVyYXRl
ZCwgYXN5bmNdCitpbmZvOiB8CisgICAgQ2xhc3NFbGVtZW50IDoKKyAgICAgIE1ldGhvZERlZmlu
aXRpb24KKworICAgIE1ldGhvZERlZmluaXRpb24gOgorICAgICAgQXN5bmNNZXRob2QKKworICAg
IEFzeW5jIEZ1bmN0aW9uIERlZmluaXRpb25zCisKKyAgICBBc3luY01ldGhvZCA6CisgICAgICBh
c3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gUHJvcGVydHlOYW1lICggVW5pcXVlRm9ybWFs
UGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQorCistLS0qLworbGV0IGNvdW50ID0g
MDsKKworCit2YXIgQyA9IGNsYXNzIHsKKyAgYXN5bmMgbWV0aG9kKHgpIHsKKyAgICBsZXQgYSA9
IGFyZ3VtZW50czsKKyAgICAgIHJldHVybiBhc3luYyBmdW5jdGlvbigpIHsgcmV0dXJuIGEgPT09
IGFyZ3VtZW50czsgfTsKKyAgfQorfTsKKy8vIFN0b3JlcyBhIHJlZmVyZW5jZSBgYXN5bmNGbmAg
Zm9yIGNhc2UgZXZhbHVhdGlvbgorbGV0IGMgPSBuZXcgQygpOworbGV0IGFzeW5jRm4gPSBjLm1l
dGhvZC5iaW5kKGMpOworCithc3luY0ZuKDEpLnRoZW4ocmV0Rm4gPT4geworICBjb3VudCsrOwor
ICByZXR1cm4gcmV0Rm4oKTsKK30pLnRoZW4ocmVzdWx0ID0+IHsKKyAgYXNzZXJ0LnNhbWVWYWx1
ZShyZXN1bHQsIGZhbHNlKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwgMSk7Cit9KS50aGVu
KCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvcmV0dXJucy1hc3luYy1mdW5jdGlvbi1y
ZXR1cm5zLW5ld3RhcmdldC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLXJldHVybnMt
bmV3dGFyZ2V0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5YTlkZTdmMWZhYzcyOTAzNjkzZWY1NmJiOTA2Njkx
MjljZjE0NjgKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9hc3luYy1tZXRob2QvcmV0dXJucy1hc3luYy1mdW5jdGlvbi1y
ZXR1cm5zLW5ld3RhcmdldC5qcwpAQCAtMCwwICsxLDQwIEBACisvLyBUaGlzIGZpbGUgd2FzIHBy
b2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNy
Yy9hc3luYy1mdW5jdGlvbnMvcmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1cm5zLW5ld3Rhcmdl
dC5jYXNlCisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvZXZhbHVhdGlvbi9hc3luYy1jbGFzcy1l
eHByLW1ldGhvZC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBc3luYyBmdW5jdGlvbiBy
ZXR1cm5zIGFuIGFzeW5jIGZ1bmN0aW9uLiAoQXN5bmMgbWV0aG9kIGFzIGEgQ2xhc3NFeHByZXNz
aW9uIGVsZW1lbnQpCitlc2lkOiBwcm9kLUFzeW5jTWV0aG9kCitmZWF0dXJlczogW2FzeW5jLWZ1
bmN0aW9uc10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICBDbGFzc0Vs
ZW1lbnQgOgorICAgICAgTWV0aG9kRGVmaW5pdGlvbgorCisgICAgTWV0aG9kRGVmaW5pdGlvbiA6
CisgICAgICBBc3luY01ldGhvZAorCisgICAgQXN5bmMgRnVuY3Rpb24gRGVmaW5pdGlvbnMKKwor
ICAgIEFzeW5jTWV0aG9kIDoKKyAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBQ
cm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1bmN0aW9uQm9k
eSB9CisKKy0tLSovCitsZXQgY291bnQgPSAwOworCisKK3ZhciBDID0gY2xhc3MgeworICBhc3lu
YyBtZXRob2QoeCkgeworICAgIHJldHVybiBhc3luYyBmdW5jdGlvbigpIHsgcmV0dXJuIG5ldy50
YXJnZXQ7IH07CisgIH0KK307CisvLyBTdG9yZXMgYSByZWZlcmVuY2UgYGFzeW5jRm5gIGZvciBj
YXNlIGV2YWx1YXRpb24KK2xldCBjID0gbmV3IEMoKTsKK2xldCBhc3luY0ZuID0gYy5tZXRob2Qu
YmluZChjKTsKKworYXN5bmNGbigxKS50aGVuKHJldEZuID0+IHsKKyAgY291bnQrKzsKKyAgcmV0
dXJuIHJldEZuKCk7Cit9KS50aGVuKHJlc3VsdCA9PiB7CisgIGFzc2VydC5zYW1lVmFsdWUocmVz
dWx0LCB1bmRlZmluZWQpOworICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxKTsKK30pLnRoZW4o
JERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvYXN5bmMt
bWV0aG9kL3JldHVybnMtYXN5bmMtZnVuY3Rpb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2ZlODFkMWU2NTA2
YTZkNzRlODU5M2NmZWIwNzdjMzFkYWFlNmQ0OAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2FzeW5jLW1ldGhvZC9yZXR1
cm5zLWFzeW5jLWZ1bmN0aW9uLmpzCkBAIC0wLDAgKzEsNDAgQEAKKy8vIFRoaXMgZmlsZSB3YXMg
cHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0g
c3JjL2FzeW5jLWZ1bmN0aW9ucy9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLmNhc2UKKy8vIC0gc3Jj
L2FzeW5jLWZ1bmN0aW9ucy9ldmFsdWF0aW9uL2FzeW5jLWNsYXNzLWV4cHItbWV0aG9kLnRlbXBs
YXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFzeW5jIGZ1bmN0aW9uIHJldHVybnMgYW4gYXN5bmMg
ZnVuY3Rpb24uIChBc3luYyBtZXRob2QgYXMgYSBDbGFzc0V4cHJlc3Npb24gZWxlbWVudCkKK2Vz
aWQ6IHByb2QtQXN5bmNNZXRob2QKK2ZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zXQorZmxhZ3M6
IFtnZW5lcmF0ZWQsIGFzeW5jXQoraW5mbzogfAorICAgIENsYXNzRWxlbWVudCA6CisgICAgICBN
ZXRob2REZWZpbml0aW9uCisKKyAgICBNZXRob2REZWZpbml0aW9uIDoKKyAgICAgIEFzeW5jTWV0
aG9kCisKKyAgICBBc3luYyBGdW5jdGlvbiBEZWZpbml0aW9ucworCisgICAgQXN5bmNNZXRob2Qg
OgorICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIFByb3BlcnR5TmFtZSAoIFVu
aXF1ZUZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVuY3Rpb25Cb2R5IH0KKworLS0tKi8KK2xl
dCBjb3VudCA9IDA7CisKKwordmFyIEMgPSBjbGFzcyB7CisgIGFzeW5jIG1ldGhvZCh4KSB7Cisg
ICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uKCkgeyByZXR1cm4geDsgfTsKKyAgfQorfTsKKy8vIFN0
b3JlcyBhIHJlZmVyZW5jZSBgYXN5bmNGbmAgZm9yIGNhc2UgZXZhbHVhdGlvbgorbGV0IGMgPSBu
ZXcgQygpOworbGV0IGFzeW5jRm4gPSBjLm1ldGhvZC5iaW5kKGMpOworCithc3luY0ZuKDEpLnRo
ZW4ocmV0Rm4gPT4geworICBjb3VudCsrOworICByZXR1cm4gcmV0Rm4oKTsKK30pLnRoZW4ocmVz
dWx0ID0+IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEpOworICBhc3NlcnQuc2FtZVZh
bHVlKGNvdW50LCAxKTsKK30pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHBy
LWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lvbi1h
ZGQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9j
cG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFkZGl0aXZl
LWV4cHJlc3Npb24tYWRkLmpzCmluZGV4IGM5MjQzZmExY2JjOTgzOWQ5Mjc2YjRkMDdiZGNkNmZh
ZTVjMDIwYzYuLmM0ZmYzM2Y1MGQ2ODdkMmU4MzcxNTZlMmE3ZGEwMGQxZjYwZTNjM2YgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nw
bi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUt
ZXhwcmVzc2lvbi1hZGQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1hZGRpdGl2ZS1leHByZXNzaW9uLWFkZC5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0t
CiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIGFkZGl0aXZlIGV4cHJl
c3Npb24gImFkZCIgKENvbXB1dGVkUHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVz
aWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVy
dHktbmFtZXNdCitmZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVs
ZHMtcHVibGljLCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVk
XQogaW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxk
cy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lvbi1zdWJ0cmFj
dC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nw
bi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUt
ZXhwcmVzc2lvbi1zdWJ0cmFjdC5qcwppbmRleCAzMjA1MTNkODI0OTRlOTllYmRhZGJmZWQ3MmQy
ZGI5M2FmNTBmYzRiLi4wMjNhNTJhNDZjM2Q2ZGM0OTJiYzMxYzIzZjI5NGQzOTY2NDQyNjVlIDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFz
cy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFkZGl0
aXZlLWV4cHJlc3Npb24tc3VidHJhY3QuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1leHByZXNzaW9uLXN1YnRyYWN0LmpzCkBAIC00LDcg
KzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBDb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20g
YWRkaXRpdmUgZXhwcmVzc2lvbiAic3VidHJhY3QiIChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBD
bGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJl
czogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0
eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNd
CiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9j
cG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFycm93LWZ1
bmN0aW9uLWV4cHJlc3Npb24uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLWFycm93LWZ1bmN0aW9uLWV4cHJlc3Npb24uanMKaW5kZXggNjI5YjVhNGE1YTZhZTA0
NWJmYmI5M2EwZWQ0YzJhOTQxODBiZGNjYS4uMzljMTM0YmI2NjQ0NzFlZWIxYWRkODRiMzM5OGY2
ODBlYTI2NTdmNSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1hcnJvdy1mdW5jdGlvbi1leHByZXNzaW9uLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwpA
QCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFt
ZSBmcm9tIGFycm93IGZ1bmN0aW9uIChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJl
c3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczogW2NvbXB1
dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywg
Y2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczog
W2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3Mt
ZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVz
c2lvbi1hc3NpZ25tZW50LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUt
ZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYXNzaWdubWVudC5qcwppbmRleCBhZTA3YjYzYWNk
NmVjNzI2YzViZmFlNjE0NTk3NWUyYWRjYWZjYTRhLi5kMDAyMWIzZGNmNDUyYmEwMjUxYmZmMDJl
MGE2N2E2YzJlZjI4ZDY1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVy
dHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1hc3NpZ25tZW50LmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1l
eHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNz
aW9uLWFzc2lnbm1lbnQuanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENv
bXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBhc3NpZ25tZW50IGV4cHJlc3Npb24gKENvbXB1dGVk
UHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9w
ZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczog
W2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0
aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNz
RXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWJpdHdpc2Utb3IuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVs
ZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1iaXR3
aXNlLW9yLmpzCmluZGV4IDg3MjBkOGQwZjEwMDBhY2E1MWE5Yjc4NWUzN2QxZTc2NzNiNDIwZGYu
LjQ2NGEzNDhiMjJjNjYxZTk1NGQxMjFlZGVlN2Y0NDVmNWY3Y2MxYmUgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1l
eHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNz
aW9uLWJpdHdpc2Utb3IuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYml0d2lzZS1vci5qcwpAQCAtNCw3ICs0LDcg
QEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIGFzc2ln
bm1lbnQgZXhwcmVzc2lvbiBiaXR3aXNlIG9yIChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFz
c0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczog
W2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1u
YW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBm
bGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4t
Y2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQt
ZXhwcmVzc2lvbi1jb2FsZXNjZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWNvYWxlc2NlLmpzCmluZGV4IDcyYWJiYTkx
MGM4N2YyZTc1MGQzMzc1MzQwYWY5MDJjMWIxOTUyZjguLjMxMTMxODI0MzE1NWFiMTMyNTA3NWZh
NzY5YzdjNDg3ZWNkMjE4MTEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWNvYWxlc2NlLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1l
eHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNz
aW9uLWNvYWxlc2NlLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBDb21w
dXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gYXNzaWdubWVudCBleHByZXNzaW9uIGNvYWxlc2NlIChD
b21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1
dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVh
dHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xh
c3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAg
ICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1l
eHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNz
aW9uLWxvZ2ljYWwtYW5kLmpzCmluZGV4IDVkMzViMDAyMjVlODAzZDY5N2I5YjRhMDI3OWUwMDFm
YTdjMTllZmMuLjMzZDJiZjg3NjdjOTUyNWY0YzQ2NWU3ZmFhMzY1NjFhZjNkZDQ2NmMgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nw
bi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVu
dC1leHByZXNzaW9uLWxvZ2ljYWwtYW5kLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1w
cm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWxvZ2ljYWwtYW5kLmpzCkBA
IC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBDb21wdXRlZCBwcm9wZXJ0eSBuYW1l
IGZyb20gYXNzaWdubWVudCBleHByZXNzaW9uIGxvZ2ljYWwgYW5kIChDb21wdXRlZFByb3BlcnR5
TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlOYW1l
Ci1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxk
cy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Np
b246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dpY2FsLW9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tbG9naWNhbC1vci5q
cwppbmRleCAzNTYwMDhkOGU5MWQ0MDhmMWMwNDUxZGIwNTU4MjJhZTYzNDU5NzAxLi42NzFkMDk5
MWY4YzQ2YWIwN2FhYjMwNTZmZjk1ZGM3ZDMxYmQ5NTk3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVs
ZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dp
Y2FsLW9yLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20t
YXNzaWdubWVudC1leHByZXNzaW9uLWxvZ2ljYWwtb3IuanMKQEAgLTQsNyArNCw3IEBACiAvKi0t
LQogZGVzY3JpcHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBhc3NpZ25tZW50IGV4
cHJlc3Npb24gbG9naWNhbCBvciAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNz
aW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNs
YXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtn
ZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4
cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3luYy1hcnJvdy1mdW5jdGlv
bi1leHByZXNzaW9uLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1hc3luYy1hcnJvdy1mdW5jdGlvbi1leHByZXNzaW9uLmpzCmluZGV4IDAwYjMwMWJkZDM4MjMx
NGRiM2VlMDlmYzcwYjEyYmRlMjhkZWJiNjUuLjdjMWFlODdjOTI1MDRkNDI5YWRmOTk2MDBkYjlm
ODBjYTAyYjkyNzcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20tYXN5bmMtYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lvbi5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1m
aWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzeW5jLWFycm93LWZ1bmN0aW9uLWV4
cHJlc3Npb24uanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENvbXB1dGVk
IHByb3BlcnR5IG5hbWUgZnJvbSBmdW5jdGlvbiBleHByZXNzaW9uIChDb21wdXRlZFByb3BlcnR5
TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlOYW1l
Ci1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxk
cy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Np
b246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LWF3YWl0LWV4cHJlc3Npb24uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLWF3YWl0LWV4cHJlc3Npb24uanMKaW5kZXggZGE5M2VjNDU2YzU2YTNlZDE5ZTg5ODZm
ZDMyNjNiNDI5ZWE5Mjk5NC4uYTU0Y2IwZDU3M2QxMzAzNDFlMjg0Y2NlNTI2NTQzNzcyZmEyYzNi
NiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1h
d2FpdC1leHByZXNzaW9uLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20tYXdhaXQtZXhwcmVzc2lvbi5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNj
cmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIGNvbmRpdGlvbiBleHByZXNzaW9u
IChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNv
bXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCB0
b3AtbGV2ZWwtYXdhaXRdCitmZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCB0b3At
bGV2ZWwtYXdhaXQsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVi
bGljXQogZmxhZ3M6IFtnZW5lcmF0ZWQsIGFzeW5jLCBtb2R1bGVdCiBpbmZvOiB8CiAgICAgQ2xh
c3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5
LW5hbWUtZnJvbS1jb25kaXRpb24tZXhwcmVzc2lvbi1mYWxzZS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tY29uZGl0aW9uLWV4cHJlc3Npb24tZmFsc2UuanMK
aW5kZXggYWFiMjBjMWJkYTE4NjRlNjg2M2FjYTM1NTdlYzUxMTBhN2QwOTc3MC4uODI4Y2QwZWMx
OGMxNmUyZTMxMjM0OWM3NGYwNGQ4NTRjZTFlZjQ0NyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRz
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1jb25kaXRpb24tZXhwcmVzc2lvbi1mYWxzZS5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9j
cG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWNvbmRpdGlv
bi1leHByZXNzaW9uLWZhbHNlLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9u
OiBDb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gY29uZGl0aW9uIGV4cHJlc3Npb24gKENvbXB1
dGVkUHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQ
cm9wZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJl
czogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1z
dGF0aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENs
YXNzRXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tY29uZGl0aW9uLWV4cHJlc3Npb24tdHJ1ZS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tY29uZGl0aW9uLWV4cHJlc3Npb24tdHJ1ZS5qcwpp
bmRleCA5MDhlYTYzYTcxOTUyNDA1Y2I3Nzg3NDQxMGQ2ZjgyOGRiYWRhNTEzLi4xZWYwYmY0MGFl
MzljMjk3MGE3N2VhMjI3Zjk0YTdjNjkwMjlkMGZiIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWNvbmRpdGlvbi1leHByZXNzaW9uLXRydWUuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3Bu
LWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1jb25kaXRpb24t
ZXhwcmVzc2lvbi10cnVlLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBD
b21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gY29uZGl0aW9uIGV4cHJlc3Npb24gKENvbXB1dGVk
UHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9w
ZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczog
W2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0
aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNz
RXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20tZGVjaW1hbC1lLW5vdGF0aW9uYWwtbGl0ZXJhbC5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZGVjaW1hbC1lLW5vdGF0aW9uYWwtbGl0ZXJhbC5q
cwppbmRleCA5MWM5ODcyNGE3YjdmMmY5ODI0MzZiNjhjN2RjYTM2NjdjNjE0ZWRhLi44NzRjYmRk
MGZjYjg2Zjk4M2VhZGMzYjI5NGRhMzNkMDdkNGIxZjIxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVs
ZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWRlY2ltYWwtZS1ub3RhdGlvbmFsLWxpdGVy
YWwuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNp
bWFsLWUtbm90YXRpb25hbC1saXRlcmFsLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2Ny
aXB0aW9uOiBDb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gZGVjaW1hbCBlIG5vdGF0aW9uYWwg
bGl0ZXJhbCAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDog
cHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1u
YW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1w
dWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBp
bmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNv
bXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWxpdGVyYWwuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVs
ZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWRlY2ltYWwtbGl0ZXJhbC5qcwppbmRleCA1
OWIxYTllNGYwN2Q4OGU5ZGQxNmIxNGNiZWRmMjY3OTAwMWVlOTMwLi40NzFhZjdhMDU2ZTk1NmRk
M2M3NTkyZTBkNTY5MmE2OTgzMjljY2Y5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0
ZWQtcHJvcGVydHktbmFtZS1mcm9tLWRlY2ltYWwtbGl0ZXJhbC5qcworKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVs
ZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWRlY2ltYWwtbGl0ZXJhbC5qcwpAQCAtNCw3
ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9t
IGRlY2ltYWwgbGl0ZXJhbCAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNzaW9u
KQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRlZC1w
cm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNsYXNz
LWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtnZW5l
cmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHIt
ZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHBvbmV0aWF0aW9uLWV4cHJlc3Np
b24uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9j
cG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cG9uZXRp
YXRpb24tZXhwcmVzc2lvbi5qcwppbmRleCA2MTU4MzRlMDQ5MDU0NzhhZjBiZjgzNWY1OTZmODE5
N2YzMzU5MjFjLi5kYjE4NGZlZjZlYWM2MDMzNjQ3NjM0MGMxMzM1M2M5MWJjNzdkNjAwIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9j
cG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cG9uZXRp
YXRpb24tZXhwcmVzc2lvbi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHkt
bmFtZS1mcm9tLWV4cG9uZXRpYXRpb24tZXhwcmVzc2lvbi5qcwpAQCAtNCw3ICs0LDcgQEAKIC8q
LS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIGV4cG9uZW50aWF0
aW9uIGV4cHJlc3Npb24gKENvbXB1dGVkUHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikK
IGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJv
cGVydHktbmFtZXNdCitmZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1m
aWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJh
dGVkXQogaW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZp
ZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1jb2FsZXNjZS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFz
cy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1jb2Fs
ZXNjZS5qcwppbmRleCAzMjhmOTg1YTNhZDBiNWIzMjY2MjQ3ZGQzZTNmZDMwOGIwZDMzZjVjLi4w
ODA0NTRkZDRhNTFjYTk2MmY0NjY3YTkwYzQwYzM5MTVjMjZhZDdjIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhw
ci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cHJlc3Npb24tY29hbGVzY2Uu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
Y3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNz
aW9uLWNvYWxlc2NlLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBDb21w
dXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gY29hbGVzY2UgKENvbXB1dGVkUHJvcGVydHlOYW1lIGlu
IENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZlYXR1
cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczogW2NvbXB1dGVkLXByb3Bl
cnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1Ymxp
Y10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbjoKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNz
L2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVz
c2lvbi1sb2dpY2FsLWFuZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1l
LWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5qcwppbmRleCBjMDI2YjI3ZDAyYjljODc0MWJj
MThmMDg2OGRkODJiNDE2ZTI2Y2I3Li41Y2ZiNTRmODA0Y2IwNTQyZDZmNmRhMjg4YTI1MWVlM2Nj
MmFjNDBiIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLWV4cHJlc3Npb24tbG9naWNhbC1hbmQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVk
LXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNzaW9uLWxvZ2ljYWwtYW5kLmpzCkBAIC00LDcgKzQs
NyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBDb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gbG9n
aWNhbCBhbmQgKENvbXB1dGVkUHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6
IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHkt
bmFtZXNdCitmZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMt
cHVibGljLCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQog
aW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLW9yLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4
cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNzaW9uLWxvZ2ljYWwt
b3IuanMKaW5kZXggOTQwZDBjMjFmZTI3ODgxYjg2ODdhMGRiODEyNGE3MWRmNjY2NTM1NC4uYzFi
ZTljNjk3OTg3MWZjODg2MWY3MTkwNWFlNjI0YWJmNzQzNTQwZCAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHIt
ZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNzaW9uLWxvZ2ljYWwtb3Iu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
Y3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNz
aW9uLWxvZ2ljYWwtb3IuanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENv
bXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBsb2dpY2FsIG9yIChDb21wdXRlZFByb3BlcnR5TmFt
ZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1m
ZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1w
cm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1w
dWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWZ1
bmN0aW9uLWRlY2xhcmF0aW9uLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qcwppbmRleCAyZWNlMDZlMzY5YmI3OTFlNWZh
NDI1YTlmMzk2MmEyNWMzNjM1OGIyLi5lYjBiYzMwNzU3ZmY0MjIxOGE1OTRlNjE2ZGYyZjVjNjk5
ZWQzMTI0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLWZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1w
cm9wZXJ0eS1uYW1lLWZyb20tZnVuY3Rpb24tZGVjbGFyYXRpb24uanMKQEAgLTQsNyArNCw3IEBA
CiAvKi0tLQogZGVzY3JpcHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBmdW5jdGlv
biAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJvZC1D
b21wdXRlZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lc10K
K2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMs
IGNsYXNzLXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8
CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVk
LXByb3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1leHByZXNzaW9uLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRz
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1leHByZXNzaW9uLmpzCmluZGV4
IDFkNjYyNzJkZDUxZWRmYzE5OGU5OTZmYjIzMmNmZGE4OGE5MWUxNjQuLjMxZmQzZGZiMjY4MzU5
MjQxYWZiMTAyOGIzNDJmMWU0MWViMmFmMzMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZnVuY3Rpb24tZXhwcmVzc2lvbi5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhw
ci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWZ1bmN0aW9uLWV4cHJlc3Npb24u
anMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENvbXB1dGVkIHByb3BlcnR5
IG5hbWUgZnJvbSBmdW5jdGlvbiBleHByZXNzaW9uIChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBD
bGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJl
czogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0
eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNd
CiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9j
cG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWdlbmVyYXRv
ci1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpzCmluZGV4IDUwNjI3
MGQ5YzRlZjFhNzhjZTU5ODdiNTcyOTQxYmNkYTQwMGQ0ZjcuLmRiZWQ0Y2VkOTUzYzFlMzI5Y2Yx
MWIwMGNlYjczZWEzMzdmNjVhZWYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1w
cm9wZXJ0eS1uYW1lLWZyb20tZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpzCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFz
cy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZ2VuZXJhdG9yLWZ1bmN0
aW9uLWRlY2xhcmF0aW9uLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBD
b21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gZ2VuZXJhdG9yIGZ1bmN0aW9uIChDb21wdXRlZFBy
b3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVy
dHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtj
b21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGlj
LWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4
cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLWlkZW50aWZpZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLWlkZW50aWZpZXIuanMKaW5kZXggNDRjZmY1YzFjZmQwMzgzNDNiOTU0NTY1NzUwZWUx
YzBmMjNkMjM5Zi4uMjY1NjNlNGFjYzRkMDVmZDkzMzFkYWRhNWMyMzlmZDExZTM0NzRiMyAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
Y3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pZGVudGlm
aWVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20taWRl
bnRpZmllci5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQg
cHJvcGVydHkgbmFtZSBmcm9tIHN0cmluZyBsaXRlcmFsIChDb21wdXRlZFByb3BlcnR5TmFtZSBp
biBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0
dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJs
aWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFz
cy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWludGVn
ZXItZS1ub3RhdGlvbmFsLWxpdGVyYWwuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVy
dHktbmFtZS1mcm9tLWludGVnZXItZS1ub3RhdGlvbmFsLWxpdGVyYWwuanMKaW5kZXggNjNkYTAx
ZjQ2ZTBmMTRmOTVhNTYyYjI3NzdkY2FlNDUyMjc2NThlMS4uYjc5YzE2NGI3NWZmMzQxMmUwOTBh
ZGQ2NjQwYzRlNGI0MGFkYzg2MCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2VyLWUtbm90YXRpb25hbC1saXRlcmFsLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1l
eHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20taW50ZWdlci1lLW5vdGF0aW9u
YWwtbGl0ZXJhbC5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0
ZWQgcHJvcGVydHkgbmFtZSBmcm9tIG51bWVyaWMgbGl0ZXJhbCAoQ29tcHV0ZWRQcm9wZXJ0eU5h
bWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQot
ZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQt
cHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMt
cHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9u
OgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1p
bnRlZ2VyLXNlcGFyYXRvcnMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLWludGVnZXItc2VwYXJhdG9ycy5qcwppbmRleCA1OTllODc3YWJkMjY2MWNmYzA2MGVm
OTk5MWNiNDVlZjI5YjI1ODUwLi45NWM0OTU1NWRiY2U1ZDVkODM1NTdmZWE1YWQ5Y2RiZjQ4Y2Mz
ZTQwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LWludGVnZXItc2VwYXJhdG9ycy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVy
dHktbmFtZS1mcm9tLWludGVnZXItc2VwYXJhdG9ycy5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0t
CiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIGludGVnZXIgd2l0aCBz
ZXBhcmF0b3JzIChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lk
OiBwcm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5
LW5hbWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRz
LXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0K
IGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW1hdGguanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0
ZWQtcHJvcGVydHktbmFtZS1mcm9tLW1hdGguanMKaW5kZXggYjMzZTNlNjg0ZjU3YjQwMzg3NmZi
YTRmYTE4Y2RhMjA5NTBkYjQxNi4uMjRiYjgzN2I4NTA1NTcxODZkMWZhZTJhMzE2ZWE0M2E2OGMz
ZGMwOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1tYXRoLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20t
bWF0aC5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJv
cGVydHkgbmFtZSBmcm9tIG1hdGggKENvbXB1dGVkUHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVz
c2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0
ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBj
bGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBb
Z2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1l
eHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbXVsdGlwbGljYXRpdmUtZXhw
cmVzc2lvbi1kaXYuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tZGl2LmpzCmluZGV4IDE4ZDk4Njg3NmZlYjJiNWVl
MWM4ODI3YWRiMjJlMmRlZDk1YjkwYWYuLjczM2I1NThjYWZlNzk4ZDhkNjg3M2Q1YWUyMjkxMmZi
ZTQwNWIzOWQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1l
LWZyb20tbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbi1kaXYuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRz
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLWRp
di5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVy
dHkgbmFtZSBmcm9tIG11bHRpcGxpY2F0aXZlIGV4cHJlc3Npb24gImRpdmlkZSIgKENvbXB1dGVk
UHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9w
ZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczog
W2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0
aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNz
RXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20tbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbi1tdWx0LmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRz
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLW11
bHQuanMKaW5kZXggZGI2ZTc0ODk3MzE1ZmQxNGY2MmJkZjAzYzQ1YjNlZmQzMTMxOTJjNS4uMjEw
NWNjZmM2MzQ3ODZkN2QyYjkwYjE4YzQ0NWY3MmQyZWVmYzc0ZSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHIt
ZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1tdWx0aXBsaWNhdGl2ZS1leHByZXNz
aW9uLW11bHQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLW11bHQuanMKQEAgLTQsNyArNCw3IEBACiAvKi0t
LQogZGVzY3JpcHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBtdWx0aXBsaWNhdGl2
ZSBleHByZXNzaW9uICJtdWx0aXBseSIgKENvbXB1dGVkUHJvcGVydHlOYW1lIGluIENsYXNzRXhw
cmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29t
cHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVz
LCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1YmxpY10KIGZsYWdz
OiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFz
cy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbnVsbC5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHBy
LWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbnVsbC5qcwppbmRleCAxYTRmZWFh
ZTIxODNkYzY1Zjk2ZjdkZjc3MWYwN2JjMmRhYzJlZTcwLi5lY2JhYjkwOTU4NDM4MjZmNTQyMTA4
MGU2OGM3NGI1ZjllMjRmYWIwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLW51bGwuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3Bl
cnR5LW5hbWUtZnJvbS1udWxsLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9u
OiBDb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gY29uZGl0aW9uIGV4cHJlc3Npb24gKENvbXB1
dGVkUHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQ
cm9wZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJl
czogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1z
dGF0aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENs
YXNzRXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tbnVtZXJpYy1saXRlcmFsLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1udW1lcmljLWxpdGVyYWwuanMKaW5kZXggZjE2MjIyNWFiYzM2MDIw
Y2M5MTE3NzZkMTMyYjNiODBmMmI0NjY0OC4uMmY0Njc3NzM4ZWIyYjM0N2ZmZDYzNjE1YzllZGQw
ZWRmYjVmMWU4NCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1udW1lcmljLWxpdGVyYWwuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1udW1lcmljLWxpdGVyYWwuanMKQEAgLTQsNyArNCw3IEBACiAvKi0t
LQogZGVzY3JpcHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBudW1lcmljIGxpdGVy
YWwgKENvbXB1dGVkUHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2Qt
Q29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNd
CitmZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGlj
LCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzog
fAogICAgIENsYXNzRXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tc3RyaW5nLWxpdGVyYWwuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLXN0cmluZy1saXRlcmFsLmpzCmluZGV4IGM1NWZkOWUw
ZjMwYTI4NWQ0MTkwYjRjMjdiNzRmOTFhZGE0ZTlhNmMuLjk4ZTE3ZjUxODYyMjJmNmFiN2JkZWUz
NmIxOTIzNTMxNzkzMWU4NjMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1jb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lLWZyb20tc3RyaW5nLWxpdGVyYWwuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1zdHJpbmctbGl0ZXJhbC5qcwpAQCAtNCw3ICs0LDcgQEAK
IC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIHN0cmluZyBs
aXRlcmFsIChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBw
cm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5h
bWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1
YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGlu
Zm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLXlpZWxkLWV4cHJlc3Npb24uanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVs
ZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLXlpZWxkLWV4cHJlc3Npb24uanMKaW5kZXgg
N2IxN2QzYzk1ZDAxODdkMzBlZTFmMzI2MGQ2ZDQ3ZGJlMjcwZjFlNC4uZGE3ZjQ0MDM0N2Q5NjU3
ODQwMTUxYzJiNjE2N2UxZmM0NjI2M2NhOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS15aWVsZC1leHByZXNzaW9uLmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZp
ZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20teWllbGQtZXhwcmVzc2lvbi5qcwpAQCAt
NCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBm
cm9tIHlpZWxkIGV4cHJlc3Npb24gKENvbXB1dGVkUHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVz
c2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0
ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBj
bGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBb
Z2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1l
eHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1l
eHByZXNzaW9uLWFkZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5
LW5hbWUtZnJvbS1hZGRpdGl2ZS1leHByZXNzaW9uLWFkZC5qcwppbmRleCBmODk0ZTk5NDA4YmQ4
ZTU4YmJmNzRmODQ0YzA2OTExOTcxOGQ0OTA4Li5hODA1YWNkYWU4NGUzYjVjY2E2MGFlN2E1NjEx
MmM3YzhmNzNmMWY3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1w
cm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lvbi1hZGQuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHIt
ZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFkZGl0aXZlLWV4cHJl
c3Npb24tYWRkLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBDb21wdXRl
ZCBwcm9wZXJ0eSBuYW1lIGZyb20gYWRkaXRpdmUgZXhwcmVzc2lvbiAiYWRkIiAoQ29tcHV0ZWRQ
cm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3Bl
cnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBb
Y29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRp
Yy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NF
eHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLWFkZGl0aXZlLWV4cHJlc3Npb24tc3VidHJhY3QuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1m
aWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVz
c2lvbi1zdWJ0cmFjdC5qcwppbmRleCAwZjYwZTVkNDZmNzUzMjhmODk1ZTQ1MGZlMTM1NTQ4NWFj
ZTRjZGQ0Li40YzYwNzIxODI4YmI2NGRlYjM3M2FhMDQwMTczZmM5YzE1OGEzMDJkIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4t
Y2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRk
aXRpdmUtZXhwcmVzc2lvbi1zdWJ0cmFjdC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lvbi1zdWJ0cmFjdC5q
cwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkg
bmFtZSBmcm9tIGFkZGl0aXZlIGV4cHJlc3Npb24gInN1YnRyYWN0IiAoQ29tcHV0ZWRQcm9wZXJ0
eU5hbWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFt
ZQotZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0
ZWQtcHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVs
ZHMtcHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNz
aW9uOgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHkt
bmFtZS1mcm9tLWFycm93LWZ1bmN0aW9uLWV4cHJlc3Npb24uanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0
aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lv
bi5qcwppbmRleCA2MThlNWM2MjVjMjdhMDg4YjU2ODk1YjM1OGU3NjBmMWZhZjIzZWZlLi40ODRi
MmZlZTQwNDE0OWI2NzM3ODczZWYwMGQ3OGFlY2QyZDliNjg3IDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1m
aWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXJyb3ctZnVuY3Rpb24t
ZXhwcmVzc2lvbi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwpAQCAtNCw3ICs0LDcgQEAK
IC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIGFycm93IGZ1
bmN0aW9uIChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBw
cm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5h
bWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1
YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGlu
Zm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0
aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWFz
c2lnbm1lbnQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1l
LWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWFzc2lnbm1lbnQuanMKaW5kZXggMTIxZDk2N2Q2
ZmNlMDkxZWE1ODc5NzU1NTA4ZjU5Y2QyYjhkN2E3OC4uYjg2M2U1MWJlMDMyMzE3NDlhMzRkMzE5
ZmRlZjk2NmMzNTc4NGNkNyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0
ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1hc3NpZ25tZW50Lmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nw
bi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1h
c3NpZ25tZW50LWV4cHJlc3Npb24tYXNzaWdubWVudC5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0t
CiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIGFzc2lnbm1lbnQgZXhw
cmVzc2lvbiAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDog
cHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1u
YW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1w
dWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBp
bmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1l
dGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1i
aXR3aXNlLW9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1iaXR3aXNlLW9yLmpzCmluZGV4IDRlZjFkNGU2
M2IxYTBmZDRkZmJmMjAyN2U4MDljYzZjOTAwZTcxNDYuLmY3ODU2NTA4NmIxNTcyMzFhOTI5ZDYx
NjRhYzdhMGE5MjcyMDQ2YTUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYml0d2lzZS1vci5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9j
cG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20t
YXNzaWdubWVudC1leHByZXNzaW9uLWJpdHdpc2Utb3IuanMKQEAgLTQsNyArNCw3IEBACiAvKi0t
LQogZGVzY3JpcHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBhc3NpZ25tZW50IGV4
cHJlc3Npb24gYml0d2lzZSBvciAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNz
aW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNs
YXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtn
ZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4
cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQt
ZXhwcmVzc2lvbi1jb2FsZXNjZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tY29hbGVzY2UuanMKaW5kZXgg
N2RjYjkyYWY2NzBlMTYyMDYyNTNlNGY4M2I2MmViNTRlOTU5MWU1NS4uNGU3MDZhOTQxODk3YjIz
NGZhYTc2ZmRiZjVhNzcyNzFmZTA4MDAzNiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhv
ZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1jb2Fs
ZXNjZS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1l
LWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWNvYWxlc2NlLmpzCkBAIC00LDcgKzQsNyBAQAog
LyotLS0KIGRlc2NyaXB0aW9uOiBDb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gYXNzaWdubWVu
dCBleHByZXNzaW9uIGNvYWxlc2NlIChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJl
c3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczogW2NvbXB1
dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywg
Y2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczog
W2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3Mt
ZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVu
dC1leHByZXNzaW9uLWxvZ2ljYWwtYW5kLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0
ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5q
cwppbmRleCA0YmQyZGY1YWMwODI0YjNkZjFhZTlmY2I5YWMwYjQ1NzZhOGRmYTQ1Li5lMGNkZTY0
ODdhMDM4MzZjNzJkNDY2YWNjMzg2ZDM2YjExY2U3YjU2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVs
ZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNz
aW9uLWxvZ2ljYWwtYW5kLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tbG9naWNhbC1hbmQuanMKQEAg
LTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUg
ZnJvbSBhc3NpZ25tZW50IGV4cHJlc3Npb24gbG9naWNhbCBhbmQgKENvbXB1dGVkUHJvcGVydHlO
YW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUK
LWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczogW2NvbXB1dGVk
LXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMtZmllbGRz
LXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lv
bjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tbG9naWNhbC1vci5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxk
cy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Np
b24tbG9naWNhbC1vci5qcwppbmRleCBlODM4MzE5YjU1NTRkMjFkZjNmOGNmMjVhNGExNWVjYzJk
NWUxMzIwLi5mNDVhYzk2ODA4OWYwNjc1YjlmZmU2MWFjZTVkNjUyZmQ2MTUzZmMwIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4t
Y2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNz
aWdubWVudC1leHByZXNzaW9uLWxvZ2ljYWwtb3IuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhv
ZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dp
Y2FsLW9yLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBDb21wdXRlZCBw
cm9wZXJ0eSBuYW1lIGZyb20gYXNzaWdubWVudCBleHByZXNzaW9uIGxvZ2ljYWwgb3IgKENvbXB1
dGVkUHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQ
cm9wZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJl
czogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1z
dGF0aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENs
YXNzRXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVk
LXByb3BlcnR5LW5hbWUtZnJvbS1hc3luYy1hcnJvdy1mdW5jdGlvbi1leHByZXNzaW9uLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNz
LWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzeW5jLWFy
cm93LWZ1bmN0aW9uLWV4cHJlc3Npb24uanMKaW5kZXggNTkwMWNiZGNhNGEyMmRkZDE1NWM1OTZi
YjY5YmY4NGI4MjA3NzQ0Yi4uMWVjODg5MGNiY2IxNmYwNDU4NjYwMTIxMzc1NWQ2MDc0MmIwNzg5
YSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLWFzeW5jLWFycm93LWZ1bmN0aW9uLWV4cHJlc3Npb24uanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmll
bGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzeW5jLWFycm93LWZ1bmN0
aW9uLWV4cHJlc3Npb24uanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENv
bXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBmdW5jdGlvbiBleHByZXNzaW9uIChDb21wdXRlZFBy
b3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVy
dHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtj
b21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGlj
LWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4
cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lLWZyb20tYXdhaXQtZXhwcmVzc2lvbi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2Rz
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hd2FpdC1leHByZXNzaW9uLmpzCmluZGV4IDU4
N2ZlYTg3MjFkZTliMTIwYjBkZWMzZTlmNjc0ZmEwYjFhYzMzNGIuLjg3YTRiYmQ1YTA2ZmMyMzBl
N2MyNzI5NGMzNTlhNmQwMmYzMjQ4YTkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2Rz
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hd2FpdC1leHByZXNzaW9uLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1l
eHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hd2FpdC1leHBy
ZXNzaW9uLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBDb21wdXRlZCBw
cm9wZXJ0eSBuYW1lIGZyb20gY29uZGl0aW9uIGV4cHJlc3Npb24gKENvbXB1dGVkUHJvcGVydHlO
YW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUK
LWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIHRvcC1sZXZlbC1hd2FpdF0KK2Zl
YXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIHRvcC1sZXZlbC1hd2FpdCwgY2xhc3Mt
ZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVy
YXRlZCwgYXN5bmMsIG1vZHVsZV0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9j
cG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20t
Y29uZGl0aW9uLWV4cHJlc3Npb24tZmFsc2UuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tY29uZGl0aW9uLWV4cHJlc3Npb24tZmFsc2UuanMKaW5k
ZXggMDYzMzg1YzVlMzgxMWZjZjkxNTI2MzMzMDkyMWNkYTkxNWEyZGViNi4uNWYwOTk1NjBkMjY1
ZTdkZWI3OTI4MGI5NTBkNWU3YmJmYTI2ZDI5ZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1l
dGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWNvbmRpdGlvbi1leHByZXNzaW9uLWZh
bHNlLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUt
ZnJvbS1jb25kaXRpb24tZXhwcmVzc2lvbi1mYWxzZS5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0t
CiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIGNvbmRpdGlvbiBleHBy
ZXNzaW9uIChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBw
cm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5h
bWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1
YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGlu
Zm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0
aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tY29uZGl0aW9uLWV4cHJlc3Npb24tdHJ1
ZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nw
bi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1j
b25kaXRpb24tZXhwcmVzc2lvbi10cnVlLmpzCmluZGV4IDRkNGE2MTE3MGNmY2YwMTA4NDg2MDMy
ZDExMGYyYWUwODNhNTMxOGYuLjczMjZiYzFhOGE2MGYzYzg5ZTcxYjhjMzQ1YjcxZjgyZDBiYTM1
ODQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1jb25kaXRpb24tZXhwcmVzc2lvbi10cnVlLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1t
ZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1jb25kaXRpb24tZXhwcmVzc2lvbi10
cnVlLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBDb21wdXRlZCBwcm9w
ZXJ0eSBuYW1lIGZyb20gY29uZGl0aW9uIGV4cHJlc3Npb24gKENvbXB1dGVkUHJvcGVydHlOYW1l
IGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZl
YXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczogW2NvbXB1dGVkLXBy
b3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1
YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbjoK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUt
ZnJvbS1kZWNpbWFsLWUtbm90YXRpb25hbC1saXRlcmFsLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhv
ZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWRlY2ltYWwtZS1ub3RhdGlvbmFsLWxpdGVy
YWwuanMKaW5kZXggMWQ2ZTRiYmM2YzMwYzM3OTdlZjAzZTFmNmIwYzkzYWJlNWQ3OWQ1ZS4uZTJi
OTcwMzIyZmQxYTk4ZWJmNzc3ZDRhMmU2OTczMjcyYjhlMjY2YSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHIt
ZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWRlY2ltYWwtZS1ub3Rh
dGlvbmFsLWxpdGVyYWwuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLWRlY2ltYWwtZS1ub3RhdGlvbmFsLWxpdGVyYWwuanMKQEAgLTQsNyAr
NCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBk
ZWNpbWFsIGUgbm90YXRpb25hbCBsaXRlcmFsIChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFz
c0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczog
W2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1u
YW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBm
bGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4t
Y2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZGVj
aW1hbC1saXRlcmFsLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHkt
bmFtZS1mcm9tLWRlY2ltYWwtbGl0ZXJhbC5qcwppbmRleCBhNjU4N2NkZDk5ZmFlYjVmNWVlMzdh
M2U2NTQ4NmM1MGI3NjNiZGRiLi45N2RlM2NmNmRjOTlkOWQzZmU1OWU1NzRhOGQxYWNhY2M1YzUx
NjU4IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20tZGVjaW1hbC1saXRlcmFsLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNv
bXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWxpdGVyYWwuanMKQEAgLTQsNyArNCw3
IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBkZWNp
bWFsIGxpdGVyYWwgKENvbXB1dGVkUHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVz
aWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVy
dHktbmFtZXNdCitmZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVs
ZHMtcHVibGljLCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVk
XQogaW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxk
cy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHBvbmV0aWF0aW9uLWV4cHJl
c3Npb24uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFz
cy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZy
b20tZXhwb25ldGlhdGlvbi1leHByZXNzaW9uLmpzCmluZGV4IGM3NjUzMTQ0ZmMwYTg3MDc2MzU4
NTkwZWRhOGM3YWFiY2YyZDk1NjIuLmVmMTMyODJmZmQzNDg0MDZkMWExMWVlOGFiMTZmM2I3NjEx
OGM2NTQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5
LW5hbWUtZnJvbS1leHBvbmV0aWF0aW9uLWV4cHJlc3Npb24uanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRz
LW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cG9uZXRpYXRpb24tZXhwcmVz
c2lvbi5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJv
cGVydHkgbmFtZSBmcm9tIGV4cG9uZW50aWF0aW9uIGV4cHJlc3Npb24gKENvbXB1dGVkUHJvcGVy
dHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5h
bWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczogW2NvbXB1
dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMtZmll
bGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNzRXhwcmVz
c2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5
LW5hbWUtZnJvbS1leHByZXNzaW9uLWNvYWxlc2NlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cHJlc3Npb24tY29hbGVzY2UuanMKaW5kZXgg
MGY1NjYxYmI1NjhlZDRjODk1MDAwNzNhZjk5ZjEwN2ExZTE3NDQzMC4uYTgyNmQ0NDgzNzllODE1
YzcwZmZjZTIyYzBjYTkwNzk4M2M2YzJlZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhv
ZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cHJlc3Npb24tY29hbGVzY2UuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNs
YXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cHJl
c3Npb24tY29hbGVzY2UuanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENv
bXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBjb2FsZXNjZSAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUg
aW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVh
dHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJv
cGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVi
bGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLWV4cHJlc3Npb24tbG9naWNhbC1hbmQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5qcwppbmRleCAx
NWU2Yzc1M2EzMTlkMmM0ODJjZTU1ZTI4ZjIyNDU2NTE3NDcxZWM3Li5kYTkzNDdiMGMxYTlhMDZh
ODk5NjBmODFhNjJlZjRiZjQxNjVlYTA0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9k
cy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4t
Y2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhw
cmVzc2lvbi1sb2dpY2FsLWFuZC5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlv
bjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIGxvZ2ljYWwgYW5kIChDb21wdXRlZFByb3Bl
cnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlO
YW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21w
dXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZp
ZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJl
c3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLW9yLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhv
ZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cHJlc3Npb24tbG9naWNhbC1vci5qcwpp
bmRleCBiMTJlNTFhOGUzMDU2N2I2YWM4YzczNTM1OTEwMTUzNDYxYThiZDM0Li5iZWM5MmQ1OWZk
MDM2ZGMyMGJkNTgxZjdmNzM2YTRlMGZjYzBiYzgwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMt
bWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLW9y
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNz
L2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1leHByZXNzaW9uLWxvZ2ljYWwtb3IuanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3Jp
cHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBsb2dpY2FsIG9yIChDb21wdXRlZFBy
b3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVy
dHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtj
b21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGlj
LWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4
cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lLWZyb20tZnVuY3Rpb24tZGVjbGFyYXRpb24uanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0
aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZnVuY3Rpb24tZGVjbGFyYXRpb24uanMK
aW5kZXggNGY4MzZiYTZkYmE1YmEzMjg3N2M0OTE3ZjZlMzFkZjU0OGZkOWM1My4uZDBhNTViMmE1
ODgzZjAwMjg3NjBiZjEzMGI5OWExMmRlOTdmYzcwYSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRz
LW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWZ1bmN0aW9uLWRlY2xhcmF0aW9u
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNz
L2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlw
dGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIGZ1bmN0aW9uIChDb21wdXRlZFByb3Bl
cnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlO
YW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21w
dXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZp
ZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJl
c3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tZnVuY3Rpb24tZXhwcmVzc2lvbi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2Rz
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1leHByZXNzaW9uLmpzCmluZGV4
IDQzYjUyNjcwMGY4MWMyYTMwYTVjYjI3Y2IxMmQ1YTlmZWFjOWJhYWIuLmQwMjRlMzA0MDcyYzhj
ZTE2YWI0Y2JkZWM0NjFkY2ViMjU1NzlhZDYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRo
b2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1leHByZXNzaW9uLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1j
bGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1mdW5j
dGlvbi1leHByZXNzaW9uLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBD
b21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gZnVuY3Rpb24gZXhwcmVzc2lvbiAoQ29tcHV0ZWRQ
cm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3Bl
cnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBb
Y29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRp
Yy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NF
eHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLWdlbmVyYXRvci1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHBy
LWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1nZW5lcmF0b3ItZnVu
Y3Rpb24tZGVjbGFyYXRpb24uanMKaW5kZXggNWYyYmI3NGQ0ZDlhYjQ4NjEwNDJkNTI3OGFjMzVm
MTc5MWM1M2VmNC4uNmIxZGRmZDQ0YWIzMjU3MGE3MTdlNDJiNTUzZTU4YzRkOWRhMDhhYyAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
Y3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LWdlbmVyYXRvci1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0
aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlY2xh
cmF0aW9uLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBDb21wdXRlZCBw
cm9wZXJ0eSBuYW1lIGZyb20gZ2VuZXJhdG9yIGZ1bmN0aW9uIChDb21wdXRlZFByb3BlcnR5TmFt
ZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1m
ZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1w
cm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1w
dWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1l
LWZyb20taWRlbnRpZmllci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3Bl
cnR5LW5hbWUtZnJvbS1pZGVudGlmaWVyLmpzCmluZGV4IGE0NjAwNzQ0MjAyOGIwZWRhMzQwMDlk
NjUwOWI2N2I2YmU0NGNjZDMuLjdhYjg0MjkyOTg2NzNjMmQ3MmE1N2EwMDk1NmU1MjFhOTU0NGUy
MWYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1pZGVudGlmaWVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVk
LXByb3BlcnR5LW5hbWUtZnJvbS1pZGVudGlmaWVyLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0K
IGRlc2NyaXB0aW9uOiBDb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gc3RyaW5nIGxpdGVyYWwg
KENvbXB1dGVkUHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29t
cHV0ZWRQcm9wZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitm
ZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBj
bGFzcy1zdGF0aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAog
ICAgIENsYXNzRXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNv
bXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2VyLWUtbm90YXRpb25hbC1saXRlcmFsLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNs
YXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWludGVn
ZXItZS1ub3RhdGlvbmFsLWxpdGVyYWwuanMKaW5kZXggYTkzYWMyYmQzOTM5OTJlNzkzYmZkMzUy
NTcwOTI0MjNhZGFkMGIyYy4uNjc2NzhlMGFhZTdjN2I1ZGEzZTJjMzVkMmY3ZGQzZWI4ZjA2MDE2
ZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLWludGVnZXItZS1ub3RhdGlvbmFsLWxpdGVyYWwuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRz
LW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWludGVnZXItZS1ub3RhdGlvbmFs
LWxpdGVyYWwuanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENvbXB1dGVk
IHByb3BlcnR5IG5hbWUgZnJvbSBudW1lcmljIGxpdGVyYWwgKENvbXB1dGVkUHJvcGVydHlOYW1l
IGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZl
YXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczogW2NvbXB1dGVkLXBy
b3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1
YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbjoK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUt
ZnJvbS1pbnRlZ2VyLXNlcGFyYXRvcnMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20taW50ZWdlci1zZXBhcmF0b3JzLmpzCmluZGV4IDNjYzY2Y2Yz
NGYyNGEwN2Q2ZGJlY2M5MDYxOWQzZWFmOTAwYzU3ZGYuLjdiY2UwNWRiYzRjMWMyY2RmYWViMjAy
YmY0ZGEzMGFjZTcwMGZiYmQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2VyLXNlcGFyYXRvcnMuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHIt
ZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWludGVnZXItc2VwYXJh
dG9ycy5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJv
cGVydHkgbmFtZSBmcm9tIGludGVnZXIgd2l0aCBzZXBhcmF0b3JzIChDb21wdXRlZFByb3BlcnR5
TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlOYW1l
Ci1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxk
cy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Np
b246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20tbWF0aC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5
LW5hbWUtZnJvbS1tYXRoLmpzCmluZGV4IDc0OWE2ZGM1NzcwNzcxYWZiNDViZDJhNGE3ZDk3NzAy
NWMwZDRjYTYuLjFmMmUyMTcxYjMxYTQwNzk1NGQyNmUzOWExOTJlOGY4NGMwNzkyYmQgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nw
bi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1t
YXRoLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUt
ZnJvbS1tYXRoLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBDb21wdXRl
ZCBwcm9wZXJ0eSBuYW1lIGZyb20gbWF0aCAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NF
eHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtj
b21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFt
ZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxh
Z3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNs
YXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW11bHRp
cGxpY2F0aXZlLWV4cHJlc3Npb24tZGl2LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0
ZWQtcHJvcGVydHktbmFtZS1mcm9tLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tZGl2LmpzCmlu
ZGV4IGFmYzNlMTIzNGI2YzExODkyN2ViYmI2Zjk3NTAyZTIyZjFiMTI0NGMuLjQzYmNkMDQ4NWRl
NDJkZmZjNjI1OGY4YTViNzlhZWI1ZmY4MmExMzIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1t
ZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1tdWx0aXBsaWNhdGl2ZS1leHByZXNz
aW9uLWRpdi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20tbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbi1kaXYuanMKQEAgLTQsNyArNCw3IEBA
CiAvKi0tLQogZGVzY3JpcHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBtdWx0aXBs
aWNhdGl2ZSBleHByZXNzaW9uICJkaXZpZGUiIChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFz
c0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczog
W2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1u
YW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBm
bGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4t
Y2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbXVs
dGlwbGljYXRpdmUtZXhwcmVzc2lvbi1tdWx0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tbXVsdC5q
cwppbmRleCAxNDkyNGRlNjZiNjIwOTUwOWNhODhhMDFhOTFlZWNkYjllMGY1YmYzLi4yZTFhNzk3
ZTgzNDMxOTQzNjU2NTZjMmU5YTYyNGQ1Nzg3ZjBmMzMzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVs
ZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbXVsdGlwbGljYXRpdmUtZXhw
cmVzc2lvbi1tdWx0LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3Bl
cnR5LW5hbWUtZnJvbS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLW11bHQuanMKQEAgLTQsNyAr
NCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBt
dWx0aXBsaWNhdGl2ZSBleHByZXNzaW9uICJtdWx0aXBseSIgKENvbXB1dGVkUHJvcGVydHlOYW1l
IGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZl
YXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczogW2NvbXB1dGVkLXBy
b3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1
YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbjoK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUt
ZnJvbS1udWxsLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLW51bGwuanMKaW5kZXggYjY4M2RmNDIwZGUyYmE0NWJkYjBlODEwZmRhNmE3NzA3NGM5
ZjJkZS4uYzcxMGNiYmE5OWQwYjFhOGFlYjVjNjQxYmE2N2FkYzExNDEzNTlmYiAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNs
YXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW51bGwu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
Y3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LW51bGwuanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENvbXB1dGVkIHBy
b3BlcnR5IG5hbWUgZnJvbSBjb25kaXRpb24gZXhwcmVzc2lvbiAoQ29tcHV0ZWRQcm9wZXJ0eU5h
bWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQot
ZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQt
cHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMt
cHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9u
OgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLW51bWVyaWMtbGl0ZXJhbC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVk
LXByb3BlcnR5LW5hbWUtZnJvbS1udW1lcmljLWxpdGVyYWwuanMKaW5kZXggMGI3MjE4OTE2ZmNl
Nzg0YTIxOGQ5YTgzNGQzZTE1MzExZjkwZWI2Mi4uYTM2MDZjMDg1OTU3YzVjY2VkYzEzYTAwMGFi
MjAxMTU5YzQwZmFiMCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvY3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQt
cHJvcGVydHktbmFtZS1mcm9tLW51bWVyaWMtbGl0ZXJhbC5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMt
bWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbnVtZXJpYy1saXRlcmFsLmpzCkBA
IC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBDb21wdXRlZCBwcm9wZXJ0eSBuYW1l
IGZyb20gbnVtZXJpYyBsaXRlcmFsIChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJl
c3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczogW2NvbXB1
dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywg
Y2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczog
W2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3Mt
ZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tc3RyaW5nLWxp
dGVyYWwuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFz
cy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZy
b20tc3RyaW5nLWxpdGVyYWwuanMKaW5kZXggODIzZWE3YmFmNjQ2N2JmMjkxYWQ0ZTk5OGI5MGU5
MmJkNDEzYTVkMi4uN2Q1NTBhZmVlNzJlNGVlY2E4MjMzZDk1YmI1OWRmMDlhOTVlOTlhYiAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
Y3BuLWNsYXNzLWV4cHItZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LXN0cmluZy1saXRlcmFsLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1zdHJpbmctbGl0ZXJhbC5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0t
CiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIHN0cmluZyBsaXRlcmFs
IChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNv
bXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQor
ZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywg
Y2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwK
ICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9jcG4tY2xhc3MtZXhwci1maWVsZHMtbWV0aG9kcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20teWllbGQtZXhwcmVzc2lvbi5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZp
ZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS15aWVsZC1leHByZXNzaW9u
LmpzCmluZGV4IDk3ZTc0MGU2YWFiZWUwNDEwYzU3YWYyZGVlNTI3ZTk2ZGEyNTU4YjguLjU0OWJj
NDA4MDc2M2FlZDJiMTc2OTA3MzhiMjhjNThhNTUyY2IwZDcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Nwbi1jbGFzcy1leHByLWZp
ZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS15aWVsZC1leHByZXNzaW9u
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNz
L2Nwbi1jbGFzcy1leHByLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS15aWVsZC1leHByZXNzaW9uLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9u
OiBDb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20geWllbGQgZXhwcmVzc2lvbiAoQ29tcHV0ZWRQ
cm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3Bl
cnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBb
Y29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRp
Yy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NF
eHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvYXJyb3ctYm9keS1kaXJlY3QtZXZhbC1lcnItY29udGFp
bnMtYXJndW1lbnRzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvZWxlbWVudHMvYXJyb3ctYm9keS1kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJn
dW1lbnRzLmpzCmluZGV4IDdhNzZjOGJiN2IwOWU0YzE3MjQ1ZWUwNmY3MjVkZDk5MTk3YTMwOTcu
LmZkMjAzYzA3M2JmN2VlNDNjMWMzOTQzZGQ0MzA5NTE5Yjk2YzFmOWIgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2Fy
cm93LWJvZHktZGlyZWN0LWV2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9hcnJv
dy1ib2R5LWRpcmVjdC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVudHMuanMKQEAgLTEsNiArMSw2
IEBACiAvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9s
bG93aW5nIHNvdXJjZXM6CiAvLyAtIHNyYy9jbGFzcy1lbGVtZW50cy9ldmFsLWVyci1jb250YWlu
cy1hcmd1bWVudHMuY2FzZQotLy8gLSBzcmMvY2xhc3MtZWxlbWVudHMvaW5pdGlhbGl6ZXItZXZh
bC1hcmd1bWVudHMvY2xzLWV4cHItZmllbGRzLWV2YWwtYXJyb3ctYm9keS50ZW1wbGF0ZQorLy8g
LSBzcmMvY2xhc3MtZWxlbWVudHMvaW5pdGlhbGl6ZXItZGlyZWN0LWV2YWwtYXJndW1lbnRzL2Ns
cy1leHByLWZpZWxkcy1ldmFsLWFycm93LWJvZHkudGVtcGxhdGUKIC8qLS0tCiBkZXNjcmlwdGlv
bjogZXJyb3IgaWYgYGFyZ3VtZW50c2AgaW4gU3RhdGVtZW50TGlzdCBvZiBldmFsIChkaXJlY3Qg
ZXZhbCkKIGVzaWQ6IHNlYy1wZXJmb3JtZXZhbC1ydWxlcy1pbi1pbml0aWFsaXplcgpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxl
bWVudHMvYXJyb3ctYm9keS1pbmRpcmVjdC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVudHMuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50
cy9hcnJvdy1ib2R5LWluZGlyZWN0LWV2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDA5NmQyNWVjY2Y5OWNlMDNmYTdmOWI4ZTg1Y2Iw
MTRmMWM3ZjU4Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50
cy9hcnJvdy1ib2R5LWluZGlyZWN0LWV2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5qcworKysg
L2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLS8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5
IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKLS8vIC0gc3JjL2NsYXNzLWVs
ZW1lbnRzL2V2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5jYXNlCi0vLyAtIHNyYy9jbGFzcy1l
bGVtZW50cy9pbml0aWFsaXplci1ldmFsLWFyZ3VtZW50cy9jbHMtZXhwci1maWVsZHMtaW5kaXJl
Y3QtZXZhbC1hcnJvdy1ib2R5LnRlbXBsYXRlCi0vKi0tLQotZGVzY3JpcHRpb246IGVycm9yIGlm
IGBhcmd1bWVudHNgIGluIFN0YXRlbWVudExpc3Qgb2YgZXZhbCAoaW5kaXJlY3QgZXZhbCkKLWVz
aWQ6IHNlYy1wZXJmb3JtZXZhbC1ydWxlcy1pbi1pbml0aWFsaXplcgotZmVhdHVyZXM6IFtjbGFz
cywgY2xhc3MtZmllbGRzLXB1YmxpY10KLWZsYWdzOiBbZ2VuZXJhdGVkXQotaW5mbzogfAotICAg
IEFkZGl0aW9uYWwgRWFybHkgRXJyb3IgUnVsZXMgZm9yIEV2YWwgSW5zaWRlIEluaXRpYWxpemVy
Ci0gICAgVGhlc2Ugc3RhdGljIHNlbWFudGljcyBhcmUgYXBwbGllZCBieSBQZXJmb3JtRXZhbCB3
aGVuIGEgZGlyZWN0IGV2YWwgY2FsbCBvY2N1cnMgaW5zaWRlIGEgY2xhc3MgZmllbGQgaW5pdGlh
bGl6ZXIuCi0gICAgU2NyaXB0Qm9keSA6IFN0YXRlbWVudExpc3QKLQotICAgICAgSXQgaXMgYSBT
eW50YXggRXJyb3IgaWYgQ29udGFpbnNBcmd1bWVudHMgb2YgU3RhdGVtZW50TGlzdCBpcyB0cnVl
LgotICAgICAgLi4uCi0KLSAgICBTdGF0aWMgU2VtYW50aWNzOiBDb250YWluc0FyZ3VtZW50cwot
ICAgICAgSWRlbnRpZmllclJlZmVyZW5jZSA6IElkZW50aWZpZXIKLQotICAgICAgMS4gSWYgdGhl
IFN0cmluZ1ZhbHVlIG9mIElkZW50aWZpZXIgaXMgImFyZ3VtZW50cyIsIHJldHVybiB0cnVlLgot
ICAgICAgLi4uCi0gICAgICBGb3IgYWxsIG90aGVyIGdyYW1tYXRpY2FsIHByb2R1Y3Rpb25zLCBy
ZWN1cnNlIG9uIGFsbCBub250ZXJtaW5hbHMuIElmIGFueSBwaWVjZSByZXR1cm5zIHRydWUsIHRo
ZW4gcmV0dXJuIHRydWUuIE90aGVyd2lzZSByZXR1cm4gZmFsc2UuCi0KLS0tLSovCi0KLQotdmFy
IEMgPSBjbGFzcyB7Ci0gIHggPSAoMCwgZXZhbCkoJygpID0+IGFyZ3VtZW50czsnKTsKLX0KLQot
YXNzZXJ0LnRocm93cyhSZWZlcmVuY2VFcnJvciwgZnVuY3Rpb24oKSB7Ci0gIG5ldyBDKCkueCgp
OwotfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9lbGVtZW50cy9hcnJvdy1ib2R5LXByaXZhdGUtZGlyZWN0LWV2YWwtZXJyLWNv
bnRhaW5zLWFyZ3VtZW50cy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2VsZW1lbnRzL2Fycm93LWJvZHktcHJpdmF0ZS1kaXJlY3QtZXZhbC1lcnIt
Y29udGFpbnMtYXJndW1lbnRzLmpzCmluZGV4IGNlNmM2MTkzNTljOTI4OGM2ZGQzNWU3ZDhhNzEx
Yjg5Zjk0ODcwNTcuLmMxODZmOGUwZjMxZTgyM2FlYzZjMDMwNjAyNjdlN2Y5Y2FlOTFiMDEgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNz
L2VsZW1lbnRzL2Fycm93LWJvZHktcHJpdmF0ZS1kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJn
dW1lbnRzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL2VsZW1lbnRzL2Fycm93LWJvZHktcHJpdmF0ZS1kaXJlY3QtZXZhbC1lcnItY29udGFp
bnMtYXJndW1lbnRzLmpzCkBAIC0xLDYgKzEsNiBAQAogLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1
cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgogLy8gLSBzcmMvY2xh
c3MtZWxlbWVudHMvZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmNhc2UKLS8vIC0gc3JjL2Ns
YXNzLWVsZW1lbnRzL2luaXRpYWxpemVyLWV2YWwtYXJndW1lbnRzL2Nscy1leHByLXByaXZhdGUt
ZmllbGRzLWV2YWwtYXJyb3ctYm9keS50ZW1wbGF0ZQorLy8gLSBzcmMvY2xhc3MtZWxlbWVudHMv
aW5pdGlhbGl6ZXItZGlyZWN0LWV2YWwtYXJndW1lbnRzL2Nscy1leHByLXByaXZhdGUtZmllbGRz
LWV2YWwtYXJyb3ctYm9keS50ZW1wbGF0ZQogLyotLS0KIGRlc2NyaXB0aW9uOiBlcnJvciBpZiBg
YXJndW1lbnRzYCBpbiBTdGF0ZW1lbnRMaXN0IG9mIGV2YWwgKGRpcmVjdCBldmFsKQogZXNpZDog
c2VjLXBlcmZvcm1ldmFsLXJ1bGVzLWluLWluaXRpYWxpemVyCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9hcnJvdy1i
b2R5LXByaXZhdGUtaW5kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvYXJy
b3ctYm9keS1wcml2YXRlLWluZGlyZWN0LWV2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5qcwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2IxZmYwZDQ5ZjhkZTk1YTVmN2EzNWIzMWQw
ZDYxZGE1NWJlZDcxOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVt
ZW50cy9hcnJvdy1ib2R5LXByaXZhdGUtaW5kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1l
bnRzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotLy8gVGhpcyBmaWxlIHdhcyBw
cm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgotLy8gLSBz
cmMvY2xhc3MtZWxlbWVudHMvZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmNhc2UKLS8vIC0g
c3JjL2NsYXNzLWVsZW1lbnRzL2luaXRpYWxpemVyLWV2YWwtYXJndW1lbnRzL2Nscy1leHByLXBy
aXZhdGUtZmllbGRzLWluZGlyZWN0LWV2YWwtYXJyb3ctYm9keS50ZW1wbGF0ZQotLyotLS0KLWRl
c2NyaXB0aW9uOiBlcnJvciBpZiBgYXJndW1lbnRzYCBpbiBTdGF0ZW1lbnRMaXN0IG9mIGV2YWwg
KGluZGlyZWN0IGV2YWwpCi1lc2lkOiBzZWMtcGVyZm9ybWV2YWwtcnVsZXMtaW4taW5pdGlhbGl6
ZXIKLWZlYXR1cmVzOiBbY2xhc3MsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLWZpZWxkcy1w
cml2YXRlXQotZmxhZ3M6IFtnZW5lcmF0ZWRdCi1pbmZvOiB8Ci0gICAgQWRkaXRpb25hbCBFYXJs
eSBFcnJvciBSdWxlcyBmb3IgRXZhbCBJbnNpZGUgSW5pdGlhbGl6ZXIKLSAgICBUaGVzZSBzdGF0
aWMgc2VtYW50aWNzIGFyZSBhcHBsaWVkIGJ5IFBlcmZvcm1FdmFsIHdoZW4gYSBkaXJlY3QgZXZh
bCBjYWxsIG9jY3VycyBpbnNpZGUgYSBjbGFzcyBmaWVsZCBpbml0aWFsaXplci4KLSAgICBTY3Jp
cHRCb2R5IDogU3RhdGVtZW50TGlzdAotCi0gICAgICBJdCBpcyBhIFN5bnRheCBFcnJvciBpZiBD
b250YWluc0FyZ3VtZW50cyBvZiBTdGF0ZW1lbnRMaXN0IGlzIHRydWUuCi0gICAgICAuLi4KLQot
ICAgIFN0YXRpYyBTZW1hbnRpY3M6IENvbnRhaW5zQXJndW1lbnRzCi0gICAgICBJZGVudGlmaWVy
UmVmZXJlbmNlIDogSWRlbnRpZmllcgotCi0gICAgICAxLiBJZiB0aGUgU3RyaW5nVmFsdWUgb2Yg
SWRlbnRpZmllciBpcyAiYXJndW1lbnRzIiwgcmV0dXJuIHRydWUuCi0gICAgICAuLi4KLSAgICAg
IEZvciBhbGwgb3RoZXIgZ3JhbW1hdGljYWwgcHJvZHVjdGlvbnMsIHJlY3Vyc2Ugb24gYWxsIG5v
bnRlcm1pbmFscy4gSWYgYW55IHBpZWNlIHJldHVybnMgdHJ1ZSwgdGhlbiByZXR1cm4gdHJ1ZS4g
T3RoZXJ3aXNlIHJldHVybiBmYWxzZS4KLQotLS0tKi8KLQotCi12YXIgQyA9IGNsYXNzIHsKLSAg
I3ggPSAoMCwgZXZhbCkoJygpID0+IGFyZ3VtZW50czsnKTsKLSAgeCgpIHsKLSAgICB0aGlzLiN4
KCk7Ci0gIH0KLX0KLQotYXNzZXJ0LnRocm93cyhSZWZlcmVuY2VFcnJvciwgZnVuY3Rpb24oKSB7
Ci0gIG5ldyBDKCkueCgpOwotfSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1z
dGF0aWMvYXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVyLWVzY2FwZWQuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2
YXRlLW1ldGhvZC1zdGF0aWMvYXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVyLWVzY2FwZWQuanMK
aW5kZXggNDk2YzllMTU5MWNkZTY3NTY3MGE4NzRhOTQyYjU0MDAzODg4NTk3OC4uZWQxYjZjOWRi
YTAyMzg2MzU1NzI2MTllZGI3YzllMTU3YzMyMjBhYyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0
ZS1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci1lc2NhcGVkLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1l
bnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZp
ZXItZXNjYXBlZC5qcwpAQCAtMzEsNiArMzEsOCBAQCBpbmZvOiB8CiAkRE9OT1RFVkFMVUFURSgp
OwogCiAKLXZhciBDID0gY2xhc3MgeyBzdGF0aWMgYXN5bmMgI21ldGhvZCgpIHsKK3ZhciBDID0g
Y2xhc3MgeworICBzdGF0aWMgYXN5bmMgI21ldGhvZCgpIHsKICAgICB2YXIgXHUwMDYxd2FpdDsK
LX19OworICB9Cit9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0aWMvYXdh
aXQtYXMtYmluZGluZy1pZGVudGlmaWVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGlj
L2F3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci5qcwppbmRleCBlOTdlYTVlMmJkNmNkYmY3MTI1
NDY2NjdkNmE1YzEwMzFiOWUwN2E4Li4yM2FkOTQzY2I0MmNiMTAzOTMyNmNkOTg4ZmVlNjIyZjRl
MTFlYTI2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0aWMvYXdhaXQtYXMt
YmluZGluZy1pZGVudGlmaWVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kLXN0YXRpYy9h
d2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXIuanMKQEAgLTMxLDYgKzMxLDggQEAgaW5mbzogfAog
JERPTk9URVZBTFVBVEUoKTsKIAogCi12YXIgQyA9IGNsYXNzIHsgc3RhdGljIGFzeW5jICNtZXRo
b2QoKSB7Cit2YXIgQyA9IGNsYXNzIHsKKyAgc3RhdGljIGFzeW5jICNtZXRob2QoKSB7CiAgICAg
dmFyIGF3YWl0OwotfX07CisgIH0KK30KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9k
LXN0YXRpYy9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS1lc2NhcGVkLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvYXN5bmMt
cHJpdmF0ZS1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLWVzY2Fw
ZWQuanMKaW5kZXggMTdlOWQ1MjNlNTk2MjRhM2Y3NGQxMTI5YmYzYmVhZjdhNDdmNmRlOC4uZGFl
ZThjYjQxMjZiYzZjNTk5OTBhY2QxZTcyZjNlNDQ4ZWJiMDVhOSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvYXN5bmMt
cHJpdmF0ZS1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLWVzY2Fw
ZWQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWlkZW50aWZp
ZXItcmVmZXJlbmNlLWVzY2FwZWQuanMKQEAgLTMxLDYgKzMxLDggQEAgaW5mbzogfAogJERPTk9U
RVZBTFVBVEUoKTsKIAogCi12YXIgQyA9IGNsYXNzIHsgc3RhdGljIGFzeW5jICNtZXRob2QoKSB7
Cit2YXIgQyA9IGNsYXNzIHsKKyAgc3RhdGljIGFzeW5jICNtZXRob2QoKSB7CiAgICAgdm9pZCBc
dTAwNjF3YWl0OwotfX07CisgIH0KK30KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9k
LXN0YXRpYy9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUt
bWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS5qcwppbmRleCBjYWJi
Y2UzOTgxY2M4M2RkMGIxN2QwMGQyNzQ3N2JhNjg1MzE5Y2U1Li43Njc0ZGJlMGE5NTdlMzcyNjZk
NmU1YTk0OTEzY2VhNDVkMjE3ZGUxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1z
dGF0aWMvYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0
ZS1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLmpzCkBAIC0zMSw2
ICszMSw4IEBAIGluZm86IHwKICRET05PVEVWQUxVQVRFKCk7CiAKIAotdmFyIEMgPSBjbGFzcyB7
IHN0YXRpYyBhc3luYyAjbWV0aG9kKCkgewordmFyIEMgPSBjbGFzcyB7CisgIHN0YXRpYyBhc3lu
YyAjbWV0aG9kKCkgewogICAgIHZvaWQgYXdhaXQ7Ci19fTsKKyAgfQorfQpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMv
YXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXItZXNj
YXBlZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNz
L2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1sYWJlbC1pZGVu
dGlmaWVyLWVzY2FwZWQuanMKaW5kZXggZjEyMmZkODlkMTQ1MWE0Yjc3MGE2MzEyYzk1OTY4YjYx
YzFmOTU4YS4uMGMyYmFlZjA4ZjcxYzZhM2M1NjI1MTRmMTdiZGY2NzhjZWY2Mzg5ZCAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxl
bWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZp
ZXItZXNjYXBlZC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0aWMvYXdhaXQtYXMt
bGFiZWwtaWRlbnRpZmllci1lc2NhcGVkLmpzCkBAIC0zMSw2ICszMSw4IEBAIGluZm86IHwKICRE
T05PVEVWQUxVQVRFKCk7CiAKIAotdmFyIEMgPSBjbGFzcyB7IHN0YXRpYyBhc3luYyAjbWV0aG9k
KCkgewordmFyIEMgPSBjbGFzcyB7CisgIHN0YXRpYyBhc3luYyAjbWV0aG9kKCkgewogICAgIFx1
MDA2MXdhaXQ6IDsKLX19OworICB9Cit9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhv
ZC1zdGF0aWMvYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0
aG9kLXN0YXRpYy9hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLmpzCmluZGV4IGQyMDEyMWM3YWQ0
YjA4Yjc4M2MwN2E3ZGFmYWM4OGQ5MGVmNGUwYWQuLjk0YTUwMzI2MDNlNGZkNjc0YzE0YTg1NTYx
ODExMGQyMmNhNTNmNDEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kLXN0YXRpYy9h
d2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kLXN0
YXRpYy9hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLmpzCkBAIC0zMSw2ICszMSw4IEBAIGluZm86
IHwKICRET05PVEVWQUxVQVRFKCk7CiAKIAotdmFyIEMgPSBjbGFzcyB7IHN0YXRpYyBhc3luYyAj
bWV0aG9kKCkgewordmFyIEMgPSBjbGFzcyB7CisgIHN0YXRpYyBhc3luYyAjbWV0aG9kKCkgewog
ICAgIGF3YWl0OiA7Ci19fTsKKyAgfQorfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRo
b2Qtc3RhdGljL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1hcmd1bWVudHMtZnJvbS1wYXJl
bnQtZnVuY3Rpb24uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0aWMvcmV0dXJucy1hc3lu
Yy1hcnJvdy1yZXR1cm5zLWFyZ3VtZW50cy1mcm9tLXBhcmVudC1mdW5jdGlvbi5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43ODgzYjZiM2IwMmY1ZDE5YWE2N2RjNGNmYWZiZGIyMTliOWFhZmZhCi0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
ZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMtYXJyb3ct
cmV0dXJucy1hcmd1bWVudHMtZnJvbS1wYXJlbnQtZnVuY3Rpb24uanMKQEAgLTAsMCArMSw0MyBA
QAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxv
d2luZyBzb3VyY2VzOgorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25zL3JldHVybnMtYXN5bmMtYXJy
b3ctcmV0dXJucy1hcmd1bWVudHMtZnJvbS1wYXJlbnQtZnVuY3Rpb24uY2FzZQorLy8gLSBzcmMv
YXN5bmMtZnVuY3Rpb25zL2V2YWx1YXRpb24vYXN5bmMtY2xhc3MtZXhwci1zdGF0aWMtcHJpdmF0
ZS1tZXRob2QudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXN5bmMgZnVuY3Rpb24gcmV0
dXJucyBhbiBhc3luYyBmdW5jdGlvbi4gKFN0YXRpYyBwcml2YXRlIGFzeW5jIG1ldGhvZCBhcyBh
IENsYXNzRXhwcmVzc2lvbiBlbGVtZW50KQorZXNpZDogcHJvZC1Bc3luY01ldGhvZAorZmVhdHVy
ZXM6IFthc3luYy1mdW5jdGlvbnMsIGNsYXNzLXN0YXRpYy1tZXRob2RzLXByaXZhdGVdCitmbGFn
czogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmZvOiB8CisgICAgQ2xhc3NFbGVtZW50IDoKKyAgICAg
IHN0YXRpYyBQcml2YXRlTWV0aG9kRGVmaW5pdGlvbgorCisgICAgTWV0aG9kRGVmaW5pdGlvbiA6
CisgICAgICBBc3luY01ldGhvZAorCisgICAgQXN5bmMgRnVuY3Rpb24gRGVmaW5pdGlvbnMKKwor
ICAgIEFzeW5jTWV0aG9kIDoKKyAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSAj
IFByb3BlcnR5TmFtZSAoIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVuY3Rpb25C
b2R5IH0KKworLS0tKi8KK2xldCBjb3VudCA9IDA7CisKKwordmFyIEMgPSBjbGFzcyB7CisgIHN0
YXRpYyBhc3luYyAjbWV0aG9kKHgpIHsKKyAgICBsZXQgYSA9IGFyZ3VtZW50czsKKyAgICAgIHJl
dHVybiBhc3luYyAoKSA9PiBhID09PSBhcmd1bWVudHM7CisgIH0KKyAgc3RhdGljIGFzeW5jIG1l
dGhvZCh4KSB7CisgICAgcmV0dXJuIHRoaXMuI21ldGhvZCh4KTsKKyAgfQorfQorLy8gU3RvcmVz
IGEgcmVmZXJlbmNlIGBhc3luY0ZuYCBmb3IgY2FzZSBldmFsdWF0aW9uCitsZXQgYXN5bmNGbiA9
IEMubWV0aG9kLmJpbmQoQyk7CisKK2FzeW5jRm4oKS50aGVuKHJldEZuID0+IHsKKyAgY291bnQr
KzsKKyAgcmV0dXJuIHJldEZuKCk7Cit9KS50aGVuKHJlc3VsdCA9PiB7CisgIGFzc2VydC5zYW1l
VmFsdWUocmVzdWx0LCB0cnVlKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwgMSk7Cit9KS50
aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0
aWMvcmV0dXJucy1hc3luYy1hcnJvdy1yZXR1cm5zLW5ld3RhcmdldC5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZh
dGUtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWFycm93LXJldHVybnMtbmV3dGFyZ2V0Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjBmMGEzOTFkYTc0OTUxN2UzYTJjZGM3M2YyYWJkNjRkZmE2YzA5ZmUKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0aWMvcmV0dXJucy1hc3lu
Yy1hcnJvdy1yZXR1cm5zLW5ld3RhcmdldC5qcwpAQCAtMCwwICsxLDQyIEBACisvLyBUaGlzIGZp
bGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6
CisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvcmV0dXJucy1hc3luYy1hcnJvdy1yZXR1cm5zLW5l
d3RhcmdldC5jYXNlCisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvZXZhbHVhdGlvbi9hc3luYy1j
bGFzcy1leHByLXN0YXRpYy1wcml2YXRlLW1ldGhvZC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0
aW9uOiBBc3luYyBmdW5jdGlvbiByZXR1cm5zIGFuIGFzeW5jIGZ1bmN0aW9uLiAoU3RhdGljIHBy
aXZhdGUgYXN5bmMgbWV0aG9kIGFzIGEgQ2xhc3NFeHByZXNzaW9uIGVsZW1lbnQpCitlc2lkOiBw
cm9kLUFzeW5jTWV0aG9kCitmZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9ucywgY2xhc3Mtc3RhdGlj
LW1ldGhvZHMtcHJpdmF0ZV0KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAg
ICBDbGFzc0VsZW1lbnQgOgorICAgICAgc3RhdGljIFByaXZhdGVNZXRob2REZWZpbml0aW9uCisK
KyAgICBNZXRob2REZWZpbml0aW9uIDoKKyAgICAgIEFzeW5jTWV0aG9kCisKKyAgICBBc3luYyBG
dW5jdGlvbiBEZWZpbml0aW9ucworCisgICAgQXN5bmNNZXRob2QgOgorICAgICAgYXN5bmMgW25v
IExpbmVUZXJtaW5hdG9yIGhlcmVdICMgUHJvcGVydHlOYW1lICggVW5pcXVlRm9ybWFsUGFyYW1l
dGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQorCistLS0qLworbGV0IGNvdW50ID0gMDsKKwor
Cit2YXIgQyA9IGNsYXNzIHsKKyAgc3RhdGljIGFzeW5jICNtZXRob2QoeCkgeworICAgIHJldHVy
biBhc3luYyAoKSA9PiBuZXcudGFyZ2V0OworICB9CisgIHN0YXRpYyBhc3luYyBtZXRob2QoeCkg
eworICAgIHJldHVybiB0aGlzLiNtZXRob2QoeCk7CisgIH0KK30KKy8vIFN0b3JlcyBhIHJlZmVy
ZW5jZSBgYXN5bmNGbmAgZm9yIGNhc2UgZXZhbHVhdGlvbgorbGV0IGFzeW5jRm4gPSBDLm1ldGhv
ZC5iaW5kKEMpOworCithc3luY0ZuKCkudGhlbihyZXRGbiA9PiB7CisgIGNvdW50Kys7CisgIHJl
dHVybiByZXRGbigpOworfSkudGhlbihyZXN1bHQgPT4geworICBhc3NlcnQuc2FtZVZhbHVlKHJl
c3VsdCwgdW5kZWZpbmVkKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwgMSk7Cit9KS50aGVu
KCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0aWMv
cmV0dXJucy1hc3luYy1hcnJvdy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kLXN0YXRpYy9yZXR1
cm5zLWFzeW5jLWFycm93LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxNzgwMzk1ZjYwYmEwNzdhNjQyNzMwZjc4
NGJiN2MxNjhiN2RiMGQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1z
dGF0aWMvcmV0dXJucy1hc3luYy1hcnJvdy5qcwpAQCAtMCwwICsxLDQyIEBACisvLyBUaGlzIGZp
bGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6
CisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvcmV0dXJucy1hc3luYy1hcnJvdy5jYXNlCisvLyAt
IHNyYy9hc3luYy1mdW5jdGlvbnMvZXZhbHVhdGlvbi9hc3luYy1jbGFzcy1leHByLXN0YXRpYy1w
cml2YXRlLW1ldGhvZC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBc3luYyBmdW5jdGlv
biByZXR1cm5zIGFuIGFzeW5jIGZ1bmN0aW9uLiAoU3RhdGljIHByaXZhdGUgYXN5bmMgbWV0aG9k
IGFzIGEgQ2xhc3NFeHByZXNzaW9uIGVsZW1lbnQpCitlc2lkOiBwcm9kLUFzeW5jTWV0aG9kCitm
ZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9ucywgY2xhc3Mtc3RhdGljLW1ldGhvZHMtcHJpdmF0ZV0K
K2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICBDbGFzc0VsZW1lbnQgOgor
ICAgICAgc3RhdGljIFByaXZhdGVNZXRob2REZWZpbml0aW9uCisKKyAgICBNZXRob2REZWZpbml0
aW9uIDoKKyAgICAgIEFzeW5jTWV0aG9kCisKKyAgICBBc3luYyBGdW5jdGlvbiBEZWZpbml0aW9u
cworCisgICAgQXN5bmNNZXRob2QgOgorICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhl
cmVdICMgUHJvcGVydHlOYW1lICggVW5pcXVlRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5j
dGlvbkJvZHkgfQorCistLS0qLworbGV0IGNvdW50ID0gMDsKKworCit2YXIgQyA9IGNsYXNzIHsK
KyAgc3RhdGljIGFzeW5jICNtZXRob2QoeCkgeworICAgIHJldHVybiBhc3luYyAoKSA9PiB4Owor
ICB9CisgIHN0YXRpYyBhc3luYyBtZXRob2QoeCkgeworICAgIHJldHVybiB0aGlzLiNtZXRob2Qo
eCk7CisgIH0KK30KKy8vIFN0b3JlcyBhIHJlZmVyZW5jZSBgYXN5bmNGbmAgZm9yIGNhc2UgZXZh
bHVhdGlvbgorbGV0IGFzeW5jRm4gPSBDLm1ldGhvZC5iaW5kKEMpOworCithc3luY0ZuKDEpLnRo
ZW4ocmV0Rm4gPT4geworICBjb3VudCsrOworICByZXR1cm4gcmV0Rm4oKTsKK30pLnRoZW4ocmVz
dWx0ID0+IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEpOworICBhc3NlcnQuc2FtZVZh
bHVlKGNvdW50LCAxKTsKK30pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5j
LXByaXZhdGUtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLXJldHVybnMtYXJn
dW1lbnRzLWZyb20tb3duLWZ1bmN0aW9uLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGlj
L3JldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0dXJucy1hcmd1bWVudHMtZnJvbS1vd24tZnVuY3Rp
b24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODBmM2MyNWZhZTRlNWVlYTYwYmRjNGVjY2QzMGYxNzYxMDUyZTdl
MQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kLXN0YXRpYy9yZXR1cm5z
LWFzeW5jLWZ1bmN0aW9uLXJldHVybnMtYXJndW1lbnRzLWZyb20tb3duLWZ1bmN0aW9uLmpzCkBA
IC0wLDAgKzEsNDMgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBm
cm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9yZXR1
cm5zLWFzeW5jLWZ1bmN0aW9uLXJldHVybnMtYXJndW1lbnRzLWZyb20tb3duLWZ1bmN0aW9uLmNh
c2UKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9ldmFsdWF0aW9uL2FzeW5jLWNsYXNzLWV4cHIt
c3RhdGljLXByaXZhdGUtbWV0aG9kLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFzeW5j
IGZ1bmN0aW9uIHJldHVybnMgYW4gYXN5bmMgZnVuY3Rpb24uIChTdGF0aWMgcHJpdmF0ZSBhc3lu
YyBtZXRob2QgYXMgYSBDbGFzc0V4cHJlc3Npb24gZWxlbWVudCkKK2VzaWQ6IHByb2QtQXN5bmNN
ZXRob2QKK2ZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zLCBjbGFzcy1zdGF0aWMtbWV0aG9kcy1w
cml2YXRlXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIGFzeW5jXQoraW5mbzogfAorICAgIENsYXNzRWxl
bWVudCA6CisgICAgICBzdGF0aWMgUHJpdmF0ZU1ldGhvZERlZmluaXRpb24KKworICAgIE1ldGhv
ZERlZmluaXRpb24gOgorICAgICAgQXN5bmNNZXRob2QKKworICAgIEFzeW5jIEZ1bmN0aW9uIERl
ZmluaXRpb25zCisKKyAgICBBc3luY01ldGhvZCA6CisgICAgICBhc3luYyBbbm8gTGluZVRlcm1p
bmF0b3IgaGVyZV0gIyBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkgeyBB
c3luY0Z1bmN0aW9uQm9keSB9CisKKy0tLSovCitsZXQgY291bnQgPSAwOworCisKK3ZhciBDID0g
Y2xhc3MgeworICBzdGF0aWMgYXN5bmMgI21ldGhvZCh4KSB7CisgICAgbGV0IGEgPSBhcmd1bWVu
dHM7CisgICAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24oKSB7IHJldHVybiBhID09PSBhcmd1bWVu
dHM7IH07CisgIH0KKyAgc3RhdGljIGFzeW5jIG1ldGhvZCh4KSB7CisgICAgcmV0dXJuIHRoaXMu
I21ldGhvZCh4KTsKKyAgfQorfQorLy8gU3RvcmVzIGEgcmVmZXJlbmNlIGBhc3luY0ZuYCBmb3Ig
Y2FzZSBldmFsdWF0aW9uCitsZXQgYXN5bmNGbiA9IEMubWV0aG9kLmJpbmQoQyk7CisKK2FzeW5j
Rm4oMSkudGhlbihyZXRGbiA9PiB7CisgIGNvdW50Kys7CisgIHJldHVybiByZXRGbigpOworfSku
dGhlbihyZXN1bHQgPT4geworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgZmFsc2UpOworICBh
c3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxKTsKK30pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2Vs
ZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9u
LXJldHVybnMtbmV3dGFyZ2V0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL3JldHVy
bnMtYXN5bmMtZnVuY3Rpb24tcmV0dXJucy1uZXd0YXJnZXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzFiODg5
OTk1OTgxMjk0NWUxMjA1ZTBlODNhY2Y0MmIwOTJkMjQwMQotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2Fz
eW5jLXByaXZhdGUtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLXJldHVybnMt
bmV3dGFyZ2V0LmpzCkBAIC0wLDAgKzEsNDIgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJh
bGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2FzeW5j
LWZ1bmN0aW9ucy9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLXJldHVybnMtbmV3dGFyZ2V0LmNhc2UK
Ky8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9ldmFsdWF0aW9uL2FzeW5jLWNsYXNzLWV4cHItc3Rh
dGljLXByaXZhdGUtbWV0aG9kLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFzeW5jIGZ1
bmN0aW9uIHJldHVybnMgYW4gYXN5bmMgZnVuY3Rpb24uIChTdGF0aWMgcHJpdmF0ZSBhc3luYyBt
ZXRob2QgYXMgYSBDbGFzc0V4cHJlc3Npb24gZWxlbWVudCkKK2VzaWQ6IHByb2QtQXN5bmNNZXRo
b2QKK2ZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zLCBjbGFzcy1zdGF0aWMtbWV0aG9kcy1wcml2
YXRlXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIGFzeW5jXQoraW5mbzogfAorICAgIENsYXNzRWxlbWVu
dCA6CisgICAgICBzdGF0aWMgUHJpdmF0ZU1ldGhvZERlZmluaXRpb24KKworICAgIE1ldGhvZERl
ZmluaXRpb24gOgorICAgICAgQXN5bmNNZXRob2QKKworICAgIEFzeW5jIEZ1bmN0aW9uIERlZmlu
aXRpb25zCisKKyAgICBBc3luY01ldGhvZCA6CisgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0
b3IgaGVyZV0gIyBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3lu
Y0Z1bmN0aW9uQm9keSB9CisKKy0tLSovCitsZXQgY291bnQgPSAwOworCisKK3ZhciBDID0gY2xh
c3MgeworICBzdGF0aWMgYXN5bmMgI21ldGhvZCh4KSB7CisgICAgcmV0dXJuIGFzeW5jIGZ1bmN0
aW9uKCkgeyByZXR1cm4gbmV3LnRhcmdldDsgfTsKKyAgfQorICBzdGF0aWMgYXN5bmMgbWV0aG9k
KHgpIHsKKyAgICByZXR1cm4gdGhpcy4jbWV0aG9kKHgpOworICB9Cit9CisvLyBTdG9yZXMgYSBy
ZWZlcmVuY2UgYGFzeW5jRm5gIGZvciBjYXNlIGV2YWx1YXRpb24KK2xldCBhc3luY0ZuID0gQy5t
ZXRob2QuYmluZChDKTsKKworYXN5bmNGbigxKS50aGVuKHJldEZuID0+IHsKKyAgY291bnQrKzsK
KyAgcmV0dXJuIHJldEZuKCk7Cit9KS50aGVuKHJlc3VsdCA9PiB7CisgIGFzc2VydC5zYW1lVmFs
dWUocmVzdWx0LCB1bmRlZmluZWQpOworICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxKTsKK30p
LnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kLXN0
YXRpYy9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3Rh
dGljL3JldHVybnMtYXN5bmMtZnVuY3Rpb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTE4ZjA1NWU2ZmYzN2Zj
ODkwZmM1OWUyZmI0NDAzZjliMzFiZWQxMwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZh
dGUtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLmpzCkBAIC0wLDAgKzEsNDIg
QEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xs
b3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9yZXR1cm5zLWFzeW5jLWZ1
bmN0aW9uLmNhc2UKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9ldmFsdWF0aW9uL2FzeW5jLWNs
YXNzLWV4cHItc3RhdGljLXByaXZhdGUtbWV0aG9kLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRp
b246IEFzeW5jIGZ1bmN0aW9uIHJldHVybnMgYW4gYXN5bmMgZnVuY3Rpb24uIChTdGF0aWMgcHJp
dmF0ZSBhc3luYyBtZXRob2QgYXMgYSBDbGFzc0V4cHJlc3Npb24gZWxlbWVudCkKK2VzaWQ6IHBy
b2QtQXN5bmNNZXRob2QKK2ZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zLCBjbGFzcy1zdGF0aWMt
bWV0aG9kcy1wcml2YXRlXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIGFzeW5jXQoraW5mbzogfAorICAg
IENsYXNzRWxlbWVudCA6CisgICAgICBzdGF0aWMgUHJpdmF0ZU1ldGhvZERlZmluaXRpb24KKwor
ICAgIE1ldGhvZERlZmluaXRpb24gOgorICAgICAgQXN5bmNNZXRob2QKKworICAgIEFzeW5jIEZ1
bmN0aW9uIERlZmluaXRpb25zCisKKyAgICBBc3luY01ldGhvZCA6CisgICAgICBhc3luYyBbbm8g
TGluZVRlcm1pbmF0b3IgaGVyZV0gIyBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0
ZXJzICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CisKKy0tLSovCitsZXQgY291bnQgPSAwOworCisK
K3ZhciBDID0gY2xhc3MgeworICBzdGF0aWMgYXN5bmMgI21ldGhvZCh4KSB7CisgICAgcmV0dXJu
IGFzeW5jIGZ1bmN0aW9uKCkgeyByZXR1cm4geDsgfTsKKyAgfQorICBzdGF0aWMgYXN5bmMgbWV0
aG9kKHgpIHsKKyAgICByZXR1cm4gdGhpcy4jbWV0aG9kKHgpOworICB9Cit9CisvLyBTdG9yZXMg
YSByZWZlcmVuY2UgYGFzeW5jRm5gIGZvciBjYXNlIGV2YWx1YXRpb24KK2xldCBhc3luY0ZuID0g
Qy5tZXRob2QuYmluZChDKTsKKworYXN5bmNGbigxKS50aGVuKHJldEZuID0+IHsKKyAgY291bnQr
KzsKKyAgcmV0dXJuIHJldEZuKCk7Cit9KS50aGVuKHJlc3VsdCA9PiB7CisgIGFzc2VydC5zYW1l
VmFsdWUocmVzdWx0LCAxKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwgMSk7Cit9KS50aGVu
KCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC9hd2FpdC1h
cy1iaW5kaW5nLWlkZW50aWZpZXItZXNjYXBlZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL2F3
YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci1lc2NhcGVkLmpzCmluZGV4IGVkZmZiNmIyOTE3ZWFi
NzU1OTZmMTc5MTYwNGViNzVjZWQ4MDljNjUuLmU3MjY5MTY4NjNiOGExMWM3ZjY4ZWNhMzg3Njdi
OTg0NGUwNWQ0MjkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL2F3YWl0LWFzLWJp
bmRpbmctaWRlbnRpZmllci1lc2NhcGVkLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL2F3
YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci1lc2NhcGVkLmpzCkBAIC0zMSw2ICszMSw4IEBAIGlu
Zm86IHwKICRET05PVEVWQUxVQVRFKCk7CiAKIAotdmFyIEMgPSBjbGFzcyB7IGFzeW5jICNtZXRo
b2QoKSB7Cit2YXIgQyA9IGNsYXNzIHsKKyAgYXN5bmMgI21ldGhvZCgpIHsKICAgICB2YXIgXHUw
MDYxd2FpdDsKLX19OworICB9Cit9OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qv
YXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2QvYXdh
aXQtYXMtYmluZGluZy1pZGVudGlmaWVyLmpzCmluZGV4IGQyNmRjOThjZjIzODY3NDg3MjQ4ZWY2
ZmJjOThjZGI5YmI0YjJmOGUuLmEzMzVjYjEwYTEwYmE2YzYwYjI3NDgwMGUzNzRkNjE4YzI0ZGJh
YWMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL2F3YWl0LWFzLWJpbmRpbmctaWRl
bnRpZmllci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC9hd2FpdC1hcy1iaW5kaW5nLWlk
ZW50aWZpZXIuanMKQEAgLTMxLDYgKzMxLDggQEAgaW5mbzogfAogJERPTk9URVZBTFVBVEUoKTsK
IAogCi12YXIgQyA9IGNsYXNzIHsgYXN5bmMgI21ldGhvZCgpIHsKK3ZhciBDID0gY2xhc3Mgewor
ICBhc3luYyAjbWV0aG9kKCkgewogICAgIHZhciBhd2FpdDsKLX19OworICB9Cit9OwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxl
bWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2QvYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2Ut
ZXNjYXBlZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL2F3YWl0LWFzLWlkZW50aWZpZXItcmVm
ZXJlbmNlLWVzY2FwZWQuanMKaW5kZXggMTRkM2ZmNmVlZjI1YzkyYmUxMTc1N2M4ZDE0MWFhMDky
YTU0ZDlmNy4uYjc2YTYzN2E4Njg0NDUxMjJkOGQ5ZDcxNzIzMzVkOTIzNmViMmE3OSAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxl
bWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2QvYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2Ut
ZXNjYXBlZC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC9hd2FpdC1hcy1pZGVudGlmaWVy
LXJlZmVyZW5jZS1lc2NhcGVkLmpzCkBAIC0zMSw2ICszMSw4IEBAIGluZm86IHwKICRET05PVEVW
QUxVQVRFKCk7CiAKIAotdmFyIEMgPSBjbGFzcyB7IGFzeW5jICNtZXRob2QoKSB7Cit2YXIgQyA9
IGNsYXNzIHsKKyAgYXN5bmMgI21ldGhvZCgpIHsKICAgICB2b2lkIFx1MDA2MXdhaXQ7Ci19fTsK
KyAgfQorfTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL2F3YWl0LWFzLWlkZW50
aWZpZXItcmVmZXJlbmNlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2QvYXdhaXQtYXMtaWRlbnRp
Zmllci1yZWZlcmVuY2UuanMKaW5kZXggNzFjYjI3YzkyNTZjMjZkNGE1ZmVhMWIzOTQwYTk1OWMx
NzI2MzVmMC4uMDM5MGI0OThjMTZhNzQ5ZmVlY2JiZjUyOGExNWIzZDUxNjg0NzlkNSAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxl
bWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2QvYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2Uu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
ZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2QvYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVu
Y2UuanMKQEAgLTMxLDYgKzMxLDggQEAgaW5mbzogfAogJERPTk9URVZBTFVBVEUoKTsKIAogCi12
YXIgQyA9IGNsYXNzIHsgYXN5bmMgI21ldGhvZCgpIHsKK3ZhciBDID0gY2xhc3MgeworICBhc3lu
YyAjbWV0aG9kKCkgewogICAgIHZvaWQgYXdhaXQ7Ci19fTsKKyAgfQorfTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRz
L2FzeW5jLXByaXZhdGUtbWV0aG9kL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXItZXNjYXBlZC5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1l
bnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXItZXNjYXBl
ZC5qcwppbmRleCBhZjJmMzhiZmQ3ZmJjZDNjZWVmYjgwYjY2OTUzMjY0N2IwOTVlYjEwLi5kZjY2
NGVkODY3ZjA5ODdlNTkxNzNiMDg0OTNiMzIxYjI4ZjgxZGFlIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9hc3luYy1w
cml2YXRlLW1ldGhvZC9hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLWVzY2FwZWQuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMv
YXN5bmMtcHJpdmF0ZS1tZXRob2QvYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci1lc2NhcGVkLmpz
CkBAIC0zMSw2ICszMSw4IEBAIGluZm86IHwKICRET05PVEVWQUxVQVRFKCk7CiAKIAotdmFyIEMg
PSBjbGFzcyB7IGFzeW5jICNtZXRob2QoKSB7Cit2YXIgQyA9IGNsYXNzIHsKKyAgYXN5bmMgI21l
dGhvZCgpIHsKICAgICBcdTAwNjF3YWl0OiA7Ci19fTsKKyAgfQorfTsKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2Fz
eW5jLXByaXZhdGUtbWV0aG9kL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXIuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9hc3luYy1w
cml2YXRlLW1ldGhvZC9hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLmpzCmluZGV4IDA5YzdhYzll
YjczMTA3YjQzYmMzZjg1MWJmNDFjYzhlMmFkNTI2MTQuLmY3NmZjZjhmNmRhOWZiMDNiYzQ5NWYx
Y2QwZTkyM2VmZDhjYTIzYmUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL2F3YWl0
LWFzLWxhYmVsLWlkZW50aWZpZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2QvYXdhaXQt
YXMtbGFiZWwtaWRlbnRpZmllci5qcwpAQCAtMzEsNiArMzEsOCBAQCBpbmZvOiB8CiAkRE9OT1RF
VkFMVUFURSgpOwogCiAKLXZhciBDID0gY2xhc3MgeyBhc3luYyAjbWV0aG9kKCkgewordmFyIEMg
PSBjbGFzcyB7CisgIGFzeW5jICNtZXRob2QoKSB7CiAgICAgYXdhaXQ6IDsKLX19OworICB9Cit9
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2QvcmV0dXJucy1hc3luYy1hcnJvdy1y
ZXR1cm5zLWFyZ3VtZW50cy1mcm9tLXBhcmVudC1mdW5jdGlvbi5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUt
bWV0aG9kL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1hcmd1bWVudHMtZnJvbS1wYXJlbnQt
ZnVuY3Rpb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2FlYWJiNzg1Nzk1NzYxNDU4YmFjMmJiNTczNjNhMDEy
ZTRiMTIwYQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL3JldHVybnMt
YXN5bmMtYXJyb3ctcmV0dXJucy1hcmd1bWVudHMtZnJvbS1wYXJlbnQtZnVuY3Rpb24uanMKQEAg
LTAsMCArMSw0NCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZy
b20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25zL3JldHVy
bnMtYXN5bmMtYXJyb3ctcmV0dXJucy1hcmd1bWVudHMtZnJvbS1wYXJlbnQtZnVuY3Rpb24uY2Fz
ZQorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25zL2V2YWx1YXRpb24vYXN5bmMtY2xhc3MtZXhwci1w
cml2YXRlLW1ldGhvZC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBc3luYyBmdW5jdGlv
biByZXR1cm5zIGFuIGFzeW5jIGZ1bmN0aW9uLiAoQXN5bmMgcHJpdmF0ZSBtZXRob2QgYXMgYSBD
bGFzc0V4cHJlc3Npb24gZWxlbWVudCkKK2VzaWQ6IHByb2QtQXN5bmNNZXRob2QKK2ZlYXR1cmVz
OiBbYXN5bmMtZnVuY3Rpb25zLCBjbGFzcy1tZXRob2RzLXByaXZhdGVdCitmbGFnczogW2dlbmVy
YXRlZCwgYXN5bmNdCitpbmZvOiB8CisgICAgQ2xhc3NFbGVtZW50IDoKKyAgICAgIFByaXZhdGVN
ZXRob2REZWZpbml0aW9uCisKKyAgICBNZXRob2REZWZpbml0aW9uIDoKKyAgICAgIEFzeW5jTWV0
aG9kCisKKyAgICBBc3luYyBGdW5jdGlvbiBEZWZpbml0aW9ucworCisgICAgQXN5bmNNZXRob2Qg
OgorICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdICMgUHJvcGVydHlOYW1lICgg
VW5pcXVlRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQorCistLS0qLwor
bGV0IGNvdW50ID0gMDsKKworCit2YXIgQyA9IGNsYXNzIHsKKyAgYXN5bmMgI21ldGhvZCh4KSB7
CisgICAgbGV0IGEgPSBhcmd1bWVudHM7CisgICAgICByZXR1cm4gYXN5bmMgKCkgPT4gYSA9PT0g
YXJndW1lbnRzOworICB9CisgIGFzeW5jIG1ldGhvZCh4KSB7CisgICAgcmV0dXJuIHRoaXMuI21l
dGhvZCh4KTsKKyAgfQorfTsKKy8vIFN0b3JlcyBhIHJlZmVyZW5jZSBgYXN5bmNGbmAgZm9yIGNh
c2UgZXZhbHVhdGlvbgorbGV0IGMgPSBuZXcgQygpOworbGV0IGFzeW5jRm4gPSBjLm1ldGhvZC5i
aW5kKGMpOworCithc3luY0ZuKCkudGhlbihyZXRGbiA9PiB7CisgIGNvdW50Kys7CisgIHJldHVy
biByZXRGbigpOworfSkudGhlbihyZXN1bHQgPT4geworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3Vs
dCwgdHJ1ZSk7CisgIGFzc2VydC5zYW1lVmFsdWUoY291bnQsIDEpOworfSkudGhlbigkRE9ORSwg
JERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2QvcmV0dXJucy1hc3luYy1h
cnJvdy1yZXR1cm5zLW5ld3RhcmdldC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL3JldHVybnMt
YXN5bmMtYXJyb3ctcmV0dXJucy1uZXd0YXJnZXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmRjZTU0NjExMDZi
MTIzNDE2NDZkOTk3MTMwODM0NGJiMWY4NDNkNgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXBy
aXZhdGUtbWV0aG9kL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1uZXd0YXJnZXQuanMKQEAg
LTAsMCArMSw0MyBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZy
b20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25zL3JldHVy
bnMtYXN5bmMtYXJyb3ctcmV0dXJucy1uZXd0YXJnZXQuY2FzZQorLy8gLSBzcmMvYXN5bmMtZnVu
Y3Rpb25zL2V2YWx1YXRpb24vYXN5bmMtY2xhc3MtZXhwci1wcml2YXRlLW1ldGhvZC50ZW1wbGF0
ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBc3luYyBmdW5jdGlvbiByZXR1cm5zIGFuIGFzeW5jIGZ1
bmN0aW9uLiAoQXN5bmMgcHJpdmF0ZSBtZXRob2QgYXMgYSBDbGFzc0V4cHJlc3Npb24gZWxlbWVu
dCkKK2VzaWQ6IHByb2QtQXN5bmNNZXRob2QKK2ZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zLCBj
bGFzcy1tZXRob2RzLXByaXZhdGVdCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmZvOiB8
CisgICAgQ2xhc3NFbGVtZW50IDoKKyAgICAgIFByaXZhdGVNZXRob2REZWZpbml0aW9uCisKKyAg
ICBNZXRob2REZWZpbml0aW9uIDoKKyAgICAgIEFzeW5jTWV0aG9kCisKKyAgICBBc3luYyBGdW5j
dGlvbiBEZWZpbml0aW9ucworCisgICAgQXN5bmNNZXRob2QgOgorICAgICAgYXN5bmMgW25vIExp
bmVUZXJtaW5hdG9yIGhlcmVdICMgUHJvcGVydHlOYW1lICggVW5pcXVlRm9ybWFsUGFyYW1ldGVy
cyApIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQorCistLS0qLworbGV0IGNvdW50ID0gMDsKKworCit2
YXIgQyA9IGNsYXNzIHsKKyAgYXN5bmMgI21ldGhvZCh4KSB7CisgICAgcmV0dXJuIGFzeW5jICgp
ID0+IG5ldy50YXJnZXQ7CisgIH0KKyAgYXN5bmMgbWV0aG9kKHgpIHsKKyAgICByZXR1cm4gdGhp
cy4jbWV0aG9kKHgpOworICB9Cit9OworLy8gU3RvcmVzIGEgcmVmZXJlbmNlIGBhc3luY0ZuYCBm
b3IgY2FzZSBldmFsdWF0aW9uCitsZXQgYyA9IG5ldyBDKCk7CitsZXQgYXN5bmNGbiA9IGMubWV0
aG9kLmJpbmQoYyk7CisKK2FzeW5jRm4oKS50aGVuKHJldEZuID0+IHsKKyAgY291bnQrKzsKKyAg
cmV0dXJuIHJldEZuKCk7Cit9KS50aGVuKHJlc3VsdCA9PiB7CisgIGFzc2VydC5zYW1lVmFsdWUo
cmVzdWx0LCB1bmRlZmluZWQpOworICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxKTsKK30pLnRo
ZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL3JldHVy
bnMtYXN5bmMtYXJyb3cuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC9yZXR1cm5zLWFzeW5jLWFy
cm93LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmE1ODJmNGY2MWM5NDBhMDE5YWFmOWQ5MzA3ZjdkYmQ5MmNmZWZl
MDUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC9yZXR1cm5zLWFzeW5j
LWFycm93LmpzCkBAIC0wLDAgKzEsNDMgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5
IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2FzeW5jLWZ1
bmN0aW9ucy9yZXR1cm5zLWFzeW5jLWFycm93LmNhc2UKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9u
cy9ldmFsdWF0aW9uL2FzeW5jLWNsYXNzLWV4cHItcHJpdmF0ZS1tZXRob2QudGVtcGxhdGUKKy8q
LS0tCitkZXNjcmlwdGlvbjogQXN5bmMgZnVuY3Rpb24gcmV0dXJucyBhbiBhc3luYyBmdW5jdGlv
bi4gKEFzeW5jIHByaXZhdGUgbWV0aG9kIGFzIGEgQ2xhc3NFeHByZXNzaW9uIGVsZW1lbnQpCitl
c2lkOiBwcm9kLUFzeW5jTWV0aG9kCitmZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9ucywgY2xhc3Mt
bWV0aG9kcy1wcml2YXRlXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIGFzeW5jXQoraW5mbzogfAorICAg
IENsYXNzRWxlbWVudCA6CisgICAgICBQcml2YXRlTWV0aG9kRGVmaW5pdGlvbgorCisgICAgTWV0
aG9kRGVmaW5pdGlvbiA6CisgICAgICBBc3luY01ldGhvZAorCisgICAgQXN5bmMgRnVuY3Rpb24g
RGVmaW5pdGlvbnMKKworICAgIEFzeW5jTWV0aG9kIDoKKyAgICAgIGFzeW5jIFtubyBMaW5lVGVy
bWluYXRvciBoZXJlXSAjIFByb3BlcnR5TmFtZSAoIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMgKSB7
IEFzeW5jRnVuY3Rpb25Cb2R5IH0KKworLS0tKi8KK2xldCBjb3VudCA9IDA7CisKKwordmFyIEMg
PSBjbGFzcyB7CisgIGFzeW5jICNtZXRob2QoeCkgeworICAgIHJldHVybiBhc3luYyAoKSA9PiB4
OworICB9CisgIGFzeW5jIG1ldGhvZCh4KSB7CisgICAgcmV0dXJuIHRoaXMuI21ldGhvZCh4KTsK
KyAgfQorfTsKKy8vIFN0b3JlcyBhIHJlZmVyZW5jZSBgYXN5bmNGbmAgZm9yIGNhc2UgZXZhbHVh
dGlvbgorbGV0IGMgPSBuZXcgQygpOworbGV0IGFzeW5jRm4gPSBjLm1ldGhvZC5iaW5kKGMpOwor
Cithc3luY0ZuKDEpLnRoZW4ocmV0Rm4gPT4geworICBjb3VudCsrOworICByZXR1cm4gcmV0Rm4o
KTsKK30pLnRoZW4ocmVzdWx0ID0+IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEpOwor
ICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxKTsKK30pLnRoZW4oJERPTkUsICRET05FKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNz
L2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL3JldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0
dXJucy1hcmd1bWVudHMtZnJvbS1vd24tZnVuY3Rpb24uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhv
ZC9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLXJldHVybnMtYXJndW1lbnRzLWZyb20tb3duLWZ1bmN0
aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5MTQxYmU2ZWQ2OTgxYjMxYTUwM2JiZDhlOTA1NTkxNzA0OTcy
OTIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC9yZXR1cm5zLWFzeW5j
LWZ1bmN0aW9uLXJldHVybnMtYXJndW1lbnRzLWZyb20tb3duLWZ1bmN0aW9uLmpzCkBAIC0wLDAg
KzEsNDQgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRo
ZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9yZXR1cm5zLWFz
eW5jLWZ1bmN0aW9uLXJldHVybnMtYXJndW1lbnRzLWZyb20tb3duLWZ1bmN0aW9uLmNhc2UKKy8v
IC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9ldmFsdWF0aW9uL2FzeW5jLWNsYXNzLWV4cHItcHJpdmF0
ZS1tZXRob2QudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXN5bmMgZnVuY3Rpb24gcmV0
dXJucyBhbiBhc3luYyBmdW5jdGlvbi4gKEFzeW5jIHByaXZhdGUgbWV0aG9kIGFzIGEgQ2xhc3NF
eHByZXNzaW9uIGVsZW1lbnQpCitlc2lkOiBwcm9kLUFzeW5jTWV0aG9kCitmZWF0dXJlczogW2Fz
eW5jLWZ1bmN0aW9ucywgY2xhc3MtbWV0aG9kcy1wcml2YXRlXQorZmxhZ3M6IFtnZW5lcmF0ZWQs
IGFzeW5jXQoraW5mbzogfAorICAgIENsYXNzRWxlbWVudCA6CisgICAgICBQcml2YXRlTWV0aG9k
RGVmaW5pdGlvbgorCisgICAgTWV0aG9kRGVmaW5pdGlvbiA6CisgICAgICBBc3luY01ldGhvZAor
CisgICAgQXN5bmMgRnVuY3Rpb24gRGVmaW5pdGlvbnMKKworICAgIEFzeW5jTWV0aG9kIDoKKyAg
ICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSAjIFByb3BlcnR5TmFtZSAoIFVuaXF1
ZUZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVuY3Rpb25Cb2R5IH0KKworLS0tKi8KK2xldCBj
b3VudCA9IDA7CisKKwordmFyIEMgPSBjbGFzcyB7CisgIGFzeW5jICNtZXRob2QoeCkgeworICAg
IGxldCBhID0gYXJndW1lbnRzOworICAgICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uKCkgeyByZXR1
cm4gYSA9PT0gYXJndW1lbnRzOyB9OworICB9CisgIGFzeW5jIG1ldGhvZCh4KSB7CisgICAgcmV0
dXJuIHRoaXMuI21ldGhvZCh4KTsKKyAgfQorfTsKKy8vIFN0b3JlcyBhIHJlZmVyZW5jZSBgYXN5
bmNGbmAgZm9yIGNhc2UgZXZhbHVhdGlvbgorbGV0IGMgPSBuZXcgQygpOworbGV0IGFzeW5jRm4g
PSBjLm1ldGhvZC5iaW5kKGMpOworCithc3luY0ZuKDEpLnRoZW4ocmV0Rm4gPT4geworICBjb3Vu
dCsrOworICByZXR1cm4gcmV0Rm4oKTsKK30pLnRoZW4ocmVzdWx0ID0+IHsKKyAgYXNzZXJ0LnNh
bWVWYWx1ZShyZXN1bHQsIGZhbHNlKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwgMSk7Cit9
KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC9y
ZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLXJldHVybnMtbmV3dGFyZ2V0LmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0
ZS1tZXRob2QvcmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1cm5zLW5ld3RhcmdldC5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iOTExZDhhMWM1MzVjZDU1ZTQ0OWYxMTBkNTA3NWZjYmY4YTdjYzc3Ci0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2QvcmV0dXJucy1hc3luYy1mdW5jdGlvbi1y
ZXR1cm5zLW5ld3RhcmdldC5qcwpAQCAtMCwwICsxLDQzIEBACisvLyBUaGlzIGZpbGUgd2FzIHBy
b2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNy
Yy9hc3luYy1mdW5jdGlvbnMvcmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1cm5zLW5ld3Rhcmdl
dC5jYXNlCisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvZXZhbHVhdGlvbi9hc3luYy1jbGFzcy1l
eHByLXByaXZhdGUtbWV0aG9kLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFzeW5jIGZ1
bmN0aW9uIHJldHVybnMgYW4gYXN5bmMgZnVuY3Rpb24uIChBc3luYyBwcml2YXRlIG1ldGhvZCBh
cyBhIENsYXNzRXhwcmVzc2lvbiBlbGVtZW50KQorZXNpZDogcHJvZC1Bc3luY01ldGhvZAorZmVh
dHVyZXM6IFthc3luYy1mdW5jdGlvbnMsIGNsYXNzLW1ldGhvZHMtcHJpdmF0ZV0KK2ZsYWdzOiBb
Z2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICBDbGFzc0VsZW1lbnQgOgorICAgICAgUHJp
dmF0ZU1ldGhvZERlZmluaXRpb24KKworICAgIE1ldGhvZERlZmluaXRpb24gOgorICAgICAgQXN5
bmNNZXRob2QKKworICAgIEFzeW5jIEZ1bmN0aW9uIERlZmluaXRpb25zCisKKyAgICBBc3luY01l
dGhvZCA6CisgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gIyBQcm9wZXJ0eU5h
bWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CisKKy0t
LSovCitsZXQgY291bnQgPSAwOworCisKK3ZhciBDID0gY2xhc3MgeworICBhc3luYyAjbWV0aG9k
KHgpIHsKKyAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24oKSB7IHJldHVybiBuZXcudGFyZ2V0OyB9
OworICB9CisgIGFzeW5jIG1ldGhvZCh4KSB7CisgICAgcmV0dXJuIHRoaXMuI21ldGhvZCh4KTsK
KyAgfQorfTsKKy8vIFN0b3JlcyBhIHJlZmVyZW5jZSBgYXN5bmNGbmAgZm9yIGNhc2UgZXZhbHVh
dGlvbgorbGV0IGMgPSBuZXcgQygpOworbGV0IGFzeW5jRm4gPSBjLm1ldGhvZC5iaW5kKGMpOwor
Cithc3luY0ZuKDEpLnRoZW4ocmV0Rm4gPT4geworICBjb3VudCsrOworICByZXR1cm4gcmV0Rm4o
KTsKK30pLnRoZW4ocmVzdWx0ID0+IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIHVuZGVm
aW5lZCk7CisgIGFzc2VydC5zYW1lVmFsdWUoY291bnQsIDEpOworfSkudGhlbigkRE9ORSwgJERP
TkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2QvcmV0dXJucy1hc3luYy1mdW5j
dGlvbi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNz
L2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL3JldHVybnMtYXN5bmMtZnVuY3Rpb24uanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNzM2ZmEwNzk4NzhjNGQ4ZmM0OTE4MjQxMzQ4OTE1YjllMDg2NjRlZAotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL3JldHVybnMtYXN5bmMtZnVuY3Rp
b24uanMKQEAgLTAsMCArMSw0MyBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2Vu
ZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvYXN5bmMtZnVuY3Rp
b25zL3JldHVybnMtYXN5bmMtZnVuY3Rpb24uY2FzZQorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25z
L2V2YWx1YXRpb24vYXN5bmMtY2xhc3MtZXhwci1wcml2YXRlLW1ldGhvZC50ZW1wbGF0ZQorLyot
LS0KK2Rlc2NyaXB0aW9uOiBBc3luYyBmdW5jdGlvbiByZXR1cm5zIGFuIGFzeW5jIGZ1bmN0aW9u
LiAoQXN5bmMgcHJpdmF0ZSBtZXRob2QgYXMgYSBDbGFzc0V4cHJlc3Npb24gZWxlbWVudCkKK2Vz
aWQ6IHByb2QtQXN5bmNNZXRob2QKK2ZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zLCBjbGFzcy1t
ZXRob2RzLXByaXZhdGVdCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmZvOiB8CisgICAg
Q2xhc3NFbGVtZW50IDoKKyAgICAgIFByaXZhdGVNZXRob2REZWZpbml0aW9uCisKKyAgICBNZXRo
b2REZWZpbml0aW9uIDoKKyAgICAgIEFzeW5jTWV0aG9kCisKKyAgICBBc3luYyBGdW5jdGlvbiBE
ZWZpbml0aW9ucworCisgICAgQXN5bmNNZXRob2QgOgorICAgICAgYXN5bmMgW25vIExpbmVUZXJt
aW5hdG9yIGhlcmVdICMgUHJvcGVydHlOYW1lICggVW5pcXVlRm9ybWFsUGFyYW1ldGVycyApIHsg
QXN5bmNGdW5jdGlvbkJvZHkgfQorCistLS0qLworbGV0IGNvdW50ID0gMDsKKworCit2YXIgQyA9
IGNsYXNzIHsKKyAgYXN5bmMgI21ldGhvZCh4KSB7CisgICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9u
KCkgeyByZXR1cm4geDsgfTsKKyAgfQorICBhc3luYyBtZXRob2QoeCkgeworICAgIHJldHVybiB0
aGlzLiNtZXRob2QoeCk7CisgIH0KK307CisvLyBTdG9yZXMgYSByZWZlcmVuY2UgYGFzeW5jRm5g
IGZvciBjYXNlIGV2YWx1YXRpb24KK2xldCBjID0gbmV3IEMoKTsKK2xldCBhc3luY0ZuID0gYy5t
ZXRob2QuYmluZChjKTsKKworYXN5bmNGbigxKS50aGVuKHJldEZuID0+IHsKKyAgY291bnQrKzsK
KyAgcmV0dXJuIHJldEZuKCk7Cit9KS50aGVuKHJlc3VsdCA9PiB7CisgIGFzc2VydC5zYW1lVmFs
dWUocmVzdWx0LCAxKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwgMSk7Cit9KS50aGVuKCRE
T05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1l
bnRzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
ZWxlbWVudHMvZGlyZWN0LWV2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5qcwppbmRleCBiNjAx
ODljODUyYTVhOTVkZTU1YWZhYWE5ODE4M2Q3NDdjN2Y1ODlmLi41MzNkNzcxMDVhY2MxZjNjNTZm
ZjVlZmQzM2JjNDdhYjBkNDM4NzRlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9kaXJlY3QtZXZhbC1lcnItY29udGFp
bnMtYXJndW1lbnRzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2VsZW1lbnRzL2RpcmVjdC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVudHMu
anMKQEAgLTEsNiArMSw2IEBACiAvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0
ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CiAvLyAtIHNyYy9jbGFzcy1lbGVtZW50cy9l
dmFsLWVyci1jb250YWlucy1hcmd1bWVudHMuY2FzZQotLy8gLSBzcmMvY2xhc3MtZWxlbWVudHMv
aW5pdGlhbGl6ZXItZXZhbC1hcmd1bWVudHMvY2xzLWV4cHItZmllbGRzLWV2YWwudGVtcGxhdGUK
Ky8vIC0gc3JjL2NsYXNzLWVsZW1lbnRzL2luaXRpYWxpemVyLWRpcmVjdC1ldmFsLWFyZ3VtZW50
cy9jbHMtZXhwci1maWVsZHMtZXZhbC50ZW1wbGF0ZQogLyotLS0KIGRlc2NyaXB0aW9uOiBlcnJv
ciBpZiBgYXJndW1lbnRzYCBpbiBTdGF0ZW1lbnRMaXN0IG9mIGV2YWwgKGRpcmVjdCBldmFsKQog
ZXNpZDogc2VjLXBlcmZvcm1ldmFsLXJ1bGVzLWluLWluaXRpYWxpemVyCmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9p
bmRpcmVjdC1ldmFsLWNvbnRhaW5zLWFyZ3VtZW50cy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL2luZGlyZWN0LWV2YWwtY29udGFp
bnMtYXJndW1lbnRzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE0ZGM3ZGQ4ZDdhMmE3YTIzZDkxMTMyMGU1YTlh
M2M5OTRiY2RhZjMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9pbmRpcmVjdC1ldmFsLWNvbnRhaW5zLWFy
Z3VtZW50cy5qcwpAQCAtMCwwICsxLDIyIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxs
eSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9jbGFzcy1l
bGVtZW50cy9ldmFsLWNvbnRhaW5zLWFyZ3VtZW50cy5jYXNlCisvLyAtIHNyYy9jbGFzcy1lbGVt
ZW50cy9pbml0aWFsaXplci1pbmRpcmVjdC1ldmFsLWFyZ3VtZW50cy9jbHMtZXhwci1maWVsZHMt
aW5kaXJlY3QtZXZhbC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBObyBlcnJvciBpZiBg
YXJndW1lbnRzYCBpbiBTdGF0ZW1lbnRMaXN0IG9mIGV2YWwgKGluZGlyZWN0IGV2YWwpCitlc2lk
OiBzZWMtcGVyZm9ybWV2YWwtcnVsZXMtaW4taW5pdGlhbGl6ZXIKK2ZlYXR1cmVzOiBbY2xhc3Ms
IGNsYXNzLWZpZWxkcy1wdWJsaWNdCitmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCitpbmZv
OiB8CisgICAgRm9yIGluZGlyZWN0IGV2YWwsIHRoZSAiQWRkaXRpb25hbCBFYXJseSBFcnJvciBS
dWxlcyBmb3IgRXZhbCBJbnNpZGUgSW5pdGlhbGl6ZXIiCisgICAgKGluICNzZWMtcGVyZm9ybWV2
YWwtcnVsZXMtaW4taW5pdGlhbGl6ZXIpIGFyZSBOT1QgYXBwbGljYWJsZS4KKworLS0tKi8KKwor
Cit2YXIgYXJndW1lbnRzID0gMTsKK3ZhciBleGVjdXRlZCA9IGZhbHNlOwordmFyIEMgPSBjbGFz
cyB7CisgIHggPSAoMCwgZXZhbCkoJ2FyZ3VtZW50czsnKTsKK30KKworYXNzZXJ0LnNhbWVWYWx1
ZShuZXcgQygpLngsIGFyZ3VtZW50cyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9pbmRpcmVjdC1ldmFsLWVyci1j
b250YWlucy1hcmd1bWVudHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9pbmRpcmVjdC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVu
dHMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0NTM2ZGEwOTk0YTMxNGJhNzdm
MjM1Njg5NWFiMGI3MDI3OWQ0ZDQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xh
c3MvZWxlbWVudHMvaW5kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmpzCisrKyAv
ZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkg
Z2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgotLy8gLSBzcmMvY2xhc3MtZWxl
bWVudHMvZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmNhc2UKLS8vIC0gc3JjL2NsYXNzLWVs
ZW1lbnRzL2luaXRpYWxpemVyLWV2YWwtYXJndW1lbnRzL2Nscy1leHByLWZpZWxkcy1pbmRpcmVj
dC1ldmFsLnRlbXBsYXRlCi0vKi0tLQotZGVzY3JpcHRpb246IGVycm9yIGlmIGBhcmd1bWVudHNg
IGluIFN0YXRlbWVudExpc3Qgb2YgZXZhbCAoaW5kaXJlY3QgZXZhbCkKLWVzaWQ6IHNlYy1wZXJm
b3JtZXZhbC1ydWxlcy1pbi1pbml0aWFsaXplcgotZmVhdHVyZXM6IFtjbGFzcywgY2xhc3MtZmll
bGRzLXB1YmxpY10KLWZsYWdzOiBbZ2VuZXJhdGVkXQotaW5mbzogfAotICAgIEFkZGl0aW9uYWwg
RWFybHkgRXJyb3IgUnVsZXMgZm9yIEV2YWwgSW5zaWRlIEluaXRpYWxpemVyCi0gICAgVGhlc2Ug
c3RhdGljIHNlbWFudGljcyBhcmUgYXBwbGllZCBieSBQZXJmb3JtRXZhbCB3aGVuIGEgZGlyZWN0
IGV2YWwgY2FsbCBvY2N1cnMgaW5zaWRlIGEgY2xhc3MgZmllbGQgaW5pdGlhbGl6ZXIuCi0gICAg
U2NyaXB0Qm9keSA6IFN0YXRlbWVudExpc3QKLQotICAgICAgSXQgaXMgYSBTeW50YXggRXJyb3Ig
aWYgQ29udGFpbnNBcmd1bWVudHMgb2YgU3RhdGVtZW50TGlzdCBpcyB0cnVlLgotICAgICAgLi4u
Ci0KLSAgICBTdGF0aWMgU2VtYW50aWNzOiBDb250YWluc0FyZ3VtZW50cwotICAgICAgSWRlbnRp
ZmllclJlZmVyZW5jZSA6IElkZW50aWZpZXIKLQotICAgICAgMS4gSWYgdGhlIFN0cmluZ1ZhbHVl
IG9mIElkZW50aWZpZXIgaXMgImFyZ3VtZW50cyIsIHJldHVybiB0cnVlLgotICAgICAgLi4uCi0g
ICAgICBGb3IgYWxsIG90aGVyIGdyYW1tYXRpY2FsIHByb2R1Y3Rpb25zLCByZWN1cnNlIG9uIGFs
bCBub250ZXJtaW5hbHMuIElmIGFueSBwaWVjZSByZXR1cm5zIHRydWUsIHRoZW4gcmV0dXJuIHRy
dWUuIE90aGVyd2lzZSByZXR1cm4gZmFsc2UuCi0KLS0tLSovCi0KLQotdmFyIGV4ZWN1dGVkID0g
ZmFsc2U7Ci12YXIgQyA9IGNsYXNzIHsKLSAgeCA9ICgwLCBldmFsKSgnZXhlY3V0ZWQgPSB0cnVl
OyBhcmd1bWVudHM7Jyk7Ci19Ci0KLWFzc2VydC50aHJvd3MoUmVmZXJlbmNlRXJyb3IsIGZ1bmN0
aW9uKCkgewotICBuZXcgQygpOwotfSk7Ci0KLWFzc2VydC5zYW1lVmFsdWUoZXhlY3V0ZWQsIHRy
dWUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvZWxlbWVudHMvbmVzdGVkLWRpcmVjdC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVu
dHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9l
bGVtZW50cy9uZXN0ZWQtZGlyZWN0LWV2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5qcwppbmRl
eCA2ODZjNWFlZmEyNGNlNjMxYWU2MWQ2ODhiYzRkODVjMmQ4NGRlOTQ4Li4yYTdkZTYwZTE1NWMz
YzhiNDVjNThmNzdjNWZiZTg4ZTI1NThlYzBkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9uZXN0ZWQtZGlyZWN0LWV2
YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9uZXN0ZWQtZGlyZWN0LWV2YWwtZXJy
LWNvbnRhaW5zLWFyZ3VtZW50cy5qcwpAQCAtMSw2ICsxLDYgQEAKIC8vIFRoaXMgZmlsZSB3YXMg
cHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKIC8vIC0g
c3JjL2NsYXNzLWVsZW1lbnRzL2V2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5jYXNlCi0vLyAt
IHNyYy9jbGFzcy1lbGVtZW50cy9pbml0aWFsaXplci1ldmFsLWFyZ3VtZW50cy9jbHMtZXhwci1m
aWVsZHMtZXZhbC1uZXN0ZWQudGVtcGxhdGUKKy8vIC0gc3JjL2NsYXNzLWVsZW1lbnRzL2luaXRp
YWxpemVyLWRpcmVjdC1ldmFsLWFyZ3VtZW50cy9jbHMtZXhwci1maWVsZHMtZXZhbC1uZXN0ZWQu
dGVtcGxhdGUKIC8qLS0tCiBkZXNjcmlwdGlvbjogZXJyb3IgaWYgYGFyZ3VtZW50c2AgaW4gU3Rh
dGVtZW50TGlzdCBvZiBldmFsIChkaXJlY3QgZXZhbCkKIGVzaWQ6IHNlYy1wZXJmb3JtZXZhbC1y
dWxlcy1pbi1pbml0aWFsaXplcgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvbmVzdGVkLWluZGlyZWN0LWV2YWwtY29u
dGFpbnMtYXJndW1lbnRzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvZWxlbWVudHMvbmVzdGVkLWluZGlyZWN0LWV2YWwtY29udGFpbnMtYXJndW1l
bnRzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQ1ZjExMDZjMDA5MGRkNmVlY2NjYmJiNjc3NzRjNGU4YzBmNjkw
YjQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9uZXN0ZWQtaW5kaXJlY3QtZXZhbC1jb250YWlucy1hcmd1
bWVudHMuanMKQEAgLTAsMCArMSwyMSBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkg
Z2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvY2xhc3MtZWxl
bWVudHMvZXZhbC1jb250YWlucy1hcmd1bWVudHMuY2FzZQorLy8gLSBzcmMvY2xhc3MtZWxlbWVu
dHMvaW5pdGlhbGl6ZXItaW5kaXJlY3QtZXZhbC1hcmd1bWVudHMvY2xzLWV4cHItZmllbGRzLWlu
ZGlyZWN0LWV2YWwtbmVzdGVkLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IE5vIGVycm9y
IGlmIGBhcmd1bWVudHNgIGluIFN0YXRlbWVudExpc3Qgb2YgZXZhbCAoaW5kaXJlY3QgZXZhbCkK
K2VzaWQ6IHNlYy1wZXJmb3JtZXZhbC1ydWxlcy1pbi1pbml0aWFsaXplcgorZmVhdHVyZXM6IFtj
bGFzcywgY2xhc3MtZmllbGRzLXB1YmxpY10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdF0K
K2luZm86IHwKKyAgICBGb3IgaW5kaXJlY3QgZXZhbCwgdGhlICJBZGRpdGlvbmFsIEVhcmx5IEVy
cm9yIFJ1bGVzIGZvciBFdmFsIEluc2lkZSBJbml0aWFsaXplciIKKyAgICAoaW4gI3NlYy1wZXJm
b3JtZXZhbC1ydWxlcy1pbi1pbml0aWFsaXplcikgYXJlIE5PVCBhcHBsaWNhYmxlLgorCistLS0q
LworCisKK3ZhciBhcmd1bWVudHMgPSAxOwordmFyIEMgPSBjbGFzcyB7CisgIHggPSAoKSA9PiAo
MCwgZXZhbCkoJ2FyZ3VtZW50czsnKTsKK30KKworYXNzZXJ0LnNhbWVWYWx1ZShuZXcgQygpLngo
KSwgYXJndW1lbnRzKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL25lc3RlZC1pbmRpcmVjdC1ldmFsLWVyci1jb250
YWlucy1hcmd1bWVudHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9lbGVtZW50cy9uZXN0ZWQtaW5kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJn
dW1lbnRzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNDg1ZDFlMDBmMTZhZTk5
ZGRiODBlZDk3YjRmNWJmN2YzMDJiNjQ0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL2VsZW1lbnRzL25lc3RlZC1pbmRpcmVjdC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVu
dHMuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi0vLyBUaGlzIGZpbGUgd2FzIHBy
b2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6Ci0vLyAtIHNy
Yy9jbGFzcy1lbGVtZW50cy9ldmFsLWVyci1jb250YWlucy1hcmd1bWVudHMuY2FzZQotLy8gLSBz
cmMvY2xhc3MtZWxlbWVudHMvaW5pdGlhbGl6ZXItZXZhbC1hcmd1bWVudHMvY2xzLWV4cHItZmll
bGRzLWluZGlyZWN0LWV2YWwtbmVzdGVkLnRlbXBsYXRlCi0vKi0tLQotZGVzY3JpcHRpb246IGVy
cm9yIGlmIGBhcmd1bWVudHNgIGluIFN0YXRlbWVudExpc3Qgb2YgZXZhbCAoaW5kaXJlY3QgZXZh
bCkKLWVzaWQ6IHNlYy1wZXJmb3JtZXZhbC1ydWxlcy1pbi1pbml0aWFsaXplcgotZmVhdHVyZXM6
IFtjbGFzcywgY2xhc3MtZmllbGRzLXB1YmxpY10KLWZsYWdzOiBbZ2VuZXJhdGVkXQotaW5mbzog
fAotICAgIEFkZGl0aW9uYWwgRWFybHkgRXJyb3IgUnVsZXMgZm9yIEV2YWwgSW5zaWRlIEluaXRp
YWxpemVyCi0gICAgVGhlc2Ugc3RhdGljIHNlbWFudGljcyBhcmUgYXBwbGllZCBieSBQZXJmb3Jt
RXZhbCB3aGVuIGEgZGlyZWN0IGV2YWwgY2FsbCBvY2N1cnMgaW5zaWRlIGEgY2xhc3MgZmllbGQg
aW5pdGlhbGl6ZXIuCi0gICAgU2NyaXB0Qm9keSA6IFN0YXRlbWVudExpc3QKLQotICAgICAgSXQg
aXMgYSBTeW50YXggRXJyb3IgaWYgQ29udGFpbnNBcmd1bWVudHMgb2YgU3RhdGVtZW50TGlzdCBp
cyB0cnVlLgotICAgICAgLi4uCi0KLSAgICBTdGF0aWMgU2VtYW50aWNzOiBDb250YWluc0FyZ3Vt
ZW50cwotICAgICAgSWRlbnRpZmllclJlZmVyZW5jZSA6IElkZW50aWZpZXIKLQotICAgICAgMS4g
SWYgdGhlIFN0cmluZ1ZhbHVlIG9mIElkZW50aWZpZXIgaXMgImFyZ3VtZW50cyIsIHJldHVybiB0
cnVlLgotICAgICAgLi4uCi0gICAgICBGb3IgYWxsIG90aGVyIGdyYW1tYXRpY2FsIHByb2R1Y3Rp
b25zLCByZWN1cnNlIG9uIGFsbCBub250ZXJtaW5hbHMuIElmIGFueSBwaWVjZSByZXR1cm5zIHRy
dWUsIHRoZW4gcmV0dXJuIHRydWUuIE90aGVyd2lzZSByZXR1cm4gZmFsc2UuCi0KLS0tLSovCi0K
LQotdmFyIGV4ZWN1dGVkID0gZmFsc2U7Ci12YXIgQyA9IGNsYXNzIHsKLSAgeCA9ICgpID0+ICgw
LCBldmFsKSgnZXhlY3V0ZWQgPSB0cnVlOyBhcmd1bWVudHM7Jyk7Ci19Ci0KLWFzc2VydC50aHJv
d3MoUmVmZXJlbmNlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBuZXcgQygpLngoKTsKLX0pOwotCi1h
c3NlcnQuc2FtZVZhbHVlKGV4ZWN1dGVkLCB0cnVlKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL25lc3RlZC1wcml2
YXRlLWRpcmVjdC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVudHMuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9uZXN0ZWQtcHJpdmF0
ZS1kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmpzCmluZGV4IDQyYThiOTdlOGQx
M2IyNDU3ODY3NzU2ZTNkYjc5NTVhOWQ4OGNiZjguLjEyM2QxNWNkMjFhY2IyMjIyZjVkNDY5N2Mx
MjY5NmNlY2M2NjZhYTAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL25lc3RlZC1wcml2YXRlLWRpcmVjdC1ldmFsLWVy
ci1jb250YWlucy1hcmd1bWVudHMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvbmVzdGVkLXByaXZhdGUtZGlyZWN0LWV2YWwt
ZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5qcwpAQCAtMSw2ICsxLDYgQEAKIC8vIFRoaXMgZmlsZSB3
YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKIC8v
IC0gc3JjL2NsYXNzLWVsZW1lbnRzL2V2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5jYXNlCi0v
LyAtIHNyYy9jbGFzcy1lbGVtZW50cy9pbml0aWFsaXplci1ldmFsLWFyZ3VtZW50cy9jbHMtZXhw
ci1wcml2YXRlLWZpZWxkcy1ldmFsLW5lc3RlZC50ZW1wbGF0ZQorLy8gLSBzcmMvY2xhc3MtZWxl
bWVudHMvaW5pdGlhbGl6ZXItZGlyZWN0LWV2YWwtYXJndW1lbnRzL2Nscy1leHByLXByaXZhdGUt
ZmllbGRzLWV2YWwtbmVzdGVkLnRlbXBsYXRlCiAvKi0tLQogZGVzY3JpcHRpb246IGVycm9yIGlm
IGBhcmd1bWVudHNgIGluIFN0YXRlbWVudExpc3Qgb2YgZXZhbCAoZGlyZWN0IGV2YWwpCiBlc2lk
OiBzZWMtcGVyZm9ybWV2YWwtcnVsZXMtaW4taW5pdGlhbGl6ZXIKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL25lc3Rl
ZC1wcml2YXRlLWluZGlyZWN0LWV2YWwtY29udGFpbnMtYXJndW1lbnRzLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvbmVzdGVkLXBy
aXZhdGUtaW5kaXJlY3QtZXZhbC1jb250YWlucy1hcmd1bWVudHMuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTM3
N2M0MDM4MTQzNzIxMGRiYWQyN2IxOTMxMWFiMDlhYzhkYmRhYgotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRz
L25lc3RlZC1wcml2YXRlLWluZGlyZWN0LWV2YWwtY29udGFpbnMtYXJndW1lbnRzLmpzCkBAIC0w
LDAgKzEsMjQgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9t
IHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2NsYXNzLWVsZW1lbnRzL2V2YWwtY29u
dGFpbnMtYXJndW1lbnRzLmNhc2UKKy8vIC0gc3JjL2NsYXNzLWVsZW1lbnRzL2luaXRpYWxpemVy
LWluZGlyZWN0LWV2YWwtYXJndW1lbnRzL2Nscy1leHByLXByaXZhdGUtZmllbGRzLWluZGlyZWN0
LWV2YWwtbmVzdGVkLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IE5vIGVycm9yIGlmIGBh
cmd1bWVudHNgIGluIFN0YXRlbWVudExpc3Qgb2YgZXZhbCAoaW5kaXJlY3QgZXZhbCkKK2VzaWQ6
IHNlYy1wZXJmb3JtZXZhbC1ydWxlcy1pbi1pbml0aWFsaXplcgorZmVhdHVyZXM6IFtjbGFzcywg
Y2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3MtZmllbGRzLXByaXZhdGVdCitmbGFnczogW2dlbmVy
YXRlZCwgbm9TdHJpY3RdCitpbmZvOiB8CisgICAgRm9yIGluZGlyZWN0IGV2YWwsIHRoZSAiQWRk
aXRpb25hbCBFYXJseSBFcnJvciBSdWxlcyBmb3IgRXZhbCBJbnNpZGUgSW5pdGlhbGl6ZXIiCisg
ICAgKGluICNzZWMtcGVyZm9ybWV2YWwtcnVsZXMtaW4taW5pdGlhbGl6ZXIpIGFyZSBOT1QgYXBw
bGljYWJsZS4KKworLS0tKi8KKworCit2YXIgYXJndW1lbnRzID0gMTsKK3ZhciBDID0gY2xhc3Mg
eworICAjeCA9ICgpID0+ICgwLCBldmFsKSgnYXJndW1lbnRzOycpOworICB4KCkgeworICAgIHJl
dHVybiB0aGlzLiN4KCk7CisgIH0KK30KKworYXNzZXJ0LnNhbWVWYWx1ZShuZXcgQygpLngoKSwg
YXJndW1lbnRzKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL25lc3RlZC1wcml2YXRlLWluZGlyZWN0LWV2YWwtZXJy
LWNvbnRhaW5zLWFyZ3VtZW50cy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL25lc3RlZC1wcml2YXRlLWluZGlyZWN0LWV2YWwtZXJy
LWNvbnRhaW5zLWFyZ3VtZW50cy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjRl
ODVkNjg1NjM3ODAyY2I5ODVmZjU4YzMxZTE1NTg1NzM1MDZiZC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9uZXN0ZWQtcHJpdmF0ZS1pbmRpcmVjdC1ldmFs
LWVyci1jb250YWlucy1hcmd1bWVudHMuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBA
Ci0vLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93
aW5nIHNvdXJjZXM6Ci0vLyAtIHNyYy9jbGFzcy1lbGVtZW50cy9ldmFsLWVyci1jb250YWlucy1h
cmd1bWVudHMuY2FzZQotLy8gLSBzcmMvY2xhc3MtZWxlbWVudHMvaW5pdGlhbGl6ZXItZXZhbC1h
cmd1bWVudHMvY2xzLWV4cHItcHJpdmF0ZS1maWVsZHMtaW5kaXJlY3QtZXZhbC1uZXN0ZWQudGVt
cGxhdGUKLS8qLS0tCi1kZXNjcmlwdGlvbjogZXJyb3IgaWYgYGFyZ3VtZW50c2AgaW4gU3RhdGVt
ZW50TGlzdCBvZiBldmFsIChpbmRpcmVjdCBldmFsKQotZXNpZDogc2VjLXBlcmZvcm1ldmFsLXJ1
bGVzLWluLWluaXRpYWxpemVyCi1mZWF0dXJlczogW2NsYXNzLCBjbGFzcy1maWVsZHMtcHVibGlj
LCBjbGFzcy1maWVsZHMtcHJpdmF0ZV0KLWZsYWdzOiBbZ2VuZXJhdGVkXQotaW5mbzogfAotICAg
IEFkZGl0aW9uYWwgRWFybHkgRXJyb3IgUnVsZXMgZm9yIEV2YWwgSW5zaWRlIEluaXRpYWxpemVy
Ci0gICAgVGhlc2Ugc3RhdGljIHNlbWFudGljcyBhcmUgYXBwbGllZCBieSBQZXJmb3JtRXZhbCB3
aGVuIGEgZGlyZWN0IGV2YWwgY2FsbCBvY2N1cnMgaW5zaWRlIGEgY2xhc3MgZmllbGQgaW5pdGlh
bGl6ZXIuCi0gICAgU2NyaXB0Qm9keSA6IFN0YXRlbWVudExpc3QKLQotICAgICAgSXQgaXMgYSBT
eW50YXggRXJyb3IgaWYgQ29udGFpbnNBcmd1bWVudHMgb2YgU3RhdGVtZW50TGlzdCBpcyB0cnVl
LgotICAgICAgLi4uCi0KLSAgICBTdGF0aWMgU2VtYW50aWNzOiBDb250YWluc0FyZ3VtZW50cwot
ICAgICAgSWRlbnRpZmllclJlZmVyZW5jZSA6IElkZW50aWZpZXIKLQotICAgICAgMS4gSWYgdGhl
IFN0cmluZ1ZhbHVlIG9mIElkZW50aWZpZXIgaXMgImFyZ3VtZW50cyIsIHJldHVybiB0cnVlLgot
ICAgICAgLi4uCi0gICAgICBGb3IgYWxsIG90aGVyIGdyYW1tYXRpY2FsIHByb2R1Y3Rpb25zLCBy
ZWN1cnNlIG9uIGFsbCBub250ZXJtaW5hbHMuIElmIGFueSBwaWVjZSByZXR1cm5zIHRydWUsIHRo
ZW4gcmV0dXJuIHRydWUuIE90aGVyd2lzZSByZXR1cm4gZmFsc2UuCi0KLS0tLSovCi0KLQotdmFy
IGV4ZWN1dGVkID0gZmFsc2U7Ci12YXIgQyA9IGNsYXNzIHsKLSAgI3ggPSAoKSA9PiAoMCwgZXZh
bCkoJ2V4ZWN1dGVkID0gdHJ1ZTsgYXJndW1lbnRzOycpOwotICB4KCkgewotICAgIHRoaXMuI3go
KTsKLSAgfQotfQotCi1hc3NlcnQudGhyb3dzKFJlZmVyZW5jZUVycm9yLCBmdW5jdGlvbigpIHsK
LSAgbmV3IEMoKS54KCk7Ci19KTsKLQotYXNzZXJ0LnNhbWVWYWx1ZShleGVjdXRlZCwgdHJ1ZSk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9lbGVtZW50cy9wcml2YXRlLWRpcmVjdC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVudHMu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVt
ZW50cy9wcml2YXRlLWRpcmVjdC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVudHMuanMKaW5kZXgg
OGJjZTQyMmM5ZjYzMDQzM2RhOTFhMDA3ZWVkYWVkZTgwMmRjMDdmOS4uZDE3MTQzMDM3NGZhN2I2
MjQ0MGM2YmFiODQxYmEzNTNlM2M4YmNjNSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvcHJpdmF0ZS1kaXJlY3QtZXZh
bC1lcnItY29udGFpbnMtYXJndW1lbnRzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2VsZW1lbnRzL3ByaXZhdGUtZGlyZWN0LWV2YWwtZXJy
LWNvbnRhaW5zLWFyZ3VtZW50cy5qcwpAQCAtMSw2ICsxLDYgQEAKIC8vIFRoaXMgZmlsZSB3YXMg
cHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKIC8vIC0g
c3JjL2NsYXNzLWVsZW1lbnRzL2V2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5jYXNlCi0vLyAt
IHNyYy9jbGFzcy1lbGVtZW50cy9pbml0aWFsaXplci1ldmFsLWFyZ3VtZW50cy9jbHMtZXhwci1w
cml2YXRlLWZpZWxkcy1ldmFsLnRlbXBsYXRlCisvLyAtIHNyYy9jbGFzcy1lbGVtZW50cy9pbml0
aWFsaXplci1kaXJlY3QtZXZhbC1hcmd1bWVudHMvY2xzLWV4cHItcHJpdmF0ZS1maWVsZHMtZXZh
bC50ZW1wbGF0ZQogLyotLS0KIGRlc2NyaXB0aW9uOiBlcnJvciBpZiBgYXJndW1lbnRzYCBpbiBT
dGF0ZW1lbnRMaXN0IG9mIGV2YWwgKGRpcmVjdCBldmFsKQogZXNpZDogc2VjLXBlcmZvcm1ldmFs
LXJ1bGVzLWluLWluaXRpYWxpemVyCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9wcml2YXRlLWluZGlyZWN0LWV2YWwt
Y29udGFpbnMtYXJndW1lbnRzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvcHJpdmF0ZS1pbmRpcmVjdC1ldmFsLWNvbnRhaW5zLWFy
Z3VtZW50cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODA1YmJjNzFjOTFjZDE4MGQ3ZDNjMDExMjlhNTM1NTZm
ODMyMTM5Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvcHJpdmF0ZS1pbmRpcmVjdC1ldmFsLWNvbnRhaW5z
LWFyZ3VtZW50cy5qcwpAQCAtMCwwICsxLDI0IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVy
YWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9jbGFz
cy1lbGVtZW50cy9ldmFsLWNvbnRhaW5zLWFyZ3VtZW50cy5jYXNlCisvLyAtIHNyYy9jbGFzcy1l
bGVtZW50cy9pbml0aWFsaXplci1pbmRpcmVjdC1ldmFsLWFyZ3VtZW50cy9jbHMtZXhwci1wcml2
YXRlLWZpZWxkcy1pbmRpcmVjdC1ldmFsLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IE5v
IGVycm9yIGlmIGBhcmd1bWVudHNgIGluIFN0YXRlbWVudExpc3Qgb2YgZXZhbCAoaW5kaXJlY3Qg
ZXZhbCkKK2VzaWQ6IHNlYy1wZXJmb3JtZXZhbC1ydWxlcy1pbi1pbml0aWFsaXplcgorZmVhdHVy
ZXM6IFtjbGFzcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3MtZmllbGRzLXByaXZhdGVdCitm
bGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCitpbmZvOiB8CisgICAgRm9yIGluZGlyZWN0IGV2
YWwsIHRoZSAiQWRkaXRpb25hbCBFYXJseSBFcnJvciBSdWxlcyBmb3IgRXZhbCBJbnNpZGUgSW5p
dGlhbGl6ZXIiCisgICAgKGluICNzZWMtcGVyZm9ybWV2YWwtcnVsZXMtaW4taW5pdGlhbGl6ZXIp
IGFyZSBOT1QgYXBwbGljYWJsZS4KKworLS0tKi8KKworCit2YXIgYXJndW1lbnRzID0gMTsKK3Zh
ciBDID0gY2xhc3MgeworICAjeCA9ICgwLCBldmFsKSgnYXJndW1lbnRzOycpOworICB4KCkgewor
ICAgIHJldHVybiB0aGlzLiN4OworICB9Cit9CisKK2Fzc2VydC5zYW1lVmFsdWUobmV3IEMoKS54
KCksIGFyZ3VtZW50cyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9lbGVtZW50cy9wcml2YXRlLWluZGlyZWN0LWV2YWwtZXJyLWNv
bnRhaW5zLWFyZ3VtZW50cy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL2VsZW1lbnRzL3ByaXZhdGUtaW5kaXJlY3QtZXZhbC1lcnItY29udGFpbnMt
YXJndW1lbnRzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZDE4MDI4NjM1MzJl
MzcyZTIwN2RmNmM2Mjc2ZWVhYTYwZTdiMzA2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NsYXNzL2VsZW1lbnRzL3ByaXZhdGUtaW5kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJn
dW1lbnRzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotLy8gVGhpcyBmaWxlIHdh
cyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgotLy8g
LSBzcmMvY2xhc3MtZWxlbWVudHMvZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmNhc2UKLS8v
IC0gc3JjL2NsYXNzLWVsZW1lbnRzL2luaXRpYWxpemVyLWV2YWwtYXJndW1lbnRzL2Nscy1leHBy
LXByaXZhdGUtZmllbGRzLWluZGlyZWN0LWV2YWwudGVtcGxhdGUKLS8qLS0tCi1kZXNjcmlwdGlv
bjogZXJyb3IgaWYgYGFyZ3VtZW50c2AgaW4gU3RhdGVtZW50TGlzdCBvZiBldmFsIChpbmRpcmVj
dCBldmFsKQotZXNpZDogc2VjLXBlcmZvcm1ldmFsLXJ1bGVzLWluLWluaXRpYWxpemVyCi1mZWF0
dXJlczogW2NsYXNzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1maWVsZHMtcHJpdmF0ZV0K
LWZsYWdzOiBbZ2VuZXJhdGVkXQotaW5mbzogfAotICAgIEFkZGl0aW9uYWwgRWFybHkgRXJyb3Ig
UnVsZXMgZm9yIEV2YWwgSW5zaWRlIEluaXRpYWxpemVyCi0gICAgVGhlc2Ugc3RhdGljIHNlbWFu
dGljcyBhcmUgYXBwbGllZCBieSBQZXJmb3JtRXZhbCB3aGVuIGEgZGlyZWN0IGV2YWwgY2FsbCBv
Y2N1cnMgaW5zaWRlIGEgY2xhc3MgZmllbGQgaW5pdGlhbGl6ZXIuCi0gICAgU2NyaXB0Qm9keSA6
IFN0YXRlbWVudExpc3QKLQotICAgICAgSXQgaXMgYSBTeW50YXggRXJyb3IgaWYgQ29udGFpbnNB
cmd1bWVudHMgb2YgU3RhdGVtZW50TGlzdCBpcyB0cnVlLgotICAgICAgLi4uCi0KLSAgICBTdGF0
aWMgU2VtYW50aWNzOiBDb250YWluc0FyZ3VtZW50cwotICAgICAgSWRlbnRpZmllclJlZmVyZW5j
ZSA6IElkZW50aWZpZXIKLQotICAgICAgMS4gSWYgdGhlIFN0cmluZ1ZhbHVlIG9mIElkZW50aWZp
ZXIgaXMgImFyZ3VtZW50cyIsIHJldHVybiB0cnVlLgotICAgICAgLi4uCi0gICAgICBGb3IgYWxs
IG90aGVyIGdyYW1tYXRpY2FsIHByb2R1Y3Rpb25zLCByZWN1cnNlIG9uIGFsbCBub250ZXJtaW5h
bHMuIElmIGFueSBwaWVjZSByZXR1cm5zIHRydWUsIHRoZW4gcmV0dXJuIHRydWUuIE90aGVyd2lz
ZSByZXR1cm4gZmFsc2UuCi0KLS0tLSovCi0KLQotdmFyIGV4ZWN1dGVkID0gZmFsc2U7Ci12YXIg
QyA9IGNsYXNzIHsKLSAgI3ggPSAoMCwgZXZhbCkoJ2V4ZWN1dGVkID0gdHJ1ZTsgYXJndW1lbnRz
OycpOwotfQotCi1hc3NlcnQudGhyb3dzKFJlZmVyZW5jZUVycm9yLCBmdW5jdGlvbigpIHsKLSAg
bmV3IEMoKTsKLX0pOwotCi1hc3NlcnQuc2FtZVZhbHVlKGV4ZWN1dGVkLCB0cnVlKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2dl
bi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWV4cHItZ2VuLW1ldGgtc3RhdGlj
LWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2dlbi1tZXRob2Qtc3RhdGlj
L2ZvcmJpZGRlbi1leHQvYjEvY2xzLWV4cHItZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQt
ZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwppbmRleCA2MmM5YzE0OWVmMjIzYjA1NDQz
OGVkM2VmNTE5ZDE5ZDM1MjYwNjBjLi5kYzU5ZmQ1Y2Y4MWVmZjMwNTk0Mzc3NzI1OWJjMzBhZjQz
ZmMwZjliIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9nZW4tbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLWdl
bi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
Z2VuLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZXhwci1nZW4tbWV0aC1zdGF0
aWMtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCkBAIC0yLDI3
ICsyLDM0IEBACiAvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWRpcmVjdC1h
Y2Nlc3MtcHJvcC1hcmd1bWVudHMuY2FzZQogLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlk
ZGVuLWV4dGVuc2lvbnMvYnVsbGV0LW9uZS9jbHMtZXhwci1nZW4tbWV0aC1zdGF0aWMudGVtcGxh
dGUKIC8qLS0tCi1kZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5hcmd1bWVudHMg
KHN0YXRpYyBjbGFzcyBleHByZXNzaW9uIGdlbmVyYXRvciBtZXRob2QpCitkZXNjcmlwdGlvbjog
Rm9yYmlkZGVuIGV4dGVuc2lvbiwgZi5hcmd1bWVudHMgKHN0YXRpYyBjbGFzcyBleHByZXNzaW9u
IGdlbmVyYXRvciBtZXRob2QpCiBlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1z
ZW1hbnRpY3MtZXZhbHVhdGlvbgotZmVhdHVyZXM6IFtnZW5lcmF0b3JzXQorZmVhdHVyZXM6IFtj
bGFzcywgZ2VuZXJhdG9yc10KIGZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdF0KIGluZm86IHwK
ICAgICBDbGFzc0V4cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllcm9wdCBDbGFzc1Rh
aWwKIAogCi0gICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgc3lu
dGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3Qgbm90IGJlIGNyZWF0
ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4gU3Vj
aCBvd24gcHJvcGVydGllcyBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9i
amVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLCBH
ZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNHZW5lcmF0b3JE
ZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLCBDbGFzc0RlY2xhcmF0aW9uLCBD
bGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNGdW5jdGlvbkV4
cHJlc3Npb24sIG9yIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhl
IGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuIEJ1aWx0LWluIGZ1
bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25z
dHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBHZW5lcmF0b3Ig
Y29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBBc3luY0Z1bmN0
aW9uIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0
aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duIHByb3BlcnRpZXMuCisg
ICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgc3ludGFjdGljIGNv
bnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3QKKyAgICBub3QgYmUgY3JlYXRlZCB3
aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93
biBwcm9wZXJ0aWVzIGFsc28KKyAgICBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBv
YmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwK
KyAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNHZW5l
cmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLAorICAgIENsYXNzRGVj
bGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3lu
Y0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IKKyAgICBBc3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVz
cyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBj
b2RlLgorICAgIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVz
aW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucworICAgIGNy
ZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNy
ZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24KKyAgICBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0
aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0
ZWQgd2l0aCBzdWNoIG93bgorICAgIHByb3BlcnRpZXMuCiAKIC0tLSovCiAKIHZhciBjYWxsQ291
bnQgPSAwOwogdmFyIEMgPSBjbGFzcyB7CiAgIHN0YXRpYyAqbWV0aG9kKCkgewotICAgIHRoaXMu
bWV0aG9kLmFyZ3VtZW50czsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHRoaXMubWV0aG9kLmhhc093
blByb3BlcnR5KCJhcmd1bWVudHMiKSwgZmFsc2UpOwogICAgIGNhbGxDb3VudCsrOwogICB9CiB9
OwogCi1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gIEMubWV0aG9kKCku
bmV4dCgpOwotfSk7Ci1hc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ21ldGhvZCBib2R5
IG5vdCBldmFsdWF0ZWQnKTsKK0MubWV0aG9kKCkubmV4dCgpOworYXNzZXJ0LnNhbWVWYWx1ZShj
YWxsQ291bnQsIDEsICdtZXRob2QgYm9keSBldmFsdWF0ZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2dlbi1tZXRob2Qtc3Rh
dGljL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWV4cHItZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1l
eHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2dlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQv
YjEvY2xzLWV4cHItZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1w
cm9wLWNhbGxlci5qcwppbmRleCA4M2JjZDUyYTIyZmQxYzQ4ZTkzYzc2N2E1MDQxYjM2MDI2MjJh
YjMyLi5hMWJkNmQxODFjNWRiM2U5ZTVkMWNhYmE1NzBjMDY3ODY2ZGQ4ZTU5IDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9nZW4tbWV0
aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLWdlbi1tZXRoLXN0YXRpYy1mb3Ji
aWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZ2VuLW1ldGhvZC1zdGF0aWMvZm9y
YmlkZGVuLWV4dC9iMS9jbHMtZXhwci1nZW4tbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1kaXJl
Y3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCkBAIC00LDI1ICs0LDMyIEBACiAvKi0tLQogZGVzY3Jp
cHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVyIChzdGF0aWMgY2xhc3MgZXhwcmVz
c2lvbiBnZW5lcmF0b3IgbWV0aG9kKQogZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRp
bWUtc2VtYW50aWNzLWV2YWx1YXRpb24KLWZlYXR1cmVzOiBbZ2VuZXJhdG9yc10KK2ZlYXR1cmVz
OiBbY2xhc3MsIGdlbmVyYXRvcnNdCiBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCiBpbmZv
OiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xh
c3NUYWlsCiAKIAotICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5n
IHN5bnRhY3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0IG5vdCBiZSBj
cmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIu
IFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5jdGlv
biBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlv
biwgR2VuZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2VuZXJh
dG9yRGVjbGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwgQ2xhc3NEZWNsYXJhdGlv
biwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rp
b25FeHByZXNzaW9uLCBvciBBc3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVy
IHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLiBCdWlsdC1p
biBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rpb24g
Y29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJh
dG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNG
dW5jdGlvbiBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5k
IG1ldGhvZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93biBwcm9wZXJ0aWVz
LgorICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3Rp
YyBjb25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0CisgICAgbm90IGJlIGNyZWF0
ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4gU3Vj
aCBvd24gcHJvcGVydGllcyBhbHNvCisgICAgbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rp
b24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRp
b24sCisgICAgR2VuZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5j
R2VuZXJhdG9yRGVjbGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwKKyAgICBDbGFz
c0RlY2xhcmF0aW9uLCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwg
QXN5bmNGdW5jdGlvbkV4cHJlc3Npb24sIG9yCisgICAgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2Fy
ZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1v
ZGUgY29kZS4KKyAgICBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRl
ZCB1c2luZyB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMKKyAg
ICBjcmVhdGVkIHVzaW5nIHRoZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9u
cyBjcmVhdGVkIHVzaW5nIHRoZSBBc3luY0Z1bmN0aW9uCisgICAgY29uc3RydWN0b3IsIGFuZCBm
dW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBj
cmVhdGVkIHdpdGggc3VjaCBvd24KKyAgICBwcm9wZXJ0aWVzLgogCiAtLS0qLwogCiB2YXIgY2Fs
bENvdW50ID0gMDsKIHZhciBDID0gY2xhc3MgewogICBzdGF0aWMgKm1ldGhvZCgpIHsKLSAgICB0
aGlzLm1ldGhvZC5jYWxsZXI7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh0aGlzLm1ldGhvZC5oYXNP
d25Qcm9wZXJ0eSgiY2FsbGVyIiksIGZhbHNlKTsKICAgICBjYWxsQ291bnQrKzsKICAgfQogfTsK
IAotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBDLm1ldGhvZCgpLm5l
eHQoKTsKLX0pOwotYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdtZXRob2QgYm9keSBu
b3QgZXZhbHVhdGVkJyk7CitDLm1ldGhvZCgpLm5leHQoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2Fs
bENvdW50LCAxLCAnbWV0aG9kIGJvZHkgZXZhbHVhdGVkJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9nZW4tbWV0aG9kLXN0YXRp
Yy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1leHByLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0
LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZ2VuLW1ldGhvZC1zdGF0aWMvZm9yYmlk
ZGVuLWV4dC9iMi9jbHMtZXhwci1nZW4tbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVj
dC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYTNlNmQzNTdlMzc2
MzA4ZWYyOGJlNjM2NTMzODhhMmJmZmE0MjhhCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZ2VuLW1ldGhvZC1zdGF0aWMv
Zm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1nZW4tbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1p
bmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcwpAQCAtMCwwICsxLDYxIEBACisv
LyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5n
IHNvdXJjZXM6CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWluZGlyZWN0
LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmNhc2UKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1z
L2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC10d28vY2xzLWV4cHItZ2VuLW1ldGgtc3RhdGlj
LnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2Fs
bGVyIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBnZW5lcmF0b3IgbWV0aG9kKQorZXNpZDogc2Vj
LWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVz
OiBbY2xhc3MsIGdlbmVyYXRvcnNdCitmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCitpbmZv
OiB8CisgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xh
c3NUYWlsCisKKworICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9u
IG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2YK
KyAgICB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3du
UHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24KKyAgICBvYmplY3QuIElm
IGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFs
dWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRdXQorICAgIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJl
dHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KKworLS0tKi8KK3ZhciBDQUxMRVJf
T1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7CitmdW5jdGlvbiBpbm5lcigp
IHsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBtYXkgZXhpc3QsIGJ1dCBpcyBmb3JiaWRkZW4gZnJvbSBo
YXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdAorICByZXR1cm4g
aW5uZXIuaGFzT3duUHJvcGVydHkoImNhbGxlciIpCisgICAgPyBpbm5lci5jYWxsZXIKKyAgICA6
IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Q7Cit9CisKK3ZhciBjYWxsQ291bnQg
PSAwOwordmFyIEMgPSBjbGFzcyB7CisgIHN0YXRpYyAqbWV0aG9kKCkgeworICAgIC8qIGltcGxp
Y2l0IHN0cmljdCAqLworICAgIC8vIFRoaXMgYW5kIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uYWwg
dmFsdWUgaXMgc2V0IGluIHRoZSB0ZXN0J3MgLmNhc2UgZmlsZS4KKyAgICAvLyBGb3IgZXZlcnkg
dGVzdCB0aGF0IGhhcyBhICJ0cnVlIiB2YWx1ZSBoZXJlLCB0aGVyZSBpcyBhCisgICAgLy8gY29y
cmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBoZXJlLgorICAgIC8vIFRo
ZXkgYXJlIGdlbmVyYXRlZCBmcm9tIHR3byBkaWZmZXJlbnQgY2FzZSBmaWxlcywgd2hpY2ggdXNl
CisgICAgbGV0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGlu
bmVyLCAiY2FsbGVyIik7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1
cmFibGUgJiYgdHJ1ZSkgeworICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2Fs
bGVyIiwge2dldCgpe3JldHVybiAxfX0pOworICAgIH0KKyAgICB2YXIgcmVzdWx0ID0gaW5uZXIo
KTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVl
KSB7CisgICAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMgdGVzdCBkZWZp
bmVkIGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rpb24sIHRoZW4g
aXQgc2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4gdGhlIHZhbHVlIGl0IHdh
cyBzZXQgdG8uJyk7CisgICAgfQorCisgICAgLy8gIkNBTExFUl9PV05fUFJPUEVSVFlfRE9FU19O
T1RfRVhJU1QiIGlzIGZyb20KKyAgICAvLyBmb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1w
cm9wLWNhbGxlci5jYXNlCisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJp
bm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAgIC8vIG5hbWVkICJjYWxsZXIiLCB0aGVuIGl0
cyB2YWx1ZSB3aWxsIGJlIHJldHVybmVkLgorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9u
IG9iamVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgICAvLyBvd24gcHJvcGVydHkgbmFt
ZWQgImNhbGxlciIsIHRoZW4gdGhlIHN5bWJvbAorICAgIC8vIENBTExFUl9PV05fUFJPUEVSVFlf
RE9FU19OT1RfRVhJU1Qgd2lsbCBiZSByZXR1cm5lZC4KKyAgICBpZiAocmVzdWx0ICE9PSBDQUxM
RVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgICBhc3NlcnQubm90U2FtZVZh
bHVlKHJlc3VsdCwgdGhpcy5tZXRob2QpOworICAgIH0KKyAgICBjYWxsQ291bnQrKzsKKyAgfQor
fTsKKworQy5tZXRob2QoKS5uZXh0KCk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwg
J21ldGhvZCBib2R5IGV2YWx1YXRlZCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZ2VuLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVu
LWV4dC9iMi9jbHMtZXhwci1nZW4tbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1h
Y2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZ2VuLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9i
Mi9jbHMtZXhwci1nZW4tbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mt
b3duLXByb3AtY2FsbGVyLXZhbHVlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1NWFjNjk2YjgwMDc2MjUzNzE3
NTM1YzM5NjdhMzVjY2IzNWZiNDAKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9nZW4tbWV0aG9kLXN0YXRpYy9mb3JiaWRk
ZW4tZXh0L2IyL2Nscy1leHByLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0
LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMKQEAgLTAsMCArMSw2MSBAQAorLy8gVGhp
cyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3Vy
Y2VzOgorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nl
c3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmNhc2UKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2Zv
cmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC10d28vY2xzLWV4cHItZ2VuLW1ldGgtc3RhdGljLnRl
bXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVy
IChzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBnZW5lcmF0b3IgbWV0aG9kKQorZXNpZDogc2VjLWNs
YXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBb
Y2xhc3MsIGdlbmVyYXRvcnNdCitmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCitpbmZvOiB8
CisgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xhc3NU
YWlsCisKKworICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9uIG9i
amVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2YKKyAg
ICB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJv
cGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24KKyAgICBvYmplY3QuIElmIGl0
IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUg
b2YgdGhlIHByb3BlcnR5J3MgW1tHZXRdXQorICAgIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVy
biBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KKworLS0tKi8KK3ZhciBDQUxMRVJfT1dO
X1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7CitmdW5jdGlvbiBpbm5lcigpIHsK
KyAgLy8gVGhpcyBwcm9wZXJ0eSBtYXkgZXhpc3QsIGJ1dCBpcyBmb3JiaWRkZW4gZnJvbSBoYXZp
bmcgYSB2YWx1ZSB0aGF0IGlzIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdAorICByZXR1cm4gaW5u
ZXIuaGFzT3duUHJvcGVydHkoImNhbGxlciIpCisgICAgPyBpbm5lci5jYWxsZXIKKyAgICA6IENB
TExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Q7Cit9CisKK3ZhciBjYWxsQ291bnQgPSAw
OwordmFyIEMgPSBjbGFzcyB7CisgIHN0YXRpYyAqbWV0aG9kKCkgeworICAgIC8qIGltcGxpY2l0
IHN0cmljdCAqLworICAgIC8vIFRoaXMgYW5kIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uYWwgdmFs
dWUgaXMgc2V0IGluIHRoZSB0ZXN0J3MgLmNhc2UgZmlsZS4KKyAgICAvLyBGb3IgZXZlcnkgdGVz
dCB0aGF0IGhhcyBhICJ0cnVlIiB2YWx1ZSBoZXJlLCB0aGVyZSBpcyBhCisgICAgLy8gY29ycmVz
cG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBoZXJlLgorICAgIC8vIFRoZXkg
YXJlIGdlbmVyYXRlZCBmcm9tIHR3byBkaWZmZXJlbnQgY2FzZSBmaWxlcywgd2hpY2ggdXNlCisg
ICAgbGV0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGlubmVy
LCAiY2FsbGVyIik7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFi
bGUgJiYgdHJ1ZSkgeworICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2FsbGVy
Iiwge3ZhbHVlOiAxfSk7CisgICAgfQorICAgIHZhciByZXN1bHQgPSBpbm5lcigpOworICAgIGlm
IChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICAg
IGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAxLCAnSWYgdGhpcyB0ZXN0IGRlZmluZWQgYW4gb3du
ICJjYWxsZXIiIHByb3BlcnR5IG9uIHRoZSBpbm5lciBmdW5jdGlvbiwgdGhlbiBpdCBzaG91bGQg
YmUgYWNjZXNzaWJsZSBhbmQgc2hvdWxkIHJldHVybiB0aGUgdmFsdWUgaXQgd2FzIHNldCB0by4n
KTsKKyAgICB9CisKKyAgICAvLyAiQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCIg
aXMgZnJvbQorICAgIC8vIGZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVy
LmNhc2UKKyAgICAvLworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBoYXMg
YW4gb3duIHByb3BlcnR5CisgICAgLy8gbmFtZWQgImNhbGxlciIsIHRoZW4gaXRzIHZhbHVlIHdp
bGwgYmUgcmV0dXJuZWQuCisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJp
bm5lciIgRE9FUyBOT1QgaGF2ZSBhbgorICAgIC8vIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVy
IiwgdGhlbiB0aGUgc3ltYm9sCisgICAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9F
WElTVCB3aWxsIGJlIHJldHVybmVkLgorICAgIGlmIChyZXN1bHQgIT09IENBTExFUl9PV05fUFJP
UEVSVFlfRE9FU19OT1RfRVhJU1QpIHsKKyAgICAgIGFzc2VydC5ub3RTYW1lVmFsdWUocmVzdWx0
LCB0aGlzLm1ldGhvZCk7CisgICAgfQorICAgIGNhbGxDb3VudCsrOworICB9Cit9OworCitDLm1l
dGhvZCgpLm5leHQoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGJv
ZHkgZXZhbHVhdGVkJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9jbGFzcy9nZW4tbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Ns
cy1leHByLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9w
LWNhbGxlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL2dlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItZ2VuLW1ldGgt
c3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCmluZGV4
IGE4MTc3YzJmY2NlMDM4OGJhNDE0YjBhOTc5OWFkZWI1MWFiZmNkOTkuLmE3N2U4NmU3OTgxNjE2
YmRjMmYyODIwMTc2NzY0YmVhM2Q0YjU1NTIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2dlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRl
bi1leHQvYjIvY2xzLWV4cHItZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3Qt
YWNjZXNzLXByb3AtY2FsbGVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL2dlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xz
LWV4cHItZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3At
Y2FsbGVyLmpzCkBAIC00LDMwICs0LDU4IEBACiAvKi0tLQogZGVzY3JpcHRpb246IEZvcmJpZGRl
biBleHRlbnNpb24sIG8uY2FsbGVyIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBnZW5lcmF0b3Ig
bWV0aG9kKQogZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2
YWx1YXRpb24KLWZlYXR1cmVzOiBbZ2VuZXJhdG9yc10KK2ZlYXR1cmVzOiBbY2xhc3MsIGdlbmVy
YXRvcnNdCiBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCiBpbmZvOiB8CiAgICAgQ2xhc3NF
eHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xhc3NUYWlsCiAKIAotICAg
IElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFu
IG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2YgdGhhdCBwcm9wZXJ0eSwg
YXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90
IGJlIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVy
dHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dl
dF1dIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNh
bGxlZC4KKyAgICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmpl
Y3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZhbHVlIG9mCisgICAg
dGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBbW0dldE93blByb3Bl
cnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9uCisgICAgb2JqZWN0LiBJZiBpdCBp
cyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9m
IHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAgICBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4g
YSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQuCiAKIC0tLSovCit2YXIgQ0FMTEVSX09XTl9Q
Uk9QRVJUWV9ET0VTX05PVF9FWElTVCA9IFN5bWJvbCgpOwogZnVuY3Rpb24gaW5uZXIoKSB7Ci0g
IC8vIFRoaXMgcHJvcGVydHkgaXMgZm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBp
cyBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0Ci0gIHJldHVybiBpbm5lci5jYWxsZXI7CisgIC8vIFRo
aXMgcHJvcGVydHkgbWF5IGV4aXN0LCBidXQgaXMgZm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFs
dWUgdGhhdCBpcyBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKKyAgcmV0dXJuIGlubmVyLmhhc093
blByb3BlcnR5KCJjYWxsZXIiKQorICAgID8gaW5uZXIuY2FsbGVyCisgICAgOiBDQUxMRVJfT1dO
X1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUOwogfQogCiB2YXIgY2FsbENvdW50ID0gMDsKIHZhciBD
ID0gY2xhc3MgewogICBzdGF0aWMgKm1ldGhvZCgpIHsKICAgICAvKiBpbXBsaWNpdCBzdHJpY3Qg
Ki8KLSAgICBpbm5lcigpLnRvU3RyaW5nKCk7CisgICAgLy8gVGhpcyBhbmQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRlc3QncyAuY2FzZSBmaWxlLgorICAg
IC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlz
IGEKKyAgICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhl
cmUuCisgICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdvIGRpZmZlcmVudCBjYXNlIGZp
bGVzLCB3aGljaCB1c2UKKyAgICBsZXQgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNj
cmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiBmYWxzZSkgeworICAgICAgT2JqZWN0LmRlZmluZVByb3Bl
cnR5KGlubmVyLCAiY2FsbGVyIiwge30pOworICAgIH0KKyAgICB2YXIgcmVzdWx0ID0gaW5uZXIo
KTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiBmYWxz
ZSkgeworICAgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVm
aW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkgb24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVu
IGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3
YXMgc2V0IHRvLicpOworICAgIH0KKworICAgIC8vICJDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNf
Tk9UX0VYSVNUIiBpcyBmcm9tCisgICAgLy8gZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mt
cHJvcC1jYWxsZXIuY2FzZQorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAi
aW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAgICAvLyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBp
dHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgICAvLworICAgIC8vIElmIHRoZSBmdW5jdGlv
biBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFuCisgICAgLy8gb3duIHByb3BlcnR5IG5h
bWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZ
X0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQuCisgICAgaWYgKHJlc3VsdCAhPT0gQ0FM
TEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkgeworICAgICAgYXNzZXJ0Lm5vdFNhbWVW
YWx1ZShyZXN1bHQsIHRoaXMubWV0aG9kKTsKKyAgICB9CiAgICAgY2FsbENvdW50Kys7CiAgIH0K
IH07CiAKLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgQy5tZXRob2Qo
KS5uZXh0KCk7Ci19KTsKLWFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAwLCAnbWV0aG9kIGJv
ZHkgbm90IGV2YWx1YXRlZCcpOworQy5tZXRob2QoKS5uZXh0KCk7Cithc3NlcnQuc2FtZVZhbHVl
KGNhbGxDb3VudCwgMSwgJ21ldGhvZCBib2R5IGV2YWx1YXRlZCcpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZ2VuLW1ldGhvZC9m
b3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFj
Y2Vzcy1wcm9wLWFyZ3VtZW50cy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL2NsYXNzL2dlbi1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZXhwci1nZW4t
bWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKaW5kZXgg
ODhiYjJkNmE0MmMwYTZiNGM1YjVmODU3ZTZhM2Y5NzdmZTdhMzIyYy4uNTllYTljYTYzNDA4Yzc4
NmVmMTY5Zjk0MWZlYjM4YTFmNDMwYjM2ZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZ2VuLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2Ix
L2Nscy1leHByLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3Vt
ZW50cy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWV4cHItZ2VuLW1ldGgtZm9yYmlk
ZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCkBAIC0yLDI3ICsyLDM0IEBA
CiAvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJv
cC1hcmd1bWVudHMuY2FzZQogLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dGVu
c2lvbnMvYnVsbGV0LW9uZS9jbHMtZXhwci1nZW4tbWV0aC50ZW1wbGF0ZQogLyotLS0KLWRlc2Ny
aXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmFyZ3VtZW50cyAoY2xhc3MgZXhwcmVzc2lv
biBtZXRob2QpCitkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgZi5hcmd1bWVudHMg
KGNsYXNzIGV4cHJlc3Npb24gbWV0aG9kKQogZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1
bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KLWZlYXR1cmVzOiBbZ2VuZXJhdG9yc10KK2ZlYXR1
cmVzOiBbY2xhc3MsIGdlbmVyYXRvcnNdCiBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCiBp
bmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQg
Q2xhc3NUYWlsCiAKIAotICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVz
aW5nIHN5bnRhY3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0IG5vdCBi
ZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50
cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5j
dGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5p
dGlvbiwgR2VuZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2Vu
ZXJhdG9yRGVjbGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwgQ2xhc3NEZWNsYXJh
dGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVu
Y3Rpb25FeHByZXNzaW9uLCBvciBBc3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0
aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLiBCdWls
dC1pbiBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rp
b24gY29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgR2Vu
ZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5
bmNGdW5jdGlvbiBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBi
aW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93biBwcm9wZXJ0
aWVzLgorICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRh
Y3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0CisgICAgbm90IGJlIGNy
ZWF0ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4g
U3VjaCBvd24gcHJvcGVydGllcyBhbHNvCisgICAgbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVu
Y3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmlu
aXRpb24sCisgICAgR2VuZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFz
eW5jR2VuZXJhdG9yRGVjbGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwKKyAgICBD
bGFzc0RlY2xhcmF0aW9uLCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlv
biwgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24sIG9yCisgICAgQXN5bmNBcnJvd0Z1bmN0aW9uIHJl
Z2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0
IG1vZGUgY29kZS4KKyAgICBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3Jl
YXRlZCB1c2luZyB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMK
KyAgICBjcmVhdGVkIHVzaW5nIHRoZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0
aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBBc3luY0Z1bmN0aW9uCisgICAgY29uc3RydWN0b3IsIGFu
ZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBi
ZSBjcmVhdGVkIHdpdGggc3VjaCBvd24KKyAgICBwcm9wZXJ0aWVzLgogCiAtLS0qLwogCiB2YXIg
Y2FsbENvdW50ID0gMDsKIHZhciBDID0gY2xhc3MgewogICAqbWV0aG9kKCkgewotICAgIHRoaXMu
bWV0aG9kLmFyZ3VtZW50czsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHRoaXMubWV0aG9kLmhhc093
blByb3BlcnR5KCJhcmd1bWVudHMiKSwgZmFsc2UpOwogICAgIGNhbGxDb3VudCsrOwogICB9CiB9
OwogCi1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gIEMucHJvdG90eXBl
Lm1ldGhvZCgpLm5leHQoKTsKLX0pOwotYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdt
ZXRob2QgYm9keSBub3QgZXZhbHVhdGVkJyk7CitDLnByb3RvdHlwZS5tZXRob2QoKS5uZXh0KCk7
Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ21ldGhvZCBib2R5IGV2YWx1YXRlZCcp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
Y2xhc3MvZ2VuLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLWdlbi1tZXRoLWZvcmJp
ZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2dlbi1tZXRob2QvZm9yYmlkZGVuLWV4dC9i
MS9jbHMtZXhwci1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxs
ZXIuanMKaW5kZXggMmM3NjZiOTkwYzRhYzIyMzRiOGRjZmU1ODc5YmI5MDM4MjQ4OTQwZi4uNTdj
Nzg3NGQzYzkwN2VhMjI5MWJmMGFlODMxZGNhYjUzYTlmN2Y0MSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZ2VuLW1ldGhvZC9mb3Ji
aWRkZW4tZXh0L2IxL2Nscy1leHByLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vz
cy1wcm9wLWNhbGxlci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9jbGFzcy9nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWV4cHItZ2VuLW1l
dGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCkBAIC00LDI1ICs0
LDMyIEBACiAvKi0tLQogZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVy
IChjbGFzcyBleHByZXNzaW9uIG1ldGhvZCkKIGVzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1y
dW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCi1mZWF0dXJlczogW2dlbmVyYXRvcnNdCitmZWF0
dXJlczogW2NsYXNzLCBnZW5lcmF0b3JzXQogZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0XQog
aW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0
IENsYXNzVGFpbAogCiAKLSAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1
c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3Qg
YmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVu
dHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVu
Y3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmlu
aXRpb24sIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dl
bmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sIENsYXNzRGVjbGFy
YXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1
bmN0aW9uRXhwcmVzc2lvbiwgb3IgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hl
dGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4gQnVp
bHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0
aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdl
bmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFz
eW5jRnVuY3Rpb24gY29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUg
YmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24gcHJvcGVy
dGllcy4KKyAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50
YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdAorICAgIG5vdCBiZSBj
cmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIu
IFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbworICAgIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1
bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZp
bml0aW9uLAorICAgIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBB
c3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sCisgICAg
Q2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRp
b24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvcgorICAgIEFzeW5jQXJyb3dGdW5jdGlvbiBy
ZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmlj
dCBtb2RlIGNvZGUuCisgICAgQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNy
ZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25z
CisgICAgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5j
dGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbgorICAgIGNvbnN0cnVjdG9yLCBh
bmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3Qg
YmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duCisgICAgcHJvcGVydGllcy4KIAogLS0tKi8KIAogdmFy
IGNhbGxDb3VudCA9IDA7CiB2YXIgQyA9IGNsYXNzIHsKICAgKm1ldGhvZCgpIHsKLSAgICB0aGlz
Lm1ldGhvZC5jYWxsZXI7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh0aGlzLm1ldGhvZC5oYXNPd25Q
cm9wZXJ0eSgiY2FsbGVyIiksIGZhbHNlKTsKICAgICBjYWxsQ291bnQrKzsKICAgfQogfTsKIAot
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBDLnByb3RvdHlwZS5tZXRo
b2QoKS5uZXh0KCk7Ci19KTsKLWFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAwLCAnbWV0aG9k
IGJvZHkgbm90IGV2YWx1YXRlZCcpOworQy5wcm90b3R5cGUubWV0aG9kKCkubmV4dCgpOworYXNz
ZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgYm9keSBldmFsdWF0ZWQnKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNz
L2dlbi1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1nZW4tbWV0aC1mb3JiaWRkZW4t
ZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZ2VuLW1ldGhvZC9mb3JiaWRkZW4t
ZXh0L2IyL2Nscy1leHByLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93
bi1wcm9wLWNhbGxlci1nZXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTI2ZWM1NzljMGQ4MjQwMDgwYzFkZjA0
NzEzNjYyZTgwZDZiZDUzMAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2dlbi1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9j
bHMtZXhwci1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1j
YWxsZXItZ2V0LmpzCkBAIC0wLDAgKzEsNjIgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJh
bGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0
aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1n
ZXQuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dGVuc2lvbnMvYnVs
bGV0LXR3by9jbHMtZXhwci1nZW4tbWV0aC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBG
b3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoY2xhc3MgZXhwcmVzc2lvbiBtZXRob2QpCitl
c2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgor
ZmVhdHVyZXM6IFtjbGFzcywgZ2VuZXJhdG9yc10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmlj
dF0KK2luZm86IHwKKyAgICBDbGFzc0V4cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmll
cm9wdCBDbGFzc1RhaWwKKworCisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkg
ZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2
YWx1ZSBvZgorICAgIHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3Ig
W1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbgorICAgIG9i
amVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlz
IHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0cmlidXRlIG11c3Qg
bmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgorCistLS0qLwordmFy
IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2woKTsKK2Z1bmN0aW9u
IGlubmVyKCkgeworICAvLyBUaGlzIHByb3BlcnR5IG1heSBleGlzdCwgYnV0IGlzIGZvcmJpZGRl
biBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0Cisg
IHJldHVybiBpbm5lci5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlubmVyLmNhbGxl
cgorICAgIDogQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVDsKK30KKwordmFyIGNh
bGxDb3VudCA9IDA7Cit2YXIgQyA9IGNsYXNzIHsKKyAgKm1ldGhvZCgpIHsKKyAgICAvKiBpbXBs
aWNpdCBzdHJpY3QgKi8KKyAgICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFs
IHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgICAgLy8gRm9yIGV2ZXJ5
IHRlc3QgdGhhdCBoYXMgYSAidHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUgaXMgYQorICAgIC8vIGNv
cnJlc3BvbmRpbmcgdGVzdCB0aGF0IGhhcyBhICJmYWxzZSIgdmFsdWUgaGVyZS4KKyAgICAvLyBU
aGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNhc2UgZmlsZXMsIHdoaWNoIHVz
ZQorICAgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihp
bm5lciwgImNhbGxlciIpOworICAgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmln
dXJhYmxlICYmIHRydWUpIHsKKyAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbm5lciwgImNh
bGxlciIsIHtnZXQoKXtyZXR1cm4gMX19KTsKKyAgICB9CisgICAgdmFyIHJlc3VsdCA9IGlubmVy
KCk7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgdHJ1
ZSkgeworICAgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVm
aW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkgb24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVu
IGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3
YXMgc2V0IHRvLicpOworICAgIH0KKworICAgIC8vICJDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNf
Tk9UX0VYSVNUIiBpcyBmcm9tCisgICAgLy8gZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mt
cHJvcC1jYWxsZXIuY2FzZQorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAi
aW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAgICAvLyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBp
dHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgICAvLworICAgIC8vIElmIHRoZSBmdW5jdGlv
biBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFuCisgICAgLy8gb3duIHByb3BlcnR5IG5h
bWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZ
X0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQuCisgICAgaWYgKHJlc3VsdCAhPT0gQ0FM
TEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkgeworICAgICAgYXNzZXJ0Lm5vdFNhbWVW
YWx1ZShyZXN1bHQsIHRoaXMubWV0aG9kKTsKKyAgICB9CisKKyAgICBjYWxsQ291bnQrKzsKKyAg
fQorfTsKKworQy5wcm90b3R5cGUubWV0aG9kKCkubmV4dCgpOworYXNzZXJ0LnNhbWVWYWx1ZShj
YWxsQ291bnQsIDEsICdtZXRob2QgYm9keSBldmFsdWF0ZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2dlbi1tZXRob2QvZm9y
YmlkZGVuLWV4dC9iMi9jbHMtZXhwci1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFj
Y2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jbGFzcy9nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4
cHItZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVy
LXZhbHVlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyZmI5ZDdmYTZiMzhmNzdiMGRlOWU4YTRkNzQ0MTVhMjc3
Zjc0NzcKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItZ2Vu
LW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVl
LmpzCkBAIC0wLDAgKzEsNjIgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVy
YXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1z
L2ZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5jYXNl
CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQtdHdv
L2Nscy1leHByLWdlbi1tZXRoLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEZvcmJpZGRl
biBleHRlbnNpb24sIG8uY2FsbGVyIChjbGFzcyBleHByZXNzaW9uIG1ldGhvZCkKK2VzaWQ6IHNl
Yy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJl
czogW2NsYXNzLCBnZW5lcmF0b3JzXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0XQoraW5m
bzogfAorICAgIENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENs
YXNzVGFpbAorCisKKyAgICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBmdW5jdGlv
biBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZhbHVlIG9m
CisgICAgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBbW0dldE93
blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9uCisgICAgb2JqZWN0LiBJ
ZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZh
bHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAgICBhdHRyaWJ1dGUgbXVzdCBuZXZlciBy
ZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQuCisKKy0tLSovCit2YXIgQ0FMTEVS
X09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCA9IFN5bWJvbCgpOworZnVuY3Rpb24gaW5uZXIo
KSB7CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0LCBidXQgaXMgZm9yYmlkZGVuIGZyb20g
aGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKKyAgcmV0dXJu
IGlubmVyLmhhc093blByb3BlcnR5KCJjYWxsZXIiKQorICAgID8gaW5uZXIuY2FsbGVyCisgICAg
OiBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUOworfQorCit2YXIgY2FsbENvdW50
ID0gMDsKK3ZhciBDID0gY2xhc3MgeworICAqbWV0aG9kKCkgeworICAgIC8qIGltcGxpY2l0IHN0
cmljdCAqLworICAgIC8vIFRoaXMgYW5kIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uYWwgdmFsdWUg
aXMgc2V0IGluIHRoZSB0ZXN0J3MgLmNhc2UgZmlsZS4KKyAgICAvLyBGb3IgZXZlcnkgdGVzdCB0
aGF0IGhhcyBhICJ0cnVlIiB2YWx1ZSBoZXJlLCB0aGVyZSBpcyBhCisgICAgLy8gY29ycmVzcG9u
ZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBoZXJlLgorICAgIC8vIFRoZXkgYXJl
IGdlbmVyYXRlZCBmcm9tIHR3byBkaWZmZXJlbnQgY2FzZSBmaWxlcywgd2hpY2ggdXNlCisgICAg
bGV0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGlubmVyLCAi
Y2FsbGVyIik7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUg
JiYgdHJ1ZSkgeworICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2FsbGVyIiwg
e3ZhbHVlOiAxfSk7CisgICAgfQorICAgIHZhciByZXN1bHQgPSBpbm5lcigpOworICAgIGlmIChk
ZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICAgIGFz
c2VydC5zYW1lVmFsdWUocmVzdWx0LCAxLCAnSWYgdGhpcyB0ZXN0IGRlZmluZWQgYW4gb3duICJj
YWxsZXIiIHByb3BlcnR5IG9uIHRoZSBpbm5lciBmdW5jdGlvbiwgdGhlbiBpdCBzaG91bGQgYmUg
YWNjZXNzaWJsZSBhbmQgc2hvdWxkIHJldHVybiB0aGUgdmFsdWUgaXQgd2FzIHNldCB0by4nKTsK
KyAgICB9CisKKyAgICAvLyAiQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCIgaXMg
ZnJvbQorICAgIC8vIGZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmNh
c2UKKyAgICAvLworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBoYXMgYW4g
b3duIHByb3BlcnR5CisgICAgLy8gbmFtZWQgImNhbGxlciIsIHRoZW4gaXRzIHZhbHVlIHdpbGwg
YmUgcmV0dXJuZWQuCisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5l
ciIgRE9FUyBOT1QgaGF2ZSBhbgorICAgIC8vIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiwg
dGhlbiB0aGUgc3ltYm9sCisgICAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElT
VCB3aWxsIGJlIHJldHVybmVkLgorICAgIGlmIChyZXN1bHQgIT09IENBTExFUl9PV05fUFJPUEVS
VFlfRE9FU19OT1RfRVhJU1QpIHsKKyAgICAgIGFzc2VydC5ub3RTYW1lVmFsdWUocmVzdWx0LCB0
aGlzLm1ldGhvZCk7CisgICAgfQorCisgICAgY2FsbENvdW50Kys7CisgIH0KK307CisKK0MucHJv
dG90eXBlLm1ldGhvZCgpLm5leHQoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAn
bWV0aG9kIGJvZHkgZXZhbHVhdGVkJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIv
Y2xzLWV4cHItZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxs
ZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9n
ZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItZ2VuLW1ldGgtZm9yYmlkZGVuLWV4
dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKaW5kZXggNzhjYmM4OWI3YmU0N2Y5MGVi
NDcyNTViNTFmYTEzYjg5MWM3NjRmZS4uOWFiMGRlNDM5NDFlZmE4MDU2N2VjNmIwYjQxMGE5OWM4
MTVkYzVlOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvY2xhc3MvZ2VuLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2IyL2Nscy1leHByLWdlbi1tZXRo
LWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL2dlbi1tZXRob2QvZm9y
YmlkZGVuLWV4dC9iMi9jbHMtZXhwci1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFj
Y2Vzcy1wcm9wLWNhbGxlci5qcwpAQCAtNCwzMCArNCw1OSBAQAogLyotLS0KIGRlc2NyaXB0aW9u
OiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoY2xhc3MgZXhwcmVzc2lvbiBtZXRob2Qp
CiBlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlv
bgotZmVhdHVyZXM6IFtnZW5lcmF0b3JzXQorZmVhdHVyZXM6IFtjbGFzcywgZ2VuZXJhdG9yc10K
IGZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Np
b24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllcm9wdCBDbGFzc1RhaWwKIAogCi0gICAgSWYgYW4g
aW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHBy
b3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZiB0aGF0IHByb3BlcnR5LCBhcyBvYnNl
cnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBz
dHJpY3QgZnVuY3Rpb24gb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhl
IGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0gYXR0
cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgor
ICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRo
IGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2YKKyAgICB0aGF0IHBy
b3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwg
bXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24KKyAgICBvYmplY3QuIElmIGl0IGlzIGFuIGFj
Y2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHBy
b3BlcnR5J3MgW1tHZXRdXQorICAgIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmlj
dCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KIAogLS0tKi8KK3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZ
X0RPRVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7CiBmdW5jdGlvbiBpbm5lcigpIHsKLSAgLy8gVGhp
cyBwcm9wZXJ0eSBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIHN0cmlj
dCBmdW5jdGlvbiBvYmplY3QKLSAgcmV0dXJuIGlubmVyLmNhbGxlcjsKKyAgLy8gVGhpcyBwcm9w
ZXJ0eSBtYXkgZXhpc3QsIGJ1dCBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0
IGlzIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdAorICByZXR1cm4gaW5uZXIuaGFzT3duUHJvcGVy
dHkoImNhbGxlciIpCisgICAgPyBpbm5lci5jYWxsZXIKKyAgICA6IENBTExFUl9PV05fUFJPUEVS
VFlfRE9FU19OT1RfRVhJU1Q7CiB9CiAKIHZhciBjYWxsQ291bnQgPSAwOwogdmFyIEMgPSBjbGFz
cyB7CiAgICptZXRob2QoKSB7CiAgICAgLyogaW1wbGljaXQgc3RyaWN0ICovCi0gICAgaW5uZXIo
KS50b1N0cmluZygpOworICAgIC8vIFRoaXMgYW5kIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uYWwg
dmFsdWUgaXMgc2V0IGluIHRoZSB0ZXN0J3MgLmNhc2UgZmlsZS4KKyAgICAvLyBGb3IgZXZlcnkg
dGVzdCB0aGF0IGhhcyBhICJ0cnVlIiB2YWx1ZSBoZXJlLCB0aGVyZSBpcyBhCisgICAgLy8gY29y
cmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBoZXJlLgorICAgIC8vIFRo
ZXkgYXJlIGdlbmVyYXRlZCBmcm9tIHR3byBkaWZmZXJlbnQgY2FzZSBmaWxlcywgd2hpY2ggdXNl
CisgICAgbGV0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGlu
bmVyLCAiY2FsbGVyIik7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1
cmFibGUgJiYgZmFsc2UpIHsKKyAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbm5lciwgImNh
bGxlciIsIHt9KTsKKyAgICB9CisgICAgdmFyIHJlc3VsdCA9IGlubmVyKCk7CisgICAgaWYgKGRl
c2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgZmFsc2UpIHsKKyAgICAgIGFz
c2VydC5zYW1lVmFsdWUocmVzdWx0LCAxLCAnSWYgdGhpcyB0ZXN0IGRlZmluZWQgYW4gb3duICJj
YWxsZXIiIHByb3BlcnR5IG9uIHRoZSBpbm5lciBmdW5jdGlvbiwgdGhlbiBpdCBzaG91bGQgYmUg
YWNjZXNzaWJsZSBhbmQgc2hvdWxkIHJldHVybiB0aGUgdmFsdWUgaXQgd2FzIHNldCB0by4nKTsK
KyAgICB9CisKKyAgICAvLyAiQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCIgaXMg
ZnJvbQorICAgIC8vIGZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmNh
c2UKKyAgICAvLworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBoYXMgYW4g
b3duIHByb3BlcnR5CisgICAgLy8gbmFtZWQgImNhbGxlciIsIHRoZW4gaXRzIHZhbHVlIHdpbGwg
YmUgcmV0dXJuZWQuCisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5l
ciIgRE9FUyBOT1QgaGF2ZSBhbgorICAgIC8vIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiwg
dGhlbiB0aGUgc3ltYm9sCisgICAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElT
VCB3aWxsIGJlIHJldHVybmVkLgorICAgIGlmIChyZXN1bHQgIT09IENBTExFUl9PV05fUFJPUEVS
VFlfRE9FU19OT1RfRVhJU1QpIHsKKyAgICAgIGFzc2VydC5ub3RTYW1lVmFsdWUocmVzdWx0LCB0
aGlzLm1ldGhvZCk7CisgICAgfQorCiAgICAgY2FsbENvdW50Kys7CiAgIH0KIH07CiAKLWFzc2Vy
dC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgQy5wcm90b3R5cGUubWV0aG9kKCku
bmV4dCgpOwotfSk7Ci1hc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ21ldGhvZCBib2R5
IG5vdCBldmFsdWF0ZWQnKTsKK0MucHJvdG90eXBlLm1ldGhvZCgpLm5leHQoKTsKK2Fzc2VydC5z
YW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGJvZHkgZXZhbHVhdGVkJyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9tZXRo
b2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWV4cHItbWV0aC1zdGF0aWMtZm9yYmlkZGVu
LWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0
L2IxL2Nscy1leHByLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9w
LWFyZ3VtZW50cy5qcwppbmRleCA2NzEzYTU5MTAzNGQxZGUyNTBjZGU1MzM4OTM0YzI2NzY3ZWUw
ODMwLi5lMzRjNGY0NzE1ZjJkNjg2Mzg2OTdmODlmZGM4Y2I2Zjc0MWM0MTlhIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9tZXRob2Qt
c3RhdGljL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWV4cHItbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4
dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL21ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4
dC9iMS9jbHMtZXhwci1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJv
cC1hcmd1bWVudHMuanMKQEAgLTIsMjUgKzIsMzQgQEAKIC8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1z
L2ZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5jYXNlCiAvLyAtIHNy
Yy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQtb25lL2Nscy1leHBy
LW1ldGgtc3RhdGljLnRlbXBsYXRlCiAvKi0tLQotZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRl
bnNpb24sIG8uYXJndW1lbnRzIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBtZXRob2QpCitkZXNj
cmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgZi5hcmd1bWVudHMgKHN0YXRpYyBjbGFzcyBl
eHByZXNzaW9uIG1ldGhvZCkKIGVzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNl
bWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW2NsYXNzXQogZmxhZ3M6IFtnZW5lcmF0ZWQs
IG5vU3RyaWN0XQogaW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJ
ZGVudGlmaWVyb3B0IENsYXNzVGFpbAogCi0gICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3Rz
IGRlZmluZWQgdXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2Rl
IG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBv
ciAiYXJndW1lbnRzIi4gU3VjaCBvd24gcHJvcGVydGllcyBhbHNvIG11c3Qgbm90IGJlIGNyZWF0
ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBN
ZXRob2REZWZpbml0aW9uLCBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lv
biwgQXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLCBD
bGFzc0RlY2xhcmF0aW9uLCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlv
biwgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24sIG9yIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRs
ZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2Rl
IGNvZGUuIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5n
IHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucyBjcmVhdGVkIHVz
aW5nIHRoZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVz
aW5nIHRoZSBBc3luY0Z1bmN0aW9uIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQg
dXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2gg
b3duIHByb3BlcnRpZXMuCisKKyAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5l
ZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdAor
ICAgIG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3Ig
ImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbworICAgIG11c3Qgbm90IGJlIGNy
ZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9u
LCBNZXRob2REZWZpbml0aW9uLAorICAgIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JF
eHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJl
c3Npb24sCisgICAgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0
aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvcgorICAgIEFzeW5jQXJy
b3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFp
bmVkIGluIHN0cmljdCBtb2RlIGNvZGUuCisgICAgQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3Qg
ZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0
b3IgZnVuY3Rpb25zCisgICAgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9y
LCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbgorICAgIGNv
bnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFs
c28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duCisgICAgcHJvcGVydGllcy4KIAog
LS0tKi8KIAogdmFyIGNhbGxDb3VudCA9IDA7CiB2YXIgQyA9IGNsYXNzIHsKICAgc3RhdGljIG1l
dGhvZCgpIHsKLSAgICB0aGlzLm1ldGhvZC5hcmd1bWVudHM7CisgICAgYXNzZXJ0LnNhbWVWYWx1
ZSh0aGlzLm1ldGhvZC5oYXNPd25Qcm9wZXJ0eSgiYXJndW1lbnRzIiksIGZhbHNlKTsKICAgICBj
YWxsQ291bnQrKzsKICAgfQogfTsKIAotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9u
KCkgewotICBDLm1ldGhvZCgpOwotfSk7Ci1hc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwg
J21ldGhvZCBib2R5IG5vdCBldmFsdWF0ZWQnKTsKK0MubWV0aG9kKCk7Cithc3NlcnQuc2FtZVZh
bHVlKGNhbGxDb3VudCwgMSwgJ21ldGhvZCBib2R5IGV2YWx1YXRlZCcpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvbWV0aG9kLXN0
YXRpYy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQt
ZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2NsYXNzL21ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMS9jbHMt
ZXhwci1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIu
anMKaW5kZXggNmIyZTRhNDdiYzExZDBmZmVjMjQ4NGIyYWMzZjQ0NGIwM2YzY2ZlYy4uM2VhNGVh
MzI0Yjg1NmMxY2ZjYjRlNTBkZWU3NDJlZDA1ZDc3ODVkNiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvbWV0aG9kLXN0YXRpYy9mb3Ji
aWRkZW4tZXh0L2IxL2Nscy1leHByLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFj
Y2Vzcy1wcm9wLWNhbGxlci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWV4cHIt
bWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCkBA
IC00LDIzICs0LDMyIEBACiAvKi0tLQogZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24s
IG8uY2FsbGVyIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBtZXRob2QpCiBlc2lkOiBzZWMtY2xh
c3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtj
bGFzc10KIGZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdF0KIGluZm86IHwKICAgICBDbGFzc0V4
cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllcm9wdCBDbGFzc1RhaWwKIAotICAgIEVD
TUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBjb25zdHJ1
Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHBy
b3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRp
ZXMgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQg
dXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwgR2VuZXJhdG9yRGVjbGFy
YXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2VuZXJhdG9yRGVjbGFyYXRpb24sIEFz
eW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9u
LCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvciBB
c3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlz
IGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLiBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0cmlj
dCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IsIGdlbmVy
YXRvciBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBh
c3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbiBjb25zdHJ1Y3Rv
ciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qg
bm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93biBwcm9wZXJ0aWVzLgorCisgICAgRUNNQVNjcmlw
dCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBp
biBzdHJpY3QgbW9kZSBjb2RlIG11c3QKKyAgICBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9w
ZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVz
IGFsc28KKyAgICBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmlu
ZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwKKyAgICBHZW5lcmF0
b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNHZW5lcmF0b3JEZWNsYXJh
dGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLAorICAgIENsYXNzRGVjbGFyYXRpb24sIENs
YXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhw
cmVzc2lvbiwgb3IKKyAgICBBc3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVy
IHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLgorICAgIEJ1
aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5j
dGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucworICAgIGNyZWF0ZWQgdXNpbmcg
dGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcg
dGhlIEFzeW5jRnVuY3Rpb24KKyAgICBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVk
IHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNo
IG93bgorICAgIHByb3BlcnRpZXMuCiAKIC0tLSovCiAKIHZhciBjYWxsQ291bnQgPSAwOwogdmFy
IEMgPSBjbGFzcyB7CiAgIHN0YXRpYyBtZXRob2QoKSB7Ci0gICAgdGhpcy5tZXRob2QuY2FsbGVy
OworICAgIGFzc2VydC5zYW1lVmFsdWUodGhpcy5tZXRob2QuaGFzT3duUHJvcGVydHkoImNhbGxl
ciIpLCBmYWxzZSk7CiAgICAgY2FsbENvdW50Kys7CiAgIH0KIH07CiAKLWFzc2VydC50aHJvd3Mo
VHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgQy5tZXRob2QoKTsKLX0pOwotYXNzZXJ0LnNhbWVW
YWx1ZShjYWxsQ291bnQsIDAsICdtZXRob2QgYm9keSBub3QgZXZhbHVhdGVkJyk7CitDLm1ldGhv
ZCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgYm9keSBldmFsdWF0
ZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2NsYXNzL21ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1tZXRoLXN0
YXRpYy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0Lmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvbWV0aG9k
LXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1leHByLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1l
eHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmM2
Njc5MTBjZGRjYWM2Mzk2MzFmMjM1NmZmMWM4MjIxN2M4ZGI5ZgotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL21ldGhvZC1z
dGF0aWMvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0
LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzCkBAIC0wLDAgKzEsNjIgQEAK
Ky8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dp
bmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHQtaW5kaXJl
Y3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9y
bXMvZm9yYmlkZGVuLWV4dGVuc2lvbnMvYnVsbGV0LXR3by9jbHMtZXhwci1tZXRoLXN0YXRpYy50
ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxl
ciAoc3RhdGljIGNsYXNzIGV4cHJlc3Npb24gbWV0aG9kKQorZXNpZDogc2VjLWNsYXNzLWRlZmlu
aXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbY2xhc3NdCitm
bGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCitpbmZvOiB8CisgICAgQ2xhc3NFeHByZXNzaW9u
IDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xhc3NUYWlsCisKKworICAgIElmIGFuIGlt
cGxlbWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9w
ZXJ0eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBv
YnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUg
YSBzdHJpY3QgZnVuY3Rpb24KKyAgICBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3Bl
cnR5LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tH
ZXRdXQorICAgIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3
aGVuIGNhbGxlZC4KKworLS0tKi8KK3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VY
SVNUID0gU3ltYm9sKCk7CitmdW5jdGlvbiBpbm5lcigpIHsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBt
YXkgZXhpc3QsIGJ1dCBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEg
c3RyaWN0IGZ1bmN0aW9uIG9iamVjdAorICByZXR1cm4gaW5uZXIuaGFzT3duUHJvcGVydHkoImNh
bGxlciIpCisgICAgPyBpbm5lci5jYWxsZXIKKyAgICA6IENBTExFUl9PV05fUFJPUEVSVFlfRE9F
U19OT1RfRVhJU1Q7Cit9CisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFyIEMgPSBjbGFzcyB7Cisg
IHN0YXRpYyBtZXRob2QoKSB7CisgICAgLyogaW1wbGljaXQgc3RyaWN0ICovCisgICAgLy8gVGhp
cyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRlc3Qn
cyAuY2FzZSBmaWxlLgorICAgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZh
bHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMg
YSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdv
IGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgICBsZXQgZGVzY3JpcHRvciA9IE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgICBpZiAo
ZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgICBP
YmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJjYWxsZXIiLCB7Z2V0KCl7cmV0dXJuIDF9fSk7
CisgICAgfQorICAgIHZhciByZXN1bHQgPSBpbm5lcigpOworICAgIGlmIChkZXNjcmlwdG9yICYm
IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICAgIGFzc2VydC5zYW1lVmFs
dWUocmVzdWx0LCAxLCAnSWYgdGhpcyB0ZXN0IGRlZmluZWQgYW4gb3duICJjYWxsZXIiIHByb3Bl
cnR5IG9uIHRoZSBpbm5lciBmdW5jdGlvbiwgdGhlbiBpdCBzaG91bGQgYmUgYWNjZXNzaWJsZSBh
bmQgc2hvdWxkIHJldHVybiB0aGUgdmFsdWUgaXQgd2FzIHNldCB0by4nKTsKKyAgICB9CisKKyAg
ICAvLyAiQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCIgaXMgZnJvbQorICAgIC8v
IGZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmNhc2UKKyAgICAvLwor
ICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBoYXMgYW4gb3duIHByb3BlcnR5
CisgICAgLy8gbmFtZWQgImNhbGxlciIsIHRoZW4gaXRzIHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQu
CisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgRE9FUyBOT1Qg
aGF2ZSBhbgorICAgIC8vIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiwgdGhlbiB0aGUgc3lt
Ym9sCisgICAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCB3aWxsIGJlIHJl
dHVybmVkLgorICAgIGlmIChyZXN1bHQgIT09IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1Rf
RVhJU1QpIHsKKyAgICAgIGFzc2VydC5ub3RTYW1lVmFsdWUocmVzdWx0LCB0aGlzLm1ldGhvZCk7
CisgICAgfQorCisgICAgY2FsbENvdW50Kys7CisgIH0KK307CisKK0MubWV0aG9kKCk7Cithc3Nl
cnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ21ldGhvZCBib2R5IGV2YWx1YXRlZCcpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mv
bWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1leHByLW1ldGgtc3RhdGljLWZvcmJp
ZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL21ldGhvZC1zdGF0aWMv
Zm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGly
ZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQ4N2Y1ZmM4
NDY1MmFhZDc4N2Q3ZTI2YjQxYzM1ZmVlMTQxNGEyYwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL21ldGhvZC1zdGF0aWMv
Zm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGly
ZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMKQEAgLTAsMCArMSw2MiBAQAorLy8g
VGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBz
b3VyY2VzOgorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1h
Y2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmNhc2UKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1z
L2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC10d28vY2xzLWV4cHItbWV0aC1zdGF0aWMudGVt
cGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIg
KHN0YXRpYyBjbGFzcyBleHByZXNzaW9uIG1ldGhvZCkKK2VzaWQ6IHNlYy1jbGFzcy1kZWZpbml0
aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW2NsYXNzXQorZmxh
Z3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0XQoraW5mbzogfAorICAgIENsYXNzRXhwcmVzc2lvbiA6
IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFpbAorCisKKyAgICBJZiBhbiBpbXBs
ZW1lbnRhdGlvbiBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVy
dHkgbmFtZWQgImNhbGxlciIgdGhlIHZhbHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0eSwgYXMgb2Jz
ZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEg
c3RyaWN0IGZ1bmN0aW9uCisgICAgb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0
eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0
XV0KKyAgICBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hl
biBjYWxsZWQuCisKKy0tLSovCit2YXIgQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElT
VCA9IFN5bWJvbCgpOworZnVuY3Rpb24gaW5uZXIoKSB7CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5
IGV4aXN0LCBidXQgaXMgZm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0
cmljdCBmdW5jdGlvbiBvYmplY3QKKyAgcmV0dXJuIGlubmVyLmhhc093blByb3BlcnR5KCJjYWxs
ZXIiKQorICAgID8gaW5uZXIuY2FsbGVyCisgICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNf
Tk9UX0VYSVNUOworfQorCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBDID0gY2xhc3MgeworICBz
dGF0aWMgbWV0aG9kKCkgeworICAgIC8qIGltcGxpY2l0IHN0cmljdCAqLworICAgIC8vIFRoaXMg
YW5kIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uYWwgdmFsdWUgaXMgc2V0IGluIHRoZSB0ZXN0J3Mg
LmNhc2UgZmlsZS4KKyAgICAvLyBGb3IgZXZlcnkgdGVzdCB0aGF0IGhhcyBhICJ0cnVlIiB2YWx1
ZSBoZXJlLCB0aGVyZSBpcyBhCisgICAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEg
ImZhbHNlIiB2YWx1ZSBoZXJlLgorICAgIC8vIFRoZXkgYXJlIGdlbmVyYXRlZCBmcm9tIHR3byBk
aWZmZXJlbnQgY2FzZSBmaWxlcywgd2hpY2ggdXNlCisgICAgbGV0IGRlc2NyaXB0b3IgPSBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGlubmVyLCAiY2FsbGVyIik7CisgICAgaWYgKGRl
c2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgdHJ1ZSkgeworICAgICAgT2Jq
ZWN0LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2FsbGVyIiwge3ZhbHVlOiAxfSk7CisgICAgfQor
ICAgIHZhciByZXN1bHQgPSBpbm5lcigpOworICAgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0
b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICAgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0
LCAxLCAnSWYgdGhpcyB0ZXN0IGRlZmluZWQgYW4gb3duICJjYWxsZXIiIHByb3BlcnR5IG9uIHRo
ZSBpbm5lciBmdW5jdGlvbiwgdGhlbiBpdCBzaG91bGQgYmUgYWNjZXNzaWJsZSBhbmQgc2hvdWxk
IHJldHVybiB0aGUgdmFsdWUgaXQgd2FzIHNldCB0by4nKTsKKyAgICB9CisKKyAgICAvLyAiQ0FM
TEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCIgaXMgZnJvbQorICAgIC8vIGZvcmJpZGRl
bi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmNhc2UKKyAgICAvLworICAgIC8vIElm
IHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBoYXMgYW4gb3duIHByb3BlcnR5CisgICAgLy8g
bmFtZWQgImNhbGxlciIsIHRoZW4gaXRzIHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQuCisgICAgLy8K
KyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgRE9FUyBOT1QgaGF2ZSBhbgor
ICAgIC8vIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiwgdGhlbiB0aGUgc3ltYm9sCisgICAg
Ly8gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCB3aWxsIGJlIHJldHVybmVkLgor
ICAgIGlmIChyZXN1bHQgIT09IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QpIHsK
KyAgICAgIGFzc2VydC5ub3RTYW1lVmFsdWUocmVzdWx0LCB0aGlzLm1ldGhvZCk7CisgICAgfQor
CisgICAgY2FsbENvdW50Kys7CisgIH0KK307CisKK0MubWV0aG9kKCk7Cithc3NlcnQuc2FtZVZh
bHVlKGNhbGxDb3VudCwgMSwgJ21ldGhvZCBib2R5IGV2YWx1YXRlZCcpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvbWV0aG9kLXN0
YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1leHByLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQt
aW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Ns
cy1leHByLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2Fs
bGVyLmpzCmluZGV4IDc4YzM2OTQ2M2ZiYTgxYWMwNjlkODNmOTdiMDJkZTFkZTRiMGI2ZDAuLjU5
ZDJiYzU5ODczMDMzY2RmMjdiNDhiOWI1Mjg3OWFlOGRmZDI3MjkgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL21ldGhvZC1zdGF0aWMv
Zm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGly
ZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jbGFzcy9tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xz
LWV4cHItbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxs
ZXIuanMKQEAgLTQsMjggKzQsNTkgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4
dGVuc2lvbiwgby5jYWxsZXIgKHN0YXRpYyBjbGFzcyBleHByZXNzaW9uIG1ldGhvZCkKIGVzaWQ6
IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0
dXJlczogW2NsYXNzXQogZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0XQogaW5mbzogfAogICAg
IENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFpbAog
Ci0gICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdp
dGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZiB0aGF0IHByb3Bl
cnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVz
dCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBw
cm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdz
IFtbR2V0XV0gYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdo
ZW4gY2FsbGVkLgorCisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rp
b24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBv
ZgorICAgIHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRP
d25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbgorICAgIG9iamVjdC4g
SWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2
YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0cmlidXRlIG11c3QgbmV2ZXIg
cmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgogCiAtLS0qLwordmFyIENBTExF
Ul9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2woKTsKIGZ1bmN0aW9uIGlubmVy
KCkgewotICAvLyBUaGlzIHByb3BlcnR5IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVl
IHRoYXQgaXMgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdAotICByZXR1cm4gaW5uZXIuY2FsbGVyOwor
ICAvLyBUaGlzIHByb3BlcnR5IG1heSBleGlzdCwgYnV0IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmlu
ZyBhIHZhbHVlIHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0CisgIHJldHVybiBpbm5l
ci5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlubmVyLmNhbGxlcgorICAgIDogQ0FM
TEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVDsKIH0KIAogdmFyIGNhbGxDb3VudCA9IDA7
CiB2YXIgQyA9IGNsYXNzIHsKICAgc3RhdGljIG1ldGhvZCgpIHsKICAgICAvKiBpbXBsaWNpdCBz
dHJpY3QgKi8KLSAgICBpbm5lcigpLnRvU3RyaW5nKCk7CisgICAgLy8gVGhpcyBhbmQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRlc3QncyAuY2FzZSBmaWxl
LgorICAgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRo
ZXJlIGlzIGEKKyAgICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMgYSAiZmFsc2UiIHZh
bHVlIGhlcmUuCisgICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdvIGRpZmZlcmVudCBj
YXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgICBsZXQgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgICBpZiAoZGVzY3JpcHRvciAm
JiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiBmYWxzZSkgeworICAgICAgT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KGlubmVyLCAiY2FsbGVyIiwge30pOworICAgIH0KKyAgICB2YXIgcmVzdWx0ID0g
aW5uZXIoKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAm
JiBmYWxzZSkgeworICAgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0aGlzIHRl
c3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkgb24gdGhlIGlubmVyIGZ1bmN0aW9u
LCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1
ZSBpdCB3YXMgc2V0IHRvLicpOworICAgIH0KKworICAgIC8vICJDQUxMRVJfT1dOX1BST1BFUlRZ
X0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9tCisgICAgLy8gZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1h
Y2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9i
amVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAgICAvLyBuYW1lZCAiY2FsbGVyIiwg
dGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgICAvLworICAgIC8vIElmIHRoZSBm
dW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFuCisgICAgLy8gb3duIHByb3Bl
cnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgICAvLyBDQUxMRVJfT1dOX1BS
T1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQuCisgICAgaWYgKHJlc3VsdCAh
PT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkgeworICAgICAgYXNzZXJ0Lm5v
dFNhbWVWYWx1ZShyZXN1bHQsIHRoaXMubWV0aG9kKTsKKyAgICB9CisKICAgICBjYWxsQ291bnQr
KzsKICAgfQogfTsKIAotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBD
Lm1ldGhvZCgpOwotfSk7Ci1hc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ21ldGhvZCBi
b2R5IG5vdCBldmFsdWF0ZWQnKTsKK0MubWV0aG9kKCk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxD
b3VudCwgMSwgJ21ldGhvZCBib2R5IGV2YWx1YXRlZCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvbWV0aG9kL2ZvcmJpZGRlbi1l
eHQvYjEvY2xzLWV4cHItbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1
bWVudHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFz
cy9tZXRob2QvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZXhwci1tZXRoLWZvcmJpZGRlbi1leHQtZGly
ZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwppbmRleCBhMmY1ODc4NjI1Y2Y0ZjQ2MTQ4ZWYz
ODMzNTdiODhkMmRhYzJkNTIwLi5jOTJhMjBiMDg1ZWE1N2QxYzdmYjFhMTVlZmNjZDMwNjU2NzM4
YjBlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9jbGFzcy9tZXRob2QvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZXhwci1tZXRoLWZvcmJpZGRlbi1l
eHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9tZXRob2QvZm9yYmlkZGVuLWV4dC9iMS9j
bHMtZXhwci1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5q
cwpAQCAtMiwyNSArMiwzNCBAQAogLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4
dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmNhc2UKIC8vIC0gc3JjL2Z1bmN0aW9uLWZv
cm1zL2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC1vbmUvY2xzLWV4cHItbWV0aC50ZW1wbGF0
ZQogLyotLS0KLWRlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmFyZ3VtZW50cyAo
Y2xhc3MgZXhwcmVzc2lvbiBtZXRob2QpCitkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lv
biwgZi5hcmd1bWVudHMgKGNsYXNzIGV4cHJlc3Npb24gbWV0aG9kKQogZXNpZDogc2VjLWNsYXNz
LWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbY2xh
c3NdCiBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHBy
ZXNzaW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXJvcHQgQ2xhc3NUYWlsCiAKLSAgICBFQ01B
U2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0
b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9w
ZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVz
IGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVz
aW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sIEdlbmVyYXRvckRlY2xhcmF0
aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3lu
Y0dlbmVyYXRvckV4cHJlc3Npb24sIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwg
QXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IgQXN5
bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBj
b250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4gQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3Qg
ZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0
b3IgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5
bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24gY29uc3RydWN0b3Is
IGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5v
dCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24gcHJvcGVydGllcy4KKworICAgIEVDTUFTY3JpcHQg
ZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBjb25zdHJ1Y3RvcnMgaW4g
c3RyaWN0IG1vZGUgY29kZSBtdXN0CisgICAgbm90IGJlIGNyZWF0ZWQgd2l0aCBvd24gcHJvcGVy
dGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4gU3VjaCBvd24gcHJvcGVydGllcyBh
bHNvCisgICAgbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVk
IHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sCisgICAgR2VuZXJhdG9y
RGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2VuZXJhdG9yRGVjbGFyYXRp
b24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwKKyAgICBDbGFzc0RlY2xhcmF0aW9uLCBDbGFz
c0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNGdW5jdGlvbkV4cHJl
c3Npb24sIG9yCisgICAgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0
aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4KKyAgICBCdWls
dC1pbiBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rp
b24gY29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMKKyAgICBjcmVhdGVkIHVzaW5nIHRo
ZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRo
ZSBBc3luY0Z1bmN0aW9uCisgICAgY29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1
c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBv
d24KKyAgICBwcm9wZXJ0aWVzLgogCiAtLS0qLwogCiB2YXIgY2FsbENvdW50ID0gMDsKIHZhciBD
ID0gY2xhc3MgewogICBtZXRob2QoKSB7Ci0gICAgdGhpcy5tZXRob2QuYXJndW1lbnRzOworICAg
IGFzc2VydC5zYW1lVmFsdWUodGhpcy5tZXRob2QuaGFzT3duUHJvcGVydHkoImFyZ3VtZW50cyIp
LCBmYWxzZSk7CiAgICAgY2FsbENvdW50Kys7CiAgIH0KIH07CiAKLWFzc2VydC50aHJvd3MoVHlw
ZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgQy5wcm90b3R5cGUubWV0aG9kKCk7Ci19KTsKLWFzc2Vy
dC5zYW1lVmFsdWUoY2FsbENvdW50LCAwLCAnbWV0aG9kIGJvZHkgbm90IGV2YWx1YXRlZCcpOwor
Qy5wcm90b3R5cGUubWV0aG9kKCk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ21l
dGhvZCBib2R5IGV2YWx1YXRlZCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWV4
cHItbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9tZXRob2QvZm9yYmlk
ZGVuLWV4dC9iMS9jbHMtZXhwci1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9w
LWNhbGxlci5qcwppbmRleCAwMzk0YmIyYjdmZjY1OWI3OTlkMDg0ZTJlNDY2ZDA1Y2U5NjhkOTY0
Li5iMmQ5MmQ3ZDcxNTAxOWZhNDdiYmY2ZGEyMGFlYTA0ZDg4MTBjYTcwIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9tZXRob2QvZm9y
YmlkZGVuLWV4dC9iMS9jbHMtZXhwci1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1w
cm9wLWNhbGxlci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNz
aW9ucy9jbGFzcy9tZXRob2QvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZXhwci1tZXRoLWZvcmJpZGRl
bi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwpAQCAtNCwyMyArNCwzMiBAQAogLyot
LS0KIGRlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoY2xhc3MgZXhw
cmVzc2lvbiBtZXRob2QpCiBlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1h
bnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtjbGFzc10KIGZsYWdzOiBbZ2VuZXJhdGVkLCBu
b1N0cmljdF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Npb24gOiBjbGFzcyBCaW5kaW5nSWRl
bnRpZmllcm9wdCBDbGFzc1RhaWwKIAotICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBk
ZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBt
dXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3Ig
ImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVk
IGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0
aG9kRGVmaW5pdGlvbiwgR2VuZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24s
IEFzeW5jR2VuZXJhdG9yRGVjbGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwgQ2xh
c3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24s
IEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvciBBc3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVz
cyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBj
b2RlLiBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0
aGUgRnVuY3Rpb24gY29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMgY3JlYXRlZCB1c2lu
ZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2lu
ZyB0aGUgQXN5bmNGdW5jdGlvbiBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVz
aW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93
biBwcm9wZXJ0aWVzLgorCisgICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQg
dXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3QKKyAg
ICBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJh
cmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28KKyAgICBtdXN0IG5vdCBiZSBjcmVh
dGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwg
TWV0aG9kRGVmaW5pdGlvbiwKKyAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhw
cmVzc2lvbiwgQXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNz
aW9uLAorICAgIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlv
bkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IKKyAgICBBc3luY0Fycm93
RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5l
ZCBpbiBzdHJpY3QgbW9kZSBjb2RlLgorICAgIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1
bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9y
IGZ1bmN0aW9ucworICAgIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3Rvciwg
YXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24KKyAgICBjb25z
dHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNv
IG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93bgorICAgIHByb3BlcnRpZXMuCiAKIC0t
LSovCiAKIHZhciBjYWxsQ291bnQgPSAwOwogdmFyIEMgPSBjbGFzcyB7CiAgIG1ldGhvZCgpIHsK
LSAgICB0aGlzLm1ldGhvZC5jYWxsZXI7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh0aGlzLm1ldGhv
ZC5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIiksIGZhbHNlKTsKICAgICBjYWxsQ291bnQrKzsKICAg
fQogfTsKIAotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBDLnByb3Rv
dHlwZS5tZXRob2QoKTsKLX0pOwotYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdtZXRo
b2QgYm9keSBub3QgZXZhbHVhdGVkJyk7CitDLnByb3RvdHlwZS5tZXRob2QoKTsKK2Fzc2VydC5z
YW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGJvZHkgZXZhbHVhdGVkJyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9tZXRo
b2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3Qt
YWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9jbGFzcy9tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1t
ZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTk3MjllNGZhOWI0OWY1YjE0Mjk0Zjk4MzRjNTExNmVkMmU5YzY2MQotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL21ldGhvZC9mb3JiaWRkZW4tZXh0L2IyL2Nscy1leHByLW1ldGgtZm9yYmlkZGVuLWV4
dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcwpAQCAtMCwwICsxLDYyIEBA
CisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93
aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWluZGly
ZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmNhc2UKKy8vIC0gc3JjL2Z1bmN0aW9uLWZv
cm1zL2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC10d28vY2xzLWV4cHItbWV0aC50ZW1wbGF0
ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoY2xh
c3MgZXhwcmVzc2lvbiBtZXRob2QpCitlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGlt
ZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtjbGFzc10KK2ZsYWdzOiBbZ2VuZXJh
dGVkLCBub1N0cmljdF0KK2luZm86IHwKKyAgICBDbGFzc0V4cHJlc3Npb24gOiBjbGFzcyBCaW5k
aW5nSWRlbnRpZmllcm9wdCBDbGFzc1RhaWwKKworCisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24g
ZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJj
YWxsZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5n
IFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5j
dGlvbgorICAgIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5j
dGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0
cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgor
CistLS0qLwordmFyIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2wo
KTsKK2Z1bmN0aW9uIGlubmVyKCkgeworICAvLyBUaGlzIHByb3BlcnR5IG1heSBleGlzdCwgYnV0
IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rp
b24gb2JqZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/
IGlubmVyLmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVDsK
K30KKwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgQyA9IGNsYXNzIHsKKyAgbWV0aG9kKCkgewor
ICAgIC8qIGltcGxpY2l0IHN0cmljdCAqLworICAgIC8vIFRoaXMgYW5kIHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9uYWwgdmFsdWUgaXMgc2V0IGluIHRoZSB0ZXN0J3MgLmNhc2UgZmlsZS4KKyAgICAv
LyBGb3IgZXZlcnkgdGVzdCB0aGF0IGhhcyBhICJ0cnVlIiB2YWx1ZSBoZXJlLCB0aGVyZSBpcyBh
CisgICAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBoZXJl
LgorICAgIC8vIFRoZXkgYXJlIGdlbmVyYXRlZCBmcm9tIHR3byBkaWZmZXJlbnQgY2FzZSBmaWxl
cywgd2hpY2ggdXNlCisgICAgbGV0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKGlubmVyLCAiY2FsbGVyIik7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3Jp
cHRvci5jb25maWd1cmFibGUgJiYgdHJ1ZSkgeworICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5
KGlubmVyLCAiY2FsbGVyIiwge2dldCgpe3JldHVybiAxfX0pOworICAgIH0KKyAgICB2YXIgcmVz
dWx0ID0gaW5uZXIoKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3Vy
YWJsZSAmJiB0cnVlKSB7CisgICAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRo
aXMgdGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVu
Y3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4gdGhl
IHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgICAgfQorCisgICAgLy8gIkNBTExFUl9PV05fUFJP
UEVSVFlfRE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAgICAvLyBmb3JiaWRkZW4tZXh0LWluZGly
ZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5jYXNlCisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rp
b24gb2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAgIC8vIG5hbWVkICJjYWxs
ZXIiLCB0aGVuIGl0cyB2YWx1ZSB3aWxsIGJlIHJldHVybmVkLgorICAgIC8vCisgICAgLy8gSWYg
dGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgICAvLyBvd24g
cHJvcGVydHkgbmFtZWQgImNhbGxlciIsIHRoZW4gdGhlIHN5bWJvbAorICAgIC8vIENBTExFUl9P
V05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qgd2lsbCBiZSByZXR1cm5lZC4KKyAgICBpZiAocmVz
dWx0ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgICBhc3Nl
cnQubm90U2FtZVZhbHVlKHJlc3VsdCwgdGhpcy5tZXRob2QpOworICAgIH0KKworICAgIGNhbGxD
b3VudCsrOworICB9Cit9OworCitDLnByb3RvdHlwZS5tZXRob2QoKTsKK2Fzc2VydC5zYW1lVmFs
dWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGJvZHkgZXZhbHVhdGVkJyk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9tZXRob2QvZm9y
YmlkZGVuLWV4dC9iMi9jbHMtZXhwci1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNz
LW93bi1wcm9wLWNhbGxlci12YWx1ZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL2NsYXNzL21ldGhvZC9mb3JiaWRkZW4tZXh0L2IyL2Nscy1leHByLW1ldGgt
Zm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmVhNWIzNDJlNzZkZDk2NDRlOTlhM2E3NDljNzQ0OGU0Mjg5ZDA0OGMKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZXhwci1tZXRoLWZvcmJpZGRlbi1leHQt
aW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5qcwpAQCAtMCwwICsxLDYyIEBA
CisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93
aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWluZGly
ZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24t
Zm9ybXMvZm9yYmlkZGVuLWV4dGVuc2lvbnMvYnVsbGV0LXR3by9jbHMtZXhwci1tZXRoLnRlbXBs
YXRlCisvKi0tLQorZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVyIChj
bGFzcyBleHByZXNzaW9uIG1ldGhvZCkKK2VzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50
aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW2NsYXNzXQorZmxhZ3M6IFtnZW5l
cmF0ZWQsIG5vU3RyaWN0XQoraW5mbzogfAorICAgIENsYXNzRXhwcmVzc2lvbiA6IGNsYXNzIEJp
bmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFpbAorCisKKyAgICBJZiBhbiBpbXBsZW1lbnRhdGlv
biBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQg
ImNhbGxlciIgdGhlIHZhbHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNp
bmcgW1tHZXRdXSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1
bmN0aW9uCisgICAgb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1
bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAgICBh
dHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQu
CisKKy0tLSovCit2YXIgQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCA9IFN5bWJv
bCgpOworZnVuY3Rpb24gaW5uZXIoKSB7CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0LCBi
dXQgaXMgZm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0cmljdCBmdW5j
dGlvbiBvYmplY3QKKyAgcmV0dXJuIGlubmVyLmhhc093blByb3BlcnR5KCJjYWxsZXIiKQorICAg
ID8gaW5uZXIuY2FsbGVyCisgICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNU
OworfQorCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBDID0gY2xhc3MgeworICBtZXRob2QoKSB7
CisgICAgLyogaW1wbGljaXQgc3RyaWN0ICovCisgICAgLy8gVGhpcyBhbmQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRlc3QncyAuY2FzZSBmaWxlLgorICAg
IC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlz
IGEKKyAgICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhl
cmUuCisgICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdvIGRpZmZlcmVudCBjYXNlIGZp
bGVzLCB3aGljaCB1c2UKKyAgICBsZXQgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNj
cmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgICBPYmplY3QuZGVmaW5lUHJvcGVy
dHkoaW5uZXIsICJjYWxsZXIiLCB7dmFsdWU6IDF9KTsKKyAgICB9CisgICAgdmFyIHJlc3VsdCA9
IGlubmVyKCk7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUg
JiYgdHJ1ZSkgeworICAgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0aGlzIHRl
c3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkgb24gdGhlIGlubmVyIGZ1bmN0aW9u
LCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1
ZSBpdCB3YXMgc2V0IHRvLicpOworICAgIH0KKworICAgIC8vICJDQUxMRVJfT1dOX1BST1BFUlRZ
X0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9tCisgICAgLy8gZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1h
Y2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9i
amVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAgICAvLyBuYW1lZCAiY2FsbGVyIiwg
dGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgICAvLworICAgIC8vIElmIHRoZSBm
dW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFuCisgICAgLy8gb3duIHByb3Bl
cnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgICAvLyBDQUxMRVJfT1dOX1BS
T1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQuCisgICAgaWYgKHJlc3VsdCAh
PT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkgeworICAgICAgYXNzZXJ0Lm5v
dFNhbWVWYWx1ZShyZXN1bHQsIHRoaXMubWV0aG9kKTsKKyAgICB9CisKKyAgICBjYWxsQ291bnQr
KzsKKyAgfQorfTsKKworQy5wcm90b3R5cGUubWV0aG9kKCk7Cithc3NlcnQuc2FtZVZhbHVlKGNh
bGxDb3VudCwgMSwgJ21ldGhvZCBib2R5IGV2YWx1YXRlZCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvbWV0aG9kL2ZvcmJpZGRl
bi1leHQvYjIvY2xzLWV4cHItbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9w
LWNhbGxlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Ns
YXNzL21ldGhvZC9mb3JiaWRkZW4tZXh0L2IyL2Nscy1leHByLW1ldGgtZm9yYmlkZGVuLWV4dC1p
bmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKaW5kZXggNmMyZTUwZDg4OTU1Zjk5OTFmNGJm
OGM1YzJhNDZhOWZiOTRiMjUwYi4uZDZmMzdiN2I2NGE2ZjZjYmUxZjc1ZGVmNTMzMWQ4OGM2NjI5
NzQ4ZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvY2xhc3MvbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWV4cHItbWV0aC1mb3JiaWRkZW4t
ZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFzcy9tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9j
bHMtZXhwci1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpz
CkBAIC00LDI4ICs0LDU5IEBACiAvKi0tLQogZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNp
b24sIG8uY2FsbGVyIChjbGFzcyBleHByZXNzaW9uIG1ldGhvZCkKIGVzaWQ6IHNlYy1jbGFzcy1k
ZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW2NsYXNz
XQogZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0XQogaW5mbzogfAogICAgIENsYXNzRXhwcmVz
c2lvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyb3B0IENsYXNzVGFpbAogCi0gICAgSWYgYW4g
aW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHBy
b3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZiB0aGF0IHByb3BlcnR5LCBhcyBvYnNl
cnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBz
dHJpY3QgZnVuY3Rpb24gb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhl
IGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0gYXR0
cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgor
CisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdp
dGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRoYXQg
cHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1d
LCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbgorICAgIG9iamVjdC4gSWYgaXQgaXMgYW4g
YWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUg
cHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3Ry
aWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgogCiAtLS0qLwordmFyIENBTExFUl9PV05fUFJPUEVS
VFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2woKTsKIGZ1bmN0aW9uIGlubmVyKCkgewotICAvLyBU
aGlzIHByb3BlcnR5IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgc3Ry
aWN0IGZ1bmN0aW9uIG9iamVjdAotICByZXR1cm4gaW5uZXIuY2FsbGVyOworICAvLyBUaGlzIHBy
b3BlcnR5IG1heSBleGlzdCwgYnV0IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRo
YXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Qcm9w
ZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlubmVyLmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9QUk9Q
RVJUWV9ET0VTX05PVF9FWElTVDsKIH0KIAogdmFyIGNhbGxDb3VudCA9IDA7CiB2YXIgQyA9IGNs
YXNzIHsKICAgbWV0aG9kKCkgewogICAgIC8qIGltcGxpY2l0IHN0cmljdCAqLwotICAgIGlubmVy
KCkudG9TdHJpbmcoKTsKKyAgICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFs
IHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgICAgLy8gRm9yIGV2ZXJ5
IHRlc3QgdGhhdCBoYXMgYSAidHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUgaXMgYQorICAgIC8vIGNv
cnJlc3BvbmRpbmcgdGVzdCB0aGF0IGhhcyBhICJmYWxzZSIgdmFsdWUgaGVyZS4KKyAgICAvLyBU
aGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNhc2UgZmlsZXMsIHdoaWNoIHVz
ZQorICAgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihp
bm5lciwgImNhbGxlciIpOworICAgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmln
dXJhYmxlICYmIGZhbHNlKSB7CisgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJj
YWxsZXIiLCB7fSk7CisgICAgfQorICAgIHZhciByZXN1bHQgPSBpbm5lcigpOworICAgIGlmIChk
ZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIGZhbHNlKSB7CisgICAgICBh
c3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMgdGVzdCBkZWZpbmVkIGFuIG93biAi
Y2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJl
IGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4gdGhlIHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7
CisgICAgfQorCisgICAgLy8gIkNBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QiIGlz
IGZyb20KKyAgICAvLyBmb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5j
YXNlCisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgaGFzIGFu
IG93biBwcm9wZXJ0eQorICAgIC8vIG5hbWVkICJjYWxsZXIiLCB0aGVuIGl0cyB2YWx1ZSB3aWxs
IGJlIHJldHVybmVkLgorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5u
ZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgICAvLyBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIs
IHRoZW4gdGhlIHN5bWJvbAorICAgIC8vIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJ
U1Qgd2lsbCBiZSByZXR1cm5lZC4KKyAgICBpZiAocmVzdWx0ICE9PSBDQUxMRVJfT1dOX1BST1BF
UlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdCwg
dGhpcy5tZXRob2QpOworICAgIH0KKwogICAgIGNhbGxDb3VudCsrOwogICB9CiB9OwogCi1hc3Nl
cnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gIEMucHJvdG90eXBlLm1ldGhvZCgp
OwotfSk7Ci1hc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ21ldGhvZCBib2R5IG5vdCBl
dmFsdWF0ZWQnKTsKK0MucHJvdG90eXBlLm1ldGhvZCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxs
Q291bnQsIDEsICdtZXRob2QgYm9keSBldmFsdWF0ZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2NsYXNzL3BvaXNvbmVkLXVuZGVyc2Nv
cmUtcHJvdG8uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9j
bGFzcy9wb2lzb25lZC11bmRlcnNjb3JlLXByb3RvLmpzCmluZGV4IGU5ZTMzM2ZhZGUxZWFmZGVl
MjVmODRiOTZkOTU2YmU1YTZkOTZhZjcuLjg1MjI1NjI4Yjc2MGEzNGQ3NGE1NDZjYzBhYWI0Zjdk
Y2U1NDcxMmUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2NsYXNzL3BvaXNvbmVkLXVuZGVyc2NvcmUtcHJvdG8uanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvcG9pc29uZWQtdW5kZXJzY29y
ZS1wcm90by5qcwpAQCAtMTQsNyArMTQsNyBAQCBpbmZvOiB8CiAKICAgWy4uLl0KICAgNC4gU2V0
IG9iai5bW1Byb3RvdHlwZV1dIHRvIHByb3RvLgotZmVhdHVyZXM6IFtjbGFzc10KK2ZlYXR1cmVz
OiBbY2xhc3MsIF9fcHJvdG9fX10KIC0tLSovCiAKIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmpl
Y3QucHJvdG90eXBlLCAnX19wcm90b19fJywgewpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mvc3ViY2xhc3MtYnVpbHRpbnMvc3ViY2xh
c3MtV2Vha1JlZi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2NsYXNzL3N1YmNsYXNzLWJ1aWx0aW5zL3N1YmNsYXNzLVdlYWtSZWYuanMKaW5kZXggN2Q4NDFh
NGI4NjBkMTViNmY0N2Q3ZWJjNzlkNjQyN2JhYjA3YWMwMS4uZmMzMjJkOGU0MjNjMTQ3NzdjMDc2
ZTc0ZDI3MTNkYzVkNzYyODE4OCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3Mvc3ViY2xhc3MtYnVpbHRpbnMvc3ViY2xhc3MtV2Vha1Jl
Zi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9jbGFz
cy9zdWJjbGFzcy1idWlsdGlucy9zdWJjbGFzcy1XZWFrUmVmLmpzCkBAIC0xMCw2ICsxMCw2IEBA
IGZsYWdzOiBbZ2VuZXJhdGVkXQogCiBjb25zdCBTdWJjbGFzcyA9IGNsYXNzIGV4dGVuZHMgV2Vh
a1JlZiB7fQogCi1jb25zdCBzdWIgPSBuZXcgU3ViY2xhc3MoKTsKK2NvbnN0IHN1YiA9IG5ldyBT
dWJjbGFzcyh7fSk7CiBhc3NlcnQoc3ViIGluc3RhbmNlb2YgU3ViY2xhc3MpOwogYXNzZXJ0KHN1
YiBpbnN0YW5jZW9mIFdlYWtSZWYpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9mdW5jLWV4cHIt
Zm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9i
MS9mdW5jLWV4cHItZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpz
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZjI4NDlmZThjZWViZWNmZjlhMmViZTc4
ZmEwZjNlODM5OGQxOTVhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Z1bmN0aW9u
L2ZvcmJpZGRlbi1leHQvYjEvZnVuYy1leHByLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1w
cm9wLWFyZ3VtZW50cy5qcworKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLS8vIFRoaXMg
ZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNl
czoKLS8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1w
cm9wLWFyZ3VtZW50cy5jYXNlCi0vLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0
ZW5zaW9ucy9idWxsZXQtb25lL2Z1bmMtZXhwci50ZW1wbGF0ZQotLyotLS0KLWRlc2NyaXB0aW9u
OiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmFyZ3VtZW50cyAoZnVuY3Rpb24gZXhwcmVzc2lvbikK
LWVzaWQ6IHNlYy1mdW5jdGlvbi1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0
aW9uCi1mbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCi1pbmZvOiB8Ci0gICAgRnVuY3Rpb25F
eHByZXNzaW9uIDogZnVuY3Rpb24gKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkg
fQotCi0gICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgc3ludGFj
dGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3Qgbm90IGJlIGNyZWF0ZWQg
d2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4gU3VjaCBv
d24gcHJvcGVydGllcyBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVj
dHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLCBHZW5l
cmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNHZW5lcmF0b3JEZWNs
YXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLCBDbGFzc0RlY2xhcmF0aW9uLCBDbGFz
c0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNGdW5jdGlvbkV4cHJl
c3Npb24sIG9yIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRl
ZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuIEJ1aWx0LWluIGZ1bmN0
aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1
Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBHZW5lcmF0b3IgY29u
c3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBBc3luY0Z1bmN0aW9u
IGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9k
IGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duIHByb3BlcnRpZXMuCi0KLS0t
LSovCi0KLXZhciBjYWxsQ291bnQgPSAwOwotdmFyIGY7Ci1mID0gZnVuY3Rpb24oKSB7Ci0gIGYu
YXJndW1lbnRzOwotICBjYWxsQ291bnQrKzsKLX07Ci1mKCk7Ci0KLWFzc2VydC5zYW1lVmFsdWUo
Y2FsbENvdW50LCAxLCAnZnVuY3Rpb24gd2FzIGV2YWx1YXRlZCcpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24vZm9yYmlkZGVu
LWV4dC9iMS9mdW5jLWV4cHItZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVy
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24v
Zm9yYmlkZGVuLWV4dC9iMS9mdW5jLWV4cHItZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXBy
b3AtY2FsbGVyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZGVjYzM2MWE3ODRj
MjcxMzkyMGMxMDI0NTdlZjZmNDBjZDRmMmRmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL2Z1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjEvZnVuYy1leHByLWZvcmJpZGRlbi1leHQtZGly
ZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAK
LS8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dp
bmcgc291cmNlczoKLS8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHQtZGlyZWN0
LWFjY2Vzcy1wcm9wLWNhbGxlci5jYXNlCi0vLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRk
ZW4tZXh0ZW5zaW9ucy9idWxsZXQtb25lL2Z1bmMtZXhwci50ZW1wbGF0ZQotLyotLS0KLWRlc2Ny
aXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoZnVuY3Rpb24gZXhwcmVzc2lv
bikKLWVzaWQ6IHNlYy1mdW5jdGlvbi1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFs
dWF0aW9uCi1mbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCi1pbmZvOiB8Ci0gICAgRnVuY3Rp
b25FeHByZXNzaW9uIDogZnVuY3Rpb24gKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJv
ZHkgfQotCi0gICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgc3lu
dGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3Qgbm90IGJlIGNyZWF0
ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4gU3Vj
aCBvd24gcHJvcGVydGllcyBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9i
amVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLCBH
ZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNHZW5lcmF0b3JE
ZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLCBDbGFzc0RlY2xhcmF0aW9uLCBD
bGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNGdW5jdGlvbkV4
cHJlc3Npb24sIG9yIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhl
IGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuIEJ1aWx0LWluIGZ1
bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25z
dHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBHZW5lcmF0b3Ig
Y29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBBc3luY0Z1bmN0
aW9uIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0
aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duIHByb3BlcnRpZXMuCi0K
LS0tLSovCi0KLXZhciBjYWxsQ291bnQgPSAwOwotdmFyIGY7Ci1mID0gZnVuY3Rpb24oKSB7Ci0g
IGYuY2FsbGVyOwotICBjYWxsQ291bnQrKzsKLX07Ci1mKCk7Ci0KLWFzc2VydC5zYW1lVmFsdWUo
Y2FsbENvdW50LCAxLCAnZnVuY3Rpb24gd2FzIGV2YWx1YXRlZCcpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24vZm9yYmlkZGVu
LWV4dC9iMS9mdW5jLWV4cHItc3RyaWN0LWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9w
LWFyZ3VtZW50cy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L2Z1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjEvZnVuYy1leHByLXN0cmljdC1mb3JiaWRkZW4tZXh0
LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKaW5kZXggNDZlOTQ2YmFmYWVjZThhZDBj
MTdhYmU0ZTQ0MTk2Mzg3Y2NmYjdjZS4uZTIzYTM4OTFhMTFkZmQ1Y2Q1MTAyOTQ1OWE0MGU5ZjNi
NzY3YTBlOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9mdW5jLWV4cHItc3RyaWN0LWZvcmJpZGRl
bi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2Z1
bmMtZXhwci1zdHJpY3QtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRz
LmpzCkBAIC0yLDEzICsyLDIyIEBACiAvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4t
ZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuY2FzZQogLy8gLSBzcmMvZnVuY3Rpb24t
Zm9ybXMvZm9yYmlkZGVuLWV4dGVuc2lvbnMvYnVsbGV0LW9uZS9mdW5jLWV4cHItc3RyaWN0LnRl
bXBsYXRlCiAvKi0tLQotZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uYXJndW1l
bnRzIChmdW5jdGlvbiBleHByZXNzaW9uKQorZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNp
b24sIGYuYXJndW1lbnRzIChmdW5jdGlvbiBleHByZXNzaW9uKQogZXNpZDogc2VjLWZ1bmN0aW9u
LWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KIGZsYWdzOiBbZ2VuZXJh
dGVkLCBub1N0cmljdF0KIGluZm86IHwKICAgICBGdW5jdGlvbkV4cHJlc3Npb24gOiBmdW5jdGlv
biAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7IEZ1bmN0aW9uQm9keSB9CiAKLSAgICBFQ01BU2NyaXB0
IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGlu
IHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVz
IG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28g
bXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFu
IEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBH
ZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVy
YXRvckV4cHJlc3Npb24sIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNG
dW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IgQXN5bmNBcnJv
d0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWlu
ZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4gQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rp
b25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVu
Y3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVu
Y3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24gY29uc3RydWN0b3IsIGFuZCBm
dW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBj
cmVhdGVkIHdpdGggc3VjaCBvd24gcHJvcGVydGllcy4KKyAgICBFQ01BU2NyaXB0IGZ1bmN0aW9u
IG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBt
b2RlIGNvZGUgbXVzdAorICAgIG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFt
ZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbworICAg
IG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBh
biBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLAorICAgIEdlbmVyYXRvckRlY2xhcmF0
aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3lu
Y0dlbmVyYXRvckV4cHJlc3Npb24sCisgICAgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNz
aW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBv
cgorICAgIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmlu
aXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuCisgICAgQnVpbHQtaW4gZnVu
Y3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0
cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zCisgICAgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJh
dG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNG
dW5jdGlvbgorICAgIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhl
IGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duCisgICAg
cHJvcGVydGllcy4KIAogLS0tKi8KIApAQCAtMTYsMTAgKzI1LDkgQEAgdmFyIGNhbGxDb3VudCA9
IDA7CiB2YXIgZjsKIGYgPSBmdW5jdGlvbigpIHsKICAgInVzZSBzdHJpY3QiOwotICBmLmFyZ3Vt
ZW50czsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShmLmhhc093blByb3BlcnR5KCJhcmd1bWVudHMiKSwg
ZmFsc2UpOwogICBjYWxsQ291bnQrKzsKIH07Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVu
Y3Rpb24oKSB7Ci0gIGYoKTsKLX0pOwotYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdm
dW5jdGlvbiBib2R5IG5vdCBldmFsdWF0ZWQnKTsKKworZigpOworYXNzZXJ0LnNhbWVWYWx1ZShj
YWxsQ291bnQsIDEsICdmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24vZm9yYmlkZGVu
LWV4dC9iMS9mdW5jLWV4cHItc3RyaWN0LWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9w
LWNhbGxlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Z1
bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjEvZnVuYy1leHByLXN0cmljdC1mb3JiaWRkZW4tZXh0LWRp
cmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKaW5kZXggNmYzNzUyMjI2ZjhmOTI3MWZmZjU3MmY2
NjI5ZWRiNjdhMzQ4Nzg3Ny4uZWM1NDY1YTM1NzkwMGY0NWUyZTk2OTQ5M2IyZmI2NjI5MWI3NzA3
MyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
ZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9mdW5jLWV4cHItc3RyaWN0LWZvcmJpZGRlbi1leHQt
ZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2Z1bmMtZXhwci1z
dHJpY3QtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCkBAIC04LDcg
KzgsMTYgQEAgZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0XQogaW5mbzogfAogICAgIEZ1bmN0
aW9uRXhwcmVzc2lvbiA6IGZ1bmN0aW9uICggRm9ybWFsUGFyYW1ldGVycyApIHsgRnVuY3Rpb25C
b2R5IH0KIAotICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5
bnRhY3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0IG5vdCBiZSBjcmVh
dGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1
Y2ggb3duIHByb3BlcnRpZXMgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBv
YmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwg
R2VuZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2VuZXJhdG9y
RGVjbGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwgQ2xhc3NEZWNsYXJhdGlvbiwg
Q2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25F
eHByZXNzaW9uLCBvciBBc3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRo
ZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLiBCdWlsdC1pbiBm
dW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rpb24gY29u
c3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9y
IGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5j
dGlvbiBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1l
dGhvZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93biBwcm9wZXJ0aWVzLgor
ICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBj
b25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0CisgICAgbm90IGJlIGNyZWF0ZWQg
d2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4gU3VjaCBv
d24gcHJvcGVydGllcyBhbHNvCisgICAgbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24g
b2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24s
CisgICAgR2VuZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2Vu
ZXJhdG9yRGVjbGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwKKyAgICBDbGFzc0Rl
Y2xhcmF0aW9uLCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5
bmNGdW5jdGlvbkV4cHJlc3Npb24sIG9yCisgICAgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxl
c3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUg
Y29kZS4KKyAgICBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1
c2luZyB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMKKyAgICBj
cmVhdGVkIHVzaW5nIHRoZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBj
cmVhdGVkIHVzaW5nIHRoZSBBc3luY0Z1bmN0aW9uCisgICAgY29uc3RydWN0b3IsIGFuZCBmdW5j
dGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVh
dGVkIHdpdGggc3VjaCBvd24KKyAgICBwcm9wZXJ0aWVzLgogCiAtLS0qLwogCkBAIC0xNiwxMCAr
MjUsOSBAQCB2YXIgY2FsbENvdW50ID0gMDsKIHZhciBmOwogZiA9IGZ1bmN0aW9uKCkgewogICAi
dXNlIHN0cmljdCI7Ci0gIGYuY2FsbGVyOworICBhc3NlcnQuc2FtZVZhbHVlKGYuaGFzT3duUHJv
cGVydHkoImNhbGxlciIpLCBmYWxzZSk7CiAgIGNhbGxDb3VudCsrOwogfTsKLWFzc2VydC50aHJv
d3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgZigpOwotfSk7Ci1hc3NlcnQuc2FtZVZhbHVl
KGNhbGxDb3VudCwgMCwgJ2Z1bmN0aW9uIGJvZHkgbm90IGV2YWx1YXRlZCcpOworCitmKCk7Cith
c3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9m
dW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2Z1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWluZGlyZWN0
LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9mdW5jLWV4cHItZm9y
YmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hZTBiNGNkNzg2OTYyOGNmMzQzMDMyZGZmOGYwZmIzOTNjM2E1ZDc3Ci0tLSAvZGV2L251
bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rp
b24vZm9yYmlkZGVuLWV4dC9iMi9mdW5jLWV4cHItZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nl
c3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcwpAQCAtMCwwICsxLDU5IEBACisvLyBUaGlzIGZpbGUg
d2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6Cisv
LyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24t
cHJvcC1jYWxsZXItZ2V0LmNhc2UKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1l
eHRlbnNpb25zL2J1bGxldC10d28vZnVuYy1leHByLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRp
b246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVyIChmdW5jdGlvbiBleHByZXNzaW9uKQor
ZXNpZDogc2VjLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KK2ZsYWdz
OiBbZ2VuZXJhdGVkLCBub1N0cmljdF0KK2luZm86IHwKKyAgICBGdW5jdGlvbkV4cHJlc3Npb24g
OiBmdW5jdGlvbiAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7IEZ1bmN0aW9uQm9keSB9CisKKyAgICBJ
ZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBv
d24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZhbHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0
eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qg
bm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9uCisgICAgb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3Nv
ciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0
eSdzIFtbR2V0XV0KKyAgICBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVu
Y3Rpb24gd2hlbiBjYWxsZWQuCisKKy0tLSovCit2YXIgQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VT
X05PVF9FWElTVCA9IFN5bWJvbCgpOworZnVuY3Rpb24gaW5uZXIoKSB7CisgIC8vIFRoaXMgcHJv
cGVydHkgbWF5IGV4aXN0LCBidXQgaXMgZm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhh
dCBpcyBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKKyAgcmV0dXJuIGlubmVyLmhhc093blByb3Bl
cnR5KCJjYWxsZXIiKQorICAgID8gaW5uZXIuY2FsbGVyCisgICAgOiBDQUxMRVJfT1dOX1BST1BF
UlRZX0RPRVNfTk9UX0VYSVNUOworfQorCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBmOworZiA9
IGZ1bmN0aW9uKCkgeworICAidXNlIHN0cmljdCI7CisgIC8vIFRoaXMgYW5kIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9uYWwgdmFsdWUgaXMgc2V0IGluIHRoZSB0ZXN0J3MgLmNhc2UgZmlsZS4KKyAg
Ly8gRm9yIGV2ZXJ5IHRlc3QgdGhhdCBoYXMgYSAidHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUgaXMg
YQorICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUu
CisgIC8vIFRoZXkgYXJlIGdlbmVyYXRlZCBmcm9tIHR3byBkaWZmZXJlbnQgY2FzZSBmaWxlcywg
d2hpY2ggdXNlCisgIC8vIHRoZSBzYW1lIHRlbXBsYXRlcy4KKyAgbGV0IGRlc2NyaXB0b3IgPSBP
YmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGlubmVyLCAiY2FsbGVyIik7CisgIGlmIChk
ZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICBPYmpl
Y3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJjYWxsZXIiLCB7Z2V0KCl7cmV0dXJuIDF9fSk7Cisg
IH0KKyAgdmFyIHJlc3VsdCA9IGlubmVyKCk7CisgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0
b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwg
MSwgJ0lmIHRoaXMgdGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUg
aW5uZXIgZnVuY3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCBy
ZXR1cm4gdGhlIHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgIH0KKworICAvLyAiQ0FMTEVSX09X
Tl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCIgaXMgZnJvbQorICAvLyBmb3JiaWRkZW4tZXh0LWlu
ZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5jYXNlCisgIC8vCisgIC8vIElmIHRoZSBmdW5jdGlv
biBvYmplY3QgImlubmVyIiBoYXMgYW4gb3duIHByb3BlcnR5CisgIC8vIG5hbWVkICJjYWxsZXIi
LCB0aGVuIGl0cyB2YWx1ZSB3aWxsIGJlIHJldHVybmVkLgorICAvLworICAvLyBJZiB0aGUgZnVu
Y3Rpb24gb2JqZWN0ICJpbm5lciIgRE9FUyBOT1QgaGF2ZSBhbgorICAvLyBvd24gcHJvcGVydHkg
bmFtZWQgImNhbGxlciIsIHRoZW4gdGhlIHN5bWJvbAorICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZ
X0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQuCisgIGlmIChyZXN1bHQgIT09IENBTExF
Ul9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QpIHsKKyAgICBhc3NlcnQubm90U2FtZVZhbHVl
KHJlc3VsdCwgZik7CisgIH0KKworICBjYWxsQ291bnQrKzsKK307CitmKCk7Cithc3NlcnQuc2Ft
ZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2JvZHkgZXZhbHVhdGVkJyk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9mb3JiaWRkZW4t
ZXh0L2IyL2Z1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1j
YWxsZXItdmFsdWUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2Z1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWluZGly
ZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTUyZGQ4NGQ5
OGRkNTcxYTBhMWYyOTFlN2FmZTQ2ZWI3Zjg1NGRhZgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2Z1bmN0aW9uL2ZvcmJpZGRlbi1l
eHQvYjIvZnVuYy1leHByLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNh
bGxlci12YWx1ZS5qcwpAQCAtMCwwICsxLDU5IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVy
YWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5j
dGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXIt
dmFsdWUuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dGVuc2lvbnMv
YnVsbGV0LXR3by9mdW5jLWV4cHIudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogRm9yYmlk
ZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIgKGZ1bmN0aW9uIGV4cHJlc3Npb24pCitlc2lkOiBzZWMt
ZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmxhZ3M6IFtnZW5lcmF0
ZWQsIG5vU3RyaWN0XQoraW5mbzogfAorICAgIEZ1bmN0aW9uRXhwcmVzc2lvbiA6IGZ1bmN0aW9u
ICggRm9ybWFsUGFyYW1ldGVycyApIHsgRnVuY3Rpb25Cb2R5IH0KKworICAgIElmIGFuIGltcGxl
bWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0
eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBvYnNl
cnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBz
dHJpY3QgZnVuY3Rpb24KKyAgICBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5
LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRd
XQorICAgIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVu
IGNhbGxlZC4KKworLS0tKi8KK3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNU
ID0gU3ltYm9sKCk7CitmdW5jdGlvbiBpbm5lcigpIHsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBtYXkg
ZXhpc3QsIGJ1dCBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEgc3Ry
aWN0IGZ1bmN0aW9uIG9iamVjdAorICByZXR1cm4gaW5uZXIuaGFzT3duUHJvcGVydHkoImNhbGxl
ciIpCisgICAgPyBpbm5lci5jYWxsZXIKKyAgICA6IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19O
T1RfRVhJU1Q7Cit9CisKK3ZhciBjYWxsQ291bnQgPSAwOwordmFyIGY7CitmID0gZnVuY3Rpb24o
KSB7CisgICJ1c2Ugc3RyaWN0IjsKKyAgLy8gVGhpcyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRlc3QncyAuY2FzZSBmaWxlLgorICAvLyBGb3IgZXZl
cnkgdGVzdCB0aGF0IGhhcyBhICJ0cnVlIiB2YWx1ZSBoZXJlLCB0aGVyZSBpcyBhCisgIC8vIGNv
cnJlc3BvbmRpbmcgdGVzdCB0aGF0IGhhcyBhICJmYWxzZSIgdmFsdWUgaGVyZS4KKyAgLy8gVGhl
eSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdvIGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UK
KyAgLy8gdGhlIHNhbWUgdGVtcGxhdGVzLgorICBsZXQgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgaWYgKGRlc2NyaXB0b3Ig
JiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgdHJ1ZSkgeworICAgIE9iamVjdC5kZWZpbmVQ
cm9wZXJ0eShpbm5lciwgImNhbGxlciIsIHt2YWx1ZTogMX0pOworICB9CisgIHZhciByZXN1bHQg
PSBpbm5lcigpOworICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAm
JiB0cnVlKSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0aGlzIHRlc3Qg
ZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkgb24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0
aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBp
dCB3YXMgc2V0IHRvLicpOworICB9CisKKyAgLy8gIkNBTExFUl9PV05fUFJPUEVSVFlfRE9FU19O
T1RfRVhJU1QiIGlzIGZyb20KKyAgLy8gZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJv
cC1jYWxsZXIuY2FzZQorICAvLworICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIg
aGFzIGFuIG93biBwcm9wZXJ0eQorICAvLyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUg
d2lsbCBiZSByZXR1cm5lZC4KKyAgLy8KKyAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5u
ZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0
aGVuIHRoZSBzeW1ib2wKKyAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCB3
aWxsIGJlIHJldHVybmVkLgorICBpZiAocmVzdWx0ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZX0RP
RVNfTk9UX0VYSVNUKSB7CisgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIGYpOworICB9
CisKKyAgY2FsbENvdW50Kys7Cit9OworZigpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQs
IDEsICdib2R5IGV2YWx1YXRlZCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9mdW5jLWV4cHIt
Zm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2Iy
L2Z1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwpp
bmRleCBiZDllZWEwYWMxY2E4NDkzNTllYTkwNDExYWUyNGEzYWU4OGI0MWZmLi4wMTZjNTcwY2Jm
MGY0YTBiNjMzYzM3ZTFhMGQwMjY5NzEwYThkYjdiIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2Z1
bmMtZXhwci1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9mdW5jdGlvbi9mb3Ji
aWRkZW4tZXh0L2IyL2Z1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9w
LWNhbGxlci5qcwpAQCAtOCwyMiArOCw1MiBAQCBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3Rd
CiBpbmZvOiB8CiAgICAgRnVuY3Rpb25FeHByZXNzaW9uIDogZnVuY3Rpb24gKCBGb3JtYWxQYXJh
bWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQogCi0gICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0
ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxs
ZXIiIHRoZSB2YWx1ZSBvZiB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1d
IG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24gb2Jq
ZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMg
dGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0gYXR0cmlidXRlIG11c3QgbmV2ZXIg
cmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgorICAgIElmIGFuIGltcGxlbWVu
dGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBu
YW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZl
ZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJp
Y3QgZnVuY3Rpb24KKyAgICBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0
aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRdXQor
ICAgIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNh
bGxlZC4KIAogLS0tKi8KK3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUID0g
U3ltYm9sKCk7CiBmdW5jdGlvbiBpbm5lcigpIHsKLSAgLy8gVGhpcyBwcm9wZXJ0eSBpcyBmb3Ji
aWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIHN0cmljdCBmdW5jdGlvbiBvYmplY3QK
LSAgcmV0dXJuIGlubmVyLmNhbGxlcjsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBtYXkgZXhpc3QsIGJ1
dCBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEgc3RyaWN0IGZ1bmN0
aW9uIG9iamVjdAorICByZXR1cm4gaW5uZXIuaGFzT3duUHJvcGVydHkoImNhbGxlciIpCisgICAg
PyBpbm5lci5jYWxsZXIKKyAgICA6IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Q7
CiB9CiAKIHZhciBjYWxsQ291bnQgPSAwOwogdmFyIGY7CiBmID0gZnVuY3Rpb24oKSB7CiAgICJ1
c2Ugc3RyaWN0IjsKLSAgaW5uZXIoKS50b1N0cmluZygpOworICAvLyBUaGlzIGFuZCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5jYXNlIGZpbGUu
CisgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRoZXJl
IGlzIGEKKyAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBo
ZXJlLgorICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNhc2UgZmls
ZXMsIHdoaWNoIHVzZQorICAvLyB0aGUgc2FtZSB0ZW1wbGF0ZXMuCisgIGxldCBkZXNjcmlwdG9y
ID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbm5lciwgImNhbGxlciIpOworICBp
ZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiBmYWxzZSkgeworICAg
IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbm5lciwgImNhbGxlciIsIHt9KTsKKyAgfQorICB2YXIg
cmVzdWx0ID0gaW5uZXIoKTsKKyAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1
cmFibGUgJiYgZmFsc2UpIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRo
aXMgdGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVu
Y3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4gdGhl
IHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgIH0KKworICAvLyAiQ0FMTEVSX09XTl9QUk9QRVJU
WV9ET0VTX05PVF9FWElTVCIgaXMgZnJvbQorICAvLyBmb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFj
Y2Vzcy1wcm9wLWNhbGxlci5jYXNlCisgIC8vCisgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3Qg
ImlubmVyIiBoYXMgYW4gb3duIHByb3BlcnR5CisgIC8vIG5hbWVkICJjYWxsZXIiLCB0aGVuIGl0
cyB2YWx1ZSB3aWxsIGJlIHJldHVybmVkLgorICAvLworICAvLyBJZiB0aGUgZnVuY3Rpb24gb2Jq
ZWN0ICJpbm5lciIgRE9FUyBOT1QgaGF2ZSBhbgorICAvLyBvd24gcHJvcGVydHkgbmFtZWQgImNh
bGxlciIsIHRoZW4gdGhlIHN5bWJvbAorICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9U
X0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQuCisgIGlmIChyZXN1bHQgIT09IENBTExFUl9PV05fUFJP
UEVSVFlfRE9FU19OT1RfRVhJU1QpIHsKKyAgICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdCwg
Zik7CisgIH0KKwogICBjYWxsQ291bnQrKzsKIH07Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
ZnVuY3Rpb24oKSB7Ci0gIGYoKTsKLX0pOwotYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAs
ICdtZXRob2QgYm9keSBub3QgZXZhbHVhdGVkJyk7CitmKCk7Cithc3NlcnQuc2FtZVZhbHVlKGNh
bGxDb3VudCwgMSwgJ2JvZHkgZXZhbHVhdGVkJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0b3JzL2ZvcmJpZGRlbi1leHQvYjEv
Z2VuLWZ1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0b3Jz
L2ZvcmJpZGRlbi1leHQvYjEvZ2VuLWZ1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nl
c3MtcHJvcC1hcmd1bWVudHMuanMKaW5kZXggOThkOWUzMDlhNDg4NDFjMTI2MjMzOWFhOTAyZTdk
YWIyMjIzOTAyMC4uYjIzMjJlNjA4NDAzMDYyZjA2YWM2ZjdhMTRlM2JjNmU5YzRlZWY0NiAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ2VuZXJh
dG9ycy9mb3JiaWRkZW4tZXh0L2IxL2dlbi1mdW5jLWV4cHItZm9yYmlkZGVuLWV4dC1kaXJlY3Qt
YWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRvcnMvZm9yYmlkZGVuLWV4dC9iMS9nZW4tZnVuYy1leHBy
LWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwpAQCAtMiw3ICsy
LDcgQEAKIC8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vz
cy1wcm9wLWFyZ3VtZW50cy5jYXNlCiAvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4t
ZXh0ZW5zaW9ucy9idWxsZXQtb25lL2dlbi1mdW5jLWV4cHIudGVtcGxhdGUKIC8qLS0tCi1kZXNj
cmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5hcmd1bWVudHMgKGdlbmVyYXRvciBmdW5j
dGlvbiBleHByZXNzaW9uKQorZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIGYuYXJn
dW1lbnRzIChnZW5lcmF0b3IgZnVuY3Rpb24gZXhwcmVzc2lvbikKIGVzaWQ6IHNlYy1nZW5lcmF0
b3ItZnVuY3Rpb24tZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgogZmVh
dHVyZXM6IFtnZW5lcmF0b3JzXQogZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0XQpAQCAtMTAs
MTggKzEwLDI2IEBAIGluZm86IHwKICAgICBHZW5lcmF0b3JFeHByZXNzaW9uIDogZnVuY3Rpb24g
KiAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7IEdlbmVyYXRvckJvZHkgfQogCiAKLSAgICBFQ01BU2Ny
aXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3Jz
IGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0
aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFs
c28gbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5n
IGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sIEdlbmVyYXRvckRlY2xhcmF0aW9u
LCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dl
bmVyYXRvckV4cHJlc3Npb24sIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5
bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IgQXN5bmNB
cnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250
YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4gQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVu
Y3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3Ig
ZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMg
ZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24gY29uc3RydWN0b3IsIGFu
ZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBi
ZSBjcmVhdGVkIHdpdGggc3VjaCBvd24gcHJvcGVydGllcy4KKyAgICBFQ01BU2NyaXB0IGZ1bmN0
aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmlj
dCBtb2RlIGNvZGUgbXVzdAorICAgIG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMg
bmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbwor
ICAgIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2lu
ZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLAorICAgIEdlbmVyYXRvckRlY2xh
cmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBB
c3luY0dlbmVyYXRvckV4cHJlc3Npb24sCisgICAgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHBy
ZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9u
LCBvcgorICAgIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRl
ZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuCisgICAgQnVpbHQtaW4g
ZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNv
bnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zCisgICAgY3JlYXRlZCB1c2luZyB0aGUgR2Vu
ZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5
bmNGdW5jdGlvbgorICAgIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcg
dGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duCisg
ICAgcHJvcGVydGllcy4KIAogLS0tKi8KIAogdmFyIGNhbGxDb3VudCA9IDA7CiB2YXIgZjsKIGYg
PSBmdW5jdGlvbiooKSB7Ci0gIGYuYXJndW1lbnRzOworICBhc3NlcnQuc2FtZVZhbHVlKGYuaGFz
T3duUHJvcGVydHkoImFyZ3VtZW50cyIpLCBmYWxzZSk7CiAgIGNhbGxDb3VudCsrOwogfTsKIAot
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBmKCkubmV4dCgpOwotfSk7
Ci1hc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2dlbmVyYXRvciBmdW5jdGlvbiBib2R5
IG5vdCBldmFsdWF0ZWQnKTsKK2YoKS5uZXh0KCk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3Vu
dCwgMSwgJ2dlbmVyYXRvciBmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcpOworCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0b3JzL2Zv
cmJpZGRlbi1leHQvYjEvZ2VuLWZ1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3Mt
cHJvcC1jYWxsZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9nZW5lcmF0b3JzL2ZvcmJpZGRlbi1leHQvYjEvZ2VuLWZ1bmMtZXhwci1mb3JiaWRkZW4tZXh0
LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKaW5kZXggZmEyNTVmNmJiMDdjMGQ4NTQ3MzQ1
NmY0ZDMyZDgwYjJkMmRiODdhMy4uNDU0OWJkOTk5MDI4MzhlNjNlZmVhZmYzOTAzZjAzM2ExZDQ0
NDk5YiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvZ2VuZXJhdG9ycy9mb3JiaWRkZW4tZXh0L2IxL2dlbi1mdW5jLWV4cHItZm9yYmlkZGVuLWV4
dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRvcnMvZm9yYmlkZGVuLWV4dC9iMS9nZW4tZnVu
Yy1leHByLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwpAQCAtMTAs
MTggKzEwLDI2IEBAIGluZm86IHwKICAgICBHZW5lcmF0b3JFeHByZXNzaW9uIDogZnVuY3Rpb24g
KiAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7IEdlbmVyYXRvckJvZHkgfQogCiAKLSAgICBFQ01BU2Ny
aXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3Jz
IGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0
aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFs
c28gbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5n
IGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sIEdlbmVyYXRvckRlY2xhcmF0aW9u
LCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dl
bmVyYXRvckV4cHJlc3Npb24sIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5
bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IgQXN5bmNB
cnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250
YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4gQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVu
Y3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3Ig
ZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMg
ZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24gY29uc3RydWN0b3IsIGFu
ZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBi
ZSBjcmVhdGVkIHdpdGggc3VjaCBvd24gcHJvcGVydGllcy4KKyAgICBFQ01BU2NyaXB0IGZ1bmN0
aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmlj
dCBtb2RlIGNvZGUgbXVzdAorICAgIG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMg
bmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbwor
ICAgIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2lu
ZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLAorICAgIEdlbmVyYXRvckRlY2xh
cmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBB
c3luY0dlbmVyYXRvckV4cHJlc3Npb24sCisgICAgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHBy
ZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9u
LCBvcgorICAgIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRl
ZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuCisgICAgQnVpbHQtaW4g
ZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNv
bnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zCisgICAgY3JlYXRlZCB1c2luZyB0aGUgR2Vu
ZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5
bmNGdW5jdGlvbgorICAgIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcg
dGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duCisg
ICAgcHJvcGVydGllcy4KIAogLS0tKi8KIAogdmFyIGNhbGxDb3VudCA9IDA7CiB2YXIgZjsKIGYg
PSBmdW5jdGlvbiooKSB7Ci0gIGYuY2FsbGVyOworICBhc3NlcnQuc2FtZVZhbHVlKGYuaGFzT3du
UHJvcGVydHkoImNhbGxlciIpLCBmYWxzZSk7CiAgIGNhbGxDb3VudCsrOwogfTsKIAotYXNzZXJ0
LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBmKCkubmV4dCgpOwotfSk7Ci1hc3Nl
cnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2dlbmVyYXRvciBmdW5jdGlvbiBib2R5IG5vdCBl
dmFsdWF0ZWQnKTsKK2YoKS5uZXh0KCk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwg
J2dlbmVyYXRvciBmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcpOworCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9nZW5lcmF0b3JzL2ZvcmJpZGRl
bi1leHQvYjIvZ2VuLWZ1bmMtZXhwci1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24t
cHJvcC1jYWxsZXItZ2V0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvZ2VuZXJhdG9ycy9mb3JiaWRkZW4tZXh0L2IyL2dlbi1mdW5jLWV4cHItZm9yYmlkZGVu
LWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
MmU0OGYwMzM2MDYxOTcxODNjMjMzY2Y4ODFmMGE3ODY5OWMwNTc2Ci0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ2VuZXJhdG9ycy9m
b3JiaWRkZW4tZXh0L2IyL2dlbi1mdW5jLWV4cHItZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nl
c3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcwpAQCAtMCwwICsxLDYyIEBACisvLyBUaGlzIGZpbGUg
d2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6Cisv
LyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24t
cHJvcC1jYWxsZXItZ2V0LmNhc2UKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1l
eHRlbnNpb25zL2J1bGxldC10d28vZ2VuLWZ1bmMtZXhwci50ZW1wbGF0ZQorLyotLS0KK2Rlc2Ny
aXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoZ2VuZXJhdG9yIGZ1bmN0aW9u
IGV4cHJlc3Npb24pCitlc2lkOiBzZWMtZ2VuZXJhdG9yLWRlZmluaXRpb25zLXJ1bnRpbWUtc2Vt
YW50aWNzLWV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbZ2VuZXJhdG9yc10KK2ZsYWdzOiBbZ2VuZXJh
dGVkLCBub1N0cmljdF0KK2luZm86IHwKKyAgICBHZW5lcmF0b3JFeHByZXNzaW9uIDogZnVuY3Rp
b24gKiAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7IEdlbmVyYXRvckJvZHkgfQorCisKKyAgICBJZiBh
biBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24g
cHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZhbHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0eSwg
YXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90
IGJlIGEgc3RyaWN0IGZ1bmN0aW9uCisgICAgb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBw
cm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdz
IFtbR2V0XV0KKyAgICBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rp
b24gd2hlbiBjYWxsZWQuCisKKy0tLSovCit2YXIgQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05P
VF9FWElTVCA9IFN5bWJvbCgpOworZnVuY3Rpb24gaW5uZXIoKSB7CisgIC8vIFRoaXMgcHJvcGVy
dHkgbWF5IGV4aXN0LCBidXQgaXMgZm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBp
cyBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKKyAgcmV0dXJuIGlubmVyLmhhc093blByb3BlcnR5
KCJjYWxsZXIiKQorICAgID8gaW5uZXIuY2FsbGVyCisgICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZ
X0RPRVNfTk9UX0VYSVNUOworfQorCit2YXIgY2FsbENvdW50ID0gMDsKK3ZhciBmOworZiA9IGZ1
bmN0aW9uKigpIHsKKyAgInVzZSBzdHJpY3QiOworICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgIC8v
IEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEK
KyAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBoZXJlLgor
ICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNhc2UgZmlsZXMsIHdo
aWNoIHVzZQorICAvLyB0aGUgc2FtZSB0ZW1wbGF0ZXMuCisgIGxldCBkZXNjcmlwdG9yID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbm5lciwgImNhbGxlciIpOworICBpZiAoZGVz
Y3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgT2JqZWN0
LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2FsbGVyIiwge2dldCgpe3JldHVybiAxfX0pOworICB9
CisgIHZhciByZXN1bHQgPSBpbm5lcigpOworICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9y
LmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEs
ICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkgb24gdGhlIGlu
bmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91bGQgcmV0
dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICB9CisKKyAgLy8gIkNBTExFUl9PV05f
UFJPUEVSVFlfRE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAgLy8gZm9yYmlkZGVuLWV4dC1pbmRp
cmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAvLworICAvLyBJZiB0aGUgZnVuY3Rpb24g
b2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAvLyBuYW1lZCAiY2FsbGVyIiwg
dGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgLy8KKyAgLy8gSWYgdGhlIGZ1bmN0
aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgLy8gb3duIHByb3BlcnR5IG5h
bWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9E
T0VTX05PVF9FWElTVCB3aWxsIGJlIHJldHVybmVkLgorICBpZiAocmVzdWx0ICE9PSBDQUxMRVJf
T1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShy
ZXN1bHQsIGYpOworICB9CisKKyAgY2FsbENvdW50Kys7Cit9OworCitmKCkubmV4dCgpOworYXNz
ZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdnZW5lcmF0b3IgZnVuY3Rpb24gYm9keSBldmFs
dWF0ZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL2dlbmVyYXRvcnMvZm9yYmlkZGVuLWV4dC9iMi9nZW4tZnVuYy1leHByLWZvcmJpZGRl
bi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRvcnMvZm9yYmlkZGVuLWV4
dC9iMi9nZW4tZnVuYy1leHByLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9w
LWNhbGxlci12YWx1ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMjEyYmEwNDAyZGIxZGViNTIwM2ZkZGRiNzdh
NjI1MTE1NzNjZTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvZ2VuZXJhdG9ycy9mb3JiaWRkZW4tZXh0L2IyL2dlbi1mdW5jLWV4
cHItZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpz
CkBAIC0wLDAgKzEsNjIgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRl
ZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2Zv
cmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5jYXNlCisv
LyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQtdHdvL2dl
bi1mdW5jLWV4cHIudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVu
c2lvbiwgby5jYWxsZXIgKGdlbmVyYXRvciBmdW5jdGlvbiBleHByZXNzaW9uKQorZXNpZDogc2Vj
LWdlbmVyYXRvci1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0
dXJlczogW2dlbmVyYXRvcnNdCitmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCitpbmZvOiB8
CisgICAgR2VuZXJhdG9yRXhwcmVzc2lvbiA6IGZ1bmN0aW9uICogKCBGb3JtYWxQYXJhbWV0ZXJz
ICkgeyBHZW5lcmF0b3JCb2R5IH0KKworCisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5k
cyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIi
IHRoZSB2YWx1ZSBvZgorICAgIHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0
XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbgor
ICAgIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0
aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0cmlidXRl
IG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgorCistLS0q
LwordmFyIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2woKTsKK2Z1
bmN0aW9uIGlubmVyKCkgeworICAvLyBUaGlzIHByb3BlcnR5IG1heSBleGlzdCwgYnV0IGlzIGZv
cmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24gb2Jq
ZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlubmVy
LmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVDsKK30KKwor
dmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgZjsKK2YgPSBmdW5jdGlvbiooKSB7CisgICJ1c2Ugc3Ry
aWN0IjsKKyAgLy8gVGhpcyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBz
ZXQgaW4gdGhlIHRlc3QncyAuY2FzZSBmaWxlLgorICAvLyBGb3IgZXZlcnkgdGVzdCB0aGF0IGhh
cyBhICJ0cnVlIiB2YWx1ZSBoZXJlLCB0aGVyZSBpcyBhCisgIC8vIGNvcnJlc3BvbmRpbmcgdGVz
dCB0aGF0IGhhcyBhICJmYWxzZSIgdmFsdWUgaGVyZS4KKyAgLy8gVGhleSBhcmUgZ2VuZXJhdGVk
IGZyb20gdHdvIGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgLy8gdGhlIHNhbWUg
dGVtcGxhdGVzLgorICBsZXQgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5j
b25maWd1cmFibGUgJiYgdHJ1ZSkgeworICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbm5lciwg
ImNhbGxlciIsIHt2YWx1ZTogMX0pOworICB9CisgIHZhciByZXN1bHQgPSBpbm5lcigpOworICBp
ZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAg
YXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24g
ImNhbGxlciIgcHJvcGVydHkgb24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBi
ZSBhY2Nlc3NpYmxlIGFuZCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicp
OworICB9CisKKyAgLy8gIkNBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QiIGlzIGZy
b20KKyAgLy8gZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQor
ICAvLworICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9w
ZXJ0eQorICAvLyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5l
ZC4KKyAgLy8KKyAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9UIGhh
dmUgYW4KKyAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wK
KyAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCB3aWxsIGJlIHJldHVybmVk
LgorICBpZiAocmVzdWx0ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7
CisgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIGYpOworICB9CisKKyAgY2FsbENvdW50
Kys7Cit9OworCitmKCkubmV4dCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdn
ZW5lcmF0b3IgZnVuY3Rpb24gYm9keSBldmFsdWF0ZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL2dlbmVyYXRvcnMvZm9yYmlkZGVuLWV4
dC9iMi9nZW4tZnVuYy1leHByLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2Fs
bGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ2VuZXJh
dG9ycy9mb3JiaWRkZW4tZXh0L2IyL2dlbi1mdW5jLWV4cHItZm9yYmlkZGVuLWV4dC1pbmRpcmVj
dC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKaW5kZXggY2IxODEyZDY3Y2MxMzVhMzRlNDI2NDQ4NDE0
MGViOGFkZWFhNGZiNS4uMWM3MzgzNmNkODlkMWE3YmNmMTcxY2E3NzE3MjUzYmNkY2Q3OTIxYSAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvZ2Vu
ZXJhdG9ycy9mb3JiaWRkZW4tZXh0L2IyL2dlbi1mdW5jLWV4cHItZm9yYmlkZGVuLWV4dC1pbmRp
cmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvZ2VuZXJhdG9ycy9mb3JiaWRkZW4tZXh0L2IyL2dlbi1mdW5jLWV4
cHItZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKQEAgLTEwLDIz
ICsxMCw1MyBAQCBpbmZvOiB8CiAgICAgR2VuZXJhdG9yRXhwcmVzc2lvbiA6IGZ1bmN0aW9uICog
KCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBHZW5lcmF0b3JCb2R5IH0KIAogCi0gICAgSWYgYW4gaW1w
bGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3Bl
cnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZiB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZl
ZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJp
Y3QgZnVuY3Rpb24gb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1
bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0gYXR0cmli
dXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgorICAg
IElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFu
IG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2YKKyAgICB0aGF0IHByb3Bl
cnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVz
dCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24KKyAgICBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vz
c29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3Bl
cnR5J3MgW1tHZXRdXQorICAgIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBm
dW5jdGlvbiB3aGVuIGNhbGxlZC4KIAogLS0tKi8KK3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZX0RP
RVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7CiBmdW5jdGlvbiBpbm5lcigpIHsKLSAgLy8gVGhpcyBw
cm9wZXJ0eSBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIHN0cmljdCBm
dW5jdGlvbiBvYmplY3QKLSAgcmV0dXJuIGlubmVyLmNhbGxlcjsKKyAgLy8gVGhpcyBwcm9wZXJ0
eSBtYXkgZXhpc3QsIGJ1dCBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlz
IGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdAorICByZXR1cm4gaW5uZXIuaGFzT3duUHJvcGVydHko
ImNhbGxlciIpCisgICAgPyBpbm5lci5jYWxsZXIKKyAgICA6IENBTExFUl9PV05fUFJPUEVSVFlf
RE9FU19OT1RfRVhJU1Q7CiB9CiAKIHZhciBjYWxsQ291bnQgPSAwOwogdmFyIGY7CiBmID0gZnVu
Y3Rpb24qKCkgewogICAidXNlIHN0cmljdCI7Ci0gIGlubmVyKCkudG9TdHJpbmcoKTsKKyAgLy8g
VGhpcyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRl
c3QncyAuY2FzZSBmaWxlLgorICAvLyBGb3IgZXZlcnkgdGVzdCB0aGF0IGhhcyBhICJ0cnVlIiB2
YWx1ZSBoZXJlLCB0aGVyZSBpcyBhCisgIC8vIGNvcnJlc3BvbmRpbmcgdGVzdCB0aGF0IGhhcyBh
ICJmYWxzZSIgdmFsdWUgaGVyZS4KKyAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdvIGRp
ZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgLy8gdGhlIHNhbWUgdGVtcGxhdGVzLgor
ICBsZXQgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5uZXIs
ICJjYWxsZXIiKTsKKyAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUg
JiYgZmFsc2UpIHsKKyAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJjYWxsZXIiLCB7
fSk7CisgIH0KKyAgdmFyIHJlc3VsdCA9IGlubmVyKCk7CisgIGlmIChkZXNjcmlwdG9yICYmIGRl
c2NyaXB0b3IuY29uZmlndXJhYmxlICYmIGZhbHNlKSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShy
ZXN1bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkg
b24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBz
aG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICB9CisKKyAgLy8gIkNB
TExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAgLy8gZm9yYmlkZGVu
LWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAvLworICAvLyBJZiB0aGUg
ZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAvLyBuYW1lZCAi
Y2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgLy8KKyAgLy8gSWYg
dGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgLy8gb3duIHBy
b3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgLy8gQ0FMTEVSX09XTl9Q
Uk9QRVJUWV9ET0VTX05PVF9FWElTVCB3aWxsIGJlIHJldHVybmVkLgorICBpZiAocmVzdWx0ICE9
PSBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgYXNzZXJ0Lm5vdFNh
bWVWYWx1ZShyZXN1bHQsIGYpOworICB9CisKICAgY2FsbENvdW50Kys7CiB9OwogCi1hc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gIGYoKS5uZXh0KCk7Ci19KTsKLWFzc2Vy
dC5zYW1lVmFsdWUoY2FsbENvdW50LCAwLCAnZ2VuZXJhdG9yIGZ1bmN0aW9uIGJvZHkgbm90IGV2
YWx1YXRlZCcpOworZigpLm5leHQoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAn
Z2VuZXJhdG9yIGZ1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvX19wcm90b19fLWR1cGxp
Y2F0ZS1jb21wdXRlZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL29iamVjdC9fX3Byb3RvX18tZHVwbGljYXRlLWNvbXB1dGVkLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgz
ODUxMTAxOWNjYjAwZTY2MzU1YTM4OWU4YThlNWI5YmVmNjdlZGYKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvX19wcm90
b19fLWR1cGxpY2F0ZS1jb21wdXRlZC5qcwpAQCAtMCwwICsxLDU0IEBACisvLyBDb3B5cmlnaHQg
KEMpIDIwMTcgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
IFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJ
Q0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtX19wcm90b19fLXByb3BlcnR5LW5hbWVzLWlu
LW9iamVjdC1pbml0aWFsaXplcnMKK2VzNmlkOiBCLjMuMQorZGVzY3JpcHRpb246ID4KKyAgICBU
aGUgc3ludGF4IGVycm9yIGZvciBkdXBsaWNhdGUgYF9fcHJvdG9fX2AgcHJvcGVydHkgaXMgbm90
IHZhbGlkIGlmIHRoZSBkdXBsaWNhdGUgaXMgYQorICAgIENvbXB1dGVkUHJvcGVydHlOYW1lCitp
bmZvOiB8CisgICAgQi4zLjFfX3Byb3RvX18gUHJvcGVydHkgTmFtZXMgaW4gT2JqZWN0IEluaXRp
YWxpemVycworCisgICAgSXQgaXMgYSBTeW50YXggRXJyb3IgaWYgUHJvcGVydHlOYW1lTGlzdCBv
ZiBQcm9wZXJ0eURlZmluaXRpb25MaXN0IGNvbnRhaW5zIGFueSBkdXBsaWNhdGUKKyAgICBlbnRy
aWVzIGZvciAgIl9fcHJvdG9fXyIgYW5kIGF0IGxlYXN0IHR3byBvZiB0aG9zZSBlbnRyaWVzIHdl
cmUgb2J0YWluZWQgZnJvbSBwcm9kdWN0aW9ucyBvZgorICAgIHRoZSBmb3JtCisgICAgUHJvcGVy
dHlEZWZpbml0aW9uIDogUHJvcGVydHlOYW1lIDogQXNzaWdubWVudEV4cHJlc3Npb24gLgorCisg
ICAgMTIuMi42LjYgU3RhdGljIFNlbWFudGljczogUHJvcGVydHlOYW1lTGlzdAorCisgICAgLi4u
CisgICAgMy4gQXBwZW5kIFByb3BOYW1lIG9mIFByb3BlcnR5RGVmaW5pdGlvbiB0byB0aGUgZW5k
IG9mIGxpc3QuCisgICAgLi4uCisKKyAgICAxMi4yLjYuNSBTdGF0aWMgU2VtYW50aWNzOiBQcm9w
TmFtZQorCisgICAgQ29tcHV0ZWRQcm9wZXJ0eU5hbWUgOiBbIEFzc2lnbm1lbnRFeHByZXNzaW9u
IF0KKyAgICAgICAgMS4gUmV0dXJuIGVtcHR5LgorLS0tKi8KKwordmFyIG9iajsKK3ZhciBwcm90
byA9IHt9OwordmFyIG93blByb3AgPSB7fTsKKworb2JqID0geworICAgIF9fcHJvdG9fXzogcHJv
dG8sCisgICAgWydfX3Byb3RvX18nXToge30sCisgICAgWydfX3Byb3RvX18nXTogb3duUHJvcAor
fTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSwK
KyAgICBwcm90bywKKyAgICAncHJvdG90eXBlIGlzIGRlZmluZWQnCispOworCithc3NlcnQoCisg
ICAgT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwob2JqLCAnX19wcm90b19fJyksCisgICAgJ2hh
cyBvd24gcHJvcGVydHkgX19wcm90b19fJworKTsKKworYXNzZXJ0LnNhbWVWYWx1ZSgKKyAgICBv
YmouX19wcm90b19fLAorICAgIG93blByb3AsCisgICAgJ293biBwcm9wZXJ0eSB2YWx1ZScKKyk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9v
YmplY3QvX19wcm90b19fLWR1cGxpY2F0ZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL29iamVjdC9fX3Byb3RvX18tZHVwbGljYXRlLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjRhMTY5NDcxY2U5NzdkMTU1MWNiZTliMjIzN2E1NGYxYzhkZjJhNzgKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvX19w
cm90b19fLWR1cGxpY2F0ZS5qcwpAQCAtMCwwICsxLDIzIEBACisvLyBDb3B5cmlnaHQgKEMpIDIw
MTYgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMg
Y29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0Ug
ZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtX19wcm90b19fLXByb3BlcnR5LW5hbWVzLWluLW9iamVj
dC1pbml0aWFsaXplcnMKK2VzNmlkOiBCLjMuMQorZGVzY3JpcHRpb246IER1cGxpY2F0ZSBgX19w
cm90b19fYCBwcm9wZXJ0eQoraW5mbzogfAorICAgIEl0IGlzIGEgU3ludGF4IEVycm9yIGlmIFBy
b3BlcnR5TmFtZUxpc3Qgb2YgUHJvcGVydHlEZWZpbml0aW9uTGlzdCBjb250YWlucworICAgIGFu
eSBkdXBsaWNhdGUgZW50cmllcyBmb3IgIl9fcHJvdG9fXyIgYW5kIGF0IGxlYXN0IHR3byBvZiB0
aG9zZSBlbnRyaWVzCisgICAgd2VyZSBvYnRhaW5lZCBmcm9tIHByb2R1Y3Rpb25zIG9mIHRoZSBm
b3JtCisgICAgUHJvcGVydHlEZWZpbml0aW9uIDogUHJvcGVydHlOYW1lIDogQXNzaWdubWVudEV4
cHJlc3Npb24gLgorbmVnYXRpdmU6CisgIHBoYXNlOiBwYXJzZQorICB0eXBlOiBTeW50YXhFcnJv
cgorLS0tKi8KKworJERPTk9URVZBTFVBVEUoKTsKKworKHsKKyAgX19wcm90b19fOiBudWxsLAor
ICBvdGhlcjogbnVsbCwKKyAgJ19fcHJvdG9fXyc6IG51bGwKK30pOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L19fcHJvdG9fXy1m
bi1uYW1lLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2Jq
ZWN0L19fcHJvdG9fXy1mbi1uYW1lLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5OWQxNmU1OWE0NjA2NWEzNzIw
MjIyMGU2YWMyZWFkYmY4MjAzNmIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvX19wcm90b19fLWZuLW5hbWUuanMKQEAg
LTAsMCArMSwyNiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE1IHRoZSBWOCBwcm9qZWN0IGF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhl
IEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitlczZpZDog
Qi4zLjEKK2Rlc2NyaXB0aW9uOiBGdW5jdGlvbiBuYW1lIGlzIG5vdCBhc3NpZ25lZCBiYXNlZCBv
biB0aGUgcHJvcGVydHkgbmFtZQoraW5mbzogfAorICAgIFsuLi5dCisgICAgNi4gSWYgcHJvcEtl
eSBpcyB0aGUgU3RyaW5nIHZhbHVlICJfX3Byb3RvX18iIGFuZCBpZgorICAgICAgIElzQ29tcHV0
ZWRQcm9wZXJ0eUtleShwcm9wS2V5KSBpcyBmYWxzZSwgdGhlbgorICAgICAgIGEuIElmIFR5cGUo
cHJvcFZhbHVlKSBpcyBlaXRoZXIgT2JqZWN0IG9yIE51bGwsIHRoZW4KKyAgICAgICAgICBpLiBS
ZXR1cm4gb2JqZWN0LltbU2V0UHJvdG90eXBlT2ZdXShwcm9wVmFsdWUpLgorICAgICAgIGIuIFJl
dHVybiBOb3JtYWxDb21wbGV0aW9uKGVtcHR5KS4KKyAgICA3LiBJZiBJc0Fub255bW91c0Z1bmN0
aW9uRGVmaW5pdGlvbihBc3NpZ25tZW50RXhwcmVzc2lvbikgaXMgdHJ1ZSwgdGhlbgorICAgICAg
IGEuIExldCBoYXNOYW1lUHJvcGVydHkgYmUgSGFzT3duUHJvcGVydHkocHJvcFZhbHVlLCAibmFt
ZSIpLgorICAgICAgIGIuIFJldHVybklmQWJydXB0KGhhc05hbWVQcm9wZXJ0eSkuCisgICAgICAg
Yy4gSWYgaGFzTmFtZVByb3BlcnR5IGlzIGZhbHNlLCBwZXJmb3JtIFNldEZ1bmN0aW9uTmFtZShw
cm9wVmFsdWUsIHByb3BLZXkpLgorLS0tKi8KKwordmFyIG87CisKK28gPSB7CisgIF9fcHJvdG9f
XzogZnVuY3Rpb24oKSB7fQorfTsKKworYXNzZXJ0KG8uX19wcm90b19fLm5hbWUgIT09ICdfX3By
b3RvX18nKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL29iamVjdC9fX3Byb3RvX18tcGVybWl0dGVkLWR1cC5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9fX3Byb3RvX18tcGVybWl0dGVkLWR1
cC5qcwppbmRleCAwNDU0ZTU3N2I2ZTdmN2IxYzU1ODc4Y2JmODE2OTk1YTAyMTcyNTRlLi42YzNl
YTYyZWFjN2ZjNzc1NWNjOWMxNzkzOTcwNjE1M2IyNWMzMjViIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvX19wcm90b19fLXBlcm1p
dHRlZC1kdXAuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvb2JqZWN0L19fcHJvdG9fXy1wZXJtaXR0ZWQtZHVwLmpzCkBAIC0xMyw3ICsxMyw3IEBAIGlu
Zm86IHwKICAgICBhbnkgZHVwbGljYXRlIGVudHJpZXMgZm9yICJfX3Byb3RvX18iIGFuZCBhdCBs
ZWFzdCB0d28gb2YgdGhvc2UgZW50cmllcwogICAgIHdlcmUgb2J0YWluZWQgZnJvbSBwcm9kdWN0
aW9ucyBvZiB0aGUgZm9ybQogICAgIFByb3BlcnR5RGVmaW5pdGlvbiA6IFByb3BlcnR5TmFtZSA6
IEFzc2lnbm1lbnRFeHByZXNzaW9uIC4KLWZlYXR1cmVzOiBbZ2VuZXJhdG9ycywgYXN5bmMtZnVu
Y3Rpb25zLCBhc3luYy1pdGVyYXRpb25dCitmZWF0dXJlczogW2dlbmVyYXRvcnMsIGFzeW5jLWZ1
bmN0aW9ucywgYXN5bmMtaXRlcmF0aW9uLCBfX3Byb3RvX19dCiAtLS0qLwogCiB2YXIgb2JqID0g
ewpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
b2JqZWN0L19fcHJvdG9fXy1wb2lzb25lZC1vYmplY3QtcHJvdG90eXBlLmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L19fcHJvdG9fXy1wb2lzb25l
ZC1vYmplY3QtcHJvdG90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwM2M4ZWJkNjQyZTAxM2JlZDdlOWRl
YmIyODIwMTk4ODVmM2M1NTIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvX19wcm90b19fLXBvaXNvbmVkLW9iamVjdC1w
cm90b3R5cGUuanMKQEAgLTAsMCArMSwzMiBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIEFsZXhl
eSBTaHZheWthLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVk
IGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2Vz
aWQ6IHNlYy1fX3Byb3RvX18tcHJvcGVydHktbmFtZXMtaW4tb2JqZWN0LWluaXRpYWxpemVycwor
ZGVzY3JpcHRpb246ID4KKyAgVGhlIHZhbHVlIG9mIHRoZSBgX19wcm90b19fYCBwcm9wZXJ0eSBr
ZXkgaXMgYXNzaWduZWQgdG8gdGhlIFtbUHJvdG90eXBlXV0uCisgIE9iamVjdC5wcm90b3R5cGUu
X19wcm90b19fIHNldHRlciBzaG91bGQgbm90IGJlIGNhbGxlZC4KK2luZm86IHwKKyAgX19wcm90
b19fIFByb3BlcnR5IE5hbWVzIGluIE9iamVjdCBJbml0aWFsaXplcnMKKworICBQcm9wZXJ0eURl
ZmluaXRpb24gOiBQcm9wZXJ0eU5hbWUgOiBBc3NpZ25tZW50RXhwcmVzc2lvbgorCisgIFsuLi5d
CisgIDcuIElmIGlzUHJvdG9TZXR0ZXIgaXMgdHJ1ZSwgdGhlbgorICAgIGEuIElmIFR5cGUocHJv
cFZhbHVlKSBpcyBlaXRoZXIgT2JqZWN0IG9yIE51bGwsIHRoZW4KKyAgICAgIGkuIFJldHVybiBv
YmplY3QuW1tTZXRQcm90b3R5cGVPZl1dKHByb3BWYWx1ZSkuCistLS0qLworCitPYmplY3QuZGVm
aW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgJ19fcHJvdG9fXycsIHsKKyAgc2V0OiBmdW5j
dGlvbigpIHsKKyAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdzaG91bGQgbm90IGJlIGNhbGxl
ZCcpOworICB9LAorfSk7CisKK3ZhciBwcm90byA9IHt9OworCit2YXIgb2JqZWN0ID0geworICBf
X3Byb3RvX186IHByb3RvCit9OworCithc3NlcnQoIW9iamVjdC5oYXNPd25Qcm9wZXJ0eSgnX19w
cm90b19fJykpOworYXNzZXJ0LnNhbWVWYWx1ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqZWN0
KSwgcHJvdG8pOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvb2JqZWN0L19fcHJvdG9fXy12YWx1ZS1ub24tb2JqZWN0LmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L19fcHJvdG9fXy12YWx1ZS1u
b24tb2JqZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmYTk1ODcwNTNmOWI4NDljNjlkNDg5ODg3YmQ0NDNk
MGFkMWM5MzUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9vYmplY3QvX19wcm90b19fLXZhbHVlLW5vbi1vYmplY3QuanMKQEAgLTAs
MCArMSw5MCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDE2IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQorZXNpZDogc2VjLV9f
cHJvdG9fXy1wcm9wZXJ0eS1uYW1lcy1pbi1vYmplY3QtaW5pdGlhbGl6ZXJzCitlczZpZDogQi4z
LjEKK2Rlc2NyaXB0aW9uOiA+CisgIFRoZSB2YWx1ZSBvZiB0aGUgYF9fcHJvdG9fX2AgcHJvcGVy
dHkga2V5IGlzIG5vdCBhc3NpZ25lZCB0byB0aGUKKyAgW1tQcm90b3R5cGVdXSBpbnRlcm5hbCBz
bG90LCBub3IgdG8gYSBwcm9wZXJ0eSBuYW1lZCAiX19wcm90b19fIiAobm9uLU9iamVjdCwKKyAg
bm9uLW51bGwgdmFsdWUpCitpbmZvOiB8CisgIC4uLgorICA2LiBJZiBwcm9wS2V5IGlzIHRoZSBT
dHJpbmcgdmFsdWUgIl9fcHJvdG9fXyIgYW5kIGlmCisgICAgIElzQ29tcHV0ZWRQcm9wZXJ0eUtl
eShwcm9wS2V5KSBpcyBmYWxzZSwgdGhlbgorICAgICBhLiBJZiBUeXBlKHByb3BWYWx1ZSkgaXMg
ZWl0aGVyIE9iamVjdCBvciBOdWxsLCB0aGVuCisgICAgICAgIFsuLi5dCisgICAgIGIuIFJldHVy
biBOb3JtYWxDb21wbGV0aW9uKGVtcHR5KS4KK2ZlYXR1cmVzOiBbU3ltYm9sXQorLS0tKi8KKwor
dmFyIG9iamVjdDsKKworb2JqZWN0ID0geworICBfX3Byb3RvX186IHVuZGVmaW5lZAorfTsKK2Fz
c2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmplY3QpLAorICBPYmpl
Y3QucHJvdG90eXBlLAorICAncHJvdG90eXBlICh1bmRlZmluZWQpJworKTsKK2Fzc2VydC5zYW1l
VmFsdWUoCisgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCAnX19wcm90
b19fJyksCisgIHVuZGVmaW5lZCwKKyAgJ3Byb3BlcnR5ICh1bmRlZmluZWQpJworKTsKKworb2Jq
ZWN0ID0geworICBfX3Byb3RvX186IDEKK307Cithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3Qu
Z2V0UHJvdG90eXBlT2Yob2JqZWN0KSwKKyAgT2JqZWN0LnByb3RvdHlwZSwKKyAgJ3Byb3RvdHlw
ZSAobnVtZXJpYyBwcmltaXRpdmUpJworKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCAnX19wcm90b19fJyksCisgIHVuZGVmaW5l
ZCwKKyAgJ3Byb3BlcnR5IChudW1lcmljIHByaW1pdGl2ZSknCispOworCitvYmplY3QgPSB7Cisg
IF9fcHJvdG9fXzogZmFsc2UKK307Cithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QuZ2V0UHJv
dG90eXBlT2Yob2JqZWN0KSwKKyAgT2JqZWN0LnByb3RvdHlwZSwKKyAgJ3Byb3RvdHlwZSAoYm9v
bGVhbiBwcmltaXRpdmUpJworKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCAnX19wcm90b19fJyksCisgIHVuZGVmaW5lZCwKKyAg
J3Byb3BlcnR5IChib29sZWFuIHByaW1pdGl2ZSknCispOworCitvYmplY3QgPSB7CisgIF9fcHJv
dG9fXzogJ3N0cmluZyBsaXRlcmFsJworfTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5n
ZXRQcm90b3R5cGVPZihvYmplY3QpLAorICBPYmplY3QucHJvdG90eXBlLAorICAncHJvdG90eXBl
IChzdHJpbmcgcHJpbWl0aXZlKScKKyk7Cithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgJ19fcHJvdG9fXycpLAorICB1bmRlZmluZWQs
CisgICdwcm9wZXJ0eSAoc3RyaW5nIHByaW1pdGl2ZSknCispOworCitvYmplY3QgPSB7CisgIF9f
cHJvdG9fXzogU3ltYm9sKCcnKQorfTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5nZXRQ
cm90b3R5cGVPZihvYmplY3QpLAorICBPYmplY3QucHJvdG90eXBlLAorICAncHJvdG90eXBlIChz
eW1ib2wpJworKTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3Iob2JqZWN0LCAnX19wcm90b19fJyksCisgIHVuZGVmaW5lZCwKKyAgJ3Byb3BlcnR5
IChzeW1ib2wpJworKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L2V4cHJlc3Npb25zL29iamVjdC9fX3Byb3RvX18tdmFsdWUtbnVsbC5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9fX3Byb3RvX18tdmFsdWUtbnVs
bC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yOWIxYTA5ZTQzODc4MWQ0NTk1ODJkOWVlMTdmODIzZWJmYWMyZDdh
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvb2JqZWN0L19fcHJvdG9fXy12YWx1ZS1udWxsLmpzCkBAIC0wLDAgKzEsMjQgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAxNiB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3Vu
ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2VzaWQ6IHNlYy1fX3Byb3RvX18tcHJvcGVy
dHktbmFtZXMtaW4tb2JqZWN0LWluaXRpYWxpemVycworZXM2aWQ6IEIuMy4xCitkZXNjcmlwdGlv
bjogPgorICBUaGUgdmFsdWUgb2YgdGhlIGBfX3Byb3RvX19gIHByb3BlcnR5IGtleSBpcyBhc3Np
Z25lZCB0byB0aGUgW1tQcm90b3R5cGVdXQorICBpbnRlcm5hbCBzbG90IChudWxsIHZhbHVlKQor
aW5mbzogfAorICAuLi4KKyAgNi4gSWYgcHJvcEtleSBpcyB0aGUgU3RyaW5nIHZhbHVlICJfX3By
b3RvX18iIGFuZCBpZgorICAgICBJc0NvbXB1dGVkUHJvcGVydHlLZXkocHJvcEtleSkgaXMgZmFs
c2UsIHRoZW4KKyAgICAgYS4gSWYgVHlwZShwcm9wVmFsdWUpIGlzIGVpdGhlciBPYmplY3Qgb3Ig
TnVsbCwgdGhlbgorICAgICAgICBpLiBSZXR1cm4gb2JqZWN0LltbU2V0UHJvdG90eXBlT2ZdXShw
cm9wVmFsdWUpLgorLS0tKi8KKwordmFyIG9iamVjdCA9IHsKKyAgX19wcm90b19fOiBudWxsCit9
OworCithc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmplY3QpLCBudWxs
KTsKK2Fzc2VydC5zYW1lVmFsdWUoCisgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
b2JqZWN0LCAnX19wcm90b19fJyksIHVuZGVmaW5lZAorKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9fX3Byb3RvX18tdmFsdWUt
b2JqLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0
L19fcHJvdG9fXy12YWx1ZS1vYmouanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2YyZmU4ZDg1N2Q1OWQ2YTQxZjVj
NTAwZWViMjk5MGY5ZWY5NzQ0YgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9fX3Byb3RvX18tdmFsdWUtb2JqLmpzCkBA
IC0wLDAgKzEsMjkgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxNSBBbmRyw6kgQmFyZ3VsbC4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxp
Y2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitlc2lkOiBzZWMtX19wcm90
b19fLXByb3BlcnR5LW5hbWVzLWluLW9iamVjdC1pbml0aWFsaXplcnMKK2VzNmlkOiBCLjMuMQor
ZGVzY3JpcHRpb246ID4KKyAgVGhlIHZhbHVlIG9mIHRoZSBgX19wcm90b19fYCBwcm9wZXJ0eSBr
ZXkgaXMgYXNzaWduZWQgdG8gdGhlIFtbUHJvdG90eXBlXV0KKyAgaW50ZXJuYWwgc2xvdCAoT2Jq
ZWN0IHZhbHVlKQoraW5mbzogfAorICBfX3Byb3RvX18gUHJvcGVydHkgTmFtZXMgaW4gT2JqZWN0
IEluaXRpYWxpemVycworCisgIC4uLgorICA2LiBJZiBwcm9wS2V5IGlzIHRoZSBTdHJpbmcgdmFs
dWUgIl9fcHJvdG9fXyIgYW5kIGlmIElzQ29tcHV0ZWRQcm9wZXJ0eUtleShwcm9wS2V5KSBpcyBm
YWxzZSwgdGhlbgorICAgIGEuIElmIFR5cGUocHJvcFZhbHVlKSBpcyBlaXRoZXIgT2JqZWN0IG9y
IE51bGwsIHRoZW4KKyAgICAgIGkuIFJldHVybiBvYmplY3QuW1tTZXRQcm90b3R5cGVPZl1dKHBy
b3BWYWx1ZSkuCisgICAgYi4gUmV0dXJuIE5vcm1hbENvbXBsZXRpb24oZW1wdHkpLgorICAuLi4K
Ky0tLSovCisKK3ZhciBwcm90byA9IHt9OworCit2YXIgb2JqZWN0ID0geworICBfX3Byb3RvX186
IHByb3RvCit9OworCithc3NlcnQuc2FtZVZhbHVlKE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmpl
Y3QpLCBwcm90byk7Cithc3NlcnQuc2FtZVZhbHVlKAorICBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKG9iamVjdCwgJ19fcHJvdG9fXycpLCB1bmRlZmluZWQKKyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9k
LWRlZmluaXRpb24vYXN5bmMtcmV0dXJucy1hc3luYy1hcnJvdy1yZXR1cm5zLWFyZ3VtZW50cy1m
cm9tLXBhcmVudC1mdW5jdGlvbi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9hc3luYy1yZXR1cm5zLWFzeW5jLWFy
cm93LXJldHVybnMtYXJndW1lbnRzLWZyb20tcGFyZW50LWZ1bmN0aW9uLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjhjNThiNDNkMGE2MTE4ZjEyZGNhMzY1N2QzM2IxMTYwZjhlYWRjMjMKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0
aG9kLWRlZmluaXRpb24vYXN5bmMtcmV0dXJucy1hc3luYy1hcnJvdy1yZXR1cm5zLWFyZ3VtZW50
cy1mcm9tLXBhcmVudC1mdW5jdGlvbi5qcwpAQCAtMCwwICsxLDM0IEBACisvLyBUaGlzIGZpbGUg
d2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6Cisv
LyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvcmV0dXJucy1hc3luYy1hcnJvdy1yZXR1cm5zLWFyZ3Vt
ZW50cy1mcm9tLXBhcmVudC1mdW5jdGlvbi5jYXNlCisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMv
ZXZhbHVhdGlvbi9hc3luYy1vYmotbWV0aG9kLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246
IEFzeW5jIGZ1bmN0aW9uIHJldHVybnMgYW4gYXN5bmMgZnVuY3Rpb24uIChBc3luYyBtZXRob2Qp
Citlc2lkOiBwcm9kLUFzeW5jTWV0aG9kCitmZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2Zs
YWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICBBc3luYyBGdW5jdGlvbiBEZWZp
bml0aW9ucworCisgICAgQXN5bmNNZXRob2QgOgorICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5h
dG9yIGhlcmVdIFByb3BlcnR5TmFtZSAoIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5j
RnVuY3Rpb25Cb2R5IH0KKworLS0tKi8KK2xldCBjb3VudCA9IDA7CisKKwordmFyIG9iaiA9IHsK
KyAgYXN5bmMgbWV0aG9kKHgpIHsKKyAgICBsZXQgYSA9IGFyZ3VtZW50czsKKyAgICAgIHJldHVy
biBhc3luYyAoKSA9PiBhID09PSBhcmd1bWVudHM7CisgIH0KK307CisvLyBTdG9yZXMgYSByZWZl
cmVuY2UgYGFzeW5jRm5gIGZvciBjYXNlIGV2YWx1YXRpb24KK2xldCBhc3luY0ZuID0gb2JqLm1l
dGhvZDsKKworYXN5bmNGbigpLnRoZW4ocmV0Rm4gPT4geworICBjb3VudCsrOworICByZXR1cm4g
cmV0Rm4oKTsKK30pLnRoZW4ocmVzdWx0ID0+IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQs
IHRydWUpOworICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxKTsKK30pLnRoZW4oJERPTkUsICRE
T05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9hc3luYy1yZXR1cm5zLWFzeW5jLWFycm93LXJl
dHVybnMtbmV3dGFyZ2V0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2FzeW5jLXJldHVybnMtYXN5bmMtYXJyb3ct
cmV0dXJucy1uZXd0YXJnZXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTU3ODgzOTFkZTA1MzVlN2JjZWRiOTg4
ZDRhNzkyN2M5ZGVjMmZkMwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9hc3luYy1yZXR1
cm5zLWFzeW5jLWFycm93LXJldHVybnMtbmV3dGFyZ2V0LmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8v
IFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcg
c291cmNlczoKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9yZXR1cm5zLWFzeW5jLWFycm93LXJl
dHVybnMtbmV3dGFyZ2V0LmNhc2UKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9ldmFsdWF0aW9u
L2FzeW5jLW9iai1tZXRob2QudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXN5bmMgZnVu
Y3Rpb24gcmV0dXJucyBhbiBhc3luYyBmdW5jdGlvbi4gKEFzeW5jIG1ldGhvZCkKK2VzaWQ6IHBy
b2QtQXN5bmNNZXRob2QKK2ZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zXQorZmxhZ3M6IFtnZW5l
cmF0ZWQsIGFzeW5jXQoraW5mbzogfAorICAgIEFzeW5jIEZ1bmN0aW9uIERlZmluaXRpb25zCisK
KyAgICBBc3luY01ldGhvZCA6CisgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0g
UHJvcGVydHlOYW1lICggVW5pcXVlRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJv
ZHkgfQorCistLS0qLworbGV0IGNvdW50ID0gMDsKKworCit2YXIgb2JqID0geworICBhc3luYyBt
ZXRob2QoeCkgeworICAgIHJldHVybiBhc3luYyAoKSA9PiBuZXcudGFyZ2V0OworICB9Cit9Owor
Ly8gU3RvcmVzIGEgcmVmZXJlbmNlIGBhc3luY0ZuYCBmb3IgY2FzZSBldmFsdWF0aW9uCitsZXQg
YXN5bmNGbiA9IG9iai5tZXRob2Q7CisKK2FzeW5jRm4oKS50aGVuKHJldEZuID0+IHsKKyAgY291
bnQrKzsKKyAgcmV0dXJuIHJldEZuKCk7Cit9KS50aGVuKHJlc3VsdCA9PiB7CisgIGFzc2VydC5z
YW1lVmFsdWUocmVzdWx0LCB1bmRlZmluZWQpOworICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAx
KTsKK30pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9hc3luYy1y
ZXR1cm5zLWFzeW5jLWFycm93LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2FzeW5jLXJldHVybnMtYXN5bmMtYXJy
b3cuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZWFjOWFmZmM5YzVkOTJkYTNhNGVmZGFjNGQ4NmE5ZDY0OWYzZmI1
YQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9hc3luYy1yZXR1cm5zLWFzeW5jLWFycm93
LmpzCkBAIC0wLDAgKzEsMzMgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVy
YXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9u
cy9yZXR1cm5zLWFzeW5jLWFycm93LmNhc2UKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9ldmFs
dWF0aW9uL2FzeW5jLW9iai1tZXRob2QudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXN5
bmMgZnVuY3Rpb24gcmV0dXJucyBhbiBhc3luYyBmdW5jdGlvbi4gKEFzeW5jIG1ldGhvZCkKK2Vz
aWQ6IHByb2QtQXN5bmNNZXRob2QKK2ZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zXQorZmxhZ3M6
IFtnZW5lcmF0ZWQsIGFzeW5jXQoraW5mbzogfAorICAgIEFzeW5jIEZ1bmN0aW9uIERlZmluaXRp
b25zCisKKyAgICBBc3luY01ldGhvZCA6CisgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3Ig
aGVyZV0gUHJvcGVydHlOYW1lICggVW5pcXVlRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5j
dGlvbkJvZHkgfQorCistLS0qLworbGV0IGNvdW50ID0gMDsKKworCit2YXIgb2JqID0geworICBh
c3luYyBtZXRob2QoeCkgeworICAgIHJldHVybiBhc3luYyAoKSA9PiB4OworICB9Cit9OworLy8g
U3RvcmVzIGEgcmVmZXJlbmNlIGBhc3luY0ZuYCBmb3IgY2FzZSBldmFsdWF0aW9uCitsZXQgYXN5
bmNGbiA9IG9iai5tZXRob2Q7CisKK2FzeW5jRm4oMSkudGhlbihyZXRGbiA9PiB7CisgIGNvdW50
Kys7CisgIHJldHVybiByZXRGbigpOworfSkudGhlbihyZXN1bHQgPT4geworICBhc3NlcnQuc2Ft
ZVZhbHVlKHJlc3VsdCwgMSk7CisgIGFzc2VydC5zYW1lVmFsdWUoY291bnQsIDEpOworfSkudGhl
bigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2FzeW5jLXJldHVybnMtYXN5
bmMtZnVuY3Rpb24tcmV0dXJucy1hcmd1bWVudHMtZnJvbS1vd24tZnVuY3Rpb24uanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmlu
aXRpb24vYXN5bmMtcmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1cm5zLWFyZ3VtZW50cy1mcm9t
LW93bi1mdW5jdGlvbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTZhYWU5ZmZhOGFiNWQ2MTFiYjFhMDIxNTQ4
OWJmYTUzYTdhYzU5Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2FzeW5jLXJldHVybnMt
YXN5bmMtZnVuY3Rpb24tcmV0dXJucy1hcmd1bWVudHMtZnJvbS1vd24tZnVuY3Rpb24uanMKQEAg
LTAsMCArMSwzNCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZy
b20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25zL3JldHVy
bnMtYXN5bmMtZnVuY3Rpb24tcmV0dXJucy1hcmd1bWVudHMtZnJvbS1vd24tZnVuY3Rpb24uY2Fz
ZQorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25zL2V2YWx1YXRpb24vYXN5bmMtb2JqLW1ldGhvZC50
ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBc3luYyBmdW5jdGlvbiByZXR1cm5zIGFuIGFz
eW5jIGZ1bmN0aW9uLiAoQXN5bmMgbWV0aG9kKQorZXNpZDogcHJvZC1Bc3luY01ldGhvZAorZmVh
dHVyZXM6IFthc3luYy1mdW5jdGlvbnNdCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmZv
OiB8CisgICAgQXN5bmMgRnVuY3Rpb24gRGVmaW5pdGlvbnMKKworICAgIEFzeW5jTWV0aG9kIDoK
KyAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBQcm9wZXJ0eU5hbWUgKCBVbmlx
dWVGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CisKKy0tLSovCitsZXQg
Y291bnQgPSAwOworCisKK3ZhciBvYmogPSB7CisgIGFzeW5jIG1ldGhvZCh4KSB7CisgICAgbGV0
IGEgPSBhcmd1bWVudHM7CisgICAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24oKSB7IHJldHVybiBh
ID09PSBhcmd1bWVudHM7IH07CisgIH0KK307CisvLyBTdG9yZXMgYSByZWZlcmVuY2UgYGFzeW5j
Rm5gIGZvciBjYXNlIGV2YWx1YXRpb24KK2xldCBhc3luY0ZuID0gb2JqLm1ldGhvZDsKKworYXN5
bmNGbigxKS50aGVuKHJldEZuID0+IHsKKyAgY291bnQrKzsKKyAgcmV0dXJuIHJldEZuKCk7Cit9
KS50aGVuKHJlc3VsdCA9PiB7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCBmYWxzZSk7Cisg
IGFzc2VydC5zYW1lVmFsdWUoY291bnQsIDEpOworfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0
L21ldGhvZC1kZWZpbml0aW9uL2FzeW5jLXJldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0dXJucy1u
ZXd0YXJnZXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9v
YmplY3QvbWV0aG9kLWRlZmluaXRpb24vYXN5bmMtcmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1
cm5zLW5ld3RhcmdldC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNTI0MDBhYWIzNmQ2YjE5OGVhOGMxOTZjN2Q4
YzY4NWRjNzM2MTI0Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2FzeW5jLXJldHVybnMt
YXN5bmMtZnVuY3Rpb24tcmV0dXJucy1uZXd0YXJnZXQuanMKQEAgLTAsMCArMSwzMyBAQAorLy8g
VGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBz
b3VyY2VzOgorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25zL3JldHVybnMtYXN5bmMtZnVuY3Rpb24t
cmV0dXJucy1uZXd0YXJnZXQuY2FzZQorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25zL2V2YWx1YXRp
b24vYXN5bmMtb2JqLW1ldGhvZC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBc3luYyBm
dW5jdGlvbiByZXR1cm5zIGFuIGFzeW5jIGZ1bmN0aW9uLiAoQXN5bmMgbWV0aG9kKQorZXNpZDog
cHJvZC1Bc3luY01ldGhvZAorZmVhdHVyZXM6IFthc3luYy1mdW5jdGlvbnNdCitmbGFnczogW2dl
bmVyYXRlZCwgYXN5bmNdCitpbmZvOiB8CisgICAgQXN5bmMgRnVuY3Rpb24gRGVmaW5pdGlvbnMK
KworICAgIEFzeW5jTWV0aG9kIDoKKyAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJl
XSBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1bmN0aW9u
Qm9keSB9CisKKy0tLSovCitsZXQgY291bnQgPSAwOworCisKK3ZhciBvYmogPSB7CisgIGFzeW5j
IG1ldGhvZCh4KSB7CisgICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uKCkgeyByZXR1cm4gbmV3LnRh
cmdldDsgfTsKKyAgfQorfTsKKy8vIFN0b3JlcyBhIHJlZmVyZW5jZSBgYXN5bmNGbmAgZm9yIGNh
c2UgZXZhbHVhdGlvbgorbGV0IGFzeW5jRm4gPSBvYmoubWV0aG9kOworCithc3luY0ZuKDEpLnRo
ZW4ocmV0Rm4gPT4geworICBjb3VudCsrOworICByZXR1cm4gcmV0Rm4oKTsKK30pLnRoZW4ocmVz
dWx0ID0+IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIHVuZGVmaW5lZCk7CisgIGFzc2Vy
dC5zYW1lVmFsdWUoY291bnQsIDEpOworfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhv
ZC1kZWZpbml0aW9uL2FzeW5jLXJldHVybnMtYXN5bmMtZnVuY3Rpb24uanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24v
YXN5bmMtcmV0dXJucy1hc3luYy1mdW5jdGlvbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNGI2NGI1M2M0Yjlm
NTIwMDc0NWM0YTI3YzkwMmYwZjkyZTM4N2IxCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9u
L2FzeW5jLXJldHVybnMtYXN5bmMtZnVuY3Rpb24uanMKQEAgLTAsMCArMSwzMyBAQAorLy8gVGhp
cyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3Vy
Y2VzOgorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25zL3JldHVybnMtYXN5bmMtZnVuY3Rpb24uY2Fz
ZQorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25zL2V2YWx1YXRpb24vYXN5bmMtb2JqLW1ldGhvZC50
ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBc3luYyBmdW5jdGlvbiByZXR1cm5zIGFuIGFz
eW5jIGZ1bmN0aW9uLiAoQXN5bmMgbWV0aG9kKQorZXNpZDogcHJvZC1Bc3luY01ldGhvZAorZmVh
dHVyZXM6IFthc3luYy1mdW5jdGlvbnNdCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmZv
OiB8CisgICAgQXN5bmMgRnVuY3Rpb24gRGVmaW5pdGlvbnMKKworICAgIEFzeW5jTWV0aG9kIDoK
KyAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBQcm9wZXJ0eU5hbWUgKCBVbmlx
dWVGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CisKKy0tLSovCitsZXQg
Y291bnQgPSAwOworCisKK3ZhciBvYmogPSB7CisgIGFzeW5jIG1ldGhvZCh4KSB7CisgICAgcmV0
dXJuIGFzeW5jIGZ1bmN0aW9uKCkgeyByZXR1cm4geDsgfTsKKyAgfQorfTsKKy8vIFN0b3JlcyBh
IHJlZmVyZW5jZSBgYXN5bmNGbmAgZm9yIGNhc2UgZXZhbHVhdGlvbgorbGV0IGFzeW5jRm4gPSBv
YmoubWV0aG9kOworCithc3luY0ZuKDEpLnRoZW4ocmV0Rm4gPT4geworICBjb3VudCsrOworICBy
ZXR1cm4gcmV0Rm4oKTsKK30pLnRoZW4ocmVzdWx0ID0+IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShy
ZXN1bHQsIDEpOworICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxKTsKK30pLnRoZW4oJERPTkUs
ICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2FzeW5jLWdl
bi1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVm
aW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2FzeW5jLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtZGly
ZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwppbmRleCBjYWY1MGQ2MjYxZjY0NjdiMzg0NDM5
ZTc4NzhmODdiZjQyYmEwZjQ0Li42MDg2YWFiYThlZWJjMTE0YjZiYTQyMDMzNzg5ZmQ0OTZkZThj
NTQ0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1nZW4tbWV0
aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZp
bml0aW9uL2ZvcmJpZGRlbi1leHQvYjEvYXN5bmMtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJl
Y3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCkBAIC0yLDkgKzIsOSBAQAogLy8gLSBzcmMvZnVu
Y3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmNh
c2UKIC8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC1v
bmUvYXN5bmMtZ2VuLW1ldGgudGVtcGxhdGUKIC8qLS0tCi1kZXNjcmlwdGlvbjogRm9yYmlkZGVu
IGV4dGVuc2lvbiwgby5hcmd1bWVudHMgKGFzeW5jIGdlbmVyYXRvciBtZXRob2QpCitkZXNjcmlw
dGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgZi5hcmd1bWVudHMgKGFzeW5jIGdlbmVyYXRvciBt
ZXRob2QpCiBlc2lkOiBzZWMtYXN5bmNnZW5lcmF0b3ItZGVmaW5pdGlvbnMtcHJvcGVydHlkZWZp
bml0aW9uZXZhbHVhdGlvbgotZmVhdHVyZXM6IFthc3luYy1pdGVyYXRpb25dCitmZWF0dXJlczog
W2Fycm93LWZ1bmN0aW9uLCBhc3luYy1pdGVyYXRpb24sIGdlbmVyYXRvcnNdCiBmbGFnczogW2dl
bmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5jXQogaW5mbzogfAogICAgIEFzeW5jR2VuZXJhdG9yTWV0
aG9kIDoKQEAgLTEyLDIzICsxMiwyOCBAQCBpbmZvOiB8CiAgICAgICAgICAgICB7IEFzeW5jR2Vu
ZXJhdG9yQm9keSB9CiAKIAotICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVk
IHVzaW5nIHN5bnRhY3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0IG5v
dCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3Vt
ZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBm
dW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVm
aW5pdGlvbiwgR2VuZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5j
R2VuZXJhdG9yRGVjbGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwgQ2xhc3NEZWNs
YXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5j
RnVuY3Rpb25FeHByZXNzaW9uLCBvciBBc3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3
aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLiBC
dWlsdC1pbiBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgRnVu
Y3Rpb24gY29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUg
R2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUg
QXN5bmNGdW5jdGlvbiBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRo
ZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93biBwcm9w
ZXJ0aWVzLgorICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5
bnRhY3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0CisgICAgbm90IGJl
IGNyZWF0ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRz
Ii4gU3VjaCBvd24gcHJvcGVydGllcyBhbHNvCisgICAgbXVzdCBub3QgYmUgY3JlYXRlZCBmb3Ig
ZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERl
ZmluaXRpb24sCisgICAgR2VuZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24s
IEFzeW5jR2VuZXJhdG9yRGVjbGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwKKyAg
ICBDbGFzc0RlY2xhcmF0aW9uLCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJh
dGlvbiwgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24sIG9yCisgICAgQXN5bmNBcnJvd0Z1bmN0aW9u
IHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3Ry
aWN0IG1vZGUgY29kZS4KKyAgICBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMg
Y3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlv
bnMKKyAgICBjcmVhdGVkIHVzaW5nIHRoZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1
bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBBc3luY0Z1bmN0aW9uCisgICAgY29uc3RydWN0b3Is
IGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5v
dCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24KKyAgICBwcm9wZXJ0aWVzLgogCiAtLS0qLwogCiB2
YXIgY2FsbENvdW50ID0gMDsKIHZhciBvYmogPSB7CiAgIGFzeW5jICptZXRob2QoKSB7Ci0gICAg
dGhpcy5tZXRob2QuYXJndW1lbnRzOworICAgIGFzc2VydC5zYW1lVmFsdWUodGhpcy5tZXRob2Qu
aGFzT3duUHJvcGVydHkoImFyZ3VtZW50cyIpLCBmYWxzZSk7CiAgICAgY2FsbENvdW50Kys7CiAg
IH0KIH07CiAKIG9iai5tZXRob2QoKS5uZXh0KCkKLSAgLnRoZW4oXyA9PiB7Ci0gICAgdGhyb3cg
bmV3IFRlc3QyNjJFcnJvcignZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSByZXNvbHZlZCcpOwotICB9
LCBlcnJvciA9PiBhc3NlcnQuc2FtZVZhbHVlKGVycm9yLmNvbnN0cnVjdG9yLCBUeXBlRXJyb3Ip
KQogICAudGhlbigoKSA9PiB7Ci0gICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdm
dW5jdGlvbiBib2R5IGlzIG5vdCBldmFsdWF0ZWQnKTsKLSAgfSwgJERPTkUpCi0gIC50aGVuKCRE
T05FLCAkRE9ORSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdmdW5jdGlv
biBib2R5IGV2YWx1YXRlZCcpOworICB9LCAkRE9ORSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0
L21ldGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1leHQvYjEvYXN5bmMtZ2VuLW1ldGgtZm9yYmlk
ZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRl
bi1leHQvYjEvYXN5bmMtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3At
Y2FsbGVyLmpzCmluZGV4IDQ2M2Y4NDk0MDc5ZjZmYTEwZmRmYjFkYTA0NTUwODVjMzZmYTIzOGQu
LjNjMDgxZjI5ZmY1NmQyOTgxZGE5YmVhMTk3YTAzNGI5Y2U1OTY5YTYgMTAwNjQ0Ci0tLSBhL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVm
aW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2FzeW5jLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtZGly
ZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9i
MS9hc3luYy1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIu
anMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNp
b24sIG8uY2FsbGVyIChhc3luYyBnZW5lcmF0b3IgbWV0aG9kKQogZXNpZDogc2VjLWFzeW5jZ2Vu
ZXJhdG9yLWRlZmluaXRpb25zLXByb3BlcnR5ZGVmaW5pdGlvbmV2YWx1YXRpb24KLWZlYXR1cmVz
OiBbYXN5bmMtaXRlcmF0aW9uXQorZmVhdHVyZXM6IFthcnJvdy1mdW5jdGlvbiwgYXN5bmMtaXRl
cmF0aW9uLCBnZW5lcmF0b3JzXQogZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0LCBhc3luY10K
IGluZm86IHwKICAgICBBc3luY0dlbmVyYXRvck1ldGhvZCA6CkBAIC0xMiwyMyArMTIsMjggQEAg
aW5mbzogfAogICAgICAgICAgICAgeyBBc3luY0dlbmVyYXRvckJvZHkgfQogCiAKLSAgICBFQ01B
U2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0
b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9w
ZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVz
IGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVz
aW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sIEdlbmVyYXRvckRlY2xhcmF0
aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3lu
Y0dlbmVyYXRvckV4cHJlc3Npb24sIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwg
QXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IgQXN5
bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBj
b250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4gQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3Qg
ZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0
b3IgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5
bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24gY29uc3RydWN0b3Is
IGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5v
dCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24gcHJvcGVydGllcy4KKyAgICBFQ01BU2NyaXB0IGZ1
bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0
cmljdCBtb2RlIGNvZGUgbXVzdAorICAgIG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRp
ZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxz
bworICAgIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1
c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLAorICAgIEdlbmVyYXRvckRl
Y2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9u
LCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sCisgICAgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NF
eHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNz
aW9uLCBvcgorICAgIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhl
IGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuCisgICAgQnVpbHQt
aW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9u
IGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zCisgICAgY3JlYXRlZCB1c2luZyB0aGUg
R2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUg
QXN5bmNGdW5jdGlvbgorICAgIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNp
bmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3du
CisgICAgcHJvcGVydGllcy4KIAogLS0tKi8KIAogdmFyIGNhbGxDb3VudCA9IDA7CiB2YXIgb2Jq
ID0gewogICBhc3luYyAqbWV0aG9kKCkgewotICAgIHRoaXMubWV0aG9kLmNhbGxlcjsKKyAgICBh
c3NlcnQuc2FtZVZhbHVlKHRoaXMubWV0aG9kLmhhc093blByb3BlcnR5KCJjYWxsZXIiKSwgZmFs
c2UpOwogICAgIGNhbGxDb3VudCsrOwogICB9CiB9OwogCiBvYmoubWV0aG9kKCkubmV4dCgpCi0g
IC50aGVuKF8gPT4gewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ2Z1bmN0aW9uIHNob3Vs
ZCBub3QgYmUgcmVzb2x2ZWQnKTsKLSAgfSwgZXJyb3IgPT4gYXNzZXJ0LnNhbWVWYWx1ZShlcnJv
ci5jb25zdHJ1Y3RvciwgVHlwZUVycm9yKSkKICAgLnRoZW4oKCkgPT4gewotICAgIGFzc2VydC5z
YW1lVmFsdWUoY2FsbENvdW50LCAwLCAnZnVuY3Rpb24gYm9keSBpcyBub3QgZXZhbHVhdGVkJyk7
Ci0gIH0sICRET05FKQotICAudGhlbigkRE9ORSwgJERPTkUpOworICAgIGFzc2VydC5zYW1lVmFs
dWUoY2FsbENvdW50LCAxLCAnZnVuY3Rpb24gYm9keSBldmFsdWF0ZWQnKTsKKyAgfSwgJERPTkUp
LnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0
L2IxL2FzeW5jLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRz
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21l
dGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1leHQvYjEvYXN5bmMtbWV0aC1mb3JiaWRkZW4tZXh0
LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKaW5kZXggNjcyYTZhOWNmYjY2NTE5NjUw
ZDU0MjEyZTJkNDMxMTY4NTY4Y2VjOC4uMzI5MTA5ZjQwZDcxNTY2YWFmYTUzZjI0ZGQ1NjQ2MGU1
YWYyNDhlNiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVz
c2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1leHQvYjEvYXN5bmMtbWV0
aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZp
bml0aW9uL2ZvcmJpZGRlbi1leHQvYjEvYXN5bmMtbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1h
Y2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKQEAgLTIsMTYgKzIsMjUgQEAKIC8vIC0gc3JjL2Z1bmN0
aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5jYXNl
CiAvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQtb25l
L2FzeW5jLW1ldGgudGVtcGxhdGUKIC8qLS0tCi1kZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVu
c2lvbiwgby5hcmd1bWVudHMgKGFzeW5jIG1ldGhvZCkKK2Rlc2NyaXB0aW9uOiBGb3JiaWRkZW4g
ZXh0ZW5zaW9uLCBmLmFyZ3VtZW50cyAoYXN5bmMgbWV0aG9kKQogZXNpZDogc2VjLWFzeW5jLWZ1
bmN0aW9uLWRlZmluaXRpb25zCi1mZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2ZlYXR1cmVz
OiBbYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9uc10KIGZsYWdzOiBbZ2VuZXJhdGVkLCBu
b1N0cmljdCwgYXN5bmNdCiBpbmZvOiB8CiAgICAgQXN5bmNNZXRob2QgOgogICAgICAgYXN5bmMg
UHJvcGVydHlOYW1lICggVW5pcXVlRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJv
ZHkgfQogCiAKLSAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBz
eW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3QgYmUgY3Jl
YXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBT
dWNoIG93biBwcm9wZXJ0aWVzIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24g
b2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24s
IEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRv
ckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sIENsYXNzRGVjbGFyYXRpb24s
IENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9u
RXhwcmVzc2lvbiwgb3IgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0
aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4gQnVpbHQtaW4g
ZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNv
bnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRv
ciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVu
Y3Rpb24gY29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBt
ZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24gcHJvcGVydGllcy4K
KyAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMg
Y29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdAorICAgIG5vdCBiZSBjcmVhdGVk
IHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2gg
b3duIHByb3BlcnRpZXMgYWxzbworICAgIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9u
IG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9u
LAorICAgIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dl
bmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sCisgICAgQ2xhc3NE
ZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFz
eW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvcgorICAgIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRs
ZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2Rl
IGNvZGUuCisgICAgQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQg
dXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zCisgICAg
Y3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMg
Y3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbgorICAgIGNvbnN0cnVjdG9yLCBhbmQgZnVu
Y3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3Jl
YXRlZCB3aXRoIHN1Y2ggb3duCisgICAgcHJvcGVydGllcy4KIAogLS0tKi8KIApAQCAtMjAsMTYg
KzI5LDEyIEBAIHZhciBjYWxsQ291bnQgPSAwOwogCiB2YXIgb2JqID0gewogICBhc3luYyBtZXRo
b2QoKSB7Ci0gICAgdGhpcy5tZXRob2QuYXJndW1lbnRzOworICAgIGFzc2VydC5zYW1lVmFsdWUo
dGhpcy5tZXRob2QuaGFzT3duUHJvcGVydHkoImFyZ3VtZW50cyIpLCBmYWxzZSk7CiAgICAgY2Fs
bENvdW50Kys7CiAgIH0KIH07CiAKIG9iai5tZXRob2QoKQotICAudGhlbihfID0+IHsKLSAgICB0
aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdmdW5jdGlvbiBzaG91bGQgbm90IGJlIHJlc29sdmVkJyk7
Ci0gIH0sIGVycm9yID0+IGFzc2VydC5zYW1lVmFsdWUoZXJyb3IuY29uc3RydWN0b3IsIFR5cGVF
cnJvcikpCiAgIC50aGVuKCgpID0+IHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwg
MCwgJ2Z1bmN0aW9uIGJvZHkgaXMgbm90IGV2YWx1YXRlZCcpOwotICB9LCAkRE9ORSkKLSAgLnRo
ZW4oJERPTkUsICRET05FKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1
bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CisgIH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9v
YmplY3QvbWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1tZXRoLWZvcmJp
ZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRk
ZW4tZXh0L2IxL2FzeW5jLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2Fs
bGVyLmpzCmluZGV4IDdlNjgzNTg4NzBiZDE3NmEwNzYwMjIwNmE3YWNiMTNmNmQ1Yjk5OTQuLjIx
NGNmZmY0N2UzNTg0ZmFhZDIzNGYwNWVjNTRiZDY1YTA2MDhlMTcgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5p
dGlvbi9mb3JiaWRkZW4tZXh0L2IxL2FzeW5jLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNj
ZXNzLXByb3AtY2FsbGVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4
cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2FzeW5j
LW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCkBAIC00LDE0
ICs0LDIzIEBACiAvKi0tLQogZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2Fs
bGVyIChhc3luYyBtZXRob2QpCiBlc2lkOiBzZWMtYXN5bmMtZnVuY3Rpb24tZGVmaW5pdGlvbnMK
LWZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zXQorZmVhdHVyZXM6IFthcnJvdy1mdW5jdGlvbiwg
YXN5bmMtZnVuY3Rpb25zXQogZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0LCBhc3luY10KIGlu
Zm86IHwKICAgICBBc3luY01ldGhvZCA6CiAgICAgICBhc3luYyBQcm9wZXJ0eU5hbWUgKCBVbmlx
dWVGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CiAKIAotICAgIEVDTUFT
Y3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBjb25zdHJ1Y3Rv
cnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3Bl
cnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMg
YWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNp
bmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwgR2VuZXJhdG9yRGVjbGFyYXRp
b24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2VuZXJhdG9yRGVjbGFyYXRpb24sIEFzeW5j
R2VuZXJhdG9yRXhwcmVzc2lvbiwgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBB
c3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvciBBc3lu
Y0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNv
bnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLiBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0cmljdCBm
dW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IsIGdlbmVyYXRv
ciBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3lu
YyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbiBjb25zdHJ1Y3Rvciwg
YW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90
IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93biBwcm9wZXJ0aWVzLgorICAgIEVDTUFTY3JpcHQgZnVu
Y3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3Ry
aWN0IG1vZGUgY29kZSBtdXN0CisgICAgbm90IGJlIGNyZWF0ZWQgd2l0aCBvd24gcHJvcGVydGll
cyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4gU3VjaCBvd24gcHJvcGVydGllcyBhbHNv
CisgICAgbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVz
aW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sCisgICAgR2VuZXJhdG9yRGVj
bGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2VuZXJhdG9yRGVjbGFyYXRpb24s
IEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwKKyAgICBDbGFzc0RlY2xhcmF0aW9uLCBDbGFzc0V4
cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNGdW5jdGlvbkV4cHJlc3Np
b24sIG9yCisgICAgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUg
ZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4KKyAgICBCdWlsdC1p
biBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rpb24g
Y29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMKKyAgICBjcmVhdGVkIHVzaW5nIHRoZSBH
ZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBB
c3luY0Z1bmN0aW9uCisgICAgY29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2lu
ZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24K
KyAgICBwcm9wZXJ0aWVzLgogCiAtLS0qLwogCkBAIC0yMCwxNiArMjksMTIgQEAgdmFyIGNhbGxD
b3VudCA9IDA7CiAKIHZhciBvYmogPSB7CiAgIGFzeW5jIG1ldGhvZCgpIHsKLSAgICB0aGlzLm1l
dGhvZC5jYWxsZXI7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh0aGlzLm1ldGhvZC5oYXNPd25Qcm9w
ZXJ0eSgiY2FsbGVyIiksIGZhbHNlKTsKICAgICBjYWxsQ291bnQrKzsKICAgfQogfTsKIAogb2Jq
Lm1ldGhvZCgpCi0gIC50aGVuKF8gPT4gewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ2Z1
bmN0aW9uIHNob3VsZCBub3QgYmUgcmVzb2x2ZWQnKTsKLSAgfSwgZXJyb3IgPT4gYXNzZXJ0LnNh
bWVWYWx1ZShlcnJvci5jb25zdHJ1Y3RvciwgVHlwZUVycm9yKSkKICAgLnRoZW4oKCkgPT4gewot
ICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAwLCAnZnVuY3Rpb24gYm9keSBpcyBub3Qg
ZXZhbHVhdGVkJyk7Ci0gIH0sICRET05FKQotICAudGhlbigkRE9ORSwgJERPTkUpOworICAgIGFz
c2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnZnVuY3Rpb24gYm9keSBldmFsdWF0ZWQnKTsK
KyAgfSwgJERPTkUpLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9m
b3JiaWRkZW4tZXh0L2IxL2dlbi1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9w
LWFyZ3VtZW50cy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25z
L29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2dlbi1tZXRoLWZvcmJp
ZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwppbmRleCA4OWQ1OGE0NDc5
MzIwY2QyOTUwN2QxY2QxYjdhNjFmNjUxZDNmZTdiLi5jZDg0MjZmODQzOGM5MzA5YTY4NDAzZjhl
YjljNjYyMDQxYzdmYzMxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9iMS9n
ZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhv
ZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1leHQvYjEvZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJl
Y3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCkBAIC0yLDcgKzIsNyBAQAogLy8gLSBzcmMvZnVu
Y3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmNh
c2UKIC8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC1v
bmUvZ2VuLW1ldGgudGVtcGxhdGUKIC8qLS0tCi1kZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVu
c2lvbiwgby5hcmd1bWVudHMgKGdlbmVyYXRvciBtZXRob2QpCitkZXNjcmlwdGlvbjogRm9yYmlk
ZGVuIGV4dGVuc2lvbiwgZi5hcmd1bWVudHMgKGdlbmVyYXRvciBtZXRob2QpCiBlc2lkOiBzZWMt
Z2VuZXJhdG9yLWZ1bmN0aW9uLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLXByb3BlcnR5
ZGVmaW5pdGlvbmV2YWx1YXRpb24KIGZlYXR1cmVzOiBbZ2VuZXJhdG9yc10KIGZsYWdzOiBbZ2Vu
ZXJhdGVkLCBub1N0cmljdF0KQEAgLTExLDE5ICsxMSwyNiBAQCBpbmZvOiB8CiAgICAgICAgICog
UHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgR2VuZXJhdG9yQm9keSB9
CiAKIAotICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRh
Y3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0IG5vdCBiZSBjcmVhdGVk
IHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2gg
b3duIHByb3BlcnRpZXMgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBvYmpl
Y3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwgR2Vu
ZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2VuZXJhdG9yRGVj
bGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xh
c3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHBy
ZXNzaW9uLCBvciBBc3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBk
ZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLiBCdWlsdC1pbiBmdW5j
dGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rpb24gY29uc3Ry
dWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNv
bnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlv
biBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhv
ZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93biBwcm9wZXJ0aWVzLgorICAg
IEVDTUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBjb25z
dHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0CisgICAgbm90IGJlIGNyZWF0ZWQgd2l0
aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4gU3VjaCBvd24g
cHJvcGVydGllcyBhbHNvCisgICAgbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2Jq
ZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sCisg
ICAgR2VuZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2VuZXJh
dG9yRGVjbGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwKKyAgICBDbGFzc0RlY2xh
cmF0aW9uLCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNG
dW5jdGlvbkV4cHJlc3Npb24sIG9yCisgICAgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mg
b2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29k
ZS4KKyAgICBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1c2lu
ZyB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMKKyAgICBjcmVh
dGVkIHVzaW5nIHRoZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVh
dGVkIHVzaW5nIHRoZSBBc3luY0Z1bmN0aW9uCisgICAgY29uc3RydWN0b3IsIGFuZCBmdW5jdGlv
bnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVk
IHdpdGggc3VjaCBvd24KKyAgICBwcm9wZXJ0aWVzLgogCiAtLS0qLwogCiB2YXIgY2FsbENvdW50
ID0gMDsKIHZhciBvYmogPSB7CiAgICptZXRob2QoKSB7Ci0gICAgdGhpcy5tZXRob2QuYXJndW1l
bnRzOworICAgIGFzc2VydC5zYW1lVmFsdWUodGhpcy5tZXRob2QuaGFzT3duUHJvcGVydHkoImFy
Z3VtZW50cyIpLCBmYWxzZSk7CiAgICAgY2FsbENvdW50Kys7CiAgIH0KIH07CiAKLWFzc2VydC50
aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgb2JqLm1ldGhvZCgpLm5leHQoKTsKLX0p
OwotYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdnZW5lcmF0b3IgbWV0aG9kIGJvZHkg
bm90IGV2YWx1YXRlZCcpOworb2JqLm1ldGhvZCgpLm5leHQoKTsKK2Fzc2VydC5zYW1lVmFsdWUo
Y2FsbENvdW50LCAxLCAnZ2VuZXJhdG9yIG1ldGhvZCBib2R5IGV2YWx1YXRlZCcpOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21l
dGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1leHQvYjEvZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1k
aXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1leHQvYjEv
Z2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCmluZGV4
IGU4YzIzNTM1YjhmNmE5YzJiNjFhMjYyZTA1YTdiZTBhOTliY2NhMGMuLjA5OWY4MzNjNzVjM2Zj
NTgzYTg5NDExMzIzOWFkZGJmZTZmYmE0OTkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRk
ZW4tZXh0L2IxL2dlbi1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxl
ci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmpl
Y3QvbWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9iMS9nZW4tbWV0aC1mb3JiaWRkZW4t
ZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKQEAgLTExLDE5ICsxMSwyNiBAQCBpbmZv
OiB8CiAgICAgICAgICogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsg
R2VuZXJhdG9yQm9keSB9CiAKIAotICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZp
bmVkIHVzaW5nIHN5bnRhY3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0
IG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFy
Z3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIGZv
ciBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9k
RGVmaW5pdGlvbiwgR2VuZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFz
eW5jR2VuZXJhdG9yRGVjbGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwgQ2xhc3NE
ZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFz
eW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvciBBc3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBv
ZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2Rl
LiBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUg
RnVuY3Rpb24gY29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0
aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0
aGUgQXN5bmNGdW5jdGlvbiBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5n
IHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93biBw
cm9wZXJ0aWVzLgorICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5n
IHN5bnRhY3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0CisgICAgbm90
IGJlIGNyZWF0ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1l
bnRzIi4gU3VjaCBvd24gcHJvcGVydGllcyBhbHNvCisgICAgbXVzdCBub3QgYmUgY3JlYXRlZCBm
b3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhv
ZERlZmluaXRpb24sCisgICAgR2VuZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Np
b24sIEFzeW5jR2VuZXJhdG9yRGVjbGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwK
KyAgICBDbGFzc0RlY2xhcmF0aW9uLCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNs
YXJhdGlvbiwgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24sIG9yCisgICAgQXN5bmNBcnJvd0Z1bmN0
aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4g
c3RyaWN0IG1vZGUgY29kZS4KKyAgICBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlv
bnMgY3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5j
dGlvbnMKKyAgICBjcmVhdGVkIHVzaW5nIHRoZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5j
IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBBc3luY0Z1bmN0aW9uCisgICAgY29uc3RydWN0
b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0
IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24KKyAgICBwcm9wZXJ0aWVzLgogCiAtLS0qLwog
CiB2YXIgY2FsbENvdW50ID0gMDsKIHZhciBvYmogPSB7CiAgICptZXRob2QoKSB7Ci0gICAgdGhp
cy5tZXRob2QuY2FsbGVyOworICAgIGFzc2VydC5zYW1lVmFsdWUodGhpcy5tZXRob2QuaGFzT3du
UHJvcGVydHkoImNhbGxlciIpLCBmYWxzZSk7CiAgICAgY2FsbENvdW50Kys7CiAgIH0KIH07CiAK
LWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgb2JqLm1ldGhvZCgpLm5l
eHQoKTsKLX0pOwotYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdnZW5lcmF0b3IgbWV0
aG9kIGJvZHkgbm90IGV2YWx1YXRlZCcpOworb2JqLm1ldGhvZCgpLm5leHQoKTsKK2Fzc2VydC5z
YW1lVmFsdWUoY2FsbENvdW50LCAxLCAnZ2VuZXJhdG9yIG1ldGhvZCBib2R5IGV2YWx1YXRlZCcp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMv
b2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1leHQvYjEvbWV0aC1mb3JiaWRkZW4t
ZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVu
LWV4dC9iMS9tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5q
cwppbmRleCA2Yzc2MjdmZDAwZjhhNjUxMjQ5YzU5MDRiNTM2YjJmNjE1NjhmZWE0Li4wMzUwYWMw
MTBiYmJiMmE0YTdkNTUyZGE0OWFjOTFkYTk1YzU2NzZjIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24v
Zm9yYmlkZGVuLWV4dC9iMS9tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFy
Z3VtZW50cy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9iMS9tZXRoLWZvcmJpZGRl
bi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwpAQCAtMiwyNSArMiwzMiBAQAog
Ly8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3At
YXJndW1lbnRzLmNhc2UKIC8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHRlbnNp
b25zL2J1bGxldC1vbmUvbWV0aC50ZW1wbGF0ZQogLyotLS0KLWRlc2NyaXB0aW9uOiBGb3JiaWRk
ZW4gZXh0ZW5zaW9uLCBvLmFyZ3VtZW50cyAobWV0aG9kKQorZGVzY3JpcHRpb246IEZvcmJpZGRl
biBleHRlbnNpb24sIGYuYXJndW1lbnRzIChtZXRob2QpCiBlc2lkOiBzZWMtcnVudGltZS1zZW1h
bnRpY3MtZGVmaW5lbWV0aG9kCiBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCiBpbmZvOiB8
CiAgICAgTWV0aG9kRGVmaW5pdGlvbiA6IFByb3BlcnR5TmFtZSAoIFN0cmljdEZvcm1hbFBhcmFt
ZXRlcnMgKSB7IEZ1bmN0aW9uQm9keSB9CiAKLSAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVj
dHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNv
ZGUgbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIi
IG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28gbXVzdCBub3QgYmUgY3Jl
YXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24s
IE1ldGhvZERlZmluaXRpb24sIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNz
aW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24s
IENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0
aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2Fy
ZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1v
ZGUgY29kZS4gQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNp
bmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zIGNyZWF0ZWQg
dXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQg
dXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24gY29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRl
ZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3Vj
aCBvd24gcHJvcGVydGllcy4KKyAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5l
ZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdAor
ICAgIG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3Ig
ImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbworICAgIG11c3Qgbm90IGJlIGNy
ZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9u
LCBNZXRob2REZWZpbml0aW9uLAorICAgIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JF
eHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJl
c3Npb24sCisgICAgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0
aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvcgorICAgIEFzeW5jQXJy
b3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFp
bmVkIGluIHN0cmljdCBtb2RlIGNvZGUuCisgICAgQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3Qg
ZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0
b3IgZnVuY3Rpb25zCisgICAgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9y
LCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbgorICAgIGNv
bnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFs
c28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duCisgICAgcHJvcGVydGllcy4KIAog
LS0tKi8KIAogdmFyIGNhbGxDb3VudCA9IDA7CiB2YXIgb2JqID0gewogICBtZXRob2QoKSB7Ci0g
ICAgdGhpcy5tZXRob2QuYXJndW1lbnRzOworICAgIGFzc2VydC5zYW1lVmFsdWUodGhpcy5tZXRo
b2QuaGFzT3duUHJvcGVydHkoImFyZ3VtZW50cyIpLCBmYWxzZSk7CiAgICAgY2FsbENvdW50Kys7
CiAgIH0KIH07CiAKLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgb2Jq
Lm1ldGhvZCgpOwotfSk7Ci1hc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ21ldGhvZCBi
b2R5IG5vdCBldmFsdWF0ZWQnKTsKK29iai5tZXRob2QoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2Fs
bENvdW50LCAxLCAnbWV0aG9kIGJvZHkgZXZhbHVhdGVkJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRp
b24vZm9yYmlkZGVuLWV4dC9iMS9tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9w
LWNhbGxlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29i
amVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IxL21ldGgtZm9yYmlkZGVuLWV4
dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCmluZGV4IDM0MjFhM2YwYWJhMjYxZjYyMjFh
ZGU2Mjc1OTgwYzg0NGZiYjczM2QuLmNiMDc4ZjkyZWUwODI3YzVlNzA2M2U3YTcxOWY4MTkxNDAx
NmRhYzUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Np
b25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IxL21ldGgtZm9yYmlk
ZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3Ji
aWRkZW4tZXh0L2IxL21ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVy
LmpzCkBAIC04LDE5ICs4LDI2IEBAIGZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdF0KIGluZm86
IHwKICAgICBNZXRob2REZWZpbml0aW9uIDogUHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFy
YW1ldGVycyApIHsgRnVuY3Rpb25Cb2R5IH0KIAotICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2Jq
ZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUg
Y29kZSBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxl
ciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbyBtdXN0IG5vdCBiZSBj
cmVhdGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlv
biwgTWV0aG9kRGVmaW5pdGlvbiwgR2VuZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJl
c3Npb24sIEFzeW5jR2VuZXJhdG9yRGVjbGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lv
biwgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFy
YXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvciBBc3luY0Fycm93RnVuY3Rpb24gcmVn
YXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3Qg
bW9kZSBjb2RlLiBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1
c2luZyB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMgY3JlYXRl
ZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRl
ZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbiBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVh
dGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBz
dWNoIG93biBwcm9wZXJ0aWVzLgorICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZp
bmVkIHVzaW5nIHN5bnRhY3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0
CisgICAgbm90IGJlIGNyZWF0ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBv
ciAiYXJndW1lbnRzIi4gU3VjaCBvd24gcHJvcGVydGllcyBhbHNvCisgICAgbXVzdCBub3QgYmUg
Y3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rp
b24sIE1ldGhvZERlZmluaXRpb24sCisgICAgR2VuZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRv
ckV4cHJlc3Npb24sIEFzeW5jR2VuZXJhdG9yRGVjbGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhw
cmVzc2lvbiwKKyAgICBDbGFzc0RlY2xhcmF0aW9uLCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVu
Y3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24sIG9yCisgICAgQXN5bmNB
cnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250
YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4KKyAgICBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0cmlj
dCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IsIGdlbmVy
YXRvciBmdW5jdGlvbnMKKyAgICBjcmVhdGVkIHVzaW5nIHRoZSBHZW5lcmF0b3IgY29uc3RydWN0
b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBBc3luY0Z1bmN0aW9uCisgICAg
Y29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2Qg
YWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24KKyAgICBwcm9wZXJ0aWVzLgog
CiAtLS0qLwogCiB2YXIgY2FsbENvdW50ID0gMDsKIHZhciBvYmogPSB7CiAgIG1ldGhvZCgpIHsK
LSAgICB0aGlzLm1ldGhvZC5jYWxsZXI7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh0aGlzLm1ldGhv
ZC5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIiksIGZhbHNlKTsKICAgICBjYWxsQ291bnQrKzsKICAg
fQogfTsKIAotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBvYmoubWV0
aG9kKCk7Ci19KTsKLWFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAwLCAnbWV0aG9kIGJvZHkg
bm90IGV2YWx1YXRlZCcpOworb2JqLm1ldGhvZCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291
bnQsIDEsICdtZXRob2QgYm9keSBldmFsdWF0ZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9m
b3JiaWRkZW4tZXh0L2IyL2FzeW5jLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNj
ZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9iMi9h
c3luYy1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxs
ZXItZ2V0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ5ZWU5ZTc0OGJjZTdiNzkzNDEwZDQwZDMxMzMyMjMyZThh
NDdhMTQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9iMi9hc3lu
Yy1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXIt
Z2V0LmpzCkBAIC0wLDAgKzEsNjUgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdl
bmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZv
cm1zL2ZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuY2Fz
ZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dGVuc2lvbnMvYnVsbGV0LXR3
by9hc3luYy1nZW4tbWV0aC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBGb3JiaWRkZW4g
ZXh0ZW5zaW9uLCBvLmNhbGxlciAoYXN5bmMgZ2VuZXJhdG9yIG1ldGhvZCkKK2VzaWQ6IHNlYy1h
c3luY2dlbmVyYXRvci1kZWZpbml0aW9ucy1wcm9wZXJ0eWRlZmluaXRpb25ldmFsdWF0aW9uCitm
ZWF0dXJlczogW2Fycm93LWZ1bmN0aW9uLCBhc3luYy1pdGVyYXRpb24sIGdlbmVyYXRvcnNdCitm
bGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5jXQoraW5mbzogfAorICAgIEFzeW5jR2Vu
ZXJhdG9yTWV0aG9kIDoKKyAgICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdICog
UHJvcGVydHlOYW1lICggVW5pcXVlRm9ybWFsUGFyYW1ldGVycyApCisgICAgICAgICAgICB7IEFz
eW5jR2VuZXJhdG9yQm9keSB9CisKKworICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVuZHMg
YW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiB0
aGUgdmFsdWUgb2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1d
IG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24KKyAg
ICBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24gdGhh
dCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRdXQorICAgIGF0dHJpYnV0ZSBt
dXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KKworLS0tKi8K
K3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7CitmdW5j
dGlvbiBpbm5lcigpIHsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBtYXkgZXhpc3QsIGJ1dCBpcyBmb3Ji
aWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVj
dAorICByZXR1cm4gaW5uZXIuaGFzT3duUHJvcGVydHkoImNhbGxlciIpCisgICAgPyBpbm5lci5j
YWxsZXIKKyAgICA6IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Q7Cit9CisKK3Zh
ciBjYWxsQ291bnQgPSAwOwordmFyIG9iaiA9IHsKKyAgYXN5bmMgKm1ldGhvZCgpIHsKKyAgICAi
dXNlIHN0cmljdCI7CisgICAgLy8gVGhpcyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2
YWx1ZSBpcyBzZXQgaW4gdGhlIHRlc3QncyAuY2FzZSBmaWxlLgorICAgIC8vIEZvciBldmVyeSB0
ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgICAvLyBjb3Jy
ZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgICAgLy8gVGhl
eSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdvIGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UK
KyAgICBsZXQgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5u
ZXIsICJjYWxsZXIiKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3Vy
YWJsZSAmJiB0cnVlKSB7CisgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJjYWxs
ZXIiLCB7Z2V0KCl7cmV0dXJuIDF9fSk7CisgICAgfQorICAgIHZhciByZXN1bHQgPSBpbm5lcigp
OworICAgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRydWUp
IHsKKyAgICAgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAxLCAnSWYgdGhpcyB0ZXN0IGRlZmlu
ZWQgYW4gb3duICJjYWxsZXIiIHByb3BlcnR5IG9uIHRoZSBpbm5lciBmdW5jdGlvbiwgdGhlbiBp
dCBzaG91bGQgYmUgYWNjZXNzaWJsZSBhbmQgc2hvdWxkIHJldHVybiB0aGUgdmFsdWUgaXQgd2Fz
IHNldCB0by4nKTsKKyAgICB9CisKKyAgICAvLyAiQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05P
VF9FWElTVCIgaXMgZnJvbQorICAgIC8vIGZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXBy
b3AtY2FsbGVyLmNhc2UKKyAgICAvLworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlu
bmVyIiBoYXMgYW4gb3duIHByb3BlcnR5CisgICAgLy8gbmFtZWQgImNhbGxlciIsIHRoZW4gaXRz
IHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQuCisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24g
b2JqZWN0ICJpbm5lciIgRE9FUyBOT1QgaGF2ZSBhbgorICAgIC8vIG93biBwcm9wZXJ0eSBuYW1l
ZCAiY2FsbGVyIiwgdGhlbiB0aGUgc3ltYm9sCisgICAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9E
T0VTX05PVF9FWElTVCB3aWxsIGJlIHJldHVybmVkLgorICAgIGlmIChyZXN1bHQgIT09IENBTExF
Ul9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QpIHsKKyAgICAgIGFzc2VydC5ub3RTYW1lVmFs
dWUocmVzdWx0LCB0aGlzLm1ldGhvZCk7CisgICAgfQorICAgIGNhbGxDb3VudCsrOworICB9Cit9
OworCitvYmoubWV0aG9kKCkubmV4dCgpCisgIC50aGVuKCgpID0+IHsKKyAgICBhc3NlcnQuc2Ft
ZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CisgIH0sICRE
T05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVu
LWV4dC9iMi9hc3luYy1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24t
cHJvcC1jYWxsZXItdmFsdWUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHBy
ZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1n
ZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFs
dWUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYTQyNjg1ODk3NzhjMmU2NTU1YTM1NWMwNDgyOTU1ODk4OTRmNjll
YgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWdl
bi1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1
ZS5qcwpAQCAtMCwwICsxLDY1IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5l
cmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jt
cy9mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuY2Fz
ZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dGVuc2lvbnMvYnVsbGV0LXR3
by9hc3luYy1nZW4tbWV0aC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBGb3JiaWRkZW4g
ZXh0ZW5zaW9uLCBvLmNhbGxlciAoYXN5bmMgZ2VuZXJhdG9yIG1ldGhvZCkKK2VzaWQ6IHNlYy1h
c3luY2dlbmVyYXRvci1kZWZpbml0aW9ucy1wcm9wZXJ0eWRlZmluaXRpb25ldmFsdWF0aW9uCitm
ZWF0dXJlczogW2Fycm93LWZ1bmN0aW9uLCBhc3luYy1pdGVyYXRpb24sIGdlbmVyYXRvcnNdCitm
bGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5jXQoraW5mbzogfAorICAgIEFzeW5jR2Vu
ZXJhdG9yTWV0aG9kIDoKKyAgICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdICog
UHJvcGVydHlOYW1lICggVW5pcXVlRm9ybWFsUGFyYW1ldGVycyApCisgICAgICAgICAgICB7IEFz
eW5jR2VuZXJhdG9yQm9keSB9CisKKworICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVuZHMg
YW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiB0
aGUgdmFsdWUgb2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1d
IG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24KKyAg
ICBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24gdGhh
dCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRdXQorICAgIGF0dHJpYnV0ZSBt
dXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KKworLS0tKi8K
K3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7CitmdW5j
dGlvbiBpbm5lcigpIHsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBtYXkgZXhpc3QsIGJ1dCBpcyBmb3Ji
aWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVj
dAorICByZXR1cm4gaW5uZXIuaGFzT3duUHJvcGVydHkoImNhbGxlciIpCisgICAgPyBpbm5lci5j
YWxsZXIKKyAgICA6IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Q7Cit9CisKK3Zh
ciBjYWxsQ291bnQgPSAwOwordmFyIG9iaiA9IHsKKyAgYXN5bmMgKm1ldGhvZCgpIHsKKyAgICAi
dXNlIHN0cmljdCI7CisgICAgLy8gVGhpcyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2
YWx1ZSBpcyBzZXQgaW4gdGhlIHRlc3QncyAuY2FzZSBmaWxlLgorICAgIC8vIEZvciBldmVyeSB0
ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgICAvLyBjb3Jy
ZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgICAgLy8gVGhl
eSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdvIGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UK
KyAgICBsZXQgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5u
ZXIsICJjYWxsZXIiKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3Vy
YWJsZSAmJiB0cnVlKSB7CisgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJjYWxs
ZXIiLCB7dmFsdWU6IDF9KTsKKyAgICB9CisgICAgdmFyIHJlc3VsdCA9IGlubmVyKCk7CisgICAg
aWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgdHJ1ZSkgeworICAg
ICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBv
d24gImNhbGxlciIgcHJvcGVydHkgb24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNob3Vs
ZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRv
LicpOworICAgIH0KKworICAgIC8vICJDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNU
IiBpcyBmcm9tCisgICAgLy8gZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxs
ZXIuY2FzZQorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIGhh
cyBhbiBvd24gcHJvcGVydHkKKyAgICAvLyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUg
d2lsbCBiZSByZXR1cm5lZC4KKyAgICAvLworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3Qg
ImlubmVyIiBET0VTIE5PVCBoYXZlIGFuCisgICAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJjYWxs
ZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9U
X0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQuCisgICAgaWYgKHJlc3VsdCAhPT0gQ0FMTEVSX09XTl9Q
Uk9QRVJUWV9ET0VTX05PVF9FWElTVCkgeworICAgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1
bHQsIHRoaXMubWV0aG9kKTsKKyAgICB9CisgICAgY2FsbENvdW50Kys7CisgIH0KK307CisKK29i
ai5tZXRob2QoKS5uZXh0KCkKKyAgLnRoZW4oKCkgPT4geworICAgIGFzc2VydC5zYW1lVmFsdWUo
Y2FsbENvdW50LCAxLCAnZnVuY3Rpb24gYm9keSBldmFsdWF0ZWQnKTsKKyAgfSwgJERPTkUpLnRo
ZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2Iy
L2FzeW5jLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVy
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21l
dGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtZ2VuLW1ldGgtZm9yYmlkZGVu
LWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKaW5kZXggNzIyMWNkZmU3MDgzNzAz
MmNkZDdkNWRlYjA3MDY3YWI0ZjMzN2Q5Ni4uNGE2ZTM0NmIyNzI1MDc0Mjc5ZjA4MDE3YTJhZGQ0
NzI5ODU3NTQ0YiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMt
Z2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhv
ZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4
dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQog
ZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVyIChhc3luYyBnZW5lcmF0
b3IgbWV0aG9kKQogZXNpZDogc2VjLWFzeW5jZ2VuZXJhdG9yLWRlZmluaXRpb25zLXByb3BlcnR5
ZGVmaW5pdGlvbmV2YWx1YXRpb24KLWZlYXR1cmVzOiBbYXN5bmMtaXRlcmF0aW9uXQorZmVhdHVy
ZXM6IFthcnJvdy1mdW5jdGlvbiwgYXN5bmMtaXRlcmF0aW9uLCBnZW5lcmF0b3JzXQogZmxhZ3M6
IFtnZW5lcmF0ZWQsIG5vU3RyaWN0LCBhc3luY10KIGluZm86IHwKICAgICBBc3luY0dlbmVyYXRv
ck1ldGhvZCA6CkBAIC0xMiwyOCArMTIsNTQgQEAgaW5mbzogfAogICAgICAgICAgICAgeyBBc3lu
Y0dlbmVyYXRvckJvZHkgfQogCiAKLSAgICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFu
eSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhl
IHZhbHVlIG9mIHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tH
ZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QuIElm
IGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFs
dWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRdXSBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4g
YSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQuCisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24g
ZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJj
YWxsZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5n
IFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5j
dGlvbgorICAgIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5j
dGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0
cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgog
CiAtLS0qLwordmFyIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2wo
KTsKIGZ1bmN0aW9uIGlubmVyKCkgewotICAvLyBUaGlzIHByb3BlcnR5IGlzIGZvcmJpZGRlbiBm
cm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdAotICByZXR1
cm4gaW5uZXIuY2FsbGVyOworICAvLyBUaGlzIHByb3BlcnR5IG1heSBleGlzdCwgYnV0IGlzIGZv
cmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24gb2Jq
ZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlubmVy
LmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVDsKIH0KIAog
dmFyIGNhbGxDb3VudCA9IDA7CiB2YXIgb2JqID0gewogICBhc3luYyAqbWV0aG9kKCkgewogICAg
ICJ1c2Ugc3RyaWN0IjsKLSAgICBpbm5lcigpLnRvU3RyaW5nKCk7CisgICAgLy8gVGhpcyBhbmQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRlc3QncyAuY2Fz
ZSBmaWxlLgorICAgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhl
cmUsIHRoZXJlIGlzIGEKKyAgICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMgYSAiZmFs
c2UiIHZhbHVlIGhlcmUuCisgICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdvIGRpZmZl
cmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgICBsZXQgZGVzY3JpcHRvciA9IE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgICBpZiAoZGVzY3Jp
cHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiBmYWxzZSkgeworICAgICAgT2JqZWN0
LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2FsbGVyIiwge30pOworICAgIH0KKyAgICB2YXIgcmVz
dWx0ID0gaW5uZXIoKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3Vy
YWJsZSAmJiBmYWxzZSkgeworICAgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0
aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkgb24gdGhlIGlubmVyIGZ1
bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91bGQgcmV0dXJuIHRo
ZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICAgIH0KKworICAgIC8vICJDQUxMRVJfT1dOX1BS
T1BFUlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9tCisgICAgLy8gZm9yYmlkZGVuLWV4dC1pbmRp
cmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0
aW9uIG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAgICAvLyBuYW1lZCAiY2Fs
bGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgICAvLworICAgIC8vIElm
IHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFuCisgICAgLy8gb3du
IHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgICAvLyBDQUxMRVJf
T1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQuCisgICAgaWYgKHJl
c3VsdCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkgeworICAgICAgYXNz
ZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIHRoaXMubWV0aG9kKTsKKyAgICB9CiAgICAgY2FsbENv
dW50Kys7CiAgIH0KIH07CiAKIG9iai5tZXRob2QoKS5uZXh0KCkKLSAgLnRoZW4oXyA9PiB7Ci0g
ICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSByZXNvbHZl
ZCcpOwotICB9LCBlcnJvciA9PiBhc3NlcnQuc2FtZVZhbHVlKGVycm9yLmNvbnN0cnVjdG9yLCBU
eXBlRXJyb3IpKQogICAudGhlbigoKSA9PiB7Ci0gICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291
bnQsIDAsICdmdW5jdGlvbiBib2R5IGlzIG5vdCBldmFsdWF0ZWQnKTsKLSAgfSwgJERPTkUpCi0g
IC50aGVuKCRET05FLCAkRE9ORSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEs
ICdmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcpOworICB9LCAkRE9ORSkudGhlbigkRE9ORSwgJERP
TkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lv
bnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtbWV0aC1m
b3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZp
bml0aW9uL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0
LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEzNzM5ZjdjYTNkMWFj
YWRmNmQ0Mzc1NDk5NTUwZTcyY2E1NjVhMWYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24v
Zm9yYmlkZGVuLWV4dC9iMi9hc3luYy1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNz
LW93bi1wcm9wLWNhbGxlci1nZXQuanMKQEAgLTAsMCArMSw2NiBAQAorLy8gVGhpcyBmaWxlIHdh
cyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8g
LSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXBy
b3AtY2FsbGVyLWdldC5jYXNlCisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0
ZW5zaW9ucy9idWxsZXQtdHdvL2FzeW5jLW1ldGgudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlv
bjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIgKGFzeW5jIG1ldGhvZCkKK2VzaWQ6IHNl
Yy1hc3luYy1kZWZpbml0aW9ucworZmVhdHVyZXM6IFthcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVu
Y3Rpb25zXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0LCBhc3luY10KK2luZm86IHwKKyAg
ICBBc3luY01ldGhvZCA6CisgICAgIGFzeW5jIFByb3BlcnR5TmFtZSAoIFVuaXF1ZUZvcm1hbFBh
cmFtZXRlcnMgKSB7IEFzeW5jRnVuY3Rpb25Cb2R5IH0KKworCisgICAgSWYgYW4gaW1wbGVtZW50
YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5h
bWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVk
IHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmlj
dCBmdW5jdGlvbgorICAgIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRo
ZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1dCisg
ICAgYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2Fs
bGVkLgorCistLS0qLwordmFyIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QgPSBT
eW1ib2woKTsKK2Z1bmN0aW9uIGlubmVyKCkgeworICAvLyBUaGlzIHByb3BlcnR5IG1heSBleGlz
dCwgYnV0IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgYSBzdHJpY3Qg
ZnVuY3Rpb24gb2JqZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIikK
KyAgICA/IGlubmVyLmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9F
WElTVDsKK30KKworCit2YXIgY2FsbENvdW50ID0gMDsKKwordmFyIG9iaiA9IHsKKyAgYXN5bmMg
bWV0aG9kKCkgeworICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisg
ICAgLy8gRm9yIGV2ZXJ5IHRlc3QgdGhhdCBoYXMgYSAidHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUg
aXMgYQorICAgIC8vIGNvcnJlc3BvbmRpbmcgdGVzdCB0aGF0IGhhcyBhICJmYWxzZSIgdmFsdWUg
aGVyZS4KKyAgICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNhc2Ug
ZmlsZXMsIHdoaWNoIHVzZQorICAgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihpbm5lciwgImNhbGxlciIpOworICAgIGlmIChkZXNjcmlwdG9yICYmIGRl
c2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICAgIE9iamVjdC5kZWZpbmVQcm9w
ZXJ0eShpbm5lciwgImNhbGxlciIsIHtnZXQoKXtyZXR1cm4gMX19KTsKKyAgICB9CisgICAgdmFy
IHJlc3VsdCA9IGlubmVyKCk7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25m
aWd1cmFibGUgJiYgdHJ1ZSkgeworICAgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJ
ZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkgb24gdGhlIGlubmVy
IGZ1bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91bGQgcmV0dXJu
IHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICAgIH0KKworICAgIC8vICJDQUxMRVJfT1dO
X1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9tCisgICAgLy8gZm9yYmlkZGVuLWV4dC1p
bmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1
bmN0aW9uIG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAgICAvLyBuYW1lZCAi
Y2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgICAvLworICAgIC8v
IElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFuCisgICAgLy8g
b3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgICAvLyBDQUxM
RVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQuCisgICAgaWYg
KHJlc3VsdCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkgeworICAgICAg
YXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIHRoaXMubWV0aG9kKTsKKyAgICB9CisgICAgY2Fs
bENvdW50Kys7CisgIH0KK307CisKK29iai5tZXRob2QoKQorICAudGhlbigoKSA9PiB7CisgICAg
YXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcp
OworICB9LCAkRE9ORSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9u
L2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vz
cy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9iMi9h
c3luYy1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12
YWx1ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45ZmY4MzBkMzI1Njc1ZWU4YzEwNzEwZDgxNzZkZjI0ZmI4ZTY2
ODU3Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMt
bWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUu
anMKQEAgLTAsMCArMSw2NiBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJh
dGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMv
Zm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmNhc2UK
Ky8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC10d28v
YXN5bmMtbWV0aC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5z
aW9uLCBvLmNhbGxlciAoYXN5bmMgbWV0aG9kKQorZXNpZDogc2VjLWFzeW5jLWRlZmluaXRpb25z
CitmZWF0dXJlczogW2Fycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnNdCitmbGFnczogW2dl
bmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5jXQoraW5mbzogfAorICAgIEFzeW5jTWV0aG9kIDoKKyAg
ICAgYXN5bmMgUHJvcGVydHlOYW1lICggVW5pcXVlRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNG
dW5jdGlvbkJvZHkgfQorCisKKyAgICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBm
dW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZh
bHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBb
W0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9uCisgICAgb2Jq
ZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMg
dGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAgICBhdHRyaWJ1dGUgbXVzdCBu
ZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQuCisKKy0tLSovCit2YXIg
Q0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCA9IFN5bWJvbCgpOworZnVuY3Rpb24g
aW5uZXIoKSB7CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0LCBidXQgaXMgZm9yYmlkZGVu
IGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKKyAg
cmV0dXJuIGlubmVyLmhhc093blByb3BlcnR5KCJjYWxsZXIiKQorICAgID8gaW5uZXIuY2FsbGVy
CisgICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUOworfQorCisKK3ZhciBj
YWxsQ291bnQgPSAwOworCit2YXIgb2JqID0geworICBhc3luYyBtZXRob2QoKSB7CisgICAgInVz
ZSBzdHJpY3QiOworICAgIC8vIFRoaXMgYW5kIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uYWwgdmFs
dWUgaXMgc2V0IGluIHRoZSB0ZXN0J3MgLmNhc2UgZmlsZS4KKyAgICAvLyBGb3IgZXZlcnkgdGVz
dCB0aGF0IGhhcyBhICJ0cnVlIiB2YWx1ZSBoZXJlLCB0aGVyZSBpcyBhCisgICAgLy8gY29ycmVz
cG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBoZXJlLgorICAgIC8vIFRoZXkg
YXJlIGdlbmVyYXRlZCBmcm9tIHR3byBkaWZmZXJlbnQgY2FzZSBmaWxlcywgd2hpY2ggdXNlCisg
ICAgbGV0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGlubmVy
LCAiY2FsbGVyIik7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFi
bGUgJiYgdHJ1ZSkgeworICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2FsbGVy
Iiwge3ZhbHVlOiAxfSk7CisgICAgfQorICAgIHZhciByZXN1bHQgPSBpbm5lcigpOworICAgIGlm
IChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICAg
IGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAxLCAnSWYgdGhpcyB0ZXN0IGRlZmluZWQgYW4gb3du
ICJjYWxsZXIiIHByb3BlcnR5IG9uIHRoZSBpbm5lciBmdW5jdGlvbiwgdGhlbiBpdCBzaG91bGQg
YmUgYWNjZXNzaWJsZSBhbmQgc2hvdWxkIHJldHVybiB0aGUgdmFsdWUgaXQgd2FzIHNldCB0by4n
KTsKKyAgICB9CisKKyAgICAvLyAiQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCIg
aXMgZnJvbQorICAgIC8vIGZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVy
LmNhc2UKKyAgICAvLworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBoYXMg
YW4gb3duIHByb3BlcnR5CisgICAgLy8gbmFtZWQgImNhbGxlciIsIHRoZW4gaXRzIHZhbHVlIHdp
bGwgYmUgcmV0dXJuZWQuCisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJp
bm5lciIgRE9FUyBOT1QgaGF2ZSBhbgorICAgIC8vIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVy
IiwgdGhlbiB0aGUgc3ltYm9sCisgICAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9F
WElTVCB3aWxsIGJlIHJldHVybmVkLgorICAgIGlmIChyZXN1bHQgIT09IENBTExFUl9PV05fUFJP
UEVSVFlfRE9FU19OT1RfRVhJU1QpIHsKKyAgICAgIGFzc2VydC5ub3RTYW1lVmFsdWUocmVzdWx0
LCB0aGlzLm1ldGhvZCk7CisgICAgfQorICAgIGNhbGxDb3VudCsrOworICB9Cit9OworCitvYmou
bWV0aG9kKCkKKyAgLnRoZW4oKCkgPT4geworICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50
LCAxLCAnZnVuY3Rpb24gYm9keSBldmFsdWF0ZWQnKTsKKyAgfSwgJERPTkUpLnRoZW4oJERPTkUs
ICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJl
c3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLW1l
dGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRp
b24vZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNj
ZXNzLXByb3AtY2FsbGVyLmpzCmluZGV4IGFiMDE5MzczNGY5Yjk0YjgyNGI1OGNhNjVjMDllOTBm
ZDYwNjI4OTkuLmM0NzQzZDM3MmI5OTljNzJlYTNmODAwYWQyMzQ4YzJiMTJlNTEwZmMgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9t
ZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLW1ldGgtZm9yYmlkZGVuLWV4
dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRl
bi1leHQvYjIvYXN5bmMtbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNh
bGxlci5qcwpAQCAtNCwxOSArNCwyNSBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBGb3JiaWRkZW4g
ZXh0ZW5zaW9uLCBvLmNhbGxlciAoYXN5bmMgbWV0aG9kKQogZXNpZDogc2VjLWFzeW5jLWRlZmlu
aXRpb25zCi1mZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2ZlYXR1cmVzOiBbYXJyb3ctZnVu
Y3Rpb24sIGFzeW5jLWZ1bmN0aW9uc10KIGZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdCwgYXN5
bmNdCiBpbmZvOiB8CiAgICAgQXN5bmNNZXRob2QgOgogICAgICBhc3luYyBQcm9wZXJ0eU5hbWUg
KCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CiAKIAotICAg
IElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFu
IG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2YgdGhhdCBwcm9wZXJ0eSwg
YXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90
IGJlIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVy
dHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dl
dF1dIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNh
bGxlZC4KKyAgICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmpl
Y3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZhbHVlIG9mCisgICAg
dGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBbW0dldE93blByb3Bl
cnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9uCisgICAgb2JqZWN0LiBJZiBpdCBp
cyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9m
IHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAgICBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4g
YSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQuCiAKIC0tLSovCit2YXIgQ0FMTEVSX09XTl9Q
Uk9QRVJUWV9ET0VTX05PVF9FWElTVCA9IFN5bWJvbCgpOwogZnVuY3Rpb24gaW5uZXIoKSB7Ci0g
IC8vIFRoaXMgcHJvcGVydHkgaXMgZm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBp
cyBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0Ci0gIHJldHVybiBpbm5lci5jYWxsZXI7CisgIC8vIFRo
aXMgcHJvcGVydHkgbWF5IGV4aXN0LCBidXQgaXMgZm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFs
dWUgdGhhdCBpcyBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKKyAgcmV0dXJuIGlubmVyLmhhc093
blByb3BlcnR5KCJjYWxsZXIiKQorICAgID8gaW5uZXIuY2FsbGVyCisgICAgOiBDQUxMRVJfT1dO
X1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUOwogfQogCiAKQEAgLTI1LDE2ICszMSwzNiBAQCB2YXIg
Y2FsbENvdW50ID0gMDsKIHZhciBvYmogPSB7CiAgIGFzeW5jIG1ldGhvZCgpIHsKICAgICAidXNl
IHN0cmljdCI7Ci0gICAgaW5uZXIoKS50b1N0cmluZygpOworICAgIC8vIFRoaXMgYW5kIHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9uYWwgdmFsdWUgaXMgc2V0IGluIHRoZSB0ZXN0J3MgLmNhc2UgZmls
ZS4KKyAgICAvLyBGb3IgZXZlcnkgdGVzdCB0aGF0IGhhcyBhICJ0cnVlIiB2YWx1ZSBoZXJlLCB0
aGVyZSBpcyBhCisgICAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2
YWx1ZSBoZXJlLgorICAgIC8vIFRoZXkgYXJlIGdlbmVyYXRlZCBmcm9tIHR3byBkaWZmZXJlbnQg
Y2FzZSBmaWxlcywgd2hpY2ggdXNlCisgICAgbGV0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKGlubmVyLCAiY2FsbGVyIik7CisgICAgaWYgKGRlc2NyaXB0b3Ig
JiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgZmFsc2UpIHsKKyAgICAgIE9iamVjdC5kZWZp
bmVQcm9wZXJ0eShpbm5lciwgImNhbGxlciIsIHt9KTsKKyAgICB9CisgICAgdmFyIHJlc3VsdCA9
IGlubmVyKCk7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUg
JiYgZmFsc2UpIHsKKyAgICAgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAxLCAnSWYgdGhpcyB0
ZXN0IGRlZmluZWQgYW4gb3duICJjYWxsZXIiIHByb3BlcnR5IG9uIHRoZSBpbm5lciBmdW5jdGlv
biwgdGhlbiBpdCBzaG91bGQgYmUgYWNjZXNzaWJsZSBhbmQgc2hvdWxkIHJldHVybiB0aGUgdmFs
dWUgaXQgd2FzIHNldCB0by4nKTsKKyAgICB9CisKKyAgICAvLyAiQ0FMTEVSX09XTl9QUk9QRVJU
WV9ET0VTX05PVF9FWElTVCIgaXMgZnJvbQorICAgIC8vIGZvcmJpZGRlbi1leHQtaW5kaXJlY3Qt
YWNjZXNzLXByb3AtY2FsbGVyLmNhc2UKKyAgICAvLworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBv
YmplY3QgImlubmVyIiBoYXMgYW4gb3duIHByb3BlcnR5CisgICAgLy8gbmFtZWQgImNhbGxlciIs
IHRoZW4gaXRzIHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQuCisgICAgLy8KKyAgICAvLyBJZiB0aGUg
ZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgRE9FUyBOT1QgaGF2ZSBhbgorICAgIC8vIG93biBwcm9w
ZXJ0eSBuYW1lZCAiY2FsbGVyIiwgdGhlbiB0aGUgc3ltYm9sCisgICAgLy8gQ0FMTEVSX09XTl9Q
Uk9QRVJUWV9ET0VTX05PVF9FWElTVCB3aWxsIGJlIHJldHVybmVkLgorICAgIGlmIChyZXN1bHQg
IT09IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QpIHsKKyAgICAgIGFzc2VydC5u
b3RTYW1lVmFsdWUocmVzdWx0LCB0aGlzLm1ldGhvZCk7CisgICAgfQogICAgIGNhbGxDb3VudCsr
OwogICB9CiB9OwogCiBvYmoubWV0aG9kKCkKLSAgLnRoZW4oXyA9PiB7Ci0gICAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSByZXNvbHZlZCcpOwotICB9LCBl
cnJvciA9PiBhc3NlcnQuc2FtZVZhbHVlKGVycm9yLmNvbnN0cnVjdG9yLCBUeXBlRXJyb3IpKQog
ICAudGhlbigoKSA9PiB7Ci0gICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdmdW5j
dGlvbiBib2R5IGlzIG5vdCBldmFsdWF0ZWQnKTsKLSAgfSwgJERPTkUpCi0gIC50aGVuKCRET05F
LCAkRE9ORSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdmdW5jdGlvbiBi
b2R5IGV2YWx1YXRlZCcpOworICB9LCAkRE9ORSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21l
dGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1leHQvYjIvZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1p
bmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRk
ZW4tZXh0L2IyL2dlbi1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9w
LWNhbGxlci1nZXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODYxZDRjOTU3MzBiNWU0ZTNlODM2YjA4OTMzYTU5
OGMzMmQ3Y2FjOQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2Iy
L2dlbi1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1n
ZXQuanMKQEAgLTAsMCArMSw2MiBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2Vu
ZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZnVuY3Rpb24tZm9y
bXMvZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5jYXNl
CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQtdHdv
L2dlbi1tZXRoLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNp
b24sIG8uY2FsbGVyIChnZW5lcmF0b3IgbWV0aG9kKQorZXNpZDogc2VjLWdlbmVyYXRvci1kZWZp
bml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1wcm9wZXJ0eWRlZmluaXRpb25ldmFsdWF0aW9uCitm
ZWF0dXJlczogW2dlbmVyYXRvcnNdCitmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCitpbmZv
OiB8CisgICAgR2VuZXJhdG9yTWV0aG9kIDoKKyAgICAgICAgKiBQcm9wZXJ0eU5hbWUgKCBTdHJp
Y3RGb3JtYWxQYXJhbWV0ZXJzICkgeyBHZW5lcmF0b3JCb2R5IH0KKworCisgICAgSWYgYW4gaW1w
bGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3Bl
cnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRoYXQgcHJvcGVydHksIGFzIG9i
c2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBh
IHN0cmljdCBmdW5jdGlvbgorICAgIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVy
dHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dl
dF1dCisgICAgYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdo
ZW4gY2FsbGVkLgorCistLS0qLwordmFyIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJ
U1QgPSBTeW1ib2woKTsKK2Z1bmN0aW9uIGlubmVyKCkgeworICAvLyBUaGlzIHByb3BlcnR5IG1h
eSBleGlzdCwgYnV0IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgYSBz
dHJpY3QgZnVuY3Rpb24gb2JqZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Qcm9wZXJ0eSgiY2Fs
bGVyIikKKyAgICA/IGlubmVyLmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VT
X05PVF9FWElTVDsKK30KKwordmFyIGNhbGxDb3VudCA9IDA7Cit2YXIgb2JqID0geworICAqbWV0
aG9kKCkgeworICAgICJ1c2Ugc3RyaWN0IjsKKyAgICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgICAg
Ly8gRm9yIGV2ZXJ5IHRlc3QgdGhhdCBoYXMgYSAidHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUgaXMg
YQorICAgIC8vIGNvcnJlc3BvbmRpbmcgdGVzdCB0aGF0IGhhcyBhICJmYWxzZSIgdmFsdWUgaGVy
ZS4KKyAgICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNhc2UgZmls
ZXMsIHdoaWNoIHVzZQorICAgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihpbm5lciwgImNhbGxlciIpOworICAgIGlmIChkZXNjcmlwdG9yICYmIGRlc2Ny
aXB0b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0
eShpbm5lciwgImNhbGxlciIsIHtnZXQoKXtyZXR1cm4gMX19KTsKKyAgICB9CisgICAgdmFyIHJl
c3VsdCA9IGlubmVyKCk7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1
cmFibGUgJiYgdHJ1ZSkgeworICAgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0
aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkgb24gdGhlIGlubmVyIGZ1
bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91bGQgcmV0dXJuIHRo
ZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICAgIH0KKworICAgIC8vICJDQUxMRVJfT1dOX1BS
T1BFUlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9tCisgICAgLy8gZm9yYmlkZGVuLWV4dC1pbmRp
cmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0
aW9uIG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAgICAvLyBuYW1lZCAiY2Fs
bGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgICAvLworICAgIC8vIElm
IHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFuCisgICAgLy8gb3du
IHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgICAvLyBDQUxMRVJf
T1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQuCisgICAgaWYgKHJl
c3VsdCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkgeworICAgICAgYXNz
ZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIHRoaXMubWV0aG9kKTsKKyAgICB9CisgICAgY2FsbENv
dW50Kys7CisgIH0KK307CisKK29iai5tZXRob2QoKS5uZXh0KCkudmFsdWU7Cithc3NlcnQuc2Ft
ZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2dlbmVyYXRvciBtZXRob2QgYm9keSB3YXMgZXZhbHVhdGVk
Jyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9u
cy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9iMi9nZW4tbWV0aC1mb3Ji
aWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmlu
aXRpb24vZm9yYmlkZGVuLWV4dC9iMi9nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFj
Y2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmE0MDc3Y2ZkYWE0Mzg1
YTVlZDc3YmJhNGJlYjA3Nzg2NWFlOWI5YQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9m
b3JiaWRkZW4tZXh0L2IyL2dlbi1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93
bi1wcm9wLWNhbGxlci12YWx1ZS5qcwpAQCAtMCwwICsxLDYyIEBACisvLyBUaGlzIGZpbGUgd2Fz
IHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAt
IHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJv
cC1jYWxsZXItdmFsdWUuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4
dGVuc2lvbnMvYnVsbGV0LXR3by9nZW4tbWV0aC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9u
OiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoZ2VuZXJhdG9yIG1ldGhvZCkKK2VzaWQ6
IHNlYy1nZW5lcmF0b3ItZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtcHJvcGVydHlkZWZp
bml0aW9uZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtnZW5lcmF0b3JzXQorZmxhZ3M6IFtnZW5lcmF0
ZWQsIG5vU3RyaWN0XQoraW5mbzogfAorICAgIEdlbmVyYXRvck1ldGhvZCA6CisgICAgICAgICog
UHJvcGVydHlOYW1lICggU3RyaWN0Rm9ybWFsUGFyYW1ldGVycyApIHsgR2VuZXJhdG9yQm9keSB9
CisKKworICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVj
dCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2YKKyAgICB0
aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVy
dHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24KKyAgICBvYmplY3QuIElmIGl0IGlz
IGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUgb2Yg
dGhlIHByb3BlcnR5J3MgW1tHZXRdXQorICAgIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVybiBh
IHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KKworLS0tKi8KK3ZhciBDQUxMRVJfT1dOX1BS
T1BFUlRZX0RPRVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7CitmdW5jdGlvbiBpbm5lcigpIHsKKyAg
Ly8gVGhpcyBwcm9wZXJ0eSBtYXkgZXhpc3QsIGJ1dCBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcg
YSB2YWx1ZSB0aGF0IGlzIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdAorICByZXR1cm4gaW5uZXIu
aGFzT3duUHJvcGVydHkoImNhbGxlciIpCisgICAgPyBpbm5lci5jYWxsZXIKKyAgICA6IENBTExF
Ul9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Q7Cit9CisKK3ZhciBjYWxsQ291bnQgPSAwOwor
dmFyIG9iaiA9IHsKKyAgKm1ldGhvZCgpIHsKKyAgICAidXNlIHN0cmljdCI7CisgICAgLy8gVGhp
cyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRlc3Qn
cyAuY2FzZSBmaWxlLgorICAgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZh
bHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMg
YSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdv
IGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgICBsZXQgZGVzY3JpcHRvciA9IE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgICBpZiAo
ZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgICBP
YmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJjYWxsZXIiLCB7dmFsdWU6IDF9KTsKKyAgICB9
CisgICAgdmFyIHJlc3VsdCA9IGlubmVyKCk7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3Jp
cHRvci5jb25maWd1cmFibGUgJiYgdHJ1ZSkgeworICAgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1
bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkgb24g
dGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91
bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICAgIH0KKworICAgIC8vICJD
QUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9tCisgICAgLy8gZm9yYmlk
ZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAgIC8vCisgICAgLy8g
SWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAgICAv
LyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgICAv
LworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFu
CisgICAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAg
ICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQu
CisgICAgaWYgKHJlc3VsdCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkg
eworICAgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIHRoaXMubWV0aG9kKTsKKyAgICB9
CisgICAgY2FsbENvdW50Kys7CisgIH0KK307CisKK29iai5tZXRob2QoKS5uZXh0KCkudmFsdWU7
Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2dlbmVyYXRvciBtZXRob2QgYm9keSB3
YXMgZXZhbHVhdGVkJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9iMi9n
ZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVm
aW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2dlbi1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3Qt
YWNjZXNzLXByb3AtY2FsbGVyLmpzCmluZGV4IGU4Mjk0MmNjNTdkY2RmZTIzMmQ4ZmY3NGY4M2Jl
NzJhMzZlZjk4MzUuLmI0NDIyZTk0MzU0Y2M0ZTU3NDJiMTVhNTYyNzkyYjZhZDMyZmQzNzkgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVj
dC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2dlbi1tZXRoLWZvcmJpZGRlbi1l
eHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRk
ZW4tZXh0L2IyL2dlbi1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2Fs
bGVyLmpzCkBAIC0xMSwyNCArMTEsNTIgQEAgaW5mbzogfAogICAgICAgICAqIFByb3BlcnR5TmFt
ZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMgKSB7IEdlbmVyYXRvckJvZHkgfQogCiAKLSAgICBJ
ZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBv
d24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZhbHVlIG9mIHRoYXQgcHJvcGVydHksIGFz
IG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBi
ZSBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5
LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRd
XSBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxs
ZWQuCisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0
IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRo
YXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0
eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbgorICAgIG9iamVjdC4gSWYgaXQgaXMg
YW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0
aGUgcHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEg
c3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgogCiAtLS0qLwordmFyIENBTExFUl9PV05fUFJP
UEVSVFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2woKTsKIGZ1bmN0aW9uIGlubmVyKCkgewotICAv
LyBUaGlzIHByb3BlcnR5IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMg
c3RyaWN0IGZ1bmN0aW9uIG9iamVjdAotICByZXR1cm4gaW5uZXIuY2FsbGVyOworICAvLyBUaGlz
IHByb3BlcnR5IG1heSBleGlzdCwgYnV0IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVl
IHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Q
cm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlubmVyLmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9Q
Uk9QRVJUWV9ET0VTX05PVF9FWElTVDsKIH0KIAogdmFyIGNhbGxDb3VudCA9IDA7CiB2YXIgb2Jq
ID0gewogICAqbWV0aG9kKCkgewogICAgICJ1c2Ugc3RyaWN0IjsKLSAgICBpbm5lcigpLnRvU3Ry
aW5nKCk7CisgICAgLy8gVGhpcyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBp
cyBzZXQgaW4gdGhlIHRlc3QncyAuY2FzZSBmaWxlLgorICAgIC8vIEZvciBldmVyeSB0ZXN0IHRo
YXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgICAvLyBjb3JyZXNwb25k
aW5nIHRlc3QgdGhhdCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgICAgLy8gVGhleSBhcmUg
Z2VuZXJhdGVkIGZyb20gdHdvIGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgICBs
ZXQgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJj
YWxsZXIiKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAm
JiBmYWxzZSkgeworICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2FsbGVyIiwg
e30pOworICAgIH0KKyAgICB2YXIgcmVzdWx0ID0gaW5uZXIoKTsKKyAgICBpZiAoZGVzY3JpcHRv
ciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiBmYWxzZSkgeworICAgICAgYXNzZXJ0LnNh
bWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIg
cHJvcGVydHkgb24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3Np
YmxlIGFuZCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICAgIH0K
KworICAgIC8vICJDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9tCisg
ICAgLy8gZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAg
IC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJv
cGVydHkKKyAgICAvLyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1
cm5lZC4KKyAgICAvLworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VT
IE5PVCBoYXZlIGFuCisgICAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRo
ZSBzeW1ib2wKKyAgICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwg
YmUgcmV0dXJuZWQuCisgICAgaWYgKHJlc3VsdCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VT
X05PVF9FWElTVCkgeworICAgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIHRoaXMubWV0
aG9kKTsKKyAgICB9CiAgICAgY2FsbENvdW50Kys7CiAgIH0KIH07CiAKLWFzc2VydC50aHJvd3Mo
VHlwZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgb2JqLm1ldGhvZCgpLm5leHQoKTsKLX0pOwotYXNz
ZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdnZW5lcmF0b3IgbWV0aG9kIGJvZHkgbm90IGV2
YWx1YXRlZCcpOworb2JqLm1ldGhvZCgpLm5leHQoKS52YWx1ZTsKK2Fzc2VydC5zYW1lVmFsdWUo
Y2FsbENvdW50LCAxLCAnZ2VuZXJhdG9yIG1ldGhvZCBib2R5IHdhcyBldmFsdWF0ZWQnKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVj
dC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IyL21ldGgtZm9yYmlkZGVuLWV4dC1p
bmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRk
ZW4tZXh0L2IyL21ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2Fs
bGVyLWdldC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNmJmMDMwNzQyNzU1MmYzZjljYzQ1Nzk1NmFlOTgzNTJk
ZjI1ZWQyCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
ZXhwcmVzc2lvbnMvb2JqZWN0L21ldGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1leHQvYjIvbWV0
aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzCkBA
IC0wLDAgKzEsNjAgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBm
cm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJp
ZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuY2FzZQorLy8gLSBz
cmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dGVuc2lvbnMvYnVsbGV0LXR3by9tZXRoLnRl
bXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVy
IChtZXRob2QpCitlc2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3MtZGVmaW5lbWV0aG9kCitmbGFn
czogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCitpbmZvOiB8CisgICAgTWV0aG9kRGVmaW5pdGlvbiA6
IFByb3BlcnR5TmFtZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMgKSB7IEZ1bmN0aW9uQm9keSB9
CisKKyAgICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmplY3Qg
d2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZhbHVlIG9mCisgICAgdGhh
dCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBbW0dldE93blByb3BlcnR5
XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9uCisgICAgb2JqZWN0LiBJZiBpdCBpcyBh
biBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRo
ZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAgICBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBz
dHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQuCisKKy0tLSovCit2YXIgQ0FMTEVSX09XTl9QUk9Q
RVJUWV9ET0VTX05PVF9FWElTVCA9IFN5bWJvbCgpOworZnVuY3Rpb24gaW5uZXIoKSB7CisgIC8v
IFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0LCBidXQgaXMgZm9yYmlkZGVuIGZyb20gaGF2aW5nIGEg
dmFsdWUgdGhhdCBpcyBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKKyAgcmV0dXJuIGlubmVyLmhh
c093blByb3BlcnR5KCJjYWxsZXIiKQorICAgID8gaW5uZXIuY2FsbGVyCisgICAgOiBDQUxMRVJf
T1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUOworfQorCit2YXIgY2FsbENvdW50ID0gMDsKK3Zh
ciBvYmogPSB7CisgIG1ldGhvZCgpIHsKKyAgICAidXNlIHN0cmljdCI7CisgICAgLy8gVGhpcyBh
bmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRlc3QncyAu
Y2FzZSBmaWxlLgorICAgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVl
IGhlcmUsIHRoZXJlIGlzIGEKKyAgICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMgYSAi
ZmFsc2UiIHZhbHVlIGhlcmUuCisgICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdvIGRp
ZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgICBsZXQgZGVzY3JpcHRvciA9IE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgICBpZiAoZGVz
Y3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgICBPYmpl
Y3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJjYWxsZXIiLCB7Z2V0KCl7cmV0dXJuIDF9fSk7Cisg
ICAgfQorICAgIHZhciByZXN1bHQgPSBpbm5lcigpOworICAgIGlmIChkZXNjcmlwdG9yICYmIGRl
c2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICAgIGFzc2VydC5zYW1lVmFsdWUo
cmVzdWx0LCAxLCAnSWYgdGhpcyB0ZXN0IGRlZmluZWQgYW4gb3duICJjYWxsZXIiIHByb3BlcnR5
IG9uIHRoZSBpbm5lciBmdW5jdGlvbiwgdGhlbiBpdCBzaG91bGQgYmUgYWNjZXNzaWJsZSBhbmQg
c2hvdWxkIHJldHVybiB0aGUgdmFsdWUgaXQgd2FzIHNldCB0by4nKTsKKyAgICB9CisKKyAgICAv
LyAiQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCIgaXMgZnJvbQorICAgIC8vIGZv
cmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmNhc2UKKyAgICAvLworICAg
IC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBoYXMgYW4gb3duIHByb3BlcnR5Cisg
ICAgLy8gbmFtZWQgImNhbGxlciIsIHRoZW4gaXRzIHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQuCisg
ICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgRE9FUyBOT1QgaGF2
ZSBhbgorICAgIC8vIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiwgdGhlbiB0aGUgc3ltYm9s
CisgICAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCB3aWxsIGJlIHJldHVy
bmVkLgorICAgIGlmIChyZXN1bHQgIT09IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJ
U1QpIHsKKyAgICAgIGFzc2VydC5ub3RTYW1lVmFsdWUocmVzdWx0LCB0aGlzLm1ldGhvZCk7Cisg
ICAgfQorCisgICAgY2FsbENvdW50Kys7CisgIH0KK307CisKK29iai5tZXRob2QoKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGJvZHkgZXZhbHVhdGVkJyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9leHByZXNzaW9ucy9vYmplY3Qv
bWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9iMi9tZXRoLWZvcmJpZGRlbi1leHQtaW5k
aXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRk
ZW4tZXh0L2IyL21ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2Fs
bGVyLXZhbHVlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc4NmYyZmExZjBmYjg0ZGU0Y2Y2ZWY3OGU0OTE3OTEw
ZjQ5ODQ1ODUKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9iMi9t
ZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5q
cwpAQCAtMCwwICsxLDYwIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0
ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9m
b3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuY2FzZQor
Ly8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dGVuc2lvbnMvYnVsbGV0LXR3by9t
ZXRoLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8u
Y2FsbGVyIChtZXRob2QpCitlc2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3MtZGVmaW5lbWV0aG9k
CitmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCitpbmZvOiB8CisgICAgTWV0aG9kRGVmaW5p
dGlvbiA6IFByb3BlcnR5TmFtZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMgKSB7IEZ1bmN0aW9u
Qm9keSB9CisKKyAgICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBmdW5jdGlvbiBv
YmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZhbHVlIG9mCisg
ICAgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBbW0dldE93blBy
b3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9uCisgICAgb2JqZWN0LiBJZiBp
dCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVl
IG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAgICBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1
cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQuCisKKy0tLSovCit2YXIgQ0FMTEVSX09X
Tl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCA9IFN5bWJvbCgpOworZnVuY3Rpb24gaW5uZXIoKSB7
CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0LCBidXQgaXMgZm9yYmlkZGVuIGZyb20gaGF2
aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKKyAgcmV0dXJuIGlu
bmVyLmhhc093blByb3BlcnR5KCJjYWxsZXIiKQorICAgID8gaW5uZXIuY2FsbGVyCisgICAgOiBD
QUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUOworfQorCit2YXIgY2FsbENvdW50ID0g
MDsKK3ZhciBvYmogPSB7CisgIG1ldGhvZCgpIHsKKyAgICAidXNlIHN0cmljdCI7CisgICAgLy8g
VGhpcyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRl
c3QncyAuY2FzZSBmaWxlLgorICAgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUi
IHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBo
YXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20g
dHdvIGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgICBsZXQgZGVzY3JpcHRvciA9
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgICBp
ZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAg
ICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJjYWxsZXIiLCB7dmFsdWU6IDF9KTsKKyAg
ICB9CisgICAgdmFyIHJlc3VsdCA9IGlubmVyKCk7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVz
Y3JpcHRvci5jb25maWd1cmFibGUgJiYgdHJ1ZSkgeworICAgICAgYXNzZXJ0LnNhbWVWYWx1ZShy
ZXN1bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkg
b24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBz
aG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICAgIH0KKworICAgIC8v
ICJDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9tCisgICAgLy8gZm9y
YmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAgIC8vCisgICAg
Ly8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAg
ICAvLyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAg
ICAvLworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZl
IGFuCisgICAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wK
KyAgICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJu
ZWQuCisgICAgaWYgKHJlc3VsdCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElT
VCkgeworICAgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIHRoaXMubWV0aG9kKTsKKyAg
ICB9CisKKyAgICBjYWxsQ291bnQrKzsKKyAgfQorfTsKKworb2JqLm1ldGhvZCgpOworYXNzZXJ0
LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgYm9keSBldmFsdWF0ZWQnKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9t
ZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4tZXh0L2IyL21ldGgtZm9yYmlkZGVuLWV4dC1pbmRp
cmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9leHByZXNzaW9ucy9vYmplY3QvbWV0aG9kLWRlZmluaXRpb24vZm9yYmlkZGVuLWV4dC9iMi9t
ZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCmluZGV4IGFj
ZDAyZDNjNTljZTYyZmVhMmMzMDNhZDA5NmYyMjUzNGZhYWFiMTYuLjE5OTRlNzE1MWFkNjFlMTc3
ZDU3YWRkZGZmMTRmN2Y5NzBkYTQzODAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL2V4cHJlc3Npb25zL29iamVjdC9tZXRob2QtZGVmaW5pdGlvbi9mb3JiaWRkZW4t
ZXh0L2IyL21ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvb2JqZWN0L21l
dGhvZC1kZWZpbml0aW9uL2ZvcmJpZGRlbi1leHQvYjIvbWV0aC1mb3JiaWRkZW4tZXh0LWluZGly
ZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwpAQCAtOCwyNCArOCw1MyBAQCBmbGFnczogW2dlbmVy
YXRlZCwgbm9TdHJpY3RdCiBpbmZvOiB8CiAgICAgTWV0aG9kRGVmaW5pdGlvbiA6IFByb3BlcnR5
TmFtZSAoIFN0cmljdEZvcm1hbFBhcmFtZXRlcnMgKSB7IEZ1bmN0aW9uQm9keSB9CiAKLSAgICBJ
ZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBv
d24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZhbHVlIG9mIHRoYXQgcHJvcGVydHksIGFz
IG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBi
ZSBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5
LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRd
XSBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxs
ZWQuCisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0
IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRo
YXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0
eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbgorICAgIG9iamVjdC4gSWYgaXQgaXMg
YW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0
aGUgcHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEg
c3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgogCiAtLS0qLwordmFyIENBTExFUl9PV05fUFJP
UEVSVFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2woKTsKIGZ1bmN0aW9uIGlubmVyKCkgewotICAv
LyBUaGlzIHByb3BlcnR5IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMg
c3RyaWN0IGZ1bmN0aW9uIG9iamVjdAotICByZXR1cm4gaW5uZXIuY2FsbGVyOworICAvLyBUaGlz
IHByb3BlcnR5IG1heSBleGlzdCwgYnV0IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVl
IHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Q
cm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlubmVyLmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9Q
Uk9QRVJUWV9ET0VTX05PVF9FWElTVDsKIH0KIAogdmFyIGNhbGxDb3VudCA9IDA7CiB2YXIgb2Jq
ID0gewogICBtZXRob2QoKSB7CiAgICAgInVzZSBzdHJpY3QiOwotICAgIGlubmVyKCkudG9TdHJp
bmcoKTsKKyAgICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlz
IHNldCBpbiB0aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgICAgLy8gRm9yIGV2ZXJ5IHRlc3QgdGhh
dCBoYXMgYSAidHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUgaXMgYQorICAgIC8vIGNvcnJlc3BvbmRp
bmcgdGVzdCB0aGF0IGhhcyBhICJmYWxzZSIgdmFsdWUgaGVyZS4KKyAgICAvLyBUaGV5IGFyZSBn
ZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNhc2UgZmlsZXMsIHdoaWNoIHVzZQorICAgIGxl
dCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbm5lciwgImNh
bGxlciIpOworICAgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYm
IGZhbHNlKSB7CisgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJjYWxsZXIiLCB7
fSk7CisgICAgfQorICAgIHZhciByZXN1bHQgPSBpbm5lcigpOworICAgIGlmIChkZXNjcmlwdG9y
ICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIGZhbHNlKSB7CisgICAgICBhc3NlcnQuc2Ft
ZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMgdGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBw
cm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2li
bGUgYW5kIHNob3VsZCByZXR1cm4gdGhlIHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgICAgfQor
CisgICAgLy8gIkNBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAg
ICAvLyBmb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5jYXNlCisgICAg
Ly8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9w
ZXJ0eQorICAgIC8vIG5hbWVkICJjYWxsZXIiLCB0aGVuIGl0cyB2YWx1ZSB3aWxsIGJlIHJldHVy
bmVkLgorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIERPRVMg
Tk9UIGhhdmUgYW4KKyAgICAvLyBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIsIHRoZW4gdGhl
IHN5bWJvbAorICAgIC8vIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qgd2lsbCBi
ZSByZXR1cm5lZC4KKyAgICBpZiAocmVzdWx0ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNf
Tk9UX0VYSVNUKSB7CisgICAgICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdCwgdGhpcy5tZXRo
b2QpOworICAgIH0KKwogICAgIGNhbGxDb3VudCsrOwogICB9CiB9OwogCi1hc3NlcnQudGhyb3dz
KFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gIG9iai5tZXRob2QoKTsKLX0pOwotYXNzZXJ0LnNh
bWVWYWx1ZShjYWxsQ291bnQsIDAsICdtZXRob2QgYm9keSBub3QgZXZhbHVhdGVkJyk7CitvYmou
bWV0aG9kKCk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ21ldGhvZCBib2R5IGV2
YWx1YXRlZCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvbW9k
dWxlLWNvZGUvZWFybHktZXhwb3J0LWlsbC1mb3JtZWQtc3RyaW5nLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUvZWFybHktZXhwb3J0LWlsbC1mb3JtZWQtc3Ry
aW5nLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmE2N2JjM2EyNWJjMDgzNjczMDFmYjEyY2FkYWQ2M2RmMzgyYjdh
ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9tb2R1
bGUtY29kZS9lYXJseS1leHBvcnQtaWxsLWZvcm1lZC1zdHJpbmcuanMKQEAgLTAsMCArMSwyNSBA
QAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIEJyYWRsZXkgRmFyaWFzLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBp
biB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2Rlc2NyaXB0aW9uOiA+CisgICAgSWxsIGZvcm1l
ZCB1bmljb2RlIGNhbm5vdCBiZSBhbiBleHBvcnRlZCBuYW1lCitlc2lkOiBzZWMtbW9kdWxlLXNl
bWFudGljcworaW5mbzogfAorICAgIE1vZHVsZUV4cG9ydE5hbWUgOiBTdHJpbmdMaXRlcmFsCisK
KyAgICBJdCBpcyBhIFN5bnRheCBFcnJvciBpZiBJc1N0cmluZ1dlbGxGb3JtZWRVbmljb2RlIG9m
IHRoZSBTdHJpbmdWYWx1ZSBvZiBTdHJpbmdMaXRlcmFsIGlzICpmYWxzZSouCituZWdhdGl2ZToK
KyAgZmxhZ3M6IG1vZHVsZQorICBwaGFzZTogcGFyc2UKKyAgdHlwZTogU3ludGF4RXJyb3IKK2Zl
YXR1cmVzOiBbYXJiaXRyYXJ5LW1vZHVsZS1uYW1lc3BhY2UtbmFtZXNdCistLS0qLworCiskRE9O
T1RFVkFMVUFURSgpOworCisvLyDwn4yZIGlzICdcdUQ4M0NcdURGMTknCitleHBvcnQge01vb24g
YXMgIlx1RDgzQyIsfSBmcm9tICIuL2Vhcmx5LWV4cG9ydC1pbGwtZm9ybWVkLXN0cmluZy5qcyI7
CitleHBvcnQgeyJcdUQ4M0MifSBmcm9tICIuL2Vhcmx5LWV4cG9ydC1pbGwtZm9ybWVkLXN0cmlu
Zy5qcyI7CitpbXBvcnQgeydcdUQ4M0MnIGFzIFVzYWdpfSBmcm9tICIuL2Vhcmx5LWV4cG9ydC1p
bGwtZm9ybWVkLXN0cmluZy5qcyI7CisKK2Z1bmN0aW9uIE1vb24oKSB7fQpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUvZXhwb3J0LWV4cG5hbWUt
YmluZGluZy1zdHJpbmcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9tb2R1bGUt
Y29kZS9leHBvcnQtZXhwbmFtZS1iaW5kaW5nLXN0cmluZy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NGEzNWNh
YTAyODcwOGE1ZjVlZjc5ZjZmNTczZWFhOGQ4YzM3NTkxCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUvZXhwb3J0LWV4cG5hbWUtYmlu
ZGluZy1zdHJpbmcuanMKQEAgLTAsMCArMSwxOCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIEJy
YWRsZXkgRmFyaWFzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVy
bmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0K
K2Rlc2NyaXB0aW9uOiBNb2R1bGUgTmFtZXNwYWNlIE9iamVjdHMgY2FuIGhhdmUgbm9uLUlkZW50
aWZpZXIgcHJvcGVydGllcworZXNpZDogcHJvZC1FeHBvcnRTcGVjaWZpZXIKK2luZm86IHwKKyAg
RXhwb3J0U3BlY2lmaWVyW0Zyb21dIDoKKyAgICBJZGVudGlmaWVyTmFtZSBgYXNgIE1vZHVsZUV4
cG9ydE5hbWUKKworICBNb2R1bGVFeHBvcnROYW1lIDogU3RyaW5nTGl0ZXJhbAorCitmbGFnczog
W21vZHVsZV0KK2ZlYXR1cmVzOiBbYXJiaXRyYXJ5LW1vZHVsZS1uYW1lc3BhY2UtbmFtZXNdCist
LS0qLworaW1wb3J0ICogYXMgU2NvdXRzIGZyb20gIi4vZXhwb3J0LWV4cG5hbWVfRklYVFVSRS5q
cyI7CisKK2Fzc2VydC5zYW1lVmFsdWUoU2NvdXRzLk1lcmN1cnksIHVuZGVmaW5lZCk7Cithc3Nl
cnQuc2FtZVZhbHVlKFNjb3V0c1si4pi/Il0sIGdsb2JhbFRoaXMuTWVyY3VyeSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9tb2R1bGUtY29kZS9leHBvcnQtZXhw
bmFtZS1mcm9tLWJpbmRpbmctc3RyaW5nLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvbW9kdWxlLWNvZGUvZXhwb3J0LWV4cG5hbWUtZnJvbS1iaW5kaW5nLXN0cmluZy5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40ZGU0MjY4ZDRiODdjMTA2YzNjODQ0MWU4NWRhNWY3MzJmNjliYWMyCi0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUvZXhw
b3J0LWV4cG5hbWUtZnJvbS1iaW5kaW5nLXN0cmluZy5qcwpAQCAtMCwwICsxLDIzIEBACisvLyBD
b3B5cmlnaHQgKEMpIDIwMjAgQnJhZGxleSBGYXJpYXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisv
LyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBM
SUNFTlNFIGZpbGUuCisvKi0tLQorZGVzY3JpcHRpb246ID4KKyAgRXhwb3J0U3BlY2lmaWVyIDog
TW9kdWxlRXhwb3J0TmFtZQorICBlc2lkOiBwcm9kLUV4cG9ydFNwZWNpZmllcgoraW5mbzogfAor
ICBFeHBvcnRGcm9tQ2xhdXNlIDoKKyAgICBOYW1lZEV4cG9ydHNbK0Zyb21dCisKKyAgRXhwb3J0
U3BlY2lmaWVyW0Zyb21dIDoKKyAgICBJZGVudGlmaWVyTmFtZSBgYXNgIE1vZHVsZUV4cG9ydE5h
bWUKKworICBNb2R1bGVFeHBvcnROYW1lIDogU3RyaW5nTGl0ZXJhbAorCitmbGFnczogW21vZHVs
ZV0KK2ZlYXR1cmVzOiBbYXJiaXRyYXJ5LW1vZHVsZS1uYW1lc3BhY2UtbmFtZXNdCistLS0qLwor
aW1wb3J0ICogYXMgU2NvdXRzIGZyb20gIi4vZXhwb3J0LWV4cG5hbWUtZnJvbS1iaW5kaW5nLXN0
cmluZy5qcyI7CitleHBvcnQgeyBNZXJjdXJ5IGFzICLimL8iIH0gZnJvbSAiLi9leHBvcnQtZXhw
bmFtZV9GSVhUVVJFLmpzIjsKKworYXNzZXJ0LnNhbWVWYWx1ZShTY291dHMuTWVyY3VyeSwgdW5k
ZWZpbmVkKTsKK2Fzc2VydC5zYW1lVmFsdWUoU2NvdXRzWyLimL8iXSwgZ2xvYmFsVGhpcy5NZXJj
dXJ5KTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL21vZHVsZS1j
b2RlL2V4cG9ydC1leHBuYW1lLWZyb20tc3Rhci1zdHJpbmcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9tb2R1bGUtY29kZS9leHBvcnQtZXhwbmFtZS1mcm9tLXN0YXItc3RyaW5n
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjc1YzQ1YTBmZmNlMWMzNTMwYTE0NmY0MWZjZTBlZGQ2MTExNGZiMjcK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9tb2R1bGUt
Y29kZS9leHBvcnQtZXhwbmFtZS1mcm9tLXN0YXItc3RyaW5nLmpzCkBAIC0wLDAgKzEsMjAgQEAK
Ky8vIENvcHlyaWdodCAoQykgMjAyMCBCcmFkbGV5IEZhcmlhcy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4g
dGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitkZXNjcmlwdGlvbjogPgorICBFeHBvcnRGcm9tQ2xh
dXNlIDogYCpgIGBhc2AgTW9kdWxlRXhwb3J0TmFtZQorICBlc2lkOiBwcm9kLUV4cG9ydEZyb21D
bGF1c2UKK2luZm86IHwKKyAgRXhwb3J0RnJvbUNsYXVzZSA6CisgICAgYCpgIGBhc2AgTW9kdWxl
RXhwb3J0TmFtZQorCisgIE1vZHVsZUV4cG9ydE5hbWUgOiBTdHJpbmdMaXRlcmFsCisKK2ZsYWdz
OiBbbW9kdWxlXQorZmVhdHVyZXM6IFthcmJpdHJhcnktbW9kdWxlLW5hbWVzcGFjZS1uYW1lc10K
Ky0tLSovCitpbXBvcnQgKiBhcyBTY291dHMgZnJvbSAiLi9leHBvcnQtZXhwbmFtZS1mcm9tLXN0
YXItc3RyaW5nLmpzIjsKK2V4cG9ydCAqIGFzICJBbGwiIGZyb20gIi4vZXhwb3J0LWV4cG5hbWVf
RklYVFVSRS5qcyI7CisKK2Fzc2VydC5zYW1lVmFsdWUoU2NvdXRzWyLimL8iXSwgdW5kZWZpbmVk
KTsKK2Fzc2VydC5zYW1lVmFsdWUoU2NvdXRzLkFsbFsi4pi/Il0sIGdsb2JhbFRoaXMuTWVyY3Vy
eSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9tb2R1bGUtY29k
ZS9leHBvcnQtZXhwbmFtZS1mcm9tLXN0YXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9tb2R1bGUtY29kZS9leHBvcnQtZXhwbmFtZS1mcm9tLXN0YXIuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTdiZTliOTczZjBhMjY5ZGQ0MjRkMDdjYzBiMzMzYzg4MjNmMTQzZAotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL21vZHVsZS1jb2RlL2V4cG9ydC1leHBu
YW1lLWZyb20tc3Rhci5qcwpAQCAtMCwwICsxLDE3IEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAg
QnJhZGxleSBGYXJpYXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292
ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0t
LQorZGVzY3JpcHRpb246ID4KKyAgRXhwb3J0RnJvbUNsYXVzZSA6IGAqYAorICBlc2lkOiBwcm9k
LUV4cG9ydEZyb21DbGF1c2UKK2luZm86IHwKKyAgRXhwb3J0RnJvbUNsYXVzZSA6CisgICAgYCpg
CisKK2ZsYWdzOiBbbW9kdWxlXQorZmVhdHVyZXM6IFthcmJpdHJhcnktbW9kdWxlLW5hbWVzcGFj
ZS1uYW1lc10KKy0tLSovCitpbXBvcnQgKiBhcyBTY291dHMgZnJvbSAiLi9leHBvcnQtZXhwbmFt
ZS1mcm9tLXN0YXIuanMiOworZXhwb3J0ICogZnJvbSAiLi9leHBvcnQtZXhwbmFtZV9GSVhUVVJF
LmpzIjsKKworYXNzZXJ0LnNhbWVWYWx1ZShTY291dHNbIuKYvyJdLCBnbG9iYWxUaGlzLk1lcmN1
cnkpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNv
ZGUvZXhwb3J0LWV4cG5hbWUtZnJvbS1zdHJpbmctYmluZGluZy5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL21vZHVsZS1jb2RlL2V4cG9ydC1leHBuYW1lLWZyb20tc3RyaW5nLWJp
bmRpbmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOTU1ZTg1N2QwNzc2MzE4YTY3ZDQyNTA0YTY0NzA4ZjAyNGM2
MDQwNAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL21v
ZHVsZS1jb2RlL2V4cG9ydC1leHBuYW1lLWZyb20tc3RyaW5nLWJpbmRpbmcuanMKQEAgLTAsMCAr
MSwyMSBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIEJyYWRsZXkgRmFyaWFzLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorLy8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBm
b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLyotLS0KK2Rlc2NyaXB0aW9uOiA+CisgIEV4cG9y
dEZyb21DbGF1c2UgOiBOYW1lZEV4cG9ydHMKKyAgZXNpZDogcHJvZC1FeHBvcnRGcm9tQ2xhdXNl
CitpbmZvOiB8CisgIEV4cG9ydEZyb21DbGF1c2UgOgorICAgIE5hbWVkRXhwb3J0c1srRnJvbV0K
KworICBOYW1lZEV4cG9ydHNbRnJvbV0gOgorICAgIFsrRnJvbV0gTW9kdWxlRXhwb3J0TmFtZSBh
cyBJZGVudGlmaWVyTmFtZQorCitmbGFnczogW21vZHVsZV0KK2ZlYXR1cmVzOiBbYXJiaXRyYXJ5
LW1vZHVsZS1uYW1lc3BhY2UtbmFtZXNdCistLS0qLworaW1wb3J0ICogYXMgU2NvdXRzIGZyb20g
Ii4vZXhwb3J0LWV4cG5hbWUtZnJvbS1zdHJpbmctYmluZGluZy5qcyI7CitleHBvcnQgeyAi4pi/
IiBhcyBBbWkgfSBmcm9tICIuL2V4cG9ydC1leHBuYW1lX0ZJWFRVUkUuanMiOworCithc3NlcnQu
c2FtZVZhbHVlKFNjb3V0c1si4pi/Il0sIHVuZGVmaW5lZCk7Cithc3NlcnQuc2FtZVZhbHVlKFNj
b3V0cy5BbWksIGdsb2JhbFRoaXMuTWVyY3VyeSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9tb2R1bGUtY29kZS9leHBvcnQtZXhwbmFtZS1mcm9tLXN0cmluZy1z
dHJpbmcuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9tb2R1bGUtY29kZS9leHBv
cnQtZXhwbmFtZS1mcm9tLXN0cmluZy1zdHJpbmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmUzZmQ2OTU1Zjg4
ZDYwZWUyYjhkNjQ3NTFhNzI4OTUwYWI2MGI3YwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL21vZHVsZS1jb2RlL2V4cG9ydC1leHBuYW1lLWZyb20tc3Ry
aW5nLXN0cmluZy5qcwpAQCAtMCwwICsxLDIxIEBACisvLyBDb3B5cmlnaHQgKEMpIDIwMjAgQnJh
ZGxleSBGYXJpYXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJu
ZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisvKi0tLQor
ZGVzY3JpcHRpb246ID4KKyAgRXhwb3J0RnJvbUNsYXVzZSA6IE5hbWVkRXhwb3J0cworICBlc2lk
OiBwcm9kLUV4cG9ydEZyb21DbGF1c2UKK2luZm86IHwKKyAgRXhwb3J0RnJvbUNsYXVzZSA6Cisg
ICAgTmFtZWRFeHBvcnRzWytGcm9tXQorCisgIE5hbWVkRXhwb3J0c1tGcm9tXSA6CisgICAgWytG
cm9tXSBNb2R1bGVFeHBvcnROYW1lIGFzIE1vZHVsZUV4cG9ydE5hbWUKKworZmxhZ3M6IFttb2R1
bGVdCitmZWF0dXJlczogW2FyYml0cmFyeS1tb2R1bGUtbmFtZXNwYWNlLW5hbWVzXQorLS0tKi8K
K2ltcG9ydCAqIGFzIFNjb3V0cyBmcm9tICIuL2V4cG9ydC1leHBuYW1lLWZyb20tc3RyaW5nLXN0
cmluZy5qcyI7CitleHBvcnQgeyAi4pi/IiBhcyAiQW1pIiB9IGZyb20gIi4vZXhwb3J0LWV4cG5h
bWVfRklYVFVSRS5qcyI7CisKK2Fzc2VydC5zYW1lVmFsdWUoU2NvdXRzWyLimL8iXSwgdW5kZWZp
bmVkKTsKK2Fzc2VydC5zYW1lVmFsdWUoU2NvdXRzLkFtaSwgZ2xvYmFsVGhpcy5NZXJjdXJ5KTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL21vZHVsZS1jb2RlL2V4
cG9ydC1leHBuYW1lLWZyb20tc3RyaW5nLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2UvbW9kdWxlLWNvZGUvZXhwb3J0LWV4cG5hbWUtZnJvbS1zdHJpbmcuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTdmYTdhMzNkZDE5ZTkyZDk3NjhiNzhlNTZlNDY0NWQ4N2M0MzI0NgotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL21vZHVsZS1jb2RlL2V4cG9ydC1leHBu
YW1lLWZyb20tc3RyaW5nLmpzCkBAIC0wLDAgKzEsMjIgQEAKKy8vIENvcHlyaWdodCAoQykgMjAy
MCBCcmFkbGV5IEZhcmlhcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBn
b3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8q
LS0tCitkZXNjcmlwdGlvbjogPgorICBFeHBvcnRGcm9tQ2xhdXNlIDogTmFtZWRFeHBvcnRzCisg
IGVzaWQ6IHByb2QtRXhwb3J0RnJvbUNsYXVzZQoraW5mbzogfAorICBFeHBvcnRGcm9tQ2xhdXNl
IDoKKyAgICBOYW1lZEV4cG9ydHNbK0Zyb21dCisKKyAgTmFtZWRFeHBvcnRzW0Zyb21dIDoKKyAg
ICBbK0Zyb21dIE1vZHVsZUV4cG9ydE5hbWUKKworICBNb2R1bGVFeHBvcnROYW1lIDogU3RyaW5n
TGl0ZXJhbAorCitmbGFnczogW21vZHVsZV0KK2ZlYXR1cmVzOiBbYXJiaXRyYXJ5LW1vZHVsZS1u
YW1lc3BhY2UtbmFtZXNdCistLS0qLworaW1wb3J0ICogYXMgU2NvdXRzIGZyb20gIi4vZXhwb3J0
LWV4cG5hbWUtZnJvbS1zdHJpbmcuanMiOworZXhwb3J0IHsgIuKYvyIgfSBmcm9tICIuL2V4cG9y
dC1leHBuYW1lX0ZJWFRVUkUuanMiOworCithc3NlcnQuc2FtZVZhbHVlKHR5cGVvZiBTY291dHNb
IuKYvyJdLCAiZnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL21vZHVsZS1jb2RlL2V4cG9ydC1leHBuYW1lLWltcG9ydC1zdHJpbmctYmluZGluZy5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL21vZHVsZS1jb2RlL2V4cG9ydC1leHBu
YW1lLWltcG9ydC1zdHJpbmctYmluZGluZy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzM0YzcxYzkzZmEyOTZm
OGY3ZWQ3YjM4NzU4MjJmZmU5Y2M5Y2FhCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUvZXhwb3J0LWV4cG5hbWUtaW1wb3J0LXN0cmlu
Zy1iaW5kaW5nLmpzCkBAIC0wLDAgKzEsMTcgQEAKKy8vIENvcHlyaWdodCAoQykgMjAyMCBCcmFk
bGV5IEZhcmlhcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBpcyBnb3Zlcm5l
ZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKy8qLS0tCitk
ZXNjcmlwdGlvbjogPgorICBJbXBvcnRTcGVjaWZpZXIgOgorICAgIE1vZHVsZUV4cG9ydE5hbWUg
YGFzYCBJZGVudGlmaWVyTmFtZQorICBlc2lkOiBwcm9kLUltcG9ydFNwZWNpZmllcgoraW5mbzog
fAorICBJbXBvcnRTcGVjaWZpZXIgOgorICAgIE1vZHVsZUV4cG9ydE5hbWUgYGFzYCBJZGVudGlm
aWVyTmFtZQorCitmbGFnczogW21vZHVsZV0KK2ZlYXR1cmVzOiBbYXJiaXRyYXJ5LW1vZHVsZS1u
YW1lc3BhY2UtbmFtZXNdCistLS0qLworaW1wb3J0IHsgIuKYvyIgYXMgQW1pIH0gZnJvbSAiLi9l
eHBvcnQtZXhwbmFtZV9GSVhUVVJFLmpzIjsKKworYXNzZXJ0LnNhbWVWYWx1ZShBbWksIGdsb2Jh
bFRoaXMuTWVyY3VyeSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9tb2R1bGUtY29kZS9leHBvcnQtZXhwbmFtZV9GSVhUVVJFLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUvZXhwb3J0LWV4cG5hbWVfRklYVFVSRS5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45MjNjYjQ2M2MyZjBjMDk2ZGRkODI0NDc2MTQ5OTU5YzM2MWRiMjI3Ci0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2UvbW9kdWxlLWNvZGUvZXhw
b3J0LWV4cG5hbWVfRklYVFVSRS5qcwpAQCAtMCwwICsxLDYgQEAKKy8vIENvcHlyaWdodCAoQykg
MjAyMCBCcmFkbGV5IEZhcmlhcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFRoaXMgY29kZSBp
cyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K
KworZXhwb3J0IHsgTWVyY3VyeSBhcyAi4pi/IiB9OworZnVuY3Rpb24gTWVyY3VyeSgpIHt9Citn
bG9iYWxUaGlzLk1lcmN1cnkgPSBNZXJjdXJ5OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1mdW5jdGlvbi9hd2FpdC1hcy1iaW5kaW5n
LWlkZW50aWZpZXItZXNjYXBlZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vYXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVyLWVzY2Fw
ZWQuanMKaW5kZXggOGZiNWYzOTc4OTEwNTEwZDFlMjE1MmIyNDVkOTcwYTYxM2JlMzZmYy4uM2U2
YTJiMDgxODI1ZTg1OTQ2YjIxNTEwN2MxOTZiMzE0MTgwZTdkNiAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1mdW5jdGlvbi9hd2FpdC1h
cy1iaW5kaW5nLWlkZW50aWZpZXItZXNjYXBlZC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWZ1bmN0aW9uL2F3YWl0LWFzLWJpbmRpbmctaWRl
bnRpZmllci1lc2NhcGVkLmpzCkBAIC0yNSw2ICsyNSw2IEBAIGluZm86IHwKICRET05PVEVWQUxV
QVRFKCk7CiAKIAotYXN5bmMgZnVuY3Rpb24gZm4oKSB7Cithc3luYyBmdW5jdGlvbiBhc3luY0Zu
KCkgewogICB2YXIgXHUwMDYxd2FpdDsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vYXdhaXQtYXMtYmluZGluZy1p
ZGVudGlmaWVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9h
c3luYy1mdW5jdGlvbi9hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXIuanMKaW5kZXggNzkyOGM1
MTY5ZTlmODlhMDMwMDg1NmUzNDc4YjE0MTIyMTUwZTQ5OC4uN2FlYzVjMzhiZWQ5ZDc3ODUxYjgz
Zjc0Nzg0ZmRjY2MwMjkyZjA3OSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1mdW5jdGlvbi9hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZp
ZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3lu
Yy1mdW5jdGlvbi9hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXIuanMKQEAgLTI1LDYgKzI1LDYg
QEAgaW5mbzogfAogJERPTk9URVZBTFVBVEUoKTsKIAogCi1hc3luYyBmdW5jdGlvbiBmbigpIHsK
K2FzeW5jIGZ1bmN0aW9uIGFzeW5jRm4oKSB7CiAgIHZhciBhd2FpdDsKIH0KZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24v
YXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UtZXNjYXBlZC5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vYXdhaXQtYXMtaWRlbnRp
Zmllci1yZWZlcmVuY2UtZXNjYXBlZC5qcwppbmRleCA3MDgzMDg1ZWY1ZjJiZjdjNmMwOTYwZGY1
YjczMTk4Zjk1YTQzMGJkLi5iMzMxNzg2OTIxN2YyNmExNjFkYzAwMzc3YzU0Yjc4Y2QxM2IyMWFj
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Fz
eW5jLWZ1bmN0aW9uL2F3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLWVzY2FwZWQuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1mdW5jdGlv
bi9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS1lc2NhcGVkLmpzCkBAIC0yNSw2ICsyNSw2
IEBAIGluZm86IHwKICRET05PVEVWQUxVQVRFKCk7CiAKIAotYXN5bmMgZnVuY3Rpb24gZm4oKSB7
Cithc3luYyBmdW5jdGlvbiBhc3luY0ZuKCkgewogICB2b2lkIFx1MDA2MXdhaXQ7CiB9CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWZ1
bmN0aW9uL2F3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1mdW5jdGlvbi9hd2FpdC1hcy1pZGVudGlm
aWVyLXJlZmVyZW5jZS5qcwppbmRleCBiNjA2M2JmZDYzOTk1MmEyZWFlOGQwNDFmNTY4YjdhZDgz
MGMwMzBjLi5hMzBkMWM4MTY0NjU0N2M2YTA5ZGQ0OWEzODIyMjJmMjg0ZmU1ZTI1IDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWZ1bmN0
aW9uL2F3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vYXdhaXQtYXMtaWRlbnRp
Zmllci1yZWZlcmVuY2UuanMKQEAgLTI1LDYgKzI1LDYgQEAgaW5mbzogfAogJERPTk9URVZBTFVB
VEUoKTsKIAogCi1hc3luYyBmdW5jdGlvbiBmbigpIHsKK2FzeW5jIGZ1bmN0aW9uIGFzeW5jRm4o
KSB7CiAgIHZvaWQgYXdhaXQ7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWZ1bmN0aW9uL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZp
ZXItZXNjYXBlZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
YXN5bmMtZnVuY3Rpb24vYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci1lc2NhcGVkLmpzCmluZGV4
IDYwNWYzMzdjMTZkYmUxY2NlOTU1YzRlODQwOWNlNzhiOWNmOWUzMjMuLjgxMzk3ZDQ1ZTc4YmNk
Y2Q5YjU1NDU0NTdiNjE0N2M3ZDY1NzdkMjUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vYXdhaXQtYXMtbGFiZWwtaWRl
bnRpZmllci1lc2NhcGVkLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci1lc2NhcGVk
LmpzCkBAIC0yNSw2ICsyNSw2IEBAIGluZm86IHwKICRET05PVEVWQUxVQVRFKCk7CiAKIAotYXN5
bmMgZnVuY3Rpb24gZm4oKSB7Cithc3luYyBmdW5jdGlvbiBhc3luY0ZuKCkgewogICBcdTAwNjF3
YWl0OiA7CiB9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2FzeW5jLWZ1bmN0aW9uL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXIuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWZ1bmN0aW9uL2F3YWl0
LWFzLWxhYmVsLWlkZW50aWZpZXIuanMKaW5kZXggYmZiZmU3YzNjMDQyMGM4ODYzYTc1NWY5MmM2
YzU0NmEwMjdmZmRlYS4uY2Q5NTQ1MDMzYTlhNDZhYzY2YjdmOGNjY2Q3OGE5YjkxN2UyZDIwMCAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3lu
Yy1mdW5jdGlvbi9hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vYXdhaXQtYXMtbGFi
ZWwtaWRlbnRpZmllci5qcwpAQCAtMjUsNiArMjUsNiBAQCBpbmZvOiB8CiAkRE9OT1RFVkFMVUFU
RSgpOwogCiAKLWFzeW5jIGZ1bmN0aW9uIGZuKCkgeworYXN5bmMgZnVuY3Rpb24gYXN5bmNGbigp
IHsKICAgYXdhaXQ6IDsKIH0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1mdW5j
LWRlY2wtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1mdW5jdGlvbi9mb3Ji
aWRkZW4tZXh0L2IxL2FzeW5jLWZ1bmMtZGVjbC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3Mt
cHJvcC1hcmd1bWVudHMuanMKaW5kZXggMzI5ZDllZmJmYThkNjI0MjgyZjUxZTg5OTgzNTRlNjg0
NWMyNTJkNC4uNjUwMWY5ZDkzYThkZjIyYjQ3OGFkZWExOWU4MTEyODFlMjAzYTFhMSAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1mdW5j
dGlvbi9mb3JiaWRkZW4tZXh0L2IxL2FzeW5jLWZ1bmMtZGVjbC1mb3JiaWRkZW4tZXh0LWRpcmVj
dC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2FzeW5jLWZ1
bmMtZGVjbC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKQEAg
LTIsMzEgKzIsMzYgQEAKIC8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHQtZGly
ZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5jYXNlCiAvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9m
b3JiaWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQtb25lL2FzeW5jLWZ1bmMtZGVjbC50ZW1wbGF0ZQog
LyotLS0KLWRlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmFyZ3VtZW50cyAoYXN5
bmMgZnVuY3Rpb24gZGVjbGFyYXRpb24pCitkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lv
biwgZi5hcmd1bWVudHMgKGFzeW5jIGZ1bmN0aW9uIGRlY2xhcmF0aW9uKQogZXNpZDogc2VjLWFz
eW5jLWZ1bmN0aW9uLWRlZmluaXRpb25zCi1mZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2Zl
YXR1cmVzOiBbYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9uc10KIGZsYWdzOiBbZ2VuZXJh
dGVkLCBub1N0cmljdCwgYXN5bmNdCiBpbmZvOiB8CiAgICAgQXN5bmNGdW5jdGlvbkRlY2xhcmF0
aW9uIDoKICAgICAgIGFzeW5jIGZ1bmN0aW9uIEJpbmRpbmdJZGVudGlmaWVyICggRm9ybWFsUGFy
YW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQogCiAKLSAgICBFQ01BU2NyaXB0IGZ1bmN0
aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmlj
dCBtb2RlIGNvZGUgbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVk
ICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28gbXVzdCBu
b3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93
RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0
b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4
cHJlc3Npb24sIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlv
bkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IgQXN5bmNBcnJvd0Z1bmN0
aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4g
c3RyaWN0IG1vZGUgY29kZS4gQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNy
ZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25z
IGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25z
IGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24gY29uc3RydWN0b3IsIGFuZCBmdW5jdGlv
bnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVk
IHdpdGggc3VjaCBvd24gcHJvcGVydGllcy4KKyAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVj
dHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNv
ZGUgbXVzdAorICAgIG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNh
bGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbworICAgIG11c3Qg
bm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJv
d0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLAorICAgIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBH
ZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVy
YXRvckV4cHJlc3Npb24sCisgICAgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBB
c3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvcgorICAg
IEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24g
aXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuCisgICAgQnVpbHQtaW4gZnVuY3Rpb25z
LCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9y
LCBnZW5lcmF0b3IgZnVuY3Rpb25zCisgICAgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNv
bnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlv
bgorICAgIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQg
bWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duCisgICAgcHJvcGVy
dGllcy4KIAogLS0tKi8KIAogCiB2YXIgY2FsbENvdW50ID0gMDsKIGFzeW5jIGZ1bmN0aW9uIGYo
KSB7Ci0gIGYuYXJndW1lbnRzOworICBhc3NlcnQuc2FtZVZhbHVlKGYuaGFzT3duUHJvcGVydHko
ImFyZ3VtZW50cyIpLCBmYWxzZSk7CiAgIGNhbGxDb3VudCsrOwogfQogCiBmKCkKLSAgLnRoZW4o
XyA9PiB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignZnVuY3Rpb24gc2hvdWxkIG5vdCBi
ZSByZXNvbHZlZCcpOwotICB9LCBlcnJvciA9PiBhc3NlcnQuc2FtZVZhbHVlKGVycm9yLmNvbnN0
cnVjdG9yLCBUeXBlRXJyb3IpKQogICAudGhlbigoKSA9PiB7Ci0gICAgYXNzZXJ0LnNhbWVWYWx1
ZShjYWxsQ291bnQsIDAsICdmdW5jdGlvbiBib2R5IGlzIG5vdCBldmFsdWF0ZWQnKTsKLSAgfSwg
JERPTkUpCi0gIC50aGVuKCRET05FLCAkRE9ORSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxs
Q291bnQsIDEsICdmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcpOworICB9LCAkRE9ORSkudGhlbigk
RE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9hc3luYy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2FzeW5jLWZ1bmMtZGVj
bC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWZ1bmN0aW9uL2ZvcmJpZGRlbi1l
eHQvYjEvYXN5bmMtZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNh
bGxlci5qcwppbmRleCA5YTllMzQzMTZhZWJkZjNhNjI1YWViOThlMGQ1M2M1MDExZjliNTRlLi4w
NDhjNzFlZmFjN2JiNDNlZmY0NGZiMjNhNmIxNjcwNDVhOTU5YTAzIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWZ1bmN0aW9uL2ZvcmJp
ZGRlbi1leHQvYjEvYXN5bmMtZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1w
cm9wLWNhbGxlci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2FzeW5jLWZ1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjEvYXN5bmMtZnVuYy1kZWNsLWZvcmJp
ZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwpAQCAtNCwyOSArNCwzNCBAQAog
LyotLS0KIGRlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoYXN5bmMg
ZnVuY3Rpb24gZGVjbGFyYXRpb24pCiBlc2lkOiBzZWMtYXN5bmMtZnVuY3Rpb24tZGVmaW5pdGlv
bnMKLWZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zXQorZmVhdHVyZXM6IFthcnJvdy1mdW5jdGlv
biwgYXN5bmMtZnVuY3Rpb25zXQogZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0LCBhc3luY10K
IGluZm86IHwKICAgICBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24gOgogICAgICAgYXN5bmMgZnVu
Y3Rpb24gQmluZGluZ0lkZW50aWZpZXIgKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1bmN0
aW9uQm9keSB9CiAKIAotICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVz
aW5nIHN5bnRhY3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0IG5vdCBi
ZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50
cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5j
dGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5p
dGlvbiwgR2VuZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2Vu
ZXJhdG9yRGVjbGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwgQ2xhc3NEZWNsYXJh
dGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVu
Y3Rpb25FeHByZXNzaW9uLCBvciBBc3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0
aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLiBCdWls
dC1pbiBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rp
b24gY29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgR2Vu
ZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5
bmNGdW5jdGlvbiBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBi
aW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93biBwcm9wZXJ0
aWVzLgorICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRh
Y3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0CisgICAgbm90IGJlIGNy
ZWF0ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4g
U3VjaCBvd24gcHJvcGVydGllcyBhbHNvCisgICAgbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVu
Y3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmlu
aXRpb24sCisgICAgR2VuZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFz
eW5jR2VuZXJhdG9yRGVjbGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwKKyAgICBD
bGFzc0RlY2xhcmF0aW9uLCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlv
biwgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24sIG9yCisgICAgQXN5bmNBcnJvd0Z1bmN0aW9uIHJl
Z2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0
IG1vZGUgY29kZS4KKyAgICBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3Jl
YXRlZCB1c2luZyB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMK
KyAgICBjcmVhdGVkIHVzaW5nIHRoZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0
aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBBc3luY0Z1bmN0aW9uCisgICAgY29uc3RydWN0b3IsIGFu
ZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBi
ZSBjcmVhdGVkIHdpdGggc3VjaCBvd24KKyAgICBwcm9wZXJ0aWVzLgogCiAtLS0qLwogCiAKIHZh
ciBjYWxsQ291bnQgPSAwOwogYXN5bmMgZnVuY3Rpb24gZigpIHsKLSAgZi5jYWxsZXI7CisgIGFz
c2VydC5zYW1lVmFsdWUoZi5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIiksIGZhbHNlKTsKICAgY2Fs
bENvdW50Kys7CiB9CiAKIGYoKQotICAudGhlbihfID0+IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCdmdW5jdGlvbiBzaG91bGQgbm90IGJlIHJlc29sdmVkJyk7Ci0gIH0sIGVycm9yID0+
IGFzc2VydC5zYW1lVmFsdWUoZXJyb3IuY29uc3RydWN0b3IsIFR5cGVFcnJvcikpCiAgIC50aGVu
KCgpID0+IHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2Z1bmN0aW9uIGJv
ZHkgaXMgbm90IGV2YWx1YXRlZCcpOwotICB9LCAkRE9ORSkKLSAgLnRoZW4oJERPTkUsICRET05F
KTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZh
bHVhdGVkJyk7CisgIH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWZ1bmN0aW9uL2Zv
cmJpZGRlbi1leHQvYjIvYXN5bmMtZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNj
ZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2FzeW5jLWZ1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtZnVuYy1k
ZWNsLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMDYxY2RjODQ0MTE0MmU1ODFmZDIzZTI4YTk4Mzg5YmMyODgxOWZhMAotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
YXN5bmMtZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1mdW5jLWRlY2wtZm9yYmlkZGVu
LWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcwpAQCAtMCwwICsxLDYz
IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9s
bG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWlu
ZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmNhc2UKKy8vIC0gc3JjL2Z1bmN0aW9u
LWZvcm1zL2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC10d28vYXN5bmMtZnVuYy1kZWNsLnRl
bXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVy
IChhc3luYyBmdW5jdGlvbiBkZWNsYXJhdGlvbikKK2VzaWQ6IHNlYy1hc3luYy1kZWZpbml0aW9u
cworZmVhdHVyZXM6IFthcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVuY3Rpb25zXQorZmxhZ3M6IFtn
ZW5lcmF0ZWQsIG5vU3RyaWN0LCBhc3luY10KK2luZm86IHwKKyAgICBBc3luY0Z1bmN0aW9uRGVj
bGFyYXRpb24gOgorICAgICAgYXN5bmMgZnVuY3Rpb24gQmluZGluZ0lkZW50aWZpZXIgKCBGb3Jt
YWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CisKKworICAgIElmIGFuIGltcGxl
bWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0
eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBvYnNl
cnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBz
dHJpY3QgZnVuY3Rpb24KKyAgICBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5
LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRd
XQorICAgIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVu
IGNhbGxlZC4KKworLS0tKi8KK3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNU
ID0gU3ltYm9sKCk7CitmdW5jdGlvbiBpbm5lcigpIHsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBtYXkg
ZXhpc3QsIGJ1dCBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEgc3Ry
aWN0IGZ1bmN0aW9uIG9iamVjdAorICByZXR1cm4gaW5uZXIuaGFzT3duUHJvcGVydHkoImNhbGxl
ciIpCisgICAgPyBpbm5lci5jYWxsZXIKKyAgICA6IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19O
T1RfRVhJU1Q7Cit9CisKKwordmFyIGNhbGxDb3VudCA9IDA7Cithc3luYyBmdW5jdGlvbiBmKCkg
eworICAidXNlIHN0cmljdCI7CisgIC8vIFRoaXMgYW5kIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
YWwgdmFsdWUgaXMgc2V0IGluIHRoZSB0ZXN0J3MgLmNhc2UgZmlsZS4KKyAgLy8gRm9yIGV2ZXJ5
IHRlc3QgdGhhdCBoYXMgYSAidHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUgaXMgYQorICAvLyBjb3Jy
ZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgIC8vIFRoZXkg
YXJlIGdlbmVyYXRlZCBmcm9tIHR3byBkaWZmZXJlbnQgY2FzZSBmaWxlcywgd2hpY2ggdXNlCisg
IC8vIHRoZSBzYW1lIHRlbXBsYXRlcy4KKyAgbGV0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKGlubmVyLCAiY2FsbGVyIik7CisgIGlmIChkZXNjcmlwdG9yICYm
IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICBPYmplY3QuZGVmaW5lUHJv
cGVydHkoaW5uZXIsICJjYWxsZXIiLCB7Z2V0KCl7cmV0dXJuIDF9fSk7CisgIH0KKyAgdmFyIHJl
c3VsdCA9IGlubmVyKCk7CisgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJh
YmxlICYmIHRydWUpIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMg
dGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rp
b24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4gdGhlIHZh
bHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgIH0KKyAgLy8gIkNBTExFUl9PV05fUFJPUEVSVFlfRE9F
U19OT1RfRVhJU1QiIGlzIGZyb20KKyAgLy8gZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mt
cHJvcC1jYWxsZXIuY2FzZQorICAvLworICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5l
ciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAvLyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFs
dWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgLy8KKyAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAi
aW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIi
LCB0aGVuIHRoZSBzeW1ib2wKKyAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElT
VCB3aWxsIGJlIHJldHVybmVkLgorICBpZiAocmVzdWx0ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZ
X0RPRVNfTk9UX0VYSVNUKSB7CisgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIGYpOwor
ICB9CisgIGNhbGxDb3VudCsrOworfQorCitmKCkKKyAgLnRoZW4oKCkgPT4geworICAgIGFzc2Vy
dC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnZnVuY3Rpb24gYm9keSBldmFsdWF0ZWQnKTsKKyAg
fSwgJERPTkUpLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9i
Mi9hc3luYy1mdW5jLWRlY2wtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3At
Y2FsbGVyLXZhbHVlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9hc3luYy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWZ1bmMtZGVjbC1mb3JiaWRk
ZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNWRkNGYwNDhiMWZjNWU2YzZhM2IzNTk5NWNjYWMyNmJjZmVlNTZlNwotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZnVu
Y3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1mdW5jLWRlY2wtZm9yYmlkZGVuLWV4dC1pbmRp
cmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzCkBAIC0wLDAgKzEsNjMgQEAKKy8v
IFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcg
c291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHQtaW5kaXJlY3Qt
YWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5jYXNlCisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jt
cy9mb3JiaWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQtdHdvL2FzeW5jLWZ1bmMtZGVjbC50ZW1wbGF0
ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoYXN5
bmMgZnVuY3Rpb24gZGVjbGFyYXRpb24pCitlc2lkOiBzZWMtYXN5bmMtZGVmaW5pdGlvbnMKK2Zl
YXR1cmVzOiBbYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9uc10KK2ZsYWdzOiBbZ2VuZXJh
dGVkLCBub1N0cmljdCwgYXN5bmNdCitpbmZvOiB8CisgICAgQXN5bmNGdW5jdGlvbkRlY2xhcmF0
aW9uIDoKKyAgICAgIGFzeW5jIGZ1bmN0aW9uIEJpbmRpbmdJZGVudGlmaWVyICggRm9ybWFsUGFy
YW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQorCisKKyAgICBJZiBhbiBpbXBsZW1lbnRh
dGlvbiBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFt
ZWQgImNhbGxlciIgdGhlIHZhbHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQg
dXNpbmcgW1tHZXRdXSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0
IGZ1bmN0aW9uCisgICAgb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhl
IGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAg
ICBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxs
ZWQuCisKKy0tLSovCit2YXIgQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCA9IFN5
bWJvbCgpOworZnVuY3Rpb24gaW5uZXIoKSB7CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0
LCBidXQgaXMgZm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0cmljdCBm
dW5jdGlvbiBvYmplY3QKKyAgcmV0dXJuIGlubmVyLmhhc093blByb3BlcnR5KCJjYWxsZXIiKQor
ICAgID8gaW5uZXIuY2FsbGVyCisgICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VY
SVNUOworfQorCisKK3ZhciBjYWxsQ291bnQgPSAwOworYXN5bmMgZnVuY3Rpb24gZigpIHsKKyAg
InVzZSBzdHJpY3QiOworICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFsIHZh
bHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgIC8vIEZvciBldmVyeSB0ZXN0
IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgLy8gY29ycmVzcG9u
ZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBoZXJlLgorICAvLyBUaGV5IGFyZSBn
ZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNhc2UgZmlsZXMsIHdoaWNoIHVzZQorICAvLyB0
aGUgc2FtZSB0ZW1wbGF0ZXMuCisgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihpbm5lciwgImNhbGxlciIpOworICBpZiAoZGVzY3JpcHRvciAmJiBkZXNj
cmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5
KGlubmVyLCAiY2FsbGVyIiwge3ZhbHVlOiAxfSk7CisgIH0KKyAgdmFyIHJlc3VsdCA9IGlubmVy
KCk7CisgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRydWUp
IHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMgdGVzdCBkZWZpbmVk
IGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rpb24sIHRoZW4gaXQg
c2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4gdGhlIHZhbHVlIGl0IHdhcyBz
ZXQgdG8uJyk7CisgIH0KKyAgLy8gIkNBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qi
IGlzIGZyb20KKyAgLy8gZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIu
Y2FzZQorICAvLworICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgaGFzIGFuIG93
biBwcm9wZXJ0eQorICAvLyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSBy
ZXR1cm5lZC4KKyAgLy8KKyAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIERPRVMg
Tk9UIGhhdmUgYW4KKyAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBz
eW1ib2wKKyAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCB3aWxsIGJlIHJl
dHVybmVkLgorICBpZiAocmVzdWx0ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VY
SVNUKSB7CisgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIGYpOworICB9CisgIGNhbGxD
b3VudCsrOworfQorCitmKCkKKyAgLnRoZW4oKCkgPT4geworICAgIGFzc2VydC5zYW1lVmFsdWUo
Y2FsbENvdW50LCAxLCAnZnVuY3Rpb24gYm9keSBldmFsdWF0ZWQnKTsKKyAgfSwgJERPTkUpLnRo
ZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1mdW5j
LWRlY2wtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWZ1bmN0aW9uL2ZvcmJp
ZGRlbi1leHQvYjIvYXN5bmMtZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNz
LXByb3AtY2FsbGVyLmpzCmluZGV4IDFiYWU1OGY2NGYyZGZhMmE2NWUzYzI1NTQ5NjVmNTg0NzA5
NTMyMmMuLmZlY2UxYzU3ODhlZDFjMmVmNTk5NmZmYmQxYzlkOWNjOTk1YzE5MWYgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZnVuY3Rp
b24vZm9yYmlkZGVuLWV4dC9iMi9hc3luYy1mdW5jLWRlY2wtZm9yYmlkZGVuLWV4dC1pbmRpcmVj
dC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9hc3luYy1mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWZ1bmMt
ZGVjbC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwpAQCAtNCwz
NCArNCw2MCBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNh
bGxlciAoYXN5bmMgZnVuY3Rpb24gZGVjbGFyYXRpb24pCiBlc2lkOiBzZWMtYXN5bmMtZGVmaW5p
dGlvbnMKLWZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zXQorZmVhdHVyZXM6IFthcnJvdy1mdW5j
dGlvbiwgYXN5bmMtZnVuY3Rpb25zXQogZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0LCBhc3lu
Y10KIGluZm86IHwKICAgICBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24gOgogICAgICAgYXN5bmMg
ZnVuY3Rpb24gQmluZGluZ0lkZW50aWZpZXIgKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1
bmN0aW9uQm9keSB9CiAKIAotICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1
bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFs
dWUgb2YgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBbW0dldE93
blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdC4gSWYgaXQg
aXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBv
ZiB0aGUgcHJvcGVydHkncyBbW0dldF1dIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0
cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KKyAgICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRl
bmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxl
ciIgdGhlIHZhbHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tH
ZXRdXSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9u
CisgICAgb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9u
IHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAgICBhdHRyaWJ1
dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQuCiAKIC0t
LSovCit2YXIgQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCA9IFN5bWJvbCgpOwog
ZnVuY3Rpb24gaW5uZXIoKSB7Ci0gIC8vIFRoaXMgcHJvcGVydHkgaXMgZm9yYmlkZGVuIGZyb20g
aGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0Ci0gIHJldHVybiBp
bm5lci5jYWxsZXI7CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0LCBidXQgaXMgZm9yYmlk
ZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QK
KyAgcmV0dXJuIGlubmVyLmhhc093blByb3BlcnR5KCJjYWxsZXIiKQorICAgID8gaW5uZXIuY2Fs
bGVyCisgICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUOwogfQogCiAKIHZh
ciBjYWxsQ291bnQgPSAwOwogYXN5bmMgZnVuY3Rpb24gZigpIHsKICAgInVzZSBzdHJpY3QiOwot
ICBpbm5lcigpLnRvU3RyaW5nKCk7CisgIC8vIFRoaXMgYW5kIHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9uYWwgdmFsdWUgaXMgc2V0IGluIHRoZSB0ZXN0J3MgLmNhc2UgZmlsZS4KKyAgLy8gRm9yIGV2
ZXJ5IHRlc3QgdGhhdCBoYXMgYSAidHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUgaXMgYQorICAvLyBj
b3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgIC8vIFRo
ZXkgYXJlIGdlbmVyYXRlZCBmcm9tIHR3byBkaWZmZXJlbnQgY2FzZSBmaWxlcywgd2hpY2ggdXNl
CisgIC8vIHRoZSBzYW1lIHRlbXBsYXRlcy4KKyAgbGV0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKGlubmVyLCAiY2FsbGVyIik7CisgIGlmIChkZXNjcmlwdG9y
ICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIGZhbHNlKSB7CisgICAgT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KGlubmVyLCAiY2FsbGVyIiwge30pOworICB9CisgIHZhciByZXN1bHQgPSBpbm5l
cigpOworICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiBmYWxz
ZSkgeworICAgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAxLCAnSWYgdGhpcyB0ZXN0IGRlZmlu
ZWQgYW4gb3duICJjYWxsZXIiIHByb3BlcnR5IG9uIHRoZSBpbm5lciBmdW5jdGlvbiwgdGhlbiBp
dCBzaG91bGQgYmUgYWNjZXNzaWJsZSBhbmQgc2hvdWxkIHJldHVybiB0aGUgdmFsdWUgaXQgd2Fz
IHNldCB0by4nKTsKKyAgfQorICAvLyAiQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElT
VCIgaXMgZnJvbQorICAvLyBmb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxl
ci5jYXNlCisgIC8vCisgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBoYXMgYW4g
b3duIHByb3BlcnR5CisgIC8vIG5hbWVkICJjYWxsZXIiLCB0aGVuIGl0cyB2YWx1ZSB3aWxsIGJl
IHJldHVybmVkLgorICAvLworICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgRE9F
UyBOT1QgaGF2ZSBhbgorICAvLyBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIsIHRoZW4gdGhl
IHN5bWJvbAorICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUg
cmV0dXJuZWQuCisgIGlmIChyZXN1bHQgIT09IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1Rf
RVhJU1QpIHsKKyAgICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdCwgZik7CisgIH0KICAgY2Fs
bENvdW50Kys7CiB9CiAKIGYoKQotICAudGhlbihfID0+IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCdmdW5jdGlvbiBzaG91bGQgbm90IGJlIHJlc29sdmVkJyk7Ci0gIH0sIGVycm9yID0+
IGFzc2VydC5zYW1lVmFsdWUoZXJyb3IuY29uc3RydWN0b3IsIFR5cGVFcnJvcikpCiAgIC50aGVu
KCgpID0+IHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2Z1bmN0aW9uIGJv
ZHkgaXMgbm90IGV2YWx1YXRlZCcpOwotICB9LCAkRE9ORSkKLSAgLnRoZW4oJERPTkUsICRET05F
KTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZh
bHVhdGVkJyk7CisgIH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWZ1bmN0aW9uL3Jl
dHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1hcmd1bWVudHMtZnJvbS1wYXJlbnQtZnVuY3Rpb24u
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWZ1bmN0
aW9uL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1hcmd1bWVudHMtZnJvbS1wYXJlbnQtZnVu
Y3Rpb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNmVkYjc3MTdjYWNhMWQwMTE4MzZlNGQwNmU3ODk3ZmJjZjhl
Yjc1ZAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vcmV0dXJucy1hc3luYy1hcnJvdy1yZXR1cm5zLWFyZ3Vt
ZW50cy1mcm9tLXBhcmVudC1mdW5jdGlvbi5qcwpAQCAtMCwwICsxLDMwIEBACisvLyBUaGlzIGZp
bGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6
CisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvcmV0dXJucy1hc3luYy1hcnJvdy1yZXR1cm5zLWFy
Z3VtZW50cy1mcm9tLXBhcmVudC1mdW5jdGlvbi5jYXNlCisvLyAtIHNyYy9hc3luYy1mdW5jdGlv
bnMvZXZhbHVhdGlvbi9hc3luYy1kZWNsYXJhdGlvbi50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0
aW9uOiBBc3luYyBmdW5jdGlvbiByZXR1cm5zIGFuIGFzeW5jIGZ1bmN0aW9uLiAoQXN5bmMgZnVu
Y3Rpb24gZGVjbGFyYXRpb24pCitlc2lkOiBwcm9kLUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbgor
ZmVhdHVyZXM6IFthc3luYy1mdW5jdGlvbnNdCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitp
bmZvOiB8CisgICAgQXN5bmMgRnVuY3Rpb24gRGVmaW5pdGlvbnMKKworICAgIEFzeW5jRnVuY3Rp
b25EZWNsYXJhdGlvbjoKKyAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBmdW5j
dGlvbiBCaW5kaW5nSWRlbnRpZmllciAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVuY3Rp
b25Cb2R5IH0KKworLS0tKi8KK2xldCBjb3VudCA9IDA7CisKKworYXN5bmMgZnVuY3Rpb24gYXN5
bmNGbih4KSB7CisgIGxldCBhID0gYXJndW1lbnRzOworICAgIHJldHVybiBhc3luYyAoKSA9PiBh
ID09PSBhcmd1bWVudHM7Cit9CisKK2FzeW5jRm4oKS50aGVuKHJldEZuID0+IHsKKyAgY291bnQr
KzsKKyAgcmV0dXJuIHJldEZuKCk7Cit9KS50aGVuKHJlc3VsdCA9PiB7CisgIGFzc2VydC5zYW1l
VmFsdWUocmVzdWx0LCB0cnVlKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwgMSk7Cit9KS50
aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWZ1bmN0aW9uL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJu
cy1uZXd0YXJnZXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2FzeW5jLWZ1bmN0aW9uL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1uZXd0YXJnZXQuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjg4NmRkYjEyOTdhNzM4YzNmMjBkNTE5MjdlMDM2ODJkZjIzYzJlMQotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
YXN5bmMtZnVuY3Rpb24vcmV0dXJucy1hc3luYy1hcnJvdy1yZXR1cm5zLW5ld3RhcmdldC5qcwpA
QCAtMCwwICsxLDI5IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQg
ZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvcmV0
dXJucy1hc3luYy1hcnJvdy1yZXR1cm5zLW5ld3RhcmdldC5jYXNlCisvLyAtIHNyYy9hc3luYy1m
dW5jdGlvbnMvZXZhbHVhdGlvbi9hc3luYy1kZWNsYXJhdGlvbi50ZW1wbGF0ZQorLyotLS0KK2Rl
c2NyaXB0aW9uOiBBc3luYyBmdW5jdGlvbiByZXR1cm5zIGFuIGFzeW5jIGZ1bmN0aW9uLiAoQXN5
bmMgZnVuY3Rpb24gZGVjbGFyYXRpb24pCitlc2lkOiBwcm9kLUFzeW5jRnVuY3Rpb25EZWNsYXJh
dGlvbgorZmVhdHVyZXM6IFthc3luYy1mdW5jdGlvbnNdCitmbGFnczogW2dlbmVyYXRlZCwgYXN5
bmNdCitpbmZvOiB8CisgICAgQXN5bmMgRnVuY3Rpb24gRGVmaW5pdGlvbnMKKworICAgIEFzeW5j
RnVuY3Rpb25EZWNsYXJhdGlvbjoKKyAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJl
XSBmdW5jdGlvbiBCaW5kaW5nSWRlbnRpZmllciAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5j
RnVuY3Rpb25Cb2R5IH0KKworLS0tKi8KK2xldCBjb3VudCA9IDA7CisKKworYXN5bmMgZnVuY3Rp
b24gYXN5bmNGbih4KSB7CisgIHJldHVybiBhc3luYyAoKSA9PiBuZXcudGFyZ2V0OworfQorCith
c3luY0ZuKCkudGhlbihyZXRGbiA9PiB7CisgIGNvdW50Kys7CisgIHJldHVybiByZXRGbigpOwor
fSkudGhlbihyZXN1bHQgPT4geworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgdW5kZWZpbmVk
KTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwgMSk7Cit9KS50aGVuKCRET05FLCAkRE9ORSk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Fz
eW5jLWZ1bmN0aW9uL3JldHVybnMtYXN5bmMtYXJyb3cuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWZ1bmN0aW9uL3JldHVybnMtYXN5bmMtYXJyb3cu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDgxMDA3MGU4ZmZlNTU5ZTc4M2NlNmMxYWMwOWJhNTA0YTE5YWZiMgot
LS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvYXN5bmMtZnVuY3Rpb24vcmV0dXJucy1hc3luYy1hcnJvdy5qcwpAQCAtMCwwICsxLDI5IEBA
CisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93
aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvcmV0dXJucy1hc3luYy1hcnJv
dy5jYXNlCisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvZXZhbHVhdGlvbi9hc3luYy1kZWNsYXJh
dGlvbi50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBc3luYyBmdW5jdGlvbiByZXR1cm5z
IGFuIGFzeW5jIGZ1bmN0aW9uLiAoQXN5bmMgZnVuY3Rpb24gZGVjbGFyYXRpb24pCitlc2lkOiBw
cm9kLUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbgorZmVhdHVyZXM6IFthc3luYy1mdW5jdGlvbnNd
CitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmZvOiB8CisgICAgQXN5bmMgRnVuY3Rpb24g
RGVmaW5pdGlvbnMKKworICAgIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbjoKKyAgICAgIGFzeW5j
IFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBmdW5jdGlvbiBCaW5kaW5nSWRlbnRpZmllciAoIEZv
cm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVuY3Rpb25Cb2R5IH0KKworLS0tKi8KK2xldCBjb3Vu
dCA9IDA7CisKKworYXN5bmMgZnVuY3Rpb24gYXN5bmNGbih4KSB7CisgIHJldHVybiBhc3luYyAo
KSA9PiB4OworfQorCithc3luY0ZuKDEpLnRoZW4ocmV0Rm4gPT4geworICBjb3VudCsrOworICBy
ZXR1cm4gcmV0Rm4oKTsKK30pLnRoZW4ocmVzdWx0ID0+IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShy
ZXN1bHQsIDEpOworICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxKTsKK30pLnRoZW4oJERPTkUs
ICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvYXN5bmMtZnVuY3Rpb24vcmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1cm5zLWFyZ3Vt
ZW50cy1mcm9tLW93bi1mdW5jdGlvbi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vcmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1cm5z
LWFyZ3VtZW50cy1mcm9tLW93bi1mdW5jdGlvbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YTAxNmIxYTM4ZDA3
ODM2ZTg2YzAwMGY2YjRhMDhhMzZlOWRkMGYyCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1mdW5jdGlvbi9yZXR1cm5zLWFz
eW5jLWZ1bmN0aW9uLXJldHVybnMtYXJndW1lbnRzLWZyb20tb3duLWZ1bmN0aW9uLmpzCkBAIC0w
LDAgKzEsMzAgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9t
IHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9yZXR1cm5z
LWFzeW5jLWZ1bmN0aW9uLXJldHVybnMtYXJndW1lbnRzLWZyb20tb3duLWZ1bmN0aW9uLmNhc2UK
Ky8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9ldmFsdWF0aW9uL2FzeW5jLWRlY2xhcmF0aW9uLnRl
bXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFzeW5jIGZ1bmN0aW9uIHJldHVybnMgYW4gYXN5
bmMgZnVuY3Rpb24uIChBc3luYyBmdW5jdGlvbiBkZWNsYXJhdGlvbikKK2VzaWQ6IHByb2QtQXN5
bmNGdW5jdGlvbkRlY2xhcmF0aW9uCitmZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2ZsYWdz
OiBbZ2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICBBc3luYyBGdW5jdGlvbiBEZWZpbml0
aW9ucworCisgICAgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uOgorICAgICAgYXN5bmMgW25vIExp
bmVUZXJtaW5hdG9yIGhlcmVdIGZ1bmN0aW9uIEJpbmRpbmdJZGVudGlmaWVyICggRm9ybWFsUGFy
YW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQorCistLS0qLworbGV0IGNvdW50ID0gMDsK
KworCithc3luYyBmdW5jdGlvbiBhc3luY0ZuKHgpIHsKKyAgbGV0IGEgPSBhcmd1bWVudHM7Cisg
ICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uKCkgeyByZXR1cm4gYSA9PT0gYXJndW1lbnRzOyB9Owor
fQorCithc3luY0ZuKDEpLnRoZW4ocmV0Rm4gPT4geworICBjb3VudCsrOworICByZXR1cm4gcmV0
Rm4oKTsKK30pLnRoZW4ocmVzdWx0ID0+IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIGZh
bHNlKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwgMSk7Cit9KS50aGVuKCRET05FLCAkRE9O
RSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2FzeW5jLWZ1bmN0aW9uL3JldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0dXJucy1uZXd0YXJnZXQu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWZ1bmN0
aW9uL3JldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0dXJucy1uZXd0YXJnZXQuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOWRhYTk2OGIzNDk3MGQwMTkxZDhiY2FjNmJjZjE3M2Q0ZWQ0MDk5YwotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZnVu
Y3Rpb24vcmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1cm5zLW5ld3RhcmdldC5qcwpAQCAtMCww
ICsxLDI5IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0
aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvcmV0dXJucy1h
c3luYy1mdW5jdGlvbi1yZXR1cm5zLW5ld3RhcmdldC5jYXNlCisvLyAtIHNyYy9hc3luYy1mdW5j
dGlvbnMvZXZhbHVhdGlvbi9hc3luYy1kZWNsYXJhdGlvbi50ZW1wbGF0ZQorLyotLS0KK2Rlc2Ny
aXB0aW9uOiBBc3luYyBmdW5jdGlvbiByZXR1cm5zIGFuIGFzeW5jIGZ1bmN0aW9uLiAoQXN5bmMg
ZnVuY3Rpb24gZGVjbGFyYXRpb24pCitlc2lkOiBwcm9kLUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlv
bgorZmVhdHVyZXM6IFthc3luYy1mdW5jdGlvbnNdCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNd
CitpbmZvOiB8CisgICAgQXN5bmMgRnVuY3Rpb24gRGVmaW5pdGlvbnMKKworICAgIEFzeW5jRnVu
Y3Rpb25EZWNsYXJhdGlvbjoKKyAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBm
dW5jdGlvbiBCaW5kaW5nSWRlbnRpZmllciAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVu
Y3Rpb25Cb2R5IH0KKworLS0tKi8KK2xldCBjb3VudCA9IDA7CisKKworYXN5bmMgZnVuY3Rpb24g
YXN5bmNGbih4KSB7CisgIHJldHVybiBhc3luYyBmdW5jdGlvbigpIHsgcmV0dXJuIG5ldy50YXJn
ZXQ7IH07Cit9CisKK2FzeW5jRm4oMSkudGhlbihyZXRGbiA9PiB7CisgIGNvdW50Kys7CisgIHJl
dHVybiByZXRGbigpOworfSkudGhlbihyZXN1bHQgPT4geworICBhc3NlcnQuc2FtZVZhbHVlKHJl
c3VsdCwgdW5kZWZpbmVkKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwgMSk7Cit9KS50aGVu
KCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2FzeW5jLWZ1bmN0aW9uL3JldHVybnMtYXN5bmMtZnVuY3Rpb24uanMgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWZ1bmN0aW9uL3Jl
dHVybnMtYXN5bmMtZnVuY3Rpb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjFkNjVhNTczYTA2OTc4ZWVkM2Ix
NTUyNmIxZjIzM2VlOTc4Y2U3NAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZnVuY3Rpb24vcmV0dXJucy1hc3luYy1mdW5j
dGlvbi5qcwpAQCAtMCwwICsxLDI5IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBn
ZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9hc3luYy1mdW5j
dGlvbnMvcmV0dXJucy1hc3luYy1mdW5jdGlvbi5jYXNlCisvLyAtIHNyYy9hc3luYy1mdW5jdGlv
bnMvZXZhbHVhdGlvbi9hc3luYy1kZWNsYXJhdGlvbi50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0
aW9uOiBBc3luYyBmdW5jdGlvbiByZXR1cm5zIGFuIGFzeW5jIGZ1bmN0aW9uLiAoQXN5bmMgZnVu
Y3Rpb24gZGVjbGFyYXRpb24pCitlc2lkOiBwcm9kLUFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbgor
ZmVhdHVyZXM6IFthc3luYy1mdW5jdGlvbnNdCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitp
bmZvOiB8CisgICAgQXN5bmMgRnVuY3Rpb24gRGVmaW5pdGlvbnMKKworICAgIEFzeW5jRnVuY3Rp
b25EZWNsYXJhdGlvbjoKKyAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBmdW5j
dGlvbiBCaW5kaW5nSWRlbnRpZmllciAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVuY3Rp
b25Cb2R5IH0KKworLS0tKi8KK2xldCBjb3VudCA9IDA7CisKKworYXN5bmMgZnVuY3Rpb24gYXN5
bmNGbih4KSB7CisgIHJldHVybiBhc3luYyBmdW5jdGlvbigpIHsgcmV0dXJuIHg7IH07Cit9CisK
K2FzeW5jRm4oMSkudGhlbihyZXRGbiA9PiB7CisgIGNvdW50Kys7CisgIHJldHVybiByZXRGbigp
OworfSkudGhlbihyZXN1bHQgPT4geworICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSk7Cisg
IGFzc2VydC5zYW1lVmFsdWUoY291bnQsIDEpOworfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1n
ZW5lcmF0b3IvZm9yYmlkZGVuLWV4dC9iMS9hc3luYy1nZW4tZnVuYy1kZWNsLWZvcmJpZGRlbi1l
eHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZ2VuZXJhdG9yL2ZvcmJpZGRlbi1leHQvYjEvYXN5
bmMtZ2VuLWZ1bmMtZGVjbC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVu
dHMuanMKaW5kZXggNDg0NTliMjA5ZjM1NDNhMmE2NzU1NzllODcxZDk5ZTlmNDYyNmFiYi4uYjA1
ZDJiNjczNmI1NjI2MTkyYmVkOGFmZDhjMzZmOTZmZDRjMzViMSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1nZW5lcmF0b3IvZm9yYmlk
ZGVuLWV4dC9iMS9hc3luYy1nZW4tZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vz
cy1wcm9wLWFyZ3VtZW50cy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2FzeW5jLWdlbmVyYXRvci9mb3JiaWRkZW4tZXh0L2IxL2FzeW5jLWdlbi1mdW5j
LWRlY2wtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCkBAIC0y
LDMxICsyLDM2IEBACiAvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWRpcmVj
dC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuY2FzZQogLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9y
YmlkZGVuLWV4dGVuc2lvbnMvYnVsbGV0LW9uZS9hc3luYy1nZW4tZnVuYy1kZWNsLnRlbXBsYXRl
CiAvKi0tLQotZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uYXJndW1lbnRzIChh
c3luYyBnZW5lcmF0b3IgZnVuY3Rpb24gZGVjbGFyYXRpb24pCitkZXNjcmlwdGlvbjogRm9yYmlk
ZGVuIGV4dGVuc2lvbiwgZi5hcmd1bWVudHMgKGFzeW5jIGdlbmVyYXRvciBmdW5jdGlvbiBkZWNs
YXJhdGlvbikKIGVzaWQ6IHNlYy1hc3luY2dlbmVyYXRvci1kZWZpbml0aW9ucy1pbnN0YW50aWF0
ZWZ1bmN0aW9ub2JqZWN0Ci1mZWF0dXJlczogW2FzeW5jLWl0ZXJhdGlvbl0KK2ZlYXR1cmVzOiBb
YXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9ucywgYXN5bmMtaXRlcmF0aW9uXQogZmxhZ3M6
IFtnZW5lcmF0ZWQsIG5vU3RyaWN0LCBhc3luY10KIGluZm86IHwKICAgICBBc3luY0dlbmVyYXRv
ckRlY2xhcmF0aW9uIDogYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIGZ1bmN0aW9uICog
QmluZGluZ0lkZW50aWZpZXIKICAgICAgICAgKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0dl
bmVyYXRvckJvZHkgfQogCiAKLSAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5l
ZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdCBu
b3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1
bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCBmb3Ig
ZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERl
ZmluaXRpb24sIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3lu
Y0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sIENsYXNzRGVj
bGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3lu
Y0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Yg
d2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4g
QnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1
bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhl
IEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhl
IEFzeW5jRnVuY3Rpb24gY29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0
aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24gcHJv
cGVydGllcy4KKyAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBz
eW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdAorICAgIG5vdCBi
ZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50
cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbworICAgIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9y
IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2RE
ZWZpbml0aW9uLAorICAgIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9u
LCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sCisg
ICAgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFy
YXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvcgorICAgIEFzeW5jQXJyb3dGdW5jdGlv
biByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0
cmljdCBtb2RlIGNvZGUuCisgICAgQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25z
IGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rp
b25zCisgICAgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBm
dW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbgorICAgIGNvbnN0cnVjdG9y
LCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBu
b3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duCisgICAgcHJvcGVydGllcy4KIAogLS0tKi8KIAog
CiB2YXIgY2FsbENvdW50ID0gMDsKIGFzeW5jIGZ1bmN0aW9uKiBmKCkgewotICBmLmFyZ3VtZW50
czsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShmLmhhc093blByb3BlcnR5KCJhcmd1bWVudHMiKSwgZmFs
c2UpOwogICBjYWxsQ291bnQrKzsKIH0KIAogZigpLm5leHQoKQotICAudGhlbihfID0+IHsKLSAg
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdmdW5jdGlvbiBzaG91bGQgbm90IGJlIHJlc29sdmVk
Jyk7Ci0gIH0sIGVycm9yID0+IGFzc2VydC5zYW1lVmFsdWUoZXJyb3IuY29uc3RydWN0b3IsIFR5
cGVFcnJvcikpCiAgIC50aGVuKCgpID0+IHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3Vu
dCwgMCwgJ2Z1bmN0aW9uIGJvZHkgaXMgbm90IGV2YWx1YXRlZCcpOwotICB9LCAkRE9ORSkKLSAg
LnRoZW4oJERPTkUsICRET05FKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwg
J2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CisgIH0sICRET05FKS50aGVuKCRET05FLCAkRE9O
RSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2FzeW5jLWdlbmVyYXRvci9mb3JiaWRkZW4tZXh0L2IxL2FzeW5jLWdlbi1mdW5jLWRlY2wtZm9y
YmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1nZW5lcmF0b3IvZm9yYmlkZGVuLWV4dC9i
MS9hc3luYy1nZW4tZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNh
bGxlci5qcwppbmRleCBjNWJlMzVmM2JmMDM0NzYwNzAzOWEzYWMzNDIwMGQyNmQ4NDU5ZGRjLi5m
NDlhMWMwMGY4YzAyMzUwMTUwMGE2YjVmYTQyYjA2NDNjMzdjOTBkIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWdlbmVyYXRvci9mb3Ji
aWRkZW4tZXh0L2IxL2FzeW5jLWdlbi1mdW5jLWRlY2wtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNj
ZXNzLXByb3AtY2FsbGVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvYXN5bmMtZ2VuZXJhdG9yL2ZvcmJpZGRlbi1leHQvYjEvYXN5bmMtZ2VuLWZ1bmMt
ZGVjbC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKQEAgLTQsMjkg
KzQsMzQgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxs
ZXIgKGFzeW5jIGdlbmVyYXRvciBmdW5jdGlvbiBkZWNsYXJhdGlvbikKIGVzaWQ6IHNlYy1hc3lu
Y2dlbmVyYXRvci1kZWZpbml0aW9ucy1pbnN0YW50aWF0ZWZ1bmN0aW9ub2JqZWN0Ci1mZWF0dXJl
czogW2FzeW5jLWl0ZXJhdGlvbl0KK2ZlYXR1cmVzOiBbYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1
bmN0aW9ucywgYXN5bmMtaXRlcmF0aW9uXQogZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0LCBh
c3luY10KIGluZm86IHwKICAgICBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uIDogYXN5bmMgW25v
IExpbmVUZXJtaW5hdG9yIGhlcmVdIGZ1bmN0aW9uICogQmluZGluZ0lkZW50aWZpZXIKICAgICAg
ICAgKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0dlbmVyYXRvckJvZHkgfQogCiAKLSAgICBF
Q01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3Ry
dWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBw
cm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0
aWVzIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVk
IHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sIEdlbmVyYXRvckRlY2xh
cmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBB
c3luY0dlbmVyYXRvckV4cHJlc3Npb24sIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lv
biwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3Ig
QXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBp
cyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4gQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJp
Y3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5l
cmF0b3IgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3Rvciwg
YXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24gY29uc3RydWN0
b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0
IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24gcHJvcGVydGllcy4KKyAgICBFQ01BU2NyaXB0
IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGlu
IHN0cmljdCBtb2RlIGNvZGUgbXVzdAorICAgIG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3Bl
cnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMg
YWxzbworICAgIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5l
ZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLAorICAgIEdlbmVyYXRv
ckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0
aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sCisgICAgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xh
c3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHBy
ZXNzaW9uLCBvcgorICAgIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIg
dGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuCisgICAgQnVp
bHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0
aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zCisgICAgY3JlYXRlZCB1c2luZyB0
aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0
aGUgQXN5bmNGdW5jdGlvbgorICAgIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQg
dXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2gg
b3duCisgICAgcHJvcGVydGllcy4KIAogLS0tKi8KIAogCiB2YXIgY2FsbENvdW50ID0gMDsKIGFz
eW5jIGZ1bmN0aW9uKiBmKCkgewotICBmLmNhbGxlcjsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShmLmhh
c093blByb3BlcnR5KCJjYWxsZXIiKSwgZmFsc2UpOwogICBjYWxsQ291bnQrKzsKIH0KIAogZigp
Lm5leHQoKQotICAudGhlbihfID0+IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdmdW5j
dGlvbiBzaG91bGQgbm90IGJlIHJlc29sdmVkJyk7Ci0gIH0sIGVycm9yID0+IGFzc2VydC5zYW1l
VmFsdWUoZXJyb3IuY29uc3RydWN0b3IsIFR5cGVFcnJvcikpCiAgIC50aGVuKCgpID0+IHsKLSAg
ICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2Z1bmN0aW9uIGJvZHkgaXMgbm90IGV2
YWx1YXRlZCcpOwotICB9LCAkRE9ORSkKLSAgLnRoZW4oJERPTkUsICRET05FKTsKKyAgICBhc3Nl
cnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7Cisg
IH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5jLWdlbmVyYXRvci9mb3JiaWRkZW4tZXh0
L2IyL2FzeW5jLWdlbi1mdW5jLWRlY2wtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3du
LXByb3AtY2FsbGVyLWdldC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvYXN5bmMtZ2VuZXJhdG9yL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtZ2VuLWZ1bmMtZGVj
bC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjkzZmI0OTllOWFjODJiMjQ0MDgxY2U3ZDM4MTZjYTFkMzI2MmJjZDUKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Fz
eW5jLWdlbmVyYXRvci9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWdlbi1mdW5jLWRlY2wtZm9yYmlk
ZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcwpAQCAtMCwwICsx
LDYzIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUg
Zm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0
LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmNhc2UKKy8vIC0gc3JjL2Z1bmN0
aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC10d28vYXN5bmMtZ2VuLWZ1bmMt
ZGVjbC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBv
LmNhbGxlciAoYXN5bmMgZ2VuZXJhdG9yIGZ1bmN0aW9uIGRlY2xhcmF0aW9uKQorZXNpZDogc2Vj
LWFzeW5jZ2VuZXJhdG9yLWRlZmluaXRpb25zLWluc3RhbnRpYXRlZnVuY3Rpb25vYmplY3QKK2Zl
YXR1cmVzOiBbYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9ucywgYXN5bmMtaXRlcmF0aW9u
XQorZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0LCBhc3luY10KK2luZm86IHwKKyAgICBBc3lu
Y0dlbmVyYXRvckRlY2xhcmF0aW9uIDogYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIGZ1
bmN0aW9uICogQmluZGluZ0lkZW50aWZpZXIKKyAgICAgICAgKCBGb3JtYWxQYXJhbWV0ZXJzICkg
eyBBc3luY0dlbmVyYXRvckJvZHkgfQorCisKKyAgICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRl
bmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxl
ciIgdGhlIHZhbHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tH
ZXRdXSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9u
CisgICAgb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9u
IHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAgICBhdHRyaWJ1
dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQuCisKKy0t
LSovCit2YXIgQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCA9IFN5bWJvbCgpOwor
ZnVuY3Rpb24gaW5uZXIoKSB7CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0LCBidXQgaXMg
Zm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0cmljdCBmdW5jdGlvbiBv
YmplY3QKKyAgcmV0dXJuIGlubmVyLmhhc093blByb3BlcnR5KCJjYWxsZXIiKQorICAgID8gaW5u
ZXIuY2FsbGVyCisgICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUOworfQor
CisKK3ZhciBjYWxsQ291bnQgPSAwOworYXN5bmMgZnVuY3Rpb24qIGYoKSB7CisgICJ1c2Ugc3Ry
aWN0IjsKKyAgLy8gVGhpcyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBz
ZXQgaW4gdGhlIHRlc3QncyAuY2FzZSBmaWxlLgorICAvLyBGb3IgZXZlcnkgdGVzdCB0aGF0IGhh
cyBhICJ0cnVlIiB2YWx1ZSBoZXJlLCB0aGVyZSBpcyBhCisgIC8vIGNvcnJlc3BvbmRpbmcgdGVz
dCB0aGF0IGhhcyBhICJmYWxzZSIgdmFsdWUgaGVyZS4KKyAgLy8gVGhleSBhcmUgZ2VuZXJhdGVk
IGZyb20gdHdvIGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgLy8gdGhlIHNhbWUg
dGVtcGxhdGVzLgorICBsZXQgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5j
b25maWd1cmFibGUgJiYgdHJ1ZSkgeworICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbm5lciwg
ImNhbGxlciIsIHtnZXQoKXtyZXR1cm4gMX19KTsKKyAgfQorICB2YXIgcmVzdWx0ID0gaW5uZXIo
KTsKKyAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgdHJ1ZSkg
eworICAgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAxLCAnSWYgdGhpcyB0ZXN0IGRlZmluZWQg
YW4gb3duICJjYWxsZXIiIHByb3BlcnR5IG9uIHRoZSBpbm5lciBmdW5jdGlvbiwgdGhlbiBpdCBz
aG91bGQgYmUgYWNjZXNzaWJsZSBhbmQgc2hvdWxkIHJldHVybiB0aGUgdmFsdWUgaXQgd2FzIHNl
dCB0by4nKTsKKyAgfQorICAvLyAiQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCIg
aXMgZnJvbQorICAvLyBmb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5j
YXNlCisgIC8vCisgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBoYXMgYW4gb3du
IHByb3BlcnR5CisgIC8vIG5hbWVkICJjYWxsZXIiLCB0aGVuIGl0cyB2YWx1ZSB3aWxsIGJlIHJl
dHVybmVkLgorICAvLworICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgRE9FUyBO
T1QgaGF2ZSBhbgorICAvLyBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIsIHRoZW4gdGhlIHN5
bWJvbAorICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0
dXJuZWQuCisgIGlmIChyZXN1bHQgIT09IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJ
U1QpIHsKKyAgICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdCwgZik7CisgIH0KKyAgY2FsbENv
dW50Kys7Cit9CisKK2YoKS5uZXh0KCkKKyAgLnRoZW4oKCkgPT4geworICAgIGFzc2VydC5zYW1l
VmFsdWUoY2FsbENvdW50LCAxLCAnZnVuY3Rpb24gYm9keSBldmFsdWF0ZWQnKTsKKyAgfSwgJERP
TkUpLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZ2VuZXJhdG9yL2ZvcmJpZGRlbi1leHQvYjIvYXN5
bmMtZ2VuLWZ1bmMtZGVjbC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1j
YWxsZXItdmFsdWUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2FzeW5jLWdlbmVyYXRvci9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWdlbi1mdW5jLWRlY2wtZm9y
YmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjM2MWIwNzRlNjFkNTg4NDhhNDI4YTMxMzY1MjZhM2FjMGU4NDM4YmMKLS0tIC9kZXYv
bnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2FzeW5j
LWdlbmVyYXRvci9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWdlbi1mdW5jLWRlY2wtZm9yYmlkZGVu
LWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzCkBAIC0wLDAgKzEs
NjMgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBm
b2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHQt
aW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5jYXNlCisvLyAtIHNyYy9mdW5j
dGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQtdHdvL2FzeW5jLWdlbi1mdW5j
LWRlY2wudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwg
by5jYWxsZXIgKGFzeW5jIGdlbmVyYXRvciBmdW5jdGlvbiBkZWNsYXJhdGlvbikKK2VzaWQ6IHNl
Yy1hc3luY2dlbmVyYXRvci1kZWZpbml0aW9ucy1pbnN0YW50aWF0ZWZ1bmN0aW9ub2JqZWN0Citm
ZWF0dXJlczogW2Fycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnMsIGFzeW5jLWl0ZXJhdGlv
bl0KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdCwgYXN5bmNdCitpbmZvOiB8CisgICAgQXN5
bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiA6IGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBm
dW5jdGlvbiAqIEJpbmRpbmdJZGVudGlmaWVyCisgICAgICAgICggRm9ybWFsUGFyYW1ldGVycyAp
IHsgQXN5bmNHZW5lcmF0b3JCb2R5IH0KKworCisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0
ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxs
ZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtb
R2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlv
bgorICAgIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlv
biB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0cmli
dXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgorCist
LS0qLwordmFyIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2woKTsK
K2Z1bmN0aW9uIGlubmVyKCkgeworICAvLyBUaGlzIHByb3BlcnR5IG1heSBleGlzdCwgYnV0IGlz
IGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24g
b2JqZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlu
bmVyLmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVDsKK30K
KworCit2YXIgY2FsbENvdW50ID0gMDsKK2FzeW5jIGZ1bmN0aW9uKiBmKCkgeworICAidXNlIHN0
cmljdCI7CisgIC8vIFRoaXMgYW5kIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uYWwgdmFsdWUgaXMg
c2V0IGluIHRoZSB0ZXN0J3MgLmNhc2UgZmlsZS4KKyAgLy8gRm9yIGV2ZXJ5IHRlc3QgdGhhdCBo
YXMgYSAidHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUgaXMgYQorICAvLyBjb3JyZXNwb25kaW5nIHRl
c3QgdGhhdCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgIC8vIFRoZXkgYXJlIGdlbmVyYXRl
ZCBmcm9tIHR3byBkaWZmZXJlbnQgY2FzZSBmaWxlcywgd2hpY2ggdXNlCisgIC8vIHRoZSBzYW1l
IHRlbXBsYXRlcy4KKyAgbGV0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKGlubmVyLCAiY2FsbGVyIik7CisgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3Iu
Y29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIs
ICJjYWxsZXIiLCB7dmFsdWU6IDF9KTsKKyAgfQorICB2YXIgcmVzdWx0ID0gaW5uZXIoKTsKKyAg
aWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgdHJ1ZSkgeworICAg
IGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAxLCAnSWYgdGhpcyB0ZXN0IGRlZmluZWQgYW4gb3du
ICJjYWxsZXIiIHByb3BlcnR5IG9uIHRoZSBpbm5lciBmdW5jdGlvbiwgdGhlbiBpdCBzaG91bGQg
YmUgYWNjZXNzaWJsZSBhbmQgc2hvdWxkIHJldHVybiB0aGUgdmFsdWUgaXQgd2FzIHNldCB0by4n
KTsKKyAgfQorICAvLyAiQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCIgaXMgZnJv
bQorICAvLyBmb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5jYXNlCisg
IC8vCisgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBoYXMgYW4gb3duIHByb3Bl
cnR5CisgIC8vIG5hbWVkICJjYWxsZXIiLCB0aGVuIGl0cyB2YWx1ZSB3aWxsIGJlIHJldHVybmVk
LgorICAvLworICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgRE9FUyBOT1QgaGF2
ZSBhbgorICAvLyBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIsIHRoZW4gdGhlIHN5bWJvbAor
ICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQu
CisgIGlmIChyZXN1bHQgIT09IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QpIHsK
KyAgICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdCwgZik7CisgIH0KKyAgY2FsbENvdW50Kys7
Cit9CisKK2YoKS5uZXh0KCkKKyAgLnRoZW4oKCkgPT4geworICAgIGFzc2VydC5zYW1lVmFsdWUo
Y2FsbENvdW50LCAxLCAnZnVuY3Rpb24gYm9keSBldmFsdWF0ZWQnKTsKKyAgfSwgJERPTkUpLnRo
ZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvYXN5bmMtZ2VuZXJhdG9yL2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtZ2Vu
LWZ1bmMtZGVjbC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZ2VuZXJhdG9y
L2ZvcmJpZGRlbi1leHQvYjIvYXN5bmMtZ2VuLWZ1bmMtZGVjbC1mb3JiaWRkZW4tZXh0LWluZGly
ZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwppbmRleCA4ZjRkM2ViZTJiNzVkOTliZmNkZWYyMzZl
YWFlY2ViMzEwNDc5YWRiLi43OTRlMjQ1ZDliY2UyNzcyN2RjNjZhNDBmOTVlZGI4MjViOGU5ZTI5
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Fz
eW5jLWdlbmVyYXRvci9mb3JiaWRkZW4tZXh0L2IyL2FzeW5jLWdlbi1mdW5jLWRlY2wtZm9yYmlk
ZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1nZW5lcmF0b3IvZm9yYmlkZGVuLWV4
dC9iMi9hc3luYy1nZW4tZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXBy
b3AtY2FsbGVyLmpzCkBAIC00LDM0ICs0LDYwIEBACiAvKi0tLQogZGVzY3JpcHRpb246IEZvcmJp
ZGRlbiBleHRlbnNpb24sIG8uY2FsbGVyIChhc3luYyBnZW5lcmF0b3IgZnVuY3Rpb24gZGVjbGFy
YXRpb24pCiBlc2lkOiBzZWMtYXN5bmNnZW5lcmF0b3ItZGVmaW5pdGlvbnMtaW5zdGFudGlhdGVm
dW5jdGlvbm9iamVjdAotZmVhdHVyZXM6IFthc3luYy1pdGVyYXRpb25dCitmZWF0dXJlczogW2Fy
cm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnMsIGFzeW5jLWl0ZXJhdGlvbl0KIGZsYWdzOiBb
Z2VuZXJhdGVkLCBub1N0cmljdCwgYXN5bmNdCiBpbmZvOiB8CiAgICAgQXN5bmNHZW5lcmF0b3JE
ZWNsYXJhdGlvbiA6IGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBmdW5jdGlvbiAqIEJp
bmRpbmdJZGVudGlmaWVyCiAgICAgICAgICggRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNHZW5l
cmF0b3JCb2R5IH0KIAogCi0gICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVu
Y3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1
ZSBvZiB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3du
UHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0LiBJZiBpdCBp
cyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9m
IHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0gYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3Ry
aWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgorICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVu
ZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVy
IiB0aGUgdmFsdWUgb2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dl
dF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24K
KyAgICBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24g
dGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRdXQorICAgIGF0dHJpYnV0
ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KIAogLS0t
Ki8KK3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7CiBm
dW5jdGlvbiBpbm5lcigpIHsKLSAgLy8gVGhpcyBwcm9wZXJ0eSBpcyBmb3JiaWRkZW4gZnJvbSBo
YXZpbmcgYSB2YWx1ZSB0aGF0IGlzIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKLSAgcmV0dXJuIGlu
bmVyLmNhbGxlcjsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBtYXkgZXhpc3QsIGJ1dCBpcyBmb3JiaWRk
ZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdAor
ICByZXR1cm4gaW5uZXIuaGFzT3duUHJvcGVydHkoImNhbGxlciIpCisgICAgPyBpbm5lci5jYWxs
ZXIKKyAgICA6IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Q7CiB9CiAKIAogdmFy
IGNhbGxDb3VudCA9IDA7CiBhc3luYyBmdW5jdGlvbiogZigpIHsKICAgInVzZSBzdHJpY3QiOwot
ICBpbm5lcigpLnRvU3RyaW5nKCk7CisgIC8vIFRoaXMgYW5kIHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9uYWwgdmFsdWUgaXMgc2V0IGluIHRoZSB0ZXN0J3MgLmNhc2UgZmlsZS4KKyAgLy8gRm9yIGV2
ZXJ5IHRlc3QgdGhhdCBoYXMgYSAidHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUgaXMgYQorICAvLyBj
b3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgIC8vIFRo
ZXkgYXJlIGdlbmVyYXRlZCBmcm9tIHR3byBkaWZmZXJlbnQgY2FzZSBmaWxlcywgd2hpY2ggdXNl
CisgIC8vIHRoZSBzYW1lIHRlbXBsYXRlcy4KKyAgbGV0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKGlubmVyLCAiY2FsbGVyIik7CisgIGlmIChkZXNjcmlwdG9y
ICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIGZhbHNlKSB7CisgICAgT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KGlubmVyLCAiY2FsbGVyIiwge30pOworICB9CisgIHZhciByZXN1bHQgPSBpbm5l
cigpOworICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiBmYWxz
ZSkgeworICAgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAxLCAnSWYgdGhpcyB0ZXN0IGRlZmlu
ZWQgYW4gb3duICJjYWxsZXIiIHByb3BlcnR5IG9uIHRoZSBpbm5lciBmdW5jdGlvbiwgdGhlbiBp
dCBzaG91bGQgYmUgYWNjZXNzaWJsZSBhbmQgc2hvdWxkIHJldHVybiB0aGUgdmFsdWUgaXQgd2Fz
IHNldCB0by4nKTsKKyAgfQorICAvLyAiQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElT
VCIgaXMgZnJvbQorICAvLyBmb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxl
ci5jYXNlCisgIC8vCisgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBoYXMgYW4g
b3duIHByb3BlcnR5CisgIC8vIG5hbWVkICJjYWxsZXIiLCB0aGVuIGl0cyB2YWx1ZSB3aWxsIGJl
IHJldHVybmVkLgorICAvLworICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgRE9F
UyBOT1QgaGF2ZSBhbgorICAvLyBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIsIHRoZW4gdGhl
IHN5bWJvbAorICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUg
cmV0dXJuZWQuCisgIGlmIChyZXN1bHQgIT09IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1Rf
RVhJU1QpIHsKKyAgICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdCwgZik7CisgIH0KICAgY2Fs
bENvdW50Kys7CiB9CiAKIGYoKS5uZXh0KCkKLSAgLnRoZW4oXyA9PiB7Ci0gICAgdGhyb3cgbmV3
IFRlc3QyNjJFcnJvcignZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSByZXNvbHZlZCcpOwotICB9LCBl
cnJvciA9PiBhc3NlcnQuc2FtZVZhbHVlKGVycm9yLmNvbnN0cnVjdG9yLCBUeXBlRXJyb3IpKQog
ICAudGhlbigoKSA9PiB7Ci0gICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdmdW5j
dGlvbiBib2R5IGlzIG5vdCBldmFsdWF0ZWQnKTsKLSAgfSwgJERPTkUpCi0gIC50aGVuKCRET05F
LCAkRE9ORSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdmdW5jdGlvbiBi
b2R5IGV2YWx1YXRlZCcpOworICB9LCAkRE9ORSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3lu
Yy1nZW4tbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1kZWNsLWFzeW5jLWdlbi1t
ZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLWdl
bi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgt
c3RhdGljLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwppbmRl
eCBkYTdiYmIyZmVjMGFmMmU3ZmY4YTk1MTBhYmYyYzMxYzQ4OGI3YmZkLi5jNzhkZWM1ZjYyOGMx
NGMyYTVlMTY3NzAzODliZTgwNWNhYzYxYTgwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLWdlbi1tZXRob2Qtc3RhdGljL2Zv
cmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1l
eHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLWdlbi1tZXRob2Qtc3RhdGljL2Zv
cmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1l
eHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwpAQCAtMiwxNSArMiwyNCBAQAogLy8g
LSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJn
dW1lbnRzLmNhc2UKIC8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHRlbnNpb25z
L2J1bGxldC1vbmUvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgtc3RhdGljLnRlbXBsYXRlCiAvKi0t
LQotZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uYXJndW1lbnRzIChzdGF0aWMg
Y2xhc3MgZXhwcmVzc2lvbiBnZW5lcmF0b3IgbWV0aG9kKQorZGVzY3JpcHRpb246IEZvcmJpZGRl
biBleHRlbnNpb24sIGYuYXJndW1lbnRzIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBnZW5lcmF0
b3IgbWV0aG9kKQogZXNpZDogc2VjLXJ1bnRpbWUtc2VtYW50aWNzLWJpbmRpbmdjbGFzc2RlY2xh
cmF0aW9uZXZhbHVhdGlvbgotZmVhdHVyZXM6IFthc3luYy1pdGVyYXRpb25dCitmZWF0dXJlczog
W2Fycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnMsIGFzeW5jLWl0ZXJhdGlvbiwgY2xhc3Nd
CiBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5jXQogaW5mbzogfAogICAgIENsYXNz
RGVjbGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllciBDbGFzc1RhaWwKIAogCi0gICAg
RUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgc3ludGFjdGljIGNvbnN0
cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBvd24g
cHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4gU3VjaCBvd24gcHJvcGVy
dGllcyBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5l
ZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLCBHZW5lcmF0b3JEZWNs
YXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwg
QXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLCBDbGFzc0RlY2xhcmF0aW9uLCBDbGFzc0V4cHJlc3Np
b24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24sIG9y
IEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24g
aXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3Ry
aWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2Vu
ZXJhdG9yIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBHZW5lcmF0b3IgY29uc3RydWN0b3Is
IGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBBc3luY0Z1bmN0aW9uIGNvbnN0cnVj
dG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVz
dCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duIHByb3BlcnRpZXMuCisgICAgRUNNQVNjcmlw
dCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBp
biBzdHJpY3QgbW9kZSBjb2RlIG11c3QKKyAgICBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9w
ZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVz
IGFsc28KKyAgICBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmlu
ZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwKKyAgICBHZW5lcmF0
b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNHZW5lcmF0b3JEZWNsYXJh
dGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLAorICAgIENsYXNzRGVjbGFyYXRpb24sIENs
YXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhw
cmVzc2lvbiwgb3IKKyAgICBBc3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVy
IHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLgorICAgIEJ1
aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5j
dGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucworICAgIGNyZWF0ZWQgdXNpbmcg
dGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcg
dGhlIEFzeW5jRnVuY3Rpb24KKyAgICBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVk
IHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNo
IG93bgorICAgIHByb3BlcnRpZXMuCiAKIC0tLSovCiAKQEAgLTE4LDE2ICsyNywxMiBAQCBpbmZv
OiB8CiB2YXIgY2FsbENvdW50ID0gMDsKIGNsYXNzIEMgewogICBzdGF0aWMgYXN5bmMgKm1ldGhv
ZCgpIHsKLSAgICB0aGlzLm1ldGhvZC5hcmd1bWVudHM7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh0
aGlzLm1ldGhvZC5oYXNPd25Qcm9wZXJ0eSgiYXJndW1lbnRzIiksIGZhbHNlKTsKICAgICBjYWxs
Q291bnQrKzsKICAgfQogfQogCiBDLm1ldGhvZCgpLm5leHQoKQotICAudGhlbihfID0+IHsKLSAg
ICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdmdW5jdGlvbiBzaG91bGQgbm90IGJlIHJlc29sdmVk
Jyk7Ci0gIH0sIGVycm9yID0+IGFzc2VydC5zYW1lVmFsdWUoZXJyb3IuY29uc3RydWN0b3IsIFR5
cGVFcnJvcikpCiAgIC50aGVuKCgpID0+IHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3Vu
dCwgMCwgJ2Z1bmN0aW9uIGJvZHkgaXMgbm90IGV2YWx1YXRlZCcpOwotICB9LCAkRE9ORSkKLSAg
LnRoZW4oJERPTkUsICRET05FKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwg
J2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CisgIH0sICRET05FKS50aGVuKCRET05FLCAkRE9O
RSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2FzeW5jLWdlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wt
YXN5bmMtZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNh
bGxlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
YXN5bmMtZ2VuLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZGVjbC1hc3luYy1n
ZW4tbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpz
CmluZGV4IDg1N2YzZWZhYWZiNmVkZTY2NTk0MDY5N2E5M2MxNGM2ODAxOWUyMTMuLjE0ZDE2YjMy
M2FmMjk0ZDQ1NzkyMDdjNGFlN2UxNDQ0Mjk1ZTdkZWQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC1zdGF0
aWMvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZGVjbC1hc3luYy1nZW4tbWV0aC1zdGF0aWMtZm9yYmlk
ZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC1zdGF0aWMv
Zm9yYmlkZGVuLWV4dC9iMS9jbHMtZGVjbC1hc3luYy1nZW4tbWV0aC1zdGF0aWMtZm9yYmlkZGVu
LWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCkBAIC00LDEzICs0LDIyIEBACiAvKi0t
LQogZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVyIChzdGF0aWMgY2xh
c3MgZXhwcmVzc2lvbiBnZW5lcmF0b3IgbWV0aG9kKQogZXNpZDogc2VjLXJ1bnRpbWUtc2VtYW50
aWNzLWJpbmRpbmdjbGFzc2RlY2xhcmF0aW9uZXZhbHVhdGlvbgotZmVhdHVyZXM6IFthc3luYy1p
dGVyYXRpb25dCitmZWF0dXJlczogW2Fycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnMsIGFz
eW5jLWl0ZXJhdGlvbiwgY2xhc3NdCiBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5j
XQogaW5mbzogfAogICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmll
ciBDbGFzc1RhaWwKIAogCi0gICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQg
dXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3Qgbm90
IGJlIGNyZWF0ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1l
bnRzIi4gU3VjaCBvd24gcHJvcGVydGllcyBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1
bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZp
bml0aW9uLCBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNH
ZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLCBDbGFzc0RlY2xh
cmF0aW9uLCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNG
dW5jdGlvbkV4cHJlc3Npb24sIG9yIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdo
ZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuIEJ1
aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5j
dGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBH
ZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBB
c3luY0Z1bmN0aW9uIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhl
IGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duIHByb3Bl
cnRpZXMuCisgICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgc3lu
dGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3QKKyAgICBub3QgYmUg
Y3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMi
LiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28KKyAgICBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBm
dW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVm
aW5pdGlvbiwKKyAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwg
QXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLAorICAg
IENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0
aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IKKyAgICBBc3luY0Fycm93RnVuY3Rpb24g
cmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJp
Y3QgbW9kZSBjb2RlLgorICAgIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBj
cmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9u
cworICAgIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVu
Y3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24KKyAgICBjb25zdHJ1Y3Rvciwg
YW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90
IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93bgorICAgIHByb3BlcnRpZXMuCiAKIC0tLSovCiAKQEAg
LTE4LDE2ICsyNywxMiBAQCBpbmZvOiB8CiB2YXIgY2FsbENvdW50ID0gMDsKIGNsYXNzIEMgewog
ICBzdGF0aWMgYXN5bmMgKm1ldGhvZCgpIHsKLSAgICB0aGlzLm1ldGhvZC5jYWxsZXI7CisgICAg
YXNzZXJ0LnNhbWVWYWx1ZSh0aGlzLm1ldGhvZC5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIiksIGZh
bHNlKTsKICAgICBjYWxsQ291bnQrKzsKICAgfQogfQogCiBDLm1ldGhvZCgpLm5leHQoKQotICAu
dGhlbihfID0+IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdmdW5jdGlvbiBzaG91bGQg
bm90IGJlIHJlc29sdmVkJyk7Ci0gIH0sIGVycm9yID0+IGFzc2VydC5zYW1lVmFsdWUoZXJyb3Iu
Y29uc3RydWN0b3IsIFR5cGVFcnJvcikpCiAgIC50aGVuKCgpID0+IHsKLSAgICBhc3NlcnQuc2Ft
ZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2Z1bmN0aW9uIGJvZHkgaXMgbm90IGV2YWx1YXRlZCcpOwot
ICB9LCAkRE9ORSkKLSAgLnRoZW4oJERPTkUsICRET05FKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVl
KGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CisgIH0sICRET05FKS50
aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLWdlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1l
eHQvYjIvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJl
Y3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLWdlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRl
bi1leHQvYjIvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5k
aXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzcyZWY3N2I5
M2QyMDdjMTA4M2E5ZTNlYWQzNzM4MmRjMTUzZGE2MwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhv
ZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1hc3luYy1nZW4tbWV0aC1zdGF0aWMt
Zm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcwpAQCAt
MCwwICsxLDY0IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJv
bSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRk
ZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmNhc2UKKy8vIC0gc3Jj
L2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC10d28vY2xzLWRlY2wt
YXN5bmMtZ2VuLW1ldGgtc3RhdGljLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEZvcmJp
ZGRlbiBleHRlbnNpb24sIG8uY2FsbGVyIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lvbiBnZW5lcmF0
b3IgbWV0aG9kKQorZXNpZDogc2VjLXJ1bnRpbWUtc2VtYW50aWNzLWJpbmRpbmdjbGFzc2RlY2xh
cmF0aW9uZXZhbHVhdGlvbgorZmVhdHVyZXM6IFthcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVuY3Rp
b25zLCBhc3luYy1pdGVyYXRpb24sIGNsYXNzXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0
LCBhc3luY10KK2luZm86IHwKKyAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGluZ0lk
ZW50aWZpZXIgQ2xhc3NUYWlsCisKKworICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVuZHMg
YW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiB0
aGUgdmFsdWUgb2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1d
IG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24KKyAg
ICBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24gdGhh
dCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRdXQorICAgIGF0dHJpYnV0ZSBt
dXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KKworLS0tKi8K
K3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7CitmdW5j
dGlvbiBpbm5lcigpIHsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBtYXkgZXhpc3QsIGJ1dCBpcyBmb3Ji
aWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVj
dAorICByZXR1cm4gaW5uZXIuaGFzT3duUHJvcGVydHkoImNhbGxlciIpCisgICAgPyBpbm5lci5j
YWxsZXIKKyAgICA6IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Q7Cit9CisKKwor
dmFyIGNhbGxDb3VudCA9IDA7CitjbGFzcyBDIHsKKyAgc3RhdGljIGFzeW5jICptZXRob2QoKSB7
CisgICAgLyogaW1wbGljaXQgc3RyaWN0ICovCisgICAgLy8gVGhpcyBhbmQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRlc3QncyAuY2FzZSBmaWxlLgorICAg
IC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlz
IGEKKyAgICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhl
cmUuCisgICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdvIGRpZmZlcmVudCBjYXNlIGZp
bGVzLCB3aGljaCB1c2UKKyAgICBsZXQgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNj
cmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgICBPYmplY3QuZGVmaW5lUHJvcGVy
dHkoaW5uZXIsICJjYWxsZXIiLCB7Z2V0KCl7cmV0dXJuIDF9fSk7CisgICAgfQorICAgIHZhciBy
ZXN1bHQgPSBpbm5lcigpOworICAgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmln
dXJhYmxlICYmIHRydWUpIHsKKyAgICAgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAxLCAnSWYg
dGhpcyB0ZXN0IGRlZmluZWQgYW4gb3duICJjYWxsZXIiIHByb3BlcnR5IG9uIHRoZSBpbm5lciBm
dW5jdGlvbiwgdGhlbiBpdCBzaG91bGQgYmUgYWNjZXNzaWJsZSBhbmQgc2hvdWxkIHJldHVybiB0
aGUgdmFsdWUgaXQgd2FzIHNldCB0by4nKTsKKyAgICB9CisKKyAgICAvLyAiQ0FMTEVSX09XTl9Q
Uk9QRVJUWV9ET0VTX05PVF9FWElTVCIgaXMgZnJvbQorICAgIC8vIGZvcmJpZGRlbi1leHQtaW5k
aXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmNhc2UKKyAgICAvLworICAgIC8vIElmIHRoZSBmdW5j
dGlvbiBvYmplY3QgImlubmVyIiBoYXMgYW4gb3duIHByb3BlcnR5CisgICAgLy8gbmFtZWQgImNh
bGxlciIsIHRoZW4gaXRzIHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQuCisgICAgLy8KKyAgICAvLyBJ
ZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgRE9FUyBOT1QgaGF2ZSBhbgorICAgIC8vIG93
biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiwgdGhlbiB0aGUgc3ltYm9sCisgICAgLy8gQ0FMTEVS
X09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCB3aWxsIGJlIHJldHVybmVkLgorICAgIGlmIChy
ZXN1bHQgIT09IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QpIHsKKyAgICAgIGFz
c2VydC5ub3RTYW1lVmFsdWUocmVzdWx0LCB0aGlzLm1ldGhvZCk7CisgICAgfQorICAgIGNhbGxD
b3VudCsrOworICB9Cit9CisKK0MubWV0aG9kKCkubmV4dCgpCisgIC50aGVuKCgpID0+IHsKKyAg
ICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVk
Jyk7CisgIH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLWdlbi1tZXRob2Qt
c3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWZv
cmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtZ2VuLW1l
dGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1hc3luYy1nZW4tbWV0aC1zdGF0
aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjg2YTRiNDI1M2EwN2Y0MGNiM2ZlOWJkMGQ2MjRjODc1MGU1M2I1NzgKLS0t
IC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2FzeW5jLWdlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wt
YXN5bmMtZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1w
cm9wLWNhbGxlci12YWx1ZS5qcwpAQCAtMCwwICsxLDY0IEBACisvLyBUaGlzIGZpbGUgd2FzIHBy
b2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNy
Yy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1j
YWxsZXItdmFsdWUuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dGVu
c2lvbnMvYnVsbGV0LXR3by9jbHMtZGVjbC1hc3luYy1nZW4tbWV0aC1zdGF0aWMudGVtcGxhdGUK
Ky8qLS0tCitkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIgKHN0YXRp
YyBjbGFzcyBleHByZXNzaW9uIGdlbmVyYXRvciBtZXRob2QpCitlc2lkOiBzZWMtcnVudGltZS1z
ZW1hbnRpY3MtYmluZGluZ2NsYXNzZGVjbGFyYXRpb25ldmFsdWF0aW9uCitmZWF0dXJlczogW2Fy
cm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnMsIGFzeW5jLWl0ZXJhdGlvbiwgY2xhc3NdCitm
bGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5jXQoraW5mbzogfAorICAgIENsYXNzRGVj
bGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllciBDbGFzc1RhaWwKKworCisgICAgSWYg
YW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3du
IHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRoYXQgcHJvcGVydHks
IGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5v
dCBiZSBhIHN0cmljdCBmdW5jdGlvbgorICAgIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3Ig
cHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkn
cyBbW0dldF1dCisgICAgYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0
aW9uIHdoZW4gY2FsbGVkLgorCistLS0qLwordmFyIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19O
T1RfRVhJU1QgPSBTeW1ib2woKTsKK2Z1bmN0aW9uIGlubmVyKCkgeworICAvLyBUaGlzIHByb3Bl
cnR5IG1heSBleGlzdCwgYnV0IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQg
aXMgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Qcm9wZXJ0
eSgiY2FsbGVyIikKKyAgICA/IGlubmVyLmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9QUk9QRVJU
WV9ET0VTX05PVF9FWElTVDsKK30KKworCit2YXIgY2FsbENvdW50ID0gMDsKK2NsYXNzIEMgewor
ICBzdGF0aWMgYXN5bmMgKm1ldGhvZCgpIHsKKyAgICAvKiBpbXBsaWNpdCBzdHJpY3QgKi8KKyAg
ICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0
aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgICAgLy8gRm9yIGV2ZXJ5IHRlc3QgdGhhdCBoYXMgYSAi
dHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUgaXMgYQorICAgIC8vIGNvcnJlc3BvbmRpbmcgdGVzdCB0
aGF0IGhhcyBhICJmYWxzZSIgdmFsdWUgaGVyZS4KKyAgICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQg
ZnJvbSB0d28gZGlmZmVyZW50IGNhc2UgZmlsZXMsIHdoaWNoIHVzZQorICAgIGxldCBkZXNjcmlw
dG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbm5lciwgImNhbGxlciIpOwor
ICAgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsK
KyAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbm5lciwgImNhbGxlciIsIHt2YWx1ZTogMX0p
OworICAgIH0KKyAgICB2YXIgcmVzdWx0ID0gaW5uZXIoKTsKKyAgICBpZiAoZGVzY3JpcHRvciAm
JiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgICBhc3NlcnQuc2FtZVZh
bHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMgdGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBwcm9w
ZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2libGUg
YW5kIHNob3VsZCByZXR1cm4gdGhlIHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgICAgfQorCisg
ICAgLy8gIkNBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAgICAv
LyBmb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5jYXNlCisgICAgLy8K
KyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9wZXJ0
eQorICAgIC8vIG5hbWVkICJjYWxsZXIiLCB0aGVuIGl0cyB2YWx1ZSB3aWxsIGJlIHJldHVybmVk
LgorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9U
IGhhdmUgYW4KKyAgICAvLyBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIsIHRoZW4gdGhlIHN5
bWJvbAorICAgIC8vIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qgd2lsbCBiZSBy
ZXR1cm5lZC4KKyAgICBpZiAocmVzdWx0ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9U
X0VYSVNUKSB7CisgICAgICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdCwgdGhpcy5tZXRob2Qp
OworICAgIH0KKyAgICBjYWxsQ291bnQrKzsKKyAgfQorfQorCitDLm1ldGhvZCgpLm5leHQoKQor
ICAudGhlbigoKSA9PiB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdmdW5j
dGlvbiBib2R5IGV2YWx1YXRlZCcpOworICB9LCAkRE9ORSkudGhlbigkRE9ORSwgJERPTkUpOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9hc3luYy1nZW4tbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWFzeW5j
LWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxl
ci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5
bmMtZ2VuLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1hc3luYy1nZW4t
bWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMK
aW5kZXggYmQ5NmZhMTE2N2NkMzgwOTgzYjYyMWMwMzkwNjRkOGZiNzI1OGE3Zi4uODUzMzRlMjI0
OGYyMGI4NzRiNDM5ZmU0ZThhYzFhZDIyM2RiYmM1MyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kLXN0YXRp
Yy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWFzeW5jLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRk
ZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworKysgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLWdlbi1tZXRob2Qtc3RhdGlj
L2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRl
bi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCkBAIC00LDE4ICs0LDI0IEBACiAv
Ki0tLQogZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVyIChzdGF0aWMg
Y2xhc3MgZXhwcmVzc2lvbiBnZW5lcmF0b3IgbWV0aG9kKQogZXNpZDogc2VjLXJ1bnRpbWUtc2Vt
YW50aWNzLWJpbmRpbmdjbGFzc2RlY2xhcmF0aW9uZXZhbHVhdGlvbgotZmVhdHVyZXM6IFthc3lu
Yy1pdGVyYXRpb25dCitmZWF0dXJlczogW2Fycm93LWZ1bmN0aW9uLCBhc3luYy1mdW5jdGlvbnMs
IGFzeW5jLWl0ZXJhdGlvbiwgY2xhc3NdCiBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFz
eW5jXQogaW5mbzogfAogICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRp
ZmllciBDbGFzc1RhaWwKIAogCi0gICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkg
ZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2
YWx1ZSBvZiB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0
T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0LiBJZiBp
dCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVl
IG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0gYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEg
c3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgorICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4
dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2Fs
bGVyIiB0aGUgdmFsdWUgb2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBb
W0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rp
b24KKyAgICBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rp
b24gdGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRdXQorICAgIGF0dHJp
YnV0ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KIAog
LS0tKi8KK3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7
CiBmdW5jdGlvbiBpbm5lcigpIHsKLSAgLy8gVGhpcyBwcm9wZXJ0eSBpcyBmb3JiaWRkZW4gZnJv
bSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKLSAgcmV0dXJu
IGlubmVyLmNhbGxlcjsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBtYXkgZXhpc3QsIGJ1dCBpcyBmb3Ji
aWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVj
dAorICByZXR1cm4gaW5uZXIuaGFzT3duUHJvcGVydHkoImNhbGxlciIpCisgICAgPyBpbm5lci5j
YWxsZXIKKyAgICA6IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Q7CiB9CiAKIApA
QCAtMjMsMTYgKzI5LDM2IEBAIHZhciBjYWxsQ291bnQgPSAwOwogY2xhc3MgQyB7CiAgIHN0YXRp
YyBhc3luYyAqbWV0aG9kKCkgewogICAgIC8qIGltcGxpY2l0IHN0cmljdCAqLwotICAgIGlubmVy
KCkudG9TdHJpbmcoKTsKKyAgICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFs
IHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgICAgLy8gRm9yIGV2ZXJ5
IHRlc3QgdGhhdCBoYXMgYSAidHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUgaXMgYQorICAgIC8vIGNv
cnJlc3BvbmRpbmcgdGVzdCB0aGF0IGhhcyBhICJmYWxzZSIgdmFsdWUgaGVyZS4KKyAgICAvLyBU
aGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNhc2UgZmlsZXMsIHdoaWNoIHVz
ZQorICAgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihp
bm5lciwgImNhbGxlciIpOworICAgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmln
dXJhYmxlICYmIGZhbHNlKSB7CisgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJj
YWxsZXIiLCB7fSk7CisgICAgfQorICAgIHZhciByZXN1bHQgPSBpbm5lcigpOworICAgIGlmIChk
ZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIGZhbHNlKSB7CisgICAgICBh
c3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMgdGVzdCBkZWZpbmVkIGFuIG93biAi
Y2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJl
IGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4gdGhlIHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7
CisgICAgfQorCisgICAgLy8gIkNBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QiIGlz
IGZyb20KKyAgICAvLyBmb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5j
YXNlCisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgaGFzIGFu
IG93biBwcm9wZXJ0eQorICAgIC8vIG5hbWVkICJjYWxsZXIiLCB0aGVuIGl0cyB2YWx1ZSB3aWxs
IGJlIHJldHVybmVkLgorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5u
ZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgICAvLyBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIs
IHRoZW4gdGhlIHN5bWJvbAorICAgIC8vIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJ
U1Qgd2lsbCBiZSByZXR1cm5lZC4KKyAgICBpZiAocmVzdWx0ICE9PSBDQUxMRVJfT1dOX1BST1BF
UlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdCwg
dGhpcy5tZXRob2QpOworICAgIH0KICAgICBjYWxsQ291bnQrKzsKICAgfQogfQogCiBDLm1ldGhv
ZCgpLm5leHQoKQotICAudGhlbihfID0+IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdm
dW5jdGlvbiBzaG91bGQgbm90IGJlIHJlc29sdmVkJyk7Ci0gIH0sIGVycm9yID0+IGFzc2VydC5z
YW1lVmFsdWUoZXJyb3IuY29uc3RydWN0b3IsIFR5cGVFcnJvcikpCiAgIC50aGVuKCgpID0+IHsK
LSAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2Z1bmN0aW9uIGJvZHkgaXMgbm90
IGV2YWx1YXRlZCcpOwotICB9LCAkRE9ORSkKLSAgLnRoZW4oJERPTkUsICRET05FKTsKKyAgICBh
c3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7
CisgIH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLWdlbi1tZXRob2QvZm9y
YmlkZGVuLWV4dC9iMS9jbHMtZGVjbC1hc3luYy1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVj
dC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLWdlbi1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMS9jbHMt
ZGVjbC1hc3luYy1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1
bWVudHMuanMKaW5kZXggNmNmODEwODcwZmYyYjJiYjNiNDRmMTY0M2IxMWM4ZTYwY2YyOThjZi4u
ZDI3NjI3Y2U1ZGExY2RiZWQzODVhZjRkOTRiN2YwZTc2ZDNmMmE4ZCAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1nZW4tbWV0
aG9kL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4
dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC9mb3JiaWRkZW4t
ZXh0L2IxL2Nscy1kZWNsLWFzeW5jLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vz
cy1wcm9wLWFyZ3VtZW50cy5qcwpAQCAtMiwzMSArMiwzNiBAQAogLy8gLSBzcmMvZnVuY3Rpb24t
Zm9ybXMvZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmNhc2UKIC8v
IC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC1vbmUvY2xz
LWRlY2wtYXN5bmMtZ2VuLW1ldGgudGVtcGxhdGUKIC8qLS0tCi1kZXNjcmlwdGlvbjogRm9yYmlk
ZGVuIGV4dGVuc2lvbiwgby5hcmd1bWVudHMgKGNsYXNzIGV4cHJlc3Npb24gbWV0aG9kKQorZGVz
Y3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIGYuYXJndW1lbnRzIChjbGFzcyBleHByZXNz
aW9uIG1ldGhvZCkKIGVzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGlj
cy1ldmFsdWF0aW9uCi1mZWF0dXJlczogW2FzeW5jLWl0ZXJhdGlvbl0KK2ZlYXR1cmVzOiBbYXJy
b3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9ucywgYXN5bmMtaXRlcmF0aW9uLCBjbGFzcywgZ2Vu
ZXJhdG9yc10KIGZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdCwgYXN5bmNdCiBpbmZvOiB8CiAg
ICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyIENsYXNzVGFpbAog
CiAKLSAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0
aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3QgYmUgY3JlYXRlZCB3
aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93
biBwcm9wZXJ0aWVzIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0
cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sIEdlbmVy
YXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xh
cmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sIENsYXNzRGVjbGFyYXRpb24sIENsYXNz
RXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVz
c2lvbiwgb3IgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVm
aW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4gQnVpbHQtaW4gZnVuY3Rp
b25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVj
dG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25z
dHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24g
Y29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2Qg
YWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24gcHJvcGVydGllcy4KKyAgICBF
Q01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3Ry
dWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdAorICAgIG5vdCBiZSBjcmVhdGVkIHdpdGgg
b3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHBy
b3BlcnRpZXMgYWxzbworICAgIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVj
dHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLAorICAg
IEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRv
ckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sCisgICAgQ2xhc3NEZWNsYXJh
dGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVu
Y3Rpb25FeHByZXNzaW9uLCBvcgorICAgIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9m
IHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUu
CisgICAgQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcg
dGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zCisgICAgY3JlYXRl
ZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRl
ZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbgorICAgIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25z
IGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3
aXRoIHN1Y2ggb3duCisgICAgcHJvcGVydGllcy4KIAogLS0tKi8KIAogdmFyIGNhbGxDb3VudCA9
IDA7CiBjbGFzcyBDIHsKICAgYXN5bmMgKm1ldGhvZCgpIHsKLSAgICB0aGlzLm1ldGhvZC5hcmd1
bWVudHM7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh0aGlzLm1ldGhvZC5oYXNPd25Qcm9wZXJ0eSgi
YXJndW1lbnRzIiksIGZhbHNlKTsKICAgICBjYWxsQ291bnQrKzsKICAgfQogfQogCiBDLnByb3Rv
dHlwZS5tZXRob2QoKS5uZXh0KCkKLSAgLnRoZW4oXyA9PiB7Ci0gICAgdGhyb3cgbmV3IFRlc3Qy
NjJFcnJvcignZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSByZXNvbHZlZCcpOwotICB9LCBlcnJvciA9
PiBhc3NlcnQuc2FtZVZhbHVlKGVycm9yLmNvbnN0cnVjdG9yLCBUeXBlRXJyb3IpKQogICAudGhl
bigoKSA9PiB7Ci0gICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdmdW5jdGlvbiBi
b2R5IGlzIG5vdCBldmFsdWF0ZWQnKTsKLSAgfSwgJERPTkUpCi0gIC50aGVuKCRET05FLCAkRE9O
RSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdmdW5jdGlvbiBib2R5IGV2
YWx1YXRlZCcpOworICB9LCAkRE9ORSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1nZW4t
bWV0aG9kL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgtZm9yYmlkZGVu
LWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQv
YjEvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXBy
b3AtY2FsbGVyLmpzCmluZGV4IDA3ODgyNDc4MWRjMGU2OGYxNDNkMWIyZmYwZmMwMGRkOWRiYmE5
ZGIuLjg2ZTMwMTY0N2E0ZWM0NjRhMTdkNGYxOTUxMDlhOTk1NmMxYzY1OTUgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtZ2Vu
LW1ldGhvZC9mb3JiaWRkZW4tZXh0L2IxL2Nscy1kZWNsLWFzeW5jLWdlbi1tZXRoLWZvcmJpZGRl
bi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLWdlbi1tZXRob2QvZm9yYmlkZGVu
LWV4dC9iMS9jbHMtZGVjbC1hc3luYy1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nl
c3MtcHJvcC1jYWxsZXIuanMKQEAgLTQsMjkgKzQsMzQgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjog
Rm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIgKGNsYXNzIGV4cHJlc3Npb24gbWV0aG9kKQog
ZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24K
LWZlYXR1cmVzOiBbYXN5bmMtaXRlcmF0aW9uXQorZmVhdHVyZXM6IFthcnJvdy1mdW5jdGlvbiwg
YXN5bmMtZnVuY3Rpb25zLCBhc3luYy1pdGVyYXRpb24sIGNsYXNzLCBnZW5lcmF0b3JzXQogZmxh
Z3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0LCBhc3luY10KIGluZm86IHwKICAgICBDbGFzc0RlY2xh
cmF0aW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWlsCiAKIAotICAgIEVDTUFT
Y3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBjb25zdHJ1Y3Rv
cnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3Bl
cnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMg
YWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNp
bmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwgR2VuZXJhdG9yRGVjbGFyYXRp
b24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2VuZXJhdG9yRGVjbGFyYXRpb24sIEFzeW5j
R2VuZXJhdG9yRXhwcmVzc2lvbiwgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBB
c3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvciBBc3lu
Y0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNv
bnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLiBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0cmljdCBm
dW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IsIGdlbmVyYXRv
ciBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3lu
YyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbiBjb25zdHJ1Y3Rvciwg
YW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90
IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93biBwcm9wZXJ0aWVzLgorICAgIEVDTUFTY3JpcHQgZnVu
Y3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3Ry
aWN0IG1vZGUgY29kZSBtdXN0CisgICAgbm90IGJlIGNyZWF0ZWQgd2l0aCBvd24gcHJvcGVydGll
cyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4gU3VjaCBvd24gcHJvcGVydGllcyBhbHNv
CisgICAgbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVz
aW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sCisgICAgR2VuZXJhdG9yRGVj
bGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2VuZXJhdG9yRGVjbGFyYXRpb24s
IEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwKKyAgICBDbGFzc0RlY2xhcmF0aW9uLCBDbGFzc0V4
cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNGdW5jdGlvbkV4cHJlc3Np
b24sIG9yCisgICAgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUg
ZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4KKyAgICBCdWlsdC1p
biBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rpb24g
Y29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMKKyAgICBjcmVhdGVkIHVzaW5nIHRoZSBH
ZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBB
c3luY0Z1bmN0aW9uCisgICAgY29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2lu
ZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24K
KyAgICBwcm9wZXJ0aWVzLgogCiAtLS0qLwogCiB2YXIgY2FsbENvdW50ID0gMDsKIGNsYXNzIEMg
ewogICBhc3luYyAqbWV0aG9kKCkgewotICAgIHRoaXMubWV0aG9kLmNhbGxlcjsKKyAgICBhc3Nl
cnQuc2FtZVZhbHVlKHRoaXMubWV0aG9kLmhhc093blByb3BlcnR5KCJjYWxsZXIiKSwgZmFsc2Up
OwogICAgIGNhbGxDb3VudCsrOwogICB9CiB9CiAKIEMucHJvdG90eXBlLm1ldGhvZCgpLm5leHQo
KQotICAudGhlbihfID0+IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdmdW5jdGlvbiBz
aG91bGQgbm90IGJlIHJlc29sdmVkJyk7Ci0gIH0sIGVycm9yID0+IGFzc2VydC5zYW1lVmFsdWUo
ZXJyb3IuY29uc3RydWN0b3IsIFR5cGVFcnJvcikpCiAgIC50aGVuKCgpID0+IHsKLSAgICBhc3Nl
cnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2Z1bmN0aW9uIGJvZHkgaXMgbm90IGV2YWx1YXRl
ZCcpOwotICB9LCAkRE9ORSkKLSAgLnRoZW4oJERPTkUsICRET05FKTsKKyAgICBhc3NlcnQuc2Ft
ZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CisgIH0sICRE
T05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLWdlbi1tZXRob2QvZm9yYmlkZGVuLWV4
dC9iMi9jbHMtZGVjbC1hc3luYy1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vz
cy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRl
Y2wtYXN5bmMtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3At
Y2FsbGVyLWdldC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNmMyYjY1MjMyZjc5NTgzYjM1ZjU4M2UzOThkNmYy
MzRmOTEwZTk1Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xz
LWRlY2wtYXN5bmMtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXBy
b3AtY2FsbGVyLWdldC5qcwpAQCAtMCwwICsxLDYzIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2Nl
ZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9m
dW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxs
ZXItZ2V0LmNhc2UKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHRlbnNpb25z
L2J1bGxldC10d28vY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgudGVtcGxhdGUKKy8qLS0tCitkZXNj
cmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIgKGNsYXNzIGV4cHJlc3Npb24g
bWV0aG9kKQorZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2
YWx1YXRpb24KK2ZlYXR1cmVzOiBbYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9ucywgYXN5
bmMtaXRlcmF0aW9uLCBjbGFzc10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdCwgYXN5bmNd
CitpbmZvOiB8CisgICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVy
IENsYXNzVGFpbAorCisKKyAgICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBmdW5j
dGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZhbHVl
IG9mCisgICAgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBbW0dl
dE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9uCisgICAgb2JqZWN0
LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhl
IHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAgICBhdHRyaWJ1dGUgbXVzdCBuZXZl
ciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQuCisKKy0tLSovCit2YXIgQ0FM
TEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCA9IFN5bWJvbCgpOworZnVuY3Rpb24gaW5u
ZXIoKSB7CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0LCBidXQgaXMgZm9yYmlkZGVuIGZy
b20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKKyAgcmV0
dXJuIGlubmVyLmhhc093blByb3BlcnR5KCJjYWxsZXIiKQorICAgID8gaW5uZXIuY2FsbGVyCisg
ICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUOworfQorCit2YXIgY2FsbENv
dW50ID0gMDsKK2NsYXNzIEMgeworICBhc3luYyAqbWV0aG9kKCkgeworICAgIC8qIGltcGxpY2l0
IHN0cmljdCAqLworICAgIC8vIFRoaXMgYW5kIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uYWwgdmFs
dWUgaXMgc2V0IGluIHRoZSB0ZXN0J3MgLmNhc2UgZmlsZS4KKyAgICAvLyBGb3IgZXZlcnkgdGVz
dCB0aGF0IGhhcyBhICJ0cnVlIiB2YWx1ZSBoZXJlLCB0aGVyZSBpcyBhCisgICAgLy8gY29ycmVz
cG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBoZXJlLgorICAgIC8vIFRoZXkg
YXJlIGdlbmVyYXRlZCBmcm9tIHR3byBkaWZmZXJlbnQgY2FzZSBmaWxlcywgd2hpY2ggdXNlCisg
ICAgbGV0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGlubmVy
LCAiY2FsbGVyIik7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFi
bGUgJiYgdHJ1ZSkgeworICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2FsbGVy
Iiwge2dldCgpe3JldHVybiAxfX0pOworICAgIH0KKyAgICB2YXIgcmVzdWx0ID0gaW5uZXIoKTsK
KyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7
CisgICAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMgdGVzdCBkZWZpbmVk
IGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rpb24sIHRoZW4gaXQg
c2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4gdGhlIHZhbHVlIGl0IHdhcyBz
ZXQgdG8uJyk7CisgICAgfQorCisgICAgLy8gIkNBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1Rf
RVhJU1QiIGlzIGZyb20KKyAgICAvLyBmb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9w
LWNhbGxlci5jYXNlCisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5l
ciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAgIC8vIG5hbWVkICJjYWxsZXIiLCB0aGVuIGl0cyB2
YWx1ZSB3aWxsIGJlIHJldHVybmVkLgorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9i
amVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgICAvLyBvd24gcHJvcGVydHkgbmFtZWQg
ImNhbGxlciIsIHRoZW4gdGhlIHN5bWJvbAorICAgIC8vIENBTExFUl9PV05fUFJPUEVSVFlfRE9F
U19OT1RfRVhJU1Qgd2lsbCBiZSByZXR1cm5lZC4KKyAgICBpZiAocmVzdWx0ICE9PSBDQUxMRVJf
T1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgICBhc3NlcnQubm90U2FtZVZhbHVl
KHJlc3VsdCwgdGhpcy5tZXRob2QpOworICAgIH0KKyAgICBjYWxsQ291bnQrKzsKKyAgfQorfQor
CitDLnByb3RvdHlwZS5tZXRob2QoKS5uZXh0KCkKKyAgLnRoZW4oKCkgPT4geworICAgIGFzc2Vy
dC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnZnVuY3Rpb24gYm9keSBldmFsdWF0ZWQnKTsKKyAg
fSwgJERPTkUpLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC9mb3JiaWRk
ZW4tZXh0L2IyL2Nscy1kZWNsLWFzeW5jLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3Qt
YWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2Iy
L2Nscy1kZWNsLWFzeW5jLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93
bi1wcm9wLWNhbGxlci12YWx1ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZjY4ZWZhYjhiMTIxNGYwOGJkOGRi
ZTdhZTdiMDQ3ZTFjMjk3ZWE2Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kL2ZvcmJpZGRlbi1l
eHQvYjIvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nl
c3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzCkBAIC0wLDAgKzEsNjMgQEAKKy8vIFRoaXMgZmls
ZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoK
Ky8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93
bi1wcm9wLWNhbGxlci12YWx1ZS5jYXNlCisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRk
ZW4tZXh0ZW5zaW9ucy9idWxsZXQtdHdvL2Nscy1kZWNsLWFzeW5jLWdlbi1tZXRoLnRlbXBsYXRl
CisvKi0tLQorZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVyIChjbGFz
cyBleHByZXNzaW9uIG1ldGhvZCkKK2VzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1l
LXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW2Fycm93LWZ1bmN0aW9uLCBhc3luYy1m
dW5jdGlvbnMsIGFzeW5jLWl0ZXJhdGlvbiwgY2xhc3NdCitmbGFnczogW2dlbmVyYXRlZCwgbm9T
dHJpY3QsIGFzeW5jXQoraW5mbzogfAorICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5k
aW5nSWRlbnRpZmllciBDbGFzc1RhaWwKKworCisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0
ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxs
ZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtb
R2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlv
bgorICAgIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlv
biB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0cmli
dXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgorCist
LS0qLwordmFyIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2woKTsK
K2Z1bmN0aW9uIGlubmVyKCkgeworICAvLyBUaGlzIHByb3BlcnR5IG1heSBleGlzdCwgYnV0IGlz
IGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24g
b2JqZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlu
bmVyLmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVDsKK30K
KwordmFyIGNhbGxDb3VudCA9IDA7CitjbGFzcyBDIHsKKyAgYXN5bmMgKm1ldGhvZCgpIHsKKyAg
ICAvKiBpbXBsaWNpdCBzdHJpY3QgKi8KKyAgICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgICAgLy8g
Rm9yIGV2ZXJ5IHRlc3QgdGhhdCBoYXMgYSAidHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUgaXMgYQor
ICAgIC8vIGNvcnJlc3BvbmRpbmcgdGVzdCB0aGF0IGhhcyBhICJmYWxzZSIgdmFsdWUgaGVyZS4K
KyAgICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNhc2UgZmlsZXMs
IHdoaWNoIHVzZQorICAgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihpbm5lciwgImNhbGxlciIpOworICAgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0
b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShp
bm5lciwgImNhbGxlciIsIHt2YWx1ZTogMX0pOworICAgIH0KKyAgICB2YXIgcmVzdWx0ID0gaW5u
ZXIoKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0
cnVlKSB7CisgICAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMgdGVzdCBk
ZWZpbmVkIGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rpb24sIHRo
ZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4gdGhlIHZhbHVlIGl0
IHdhcyBzZXQgdG8uJyk7CisgICAgfQorCisgICAgLy8gIkNBTExFUl9PV05fUFJPUEVSVFlfRE9F
U19OT1RfRVhJU1QiIGlzIGZyb20KKyAgICAvLyBmb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vz
cy1wcm9wLWNhbGxlci5jYXNlCisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0
ICJpbm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAgIC8vIG5hbWVkICJjYWxsZXIiLCB0aGVu
IGl0cyB2YWx1ZSB3aWxsIGJlIHJldHVybmVkLgorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0
aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgICAvLyBvd24gcHJvcGVydHkg
bmFtZWQgImNhbGxlciIsIHRoZW4gdGhlIHN5bWJvbAorICAgIC8vIENBTExFUl9PV05fUFJPUEVS
VFlfRE9FU19OT1RfRVhJU1Qgd2lsbCBiZSByZXR1cm5lZC4KKyAgICBpZiAocmVzdWx0ICE9PSBD
QUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgICBhc3NlcnQubm90U2Ft
ZVZhbHVlKHJlc3VsdCwgdGhpcy5tZXRob2QpOworICAgIH0KKyAgICBjYWxsQ291bnQrKzsKKyAg
fQorfQorCitDLnByb3RvdHlwZS5tZXRob2QoKS5uZXh0KCkKKyAgLnRoZW4oKCkgPT4geworICAg
IGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnZnVuY3Rpb24gYm9keSBldmFsdWF0ZWQn
KTsKKyAgfSwgJERPTkUpLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtZ2VuLW1ldGhvZC9m
b3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWFzeW5jLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtaW5k
aXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xz
LWRlY2wtYXN5bmMtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1j
YWxsZXIuanMKaW5kZXggMGZlMTQ4NTRlM2Q1MDY2YTRhMzM2NmY2ZTI3OWZiYWFkYWU1NTViYi4u
YjAyMjJlMjFiYTMxYjhlZjNkNDZhOTJiZGQ3MWE2MmJkMjJkNDg4OCAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1nZW4tbWV0
aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4
dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1nZW4tbWV0aG9kL2ZvcmJpZGRlbi1l
eHQvYjIvY2xzLWRlY2wtYXN5bmMtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nl
c3MtcHJvcC1jYWxsZXIuanMKQEAgLTQsMzQgKzQsNjAgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjog
Rm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIgKGNsYXNzIGV4cHJlc3Npb24gbWV0aG9kKQog
ZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24K
LWZlYXR1cmVzOiBbYXN5bmMtaXRlcmF0aW9uXQorZmVhdHVyZXM6IFthcnJvdy1mdW5jdGlvbiwg
YXN5bmMtZnVuY3Rpb25zLCBhc3luYy1pdGVyYXRpb24sIGNsYXNzXQogZmxhZ3M6IFtnZW5lcmF0
ZWQsIG5vU3RyaWN0LCBhc3luY10KIGluZm86IHwKICAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xh
c3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWlsCiAKIAotICAgIElmIGFuIGltcGxlbWVudGF0
aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1l
ZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2YgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcg
W1tHZXRdXSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0
aW9uIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0
aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1dIGF0dHJpYnV0ZSBtdXN0
IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KKyAgICBJZiBhbiBp
bXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJv
cGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZhbHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0eSwgYXMg
b2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJl
IGEgc3RyaWN0IGZ1bmN0aW9uCisgICAgb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9w
ZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtb
R2V0XV0KKyAgICBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24g
d2hlbiBjYWxsZWQuCiAKIC0tLSovCit2YXIgQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9F
WElTVCA9IFN5bWJvbCgpOwogZnVuY3Rpb24gaW5uZXIoKSB7Ci0gIC8vIFRoaXMgcHJvcGVydHkg
aXMgZm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBzdHJpY3QgZnVuY3Rpb24g
b2JqZWN0Ci0gIHJldHVybiBpbm5lci5jYWxsZXI7CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5IGV4
aXN0LCBidXQgaXMgZm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0cmlj
dCBmdW5jdGlvbiBvYmplY3QKKyAgcmV0dXJuIGlubmVyLmhhc093blByb3BlcnR5KCJjYWxsZXIi
KQorICAgID8gaW5uZXIuY2FsbGVyCisgICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9U
X0VYSVNUOwogfQogCiB2YXIgY2FsbENvdW50ID0gMDsKIGNsYXNzIEMgewogICBhc3luYyAqbWV0
aG9kKCkgewogICAgIC8qIGltcGxpY2l0IHN0cmljdCAqLwotICAgIGlubmVyKCkudG9TdHJpbmco
KTsKKyAgICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNl
dCBpbiB0aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgICAgLy8gRm9yIGV2ZXJ5IHRlc3QgdGhhdCBo
YXMgYSAidHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUgaXMgYQorICAgIC8vIGNvcnJlc3BvbmRpbmcg
dGVzdCB0aGF0IGhhcyBhICJmYWxzZSIgdmFsdWUgaGVyZS4KKyAgICAvLyBUaGV5IGFyZSBnZW5l
cmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNhc2UgZmlsZXMsIHdoaWNoIHVzZQorICAgIGxldCBk
ZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbm5lciwgImNhbGxl
ciIpOworICAgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIGZh
bHNlKSB7CisgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJjYWxsZXIiLCB7fSk7
CisgICAgfQorICAgIHZhciByZXN1bHQgPSBpbm5lcigpOworICAgIGlmIChkZXNjcmlwdG9yICYm
IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIGZhbHNlKSB7CisgICAgICBhc3NlcnQuc2FtZVZh
bHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMgdGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBwcm9w
ZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2libGUg
YW5kIHNob3VsZCByZXR1cm4gdGhlIHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgICAgfQorCisg
ICAgLy8gIkNBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAgICAv
LyBmb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5jYXNlCisgICAgLy8K
KyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9wZXJ0
eQorICAgIC8vIG5hbWVkICJjYWxsZXIiLCB0aGVuIGl0cyB2YWx1ZSB3aWxsIGJlIHJldHVybmVk
LgorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9U
IGhhdmUgYW4KKyAgICAvLyBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIsIHRoZW4gdGhlIHN5
bWJvbAorICAgIC8vIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qgd2lsbCBiZSBy
ZXR1cm5lZC4KKyAgICBpZiAocmVzdWx0ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9U
X0VYSVNUKSB7CisgICAgICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdCwgdGhpcy5tZXRob2Qp
OworICAgIH0KICAgICBjYWxsQ291bnQrKzsKICAgfQogfQogCiBDLnByb3RvdHlwZS5tZXRob2Qo
KS5uZXh0KCkKLSAgLnRoZW4oXyA9PiB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignZnVu
Y3Rpb24gc2hvdWxkIG5vdCBiZSByZXNvbHZlZCcpOwotICB9LCBlcnJvciA9PiBhc3NlcnQuc2Ft
ZVZhbHVlKGVycm9yLmNvbnN0cnVjdG9yLCBUeXBlRXJyb3IpKQogICAudGhlbigoKSA9PiB7Ci0g
ICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdmdW5jdGlvbiBib2R5IGlzIG5vdCBl
dmFsdWF0ZWQnKTsKLSAgfSwgJERPTkUpCi0gIC50aGVuKCRET05FLCAkRE9ORSk7CisgICAgYXNz
ZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcpOwor
ICB9LCAkRE9ORSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2F3
YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci1lc2NhcGVkLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2F3YWl0LWFz
LWJpbmRpbmctaWRlbnRpZmllci1lc2NhcGVkLmpzCmluZGV4IGUzNmY5ZGU0ZjUyYTI0ODI5MGFl
MDM2ZWJlZjhjMzc0M2M3NWJlZGQuLjY0YWFiZWRiZmJhZGFiYTViNDMwNWE2NTkxNDNmNGE5NTU4
ZGM2MTYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXIt
ZXNjYXBlZC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvYXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVyLWVz
Y2FwZWQuanMKQEAgLTMxLDYgKzMxLDkgQEAgaW5mbzogfAogJERPTk9URVZBTFVBVEUoKTsKIAog
Ci1jbGFzcyBDIHsgc3RhdGljIGFzeW5jIG1ldGhvZCgpIHsKK2NsYXNzIEMgeworICBzdGF0aWMg
YXN5bmMgbWV0aG9kKCkgewogICAgIHZhciBcdTAwNjF3YWl0OwotfX0KKyAgfQorfQorCmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Fz
eW5jLW1ldGhvZC1zdGF0aWMvYXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVyLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2Qtc3Rh
dGljL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci5qcwppbmRleCAyYmQ4N2Q1MzBlZDRiYWUx
ZWQzMjliMDcwZDZlNmEzMTdmNTY0MTJlLi5iYjA0ZjMyMzJiMzg3YjVkMTY4Y2QxNTQxOGRhMmZk
YTM5NmNlM2MwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvYXdhaXQtYXMtYmluZGluZy1pZGVudGlm
aWVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXIuanMKQEAg
LTMxLDYgKzMxLDkgQEAgaW5mbzogfAogJERPTk9URVZBTFVBVEUoKTsKIAogCi1jbGFzcyBDIHsg
c3RhdGljIGFzeW5jIG1ldGhvZCgpIHsKK2NsYXNzIEMgeworICBzdGF0aWMgYXN5bmMgbWV0aG9k
KCkgewogICAgIHZhciBhd2FpdDsKLX19CisgIH0KK30KKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGlj
L2F3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLWVzY2FwZWQuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvYXdh
aXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UtZXNjYXBlZC5qcwppbmRleCA0N2YxMzEzZTdhMzZl
ZGFhZGUxMjBkNzQ1NzQ4ZDc2MmQwYzI3OGQ1Li5hMDFjYTY4MTE2MDUyMjgyNTU3ZmRhYTdlYTE4
NDhhNjBhMDMyOWNlIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvYXdhaXQtYXMtaWRlbnRpZmllci1y
ZWZlcmVuY2UtZXNjYXBlZC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvYXdhaXQtYXMtaWRlbnRpZmllci1y
ZWZlcmVuY2UtZXNjYXBlZC5qcwpAQCAtMzEsNiArMzEsOSBAQCBpbmZvOiB8CiAkRE9OT1RFVkFM
VUFURSgpOwogCiAKLWNsYXNzIEMgeyBzdGF0aWMgYXN5bmMgbWV0aG9kKCkgeworY2xhc3MgQyB7
CisgIHN0YXRpYyBhc3luYyBtZXRob2QoKSB7CiAgICAgdm9pZCBcdTAwNjF3YWl0OwotfX0KKyAg
fQorfQorCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVu
Y2UuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Fz
eW5jLW1ldGhvZC1zdGF0aWMvYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UuanMKaW5kZXgg
ZDllMjYwNmY0YmJhNDJmMDI0NTc1ZmI4OTg2OTZmODI3MTZmYzU2OC4uYjhmNTVkNDkwZDA3OTY0
NDg2MzY5NTEyMmI3YzU1OWZhNTRlNjUxMSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2F3YWl0LWFz
LWlkZW50aWZpZXItcmVmZXJlbmNlLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1pZGVudGlm
aWVyLXJlZmVyZW5jZS5qcwpAQCAtMzEsNiArMzEsOSBAQCBpbmZvOiB8CiAkRE9OT1RFVkFMVUFU
RSgpOwogCiAKLWNsYXNzIEMgeyBzdGF0aWMgYXN5bmMgbWV0aG9kKCkgeworY2xhc3MgQyB7Cisg
IHN0YXRpYyBhc3luYyBtZXRob2QoKSB7CiAgICAgdm9pZCBhd2FpdDsKLX19CisgIH0KK30KKwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9hc3luYy1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXItZXNjYXBlZC5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMt
bWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLWVzY2FwZWQuanMKaW5kZXgg
NjFiY2M3MzEwMTU3MzA0ZDA4YmU3OTdmMjdiYWIxYTQzNTdkNWE3NS4uMDgzZjQxYzdiMzU4ZjIy
ZWYxMWZiZjdhZDUzNjA0MWM0Y2M4YTIwNSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2F3YWl0LWFz
LWxhYmVsLWlkZW50aWZpZXItZXNjYXBlZC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvYXdhaXQtYXMtbGFi
ZWwtaWRlbnRpZmllci1lc2NhcGVkLmpzCkBAIC0zMSw2ICszMSw5IEBAIGluZm86IHwKICRET05P
VEVWQUxVQVRFKCk7CiAKIAotY2xhc3MgQyB7IHN0YXRpYyBhc3luYyBtZXRob2QoKSB7CitjbGFz
cyBDIHsKKyAgc3RhdGljIGFzeW5jIG1ldGhvZCgpIHsKICAgICBcdTAwNjF3YWl0OiA7Ci19fQor
ICB9Cit9CisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVy
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3lu
Yy1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXIuanMKaW5kZXggODhhNjcw
NDBiZGJiMTM5NGViNjkyMDNkMmJlYTVlN2I2ODg3OWM1NC4uNjIzODI5M2VkOTQwNWFmZmNhMjIw
Zjg3ZDNjNTUwODk0ZTE5OWY3MSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWxhYmVs
LWlkZW50aWZpZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXIu
anMKQEAgLTMxLDYgKzMxLDkgQEAgaW5mbzogfAogJERPTk9URVZBTFVBVEUoKTsKIAogCi1jbGFz
cyBDIHsgc3RhdGljIGFzeW5jIG1ldGhvZCgpIHsKK2NsYXNzIEMgeworICBzdGF0aWMgYXN5bmMg
bWV0aG9kKCkgewogICAgIGF3YWl0OiA7Ci19fQorICB9Cit9CisKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0
YXRpYy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1kZWNsLWFzeW5jLW1ldGgtc3RhdGljLWZvcmJpZGRl
bi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9mb3JiaWRk
ZW4tZXh0L2IxL2Nscy1kZWNsLWFzeW5jLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtZGlyZWN0
LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwppbmRleCA1YmU1ZGU1ZDY0NGVhYzgxMjY0ZjFjOTNk
MmFlOGY0ZTc0YTM5MDc2Li5hYjVjODdkNjYzYzJmYWViZjEyYjcwYjE3Y2Y5OWNiNmQxY2QwOTk2
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZGVjbC1hc3luYy1t
ZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3lu
Yy1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtYXN5bmMtbWV0aC1zdGF0
aWMtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCkBAIC0yLDE1
ICsyLDI0IEBACiAvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWRpcmVjdC1h
Y2Nlc3MtcHJvcC1hcmd1bWVudHMuY2FzZQogLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlk
ZGVuLWV4dGVuc2lvbnMvYnVsbGV0LW9uZS9jbHMtZGVjbC1hc3luYy1tZXRoLXN0YXRpYy50ZW1w
bGF0ZQogLyotLS0KLWRlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmFyZ3VtZW50
cyAoc3RhdGljIGNsYXNzIGRlY2xhcmF0aW9uIGFzeW5jIG1ldGhvZCkKK2Rlc2NyaXB0aW9uOiBG
b3JiaWRkZW4gZXh0ZW5zaW9uLCBmLmFyZ3VtZW50cyAoc3RhdGljIGNsYXNzIGRlY2xhcmF0aW9u
IGFzeW5jIG1ldGhvZCkKIGVzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1iaW5kaW5nY2xhc3Nk
ZWNsYXJhdGlvbmV2YWx1YXRpb24KLWZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zXQorZmVhdHVy
ZXM6IFthcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVuY3Rpb25zLCBhc3luYy1pdGVyYXRpb24sIGNs
YXNzXQogZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0LCBhc3luY10KIGluZm86IHwKICAgICBD
bGFzc0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWlsCiAKIAot
ICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBj
b25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGgg
b3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHBy
b3BlcnRpZXMgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRl
ZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwgR2VuZXJhdG9y
RGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2VuZXJhdG9yRGVjbGFyYXRp
b24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHBy
ZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9u
LCBvciBBc3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0
aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLiBCdWlsdC1pbiBmdW5jdGlvbnMs
IHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3Is
IGdlbmVyYXRvciBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVj
dG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbiBjb25z
dHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNv
IG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93biBwcm9wZXJ0aWVzLgorICAgIEVDTUFT
Y3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBjb25zdHJ1Y3Rv
cnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0CisgICAgbm90IGJlIGNyZWF0ZWQgd2l0aCBvd24g
cHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4gU3VjaCBvd24gcHJvcGVy
dGllcyBhbHNvCisgICAgbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBk
ZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sCisgICAgR2Vu
ZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2VuZXJhdG9yRGVj
bGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwKKyAgICBDbGFzc0RlY2xhcmF0aW9u
LCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNGdW5jdGlv
bkV4cHJlc3Npb24sIG9yCisgICAgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hl
dGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4KKyAg
ICBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUg
RnVuY3Rpb24gY29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMKKyAgICBjcmVhdGVkIHVz
aW5nIHRoZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVz
aW5nIHRoZSBBc3luY0Z1bmN0aW9uCisgICAgY29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3Jl
YXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGgg
c3VjaCBvd24KKyAgICBwcm9wZXJ0aWVzLgogCiAtLS0qLwogCkBAIC0xOCwxNiArMjcsMTIgQEAg
aW5mbzogfAogdmFyIGNhbGxDb3VudCA9IDA7CiBjbGFzcyBDIHsKICAgc3RhdGljIGFzeW5jIG1l
dGhvZCgpIHsKLSAgICB0aGlzLm1ldGhvZC5hcmd1bWVudHM7CisgICAgYXNzZXJ0LnNhbWVWYWx1
ZSh0aGlzLm1ldGhvZC5oYXNPd25Qcm9wZXJ0eSgiYXJndW1lbnRzIiksIGZhbHNlKTsKICAgICBj
YWxsQ291bnQrKzsKICAgfQogfQogCiBDLm1ldGhvZCgpCi0gIC50aGVuKF8gPT4gewotICAgIHRo
cm93IG5ldyBUZXN0MjYyRXJyb3IoJ2Z1bmN0aW9uIHNob3VsZCBub3QgYmUgcmVzb2x2ZWQnKTsK
LSAgfSwgZXJyb3IgPT4gYXNzZXJ0LnNhbWVWYWx1ZShlcnJvci5jb25zdHJ1Y3RvciwgVHlwZUVy
cm9yKSkKICAgLnRoZW4oKCkgPT4gewotICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAw
LCAnZnVuY3Rpb24gYm9keSBpcyBub3QgZXZhbHVhdGVkJyk7Ci0gIH0sICRET05FKQotICAudGhl
bigkRE9ORSwgJERPTkUpOworICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnZnVu
Y3Rpb24gYm9keSBldmFsdWF0ZWQnKTsKKyAgfSwgJERPTkUpLnRoZW4oJERPTkUsICRET05FKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1kZWNsLWFzeW5jLW1l
dGgtc3RhdGljLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9k
LXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1kZWNsLWFzeW5jLW1ldGgtc3RhdGljLWZvcmJp
ZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwppbmRleCA2MGQyOWMyZmM0Yzdm
ZmQ2ZDhhYWE4NDNhMWUxOGJiYzkzY2Y0YWU2Li5lM2FmOTExYWRhNDUwODBiYWI3ZmJlNjQ3Y2Nm
OTQwNmY0ZGJjMDU5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMS9jbHMt
ZGVjbC1hc3luYy1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1j
YWxsZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtYXN5bmMt
bWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCkBA
IC00LDEzICs0LDIyIEBACiAvKi0tLQogZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24s
IG8uY2FsbGVyIChzdGF0aWMgY2xhc3MgZGVjbGFyYXRpb24gYXN5bmMgbWV0aG9kKQogZXNpZDog
c2VjLXJ1bnRpbWUtc2VtYW50aWNzLWJpbmRpbmdjbGFzc2RlY2xhcmF0aW9uZXZhbHVhdGlvbgot
ZmVhdHVyZXM6IFthc3luYy1mdW5jdGlvbnNdCitmZWF0dXJlczogW2Fycm93LWZ1bmN0aW9uLCBh
c3luYy1mdW5jdGlvbnMsIGFzeW5jLWl0ZXJhdGlvbiwgY2xhc3NdCiBmbGFnczogW2dlbmVyYXRl
ZCwgbm9TdHJpY3QsIGFzeW5jXQogaW5mbzogfAogICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFz
cyBCaW5kaW5nSWRlbnRpZmllciBDbGFzc1RhaWwKIAogCi0gICAgRUNNQVNjcmlwdCBmdW5jdGlv
biBvYmplY3RzIGRlZmluZWQgdXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3Qg
bW9kZSBjb2RlIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAi
Y2FsbGVyIiBvciAiYXJndW1lbnRzIi4gU3VjaCBvd24gcHJvcGVydGllcyBhbHNvIG11c3Qgbm90
IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1
bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLCBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9y
RXhwcmVzc2lvbiwgQXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHBy
ZXNzaW9uLCBDbGFzc0RlY2xhcmF0aW9uLCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25E
ZWNsYXJhdGlvbiwgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24sIG9yIEFzeW5jQXJyb3dGdW5jdGlv
biByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0
cmljdCBtb2RlIGNvZGUuIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVh
dGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucyBj
cmVhdGVkIHVzaW5nIHRoZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBj
cmVhdGVkIHVzaW5nIHRoZSBBc3luY0Z1bmN0aW9uIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25z
IGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3
aXRoIHN1Y2ggb3duIHByb3BlcnRpZXMuCisgICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3Rz
IGRlZmluZWQgdXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2Rl
IG11c3QKKyAgICBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxs
ZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28KKyAgICBtdXN0IG5v
dCBiZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dG
dW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwKKyAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2Vu
ZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0
b3JFeHByZXNzaW9uLAorICAgIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5
bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IKKyAgICBB
c3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlz
IGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLgorICAgIEJ1aWx0LWluIGZ1bmN0aW9ucywg
c3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3Rvciwg
Z2VuZXJhdG9yIGZ1bmN0aW9ucworICAgIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25z
dHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24K
KyAgICBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1l
dGhvZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93bgorICAgIHByb3BlcnRp
ZXMuCiAKIC0tLSovCiAKQEAgLTE4LDE2ICsyNywxMiBAQCBpbmZvOiB8CiB2YXIgY2FsbENvdW50
ID0gMDsKIGNsYXNzIEMgewogICBzdGF0aWMgYXN5bmMgbWV0aG9kKCkgewotICAgIHRoaXMubWV0
aG9kLmNhbGxlcjsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHRoaXMubWV0aG9kLmhhc093blByb3Bl
cnR5KCJjYWxsZXIiKSwgZmFsc2UpOwogICAgIGNhbGxDb3VudCsrOwogICB9CiB9CiAKIEMubWV0
aG9kKCkKLSAgLnRoZW4oXyA9PiB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignZnVuY3Rp
b24gc2hvdWxkIG5vdCBiZSByZXNvbHZlZCcpOwotICB9LCBlcnJvciA9PiBhc3NlcnQuc2FtZVZh
bHVlKGVycm9yLmNvbnN0cnVjdG9yLCBUeXBlRXJyb3IpKQogICAudGhlbigoKSA9PiB7Ci0gICAg
YXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdmdW5jdGlvbiBib2R5IGlzIG5vdCBldmFs
dWF0ZWQnKTsKLSAgfSwgJERPTkUpCi0gIC50aGVuKCRET05FLCAkRE9ORSk7CisgICAgYXNzZXJ0
LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcpOworICB9
LCAkRE9ORSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2ZvcmJp
ZGRlbi1leHQvYjIvY2xzLWRlY2wtYXN5bmMtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRp
cmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4t
ZXh0L2IyL2Nscy1kZWNsLWFzeW5jLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3Qt
YWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQwYjYzOTc0OWQ0ZWZm
MzI1MzA1MGY1OTU5ZmY3NmZkZTM3ODE5MQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9m
b3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWFzeW5jLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQt
aW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMKQEAgLTAsMCArMSw2NCBAQAor
Ly8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2lu
ZyBzb3VyY2VzOgorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dC1pbmRpcmVj
dC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5jYXNlCisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jt
cy9mb3JiaWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQtdHdvL2Nscy1kZWNsLWFzeW5jLW1ldGgtc3Rh
dGljLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8u
Y2FsbGVyIChzdGF0aWMgY2xhc3MgZGVjbGFyYXRpb24gYXN5bmMgbWV0aG9kKQorZXNpZDogc2Vj
LXJ1bnRpbWUtc2VtYW50aWNzLWJpbmRpbmdjbGFzc2RlY2xhcmF0aW9uZXZhbHVhdGlvbgorZmVh
dHVyZXM6IFthcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVuY3Rpb25zLCBjbGFzc10KK2ZsYWdzOiBb
Z2VuZXJhdGVkLCBub1N0cmljdCwgYXN5bmNdCitpbmZvOiB8CisgICAgQ2xhc3NEZWNsYXJhdGlv
biA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyIENsYXNzVGFpbAorCisKKyAgICBJZiBhbiBpbXBs
ZW1lbnRhdGlvbiBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVy
dHkgbmFtZWQgImNhbGxlciIgdGhlIHZhbHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0eSwgYXMgb2Jz
ZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEg
c3RyaWN0IGZ1bmN0aW9uCisgICAgb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0
eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0
XV0KKyAgICBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hl
biBjYWxsZWQuCisKKy0tLSovCit2YXIgQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElT
VCA9IFN5bWJvbCgpOworZnVuY3Rpb24gaW5uZXIoKSB7CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5
IGV4aXN0LCBidXQgaXMgZm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0
cmljdCBmdW5jdGlvbiBvYmplY3QKKyAgcmV0dXJuIGlubmVyLmhhc093blByb3BlcnR5KCJjYWxs
ZXIiKQorICAgID8gaW5uZXIuY2FsbGVyCisgICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNf
Tk9UX0VYSVNUOworfQorCisKK3ZhciBjYWxsQ291bnQgPSAwOworY2xhc3MgQyB7CisgIHN0YXRp
YyBhc3luYyBtZXRob2QoKSB7CisgICAgLyogaW1wbGljaXQgc3RyaWN0ICovCisgICAgLy8gVGhp
cyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRlc3Qn
cyAuY2FzZSBmaWxlLgorICAgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZh
bHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMg
YSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdv
IGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgICBsZXQgZGVzY3JpcHRvciA9IE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgICBpZiAo
ZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgICBP
YmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJjYWxsZXIiLCB7Z2V0KCl7cmV0dXJuIDF9fSk7
CisgICAgfQorICAgIHZhciByZXN1bHQgPSBpbm5lcigpOworICAgIGlmIChkZXNjcmlwdG9yICYm
IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICAgIGFzc2VydC5zYW1lVmFs
dWUocmVzdWx0LCAxLCAnSWYgdGhpcyB0ZXN0IGRlZmluZWQgYW4gb3duICJjYWxsZXIiIHByb3Bl
cnR5IG9uIHRoZSBpbm5lciBmdW5jdGlvbiwgdGhlbiBpdCBzaG91bGQgYmUgYWNjZXNzaWJsZSBh
bmQgc2hvdWxkIHJldHVybiB0aGUgdmFsdWUgaXQgd2FzIHNldCB0by4nKTsKKyAgICB9CisKKyAg
ICAvLyAiQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCIgaXMgZnJvbQorICAgIC8v
IGZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmNhc2UKKyAgICAvLwor
ICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBoYXMgYW4gb3duIHByb3BlcnR5
CisgICAgLy8gbmFtZWQgImNhbGxlciIsIHRoZW4gaXRzIHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQu
CisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgRE9FUyBOT1Qg
aGF2ZSBhbgorICAgIC8vIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiwgdGhlbiB0aGUgc3lt
Ym9sCisgICAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCB3aWxsIGJlIHJl
dHVybmVkLgorICAgIGlmIChyZXN1bHQgIT09IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1Rf
RVhJU1QpIHsKKyAgICAgIGFzc2VydC5ub3RTYW1lVmFsdWUocmVzdWx0LCB0aGlzLm1ldGhvZCk7
CisgICAgfQorICAgIGNhbGxDb3VudCsrOworICB9Cit9CisKK0MubWV0aG9kKCkKKyAgLnRoZW4o
KCkgPT4geworICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnZnVuY3Rpb24gYm9k
eSBldmFsdWF0ZWQnKTsKKyAgfSwgJERPTkUpLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMt
bWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWFzeW5jLW1ldGgtc3RhdGlj
LWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0
aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWFzeW5jLW1ldGgtc3RhdGljLWZv
cmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jNGMzMmQzMzIzMzVjZmRhN2Q0ZmJlOTEwMDAyOTJiYTZlZGQ0MWVhCi0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9hc3luYy1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wtYXN5bmMtbWV0
aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZh
bHVlLmpzCkBAIC0wLDAgKzEsNjQgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdl
bmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZv
cm1zL2ZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5j
YXNlCisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQt
dHdvL2Nscy1kZWNsLWFzeW5jLW1ldGgtc3RhdGljLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRp
b246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVyIChzdGF0aWMgY2xhc3MgZGVjbGFyYXRp
b24gYXN5bmMgbWV0aG9kKQorZXNpZDogc2VjLXJ1bnRpbWUtc2VtYW50aWNzLWJpbmRpbmdjbGFz
c2RlY2xhcmF0aW9uZXZhbHVhdGlvbgorZmVhdHVyZXM6IFthcnJvdy1mdW5jdGlvbiwgYXN5bmMt
ZnVuY3Rpb25zLCBjbGFzc10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdCwgYXN5bmNdCitp
bmZvOiB8CisgICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyIENs
YXNzVGFpbAorCisKKyAgICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBmdW5jdGlv
biBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZhbHVlIG9m
CisgICAgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBbW0dldE93
blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9uCisgICAgb2JqZWN0LiBJ
ZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZh
bHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAgICBhdHRyaWJ1dGUgbXVzdCBuZXZlciBy
ZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQuCisKKy0tLSovCit2YXIgQ0FMTEVS
X09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCA9IFN5bWJvbCgpOworZnVuY3Rpb24gaW5uZXIo
KSB7CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0LCBidXQgaXMgZm9yYmlkZGVuIGZyb20g
aGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKKyAgcmV0dXJu
IGlubmVyLmhhc093blByb3BlcnR5KCJjYWxsZXIiKQorICAgID8gaW5uZXIuY2FsbGVyCisgICAg
OiBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUOworfQorCisKK3ZhciBjYWxsQ291
bnQgPSAwOworY2xhc3MgQyB7CisgIHN0YXRpYyBhc3luYyBtZXRob2QoKSB7CisgICAgLyogaW1w
bGljaXQgc3RyaWN0ICovCisgICAgLy8gVGhpcyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25h
bCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRlc3QncyAuY2FzZSBmaWxlLgorICAgIC8vIEZvciBldmVy
eSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgICAvLyBj
b3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgICAgLy8g
VGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdvIGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1
c2UKKyAgICBsZXQgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
aW5uZXIsICJjYWxsZXIiKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZp
Z3VyYWJsZSAmJiB0cnVlKSB7CisgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJj
YWxsZXIiLCB7dmFsdWU6IDF9KTsKKyAgICB9CisgICAgdmFyIHJlc3VsdCA9IGlubmVyKCk7Cisg
ICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgdHJ1ZSkgewor
ICAgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBh
biBvd24gImNhbGxlciIgcHJvcGVydHkgb24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNo
b3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0
IHRvLicpOworICAgIH0KKworICAgIC8vICJDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VY
SVNUIiBpcyBmcm9tCisgICAgLy8gZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1j
YWxsZXIuY2FzZQorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIi
IGhhcyBhbiBvd24gcHJvcGVydHkKKyAgICAvLyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFs
dWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgICAvLworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmpl
Y3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFuCisgICAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJj
YWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNf
Tk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQuCisgICAgaWYgKHJlc3VsdCAhPT0gQ0FMTEVSX09X
Tl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkgeworICAgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShy
ZXN1bHQsIHRoaXMubWV0aG9kKTsKKyAgICB9CisgICAgY2FsbENvdW50Kys7CisgIH0KK30KKwor
Qy5tZXRob2QoKQorICAudGhlbigoKSA9PiB7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291
bnQsIDEsICdmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcpOworICB9LCAkRE9ORSkudGhlbigkRE9O
RSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRl
Y2wtYXN5bmMtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1j
YWxsZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2FzeW5jLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1hc3luYy1tZXRo
LXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwppbmRl
eCA2NzU5YjY2YjQ2YTVkZjQ3MmNmMGZiMWVlNWQ4ZjBlZGRmYTE0YTRjLi44ZWJhNTVmNmQ0ZWNj
M2Y3NmQ5MjYwZWJjNjg5OWYxZGIyNzdlNmZiIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvZm9yYmlk
ZGVuLWV4dC9iMi9jbHMtZGVjbC1hc3luYy1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGly
ZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9i
Mi9jbHMtZGVjbC1hc3luYy1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vz
cy1wcm9wLWNhbGxlci5qcwpAQCAtNCwxOCArNCwyNCBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBG
b3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoc3RhdGljIGNsYXNzIGRlY2xhcmF0aW9uIGFz
eW5jIG1ldGhvZCkKIGVzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1iaW5kaW5nY2xhc3NkZWNs
YXJhdGlvbmV2YWx1YXRpb24KLWZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zXQorZmVhdHVyZXM6
IFthcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVuY3Rpb25zLCBjbGFzc10KIGZsYWdzOiBbZ2VuZXJh
dGVkLCBub1N0cmljdCwgYXN5bmNdCiBpbmZvOiB8CiAgICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNs
YXNzIEJpbmRpbmdJZGVudGlmaWVyIENsYXNzVGFpbAogCiAKLSAgICBJZiBhbiBpbXBsZW1lbnRh
dGlvbiBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFt
ZWQgImNhbGxlciIgdGhlIHZhbHVlIG9mIHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5n
IFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5j
dGlvbiBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24g
dGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRdXSBhdHRyaWJ1dGUgbXVz
dCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQuCisgICAgSWYgYW4g
aW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHBy
b3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRoYXQgcHJvcGVydHksIGFz
IG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBi
ZSBhIHN0cmljdCBmdW5jdGlvbgorICAgIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJv
cGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBb
W0dldF1dCisgICAgYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9u
IHdoZW4gY2FsbGVkLgogCiAtLS0qLwordmFyIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1Rf
RVhJU1QgPSBTeW1ib2woKTsKIGZ1bmN0aW9uIGlubmVyKCkgewotICAvLyBUaGlzIHByb3BlcnR5
IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgc3RyaWN0IGZ1bmN0aW9u
IG9iamVjdAotICByZXR1cm4gaW5uZXIuY2FsbGVyOworICAvLyBUaGlzIHByb3BlcnR5IG1heSBl
eGlzdCwgYnV0IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgYSBzdHJp
Y3QgZnVuY3Rpb24gb2JqZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVy
IikKKyAgICA/IGlubmVyLmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05P
VF9FWElTVDsKIH0KIAogCkBAIC0yMywxNiArMjksMzYgQEAgdmFyIGNhbGxDb3VudCA9IDA7CiBj
bGFzcyBDIHsKICAgc3RhdGljIGFzeW5jIG1ldGhvZCgpIHsKICAgICAvKiBpbXBsaWNpdCBzdHJp
Y3QgKi8KLSAgICBpbm5lcigpLnRvU3RyaW5nKCk7CisgICAgLy8gVGhpcyBhbmQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRlc3QncyAuY2FzZSBmaWxlLgor
ICAgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRoZXJl
IGlzIGEKKyAgICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMgYSAiZmFsc2UiIHZhbHVl
IGhlcmUuCisgICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdvIGRpZmZlcmVudCBjYXNl
IGZpbGVzLCB3aGljaCB1c2UKKyAgICBsZXQgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBk
ZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiBmYWxzZSkgeworICAgICAgT2JqZWN0LmRlZmluZVBy
b3BlcnR5KGlubmVyLCAiY2FsbGVyIiwge30pOworICAgIH0KKyAgICB2YXIgcmVzdWx0ID0gaW5u
ZXIoKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiBm
YWxzZSkgeworICAgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0aGlzIHRlc3Qg
ZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkgb24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0
aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBp
dCB3YXMgc2V0IHRvLicpOworICAgIH0KKworICAgIC8vICJDQUxMRVJfT1dOX1BST1BFUlRZX0RP
RVNfTk9UX0VYSVNUIiBpcyBmcm9tCisgICAgLy8gZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nl
c3MtcHJvcC1jYWxsZXIuY2FzZQorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVj
dCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAgICAvLyBuYW1lZCAiY2FsbGVyIiwgdGhl
biBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgICAvLworICAgIC8vIElmIHRoZSBmdW5j
dGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFuCisgICAgLy8gb3duIHByb3BlcnR5
IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgICAvLyBDQUxMRVJfT1dOX1BST1BF
UlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQuCisgICAgaWYgKHJlc3VsdCAhPT0g
Q0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkgeworICAgICAgYXNzZXJ0Lm5vdFNh
bWVWYWx1ZShyZXN1bHQsIHRoaXMubWV0aG9kKTsKKyAgICB9CiAgICAgY2FsbENvdW50Kys7CiAg
IH0KIH0KIAogQy5tZXRob2QoKQotICAudGhlbihfID0+IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2
MkVycm9yKCdmdW5jdGlvbiBzaG91bGQgbm90IGJlIHJlc29sdmVkJyk7Ci0gIH0sIGVycm9yID0+
IGFzc2VydC5zYW1lVmFsdWUoZXJyb3IuY29uc3RydWN0b3IsIFR5cGVFcnJvcikpCiAgIC50aGVu
KCgpID0+IHsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2Z1bmN0aW9uIGJv
ZHkgaXMgbm90IGV2YWx1YXRlZCcpOwotICB9LCAkRE9ORSkKLSAgLnRoZW4oJERPTkUsICRET05F
KTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZh
bHVhdGVkJyk7CisgIH0sICRET05FKS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhv
ZC1zdGF0aWMvcmV0dXJucy1hc3luYy1hcnJvdy1yZXR1cm5zLWFyZ3VtZW50cy1mcm9tLXBhcmVu
dC1mdW5jdGlvbi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWFycm93LXJldHVybnMtYXJn
dW1lbnRzLWZyb20tcGFyZW50LWZ1bmN0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc5NWJjYzAwNDNhMjIx
ZjA3NzM3MDcyODc5ZDdkYWU1ODZlYTZkMDAKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMv
cmV0dXJucy1hc3luYy1hcnJvdy1yZXR1cm5zLWFyZ3VtZW50cy1mcm9tLXBhcmVudC1mdW5jdGlv
bi5qcwpAQCAtMCwwICsxLDQwIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5l
cmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9hc3luYy1mdW5jdGlv
bnMvcmV0dXJucy1hc3luYy1hcnJvdy1yZXR1cm5zLWFyZ3VtZW50cy1mcm9tLXBhcmVudC1mdW5j
dGlvbi5jYXNlCisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvZXZhbHVhdGlvbi9hc3luYy1jbGFz
cy1kZWNsLXN0YXRpYy1tZXRob2QudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXN5bmMg
ZnVuY3Rpb24gcmV0dXJucyBhbiBhc3luYyBmdW5jdGlvbi4gKFN0YXRpYyBhc3luYyBtZXRob2Qg
YXMgYSBDbGFzc0RlY2xhcmF0aW9uIGVsZW1lbnQpCitlc2lkOiBwcm9kLUFzeW5jTWV0aG9kCitm
ZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2lu
Zm86IHwKKyAgICBDbGFzc0VsZW1lbnQgOgorICAgICAgc3RhdGljIE1ldGhvZERlZmluaXRpb24K
KworICAgIE1ldGhvZERlZmluaXRpb24gOgorICAgICAgQXN5bmNNZXRob2QKKworICAgIEFzeW5j
IEZ1bmN0aW9uIERlZmluaXRpb25zCisKKyAgICBBc3luY01ldGhvZCA6CisgICAgICBhc3luYyBb
bm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gUHJvcGVydHlOYW1lICggVW5pcXVlRm9ybWFsUGFyYW1l
dGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQorCistLS0qLworbGV0IGNvdW50ID0gMDsKKwor
CitjbGFzcyBDIHsKKyAgc3RhdGljIGFzeW5jIG1ldGhvZCh4KSB7CisgICAgbGV0IGEgPSBhcmd1
bWVudHM7CisgICAgICByZXR1cm4gYXN5bmMgKCkgPT4gYSA9PT0gYXJndW1lbnRzOworICB9Cit9
CisvLyBTdG9yZXMgYSByZWZlcmVuY2UgYGFzeW5jRm5gIGZvciBjYXNlIGV2YWx1YXRpb24KK2xl
dCBhc3luY0ZuID0gQy5tZXRob2Q7CisKK2FzeW5jRm4oKS50aGVuKHJldEZuID0+IHsKKyAgY291
bnQrKzsKKyAgcmV0dXJuIHJldEZuKCk7Cit9KS50aGVuKHJlc3VsdCA9PiB7CisgIGFzc2VydC5z
YW1lVmFsdWUocmVzdWx0LCB0cnVlKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwgMSk7Cit9
KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvcmV0dXJucy1hc3lu
Yy1hcnJvdy1yZXR1cm5zLW5ld3RhcmdldC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWFy
cm93LXJldHVybnMtbmV3dGFyZ2V0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiYWFhZDE2MTZlMWQ4OWIwM2Jm
YWQ3MWNkNzVjNWNlZDdhM2I2MmMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvcmV0dXJu
cy1hc3luYy1hcnJvdy1yZXR1cm5zLW5ld3RhcmdldC5qcwpAQCAtMCwwICsxLDM5IEBACisvLyBU
aGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNv
dXJjZXM6CisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvcmV0dXJucy1hc3luYy1hcnJvdy1yZXR1
cm5zLW5ld3RhcmdldC5jYXNlCisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvZXZhbHVhdGlvbi9h
c3luYy1jbGFzcy1kZWNsLXN0YXRpYy1tZXRob2QudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlv
bjogQXN5bmMgZnVuY3Rpb24gcmV0dXJucyBhbiBhc3luYyBmdW5jdGlvbi4gKFN0YXRpYyBhc3lu
YyBtZXRob2QgYXMgYSBDbGFzc0RlY2xhcmF0aW9uIGVsZW1lbnQpCitlc2lkOiBwcm9kLUFzeW5j
TWV0aG9kCitmZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBh
c3luY10KK2luZm86IHwKKyAgICBDbGFzc0VsZW1lbnQgOgorICAgICAgc3RhdGljIE1ldGhvZERl
ZmluaXRpb24KKworICAgIE1ldGhvZERlZmluaXRpb24gOgorICAgICAgQXN5bmNNZXRob2QKKwor
ICAgIEFzeW5jIEZ1bmN0aW9uIERlZmluaXRpb25zCisKKyAgICBBc3luY01ldGhvZCA6CisgICAg
ICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gUHJvcGVydHlOYW1lICggVW5pcXVlRm9y
bWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQorCistLS0qLworbGV0IGNvdW50
ID0gMDsKKworCitjbGFzcyBDIHsKKyAgc3RhdGljIGFzeW5jIG1ldGhvZCh4KSB7CisgICAgcmV0
dXJuIGFzeW5jICgpID0+IG5ldy50YXJnZXQ7CisgIH0KK30KKy8vIFN0b3JlcyBhIHJlZmVyZW5j
ZSBgYXN5bmNGbmAgZm9yIGNhc2UgZXZhbHVhdGlvbgorbGV0IGFzeW5jRm4gPSBDLm1ldGhvZDsK
KworYXN5bmNGbigpLnRoZW4ocmV0Rm4gPT4geworICBjb3VudCsrOworICByZXR1cm4gcmV0Rm4o
KTsKK30pLnRoZW4ocmVzdWx0ID0+IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIHVuZGVm
aW5lZCk7CisgIGFzc2VydC5zYW1lVmFsdWUoY291bnQsIDEpOworfSkudGhlbigkRE9ORSwgJERP
TkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMtYXJyb3cuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC1z
dGF0aWMvcmV0dXJucy1hc3luYy1hcnJvdy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYmUwZjQ5M2JjZTRmMzBm
MzE1OWZiMmNjMTA2ODIwYWRkODg2ODFlCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL3Jl
dHVybnMtYXN5bmMtYXJyb3cuanMKQEAgLTAsMCArMSwzOSBAQAorLy8gVGhpcyBmaWxlIHdhcyBw
cm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBz
cmMvYXN5bmMtZnVuY3Rpb25zL3JldHVybnMtYXN5bmMtYXJyb3cuY2FzZQorLy8gLSBzcmMvYXN5
bmMtZnVuY3Rpb25zL2V2YWx1YXRpb24vYXN5bmMtY2xhc3MtZGVjbC1zdGF0aWMtbWV0aG9kLnRl
bXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFzeW5jIGZ1bmN0aW9uIHJldHVybnMgYW4gYXN5
bmMgZnVuY3Rpb24uIChTdGF0aWMgYXN5bmMgbWV0aG9kIGFzIGEgQ2xhc3NEZWNsYXJhdGlvbiBl
bGVtZW50KQorZXNpZDogcHJvZC1Bc3luY01ldGhvZAorZmVhdHVyZXM6IFthc3luYy1mdW5jdGlv
bnNdCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmZvOiB8CisgICAgQ2xhc3NFbGVtZW50
IDoKKyAgICAgIHN0YXRpYyBNZXRob2REZWZpbml0aW9uCisKKyAgICBNZXRob2REZWZpbml0aW9u
IDoKKyAgICAgIEFzeW5jTWV0aG9kCisKKyAgICBBc3luYyBGdW5jdGlvbiBEZWZpbml0aW9ucwor
CisgICAgQXN5bmNNZXRob2QgOgorICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVd
IFByb3BlcnR5TmFtZSAoIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVuY3Rpb25C
b2R5IH0KKworLS0tKi8KK2xldCBjb3VudCA9IDA7CisKKworY2xhc3MgQyB7CisgIHN0YXRpYyBh
c3luYyBtZXRob2QoeCkgeworICAgIHJldHVybiBhc3luYyAoKSA9PiB4OworICB9Cit9CisvLyBT
dG9yZXMgYSByZWZlcmVuY2UgYGFzeW5jRm5gIGZvciBjYXNlIGV2YWx1YXRpb24KK2xldCBhc3lu
Y0ZuID0gQy5tZXRob2Q7CisKK2FzeW5jRm4oMSkudGhlbihyZXRGbiA9PiB7CisgIGNvdW50Kys7
CisgIHJldHVybiByZXRGbigpOworfSkudGhlbihyZXN1bHQgPT4geworICBhc3NlcnQuc2FtZVZh
bHVlKHJlc3VsdCwgMSk7CisgIGFzc2VydC5zYW1lVmFsdWUoY291bnQsIDEpOworfSkudGhlbigk
RE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMtZnVuY3Rp
b24tcmV0dXJucy1hcmd1bWVudHMtZnJvbS1vd24tZnVuY3Rpb24uanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvcmV0
dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1cm5zLWFyZ3VtZW50cy1mcm9tLW93bi1mdW5jdGlvbi5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40Y2U5ZjIxOWRkM2U3NmNhNjNkMWMxNWI5NTZhZGY4MWQ1MWJjM2FjCi0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0dXJu
cy1hcmd1bWVudHMtZnJvbS1vd24tZnVuY3Rpb24uanMKQEAgLTAsMCArMSw0MCBAQAorLy8gVGhp
cyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3Vy
Y2VzOgorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25zL3JldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0
dXJucy1hcmd1bWVudHMtZnJvbS1vd24tZnVuY3Rpb24uY2FzZQorLy8gLSBzcmMvYXN5bmMtZnVu
Y3Rpb25zL2V2YWx1YXRpb24vYXN5bmMtY2xhc3MtZGVjbC1zdGF0aWMtbWV0aG9kLnRlbXBsYXRl
CisvKi0tLQorZGVzY3JpcHRpb246IEFzeW5jIGZ1bmN0aW9uIHJldHVybnMgYW4gYXN5bmMgZnVu
Y3Rpb24uIChTdGF0aWMgYXN5bmMgbWV0aG9kIGFzIGEgQ2xhc3NEZWNsYXJhdGlvbiBlbGVtZW50
KQorZXNpZDogcHJvZC1Bc3luY01ldGhvZAorZmVhdHVyZXM6IFthc3luYy1mdW5jdGlvbnNdCitm
bGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmZvOiB8CisgICAgQ2xhc3NFbGVtZW50IDoKKyAg
ICAgIHN0YXRpYyBNZXRob2REZWZpbml0aW9uCisKKyAgICBNZXRob2REZWZpbml0aW9uIDoKKyAg
ICAgIEFzeW5jTWV0aG9kCisKKyAgICBBc3luYyBGdW5jdGlvbiBEZWZpbml0aW9ucworCisgICAg
QXN5bmNNZXRob2QgOgorICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIFByb3Bl
cnR5TmFtZSAoIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVuY3Rpb25Cb2R5IH0K
KworLS0tKi8KK2xldCBjb3VudCA9IDA7CisKKworY2xhc3MgQyB7CisgIHN0YXRpYyBhc3luYyBt
ZXRob2QoeCkgeworICAgIGxldCBhID0gYXJndW1lbnRzOworICAgICAgcmV0dXJuIGFzeW5jIGZ1
bmN0aW9uKCkgeyByZXR1cm4gYSA9PT0gYXJndW1lbnRzOyB9OworICB9Cit9CisvLyBTdG9yZXMg
YSByZWZlcmVuY2UgYGFzeW5jRm5gIGZvciBjYXNlIGV2YWx1YXRpb24KK2xldCBhc3luY0ZuID0g
Qy5tZXRob2Q7CisKK2FzeW5jRm4oMSkudGhlbihyZXRGbiA9PiB7CisgIGNvdW50Kys7CisgIHJl
dHVybiByZXRGbigpOworfSkudGhlbihyZXN1bHQgPT4geworICBhc3NlcnQuc2FtZVZhbHVlKHJl
c3VsdCwgZmFsc2UpOworICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxKTsKK30pLnRoZW4oJERP
TkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9u
LXJldHVybnMtbmV3dGFyZ2V0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMtZnVuY3Rpb24t
cmV0dXJucy1uZXd0YXJnZXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWRlMzA2MGVmYmFiYjk3YjMwMjZhYzRh
MTUyOGQyZjJlMWVjZjA0ZAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFz
eW5jLWZ1bmN0aW9uLXJldHVybnMtbmV3dGFyZ2V0LmpzCkBAIC0wLDAgKzEsMzkgQEAKKy8vIFRo
aXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291
cmNlczoKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLXJl
dHVybnMtbmV3dGFyZ2V0LmNhc2UKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9ldmFsdWF0aW9u
L2FzeW5jLWNsYXNzLWRlY2wtc3RhdGljLW1ldGhvZC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0
aW9uOiBBc3luYyBmdW5jdGlvbiByZXR1cm5zIGFuIGFzeW5jIGZ1bmN0aW9uLiAoU3RhdGljIGFz
eW5jIG1ldGhvZCBhcyBhIENsYXNzRGVjbGFyYXRpb24gZWxlbWVudCkKK2VzaWQ6IHByb2QtQXN5
bmNNZXRob2QKK2ZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zXQorZmxhZ3M6IFtnZW5lcmF0ZWQs
IGFzeW5jXQoraW5mbzogfAorICAgIENsYXNzRWxlbWVudCA6CisgICAgICBzdGF0aWMgTWV0aG9k
RGVmaW5pdGlvbgorCisgICAgTWV0aG9kRGVmaW5pdGlvbiA6CisgICAgICBBc3luY01ldGhvZAor
CisgICAgQXN5bmMgRnVuY3Rpb24gRGVmaW5pdGlvbnMKKworICAgIEFzeW5jTWV0aG9kIDoKKyAg
ICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVG
b3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CisKKy0tLSovCitsZXQgY291
bnQgPSAwOworCisKK2NsYXNzIEMgeworICBzdGF0aWMgYXN5bmMgbWV0aG9kKHgpIHsKKyAgICBy
ZXR1cm4gYXN5bmMgZnVuY3Rpb24oKSB7IHJldHVybiBuZXcudGFyZ2V0OyB9OworICB9Cit9Cisv
LyBTdG9yZXMgYSByZWZlcmVuY2UgYGFzeW5jRm5gIGZvciBjYXNlIGV2YWx1YXRpb24KK2xldCBh
c3luY0ZuID0gQy5tZXRob2Q7CisKK2FzeW5jRm4oMSkudGhlbihyZXRGbiA9PiB7CisgIGNvdW50
Kys7CisgIHJldHVybiByZXRGbigpOworfSkudGhlbihyZXN1bHQgPT4geworICBhc3NlcnQuc2Ft
ZVZhbHVlKHJlc3VsdCwgdW5kZWZpbmVkKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwgMSk7
Cit9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvcmV0dXJucy1h
c3luYy1mdW5jdGlvbi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvYXN5bmMtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgwZTZlNzA4ZWM0MTdjYTdkMmI2Mjg4NTZlZjRjYjRjZGVjYWM3MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2FzeW5jLW1ldGhvZC1zdGF0aWMvcmV0dXJucy1hc3luYy1mdW5jdGlvbi5qcwpAQCAtMCww
ICsxLDM5IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0
aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvcmV0dXJucy1h
c3luYy1mdW5jdGlvbi5jYXNlCisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvZXZhbHVhdGlvbi9h
c3luYy1jbGFzcy1kZWNsLXN0YXRpYy1tZXRob2QudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlv
bjogQXN5bmMgZnVuY3Rpb24gcmV0dXJucyBhbiBhc3luYyBmdW5jdGlvbi4gKFN0YXRpYyBhc3lu
YyBtZXRob2QgYXMgYSBDbGFzc0RlY2xhcmF0aW9uIGVsZW1lbnQpCitlc2lkOiBwcm9kLUFzeW5j
TWV0aG9kCitmZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBh
c3luY10KK2luZm86IHwKKyAgICBDbGFzc0VsZW1lbnQgOgorICAgICAgc3RhdGljIE1ldGhvZERl
ZmluaXRpb24KKworICAgIE1ldGhvZERlZmluaXRpb24gOgorICAgICAgQXN5bmNNZXRob2QKKwor
ICAgIEFzeW5jIEZ1bmN0aW9uIERlZmluaXRpb25zCisKKyAgICBBc3luY01ldGhvZCA6CisgICAg
ICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gUHJvcGVydHlOYW1lICggVW5pcXVlRm9y
bWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQorCistLS0qLworbGV0IGNvdW50
ID0gMDsKKworCitjbGFzcyBDIHsKKyAgc3RhdGljIGFzeW5jIG1ldGhvZCh4KSB7CisgICAgcmV0
dXJuIGFzeW5jIGZ1bmN0aW9uKCkgeyByZXR1cm4geDsgfTsKKyAgfQorfQorLy8gU3RvcmVzIGEg
cmVmZXJlbmNlIGBhc3luY0ZuYCBmb3IgY2FzZSBldmFsdWF0aW9uCitsZXQgYXN5bmNGbiA9IEMu
bWV0aG9kOworCithc3luY0ZuKDEpLnRoZW4ocmV0Rm4gPT4geworICBjb3VudCsrOworICByZXR1
cm4gcmV0Rm4oKTsKK30pLnRoZW4ocmVzdWx0ID0+IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1
bHQsIDEpOworICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxKTsKK30pLnRoZW4oJERPTkUsICRE
T05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvYXN5bmMtbWV0aG9kL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci1lc2NhcGVk
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3lu
Yy1tZXRob2QvYXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVyLWVzY2FwZWQuanMKaW5kZXggYjdi
N2QwYzZiZTM3YzE2NDZlZTVkNzkzYjY2MDhmYjVlNTI4MTAwMC4uNTA1YWI3MTgyODM4M2FhN2Vk
YmU2MDMyYzg0MGJlNzIzNmE2ZTAwMSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2QvYXdhaXQtYXMtYmluZGluZy1p
ZGVudGlmaWVyLWVzY2FwZWQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2QvYXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVy
LWVzY2FwZWQuanMKQEAgLTMxLDYgKzMxLDggQEAgaW5mbzogfAogJERPTk9URVZBTFVBVEUoKTsK
IAogCi1jbGFzcyBDIHsgYXN5bmMgbWV0aG9kKCkgeworY2xhc3MgQyB7CisgIGFzeW5jIG1ldGhv
ZCgpIHsKICAgICB2YXIgXHUwMDYxd2FpdDsKLX19CisgIH0KK30KZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kL2F3
YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRp
Zmllci5qcwppbmRleCBlYjdmMDBhMThhODY0NWQ0NjczODZhYjNhNTNkYjRhNGJmNDJiYzg3Li5h
ZTU3Nzg3MDBjZWE0NTFkYjI2YzE0NGUyNTIzNTIzYzUxNjZjMGMyIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC9h
d2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2QvYXdhaXQtYXMtYmluZGluZy1p
ZGVudGlmaWVyLmpzCkBAIC0zMSw2ICszMSw4IEBAIGluZm86IHwKICRET05PVEVWQUxVQVRFKCk7
CiAKIAotY2xhc3MgQyB7IGFzeW5jIG1ldGhvZCgpIHsKK2NsYXNzIEMgeworICBhc3luYyBtZXRo
b2QoKSB7CiAgICAgdmFyIGF3YWl0OwotfX0KKyAgfQorfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2QvYXdhaXQt
YXMtaWRlbnRpZmllci1yZWZlcmVuY2UtZXNjYXBlZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kL2F3YWl0LWFzLWlkZW50aWZp
ZXItcmVmZXJlbmNlLWVzY2FwZWQuanMKaW5kZXggOWI2NTJhZmRjMGVlYzYzNTYxM2EyYTk4N2Mz
YmQ4MjExMWFlOGVhNS4uZDBhNDVhMDYzOTZhNzkxMmVjNDhkZWM3MmFiMTM1MzRjNWNiYjVlZiAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9hc3luYy1tZXRob2QvYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UtZXNjYXBlZC5qcwor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5j
LW1ldGhvZC9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS1lc2NhcGVkLmpzCkBAIC0zMSw2
ICszMSw4IEBAIGluZm86IHwKICRET05PVEVWQUxVQVRFKCk7CiAKIAotY2xhc3MgQyB7IGFzeW5j
IG1ldGhvZCgpIHsKK2NsYXNzIEMgeworICBhc3luYyBtZXRob2QoKSB7CiAgICAgdm9pZCBcdTAw
NjF3YWl0OwotfX0KKyAgfQorfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2QvYXdhaXQtYXMtaWRlbnRpZmllci1y
ZWZlcmVuY2UuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2FzeW5jLW1ldGhvZC9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS5qcwppbmRleCAy
M2UyNjNlOTE3ZDE1YTFjMjQ1M2I1MzRkMzVkMjhlYWVjMWYxYzVmLi4xNGE3ZTE5Nzk2ZDMxYjJj
ZDY0N2JiNmRkMzI5OWEwYmQxOTdhMDI3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC9hd2FpdC1hcy1pZGVudGlm
aWVyLXJlZmVyZW5jZS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS5q
cwpAQCAtMzEsNiArMzEsOCBAQCBpbmZvOiB8CiAkRE9OT1RFVkFMVUFURSgpOwogCiAKLWNsYXNz
IEMgeyBhc3luYyBtZXRob2QoKSB7CitjbGFzcyBDIHsKKyAgYXN5bmMgbWV0aG9kKCkgewogICAg
IHZvaWQgYXdhaXQ7Ci19fQorICB9Cit9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC9hd2FpdC1hcy1sYWJlbC1p
ZGVudGlmaWVyLWVzY2FwZWQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC9hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLWVzY2Fw
ZWQuanMKaW5kZXggY2I3MzQ1OTJlYTMzMDhhZGI0OWMxYThkZjFhYzFhZmE1Mzk5ZDhhZC4uMmNh
ZjU2NGNiNTQ2NmIyZWU2MDJhNTQ3MTM1ZGIyYzRmMWI4MzUwYiAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2QvYXdh
aXQtYXMtbGFiZWwtaWRlbnRpZmllci1lc2NhcGVkLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kL2F3YWl0LWFzLWxhYmVs
LWlkZW50aWZpZXItZXNjYXBlZC5qcwpAQCAtMzEsNiArMzEsOCBAQCBpbmZvOiB8CiAkRE9OT1RF
VkFMVUFURSgpOwogCiAKLWNsYXNzIEMgeyBhc3luYyBtZXRob2QoKSB7CitjbGFzcyBDIHsKKyAg
YXN5bmMgbWV0aG9kKCkgewogICAgIFx1MDA2MXdhaXQ6IDsKLX19CisgIH0KK30KZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMt
bWV0aG9kL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC9hd2FpdC1hcy1sYWJlbC1p
ZGVudGlmaWVyLmpzCmluZGV4IDRmMzNhZmY0ZTZiNmMxNmRkODBjY2QxYjllNTliNjVkZDI2Mzlh
N2MuLmM4Mjc2OWMyYWVlODY2OGEwODZiNjJhZWQyNmVjNDg5YTVlMWRhYTIgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0
aG9kL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2QvYXdhaXQtYXMtbGFiZWwt
aWRlbnRpZmllci5qcwpAQCAtMzEsNiArMzEsOCBAQCBpbmZvOiB8CiAkRE9OT1RFVkFMVUFURSgp
OwogCiAKLWNsYXNzIEMgeyBhc3luYyBtZXRob2QoKSB7CitjbGFzcyBDIHsKKyAgYXN5bmMgbWV0
aG9kKCkgewogICAgIGF3YWl0OiA7Ci19fQorICB9Cit9CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC9mb3JiaWRk
ZW4tZXh0L2IxL2Nscy1kZWNsLWFzeW5jLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNz
LXByb3AtYXJndW1lbnRzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9hc3luYy1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZGVjbC1hc3luYy1t
ZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwppbmRleCAy
NGJkZDFmNzcwMzY3NDA3NDlhMjdiNTJmYmM0YmU2OThkN2M4YmEzLi41ZjU4MWM2MmNhNmEyZDM2
ZmJiMDI0ZjA5MDBmZDdmYjU2YzlmMTllIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2Ix
L2Nscy1kZWNsLWFzeW5jLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJn
dW1lbnRzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvYXN5bmMtbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtYXN5bmMtbWV0aC1m
b3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKQEAgLTIsMTUgKzIs
MjQgQEAKIC8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vz
cy1wcm9wLWFyZ3VtZW50cy5jYXNlCiAvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4t
ZXh0ZW5zaW9ucy9idWxsZXQtb25lL2Nscy1kZWNsLWFzeW5jLW1ldGgudGVtcGxhdGUKIC8qLS0t
Ci1kZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5hcmd1bWVudHMgKGNsYXNzIGRl
Y2xhcmF0aW9uIGFzeW5jIG1ldGhvZCkKK2Rlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9u
LCBmLmFyZ3VtZW50cyAoY2xhc3MgZGVjbGFyYXRpb24gYXN5bmMgbWV0aG9kKQogZXNpZDogc2Vj
LWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1YXRpb24KLWZlYXR1cmVz
OiBbYXN5bmMtZnVuY3Rpb25zXQorZmVhdHVyZXM6IFthcnJvdy1mdW5jdGlvbiwgYXN5bmMtZnVu
Y3Rpb25zLCBjbGFzc10KIGZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdCwgYXN5bmNdCiBpbmZv
OiB8CiAgICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyIENsYXNz
VGFpbAogCiAKLSAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBz
eW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3QgYmUgY3Jl
YXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBT
dWNoIG93biBwcm9wZXJ0aWVzIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24g
b2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24s
IEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRv
ckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sIENsYXNzRGVjbGFyYXRpb24s
IENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9u
RXhwcmVzc2lvbiwgb3IgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0
aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4gQnVpbHQtaW4g
ZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNv
bnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRv
ciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVu
Y3Rpb24gY29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBt
ZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24gcHJvcGVydGllcy4K
KyAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMg
Y29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdAorICAgIG5vdCBiZSBjcmVhdGVk
IHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2gg
b3duIHByb3BlcnRpZXMgYWxzbworICAgIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9u
IG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9u
LAorICAgIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dl
bmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sCisgICAgQ2xhc3NE
ZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFz
eW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvcgorICAgIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRs
ZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2Rl
IGNvZGUuCisgICAgQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQg
dXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zCisgICAg
Y3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMg
Y3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbgorICAgIGNvbnN0cnVjdG9yLCBhbmQgZnVu
Y3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3Jl
YXRlZCB3aXRoIHN1Y2ggb3duCisgICAgcHJvcGVydGllcy4KIAogLS0tKi8KIApAQCAtMTgsMTYg
KzI3LDEyIEBAIGluZm86IHwKIHZhciBjYWxsQ291bnQgPSAwOwogY2xhc3MgQyB7CiAgIGFzeW5j
IG1ldGhvZCgpIHsKLSAgICB0aGlzLm1ldGhvZC5hcmd1bWVudHM7CisgICAgYXNzZXJ0LnNhbWVW
YWx1ZSh0aGlzLm1ldGhvZC5oYXNPd25Qcm9wZXJ0eSgiYXJndW1lbnRzIiksIGZhbHNlKTsKICAg
ICBjYWxsQ291bnQrKzsKICAgfQogfQogCiBDLnByb3RvdHlwZS5tZXRob2QoKQotICAudGhlbihf
ID0+IHsKLSAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCdmdW5jdGlvbiBzaG91bGQgbm90IGJl
IHJlc29sdmVkJyk7Ci0gIH0sIGVycm9yID0+IGFzc2VydC5zYW1lVmFsdWUoZXJyb3IuY29uc3Ry
dWN0b3IsIFR5cGVFcnJvcikpCiAgIC50aGVuKCgpID0+IHsKLSAgICBhc3NlcnQuc2FtZVZhbHVl
KGNhbGxDb3VudCwgMCwgJ2Z1bmN0aW9uIGJvZHkgaXMgbm90IGV2YWx1YXRlZCcpOwotICB9LCAk
RE9ORSkKLSAgLnRoZW4oJERPTkUsICRET05FKTsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKGNhbGxD
b3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CisgIH0sICRET05FKS50aGVuKCRE
T05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2IxL2Nscy1kZWNsLWFz
eW5jLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2Qv
Zm9yYmlkZGVuLWV4dC9iMS9jbHMtZGVjbC1hc3luYy1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0
LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwppbmRleCA4MzlkNzg4NzRjZmMwODc0Yzk1N2EyNzU4Njgz
MmM5YmI4ZjJlM2UwLi42MWFjMzRmN2I5NTUzNjQ4NDEwZTllMmMxMjY0MzQ4ZDU0NDA0MTJlIDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2FzeW5jLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2IxL2Nscy1kZWNsLWFzeW5jLW1ldGgtZm9yYmlk
ZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kL2ZvcmJpZGRlbi1l
eHQvYjEvY2xzLWRlY2wtYXN5bmMtbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJv
cC1jYWxsZXIuanMKQEAgLTQsMTMgKzQsMjIgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogRm9yYmlk
ZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIgKGNsYXNzIGRlY2xhcmF0aW9uIGFzeW5jIG1ldGhvZCkK
IGVzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9u
Ci1mZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2ZlYXR1cmVzOiBbYXJyb3ctZnVuY3Rpb24s
IGFzeW5jLWZ1bmN0aW9ucywgY2xhc3NdCiBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFz
eW5jXQogaW5mbzogfAogICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRp
ZmllciBDbGFzc1RhaWwKIAogCi0gICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmlu
ZWQgdXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3Qg
bm90IGJlIGNyZWF0ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJn
dW1lbnRzIi4gU3VjaCBvd24gcHJvcGVydGllcyBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9y
IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2RE
ZWZpbml0aW9uLCBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5
bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLCBDbGFzc0Rl
Y2xhcmF0aW9uLCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5
bmNGdW5jdGlvbkV4cHJlc3Npb24sIG9yIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9m
IHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUu
IEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBG
dW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRo
ZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRo
ZSBBc3luY0Z1bmN0aW9uIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcg
dGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duIHBy
b3BlcnRpZXMuCisgICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcg
c3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3QKKyAgICBub3Qg
YmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVu
dHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28KKyAgICBtdXN0IG5vdCBiZSBjcmVhdGVkIGZv
ciBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9k
RGVmaW5pdGlvbiwKKyAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lv
biwgQXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLAor
ICAgIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xh
cmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IKKyAgICBBc3luY0Fycm93RnVuY3Rp
b24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBz
dHJpY3QgbW9kZSBjb2RlLgorICAgIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9u
cyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0
aW9ucworICAgIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMg
ZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24KKyAgICBjb25zdHJ1Y3Rv
ciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qg
bm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93bgorICAgIHByb3BlcnRpZXMuCiAKIC0tLSovCiAK
QEAgLTE4LDE2ICsyNywxMiBAQCBpbmZvOiB8CiB2YXIgY2FsbENvdW50ID0gMDsKIGNsYXNzIEMg
ewogICBhc3luYyBtZXRob2QoKSB7Ci0gICAgdGhpcy5tZXRob2QuY2FsbGVyOworICAgIGFzc2Vy
dC5zYW1lVmFsdWUodGhpcy5tZXRob2QuaGFzT3duUHJvcGVydHkoImNhbGxlciIpLCBmYWxzZSk7
CiAgICAgY2FsbENvdW50Kys7CiAgIH0KIH0KIAogQy5wcm90b3R5cGUubWV0aG9kKCkKLSAgLnRo
ZW4oXyA9PiB7Ci0gICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcignZnVuY3Rpb24gc2hvdWxkIG5v
dCBiZSByZXNvbHZlZCcpOwotICB9LCBlcnJvciA9PiBhc3NlcnQuc2FtZVZhbHVlKGVycm9yLmNv
bnN0cnVjdG9yLCBUeXBlRXJyb3IpKQogICAudGhlbigoKSA9PiB7Ci0gICAgYXNzZXJ0LnNhbWVW
YWx1ZShjYWxsQ291bnQsIDAsICdmdW5jdGlvbiBib2R5IGlzIG5vdCBldmFsdWF0ZWQnKTsKLSAg
fSwgJERPTkUpCi0gIC50aGVuKCRET05FLCAkRE9ORSk7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZShj
YWxsQ291bnQsIDEsICdmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcpOworICB9LCAkRE9ORSkudGhl
bigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVj
bC1hc3luYy1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxl
ci1nZXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2FzeW5jLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWFzeW5jLW1ldGgtZm9yYmlk
ZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42NmUyYWIzNTc1OTUyYjEyOTlmM2NhNDE0ZDMxOWFiZDY2NDAzMGE0Ci0tLSAvZGV2L251bGwK
KysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3lu
Yy1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1hc3luYy1tZXRoLWZvcmJpZGRlbi1l
eHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMKQEAgLTAsMCArMSw2NCBA
QAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxv
d2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dC1pbmRp
cmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5jYXNlCisvLyAtIHNyYy9mdW5jdGlvbi1m
b3Jtcy9mb3JiaWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQtdHdvL2Nscy1kZWNsLWFzeW5jLW1ldGgu
dGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxs
ZXIgKGNsYXNzIGRlY2xhcmF0aW9uIGFzeW5jIG1ldGhvZCkKK2VzaWQ6IHNlYy1jbGFzcy1kZWZp
bml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCitmZWF0dXJlczogW2Fycm93LWZ1
bmN0aW9uLCBhc3luYy1mdW5jdGlvbnMsIGNsYXNzXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3Ry
aWN0LCBhc3luY10KK2luZm86IHwKKyAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGlu
Z0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKworICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVu
ZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVy
IiB0aGUgdmFsdWUgb2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dl
dF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24K
KyAgICBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24g
dGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRdXQorICAgIGF0dHJpYnV0
ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KKworLS0t
Ki8KK3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7Citm
dW5jdGlvbiBpbm5lcigpIHsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBtYXkgZXhpc3QsIGJ1dCBpcyBm
b3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEgc3RyaWN0IGZ1bmN0aW9uIG9i
amVjdAorICByZXR1cm4gaW5uZXIuaGFzT3duUHJvcGVydHkoImNhbGxlciIpCisgICAgPyBpbm5l
ci5jYWxsZXIKKyAgICA6IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Q7Cit9CisK
KwordmFyIGNhbGxDb3VudCA9IDA7CitjbGFzcyBDIHsKKyAgYXN5bmMgbWV0aG9kKCkgeworICAg
IC8qIGltcGxpY2l0IHN0cmljdCAqLworICAgIC8vIFRoaXMgYW5kIHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9uYWwgdmFsdWUgaXMgc2V0IGluIHRoZSB0ZXN0J3MgLmNhc2UgZmlsZS4KKyAgICAvLyBG
b3IgZXZlcnkgdGVzdCB0aGF0IGhhcyBhICJ0cnVlIiB2YWx1ZSBoZXJlLCB0aGVyZSBpcyBhCisg
ICAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBoZXJlLgor
ICAgIC8vIFRoZXkgYXJlIGdlbmVyYXRlZCBmcm9tIHR3byBkaWZmZXJlbnQgY2FzZSBmaWxlcywg
d2hpY2ggdXNlCisgICAgbGV0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKGlubmVyLCAiY2FsbGVyIik7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRv
ci5jb25maWd1cmFibGUgJiYgdHJ1ZSkgeworICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlu
bmVyLCAiY2FsbGVyIiwge2dldCgpe3JldHVybiAxfX0pOworICAgIH0KKyAgICB2YXIgcmVzdWx0
ID0gaW5uZXIoKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJs
ZSAmJiB0cnVlKSB7CisgICAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMg
dGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rp
b24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4gdGhlIHZh
bHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgICAgfQorCisgICAgLy8gIkNBTExFUl9PV05fUFJPUEVS
VFlfRE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAgICAvLyBmb3JiaWRkZW4tZXh0LWluZGlyZWN0
LWFjY2Vzcy1wcm9wLWNhbGxlci5jYXNlCisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24g
b2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAgIC8vIG5hbWVkICJjYWxsZXIi
LCB0aGVuIGl0cyB2YWx1ZSB3aWxsIGJlIHJldHVybmVkLgorICAgIC8vCisgICAgLy8gSWYgdGhl
IGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgICAvLyBvd24gcHJv
cGVydHkgbmFtZWQgImNhbGxlciIsIHRoZW4gdGhlIHN5bWJvbAorICAgIC8vIENBTExFUl9PV05f
UFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qgd2lsbCBiZSByZXR1cm5lZC4KKyAgICBpZiAocmVzdWx0
ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgICBhc3NlcnQu
bm90U2FtZVZhbHVlKHJlc3VsdCwgdGhpcy5tZXRob2QpOworICAgIH0KKyAgICBjYWxsQ291bnQr
KzsKKyAgfQorfQorCitDLnByb3RvdHlwZS5tZXRob2QoKQorICAudGhlbigoKSA9PiB7CisgICAg
YXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcp
OworICB9LCAkRE9ORSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2QvZm9yYmlk
ZGVuLWV4dC9iMi9jbHMtZGVjbC1hc3luYy1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNj
ZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRl
Y2wtYXN5bmMtbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxs
ZXItdmFsdWUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmIwOGI4NGFkZDRhNmM5ZTJmMGU1NjZhMWVmMTczNGIw
YzgwNWVhNAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wt
YXN5bmMtbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXIt
dmFsdWUuanMKQEAgLTAsMCArMSw2NCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkg
Z2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvZnVuY3Rpb24t
Zm9ybXMvZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVl
LmNhc2UKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxl
dC10d28vY2xzLWRlY2wtYXN5bmMtbWV0aC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBG
b3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoY2xhc3MgZGVjbGFyYXRpb24gYXN5bmMgbWV0
aG9kKQorZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWV2YWx1
YXRpb24KK2ZlYXR1cmVzOiBbYXJyb3ctZnVuY3Rpb24sIGFzeW5jLWZ1bmN0aW9ucywgY2xhc3Nd
CitmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3QsIGFzeW5jXQoraW5mbzogfAorICAgIENsYXNz
RGVjbGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllciBDbGFzc1RhaWwKKworCisgICAg
SWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4g
b3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRoYXQgcHJvcGVy
dHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0
IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbgorICAgIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNz
b3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVy
dHkncyBbW0dldF1dCisgICAgYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1
bmN0aW9uIHdoZW4gY2FsbGVkLgorCistLS0qLwordmFyIENBTExFUl9PV05fUFJPUEVSVFlfRE9F
U19OT1RfRVhJU1QgPSBTeW1ib2woKTsKK2Z1bmN0aW9uIGlubmVyKCkgeworICAvLyBUaGlzIHBy
b3BlcnR5IG1heSBleGlzdCwgYnV0IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRo
YXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Qcm9w
ZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlubmVyLmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9QUk9Q
RVJUWV9ET0VTX05PVF9FWElTVDsKK30KKworCit2YXIgY2FsbENvdW50ID0gMDsKK2NsYXNzIEMg
eworICBhc3luYyBtZXRob2QoKSB7CisgICAgLyogaW1wbGljaXQgc3RyaWN0ICovCisgICAgLy8g
VGhpcyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRl
c3QncyAuY2FzZSBmaWxlLgorICAgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUi
IHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBo
YXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20g
dHdvIGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgICBsZXQgZGVzY3JpcHRvciA9
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgICBp
ZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAg
ICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJjYWxsZXIiLCB7dmFsdWU6IDF9KTsKKyAg
ICB9CisgICAgdmFyIHJlc3VsdCA9IGlubmVyKCk7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVz
Y3JpcHRvci5jb25maWd1cmFibGUgJiYgdHJ1ZSkgeworICAgICAgYXNzZXJ0LnNhbWVWYWx1ZShy
ZXN1bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkg
b24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBz
aG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICAgIH0KKworICAgIC8v
ICJDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9tCisgICAgLy8gZm9y
YmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAgIC8vCisgICAg
Ly8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAg
ICAvLyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAg
ICAvLworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZl
IGFuCisgICAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wK
KyAgICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJu
ZWQuCisgICAgaWYgKHJlc3VsdCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElT
VCkgeworICAgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIHRoaXMubWV0aG9kKTsKKyAg
ICB9CisgICAgY2FsbENvdW50Kys7CisgIH0KK30KKworQy5wcm90b3R5cGUubWV0aG9kKCkKKyAg
LnRoZW4oKCkgPT4geworICAgIGFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnZnVuY3Rp
b24gYm9keSBldmFsdWF0ZWQnKTsKKyAgfSwgJERPTkUpLnRoZW4oJERPTkUsICRET05FKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
YXN5bmMtbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wtYXN5bmMtbWV0aC1mb3JiaWRk
ZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kL2ZvcmJpZGRlbi1leHQv
YjIvY2xzLWRlY2wtYXN5bmMtbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9w
LWNhbGxlci5qcwppbmRleCA1ZTVjM2QyYzZiYzNkODAzYzEwNTNjYTg2Nzk5YWU0NzcxMDBmYTA4
Li41MzJkZjgxMmVkZjIzNDZkYTQ0M2RlYTM4ZjczYzY0MDMyMjljODJhIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhv
ZC9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWFzeW5jLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRp
cmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMt
ZGVjbC1hc3luYy1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVy
LmpzCkBAIC00LDE4ICs0LDI0IEBACiAvKi0tLQogZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRl
bnNpb24sIG8uY2FsbGVyIChjbGFzcyBkZWNsYXJhdGlvbiBhc3luYyBtZXRob2QpCiBlc2lkOiBz
ZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgotZmVhdHVy
ZXM6IFthc3luYy1mdW5jdGlvbnNdCitmZWF0dXJlczogW2Fycm93LWZ1bmN0aW9uLCBhc3luYy1m
dW5jdGlvbnMsIGNsYXNzXQogZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0LCBhc3luY10KIGlu
Zm86IHwKICAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xh
c3NUYWlsCiAKIAotICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9u
IG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2Yg
dGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBvciBbW0dldE93blByb3Bl
cnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdC4gSWYgaXQgaXMgYW4g
YWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUg
cHJvcGVydHkncyBbW0dldF1dIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBm
dW5jdGlvbiB3aGVuIGNhbGxlZC4KKyAgICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFu
eSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhl
IHZhbHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRdXSBv
ciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9uCisgICAg
b2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQg
aXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAgICBhdHRyaWJ1dGUgbXVz
dCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQuCiAKIC0tLSovCit2
YXIgQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCA9IFN5bWJvbCgpOwogZnVuY3Rp
b24gaW5uZXIoKSB7Ci0gIC8vIFRoaXMgcHJvcGVydHkgaXMgZm9yYmlkZGVuIGZyb20gaGF2aW5n
IGEgdmFsdWUgdGhhdCBpcyBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0Ci0gIHJldHVybiBpbm5lci5j
YWxsZXI7CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0LCBidXQgaXMgZm9yYmlkZGVuIGZy
b20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKKyAgcmV0
dXJuIGlubmVyLmhhc093blByb3BlcnR5KCJjYWxsZXIiKQorICAgID8gaW5uZXIuY2FsbGVyCisg
ICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUOwogfQogCiAKQEAgLTIzLDE2
ICsyOSwzNiBAQCB2YXIgY2FsbENvdW50ID0gMDsKIGNsYXNzIEMgewogICBhc3luYyBtZXRob2Qo
KSB7CiAgICAgLyogaW1wbGljaXQgc3RyaWN0ICovCi0gICAgaW5uZXIoKS50b1N0cmluZygpOwor
ICAgIC8vIFRoaXMgYW5kIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uYWwgdmFsdWUgaXMgc2V0IGlu
IHRoZSB0ZXN0J3MgLmNhc2UgZmlsZS4KKyAgICAvLyBGb3IgZXZlcnkgdGVzdCB0aGF0IGhhcyBh
ICJ0cnVlIiB2YWx1ZSBoZXJlLCB0aGVyZSBpcyBhCisgICAgLy8gY29ycmVzcG9uZGluZyB0ZXN0
IHRoYXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBoZXJlLgorICAgIC8vIFRoZXkgYXJlIGdlbmVyYXRl
ZCBmcm9tIHR3byBkaWZmZXJlbnQgY2FzZSBmaWxlcywgd2hpY2ggdXNlCisgICAgbGV0IGRlc2Ny
aXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGlubmVyLCAiY2FsbGVyIik7
CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgZmFsc2Up
IHsKKyAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbm5lciwgImNhbGxlciIsIHt9KTsKKyAg
ICB9CisgICAgdmFyIHJlc3VsdCA9IGlubmVyKCk7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVz
Y3JpcHRvci5jb25maWd1cmFibGUgJiYgZmFsc2UpIHsKKyAgICAgIGFzc2VydC5zYW1lVmFsdWUo
cmVzdWx0LCAxLCAnSWYgdGhpcyB0ZXN0IGRlZmluZWQgYW4gb3duICJjYWxsZXIiIHByb3BlcnR5
IG9uIHRoZSBpbm5lciBmdW5jdGlvbiwgdGhlbiBpdCBzaG91bGQgYmUgYWNjZXNzaWJsZSBhbmQg
c2hvdWxkIHJldHVybiB0aGUgdmFsdWUgaXQgd2FzIHNldCB0by4nKTsKKyAgICB9CisKKyAgICAv
LyAiQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCIgaXMgZnJvbQorICAgIC8vIGZv
cmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmNhc2UKKyAgICAvLworICAg
IC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBoYXMgYW4gb3duIHByb3BlcnR5Cisg
ICAgLy8gbmFtZWQgImNhbGxlciIsIHRoZW4gaXRzIHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQuCisg
ICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgRE9FUyBOT1QgaGF2
ZSBhbgorICAgIC8vIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiwgdGhlbiB0aGUgc3ltYm9s
CisgICAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCB3aWxsIGJlIHJldHVy
bmVkLgorICAgIGlmIChyZXN1bHQgIT09IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJ
U1QpIHsKKyAgICAgIGFzc2VydC5ub3RTYW1lVmFsdWUocmVzdWx0LCB0aGlzLm1ldGhvZCk7Cisg
ICAgfQogICAgIGNhbGxDb3VudCsrOwogICB9CiB9CiAKIEMucHJvdG90eXBlLm1ldGhvZCgpCi0g
IC50aGVuKF8gPT4gewotICAgIHRocm93IG5ldyBUZXN0MjYyRXJyb3IoJ2Z1bmN0aW9uIHNob3Vs
ZCBub3QgYmUgcmVzb2x2ZWQnKTsKLSAgfSwgZXJyb3IgPT4gYXNzZXJ0LnNhbWVWYWx1ZShlcnJv
ci5jb25zdHJ1Y3RvciwgVHlwZUVycm9yKSkKICAgLnRoZW4oKCkgPT4gewotICAgIGFzc2VydC5z
YW1lVmFsdWUoY2FsbENvdW50LCAwLCAnZnVuY3Rpb24gYm9keSBpcyBub3QgZXZhbHVhdGVkJyk7
Ci0gIH0sICRET05FKQotICAudGhlbigkRE9ORSwgJERPTkUpOworICAgIGFzc2VydC5zYW1lVmFs
dWUoY2FsbENvdW50LCAxLCAnZnVuY3Rpb24gYm9keSBldmFsdWF0ZWQnKTsKKyAgfSwgJERPTkUp
LnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kL3JldHVybnMtYXN5bmMtYXJyb3ct
cmV0dXJucy1hcmd1bWVudHMtZnJvbS1wYXJlbnQtZnVuY3Rpb24uanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC9yZXR1cm5zLWFz
eW5jLWFycm93LXJldHVybnMtYXJndW1lbnRzLWZyb20tcGFyZW50LWZ1bmN0aW9uLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjJlZTVlZTQ0ZDZmYjJhMmZiNDdjMmJjNWI5MmJhNDUxOWY3YWZjOTgKLS0tIC9kZXYv
bnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2FzeW5jLW1ldGhvZC9yZXR1cm5zLWFzeW5jLWFycm93LXJldHVybnMtYXJndW1lbnRzLWZyb20t
cGFyZW50LWZ1bmN0aW9uLmpzCkBAIC0wLDAgKzEsNDEgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJv
Y2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3Jj
L2FzeW5jLWZ1bmN0aW9ucy9yZXR1cm5zLWFzeW5jLWFycm93LXJldHVybnMtYXJndW1lbnRzLWZy
b20tcGFyZW50LWZ1bmN0aW9uLmNhc2UKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9ldmFsdWF0
aW9uL2FzeW5jLWNsYXNzLWRlY2wtbWV0aG9kLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246
IEFzeW5jIGZ1bmN0aW9uIHJldHVybnMgYW4gYXN5bmMgZnVuY3Rpb24uIChBc3luYyBtZXRob2Qg
YXMgYSBDbGFzc0RlY2xhcmF0aW9uIGVsZW1lbnQpCitlc2lkOiBwcm9kLUFzeW5jTWV0aG9kCitm
ZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9uc10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2lu
Zm86IHwKKyAgICBDbGFzc0VsZW1lbnQgOgorICAgICAgTWV0aG9kRGVmaW5pdGlvbgorCisgICAg
TWV0aG9kRGVmaW5pdGlvbiA6CisgICAgICBBc3luY01ldGhvZAorCisgICAgQXN5bmMgRnVuY3Rp
b24gRGVmaW5pdGlvbnMKKworICAgIEFzeW5jTWV0aG9kIDoKKyAgICAgIGFzeW5jIFtubyBMaW5l
VGVybWluYXRvciBoZXJlXSBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkg
eyBBc3luY0Z1bmN0aW9uQm9keSB9CisKKy0tLSovCitsZXQgY291bnQgPSAwOworCisKK2NsYXNz
IEMgeworICBhc3luYyBtZXRob2QoeCkgeworICAgIGxldCBhID0gYXJndW1lbnRzOworICAgICAg
cmV0dXJuIGFzeW5jICgpID0+IGEgPT09IGFyZ3VtZW50czsKKyAgfQorfQorLy8gU3RvcmVzIGEg
cmVmZXJlbmNlIGBhc3luY0ZuYCBmb3IgY2FzZSBldmFsdWF0aW9uCitsZXQgYyA9IG5ldyBDKCk7
CitsZXQgYXN5bmNGbiA9IGMubWV0aG9kLmJpbmQoYyk7CisKK2FzeW5jRm4oKS50aGVuKHJldEZu
ID0+IHsKKyAgY291bnQrKzsKKyAgcmV0dXJuIHJldEZuKCk7Cit9KS50aGVuKHJlc3VsdCA9PiB7
CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCB0cnVlKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShj
b3VudCwgMSk7Cit9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC9yZXR1cm5z
LWFzeW5jLWFycm93LXJldHVybnMtbmV3dGFyZ2V0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2QvcmV0dXJucy1hc3luYy1hcnJv
dy1yZXR1cm5zLW5ld3RhcmdldC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zODA0OGY3ZmZlZmZjNmJiOTk3MDM1
YTA1YzUxZGFiMTIyN2EyNGQ0Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2QvcmV0dXJucy1hc3luYy1h
cnJvdy1yZXR1cm5zLW5ld3RhcmdldC5qcwpAQCAtMCwwICsxLDQwIEBACisvLyBUaGlzIGZpbGUg
d2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6Cisv
LyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvcmV0dXJucy1hc3luYy1hcnJvdy1yZXR1cm5zLW5ld3Rh
cmdldC5jYXNlCisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvZXZhbHVhdGlvbi9hc3luYy1jbGFz
cy1kZWNsLW1ldGhvZC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBc3luYyBmdW5jdGlv
biByZXR1cm5zIGFuIGFzeW5jIGZ1bmN0aW9uLiAoQXN5bmMgbWV0aG9kIGFzIGEgQ2xhc3NEZWNs
YXJhdGlvbiBlbGVtZW50KQorZXNpZDogcHJvZC1Bc3luY01ldGhvZAorZmVhdHVyZXM6IFthc3lu
Yy1mdW5jdGlvbnNdCitmbGFnczogW2dlbmVyYXRlZCwgYXN5bmNdCitpbmZvOiB8CisgICAgQ2xh
c3NFbGVtZW50IDoKKyAgICAgIE1ldGhvZERlZmluaXRpb24KKworICAgIE1ldGhvZERlZmluaXRp
b24gOgorICAgICAgQXN5bmNNZXRob2QKKworICAgIEFzeW5jIEZ1bmN0aW9uIERlZmluaXRpb25z
CisKKyAgICBBc3luY01ldGhvZCA6CisgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVy
ZV0gUHJvcGVydHlOYW1lICggVW5pcXVlRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlv
bkJvZHkgfQorCistLS0qLworbGV0IGNvdW50ID0gMDsKKworCitjbGFzcyBDIHsKKyAgYXN5bmMg
bWV0aG9kKHgpIHsKKyAgICByZXR1cm4gYXN5bmMgKCkgPT4gbmV3LnRhcmdldDsKKyAgfQorfQor
Ly8gU3RvcmVzIGEgcmVmZXJlbmNlIGBhc3luY0ZuYCBmb3IgY2FzZSBldmFsdWF0aW9uCitsZXQg
YyA9IG5ldyBDKCk7CitsZXQgYXN5bmNGbiA9IGMubWV0aG9kLmJpbmQoYyk7CisKK2FzeW5jRm4o
KS50aGVuKHJldEZuID0+IHsKKyAgY291bnQrKzsKKyAgcmV0dXJuIHJldEZuKCk7Cit9KS50aGVu
KHJlc3VsdCA9PiB7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCB1bmRlZmluZWQpOworICBh
c3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxKTsKK30pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5
bmMtbWV0aG9kL3JldHVybnMtYXN5bmMtYXJyb3cuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC9yZXR1cm5zLWFzeW5jLWFycm93
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmU3YTFiMjcyMzBkOThjZWQ4MzZjYzJhMzZiYjhjZWNhZDllZDFiZWQK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2FzeW5jLW1ldGhvZC9yZXR1cm5zLWFzeW5jLWFycm93LmpzCkBAIC0wLDAgKzEs
NDAgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBm
b2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9yZXR1cm5zLWFzeW5j
LWFycm93LmNhc2UKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9ldmFsdWF0aW9uL2FzeW5jLWNs
YXNzLWRlY2wtbWV0aG9kLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFzeW5jIGZ1bmN0
aW9uIHJldHVybnMgYW4gYXN5bmMgZnVuY3Rpb24uIChBc3luYyBtZXRob2QgYXMgYSBDbGFzc0Rl
Y2xhcmF0aW9uIGVsZW1lbnQpCitlc2lkOiBwcm9kLUFzeW5jTWV0aG9kCitmZWF0dXJlczogW2Fz
eW5jLWZ1bmN0aW9uc10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICBD
bGFzc0VsZW1lbnQgOgorICAgICAgTWV0aG9kRGVmaW5pdGlvbgorCisgICAgTWV0aG9kRGVmaW5p
dGlvbiA6CisgICAgICBBc3luY01ldGhvZAorCisgICAgQXN5bmMgRnVuY3Rpb24gRGVmaW5pdGlv
bnMKKworICAgIEFzeW5jTWV0aG9kIDoKKyAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBo
ZXJlXSBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1bmN0
aW9uQm9keSB9CisKKy0tLSovCitsZXQgY291bnQgPSAwOworCisKK2NsYXNzIEMgeworICBhc3lu
YyBtZXRob2QoeCkgeworICAgIHJldHVybiBhc3luYyAoKSA9PiB4OworICB9Cit9CisvLyBTdG9y
ZXMgYSByZWZlcmVuY2UgYGFzeW5jRm5gIGZvciBjYXNlIGV2YWx1YXRpb24KK2xldCBjID0gbmV3
IEMoKTsKK2xldCBhc3luY0ZuID0gYy5tZXRob2QuYmluZChjKTsKKworYXN5bmNGbigxKS50aGVu
KHJldEZuID0+IHsKKyAgY291bnQrKzsKKyAgcmV0dXJuIHJldEZuKCk7Cit9KS50aGVuKHJlc3Vs
dCA9PiB7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAxKTsKKyAgYXNzZXJ0LnNhbWVWYWx1
ZShjb3VudCwgMSk7Cit9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC9yZXR1
cm5zLWFzeW5jLWZ1bmN0aW9uLXJldHVybnMtYXJndW1lbnRzLWZyb20tb3duLWZ1bmN0aW9uLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9hc3luYy1t
ZXRob2QvcmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1cm5zLWFyZ3VtZW50cy1mcm9tLW93bi1m
dW5jdGlvbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YTg2MmY4NjkwMGVkMjJhZjRkOThlYTNiMWVjZDliOTc0
NzJlOTk2Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9hc3luYy1tZXRob2QvcmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1
cm5zLWFyZ3VtZW50cy1mcm9tLW93bi1mdW5jdGlvbi5qcwpAQCAtMCwwICsxLDQxIEBACisvLyBU
aGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNv
dXJjZXM6CisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvcmV0dXJucy1hc3luYy1mdW5jdGlvbi1y
ZXR1cm5zLWFyZ3VtZW50cy1mcm9tLW93bi1mdW5jdGlvbi5jYXNlCisvLyAtIHNyYy9hc3luYy1m
dW5jdGlvbnMvZXZhbHVhdGlvbi9hc3luYy1jbGFzcy1kZWNsLW1ldGhvZC50ZW1wbGF0ZQorLyot
LS0KK2Rlc2NyaXB0aW9uOiBBc3luYyBmdW5jdGlvbiByZXR1cm5zIGFuIGFzeW5jIGZ1bmN0aW9u
LiAoQXN5bmMgbWV0aG9kIGFzIGEgQ2xhc3NEZWNsYXJhdGlvbiBlbGVtZW50KQorZXNpZDogcHJv
ZC1Bc3luY01ldGhvZAorZmVhdHVyZXM6IFthc3luYy1mdW5jdGlvbnNdCitmbGFnczogW2dlbmVy
YXRlZCwgYXN5bmNdCitpbmZvOiB8CisgICAgQ2xhc3NFbGVtZW50IDoKKyAgICAgIE1ldGhvZERl
ZmluaXRpb24KKworICAgIE1ldGhvZERlZmluaXRpb24gOgorICAgICAgQXN5bmNNZXRob2QKKwor
ICAgIEFzeW5jIEZ1bmN0aW9uIERlZmluaXRpb25zCisKKyAgICBBc3luY01ldGhvZCA6CisgICAg
ICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gUHJvcGVydHlOYW1lICggVW5pcXVlRm9y
bWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQorCistLS0qLworbGV0IGNvdW50
ID0gMDsKKworCitjbGFzcyBDIHsKKyAgYXN5bmMgbWV0aG9kKHgpIHsKKyAgICBsZXQgYSA9IGFy
Z3VtZW50czsKKyAgICAgIHJldHVybiBhc3luYyBmdW5jdGlvbigpIHsgcmV0dXJuIGEgPT09IGFy
Z3VtZW50czsgfTsKKyAgfQorfQorLy8gU3RvcmVzIGEgcmVmZXJlbmNlIGBhc3luY0ZuYCBmb3Ig
Y2FzZSBldmFsdWF0aW9uCitsZXQgYyA9IG5ldyBDKCk7CitsZXQgYXN5bmNGbiA9IGMubWV0aG9k
LmJpbmQoYyk7CisKK2FzeW5jRm4oMSkudGhlbihyZXRGbiA9PiB7CisgIGNvdW50Kys7CisgIHJl
dHVybiByZXRGbigpOworfSkudGhlbihyZXN1bHQgPT4geworICBhc3NlcnQuc2FtZVZhbHVlKHJl
c3VsdCwgZmFsc2UpOworICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxKTsKK30pLnRoZW4oJERP
TkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kL3JldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0dXJu
cy1uZXd0YXJnZXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2FzeW5jLW1ldGhvZC9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLXJldHVybnMtbmV3dGFy
Z2V0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjliOWJkYzljMzMyYjU0NGQ0NTk1YjQyNWU0MGFkMDg3N2Q1ZDE5
NTcKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2FzeW5jLW1ldGhvZC9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLXJldHVybnMt
bmV3dGFyZ2V0LmpzCkBAIC0wLDAgKzEsNDAgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJh
bGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2FzeW5j
LWZ1bmN0aW9ucy9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLXJldHVybnMtbmV3dGFyZ2V0LmNhc2UK
Ky8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9ldmFsdWF0aW9uL2FzeW5jLWNsYXNzLWRlY2wtbWV0
aG9kLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFzeW5jIGZ1bmN0aW9uIHJldHVybnMg
YW4gYXN5bmMgZnVuY3Rpb24uIChBc3luYyBtZXRob2QgYXMgYSBDbGFzc0RlY2xhcmF0aW9uIGVs
ZW1lbnQpCitlc2lkOiBwcm9kLUFzeW5jTWV0aG9kCitmZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9u
c10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICBDbGFzc0VsZW1lbnQg
OgorICAgICAgTWV0aG9kRGVmaW5pdGlvbgorCisgICAgTWV0aG9kRGVmaW5pdGlvbiA6CisgICAg
ICBBc3luY01ldGhvZAorCisgICAgQXN5bmMgRnVuY3Rpb24gRGVmaW5pdGlvbnMKKworICAgIEFz
eW5jTWV0aG9kIDoKKyAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBQcm9wZXJ0
eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CisK
Ky0tLSovCitsZXQgY291bnQgPSAwOworCisKK2NsYXNzIEMgeworICBhc3luYyBtZXRob2QoeCkg
eworICAgIHJldHVybiBhc3luYyBmdW5jdGlvbigpIHsgcmV0dXJuIG5ldy50YXJnZXQ7IH07Cisg
IH0KK30KKy8vIFN0b3JlcyBhIHJlZmVyZW5jZSBgYXN5bmNGbmAgZm9yIGNhc2UgZXZhbHVhdGlv
bgorbGV0IGMgPSBuZXcgQygpOworbGV0IGFzeW5jRm4gPSBjLm1ldGhvZC5iaW5kKGMpOworCith
c3luY0ZuKDEpLnRoZW4ocmV0Rm4gPT4geworICBjb3VudCsrOworICByZXR1cm4gcmV0Rm4oKTsK
K30pLnRoZW4ocmVzdWx0ID0+IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIHVuZGVmaW5l
ZCk7CisgIGFzc2VydC5zYW1lVmFsdWUoY291bnQsIDEpOworfSkudGhlbigkRE9ORSwgJERPTkUp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9hc3luYy1tZXRob2QvcmV0dXJucy1hc3luYy1mdW5jdGlvbi5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kL3JldHVybnMt
YXN5bmMtZnVuY3Rpb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjE4NzIzNzNiY2YwYmRiNmU3ODc1OGJjYjI3
NDA2MmIyMjk4Y2EyNgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvYXN5bmMtbWV0aG9kL3JldHVybnMtYXN5bmMtZnVuY3Rp
b24uanMKQEAgLTAsMCArMSw0MCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2Vu
ZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvYXN5bmMtZnVuY3Rp
b25zL3JldHVybnMtYXN5bmMtZnVuY3Rpb24uY2FzZQorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25z
L2V2YWx1YXRpb24vYXN5bmMtY2xhc3MtZGVjbC1tZXRob2QudGVtcGxhdGUKKy8qLS0tCitkZXNj
cmlwdGlvbjogQXN5bmMgZnVuY3Rpb24gcmV0dXJucyBhbiBhc3luYyBmdW5jdGlvbi4gKEFzeW5j
IG1ldGhvZCBhcyBhIENsYXNzRGVjbGFyYXRpb24gZWxlbWVudCkKK2VzaWQ6IHByb2QtQXN5bmNN
ZXRob2QKK2ZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIGFz
eW5jXQoraW5mbzogfAorICAgIENsYXNzRWxlbWVudCA6CisgICAgICBNZXRob2REZWZpbml0aW9u
CisKKyAgICBNZXRob2REZWZpbml0aW9uIDoKKyAgICAgIEFzeW5jTWV0aG9kCisKKyAgICBBc3lu
YyBGdW5jdGlvbiBEZWZpbml0aW9ucworCisgICAgQXN5bmNNZXRob2QgOgorICAgICAgYXN5bmMg
W25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIFByb3BlcnR5TmFtZSAoIFVuaXF1ZUZvcm1hbFBhcmFt
ZXRlcnMgKSB7IEFzeW5jRnVuY3Rpb25Cb2R5IH0KKworLS0tKi8KK2xldCBjb3VudCA9IDA7CisK
KworY2xhc3MgQyB7CisgIGFzeW5jIG1ldGhvZCh4KSB7CisgICAgcmV0dXJuIGFzeW5jIGZ1bmN0
aW9uKCkgeyByZXR1cm4geDsgfTsKKyAgfQorfQorLy8gU3RvcmVzIGEgcmVmZXJlbmNlIGBhc3lu
Y0ZuYCBmb3IgY2FzZSBldmFsdWF0aW9uCitsZXQgYyA9IG5ldyBDKCk7CitsZXQgYXN5bmNGbiA9
IGMubWV0aG9kLmJpbmQoYyk7CisKK2FzeW5jRm4oMSkudGhlbihyZXRGbiA9PiB7CisgIGNvdW50
Kys7CisgIHJldHVybiByZXRGbigpOworfSkudGhlbihyZXN1bHQgPT4geworICBhc3NlcnQuc2Ft
ZVZhbHVlKHJlc3VsdCwgMSk7CisgIGFzc2VydC5zYW1lVmFsdWUoY291bnQsIDEpOworfSkudGhl
bigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVy
dHktbmFtZS1mcm9tLWFkZGl0aXZlLWV4cHJlc3Npb24tYWRkLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFkZGl0aXZlLWV4cHJlc3Npb24tYWRkLmpzCmluZGV4
IGMzOWMzNzQ3NDEzYTk4MDY2NjVhMDA4ODgxMzBmNDE0M2QwNTViYmIuLjJlMTA0ZmJjMmZiYzMx
ZGQ4ZTI1N2I5ODBhYmI4OTA4ZTFjOTkyYWYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1leHByZXNzaW9uLWFkZC5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1k
ZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lv
bi1hZGQuanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENvbXB1dGVkIHBy
b3BlcnR5IG5hbWUgZnJvbSBhZGRpdGl2ZSBleHByZXNzaW9uICJhZGQiIChDb21wdXRlZFByb3Bl
cnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlO
YW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21w
dXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZp
ZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJl
c3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZy
b20tYWRkaXRpdmUtZXhwcmVzc2lvbi1zdWJ0cmFjdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVk
LXByb3BlcnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1leHByZXNzaW9uLXN1YnRyYWN0LmpzCmluZGV4
IDhjZjQwNmEwNTUxNzcwNzAyMTBhZmExY2E2NzRhNzczYzgxYjBmMTguLjk2MTZkOTNhNTRkNjQ1
MWRjZjAxOGY3ODFiNTVhNzU0NmNiNzc4MGMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1leHByZXNzaW9uLXN1YnRyYWN0LmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNs
YXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1leHBy
ZXNzaW9uLXN1YnRyYWN0LmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBD
b21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gYWRkaXRpdmUgZXhwcmVzc2lvbiAic3VidHJhY3Qi
IChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNv
bXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQor
ZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywg
Y2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwK
ICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1w
cm9wZXJ0eS1uYW1lLWZyb20tYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lvbi5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmll
bGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hcnJvdy1mdW5jdGlvbi1leHByZXNzaW9u
LmpzCmluZGV4IDVhZmRlMGE4OGFlZTAzODMxZThlOTkyNWIxOWQ0OTIyMGNjMzA0NmEuLjIzNTVj
MDAzNWRmOGQ3ZWFkZDViYjFkMzE4MzQ1NjUxOWQ4OWQyYzkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmll
bGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hcnJvdy1mdW5jdGlvbi1leHByZXNzaW9u
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
Y3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hcnJvdy1m
dW5jdGlvbi1leHByZXNzaW9uLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9u
OiBDb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gYXJyb3cgZnVuY3Rpb24gKENvbXB1dGVkUHJv
cGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0
eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczogW2Nv
bXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMt
ZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNzRXhw
cmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUt
ZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYXNzaWdubWVudC5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNv
bXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYXNzaWdubWVu
dC5qcwppbmRleCAyZjE1NjYzZjAyODU5Y2ZlN2QyNGZjMTdkYmJkZTk5MDQ2YWY3NTYzLi5mM2Q0
MzBlNTIyMjI2Zjk2ZWE4YWFiMmY2NmE1N2ViYjJjYTE0YWI4IDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZp
ZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWFz
c2lnbm1lbnQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1hc3NpZ25tZW50LmpzCkBAIC00LDcgKzQsNyBAQAogLyot
LS0KIGRlc2NyaXB0aW9uOiBDb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gYXNzaWdubWVudCBl
eHByZXNzaW9uIChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lk
OiBwcm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5
LW5hbWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRz
LXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0K
IGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWJpdHdpc2Ut
b3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nw
bi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVu
dC1leHByZXNzaW9uLWJpdHdpc2Utb3IuanMKaW5kZXggYWVlMjc3MjIxY2EwMzdhYTgxNjk3YTg1
MzY5ODIxZDE5NmI4Mzg5ZS4uZDRlZmE3MWUwOWNiYmU3NDdjMmNhZDY0ODc3NzkxNzBjYWQ4ODE2
YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFz
c2lnbm1lbnQtZXhwcmVzc2lvbi1iaXR3aXNlLW9yLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYml0d2lzZS1vci5q
cwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkg
bmFtZSBmcm9tIGFzc2lnbm1lbnQgZXhwcmVzc2lvbiBiaXR3aXNlIG9yIChDb21wdXRlZFByb3Bl
cnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlO
YW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21w
dXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZp
ZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJl
c3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZy
b20tYXNzaWdubWVudC1leHByZXNzaW9uLWNvYWxlc2NlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0
ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1jb2FsZXNjZS5qcwpp
bmRleCBjZDc4OGU0MjM1ZWExZGIyZDY5NjJjMjRjMmYyNzNhMWRkN2M2ZDllLi40MDQ0OTdjODRj
MzA1ZDc3ODM5ZTQ2NGFkZjgyZDljN2M5NTE0YjFmIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWNvYWxlc2Nl
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
Y3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25t
ZW50LWV4cHJlc3Npb24tY29hbGVzY2UuanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3Jp
cHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBhc3NpZ25tZW50IGV4cHJlc3Npb24g
Y29hbGVzY2UgKENvbXB1dGVkUHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6
IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHkt
bmFtZXNdCitmZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMt
cHVibGljLCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQog
aW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNv
bXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tbG9naWNhbC1h
bmQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nw
bi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVu
dC1leHByZXNzaW9uLWxvZ2ljYWwtYW5kLmpzCmluZGV4IGE3YmUyYWIxMzdmMzJjY2MxNDMzMTUw
YWMyYTNiMjQyNWEzOWRjODguLmYwNzcyMTA1NTY3ODU4YmJiMzVmYTBhMzA5MmVkNmExZTcyM2My
ZDcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1h
c3NpZ25tZW50LWV4cHJlc3Npb24tbG9naWNhbC1hbmQuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dpY2FsLWFu
ZC5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVy
dHkgbmFtZSBmcm9tIGFzc2lnbm1lbnQgZXhwcmVzc2lvbiBsb2dpY2FsIGFuZCAoQ29tcHV0ZWRQ
cm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3Bl
cnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBb
Y29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRp
Yy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NF
eHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dpY2FsLW9yLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dpY2Fs
LW9yLmpzCmluZGV4IDM2ZWUwNmI5MTZiMjIzYjE5MzNmNGY3Yjg3ZjgzYjMzNDU0NDcyZWYuLmFh
OGFhOTk5ZjNmMjRlOWY1ZDU4ZDYwMTQ3NWIzNWY1ZjQyNWUxNTIgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wt
ZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24t
bG9naWNhbC1vci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZy
b20tYXNzaWdubWVudC1leHByZXNzaW9uLWxvZ2ljYWwtb3IuanMKQEAgLTQsNyArNCw3IEBACiAv
Ki0tLQogZGVzY3JpcHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBhc3NpZ25tZW50
IGV4cHJlc3Npb24gbG9naWNhbCBvciAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHBy
ZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtjb21w
dXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXMs
IGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxhZ3M6
IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3Mt
ZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzeW5jLWFycm93LWZ1bmN0
aW9uLWV4cHJlc3Npb24uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZy
b20tYXN5bmMtYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwppbmRleCBlZDU1ZmFlNmVhMGE3
M2M3M2NkNmU2MGJiZTQzNTM2MjE5ZmFmNmMzLi5lZjBkNjg2MzEwYTE4ZWI0NzM1OWI3OWNiYzIx
ZGFmODRiMDZlZWU1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20tYXN5bmMtYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lvbi5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZp
ZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXN5bmMtYXJyb3ctZnVuY3Rpb24tZXhw
cmVzc2lvbi5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQg
cHJvcGVydHkgbmFtZSBmcm9tIGZ1bmN0aW9uIGV4cHJlc3Npb24gKENvbXB1dGVkUHJvcGVydHlO
YW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUK
LWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczogW2NvbXB1dGVk
LXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMtZmllbGRz
LXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lv
bjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1h
d2FpdC1leHByZXNzaW9uLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLWF3YWl0LWV4cHJlc3Npb24uanMKaW5kZXggNjkyZjZmMmRiMTdjYjEyYjdkNTUxMDY1NjQ0
MWNlOThlMDUxOTViYi4uMjMyNjg0YWEzNmNiODEwY2NjYzhmZjFhMTEyMjYxYjA3NjMyZjlhNCAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWF3YWl0
LWV4cHJlc3Npb24uanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLWF3YWl0LWV4cHJlc3Npb24uanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRp
b246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBjb25kaXRpb24gZXhwcmVzc2lvbiAoQ29t
cHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRl
ZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgdG9wLWxl
dmVsLWF3YWl0XQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgdG9wLWxldmVs
LWF3YWl0LCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1YmxpY10K
IGZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luYywgbW9kdWxlXQogaW5mbzogfAogICAgIENsYXNzRXhw
cmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUt
ZnJvbS1jb25kaXRpb24tZXhwcmVzc2lvbi1mYWxzZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVk
LXByb3BlcnR5LW5hbWUtZnJvbS1jb25kaXRpb24tZXhwcmVzc2lvbi1mYWxzZS5qcwppbmRleCBl
ZjA3MGFlNWNhMDdiZDE0N2RjOTg1NmU1MjJhOWJmNjExZDczMjBmLi42OGYyMTczNzA5MDU5ODk0
MWVjOTA0YTExYzk1ZmE3ODZiNDhkYjAwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tY29uZGl0aW9uLWV4cHJlc3Npb24tZmFsc2UuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3Mt
ZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWNvbmRpdGlvbi1leHByZXNz
aW9uLWZhbHNlLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBDb21wdXRl
ZCBwcm9wZXJ0eSBuYW1lIGZyb20gY29uZGl0aW9uIGV4cHJlc3Npb24gKENvbXB1dGVkUHJvcGVy
dHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5h
bWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczogW2NvbXB1
dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMtZmll
bGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNzRXhwcmVz
c2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1jb25kaXRpb24tZXhwcmVzc2lvbi10cnVlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLWNvbmRpdGlvbi1leHByZXNzaW9uLXRydWUuanMKaW5kZXggYzVjZWZj
MTAxMjliNjcwYjcxY2Q4ZjVhOGNmYTNhOTgzN2U2NDc3Mi4uMWVlOTBjM2MxODIxNmRkNDJlZDdh
ZGY2ZWNjNTc4YzgyY2U3ZTc2ZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLWNvbmRpdGlvbi1leHByZXNzaW9uLXRydWUuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1m
aWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWNvbmRpdGlvbi1leHByZXNzaW9uLXRy
dWUuanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENvbXB1dGVkIHByb3Bl
cnR5IG5hbWUgZnJvbSBjb25kaXRpb24gZXhwcmVzc2lvbiAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUg
aW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVh
dHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJv
cGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVi
bGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWRlY2lt
YWwtZS1ub3RhdGlvbmFsLWxpdGVyYWwuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tZGVjaW1hbC1lLW5vdGF0aW9uYWwtbGl0ZXJhbC5qcwppbmRleCBkOTY5ZDQ0
OWU4MzE0N2Q0OTc4ZTVkMTcyNGIyNjQxZTZkODVjMDdkLi5jZTVlYWE2NjU3NGE4ZWE1NzFhMDhj
ZThjOTI4Nzk1NTc3NDYxNzAyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lLWZyb20tZGVjaW1hbC1lLW5vdGF0aW9uYWwtbGl0ZXJhbC5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNs
LWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZGVjaW1hbC1lLW5vdGF0aW9uYWwt
bGl0ZXJhbC5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQg
cHJvcGVydHkgbmFtZSBmcm9tIGRlY2ltYWwgZSBub3RhdGlvbmFsIGxpdGVyYWwgKENvbXB1dGVk
UHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9w
ZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczog
W2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0
aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNz
RXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1kZWNpbWFsLWxpdGVyYWwuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tZGVjaW1hbC1saXRlcmFsLmpzCmluZGV4IDU5MTI1MzM4NGU1ODlkNGM3MWFh
NGE2ZjFjNGIyZDdjMTE2NWIwNmMuLjI4MDg4NzU5YzRjZTlmMWMxNWE3MDlhMGMwMDg5NjJhMTA2
NWIwY2YgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1kZWNpbWFsLWxpdGVyYWwuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHkt
bmFtZS1mcm9tLWRlY2ltYWwtbGl0ZXJhbC5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNj
cmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIGRlY2ltYWwgbGl0ZXJhbCAoQ29t
cHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRl
ZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1
cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNz
LXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAg
Q2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVy
dHktbmFtZS1mcm9tLWV4cG9uZXRpYXRpb24tZXhwcmVzc2lvbi5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNv
bXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHBvbmV0aWF0aW9uLWV4cHJlc3Npb24uanMKaW5k
ZXggNjcxNGQwMDAwNWIzYzM2MWQ2MTc2YzhkOTVjYjJjMWVjYmY0OTA0OS4uYTAwYzhkY2YwYjBj
ODdiMGQ5NTFhNmY1NTcyZDQ3NDBjZTIzYTA0OSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cG9uZXRpYXRpb24tZXhwcmVzc2lvbi5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFz
cy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwb25ldGlhdGlvbi1l
eHByZXNzaW9uLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBDb21wdXRl
ZCBwcm9wZXJ0eSBuYW1lIGZyb20gZXhwb25lbnRpYXRpb24gZXhwcmVzc2lvbiAoQ29tcHV0ZWRQ
cm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3Bl
cnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBb
Y29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRp
Yy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NF
eHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLWV4cHJlc3Npb24tY29hbGVzY2UuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1jb2FsZXNjZS5qcwppbmRleCAwZTVhMzllNjViNTg2
Mzk2ZTc0NjZlOTgyY2Y2ZTczNjEyMzMwYjUyLi45YTg1NThkNjk5ZGM0MzA0ODI3NjU4OGJiZDE1
YTc4NDkwNmI5ZGE5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20tZXhwcmVzc2lvbi1jb2FsZXNjZS5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1jb2FsZXNjZS5qcwpAQCAtNCw3ICs0LDcg
QEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIGNvYWxl
c2NlIChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9k
LUNvbXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVz
XQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1Ymxp
YywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86
IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmll
bGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNzaW9uLWxvZ2ljYWwtYW5kLmpz
CmluZGV4IDg3ZTYzZmI4OTNmM2NmOTRjZWY4YjkzZTJjNTEyNzE5Y2E0MzIwY2MuLmQ2OTYyODY3
NDA0ZTVlMWVlZDE2NTFmZjk1Y2YzOTA1NzM2MjMzZWEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRz
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNzaW9uLWxvZ2ljYWwtYW5kLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNs
YXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNzaW9uLWxv
Z2ljYWwtYW5kLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBDb21wdXRl
ZCBwcm9wZXJ0eSBuYW1lIGZyb20gbG9naWNhbCBhbmQgKENvbXB1dGVkUHJvcGVydHlOYW1lIGlu
IENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZlYXR1
cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczogW2NvbXB1dGVkLXByb3Bl
cnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1Ymxp
Y10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbjoKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
Y3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNz
aW9uLWxvZ2ljYWwtb3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZy
b20tZXhwcmVzc2lvbi1sb2dpY2FsLW9yLmpzCmluZGV4IDcyOTJkYWY3MGRlZDg3ZjA5Yjg0NDcz
NWVmZDExOTYxMjY3ZTA2YzAuLmEwNjRjMzBjNmMyMWFiZTJjZTY4Y2JjYmE4NDEzNDkxNjdmZDQ2
MzIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1l
eHByZXNzaW9uLWxvZ2ljYWwtb3IuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVy
dHktbmFtZS1mcm9tLWV4cHJlc3Npb24tbG9naWNhbC1vci5qcwpAQCAtNCw3ICs0LDcgQEAKIC8q
LS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIGxvZ2ljYWwgb3Ig
KENvbXB1dGVkUHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29t
cHV0ZWRQcm9wZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitm
ZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBj
bGFzcy1zdGF0aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAog
ICAgIENsYXNzRXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNv
bXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qcwppbmRleCAx
YzZiZWZiY2RhODdjMWIzOTUxZDg3NWU1OGQzMGFjNzlmZDVhNzYxLi5iMTQ5OTg5NjY2YTZlMzcx
YmJlMmE1NmY4ZTcxYzQwZWY5YTBmZjQ5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tZnVuY3Rpb24tZGVjbGFyYXRpb24uanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1m
aWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpz
CkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBDb21wdXRlZCBwcm9wZXJ0eSBu
YW1lIGZyb20gZnVuY3Rpb24gKENvbXB1dGVkUHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lv
bikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQt
cHJvcGVydHktbmFtZXNdCitmZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFz
cy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2Vu
ZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wt
ZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1leHByZXNzaW9uLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xh
c3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWZ1bmN0aW9uLWV4cHJl
c3Npb24uanMKaW5kZXggNzlmNmNmYjIzZGE2N2RmMjRkZDNjMTY1ZjMxY2QxZTYxMGVhMWI1MC4u
Y2QwNWYzNDgzZTNmNTZiNmVmNjU1ZWZiMTcwMzM1MjQ4NDliMDk0NCAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVj
bC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWZ1bmN0aW9uLWV4cHJlc3Npb24u
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9j
cG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWZ1bmN0aW9u
LWV4cHJlc3Npb24uanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENvbXB1
dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBmdW5jdGlvbiBleHByZXNzaW9uIChDb21wdXRlZFByb3Bl
cnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlO
YW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21w
dXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZp
ZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJl
c3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZy
b20tZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0
ZWQtcHJvcGVydHktbmFtZS1mcm9tLWdlbmVyYXRvci1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qcwpp
bmRleCA5NzU1YmUyOWVmMmFkYTU1Y2E3ZWYyOWM4NTAyMWRkNTI5ZmFlMzU3Li5jN2RkYzRjMGE1
NmVkMzFmZmI2ZDQxZDg2ODIzZTQ1ZTlkNzllYzAxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlY2xhcmF0aW9u
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
Y3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1nZW5lcmF0
b3ItZnVuY3Rpb24tZGVjbGFyYXRpb24uanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3Jp
cHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBnZW5lcmF0b3IgZnVuY3Rpb24gKENv
bXB1dGVkUHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0
ZWRQcm9wZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0
dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFz
cy1zdGF0aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAg
IENsYXNzRXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3Bl
cnR5LW5hbWUtZnJvbS1pZGVudGlmaWVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVy
dHktbmFtZS1mcm9tLWlkZW50aWZpZXIuanMKaW5kZXggMDI1OWM2NGU3MmM3NzY4NzIyMzllNGI2
ZjJmZGVjNDM2Yjc2MTFmYy4uMmY4OWMxYzVjYzIyZGQxMGZjMjE3NTBjYmEwN2M3ZGM4NDgwZWJl
NiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWlk
ZW50aWZpZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LWlkZW50aWZpZXIuanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENvbXB1
dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBzdHJpbmcgbGl0ZXJhbCAoQ29tcHV0ZWRQcm9wZXJ0eU5h
bWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQot
ZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQt
cHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMt
cHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9u
OgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWlu
dGVnZXItZS1ub3RhdGlvbmFsLWxpdGVyYWwuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lLWZyb20taW50ZWdlci1lLW5vdGF0aW9uYWwtbGl0ZXJhbC5qcwppbmRleCBlZWI2
NzU1MzhkNDYyODY5OGNjMGY1ZDY0NjI3NDQ3MGQ4MzY4ODM4Li40ODhmZmYxNzNlNjQ1MTM3YjU3
OTlmNjQ2YWVlOGFmNWM5NmE4YTE5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1w
cm9wZXJ0eS1uYW1lLWZyb20taW50ZWdlci1lLW5vdGF0aW9uYWwtbGl0ZXJhbC5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1k
ZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20taW50ZWdlci1lLW5vdGF0aW9u
YWwtbGl0ZXJhbC5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0
ZWQgcHJvcGVydHkgbmFtZSBmcm9tIG51bWVyaWMgbGl0ZXJhbCAoQ29tcHV0ZWRQcm9wZXJ0eU5h
bWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQot
ZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQt
cHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMt
cHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9u
OgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWlu
dGVnZXItc2VwYXJhdG9ycy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUt
ZnJvbS1pbnRlZ2VyLXNlcGFyYXRvcnMuanMKaW5kZXggNmEyZjVlZGY3ZTUyNzliOTU5ZGY1MTEy
ZDNhMTdmYTVhOTRiMmM2Zi4uMjA4YTZhNDkzMTgyZmI2OGZiM2FjYzQyZTNhMTRmODk0ZjQ3OTZm
ZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWlu
dGVnZXItc2VwYXJhdG9ycy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20taW50ZWdlci1zZXBhcmF0b3JzLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRl
c2NyaXB0aW9uOiBDb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gaW50ZWdlciB3aXRoIHNlcGFy
YXRvcnMgKENvbXB1dGVkUHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHBy
b2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFt
ZXNdCitmZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVi
bGljLCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5m
bzogfAogICAgIENsYXNzRXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1tYXRoLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLW1hdGguanMKaW5kZXggMzAxZDYyZTYzNTU5NTQ4ODkzZTFlYTRjNGNj
NzhmNmRjNjVkZDNlOS4uYzUxMmNiMDY5ZDZhMmNmZjc0NDVjZTRiZWU1ZWYzYjlkMmY3ODIxOSAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW1hdGgu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9j
cG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW1hdGguanMK
QEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5h
bWUgZnJvbSBtYXRoIChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBl
c2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3Bl
cnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmll
bGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRl
ZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxk
cy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbi1k
aXYuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nw
bi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbXVsdGlwbGlj
YXRpdmUtZXhwcmVzc2lvbi1kaXYuanMKaW5kZXggZWZjMzA1YzVlNjJiMTEyYTAxYzJmOTFhYWM1
MzJjZmYyNTg1MTY4YS4uNWYxMzU2NTJjYTBjZTM2NTU0Y2M0ZGViODQzODcwOWFmNDg0MTk2ZSAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW11bHRp
cGxpY2F0aXZlLWV4cHJlc3Npb24tZGl2LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLWRpdi5qcwpAQCAtNCw3
ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9t
IG11bHRpcGxpY2F0aXZlIGV4cHJlc3Npb24gImRpdmlkZSIgKENvbXB1dGVkUHJvcGVydHlOYW1l
IGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZl
YXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczogW2NvbXB1dGVkLXBy
b3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1
YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbjoK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1tdWx0
aXBsaWNhdGl2ZS1leHByZXNzaW9uLW11bHQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lLWZyb20tbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbi1tdWx0LmpzCmluZGV4IDRj
NWM4ZDEzMWNkOTZmMzdkNWE2ZmM3MTU0MGMzNmY3MGU0YmZhZGEuLjg3M2M5N2UyZDgxNTliMThi
NmE3MzgyNjExOGUwOWM1NGQxYWFlMDQgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVk
LXByb3BlcnR5LW5hbWUtZnJvbS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLW11bHQuanMKKysr
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xh
c3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW11bHRpcGxpY2F0aXZl
LWV4cHJlc3Npb24tbXVsdC5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjog
Q29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIG11bHRpcGxpY2F0aXZlIGV4cHJlc3Npb24gIm11
bHRpcGx5IiAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDog
cHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1u
YW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1w
dWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBp
bmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW51bGwuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1w
cm9wZXJ0eS1uYW1lLWZyb20tbnVsbC5qcwppbmRleCBlNWUxNmYzOTA1Y2EzY2YzN2IwZDMxYjg1
MGVjOTJmZTE2NzExZWNmLi5iMDRjMGQ1MmZhZTI3MzUzYzQ0OTJmOTBlMWRjM2ZjMDcxZTgyOWQ0
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbnVs
bC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbnVsbC5q
cwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkg
bmFtZSBmcm9tIGNvbmRpdGlvbiBleHByZXNzaW9uIChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBD
bGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJl
czogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0
eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNd
CiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nw
bi1jbGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbnVtZXJpYy1s
aXRlcmFsLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW51bWVy
aWMtbGl0ZXJhbC5qcwppbmRleCAzY2M1YTE3MmZiZDM4MWM2Zjk2MWRlMmNiNDM4N2JlYWIyZDY0
MDc2Li4xNGFiNmY4NzRkMmRhZjUxNDNlNjU1MzgyODZhNWVjYTQ1MDBlZjRmIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFz
cy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbnVtZXJpYy1saXRlcmFs
LmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
Y3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1udW1lcmlj
LWxpdGVyYWwuanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENvbXB1dGVk
IHByb3BlcnR5IG5hbWUgZnJvbSBudW1lcmljIGxpdGVyYWwgKENvbXB1dGVkUHJvcGVydHlOYW1l
IGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZl
YXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczogW2NvbXB1dGVkLXBy
b3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1
YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbjoK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1zdHJp
bmctbGl0ZXJhbC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1z
dHJpbmctbGl0ZXJhbC5qcwppbmRleCA1NTRmMTM0YTUxNDE0NTdjNWIxMmMyNjZjMDFlMDgyMzZj
YzBiYjBlLi5hMDFmY2ZhYWJiOWFlNWM4MmRiZWMwMTdhY2FhNTRkOTcwYTkyNDNiIDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1j
bGFzcy1kZWNsLWZpZWxkcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tc3RyaW5nLWxpdGVy
YWwuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLXN0cmlu
Zy1saXRlcmFsLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBDb21wdXRl
ZCBwcm9wZXJ0eSBuYW1lIGZyb20gc3RyaW5nIGxpdGVyYWwgKENvbXB1dGVkUHJvcGVydHlOYW1l
IGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZl
YXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczogW2NvbXB1dGVkLXBy
b3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1
YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbjoK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS15aWVs
ZC1leHByZXNzaW9uLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LXlpZWxkLWV4cHJlc3Npb24uanMKaW5kZXggNTQ3MWNjNzA4YjQ2MWU0MjFkNjFlN2FlNGQ2ODRl
NWE4MWZlZjExNC4uOTU5ZmUzYmIyZDk5ZWRlOTkwZDY2ZTg1ODRkOThiN2QxOTIzZTgyYiAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9j
cG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLXlpZWxkLWV4
cHJlc3Npb24uanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LXlpZWxkLWV4cHJlc3Npb24uanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246
IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSB5aWVsZCBleHByZXNzaW9uIChDb21wdXRlZFBy
b3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVy
dHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtj
b21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGlj
LWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4
cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3Bl
cnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1leHByZXNzaW9uLWFkZC5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1l
dGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFkZGl0aXZlLWV4cHJlc3Npb24tYWRk
LmpzCmluZGV4IDZkZjNlMzI4OTM1MGEyYzRlYWYxMTNlZDk3MjRjN2NmOWU4NWYxNzMuLjE2MGU3
MGJlNjQ4MjFiOTE0MWQ2MWU4MWNkNTQ5OTZkMTNkZWY2YTcgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmll
bGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFkZGl0aXZlLWV4cHJlc3Np
b24tYWRkLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLWFkZGl0aXZlLWV4cHJlc3Npb24tYWRkLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0K
IGRlc2NyaXB0aW9uOiBDb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gYWRkaXRpdmUgZXhwcmVz
c2lvbiAiYWRkIiAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNp
ZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0
eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxk
cy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRd
CiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMt
bWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lvbi1z
dWJ0cmFjdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLWFkZGl0aXZlLWV4cHJlc3Npb24tc3VidHJhY3QuanMKaW5kZXggMWQwZjY0YzhiNDNkYzdh
MGYwMTM3MjJiZGQ4NzJjYWM5YTdmZWQwYy4uMmE4MjYwZDczMDYxYmNkMjFhOGNmOTRjZGU3N2U2
MWQ1YmJmYzRhOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lLWZyb20tYWRkaXRpdmUtZXhwcmVzc2lvbi1zdWJ0cmFjdC5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNs
LWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hZGRpdGl2ZS1leHBy
ZXNzaW9uLXN1YnRyYWN0LmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBD
b21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gYWRkaXRpdmUgZXhwcmVzc2lvbiAic3VidHJhY3Qi
IChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNv
bXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQor
ZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywg
Y2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwK
ICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNv
bXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hcnJvdy1mdW5jdGlvbi1leHByZXNzaW9uLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3Mt
ZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXJyb3ctZnVu
Y3Rpb24tZXhwcmVzc2lvbi5qcwppbmRleCAzNzhmOGZlNGFlMDlkZjAxMTIxMTgwNWYyMTIwMzc3
YTY3NjViODUxLi45ZjBlZjIzYzBlYTExYjNmZjE5NTYxZGNmYzBiZDI1OWRhYWE1ZDk5IDEwMDY0
NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nw
bi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1h
cnJvdy1mdW5jdGlvbi1leHByZXNzaW9uLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFycm93LWZ1bmN0aW9uLWV4cHJlc3Npb24uanMKQEAg
LTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUg
ZnJvbSBhcnJvdyBmdW5jdGlvbiAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNz
aW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNs
YXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtn
ZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVj
bC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1l
eHByZXNzaW9uLWFzc2lnbm1lbnQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYXNzaWdubWVudC5qcwppbmRl
eCA0NTk5NGYxOGVkOTJkODU2YWYzYmYxNzAxYzU1NDlhMjQ2ZDJlN2RhLi41ODM0ZjQ4MTJiNDY3
NmE5Y2Y4OGI5MDkwZmI3ODZhYzRhZjhhY2E3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRo
b2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYXNz
aWdubWVudC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYXNzaWdubWVudC5qcwpAQCAtNCw3ICs0LDcg
QEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIGFzc2ln
bm1lbnQgZXhwcmVzc2lvbiAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNzaW9u
KQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRlZC1w
cm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNsYXNz
LWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtnZW5l
cmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1m
aWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHBy
ZXNzaW9uLWJpdHdpc2Utb3IuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3Bl
cnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYml0d2lzZS1vci5qcwppbmRleCBi
YTE1OGZjMjg3M2FkYmE5OWNmNjczOTgwZGE4Yjg1ZDE1MjBhNWNjLi5lMTk4YWIxNDc5OWNjMTUy
NDYxMjBkZGUyMDgyMTU3NTUwNzQ0NDQxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2Rz
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYml0d2lz
ZS1vci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUt
ZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tYml0d2lzZS1vci5qcwpAQCAtNCw3ICs0LDcgQEAK
IC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIGFzc2lnbm1l
bnQgZXhwcmVzc2lvbiBiaXR3aXNlIG9yIChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4
cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczogW2Nv
bXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1l
cywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBmbGFn
czogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFz
cy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25t
ZW50LWV4cHJlc3Npb24tY29hbGVzY2UuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVk
LXByb3BlcnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tY29hbGVzY2UuanMKaW5k
ZXggMGQxZDJmZmVhZWJkOThlZWUxODg5MWI0ZGJkMzFkMDZhMzExMTZiNi4uNTIyOWNjNDA3MzFi
MjY4NmYyNmUzNWUzNzM2NGM1MTM4NTg4MjlmYSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0
aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWNv
YWxlc2NlLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1jb2FsZXNjZS5qcwpAQCAtNCw3ICs0LDcgQEAK
IC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIGFzc2lnbm1l
bnQgZXhwcmVzc2lvbiBjb2FsZXNjZSAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHBy
ZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtjb21w
dXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXMs
IGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxhZ3M6
IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3Mt
ZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVu
dC1leHByZXNzaW9uLWxvZ2ljYWwtYW5kLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWxvZ2ljYWwtYW5kLmpz
CmluZGV4IGU2YWVjMjY2ZjkwN2UyMmYzOTNkNzdkNWE0NzMyZTcyNGQ5ODZkZjEuLmQ3NTZmMDgy
MzBjODg2ZmNhN2JkNTNlNGZlOWEzZDc2ZTQzMWY5Y2EgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRz
LW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lv
bi1sb2dpY2FsLWFuZC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3Bl
cnR5LW5hbWUtZnJvbS1hc3NpZ25tZW50LWV4cHJlc3Npb24tbG9naWNhbC1hbmQuanMKQEAgLTQs
NyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJv
bSBhc3NpZ25tZW50IGV4cHJlc3Npb24gbG9naWNhbCBhbmQgKENvbXB1dGVkUHJvcGVydHlOYW1l
IGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZl
YXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczogW2NvbXB1dGVkLXBy
b3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1
YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNzRXhwcmVzc2lvbjoK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1m
cm9tLWFzc2lnbm1lbnQtZXhwcmVzc2lvbi1sb2dpY2FsLW9yLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0
aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWxv
Z2ljYWwtb3IuanMKaW5kZXggZGZmYTMxYmQ3ZjViZDBhZmE5NWE3NGNlODMwMGVmNjBlNDgwNzFm
Ni4uMjQ4ZTg4ZjhjNDUyMmZiZWQyYmVmMjU3ZGQyNzk2NTYyMzk3NDFkNyAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3Mt
ZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVu
dC1leHByZXNzaW9uLWxvZ2ljYWwtb3IuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXNzaWdubWVudC1leHByZXNzaW9uLWxvZ2ljYWwtb3Iu
anMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENvbXB1dGVkIHByb3BlcnR5
IG5hbWUgZnJvbSBhc3NpZ25tZW50IGV4cHJlc3Npb24gbG9naWNhbCBvciAoQ29tcHV0ZWRQcm9w
ZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5
TmFtZQotZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29t
cHV0ZWQtcHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1m
aWVsZHMtcHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHBy
ZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tYXN5bmMtYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lvbi5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmll
bGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWFzeW5jLWFycm93LWZ1bmN0
aW9uLWV4cHJlc3Npb24uanMKaW5kZXggZDI3ZTlhNWQ2M2E0Y2Q5NWQ3NWRlZmEwNjVhNTY3MDBl
OTU0ZjM0NC4uNWRlMjI4MTdjYmRhNTM5ZjMwMmQ3M2ExMzlmZDk2MWYwZGZmNjFlZiAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4t
Y2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tYXN5
bmMtYXJyb3ctZnVuY3Rpb24tZXhwcmVzc2lvbi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2Rz
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hc3luYy1hcnJvdy1mdW5jdGlvbi1leHByZXNz
aW9uLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBDb21wdXRlZCBwcm9w
ZXJ0eSBuYW1lIGZyb20gZnVuY3Rpb24gZXhwcmVzc2lvbiAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUg
aW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVh
dHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJv
cGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVi
bGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZy
b20tYXdhaXQtZXhwcmVzc2lvbi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLWF3YWl0LWV4cHJlc3Npb24uanMKaW5kZXggY2UwMTBiMGRiYjE2M2Jm
YTUzOTA4NDBiYjA1ZTE1YjYxMWJlZjEzNC4uOGM4ZDdkNmVjOTdiNGI3NWUxYzQwNGVjZmFlNWFk
N2FiNGQzZWQ0YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9w
ZXJ0eS1uYW1lLWZyb20tYXdhaXQtZXhwcmVzc2lvbi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRo
b2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1hd2FpdC1leHByZXNzaW9uLmpzCkBAIC00
LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBDb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZy
b20gY29uZGl0aW9uIGV4cHJlc3Npb24gKENvbXB1dGVkUHJvcGVydHlOYW1lIGluIENsYXNzRXhw
cmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29t
cHV0ZWQtcHJvcGVydHktbmFtZXMsIHRvcC1sZXZlbC1hd2FpdF0KK2ZlYXR1cmVzOiBbY29tcHV0
ZWQtcHJvcGVydHktbmFtZXMsIHRvcC1sZXZlbC1hd2FpdCwgY2xhc3MtZmllbGRzLXB1YmxpYywg
Y2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZCwgYXN5bmMsIG1v
ZHVsZV0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZp
ZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1jb25kaXRpb24tZXhwcmVz
c2lvbi1mYWxzZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFt
ZS1mcm9tLWNvbmRpdGlvbi1leHByZXNzaW9uLWZhbHNlLmpzCmluZGV4IDM5OTJhMTdlY2RjYjAz
MjBmNjY2ZGQyOTIxMjkzOGNmY2M3ZGE3ODMuLjI2NTBlZDViNjdiZWRkYmEyMDUxZWQ5ZDIyYTVj
MjNmY2EwNGUwMmUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJv
cGVydHktbmFtZS1mcm9tLWNvbmRpdGlvbi1leHByZXNzaW9uLWZhbHNlLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wt
ZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWNvbmRpdGlvbi1leHBy
ZXNzaW9uLWZhbHNlLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBDb21w
dXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gY29uZGl0aW9uIGV4cHJlc3Npb24gKENvbXB1dGVkUHJv
cGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0
eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczogW2Nv
bXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMt
ZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNzRXhw
cmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVy
dHktbmFtZS1mcm9tLWNvbmRpdGlvbi1leHByZXNzaW9uLXRydWUuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1t
ZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1jb25kaXRpb24tZXhwcmVzc2lvbi10
cnVlLmpzCmluZGV4IGM4ZTc1OTMyZDJhNTgyYWJhZDA4ZjI4ZDlkYjI4YjY1N2E3Y2YyZjMuLmQ1
ZDdlZGZjMGYzZjhhMDIyOTgzN2U5YTIwYmNmNzliMmU4NTdkMjAgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wt
ZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWNvbmRpdGlvbi1leHBy
ZXNzaW9uLXRydWUuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tY29uZGl0aW9uLWV4cHJlc3Npb24tdHJ1ZS5qcwpAQCAtNCw3ICs0LDcgQEAK
IC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIGNvbmRpdGlv
biBleHByZXNzaW9uIChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBl
c2lkOiBwcm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3Bl
cnR5LW5hbWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmll
bGRzLXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRl
ZF0KIGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxk
cy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWUtbm90YXRpb25h
bC1saXRlcmFsLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1l
LWZyb20tZGVjaW1hbC1lLW5vdGF0aW9uYWwtbGl0ZXJhbC5qcwppbmRleCA0YTVjNTA2MTI0YjZk
YjQ1NWY4OGM2NDQ5YjlkMmUxMGU5OTQxMzU3Li4wZDBkNGM4MGZlZjZhOGMzZjY5NzY3MWNiNjc5
ZjdmYThmMjk2YTMxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWUtbm90YXRpb25hbC1saXRlcmFsLmpzCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRl
Y2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWRlY2ltYWwtZS1u
b3RhdGlvbmFsLWxpdGVyYWwuanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246
IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBkZWNpbWFsIGUgbm90YXRpb25hbCBsaXRlcmFs
IChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNv
bXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQor
ZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywg
Y2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwK
ICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNv
bXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWxpdGVyYWwuanMgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxk
cy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1kZWNpbWFsLWxpdGVyYWwuanMK
aW5kZXggYjI1MWQ2YWM0MWM0NDZmYTJkZjU1Y2U4NTJhNDRhZTM5YzVjMjQzOC4uODlmYTkxZWJm
NGZkNjQ4YmE3N2YzMjcyODY5YWZiMDg2MDRhNjJhOSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMt
bWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZGVjaW1hbC1saXRlcmFsLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNs
YXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWRlY2lt
YWwtbGl0ZXJhbC5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0
ZWQgcHJvcGVydHkgbmFtZSBmcm9tIGRlY2ltYWwgbGl0ZXJhbCAoQ29tcHV0ZWRQcm9wZXJ0eU5h
bWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQot
ZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQt
cHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMt
cHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9u
OgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1l
LWZyb20tZXhwb25ldGlhdGlvbi1leHByZXNzaW9uLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwb25ldGlhdGlvbi1leHByZXNzaW9uLmpzCmlu
ZGV4IGEyZjAwZmZjZTA4ZjhmMmUwNzAzNmQzMGU1MWFhZDY0MTg4ODU1NzkuLjAyYmQ2MjI5N2Vi
ZDBiYzQyOTA1NWNmNDM3NjI5ZGU2NGJjMTEyMzUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1l
dGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cG9uZXRpYXRpb24tZXhwcmVzc2lv
bi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1leHBvbmV0aWF0aW9uLWV4cHJlc3Npb24uanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVz
Y3JpcHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBleHBvbmVudGlhdGlvbiBleHBy
ZXNzaW9uIChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBw
cm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5h
bWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1
YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGlu
Zm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRo
b2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNzaW9uLWNvYWxlc2NlLmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3Mt
ZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lv
bi1jb2FsZXNjZS5qcwppbmRleCAwMTc1NDAwY2ZjNWViZDE1MDk4OGZlYjNmY2MwMWM1Mzc4OWRm
ODA5Li41N2IxNTdiZjVhMDRiYzc2M2I5YWY1YzQwMzMyNjc3M2JjYzFmYWYwIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFz
cy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNz
aW9uLWNvYWxlc2NlLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVy
dHktbmFtZS1mcm9tLWV4cHJlc3Npb24tY29hbGVzY2UuanMKQEAgLTQsNyArNCw3IEBACiAvKi0t
LQogZGVzY3JpcHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBjb2FsZXNjZSAoQ29t
cHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRl
ZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1
cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNz
LXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAg
Q2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLWFuZC5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmll
bGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cHJlc3Npb24tbG9naWNh
bC1hbmQuanMKaW5kZXggMjAwMTI3OTYyMGJhYjg4MThiZThlYzI5MGJmOWQ2ZjQ4ZDFiYjUxYi4u
YjI2MTNiNjAxNDViMDI2MTdiNTFhNGU5MGQwMDc5YjYzMWUxYzBmNyAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVj
bC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1s
b2dpY2FsLWFuZC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5
LW5hbWUtZnJvbS1leHByZXNzaW9uLWxvZ2ljYWwtYW5kLmpzCkBAIC00LDcgKzQsNyBAQAogLyot
LS0KIGRlc2NyaXB0aW9uOiBDb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gbG9naWNhbCBhbmQg
KENvbXB1dGVkUHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29t
cHV0ZWRQcm9wZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitm
ZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBj
bGFzcy1zdGF0aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAog
ICAgIENsYXNzRXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29t
cHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cHJlc3Npb24tbG9naWNhbC1vci5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wt
ZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWV4cHJlc3Npb24tbG9n
aWNhbC1vci5qcwppbmRleCA5OWQwMDIyNzYzMTNkNWEzN2Y1MmI5ZGNjNDUxYjdiYjlhYTVhNTJj
Li4yMDZlN2Q0YjljYWQxN2ExMTI0NWYyNDY4OGEyMjFhNTMyMDk1YWUwIDEwMDY0NAotLS0gYS9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1k
ZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1leHByZXNzaW9u
LWxvZ2ljYWwtb3IuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0
eS1uYW1lLWZyb20tZXhwcmVzc2lvbi1sb2dpY2FsLW9yLmpzCkBAIC00LDcgKzQsNyBAQAogLyot
LS0KIGRlc2NyaXB0aW9uOiBDb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gbG9naWNhbCBvciAo
Q29tcHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21w
dXRlZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2Zl
YXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNs
YXNzLXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAg
ICAgQ2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZnVuY3Rpb24tZGVjbGFyYXRpb24uanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZp
ZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1kZWNsYXJh
dGlvbi5qcwppbmRleCBkNDhhMTBjNWE1NGFjYTcxNDEzODBmMzcyMmQxOWEyODIzOGUyOTU2Li5i
NTQyOWViODViOGNjNTEyZmYwM2FlZDJmNzg0MjIzM2EzNTRiMGVjIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNs
LWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1kZWNs
YXJhdGlvbi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5h
bWUtZnJvbS1mdW5jdGlvbi1kZWNsYXJhdGlvbi5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBk
ZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIGZ1bmN0aW9uIChDb21wdXRl
ZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJv
cGVydHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6
IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3Rh
dGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFz
c0V4cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1leHByZXNzaW9uLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0
aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tZnVuY3Rpb24tZXhwcmVzc2lvbi5qcwpp
bmRleCAyNDI1ZGM5MjM2NjRkNzU5M2I2MTc2NjRkNzE3OWI0YmFmYzBlMDI4Li5kNzI2ZmRlNGY5
MTZlMTI3ODVjMGQ0MTkyMzBmYzQ2NDRjZGZlMTEyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1t
ZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1mdW5jdGlvbi1leHByZXNzaW9uLmpz
CisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3Bu
LWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWZ1
bmN0aW9uLWV4cHJlc3Npb24uanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246
IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBmdW5jdGlvbiBleHByZXNzaW9uIChDb21wdXRl
ZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lkOiBwcm9kLUNvbXB1dGVkUHJv
cGVydHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzXQorZmVhdHVyZXM6
IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3Mtc3Rh
dGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0KIGluZm86IHwKICAgICBDbGFz
c0V4cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS1nZW5lcmF0b3ItZnVuY3Rpb24tZGVjbGFyYXRpb24uanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNs
LWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1nZW5lcmF0b3ItZnVu
Y3Rpb24tZGVjbGFyYXRpb24uanMKaW5kZXggNTZiYTkwMmE4M2QzOGM4YjIyMThlZmJjNzM2Yzdi
YmRhNTJiM2MwMC4uZDljMDA5MWFjZTMwZjFmOTEyMTc1OWI1OTJmNWJlZWQzOTkzMmM4NiAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9j
cG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20t
Z2VuZXJhdG9yLWZ1bmN0aW9uLWRlY2xhcmF0aW9uLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhv
ZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWdlbmVyYXRvci1mdW5jdGlvbi1kZWNsYXJh
dGlvbi5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJv
cGVydHkgbmFtZSBmcm9tIGdlbmVyYXRvciBmdW5jdGlvbiAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUg
aW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVh
dHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJv
cGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVi
bGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZy
b20taWRlbnRpZmllci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHkt
bmFtZS1mcm9tLWlkZW50aWZpZXIuanMKaW5kZXggNjY0NTZiZDA3Y2Q3MmFkNzQwMjBmNDM5MmEz
NDVmYWViYmRlNmIxZi4uOGMxYTQwNjMzNzlkM2UwYmRmZDVjY2FhNjQyYjRjNDRjZTZkNjA2OCAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZy
b20taWRlbnRpZmllci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3Bl
cnR5LW5hbWUtZnJvbS1pZGVudGlmaWVyLmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2Ny
aXB0aW9uOiBDb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gc3RyaW5nIGxpdGVyYWwgKENvbXB1
dGVkUHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQ
cm9wZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJl
czogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1z
dGF0aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENs
YXNzRXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQt
cHJvcGVydHktbmFtZS1mcm9tLWludGVnZXItZS1ub3RhdGlvbmFsLWxpdGVyYWwuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNs
LWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2VyLWUtbm90
YXRpb25hbC1saXRlcmFsLmpzCmluZGV4IGNiNmExNGIwNjhjYjNlYWUzYzhkODJhMjIyMDhmZjA0
NzNhMWU4YzcuLjU3YmMxNDhkYTdjMGUwZGYzOTIyMmRlYjdhMTMwZDQ0ZTdlYzg1NDggMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3Bu
LWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLWlu
dGVnZXItZS1ub3RhdGlvbmFsLWxpdGVyYWwuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1j
b21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20taW50ZWdlci1lLW5vdGF0aW9uYWwtbGl0ZXJhbC5q
cwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogQ29tcHV0ZWQgcHJvcGVydHkg
bmFtZSBmcm9tIG51bWVyaWMgbGl0ZXJhbCAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NF
eHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtj
b21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFt
ZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxh
Z3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xh
c3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20taW50ZWdl
ci1zZXBhcmF0b3JzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1u
YW1lLWZyb20taW50ZWdlci1zZXBhcmF0b3JzLmpzCmluZGV4IGI1MWNhYzYyNmVmYzgxNTczMmI2
NTVkZTkwYjBjMGU1ODc0ZDNkZmQuLjkzN2Q1YTgwNDk3NDJlNjZjOTkyYWQ2N2FiYjMxNWJjZTQy
YTU5ZGEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHkt
bmFtZS1mcm9tLWludGVnZXItc2VwYXJhdG9ycy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2Rz
LWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1pbnRlZ2VyLXNlcGFyYXRvcnMuanMKQEAgLTQs
NyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJv
bSBpbnRlZ2VyIHdpdGggc2VwYXJhdG9ycyAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NF
eHByZXNzaW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtj
b21wdXRlZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFt
ZXMsIGNsYXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxh
Z3M6IFtnZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xh
c3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbWF0aC5q
cyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNs
YXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW1hdGgu
anMKaW5kZXggOTBhNDc1MzBhNGI5YjI1ZWJhMDE1ZmY2MDEzOWYzNTBjY2UzNGNlMS4uNzYzNjg4
YmI3OWRmZTdmYWQ2NDFkYzM5ZmZmYTVjODNkNzU4NTU4ZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVs
ZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbWF0aC5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNs
LWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1tYXRoLmpzCkBAIC00
LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9uOiBDb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZy
b20gbWF0aCAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDog
cHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1u
YW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1w
dWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBp
bmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0
aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lv
bi1kaXYuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLWRpdi5qcwppbmRleCBhM2RkNGE3MjNhYjA3NTY4
NGFlMWMzNzQwZDE1NGZhYTRlYTcwMGUxLi4zYTQxNjhiY2ZmNzU4Yzk5Y2RjZDFiNTIzMDU3MDk0
NGIxNmJlOTlhIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3Bl
cnR5LW5hbWUtZnJvbS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLWRpdi5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNs
LWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1tdWx0aXBsaWNhdGl2
ZS1leHByZXNzaW9uLWRpdi5qcwpAQCAtNCw3ICs0LDcgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjog
Q29tcHV0ZWQgcHJvcGVydHkgbmFtZSBmcm9tIG11bHRpcGxpY2F0aXZlIGV4cHJlc3Npb24gImRp
dmlkZSIgKENvbXB1dGVkUHJvcGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHBy
b2QtQ29tcHV0ZWRQcm9wZXJ0eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFt
ZXNdCitmZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVi
bGljLCBjbGFzcy1zdGF0aWMtZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5m
bzogfAogICAgIENsYXNzRXhwcmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhv
ZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24t
bXVsdC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
Y3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tbXVsdC5qcwppbmRleCBkY2I1ZTBlY2ZjNzVmN2I2
Y2ZlYWEyZTdlOTEwYjc1NThhMjM4NGNmLi40YzMyOTkwNDYyODlkZWQwOTU1Y2Q1YmM3YjRmMjhk
MGMzZmNhZTUwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3Bl
cnR5LW5hbWUtZnJvbS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLW11bHQuanMKKysrIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVj
bC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbXVsdGlwbGljYXRp
dmUtZXhwcmVzc2lvbi1tdWx0LmpzCkBAIC00LDcgKzQsNyBAQAogLyotLS0KIGRlc2NyaXB0aW9u
OiBDb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20gbXVsdGlwbGljYXRpdmUgZXhwcmVzc2lvbiAi
bXVsdGlwbHkiIChDb21wdXRlZFByb3BlcnR5TmFtZSBpbiBDbGFzc0V4cHJlc3Npb24pCiBlc2lk
OiBwcm9kLUNvbXB1dGVkUHJvcGVydHlOYW1lCi1mZWF0dXJlczogW2NvbXB1dGVkLXByb3BlcnR5
LW5hbWVzXQorZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1lcywgY2xhc3MtZmllbGRz
LXB1YmxpYywgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJsaWNdCiBmbGFnczogW2dlbmVyYXRlZF0K
IGluZm86IHwKICAgICBDbGFzc0V4cHJlc3Npb246CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1t
ZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1udWxsLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMt
bWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbnVsbC5qcwppbmRleCAxMmYyNzM3
OTcyMzAwODE5OTFiZjA3MTVjZmY5YzI1MDlkMzVmMjg2Li43Y2U2YmI5MzYzZTE1NjA1NmY0MmY1
ZDcyY2U0NTA4ZGIwYTdhZGUxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1
dGVkLXByb3BlcnR5LW5hbWUtZnJvbS1udWxsLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMt
Y29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW51bGwuanMKQEAgLTQsNyArNCw3IEBACiAvKi0t
LQogZGVzY3JpcHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBjb25kaXRpb24gZXhw
cmVzc2lvbiAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDog
cHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1u
YW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1w
dWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBp
bmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0
aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbnVtZXJpYy1saXRlcmFsLmpzIGIvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVj
bC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tbnVtZXJpYy1saXRl
cmFsLmpzCmluZGV4IDA3NzA0YmVkZjM2ZDI2MzUwZDc3ZmVkM2FiNjViZmZhMmY3ZGNiYTYuLjAw
OWZkNWE5MTNiYTU2NWM4ZTM1ZTc4ZDdkNDkwMzE2NDFlMmFhZDAgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wt
ZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9tLW51bWVyaWMtbGl0ZXJh
bC5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXByb3BlcnR5LW5hbWUtZnJv
bS1udW1lcmljLWxpdGVyYWwuanMKQEAgLTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246
IENvbXB1dGVkIHByb3BlcnR5IG5hbWUgZnJvbSBudW1lcmljIGxpdGVyYWwgKENvbXB1dGVkUHJv
cGVydHlOYW1lIGluIENsYXNzRXhwcmVzc2lvbikKIGVzaWQ6IHByb2QtQ29tcHV0ZWRQcm9wZXJ0
eU5hbWUKLWZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXNdCitmZWF0dXJlczogW2Nv
bXB1dGVkLXByb3BlcnR5LW5hbWVzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1zdGF0aWMt
ZmllbGRzLXB1YmxpY10KIGZsYWdzOiBbZ2VuZXJhdGVkXQogaW5mbzogfAogICAgIENsYXNzRXhw
cmVzc2lvbjoKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvY3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVy
dHktbmFtZS1mcm9tLXN0cmluZy1saXRlcmFsLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21w
dXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tc3RyaW5nLWxpdGVyYWwuanMKaW5kZXggMmY5YzFjZjZh
NWE0ZTAwZjFiZWViNDk3YTYyMDMyOTAwNGRhYzU5YS4uN2Q0ZGMxZGRmN2NiMDYwZmJhMGQzN2U2
ZWVlZTgyOTE3MmJhNTA2MSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lLWZyb20tc3RyaW5nLWxpdGVyYWwuanMKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVjbC1maWVsZHMt
bWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20tc3RyaW5nLWxpdGVyYWwuanMKQEAg
LTQsNyArNCw3IEBACiAvKi0tLQogZGVzY3JpcHRpb246IENvbXB1dGVkIHByb3BlcnR5IG5hbWUg
ZnJvbSBzdHJpbmcgbGl0ZXJhbCAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNz
aW9uKQogZXNpZDogcHJvZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRl
ZC1wcm9wZXJ0eS1uYW1lc10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNs
YXNzLWZpZWxkcy1wdWJsaWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtn
ZW5lcmF0ZWRdCiBpbmZvOiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9jcG4tY2xhc3MtZGVj
bC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20teWllbGQtZXhwcmVz
c2lvbi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
Y3BuLWNsYXNzLWRlY2wtZmllbGRzLW1ldGhvZHMtY29tcHV0ZWQtcHJvcGVydHktbmFtZS1mcm9t
LXlpZWxkLWV4cHJlc3Npb24uanMKaW5kZXggMzNkMDEwMjNiMzk2Mzg1MzM3NThhOWExYzk1NzYy
Nzc5YTYwZjg4NS4uZjgyNDM3NDExYmM4MjY3NzE0OTlhODBiOTVmMGZiM2ZjZjEyM2VkNSAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9j
cG4tY2xhc3MtZGVjbC1maWVsZHMtbWV0aG9kcy1jb21wdXRlZC1wcm9wZXJ0eS1uYW1lLWZyb20t
eWllbGQtZXhwcmVzc2lvbi5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2Nwbi1jbGFzcy1kZWNsLWZpZWxkcy1tZXRob2RzLWNvbXB1dGVkLXBy
b3BlcnR5LW5hbWUtZnJvbS15aWVsZC1leHByZXNzaW9uLmpzCkBAIC00LDcgKzQsNyBAQAogLyot
LS0KIGRlc2NyaXB0aW9uOiBDb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGZyb20geWllbGQgZXhwcmVz
c2lvbiAoQ29tcHV0ZWRQcm9wZXJ0eU5hbWUgaW4gQ2xhc3NFeHByZXNzaW9uKQogZXNpZDogcHJv
ZC1Db21wdXRlZFByb3BlcnR5TmFtZQotZmVhdHVyZXM6IFtjb21wdXRlZC1wcm9wZXJ0eS1uYW1l
c10KK2ZlYXR1cmVzOiBbY29tcHV0ZWQtcHJvcGVydHktbmFtZXMsIGNsYXNzLWZpZWxkcy1wdWJs
aWMsIGNsYXNzLXN0YXRpYy1maWVsZHMtcHVibGljXQogZmxhZ3M6IFtnZW5lcmF0ZWRdCiBpbmZv
OiB8CiAgICAgQ2xhc3NFeHByZXNzaW9uOgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hcnJvdy1ib2R5LWRpcmVjdC1l
dmFsLWVyci1jb250YWlucy1hcmd1bWVudHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2Fycm93LWJvZHktZGlyZWN0LWV2YWwtZXJy
LWNvbnRhaW5zLWFyZ3VtZW50cy5qcwppbmRleCA5MmFjZTc3MzYxYWIxNWMwNmZjY2VlZjIxNzQy
NjZhZWIxMmNlN2UwLi41ODA2ZmJjMjJkZDRlNjZhMTNiODgwZjZlMjJkNjgyOTkyOWUxYWQ3IDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2VsZW1lbnRzL2Fycm93LWJvZHktZGlyZWN0LWV2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5q
cworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2Vs
ZW1lbnRzL2Fycm93LWJvZHktZGlyZWN0LWV2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5qcwpA
QCAtMSw2ICsxLDYgQEAKIC8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBm
cm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKIC8vIC0gc3JjL2NsYXNzLWVsZW1lbnRzL2V2YWwt
ZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5jYXNlCi0vLyAtIHNyYy9jbGFzcy1lbGVtZW50cy9pbml0
aWFsaXplci1ldmFsLWFyZ3VtZW50cy9jbHMtZGVjbC1maWVsZHMtZXZhbC1hcnJvdy1ib2R5LnRl
bXBsYXRlCisvLyAtIHNyYy9jbGFzcy1lbGVtZW50cy9pbml0aWFsaXplci1kaXJlY3QtZXZhbC1h
cmd1bWVudHMvY2xzLWRlY2wtZmllbGRzLWV2YWwtYXJyb3ctYm9keS50ZW1wbGF0ZQogLyotLS0K
IGRlc2NyaXB0aW9uOiBlcnJvciBpZiBgYXJndW1lbnRzYCBpbiBTdGF0ZW1lbnRMaXN0IG9mIGV2
YWwgKGRpcmVjdCBldmFsKQogZXNpZDogc2VjLXBlcmZvcm1ldmFsLXJ1bGVzLWluLWluaXRpYWxp
emVyCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2VsZW1lbnRzL2Fycm93LWJvZHktaW5kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJn
dW1lbnRzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9lbGVtZW50cy9hcnJvdy1ib2R5LWluZGlyZWN0LWV2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50
cy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWVmZWU2ODI0OGJkNWNjYjJiMzQz
ZjNhYzQzNGE4MDk3MzVlNzczZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2VsZW1lbnRzL2Fycm93LWJvZHktaW5kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRz
LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotLy8gVGhpcyBmaWxlIHdhcyBwcm9j
ZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgotLy8gLSBzcmMv
Y2xhc3MtZWxlbWVudHMvZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmNhc2UKLS8vIC0gc3Jj
L2NsYXNzLWVsZW1lbnRzL2luaXRpYWxpemVyLWV2YWwtYXJndW1lbnRzL2Nscy1kZWNsLWZpZWxk
cy1pbmRpcmVjdC1ldmFsLWFycm93LWJvZHkudGVtcGxhdGUKLS8qLS0tCi1kZXNjcmlwdGlvbjog
ZXJyb3IgaWYgYGFyZ3VtZW50c2AgaW4gU3RhdGVtZW50TGlzdCBvZiBldmFsIChpbmRpcmVjdCBl
dmFsKQotZXNpZDogc2VjLXBlcmZvcm1ldmFsLXJ1bGVzLWluLWluaXRpYWxpemVyCi1mZWF0dXJl
czogW2NsYXNzLCBjbGFzcy1maWVsZHMtcHVibGljXQotZmxhZ3M6IFtnZW5lcmF0ZWRdCi1pbmZv
OiB8Ci0gICAgQWRkaXRpb25hbCBFYXJseSBFcnJvciBSdWxlcyBmb3IgRXZhbCBJbnNpZGUgSW5p
dGlhbGl6ZXIKLSAgICBUaGVzZSBzdGF0aWMgc2VtYW50aWNzIGFyZSBhcHBsaWVkIGJ5IFBlcmZv
cm1FdmFsIHdoZW4gYSBkaXJlY3QgZXZhbCBjYWxsIG9jY3VycyBpbnNpZGUgYSBjbGFzcyBmaWVs
ZCBpbml0aWFsaXplci4KLSAgICBTY3JpcHRCb2R5IDogU3RhdGVtZW50TGlzdAotCi0gICAgICBJ
dCBpcyBhIFN5bnRheCBFcnJvciBpZiBDb250YWluc0FyZ3VtZW50cyBvZiBTdGF0ZW1lbnRMaXN0
IGlzIHRydWUuCi0gICAgICAuLi4KLQotICAgIFN0YXRpYyBTZW1hbnRpY3M6IENvbnRhaW5zQXJn
dW1lbnRzCi0gICAgICBJZGVudGlmaWVyUmVmZXJlbmNlIDogSWRlbnRpZmllcgotCi0gICAgICAx
LiBJZiB0aGUgU3RyaW5nVmFsdWUgb2YgSWRlbnRpZmllciBpcyAiYXJndW1lbnRzIiwgcmV0dXJu
IHRydWUuCi0gICAgICAuLi4KLSAgICAgIEZvciBhbGwgb3RoZXIgZ3JhbW1hdGljYWwgcHJvZHVj
dGlvbnMsIHJlY3Vyc2Ugb24gYWxsIG5vbnRlcm1pbmFscy4gSWYgYW55IHBpZWNlIHJldHVybnMg
dHJ1ZSwgdGhlbiByZXR1cm4gdHJ1ZS4gT3RoZXJ3aXNlIHJldHVybiBmYWxzZS4KLQotLS0tKi8K
LQotCi1jbGFzcyBDIHsKLSAgeCA9ICgwLCBldmFsKSgnKCkgPT4gYXJndW1lbnRzOycpOwotfQot
Ci1hc3NlcnQudGhyb3dzKFJlZmVyZW5jZUVycm9yLCBmdW5jdGlvbigpIHsKLSAgbmV3IEMoKS54
KCk7Ci19KTsKLWFzc2VydC5zYW1lVmFsdWUoZXhlY3V0ZWQsIHRydWUpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9h
cnJvdy1ib2R5LXByaXZhdGUtZGlyZWN0LWV2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMv
YXJyb3ctYm9keS1wcml2YXRlLWRpcmVjdC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVudHMuanMK
aW5kZXggMzVjZGEwMDE3MmI4ZmM0NTk1MTA0ZjhlZWNhODA2NjQyZDExNGI2Zi4uNWI1OWE3OTkw
NzY2NTA4NGE4ZjFlNDlkM2EzMGZiOTZmZjBlZjkwZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hcnJvdy1ib2R5LXBy
aXZhdGUtZGlyZWN0LWV2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2Fycm93LWJv
ZHktcHJpdmF0ZS1kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmpzCkBAIC0xLDYg
KzEsNiBAQAogLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhl
IGZvbGxvd2luZyBzb3VyY2VzOgogLy8gLSBzcmMvY2xhc3MtZWxlbWVudHMvZXZhbC1lcnItY29u
dGFpbnMtYXJndW1lbnRzLmNhc2UKLS8vIC0gc3JjL2NsYXNzLWVsZW1lbnRzL2luaXRpYWxpemVy
LWV2YWwtYXJndW1lbnRzL2Nscy1kZWNsLXByaXZhdGUtZmllbGRzLWV2YWwtYXJyb3ctYm9keS50
ZW1wbGF0ZQorLy8gLSBzcmMvY2xhc3MtZWxlbWVudHMvaW5pdGlhbGl6ZXItZGlyZWN0LWV2YWwt
YXJndW1lbnRzL2Nscy1kZWNsLXByaXZhdGUtZmllbGRzLWV2YWwtYXJyb3ctYm9keS50ZW1wbGF0
ZQogLyotLS0KIGRlc2NyaXB0aW9uOiBlcnJvciBpZiBgYXJndW1lbnRzYCBpbiBTdGF0ZW1lbnRM
aXN0IG9mIGV2YWwgKGRpcmVjdCBldmFsKQogZXNpZDogc2VjLXBlcmZvcm1ldmFsLXJ1bGVzLWlu
LWluaXRpYWxpemVyCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2Fycm93LWJvZHktcHJpdmF0ZS1pbmRpcmVjdC1ldmFs
LWVyci1jb250YWlucy1hcmd1bWVudHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2Fycm93LWJvZHktcHJpdmF0ZS1pbmRpcmVjdC1l
dmFsLWVyci1jb250YWlucy1hcmd1bWVudHMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDg3NzNiYjllZjI3MWIyNzQ1NWQzODg0ZDY2YjZjNTNhNTU1MDJkMjEuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hcnJvdy1ib2R5LXByaXZhdGUtaW5k
aXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmpzCisrKyAvZGV2L251bGwKQEAgLTEs
MzYgKzAsMCBAQAotLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20g
dGhlIGZvbGxvd2luZyBzb3VyY2VzOgotLy8gLSBzcmMvY2xhc3MtZWxlbWVudHMvZXZhbC1lcnIt
Y29udGFpbnMtYXJndW1lbnRzLmNhc2UKLS8vIC0gc3JjL2NsYXNzLWVsZW1lbnRzL2luaXRpYWxp
emVyLWV2YWwtYXJndW1lbnRzL2Nscy1kZWNsLXByaXZhdGUtZmllbGRzLWluZGlyZWN0LWV2YWwt
YXJyb3ctYm9keS50ZW1wbGF0ZQotLyotLS0KLWRlc2NyaXB0aW9uOiBlcnJvciBpZiBgYXJndW1l
bnRzYCBpbiBTdGF0ZW1lbnRMaXN0IG9mIGV2YWwgKGluZGlyZWN0IGV2YWwpCi1lc2lkOiBzZWMt
cGVyZm9ybWV2YWwtcnVsZXMtaW4taW5pdGlhbGl6ZXIKLWZlYXR1cmVzOiBbY2xhc3MsIGNsYXNz
LWZpZWxkcy1wdWJsaWMsIGNsYXNzLWZpZWxkcy1wcml2YXRlXQotZmxhZ3M6IFtnZW5lcmF0ZWRd
Ci1pbmZvOiB8Ci0gICAgQWRkaXRpb25hbCBFYXJseSBFcnJvciBSdWxlcyBmb3IgRXZhbCBJbnNp
ZGUgSW5pdGlhbGl6ZXIKLSAgICBUaGVzZSBzdGF0aWMgc2VtYW50aWNzIGFyZSBhcHBsaWVkIGJ5
IFBlcmZvcm1FdmFsIHdoZW4gYSBkaXJlY3QgZXZhbCBjYWxsIG9jY3VycyBpbnNpZGUgYSBjbGFz
cyBmaWVsZCBpbml0aWFsaXplci4KLSAgICBTY3JpcHRCb2R5IDogU3RhdGVtZW50TGlzdAotCi0g
ICAgICBJdCBpcyBhIFN5bnRheCBFcnJvciBpZiBDb250YWluc0FyZ3VtZW50cyBvZiBTdGF0ZW1l
bnRMaXN0IGlzIHRydWUuCi0gICAgICAuLi4KLQotICAgIFN0YXRpYyBTZW1hbnRpY3M6IENvbnRh
aW5zQXJndW1lbnRzCi0gICAgICBJZGVudGlmaWVyUmVmZXJlbmNlIDogSWRlbnRpZmllcgotCi0g
ICAgICAxLiBJZiB0aGUgU3RyaW5nVmFsdWUgb2YgSWRlbnRpZmllciBpcyAiYXJndW1lbnRzIiwg
cmV0dXJuIHRydWUuCi0gICAgICAuLi4KLSAgICAgIEZvciBhbGwgb3RoZXIgZ3JhbW1hdGljYWwg
cHJvZHVjdGlvbnMsIHJlY3Vyc2Ugb24gYWxsIG5vbnRlcm1pbmFscy4gSWYgYW55IHBpZWNlIHJl
dHVybnMgdHJ1ZSwgdGhlbiByZXR1cm4gdHJ1ZS4gT3RoZXJ3aXNlIHJldHVybiBmYWxzZS4KLQot
LS0tKi8KLQotCi1jbGFzcyBDIHsKLSAgI3ggPSAoMCwgZXZhbCkoJygpID0+IGFyZ3VtZW50czsn
KTsKLSAgeCgpIHsKLSAgICB0aGlzLiN4KCk7Ci0gIH0KLX0KLQotYXNzZXJ0LnRocm93cyhSZWZl
cmVuY2VFcnJvciwgZnVuY3Rpb24oKSB7Ci0gIG5ldyBDKCkueCgpOwotfSk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRz
L2FzeW5jLXByaXZhdGUtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXIt
ZXNjYXBlZC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWJpbmRpbmct
aWRlbnRpZmllci1lc2NhcGVkLmpzCmluZGV4IDg2ZGM3NDZhNmZiZjQ5NzczOTY3MzI3Y2RhODA2
ZDEyMzE4N2EwZTIuLmU1MWI0MzExZTg1OGU0OTQwMjAwYzFlYzliYmEwOGY5NzI3ZWMxNTkgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
ZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWJpbmRpbmctaWRl
bnRpZmllci1lc2NhcGVkLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL2F3YWl0
LWFzLWJpbmRpbmctaWRlbnRpZmllci1lc2NhcGVkLmpzCkBAIC0zMSw2ICszMSwxMCBAQCBpbmZv
OiB8CiAkRE9OT1RFVkFMVUFURSgpOwogCiAKLWNsYXNzIEMgeyBzdGF0aWMgYXN5bmMgI21ldGhv
ZCgpIHsKK2NsYXNzIEMgeworICBzdGF0aWMgYXN5bmMgI21ldGhvZCgpIHsKICAgICB2YXIgXHUw
MDYxd2FpdDsKLX19CisgIH0KK30KKworCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9k
LXN0YXRpYy9hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0
aG9kLXN0YXRpYy9hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXIuanMKaW5kZXggODAyMjVmZTNh
ZTZmMGFhNWViOTRlZTI3YjcyM2JmM2Y0Y2UyN2EzMi4uMWIyMzFkNWIyMzNlMTk2Y2M5MWUxZmMy
M2M1Y2ZjYTgyN2U0YTkwNSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0aWMv
YXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qt
c3RhdGljL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci5qcwpAQCAtMzEsNiArMzEsMTAgQEAg
aW5mbzogfAogJERPTk9URVZBTFVBVEUoKTsKIAogCi1jbGFzcyBDIHsgc3RhdGljIGFzeW5jICNt
ZXRob2QoKSB7CitjbGFzcyBDIHsKKyAgc3RhdGljIGFzeW5jICNtZXRob2QoKSB7CiAgICAgdmFy
IGF3YWl0OwotfX0KKyAgfQorfQorCisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qt
c3RhdGljL2F3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLWVzY2FwZWQuanMgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXBy
aXZhdGUtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS1lc2NhcGVk
LmpzCmluZGV4IDhjOTE4YTc0ZWMwN2M4YWVkNjcxMTc5MGQyODUyNzhhOGY2MTA4MmEuLmVlOTlh
ZmUyMzFkZDg2ZDNmNWIzY2Y3ZjQ3NzdkNDMzYjY4OTY2OTEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJp
dmF0ZS1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLWVzY2FwZWQu
anMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9l
bGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0aWMvYXdhaXQtYXMtaWRlbnRpZmllci1y
ZWZlcmVuY2UtZXNjYXBlZC5qcwpAQCAtMzEsNiArMzEsMTAgQEAgaW5mbzogfAogJERPTk9URVZB
TFVBVEUoKTsKIAogCi1jbGFzcyBDIHsgc3RhdGljIGFzeW5jICNtZXRob2QoKSB7CitjbGFzcyBD
IHsKKyAgc3RhdGljIGFzeW5jICNtZXRob2QoKSB7CiAgICAgdm9pZCBcdTAwNjF3YWl0OwotfX0K
KyAgfQorfQorCisKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL2F3YWl0
LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0aWMv
YXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UuanMKaW5kZXggNDNlMzAwNWRiZWYwZDk5OTVk
OTA0ZDlhNWY5MzI2OTM0MjM0MWMyZS4uMjJiYmNkMzg2NDAzMTZmMDg2MTJkMzY2MjgxN2NkNzU4
MzAwMmMzYiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0aWMvYXdhaXQtYXMt
aWRlbnRpZmllci1yZWZlcmVuY2UuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0aWMv
YXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UuanMKQEAgLTMxLDYgKzMxLDEwIEBAIGluZm86
IHwKICRET05PVEVWQUxVQVRFKCk7CiAKIAotY2xhc3MgQyB7IHN0YXRpYyBhc3luYyAjbWV0aG9k
KCkgeworY2xhc3MgQyB7CisgIHN0YXRpYyBhc3luYyAjbWV0aG9kKCkgewogICAgIHZvaWQgYXdh
aXQ7Ci19fQorICB9Cit9CisKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0
aWMvYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci1lc2NhcGVkLmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1l
dGhvZC1zdGF0aWMvYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci1lc2NhcGVkLmpzCmluZGV4IDE2
OGFmNTRjNzE3ZGIzMjBkZWY2Nzg2MWZiODQzY2NhMWZkNmZlODQuLjc5Y2YyOWNkMDU3MGQzN2Y0
YzFmNzdiYjgwMWIxMzQyOTJjMGIyOTUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qt
c3RhdGljL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXItZXNjYXBlZC5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXBy
aXZhdGUtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLWVzY2FwZWQuanMK
QEAgLTMxLDYgKzMxLDEwIEBAIGluZm86IHwKICRET05PVEVWQUxVQVRFKCk7CiAKIAotY2xhc3Mg
QyB7IHN0YXRpYyBhc3luYyAjbWV0aG9kKCkgeworY2xhc3MgQyB7CisgIHN0YXRpYyBhc3luYyAj
bWV0aG9kKCkgewogICAgIFx1MDA2MXdhaXQ6IDsKLX19CisgIH0KK30KKworCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRz
L2FzeW5jLXByaXZhdGUtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50
cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0aWMvYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci5q
cwppbmRleCA2MGVmZTUyYTViYWEzNTBhNmY1OTAyNDc1YjNlNzRhMDQ4YWJjZmViLi43NzA0N2Fk
N2Q5NjNjMzM3NWI4ZmQyZTljNDA2MDZiM2JlOWM3ZDI3IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZh
dGUtbWV0aG9kLXN0YXRpYy9hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLmpzCisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXN5bmMt
cHJpdmF0ZS1tZXRob2Qtc3RhdGljL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZpZXIuanMKQEAgLTMx
LDYgKzMxLDEwIEBAIGluZm86IHwKICRET05PVEVWQUxVQVRFKCk7CiAKIAotY2xhc3MgQyB7IHN0
YXRpYyBhc3luYyAjbWV0aG9kKCkgeworY2xhc3MgQyB7CisgIHN0YXRpYyBhc3luYyAjbWV0aG9k
KCkgewogICAgIGF3YWl0OiA7Ci19fQorICB9Cit9CisKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2
YXRlLW1ldGhvZC1zdGF0aWMvcmV0dXJucy1hc3luYy1hcnJvdy1yZXR1cm5zLWFyZ3VtZW50cy1m
cm9tLXBhcmVudC1mdW5jdGlvbi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL3JldHVy
bnMtYXN5bmMtYXJyb3ctcmV0dXJucy1hcmd1bWVudHMtZnJvbS1wYXJlbnQtZnVuY3Rpb24uanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTk5MmY3M2JjY2FiOTdhOTc0MmQ2N2NkZGUwNjlhOTdlYTAwNmUzMQotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMt
YXJyb3ctcmV0dXJucy1hcmd1bWVudHMtZnJvbS1wYXJlbnQtZnVuY3Rpb24uanMKQEAgLTAsMCAr
MSw0MyBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhl
IGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25zL3JldHVybnMtYXN5
bmMtYXJyb3ctcmV0dXJucy1hcmd1bWVudHMtZnJvbS1wYXJlbnQtZnVuY3Rpb24uY2FzZQorLy8g
LSBzcmMvYXN5bmMtZnVuY3Rpb25zL2V2YWx1YXRpb24vYXN5bmMtY2xhc3MtZGVjbC1zdGF0aWMt
cHJpdmF0ZS1tZXRob2QudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXN5bmMgZnVuY3Rp
b24gcmV0dXJucyBhbiBhc3luYyBmdW5jdGlvbi4gKFN0YXRpYyBhc3luYyBwcml2YXRlIG1ldGhv
ZCBhcyBhIENsYXNzRGVjbGFyYXRpb24gZWxlbWVudCkKK2VzaWQ6IHByb2QtQXN5bmNNZXRob2QK
K2ZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zLCBjbGFzcy1zdGF0aWMtbWV0aG9kcy1wcml2YXRl
XQorZmxhZ3M6IFtnZW5lcmF0ZWQsIGFzeW5jXQoraW5mbzogfAorICAgIENsYXNzRWxlbWVudCA6
CisgICAgICBzdGF0aWMgUHJpdmF0ZU1ldGhvZERlZmluaXRpb24KKworICAgIE1ldGhvZERlZmlu
aXRpb24gOgorICAgICAgQXN5bmNNZXRob2QKKworICAgIEFzeW5jIEZ1bmN0aW9uIERlZmluaXRp
b25zCisKKyAgICBBc3luY01ldGhvZCA6CisgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3Ig
aGVyZV0gIyBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1
bmN0aW9uQm9keSB9CisKKy0tLSovCitsZXQgY291bnQgPSAwOworCisKK2NsYXNzIEMgeworICBz
dGF0aWMgYXN5bmMgI21ldGhvZCh4KSB7CisgICAgbGV0IGEgPSBhcmd1bWVudHM7CisgICAgICBy
ZXR1cm4gYXN5bmMgKCkgPT4gYSA9PT0gYXJndW1lbnRzOworICB9CisgIHN0YXRpYyBhc3luYyBt
ZXRob2QoeCkgeworICAgIHJldHVybiB0aGlzLiNtZXRob2QoeCk7CisgIH0KK30KKy8vIFN0b3Jl
cyBhIHJlZmVyZW5jZSBgYXN5bmNGbmAgZm9yIGNhc2UgZXZhbHVhdGlvbgorbGV0IGFzeW5jRm4g
PSBDLm1ldGhvZC5iaW5kKEMpOworCithc3luY0ZuKCkudGhlbihyZXRGbiA9PiB7CisgIGNvdW50
Kys7CisgIHJldHVybiByZXRGbigpOworfSkudGhlbihyZXN1bHQgPT4geworICBhc3NlcnQuc2Ft
ZVZhbHVlKHJlc3VsdCwgdHJ1ZSk7CisgIGFzc2VydC5zYW1lVmFsdWUoY291bnQsIDEpOworfSku
dGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0
aWMvcmV0dXJucy1hc3luYy1hcnJvdy1yZXR1cm5zLW5ld3RhcmdldC5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0
ZS1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1uZXd0YXJnZXQuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjZkMzZiMTVmNDkxYmQ3NDU4Nzc2YzRkODRlMzdmYmQ0MmZmNjRkMAotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMt
YXJyb3ctcmV0dXJucy1uZXd0YXJnZXQuanMKQEAgLTAsMCArMSw0MiBAQAorLy8gVGhpcyBmaWxl
IHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgor
Ly8gLSBzcmMvYXN5bmMtZnVuY3Rpb25zL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1uZXd0
YXJnZXQuY2FzZQorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25zL2V2YWx1YXRpb24vYXN5bmMtY2xh
c3MtZGVjbC1zdGF0aWMtcHJpdmF0ZS1tZXRob2QudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlv
bjogQXN5bmMgZnVuY3Rpb24gcmV0dXJucyBhbiBhc3luYyBmdW5jdGlvbi4gKFN0YXRpYyBhc3lu
YyBwcml2YXRlIG1ldGhvZCBhcyBhIENsYXNzRGVjbGFyYXRpb24gZWxlbWVudCkKK2VzaWQ6IHBy
b2QtQXN5bmNNZXRob2QKK2ZlYXR1cmVzOiBbYXN5bmMtZnVuY3Rpb25zLCBjbGFzcy1zdGF0aWMt
bWV0aG9kcy1wcml2YXRlXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIGFzeW5jXQoraW5mbzogfAorICAg
IENsYXNzRWxlbWVudCA6CisgICAgICBzdGF0aWMgUHJpdmF0ZU1ldGhvZERlZmluaXRpb24KKwor
ICAgIE1ldGhvZERlZmluaXRpb24gOgorICAgICAgQXN5bmNNZXRob2QKKworICAgIEFzeW5jIEZ1
bmN0aW9uIERlZmluaXRpb25zCisKKyAgICBBc3luY01ldGhvZCA6CisgICAgICBhc3luYyBbbm8g
TGluZVRlcm1pbmF0b3IgaGVyZV0gIyBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0
ZXJzICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CisKKy0tLSovCitsZXQgY291bnQgPSAwOworCisK
K2NsYXNzIEMgeworICBzdGF0aWMgYXN5bmMgI21ldGhvZCh4KSB7CisgICAgcmV0dXJuIGFzeW5j
ICgpID0+IG5ldy50YXJnZXQ7CisgIH0KKyAgc3RhdGljIGFzeW5jIG1ldGhvZCh4KSB7CisgICAg
cmV0dXJuIHRoaXMuI21ldGhvZCh4KTsKKyAgfQorfQorLy8gU3RvcmVzIGEgcmVmZXJlbmNlIGBh
c3luY0ZuYCBmb3IgY2FzZSBldmFsdWF0aW9uCitsZXQgYXN5bmNGbiA9IEMubWV0aG9kLmJpbmQo
Qyk7CisKK2FzeW5jRm4oKS50aGVuKHJldEZuID0+IHsKKyAgY291bnQrKzsKKyAgcmV0dXJuIHJl
dEZuKCk7Cit9KS50aGVuKHJlc3VsdCA9PiB7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCB1
bmRlZmluZWQpOworICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxKTsKK30pLnRoZW4oJERPTkUs
ICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL3JldHVybnMt
YXN5bmMtYXJyb3cuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5j
LWFycm93LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ4MjVmZWNjZGRiOGUzYWJlNzRmM2ZlNjdiZjIyM2QxMTky
NWNkMTEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kLXN0YXRpYy9yZXR1
cm5zLWFzeW5jLWFycm93LmpzCkBAIC0wLDAgKzEsNDIgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJv
Y2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3Jj
L2FzeW5jLWZ1bmN0aW9ucy9yZXR1cm5zLWFzeW5jLWFycm93LmNhc2UKKy8vIC0gc3JjL2FzeW5j
LWZ1bmN0aW9ucy9ldmFsdWF0aW9uL2FzeW5jLWNsYXNzLWRlY2wtc3RhdGljLXByaXZhdGUtbWV0
aG9kLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFzeW5jIGZ1bmN0aW9uIHJldHVybnMg
YW4gYXN5bmMgZnVuY3Rpb24uIChTdGF0aWMgYXN5bmMgcHJpdmF0ZSBtZXRob2QgYXMgYSBDbGFz
c0RlY2xhcmF0aW9uIGVsZW1lbnQpCitlc2lkOiBwcm9kLUFzeW5jTWV0aG9kCitmZWF0dXJlczog
W2FzeW5jLWZ1bmN0aW9ucywgY2xhc3Mtc3RhdGljLW1ldGhvZHMtcHJpdmF0ZV0KK2ZsYWdzOiBb
Z2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICBDbGFzc0VsZW1lbnQgOgorICAgICAgc3Rh
dGljIFByaXZhdGVNZXRob2REZWZpbml0aW9uCisKKyAgICBNZXRob2REZWZpbml0aW9uIDoKKyAg
ICAgIEFzeW5jTWV0aG9kCisKKyAgICBBc3luYyBGdW5jdGlvbiBEZWZpbml0aW9ucworCisgICAg
QXN5bmNNZXRob2QgOgorICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdICMgUHJv
cGVydHlOYW1lICggVW5pcXVlRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkg
fQorCistLS0qLworbGV0IGNvdW50ID0gMDsKKworCitjbGFzcyBDIHsKKyAgc3RhdGljIGFzeW5j
ICNtZXRob2QoeCkgeworICAgIHJldHVybiBhc3luYyAoKSA9PiB4OworICB9CisgIHN0YXRpYyBh
c3luYyBtZXRob2QoeCkgeworICAgIHJldHVybiB0aGlzLiNtZXRob2QoeCk7CisgIH0KK30KKy8v
IFN0b3JlcyBhIHJlZmVyZW5jZSBgYXN5bmNGbmAgZm9yIGNhc2UgZXZhbHVhdGlvbgorbGV0IGFz
eW5jRm4gPSBDLm1ldGhvZC5iaW5kKEMpOworCithc3luY0ZuKDEpLnRoZW4ocmV0Rm4gPT4gewor
ICBjb3VudCsrOworICByZXR1cm4gcmV0Rm4oKTsKK30pLnRoZW4ocmVzdWx0ID0+IHsKKyAgYXNz
ZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEpOworICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxKTsK
K30pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qt
c3RhdGljL3JldHVybnMtYXN5bmMtZnVuY3Rpb24tcmV0dXJucy1hcmd1bWVudHMtZnJvbS1vd24t
ZnVuY3Rpb24uanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWZ1
bmN0aW9uLXJldHVybnMtYXJndW1lbnRzLWZyb20tb3duLWZ1bmN0aW9uLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFiZGRkYjVhNmI0NWI1ZTQ3NGQ4ZjVjM2IxNmRiMzBkZjJkYWM0YzUKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1l
bnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLXJl
dHVybnMtYXJndW1lbnRzLWZyb20tb3duLWZ1bmN0aW9uLmpzCkBAIC0wLDAgKzEsNDMgQEAKKy8v
IFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcg
c291cmNlczoKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9u
LXJldHVybnMtYXJndW1lbnRzLWZyb20tb3duLWZ1bmN0aW9uLmNhc2UKKy8vIC0gc3JjL2FzeW5j
LWZ1bmN0aW9ucy9ldmFsdWF0aW9uL2FzeW5jLWNsYXNzLWRlY2wtc3RhdGljLXByaXZhdGUtbWV0
aG9kLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFzeW5jIGZ1bmN0aW9uIHJldHVybnMg
YW4gYXN5bmMgZnVuY3Rpb24uIChTdGF0aWMgYXN5bmMgcHJpdmF0ZSBtZXRob2QgYXMgYSBDbGFz
c0RlY2xhcmF0aW9uIGVsZW1lbnQpCitlc2lkOiBwcm9kLUFzeW5jTWV0aG9kCitmZWF0dXJlczog
W2FzeW5jLWZ1bmN0aW9ucywgY2xhc3Mtc3RhdGljLW1ldGhvZHMtcHJpdmF0ZV0KK2ZsYWdzOiBb
Z2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwKKyAgICBDbGFzc0VsZW1lbnQgOgorICAgICAgc3Rh
dGljIFByaXZhdGVNZXRob2REZWZpbml0aW9uCisKKyAgICBNZXRob2REZWZpbml0aW9uIDoKKyAg
ICAgIEFzeW5jTWV0aG9kCisKKyAgICBBc3luYyBGdW5jdGlvbiBEZWZpbml0aW9ucworCisgICAg
QXN5bmNNZXRob2QgOgorICAgICAgYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdICMgUHJv
cGVydHlOYW1lICggVW5pcXVlRm9ybWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkg
fQorCistLS0qLworbGV0IGNvdW50ID0gMDsKKworCitjbGFzcyBDIHsKKyAgc3RhdGljIGFzeW5j
ICNtZXRob2QoeCkgeworICAgIGxldCBhID0gYXJndW1lbnRzOworICAgICAgcmV0dXJuIGFzeW5j
IGZ1bmN0aW9uKCkgeyByZXR1cm4gYSA9PT0gYXJndW1lbnRzOyB9OworICB9CisgIHN0YXRpYyBh
c3luYyBtZXRob2QoeCkgeworICAgIHJldHVybiB0aGlzLiNtZXRob2QoeCk7CisgIH0KK30KKy8v
IFN0b3JlcyBhIHJlZmVyZW5jZSBgYXN5bmNGbmAgZm9yIGNhc2UgZXZhbHVhdGlvbgorbGV0IGFz
eW5jRm4gPSBDLm1ldGhvZC5iaW5kKEMpOworCithc3luY0ZuKDEpLnRoZW4ocmV0Rm4gPT4gewor
ICBjb3VudCsrOworICByZXR1cm4gcmV0Rm4oKTsKK30pLnRoZW4ocmVzdWx0ID0+IHsKKyAgYXNz
ZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIGZhbHNlKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwg
MSk7Cit9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0
aG9kLXN0YXRpYy9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLXJldHVybnMtbmV3dGFyZ2V0LmpzIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9h
c3luYy1wcml2YXRlLW1ldGhvZC1zdGF0aWMvcmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1cm5z
LW5ld3RhcmdldC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNTA2ZDMxMDU0ZjYwOTdjODk1N2M5NTZhNmE2Y2Q3
ZDQ1OGY0NjQxCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0aWMv
cmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1cm5zLW5ld3RhcmdldC5qcwpAQCAtMCwwICsxLDQy
IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9s
bG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMvcmV0dXJucy1hc3luYy1m
dW5jdGlvbi1yZXR1cm5zLW5ld3RhcmdldC5jYXNlCisvLyAtIHNyYy9hc3luYy1mdW5jdGlvbnMv
ZXZhbHVhdGlvbi9hc3luYy1jbGFzcy1kZWNsLXN0YXRpYy1wcml2YXRlLW1ldGhvZC50ZW1wbGF0
ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBc3luYyBmdW5jdGlvbiByZXR1cm5zIGFuIGFzeW5jIGZ1
bmN0aW9uLiAoU3RhdGljIGFzeW5jIHByaXZhdGUgbWV0aG9kIGFzIGEgQ2xhc3NEZWNsYXJhdGlv
biBlbGVtZW50KQorZXNpZDogcHJvZC1Bc3luY01ldGhvZAorZmVhdHVyZXM6IFthc3luYy1mdW5j
dGlvbnMsIGNsYXNzLXN0YXRpYy1tZXRob2RzLXByaXZhdGVdCitmbGFnczogW2dlbmVyYXRlZCwg
YXN5bmNdCitpbmZvOiB8CisgICAgQ2xhc3NFbGVtZW50IDoKKyAgICAgIHN0YXRpYyBQcml2YXRl
TWV0aG9kRGVmaW5pdGlvbgorCisgICAgTWV0aG9kRGVmaW5pdGlvbiA6CisgICAgICBBc3luY01l
dGhvZAorCisgICAgQXN5bmMgRnVuY3Rpb24gRGVmaW5pdGlvbnMKKworICAgIEFzeW5jTWV0aG9k
IDoKKyAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSAjIFByb3BlcnR5TmFtZSAo
IFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVuY3Rpb25Cb2R5IH0KKworLS0tKi8K
K2xldCBjb3VudCA9IDA7CisKKworY2xhc3MgQyB7CisgIHN0YXRpYyBhc3luYyAjbWV0aG9kKHgp
IHsKKyAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24oKSB7IHJldHVybiBuZXcudGFyZ2V0OyB9Owor
ICB9CisgIHN0YXRpYyBhc3luYyBtZXRob2QoeCkgeworICAgIHJldHVybiB0aGlzLiNtZXRob2Qo
eCk7CisgIH0KK30KKy8vIFN0b3JlcyBhIHJlZmVyZW5jZSBgYXN5bmNGbmAgZm9yIGNhc2UgZXZh
bHVhdGlvbgorbGV0IGFzeW5jRm4gPSBDLm1ldGhvZC5iaW5kKEMpOworCithc3luY0ZuKDEpLnRo
ZW4ocmV0Rm4gPT4geworICBjb3VudCsrOworICByZXR1cm4gcmV0Rm4oKTsKK30pLnRoZW4ocmVz
dWx0ID0+IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIHVuZGVmaW5lZCk7CisgIGFzc2Vy
dC5zYW1lVmFsdWUoY291bnQsIDEpOworfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50
cy9hc3luYy1wcml2YXRlLW1ldGhvZC1zdGF0aWMvcmV0dXJucy1hc3luYy1mdW5jdGlvbi5qcyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMv
YXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMtZnVuY3Rpb24uanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uM2EwZTVhNjRlMzk1ZTM1YTNjY2QyMWM1YTdlM2I1Y2RlNWUxNmQwZgotLS0gL2Rl
di9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qtc3RhdGljL3JldHVybnMtYXN5bmMtZnVu
Y3Rpb24uanMKQEAgLTAsMCArMSw0MiBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkg
Z2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvYXN5bmMtZnVu
Y3Rpb25zL3JldHVybnMtYXN5bmMtZnVuY3Rpb24uY2FzZQorLy8gLSBzcmMvYXN5bmMtZnVuY3Rp
b25zL2V2YWx1YXRpb24vYXN5bmMtY2xhc3MtZGVjbC1zdGF0aWMtcHJpdmF0ZS1tZXRob2QudGVt
cGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXN5bmMgZnVuY3Rpb24gcmV0dXJucyBhbiBhc3lu
YyBmdW5jdGlvbi4gKFN0YXRpYyBhc3luYyBwcml2YXRlIG1ldGhvZCBhcyBhIENsYXNzRGVjbGFy
YXRpb24gZWxlbWVudCkKK2VzaWQ6IHByb2QtQXN5bmNNZXRob2QKK2ZlYXR1cmVzOiBbYXN5bmMt
ZnVuY3Rpb25zLCBjbGFzcy1zdGF0aWMtbWV0aG9kcy1wcml2YXRlXQorZmxhZ3M6IFtnZW5lcmF0
ZWQsIGFzeW5jXQoraW5mbzogfAorICAgIENsYXNzRWxlbWVudCA6CisgICAgICBzdGF0aWMgUHJp
dmF0ZU1ldGhvZERlZmluaXRpb24KKworICAgIE1ldGhvZERlZmluaXRpb24gOgorICAgICAgQXN5
bmNNZXRob2QKKworICAgIEFzeW5jIEZ1bmN0aW9uIERlZmluaXRpb25zCisKKyAgICBBc3luY01l
dGhvZCA6CisgICAgICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gIyBQcm9wZXJ0eU5h
bWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CisKKy0t
LSovCitsZXQgY291bnQgPSAwOworCisKK2NsYXNzIEMgeworICBzdGF0aWMgYXN5bmMgI21ldGhv
ZCh4KSB7CisgICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uKCkgeyByZXR1cm4geDsgfTsKKyAgfQor
ICBzdGF0aWMgYXN5bmMgbWV0aG9kKHgpIHsKKyAgICByZXR1cm4gdGhpcy4jbWV0aG9kKHgpOwor
ICB9Cit9CisvLyBTdG9yZXMgYSByZWZlcmVuY2UgYGFzeW5jRm5gIGZvciBjYXNlIGV2YWx1YXRp
b24KK2xldCBhc3luY0ZuID0gQy5tZXRob2QuYmluZChDKTsKKworYXN5bmNGbigxKS50aGVuKHJl
dEZuID0+IHsKKyAgY291bnQrKzsKKyAgcmV0dXJuIHJldEZuKCk7Cit9KS50aGVuKHJlc3VsdCA9
PiB7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAxKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShj
b3VudCwgMSk7Cit9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZh
dGUtbWV0aG9kL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci1lc2NhcGVkLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3luYy1w
cml2YXRlLW1ldGhvZC9hd2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXItZXNjYXBlZC5qcwppbmRl
eCAzMjRlODQyZTAwMGY0ZmRmOTVlMDBhMTk2YjVkNDVlMDQwYzliZTE2Li43MDRiZDdiNDMxZWYw
OGZkMDQxNTY3YmExMjI1OWFlY2ZlMmZjNjMwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0
aG9kL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRpZmllci1lc2NhcGVkLmpzCisrKyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJp
dmF0ZS1tZXRob2QvYXdhaXQtYXMtYmluZGluZy1pZGVudGlmaWVyLWVzY2FwZWQuanMKQEAgLTMx
LDYgKzMxLDggQEAgaW5mbzogfAogJERPTk9URVZBTFVBVEUoKTsKIAogCi1jbGFzcyBDIHsgYXN5
bmMgI21ldGhvZCgpIHsKK2NsYXNzIEMgeworICBhc3luYyAjbWV0aG9kKCkgewogICAgIHZhciBc
dTAwNjF3YWl0OwotfX0KKyAgfQorfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC9h
d2FpdC1hcy1iaW5kaW5nLWlkZW50aWZpZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL2F3YWl0
LWFzLWJpbmRpbmctaWRlbnRpZmllci5qcwppbmRleCA0Y2M1ZjQzYTBhODI5ZmU5OTZlZWYzYmQz
ZTdkOTczODFkMzQzNGI2Li5iYWEzNGY5YWY5NWNjYWEwYWM4NmUyYzZiNjkwNGQ4YTE4YmJhODRh
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRp
Zmllci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL2F3YWl0LWFzLWJpbmRpbmctaWRlbnRp
Zmllci5qcwpAQCAtMzEsNiArMzEsOCBAQCBpbmZvOiB8CiAkRE9OT1RFVkFMVUFURSgpOwogCiAK
LWNsYXNzIEMgeyBhc3luYyAjbWV0aG9kKCkgeworY2xhc3MgQyB7CisgIGFzeW5jICNtZXRob2Qo
KSB7CiAgICAgdmFyIGF3YWl0OwotfX0KKyAgfQorfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRl
LW1ldGhvZC9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS1lc2NhcGVkLmpzIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3luYy1w
cml2YXRlLW1ldGhvZC9hd2FpdC1hcy1pZGVudGlmaWVyLXJlZmVyZW5jZS1lc2NhcGVkLmpzCmlu
ZGV4IDUyNWRiNGQwMTk4MDlhN2Y1OGMzNjIwM2VmYWI2YzM2YzExYTRiODYuLmFmZDgzZDRkZWJj
NTVhNjdlNTdhYTViN2U2OTBlYTBkMGIyOTQxN2QgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1t
ZXRob2QvYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UtZXNjYXBlZC5qcworKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5j
LXByaXZhdGUtbWV0aG9kL2F3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLWVzY2FwZWQuanMK
QEAgLTMxLDYgKzMxLDggQEAgaW5mbzogfAogJERPTk9URVZBTFVBVEUoKTsKIAogCi1jbGFzcyBD
IHsgYXN5bmMgI21ldGhvZCgpIHsKK2NsYXNzIEMgeworICBhc3luYyAjbWV0aG9kKCkgewogICAg
IHZvaWQgXHUwMDYxd2FpdDsKLX19CisgIH0KK30KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1t
ZXRob2QvYXdhaXQtYXMtaWRlbnRpZmllci1yZWZlcmVuY2UuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0
aG9kL2F3YWl0LWFzLWlkZW50aWZpZXItcmVmZXJlbmNlLmpzCmluZGV4IGZjMDU0MGExNmJiYWRi
Mjk2MzY3MjM0Y2I2YmNiMDkzZDBkZWUzYWIuLjQyNWQwMjRiMTQwN2UzNGExNTc0YWVhZTg4YTZl
ZGI1NGJiMjMyYTEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2QvYXdhaXQtYXMtaWRl
bnRpZmllci1yZWZlcmVuY2UuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC9hd2FpdC1hcy1p
ZGVudGlmaWVyLXJlZmVyZW5jZS5qcwpAQCAtMzEsNiArMzEsOCBAQCBpbmZvOiB8CiAkRE9OT1RF
VkFMVUFURSgpOwogCiAKLWNsYXNzIEMgeyBhc3luYyAjbWV0aG9kKCkgeworY2xhc3MgQyB7Cisg
IGFzeW5jICNtZXRob2QoKSB7CiAgICAgdm9pZCBhd2FpdDsKLX19CisgIH0KK30KZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVu
dHMvYXN5bmMtcHJpdmF0ZS1tZXRob2QvYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci1lc2NhcGVk
LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVt
ZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC9hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLWVzY2Fw
ZWQuanMKaW5kZXggOTEyMGUyZTFkMzc4YzA2NGZhNjI1YzFmNTRiNGQ0OWE4ZWZjMjY5Ny4uM2U4
MzVjZGM2MTlhNjcyMTUwMGFlZjJiYTQxOWZjZmIxODgzNjJlNSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3luYy1w
cml2YXRlLW1ldGhvZC9hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLWVzY2FwZWQuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9h
c3luYy1wcml2YXRlLW1ldGhvZC9hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVyLWVzY2FwZWQuanMK
QEAgLTMxLDYgKzMxLDggQEAgaW5mbzogfAogJERPTk9URVZBTFVBVEUoKTsKIAogCi1jbGFzcyBD
IHsgYXN5bmMgI21ldGhvZCgpIHsKK2NsYXNzIEMgeworICBhc3luYyAjbWV0aG9kKCkgewogICAg
IFx1MDA2MXdhaXQ6IDsKLX19CisgIH0KK30KZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRo
b2QvYXdhaXQtYXMtbGFiZWwtaWRlbnRpZmllci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2QvYXdh
aXQtYXMtbGFiZWwtaWRlbnRpZmllci5qcwppbmRleCBkZDBjNGQ2NzZhNTBiZDc5ZGZjNjA2ODYz
ODg5YzhmYzA5MTQ3MWY2Li5lNTE2NjdmZDc4Y2FmMmVmMjE2NGI1ZDZkZTFkNzI3MWI0NDhjZmVj
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL2F3YWl0LWFzLWxhYmVsLWlkZW50aWZp
ZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC9hd2FpdC1hcy1sYWJlbC1pZGVudGlmaWVy
LmpzCkBAIC0zMSw2ICszMSw4IEBAIGluZm86IHwKICRET05PVEVWQUxVQVRFKCk7CiAKIAotY2xh
c3MgQyB7IGFzeW5jICNtZXRob2QoKSB7CitjbGFzcyBDIHsKKyAgYXN5bmMgI21ldGhvZCgpIHsK
ICAgICBhd2FpdDogOwotfX0KKyAgfQorfQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhv
ZC9yZXR1cm5zLWFzeW5jLWFycm93LXJldHVybnMtYXJndW1lbnRzLWZyb20tcGFyZW50LWZ1bmN0
aW9uLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9l
bGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC9yZXR1cm5zLWFzeW5jLWFycm93LXJldHVybnMt
YXJndW1lbnRzLWZyb20tcGFyZW50LWZ1bmN0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhjNzU3NTNlNTU2
Y2MxN2NmZDFiZGY4NTI1MjE4YjE3ZDgzZGRlZjIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXBy
aXZhdGUtbWV0aG9kL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1hcmd1bWVudHMtZnJvbS1w
YXJlbnQtZnVuY3Rpb24uanMKQEAgLTAsMCArMSw0NCBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9j
ZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMv
YXN5bmMtZnVuY3Rpb25zL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1hcmd1bWVudHMtZnJv
bS1wYXJlbnQtZnVuY3Rpb24uY2FzZQorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25zL2V2YWx1YXRp
b24vYXN5bmMtY2xhc3MtZGVjbC1wcml2YXRlLW1ldGhvZC50ZW1wbGF0ZQorLyotLS0KK2Rlc2Ny
aXB0aW9uOiBBc3luYyBmdW5jdGlvbiByZXR1cm5zIGFuIGFzeW5jIGZ1bmN0aW9uLiAoQXN5bmMg
cHJpdmF0ZSBtZXRob2QgYXMgYSBDbGFzc0RlY2xhcmF0aW9uIGVsZW1lbnQpCitlc2lkOiBwcm9k
LUFzeW5jTWV0aG9kCitmZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9ucywgY2xhc3MtbWV0aG9kcy1w
cml2YXRlXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIGFzeW5jXQoraW5mbzogfAorICAgIENsYXNzRWxl
bWVudCA6CisgICAgICBQcml2YXRlTWV0aG9kRGVmaW5pdGlvbgorCisgICAgTWV0aG9kRGVmaW5p
dGlvbiA6CisgICAgICBBc3luY01ldGhvZAorCisgICAgQXN5bmMgRnVuY3Rpb24gRGVmaW5pdGlv
bnMKKworICAgIEFzeW5jTWV0aG9kIDoKKyAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBo
ZXJlXSAjIFByb3BlcnR5TmFtZSAoIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVu
Y3Rpb25Cb2R5IH0KKworLS0tKi8KK2xldCBjb3VudCA9IDA7CisKKworY2xhc3MgQyB7CisgIGFz
eW5jICNtZXRob2QoeCkgeworICAgIGxldCBhID0gYXJndW1lbnRzOworICAgICAgcmV0dXJuIGFz
eW5jICgpID0+IGEgPT09IGFyZ3VtZW50czsKKyAgfQorICBhc3luYyBtZXRob2QoeCkgeworICAg
IHJldHVybiB0aGlzLiNtZXRob2QoeCk7CisgIH0KK30KKy8vIFN0b3JlcyBhIHJlZmVyZW5jZSBg
YXN5bmNGbmAgZm9yIGNhc2UgZXZhbHVhdGlvbgorbGV0IGMgPSBuZXcgQygpOworbGV0IGFzeW5j
Rm4gPSBjLm1ldGhvZC5iaW5kKGMpOworCithc3luY0ZuKCkudGhlbihyZXRGbiA9PiB7CisgIGNv
dW50Kys7CisgIHJldHVybiByZXRGbigpOworfSkudGhlbihyZXN1bHQgPT4geworICBhc3NlcnQu
c2FtZVZhbHVlKHJlc3VsdCwgdHJ1ZSk7CisgIGFzc2VydC5zYW1lVmFsdWUoY291bnQsIDEpOwor
fSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC9y
ZXR1cm5zLWFzeW5jLWFycm93LXJldHVybnMtbmV3dGFyZ2V0LmpzIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1l
dGhvZC9yZXR1cm5zLWFzeW5jLWFycm93LXJldHVybnMtbmV3dGFyZ2V0LmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjE0YmIwOTJlNjkwMzM3NWM4M2NkZTc4ODc2NWM4MmQ2NjcyYWJmYzIKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1l
bnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1uZXd0
YXJnZXQuanMKQEAgLTAsMCArMSw0MyBAQAorLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkg
Z2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgorLy8gLSBzcmMvYXN5bmMtZnVu
Y3Rpb25zL3JldHVybnMtYXN5bmMtYXJyb3ctcmV0dXJucy1uZXd0YXJnZXQuY2FzZQorLy8gLSBz
cmMvYXN5bmMtZnVuY3Rpb25zL2V2YWx1YXRpb24vYXN5bmMtY2xhc3MtZGVjbC1wcml2YXRlLW1l
dGhvZC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBc3luYyBmdW5jdGlvbiByZXR1cm5z
IGFuIGFzeW5jIGZ1bmN0aW9uLiAoQXN5bmMgcHJpdmF0ZSBtZXRob2QgYXMgYSBDbGFzc0RlY2xh
cmF0aW9uIGVsZW1lbnQpCitlc2lkOiBwcm9kLUFzeW5jTWV0aG9kCitmZWF0dXJlczogW2FzeW5j
LWZ1bmN0aW9ucywgY2xhc3MtbWV0aG9kcy1wcml2YXRlXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIGFz
eW5jXQoraW5mbzogfAorICAgIENsYXNzRWxlbWVudCA6CisgICAgICBQcml2YXRlTWV0aG9kRGVm
aW5pdGlvbgorCisgICAgTWV0aG9kRGVmaW5pdGlvbiA6CisgICAgICBBc3luY01ldGhvZAorCisg
ICAgQXN5bmMgRnVuY3Rpb24gRGVmaW5pdGlvbnMKKworICAgIEFzeW5jTWV0aG9kIDoKKyAgICAg
IGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSAjIFByb3BlcnR5TmFtZSAoIFVuaXF1ZUZv
cm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVuY3Rpb25Cb2R5IH0KKworLS0tKi8KK2xldCBjb3Vu
dCA9IDA7CisKKworY2xhc3MgQyB7CisgIGFzeW5jICNtZXRob2QoeCkgeworICAgIHJldHVybiBh
c3luYyAoKSA9PiBuZXcudGFyZ2V0OworICB9CisgIGFzeW5jIG1ldGhvZCh4KSB7CisgICAgcmV0
dXJuIHRoaXMuI21ldGhvZCh4KTsKKyAgfQorfQorLy8gU3RvcmVzIGEgcmVmZXJlbmNlIGBhc3lu
Y0ZuYCBmb3IgY2FzZSBldmFsdWF0aW9uCitsZXQgYyA9IG5ldyBDKCk7CitsZXQgYXN5bmNGbiA9
IGMubWV0aG9kLmJpbmQoYyk7CisKK2FzeW5jRm4oKS50aGVuKHJldEZuID0+IHsKKyAgY291bnQr
KzsKKyAgcmV0dXJuIHJldEZuKCk7Cit9KS50aGVuKHJlc3VsdCA9PiB7CisgIGFzc2VydC5zYW1l
VmFsdWUocmVzdWx0LCB1bmRlZmluZWQpOworICBhc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxKTsK
K30pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2Qv
cmV0dXJucy1hc3luYy1hcnJvdy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2QvcmV0dXJucy1hc3lu
Yy1hcnJvdy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZGI4ODYwZDYzMzdjOWVhZDBkY2NlNmQ2MWE5NDE1ZTgw
OWMzNjZlCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC9yZXR1cm5zLWFz
eW5jLWFycm93LmpzCkBAIC0wLDAgKzEsNDMgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJh
bGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2FzeW5j
LWZ1bmN0aW9ucy9yZXR1cm5zLWFzeW5jLWFycm93LmNhc2UKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0
aW9ucy9ldmFsdWF0aW9uL2FzeW5jLWNsYXNzLWRlY2wtcHJpdmF0ZS1tZXRob2QudGVtcGxhdGUK
Ky8qLS0tCitkZXNjcmlwdGlvbjogQXN5bmMgZnVuY3Rpb24gcmV0dXJucyBhbiBhc3luYyBmdW5j
dGlvbi4gKEFzeW5jIHByaXZhdGUgbWV0aG9kIGFzIGEgQ2xhc3NEZWNsYXJhdGlvbiBlbGVtZW50
KQorZXNpZDogcHJvZC1Bc3luY01ldGhvZAorZmVhdHVyZXM6IFthc3luYy1mdW5jdGlvbnMsIGNs
YXNzLW1ldGhvZHMtcHJpdmF0ZV0KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3luY10KK2luZm86IHwK
KyAgICBDbGFzc0VsZW1lbnQgOgorICAgICAgUHJpdmF0ZU1ldGhvZERlZmluaXRpb24KKworICAg
IE1ldGhvZERlZmluaXRpb24gOgorICAgICAgQXN5bmNNZXRob2QKKworICAgIEFzeW5jIEZ1bmN0
aW9uIERlZmluaXRpb25zCisKKyAgICBBc3luY01ldGhvZCA6CisgICAgICBhc3luYyBbbm8gTGlu
ZVRlcm1pbmF0b3IgaGVyZV0gIyBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3JtYWxQYXJhbWV0ZXJz
ICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CisKKy0tLSovCitsZXQgY291bnQgPSAwOworCisKK2Ns
YXNzIEMgeworICBhc3luYyAjbWV0aG9kKHgpIHsKKyAgICByZXR1cm4gYXN5bmMgKCkgPT4geDsK
KyAgfQorICBhc3luYyBtZXRob2QoeCkgeworICAgIHJldHVybiB0aGlzLiNtZXRob2QoeCk7Cisg
IH0KK30KKy8vIFN0b3JlcyBhIHJlZmVyZW5jZSBgYXN5bmNGbmAgZm9yIGNhc2UgZXZhbHVhdGlv
bgorbGV0IGMgPSBuZXcgQygpOworbGV0IGFzeW5jRm4gPSBjLm1ldGhvZC5iaW5kKGMpOworCith
c3luY0ZuKDEpLnRoZW4ocmV0Rm4gPT4geworICBjb3VudCsrOworICByZXR1cm4gcmV0Rm4oKTsK
K30pLnRoZW4ocmVzdWx0ID0+IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEpOworICBh
c3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxKTsKK30pLnRoZW4oJERPTkUsICRET05FKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxl
bWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2QvcmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1cm5z
LWFyZ3VtZW50cy1mcm9tLW93bi1mdW5jdGlvbi5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXN5bmMtcHJpdmF0ZS1tZXRob2QvcmV0
dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1cm5zLWFyZ3VtZW50cy1mcm9tLW93bi1mdW5jdGlvbi5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44OWZkNzBkZWZkZWVhODUyY2VmYjJhOTc3ZWJiOWM5NjZmYTdmNTE3Ci0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRlLW1ldGhvZC9yZXR1cm5zLWFzeW5jLWZ1bmN0
aW9uLXJldHVybnMtYXJndW1lbnRzLWZyb20tb3duLWZ1bmN0aW9uLmpzCkBAIC0wLDAgKzEsNDQg
QEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xs
b3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2FzeW5jLWZ1bmN0aW9ucy9yZXR1cm5zLWFzeW5jLWZ1
bmN0aW9uLXJldHVybnMtYXJndW1lbnRzLWZyb20tb3duLWZ1bmN0aW9uLmNhc2UKKy8vIC0gc3Jj
L2FzeW5jLWZ1bmN0aW9ucy9ldmFsdWF0aW9uL2FzeW5jLWNsYXNzLWRlY2wtcHJpdmF0ZS1tZXRo
b2QudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjogQXN5bmMgZnVuY3Rpb24gcmV0dXJucyBh
biBhc3luYyBmdW5jdGlvbi4gKEFzeW5jIHByaXZhdGUgbWV0aG9kIGFzIGEgQ2xhc3NEZWNsYXJh
dGlvbiBlbGVtZW50KQorZXNpZDogcHJvZC1Bc3luY01ldGhvZAorZmVhdHVyZXM6IFthc3luYy1m
dW5jdGlvbnMsIGNsYXNzLW1ldGhvZHMtcHJpdmF0ZV0KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBhc3lu
Y10KK2luZm86IHwKKyAgICBDbGFzc0VsZW1lbnQgOgorICAgICAgUHJpdmF0ZU1ldGhvZERlZmlu
aXRpb24KKworICAgIE1ldGhvZERlZmluaXRpb24gOgorICAgICAgQXN5bmNNZXRob2QKKworICAg
IEFzeW5jIEZ1bmN0aW9uIERlZmluaXRpb25zCisKKyAgICBBc3luY01ldGhvZCA6CisgICAgICBh
c3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gIyBQcm9wZXJ0eU5hbWUgKCBVbmlxdWVGb3Jt
YWxQYXJhbWV0ZXJzICkgeyBBc3luY0Z1bmN0aW9uQm9keSB9CisKKy0tLSovCitsZXQgY291bnQg
PSAwOworCisKK2NsYXNzIEMgeworICBhc3luYyAjbWV0aG9kKHgpIHsKKyAgICBsZXQgYSA9IGFy
Z3VtZW50czsKKyAgICAgIHJldHVybiBhc3luYyBmdW5jdGlvbigpIHsgcmV0dXJuIGEgPT09IGFy
Z3VtZW50czsgfTsKKyAgfQorICBhc3luYyBtZXRob2QoeCkgeworICAgIHJldHVybiB0aGlzLiNt
ZXRob2QoeCk7CisgIH0KK30KKy8vIFN0b3JlcyBhIHJlZmVyZW5jZSBgYXN5bmNGbmAgZm9yIGNh
c2UgZXZhbHVhdGlvbgorbGV0IGMgPSBuZXcgQygpOworbGV0IGFzeW5jRm4gPSBjLm1ldGhvZC5i
aW5kKGMpOworCithc3luY0ZuKDEpLnRoZW4ocmV0Rm4gPT4geworICBjb3VudCsrOworICByZXR1
cm4gcmV0Rm4oKTsKK30pLnRoZW4ocmVzdWx0ID0+IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1
bHQsIGZhbHNlKTsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwgMSk7Cit9KS50aGVuKCRET05F
LCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL3JldHVybnMtYXN5bmMt
ZnVuY3Rpb24tcmV0dXJucy1uZXd0YXJnZXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXByaXZhdGUtbWV0aG9kL3JldHVy
bnMtYXN5bmMtZnVuY3Rpb24tcmV0dXJucy1uZXd0YXJnZXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGZhZDIx
NTE2ODk2ZTc5YTViYTY2MjI3ZmJmM2NjYmY3MzVhYTQ5NwotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvYXN5
bmMtcHJpdmF0ZS1tZXRob2QvcmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1cm5zLW5ld3Rhcmdl
dC5qcwpAQCAtMCwwICsxLDQzIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5l
cmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9hc3luYy1mdW5jdGlv
bnMvcmV0dXJucy1hc3luYy1mdW5jdGlvbi1yZXR1cm5zLW5ld3RhcmdldC5jYXNlCisvLyAtIHNy
Yy9hc3luYy1mdW5jdGlvbnMvZXZhbHVhdGlvbi9hc3luYy1jbGFzcy1kZWNsLXByaXZhdGUtbWV0
aG9kLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEFzeW5jIGZ1bmN0aW9uIHJldHVybnMg
YW4gYXN5bmMgZnVuY3Rpb24uIChBc3luYyBwcml2YXRlIG1ldGhvZCBhcyBhIENsYXNzRGVjbGFy
YXRpb24gZWxlbWVudCkKK2VzaWQ6IHByb2QtQXN5bmNNZXRob2QKK2ZlYXR1cmVzOiBbYXN5bmMt
ZnVuY3Rpb25zLCBjbGFzcy1tZXRob2RzLXByaXZhdGVdCitmbGFnczogW2dlbmVyYXRlZCwgYXN5
bmNdCitpbmZvOiB8CisgICAgQ2xhc3NFbGVtZW50IDoKKyAgICAgIFByaXZhdGVNZXRob2REZWZp
bml0aW9uCisKKyAgICBNZXRob2REZWZpbml0aW9uIDoKKyAgICAgIEFzeW5jTWV0aG9kCisKKyAg
ICBBc3luYyBGdW5jdGlvbiBEZWZpbml0aW9ucworCisgICAgQXN5bmNNZXRob2QgOgorICAgICAg
YXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdICMgUHJvcGVydHlOYW1lICggVW5pcXVlRm9y
bWFsUGFyYW1ldGVycyApIHsgQXN5bmNGdW5jdGlvbkJvZHkgfQorCistLS0qLworbGV0IGNvdW50
ID0gMDsKKworCitjbGFzcyBDIHsKKyAgYXN5bmMgI21ldGhvZCh4KSB7CisgICAgcmV0dXJuIGFz
eW5jIGZ1bmN0aW9uKCkgeyByZXR1cm4gbmV3LnRhcmdldDsgfTsKKyAgfQorICBhc3luYyBtZXRo
b2QoeCkgeworICAgIHJldHVybiB0aGlzLiNtZXRob2QoeCk7CisgIH0KK30KKy8vIFN0b3JlcyBh
IHJlZmVyZW5jZSBgYXN5bmNGbmAgZm9yIGNhc2UgZXZhbHVhdGlvbgorbGV0IGMgPSBuZXcgQygp
OworbGV0IGFzeW5jRm4gPSBjLm1ldGhvZC5iaW5kKGMpOworCithc3luY0ZuKDEpLnRoZW4ocmV0
Rm4gPT4geworICBjb3VudCsrOworICByZXR1cm4gcmV0Rm4oKTsKK30pLnRoZW4ocmVzdWx0ID0+
IHsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIHVuZGVmaW5lZCk7CisgIGFzc2VydC5zYW1l
VmFsdWUoY291bnQsIDEpOworfSkudGhlbigkRE9ORSwgJERPTkUpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3lu
Yy1wcml2YXRlLW1ldGhvZC9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLmpzIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hc3luYy1wcml2YXRl
LW1ldGhvZC9yZXR1cm5zLWFzeW5jLWZ1bmN0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE0YTgyMjg3YTE0
OWJmMGI4NDc1MzZmMWQ3ZTRlNWI1MmZlY2Q3YWMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2FzeW5jLXBy
aXZhdGUtbWV0aG9kL3JldHVybnMtYXN5bmMtZnVuY3Rpb24uanMKQEAgLTAsMCArMSw0MyBAQAor
Ly8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2lu
ZyBzb3VyY2VzOgorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25zL3JldHVybnMtYXN5bmMtZnVuY3Rp
b24uY2FzZQorLy8gLSBzcmMvYXN5bmMtZnVuY3Rpb25zL2V2YWx1YXRpb24vYXN5bmMtY2xhc3Mt
ZGVjbC1wcml2YXRlLW1ldGhvZC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBBc3luYyBm
dW5jdGlvbiByZXR1cm5zIGFuIGFzeW5jIGZ1bmN0aW9uLiAoQXN5bmMgcHJpdmF0ZSBtZXRob2Qg
YXMgYSBDbGFzc0RlY2xhcmF0aW9uIGVsZW1lbnQpCitlc2lkOiBwcm9kLUFzeW5jTWV0aG9kCitm
ZWF0dXJlczogW2FzeW5jLWZ1bmN0aW9ucywgY2xhc3MtbWV0aG9kcy1wcml2YXRlXQorZmxhZ3M6
IFtnZW5lcmF0ZWQsIGFzeW5jXQoraW5mbzogfAorICAgIENsYXNzRWxlbWVudCA6CisgICAgICBQ
cml2YXRlTWV0aG9kRGVmaW5pdGlvbgorCisgICAgTWV0aG9kRGVmaW5pdGlvbiA6CisgICAgICBB
c3luY01ldGhvZAorCisgICAgQXN5bmMgRnVuY3Rpb24gRGVmaW5pdGlvbnMKKworICAgIEFzeW5j
TWV0aG9kIDoKKyAgICAgIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSAjIFByb3BlcnR5
TmFtZSAoIFVuaXF1ZUZvcm1hbFBhcmFtZXRlcnMgKSB7IEFzeW5jRnVuY3Rpb25Cb2R5IH0KKwor
LS0tKi8KK2xldCBjb3VudCA9IDA7CisKKworY2xhc3MgQyB7CisgIGFzeW5jICNtZXRob2QoeCkg
eworICAgIHJldHVybiBhc3luYyBmdW5jdGlvbigpIHsgcmV0dXJuIHg7IH07CisgIH0KKyAgYXN5
bmMgbWV0aG9kKHgpIHsKKyAgICByZXR1cm4gdGhpcy4jbWV0aG9kKHgpOworICB9Cit9CisvLyBT
dG9yZXMgYSByZWZlcmVuY2UgYGFzeW5jRm5gIGZvciBjYXNlIGV2YWx1YXRpb24KK2xldCBjID0g
bmV3IEMoKTsKK2xldCBhc3luY0ZuID0gYy5tZXRob2QuYmluZChjKTsKKworYXN5bmNGbigxKS50
aGVuKHJldEZuID0+IHsKKyAgY291bnQrKzsKKyAgcmV0dXJuIHJldEZuKCk7Cit9KS50aGVuKHJl
c3VsdCA9PiB7CisgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAxKTsKKyAgYXNzZXJ0LnNhbWVW
YWx1ZShjb3VudCwgMSk7Cit9KS50aGVuKCRET05FLCAkRE9ORSk7CmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2RpcmVj
dC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVudHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2RpcmVjdC1ldmFsLWVyci1jb250YWlu
cy1hcmd1bWVudHMuanMKaW5kZXggYjlkZWRlNmMwN2E5NzQ5Mzc3ZDFkZDg0MjVhOGIyMmUyZjJk
ZWYzNC4uYWQyN2ZiNmFmYTQwNjBkZWY1YTRjYzY0NjA0OThjMzRhYmM3ZjVjYyAxMDA2NDQKLS0t
IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50
cy9kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvZGlyZWN0LWV2YWwt
ZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5qcwpAQCAtMSw2ICsxLDYgQEAKIC8vIFRoaXMgZmlsZSB3
YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKIC8v
IC0gc3JjL2NsYXNzLWVsZW1lbnRzL2V2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5jYXNlCi0v
LyAtIHNyYy9jbGFzcy1lbGVtZW50cy9pbml0aWFsaXplci1ldmFsLWFyZ3VtZW50cy9jbHMtZGVj
bC1maWVsZHMtZXZhbC50ZW1wbGF0ZQorLy8gLSBzcmMvY2xhc3MtZWxlbWVudHMvaW5pdGlhbGl6
ZXItZGlyZWN0LWV2YWwtYXJndW1lbnRzL2Nscy1kZWNsLWZpZWxkcy1ldmFsLnRlbXBsYXRlCiAv
Ki0tLQogZGVzY3JpcHRpb246IGVycm9yIGlmIGBhcmd1bWVudHNgIGluIFN0YXRlbWVudExpc3Qg
b2YgZXZhbCAoZGlyZWN0IGV2YWwpCiBlc2lkOiBzZWMtcGVyZm9ybWV2YWwtcnVsZXMtaW4taW5p
dGlhbGl6ZXIKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvZWxlbWVudHMvaW5kaXJlY3QtZXZhbC1jb250YWlucy1hcmd1bWVudHMuanMg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRz
L2luZGlyZWN0LWV2YWwtY29udGFpbnMtYXJndW1lbnRzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM0Njc2YjVk
YjA4ZTlmMzU0N2MyNmFhOWIzY2E1MDM1ZDFlMTJhZDYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2luZGly
ZWN0LWV2YWwtY29udGFpbnMtYXJndW1lbnRzLmpzCkBAIC0wLDAgKzEsMjEgQEAKKy8vIFRoaXMg
ZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNl
czoKKy8vIC0gc3JjL2NsYXNzLWVsZW1lbnRzL2V2YWwtY29udGFpbnMtYXJndW1lbnRzLmNhc2UK
Ky8vIC0gc3JjL2NsYXNzLWVsZW1lbnRzL2luaXRpYWxpemVyLWluZGlyZWN0LWV2YWwtYXJndW1l
bnRzL2Nscy1kZWNsLWZpZWxkcy1pbmRpcmVjdC1ldmFsLnRlbXBsYXRlCisvKi0tLQorZGVzY3Jp
cHRpb246IE5vIGVycm9yIGlmIGBhcmd1bWVudHNgIGluIFN0YXRlbWVudExpc3Qgb2YgZXZhbCAo
aW5kaXJlY3QgZXZhbCkKK2VzaWQ6IHNlYy1wZXJmb3JtZXZhbC1ydWxlcy1pbi1pbml0aWFsaXpl
cgorZmVhdHVyZXM6IFtjbGFzcywgY2xhc3MtZmllbGRzLXB1YmxpY10KK2ZsYWdzOiBbZ2VuZXJh
dGVkLCBub1N0cmljdF0KK2luZm86IHwKKyAgICBGb3IgaW5kaXJlY3QgZXZhbCwgdGhlICJBZGRp
dGlvbmFsIEVhcmx5IEVycm9yIFJ1bGVzIGZvciBFdmFsIEluc2lkZSBJbml0aWFsaXplciIKKyAg
ICAoaW4gI3NlYy1wZXJmb3JtZXZhbC1ydWxlcy1pbi1pbml0aWFsaXplcikgYXJlIE5PVCBhcHBs
aWNhYmxlLgorCistLS0qLworCisKK3ZhciBhcmd1bWVudHMgPSAxOworY2xhc3MgQyB7CisgIHgg
PSAoMCwgZXZhbCkoJ2FyZ3VtZW50czsnKTsKK30KKworYXNzZXJ0LnNhbWVWYWx1ZShuZXcgQygp
LngsIGFyZ3VtZW50cyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL2luZGlyZWN0LWV2YWwtZXJyLWNvbnRhaW5zLWFy
Z3VtZW50cy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvZWxlbWVudHMvaW5kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmpzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOWE4YWUwNTI0OTIyODY3OTBjYjBiM2UxNDQ1ZDg2
NzUxNjMwYTk1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMv
aW5kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmpzCisrKyAvZGV2L251bGwKQEAg
LTEsMzYgKzAsMCBAQAotLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZy
b20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgotLy8gLSBzcmMvY2xhc3MtZWxlbWVudHMvZXZhbC1l
cnItY29udGFpbnMtYXJndW1lbnRzLmNhc2UKLS8vIC0gc3JjL2NsYXNzLWVsZW1lbnRzL2luaXRp
YWxpemVyLWV2YWwtYXJndW1lbnRzL2Nscy1kZWNsLWZpZWxkcy1pbmRpcmVjdC1ldmFsLnRlbXBs
YXRlCi0vKi0tLQotZGVzY3JpcHRpb246IGVycm9yIGlmIGBhcmd1bWVudHNgIGluIFN0YXRlbWVu
dExpc3Qgb2YgZXZhbCAoaW5kaXJlY3QgZXZhbCkKLWVzaWQ6IHNlYy1wZXJmb3JtZXZhbC1ydWxl
cy1pbi1pbml0aWFsaXplcgotZmVhdHVyZXM6IFtjbGFzcywgY2xhc3MtZmllbGRzLXB1YmxpY10K
LWZsYWdzOiBbZ2VuZXJhdGVkXQotaW5mbzogfAotICAgIEFkZGl0aW9uYWwgRWFybHkgRXJyb3Ig
UnVsZXMgZm9yIEV2YWwgSW5zaWRlIEluaXRpYWxpemVyCi0gICAgVGhlc2Ugc3RhdGljIHNlbWFu
dGljcyBhcmUgYXBwbGllZCBieSBQZXJmb3JtRXZhbCB3aGVuIGEgZGlyZWN0IGV2YWwgY2FsbCBv
Y2N1cnMgaW5zaWRlIGEgY2xhc3MgZmllbGQgaW5pdGlhbGl6ZXIuCi0gICAgU2NyaXB0Qm9keSA6
IFN0YXRlbWVudExpc3QKLQotICAgICAgSXQgaXMgYSBTeW50YXggRXJyb3IgaWYgQ29udGFpbnNB
cmd1bWVudHMgb2YgU3RhdGVtZW50TGlzdCBpcyB0cnVlLgotICAgICAgLi4uCi0KLSAgICBTdGF0
aWMgU2VtYW50aWNzOiBDb250YWluc0FyZ3VtZW50cwotICAgICAgSWRlbnRpZmllclJlZmVyZW5j
ZSA6IElkZW50aWZpZXIKLQotICAgICAgMS4gSWYgdGhlIFN0cmluZ1ZhbHVlIG9mIElkZW50aWZp
ZXIgaXMgImFyZ3VtZW50cyIsIHJldHVybiB0cnVlLgotICAgICAgLi4uCi0gICAgICBGb3IgYWxs
IG90aGVyIGdyYW1tYXRpY2FsIHByb2R1Y3Rpb25zLCByZWN1cnNlIG9uIGFsbCBub250ZXJtaW5h
bHMuIElmIGFueSBwaWVjZSByZXR1cm5zIHRydWUsIHRoZW4gcmV0dXJuIHRydWUuIE90aGVyd2lz
ZSByZXR1cm4gZmFsc2UuCi0KLS0tLSovCi0KLQotdmFyIGV4ZWN1dGVkID0gZmFsc2U7Ci1jbGFz
cyBDIHsKLSAgeCA9ICgwLCBldmFsKSgnZXhlY3V0ZWQgPSB0cnVlOyBhcmd1bWVudHM7Jyk7Ci19
Ci0KLWFzc2VydC50aHJvd3MoUmVmZXJlbmNlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBuZXcgQygp
OwotfSk7Ci0KLWFzc2VydC5zYW1lVmFsdWUoZXhlY3V0ZWQsIHRydWUpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9u
ZXN0ZWQtZGlyZWN0LWV2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvbmVzdGVkLWRpcmVj
dC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVudHMuanMKaW5kZXggNTkyZmY5MWMwYTQ4ZmE5Y2Vl
ZDEzMDcyYWEyM2EyNWVkZTc5Y2IxYy4uYzkyZDM2ZGM5NTdlYThlMzVjZGI2MmY2NmFhZTY5MjUw
MDZhOWFhMCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9lbGVtZW50cy9uZXN0ZWQtZGlyZWN0LWV2YWwtZXJyLWNvbnRhaW5zLWFyZ3Vt
ZW50cy5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2VsZW1lbnRzL25lc3RlZC1kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmpz
CkBAIC0xLDYgKzEsNiBAQAogLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVk
IGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgogLy8gLSBzcmMvY2xhc3MtZWxlbWVudHMvZXZh
bC1lcnItY29udGFpbnMtYXJndW1lbnRzLmNhc2UKLS8vIC0gc3JjL2NsYXNzLWVsZW1lbnRzL2lu
aXRpYWxpemVyLWV2YWwtYXJndW1lbnRzL2Nscy1kZWNsLWZpZWxkcy1ldmFsLW5lc3RlZC50ZW1w
bGF0ZQorLy8gLSBzcmMvY2xhc3MtZWxlbWVudHMvaW5pdGlhbGl6ZXItZGlyZWN0LWV2YWwtYXJn
dW1lbnRzL2Nscy1kZWNsLWZpZWxkcy1ldmFsLW5lc3RlZC50ZW1wbGF0ZQogLyotLS0KIGRlc2Ny
aXB0aW9uOiBlcnJvciBpZiBgYXJndW1lbnRzYCBpbiBTdGF0ZW1lbnRMaXN0IG9mIGV2YWwgKGRp
cmVjdCBldmFsKQogZXNpZDogc2VjLXBlcmZvcm1ldmFsLXJ1bGVzLWluLWluaXRpYWxpemVyCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNz
L2VsZW1lbnRzL25lc3RlZC1pbmRpcmVjdC1ldmFsLWNvbnRhaW5zLWFyZ3VtZW50cy5qcyBiL0pT
VGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvbmVz
dGVkLWluZGlyZWN0LWV2YWwtY29udGFpbnMtYXJndW1lbnRzLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1NjJi
ODc0YTgxM2FkY2E0NWQxMTE0ZjU2ZGQ1YjQ1NTExZTE4NGMKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL25l
c3RlZC1pbmRpcmVjdC1ldmFsLWNvbnRhaW5zLWFyZ3VtZW50cy5qcwpAQCAtMCwwICsxLDIzIEBA
CisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93
aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9jbGFzcy1lbGVtZW50cy9ldmFsLWNvbnRhaW5zLWFyZ3Vt
ZW50cy5jYXNlCisvLyAtIHNyYy9jbGFzcy1lbGVtZW50cy9pbml0aWFsaXplci1pbmRpcmVjdC1l
dmFsLWFyZ3VtZW50cy9jbHMtZGVjbC1maWVsZHMtaW5kaXJlY3QtZXZhbC1uZXN0ZWQudGVtcGxh
dGUKKy8qLS0tCitkZXNjcmlwdGlvbjogTm8gZXJyb3IgaWYgYGFyZ3VtZW50c2AgaW4gU3RhdGVt
ZW50TGlzdCBvZiBldmFsIChpbmRpcmVjdCBldmFsKQorZXNpZDogc2VjLXBlcmZvcm1ldmFsLXJ1
bGVzLWluLWluaXRpYWxpemVyCitmZWF0dXJlczogW2NsYXNzLCBjbGFzcy1maWVsZHMtcHVibGlj
XQorZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0XQoraW5mbzogfAorICAgIEZvciBpbmRpcmVj
dCBldmFsLCB0aGUgIkFkZGl0aW9uYWwgRWFybHkgRXJyb3IgUnVsZXMgZm9yIEV2YWwgSW5zaWRl
IEluaXRpYWxpemVyIgorICAgIChpbiAjc2VjLXBlcmZvcm1ldmFsLXJ1bGVzLWluLWluaXRpYWxp
emVyKSBhcmUgTk9UIGFwcGxpY2FibGUuCisKKy0tLSovCisKKwordmFyIGFyZ3VtZW50cyA9IDE7
CitjbGFzcyBDIHsKKyAgeCA9ICgpID0+IHsKKyAgICB2YXIgdCA9ICgpID0+ICgwLCBldmFsKSgn
YXJndW1lbnRzOycpOworICAgIHJldHVybiB0KCk7CisgIH0KK30KK2Fzc2VydC5zYW1lVmFsdWUo
bmV3IEMoKS54KCksIGFyZ3VtZW50cyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL25lc3RlZC1pbmRpcmVjdC1ldmFs
LWVyci1jb250YWlucy1hcmd1bWVudHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL25lc3RlZC1pbmRpcmVjdC1ldmFsLWVyci1jb250
YWlucy1hcmd1bWVudHMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNkYjdlNGQ0
ZjZjY2Y5MjQ1YTFhMmQ4Y2I5MTZjYTZkNmVjZDk3MjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9lbGVtZW50cy9uZXN0ZWQtaW5kaXJlY3QtZXZhbC1lcnItY29udGFpbnMt
YXJndW1lbnRzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotLy8gVGhpcyBmaWxl
IHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgot
Ly8gLSBzcmMvY2xhc3MtZWxlbWVudHMvZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmNhc2UK
LS8vIC0gc3JjL2NsYXNzLWVsZW1lbnRzL2luaXRpYWxpemVyLWV2YWwtYXJndW1lbnRzL2Nscy1k
ZWNsLWZpZWxkcy1pbmRpcmVjdC1ldmFsLW5lc3RlZC50ZW1wbGF0ZQotLyotLS0KLWRlc2NyaXB0
aW9uOiBlcnJvciBpZiBgYXJndW1lbnRzYCBpbiBTdGF0ZW1lbnRMaXN0IG9mIGV2YWwgKGluZGly
ZWN0IGV2YWwpCi1lc2lkOiBzZWMtcGVyZm9ybWV2YWwtcnVsZXMtaW4taW5pdGlhbGl6ZXIKLWZl
YXR1cmVzOiBbY2xhc3MsIGNsYXNzLWZpZWxkcy1wdWJsaWNdCi1mbGFnczogW2dlbmVyYXRlZF0K
LWluZm86IHwKLSAgICBBZGRpdGlvbmFsIEVhcmx5IEVycm9yIFJ1bGVzIGZvciBFdmFsIEluc2lk
ZSBJbml0aWFsaXplcgotICAgIFRoZXNlIHN0YXRpYyBzZW1hbnRpY3MgYXJlIGFwcGxpZWQgYnkg
UGVyZm9ybUV2YWwgd2hlbiBhIGRpcmVjdCBldmFsIGNhbGwgb2NjdXJzIGluc2lkZSBhIGNsYXNz
IGZpZWxkIGluaXRpYWxpemVyLgotICAgIFNjcmlwdEJvZHkgOiBTdGF0ZW1lbnRMaXN0Ci0KLSAg
ICAgIEl0IGlzIGEgU3ludGF4IEVycm9yIGlmIENvbnRhaW5zQXJndW1lbnRzIG9mIFN0YXRlbWVu
dExpc3QgaXMgdHJ1ZS4KLSAgICAgIC4uLgotCi0gICAgU3RhdGljIFNlbWFudGljczogQ29udGFp
bnNBcmd1bWVudHMKLSAgICAgIElkZW50aWZpZXJSZWZlcmVuY2UgOiBJZGVudGlmaWVyCi0KLSAg
ICAgIDEuIElmIHRoZSBTdHJpbmdWYWx1ZSBvZiBJZGVudGlmaWVyIGlzICJhcmd1bWVudHMiLCBy
ZXR1cm4gdHJ1ZS4KLSAgICAgIC4uLgotICAgICAgRm9yIGFsbCBvdGhlciBncmFtbWF0aWNhbCBw
cm9kdWN0aW9ucywgcmVjdXJzZSBvbiBhbGwgbm9udGVybWluYWxzLiBJZiBhbnkgcGllY2UgcmV0
dXJucyB0cnVlLCB0aGVuIHJldHVybiB0cnVlLiBPdGhlcndpc2UgcmV0dXJuIGZhbHNlLgotCi0t
LS0qLwotCi0KLXZhciBleGVjdXRlZCA9IGZhbHNlOwotY2xhc3MgQyB7Ci0gIHggPSAoKSA9PiB7
Ci0gICAgdmFyIHQgPSAoKSA9PiB7ICgwLCBldmFsKSgnZXhlY3V0ZWQgPSB0cnVlOyBhcmd1bWVu
dHM7Jyk7IH07Ci0gICAgdCgpOwotICB9Ci19Ci0KLWFzc2VydC50aHJvd3MoUmVmZXJlbmNlRXJy
b3IsIGZ1bmN0aW9uKCkgewotICBuZXcgQygpLngoKTsKLX0pOwotCi1hc3NlcnQuc2FtZVZhbHVl
KGV4ZWN1dGVkLCBmYWxzZSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL25lc3RlZC1wcml2YXRlLWRpcmVjdC1ldmFs
LWVyci1jb250YWlucy1hcmd1bWVudHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL25lc3RlZC1wcml2YXRlLWRpcmVjdC1ldmFsLWVy
ci1jb250YWlucy1hcmd1bWVudHMuanMKaW5kZXggMzQ4MjgwZThhZGE0NzM1YWVmN2FiYmY5ZjRh
NTZiMmE0ODNkYzBmZi4uNTJmYWIzZTlhZTVjNGI1OWJmZTQyOTgyNzk0ZGZhNjI0NmZiZWM0NCAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9lbGVtZW50cy9uZXN0ZWQtcHJpdmF0ZS1kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1l
bnRzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvZWxlbWVudHMvbmVzdGVkLXByaXZhdGUtZGlyZWN0LWV2YWwtZXJyLWNvbnRhaW5zLWFyZ3Vt
ZW50cy5qcwpAQCAtMSw2ICsxLDYgQEAKIC8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdl
bmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKIC8vIC0gc3JjL2NsYXNzLWVsZW1l
bnRzL2V2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5jYXNlCi0vLyAtIHNyYy9jbGFzcy1lbGVt
ZW50cy9pbml0aWFsaXplci1ldmFsLWFyZ3VtZW50cy9jbHMtZGVjbC1wcml2YXRlLWZpZWxkcy1l
dmFsLW5lc3RlZC50ZW1wbGF0ZQorLy8gLSBzcmMvY2xhc3MtZWxlbWVudHMvaW5pdGlhbGl6ZXIt
ZGlyZWN0LWV2YWwtYXJndW1lbnRzL2Nscy1kZWNsLXByaXZhdGUtZmllbGRzLWV2YWwtbmVzdGVk
LnRlbXBsYXRlCiAvKi0tLQogZGVzY3JpcHRpb246IGVycm9yIGlmIGBhcmd1bWVudHNgIGluIFN0
YXRlbWVudExpc3Qgb2YgZXZhbCAoZGlyZWN0IGV2YWwpCiBlc2lkOiBzZWMtcGVyZm9ybWV2YWwt
cnVsZXMtaW4taW5pdGlhbGl6ZXIKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvbmVzdGVkLXByaXZhdGUtaW5kaXJlY3Qt
ZXZhbC1jb250YWlucy1hcmd1bWVudHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL25lc3RlZC1wcml2YXRlLWluZGlyZWN0LWV2YWwt
Y29udGFpbnMtYXJndW1lbnRzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwYTQ1NDdhOGMxM2Q0NDM5ZTZkMDFh
NTRiZjZmNjkxZmExMTgzOWQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL25lc3RlZC1wcml2YXRlLWluZGly
ZWN0LWV2YWwtY29udGFpbnMtYXJndW1lbnRzLmpzCkBAIC0wLDAgKzEsMjQgQEAKKy8vIFRoaXMg
ZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNl
czoKKy8vIC0gc3JjL2NsYXNzLWVsZW1lbnRzL2V2YWwtY29udGFpbnMtYXJndW1lbnRzLmNhc2UK
Ky8vIC0gc3JjL2NsYXNzLWVsZW1lbnRzL2luaXRpYWxpemVyLWluZGlyZWN0LWV2YWwtYXJndW1l
bnRzL2Nscy1kZWNsLXByaXZhdGUtZmllbGRzLWluZGlyZWN0LWV2YWwtbmVzdGVkLnRlbXBsYXRl
CisvKi0tLQorZGVzY3JpcHRpb246IE5vIGVycm9yIGlmIGBhcmd1bWVudHNgIGluIFN0YXRlbWVu
dExpc3Qgb2YgZXZhbCAoaW5kaXJlY3QgZXZhbCkKK2VzaWQ6IHNlYy1wZXJmb3JtZXZhbC1ydWxl
cy1pbi1pbml0aWFsaXplcgorZmVhdHVyZXM6IFtjbGFzcywgY2xhc3MtZmllbGRzLXB1YmxpYywg
Y2xhc3MtZmllbGRzLXByaXZhdGVdCitmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCitpbmZv
OiB8CisgICAgRm9yIGluZGlyZWN0IGV2YWwsIHRoZSAiQWRkaXRpb25hbCBFYXJseSBFcnJvciBS
dWxlcyBmb3IgRXZhbCBJbnNpZGUgSW5pdGlhbGl6ZXIiCisgICAgKGluICNzZWMtcGVyZm9ybWV2
YWwtcnVsZXMtaW4taW5pdGlhbGl6ZXIpIGFyZSBOT1QgYXBwbGljYWJsZS4KKworLS0tKi8KKwor
Cit2YXIgYXJndW1lbnRzID0gMTsKK2NsYXNzIEMgeworICAjeCA9ICgwLCBldmFsKSgnYXJndW1l
bnRzOycpOworICB4KCkgeworICAgIHJldHVybiB0aGlzLiN4OworICB9Cit9CisKK2Fzc2VydC5z
YW1lVmFsdWUobmV3IEMoKS54KCksIGFyZ3VtZW50cyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL25lc3RlZC1wcml2
YXRlLWluZGlyZWN0LWV2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5qcyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvbmVzdGVkLXByaXZh
dGUtaW5kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmpzCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBmYmNmYzcxNDQxMTk5NTI1YmI4NDRiMDlkMmM5YmJlOTYyOTZlYmNi
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvbmVzdGVkLXBy
aXZhdGUtaW5kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmpzCisrKyAvZGV2L251
bGwKQEAgLTEsMzYgKzAsMCBAQAotLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJh
dGVkIGZyb20gdGhlIGZvbGxvd2luZyBzb3VyY2VzOgotLy8gLSBzcmMvY2xhc3MtZWxlbWVudHMv
ZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmNhc2UKLS8vIC0gc3JjL2NsYXNzLWVsZW1lbnRz
L2luaXRpYWxpemVyLWV2YWwtYXJndW1lbnRzL2Nscy1kZWNsLXByaXZhdGUtZmllbGRzLWluZGly
ZWN0LWV2YWwtbmVzdGVkLnRlbXBsYXRlCi0vKi0tLQotZGVzY3JpcHRpb246IGVycm9yIGlmIGBh
cmd1bWVudHNgIGluIFN0YXRlbWVudExpc3Qgb2YgZXZhbCAoaW5kaXJlY3QgZXZhbCkKLWVzaWQ6
IHNlYy1wZXJmb3JtZXZhbC1ydWxlcy1pbi1pbml0aWFsaXplcgotZmVhdHVyZXM6IFtjbGFzcywg
Y2xhc3MtZmllbGRzLXB1YmxpYywgY2xhc3MtZmllbGRzLXByaXZhdGVdCi1mbGFnczogW2dlbmVy
YXRlZF0KLWluZm86IHwKLSAgICBBZGRpdGlvbmFsIEVhcmx5IEVycm9yIFJ1bGVzIGZvciBFdmFs
IEluc2lkZSBJbml0aWFsaXplcgotICAgIFRoZXNlIHN0YXRpYyBzZW1hbnRpY3MgYXJlIGFwcGxp
ZWQgYnkgUGVyZm9ybUV2YWwgd2hlbiBhIGRpcmVjdCBldmFsIGNhbGwgb2NjdXJzIGluc2lkZSBh
IGNsYXNzIGZpZWxkIGluaXRpYWxpemVyLgotICAgIFNjcmlwdEJvZHkgOiBTdGF0ZW1lbnRMaXN0
Ci0KLSAgICAgIEl0IGlzIGEgU3ludGF4IEVycm9yIGlmIENvbnRhaW5zQXJndW1lbnRzIG9mIFN0
YXRlbWVudExpc3QgaXMgdHJ1ZS4KLSAgICAgIC4uLgotCi0gICAgU3RhdGljIFNlbWFudGljczog
Q29udGFpbnNBcmd1bWVudHMKLSAgICAgIElkZW50aWZpZXJSZWZlcmVuY2UgOiBJZGVudGlmaWVy
Ci0KLSAgICAgIDEuIElmIHRoZSBTdHJpbmdWYWx1ZSBvZiBJZGVudGlmaWVyIGlzICJhcmd1bWVu
dHMiLCByZXR1cm4gdHJ1ZS4KLSAgICAgIC4uLgotICAgICAgRm9yIGFsbCBvdGhlciBncmFtbWF0
aWNhbCBwcm9kdWN0aW9ucywgcmVjdXJzZSBvbiBhbGwgbm9udGVybWluYWxzLiBJZiBhbnkgcGll
Y2UgcmV0dXJucyB0cnVlLCB0aGVuIHJldHVybiB0cnVlLiBPdGhlcndpc2UgcmV0dXJuIGZhbHNl
LgotCi0tLS0qLwotCi0KLXZhciBleGVjdXRlZCA9IGZhbHNlOwotY2xhc3MgQyB7Ci0gICN4ID0g
KDAsIGV2YWwpKCdleGVjdXRlZCA9IHRydWU7IGFyZ3VtZW50czsnKTsKLX0KLQotYXNzZXJ0LnRo
cm93cyhSZWZlcmVuY2VFcnJvciwgZnVuY3Rpb24oKSB7Ci0gIG5ldyBDKCk7Ci19KTsKLQotYXNz
ZXJ0LnNhbWVWYWx1ZShleGVjdXRlZCwgdHJ1ZSk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL3ByaXZhdGUtZGlyZWN0
LWV2YWwtZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvcHJpdmF0ZS1kaXJlY3QtZXZhbC1lcnIt
Y29udGFpbnMtYXJndW1lbnRzLmpzCmluZGV4IDllZTQwZGUyMTk0NTJlM2EzNGRkODViZjkwZTYw
ZjM1YjUxMWE5NmUuLmRjZjI1M2Y2YWU0OGI2OGEyN2JiM2QzNTcyYjFhYzUxOTE0MTBhODkgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
ZWxlbWVudHMvcHJpdmF0ZS1kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmpzCisr
KyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVu
dHMvcHJpdmF0ZS1kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmpzCkBAIC0xLDYg
KzEsNiBAQAogLy8gVGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhl
IGZvbGxvd2luZyBzb3VyY2VzOgogLy8gLSBzcmMvY2xhc3MtZWxlbWVudHMvZXZhbC1lcnItY29u
dGFpbnMtYXJndW1lbnRzLmNhc2UKLS8vIC0gc3JjL2NsYXNzLWVsZW1lbnRzL2luaXRpYWxpemVy
LWV2YWwtYXJndW1lbnRzL2Nscy1kZWNsLXByaXZhdGUtZmllbGRzLWV2YWwudGVtcGxhdGUKKy8v
IC0gc3JjL2NsYXNzLWVsZW1lbnRzL2luaXRpYWxpemVyLWRpcmVjdC1ldmFsLWFyZ3VtZW50cy9j
bHMtZGVjbC1wcml2YXRlLWZpZWxkcy1ldmFsLnRlbXBsYXRlCiAvKi0tLQogZGVzY3JpcHRpb246
IGVycm9yIGlmIGBhcmd1bWVudHNgIGluIFN0YXRlbWVudExpc3Qgb2YgZXZhbCAoZGlyZWN0IGV2
YWwpCiBlc2lkOiBzZWMtcGVyZm9ybWV2YWwtcnVsZXMtaW4taW5pdGlhbGl6ZXIKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVu
dHMvcHJpdmF0ZS1pbmRpcmVjdC1ldmFsLWNvbnRhaW5zLWFyZ3VtZW50cy5qcyBiL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvcHJpdmF0ZS1p
bmRpcmVjdC1ldmFsLWNvbnRhaW5zLWFyZ3VtZW50cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZmFmNzljYjll
OTI1ZDk4ODFkYWQxYmNhZTQwNTkyZWNmZGZlMDJiCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9wcml2YXRl
LWluZGlyZWN0LWV2YWwtY29udGFpbnMtYXJndW1lbnRzLmpzCkBAIC0wLDAgKzEsMjMgQEAKKy8v
IFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcg
c291cmNlczoKKy8vIC0gc3JjL2NsYXNzLWVsZW1lbnRzL2V2YWwtY29udGFpbnMtYXJndW1lbnRz
LmNhc2UKKy8vIC0gc3JjL2NsYXNzLWVsZW1lbnRzL2luaXRpYWxpemVyLWluZGlyZWN0LWV2YWwt
YXJndW1lbnRzL2Nscy1kZWNsLXByaXZhdGUtZmllbGRzLWluZGlyZWN0LWV2YWwudGVtcGxhdGUK
Ky8qLS0tCitkZXNjcmlwdGlvbjogTm8gZXJyb3IgaWYgYGFyZ3VtZW50c2AgaW4gU3RhdGVtZW50
TGlzdCBvZiBldmFsIChpbmRpcmVjdCBldmFsKQorZXNpZDogc2VjLXBlcmZvcm1ldmFsLXJ1bGVz
LWluLWluaXRpYWxpemVyCitmZWF0dXJlczogW2NsYXNzLCBjbGFzcy1maWVsZHMtcHVibGljLCBj
bGFzcy1maWVsZHMtcHJpdmF0ZV0KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdF0KK2luZm86
IHwKKyAgICBGb3IgaW5kaXJlY3QgZXZhbCwgdGhlICJBZGRpdGlvbmFsIEVhcmx5IEVycm9yIFJ1
bGVzIGZvciBFdmFsIEluc2lkZSBJbml0aWFsaXplciIKKyAgICAoaW4gI3NlYy1wZXJmb3JtZXZh
bC1ydWxlcy1pbi1pbml0aWFsaXplcikgYXJlIE5PVCBhcHBsaWNhYmxlLgorCistLS0qLworCisK
K3ZhciBhcmd1bWVudHMgPSAxOworY2xhc3MgQyB7CisgICN4ID0gKDAsIGV2YWwpKCdhcmd1bWVu
dHM7Jyk7CisgIHgoKSB7CisgICAgcmV0dXJuIHRoaXMuI3g7CisgIH0KK30KK2Fzc2VydC5zYW1l
VmFsdWUobmV3IEMoKS54KCksIGFyZ3VtZW50cyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL3ByaXZhdGUtaW5kaXJl
Y3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9wcml2YXRlLWluZGlyZWN0LWV2YWwt
ZXJyLWNvbnRhaW5zLWFyZ3VtZW50cy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
OTBhOGE2ZGVhOGE3ZTA4NzIzNDRhYmRkZTkwZmZmMjQ1MTBmNzkyOS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1lbnRzL3ByaXZhdGUtaW5kaXJlY3QtZXZhbC1lcnIt
Y29udGFpbnMtYXJndW1lbnRzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotLy8g
VGhpcyBmaWxlIHdhcyBwcm9jZWR1cmFsbHkgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBz
b3VyY2VzOgotLy8gLSBzcmMvY2xhc3MtZWxlbWVudHMvZXZhbC1lcnItY29udGFpbnMtYXJndW1l
bnRzLmNhc2UKLS8vIC0gc3JjL2NsYXNzLWVsZW1lbnRzL2luaXRpYWxpemVyLWV2YWwtYXJndW1l
bnRzL2Nscy1kZWNsLXByaXZhdGUtZmllbGRzLWluZGlyZWN0LWV2YWwudGVtcGxhdGUKLS8qLS0t
Ci1kZXNjcmlwdGlvbjogZXJyb3IgaWYgYGFyZ3VtZW50c2AgaW4gU3RhdGVtZW50TGlzdCBvZiBl
dmFsIChpbmRpcmVjdCBldmFsKQotZXNpZDogc2VjLXBlcmZvcm1ldmFsLXJ1bGVzLWluLWluaXRp
YWxpemVyCi1mZWF0dXJlczogW2NsYXNzLCBjbGFzcy1maWVsZHMtcHVibGljLCBjbGFzcy1maWVs
ZHMtcHJpdmF0ZV0KLWZsYWdzOiBbZ2VuZXJhdGVkXQotaW5mbzogfAotICAgIEFkZGl0aW9uYWwg
RWFybHkgRXJyb3IgUnVsZXMgZm9yIEV2YWwgSW5zaWRlIEluaXRpYWxpemVyCi0gICAgVGhlc2Ug
c3RhdGljIHNlbWFudGljcyBhcmUgYXBwbGllZCBieSBQZXJmb3JtRXZhbCB3aGVuIGEgZGlyZWN0
IGV2YWwgY2FsbCBvY2N1cnMgaW5zaWRlIGEgY2xhc3MgZmllbGQgaW5pdGlhbGl6ZXIuCi0gICAg
U2NyaXB0Qm9keSA6IFN0YXRlbWVudExpc3QKLQotICAgICAgSXQgaXMgYSBTeW50YXggRXJyb3Ig
aWYgQ29udGFpbnNBcmd1bWVudHMgb2YgU3RhdGVtZW50TGlzdCBpcyB0cnVlLgotICAgICAgLi4u
Ci0KLSAgICBTdGF0aWMgU2VtYW50aWNzOiBDb250YWluc0FyZ3VtZW50cwotICAgICAgSWRlbnRp
ZmllclJlZmVyZW5jZSA6IElkZW50aWZpZXIKLQotICAgICAgMS4gSWYgdGhlIFN0cmluZ1ZhbHVl
IG9mIElkZW50aWZpZXIgaXMgImFyZ3VtZW50cyIsIHJldHVybiB0cnVlLgotICAgICAgLi4uCi0g
ICAgICBGb3IgYWxsIG90aGVyIGdyYW1tYXRpY2FsIHByb2R1Y3Rpb25zLCByZWN1cnNlIG9uIGFs
bCBub250ZXJtaW5hbHMuIElmIGFueSBwaWVjZSByZXR1cm5zIHRydWUsIHRoZW4gcmV0dXJuIHRy
dWUuIE90aGVyd2lzZSByZXR1cm4gZmFsc2UuCi0KLS0tLSovCi0KLQotdmFyIGV4ZWN1dGVkID0g
ZmFsc2U7Ci1jbGFzcyBDIHsKLSAgI3ggPSAoMCwgZXZhbCkoJ2V4ZWN1dGVkID0gdHJ1ZTsgYXJn
dW1lbnRzOycpOwotfQotCi1hc3NlcnQudGhyb3dzKFJlZmVyZW5jZUVycm9yLCBmdW5jdGlvbigp
IHsKLSAgbmV3IEMoKTsKLX0pOwotCi1hc3NlcnQuc2FtZVZhbHVlKGV4ZWN1dGVkLCB0cnVlKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvZWxlbWVudHMvcHJpdmF0ZWZpZWxkZ2V0LXByaW1pdGl2ZS1yZWNlaXZlci5qcyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZWxlbWVudHMvcHJpdmF0
ZWZpZWxkZ2V0LXByaW1pdGl2ZS1yZWNlaXZlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjY0NzdiOGI2ODZl
Y2MzZWE0ZmU4ZTgxYzc4ZWUxMmFhZjIxYzI3Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9wcml2YXRlZmll
bGRnZXQtcHJpbWl0aXZlLXJlY2VpdmVyLmpzCkBAIC0wLDAgKzEsNzYgQEAKKy8vIENvcHlyaWdo
dCAoQykgMjAyMCBDYWlvIExpbWEgKElnYWxpYSBTLkwpLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8gVGhpcyBjb2RlIGlzIGdvdmVybmVkIGJ5IHRoZSBCU0QgbGljZW5zZSBmb3VuZCBpbiB0aGUg
TElDRU5TRSBmaWxlLgorCisvKi0tLQorZGVzY3JpcHRpb246IFByaXZhdGVGaWVsZCBjYWxscyBU
b09iamVjdCB3aGVuIHJlY2VpdmVyIGlzIGEgcHJpbWl0aXZlCitlc2lkOiBzZWMtZ2V0dmFsdWUK
K2luZm86IHwKKyAgR2V0VmFsdWUgKCBWICkKKyAgICAuLi4KKyAgICA1LiBJZiBJc1Byb3BlcnR5
UmVmZXJlbmNlKFYpLCB0aGVuCisgICAgICBhLiBJZiBIYXNQcmltaXRpdmVCYXNlKFYpLCB0aGVu
CisgICAgICAgIGkuIEFzc2VydDogSW4gdGhpcyBjYXNlLCBiYXNlIHdpbGwgbmV2ZXIgYmUgbnVs
bCBvciB1bmRlZmluZWQuCisgICAgICAgIGlpLiBMZXQgYmFzZSBiZSBUb09iamVjdChiYXNlKS4K
KyAgICAgIGIuIElmIElzUHJpdmF0ZVJlZmVyZW5jZShWKSwgdGhlbgorICAgICAgICBpLiBSZXR1
cm4gPyBQcml2YXRlRmllbGRHZXQoZmllbGQsIGJhc2UpLgorICAgIC4uLgorCisgIFByaXZhdGVG
aWVsZEdldCAoUCwgTyApCisgICAgMS4gQXNzZXJ0OiBQIGlzIGEgUHJpdmF0ZSBOYW1lIHZhbHVl
LgorICAgIDIuIElmIE8gaXMgbm90IGFuIG9iamVjdCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0
aW9uLgorICAgIDMuIExldCBlbnRyeSBiZSBQcml2YXRlRmllbGRGaW5kKFAsIE8pLgorICAgIDQu
IElmIGVudHJ5IGlzIGVtcHR5LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uCisgICAgNS4g
UmV0dXJuIGVudHJ5LltbUHJpdmF0ZUZpZWxkVmFsdWVdXS4KKworZmVhdHVyZXM6IFtjbGFzcywg
Y2xhc3MtZmllbGRzLXByaXZhdGUsIEJpZ0ludF0KKy0tLSovCisKK2xldCBjb3VudCA9IDA7CisK
K2NsYXNzIEMgeworICAjcCA9IDE7CisKKyAgbWV0aG9kKCkgeworICAgIGNvdW50Kys7CisgICAg
dHJ5IHsKKyAgICAgIGNvdW50Kys7CisgICAgICB0aGlzLiNwOworICAgIH0gY2F0Y2ggKGUpIHsK
KyAgICAgIGNvdW50Kys7CisgICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgeworICAg
ICAgICB0aHJvdyBuZXcgVGVzdDI2MkVycm9yKCk7CisgICAgICB9CisgICAgfQorICB9Cit9CisK
K2Fzc2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCAoKSA9PiB7CisgIG5ldyBDKCkubWV0aG9kLmNh
bGwoMTUpOworfSk7Cithc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAzKTsKKworYXNzZXJ0LnRocm93
cyhUZXN0MjYyRXJyb3IsICgpID0+IHsKKyAgbmV3IEMoKS5tZXRob2QuY2FsbCgnVGVzdDI2Micp
OworfSk7Cithc3NlcnQuc2FtZVZhbHVlKGNvdW50LCA2KTsKKworYXNzZXJ0LnRocm93cyhUZXN0
MjYyRXJyb3IsICgpID0+IHsKKyAgbmV3IEMoKS5tZXRob2QuY2FsbChTeW1ib2woJ1Rlc3QyNjIn
KSk7Cit9KTsKK2Fzc2VydC5zYW1lVmFsdWUoY291bnQsIDkpOworCithc3NlcnQudGhyb3dzKFRl
c3QyNjJFcnJvciwgKCkgPT4geworICBuZXcgQygpLm1ldGhvZC5jYWxsKDE1bik7Cit9KTsKK2Fz
c2VydC5zYW1lVmFsdWUoY291bnQsIDEyKTsKKworYXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3Is
ICgpID0+IHsKKyAgbmV3IEMoKS5tZXRob2QuY2FsbChudWxsKTsKK30pOworYXNzZXJ0LnNhbWVW
YWx1ZShjb3VudCwgMTUpOworCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgKCkgPT4gewor
ICBuZXcgQygpLm1ldGhvZC5jYWxsKHVuZGVmaW5lZCk7Cit9KTsKK2Fzc2VydC5zYW1lVmFsdWUo
Y291bnQsIDE4KTsKKwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9wcml2YXRlZmllbGRwdXQtcHJpbWl0aXZlLXJlY2Vp
dmVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9l
bGVtZW50cy9wcml2YXRlZmllbGRwdXQtcHJpbWl0aXZlLXJlY2VpdmVyLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjhjOTc0Y2YwYjg5MGUwNmM1NmUzNzZhZWNhYmRhYjUzMDEyY2MzNTkKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2VsZW1l
bnRzL3ByaXZhdGVmaWVsZHB1dC1wcmltaXRpdmUtcmVjZWl2ZXIuanMKQEAgLTAsMCArMSw3NiBA
QAorLy8gQ29weXJpZ2h0IChDKSAyMDIwIENhaW8gTGltYSAoSWdhbGlhIFMuTCkuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNl
IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKy8qLS0tCitkZXNjcmlwdGlvbjogUHJpdmF0
ZUZpZWxkIGNhbGxzIFRvT2JqZWN0IHdoZW4gcmVjZWl2ZXIgaXMgYSBwcmltaXRpdmUKK2VzaWQ6
IHNlYy1wdXR2YWx1ZQoraW5mbzogfAorICBQdXRWYWx1ZSAoIFYsIFcgKQorICAgIC4uLgorICAg
IDYuIElmIElzUHJvcGVydHlSZWZlcmVuY2UoViksIHRoZW4KKyAgICAgIGEuIElmIEhhc1ByaW1p
dGl2ZUJhc2UoViksIHRoZW4KKyAgICAgICAgaS4gQXNzZXJ0OiBJbiB0aGlzIGNhc2UsIGJhc2Ug
d2lsbCBuZXZlciBiZSBudWxsIG9yIHVuZGVmaW5lZC4KKyAgICAgICAgaWkuIExldCBiYXNlIGJl
IFRvT2JqZWN0KGJhc2UpLgorICAgICAgYi4gSWYgSXNQcml2YXRlUmVmZXJlbmNlKFYpLCB0aGVu
CisgICAgICAgIGkuIFJldHVybiA/IFByaXZhdGVGaWVsZFNldChmaWVsZCwgYmFzZSwgVykuCisg
ICAgLi4uCisKKyAgUHJpdmF0ZUZpZWxkU2V0IChQLCBPLCB2YWx1ZSApCisgICAgMS4gQXNzZXJ0
OiBQIGlzIGEgUHJpdmF0ZSBOYW1lLgorICAgIDIuIEFzc2VydDogVHlwZShPKSBpcyBPYmplY3Qu
CisgICAgMy4gTGV0IGVudHJ5IGJlIFByaXZhdGVGaWVsZEZpbmQoUCwgTykuCisgICAgNC4gSWYg
ZW50cnkgaXMgZW1wdHksIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KKyAgICA1LiBTZXQg
ZW50cnkuW1tQcml2YXRlRmllbGRWYWx1ZV1dIHRvIHZhbHVlLgorCitmZWF0dXJlczogW2NsYXNz
LCBjbGFzcy1maWVsZHMtcHJpdmF0ZSwgQmlnSW50XQorLS0tKi8KKworbGV0IGNvdW50ID0gMDsK
KworY2xhc3MgQyB7CisgICNwID0gMTsKKworICBtZXRob2QodikgeworICAgIGNvdW50Kys7Cisg
ICAgdHJ5IHsKKyAgICAgIGNvdW50Kys7CisgICAgICB0aGlzLiNwID0gdjsKKyAgICB9IGNhdGNo
IChlKSB7CisgICAgICBjb3VudCsrOworICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3Ip
IHsKKyAgICAgICAgdGhyb3cgbmV3IFRlc3QyNjJFcnJvcigpOworICAgICAgfQorICAgIH0KKyAg
fQorfQorCithc3NlcnQudGhyb3dzKFRlc3QyNjJFcnJvciwgKCkgPT4geworICBuZXcgQygpLm1l
dGhvZC5jYWxsKDE1LCAwKTsKK30pOworYXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwgMyk7CisKK2Fz
c2VydC50aHJvd3MoVGVzdDI2MkVycm9yLCAoKSA9PiB7CisgIG5ldyBDKCkubWV0aG9kLmNhbGwo
J1Rlc3QyNjInLCAwKTsKK30pOworYXNzZXJ0LnNhbWVWYWx1ZShjb3VudCwgNik7CisKK2Fzc2Vy
dC50aHJvd3MoVGVzdDI2MkVycm9yLCAoKSA9PiB7CisgIG5ldyBDKCkubWV0aG9kLmNhbGwoU3lt
Ym9sKCdUZXN0MjYyJyksIDApOworfSk7Cithc3NlcnQuc2FtZVZhbHVlKGNvdW50LCA5KTsKKwor
YXNzZXJ0LnRocm93cyhUZXN0MjYyRXJyb3IsICgpID0+IHsKKyAgbmV3IEMoKS5tZXRob2QuY2Fs
bCgxNW4sIDApOworfSk7Cithc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxMik7CisKK2Fzc2VydC50
aHJvd3MoVGVzdDI2MkVycm9yLCAoKSA9PiB7CisgIG5ldyBDKCkubWV0aG9kLmNhbGwobnVsbCwg
MCk7Cit9KTsKK2Fzc2VydC5zYW1lVmFsdWUoY291bnQsIDE1KTsKKworYXNzZXJ0LnRocm93cyhU
ZXN0MjYyRXJyb3IsICgpID0+IHsKKyAgbmV3IEMoKS5tZXRob2QuY2FsbCh1bmRlZmluZWQsIDAp
OworfSk7Cithc3NlcnQuc2FtZVZhbHVlKGNvdW50LCAxOCk7CisKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZ2VuLW1ldGhvZC1zdGF0
aWMvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZGVjbC1nZW4tbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4
dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3Qv
bGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9nZW4tbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0
L2IxL2Nscy1kZWNsLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3Mt
cHJvcC1hcmd1bWVudHMuanMKaW5kZXggYjdlZDU4MDZmNTgyNjg1Nzc3NGRhNGZiYTkyZTBhODAw
ODY3ZGQ4NS4uYmZkZGI0OGVjNWRlZTkwOGU1OTJlZDIxMTRlY2U5OWU1MjVlZmRlZCAxMDA2NDQK
LS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9nZW4t
bWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1kZWNsLWdlbi1tZXRoLXN0YXRpYy1m
b3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9nZW4tbWV0aG9kLXN0YXRp
Yy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1kZWNsLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0
LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKQEAgLTIsMjggKzIsMzUgQEAKIC8vIC0g
c3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3Vt
ZW50cy5jYXNlCiAvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0ZW5zaW9ucy9i
dWxsZXQtb25lL2Nscy1kZWNsLWdlbi1tZXRoLXN0YXRpYy50ZW1wbGF0ZQogLyotLS0KLWRlc2Ny
aXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmFyZ3VtZW50cyAoc3RhdGljIGNsYXNzIGV4
cHJlc3Npb24gZ2VuZXJhdG9yIG1ldGhvZCkKK2Rlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5z
aW9uLCBmLmFyZ3VtZW50cyAoc3RhdGljIGNsYXNzIGV4cHJlc3Npb24gZ2VuZXJhdG9yIG1ldGhv
ZCkKIGVzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1iaW5kaW5nY2xhc3NkZWNsYXJhdGlvbmV2
YWx1YXRpb24KLWZlYXR1cmVzOiBbZ2VuZXJhdG9yc10KK2ZlYXR1cmVzOiBbY2xhc3MsIGdlbmVy
YXRvcnNdCiBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCiBpbmZvOiB8CiAgICAgQ2xhc3NE
ZWNsYXJhdGlvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyIENsYXNzVGFpbAogCiAKLSAgICBF
Q01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3Ry
dWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBw
cm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0
aWVzIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVk
IHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sIEdlbmVyYXRvckRlY2xh
cmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBB
c3luY0dlbmVyYXRvckV4cHJlc3Npb24sIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lv
biwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3Ig
QXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBp
cyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4gQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJp
Y3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5l
cmF0b3IgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3Rvciwg
YXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24gY29uc3RydWN0
b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0
IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBvd24gcHJvcGVydGllcy4KKyAgICBFQ01BU2NyaXB0
IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGlu
IHN0cmljdCBtb2RlIGNvZGUgbXVzdAorICAgIG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3Bl
cnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMg
YWxzbworICAgIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5l
ZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLAorICAgIEdlbmVyYXRv
ckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0
aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sCisgICAgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xh
c3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHBy
ZXNzaW9uLCBvcgorICAgIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIg
dGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuCisgICAgQnVp
bHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0
aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zCisgICAgY3JlYXRlZCB1c2luZyB0
aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0
aGUgQXN5bmNGdW5jdGlvbgorICAgIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQg
dXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2gg
b3duCisgICAgcHJvcGVydGllcy4KIAogLS0tKi8KIAogdmFyIGNhbGxDb3VudCA9IDA7CiBjbGFz
cyBDIHsKICAgc3RhdGljICptZXRob2QoKSB7Ci0gICAgdGhpcy5tZXRob2QuYXJndW1lbnRzOwor
ICAgIGFzc2VydC5zYW1lVmFsdWUodGhpcy5tZXRob2QuaGFzT3duUHJvcGVydHkoImFyZ3VtZW50
cyIpLCBmYWxzZSk7CiAgICAgY2FsbENvdW50Kys7CiAgIH0KIH0KIAotYXNzZXJ0LnRocm93cyhU
eXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBDLm1ldGhvZCgpLm5leHQoKTsKLX0pOworQy5tZXRo
b2QoKS5uZXh0KCk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ21ldGhvZCBib2R5
IGV2YWx1YXRlZCcpOwogCi1hc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ21ldGhvZCBi
b2R5IG5vdCBldmFsdWF0ZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZ2VuLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9i
MS9jbHMtZGVjbC1nZW4tbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXBy
b3AtY2FsbGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9j
bGFzcy9nZW4tbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1kZWNsLWdlbi1tZXRo
LXN0YXRpYy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKaW5kZXgg
NGI2Zjg1YmNmMGQzZGY0NWE4OWU2NzY0ZDBhNmU1MmQzYjhiMzgwZS4uY2NjYTExYjM1N2QyNDUw
OTQ3YTFjOTY0YjkzZGJjZGY4YzUyNjU3NCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9nZW4tbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4t
ZXh0L2IxL2Nscy1kZWNsLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nl
c3MtcHJvcC1jYWxsZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9nZW4tbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1kZWNs
LWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIu
anMKQEAgLTQsMjYgKzQsMzMgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVu
c2lvbiwgby5jYWxsZXIgKHN0YXRpYyBjbGFzcyBleHByZXNzaW9uIGdlbmVyYXRvciBtZXRob2Qp
CiBlc2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3MtYmluZGluZ2NsYXNzZGVjbGFyYXRpb25ldmFs
dWF0aW9uCi1mZWF0dXJlczogW2dlbmVyYXRvcnNdCitmZWF0dXJlczogW2NsYXNzLCBnZW5lcmF0
b3JzXQogZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0XQogaW5mbzogfAogICAgIENsYXNzRGVj
bGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllciBDbGFzc1RhaWwKIAogCi0gICAgRUNN
QVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgc3ludGFjdGljIGNvbnN0cnVj
dG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBvd24gcHJv
cGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4gU3VjaCBvd24gcHJvcGVydGll
cyBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1
c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLCBHZW5lcmF0b3JEZWNsYXJh
dGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5
bmNHZW5lcmF0b3JFeHByZXNzaW9uLCBDbGFzc0RlY2xhcmF0aW9uLCBDbGFzc0V4cHJlc3Npb24s
IEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24sIG9yIEFz
eW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMg
Y29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0
IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJh
dG9yIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFz
eW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBBc3luY0Z1bmN0aW9uIGNvbnN0cnVjdG9y
LCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBu
b3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duIHByb3BlcnRpZXMuCisgICAgRUNNQVNjcmlwdCBm
dW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBz
dHJpY3QgbW9kZSBjb2RlIG11c3QKKyAgICBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0
aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFs
c28KKyAgICBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQg
dXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwKKyAgICBHZW5lcmF0b3JE
ZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlv
biwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLAorICAgIENsYXNzRGVjbGFyYXRpb24sIENsYXNz
RXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVz
c2lvbiwgb3IKKyAgICBBc3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRo
ZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLgorICAgIEJ1aWx0
LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlv
biBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucworICAgIGNyZWF0ZWQgdXNpbmcgdGhl
IEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhl
IEFzeW5jRnVuY3Rpb24KKyAgICBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVz
aW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93
bgorICAgIHByb3BlcnRpZXMuCiAKIC0tLSovCiAKIHZhciBjYWxsQ291bnQgPSAwOwogY2xhc3Mg
QyB7CiAgIHN0YXRpYyAqbWV0aG9kKCkgewotICAgIHRoaXMubWV0aG9kLmNhbGxlcjsKKyAgICBh
c3NlcnQuc2FtZVZhbHVlKHRoaXMubWV0aG9kLmhhc093blByb3BlcnR5KCJjYWxsZXIiKSwgZmFs
c2UpOwogICAgIGNhbGxDb3VudCsrOwogICB9CiB9CiAKLWFzc2VydC50aHJvd3MoVHlwZUVycm9y
LCBmdW5jdGlvbigpIHsKLSAgQy5tZXRob2QoKS5uZXh0KCk7Ci19KTsKK0MubWV0aG9kKCkubmV4
dCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgYm9keSBldmFsdWF0
ZWQnKTsKIAotYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdtZXRob2QgYm9keSBub3Qg
ZXZhbHVhdGVkJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2dlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRl
Y2wtZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9w
LWNhbGxlci1nZXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2NsYXNzL2dlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wtZ2VuLW1l
dGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1n
ZXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjMyYzEzN2QwMDkxOTRkZjRkNzE3ZWI5MmYzMDk1NTU1NGU4ODli
NAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvZ2VuLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1n
ZW4tbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2Fs
bGVyLWdldC5qcwpAQCAtMCwwICsxLDYyIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxs
eSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5jdGlv
bi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0
LmNhc2UKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxl
dC10d28vY2xzLWRlY2wtZ2VuLW1ldGgtc3RhdGljLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRp
b246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVyIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lv
biBnZW5lcmF0b3IgbWV0aG9kKQorZXNpZDogc2VjLXJ1bnRpbWUtc2VtYW50aWNzLWJpbmRpbmdj
bGFzc2RlY2xhcmF0aW9uZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtjbGFzcywgZ2VuZXJhdG9yc10K
K2ZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdF0KK2luZm86IHwKKyAgICBDbGFzc0RlY2xhcmF0
aW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKworICAgIElmIGFuIGlt
cGxlbWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9w
ZXJ0eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBv
YnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUg
YSBzdHJpY3QgZnVuY3Rpb24KKyAgICBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3Bl
cnR5LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tH
ZXRdXQorICAgIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3
aGVuIGNhbGxlZC4KKworLS0tKi8KK3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VY
SVNUID0gU3ltYm9sKCk7CitmdW5jdGlvbiBpbm5lcigpIHsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBt
YXkgZXhpc3QsIGJ1dCBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEg
c3RyaWN0IGZ1bmN0aW9uIG9iamVjdAorICByZXR1cm4gaW5uZXIuaGFzT3duUHJvcGVydHkoImNh
bGxlciIpCisgICAgPyBpbm5lci5jYWxsZXIKKyAgICA6IENBTExFUl9PV05fUFJPUEVSVFlfRE9F
U19OT1RfRVhJU1Q7Cit9CisKK3ZhciBjYWxsQ291bnQgPSAwOworY2xhc3MgQyB7CisgIHN0YXRp
YyAqbWV0aG9kKCkgeworICAgIC8qIGltcGxpY2l0IHN0cmljdCAqLworICAgIC8vIFRoaXMgYW5k
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uYWwgdmFsdWUgaXMgc2V0IGluIHRoZSB0ZXN0J3MgLmNh
c2UgZmlsZS4KKyAgICAvLyBGb3IgZXZlcnkgdGVzdCB0aGF0IGhhcyBhICJ0cnVlIiB2YWx1ZSBo
ZXJlLCB0aGVyZSBpcyBhCisgICAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZh
bHNlIiB2YWx1ZSBoZXJlLgorICAgIC8vIFRoZXkgYXJlIGdlbmVyYXRlZCBmcm9tIHR3byBkaWZm
ZXJlbnQgY2FzZSBmaWxlcywgd2hpY2ggdXNlCisgICAgbGV0IGRlc2NyaXB0b3IgPSBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGlubmVyLCAiY2FsbGVyIik7CisgICAgaWYgKGRlc2Ny
aXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgdHJ1ZSkgeworICAgICAgT2JqZWN0
LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2FsbGVyIiwge2dldCgpe3JldHVybiAxfX0pOworICAg
IH0KKyAgICB2YXIgcmVzdWx0ID0gaW5uZXIoKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNj
cmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgICBhc3NlcnQuc2FtZVZhbHVlKHJl
c3VsdCwgMSwgJ0lmIHRoaXMgdGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBv
biB0aGUgaW5uZXIgZnVuY3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNo
b3VsZCByZXR1cm4gdGhlIHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgICAgfQorCisgICAgLy8g
IkNBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAgICAvLyBmb3Ji
aWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5jYXNlCisgICAgLy8KKyAgICAv
LyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAg
IC8vIG5hbWVkICJjYWxsZXIiLCB0aGVuIGl0cyB2YWx1ZSB3aWxsIGJlIHJldHVybmVkLgorICAg
IC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUg
YW4KKyAgICAvLyBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIsIHRoZW4gdGhlIHN5bWJvbAor
ICAgIC8vIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qgd2lsbCBiZSByZXR1cm5l
ZC4KKyAgICBpZiAocmVzdWx0ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNU
KSB7CisgICAgICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdCwgdGhpcy5tZXRob2QpOworICAg
IH0KKyAgICBjYWxsQ291bnQrKzsKKyAgfQorfQorCitDLm1ldGhvZCgpLm5leHQoKTsKKworYXNz
ZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgYm9keSBldmFsdWF0ZWQnKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
Z2VuLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1nZW4tbWV0aC1zdGF0
aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9nZW4tbWV0
aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWdlbi1tZXRoLXN0YXRpYy1mb3Ji
aWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOWUwOTFiYTE2NmYwOTQ1YTMxNDY2ZWRiYzc4YTllNDRmZGNkMTExZQotLS0gL2Rldi9u
dWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
Z2VuLW1ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1nZW4tbWV0aC1zdGF0
aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpz
CkBAIC0wLDAgKzEsNjIgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRl
ZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2Zv
cmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5jYXNlCisv
LyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQtdHdvL2Ns
cy1kZWNsLWdlbi1tZXRoLXN0YXRpYy50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBGb3Ji
aWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoc3RhdGljIGNsYXNzIGV4cHJlc3Npb24gZ2VuZXJh
dG9yIG1ldGhvZCkKK2VzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1iaW5kaW5nY2xhc3NkZWNs
YXJhdGlvbmV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbY2xhc3MsIGdlbmVyYXRvcnNdCitmbGFnczog
W2dlbmVyYXRlZCwgbm9TdHJpY3RdCitpbmZvOiB8CisgICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNs
YXNzIEJpbmRpbmdJZGVudGlmaWVyIENsYXNzVGFpbAorCisKKyAgICBJZiBhbiBpbXBsZW1lbnRh
dGlvbiBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFt
ZWQgImNhbGxlciIgdGhlIHZhbHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQg
dXNpbmcgW1tHZXRdXSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0
IGZ1bmN0aW9uCisgICAgb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhl
IGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAg
ICBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxs
ZWQuCisKKy0tLSovCit2YXIgQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCA9IFN5
bWJvbCgpOworZnVuY3Rpb24gaW5uZXIoKSB7CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0
LCBidXQgaXMgZm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0cmljdCBm
dW5jdGlvbiBvYmplY3QKKyAgcmV0dXJuIGlubmVyLmhhc093blByb3BlcnR5KCJjYWxsZXIiKQor
ICAgID8gaW5uZXIuY2FsbGVyCisgICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VY
SVNUOworfQorCit2YXIgY2FsbENvdW50ID0gMDsKK2NsYXNzIEMgeworICBzdGF0aWMgKm1ldGhv
ZCgpIHsKKyAgICAvKiBpbXBsaWNpdCBzdHJpY3QgKi8KKyAgICAvLyBUaGlzIGFuZCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5jYXNlIGZpbGUu
CisgICAgLy8gRm9yIGV2ZXJ5IHRlc3QgdGhhdCBoYXMgYSAidHJ1ZSIgdmFsdWUgaGVyZSwgdGhl
cmUgaXMgYQorICAgIC8vIGNvcnJlc3BvbmRpbmcgdGVzdCB0aGF0IGhhcyBhICJmYWxzZSIgdmFs
dWUgaGVyZS4KKyAgICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNh
c2UgZmlsZXMsIHdoaWNoIHVzZQorICAgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihpbm5lciwgImNhbGxlciIpOworICAgIGlmIChkZXNjcmlwdG9yICYm
IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICAgIE9iamVjdC5kZWZpbmVQ
cm9wZXJ0eShpbm5lciwgImNhbGxlciIsIHt2YWx1ZTogMX0pOworICAgIH0KKyAgICB2YXIgcmVz
dWx0ID0gaW5uZXIoKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3Vy
YWJsZSAmJiB0cnVlKSB7CisgICAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRo
aXMgdGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVu
Y3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4gdGhl
IHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgICAgfQorCisgICAgLy8gIkNBTExFUl9PV05fUFJP
UEVSVFlfRE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAgICAvLyBmb3JiaWRkZW4tZXh0LWluZGly
ZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5jYXNlCisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rp
b24gb2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAgIC8vIG5hbWVkICJjYWxs
ZXIiLCB0aGVuIGl0cyB2YWx1ZSB3aWxsIGJlIHJldHVybmVkLgorICAgIC8vCisgICAgLy8gSWYg
dGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgICAvLyBvd24g
cHJvcGVydHkgbmFtZWQgImNhbGxlciIsIHRoZW4gdGhlIHN5bWJvbAorICAgIC8vIENBTExFUl9P
V05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qgd2lsbCBiZSByZXR1cm5lZC4KKyAgICBpZiAocmVz
dWx0ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgICBhc3Nl
cnQubm90U2FtZVZhbHVlKHJlc3VsdCwgdGhpcy5tZXRob2QpOworICAgIH0KKyAgICBjYWxsQ291
bnQrKzsKKyAgfQorfQorCitDLm1ldGhvZCgpLm5leHQoKTsKKworYXNzZXJ0LnNhbWVWYWx1ZShj
YWxsQ291bnQsIDEsICdtZXRob2QgYm9keSBldmFsdWF0ZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZ2VuLW1ldGhvZC1zdGF0
aWMvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1nZW4tbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4
dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2dlbi1tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQv
YjIvY2xzLWRlY2wtZ2VuLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNz
LXByb3AtY2FsbGVyLmpzCmluZGV4IGRkYWE5MTQ3YjFiMzNiNzdiMWI3YWE3N2Q2MWY4YWU4ZDdl
NTJmYjEuLmJjZDVhODM2N2FjYjU2ODcxNjBjN2ExZTZlNTY4OGRjNDNkODg2MzQgMTAwNjQ0Ci0t
LSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZ2VuLW1l
dGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1nZW4tbWV0aC1zdGF0aWMtZm9y
YmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKKysrIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9nZW4tbWV0aG9kLXN0YXRpYy9m
b3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWdlbi1tZXRoLXN0YXRpYy1mb3JiaWRkZW4tZXh0LWlu
ZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwpAQCAtNCwzMSArNCw1OSBAQAogLyotLS0KIGRl
c2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoc3RhdGljIGNsYXNzIGV4
cHJlc3Npb24gZ2VuZXJhdG9yIG1ldGhvZCkKIGVzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1i
aW5kaW5nY2xhc3NkZWNsYXJhdGlvbmV2YWx1YXRpb24KLWZlYXR1cmVzOiBbZ2VuZXJhdG9yc10K
K2ZlYXR1cmVzOiBbY2xhc3MsIGdlbmVyYXRvcnNdCiBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJp
Y3RdCiBpbmZvOiB8CiAgICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlm
aWVyIENsYXNzVGFpbAogCiAKLSAgICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBm
dW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZh
bHVlIG9mIHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRP
d25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QuIElmIGl0
IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUg
b2YgdGhlIHByb3BlcnR5J3MgW1tHZXRdXSBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBz
dHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQuCisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0
ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxs
ZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtb
R2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlv
bgorICAgIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlv
biB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0cmli
dXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgogCiAt
LS0qLwordmFyIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2woKTsK
IGZ1bmN0aW9uIGlubmVyKCkgewotICAvLyBUaGlzIHByb3BlcnR5IGlzIGZvcmJpZGRlbiBmcm9t
IGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdAotICByZXR1cm4g
aW5uZXIuY2FsbGVyOworICAvLyBUaGlzIHByb3BlcnR5IG1heSBleGlzdCwgYnV0IGlzIGZvcmJp
ZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0
CisgIHJldHVybiBpbm5lci5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlubmVyLmNh
bGxlcgorICAgIDogQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVDsKIH0KIAogdmFy
IGNhbGxDb3VudCA9IDA7CiBjbGFzcyBDIHsKICAgc3RhdGljICptZXRob2QoKSB7CiAgICAgLyog
aW1wbGljaXQgc3RyaWN0ICovCi0gICAgaW5uZXIoKS50b1N0cmluZygpOworICAgIC8vIFRoaXMg
YW5kIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uYWwgdmFsdWUgaXMgc2V0IGluIHRoZSB0ZXN0J3Mg
LmNhc2UgZmlsZS4KKyAgICAvLyBGb3IgZXZlcnkgdGVzdCB0aGF0IGhhcyBhICJ0cnVlIiB2YWx1
ZSBoZXJlLCB0aGVyZSBpcyBhCisgICAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEg
ImZhbHNlIiB2YWx1ZSBoZXJlLgorICAgIC8vIFRoZXkgYXJlIGdlbmVyYXRlZCBmcm9tIHR3byBk
aWZmZXJlbnQgY2FzZSBmaWxlcywgd2hpY2ggdXNlCisgICAgbGV0IGRlc2NyaXB0b3IgPSBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGlubmVyLCAiY2FsbGVyIik7CisgICAgaWYgKGRl
c2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgZmFsc2UpIHsKKyAgICAgIE9i
amVjdC5kZWZpbmVQcm9wZXJ0eShpbm5lciwgImNhbGxlciIsIHt9KTsKKyAgICB9CisgICAgdmFy
IHJlc3VsdCA9IGlubmVyKCk7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25m
aWd1cmFibGUgJiYgZmFsc2UpIHsKKyAgICAgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAxLCAn
SWYgdGhpcyB0ZXN0IGRlZmluZWQgYW4gb3duICJjYWxsZXIiIHByb3BlcnR5IG9uIHRoZSBpbm5l
ciBmdW5jdGlvbiwgdGhlbiBpdCBzaG91bGQgYmUgYWNjZXNzaWJsZSBhbmQgc2hvdWxkIHJldHVy
biB0aGUgdmFsdWUgaXQgd2FzIHNldCB0by4nKTsKKyAgICB9CisKKyAgICAvLyAiQ0FMTEVSX09X
Tl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCIgaXMgZnJvbQorICAgIC8vIGZvcmJpZGRlbi1leHQt
aW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmNhc2UKKyAgICAvLworICAgIC8vIElmIHRoZSBm
dW5jdGlvbiBvYmplY3QgImlubmVyIiBoYXMgYW4gb3duIHByb3BlcnR5CisgICAgLy8gbmFtZWQg
ImNhbGxlciIsIHRoZW4gaXRzIHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQuCisgICAgLy8KKyAgICAv
LyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgRE9FUyBOT1QgaGF2ZSBhbgorICAgIC8v
IG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiwgdGhlbiB0aGUgc3ltYm9sCisgICAgLy8gQ0FM
TEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCB3aWxsIGJlIHJldHVybmVkLgorICAgIGlm
IChyZXN1bHQgIT09IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QpIHsKKyAgICAg
IGFzc2VydC5ub3RTYW1lVmFsdWUocmVzdWx0LCB0aGlzLm1ldGhvZCk7CisgICAgfQogICAgIGNh
bGxDb3VudCsrOwogICB9CiB9CiAKLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlvbigp
IHsKLSAgQy5tZXRob2QoKS5uZXh0KCk7Ci19KTsKK0MubWV0aG9kKCkubmV4dCgpOwogCi1hc3Nl
cnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ21ldGhvZCBib2R5IG5vdCBldmFsdWF0ZWQnKTsK
K2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGJvZHkgZXZhbHVhdGVkJyk7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Ns
YXNzL2dlbi1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZGVjbC1nZW4tbWV0aC1mb3JiaWRk
ZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2dlbi1tZXRob2QvZm9yYmlkZGVuLWV4dC9i
MS9jbHMtZGVjbC1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1
bWVudHMuanMKaW5kZXggM2I4YTJlNzNjMDMyOWFhZmFhMTEyNDQ1ZjdkOTY1ZGRkZmZmNzVhZS4u
NWQxNjdiYTZhMjE4ZjUyYzQzMDM1OGU1NWNlMjBlZjc4ZTBhZDU4ZiAxMDA2NDQKLS0tIGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9nZW4tbWV0aG9kL2Zv
cmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNj
ZXNzLXByb3AtYXJndW1lbnRzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvZ2VuLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2IxL2Nscy1kZWNsLWdl
bi1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwpAQCAt
MiwyNyArMiwzNCBAQAogLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dC1kaXJl
Y3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmNhc2UKIC8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2Zv
cmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC1vbmUvY2xzLWRlY2wtZ2VuLW1ldGgudGVtcGxhdGUK
IC8qLS0tCi1kZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5hcmd1bWVudHMgKGNs
YXNzIGV4cHJlc3Npb24gbWV0aG9kKQorZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24s
IGYuYXJndW1lbnRzIChjbGFzcyBleHByZXNzaW9uIG1ldGhvZCkKIGVzaWQ6IHNlYy1jbGFzcy1k
ZWZpbml0aW9ucy1ydW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCi1mZWF0dXJlczogW2dlbmVy
YXRvcnNdCitmZWF0dXJlczogW2NsYXNzLCBnZW5lcmF0b3JzXQogZmxhZ3M6IFtnZW5lcmF0ZWQs
IG5vU3RyaWN0XQogaW5mbzogfAogICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5kaW5n
SWRlbnRpZmllciBDbGFzc1RhaWwKIAogCi0gICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3Rz
IGRlZmluZWQgdXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2Rl
IG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBv
ciAiYXJndW1lbnRzIi4gU3VjaCBvd24gcHJvcGVydGllcyBhbHNvIG11c3Qgbm90IGJlIGNyZWF0
ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBN
ZXRob2REZWZpbml0aW9uLCBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lv
biwgQXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLCBD
bGFzc0RlY2xhcmF0aW9uLCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlv
biwgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24sIG9yIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRs
ZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2Rl
IGNvZGUuIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5n
IHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucyBjcmVhdGVkIHVz
aW5nIHRoZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVz
aW5nIHRoZSBBc3luY0Z1bmN0aW9uIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQg
dXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2gg
b3duIHByb3BlcnRpZXMuCisgICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQg
dXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3QKKyAg
ICBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJh
cmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28KKyAgICBtdXN0IG5vdCBiZSBjcmVh
dGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwg
TWV0aG9kRGVmaW5pdGlvbiwKKyAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhw
cmVzc2lvbiwgQXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNz
aW9uLAorICAgIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlv
bkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IKKyAgICBBc3luY0Fycm93
RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5l
ZCBpbiBzdHJpY3QgbW9kZSBjb2RlLgorICAgIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1
bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9y
IGZ1bmN0aW9ucworICAgIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3Rvciwg
YXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24KKyAgICBjb25z
dHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNv
IG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93bgorICAgIHByb3BlcnRpZXMuCiAKIC0t
LSovCiAKIHZhciBjYWxsQ291bnQgPSAwOwogY2xhc3MgQyB7CiAgICptZXRob2QoKSB7Ci0gICAg
dGhpcy5tZXRob2QuYXJndW1lbnRzOworICAgIGFzc2VydC5zYW1lVmFsdWUodGhpcy5tZXRob2Qu
aGFzT3duUHJvcGVydHkoImFyZ3VtZW50cyIpLCBmYWxzZSk7CiAgICAgY2FsbENvdW50Kys7CiAg
IH0KIH0KIAotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBDLnByb3Rv
dHlwZS5tZXRob2QoKS5uZXh0KCk7Ci19KTsKLWFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAw
LCAnbWV0aG9kIGJvZHkgbm90IGV2YWx1YXRlZCcpOworQy5wcm90b3R5cGUubWV0aG9kKCkubmV4
dCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgYm9keSBldmFsdWF0
ZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVu
dHMvY2xhc3MvZ2VuLW1ldGhvZC9mb3JiaWRkZW4tZXh0L2IxL2Nscy1kZWNsLWdlbi1tZXRoLWZv
cmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZ2VuLW1ldGhvZC9mb3JiaWRkZW4tZXh0
L2IxL2Nscy1kZWNsLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNh
bGxlci5qcwppbmRleCA3YmJkOWRjYjg5ZWUzMTRkMzE2MjA3NGQ1NmNiYzc1YTEwNGFiZjc2Li4x
NmU3MTUzZTk4NjQyZmVlYzg2NjFlN2QzODQwMjExNmMzMjMxZTRiIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2dlbi1tZXRob2QvZm9y
YmlkZGVuLWV4dC9iMS9jbHMtZGVjbC1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nl
c3MtcHJvcC1jYWxsZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9jbGFzcy9nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtZ2VuLW1l
dGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCkBAIC00LDI1ICs0
LDMyIEBACiAvKi0tLQogZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVy
IChjbGFzcyBleHByZXNzaW9uIG1ldGhvZCkKIGVzaWQ6IHNlYy1jbGFzcy1kZWZpbml0aW9ucy1y
dW50aW1lLXNlbWFudGljcy1ldmFsdWF0aW9uCi1mZWF0dXJlczogW2dlbmVyYXRvcnNdCitmZWF0
dXJlczogW2NsYXNzLCBnZW5lcmF0b3JzXQogZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0XQog
aW5mbzogfAogICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllciBD
bGFzc1RhaWwKIAogCi0gICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNp
bmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3Qgbm90IGJl
IGNyZWF0ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRz
Ii4gU3VjaCBvd24gcHJvcGVydGllcyBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0
aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0
aW9uLCBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNHZW5l
cmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLCBDbGFzc0RlY2xhcmF0
aW9uLCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNGdW5j
dGlvbkV4cHJlc3Npb24sIG9yIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRo
ZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuIEJ1aWx0
LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlv
biBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBHZW5l
cmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBBc3lu
Y0Z1bmN0aW9uIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJp
bmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duIHByb3BlcnRp
ZXMuCisgICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgc3ludGFj
dGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3QKKyAgICBub3QgYmUgY3Jl
YXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBT
dWNoIG93biBwcm9wZXJ0aWVzIGFsc28KKyAgICBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5j
dGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5p
dGlvbiwKKyAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5
bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLAorICAgIENs
YXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9u
LCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IKKyAgICBBc3luY0Fycm93RnVuY3Rpb24gcmVn
YXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3Qg
bW9kZSBjb2RlLgorICAgIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVh
dGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucwor
ICAgIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rp
b25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24KKyAgICBjb25zdHJ1Y3RvciwgYW5k
IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90IGJl
IGNyZWF0ZWQgd2l0aCBzdWNoIG93bgorICAgIHByb3BlcnRpZXMuCiAKIC0tLSovCiAKIHZhciBj
YWxsQ291bnQgPSAwOwogY2xhc3MgQyB7CiAgICptZXRob2QoKSB7Ci0gICAgdGhpcy5tZXRob2Qu
Y2FsbGVyOworICAgIGFzc2VydC5zYW1lVmFsdWUodGhpcy5tZXRob2QuaGFzT3duUHJvcGVydHko
ImNhbGxlciIpLCBmYWxzZSk7CiAgICAgY2FsbENvdW50Kys7CiAgIH0KIH0KIAotYXNzZXJ0LnRo
cm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBDLnByb3RvdHlwZS5tZXRob2QoKS5uZXh0
KCk7Ci19KTsKLWFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAwLCAnbWV0aG9kIGJvZHkgbm90
IGV2YWx1YXRlZCcpOworQy5wcm90b3R5cGUubWV0aG9kKCkubmV4dCgpOworYXNzZXJ0LnNhbWVW
YWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgYm9keSBldmFsdWF0ZWQnKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZ2VuLW1ldGhv
ZC9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJl
Y3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2dlbi1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMt
ZGVjbC1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxs
ZXItZ2V0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkYjM5ZDQ2MmEwM2VjMzI4ZTZjMTI3MzYyZDc2YzM5MGMw
NTE4NjkKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2NsYXNzL2dlbi1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1nZW4t
bWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0Lmpz
CkBAIC0wLDAgKzEsNjEgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRl
ZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2Zv
cmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuY2FzZQorLy8g
LSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dGVuc2lvbnMvYnVsbGV0LXR3by9jbHMt
ZGVjbC1nZW4tbWV0aC50ZW1wbGF0ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0
ZW5zaW9uLCBvLmNhbGxlciAoY2xhc3MgZXhwcmVzc2lvbiBtZXRob2QpCitlc2lkOiBzZWMtY2xh
c3MtZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtj
bGFzcywgZ2VuZXJhdG9yc10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdF0KK2luZm86IHwK
KyAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWls
CisKKworICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVj
dCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2YKKyAgICB0
aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVy
dHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24KKyAgICBvYmplY3QuIElmIGl0IGlz
IGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUgb2Yg
dGhlIHByb3BlcnR5J3MgW1tHZXRdXQorICAgIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVybiBh
IHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KKworLS0tKi8KK3ZhciBDQUxMRVJfT1dOX1BS
T1BFUlRZX0RPRVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7CitmdW5jdGlvbiBpbm5lcigpIHsKKyAg
Ly8gVGhpcyBwcm9wZXJ0eSBtYXkgZXhpc3QsIGJ1dCBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcg
YSB2YWx1ZSB0aGF0IGlzIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdAorICByZXR1cm4gaW5uZXIu
aGFzT3duUHJvcGVydHkoImNhbGxlciIpCisgICAgPyBpbm5lci5jYWxsZXIKKyAgICA6IENBTExF
Ul9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Q7Cit9CisKK3ZhciBjYWxsQ291bnQgPSAwOwor
Y2xhc3MgQyB7CisgICptZXRob2QoKSB7CisgICAgLyogaW1wbGljaXQgc3RyaWN0ICovCisgICAg
Ly8gVGhpcyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhl
IHRlc3QncyAuY2FzZSBmaWxlLgorICAgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRy
dWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhh
dCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZy
b20gdHdvIGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgICBsZXQgZGVzY3JpcHRv
ciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAg
ICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7Cisg
ICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJjYWxsZXIiLCB7Z2V0KCl7cmV0dXJu
IDF9fSk7CisgICAgfQorICAgIHZhciByZXN1bHQgPSBpbm5lcigpOworICAgIGlmIChkZXNjcmlw
dG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICAgIGFzc2VydC5z
YW1lVmFsdWUocmVzdWx0LCAxLCAnSWYgdGhpcyB0ZXN0IGRlZmluZWQgYW4gb3duICJjYWxsZXIi
IHByb3BlcnR5IG9uIHRoZSBpbm5lciBmdW5jdGlvbiwgdGhlbiBpdCBzaG91bGQgYmUgYWNjZXNz
aWJsZSBhbmQgc2hvdWxkIHJldHVybiB0aGUgdmFsdWUgaXQgd2FzIHNldCB0by4nKTsKKyAgICB9
CisKKyAgICAvLyAiQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCIgaXMgZnJvbQor
ICAgIC8vIGZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmNhc2UKKyAg
ICAvLworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBoYXMgYW4gb3duIHBy
b3BlcnR5CisgICAgLy8gbmFtZWQgImNhbGxlciIsIHRoZW4gaXRzIHZhbHVlIHdpbGwgYmUgcmV0
dXJuZWQuCisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgRE9F
UyBOT1QgaGF2ZSBhbgorICAgIC8vIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiwgdGhlbiB0
aGUgc3ltYm9sCisgICAgLy8gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCB3aWxs
IGJlIHJldHVybmVkLgorICAgIGlmIChyZXN1bHQgIT09IENBTExFUl9PV05fUFJPUEVSVFlfRE9F
U19OT1RfRVhJU1QpIHsKKyAgICAgIGFzc2VydC5ub3RTYW1lVmFsdWUocmVzdWx0LCB0aGlzLm1l
dGhvZCk7CisgICAgfQorICAgIGNhbGxDb3VudCsrOworICB9Cit9CisKK0MucHJvdG90eXBlLm1l
dGhvZCgpLm5leHQoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGJv
ZHkgZXZhbHVhdGVkJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2NsYXNzL2dlbi1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1n
ZW4tbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFs
dWUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL2dl
bi1tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1nZW4tbWV0aC1mb3JiaWRkZW4tZXh0
LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmZi
MThmYmMxMzdkZjQyYWNlZWFlNWMwODZiNWYzNTY1NWIzOWRmNgotLS0gL2Rldi9udWxsCisrKyBi
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZ2VuLW1ldGhv
ZC9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJl
Y3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5qcwpAQCAtMCwwICsxLDYxIEBACisvLyBU
aGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNv
dXJjZXM6CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFj
Y2Vzcy1vd24tcHJvcC1jYWxsZXItdmFsdWUuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMv
Zm9yYmlkZGVuLWV4dGVuc2lvbnMvYnVsbGV0LXR3by9jbHMtZGVjbC1nZW4tbWV0aC50ZW1wbGF0
ZQorLyotLS0KK2Rlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoY2xh
c3MgZXhwcmVzc2lvbiBtZXRob2QpCitlc2lkOiBzZWMtY2xhc3MtZGVmaW5pdGlvbnMtcnVudGlt
ZS1zZW1hbnRpY3MtZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtjbGFzcywgZ2VuZXJhdG9yc10KK2Zs
YWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdF0KK2luZm86IHwKKyAgICBDbGFzc0RlY2xhcmF0aW9u
IDogY2xhc3MgQmluZGluZ0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKworICAgIElmIGFuIGltcGxl
bWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0
eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBvYnNl
cnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBz
dHJpY3QgZnVuY3Rpb24KKyAgICBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5
LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRd
XQorICAgIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVu
IGNhbGxlZC4KKworLS0tKi8KK3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNU
ID0gU3ltYm9sKCk7CitmdW5jdGlvbiBpbm5lcigpIHsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBtYXkg
ZXhpc3QsIGJ1dCBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEgc3Ry
aWN0IGZ1bmN0aW9uIG9iamVjdAorICByZXR1cm4gaW5uZXIuaGFzT3duUHJvcGVydHkoImNhbGxl
ciIpCisgICAgPyBpbm5lci5jYWxsZXIKKyAgICA6IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19O
T1RfRVhJU1Q7Cit9CisKK3ZhciBjYWxsQ291bnQgPSAwOworY2xhc3MgQyB7CisgICptZXRob2Qo
KSB7CisgICAgLyogaW1wbGljaXQgc3RyaWN0ICovCisgICAgLy8gVGhpcyBhbmQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRlc3QncyAuY2FzZSBmaWxlLgor
ICAgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRoZXJl
IGlzIGEKKyAgICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMgYSAiZmFsc2UiIHZhbHVl
IGhlcmUuCisgICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdvIGRpZmZlcmVudCBjYXNl
IGZpbGVzLCB3aGljaCB1c2UKKyAgICBsZXQgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBk
ZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgICBPYmplY3QuZGVmaW5lUHJv
cGVydHkoaW5uZXIsICJjYWxsZXIiLCB7dmFsdWU6IDF9KTsKKyAgICB9CisgICAgdmFyIHJlc3Vs
dCA9IGlubmVyKCk7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFi
bGUgJiYgdHJ1ZSkgeworICAgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0aGlz
IHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkgb24gdGhlIGlubmVyIGZ1bmN0
aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91bGQgcmV0dXJuIHRoZSB2
YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICAgIH0KKworICAgIC8vICJDQUxMRVJfT1dOX1BST1BF
UlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9tCisgICAgLy8gZm9yYmlkZGVuLWV4dC1pbmRpcmVj
dC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9u
IG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAgICAvLyBuYW1lZCAiY2FsbGVy
IiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgICAvLworICAgIC8vIElmIHRo
ZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFuCisgICAgLy8gb3duIHBy
b3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgICAvLyBDQUxMRVJfT1dO
X1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQuCisgICAgaWYgKHJlc3Vs
dCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkgeworICAgICAgYXNzZXJ0
Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIHRoaXMubWV0aG9kKTsKKyAgICB9CisgICAgY2FsbENvdW50
Kys7CisgIH0KK30KKworQy5wcm90b3R5cGUubWV0aG9kKCkubmV4dCgpOworYXNzZXJ0LnNhbWVW
YWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgYm9keSBldmFsdWF0ZWQnKTsKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZ2VuLW1ldGhv
ZC9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLWdlbi1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJl
Y3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wtZ2Vu
LW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKaW5kZXgg
ODQxNjlkYzk5OGNhZmFmM2U3YTVmYTUxOWFlNTYzMTE3NzY2N2I1My4uZWFlMjM0NWY2MTg1NzMz
M2UwYjUxZTVkMjc0MTcwOGJkOTYzYThlZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIv
Y2xzLWRlY2wtZ2VuLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxs
ZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9nZW4tbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wtZ2VuLW1ldGgtZm9yYmlkZGVu
LWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKQEAgLTQsMzAgKzQsNTggQEAKIC8q
LS0tCiBkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIgKGNsYXNzIGV4
cHJlc3Npb24gbWV0aG9kKQogZXNpZDogc2VjLWNsYXNzLWRlZmluaXRpb25zLXJ1bnRpbWUtc2Vt
YW50aWNzLWV2YWx1YXRpb24KLWZlYXR1cmVzOiBbZ2VuZXJhdG9yc10KK2ZlYXR1cmVzOiBbY2xh
c3MsIGdlbmVyYXRvcnNdCiBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCiBpbmZvOiB8CiAg
ICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyIENsYXNzVGFpbAog
CiAKLSAgICBJZiBhbiBpbXBsZW1lbnRhdGlvbiBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmplY3Qg
d2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIgdGhlIHZhbHVlIG9mIHRoYXQgcHJv
cGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBt
dXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbiBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29y
IHByb3BlcnR5LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5
J3MgW1tHZXRdXSBhdHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24g
d2hlbiBjYWxsZWQuCisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rp
b24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBv
ZgorICAgIHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRP
d25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbgorICAgIG9iamVjdC4g
SWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2
YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0cmlidXRlIG11c3QgbmV2ZXIg
cmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgogCiAtLS0qLwordmFyIENBTExF
Ul9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2woKTsKIGZ1bmN0aW9uIGlubmVy
KCkgewotICAvLyBUaGlzIHByb3BlcnR5IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVl
IHRoYXQgaXMgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdAotICByZXR1cm4gaW5uZXIuY2FsbGVyOwor
ICAvLyBUaGlzIHByb3BlcnR5IG1heSBleGlzdCwgYnV0IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmlu
ZyBhIHZhbHVlIHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0CisgIHJldHVybiBpbm5l
ci5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlubmVyLmNhbGxlcgorICAgIDogQ0FM
TEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVDsKIH0KIAogdmFyIGNhbGxDb3VudCA9IDA7
CiBjbGFzcyBDIHsKICAgKm1ldGhvZCgpIHsKICAgICAvKiBpbXBsaWNpdCBzdHJpY3QgKi8KLSAg
ICBpbm5lcigpLnRvU3RyaW5nKCk7CisgICAgLy8gVGhpcyBhbmQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRlc3QncyAuY2FzZSBmaWxlLgorICAgIC8vIEZv
ciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAg
ICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUuCisg
ICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdvIGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3
aGljaCB1c2UKKyAgICBsZXQgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9y
LmNvbmZpZ3VyYWJsZSAmJiBmYWxzZSkgeworICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlu
bmVyLCAiY2FsbGVyIiwge30pOworICAgIH0KKyAgICB2YXIgcmVzdWx0ID0gaW5uZXIoKTsKKyAg
ICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiBmYWxzZSkgewor
ICAgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBh
biBvd24gImNhbGxlciIgcHJvcGVydHkgb24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNo
b3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0
IHRvLicpOworICAgIH0KKworICAgIC8vICJDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VY
SVNUIiBpcyBmcm9tCisgICAgLy8gZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1j
YWxsZXIuY2FzZQorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIi
IGhhcyBhbiBvd24gcHJvcGVydHkKKyAgICAvLyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFs
dWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgICAvLworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmpl
Y3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFuCisgICAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJj
YWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNf
Tk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQuCisgICAgaWYgKHJlc3VsdCAhPT0gQ0FMTEVSX09X
Tl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkgeworICAgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShy
ZXN1bHQsIHRoaXMubWV0aG9kKTsKKyAgICB9CiAgICAgY2FsbENvdW50Kys7CiAgIH0KIH0KIAot
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBDLnByb3RvdHlwZS5tZXRo
b2QoKS5uZXh0KCk7Ci19KTsKLWFzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAwLCAnbWV0aG9k
IGJvZHkgbm90IGV2YWx1YXRlZCcpOworQy5wcm90b3R5cGUubWV0aG9kKCkubmV4dCgpOworYXNz
ZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgYm9keSBldmFsdWF0ZWQnKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mv
bWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IxL2Nscy1kZWNsLW1ldGgtc3RhdGljLWZvcmJp
ZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4t
ZXh0L2IxL2Nscy1kZWNsLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1w
cm9wLWFyZ3VtZW50cy5qcwppbmRleCAxMWJkMDJkZTg2MmJjN2Y0ZWEyN2QzMDlhODQwYjczNWVk
NTNkZTJlLi4zODZhY2EwOTRhMjljZGU1MGFiZTI1MTcyODk1YWJiYjRhZjE2MGM5IDEwMDY0NAot
LS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL21ldGhv
ZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZGVjbC1tZXRoLXN0YXRpYy1mb3JiaWRkZW4t
ZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1l
eHQvYjEvY2xzLWRlY2wtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXBy
b3AtYXJndW1lbnRzLmpzCkBAIC0yLDI1ICsyLDM0IEBACiAvLyAtIHNyYy9mdW5jdGlvbi1mb3Jt
cy9mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuY2FzZQogLy8gLSBz
cmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dGVuc2lvbnMvYnVsbGV0LW9uZS9jbHMtZGVj
bC1tZXRoLXN0YXRpYy50ZW1wbGF0ZQogLyotLS0KLWRlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0
ZW5zaW9uLCBvLmFyZ3VtZW50cyAoc3RhdGljIGNsYXNzIGV4cHJlc3Npb24gbWV0aG9kKQorZGVz
Y3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIGYuYXJndW1lbnRzIChzdGF0aWMgY2xhc3Mg
ZXhwcmVzc2lvbiBtZXRob2QpCiBlc2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3MtYmluZGluZ2Ns
YXNzZGVjbGFyYXRpb25ldmFsdWF0aW9uCitmZWF0dXJlczogW2NsYXNzXQogZmxhZ3M6IFtnZW5l
cmF0ZWQsIG5vU3RyaWN0XQogaW5mbzogfAogICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBC
aW5kaW5nSWRlbnRpZmllciBDbGFzc1RhaWwKIAotICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2Jq
ZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUg
Y29kZSBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxl
ciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbyBtdXN0IG5vdCBiZSBj
cmVhdGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlv
biwgTWV0aG9kRGVmaW5pdGlvbiwgR2VuZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJl
c3Npb24sIEFzeW5jR2VuZXJhdG9yRGVjbGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lv
biwgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFy
YXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvciBBc3luY0Fycm93RnVuY3Rpb24gcmVn
YXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3Qg
bW9kZSBjb2RlLiBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1
c2luZyB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMgY3JlYXRl
ZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRl
ZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbiBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVh
dGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBz
dWNoIG93biBwcm9wZXJ0aWVzLgorCisgICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRl
ZmluZWQgdXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11
c3QKKyAgICBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIi
IG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28KKyAgICBtdXN0IG5vdCBi
ZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5j
dGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwKKyAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJh
dG9yRXhwcmVzc2lvbiwgQXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JF
eHByZXNzaW9uLAorICAgIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNG
dW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IKKyAgICBBc3lu
Y0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNv
bnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLgorICAgIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3Ry
aWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2Vu
ZXJhdG9yIGZ1bmN0aW9ucworICAgIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1
Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24KKyAg
ICBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhv
ZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93bgorICAgIHByb3BlcnRpZXMu
CiAKIC0tLSovCiAKIHZhciBjYWxsQ291bnQgPSAwOwogY2xhc3MgQyB7CiAgIHN0YXRpYyBtZXRo
b2QoKSB7Ci0gICAgdGhpcy5tZXRob2QuYXJndW1lbnRzOworICAgIGFzc2VydC5zYW1lVmFsdWUo
dGhpcy5tZXRob2QuaGFzT3duUHJvcGVydHkoImFyZ3VtZW50cyIpLCBmYWxzZSk7CiAgICAgY2Fs
bENvdW50Kys7CiAgIH0KIH0KIAotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkg
ewotICBDLm1ldGhvZCgpOwotfSk7Ci1hc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ21l
dGhvZCBib2R5IG5vdCBldmFsdWF0ZWQnKTsKK0MubWV0aG9kKCk7Cithc3NlcnQuc2FtZVZhbHVl
KGNhbGxDb3VudCwgMSwgJ21ldGhvZCBib2R5IGV2YWx1YXRlZCcpOwpkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9tZXRob2Qtc3RhdGlj
L2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1kaXJl
Y3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wt
bWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCmlu
ZGV4IGNhZGQxZDNjZTU0NTE0OTlhY2Q2OWI0ZWNkNzBhNzk5N2ZlNmY4NDYuLjc2YmRmNTEzMmE4
OTc4MWQwZjc2MDBjZjU0ZGMyYmVhNTZlZDMxMTkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4t
ZXh0L2IxL2Nscy1kZWNsLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1w
cm9wLWNhbGxlci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL21ldGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZGVjbC1tZXRoLXN0
YXRpYy1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKQEAgLTQsMjMg
KzQsMzIgQEAKIC8qLS0tCiBkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxs
ZXIgKHN0YXRpYyBjbGFzcyBleHByZXNzaW9uIG1ldGhvZCkKIGVzaWQ6IHNlYy1ydW50aW1lLXNl
bWFudGljcy1iaW5kaW5nY2xhc3NkZWNsYXJhdGlvbmV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbY2xh
c3NdCiBmbGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCiBpbmZvOiB8CiAgICAgQ2xhc3NEZWNs
YXJhdGlvbiA6IGNsYXNzIEJpbmRpbmdJZGVudGlmaWVyIENsYXNzVGFpbAogCi0gICAgRUNNQVNj
cmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9y
cyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBvd24gcHJvcGVy
dGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4gU3VjaCBvd24gcHJvcGVydGllcyBh
bHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2lu
ZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLCBHZW5lcmF0b3JEZWNsYXJhdGlv
biwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNH
ZW5lcmF0b3JFeHByZXNzaW9uLCBDbGFzc0RlY2xhcmF0aW9uLCBDbGFzc0V4cHJlc3Npb24sIEFz
eW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24sIG9yIEFzeW5j
QXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29u
dGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1
bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9y
IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5j
IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBBc3luY0Z1bmN0aW9uIGNvbnN0cnVjdG9yLCBh
bmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3Qg
YmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duIHByb3BlcnRpZXMuCisKKyAgICBFQ01BU2NyaXB0IGZ1
bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0
cmljdCBtb2RlIGNvZGUgbXVzdAorICAgIG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRp
ZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxz
bworICAgIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1
c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9uLAorICAgIEdlbmVyYXRvckRl
Y2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9u
LCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sCisgICAgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NF
eHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNz
aW9uLCBvcgorICAgIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhl
IGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuCisgICAgQnVpbHQt
aW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9u
IGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zCisgICAgY3JlYXRlZCB1c2luZyB0aGUg
R2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUg
QXN5bmNGdW5jdGlvbgorICAgIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNp
bmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3du
CisgICAgcHJvcGVydGllcy4KIAogLS0tKi8KIAogdmFyIGNhbGxDb3VudCA9IDA7CiBjbGFzcyBD
IHsKICAgc3RhdGljIG1ldGhvZCgpIHsKLSAgICB0aGlzLm1ldGhvZC5jYWxsZXI7CisgICAgYXNz
ZXJ0LnNhbWVWYWx1ZSh0aGlzLm1ldGhvZC5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIiksIGZhbHNl
KTsKICAgICBjYWxsQ291bnQrKzsKICAgfQogfQogCi1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwg
ZnVuY3Rpb24oKSB7Ci0gIEMubWV0aG9kKCk7Ci19KTsKLWFzc2VydC5zYW1lVmFsdWUoY2FsbENv
dW50LCAwLCAnbWV0aG9kIGJvZHkgbm90IGV2YWx1YXRlZCcpOworQy5tZXRob2QoKTsKK2Fzc2Vy
dC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGJvZHkgZXZhbHVhdGVkJyk7CmRpZmYg
LS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL21l
dGhvZC1zdGF0aWMvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1tZXRoLXN0YXRpYy1mb3JiaWRk
ZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzIGIvSlNUZXN0cy90
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9tZXRob2Qtc3RhdGljL2ZvcmJp
ZGRlbi1leHQvYjIvY2xzLWRlY2wtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1h
Y2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45N2Q1ZTU0MGQzYTRlZTVm
NThhYzVhYTViZmQxYmE0YmI3NTgxMWI4Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0
MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9tZXRob2Qtc3RhdGljL2ZvcmJpZGRl
bi1leHQvYjIvY2xzLWRlY2wtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nl
c3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcwpAQCAtMCwwICsxLDYxIEBACisvLyBUaGlzIGZpbGUg
d2FzIHByb2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6Cisv
LyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24t
cHJvcC1jYWxsZXItZ2V0LmNhc2UKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1l
eHRlbnNpb25zL2J1bGxldC10d28vY2xzLWRlY2wtbWV0aC1zdGF0aWMudGVtcGxhdGUKKy8qLS0t
CitkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIgKHN0YXRpYyBjbGFz
cyBleHByZXNzaW9uIG1ldGhvZCkKK2VzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1iaW5kaW5n
Y2xhc3NkZWNsYXJhdGlvbmV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbY2xhc3NdCitmbGFnczogW2dl
bmVyYXRlZCwgbm9TdHJpY3RdCitpbmZvOiB8CisgICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNz
IEJpbmRpbmdJZGVudGlmaWVyIENsYXNzVGFpbAorCisKKyAgICBJZiBhbiBpbXBsZW1lbnRhdGlv
biBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQg
ImNhbGxlciIgdGhlIHZhbHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNp
bmcgW1tHZXRdXSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1
bmN0aW9uCisgICAgb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1
bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAgICBh
dHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQu
CisKKy0tLSovCit2YXIgQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCA9IFN5bWJv
bCgpOworZnVuY3Rpb24gaW5uZXIoKSB7CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0LCBi
dXQgaXMgZm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0cmljdCBmdW5j
dGlvbiBvYmplY3QKKyAgcmV0dXJuIGlubmVyLmhhc093blByb3BlcnR5KCJjYWxsZXIiKQorICAg
ID8gaW5uZXIuY2FsbGVyCisgICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNU
OworfQorCit2YXIgY2FsbENvdW50ID0gMDsKK2NsYXNzIEMgeworICBzdGF0aWMgbWV0aG9kKCkg
eworICAgIC8qIGltcGxpY2l0IHN0cmljdCAqLworICAgIC8vIFRoaXMgYW5kIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9uYWwgdmFsdWUgaXMgc2V0IGluIHRoZSB0ZXN0J3MgLmNhc2UgZmlsZS4KKyAg
ICAvLyBGb3IgZXZlcnkgdGVzdCB0aGF0IGhhcyBhICJ0cnVlIiB2YWx1ZSBoZXJlLCB0aGVyZSBp
cyBhCisgICAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBo
ZXJlLgorICAgIC8vIFRoZXkgYXJlIGdlbmVyYXRlZCBmcm9tIHR3byBkaWZmZXJlbnQgY2FzZSBm
aWxlcywgd2hpY2ggdXNlCisgICAgbGV0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKGlubmVyLCAiY2FsbGVyIik7CisgICAgaWYgKGRlc2NyaXB0b3IgJiYgZGVz
Y3JpcHRvci5jb25maWd1cmFibGUgJiYgdHJ1ZSkgeworICAgICAgT2JqZWN0LmRlZmluZVByb3Bl
cnR5KGlubmVyLCAiY2FsbGVyIiwge2dldCgpe3JldHVybiAxfX0pOworICAgIH0KKyAgICB2YXIg
cmVzdWx0ID0gaW5uZXIoKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZp
Z3VyYWJsZSAmJiB0cnVlKSB7CisgICAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lm
IHRoaXMgdGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIg
ZnVuY3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4g
dGhlIHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgICAgfQorCisgICAgLy8gIkNBTExFUl9PV05f
UFJPUEVSVFlfRE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAgICAvLyBmb3JiaWRkZW4tZXh0LWlu
ZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5jYXNlCisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVu
Y3Rpb24gb2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAgIC8vIG5hbWVkICJj
YWxsZXIiLCB0aGVuIGl0cyB2YWx1ZSB3aWxsIGJlIHJldHVybmVkLgorICAgIC8vCisgICAgLy8g
SWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgICAvLyBv
d24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIsIHRoZW4gdGhlIHN5bWJvbAorICAgIC8vIENBTExF
Ul9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qgd2lsbCBiZSByZXR1cm5lZC4KKyAgICBpZiAo
cmVzdWx0ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgICBh
c3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdCwgdGhpcy5tZXRob2QpOworICAgIH0KKyAgICBjYWxs
Q291bnQrKzsKKyAgfQorfQorCitDLm1ldGhvZCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291
bnQsIDEsICdtZXRob2QgYm9keSBldmFsdWF0ZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvbWV0aG9kLXN0YXRpYy9mb3JiaWRk
ZW4tZXh0L2IyL2Nscy1kZWNsLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNj
ZXNzLW93bi1wcm9wLWNhbGxlci12YWx1ZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1k
ZWNsLW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNh
bGxlci12YWx1ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMGIwMzgzYzY0MmRiYTdhYzYyOGM4NmMwMTMzNDIy
MDNmYmJmMzRhCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9jbGFzcy9tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRl
Y2wtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2Fs
bGVyLXZhbHVlLmpzCkBAIC0wLDAgKzEsNjEgQEAKKy8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJh
bGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0
aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12
YWx1ZS5jYXNlCisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0ZW5zaW9ucy9i
dWxsZXQtdHdvL2Nscy1kZWNsLW1ldGgtc3RhdGljLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRp
b246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVyIChzdGF0aWMgY2xhc3MgZXhwcmVzc2lv
biBtZXRob2QpCitlc2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3MtYmluZGluZ2NsYXNzZGVjbGFy
YXRpb25ldmFsdWF0aW9uCitmZWF0dXJlczogW2NsYXNzXQorZmxhZ3M6IFtnZW5lcmF0ZWQsIG5v
U3RyaWN0XQoraW5mbzogfAorICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRl
bnRpZmllciBDbGFzc1RhaWwKKworCisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBh
bnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRo
ZSB2YWx1ZSBvZgorICAgIHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0g
b3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbgorICAg
IG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0
IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0cmlidXRlIG11
c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgorCistLS0qLwor
dmFyIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2woKTsKK2Z1bmN0
aW9uIGlubmVyKCkgeworICAvLyBUaGlzIHByb3BlcnR5IG1heSBleGlzdCwgYnV0IGlzIGZvcmJp
ZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0
CisgIHJldHVybiBpbm5lci5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlubmVyLmNh
bGxlcgorICAgIDogQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVDsKK30KKwordmFy
IGNhbGxDb3VudCA9IDA7CitjbGFzcyBDIHsKKyAgc3RhdGljIG1ldGhvZCgpIHsKKyAgICAvKiBp
bXBsaWNpdCBzdHJpY3QgKi8KKyAgICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bmFsIHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgICAgLy8gRm9yIGV2
ZXJ5IHRlc3QgdGhhdCBoYXMgYSAidHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUgaXMgYQorICAgIC8v
IGNvcnJlc3BvbmRpbmcgdGVzdCB0aGF0IGhhcyBhICJmYWxzZSIgdmFsdWUgaGVyZS4KKyAgICAv
LyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNhc2UgZmlsZXMsIHdoaWNo
IHVzZQorICAgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihpbm5lciwgImNhbGxlciIpOworICAgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29u
ZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbm5lciwg
ImNhbGxlciIsIHt2YWx1ZTogMX0pOworICAgIH0KKyAgICB2YXIgcmVzdWx0ID0gaW5uZXIoKTsK
KyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7
CisgICAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMgdGVzdCBkZWZpbmVk
IGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rpb24sIHRoZW4gaXQg
c2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4gdGhlIHZhbHVlIGl0IHdhcyBz
ZXQgdG8uJyk7CisgICAgfQorCisgICAgLy8gIkNBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1Rf
RVhJU1QiIGlzIGZyb20KKyAgICAvLyBmb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9w
LWNhbGxlci5jYXNlCisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5l
ciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAgIC8vIG5hbWVkICJjYWxsZXIiLCB0aGVuIGl0cyB2
YWx1ZSB3aWxsIGJlIHJldHVybmVkLgorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9i
amVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgICAvLyBvd24gcHJvcGVydHkgbmFtZWQg
ImNhbGxlciIsIHRoZW4gdGhlIHN5bWJvbAorICAgIC8vIENBTExFUl9PV05fUFJPUEVSVFlfRE9F
U19OT1RfRVhJU1Qgd2lsbCBiZSByZXR1cm5lZC4KKyAgICBpZiAocmVzdWx0ICE9PSBDQUxMRVJf
T1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgICBhc3NlcnQubm90U2FtZVZhbHVl
KHJlc3VsdCwgdGhpcy5tZXRob2QpOworICAgIH0KKyAgICBjYWxsQ291bnQrKzsKKyAgfQorfQor
CitDLm1ldGhvZCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgYm9k
eSBldmFsdWF0ZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvbWV0aG9kLXN0YXRpYy9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNs
LW1ldGgtc3RhdGljLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpz
IGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9tZXRob2Qt
c3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4
dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKaW5kZXggZDgzNTA5YjRmMmQ1MDUzZGUz
OTVhMzRmYTY4Y2Y5YzQzZDM4YTFkOS4uZjBiNjBhMTBhZTY1OWFiMGVlODgwY2E3NTk3MWUyZTBm
YWMxMjIyZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9jbGFzcy9tZXRob2Qtc3RhdGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wtbWV0aC1z
dGF0aWMtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKKysrIGIv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9tZXRob2Qtc3Rh
dGljL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wtbWV0aC1zdGF0aWMtZm9yYmlkZGVuLWV4dC1p
bmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKQEAgLTQsMjggKzQsNTggQEAKIC8qLS0tCiBk
ZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIgKHN0YXRpYyBjbGFzcyBl
eHByZXNzaW9uIG1ldGhvZCkKIGVzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1iaW5kaW5nY2xh
c3NkZWNsYXJhdGlvbmV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbY2xhc3NdCiBmbGFnczogW2dlbmVy
YXRlZCwgbm9TdHJpY3RdCiBpbmZvOiB8CiAgICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNzIEJp
bmRpbmdJZGVudGlmaWVyIENsYXNzVGFpbAogCi0gICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0
ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxs
ZXIiIHRoZSB2YWx1ZSBvZiB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1d
IG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24gb2Jq
ZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMg
dGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0gYXR0cmlidXRlIG11c3QgbmV2ZXIg
cmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgorCisgICAgSWYgYW4gaW1wbGVt
ZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5
IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRoYXQgcHJvcGVydHksIGFzIG9ic2Vy
dmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0
cmljdCBmdW5jdGlvbgorICAgIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHks
IHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1d
CisgICAgYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4g
Y2FsbGVkLgogCiAtLS0qLwordmFyIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qg
PSBTeW1ib2woKTsKIGZ1bmN0aW9uIGlubmVyKCkgewotICAvLyBUaGlzIHByb3BlcnR5IGlzIGZv
cmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgc3RyaWN0IGZ1bmN0aW9uIG9iamVj
dAotICByZXR1cm4gaW5uZXIuY2FsbGVyOworICAvLyBUaGlzIHByb3BlcnR5IG1heSBleGlzdCwg
YnV0IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgYSBzdHJpY3QgZnVu
Y3Rpb24gb2JqZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIikKKyAg
ICA/IGlubmVyLmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElT
VDsKIH0KIAogdmFyIGNhbGxDb3VudCA9IDA7CiBjbGFzcyBDIHsKICAgc3RhdGljIG1ldGhvZCgp
IHsKICAgICAvKiBpbXBsaWNpdCBzdHJpY3QgKi8KLSAgICBpbm5lcigpLnRvU3RyaW5nKCk7Cisg
ICAgLy8gVGhpcyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4g
dGhlIHRlc3QncyAuY2FzZSBmaWxlLgorICAgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEg
InRydWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgICAvLyBjb3JyZXNwb25kaW5nIHRlc3Qg
dGhhdCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVk
IGZyb20gdHdvIGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgICBsZXQgZGVzY3Jp
cHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsK
KyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiBmYWxzZSkg
eworICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2FsbGVyIiwge30pOworICAg
IH0KKyAgICB2YXIgcmVzdWx0ID0gaW5uZXIoKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNj
cmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiBmYWxzZSkgeworICAgICAgYXNzZXJ0LnNhbWVWYWx1ZShy
ZXN1bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkg
b24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBz
aG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICAgIH0KKworICAgIC8v
ICJDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9tCisgICAgLy8gZm9y
YmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAgIC8vCisgICAg
Ly8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAg
ICAvLyBuYW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAg
ICAvLworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZl
IGFuCisgICAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wK
KyAgICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJu
ZWQuCisgICAgaWYgKHJlc3VsdCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElT
VCkgeworICAgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIHRoaXMubWV0aG9kKTsKKyAg
ICB9CiAgICAgY2FsbENvdW50Kys7CiAgIH0KIH0KIAotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3Is
IGZ1bmN0aW9uKCkgewotICBDLm1ldGhvZCgpOwotfSk7Ci1hc3NlcnQuc2FtZVZhbHVlKGNhbGxD
b3VudCwgMCwgJ21ldGhvZCBib2R5IG5vdCBldmFsdWF0ZWQnKTsKK0MubWV0aG9kKCk7Cithc3Nl
cnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ21ldGhvZCBib2R5IGV2YWx1YXRlZCcpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9t
ZXRob2QvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZGVjbC1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0
LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtbWV0aC1m
b3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKaW5kZXggMzQ5OTYx
YzNkMTNkM2E4NDRiN2Y0ZGE2Nzg1NDFhNjM0ODdmYjAwNS4uZmJkNjI3YTA1ZDM2ZmVmYjNkY2Nl
MWQyY2U5YWRhMDBiOTNiZjk1ZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9tZXRob2QvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZGVjbC1t
ZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcworKysgYi9K
U1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL21ldGhvZC9mb3Ji
aWRkZW4tZXh0L2IxL2Nscy1kZWNsLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNjZXNzLXBy
b3AtYXJndW1lbnRzLmpzCkBAIC0yLDI1ICsyLDM0IEBACiAvLyAtIHNyYy9mdW5jdGlvbi1mb3Jt
cy9mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuY2FzZQogLy8gLSBz
cmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dGVuc2lvbnMvYnVsbGV0LW9uZS9jbHMtZGVj
bC1tZXRoLnRlbXBsYXRlCiAvKi0tLQotZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24s
IG8uYXJndW1lbnRzIChjbGFzcyBleHByZXNzaW9uIG1ldGhvZCkKK2Rlc2NyaXB0aW9uOiBGb3Ji
aWRkZW4gZXh0ZW5zaW9uLCBmLmFyZ3VtZW50cyAoY2xhc3MgZXhwcmVzc2lvbiBtZXRob2QpCiBl
c2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3MtYmluZGluZ2NsYXNzZGVjbGFyYXRpb25ldmFsdWF0
aW9uCitmZWF0dXJlczogW2NsYXNzXQogZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0XQogaW5m
bzogfAogICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBCaW5kaW5nSWRlbnRpZmllciBDbGFz
c1RhaWwKIAotICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5
bnRhY3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0IG5vdCBiZSBjcmVh
dGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1
Y2ggb3duIHByb3BlcnRpZXMgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBv
YmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwg
R2VuZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2VuZXJhdG9y
RGVjbGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwgQ2xhc3NEZWNsYXJhdGlvbiwg
Q2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25F
eHByZXNzaW9uLCBvciBBc3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRo
ZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLiBCdWlsdC1pbiBm
dW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rpb24gY29u
c3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9y
IGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5j
dGlvbiBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1l
dGhvZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93biBwcm9wZXJ0aWVzLgor
CisgICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgc3ludGFjdGlj
IGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3QKKyAgICBub3QgYmUgY3JlYXRl
ZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNo
IG93biBwcm9wZXJ0aWVzIGFsc28KKyAgICBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5jdGlv
biBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlv
biwKKyAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNH
ZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLAorICAgIENsYXNz
RGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBB
c3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IKKyAgICBBc3luY0Fycm93RnVuY3Rpb24gcmVnYXJk
bGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9k
ZSBjb2RlLgorICAgIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVk
IHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucworICAg
IGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25z
IGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24KKyAgICBjb25zdHJ1Y3RvciwgYW5kIGZ1
bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90IGJlIGNy
ZWF0ZWQgd2l0aCBzdWNoIG93bgorICAgIHByb3BlcnRpZXMuCiAKIC0tLSovCiAKIHZhciBjYWxs
Q291bnQgPSAwOwogY2xhc3MgQyB7CiAgIG1ldGhvZCgpIHsKLSAgICB0aGlzLm1ldGhvZC5hcmd1
bWVudHM7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh0aGlzLm1ldGhvZC5oYXNPd25Qcm9wZXJ0eSgi
YXJndW1lbnRzIiksIGZhbHNlKTsKICAgICBjYWxsQ291bnQrKzsKICAgfQogfQogCi1hc3NlcnQu
dGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gIEMucHJvdG90eXBlLm1ldGhvZCgpOwot
fSk7Ci1hc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ21ldGhvZCBib2R5IG5vdCBldmFs
dWF0ZWQnKTsKK0MucHJvdG90eXBlLm1ldGhvZCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291
bnQsIDEsICdtZXRob2QgYm9keSBldmFsdWF0ZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvbWV0aG9kL2ZvcmJpZGRlbi1leHQv
YjEvY2xzLWRlY2wtbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIu
anMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL21ldGhv
ZC9mb3JiaWRkZW4tZXh0L2IxL2Nscy1kZWNsLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJlY3QtYWNj
ZXNzLXByb3AtY2FsbGVyLmpzCmluZGV4IDRkNjU1N2YxYjUyNTdkYjAzOTdmZTFmMTAzZjBjOWU4
OTBiMzg3MDQuLjYyMGIyYTVmZmIyZDU5N2RlMjU2ZmMxOTVhMjJiZWQyOThkNjk4NmQgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvbWV0
aG9kL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWRlY2wtbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1h
Y2Nlc3MtcHJvcC1jYWxsZXIuanMKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9tZXRob2QvZm9yYmlkZGVuLWV4dC9iMS9jbHMtZGVjbC1tZXRoLWZv
cmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwpAQCAtNCwyMyArNCwzMiBA
QAogLyotLS0KIGRlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoY2xh
c3MgZXhwcmVzc2lvbiBtZXRob2QpCiBlc2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3MtYmluZGlu
Z2NsYXNzZGVjbGFyYXRpb25ldmFsdWF0aW9uCitmZWF0dXJlczogW2NsYXNzXQogZmxhZ3M6IFtn
ZW5lcmF0ZWQsIG5vU3RyaWN0XQogaW5mbzogfAogICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFz
cyBCaW5kaW5nSWRlbnRpZmllciBDbGFzc1RhaWwKIAotICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24g
b2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBjb25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1v
ZGUgY29kZSBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNh
bGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbyBtdXN0IG5vdCBi
ZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5j
dGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwgR2VuZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4
cHJlc3Npb24sIEFzeW5jR2VuZXJhdG9yRGVjbGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVz
c2lvbiwgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVj
bGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvciBBc3luY0Fycm93RnVuY3Rpb24g
cmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJp
Y3QgbW9kZSBjb2RlLiBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRl
ZCB1c2luZyB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMgY3Jl
YXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBhc3luYyBmdW5jdGlvbnMgY3Jl
YXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbiBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBj
cmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0
aCBzdWNoIG93biBwcm9wZXJ0aWVzLgorCisgICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3Rz
IGRlZmluZWQgdXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2Rl
IG11c3QKKyAgICBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxs
ZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28KKyAgICBtdXN0IG5v
dCBiZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dG
dW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwKKyAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2Vu
ZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0
b3JFeHByZXNzaW9uLAorICAgIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5
bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IKKyAgICBB
c3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlz
IGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLgorICAgIEJ1aWx0LWluIGZ1bmN0aW9ucywg
c3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3Rvciwg
Z2VuZXJhdG9yIGZ1bmN0aW9ucworICAgIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25z
dHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24K
KyAgICBjb25zdHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1l
dGhvZCBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93bgorICAgIHByb3BlcnRp
ZXMuCiAKIC0tLSovCiAKIHZhciBjYWxsQ291bnQgPSAwOwogY2xhc3MgQyB7CiAgIG1ldGhvZCgp
IHsKLSAgICB0aGlzLm1ldGhvZC5jYWxsZXI7CisgICAgYXNzZXJ0LnNhbWVWYWx1ZSh0aGlzLm1l
dGhvZC5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIiksIGZhbHNlKTsKICAgICBjYWxsQ291bnQrKzsK
ICAgfQogfQogCi1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gIEMucHJv
dG90eXBlLm1ldGhvZCgpOwotfSk7Ci1hc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ21l
dGhvZCBib2R5IG5vdCBldmFsdWF0ZWQnKTsKK0MucHJvdG90eXBlLm1ldGhvZCgpOworYXNzZXJ0
LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdtZXRob2QgYm9keSBldmFsdWF0ZWQnKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvbWV0
aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wtbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0
LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9tZXRob2QvZm9yYmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1t
ZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uM2QwMmQxYzIzZTk0MmY1ZDY2OWI1MjgxNjhlZjZjNjQ3MTJlYzZhOAotLS0g
L2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wtbWV0aC1mb3JiaWRkZW4tZXh0
LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzCkBAIC0wLDAgKzEsNjEgQEAK
Ky8vIFRoaXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dp
bmcgc291cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHQtaW5kaXJl
Y3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9y
bXMvZm9yYmlkZGVuLWV4dGVuc2lvbnMvYnVsbGV0LXR3by9jbHMtZGVjbC1tZXRoLnRlbXBsYXRl
CisvKi0tLQorZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVyIChjbGFz
cyBleHByZXNzaW9uIG1ldGhvZCkKK2VzaWQ6IHNlYy1ydW50aW1lLXNlbWFudGljcy1iaW5kaW5n
Y2xhc3NkZWNsYXJhdGlvbmV2YWx1YXRpb24KK2ZlYXR1cmVzOiBbY2xhc3NdCitmbGFnczogW2dl
bmVyYXRlZCwgbm9TdHJpY3RdCitpbmZvOiB8CisgICAgQ2xhc3NEZWNsYXJhdGlvbiA6IGNsYXNz
IEJpbmRpbmdJZGVudGlmaWVyIENsYXNzVGFpbAorCisKKyAgICBJZiBhbiBpbXBsZW1lbnRhdGlv
biBleHRlbmRzIGFueSBmdW5jdGlvbiBvYmplY3Qgd2l0aCBhbiBvd24gcHJvcGVydHkgbmFtZWQg
ImNhbGxlciIgdGhlIHZhbHVlIG9mCisgICAgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNp
bmcgW1tHZXRdXSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1
bmN0aW9uCisgICAgb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgdGhlIGZ1
bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSdzIFtbR2V0XV0KKyAgICBh
dHRyaWJ1dGUgbXVzdCBuZXZlciByZXR1cm4gYSBzdHJpY3QgZnVuY3Rpb24gd2hlbiBjYWxsZWQu
CisKKy0tLSovCit2YXIgQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCA9IFN5bWJv
bCgpOworZnVuY3Rpb24gaW5uZXIoKSB7CisgIC8vIFRoaXMgcHJvcGVydHkgbWF5IGV4aXN0LCBi
dXQgaXMgZm9yYmlkZGVuIGZyb20gaGF2aW5nIGEgdmFsdWUgdGhhdCBpcyBhIHN0cmljdCBmdW5j
dGlvbiBvYmplY3QKKyAgcmV0dXJuIGlubmVyLmhhc093blByb3BlcnR5KCJjYWxsZXIiKQorICAg
ID8gaW5uZXIuY2FsbGVyCisgICAgOiBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNU
OworfQorCit2YXIgY2FsbENvdW50ID0gMDsKK2NsYXNzIEMgeworICBtZXRob2QoKSB7CisgICAg
LyogaW1wbGljaXQgc3RyaWN0ICovCisgICAgLy8gVGhpcyBhbmQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRlc3QncyAuY2FzZSBmaWxlLgorICAgIC8vIEZv
ciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAg
ICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUuCisg
ICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20gdHdvIGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3
aGljaCB1c2UKKyAgICBsZXQgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9y
LmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5u
ZXIsICJjYWxsZXIiLCB7Z2V0KCl7cmV0dXJuIDF9fSk7CisgICAgfQorICAgIHZhciByZXN1bHQg
PSBpbm5lcigpOworICAgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJhYmxl
ICYmIHRydWUpIHsKKyAgICAgIGFzc2VydC5zYW1lVmFsdWUocmVzdWx0LCAxLCAnSWYgdGhpcyB0
ZXN0IGRlZmluZWQgYW4gb3duICJjYWxsZXIiIHByb3BlcnR5IG9uIHRoZSBpbm5lciBmdW5jdGlv
biwgdGhlbiBpdCBzaG91bGQgYmUgYWNjZXNzaWJsZSBhbmQgc2hvdWxkIHJldHVybiB0aGUgdmFs
dWUgaXQgd2FzIHNldCB0by4nKTsKKyAgICB9CisKKyAgICAvLyAiQ0FMTEVSX09XTl9QUk9QRVJU
WV9ET0VTX05PVF9FWElTVCIgaXMgZnJvbQorICAgIC8vIGZvcmJpZGRlbi1leHQtaW5kaXJlY3Qt
YWNjZXNzLXByb3AtY2FsbGVyLmNhc2UKKyAgICAvLworICAgIC8vIElmIHRoZSBmdW5jdGlvbiBv
YmplY3QgImlubmVyIiBoYXMgYW4gb3duIHByb3BlcnR5CisgICAgLy8gbmFtZWQgImNhbGxlciIs
IHRoZW4gaXRzIHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQuCisgICAgLy8KKyAgICAvLyBJZiB0aGUg
ZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgRE9FUyBOT1QgaGF2ZSBhbgorICAgIC8vIG93biBwcm9w
ZXJ0eSBuYW1lZCAiY2FsbGVyIiwgdGhlbiB0aGUgc3ltYm9sCisgICAgLy8gQ0FMTEVSX09XTl9Q
Uk9QRVJUWV9ET0VTX05PVF9FWElTVCB3aWxsIGJlIHJldHVybmVkLgorICAgIGlmIChyZXN1bHQg
IT09IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QpIHsKKyAgICAgIGFzc2VydC5u
b3RTYW1lVmFsdWUocmVzdWx0LCB0aGlzLm1ldGhvZCk7CisgICAgfQorICAgIGNhbGxDb3VudCsr
OworICB9Cit9CisKK0MucHJvdG90eXBlLm1ldGhvZCgpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxs
Q291bnQsIDEsICdtZXRob2QgYm9keSBldmFsdWF0ZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
dGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvbWV0aG9kL2ZvcmJpZGRlbi1l
eHQvYjIvY2xzLWRlY2wtbWV0aC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJv
cC1jYWxsZXItdmFsdWUuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2NsYXNzL21ldGhvZC9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLW1ldGgtZm9yYmlkZGVu
LWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmVmMzFmMGFkMTAzMWRhYTA0NjgzMmE1MjI3ZjVlN2IzMjNhMGIwOTUKLS0tIC9kZXYvbnVsbAor
KysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL21ldGhv
ZC9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNsLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1h
Y2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzCkBAIC0wLDAgKzEsNjEgQEAKKy8vIFRoaXMg
ZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNl
czoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNz
LW93bi1wcm9wLWNhbGxlci12YWx1ZS5jYXNlCisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3Ji
aWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQtdHdvL2Nscy1kZWNsLW1ldGgudGVtcGxhdGUKKy8qLS0t
CitkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIgKGNsYXNzIGV4cHJl
c3Npb24gbWV0aG9kKQorZXNpZDogc2VjLXJ1bnRpbWUtc2VtYW50aWNzLWJpbmRpbmdjbGFzc2Rl
Y2xhcmF0aW9uZXZhbHVhdGlvbgorZmVhdHVyZXM6IFtjbGFzc10KK2ZsYWdzOiBbZ2VuZXJhdGVk
LCBub1N0cmljdF0KK2luZm86IHwKKyAgICBDbGFzc0RlY2xhcmF0aW9uIDogY2xhc3MgQmluZGlu
Z0lkZW50aWZpZXIgQ2xhc3NUYWlsCisKKworICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVu
ZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVy
IiB0aGUgdmFsdWUgb2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dl
dF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24K
KyAgICBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24g
dGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRdXQorICAgIGF0dHJpYnV0
ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KKworLS0t
Ki8KK3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7Citm
dW5jdGlvbiBpbm5lcigpIHsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBtYXkgZXhpc3QsIGJ1dCBpcyBm
b3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEgc3RyaWN0IGZ1bmN0aW9uIG9i
amVjdAorICByZXR1cm4gaW5uZXIuaGFzT3duUHJvcGVydHkoImNhbGxlciIpCisgICAgPyBpbm5l
ci5jYWxsZXIKKyAgICA6IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Q7Cit9CisK
K3ZhciBjYWxsQ291bnQgPSAwOworY2xhc3MgQyB7CisgIG1ldGhvZCgpIHsKKyAgICAvKiBpbXBs
aWNpdCBzdHJpY3QgKi8KKyAgICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFs
IHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgICAgLy8gRm9yIGV2ZXJ5
IHRlc3QgdGhhdCBoYXMgYSAidHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUgaXMgYQorICAgIC8vIGNv
cnJlc3BvbmRpbmcgdGVzdCB0aGF0IGhhcyBhICJmYWxzZSIgdmFsdWUgaGVyZS4KKyAgICAvLyBU
aGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNhc2UgZmlsZXMsIHdoaWNoIHVz
ZQorICAgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihp
bm5lciwgImNhbGxlciIpOworICAgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmln
dXJhYmxlICYmIHRydWUpIHsKKyAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbm5lciwgImNh
bGxlciIsIHt2YWx1ZTogMX0pOworICAgIH0KKyAgICB2YXIgcmVzdWx0ID0gaW5uZXIoKTsKKyAg
ICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7Cisg
ICAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMgdGVzdCBkZWZpbmVkIGFu
IG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rpb24sIHRoZW4gaXQgc2hv
dWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4gdGhlIHZhbHVlIGl0IHdhcyBzZXQg
dG8uJyk7CisgICAgfQorCisgICAgLy8gIkNBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJ
U1QiIGlzIGZyb20KKyAgICAvLyBmb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNh
bGxlci5jYXNlCisgICAgLy8KKyAgICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIg
aGFzIGFuIG93biBwcm9wZXJ0eQorICAgIC8vIG5hbWVkICJjYWxsZXIiLCB0aGVuIGl0cyB2YWx1
ZSB3aWxsIGJlIHJldHVybmVkLgorICAgIC8vCisgICAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVj
dCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgICAvLyBvd24gcHJvcGVydHkgbmFtZWQgImNh
bGxlciIsIHRoZW4gdGhlIHN5bWJvbAorICAgIC8vIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19O
T1RfRVhJU1Qgd2lsbCBiZSByZXR1cm5lZC4KKyAgICBpZiAocmVzdWx0ICE9PSBDQUxMRVJfT1dO
X1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgICBhc3NlcnQubm90U2FtZVZhbHVlKHJl
c3VsdCwgdGhpcy5tZXRob2QpOworICAgIH0KKyAgICBjYWxsQ291bnQrKzsKKyAgfQorfQorCitD
LnByb3RvdHlwZS5tZXRob2QoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0
aG9kIGJvZHkgZXZhbHVhdGVkJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9s
YW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL21ldGhvZC9mb3JiaWRkZW4tZXh0L2IyL2Nscy1kZWNs
LW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL21ldGhvZC9mb3JiaWRk
ZW4tZXh0L2IyL2Nscy1kZWNsLW1ldGgtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJv
cC1jYWxsZXIuanMKaW5kZXggNmFkODI0NTI2YzAwYjI2YWMxMGFmYzBmZmM4MjNlOWZiNzRkN2Q4
YS4uMzg1YmI4MDhhY2JlZjVmYzNkYjhkYzI2NDM2MjhkODA1M2ZlY2U5MSAxMDA2NDQKLS0tIGEv
SlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9tZXRob2QvZm9y
YmlkZGVuLWV4dC9iMi9jbHMtZGVjbC1tZXRoLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNz
LXByb3AtY2FsbGVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvY2xhc3MvbWV0aG9kL2ZvcmJpZGRlbi1leHQvYjIvY2xzLWRlY2wtbWV0aC1mb3JiaWRk
ZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwpAQCAtNCwyOCArNCw1OCBAQAog
LyotLS0KIGRlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmNhbGxlciAoY2xhc3Mg
ZXhwcmVzc2lvbiBtZXRob2QpCiBlc2lkOiBzZWMtcnVudGltZS1zZW1hbnRpY3MtYmluZGluZ2Ns
YXNzZGVjbGFyYXRpb25ldmFsdWF0aW9uCitmZWF0dXJlczogW2NsYXNzXQogZmxhZ3M6IFtnZW5l
cmF0ZWQsIG5vU3RyaWN0XQogaW5mbzogfAogICAgIENsYXNzRGVjbGFyYXRpb24gOiBjbGFzcyBC
aW5kaW5nSWRlbnRpZmllciBDbGFzc1RhaWwKIAotICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4
dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2Fs
bGVyIiB0aGUgdmFsdWUgb2YgdGhhdCBwcm9wZXJ0eSwgYXMgb2JzZXJ2ZWQgdXNpbmcgW1tHZXRd
XSBvciBbW0dldE93blByb3BlcnR5XV0sIG11c3Qgbm90IGJlIGEgc3RyaWN0IGZ1bmN0aW9uIG9i
amVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlz
IHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1dIGF0dHJpYnV0ZSBtdXN0IG5ldmVy
IHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KKworICAgIElmIGFuIGltcGxl
bWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0
eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUgb2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBvYnNl
cnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBz
dHJpY3QgZnVuY3Rpb24KKyAgICBvYmplY3QuIElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5
LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRd
XQorICAgIGF0dHJpYnV0ZSBtdXN0IG5ldmVyIHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVu
IGNhbGxlZC4KIAogLS0tKi8KK3ZhciBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNU
ID0gU3ltYm9sKCk7CiBmdW5jdGlvbiBpbm5lcigpIHsKLSAgLy8gVGhpcyBwcm9wZXJ0eSBpcyBm
b3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIHN0cmljdCBmdW5jdGlvbiBvYmpl
Y3QKLSAgcmV0dXJuIGlubmVyLmNhbGxlcjsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBtYXkgZXhpc3Qs
IGJ1dCBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEgc3RyaWN0IGZ1
bmN0aW9uIG9iamVjdAorICByZXR1cm4gaW5uZXIuaGFzT3duUHJvcGVydHkoImNhbGxlciIpCisg
ICAgPyBpbm5lci5jYWxsZXIKKyAgICA6IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJ
U1Q7CiB9CiAKIHZhciBjYWxsQ291bnQgPSAwOwogY2xhc3MgQyB7CiAgIG1ldGhvZCgpIHsKICAg
ICAvKiBpbXBsaWNpdCBzdHJpY3QgKi8KLSAgICBpbm5lcigpLnRvU3RyaW5nKCk7CisgICAgLy8g
VGhpcyBhbmQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25hbCB2YWx1ZSBpcyBzZXQgaW4gdGhlIHRl
c3QncyAuY2FzZSBmaWxlLgorICAgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUi
IHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhhdCBo
YXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgICAgLy8gVGhleSBhcmUgZ2VuZXJhdGVkIGZyb20g
dHdvIGRpZmZlcmVudCBjYXNlIGZpbGVzLCB3aGljaCB1c2UKKyAgICBsZXQgZGVzY3JpcHRvciA9
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5uZXIsICJjYWxsZXIiKTsKKyAgICBp
ZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiBmYWxzZSkgeworICAg
ICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2FsbGVyIiwge30pOworICAgIH0KKyAg
ICB2YXIgcmVzdWx0ID0gaW5uZXIoKTsKKyAgICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9y
LmNvbmZpZ3VyYWJsZSAmJiBmYWxzZSkgeworICAgICAgYXNzZXJ0LnNhbWVWYWx1ZShyZXN1bHQs
IDEsICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVydHkgb24gdGhl
IGlubmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFuZCBzaG91bGQg
cmV0dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICAgIH0KKworICAgIC8vICJDQUxM
RVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9tCisgICAgLy8gZm9yYmlkZGVu
LWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAgIC8vCisgICAgLy8gSWYg
dGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAgICAvLyBu
YW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgICAvLwor
ICAgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFuCisg
ICAgLy8gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgICAv
LyBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQuCisg
ICAgaWYgKHJlc3VsdCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkgewor
ICAgICAgYXNzZXJ0Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIHRoaXMubWV0aG9kKTsKKyAgICB9CiAg
ICAgY2FsbENvdW50Kys7CiAgIH0KIH0KIAotYXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0
aW9uKCkgewotICBDLnByb3RvdHlwZS5tZXRob2QoKTsKLX0pOwotYXNzZXJ0LnNhbWVWYWx1ZShj
YWxsQ291bnQsIDAsICdtZXRob2QgYm9keSBub3QgZXZhbHVhdGVkJyk7CitDLnByb3RvdHlwZS5t
ZXRob2QoKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnbWV0aG9kIGJvZHkgZXZh
bHVhdGVkJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0
ZW1lbnRzL2NsYXNzL3N1YmNsYXNzLWJ1aWx0aW5zL3N1YmNsYXNzLVdlYWtSZWYuanMgYi9KU1Rl
c3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2NsYXNzL3N1YmNsYXNzLWJ1aWx0
aW5zL3N1YmNsYXNzLVdlYWtSZWYuanMKaW5kZXggOGY5NDlmMWE5NmU2M2FkN2Y1NTA0NDc0MTRm
YjgzYmE1ODdmMjQ4Yi4uN2EwN2ZlMDhkMDZjYzRlMjdkZmRlY2VjNGE3MjViNTBjOTY1NmFkOCAx
MDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFz
cy9zdWJjbGFzcy1idWlsdGlucy9zdWJjbGFzcy1XZWFrUmVmLmpzCisrKyBiL0pTVGVzdHMvdGVz
dDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3Mvc3ViY2xhc3MtYnVpbHRpbnMvc3Vi
Y2xhc3MtV2Vha1JlZi5qcwpAQCAtMTAsNiArMTAsNiBAQCBmbGFnczogW2dlbmVyYXRlZF0KIAog
Y2xhc3MgU3ViY2xhc3MgZXh0ZW5kcyBXZWFrUmVmIHt9CiAKLWNvbnN0IHN1YiA9IG5ldyBTdWJj
bGFzcygpOworY29uc3Qgc3ViID0gbmV3IFN1YmNsYXNzKHt9KTsKIGFzc2VydChzdWIgaW5zdGFu
Y2VvZiBTdWJjbGFzcyk7CiBhc3NlcnQoc3ViIGluc3RhbmNlb2YgV2Vha1JlZik7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2Zv
cmJpZGRlbi1leHQvYjEvY2xzLWV4cHItbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3Mt
cHJvcC1hcmd1bWVudHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2Z1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWV4cHItbWV0aC1mb3JiaWRkZW4tZXh0
LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMKaW5kZXggMWQ4YTM1YmUzMzZiNzE5NmJi
MmI3NTM5NDZkOGI0ZmFkZTJiMzE5MS4uNTUzZGEyNzI3OGUxODJhNzRjNGZjN2JiYzkyNDhkZTQ5
NDc4MzZmMCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVt
ZW50cy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLW1ldGgtZm9yYmlkZGVuLWV4
dC1kaXJlY3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90
ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9jbHMtZXhw
ci1tZXRoLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwpAQCAt
MiwyNCArMiwzMiBAQAogLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dC1kaXJl
Y3QtYWNjZXNzLXByb3AtYXJndW1lbnRzLmNhc2UKIC8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2Zv
cmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC1vbmUvZnVuYy1kZWNsLXN0cmljdC50ZW1wbGF0ZQog
LyotLS0KLWRlc2NyaXB0aW9uOiBGb3JiaWRkZW4gZXh0ZW5zaW9uLCBvLmFyZ3VtZW50cyAoZnVu
Y3Rpb24gZGVjbGFyYXRpb24pCitkZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgZi5h
cmd1bWVudHMgKGZ1bmN0aW9uIGRlY2xhcmF0aW9uKQogZXNpZDogc2VjLWZ1bmN0aW9uLWRlZmlu
aXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWluc3RhbnRpYXRlZnVuY3Rpb25vYmplY3QKIGZsYWdz
OiBbZ2VuZXJhdGVkLCBub1N0cmljdF0KIGluZm86IHwKICAgICBGdW5jdGlvbkRlY2xhcmF0aW9u
IDoKICAgICAgICAgZnVuY3Rpb24gQmluZGluZ0lkZW50aWZpZXIgKCBGb3JtYWxQYXJhbWV0ZXJz
ICkgeyBGdW5jdGlvbkJvZHkgfQogCi0gICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRl
ZmluZWQgdXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11
c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAi
YXJndW1lbnRzIi4gU3VjaCBvd24gcHJvcGVydGllcyBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQg
Zm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRo
b2REZWZpbml0aW9uLCBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwg
QXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLCBDbGFz
c0RlY2xhcmF0aW9uLCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwg
QXN5bmNGdW5jdGlvbkV4cHJlc3Npb24sIG9yIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNz
IG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNv
ZGUuIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRo
ZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5n
IHRoZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5n
IHRoZSBBc3luY0Z1bmN0aW9uIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNp
bmcgdGhlIGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3du
IHByb3BlcnRpZXMuCisgICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNp
bmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3QKKyAgICBu
b3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1
bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28KKyAgICBtdXN0IG5vdCBiZSBjcmVhdGVk
IGZvciBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0
aG9kRGVmaW5pdGlvbiwKKyAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVz
c2lvbiwgQXN5bmNHZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9u
LAorICAgIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRl
Y2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IKKyAgICBBc3luY0Fycm93RnVu
Y3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBp
biBzdHJpY3QgbW9kZSBjb2RlLgorICAgIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0
aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1
bmN0aW9ucworICAgIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5
bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24KKyAgICBjb25zdHJ1
Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11
c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93bgorICAgIHByb3BlcnRpZXMuCiAKIC0tLSov
CiAKIHZhciBjYWxsQ291bnQgPSAwOwogZnVuY3Rpb24gZigpIHsKICAgInVzZSBzdHJpY3QiOwot
ICBmLmFyZ3VtZW50czsKKyAgYXNzZXJ0LnNhbWVWYWx1ZShmLmhhc093blByb3BlcnR5KCJhcmd1
bWVudHMiKSwgZmFsc2UpOwogICBjYWxsQ291bnQrKzsKIH0KLWFzc2VydC50aHJvd3MoVHlwZUVy
cm9yLCBmdW5jdGlvbigpIHsKLSAgZigpOwotfSk7Ci1hc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3Vu
dCwgMCwgJ2Z1bmN0aW9uIGJvZHkgbm90IGV2YWx1YXRlZCcpOworCitmKCk7Cithc3NlcnQuc2Ft
ZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2Zv
cmJpZGRlbi1leHQvYjEvY2xzLWV4cHItbWV0aC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3Mt
cHJvcC1jYWxsZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRz
L2Z1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjEvY2xzLWV4cHItbWV0aC1mb3JiaWRkZW4tZXh0LWRp
cmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKaW5kZXggOGFiOGM1ZWZkOTZhZGNmZTU4MWE4NWQz
ODhjZGU5NDUwMmM1NDAwOC4uOTMwZTAxZmRjNzNiODhkMjY0M2M2ZDBkNmU3MjUwMjk1ODc5NDE3
YyAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9m
dW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2Nscy1leHByLW1ldGgtZm9yYmlkZGVuLWV4dC1kaXJl
Y3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9jbHMtZXhwci1tZXRoLWZv
cmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwpAQCAtOSwxNyArOSwyNSBA
QCBpbmZvOiB8CiAgICAgRnVuY3Rpb25EZWNsYXJhdGlvbiA6CiAgICAgICAgIGZ1bmN0aW9uIEJp
bmRpbmdJZGVudGlmaWVyICggRm9ybWFsUGFyYW1ldGVycyApIHsgRnVuY3Rpb25Cb2R5IH0KIAot
ICAgIEVDTUFTY3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBj
b25zdHJ1Y3RvcnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGgg
b3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFyZ3VtZW50cyIuIFN1Y2ggb3duIHBy
b3BlcnRpZXMgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5jdGlvbiBvYmplY3RzIGRl
ZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlvbiwgR2VuZXJhdG9y
RGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2VuZXJhdG9yRGVjbGFyYXRp
b24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHBy
ZXNzaW9uLCBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9u
LCBvciBBc3luY0Fycm93RnVuY3Rpb24gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0
aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9kZSBjb2RlLiBCdWlsdC1pbiBmdW5jdGlvbnMs
IHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3Is
IGdlbmVyYXRvciBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVj
dG9yLCBhc3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbiBjb25z
dHJ1Y3RvciwgYW5kIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNv
IG11c3Qgbm90IGJlIGNyZWF0ZWQgd2l0aCBzdWNoIG93biBwcm9wZXJ0aWVzLgorICAgIEVDTUFT
Y3JpcHQgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIHN5bnRhY3RpYyBjb25zdHJ1Y3Rv
cnMgaW4gc3RyaWN0IG1vZGUgY29kZSBtdXN0CisgICAgbm90IGJlIGNyZWF0ZWQgd2l0aCBvd24g
cHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4gU3VjaCBvd24gcHJvcGVy
dGllcyBhbHNvCisgICAgbXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBk
ZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sCisgICAgR2Vu
ZXJhdG9yRGVjbGFyYXRpb24sIEdlbmVyYXRvckV4cHJlc3Npb24sIEFzeW5jR2VuZXJhdG9yRGVj
bGFyYXRpb24sIEFzeW5jR2VuZXJhdG9yRXhwcmVzc2lvbiwKKyAgICBDbGFzc0RlY2xhcmF0aW9u
LCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNGdW5jdGlv
bkV4cHJlc3Npb24sIG9yCisgICAgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hl
dGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4KKyAg
ICBCdWlsdC1pbiBmdW5jdGlvbnMsIHN0cmljdCBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUg
RnVuY3Rpb24gY29uc3RydWN0b3IsIGdlbmVyYXRvciBmdW5jdGlvbnMKKyAgICBjcmVhdGVkIHVz
aW5nIHRoZSBHZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVz
aW5nIHRoZSBBc3luY0Z1bmN0aW9uCisgICAgY29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3Jl
YXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGgg
c3VjaCBvd24KKyAgICBwcm9wZXJ0aWVzLgogCiAtLS0qLwogCiB2YXIgY2FsbENvdW50ID0gMDsK
IGZ1bmN0aW9uIGYoKSB7CiAgICJ1c2Ugc3RyaWN0IjsKLSAgZi5jYWxsZXI7CisgIGFzc2VydC5z
YW1lVmFsdWUoZi5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIiksIGZhbHNlKTsKICAgY2FsbENvdW50
Kys7CiB9Ci1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gIGYoKTsKLX0p
OwotYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDAsICdmdW5jdGlvbiBib2R5IG5vdCBldmFs
dWF0ZWQnKTsKKworZigpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdmdW5jdGlv
biBib2R5IGV2YWx1YXRlZCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2Z1bmMtZGVjbC1mb3Ji
aWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1hcmd1bWVudHMuanMgYi9KU1Rlc3RzL3Rlc3Qy
NjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjEvZnVu
Yy1kZWNsLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjAzMDM3ZjYxMWNjMjMxM2M2ZWIxYzJkZDBkMmU5
NjU1NzNjNDgzZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2ZvcmJp
ZGRlbi1leHQvYjEvZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFy
Z3VtZW50cy5qcworKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLS8vIFRoaXMgZmlsZSB3
YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291cmNlczoKLS8v
IC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFy
Z3VtZW50cy5jYXNlCi0vLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0ZW5zaW9u
cy9idWxsZXQtb25lL2Z1bmMtZGVjbC50ZW1wbGF0ZQotLyotLS0KLWRlc2NyaXB0aW9uOiBGb3Ji
aWRkZW4gZXh0ZW5zaW9uLCBvLmFyZ3VtZW50cyAoZnVuY3Rpb24gZGVjbGFyYXRpb24pCi1lc2lk
OiBzZWMtZnVuY3Rpb24tZGVmaW5pdGlvbnMtcnVudGltZS1zZW1hbnRpY3MtaW5zdGFudGlhdGVm
dW5jdGlvbm9iamVjdAotZmxhZ3M6IFtnZW5lcmF0ZWQsIG5vU3RyaWN0XQotaW5mbzogfAotICAg
IEZ1bmN0aW9uRGVjbGFyYXRpb24gOgotICAgICAgICBmdW5jdGlvbiBCaW5kaW5nSWRlbnRpZmll
ciAoIEZvcm1hbFBhcmFtZXRlcnMgKSB7IEZ1bmN0aW9uQm9keSB9Ci0KLSAgICBFQ01BU2NyaXB0
IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGlu
IHN0cmljdCBtb2RlIGNvZGUgbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVz
IG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28g
bXVzdCBub3QgYmUgY3JlYXRlZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFu
IEFycm93RnVuY3Rpb24sIE1ldGhvZERlZmluaXRpb24sIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBH
ZW5lcmF0b3JFeHByZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVy
YXRvckV4cHJlc3Npb24sIENsYXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNG
dW5jdGlvbkRlY2xhcmF0aW9uLCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IgQXN5bmNBcnJv
d0Z1bmN0aW9uIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWlu
ZWQgaW4gc3RyaWN0IG1vZGUgY29kZS4gQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rp
b25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVu
Y3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVu
Y3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24gY29uc3RydWN0b3IsIGFuZCBm
dW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBj
cmVhdGVkIHdpdGggc3VjaCBvd24gcHJvcGVydGllcy4KLQotLS0tKi8KLQotdmFyIGNhbGxDb3Vu
dCA9IDA7Ci1mdW5jdGlvbiBmKCkgewotICBmLmFyZ3VtZW50czsKLSAgY2FsbENvdW50Kys7Ci19
Ci1mKCk7Ci1hc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2Z1bmN0aW9uIHdhcyBldmFs
dWF0ZWQnKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMS9mdW5jLWRlY2wtZm9yYmlkZGVuLWV4dC1k
aXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3Vh
Z2Uvc3RhdGVtZW50cy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2Z1bmMtZGVjbC1mb3JiaWRk
ZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGVmYzMxZTVlZWFiMTc4ODhiYjc3YzIwNTc1Nzc3OTMzOGU4NjgxODAuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy90ZXN0MjYy
L3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IxL2Z1bmMt
ZGVjbC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKKysrIC9kZXYv
bnVsbApAQCAtMSwyMiArMCwwIEBACi0vLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5l
cmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6Ci0vLyAtIHNyYy9mdW5jdGlvbi1mb3Jt
cy9mb3JiaWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQotLy8gLSBzcmMv
ZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dGVuc2lvbnMvYnVsbGV0LW9uZS9mdW5jLWRlY2wu
dGVtcGxhdGUKLS8qLS0tCi1kZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxs
ZXIgKGZ1bmN0aW9uIGRlY2xhcmF0aW9uKQotZXNpZDogc2VjLWZ1bmN0aW9uLWRlZmluaXRpb25z
LXJ1bnRpbWUtc2VtYW50aWNzLWluc3RhbnRpYXRlZnVuY3Rpb25vYmplY3QKLWZsYWdzOiBbZ2Vu
ZXJhdGVkLCBub1N0cmljdF0KLWluZm86IHwKLSAgICBGdW5jdGlvbkRlY2xhcmF0aW9uIDoKLSAg
ICAgICAgZnVuY3Rpb24gQmluZGluZ0lkZW50aWZpZXIgKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBG
dW5jdGlvbkJvZHkgfQotCi0gICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQg
dXNpbmcgc3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3Qgbm90
IGJlIGNyZWF0ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1l
bnRzIi4gU3VjaCBvd24gcHJvcGVydGllcyBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1
bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZp
bml0aW9uLCBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNH
ZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLCBDbGFzc0RlY2xh
cmF0aW9uLCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNG
dW5jdGlvbkV4cHJlc3Npb24sIG9yIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdo
ZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuIEJ1
aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5j
dGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBH
ZW5lcmF0b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBB
c3luY0Z1bmN0aW9uIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhl
IGJpbmQgbWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duIHByb3Bl
cnRpZXMuCi0KLS0tLSovCi0KLXZhciBjYWxsQ291bnQgPSAwOwotZnVuY3Rpb24gZigpIHsKLSAg
Zi5jYWxsZXI7Ci0gIGNhbGxDb3VudCsrOwotfQotZigpOwotYXNzZXJ0LnNhbWVWYWx1ZShjYWxs
Q291bnQsIDEsICdmdW5jdGlvbiB3YXMgZXZhbHVhdGVkJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2ZvcmJpZGRlbi1leHQv
YjIvZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxl
ci1nZXQuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0
aW9uL2ZvcmJpZGRlbi1leHQvYjIvZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNj
ZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWM0NTA0NTk4ODRjM2FiNmI5
MDZmZTlkNWFkMGIyN2Q4N2Y3ZDI2ZAotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9mdW5j
LWRlY2wtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5q
cwpAQCAtMCwwICsxLDU5IEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVyYWxseSBnZW5lcmF0
ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5jdGlvbi1mb3Jtcy9m
b3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmNhc2UKKy8v
IC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHRlbnNpb25zL2J1bGxldC10d28vZnVu
Yy1kZWNsLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24s
IG8uY2FsbGVyIChmdW5jdGlvbiBkZWNsYXJhdGlvbikKK2VzaWQ6IHNlYy1kZWZpbml0aW9ucy1y
dW50aW1lLXNlbWFudGljcy1pbnN0YW50aWF0ZWZ1bmN0aW9ub2JqZWN0CitmbGFnczogW2dlbmVy
YXRlZCwgbm9TdHJpY3RdCitpbmZvOiB8CisgICAgRnVuY3Rpb25EZWNsYXJhdGlvbiA6CisgICAg
ICAgIGZ1bmN0aW9uIEJpbmRpbmdJZGVudGlmaWVyICggRm9ybWFsUGFyYW1ldGVycyApIHsgRnVu
Y3Rpb25Cb2R5IH0KKworICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0
aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUg
b2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0
T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24KKyAgICBvYmplY3Qu
IElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUg
dmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRdXQorICAgIGF0dHJpYnV0ZSBtdXN0IG5ldmVy
IHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KKworLS0tKi8KK3ZhciBDQUxM
RVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7CitmdW5jdGlvbiBpbm5l
cigpIHsKKyAgLy8gVGhpcyBwcm9wZXJ0eSBtYXkgZXhpc3QsIGJ1dCBpcyBmb3JiaWRkZW4gZnJv
bSBoYXZpbmcgYSB2YWx1ZSB0aGF0IGlzIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdAorICByZXR1
cm4gaW5uZXIuaGFzT3duUHJvcGVydHkoImNhbGxlciIpCisgICAgPyBpbm5lci5jYWxsZXIKKyAg
ICA6IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Q7Cit9CisKK3ZhciBjYWxsQ291
bnQgPSAwOworZnVuY3Rpb24gZigpIHsKKyAgInVzZSBzdHJpY3QiOworICAvLyBUaGlzIGFuZCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5jYXNl
IGZpbGUuCisgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUs
IHRoZXJlIGlzIGEKKyAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2
YWx1ZSBoZXJlLgorICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNh
c2UgZmlsZXMsIHdoaWNoIHVzZQorICAvLyB0aGUgc2FtZSB0ZW1wbGF0ZXMuCisgIGxldCBkZXNj
cmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbm5lciwgImNhbGxlciIp
OworICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7
CisgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2FsbGVyIiwge2dldCgpe3JldHVy
biAxfX0pOworICB9CisgIHZhciByZXN1bHQgPSBpbm5lcigpOworICBpZiAoZGVzY3JpcHRvciAm
JiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgYXNzZXJ0LnNhbWVWYWx1
ZShyZXN1bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJvcGVy
dHkgb24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxlIGFu
ZCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICB9CisKKyAgLy8g
IkNBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAgLy8gZm9yYmlk
ZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAvLworICAvLyBJZiB0
aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAvLyBuYW1l
ZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgLy8KKyAgLy8g
SWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgLy8gb3du
IHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgLy8gQ0FMTEVSX09X
Tl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCB3aWxsIGJlIHJldHVybmVkLgorICBpZiAocmVzdWx0
ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgYXNzZXJ0Lm5v
dFNhbWVWYWx1ZShyZXN1bHQsIGYpOworICB9CisKKyAgY2FsbENvdW50Kys7Cit9CitmKCk7Cith
c3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2JvZHkgZXZhbHVhdGVkJyk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2Zv
cmJpZGRlbi1leHQvYjIvZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93
bi1wcm9wLWNhbGxlci12YWx1ZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9mdW5jLWRlY2wtZm9yYmlkZGVuLWV4
dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5
NTBmMDJhZjc2ODQwNGFmYzIzNDZmNDg3YzliNzg5ZmU2MjJjMjkKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2ZvcmJp
ZGRlbi1leHQvYjIvZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1w
cm9wLWNhbGxlci12YWx1ZS5qcwpAQCAtMCwwICsxLDU5IEBACisvLyBUaGlzIGZpbGUgd2FzIHBy
b2NlZHVyYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNy
Yy9mdW5jdGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1j
YWxsZXItdmFsdWUuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dGVu
c2lvbnMvYnVsbGV0LXR3by9mdW5jLWRlY2wudGVtcGxhdGUKKy8qLS0tCitkZXNjcmlwdGlvbjog
Rm9yYmlkZGVuIGV4dGVuc2lvbiwgby5jYWxsZXIgKGZ1bmN0aW9uIGRlY2xhcmF0aW9uKQorZXNp
ZDogc2VjLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWluc3RhbnRpYXRlZnVuY3Rpb25v
YmplY3QKK2ZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdF0KK2luZm86IHwKKyAgICBGdW5jdGlv
bkRlY2xhcmF0aW9uIDoKKyAgICAgICAgZnVuY3Rpb24gQmluZGluZ0lkZW50aWZpZXIgKCBGb3Jt
YWxQYXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkgfQorCisgICAgSWYgYW4gaW1wbGVtZW50YXRp
b24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVk
ICJjYWxsZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVz
aW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBm
dW5jdGlvbgorICAgIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBm
dW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1dCisgICAg
YXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVk
LgorCistLS0qLwordmFyIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QgPSBTeW1i
b2woKTsKK2Z1bmN0aW9uIGlubmVyKCkgeworICAvLyBUaGlzIHByb3BlcnR5IG1heSBleGlzdCwg
YnV0IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgYSBzdHJpY3QgZnVu
Y3Rpb24gb2JqZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIikKKyAg
ICA/IGlubmVyLmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElT
VDsKK30KKwordmFyIGNhbGxDb3VudCA9IDA7CitmdW5jdGlvbiBmKCkgeworICAidXNlIHN0cmlj
dCI7CisgIC8vIFRoaXMgYW5kIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uYWwgdmFsdWUgaXMgc2V0
IGluIHRoZSB0ZXN0J3MgLmNhc2UgZmlsZS4KKyAgLy8gRm9yIGV2ZXJ5IHRlc3QgdGhhdCBoYXMg
YSAidHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUgaXMgYQorICAvLyBjb3JyZXNwb25kaW5nIHRlc3Qg
dGhhdCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgIC8vIFRoZXkgYXJlIGdlbmVyYXRlZCBm
cm9tIHR3byBkaWZmZXJlbnQgY2FzZSBmaWxlcywgd2hpY2ggdXNlCisgIC8vIHRoZSBzYW1lIHRl
bXBsYXRlcy4KKyAgbGV0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKGlubmVyLCAiY2FsbGVyIik7CisgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29u
ZmlndXJhYmxlICYmIHRydWUpIHsKKyAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5uZXIsICJj
YWxsZXIiLCB7dmFsdWU6IDF9KTsKKyAgfQorICB2YXIgcmVzdWx0ID0gaW5uZXIoKTsKKyAgaWYg
KGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgdHJ1ZSkgeworICAgIGFz
c2VydC5zYW1lVmFsdWUocmVzdWx0LCAxLCAnSWYgdGhpcyB0ZXN0IGRlZmluZWQgYW4gb3duICJj
YWxsZXIiIHByb3BlcnR5IG9uIHRoZSBpbm5lciBmdW5jdGlvbiwgdGhlbiBpdCBzaG91bGQgYmUg
YWNjZXNzaWJsZSBhbmQgc2hvdWxkIHJldHVybiB0aGUgdmFsdWUgaXQgd2FzIHNldCB0by4nKTsK
KyAgfQorCisgIC8vICJDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9t
CisgIC8vIGZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmNhc2UKKyAg
Ly8KKyAgLy8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVy
dHkKKyAgLy8gbmFtZWQgImNhbGxlciIsIHRoZW4gaXRzIHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQu
CisgIC8vCisgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZl
IGFuCisgIC8vIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiwgdGhlbiB0aGUgc3ltYm9sCisg
IC8vIENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qgd2lsbCBiZSByZXR1cm5lZC4K
KyAgaWYgKHJlc3VsdCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkgewor
ICAgIGFzc2VydC5ub3RTYW1lVmFsdWUocmVzdWx0LCBmKTsKKyAgfQorCisgIGNhbGxDb3VudCsr
OworfQorZigpOworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdib2R5IGV2YWx1YXRl
ZCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2Z1bmMtZGVjbC1mb3JiaWRkZW4tZXh0LWluZGly
ZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvZnVuY3Rpb24vZm9yYmlkZGVuLWV4dC9iMi9mdW5jLWRlY2wtZm9yYmlkZGVu
LWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKaW5kZXggZDU1ZGM4NDU3OTNmZDE0
NTZhYjI3MGYzMzA3ZmM4Njk5ODlmNDQ4OC4uM2Q0NDI5YWQ0YzRmYTQxMWM0YjkyNjI5MTA1ZmYz
ZGFkMThlZTgxZiAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3Rh
dGVtZW50cy9mdW5jdGlvbi9mb3JiaWRkZW4tZXh0L2IyL2Z1bmMtZGVjbC1mb3JiaWRkZW4tZXh0
LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworKysgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2Z1bmN0aW9uL2ZvcmJpZGRlbi1leHQvYjIvZnVuYy1kZWNs
LWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCkBAIC05LDIxICs5
LDUxIEBAIGluZm86IHwKICAgICBGdW5jdGlvbkRlY2xhcmF0aW9uIDoKICAgICAgICAgZnVuY3Rp
b24gQmluZGluZ0lkZW50aWZpZXIgKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBGdW5jdGlvbkJvZHkg
fQogCi0gICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0
IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZiB0aGF0IHBy
b3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwg
bXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3Nv
ciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0
eSdzIFtbR2V0XV0gYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9u
IHdoZW4gY2FsbGVkLgorICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0
aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUg
b2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0
T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24KKyAgICBvYmplY3Qu
IElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUg
dmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRdXQorICAgIGF0dHJpYnV0ZSBtdXN0IG5ldmVy
IHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KIAogLS0tKi8KK3ZhciBDQUxM
RVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7CiBmdW5jdGlvbiBpbm5l
cigpIHsKLSAgLy8gVGhpcyBwcm9wZXJ0eSBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1
ZSB0aGF0IGlzIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKLSAgcmV0dXJuIGlubmVyLmNhbGxlcjsK
KyAgLy8gVGhpcyBwcm9wZXJ0eSBtYXkgZXhpc3QsIGJ1dCBpcyBmb3JiaWRkZW4gZnJvbSBoYXZp
bmcgYSB2YWx1ZSB0aGF0IGlzIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdAorICByZXR1cm4gaW5u
ZXIuaGFzT3duUHJvcGVydHkoImNhbGxlciIpCisgICAgPyBpbm5lci5jYWxsZXIKKyAgICA6IENB
TExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Q7CiB9CiAKIHZhciBjYWxsQ291bnQgPSAw
OwogZnVuY3Rpb24gZigpIHsKICAgInVzZSBzdHJpY3QiOwotICBpbm5lcigpLnRvU3RyaW5nKCk7
CisgIC8vIFRoaXMgYW5kIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uYWwgdmFsdWUgaXMgc2V0IGlu
IHRoZSB0ZXN0J3MgLmNhc2UgZmlsZS4KKyAgLy8gRm9yIGV2ZXJ5IHRlc3QgdGhhdCBoYXMgYSAi
dHJ1ZSIgdmFsdWUgaGVyZSwgdGhlcmUgaXMgYQorICAvLyBjb3JyZXNwb25kaW5nIHRlc3QgdGhh
dCBoYXMgYSAiZmFsc2UiIHZhbHVlIGhlcmUuCisgIC8vIFRoZXkgYXJlIGdlbmVyYXRlZCBmcm9t
IHR3byBkaWZmZXJlbnQgY2FzZSBmaWxlcywgd2hpY2ggdXNlCisgIC8vIHRoZSBzYW1lIHRlbXBs
YXRlcy4KKyAgbGV0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KGlubmVyLCAiY2FsbGVyIik7CisgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmln
dXJhYmxlICYmIGZhbHNlKSB7CisgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2Fs
bGVyIiwge30pOworICB9CisgIHZhciByZXN1bHQgPSBpbm5lcigpOworICBpZiAoZGVzY3JpcHRv
ciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiBmYWxzZSkgeworICAgIGFzc2VydC5zYW1l
VmFsdWUocmVzdWx0LCAxLCAnSWYgdGhpcyB0ZXN0IGRlZmluZWQgYW4gb3duICJjYWxsZXIiIHBy
b3BlcnR5IG9uIHRoZSBpbm5lciBmdW5jdGlvbiwgdGhlbiBpdCBzaG91bGQgYmUgYWNjZXNzaWJs
ZSBhbmQgc2hvdWxkIHJldHVybiB0aGUgdmFsdWUgaXQgd2FzIHNldCB0by4nKTsKKyAgfQorCisg
IC8vICJDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIiBpcyBmcm9tCisgIC8vIGZv
cmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmNhc2UKKyAgLy8KKyAgLy8g
SWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIGhhcyBhbiBvd24gcHJvcGVydHkKKyAgLy8g
bmFtZWQgImNhbGxlciIsIHRoZW4gaXRzIHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQuCisgIC8vCisg
IC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBET0VTIE5PVCBoYXZlIGFuCisgIC8v
IG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiwgdGhlbiB0aGUgc3ltYm9sCisgIC8vIENBTExF
Ul9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Qgd2lsbCBiZSByZXR1cm5lZC4KKyAgaWYgKHJl
c3VsdCAhPT0gQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCkgeworICAgIGFzc2Vy
dC5ub3RTYW1lVmFsdWUocmVzdWx0LCBmKTsKKyAgfQorCiAgIGNhbGxDb3VudCsrOwogfQotYXNz
ZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBmKCk7Ci19KTsKLWFzc2VydC5z
YW1lVmFsdWUoY2FsbENvdW50LCAwLCAnbWV0aG9kIGJvZHkgbm90IGV2YWx1YXRlZCcpOworZigp
OworYXNzZXJ0LnNhbWVWYWx1ZShjYWxsQ291bnQsIDEsICdib2R5IGV2YWx1YXRlZCcpOwpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9nZW5lcmF0
b3JzL2ZvcmJpZGRlbi1leHQvYjEvZ2VuLWZ1bmMtZGVjbC1mb3JiaWRkZW4tZXh0LWRpcmVjdC1h
Y2Nlc3MtcHJvcC1hcmd1bWVudHMuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9z
dGF0ZW1lbnRzL2dlbmVyYXRvcnMvZm9yYmlkZGVuLWV4dC9iMS9nZW4tZnVuYy1kZWNsLWZvcmJp
ZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcwppbmRleCA3MzlhMDNmMDE5
ODljZDIzNGU4MTdjNmU3Y2Y1YjUzYzlhODJmMzg0Li5mNTQ4YjM3MzhkMTY2NDAzMTM2MDJmNGFi
MDAzOWVhN2JjZDJlNGYzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvZm9yYmlkZGVuLWV4dC9iMS9nZW4tZnVuYy1kZWNsLWZv
cmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5qcworKysgYi9KU1Rlc3Rz
L3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvZm9yYmlkZGVuLWV4
dC9iMS9nZW4tZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3Vt
ZW50cy5qcwpAQCAtMiw3ICsyLDcgQEAKIC8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRl
bi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWFyZ3VtZW50cy5jYXNlCiAvLyAtIHNyYy9mdW5jdGlv
bi1mb3Jtcy9mb3JiaWRkZW4tZXh0ZW5zaW9ucy9idWxsZXQtb25lL2dlbi1mdW5jLWRlY2wudGVt
cGxhdGUKIC8qLS0tCi1kZXNjcmlwdGlvbjogRm9yYmlkZGVuIGV4dGVuc2lvbiwgby5hcmd1bWVu
dHMgKGdlbmVyYXRvciBmdW5jdGlvbiBkZWNsYXJhdGlvbikKK2Rlc2NyaXB0aW9uOiBGb3JiaWRk
ZW4gZXh0ZW5zaW9uLCBmLmFyZ3VtZW50cyAoZ2VuZXJhdG9yIGZ1bmN0aW9uIGRlY2xhcmF0aW9u
KQogZXNpZDogc2VjLWdlbmVyYXRvci1mdW5jdGlvbi1kZWZpbml0aW9ucy1ydW50aW1lLXNlbWFu
dGljcy1pbnN0YW50aWF0ZWZ1bmN0aW9ub2JqZWN0CiBmZWF0dXJlczogW2dlbmVyYXRvcnNdCiBm
bGFnczogW2dlbmVyYXRlZCwgbm9TdHJpY3RdCkBAIC0xMCwxOCArMTAsMjUgQEAgaW5mbzogfAog
ICAgIEdlbmVyYXRvckRlY2xhcmF0aW9uIDogZnVuY3Rpb24gKiAoIEZvcm1hbFBhcmFtZXRlcnMg
KSB7IEdlbmVyYXRvckJvZHkgfQogCiAKLSAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMg
ZGVmaW5lZCB1c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUg
bXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9y
ICJhcmd1bWVudHMiLiBTdWNoIG93biBwcm9wZXJ0aWVzIGFsc28gbXVzdCBub3QgYmUgY3JlYXRl
ZCBmb3IgZnVuY3Rpb24gb2JqZWN0cyBkZWZpbmVkIHVzaW5nIGFuIEFycm93RnVuY3Rpb24sIE1l
dGhvZERlZmluaXRpb24sIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHByZXNzaW9u
LCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Npb24sIENs
YXNzRGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9u
LCBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IgQXN5bmNBcnJvd0Z1bmN0aW9uIHJlZ2FyZGxl
c3Mgb2Ygd2hldGhlciB0aGUgZGVmaW5pdGlvbiBpcyBjb250YWluZWQgaW4gc3RyaWN0IG1vZGUg
Y29kZS4gQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcg
dGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3IgZnVuY3Rpb25zIGNyZWF0ZWQgdXNp
bmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25zIGNyZWF0ZWQgdXNp
bmcgdGhlIEFzeW5jRnVuY3Rpb24gY29uc3RydWN0b3IsIGFuZCBmdW5jdGlvbnMgY3JlYXRlZCB1
c2luZyB0aGUgYmluZCBtZXRob2QgYWxzbyBtdXN0IG5vdCBiZSBjcmVhdGVkIHdpdGggc3VjaCBv
d24gcHJvcGVydGllcy4KKyAgICBFQ01BU2NyaXB0IGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1
c2luZyBzeW50YWN0aWMgY29uc3RydWN0b3JzIGluIHN0cmljdCBtb2RlIGNvZGUgbXVzdAorICAg
IG5vdCBiZSBjcmVhdGVkIHdpdGggb3duIHByb3BlcnRpZXMgbmFtZWQgImNhbGxlciIgb3IgImFy
Z3VtZW50cyIuIFN1Y2ggb3duIHByb3BlcnRpZXMgYWxzbworICAgIG11c3Qgbm90IGJlIGNyZWF0
ZWQgZm9yIGZ1bmN0aW9uIG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBN
ZXRob2REZWZpbml0aW9uLAorICAgIEdlbmVyYXRvckRlY2xhcmF0aW9uLCBHZW5lcmF0b3JFeHBy
ZXNzaW9uLCBBc3luY0dlbmVyYXRvckRlY2xhcmF0aW9uLCBBc3luY0dlbmVyYXRvckV4cHJlc3Np
b24sCisgICAgQ2xhc3NEZWNsYXJhdGlvbiwgQ2xhc3NFeHByZXNzaW9uLCBBc3luY0Z1bmN0aW9u
RGVjbGFyYXRpb24sIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uLCBvcgorICAgIEFzeW5jQXJyb3dG
dW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVk
IGluIHN0cmljdCBtb2RlIGNvZGUuCisgICAgQnVpbHQtaW4gZnVuY3Rpb25zLCBzdHJpY3QgZnVu
Y3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBnZW5lcmF0b3Ig
ZnVuY3Rpb25zCisgICAgY3JlYXRlZCB1c2luZyB0aGUgR2VuZXJhdG9yIGNvbnN0cnVjdG9yLCBh
c3luYyBmdW5jdGlvbnMgY3JlYXRlZCB1c2luZyB0aGUgQXN5bmNGdW5jdGlvbgorICAgIGNvbnN0
cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQgbWV0aG9kIGFsc28g
bXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duCisgICAgcHJvcGVydGllcy4KIAogLS0t
Ki8KIAogdmFyIGNhbGxDb3VudCA9IDA7CiBmdW5jdGlvbiogZigpIHsKLSAgZi5hcmd1bWVudHM7
CisgIGFzc2VydC5zYW1lVmFsdWUoZi5oYXNPd25Qcm9wZXJ0eSgiYXJndW1lbnRzIiksIGZhbHNl
KTsKICAgY2FsbENvdW50Kys7CiB9CiAKLWFzc2VydC50aHJvd3MoVHlwZUVycm9yLCBmdW5jdGlv
bigpIHsKLSAgZigpLm5leHQoKTsKLX0pOworZigpLm5leHQoKTsKK2Fzc2VydC5zYW1lVmFsdWUo
Y2FsbENvdW50LCAxLCAnZ2VuZXJhdG9yIGZ1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CiAKLWFz
c2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAwLCAnZ2VuZXJhdG9yIGZ1bmN0aW9uIGJvZHkgbm90
IGV2YWx1YXRlZCcpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9nZW5lcmF0b3JzL2ZvcmJpZGRlbi1leHQvYjEvZ2VuLWZ1bmMtZGVjbC1mb3Ji
aWRkZW4tZXh0LWRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvZm9yYmlkZGVuLWV4dC9iMS9nZW4t
ZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcwppbmRl
eCA5Y2U1ZTIxYTU3NzA5ODQ3NGMwNGM5Y2NlOGNiNjk3YzY2OGVmMmJiLi5jYmQ0ODFlOGJlNzNi
MmY3YjAwZjZkZGM3ZDUwYTRlZjA4NjM4MDUyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvZm9yYmlkZGVuLWV4dC9iMS9nZW4t
ZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5qcworKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvZm9y
YmlkZGVuLWV4dC9iMS9nZW4tZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtZGlyZWN0LWFjY2Vzcy1w
cm9wLWNhbGxlci5qcwpAQCAtMTAsMTggKzEwLDI1IEBAIGluZm86IHwKICAgICBHZW5lcmF0b3JE
ZWNsYXJhdGlvbiA6IGZ1bmN0aW9uICogKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBHZW5lcmF0b3JC
b2R5IH0KIAogCi0gICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcg
c3ludGFjdGljIGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3Qgbm90IGJlIGNy
ZWF0ZWQgd2l0aCBvd24gcHJvcGVydGllcyBuYW1lZCAiY2FsbGVyIiBvciAiYXJndW1lbnRzIi4g
U3VjaCBvd24gcHJvcGVydGllcyBhbHNvIG11c3Qgbm90IGJlIGNyZWF0ZWQgZm9yIGZ1bmN0aW9u
IG9iamVjdHMgZGVmaW5lZCB1c2luZyBhbiBBcnJvd0Z1bmN0aW9uLCBNZXRob2REZWZpbml0aW9u
LCBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNHZW5lcmF0
b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLCBDbGFzc0RlY2xhcmF0aW9u
LCBDbGFzc0V4cHJlc3Npb24sIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiwgQXN5bmNGdW5jdGlv
bkV4cHJlc3Npb24sIG9yIEFzeW5jQXJyb3dGdW5jdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIg
dGhlIGRlZmluaXRpb24gaXMgY29udGFpbmVkIGluIHN0cmljdCBtb2RlIGNvZGUuIEJ1aWx0LWlu
IGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBGdW5jdGlvbiBj
b25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBHZW5lcmF0
b3IgY29uc3RydWN0b3IsIGFzeW5jIGZ1bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBBc3luY0Z1
bmN0aW9uIGNvbnN0cnVjdG9yLCBhbmQgZnVuY3Rpb25zIGNyZWF0ZWQgdXNpbmcgdGhlIGJpbmQg
bWV0aG9kIGFsc28gbXVzdCBub3QgYmUgY3JlYXRlZCB3aXRoIHN1Y2ggb3duIHByb3BlcnRpZXMu
CisgICAgRUNNQVNjcmlwdCBmdW5jdGlvbiBvYmplY3RzIGRlZmluZWQgdXNpbmcgc3ludGFjdGlj
IGNvbnN0cnVjdG9ycyBpbiBzdHJpY3QgbW9kZSBjb2RlIG11c3QKKyAgICBub3QgYmUgY3JlYXRl
ZCB3aXRoIG93biBwcm9wZXJ0aWVzIG5hbWVkICJjYWxsZXIiIG9yICJhcmd1bWVudHMiLiBTdWNo
IG93biBwcm9wZXJ0aWVzIGFsc28KKyAgICBtdXN0IG5vdCBiZSBjcmVhdGVkIGZvciBmdW5jdGlv
biBvYmplY3RzIGRlZmluZWQgdXNpbmcgYW4gQXJyb3dGdW5jdGlvbiwgTWV0aG9kRGVmaW5pdGlv
biwKKyAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbiwgR2VuZXJhdG9yRXhwcmVzc2lvbiwgQXN5bmNH
ZW5lcmF0b3JEZWNsYXJhdGlvbiwgQXN5bmNHZW5lcmF0b3JFeHByZXNzaW9uLAorICAgIENsYXNz
RGVjbGFyYXRpb24sIENsYXNzRXhwcmVzc2lvbiwgQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uLCBB
c3luY0Z1bmN0aW9uRXhwcmVzc2lvbiwgb3IKKyAgICBBc3luY0Fycm93RnVuY3Rpb24gcmVnYXJk
bGVzcyBvZiB3aGV0aGVyIHRoZSBkZWZpbml0aW9uIGlzIGNvbnRhaW5lZCBpbiBzdHJpY3QgbW9k
ZSBjb2RlLgorICAgIEJ1aWx0LWluIGZ1bmN0aW9ucywgc3RyaWN0IGZ1bmN0aW9ucyBjcmVhdGVk
IHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciwgZ2VuZXJhdG9yIGZ1bmN0aW9ucworICAg
IGNyZWF0ZWQgdXNpbmcgdGhlIEdlbmVyYXRvciBjb25zdHJ1Y3RvciwgYXN5bmMgZnVuY3Rpb25z
IGNyZWF0ZWQgdXNpbmcgdGhlIEFzeW5jRnVuY3Rpb24KKyAgICBjb25zdHJ1Y3RvciwgYW5kIGZ1
bmN0aW9ucyBjcmVhdGVkIHVzaW5nIHRoZSBiaW5kIG1ldGhvZCBhbHNvIG11c3Qgbm90IGJlIGNy
ZWF0ZWQgd2l0aCBzdWNoIG93bgorICAgIHByb3BlcnRpZXMuCiAKIC0tLSovCiAKIHZhciBjYWxs
Q291bnQgPSAwOwogZnVuY3Rpb24qIGYoKSB7Ci0gIGYuY2FsbGVyOworICBhc3NlcnQuc2FtZVZh
bHVlKGYuaGFzT3duUHJvcGVydHkoImNhbGxlciIpLCBmYWxzZSk7CiAgIGNhbGxDb3VudCsrOwog
fQogCi1hc3NlcnQudGhyb3dzKFR5cGVFcnJvciwgZnVuY3Rpb24oKSB7Ci0gIGYoKS5uZXh0KCk7
Ci19KTsKK2YoKS5uZXh0KCk7Cithc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMSwgJ2dlbmVy
YXRvciBmdW5jdGlvbiBib2R5IGV2YWx1YXRlZCcpOwogCi1hc3NlcnQuc2FtZVZhbHVlKGNhbGxD
b3VudCwgMCwgJ2dlbmVyYXRvciBmdW5jdGlvbiBib2R5IG5vdCBldmFsdWF0ZWQnKTsKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9y
cy9mb3JiaWRkZW4tZXh0L2IyL2dlbi1mdW5jLWRlY2wtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1h
Y2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9ycy9mb3JiaWRkZW4tZXh0L2IyL2dlbi1mdW5jLWRlY2wt
Zm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3Mtb3duLXByb3AtY2FsbGVyLWdldC5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mZTE3MzI2M2M1ZmMyMjUyNjlhOWMyNGY0MDRjZjZlZTVhODQxMmU2Ci0tLSAvZGV2
L251bGwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9nZW5l
cmF0b3JzL2ZvcmJpZGRlbi1leHQvYjIvZ2VuLWZ1bmMtZGVjbC1mb3JiaWRkZW4tZXh0LWluZGly
ZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXItZ2V0LmpzCkBAIC0wLDAgKzEsNjIgQEAKKy8vIFRo
aXMgZmlsZSB3YXMgcHJvY2VkdXJhbGx5IGdlbmVyYXRlZCBmcm9tIHRoZSBmb2xsb3dpbmcgc291
cmNlczoKKy8vIC0gc3JjL2Z1bmN0aW9uLWZvcm1zL2ZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNj
ZXNzLW93bi1wcm9wLWNhbGxlci1nZXQuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9y
YmlkZGVuLWV4dGVuc2lvbnMvYnVsbGV0LXR3by9nZW4tZnVuYy1kZWNsLnRlbXBsYXRlCisvKi0t
LQorZGVzY3JpcHRpb246IEZvcmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVyIChnZW5lcmF0b3Ig
ZnVuY3Rpb24gZGVjbGFyYXRpb24pCitlc2lkOiBzZWMtZ2VuZXJhdG9yLWRlZmluaXRpb25zLXJ1
bnRpbWUtc2VtYW50aWNzLWluc3RhbnRpYXRlZnVuY3Rpb25vYmplY3QKK2ZlYXR1cmVzOiBbZ2Vu
ZXJhdG9yc10KK2ZsYWdzOiBbZ2VuZXJhdGVkLCBub1N0cmljdF0KK2luZm86IHwKKyAgICBHZW5l
cmF0b3JEZWNsYXJhdGlvbiA6IGZ1bmN0aW9uICogKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBHZW5l
cmF0b3JCb2R5IH0KKworCisgICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVu
Y3Rpb24gb2JqZWN0IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1
ZSBvZgorICAgIHRoYXQgcHJvcGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tH
ZXRPd25Qcm9wZXJ0eV1dLCBtdXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbgorICAgIG9iamVj
dC4gSWYgaXQgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRo
ZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkncyBbW0dldF1dCisgICAgYXR0cmlidXRlIG11c3QgbmV2
ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgorCistLS0qLwordmFyIENB
TExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QgPSBTeW1ib2woKTsKK2Z1bmN0aW9uIGlu
bmVyKCkgeworICAvLyBUaGlzIHByb3BlcnR5IG1heSBleGlzdCwgYnV0IGlzIGZvcmJpZGRlbiBm
cm9tIGhhdmluZyBhIHZhbHVlIHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0CisgIHJl
dHVybiBpbm5lci5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlubmVyLmNhbGxlcgor
ICAgIDogQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVDsKK30KKwordmFyIGNhbGxD
b3VudCA9IDA7CitmdW5jdGlvbiogZigpIHsKKyAgInVzZSBzdHJpY3QiOworICAvLyBUaGlzIGFu
ZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5j
YXNlIGZpbGUuCisgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhl
cmUsIHRoZXJlIGlzIGEKKyAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNl
IiB2YWx1ZSBoZXJlLgorICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50
IGNhc2UgZmlsZXMsIHdoaWNoIHVzZQorICAvLyB0aGUgc2FtZSB0ZW1wbGF0ZXMuCisgIGxldCBk
ZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbm5lciwgImNhbGxl
ciIpOworICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVl
KSB7CisgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGlubmVyLCAiY2FsbGVyIiwge2dldCgpe3Jl
dHVybiAxfX0pOworICB9CisgIHZhciByZXN1bHQgPSBpbm5lcigpOworICBpZiAoZGVzY3JpcHRv
ciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgYXNzZXJ0LnNhbWVW
YWx1ZShyZXN1bHQsIDEsICdJZiB0aGlzIHRlc3QgZGVmaW5lZCBhbiBvd24gImNhbGxlciIgcHJv
cGVydHkgb24gdGhlIGlubmVyIGZ1bmN0aW9uLCB0aGVuIGl0IHNob3VsZCBiZSBhY2Nlc3NpYmxl
IGFuZCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBpdCB3YXMgc2V0IHRvLicpOworICB9CisKKyAg
Ly8gIkNBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QiIGlzIGZyb20KKyAgLy8gZm9y
YmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuY2FzZQorICAvLworICAvLyBJ
ZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgaGFzIGFuIG93biBwcm9wZXJ0eQorICAvLyBu
YW1lZCAiY2FsbGVyIiwgdGhlbiBpdHMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KKyAgLy8KKyAg
Ly8gSWYgdGhlIGZ1bmN0aW9uIG9iamVjdCAiaW5uZXIiIERPRVMgTk9UIGhhdmUgYW4KKyAgLy8g
b3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiLCB0aGVuIHRoZSBzeW1ib2wKKyAgLy8gQ0FMTEVS
X09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCB3aWxsIGJlIHJldHVybmVkLgorICBpZiAocmVz
dWx0ICE9PSBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUKSB7CisgICAgYXNzZXJ0
Lm5vdFNhbWVWYWx1ZShyZXN1bHQsIGYpOworICB9CisKKyAgY2FsbENvdW50Kys7Cit9CisKK2Yo
KS5uZXh0KCk7CisKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENvdW50LCAxLCAnZ2VuZXJhdG9yIGZ1
bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvdGVz
dC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvZm9yYmlkZGVuLWV4dC9iMi9nZW4tZnVu
Yy1kZWNsLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNhbGxlci12YWx1
ZS5qcyBiL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9y
cy9mb3JiaWRkZW4tZXh0L2IyL2dlbi1mdW5jLWRlY2wtZm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1h
Y2Nlc3Mtb3duLXByb3AtY2FsbGVyLXZhbHVlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlZDM3NTZkMmUxZDU1
MzAzM2EwZjFlODAzNjMwNzMxMTg3ZWM5NzYKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3Rl
c3QyNjIvdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvZm9yYmlkZGVuLWV4dC9i
Mi9nZW4tZnVuYy1kZWNsLWZvcmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLW93bi1wcm9wLWNh
bGxlci12YWx1ZS5qcwpAQCAtMCwwICsxLDYyIEBACisvLyBUaGlzIGZpbGUgd2FzIHByb2NlZHVy
YWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisvLyAtIHNyYy9mdW5j
dGlvbi1mb3Jtcy9mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1vd24tcHJvcC1jYWxsZXIt
dmFsdWUuY2FzZQorLy8gLSBzcmMvZnVuY3Rpb24tZm9ybXMvZm9yYmlkZGVuLWV4dGVuc2lvbnMv
YnVsbGV0LXR3by9nZW4tZnVuYy1kZWNsLnRlbXBsYXRlCisvKi0tLQorZGVzY3JpcHRpb246IEZv
cmJpZGRlbiBleHRlbnNpb24sIG8uY2FsbGVyIChnZW5lcmF0b3IgZnVuY3Rpb24gZGVjbGFyYXRp
b24pCitlc2lkOiBzZWMtZ2VuZXJhdG9yLWRlZmluaXRpb25zLXJ1bnRpbWUtc2VtYW50aWNzLWlu
c3RhbnRpYXRlZnVuY3Rpb25vYmplY3QKK2ZlYXR1cmVzOiBbZ2VuZXJhdG9yc10KK2ZsYWdzOiBb
Z2VuZXJhdGVkLCBub1N0cmljdF0KK2luZm86IHwKKyAgICBHZW5lcmF0b3JEZWNsYXJhdGlvbiA6
IGZ1bmN0aW9uICogKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBHZW5lcmF0b3JCb2R5IH0KKworCisg
ICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0IHdpdGgg
YW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZgorICAgIHRoYXQgcHJv
cGVydHksIGFzIG9ic2VydmVkIHVzaW5nIFtbR2V0XV0gb3IgW1tHZXRPd25Qcm9wZXJ0eV1dLCBt
dXN0IG5vdCBiZSBhIHN0cmljdCBmdW5jdGlvbgorICAgIG9iamVjdC4gSWYgaXQgaXMgYW4gYWNj
ZXNzb3IgcHJvcGVydHksIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHRoZSB2YWx1ZSBvZiB0aGUgcHJv
cGVydHkncyBbW0dldF1dCisgICAgYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0
IGZ1bmN0aW9uIHdoZW4gY2FsbGVkLgorCistLS0qLwordmFyIENBTExFUl9PV05fUFJPUEVSVFlf
RE9FU19OT1RfRVhJU1QgPSBTeW1ib2woKTsKK2Z1bmN0aW9uIGlubmVyKCkgeworICAvLyBUaGlz
IHByb3BlcnR5IG1heSBleGlzdCwgYnV0IGlzIGZvcmJpZGRlbiBmcm9tIGhhdmluZyBhIHZhbHVl
IHRoYXQgaXMgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0CisgIHJldHVybiBpbm5lci5oYXNPd25Q
cm9wZXJ0eSgiY2FsbGVyIikKKyAgICA/IGlubmVyLmNhbGxlcgorICAgIDogQ0FMTEVSX09XTl9Q
Uk9QRVJUWV9ET0VTX05PVF9FWElTVDsKK30KKwordmFyIGNhbGxDb3VudCA9IDA7CitmdW5jdGlv
biogZigpIHsKKyAgInVzZSBzdHJpY3QiOworICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbmFsIHZhbHVlIGlzIHNldCBpbiB0aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgIC8vIEZv
ciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEgInRydWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAg
Ly8gY29ycmVzcG9uZGluZyB0ZXN0IHRoYXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBoZXJlLgorICAv
LyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSB0d28gZGlmZmVyZW50IGNhc2UgZmlsZXMsIHdoaWNo
IHVzZQorICAvLyB0aGUgc2FtZSB0ZW1wbGF0ZXMuCisgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbm5lciwgImNhbGxlciIpOworICBpZiAoZGVzY3Jp
cHRvciAmJiBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSAmJiB0cnVlKSB7CisgICAgT2JqZWN0LmRl
ZmluZVByb3BlcnR5KGlubmVyLCAiY2FsbGVyIiwge3ZhbHVlOiAxfSk7CisgIH0KKyAgdmFyIHJl
c3VsdCA9IGlubmVyKCk7CisgIGlmIChkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IuY29uZmlndXJh
YmxlICYmIHRydWUpIHsKKyAgICBhc3NlcnQuc2FtZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMg
dGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBwcm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rp
b24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2libGUgYW5kIHNob3VsZCByZXR1cm4gdGhlIHZh
bHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgIH0KKworICAvLyAiQ0FMTEVSX09XTl9QUk9QRVJUWV9E
T0VTX05PVF9FWElTVCIgaXMgZnJvbQorICAvLyBmb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vz
cy1wcm9wLWNhbGxlci5jYXNlCisgIC8vCisgIC8vIElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlu
bmVyIiBoYXMgYW4gb3duIHByb3BlcnR5CisgIC8vIG5hbWVkICJjYWxsZXIiLCB0aGVuIGl0cyB2
YWx1ZSB3aWxsIGJlIHJldHVybmVkLgorICAvLworICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0
ICJpbm5lciIgRE9FUyBOT1QgaGF2ZSBhbgorICAvLyBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxl
ciIsIHRoZW4gdGhlIHN5bWJvbAorICAvLyBDQUxMRVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VY
SVNUIHdpbGwgYmUgcmV0dXJuZWQuCisgIGlmIChyZXN1bHQgIT09IENBTExFUl9PV05fUFJPUEVS
VFlfRE9FU19OT1RfRVhJU1QpIHsKKyAgICBhc3NlcnQubm90U2FtZVZhbHVlKHJlc3VsdCwgZik7
CisgIH0KKworICBjYWxsQ291bnQrKzsKK30KKworZigpLm5leHQoKTsKKworYXNzZXJ0LnNhbWVW
YWx1ZShjYWxsQ291bnQsIDEsICdnZW5lcmF0b3IgZnVuY3Rpb24gYm9keSBldmFsdWF0ZWQnKTsK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvZ2Vu
ZXJhdG9ycy9mb3JiaWRkZW4tZXh0L2IyL2dlbi1mdW5jLWRlY2wtZm9yYmlkZGVuLWV4dC1pbmRp
cmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMgYi9KU1Rlc3RzL3Rlc3QyNjIvdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL2dlbmVyYXRvcnMvZm9yYmlkZGVuLWV4dC9iMi9nZW4tZnVuYy1kZWNsLWZv
cmJpZGRlbi1leHQtaW5kaXJlY3QtYWNjZXNzLXByb3AtY2FsbGVyLmpzCmluZGV4IGU3NTJhZTMy
ZDI2Mzg2ZTdmNWM5ZDRjODZiMWZhZjU4ZDk4NWYxYTYuLmZmZmExMGY3OGYxZDljODk5Njc2YWVh
MTNhYTViMDlmYjZhMDdlZDMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvZ2VuZXJhdG9ycy9mb3JiaWRkZW4tZXh0L2IyL2dlbi1mdW5jLWRlY2wt
Zm9yYmlkZGVuLWV4dC1pbmRpcmVjdC1hY2Nlc3MtcHJvcC1jYWxsZXIuanMKKysrIGIvSlNUZXN0
cy90ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9nZW5lcmF0b3JzL2ZvcmJpZGRlbi1l
eHQvYjIvZ2VuLWZ1bmMtZGVjbC1mb3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNh
bGxlci5qcwpAQCAtMTAsMjMgKzEwLDUzIEBAIGluZm86IHwKICAgICBHZW5lcmF0b3JEZWNsYXJh
dGlvbiA6IGZ1bmN0aW9uICogKCBGb3JtYWxQYXJhbWV0ZXJzICkgeyBHZW5lcmF0b3JCb2R5IH0K
IAogCi0gICAgSWYgYW4gaW1wbGVtZW50YXRpb24gZXh0ZW5kcyBhbnkgZnVuY3Rpb24gb2JqZWN0
IHdpdGggYW4gb3duIHByb3BlcnR5IG5hbWVkICJjYWxsZXIiIHRoZSB2YWx1ZSBvZiB0aGF0IHBy
b3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0T3duUHJvcGVydHldXSwg
bXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24gb2JqZWN0LiBJZiBpdCBpcyBhbiBhY2Nlc3Nv
ciBwcm9wZXJ0eSwgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0
eSdzIFtbR2V0XV0gYXR0cmlidXRlIG11c3QgbmV2ZXIgcmV0dXJuIGEgc3RyaWN0IGZ1bmN0aW9u
IHdoZW4gY2FsbGVkLgorICAgIElmIGFuIGltcGxlbWVudGF0aW9uIGV4dGVuZHMgYW55IGZ1bmN0
aW9uIG9iamVjdCB3aXRoIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAiY2FsbGVyIiB0aGUgdmFsdWUg
b2YKKyAgICB0aGF0IHByb3BlcnR5LCBhcyBvYnNlcnZlZCB1c2luZyBbW0dldF1dIG9yIFtbR2V0
T3duUHJvcGVydHldXSwgbXVzdCBub3QgYmUgYSBzdHJpY3QgZnVuY3Rpb24KKyAgICBvYmplY3Qu
IElmIGl0IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5LCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB0aGUg
dmFsdWUgb2YgdGhlIHByb3BlcnR5J3MgW1tHZXRdXQorICAgIGF0dHJpYnV0ZSBtdXN0IG5ldmVy
IHJldHVybiBhIHN0cmljdCBmdW5jdGlvbiB3aGVuIGNhbGxlZC4KIAogLS0tKi8KK3ZhciBDQUxM
RVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUID0gU3ltYm9sKCk7CiBmdW5jdGlvbiBpbm5l
cigpIHsKLSAgLy8gVGhpcyBwcm9wZXJ0eSBpcyBmb3JiaWRkZW4gZnJvbSBoYXZpbmcgYSB2YWx1
ZSB0aGF0IGlzIHN0cmljdCBmdW5jdGlvbiBvYmplY3QKLSAgcmV0dXJuIGlubmVyLmNhbGxlcjsK
KyAgLy8gVGhpcyBwcm9wZXJ0eSBtYXkgZXhpc3QsIGJ1dCBpcyBmb3JiaWRkZW4gZnJvbSBoYXZp
bmcgYSB2YWx1ZSB0aGF0IGlzIGEgc3RyaWN0IGZ1bmN0aW9uIG9iamVjdAorICByZXR1cm4gaW5u
ZXIuaGFzT3duUHJvcGVydHkoImNhbGxlciIpCisgICAgPyBpbm5lci5jYWxsZXIKKyAgICA6IENB
TExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1Q7CiB9CiAKIHZhciBjYWxsQ291bnQgPSAw
OwogZnVuY3Rpb24qIGYoKSB7CiAgICJ1c2Ugc3RyaWN0IjsKLSAgaW5uZXIoKS50b1N0cmluZygp
OworICAvLyBUaGlzIGFuZCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbmFsIHZhbHVlIGlzIHNldCBp
biB0aGUgdGVzdCdzIC5jYXNlIGZpbGUuCisgIC8vIEZvciBldmVyeSB0ZXN0IHRoYXQgaGFzIGEg
InRydWUiIHZhbHVlIGhlcmUsIHRoZXJlIGlzIGEKKyAgLy8gY29ycmVzcG9uZGluZyB0ZXN0IHRo
YXQgaGFzIGEgImZhbHNlIiB2YWx1ZSBoZXJlLgorICAvLyBUaGV5IGFyZSBnZW5lcmF0ZWQgZnJv
bSB0d28gZGlmZmVyZW50IGNhc2UgZmlsZXMsIHdoaWNoIHVzZQorICAvLyB0aGUgc2FtZSB0ZW1w
bGF0ZXMuCisgIGxldCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihpbm5lciwgImNhbGxlciIpOworICBpZiAoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLmNvbmZp
Z3VyYWJsZSAmJiBmYWxzZSkgeworICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbm5lciwgImNh
bGxlciIsIHt9KTsKKyAgfQorICB2YXIgcmVzdWx0ID0gaW5uZXIoKTsKKyAgaWYgKGRlc2NyaXB0
b3IgJiYgZGVzY3JpcHRvci5jb25maWd1cmFibGUgJiYgZmFsc2UpIHsKKyAgICBhc3NlcnQuc2Ft
ZVZhbHVlKHJlc3VsdCwgMSwgJ0lmIHRoaXMgdGVzdCBkZWZpbmVkIGFuIG93biAiY2FsbGVyIiBw
cm9wZXJ0eSBvbiB0aGUgaW5uZXIgZnVuY3Rpb24sIHRoZW4gaXQgc2hvdWxkIGJlIGFjY2Vzc2li
bGUgYW5kIHNob3VsZCByZXR1cm4gdGhlIHZhbHVlIGl0IHdhcyBzZXQgdG8uJyk7CisgIH0KKwor
ICAvLyAiQ0FMTEVSX09XTl9QUk9QRVJUWV9ET0VTX05PVF9FWElTVCIgaXMgZnJvbQorICAvLyBm
b3JiaWRkZW4tZXh0LWluZGlyZWN0LWFjY2Vzcy1wcm9wLWNhbGxlci5jYXNlCisgIC8vCisgIC8v
IElmIHRoZSBmdW5jdGlvbiBvYmplY3QgImlubmVyIiBoYXMgYW4gb3duIHByb3BlcnR5CisgIC8v
IG5hbWVkICJjYWxsZXIiLCB0aGVuIGl0cyB2YWx1ZSB3aWxsIGJlIHJldHVybmVkLgorICAvLwor
ICAvLyBJZiB0aGUgZnVuY3Rpb24gb2JqZWN0ICJpbm5lciIgRE9FUyBOT1QgaGF2ZSBhbgorICAv
LyBvd24gcHJvcGVydHkgbmFtZWQgImNhbGxlciIsIHRoZW4gdGhlIHN5bWJvbAorICAvLyBDQUxM
RVJfT1dOX1BST1BFUlRZX0RPRVNfTk9UX0VYSVNUIHdpbGwgYmUgcmV0dXJuZWQuCisgIGlmIChy
ZXN1bHQgIT09IENBTExFUl9PV05fUFJPUEVSVFlfRE9FU19OT1RfRVhJU1QpIHsKKyAgICBhc3Nl
cnQubm90U2FtZVZhbHVlKHJlc3VsdCwgZik7CisgIH0KKwogICBjYWxsQ291bnQrKzsKIH0KIAot
YXNzZXJ0LnRocm93cyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgewotICBmKCkubmV4dCgpOwotfSk7
CitmKCkubmV4dCgpOwogCi1hc3NlcnQuc2FtZVZhbHVlKGNhbGxDb3VudCwgMCwgJ2dlbmVyYXRv
ciBmdW5jdGlvbiBib2R5IG5vdCBldmFsdWF0ZWQnKTsKK2Fzc2VydC5zYW1lVmFsdWUoY2FsbENv
dW50LCAxLCAnZ2VuZXJhdG9yIGZ1bmN0aW9uIGJvZHkgZXZhbHVhdGVkJyk7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3Rlc3QyNjIvdGVzdDI2Mi1SZXZpc2lvbi50eHQgYi9KU1Rlc3RzL3Rlc3QyNjIv
dGVzdDI2Mi1SZXZpc2lvbi50eHQKaW5kZXggN2I2NzI0ZTUyNjliMzViYTU4NGJmN2UxMzI1MWRi
MDkxMDhjYjQ5Yi4uNjFhY2JjYTZiNjI5ZDhiMmVmOWRjYzc5YmY2ZDA4ZTcyMTZiMmUxOSAxMDA2
NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL3Rlc3QyNjItUmV2aXNpb24udHh0CisrKyBiL0pTVGVz
dHMvdGVzdDI2Mi90ZXN0MjYyLVJldmlzaW9uLnR4dApAQCAtMSwyICsxLDIgQEAKIHRlc3QyNjIg
cmVtb3RlIHVybDogaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvdGVzdDI2Mi5naXQKLXRlc3QyNjIg
cmV2aXNpb246IGY0YTlhZjY1ODcwOTU0NTM1OGJiODU2NDYzNGI2ZWUxMzM5YTQ4YjcKK3Rlc3Qy
NjIgcmV2aXNpb246IGQ5NzQwYzE3MjY1MmQzNjE5NGNlYWUzZWQzZDA0ODRlOTk2OGViYzMK
</data>

          </attachment>
      

    </bug>

</bugzilla>