<?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>227323</bug_id>
          
          <creation_ts>2021-06-23 15:11:46 -0700</creation_ts>
          <short_desc>Resync beacon WPT tests from upstream</short_desc>
          <delta_ts>2021-06-24 08:21:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>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>
          
          <blocked>227316</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>clopez</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1772081</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-23 15:11:46 -0700</bug_when>
    <thetext>Resync beacon WPT tests from upstream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772082</commentid>
    <comment_count>1</comment_count>
      <attachid>432095</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-23 15:16:14 -0700</bug_when>
    <thetext>Created attachment 432095
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772279</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-24 08:20:02 -0700</bug_when>
    <thetext>Committed r279224 (239110@main): &lt;https://commits.webkit.org/239110@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 432095.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772280</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-24 08:21:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/79725816&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432095</attachid>
            <date>2021-06-23 15:16:14 -0700</date>
            <delta_ts>2021-06-24 08:20:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227323-20210623151613.patch</filename>
            <type>text/plain</type>
            <size>66575</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MTkyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCBjZGY4MzgyOWJkOGM4NDQxMzk0YjI0NGU1N2M5ZTFiMDg4YTQ2ZWY5Li42OGM0ZjkyYzBj
NzI4ZTQ2NDkwOWFlMWRhNWI2NTk1MjgyZmY3YTc4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wNi0yMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFJlc3luYyBiZWFjb24gV1BUIHRlc3RzIGZyb20gdXBzdHJl
YW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzMy
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlc3lu
YyBiZWFjb24gV1BUIHRlc3RzIGZyb20gdXBzdHJlYW0gYTM4NjEyZjM5ZTc3NTJjMzUzLgorCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi8qOiBVcGRhdGVkLgorCiAyMDIxLTA2
LTIzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVzeW5jIElu
ZGV4ZWREQiBXUFQgdGVzdHMgZnJvbSB1cHN0cmVhbQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZDdi
MzUzNmQ4YWMwMWI5MmVmOTdhN2E1OTMxZmU0OTUyNjg1YWE1OC4uYzMxM2EwN2Q3Mjc2NDAyZTJi
NGY4MDNkYWViOGI5YmI5M2Y1NjJmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0yMjUyLDEwICsy
MjUyLDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvd3Jh
cEtleV91bndyYXBLZXkvdGVzdF93cmFwS2V5X3Vud3IKICMgV2ViQ3J5cHRvQVBJIHRlc3RzIHRo
YXQgdGFrZSB0b28gbG9uZyB0byBjb21wbGV0ZQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9XZWJDcnlwdG9BUEkvIFsgU2xvdyBdCiAKLSMgSW1wb3J0ZWQgQmVhY29uIHRlc3QgdGhh
dCBpcyBmbGFreSBiZWNhdXNlIGl0cyBsYXN0IGNoZWNrIGlzIHZlcnkgc2xvdy4KLXdlYmtpdC5v
cmcvYi8xNzUyMDIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29u
LWJhc2ljLXN0cmluZy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLQotCiAjIFdlYkNyeXB0b0FQSSBm
ZWF0dXJlcyB0aGF0IGhhdmVuJ3QgYmVlbiBlbmFibGVkIGZvciBjdXJyZW50IE9TCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS93cmFwS2V5X3Vud3JhcEtleS93
cmFwS2V5X3Vud3JhcEtleS5odHRwcy53b3JrZXIuaHRtbCBbIFNraXAgXQogY3J5cHRvL3N1YnRs
ZS9lY2RoLWltcG9ydC1wa2NzOC1rZXktcDI1Ni12YWxpZGF0ZS1lY3ByaXZhdGVrZXktcGFyYW1l
dGVycy1wdWJsaWNrZXkuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWJhc2ljLWJsb2IuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2Jl
YWNvbi1iYXNpYy1ibG9iLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgwNWVh
NjNiZTI1MmIxMDg3YWVkZmZiYzIwYmVhYTc2NWFlZGJjOWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWJhc2ljLWJsb2IuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDE4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8
dGl0bGU+VzNDIEJlYWNvbiBCYXNpYyBCbG9iIFRlc3Q8L3RpdGxlPgotICAgIDxtZXRhIG5hbWU9
InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgotICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgdGl0bGU9
Ik1pY3Jvc29mdCBFZGdlIiBocmVmPSJodHRwczovL3d3dy5taWNyb3NvZnQuY29tIj4KLSAgICA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci0gICAgPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0
PgotICAgIDxzY3JpcHQgc3JjPSJiZWFjb24tY29tbW9uLnN1Yi5qcyI+PC9zY3JpcHQ+Ci0gICAg
PHNjcmlwdD4KLSAgICAgICAgInVzZSBzdHJpY3QiOwotICAgICAgICBydW5UZXN0cyhibG9iVGVz
dHMpOwotICAgIDwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWJhc2lj
LWJsb2JNYXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWJhc2ljLWJsb2JNYXgtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOWVjNmY0YjJiMzQ4NWNhNWRhZTA2MGZhNjY4OGY2
MTgxOGZlNDllLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNv
bi1iYXNpYy1ibG9iTWF4LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBA
QAotCi1QQVNTIFZlcmlmeSAnbmF2aWdhdG9yLnNlbmRiZWFjb24oKScgc3VjY2Vzc2Z1bGx5IHNl
bmRzIGZvciB2YXJpYW50OiBNYXhCbG9iCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1iYXNpYy1ibG9iTWF4Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9i
ZWFjb24tYmFzaWMtYmxvYk1heC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBl
MThiMTYzZDYzMDBjZGIzZjU4ZWEwM2UxYTkxMmJhYzUwNDM2MjdhLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1iYXNpYy1ibG9iTWF4Lmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci0gICAgPHRpdGxlPlczQyBCZWFjb24gQmFzaWMgQmxvYiBUZXN0IC0gTWF4U2l6ZTwvdGl0bGU+
Ci0gICAgPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci0gICAgPG1ldGEgbmFt
ZT0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IEVkZ2UiIGhyZWY9Imh0dHBzOi8vd3d3Lm1pY3Jv
c29mdC5jb20iPgotICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgICA8c2NyaXB0IHNyYz0iL2NvbW1vbi91
dGlscy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9ImJlYWNvbi1jb21tb24uc3ViLmpz
Ij48L3NjcmlwdD4KLSAgICA8c2NyaXB0PgotICAgICAgICAidXNlIHN0cmljdCI7Ci0gICAgICAg
IHJ1blRlc3RzKGJsb2JNYXhUZXN0KTsKLSAgICA8L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
YmVhY29uL2JlYWNvbi1iYXNpYy1idWZmZXJzb3VyY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWJhc2ljLWJ1
ZmZlcnNvdXJjZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRm
YmJlMzViZmNhZmVlZmQ1NDFlNWZlMjU3NjE1ZTNhOTY2NmU1MDkuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWJhc2ljLWJ1ZmZlcnNvdXJjZS1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLQotUEFTUyBWZXJpZnkgJ25hdmln
YXRvci5zZW5kYmVhY29uKCknIHN1Y2Nlc3NmdWxseSBzZW5kcyBmb3IgdmFyaWFudDogRW1wdHlC
dWZmZXJTb3VyY2UKLVBBU1MgVmVyaWZ5ICduYXZpZ2F0b3Iuc2VuZGJlYWNvbigpJyBzdWNjZXNz
ZnVsbHkgc2VuZHMgZm9yIHZhcmlhbnQ6IFNtYWxsQnVmZmVyU291cmNlCi1QQVNTIFZlcmlmeSAn
bmF2aWdhdG9yLnNlbmRiZWFjb24oKScgc3VjY2Vzc2Z1bGx5IHNlbmRzIGZvciB2YXJpYW50OiBN
ZWRpdW1CdWZmZXJTb3VyY2UKLVBBU1MgVmVyaWZ5ICduYXZpZ2F0b3Iuc2VuZGJlYWNvbigpJyBz
dWNjZXNzZnVsbHkgc2VuZHMgZm9yIHZhcmlhbnQ6IExhcmdlQnVmZmVyU291cmNlCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29u
L2JlYWNvbi1iYXNpYy1idWZmZXJzb3VyY2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1iYXNpYy1idWZmZXJzb3VyY2UuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTRjN2E0ZjMwZjg1N2FmMjA1ZGM1YzI4
OWU2NDNiNDM3MzU2MDlhZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNv
bi9iZWFjb24tYmFzaWMtYnVmZmVyc291cmNlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxOCAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHRpdGxlPlczQyBC
ZWFjb24gQmFzaWMgQnVmZmVyU291cmNlIFRlc3Q8L3RpdGxlPgotICAgIDxtZXRhIG5hbWU9InRp
bWVvdXQiIGNvbnRlbnQ9ImxvbmciPgotICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgdGl0bGU9Ik1p
Y3Jvc29mdCBFZGdlIiBocmVmPSJodHRwczovL3d3dy5taWNyb3NvZnQuY29tIj4KLSAgICA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci0gICAgPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0Pgot
ICAgIDxzY3JpcHQgc3JjPSJiZWFjb24tY29tbW9uLnN1Yi5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNj
cmlwdD4KLSAgICAgICAgInVzZSBzdHJpY3QiOwotICAgICAgICBydW5UZXN0cyhidWZmZXJTb3Vy
Y2VUZXN0cyk7Ci0gICAgPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24t
YmFzaWMtYnVmZmVyc291cmNlTWF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1iYXNpYy1idWZmZXJzb3VyY2VN
YXgtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OWZiODEwNTFm
MTFkMTg4MTdkZTFlYTE4ZDBjY2ZiYTAzOWUwNzY1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvYmVhY29uL2JlYWNvbi1iYXNpYy1idWZmZXJzb3VyY2VNYXgtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi0KLVBBU1MgVmVyaWZ5ICduYXZpZ2F0b3Iu
c2VuZGJlYWNvbigpJyBzdWNjZXNzZnVsbHkgc2VuZHMgZm9yIHZhcmlhbnQ6IE1heEJ1ZmZlclNv
dXJjZQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2JlYWNvbi9iZWFjb24tYmFzaWMtYnVmZmVyc291cmNlTWF4Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tYmFzaWMt
YnVmZmVyc291cmNlTWF4Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUxNjNl
Y2Q3NWE5MDdlNzlkNTg0YmE0MmU0NThmMjJjZmUzMmFkYmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWJhc2ljLWJ1ZmZlcnNvdXJjZU1heC5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxo
ZWFkPgotICAgIDx0aXRsZT5XM0MgQmVhY29uIEJhc2ljIEJ1ZmZlclNvdXJjZSBUZXN0IC0gTWF4
U2l6ZTwvdGl0bGU+Ci0gICAgPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Ci0g
ICAgPG1ldGEgbmFtZT0iYXV0aG9yIiB0aXRsZT0iTWljcm9zb2Z0IEVkZ2UiIGhyZWY9Imh0dHBz
Oi8vd3d3Lm1pY3Jvc29mdC5jb20iPgotICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgICA8c2NyaXB0IHNy
Yz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9ImJlYWNvbi1j
b21tb24uc3ViLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0PgotICAgICAgICAidXNlIHN0cmlj
dCI7Ci0gICAgICAgIHJ1blRlc3RzKGJ1ZmZlclNvdXJjZU1heFRlc3QpOwotICAgIDwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWJhc2ljLWZvcm1kYXRhLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29u
L2JlYWNvbi1iYXNpYy1mb3JtZGF0YS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGY0MzkyOTNhZTE2ZjEzMTE1MjAzNWJhODAwMmU5OTQwNmQyYTI3OGYuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWJhc2ljLWZvcm1kYXRh
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotCi1QQVNTIFZlcmlm
eSAnbmF2aWdhdG9yLnNlbmRiZWFjb24oKScgc3VjY2Vzc2Z1bGx5IHNlbmRzIGZvciB2YXJpYW50
OiBFbXB0eUZvcm1EYXRhCi1QQVNTIFZlcmlmeSAnbmF2aWdhdG9yLnNlbmRiZWFjb24oKScgc3Vj
Y2Vzc2Z1bGx5IHNlbmRzIGZvciB2YXJpYW50OiBTbWFsbEZvcm1EYXRhCi1QQVNTIFZlcmlmeSAn
bmF2aWdhdG9yLnNlbmRiZWFjb24oKScgc3VjY2Vzc2Z1bGx5IHNlbmRzIGZvciB2YXJpYW50OiBN
ZWRpdW1Gb3JtRGF0YQotUEFTUyBWZXJpZnkgJ25hdmlnYXRvci5zZW5kYmVhY29uKCknIHN1Y2Nl
c3NmdWxseSBzZW5kcyBmb3IgdmFyaWFudDogTGFyZ2VGb3JtRGF0YQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24t
YmFzaWMtZm9ybWRhdGEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvYmVhY29uL2JlYWNvbi1iYXNpYy1mb3JtZGF0YS5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA5ZjQ2Y2Y2YTc5MzU2ZDdkMzI0NTM4MTczZjc2ZWU3MTBiOTI3M2Yw
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1iYXNpYy1m
b3JtZGF0YS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDx0aXRsZT5XM0MgQmVhY29uIEJhc2ljIEZvcm1EYXRh
IFRlc3Q8L3RpdGxlPgotICAgIDxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgot
ICAgIDxtZXRhIG5hbWU9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCBFZGdlIiBocmVmPSJodHRw
czovL3d3dy5taWNyb3NvZnQuY29tIj4KLSAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0gICAgPHNjcmlwdCBz
cmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJiZWFjb24t
Y29tbW9uLnN1Yi5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgInVzZSBzdHJp
Y3QiOwotICAgICAgICBydW5UZXN0cyhmb3JtRGF0YVRlc3RzKTsKLSAgICA8L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1iYXNpYy1mb3JtZGF0YU1heC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9i
ZWFjb24tYmFzaWMtZm9ybWRhdGFNYXgtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAyNGY3YmZlNDRiNDViYWUwMGI4YjgwMGUwNTVhMTRlYzkzYTMxN2YyLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1iYXNpYy1mb3JtZGF0
YU1heC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLQotUEFTUyBW
ZXJpZnkgJ25hdmlnYXRvci5zZW5kYmVhY29uKCknIHN1Y2Nlc3NmdWxseSBzZW5kcyBmb3IgdmFy
aWFudDogTGFyZ2VGb3JtRGF0YQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tYmFzaWMtZm9ybWRhdGFNYXguaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2Jl
YWNvbi1iYXNpYy1mb3JtZGF0YU1heC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAyYzdlMGZhODA1Y2NiNjQ1Njg3ZjAxZTMwMWNlZmE4OTJmOWZlMjMzLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1iYXNpYy1mb3JtZGF0YU1heC5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotICAgIDx0aXRsZT5XM0MgQmVhY29uIEJhc2ljIEZvcm1EYXRhIFRlc3Q8L3RpdGxl
PgotICAgIDxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgotICAgIDxtZXRhIG5h
bWU9ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCBFZGdlIiBocmVmPSJodHRwczovL3d3dy5taWNy
b3NvZnQuY29tIj4KLSAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0gICAgPHNjcmlwdCBzcmM9Ii9jb21tb24v
dXRpbHMuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJiZWFjb24tY29tbW9uLnN1Yi5q
cyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgInVzZSBzdHJpY3QiOwotICAgICAg
ICBydW5UZXN0cyhmb3JtRGF0YU1heFRlc3QpOwotICAgIDwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9iZWFjb24vYmVhY29uLWJhc2ljLXN0cmluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tYmFzaWMtc3Ry
aW5nLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODdiYzJlMjE3
YzQ1MjE4OWNiNTAzYWI3YmVjYjZjMzgyYWFhMDM2ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tYmFzaWMtc3RyaW5nLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDggKzAsMCBAQAotCi1QQVNTIFZlcmlmeSAnbmF2aWdhdG9yLnNlbmRiZWFj
b24oKScgc3VjY2Vzc2Z1bGx5IHNlbmRzIGZvciB2YXJpYW50OiBOb0RhdGEKLVBBU1MgVmVyaWZ5
ICduYXZpZ2F0b3Iuc2VuZGJlYWNvbigpJyBzdWNjZXNzZnVsbHkgc2VuZHMgZm9yIHZhcmlhbnQ6
IE51bGxEYXRhCi1QQVNTIFZlcmlmeSAnbmF2aWdhdG9yLnNlbmRiZWFjb24oKScgc3VjY2Vzc2Z1
bGx5IHNlbmRzIGZvciB2YXJpYW50OiBVbmRlZmluZWREYXRhCi1QQVNTIFZlcmlmeSAnbmF2aWdh
dG9yLnNlbmRiZWFjb24oKScgc3VjY2Vzc2Z1bGx5IHNlbmRzIGZvciB2YXJpYW50OiBTbWFsbFN0
cmluZwotUEFTUyBWZXJpZnkgJ25hdmlnYXRvci5zZW5kYmVhY29uKCknIHN1Y2Nlc3NmdWxseSBz
ZW5kcyBmb3IgdmFyaWFudDogTWVkaXVtU3RyaW5nCi1QQVNTIFZlcmlmeSAnbmF2aWdhdG9yLnNl
bmRiZWFjb24oKScgc3VjY2Vzc2Z1bGx5IHNlbmRzIGZvciB2YXJpYW50OiBMYXJnZVN0cmluZwot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2JlYWNvbi9iZWFjb24tYmFzaWMtc3RyaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tYmFzaWMtc3RyaW5nLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNiYTY1ZGFkZTk4ZDQzNTA1MmYxNDFmZWNkMDlj
ZGYyNGQxNjRjM2IuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVh
Y29uLWJhc2ljLXN0cmluZy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICAgIDx0aXRsZT5XM0MgQmVhY29uIEJhc2lj
IFN0cmluZyBUZXN0PC90aXRsZT4KLSAgICA8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJs
b25nIj4KLSAgICA8bWV0YSBuYW1lPSJhdXRob3IiIHRpdGxlPSJNaWNyb3NvZnQgRWRnZSIgaHJl
Zj0iaHR0cHM6Ly93d3cubWljcm9zb2Z0LmNvbSI+Ci0gICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotICAgIDxz
Y3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0i
YmVhY29uLWNvbW1vbi5zdWIuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQ+Ci0gICAgICAgICJ1
c2Ugc3RyaWN0IjsKLSAgICAgICAgcnVuVGVzdHMoc3RyaW5nVGVzdHMpOwotICAgIDwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWJhc2ljLXN0cmluZ01heC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNv
bi9iZWFjb24tYmFzaWMtc3RyaW5nTWF4LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOGMzOWZiN2EzYjA1NmFjYjVhYmNmMWJiM2I5ZGE4MmYzNGRkZTQzZC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tYmFzaWMtc3RyaW5n
TWF4LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotCi1QQVNTIFZl
cmlmeSAnbmF2aWdhdG9yLnNlbmRiZWFjb24oKScgc3VjY2Vzc2Z1bGx5IHNlbmRzIGZvciB2YXJp
YW50OiBNYXhTdHJpbmcKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWJhc2ljLXN0cmluZ01heC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWJh
c2ljLXN0cmluZ01heC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDVlOWY1
Y2U4ODk1MzJjZGYzNTQ1OTM4NmZhMWIyODk1Nzg2YWQwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1iYXNpYy1zdHJpbmdNYXguaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDE4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAg
ICA8dGl0bGU+VzNDIEJlYWNvbiBCYXNpYyBTdHJpbmcgVGVzdCAtIE1heFNpemU8L3RpdGxlPgot
ICAgIDxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgotICAgIDxtZXRhIG5hbWU9
ImF1dGhvciIgdGl0bGU9Ik1pY3Jvc29mdCBFZGdlIiBocmVmPSJodHRwczovL3d3dy5taWNyb3Nv
ZnQuY29tIj4KLSAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci0gICAgPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRp
bHMuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJiZWFjb24tY29tbW9uLnN1Yi5qcyI+
PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdD4KLSAgICAgICAgInVzZSBzdHJpY3QiOwotICAgICAgICBy
dW5UZXN0cyhzdHJpbmdNYXhUZXN0KTsKLSAgICA8L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
YmVhY29uL2JlYWNvbi1iYXNpYy5odHRwcy53aW5kb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWJhc2ljLmh0
dHBzLndpbmRvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTAzMjg1MmM5MmMxODdlOTYwNjE2
ZTc3NjAwOThhZTg5MjAyY2E3NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1iYXNpYy5odHRwcy53aW5k
b3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjcgQEAKKworUEFTUyBzaW1wbGUgY2FzZTogd2l0
aCBubyBwYXlsb2FkCitQQVNTIHNpbXBsZSBjYXNlOiB3aXRoIG51bGwgcGF5bG9hZAorUEFTUyBz
aW1wbGUgY2FzZTogdHlwZSA9IHN0cmluZyBhbmQgc2l6ZSA9IGVtcHR5CitQQVNTIHNpbXBsZSBj
YXNlOiB0eXBlID0gYXJyYXlidWZmZXIgYW5kIHNpemUgPSBlbXB0eQorUEFTUyBzaW1wbGUgY2Fz
ZTogdHlwZSA9IGZvcm0gYW5kIHNpemUgPSBlbXB0eQorUEFTUyBzaW1wbGUgY2FzZTogdHlwZSA9
IGJsb2IgYW5kIHNpemUgPSBlbXB0eQorUEFTUyBzaW1wbGUgY2FzZTogdHlwZSA9IHN0cmluZyBh
bmQgc2l6ZSA9IHNtYWxsCitQQVNTIHNpbXBsZSBjYXNlOiB0eXBlID0gYXJyYXlidWZmZXIgYW5k
IHNpemUgPSBzbWFsbAorUEFTUyBzaW1wbGUgY2FzZTogdHlwZSA9IGZvcm0gYW5kIHNpemUgPSBz
bWFsbAorUEFTUyBzaW1wbGUgY2FzZTogdHlwZSA9IGJsb2IgYW5kIHNpemUgPSBzbWFsbAorUEFT
UyBzaW1wbGUgY2FzZTogdHlwZSA9IHN0cmluZyBhbmQgc2l6ZSA9IGxhcmdlCitQQVNTIHNpbXBs
ZSBjYXNlOiB0eXBlID0gYXJyYXlidWZmZXIgYW5kIHNpemUgPSBsYXJnZQorUEFTUyBzaW1wbGUg
Y2FzZTogdHlwZSA9IGZvcm0gYW5kIHNpemUgPSBsYXJnZQorUEFTUyBzaW1wbGUgY2FzZTogdHlw
ZSA9IGJsb2IgYW5kIHNpemUgPSBsYXJnZQorUEFTUyBzaW1wbGUgY2FzZTogdHlwZSA9IHN0cmlu
ZyBhbmQgc2l6ZSA9IG1heAorUEFTUyBzaW1wbGUgY2FzZTogdHlwZSA9IGFycmF5YnVmZmVyIGFu
ZCBzaXplID0gbWF4CitQQVNTIHNpbXBsZSBjYXNlOiB0eXBlID0gYmxvYiBhbmQgc2l6ZSA9IG1h
eAorUEFTUyBUb28gbGFyZ2UgcGF5bG9hZCBzaG91bGQgYmUgcmVqZWN0ZWQ6IHR5cGUgPSBzdHJp
bmcKK1BBU1MgVG9vIGxhcmdlIHBheWxvYWQgc2hvdWxkIGJlIHJlamVjdGVkOiB0eXBlID0gYXJy
YXlidWZmZXIKK1BBU1MgVG9vIGxhcmdlIHBheWxvYWQgc2hvdWxkIGJlIHJlamVjdGVkOiB0eXBl
ID0gZm9ybQorUEFTUyBUb28gbGFyZ2UgcGF5bG9hZCBzaG91bGQgYmUgcmVqZWN0ZWQ6IHR5cGUg
PSBibG9iCitQQVNTIFBheWxvYWQgc2l6ZSByZXN0cmljdGlvbiBzaG91bGQgYmUgYWNjdW11bGF0
ZWQ6IHR5cGUgPSBzdHJpbmcKK1BBU1MgUGF5bG9hZCBzaXplIHJlc3RyaWN0aW9uIHNob3VsZCBi
ZSBhY2N1bXVsYXRlZDogdHlwZSA9IGFycmF5YnVmZmVyCitQQVNTIFBheWxvYWQgc2l6ZSByZXN0
cmljdGlvbiBzaG91bGQgYmUgYWNjdW11bGF0ZWQ6IHR5cGUgPSBibG9iCitQQVNTIHNlbmRCZWFj
b24oKSB3aXRoIGEgc3RyZWFtIGRvZXMgbm90IHdvcmsgZHVlIHRvIHRoZSBrZWVwYWxpdmUgZmxh
ZyBiZWluZyBzZXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWJhc2ljLmh0dHBzLndpbmRvdy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWJh
c2ljLmh0dHBzLndpbmRvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2
NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tYmFzaWMuaHR0cHMud2luZG93
Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktp
dCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWJhc2ljLmh0dHBzLndpbmRvdy5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2Jl
YWNvbi1iYXNpYy5odHRwcy53aW5kb3cuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDcxMTc3MTZhMjhkNTY0NjUz
NjUzODMxZTkwZDFkYThjMDc1YzdhZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1iYXNpYy5odHRwcy53
aW5kb3cuanMKQEAgLTAsMCArMSw5OCBAQAorLy8gTUVUQTogdGltZW91dD1sb25nCisvLyBNRVRB
OiBzY3JpcHQ9L2NvbW1vbi91dGlscy5qcworLy8gTUVUQTogc2NyaXB0PWJlYWNvbi1jb21tb24u
c3ViLmpzCisKKyd1c2Ugc3RyaWN0JzsKKworLy8gVE9ETyh5aGlyYW5vKTogQ2hlY2sgdGhlIHNl
Yy1mZXRjaC1tb2RlIHJlcXVlc3QgaGVhZGVyIG9uY2UgV2ViS2l0IHN1cHBvcnRzCisvLyB0aGUg
ZmVhdHVyZS4KKworcGFyYWxsZWxQcm9taXNlVGVzdChhc3luYyAodCkgPT4geworICBjb25zdCBp
ZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChpZnJhbWUpOworICB0LmFkZF9jbGVhbnVwKCgpID0+IGlmcmFtZS5yZW1v
dmUoKSk7CisKKyAgY29uc3QgaWQgPSB0b2tlbigpOworICBjb25zdCB1cmwgPSBgL2JlYWNvbi9y
ZXNvdXJjZXMvYmVhY29uLnB5P2NtZD1zdG9yZSZpZD0ke2lkfWA7CisgIGFzc2VydF90cnVlKGlm
cmFtZS5jb250ZW50V2luZG93Lm5hdmlnYXRvci5zZW5kQmVhY29uKHVybCkpOworICBpZnJhbWUu
cmVtb3ZlKCk7CisKKyAgY29uc3QgcmVzdWx0ID0gYXdhaXQgd2FpdEZvclJlc3VsdChpZCk7Cisg
IGFzc2VydF9lcXVhbHMocmVzdWx0LnR5cGUsICcobWlzc2luZyknLCAnY29udGVudC10eXBlJyk7
Cit9LCBgc2ltcGxlIGNhc2U6IHdpdGggbm8gcGF5bG9hZGApOworCitwYXJhbGxlbFByb21pc2VU
ZXN0KGFzeW5jICh0KSA9PiB7CisgIGNvbnN0IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2lmcmFtZScpOworICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7CisgIHQu
YWRkX2NsZWFudXAoKCkgPT4gaWZyYW1lLnJlbW92ZSgpKTsKKworICBjb25zdCBpZCA9IHRva2Vu
KCk7CisgIGNvbnN0IHVybCA9IGAvYmVhY29uL3Jlc291cmNlcy9iZWFjb24ucHk/Y21kPXN0b3Jl
JmlkPSR7aWR9YDsKKyAgYXNzZXJ0X3RydWUoaWZyYW1lLmNvbnRlbnRXaW5kb3cubmF2aWdhdG9y
LnNlbmRCZWFjb24odXJsLCBudWxsKSk7CisgIGlmcmFtZS5yZW1vdmUoKTsKKworICBjb25zdCBy
ZXN1bHQgPSBhd2FpdCB3YWl0Rm9yUmVzdWx0KGlkKTsKKyAgYXNzZXJ0X2VxdWFscyhyZXN1bHQu
dHlwZSwgJyhtaXNzaW5nKScsICdjb250ZW50LXR5cGUnKTsKK30sIGBzaW1wbGUgY2FzZTogd2l0
aCBudWxsIHBheWxvYWRgKTsKKworZm9yIChjb25zdCBzaXplIG9mIFtFTVBUWSwgU01BTEwsIExB
UkdFLCBNQVhdKSB7CisgIGZvciAoY29uc3QgdHlwZSBvZiBbU1RSSU5HLCBBUlJBWUJVRkZFUiwg
Rk9STSwgQkxPQl0pIHsKKyAgICBpZiAoc2l6ZSA9PT0gTUFYICYmIHR5cGUgPT09IEZPUk0pIHsK
KyAgICAgIC8vIEl0IGlzIGRpZmZpY3VsdCB0byBlc3RpbWF0ZSB0aGUgc2l6ZSBvZiBhIGZvcm0g
YWNjdXJhdGVseSwgc28gd2UgY2Fubm90CisgICAgICAvLyB0ZXN0IHRoaXMgY2FzZS4KKyAgICAg
IGNvbnRpbnVlOworICAgIH0KKyAgICBwYXJhbGxlbFByb21pc2VUZXN0KGFzeW5jICh0KSA9PiB7
CisgICAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsK
KyAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKKyAgICAgIHQuYWRkX2Ns
ZWFudXAoKCkgPT4gaWZyYW1lLnJlbW92ZSgpKTsKKworICAgICAgY29uc3QgcGF5bG9hZCA9IG1h
a2VQYXlsb2FkKHNpemUsIHR5cGUpOworICAgICAgY29uc3QgaWQgPSB0b2tlbigpOworICAgICAg
Y29uc3QgdXJsID0gYC9iZWFjb24vcmVzb3VyY2VzL2JlYWNvbi5weT9jbWQ9c3RvcmUmaWQ9JHtp
ZH1gOworICAgICAgYXNzZXJ0X3RydWUoaWZyYW1lLmNvbnRlbnRXaW5kb3cubmF2aWdhdG9yLnNl
bmRCZWFjb24odXJsLCBwYXlsb2FkKSk7CisgICAgICBpZnJhbWUucmVtb3ZlKCk7CisKKyAgICAg
IGNvbnN0IHJlc3VsdCA9IGF3YWl0IHdhaXRGb3JSZXN1bHQoaWQpOworICAgICAgaWYgKGdldENv
bnRlbnRUeXBlKHR5cGUpID09PSBudWxsKSB7CisgICAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0
LnR5cGUsICcobWlzc2luZyknLCAnY29udGVudC10eXBlJyk7CisgICAgICB9IGVsc2UgeworICAg
ICAgICBhc3NlcnRfdHJ1ZShyZXN1bHQudHlwZS5pbmNsdWRlcyhnZXRDb250ZW50VHlwZSh0eXBl
KSksICdjb250ZW50LXR5cGUnKTsKKyAgICAgIH0KKyAgICB9LCBgc2ltcGxlIGNhc2U6IHR5cGUg
PSAke3R5cGV9IGFuZCBzaXplID0gJHtzaXplfWApOworICB9Cit9CisKK2ZvciAoY29uc3QgdHlw
ZSBvZiBbU1RSSU5HLCBBUlJBWUJVRkZFUiwgRk9STSwgQkxPQl0pIHsKKyAgcGFyYWxsZWxQcm9t
aXNlVGVzdChhc3luYyAodCkgPT4geworICAgIGNvbnN0IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2lmcmFtZScpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1l
KTsKKyAgICB0LmFkZF9jbGVhbnVwKCgpID0+IGlmcmFtZS5yZW1vdmUoKSk7CisKKyAgICBjb25z
dCBwYXlsb2FkID0gbWFrZVBheWxvYWQoVE9PTEFSR0UsIHR5cGUpOworICAgIGNvbnN0IGlkID0g
dG9rZW4oKTsKKyAgICBjb25zdCB1cmwgPSBgL2JlYWNvbi9yZXNvdXJjZXMvYmVhY29uLnB5P2Nt
ZD1zdG9yZSZpZD0ke2lkfWA7CisgICAgYXNzZXJ0X2ZhbHNlKGlmcmFtZS5jb250ZW50V2luZG93
Lm5hdmlnYXRvci5zZW5kQmVhY29uKHVybCwgcGF5bG9hZCkpOworICB9LCBgVG9vIGxhcmdlIHBh
eWxvYWQgc2hvdWxkIGJlIHJlamVjdGVkOiB0eXBlID0gJHt0eXBlfWApOworfQorCitmb3IgKGNv
bnN0IHR5cGUgb2YgW1NUUklORywgQVJSQVlCVUZGRVIsIEJMT0JdKSB7CisgIHBhcmFsbGVsUHJv
bWlzZVRlc3QoYXN5bmMgKHQpID0+IHsKKyAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFt
ZSk7CisgICAgdC5hZGRfY2xlYW51cCgoKSA9PiBpZnJhbWUucmVtb3ZlKCkpOworCisgICAgYXNz
ZXJ0X3RydWUoaWZyYW1lLmNvbnRlbnRXaW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24oCisgICAg
ICAgIGAvYmVhY29uL3Jlc291cmNlcy9iZWFjb24ucHk/Y21kPXN0b3JlJmlkPSR7dG9rZW4oKX1g
LAorICAgICAgICBtYWtlUGF5bG9hZChNQVgsIHR5cGUpKSk7CisgICAgYXNzZXJ0X3RydWUoaWZy
YW1lLmNvbnRlbnRXaW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24oCisgICAgICAgIGAvYmVhY29u
L3Jlc291cmNlcy9iZWFjb24ucHk/Y21kPXN0b3JlJmlkPSR7dG9rZW4oKX1gLCAnJykpOworICAg
IGFzc2VydF9mYWxzZShpZnJhbWUuY29udGVudFdpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbigK
KyAgICAgICAgYC9iZWFjb24vcmVzb3VyY2VzL2JlYWNvbi5weT9jbWQ9c3RvcmUmaWQ9JHt0b2tl
bigpfWAsICd4JykpOworICB9LCBgUGF5bG9hZCBzaXplIHJlc3RyaWN0aW9uIHNob3VsZCBiZSBh
Y2N1bXVsYXRlZDogdHlwZSA9ICR7dHlwZX1gKTsKK30KKwordGVzdCgoKSA9PiB7CisgIGFzc2Vy
dF90aHJvd3NfanMoCisgICAgICBUeXBlRXJyb3IsICgpID0+IG5hdmlnYXRvci5zZW5kQmVhY29u
KCcuLi4nLCBuZXcgUmVhZGFibGVTdHJlYW0oKSkpOworfSwgJ3NlbmRCZWFjb24oKSB3aXRoIGEg
c3RyZWFtIGRvZXMgbm90IHdvcmsgZHVlIHRvIHRoZSBrZWVwYWxpdmUgZmxhZyBiZWluZyBzZXQn
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvYmVhY29uL2JlYWNvbi1jb21tb24uc3ViLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWNvbW1vbi5zdWIuanMKaW5kZXggMjc5
YWQyMjI5YmEzZTlmNGMzNDM3MzM4MDljNjBlMzFmY2Q0OTJlOS4uNDY5OTQ5NTQ2MDg0MTBjNTZj
NTZlZGIyYmVjY2U4ZjM4OGVmN2QyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWNvbW1vbi5zdWIuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29u
LWNvbW1vbi5zdWIuanMKQEAgLTEsMTcyICsxLDExMSBAQAotInVzZSBzdHJpY3QiOwotCi0vLyBE
aWZmZXJlbnQgc2l6ZXMgb2YgcGF5bG9hZHMgdG8gdGVzdC4KLXZhciBzbWFsbFBheWxvYWRTaXpl
ID0gMTA7Ci12YXIgbWVkaXVtUGF5bG9hZFNpemUgPSAxMDAwMDsKLXZhciBsYXJnZVBheWxvYWRT
aXplID0gNTAwMDA7Ci12YXIgbWF4UGF5bG9hZFNpemUgPSA2NTUzNjsgLy8gVGhlIG1heGltdW0g
cGF5bG9hZCBzaXplIGFsbG93ZWQgZm9yIGEgYmVhY29uIHJlcXVlc3QuCi0KLS8vIFN0cmluZyBw
YXlsb2FkcyBvZiB2YXJpb3VzIHNpemVzIHNlbnQgYnkgc2VuZGJlYWNvbi4gVGhlIGZvcm1hdCBv
ZiB0aGUgcGF5bG9hZHMgaXMgYSBzdHJpbmc6Ci0vLyAgICAgPG51bWJlck9mQ2hhcmFjdGVycz46
PG51bWJlck9mQ2hhcmFjdGVycyAqJ3M+Ci0vLyAgICAgZXguICIxMDoqKioqKioqKioqIgotdmFy
IHNtYWxsUGF5bG9hZCA9IHNtYWxsUGF5bG9hZFNpemUgKyAiOiIgKyBBcnJheShzbWFsbFBheWxv
YWRTaXplKS5maWxsKCcqJykuam9pbigiIik7Ci12YXIgbWVkaXVtUGF5bG9hZCA9IG1lZGl1bVBh
eWxvYWRTaXplICsgIjoiICsgQXJyYXkobWVkaXVtUGF5bG9hZFNpemUpLmZpbGwoJyonKS5qb2lu
KCIiKTsKLXZhciBsYXJnZVBheWxvYWQgPSBsYXJnZVBheWxvYWRTaXplICsgIjoiICsgQXJyYXko
bGFyZ2VQYXlsb2FkU2l6ZSkuZmlsbCgnKicpLmpvaW4oIiIpOwotLy8gU3VidHJhY3QgNiBmcm9t
IG1heFBheWxvYWRTaXplIGJlY2F1c2UgNjU1MzYgaXMgNSBkaWdpdHMsIHBsdXMgMSBtb3JlIGZv
ciB0aGUgJzonCi12YXIgbWF4UGF5bG9hZCA9IChtYXhQYXlsb2FkU2l6ZSAtIDYpICsgIjoiICsg
QXJyYXkobWF4UGF5bG9hZFNpemUgLSA2KS5maWxsKCcqJykuam9pbigiIikKLQotLy8gVGVzdCBj
YXNlIGRlZmluaXRpb25zLgotLy8gICAgICBuYW1lOiBTdHJpbmcgY29udGFpbmluZyB0aGUgdW5p
cXVlIG5hbWUgb2YgdGhlIHRlc3QgY2FzZS4KLS8vICAgICAgZGF0YTogUGF5bG9hZCBvYmplY3Qg
dG8gc2VuZCB0aHJvdWdoIHNlbmRiZWFjb24uCi12YXIgbm9EYXRhVGVzdCA9IHsgbmFtZTogIk5v
RGF0YSIgfTsKLXZhciBudWxsRGF0YVRlc3QgPSB7IG5hbWU6ICJOdWxsRGF0YSIsIGRhdGE6IG51
bGwgfTsKLXZhciB1bmRlZmluZWREYXRhVGVzdCA9IHsgbmFtZTogIlVuZGVmaW5lZERhdGEiLCBk
YXRhOiB1bmRlZmluZWQgfTsKLXZhciBzbWFsbFN0cmluZ1Rlc3QgPSB7IG5hbWU6ICJTbWFsbFN0
cmluZyIsIGRhdGE6IHNtYWxsUGF5bG9hZCB9OwotdmFyIG1lZGl1bVN0cmluZ1Rlc3QgPSB7IG5h
bWU6ICJNZWRpdW1TdHJpbmciLCBkYXRhOiBtZWRpdW1QYXlsb2FkIH07Ci12YXIgbGFyZ2VTdHJp
bmdUZXN0ID0geyBuYW1lOiAiTGFyZ2VTdHJpbmciLCBkYXRhOiBsYXJnZVBheWxvYWQgfTsKLXZh
ciBtYXhTdHJpbmdUZXN0ID0geyBuYW1lOiAiTWF4U3RyaW5nIiwgZGF0YTogbWF4UGF5bG9hZCB9
OwotdmFyIGVtcHR5QmxvYlRlc3QgPSB7IG5hbWU6ICJFbXB0eUJsb2IiLCBkYXRhOiBuZXcgQmxv
YigpIH07Ci12YXIgc21hbGxCbG9iVGVzdCA9IHsgbmFtZTogIlNtYWxsQmxvYiIsIGRhdGE6IG5l
dyBCbG9iKFtzbWFsbFBheWxvYWRdKSB9OwotdmFyIG1lZGl1bUJsb2JUZXN0ID0geyBuYW1lOiAi
TWVkaXVtQmxvYiIsIGRhdGE6IG5ldyBCbG9iKFttZWRpdW1QYXlsb2FkXSkgfTsKLXZhciBsYXJn
ZUJsb2JUZXN0ID0geyBuYW1lOiAiTGFyZ2VCbG9iIiwgZGF0YTogbmV3IEJsb2IoW2xhcmdlUGF5
bG9hZF0pIH07Ci12YXIgbWF4QmxvYlRlc3QgPSB7IG5hbWU6ICJNYXhCbG9iIiwgZGF0YTogbmV3
IEJsb2IoW21heFBheWxvYWRdKSB9OwotdmFyIGVtcHR5QnVmZmVyU291cmNlVGVzdCA9IHsgbmFt
ZTogIkVtcHR5QnVmZmVyU291cmNlIiwgZGF0YTogbmV3IFVpbnQ4QXJyYXkoKSB9OwotdmFyIHNt
YWxsQnVmZmVyU291cmNlVGVzdCA9IHsgbmFtZTogIlNtYWxsQnVmZmVyU291cmNlIiwgZGF0YTog
Q3JlYXRlQXJyYXlCdWZmZXJGcm9tUGF5bG9hZChzbWFsbFBheWxvYWQpIH07Ci12YXIgbWVkaXVt
QnVmZmVyU291cmNlVGVzdCA9IHsgbmFtZTogIk1lZGl1bUJ1ZmZlclNvdXJjZSIsIGRhdGE6IENy
ZWF0ZUFycmF5QnVmZmVyRnJvbVBheWxvYWQobWVkaXVtUGF5bG9hZCkgfTsKLXZhciBsYXJnZUJ1
ZmZlclNvdXJjZVRlc3QgPSB7IG5hbWU6ICJMYXJnZUJ1ZmZlclNvdXJjZSIsIGRhdGE6IENyZWF0
ZUFycmF5QnVmZmVyRnJvbVBheWxvYWQobGFyZ2VQYXlsb2FkKSB9OwotdmFyIG1heEJ1ZmZlclNv
dXJjZVRlc3QgPSB7IG5hbWU6ICJNYXhCdWZmZXJTb3VyY2UiLCBkYXRhOiBDcmVhdGVBcnJheUJ1
ZmZlckZyb21QYXlsb2FkKG1heFBheWxvYWQpIH07Ci12YXIgZW1wdHlGb3JtRGF0YVRlc3QgPSB7
IG5hbWU6ICJFbXB0eUZvcm1EYXRhIiwgZGF0YTogQ3JlYXRlRW1wdHlGb3JtRGF0YVBheWxvYWQo
KSB9OwotdmFyIHNtYWxsRm9ybURhdGFUZXN0ID0geyBuYW1lOiAiU21hbGxGb3JtRGF0YSIsIGRh
dGE6IENyZWF0ZUZvcm1EYXRhRnJvbVBheWxvYWQoc21hbGxQYXlsb2FkKSB9OwotdmFyIG1lZGl1
bUZvcm1EYXRhVGVzdCA9IHsgbmFtZTogIk1lZGl1bUZvcm1EYXRhIiwgZGF0YTogQ3JlYXRlRm9y
bURhdGFGcm9tUGF5bG9hZChtZWRpdW1QYXlsb2FkKSB9OwotdmFyIGxhcmdlRm9ybURhdGFUZXN0
ID0geyBuYW1lOiAiTGFyZ2VGb3JtRGF0YSIsIGRhdGE6IENyZWF0ZUZvcm1EYXRhRnJvbVBheWxv
YWQobGFyZ2VQYXlsb2FkKSB9OwotdmFyIHNtYWxsU2FmZUNvbnRlbnRUeXBlRW5jb2RlZFRlc3Qg
PSB7IG5hbWU6ICJTbWFsbFNhZmVDb250ZW50VHlwZUVuY29kZWQiLCBkYXRhOiBuZXcgQmxvYihb
c21hbGxQYXlsb2FkXSwgeyB0eXBlOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVk
JyB9KSB9OwotdmFyIHNtYWxsU2FmZUNvbnRlbnRUeXBlRm9ybVRlc3QgPSB7IG5hbWU6ICJTbWFs
bFNhZmVDb250ZW50VHlwZUZvcm0iLCBkYXRhOiBuZXcgRm9ybURhdGEoKSB9OwotdmFyIHNtYWxs
U2FmZUNvbnRlbnRUeXBlVGV4dFRlc3QgPSB7IG5hbWU6ICJTbWFsbFNhZmVDb250ZW50VHlwZVRl
eHQiLCBkYXRhOiBuZXcgQmxvYihbc21hbGxQYXlsb2FkXSwgeyB0eXBlOiAndGV4dC9wbGFpbicg
fSkgfTsKLXZhciBzbWFsbENPUlNDb250ZW50VHlwZVRleHRUZXN0ID0geyBuYW1lOiAiU21hbGxD
T1JTQ29udGVudFR5cGVUZXh0IiwgZGF0YTogbmV3IEJsb2IoW3NtYWxsUGF5bG9hZF0sIHsgdHlw
ZTogJ3RleHQvaHRtbCcgfSkgfTsKLS8vIFdlIGRvbid0IHRlc3QgbWF4Rm9ybURhdGEgYmVjYXVz
ZSB0aGUgZXh0cmEgbXVsdGlwYXJ0IHNlcGFyYXRvcnMgbWFrZSBpdCBkaWZmaWN1bHQgdG8KLS8v
IGNhbGN1bGF0ZSBhIG1heFBheWxvYWQuCi0KLS8vIFRlc3QgY2FzZSBzdWl0ZXMuCi0vLyBEdWUg
dG8gcXVvdGEgbGltaXRzIHdlIHNwbGl0IHRoZSBtYXggcGF5bG9hZCB0ZXN0cyBpbnRvIHRoZWly
IG93biBidWNrZXQuCi12YXIgc3RyaW5nVGVzdHMgPSBbbm9EYXRhVGVzdCwgbnVsbERhdGFUZXN0
LCB1bmRlZmluZWREYXRhVGVzdCwgc21hbGxTdHJpbmdUZXN0LCBtZWRpdW1TdHJpbmdUZXN0LCBs
YXJnZVN0cmluZ1Rlc3RdOwotdmFyIHN0cmluZ01heFRlc3QgPSBbbWF4U3RyaW5nVGVzdF07Ci12
YXIgYmxvYlRlc3RzID0gW2VtcHR5QmxvYlRlc3QsIHNtYWxsQmxvYlRlc3QsIG1lZGl1bUJsb2JU
ZXN0LCBsYXJnZUJsb2JUZXN0XTsKLXZhciBibG9iTWF4VGVzdCA9IFttYXhCbG9iVGVzdF07Ci12
YXIgYnVmZmVyU291cmNlVGVzdHMgPSBbZW1wdHlCdWZmZXJTb3VyY2VUZXN0LCBzbWFsbEJ1ZmZl
clNvdXJjZVRlc3QsIG1lZGl1bUJ1ZmZlclNvdXJjZVRlc3QsIGxhcmdlQnVmZmVyU291cmNlVGVz
dF07Ci12YXIgYnVmZmVyU291cmNlTWF4VGVzdCA9IFttYXhCdWZmZXJTb3VyY2VUZXN0XTsKLXZh
ciBmb3JtRGF0YVRlc3RzID0gW2VtcHR5Rm9ybURhdGFUZXN0LCBzbWFsbEZvcm1EYXRhVGVzdCwg
bWVkaXVtRm9ybURhdGFUZXN0LCBsYXJnZUZvcm1EYXRhVGVzdF07Ci12YXIgZm9ybURhdGFNYXhU
ZXN0ID0gW2xhcmdlRm9ybURhdGFUZXN0XTsKLXZhciBjb250ZW50VHlwZVRlc3RzID0gW3NtYWxs
U2FmZUNvbnRlbnRUeXBlRW5jb2RlZFRlc3Qsc21hbGxTYWZlQ29udGVudFR5cGVGb3JtVGVzdCxz
bWFsbFNhZmVDb250ZW50VHlwZVRleHRUZXN0LHNtYWxsQ09SU0NvbnRlbnRUeXBlVGV4dFRlc3Rd
OwotdmFyIGFsbFRlc3RzID0gW10uY29uY2F0KHN0cmluZ1Rlc3RzLCBzdHJpbmdNYXhUZXN0LCBi
bG9iVGVzdHMsIGJsb2JNYXhUZXN0LCBidWZmZXJTb3VyY2VUZXN0cywgYnVmZmVyU291cmNlTWF4
VGVzdCwgZm9ybURhdGFUZXN0cywgZm9ybURhdGFNYXhUZXN0LCBjb250ZW50VHlwZVRlc3RzKTsK
LQotLy8gVGhpcyBzcGVjaWFsIGNyb3NzIHNlY3Rpb24gb2YgdGVzdCBjYXNlcyBpcyBtZWFudCB0
byBwcm92aWRlIGEgc2xpbW1lciBidXQgcmVhc29uYWJseS0KLS8vIHJlcHJlc2VudGF0aXZlIHNl
dCBvZiB0ZXN0cyBmb3IgcGFyYW1ldGVyaXphdGlvbiBhY3Jvc3MgdmFyaWFibGVzIChlLmcuIHJl
ZGlyZWN0IGNvZGVzLAotLy8gY29ycyBtb2RlcywgZXRjLikKLXZhciBzYW1wbGVUZXN0cyA9IFtu
b0RhdGFUZXN0LCBudWxsRGF0YVRlc3QsIHVuZGVmaW5lZERhdGFUZXN0LCBzbWFsbFN0cmluZ1Rl
c3QsIHNtYWxsQmxvYlRlc3QsIHNtYWxsQnVmZmVyU291cmNlVGVzdCwgc21hbGxGb3JtRGF0YVRl
c3QsIHNtYWxsU2FmZUNvbnRlbnRUeXBlRW5jb2RlZFRlc3QsIHNtYWxsU2FmZUNvbnRlbnRUeXBl
Rm9ybVRlc3QsIHNtYWxsU2FmZUNvbnRlbnRUeXBlVGV4dFRlc3RdOwotCi12YXIgcHJlZmxpZ2h0
VGVzdHMgPSBbc21hbGxDT1JTQ29udGVudFR5cGVUZXh0VGVzdF07Ci0KLS8vIEhlbHBlciBmdW5j
dGlvbiB0byBjcmVhdGUgYW4gQXJyYXlCdWZmZXIgcmVwcmVzZW50YXRpb24gb2YgYSBzdHJpbmcu
Ci1mdW5jdGlvbiBDcmVhdGVBcnJheUJ1ZmZlckZyb21QYXlsb2FkKHBheWxvYWQpIHsKLSAgICB2
YXIgbGVuZ3RoID0gcGF5bG9hZC5sZW5ndGg7Ci0gICAgdmFyIGJ1ZmZlciA9IG5ldyBVaW50OEFy
cmF5KGxlbmd0aCk7Ci0KLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7Ci0g
ICAgICAgIGJ1ZmZlcltpXSA9IHBheWxvYWQuY2hhckNvZGVBdChpKTsKLSAgICB9Ci0KLSAgICBy
ZXR1cm4gYnVmZmVyOwotfQotCi0vLyBIZWxwZXIgZnVuY3Rpb24gdG8gY3JlYXRlIGFuIGVtcHR5
IEZvcm1EYXRhIG9iamVjdC4KLWZ1bmN0aW9uIENyZWF0ZUVtcHR5Rm9ybURhdGFQYXlsb2FkKCkg
ewotICAgIGlmIChzZWxmLmRvY3VtZW50ID09PSB1bmRlZmluZWQpIHsKLSAgICAgICAgcmV0dXJu
IG51bGw7Ci0gICAgfQotCi0gICAgcmV0dXJuIG5ldyBGb3JtRGF0YSgpOwotfQotCi0vLyBIZWxw
ZXIgZnVuY3Rpb24gdG8gY3JlYXRlIGEgRm9ybURhdGEgcmVwcmVzZW50YXRpb24gb2YgYSBzdHJp
bmcuCi1mdW5jdGlvbiBDcmVhdGVGb3JtRGF0YUZyb21QYXlsb2FkKHBheWxvYWQpIHsKLSAgICBp
ZiAoc2VsZi5kb2N1bWVudCA9PT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgIHJldHVybiBudWxsOwot
ICAgIH0KLQotICAgIHZhciBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpOwotICAgIGZvcm1EYXRh
LmFwcGVuZCgicGF5bG9hZCIsIHBheWxvYWQpOwotICAgIHJldHVybiBmb3JtRGF0YTsKKyd1c2Ug
c3RyaWN0JzsKKworY29uc3QgRU1QVFkgPSAnZW1wdHknOworY29uc3QgU01BTEwgPSAnc21hbGwn
OworY29uc3QgTEFSR0UgPSAnbGFyZ2UnOworY29uc3QgTUFYID0gJ21heCc7Citjb25zdCBUT09M
QVJHRSA9ICd0b29sYXJnZSc7CisKK2NvbnN0IFNUUklORyA9ICdzdHJpbmcnOworY29uc3QgQVJS
QVlCVUZGRVIgPSAnYXJyYXlidWZmZXInOworY29uc3QgRk9STSA9ICdmb3JtJzsKK2NvbnN0IEJM
T0IgPSAnYmxvYic7CisKK2Z1bmN0aW9uIGdldENvbnRlbnRUeXBlKHR5cGUpIHsKKyAgc3dpdGNo
ICh0eXBlKSB7CisgICAgY2FzZSBTVFJJTkc6CisgICAgICByZXR1cm4gJ3RleHQvcGxhaW47Y2hh
cnNldD1VVEYtOCc7CisgICAgY2FzZSBBUlJBWUJVRkZFUjoKKyAgICAgIHJldHVybiBudWxsOwor
ICAgIGNhc2UgRk9STToKKyAgICAgIHJldHVybiAnbXVsdGlwYXJ0L2Zvcm0tZGF0YSc7CisgICAg
Y2FzZSBCTE9COgorICAgICAgcmV0dXJuIG51bGw7CisgICAgZGVmYXVsdDoKKyAgICAgIHRocm93
IEVycm9yKGBpbnZhbGlkIHR5cGU6ICR7dHlwZX1gKTsKKyAgfQogfQogCi0vLyBTY2hlZHVsZXMg
cHJvbWlzZV90ZXN0J3MgZm9yIGVhY2ggb2YgdGhlIHRlc3QgY2FzZXMuCi0vLyBQYXJhbWV0ZXJz
OgotLy8gICAgIHRlc3RDYXNlczogQW4gYXJyYXkgb2YgdGVzdCBjYXNlcy4KLS8vICAgICBzdWZm
aXggW29wdGlvbmFsXTogQSBzdHJpbmcgdXNlZCBmb3IgdGhlIHN1ZmZpeCBmb3IgZWFjaCB0ZXN0
IGNhc2UgbmFtZS4KLS8vICAgICBidWlsZFVybCBbb3B0aW9uYWxdOiBBIGZ1bmN0aW9uIHRoYXQg
cmV0dXJucyBhIGJlYWNvbiBVUkwgZ2l2ZW4gYW4gaWQuCi0vLyAgICAgc2VuZERhdGEgW29wdGlv
bmFsXTogQSBmdW5jdGlvbiB0aGF0IHNlbmRzIHRoZSBiZWFjb24gd2l0aCBnaXZlbiBhIFVSTCBh
bmQgcGF5bG9hZC4KLWZ1bmN0aW9uIHJ1blRlc3RzKHRlc3RDYXNlcywgc3VmZml4ID0gJycsIGJ1
aWxkVXJsID0gc2VsZi5idWlsZFVybCwgc2VuZERhdGEgPSBzZWxmLnNlbmREYXRhKSB7Ci0gICAg
Zm9yIChjb25zdCB0ZXN0Q2FzZSBvZiB0ZXN0Q2FzZXMpIHsKLSAgICAgICAgY29uc3QgaWQgPSB0
b2tlbigpOwotICAgICAgICBwcm9taXNlX3Rlc3QoKHRlc3QpID0+IHsKLSAgICAgICAgICAgIGNv
bnN0IHVybCA9IGJ1aWxkVXJsKGlkKTsKLSAgICAgICAgICAgIGFzc2VydF90cnVlKHNlbmREYXRh
KHVybCwgdGVzdENhc2UuZGF0YSksICdzZW5kQmVhY29uIHNob3VsZCBzdWNjZWVkJyk7Ci0gICAg
ICAgICAgICByZXR1cm4gd2FpdEZvclJlc3VsdChpZCk7Ci0gICAgICAgIH0sIGBWZXJpZnkgJ25h
dmlnYXRvci5zZW5kYmVhY29uKCknIHN1Y2Nlc3NmdWxseSBzZW5kcyBmb3IgdmFyaWFudDogJHt0
ZXN0Q2FzZS5uYW1lfSR7c3VmZml4fWApOwotICAgIH07CisvLyBDcmVhdGUgYSBwYXlsb2FkIHdp
dGggdGhlIGdpdmVuIHNpemUgYW5kIHR5cGUuCisvLyBgc2l6ZVN0cmluZ2AgbXVzdCBiZSBvbmUg
b2YgRU1QVFksIFNNQUxMLCBMQVJHRSwgTUFYLCBUT09MQVJHRS4KKy8vIGB0eXBlYCBtdXN0IGJl
IG9uZSBvZiBTVFJJTkcsIEFSUkFZQlVGRkVSLCBGT1JNLCBCTE9CLgorLy8gYGNvbnRlbnRUeXBl
YCBpcyBlZmZlY3RpdmUgb25seSBpZiBgdHlwZWAgaXMgQkxPQi4KK2Z1bmN0aW9uIG1ha2VQYXls
b2FkKHNpemVTdHJpbmcsIHR5cGUsIGNvbnRlbnRUeXBlKSB7CisgIGxldCBzaXplID0gMDsKKyAg
c3dpdGNoIChzaXplU3RyaW5nKSB7CisgICAgY2FzZSBFTVBUWToKKyAgICAgIHNpemUgPSAwOwor
ICAgICAgYnJlYWs7CisgICAgY2FzZSBTTUFMTDoKKyAgICAgIHNpemUgPSAxMDsKKyAgICAgIGJy
ZWFrOworICAgIGNhc2UgTEFSR0U6CisgICAgICBzaXplID0gMTAgKiAxMDAwOworICAgICAgYnJl
YWs7CisgICAgY2FzZSBNQVg6CisgICAgICBpZiAodHlwZSA9PT0gRk9STSkgeworICAgICAgICB0
aHJvdyBFcnJvcignTm90IHN1cHBvcnRlZCcpOworICAgICAgfQorICAgICAgc2l6ZSA9IDY1NTM2
OworICAgICAgYnJlYWs7CisgICAgY2FzZSBUT09MQVJHRToKKyAgICAgIHNpemUgPSA2NTUzNzsK
KyAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICB0aHJvdyBFcnJvcignaW52YWxpZCBz
aXplJyk7CisgIH0KKworICBsZXQgZGF0YSA9ICcnOworICBpZiAoc2l6ZSA+IDApIHsKKyAgICBj
b25zdCBwcmVmaXggPSBTdHJpbmcoc2l6ZSkgKyAnOic7CisgICAgZGF0YSA9IHByZWZpeCArIEFy
cmF5KHNpemUgLSBwcmVmaXgubGVuZ3RoKS5maWxsKCcqJykuam9pbignJyk7CisgIH0KKworICBz
d2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIFNUUklORzoKKyAgICAgIHJldHVybiBkYXRhOworICAg
IGNhc2UgQVJSQVlCVUZGRVI6CisgICAgICByZXR1cm4gbmV3IFRleHRFbmNvZGVyKCkuZW5jb2Rl
KGRhdGEpLmJ1ZmZlcjsKKyAgICBjYXNlIEZPUk06CisgICAgICBjb25zdCBmb3JtRGF0YSA9IG5l
dyBGb3JtRGF0YSgpOworICAgICAgaWYgKHNpemUgPiAwKSB7CisgICAgICAgIGZvcm1EYXRhLmFw
cGVuZCgncGF5bG9hZCcsIGRhdGEpOworICAgICAgfQorICAgICAgcmV0dXJuIGZvcm1EYXRhOwor
ICAgIGNhc2UgQkxPQjoKKyAgICAgIGNvbnN0IG9wdGlvbnMgPSBjb250ZW50VHlwZSA/IHt0eXBl
OiBjb250ZW50VHlwZX0gOiB1bmRlZmluZWQ7CisgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2Io
W2RhdGFdLCBvcHRpb25zKTsKKyAgICAgIHJldHVybiBibG9iOworICAgIGRlZmF1bHQ6CisgICAg
ICB0aHJvdyBFcnJvcignaW52YWxpZCB0eXBlJyk7CisgIH0KIH0KIAotZnVuY3Rpb24gYnVpbGRV
cmwoaWQpIHsKLSAgICBjb25zdCBiYXNlVXJsID0gImh0dHA6Ly97e2hvc3R9fTp7e3BvcnRzW2h0
dHBdWzBdfX0iOwotICAgIHJldHVybiBgJHtiYXNlVXJsfS9iZWFjb24vcmVzb3VyY2VzL2JlYWNv
bi5weT9jbWQ9c3RvcmUmaWQ9JHtpZH1gOwotfQotCi0vLyBTZW5kcyB0aGUgYmVhY29uIGZvciBh
IHNpbmdsZSB0ZXN0LiBUaGlzIHN0ZXAgaXMgZmFjdG9yZWQgaW50byBpdHMgb3duIGZ1bmN0aW9u
IHNvIHRoYXQKLS8vIGl0IGNhbiBiZSBjYWxsZWQgZnJvbSBhIHdlYiB3b3JrZXIuIEl0IGRvZXMg
bm90IGNoZWNrIGZvciByZXN1bHRzLgotLy8gTm90ZTogZG8gbm90IGFzc2VydCBmcm9tIHRoaXMg
bWV0aG9kLCBhcyB3aGVuIGNhbGxlZCBmcm9tIGEgd29ya2VyLCB3ZSB3b24ndCBoYXZlIHRoZQot
Ly8gZnVsbCB0ZXN0aGFybmVzcy5qcyB0ZXN0IGNvbnRleHQuIEluc3RlYWQgcmV0dXJuICdmYWxz
ZScsIGFuZCB0aGUgbWFpbiBzY29wZSB3aWxsIGZhaWwKLS8vIHRoZSB0ZXN0LgotLy8gUmV0dXJu
cyB0aGUgcmVzdWx0IG9mIHRoZSAnc2VuZGJlYWNvbigpJyBmdW5jdGlvbiBjYWxsLCB0cnVlIG9y
IGZhbHNlLgotZnVuY3Rpb24gc2VuZERhdGEodXJsLCBwYXlsb2FkKSB7Ci0gICAgcmV0dXJuIHNl
bGYubmF2aWdhdG9yLnNlbmRCZWFjb24odXJsLCBwYXlsb2FkKTsKK2Z1bmN0aW9uIHBhcmFsbGVs
UHJvbWlzZVRlc3QoZnVuYywgZGVzY3JpcHRpb24pIHsKKyAgYXN5bmNfdGVzdCgodCkgPT4gewor
ICAgIFByb21pc2UucmVzb2x2ZShmdW5jKHQpKS50aGVuKCgpID0+IHQuZG9uZSgpKS5jYXRjaCh0
LnN0ZXBfZnVuYygoZSkgPT4geworICAgICAgdGhyb3cgZTsKKyAgICB9KSk7CisgIH0sIGRlc2Ny
aXB0aW9uKTsKIH0KIAogLy8gUG9sbCB0aGUgc2VydmVyIGZvciB0aGUgdGVzdCByZXN1bHQuCi1h
c3luYyBmdW5jdGlvbiB3YWl0Rm9yUmVzdWx0KGlkKSB7Ci0gICAgY29uc3QgdXJsID0gYHJlc291
cmNlcy9iZWFjb24ucHk/Y21kPXN0YXQmaWQ9JHtpZH1gOwotICAgIGZvciAobGV0IGkgPSAwOyBp
IDwgMzA7ICsraSkgewotICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCk7
Ci0gICAgICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7Ci0gICAgICAgIGNv
bnN0IHJlc3VsdHMgPSBKU09OLnBhcnNlKHRleHQpOwotCi0gICAgICAgIGlmIChyZXN1bHRzLmxl
bmd0aCA9PT0gMCkgewotICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc3Rl
cF90aW1lb3V0KHJlc29sdmUsIDEwMCkpOwotICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9
Ci0gICAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0cy5sZW5ndGgsIDEsIGBiYWQgcmVzcG9uc2U6
ICcke3RleHR9J2ApOzsKLSAgICAgICAgLy8gbnVsbCBKU09OIHZhbHVlcyBwYXJzZSBhcyBudWxs
LCBub3QgdW5kZWZpbmVkCi0gICAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0c1swXS5lcnJvciwg
bnVsbCwgIidzZW5kYmVhY29uJyBkYXRhIG11c3Qgbm90IGZhaWwgdmFsaWRhdGlvbiIpOwotICAg
ICAgICByZXR1cm47Cithc3luYyBmdW5jdGlvbiB3YWl0Rm9yUmVzdWx0KGlkLCBleHBlY3RlZEVy
cm9yID0gbnVsbCkgeworICBjb25zdCB1cmwgPSBgL2JlYWNvbi9yZXNvdXJjZXMvYmVhY29uLnB5
P2NtZD1zdGF0JmlkPSR7aWR9YDsKKyAgZm9yIChsZXQgaSA9IDA7IGkgPCAzMDsgKytpKSB7Cisg
ICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwpOworICAgIGNvbnN0IHRleHQgPSBh
d2FpdCByZXNwb25zZS50ZXh0KCk7CisgICAgY29uc3QgcmVzdWx0cyA9IEpTT04ucGFyc2UodGV4
dCk7CisKKyAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDApIHsKKyAgICAgIGF3YWl0IG5ldyBQ
cm9taXNlKHJlc29sdmUgPT4gc3RlcF90aW1lb3V0KHJlc29sdmUsIDEwMCkpOworICAgICAgY29u
dGludWU7CiAgICAgfQotICAgIGFzc2VydF90cnVlKGZhbHNlLCAndGltZW91dCcpOwotfQotCi0v
LyBDcmVhdGVzIGFuIGlmcmFtZSBvbiB0aGUgZG9jdW1lbnQncyBib2R5IGFuZCBydW5zIHRoZSBz
YW1wbGUgdGVzdHMgZnJvbSB0aGUgaWZyYW1lLgotLy8gVGhlIGlmcmFtZSBpcyBuYXZpZ2F0ZWQg
aW1tZWRpYXRlbHkgYWZ0ZXIgaXQgc2VuZHMgdGhlIGRhdGEsIGFuZCB0aGUgd2luZG93IHZlcmlm
aWVzCi0vLyB0aGF0IHRoZSBkYXRhIGlzIHN0aWxsIHN1Y2Nlc3NmdWxseSBzZW50LgotZnVuY3Rp
b24gcnVuU2VuZEluSWZyYW1lQW5kTmF2aWdhdGVUZXN0cygpIHsKLSAgICB2YXIgaWZyYW1lID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgaWZyYW1lLmlkID0gImlmcmFt
ZSI7Ci0gICAgaWZyYW1lLm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgICAgICAvLyBDbGVhciBv
dXIgb25sb2FkIGhhbmRsZXIgdG8gcHJldmVudCByZS1ydW5uaW5nIHRoZSB0ZXN0cyBhcyB3ZSBu
YXZpZ2F0ZSBhd2F5LgotICAgICAgICBpZnJhbWUub25sb2FkID0gbnVsbDsKLSAgICAgICAgZnVu
Y3Rpb24gc2VuZERhdGEodXJsLCBwYXlsb2FkKSB7Ci0gICAgICAgICAgICByZXR1cm4gaWZyYW1l
LmNvbnRlbnRXaW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24odXJsLCBwYXlsb2FkKTsKLSAgICAg
ICAgfQotICAgICAgICBydW5UZXN0cyhzYW1wbGVUZXN0cywgJy1OQVZJR0FURScsIHNlbGYuYnVp
bGRVcmwsIHNlbmREYXRhKTsKLSAgICAgICAgLy8gTm93IG5hdmlnYXRlIG91cnNlbHZlcy4KLSAg
ICAgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb24gPSAiaHR0cDovL3t7aG9zdH19Ont7
cG9ydHNbaHR0cF1bMF19fS8iOwotICAgIH07Ci0KLSAgICBpZnJhbWUuc3JjZG9jID0gJzxodG1s
PjwvaHRtbD4nOwotICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKKyAgICBh
c3NlcnRfZXF1YWxzKHJlc3VsdHMubGVuZ3RoLCAxLCBgYmFkIHJlc3BvbnNlOiAnJHt0ZXh0fSdg
KTsKKyAgICBjb25zdCByZXN1bHQgPSByZXN1bHRzWzBdOworICAgIC8vIG51bGwgSlNPTiB2YWx1
ZXMgcGFyc2UgYXMgbnVsbCwgbm90IHVuZGVmaW5lZAorICAgIGFzc2VydF9lcXVhbHMocmVzdWx0
LmVycm9yLCBleHBlY3RlZEVycm9yLCAnZXJyb3IgcmVjb3JkZWQgaW4gc3Rhc2gnKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworICB9CisgIGFzc2VydF90cnVlKGZhbHNlLCAndGltZW91dCcpOwogfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9i
ZWFjb24vYmVhY29uLWNvcnMuaHR0cHMud2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1jb3JzLmh0dHBz
LndpbmRvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2NjYTgxZTE2ODc2NmJjZWVlMmY4OWM4
OTgyYmY1MGY3N2Q0ZTE2OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1jb3JzLmh0dHBzLndpbmRvdy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorCitQQVNTIC9jb21tb24vcmVkaXJlY3QucHkg
ZG9lcyBub3Qgc3VwcG9ydCBDT1JTCitQQVNTIGNyb3NzLW9yaWdpbiwgQ09SUy1zYWZlbGlzdGVk
OiB0eXBlID0gc3RyaW5nCitGQUlMIGNyb3NzLW9yaWdpbiwgQ09SUy1zYWZlbGlzdGVkOiB0eXBl
ID0gYXJyYXlidWZmZXIgYXNzZXJ0X3RydWU6IHRpbWVvdXQgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKK1BBU1MgY3Jvc3Mtb3JpZ2luLCBDT1JTLXNhZmVsaXN0ZWQ6IHR5cGUgPSBmb3JtCitGQUlM
IGNyb3NzLW9yaWdpbiwgQ09SUy1zYWZlbGlzdGVkOiB0eXBlID0gYmxvYiBhc3NlcnRfdHJ1ZTog
dGltZW91dCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBjcm9zcy1vcmlnaW4sIG5vbi1D
T1JTLXNhZmVsaXN0ZWQ6IGZhaWx1cmUgY2FzZSAod2l0aCByZWRpcmVjdCkKK1BBU1MgY3Jvc3Mt
b3JpZ2luLCBub24tQ09SUy1zYWZlbGlzdGVkOiBmYWlsdXJlIGNhc2UgKHdpdGhvdXQgcmVkaXJl
Y3QpCitQQVNTIGNyb3NzLW9yaWdpbiwgbm9uLUNPUlMtc2FmZWxpc3RlZFtjcmVkZW50aWFscz1m
YWxzZV0KK1BBU1MgY3Jvc3Mtb3JpZ2luLCBub24tQ09SUy1zYWZlbGlzdGVkW2NyZWRlbnRpYWxz
PXRydWVdCitQQVNTIGNyb3NzLW9yaWdpbiwgbm9uLUNPUlMtc2FmZWxpc3RlZCBzdWNjZXNzLWNh
c2UgKHdpdGggcmVkaXJlY3QpCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1jb3JzLmh0dHBzLndpbmRvdy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVh
Y29uLWNvcnMuaHR0cHMud2luZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1
ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1jb3JzLmh0dHBzLndp
bmRvdy5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBX
ZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1jb3JzLmh0dHBzLndpbmRv
dy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29u
L2JlYWNvbi1jb3JzLmh0dHBzLndpbmRvdy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZjI4MmEyM2IxNTNkNTEy
ZjVjZjUxYjFkYWYyNTUyOWQ1MTI4MTg1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWNvcnMuaHR0cHMu
d2luZG93LmpzCkBAIC0wLDAgKzEsMTMyIEBACisvLyBNRVRBOiB0aW1lb3V0PWxvbmcKKy8vIE1F
VEE6IHNjcmlwdD0vY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzCisvLyBNRVRBOiBzY3JpcHQ9
L2NvbW1vbi91dGlscy5qcworLy8gTUVUQTogc2NyaXB0PWJlYWNvbi1jb21tb24uc3ViLmpzCisK
Kyd1c2Ugc3RyaWN0JzsKKworY29uc3Qge0hUVFBTX09SSUdJTiwgT1JJR0lOLCBIVFRQU19SRU1P
VEVfT1JJR0lOfSA9IGdldF9ob3N0X2luZm8oKTsKKworLy8gQXMgL2NvbW1vbi9yZWRpcmVjdC5w
eSBpcyBub3QgdW5kZXIgb3VyIGNvbnRyb2wsIGxldCdzIG1ha2Ugc3VyZSB0aGF0CisvLyBpdCBk
b2Vzbid0IHN1cHBvcnQgQ09SUy4KK3BhcmFsbGVsUHJvbWlzZVRlc3QoYXN5bmMgKHQpID0+IHsK
KyAgY29uc3QgZGVzdGluYXRpb24gPSBgJHtIVFRQU19SRU1PVEVfT1JJR0lOfS9jb21tb24vdGV4
dC1wbGFpbi50eHRgICsKKyAgICAgIGA/cGlwZT1oZWFkZXIoYWNjZXNzLWNvbnRyb2wtYWxsb3ct
b3JpZ2luLCopYDsKKyAgY29uc3QgcmVkaXJlY3QgPSBgJHtIVFRQU19SRU1PVEVfT1JJR0lOfS9j
b21tb24vcmVkaXJlY3QucHlgICsKKyAgICAgIGA/bG9jYXRpb249JHtlbmNvZGVVUklDb21wb25l
bnQoZGVzdGluYXRpb24pfWA7CisKKyAgLy8gRmV0Y2hpbmcgYGRlc3RpbmF0aW9uYCBpcyBmaW5l
IGJlY2F1c2UgaXQgc3VwcG9ydHMgQ09SUy4KKyAgYXdhaXQgZmV0Y2goZGVzdGluYXRpb24pOwor
CisgIC8vIEZldGNoaW5nIHJlZGlyZWN0LnB5IHNob3VsZCBmYWlsIGJlY2F1c2UgaXQgZG9lc24n
dCBzdXBwb3J0IENPUlMuCisgIGF3YWl0IHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3Is
IGZldGNoKHJlZGlyZWN0KSk7Cit9LCAnL2NvbW1vbi9yZWRpcmVjdC5weSBkb2VzIG5vdCBzdXBw
b3J0IENPUlMnKTsKKworZm9yIChjb25zdCB0eXBlIG9mIFtTVFJJTkcsIEFSUkFZQlVGRkVSLCBG
T1JNLCBCTE9CXSkgeworICBwYXJhbGxlbFByb21pc2VUZXN0KGFzeW5jICh0KSA9PiB7CisgICAg
Y29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CisgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOworICAgIHQuYWRkX2NsZWFudXAoKCkgPT4g
aWZyYW1lLnJlbW92ZSgpKTsKKworICAgIGNvbnN0IHBheWxvYWQgPSBtYWtlUGF5bG9hZChTTUFM
TCwgdHlwZSk7CisgICAgY29uc3QgaWQgPSB0b2tlbigpOworICAgIC8vIEFzIHdlIHVzZSAibm8t
Y29ycyIgZm9yIENPUlMtc2FmZWxpc3RlZCByZXF1ZXN0cywgdGhlIHJlZGlyZWN0IGlzCisgICAg
Ly8gcHJvY2Vzc2VkIHdpdGhvdXQgYW4gZXJyb3Igd2hpbGUgdGhlIHJlcXVlc3QgaXMgY3Jvc3Mt
b3JpZ2luIGFuZCB0aGUKKyAgICAvLyByZWRpcmVjdCBoYW5kbGVyIGRvZXNuJ3Qgc3VwcG9ydCBD
T1JTLgorICAgIGNvbnN0IGRlc3RpbmF0aW9uID0KKyAgICAgICAgYCR7SFRUUFNfUkVNT1RFX09S
SUdJTn0vYmVhY29uL3Jlc291cmNlcy9iZWFjb24ucHk/Y21kPXN0b3JlJmlkPSR7aWR9YDsKKyAg
ICBjb25zdCB1cmwgPSBgJHtIVFRQU19SRU1PVEVfT1JJR0lOfS9jb21tb24vcmVkaXJlY3QucHlg
ICsKKyAgICAgICAgYD9zdGF0dXM9MzA3JmxvY2F0aW9uPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGRl
c3RpbmF0aW9uKX1gOworCisgICAgYXNzZXJ0X3RydWUoaWZyYW1lLmNvbnRlbnRXaW5kb3cubmF2
aWdhdG9yLnNlbmRCZWFjb24odXJsLCBwYXlsb2FkKSk7CisgICAgaWZyYW1lLnJlbW92ZSgpOwor
CisgICAgYXdhaXQgd2FpdEZvclJlc3VsdChpZCk7CisgIH0sIGBjcm9zcy1vcmlnaW4sIENPUlMt
c2FmZWxpc3RlZDogdHlwZSA9ICR7dHlwZX1gKTsKK30KKworcGFyYWxsZWxQcm9taXNlVGVzdChh
c3luYyAodCkgPT4geworICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdp
ZnJhbWUnKTsKKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOworICB0LmFkZF9j
bGVhbnVwKCgpID0+IGlmcmFtZS5yZW1vdmUoKSk7CisKKyAgY29uc3QgcGF5bG9hZCA9IG1ha2VQ
YXlsb2FkKFNNQUxMLCBCTE9CLCAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyk7CisgIGNvbnN0
IGlkID0gdG9rZW4oKTsKKyAgY29uc3QgZGVzdGluYXRpb24gPQorICAgICAgYCR7SFRUUFNfUkVN
T1RFX09SSUdJTn0vYmVhY29uL3Jlc291cmNlcy9iZWFjb24ucHk/Y21kPXN0b3JlJmlkPSR7aWR9
YDsKKyAgY29uc3QgdXJsID0gYCR7SFRUUFNfUkVNT1RFX09SSUdJTn0vY29tbW9uL3JlZGlyZWN0
LnB5YCArCisgICAgICBgP3N0YXR1cz0zMDcmbG9jYXRpb249JHtlbmNvZGVVUklDb21wb25lbnQo
ZGVzdGluYXRpb24pfWA7CisgIGFzc2VydF90cnVlKGlmcmFtZS5jb250ZW50V2luZG93Lm5hdmln
YXRvci5zZW5kQmVhY29uKHVybCwgcGF5bG9hZCkpOworICBpZnJhbWUucmVtb3ZlKCk7CisKKyAg
Ly8gVGhlIGJlYWNvbiBpcyByZWplY3RlZCBkdXJpbmcgcmVkaXJlY3QgaGFuZGxpbmcgYmVjYXVz
ZSAvY29tbW9uL3JlZGlyZWN0LnB5CisgIC8vIGRvZXNuJ3Qgc3VwcG9ydCBDT1JTLgorCisgIGF3
YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgMzAwMCkp
OworICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChgL2JlYWNvbi9yZXNvdXJjZXMvYmVhY29uLnB5
P2NtZD1zdGF0JmlkPSR7aWR9YCk7CisgIGFzc2VydF9lcXVhbHMoKGF3YWl0IHJlcy5qc29uKCkp
Lmxlbmd0aCwgMCk7Cit9LCBgY3Jvc3Mtb3JpZ2luLCBub24tQ09SUy1zYWZlbGlzdGVkOiBmYWls
dXJlIGNhc2UgKHdpdGggcmVkaXJlY3QpYCk7CisKK3BhcmFsbGVsUHJvbWlzZVRlc3QoYXN5bmMg
KHQpID0+IHsKKyAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1l
Jyk7CisgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTsKKyAgdC5hZGRfY2xlYW51
cCgoKSA9PiBpZnJhbWUucmVtb3ZlKCkpOworCisgIGNvbnN0IHBheWxvYWQgPSBtYWtlUGF5bG9h
ZChTTUFMTCwgQkxPQiwgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScpOworICBjb25zdCBpZCA9
IHRva2VuKCk7CisgIGNvbnN0IHVybCA9CisgICAgICBgJHtIVFRQU19SRU1PVEVfT1JJR0lOfS9i
ZWFjb24vcmVzb3VyY2VzL2JlYWNvbi5weT9jbWQ9c3RvcmUmaWQ9JHtpZH1gOworICBhc3NlcnRf
dHJ1ZShpZnJhbWUuY29udGVudFdpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbih1cmwsIHBheWxv
YWQpKTsKKyAgaWZyYW1lLnJlbW92ZSgpOworCisgIC8vIFRoZSBiZWFjb24gaXMgcmVqZWN0ZWQg
ZHVyaW5nIHByZWZsaWdodCBoYW5kbGluZy4KKyAgYXdhaXQgd2FpdEZvclJlc3VsdChpZCwgLypl
eHBlY3RlZEVycm9yPSovICdQcmVmbGlnaHQgbm90IGV4cGVjdGVkLicpOworfSwgYGNyb3NzLW9y
aWdpbiwgbm9uLUNPUlMtc2FmZWxpc3RlZDogZmFpbHVyZSBjYXNlICh3aXRob3V0IHJlZGlyZWN0
KWApOworCitmb3IgKGNvbnN0IGNyZWRlbnRpYWxzIG9mIFtmYWxzZSwgdHJ1ZV0pIHsKKyAgcGFy
YWxsZWxQcm9taXNlVGVzdChhc3luYyAodCkgPT4geworICAgIGNvbnN0IGlmcmFtZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoaWZyYW1lKTsKKyAgICB0LmFkZF9jbGVhbnVwKCgpID0+IGlmcmFtZS5yZW1vdmUoKSk7CisK
KyAgICBjb25zdCBwYXlsb2FkID0gbWFrZVBheWxvYWQoU01BTEwsIEJMT0IsICdhcHBsaWNhdGlv
bi9vY3RldC1zdHJlYW0nKTsKKyAgICBjb25zdCBpZCA9IHRva2VuKCk7CisgICAgbGV0IHVybCA9
IGAke0hUVFBTX1JFTU9URV9PUklHSU59L2JlYWNvbi9yZXNvdXJjZXMvYmVhY29uLnB5YCArCisg
ICAgICAgIGA/Y21kPXN0b3JlJmlkPSR7aWR9JnByZWZsaWdodEV4cGVjdGVkJm9yaWdpbj0ke09S
SUdJTn1gOworICAgIGlmIChjcmVkZW50aWFscykgeworICAgICAgdXJsICs9IGAmY3JlZGVudGlh
bHM9dHJ1ZWA7CisgICAgfQorICAgIGFzc2VydF90cnVlKGlmcmFtZS5jb250ZW50V2luZG93Lm5h
dmlnYXRvci5zZW5kQmVhY29uKHVybCwgcGF5bG9hZCkpOworICAgIGlmcmFtZS5yZW1vdmUoKTsK
KworICAgIC8vIFdlIG5lZWQgYWNjZXNzLWNvbnRyb2wtYWxsb3ctY3JlZGVudGlhbHMgaW4gdGhl
IHByZWZsaWdodCByZXNwb25zZS4gVGhpcworICAgIC8vIHNob3dzIHRoYXQgdGhlIHJlcXVlc3Qn
cyBjcmVkZW50aWFscyBtb2RlIGlzICdpbmNsdWRlJy4KKyAgICBpZiAoY3JlZGVudGlhbHMpIHsK
KyAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHdhaXRGb3JSZXN1bHQoaWQpOworICAgICAgYXNz
ZXJ0X2VxdWFscyhyZXN1bHQudHlwZSwgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScpOworICAg
IH0gZWxzZSB7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc3RlcF90aW1l
b3V0KHJlc29sdmUsIDMwMDApKTsKKyAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAvYmVh
Y29uL3Jlc291cmNlcy9iZWFjb24ucHk/Y21kPXN0YXQmaWQ9JHtpZH1gKTsKKyAgICAgIGFzc2Vy
dF9lcXVhbHMoKGF3YWl0IHJlcy5qc29uKCkpLmxlbmd0aCwgMCk7CisgICAgfQorICB9LCBgY3Jv
c3Mtb3JpZ2luLCBub24tQ09SUy1zYWZlbGlzdGVkW2NyZWRlbnRpYWxzPSR7Y3JlZGVudGlhbHN9
XWApOworfQorCitwYXJhbGxlbFByb21pc2VUZXN0KGFzeW5jICh0KSA9PiB7CisgIGNvbnN0IGlm
cmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGlmcmFtZSk7CisgIHQuYWRkX2NsZWFudXAoKCkgPT4gaWZyYW1lLnJlbW92
ZSgpKTsKKworICBjb25zdCBwYXlsb2FkID0gbWFrZVBheWxvYWQoU01BTEwsIEJMT0IsICdhcHBs
aWNhdGlvbi9vY3RldC1zdHJlYW0nKTsKKyAgY29uc3QgaWQgPSB0b2tlbigpOworICBjb25zdCBk
ZXN0aW5hdGlvbiA9IGAke0hUVFBTX1JFTU9URV9PUklHSU59L2JlYWNvbi9yZXNvdXJjZXMvYmVh
Y29uLnB5YCArCisgICAgICBgP2NtZD1zdG9yZSZpZD0ke2lkfSZwcmVmbGlnaHRFeHBlY3RlZCZv
cmlnaW49JHtPUklHSU59JmNyZWRlbnRpYWxzPXRydWVgOworICBjb25zdCB1cmwgPSBgJHtIVFRQ
U19SRU1PVEVfT1JJR0lOfS9mZXRjaC9hcGkvcmVzb3VyY2VzL3JlZGlyZWN0LnB5YCArCisgICAg
ICBgP3JlZGlyZWN0X3N0YXR1cz0zMDcmYWxsb3dfaGVhZGVycz1jb250ZW50LXR5cGVgICsKKyAg
ICAgIGAmbG9jYXRpb249JHtlbmNvZGVVUklDb21wb25lbnQoZGVzdGluYXRpb24pfWA7CisgIGFz
c2VydF90cnVlKGlmcmFtZS5jb250ZW50V2luZG93Lm5hdmlnYXRvci5zZW5kQmVhY29uKHVybCwg
cGF5bG9hZCkpOworICBpZnJhbWUucmVtb3ZlKCk7CisKKyAgY29uc3QgcmVzdWx0ID0gYXdhaXQg
d2FpdEZvclJlc3VsdChpZCk7CisgIGFzc2VydF9lcXVhbHMocmVzdWx0LnR5cGUsICdhcHBsaWNh
dGlvbi9vY3RldC1zdHJlYW0nKTsKK30sIGBjcm9zcy1vcmlnaW4sIG5vbi1DT1JTLXNhZmVsaXN0
ZWQgc3VjY2Vzcy1jYXNlICh3aXRoIHJlZGlyZWN0KWApOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWNvcnMuc3Vi
LndpbmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tY29ycy5zdWIud2luZG93LWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDZhNmJhOTQyZDA2YTk5MWFiZDVjYTg0OGE0NWNj
ZTE1ZDI0NTdlMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFj
b24tY29ycy5zdWIud2luZG93LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIzICsw
LDAgQEAKLQotUEFTUyBWZXJpZnkgJ25hdmlnYXRvci5zZW5kYmVhY29uKCknIHN1Y2Nlc3NmdWxs
eSBzZW5kcyBmb3IgdmFyaWFudDogTm9EYXRhLUNPUlMtQUxMT1cKLVBBU1MgVmVyaWZ5ICduYXZp
Z2F0b3Iuc2VuZGJlYWNvbigpJyBzdWNjZXNzZnVsbHkgc2VuZHMgZm9yIHZhcmlhbnQ6IE51bGxE
YXRhLUNPUlMtQUxMT1cKLVBBU1MgVmVyaWZ5ICduYXZpZ2F0b3Iuc2VuZGJlYWNvbigpJyBzdWNj
ZXNzZnVsbHkgc2VuZHMgZm9yIHZhcmlhbnQ6IFVuZGVmaW5lZERhdGEtQ09SUy1BTExPVwotUEFT
UyBWZXJpZnkgJ25hdmlnYXRvci5zZW5kYmVhY29uKCknIHN1Y2Nlc3NmdWxseSBzZW5kcyBmb3Ig
dmFyaWFudDogU21hbGxTdHJpbmctQ09SUy1BTExPVwotUEFTUyBWZXJpZnkgJ25hdmlnYXRvci5z
ZW5kYmVhY29uKCknIHN1Y2Nlc3NmdWxseSBzZW5kcyBmb3IgdmFyaWFudDogU21hbGxCbG9iLUNP
UlMtQUxMT1cKLVBBU1MgVmVyaWZ5ICduYXZpZ2F0b3Iuc2VuZGJlYWNvbigpJyBzdWNjZXNzZnVs
bHkgc2VuZHMgZm9yIHZhcmlhbnQ6IFNtYWxsQnVmZmVyU291cmNlLUNPUlMtQUxMT1cKLVBBU1Mg
VmVyaWZ5ICduYXZpZ2F0b3Iuc2VuZGJlYWNvbigpJyBzdWNjZXNzZnVsbHkgc2VuZHMgZm9yIHZh
cmlhbnQ6IFNtYWxsRm9ybURhdGEtQ09SUy1BTExPVwotUEFTUyBWZXJpZnkgJ25hdmlnYXRvci5z
ZW5kYmVhY29uKCknIHN1Y2Nlc3NmdWxseSBzZW5kcyBmb3IgdmFyaWFudDogU21hbGxTYWZlQ29u
dGVudFR5cGVFbmNvZGVkLUNPUlMtQUxMT1cKLVBBU1MgVmVyaWZ5ICduYXZpZ2F0b3Iuc2VuZGJl
YWNvbigpJyBzdWNjZXNzZnVsbHkgc2VuZHMgZm9yIHZhcmlhbnQ6IFNtYWxsU2FmZUNvbnRlbnRU
eXBlRm9ybS1DT1JTLUFMTE9XCi1QQVNTIFZlcmlmeSAnbmF2aWdhdG9yLnNlbmRiZWFjb24oKScg
c3VjY2Vzc2Z1bGx5IHNlbmRzIGZvciB2YXJpYW50OiBTbWFsbFNhZmVDb250ZW50VHlwZVRleHQt
Q09SUy1BTExPVwotUEFTUyBWZXJpZnkgJ25hdmlnYXRvci5zZW5kYmVhY29uKCknIHN1Y2Nlc3Nm
dWxseSBzZW5kcyBmb3IgdmFyaWFudDogTm9EYXRhLUNPUlMtRk9SQklECi1QQVNTIFZlcmlmeSAn
bmF2aWdhdG9yLnNlbmRiZWFjb24oKScgc3VjY2Vzc2Z1bGx5IHNlbmRzIGZvciB2YXJpYW50OiBO
dWxsRGF0YS1DT1JTLUZPUkJJRAotUEFTUyBWZXJpZnkgJ25hdmlnYXRvci5zZW5kYmVhY29uKCkn
IHN1Y2Nlc3NmdWxseSBzZW5kcyBmb3IgdmFyaWFudDogVW5kZWZpbmVkRGF0YS1DT1JTLUZPUkJJ
RAotUEFTUyBWZXJpZnkgJ25hdmlnYXRvci5zZW5kYmVhY29uKCknIHN1Y2Nlc3NmdWxseSBzZW5k
cyBmb3IgdmFyaWFudDogU21hbGxTdHJpbmctQ09SUy1GT1JCSUQKLVBBU1MgVmVyaWZ5ICduYXZp
Z2F0b3Iuc2VuZGJlYWNvbigpJyBzdWNjZXNzZnVsbHkgc2VuZHMgZm9yIHZhcmlhbnQ6IFNtYWxs
QmxvYi1DT1JTLUZPUkJJRAotUEFTUyBWZXJpZnkgJ25hdmlnYXRvci5zZW5kYmVhY29uKCknIHN1
Y2Nlc3NmdWxseSBzZW5kcyBmb3IgdmFyaWFudDogU21hbGxCdWZmZXJTb3VyY2UtQ09SUy1GT1JC
SUQKLVBBU1MgVmVyaWZ5ICduYXZpZ2F0b3Iuc2VuZGJlYWNvbigpJyBzdWNjZXNzZnVsbHkgc2Vu
ZHMgZm9yIHZhcmlhbnQ6IFNtYWxsRm9ybURhdGEtQ09SUy1GT1JCSUQKLVBBU1MgVmVyaWZ5ICdu
YXZpZ2F0b3Iuc2VuZGJlYWNvbigpJyBzdWNjZXNzZnVsbHkgc2VuZHMgZm9yIHZhcmlhbnQ6IFNt
YWxsU2FmZUNvbnRlbnRUeXBlRW5jb2RlZC1DT1JTLUZPUkJJRAotUEFTUyBWZXJpZnkgJ25hdmln
YXRvci5zZW5kYmVhY29uKCknIHN1Y2Nlc3NmdWxseSBzZW5kcyBmb3IgdmFyaWFudDogU21hbGxT
YWZlQ29udGVudFR5cGVGb3JtLUNPUlMtRk9SQklECi1QQVNTIFZlcmlmeSAnbmF2aWdhdG9yLnNl
bmRiZWFjb24oKScgc3VjY2Vzc2Z1bGx5IHNlbmRzIGZvciB2YXJpYW50OiBTbWFsbFNhZmVDb250
ZW50VHlwZVRleHQtQ09SUy1GT1JCSUQKLVBBU1MgVmVyaWZ5ICduYXZpZ2F0b3Iuc2VuZGJlYWNv
bigpJyBzdWNjZXNzZnVsbHkgc2VuZHMgZm9yIHZhcmlhbnQ6IFNtYWxsQ09SU0NvbnRlbnRUeXBl
VGV4dC1QUkVGTElHSFQtQUxMT1cKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWNvcnMuc3ViLndpbmRvdy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVh
Y29uLWNvcnMuc3ViLndpbmRvdy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAy
MzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1jb3JzLnN1Yi53aW5kb3cuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xICswLDAgQEAKLTwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBX
ZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1jb3JzLnN1Yi53aW5kb3cu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9i
ZWFjb24tY29ycy5zdWIud2luZG93LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5
YTk1YWNiYTliZTBlNGZiMDE2ZmMzOWE3ODA2MmE1ZWZiMTE2MGZmLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1jb3JzLnN1Yi53aW5kb3cuanMKKysrIC9k
ZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi0vLyBNRVRBOiB0aW1lb3V0PWxvbmcKLS8vIE1FVEE6
IHNjcmlwdD0vY29tbW9uL3V0aWxzLmpzCi0vLyBNRVRBOiBzY3JpcHQ9YmVhY29uLWNvbW1vbi5z
dWIuanMKLQotInVzZSBzdHJpY3QiOwotCi0vLyBFeGVjdXRlIGVhY2ggc2FtcGxlIHRlc3Qgd2l0
aCBhIGNyb3NzLW9yaWdpbiBVUkwuIElmIGFsbG93Q29ycyBpcyAndHJ1ZScKLS8vIHRoZSBiZWFj
b24gaGFuZGxlciB3aWxsIHJldHVybiBDT1JTIGhlYWRlcnMuIFRoaXMgdGVzdCBlbnN1cmVzIHRo
YXQgdGhlCi0vLyBzZW5kQmVhY29uKCkgc3VjY2VlZHMgaW4gZWl0aGVyIGNhc2UuCi1bdHJ1ZSwg
ZmFsc2VdLmZvckVhY2goZnVuY3Rpb24oYWxsb3dDb3JzKSB7Ci0gICAgZnVuY3Rpb24gYnVpbGRV
cmwoaWQpIHsKLSAgICAgICAgY29uc3QgYmFzZVVybCA9ICJodHRwOi8ve3tob3N0c1thbHRdW119
fTp7e3BvcnRzW2h0dHBdWzBdfX0iOwotICAgICAgICAvLyBOb3RlIHRoYXQgJ2FsbG93Q29ycz10
cnVlJyBpcyBub3QgbmVjZXNzYXJ5IGZvciB0aGUgc2VuZEJlYWNvbigpIHRvIHJlYWNoCi0gICAg
ICAgIC8vIHRoZSBzZXJ2ZXIuIEJlYWNvbnMgdXNlIHRoZSBIVFRQIFBPU1QgbWV0aG9kLCB3aGlj
aCBpcyBhIENPUlMtc2FmZWxpc3RlZAotICAgICAgICAvLyBtZXRob2QsIGFuZCB0aHVzIHRoZXkg
ZG8gbm90IHRyaWdnZXIgcHJlZmxpZ2h0LiBJZiB0aGUgc2VydmVyIGRvZXMgbm90Ci0gICAgICAg
IC8vIHJlc3BvbmQgd2l0aCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4gYW5kIEFjY2Vzcy1D
b250cm9sLUFsbG93LUNyZWRlbnRpYWxzCi0gICAgICAgIC8vIGhlYWRlcnMsIGFuIGVycm9yIHdp
bGwgYmUgcHJpbnRlZCB0byB0aGUgY29uc29sZSwgYnV0IHRoZSByZXF1ZXN0IHdpbGwKLSAgICAg
ICAgLy8gYWxyZWFkeSBoYXZlIHJlYWNoZWQgdGhlIHNlcnZlci4gU2luY2UgYmVhY29ucyBhcmUg
ZmlyZS1hbmQtZm9yZ2V0LCB0aGUKLSAgICAgICAgLy8gZXJyb3Igd2lsbCBub3QgYWZmZWN0IGFu
eSBjbGllbnQgc2NyaXB0LCBlaXRoZXIgLS0gbm90IGV2ZW4gdGhlIHJldHVybgotICAgICAgICAv
LyB2YWx1ZSBvZiB0aGUgc2VuZEJlYWNvbigpIGNhbGwsIGJlY2F1c2UgdGhlIHVuZGVybHlpbmcg
ZmV0Y2ggaXMgYXN5bmNocm9ub3VzLgotICAgICAgICAvLyBUaGUgIkJlYWNvbiBDT1JTIiB0ZXN0
cyBhcmUgbWVyZWx5IHRlc3RpbmcgdGhhdCBzZW5kQmVhY29uKCkgdG8gYSBjcm9zcy0KLSAgICAg
ICAgLy8gb3JpZ2luIFVSTCAqd2lsbCogd29yayByZWdhcmRsZXNzLgotICAgICAgICBjb25zdCBh
ZGRpdGlvbmFsUXVlcnkgPSBhbGxvd0NvcnMgPyAiJm9yaWdpbj1odHRwOi8ve3tob3N0fX06e3tw
b3J0c1todHRwXVswXX19JmNyZWRlbnRpYWxzPXRydWUiIDogIiI7Ci0gICAgICAgIHJldHVybiBg
JHtiYXNlVXJsfS9iZWFjb24vcmVzb3VyY2VzL2JlYWNvbi5weT9jbWQ9c3RvcmUmaWQ9JHtpZH0k
e2FkZGl0aW9uYWxRdWVyeX1gCi0gICAgfQotICAgIHJ1blRlc3RzKHNhbXBsZVRlc3RzLCBhbGxv
d0NvcnMgPyAiLUNPUlMtQUxMT1ciIDogIi1DT1JTLUZPUkJJRCIsIGJ1aWxkVXJsKTsKLX0pOwot
Ci0vLyBOb3cgdGVzdCBhIGNyb3NzLW9yaWdpbiByZXF1ZXN0IHRoYXQgZG9lc24ndCB1c2UgYSBz
YWZlbGlzdGVkIENvbnRlbnQtVHlwZSBhbmQgZW5zdXJlCi0vLyB3ZSBhcmUgYXBwbHlpbmcgdGhl
IHByb3BlciByZXN0cmljdGlvbnMuIFNpbmNlIGEgbm9uLXNhZmVsaXN0ZWQgQ29udGVudC1UeXBl
IHJlcXVlc3QKLS8vIGhlYWRlciBpcyB1c2VkIHRoZXJlIHNob3VsZCBiZSBhIHByZWZsaWdodC9v
cHRpb25zIHJlcXVlc3QgYW5kIHdlIHNob3VsZCBvbmx5IHN1Y2NlZWQKLS8vIHNlbmQgdGhlIHBh
eWxvYWQgaWYgdGhlIHByb3BlciBDT1JTIGhlYWRlcnMgYXJlIHVzZWQuCi17Ci0gICAgZnVuY3Rp
b24gYnVpbGRVcmwoaWQpIHsKLSAgICAgICAgY29uc3QgYmFzZVVybCA9ICJodHRwOi8ve3tob3N0
c1thbHRdW119fTp7e3BvcnRzW2h0dHBdWzBdfX0iOwotICAgICAgICBjb25zdCBhZGRpdGlvbmFs
UXVlcnkgPSAiJm9yaWdpbj1odHRwOi8ve3tob3N0fX06e3twb3J0c1todHRwXVswXX19JmNyZWRl
bnRpYWxzPXRydWUmcHJlZmxpZ2h0RXhwZWN0ZWQ9dHJ1ZSI7Ci0gICAgICAgIHJldHVybiBgJHti
YXNlVXJsfS9iZWFjb24vcmVzb3VyY2VzL2JlYWNvbi5weT9jbWQ9c3RvcmUmaWQ9JHtpZH0ke2Fk
ZGl0aW9uYWxRdWVyeX1gCi0gICAgfQotICAgIHJ1blRlc3RzKHByZWZsaWdodFRlc3RzLCAiLVBS
RUZMSUdIVC1BTExPVyIsIGJ1aWxkVXJsKTsKLX0KLQotZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWVy
cm9yLnN1Yi53aW5kb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWVycm9yLnN1Yi53aW5kb3ctZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZDFmNzllZDE5ZmM2Zjk3ZjFiNzA1
MzkyNjIwMWZlMjQ0ZDBmN2M0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVh
Y29uL2JlYWNvbi1lcnJvci5zdWIud2luZG93LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDYgKzAsMCBAQAotCi1QQVNTIFZlcmlmeSBjYWxsaW5nICduYXZpZ2F0b3Iuc2VuZEJlYWNv
bigpJyB3aXRoIGEgbGFyZ2UgcGF5bG9hZCByZXR1cm5zICdmYWxzZScuCi1QQVNTIFZlcmlmeSBj
YWxsaW5nICduYXZpZ2F0b3Iuc2VuZEJlYWNvbigpJyB3aXRoIGFuIGludmFsaWQgVVJMIHRocm93
cyBhbiBleGNlcHRpb24uCi1QQVNTIFZlcmlmeSBjYWxsaW5nICduYXZpZ2F0b3Iuc2VuZEJlYWNv
bigpJyB3aXRoIGEgVVJMIHRoYXQgaXMgbm90IGEgaHR0cChzKSBzY2hlbWUgdGhyb3dzIGFuIGV4
Y2VwdGlvbi4KLVBBU1MgVmVyaWZ5IHRoZSBiZWhhdmlvciBhZnRlciB0aGUgcXVvdGEgaXMgZXho
YXVzdGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tZXJyb3Iuc3ViLndpbmRvdy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWVycm9yLnN1
Yi53aW5kb3cuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjM4MjkxMzUyOGU2
OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2JlYWNvbi9iZWFjb24tZXJyb3Iuc3ViLndpbmRvdy5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEgKzAsMCBAQAotPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0
IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWVycm9yLnN1Yi53aW5kb3cuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tZXJy
b3Iuc3ViLndpbmRvdy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDk5ZmEzYjI3
MjEzZjJiNTk1OGMwYzkwY2Q3NmVhYTM4MmJiMGJlZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tZXJyb3Iuc3ViLndpbmRvdy5qcworKysgL2Rldi9udWxs
CkBAIC0xLDQ4ICswLDAgQEAKLS8vIE1FVEE6IHNjcmlwdD0vY29tbW9uL3V0aWxzLmpzCi0vLyBN
RVRBOiBzY3JpcHQ9YmVhY29uLWNvbW1vbi5zdWIuanMKLQotInVzZSBzdHJpY3QiOwotCi10ZXN0
KGZ1bmN0aW9uKCkgewotICAgIC8vIFBheWxvYWQgdGhhdCBzaG91bGQgY2F1c2Ugc2VuZEJlYWNv
biB0byByZXR1cm4gZmFsc2UgYmVjYXVzZSBpdCBleGNlZWRzIHRoZSBtYXhpbXVtIHBheWxvYWQg
c2l6ZS4KLSAgICB2YXIgZXhjZWVkUGF5bG9hZCA9IEFycmF5KG1heFBheWxvYWRTaXplICsgMSku
ZmlsbCgneicpLmpvaW4oIiIpOwotCi0gICAgdmFyIHN1Y2Nlc3MgPSBuYXZpZ2F0b3Iuc2VuZEJl
YWNvbigiaHR0cDovL3t7aG9zdHNbXVtub25leGlzdGVudF19fSIsIGV4Y2VlZFBheWxvYWQpOwot
ICAgIGFzc2VydF9mYWxzZShzdWNjZXNzLCAiY2FsbGluZyAnbmF2aWdhdG9yLnNlbmRCZWFjb24o
KScgd2l0aCBwYXlsb2FkIHNpemUgZXhjZWVkaW5nIHRoZSBtYXhpbXVtIHNpemUgbXVzdCBmYWls
Iik7Ci19LCAiVmVyaWZ5IGNhbGxpbmcgJ25hdmlnYXRvci5zZW5kQmVhY29uKCknIHdpdGggYSBs
YXJnZSBwYXlsb2FkIHJldHVybnMgJ2ZhbHNlJy4iKTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAg
ICB2YXIgaW52YWxpZFVybCA9ICJodHRwOi8vaW52YWxpZDp1cmwiOwotICAgIGFzc2VydF90aHJv
d3NfanMoVHlwZUVycm9yLCBmdW5jdGlvbigpIHsgbmF2aWdhdG9yLnNlbmRCZWFjb24oaW52YWxp
ZFVybCwgc21hbGxQYXlsb2FkKTsgfSwKLSAgICAgICAgYGNhbGxpbmcgJ25hdmlnYXRvci5zZW5k
QmVhY29uKCknIHdpdGggYW4gaW52YWxpZCBVUkwgJyR7aW52YWxpZFVybH0nIG11c3QgdGhyb3cg
YSBUeXBlRXJyb3JgKTsKLX0sICJWZXJpZnkgY2FsbGluZyAnbmF2aWdhdG9yLnNlbmRCZWFjb24o
KScgd2l0aCBhbiBpbnZhbGlkIFVSTCB0aHJvd3MgYW4gZXhjZXB0aW9uLiIpOwotCi10ZXN0KGZ1
bmN0aW9uKCkgewotICAgIHZhciBpbnZhbGlkVXJsID0gIm5vdGh0dHA6Ly9pbnZhbGlkLnVybCI7
Ci0gICAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsIGZ1bmN0aW9uKCkgeyBuYXZpZ2F0b3Iu
c2VuZEJlYWNvbihpbnZhbGlkVXJsLCBzbWFsbFBheWxvYWQpOyB9LAotICAgICAgICAgYGNhbGxp
bmcgJ25hdmlnYXRvci5zZW5kQmVhY29uKCknIHdpdGggYSBub24taHR0cChzKSBVUkwgJyR7aW52
YWxpZFVybH0nIG11c3QgdGhyb3cgYSBUeXBlRXJyb3JgKTsKLX0sICJWZXJpZnkgY2FsbGluZyAn
bmF2aWdhdG9yLnNlbmRCZWFjb24oKScgd2l0aCBhIFVSTCB0aGF0IGlzIG5vdCBhIGh0dHAocykg
c2NoZW1lIHRocm93cyBhbiBleGNlcHRpb24uIik7Ci0KLS8vIFdlJ2xsIHZhbGlkYXRlIHRoYXQg
d2UgY2FuIHNlbmQgb25lIGJlYWNvbiB0aGF0IHVzZXMgb3VyIGVudGlyZSBRdW90YSBhbmQgdGhl
biBmYWlsIHRvIHNlbmQgb25lIHRoYXQgaXMganVzdCBvbmUgY2hhci4KLXByb21pc2VfdGVzdChh
c3luYyAoKSA9PiB7Ci0gICAgZnVuY3Rpb24gd2FpdChtcykgewotICAgICAgICByZXR1cm4gbmV3
IFByb21pc2UocmVzID0+IHN0ZXBfdGltZW91dChyZXMsIG1zKSk7Ci0gICAgfQotICAgIGNvbnN0
IHVybCA9ICcvZmV0Y2gvYXBpL3Jlc291cmNlcy90cmlja2xlLnB5P2NvdW50PTEmbXM9MCc7Ci0g
ICAgYXNzZXJ0X3RydWUobmF2aWdhdG9yLnNlbmRCZWFjb24odXJsLCBtYXhQYXlsb2FkKSwKLSAg
ICAgICAgICAgICAgICAiY2FsbGluZyAnbmF2aWdhdG9yLnNlbmRCZWFjb24oKScgd2l0aCBvdXIg
bWF4IHBheWxvYWQgc2l6ZSBzaG91bGQgc3VjY2VlZC4iKTsKLQotICAgIC8vIE5vdyB3ZSdsbCBz
ZW5kIGp1c3Qgb25lIGNoYXJhY3Rlci4KLSAgICBhc3NlcnRfZmFsc2UobmF2aWdhdG9yLnNlbmRC
ZWFjb24odXJsLCAnMScpLAotICAgICAgICAgICAgICAgICAiY2FsbGluZyAnbmF2aWdhdG9yLnNl
bmRCZWFjb24oKScgd2l0aCBqdXN0IG9uZSBjaGFyIHNob3VsZCBmYWlsIHdoaWxlIG91ciBRdW90
YSBpcyB1c2VkIHVwLiIpOwotCi0gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAyMDsgKytpKSB7Ci0g
ICAgICAgIGF3YWl0IHdhaXQoMTAwKTsKLSAgICAgICAgaWYgKG5hdmlnYXRvci5zZW5kQmVhY29u
KHVybCwgbWF4UGF5bG9hZCkpIHsKLSAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAg
fQotICAgIGFzc2VydF91bnJlYWNoZWQoJ1RoZSBxdW90YSBzaG91bGQgcmVjb3ZlciBhZnRlciBm
ZXRjaGluZy4nKTsKLX0sICJWZXJpZnkgdGhlIGJlaGF2aW9yIGFmdGVyIHRoZSBxdW90YSBpcyBl
eGhhdXN0ZWQuIik7Ci0KLWRvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1uYXZpZ2F0ZS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLW5h
dmlnYXRlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkZjEzOTA1OTc4ZGFk
NjVkZWExZjQyNjA2MzE3ODk3MDYxZDRhYTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9iZWFjb24vYmVhY29uLW5hdmlnYXRlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxOSAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPHRpdGxlPlczQyBC
ZWFjb24gT3V0bGl2aW5nIE5hdmlnYXRpb24gVGVzdDwvdGl0bGU+Ci0gICAgPG1ldGEgbmFtZT0i
dGltZW91dCIgY29udGVudD0ibG9uZyI+Ci0gICAgPG1ldGEgbmFtZT0iYXV0aG9yIiB0aXRsZT0i
TWljcm9zb2Z0IEVkZ2UiIGhyZWY9Imh0dHBzOi8vd3d3Lm1pY3Jvc29mdC5jb20iPgotICAgIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLSAgICA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keT4KLSAgICA8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+
Ci0gICAgPHNjcmlwdCBzcmM9ImJlYWNvbi1jb21tb24uc3ViLmpzIj48L3NjcmlwdD4KLSAgICA8
c2NyaXB0PgotICAgICAgICAidXNlIHN0cmljdCI7Ci0KLSAgICAgICAgcnVuU2VuZEluSWZyYW1l
QW5kTmF2aWdhdGVUZXN0cygiYmVhY29uIik7Ci0gICAgPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2JlYWNvbi9iZWFjb24tbmF2aWdhdGUuaHR0cHMud2luZG93LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1u
YXZpZ2F0ZS5odHRwcy53aW5kb3ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlOWY1YzE4NjUz
ZTk0NThlNzk1NmUyMDdkOWYwNzU4NDZmZDc1NGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tbmF2aWdh
dGUuaHR0cHMud2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKKworUEFTUyBUaGUg
ZnJhbWUgbmF2aWdhdGVzIGF3YXkgYWZ0ZXIgY2FsbGluZyBzZW5kQmVhY29uW3R5cGUgPSBzdHJp
bmddLgorUEFTUyBUaGUgZnJhbWUgbmF2aWdhdGVzIGF3YXkgYWZ0ZXIgY2FsbGluZyBzZW5kQmVh
Y29uW3R5cGUgPSBhcnJheWJ1ZmZlcl0uCitQQVNTIFRoZSBmcmFtZSBuYXZpZ2F0ZXMgYXdheSBh
ZnRlciBjYWxsaW5nIHNlbmRCZWFjb25bdHlwZSA9IGZvcm1dLgorUEFTUyBUaGUgZnJhbWUgbmF2
aWdhdGVzIGF3YXkgYWZ0ZXIgY2FsbGluZyBzZW5kQmVhY29uW3R5cGUgPSBibG9iXS4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFj
b24vYmVhY29uLW5hdmlnYXRlLmh0dHBzLndpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLW5hdmlnYXRlLmh0dHBzLndp
bmRvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBi
NTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tbmF2aWdhdGUuaHR0cHMud2luZG93Lmh0bWwKQEAg
LTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGlu
ZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLW5hdmlnYXRlLmh0dHBzLndpbmRvdy5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1u
YXZpZ2F0ZS5odHRwcy53aW5kb3cuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGI0MmE0N2NkOTg4NmFmNGU2YjJh
MDc0ZWU4NTc4Mjk1ZjRhMzI4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1uYXZpZ2F0ZS5odHRwcy53
aW5kb3cuanMKQEAgLTAsMCArMSwyMyBAQAorLy8gTUVUQTogdGltZW91dD1sb25nCisvLyBNRVRB
OiBzY3JpcHQ9L2NvbW1vbi91dGlscy5qcworLy8gTUVUQTogc2NyaXB0PS9jb21tb24vZ2V0LWhv
c3QtaW5mby5zdWIuanMKKy8vIE1FVEE6IHNjcmlwdD1iZWFjb24tY29tbW9uLnN1Yi5qcworCisn
dXNlIHN0cmljdCc7CisKK2NvbnN0IHtIVFRQX1JFTU9URV9PUklHSU59ID0gZ2V0X2hvc3RfaW5m
bygpOworCitmb3IgKGNvbnN0IHR5cGUgb2YgW1NUUklORywgQVJSQVlCVUZGRVIsIEZPUk0sIEJM
T0JdKSB7CisgIHBhcmFsbGVsUHJvbWlzZVRlc3QoYXN5bmMgKHQpID0+IHsKKyAgICBjb25zdCBp
ZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7CisgICAgdC5hZGRfY2xlYW51cCgoKSA9PiBpZnJhbWUu
cmVtb3ZlKCkpOworCisgICAgY29uc3QgcGF5bG9hZCA9IG1ha2VQYXlsb2FkKFNNQUxMLCB0eXBl
KTsKKyAgICBjb25zdCBpZCA9IHRva2VuKCk7CisgICAgY29uc3QgdXJsID0gYC9iZWFjb24vcmVz
b3VyY2VzL2JlYWNvbi5weT9jbWQ9c3RvcmUmaWQ9JHtpZH1gOworICAgIGFzc2VydF90cnVlKGlm
cmFtZS5jb250ZW50V2luZG93Lm5hdmlnYXRvci5zZW5kQmVhY29uKHVybCwgcGF5bG9hZCkpOwor
CisgICAgaWZyYW1lLnNyYyA9IGAke0hUVFBfUkVNT1RFX09SSUdJTn0vY29tbW9uL2JsYW5rLmh0
bWxgOworICB9LCBgVGhlIGZyYW1lIG5hdmlnYXRlcyBhd2F5IGFmdGVyIGNhbGxpbmcgc2VuZEJl
YWNvblt0eXBlID0gJHt0eXBlfV0uYCk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tcHJlZmxpZ2h0LWZhaWx1
cmUuc3ViLndpbmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tcHJlZmxpZ2h0LWZhaWx1cmUuc3ViLndpbmRv
dy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGExNjg2YWFmMjQ4
ODIzYzc3OTk4OWJkMmUyNDg3MmFjN2VhOTBjOGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9iZWFjb24vYmVhY29uLXByZWZsaWdodC1mYWlsdXJlLnN1Yi53aW5kb3ctZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi0KLVBBU1MgYmVhY29uLXByZWZs
aWdodC1mYWlsdXJlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1wcmVmbGlnaHQtZmFpbHVyZS5zdWIud2luZG93
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNv
bi9iZWFjb24tcHJlZmxpZ2h0LWZhaWx1cmUuc3ViLndpbmRvdy5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAyMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMz
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1wcmVmbGln
aHQtZmFpbHVyZS5zdWIud2luZG93Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi08
IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUg
dG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2JlYWNvbi9iZWFjb24tcHJlZmxpZ2h0LWZhaWx1cmUuc3ViLndpbmRvdy5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1wcmVmbGln
aHQtZmFpbHVyZS5zdWIud2luZG93LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBj
NWEyZDgxM2YxNzZhZGM0MmQzY2UzYjZmZWVlYTJiNmUzNGU5YzY5Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1wcmVmbGlnaHQtZmFpbHVyZS5zdWIud2lu
ZG93LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotLy8gTUVUQTogc2NyaXB0PS9j
b21tb24vdXRpbHMuanMKLS8vIE1FVEE6IHNjcmlwdD0vY29tbW9uL2dldC1ob3N0LWluZm8uc3Vi
LmpzCi0KLXByb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4gewotICBjb25zdCBvcmlnaW4gPSBn
ZXRfaG9zdF9pbmZvKCkuUkVNT1RFX09SSUdJTjsKLSAgY29uc3QgaWQgPSB0b2tlbigpOwotICBj
b25zdCBzdG9yZSA9IGAke29yaWdpbn0vYmVhY29uL3Jlc291cmNlcy9iZWFjb24ucHk/Y21kPXN0
b3JlJmlkPSR7aWR9YDsKLSAgY29uc3QgbW9uaXRvciA9IGAvYmVhY29uL3Jlc291cmNlcy9iZWFj
b24ucHk/Y21kPXN0YXQmaWQ9JHtpZH1gOwotCi0gIGFzc2VydF90cnVlKG5hdmlnYXRvci5zZW5k
QmVhY29uKHN0b3JlLCBuZXcgQmxvYihbXSwge3R5cGU6ICd4L3knfSkpKTsKLQotICBsZXQgYWN0
dWFsOwotICBmb3IgKGxldCBpID0gMDsgaSA8IDMwOyArK2kpIHsKLSAgICBhd2FpdCBuZXcgUHJv
bWlzZShyZXNvbHZlID0+IHRlc3Quc3RlcF90aW1lb3V0KHJlc29sdmUsIDEwKSk7Ci0KLSAgICBj
b25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKG1vbml0b3IpOwotICAgIGNvbnN0IG9iaiA9IGF3
YWl0IHJlc3BvbnNlLmpzb24oKTsKLSAgICBpZiAob2JqLmxlbmd0aCA+IDApIHsKLSAgICAgIGFj
dHVhbCA9IEpTT04uc3RyaW5naWZ5KG9iaik7Ci0gICAgICBicmVhazsKLSAgICB9Ci0gIH0KLQot
ICBjb25zdCBleHBlY3RlZCA9Ci0gICAgSlNPTi5zdHJpbmdpZnkoW3tlcnJvcjogJ1ByZWZsaWdo
dCBub3QgZXhwZWN0ZWQuJ31dKTsKLQotICBhc3NlcnRfZXF1YWxzKGFjdHVhbCwgZXhwZWN0ZWQp
OwotfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2JlYWNvbi9iZWFjb24tcmVhZGFibGVzdHJlYW0ud2luZG93LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNv
bi1yZWFkYWJsZXN0cmVhbS53aW5kb3ctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA0MmMxMjRhYWU3NmJlNGYwMTI4MTRmNzQyNGMxZTA3YjUxNTY2ZWZmLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1yZWFkYWJsZXN0cmVh
bS53aW5kb3ctZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi0KLVBB
U1Mgc2VuZEJlYWNvbigpIHdpdGggYSBzdHJlYW0gZG9lcyBub3Qgd29yayBkdWUgdG8gdGhlIGtl
ZXBhbGl2ZSBmbGFnIGJlaW5nIHNldAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tcmVhZGFibGVzdHJlYW0ud2lu
ZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Jl
YWNvbi9iZWFjb24tcmVhZGFibGVzdHJlYW0ud2luZG93Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLXJlYWRhYmxlc3Ry
ZWFtLndpbmRvdy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotPCEtLSBUaGlzIGZp
bGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUg
dGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVh
Y29uLXJlYWRhYmxlc3RyZWFtLndpbmRvdy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1yZWFkYWJsZXN0cmVhbS53aW5kb3cuanMK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ2ZTMwZmNkYTVjYzg1Zjk0ZDA4YjYxMjIz
NmQ5NTJjYjMxNmRmYjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24v
YmVhY29uLXJlYWRhYmxlc3RyZWFtLndpbmRvdy5qcworKysgL2Rldi9udWxsCkBAIC0xLDMgKzAs
MCBAQAotdGVzdCgoKSA9PiB7Ci0gIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCAoKSA9PiBu
YXZpZ2F0b3Iuc2VuZEJlYWNvbigiLi4uIiwgbmV3IFJlYWRhYmxlU3RyZWFtKCkpKTsKLX0sICJz
ZW5kQmVhY29uKCkgd2l0aCBhIHN0cmVhbSBkb2VzIG5vdCB3b3JrIGR1ZSB0byB0aGUga2VlcGFs
aXZlIGZsYWcgYmVpbmcgc2V0Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tcmVkaXJlY3QuaHR0cHMud2luZG93
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvYmVhY29uL2JlYWNvbi1yZWRpcmVjdC5odHRwcy53aW5kb3ctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY3ZTliZjVlN2QyNmE1YzIzYmE5OTRkN2QxNDk0NjgwNjgzMDE4ZjIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Jl
YWNvbi9iZWFjb24tcmVkaXJlY3QuaHR0cHMud2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEwIEBACisKK1BBU1MgY3Jvc3Mtb3JpZ2luLCBDT1JTLXNhZmVsaXN0ZWQ6IHN0YXR1cyA9IDMw
NywgdHlwZSA9IHN0cmluZworUEFTUyBjcm9zcy1vcmlnaW4sIENPUlMtc2FmZWxpc3RlZDogc3Rh
dHVzID0gMzA3LCB0eXBlID0gYXJyYXlidWZmZXIKK1BBU1MgY3Jvc3Mtb3JpZ2luLCBDT1JTLXNh
ZmVsaXN0ZWQ6IHN0YXR1cyA9IDMwNywgdHlwZSA9IGZvcm0KK1BBU1MgY3Jvc3Mtb3JpZ2luLCBD
T1JTLXNhZmVsaXN0ZWQ6IHN0YXR1cyA9IDMwNywgdHlwZSA9IGJsb2IKK1BBU1MgY3Jvc3Mtb3Jp
Z2luLCBDT1JTLXNhZmVsaXN0ZWQ6IHN0YXR1cyA9IDMwOCwgdHlwZSA9IHN0cmluZworUEFTUyBj
cm9zcy1vcmlnaW4sIENPUlMtc2FmZWxpc3RlZDogc3RhdHVzID0gMzA4LCB0eXBlID0gYXJyYXli
dWZmZXIKK1BBU1MgY3Jvc3Mtb3JpZ2luLCBDT1JTLXNhZmVsaXN0ZWQ6IHN0YXR1cyA9IDMwOCwg
dHlwZSA9IGZvcm0KK1BBU1MgY3Jvc3Mtb3JpZ2luLCBDT1JTLXNhZmVsaXN0ZWQ6IHN0YXR1cyA9
IDMwOCwgdHlwZSA9IGJsb2IKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLXJlZGlyZWN0Lmh0dHBzLndpbmRvdy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24v
YmVhY29uLXJlZGlyZWN0Lmh0dHBzLndpbmRvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1Mjhl
NjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tcmVkaXJl
Y3QuaHR0cHMud2luZG93Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVx
dWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVk
IHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLXJlZGly
ZWN0Lmh0dHBzLndpbmRvdy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvYmVhY29uL2JlYWNvbi1yZWRpcmVjdC5odHRwcy53aW5kb3cuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTZhMjU0NTUyN2VmN2MxMzUwNTQ0Zjc4OWY2Nzc1YzhjYWNiNWI3MwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29u
L2JlYWNvbi1yZWRpcmVjdC5odHRwcy53aW5kb3cuanMKQEAgLTAsMCArMSwzNSBAQAorLy8gTUVU
QTogdGltZW91dD1sb25nCisvLyBNRVRBOiBzY3JpcHQ9L2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1
Yi5qcworLy8gTUVUQTogc2NyaXB0PS9jb21tb24vdXRpbHMuanMKKy8vIE1FVEE6IHNjcmlwdD1i
ZWFjb24tY29tbW9uLnN1Yi5qcworCisndXNlIHN0cmljdCc7CisKK2NvbnN0IHtPUklHSU59ID0g
Z2V0X2hvc3RfaW5mbygpOworCisvLyBFeGVjdXRlIGVhY2ggc2FtcGxlIHRlc3QgcGVyIHJlZGly
ZWN0IHN0YXR1cyBjb2RlLgorLy8gTm90ZSB0aGF0IHN0YXR1cyBjb2RlcyAzMDcgYW5kIDMwOCBh
cmUgdGhlIG9ubHkgY29kZXMgdGhhdCB3aWxsIG1haW50YWluIFBPU1QKKy8vIGRhdGEgdGhyb3Vn
aCBhIHJlZGlyZWN0LgorZm9yIChjb25zdCBzdGF0dXMgb2YgWzMwNywgMzA4XSkgeworICBmb3Ig
KGNvbnN0IHR5cGUgb2YgW1NUUklORywgQVJSQVlCVUZGRVIsIEZPUk0sIEJMT0JdKSB7CisgICAg
cGFyYWxsZWxQcm9taXNlVGVzdChhc3luYyAodCkgPT4geworICAgICAgY29uc3QgaWZyYW1lID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CisgICAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGlmcmFtZSk7CisgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IGlmcmFtZS5yZW1v
dmUoKSk7CisKKyAgICAgIGNvbnN0IHBheWxvYWQgPSBtYWtlUGF5bG9hZChTTUFMTCwgdHlwZSk7
CisgICAgICBjb25zdCBpZCA9IHRva2VuKCk7CisgICAgICBjb25zdCBkZXN0aW5hdGlvbiA9Cisg
ICAgICAgICAgYCR7T1JJR0lOfS9iZWFjb24vcmVzb3VyY2VzL2JlYWNvbi5weT9jbWQ9c3RvcmUm
aWQ9JHtpZH1gOworICAgICAgY29uc3QgdXJsID0gYCR7T1JJR0lOfS9jb21tb24vcmVkaXJlY3Qu
cHlgICsKKyAgICAgICAgICBgP3N0YXR1cz0ke3N0YXR1c30mbG9jYXRpb249JHtlbmNvZGVVUklD
b21wb25lbnQoZGVzdGluYXRpb24pfWA7CisKKyAgICAgIGFzc2VydF90cnVlKGlmcmFtZS5jb250
ZW50V2luZG93Lm5hdmlnYXRvci5zZW5kQmVhY29uKHVybCwgcGF5bG9hZCkpOworICAgICAgaWZy
YW1lLnJlbW92ZSgpOworCisgICAgICBhd2FpdCB3YWl0Rm9yUmVzdWx0KGlkKTsKKyAgICB9LCBg
Y3Jvc3Mtb3JpZ2luLCBDT1JTLXNhZmVsaXN0ZWQ6IHN0YXR1cyA9ICR7c3RhdHVzfSwgdHlwZSA9
ICR7dHlwZX1gKTsKKyAgfQorfTsKKworZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLXJlZGlyZWN0LnN1
Yi53aW5kb3cuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2JlYWNvbi9iZWFjb24tcmVkaXJlY3Quc3ViLndpbmRvdy5qcwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZmQyM2E0NWY4NmJhZGZjMWQ1NDBkZTQxNGNiMzUxYzRlNWVmMDZiYi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tcmVkaXJlY3Quc3Vi
LndpbmRvdy5qcworKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS8vIE1FVEE6IHRpbWVv
dXQ9bG9uZwotLy8gTUVUQTogc2NyaXB0PS9jb21tb24vdXRpbHMuanMKLS8vIE1FVEE6IHNjcmlw
dD1iZWFjb24tY29tbW9uLnN1Yi5qcwotCi0idXNlIHN0cmljdCI7Ci0KLS8vIEV4ZWN1dGUgZWFj
aCBzYW1wbGUgdGVzdCBwZXIgcmVkaXJlY3Qgc3RhdHVzIGNvZGUuCi0vLyBOb3RlIHRoYXQgc3Rh
dHVzIGNvZGVzIDMwNyBhbmQgMzA4IGFyZSB0aGUgb25seSBjb2RlcyB0aGF0IHdpbGwgbWFpbnRh
aW4gUE9TVCBkYXRhCi0vLyB0aHJvdWdoIGEgcmVkaXJlY3QuCi1bMzA3LCAzMDhdLmZvckVhY2go
ZnVuY3Rpb24oc3RhdHVzKSB7Ci0gICAgZnVuY3Rpb24gYnVpbGRVcmwoaWQpIHsKLSAgICAgICAg
Y29uc3QgYmFzZVVybCA9ICJodHRwOi8ve3tob3N0fX06e3twb3J0c1todHRwXVswXX19IjsKLSAg
ICAgICAgY29uc3QgdGFyZ2V0VXJsID0gYCR7YmFzZVVybH0vYmVhY29uL3Jlc291cmNlcy9iZWFj
b24ucHk/Y21kPXN0b3JlJmlkPSR7aWR9YDsKLQotICAgICAgICByZXR1cm4gYC9jb21tb24vcmVk
aXJlY3QucHk/c3RhdHVzPSR7c3RhdHVzfSZsb2NhdGlvbj0ke2VuY29kZVVSSUNvbXBvbmVudCh0
YXJnZXRVcmwpfWA7Ci0gICAgfQotICAgIHJ1blRlc3RzKHNhbXBsZVRlc3RzLCBgLSR7c3RhdHVz
fWAsIGJ1aWxkVXJsKTsKLX0pOwotCi1kb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9yZXNvdXJjZXMvYmVhY29uLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vcmVz
b3VyY2VzL2JlYWNvbi5weQppbmRleCBmNWNhYWY0YjhkM2Q2NGE4MDE2YjA4MGMxMTA0MTRmOWNi
MWViM2Y3Li5kODFiZmIxYWM2ODA4NGY2MTkwMjdhODY5YzQ5MWQ2MTg4ZmUwYzYzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9y
ZXNvdXJjZXMvYmVhY29uLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvYmVhY29uL3Jlc291cmNlcy9iZWFjb24ucHkKQEAgLTI0LDggKzI0LDEzIEBA
IGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICAgICAgbmF0dXJlIG9mIHRoZSBzdGFz
aCwgcmVzdWx0cyBmb3IgYSBnaXZlbiB0ZXN0IGFyZSBvbmx5IGd1YXJhbnRlZWQgdG8gYmUKICAg
ICAgICAgcmV0dXJuZWQgb25jZSwgdGhvdWdoIHRoZXkgbWF5IGJlIHJldHVybmVkIG11bHRpcGxl
IHRpbWVzLgogCisgICAgICAgIEFuIGVudHJ5IG1heSBjb250YWluIGZvbGxvd2luZyBtZW1iZXJz
LgorICAgICAgICAgICAgLSBlcnJvcjogQW4gZXJyb3Igc3RyaW5nLiBudWxsIGlmIHRoZXJlIGlz
IG5vIGVycm9yLgorICAgICAgICAgICAgLSB0eXBlOiBUaGUgY29udGVudC10eXBlIGhlYWRlciBv
ZiB0aGUgcmVxdWVzdCAiKG1pc3NpbmcpIiBpZiB0aGVyZQorICAgICAgICAgICAgICAgICAgICBp
cyBubyBjb250ZW50LXR5cGUgaGVhZGVyIGluIHRoZSByZXF1ZXN0LgorCiAgICAgICAgIEV4YW1w
bGUgcmVzcG9uc2UgYm9kaWVzOgotICAgICAgICAgICAgLSBbe2Vycm9yOiBudWxsfV0KKyAgICAg
ICAgICAgIC0gW3tlcnJvcjogbnVsbCwgdHlwZTogInRleHQvcGxhaW47Y2hhcnNldD1VVEY4In1d
CiAgICAgICAgICAgICAtIFt7ZXJyb3I6ICJzb21lIHZhbGlkYXRpb24gZGV0YWlscyJ9XQogICAg
ICAgICAgICAgLSBbXQogCkBAIC01Myw4ICs1OCw5IEBAIGRlZiBtYWluKHJlcXVlc3QsIHJlc3Bv
bnNlKToKICAgICAgICAgIyByZXF1ZXN0cyB3ZSBtYXkgZ2V0LgogICAgICAgICBpZiByZXF1ZXN0
Lm1ldGhvZCA9PSB1IlBPU1QiOgogICAgICAgICAgICAgcGF5bG9hZCA9IGIiIgotICAgICAgICAg
ICAgaWYgYiJDb250ZW50LVR5cGUiIGluIHJlcXVlc3QuaGVhZGVycyBhbmQgXAotICAgICAgICAg
ICAgICAgYiJmb3JtLWRhdGEiIGluIHJlcXVlc3QuaGVhZGVyc1tiIkNvbnRlbnQtVHlwZSJdOgor
ICAgICAgICAgICAgY29udGVudFR5cGUgPSByZXF1ZXN0LmhlYWRlcnNbYiJDb250ZW50LVR5cGUi
XSBcCisgICAgICAgICAgICAgICAgaWYgYiJDb250ZW50LVR5cGUiIGluIHJlcXVlc3QuaGVhZGVy
cyBlbHNlIGIiKG1pc3NpbmcpIgorICAgICAgICAgICAgaWYgYiJmb3JtLWRhdGEiIGluIGNvbnRl
bnRUeXBlOgogICAgICAgICAgICAgICAgIGlmIGIicGF5bG9hZCIgaW4gcmVxdWVzdC5QT1NUOgog
ICAgICAgICAgICAgICAgICAgICAjIFRoZSBwYXlsb2FkIHdhcyBzZW50IGFzIGEgRm9ybURhdGEu
CiAgICAgICAgICAgICAgICAgICAgIHBheWxvYWQgPSByZXF1ZXN0LlBPU1QuZmlyc3QoYiJwYXls
b2FkIikKQEAgLTcxLDIwICs3NywyNiBAQCBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAK
ICAgICAgICAgICAgICAgICAjIENvbmZpcm0gdGhlIHBheWxvYWQgc2l6ZSBzZW50IG1hdGNoZXMg
d2l0aCB0aGUgbnVtYmVyIG9mCiAgICAgICAgICAgICAgICAgIyBjaGFyYWN0ZXJzIHNlbnQuCi0g
ICAgICAgICAgICAgICAgaWYgcGF5bG9hZF9zaXplICE9IGxlbihwYXlsb2FkX3BhcnRzWzFdKToK
KyAgICAgICAgICAgICAgICBpZiBwYXlsb2FkX3NpemUgIT0gbGVuKHBheWxvYWQpOgogICAgICAg
ICAgICAgICAgICAgICBlcnJvciA9IHUiZXhwZWN0ZWQgJWQgY2hhcmFjdGVycyBidXQgZ290ICVk
IiAlICgKLSAgICAgICAgICAgICAgICAgICAgICAgIHBheWxvYWRfc2l6ZSwgbGVuKHBheWxvYWRf
cGFydHNbMV0pKQorICAgICAgICAgICAgICAgICAgICAgICAgcGF5bG9hZF9zaXplLCBsZW4ocGF5
bG9hZCkpCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgIyBDb25m
aXJtIHRoZSBwYXlsb2FkIGNvbnRhaW5zIHRoZSBjb3JyZWN0IGNoYXJhY3RlcnMuCi0gICAgICAg
ICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDAsIHBheWxvYWRfc2l6ZSk6Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBpZiBwYXlsb2FkX3BhcnRzWzFdW2k6aSsxXSAhPSBiIioiOgorICAgICAg
ICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4ocGF5bG9hZCkpOgorICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgaSA8PSBsZW4ocGF5bG9hZF9wYXJ0c1swXSk6CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICAgICAgICAgIGMgPSBwYXls
b2FkW2k6aSsxXQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgYyAhPSBiIioiOgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGVycm9yID0gdSJleHBlY3RlZCAnKicgYXQgaW5kZXggJWQg
YnV0IGdvdCAnJXMnJyIgJSAoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGksIGlz
b21vcnBoaWNfZGVjb2RlKHBheWxvYWRfcGFydHNbMV1baTppKzFdKSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaSwgaXNvbW9ycGhpY19kZWNvZGUoYykpCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYnJlYWsKIAogICAgICAgICAgICAgIyBTdG9yZSB0aGUgcmVzdWx0IGlu
IHRoZSBzdGFzaCBzbyB0aGF0IGl0IGNhbiBiZSByZXRyaWV2ZWQKICAgICAgICAgICAgICMgbGF0
ZXIgd2l0aCBhICdzdGF0JyBjb21tYW5kLgotICAgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rh
c2gucHV0KGlkLCB7dSJlcnJvciI6IGVycm9yfSkKKyAgICAgICAgICAgIHJlcXVlc3Quc2VydmVy
LnN0YXNoLnB1dChpZCwgeworICAgICAgICAgICAgICAgIHUiZXJyb3IiOiBlcnJvciwKKyAgICAg
ICAgICAgICAgICB1InR5cGUiOiBpc29tb3JwaGljX2RlY29kZShjb250ZW50VHlwZSkKKyAgICAg
ICAgICAgIH0pCiAgICAgICAgIGVsaWYgcmVxdWVzdC5tZXRob2QgPT0gdSJPUFRJT05TIjoKICAg
ICAgICAgICAgICMgSWYgd2UgZXhwZWN0IGEgcHJlZmxpZ2h0LCB0aGVuIGFkZCB0aGUgY29ycyBo
ZWFkZXJzIHdlIGV4cGVjdCwKICAgICAgICAgICAgICMgb3RoZXJ3aXNlIGxvZyBhbiBlcnJvciBh
cyB3ZSBzaG91bGRuJ3Qgc2VuZCBhIHByZWZsaWdodCBmb3IgYWxsCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi93M2MtaW1wb3J0
LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29u
L3czYy1pbXBvcnQubG9nCmluZGV4IDdmZjA1NzgzN2E0MjMxZTBkMzQxN2M0NDA4YWIxYjRlOWI3
ODRjZmIuLjIyZWMzYWNjNzUyODlhZmNkMWYzNmE2YTlhMTc0NTUyMDdjYzIyNzAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL3cz
Yy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvYmVhY29uL3czYy1pbXBvcnQubG9nCkBAIC0xNSwxOSArMTUsOSBAQCBOb25lCiAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vTUVUQS55bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tYmFzaWMtYmxvYi5odG1sCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWJh
c2ljLWJsb2JNYXguaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvYmVhY29uL2JlYWNvbi1iYXNpYy1idWZmZXJzb3VyY2UuaHRtbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1iYXNpYy1idWZm
ZXJzb3VyY2VNYXguaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvYmVhY29uL2JlYWNvbi1iYXNpYy1mb3JtZGF0YS5odG1sCi0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWJhc2ljLWZvcm1kYXRh
TWF4Lmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Jl
YWNvbi9iZWFjb24tYmFzaWMtc3RyaW5nLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tYmFzaWMtc3RyaW5nTWF4Lmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24t
YmFzaWMuaHR0cHMud2luZG93LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWNvbW1vbi5zdWIuanMKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tY29ycy5zdWIud2luZG93
LmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24v
YmVhY29uLWVycm9yLnN1Yi53aW5kb3cuanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tbmF2aWdhdGUuaHRtbAotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1wcmVmbGlnaHQt
ZmFpbHVyZS5zdWIud2luZG93LmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLXJlYWRhYmxlc3RyZWFtLndpbmRvdy5qcwotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1yZWRp
cmVjdC5zdWIud2luZG93LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9iZWFjb24vYmVhY29uLWNvcnMuaHR0cHMud2luZG93LmpzCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLW5hdmlnYXRlLmh0
dHBzLndpbmRvdy5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvYmVhY29uL2JlYWNvbi1yZWRpcmVjdC5odHRwcy53aW5kb3cuanMKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9pZGxoYXJuZXNzLmFueS5qcwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>