<?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>244435</bug_id>
          
          <creation_ts>2022-08-27 11:50:08 -0700</creation_ts>
          <short_desc>REGRESSION(bdc7d2c65ad3b0c0ada39a28e7121b2943a57931): Crash on Debugger destruction</short_desc>
          <delta_ts>2022-08-27 11:54: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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>243716</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>hi</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1894230</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2022-08-27 11:50:08 -0700</bug_when>
    <thetext>https://commits.webkit.org/bdc7d2c65ad3b0c0ada39a28e7121b2943a57931 introduced a regression:
Crash on Debugger destruction

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1894232</commentid>
    <comment_count>1</comment_count>
      <attachid>461928</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2022-08-27 11:50:14 -0700</bug_when>
    <thetext>Created attachment 461928
REVERT of bdc7d2c65ad3b0c0ada39a28e7121b2943a57931

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the revert will be successful.  This process takes approximately 15 minutes.

If you would like to land the revert faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1894233</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-08-27 11:53:36 -0700</bug_when>
    <thetext>Committed 253867@main (e5050c99acdd): &lt;https://commits.webkit.org/253867@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 461928.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1894234</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-08-27 11:54:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/99231606&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>461928</attachid>
            <date>2022-08-27 11:50:14 -0700</date>
            <delta_ts>2022-08-27 11:53:37 -0700</delta_ts>
            <desc>REVERT of bdc7d2c65ad3b0c0ada39a28e7121b2943a57931</desc>
            <filename>bug-244435-20220827115013.patch</filename>
            <type>text/plain</type>
            <size>118312</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSAwZjQyYjIyMzQyYzg0YmE2ZmRmZDIzOGE0ZTZlYjY4NzM3NzY0MjA2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBTYXQsIDI3IEF1ZyAyMDIyIDExOjUwOjEyIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0g
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nCiByYmRjN2QyYzY1YWQzYjBjMGFkYTM5YTI4ZTcxMjFiMjk0
M2E1NzkzMS4KIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDQ0MzUK
CkNyYXNoIG9uIERlYnVnZ2VyIGRlc3RydWN0aW9uCgpSZXZlcnRlZCBjaGFuZ2VzZXQ6CgoiV2Vi
IEluc3BlY3RvcjogRGVidWdnZXI6IHN5bWJvbGljIGJyZWFrcG9pbnRzIHNob3VsZCB3b3JrIHdp
dGggbmF0aXZlIGZ1bmN0aW9ucyIKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTI0MzcxNgpodHRwczovL2NvbW1pdHMud2Via2l0Lm9yZy9iZGM3ZDJjNjVhZDNiMGMwYWRh
MzlhMjhlNzEyMWIyOTQzYTU3OTMxCi0tLQogU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2Vy
L0RlYnVnZ2VyLmNwcCAgIHwgIDIxICstCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIv
RGVidWdnZXIuaCAgICAgfCAgMTYgKy0KIC4uLi9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3REZWJ1
Z2dlci5jcHAgICAgICB8ICAgMiArLQogLi4uL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50
LmNwcCAgICAgICAgIHwgMzIwICstLS0tLS0tLS0tLS0tLS0tLQogLi4uL2luc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIHwgICAyIC0KIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUQ29kZS5jcHAgICAgICAgICB8ICAxNCAtCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVENvZGUuaCAgICAgICAgICAgfCAgIDcgLQogU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGVyYXRpb25zLmNwcCAgIHwgIDE1IC0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3BlcmF0aW9ucy5oICAgICB8ICAgMiAtCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VFRodW5rcy5jcHAgICAgICAgfCAgMTIgLQogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRU
aHVua3MuaCAgICAgICAgIHwgICAyIC0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtH
ZW5lcmF0b3JzLmNwcCB8ICAyMyArLQogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dl
bmVyYXRvcnMuaCAgIHwgICAyIC0KIC4uLi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFi
bGVCYXNlLmggICB8ICA0MiArLS0KIC4uLi9ydW50aW1lL05hdGl2ZUV4ZWN1dGFibGUuY3BwICAg
ICAgICAgICAgICB8ICAgNiAtCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAg
ICAgICAgICAgfCAgMjAgLS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmggICAg
ICAgICAgICB8ICAgNyAtCiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2VyLmNw
cCAgICAgfCAgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlci5j
cHAgICB8ICAgMiArLQogLi4uL0NvbnRyb2xsZXJzL0RlYnVnZ2VyTWFuYWdlci5qcyAgICAgICAg
ICAgIHwgICA2ICstCiAuLi5saWMtYnJlYWtwb2ludC1leGFjdC1jYXNlLWluc2Vuc2l0aXZlLmh0
bWwgfCAgIDQgKy0KIC4uLmJvbGljLWJyZWFrcG9pbnQtZXhhY3QtY2FzZS1zZW5zaXRpdmUuaHRt
bCB8ICAgNCArLQogLi4udmUtZG9tLWV4YWN0LWNhc2UtaW5zZW5zaXRpdmUtZXhwZWN0ZWQudHh0
IHwgMTY1IC0tLS0tLS0tLQogLi4uaW50LW5hdGl2ZS1kb20tZXhhY3QtY2FzZS1pbnNlbnNpdGl2
ZS5odG1sIHwgMTA3IC0tLS0tLQogLi4udGl2ZS1kb20tZXhhY3QtY2FzZS1zZW5zaXRpdmUtZXhw
ZWN0ZWQudHh0IHwgMTY1IC0tLS0tLS0tLQogLi4ucG9pbnQtbmF0aXZlLWRvbS1leGFjdC1jYXNl
LXNlbnNpdGl2ZS5odG1sIHwgMTA3IC0tLS0tLQogLi4udmUtZG9tLXJlZ2V4LWNhc2UtaW5zZW5z
aXRpdmUtZXhwZWN0ZWQudHh0IHwgMTY1IC0tLS0tLS0tLQogLi4uaW50LW5hdGl2ZS1kb20tcmVn
ZXgtY2FzZS1pbnNlbnNpdGl2ZS5odG1sIHwgMTA3IC0tLS0tLQogLi4udGl2ZS1kb20tcmVnZXgt
Y2FzZS1zZW5zaXRpdmUtZXhwZWN0ZWQudHh0IHwgMTY1IC0tLS0tLS0tLQogLi4ucG9pbnQtbmF0
aXZlLWRvbS1yZWdleC1jYXNlLXNlbnNpdGl2ZS5odG1sIHwgMTA3IC0tLS0tLQogLi4uaXZlLWpz
LWV4YWN0LWNhc2UtaW5zZW5zaXRpdmUtZXhwZWN0ZWQudHh0IHwgMTY1IC0tLS0tLS0tLQogLi4u
b2ludC1uYXRpdmUtanMtZXhhY3QtY2FzZS1pbnNlbnNpdGl2ZS5odG1sIHwgMTA0IC0tLS0tLQog
Li4uYXRpdmUtanMtZXhhY3QtY2FzZS1zZW5zaXRpdmUtZXhwZWN0ZWQudHh0IHwgMTY1IC0tLS0t
LS0tLQogLi4ua3BvaW50LW5hdGl2ZS1qcy1leGFjdC1jYXNlLXNlbnNpdGl2ZS5odG1sIHwgMTA0
IC0tLS0tLQogLi4uaXZlLWpzLXJlZ2V4LWNhc2UtaW5zZW5zaXRpdmUtZXhwZWN0ZWQudHh0IHwg
MTY1IC0tLS0tLS0tLQogLi4ub2ludC1uYXRpdmUtanMtcmVnZXgtY2FzZS1pbnNlbnNpdGl2ZS5o
dG1sIHwgMTA0IC0tLS0tLQogLi4uYXRpdmUtanMtcmVnZXgtY2FzZS1zZW5zaXRpdmUtZXhwZWN0
ZWQudHh0IHwgMTY1IC0tLS0tLS0tLQogLi4ua3BvaW50LW5hdGl2ZS1qcy1yZWdleC1jYXNlLXNl
bnNpdGl2ZS5odG1sIHwgMTA0IC0tLS0tLQogLi4ubGljLWJyZWFrcG9pbnQtcmVnZXgtY2FzZS1p
bnNlbnNpdGl2ZS5odG1sIHwgICA0ICstCiAuLi5ib2xpYy1icmVha3BvaW50LXJlZ2V4LWNhc2Ut
c2Vuc2l0aXZlLmh0bWwgfCAgIDQgKy0KIDQwIGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMo
KyksIDI2NjYgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2RlYnVnZ2VyL3N5bWJvbGljLWJyZWFrcG9pbnQtbmF0aXZlLWRvbS1leGFjdC1jYXNl
LWluc2Vuc2l0aXZlLWV4cGVjdGVkLnR4dAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3Rz
L2luc3BlY3Rvci9kZWJ1Z2dlci9zeW1ib2xpYy1icmVha3BvaW50LW5hdGl2ZS1kb20tZXhhY3Qt
Y2FzZS1pbnNlbnNpdGl2ZS5odG1sCiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2RlYnVnZ2VyL3N5bWJvbGljLWJyZWFrcG9pbnQtbmF0aXZlLWRvbS1leGFjdC1jYXNl
LXNlbnNpdGl2ZS1leHBlY3RlZC50eHQKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZGVidWdnZXIvc3ltYm9saWMtYnJlYWtwb2ludC1uYXRpdmUtZG9tLWV4YWN0LWNh
c2Utc2Vuc2l0aXZlLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZGVidWdnZXIvc3ltYm9saWMtYnJlYWtwb2ludC1uYXRpdmUtZG9tLXJlZ2V4LWNhc2UtaW5z
ZW5zaXRpdmUtZXhwZWN0ZWQudHh0CiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2RlYnVnZ2VyL3N5bWJvbGljLWJyZWFrcG9pbnQtbmF0aXZlLWRvbS1yZWdleC1jYXNl
LWluc2Vuc2l0aXZlLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZGVidWdnZXIvc3ltYm9saWMtYnJlYWtwb2ludC1uYXRpdmUtZG9tLXJlZ2V4LWNhc2Utc2Vu
c2l0aXZlLWV4cGVjdGVkLnR4dAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci9zeW1ib2xpYy1icmVha3BvaW50LW5hdGl2ZS1kb20tcmVnZXgtY2FzZS1z
ZW5zaXRpdmUuaHRtbAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2luc3BlY3Rvci9k
ZWJ1Z2dlci9zeW1ib2xpYy1icmVha3BvaW50LW5hdGl2ZS1qcy1leGFjdC1jYXNlLWluc2Vuc2l0
aXZlLWV4cGVjdGVkLnR4dAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2luc3BlY3Rv
ci9kZWJ1Z2dlci9zeW1ib2xpYy1icmVha3BvaW50LW5hdGl2ZS1qcy1leGFjdC1jYXNlLWluc2Vu
c2l0aXZlLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXIvc3ltYm9saWMtYnJlYWtwb2ludC1uYXRpdmUtanMtZXhhY3QtY2FzZS1zZW5zaXRpdmUt
ZXhwZWN0ZWQudHh0CiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rl
YnVnZ2VyL3N5bWJvbGljLWJyZWFrcG9pbnQtbmF0aXZlLWpzLWV4YWN0LWNhc2Utc2Vuc2l0aXZl
Lmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIv
c3ltYm9saWMtYnJlYWtwb2ludC1uYXRpdmUtanMtcmVnZXgtY2FzZS1pbnNlbnNpdGl2ZS1leHBl
Y3RlZC50eHQKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdn
ZXIvc3ltYm9saWMtYnJlYWtwb2ludC1uYXRpdmUtanMtcmVnZXgtY2FzZS1pbnNlbnNpdGl2ZS5o
dG1sCiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3N5
bWJvbGljLWJyZWFrcG9pbnQtbmF0aXZlLWpzLXJlZ2V4LWNhc2Utc2Vuc2l0aXZlLWV4cGVjdGVk
LnR4dAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9z
eW1ib2xpYy1icmVha3BvaW50LW5hdGl2ZS1qcy1yZWdleC1jYXNlLXNlbnNpdGl2ZS5odG1sCgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlci5jcHAKaW5kZXggNTNkY2E4
NTgwOGZjLi4zMWUyMDBhNWY2NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZWJ1Z2dlci9EZWJ1Z2dlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2Vy
L0RlYnVnZ2VyLmNwcApAQCAtMTI3LDEzICsxMjcsMTAgQEAgRGVidWdnZXI6OkRlYnVnZ2VyKFZN
JiB2bSkKICAgICAsIG1fbGFzdEV4ZWN1dGVkU291cmNlSUQobm9Tb3VyY2VJRCkKICAgICAsIG1f
cGF1c2luZ0JyZWFrcG9pbnRJRChub0JyZWFrcG9pbnRJRCkKIHsKLSAgICBtX3ZtLmFkZERlYnVn
Z2VyKCp0aGlzKTsKIH0KIAogRGVidWdnZXI6On5EZWJ1Z2dlcigpCiB7Ci0gICAgbV92bS5yZW1v
dmVEZWJ1Z2dlcigqdGhpcyk7Ci0KICAgICBIYXNoU2V0PEpTR2xvYmFsT2JqZWN0Kj46Oml0ZXJh
dG9yIGVuZCA9IG1fZ2xvYmFsT2JqZWN0cy5lbmQoKTsKICAgICBmb3IgKEhhc2hTZXQ8SlNHbG9i
YWxPYmplY3QqPjo6aXRlcmF0b3IgaXQgPSBtX2dsb2JhbE9iamVjdHMuYmVnaW4oKTsgaXQgIT0g
ZW5kOyArK2l0KQogICAgICAgICAoKml0KS0+c2V0RGVidWdnZXIobnVsbHB0cik7CkBAIC0yNTEs
MjAgKzI0OCw2IEBAIHZvaWQgRGVidWdnZXI6OmZvckVhY2hSZWdpc3RlcmVkQ29kZUJsb2NrKGNv
bnN0IEZ1bmN0aW9uPHZvaWQoQ29kZUJsb2NrKik+JiBjYWxsCiAgICAgfSk7CiB9CiAKLXZvaWQg
RGVidWdnZXI6OmRpZENyZWF0ZU5hdGl2ZUV4ZWN1dGFibGUoTmF0aXZlRXhlY3V0YWJsZSYgbmF0
aXZlRXhlY3V0YWJsZSkKLXsKLSAgICBkaXNwYXRjaEZ1bmN0aW9uVG9PYnNlcnZlcnMoWyZdIChP
YnNlcnZlciYgb2JzZXJ2ZXIpIHsKLSAgICAgICAgb2JzZXJ2ZXIuZGlkQ3JlYXRlTmF0aXZlRXhl
Y3V0YWJsZShuYXRpdmVFeGVjdXRhYmxlKTsKLSAgICB9KTsKLX0KLQotdm9pZCBEZWJ1Z2dlcjo6
d2lsbENhbGxOYXRpdmVFeGVjdXRhYmxlKENhbGxGcmFtZSogY2FsbEZyYW1lKQotewotICAgIGRp
c3BhdGNoRnVuY3Rpb25Ub09ic2VydmVycyhbJl0gKE9ic2VydmVyJiBvYnNlcnZlcikgewotICAg
ICAgICBvYnNlcnZlci53aWxsQ2FsbE5hdGl2ZUV4ZWN1dGFibGUoY2FsbEZyYW1lKTsKLSAgICB9
KTsKLX0KLQogdm9pZCBEZWJ1Z2dlcjo6c2V0Q2xpZW50KENsaWVudCogY2xpZW50KQogewogICAg
IEFTU0VSVCghIW1fY2xpZW50ICE9ICEhY2xpZW50KTsKQEAgLTI5MSw3ICsyNzQsNyBAQCB2b2lk
IERlYnVnZ2VyOjpyZW1vdmVPYnNlcnZlcihPYnNlcnZlciYgb2JzZXJ2ZXIsIGJvb2wgaXNCZWlu
Z0Rlc3Ryb3llZCkKIAogYm9vbCBEZWJ1Z2dlcjo6Y2FuRGlzcGF0Y2hGdW5jdGlvblRvT2JzZXJ2
ZXJzKCkgY29uc3QKIHsKLSAgICByZXR1cm4gIW1fb2JzZXJ2ZXJzLmlzRW1wdHkoKTsKKyAgICBy
ZXR1cm4gIW1fZGlzcGF0Y2hpbmdGdW5jdGlvblRvT2JzZXJ2ZXJzICYmICFtX29ic2VydmVycy5p
c0VtcHR5KCk7CiB9CiAKIHZvaWQgRGVidWdnZXI6OmRpc3BhdGNoRnVuY3Rpb25Ub09ic2VydmVy
cyhGdW5jdGlvbjx2b2lkKE9ic2VydmVyJik+IGZ1bmMpCkBAIC0yOTksNiArMjgyLDggQEAgdm9p
ZCBEZWJ1Z2dlcjo6ZGlzcGF0Y2hGdW5jdGlvblRvT2JzZXJ2ZXJzKEZ1bmN0aW9uPHZvaWQoT2Jz
ZXJ2ZXImKT4gZnVuYykKICAgICBpZiAoIWNhbkRpc3BhdGNoRnVuY3Rpb25Ub09ic2VydmVycygp
KQogICAgICAgICByZXR1cm47CiAKKyAgICBTZXRGb3JTY29wZSBjaGFuZ2UobV9kaXNwYXRjaGlu
Z0Z1bmN0aW9uVG9PYnNlcnZlcnMsIHRydWUpOworCiAgICAgZm9yIChhdXRvKiBvYnNlcnZlciA6
IGNvcHlUb1ZlY3RvcihtX29ic2VydmVycykpCiAgICAgICAgIGZ1bmMoKm9ic2VydmVyKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyLmgKaW5kZXggYWFiOTNkYjU5
MjY4Li42YzE4NmJmOTZhZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1
Z2dlci9EZWJ1Z2dlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1
Z2dlci5oCkBAIC0yNyw3ICsyNyw2IEBACiAjaW5jbHVkZSAiRGVidWdnZXJQYXJzZURhdGEuaCIK
ICNpbmNsdWRlICJEZWJ1Z2dlclByaW1pdGl2ZXMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgi
Ci0jaW5jbHVkZSA8d3RmL0RvdWJseUxpbmtlZExpc3QuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogI2luY2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgogCkBAIC00MSw3ICs0MCw3IEBAIGNs
YXNzIE1pY3JvdGFzazsKIGNsYXNzIFNvdXJjZVByb3ZpZGVyOwogY2xhc3MgVk07CiAKLWNsYXNz
IERlYnVnZ2VyIDogcHVibGljIERvdWJseUxpbmtlZExpc3ROb2RlPERlYnVnZ2VyPiB7CitjbGFz
cyBEZWJ1Z2dlciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
SlNfRVhQT1JUX1BSSVZBVEUgRGVidWdnZXIoVk0mKTsKQEAgLTE0Niw5ICsxNDUsNiBAQCBwdWJs
aWM6CiAgICAgdm9pZCByZWdpc3RlckNvZGVCbG9jayhDb2RlQmxvY2sqKTsKICAgICB2b2lkIGZv
ckVhY2hSZWdpc3RlcmVkQ29kZUJsb2NrKGNvbnN0IEZ1bmN0aW9uPHZvaWQoQ29kZUJsb2NrKik+
Jik7CiAKLSAgICB2b2lkIGRpZENyZWF0ZU5hdGl2ZUV4ZWN1dGFibGUoTmF0aXZlRXhlY3V0YWJs
ZSYpOwotICAgIHZvaWQgd2lsbENhbGxOYXRpdmVFeGVjdXRhYmxlKENhbGxGcmFtZSopOwotCiAg
ICAgY2xhc3MgQ2xpZW50IHsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfkNsaWVudCgp
ID0gZGVmYXVsdDsKQEAgLTE4NCw5ICsxODAsNiBAQCBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBkaWRQYXJzZVNvdXJjZShTb3VyY2VJRCwgY29uc3QgRGVidWdnZXI6OlNjcmlwdCYpIHsg
fQogICAgICAgICB2aXJ0dWFsIHZvaWQgZmFpbGVkVG9QYXJzZVNvdXJjZShjb25zdCBTdHJpbmcm
IC8qIHVybCAqLywgY29uc3QgU3RyaW5nJiAvKiBkYXRhICovLCBpbnQgLyogZmlyc3RMaW5lICov
LCBpbnQgLyogZXJyb3JMaW5lICovLCBjb25zdCBTdHJpbmcmIC8qIGVycm9yTWVzc2FnZSAqLykg
eyB9CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZU5hdGl2ZUV4ZWN1dGFibGUoTmF0
aXZlRXhlY3V0YWJsZSYpIHsgfQotICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbENhbGxOYXRpdmVF
eGVjdXRhYmxlKENhbGxGcmFtZSopIHsgfQotCiAgICAgICAgIHZpcnR1YWwgdm9pZCB3aWxsRW50
ZXIoQ2FsbEZyYW1lKikgeyB9CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFF1ZXVlTWljcm90
YXNrKEpTR2xvYmFsT2JqZWN0KiwgTWljcm90YXNrSWRlbnRpZmllcikgeyB9CkBAIC0yNTEsNyAr
MjQ0LDcgQEAgcHJvdGVjdGVkOgogICAgIC8vIG9yIHNvbWUgb3RoZXIgYXN5bmMgb3BlcmF0aW9u
IGluIGEgcHVyZSBKU0NvbnRleHQpIHdlIGNhbiBpZ25vcmUgZXhjZXB0aW9ucyByZXBvcnRlZCBo
ZXJlLgogICAgIHZpcnR1YWwgdm9pZCByZXBvcnRFeGNlcHRpb24oSlNHbG9iYWxPYmplY3QqLCBF
eGNlcHRpb24qKSBjb25zdCB7IH0KIAotICAgIGJvb2wgbV9kb25lUHJvY2Vzc2luZ0RlYnVnZ2Vy
RXZlbnRzIHsgdHJ1ZSB9OworICAgIGJvb2wgZG9uZVByb2Nlc3NpbmdEZWJ1Z2dlckV2ZW50cygp
IGNvbnN0IHsgcmV0dXJuIG1fZG9uZVByb2Nlc3NpbmdEZWJ1Z2dlckV2ZW50czsgfQogCiBwcml2
YXRlOgogICAgIEpTVmFsdWUgZXhjZXB0aW9uT3JDYXVnaHRWYWx1ZShKU0dsb2JhbE9iamVjdCop
OwpAQCAtMzU2LDE3ICszNDksMTYgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8SlNDOjpEZWJ1Z2dl
ckNhbGxGcmFtZT4gbV9jdXJyZW50RGVidWdnZXJDYWxsRnJhbWU7CiAKICAgICBIYXNoU2V0PE9i
c2VydmVyKj4gbV9vYnNlcnZlcnM7CisgICAgYm9vbCBtX2Rpc3BhdGNoaW5nRnVuY3Rpb25Ub09i
c2VydmVycyB7IGZhbHNlIH07CiAKICAgICBDbGllbnQqIG1fY2xpZW50IHsgbnVsbHB0ciB9Owog
ICAgIFByb2ZpbGluZ0NsaWVudCogbV9wcm9maWxpbmdDbGllbnQgeyBudWxscHRyIH07CiAKLSAg
ICBEZWJ1Z2dlciogbV9wcmV2OyAvLyBSZXF1aXJlZCBieSBEb3VibHlMaW5rZWRMaXN0Tm9kZS4K
LSAgICBEZWJ1Z2dlciogbV9uZXh0OyAvLyBSZXF1aXJlZCBieSBEb3VibHlMaW5rZWRMaXN0Tm9k
ZS4KKyAgICBib29sIG1fZG9uZVByb2Nlc3NpbmdEZWJ1Z2dlckV2ZW50cyB7IHRydWUgfTsKIAog
ICAgIGZyaWVuZCBjbGFzcyBEZWJ1Z2dlclBhdXNlZFNjb3BlOwogICAgIGZyaWVuZCBjbGFzcyBU
ZW1wb3JhcnlQYXVzZWRTdGF0ZTsKICAgICBmcmllbmQgY2xhc3MgTExJbnRPZmZzZXRzRXh0cmFj
dG9yOwotICAgIGZyaWVuZCBjbGFzcyBXVEY6OkRvdWJseUxpbmtlZExpc3ROb2RlPERlYnVnZ2Vy
PjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdERlYnVnZ2VyLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3REZWJ1Z2dlci5jcHAKaW5kZXggZmE1
OGQ4ZmFjMzFiLi42MThjZGUxODkzZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3REZWJ1Z2dlci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9KU0dsb2JhbE9iamVjdERlYnVnZ2VyLmNwcApAQCAtNjMsNyAr
NjMsNyBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0RGVidWdnZXI6OnJ1bkV2ZW50TG9vcFdoaWxlUGF1
c2VkKCkKICAgICAvLyBEcm9wIGFsbCBsb2NrcyBzbyBhbm90aGVyIHRocmVhZCBjYW4gd29yayBp
biB0aGUgVk0gd2hpbGUgd2UgYXJlIG5lc3RlZC4KICAgICBKU0M6OkpTTG9jazo6RHJvcEFsbExv
Y2tzIGRyb3BBbGxMb2NrcygmbV9nbG9iYWxPYmplY3Qudm0oKSk7CiAKLSAgICB3aGlsZSAoIW1f
ZG9uZVByb2Nlc3NpbmdEZWJ1Z2dlckV2ZW50cykgeworICAgIHdoaWxlICghZG9uZVByb2Nlc3Np
bmdEZWJ1Z2dlckV2ZW50cygpKSB7CiAgICAgICAgIGlmIChSdW5Mb29wOjpjeWNsZShKU0dsb2Jh
bE9iamVjdERlYnVnZ2VyOjpydW5Mb29wTW9kZSgpKSA9PSBSdW5Mb29wOjpDeWNsZVJlc3VsdDo6
U3RvcCkKICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJB
Z2VudC5jcHAKaW5kZXggNjk3YmEzZGM3ZWFhLi44ZGUzNzI0NTlmYWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVnZ2VyQWdl
bnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvckRlYnVnZ2VyQWdlbnQuY3BwCkBAIC0zNCwyMiArMzQsMTQgQEAKICNpbmNsdWRlICJDb250
ZW50U2VhcmNoVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiRGVidWdnZXIuaCIKICNpbmNsdWRlICJE
ZWJ1Z2dlclNjb3BlLmgiCi0jaW5jbHVkZSAiRGVmZXJHQy5oIgotI2luY2x1ZGUgIkhlYXBJdGVy
YXRpb25TY29wZS5oIgogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0LmgiCiAjaW5jbHVkZSAiSW5q
ZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCi0jaW5jbHVkZSAiSklUQ29kZS5oIgotI2luY2x1ZGUgIkpJ
VFRodW5rcy5oIgogI2luY2x1ZGUgIkpTSmF2YVNjcmlwdENhbGxGcmFtZS5oIgogI2luY2x1ZGUg
IkphdmFTY3JpcHRDYWxsRnJhbWUuaCIKLSNpbmNsdWRlICJNYXJrZWRTcGFjZUlubGluZXMuaCIK
ICNpbmNsdWRlICJNaWNyb3Rhc2suaCIKLSNpbmNsdWRlICJOYXRpdmVFeGVjdXRhYmxlLmgiCiAj
aW5jbHVkZSAiUmVndWxhckV4cHJlc3Npb24uaCIKICNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2su
aCIKICNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiCi0jaW5jbHVkZSAiV2Vhay5o
IgotI2luY2x1ZGUgPHd0Zi9Cb3guaD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KICNpbmNs
dWRlIDx3dGYvSlNPTlZhbHVlcy5oPgogI2luY2x1ZGUgPHd0Zi9TdG9wd2F0Y2guaD4KQEAgLTI4
NCw2ICsyNzYsOSBAQCB2b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmludGVybmFsRGlzYWJs
ZShib29sIGlzQmVpbmdEZXN0cm95ZWQpCiAKICAgICBjbGVhckFzeW5jU3RhY2tUcmFjZURhdGEo
KTsKIAorICAgIG1fcGF1c2VPbkFzc2VydGlvbnNCcmVha3BvaW50ID0gbnVsbHB0cjsKKyAgICBt
X3BhdXNlT25NaWNyb3Rhc2tzQnJlYWtwb2ludCA9IG51bGxwdHI7CisKICAgICBtX2VuYWJsZWQg
PSBmYWxzZTsKIH0KIApAQCAtNjY1LDEwNSArNjYwLDI4IEBAIFByb3RvY29sOjpFcnJvclN0cmlu
Z09yPHZvaWQ+IEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OnJlbW92ZUJyZWFrcG9pbnQoY29uc3Qg
UHJvCiAgICAgcmV0dXJuIHsgfTsKIH0KIAotc3RhdGljIFN0cmluZyBmdW5jdGlvbk5hbWUoSlND
OjpOYXRpdmVFeGVjdXRhYmxlJiBuYXRpdmVFeGVjdXRhYmxlKQorc3RhdGljIFN0cmluZyBmdW5j
dGlvbk5hbWUoSlNDOjpDb2RlQmxvY2sqIGNvZGVCbG9jaykKIHsKLSAgICByZXR1cm4gbmF0aXZl
RXhlY3V0YWJsZS5uYW1lKCk7Ci19CisgICAgaWYgKCFjb2RlQmxvY2spCisgICAgICAgIHJldHVy
biBudWxsU3RyaW5nKCk7CiAKLXN0YXRpYyBTdHJpbmcgZnVuY3Rpb25OYW1lKEpTQzo6RnVuY3Rp
b25FeGVjdXRhYmxlJiBmdW5jdGlvbkV4ZWN1dGFibGUpCi17Ci0gICAgcmV0dXJuIGZ1bmN0aW9u
RXhlY3V0YWJsZS5lY21hTmFtZSgpLnN0cmluZygpOwotfQotCi1zdGF0aWMgU3RyaW5nIGZ1bmN0
aW9uTmFtZShKU0M6OkNvZGVCbG9jayYgY29kZUJsb2NrKQotewotICAgIGlmIChhdXRvKiBmdW5j
dGlvbkV4ZWN1dGFibGUgPSBKU0M6OmpzRHluYW1pY0Nhc3Q8SlNDOjpGdW5jdGlvbkV4ZWN1dGFi
bGUqPihjb2RlQmxvY2sub3duZXJFeGVjdXRhYmxlKCkpKQotICAgICAgICByZXR1cm4gZnVuY3Rp
b25OYW1lKCpmdW5jdGlvbkV4ZWN1dGFibGUpOworICAgIGlmIChjb2RlQmxvY2stPmNvZGVUeXBl
KCkgIT0gSlNDOjpDb2RlVHlwZTo6RnVuY3Rpb25Db2RlKQorICAgICAgICByZXR1cm4gbnVsbFN0
cmluZygpOwogCi0gICAgcmV0dXJuIG51bGxTdHJpbmcoKTsKKyAgICByZXR1cm4gSlNDOjpqc0Nh
c3Q8SlNDOjpGdW5jdGlvbkV4ZWN1dGFibGUqPihjb2RlQmxvY2stPm93bmVyRXhlY3V0YWJsZSgp
KS0+ZWNtYU5hbWUoKS5zdHJpbmcoKTsKIH0KIAogc3RhdGljIFN0cmluZyBmdW5jdGlvbk5hbWUo
SlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSkKIHsKLSAgICBpZiAoYXV0byogY29kZUJsb2NrID0g
Y2FsbEZyYW1lLT5jb2RlQmxvY2soKSkKLSAgICAgICAgcmV0dXJuIGZ1bmN0aW9uTmFtZSgqY29k
ZUJsb2NrKTsKKyAgICBpZiAoIWNhbGxGcmFtZSkKKyAgICAgICAgcmV0dXJuIG51bGxTdHJpbmco
KTsKIAotICAgIGlmIChhdXRvKiBqc0Z1bmN0aW9uID0gSlNDOjpqc0R5bmFtaWNDYXN0PEpTQzo6
SlNGdW5jdGlvbio+KGNhbGxGcmFtZS0+anNDYWxsZWUoKSkpIHsKLSAgICAgICAgaWYgKGF1dG8q
IG5hdGl2ZUV4ZWN1dGFibGUgPSBKU0M6OmpzRHluYW1pY0Nhc3Q8SlNDOjpOYXRpdmVFeGVjdXRh
YmxlKj4oanNGdW5jdGlvbi0+ZXhlY3V0YWJsZSgpKSkKLSAgICAgICAgICAgIHJldHVybiBmdW5j
dGlvbk5hbWUoKm5hdGl2ZUV4ZWN1dGFibGUpOwotICAgIH0KKyAgICBpZiAoYXV0byogY29kZUJs
b2NrID0gY2FsbEZyYW1lLT5jb2RlQmxvY2soKSkKKyAgICAgICAgcmV0dXJuIGZ1bmN0aW9uTmFt
ZShjb2RlQmxvY2spOwogCiAgICAgcmV0dXJuIG51bGxTdHJpbmcoKTsKIH0KIAotI2lmIEVOQUJM
RShKSVQpCi0KLXN0cnVjdCBSZXBsYWNlZFRodW5rIHsKLSAgICB+UmVwbGFjZWRUaHVuaygpCi0g
ICAgewotICAgICAgICBpZiAoIW5hdGl2ZUV4ZWN1dGFibGUpCi0gICAgICAgICAgICByZXR1cm47
Ci0KLSAgICAgICAgYXV0byByZXN0b3JlVGh1bmtzID0gWyZdIChKU0M6OkNvZGVTcGVjaWFsaXph
dGlvbktpbmQga2luZCkgewotICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQobmF0aXZlRXhlY3V0
YWJsZS0+aGFzSklUQ29kZUZvcihraW5kKSk7Ci0KLSAgICAgICAgICAgIGF1dG8gaml0Q29kZSA9
IG5hdGl2ZUV4ZWN1dGFibGUtPmdlbmVyYXRlZEpJVENvZGVGb3Ioa2luZCk7Ci0gICAgICAgICAg
ICBpZiAoIWppdENvZGUtPmNhblN3YXBDb2RlUmVmRm9yRGVidWdnZXIoKSkKLSAgICAgICAgICAg
ICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgIEpTQzo6SklUQ29kZTo6Q29kZVJlZjxKU0M6OkpT
RW50cnlQdHJUYWc+IG9sZEpJVENvZGVSZWY7Ci0gICAgICAgICAgICBDb2RlUHRyPEpTQzo6SlNF
bnRyeVB0clRhZz4gb2xkQXJpdHlKSVRDb2RlUmVmOwotICAgICAgICAgICAgc3dpdGNoIChraW5k
KSB7Ci0gICAgICAgICAgICBjYXNlIEpTQzo6Q29kZUZvckNhbGw6Ci0gICAgICAgICAgICAgICAg
b2xkSklUQ29kZVJlZiA9IFdURk1vdmUoY2FsbFRodW5rKTsKLSAgICAgICAgICAgICAgICBvbGRB
cml0eUpJVENvZGVSZWYgPSBXVEZNb3ZlKGNhbGxBcml0eVRodW5rKTsKLSAgICAgICAgICAgICAg
ICBicmVhazsKLQotICAgICAgICAgICAgY2FzZSBKU0M6OkNvZGVGb3JDb25zdHJ1Y3Q6Ci0gICAg
ICAgICAgICAgICAgb2xkSklUQ29kZVJlZiA9IFdURk1vdmUoY29uc3RydWN0VGh1bmspOwotICAg
ICAgICAgICAgICAgIG9sZEFyaXR5SklUQ29kZVJlZiA9IFdURk1vdmUoY29uc3RydWN0QXJpdHlU
aHVuayk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAg
ICAgIGppdENvZGUtPnN3YXBDb2RlUmVmRm9yRGVidWdnZXIoV1RGTW92ZShvbGRKSVRDb2RlUmVm
KSk7Ci0gICAgICAgICAgICBuYXRpdmVFeGVjdXRhYmxlLT5zd2FwR2VuZXJhdGVkSklUQ29kZVdp
dGhBcml0eUNoZWNrRm9yRGVidWdnZXIoa2luZCwgb2xkQXJpdHlKSVRDb2RlUmVmKTsKLSAgICAg
ICAgfTsKLQotICAgICAgICByZXN0b3JlVGh1bmtzKEpTQzo6Q29kZUZvckNhbGwpOwotICAgICAg
ICByZXN0b3JlVGh1bmtzKEpTQzo6Q29kZUZvckNvbnN0cnVjdCk7Ci0gICAgfQotCi0gICAgSlND
OjpXZWFrPEpTQzo6TmF0aXZlRXhlY3V0YWJsZT4gbmF0aXZlRXhlY3V0YWJsZTsKLQotICAgIEpT
Qzo6SklUQ29kZTo6Q29kZVJlZjxKU0M6OkpTRW50cnlQdHJUYWc+IGNhbGxUaHVuazsKLSAgICBD
b2RlUHRyPEpTQzo6SlNFbnRyeVB0clRhZz4gY2FsbEFyaXR5VGh1bms7Ci0KLSAgICBKU0M6OkpJ
VENvZGU6OkNvZGVSZWY8SlNDOjpKU0VudHJ5UHRyVGFnPiBjb25zdHJ1Y3RUaHVuazsKLSAgICBD
b2RlUHRyPEpTQzo6SlNFbnRyeVB0clRhZz4gY29uc3RydWN0QXJpdHlUaHVuazsKLQotICAgIHNp
emVfdCBtYXRjaENvdW50IHsgMCB9OwotCi0gICAgZnJpZW5kIGlubGluZSBib29sIG9wZXJhdG9y
PT0oY29uc3QgQm94PFJlcGxhY2VkVGh1bms+JiBhLCBjb25zdCBCb3g8UmVwbGFjZWRUaHVuaz4m
IGIpCi0gICAgewotICAgICAgICByZXR1cm4gYSAmJiBiICYmIGEtPm5hdGl2ZUV4ZWN1dGFibGUu
Z2V0KCkgPT0gYi0+bmF0aXZlRXhlY3V0YWJsZS5nZXQoKTsKLSAgICB9Ci0KLSAgICBmcmllbmQg
aW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBCb3g8UmVwbGFjZWRUaHVuaz4mIGEsIGNvbnN0
IEpTQzo6TmF0aXZlRXhlY3V0YWJsZSogYikKLSAgICB7Ci0gICAgICAgIHJldHVybiBhICYmIGEt
Pm5hdGl2ZUV4ZWN1dGFibGUuZ2V0KCkgPT0gYjsKLSAgICB9Ci19OwotCi1zdGF0aWMgTG9jayBz
X3JlcGxhY2VkVGh1bmtzTG9jazsKLXN0YXRpYyBWZWN0b3I8Qm94PFJlcGxhY2VkVGh1bms+PiYg
cmVwbGFjZWRUaHVua3MoKSBXVEZfUkVRVUlSRVNfTE9DSyhzX3JlcGxhY2VkVGh1bmtzTG9jaykK
LXsKLSAgICBBU1NFUlQoc19yZXBsYWNlZFRodW5rc0xvY2suaXNIZWxkKCkpOwotICAgIHN0YXRp
YyBOZXZlckRlc3Ryb3llZDxWZWN0b3I8Qm94PFJlcGxhY2VkVGh1bms+Pj4gcmVwbGFjZWRUaHVu
a3M7Ci0gICAgcmV0dXJuIHJlcGxhY2VkVGh1bmtzOwotfQotCi0jZW5kaWYgLy8gRU5BQkxFKEpJ
VCkKLQogUHJvdG9jb2w6OkVycm9yU3RyaW5nT3I8dm9pZD4gSW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dDo6YWRkU3ltYm9saWNCcmVha3BvaW50KGNvbnN0IFN0cmluZyYgc3ltYm9sLCBzdGQ6Om9wdGlv
bmFsPGJvb2w+JiYgY2FzZVNlbnNpdGl2ZSwgc3RkOjpvcHRpb25hbDxib29sPiYmIGlzUmVnZXgs
IFJlZlB0cjxKU09OOjpPYmplY3Q+JiYgb3B0aW9ucykKIHsKICAgICBQcm90b2NvbDo6RXJyb3JT
dHJpbmcgZXJyb3JTdHJpbmc7CkBAIC03OTEsNDAgKzcwOSwxMiBAQCBQcm90b2NvbDo6RXJyb3JT
dHJpbmdPcjx2b2lkPiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjphZGRTeW1ib2xpY0JyZWFrcG9p
bnQoY29ucwogICAgICAgICBKU0M6OkpTTG9ja0hvbGRlciBsb2NrZXIobV9kZWJ1Z2dlci52bSgp
KTsKIAogICAgICAgICBtX2RlYnVnZ2VyLmZvckVhY2hSZWdpc3RlcmVkQ29kZUJsb2NrKFsmXSAo
SlNDOjpDb2RlQmxvY2sqIGNvZGVCbG9jaykgewotICAgICAgICAgICAgaWYgKHN5bWJvbGljQnJl
YWtwb2ludC5tYXRjaGVzKGZ1bmN0aW9uTmFtZSgqY29kZUJsb2NrKSkpCisgICAgICAgICAgICBp
ZiAoc3ltYm9saWNCcmVha3BvaW50Lm1hdGNoZXMoZnVuY3Rpb25OYW1lKGNvZGVCbG9jaykpKQog
ICAgICAgICAgICAgICAgIGNvZGVCbG9jay0+YWRkQnJlYWtwb2ludCgxKTsKICAgICAgICAgfSk7
CiAgICAgfQogCi0jaWYgRU5BQkxFKEpJVCkKLSAgICB7Ci0gICAgICAgIEpTQzo6RGVmZXJHQ0Zv
ckFXaGlsZSBkZWZlckdDKG1fZGVidWdnZXIudm0oKSk7Ci0KLSAgICAgICAgVmVjdG9yPEpTQzo6
TmF0aXZlRXhlY3V0YWJsZSo+IG5ld05hdGl2ZUV4ZWN1dGFibGVzOwotICAgICAgICB7Ci0gICAg
ICAgICAgICBMb2NrZXIgbG9ja2VyIHsgc19yZXBsYWNlZFRodW5rc0xvY2sgfTsKLSAgICAgICAg
ICAgIGF1dG8mIGV4aXN0aW5nUmVwbGFjZWRUaHVua3MgPSByZXBsYWNlZFRodW5rcygpOwotCi0g
ICAgICAgICAgICBKU0M6OkhlYXBJdGVyYXRpb25TY29wZSBpdGVyYXRpb25TY29wZShtX2RlYnVn
Z2VyLnZtKCkuaGVhcCk7Ci0gICAgICAgICAgICBtX2RlYnVnZ2VyLnZtKCkuaGVhcC5vYmplY3RT
cGFjZSgpLmZvckVhY2hMaXZlQ2VsbChpdGVyYXRpb25TY29wZSwgWyZdIChKU0M6OkhlYXBDZWxs
KiBjZWxsLCBKU0M6OkhlYXBDZWxsOjpLaW5kIGtpbmQpIHsKLSAgICAgICAgICAgICAgICBpZiAo
aXNKU0NlbGxLaW5kKGtpbmQpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChhdXRvKiBuYXRp
dmVFeGVjdXRhYmxlID0gSlNDOjpqc0R5bmFtaWNDYXN0PEpTQzo6TmF0aXZlRXhlY3V0YWJsZSo+
KHN0YXRpY19jYXN0PEpTQzo6SlNDZWxsKj4oY2VsbCkpKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoYXV0byBleGlzdGluZ0luZGV4ID0gZXhpc3RpbmdSZXBsYWNlZFRodW5rcy5maW5k
KG5hdGl2ZUV4ZWN1dGFibGUpOyBleGlzdGluZ0luZGV4ICE9IG5vdEZvdW5kKQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICsrZXhpc3RpbmdSZXBsYWNlZFRodW5rc1tleGlzdGluZ0luZGV4
XS0+bWF0Y2hDb3VudDsKLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBuZXdOYXRpdmVFeGVjdXRhYmxlcy5hcHBlbmQobmF0aXZlRXhlY3V0
YWJsZSk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAg
ICAgICAgICAgICByZXR1cm4gSXRlcmF0aW9uU3RhdHVzOjpDb250aW51ZTsKLSAgICAgICAgICAg
IH0pOwotICAgICAgICB9Ci0gICAgICAgIGZvciAoYXV0byogbmF0aXZlRXhlY3V0YWJsZSA6IFdU
Rk1vdmUobmV3TmF0aXZlRXhlY3V0YWJsZXMpKQotICAgICAgICAgICAgZGlkQ3JlYXRlTmF0aXZl
RXhlY3V0YWJsZSgqbmF0aXZlRXhlY3V0YWJsZSk7Ci0gICAgfQotI2VuZGlmCi0KLSAgICAvLyBG
SVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzI0Mzk5ND4gV2ViIEluc3BlY3RvcjogRGVidWdn
ZXI6IHN5bWJvbGljIGJyZWFrcG9pbnRzIHNob3VsZCB3b3JrIHdpdGggaW50cmluc2ljIGZ1bmN0
aW9ucworICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMjQzNzE2PiBXZWIgSW5z
cGVjdG9yOiBEZWJ1Z2dlcjogc3ltYm9saWMgYnJlYWtwb2ludHMgc2hvdWxkIHdvcmsgd2l0aCBu
YXRpdmUgZnVuY3Rpb25zCiAgICAgLy8gRklYTUU6IDxodHRwczovL3dlYmtpdC5vcmcvYi8yNDM3
MTc+IFdlYiBJbnNwZWN0b3I6IERlYnVnZ2VyOiBzeW1ib2xpYyBicmVha3BvaW50cyBzaG91bGQg
d29yayB3aGVuIGZ1bmN0aW9ucyBjaGFuZ2UgdGhlaXIgYG5hbWVgCiAKICAgICByZXR1cm4geyB9
OwpAQCAtODQ2LDMzICs3MzYsMTEgQEAgUHJvdG9jb2w6OkVycm9yU3RyaW5nT3I8dm9pZD4gSW5z
cGVjdG9yRGVidWdnZXJBZ2VudDo6cmVtb3ZlU3ltYm9saWNCcmVha3BvaW50KGMKICAgICAgICAg
SlNDOjpKU0xvY2tIb2xkZXIgbG9ja2VyKG1fZGVidWdnZXIudm0oKSk7CiAKICAgICAgICAgbV9k
ZWJ1Z2dlci5mb3JFYWNoUmVnaXN0ZXJlZENvZGVCbG9jayhbJl0gKEpTQzo6Q29kZUJsb2NrKiBj
b2RlQmxvY2spIHsKLSAgICAgICAgICAgIGlmIChzeW1ib2xpY0JyZWFrcG9pbnQubWF0Y2hlcyhm
dW5jdGlvbk5hbWUoKmNvZGVCbG9jaykpKQorICAgICAgICAgICAgaWYgKHN5bWJvbGljQnJlYWtw
b2ludC5tYXRjaGVzKGZ1bmN0aW9uTmFtZShjb2RlQmxvY2spKSkKICAgICAgICAgICAgICAgICBj
b2RlQmxvY2stPnJlbW92ZUJyZWFrcG9pbnQoMSk7CiAgICAgICAgIH0pOwogICAgIH0KIAotI2lm
IEVOQUJMRShKSVQpCi0gICAgewotICAgICAgICBMb2NrZXIgbG9ja2VyIHsgc19yZXBsYWNlZFRo
dW5rc0xvY2sgfTsKLQotICAgICAgICByZXBsYWNlZFRodW5rcygpLnJlbW92ZUFsbE1hdGNoaW5n
KFsmXSAoYXV0byYgcmVwbGFjZWRUaHVuaykgewotICAgICAgICAgICAgaWYgKCFyZXBsYWNlZFRo
dW5rLT5uYXRpdmVFeGVjdXRhYmxlKQotICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotCi0g
ICAgICAgICAgICBpZiAoJnJlcGxhY2VkVGh1bmstPm5hdGl2ZUV4ZWN1dGFibGUtPnZtKCkgIT0g
Jm1fZGVidWdnZXIudm0oKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAg
ICAgICAgIGlmIChzeW1ib2xpY0JyZWFrcG9pbnQubWF0Y2hlcyhmdW5jdGlvbk5hbWUoKnJlcGxh
Y2VkVGh1bmstPm5hdGl2ZUV4ZWN1dGFibGUpKSkgewotICAgICAgICAgICAgICAgIEFTU0VSVChy
ZXBsYWNlZFRodW5rLT5tYXRjaENvdW50KTsKLSAgICAgICAgICAgICAgICBpZiAoIS0tcmVwbGFj
ZWRUaHVuay0+bWF0Y2hDb3VudCkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfSk7Ci0g
ICAgfQotI2VuZGlmCi0KICAgICByZXR1cm4geyB9OwogfQogCkBAIC0xMzQ1LDEzMSArMTIxMyw2
IEBAIFByb3RvY29sOjpFcnJvclN0cmluZ09yPHZvaWQ+IEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6
OnNldFBhdXNlRm9ySW50ZXJuYWxTY3JpcHRzCiAgICAgcmV0dXJuIHsgfTsKIH0KIAotdm9pZCBJ
bnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpkaWRDcmVhdGVOYXRpdmVFeGVjdXRhYmxlKEpTQzo6TmF0
aXZlRXhlY3V0YWJsZSYgbmF0aXZlRXhlY3V0YWJsZSkKLXsKLSNpZiBFTkFCTEUoSklUKQotICAg
IGF1dG8mIHZtID0gbV9kZWJ1Z2dlci52bSgpOwotICAgIEFTU0VSVCgmbmF0aXZlRXhlY3V0YWJs
ZS52bSgpID09ICZ2bSk7Ci0KLSAgICBpZiAoIUpTQzo6T3B0aW9uczo6dXNlSklUKCkpCi0gICAg
ICAgIHJldHVybjsKLQotICAgIGlmIChtX3N5bWJvbGljQnJlYWtwb2ludHMuaXNFbXB0eSgpKQot
ICAgICAgICByZXR1cm47Ci0KLSAgICBhdXRvIHN5bWJvbCA9IGZ1bmN0aW9uTmFtZShuYXRpdmVF
eGVjdXRhYmxlKTsKLSAgICBpZiAoc3ltYm9sLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgc2l6ZV90IG1hdGNoQ291bnQgPSAwOwotICAgIGZvciAoYXV0byYgc3ltYm9saWNCcmVh
a3BvaW50IDogbV9zeW1ib2xpY0JyZWFrcG9pbnRzKSB7Ci0gICAgICAgIGlmIChzeW1ib2xpY0Jy
ZWFrcG9pbnQubWF0Y2hlcyhzeW1ib2wpKQotICAgICAgICAgICAgKyttYXRjaENvdW50OwotICAg
IH0KLSAgICBpZiAoIW1hdGNoQ291bnQpCi0gICAgICAgIHJldHVybjsKLQotICAgIExvY2tlciBs
b2NrZXIgeyBzX3JlcGxhY2VkVGh1bmtzTG9jayB9OwotCi0gICAgYXV0byBleGlzdGluZ0luZGV4
ID0gcmVwbGFjZWRUaHVua3MoKS5maW5kKCZuYXRpdmVFeGVjdXRhYmxlKTsKLSAgICBpZiAoZXhp
c3RpbmdJbmRleCAhPSBub3RGb3VuZCkgewotICAgICAgICByZXBsYWNlZFRodW5rcygpW2V4aXN0
aW5nSW5kZXhdLT5tYXRjaENvdW50ICs9IG1hdGNoQ291bnQ7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBhdXRvIHJlcGxhY2VkVGh1bmsgPSBCb3g8UmVwbGFjZWRUaHVuaz46OmNyZWF0
ZSgpOwotICAgIHJlcGxhY2VkVGh1bmstPm5hdGl2ZUV4ZWN1dGFibGUgPSAmbmF0aXZlRXhlY3V0
YWJsZTsKLSAgICByZXBsYWNlZFRodW5rLT5tYXRjaENvdW50ID0gbWF0Y2hDb3VudDsKLQotICAg
IGF1dG8gY3JlYXRlSklUQ29kZVJlZiA9IFsmXSAoQ29kZVB0cjxKU0M6OkpJVFRodW5rUHRyVGFn
PiB0aHVuaykgewotICAgICAgICByZXR1cm4gSlNDOjpKSVRDb2RlOjpDb2RlUmVmPEpTQzo6SlNF
bnRyeVB0clRhZz46OmNyZWF0ZVNlbGZNYW5hZ2VkQ29kZVJlZih0aHVuay5yZXRhZ2dlZDxKU0M6
OkpTRW50cnlQdHJUYWc+KCkpOwotICAgIH07Ci0KLSAgICBhdXRvIHJlcGxhY2VUaHVua3MgPSBb
Jl0gKEpTQzo6Q29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKSB7Ci0gICAgICAgIFJFTEVBU0Vf
QVNTRVJUKG5hdGl2ZUV4ZWN1dGFibGUuaGFzSklUQ29kZUZvcihraW5kKSk7Ci0KLSAgICAgICAg
YXV0byBqaXRDb2RlID0gbmF0aXZlRXhlY3V0YWJsZS5nZW5lcmF0ZWRKSVRDb2RlRm9yKGtpbmQp
OwotICAgICAgICBpZiAoIWppdENvZGUtPmNhblN3YXBDb2RlUmVmRm9yRGVidWdnZXIoKSkKLSAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICBDb2RlUHRyPEpTQzo6SklUVGh1bmtQ
dHJUYWc+IHRodW5rOwotICAgICAgICBzd2l0Y2ggKGtpbmQpIHsKLSAgICAgICAgY2FzZSBKU0M6
OkNvZGVGb3JDYWxsOgotICAgICAgICAgICAgdGh1bmsgPSB2bS5qaXRTdHVicy0+Y3RpTmF0aXZl
Q2FsbFdpdGhEZWJ1Z2dlckhvb2sodm0pOwotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAg
Y2FzZSBKU0M6OkNvZGVGb3JDb25zdHJ1Y3Q6Ci0gICAgICAgICAgICB0aHVuayA9IHZtLmppdFN0
dWJzLT5jdGlOYXRpdmVDb25zdHJ1Y3RXaXRoRGVidWdnZXJIb29rKHZtKTsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAgICAgUkVMRUFTRV9BU1NFUlQobmF0aXZlRXhlY3V0
YWJsZS5nZW5lcmF0ZWRKSVRDb2RlV2l0aEFyaXR5Q2hlY2tGb3Ioa2luZCkgPT0gaml0Q29kZS0+
YWRkcmVzc0ZvckNhbGwoSlNDOjpNdXN0Q2hlY2tBcml0eSkpOwotCi0gICAgICAgIGF1dG8gb2xk
SklUQ29kZVJlZiA9IGppdENvZGUtPnN3YXBDb2RlUmVmRm9yRGVidWdnZXIoY3JlYXRlSklUQ29k
ZVJlZih0aHVuaykpOwotICAgICAgICBhdXRvIG9sZEFyaXR5SklUQ29kZVJlZiA9IG5hdGl2ZUV4
ZWN1dGFibGUuc3dhcEdlbmVyYXRlZEpJVENvZGVXaXRoQXJpdHlDaGVja0ZvckRlYnVnZ2VyKGtp
bmQsIGppdENvZGUtPmFkZHJlc3NGb3JDYWxsKEpTQzo6TXVzdENoZWNrQXJpdHkpKTsKLQotICAg
ICAgICBzd2l0Y2ggKGtpbmQpIHsKLSAgICAgICAgY2FzZSBKU0M6OkNvZGVGb3JDYWxsOgotICAg
ICAgICAgICAgQVNTRVJUKCFyZXBsYWNlZFRodW5rLT5jYWxsVGh1bmspOwotICAgICAgICAgICAg
cmVwbGFjZWRUaHVuay0+Y2FsbFRodW5rID0gV1RGTW92ZShvbGRKSVRDb2RlUmVmKTsKLQotICAg
ICAgICAgICAgQVNTRVJUKCFyZXBsYWNlZFRodW5rLT5jYWxsQXJpdHlUaHVuayk7Ci0gICAgICAg
ICAgICByZXBsYWNlZFRodW5rLT5jYWxsQXJpdHlUaHVuayA9IFdURk1vdmUob2xkQXJpdHlKSVRD
b2RlUmVmKTsKLQotICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQob2xkSklUQ29kZVJlZi5jb2Rl
KCkgPT0gY3JlYXRlSklUQ29kZVJlZih2bS5qaXRTdHVicy0+Y3RpTmF0aXZlQ2FsbCh2bSkpLmNv
ZGUoKSk7Ci0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICBjYXNlIEpTQzo6Q29kZUZvckNv
bnN0cnVjdDoKLSAgICAgICAgICAgIEFTU0VSVCghcmVwbGFjZWRUaHVuay0+Y29uc3RydWN0VGh1
bmspOwotICAgICAgICAgICAgcmVwbGFjZWRUaHVuay0+Y29uc3RydWN0VGh1bmsgPSBXVEZNb3Zl
KG9sZEpJVENvZGVSZWYpOwotCi0gICAgICAgICAgICBBU1NFUlQoIXJlcGxhY2VkVGh1bmstPmNv
bnN0cnVjdEFyaXR5VGh1bmspOwotICAgICAgICAgICAgcmVwbGFjZWRUaHVuay0+Y29uc3RydWN0
QXJpdHlUaHVuayA9IFdURk1vdmUob2xkQXJpdHlKSVRDb2RlUmVmKTsKLQotICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlQob2xkSklUQ29kZVJlZi5jb2RlKCkgPT0gY3JlYXRlSklUQ29kZVJlZih2
bS5qaXRTdHVicy0+Y3RpTmF0aXZlQ29uc3RydWN0KHZtKSkuY29kZSgpKTsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfTsKLQotICAg
IGJvb2wgZGlkUmVwbGFjZUNhbGxUaHVua3MgPSByZXBsYWNlVGh1bmtzKEpTQzo6Q29kZUZvckNh
bGwpOwotICAgIGJvb2wgZGlkUmVwbGFjZUNvbnN0cnVjdFRodW5rcyA9IHJlcGxhY2VUaHVua3Mo
SlNDOjpDb2RlRm9yQ29uc3RydWN0KTsKLSAgICBpZiAoIWRpZFJlcGxhY2VDYWxsVGh1bmtzICYm
ICFkaWRSZXBsYWNlQ29uc3RydWN0VGh1bmtzKQotICAgICAgICByZXR1cm47Ci0KLSAgICByZXBs
YWNlZFRodW5rcygpLmFwcGVuZChXVEZNb3ZlKHJlcGxhY2VkVGh1bmspKTsKLSNlbHNlCi0gICAg
VU5VU0VEX1BBUkFNKG5hdGl2ZUV4ZWN1dGFibGUpOwotI2VuZGlmCi19Ci0KLXZvaWQgSW5zcGVj
dG9yRGVidWdnZXJBZ2VudDo6d2lsbENhbGxOYXRpdmVFeGVjdXRhYmxlKEpTQzo6Q2FsbEZyYW1l
KiBjYWxsRnJhbWUpCi17Ci0gICAgaWYgKCFicmVha3BvaW50c0FjdGl2ZSgpKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBpZiAobV9zeW1ib2xpY0JyZWFrcG9pbnRzLmlzRW1wdHkoKSkKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgYXV0byBzeW1ib2wgPSBmdW5jdGlvbk5hbWUoY2FsbEZyYW1lKTsK
LSAgICBpZiAoc3ltYm9sLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0byBp
bmRleCA9IG1fc3ltYm9saWNCcmVha3BvaW50cy5maW5kSWYoWyZdIChjb25zdCBhdXRvJiBzeW1i
b2xpY0JyZWFrcG9pbnQpIHsKLSAgICAgICAgcmV0dXJuIHN5bWJvbGljQnJlYWtwb2ludC5rbm93
bk1hdGNoaW5nU3ltYm9scy5jb250YWlucyhzeW1ib2wpOwotICAgIH0pOwotICAgIGlmIChpbmRl
eCA9PSBub3RGb3VuZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQVNTRVJUKG1fc3ltYm9saWNC
cmVha3BvaW50c1tpbmRleF0uc3BlY2lhbEJyZWFrcG9pbnQpOwotCi0gICAgYXV0byBwYXVzZURh
dGEgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgpOwotICAgIHBhdXNlRGF0YS0+c2V0U3RyaW5nKCJu
YW1lIl9zLCBzeW1ib2wpOwotCi0gICAgYnJlYWtQcm9ncmFtKERlYnVnZ2VyRnJvbnRlbmREaXNw
YXRjaGVyOjpSZWFzb246OkZ1bmN0aW9uQ2FsbCwgV1RGTW92ZShwYXVzZURhdGEpLCBtX3N5bWJv
bGljQnJlYWtwb2ludHNbaW5kZXhdLnNwZWNpYWxCcmVha3BvaW50LmNvcHlSZWYoKSk7Ci19Ci0K
IEpTQzo6SlNPYmplY3QqIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmRlYnVnZ2VyU2NvcGVFeHRl
bnNpb25PYmplY3QoSlNDOjpEZWJ1Z2dlciYgZGVidWdnZXIsIEpTQzo6SlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgSlNDOjpEZWJ1Z2dlckNhbGxGcmFtZSYgZGVidWdnZXJDYWxsRnJhbWUp
CiB7CiAgICAgYXV0byBpbmplY3RlZFNjcmlwdCA9IG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmlu
amVjdGVkU2NyaXB0Rm9yKGdsb2JhbE9iamVjdCk7CkBAIC0xNjc5LDcgKzE0MjIsNyBAQCB2b2lk
IEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmFwcGx5QnJlYWtwb2ludHMoSlNDOjpDb2RlQmxvY2sq
IGNvZGVCbG9jaykKICAgICBpZiAobV9zeW1ib2xpY0JyZWFrcG9pbnRzLmlzRW1wdHkoKSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgYXV0byBzeW1ib2wgPSBmdW5jdGlvbk5hbWUoKmNvZGVCbG9j
ayk7CisgICAgYXV0byBzeW1ib2wgPSBmdW5jdGlvbk5hbWUoY29kZUJsb2NrKTsKICAgICBpZiAo
c3ltYm9sLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0xNzUyLDM1ICsxNDk1LDYg
QEAgdm9pZCBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpjbGVhckluc3BlY3RvckJyZWFrcG9pbnRT
dGF0ZSgpCiAgICAgICAgIG1fY29udGludWVUb0xvY2F0aW9uRGVidWdnZXJCcmVha3BvaW50ID0g
bnVsbHB0cjsKICAgICB9CiAKLSAgICBtX3BhdXNlT25Bc3NlcnRpb25zQnJlYWtwb2ludCA9IG51
bGxwdHI7Ci0gICAgbV9wYXVzZU9uTWljcm90YXNrc0JyZWFrcG9pbnQgPSBudWxscHRyOwotCi0j
aWYgRU5BQkxFKEpJVCkKLSAgICB7Ci0gICAgICAgIExvY2tlciBsb2NrZXIgeyBzX3JlcGxhY2Vk
VGh1bmtzTG9jayB9OwotCi0gICAgICAgIHJlcGxhY2VkVGh1bmtzKCkucmVtb3ZlQWxsTWF0Y2hp
bmcoWyZdIChhdXRvJiByZXBsYWNlZFRodW5rKSB7Ci0gICAgICAgICAgICBpZiAoIXJlcGxhY2Vk
VGh1bmstPm5hdGl2ZUV4ZWN1dGFibGUpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0K
LSAgICAgICAgICAgIGlmICgmcmVwbGFjZWRUaHVuay0+bmF0aXZlRXhlY3V0YWJsZS0+dm0oKSAh
PSAmbV9kZWJ1Z2dlci52bSgpKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAg
ICAgICAgICAgZm9yIChhdXRvJiBzeW1ib2xpY0JyZWFrcG9pbnQgOiBtX3N5bWJvbGljQnJlYWtw
b2ludHMpIHsKLSAgICAgICAgICAgICAgICBpZiAoc3ltYm9saWNCcmVha3BvaW50Lm1hdGNoZXMo
ZnVuY3Rpb25OYW1lKCpyZXBsYWNlZFRodW5rLT5uYXRpdmVFeGVjdXRhYmxlKSkpIHsKLSAgICAg
ICAgICAgICAgICAgICAgQVNTRVJUKHJlcGxhY2VkVGh1bmstPm1hdGNoQ291bnQpOwotICAgICAg
ICAgICAgICAgICAgICBpZiAoIS0tcmVwbGFjZWRUaHVuay0+bWF0Y2hDb3VudCkKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9KTsKLSAgICB9Ci0j
ZW5kaWYKLQotICAgIG1fc3ltYm9saWNCcmVha3BvaW50cy5jbGVhcigpOwotCiAgICAgY2xlYXJE
ZWJ1Z2dlckJyZWFrcG9pbnRTdGF0ZSgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50
LmgKaW5kZXggYzAwZjg0MGNlNGYyLi41YWMwMzNkODdkNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50LmgKQEAgLTEwNiw4ICsxMDYsNiBAQCBwdWJsaWM6CiAgICAgLy8gSlNDOjpEZWJ1
Z2dlcjo6T2JzZXJ2ZXIKICAgICB2b2lkIGRpZFBhcnNlU291cmNlKEpTQzo6U291cmNlSUQsIGNv
bnN0IEpTQzo6RGVidWdnZXI6OlNjcmlwdCYpIGZpbmFsOwogICAgIHZvaWQgZmFpbGVkVG9QYXJz
ZVNvdXJjZShjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiBkYXRhLCBpbnQgZmlyc3RM
aW5lLCBpbnQgZXJyb3JMaW5lLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkgZmluYWw7Ci0g
ICAgdm9pZCBkaWRDcmVhdGVOYXRpdmVFeGVjdXRhYmxlKEpTQzo6TmF0aXZlRXhlY3V0YWJsZSYp
IGZpbmFsOwotICAgIHZvaWQgd2lsbENhbGxOYXRpdmVFeGVjdXRhYmxlKEpTQzo6Q2FsbEZyYW1l
KikgZmluYWw7CiAgICAgdm9pZCB3aWxsRW50ZXIoSlNDOjpDYWxsRnJhbWUqKSBmaW5hbDsKICAg
ICB2b2lkIGRpZFF1ZXVlTWljcm90YXNrKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6Ok1pY3Jv
dGFza0lkZW50aWZpZXIpIGZpbmFsOwogICAgIHZvaWQgd2lsbFJ1bk1pY3JvdGFzayhKU0M6OkpT
R2xvYmFsT2JqZWN0KiwgSlNDOjpNaWNyb3Rhc2tJZGVudGlmaWVyKSBmaW5hbDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ29kZS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVENvZGUuY3BwCmluZGV4IDkyNDk3Mjk5Zjg4YS4uOTQ0MDE0NTBjMzBm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENvZGUuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ29kZS5jcHAKQEAgLTEzOSwxMSArMTM5LDYg
QEAgY29uc3QgUmVnaXN0ZXJBdE9mZnNldExpc3QqIEpJVENvZGU6OmNhbGxlZVNhdmVSZWdpc3Rl
cnMoKSBjb25zdAogI2VuZGlmCiB9CiAKLUpJVENvZGU6OkNvZGVSZWY8SlNFbnRyeVB0clRhZz4g
SklUQ29kZTo6c3dhcENvZGVSZWZGb3JEZWJ1Z2dlcihKSVRDb2RlOjpDb2RlUmVmPEpTRW50cnlQ
dHJUYWc+KQotewotICAgIHJldHVybiBDb2RlUmVmPEpTRW50cnlQdHJUYWc+KCk7Ci19Ci0KIEpJ
VENvZGVXaXRoQ29kZVJlZjo6SklUQ29kZVdpdGhDb2RlUmVmKEpJVFR5cGUgaml0VHlwZSkKICAg
ICA6IEpJVENvZGUoaml0VHlwZSkKIHsKQEAgLTIwMCwxNSArMTk1LDYgQEAgYm9vbCBKSVRDb2Rl
V2l0aENvZGVSZWY6OmNvbnRhaW5zKHZvaWQqIGFkZHJlc3MpCiAgICAgcmV0dXJuIG1fcmVmLmV4
ZWN1dGFibGVNZW1vcnkoKS0+Y29udGFpbnMoYWRkcmVzcyk7CiB9CiAKLUpJVENvZGU6OkNvZGVS
ZWY8SlNFbnRyeVB0clRhZz4gSklUQ29kZVdpdGhDb2RlUmVmOjpzd2FwQ29kZVJlZkZvckRlYnVn
Z2VyKEpJVENvZGU6OkNvZGVSZWY8SlNFbnRyeVB0clRhZz4gcmVmKQotewotICAgIFJFTEVBU0Vf
QVNTRVJUKG1fcmVmKTsKLSAgICBSRUxFQVNFX0FTU0VSVChyZWYpOwotICAgIGF1dG8gb2xkID0g
bV9yZWY7Ci0gICAgbV9yZWYgPSByZWY7Ci0gICAgcmV0dXJuIG9sZDsKLX0KLQogRGlyZWN0SklU
Q29kZTo6RGlyZWN0SklUQ29kZShKSVRUeXBlIGppdFR5cGUpCiAgICAgOiBKSVRDb2RlV2l0aENv
ZGVSZWYoaml0VHlwZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUQ29kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDb2RlLmgKaW5kZXggZTE0
Njc3NDM1MGM2Li5lMzllZjRjNDc1MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUQ29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ29kZS5o
CkBAIC0xNjEsOSArMTYxLDYgQEAgcHVibGljOgogICAgIH0KIAogICAgIHZpcnR1YWwgY29uc3Qg
RE9NSklUOjpTaWduYXR1cmUqIHNpZ25hdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG51bGxwdHI7IH0K
LQotICAgIHZpcnR1YWwgYm9vbCBjYW5Td2FwQ29kZVJlZkZvckRlYnVnZ2VyKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIENvZGVSZWY8SlNFbnRyeVB0clRhZz4gc3dhcENv
ZGVSZWZGb3JEZWJ1Z2dlcihDb2RlUmVmPEpTRW50cnlQdHJUYWc+KTsKICAgICAKICAgICBlbnVt
IGNsYXNzIFNoYXJlQXR0cmlidXRlIDogdWludDhfdCB7CiAgICAgICAgIE5vdFNoYXJlZCwKQEAg
LTI0OSw4ICsyNDYsNiBAQCBwdWJsaWM6CiAgICAgc2l6ZV90IHNpemUoKSBvdmVycmlkZTsKICAg
ICBib29sIGNvbnRhaW5zKHZvaWQqKSBvdmVycmlkZTsKIAotICAgIENvZGVSZWY8SlNFbnRyeVB0
clRhZz4gc3dhcENvZGVSZWZGb3JEZWJ1Z2dlcihDb2RlUmVmPEpTRW50cnlQdHJUYWc+KSBvdmVy
cmlkZTsKLQogcHJvdGVjdGVkOgogICAgIENvZGVSZWY8SlNFbnRyeVB0clRhZz4gbV9yZWY7CiB9
OwpAQCAtMjgwLDggKzI3NSw2IEBAIHB1YmxpYzoKICAgICB+TmF0aXZlSklUQ29kZSgpIG92ZXJy
aWRlOwogCiAgICAgQ29kZVB0cjxKU0VudHJ5UHRyVGFnPiBhZGRyZXNzRm9yQ2FsbChBcml0eUNo
ZWNrTW9kZSkgb3ZlcnJpZGU7Ci0KLSAgICBib29sIGNhblN3YXBDb2RlUmVmRm9yRGVidWdnZXIo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiB9OwogCiBjbGFzcyBOYXRpdmVET01K
SVRDb2RlIGZpbmFsIDogcHVibGljIE5hdGl2ZUpJVENvZGUgewpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKaW5kZXggNjliNGMwNmJhZDVlLi4xNGY0ODcyMjhi
NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcApAQCAt
MzUyMywyMSArMzUyMyw2IEBAIEpTQ19ERUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25WYWx1
ZVN1YlByb2ZpbGVkTm9PcHRpbWl6ZSwgRW5jb2RlZEpTVmFsdWUsIChKCiAgICAgcmV0dXJuIHBy
b2ZpbGVkU3ViKHZtLCBnbG9iYWxPYmplY3QsIGVuY29kZWRPcDEsIGVuY29kZWRPcDIsICphcml0
aFByb2ZpbGUpOwogfQogCi1KU0NfREVGSU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uRGVidWdn
ZXJXaWxsQ2FsbE5hdGl2ZUV4ZWN1dGFibGUsIHZvaWQsIChDYWxsRnJhbWUqIGNhbGxGcmFtZSkp
Ci17Ci0gICAgQVNTRVJUKCFjYWxsRnJhbWUtPmlzV2FzbUZyYW1lKCkpOwotCi0gICAgYXV0byog
Z2xvYmFsT2JqZWN0ID0gY2FsbEZyYW1lLT5qc0NhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKLSAg
ICBpZiAoIWdsb2JhbE9iamVjdCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0byogZGVidWdn
ZXIgPSBnbG9iYWxPYmplY3QtPmRlYnVnZ2VyKCk7Ci0gICAgaWYgKCFkZWJ1Z2dlcikKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgZGVidWdnZXItPndpbGxDYWxsTmF0aXZlRXhlY3V0YWJsZShjYWxs
RnJhbWUpOwotfQotCiBKU0NfREVGSU5FX0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uUHJvY2Vzc1R5
cGVQcm9maWxlckxvZywgdm9pZCwgKFZNKiB2bVBvaW50ZXIpKQogewogICAgIFZNJiB2bSA9ICp2
bVBvaW50ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJh
dGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCmluZGV4
IGU2MTkzNDZlMThjMC4uZDExOTMyYWE3ZGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wZXJhdGlvbnMuaApAQCAtMzM2LDggKzMzNiw2IEBAIEpTQ19ERUNMQVJFX0pJVF9PUEVS
QVRJT04ob3BlcmF0aW9uVmFsdWVTdWJOb09wdGltaXplLCBFbmNvZGVkSlNWYWx1ZSwgKEpTR2xv
YmFsCiBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvblZhbHVlU3ViUHJvZmlsZWRP
cHRpbWl6ZSwgRW5jb2RlZEpTVmFsdWUsIChKU0dsb2JhbE9iamVjdCosIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIsIEpJVFN1YklDKikpOwogSlND
X0RFQ0xBUkVfSklUX09QRVJBVElPTihvcGVyYXRpb25WYWx1ZVN1YlByb2ZpbGVkTm9PcHRpbWl6
ZSwgRW5jb2RlZEpTVmFsdWUsIChKU0dsb2JhbE9iamVjdCosIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIsIEpJVFN1YklDKikpOwogCi1KU0NfREVD
TEFSRV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbkRlYnVnZ2VyV2lsbENhbGxOYXRpdmVFeGVjdXRh
YmxlLCB2b2lkLCAoQ2FsbEZyYW1lKikpOwotCiBKU0NfREVDTEFSRV9KSVRfT1BFUkFUSU9OKG9w
ZXJhdGlvblByb2Nlc3NUeXBlUHJvZmlsZXJMb2csIHZvaWQsIChWTSopKTsKIEpTQ19ERUNMQVJF
X0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uUHJvY2Vzc1NoYWRvd0NoaWNrZW5Mb2csIHZvaWQsIChW
TSopKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRUaHVua3Mu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRUaHVua3MuY3BwCmluZGV4IGJhMTYz
YTNmNjNkZS4uZWViYzUwZGZkYTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVFRodW5rcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRUaHVu
a3MuY3BwCkBAIC05OSwyNCArOTksMTIgQEAgQ29kZVB0cjxKSVRUaHVua1B0clRhZz4gSklUVGh1
bmtzOjpjdGlOYXRpdmVDYWxsKFZNJiB2bSkKICAgICByZXR1cm4gY3RpU3R1Yih2bSwgbmF0aXZl
Q2FsbEdlbmVyYXRvcikuY29kZSgpOwogfQogCi1Db2RlUHRyPEpJVFRodW5rUHRyVGFnPiBKSVRU
aHVua3M6OmN0aU5hdGl2ZUNhbGxXaXRoRGVidWdnZXJIb29rKFZNJiB2bSkKLXsKLSAgICBBU1NF
UlQoT3B0aW9uczo6dXNlSklUKCkpOwotICAgIHJldHVybiBjdGlTdHViKHZtLCBuYXRpdmVDYWxs
V2l0aERlYnVnZ2VySG9va0dlbmVyYXRvcikuY29kZSgpOwotfQotCiBDb2RlUHRyPEpJVFRodW5r
UHRyVGFnPiBKSVRUaHVua3M6OmN0aU5hdGl2ZUNvbnN0cnVjdChWTSYgdm0pCiB7CiAgICAgQVNT
RVJUKE9wdGlvbnM6OnVzZUpJVCgpKTsKICAgICByZXR1cm4gY3RpU3R1Yih2bSwgbmF0aXZlQ29u
c3RydWN0R2VuZXJhdG9yKS5jb2RlKCk7CiB9CiAKLUNvZGVQdHI8SklUVGh1bmtQdHJUYWc+IEpJ
VFRodW5rczo6Y3RpTmF0aXZlQ29uc3RydWN0V2l0aERlYnVnZ2VySG9vayhWTSYgdm0pCi17Ci0g
ICAgQVNTRVJUKE9wdGlvbnM6OnVzZUpJVCgpKTsKLSAgICByZXR1cm4gY3RpU3R1Yih2bSwgbmF0
aXZlQ29uc3RydWN0V2l0aERlYnVnZ2VySG9va0dlbmVyYXRvcikuY29kZSgpOwotfQotCiBDb2Rl
UHRyPEpJVFRodW5rUHRyVGFnPiBKSVRUaHVua3M6OmN0aU5hdGl2ZVRhaWxDYWxsKFZNJiB2bSkK
IHsKICAgICBBU1NFUlQoT3B0aW9uczo6dXNlSklUKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRUaHVua3MuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUVGh1bmtzLmgKaW5kZXggMTgyMzQ3ZTZkNzYyLi4zZmJjODJmMGZjYzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUVGh1bmtzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRUaHVua3MuaApAQCAtNTcsOSArNTcsNyBAQCBwdWJsaWM6CiAgICAg
fkpJVFRodW5rcygpIGZpbmFsOwogCiAgICAgQ29kZVB0cjxKSVRUaHVua1B0clRhZz4gY3RpTmF0
aXZlQ2FsbChWTSYpOwotICAgIENvZGVQdHI8SklUVGh1bmtQdHJUYWc+IGN0aU5hdGl2ZUNhbGxX
aXRoRGVidWdnZXJIb29rKFZNJik7CiAgICAgQ29kZVB0cjxKSVRUaHVua1B0clRhZz4gY3RpTmF0
aXZlQ29uc3RydWN0KFZNJik7Ci0gICAgQ29kZVB0cjxKSVRUaHVua1B0clRhZz4gY3RpTmF0aXZl
Q29uc3RydWN0V2l0aERlYnVnZ2VySG9vayhWTSYpOwogICAgIENvZGVQdHI8SklUVGh1bmtQdHJU
YWc+IGN0aU5hdGl2ZVRhaWxDYWxsKFZNJik7CiAgICAgQ29kZVB0cjxKSVRUaHVua1B0clRhZz4g
Y3RpTmF0aXZlVGFpbENhbGxXaXRob3V0U2F2ZWRUYWdzKFZNJik7CiAgICAgQ29kZVB0cjxKSVRU
aHVua1B0clRhZz4gY3RpSW50ZXJuYWxGdW5jdGlvbkNhbGwoVk0mKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAppbmRleCA2MmM3ODNjNTk1MjUuLjgy
MmNlZWE2MzY2ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dl
bmVyYXRvcnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0
b3JzLmNwcApAQCAtMzczLDkgKzM3Myw4IEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKSVRTdHVi
Um91dGluZVB0clRhZz4gdmlydHVhbFRodW5rRm9yKFZNJiB2bSwgQ2FsbE1vZGUgY2FsCiAKIGVu
dW0gVGh1bmtFbnRyeVR5cGUgeyBFbnRlclZpYUNhbGwsIEVudGVyVmlhSnVtcFdpdGhTYXZlZFRh
Z3MsIEVudGVyVmlhSnVtcFdpdGhvdXRTYXZlZFRhZ3MgfTsKIGVudW0gY2xhc3MgVGh1bmtGdW5j
dGlvblR5cGUgeyBKU0Z1bmN0aW9uLCBJbnRlcm5hbEZ1bmN0aW9uIH07Ci1lbnVtIGNsYXNzIElu
Y2x1ZGVEZWJ1Z2dlckhvb2sgeyBObywgWWVzIH07CiAKLXN0YXRpYyBNYWNyb0Fzc2VtYmxlckNv
ZGVSZWY8SklUVGh1bmtQdHJUYWc+IG5hdGl2ZUZvckdlbmVyYXRvcihWTSYgdm0sIFRodW5rRnVu
Y3Rpb25UeXBlIHRodW5rRnVuY3Rpb25UeXBlLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQs
IFRodW5rRW50cnlUeXBlIGVudHJ5VHlwZSA9IEVudGVyVmlhQ2FsbCwgSW5jbHVkZURlYnVnZ2Vy
SG9vayBpbmNsdWRlRGVidWdnZXJIb29rID0gSW5jbHVkZURlYnVnZ2VySG9vazo6Tm8pCitzdGF0
aWMgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmPEpJVFRodW5rUHRyVGFnPiBuYXRpdmVGb3JHZW5lcmF0
b3IoVk0mIHZtLCBUaHVua0Z1bmN0aW9uVHlwZSB0aHVua0Z1bmN0aW9uVHlwZSwgQ29kZVNwZWNp
YWxpemF0aW9uS2luZCBraW5kLCBUaHVua0VudHJ5VHlwZSBlbnRyeVR5cGUgPSBFbnRlclZpYUNh
bGwpCiB7CiAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGFibGUgdG8gbG9nIFNoYWRvd0No
aWNrZW4gcHJvbG9ndWUgcGFja2V0cy4KICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU1Njg5CkBAIC00MDMsMTQgKzQwMiw2IEBAIHN0YXRpYyBNYWNyb0Fz
c2VtYmxlckNvZGVSZWY8SklUVGh1bmtQdHJUYWc+IG5hdGl2ZUZvckdlbmVyYXRvcihWTSYgdm0s
IFRodW5rRnVuCiAgICAgaml0LmVtaXRQdXRUb0NhbGxGcmFtZUhlYWRlcihudWxscHRyLCBDYWxs
RnJhbWVTbG90Ojpjb2RlQmxvY2spOwogICAgIGppdC5zdG9yZVB0cihHUFJJbmZvOjpjYWxsRnJh
bWVSZWdpc3RlciwgJnZtLnRvcENhbGxGcmFtZSk7CiAKLSAgICBpZiAoaW5jbHVkZURlYnVnZ2Vy
SG9vayA9PSBJbmNsdWRlRGVidWdnZXJIb29rOjpZZXMpIHsKLSAgICAgICAgaml0Lm1vdmUoSlNJ
bnRlcmZhY2VKSVQ6OmZyYW1lUG9pbnRlclJlZ2lzdGVyLCBHUFJJbmZvOjphcmd1bWVudEdQUjAp
OwotICAgICAgICBhdXRvIGRlYnVnZ2VyV2lsbENhbGxOYXRpdmVFeGVjdXRhYmxlID0gaml0LmNh
bGwoT3BlcmF0aW9uUHRyVGFnKTsKLSAgICAgICAgaml0LmFkZExpbmtUYXNrKFs9XSAoTGlua0J1
ZmZlciYgbGlua0J1ZmZlcikgewotICAgICAgICAgICAgbGlua0J1ZmZlci5saW5rPE9wZXJhdGlv
blB0clRhZz4oZGVidWdnZXJXaWxsQ2FsbE5hdGl2ZUV4ZWN1dGFibGUsIG9wZXJhdGlvbkRlYnVn
Z2VyV2lsbENhbGxOYXRpdmVFeGVjdXRhYmxlKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCiAgICAg
Ly8gSG9zdCBmdW5jdGlvbiBzaWduYXR1cmU6IGYoSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJhbWUq
KTsKICNpZiBDUFUoWDg2XzY0KSAmJiBPUyhXSU5ET1dTKQogICAgIC8vIExlYXZlIHNwYWNlIGZv
ciB0aGUgY2FsbGVlIHBhcmFtZXRlciBob21lIGFkZHJlc3Nlcy4KQEAgLTQ5Niw3ICs0ODcsNyBA
QCBzdGF0aWMgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmPEpJVFRodW5rUHRyVGFnPiBuYXRpdmVGb3JH
ZW5lcmF0b3IoVk0mIHZtLCBUaHVua0Z1bgogICAgIGppdC5qdW1wVG9FeGNlcHRpb25IYW5kbGVy
KHZtKTsKIAogICAgIExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIoaml0LCBHTE9CQUxfVEhVTktfSUQs
IExpbmtCdWZmZXI6OlByb2ZpbGU6OlRodW5rKTsKLSAgICByZXR1cm4gRklOQUxJWkVfVEhVTkso
cGF0Y2hCdWZmZXIsIEpJVFRodW5rUHRyVGFnLCAiJXMgJXMlcyVzIHRyYW1wb2xpbmUiLCB0aHVu
a0Z1bmN0aW9uVHlwZSA9PSBUaHVua0Z1bmN0aW9uVHlwZTo6SlNGdW5jdGlvbiA/ICJuYXRpdmUi
IDogImludGVybmFsIiwgZW50cnlUeXBlID09IEVudGVyVmlhSnVtcFdpdGhTYXZlZFRhZ3MgPyAi
VGFpbCBXaXRoIFNhdmVkIFRhZ3MgIiA6IGVudHJ5VHlwZSA9PSBFbnRlclZpYUp1bXBXaXRob3V0
U2F2ZWRUYWdzID8gIlRhaWwgV2l0aG91dCBTYXZlZCBUYWdzICIgOiAiIiwgdG9DU3RyaW5nKGtp
bmQpLmRhdGEoKSwgaW5jbHVkZURlYnVnZ2VySG9vayA9PSBJbmNsdWRlRGVidWdnZXJIb29rOjpZ
ZXMgPyAiIERlYnVnZ2VyIiA6ICIiKTsKKyAgICByZXR1cm4gRklOQUxJWkVfVEhVTksocGF0Y2hC
dWZmZXIsIEpJVFRodW5rUHRyVGFnLCAiJXMgJXMlcyB0cmFtcG9saW5lIiwgdGh1bmtGdW5jdGlv
blR5cGUgPT0gVGh1bmtGdW5jdGlvblR5cGU6OkpTRnVuY3Rpb24gPyAibmF0aXZlIiA6ICJpbnRl
cm5hbCIsIGVudHJ5VHlwZSA9PSBFbnRlclZpYUp1bXBXaXRoU2F2ZWRUYWdzID8gIlRhaWwgV2l0
aCBTYXZlZCBUYWdzICIgOiBlbnRyeVR5cGUgPT0gRW50ZXJWaWFKdW1wV2l0aG91dFNhdmVkVGFn
cyA/ICJUYWlsIFdpdGhvdXQgU2F2ZWQgVGFncyAiIDogIiIsIHRvQ1N0cmluZyhraW5kKS5kYXRh
KCkpOwogfQogCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8SklUVGh1bmtQdHJUYWc+IG5hdGl2ZUNh
bGxHZW5lcmF0b3IoVk0mIHZtKQpAQCAtNTA0LDExICs0OTUsNiBAQCBNYWNyb0Fzc2VtYmxlckNv
ZGVSZWY8SklUVGh1bmtQdHJUYWc+IG5hdGl2ZUNhbGxHZW5lcmF0b3IoVk0mIHZtKQogICAgIHJl
dHVybiBuYXRpdmVGb3JHZW5lcmF0b3Iodm0sIFRodW5rRnVuY3Rpb25UeXBlOjpKU0Z1bmN0aW9u
LCBDb2RlRm9yQ2FsbCk7CiB9CiAKLU1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKSVRUaHVua1B0clRh
Zz4gbmF0aXZlQ2FsbFdpdGhEZWJ1Z2dlckhvb2tHZW5lcmF0b3IoVk0mIHZtKQotewotICAgIHJl
dHVybiBuYXRpdmVGb3JHZW5lcmF0b3Iodm0sIFRodW5rRnVuY3Rpb25UeXBlOjpKU0Z1bmN0aW9u
LCBDb2RlRm9yQ2FsbCwgRW50ZXJWaWFDYWxsLCBJbmNsdWRlRGVidWdnZXJIb29rOjpZZXMpOwot
fQotCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8SklUVGh1bmtQdHJUYWc+IG5hdGl2ZVRhaWxDYWxs
R2VuZXJhdG9yKFZNJiB2bSkKIHsKICAgICByZXR1cm4gbmF0aXZlRm9yR2VuZXJhdG9yKHZtLCBU
aHVua0Z1bmN0aW9uVHlwZTo6SlNGdW5jdGlvbiwgQ29kZUZvckNhbGwsIEVudGVyVmlhSnVtcFdp
dGhTYXZlZFRhZ3MpOwpAQCAtNTI0LDExICs1MTAsNiBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8
SklUVGh1bmtQdHJUYWc+IG5hdGl2ZUNvbnN0cnVjdEdlbmVyYXRvcihWTSYgdm0pCiAgICAgcmV0
dXJuIG5hdGl2ZUZvckdlbmVyYXRvcih2bSwgVGh1bmtGdW5jdGlvblR5cGU6OkpTRnVuY3Rpb24s
IENvZGVGb3JDb25zdHJ1Y3QpOwogfQogCi1NYWNyb0Fzc2VtYmxlckNvZGVSZWY8SklUVGh1bmtQ
dHJUYWc+IG5hdGl2ZUNvbnN0cnVjdFdpdGhEZWJ1Z2dlckhvb2tHZW5lcmF0b3IoVk0mIHZtKQot
ewotICAgIHJldHVybiBuYXRpdmVGb3JHZW5lcmF0b3Iodm0sIFRodW5rRnVuY3Rpb25UeXBlOjpK
U0Z1bmN0aW9uLCBDb2RlRm9yQ29uc3RydWN0LCBFbnRlclZpYUNhbGwsIEluY2x1ZGVEZWJ1Z2dl
ckhvb2s6Olllcyk7Ci19Ci0KIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKSVRUaHVua1B0clRhZz4g
aW50ZXJuYWxGdW5jdGlvbkNhbGxHZW5lcmF0b3IoVk0mIHZtKQogewogICAgIHJldHVybiBuYXRp
dmVGb3JHZW5lcmF0b3Iodm0sIFRodW5rRnVuY3Rpb25UeXBlOjpJbnRlcm5hbEZ1bmN0aW9uLCBD
b2RlRm9yQ2FsbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5r
R2VuZXJhdG9ycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMu
aAppbmRleCA0ZDM4MzFiMTkyMWMuLjMxNDkyYjJlYmVkYiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5oCkBAIC01MCw5ICs1MCw3IEBAIE1hY3JvQXNzZW1i
bGVyQ29kZVJlZjxKSVRUaHVua1B0clRhZz4gbGlua1BvbHltb3JwaGljQ2FsbFRodW5rR2VuZXJh
dG9yKFZNJik7CiBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8SklUU3R1YlJvdXRpbmVQdHJUYWc+IHZp
cnR1YWxUaHVua0ZvcihWTSYsIENhbGxNb2RlKTsKIAogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmPEpJ
VFRodW5rUHRyVGFnPiBuYXRpdmVDYWxsR2VuZXJhdG9yKFZNJik7Ci1NYWNyb0Fzc2VtYmxlckNv
ZGVSZWY8SklUVGh1bmtQdHJUYWc+IG5hdGl2ZUNhbGxXaXRoRGVidWdnZXJIb29rR2VuZXJhdG9y
KFZNJik7CiBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8SklUVGh1bmtQdHJUYWc+IG5hdGl2ZUNvbnN0
cnVjdEdlbmVyYXRvcihWTSYpOwotTWFjcm9Bc3NlbWJsZXJDb2RlUmVmPEpJVFRodW5rUHRyVGFn
PiBuYXRpdmVDb25zdHJ1Y3RXaXRoRGVidWdnZXJIb29rR2VuZXJhdG9yKFZNJik7CiBNYWNyb0Fz
c2VtYmxlckNvZGVSZWY8SklUVGh1bmtQdHJUYWc+IG5hdGl2ZVRhaWxDYWxsR2VuZXJhdG9yKFZN
Jik7CiBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8SklUVGh1bmtQdHJUYWc+IG5hdGl2ZVRhaWxDYWxs
V2l0aG91dFNhdmVkVGFnc0dlbmVyYXRvcihWTSYpOwogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmPEpJ
VFRodW5rUHRyVGFnPiBpbnRlcm5hbEZ1bmN0aW9uQ2FsbEdlbmVyYXRvcihWTSYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZUJhc2UuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGVCYXNlLmgKaW5kZXggMGRkZTUz
ODU0YjVkLi5hNzc0ZThkMDBkZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0V4ZWN1dGFibGVCYXNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRXhlY3V0YWJsZUJhc2UuaApAQCAtNTgsNyArNTgsNyBAQCBpbmxpbmUgYm9vbCBpc0NhbGwo
Q29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKQogY2xhc3MgRXhlY3V0YWJsZUJhc2UgOiBwdWJs
aWMgSlNDZWxsIHsKICAgICBmcmllbmQgY2xhc3MgSklUOwogICAgIGZyaWVuZCBjbGFzcyBMTElu
dE9mZnNldHNFeHRyYWN0b3I7Ci0gICAgZnJpZW5kIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKU0Vu
dHJ5UHRyVGFnPiBib3VuZEZ1bmN0aW9uQ2FsbEdlbmVyYXRvcihWTSopOworICAgIGZyaWVuZCBN
YWNyb0Fzc2VtYmxlckNvZGVSZWY8SklUVGh1bmtQdHJUYWc+IGJvdW5kRnVuY3Rpb25DYWxsR2Vu
ZXJhdG9yKFZNKik7CiAKIHByb3RlY3RlZDoKICAgICBFeGVjdXRhYmxlQmFzZShWTSYgdm0sIFN0
cnVjdHVyZSogc3RydWN0dXJlKQpAQCAtMTMwLDI0ICsxMzAsNiBAQCBwdWJsaWM6CiAgICAgICAg
IHJldHVybiBnZW5lcmF0ZWRKSVRDb2RlRm9yQ29uc3RydWN0KCk7CiAgICAgfQogCi0gICAgQ29k
ZVB0cjxKU0VudHJ5UHRyVGFnPiBnZW5lcmF0ZWRKSVRDb2RlV2l0aEFyaXR5Q2hlY2tGb3JDYWxs
KCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX2ppdENvZGVGb3JDYWxsV2l0aEFyaXR5
Q2hlY2s7Ci0gICAgfQotCi0gICAgQ29kZVB0cjxKU0VudHJ5UHRyVGFnPiBnZW5lcmF0ZWRKSVRD
b2RlV2l0aEFyaXR5Q2hlY2tGb3JDb25zdHJ1Y3QoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0
dXJuIG1faml0Q29kZUZvckNvbnN0cnVjdFdpdGhBcml0eUNoZWNrOwotICAgIH0KLQotICAgIENv
ZGVQdHI8SlNFbnRyeVB0clRhZz4gZ2VuZXJhdGVkSklUQ29kZVdpdGhBcml0eUNoZWNrRm9yKENv
ZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCkgY29uc3QKLSAgICB7Ci0gICAgICAgIGlmIChraW5k
ID09IENvZGVGb3JDYWxsKQotICAgICAgICAgICAgcmV0dXJuIGdlbmVyYXRlZEpJVENvZGVXaXRo
QXJpdHlDaGVja0ZvckNhbGwoKTsKLSAgICAgICAgQVNTRVJUKGtpbmQgPT0gQ29kZUZvckNvbnN0
cnVjdCk7Ci0gICAgICAgIHJldHVybiBnZW5lcmF0ZWRKSVRDb2RlV2l0aEFyaXR5Q2hlY2tGb3JD
b25zdHJ1Y3QoKTsKLSAgICB9Ci0KICAgICBDb2RlUHRyPEpTRW50cnlQdHJUYWc+IGVudHJ5cG9p
bnRGb3IoQ29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kLCBBcml0eUNoZWNrTW9kZSBhcml0eSkK
ICAgICB7CiAgICAgICAgIC8vIENoZWNrIGlmIHdlIGhhdmUgYSBjYWNoZWQgcmVzdWx0LiBXZSBv
bmx5IGhhdmUgaXQgZm9yIGFyaXR5IGNoZWNrIGJlY2F1c2Ugd2UgdXNlIHRoZQpAQCAtMjE1LDI4
ICsxOTcsNiBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgSW1wbGVtZW50YXRpb25WaXNpYmlsaXR5
IGltcGxlbWVudGF0aW9uVmlzaWJpbGl0eSgpIGNvbnN0OwotCi0gICAgQ29kZVB0cjxKU0VudHJ5
UHRyVGFnPiBzd2FwR2VuZXJhdGVkSklUQ29kZVdpdGhBcml0eUNoZWNrRm9yRGVidWdnZXIoQ29k
ZVNwZWNpYWxpemF0aW9uS2luZCBraW5kLCBDb2RlUHRyPEpTRW50cnlQdHJUYWc+IGppdENvZGVX
aXRoQXJpdHlDaGVjaykKLSAgICB7Ci0gICAgICAgIGlmIChraW5kID09IENvZGVGb3JDYWxsKQot
ICAgICAgICAgICAgcmV0dXJuIHN3YXBHZW5lcmF0ZWRKSVRDb2RlRm9yQ2FsbFdpdGhBcml0eUNo
ZWNrRm9yRGVidWdnZXIoaml0Q29kZVdpdGhBcml0eUNoZWNrKTsKLSAgICAgICAgQVNTRVJUKGtp
bmQgPT0gQ29kZUZvckNvbnN0cnVjdCk7Ci0gICAgICAgIHJldHVybiBzd2FwR2VuZXJhdGVkSklU
Q29kZUZvckNvbnN0cnVjdFdpdGhBcml0eUNoZWNrRm9yRGVidWdnZXIoaml0Q29kZVdpdGhBcml0
eUNoZWNrKTsKLSAgICB9Ci0KLSAgICBDb2RlUHRyPEpTRW50cnlQdHJUYWc+IHN3YXBHZW5lcmF0
ZWRKSVRDb2RlRm9yQ2FsbFdpdGhBcml0eUNoZWNrRm9yRGVidWdnZXIoQ29kZVB0cjxKU0VudHJ5
UHRyVGFnPiBqaXRDb2RlRm9yQ2FsbFdpdGhBcml0eUNoZWNrKQotICAgIHsKLSAgICAgICAgYXV0
byBvbGQgPSBtX2ppdENvZGVGb3JDYWxsV2l0aEFyaXR5Q2hlY2s7Ci0gICAgICAgIG1faml0Q29k
ZUZvckNhbGxXaXRoQXJpdHlDaGVjayA9IGppdENvZGVGb3JDYWxsV2l0aEFyaXR5Q2hlY2s7Ci0g
ICAgICAgIHJldHVybiBvbGQ7Ci0gICAgfQotCi0gICAgQ29kZVB0cjxKU0VudHJ5UHRyVGFnPiBz
d2FwR2VuZXJhdGVkSklUQ29kZUZvckNvbnN0cnVjdFdpdGhBcml0eUNoZWNrRm9yRGVidWdnZXIo
Q29kZVB0cjxKU0VudHJ5UHRyVGFnPiBqaXRDb2RlRm9yQ29uc3RydWN0V2l0aEFyaXR5Q2hlY2sp
Ci0gICAgewotICAgICAgICBhdXRvIG9sZCA9IG1faml0Q29kZUZvckNvbnN0cnVjdFdpdGhBcml0
eUNoZWNrOwotICAgICAgICBtX2ppdENvZGVGb3JDb25zdHJ1Y3RXaXRoQXJpdHlDaGVjayA9IGpp
dENvZGVGb3JDb25zdHJ1Y3RXaXRoQXJpdHlDaGVjazsKLSAgICAgICAgcmV0dXJuIG9sZDsKLSAg
ICB9CiAgICAgCiAgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Q7CiAgICAgICAgIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXhlY3V0YWJs
ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFeGVjdXRhYmxlLmNw
cAppbmRleCA5NWEzN2I2YzdjYmMuLjUzZmNjOTllNTRhOCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXhlY3V0YWJsZS5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXhlY3V0YWJsZS5jcHAKQEAgLTI2LDcgKzI2LDYg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJOYXRpdmVFeGVjdXRhYmxlLmgiCiAK
LSNpbmNsdWRlICJEZWJ1Z2dlci5oIgogI2luY2x1ZGUgIkV4ZWN1dGFibGVCYXNlSW5saW5lcy5o
IgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKIApAQCAtMzksMTEgKzM4LDYgQEAgTmF0aXZlRXhl
Y3V0YWJsZSogTmF0aXZlRXhlY3V0YWJsZTo6Y3JlYXRlKFZNJiB2bSwgUmVmPEpJVENvZGU+JiYg
Y2FsbFRodW5rLCBUYWcKICAgICBOYXRpdmVFeGVjdXRhYmxlKiBleGVjdXRhYmxlOwogICAgIGV4
ZWN1dGFibGUgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxOYXRpdmVFeGVjdXRhYmxlPih2
bSkpIE5hdGl2ZUV4ZWN1dGFibGUodm0sIGZ1bmN0aW9uLCBjb25zdHJ1Y3RvciwgaW1wbGVtZW50
YXRpb25WaXNpYmlsaXR5KTsKICAgICBleGVjdXRhYmxlLT5maW5pc2hDcmVhdGlvbih2bSwgV1RG
TW92ZShjYWxsVGh1bmspLCBXVEZNb3ZlKGNvbnN0cnVjdFRodW5rKSwgbmFtZSk7Ci0KLSAgICB2
bS5mb3JFYWNoRGVidWdnZXIoWyZdIChEZWJ1Z2dlciYgZGVidWdnZXIpIHsKLSAgICAgICAgZGVi
dWdnZXIuZGlkQ3JlYXRlTmF0aXZlRXhlY3V0YWJsZSgqZXhlY3V0YWJsZSk7Ci0gICAgfSk7Ci0K
ICAgICByZXR1cm4gZXhlY3V0YWJsZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVk0uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0u
Y3BwCmluZGV4IDc0MWE3MjdhZWZhNS4uN2FkZTgxZmFiOTI4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvVk0uY3BwCkBAIC00MSw3ICs0MSw2IEBACiAjaW5jbHVkZSAiQ29udHJvbEZsb3dQ
cm9maWxlci5oIgogI2luY2x1ZGUgIkN1c3RvbUdldHRlclNldHRlci5oIgogI2luY2x1ZGUgIkRP
TUF0dHJpYnV0ZUdldHRlclNldHRlci5oIgotI2luY2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVk
ZSAiRGVmZXJyZWRXb3JrVGltZXIuaCIKICNpbmNsdWRlICJEaXNhc3NlbWJsZXIuaCIKICNpbmNs
dWRlICJEb3VibGVQcmVkaWN0aW9uRnV6emVyQWdlbnQuaCIKQEAgLTE0NzUsMjUgKzE0NzQsNiBA
QCB2b2lkIFZNOjp2aXNpdEFnZ3JlZ2F0ZUltcGwoVmlzaXRvciYgdmlzaXRvcikKIH0KIERFRklO
RV9WSVNJVF9BR0dSRUdBVEUoVk0pOwogCi12b2lkIFZNOjphZGREZWJ1Z2dlcihEZWJ1Z2dlciYg
ZGVidWdnZXIpCi17Ci0gICAgbV9kZWJ1Z2dlcnMuYXBwZW5kKCZkZWJ1Z2dlcik7Ci19Ci0KLXZv
aWQgVk06OnJlbW92ZURlYnVnZ2VyKERlYnVnZ2VyJiBkZWJ1Z2dlcikKLXsKLSAgICBtX2RlYnVn
Z2Vycy5yZW1vdmUoJmRlYnVnZ2VyKTsKLX0KLQotdm9pZCBWTTo6Zm9yRWFjaERlYnVnZ2VyKEZ1
bmN0aW9uPHZvaWQoRGVidWdnZXImKT4mJiBjYWxsYmFjaykKLXsKLSAgICBpZiAoTElLRUxZKG1f
ZGVidWdnZXJzLmlzRW1wdHkoKSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGZvciAoYXV0byog
ZGVidWdnZXIgPSBtX2RlYnVnZ2Vycy5oZWFkKCk7IGRlYnVnZ2VyOyBkZWJ1Z2dlciA9IGRlYnVn
Z2VyLT5uZXh0KCkpCi0gICAgICAgIGNhbGxiYWNrKCpkZWJ1Z2dlcik7Ci19Ci0KIHZvaWQgUXVl
dWVkVGFzazo6cnVuKCkKIHsKICAgICBpZiAoIW1fam9iLmlzT2JqZWN0KCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk0uaAppbmRleCA3YmFhZTA0Zjk5NmUuLjBhMDg2YTllMTMwNCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCkBAIC0xMjMsNyArMTIzLDYgQEAgY2xhc3MgSlNQcm9w
ZXJ0eU5hbWVFbnVtZXJhdG9yOwogY2xhc3MgSklUU2l6ZVN0YXRpc3RpY3M7CiBjbGFzcyBKSVRU
aHVua3M7CiBjbGFzcyBOYXRpdmVFeGVjdXRhYmxlOwotY2xhc3MgRGVidWdnZXI7CiBjbGFzcyBE
ZWZlcnJlZFdvcmtUaW1lcjsKIGNsYXNzIFJlZ0V4cDsKIGNsYXNzIFJlZ0V4cENhY2hlOwpAQCAt
OTAzLDEwICs5MDIsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBiZWdpbk1hcmtpbmcoKTsKICAgICBE
RUNMQVJFX1ZJU0lUX0FHR1JFR0FURTsKIAotICAgIHZvaWQgYWRkRGVidWdnZXIoRGVidWdnZXIm
KTsKLSAgICB2b2lkIHJlbW92ZURlYnVnZ2VyKERlYnVnZ2VyJik7Ci0gICAgdm9pZCBmb3JFYWNo
RGVidWdnZXIoRnVuY3Rpb248dm9pZChEZWJ1Z2dlciYpPiYmKTsKLQogcHJpdmF0ZToKICAgICBW
TShWTVR5cGUsIEhlYXBUeXBlLCBXVEY6OlJ1bkxvb3AqID0gbnVsbHB0ciwgYm9vbCogc3VjY2Vz
cyA9IG51bGxwdHIpOwogICAgIHN0YXRpYyBWTSomIHNoYXJlZEluc3RhbmNlSW50ZXJuYWwoKTsK
QEAgLTEwMzQsOCArMTAyOSw2IEBAIHByaXZhdGU6CiAgICAgRG9lc0dDQ2hlY2sgbV9kb2VzR0M7
CiAjZW5kaWYKIAotICAgIERvdWJseUxpbmtlZExpc3Q8RGVidWdnZXI+IG1fZGVidWdnZXJzOwot
CiAgICAgVk0qIG1fcHJldjsgLy8gUmVxdWlyZWQgYnkgRG91Ymx5TGlua2VkTGlzdE5vZGUuCiAg
ICAgVk0qIG1fbmV4dDsgLy8gUmVxdWlyZWQgYnkgRG91Ymx5TGlua2VkTGlzdE5vZGUuCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlRGVidWdnZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlci5jcHAKaW5kZXggZWRlNWE3MTZkMDE4
Li42NzAzN2IwZGMwZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdl
RGVidWdnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9QYWdlRGVidWdnZXIu
Y3BwCkBAIC0xMjQsNyArMTI0LDcgQEAgdm9pZCBQYWdlRGVidWdnZXI6OnJ1bkV2ZW50TG9vcFdo
aWxlUGF1c2VkSW50ZXJuYWwoKQogCiAgICAgbV9wYWdlLmluY3JlbWVudE5lc3RlZFJ1bkxvb3BD
b3VudCgpOwogCi0gICAgd2hpbGUgKCFtX2RvbmVQcm9jZXNzaW5nRGVidWdnZXJFdmVudHMpIHsK
KyAgICB3aGlsZSAoIWRvbmVQcm9jZXNzaW5nRGVidWdnZXJFdmVudHMoKSkgewogICAgICAgICBp
ZiAoIXBsYXRmb3JtU2hvdWxkQ29udGludWVSdW5uaW5nRXZlbnRMb29wV2hpbGVQYXVzZWQoKSkK
ICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29y
a2VyRGVidWdnZXIuY3BwCmluZGV4IGMzMzAwMjZhNTMyZi4uYjUyMDg4YmMzOWQ2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VyRGVidWdnZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJEZWJ1Z2dlci5jcHAKQEAgLTg2LDcgKzg2LDcg
QEAgdm9pZCBXb3JrZXJEZWJ1Z2dlcjo6cnVuRXZlbnRMb29wV2hpbGVQYXVzZWQoKQogICAgIE1l
c3NhZ2VRdWV1ZVdhaXRSZXN1bHQgcmVzdWx0OwogICAgIGRvIHsKICAgICAgICAgcmVzdWx0ID0g
ZG93bmNhc3Q8V29ya2VyRGVkaWNhdGVkUnVuTG9vcD4obV9nbG9iYWxTY29wZS53b3JrZXJPcldv
cmtsZXRUaHJlYWQoKS0+cnVuTG9vcCgpKS5ydW5JbkRlYnVnZ2VyTW9kZShtX2dsb2JhbFNjb3Bl
KTsKLSAgICB9IHdoaWxlIChyZXN1bHQgIT0gTWVzc2FnZVF1ZXVlVGVybWluYXRlZCAmJiAhbV9k
b25lUHJvY2Vzc2luZ0RlYnVnZ2VyRXZlbnRzKTsKKyAgICB9IHdoaWxlIChyZXN1bHQgIT0gTWVz
c2FnZVF1ZXVlVGVybWluYXRlZCAmJiAhZG9uZVByb2Nlc3NpbmdEZWJ1Z2dlckV2ZW50cygpKTsK
IH0KIAogdm9pZCBXb3JrZXJEZWJ1Z2dlcjo6cmVwb3J0RXhjZXB0aW9uKEpTQzo6SlNHbG9iYWxP
YmplY3QqIGV4ZWMsIEpTQzo6RXhjZXB0aW9uKiBleGNlcHRpb24pIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9EZWJ1Z2dl
ck1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9s
bGVycy9EZWJ1Z2dlck1hbmFnZXIuanMKaW5kZXggOGIwMmEzYzJiYzVmLi43NTU3MGFkZTQ5MDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xs
ZXJzL0RlYnVnZ2VyTWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Db250cm9sbGVycy9EZWJ1Z2dlck1hbmFnZXIuanMKQEAgLTEyODUsOCArMTI4NSw4
IEBAIFdJLkRlYnVnZ2VyTWFuYWdlciA9IGNsYXNzIERlYnVnZ2VyTWFuYWdlciBleHRlbmRzIFdJ
Lk9iamVjdAogICAgICAgICBjb25zb2xlLmFzc2VydCghYnJlYWtwb2ludC5kaXNhYmxlZCwgYnJl
YWtwb2ludCk7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KFdJLlN5bWJvbGljQnJlYWtwb2ludC5z
dXBwb3J0ZWQodGFyZ2V0KSwgdGFyZ2V0KTsKIAotICAgICAgICBpZiAoIXRoaXMuX3Jlc3Rvcmlu
Z0JyZWFrcG9pbnRzICYmICF0aGlzLmJyZWFrcG9pbnRzRGlzYWJsZWRUZW1wb3JhcmlseSkKLSAg
ICAgICAgICAgIHRoaXMuYnJlYWtwb2ludHNFbmFibGVkID0gdHJ1ZTsKKyAgICAgICAgaWYgKCF0
aGlzLl9yZXN0b3JpbmdCcmVha3BvaW50cyAmJiAhV0kuZGVidWdnZXJNYW5hZ2VyLmJyZWFrcG9p
bnRzRGlzYWJsZWRUZW1wb3JhcmlseSkKKyAgICAgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5i
cmVha3BvaW50c0VuYWJsZWQgPSB0cnVlOwogCiAgICAgICAgIHRhcmdldC5EZWJ1Z2dlckFnZW50
LmFkZFN5bWJvbGljQnJlYWtwb2ludC5pbnZva2UoewogICAgICAgICAgICAgc3ltYm9sOiBicmVh
a3BvaW50LnN5bWJvbCwKQEAgLTE1MjEsNyArMTUyMSw3IEBAIFdJLkRlYnVnZ2VyTWFuYWdlciA9
IGNsYXNzIERlYnVnZ2VyTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgICAgIHRoaXMu
X2hhbmRsZVN5bWJvbGljQnJlYWtwb2ludEVkaXRhYmxlUHJvcGVydHlDaGFuZ2VkKGV2ZW50KTsK
IAotICAgICAgICB0aGlzLnVwZGF0ZVByb2Jlc0ZvckJyZWFrcG9pbnQoYnJlYWtwb2ludCk7Cisg
ICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci51cGRhdGVQcm9iZXNGb3JCcmVha3BvaW50KGJyZWFr
cG9pbnQpOwogICAgIH0KIAogICAgIF9zdGFydERpc2FibGluZ0JyZWFrcG9pbnRzVGVtcG9yYXJp
bHkoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3N5bWJvbGlj
LWJyZWFrcG9pbnQtZXhhY3QtY2FzZS1pbnNlbnNpdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2RlYnVnZ2VyL3N5bWJvbGljLWJyZWFrcG9pbnQtZXhhY3QtY2FzZS1pbnNlbnNpdGl2
ZS5odG1sCmluZGV4IGUxN2NhODk2OWUwMC4uYzE2NTNjY2VlMzAwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc3ltYm9saWMtYnJlYWtwb2ludC1leGFjdC1jYXNl
LWluc2Vuc2l0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3N5
bWJvbGljLWJyZWFrcG9pbnQtZXhhY3QtY2FzZS1pbnNlbnNpdGl2ZS5odG1sCkBAIC01NSw5ICs1
NSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIEluc3BlY3RvclRlc3QuQnJlYWtwb2ludE9wdGlv
bnMuYWRkVGVzdENhc2VzKHN1aXRlLCB7CiAgICAgICAgIHRlc3RDYXNlTmFtZVByZWZpeDogIkV4
YWN0Q2FzZUluc2Vuc2l0aXZlLkhpdC4iLAogICAgICAgICBjcmVhdGVCcmVha3BvaW50KCkgewot
ICAgICAgICAgICAgbGV0IGJyZWFrcG9pbnQgPSBuZXcgV0kuU3ltYm9saWNCcmVha3BvaW50KCJ0
UmlHZ0VyU3lNYk9sSWNCckVhS3BPaU50Iiwge2Nhc2VTZW5zaXRpdmU6IGZhbHNlfSk7Ci0gICAg
ICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIuYWRkU3ltYm9saWNCcmVha3BvaW50KGJyZWFrcG9p
bnQpOwotICAgICAgICAgICAgcmV0dXJuIGJyZWFrcG9pbnQ7CisgICAgICAgICAgICByZXR1cm4g
bmV3IFdJLlN5bWJvbGljQnJlYWtwb2ludCgidFJpR2dFclN5TWJPbEljQnJFYUtwT2lOdCIsIHtj
YXNlU2Vuc2l0aXZlOiBmYWxzZX0pOwogICAgICAgICB9LAogICAgICAgICB0cmlnZ2VyQnJlYWtw
b2ludCwKICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci9zeW1ib2xpYy1icmVha3BvaW50LWV4YWN0LWNhc2Utc2Vuc2l0aXZlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc3ltYm9saWMtYnJlYWtwb2ludC1leGFjdC1jYXNlLXNl
bnNpdGl2ZS5odG1sCmluZGV4IDFhMGMwMGVlNWE4Mi4uZGM0ZmU1YTZiN2I1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc3ltYm9saWMtYnJlYWtwb2ludC1leGFj
dC1jYXNlLXNlbnNpdGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci9zeW1ib2xpYy1icmVha3BvaW50LWV4YWN0LWNhc2Utc2Vuc2l0aXZlLmh0bWwKQEAgLTU1LDkg
KzU1LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgSW5zcGVjdG9yVGVzdC5CcmVha3BvaW50T3B0
aW9ucy5hZGRUZXN0Q2FzZXMoc3VpdGUsIHsKICAgICAgICAgdGVzdENhc2VOYW1lUHJlZml4OiAi
RXhhY3RDYXNlU2Vuc2l0aXZlLkhpdC4iLAogICAgICAgICBjcmVhdGVCcmVha3BvaW50KCkgewot
ICAgICAgICAgICAgbGV0IGJyZWFrcG9pbnQgPSBuZXcgV0kuU3ltYm9saWNCcmVha3BvaW50KCJ0
cmlnZ2VyU3ltYm9saWNCcmVha3BvaW50Iik7Ci0gICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFn
ZXIuYWRkU3ltYm9saWNCcmVha3BvaW50KGJyZWFrcG9pbnQpOwotICAgICAgICAgICAgcmV0dXJu
IGJyZWFrcG9pbnQ7CisgICAgICAgICAgICByZXR1cm4gbmV3IFdJLlN5bWJvbGljQnJlYWtwb2lu
dCgidHJpZ2dlclN5bWJvbGljQnJlYWtwb2ludCIpOwogICAgICAgICB9LAogICAgICAgICB0cmln
Z2VyQnJlYWtwb2ludCwKICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kZWJ1Z2dlci9zeW1ib2xpYy1icmVha3BvaW50LW5hdGl2ZS1kb20tZXhhY3QtY2FzZS1pbnNl
bnNpdGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc3lt
Ym9saWMtYnJlYWtwb2ludC1uYXRpdmUtZG9tLWV4YWN0LWNhc2UtaW5zZW5zaXRpdmUtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNTIwMjc4M2E1MTYuLjAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc3ltYm9saWMtYnJl
YWtwb2ludC1uYXRpdmUtZG9tLWV4YWN0LWNhc2UtaW5zZW5zaXRpdmUtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMTY1ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogQlJFQUtQT0lO
VCBBQ1RJT04gTE9HIDEKLUNPTlNPTEUgTUVTU0FHRTogQlJFQUtQT0lOVCBBQ1RJT04gTE9HIDIK
LUNPTlNPTEUgTUVTU0FHRTogQlJFQUtQT0lOVCBBQ1RJT04gTE9HIDMKLUNPTlNPTEUgTUVTU0FH
RTogQlJFQUtQT0lOVCBBQ1RJT04gTE9HIDQKLVRlc3RzIGZvciBTeW1ib2xpY0JyZWFrcG9pbnQu
Ci0KLQotPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBTeW1ib2xpY0JyZWFrcG9pbnQKLS0tIFJ1bm5p
bmcgdGVzdCBjYXNlOiBTeW1ib2xpY0JyZWFrcG9pbnQuRXhhY3RDYXNlSW5zZW5zaXRpdmUuTmF0
aXZlLkRPTS5IaXQuT3B0aW9ucy5Db25kaXRpb24KLQotU2V0dGluZyBjb25kaXRpb24gdG8gJ2Zh
bHNlJy4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBub3QgcGF1
c2UuCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZS4K
LQotU2V0dGluZyBjb25kaXRpb24gdG8gJ3RydWUnLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2lu
dC4uLgotUEFTUzogU2hvdWxkIHBhdXNlLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBB
U1M6IFNob3VsZCBwYXVzZS4KLQotLS0gUnVubmluZyB0ZXN0IGNhc2U6IFN5bWJvbGljQnJlYWtw
b2ludC5FeGFjdENhc2VJbnNlbnNpdGl2ZS5OYXRpdmUuRE9NLkhpdC5PcHRpb25zLkNvbmRpdGlv
bi5Db25zb2xlQ29tbWFuZExpbmVBUEkKLUFkZGluZyBzYXZlZCBjb25zb2xlIHZhbHVlICdmYWxz
ZScuLi4KLQotU2V0dGluZyBjb25kaXRpb24gdG8gc2F2ZWQgY29uc29sZSB2YWx1ZS4uLgotCi1U
cmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2UuCi0KLVRyaWdn
ZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZS4KLQotQWRkaW5nIHNh
dmVkIGNvbnNvbGUgdmFsdWUgJ3RydWUnLi4uCi1TZXR0aW5nIGNvbmRpdGlvbiB0byBzYXZlZCBj
b25zb2xlIHZhbHVlLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxk
IHBhdXNlLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBwYXVzZS4K
LQotLS0gUnVubmluZyB0ZXN0IGNhc2U6IFN5bWJvbGljQnJlYWtwb2ludC5FeGFjdENhc2VJbnNl
bnNpdGl2ZS5OYXRpdmUuRE9NLkhpdC5PcHRpb25zLklnbm9yZUNvdW50Ci0KLVNldHRpbmcgaWdu
b3JlQ291bnQgdG8gJzInLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hv
dWxkIG5vdCBwYXVzZS4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQg
bm90IHBhdXNlLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBwYXVz
ZS4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0KLS0t
IFJ1bm5pbmcgdGVzdCBjYXNlOiBTeW1ib2xpY0JyZWFrcG9pbnQuRXhhY3RDYXNlSW5zZW5zaXRp
dmUuTmF0aXZlLkRPTS5IaXQuT3B0aW9ucy5BY3Rpb24uTG9nCi0KLUFkZGluZyBsb2cgYWN0aW9u
Li4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIGV4ZWN1dGUgYnJl
YWtwb2ludCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0KLUVkaXRpbmcgbG9nIGFjdGlv
bi4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBleGVjdXRlIGJy
ZWFrcG9pbnQgYWN0aW9uLgotUEFTUzogU2hvdWxkIHBhdXNlLgotCi1FZGl0aW5nIGxvZyBhY3Rp
b24uLi4KLUVuYWJsaW5nIGF1dG8tY29udGludWUuLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50
Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3Vs
ZCBub3QgcGF1c2UuCi0KLUVkaXRpbmcgbG9nIGFjdGlvbi4uLgotCi1UcmlnZ2VyaW5nIGJyZWFr
cG9pbnQuLi4KLVBBU1M6IFNob3VsZCBleGVjdXRlIGJyZWFrcG9pbnQgYWN0aW9uLgotUEFTUzog
U2hvdWxkIG5vdCBwYXVzZS4KLQotLS0gUnVubmluZyB0ZXN0IGNhc2U6IFN5bWJvbGljQnJlYWtw
b2ludC5FeGFjdENhc2VJbnNlbnNpdGl2ZS5OYXRpdmUuRE9NLkhpdC5PcHRpb25zLkFjdGlvbnMu
RXZhbHVhdGUKLQotQWRkaW5nIGV2YWx1YXRlIGFjdGlvbi4uLgotCi1UcmlnZ2VyaW5nIGJyZWFr
cG9pbnQuLi4KLVBBU1M6IFNob3VsZCBleGVjdXRlIGJyZWFrcG9pbnQgYWN0aW9uLgotUEFTUzog
U2hvdWxkIHBhdXNlLgotCi1FZGl0aW5nIGV2YWx1YXRlIGFjdGlvbi4uLgotCi1UcmlnZ2VyaW5n
IGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBleGVjdXRlIGJyZWFrcG9pbnQgYWN0aW9uLgot
UEFTUzogU2hvdWxkIHBhdXNlLgotCi1FZGl0aW5nIGV2YWx1YXRlIGFjdGlvbi4uLgotRW5hYmxp
bmcgYXV0by1jb250aW51ZS4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNo
b3VsZCBleGVjdXRlIGJyZWFrcG9pbnQgYWN0aW9uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZS4K
LQotRWRpdGluZyBldmFsdWF0ZSBhY3Rpb24uLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4u
Ci1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3VsZCBu
b3QgcGF1c2UuCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTeW1ib2xpY0JyZWFrcG9pbnQuRXhh
Y3RDYXNlSW5zZW5zaXRpdmUuTmF0aXZlLkRPTS5IaXQuT3B0aW9ucy5BY3Rpb25zLkV2YWx1YXRl
LkNvbnNvbGVDb21tYW5kTGluZUFQSQotQWRkaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUgJzEnLi4u
Ci0KLUFkZGluZyBldmFsdWF0ZSBhY3Rpb24gdXNpbmcgc2F2ZWQgY29uc29sZSB2YWx1ZS4uLgot
Ci1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBleGVjdXRlIGJyZWFrcG9p
bnQgYWN0aW9uLgotUEFTUzogU2hvdWxkIHBhdXNlLgotCi1BZGRpbmcgc2F2ZWQgY29uc29sZSB2
YWx1ZSAnMicuLi4KLUVkaXRpbmcgZXZhbHVhdGUgYWN0aW9uIHVzaW5nIHNhdmVkIGNvbnNvbGUg
dmFsdWUuLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0
ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3VsZCBwYXVzZS4KLQotQWRkaW5nIHNhdmVk
IGNvbnNvbGUgdmFsdWUgJzMnLi4uCi1FZGl0aW5nIGV2YWx1YXRlIGFjdGlvbiB1c2luZyBzYXZl
ZCBjb25zb2xlIHZhbHVlLi4uCi1FbmFibGluZyBhdXRvLWNvbnRpbnVlLi4uCi0KLVRyaWdnZXJp
bmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIGV4ZWN1dGUgYnJlYWtwb2ludCBhY3Rpb24u
Ci1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi1BZGRpbmcgc2F2ZWQgY29uc29sZSB2YWx1ZSAn
NCcuLi4KLUVkaXRpbmcgZXZhbHVhdGUgYWN0aW9uIHVzaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUu
Li4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVh
a3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2UuCi0KLS0tIFJ1bm5pbmcgdGVz
dCBjYXNlOiBTeW1ib2xpY0JyZWFrcG9pbnQuRXhhY3RDYXNlSW5zZW5zaXRpdmUuTmF0aXZlLkRP
TS5NaXNzCi1BZGRpbmcgYnJlYWtwb2ludC4uLgotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1Q
QVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi1SZW1vdmluZyBicmVha3BvaW50Li4uCi1UcmlnZ2Vy
aW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2UuCi0KLS0tIFJ1bm5pbmcg
dGVzdCBjYXNlOiBTeW1ib2xpY0JyZWFrcG9pbnQuRXhhY3RDYXNlSW5zZW5zaXRpdmUuTmF0aXZl
LkRPTS5EaXNhYmxlZAotQWRkaW5nIGJyZWFrcG9pbnQuLi4KLVRyaWdnZXJpbmcgYnJlYWtwb2lu
dC4uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZS4KLQotUmVtb3ZpbmcgYnJlYWtwb2ludC4uLgot
VHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc3ltYm9saWMtYnJlYWtwb2lu
dC1uYXRpdmUtZG9tLWV4YWN0LWNhc2UtaW5zZW5zaXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kZWJ1Z2dlci9zeW1ib2xpYy1icmVha3BvaW50LW5hdGl2ZS1kb20tZXhhY3QtY2Fz
ZS1pbnNlbnNpdGl2ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMmFhMDFk
MTYyYTYuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIv
c3ltYm9saWMtYnJlYWtwb2ludC1uYXRpdmUtZG9tLWV4YWN0LWNhc2UtaW5zZW5zaXRpdmUuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDEwNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3Vy
Y2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
YnJlYWtwb2ludC1vcHRpb25zLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVu
Y3Rpb24gdHJpZ2dlclN5bWJvbGljQnJlYWtwb2ludCgpIHsKLSAgICBkb2N1bWVudC5ib2R5LmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKGV2ZW50KSA9PiB7Ci0gICAgICAgIGV2ZW50LnByZXZl
bnREZWZhdWx0KCk7Ci0gICAgICAgIFRlc3RQYWdlLmRpc3BhdGNoRXZlbnRUb0Zyb250ZW5kKCJU
ZXN0UGFnZS1TeW1ib2xpY0JyZWFrcG9pbnQiKTsKLSAgICB9LCB7b25jZTogdHJ1ZX0pOwotICAg
IGRvY3VtZW50LmJvZHkuY2xpY2soKTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgV0ku
c2V0dGluZ3MuZXhwZXJpbWVudGFsRW5hYmxlU3ltYm9saWNCcmVha3BvaW50cy52YWx1ZSA9IHRy
dWU7Ci0KLSAgICBmdW5jdGlvbiB0cmlnZ2VyQnJlYWtwb2ludCgpIHsKLSAgICAgICAgcmV0dXJu
IFByb21pc2UuYWxsKFsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXdhaXRFdmVudCgiVGVz
dFBhZ2UtU3ltYm9saWNCcmVha3BvaW50IiksCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlKGB0cmlnZ2VyU3ltYm9saWNCcmVha3BvaW50KClgKSwKLSAgICAgICAgXSk7
Ci0gICAgfQotCi0gICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRl
KCJTeW1ib2xpY0JyZWFrcG9pbnQiKTsKLQotICAgIEluc3BlY3RvclRlc3QuQnJlYWtwb2ludE9w
dGlvbnMuYWRkVGVzdENhc2VzKHN1aXRlLCB7Ci0gICAgICAgIHRlc3RDYXNlTmFtZVByZWZpeDog
IkV4YWN0Q2FzZUluc2Vuc2l0aXZlLk5hdGl2ZS5ET00uSGl0LiIsCi0gICAgICAgIGNyZWF0ZUJy
ZWFrcG9pbnQoKSB7Ci0gICAgICAgICAgICBsZXQgYnJlYWtwb2ludCA9IG5ldyBXSS5TeW1ib2xp
Y0JyZWFrcG9pbnQoInBSZVZlTnREZUZhVWxUIiwge2Nhc2VTZW5zaXRpdmU6IGZhbHNlfSk7Ci0g
ICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIuYWRkU3ltYm9saWNCcmVha3BvaW50KGJyZWFr
cG9pbnQpOwotICAgICAgICAgICAgcmV0dXJuIGJyZWFrcG9pbnQ7Ci0gICAgICAgIH0sCi0gICAg
ICAgIHRyaWdnZXJCcmVha3BvaW50LAotICAgIH0pOwotCi0gICAgc3VpdGUuYWRkVGVzdENhc2Uo
ewotICAgICAgICBuYW1lOiAiU3ltYm9saWNCcmVha3BvaW50LkV4YWN0Q2FzZUluc2Vuc2l0aXZl
Lk5hdGl2ZS5ET00uTWlzcyIsCi0gICAgICAgIGFzeW5jIHRlc3QoKSB7Ci0gICAgICAgICAgICBs
ZXQgcGF1c2VDb3VudCA9IDA7Ci0gICAgICAgICAgICBsZXQgcGF1c2VkTGlzdGVuZXIgPSBXSS5k
ZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQu
UGF1c2VkLCAoZXZlbnQpID0+IHsKLSAgICAgICAgICAgICAgICArK3BhdXNlQ291bnQ7Ci0gICAg
ICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJlc3VtZSgpOwotICAgICAgICAgICAgfSk7
Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJBZGRpbmcgYnJlYWtwb2ludC4uLiIp
OwotICAgICAgICAgICAgbGV0IGJyZWFrcG9pbnQgPSBuZXcgV0kuU3ltYm9saWNCcmVha3BvaW50
KCJwUmVWZU50Iiwge2Nhc2VTZW5zaXRpdmU6IGZhbHNlfSk7Ci0gICAgICAgICAgICBXSS5kZWJ1
Z2dlck1hbmFnZXIuYWRkU3ltYm9saWNCcmVha3BvaW50KGJyZWFrcG9pbnQpOwotICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIVdJLmRlYnVnZ2VyTWFuYWdlci5zeW1ib2xpY0JyZWFr
cG9pbnRzRm9yU3ltYm9sKCJwcmV2ZW50RGVmYXVsdCIpLmxlbmd0aCwgIlNob3VsZCBub3QgbWF0
Y2ggYnJlYWtwb2ludC4iKTsKLQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlRyaWdn
ZXJpbmcgYnJlYWtwb2ludC4uLiIpOwotICAgICAgICAgICAgYXdhaXQgdHJpZ2dlckJyZWFrcG9p
bnQoKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocGF1c2VDb3VudCwg
MCwgIlNob3VsZCBub3QgcGF1c2UuIik7Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubmV3
bGluZSgpOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiUmVtb3ZpbmcgYnJlYWtw
b2ludC4uLiIpOwotICAgICAgICAgICAgYnJlYWtwb2ludC5yZW1vdmUoKTsKLQotICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5sb2coIlRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLiIpOwotICAgICAg
ICAgICAgYXdhaXQgdHJpZ2dlckJyZWFrcG9pbnQoKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXhwZWN0RXF1YWwocGF1c2VDb3VudCwgMCwgIlNob3VsZCBub3QgcGF1c2UuIik7Ci0KLSAg
ICAgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkRlYnVn
Z2VyTWFuYWdlci5FdmVudC5QYXVzZWQsIHBhdXNlZExpc3RlbmVyKTsKLSAgICAgICAgfSwKLSAg
ICB9KTsKLQotICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKLSAgICAgICAgbmFtZTogIlN5bWJvbGlj
QnJlYWtwb2ludC5FeGFjdENhc2VJbnNlbnNpdGl2ZS5OYXRpdmUuRE9NLkRpc2FibGVkIiwKLSAg
ICAgICAgYXN5bmMgdGVzdCgpIHsKLSAgICAgICAgICAgIGxldCBwYXVzZUNvdW50ID0gMDsKLSAg
ICAgICAgICAgIGxldCBwYXVzZWRMaXN0ZW5lciA9IFdJLmRlYnVnZ2VyTWFuYWdlci5hZGRFdmVu
dExpc3RlbmVyKFdJLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5QYXVzZWQsIChldmVudCkgPT4gewot
ICAgICAgICAgICAgICAgICsrcGF1c2VDb3VudDsKLSAgICAgICAgICAgICAgICBXSS5kZWJ1Z2dl
ck1hbmFnZXIucmVzdW1lKCk7Ci0gICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5sb2coIkFkZGluZyBicmVha3BvaW50Li4uIik7Ci0gICAgICAgICAgICBsZXQgYnJl
YWtwb2ludCA9IG5ldyBXSS5TeW1ib2xpY0JyZWFrcG9pbnQoInBSZVZlTnREZUZhVWxUIiwge2Nh
c2VTZW5zaXRpdmU6IGZhbHNlLCBkaXNhYmxlZDogdHJ1ZX0pOwotICAgICAgICAgICAgV0kuZGVi
dWdnZXJNYW5hZ2VyLmFkZFN5bWJvbGljQnJlYWtwb2ludChicmVha3BvaW50KTsKLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFXSS5kZWJ1Z2dlck1hbmFnZXIuc3ltYm9saWNCcmVh
a3BvaW50c0ZvclN5bWJvbCgicHJldmVudERlZmF1bHQiKS5sZW5ndGgsICJTaG91bGQgbm90IG1h
dGNoIGJyZWFrcG9pbnQuIik7Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJUcmln
Z2VyaW5nIGJyZWFrcG9pbnQuLi4iKTsKLSAgICAgICAgICAgIGF3YWl0IHRyaWdnZXJCcmVha3Bv
aW50KCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHBhdXNlQ291bnQs
IDAsICJTaG91bGQgbm90IHBhdXNlLiIpOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0Lm5l
d2xpbmUoKTsKLQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlJlbW92aW5nIGJyZWFr
cG9pbnQuLi4iKTsKLSAgICAgICAgICAgIGJyZWFrcG9pbnQucmVtb3ZlKCk7Ci0KLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QubG9nKCJUcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4iKTsKLSAgICAg
ICAgICAgIGF3YWl0IHRyaWdnZXJCcmVha3BvaW50KCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV4cGVjdEVxdWFsKHBhdXNlQ291bnQsIDAsICJTaG91bGQgbm90IHBhdXNlLiIpOwotCi0g
ICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5EZWJ1
Z2dlck1hbmFnZXIuRXZlbnQuUGF1c2VkLCBwYXVzZWRMaXN0ZW5lcik7Ci0gICAgICAgIH0sCi0g
ICAgfSk7Ci0KLSAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKLX0KLTwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgZm9yIFN5bWJv
bGljQnJlYWtwb2ludC48L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc3ltYm9saWMtYnJlYWtwb2ludC1uYXRpdmUtZG9tLWV4
YWN0LWNhc2Utc2Vuc2l0aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9k
ZWJ1Z2dlci9zeW1ib2xpYy1icmVha3BvaW50LW5hdGl2ZS1kb20tZXhhY3QtY2FzZS1zZW5zaXRp
dmUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZTg4OWUyNjhj
YzQuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc3lt
Ym9saWMtYnJlYWtwb2ludC1uYXRpdmUtZG9tLWV4YWN0LWNhc2Utc2Vuc2l0aXZlLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE2NSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IEJS
RUFLUE9JTlQgQUNUSU9OIExPRyAxCi1DT05TT0xFIE1FU1NBR0U6IEJSRUFLUE9JTlQgQUNUSU9O
IExPRyAyCi1DT05TT0xFIE1FU1NBR0U6IEJSRUFLUE9JTlQgQUNUSU9OIExPRyAzCi1DT05TT0xF
IE1FU1NBR0U6IEJSRUFLUE9JTlQgQUNUSU9OIExPRyA0Ci1UZXN0cyBmb3IgU3ltYm9saWNCcmVh
a3BvaW50LgotCi0KLT09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogU3ltYm9saWNCcmVha3BvaW50Ci0t
LSBSdW5uaW5nIHRlc3QgY2FzZTogU3ltYm9saWNCcmVha3BvaW50LkV4YWN0Q2FzZVNlbnNpdGl2
ZS5OYXRpdmUuRE9NLkhpdC5PcHRpb25zLkNvbmRpdGlvbgotCi1TZXR0aW5nIGNvbmRpdGlvbiB0
byAnZmFsc2UnLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIG5v
dCBwYXVzZS4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgbm90IHBh
dXNlLgotCi1TZXR0aW5nIGNvbmRpdGlvbiB0byAndHJ1ZScuLi4KLQotVHJpZ2dlcmluZyBicmVh
a3BvaW50Li4uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4u
LgotUEFTUzogU2hvdWxkIHBhdXNlLgotCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogU3ltYm9saWNC
cmVha3BvaW50LkV4YWN0Q2FzZVNlbnNpdGl2ZS5OYXRpdmUuRE9NLkhpdC5PcHRpb25zLkNvbmRp
dGlvbi5Db25zb2xlQ29tbWFuZExpbmVBUEkKLUFkZGluZyBzYXZlZCBjb25zb2xlIHZhbHVlICdm
YWxzZScuLi4KLQotU2V0dGluZyBjb25kaXRpb24gdG8gc2F2ZWQgY29uc29sZSB2YWx1ZS4uLgot
Ci1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2UuCi0KLVRy
aWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZS4KLQotQWRkaW5n
IHNhdmVkIGNvbnNvbGUgdmFsdWUgJ3RydWUnLi4uCi1TZXR0aW5nIGNvbmRpdGlvbiB0byBzYXZl
ZCBjb25zb2xlIHZhbHVlLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hv
dWxkIHBhdXNlLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBwYXVz
ZS4KLQotLS0gUnVubmluZyB0ZXN0IGNhc2U6IFN5bWJvbGljQnJlYWtwb2ludC5FeGFjdENhc2VT
ZW5zaXRpdmUuTmF0aXZlLkRPTS5IaXQuT3B0aW9ucy5JZ25vcmVDb3VudAotCi1TZXR0aW5nIGln
bm9yZUNvdW50IHRvICcyJy4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNo
b3VsZCBub3QgcGF1c2UuCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxk
IG5vdCBwYXVzZS4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgcGF1
c2UuCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIHBhdXNlLgotCi0t
LSBSdW5uaW5nIHRlc3QgY2FzZTogU3ltYm9saWNCcmVha3BvaW50LkV4YWN0Q2FzZVNlbnNpdGl2
ZS5OYXRpdmUuRE9NLkhpdC5PcHRpb25zLkFjdGlvbi5Mb2cKLQotQWRkaW5nIGxvZyBhY3Rpb24u
Li4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVh
a3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3VsZCBwYXVzZS4KLQotRWRpdGluZyBsb2cgYWN0aW9u
Li4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIGV4ZWN1dGUgYnJl
YWtwb2ludCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0KLUVkaXRpbmcgbG9nIGFjdGlv
bi4uLgotRW5hYmxpbmcgYXV0by1jb250aW51ZS4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQu
Li4KLVBBU1M6IFNob3VsZCBleGVjdXRlIGJyZWFrcG9pbnQgYWN0aW9uLgotUEFTUzogU2hvdWxk
IG5vdCBwYXVzZS4KLQotRWRpdGluZyBsb2cgYWN0aW9uLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtw
b2ludC4uLgotUEFTUzogU2hvdWxkIGV4ZWN1dGUgYnJlYWtwb2ludCBhY3Rpb24uCi1QQVNTOiBT
aG91bGQgbm90IHBhdXNlLgotCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogU3ltYm9saWNCcmVha3Bv
aW50LkV4YWN0Q2FzZVNlbnNpdGl2ZS5OYXRpdmUuRE9NLkhpdC5PcHRpb25zLkFjdGlvbnMuRXZh
bHVhdGUKLQotQWRkaW5nIGV2YWx1YXRlIGFjdGlvbi4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9p
bnQuLi4KLVBBU1M6IFNob3VsZCBleGVjdXRlIGJyZWFrcG9pbnQgYWN0aW9uLgotUEFTUzogU2hv
dWxkIHBhdXNlLgotCi1FZGl0aW5nIGV2YWx1YXRlIGFjdGlvbi4uLgotCi1UcmlnZ2VyaW5nIGJy
ZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBleGVjdXRlIGJyZWFrcG9pbnQgYWN0aW9uLgotUEFT
UzogU2hvdWxkIHBhdXNlLgotCi1FZGl0aW5nIGV2YWx1YXRlIGFjdGlvbi4uLgotRW5hYmxpbmcg
YXV0by1jb250aW51ZS4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3Vs
ZCBleGVjdXRlIGJyZWFrcG9pbnQgYWN0aW9uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZS4KLQot
RWRpdGluZyBldmFsdWF0ZSBhY3Rpb24uLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1Q
QVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3VsZCBub3Qg
cGF1c2UuCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTeW1ib2xpY0JyZWFrcG9pbnQuRXhhY3RD
YXNlU2Vuc2l0aXZlLk5hdGl2ZS5ET00uSGl0Lk9wdGlvbnMuQWN0aW9ucy5FdmFsdWF0ZS5Db25z
b2xlQ29tbWFuZExpbmVBUEkKLUFkZGluZyBzYXZlZCBjb25zb2xlIHZhbHVlICcxJy4uLgotCi1B
ZGRpbmcgZXZhbHVhdGUgYWN0aW9uIHVzaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUuLi4KLQotVHJp
Z2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFj
dGlvbi4KLVBBU1M6IFNob3VsZCBwYXVzZS4KLQotQWRkaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUg
JzInLi4uCi1FZGl0aW5nIGV2YWx1YXRlIGFjdGlvbiB1c2luZyBzYXZlZCBjb25zb2xlIHZhbHVl
Li4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIGV4ZWN1dGUgYnJl
YWtwb2ludCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0KLUFkZGluZyBzYXZlZCBjb25z
b2xlIHZhbHVlICczJy4uLgotRWRpdGluZyBldmFsdWF0ZSBhY3Rpb24gdXNpbmcgc2F2ZWQgY29u
c29sZSB2YWx1ZS4uLgotRW5hYmxpbmcgYXV0by1jb250aW51ZS4uLgotCi1UcmlnZ2VyaW5nIGJy
ZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBleGVjdXRlIGJyZWFrcG9pbnQgYWN0aW9uLgotUEFT
UzogU2hvdWxkIG5vdCBwYXVzZS4KLQotQWRkaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUgJzQnLi4u
Ci1FZGl0aW5nIGV2YWx1YXRlIGFjdGlvbiB1c2luZyBzYXZlZCBjb25zb2xlIHZhbHVlLi4uCi0K
LVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIGV4ZWN1dGUgYnJlYWtwb2lu
dCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi0tLSBSdW5uaW5nIHRlc3QgY2Fz
ZTogU3ltYm9saWNCcmVha3BvaW50LkV4YWN0Q2FzZVNlbnNpdGl2ZS5OYXRpdmUuRE9NLk1pc3MK
LUFkZGluZyBicmVha3BvaW50Li4uCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNo
b3VsZCBub3QgcGF1c2UuCi0KLVJlbW92aW5nIGJyZWFrcG9pbnQuLi4KLVRyaWdnZXJpbmcgYnJl
YWtwb2ludC4uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZS4KLQotLS0gUnVubmluZyB0ZXN0IGNh
c2U6IFN5bWJvbGljQnJlYWtwb2ludC5FeGFjdENhc2VTZW5zaXRpdmUuTmF0aXZlLkRPTS5EaXNh
YmxlZAotQWRkaW5nIGJyZWFrcG9pbnQuLi4KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFT
UzogU2hvdWxkIG5vdCBwYXVzZS4KLQotUmVtb3ZpbmcgYnJlYWtwb2ludC4uLgotVHJpZ2dlcmlu
ZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc3ltYm9saWMtYnJlYWtwb2ludC1uYXRpdmUt
ZG9tLWV4YWN0LWNhc2Utc2Vuc2l0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXIvc3ltYm9saWMtYnJlYWtwb2ludC1uYXRpdmUtZG9tLWV4YWN0LWNhc2Utc2Vuc2l0aXZl
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRmYzI2ZTRhZmNlYy4uMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zeW1ib2xpYy1icmVh
a3BvaW50LW5hdGl2ZS1kb20tZXhhY3QtY2FzZS1zZW5zaXRpdmUuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDEwNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYnJlYWtwb2ludC1vcHRp
b25zLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gdHJpZ2dlclN5
bWJvbGljQnJlYWtwb2ludCgpIHsKLSAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgKGV2ZW50KSA9PiB7Ci0gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7Ci0g
ICAgICAgIFRlc3RQYWdlLmRpc3BhdGNoRXZlbnRUb0Zyb250ZW5kKCJUZXN0UGFnZS1TeW1ib2xp
Y0JyZWFrcG9pbnQiKTsKLSAgICB9LCB7b25jZTogdHJ1ZX0pOwotICAgIGRvY3VtZW50LmJvZHku
Y2xpY2soKTsKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgV0kuc2V0dGluZ3MuZXhwZXJp
bWVudGFsRW5hYmxlU3ltYm9saWNCcmVha3BvaW50cy52YWx1ZSA9IHRydWU7Ci0KLSAgICBmdW5j
dGlvbiB0cmlnZ2VyQnJlYWtwb2ludCgpIHsKLSAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKFsK
LSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXdhaXRFdmVudCgiVGVzdFBhZ2UtU3ltYm9saWNC
cmVha3BvaW50IiksCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGB0
cmlnZ2VyU3ltYm9saWNCcmVha3BvaW50KClgKSwKLSAgICAgICAgXSk7Ci0gICAgfQotCi0gICAg
bGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJTeW1ib2xpY0JyZWFr
cG9pbnQiKTsKLQotICAgIEluc3BlY3RvclRlc3QuQnJlYWtwb2ludE9wdGlvbnMuYWRkVGVzdENh
c2VzKHN1aXRlLCB7Ci0gICAgICAgIHRlc3RDYXNlTmFtZVByZWZpeDogIkV4YWN0Q2FzZVNlbnNp
dGl2ZS5OYXRpdmUuRE9NLkhpdC4iLAotICAgICAgICBjcmVhdGVCcmVha3BvaW50KCkgewotICAg
ICAgICAgICAgbGV0IGJyZWFrcG9pbnQgPSBuZXcgV0kuU3ltYm9saWNCcmVha3BvaW50KCJwcmV2
ZW50RGVmYXVsdCIpOwotICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLmFkZFN5bWJvbGlj
QnJlYWtwb2ludChicmVha3BvaW50KTsKLSAgICAgICAgICAgIHJldHVybiBicmVha3BvaW50Owot
ICAgICAgICB9LAotICAgICAgICB0cmlnZ2VyQnJlYWtwb2ludCwKLSAgICB9KTsKLQotICAgIHN1
aXRlLmFkZFRlc3RDYXNlKHsKLSAgICAgICAgbmFtZTogIlN5bWJvbGljQnJlYWtwb2ludC5FeGFj
dENhc2VTZW5zaXRpdmUuTmF0aXZlLkRPTS5NaXNzIiwKLSAgICAgICAgYXN5bmMgdGVzdCgpIHsK
LSAgICAgICAgICAgIGxldCBwYXVzZUNvdW50ID0gMDsKLSAgICAgICAgICAgIGxldCBwYXVzZWRM
aXN0ZW5lciA9IFdJLmRlYnVnZ2VyTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2Vy
TWFuYWdlci5FdmVudC5QYXVzZWQsIChldmVudCkgPT4gewotICAgICAgICAgICAgICAgICsrcGF1
c2VDb3VudDsKLSAgICAgICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIucmVzdW1lKCk7Ci0g
ICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkFkZGluZyBi
cmVha3BvaW50Li4uIik7Ci0gICAgICAgICAgICBsZXQgYnJlYWtwb2ludCA9IG5ldyBXSS5TeW1i
b2xpY0JyZWFrcG9pbnQoInBSZVZlTnREZUZhVWxUIik7Ci0gICAgICAgICAgICBXSS5kZWJ1Z2dl
ck1hbmFnZXIuYWRkU3ltYm9saWNCcmVha3BvaW50KGJyZWFrcG9pbnQpOwotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hc3NlcnQoIVdJLmRlYnVnZ2VyTWFuYWdlci5zeW1ib2xpY0JyZWFrcG9p
bnRzRm9yU3ltYm9sKCJwcmV2ZW50RGVmYXVsdCIpLmxlbmd0aCwgIlNob3VsZCBub3QgbWF0Y2gg
YnJlYWtwb2ludC4iKTsKLQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlRyaWdnZXJp
bmcgYnJlYWtwb2ludC4uLiIpOwotICAgICAgICAgICAgYXdhaXQgdHJpZ2dlckJyZWFrcG9pbnQo
KTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocGF1c2VDb3VudCwgMCwg
IlNob3VsZCBub3QgcGF1c2UuIik7Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubmV3bGlu
ZSgpOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiUmVtb3ZpbmcgYnJlYWtwb2lu
dC4uLiIpOwotICAgICAgICAgICAgYnJlYWtwb2ludC5yZW1vdmUoKTsKLQotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5sb2coIlRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLiIpOwotICAgICAgICAg
ICAgYXdhaXQgdHJpZ2dlckJyZWFrcG9pbnQoKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0RXF1YWwocGF1c2VDb3VudCwgMCwgIlNob3VsZCBub3QgcGF1c2UuIik7Ci0KLSAgICAg
ICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2Vy
TWFuYWdlci5FdmVudC5QYXVzZWQsIHBhdXNlZExpc3RlbmVyKTsKLSAgICAgICAgfSwKLSAgICB9
KTsKLQotICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKLSAgICAgICAgbmFtZTogIlN5bWJvbGljQnJl
YWtwb2ludC5FeGFjdENhc2VTZW5zaXRpdmUuTmF0aXZlLkRPTS5EaXNhYmxlZCIsCi0gICAgICAg
IGFzeW5jIHRlc3QoKSB7Ci0gICAgICAgICAgICBsZXQgcGF1c2VDb3VudCA9IDA7Ci0gICAgICAg
ICAgICBsZXQgcGF1c2VkTGlzdGVuZXIgPSBXSS5kZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRMaXN0
ZW5lcihXSS5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuUGF1c2VkLCAoZXZlbnQpID0+IHsKLSAgICAg
ICAgICAgICAgICArK3BhdXNlQ291bnQ7Ci0gICAgICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5h
Z2VyLnJlc3VtZSgpOwotICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QubG9nKCJBZGRpbmcgYnJlYWtwb2ludC4uLiIpOwotICAgICAgICAgICAgbGV0IGJyZWFrcG9p
bnQgPSBuZXcgV0kuU3ltYm9saWNCcmVha3BvaW50KCJwcmV2ZW50RGVmYXVsdCIsIHtkaXNhYmxl
ZDogdHJ1ZX0pOwotICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLmFkZFN5bWJvbGljQnJl
YWtwb2ludChicmVha3BvaW50KTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFX
SS5kZWJ1Z2dlck1hbmFnZXIuc3ltYm9saWNCcmVha3BvaW50c0ZvclN5bWJvbCgicHJldmVudERl
ZmF1bHQiKS5sZW5ndGgsICJTaG91bGQgbm90IG1hdGNoIGJyZWFrcG9pbnQuIik7Ci0KLSAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJUcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4iKTsKLSAg
ICAgICAgICAgIGF3YWl0IHRyaWdnZXJCcmVha3BvaW50KCk7Ci0gICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmV4cGVjdEVxdWFsKHBhdXNlQ291bnQsIDAsICJTaG91bGQgbm90IHBhdXNlLiIpOwot
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0Lm5ld2xpbmUoKTsKLQotICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5sb2coIlJlbW92aW5nIGJyZWFrcG9pbnQuLi4iKTsKLSAgICAgICAgICAgIGJy
ZWFrcG9pbnQucmVtb3ZlKCk7Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJUcmln
Z2VyaW5nIGJyZWFrcG9pbnQuLi4iKTsKLSAgICAgICAgICAgIGF3YWl0IHRyaWdnZXJCcmVha3Bv
aW50KCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHBhdXNlQ291bnQs
IDAsICJTaG91bGQgbm90IHBhdXNlLiIpOwotCi0gICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFn
ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuUGF1c2VkLCBw
YXVzZWRMaXN0ZW5lcik7Ci0gICAgICAgIH0sCi0gICAgfSk7Ci0KLSAgICBzdWl0ZS5ydW5UZXN0
Q2FzZXNBbmRGaW5pc2goKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgotPHA+VGVzdHMgZm9yIFN5bWJvbGljQnJlYWtwb2ludC48L3A+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc3lt
Ym9saWMtYnJlYWtwb2ludC1uYXRpdmUtZG9tLXJlZ2V4LWNhc2UtaW5zZW5zaXRpdmUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3N5bWJvbGljLWJyZWFrcG9p
bnQtbmF0aXZlLWRvbS1yZWdleC1jYXNlLWluc2Vuc2l0aXZlLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjk4M2NlNDg1ZTM0Li4wMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3N5bWJvbGljLWJyZWFrcG9pbnQtbmF0aXZl
LWRvbS1yZWdleC1jYXNlLWluc2Vuc2l0aXZlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDE2NSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IEJSRUFLUE9JTlQgQUNUSU9OIExPRyAx
Ci1DT05TT0xFIE1FU1NBR0U6IEJSRUFLUE9JTlQgQUNUSU9OIExPRyAyCi1DT05TT0xFIE1FU1NB
R0U6IEJSRUFLUE9JTlQgQUNUSU9OIExPRyAzCi1DT05TT0xFIE1FU1NBR0U6IEJSRUFLUE9JTlQg
QUNUSU9OIExPRyA0Ci1UZXN0cyBmb3IgU3ltYm9saWNCcmVha3BvaW50LgotCi0KLT09IFJ1bm5p
bmcgdGVzdCBzdWl0ZTogU3ltYm9saWNCcmVha3BvaW50Ci0tLSBSdW5uaW5nIHRlc3QgY2FzZTog
U3ltYm9saWNCcmVha3BvaW50LlJlZ2V4Q2FzZUluc2Vuc2l0aXZlLk5hdGl2ZS5ET00uSGl0Lk9w
dGlvbnMuQ29uZGl0aW9uCi0KLVNldHRpbmcgY29uZGl0aW9uIHRvICdmYWxzZScuLi4KLQotVHJp
Z2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi1UcmlnZ2Vy
aW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2UuCi0KLVNldHRpbmcgY29u
ZGl0aW9uIHRvICd0cnVlJy4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNo
b3VsZCBwYXVzZS4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgcGF1
c2UuCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTeW1ib2xpY0JyZWFrcG9pbnQuUmVnZXhDYXNl
SW5zZW5zaXRpdmUuTmF0aXZlLkRPTS5IaXQuT3B0aW9ucy5Db25kaXRpb24uQ29uc29sZUNvbW1h
bmRMaW5lQVBJCi1BZGRpbmcgc2F2ZWQgY29uc29sZSB2YWx1ZSAnZmFsc2UnLi4uCi0KLVNldHRp
bmcgY29uZGl0aW9uIHRvIHNhdmVkIGNvbnNvbGUgdmFsdWUuLi4KLQotVHJpZ2dlcmluZyBicmVh
a3BvaW50Li4uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9p
bnQuLi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2UuCi0KLUFkZGluZyBzYXZlZCBjb25zb2xlIHZh
bHVlICd0cnVlJy4uLgotU2V0dGluZyBjb25kaXRpb24gdG8gc2F2ZWQgY29uc29sZSB2YWx1ZS4u
LgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBwYXVzZS4KLQotVHJp
Z2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0KLS0tIFJ1bm5pbmcg
dGVzdCBjYXNlOiBTeW1ib2xpY0JyZWFrcG9pbnQuUmVnZXhDYXNlSW5zZW5zaXRpdmUuTmF0aXZl
LkRPTS5IaXQuT3B0aW9ucy5JZ25vcmVDb3VudAotCi1TZXR0aW5nIGlnbm9yZUNvdW50IHRvICcy
Jy4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2Uu
Ci0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZS4KLQot
VHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0KLVRyaWdnZXJp
bmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIHBhdXNlLgotCi0tLSBSdW5uaW5nIHRlc3Qg
Y2FzZTogU3ltYm9saWNCcmVha3BvaW50LlJlZ2V4Q2FzZUluc2Vuc2l0aXZlLk5hdGl2ZS5ET00u
SGl0Lk9wdGlvbnMuQWN0aW9uLkxvZwotCi1BZGRpbmcgbG9nIGFjdGlvbi4uLgotCi1UcmlnZ2Vy
aW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBleGVjdXRlIGJyZWFrcG9pbnQgYWN0aW9u
LgotUEFTUzogU2hvdWxkIHBhdXNlLgotCi1FZGl0aW5nIGxvZyBhY3Rpb24uLi4KLQotVHJpZ2dl
cmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlv
bi4KLVBBU1M6IFNob3VsZCBwYXVzZS4KLQotRWRpdGluZyBsb2cgYWN0aW9uLi4uCi1FbmFibGlu
ZyBhdXRvLWNvbnRpbnVlLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hv
dWxkIGV4ZWN1dGUgYnJlYWtwb2ludCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgot
Ci1FZGl0aW5nIGxvZyBhY3Rpb24uLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNT
OiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3VsZCBub3QgcGF1
c2UuCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTeW1ib2xpY0JyZWFrcG9pbnQuUmVnZXhDYXNl
SW5zZW5zaXRpdmUuTmF0aXZlLkRPTS5IaXQuT3B0aW9ucy5BY3Rpb25zLkV2YWx1YXRlCi0KLUFk
ZGluZyBldmFsdWF0ZSBhY3Rpb24uLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNT
OiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3VsZCBwYXVzZS4K
LQotRWRpdGluZyBldmFsdWF0ZSBhY3Rpb24uLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4u
Ci1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3VsZCBw
YXVzZS4KLQotRWRpdGluZyBldmFsdWF0ZSBhY3Rpb24uLi4KLUVuYWJsaW5nIGF1dG8tY29udGlu
dWUuLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBi
cmVha3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2UuCi0KLUVkaXRpbmcgZXZh
bHVhdGUgYWN0aW9uLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxk
IGV4ZWN1dGUgYnJlYWtwb2ludCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi0t
LSBSdW5uaW5nIHRlc3QgY2FzZTogU3ltYm9saWNCcmVha3BvaW50LlJlZ2V4Q2FzZUluc2Vuc2l0
aXZlLk5hdGl2ZS5ET00uSGl0Lk9wdGlvbnMuQWN0aW9ucy5FdmFsdWF0ZS5Db25zb2xlQ29tbWFu
ZExpbmVBUEkKLUFkZGluZyBzYXZlZCBjb25zb2xlIHZhbHVlICcxJy4uLgotCi1BZGRpbmcgZXZh
bHVhdGUgYWN0aW9uIHVzaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUuLi4KLQotVHJpZ2dlcmluZyBi
cmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBB
U1M6IFNob3VsZCBwYXVzZS4KLQotQWRkaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUgJzInLi4uCi1F
ZGl0aW5nIGV2YWx1YXRlIGFjdGlvbiB1c2luZyBzYXZlZCBjb25zb2xlIHZhbHVlLi4uCi0KLVRy
aWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIGV4ZWN1dGUgYnJlYWtwb2ludCBh
Y3Rpb24uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0KLUFkZGluZyBzYXZlZCBjb25zb2xlIHZhbHVl
ICczJy4uLgotRWRpdGluZyBldmFsdWF0ZSBhY3Rpb24gdXNpbmcgc2F2ZWQgY29uc29sZSB2YWx1
ZS4uLgotRW5hYmxpbmcgYXV0by1jb250aW51ZS4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQu
Li4KLVBBU1M6IFNob3VsZCBleGVjdXRlIGJyZWFrcG9pbnQgYWN0aW9uLgotUEFTUzogU2hvdWxk
IG5vdCBwYXVzZS4KLQotQWRkaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUgJzQnLi4uCi1FZGl0aW5n
IGV2YWx1YXRlIGFjdGlvbiB1c2luZyBzYXZlZCBjb25zb2xlIHZhbHVlLi4uCi0KLVRyaWdnZXJp
bmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIGV4ZWN1dGUgYnJlYWtwb2ludCBhY3Rpb24u
Ci1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogU3ltYm9s
aWNCcmVha3BvaW50LlJlZ2V4Q2FzZUluc2Vuc2l0aXZlLk5hdGl2ZS5ET00uTWlzcwotQWRkaW5n
IGJyZWFrcG9pbnQuLi4KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIG5v
dCBwYXVzZS4KLQotUmVtb3ZpbmcgYnJlYWtwb2ludC4uLgotVHJpZ2dlcmluZyBicmVha3BvaW50
Li4uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogU3lt
Ym9saWNCcmVha3BvaW50LlJlZ2V4Q2FzZUluc2Vuc2l0aXZlLk5hdGl2ZS5ET00uRGlzYWJsZWQK
LUFkZGluZyBicmVha3BvaW50Li4uCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNo
b3VsZCBub3QgcGF1c2UuCi0KLVJlbW92aW5nIGJyZWFrcG9pbnQuLi4KLVRyaWdnZXJpbmcgYnJl
YWtwb2ludC4uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZS4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3N5bWJvbGljLWJyZWFrcG9pbnQtbmF0aXZlLWRvbS1y
ZWdleC1jYXNlLWluc2Vuc2l0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdn
ZXIvc3ltYm9saWMtYnJlYWtwb2ludC1uYXRpdmUtZG9tLXJlZ2V4LWNhc2UtaW5zZW5zaXRpdmUu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWQzMTAwMThmMTZlLi4wMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3N5bWJvbGljLWJyZWFr
cG9pbnQtbmF0aXZlLWRvbS1yZWdleC1jYXNlLWluc2Vuc2l0aXZlLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwxMDcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3It
dGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2JyZWFrcG9pbnQtb3B0
aW9ucy11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRyaWdnZXJT
eW1ib2xpY0JyZWFrcG9pbnQoKSB7Ci0gICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIChldmVudCkgPT4gewotICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwot
ICAgICAgICBUZXN0UGFnZS5kaXNwYXRjaEV2ZW50VG9Gcm9udGVuZCgiVGVzdFBhZ2UtU3ltYm9s
aWNCcmVha3BvaW50Iik7Ci0gICAgfSwge29uY2U6IHRydWV9KTsKLSAgICBkb2N1bWVudC5ib2R5
LmNsaWNrKCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIFdJLnNldHRpbmdzLmV4cGVy
aW1lbnRhbEVuYWJsZVN5bWJvbGljQnJlYWtwb2ludHMudmFsdWUgPSB0cnVlOwotCi0gICAgZnVu
Y3Rpb24gdHJpZ2dlckJyZWFrcG9pbnQoKSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLmFsbChb
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmF3YWl0RXZlbnQoIlRlc3RQYWdlLVN5bWJvbGlj
QnJlYWtwb2ludCIpLAotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShg
dHJpZ2dlclN5bWJvbGljQnJlYWtwb2ludCgpYCksCi0gICAgICAgIF0pOwotICAgIH0KLQotICAg
IGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiU3ltYm9saWNCcmVh
a3BvaW50Iik7Ci0KLSAgICBJbnNwZWN0b3JUZXN0LkJyZWFrcG9pbnRPcHRpb25zLmFkZFRlc3RD
YXNlcyhzdWl0ZSwgewotICAgICAgICB0ZXN0Q2FzZU5hbWVQcmVmaXg6ICJSZWdleENhc2VJbnNl
bnNpdGl2ZS5OYXRpdmUuRE9NLkhpdC4iLAotICAgICAgICBjcmVhdGVCcmVha3BvaW50KCkgewot
ICAgICAgICAgICAgbGV0IGJyZWFrcG9pbnQgPSBuZXcgV0kuU3ltYm9saWNCcmVha3BvaW50KCJw
UmVWZU50XFx3KyIsIHtjYXNlU2Vuc2l0aXZlOiBmYWxzZSwgaXNSZWdleDogdHJ1ZX0pOwotICAg
ICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLmFkZFN5bWJvbGljQnJlYWtwb2ludChicmVha3Bv
aW50KTsKLSAgICAgICAgICAgIHJldHVybiBicmVha3BvaW50OwotICAgICAgICB9LAotICAgICAg
ICB0cmlnZ2VyQnJlYWtwb2ludCwKLSAgICB9KTsKLQotICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsK
LSAgICAgICAgbmFtZTogIlN5bWJvbGljQnJlYWtwb2ludC5SZWdleENhc2VJbnNlbnNpdGl2ZS5O
YXRpdmUuRE9NLk1pc3MiLAotICAgICAgICBhc3luYyB0ZXN0KCkgewotICAgICAgICAgICAgbGV0
IHBhdXNlQ291bnQgPSAwOwotICAgICAgICAgICAgbGV0IHBhdXNlZExpc3RlbmVyID0gV0kuZGVi
dWdnZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBh
dXNlZCwgKGV2ZW50KSA9PiB7Ci0gICAgICAgICAgICAgICAgKytwYXVzZUNvdW50OwotICAgICAg
ICAgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5yZXN1bWUoKTsKLSAgICAgICAgICAgIH0pOwot
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiQWRkaW5nIGJyZWFrcG9pbnQuLi4iKTsK
LSAgICAgICAgICAgIGxldCBicmVha3BvaW50ID0gbmV3IFdJLlN5bWJvbGljQnJlYWtwb2ludCgi
cFJlVmVOdFxcdytfRE9FU19OT1RfRVhJU1QiLCB7Y2FzZVNlbnNpdGl2ZTogZmFsc2UsIGlzUmVn
ZXg6IHRydWV9KTsKLSAgICAgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5hZGRTeW1ib2xpY0Jy
ZWFrcG9pbnQoYnJlYWtwb2ludCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCgh
V0kuZGVidWdnZXJNYW5hZ2VyLnN5bWJvbGljQnJlYWtwb2ludHNGb3JTeW1ib2woInByZXZlbnRE
ZWZhdWx0IikubGVuZ3RoLCAiU2hvdWxkIG5vdCBtYXRjaCBicmVha3BvaW50LiIpOwotCi0gICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiVHJpZ2dlcmluZyBicmVha3BvaW50Li4uIik7Ci0g
ICAgICAgICAgICBhd2FpdCB0cmlnZ2VyQnJlYWtwb2ludCgpOwotICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5leHBlY3RFcXVhbChwYXVzZUNvdW50LCAwLCAiU2hvdWxkIG5vdCBwYXVzZS4iKTsK
LQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5uZXdsaW5lKCk7Ci0KLSAgICAgICAgICAgIElu
c3BlY3RvclRlc3QubG9nKCJSZW1vdmluZyBicmVha3BvaW50Li4uIik7Ci0gICAgICAgICAgICBi
cmVha3BvaW50LnJlbW92ZSgpOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiVHJp
Z2dlcmluZyBicmVha3BvaW50Li4uIik7Ci0gICAgICAgICAgICBhd2FpdCB0cmlnZ2VyQnJlYWtw
b2ludCgpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChwYXVzZUNvdW50
LCAwLCAiU2hvdWxkIG5vdCBwYXVzZS4iKTsKLQotICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5h
Z2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwg
cGF1c2VkTGlzdGVuZXIpOwotICAgICAgICB9LAotICAgIH0pOwotCi0gICAgc3VpdGUuYWRkVGVz
dENhc2UoewotICAgICAgICBuYW1lOiAiU3ltYm9saWNCcmVha3BvaW50LlJlZ2V4Q2FzZUluc2Vu
c2l0aXZlLk5hdGl2ZS5ET00uRGlzYWJsZWQiLAotICAgICAgICBhc3luYyB0ZXN0KCkgewotICAg
ICAgICAgICAgbGV0IHBhdXNlQ291bnQgPSAwOwotICAgICAgICAgICAgbGV0IHBhdXNlZExpc3Rl
bmVyID0gV0kuZGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJNYW5h
Z2VyLkV2ZW50LlBhdXNlZCwgKGV2ZW50KSA9PiB7Ci0gICAgICAgICAgICAgICAgKytwYXVzZUNv
dW50OwotICAgICAgICAgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5yZXN1bWUoKTsKLSAgICAg
ICAgICAgIH0pOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiQWRkaW5nIGJyZWFr
cG9pbnQuLi4iKTsKLSAgICAgICAgICAgIGxldCBicmVha3BvaW50ID0gbmV3IFdJLlN5bWJvbGlj
QnJlYWtwb2ludCgicFJlVmVOdFxcdysiLCB7Y2FzZVNlbnNpdGl2ZTogZmFsc2UsIGlzUmVnZXg6
IHRydWUsIGRpc2FibGVkOiB0cnVlfSk7Ci0gICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIu
YWRkU3ltYm9saWNCcmVha3BvaW50KGJyZWFrcG9pbnQpOwotICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hc3NlcnQoIVdJLmRlYnVnZ2VyTWFuYWdlci5zeW1ib2xpY0JyZWFrcG9pbnRzRm9yU3lt
Ym9sKCJwcmV2ZW50RGVmYXVsdCIpLmxlbmd0aCwgIlNob3VsZCBub3QgbWF0Y2ggYnJlYWtwb2lu
dC4iKTsKLQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlRyaWdnZXJpbmcgYnJlYWtw
b2ludC4uLiIpOwotICAgICAgICAgICAgYXdhaXQgdHJpZ2dlckJyZWFrcG9pbnQoKTsKLSAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocGF1c2VDb3VudCwgMCwgIlNob3VsZCBu
b3QgcGF1c2UuIik7Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubmV3bGluZSgpOwotCi0g
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiUmVtb3ZpbmcgYnJlYWtwb2ludC4uLiIpOwot
ICAgICAgICAgICAgYnJlYWtwb2ludC5yZW1vdmUoKTsKLQotICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5sb2coIlRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLiIpOwotICAgICAgICAgICAgYXdhaXQg
dHJpZ2dlckJyZWFrcG9pbnQoKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1
YWwocGF1c2VDb3VudCwgMCwgIlNob3VsZCBub3QgcGF1c2UuIik7Ci0KLSAgICAgICAgICAgIFdJ
LmRlYnVnZ2VyTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2VyTWFuYWdlci5F
dmVudC5QYXVzZWQsIHBhdXNlZExpc3RlbmVyKTsKLSAgICAgICAgfSwKLSAgICB9KTsKLQotICAg
IHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5UZXN0cyBmb3IgU3ltYm9saWNCcmVha3BvaW50
LjwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kZWJ1Z2dlci9zeW1ib2xpYy1icmVha3BvaW50LW5hdGl2ZS1kb20tcmVnZXgtY2FzZS1zZW5z
aXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3N5bWJv
bGljLWJyZWFrcG9pbnQtbmF0aXZlLWRvbS1yZWdleC1jYXNlLXNlbnNpdGl2ZS1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRmNDMwODBlYmY2MC4uMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zeW1ib2xpYy1icmVha3Bv
aW50LW5hdGl2ZS1kb20tcmVnZXgtY2FzZS1zZW5zaXRpdmUtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMTY1ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogQlJFQUtQT0lOVCBBQ1RJ
T04gTE9HIDEKLUNPTlNPTEUgTUVTU0FHRTogQlJFQUtQT0lOVCBBQ1RJT04gTE9HIDIKLUNPTlNP
TEUgTUVTU0FHRTogQlJFQUtQT0lOVCBBQ1RJT04gTE9HIDMKLUNPTlNPTEUgTUVTU0FHRTogQlJF
QUtQT0lOVCBBQ1RJT04gTE9HIDQKLVRlc3RzIGZvciBTeW1ib2xpY0JyZWFrcG9pbnQuCi0KLQot
PT0gUnVubmluZyB0ZXN0IHN1aXRlOiBTeW1ib2xpY0JyZWFrcG9pbnQKLS0tIFJ1bm5pbmcgdGVz
dCBjYXNlOiBTeW1ib2xpY0JyZWFrcG9pbnQuUmVnZXhDYXNlU2Vuc2l0aXZlLk5hdGl2ZS5ET00u
SGl0Lk9wdGlvbnMuQ29uZGl0aW9uCi0KLVNldHRpbmcgY29uZGl0aW9uIHRvICdmYWxzZScuLi4K
LQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi1U
cmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2UuCi0KLVNldHRp
bmcgY29uZGl0aW9uIHRvICd0cnVlJy4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBB
U1M6IFNob3VsZCBwYXVzZS4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91
bGQgcGF1c2UuCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTeW1ib2xpY0JyZWFrcG9pbnQuUmVn
ZXhDYXNlU2Vuc2l0aXZlLk5hdGl2ZS5ET00uSGl0Lk9wdGlvbnMuQ29uZGl0aW9uLkNvbnNvbGVD
b21tYW5kTGluZUFQSQotQWRkaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUgJ2ZhbHNlJy4uLgotCi1T
ZXR0aW5nIGNvbmRpdGlvbiB0byBzYXZlZCBjb25zb2xlIHZhbHVlLi4uCi0KLVRyaWdnZXJpbmcg
YnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZS4KLQotVHJpZ2dlcmluZyBicmVh
a3BvaW50Li4uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi1BZGRpbmcgc2F2ZWQgY29uc29s
ZSB2YWx1ZSAndHJ1ZScuLi4KLVNldHRpbmcgY29uZGl0aW9uIHRvIHNhdmVkIGNvbnNvbGUgdmFs
dWUuLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0K
LVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIHBhdXNlLgotCi0tLSBSdW5u
aW5nIHRlc3QgY2FzZTogU3ltYm9saWNCcmVha3BvaW50LlJlZ2V4Q2FzZVNlbnNpdGl2ZS5OYXRp
dmUuRE9NLkhpdC5PcHRpb25zLklnbm9yZUNvdW50Ci0KLVNldHRpbmcgaWdub3JlQ291bnQgdG8g
JzInLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVz
ZS4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgot
Ci1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBwYXVzZS4KLQotVHJpZ2dl
cmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0KLS0tIFJ1bm5pbmcgdGVz
dCBjYXNlOiBTeW1ib2xpY0JyZWFrcG9pbnQuUmVnZXhDYXNlU2Vuc2l0aXZlLk5hdGl2ZS5ET00u
SGl0Lk9wdGlvbnMuQWN0aW9uLkxvZwotCi1BZGRpbmcgbG9nIGFjdGlvbi4uLgotCi1UcmlnZ2Vy
aW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBleGVjdXRlIGJyZWFrcG9pbnQgYWN0aW9u
LgotUEFTUzogU2hvdWxkIHBhdXNlLgotCi1FZGl0aW5nIGxvZyBhY3Rpb24uLi4KLQotVHJpZ2dl
cmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlv
bi4KLVBBU1M6IFNob3VsZCBwYXVzZS4KLQotRWRpdGluZyBsb2cgYWN0aW9uLi4uCi1FbmFibGlu
ZyBhdXRvLWNvbnRpbnVlLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hv
dWxkIGV4ZWN1dGUgYnJlYWtwb2ludCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgot
Ci1FZGl0aW5nIGxvZyBhY3Rpb24uLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNT
OiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3VsZCBub3QgcGF1
c2UuCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTeW1ib2xpY0JyZWFrcG9pbnQuUmVnZXhDYXNl
U2Vuc2l0aXZlLk5hdGl2ZS5ET00uSGl0Lk9wdGlvbnMuQWN0aW9ucy5FdmFsdWF0ZQotCi1BZGRp
bmcgZXZhbHVhdGUgYWN0aW9uLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzog
U2hvdWxkIGV4ZWN1dGUgYnJlYWtwb2ludCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0K
LUVkaXRpbmcgZXZhbHVhdGUgYWN0aW9uLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgot
UEFTUzogU2hvdWxkIGV4ZWN1dGUgYnJlYWtwb2ludCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgcGF1
c2UuCi0KLUVkaXRpbmcgZXZhbHVhdGUgYWN0aW9uLi4uCi1FbmFibGluZyBhdXRvLWNvbnRpbnVl
Li4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIGV4ZWN1dGUgYnJl
YWtwb2ludCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi1FZGl0aW5nIGV2YWx1
YXRlIGFjdGlvbi4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBl
eGVjdXRlIGJyZWFrcG9pbnQgYWN0aW9uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZS4KLQotLS0g
UnVubmluZyB0ZXN0IGNhc2U6IFN5bWJvbGljQnJlYWtwb2ludC5SZWdleENhc2VTZW5zaXRpdmUu
TmF0aXZlLkRPTS5IaXQuT3B0aW9ucy5BY3Rpb25zLkV2YWx1YXRlLkNvbnNvbGVDb21tYW5kTGlu
ZUFQSQotQWRkaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUgJzEnLi4uCi0KLUFkZGluZyBldmFsdWF0
ZSBhY3Rpb24gdXNpbmcgc2F2ZWQgY29uc29sZSB2YWx1ZS4uLgotCi1UcmlnZ2VyaW5nIGJyZWFr
cG9pbnQuLi4KLVBBU1M6IFNob3VsZCBleGVjdXRlIGJyZWFrcG9pbnQgYWN0aW9uLgotUEFTUzog
U2hvdWxkIHBhdXNlLgotCi1BZGRpbmcgc2F2ZWQgY29uc29sZSB2YWx1ZSAnMicuLi4KLUVkaXRp
bmcgZXZhbHVhdGUgYWN0aW9uIHVzaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUuLi4KLQotVHJpZ2dl
cmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlv
bi4KLVBBU1M6IFNob3VsZCBwYXVzZS4KLQotQWRkaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUgJzMn
Li4uCi1FZGl0aW5nIGV2YWx1YXRlIGFjdGlvbiB1c2luZyBzYXZlZCBjb25zb2xlIHZhbHVlLi4u
Ci1FbmFibGluZyBhdXRvLWNvbnRpbnVlLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgot
UEFTUzogU2hvdWxkIGV4ZWN1dGUgYnJlYWtwb2ludCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgbm90
IHBhdXNlLgotCi1BZGRpbmcgc2F2ZWQgY29uc29sZSB2YWx1ZSAnNCcuLi4KLUVkaXRpbmcgZXZh
bHVhdGUgYWN0aW9uIHVzaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUuLi4KLQotVHJpZ2dlcmluZyBi
cmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBB
U1M6IFNob3VsZCBub3QgcGF1c2UuCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTeW1ib2xpY0Jy
ZWFrcG9pbnQuUmVnZXhDYXNlU2Vuc2l0aXZlLk5hdGl2ZS5ET00uTWlzcwotQWRkaW5nIGJyZWFr
cG9pbnQuLi4KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVz
ZS4KLQotUmVtb3ZpbmcgYnJlYWtwb2ludC4uLgotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1Q
QVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogU3ltYm9saWNC
cmVha3BvaW50LlJlZ2V4Q2FzZVNlbnNpdGl2ZS5OYXRpdmUuRE9NLkRpc2FibGVkCi1BZGRpbmcg
YnJlYWtwb2ludC4uLgotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgbm90
IHBhdXNlLgotCi1SZW1vdmluZyBicmVha3BvaW50Li4uCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQu
Li4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2UuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kZWJ1Z2dlci9zeW1ib2xpYy1icmVha3BvaW50LW5hdGl2ZS1kb20tcmVnZXgtY2Fz
ZS1zZW5zaXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zeW1ib2xp
Yy1icmVha3BvaW50LW5hdGl2ZS1kb20tcmVnZXgtY2FzZS1zZW5zaXRpdmUuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmU0NmZhODQ4OTJmLi4wMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3N5bWJvbGljLWJyZWFrcG9pbnQtbmF0aXZl
LWRvbS1yZWdleC1jYXNlLXNlbnNpdGl2ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTA3ICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9icmVha3BvaW50LW9wdGlvbnMtdXRpbGl0aWVz
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB0cmlnZ2VyU3ltYm9saWNCcmVha3Bv
aW50KCkgewotICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoZXZl
bnQpID0+IHsKLSAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKLSAgICAgICAgVGVzdFBh
Z2UuZGlzcGF0Y2hFdmVudFRvRnJvbnRlbmQoIlRlc3RQYWdlLVN5bWJvbGljQnJlYWtwb2ludCIp
OwotICAgIH0sIHtvbmNlOiB0cnVlfSk7Ci0gICAgZG9jdW1lbnQuYm9keS5jbGljaygpOwotfQot
Ci1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBXSS5zZXR0aW5ncy5leHBlcmltZW50YWxFbmFibGVT
eW1ib2xpY0JyZWFrcG9pbnRzLnZhbHVlID0gdHJ1ZTsKLQotICAgIGZ1bmN0aW9uIHRyaWdnZXJC
cmVha3BvaW50KCkgewotICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoWwotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5hd2FpdEV2ZW50KCJUZXN0UGFnZS1TeW1ib2xpY0JyZWFrcG9pbnQiKSwK
LSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYHRyaWdnZXJTeW1ib2xp
Y0JyZWFrcG9pbnQoKWApLAotICAgICAgICBdKTsKLSAgICB9Ci0KLSAgICBsZXQgc3VpdGUgPSBJ
bnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5jU3VpdGUoIlN5bWJvbGljQnJlYWtwb2ludCIpOwotCi0g
ICAgSW5zcGVjdG9yVGVzdC5CcmVha3BvaW50T3B0aW9ucy5hZGRUZXN0Q2FzZXMoc3VpdGUsIHsK
LSAgICAgICAgdGVzdENhc2VOYW1lUHJlZml4OiAiUmVnZXhDYXNlU2Vuc2l0aXZlLk5hdGl2ZS5E
T00uSGl0LiIsCi0gICAgICAgIGNyZWF0ZUJyZWFrcG9pbnQoKSB7Ci0gICAgICAgICAgICBsZXQg
YnJlYWtwb2ludCA9IG5ldyBXSS5TeW1ib2xpY0JyZWFrcG9pbnQoInByZXZlbnRcXHcrIiwge2lz
UmVnZXg6IHRydWV9KTsKLSAgICAgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5hZGRTeW1ib2xp
Y0JyZWFrcG9pbnQoYnJlYWtwb2ludCk7Ci0gICAgICAgICAgICByZXR1cm4gYnJlYWtwb2ludDsK
LSAgICAgICAgfSwKLSAgICAgICAgdHJpZ2dlckJyZWFrcG9pbnQsCi0gICAgfSk7Ci0KLSAgICBz
dWl0ZS5hZGRUZXN0Q2FzZSh7Ci0gICAgICAgIG5hbWU6ICJTeW1ib2xpY0JyZWFrcG9pbnQuUmVn
ZXhDYXNlU2Vuc2l0aXZlLk5hdGl2ZS5ET00uTWlzcyIsCi0gICAgICAgIGFzeW5jIHRlc3QoKSB7
Ci0gICAgICAgICAgICBsZXQgcGF1c2VDb3VudCA9IDA7Ci0gICAgICAgICAgICBsZXQgcGF1c2Vk
TGlzdGVuZXIgPSBXSS5kZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5EZWJ1Z2dl
ck1hbmFnZXIuRXZlbnQuUGF1c2VkLCAoZXZlbnQpID0+IHsKLSAgICAgICAgICAgICAgICArK3Bh
dXNlQ291bnQ7Ci0gICAgICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJlc3VtZSgpOwot
ICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJBZGRpbmcg
YnJlYWtwb2ludC4uLiIpOwotICAgICAgICAgICAgbGV0IGJyZWFrcG9pbnQgPSBuZXcgV0kuU3lt
Ym9saWNCcmVha3BvaW50KCJwUmVWZU50XFx3KyIsIHtpc1JlZ2V4OiB0cnVlfSk7Ci0gICAgICAg
ICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIuYWRkU3ltYm9saWNCcmVha3BvaW50KGJyZWFrcG9pbnQp
OwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIVdJLmRlYnVnZ2VyTWFuYWdlci5z
eW1ib2xpY0JyZWFrcG9pbnRzRm9yU3ltYm9sKCJwcmV2ZW50RGVmYXVsdCIpLmxlbmd0aCwgIlNo
b3VsZCBub3QgbWF0Y2ggYnJlYWtwb2ludC4iKTsKLQotICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5sb2coIlRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLiIpOwotICAgICAgICAgICAgYXdhaXQgdHJp
Z2dlckJyZWFrcG9pbnQoKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwo
cGF1c2VDb3VudCwgMCwgIlNob3VsZCBub3QgcGF1c2UuIik7Ci0KLSAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QubmV3bGluZSgpOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiUmVt
b3ZpbmcgYnJlYWtwb2ludC4uLiIpOwotICAgICAgICAgICAgYnJlYWtwb2ludC5yZW1vdmUoKTsK
LQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlRyaWdnZXJpbmcgYnJlYWtwb2ludC4u
LiIpOwotICAgICAgICAgICAgYXdhaXQgdHJpZ2dlckJyZWFrcG9pbnQoKTsKLSAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocGF1c2VDb3VudCwgMCwgIlNob3VsZCBub3QgcGF1
c2UuIik7Ci0KLSAgICAgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5yZW1vdmVFdmVudExpc3Rl
bmVyKFdJLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5QYXVzZWQsIHBhdXNlZExpc3RlbmVyKTsKLSAg
ICAgICAgfSwKLSAgICB9KTsKLQotICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKLSAgICAgICAgbmFt
ZTogIlN5bWJvbGljQnJlYWtwb2ludC5SZWdleENhc2VTZW5zaXRpdmUuTmF0aXZlLkRPTS5EaXNh
YmxlZCIsCi0gICAgICAgIGFzeW5jIHRlc3QoKSB7Ci0gICAgICAgICAgICBsZXQgcGF1c2VDb3Vu
dCA9IDA7Ci0gICAgICAgICAgICBsZXQgcGF1c2VkTGlzdGVuZXIgPSBXSS5kZWJ1Z2dlck1hbmFn
ZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuUGF1c2VkLCAoZXZl
bnQpID0+IHsKLSAgICAgICAgICAgICAgICArK3BhdXNlQ291bnQ7Ci0gICAgICAgICAgICAgICAg
V0kuZGVidWdnZXJNYW5hZ2VyLnJlc3VtZSgpOwotICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QubG9nKCJBZGRpbmcgYnJlYWtwb2ludC4uLiIpOwotICAgICAgICAg
ICAgbGV0IGJyZWFrcG9pbnQgPSBuZXcgV0kuU3ltYm9saWNCcmVha3BvaW50KCJwcmV2ZW50XFx3
KyIsIHtpc1JlZ2V4OiB0cnVlLCBkaXNhYmxlZDogdHJ1ZX0pOwotICAgICAgICAgICAgV0kuZGVi
dWdnZXJNYW5hZ2VyLmFkZFN5bWJvbGljQnJlYWtwb2ludChicmVha3BvaW50KTsKLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFXSS5kZWJ1Z2dlck1hbmFnZXIuc3ltYm9saWNCcmVh
a3BvaW50c0ZvclN5bWJvbCgicHJldmVudERlZmF1bHQiKS5sZW5ndGgsICJTaG91bGQgbm90IG1h
dGNoIGJyZWFrcG9pbnQuIik7Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJUcmln
Z2VyaW5nIGJyZWFrcG9pbnQuLi4iKTsKLSAgICAgICAgICAgIGF3YWl0IHRyaWdnZXJCcmVha3Bv
aW50KCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHBhdXNlQ291bnQs
IDAsICJTaG91bGQgbm90IHBhdXNlLiIpOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0Lm5l
d2xpbmUoKTsKLQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlJlbW92aW5nIGJyZWFr
cG9pbnQuLi4iKTsKLSAgICAgICAgICAgIGJyZWFrcG9pbnQucmVtb3ZlKCk7Ci0KLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QubG9nKCJUcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4iKTsKLSAgICAg
ICAgICAgIGF3YWl0IHRyaWdnZXJCcmVha3BvaW50KCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV4cGVjdEVxdWFsKHBhdXNlQ291bnQsIDAsICJTaG91bGQgbm90IHBhdXNlLiIpOwotCi0g
ICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5EZWJ1
Z2dlck1hbmFnZXIuRXZlbnQuUGF1c2VkLCBwYXVzZWRMaXN0ZW5lcik7Ci0gICAgICAgIH0sCi0g
ICAgfSk7Ci0KLSAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKLX0KLTwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgZm9yIFN5bWJv
bGljQnJlYWtwb2ludC48L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc3ltYm9saWMtYnJlYWtwb2ludC1uYXRpdmUtanMtZXhh
Y3QtY2FzZS1pbnNlbnNpdGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZGVidWdnZXIvc3ltYm9saWMtYnJlYWtwb2ludC1uYXRpdmUtanMtZXhhY3QtY2FzZS1pbnNlbnNp
dGl2ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUzYmRkMWUy
NWQwNi4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9z
eW1ib2xpYy1icmVha3BvaW50LW5hdGl2ZS1qcy1leGFjdC1jYXNlLWluc2Vuc2l0aXZlLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE2NSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6
IEJSRUFLUE9JTlQgQUNUSU9OIExPRyAxCi1DT05TT0xFIE1FU1NBR0U6IEJSRUFLUE9JTlQgQUNU
SU9OIExPRyAyCi1DT05TT0xFIE1FU1NBR0U6IEJSRUFLUE9JTlQgQUNUSU9OIExPRyAzCi1DT05T
T0xFIE1FU1NBR0U6IEJSRUFLUE9JTlQgQUNUSU9OIExPRyA0Ci1UZXN0cyBmb3IgU3ltYm9saWNC
cmVha3BvaW50LgotCi0KLT09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogU3ltYm9saWNCcmVha3BvaW50
Ci0tLSBSdW5uaW5nIHRlc3QgY2FzZTogU3ltYm9saWNCcmVha3BvaW50LkV4YWN0Q2FzZUluc2Vu
c2l0aXZlLk5hdGl2ZS5KUy5IaXQuT3B0aW9ucy5Db25kaXRpb24KLQotU2V0dGluZyBjb25kaXRp
b24gdG8gJ2ZhbHNlJy4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3Vs
ZCBub3QgcGF1c2UuCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIG5v
dCBwYXVzZS4KLQotU2V0dGluZyBjb25kaXRpb24gdG8gJ3RydWUnLi4uCi0KLVRyaWdnZXJpbmcg
YnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIHBhdXNlLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9p
bnQuLi4KLVBBU1M6IFNob3VsZCBwYXVzZS4KLQotLS0gUnVubmluZyB0ZXN0IGNhc2U6IFN5bWJv
bGljQnJlYWtwb2ludC5FeGFjdENhc2VJbnNlbnNpdGl2ZS5OYXRpdmUuSlMuSGl0Lk9wdGlvbnMu
Q29uZGl0aW9uLkNvbnNvbGVDb21tYW5kTGluZUFQSQotQWRkaW5nIHNhdmVkIGNvbnNvbGUgdmFs
dWUgJ2ZhbHNlJy4uLgotCi1TZXR0aW5nIGNvbmRpdGlvbiB0byBzYXZlZCBjb25zb2xlIHZhbHVl
Li4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZS4K
LQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi1B
ZGRpbmcgc2F2ZWQgY29uc29sZSB2YWx1ZSAndHJ1ZScuLi4KLVNldHRpbmcgY29uZGl0aW9uIHRv
IHNhdmVkIGNvbnNvbGUgdmFsdWUuLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNT
OiBTaG91bGQgcGF1c2UuCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxk
IHBhdXNlLgotCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogU3ltYm9saWNCcmVha3BvaW50LkV4YWN0
Q2FzZUluc2Vuc2l0aXZlLk5hdGl2ZS5KUy5IaXQuT3B0aW9ucy5JZ25vcmVDb3VudAotCi1TZXR0
aW5nIGlnbm9yZUNvdW50IHRvICcyJy4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBB
U1M6IFNob3VsZCBub3QgcGF1c2UuCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzog
U2hvdWxkIG5vdCBwYXVzZS4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91
bGQgcGF1c2UuCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIHBhdXNl
LgotCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogU3ltYm9saWNCcmVha3BvaW50LkV4YWN0Q2FzZUlu
c2Vuc2l0aXZlLk5hdGl2ZS5KUy5IaXQuT3B0aW9ucy5BY3Rpb24uTG9nCi0KLUFkZGluZyBsb2cg
YWN0aW9uLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIGV4ZWN1
dGUgYnJlYWtwb2ludCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0KLUVkaXRpbmcgbG9n
IGFjdGlvbi4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBleGVj
dXRlIGJyZWFrcG9pbnQgYWN0aW9uLgotUEFTUzogU2hvdWxkIHBhdXNlLgotCi1FZGl0aW5nIGxv
ZyBhY3Rpb24uLi4KLUVuYWJsaW5nIGF1dG8tY29udGludWUuLi4KLQotVHJpZ2dlcmluZyBicmVh
a3BvaW50Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6
IFNob3VsZCBub3QgcGF1c2UuCi0KLUVkaXRpbmcgbG9nIGFjdGlvbi4uLgotCi1UcmlnZ2VyaW5n
IGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBleGVjdXRlIGJyZWFrcG9pbnQgYWN0aW9uLgot
UEFTUzogU2hvdWxkIG5vdCBwYXVzZS4KLQotLS0gUnVubmluZyB0ZXN0IGNhc2U6IFN5bWJvbGlj
QnJlYWtwb2ludC5FeGFjdENhc2VJbnNlbnNpdGl2ZS5OYXRpdmUuSlMuSGl0Lk9wdGlvbnMuQWN0
aW9ucy5FdmFsdWF0ZQotCi1BZGRpbmcgZXZhbHVhdGUgYWN0aW9uLi4uCi0KLVRyaWdnZXJpbmcg
YnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIGV4ZWN1dGUgYnJlYWtwb2ludCBhY3Rpb24uCi1Q
QVNTOiBTaG91bGQgcGF1c2UuCi0KLUVkaXRpbmcgZXZhbHVhdGUgYWN0aW9uLi4uCi0KLVRyaWdn
ZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIGV4ZWN1dGUgYnJlYWtwb2ludCBhY3Rp
b24uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0KLUVkaXRpbmcgZXZhbHVhdGUgYWN0aW9uLi4uCi1F
bmFibGluZyBhdXRvLWNvbnRpbnVlLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFT
UzogU2hvdWxkIGV4ZWN1dGUgYnJlYWtwb2ludCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgbm90IHBh
dXNlLgotCi1FZGl0aW5nIGV2YWx1YXRlIGFjdGlvbi4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9p
bnQuLi4KLVBBU1M6IFNob3VsZCBleGVjdXRlIGJyZWFrcG9pbnQgYWN0aW9uLgotUEFTUzogU2hv
dWxkIG5vdCBwYXVzZS4KLQotLS0gUnVubmluZyB0ZXN0IGNhc2U6IFN5bWJvbGljQnJlYWtwb2lu
dC5FeGFjdENhc2VJbnNlbnNpdGl2ZS5OYXRpdmUuSlMuSGl0Lk9wdGlvbnMuQWN0aW9ucy5FdmFs
dWF0ZS5Db25zb2xlQ29tbWFuZExpbmVBUEkKLUFkZGluZyBzYXZlZCBjb25zb2xlIHZhbHVlICcx
Jy4uLgotCi1BZGRpbmcgZXZhbHVhdGUgYWN0aW9uIHVzaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUu
Li4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVh
a3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3VsZCBwYXVzZS4KLQotQWRkaW5nIHNhdmVkIGNvbnNv
bGUgdmFsdWUgJzInLi4uCi1FZGl0aW5nIGV2YWx1YXRlIGFjdGlvbiB1c2luZyBzYXZlZCBjb25z
b2xlIHZhbHVlLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIGV4
ZWN1dGUgYnJlYWtwb2ludCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0KLUFkZGluZyBz
YXZlZCBjb25zb2xlIHZhbHVlICczJy4uLgotRWRpdGluZyBldmFsdWF0ZSBhY3Rpb24gdXNpbmcg
c2F2ZWQgY29uc29sZSB2YWx1ZS4uLgotRW5hYmxpbmcgYXV0by1jb250aW51ZS4uLgotCi1Ucmln
Z2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBleGVjdXRlIGJyZWFrcG9pbnQgYWN0
aW9uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZS4KLQotQWRkaW5nIHNhdmVkIGNvbnNvbGUgdmFs
dWUgJzQnLi4uCi1FZGl0aW5nIGV2YWx1YXRlIGFjdGlvbiB1c2luZyBzYXZlZCBjb25zb2xlIHZh
bHVlLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIGV4ZWN1dGUg
YnJlYWtwb2ludCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi0tLSBSdW5uaW5n
IHRlc3QgY2FzZTogU3ltYm9saWNCcmVha3BvaW50LkV4YWN0Q2FzZUluc2Vuc2l0aXZlLk5hdGl2
ZS5KUy5NaXNzCi1BZGRpbmcgYnJlYWtwb2ludC4uLgotVHJpZ2dlcmluZyBicmVha3BvaW50Li4u
Ci1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi1SZW1vdmluZyBicmVha3BvaW50Li4uCi1Ucmln
Z2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2UuCi0KLS0tIFJ1bm5p
bmcgdGVzdCBjYXNlOiBTeW1ib2xpY0JyZWFrcG9pbnQuRXhhY3RDYXNlSW5zZW5zaXRpdmUuTmF0
aXZlLkpTLkRpc2FibGVkCi1BZGRpbmcgYnJlYWtwb2ludC4uLgotVHJpZ2dlcmluZyBicmVha3Bv
aW50Li4uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi1SZW1vdmluZyBicmVha3BvaW50Li4u
Ci1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2UuCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zeW1ib2xpYy1icmVha3Bv
aW50LW5hdGl2ZS1qcy1leGFjdC1jYXNlLWluc2Vuc2l0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZGVidWdnZXIvc3ltYm9saWMtYnJlYWtwb2ludC1uYXRpdmUtanMtZXhhY3QtY2Fz
ZS1pbnNlbnNpdGl2ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NGZhMjg0
YTFkMGYuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIv
c3ltYm9saWMtYnJlYWtwb2ludC1uYXRpdmUtanMtZXhhY3QtY2FzZS1pbnNlbnNpdGl2ZS5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMTA0ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJj
ZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9i
cmVha3BvaW50LW9wdGlvbnMtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1mdW5j
dGlvbiB0cmlnZ2VyU3ltYm9saWNCcmVha3BvaW50KCkgewotICAgIFsxLCAyLCAzXS5yZXZlcnNl
KCk7Ci0gICAgVGVzdFBhZ2UuZGlzcGF0Y2hFdmVudFRvRnJvbnRlbmQoIlRlc3RQYWdlLVN5bWJv
bGljQnJlYWtwb2ludCIpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBXSS5zZXR0aW5n
cy5leHBlcmltZW50YWxFbmFibGVTeW1ib2xpY0JyZWFrcG9pbnRzLnZhbHVlID0gdHJ1ZTsKLQot
ICAgIGZ1bmN0aW9uIHRyaWdnZXJCcmVha3BvaW50KCkgewotICAgICAgICByZXR1cm4gUHJvbWlz
ZS5hbGwoWwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hd2FpdEV2ZW50KCJUZXN0UGFnZS1T
eW1ib2xpY0JyZWFrcG9pbnQiKSwKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJ
blBhZ2UoYHRyaWdnZXJTeW1ib2xpY0JyZWFrcG9pbnQoKWApLAotICAgICAgICBdKTsKLSAgICB9
Ci0KLSAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5jU3VpdGUoIlN5bWJv
bGljQnJlYWtwb2ludCIpOwotCi0gICAgSW5zcGVjdG9yVGVzdC5CcmVha3BvaW50T3B0aW9ucy5h
ZGRUZXN0Q2FzZXMoc3VpdGUsIHsKLSAgICAgICAgdGVzdENhc2VOYW1lUHJlZml4OiAiRXhhY3RD
YXNlSW5zZW5zaXRpdmUuTmF0aXZlLkpTLkhpdC4iLAotICAgICAgICBjcmVhdGVCcmVha3BvaW50
KCkgewotICAgICAgICAgICAgbGV0IGJyZWFrcG9pbnQgPSBuZXcgV0kuU3ltYm9saWNCcmVha3Bv
aW50KCJyRXZFclNlIiwge2Nhc2VTZW5zaXRpdmU6IGZhbHNlfSk7Ci0gICAgICAgICAgICBXSS5k
ZWJ1Z2dlck1hbmFnZXIuYWRkU3ltYm9saWNCcmVha3BvaW50KGJyZWFrcG9pbnQpOwotICAgICAg
ICAgICAgcmV0dXJuIGJyZWFrcG9pbnQ7Ci0gICAgICAgIH0sCi0gICAgICAgIHRyaWdnZXJCcmVh
a3BvaW50LAotICAgIH0pOwotCi0gICAgc3VpdGUuYWRkVGVzdENhc2UoewotICAgICAgICBuYW1l
OiAiU3ltYm9saWNCcmVha3BvaW50LkV4YWN0Q2FzZUluc2Vuc2l0aXZlLk5hdGl2ZS5KUy5NaXNz
IiwKLSAgICAgICAgYXN5bmMgdGVzdCgpIHsKLSAgICAgICAgICAgIGxldCBwYXVzZUNvdW50ID0g
MDsKLSAgICAgICAgICAgIGxldCBwYXVzZWRMaXN0ZW5lciA9IFdJLmRlYnVnZ2VyTWFuYWdlci5h
ZGRFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5QYXVzZWQsIChldmVudCkg
PT4gewotICAgICAgICAgICAgICAgICsrcGF1c2VDb3VudDsKLSAgICAgICAgICAgICAgICBXSS5k
ZWJ1Z2dlck1hbmFnZXIucmVzdW1lKCk7Ci0gICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5sb2coIkFkZGluZyBicmVha3BvaW50Li4uIik7Ci0gICAgICAgICAgICBs
ZXQgYnJlYWtwb2ludCA9IG5ldyBXSS5TeW1ib2xpY0JyZWFrcG9pbnQoInJFdkVyUyIsIHtjYXNl
U2Vuc2l0aXZlOiBmYWxzZX0pOwotICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLmFkZFN5
bWJvbGljQnJlYWtwb2ludChicmVha3BvaW50KTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YXNzZXJ0KCFXSS5kZWJ1Z2dlck1hbmFnZXIuc3ltYm9saWNCcmVha3BvaW50c0ZvclN5bWJvbCgi
dHJpZ2dlclN5bWJvbGljQnJlYWtwb2ludCIpLmxlbmd0aCwgIlNob3VsZCBub3QgbWF0Y2ggYnJl
YWtwb2ludC4iKTsKLQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlRyaWdnZXJpbmcg
YnJlYWtwb2ludC4uLiIpOwotICAgICAgICAgICAgYXdhaXQgdHJpZ2dlckJyZWFrcG9pbnQoKTsK
LSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocGF1c2VDb3VudCwgMCwgIlNo
b3VsZCBub3QgcGF1c2UuIik7Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubmV3bGluZSgp
OwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiUmVtb3ZpbmcgYnJlYWtwb2ludC4u
LiIpOwotICAgICAgICAgICAgYnJlYWtwb2ludC5yZW1vdmUoKTsKLQotICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5sb2coIlRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLiIpOwotICAgICAgICAgICAg
YXdhaXQgdHJpZ2dlckJyZWFrcG9pbnQoKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhw
ZWN0RXF1YWwocGF1c2VDb3VudCwgMCwgIlNob3VsZCBub3QgcGF1c2UuIik7Ci0KLSAgICAgICAg
ICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2VyTWFu
YWdlci5FdmVudC5QYXVzZWQsIHBhdXNlZExpc3RlbmVyKTsKLSAgICAgICAgfSwKLSAgICB9KTsK
LQotICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKLSAgICAgICAgbmFtZTogIlN5bWJvbGljQnJlYWtw
b2ludC5FeGFjdENhc2VJbnNlbnNpdGl2ZS5OYXRpdmUuSlMuRGlzYWJsZWQiLAotICAgICAgICBh
c3luYyB0ZXN0KCkgewotICAgICAgICAgICAgbGV0IHBhdXNlQ291bnQgPSAwOwotICAgICAgICAg
ICAgbGV0IHBhdXNlZExpc3RlbmVyID0gV0kuZGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVu
ZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwgKGV2ZW50KSA9PiB7Ci0gICAgICAg
ICAgICAgICAgKytwYXVzZUNvdW50OwotICAgICAgICAgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdl
ci5yZXN1bWUoKTsKLSAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmxvZygiQWRkaW5nIGJyZWFrcG9pbnQuLi4iKTsKLSAgICAgICAgICAgIGxldCBicmVha3BvaW50
ID0gbmV3IFdJLlN5bWJvbGljQnJlYWtwb2ludCgickV2RXJTZSIsIHtjYXNlU2Vuc2l0aXZlOiBm
YWxzZSwgZGlzYWJsZWQ6IHRydWV9KTsKLSAgICAgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5h
ZGRTeW1ib2xpY0JyZWFrcG9pbnQoYnJlYWtwb2ludCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFzc2VydCghV0kuZGVidWdnZXJNYW5hZ2VyLnN5bWJvbGljQnJlYWtwb2ludHNGb3JTeW1i
b2woInRyaWdnZXJTeW1ib2xpY0JyZWFrcG9pbnQiKS5sZW5ndGgsICJTaG91bGQgbm90IG1hdGNo
IGJyZWFrcG9pbnQuIik7Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJUcmlnZ2Vy
aW5nIGJyZWFrcG9pbnQuLi4iKTsKLSAgICAgICAgICAgIGF3YWl0IHRyaWdnZXJCcmVha3BvaW50
KCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHBhdXNlQ291bnQsIDAs
ICJTaG91bGQgbm90IHBhdXNlLiIpOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0Lm5ld2xp
bmUoKTsKLQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlJlbW92aW5nIGJyZWFrcG9p
bnQuLi4iKTsKLSAgICAgICAgICAgIGJyZWFrcG9pbnQucmVtb3ZlKCk7Ci0KLSAgICAgICAgICAg
IEluc3BlY3RvclRlc3QubG9nKCJUcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4iKTsKLSAgICAgICAg
ICAgIGF3YWl0IHRyaWdnZXJCcmVha3BvaW50KCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmV4cGVjdEVxdWFsKHBhdXNlQ291bnQsIDAsICJTaG91bGQgbm90IHBhdXNlLiIpOwotCi0gICAg
ICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5EZWJ1Z2dl
ck1hbmFnZXIuRXZlbnQuUGF1c2VkLCBwYXVzZWRMaXN0ZW5lcik7Ci0gICAgICAgIH0sCi0gICAg
fSk7Ci0KLSAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKLX0KLTwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgZm9yIFN5bWJvbGlj
QnJlYWtwb2ludC48L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZGVidWdnZXIvc3ltYm9saWMtYnJlYWtwb2ludC1uYXRpdmUtanMtZXhhY3Qt
Y2FzZS1zZW5zaXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVn
Z2VyL3N5bWJvbGljLWJyZWFrcG9pbnQtbmF0aXZlLWpzLWV4YWN0LWNhc2Utc2Vuc2l0aXZlLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmExYWE2ZTY3YjQ3Li4w
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3N5bWJvbGlj
LWJyZWFrcG9pbnQtbmF0aXZlLWpzLWV4YWN0LWNhc2Utc2Vuc2l0aXZlLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDE2NSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IEJSRUFLUE9J
TlQgQUNUSU9OIExPRyAxCi1DT05TT0xFIE1FU1NBR0U6IEJSRUFLUE9JTlQgQUNUSU9OIExPRyAy
Ci1DT05TT0xFIE1FU1NBR0U6IEJSRUFLUE9JTlQgQUNUSU9OIExPRyAzCi1DT05TT0xFIE1FU1NB
R0U6IEJSRUFLUE9JTlQgQUNUSU9OIExPRyA0Ci1UZXN0cyBmb3IgU3ltYm9saWNCcmVha3BvaW50
LgotCi0KLT09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogU3ltYm9saWNCcmVha3BvaW50Ci0tLSBSdW5u
aW5nIHRlc3QgY2FzZTogU3ltYm9saWNCcmVha3BvaW50LkV4YWN0Q2FzZVNlbnNpdGl2ZS5OYXRp
dmUuSlMuSGl0Lk9wdGlvbnMuQ29uZGl0aW9uCi0KLVNldHRpbmcgY29uZGl0aW9uIHRvICdmYWxz
ZScuLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNl
LgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2UuCi0K
LVNldHRpbmcgY29uZGl0aW9uIHRvICd0cnVlJy4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQu
Li4KLVBBU1M6IFNob3VsZCBwYXVzZS4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNT
OiBTaG91bGQgcGF1c2UuCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTeW1ib2xpY0JyZWFrcG9p
bnQuRXhhY3RDYXNlU2Vuc2l0aXZlLk5hdGl2ZS5KUy5IaXQuT3B0aW9ucy5Db25kaXRpb24uQ29u
c29sZUNvbW1hbmRMaW5lQVBJCi1BZGRpbmcgc2F2ZWQgY29uc29sZSB2YWx1ZSAnZmFsc2UnLi4u
Ci0KLVNldHRpbmcgY29uZGl0aW9uIHRvIHNhdmVkIGNvbnNvbGUgdmFsdWUuLi4KLQotVHJpZ2dl
cmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi1UcmlnZ2VyaW5n
IGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2UuCi0KLUFkZGluZyBzYXZlZCBj
b25zb2xlIHZhbHVlICd0cnVlJy4uLgotU2V0dGluZyBjb25kaXRpb24gdG8gc2F2ZWQgY29uc29s
ZSB2YWx1ZS4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBwYXVz
ZS4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0KLS0t
IFJ1bm5pbmcgdGVzdCBjYXNlOiBTeW1ib2xpY0JyZWFrcG9pbnQuRXhhY3RDYXNlU2Vuc2l0aXZl
Lk5hdGl2ZS5KUy5IaXQuT3B0aW9ucy5JZ25vcmVDb3VudAotCi1TZXR0aW5nIGlnbm9yZUNvdW50
IHRvICcyJy4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBub3Qg
cGF1c2UuCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVz
ZS4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0KLVRy
aWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIHBhdXNlLgotCi0tLSBSdW5uaW5n
IHRlc3QgY2FzZTogU3ltYm9saWNCcmVha3BvaW50LkV4YWN0Q2FzZVNlbnNpdGl2ZS5OYXRpdmUu
SlMuSGl0Lk9wdGlvbnMuQWN0aW9uLkxvZwotCi1BZGRpbmcgbG9nIGFjdGlvbi4uLgotCi1Ucmln
Z2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBleGVjdXRlIGJyZWFrcG9pbnQgYWN0
aW9uLgotUEFTUzogU2hvdWxkIHBhdXNlLgotCi1FZGl0aW5nIGxvZyBhY3Rpb24uLi4KLQotVHJp
Z2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFj
dGlvbi4KLVBBU1M6IFNob3VsZCBwYXVzZS4KLQotRWRpdGluZyBsb2cgYWN0aW9uLi4uCi1FbmFi
bGluZyBhdXRvLWNvbnRpbnVlLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzog
U2hvdWxkIGV4ZWN1dGUgYnJlYWtwb2ludCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNl
LgotCi1FZGl0aW5nIGxvZyBhY3Rpb24uLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1Q
QVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3VsZCBub3Qg
cGF1c2UuCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTeW1ib2xpY0JyZWFrcG9pbnQuRXhhY3RD
YXNlU2Vuc2l0aXZlLk5hdGl2ZS5KUy5IaXQuT3B0aW9ucy5BY3Rpb25zLkV2YWx1YXRlCi0KLUFk
ZGluZyBldmFsdWF0ZSBhY3Rpb24uLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNT
OiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3VsZCBwYXVzZS4K
LQotRWRpdGluZyBldmFsdWF0ZSBhY3Rpb24uLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4u
Ci1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3VsZCBw
YXVzZS4KLQotRWRpdGluZyBldmFsdWF0ZSBhY3Rpb24uLi4KLUVuYWJsaW5nIGF1dG8tY29udGlu
dWUuLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBi
cmVha3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2UuCi0KLUVkaXRpbmcgZXZh
bHVhdGUgYWN0aW9uLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxk
IGV4ZWN1dGUgYnJlYWtwb2ludCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi0t
LSBSdW5uaW5nIHRlc3QgY2FzZTogU3ltYm9saWNCcmVha3BvaW50LkV4YWN0Q2FzZVNlbnNpdGl2
ZS5OYXRpdmUuSlMuSGl0Lk9wdGlvbnMuQWN0aW9ucy5FdmFsdWF0ZS5Db25zb2xlQ29tbWFuZExp
bmVBUEkKLUFkZGluZyBzYXZlZCBjb25zb2xlIHZhbHVlICcxJy4uLgotCi1BZGRpbmcgZXZhbHVh
dGUgYWN0aW9uIHVzaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUuLi4KLQotVHJpZ2dlcmluZyBicmVh
a3BvaW50Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6
IFNob3VsZCBwYXVzZS4KLQotQWRkaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUgJzInLi4uCi1FZGl0
aW5nIGV2YWx1YXRlIGFjdGlvbiB1c2luZyBzYXZlZCBjb25zb2xlIHZhbHVlLi4uCi0KLVRyaWdn
ZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIGV4ZWN1dGUgYnJlYWtwb2ludCBhY3Rp
b24uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0KLUFkZGluZyBzYXZlZCBjb25zb2xlIHZhbHVlICcz
Jy4uLgotRWRpdGluZyBldmFsdWF0ZSBhY3Rpb24gdXNpbmcgc2F2ZWQgY29uc29sZSB2YWx1ZS4u
LgotRW5hYmxpbmcgYXV0by1jb250aW51ZS4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4K
LVBBU1M6IFNob3VsZCBleGVjdXRlIGJyZWFrcG9pbnQgYWN0aW9uLgotUEFTUzogU2hvdWxkIG5v
dCBwYXVzZS4KLQotQWRkaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUgJzQnLi4uCi1FZGl0aW5nIGV2
YWx1YXRlIGFjdGlvbiB1c2luZyBzYXZlZCBjb25zb2xlIHZhbHVlLi4uCi0KLVRyaWdnZXJpbmcg
YnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIGV4ZWN1dGUgYnJlYWtwb2ludCBhY3Rpb24uCi1Q
QVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogU3ltYm9saWNC
cmVha3BvaW50LkV4YWN0Q2FzZVNlbnNpdGl2ZS5OYXRpdmUuSlMuTWlzcwotQWRkaW5nIGJyZWFr
cG9pbnQuLi4KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVz
ZS4KLQotUmVtb3ZpbmcgYnJlYWtwb2ludC4uLgotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1Q
QVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogU3ltYm9saWNC
cmVha3BvaW50LkV4YWN0Q2FzZVNlbnNpdGl2ZS5OYXRpdmUuSlMuRGlzYWJsZWQKLUFkZGluZyBi
cmVha3BvaW50Li4uCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBub3Qg
cGF1c2UuCi0KLVJlbW92aW5nIGJyZWFrcG9pbnQuLi4KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4u
LgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZS4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2RlYnVnZ2VyL3N5bWJvbGljLWJyZWFrcG9pbnQtbmF0aXZlLWpzLWV4YWN0LWNhc2Ut
c2Vuc2l0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc3ltYm9saWMt
YnJlYWtwb2ludC1uYXRpdmUtanMtZXhhY3QtY2FzZS1zZW5zaXRpdmUuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNDQzZTljMmZhOWQ4Li4wMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3N5bWJvbGljLWJyZWFrcG9pbnQtbmF0aXZlLWpz
LWV4YWN0LWNhc2Utc2Vuc2l0aXZlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDQgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2JyZWFrcG9pbnQtb3B0aW9ucy11dGlsaXRpZXMuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRyaWdnZXJTeW1ib2xpY0JyZWFrcG9pbnQo
KSB7Ci0gICAgWzEsIDIsIDNdLnJldmVyc2UoKTsKLSAgICBUZXN0UGFnZS5kaXNwYXRjaEV2ZW50
VG9Gcm9udGVuZCgiVGVzdFBhZ2UtU3ltYm9saWNCcmVha3BvaW50Iik7Ci19Ci0KLWZ1bmN0aW9u
IHRlc3QoKQotewotICAgIFdJLnNldHRpbmdzLmV4cGVyaW1lbnRhbEVuYWJsZVN5bWJvbGljQnJl
YWtwb2ludHMudmFsdWUgPSB0cnVlOwotCi0gICAgZnVuY3Rpb24gdHJpZ2dlckJyZWFrcG9pbnQo
KSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLmFsbChbCi0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmF3YWl0RXZlbnQoIlRlc3RQYWdlLVN5bWJvbGljQnJlYWtwb2ludCIpLAotICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgdHJpZ2dlclN5bWJvbGljQnJlYWtwb2lu
dCgpYCksCi0gICAgICAgIF0pOwotICAgIH0KLQotICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRl
c3QuY3JlYXRlQXN5bmNTdWl0ZSgiU3ltYm9saWNCcmVha3BvaW50Iik7Ci0KLSAgICBJbnNwZWN0
b3JUZXN0LkJyZWFrcG9pbnRPcHRpb25zLmFkZFRlc3RDYXNlcyhzdWl0ZSwgewotICAgICAgICB0
ZXN0Q2FzZU5hbWVQcmVmaXg6ICJFeGFjdENhc2VTZW5zaXRpdmUuTmF0aXZlLkpTLkhpdC4iLAot
ICAgICAgICBjcmVhdGVCcmVha3BvaW50KCkgewotICAgICAgICAgICAgbGV0IGJyZWFrcG9pbnQg
PSBuZXcgV0kuU3ltYm9saWNCcmVha3BvaW50KCJyZXZlcnNlIik7Ci0gICAgICAgICAgICBXSS5k
ZWJ1Z2dlck1hbmFnZXIuYWRkU3ltYm9saWNCcmVha3BvaW50KGJyZWFrcG9pbnQpOwotICAgICAg
ICAgICAgcmV0dXJuIGJyZWFrcG9pbnQ7Ci0gICAgICAgIH0sCi0gICAgICAgIHRyaWdnZXJCcmVh
a3BvaW50LAotICAgIH0pOwotCi0gICAgc3VpdGUuYWRkVGVzdENhc2UoewotICAgICAgICBuYW1l
OiAiU3ltYm9saWNCcmVha3BvaW50LkV4YWN0Q2FzZVNlbnNpdGl2ZS5OYXRpdmUuSlMuTWlzcyIs
Ci0gICAgICAgIGFzeW5jIHRlc3QoKSB7Ci0gICAgICAgICAgICBsZXQgcGF1c2VDb3VudCA9IDA7
Ci0gICAgICAgICAgICBsZXQgcGF1c2VkTGlzdGVuZXIgPSBXSS5kZWJ1Z2dlck1hbmFnZXIuYWRk
RXZlbnRMaXN0ZW5lcihXSS5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuUGF1c2VkLCAoZXZlbnQpID0+
IHsKLSAgICAgICAgICAgICAgICArK3BhdXNlQ291bnQ7Ci0gICAgICAgICAgICAgICAgV0kuZGVi
dWdnZXJNYW5hZ2VyLnJlc3VtZSgpOwotICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAgIElu
c3BlY3RvclRlc3QubG9nKCJBZGRpbmcgYnJlYWtwb2ludC4uLiIpOwotICAgICAgICAgICAgbGV0
IGJyZWFrcG9pbnQgPSBuZXcgV0kuU3ltYm9saWNCcmVha3BvaW50KCJyRXZFclNlIik7Ci0gICAg
ICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIuYWRkU3ltYm9saWNCcmVha3BvaW50KGJyZWFrcG9p
bnQpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQoIVdJLmRlYnVnZ2VyTWFuYWdl
ci5zeW1ib2xpY0JyZWFrcG9pbnRzRm9yU3ltYm9sKCJyZXZlcnNlIikubGVuZ3RoLCAiU2hvdWxk
IG5vdCBtYXRjaCBicmVha3BvaW50LiIpOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0Lmxv
ZygiVHJpZ2dlcmluZyBicmVha3BvaW50Li4uIik7Ci0gICAgICAgICAgICBhd2FpdCB0cmlnZ2Vy
QnJlYWtwb2ludCgpOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChwYXVz
ZUNvdW50LCAwLCAiU2hvdWxkIG5vdCBwYXVzZS4iKTsKLQotICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5uZXdsaW5lKCk7Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJSZW1vdmlu
ZyBicmVha3BvaW50Li4uIik7Ci0gICAgICAgICAgICBicmVha3BvaW50LnJlbW92ZSgpOwotCi0g
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiVHJpZ2dlcmluZyBicmVha3BvaW50Li4uIik7
Ci0gICAgICAgICAgICBhd2FpdCB0cmlnZ2VyQnJlYWtwb2ludCgpOwotICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5leHBlY3RFcXVhbChwYXVzZUNvdW50LCAwLCAiU2hvdWxkIG5vdCBwYXVzZS4i
KTsKLQotICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIo
V0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwgcGF1c2VkTGlzdGVuZXIpOwotICAgICAg
ICB9LAotICAgIH0pOwotCi0gICAgc3VpdGUuYWRkVGVzdENhc2UoewotICAgICAgICBuYW1lOiAi
U3ltYm9saWNCcmVha3BvaW50LkV4YWN0Q2FzZVNlbnNpdGl2ZS5OYXRpdmUuSlMuRGlzYWJsZWQi
LAotICAgICAgICBhc3luYyB0ZXN0KCkgewotICAgICAgICAgICAgbGV0IHBhdXNlQ291bnQgPSAw
OwotICAgICAgICAgICAgbGV0IHBhdXNlZExpc3RlbmVyID0gV0kuZGVidWdnZXJNYW5hZ2VyLmFk
ZEV2ZW50TGlzdGVuZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwgKGV2ZW50KSA9
PiB7Ci0gICAgICAgICAgICAgICAgKytwYXVzZUNvdW50OwotICAgICAgICAgICAgICAgIFdJLmRl
YnVnZ2VyTWFuYWdlci5yZXN1bWUoKTsKLSAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmxvZygiQWRkaW5nIGJyZWFrcG9pbnQuLi4iKTsKLSAgICAgICAgICAgIGxl
dCBicmVha3BvaW50ID0gbmV3IFdJLlN5bWJvbGljQnJlYWtwb2ludCgicmV2ZXJzZSIsIHtkaXNh
YmxlZDogdHJ1ZX0pOwotICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLmFkZFN5bWJvbGlj
QnJlYWtwb2ludChicmVha3BvaW50KTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0
KCFXSS5kZWJ1Z2dlck1hbmFnZXIuc3ltYm9saWNCcmVha3BvaW50c0ZvclN5bWJvbCgicmV2ZXJz
ZSIpLmxlbmd0aCwgIlNob3VsZCBub3QgbWF0Y2ggYnJlYWtwb2ludC4iKTsKLQotICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5sb2coIlRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLiIpOwotICAgICAg
ICAgICAgYXdhaXQgdHJpZ2dlckJyZWFrcG9pbnQoKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXhwZWN0RXF1YWwocGF1c2VDb3VudCwgMCwgIlNob3VsZCBub3QgcGF1c2UuIik7Ci0KLSAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QubmV3bGluZSgpOwotCi0gICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmxvZygiUmVtb3ZpbmcgYnJlYWtwb2ludC4uLiIpOwotICAgICAgICAgICAgYnJlYWtw
b2ludC5yZW1vdmUoKTsKLQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlRyaWdnZXJp
bmcgYnJlYWtwb2ludC4uLiIpOwotICAgICAgICAgICAgYXdhaXQgdHJpZ2dlckJyZWFrcG9pbnQo
KTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocGF1c2VDb3VudCwgMCwg
IlNob3VsZCBub3QgcGF1c2UuIik7Ci0KLSAgICAgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5y
ZW1vdmVFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5QYXVzZWQsIHBhdXNl
ZExpc3RlbmVyKTsKLSAgICAgICAgfSwKLSAgICB9KTsKLQotICAgIHN1aXRlLnJ1blRlc3RDYXNl
c0FuZEZpbmlzaCgpOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+Ci08cD5UZXN0cyBmb3IgU3ltYm9saWNCcmVha3BvaW50LjwvcD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zeW1ib2xp
Yy1icmVha3BvaW50LW5hdGl2ZS1qcy1yZWdleC1jYXNlLWluc2Vuc2l0aXZlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zeW1ib2xpYy1icmVha3BvaW50LW5h
dGl2ZS1qcy1yZWdleC1jYXNlLWluc2Vuc2l0aXZlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNjFlODQyYTc5ZjZiLi4wMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3N5bWJvbGljLWJyZWFrcG9pbnQtbmF0aXZlLWpzLXJl
Z2V4LWNhc2UtaW5zZW5zaXRpdmUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTY1
ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogQlJFQUtQT0lOVCBBQ1RJT04gTE9HIDEKLUNPTlNP
TEUgTUVTU0FHRTogQlJFQUtQT0lOVCBBQ1RJT04gTE9HIDIKLUNPTlNPTEUgTUVTU0FHRTogQlJF
QUtQT0lOVCBBQ1RJT04gTE9HIDMKLUNPTlNPTEUgTUVTU0FHRTogQlJFQUtQT0lOVCBBQ1RJT04g
TE9HIDQKLVRlc3RzIGZvciBTeW1ib2xpY0JyZWFrcG9pbnQuCi0KLQotPT0gUnVubmluZyB0ZXN0
IHN1aXRlOiBTeW1ib2xpY0JyZWFrcG9pbnQKLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTeW1ib2xp
Y0JyZWFrcG9pbnQuUmVnZXhDYXNlSW5zZW5zaXRpdmUuTmF0aXZlLkpTLkhpdC5PcHRpb25zLkNv
bmRpdGlvbgotCi1TZXR0aW5nIGNvbmRpdGlvbiB0byAnZmFsc2UnLi4uCi0KLVRyaWdnZXJpbmcg
YnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZS4KLQotVHJpZ2dlcmluZyBicmVh
a3BvaW50Li4uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi1TZXR0aW5nIGNvbmRpdGlvbiB0
byAndHJ1ZScuLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgcGF1
c2UuCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIHBhdXNlLgotCi0t
LSBSdW5uaW5nIHRlc3QgY2FzZTogU3ltYm9saWNCcmVha3BvaW50LlJlZ2V4Q2FzZUluc2Vuc2l0
aXZlLk5hdGl2ZS5KUy5IaXQuT3B0aW9ucy5Db25kaXRpb24uQ29uc29sZUNvbW1hbmRMaW5lQVBJ
Ci1BZGRpbmcgc2F2ZWQgY29uc29sZSB2YWx1ZSAnZmFsc2UnLi4uCi0KLVNldHRpbmcgY29uZGl0
aW9uIHRvIHNhdmVkIGNvbnNvbGUgdmFsdWUuLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4u
Ci1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBB
U1M6IFNob3VsZCBub3QgcGF1c2UuCi0KLUFkZGluZyBzYXZlZCBjb25zb2xlIHZhbHVlICd0cnVl
Jy4uLgotU2V0dGluZyBjb25kaXRpb24gdG8gc2F2ZWQgY29uc29sZSB2YWx1ZS4uLgotCi1Ucmln
Z2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBwYXVzZS4KLQotVHJpZ2dlcmluZyBi
cmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNl
OiBTeW1ib2xpY0JyZWFrcG9pbnQuUmVnZXhDYXNlSW5zZW5zaXRpdmUuTmF0aXZlLkpTLkhpdC5P
cHRpb25zLklnbm9yZUNvdW50Ci0KLVNldHRpbmcgaWdub3JlQ291bnQgdG8gJzInLi4uCi0KLVRy
aWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZS4KLQotVHJpZ2dl
cmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi1UcmlnZ2VyaW5n
IGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBwYXVzZS4KLQotVHJpZ2dlcmluZyBicmVha3Bv
aW50Li4uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTeW1i
b2xpY0JyZWFrcG9pbnQuUmVnZXhDYXNlSW5zZW5zaXRpdmUuTmF0aXZlLkpTLkhpdC5PcHRpb25z
LkFjdGlvbi5Mb2cKLQotQWRkaW5nIGxvZyBhY3Rpb24uLi4KLQotVHJpZ2dlcmluZyBicmVha3Bv
aW50Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6IFNo
b3VsZCBwYXVzZS4KLQotRWRpdGluZyBsb2cgYWN0aW9uLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtw
b2ludC4uLgotUEFTUzogU2hvdWxkIGV4ZWN1dGUgYnJlYWtwb2ludCBhY3Rpb24uCi1QQVNTOiBT
aG91bGQgcGF1c2UuCi0KLUVkaXRpbmcgbG9nIGFjdGlvbi4uLgotRW5hYmxpbmcgYXV0by1jb250
aW51ZS4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBleGVjdXRl
IGJyZWFrcG9pbnQgYWN0aW9uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZS4KLQotRWRpdGluZyBs
b2cgYWN0aW9uLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIGV4
ZWN1dGUgYnJlYWtwb2ludCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi0tLSBS
dW5uaW5nIHRlc3QgY2FzZTogU3ltYm9saWNCcmVha3BvaW50LlJlZ2V4Q2FzZUluc2Vuc2l0aXZl
Lk5hdGl2ZS5KUy5IaXQuT3B0aW9ucy5BY3Rpb25zLkV2YWx1YXRlCi0KLUFkZGluZyBldmFsdWF0
ZSBhY3Rpb24uLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgZXhl
Y3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3VsZCBwYXVzZS4KLQotRWRpdGluZyBl
dmFsdWF0ZSBhY3Rpb24uLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91
bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3VsZCBwYXVzZS4KLQotRWRp
dGluZyBldmFsdWF0ZSBhY3Rpb24uLi4KLUVuYWJsaW5nIGF1dG8tY29udGludWUuLi4KLQotVHJp
Z2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFj
dGlvbi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2UuCi0KLUVkaXRpbmcgZXZhbHVhdGUgYWN0aW9u
Li4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIGV4ZWN1dGUgYnJl
YWtwb2ludCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi0tLSBSdW5uaW5nIHRl
c3QgY2FzZTogU3ltYm9saWNCcmVha3BvaW50LlJlZ2V4Q2FzZUluc2Vuc2l0aXZlLk5hdGl2ZS5K
Uy5IaXQuT3B0aW9ucy5BY3Rpb25zLkV2YWx1YXRlLkNvbnNvbGVDb21tYW5kTGluZUFQSQotQWRk
aW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUgJzEnLi4uCi0KLUFkZGluZyBldmFsdWF0ZSBhY3Rpb24g
dXNpbmcgc2F2ZWQgY29uc29sZSB2YWx1ZS4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4K
LVBBU1M6IFNob3VsZCBleGVjdXRlIGJyZWFrcG9pbnQgYWN0aW9uLgotUEFTUzogU2hvdWxkIHBh
dXNlLgotCi1BZGRpbmcgc2F2ZWQgY29uc29sZSB2YWx1ZSAnMicuLi4KLUVkaXRpbmcgZXZhbHVh
dGUgYWN0aW9uIHVzaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUuLi4KLQotVHJpZ2dlcmluZyBicmVh
a3BvaW50Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6
IFNob3VsZCBwYXVzZS4KLQotQWRkaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUgJzMnLi4uCi1FZGl0
aW5nIGV2YWx1YXRlIGFjdGlvbiB1c2luZyBzYXZlZCBjb25zb2xlIHZhbHVlLi4uCi1FbmFibGlu
ZyBhdXRvLWNvbnRpbnVlLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hv
dWxkIGV4ZWN1dGUgYnJlYWtwb2ludCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgot
Ci1BZGRpbmcgc2F2ZWQgY29uc29sZSB2YWx1ZSAnNCcuLi4KLUVkaXRpbmcgZXZhbHVhdGUgYWN0
aW9uIHVzaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUuLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50
Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3Vs
ZCBub3QgcGF1c2UuCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTeW1ib2xpY0JyZWFrcG9pbnQu
UmVnZXhDYXNlSW5zZW5zaXRpdmUuTmF0aXZlLkpTLk1pc3MKLUFkZGluZyBicmVha3BvaW50Li4u
Ci1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2UuCi0KLVJl
bW92aW5nIGJyZWFrcG9pbnQuLi4KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hv
dWxkIG5vdCBwYXVzZS4KLQotLS0gUnVubmluZyB0ZXN0IGNhc2U6IFN5bWJvbGljQnJlYWtwb2lu
dC5SZWdleENhc2VJbnNlbnNpdGl2ZS5OYXRpdmUuSlMuRGlzYWJsZWQKLUFkZGluZyBicmVha3Bv
aW50Li4uCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2Uu
Ci0KLVJlbW92aW5nIGJyZWFrcG9pbnQuLi4KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFT
UzogU2hvdWxkIG5vdCBwYXVzZS4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2RlYnVnZ2VyL3N5bWJvbGljLWJyZWFrcG9pbnQtbmF0aXZlLWpzLXJlZ2V4LWNhc2UtaW5zZW5z
aXRpdmUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zeW1ib2xpYy1icmVh
a3BvaW50LW5hdGl2ZS1qcy1yZWdleC1jYXNlLWluc2Vuc2l0aXZlLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDI5YmVlNjk4YmYzNC4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zeW1ib2xpYy1icmVha3BvaW50LW5hdGl2ZS1qcy1y
ZWdleC1jYXNlLWluc2Vuc2l0aXZlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDQgKzAsMCBA
QAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2JyZWFrcG9pbnQtb3B0aW9ucy11dGlsaXRpZXMuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRyaWdnZXJTeW1ib2xpY0JyZWFrcG9pbnQo
KSB7Ci0gICAgWzEsIDIsIDNdLnJldmVyc2UoKTsKLSAgICBUZXN0UGFnZS5kaXNwYXRjaEV2ZW50
VG9Gcm9udGVuZCgiVGVzdFBhZ2UtU3ltYm9saWNCcmVha3BvaW50Iik7Ci19Ci0KLWZ1bmN0aW9u
IHRlc3QoKQotewotICAgIFdJLnNldHRpbmdzLmV4cGVyaW1lbnRhbEVuYWJsZVN5bWJvbGljQnJl
YWtwb2ludHMudmFsdWUgPSB0cnVlOwotCi0gICAgZnVuY3Rpb24gdHJpZ2dlckJyZWFrcG9pbnQo
KSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLmFsbChbCi0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmF3YWl0RXZlbnQoIlRlc3RQYWdlLVN5bWJvbGljQnJlYWtwb2ludCIpLAotICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgdHJpZ2dlclN5bWJvbGljQnJlYWtwb2lu
dCgpYCksCi0gICAgICAgIF0pOwotICAgIH0KLQotICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRl
c3QuY3JlYXRlQXN5bmNTdWl0ZSgiU3ltYm9saWNCcmVha3BvaW50Iik7Ci0KLSAgICBJbnNwZWN0
b3JUZXN0LkJyZWFrcG9pbnRPcHRpb25zLmFkZFRlc3RDYXNlcyhzdWl0ZSwgewotICAgICAgICB0
ZXN0Q2FzZU5hbWVQcmVmaXg6ICJSZWdleENhc2VJbnNlbnNpdGl2ZS5OYXRpdmUuSlMuSGl0LiIs
Ci0gICAgICAgIGNyZWF0ZUJyZWFrcG9pbnQoKSB7Ci0gICAgICAgICAgICBsZXQgYnJlYWtwb2lu
dCA9IG5ldyBXSS5TeW1ib2xpY0JyZWFrcG9pbnQoInJFdkVyU1xcdysiLCB7Y2FzZVNlbnNpdGl2
ZTogZmFsc2UsIGlzUmVnZXg6IHRydWV9KTsKLSAgICAgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdl
ci5hZGRTeW1ib2xpY0JyZWFrcG9pbnQoYnJlYWtwb2ludCk7Ci0gICAgICAgICAgICByZXR1cm4g
YnJlYWtwb2ludDsKLSAgICAgICAgfSwKLSAgICAgICAgdHJpZ2dlckJyZWFrcG9pbnQsCi0gICAg
fSk7Ci0KLSAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Ci0gICAgICAgIG5hbWU6ICJTeW1ib2xpY0Jy
ZWFrcG9pbnQuUmVnZXhDYXNlSW5zZW5zaXRpdmUuTmF0aXZlLkpTLk1pc3MiLAotICAgICAgICBh
c3luYyB0ZXN0KCkgewotICAgICAgICAgICAgbGV0IHBhdXNlQ291bnQgPSAwOwotICAgICAgICAg
ICAgbGV0IHBhdXNlZExpc3RlbmVyID0gV0kuZGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVu
ZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwgKGV2ZW50KSA9PiB7Ci0gICAgICAg
ICAgICAgICAgKytwYXVzZUNvdW50OwotICAgICAgICAgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdl
ci5yZXN1bWUoKTsKLSAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmxvZygiQWRkaW5nIGJyZWFrcG9pbnQuLi4iKTsKLSAgICAgICAgICAgIGxldCBicmVha3BvaW50
ID0gbmV3IFdJLlN5bWJvbGljQnJlYWtwb2ludCgickV2RXJTXFx3K19ET0VTX05PVF9FWElTVCIs
IHtjYXNlU2Vuc2l0aXZlOiBmYWxzZSwgaXNSZWdleDogdHJ1ZX0pOwotICAgICAgICAgICAgV0ku
ZGVidWdnZXJNYW5hZ2VyLmFkZFN5bWJvbGljQnJlYWtwb2ludChicmVha3BvaW50KTsKLSAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFXSS5kZWJ1Z2dlck1hbmFnZXIuc3ltYm9saWNC
cmVha3BvaW50c0ZvclN5bWJvbCgicmV2ZXJzZSIpLmxlbmd0aCwgIlNob3VsZCBub3QgbWF0Y2gg
YnJlYWtwb2ludC4iKTsKLQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlRyaWdnZXJp
bmcgYnJlYWtwb2ludC4uLiIpOwotICAgICAgICAgICAgYXdhaXQgdHJpZ2dlckJyZWFrcG9pbnQo
KTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocGF1c2VDb3VudCwgMCwg
IlNob3VsZCBub3QgcGF1c2UuIik7Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubmV3bGlu
ZSgpOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiUmVtb3ZpbmcgYnJlYWtwb2lu
dC4uLiIpOwotICAgICAgICAgICAgYnJlYWtwb2ludC5yZW1vdmUoKTsKLQotICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5sb2coIlRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLiIpOwotICAgICAgICAg
ICAgYXdhaXQgdHJpZ2dlckJyZWFrcG9pbnQoKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0RXF1YWwocGF1c2VDb3VudCwgMCwgIlNob3VsZCBub3QgcGF1c2UuIik7Ci0KLSAgICAg
ICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2Vy
TWFuYWdlci5FdmVudC5QYXVzZWQsIHBhdXNlZExpc3RlbmVyKTsKLSAgICAgICAgfSwKLSAgICB9
KTsKLQotICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKLSAgICAgICAgbmFtZTogIlN5bWJvbGljQnJl
YWtwb2ludC5SZWdleENhc2VJbnNlbnNpdGl2ZS5OYXRpdmUuSlMuRGlzYWJsZWQiLAotICAgICAg
ICBhc3luYyB0ZXN0KCkgewotICAgICAgICAgICAgbGV0IHBhdXNlQ291bnQgPSAwOwotICAgICAg
ICAgICAgbGV0IHBhdXNlZExpc3RlbmVyID0gV0kuZGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50TGlz
dGVuZXIoV0kuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwgKGV2ZW50KSA9PiB7Ci0gICAg
ICAgICAgICAgICAgKytwYXVzZUNvdW50OwotICAgICAgICAgICAgICAgIFdJLmRlYnVnZ2VyTWFu
YWdlci5yZXN1bWUoKTsKLSAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmxvZygiQWRkaW5nIGJyZWFrcG9pbnQuLi4iKTsKLSAgICAgICAgICAgIGxldCBicmVha3Bv
aW50ID0gbmV3IFdJLlN5bWJvbGljQnJlYWtwb2ludCgickV2RXJTXFx3KyIsIHtjYXNlU2Vuc2l0
aXZlOiBmYWxzZSwgaXNSZWdleDogdHJ1ZSwgZGlzYWJsZWQ6IHRydWV9KTsKLSAgICAgICAgICAg
IFdJLmRlYnVnZ2VyTWFuYWdlci5hZGRTeW1ib2xpY0JyZWFrcG9pbnQoYnJlYWtwb2ludCk7Ci0g
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydCghV0kuZGVidWdnZXJNYW5hZ2VyLnN5bWJv
bGljQnJlYWtwb2ludHNGb3JTeW1ib2woInJldmVyc2UiKS5sZW5ndGgsICJTaG91bGQgbm90IG1h
dGNoIGJyZWFrcG9pbnQuIik7Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJUcmln
Z2VyaW5nIGJyZWFrcG9pbnQuLi4iKTsKLSAgICAgICAgICAgIGF3YWl0IHRyaWdnZXJCcmVha3Bv
aW50KCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHBhdXNlQ291bnQs
IDAsICJTaG91bGQgbm90IHBhdXNlLiIpOwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0Lm5l
d2xpbmUoKTsKLQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlJlbW92aW5nIGJyZWFr
cG9pbnQuLi4iKTsKLSAgICAgICAgICAgIGJyZWFrcG9pbnQucmVtb3ZlKCk7Ci0KLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QubG9nKCJUcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4iKTsKLSAgICAg
ICAgICAgIGF3YWl0IHRyaWdnZXJCcmVha3BvaW50KCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV4cGVjdEVxdWFsKHBhdXNlQ291bnQsIDAsICJTaG91bGQgbm90IHBhdXNlLiIpOwotCi0g
ICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5EZWJ1
Z2dlck1hbmFnZXIuRXZlbnQuUGF1c2VkLCBwYXVzZWRMaXN0ZW5lcik7Ci0gICAgICAgIH0sCi0g
ICAgfSk7Ci0KLSAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKLX0KLTwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+VGVzdHMgZm9yIFN5bWJv
bGljQnJlYWtwb2ludC48L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc3ltYm9saWMtYnJlYWtwb2ludC1uYXRpdmUtanMtcmVn
ZXgtY2FzZS1zZW5zaXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rl
YnVnZ2VyL3N5bWJvbGljLWJyZWFrcG9pbnQtbmF0aXZlLWpzLXJlZ2V4LWNhc2Utc2Vuc2l0aXZl
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzcyN2Y4NGQxMTNk
Li4wMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3N5bWJv
bGljLWJyZWFrcG9pbnQtbmF0aXZlLWpzLXJlZ2V4LWNhc2Utc2Vuc2l0aXZlLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDE2NSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IEJSRUFL
UE9JTlQgQUNUSU9OIExPRyAxCi1DT05TT0xFIE1FU1NBR0U6IEJSRUFLUE9JTlQgQUNUSU9OIExP
RyAyCi1DT05TT0xFIE1FU1NBR0U6IEJSRUFLUE9JTlQgQUNUSU9OIExPRyAzCi1DT05TT0xFIE1F
U1NBR0U6IEJSRUFLUE9JTlQgQUNUSU9OIExPRyA0Ci1UZXN0cyBmb3IgU3ltYm9saWNCcmVha3Bv
aW50LgotCi0KLT09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogU3ltYm9saWNCcmVha3BvaW50Ci0tLSBS
dW5uaW5nIHRlc3QgY2FzZTogU3ltYm9saWNCcmVha3BvaW50LlJlZ2V4Q2FzZVNlbnNpdGl2ZS5O
YXRpdmUuSlMuSGl0Lk9wdGlvbnMuQ29uZGl0aW9uCi0KLVNldHRpbmcgY29uZGl0aW9uIHRvICdm
YWxzZScuLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgbm90IHBh
dXNlLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2Uu
Ci0KLVNldHRpbmcgY29uZGl0aW9uIHRvICd0cnVlJy4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9p
bnQuLi4KLVBBU1M6IFNob3VsZCBwYXVzZS4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1Q
QVNTOiBTaG91bGQgcGF1c2UuCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTeW1ib2xpY0JyZWFr
cG9pbnQuUmVnZXhDYXNlU2Vuc2l0aXZlLk5hdGl2ZS5KUy5IaXQuT3B0aW9ucy5Db25kaXRpb24u
Q29uc29sZUNvbW1hbmRMaW5lQVBJCi1BZGRpbmcgc2F2ZWQgY29uc29sZSB2YWx1ZSAnZmFsc2Un
Li4uCi0KLVNldHRpbmcgY29uZGl0aW9uIHRvIHNhdmVkIGNvbnNvbGUgdmFsdWUuLi4KLQotVHJp
Z2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi1UcmlnZ2Vy
aW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2UuCi0KLUFkZGluZyBzYXZl
ZCBjb25zb2xlIHZhbHVlICd0cnVlJy4uLgotU2V0dGluZyBjb25kaXRpb24gdG8gc2F2ZWQgY29u
c29sZSB2YWx1ZS4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBw
YXVzZS4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0K
LS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTeW1ib2xpY0JyZWFrcG9pbnQuUmVnZXhDYXNlU2Vuc2l0
aXZlLk5hdGl2ZS5KUy5IaXQuT3B0aW9ucy5JZ25vcmVDb3VudAotCi1TZXR0aW5nIGlnbm9yZUNv
dW50IHRvICcyJy4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBu
b3QgcGF1c2UuCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIG5vdCBw
YXVzZS4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0K
LVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIHBhdXNlLgotCi0tLSBSdW5u
aW5nIHRlc3QgY2FzZTogU3ltYm9saWNCcmVha3BvaW50LlJlZ2V4Q2FzZVNlbnNpdGl2ZS5OYXRp
dmUuSlMuSGl0Lk9wdGlvbnMuQWN0aW9uLkxvZwotCi1BZGRpbmcgbG9nIGFjdGlvbi4uLgotCi1U
cmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBleGVjdXRlIGJyZWFrcG9pbnQg
YWN0aW9uLgotUEFTUzogU2hvdWxkIHBhdXNlLgotCi1FZGl0aW5nIGxvZyBhY3Rpb24uLi4KLQot
VHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50
IGFjdGlvbi4KLVBBU1M6IFNob3VsZCBwYXVzZS4KLQotRWRpdGluZyBsb2cgYWN0aW9uLi4uCi1F
bmFibGluZyBhdXRvLWNvbnRpbnVlLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFT
UzogU2hvdWxkIGV4ZWN1dGUgYnJlYWtwb2ludCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgbm90IHBh
dXNlLgotCi1FZGl0aW5nIGxvZyBhY3Rpb24uLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4u
Ci1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3VsZCBu
b3QgcGF1c2UuCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBTeW1ib2xpY0JyZWFrcG9pbnQuUmVn
ZXhDYXNlU2Vuc2l0aXZlLk5hdGl2ZS5KUy5IaXQuT3B0aW9ucy5BY3Rpb25zLkV2YWx1YXRlCi0K
LUFkZGluZyBldmFsdWF0ZSBhY3Rpb24uLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1Q
QVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3VsZCBwYXVz
ZS4KLQotRWRpdGluZyBldmFsdWF0ZSBhY3Rpb24uLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50
Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3Vs
ZCBwYXVzZS4KLQotRWRpdGluZyBldmFsdWF0ZSBhY3Rpb24uLi4KLUVuYWJsaW5nIGF1dG8tY29u
dGludWUuLi4KLQotVHJpZ2dlcmluZyBicmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0
ZSBicmVha3BvaW50IGFjdGlvbi4KLVBBU1M6IFNob3VsZCBub3QgcGF1c2UuCi0KLUVkaXRpbmcg
ZXZhbHVhdGUgYWN0aW9uLi4uCi0KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hv
dWxkIGV4ZWN1dGUgYnJlYWtwb2ludCBhY3Rpb24uCi1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgot
Ci0tLSBSdW5uaW5nIHRlc3QgY2FzZTogU3ltYm9saWNCcmVha3BvaW50LlJlZ2V4Q2FzZVNlbnNp
dGl2ZS5OYXRpdmUuSlMuSGl0Lk9wdGlvbnMuQWN0aW9ucy5FdmFsdWF0ZS5Db25zb2xlQ29tbWFu
ZExpbmVBUEkKLUFkZGluZyBzYXZlZCBjb25zb2xlIHZhbHVlICcxJy4uLgotCi1BZGRpbmcgZXZh
bHVhdGUgYWN0aW9uIHVzaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUuLi4KLQotVHJpZ2dlcmluZyBi
cmVha3BvaW50Li4uCi1QQVNTOiBTaG91bGQgZXhlY3V0ZSBicmVha3BvaW50IGFjdGlvbi4KLVBB
U1M6IFNob3VsZCBwYXVzZS4KLQotQWRkaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUgJzInLi4uCi1F
ZGl0aW5nIGV2YWx1YXRlIGFjdGlvbiB1c2luZyBzYXZlZCBjb25zb2xlIHZhbHVlLi4uCi0KLVRy
aWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIGV4ZWN1dGUgYnJlYWtwb2ludCBh
Y3Rpb24uCi1QQVNTOiBTaG91bGQgcGF1c2UuCi0KLUFkZGluZyBzYXZlZCBjb25zb2xlIHZhbHVl
ICczJy4uLgotRWRpdGluZyBldmFsdWF0ZSBhY3Rpb24gdXNpbmcgc2F2ZWQgY29uc29sZSB2YWx1
ZS4uLgotRW5hYmxpbmcgYXV0by1jb250aW51ZS4uLgotCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQu
Li4KLVBBU1M6IFNob3VsZCBleGVjdXRlIGJyZWFrcG9pbnQgYWN0aW9uLgotUEFTUzogU2hvdWxk
IG5vdCBwYXVzZS4KLQotQWRkaW5nIHNhdmVkIGNvbnNvbGUgdmFsdWUgJzQnLi4uCi1FZGl0aW5n
IGV2YWx1YXRlIGFjdGlvbiB1c2luZyBzYXZlZCBjb25zb2xlIHZhbHVlLi4uCi0KLVRyaWdnZXJp
bmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIGV4ZWN1dGUgYnJlYWtwb2ludCBhY3Rpb24u
Ci1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogU3ltYm9s
aWNCcmVha3BvaW50LlJlZ2V4Q2FzZVNlbnNpdGl2ZS5OYXRpdmUuSlMuTWlzcwotQWRkaW5nIGJy
ZWFrcG9pbnQuLi4KLVRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLgotUEFTUzogU2hvdWxkIG5vdCBw
YXVzZS4KLQotUmVtb3ZpbmcgYnJlYWtwb2ludC4uLgotVHJpZ2dlcmluZyBicmVha3BvaW50Li4u
Ci1QQVNTOiBTaG91bGQgbm90IHBhdXNlLgotCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogU3ltYm9s
aWNCcmVha3BvaW50LlJlZ2V4Q2FzZVNlbnNpdGl2ZS5OYXRpdmUuSlMuRGlzYWJsZWQKLUFkZGlu
ZyBicmVha3BvaW50Li4uCi1UcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4KLVBBU1M6IFNob3VsZCBu
b3QgcGF1c2UuCi0KLVJlbW92aW5nIGJyZWFrcG9pbnQuLi4KLVRyaWdnZXJpbmcgYnJlYWtwb2lu
dC4uLgotUEFTUzogU2hvdWxkIG5vdCBwYXVzZS4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RlYnVnZ2VyL3N5bWJvbGljLWJyZWFrcG9pbnQtbmF0aXZlLWpzLXJlZ2V4LWNh
c2Utc2Vuc2l0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc3ltYm9s
aWMtYnJlYWtwb2ludC1uYXRpdmUtanMtcmVnZXgtY2FzZS1zZW5zaXRpdmUuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWUwNzcwNTI1YTcxLi4wMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3N5bWJvbGljLWJyZWFrcG9pbnQtbmF0aXZl
LWpzLXJlZ2V4LWNhc2Utc2Vuc2l0aXZlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDQgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2JyZWFrcG9pbnQtb3B0aW9ucy11dGlsaXRpZXMu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWZ1bmN0aW9uIHRyaWdnZXJTeW1ib2xpY0JyZWFrcG9p
bnQoKSB7Ci0gICAgWzEsIDIsIDNdLnJldmVyc2UoKTsKLSAgICBUZXN0UGFnZS5kaXNwYXRjaEV2
ZW50VG9Gcm9udGVuZCgiVGVzdFBhZ2UtU3ltYm9saWNCcmVha3BvaW50Iik7Ci19Ci0KLWZ1bmN0
aW9uIHRlc3QoKQotewotICAgIFdJLnNldHRpbmdzLmV4cGVyaW1lbnRhbEVuYWJsZVN5bWJvbGlj
QnJlYWtwb2ludHMudmFsdWUgPSB0cnVlOwotCi0gICAgZnVuY3Rpb24gdHJpZ2dlckJyZWFrcG9p
bnQoKSB7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLmFsbChbCi0gICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmF3YWl0RXZlbnQoIlRlc3RQYWdlLVN5bWJvbGljQnJlYWtwb2ludCIpLAotICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgdHJpZ2dlclN5bWJvbGljQnJlYWtw
b2ludCgpYCksCi0gICAgICAgIF0pOwotICAgIH0KLQotICAgIGxldCBzdWl0ZSA9IEluc3BlY3Rv
clRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiU3ltYm9saWNCcmVha3BvaW50Iik7Ci0KLSAgICBJbnNw
ZWN0b3JUZXN0LkJyZWFrcG9pbnRPcHRpb25zLmFkZFRlc3RDYXNlcyhzdWl0ZSwgewotICAgICAg
ICB0ZXN0Q2FzZU5hbWVQcmVmaXg6ICJSZWdleENhc2VTZW5zaXRpdmUuTmF0aXZlLkpTLkhpdC4i
LAotICAgICAgICBjcmVhdGVCcmVha3BvaW50KCkgewotICAgICAgICAgICAgbGV0IGJyZWFrcG9p
bnQgPSBuZXcgV0kuU3ltYm9saWNCcmVha3BvaW50KCJyZXZlcnNcXHcrIiwge2lzUmVnZXg6IHRy
dWV9KTsKLSAgICAgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5hZGRTeW1ib2xpY0JyZWFrcG9p
bnQoYnJlYWtwb2ludCk7Ci0gICAgICAgICAgICByZXR1cm4gYnJlYWtwb2ludDsKLSAgICAgICAg
fSwKLSAgICAgICAgdHJpZ2dlckJyZWFrcG9pbnQsCi0gICAgfSk7Ci0KLSAgICBzdWl0ZS5hZGRU
ZXN0Q2FzZSh7Ci0gICAgICAgIG5hbWU6ICJTeW1ib2xpY0JyZWFrcG9pbnQuUmVnZXhDYXNlU2Vu
c2l0aXZlLk5hdGl2ZS5KUy5NaXNzIiwKLSAgICAgICAgYXN5bmMgdGVzdCgpIHsKLSAgICAgICAg
ICAgIGxldCBwYXVzZUNvdW50ID0gMDsKLSAgICAgICAgICAgIGxldCBwYXVzZWRMaXN0ZW5lciA9
IFdJLmRlYnVnZ2VyTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2VyTWFuYWdlci5F
dmVudC5QYXVzZWQsIChldmVudCkgPT4gewotICAgICAgICAgICAgICAgICsrcGF1c2VDb3VudDsK
LSAgICAgICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIucmVzdW1lKCk7Ci0gICAgICAgICAg
ICB9KTsKLQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIkFkZGluZyBicmVha3BvaW50
Li4uIik7Ci0gICAgICAgICAgICBsZXQgYnJlYWtwb2ludCA9IG5ldyBXSS5TeW1ib2xpY0JyZWFr
cG9pbnQoInJFdkVyU1xcdysiLCB7aXNSZWdleDogdHJ1ZX0pOwotICAgICAgICAgICAgV0kuZGVi
dWdnZXJNYW5hZ2VyLmFkZFN5bWJvbGljQnJlYWtwb2ludChicmVha3BvaW50KTsKLSAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KCFXSS5kZWJ1Z2dlck1hbmFnZXIuc3ltYm9saWNCcmVh
a3BvaW50c0ZvclN5bWJvbCgicmV2ZXJzZSIpLmxlbmd0aCwgIlNob3VsZCBub3QgbWF0Y2ggYnJl
YWtwb2ludC4iKTsKLQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlRyaWdnZXJpbmcg
YnJlYWtwb2ludC4uLiIpOwotICAgICAgICAgICAgYXdhaXQgdHJpZ2dlckJyZWFrcG9pbnQoKTsK
LSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwocGF1c2VDb3VudCwgMCwgIlNo
b3VsZCBub3QgcGF1c2UuIik7Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubmV3bGluZSgp
OwotCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiUmVtb3ZpbmcgYnJlYWtwb2ludC4u
LiIpOwotICAgICAgICAgICAgYnJlYWtwb2ludC5yZW1vdmUoKTsKLQotICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5sb2coIlRyaWdnZXJpbmcgYnJlYWtwb2ludC4uLiIpOwotICAgICAgICAgICAg
YXdhaXQgdHJpZ2dlckJyZWFrcG9pbnQoKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhw
ZWN0RXF1YWwocGF1c2VDb3VudCwgMCwgIlNob3VsZCBub3QgcGF1c2UuIik7Ci0KLSAgICAgICAg
ICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkRlYnVnZ2VyTWFu
YWdlci5FdmVudC5QYXVzZWQsIHBhdXNlZExpc3RlbmVyKTsKLSAgICAgICAgfSwKLSAgICB9KTsK
LQotICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKLSAgICAgICAgbmFtZTogIlN5bWJvbGljQnJlYWtw
b2ludC5SZWdleENhc2VTZW5zaXRpdmUuTmF0aXZlLkpTLkRpc2FibGVkIiwKLSAgICAgICAgYXN5
bmMgdGVzdCgpIHsKLSAgICAgICAgICAgIGxldCBwYXVzZUNvdW50ID0gMDsKLSAgICAgICAgICAg
IGxldCBwYXVzZWRMaXN0ZW5lciA9IFdJLmRlYnVnZ2VyTWFuYWdlci5hZGRFdmVudExpc3RlbmVy
KFdJLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5QYXVzZWQsIChldmVudCkgPT4gewotICAgICAgICAg
ICAgICAgICsrcGF1c2VDb3VudDsKLSAgICAgICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIu
cmVzdW1lKCk7Ci0gICAgICAgICAgICB9KTsKLQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5s
b2coIkFkZGluZyBicmVha3BvaW50Li4uIik7Ci0gICAgICAgICAgICBsZXQgYnJlYWtwb2ludCA9
IG5ldyBXSS5TeW1ib2xpY0JyZWFrcG9pbnQoInJldmVyc1xcdysiLCB7aXNSZWdleDogdHJ1ZSwg
ZGlzYWJsZWQ6IHRydWV9KTsKLSAgICAgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5hZGRTeW1i
b2xpY0JyZWFrcG9pbnQoYnJlYWtwb2ludCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFz
c2VydCghV0kuZGVidWdnZXJNYW5hZ2VyLnN5bWJvbGljQnJlYWtwb2ludHNGb3JTeW1ib2woInJl
dmVyc2UiKS5sZW5ndGgsICJTaG91bGQgbm90IG1hdGNoIGJyZWFrcG9pbnQuIik7Ci0KLSAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJUcmlnZ2VyaW5nIGJyZWFrcG9pbnQuLi4iKTsKLSAg
ICAgICAgICAgIGF3YWl0IHRyaWdnZXJCcmVha3BvaW50KCk7Ci0gICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmV4cGVjdEVxdWFsKHBhdXNlQ291bnQsIDAsICJTaG91bGQgbm90IHBhdXNlLiIpOwot
Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0Lm5ld2xpbmUoKTsKLQotICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5sb2coIlJlbW92aW5nIGJyZWFrcG9pbnQuLi4iKTsKLSAgICAgICAgICAgIGJy
ZWFrcG9pbnQucmVtb3ZlKCk7Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJUcmln
Z2VyaW5nIGJyZWFrcG9pbnQuLi4iKTsKLSAgICAgICAgICAgIGF3YWl0IHRyaWdnZXJCcmVha3Bv
aW50KCk7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKHBhdXNlQ291bnQs
IDAsICJTaG91bGQgbm90IHBhdXNlLiIpOwotCi0gICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFn
ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuUGF1c2VkLCBw
YXVzZWRMaXN0ZW5lcik7Ci0gICAgICAgIH0sCi0gICAgfSk7Ci0KLSAgICBzdWl0ZS5ydW5UZXN0
Q2FzZXNBbmRGaW5pc2goKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgotPHA+VGVzdHMgZm9yIFN5bWJvbGljQnJlYWtwb2ludC48L3A+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc3lt
Ym9saWMtYnJlYWtwb2ludC1yZWdleC1jYXNlLWluc2Vuc2l0aXZlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZGVidWdnZXIvc3ltYm9saWMtYnJlYWtwb2ludC1yZWdleC1jYXNlLWluc2Vu
c2l0aXZlLmh0bWwKaW5kZXggMDc4MzViOGZkODdkLi5hOTc5NzlkZjcxNzQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zeW1ib2xpYy1icmVha3BvaW50LXJlZ2V4
LWNhc2UtaW5zZW5zaXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdn
ZXIvc3ltYm9saWMtYnJlYWtwb2ludC1yZWdleC1jYXNlLWluc2Vuc2l0aXZlLmh0bWwKQEAgLTU1
LDkgKzU1LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgSW5zcGVjdG9yVGVzdC5CcmVha3BvaW50
T3B0aW9ucy5hZGRUZXN0Q2FzZXMoc3VpdGUsIHsKICAgICAgICAgdGVzdENhc2VOYW1lUHJlZml4
OiAiUmVnZXhDYXNlSW5zZW5zaXRpdmUuSGl0LiIsCiAgICAgICAgIGNyZWF0ZUJyZWFrcG9pbnQo
KSB7Ci0gICAgICAgICAgICBsZXQgYnJlYWtwb2ludCA9IG5ldyBXSS5TeW1ib2xpY0JyZWFrcG9p
bnQoInRSaUdnRXJcXHcrIiwge2Nhc2VTZW5zaXRpdmU6IGZhbHNlLCBpc1JlZ2V4OiB0cnVlfSk7
Ci0gICAgICAgICAgICBXSS5kZWJ1Z2dlck1hbmFnZXIuYWRkU3ltYm9saWNCcmVha3BvaW50KGJy
ZWFrcG9pbnQpOwotICAgICAgICAgICAgcmV0dXJuIGJyZWFrcG9pbnQ7CisgICAgICAgICAgICBy
ZXR1cm4gbmV3IFdJLlN5bWJvbGljQnJlYWtwb2ludCgidFJpR2dFclxcdysiLCB7Y2FzZVNlbnNp
dGl2ZTogZmFsc2UsIGlzUmVnZXg6IHRydWV9KTsKICAgICAgICAgfSwKICAgICAgICAgdHJpZ2dl
ckJyZWFrcG9pbnQsCiAgICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZGVidWdnZXIvc3ltYm9saWMtYnJlYWtwb2ludC1yZWdleC1jYXNlLXNlbnNpdGl2ZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3N5bWJvbGljLWJyZWFrcG9pbnQtcmVnZXgt
Y2FzZS1zZW5zaXRpdmUuaHRtbAppbmRleCBhYTJmY2FkZTFiMGEuLjkwZGRmNTU5NDMwYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3N5bWJvbGljLWJyZWFrcG9p
bnQtcmVnZXgtY2FzZS1zZW5zaXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZGVidWdnZXIvc3ltYm9saWMtYnJlYWtwb2ludC1yZWdleC1jYXNlLXNlbnNpdGl2ZS5odG1sCkBA
IC01NSw5ICs1NSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIEluc3BlY3RvclRlc3QuQnJlYWtw
b2ludE9wdGlvbnMuYWRkVGVzdENhc2VzKHN1aXRlLCB7CiAgICAgICAgIHRlc3RDYXNlTmFtZVBy
ZWZpeDogIlJlZ2V4Q2FzZVNlbnNpdGl2ZS5IaXQuIiwKICAgICAgICAgY3JlYXRlQnJlYWtwb2lu
dCgpIHsKLSAgICAgICAgICAgIGxldCBicmVha3BvaW50ID0gbmV3IFdJLlN5bWJvbGljQnJlYWtw
b2ludCgidHJpZ2dlclxcdysiLCB7aXNSZWdleDogdHJ1ZX0pOwotICAgICAgICAgICAgV0kuZGVi
dWdnZXJNYW5hZ2VyLmFkZFN5bWJvbGljQnJlYWtwb2ludChicmVha3BvaW50KTsKLSAgICAgICAg
ICAgIHJldHVybiBicmVha3BvaW50OworICAgICAgICAgICAgcmV0dXJuIG5ldyBXSS5TeW1ib2xp
Y0JyZWFrcG9pbnQoInRyaWdnZXJcXHcrIiwge2lzUmVnZXg6IHRydWV9KTsKICAgICAgICAgfSwK
ICAgICAgICAgdHJpZ2dlckJyZWFrcG9pbnQsCiAgICAgfSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>