<?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>175660</bug_id>
          
          <creation_ts>2017-08-17 00:48:11 -0700</creation_ts>
          <short_desc>Speedometer: Update to modern Vue.js version</short_desc>
          <delta_ts>2017-08-17 21:04:29 -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>172339</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mathias Bynens">mathias</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>addyo</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mathias</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1339462</commentid>
    <comment_count>0</comment_count>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2017-08-17 00:48:11 -0700</bug_when>
    <thetext>Speedometer: Update to modern Vue.js version</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1339464</commentid>
    <comment_count>1</comment_count>
      <attachid>318337</attachid>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2017-08-17 00:51:56 -0700</bug_when>
    <thetext>Created attachment 318337
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1339465</commentid>
    <comment_count>2</comment_count>
      <attachid>318338</attachid>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2017-08-17 01:08:12 -0700</bug_when>
    <thetext>Created attachment 318338
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1339466</commentid>
    <comment_count>3</comment_count>
      <attachid>318339</attachid>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2017-08-17 01:14:53 -0700</bug_when>
    <thetext>Created attachment 318339
Results before and after the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1339940</commentid>
    <comment_count>4</comment_count>
      <attachid>318338</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-17 21:03:40 -0700</bug_when>
    <thetext>Comment on attachment 318338
Patch

Clearing flags on attachment: 318338

Committed r220900: &lt;http://trac.webkit.org/changeset/220900&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1339941</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-17 21:03:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1339942</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-08-17 21:04:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/33956573&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318337</attachid>
            <date>2017-08-17 00:51:56 -0700</date>
            <delta_ts>2017-08-17 01:08:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175660-20170817095153.patch</filename>
            <type>text/plain</type>
            <size>1292798</size>
            <attacher name="Mathias Bynens">mathias</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwODM0CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L0NoYW5nZUxvZyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDcwMDY0ODE0YmY0
MGZjZDU0OWNlZDU1MjgxNDA0M2YzZGZmNjc0YzQuLmY0NWYxYzYzMTg5YjVmNzBlOGE3ZDIxNjM4
Y2EzNTQxNGY0ODA5ZTcgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCisr
KyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTctMDgt
MTcgIE1hdGhpYXMgQnluZW5zICA8bWF0aGlhc0BxaXdpLmJlPgorCisgICAgICAgIFNwZWVkb21l
dGVyOiBVcGRhdGUgdG8gbW9kZXJuIFZ1ZS5qcyB2ZXJzaW9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU2NjAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNwZWVkb21ldGVyL3Jlc291cmNlcy90b2Rv
bXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvUkVBRE1FLm1kOiBEb2N1bWVudGVk
IGJ1aWxkIHByb2Nlc3MuCisgICAgICAgICogU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMv
YXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9kaXN0Lyo6IFVwZGF0ZWQgcGVyIGJ1aWxk
IHN0ZXBzLgorICAgICAgICAqIFNwZWVkb21ldGVyL3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVj
dHVyZS1leGFtcGxlcy92dWVqcy1jbGkvcGFja2FnZS1sb2NrLmpzb246IEFkZGVkIHRvIHBpbiBk
ZXBlbmRlbmNpZXMgYW5kIG1ha2UgYnVpbGRzIGRldGVybWluaXN0aWMuCisgICAgICAgICogU3Bl
ZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNs
aS9wYWNrYWdlLmpzb246IFVwZGF0ZSB0byBtb2Rlcm4gVnVlLmpzIHZlcnNpb24uCisgICAgICAg
ICogU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1
ZWpzLWNsaS9zcmMvY29tcG9uZW50cy9Ub2Rvcy52dWU6IEZpeCBtYXJrdXAgZXJyb3IuCisKIDIw
MTctMDgtMTYgIE1hdGhpYXMgQnluZW5zICA8bWF0aGlhc0BxaXdpLmJlPgogCiAgICAgICAgIFNw
ZWVkb21ldGVyOiBVcGRhdGUgQW5ndWxhciAxIFRvZG9NVkMgZXhhbXBsZSB0byB2MS42LjUKZGlm
ZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMv
YXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9SRUFETUUubWQgYi9QZXJmb3JtYW5jZVRl
c3RzL1NwZWVkb21ldGVyL3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92
dWVqcy1jbGkvUkVBRE1FLm1kCmluZGV4IGI1MGNlNmVlMmU0YWUyYmQyNDUzNGRiMzkwYjVkZjc4
MWI0MWI5YjcuLmEwMjc5ZjRmM2Y1ZTEzYTk4MTRhMTJmM2Q2MjkyOGYxY2M3ODkzMzQgMTAwNjQ0
Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJj
aGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9SRUFETUUubWQKKysrIGIvUGVyZm9ybWFuY2VU
ZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMv
dnVlanMtY2xpL1JFQURNRS5tZApAQCAtMSwxOCArMSwxMSBAQAotIyB2dWUtY2xpLXRvZG9tdmMK
KyMgU3BlZWRvbWV0ZXIgMi4wOiBWdWUuanMgVG9kb01WQyBleGFtcGxlCiAKLT4gVnVlLmpzIFRv
ZG9NVkMKKyMjIFRlc3QgbG9jYWxseQogCi0jIyBCdWlsZCBTZXR1cAorMS4gYG5wbSBpbnN0YWxs
YAorMi4gYG5wbSBydW4gZGV2YCBydW5zIHRoZSBhcHAgaW4gZGV2ZWxvcG1lbnQgbW9kZQorMy4g
T3BlbiA8aHR0cDovL2xvY2FsaG9zdDo4MDgwLz4gdG8gdmlldyBpdCBpbiB0aGUgYnJvd3Nlci4K
IAotYGBgIGJhc2gKLSMgaW5zdGFsbCBkZXBlbmRlbmNpZXMKLW5wbSBpbnN0YWxsCisjIyBCdWls
ZAogCi0jIHNlcnZlIHdpdGggaG90IHJlbG9hZCBhdCBsb2NhbGhvc3Q6ODA4MAotbnBtIHJ1biBk
ZXYKLQotIyBidWlsZCBmb3IgcHJvZHVjdGlvbiB3aXRoIG1pbmlmaWNhdGlvbgotbnBtIHJ1biBi
dWlsZAotYGBgCi0KLUZvciBkZXRhaWxlZCBleHBsYW5hdGlvbiBvbiBob3cgdGhpbmdzIHdvcmss
IGNoZWNrb3V0IHRoZSBbZ3VpZGVdKGh0dHA6Ly92dWVqcy10ZW1wbGF0ZXMuZ2l0aHViLmlvL3dl
YnBhY2svKSBhbmQgW2RvY3MgZm9yIHZ1ZS1sb2FkZXJdKGh0dHA6Ly92dWVqcy5naXRodWIuaW8v
dnVlLWxvYWRlcikuCisxLiBgbnBtIHJ1biBidWlsZGAKZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNl
VGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVz
L3Z1ZWpzLWNsaS9kaXN0L2luZGV4Lmh0bWwgYi9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVy
L3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvZGlzdC9p
bmRleC5odG1sCmluZGV4IGFiMGVlMjU4MjNkMDM0NDQ2NmZkNmQwYjQxMzE2N2EyN2I4Y2E5NTIu
LjU0NmQ0NWU1ZGZmYWIwOTU3YjNhZjJhZGY1ZmVkYTE2MTM5ZDBmNjAgMTAwNjQ0Ci0tLSBhL1Bl
cmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJl
LWV4YW1wbGVzL3Z1ZWpzLWNsaS9kaXN0L2luZGV4Lmh0bWwKKysrIGIvUGVyZm9ybWFuY2VUZXN0
cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVl
anMtY2xpL2Rpc3QvaW5kZXguaHRtbApAQCAtMSwxNCArMSBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLQotPGhlYWQ+Ci0gIDxtZXRhIGNoYXJzZXQ9dXRmLTg+Ci0gIDx0aXRsZT52dWUtY2xp
LXRvZG9tdmM8L3RpdGxlPgotICA8bGluayBocmVmPXN0YXRpYy9jc3MvYXBwLjY3N2I0NTg0MmQ5
ZjhiOTZlNWIyM2MxODk2OTIzM2I3LmNzcyByZWw9c3R5bGVzaGVldD4KLTwvaGVhZD4KLQotPGJv
ZHk+Ci0gIDxkaXYgaWQ9YXBwPjwvZGl2PjxzY3JpcHQgdHlwZT10ZXh0L2phdmFzY3JpcHQgc3Jj
PXN0YXRpYy9qcy9tYW5pZmVzdC44NGIyYjRmY2ViNzRhYjFmOTFmMy5qcz48L3NjcmlwdD48c2Ny
aXB0IHR5cGU9dGV4dC9qYXZhc2NyaXB0Ci0gICAgc3JjPXN0YXRpYy9qcy92ZW5kb3IuYTUyNTE3
YzVhYTk4ZTdmYmVhMmUuanM+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPXRleHQvamF2YXNjcmlwdCBz
cmM9c3RhdGljL2pzL2FwcC5iMGU4MzU4NzRiYzg5NDk2NzBkMS5qcz48L3NjcmlwdD48L2JvZHk+
Ci0KLTwvaHRtbD4KKzwhRE9DVFlQRSBodG1sPjxodG1sPjxoZWFkPjxtZXRhIGNoYXJzZXQ9dXRm
LTg+PHRpdGxlPnZ1ZS1jbGktdG9kb212YzwvdGl0bGU+PGxpbmsgaHJlZj0vc3RhdGljL2Nzcy9h
cHAuZGNhNDI5MmFiMzIyYzFlN2Q1MTUzNGU3Mjk4MTAzMmUuY3NzIHJlbD1zdHlsZXNoZWV0Pjwv
aGVhZD48Ym9keT48ZGl2IGlkPWFwcD48L2Rpdj48c2NyaXB0IHR5cGU9dGV4dC9qYXZhc2NyaXB0
IHNyYz0vc3RhdGljL2pzL21hbmlmZXN0LjI5MzU1ZTkxYTk2YjdlYTA5ZjljLmpzPjwvc2NyaXB0
PjxzY3JpcHQgdHlwZT10ZXh0L2phdmFzY3JpcHQgc3JjPS9zdGF0aWMvanMvdmVuZG9yLjJlNGU5
ZTUyODY2NGZhNzk2ZDNhLmpzPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT10ZXh0L2phdmFzY3JpcHQg
c3JjPS9zdGF0aWMvanMvYXBwLmQ2ZWQ4OTM1NDM4ZjQ0ZTk4NDNhLmpzPjwvc2NyaXB0PjwvYm9k
eT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUGVyZm9y
bWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUtZXhh
bXBsZXMvdnVlanMtY2xpL2Rpc3Qvc3RhdGljL2Nzcy9hcHAuNjc3YjQ1ODQyZDlmOGI5NmU1YjIz
YzE4OTY5MjMzYjcuY3NzIGIvUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMv
dG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVlanMtY2xpL2Rpc3Qvc3RhdGljL2Nzcy9h
cHAuNjc3YjQ1ODQyZDlmOGI5NmU1YjIzYzE4OTY5MjMzYjcuY3NzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4MWRkZjVhNTE3ZDVlMTkyYjMyMWY4NWE3YjZjMWJjZjM2ZWJkYTQ0Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1BlcmZvcm1hbmNl
VGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVz
L3Z1ZWpzLWNsaS9kaXN0L3N0YXRpYy9jc3MvYXBwLjY3N2I0NTg0MmQ5ZjhiOTZlNWIyM2MxODk2
OTIzM2I3LmNzcworKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotYm9keSxidXR0b24saHRt
bHttYXJnaW46MDtwYWRkaW5nOjB9YnV0dG9ue2JvcmRlcjowO2JhY2tncm91bmQ6bm9uZTtmb250
LXNpemU6MTAwJTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTtmb250LWZhbWlseTppbmhlcml0O2Zv
bnQtd2VpZ2h0OmluaGVyaXQ7Y29sb3I6aW5oZXJpdDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTst
bW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1mb250LXNtb290aGlu
ZzphbnRpYWxpYXNlZH1ib2R5LGJ1dHRvbnstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2Nh
bGV9Ym9keXtmb250OjE0cHggSGVsdmV0aWNhIE5ldWUsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2Vy
aWY7bGluZS1oZWlnaHQ6MS40ZW07YmFja2dyb3VuZDojZjVmNWY1O2NvbG9yOiM0ZDRkNGQ7bWlu
LXdpZHRoOjIzMHB4O21heC13aWR0aDo1NTBweDttYXJnaW46MCBhdXRvOy13ZWJraXQtZm9udC1z
bW9vdGhpbmc6YW50aWFsaWFzZWQ7Zm9udC13ZWlnaHQ6MzAwfTpmb2N1c3tvdXRsaW5lOjB9Lmhp
ZGRlbntkaXNwbGF5Om5vbmV9LnRvZG9hcHB7YmFja2dyb3VuZDojZmZmO21hcmdpbjoxMzBweCAw
IDQwcHg7cG9zaXRpb246cmVsYXRpdmU7Ym94LXNoYWRvdzowIDJweCA0cHggMCByZ2JhKDAsMCww
LC4yKSwwIDI1cHggNTBweCAwIHJnYmEoMCwwLDAsLjEpfS50b2RvYXBwIGlucHV0Ojotd2Via2l0
LWlucHV0LXBsYWNlaG9sZGVye2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtd2VpZ2h0OjMwMDtjb2xv
cjojZTZlNmU2fS50b2RvYXBwIGlucHV0OjotbW96LXBsYWNlaG9sZGVye2ZvbnQtc3R5bGU6aXRh
bGljO2ZvbnQtd2VpZ2h0OjMwMDtjb2xvcjojZTZlNmU2fS50b2RvYXBwIGlucHV0OjppbnB1dC1w
bGFjZWhvbGRlcntmb250LXN0eWxlOml0YWxpYztmb250LXdlaWdodDozMDA7Y29sb3I6I2U2ZTZl
Nn0udG9kb2FwcCBoMXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTE1NXB4O3dpZHRoOjEwMCU7Zm9u
dC1zaXplOjEwMHB4O2ZvbnQtd2VpZ2h0OjEwMDt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjpyZ2Jh
KDE3NSw0Nyw0NywuMTUpOy13ZWJraXQtdGV4dC1yZW5kZXJpbmc6b3B0aW1pemVMZWdpYmlsaXR5
Oy1tb3otdGV4dC1yZW5kZXJpbmc6b3B0aW1pemVMZWdpYmlsaXR5O3RleHQtcmVuZGVyaW5nOm9w
dGltaXplTGVnaWJpbGl0eX0uZWRpdCwubmV3LXRvZG97cG9zaXRpb246cmVsYXRpdmU7bWFyZ2lu
OjA7d2lkdGg6MTAwJTtmb250LXNpemU6MjRweDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtd2Vp
Z2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6MS40ZW07Ym9yZGVyOjA7Y29sb3I6aW5oZXJpdDtwYWRk
aW5nOjZweDtib3JkZXI6MXB4IHNvbGlkICM5OTk7Ym94LXNoYWRvdzppbnNldCAwIC0xcHggNXB4
IDAgcmdiYSgwLDAsMCwuMik7Ym94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtZm9udC1zbW9v
dGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5uZXct
dG9kb3twYWRkaW5nOjE2cHggMTZweCAxNnB4IDYwcHg7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpy
Z2JhKDAsMCwwLC4wMDMpO2JveC1zaGFkb3c6aW5zZXQgMCAtMnB4IDFweCByZ2JhKDAsMCwwLC4w
Myl9Lm1haW57cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO2JvcmRlci10b3A6MXB4IHNvbGlk
ICNlNmU2ZTZ9bGFiZWxbZm9yPXRvZ2dsZS1hbGxde2Rpc3BsYXk6bm9uZX0udG9nZ2xlLWFsbHtw
b3NpdGlvbjphYnNvbHV0ZTt0b3A6LTU1cHg7bGVmdDotMTJweDt3aWR0aDo2MHB4O2hlaWdodDoz
NHB4O3RleHQtYWxpZ246Y2VudGVyO2JvcmRlcjpub25lfS50b2dnbGUtYWxsOmJlZm9yZXtjb250
ZW50OidcMjc2Ric7Zm9udC1zaXplOjIycHg7Y29sb3I6I2U2ZTZlNjtwYWRkaW5nOjEwcHggMjdw
eH0udG9nZ2xlLWFsbDpjaGVja2VkOmJlZm9yZXtjb2xvcjojNzM3MzczfS50b2RvLWxpc3R7bWFy
Z2luOjA7cGFkZGluZzowO2xpc3Qtc3R5bGU6bm9uZX0udG9kby1saXN0IGxpe3Bvc2l0aW9uOnJl
bGF0aXZlO2ZvbnQtc2l6ZToyNHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlZGVkZWR9LnRv
ZG8tbGlzdCBsaTpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206bm9uZX0udG9kby1saXN0IGxpLmVk
aXRpbmd7Ym9yZGVyLWJvdHRvbTpub25lO3BhZGRpbmc6MH0udG9kby1saXN0IGxpLmVkaXRpbmcg
LmVkaXR7ZGlzcGxheTpibG9jazt3aWR0aDo1MDZweDtwYWRkaW5nOjEycHggMTZweDttYXJnaW46
MCAwIDAgNDNweH0udG9kby1saXN0IGxpLmVkaXRpbmcgLnZpZXd7ZGlzcGxheTpub25lfS50b2Rv
LWxpc3QgbGkgLnRvZ2dsZXt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDo0MHB4O2hlaWdodDphdXRv
O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO21hcmdpbjphdXRvIDA7Ym9yZGVyOm5v
bmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5j
ZTpub25lfS50b2RvLWxpc3QgbGkgLnRvZ2dsZTphZnRlcntjb250ZW50OnVybCgnZGF0YTppbWFn
ZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdp
ZHRoPSI0MCIgaGVpZ2h0PSI0MCIgdmlld0JveD0iLTEwIC0xOCAxMDAgMTM1Ij48Y2lyY2xlIGN4
PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZWRlZGVkIiBzdHJva2Ut
d2lkdGg9IjMiLz48L3N2Zz4nKX0udG9kby1saXN0IGxpIC50b2dnbGU6Y2hlY2tlZDphZnRlcntj
b250ZW50OnVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0iaHR0cDovL3d3
dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgdmlld0JveD0iLTEwIC0x
OCAxMDAgMTM1Ij48Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0ibm9uZSIgc3Ry
b2tlPSIjYmRkYWQ1IiBzdHJva2Utd2lkdGg9IjMiLz48cGF0aCBmaWxsPSIjNWRjMmFmIiBkPSJN
NzIgMjVMNDIgNzEgMjcgNTZsLTQgNCAyMCAyMCAzNC01MnoiLz48L3N2Zz4nKX0udG9kby1saXN0
IGxpIGxhYmVse3dvcmQtYnJlYWs6YnJlYWstYWxsO3BhZGRpbmc6MTVweCA2MHB4IDE1cHggMTVw
eDttYXJnaW4tbGVmdDo0NXB4O2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6MS4yO3RyYW5zaXRp
b246Y29sb3IgLjRzfS50b2RvLWxpc3QgbGkuY29tcGxldGVkIGxhYmVse2NvbG9yOiNkOWQ5ZDk7
dGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaH0udG9kby1saXN0IGxpIC5kZXN0cm95e2Rpc3Bs
YXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDoxMHB4O2JvdHRvbTowO3dpZHRo
OjQwcHg7aGVpZ2h0OjQwcHg7bWFyZ2luOmF1dG8gMDtmb250LXNpemU6MzBweDtjb2xvcjojY2M5
YTlhO21hcmdpbi1ib3R0b206MTFweDt0cmFuc2l0aW9uOmNvbG9yIC4ycyBlYXNlLW91dH0udG9k
by1saXN0IGxpIC5kZXN0cm95OmhvdmVye2NvbG9yOiNhZjViNWV9LnRvZG8tbGlzdCBsaSAuZGVz
dHJveTphZnRlcntjb250ZW50OidcRDcnfS50b2RvLWxpc3QgbGk6aG92ZXIgLmRlc3Ryb3l7ZGlz
cGxheTpibG9ja30udG9kby1saXN0IGxpIC5lZGl0e2Rpc3BsYXk6bm9uZX0udG9kby1saXN0IGxp
LmVkaXRpbmc6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOi0xcHh9LmZvb3Rlcntjb2xvcjojNzc3
O3BhZGRpbmc6MTBweCAxNXB4O2hlaWdodDoyMHB4O3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci10
b3A6MXB4IHNvbGlkICNlNmU2ZTZ9LmZvb3RlcjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjph
YnNvbHV0ZTtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDtoZWlnaHQ6NTBweDtvdmVyZmxvdzpoaWRk
ZW47Ym94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMiksMCA4cHggMCAtM3B4ICNmNmY2
ZjYsMCA5cHggMXB4IC0zcHggcmdiYSgwLDAsMCwuMiksMCAxNnB4IDAgLTZweCAjZjZmNmY2LDAg
MTdweCAycHggLTZweCByZ2JhKDAsMCwwLC4yKX0udG9kby1jb3VudHtmbG9hdDpsZWZ0O3RleHQt
YWxpZ246bGVmdH0udG9kby1jb3VudCBzdHJvbmd7Zm9udC13ZWlnaHQ6MzAwfS5maWx0ZXJze21h
cmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6
MDtsZWZ0OjB9LmZpbHRlcnMgbGl7ZGlzcGxheTppbmxpbmV9LmZpbHRlcnMgbGkgYXtjb2xvcjpp
bmhlcml0O21hcmdpbjozcHg7cGFkZGluZzozcHggN3B4O3RleHQtZGVjb3JhdGlvbjpub25lO2Jv
cmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czozcHh9LmZpbHRlcnMgbGkg
YTpob3Zlcntib3JkZXItY29sb3I6cmdiYSgxNzUsNDcsNDcsLjEpfS5maWx0ZXJzIGxpIGEuc2Vs
ZWN0ZWR7Ym9yZGVyLWNvbG9yOnJnYmEoMTc1LDQ3LDQ3LC4yKX0uY2xlYXItY29tcGxldGVkLGh0
bWwgLmNsZWFyLWNvbXBsZXRlZDphY3RpdmV7ZmxvYXQ6cmlnaHQ7cG9zaXRpb246cmVsYXRpdmU7
bGluZS1oZWlnaHQ6MjBweDt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcn0uY2xl
YXItY29tcGxldGVkOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LmluZm97bWFyZ2lu
OjY1cHggYXV0byAwO2NvbG9yOiNiZmJmYmY7Zm9udC1zaXplOjEwcHg7dGV4dC1zaGFkb3c6MCAx
cHggMCBoc2xhKDAsMCUsMTAwJSwuNSk7dGV4dC1hbGlnbjpjZW50ZXJ9LmluZm8gcHtsaW5lLWhl
aWdodDoxfS5pbmZvIGF7Y29sb3I6aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246bm9uZTtmb250LXdl
aWdodDo0MDB9LmluZm8gYTpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfUBtZWRpYSBz
Y3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCl7LnRvZG8tbGlzdCBs
aSAudG9nZ2xlLC50b2dnbGUtYWxse2JhY2tncm91bmQ6bm9uZX0udG9kby1saXN0IGxpIC50b2dn
bGV7aGVpZ2h0OjQwcHh9LnRvZ2dsZS1hbGx7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7LXdlYmtp
dC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfX1A
bWVkaWEgKG1heC13aWR0aDo0MzBweCl7LmZvb3RlcntoZWlnaHQ6NTBweH0uZmlsdGVyc3tib3R0
b206MTBweH19Ci0vKiMgc291cmNlTWFwcGluZ1VSTD1hcHAuNjc3YjQ1ODQyZDlmOGI5NmU1YjIz
YzE4OTY5MjMzYjcuY3NzLm1hcCovClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNo
aXRlY3R1cmUtZXhhbXBsZXMvdnVlanMtY2xpL2Rpc3Qvc3RhdGljL2Nzcy9hcHAuZGNhNDI5MmFi
MzIyYzFlN2Q1MTUzNGU3Mjk4MTAzMmUuY3NzIGIvUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRl
ci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVlanMtY2xpL2Rpc3Qv
c3RhdGljL2Nzcy9hcHAuZGNhNDI5MmFiMzIyYzFlN2Q1MTUzNGU3Mjk4MTAzMmUuY3NzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmFlMTI1MDY0NDBiNDNmZjZiOTY0Mzk5ZTY3MWUxNGNmN2ZkNjVkYWMKLS0tIC9kZXYv
bnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jlc291cmNlcy90b2RvbXZj
L2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvZGlzdC9zdGF0aWMvY3NzL2FwcC5kY2E0
MjkyYWIzMjJjMWU3ZDUxNTM0ZTcyOTgxMDMyZS5jc3MKQEAgLTAsMCArMSBAQAorYm9keSxidXR0
b24saHRtbHttYXJnaW46MDtwYWRkaW5nOjB9YnV0dG9ue2JvcmRlcjowO2JhY2tncm91bmQ6bm9u
ZTtmb250LXNpemU6MTAwJTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTtmb250LWZhbWlseTppbmhl
cml0O2ZvbnQtd2VpZ2h0OmluaGVyaXQ7Y29sb3I6aW5oZXJpdDstd2Via2l0LWFwcGVhcmFuY2U6
bm9uZTthcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZH1i
b2R5LGJ1dHRvbnstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9Ym9keXtmb250OjE0
cHggSGVsdmV0aWNhIE5ldWUsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6
MS40ZW07YmFja2dyb3VuZDojZjVmNWY1O2NvbG9yOiM0ZDRkNGQ7bWluLXdpZHRoOjIzMHB4O21h
eC13aWR0aDo1NTBweDttYXJnaW46MCBhdXRvOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFs
aWFzZWQ7Zm9udC13ZWlnaHQ6MzAwfTpmb2N1c3tvdXRsaW5lOjB9LmhpZGRlbntkaXNwbGF5Om5v
bmV9LnRvZG9hcHB7YmFja2dyb3VuZDojZmZmO21hcmdpbjoxMzBweCAwIDQwcHg7cG9zaXRpb246
cmVsYXRpdmU7Ym94LXNoYWRvdzowIDJweCA0cHggMCByZ2JhKDAsMCwwLC4yKSwwIDI1cHggNTBw
eCAwIHJnYmEoMCwwLDAsLjEpfS50b2RvYXBwIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9s
ZGVye2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtd2VpZ2h0OjMwMDtjb2xvcjojZTZlNmU2fS50b2Rv
YXBwIGlucHV0OjotbW96LXBsYWNlaG9sZGVye2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtd2VpZ2h0
OjMwMDtjb2xvcjojZTZlNmU2fS50b2RvYXBwIGlucHV0OjppbnB1dC1wbGFjZWhvbGRlcntmb250
LXN0eWxlOml0YWxpYztmb250LXdlaWdodDozMDA7Y29sb3I6I2U2ZTZlNn0udG9kb2FwcCBoMXtw
b3NpdGlvbjphYnNvbHV0ZTt0b3A6LTE1NXB4O3dpZHRoOjEwMCU7Zm9udC1zaXplOjEwMHB4O2Zv
bnQtd2VpZ2h0OjEwMDt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjpyZ2JhKDE3NSw0Nyw0NywuMTUp
Oy13ZWJraXQtdGV4dC1yZW5kZXJpbmc6b3B0aW1pemVMZWdpYmlsaXR5Oy1tb3otdGV4dC1yZW5k
ZXJpbmc6b3B0aW1pemVMZWdpYmlsaXR5O3RleHQtcmVuZGVyaW5nOm9wdGltaXplTGVnaWJpbGl0
eX0uZWRpdCwubmV3LXRvZG97cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luOjA7d2lkdGg6MTAwJTtm
b250LXNpemU6MjRweDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGlu
ZS1oZWlnaHQ6MS40ZW07Ym9yZGVyOjA7Y29sb3I6aW5oZXJpdDtwYWRkaW5nOjZweDtib3JkZXI6
MXB4IHNvbGlkICM5OTk7Ym94LXNoYWRvdzppbnNldCAwIC0xcHggNXB4IDAgcmdiYSgwLDAsMCwu
Mik7Ym94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFz
ZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5uZXctdG9kb3twYWRkaW5nOjE2
cHggMTZweCAxNnB4IDYwcHg7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wMDMp
O2JveC1zaGFkb3c6aW5zZXQgMCAtMnB4IDFweCByZ2JhKDAsMCwwLC4wMyl9Lm1haW57cG9zaXRp
b246cmVsYXRpdmU7ei1pbmRleDoyO2JvcmRlci10b3A6MXB4IHNvbGlkICNlNmU2ZTZ9bGFiZWxb
Zm9yPXRvZ2dsZS1hbGxde2Rpc3BsYXk6bm9uZX0udG9nZ2xlLWFsbHtwb3NpdGlvbjphYnNvbHV0
ZTt0b3A6LTU1cHg7bGVmdDotMTJweDt3aWR0aDo2MHB4O2hlaWdodDozNHB4O3RleHQtYWxpZ246
Y2VudGVyO2JvcmRlcjpub25lfS50b2dnbGUtYWxsOmJlZm9yZXtjb250ZW50OiJcMjc2RiI7Zm9u
dC1zaXplOjIycHg7Y29sb3I6I2U2ZTZlNjtwYWRkaW5nOjEwcHggMjdweH0udG9nZ2xlLWFsbDpj
aGVja2VkOmJlZm9yZXtjb2xvcjojNzM3MzczfS50b2RvLWxpc3R7bWFyZ2luOjA7cGFkZGluZzow
O2xpc3Qtc3R5bGU6bm9uZX0udG9kby1saXN0IGxpe3Bvc2l0aW9uOnJlbGF0aXZlO2ZvbnQtc2l6
ZToyNHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlZGVkZWR9LnRvZG8tbGlzdCBsaTpsYXN0
LWNoaWxke2JvcmRlci1ib3R0b206bm9uZX0udG9kby1saXN0IGxpLmVkaXRpbmd7Ym9yZGVyLWJv
dHRvbTpub25lO3BhZGRpbmc6MH0udG9kby1saXN0IGxpLmVkaXRpbmcgLmVkaXR7ZGlzcGxheTpi
bG9jazt3aWR0aDo1MDZweDtwYWRkaW5nOjEycHggMTZweDttYXJnaW46MCAwIDAgNDNweH0udG9k
by1saXN0IGxpLmVkaXRpbmcgLnZpZXd7ZGlzcGxheTpub25lfS50b2RvLWxpc3QgbGkgLnRvZ2ds
ZXt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDo0MHB4O2hlaWdodDphdXRvO3Bvc2l0aW9uOmFic29s
dXRlO3RvcDowO2JvdHRvbTowO21hcmdpbjphdXRvIDA7Ym9yZGVyOm5vbmU7LXdlYmtpdC1hcHBl
YXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfS50b2RvLWxpc3QgbGkgLnRvZ2dsZTphZnRlcntj
b250ZW50OnVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0iaHR0cDovL3d3
dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgdmlld0JveD0iLTEwIC0x
OCAxMDAgMTM1Ij48Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSI1MCIgZmlsbD0ibm9uZSIgc3Ry
b2tlPSIjZWRlZGVkIiBzdHJva2Utd2lkdGg9IjMiLz48L3N2Zz4nKX0udG9kby1saXN0IGxpIC50
b2dnbGU6Y2hlY2tlZDphZnRlcntjb250ZW50OnVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0Zjgs
PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MCIgaGVpZ2h0
PSI0MCIgdmlld0JveD0iLTEwIC0xOCAxMDAgMTM1Ij48Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiBy
PSI1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjYmRkYWQ1IiBzdHJva2Utd2lkdGg9IjMiLz48cGF0
aCBmaWxsPSIjNWRjMmFmIiBkPSJNNzIgMjVMNDIgNzEgMjcgNTZsLTQgNCAyMCAyMCAzNC01Mnoi
Lz48L3N2Zz4nKX0udG9kby1saXN0IGxpIGxhYmVse3dvcmQtYnJlYWs6YnJlYWstYWxsO3BhZGRp
bmc6MTVweCA2MHB4IDE1cHggMTVweDttYXJnaW4tbGVmdDo0NXB4O2Rpc3BsYXk6YmxvY2s7bGlu
ZS1oZWlnaHQ6MS4yO3RyYW5zaXRpb246Y29sb3IgLjRzfS50b2RvLWxpc3QgbGkuY29tcGxldGVk
IGxhYmVse2NvbG9yOiNkOWQ5ZDk7dGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaH0udG9kby1s
aXN0IGxpIC5kZXN0cm95e2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdo
dDoxMHB4O2JvdHRvbTowO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7bWFyZ2luOmF1dG8gMDtmb250
LXNpemU6MzBweDtjb2xvcjojY2M5YTlhO21hcmdpbi1ib3R0b206MTFweDt0cmFuc2l0aW9uOmNv
bG9yIC4ycyBlYXNlLW91dH0udG9kby1saXN0IGxpIC5kZXN0cm95OmhvdmVye2NvbG9yOiNhZjVi
NWV9LnRvZG8tbGlzdCBsaSAuZGVzdHJveTphZnRlcntjb250ZW50OiJcRDcifS50b2RvLWxpc3Qg
bGk6aG92ZXIgLmRlc3Ryb3l7ZGlzcGxheTpibG9ja30udG9kby1saXN0IGxpIC5lZGl0e2Rpc3Bs
YXk6bm9uZX0udG9kby1saXN0IGxpLmVkaXRpbmc6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOi0x
cHh9LmZvb3Rlcntjb2xvcjojNzc3O3BhZGRpbmc6MTBweCAxNXB4O2hlaWdodDoyMHB4O3RleHQt
YWxpZ246Y2VudGVyO2JvcmRlci10b3A6MXB4IHNvbGlkICNlNmU2ZTZ9LmZvb3RlcjpiZWZvcmV7
Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDtoZWln
aHQ6NTBweDtvdmVyZmxvdzpoaWRkZW47Ym94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwu
MiksMCA4cHggMCAtM3B4ICNmNmY2ZjYsMCA5cHggMXB4IC0zcHggcmdiYSgwLDAsMCwuMiksMCAx
NnB4IDAgLTZweCAjZjZmNmY2LDAgMTdweCAycHggLTZweCByZ2JhKDAsMCwwLC4yKX0udG9kby1j
b3VudHtmbG9hdDpsZWZ0O3RleHQtYWxpZ246bGVmdH0udG9kby1jb3VudCBzdHJvbmd7Zm9udC13
ZWlnaHQ6MzAwfS5maWx0ZXJze21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmU7cG9z
aXRpb246YWJzb2x1dGU7cmlnaHQ6MDtsZWZ0OjB9LmZpbHRlcnMgbGl7ZGlzcGxheTppbmxpbmV9
LmZpbHRlcnMgbGkgYXtjb2xvcjppbmhlcml0O21hcmdpbjozcHg7cGFkZGluZzozcHggN3B4O3Rl
eHQtZGVjb3JhdGlvbjpub25lO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJh
ZGl1czozcHh9LmZpbHRlcnMgbGkgYTpob3Zlcntib3JkZXItY29sb3I6cmdiYSgxNzUsNDcsNDcs
LjEpfS5maWx0ZXJzIGxpIGEuc2VsZWN0ZWR7Ym9yZGVyLWNvbG9yOnJnYmEoMTc1LDQ3LDQ3LC4y
KX0uY2xlYXItY29tcGxldGVkLGh0bWwgLmNsZWFyLWNvbXBsZXRlZDphY3RpdmV7ZmxvYXQ6cmln
aHQ7cG9zaXRpb246cmVsYXRpdmU7bGluZS1oZWlnaHQ6MjBweDt0ZXh0LWRlY29yYXRpb246bm9u
ZTtjdXJzb3I6cG9pbnRlcn0uY2xlYXItY29tcGxldGVkOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1
bmRlcmxpbmV9LmluZm97bWFyZ2luOjY1cHggYXV0byAwO2NvbG9yOiNiZmJmYmY7Zm9udC1zaXpl
OjEwcHg7dGV4dC1zaGFkb3c6MCAxcHggMCBoc2xhKDAsMCUsMTAwJSwuNSk7dGV4dC1hbGlnbjpj
ZW50ZXJ9LmluZm8gcHtsaW5lLWhlaWdodDoxfS5pbmZvIGF7Y29sb3I6aW5oZXJpdDt0ZXh0LWRl
Y29yYXRpb246bm9uZTtmb250LXdlaWdodDo0MDB9LmluZm8gYTpob3Zlcnt0ZXh0LWRlY29yYXRp
b246dW5kZXJsaW5lfUBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwt
cmF0aW86MCl7LnRvZG8tbGlzdCBsaSAudG9nZ2xlLC50b2dnbGUtYWxse2JhY2tncm91bmQ6bm9u
ZX0udG9kby1saXN0IGxpIC50b2dnbGV7aGVpZ2h0OjQwcHh9LnRvZ2dsZS1hbGx7LXdlYmtpdC10
cmFuc2Zvcm06cm90YXRlKDkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKTstd2Via2l0LWFw
cGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9fUBtZWRpYSAobWF4LXdpZHRoOjQzMHB4KXsu
Zm9vdGVye2hlaWdodDo1MHB4fS5maWx0ZXJze2JvdHRvbToxMHB4fX0KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jl
c291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvZGlzdC9zdGF0
aWMvY3NzL2FwcC5kY2E0MjkyYWIzMjJjMWU3ZDUxNTM0ZTcyOTgxMDMyZS5jc3MubWFwIGIvUGVy
Zm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUt
ZXhhbXBsZXMvdnVlanMtY2xpL2Rpc3Qvc3RhdGljL2Nzcy9hcHAuZGNhNDI5MmFiMzIyYzFlN2Q1
MTUzNGU3Mjk4MTAzMmUuY3NzLm1hcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZjM4ZjczM2Q5ZGIyMTY5NDNhNWYw
ZTliNjIxYjJkOWM4YThkZWI3Ci0tLSAvZGV2L251bGwKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9T
cGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVlanMt
Y2xpL2Rpc3Qvc3RhdGljL2Nzcy9hcHAuZGNhNDI5MmFiMzIyYzFlN2Q1MTUzNGU3Mjk4MTAzMmUu
Y3NzLm1hcApAQCAtMCwwICsxIEBACit7InZlcnNpb24iOjMsInNvdXJjZXMiOlsid2VicGFjazov
Ly8uL3NyYy9jb21wb25lbnRzL3RvZG8uY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1B
LGlCQUhJLFNBQ0EsU0FBVyxDQWdCZCxPQVhHLFNBQ0EsZ0JBQ0EsZUFDQSx3QkFDQSxvQkFDQSxv
QkFDQSxjQUNBLHdCQUNBLGdCQUNBLGtDQUFvQyxDQUd4QyxZQUZJLGlDQUFtQyxDQWF0QyxLQVZH
LG9EQUNBLGtCQUNBLG1CQUNBLGNBQ0EsZ0JBQ0EsZ0JBQ0EsY0FDQSxtQ0FFQSxlQUFpQixDQUVy
QixPQUNJLFNBQVcsQ0FFZixRQUNJLFlBQWMsQ0FFbEIsU0FDSSxnQkFDQSxvQkFDQSxrQkFDQSxr
RUFDNkMsQ0FFakQsMENBQ0ksa0JBQ0EsZ0JBQ0EsYUFBZSxDQUVuQixpQ0FDSSxrQkFDQSxnQkFD
QSxhQUFlLENBRW5CLGtDQUNJLGtCQUNBLGdCQUNBLGFBQWUsQ0FFbkIsWUFDSSxrQkFDQSxXQUNB
LFdBQ0EsZ0JBQ0EsZ0JBQ0Esa0JBQ0EsMEJBQ0EsMENBQ0EsdUNBQ0EsaUNBQW1DLENBRXZDLGdC
QUVJLGtCQUNBLFNBQ0EsV0FDQSxlQUNBLG9CQUNBLG9CQUNBLGtCQUNBLFNBQ0EsY0FDQSxZQUNB
LHNCQUNBLDZDQUNBLHNCQUNBLG1DQUNBLGlDQUFtQyxDQUV2QyxVQUNJLDRCQUNBLFlBQ0EsNEJB
Q0EsMkNBQThDLENBRWxELE1BQ0ksa0JBQ0EsVUFDQSw0QkFBOEIsQ0FFbEMsc0JBQ0ksWUFBYyxD
QUVsQixZQUNJLGtCQUNBLFVBQ0EsV0FDQSxXQUNBLFlBQ0Esa0JBQ0EsV0FBYSxDQUVqQixtQkFD
SSxnQkFDQSxlQUNBLGNBQ0EsaUJBQTZCLENBRWpDLDJCQUNJLGFBQWUsQ0FFbkIsV0FDSSxTQUNB
LFVBQ0EsZUFBaUIsQ0FFckIsY0FDSSxrQkFDQSxlQUNBLCtCQUFpQyxDQUVyQyx5QkFDSSxrQkFB
b0IsQ0FFeEIsc0JBQ0ksbUJBQ0EsU0FBVyxDQUVmLDRCQUNJLGNBQ0EsWUFDQSxrQkFDQSxpQkFB
bUIsQ0FFdkIsNEJBQ0ksWUFBYyxDQUVsQixzQkFDSSxrQkFDQSxXQUVBLFlBQ0Esa0JBQ0EsTUFD
QSxTQUNBLGNBQ0EsWUFDQSx3QkFDQSxlQUFpQixDQUVyQiw0QkFDSSxvTkFBc04sQ0FFMU4sb0NB
Q0ksbVJBQXFSLENBRXpSLG9CQUNJLHFCQUNBLDRCQUNBLGlCQUNBLGNBQ0EsZ0JBQ0Esb0JBQXVC
LENBRTNCLDhCQUNJLGNBQ0EsNEJBQThCLENBRWxDLHVCQUNJLGFBQ0Esa0JBQ0EsTUFDQSxXQUNB
LFNBQ0EsV0FDQSxZQUNBLGNBQ0EsZUFDQSxjQUNBLG1CQUNBLDZCQUFnQyxDQUVwQyw2QkFDSSxh
QUFlLENBRW5CLDZCQUNJLGFBQWEsQ0FFakIsNkJBQ0ksYUFBZSxDQUVuQixvQkFDSSxZQUFjLENB
RWxCLGlDQUNJLGtCQUFvQixDQUV4QixRQUNJLFdBQ0Esa0JBQ0EsWUFDQSxrQkFDQSw0QkFBOEIs
Q0FFbEMsZUFDSSxXQUNBLGtCQUNBLFFBQ0EsU0FDQSxPQUNBLFlBQ0EsZ0JBQ0EsMklBSStDLENB
RW5ELFlBQ0ksV0FDQSxlQUFpQixDQUVyQixtQkFDSSxlQUFpQixDQUVyQixTQUNJLFNBQ0EsVUFD
QSxnQkFDQSxrQkFDQSxRQUNBLE1BQVEsQ0FFWixZQUNJLGNBQWdCLENBRXBCLGNBQ0ksY0FDQSxX
QUNBLGdCQUNBLHFCQUNBLDZCQUNBLGlCQUFtQixDQUV2QixvQkFDSSwrQkFBcUMsQ0FFekMsdUJB
Q0ksK0JBQXFDLENBRXpDLDhDQUVJLFlBQ0Esa0JBQ0EsaUJBQ0EscUJBQ0EsY0FBZ0IsQ0FFcEIs
dUJBQ0kseUJBQTJCLENBRS9CLE1BQ0ksbUJBQ0EsY0FDQSxlQUNBLHVDQUNBLGlCQUFtQixDQUV2
QixRQUNJLGFBQWUsQ0FFbkIsUUFDSSxjQUNBLHFCQUNBLGVBQWlCLENBRXJCLGNBQ0kseUJBQTJC
LENBTy9CLHFEQUNBLGtDQUVRLGVBQWlCLENBRXpCLHNCQUNRLFdBQWEsQ0FFckIsWUFDUSxnQ0FD
QSx3QkFDQSx3QkFDQSxlQUFpQixDQUN4QixDQUVELHlCQUNBLFFBQ1EsV0FBYSxDQUVyQixTQUNR
LFdBQWEsQ0FDcEIiLCJmaWxlIjoic3RhdGljL2Nzcy9hcHAuZGNhNDI5MmFiMzIyYzFlN2Q1MTUz
NGU3Mjk4MTAzMmUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXG5odG1sLFxuYm9keSB7XG4gICAg
bWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5idXR0b24ge1xuICAgIG1hcmdpbjogMDtc
biAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xu
ICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAg
Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29s
b3I6IGluaGVyaXQ7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFu
Y2U6IG5vbmU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAg
LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cbmJvZHkge1xuICAgIGZvbnQ6
IDE0cHggJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAg
ICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICBjb2xv
cjogIzRkNGQ0ZDtcbiAgICBtaW4td2lkdGg6IDIzMHB4O1xuICAgIG1heC13aWR0aDogNTUwcHg7
XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFs
aWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBmb250
LXdlaWdodDogMzAwO1xufVxuOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuLmhpZGRlbiB7
XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi50b2RvYXBwIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZm
O1xuICAgIG1hcmdpbjogMTMwcHggMCA0MHB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xu
ICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4yKSxcbiAgICAgICAg
ICAgICAgICAwIDI1cHggNTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi50b2RvYXBwIGlu
cHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7
XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogI2U2ZTZlNjtcbn1cbi50b2RvYXBw
IGlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAg
Zm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogI2U2ZTZlNjtcbn1cbi50b2RvYXBwIGlucHV0
OjppbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQt
d2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6ICNlNmU2ZTY7XG59XG4udG9kb2FwcCBoMSB7XG4gICAg
cG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTE1NXB4O1xuICAgIHdpZHRoOiAxMDAlO1xu
ICAgIGZvbnQtc2l6ZTogMTAwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICB0ZXh0LWFs
aWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHJnYmEoMTc1LCA0NywgNDcsIDAuMTUpO1xuICAgIC13
ZWJraXQtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgICAtbW96LXRleHQt
cmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGlt
aXplTGVnaWJpbGl0eTtcbn1cbi5uZXctdG9kbyxcbi5lZGl0IHtcbiAgICBwb3NpdGlvbjogcmVs
YXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTog
MjRweDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogaW5oZXJp
dDtcbiAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiBp
bmhlcml0O1xuICAgIHBhZGRpbmc6IDZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xu
ICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG4g
ICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBh
bnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxu
Lm5ldy10b2RvIHtcbiAgICBwYWRkaW5nOiAxNnB4IDE2cHggMTZweCA2MHB4O1xuICAgIGJvcmRl
cjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDAzKTtcbiAgICBib3gt
c2hhZG93OiBpbnNldCAwIC0ycHggMXB4IHJnYmEoMCwwLDAsMC4wMyk7XG59XG4ubWFpbiB7XG4g
ICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgYm9yZGVyLXRvcDog
MXB4IHNvbGlkICNlNmU2ZTY7XG59XG5sYWJlbFtmb3I9J3RvZ2dsZS1hbGwnXSB7XG4gICAgZGlz
cGxheTogbm9uZTtcbn1cbi50b2dnbGUtYWxsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4g
ICAgdG9wOiAtNTVweDtcbiAgICBsZWZ0OiAtMTJweDtcbiAgICB3aWR0aDogNjBweDtcbiAgICBo
ZWlnaHQ6IDM0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogbm9uZTsg
LyogTW9iaWxlIFNhZmFyaSAqL1xufVxuLnRvZ2dsZS1hbGw6YmVmb3JlIHtcbiAgICBjb250ZW50
OiAn4p2vJztcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgY29sb3I6ICNlNmU2ZTY7XG4gICAg
cGFkZGluZzogMTBweCAyN3B4IDEwcHggMjdweDtcbn1cbi50b2dnbGUtYWxsOmNoZWNrZWQ6YmVm
b3JlIHtcbiAgICBjb2xvcjogIzczNzM3Mztcbn1cbi50b2RvLWxpc3Qge1xuICAgIG1hcmdpbjog
MDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4udG9kby1saXN0
IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAg
IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWRlZGVkO1xufVxuLnRvZG8tbGlzdCBsaTpsYXN0
LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuLnRvZG8tbGlzdCBsaS5lZGl0
aW5nIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG59XG4udG9k
by1saXN0IGxpLmVkaXRpbmcgLmVkaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRo
OiA1MDZweDtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgbWFyZ2luOiAwIDAgMCA0M3B4
O1xufVxuLnRvZG8tbGlzdCBsaS5lZGl0aW5nIC52aWV3IHtcbiAgICBkaXNwbGF5OiBub25lO1xu
fVxuLnRvZG8tbGlzdCBsaSAudG9nZ2xlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAg
d2lkdGg6IDQwcHg7XG4gICAgLyogYXV0bywgc2luY2Ugbm9uLVdlYktpdCBicm93c2VycyBkb2Vz
bid0IHN1cHBvcnQgaW5wdXQgc3R5bGluZyAqL1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3Np
dGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46
IGF1dG8gMDtcbiAgICBib3JkZXI6IG5vbmU7IC8qIE1vYmlsZSBTYWZhcmkgKi9cbiAgICAtd2Vi
a2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbn1cbi50b2RvLWxp
c3QgbGkgLnRvZ2dsZTphZnRlciB7XG4gICAgY29udGVudDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4
bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1c
IjQwXCIgaGVpZ2h0PVwiNDBcIiB2aWV3Qm94PVwiLTEwIC0xOCAxMDAgMTM1XCI+PGNpcmNsZSBj
eD1cIjUwXCIgY3k9XCI1MFwiIHI9XCI1MFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI2VkZWRl
ZFwiIHN0cm9rZS13aWR0aD1cIjNcIi8+PC9zdmc+Jyk7XG59XG4udG9kby1saXN0IGxpIC50b2dn
bGU6Y2hlY2tlZDphZnRlciB7XG4gICAgY29udGVudDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7
dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjQw
XCIgaGVpZ2h0PVwiNDBcIiB2aWV3Qm94PVwiLTEwIC0xOCAxMDAgMTM1XCI+PGNpcmNsZSBjeD1c
IjUwXCIgY3k9XCI1MFwiIHI9XCI1MFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI2JkZGFkNVwi
IHN0cm9rZS13aWR0aD1cIjNcIi8+PHBhdGggZmlsbD1cIiM1ZGMyYWZcIiBkPVwiTTcyIDI1TDQy
IDcxIDI3IDU2bC00IDQgMjAgMjAgMzQtNTJ6XCIvPjwvc3ZnPicpO1xufVxuLnRvZG8tbGlzdCBs
aSBsYWJlbCB7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIHBhZGRpbmc6IDE1cHgg
NjBweCAxNXB4IDE1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XG4gICAgZGlzcGxheTogYmxv
Y2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjRzO1xu
fVxuLnRvZG8tbGlzdCBsaS5jb21wbGV0ZWQgbGFiZWwge1xuICAgIGNvbG9yOiAjZDlkOWQ5O1xu
ICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuLnRvZG8tbGlzdCBsaSAuZGVz
dHJveSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAg
dG9wOiAwO1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogNDBw
eDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgZm9udC1zaXpl
OiAzMHB4O1xuICAgIGNvbG9yOiAjY2M5YTlhO1xuICAgIG1hcmdpbi1ib3R0b206IDExcHg7XG4g
ICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLW91dDtcbn1cbi50b2RvLWxpc3QgbGkgLmRl
c3Ryb3k6aG92ZXIge1xuICAgIGNvbG9yOiAjYWY1YjVlO1xufVxuLnRvZG8tbGlzdCBsaSAuZGVz
dHJveTphZnRlciB7XG4gICAgY29udGVudDogJ8OXJztcbn1cbi50b2RvLWxpc3QgbGk6aG92ZXIg
LmRlc3Ryb3kge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLnRvZG8tbGlzdCBsaSAuZWRpdCB7
XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi50b2RvLWxpc3QgbGkuZWRpdGluZzpsYXN0LWNoaWxk
IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xufVxuLmZvb3RlciB7XG4gICAgY29sb3I6ICM3
Nzc7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICB0ZXh0
LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNmU2ZTY7XG59XG4u
Zm9vdGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRl
O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdo
dDogNTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDFw
eCByZ2JhKDAsIDAsIDAsIDAuMiksXG4gICAgICAgICAgICAgICAgMCA4cHggMCAtM3B4ICNmNmY2
ZjYsXG4gICAgICAgICAgICAgICAgMCA5cHggMXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLFxu
ICAgICAgICAgICAgICAgIDAgMTZweCAwIC02cHggI2Y2ZjZmNixcbiAgICAgICAgICAgICAgICAw
IDE3cHggMnB4IC02cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLnRvZG8tY291bnQge1xuICAg
IGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG4udG9kby1jb3VudCBzdHJv
bmcge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG4uZmlsdGVycyB7XG4gICAgbWFyZ2luOiAw
O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwb3NpdGlvbjog
YWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbn1cbi5maWx0ZXJzIGxpIHtc
biAgICBkaXNwbGF5OiBpbmxpbmU7XG59XG4uZmlsdGVycyBsaSBhIHtcbiAgICBjb2xvcjogaW5o
ZXJpdDtcbiAgICBtYXJnaW46IDNweDtcbiAgICBwYWRkaW5nOiAzcHggN3B4O1xuICAgIHRleHQt
ZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAg
ICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG4uZmlsdGVycyBsaSBhOmhvdmVyIHtcbiAgICBib3Jk
ZXItY29sb3I6IHJnYmEoMTc1LCA0NywgNDcsIDAuMSk7XG59XG4uZmlsdGVycyBsaSBhLnNlbGVj
dGVkIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTc1LCA0NywgNDcsIDAuMik7XG59XG4uY2xl
YXItY29tcGxldGVkLFxuaHRtbCAuY2xlYXItY29tcGxldGVkOmFjdGl2ZSB7XG4gICAgZmxvYXQ6
IHJpZ2h0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMjBweDtc
biAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmNs
ZWFyLWNvbXBsZXRlZDpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59
XG4uaW5mbyB7XG4gICAgbWFyZ2luOiA2NXB4IGF1dG8gMDtcbiAgICBjb2xvcjogI2JmYmZiZjtc
biAgICBmb250LXNpemU6IDEwcHg7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUs
IDI1NSwgMjU1LCAwLjUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5pbmZvIHAge1xu
ICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxuLmluZm8gYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4g
ICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uaW5m
byBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLypcbiAg
ICBIYWNrIHRvIHJlbW92ZSBiYWNrZ3JvdW5kIGZyb20gTW9iaWxlIFNhZmFyaS5cbiAgICBDYW4n
dCB1c2UgaXQgZ2xvYmFsbHkgc2luY2UgaXQgZGVzdHJveXMgY2hlY2tib3hlcyBpbiBGaXJlZm94
XG4qL1xuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzow
KSB7XG4udG9nZ2xlLWFsbCxcbiAgICAudG9kby1saXN0IGxpIC50b2dnbGUge1xuICAgICAgICBi
YWNrZ3JvdW5kOiBub25lO1xufVxuLnRvZG8tbGlzdCBsaSAudG9nZ2xlIHtcbiAgICAgICAgaGVp
Z2h0OiA0MHB4O1xufVxuLnRvZ2dsZS1hbGwge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTog
cm90YXRlKDkwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAg
ICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG59
XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDMwcHgpIHtcbi5mb290ZXIge1xuICAgICAgICBoZWln
aHQ6IDUwcHg7XG59XG4uZmlsdGVycyB7XG4gICAgICAgIGJvdHRvbTogMTBweDtcbn1cbn1cblxu
XG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9jb21wb25lbnRzL3RvZG8uY3NzIl0s
InNvdXJjZVJvb3QiOiIifQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L1BlcmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0
dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9kaXN0L3N0YXRpYy9qcy9hcHAuYjBlODM1ODc0YmM4OTQ5
NjcwZDEuanMgYi9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jlc291cmNlcy90b2RvbXZj
L2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvZGlzdC9zdGF0aWMvanMvYXBwLmIwZTgz
NTg3NGJjODk0OTY3MGQxLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYzVhNzM1
MWYwMTk2Zjg5YWVkMWFiMmRmNWE3ZGU2OTg2YzYxOWY0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIvcmVz
b3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9kaXN0L3N0YXRp
Yy9qcy9hcHAuYjBlODM1ODc0YmM4OTQ5NjcwZDEuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyICsw
LDAgQEAKLXdlYnBhY2tKc29ucChbMSwwXSxbZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0Ijtm
dW5jdGlvbiBuKGUpe3JldHVybiBlJiZlLl9fZXNNb2R1bGU/ZTp7ZGVmYXVsdDplfX12YXIgaT1v
KDEpLGw9bihpKSxzPW8oNiksYT1uKHMpLGM9byg0KSxyPW4oYyk7d2luZG93LlZ1ZUFwcD1uZXcg
bC5kZWZhdWx0KHtlbDoiI2FwcCIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKGEuZGVmYXVs
dCl9fSk7dmFyIGQ9bmV3IHIuZGVmYXVsdC5Sb3V0ZXI7WyJhbGwiLCJhY3RpdmUiLCJjb21wbGV0
ZWQiXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2Qub24oZSxmdW5jdGlvbigpe3dpbmRvdy5WdWVBcHAu
ZmlsdGVyPWV9KX0pLGQuY29uZmlndXJlKHtub3Rmb3VuZDpmdW5jdGlvbigpe3dpbmRvdy5sb2Nh
dGlvbi5oYXNoPSIiLHdpbmRvdy5WdWVBcHAuZmlsdGVyPSJhbGwifX0pLGQuaW5pdCgpfSwsZnVu
Y3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUpe3JldHVybiBlJiZlLl9fZXNN
b2R1bGU/ZTp7ZGVmYXVsdDplfX1PYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIs
e3ZhbHVlOiEwfSk7dmFyIGk9byg3KSxsPW4oaSk7dC5kZWZhdWx0PXtuYW1lOiJhcHAiLGNvbXBv
bmVudHM6e1RvZG9zOmwuZGVmYXVsdH19fSxmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO2Z1
bmN0aW9uIG4oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fU9iamVjdC5k
ZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgaT1vKDEpLGw9bihp
KTt0LmRlZmF1bHQ9e2RhdGE6ZnVuY3Rpb24oKXtyZXR1cm57dG9kb3M6W10sbmV3VG9kbzoiIixm
aWx0ZXI6ImFsbCIsYWxsRG9uZTohMSxlZGl0aW5nOm51bGx9fSxmaWx0ZXJzOntwbHVyYWxpemU6
ZnVuY3Rpb24oZSl7cmV0dXJuIDE9PT1lPyJpdGVtIjoiaXRlbXMifX0sZGlyZWN0aXZlczp7dG9k
b0ZvY3VzOmZ1bmN0aW9uKGUsdCl7dCYmbC5kZWZhdWx0Lm5leHRUaWNrKGZ1bmN0aW9uKHQpe2Uu
Zm9jdXMoKX0pfX0sbWV0aG9kczp7YWRkVG9kbzpmdW5jdGlvbigpe3RoaXMudG9kb3MucHVzaCh7
Y29tcGxldGVkOiExLHRpdGxlOnRoaXMubmV3VG9kb30pLHRoaXMubmV3VG9kbz0iIn0sZGVsZXRl
VG9kbzpmdW5jdGlvbihlKXt0aGlzLnRvZG9zPXRoaXMudG9kb3MuZmlsdGVyKGZ1bmN0aW9uKHQp
e3JldHVybiB0IT09ZX0pfSxkZWxldGVDb21wbGV0ZWQ6ZnVuY3Rpb24oKXt0aGlzLnRvZG9zPXRo
aXMudG9kb3MuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiFlLmNvbXBsZXRlZH0pfSxlZGl0VG9k
bzpmdW5jdGlvbihlKXt0aGlzLmVkaXRpbmc9ZX0sZG9uZUVkaXQ6ZnVuY3Rpb24oKXt0aGlzLmVk
aXRpbmc9bnVsbH19LGNvbXB1dGVkOntyZW1haW5pbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50
b2Rvcy5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIWUuY29tcGxldGVkfSkubGVuZ3RofSxjb21w
bGV0ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b2Rvcy5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0
dXJuIGUuY29tcGxldGVkfSkubGVuZ3RofSxmaWx0ZXJlZFRvZG9zOmZ1bmN0aW9uKCl7cmV0dXJu
ImFjdGl2ZSI9PT10aGlzLmZpbHRlcj90aGlzLnRvZG9zLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1
cm4hZS5jb21wbGV0ZWR9KToiY29tcGxldGVkIj09PXRoaXMuZmlsdGVyP3RoaXMudG9kb3MuZmls
dGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlLmNvbXBsZXRlZH0pOnRoaXMudG9kb3N9LGFsbERvbmU6
e2dldDpmdW5jdGlvbigpe3JldHVybiAwPT09dGhpcy5yZW1haW5pbmd9LHNldDpmdW5jdGlvbihl
KXt0aGlzLnRvZG9zLmZvckVhY2goZnVuY3Rpb24odCl7dC5jb21wbGV0ZWQ9ZX0pfX19fX0sLGZ1
bmN0aW9uKGUsdCl7fSxmdW5jdGlvbihlLHQsbyl7dmFyIG4saTtuPW8oMik7dmFyIGw9byg4KTtp
PW49bnx8e30sIm9iamVjdCIhPXR5cGVvZiBuLmRlZmF1bHQmJiJmdW5jdGlvbiIhPXR5cGVvZiBu
LmRlZmF1bHR8fChpPW49bi5kZWZhdWx0KSwiZnVuY3Rpb24iPT10eXBlb2YgaSYmKGk9aS5vcHRp
b25zKSxpLnJlbmRlcj1sLnJlbmRlcixpLnN0YXRpY1JlbmRlckZucz1sLnN0YXRpY1JlbmRlckZu
cyxlLmV4cG9ydHM9bn0sZnVuY3Rpb24oZSx0LG8pe3ZhciBuLGk7byg1KSxuPW8oMyk7dmFyIGw9
byg5KTtpPW49bnx8e30sIm9iamVjdCIhPXR5cGVvZiBuLmRlZmF1bHQmJiJmdW5jdGlvbiIhPXR5
cGVvZiBuLmRlZmF1bHR8fChpPW49bi5kZWZhdWx0KSwiZnVuY3Rpb24iPT10eXBlb2YgaSYmKGk9
aS5vcHRpb25zKSxpLnJlbmRlcj1sLnJlbmRlcixpLnN0YXRpY1JlbmRlckZucz1sLnN0YXRpY1Jl
bmRlckZucyxlLmV4cG9ydHM9bn0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9e3JlbmRlcjpmdW5j
dGlvbigpe3ZhciBlPXRoaXMsdD1lLiRjcmVhdGVFbGVtZW50O3JldHVybiB0KCJkaXYiLHthdHRy
czp7aWQ6ImFwcCJ9fSxbdCgiVG9kb3MiKV0pfSxzdGF0aWNSZW5kZXJGbnM6W119fSxmdW5jdGlv
bihlLHQpe2UuZXhwb3J0cz17cmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuJGNyZWF0
ZUVsZW1lbnQ7cmV0dXJuIHQoInNlY3Rpb24iLHtzdGF0aWNDbGFzczoidG9kb2FwcCJ9LFt0KCJo
ZWFkZXIiLHtzdGF0aWNDbGFzczoiaGVhZGVyIn0sW3QoImgxIixbIlRvZG9zIl0pLCIgIix0KCJp
bnB1dCIse2RpcmVjdGl2ZXM6W3tuYW1lOiJtb2RlbCIscmF3TmFtZToidi1tb2RlbCIsdmFsdWU6
ZS5uZXdUb2RvLGV4cHJlc3Npb246Im5ld1RvZG8ifV0sc3RhdGljQ2xhc3M6Im5ldy10b2RvIixh
dHRyczp7dHlwZToidGV4dCIsYXV0b2ZvY3VzOiIiLGF1dG9jb21wbGV0ZToib2ZmIixwbGFjZWhv
bGRlcjoiV2hhdCBuZWVkcyB0byBiZSBkb25lPyJ9LGRvbVByb3BzOnt2YWx1ZTplLl9zKGUubmV3
VG9kbyl9LG9uOntrZXl1cDpmdW5jdGlvbih0KXsxMz09PXQua2V5Q29kZSYmZS5hZGRUb2RvKHQp
fSxpbnB1dDpmdW5jdGlvbih0KXt0LnRhcmdldC5jb21wb3Npbmd8fChlLm5ld1RvZG89dC50YXJn
ZXQudmFsdWUpfX19KV0pLCIgIix0KCJzZWN0aW9uIix7ZGlyZWN0aXZlczpbe25hbWU6InNob3ci
LHJhd05hbWU6InYtc2hvdyIsdmFsdWU6ZS50b2Rvcy5sZW5ndGgsZXhwcmVzc2lvbjoidG9kb3Mu
bGVuZ3RoIn1dLHN0YXRpY0NsYXNzOiJtYWluIn0sW3QoImlucHV0Iix7ZGlyZWN0aXZlczpbe25h
bWU6Im1vZGVsIixyYXdOYW1lOiJ2LW1vZGVsIix2YWx1ZTplLmFsbERvbmUsZXhwcmVzc2lvbjoi
YWxsRG9uZSJ9XSxzdGF0aWNDbGFzczoidG9nZ2xlLWFsbCIsYXR0cnM6e3R5cGU6ImNoZWNrYm94
In0sZG9tUHJvcHM6e2NoZWNrZWQ6QXJyYXkuaXNBcnJheShlLmFsbERvbmUpP2UuX2koZS5hbGxE
b25lLG51bGwpPi0xOmUuX3EoZS5hbGxEb25lLCEwKX0sb246e2NoYW5nZTpmdW5jdGlvbih0KXt2
YXIgbz1lLmFsbERvbmUsbj10LnRhcmdldCxpPSEhbi5jaGVja2VkO2lmKEFycmF5LmlzQXJyYXko
bykpe3ZhciBsPW51bGwscz1lLl9pKG8sbCk7aT9zPDAmJihlLmFsbERvbmU9by5jb25jYXQobCkp
OnM+LTEmJihlLmFsbERvbmU9by5zbGljZSgwLHMpLmNvbmNhdChvLnNsaWNlKHMrMSkpKX1lbHNl
IGUuYWxsRG9uZT1pfX19KSwiICIsdCgidWwiLHtzdGF0aWNDbGFzczoidG9kby1saXN0In0sW2Uu
X2woZS5maWx0ZXJlZFRvZG9zLGZ1bmN0aW9uKG8pe3JldHVybiB0KCJsaSIse3N0YXRpY0NsYXNz
OiJ0b2RvIixjbGFzczp7Y29tcGxldGVkOm8uY29tcGxldGVkLGVkaXRpbmc6bz09PWUuZWRpdGlu
Z319LFt0KCJkaXYiLHtzdGF0aWNDbGFzczoidmlldyJ9LFt0KCJpbnB1dCIse2RpcmVjdGl2ZXM6
W3tuYW1lOiJtb2RlbCIscmF3TmFtZToidi1tb2RlbCIsdmFsdWU6by5jb21wbGV0ZWQsZXhwcmVz
c2lvbjoidG9kby5jb21wbGV0ZWQifV0sc3RhdGljQ2xhc3M6InRvZ2dsZSIsYXR0cnM6e3R5cGU6
ImNoZWNrYm94In0sZG9tUHJvcHM6e2NoZWNrZWQ6QXJyYXkuaXNBcnJheShvLmNvbXBsZXRlZCk/
ZS5faShvLmNvbXBsZXRlZCxudWxsKT4tMTplLl9xKG8uY29tcGxldGVkLCEwKX0sb246e2NoYW5n
ZTpmdW5jdGlvbih0KXt2YXIgbj1vLmNvbXBsZXRlZCxpPXQudGFyZ2V0LGw9ISFpLmNoZWNrZWQ7
aWYoQXJyYXkuaXNBcnJheShuKSl7dmFyIHM9bnVsbCxhPWUuX2kobixzKTtsP2E8MCYmKG8uY29t
cGxldGVkPW4uY29uY2F0KHMpKTphPi0xJiYoby5jb21wbGV0ZWQ9bi5zbGljZSgwLGEpLmNvbmNh
dChuLnNsaWNlKGErMSkpKX1lbHNlIG8uY29tcGxldGVkPWx9fX0pLCIgIix0KCJsYWJlbCIse29u
OntkYmxjbGljazpmdW5jdGlvbih0KXtlLmVkaXRUb2RvKG8pfX19LFtlLl9zKG8udGl0bGUpXSks
IiAiLHQoImJ1dHRvbiIse3N0YXRpY0NsYXNzOiJkZXN0cm95Iixvbjp7Y2xpY2s6ZnVuY3Rpb24o
dCl7dC5wcmV2ZW50RGVmYXVsdCgpLGUuZGVsZXRlVG9kbyhvKX19fSldKSwiICIsdCgiaW5wdXQi
LHtkaXJlY3RpdmVzOlt7bmFtZToibW9kZWwiLHJhd05hbWU6InYtbW9kZWwiLHZhbHVlOm8udGl0
bGUsZXhwcmVzc2lvbjoidG9kby50aXRsZSJ9LHtuYW1lOiJ0b2RvRm9jdXMiLHJhd05hbWU6InYt
dG9kb0ZvY3VzIix2YWx1ZTpvPT09ZS5lZGl0aW5nLGV4cHJlc3Npb246InRvZG8gPT09IGVkaXRp
bmcifV0sc3RhdGljQ2xhc3M6ImVkaXQiLGF0dHJzOnt0eXBlOiJ0ZXh0In0sZG9tUHJvcHM6e3Zh
bHVlOmUuX3Moby50aXRsZSl9LG9uOntrZXl1cDpmdW5jdGlvbih0KXsxMz09PXQua2V5Q29kZSYm
ZS5kb25lRWRpdCh0KX0sYmx1cjplLmRvbmVFZGl0LGlucHV0OmZ1bmN0aW9uKGUpe2UudGFyZ2V0
LmNvbXBvc2luZ3x8KG8udGl0bGU9ZS50YXJnZXQudmFsdWUpfX19KV0pfSldKSwiICIsIiAiLHQo
ImZvb3RlciIse2RpcmVjdGl2ZXM6W3tuYW1lOiJzaG93IixyYXdOYW1lOiJ2LXNob3ciLHZhbHVl
OmUudG9kb3MubGVuZ3RoPjAsZXhwcmVzc2lvbjoidG9kb3MubGVuZ3RoID4gMCJ9XSxzdGF0aWND
bGFzczoiZm9vdGVyIn0sW3QoInNwYW4iLHtzdGF0aWNDbGFzczoidG9kby1jb3VudCJ9LFt0KCJz
dHJvbmciLFtlLl9zKGUucmVtYWluaW5nKV0pLCIgIitlLl9zKGUuX2YoInBsdXJhbGl6ZSIpKGUu
cmVtYWluaW5nKSkrIiBsZWZ0XG4gICAgICAgICJdKSwiICIsdCgidWwiLHtzdGF0aWNDbGFzczoi
ZmlsdGVycyJ9LFt0KCJsaSIsW3QoImEiLHtjbGFzczp7c2VsZWN0ZWQ6ImFsbCI9PWUuZmlsdGVy
fSxhdHRyczp7aHJlZjoiIy9hbGwifSxvbjp7Y2xpY2s6ZnVuY3Rpb24odCl7ZS5maWx0ZXI9ImFs
bCJ9fX0sWyJBbGwiXSldKSwiICIsdCgibGkiLFt0KCJhIix7Y2xhc3M6e3NlbGVjdGVkOiJhY3Rp
dmUiPT1lLmZpbHRlcn0sYXR0cnM6e2hyZWY6IiMvYWN0aXZlIn0sb246e2NsaWNrOmZ1bmN0aW9u
KHQpe2UuZmlsdGVyPSJhY3RpdmUifX19LFsiQWN0aXZlIl0pXSksIiAiLHQoImxpIixbdCgiYSIs
e2NsYXNzOntzZWxlY3RlZDoiY29tcGxldGVkIj09ZS5maWx0ZXJ9LGF0dHJzOntocmVmOiIjL2Nv
bXBsZXRlZCJ9LG9uOntjbGljazpmdW5jdGlvbih0KXtlLmZpbHRlcj0iY29tcGxldGVkIn19fSxb
IkNvbXBsZXRlZCJdKV0pXSksIiAiLHQoImJ1dHRvbiIse2RpcmVjdGl2ZXM6W3tuYW1lOiJzaG93
IixyYXdOYW1lOiJ2LXNob3ciLHZhbHVlOmUuY29tcGxldGVkLGV4cHJlc3Npb246ImNvbXBsZXRl
ZCJ9XSxzdGF0aWNDbGFzczoiY2xlYXItY29tcGxldGVkIixvbjp7Y2xpY2s6ZnVuY3Rpb24odCl7
dC5wcmV2ZW50RGVmYXVsdCgpLGUuZGVsZXRlQ29tcGxldGVkKHQpfX19LFsiQ2xlYXIgQ29tcGxl
dGVkIl0pXSldKV0pfSxzdGF0aWNSZW5kZXJGbnM6W119fV0pOwotLy8jIHNvdXJjZU1hcHBpbmdV
Ukw9YXBwLmIwZTgzNTg3NGJjODk0OTY3MGQxLmpzLm1hcApcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2Vz
L3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9kaXN0L3N0YXRpYy9qcy9h
cHAuZDZlZDg5MzU0MzhmNDRlOTg0M2EuanMgYi9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVy
L3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvZGlzdC9z
dGF0aWMvanMvYXBwLmQ2ZWQ4OTM1NDM4ZjQ0ZTk4NDNhLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiZmFjN2Jm
N2Q1MDNkY2FlNjAxNTNiYjkwZTM1N2VhMmMzYTMxNmMKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJm
b3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1l
eGFtcGxlcy92dWVqcy1jbGkvZGlzdC9zdGF0aWMvanMvYXBwLmQ2ZWQ4OTM1NDM4ZjQ0ZTk4NDNh
LmpzCkBAIC0wLDAgKzEsMiBAQAord2VicGFja0pzb25wKFswXSxbLCwsZnVuY3Rpb24oZSx0LG8p
e3ZhciBuPW8oMSkobyg0KSxvKDEwKSxudWxsLG51bGwsbnVsbCk7ZS5leHBvcnRzPW4uZXhwb3J0
c30sZnVuY3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwi
X19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49byg4KSxsPWZ1bmN0aW9uKGUpe3JldHVybiBl
JiZlLl9fZXNNb2R1bGU/ZTp7ZGVmYXVsdDplfX0obik7dC5kZWZhdWx0PXtuYW1lOiJhcHAiLGNv
bXBvbmVudHM6e1RvZG9zOmwuZGVmYXVsdH19fSxmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3Qi
O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1v
KDApLGw9ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fShu
KTt0LmRlZmF1bHQ9e2RhdGE6ZnVuY3Rpb24oKXtyZXR1cm57dG9kb3M6W10sbmV3VG9kbzoiIixm
aWx0ZXI6ImFsbCIsYWxsRG9uZTohMSxlZGl0aW5nOm51bGx9fSxmaWx0ZXJzOntwbHVyYWxpemU6
ZnVuY3Rpb24oZSl7cmV0dXJuIDE9PT1lPyJpdGVtIjoiaXRlbXMifX0sZGlyZWN0aXZlczp7dG9k
b0ZvY3VzOmZ1bmN0aW9uKGUsdCl7dCYmbC5kZWZhdWx0Lm5leHRUaWNrKGZ1bmN0aW9uKHQpe2Uu
Zm9jdXMoKX0pfX0sbWV0aG9kczp7YWRkVG9kbzpmdW5jdGlvbigpe3RoaXMudG9kb3MucHVzaCh7
Y29tcGxldGVkOiExLHRpdGxlOnRoaXMubmV3VG9kb30pLHRoaXMubmV3VG9kbz0iIn0sZGVsZXRl
VG9kbzpmdW5jdGlvbihlKXt0aGlzLnRvZG9zPXRoaXMudG9kb3MuZmlsdGVyKGZ1bmN0aW9uKHQp
e3JldHVybiB0IT09ZX0pfSxkZWxldGVDb21wbGV0ZWQ6ZnVuY3Rpb24oKXt0aGlzLnRvZG9zPXRo
aXMudG9kb3MuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiFlLmNvbXBsZXRlZH0pfSxlZGl0VG9k
bzpmdW5jdGlvbihlKXt0aGlzLmVkaXRpbmc9ZX0sZG9uZUVkaXQ6ZnVuY3Rpb24oKXt0aGlzLmVk
aXRpbmc9bnVsbH19LGNvbXB1dGVkOntyZW1haW5pbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50
b2Rvcy5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIWUuY29tcGxldGVkfSkubGVuZ3RofSxjb21w
bGV0ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b2Rvcy5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0
dXJuIGUuY29tcGxldGVkfSkubGVuZ3RofSxmaWx0ZXJlZFRvZG9zOmZ1bmN0aW9uKCl7cmV0dXJu
ImFjdGl2ZSI9PT10aGlzLmZpbHRlcj90aGlzLnRvZG9zLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1
cm4hZS5jb21wbGV0ZWR9KToiY29tcGxldGVkIj09PXRoaXMuZmlsdGVyP3RoaXMudG9kb3MuZmls
dGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlLmNvbXBsZXRlZH0pOnRoaXMudG9kb3N9LGFsbERvbmU6
e2dldDpmdW5jdGlvbigpe3JldHVybiAwPT09dGhpcy5yZW1haW5pbmd9LHNldDpmdW5jdGlvbihl
KXt0aGlzLnRvZG9zLmZvckVhY2goZnVuY3Rpb24odCl7dC5jb21wbGV0ZWQ9ZX0pfX19fX0sZnVu
Y3Rpb24oZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUpe3JldHVybiBlJiZlLl9fZXNN
b2R1bGU/ZTp7ZGVmYXVsdDplfX12YXIgbD1vKDApLGk9bihsKSxzPW8oMyksYz1uKHMpLGE9bygy
KSxyPW4oYSk7d2luZG93LlZ1ZUFwcD1uZXcgaS5kZWZhdWx0KHtlbDoiI2FwcCIscmVuZGVyOmZ1
bmN0aW9uKGUpe3JldHVybiBlKGMuZGVmYXVsdCl9fSk7dmFyIGQ9bmV3IHIuZGVmYXVsdC5Sb3V0
ZXI7WyJhbGwiLCJhY3RpdmUiLCJjb21wbGV0ZWQiXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2Qub24o
ZSxmdW5jdGlvbigpe3dpbmRvdy5WdWVBcHAuZmlsdGVyPWV9KX0pLGQuY29uZmlndXJlKHtub3Rm
b3VuZDpmdW5jdGlvbigpe3dpbmRvdy5sb2NhdGlvbi5oYXNoPSIiLHdpbmRvdy5WdWVBcHAuZmls
dGVyPSJhbGwifX0pLGQuaW5pdCgpfSxmdW5jdGlvbihlLHQpe30sZnVuY3Rpb24oZSx0LG8pe2Z1
bmN0aW9uIG4oZSl7byg3KX12YXIgbD1vKDEpKG8oNSksbyg5KSxuLG51bGwsbnVsbCk7ZS5leHBv
cnRzPWwuZXhwb3J0c30sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9e3JlbmRlcjpmdW5jdGlvbigp
e3ZhciBlPXRoaXMsdD1lLiRjcmVhdGVFbGVtZW50LG89ZS5fc2VsZi5fY3x8dDtyZXR1cm4gbygi
c2VjdGlvbiIse3N0YXRpY0NsYXNzOiJ0b2RvYXBwIn0sW28oImhlYWRlciIse3N0YXRpY0NsYXNz
OiJoZWFkZXIifSxbbygiaDEiLFtlLl92KCJUb2RvcyIpXSksZS5fdigiICIpLG8oImlucHV0Iix7
ZGlyZWN0aXZlczpbe25hbWU6Im1vZGVsIixyYXdOYW1lOiJ2LW1vZGVsIix2YWx1ZTplLm5ld1Rv
ZG8sZXhwcmVzc2lvbjoibmV3VG9kbyJ9XSxzdGF0aWNDbGFzczoibmV3LXRvZG8iLGF0dHJzOnt0
eXBlOiJ0ZXh0IixhdXRvZm9jdXM6IiIsYXV0b2NvbXBsZXRlOiJvZmYiLHBsYWNlaG9sZGVyOiJX
aGF0IG5lZWRzIHRvIGJlIGRvbmU/In0sZG9tUHJvcHM6e3ZhbHVlOmUubmV3VG9kb30sb246e2tl
eXVwOmZ1bmN0aW9uKHQpe2lmKCEoImJ1dHRvbiJpbiB0KSYmZS5fayh0LmtleUNvZGUsImVudGVy
IiwxMykpcmV0dXJuIG51bGw7ZS5hZGRUb2RvKHQpfSxpbnB1dDpmdW5jdGlvbih0KXt0LnRhcmdl
dC5jb21wb3Npbmd8fChlLm5ld1RvZG89dC50YXJnZXQudmFsdWUpfX19KV0pLGUuX3YoIiAiKSxv
KCJzZWN0aW9uIix7ZGlyZWN0aXZlczpbe25hbWU6InNob3ciLHJhd05hbWU6InYtc2hvdyIsdmFs
dWU6ZS50b2Rvcy5sZW5ndGgsZXhwcmVzc2lvbjoidG9kb3MubGVuZ3RoIn1dLHN0YXRpY0NsYXNz
OiJtYWluIn0sW28oImlucHV0Iix7ZGlyZWN0aXZlczpbe25hbWU6Im1vZGVsIixyYXdOYW1lOiJ2
LW1vZGVsIix2YWx1ZTplLmFsbERvbmUsZXhwcmVzc2lvbjoiYWxsRG9uZSJ9XSxzdGF0aWNDbGFz
czoidG9nZ2xlLWFsbCIsYXR0cnM6e3R5cGU6ImNoZWNrYm94In0sZG9tUHJvcHM6e2NoZWNrZWQ6
QXJyYXkuaXNBcnJheShlLmFsbERvbmUpP2UuX2koZS5hbGxEb25lLG51bGwpPi0xOmUuYWxsRG9u
ZX0sb246e19fYzpmdW5jdGlvbih0KXt2YXIgbz1lLmFsbERvbmUsbj10LnRhcmdldCxsPSEhbi5j
aGVja2VkO2lmKEFycmF5LmlzQXJyYXkobykpe3ZhciBpPWUuX2kobyxudWxsKTtuLmNoZWNrZWQ/
aTwwJiYoZS5hbGxEb25lPW8uY29uY2F0KG51bGwpKTppPi0xJiYoZS5hbGxEb25lPW8uc2xpY2Uo
MCxpKS5jb25jYXQoby5zbGljZShpKzEpKSl9ZWxzZSBlLmFsbERvbmU9bH19fSksZS5fdigiICIp
LG8oInVsIix7c3RhdGljQ2xhc3M6InRvZG8tbGlzdCJ9LGUuX2woZS5maWx0ZXJlZFRvZG9zLGZ1
bmN0aW9uKHQpe3JldHVybiBvKCJsaSIse3N0YXRpY0NsYXNzOiJ0b2RvIixjbGFzczp7Y29tcGxl
dGVkOnQuY29tcGxldGVkLGVkaXRpbmc6dD09PWUuZWRpdGluZ319LFtvKCJkaXYiLHtzdGF0aWND
bGFzczoidmlldyJ9LFtvKCJpbnB1dCIse2RpcmVjdGl2ZXM6W3tuYW1lOiJtb2RlbCIscmF3TmFt
ZToidi1tb2RlbCIsdmFsdWU6dC5jb21wbGV0ZWQsZXhwcmVzc2lvbjoidG9kby5jb21wbGV0ZWQi
fV0sc3RhdGljQ2xhc3M6InRvZ2dsZSIsYXR0cnM6e3R5cGU6ImNoZWNrYm94In0sZG9tUHJvcHM6
e2NoZWNrZWQ6QXJyYXkuaXNBcnJheSh0LmNvbXBsZXRlZCk/ZS5faSh0LmNvbXBsZXRlZCxudWxs
KT4tMTp0LmNvbXBsZXRlZH0sb246e19fYzpmdW5jdGlvbihvKXt2YXIgbj10LmNvbXBsZXRlZCxs
PW8udGFyZ2V0LGk9ISFsLmNoZWNrZWQ7aWYoQXJyYXkuaXNBcnJheShuKSl7dmFyIHM9ZS5faShu
LG51bGwpO2wuY2hlY2tlZD9zPDAmJih0LmNvbXBsZXRlZD1uLmNvbmNhdChudWxsKSk6cz4tMSYm
KHQuY29tcGxldGVkPW4uc2xpY2UoMCxzKS5jb25jYXQobi5zbGljZShzKzEpKSl9ZWxzZSB0LmNv
bXBsZXRlZD1pfX19KSxlLl92KCIgIiksbygibGFiZWwiLHtvbjp7ZGJsY2xpY2s6ZnVuY3Rpb24o
byl7ZS5lZGl0VG9kbyh0KX19fSxbZS5fdihlLl9zKHQudGl0bGUpKV0pLGUuX3YoIiAiKSxvKCJi
dXR0b24iLHtzdGF0aWNDbGFzczoiZGVzdHJveSIsb246e2NsaWNrOmZ1bmN0aW9uKG8pe28ucHJl
dmVudERlZmF1bHQoKSxlLmRlbGV0ZVRvZG8odCl9fX0pXSksZS5fdigiICIpLG8oImlucHV0Iix7
ZGlyZWN0aXZlczpbe25hbWU6Im1vZGVsIixyYXdOYW1lOiJ2LW1vZGVsIix2YWx1ZTp0LnRpdGxl
LGV4cHJlc3Npb246InRvZG8udGl0bGUifSx7bmFtZToidG9kb0ZvY3VzIixyYXdOYW1lOiJ2LXRv
ZG9Gb2N1cyIsdmFsdWU6dD09PWUuZWRpdGluZyxleHByZXNzaW9uOiJ0b2RvID09PSBlZGl0aW5n
In1dLHN0YXRpY0NsYXNzOiJlZGl0IixhdHRyczp7dHlwZToidGV4dCJ9LGRvbVByb3BzOnt2YWx1
ZTp0LnRpdGxlfSxvbjp7a2V5dXA6ZnVuY3Rpb24odCl7aWYoISgiYnV0dG9uImluIHQpJiZlLl9r
KHQua2V5Q29kZSwiZW50ZXIiLDEzKSlyZXR1cm4gbnVsbDtlLmRvbmVFZGl0KHQpfSxibHVyOmUu
ZG9uZUVkaXQsaW5wdXQ6ZnVuY3Rpb24oZSl7ZS50YXJnZXQuY29tcG9zaW5nfHwodC50aXRsZT1l
LnRhcmdldC52YWx1ZSl9fX0pXSl9KSldKSxlLl92KCIgIiksbygiZm9vdGVyIix7ZGlyZWN0aXZl
czpbe25hbWU6InNob3ciLHJhd05hbWU6InYtc2hvdyIsdmFsdWU6ZS50b2Rvcy5sZW5ndGg+MCxl
eHByZXNzaW9uOiJ0b2Rvcy5sZW5ndGggPiAwIn1dLHN0YXRpY0NsYXNzOiJmb290ZXIifSxbbygi
c3BhbiIse3N0YXRpY0NsYXNzOiJ0b2RvLWNvdW50In0sW28oInN0cm9uZyIsW2UuX3YoZS5fcyhl
LnJlbWFpbmluZykpXSksZS5fdigiICIrZS5fcyhlLl9mKCJwbHVyYWxpemUiKShlLnJlbWFpbmlu
ZykpKyIgbGVmdFxuICAgICAgICAiKV0pLGUuX3YoIiAiKSxvKCJ1bCIse3N0YXRpY0NsYXNzOiJm
aWx0ZXJzIn0sW28oImxpIixbbygiYSIse2NsYXNzOntzZWxlY3RlZDoiYWxsIj09ZS5maWx0ZXJ9
LGF0dHJzOntocmVmOiIjL2FsbCJ9LG9uOntjbGljazpmdW5jdGlvbih0KXtlLmZpbHRlcj0iYWxs
In19fSxbZS5fdigiQWxsIildKV0pLGUuX3YoIiAiKSxvKCJsaSIsW28oImEiLHtjbGFzczp7c2Vs
ZWN0ZWQ6ImFjdGl2ZSI9PWUuZmlsdGVyfSxhdHRyczp7aHJlZjoiIy9hY3RpdmUifSxvbjp7Y2xp
Y2s6ZnVuY3Rpb24odCl7ZS5maWx0ZXI9ImFjdGl2ZSJ9fX0sW2UuX3YoIkFjdGl2ZSIpXSldKSxl
Ll92KCIgIiksbygibGkiLFtvKCJhIix7Y2xhc3M6e3NlbGVjdGVkOiJjb21wbGV0ZWQiPT1lLmZp
bHRlcn0sYXR0cnM6e2hyZWY6IiMvY29tcGxldGVkIn0sb246e2NsaWNrOmZ1bmN0aW9uKHQpe2Uu
ZmlsdGVyPSJjb21wbGV0ZWQifX19LFtlLl92KCJDb21wbGV0ZWQiKV0pXSldKSxlLl92KCIgIiks
bygiYnV0dG9uIix7ZGlyZWN0aXZlczpbe25hbWU6InNob3ciLHJhd05hbWU6InYtc2hvdyIsdmFs
dWU6ZS5jb21wbGV0ZWQsZXhwcmVzc2lvbjoiY29tcGxldGVkIn1dLHN0YXRpY0NsYXNzOiJjbGVh
ci1jb21wbGV0ZWQiLG9uOntjbGljazpmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCksZS5k
ZWxldGVDb21wbGV0ZWQodCl9fX0sW2UuX3YoIkNsZWFyIENvbXBsZXRlZCIpXSldKV0pfSxzdGF0
aWNSZW5kZXJGbnM6W119fSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz17cmVuZGVyOmZ1bmN0aW9u
KCl7dmFyIGU9dGhpcyx0PWUuJGNyZWF0ZUVsZW1lbnQsbz1lLl9zZWxmLl9jfHx0O3JldHVybiBv
KCJkaXYiLHthdHRyczp7aWQ6ImFwcCJ9fSxbbygiVG9kb3MiKV0sMSl9LHN0YXRpY1JlbmRlckZu
czpbXX19XSxbNl0pOworLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLmQ2ZWQ4OTM1NDM4ZjQ0ZTk4
NDNhLmpzLm1hcApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BlcmZv
cm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4
YW1wbGVzL3Z1ZWpzLWNsaS9kaXN0L3N0YXRpYy9qcy9hcHAuZDZlZDg5MzU0MzhmNDRlOTg0M2Eu
anMubWFwIGIvUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9h
cmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVlanMtY2xpL2Rpc3Qvc3RhdGljL2pzL2FwcC5kNmVkODkz
NTQzOGY0NGU5ODQzYS5qcy5tYXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTljNTJjY2UwMTFmZjMzNTkxMTFmYzRk
ZWNjMTRlMTBjM2QxMTU4ZQotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU3Bl
ZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNs
aS9kaXN0L3N0YXRpYy9qcy9hcHAuZDZlZDg5MzU0MzhmNDRlOTg0M2EuanMubWFwCkBAIC0wLDAg
KzEgQEAKK3sidmVyc2lvbiI6Mywic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3N0YXRpYy9qcy9hcHAu
ZDZlZDg5MzU0MzhmNDRlOTg0M2EuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL0FwcC52dWUiLCJ3ZWJw
YWNrOi8vL0FwcC52dWUiLCJ3ZWJwYWNrOi8vL1RvZG9zLnZ1ZSIsIndlYnBhY2s6Ly8vLi9zcmMv
bWFpbi5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Ub2Rvcy52dWUiLCJ3ZWJwYWNr
Oi8vLy4vc3JjL2NvbXBvbmVudHMvVG9kb3MudnVlP2NiODkiLCJ3ZWJwYWNrOi8vLy4vc3JjL0Fw
cC52dWU/MmIxZSJdLCJuYW1lcyI6WyJ3ZWJwYWNrSnNvbnAiLCJtb2R1bGUiLCJleHBvcnRzIiwi
X193ZWJwYWNrX3JlcXVpcmVfXyIsIkNvbXBvbmVudCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5
IiwidmFsdWUiLCJfVG9kb3MiLCJfVG9kb3MyIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQi
LCJuYW1lIiwiY29tcG9uZW50cyIsIlRvZG9zIiwiX3Z1ZSIsIl92dWUyIiwiZGF0YSIsInRvZG9z
IiwibmV3VG9kbyIsImZpbHRlciIsImFsbERvbmUiLCJlZGl0aW5nIiwiZmlsdGVycyIsInBsdXJh
bGl6ZSIsIm4iLCJkaXJlY3RpdmVzIiwidG9kb0ZvY3VzIiwiZWwiLCJuZXh0VGljayIsIl8iLCJm
b2N1cyIsIm1ldGhvZHMiLCJhZGRUb2RvIiwidGhpcyIsInB1c2giLCJjb21wbGV0ZWQiLCJ0aXRs
ZSIsImRlbGV0ZVRvZG8iLCJ0b2RvIiwidCIsImRlbGV0ZUNvbXBsZXRlZCIsImVkaXRUb2RvIiwi
ZG9uZUVkaXQiLCJjb21wdXRlZCIsInJlbWFpbmluZyIsImxlbmd0aCIsImZpbHRlcmVkVG9kb3Mi
LCJnZXQiLCJzZXQiLCJmb3JFYWNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9BcHAiLCJf
QXBwMiIsIl9kaXJlY3RvciIsIl9kaXJlY3RvcjIiLCJ3aW5kb3ciLCJWdWVBcHAiLCJyZW5kZXIi
LCJoIiwicm91dGVyIiwiUm91dGVyIiwidmlzaWJpbGl0eSIsIm9uIiwiY29uZmlndXJlIiwibm90
Zm91bmQiLCJsb2NhdGlvbiIsImhhc2giLCJpbml0IiwiaW5qZWN0U3R5bGUiLCJzc3JDb250ZXh0
IiwiX3ZtIiwiX2giLCIkY3JlYXRlRWxlbWVudCIsIl9jIiwiX3NlbGYiLCJzdGF0aWNDbGFzcyIs
Il92IiwicmF3TmFtZSIsImV4cHJlc3Npb24iLCJhdHRycyIsInR5cGUiLCJhdXRvZm9jdXMiLCJh
dXRvY29tcGxldGUiLCJwbGFjZWhvbGRlciIsImRvbVByb3BzIiwia2V5dXAiLCIkZXZlbnQiLCJf
ayIsImtleUNvZGUiLCJpbnB1dCIsInRhcmdldCIsImNvbXBvc2luZyIsImNoZWNrZWQiLCJBcnJh
eSIsImlzQXJyYXkiLCJfaSIsIl9fYyIsIiQkYSIsIiQkZWwiLCIkJGMiLCIkJGkiLCJjb25jYXQi
LCJzbGljZSIsIl9sIiwiY2xhc3MiLCJkYmxjbGljayIsIl9zIiwiY2xpY2siLCJwcmV2ZW50RGVm
YXVsdCIsImJsdXIiLCJfZiIsInNlbGVjdGVkIiwiaHJlZiIsInN0YXRpY1JlbmRlckZucyIsImlk
Il0sIm1hcHBpbmdzIjoiQUFBQUEsY0FBYyxJQUNQLENBQ0EsQ0FDQSxDQUVELFNBQVVDLEVBQVFD
LEVBQVNDLEdDTGpDLEdBQUFDLEdBQUFELEVBQUEsR0FFQUEsRUFBQSxHQUVBQSxFQUFBLElBRUEs
S0FFQSxLQUVBLEtBR0FGLEdBQUFDLFFBQUFFLEVBQUFGLFNEWU0sU0FBVUQsRUFBUUMsRUFBU0Ms
R0FFakMsWUFHQUUsUUFBT0MsZUFBZUosRUFBUyxjQUMzQkssT0FBTyxHRXRCWCxJQUFBQyxHQUFB
TCxFQUFBLEdGMkJJTSxFQUVKLFNBQWdDQyxHQUFPLE1BQU9BLElBQU9BLEVBQUlDLFdBQWFELEdB
QVFFLFFBQVNGLElBRmxERixFQUlyQ04sR0FBUVUsU0FDSkMsS0U5QkosTUYrQklDLFlFNUJKQyxN
QUFBTixFQUFBRyxXRm1DTSxTQUFVWCxFQUFRQyxFQUFTQyxHQUVqQyxZQUdBRSxRQUFPQyxlQUFl
SixFQUFTLGNBQzNCSyxPQUFPLEdHbkJYLElBQUFTLEdBQUFiLEVBQUEsR0h3QkljLEVBRUosU0FB
Z0NQLEdBQU8sTUFBT0EsSUFBT0EsRUFBSUMsV0FBYUQsR0FBUUUsUUFBU0YsSUFGcERNLEVBSW5D
ZCxHQUFRVSxTQUNKTSxLQUFNLFdBQ0YsT0FDSUMsU0FDQUMsUUczQlosR0g0QllDLE9HM0JaLE1I
NEJZQyxTRzNCWixFSDRCWUMsUUcxQlosT0g4QklDLFNBQ0lDLFVBQVcsU0FBbUJDLEdBQzFCLE1B
QWEsS0FBTkEsRUFBVSxPRzVCN0IsVUgrQklDLFlBQ0lDLFVBQVcsU0FBbUJDLEVBQUl0QixHQUMx
QkEsR0FDQVUsRUFBTUwsUUFBUWtCLFNBQVMsU0FBVUMsR0FDN0JGLEVHNUJwQkcsWUhpQ0lDLFNB
Q0lDLFFBQVMsV0FDTEMsS0FBS2hCLE1BQU1pQixNQUNQQyxXRzVCaEIsRUg2QmdCQyxNQUFPSCxL
RzNCdkJmLFVINkJZZSxLQUFLZixRRzVCakIsSUg4QlFtQixXQUFZLFNBQW9CQyxHQUM1QkwsS0FB
S2hCLE1BQVFnQixLQUFLaEIsTUFBTUUsT0FBTyxTQUFVb0IsR0FDckMsTUFBT0EsS0c3QnZCRCxL
SGdDUUUsZ0JBQWlCLFdBQ2JQLEtBQUtoQixNQUFRZ0IsS0FBS2hCLE1BQU1FLE9BQU8sU0FBVW1C
LEdBQ3JDLE9BQVFBLEVHL0J4QkgsYUhrQ1FNLFNBQVUsU0FBa0JILEdBQ3hCTCxLQUFLWixRR2hD
akJpQixHSGtDUUksU0FBVSxXQUNOVCxLQUFLWixRR2hDakIsT0htQ0lzQixVQUNJQyxVQUFXLFdB
Q1AsTUFBT1gsTUFBS2hCLE1BQU1FLE9BQU8sU0FBVW1CLEdBQy9CLE9BQVFBLEVBQUtILFlHakM3
QlUsUUhvQ1FWLFVBQVcsV0FDUCxNQUFPRixNQUFLaEIsTUFBTUUsT0FBTyxTQUFVbUIsR0FDL0Is
TUFBT0EsR0FBS0gsWUduQzVCVSxRSHNDUUMsY0FBZSxXQUNYLE1BQW9CLFdBQWhCYixLQUFLZCxP
QUNFYyxLQUFLaEIsTUFBTUUsT0FBTyxTQUFVbUIsR0FDL0IsT0FBUUEsRUdyQzVCSCxZSHVDdUMs
Y0FBaEJGLEtBQUtkLE9BQ0xjLEtBQUtoQixNQUFNRSxPQUFPLFNBQVVtQixHQUMvQixNQUFPQSxH
R3ZDM0JILFlIMkNtQkYsS0d4Q25CaEIsT0gyQ1FHLFNBQ0kyQixJQUFLLFdBQ0QsTUd6Q2hCLEtI
eUN1QmQsS0FBS1csV0FFaEJJLElBQUssU0FBYTNDLEdBQ2Q0QixLQUFLaEIsTUFBTWdDLFFBQVEs
U0FBVVgsR0FDekJBLEVBQUtILFVHekN6QjlCLFNIa0RNLFNBQVVOLEVBQVFDLEVBQVNDLEdBRWpD
LFlBZUEsU0FBU2lELEdBQXVCMUMsR0FBTyxNQUFPQSxJQUFPQSxFQUFJQyxXQUFhRCxHQUFRRSxR
QUFTRixHSXpLdkYsR0FBQU0sR0FBQWIsRUFBQSxHSitKSWMsRUFBUW1DLEVBQXVCcEMsR0k5Sm5D
cUMsRUFBQWxELEVBQUEsR0prS0ltRCxFQUFRRixFQUF1QkMsR0lqS25DRSxFQUFBcEQsRUFBQSxH
SnFLSXFELEVBQWFKLEVBQXVCRyxFSWxLeENFLFFBQU9DLE9BQVMsR0FBQXpDLEdBQUFMLFNBQ1pp
QixHQUFJLE9BQ0o4QixPQUFRLFNBQUFDLEdBQUEsTUFBS0EsZ0JBR2pCLElBQU1DLEdBQVMsR0FB
SUwsR0FBQTVDLFFBQVNrRCxRQUUzQixNQUFPLFNBQVUsYUFBYVgsUUFBUSxTQUFBWSxHQUNyQ0Ys
RUFBT0csR0FBR0QsRUFBWSxXQUNwQk4sT0FBT0MsT0FBT3JDLE9BQVMwQyxNQUkzQkYsRUFBT0ks
V0FDTEMsU0FBVSxXQUNSVCxPQUFPVSxTQUFTQyxLQUFPLEdBQ3ZCWCxPQUFPQyxPQUFPckMsT0FB
UyxTQUkzQndDLEVBQU9RLFFKNEtELFNBQVVwRSxFQUFRQyxLQU1sQixTQUFVRCxFQUFRQyxFQUFT
QyxHSzdNakMsUUFBQW1FLEdBQUFDLEdBQ0FwRSxFQUFBLEdBRUEsR0FBQUMsR0FBQUQsRUFBQSxH
QUVBQSxFQUFBLEdBRUFBLEVBQUEsR0FFQW1FLEVBRUEsS0FFQSxLQUdBckUsR0FBQUMsUUFBQUUs
RUFBQUYsU0xvTk0sU0FBVUQsRUFBUUMsR01wT3hCRCxFQUFBQyxTQUFnQnlELE9BQUEsV0FBbUIs
R0FBQWEsR0FBQXJDLEtBQWFzQyxFQUFBRCxFQUFBRSxlQUEwQkMsRUFBQUgsRUFBQUksTUFBQUQs
SUFBQUYsQ0FDMUUsT0FBQUUsR0FBQSxXQUNBRSxZQUFBLFlBQ0dGLEVBQUEsVUFDSEUsWUFBQSxX
QUNHRixFQUFBLE1BQUFILEVBQUFNLEdBQUEsV0FBQU4sRUFBQU0sR0FBQSxLQUFBSCxFQUFBLFNB
Q0hoRCxhQUNBZCxLQUFBLFFBQ0FrRSxRQUFBLFVBQ0F4RSxNQUFBaUUsRUFBQSxRQUNBUSxXQUFB
LFlBRUFILFlBQUEsV0FDQUksT0FDQUMsS0FBQSxPQUNBQyxVQUFBLEdBQ0FDLGFBQUEsTUFDQUMs
WUFBQSwwQkFFQUMsVUFDQS9FLE1BQUFpRSxFQUFBLFNBRUFSLElBQ0F1QixNQUFBLFNBQUFDLEdB
Q0EsZUFBQUEsS0FBQWhCLEVBQUFpQixHQUFBRCxFQUFBRSxRQUFBLFlBQTJFLFdBQzNFbEIsR0FB
QXRDLFFBQUFzRCxJQUVBRyxNQUFBLFNBQUFILEdBQ0FBLEVBQUFJLE9BQUFDLFlBQ0FyQixFQUFB
cEQsUUFBQW9FLEVBQUFJLE9BQUFyRixhQUdHaUUsRUFBQU0sR0FBQSxLQUFBSCxFQUFBLFdBQ0ho
RCxhQUNBZCxLQUFBLE9BQ0FrRSxRQUFBLFNBQ0F4RSxNQUFBaUUsRUFBQXJELE1BQUEsT0FDQTZE
LFdBQUEsaUJBRUFILFlBQUEsU0FDR0YsRUFBQSxTQUNIaEQsYUFDQWQsS0FBQSxRQUNBa0UsUUFB
QSxVQUNBeEUsTUFBQWlFLEVBQUEsUUFDQVEsV0FBQSxZQUVBSCxZQUFBLGFBQ0FJLE9BQ0FDLEtB
QUEsWUFFQUksVUFDQVEsUUFBQUMsTUFBQUMsUUFBQXhCLEVBQUFsRCxTQUFBa0QsRUFBQXlCLEdB
QUF6QixFQUFBbEQsUUFBQSxTQUFBa0QsRUFBQSxTQUVBUixJQUNBa0MsSUFBQSxTQUFBVixHQUNB
LEdBQUFXLEdBQUEzQixFQUFBbEQsUUFDQThFLEVBQUFaLEVBQUFJLE9BQ0FTLElBQUFELEVBQUFO
LE9BQ0EsSUFBQUMsTUFBQUMsUUFBQUcsR0FBQSxDQUNBLEdBQ0FHLEdBQUE5QixFQUFBeUIsR0FB
QUUsRUFEQSxLQUVBQyxHQUFBTixRQUNBUSxFQUFBLElBQUE5QixFQUFBbEQsUUFBQTZFLEVBQUFJ
LE9BSEEsT0FLQUQsR0FBQSxJQUFBOUIsRUFBQWxELFFBQUE2RSxFQUFBSyxNQUFBLEVBQUFGLEdB
QUFDLE9BQUFKLEVBQUFLLE1BQUFGLEVBQUEsU0FHQTlCLEdBQUFsRCxRQUFBK0UsTUFJRzdCLEVB
QUFNLEdBQUEsS0FBQUgsRUFBQSxNQUNIRSxZQUFBLGFBQ0dMLEVBQUFpQyxHQUFBakMsRUFBQSx1
QkFBQWhDLEdBQ0gsTUFBQW1DLEdBQUEsTUFDQUUsWUFBQSxPQUNBNkIsT0FDQXJFLFVBQUFHLEVB
QUFILFVBQUFkLFFBQUFpQixJQUFBZ0MsRUFBQWpELFdBRUtvRCxFQUFBLE9BQ0xFLFlBQUEsU0FD
S0YsRUFBQSxTQUNMaEQsYUFDQWQsS0FBQSxRQUNBa0UsUUFBQSxVQUNBeEUsTUFBQWlDLEVBQUEs
VUFDQXdDLFdBQUEsbUJBRUFILFlBQUEsU0FDQUksT0FDQUMsS0FBQSxZQUVBSSxVQUNBUSxRQUFB
QyxNQUFBQyxRQUFBeEQsRUFBQUgsV0FBQW1DLEVBQUF5QixHQUFBekQsRUFBQUgsVUFBQSxTQUFB
RyxFQUFBLFdBRUF3QixJQUNBa0MsSUFBQSxTQUFBVixHQUNBLEdBQUFXLEdBQUEzRCxFQUFBSCxV
QUNBK0QsRUFBQVosRUFBQUksT0FDQVMsSUFBQUQsRUFBQU4sT0FDQSxJQUFBQyxNQUFBQyxRQUFB
RyxHQUFBLENBQ0EsR0FDQUcsR0FBQTlCLEVBQUF5QixHQUFBRSxFQURBLEtBRUFDLEdBQUFOLFFB
Q0FRLEVBQUEsSUFBQTlELEVBQUFILFVBQUE4RCxFQUFBSSxPQUhBLE9BS0FELEdBQUEsSUFBQTlE
LEVBQUFILFVBQUE4RCxFQUFBSyxNQUFBLEVBQUFGLEdBQUFDLE9BQUFKLEVBQUFLLE1BQUFGLEVB
QUEsU0FHQTlELEdBQUFILFVBQUFnRSxNQUlLN0IsRUFBQU0sR0FBQSxLQUFBSCxFQUFBLFNBQ0xY
LElBQ0EyQyxTQUFBLFNBQUFuQixHQUNBaEIsRUFBQTdCLFNBQUFILE9BR0tnQyxFQUFBTSxHQUFB
TixFQUFBb0MsR0FBQXBFLEVBQUFGLFVBQUFrQyxFQUFBTSxHQUFBLEtBQUFILEVBQUEsVUFDTEUs
WUFBQSxVQUNBYixJQUNBNkMsTUFBQSxTQUFBckIsR0FDQUEsRUFBQXNCLGlCQUNBdEMsRUFBQWpD
LFdBQUFDLFNBR0tnQyxFQUFBTSxHQUFBLEtBQUFILEVBQUEsU0FDTGhELGFBQ0FkLEtBQUEsUUFD
QWtFLFFBQUEsVUFDQXhFLE1BQUFpQyxFQUFBLE1BQ0F3QyxXQUFBLGVBRUFuRSxLQUFBLFlBQ0Fr
RSxRQUFBLGNBQ0F4RSxNQUFBaUMsSUFBQWdDLEVBQUFqRCxRQUNBeUQsV0FBQSxxQkFFQUgsWUFB
QSxPQUNBSSxPQUNBQyxLQUFBLFFBRUFJLFVBQ0EvRSxNQUFBaUMsRUFBQSxPQUVBd0IsSUFDQXVC
LE1BQUEsU0FBQUMsR0FDQSxlQUFBQSxLQUFBaEIsRUFBQWlCLEdBQUFELEVBQUFFLFFBQUEsWUFB
NkUsV0FDN0VsQixHQUFBNUIsU0FBQTRDLElBRUF1QixLQUFBdkMsRUFBQTVCLFNBQ0ErQyxNQUFB
LFNBQUFILEdBQ0FBLEVBQUFJLE9BQUFDLFlBQ0FyRCxFQUFBRixNQUFBa0QsRUFBQUksT0FBQXJG
LGtCQUlHaUUsRUFBQU0sR0FBQSxLQUFBSCxFQUFBLFVBQ0hoRCxhQUNBZCxLQUFBLE9BQ0FrRSxR
QUFBLFNBQ0F4RSxNQUFBaUUsRUFBQXJELE1BQUE0QixPQUFBLEVBQ0FpQyxXQUFBLHFCQUVBSCxZ
QUFBLFdBQ0dGLEVBQUEsUUFDSEUsWUFBQSxlQUNHRixFQUFBLFVBQUFILEVBQUFNLEdBQUFOLEVB
QUFvQyxHQUFBcEMsRUFBQTFCLGNBQUEwQixFQUFBTSxHQUFBLElBQUFOLEVBQUFvQyxHQUFBcEMs
RUFBQXdDLEdBQUEsYUFBQXhDLEVBQUExQixZQUFBLHFCQUFBMEIsRUFBQU0sR0FBQSxLQUFBSCxF
QUFBLE1BQ0hFLFlBQUEsWUFDR0YsRUFBQSxNQUFBQSxFQUFBLEtBQ0grQixPQUNBTyxTQUFBLE9B
QUF6QyxFQUFBbkQsUUFFQTRELE9BQ0FpQyxLQUFBLFNBRUFsRCxJQUNBNkMsTUFBQSxTQUFBckIs
R0FDQWhCLEVBQUFuRCxPQUFBLFVBR0dtRCxFQUFBTSxHQUFBLFdBQUFOLEVBQUFNLEdBQUEsS0FB
QUgsRUFBQSxNQUFBQSxFQUFBLEtBQ0grQixPQUNBTyxTQUFBLFVBQUF6QyxFQUFBbkQsUUFFQTRE
LE9BQ0FpQyxLQUFBLFlBRUFsRCxJQUNBNkMsTUFBQSxTQUFBckIsR0FDQWhCLEVBQUFuRCxPQUFB
LGFBR0dtRCxFQUFBTSxHQUFBLGNBQUFOLEVBQUFNLEdBQUEsS0FBQUgsRUFBQSxNQUFBQSxFQUFB
LEtBQ0grQixPQUNBTyxTQUFBLGFBQUF6QyxFQUFBbkQsUUFFQTRELE9BQ0FpQyxLQUFBLGVBRUFs
RCxJQUNBNkMsTUFBQSxTQUFBckIsR0FDQWhCLEVBQUFuRCxPQUFBLGdCQUdHbUQsRUFBQU0sR0FB
QSxtQkFBQU4sRUFBQU0sR0FBQSxLQUFBSCxFQUFBLFVBQ0hoRCxhQUNBZCxLQUFBLE9BQ0FrRSxR
QUFBLFNBQ0F4RSxNQUFBaUUsRUFBQSxVQUNBUSxXQUFBLGNBRUFILFlBQUEsa0JBQ0FiLElBQ0E2
QyxNQUFBLFNBQUFyQixHQUNBQSxFQUFBc0IsaUJBQ0F0QyxFQUFBOUIsZ0JBQUE4QyxPQUdHaEIs
RUFBQU0sR0FBQSwwQkFDRnFDLHFCTjBPSyxTQUFVbEgsRUFBUUMsR094Y3hCRCxFQUFBQyxTQUFn
QnlELE9BQUEsV0FBbUIsR0FBQWEsR0FBQXJDLEtBQWFzQyxFQUFBRCxFQUFBRSxlQUEwQkMsRUFB
QUgsRUFBQUksTUFBQUQsSUFBQUYsQ0FDMUUsT0FBQUUsR0FBQSxPQUNBTSxPQUNBbUMsR0FBQSxT
QUVHekMsRUFBQSxjQUNGd0MsdUJQNmNFIiwiZmlsZSI6InN0YXRpYy9qcy9hcHAuZDZlZDg5MzU0
MzhmNDRlOTg0M2EuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ3ZWJwYWNrSnNvbnAoWzBdLFtcbi8q
IDAgKi8sXG4vKiAxICovLFxuLyogMiAqLyxcbi8qIDMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1
bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxudmFyIENvbXBvbmVudCA9IF9f
d2VicGFja19yZXF1aXJlX18oMSkoXG4gIC8qIHNjcmlwdCAqL1xuICBfX3dlYnBhY2tfcmVxdWly
ZV9fKDQpLFxuICAvKiB0ZW1wbGF0ZSAqL1xuICBfX3dlYnBhY2tfcmVxdWlyZV9fKDEwKSxcbiAg
Lyogc3R5bGVzICovXG4gIG51bGwsXG4gIC8qIHNjb3BlSWQgKi9cbiAgbnVsbCxcbiAgLyogbW9k
dWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG4gIG51bGxcbilcblxubW9kdWxlLmV4cG9y
dHMgPSBDb21wb25lbnQuZXhwb3J0c1xuXG5cbi8qKiovIH0pLFxuLyogNCAqL1xuLyoqKi8gKGZ1
bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBz
dHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxl
XCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfVG9kb3MgPSBfX3dlYnBhY2tfcmVx
dWlyZV9fKDgpO1xuXG52YXIgX1RvZG9zMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX1RvZG9z
KTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAm
JiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0cy5k
ZWZhdWx0ID0ge1xuICAgIG5hbWU6ICdhcHAnLFxuICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAg
VG9kb3M6IF9Ub2RvczIuZGVmYXVsdFxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogNSAqL1xu
LyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xu
XG5cInVzZSBzdHJpY3RcIjtcblxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJf
X2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfdnVlID0gX193ZWJw
YWNrX3JlcXVpcmVfXygwKTtcblxudmFyIF92dWUyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChf
dnVlKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9i
aiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuZXhwb3J0
cy5kZWZhdWx0ID0ge1xuICAgIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7XG4gICAgICAgIHJldHVy
biB7XG4gICAgICAgICAgICB0b2RvczogW10sXG4gICAgICAgICAgICBuZXdUb2RvOiAnJyxcbiAg
ICAgICAgICAgIGZpbHRlcjogJ2FsbCcsXG4gICAgICAgICAgICBhbGxEb25lOiBmYWxzZSxcbiAg
ICAgICAgICAgIGVkaXRpbmc6IG51bGxcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgZmlsdGVy
czoge1xuICAgICAgICBwbHVyYWxpemU6IGZ1bmN0aW9uIHBsdXJhbGl6ZShuKSB7XG4gICAgICAg
ICAgICByZXR1cm4gbiA9PT0gMSA/ICdpdGVtJyA6ICdpdGVtcyc7XG4gICAgICAgIH1cbiAgICB9
LFxuICAgIGRpcmVjdGl2ZXM6IHtcbiAgICAgICAgdG9kb0ZvY3VzOiBmdW5jdGlvbiB0b2RvRm9j
dXMoZWwsIHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAg
ICBfdnVlMi5kZWZhdWx0Lm5leHRUaWNrKGZ1bmN0aW9uIChfKSB7XG4gICAgICAgICAgICAgICAg
ICAgIGVsLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAg
ICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgYWRkVG9kbzogZnVuY3Rpb24g
YWRkVG9kbygpIHtcbiAgICAgICAgICAgIHRoaXMudG9kb3MucHVzaCh7XG4gICAgICAgICAgICAg
ICAgY29tcGxldGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy5uZXdUb2Rv
XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMubmV3VG9kbyA9ICcnO1xuICAgICAg
ICB9LFxuICAgICAgICBkZWxldGVUb2RvOiBmdW5jdGlvbiBkZWxldGVUb2RvKHRvZG8pIHtcbiAg
ICAgICAgICAgIHRoaXMudG9kb3MgPSB0aGlzLnRvZG9zLmZpbHRlcihmdW5jdGlvbiAodCkge1xu
ICAgICAgICAgICAgICAgIHJldHVybiB0ICE9PSB0b2RvO1xuICAgICAgICAgICAgfSk7XG4gICAg
ICAgIH0sXG4gICAgICAgIGRlbGV0ZUNvbXBsZXRlZDogZnVuY3Rpb24gZGVsZXRlQ29tcGxldGVk
KCkge1xuICAgICAgICAgICAgdGhpcy50b2RvcyA9IHRoaXMudG9kb3MuZmlsdGVyKGZ1bmN0aW9u
ICh0b2RvKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICF0b2RvLmNvbXBsZXRlZDtcbiAgICAg
ICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBlZGl0VG9kbzogZnVuY3Rpb24gZWRpdFRv
ZG8odG9kbykge1xuICAgICAgICAgICAgdGhpcy5lZGl0aW5nID0gdG9kbztcbiAgICAgICAgfSxc
biAgICAgICAgZG9uZUVkaXQ6IGZ1bmN0aW9uIGRvbmVFZGl0KCkge1xuICAgICAgICAgICAgdGhp
cy5lZGl0aW5nID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgY29tcHV0ZWQ6IHtcbiAg
ICAgICAgcmVtYWluaW5nOiBmdW5jdGlvbiByZW1haW5pbmcoKSB7XG4gICAgICAgICAgICByZXR1
cm4gdGhpcy50b2Rvcy5maWx0ZXIoZnVuY3Rpb24gKHRvZG8pIHtcbiAgICAgICAgICAgICAgICBy
ZXR1cm4gIXRvZG8uY29tcGxldGVkO1xuICAgICAgICAgICAgfSkubGVuZ3RoO1xuICAgICAgICB9
LFxuICAgICAgICBjb21wbGV0ZWQ6IGZ1bmN0aW9uIGNvbXBsZXRlZCgpIHtcbiAgICAgICAgICAg
IHJldHVybiB0aGlzLnRvZG9zLmZpbHRlcihmdW5jdGlvbiAodG9kbykge1xuICAgICAgICAgICAg
ICAgIHJldHVybiB0b2RvLmNvbXBsZXRlZDtcbiAgICAgICAgICAgIH0pLmxlbmd0aDtcbiAgICAg
ICAgfSxcbiAgICAgICAgZmlsdGVyZWRUb2RvczogZnVuY3Rpb24gZmlsdGVyZWRUb2RvcygpIHtc
biAgICAgICAgICAgIGlmICh0aGlzLmZpbHRlciA9PT0gJ2FjdGl2ZScpIHtcbiAgICAgICAgICAg
ICAgICByZXR1cm4gdGhpcy50b2Rvcy5maWx0ZXIoZnVuY3Rpb24gKHRvZG8pIHtcbiAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuICF0b2RvLmNvbXBsZXRlZDtcbiAgICAgICAgICAgICAgICB9KTtc
biAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5maWx0ZXIgPT09ICdjb21wbGV0ZWQnKSB7XG4g
ICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9kb3MuZmlsdGVyKGZ1bmN0aW9uICh0b2RvKSB7
XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0b2RvLmNvbXBsZXRlZDtcbiAgICAgICAgICAg
ICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9kb3M7
XG4gICAgICAgIH0sXG5cbiAgICAgICAgYWxsRG9uZToge1xuICAgICAgICAgICAgZ2V0OiBmdW5j
dGlvbiBnZXQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVtYWluaW5nID09PSAw
O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gc2V0KHZhbHVlKSB7
XG4gICAgICAgICAgICAgICAgdGhpcy50b2Rvcy5mb3JFYWNoKGZ1bmN0aW9uICh0b2RvKSB7XG4g
ICAgICAgICAgICAgICAgICAgIHRvZG8uY29tcGxldGVkID0gdmFsdWU7XG4gICAgICAgICAgICAg
ICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vKioqLyB9KSxc
bi8qIDYgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1
aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5cblxudmFyIF92dWUgPSBfX3dlYnBhY2tfcmVx
dWlyZV9fKDApO1xuXG52YXIgX3Z1ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF92dWUpO1xu
XG52YXIgX0FwcCA9IF9fd2VicGFja19yZXF1aXJlX18oMyk7XG5cbnZhciBfQXBwMiA9IF9pbnRl
cm9wUmVxdWlyZURlZmF1bHQoX0FwcCk7XG5cbnZhciBfZGlyZWN0b3IgPSBfX3dlYnBhY2tfcmVx
dWlyZV9fKDIpO1xuXG52YXIgX2RpcmVjdG9yMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2Rp
cmVjdG9yKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJu
IG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxud2lu
ZG93LlZ1ZUFwcCA9IG5ldyBfdnVlMi5kZWZhdWx0KHtcbiAgZWw6ICcjYXBwJyxcbiAgcmVuZGVy
OiBmdW5jdGlvbiByZW5kZXIoaCkge1xuICAgIHJldHVybiBoKF9BcHAyLmRlZmF1bHQpO1xuICB9
XG59KTtcblxudmFyIHJvdXRlciA9IG5ldyBfZGlyZWN0b3IyLmRlZmF1bHQuUm91dGVyKCk7XG5c
blsnYWxsJywgJ2FjdGl2ZScsICdjb21wbGV0ZWQnXS5mb3JFYWNoKGZ1bmN0aW9uICh2aXNpYmls
aXR5KSB7XG4gIHJvdXRlci5vbih2aXNpYmlsaXR5LCBmdW5jdGlvbiAoKSB7XG4gICAgd2luZG93
LlZ1ZUFwcC5maWx0ZXIgPSB2aXNpYmlsaXR5O1xuICB9KTtcbn0pO1xuXG5yb3V0ZXIuY29uZmln
dXJlKHtcbiAgbm90Zm91bmQ6IGZ1bmN0aW9uIG5vdGZvdW5kKCkge1xuICAgIHdpbmRvdy5sb2Nh
dGlvbi5oYXNoID0gJyc7XG4gICAgd2luZG93LlZ1ZUFwcC5maWx0ZXIgPSAnYWxsJztcbiAgfVxu
fSk7XG5cbnJvdXRlci5pbml0KCk7XG5cbi8qKiovIH0pLFxuLyogNyAqL1xuLyoqKi8gKGZ1bmN0
aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG4vLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJw
YWNrLXBsdWdpblxuXG4vKioqLyB9KSxcbi8qIDggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUs
IGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZnVuY3Rpb24gaW5qZWN0U3R5bGUg
KHNzckNvbnRleHQpIHtcbiAgX193ZWJwYWNrX3JlcXVpcmVfXyg3KVxufVxudmFyIENvbXBvbmVu
dCA9IF9fd2VicGFja19yZXF1aXJlX18oMSkoXG4gIC8qIHNjcmlwdCAqL1xuICBfX3dlYnBhY2tf
cmVxdWlyZV9fKDUpLFxuICAvKiB0ZW1wbGF0ZSAqL1xuICBfX3dlYnBhY2tfcmVxdWlyZV9fKDkp
LFxuICAvKiBzdHlsZXMgKi9cbiAgaW5qZWN0U3R5bGUsXG4gIC8qIHNjb3BlSWQgKi9cbiAgbnVs
bCxcbiAgLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkpICovXG4gIG51bGxcbilcblxu
bW9kdWxlLmV4cG9ydHMgPSBDb21wb25lbnQuZXhwb3J0c1xuXG5cbi8qKiovIH0pLFxuLyogOSAq
L1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5tb2R1bGUuZXhwb3J0cz17
cmVuZGVyOmZ1bmN0aW9uICgpe3ZhciBfdm09dGhpczt2YXIgX2g9X3ZtLiRjcmVhdGVFbGVtZW50
O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO1xuICByZXR1cm4gX2MoJ3NlY3Rpb24nLCB7XG4gICAg
c3RhdGljQ2xhc3M6IFwidG9kb2FwcFwiXG4gIH0sIFtfYygnaGVhZGVyJywge1xuICAgIHN0YXRp
Y0NsYXNzOiBcImhlYWRlclwiXG4gIH0sIFtfYygnaDEnLCBbX3ZtLl92KFwiVG9kb3NcIildKSwg
X3ZtLl92KFwiIFwiKSwgX2MoJ2lucHV0Jywge1xuICAgIGRpcmVjdGl2ZXM6IFt7XG4gICAgICBu
YW1lOiBcIm1vZGVsXCIsXG4gICAgICByYXdOYW1lOiBcInYtbW9kZWxcIixcbiAgICAgIHZhbHVl
OiAoX3ZtLm5ld1RvZG8pLFxuICAgICAgZXhwcmVzc2lvbjogXCJuZXdUb2RvXCJcbiAgICB9XSxc
biAgICBzdGF0aWNDbGFzczogXCJuZXctdG9kb1wiLFxuICAgIGF0dHJzOiB7XG4gICAgICBcInR5
cGVcIjogXCJ0ZXh0XCIsXG4gICAgICBcImF1dG9mb2N1c1wiOiBcIlwiLFxuICAgICAgXCJhdXRv
Y29tcGxldGVcIjogXCJvZmZcIixcbiAgICAgIFwicGxhY2Vob2xkZXJcIjogXCJXaGF0IG5lZWRz
IHRvIGJlIGRvbmU/XCJcbiAgICB9LFxuICAgIGRvbVByb3BzOiB7XG4gICAgICBcInZhbHVlXCI6
IChfdm0ubmV3VG9kbylcbiAgICB9LFxuICAgIG9uOiB7XG4gICAgICBcImtleXVwXCI6IGZ1bmN0
aW9uKCRldmVudCkge1xuICAgICAgICBpZiAoISgnYnV0dG9uJyBpbiAkZXZlbnQpICYmIF92bS5f
aygkZXZlbnQua2V5Q29kZSwgXCJlbnRlclwiLCAxMykpIHsgcmV0dXJuIG51bGw7IH1cbiAgICAg
ICAgX3ZtLmFkZFRvZG8oJGV2ZW50KVxuICAgICAgfSxcbiAgICAgIFwiaW5wdXRcIjogZnVuY3Rp
b24oJGV2ZW50KSB7XG4gICAgICAgIGlmICgkZXZlbnQudGFyZ2V0LmNvbXBvc2luZykgeyByZXR1
cm47IH1cbiAgICAgICAgX3ZtLm5ld1RvZG8gPSAkZXZlbnQudGFyZ2V0LnZhbHVlXG4gICAgICB9
XG4gICAgfVxuICB9KV0pLCBfdm0uX3YoXCIgXCIpLCBfYygnc2VjdGlvbicsIHtcbiAgICBkaXJl
Y3RpdmVzOiBbe1xuICAgICAgbmFtZTogXCJzaG93XCIsXG4gICAgICByYXdOYW1lOiBcInYtc2hv
d1wiLFxuICAgICAgdmFsdWU6IChfdm0udG9kb3MubGVuZ3RoKSxcbiAgICAgIGV4cHJlc3Npb246
IFwidG9kb3MubGVuZ3RoXCJcbiAgICB9XSxcbiAgICBzdGF0aWNDbGFzczogXCJtYWluXCJcbiAg
fSwgW19jKCdpbnB1dCcsIHtcbiAgICBkaXJlY3RpdmVzOiBbe1xuICAgICAgbmFtZTogXCJtb2Rl
bFwiLFxuICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICB2YWx1ZTogKF92bS5hbGxE
b25lKSxcbiAgICAgIGV4cHJlc3Npb246IFwiYWxsRG9uZVwiXG4gICAgfV0sXG4gICAgc3RhdGlj
Q2xhc3M6IFwidG9nZ2xlLWFsbFwiLFxuICAgIGF0dHJzOiB7XG4gICAgICBcInR5cGVcIjogXCJj
aGVja2JveFwiXG4gICAgfSxcbiAgICBkb21Qcm9wczoge1xuICAgICAgXCJjaGVja2VkXCI6IEFy
cmF5LmlzQXJyYXkoX3ZtLmFsbERvbmUpID8gX3ZtLl9pKF92bS5hbGxEb25lLCBudWxsKSA+IC0x
IDogKF92bS5hbGxEb25lKVxuICAgIH0sXG4gICAgb246IHtcbiAgICAgIFwiX19jXCI6IGZ1bmN0
aW9uKCRldmVudCkge1xuICAgICAgICB2YXIgJCRhID0gX3ZtLmFsbERvbmUsXG4gICAgICAgICAg
JCRlbCA9ICRldmVudC50YXJnZXQsXG4gICAgICAgICAgJCRjID0gJCRlbC5jaGVja2VkID8gKHRy
dWUpIDogKGZhbHNlKTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoJCRhKSkge1xuICAgICAg
ICAgIHZhciAkJHYgPSBudWxsLFxuICAgICAgICAgICAgJCRpID0gX3ZtLl9pKCQkYSwgJCR2KTtc
biAgICAgICAgICBpZiAoJCRlbC5jaGVja2VkKSB7XG4gICAgICAgICAgICAkJGkgPCAwICYmIChf
dm0uYWxsRG9uZSA9ICQkYS5jb25jYXQoJCR2KSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAg
ICAgICAgJCRpID4gLTEgJiYgKF92bS5hbGxEb25lID0gJCRhLnNsaWNlKDAsICQkaSkuY29uY2F0
KCQkYS5zbGljZSgkJGkgKyAxKSkpXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAg
ICAgICAgIF92bS5hbGxEb25lID0gJCRjXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0p
LCBfdm0uX3YoXCIgXCIpLCBfYygndWwnLCB7XG4gICAgc3RhdGljQ2xhc3M6IFwidG9kby1saXN0
XCJcbiAgfSwgX3ZtLl9sKChfdm0uZmlsdGVyZWRUb2RvcyksIGZ1bmN0aW9uKHRvZG8pIHtcbiAg
ICByZXR1cm4gX2MoJ2xpJywge1xuICAgICAgc3RhdGljQ2xhc3M6IFwidG9kb1wiLFxuICAgICAg
Y2xhc3M6IHtcbiAgICAgICAgY29tcGxldGVkOiB0b2RvLmNvbXBsZXRlZCwgZWRpdGluZzogdG9k
byA9PT0gX3ZtLmVkaXRpbmdcbiAgICAgIH1cbiAgICB9LCBbX2MoJ2RpdicsIHtcbiAgICAgIHN0
YXRpY0NsYXNzOiBcInZpZXdcIlxuICAgIH0sIFtfYygnaW5wdXQnLCB7XG4gICAgICBkaXJlY3Rp
dmVzOiBbe1xuICAgICAgICBuYW1lOiBcIm1vZGVsXCIsXG4gICAgICAgIHJhd05hbWU6IFwidi1t
b2RlbFwiLFxuICAgICAgICB2YWx1ZTogKHRvZG8uY29tcGxldGVkKSxcbiAgICAgICAgZXhwcmVz
c2lvbjogXCJ0b2RvLmNvbXBsZXRlZFwiXG4gICAgICB9XSxcbiAgICAgIHN0YXRpY0NsYXNzOiBc
InRvZ2dsZVwiLFxuICAgICAgYXR0cnM6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiY2hlY2tib3hc
IlxuICAgICAgfSxcbiAgICAgIGRvbVByb3BzOiB7XG4gICAgICAgIFwiY2hlY2tlZFwiOiBBcnJh
eS5pc0FycmF5KHRvZG8uY29tcGxldGVkKSA/IF92bS5faSh0b2RvLmNvbXBsZXRlZCwgbnVsbCkg
PiAtMSA6ICh0b2RvLmNvbXBsZXRlZClcbiAgICAgIH0sXG4gICAgICBvbjoge1xuICAgICAgICBc
Il9fY1wiOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICB2YXIgJCRhID0gdG9kby5jb21w
bGV0ZWQsXG4gICAgICAgICAgICAkJGVsID0gJGV2ZW50LnRhcmdldCxcbiAgICAgICAgICAgICQk
YyA9ICQkZWwuY2hlY2tlZCA/ICh0cnVlKSA6IChmYWxzZSk7XG4gICAgICAgICAgaWYgKEFycmF5
LmlzQXJyYXkoJCRhKSkge1xuICAgICAgICAgICAgdmFyICQkdiA9IG51bGwsXG4gICAgICAgICAg
ICAgICQkaSA9IF92bS5faSgkJGEsICQkdik7XG4gICAgICAgICAgICBpZiAoJCRlbC5jaGVja2Vk
KSB7XG4gICAgICAgICAgICAgICQkaSA8IDAgJiYgKHRvZG8uY29tcGxldGVkID0gJCRhLmNvbmNh
dCgkJHYpKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgJCRpID4gLTEgJiYg
KHRvZG8uY29tcGxldGVkID0gJCRhLnNsaWNlKDAsICQkaSkuY29uY2F0KCQkYS5zbGljZSgkJGkg
KyAxKSkpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRv
ZG8uY29tcGxldGVkID0gJCRjXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAg
fSksIF92bS5fdihcIiBcIiksIF9jKCdsYWJlbCcsIHtcbiAgICAgIG9uOiB7XG4gICAgICAgIFwi
ZGJsY2xpY2tcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgX3ZtLmVkaXRUb2RvKHRv
ZG8pXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBbX3ZtLl92KF92bS5fcyh0b2RvLnRpdGxl
KSldKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2J1dHRvbicsIHtcbiAgICAgIHN0YXRpY0NsYXNzOiBc
ImRlc3Ryb3lcIixcbiAgICAgIG9uOiB7XG4gICAgICAgIFwiY2xpY2tcIjogZnVuY3Rpb24oJGV2
ZW50KSB7XG4gICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgX3Zt
LmRlbGV0ZVRvZG8odG9kbylcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXSksIF92bS5fdihc
IiBcIiksIF9jKCdpbnB1dCcsIHtcbiAgICAgIGRpcmVjdGl2ZXM6IFt7XG4gICAgICAgIG5hbWU6
IFwibW9kZWxcIixcbiAgICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICAgIHZhbHVl
OiAodG9kby50aXRsZSksXG4gICAgICAgIGV4cHJlc3Npb246IFwidG9kby50aXRsZVwiXG4gICAg
ICB9LCB7XG4gICAgICAgIG5hbWU6IFwidG9kb0ZvY3VzXCIsXG4gICAgICAgIHJhd05hbWU6IFwi
di10b2RvRm9jdXNcIixcbiAgICAgICAgdmFsdWU6ICh0b2RvID09PSBfdm0uZWRpdGluZyksXG4g
ICAgICAgIGV4cHJlc3Npb246IFwidG9kbyA9PT0gZWRpdGluZ1wiXG4gICAgICB9XSxcbiAgICAg
IHN0YXRpY0NsYXNzOiBcImVkaXRcIixcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIFwidHlwZVwi
OiBcInRleHRcIlxuICAgICAgfSxcbiAgICAgIGRvbVByb3BzOiB7XG4gICAgICAgIFwidmFsdWVc
IjogKHRvZG8udGl0bGUpXG4gICAgICB9LFxuICAgICAgb246IHtcbiAgICAgICAgXCJrZXl1cFwi
OiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICBpZiAoISgnYnV0dG9uJyBpbiAkZXZlbnQp
ICYmIF92bS5faygkZXZlbnQua2V5Q29kZSwgXCJlbnRlclwiLCAxMykpIHsgcmV0dXJuIG51bGw7
IH1cbiAgICAgICAgICBfdm0uZG9uZUVkaXQoJGV2ZW50KVxuICAgICAgICB9LFxuICAgICAgICBc
ImJsdXJcIjogX3ZtLmRvbmVFZGl0LFxuICAgICAgICBcImlucHV0XCI6IGZ1bmN0aW9uKCRldmVu
dCkge1xuICAgICAgICAgIGlmICgkZXZlbnQudGFyZ2V0LmNvbXBvc2luZykgeyByZXR1cm47IH1c
biAgICAgICAgICB0b2RvLnRpdGxlID0gJGV2ZW50LnRhcmdldC52YWx1ZVxuICAgICAgICB9XG4g
ICAgICB9XG4gICAgfSldKVxuICB9KSldKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2Zvb3RlcicsIHtc
biAgICBkaXJlY3RpdmVzOiBbe1xuICAgICAgbmFtZTogXCJzaG93XCIsXG4gICAgICByYXdOYW1l
OiBcInYtc2hvd1wiLFxuICAgICAgdmFsdWU6IChfdm0udG9kb3MubGVuZ3RoID4gMCksXG4gICAg
ICBleHByZXNzaW9uOiBcInRvZG9zLmxlbmd0aCA+IDBcIlxuICAgIH1dLFxuICAgIHN0YXRpY0Ns
YXNzOiBcImZvb3RlclwiXG4gIH0sIFtfYygnc3BhbicsIHtcbiAgICBzdGF0aWNDbGFzczogXCJ0
b2RvLWNvdW50XCJcbiAgfSwgW19jKCdzdHJvbmcnLCBbX3ZtLl92KF92bS5fcyhfdm0ucmVtYWlu
aW5nKSldKSwgX3ZtLl92KFwiIFwiICsgX3ZtLl9zKF92bS5fZihcInBsdXJhbGl6ZVwiKShfdm0u
cmVtYWluaW5nKSkgKyBcIiBsZWZ0XFxuICAgICAgICBcIildKSwgX3ZtLl92KFwiIFwiKSwgX2Mo
J3VsJywge1xuICAgIHN0YXRpY0NsYXNzOiBcImZpbHRlcnNcIlxuICB9LCBbX2MoJ2xpJywgW19j
KCdhJywge1xuICAgIGNsYXNzOiB7XG4gICAgICBzZWxlY3RlZDogX3ZtLmZpbHRlciA9PSAnYWxs
J1xuICAgIH0sXG4gICAgYXR0cnM6IHtcbiAgICAgIFwiaHJlZlwiOiBcIiMvYWxsXCJcbiAgICB9
LFxuICAgIG9uOiB7XG4gICAgICBcImNsaWNrXCI6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAg
ICBfdm0uZmlsdGVyID0gJ2FsbCdcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtfdm0uX3YoXCJBbGxc
IildKV0pLCBfdm0uX3YoXCIgXCIpLCBfYygnbGknLCBbX2MoJ2EnLCB7XG4gICAgY2xhc3M6IHtc
biAgICAgIHNlbGVjdGVkOiBfdm0uZmlsdGVyID09ICdhY3RpdmUnXG4gICAgfSxcbiAgICBhdHRy
czoge1xuICAgICAgXCJocmVmXCI6IFwiIy9hY3RpdmVcIlxuICAgIH0sXG4gICAgb246IHtcbiAg
ICAgIFwiY2xpY2tcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgIF92bS5maWx0ZXIgPSAn
YWN0aXZlJ1xuICAgICAgfVxuICAgIH1cbiAgfSwgW192bS5fdihcIkFjdGl2ZVwiKV0pXSksIF92
bS5fdihcIiBcIiksIF9jKCdsaScsIFtfYygnYScsIHtcbiAgICBjbGFzczoge1xuICAgICAgc2Vs
ZWN0ZWQ6IF92bS5maWx0ZXIgPT0gJ2NvbXBsZXRlZCdcbiAgICB9LFxuICAgIGF0dHJzOiB7XG4g
ICAgICBcImhyZWZcIjogXCIjL2NvbXBsZXRlZFwiXG4gICAgfSxcbiAgICBvbjoge1xuICAgICAg
XCJjbGlja1wiOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgX3ZtLmZpbHRlciA9ICdjb21w
bGV0ZWQnXG4gICAgICB9XG4gICAgfVxuICB9LCBbX3ZtLl92KFwiQ29tcGxldGVkXCIpXSldKV0p
LCBfdm0uX3YoXCIgXCIpLCBfYygnYnV0dG9uJywge1xuICAgIGRpcmVjdGl2ZXM6IFt7XG4gICAg
ICBuYW1lOiBcInNob3dcIixcbiAgICAgIHJhd05hbWU6IFwidi1zaG93XCIsXG4gICAgICB2YWx1
ZTogKF92bS5jb21wbGV0ZWQpLFxuICAgICAgZXhwcmVzc2lvbjogXCJjb21wbGV0ZWRcIlxuICAg
IH1dLFxuICAgIHN0YXRpY0NsYXNzOiBcImNsZWFyLWNvbXBsZXRlZFwiLFxuICAgIG9uOiB7XG4g
ICAgICBcImNsaWNrXCI6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAkZXZlbnQucHJldmVu
dERlZmF1bHQoKTtcbiAgICAgICAgX3ZtLmRlbGV0ZUNvbXBsZXRlZCgkZXZlbnQpXG4gICAgICB9
XG4gICAgfVxuICB9LCBbX3ZtLl92KFwiQ2xlYXIgQ29tcGxldGVkXCIpXSldKV0pXG59LHN0YXRp
Y1JlbmRlckZuczogW119XG5cbi8qKiovIH0pLFxuLyogMTAgKi9cbi8qKiovIChmdW5jdGlvbiht
b2R1bGUsIGV4cG9ydHMpIHtcblxubW9kdWxlLmV4cG9ydHM9e3JlbmRlcjpmdW5jdGlvbiAoKXt2
YXIgX3ZtPXRoaXM7dmFyIF9oPV92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxmLl9j
fHxfaDtcbiAgcmV0dXJuIF9jKCdkaXYnLCB7XG4gICAgYXR0cnM6IHtcbiAgICAgIFwiaWRcIjog
XCJhcHBcIlxuICAgIH1cbiAgfSwgW19jKCdUb2RvcycpXSwgMSlcbn0sc3RhdGljUmVuZGVyRm5z
OiBbXX1cblxuLyoqKi8gfSlcbl0sWzZdKTtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8g
c3RhdGljL2pzL2FwcC5kNmVkODkzNTQzOGY0NGU5ODQzYS5qcyIsInZhciBDb21wb25lbnQgPSBy
ZXF1aXJlKFwiIS4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFs
aXplclwiKShcbiAgLyogc2NyaXB0ICovXG4gIHJlcXVpcmUoXCIhIWJhYmVsLWxvYWRlciEuLi9u
b2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEu
L0FwcC52dWVcIiksXG4gIC8qIHRlbXBsYXRlICovXG4gIHJlcXVpcmUoXCIhIS4uL25vZGVfbW9k
dWxlcy92dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxlci9pbmRleD97XFxcImlkXFxcIjpc
XFwiZGF0YS12LWEyNTZlYzZhXFxcIixcXFwiaGFzU2NvcGVkXFxcIjpmYWxzZX0hLi4vbm9kZV9t
b2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL0Fw
cC52dWVcIiksXG4gIC8qIHN0eWxlcyAqL1xuICBudWxsLFxuICAvKiBzY29wZUlkICovXG4gIG51
bGwsXG4gIC8qIG1vZHVsZUlkZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xuICBudWxsXG4pXG5c
bm1vZHVsZS5leHBvcnRzID0gQ29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8v
Ly8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL0FwcC52dWVcbi8vIG1vZHVsZSBpZCA9
IDNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiPHRlbXBsYXRlPlxuICA8ZGl2IGlkPVwiYXBwXCI+
XG4gICAgPFRvZG9zPjwvVG9kb3M+XG4gIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5c
bmltcG9ydCBUb2RvcyBmcm9tICcuL2NvbXBvbmVudHMvVG9kb3MnXG5cbmV4cG9ydCBkZWZhdWx0
IHtcbiAgICBuYW1lOiAnYXBwJyxcbiAgICBjb21wb25lbnRzOiB7XG4gICAgICAgIFRvZG9zXG4g
ICAgfVxufVxuPC9zY3JpcHQ+XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gQXBwLnZ1
ZT83MWE0ZTUxOSIsIjx0ZW1wbGF0ZT5cbiAgICA8c2VjdGlvbiBjbGFzcz1cInRvZG9hcHBcIj5c
biAgICAgICAgPGhlYWRlciBjbGFzcz1cImhlYWRlclwiPlxuICAgICAgICAgICAgPGgxPlRvZG9z
PC9oMT5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwibmV3LXRvZG9c
IiBhdXRvZm9jdXMgYXV0b2NvbXBsZXRlPVwib2ZmXCIgcGxhY2Vob2xkZXI9XCJXaGF0IG5lZWRz
IHRvIGJlIGRvbmU/XCIgdi1tb2RlbD1cIm5ld1RvZG9cIiBAa2V5dXAuZW50ZXI9XCJhZGRUb2Rv
XCIgLz5cbiAgICAgICAgPC9oZWFkZXI+XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwibWFpblwi
IHYtc2hvdz1cInRvZG9zLmxlbmd0aFwiIHYtY2xvYWs+XG4gICAgICAgICAgICA8aW5wdXQgdHlw
ZT1cImNoZWNrYm94XCIgY2xhc3M9XCJ0b2dnbGUtYWxsXCIgdi1tb2RlbD1cImFsbERvbmVcIj5c
biAgICAgICAgICAgIDx1bCBjbGFzcz1cInRvZG8tbGlzdFwiPlxuICAgICAgICAgICAgICAgIDxs
aSBjbGFzcz1cInRvZG9cIiB2LWZvcj1cInRvZG8gaW4gZmlsdGVyZWRUb2Rvc1wiIDpjbGFzcz1c
Intjb21wbGV0ZWQgOiB0b2RvLmNvbXBsZXRlZCwgZWRpdGluZyA6IHRvZG8gPT09IGVkaXRpbmcg
fVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmlld1wiPlxuICAgICAgICAg
ICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIHYtbW9kZWw9XCJ0b2RvLmNv
bXBsZXRlZFwiIGNsYXNzPVwidG9nZ2xlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFi
ZWwgQGRibGNsaWNrPVwiZWRpdFRvZG8odG9kbylcIj57eyB0b2RvLnRpdGxlIH19PC9sYWJlbD5c
biAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJkZXN0cm95XCIgQGNsaWNr
LnByZXZlbnQ9XCJkZWxldGVUb2RvKHRvZG8pXCI+PC9idXR0b24+XG4gICAgICAgICAgICAgICAg
ICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFz
cz1cImVkaXRcIiB2LW1vZGVsPVwidG9kby50aXRsZVwiIEBrZXl1cC5lbnRlcj1cImRvbmVFZGl0
XCIgQGJsdXI9XCJkb25lRWRpdFwiIHYtdG9kb0ZvY3VzPVwidG9kbyA9PT0gZWRpdGluZ1wiPjwv
aW5wdXQ+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAg
IDwvc2VjdGlvbj5cbiAgICAgICAgPGZvb3RlciBjbGFzcz1cImZvb3RlclwiIHYtc2hvdz1cInRv
ZG9zLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidG9kby1jb3VudFwi
PlxuICAgICAgICAgICAgPHN0cm9uZz57eyByZW1haW5pbmcgfX08L3N0cm9uZz4ge3sgcmVtYWlu
aW5nIHwgcGx1cmFsaXplIH19IGxlZnRcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAg
IDx1bCBjbGFzcz1cImZpbHRlcnNcIj5cbiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj1cIiMv
YWxsXCIgOmNsYXNzPVwie3NlbGVjdGVkOiBmaWx0ZXIgPT0gJ2FsbCd9XCIgQGNsaWNrPVwiZmls
dGVyID0gJ2FsbCdcIj5BbGw8L2E+PC9saT5cbiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj1c
IiMvYWN0aXZlXCIgOmNsYXNzPVwie3NlbGVjdGVkOiBmaWx0ZXIgPT0gJ2FjdGl2ZSd9XCIgQGNs
aWNrPVwiZmlsdGVyID0gJ2FjdGl2ZSdcIj5BY3RpdmU8L2E+PC9saT5cbiAgICAgICAgICAgICAg
ICA8bGk+PGEgaHJlZj1cIiMvY29tcGxldGVkXCIgOmNsYXNzPVwie3NlbGVjdGVkOiBmaWx0ZXIg
PT0gJ2NvbXBsZXRlZCd9XCIgQGNsaWNrPVwiZmlsdGVyID0gJ2NvbXBsZXRlZCdcIj5Db21wbGV0
ZWQ8L2E+PC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNz
PVwiY2xlYXItY29tcGxldGVkXCIgdi1zaG93PVwiY29tcGxldGVkXCIgQGNsaWNrLnByZXZlbnQ9
XCJkZWxldGVDb21wbGV0ZWRcIj5DbGVhciBDb21wbGV0ZWQ8L2J1dHRvbj5cbiAgICAgICAgPC9m
b290ZXI+XG4gICAgPC9zZWN0aW9uPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbmltcG9ydCBW
dWUgZnJvbSAndnVlJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gICAgZGF0YSAoKSB7XG4gICAgICAg
IHJldHVybiB7XG4gICAgICAgICAgICB0b2RvczogW10sXG4gICAgICAgICAgICBuZXdUb2RvOiAn
JyxcbiAgICAgICAgICAgIGZpbHRlcjogJ2FsbCcsXG4gICAgICAgICAgICBhbGxEb25lOiBmYWxz
ZSxcbiAgICAgICAgICAgIGVkaXRpbmc6IG51bGxcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZmls
dGVyczoge1xuICAgICAgICBwbHVyYWxpemU6IGZ1bmN0aW9uIChuKSB7XG4gICAgICAgIHJldHVy
biBuID09PSAxID8gJ2l0ZW0nIDogJ2l0ZW1zJ1xuICAgICAgICB9XG4gICAgfSxcbiAgICBkaXJl
Y3RpdmVzOiB7XG4gICAgICAgIHRvZG9Gb2N1cyAoZWwsIHZhbHVlKSB7XG4gICAgICAgICAgICBp
ZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBWdWUubmV4dFRpY2soXyA9PiB7XG4gICAgICAg
ICAgICAgICAgICAgIGVsLmZvY3VzKClcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAg
fVxuICAgICAgICB9XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIGFkZFRvZG8gKCkg
e1xuICAgICAgICAgICAgdGhpcy50b2Rvcy5wdXNoKHtcbiAgICAgICAgICAgICAgICBjb21wbGV0
ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLm5ld1RvZG9cbiAgICAgICAg
ICAgIH0pXG4gICAgICAgICAgICB0aGlzLm5ld1RvZG8gPSAnJ1xuICAgICAgICB9LFxuICAgICAg
ICBkZWxldGVUb2RvICh0b2RvKSB7XG4gICAgICAgICAgICB0aGlzLnRvZG9zID0gdGhpcy50b2Rv
cy5maWx0ZXIodCA9PiB0ICE9PSB0b2RvKVxuICAgICAgICB9LFxuICAgICAgICBkZWxldGVDb21w
bGV0ZWQgKCkge1xuICAgICAgICAgICAgdGhpcy50b2RvcyA9IHRoaXMudG9kb3MuZmlsdGVyKHRv
ZG8gPT4gIXRvZG8uY29tcGxldGVkKVxuICAgICAgICB9LFxuICAgICAgICBlZGl0VG9kbyAodG9k
bykge1xuICAgICAgICAgICAgdGhpcy5lZGl0aW5nID0gdG9kb1xuICAgICAgICB9LFxuICAgICAg
ICBkb25lRWRpdCAoKSB7XG4gICAgICAgICAgICB0aGlzLmVkaXRpbmcgPSBudWxsXG4gICAgICAg
IH1cbiAgICB9LFxuICAgIGNvbXB1dGVkOiB7XG4gICAgICAgIHJlbWFpbmluZyAoKSB7XG4gICAg
ICAgICAgICByZXR1cm4gdGhpcy50b2Rvcy5maWx0ZXIodG9kbyA9PiAhdG9kby5jb21wbGV0ZWQp
Lmxlbmd0aFxuICAgICAgICB9LFxuICAgICAgICBjb21wbGV0ZWQgKCkge1xuICAgICAgICAgICAg
cmV0dXJuIHRoaXMudG9kb3MuZmlsdGVyKHRvZG8gPT4gdG9kby5jb21wbGV0ZWQpLmxlbmd0aFxu
ICAgICAgICB9LFxuICAgICAgICBmaWx0ZXJlZFRvZG9zICgpIHtcbiAgICAgICAgICAgIGlmICh0
aGlzLmZpbHRlciA9PT0gJ2FjdGl2ZScpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50
b2Rvcy5maWx0ZXIodG9kbyA9PiAhdG9kby5jb21wbGV0ZWQpXG4gICAgICAgICAgICB9IGVsc2Ug
aWYgKHRoaXMuZmlsdGVyID09PSAnY29tcGxldGVkJykge1xuICAgICAgICAgICAgICAgIHJldHVy
biB0aGlzLnRvZG9zLmZpbHRlcih0b2RvID0+IHRvZG8uY29tcGxldGVkKVxuICAgICAgICAgICAg
fVxuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy50b2Rvc1xuICAgICAgICB9LFxuICAgICAgICBh
bGxEb25lOiB7XG4gICAgICAgICAgICBnZXQgKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0
aGlzLnJlbWFpbmluZyA9PT0gMFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldCAodmFs
dWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRvZG9zLmZvckVhY2godG9kbyA9PiB7XG4gICAg
ICAgICAgICAgICAgICAgIHRvZG8uY29tcGxldGVkID0gdmFsdWVcbiAgICAgICAgICAgICAgICB9
KVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuPC9zY3JpcHQ+XG5cbjxzdHls
ZSBzcmM9XCIuL3RvZG8uY3NzXCI+PC9zdHlsZT5cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8v
XG4vLyBUb2Rvcy52dWU/MWFiMjM4MmYiLCIvLyBUaGUgVnVlIGJ1aWxkIHZlcnNpb24gdG8gbG9h
ZCB3aXRoIHRoZSBgaW1wb3J0YCBjb21tYW5kXG4vLyAocnVudGltZS1vbmx5IG9yIHN0YW5kYWxv
bmUpIGhhcyBiZWVuIHNldCBpbiB3ZWJwYWNrLmJhc2UuY29uZiB3aXRoIGFuIGFsaWFzLlxuaW1w
b3J0IFZ1ZSBmcm9tICd2dWUnXG5pbXBvcnQgQXBwIGZyb20gJy4vQXBwJ1xuaW1wb3J0IERpcmVj
dG9yIGZyb20gJ2RpcmVjdG9yL2J1aWxkL2RpcmVjdG9yJ1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBu
by1uZXcgKi9cbndpbmRvdy5WdWVBcHAgPSBuZXcgVnVlKHtcbiAgICBlbDogJyNhcHAnLFxuICAg
IHJlbmRlcjogaCA9PiBoKEFwcClcbn0pXG5cbmNvbnN0IHJvdXRlciA9IG5ldyBEaXJlY3Rvci5S
b3V0ZXIoKTtcblxuWydhbGwnLCAnYWN0aXZlJywgJ2NvbXBsZXRlZCddLmZvckVhY2godmlzaWJp
bGl0eSA9PiB7XG4gIHJvdXRlci5vbih2aXNpYmlsaXR5LCAoKSA9PiB7XG4gICAgd2luZG93LlZ1
ZUFwcC5maWx0ZXIgPSB2aXNpYmlsaXR5O1xuICB9KTtcbn0pO1xuXG5yb3V0ZXIuY29uZmlndXJl
KHtcbiAgbm90Zm91bmQ6IGZ1bmN0aW9uICgpIHtcbiAgICB3aW5kb3cubG9jYXRpb24uaGFzaCA9
ICcnO1xuICAgIHdpbmRvdy5WdWVBcHAuZmlsdGVyID0gJ2FsbCc7XG4gIH1cbn0pO1xuXG5yb3V0
ZXIuaW5pdCgpO1xuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3NyYy9tYWluLmpzIiwi
ZnVuY3Rpb24gaW5qZWN0U3R5bGUgKHNzckNvbnRleHQpIHtcbiAgcmVxdWlyZShcIiEhLi4vLi4v
bm9kZV9tb2R1bGVzL2V4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpbi9sb2FkZXIuanM/e1xcXCJv
bWl0XFxcIjoxLFxcXCJyZW1vdmVcXFwiOnRydWV9IXZ1ZS1zdHlsZS1sb2FkZXIhY3NzLWxvYWRl
cj97XFxcIm1pbmltaXplXFxcIjp0cnVlLFxcXCJzb3VyY2VNYXBcXFwiOnRydWV9IS4uLy4uL25v
ZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlci9pbmRleD97XFxcInZ1ZVxc
XCI6dHJ1ZSxcXFwiaWRcXFwiOlxcXCJkYXRhLXYtN2QzY2FjYmFcXFwiLFxcXCJzY29wZWRcXFwi
OmZhbHNlLFxcXCJoYXNJbmxpbmVDb25maWdcXFwiOmZhbHNlfSEuL3RvZG8uY3NzXCIpXG59XG52
YXIgQ29tcG9uZW50ID0gcmVxdWlyZShcIiEuLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9s
aWIvY29tcG9uZW50LW5vcm1hbGl6ZXJcIikoXG4gIC8qIHNjcmlwdCAqL1xuICByZXF1aXJlKFwi
ISFiYWJlbC1sb2FkZXIhLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9y
P3R5cGU9c2NyaXB0JmluZGV4PTAhLi9Ub2Rvcy52dWVcIiksXG4gIC8qIHRlbXBsYXRlICovXG4g
IHJlcXVpcmUoXCIhIS4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1j
b21waWxlci9pbmRleD97XFxcImlkXFxcIjpcXFwiZGF0YS12LTdkM2NhY2JhXFxcIixcXFwiaGFz
U2NvcGVkXFxcIjpmYWxzZX0hLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3NlbGVj
dG9yP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL1RvZG9zLnZ1ZVwiKSxcbiAgLyogc3R5bGVzICov
XG4gIGluamVjdFN0eWxlLFxuICAvKiBzY29wZUlkICovXG4gIG51bGwsXG4gIC8qIG1vZHVsZUlk
ZW50aWZpZXIgKHNlcnZlciBvbmx5KSAqL1xuICBudWxsXG4pXG5cbm1vZHVsZS5leHBvcnRzID0g
Q29tcG9uZW50LmV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBG
T09URVJcbi8vIC4vc3JjL2NvbXBvbmVudHMvVG9kb3MudnVlXG4vLyBtb2R1bGUgaWQgPSA4XG4v
LyBtb2R1bGUgY2h1bmtzID0gMCIsIm1vZHVsZS5leHBvcnRzPXtyZW5kZXI6ZnVuY3Rpb24gKCl7
dmFyIF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5f
Y3x8X2g7XG4gIHJldHVybiBfYygnc2VjdGlvbicsIHtcbiAgICBzdGF0aWNDbGFzczogXCJ0b2Rv
YXBwXCJcbiAgfSwgW19jKCdoZWFkZXInLCB7XG4gICAgc3RhdGljQ2xhc3M6IFwiaGVhZGVyXCJc
biAgfSwgW19jKCdoMScsIFtfdm0uX3YoXCJUb2Rvc1wiKV0pLCBfdm0uX3YoXCIgXCIpLCBfYygn
aW5wdXQnLCB7XG4gICAgZGlyZWN0aXZlczogW3tcbiAgICAgIG5hbWU6IFwibW9kZWxcIixcbiAg
ICAgIHJhd05hbWU6IFwidi1tb2RlbFwiLFxuICAgICAgdmFsdWU6IChfdm0ubmV3VG9kbyksXG4g
ICAgICBleHByZXNzaW9uOiBcIm5ld1RvZG9cIlxuICAgIH1dLFxuICAgIHN0YXRpY0NsYXNzOiBc
Im5ldy10b2RvXCIsXG4gICAgYXR0cnM6IHtcbiAgICAgIFwidHlwZVwiOiBcInRleHRcIixcbiAg
ICAgIFwiYXV0b2ZvY3VzXCI6IFwiXCIsXG4gICAgICBcImF1dG9jb21wbGV0ZVwiOiBcIm9mZlwi
LFxuICAgICAgXCJwbGFjZWhvbGRlclwiOiBcIldoYXQgbmVlZHMgdG8gYmUgZG9uZT9cIlxuICAg
IH0sXG4gICAgZG9tUHJvcHM6IHtcbiAgICAgIFwidmFsdWVcIjogKF92bS5uZXdUb2RvKVxuICAg
IH0sXG4gICAgb246IHtcbiAgICAgIFwia2V5dXBcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAg
ICAgIGlmICghKCdidXR0b24nIGluICRldmVudCkgJiYgX3ZtLl9rKCRldmVudC5rZXlDb2RlLCBc
ImVudGVyXCIsIDEzKSkgeyByZXR1cm4gbnVsbDsgfVxuICAgICAgICBfdm0uYWRkVG9kbygkZXZl
bnQpXG4gICAgICB9LFxuICAgICAgXCJpbnB1dFwiOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAg
ICAgaWYgKCRldmVudC50YXJnZXQuY29tcG9zaW5nKSB7IHJldHVybjsgfVxuICAgICAgICBfdm0u
bmV3VG9kbyA9ICRldmVudC50YXJnZXQudmFsdWVcbiAgICAgIH1cbiAgICB9XG4gIH0pXSksIF92
bS5fdihcIiBcIiksIF9jKCdzZWN0aW9uJywge1xuICAgIGRpcmVjdGl2ZXM6IFt7XG4gICAgICBu
YW1lOiBcInNob3dcIixcbiAgICAgIHJhd05hbWU6IFwidi1zaG93XCIsXG4gICAgICB2YWx1ZTog
KF92bS50b2Rvcy5sZW5ndGgpLFxuICAgICAgZXhwcmVzc2lvbjogXCJ0b2Rvcy5sZW5ndGhcIlxu
ICAgIH1dLFxuICAgIHN0YXRpY0NsYXNzOiBcIm1haW5cIlxuICB9LCBbX2MoJ2lucHV0Jywge1xu
ICAgIGRpcmVjdGl2ZXM6IFt7XG4gICAgICBuYW1lOiBcIm1vZGVsXCIsXG4gICAgICByYXdOYW1l
OiBcInYtbW9kZWxcIixcbiAgICAgIHZhbHVlOiAoX3ZtLmFsbERvbmUpLFxuICAgICAgZXhwcmVz
c2lvbjogXCJhbGxEb25lXCJcbiAgICB9XSxcbiAgICBzdGF0aWNDbGFzczogXCJ0b2dnbGUtYWxs
XCIsXG4gICAgYXR0cnM6IHtcbiAgICAgIFwidHlwZVwiOiBcImNoZWNrYm94XCJcbiAgICB9LFxu
ICAgIGRvbVByb3BzOiB7XG4gICAgICBcImNoZWNrZWRcIjogQXJyYXkuaXNBcnJheShfdm0uYWxs
RG9uZSkgPyBfdm0uX2koX3ZtLmFsbERvbmUsIG51bGwpID4gLTEgOiAoX3ZtLmFsbERvbmUpXG4g
ICAgfSxcbiAgICBvbjoge1xuICAgICAgXCJfX2NcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAg
ICAgIHZhciAkJGEgPSBfdm0uYWxsRG9uZSxcbiAgICAgICAgICAkJGVsID0gJGV2ZW50LnRhcmdl
dCxcbiAgICAgICAgICAkJGMgPSAkJGVsLmNoZWNrZWQgPyAodHJ1ZSkgOiAoZmFsc2UpO1xuICAg
ICAgICBpZiAoQXJyYXkuaXNBcnJheSgkJGEpKSB7XG4gICAgICAgICAgdmFyICQkdiA9IG51bGws
XG4gICAgICAgICAgICAkJGkgPSBfdm0uX2koJCRhLCAkJHYpO1xuICAgICAgICAgIGlmICgkJGVs
LmNoZWNrZWQpIHtcbiAgICAgICAgICAgICQkaSA8IDAgJiYgKF92bS5hbGxEb25lID0gJCRhLmNv
bmNhdCgkJHYpKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAkJGkgPiAtMSAmJiAo
X3ZtLmFsbERvbmUgPSAkJGEuc2xpY2UoMCwgJCRpKS5jb25jYXQoJCRhLnNsaWNlKCQkaSArIDEp
KSlcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgX3ZtLmFsbERvbmUg
PSAkJGNcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSksIF92bS5fdihcIiBcIiksIF9j
KCd1bCcsIHtcbiAgICBzdGF0aWNDbGFzczogXCJ0b2RvLWxpc3RcIlxuICB9LCBfdm0uX2woKF92
bS5maWx0ZXJlZFRvZG9zKSwgZnVuY3Rpb24odG9kbykge1xuICAgIHJldHVybiBfYygnbGknLCB7
XG4gICAgICBzdGF0aWNDbGFzczogXCJ0b2RvXCIsXG4gICAgICBjbGFzczoge1xuICAgICAgICBj
b21wbGV0ZWQ6IHRvZG8uY29tcGxldGVkLCBlZGl0aW5nOiB0b2RvID09PSBfdm0uZWRpdGluZ1xu
ICAgICAgfVxuICAgIH0sIFtfYygnZGl2Jywge1xuICAgICAgc3RhdGljQ2xhc3M6IFwidmlld1wi
XG4gICAgfSwgW19jKCdpbnB1dCcsIHtcbiAgICAgIGRpcmVjdGl2ZXM6IFt7XG4gICAgICAgIG5h
bWU6IFwibW9kZWxcIixcbiAgICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICAgIHZh
bHVlOiAodG9kby5jb21wbGV0ZWQpLFxuICAgICAgICBleHByZXNzaW9uOiBcInRvZG8uY29tcGxl
dGVkXCJcbiAgICAgIH1dLFxuICAgICAgc3RhdGljQ2xhc3M6IFwidG9nZ2xlXCIsXG4gICAgICBh
dHRyczoge1xuICAgICAgICBcInR5cGVcIjogXCJjaGVja2JveFwiXG4gICAgICB9LFxuICAgICAg
ZG9tUHJvcHM6IHtcbiAgICAgICAgXCJjaGVja2VkXCI6IEFycmF5LmlzQXJyYXkodG9kby5jb21w
bGV0ZWQpID8gX3ZtLl9pKHRvZG8uY29tcGxldGVkLCBudWxsKSA+IC0xIDogKHRvZG8uY29tcGxl
dGVkKVxuICAgICAgfSxcbiAgICAgIG9uOiB7XG4gICAgICAgIFwiX19jXCI6IGZ1bmN0aW9uKCRl
dmVudCkge1xuICAgICAgICAgIHZhciAkJGEgPSB0b2RvLmNvbXBsZXRlZCxcbiAgICAgICAgICAg
ICQkZWwgPSAkZXZlbnQudGFyZ2V0LFxuICAgICAgICAgICAgJCRjID0gJCRlbC5jaGVja2VkID8g
KHRydWUpIDogKGZhbHNlKTtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSgkJGEpKSB7XG4g
ICAgICAgICAgICB2YXIgJCR2ID0gbnVsbCxcbiAgICAgICAgICAgICAgJCRpID0gX3ZtLl9pKCQk
YSwgJCR2KTtcbiAgICAgICAgICAgIGlmICgkJGVsLmNoZWNrZWQpIHtcbiAgICAgICAgICAgICAg
JCRpIDwgMCAmJiAodG9kby5jb21wbGV0ZWQgPSAkJGEuY29uY2F0KCQkdikpXG4gICAgICAgICAg
ICB9IGVsc2Uge1xuICAgICAgICAgICAgICAkJGkgPiAtMSAmJiAodG9kby5jb21wbGV0ZWQgPSAk
JGEuc2xpY2UoMCwgJCRpKS5jb25jYXQoJCRhLnNsaWNlKCQkaSArIDEpKSlcbiAgICAgICAgICAg
IH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdG9kby5jb21wbGV0ZWQgPSAkJGNc
biAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KSwgX3ZtLl92KFwiIFwiKSwg
X2MoJ2xhYmVsJywge1xuICAgICAgb246IHtcbiAgICAgICAgXCJkYmxjbGlja1wiOiBmdW5jdGlv
bigkZXZlbnQpIHtcbiAgICAgICAgICBfdm0uZWRpdFRvZG8odG9kbylcbiAgICAgICAgfVxuICAg
ICAgfVxuICAgIH0sIFtfdm0uX3YoX3ZtLl9zKHRvZG8udGl0bGUpKV0pLCBfdm0uX3YoXCIgXCIp
LCBfYygnYnV0dG9uJywge1xuICAgICAgc3RhdGljQ2xhc3M6IFwiZGVzdHJveVwiLFxuICAgICAg
b246IHtcbiAgICAgICAgXCJjbGlja1wiOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAk
ZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBfdm0uZGVsZXRlVG9kbyh0b2RvKVxu
ICAgICAgICB9XG4gICAgICB9XG4gICAgfSldKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2lucHV0Jywg
e1xuICAgICAgZGlyZWN0aXZlczogW3tcbiAgICAgICAgbmFtZTogXCJtb2RlbFwiLFxuICAgICAg
ICByYXdOYW1lOiBcInYtbW9kZWxcIixcbiAgICAgICAgdmFsdWU6ICh0b2RvLnRpdGxlKSxcbiAg
ICAgICAgZXhwcmVzc2lvbjogXCJ0b2RvLnRpdGxlXCJcbiAgICAgIH0sIHtcbiAgICAgICAgbmFt
ZTogXCJ0b2RvRm9jdXNcIixcbiAgICAgICAgcmF3TmFtZTogXCJ2LXRvZG9Gb2N1c1wiLFxuICAg
ICAgICB2YWx1ZTogKHRvZG8gPT09IF92bS5lZGl0aW5nKSxcbiAgICAgICAgZXhwcmVzc2lvbjog
XCJ0b2RvID09PSBlZGl0aW5nXCJcbiAgICAgIH1dLFxuICAgICAgc3RhdGljQ2xhc3M6IFwiZWRp
dFwiLFxuICAgICAgYXR0cnM6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwidGV4dFwiXG4gICAgICB9
LFxuICAgICAgZG9tUHJvcHM6IHtcbiAgICAgICAgXCJ2YWx1ZVwiOiAodG9kby50aXRsZSlcbiAg
ICAgIH0sXG4gICAgICBvbjoge1xuICAgICAgICBcImtleXVwXCI6IGZ1bmN0aW9uKCRldmVudCkg
e1xuICAgICAgICAgIGlmICghKCdidXR0b24nIGluICRldmVudCkgJiYgX3ZtLl9rKCRldmVudC5r
ZXlDb2RlLCBcImVudGVyXCIsIDEzKSkgeyByZXR1cm4gbnVsbDsgfVxuICAgICAgICAgIF92bS5k
b25lRWRpdCgkZXZlbnQpXG4gICAgICAgIH0sXG4gICAgICAgIFwiYmx1clwiOiBfdm0uZG9uZUVk
aXQsXG4gICAgICAgIFwiaW5wdXRcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgaWYg
KCRldmVudC50YXJnZXQuY29tcG9zaW5nKSB7IHJldHVybjsgfVxuICAgICAgICAgIHRvZG8udGl0
bGUgPSAkZXZlbnQudGFyZ2V0LnZhbHVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KV0pXG4g
IH0pKV0pLCBfdm0uX3YoXCIgXCIpLCBfYygnZm9vdGVyJywge1xuICAgIGRpcmVjdGl2ZXM6IFt7
XG4gICAgICBuYW1lOiBcInNob3dcIixcbiAgICAgIHJhd05hbWU6IFwidi1zaG93XCIsXG4gICAg
ICB2YWx1ZTogKF92bS50b2Rvcy5sZW5ndGggPiAwKSxcbiAgICAgIGV4cHJlc3Npb246IFwidG9k
b3MubGVuZ3RoID4gMFwiXG4gICAgfV0sXG4gICAgc3RhdGljQ2xhc3M6IFwiZm9vdGVyXCJcbiAg
fSwgW19jKCdzcGFuJywge1xuICAgIHN0YXRpY0NsYXNzOiBcInRvZG8tY291bnRcIlxuICB9LCBb
X2MoJ3N0cm9uZycsIFtfdm0uX3YoX3ZtLl9zKF92bS5yZW1haW5pbmcpKV0pLCBfdm0uX3YoXCIg
XCIgKyBfdm0uX3MoX3ZtLl9mKFwicGx1cmFsaXplXCIpKF92bS5yZW1haW5pbmcpKSArIFwiIGxl
ZnRcXG4gICAgICAgIFwiKV0pLCBfdm0uX3YoXCIgXCIpLCBfYygndWwnLCB7XG4gICAgc3RhdGlj
Q2xhc3M6IFwiZmlsdGVyc1wiXG4gIH0sIFtfYygnbGknLCBbX2MoJ2EnLCB7XG4gICAgY2xhc3M6
IHtcbiAgICAgIHNlbGVjdGVkOiBfdm0uZmlsdGVyID09ICdhbGwnXG4gICAgfSxcbiAgICBhdHRy
czoge1xuICAgICAgXCJocmVmXCI6IFwiIy9hbGxcIlxuICAgIH0sXG4gICAgb246IHtcbiAgICAg
IFwiY2xpY2tcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgIF92bS5maWx0ZXIgPSAnYWxs
J1xuICAgICAgfVxuICAgIH1cbiAgfSwgW192bS5fdihcIkFsbFwiKV0pXSksIF92bS5fdihcIiBc
IiksIF9jKCdsaScsIFtfYygnYScsIHtcbiAgICBjbGFzczoge1xuICAgICAgc2VsZWN0ZWQ6IF92
bS5maWx0ZXIgPT0gJ2FjdGl2ZSdcbiAgICB9LFxuICAgIGF0dHJzOiB7XG4gICAgICBcImhyZWZc
IjogXCIjL2FjdGl2ZVwiXG4gICAgfSxcbiAgICBvbjoge1xuICAgICAgXCJjbGlja1wiOiBmdW5j
dGlvbigkZXZlbnQpIHtcbiAgICAgICAgX3ZtLmZpbHRlciA9ICdhY3RpdmUnXG4gICAgICB9XG4g
ICAgfVxuICB9LCBbX3ZtLl92KFwiQWN0aXZlXCIpXSldKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2xp
JywgW19jKCdhJywge1xuICAgIGNsYXNzOiB7XG4gICAgICBzZWxlY3RlZDogX3ZtLmZpbHRlciA9
PSAnY29tcGxldGVkJ1xuICAgIH0sXG4gICAgYXR0cnM6IHtcbiAgICAgIFwiaHJlZlwiOiBcIiMv
Y29tcGxldGVkXCJcbiAgICB9LFxuICAgIG9uOiB7XG4gICAgICBcImNsaWNrXCI6IGZ1bmN0aW9u
KCRldmVudCkge1xuICAgICAgICBfdm0uZmlsdGVyID0gJ2NvbXBsZXRlZCdcbiAgICAgIH1cbiAg
ICB9XG4gIH0sIFtfdm0uX3YoXCJDb21wbGV0ZWRcIildKV0pXSksIF92bS5fdihcIiBcIiksIF9j
KCdidXR0b24nLCB7XG4gICAgZGlyZWN0aXZlczogW3tcbiAgICAgIG5hbWU6IFwic2hvd1wiLFxu
ICAgICAgcmF3TmFtZTogXCJ2LXNob3dcIixcbiAgICAgIHZhbHVlOiAoX3ZtLmNvbXBsZXRlZCks
XG4gICAgICBleHByZXNzaW9uOiBcImNvbXBsZXRlZFwiXG4gICAgfV0sXG4gICAgc3RhdGljQ2xh
c3M6IFwiY2xlYXItY29tcGxldGVkXCIsXG4gICAgb246IHtcbiAgICAgIFwiY2xpY2tcIjogZnVu
Y3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAg
ICBfdm0uZGVsZXRlQ29tcGxldGVkKCRldmVudClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtfdm0u
X3YoXCJDbGVhciBDb21wbGV0ZWRcIildKV0pXSlcbn0sc3RhdGljUmVuZGVyRm5zOiBbXX1cblxu
XG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL34vdnVlLWxvYWRl
ci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi03ZDNjYWNiYVwiLFwiaGFz
U2NvcGVkXCI6ZmFsc2V9IS4vfi92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXRlbXBs
YXRlJmluZGV4PTAhLi9zcmMvY29tcG9uZW50cy9Ub2Rvcy52dWVcbi8vIG1vZHVsZSBpZCA9IDlc
bi8vIG1vZHVsZSBjaHVua3MgPSAwIiwibW9kdWxlLmV4cG9ydHM9e3JlbmRlcjpmdW5jdGlvbiAo
KXt2YXIgX3ZtPXRoaXM7dmFyIF9oPV92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxm
Ll9jfHxfaDtcbiAgcmV0dXJuIF9jKCdkaXYnLCB7XG4gICAgYXR0cnM6IHtcbiAgICAgIFwiaWRc
IjogXCJhcHBcIlxuICAgIH1cbiAgfSwgW19jKCdUb2RvcycpXSwgMSlcbn0sc3RhdGljUmVuZGVy
Rm5zOiBbXX1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAu
L34vdnVlLWxvYWRlci9saWIvdGVtcGxhdGUtY29tcGlsZXI/e1wiaWRcIjpcImRhdGEtdi1hMjU2
ZWM2YVwiLFwiaGFzU2NvcGVkXCI6ZmFsc2V9IS4vfi92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5q
cz90eXBlPXRlbXBsYXRlJmluZGV4PTAhLi9zcmMvQXBwLnZ1ZVxuLy8gbW9kdWxlIGlkID0gMTBc
bi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIvcmVz
b3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9kaXN0L3N0YXRp
Yy9qcy9tYW5pZmVzdC4yOTM1NWU5MWE5NmI3ZWEwOWY5Yy5qcyBiL1BlcmZvcm1hbmNlVGVzdHMv
U3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpz
LWNsaS9kaXN0L3N0YXRpYy9qcy9tYW5pZmVzdC4yOTM1NWU5MWE5NmI3ZWEwOWY5Yy5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMjNmY2E1ZmQyYjdjZDhkMjc1ZmFjZTM1ODMxYWUzYjIzYWY4NzBkCi0tLSAvZGV2
L251bGwKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212
Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVlanMtY2xpL2Rpc3Qvc3RhdGljL2pzL21hbmlmZXN0
LjI5MzU1ZTkxYTk2YjdlYTA5ZjljLmpzCkBAIC0wLDAgKzEsMiBAQAorIWZ1bmN0aW9uKGUpe2Z1
bmN0aW9uIG4ocil7aWYodFtyXSlyZXR1cm4gdFtyXS5leHBvcnRzO3ZhciBvPXRbcl09e2k6cixs
OiExLGV4cG9ydHM6e319O3JldHVybiBlW3JdLmNhbGwoby5leHBvcnRzLG8sby5leHBvcnRzLG4p
LG8ubD0hMCxvLmV4cG9ydHN9dmFyIHI9d2luZG93LndlYnBhY2tKc29ucDt3aW5kb3cud2VicGFj
a0pzb25wPWZ1bmN0aW9uKHQsYSxjKXtmb3IodmFyIGksdSxmLHM9MCxsPVtdO3M8dC5sZW5ndGg7
cysrKXU9dFtzXSxvW3VdJiZsLnB1c2gob1t1XVswXSksb1t1XT0wO2ZvcihpIGluIGEpT2JqZWN0
LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsaSkmJihlW2ldPWFbaV0pO2ZvcihyJiZy
KHQsYSxjKTtsLmxlbmd0aDspbC5zaGlmdCgpKCk7aWYoYylmb3Iocz0wO3M8Yy5sZW5ndGg7cysr
KWY9bihuLnM9Y1tzXSk7cmV0dXJuIGZ9O3ZhciB0PXt9LG89ezI6MH07bi5lPWZ1bmN0aW9uKGUp
e2Z1bmN0aW9uIHIoKXtpLm9uZXJyb3I9aS5vbmxvYWQ9bnVsbCxjbGVhclRpbWVvdXQodSk7dmFy
IG49b1tlXTswIT09biYmKG4mJm5bMV0obmV3IEVycm9yKCJMb2FkaW5nIGNodW5rICIrZSsiIGZh
aWxlZC4iKSksb1tlXT12b2lkIDApfXZhciB0PW9bZV07aWYoMD09PXQpcmV0dXJuIG5ldyBQcm9t
aXNlKGZ1bmN0aW9uKGUpe2UoKX0pO2lmKHQpcmV0dXJuIHRbMl07dmFyIGE9bmV3IFByb21pc2Uo
ZnVuY3Rpb24obixyKXt0PW9bZV09W24scl19KTt0WzJdPWE7dmFyIGM9ZG9jdW1lbnQuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoImhlYWQiKVswXSxpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlw
dCIpO2kudHlwZT0idGV4dC9qYXZhc2NyaXB0IixpLmNoYXJzZXQ9InV0Zi04IixpLmFzeW5jPSEw
LGkudGltZW91dD0xMmU0LG4ubmMmJmkuc2V0QXR0cmlidXRlKCJub25jZSIsbi5uYyksaS5zcmM9
bi5wKyJzdGF0aWMvanMvIitlKyIuIit7MDoiZDZlZDg5MzU0MzhmNDRlOTg0M2EiLDE6IjJlNGU5
ZTUyODY2NGZhNzk2ZDNhIn1bZV0rIi5qcyI7dmFyIHU9c2V0VGltZW91dChyLDEyZTQpO3JldHVy
biBpLm9uZXJyb3I9aS5vbmxvYWQ9cixjLmFwcGVuZENoaWxkKGkpLGF9LG4ubT1lLG4uYz10LG4u
aT1mdW5jdGlvbihlKXtyZXR1cm4gZX0sbi5kPWZ1bmN0aW9uKGUscix0KXtuLm8oZSxyKXx8T2Jq
ZWN0LmRlZmluZVByb3BlcnR5KGUscix7Y29uZmlndXJhYmxlOiExLGVudW1lcmFibGU6ITAsZ2V0
OnR9KX0sbi5uPWZ1bmN0aW9uKGUpe3ZhciByPWUmJmUuX19lc01vZHVsZT9mdW5jdGlvbigpe3Jl
dHVybiBlLmRlZmF1bHR9OmZ1bmN0aW9uKCl7cmV0dXJuIGV9O3JldHVybiBuLmQociwiYSIsciks
cn0sbi5vPWZ1bmN0aW9uKGUsbil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVy
dHkuY2FsbChlLG4pfSxuLnA9Ii8iLG4ub2U9ZnVuY3Rpb24oZSl7dGhyb3cgY29uc29sZS5lcnJv
cihlKSxlfX0oW10pOworLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWFuaWZlc3QuMjkzNTVlOTFhOTZi
N2VhMDlmOWMuanMubWFwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
UGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1
cmUtZXhhbXBsZXMvdnVlanMtY2xpL2Rpc3Qvc3RhdGljL2pzL21hbmlmZXN0LjI5MzU1ZTkxYTk2
YjdlYTA5ZjljLmpzLm1hcCBiL1BlcmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2Vz
L3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9kaXN0L3N0YXRpYy9qcy9t
YW5pZmVzdC4yOTM1NWU5MWE5NmI3ZWEwOWY5Yy5qcy5tYXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzliM2RjNWI1
ZTljYmI0YTRmMmQ3MzNjNDI5MzU0ZjBjMmUwOGQwOAotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZv
cm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4
YW1wbGVzL3Z1ZWpzLWNsaS9kaXN0L3N0YXRpYy9qcy9tYW5pZmVzdC4yOTM1NWU5MWE5NmI3ZWEw
OWY5Yy5qcy5tYXAKQEAgLTAsMCArMSBAQAoreyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBh
Y2s6Ly8vc3RhdGljL2pzL21hbmlmZXN0LjI5MzU1ZTkxYTk2YjdlYTA5ZjljLmpzIiwid2VicGFj
azovLy93ZWJwYWNrL2Jvb3RzdHJhcCAwMTJmMmFkYzhkNDFlNGRiZmM2MCJdLCJuYW1lcyI6WyJt
b2R1bGVzIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiaW5zdGFsbGVkTW9kdWxl
cyIsImV4cG9ydHMiLCJtb2R1bGUiLCJpIiwibCIsImNhbGwiLCJwYXJlbnRKc29ucEZ1bmN0aW9u
Iiwid2luZG93IiwiY2h1bmtJZHMiLCJtb3JlTW9kdWxlcyIsImV4ZWN1dGVNb2R1bGVzIiwiY2h1
bmtJZCIsInJlc3VsdCIsInJlc29sdmVzIiwibGVuZ3RoIiwiaW5zdGFsbGVkQ2h1bmtzIiwicHVz
aCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5Iiwic2hpZnQiLCJzIiwiMiIs
ImUiLCJvblNjcmlwdENvbXBsZXRlIiwic2NyaXB0Iiwib25lcnJvciIsIm9ubG9hZCIsImNsZWFy
VGltZW91dCIsInRpbWVvdXQiLCJjaHVuayIsIkVycm9yIiwidW5kZWZpbmVkIiwiaW5zdGFsbGVk
Q2h1bmtEYXRhIiwiUHJvbWlzZSIsInJlc29sdmUiLCJwcm9taXNlIiwicmVqZWN0IiwiaGVhZCIs
ImRvY3VtZW50IiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJjcmVhdGVFbGVtZW50IiwidHlwZSIs
ImNoYXJzZXQiLCJhc3luYyIsIm5jIiwic2V0QXR0cmlidXRlIiwic3JjIiwicCIsIjAiLCIxIiwi
c2V0VGltZW91dCIsImFwcGVuZENoaWxkIiwibSIsImMiLCJ2YWx1ZSIsImQiLCJuYW1lIiwiZ2V0
dGVyIiwibyIsImRlZmluZVByb3BlcnR5IiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsImdl
dCIsIm4iLCJfX2VzTW9kdWxlIiwib2JqZWN0IiwicHJvcGVydHkiLCJvZSIsImVyciIsImNvbnNv
bGUiLCJlcnJvciJdLCJtYXBwaW5ncyI6IkNBQVMsU0FBVUEsR0N1Q25CLFFBQUFDLEdBQUFDLEdB
R0EsR0FBQUMsRUFBQUQsR0FDQSxNQUFBQyxHQUFBRCxHQUFBRSxPQUdBLElBQUFDLEdBQUFGLEVB
QUFELElBQ0FJLEVBQUFKLEVBQ0FLLEdBQUEsRUFDQUgsV0FVQSxPQU5BSixHQUFBRSxHQUFBTSxL
QUFBSCxFQUFBRCxRQUFBQyxJQUFBRCxRQUFBSCxHQUdBSSxFQUFBRSxHQUFBLEVBR0FGLEVBQUFE
LFFBMURBLEdBQUFLLEdBQUFDLE9BQUEsWUFDQUEsUUFBQSxzQkFBQUMsRUFBQUMsRUFBQUMsR0FJ
QSxJQURBLEdBQUFYLEdBQUFZLEVBQUFDLEVBQUFULEVBQUEsRUFBQVUsS0FDUVYsRUFBQUssRUFB
QU0sT0FBb0JYLElBQzVCUSxFQUFBSCxFQUFBTCxHQUNBWSxFQUFBSixJQUNBRSxFQUFBRyxLQUFB
RCxFQUFBSixHQUFBLElBRUFJLEVBQUFKLEdBQUEsQ0FFQSxLQUFBWixJQUFBVSxHQUNBUSxPQUFB
QyxVQUFBQyxlQUFBZCxLQUFBSSxFQUFBVixLQUNBRixFQUFBRSxHQUFBVSxFQUFBVixHQUlBLEtB
REFPLEtBQUFFLEVBQUFDLEVBQUFDLEdBQ0FHLEVBQUFDLFFBQ0FELEVBQUFPLFNBRUEsSUFBQVYs
RUFDQSxJQUFBUCxFQUFBLEVBQVlBLEVBQUFPLEVBQUFJLE9BQTJCWCxJQUN2Q1MsRUFBQWQsSUFB
QXVCLEVBQUFYLEVBQUFQLEdBR0EsT0FBQVMsR0FJQSxJQUFBWixNQUdBZSxHQUNBTyxFQUFBLEVB
NkJBeEIsR0FBQXlCLEVBQUEsU0FBQVosR0ErQkEsUUFBQWEsS0FFQUMsRUFBQUMsUUFBQUQsRUFB
QUUsT0FBQSxLQUNBQyxhQUFBQyxFQUNBLElBQUFDLEdBQUFmLEVBQUFKLEVBQ0EsS0FBQW1CLElB
Q0FBLEdBQ0FBLEVBQUEsTUFBQUMsT0FBQSxpQkFBQXBCLEVBQUEsYUFFQUksRUFBQUosT0FBQXFC
LElBdkNBLEdBQUFDLEdBQUFsQixFQUFBSixFQUNBLFFBQUFzQixFQUNBLFVBQUFDLFNBQUEsU0FB
QUMsR0FBMENBLEtBSTFDLElBQUFGLEVBQ0EsTUFBQUEsR0FBQSxFQUlBLElBQUFHLEdBQUEsR0FB
QUYsU0FBQSxTQUFBQyxFQUFBRSxHQUNBSixFQUFBbEIsRUFBQUosSUFBQXdCLEVBQUFFLElBRUFK
LEdBQUEsR0FBQUcsQ0FHQSxJQUFBRSxHQUFBQyxTQUFBQyxxQkFBQSxXQUNBZixFQUFBYyxTQUFB
RSxjQUFBLFNBQ0FoQixHQUFBaUIsS0FBQSxrQkFDQWpCLEVBQUFrQixRQUFBLFFBQ0FsQixFQUFB
bUIsT0FBQSxFQUNBbkIsRUFBQUksUUFBQSxLQUVBL0IsRUFBQStDLElBQ0FwQixFQUFBcUIsYUFB
QSxRQUFBaEQsRUFBQStDLElBRUFwQixFQUFBc0IsSUFBQWpELEVBQUFrRCxFQUFBLGFBQUFyQyxF
QUFBLEtBQXdFc0MsRUFBQSx1QkFBQUMsRUFBQSx3QkFBc0R2QyxHQUFBLEtBQzlILElBQUFrQixH
QUFBc0IsV0FBQTNCLEVBQUEsS0FnQkEsT0FmQUMsR0FBQUMsUUFBQUQsRUFBQUUsT0FBQUgsRUFh
QWMsRUFBQWMsWUFBQTNCLEdBRUFXLEdBSUF0QyxFQUFBdUQsRUFBQXhELEVBR0FDLEVBQUF3RCxF
QUFBdEQsRUFHQUYsRUFBQUssRUFBQSxTQUFBb0QsR0FBMkMsTUFBQUEsSUFHM0N6RCxFQUFBMEQs
RUFBQSxTQUFBdkQsRUFBQXdELEVBQUFDLEdBQ0E1RCxFQUFBNkQsRUFBQTFELEVBQUF3RCxJQUNB
eEMsT0FBQTJDLGVBQUEzRCxFQUFBd0QsR0FDQUksY0FBQSxFQUNBQyxZQUFBLEVBQ0FDLElBQUFM
LEtBTUE1RCxFQUFBa0UsRUFBQSxTQUFBOUQsR0FDQSxHQUFBd0QsR0FBQXhELEtBQUErRCxXQUNB
LFdBQTJCLE1BQUEvRCxHQUFBLFNBQzNCLFdBQWlDLE1BQUFBLEdBRWpDLE9BREFKLEdBQUEwRCxF
QUFBRSxFQUFBLElBQUFBLEdBQ0FBLEdBSUE1RCxFQUFBNkQsRUFBQSxTQUFBTyxFQUFBQyxHQUFz
RCxNQUFBbEQsUUFBQUMsVUFBQUMsZUFBQWQsS0FBQTZELEVBQUFDLElBR3REckUsRUFBQWtELEVB
QUEsSUFHQWxELEVBQUFzRSxHQUFBLFNBQUFDLEdBQThELEtBQXBCQyxTQUFBQyxNQUFBRixHQUFv
QkEiLCJmaWxlIjoic3RhdGljL2pzL21hbmlmZXN0LjI5MzU1ZTkxYTk2YjdlYTA5ZjljLmpzIiwi
c291cmNlc0NvbnRlbnQiOlsiLyoqKioqKi8gKGZ1bmN0aW9uKG1vZHVsZXMpIHsgLy8gd2VicGFj
a0Jvb3RzdHJhcFxuLyoqKioqKi8gXHQvLyBpbnN0YWxsIGEgSlNPTlAgY2FsbGJhY2sgZm9yIGNo
dW5rIGxvYWRpbmdcbi8qKioqKiovIFx0dmFyIHBhcmVudEpzb25wRnVuY3Rpb24gPSB3aW5kb3db
XCJ3ZWJwYWNrSnNvbnBcIl07XG4vKioqKioqLyBcdHdpbmRvd1tcIndlYnBhY2tKc29ucFwiXSA9
IGZ1bmN0aW9uIHdlYnBhY2tKc29ucENhbGxiYWNrKGNodW5rSWRzLCBtb3JlTW9kdWxlcywgZXhl
Y3V0ZU1vZHVsZXMpIHtcbi8qKioqKiovIFx0XHQvLyBhZGQgXCJtb3JlTW9kdWxlc1wiIHRvIHRo
ZSBtb2R1bGVzIG9iamVjdCxcbi8qKioqKiovIFx0XHQvLyB0aGVuIGZsYWcgYWxsIFwiY2h1bmtJ
ZHNcIiBhcyBsb2FkZWQgYW5kIGZpcmUgY2FsbGJhY2tcbi8qKioqKiovIFx0XHR2YXIgbW9kdWxl
SWQsIGNodW5rSWQsIGkgPSAwLCByZXNvbHZlcyA9IFtdLCByZXN1bHQ7XG4vKioqKioqLyBcdFx0
Zm9yKDtpIDwgY2h1bmtJZHMubGVuZ3RoOyBpKyspIHtcbi8qKioqKiovIFx0XHRcdGNodW5rSWQg
PSBjaHVua0lkc1tpXTtcbi8qKioqKiovIFx0XHRcdGlmKGluc3RhbGxlZENodW5rc1tjaHVua0lk
XSkge1xuLyoqKioqKi8gXHRcdFx0XHRyZXNvbHZlcy5wdXNoKGluc3RhbGxlZENodW5rc1tjaHVu
a0lkXVswXSk7XG4vKioqKioqLyBcdFx0XHR9XG4vKioqKioqLyBcdFx0XHRpbnN0YWxsZWRDaHVu
a3NbY2h1bmtJZF0gPSAwO1xuLyoqKioqKi8gXHRcdH1cbi8qKioqKiovIFx0XHRmb3IobW9kdWxl
SWQgaW4gbW9yZU1vZHVsZXMpIHtcbi8qKioqKiovIFx0XHRcdGlmKE9iamVjdC5wcm90b3R5cGUu
aGFzT3duUHJvcGVydHkuY2FsbChtb3JlTW9kdWxlcywgbW9kdWxlSWQpKSB7XG4vKioqKioqLyBc
dFx0XHRcdG1vZHVsZXNbbW9kdWxlSWRdID0gbW9yZU1vZHVsZXNbbW9kdWxlSWRdO1xuLyoqKioq
Ki8gXHRcdFx0fVxuLyoqKioqKi8gXHRcdH1cbi8qKioqKiovIFx0XHRpZihwYXJlbnRKc29ucEZ1
bmN0aW9uKSBwYXJlbnRKc29ucEZ1bmN0aW9uKGNodW5rSWRzLCBtb3JlTW9kdWxlcywgZXhlY3V0
ZU1vZHVsZXMpO1xuLyoqKioqKi8gXHRcdHdoaWxlKHJlc29sdmVzLmxlbmd0aCkge1xuLyoqKioq
Ki8gXHRcdFx0cmVzb2x2ZXMuc2hpZnQoKSgpO1xuLyoqKioqKi8gXHRcdH1cbi8qKioqKiovIFx0
XHRpZihleGVjdXRlTW9kdWxlcykge1xuLyoqKioqKi8gXHRcdFx0Zm9yKGk9MDsgaSA8IGV4ZWN1
dGVNb2R1bGVzLmxlbmd0aDsgaSsrKSB7XG4vKioqKioqLyBcdFx0XHRcdHJlc3VsdCA9IF9fd2Vi
cGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gZXhlY3V0ZU1vZHVsZXNbaV0p
O1xuLyoqKioqKi8gXHRcdFx0fVxuLyoqKioqKi8gXHRcdH1cbi8qKioqKiovIFx0XHRyZXR1cm4g
cmVzdWx0O1xuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gVGhlIG1vZHVs
ZSBjYWNoZVxuLyoqKioqKi8gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuLyoqKioqKi9c
bi8qKioqKiovIFx0Ly8gb2JqZWN0cyB0byBzdG9yZSBsb2FkZWQgYW5kIGxvYWRpbmcgY2h1bmtz
XG4vKioqKioqLyBcdHZhciBpbnN0YWxsZWRDaHVua3MgPSB7XG4vKioqKioqLyBcdFx0MjogMFxu
LyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rp
b25cbi8qKioqKiovIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xu
LyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbi8q
KioqKiovIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuLyoqKioqKi8gXHRc
dFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4vKioqKioqLyBc
dFx0fVxuLyoqKioqKi8gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50
byB0aGUgY2FjaGUpXG4vKioqKioqLyBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNb
bW9kdWxlSWRdID0ge1xuLyoqKioqKi8gXHRcdFx0aTogbW9kdWxlSWQsXG4vKioqKioqLyBcdFx0
XHRsOiBmYWxzZSxcbi8qKioqKiovIFx0XHRcdGV4cG9ydHM6IHt9XG4vKioqKioqLyBcdFx0fTtc
bi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4v
KioqKioqLyBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxl
LCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG4vKioqKioqL1xuLyoqKioq
Ki8gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbi8qKioqKiovIFx0XHRtb2R1bGUu
bCA9IHRydWU7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBv
ZiB0aGUgbW9kdWxlXG4vKioqKioqLyBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuLyoqKioq
Ki8gXHR9XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBUaGlzIGZpbGUgY29udGFpbnMgb25seSB0
aGUgZW50cnkgY2h1bmsuXG4vKioqKioqLyBcdC8vIFRoZSBjaHVuayBsb2FkaW5nIGZ1bmN0aW9u
IGZvciBhZGRpdGlvbmFsIGNodW5rc1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmUg
PSBmdW5jdGlvbiByZXF1aXJlRW5zdXJlKGNodW5rSWQpIHtcbi8qKioqKiovIFx0XHR2YXIgaW5z
dGFsbGVkQ2h1bmtEYXRhID0gaW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRdO1xuLyoqKioqKi8gXHRc
dGlmKGluc3RhbGxlZENodW5rRGF0YSA9PT0gMCkge1xuLyoqKioqKi8gXHRcdFx0cmV0dXJuIG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgcmVzb2x2ZSgpOyB9KTtcbi8qKioqKiovIFx0
XHR9XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIGEgUHJvbWlzZSBtZWFucyBcImN1cnJlbnRs
eSBsb2FkaW5nXCIuXG4vKioqKioqLyBcdFx0aWYoaW5zdGFsbGVkQ2h1bmtEYXRhKSB7XG4vKioq
KioqLyBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkQ2h1bmtEYXRhWzJdO1xuLyoqKioqKi8gXHRcdH1c
bi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gc2V0dXAgUHJvbWlzZSBpbiBjaHVuayBjYWNoZVxu
LyoqKioqKi8gXHRcdHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwg
cmVqZWN0KSB7XG4vKioqKioqLyBcdFx0XHRpbnN0YWxsZWRDaHVua0RhdGEgPSBpbnN0YWxsZWRD
aHVua3NbY2h1bmtJZF0gPSBbcmVzb2x2ZSwgcmVqZWN0XTtcbi8qKioqKiovIFx0XHR9KTtcbi8q
KioqKiovIFx0XHRpbnN0YWxsZWRDaHVua0RhdGFbMl0gPSBwcm9taXNlO1xuLyoqKioqKi9cbi8q
KioqKiovIFx0XHQvLyBzdGFydCBjaHVuayBsb2FkaW5nXG4vKioqKioqLyBcdFx0dmFyIGhlYWQg
PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xuLyoqKioqKi8gXHRc
dHZhciBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbi8qKioqKiov
IFx0XHRzY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuLyoqKioqKi8gXHRcdHNjcmlw
dC5jaGFyc2V0ID0gJ3V0Zi04Jztcbi8qKioqKiovIFx0XHRzY3JpcHQuYXN5bmMgPSB0cnVlO1xu
LyoqKioqKi8gXHRcdHNjcmlwdC50aW1lb3V0ID0gMTIwMDAwO1xuLyoqKioqKi9cbi8qKioqKiov
IFx0XHRpZiAoX193ZWJwYWNrX3JlcXVpcmVfXy5uYykge1xuLyoqKioqKi8gXHRcdFx0c2NyaXB0
LnNldEF0dHJpYnV0ZShcIm5vbmNlXCIsIF9fd2VicGFja19yZXF1aXJlX18ubmMpO1xuLyoqKioq
Ki8gXHRcdH1cbi8qKioqKiovIFx0XHRzY3JpcHQuc3JjID0gX193ZWJwYWNrX3JlcXVpcmVfXy5w
ICsgXCJzdGF0aWMvanMvXCIgKyBjaHVua0lkICsgXCIuXCIgKyB7XCIwXCI6XCJkNmVkODkzNTQz
OGY0NGU5ODQzYVwiLFwiMVwiOlwiMmU0ZTllNTI4NjY0ZmE3OTZkM2FcIn1bY2h1bmtJZF0gKyBc
Ii5qc1wiO1xuLyoqKioqKi8gXHRcdHZhciB0aW1lb3V0ID0gc2V0VGltZW91dChvblNjcmlwdENv
bXBsZXRlLCAxMjAwMDApO1xuLyoqKioqKi8gXHRcdHNjcmlwdC5vbmVycm9yID0gc2NyaXB0Lm9u
bG9hZCA9IG9uU2NyaXB0Q29tcGxldGU7XG4vKioqKioqLyBcdFx0ZnVuY3Rpb24gb25TY3JpcHRD
b21wbGV0ZSgpIHtcbi8qKioqKiovIFx0XHRcdC8vIGF2b2lkIG1lbSBsZWFrcyBpbiBJRS5cbi8q
KioqKiovIFx0XHRcdHNjcmlwdC5vbmVycm9yID0gc2NyaXB0Lm9ubG9hZCA9IG51bGw7XG4vKioq
KioqLyBcdFx0XHRjbGVhclRpbWVvdXQodGltZW91dCk7XG4vKioqKioqLyBcdFx0XHR2YXIgY2h1
bmsgPSBpbnN0YWxsZWRDaHVua3NbY2h1bmtJZF07XG4vKioqKioqLyBcdFx0XHRpZihjaHVuayAh
PT0gMCkge1xuLyoqKioqKi8gXHRcdFx0XHRpZihjaHVuaykge1xuLyoqKioqKi8gXHRcdFx0XHRc
dGNodW5rWzFdKG5ldyBFcnJvcignTG9hZGluZyBjaHVuayAnICsgY2h1bmtJZCArICcgZmFpbGVk
LicpKTtcbi8qKioqKiovIFx0XHRcdFx0fVxuLyoqKioqKi8gXHRcdFx0XHRpbnN0YWxsZWRDaHVu
a3NbY2h1bmtJZF0gPSB1bmRlZmluZWQ7XG4vKioqKioqLyBcdFx0XHR9XG4vKioqKioqLyBcdFx0
fTtcbi8qKioqKiovIFx0XHRoZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XG4vKioqKioqL1xuLyoq
KioqKi8gXHRcdHJldHVybiBwcm9taXNlO1xuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioq
KiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylc
bi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcbi8qKioqKiovXG4v
KioqKioqLyBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdF9fd2VicGFj
a19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG4vKioqKioqL1xuLyoqKioqKi8gXHQv
LyBpZGVudGl0eSBmdW5jdGlvbiBmb3IgY2FsbGluZyBoYXJtb255IGltcG9ydHMgd2l0aCB0aGUg
Y29ycmVjdCBjb250ZXh0XG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uaSA9IGZ1bmN0
aW9uKHZhbHVlKSB7IHJldHVybiB2YWx1ZTsgfTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGRl
ZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuLyoqKioqKi8gXHRfX3dl
YnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbi8q
KioqKiovIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4v
KioqKioqLyBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwge1xuLyoq
KioqKi8gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0XHRlbnVt
ZXJhYmxlOiB0cnVlLFxuLyoqKioqKi8gXHRcdFx0XHRnZXQ6IGdldHRlclxuLyoqKioqKi8gXHRc
dFx0fSk7XG4vKioqKioqLyBcdFx0fVxuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiov
IFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5v
bi1oYXJtb255IG1vZHVsZXNcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVu
Y3Rpb24obW9kdWxlKSB7XG4vKioqKioqLyBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1
bGUuX19lc01vZHVsZSA/XG4vKioqKioqLyBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyBy
ZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuLyoqKioqKi8gXHRcdFx0ZnVuY3Rpb24gZ2V0
TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbi8qKioqKiovIFx0XHRfX3dlYnBh
Y2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4vKioqKioqLyBcdFx0cmV0dXJu
IGdldHRlcjtcbi8qKioqKiovIFx0fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIE9iamVjdC5w
cm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWly
ZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90
eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG4vKioqKioqL1xu
LyoqKioqKi8gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuLyoqKioqKi8gXHRfX3dlYnBh
Y2tfcmVxdWlyZV9fLnAgPSBcIi9cIjtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIG9uIGVycm9y
IGZ1bmN0aW9uIGZvciBhc3luYyBsb2FkaW5nXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJl
X18ub2UgPSBmdW5jdGlvbihlcnIpIHsgY29uc29sZS5lcnJvcihlcnIpOyB0aHJvdyBlcnI7IH07
XG4vKioqKioqLyB9KVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKiovIChbXSk7XG5cblxuLy8g
V0VCUEFDSyBGT09URVIgLy9cbi8vIHN0YXRpYy9qcy9tYW5pZmVzdC4yOTM1NWU5MWE5NmI3ZWEw
OWY5Yy5qcyIsIiBcdC8vIGluc3RhbGwgYSBKU09OUCBjYWxsYmFjayBmb3IgY2h1bmsgbG9hZGlu
Z1xuIFx0dmFyIHBhcmVudEpzb25wRnVuY3Rpb24gPSB3aW5kb3dbXCJ3ZWJwYWNrSnNvbnBcIl07
XG4gXHR3aW5kb3dbXCJ3ZWJwYWNrSnNvbnBcIl0gPSBmdW5jdGlvbiB3ZWJwYWNrSnNvbnBDYWxs
YmFjayhjaHVua0lkcywgbW9yZU1vZHVsZXMsIGV4ZWN1dGVNb2R1bGVzKSB7XG4gXHRcdC8vIGFk
ZCBcIm1vcmVNb2R1bGVzXCIgdG8gdGhlIG1vZHVsZXMgb2JqZWN0LFxuIFx0XHQvLyB0aGVuIGZs
YWcgYWxsIFwiY2h1bmtJZHNcIiBhcyBsb2FkZWQgYW5kIGZpcmUgY2FsbGJhY2tcbiBcdFx0dmFy
IG1vZHVsZUlkLCBjaHVua0lkLCBpID0gMCwgcmVzb2x2ZXMgPSBbXSwgcmVzdWx0O1xuIFx0XHRm
b3IoO2kgPCBjaHVua0lkcy5sZW5ndGg7IGkrKykge1xuIFx0XHRcdGNodW5rSWQgPSBjaHVua0lk
c1tpXTtcbiBcdFx0XHRpZihpbnN0YWxsZWRDaHVua3NbY2h1bmtJZF0pIHtcbiBcdFx0XHRcdHJl
c29sdmVzLnB1c2goaW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRdWzBdKTtcbiBcdFx0XHR9XG4gXHRc
dFx0aW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRdID0gMDtcbiBcdFx0fVxuIFx0XHRmb3IobW9kdWxl
SWQgaW4gbW9yZU1vZHVsZXMpIHtcbiBcdFx0XHRpZihPYmplY3QucHJvdG90eXBlLmhhc093blBy
b3BlcnR5LmNhbGwobW9yZU1vZHVsZXMsIG1vZHVsZUlkKSkge1xuIFx0XHRcdFx0bW9kdWxlc1tt
b2R1bGVJZF0gPSBtb3JlTW9kdWxlc1ttb2R1bGVJZF07XG4gXHRcdFx0fVxuIFx0XHR9XG4gXHRc
dGlmKHBhcmVudEpzb25wRnVuY3Rpb24pIHBhcmVudEpzb25wRnVuY3Rpb24oY2h1bmtJZHMsIG1v
cmVNb2R1bGVzLCBleGVjdXRlTW9kdWxlcyk7XG4gXHRcdHdoaWxlKHJlc29sdmVzLmxlbmd0aCkg
e1xuIFx0XHRcdHJlc29sdmVzLnNoaWZ0KCkoKTtcbiBcdFx0fVxuIFx0XHRpZihleGVjdXRlTW9k
dWxlcykge1xuIFx0XHRcdGZvcihpPTA7IGkgPCBleGVjdXRlTW9kdWxlcy5sZW5ndGg7IGkrKykg
e1xuIFx0XHRcdFx0cmVzdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWly
ZV9fLnMgPSBleGVjdXRlTW9kdWxlc1tpXSk7XG4gXHRcdFx0fVxuIFx0XHR9XG4gXHRcdHJldHVy
biByZXN1bHQ7XG4gXHR9O1xuXG4gXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFs
bGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBvYmplY3RzIHRvIHN0b3JlIGxvYWRlZCBhbmQgbG9h
ZGluZyBjaHVua3NcbiBcdHZhciBpbnN0YWxsZWRDaHVua3MgPSB7XG4gXHRcdDI6IDBcbiBcdH07
XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVx
dWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hl
XG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4gXHRcdFx0cmV0dXJuIGlu
c3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4gXHRcdH1cbiBcdFx0Ly8gQ3JlYXRl
IGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVs
ZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxu
IFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8g
RXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwo
bW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJl
X18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwg
PSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRc
dHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuIFx0Ly8gVGhpcyBmaWxlIGNvbnRhaW5z
IG9ubHkgdGhlIGVudHJ5IGNodW5rLlxuIFx0Ly8gVGhlIGNodW5rIGxvYWRpbmcgZnVuY3Rpb24g
Zm9yIGFkZGl0aW9uYWwgY2h1bmtzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmUgPSBmdW5jdGlv
biByZXF1aXJlRW5zdXJlKGNodW5rSWQpIHtcbiBcdFx0dmFyIGluc3RhbGxlZENodW5rRGF0YSA9
IGluc3RhbGxlZENodW5rc1tjaHVua0lkXTtcbiBcdFx0aWYoaW5zdGFsbGVkQ2h1bmtEYXRhID09
PSAwKSB7XG4gXHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsgcmVz
b2x2ZSgpOyB9KTtcbiBcdFx0fVxuXG4gXHRcdC8vIGEgUHJvbWlzZSBtZWFucyBcImN1cnJlbnRs
eSBsb2FkaW5nXCIuXG4gXHRcdGlmKGluc3RhbGxlZENodW5rRGF0YSkge1xuIFx0XHRcdHJldHVy
biBpbnN0YWxsZWRDaHVua0RhdGFbMl07XG4gXHRcdH1cblxuIFx0XHQvLyBzZXR1cCBQcm9taXNl
IGluIGNodW5rIGNhY2hlXG4gXHRcdHZhciBwcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24o
cmVzb2x2ZSwgcmVqZWN0KSB7XG4gXHRcdFx0aW5zdGFsbGVkQ2h1bmtEYXRhID0gaW5zdGFsbGVk
Q2h1bmtzW2NodW5rSWRdID0gW3Jlc29sdmUsIHJlamVjdF07XG4gXHRcdH0pO1xuIFx0XHRpbnN0
YWxsZWRDaHVua0RhdGFbMl0gPSBwcm9taXNlO1xuXG4gXHRcdC8vIHN0YXJ0IGNodW5rIGxvYWRp
bmdcbiBcdFx0dmFyIGhlYWQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcp
WzBdO1xuIFx0XHR2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7
XG4gXHRcdHNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7XG4gXHRcdHNjcmlwdC5jaGFy
c2V0ID0gJ3V0Zi04JztcbiBcdFx0c2NyaXB0LmFzeW5jID0gdHJ1ZTtcbiBcdFx0c2NyaXB0LnRp
bWVvdXQgPSAxMjAwMDA7XG5cbiBcdFx0aWYgKF9fd2VicGFja19yZXF1aXJlX18ubmMpIHtcbiBc
dFx0XHRzY3JpcHQuc2V0QXR0cmlidXRlKFwibm9uY2VcIiwgX193ZWJwYWNrX3JlcXVpcmVfXy5u
Yyk7XG4gXHRcdH1cbiBcdFx0c2NyaXB0LnNyYyA9IF9fd2VicGFja19yZXF1aXJlX18ucCArIFwi
c3RhdGljL2pzL1wiICsgY2h1bmtJZCArIFwiLlwiICsge1wiMFwiOlwiZDZlZDg5MzU0MzhmNDRl
OTg0M2FcIixcIjFcIjpcIjJlNGU5ZTUyODY2NGZhNzk2ZDNhXCJ9W2NodW5rSWRdICsgXCIuanNc
IjtcbiBcdFx0dmFyIHRpbWVvdXQgPSBzZXRUaW1lb3V0KG9uU2NyaXB0Q29tcGxldGUsIDEyMDAw
MCk7XG4gXHRcdHNjcmlwdC5vbmVycm9yID0gc2NyaXB0Lm9ubG9hZCA9IG9uU2NyaXB0Q29tcGxl
dGU7XG4gXHRcdGZ1bmN0aW9uIG9uU2NyaXB0Q29tcGxldGUoKSB7XG4gXHRcdFx0Ly8gYXZvaWQg
bWVtIGxlYWtzIGluIElFLlxuIFx0XHRcdHNjcmlwdC5vbmVycm9yID0gc2NyaXB0Lm9ubG9hZCA9
IG51bGw7XG4gXHRcdFx0Y2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuIFx0XHRcdHZhciBjaHVuayA9
IGluc3RhbGxlZENodW5rc1tjaHVua0lkXTtcbiBcdFx0XHRpZihjaHVuayAhPT0gMCkge1xuIFx0
XHRcdFx0aWYoY2h1bmspIHtcbiBcdFx0XHRcdFx0Y2h1bmtbMV0obmV3IEVycm9yKCdMb2FkaW5n
IGNodW5rICcgKyBjaHVua0lkICsgJyBmYWlsZWQuJykpO1xuIFx0XHRcdFx0fVxuIFx0XHRcdFx0
aW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRdID0gdW5kZWZpbmVkO1xuIFx0XHRcdH1cbiBcdFx0fTtc
biBcdFx0aGVhZC5hcHBlbmRDaGlsZChzY3JpcHQpO1xuXG4gXHRcdHJldHVybiBwcm9taXNlO1xu
IFx0fTtcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVs
ZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9z
ZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRN
b2R1bGVzO1xuXG4gXHQvLyBpZGVudGl0eSBmdW5jdGlvbiBmb3IgY2FsbGluZyBoYXJtb255IGlt
cG9ydHMgd2l0aCB0aGUgY29ycmVjdCBjb250ZXh0XG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmkg
PSBmdW5jdGlvbih2YWx1ZSkgeyByZXR1cm4gdmFsdWU7IH07XG5cbiBcdC8vIGRlZmluZSBnZXR0
ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5k
ID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4gXHRcdGlmKCFfX3dlYnBhY2tf
cmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVy
dHkoZXhwb3J0cywgbmFtZSwge1xuIFx0XHRcdFx0Y29uZmlndXJhYmxlOiBmYWxzZSxcbiBcdFx0
XHRcdGVudW1lcmFibGU6IHRydWUsXG4gXHRcdFx0XHRnZXQ6IGdldHRlclxuIFx0XHRcdH0pO1xu
IFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21w
YXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVf
Xy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9k
dWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBt
b2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygp
IHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwg
J2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0
LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8g
PSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhh
c093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFj
a19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIi9cIjtcblxuIFx0
Ly8gb24gZXJyb3IgZnVuY3Rpb24gZm9yIGFzeW5jIGxvYWRpbmdcbiBcdF9fd2VicGFja19yZXF1
aXJlX18ub2UgPSBmdW5jdGlvbihlcnIpIHsgY29uc29sZS5lcnJvcihlcnIpOyB0aHJvdyBlcnI7
IH07XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gd2VicGFjay9ib290c3RyYXAgMDEy
ZjJhZGM4ZDQxZTRkYmZjNjAiXSwic291cmNlUm9vdCI6IiJ9ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJj
ZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVlanMtY2xpL2Rpc3Qvc3RhdGljL2pz
L21hbmlmZXN0Ljg0YjJiNGZjZWI3NGFiMWY5MWYzLmpzIGIvUGVyZm9ybWFuY2VUZXN0cy9TcGVl
ZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVlanMtY2xp
L2Rpc3Qvc3RhdGljL2pzL21hbmlmZXN0Ljg0YjJiNGZjZWI3NGFiMWY5MWYzLmpzCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZWZhOTBjMmY4OGRkNmQ1Yjg5ZmU5YjFkMDRlMDUxYjli
NDMwZTNjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Bl
cmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJl
LWV4YW1wbGVzL3Z1ZWpzLWNsaS9kaXN0L3N0YXRpYy9qcy9tYW5pZmVzdC44NGIyYjRmY2ViNzRh
YjFmOTFmMy5qcworKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotIWZ1bmN0aW9uKGUpe2Z1
bmN0aW9uIHQoYSl7aWYoblthXSlyZXR1cm4gblthXS5leHBvcnRzO3ZhciByPW5bYV09e2V4cG9y
dHM6e30saWQ6YSxsb2FkZWQ6ITF9O3JldHVybiBlW2FdLmNhbGwoci5leHBvcnRzLHIsci5leHBv
cnRzLHQpLHIubG9hZGVkPSEwLHIuZXhwb3J0c312YXIgYT13aW5kb3cud2VicGFja0pzb25wO3dp
bmRvdy53ZWJwYWNrSnNvbnA9ZnVuY3Rpb24oYyxvKXtmb3IodmFyIHAscyxsPTAsaT1bXTtsPGMu
bGVuZ3RoO2wrKylzPWNbbF0scltzXSYmaS5wdXNoLmFwcGx5KGkscltzXSkscltzXT0wO2Zvcihw
IGluIG8pZVtwXT1vW3BdO2ZvcihhJiZhKGMsbyk7aS5sZW5ndGg7KWkuc2hpZnQoKS5jYWxsKG51
bGwsdCk7aWYob1swXSlyZXR1cm4gblswXT0wLHQoMCl9O3ZhciBuPXt9LHI9ezA6MH07dC5lPWZ1
bmN0aW9uKGUsYSl7aWYoMD09PXJbZV0pcmV0dXJuIGEuY2FsbChudWxsLHQpO2lmKHZvaWQgMCE9
PXJbZV0pcltlXS5wdXNoKGEpO2Vsc2V7cltlXT1bYV07dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoImhlYWQiKVswXSxjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIp
O2MudHlwZT0idGV4dC9qYXZhc2NyaXB0IixjLmNoYXJzZXQ9InV0Zi04IixjLmFzeW5jPSEwLGMu
c3JjPXQucCsic3RhdGljL2pzLyIrZSsiLiIrezE6ImIwZTgzNTg3NGJjODk0OTY3MGQxIiwyOiJh
NTI1MTdjNWFhOThlN2ZiZWEyZSJ9W2VdKyIuanMiLG4uYXBwZW5kQ2hpbGQoYyl9fSx0Lm09ZSx0
LmM9bix0LnA9Ii8ifShbXSk7Ci0vLyMgc291cmNlTWFwcGluZ1VSTD1tYW5pZmVzdC44NGIyYjRm
Y2ViNzRhYjFmOTFmMy5qcy5tYXAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jlc291cmNlcy90b2RvbXZjL2FyY2hp
dGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvZGlzdC9zdGF0aWMvanMvdmVuZG9yLjJlNGU5ZTUy
ODY2NGZhNzk2ZDNhLmpzIGIvUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMv
dG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVlanMtY2xpL2Rpc3Qvc3RhdGljL2pzL3Zl
bmRvci4yZTRlOWU1Mjg2NjRmYTc5NmQzYS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OWQxMzY3ZDVjMjQ2ZDIx
MjFjYjYwOGEwZTY0Yzc5MThjOGVhMjkzCi0tLSAvZGV2L251bGwKKysrIGIvUGVyZm9ybWFuY2VU
ZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMv
dnVlanMtY2xpL2Rpc3Qvc3RhdGljL2pzL3ZlbmRvci4yZTRlOWU1Mjg2NjRmYTc5NmQzYS5qcwpA
QCAtMCwwICsxLDcgQEAKK3dlYnBhY2tKc29ucChbMV0sW2Z1bmN0aW9uKHQsZSxuKXsidXNlIHN0
cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGZ1
bmN0aW9uKHQpey8qIQorICogVnVlLmpzIHYyLjQuMgorICogKGMpIDIwMTQtMjAxNyBFdmFuIFlv
dQorICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLgorICovCitmdW5jdGlvbiBuKHQp
e3JldHVybiB2b2lkIDA9PT10fHxudWxsPT09dH1mdW5jdGlvbiByKHQpe3JldHVybiB2b2lkIDAh
PT10JiZudWxsIT09dH1mdW5jdGlvbiBpKHQpe3JldHVybiEwPT09dH1mdW5jdGlvbiBvKHQpe3Jl
dHVybiExPT09dH1mdW5jdGlvbiBhKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdHx8Im51bWJl
ciI9PXR5cGVvZiB0fHwiYm9vbGVhbiI9PXR5cGVvZiB0fWZ1bmN0aW9uIHModCl7cmV0dXJuIG51
bGwhPT10JiYib2JqZWN0Ij09dHlwZW9mIHR9ZnVuY3Rpb24gYyh0KXtyZXR1cm4iW29iamVjdCBP
YmplY3RdIj09PVJpLmNhbGwodCl9ZnVuY3Rpb24gdSh0KXtyZXR1cm4iW29iamVjdCBSZWdFeHBd
Ij09PVJpLmNhbGwodCl9ZnVuY3Rpb24gbCh0KXt2YXIgZT1wYXJzZUZsb2F0KHQpO3JldHVybiBl
Pj0wJiZNYXRoLmZsb29yKGUpPT09ZSYmaXNGaW5pdGUodCl9ZnVuY3Rpb24gZih0KXtyZXR1cm4g
bnVsbD09dD8iIjoib2JqZWN0Ij09dHlwZW9mIHQ/SlNPTi5zdHJpbmdpZnkodCxudWxsLDIpOlN0
cmluZyh0KX1mdW5jdGlvbiBwKHQpe3ZhciBlPXBhcnNlRmxvYXQodCk7cmV0dXJuIGlzTmFOKGUp
P3Q6ZX1mdW5jdGlvbiBkKHQsZSl7Zm9yKHZhciBuPU9iamVjdC5jcmVhdGUobnVsbCkscj10LnNw
bGl0KCIsIiksaT0wO2k8ci5sZW5ndGg7aSsrKW5bcltpXV09ITA7cmV0dXJuIGU/ZnVuY3Rpb24o
dCl7cmV0dXJuIG5bdC50b0xvd2VyQ2FzZSgpXX06ZnVuY3Rpb24odCl7cmV0dXJuIG5bdF19fWZ1
bmN0aW9uIHYodCxlKXtpZih0Lmxlbmd0aCl7dmFyIG49dC5pbmRleE9mKGUpO2lmKG4+LTEpcmV0
dXJuIHQuc3BsaWNlKG4sMSl9fWZ1bmN0aW9uIGgodCxlKXtyZXR1cm4gQmkuY2FsbCh0LGUpfWZ1
bmN0aW9uIG0odCl7dmFyIGU9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gZnVuY3Rpb24obil7
cmV0dXJuIGVbbl18fChlW25dPXQobikpfX1mdW5jdGlvbiB5KHQsZSl7ZnVuY3Rpb24gbihuKXt2
YXIgcj1hcmd1bWVudHMubGVuZ3RoO3JldHVybiByP3I+MT90LmFwcGx5KGUsYXJndW1lbnRzKTp0
LmNhbGwoZSxuKTp0LmNhbGwoZSl9cmV0dXJuIG4uX2xlbmd0aD10Lmxlbmd0aCxufWZ1bmN0aW9u
IGcodCxlKXtlPWV8fDA7Zm9yKHZhciBuPXQubGVuZ3RoLWUscj1uZXcgQXJyYXkobik7bi0tOyly
W25dPXRbbitlXTtyZXR1cm4gcn1mdW5jdGlvbiBfKHQsZSl7Zm9yKHZhciBuIGluIGUpdFtuXT1l
W25dO3JldHVybiB0fWZ1bmN0aW9uIGIodCl7Zm9yKHZhciBlPXt9LG49MDtuPHQubGVuZ3RoO24r
Kyl0W25dJiZfKGUsdFtuXSk7cmV0dXJuIGV9ZnVuY3Rpb24gdyh0LGUsbil7fWZ1bmN0aW9uICQo
dCxlKXtpZih0PT09ZSlyZXR1cm4hMDt2YXIgbj1zKHQpLHI9cyhlKTtpZighbnx8IXIpcmV0dXJu
IW4mJiFyJiZTdHJpbmcodCk9PT1TdHJpbmcoZSk7dHJ5e3ZhciBpPUFycmF5LmlzQXJyYXkodCks
bz1BcnJheS5pc0FycmF5KGUpO2lmKGkmJm8pcmV0dXJuIHQubGVuZ3RoPT09ZS5sZW5ndGgmJnQu
ZXZlcnkoZnVuY3Rpb24odCxuKXtyZXR1cm4gJCh0LGVbbl0pfSk7aWYoaXx8bylyZXR1cm4hMTt2
YXIgYT1PYmplY3Qua2V5cyh0KSxjPU9iamVjdC5rZXlzKGUpO3JldHVybiBhLmxlbmd0aD09PWMu
bGVuZ3RoJiZhLmV2ZXJ5KGZ1bmN0aW9uKG4pe3JldHVybiAkKHRbbl0sZVtuXSl9KX1jYXRjaCh0
KXtyZXR1cm4hMX19ZnVuY3Rpb24gQyh0LGUpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKWlm
KCQodFtuXSxlKSlyZXR1cm4gbjtyZXR1cm4tMX1mdW5jdGlvbiB4KHQpe3ZhciBlPSExO3JldHVy
biBmdW5jdGlvbigpe2V8fChlPSEwLHQuYXBwbHkodGhpcyxhcmd1bWVudHMpKX19ZnVuY3Rpb24g
QSh0KXt2YXIgZT0odCsiIikuY2hhckNvZGVBdCgwKTtyZXR1cm4gMzY9PT1lfHw5NT09PWV9ZnVu
Y3Rpb24gayh0LGUsbixyKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpuLGVudW1l
cmFibGU6ISFyLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pfWZ1bmN0aW9uIE8odCl7aWYo
IVFpLnRlc3QodCkpe3ZhciBlPXQuc3BsaXQoIi4iKTtyZXR1cm4gZnVuY3Rpb24odCl7Zm9yKHZh
ciBuPTA7bjxlLmxlbmd0aDtuKyspe2lmKCF0KXJldHVybjt0PXRbZVtuXV19cmV0dXJuIHR9fX1m
dW5jdGlvbiBTKHQsZSxuKXtpZihYaS5lcnJvckhhbmRsZXIpWGkuZXJyb3JIYW5kbGVyLmNhbGwo
bnVsbCx0LGUsbik7ZWxzZXtpZighbm98fCJ1bmRlZmluZWQiPT10eXBlb2YgY29uc29sZSl0aHJv
dyB0O2NvbnNvbGUuZXJyb3IodCl9fWZ1bmN0aW9uIFQodCl7cmV0dXJuImZ1bmN0aW9uIj09dHlw
ZW9mIHQmJi9uYXRpdmUgY29kZS8udGVzdCh0LnRvU3RyaW5nKCkpfWZ1bmN0aW9uIEUodCl7d28u
dGFyZ2V0JiYkby5wdXNoKHdvLnRhcmdldCksd28udGFyZ2V0PXR9ZnVuY3Rpb24gaigpe3dvLnRh
cmdldD0kby5wb3AoKX1mdW5jdGlvbiBOKHQsZSxuKXt0Ll9fcHJvdG9fXz1lfWZ1bmN0aW9uIEwo
dCxlLG4pe2Zvcih2YXIgcj0wLGk9bi5sZW5ndGg7cjxpO3IrKyl7dmFyIG89bltyXTtrKHQsbyxl
W29dKX19ZnVuY3Rpb24gTSh0LGUpe2lmKHModCkpe3ZhciBuO3JldHVybiBoKHQsIl9fb2JfXyIp
JiZ0Ll9fb2JfXyBpbnN0YW5jZW9mIE9vP249dC5fX29iX186a28uc2hvdWxkQ29udmVydCYmIW1v
KCkmJihBcnJheS5pc0FycmF5KHQpfHxjKHQpKSYmT2JqZWN0LmlzRXh0ZW5zaWJsZSh0KSYmIXQu
X2lzVnVlJiYobj1uZXcgT28odCkpLGUmJm4mJm4udm1Db3VudCsrLG59fWZ1bmN0aW9uIEkodCxl
LG4scixpKXt2YXIgbz1uZXcgd28sYT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQs
ZSk7aWYoIWF8fCExIT09YS5jb25maWd1cmFibGUpe3ZhciBzPWEmJmEuZ2V0LGM9YSYmYS5zZXQs
dT0haSYmTShuKTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHtlbnVtZXJhYmxlOiEwLGNvbmZp
Z3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXt2YXIgZT1zP3MuY2FsbCh0KTpuO3JldHVybiB3by50
YXJnZXQmJihvLmRlcGVuZCgpLHUmJnUuZGVwLmRlcGVuZCgpLEFycmF5LmlzQXJyYXkoZSkmJkQo
ZSkpLGV9LHNldDpmdW5jdGlvbihlKXt2YXIgcj1zP3MuY2FsbCh0KTpuO2U9PT1yfHxlIT09ZSYm
ciE9PXJ8fChjP2MuY2FsbCh0LGUpOm49ZSx1PSFpJiZNKGUpLG8ubm90aWZ5KCkpfX0pfX1mdW5j
dGlvbiBQKHQsZSxuKXtpZihBcnJheS5pc0FycmF5KHQpJiZsKGUpKXJldHVybiB0Lmxlbmd0aD1N
YXRoLm1heCh0Lmxlbmd0aCxlKSx0LnNwbGljZShlLDEsbiksbjtpZihoKHQsZSkpcmV0dXJuIHRb
ZV09bixuO3ZhciByPXQuX19vYl9fO3JldHVybiB0Ll9pc1Z1ZXx8ciYmci52bUNvdW50P246cj8o
SShyLnZhbHVlLGUsbiksci5kZXAubm90aWZ5KCksbik6KHRbZV09bixuKX1mdW5jdGlvbiBSKHQs
ZSl7aWYoQXJyYXkuaXNBcnJheSh0KSYmbChlKSlyZXR1cm4gdm9pZCB0LnNwbGljZShlLDEpO3Zh
ciBuPXQuX19vYl9fO3QuX2lzVnVlfHxuJiZuLnZtQ291bnR8fGgodCxlKSYmKGRlbGV0ZSB0W2Vd
LG4mJm4uZGVwLm5vdGlmeSgpKX1mdW5jdGlvbiBEKHQpe2Zvcih2YXIgZT12b2lkIDAsbj0wLHI9
dC5sZW5ndGg7bjxyO24rKyllPXRbbl0sZSYmZS5fX29iX18mJmUuX19vYl9fLmRlcC5kZXBlbmQo
KSxBcnJheS5pc0FycmF5KGUpJiZEKGUpfWZ1bmN0aW9uIEYodCxlKXtpZighZSlyZXR1cm4gdDtm
b3IodmFyIG4scixpLG89T2JqZWN0LmtleXMoZSksYT0wO2E8by5sZW5ndGg7YSsrKW49b1thXSxy
PXRbbl0saT1lW25dLGgodCxuKT9jKHIpJiZjKGkpJiZGKHIsaSk6UCh0LG4saSk7cmV0dXJuIHR9
ZnVuY3Rpb24gQih0LGUsbil7cmV0dXJuIG4/dHx8ZT9mdW5jdGlvbigpe3ZhciByPSJmdW5jdGlv
biI9PXR5cGVvZiBlP2UuY2FsbChuKTplLGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dC5jYWxsKG4p
OnZvaWQgMDtyZXR1cm4gcj9GKHIsaSk6aX06dm9pZCAwOmU/dD9mdW5jdGlvbigpe3JldHVybiBG
KCJmdW5jdGlvbiI9PXR5cGVvZiBlP2UuY2FsbCh0aGlzKTplLCJmdW5jdGlvbiI9PXR5cGVvZiB0
P3QuY2FsbCh0aGlzKTp0KX06ZTp0fWZ1bmN0aW9uIFUodCxlKXtyZXR1cm4gZT90P3QuY29uY2F0
KGUpOkFycmF5LmlzQXJyYXkoZSk/ZTpbZV06dH1mdW5jdGlvbiBIKHQsZSl7dmFyIG49T2JqZWN0
LmNyZWF0ZSh0fHxudWxsKTtyZXR1cm4gZT9fKG4sZSk6bn1mdW5jdGlvbiBWKHQpe3ZhciBlPXQu
cHJvcHM7aWYoZSl7dmFyIG4scixpLG89e307aWYoQXJyYXkuaXNBcnJheShlKSlmb3Iobj1lLmxl
bmd0aDtuLS07KSJzdHJpbmciPT10eXBlb2Yocj1lW25dKSYmKGk9SGkociksb1tpXT17dHlwZTpu
dWxsfSk7ZWxzZSBpZihjKGUpKWZvcih2YXIgYSBpbiBlKXI9ZVthXSxpPUhpKGEpLG9baV09Yyhy
KT9yOnt0eXBlOnJ9O3QucHJvcHM9b319ZnVuY3Rpb24geih0KXt2YXIgZT10LmluamVjdDtpZihB
cnJheS5pc0FycmF5KGUpKWZvcih2YXIgbj10LmluamVjdD17fSxyPTA7cjxlLmxlbmd0aDtyKysp
bltlW3JdXT1lW3JdfWZ1bmN0aW9uIEoodCl7dmFyIGU9dC5kaXJlY3RpdmVzO2lmKGUpZm9yKHZh
ciBuIGluIGUpe3ZhciByPWVbbl07ImZ1bmN0aW9uIj09dHlwZW9mIHImJihlW25dPXtiaW5kOnIs
dXBkYXRlOnJ9KX19ZnVuY3Rpb24gSyh0LGUsbil7ZnVuY3Rpb24gcihyKXt2YXIgaT1Tb1tyXXx8
VG87Y1tyXT1pKHRbcl0sZVtyXSxuLHIpfSJmdW5jdGlvbiI9PXR5cGVvZiBlJiYoZT1lLm9wdGlv
bnMpLFYoZSkseihlKSxKKGUpO3ZhciBpPWUuZXh0ZW5kcztpZihpJiYodD1LKHQsaSxuKSksZS5t
aXhpbnMpZm9yKHZhciBvPTAsYT1lLm1peGlucy5sZW5ndGg7bzxhO28rKyl0PUsodCxlLm1peGlu
c1tvXSxuKTt2YXIgcyxjPXt9O2ZvcihzIGluIHQpcihzKTtmb3IocyBpbiBlKWgodCxzKXx8cihz
KTtyZXR1cm4gY31mdW5jdGlvbiBxKHQsZSxuLHIpe2lmKCJzdHJpbmciPT10eXBlb2Ygbil7dmFy
IGk9dFtlXTtpZihoKGksbikpcmV0dXJuIGlbbl07dmFyIG89SGkobik7aWYoaChpLG8pKXJldHVy
biBpW29dO3ZhciBhPVZpKG8pO2lmKGgoaSxhKSlyZXR1cm4gaVthXTtyZXR1cm4gaVtuXXx8aVtv
XXx8aVthXX19ZnVuY3Rpb24gVyh0LGUsbixyKXt2YXIgaT1lW3RdLG89IWgobix0KSxhPW5bdF07
aWYoWChCb29sZWFuLGkudHlwZSkmJihvJiYhaChpLCJkZWZhdWx0Iik/YT0hMTpYKFN0cmluZyxp
LnR5cGUpfHwiIiE9PWEmJmEhPT1KaSh0KXx8KGE9ITApKSx2b2lkIDA9PT1hKXthPUcocixpLHQp
O3ZhciBzPWtvLnNob3VsZENvbnZlcnQ7a28uc2hvdWxkQ29udmVydD0hMCxNKGEpLGtvLnNob3Vs
ZENvbnZlcnQ9c31yZXR1cm4gYX1mdW5jdGlvbiBHKHQsZSxuKXtpZihoKGUsImRlZmF1bHQiKSl7
dmFyIHI9ZS5kZWZhdWx0O3JldHVybiB0JiZ0LiRvcHRpb25zLnByb3BzRGF0YSYmdm9pZCAwPT09
dC4kb3B0aW9ucy5wcm9wc0RhdGFbbl0mJnZvaWQgMCE9PXQuX3Byb3BzW25dP3QuX3Byb3BzW25d
OiJmdW5jdGlvbiI9PXR5cGVvZiByJiYiRnVuY3Rpb24iIT09WihlLnR5cGUpP3IuY2FsbCh0KTpy
fX1mdW5jdGlvbiBaKHQpe3ZhciBlPXQmJnQudG9TdHJpbmcoKS5tYXRjaCgvXlxzKmZ1bmN0aW9u
IChcdyspLyk7cmV0dXJuIGU/ZVsxXToiIn1mdW5jdGlvbiBYKHQsZSl7aWYoIUFycmF5LmlzQXJy
YXkoZSkpcmV0dXJuIFooZSk9PT1aKHQpO2Zvcih2YXIgbj0wLHI9ZS5sZW5ndGg7bjxyO24rKylp
ZihaKGVbbl0pPT09Wih0KSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBZKHQpe3JldHVybiBu
ZXcgRW8odm9pZCAwLHZvaWQgMCx2b2lkIDAsU3RyaW5nKHQpKX1mdW5jdGlvbiBRKHQpe3ZhciBl
PW5ldyBFbyh0LnRhZyx0LmRhdGEsdC5jaGlsZHJlbix0LnRleHQsdC5lbG0sdC5jb250ZXh0LHQu
Y29tcG9uZW50T3B0aW9ucyx0LmFzeW5jRmFjdG9yeSk7cmV0dXJuIGUubnM9dC5ucyxlLmlzU3Rh
dGljPXQuaXNTdGF0aWMsZS5rZXk9dC5rZXksZS5pc0NvbW1lbnQ9dC5pc0NvbW1lbnQsZS5pc0Ns
b25lZD0hMCxlfWZ1bmN0aW9uIHR0KHQpe2Zvcih2YXIgZT10Lmxlbmd0aCxuPW5ldyBBcnJheShl
KSxyPTA7cjxlO3IrKyluW3JdPVEodFtyXSk7cmV0dXJuIG59ZnVuY3Rpb24gZXQodCl7ZnVuY3Rp
b24gZSgpe3ZhciB0PWFyZ3VtZW50cyxuPWUuZm5zO2lmKCFBcnJheS5pc0FycmF5KG4pKXJldHVy
biBuLmFwcGx5KG51bGwsYXJndW1lbnRzKTtmb3IodmFyIHI9bi5zbGljZSgpLGk9MDtpPHIubGVu
Z3RoO2krKylyW2ldLmFwcGx5KG51bGwsdCl9cmV0dXJuIGUuZm5zPXQsZX1mdW5jdGlvbiBudCh0
LGUscixpLG8pe3ZhciBhLHMsYyx1O2ZvcihhIGluIHQpcz10W2FdLGM9ZVthXSx1PU1vKGEpLG4o
cyl8fChuKGMpPyhuKHMuZm5zKSYmKHM9dFthXT1ldChzKSkscih1Lm5hbWUscyx1Lm9uY2UsdS5j
YXB0dXJlLHUucGFzc2l2ZSkpOnMhPT1jJiYoYy5mbnM9cyx0W2FdPWMpKTtmb3IoYSBpbiBlKW4o
dFthXSkmJih1PU1vKGEpLGkodS5uYW1lLGVbYV0sdS5jYXB0dXJlKSl9ZnVuY3Rpb24gcnQodCxl
LG8pe2Z1bmN0aW9uIGEoKXtvLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx2KHMuZm5zLGEpfXZhciBz
LGM9dFtlXTtuKGMpP3M9ZXQoW2FdKTpyKGMuZm5zKSYmaShjLm1lcmdlZCk/KHM9YyxzLmZucy5w
dXNoKGEpKTpzPWV0KFtjLGFdKSxzLm1lcmdlZD0hMCx0W2VdPXN9ZnVuY3Rpb24gaXQodCxlLGkp
e3ZhciBvPWUub3B0aW9ucy5wcm9wcztpZighbihvKSl7dmFyIGE9e30scz10LmF0dHJzLGM9dC5w
cm9wcztpZihyKHMpfHxyKGMpKWZvcih2YXIgdSBpbiBvKXt2YXIgbD1KaSh1KTtvdChhLGMsdSxs
LCEwKXx8b3QoYSxzLHUsbCwhMSl9cmV0dXJuIGF9fWZ1bmN0aW9uIG90KHQsZSxuLGksbyl7aWYo
cihlKSl7aWYoaChlLG4pKXJldHVybiB0W25dPWVbbl0sb3x8ZGVsZXRlIGVbbl0sITA7aWYoaChl
LGkpKXJldHVybiB0W25dPWVbaV0sb3x8ZGVsZXRlIGVbaV0sITB9cmV0dXJuITF9ZnVuY3Rpb24g
YXQodCl7Zm9yKHZhciBlPTA7ZTx0Lmxlbmd0aDtlKyspaWYoQXJyYXkuaXNBcnJheSh0W2VdKSly
ZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSx0KTtyZXR1cm4gdH1mdW5jdGlv
biBzdCh0KXtyZXR1cm4gYSh0KT9bWSh0KV06QXJyYXkuaXNBcnJheSh0KT91dCh0KTp2b2lkIDB9
ZnVuY3Rpb24gY3QodCl7cmV0dXJuIHIodCkmJnIodC50ZXh0KSYmbyh0LmlzQ29tbWVudCl9ZnVu
Y3Rpb24gdXQodCxlKXt2YXIgbyxzLGMsdT1bXTtmb3Iobz0wO288dC5sZW5ndGg7bysrKXM9dFtv
XSxuKHMpfHwiYm9vbGVhbiI9PXR5cGVvZiBzfHwoYz11W3UubGVuZ3RoLTFdLEFycmF5LmlzQXJy
YXkocyk/dS5wdXNoLmFwcGx5KHUsdXQocywoZXx8IiIpKyJfIitvKSk6YShzKT9jdChjKT9jLnRl
eHQrPVN0cmluZyhzKToiIiE9PXMmJnUucHVzaChZKHMpKTpjdChzKSYmY3QoYyk/dVt1Lmxlbmd0
aC0xXT1ZKGMudGV4dCtzLnRleHQpOihpKHQuX2lzVkxpc3QpJiZyKHMudGFnKSYmbihzLmtleSkm
JnIoZSkmJihzLmtleT0iX192bGlzdCIrZSsiXyIrbysiX18iKSx1LnB1c2gocykpKTtyZXR1cm4g
dX1mdW5jdGlvbiBsdCh0LGUpe3JldHVybiB0Ll9fZXNNb2R1bGUmJnQuZGVmYXVsdCYmKHQ9dC5k
ZWZhdWx0KSxzKHQpP2UuZXh0ZW5kKHQpOnR9ZnVuY3Rpb24gZnQodCxlLG4scixpKXt2YXIgbz1M
bygpO3JldHVybiBvLmFzeW5jRmFjdG9yeT10LG8uYXN5bmNNZXRhPXtkYXRhOmUsY29udGV4dDpu
LGNoaWxkcmVuOnIsdGFnOml9LG99ZnVuY3Rpb24gcHQodCxlLG8pe2lmKGkodC5lcnJvcikmJnIo
dC5lcnJvckNvbXApKXJldHVybiB0LmVycm9yQ29tcDtpZihyKHQucmVzb2x2ZWQpKXJldHVybiB0
LnJlc29sdmVkO2lmKGkodC5sb2FkaW5nKSYmcih0LmxvYWRpbmdDb21wKSlyZXR1cm4gdC5sb2Fk
aW5nQ29tcDtpZighcih0LmNvbnRleHRzKSl7dmFyIGE9dC5jb250ZXh0cz1bb10sYz0hMCx1PWZ1
bmN0aW9uKCl7Zm9yKHZhciB0PTAsZT1hLmxlbmd0aDt0PGU7dCsrKWFbdF0uJGZvcmNlVXBkYXRl
KCl9LGw9eChmdW5jdGlvbihuKXt0LnJlc29sdmVkPWx0KG4sZSksY3x8dSgpfSksZj14KGZ1bmN0
aW9uKGUpe3IodC5lcnJvckNvbXApJiYodC5lcnJvcj0hMCx1KCkpfSkscD10KGwsZik7cmV0dXJu
IHMocCkmJigiZnVuY3Rpb24iPT10eXBlb2YgcC50aGVuP24odC5yZXNvbHZlZCkmJnAudGhlbihs
LGYpOnIocC5jb21wb25lbnQpJiYiZnVuY3Rpb24iPT10eXBlb2YgcC5jb21wb25lbnQudGhlbiYm
KHAuY29tcG9uZW50LnRoZW4obCxmKSxyKHAuZXJyb3IpJiYodC5lcnJvckNvbXA9bHQocC5lcnJv
cixlKSkscihwLmxvYWRpbmcpJiYodC5sb2FkaW5nQ29tcD1sdChwLmxvYWRpbmcsZSksMD09PXAu
ZGVsYXk/dC5sb2FkaW5nPSEwOnNldFRpbWVvdXQoZnVuY3Rpb24oKXtuKHQucmVzb2x2ZWQpJiZu
KHQuZXJyb3IpJiYodC5sb2FkaW5nPSEwLHUoKSl9LHAuZGVsYXl8fDIwMCkpLHIocC50aW1lb3V0
KSYmc2V0VGltZW91dChmdW5jdGlvbigpe24odC5yZXNvbHZlZCkmJmYobnVsbCl9LHAudGltZW91
dCkpKSxjPSExLHQubG9hZGluZz90LmxvYWRpbmdDb21wOnQucmVzb2x2ZWR9dC5jb250ZXh0cy5w
dXNoKG8pfWZ1bmN0aW9uIGR0KHQpe2lmKEFycmF5LmlzQXJyYXkodCkpZm9yKHZhciBlPTA7ZTx0
Lmxlbmd0aDtlKyspe3ZhciBuPXRbZV07aWYocihuKSYmcihuLmNvbXBvbmVudE9wdGlvbnMpKXJl
dHVybiBufX1mdW5jdGlvbiB2dCh0KXt0Ll9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSx0Ll9o
YXNIb29rRXZlbnQ9ITE7dmFyIGU9dC4kb3B0aW9ucy5fcGFyZW50TGlzdGVuZXJzO2UmJnl0KHQs
ZSl9ZnVuY3Rpb24gaHQodCxlLG4pe24/Tm8uJG9uY2UodCxlKTpOby4kb24odCxlKX1mdW5jdGlv
biBtdCh0LGUpe05vLiRvZmYodCxlKX1mdW5jdGlvbiB5dCh0LGUsbil7Tm89dCxudChlLG58fHt9
LGh0LG10LHQpfWZ1bmN0aW9uIGd0KHQsZSl7dmFyIG49e307aWYoIXQpcmV0dXJuIG47Zm9yKHZh
ciByPVtdLGk9MCxvPXQubGVuZ3RoO2k8bztpKyspe3ZhciBhPXRbaV07aWYoYS5jb250ZXh0IT09
ZSYmYS5mdW5jdGlvbmFsQ29udGV4dCE9PWV8fCFhLmRhdGF8fG51bGw9PWEuZGF0YS5zbG90KXIu
cHVzaChhKTtlbHNle3ZhciBzPWEuZGF0YS5zbG90LGM9bltzXXx8KG5bc109W10pOyJ0ZW1wbGF0
ZSI9PT1hLnRhZz9jLnB1c2guYXBwbHkoYyxhLmNoaWxkcmVuKTpjLnB1c2goYSl9fXJldHVybiBy
LmV2ZXJ5KF90KXx8KG4uZGVmYXVsdD1yKSxufWZ1bmN0aW9uIF90KHQpe3JldHVybiB0LmlzQ29t
bWVudHx8IiAiPT09dC50ZXh0fWZ1bmN0aW9uIGJ0KHQsZSl7ZT1lfHx7fTtmb3IodmFyIG49MDtu
PHQubGVuZ3RoO24rKylBcnJheS5pc0FycmF5KHRbbl0pP2J0KHRbbl0sZSk6ZVt0W25dLmtleV09
dFtuXS5mbjtyZXR1cm4gZX1mdW5jdGlvbiB3dCh0KXt2YXIgZT10LiRvcHRpb25zLG49ZS5wYXJl
bnQ7aWYobiYmIWUuYWJzdHJhY3Qpe2Zvcig7bi4kb3B0aW9ucy5hYnN0cmFjdCYmbi4kcGFyZW50
OyluPW4uJHBhcmVudDtuLiRjaGlsZHJlbi5wdXNoKHQpfXQuJHBhcmVudD1uLHQuJHJvb3Q9bj9u
LiRyb290OnQsdC4kY2hpbGRyZW49W10sdC4kcmVmcz17fSx0Ll93YXRjaGVyPW51bGwsdC5faW5h
Y3RpdmU9bnVsbCx0Ll9kaXJlY3RJbmFjdGl2ZT0hMSx0Ll9pc01vdW50ZWQ9ITEsdC5faXNEZXN0
cm95ZWQ9ITEsdC5faXNCZWluZ0Rlc3Ryb3llZD0hMX1mdW5jdGlvbiAkdCh0LGUsbil7dC4kZWw9
ZSx0LiRvcHRpb25zLnJlbmRlcnx8KHQuJG9wdGlvbnMucmVuZGVyPUxvKSxPdCh0LCJiZWZvcmVN
b3VudCIpO3ZhciByO3JldHVybiByPWZ1bmN0aW9uKCl7dC5fdXBkYXRlKHQuX3JlbmRlcigpLG4p
fSx0Ll93YXRjaGVyPW5ldyBWbyh0LHIsdyksbj0hMSxudWxsPT10LiR2bm9kZSYmKHQuX2lzTW91
bnRlZD0hMCxPdCh0LCJtb3VudGVkIikpLHR9ZnVuY3Rpb24gQ3QodCxlLG4scixpKXt2YXIgbz0h
IShpfHx0LiRvcHRpb25zLl9yZW5kZXJDaGlsZHJlbnx8ci5kYXRhLnNjb3BlZFNsb3RzfHx0LiRz
Y29wZWRTbG90cyE9PVlpKTtpZih0LiRvcHRpb25zLl9wYXJlbnRWbm9kZT1yLHQuJHZub2RlPXIs
dC5fdm5vZGUmJih0Ll92bm9kZS5wYXJlbnQ9ciksdC4kb3B0aW9ucy5fcmVuZGVyQ2hpbGRyZW49
aSx0LiRhdHRycz1yLmRhdGEmJnIuZGF0YS5hdHRycyx0LiRsaXN0ZW5lcnM9bixlJiZ0LiRvcHRp
b25zLnByb3BzKXtrby5zaG91bGRDb252ZXJ0PSExO2Zvcih2YXIgYT10Ll9wcm9wcyxzPXQuJG9w
dGlvbnMuX3Byb3BLZXlzfHxbXSxjPTA7YzxzLmxlbmd0aDtjKyspe3ZhciB1PXNbY107YVt1XT1X
KHUsdC4kb3B0aW9ucy5wcm9wcyxlLHQpfWtvLnNob3VsZENvbnZlcnQ9ITAsdC4kb3B0aW9ucy5w
cm9wc0RhdGE9ZX1pZihuKXt2YXIgbD10LiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnM7dC4kb3B0
aW9ucy5fcGFyZW50TGlzdGVuZXJzPW4seXQodCxuLGwpfW8mJih0LiRzbG90cz1ndChpLHIuY29u
dGV4dCksdC4kZm9yY2VVcGRhdGUoKSl9ZnVuY3Rpb24geHQodCl7Zm9yKDt0JiYodD10LiRwYXJl
bnQpOylpZih0Ll9pbmFjdGl2ZSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBBdCh0LGUpe2lm
KGUpe2lmKHQuX2RpcmVjdEluYWN0aXZlPSExLHh0KHQpKXJldHVybn1lbHNlIGlmKHQuX2RpcmVj
dEluYWN0aXZlKXJldHVybjtpZih0Ll9pbmFjdGl2ZXx8bnVsbD09PXQuX2luYWN0aXZlKXt0Ll9p
bmFjdGl2ZT0hMTtmb3IodmFyIG49MDtuPHQuJGNoaWxkcmVuLmxlbmd0aDtuKyspQXQodC4kY2hp
bGRyZW5bbl0pO090KHQsImFjdGl2YXRlZCIpfX1mdW5jdGlvbiBrdCh0LGUpe2lmKCEoZSYmKHQu
X2RpcmVjdEluYWN0aXZlPSEwLHh0KHQpKXx8dC5faW5hY3RpdmUpKXt0Ll9pbmFjdGl2ZT0hMDtm
b3IodmFyIG49MDtuPHQuJGNoaWxkcmVuLmxlbmd0aDtuKyspa3QodC4kY2hpbGRyZW5bbl0pO090
KHQsImRlYWN0aXZhdGVkIil9fWZ1bmN0aW9uIE90KHQsZSl7dmFyIG49dC4kb3B0aW9uc1tlXTtp
ZihuKWZvcih2YXIgcj0wLGk9bi5sZW5ndGg7cjxpO3IrKyl0cnl7bltyXS5jYWxsKHQpfWNhdGNo
KG4pe1Mobix0LGUrIiBob29rIil9dC5faGFzSG9va0V2ZW50JiZ0LiRlbWl0KCJob29rOiIrZSl9
ZnVuY3Rpb24gU3QoKXtVbz1Qby5sZW5ndGg9Um8ubGVuZ3RoPTAsRG89e30sRm89Qm89ITF9ZnVu
Y3Rpb24gVHQoKXtCbz0hMDt2YXIgdCxlO2ZvcihQby5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJu
IHQuaWQtZS5pZH0pLFVvPTA7VW88UG8ubGVuZ3RoO1VvKyspdD1Qb1tVb10sZT10LmlkLERvW2Vd
PW51bGwsdC5ydW4oKTt2YXIgbj1Sby5zbGljZSgpLHI9UG8uc2xpY2UoKTtTdCgpLE50KG4pLEV0
KHIpLHlvJiZYaS5kZXZ0b29scyYmeW8uZW1pdCgiZmx1c2giKX1mdW5jdGlvbiBFdCh0KXtmb3Io
dmFyIGU9dC5sZW5ndGg7ZS0tOyl7dmFyIG49dFtlXSxyPW4udm07ci5fd2F0Y2hlcj09PW4mJnIu
X2lzTW91bnRlZCYmT3QociwidXBkYXRlZCIpfX1mdW5jdGlvbiBqdCh0KXt0Ll9pbmFjdGl2ZT0h
MSxSby5wdXNoKHQpfWZ1bmN0aW9uIE50KHQpe2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKXRb
ZV0uX2luYWN0aXZlPSEwLEF0KHRbZV0sITApfWZ1bmN0aW9uIEx0KHQpe3ZhciBlPXQuaWQ7aWYo
bnVsbD09RG9bZV0pe2lmKERvW2VdPSEwLEJvKXtmb3IodmFyIG49UG8ubGVuZ3RoLTE7bj5VbyYm
UG9bbl0uaWQ+dC5pZDspbi0tO1BvLnNwbGljZShuKzEsMCx0KX1lbHNlIFBvLnB1c2godCk7Rm98
fChGbz0hMCxfbyhUdCkpfX1mdW5jdGlvbiBNdCh0KXt6by5jbGVhcigpLEl0KHQsem8pfWZ1bmN0
aW9uIEl0KHQsZSl7dmFyIG4scixpPUFycmF5LmlzQXJyYXkodCk7aWYoKGl8fHModCkpJiZPYmpl
Y3QuaXNFeHRlbnNpYmxlKHQpKXtpZih0Ll9fb2JfXyl7dmFyIG89dC5fX29iX18uZGVwLmlkO2lm
KGUuaGFzKG8pKXJldHVybjtlLmFkZChvKX1pZihpKWZvcihuPXQubGVuZ3RoO24tLTspSXQodFtu
XSxlKTtlbHNlIGZvcihyPU9iamVjdC5rZXlzKHQpLG49ci5sZW5ndGg7bi0tOylJdCh0W3Jbbl1d
LGUpfX1mdW5jdGlvbiBQdCh0LGUsbil7Sm8uZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbZV1b
bl19LEpvLnNldD1mdW5jdGlvbih0KXt0aGlzW2VdW25dPXR9LE9iamVjdC5kZWZpbmVQcm9wZXJ0
eSh0LG4sSm8pfWZ1bmN0aW9uIFJ0KHQpe3QuX3dhdGNoZXJzPVtdO3ZhciBlPXQuJG9wdGlvbnM7
ZS5wcm9wcyYmRHQodCxlLnByb3BzKSxlLm1ldGhvZHMmJnp0KHQsZS5tZXRob2RzKSxlLmRhdGE/
RnQodCk6TSh0Ll9kYXRhPXt9LCEwKSxlLmNvbXB1dGVkJiZVdCh0LGUuY29tcHV0ZWQpLGUud2F0
Y2gmJmUud2F0Y2ghPT1sbyYmSnQodCxlLndhdGNoKX1mdW5jdGlvbiBEdCh0LGUpe3ZhciBuPXQu
JG9wdGlvbnMucHJvcHNEYXRhfHx7fSxyPXQuX3Byb3BzPXt9LGk9dC4kb3B0aW9ucy5fcHJvcEtl
eXM9W10sbz0hdC4kcGFyZW50O2tvLnNob3VsZENvbnZlcnQ9bztmb3IodmFyIGEgaW4gZSkhZnVu
Y3Rpb24obyl7aS5wdXNoKG8pO3ZhciBhPVcobyxlLG4sdCk7SShyLG8sYSksbyBpbiB0fHxQdCh0
LCJfcHJvcHMiLG8pfShhKTtrby5zaG91bGRDb252ZXJ0PSEwfWZ1bmN0aW9uIEZ0KHQpe3ZhciBl
PXQuJG9wdGlvbnMuZGF0YTtlPXQuX2RhdGE9ImZ1bmN0aW9uIj09dHlwZW9mIGU/QnQoZSx0KTpl
fHx7fSxjKGUpfHwoZT17fSk7Zm9yKHZhciBuPU9iamVjdC5rZXlzKGUpLHI9dC4kb3B0aW9ucy5w
cm9wcyxpPSh0LiRvcHRpb25zLm1ldGhvZHMsbi5sZW5ndGgpO2ktLTspe3ZhciBvPW5baV07ciYm
aChyLG8pfHxBKG8pfHxQdCh0LCJfZGF0YSIsbyl9TShlLCEwKX1mdW5jdGlvbiBCdCh0LGUpe3Ry
eXtyZXR1cm4gdC5jYWxsKGUpfWNhdGNoKHQpe3JldHVybiBTKHQsZSwiZGF0YSgpIikse319fWZ1
bmN0aW9uIFV0KHQsZSl7dmFyIG49dC5fY29tcHV0ZWRXYXRjaGVycz1PYmplY3QuY3JlYXRlKG51
bGwpO2Zvcih2YXIgciBpbiBlKXt2YXIgaT1lW3JdLG89ImZ1bmN0aW9uIj09dHlwZW9mIGk/aTpp
LmdldDtuW3JdPW5ldyBWbyh0LG98fHcsdyxLbyksciBpbiB0fHxIdCh0LHIsaSl9fWZ1bmN0aW9u
IEh0KHQsZSxuKXsiZnVuY3Rpb24iPT10eXBlb2Ygbj8oSm8uZ2V0PVZ0KGUpLEpvLnNldD13KToo
Sm8uZ2V0PW4uZ2V0PyExIT09bi5jYWNoZT9WdChlKTpuLmdldDp3LEpvLnNldD1uLnNldD9uLnNl
dDp3KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLEpvKX1mdW5jdGlvbiBWdCh0KXtyZXR1cm4g
ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9jb21wdXRlZFdhdGNoZXJzJiZ0aGlzLl9jb21wdXRlZFdh
dGNoZXJzW3RdO2lmKGUpcmV0dXJuIGUuZGlydHkmJmUuZXZhbHVhdGUoKSx3by50YXJnZXQmJmUu
ZGVwZW5kKCksZS52YWx1ZX19ZnVuY3Rpb24genQodCxlKXt0LiRvcHRpb25zLnByb3BzO2Zvcih2
YXIgbiBpbiBlKXRbbl09bnVsbD09ZVtuXT93OnkoZVtuXSx0KX1mdW5jdGlvbiBKdCh0LGUpe2Zv
cih2YXIgbiBpbiBlKXt2YXIgcj1lW25dO2lmKEFycmF5LmlzQXJyYXkocikpZm9yKHZhciBpPTA7
aTxyLmxlbmd0aDtpKyspS3QodCxuLHJbaV0pO2Vsc2UgS3QodCxuLHIpfX1mdW5jdGlvbiBLdCh0
LGUsbixyKXtyZXR1cm4gYyhuKSYmKHI9bixuPW4uaGFuZGxlciksInN0cmluZyI9PXR5cGVvZiBu
JiYobj10W25dKSx0LiR3YXRjaChlLG4scil9ZnVuY3Rpb24gcXQodCl7dmFyIGU9dC4kb3B0aW9u
cy5wcm92aWRlO2UmJih0Ll9wcm92aWRlZD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lLmNhbGwodCk6
ZSl9ZnVuY3Rpb24gV3QodCl7dmFyIGU9R3QodC4kb3B0aW9ucy5pbmplY3QsdCk7ZSYmKGtvLnNo
b3VsZENvbnZlcnQ9ITEsT2JqZWN0LmtleXMoZSkuZm9yRWFjaChmdW5jdGlvbihuKXtJKHQsbixl
W25dKX0pLGtvLnNob3VsZENvbnZlcnQ9ITApfWZ1bmN0aW9uIEd0KHQsZSl7aWYodCl7Zm9yKHZh
ciBuPU9iamVjdC5jcmVhdGUobnVsbCkscj1nbz9SZWZsZWN0Lm93bktleXModCk6T2JqZWN0Lmtl
eXModCksaT0wO2k8ci5sZW5ndGg7aSsrKWZvcih2YXIgbz1yW2ldLGE9dFtvXSxzPWU7czspe2lm
KHMuX3Byb3ZpZGVkJiZhIGluIHMuX3Byb3ZpZGVkKXtuW29dPXMuX3Byb3ZpZGVkW2FdO2JyZWFr
fXM9cy4kcGFyZW50fXJldHVybiBufX1mdW5jdGlvbiBadCh0LGUsbixpLG8pe3ZhciBhPXt9LHM9
dC5vcHRpb25zLnByb3BzO2lmKHIocykpZm9yKHZhciBjIGluIHMpYVtjXT1XKGMscyxlfHx7fSk7
ZWxzZSByKG4uYXR0cnMpJiZYdChhLG4uYXR0cnMpLHIobi5wcm9wcykmJlh0KGEsbi5wcm9wcyk7
dmFyIHU9T2JqZWN0LmNyZWF0ZShpKSxsPWZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiByZSh1LHQs
ZSxuLHIsITApfSxmPXQub3B0aW9ucy5yZW5kZXIuY2FsbChudWxsLGwse2RhdGE6bixwcm9wczph
LGNoaWxkcmVuOm8scGFyZW50OmksbGlzdGVuZXJzOm4ub258fHt9LGluamVjdGlvbnM6R3QodC5v
cHRpb25zLmluamVjdCxpKSxzbG90czpmdW5jdGlvbigpe3JldHVybiBndChvLGkpfX0pO3JldHVy
biBmIGluc3RhbmNlb2YgRW8mJihmLmZ1bmN0aW9uYWxDb250ZXh0PWksZi5mdW5jdGlvbmFsT3B0
aW9ucz10Lm9wdGlvbnMsbi5zbG90JiYoKGYuZGF0YXx8KGYuZGF0YT17fSkpLnNsb3Q9bi5zbG90
KSksZn1mdW5jdGlvbiBYdCh0LGUpe2Zvcih2YXIgbiBpbiBlKXRbSGkobildPWVbbl19ZnVuY3Rp
b24gWXQodCxlLG8sYSxjKXtpZighbih0KSl7dmFyIHU9by4kb3B0aW9ucy5fYmFzZTtpZihzKHQp
JiYodD11LmV4dGVuZCh0KSksImZ1bmN0aW9uIj09dHlwZW9mIHQpe3ZhciBsO2lmKG4odC5jaWQp
JiYobD10LHZvaWQgMD09PSh0PXB0KGwsdSxvKSkpKXJldHVybiBmdChsLGUsbyxhLGMpO2U9ZXx8
e30sZ2UodCkscihlLm1vZGVsKSYmbmUodC5vcHRpb25zLGUpO3ZhciBmPWl0KGUsdCxjKTtpZihp
KHQub3B0aW9ucy5mdW5jdGlvbmFsKSlyZXR1cm4gWnQodCxmLGUsbyxhKTt2YXIgcD1lLm9uO2lm
KGUub249ZS5uYXRpdmVPbixpKHQub3B0aW9ucy5hYnN0cmFjdCkpe3ZhciBkPWUuc2xvdDtlPXt9
LGQmJihlLnNsb3Q9ZCl9dGUoZSk7dmFyIHY9dC5vcHRpb25zLm5hbWV8fGM7cmV0dXJuIG5ldyBF
bygidnVlLWNvbXBvbmVudC0iK3QuY2lkKyh2PyItIit2OiIiKSxlLHZvaWQgMCx2b2lkIDAsdm9p
ZCAwLG8se0N0b3I6dCxwcm9wc0RhdGE6ZixsaXN0ZW5lcnM6cCx0YWc6YyxjaGlsZHJlbjphfSxs
KX19fWZ1bmN0aW9uIFF0KHQsZSxuLGkpe3ZhciBvPXQuY29tcG9uZW50T3B0aW9ucyxhPXtfaXND
b21wb25lbnQ6ITAscGFyZW50OmUscHJvcHNEYXRhOm8ucHJvcHNEYXRhLF9jb21wb25lbnRUYWc6
by50YWcsX3BhcmVudFZub2RlOnQsX3BhcmVudExpc3RlbmVyczpvLmxpc3RlbmVycyxfcmVuZGVy
Q2hpbGRyZW46by5jaGlsZHJlbixfcGFyZW50RWxtOm58fG51bGwsX3JlZkVsbTppfHxudWxsfSxz
PXQuZGF0YS5pbmxpbmVUZW1wbGF0ZTtyZXR1cm4gcihzKSYmKGEucmVuZGVyPXMucmVuZGVyLGEu
c3RhdGljUmVuZGVyRm5zPXMuc3RhdGljUmVuZGVyRm5zKSxuZXcgby5DdG9yKGEpfWZ1bmN0aW9u
IHRlKHQpe3QuaG9va3x8KHQuaG9vaz17fSk7Zm9yKHZhciBlPTA7ZTxXby5sZW5ndGg7ZSsrKXt2
YXIgbj1Xb1tlXSxyPXQuaG9va1tuXSxpPXFvW25dO3QuaG9va1tuXT1yP2VlKGkscik6aX19ZnVu
Y3Rpb24gZWUodCxlKXtyZXR1cm4gZnVuY3Rpb24obixyLGksbyl7dChuLHIsaSxvKSxlKG4scixp
LG8pfX1mdW5jdGlvbiBuZSh0LGUpe3ZhciBuPXQubW9kZWwmJnQubW9kZWwucHJvcHx8InZhbHVl
IixpPXQubW9kZWwmJnQubW9kZWwuZXZlbnR8fCJpbnB1dCI7KGUucHJvcHN8fChlLnByb3BzPXt9
KSlbbl09ZS5tb2RlbC52YWx1ZTt2YXIgbz1lLm9ufHwoZS5vbj17fSk7cihvW2ldKT9vW2ldPVtl
Lm1vZGVsLmNhbGxiYWNrXS5jb25jYXQob1tpXSk6b1tpXT1lLm1vZGVsLmNhbGxiYWNrfWZ1bmN0
aW9uIHJlKHQsZSxuLHIsbyxzKXtyZXR1cm4oQXJyYXkuaXNBcnJheShuKXx8YShuKSkmJihvPXIs
cj1uLG49dm9pZCAwKSxpKHMpJiYobz1abyksaWUodCxlLG4scixvKX1mdW5jdGlvbiBpZSh0LGUs
bixpLG8pe2lmKHIobikmJnIobi5fX29iX18pKXJldHVybiBMbygpO2lmKHIobikmJnIobi5pcykm
JihlPW4uaXMpLCFlKXJldHVybiBMbygpO0FycmF5LmlzQXJyYXkoaSkmJiJmdW5jdGlvbiI9PXR5
cGVvZiBpWzBdJiYobj1ufHx7fSxuLnNjb3BlZFNsb3RzPXtkZWZhdWx0OmlbMF19LGkubGVuZ3Ro
PTApLG89PT1abz9pPXN0KGkpOm89PT1HbyYmKGk9YXQoaSkpO3ZhciBhLHM7aWYoInN0cmluZyI9
PXR5cGVvZiBlKXt2YXIgYztzPVhpLmdldFRhZ05hbWVzcGFjZShlKSxhPVhpLmlzUmVzZXJ2ZWRU
YWcoZSk/bmV3IEVvKFhpLnBhcnNlUGxhdGZvcm1UYWdOYW1lKGUpLG4saSx2b2lkIDAsdm9pZCAw
LHQpOnIoYz1xKHQuJG9wdGlvbnMsImNvbXBvbmVudHMiLGUpKT9ZdChjLG4sdCxpLGUpOm5ldyBF
byhlLG4saSx2b2lkIDAsdm9pZCAwLHQpfWVsc2UgYT1ZdChlLG4sdCxpKTtyZXR1cm4gcihhKT8o
cyYmb2UoYSxzKSxhKTpMbygpfWZ1bmN0aW9uIG9lKHQsZSl7aWYodC5ucz1lLCJmb3JlaWduT2Jq
ZWN0IiE9PXQudGFnJiZyKHQuY2hpbGRyZW4pKWZvcih2YXIgaT0wLG89dC5jaGlsZHJlbi5sZW5n
dGg7aTxvO2krKyl7dmFyIGE9dC5jaGlsZHJlbltpXTtyKGEudGFnKSYmbihhLm5zKSYmb2UoYSxl
KX19ZnVuY3Rpb24gYWUodCxlKXt2YXIgbixpLG8sYSxjO2lmKEFycmF5LmlzQXJyYXkodCl8fCJz
dHJpbmciPT10eXBlb2YgdClmb3Iobj1uZXcgQXJyYXkodC5sZW5ndGgpLGk9MCxvPXQubGVuZ3Ro
O2k8bztpKyspbltpXT1lKHRbaV0saSk7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIHQpZm9yKG49
bmV3IEFycmF5KHQpLGk9MDtpPHQ7aSsrKW5baV09ZShpKzEsaSk7ZWxzZSBpZihzKHQpKWZvcihh
PU9iamVjdC5rZXlzKHQpLG49bmV3IEFycmF5KGEubGVuZ3RoKSxpPTAsbz1hLmxlbmd0aDtpPG87
aSsrKWM9YVtpXSxuW2ldPWUodFtjXSxjLGkpO3JldHVybiByKG4pJiYobi5faXNWTGlzdD0hMCks
bn1mdW5jdGlvbiBzZSh0LGUsbixyKXt2YXIgaT10aGlzLiRzY29wZWRTbG90c1t0XTtpZihpKXJl
dHVybiBuPW58fHt9LHImJihuPV8oXyh7fSxyKSxuKSksaShuKXx8ZTt2YXIgbz10aGlzLiRzbG90
c1t0XTtyZXR1cm4gb3x8ZX1mdW5jdGlvbiBjZSh0KXtyZXR1cm4gcSh0aGlzLiRvcHRpb25zLCJm
aWx0ZXJzIix0LCEwKXx8cWl9ZnVuY3Rpb24gdWUodCxlLG4pe3ZhciByPVhpLmtleUNvZGVzW2Vd
fHxuO3JldHVybiBBcnJheS5pc0FycmF5KHIpPy0xPT09ci5pbmRleE9mKHQpOnIhPT10fWZ1bmN0
aW9uIGxlKHQsZSxuLHIsaSl7aWYobilpZihzKG4pKXtBcnJheS5pc0FycmF5KG4pJiYobj1iKG4p
KTt2YXIgbztmb3IodmFyIGEgaW4gbikhZnVuY3Rpb24oYSl7aWYoImNsYXNzIj09PWF8fCJzdHls
ZSI9PT1hfHxGaShhKSlvPXQ7ZWxzZXt2YXIgcz10LmF0dHJzJiZ0LmF0dHJzLnR5cGU7bz1yfHxY
aS5tdXN0VXNlUHJvcChlLHMsYSk/dC5kb21Qcm9wc3x8KHQuZG9tUHJvcHM9e30pOnQuYXR0cnN8
fCh0LmF0dHJzPXt9KX1pZighKGEgaW4gbykmJihvW2FdPW5bYV0saSkpeyh0Lm9ufHwodC5vbj17
fSkpWyJ1cGRhdGU6IithXT1mdW5jdGlvbih0KXtuW2FdPXR9fX0oYSl9ZWxzZTtyZXR1cm4gdH1m
dW5jdGlvbiBmZSh0LGUpe3ZhciBuPXRoaXMuX3N0YXRpY1RyZWVzW3RdO3JldHVybiBuJiYhZT9B
cnJheS5pc0FycmF5KG4pP3R0KG4pOlEobik6KG49dGhpcy5fc3RhdGljVHJlZXNbdF09dGhpcy4k
b3B0aW9ucy5zdGF0aWNSZW5kZXJGbnNbdF0uY2FsbCh0aGlzLl9yZW5kZXJQcm94eSksZGUobiwi
X19zdGF0aWNfXyIrdCwhMSksbil9ZnVuY3Rpb24gcGUodCxlLG4pe3JldHVybiBkZSh0LCJfX29u
Y2VfXyIrZSsobj8iXyIrbjoiIiksITApLHR9ZnVuY3Rpb24gZGUodCxlLG4pe2lmKEFycmF5Lmlz
QXJyYXkodCkpZm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspdFtyXSYmInN0cmluZyIhPXR5cGVv
ZiB0W3JdJiZ2ZSh0W3JdLGUrIl8iK3Isbik7ZWxzZSB2ZSh0LGUsbil9ZnVuY3Rpb24gdmUodCxl
LG4pe3QuaXNTdGF0aWM9ITAsdC5rZXk9ZSx0LmlzT25jZT1ufWZ1bmN0aW9uIGhlKHQsZSl7aWYo
ZSlpZihjKGUpKXt2YXIgbj10Lm9uPXQub24/Xyh7fSx0Lm9uKTp7fTtmb3IodmFyIHIgaW4gZSl7
dmFyIGk9bltyXSxvPWVbcl07bltyXT1pP1tdLmNvbmNhdChvLGkpOm99fWVsc2U7cmV0dXJuIHR9
ZnVuY3Rpb24gbWUodCl7dC5fdm5vZGU9bnVsbCx0Ll9zdGF0aWNUcmVlcz1udWxsO3ZhciBlPXQu
JHZub2RlPXQuJG9wdGlvbnMuX3BhcmVudFZub2RlLG49ZSYmZS5jb250ZXh0O3QuJHNsb3RzPWd0
KHQuJG9wdGlvbnMuX3JlbmRlckNoaWxkcmVuLG4pLHQuJHNjb3BlZFNsb3RzPVlpLHQuX2M9ZnVu
Y3Rpb24oZSxuLHIsaSl7cmV0dXJuIHJlKHQsZSxuLHIsaSwhMSl9LHQuJGNyZWF0ZUVsZW1lbnQ9
ZnVuY3Rpb24oZSxuLHIsaSl7cmV0dXJuIHJlKHQsZSxuLHIsaSwhMCl9O3ZhciByPWUmJmUuZGF0
YTtJKHQsIiRhdHRycyIsciYmci5hdHRycyxudWxsLCEwKSxJKHQsIiRsaXN0ZW5lcnMiLHQuJG9w
dGlvbnMuX3BhcmVudExpc3RlbmVycyxudWxsLCEwKX1mdW5jdGlvbiB5ZSh0LGUpe3ZhciBuPXQu
JG9wdGlvbnM9T2JqZWN0LmNyZWF0ZSh0LmNvbnN0cnVjdG9yLm9wdGlvbnMpO24ucGFyZW50PWUu
cGFyZW50LG4ucHJvcHNEYXRhPWUucHJvcHNEYXRhLG4uX3BhcmVudFZub2RlPWUuX3BhcmVudFZu
b2RlLG4uX3BhcmVudExpc3RlbmVycz1lLl9wYXJlbnRMaXN0ZW5lcnMsbi5fcmVuZGVyQ2hpbGRy
ZW49ZS5fcmVuZGVyQ2hpbGRyZW4sbi5fY29tcG9uZW50VGFnPWUuX2NvbXBvbmVudFRhZyxuLl9w
YXJlbnRFbG09ZS5fcGFyZW50RWxtLG4uX3JlZkVsbT1lLl9yZWZFbG0sZS5yZW5kZXImJihuLnJl
bmRlcj1lLnJlbmRlcixuLnN0YXRpY1JlbmRlckZucz1lLnN0YXRpY1JlbmRlckZucyl9ZnVuY3Rp
b24gZ2UodCl7dmFyIGU9dC5vcHRpb25zO2lmKHQuc3VwZXIpe3ZhciBuPWdlKHQuc3VwZXIpO2lm
KG4hPT10LnN1cGVyT3B0aW9ucyl7dC5zdXBlck9wdGlvbnM9bjt2YXIgcj1fZSh0KTtyJiZfKHQu
ZXh0ZW5kT3B0aW9ucyxyKSxlPXQub3B0aW9ucz1LKG4sdC5leHRlbmRPcHRpb25zKSxlLm5hbWUm
JihlLmNvbXBvbmVudHNbZS5uYW1lXT10KX19cmV0dXJuIGV9ZnVuY3Rpb24gX2UodCl7dmFyIGUs
bj10Lm9wdGlvbnMscj10LmV4dGVuZE9wdGlvbnMsaT10LnNlYWxlZE9wdGlvbnM7Zm9yKHZhciBv
IGluIG4pbltvXSE9PWlbb10mJihlfHwoZT17fSksZVtvXT1iZShuW29dLHJbb10saVtvXSkpO3Jl
dHVybiBlfWZ1bmN0aW9uIGJlKHQsZSxuKXtpZihBcnJheS5pc0FycmF5KHQpKXt2YXIgcj1bXTtu
PUFycmF5LmlzQXJyYXkobik/bjpbbl0sZT1BcnJheS5pc0FycmF5KGUpP2U6W2VdO2Zvcih2YXIg
aT0wO2k8dC5sZW5ndGg7aSsrKShlLmluZGV4T2YodFtpXSk+PTB8fG4uaW5kZXhPZih0W2ldKTww
KSYmci5wdXNoKHRbaV0pO3JldHVybiByfXJldHVybiB0fWZ1bmN0aW9uIHdlKHQpe3RoaXMuX2lu
aXQodCl9ZnVuY3Rpb24gJGUodCl7dC51c2U9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5faW5zdGFs
bGVkUGx1Z2luc3x8KHRoaXMuX2luc3RhbGxlZFBsdWdpbnM9W10pO2lmKGUuaW5kZXhPZih0KT4t
MSlyZXR1cm4gdGhpczt2YXIgbj1nKGFyZ3VtZW50cywxKTtyZXR1cm4gbi51bnNoaWZ0KHRoaXMp
LCJmdW5jdGlvbiI9PXR5cGVvZiB0Lmluc3RhbGw/dC5pbnN0YWxsLmFwcGx5KHQsbik6ImZ1bmN0
aW9uIj09dHlwZW9mIHQmJnQuYXBwbHkobnVsbCxuKSxlLnB1c2godCksdGhpc319ZnVuY3Rpb24g
Q2UodCl7dC5taXhpbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zPUsodGhpcy5vcHRp
b25zLHQpLHRoaXN9fWZ1bmN0aW9uIHhlKHQpe3QuY2lkPTA7dmFyIGU9MTt0LmV4dGVuZD1mdW5j
dGlvbih0KXt0PXR8fHt9O3ZhciBuPXRoaXMscj1uLmNpZCxpPXQuX0N0b3J8fCh0Ll9DdG9yPXt9
KTtpZihpW3JdKXJldHVybiBpW3JdO3ZhciBvPXQubmFtZXx8bi5vcHRpb25zLm5hbWUsYT1mdW5j
dGlvbih0KXt0aGlzLl9pbml0KHQpfTtyZXR1cm4gYS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShu
LnByb3RvdHlwZSksYS5wcm90b3R5cGUuY29uc3RydWN0b3I9YSxhLmNpZD1lKyssYS5vcHRpb25z
PUsobi5vcHRpb25zLHQpLGEuc3VwZXI9bixhLm9wdGlvbnMucHJvcHMmJkFlKGEpLGEub3B0aW9u
cy5jb21wdXRlZCYma2UoYSksYS5leHRlbmQ9bi5leHRlbmQsYS5taXhpbj1uLm1peGluLGEudXNl
PW4udXNlLEdpLmZvckVhY2goZnVuY3Rpb24odCl7YVt0XT1uW3RdfSksbyYmKGEub3B0aW9ucy5j
b21wb25lbnRzW29dPWEpLGEuc3VwZXJPcHRpb25zPW4ub3B0aW9ucyxhLmV4dGVuZE9wdGlvbnM9
dCxhLnNlYWxlZE9wdGlvbnM9Xyh7fSxhLm9wdGlvbnMpLGlbcl09YSxhfX1mdW5jdGlvbiBBZSh0
KXt2YXIgZT10Lm9wdGlvbnMucHJvcHM7Zm9yKHZhciBuIGluIGUpUHQodC5wcm90b3R5cGUsIl9w
cm9wcyIsbil9ZnVuY3Rpb24ga2UodCl7dmFyIGU9dC5vcHRpb25zLmNvbXB1dGVkO2Zvcih2YXIg
biBpbiBlKUh0KHQucHJvdG90eXBlLG4sZVtuXSl9ZnVuY3Rpb24gT2UodCl7R2kuZm9yRWFjaChm
dW5jdGlvbihlKXt0W2VdPWZ1bmN0aW9uKHQsbil7cmV0dXJuIG4/KCJjb21wb25lbnQiPT09ZSYm
YyhuKSYmKG4ubmFtZT1uLm5hbWV8fHQsbj10aGlzLm9wdGlvbnMuX2Jhc2UuZXh0ZW5kKG4pKSwi
ZGlyZWN0aXZlIj09PWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBuJiYobj17YmluZDpuLHVwZGF0ZTpu
fSksdGhpcy5vcHRpb25zW2UrInMiXVt0XT1uLG4pOnRoaXMub3B0aW9uc1tlKyJzIl1bdF19fSl9
ZnVuY3Rpb24gU2UodCl7cmV0dXJuIHQmJih0LkN0b3Iub3B0aW9ucy5uYW1lfHx0LnRhZyl9ZnVu
Y3Rpb24gVGUodCxlKXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KT90LmluZGV4T2YoZSk+LTE6InN0
cmluZyI9PXR5cGVvZiB0P3Quc3BsaXQoIiwiKS5pbmRleE9mKGUpPi0xOiEhdSh0KSYmdC50ZXN0
KGUpfWZ1bmN0aW9uIEVlKHQsZSxuKXtmb3IodmFyIHIgaW4gdCl7dmFyIGk9dFtyXTtpZihpKXt2
YXIgbz1TZShpLmNvbXBvbmVudE9wdGlvbnMpO28mJiFuKG8pJiYoaSE9PWUmJmplKGkpLHRbcl09
bnVsbCl9fX1mdW5jdGlvbiBqZSh0KXt0JiZ0LmNvbXBvbmVudEluc3RhbmNlLiRkZXN0cm95KCl9
ZnVuY3Rpb24gTmUodCl7Zm9yKHZhciBlPXQuZGF0YSxuPXQsaT10O3IoaS5jb21wb25lbnRJbnN0
YW5jZSk7KWk9aS5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGUsaS5kYXRhJiYoZT1MZShpLmRhdGEs
ZSkpO2Zvcig7cihuPW4ucGFyZW50KTspbi5kYXRhJiYoZT1MZShlLG4uZGF0YSkpO3JldHVybiBN
ZShlLnN0YXRpY0NsYXNzLGUuY2xhc3MpfWZ1bmN0aW9uIExlKHQsZSl7cmV0dXJue3N0YXRpY0Ns
YXNzOkllKHQuc3RhdGljQ2xhc3MsZS5zdGF0aWNDbGFzcyksY2xhc3M6cih0LmNsYXNzKT9bdC5j
bGFzcyxlLmNsYXNzXTplLmNsYXNzfX1mdW5jdGlvbiBNZSh0LGUpe3JldHVybiByKHQpfHxyKGUp
P0llKHQsUGUoZSkpOiIifWZ1bmN0aW9uIEllKHQsZSl7cmV0dXJuIHQ/ZT90KyIgIitlOnQ6ZXx8
IiJ9ZnVuY3Rpb24gUGUodCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/UmUodCk6cyh0KT9EZSh0
KToic3RyaW5nIj09dHlwZW9mIHQ/dDoiIn1mdW5jdGlvbiBSZSh0KXtmb3IodmFyIGUsbj0iIixp
PTAsbz10Lmxlbmd0aDtpPG87aSsrKXIoZT1QZSh0W2ldKSkmJiIiIT09ZSYmKG4mJihuKz0iICIp
LG4rPWUpO3JldHVybiBufWZ1bmN0aW9uIERlKHQpe3ZhciBlPSIiO2Zvcih2YXIgbiBpbiB0KXRb
bl0mJihlJiYoZSs9IiAiKSxlKz1uKTtyZXR1cm4gZX1mdW5jdGlvbiBGZSh0KXtyZXR1cm4gd2Eo
dCk/InN2ZyI6Im1hdGgiPT09dD8ibWF0aCI6dm9pZCAwfWZ1bmN0aW9uIEJlKHQpe2lmKCFubyly
ZXR1cm4hMDtpZihDYSh0KSlyZXR1cm4hMTtpZih0PXQudG9Mb3dlckNhc2UoKSxudWxsIT14YVt0
XSlyZXR1cm4geGFbdF07dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0KTtyZXR1cm4gdC5p
bmRleE9mKCItIik+LTE/eGFbdF09ZS5jb25zdHJ1Y3Rvcj09PXdpbmRvdy5IVE1MVW5rbm93bkVs
ZW1lbnR8fGUuY29uc3RydWN0b3I9PT13aW5kb3cuSFRNTEVsZW1lbnQ6eGFbdF09L0hUTUxVbmtu
b3duRWxlbWVudC8udGVzdChlLnRvU3RyaW5nKCkpfWZ1bmN0aW9uIFVlKHQpe2lmKCJzdHJpbmci
PT10eXBlb2YgdCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0KTtyZXR1cm4gZXx8ZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iil9cmV0dXJuIHR9ZnVuY3Rpb24gSGUodCxlKXt2YXIg
bj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHQpO3JldHVybiJzZWxlY3QiIT09dD9uOihlLmRhdGEm
JmUuZGF0YS5hdHRycyYmdm9pZCAwIT09ZS5kYXRhLmF0dHJzLm11bHRpcGxlJiZuLnNldEF0dHJp
YnV0ZSgibXVsdGlwbGUiLCJtdWx0aXBsZSIpLG4pfWZ1bmN0aW9uIFZlKHQsZSl7cmV0dXJuIGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnROUyhfYVt0XSxlKX1mdW5jdGlvbiB6ZSh0KXtyZXR1cm4gZG9j
dW1lbnQuY3JlYXRlVGV4dE5vZGUodCl9ZnVuY3Rpb24gSmUodCl7cmV0dXJuIGRvY3VtZW50LmNy
ZWF0ZUNvbW1lbnQodCl9ZnVuY3Rpb24gS2UodCxlLG4pe3QuaW5zZXJ0QmVmb3JlKGUsbil9ZnVu
Y3Rpb24gcWUodCxlKXt0LnJlbW92ZUNoaWxkKGUpfWZ1bmN0aW9uIFdlKHQsZSl7dC5hcHBlbmRD
aGlsZChlKX1mdW5jdGlvbiBHZSh0KXtyZXR1cm4gdC5wYXJlbnROb2RlfWZ1bmN0aW9uIFplKHQp
e3JldHVybiB0Lm5leHRTaWJsaW5nfWZ1bmN0aW9uIFhlKHQpe3JldHVybiB0LnRhZ05hbWV9ZnVu
Y3Rpb24gWWUodCxlKXt0LnRleHRDb250ZW50PWV9ZnVuY3Rpb24gUWUodCxlLG4pe3Quc2V0QXR0
cmlidXRlKGUsbil9ZnVuY3Rpb24gdG4odCxlKXt2YXIgbj10LmRhdGEucmVmO2lmKG4pe3ZhciBy
PXQuY29udGV4dCxpPXQuY29tcG9uZW50SW5zdGFuY2V8fHQuZWxtLG89ci4kcmVmcztlP0FycmF5
LmlzQXJyYXkob1tuXSk/dihvW25dLGkpOm9bbl09PT1pJiYob1tuXT12b2lkIDApOnQuZGF0YS5y
ZWZJbkZvcj9BcnJheS5pc0FycmF5KG9bbl0pP29bbl0uaW5kZXhPZihpKTwwJiZvW25dLnB1c2go
aSk6b1tuXT1baV06b1tuXT1pfX1mdW5jdGlvbiBlbih0LGUpe3JldHVybiB0LmtleT09PWUua2V5
JiYodC50YWc9PT1lLnRhZyYmdC5pc0NvbW1lbnQ9PT1lLmlzQ29tbWVudCYmcih0LmRhdGEpPT09
cihlLmRhdGEpJiZubih0LGUpfHxpKHQuaXNBc3luY1BsYWNlaG9sZGVyKSYmdC5hc3luY0ZhY3Rv
cnk9PT1lLmFzeW5jRmFjdG9yeSYmbihlLmFzeW5jRmFjdG9yeS5lcnJvcikpfWZ1bmN0aW9uIG5u
KHQsZSl7aWYoImlucHV0IiE9PXQudGFnKXJldHVybiEwO3ZhciBuO3JldHVybihyKG49dC5kYXRh
KSYmcihuPW4uYXR0cnMpJiZuLnR5cGUpPT09KHIobj1lLmRhdGEpJiZyKG49bi5hdHRycykmJm4u
dHlwZSl9ZnVuY3Rpb24gcm4odCxlLG4pe3ZhciBpLG8sYT17fTtmb3IoaT1lO2k8PW47KytpKW89
dFtpXS5rZXkscihvKSYmKGFbb109aSk7cmV0dXJuIGF9ZnVuY3Rpb24gb24odCxlKXsodC5kYXRh
LmRpcmVjdGl2ZXN8fGUuZGF0YS5kaXJlY3RpdmVzKSYmYW4odCxlKX1mdW5jdGlvbiBhbih0LGUp
e3ZhciBuLHIsaSxvPXQ9PT1PYSxhPWU9PT1PYSxzPXNuKHQuZGF0YS5kaXJlY3RpdmVzLHQuY29u
dGV4dCksYz1zbihlLmRhdGEuZGlyZWN0aXZlcyxlLmNvbnRleHQpLHU9W10sbD1bXTtmb3IobiBp
biBjKXI9c1tuXSxpPWNbbl0scj8oaS5vbGRWYWx1ZT1yLnZhbHVlLHVuKGksInVwZGF0ZSIsZSx0
KSxpLmRlZiYmaS5kZWYuY29tcG9uZW50VXBkYXRlZCYmbC5wdXNoKGkpKToodW4oaSwiYmluZCIs
ZSx0KSxpLmRlZiYmaS5kZWYuaW5zZXJ0ZWQmJnUucHVzaChpKSk7aWYodS5sZW5ndGgpe3ZhciBm
PWZ1bmN0aW9uKCl7Zm9yKHZhciBuPTA7bjx1Lmxlbmd0aDtuKyspdW4odVtuXSwiaW5zZXJ0ZWQi
LGUsdCl9O28/cnQoZS5kYXRhLmhvb2t8fChlLmRhdGEuaG9vaz17fSksImluc2VydCIsZik6Zigp
fWlmKGwubGVuZ3RoJiZydChlLmRhdGEuaG9va3x8KGUuZGF0YS5ob29rPXt9KSwicG9zdHBhdGNo
IixmdW5jdGlvbigpe2Zvcih2YXIgbj0wO248bC5sZW5ndGg7bisrKXVuKGxbbl0sImNvbXBvbmVu
dFVwZGF0ZWQiLGUsdCl9KSwhbylmb3IobiBpbiBzKWNbbl18fHVuKHNbbl0sInVuYmluZCIsdCx0
LGEpfWZ1bmN0aW9uIHNuKHQsZSl7dmFyIG49T2JqZWN0LmNyZWF0ZShudWxsKTtpZighdClyZXR1
cm4gbjt2YXIgcixpO2ZvcihyPTA7cjx0Lmxlbmd0aDtyKyspaT10W3JdLGkubW9kaWZpZXJzfHwo
aS5tb2RpZmllcnM9RWEpLG5bY24oaSldPWksaS5kZWY9cShlLiRvcHRpb25zLCJkaXJlY3RpdmVz
IixpLm5hbWUsITApO3JldHVybiBufWZ1bmN0aW9uIGNuKHQpe3JldHVybiB0LnJhd05hbWV8fHQu
bmFtZSsiLiIrT2JqZWN0LmtleXModC5tb2RpZmllcnN8fHt9KS5qb2luKCIuIil9ZnVuY3Rpb24g
dW4odCxlLG4scixpKXt2YXIgbz10LmRlZiYmdC5kZWZbZV07aWYobyl0cnl7byhuLmVsbSx0LG4s
cixpKX1jYXRjaChyKXtTKHIsbi5jb250ZXh0LCJkaXJlY3RpdmUgIit0Lm5hbWUrIiAiK2UrIiBo
b29rIil9fWZ1bmN0aW9uIGxuKHQsZSl7dmFyIGk9ZS5jb21wb25lbnRPcHRpb25zO2lmKCEocihp
KSYmITE9PT1pLkN0b3Iub3B0aW9ucy5pbmhlcml0QXR0cnN8fG4odC5kYXRhLmF0dHJzKSYmbihl
LmRhdGEuYXR0cnMpKSl7dmFyIG8sYSxzPWUuZWxtLGM9dC5kYXRhLmF0dHJzfHx7fSx1PWUuZGF0
YS5hdHRyc3x8e307cih1Ll9fb2JfXykmJih1PWUuZGF0YS5hdHRycz1fKHt9LHUpKTtmb3IobyBp
biB1KWE9dVtvXSxjW29dIT09YSYmZm4ocyxvLGEpO29vJiZ1LnZhbHVlIT09Yy52YWx1ZSYmZm4o
cywidmFsdWUiLHUudmFsdWUpO2ZvcihvIGluIGMpbih1W29dKSYmKG1hKG8pP3MucmVtb3ZlQXR0
cmlidXRlTlMoaGEseWEobykpOmRhKG8pfHxzLnJlbW92ZUF0dHJpYnV0ZShvKSl9fWZ1bmN0aW9u
IGZuKHQsZSxuKXt2YShlKT9nYShuKT90LnJlbW92ZUF0dHJpYnV0ZShlKTp0LnNldEF0dHJpYnV0
ZShlLGUpOmRhKGUpP3Quc2V0QXR0cmlidXRlKGUsZ2Eobil8fCJmYWxzZSI9PT1uPyJmYWxzZSI6
InRydWUiKTptYShlKT9nYShuKT90LnJlbW92ZUF0dHJpYnV0ZU5TKGhhLHlhKGUpKTp0LnNldEF0
dHJpYnV0ZU5TKGhhLGUsbik6Z2Eobik/dC5yZW1vdmVBdHRyaWJ1dGUoZSk6dC5zZXRBdHRyaWJ1
dGUoZSxuKX1mdW5jdGlvbiBwbih0LGUpe3ZhciBpPWUuZWxtLG89ZS5kYXRhLGE9dC5kYXRhO2lm
KCEobihvLnN0YXRpY0NsYXNzKSYmbihvLmNsYXNzKSYmKG4oYSl8fG4oYS5zdGF0aWNDbGFzcykm
Jm4oYS5jbGFzcykpKSl7dmFyIHM9TmUoZSksYz1pLl90cmFuc2l0aW9uQ2xhc3NlcztyKGMpJiYo
cz1JZShzLFBlKGMpKSkscyE9PWkuX3ByZXZDbGFzcyYmKGkuc2V0QXR0cmlidXRlKCJjbGFzcyIs
cyksaS5fcHJldkNsYXNzPXMpfX1mdW5jdGlvbiBkbih0KXtmdW5jdGlvbiBlKCl7KGF8fChhPVtd
KSkucHVzaCh0LnNsaWNlKHYsaSkudHJpbSgpKSx2PWkrMX12YXIgbixyLGksbyxhLHM9ITEsYz0h
MSx1PSExLGw9ITEsZj0wLHA9MCxkPTAsdj0wO2ZvcihpPTA7aTx0Lmxlbmd0aDtpKyspaWYocj1u
LG49dC5jaGFyQ29kZUF0KGkpLHMpMzk9PT1uJiY5MiE9PXImJihzPSExKTtlbHNlIGlmKGMpMzQ9
PT1uJiY5MiE9PXImJihjPSExKTtlbHNlIGlmKHUpOTY9PT1uJiY5MiE9PXImJih1PSExKTtlbHNl
IGlmKGwpNDc9PT1uJiY5MiE9PXImJihsPSExKTtlbHNlIGlmKDEyNCE9PW58fDEyND09PXQuY2hh
ckNvZGVBdChpKzEpfHwxMjQ9PT10LmNoYXJDb2RlQXQoaS0xKXx8Znx8cHx8ZCl7c3dpdGNoKG4p
e2Nhc2UgMzQ6Yz0hMDticmVhaztjYXNlIDM5OnM9ITA7YnJlYWs7Y2FzZSA5Njp1PSEwO2JyZWFr
O2Nhc2UgNDA6ZCsrO2JyZWFrO2Nhc2UgNDE6ZC0tO2JyZWFrO2Nhc2UgOTE6cCsrO2JyZWFrO2Nh
c2UgOTM6cC0tO2JyZWFrO2Nhc2UgMTIzOmYrKzticmVhaztjYXNlIDEyNTpmLS19aWYoNDc9PT1u
KXtmb3IodmFyIGg9aS0xLG09dm9pZCAwO2g+PTAmJiIgIj09PShtPXQuY2hhckF0KGgpKTtoLS0p
O20mJk1hLnRlc3QobSl8fChsPSEwKX19ZWxzZSB2b2lkIDA9PT1vPyh2PWkrMSxvPXQuc2xpY2Uo
MCxpKS50cmltKCkpOmUoKTtpZih2b2lkIDA9PT1vP289dC5zbGljZSgwLGkpLnRyaW0oKTowIT09
diYmZSgpLGEpZm9yKGk9MDtpPGEubGVuZ3RoO2krKylvPXZuKG8sYVtpXSk7cmV0dXJuIG99ZnVu
Y3Rpb24gdm4odCxlKXt2YXIgbj1lLmluZGV4T2YoIigiKTtyZXR1cm4gbjwwPydfZigiJytlKyci
KSgnK3QrIikiOidfZigiJytlLnNsaWNlKDAsbikrJyIpKCcrdCsiLCIrZS5zbGljZShuKzEpfWZ1
bmN0aW9uIGhuKHQpe2NvbnNvbGUuZXJyb3IoIltWdWUgY29tcGlsZXJdOiAiK3QpfWZ1bmN0aW9u
IG1uKHQsZSl7cmV0dXJuIHQ/dC5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHRbZV19KS5maWx0ZXIo
ZnVuY3Rpb24odCl7cmV0dXJuIHR9KTpbXX1mdW5jdGlvbiB5bih0LGUsbil7KHQucHJvcHN8fCh0
LnByb3BzPVtdKSkucHVzaCh7bmFtZTplLHZhbHVlOm59KX1mdW5jdGlvbiBnbih0LGUsbil7KHQu
YXR0cnN8fCh0LmF0dHJzPVtdKSkucHVzaCh7bmFtZTplLHZhbHVlOm59KX1mdW5jdGlvbiBfbih0
LGUsbixyLGksbyl7KHQuZGlyZWN0aXZlc3x8KHQuZGlyZWN0aXZlcz1bXSkpLnB1c2goe25hbWU6
ZSxyYXdOYW1lOm4sdmFsdWU6cixhcmc6aSxtb2RpZmllcnM6b30pfWZ1bmN0aW9uIGJuKHQsZSxu
LHIsaSxvKXtyJiZyLmNhcHR1cmUmJihkZWxldGUgci5jYXB0dXJlLGU9IiEiK2UpLHImJnIub25j
ZSYmKGRlbGV0ZSByLm9uY2UsZT0ifiIrZSksciYmci5wYXNzaXZlJiYoZGVsZXRlIHIucGFzc2l2
ZSxlPSImIitlKTt2YXIgYTtyJiZyLm5hdGl2ZT8oZGVsZXRlIHIubmF0aXZlLGE9dC5uYXRpdmVF
dmVudHN8fCh0Lm5hdGl2ZUV2ZW50cz17fSkpOmE9dC5ldmVudHN8fCh0LmV2ZW50cz17fSk7dmFy
IHM9e3ZhbHVlOm4sbW9kaWZpZXJzOnJ9LGM9YVtlXTtBcnJheS5pc0FycmF5KGMpP2k/Yy51bnNo
aWZ0KHMpOmMucHVzaChzKTphW2VdPWM/aT9bcyxjXTpbYyxzXTpzfWZ1bmN0aW9uIHduKHQsZSxu
KXt2YXIgcj0kbih0LCI6IitlKXx8JG4odCwidi1iaW5kOiIrZSk7aWYobnVsbCE9cilyZXR1cm4g
ZG4ocik7aWYoITEhPT1uKXt2YXIgaT0kbih0LGUpO2lmKG51bGwhPWkpcmV0dXJuIEpTT04uc3Ry
aW5naWZ5KGkpfX1mdW5jdGlvbiAkbih0LGUpe3ZhciBuO2lmKG51bGwhPShuPXQuYXR0cnNNYXBb
ZV0pKWZvcih2YXIgcj10LmF0dHJzTGlzdCxpPTAsbz1yLmxlbmd0aDtpPG87aSsrKWlmKHJbaV0u
bmFtZT09PWUpe3Iuc3BsaWNlKGksMSk7YnJlYWt9cmV0dXJuIG59ZnVuY3Rpb24gQ24odCxlLG4p
e3ZhciByPW58fHt9LGk9ci5udW1iZXIsbz1yLnRyaW0sYT0iJCR2IjtvJiYoYT0iKHR5cGVvZiAk
JHYgPT09ICdzdHJpbmcnPyAkJHYudHJpbSgpOiAkJHYpIiksaSYmKGE9Il9uKCIrYSsiKSIpO3Zh
ciBzPXhuKGUsYSk7dC5tb2RlbD17dmFsdWU6IigiK2UrIikiLGV4cHJlc3Npb246JyInK2UrJyIn
LGNhbGxiYWNrOiJmdW5jdGlvbiAoJCR2KSB7IitzKyJ9In19ZnVuY3Rpb24geG4odCxlKXt2YXIg
bj1Bbih0KTtyZXR1cm4gbnVsbD09PW4uaWR4P3QrIj0iK2U6IiRzZXQoIituLmV4cCsiLCAiK24u
aWR4KyIsICIrZSsiKSJ9ZnVuY3Rpb24gQW4odCl7aWYobmE9dCxlYT1uYS5sZW5ndGgsaWE9b2E9
YWE9MCx0LmluZGV4T2YoIlsiKTwwfHx0Lmxhc3RJbmRleE9mKCJdIik8ZWEtMSlyZXR1cm57ZXhw
OnQsaWR4Om51bGx9O2Zvcig7IU9uKCk7KXJhPWtuKCksU24ocmEpP0VuKHJhKTo5MT09PXJhJiZU
bihyYSk7cmV0dXJue2V4cDp0LnN1YnN0cmluZygwLG9hKSxpZHg6dC5zdWJzdHJpbmcob2ErMSxh
YSl9fWZ1bmN0aW9uIGtuKCl7cmV0dXJuIG5hLmNoYXJDb2RlQXQoKytpYSl9ZnVuY3Rpb24gT24o
KXtyZXR1cm4gaWE+PWVhfWZ1bmN0aW9uIFNuKHQpe3JldHVybiAzND09PXR8fDM5PT09dH1mdW5j
dGlvbiBUbih0KXt2YXIgZT0xO2ZvcihvYT1pYTshT24oKTspaWYodD1rbigpLFNuKHQpKUVuKHQp
O2Vsc2UgaWYoOTE9PT10JiZlKyssOTM9PT10JiZlLS0sMD09PWUpe2FhPWlhO2JyZWFrfX1mdW5j
dGlvbiBFbih0KXtmb3IodmFyIGU9dDshT24oKSYmKHQ9a24oKSkhPT1lOyk7fWZ1bmN0aW9uIGpu
KHQsZSxuKXtzYT1uO3ZhciByPWUudmFsdWUsaT1lLm1vZGlmaWVycyxvPXQudGFnLGE9dC5hdHRy
c01hcC50eXBlO2lmKHQuY29tcG9uZW50KXJldHVybiBDbih0LHIsaSksITE7aWYoInNlbGVjdCI9
PT1vKU1uKHQscixpKTtlbHNlIGlmKCJpbnB1dCI9PT1vJiYiY2hlY2tib3giPT09YSlObih0LHIs
aSk7ZWxzZSBpZigiaW5wdXQiPT09byYmInJhZGlvIj09PWEpTG4odCxyLGkpO2Vsc2UgaWYoImlu
cHV0Ij09PW98fCJ0ZXh0YXJlYSI9PT1vKUluKHQscixpKTtlbHNlIGlmKCFYaS5pc1Jlc2VydmVk
VGFnKG8pKXJldHVybiBDbih0LHIsaSksITE7cmV0dXJuITB9ZnVuY3Rpb24gTm4odCxlLG4pe3Zh
ciByPW4mJm4ubnVtYmVyLGk9d24odCwidmFsdWUiKXx8Im51bGwiLG89d24odCwidHJ1ZS12YWx1
ZSIpfHwidHJ1ZSIsYT13bih0LCJmYWxzZS12YWx1ZSIpfHwiZmFsc2UiO3luKHQsImNoZWNrZWQi
LCJBcnJheS5pc0FycmF5KCIrZSsiKT9faSgiK2UrIiwiK2krIik+LTEiKygidHJ1ZSI9PT1vPyI6
KCIrZSsiKSI6IjpfcSgiK2UrIiwiK28rIikiKSksYm4odCxQYSwidmFyICQkYT0iK2UrIiwkJGVs
PSRldmVudC50YXJnZXQsJCRjPSQkZWwuY2hlY2tlZD8oIitvKyIpOigiK2ErIik7aWYoQXJyYXku
aXNBcnJheSgkJGEpKXt2YXIgJCR2PSIrKHI/Il9uKCIraSsiKSI6aSkrIiwkJGk9X2koJCRhLCQk
dik7aWYoJCRlbC5jaGVja2VkKXskJGk8MCYmKCIrZSsiPSQkYS5jb25jYXQoJCR2KSl9ZWxzZXsk
JGk+LTEmJigiK2UrIj0kJGEuc2xpY2UoMCwkJGkpLmNvbmNhdCgkJGEuc2xpY2UoJCRpKzEpKSl9
fWVsc2V7Iit4bihlLCIkJGMiKSsifSIsbnVsbCwhMCl9ZnVuY3Rpb24gTG4odCxlLG4pe3ZhciBy
PW4mJm4ubnVtYmVyLGk9d24odCwidmFsdWUiKXx8Im51bGwiO2k9cj8iX24oIitpKyIpIjppLHlu
KHQsImNoZWNrZWQiLCJfcSgiK2UrIiwiK2krIikiKSxibih0LFBhLHhuKGUsaSksbnVsbCwhMCl9
ZnVuY3Rpb24gTW4odCxlLG4pe3ZhciByPW4mJm4ubnVtYmVyLGk9J0FycmF5LnByb3RvdHlwZS5m
aWx0ZXIuY2FsbCgkZXZlbnQudGFyZ2V0Lm9wdGlvbnMsZnVuY3Rpb24obyl7cmV0dXJuIG8uc2Vs
ZWN0ZWR9KS5tYXAoZnVuY3Rpb24obyl7dmFyIHZhbCA9ICJfdmFsdWUiIGluIG8gPyBvLl92YWx1
ZSA6IG8udmFsdWU7cmV0dXJuICcrKHI/Il9uKHZhbCkiOiJ2YWwiKSsifSkiLG89InZhciAkJHNl
bGVjdGVkVmFsID0gIitpKyI7IjtvPW8rIiAiK3huKGUsIiRldmVudC50YXJnZXQubXVsdGlwbGUg
PyAkJHNlbGVjdGVkVmFsIDogJCRzZWxlY3RlZFZhbFswXSIpLGJuKHQsImNoYW5nZSIsbyxudWxs
LCEwKX1mdW5jdGlvbiBJbih0LGUsbil7dmFyIHI9dC5hdHRyc01hcC50eXBlLGk9bnx8e30sbz1p
LmxhenksYT1pLm51bWJlcixzPWkudHJpbSxjPSFvJiYicmFuZ2UiIT09cix1PW8/ImNoYW5nZSI6
InJhbmdlIj09PXI/SWE6ImlucHV0IixsPSIkZXZlbnQudGFyZ2V0LnZhbHVlIjtzJiYobD0iJGV2
ZW50LnRhcmdldC52YWx1ZS50cmltKCkiKSxhJiYobD0iX24oIitsKyIpIik7dmFyIGY9eG4oZSxs
KTtjJiYoZj0iaWYoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpcmV0dXJuOyIrZikseW4odCwidmFs
dWUiLCIoIitlKyIpIiksYm4odCx1LGYsbnVsbCwhMCksKHN8fGEpJiZibih0LCJibHVyIiwiJGZv
cmNlVXBkYXRlKCkiKX1mdW5jdGlvbiBQbih0KXt2YXIgZTtyKHRbSWFdKSYmKGU9aW8/ImNoYW5n
ZSI6ImlucHV0Iix0W2VdPVtdLmNvbmNhdCh0W0lhXSx0W2VdfHxbXSksZGVsZXRlIHRbSWFdKSxy
KHRbUGFdKSYmKGU9dW8/ImNsaWNrIjoiY2hhbmdlIix0W2VdPVtdLmNvbmNhdCh0W1BhXSx0W2Vd
fHxbXSksZGVsZXRlIHRbUGFdKX1mdW5jdGlvbiBSbih0LGUsbixyLGkpe2lmKG4pe3ZhciBvPWUs
YT1jYTtlPWZ1bmN0aW9uKG4pe251bGwhPT0oMT09PWFyZ3VtZW50cy5sZW5ndGg/byhuKTpvLmFw
cGx5KG51bGwsYXJndW1lbnRzKSkmJkRuKHQsZSxyLGEpfX1jYS5hZGRFdmVudExpc3RlbmVyKHQs
ZSxmbz97Y2FwdHVyZTpyLHBhc3NpdmU6aX06cil9ZnVuY3Rpb24gRG4odCxlLG4scil7KHJ8fGNh
KS5yZW1vdmVFdmVudExpc3RlbmVyKHQsZSxuKX1mdW5jdGlvbiBGbih0LGUpe2lmKCFuKHQuZGF0
YS5vbil8fCFuKGUuZGF0YS5vbikpe3ZhciByPWUuZGF0YS5vbnx8e30saT10LmRhdGEub258fHt9
O2NhPWUuZWxtLFBuKHIpLG50KHIsaSxSbixEbixlLmNvbnRleHQpfX1mdW5jdGlvbiBCbih0LGUp
e2lmKCFuKHQuZGF0YS5kb21Qcm9wcyl8fCFuKGUuZGF0YS5kb21Qcm9wcykpe3ZhciBpLG8sYT1l
LmVsbSxzPXQuZGF0YS5kb21Qcm9wc3x8e30sYz1lLmRhdGEuZG9tUHJvcHN8fHt9O3IoYy5fX29i
X18pJiYoYz1lLmRhdGEuZG9tUHJvcHM9Xyh7fSxjKSk7Zm9yKGkgaW4gcyluKGNbaV0pJiYoYVtp
XT0iIik7Zm9yKGkgaW4gYylpZihvPWNbaV0sInRleHRDb250ZW50IiE9PWkmJiJpbm5lckhUTUwi
IT09aXx8KGUuY2hpbGRyZW4mJihlLmNoaWxkcmVuLmxlbmd0aD0wKSxvIT09c1tpXSkpaWYoInZh
bHVlIj09PWkpe2EuX3ZhbHVlPW87dmFyIHU9bihvKT8iIjpTdHJpbmcobyk7VW4oYSxlLHUpJiYo
YS52YWx1ZT11KX1lbHNlIGFbaV09b319ZnVuY3Rpb24gVW4odCxlLG4pe3JldHVybiF0LmNvbXBv
c2luZyYmKCJvcHRpb24iPT09ZS50YWd8fEhuKHQsbil8fFZuKHQsbikpfWZ1bmN0aW9uIEhuKHQs
ZSl7dmFyIG49ITA7dHJ5e249ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PXR9Y2F0Y2godCl7fXJl
dHVybiBuJiZ0LnZhbHVlIT09ZX1mdW5jdGlvbiBWbih0LGUpe3ZhciBuPXQudmFsdWUsaT10Ll92
TW9kaWZpZXJzO3JldHVybiByKGkpJiZpLm51bWJlcj9wKG4pIT09cChlKTpyKGkpJiZpLnRyaW0/
bi50cmltKCkhPT1lLnRyaW0oKTpuIT09ZX1mdW5jdGlvbiB6bih0KXt2YXIgZT1Kbih0LnN0eWxl
KTtyZXR1cm4gdC5zdGF0aWNTdHlsZT9fKHQuc3RhdGljU3R5bGUsZSk6ZX1mdW5jdGlvbiBKbih0
KXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KT9iKHQpOiJzdHJpbmciPT10eXBlb2YgdD9GYSh0KTp0
fWZ1bmN0aW9uIEtuKHQsZSl7dmFyIG4scj17fTtpZihlKWZvcih2YXIgaT10O2kuY29tcG9uZW50
SW5zdGFuY2U7KWk9aS5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGUsaS5kYXRhJiYobj16bihpLmRh
dGEpKSYmXyhyLG4pOyhuPXpuKHQuZGF0YSkpJiZfKHIsbik7Zm9yKHZhciBvPXQ7bz1vLnBhcmVu
dDspby5kYXRhJiYobj16bihvLmRhdGEpKSYmXyhyLG4pO3JldHVybiByfWZ1bmN0aW9uIHFuKHQs
ZSl7dmFyIGk9ZS5kYXRhLG89dC5kYXRhO2lmKCEobihpLnN0YXRpY1N0eWxlKSYmbihpLnN0eWxl
KSYmbihvLnN0YXRpY1N0eWxlKSYmbihvLnN0eWxlKSkpe3ZhciBhLHMsYz1lLmVsbSx1PW8uc3Rh
dGljU3R5bGUsbD1vLm5vcm1hbGl6ZWRTdHlsZXx8by5zdHlsZXx8e30sZj11fHxsLHA9Sm4oZS5k
YXRhLnN0eWxlKXx8e307ZS5kYXRhLm5vcm1hbGl6ZWRTdHlsZT1yKHAuX19vYl9fKT9fKHt9LHAp
OnA7dmFyIGQ9S24oZSwhMCk7Zm9yKHMgaW4gZiluKGRbc10pJiZIYShjLHMsIiIpO2ZvcihzIGlu
IGQpKGE9ZFtzXSkhPT1mW3NdJiZIYShjLHMsbnVsbD09YT8iIjphKX19ZnVuY3Rpb24gV24odCxl
KXtpZihlJiYoZT1lLnRyaW0oKSkpaWYodC5jbGFzc0xpc3QpZS5pbmRleE9mKCIgIik+LTE/ZS5z
cGxpdCgvXHMrLykuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gdC5jbGFzc0xpc3QuYWRkKGUp
fSk6dC5jbGFzc0xpc3QuYWRkKGUpO2Vsc2V7dmFyIG49IiAiKyh0LmdldEF0dHJpYnV0ZSgiY2xh
c3MiKXx8IiIpKyIgIjtuLmluZGV4T2YoIiAiK2UrIiAiKTwwJiZ0LnNldEF0dHJpYnV0ZSgiY2xh
c3MiLChuK2UpLnRyaW0oKSl9fWZ1bmN0aW9uIEduKHQsZSl7aWYoZSYmKGU9ZS50cmltKCkpKWlm
KHQuY2xhc3NMaXN0KWUuaW5kZXhPZigiICIpPi0xP2Uuc3BsaXQoL1xzKy8pLmZvckVhY2goZnVu
Y3Rpb24oZSl7cmV0dXJuIHQuY2xhc3NMaXN0LnJlbW92ZShlKX0pOnQuY2xhc3NMaXN0LnJlbW92
ZShlKSx0LmNsYXNzTGlzdC5sZW5ndGh8fHQucmVtb3ZlQXR0cmlidXRlKCJjbGFzcyIpO2Vsc2V7
Zm9yKHZhciBuPSIgIisodC5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKSsiICIscj0iICIrZSsi
ICI7bi5pbmRleE9mKHIpPj0wOyluPW4ucmVwbGFjZShyLCIgIik7bj1uLnRyaW0oKSxuP3Quc2V0
QXR0cmlidXRlKCJjbGFzcyIsbik6dC5yZW1vdmVBdHRyaWJ1dGUoImNsYXNzIil9fWZ1bmN0aW9u
IFpuKHQpe2lmKHQpe2lmKCJvYmplY3QiPT10eXBlb2YgdCl7dmFyIGU9e307cmV0dXJuITEhPT10
LmNzcyYmXyhlLEthKHQubmFtZXx8InYiKSksXyhlLHQpLGV9cmV0dXJuInN0cmluZyI9PXR5cGVv
ZiB0P0thKHQpOnZvaWQgMH19ZnVuY3Rpb24gWG4odCl7dHMoZnVuY3Rpb24oKXt0cyh0KX0pfWZ1
bmN0aW9uIFluKHQsZSl7dmFyIG49dC5fdHJhbnNpdGlvbkNsYXNzZXN8fCh0Ll90cmFuc2l0aW9u
Q2xhc3Nlcz1bXSk7bi5pbmRleE9mKGUpPDAmJihuLnB1c2goZSksV24odCxlKSl9ZnVuY3Rpb24g
UW4odCxlKXt0Ll90cmFuc2l0aW9uQ2xhc3NlcyYmdih0Ll90cmFuc2l0aW9uQ2xhc3NlcyxlKSxH
bih0LGUpfWZ1bmN0aW9uIHRyKHQsZSxuKXt2YXIgcj1lcih0LGUpLGk9ci50eXBlLG89ci50aW1l
b3V0LGE9ci5wcm9wQ291bnQ7aWYoIWkpcmV0dXJuIG4oKTt2YXIgcz1pPT09V2E/WGE6UWEsYz0w
LHU9ZnVuY3Rpb24oKXt0LnJlbW92ZUV2ZW50TGlzdGVuZXIocyxsKSxuKCl9LGw9ZnVuY3Rpb24o
ZSl7ZS50YXJnZXQ9PT10JiYrK2M+PWEmJnUoKX07c2V0VGltZW91dChmdW5jdGlvbigpe2M8YSYm
dSgpfSxvKzEpLHQuYWRkRXZlbnRMaXN0ZW5lcihzLGwpfWZ1bmN0aW9uIGVyKHQsZSl7dmFyIG4s
cj13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0KSxpPXJbWmErIkRlbGF5Il0uc3BsaXQoIiwgIiks
bz1yW1phKyJEdXJhdGlvbiJdLnNwbGl0KCIsICIpLGE9bnIoaSxvKSxzPXJbWWErIkRlbGF5Il0u
c3BsaXQoIiwgIiksYz1yW1lhKyJEdXJhdGlvbiJdLnNwbGl0KCIsICIpLHU9bnIocyxjKSxsPTAs
Zj0wO3JldHVybiBlPT09V2E/YT4wJiYobj1XYSxsPWEsZj1vLmxlbmd0aCk6ZT09PUdhP3U+MCYm
KG49R2EsbD11LGY9Yy5sZW5ndGgpOihsPU1hdGgubWF4KGEsdSksbj1sPjA/YT51P1dhOkdhOm51
bGwsZj1uP249PT1XYT9vLmxlbmd0aDpjLmxlbmd0aDowKSx7dHlwZTpuLHRpbWVvdXQ6bCxwcm9w
Q291bnQ6ZixoYXNUcmFuc2Zvcm06bj09PVdhJiZlcy50ZXN0KHJbWmErIlByb3BlcnR5Il0pfX1m
dW5jdGlvbiBucih0LGUpe2Zvcig7dC5sZW5ndGg8ZS5sZW5ndGg7KXQ9dC5jb25jYXQodCk7cmV0
dXJuIE1hdGgubWF4LmFwcGx5KG51bGwsZS5tYXAoZnVuY3Rpb24oZSxuKXtyZXR1cm4gcnIoZSkr
cnIodFtuXSl9KSl9ZnVuY3Rpb24gcnIodCl7cmV0dXJuIDFlMypOdW1iZXIodC5zbGljZSgwLC0x
KSl9ZnVuY3Rpb24gaXIodCxlKXt2YXIgaT10LmVsbTtyKGkuX2xlYXZlQ2IpJiYoaS5fbGVhdmVD
Yi5jYW5jZWxsZWQ9ITAsaS5fbGVhdmVDYigpKTt2YXIgbz1abih0LmRhdGEudHJhbnNpdGlvbik7
aWYoIW4obykmJiFyKGkuX2VudGVyQ2IpJiYxPT09aS5ub2RlVHlwZSl7Zm9yKHZhciBhPW8uY3Nz
LGM9by50eXBlLHU9by5lbnRlckNsYXNzLGw9by5lbnRlclRvQ2xhc3MsZj1vLmVudGVyQWN0aXZl
Q2xhc3MsZD1vLmFwcGVhckNsYXNzLHY9by5hcHBlYXJUb0NsYXNzLGg9by5hcHBlYXJBY3RpdmVD
bGFzcyxtPW8uYmVmb3JlRW50ZXIseT1vLmVudGVyLGc9by5hZnRlckVudGVyLF89by5lbnRlckNh
bmNlbGxlZCxiPW8uYmVmb3JlQXBwZWFyLHc9by5hcHBlYXIsJD1vLmFmdGVyQXBwZWFyLEM9by5h
cHBlYXJDYW5jZWxsZWQsQT1vLmR1cmF0aW9uLGs9SW8sTz1Jby4kdm5vZGU7TyYmTy5wYXJlbnQ7
KU89Ty5wYXJlbnQsaz1PLmNvbnRleHQ7dmFyIFM9IWsuX2lzTW91bnRlZHx8IXQuaXNSb290SW5z
ZXJ0O2lmKCFTfHx3fHwiIj09PXcpe3ZhciBUPVMmJmQ/ZDp1LEU9UyYmaD9oOmYsaj1TJiZ2P3Y6
bCxOPVM/Ynx8bTptLEw9UyYmImZ1bmN0aW9uIj09dHlwZW9mIHc/dzp5LE09Uz8kfHxnOmcsST1T
P0N8fF86XyxQPXAocyhBKT9BLmVudGVyOkEpLFI9ITEhPT1hJiYhb28sRD1zcihMKSxGPWkuX2Vu
dGVyQ2I9eChmdW5jdGlvbigpe1ImJihRbihpLGopLFFuKGksRSkpLEYuY2FuY2VsbGVkPyhSJiZR
bihpLFQpLEkmJkkoaSkpOk0mJk0oaSksaS5fZW50ZXJDYj1udWxsfSk7dC5kYXRhLnNob3d8fHJ0
KHQuZGF0YS5ob29rfHwodC5kYXRhLmhvb2s9e30pLCJpbnNlcnQiLGZ1bmN0aW9uKCl7dmFyIGU9
aS5wYXJlbnROb2RlLG49ZSYmZS5fcGVuZGluZyYmZS5fcGVuZGluZ1t0LmtleV07biYmbi50YWc9
PT10LnRhZyYmbi5lbG0uX2xlYXZlQ2ImJm4uZWxtLl9sZWF2ZUNiKCksTCYmTChpLEYpfSksTiYm
TihpKSxSJiYoWW4oaSxUKSxZbihpLEUpLFhuKGZ1bmN0aW9uKCl7WW4oaSxqKSxRbihpLFQpLEYu
Y2FuY2VsbGVkfHxEfHwoYXIoUCk/c2V0VGltZW91dChGLFApOnRyKGksYyxGKSl9KSksdC5kYXRh
LnNob3cmJihlJiZlKCksTCYmTChpLEYpKSxSfHxEfHxGKCl9fX1mdW5jdGlvbiBvcih0LGUpe2Z1
bmN0aW9uIGkoKXtDLmNhbmNlbGxlZHx8KHQuZGF0YS5zaG93fHwoKG8ucGFyZW50Tm9kZS5fcGVu
ZGluZ3x8KG8ucGFyZW50Tm9kZS5fcGVuZGluZz17fSkpW3Qua2V5XT10KSx2JiZ2KG8pLGImJihZ
bihvLGwpLFluKG8sZCksWG4oZnVuY3Rpb24oKXtZbihvLGYpLFFuKG8sbCksQy5jYW5jZWxsZWR8
fHd8fChhcigkKT9zZXRUaW1lb3V0KEMsJCk6dHIobyx1LEMpKX0pKSxoJiZoKG8sQyksYnx8d3x8
QygpKX12YXIgbz10LmVsbTtyKG8uX2VudGVyQ2IpJiYoby5fZW50ZXJDYi5jYW5jZWxsZWQ9ITAs
by5fZW50ZXJDYigpKTt2YXIgYT1abih0LmRhdGEudHJhbnNpdGlvbik7aWYobihhKSlyZXR1cm4g
ZSgpO2lmKCFyKG8uX2xlYXZlQ2IpJiYxPT09by5ub2RlVHlwZSl7dmFyIGM9YS5jc3MsdT1hLnR5
cGUsbD1hLmxlYXZlQ2xhc3MsZj1hLmxlYXZlVG9DbGFzcyxkPWEubGVhdmVBY3RpdmVDbGFzcyx2
PWEuYmVmb3JlTGVhdmUsaD1hLmxlYXZlLG09YS5hZnRlckxlYXZlLHk9YS5sZWF2ZUNhbmNlbGxl
ZCxnPWEuZGVsYXlMZWF2ZSxfPWEuZHVyYXRpb24sYj0hMSE9PWMmJiFvbyx3PXNyKGgpLCQ9cChz
KF8pP18ubGVhdmU6XyksQz1vLl9sZWF2ZUNiPXgoZnVuY3Rpb24oKXtvLnBhcmVudE5vZGUmJm8u
cGFyZW50Tm9kZS5fcGVuZGluZyYmKG8ucGFyZW50Tm9kZS5fcGVuZGluZ1t0LmtleV09bnVsbCks
YiYmKFFuKG8sZiksUW4obyxkKSksQy5jYW5jZWxsZWQ/KGImJlFuKG8sbCkseSYmeShvKSk6KGUo
KSxtJiZtKG8pKSxvLl9sZWF2ZUNiPW51bGx9KTtnP2coaSk6aSgpfX1mdW5jdGlvbiBhcih0KXty
ZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQmJiFpc05hTih0KX1mdW5jdGlvbiBzcih0KXtpZihuKHQp
KXJldHVybiExO3ZhciBlPXQuZm5zO3JldHVybiByKGUpP3NyKEFycmF5LmlzQXJyYXkoZSk/ZVsw
XTplKToodC5fbGVuZ3RofHx0Lmxlbmd0aCk+MX1mdW5jdGlvbiBjcih0LGUpeyEwIT09ZS5kYXRh
LnNob3cmJmlyKGUpfWZ1bmN0aW9uIHVyKHQsZSxuKXt2YXIgcj1lLnZhbHVlLGk9dC5tdWx0aXBs
ZTtpZighaXx8QXJyYXkuaXNBcnJheShyKSl7Zm9yKHZhciBvLGEscz0wLGM9dC5vcHRpb25zLmxl
bmd0aDtzPGM7cysrKWlmKGE9dC5vcHRpb25zW3NdLGkpbz1DKHIsbHIoYSkpPi0xLGEuc2VsZWN0
ZWQhPT1vJiYoYS5zZWxlY3RlZD1vKTtlbHNlIGlmKCQobHIoYSkscikpcmV0dXJuIHZvaWQodC5z
ZWxlY3RlZEluZGV4IT09cyYmKHQuc2VsZWN0ZWRJbmRleD1zKSk7aXx8KHQuc2VsZWN0ZWRJbmRl
eD0tMSl9fWZ1bmN0aW9uIGxyKHQpe3JldHVybiJfdmFsdWUiaW4gdD90Ll92YWx1ZTp0LnZhbHVl
fWZ1bmN0aW9uIGZyKHQpe3QudGFyZ2V0LmNvbXBvc2luZz0hMH1mdW5jdGlvbiBwcih0KXt0LnRh
cmdldC5jb21wb3NpbmcmJih0LnRhcmdldC5jb21wb3Npbmc9ITEsZHIodC50YXJnZXQsImlucHV0
IikpfWZ1bmN0aW9uIGRyKHQsZSl7dmFyIG49ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkhUTUxFdmVu
dHMiKTtuLmluaXRFdmVudChlLCEwLCEwKSx0LmRpc3BhdGNoRXZlbnQobil9ZnVuY3Rpb24gdnIo
dCl7cmV0dXJuIXQuY29tcG9uZW50SW5zdGFuY2V8fHQuZGF0YSYmdC5kYXRhLnRyYW5zaXRpb24/
dDp2cih0LmNvbXBvbmVudEluc3RhbmNlLl92bm9kZSl9ZnVuY3Rpb24gaHIodCl7dmFyIGU9dCYm
dC5jb21wb25lbnRPcHRpb25zO3JldHVybiBlJiZlLkN0b3Iub3B0aW9ucy5hYnN0cmFjdD9ocihk
dChlLmNoaWxkcmVuKSk6dH1mdW5jdGlvbiBtcih0KXt2YXIgZT17fSxuPXQuJG9wdGlvbnM7Zm9y
KHZhciByIGluIG4ucHJvcHNEYXRhKWVbcl09dFtyXTt2YXIgaT1uLl9wYXJlbnRMaXN0ZW5lcnM7
Zm9yKHZhciBvIGluIGkpZVtIaShvKV09aVtvXTtyZXR1cm4gZX1mdW5jdGlvbiB5cih0LGUpe2lm
KC9cZC1rZWVwLWFsaXZlJC8udGVzdChlLnRhZykpcmV0dXJuIHQoImtlZXAtYWxpdmUiLHtwcm9w
czplLmNvbXBvbmVudE9wdGlvbnMucHJvcHNEYXRhfSl9ZnVuY3Rpb24gZ3IodCl7Zm9yKDt0PXQu
cGFyZW50OylpZih0LmRhdGEudHJhbnNpdGlvbilyZXR1cm4hMH1mdW5jdGlvbiBfcih0LGUpe3Jl
dHVybiBlLmtleT09PXQua2V5JiZlLnRhZz09PXQudGFnfWZ1bmN0aW9uIGJyKHQpe3JldHVybiB0
LmlzQ29tbWVudCYmdC5hc3luY0ZhY3Rvcnl9ZnVuY3Rpb24gd3IodCl7dC5lbG0uX21vdmVDYiYm
dC5lbG0uX21vdmVDYigpLHQuZWxtLl9lbnRlckNiJiZ0LmVsbS5fZW50ZXJDYigpfWZ1bmN0aW9u
ICRyKHQpe3QuZGF0YS5uZXdQb3M9dC5lbG0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9ZnVuY3Rp
b24gQ3IodCl7dmFyIGU9dC5kYXRhLnBvcyxuPXQuZGF0YS5uZXdQb3Mscj1lLmxlZnQtbi5sZWZ0
LGk9ZS50b3Atbi50b3A7aWYocnx8aSl7dC5kYXRhLm1vdmVkPSEwO3ZhciBvPXQuZWxtLnN0eWxl
O28udHJhbnNmb3JtPW8uV2Via2l0VHJhbnNmb3JtPSJ0cmFuc2xhdGUoIityKyJweCwiK2krInB4
KSIsby50cmFuc2l0aW9uRHVyYXRpb249IjBzIn19ZnVuY3Rpb24geHIodCxlKXt2YXIgbj1lP19z
KGUpOnlzO2lmKG4udGVzdCh0KSl7Zm9yKHZhciByLGksbz1bXSxhPW4ubGFzdEluZGV4PTA7cj1u
LmV4ZWModCk7KXtpPXIuaW5kZXgsaT5hJiZvLnB1c2goSlNPTi5zdHJpbmdpZnkodC5zbGljZShh
LGkpKSk7dmFyIHM9ZG4oclsxXS50cmltKCkpO28ucHVzaCgiX3MoIitzKyIpIiksYT1pK3JbMF0u
bGVuZ3RofXJldHVybiBhPHQubGVuZ3RoJiZvLnB1c2goSlNPTi5zdHJpbmdpZnkodC5zbGljZShh
KSkpLG8uam9pbigiKyIpfX1mdW5jdGlvbiBBcih0LGUpe3ZhciBuPShlLndhcm4sJG4odCwiY2xh
c3MiKSk7biYmKHQuc3RhdGljQ2xhc3M9SlNPTi5zdHJpbmdpZnkobikpO3ZhciByPXduKHQsImNs
YXNzIiwhMSk7ciYmKHQuY2xhc3NCaW5kaW5nPXIpfWZ1bmN0aW9uIGtyKHQpe3ZhciBlPSIiO3Jl
dHVybiB0LnN0YXRpY0NsYXNzJiYoZSs9InN0YXRpY0NsYXNzOiIrdC5zdGF0aWNDbGFzcysiLCIp
LHQuY2xhc3NCaW5kaW5nJiYoZSs9ImNsYXNzOiIrdC5jbGFzc0JpbmRpbmcrIiwiKSxlfWZ1bmN0
aW9uIE9yKHQsZSl7dmFyIG49KGUud2Fybiwkbih0LCJzdHlsZSIpKTtpZihuKXt0LnN0YXRpY1N0
eWxlPUpTT04uc3RyaW5naWZ5KEZhKG4pKX12YXIgcj13bih0LCJzdHlsZSIsITEpO3ImJih0LnN0
eWxlQmluZGluZz1yKX1mdW5jdGlvbiBTcih0KXt2YXIgZT0iIjtyZXR1cm4gdC5zdGF0aWNTdHls
ZSYmKGUrPSJzdGF0aWNTdHlsZToiK3Quc3RhdGljU3R5bGUrIiwiKSx0LnN0eWxlQmluZGluZyYm
KGUrPSJzdHlsZTooIit0LnN0eWxlQmluZGluZysiKSwiKSxlfWZ1bmN0aW9uIFRyKHQsZSl7ZS52
YWx1ZSYmeW4odCwidGV4dENvbnRlbnQiLCJfcygiK2UudmFsdWUrIikiKX1mdW5jdGlvbiBFcih0
LGUpe2UudmFsdWUmJnluKHQsImlubmVySFRNTCIsIl9zKCIrZS52YWx1ZSsiKSIpfWZ1bmN0aW9u
IGpyKHQsZSl7dmFyIG49ZT9uYzplYztyZXR1cm4gdC5yZXBsYWNlKG4sZnVuY3Rpb24odCl7cmV0
dXJuIHRjW3RdfSl9ZnVuY3Rpb24gTnIodCxlKXtmdW5jdGlvbiBuKGUpe2wrPWUsdD10LnN1YnN0
cmluZyhlKX1mdW5jdGlvbiByKHQsbixyKXt2YXIgaSxzO2lmKG51bGw9PW4mJihuPWwpLG51bGw9
PXImJihyPWwpLHQmJihzPXQudG9Mb3dlckNhc2UoKSksdClmb3IoaT1hLmxlbmd0aC0xO2k+PTAm
JmFbaV0ubG93ZXJDYXNlZFRhZyE9PXM7aS0tKTtlbHNlIGk9MDtpZihpPj0wKXtmb3IodmFyIGM9
YS5sZW5ndGgtMTtjPj1pO2MtLSllLmVuZCYmZS5lbmQoYVtjXS50YWcsbixyKTthLmxlbmd0aD1p
LG89aSYmYVtpLTFdLnRhZ31lbHNlImJyIj09PXM/ZS5zdGFydCYmZS5zdGFydCh0LFtdLCEwLG4s
cik6InAiPT09cyYmKGUuc3RhcnQmJmUuc3RhcnQodCxbXSwhMSxuLHIpLGUuZW5kJiZlLmVuZCh0
LG4scikpfWZvcih2YXIgaSxvLGE9W10scz1lLmV4cGVjdEhUTUwsYz1lLmlzVW5hcnlUYWd8fEtp
LHU9ZS5jYW5CZUxlZnRPcGVuVGFnfHxLaSxsPTA7dDspe2lmKGk9dCxvJiZZcyhvKSl7dmFyIGY9
MCxwPW8udG9Mb3dlckNhc2UoKSxkPVFzW3BdfHwoUXNbcF09bmV3IFJlZ0V4cCgiKFtcXHNcXFNd
Kj8pKDwvIitwKyJbXj5dKj4pIiwiaSIpKSx2PXQucmVwbGFjZShkLGZ1bmN0aW9uKHQsbixyKXty
ZXR1cm4gZj1yLmxlbmd0aCxZcyhwKXx8Im5vc2NyaXB0Ij09PXB8fChuPW4ucmVwbGFjZSgvPCEt
LShbXHNcU10qPyktLT4vZywiJDEiKS5yZXBsYWNlKC88IVxbQ0RBVEFcWyhbXHNcU10qPyldXT4v
ZywiJDEiKSksaWMocCxuKSYmKG49bi5zbGljZSgxKSksZS5jaGFycyYmZS5jaGFycyhuKSwiIn0p
O2wrPXQubGVuZ3RoLXYubGVuZ3RoLHQ9dixyKHAsbC1mLGwpfWVsc2V7dmFyIGg9dC5pbmRleE9m
KCI8Iik7aWYoMD09PWgpe2lmKEZzLnRlc3QodCkpe3ZhciBtPXQuaW5kZXhPZigiLS1ceDNlIik7
aWYobT49MCl7ZS5zaG91bGRLZWVwQ29tbWVudCYmZS5jb21tZW50KHQuc3Vic3RyaW5nKDQsbSkp
LG4obSszKTtjb250aW51ZX19aWYoQnMudGVzdCh0KSl7dmFyIHk9dC5pbmRleE9mKCJdPiIpO2lm
KHk+PTApe24oeSsyKTtjb250aW51ZX19dmFyIGc9dC5tYXRjaChEcyk7aWYoZyl7bihnWzBdLmxl
bmd0aCk7Y29udGludWV9dmFyIF89dC5tYXRjaChScyk7aWYoXyl7dmFyIGI9bDtuKF9bMF0ubGVu
Z3RoKSxyKF9bMV0sYixsKTtjb250aW51ZX12YXIgdz1mdW5jdGlvbigpe3ZhciBlPXQubWF0Y2go
SXMpO2lmKGUpe3ZhciByPXt0YWdOYW1lOmVbMV0sYXR0cnM6W10sc3RhcnQ6bH07bihlWzBdLmxl
bmd0aCk7Zm9yKHZhciBpLG87IShpPXQubWF0Y2goUHMpKSYmKG89dC5tYXRjaChOcykpOyluKG9b
MF0ubGVuZ3RoKSxyLmF0dHJzLnB1c2gobyk7aWYoaSlyZXR1cm4gci51bmFyeVNsYXNoPWlbMV0s
bihpWzBdLmxlbmd0aCksci5lbmQ9bCxyfX0oKTtpZih3KXshZnVuY3Rpb24odCl7dmFyIG49dC50
YWdOYW1lLGk9dC51bmFyeVNsYXNoO3MmJigicCI9PT1vJiZrcyhuKSYmcihvKSx1KG4pJiZvPT09
biYmcihuKSk7Zm9yKHZhciBsPWMobil8fCEhaSxmPXQuYXR0cnMubGVuZ3RoLHA9bmV3IEFycmF5
KGYpLGQ9MDtkPGY7ZCsrKXt2YXIgdj10LmF0dHJzW2RdO1VzJiYtMT09PXZbMF0uaW5kZXhPZign
IiInKSYmKCIiPT09dlszXSYmZGVsZXRlIHZbM10sIiI9PT12WzRdJiZkZWxldGUgdls0XSwiIj09
PXZbNV0mJmRlbGV0ZSB2WzVdKTt2YXIgaD12WzNdfHx2WzRdfHx2WzVdfHwiIjtwW2RdPXtuYW1l
OnZbMV0sdmFsdWU6anIoaCxlLnNob3VsZERlY29kZU5ld2xpbmVzKX19bHx8KGEucHVzaCh7dGFn
Om4sbG93ZXJDYXNlZFRhZzpuLnRvTG93ZXJDYXNlKCksYXR0cnM6cH0pLG89biksZS5zdGFydCYm
ZS5zdGFydChuLHAsbCx0LnN0YXJ0LHQuZW5kKX0odyksaWMobyx0KSYmbigxKTtjb250aW51ZX19
dmFyICQ9dm9pZCAwLEM9dm9pZCAwLHg9dm9pZCAwO2lmKGg+PTApe2ZvcihDPXQuc2xpY2UoaCk7
IShScy50ZXN0KEMpfHxJcy50ZXN0KEMpfHxGcy50ZXN0KEMpfHxCcy50ZXN0KEMpfHwoeD1DLmlu
ZGV4T2YoIjwiLDEpKTwwKTspaCs9eCxDPXQuc2xpY2UoaCk7JD10LnN1YnN0cmluZygwLGgpLG4o
aCl9aDwwJiYoJD10LHQ9IiIpLGUuY2hhcnMmJiQmJmUuY2hhcnMoJCl9aWYodD09PWkpe2UuY2hh
cnMmJmUuY2hhcnModCk7YnJlYWt9fXIoKX1mdW5jdGlvbiBMcih0LGUpe2Z1bmN0aW9uIG4odCl7
dC5wcmUmJihzPSExKSxxcyh0LnRhZykmJihjPSExKX1Icz1lLndhcm58fGhuLHFzPWUuaXNQcmVU
YWd8fEtpLFdzPWUubXVzdFVzZVByb3B8fEtpLEdzPWUuZ2V0VGFnTmFtZXNwYWNlfHxLaSx6cz1t
bihlLm1vZHVsZXMsInRyYW5zZm9ybU5vZGUiKSxKcz1tbihlLm1vZHVsZXMsInByZVRyYW5zZm9y
bU5vZGUiKSxLcz1tbihlLm1vZHVsZXMsInBvc3RUcmFuc2Zvcm1Ob2RlIiksVnM9ZS5kZWxpbWl0
ZXJzO3ZhciByLGksbz1bXSxhPSExIT09ZS5wcmVzZXJ2ZVdoaXRlc3BhY2Uscz0hMSxjPSExO3Jl
dHVybiBOcih0LHt3YXJuOkhzLGV4cGVjdEhUTUw6ZS5leHBlY3RIVE1MLGlzVW5hcnlUYWc6ZS5p
c1VuYXJ5VGFnLGNhbkJlTGVmdE9wZW5UYWc6ZS5jYW5CZUxlZnRPcGVuVGFnLHNob3VsZERlY29k
ZU5ld2xpbmVzOmUuc2hvdWxkRGVjb2RlTmV3bGluZXMsc2hvdWxkS2VlcENvbW1lbnQ6ZS5jb21t
ZW50cyxzdGFydDpmdW5jdGlvbih0LGEsdSl7dmFyIGw9aSYmaS5uc3x8R3ModCk7aW8mJiJzdmci
PT09bCYmKGE9WXIoYSkpO3ZhciBmPXt0eXBlOjEsdGFnOnQsYXR0cnNMaXN0OmEsYXR0cnNNYXA6
R3IoYSkscGFyZW50OmksY2hpbGRyZW46W119O2wmJihmLm5zPWwpLFhyKGYpJiYhbW8oKSYmKGYu
Zm9yYmlkZGVuPSEwKTtmb3IodmFyIHA9MDtwPEpzLmxlbmd0aDtwKyspSnNbcF0oZixlKTtpZihz
fHwoTXIoZiksZi5wcmUmJihzPSEwKSkscXMoZi50YWcpJiYoYz0hMCkscylJcihmKTtlbHNle0Ry
KGYpLEZyKGYpLFZyKGYpLFByKGYpLGYucGxhaW49IWYua2V5JiYhYS5sZW5ndGgsUnIoZiksenIo
ZiksSnIoZik7Zm9yKHZhciBkPTA7ZDx6cy5sZW5ndGg7ZCsrKXpzW2RdKGYsZSk7S3IoZil9aWYo
cj9vLmxlbmd0aHx8ci5pZiYmKGYuZWxzZWlmfHxmLmVsc2UpJiZIcihyLHtleHA6Zi5lbHNlaWYs
YmxvY2s6Zn0pOnI9ZixpJiYhZi5mb3JiaWRkZW4paWYoZi5lbHNlaWZ8fGYuZWxzZSlCcihmLGkp
O2Vsc2UgaWYoZi5zbG90U2NvcGUpe2kucGxhaW49ITE7dmFyIHY9Zi5zbG90VGFyZ2V0fHwnImRl
ZmF1bHQiJzsoaS5zY29wZWRTbG90c3x8KGkuc2NvcGVkU2xvdHM9e30pKVt2XT1mfWVsc2UgaS5j
aGlsZHJlbi5wdXNoKGYpLGYucGFyZW50PWk7dT9uKGYpOihpPWYsby5wdXNoKGYpKTtmb3IodmFy
IGg9MDtoPEtzLmxlbmd0aDtoKyspS3NbaF0oZixlKX0sZW5kOmZ1bmN0aW9uKCl7dmFyIHQ9b1tv
Lmxlbmd0aC0xXSxlPXQuY2hpbGRyZW5bdC5jaGlsZHJlbi5sZW5ndGgtMV07ZSYmMz09PWUudHlw
ZSYmIiAiPT09ZS50ZXh0JiYhYyYmdC5jaGlsZHJlbi5wb3AoKSxvLmxlbmd0aC09MSxpPW9bby5s
ZW5ndGgtMV0sbih0KX0sY2hhcnM6ZnVuY3Rpb24odCl7aWYoaSYmKCFpb3x8InRleHRhcmVhIiE9
PWkudGFnfHxpLmF0dHJzTWFwLnBsYWNlaG9sZGVyIT09dCkpe3ZhciBlPWkuY2hpbGRyZW47aWYo
dD1jfHx0LnRyaW0oKT9acihpKT90OnBjKHQpOmEmJmUubGVuZ3RoPyIgIjoiIil7dmFyIG47IXMm
JiIgIiE9PXQmJihuPXhyKHQsVnMpKT9lLnB1c2goe3R5cGU6MixleHByZXNzaW9uOm4sdGV4dDp0
fSk6IiAiPT09dCYmZS5sZW5ndGgmJiIgIj09PWVbZS5sZW5ndGgtMV0udGV4dHx8ZS5wdXNoKHt0
eXBlOjMsdGV4dDp0fSl9fX0sY29tbWVudDpmdW5jdGlvbih0KXtpLmNoaWxkcmVuLnB1c2goe3R5
cGU6Myx0ZXh0OnQsaXNDb21tZW50OiEwfSl9fSkscn1mdW5jdGlvbiBNcih0KXtudWxsIT0kbih0
LCJ2LXByZSIpJiYodC5wcmU9ITApfWZ1bmN0aW9uIElyKHQpe3ZhciBlPXQuYXR0cnNMaXN0Lmxl
bmd0aDtpZihlKWZvcih2YXIgbj10LmF0dHJzPW5ldyBBcnJheShlKSxyPTA7cjxlO3IrKyluW3Jd
PXtuYW1lOnQuYXR0cnNMaXN0W3JdLm5hbWUsdmFsdWU6SlNPTi5zdHJpbmdpZnkodC5hdHRyc0xp
c3Rbcl0udmFsdWUpfTtlbHNlIHQucHJlfHwodC5wbGFpbj0hMCl9ZnVuY3Rpb24gUHIodCl7dmFy
IGU9d24odCwia2V5Iik7ZSYmKHQua2V5PWUpfWZ1bmN0aW9uIFJyKHQpe3ZhciBlPXduKHQsInJl
ZiIpO2UmJih0LnJlZj1lLHQucmVmSW5Gb3I9cXIodCkpfWZ1bmN0aW9uIERyKHQpe3ZhciBlO2lm
KGU9JG4odCwidi1mb3IiKSl7dmFyIG49ZS5tYXRjaChzYyk7aWYoIW4pcmV0dXJuO3QuZm9yPW5b
Ml0udHJpbSgpO3ZhciByPW5bMV0udHJpbSgpLGk9ci5tYXRjaChjYyk7aT8odC5hbGlhcz1pWzFd
LnRyaW0oKSx0Lml0ZXJhdG9yMT1pWzJdLnRyaW0oKSxpWzNdJiYodC5pdGVyYXRvcjI9aVszXS50
cmltKCkpKTp0LmFsaWFzPXJ9fWZ1bmN0aW9uIEZyKHQpe3ZhciBlPSRuKHQsInYtaWYiKTtpZihl
KXQuaWY9ZSxIcih0LHtleHA6ZSxibG9jazp0fSk7ZWxzZXtudWxsIT0kbih0LCJ2LWVsc2UiKSYm
KHQuZWxzZT0hMCk7dmFyIG49JG4odCwidi1lbHNlLWlmIik7biYmKHQuZWxzZWlmPW4pfX1mdW5j
dGlvbiBCcih0LGUpe3ZhciBuPVVyKGUuY2hpbGRyZW4pO24mJm4uaWYmJkhyKG4se2V4cDp0LmVs
c2VpZixibG9jazp0fSl9ZnVuY3Rpb24gVXIodCl7Zm9yKHZhciBlPXQubGVuZ3RoO2UtLTspe2lm
KDE9PT10W2VdLnR5cGUpcmV0dXJuIHRbZV07dC5wb3AoKX19ZnVuY3Rpb24gSHIodCxlKXt0Lmlm
Q29uZGl0aW9uc3x8KHQuaWZDb25kaXRpb25zPVtdKSx0LmlmQ29uZGl0aW9ucy5wdXNoKGUpfWZ1
bmN0aW9uIFZyKHQpe251bGwhPSRuKHQsInYtb25jZSIpJiYodC5vbmNlPSEwKX1mdW5jdGlvbiB6
cih0KXtpZigic2xvdCI9PT10LnRhZyl0LnNsb3ROYW1lPXduKHQsIm5hbWUiKTtlbHNle3ZhciBl
PXduKHQsInNsb3QiKTtlJiYodC5zbG90VGFyZ2V0PSciIic9PT1lPyciZGVmYXVsdCInOmUpLCJ0
ZW1wbGF0ZSI9PT10LnRhZyYmKHQuc2xvdFNjb3BlPSRuKHQsInNjb3BlIikpfX1mdW5jdGlvbiBK
cih0KXt2YXIgZTsoZT13bih0LCJpcyIpKSYmKHQuY29tcG9uZW50PWUpLG51bGwhPSRuKHQsImlu
bGluZS10ZW1wbGF0ZSIpJiYodC5pbmxpbmVUZW1wbGF0ZT0hMCl9ZnVuY3Rpb24gS3IodCl7dmFy
IGUsbixyLGksbyxhLHMsYz10LmF0dHJzTGlzdDtmb3IoZT0wLG49Yy5sZW5ndGg7ZTxuO2UrKylp
ZihyPWk9Y1tlXS5uYW1lLG89Y1tlXS52YWx1ZSxhYy50ZXN0KHIpKWlmKHQuaGFzQmluZGluZ3M9
ITAsYT1XcihyKSxhJiYocj1yLnJlcGxhY2UoZmMsIiIpKSxsYy50ZXN0KHIpKXI9ci5yZXBsYWNl
KGxjLCIiKSxvPWRuKG8pLHM9ITEsYSYmKGEucHJvcCYmKHM9ITAsImlubmVySHRtbCI9PT0ocj1I
aShyKSkmJihyPSJpbm5lckhUTUwiKSksYS5jYW1lbCYmKHI9SGkocikpLGEuc3luYyYmYm4odCwi
dXBkYXRlOiIrSGkocikseG4obywiJGV2ZW50IikpKSxzfHwhdC5jb21wb25lbnQmJldzKHQudGFn
LHQuYXR0cnNNYXAudHlwZSxyKT95bih0LHIsbyk6Z24odCxyLG8pO2Vsc2UgaWYob2MudGVzdChy
KSlyPXIucmVwbGFjZShvYywiIiksYm4odCxyLG8sYSwhMSxIcyk7ZWxzZXtyPXIucmVwbGFjZShh
YywiIik7dmFyIHU9ci5tYXRjaCh1YyksbD11JiZ1WzFdO2wmJihyPXIuc2xpY2UoMCwtKGwubGVu
Z3RoKzEpKSksX24odCxyLGksbyxsLGEpfWVsc2V7Z24odCxyLEpTT04uc3RyaW5naWZ5KG8pKX19
ZnVuY3Rpb24gcXIodCl7Zm9yKHZhciBlPXQ7ZTspe2lmKHZvaWQgMCE9PWUuZm9yKXJldHVybiEw
O2U9ZS5wYXJlbnR9cmV0dXJuITF9ZnVuY3Rpb24gV3IodCl7dmFyIGU9dC5tYXRjaChmYyk7aWYo
ZSl7dmFyIG49e307cmV0dXJuIGUuZm9yRWFjaChmdW5jdGlvbih0KXtuW3Quc2xpY2UoMSldPSEw
fSksbn19ZnVuY3Rpb24gR3IodCl7Zm9yKHZhciBlPXt9LG49MCxyPXQubGVuZ3RoO248cjtuKysp
ZVt0W25dLm5hbWVdPXRbbl0udmFsdWU7cmV0dXJuIGV9ZnVuY3Rpb24gWnIodCl7cmV0dXJuInNj
cmlwdCI9PT10LnRhZ3x8InN0eWxlIj09PXQudGFnfWZ1bmN0aW9uIFhyKHQpe3JldHVybiJzdHls
ZSI9PT10LnRhZ3x8InNjcmlwdCI9PT10LnRhZyYmKCF0LmF0dHJzTWFwLnR5cGV8fCJ0ZXh0L2ph
dmFzY3JpcHQiPT09dC5hdHRyc01hcC50eXBlKX1mdW5jdGlvbiBZcih0KXtmb3IodmFyIGU9W10s
bj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO2RjLnRlc3Qoci5uYW1lKXx8KHIubmFtZT1y
Lm5hbWUucmVwbGFjZSh2YywiIiksZS5wdXNoKHIpKX1yZXR1cm4gZX1mdW5jdGlvbiBRcih0LGUp
e3QmJihacz1oYyhlLnN0YXRpY0tleXN8fCIiKSxYcz1lLmlzUmVzZXJ2ZWRUYWd8fEtpLGVpKHQp
LG5pKHQsITEpKX1mdW5jdGlvbiB0aSh0KXtyZXR1cm4gZCgidHlwZSx0YWcsYXR0cnNMaXN0LGF0
dHJzTWFwLHBsYWluLHBhcmVudCxjaGlsZHJlbixhdHRycyIrKHQ/IiwiK3Q6IiIpKX1mdW5jdGlv
biBlaSh0KXtpZih0LnN0YXRpYz1yaSh0KSwxPT09dC50eXBlKXtpZighWHModC50YWcpJiYic2xv
dCIhPT10LnRhZyYmbnVsbD09dC5hdHRyc01hcFsiaW5saW5lLXRlbXBsYXRlIl0pcmV0dXJuO2Zv
cih2YXIgZT0wLG49dC5jaGlsZHJlbi5sZW5ndGg7ZTxuO2UrKyl7dmFyIHI9dC5jaGlsZHJlbltl
XTtlaShyKSxyLnN0YXRpY3x8KHQuc3RhdGljPSExKX1pZih0LmlmQ29uZGl0aW9ucylmb3IodmFy
IGk9MSxvPXQuaWZDb25kaXRpb25zLmxlbmd0aDtpPG87aSsrKXt2YXIgYT10LmlmQ29uZGl0aW9u
c1tpXS5ibG9jaztlaShhKSxhLnN0YXRpY3x8KHQuc3RhdGljPSExKX19fWZ1bmN0aW9uIG5pKHQs
ZSl7aWYoMT09PXQudHlwZSl7aWYoKHQuc3RhdGljfHx0Lm9uY2UpJiYodC5zdGF0aWNJbkZvcj1l
KSx0LnN0YXRpYyYmdC5jaGlsZHJlbi5sZW5ndGgmJigxIT09dC5jaGlsZHJlbi5sZW5ndGh8fDMh
PT10LmNoaWxkcmVuWzBdLnR5cGUpKXJldHVybiB2b2lkKHQuc3RhdGljUm9vdD0hMCk7aWYodC5z
dGF0aWNSb290PSExLHQuY2hpbGRyZW4pZm9yKHZhciBuPTAscj10LmNoaWxkcmVuLmxlbmd0aDtu
PHI7bisrKW5pKHQuY2hpbGRyZW5bbl0sZXx8ISF0LmZvcik7aWYodC5pZkNvbmRpdGlvbnMpZm9y
KHZhciBpPTEsbz10LmlmQ29uZGl0aW9ucy5sZW5ndGg7aTxvO2krKyluaSh0LmlmQ29uZGl0aW9u
c1tpXS5ibG9jayxlKX19ZnVuY3Rpb24gcmkodCl7cmV0dXJuIDIhPT10LnR5cGUmJigzPT09dC50
eXBlfHwhKCF0LnByZSYmKHQuaGFzQmluZGluZ3N8fHQuaWZ8fHQuZm9yfHxEaSh0LnRhZyl8fCFY
cyh0LnRhZyl8fGlpKHQpfHwhT2JqZWN0LmtleXModCkuZXZlcnkoWnMpKSkpfWZ1bmN0aW9uIGlp
KHQpe2Zvcig7dC5wYXJlbnQ7KXtpZih0PXQucGFyZW50LCJ0ZW1wbGF0ZSIhPT10LnRhZylyZXR1
cm4hMTtpZih0LmZvcilyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBvaSh0LGUsbil7dmFyIHI9
ZT8ibmF0aXZlT246eyI6Im9uOnsiO2Zvcih2YXIgaSBpbiB0KXtyKz0nIicraSsnIjonK2FpKGks
dFtpXSkrIiwifXJldHVybiByLnNsaWNlKDAsLTEpKyJ9In1mdW5jdGlvbiBhaSh0LGUpe2lmKCFl
KXJldHVybiJmdW5jdGlvbigpe30iO2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIlsiK2UubWFw
KGZ1bmN0aW9uKGUpe3JldHVybiBhaSh0LGUpfSkuam9pbigiLCIpKyJdIjt2YXIgbj15Yy50ZXN0
KGUudmFsdWUpLHI9bWMudGVzdChlLnZhbHVlKTtpZihlLm1vZGlmaWVycyl7dmFyIGk9IiIsbz0i
IixhPVtdO2Zvcih2YXIgcyBpbiBlLm1vZGlmaWVycyliY1tzXT8obys9YmNbc10sZ2Nbc10mJmEu
cHVzaChzKSk6YS5wdXNoKHMpO2EubGVuZ3RoJiYoaSs9c2koYSkpLG8mJihpKz1vKTtyZXR1cm4i
ZnVuY3Rpb24oJGV2ZW50KXsiK2krKG4/ZS52YWx1ZSsiKCRldmVudCkiOnI/IigiK2UudmFsdWUr
IikoJGV2ZW50KSI6ZS52YWx1ZSkrIn0ifXJldHVybiBufHxyP2UudmFsdWU6ImZ1bmN0aW9uKCRl
dmVudCl7IitlLnZhbHVlKyJ9In1mdW5jdGlvbiBzaSh0KXtyZXR1cm4iaWYoISgnYnV0dG9uJyBp
biAkZXZlbnQpJiYiK3QubWFwKGNpKS5qb2luKCImJiIpKyIpcmV0dXJuIG51bGw7In1mdW5jdGlv
biBjaSh0KXt2YXIgZT1wYXJzZUludCh0LDEwKTtpZihlKXJldHVybiIkZXZlbnQua2V5Q29kZSE9
PSIrZTt2YXIgbj1nY1t0XTtyZXR1cm4iX2soJGV2ZW50LmtleUNvZGUsIitKU09OLnN0cmluZ2lm
eSh0KSsobj8iLCIrSlNPTi5zdHJpbmdpZnkobik6IiIpKyIpIn1mdW5jdGlvbiB1aSh0LGUpe3Qu
d3JhcExpc3RlbmVycz1mdW5jdGlvbih0KXtyZXR1cm4iX2coIit0KyIsIitlLnZhbHVlKyIpIn19
ZnVuY3Rpb24gbGkodCxlKXt0LndyYXBEYXRhPWZ1bmN0aW9uKG4pe3JldHVybiJfYigiK24rIiwn
Iit0LnRhZysiJywiK2UudmFsdWUrIiwiKyhlLm1vZGlmaWVycyYmZS5tb2RpZmllcnMucHJvcD8i
dHJ1ZSI6ImZhbHNlIikrKGUubW9kaWZpZXJzJiZlLm1vZGlmaWVycy5zeW5jPyIsdHJ1ZSI6IiIp
KyIpIn19ZnVuY3Rpb24gZmkodCxlKXt2YXIgbj1uZXcgJGMoZSk7cmV0dXJue3JlbmRlcjoid2l0
aCh0aGlzKXtyZXR1cm4gIisodD9waSh0LG4pOidfYygiZGl2IiknKSsifSIsc3RhdGljUmVuZGVy
Rm5zOm4uc3RhdGljUmVuZGVyRm5zfX1mdW5jdGlvbiBwaSh0LGUpe2lmKHQuc3RhdGljUm9vdCYm
IXQuc3RhdGljUHJvY2Vzc2VkKXJldHVybiBkaSh0LGUpO2lmKHQub25jZSYmIXQub25jZVByb2Nl
c3NlZClyZXR1cm4gdmkodCxlKTtpZih0LmZvciYmIXQuZm9yUHJvY2Vzc2VkKXJldHVybiB5aSh0
LGUpO2lmKHQuaWYmJiF0LmlmUHJvY2Vzc2VkKXJldHVybiBoaSh0LGUpO2lmKCJ0ZW1wbGF0ZSIh
PT10LnRhZ3x8dC5zbG90VGFyZ2V0KXtpZigic2xvdCI9PT10LnRhZylyZXR1cm4gRWkodCxlKTt2
YXIgbjtpZih0LmNvbXBvbmVudCluPWppKHQuY29tcG9uZW50LHQsZSk7ZWxzZXt2YXIgcj10LnBs
YWluP3ZvaWQgMDpnaSh0LGUpLGk9dC5pbmxpbmVUZW1wbGF0ZT9udWxsOnhpKHQsZSwhMCk7bj0i
X2MoJyIrdC50YWcrIiciKyhyPyIsIityOiIiKSsoaT8iLCIraToiIikrIikifWZvcih2YXIgbz0w
O288ZS50cmFuc2Zvcm1zLmxlbmd0aDtvKyspbj1lLnRyYW5zZm9ybXNbb10odCxuKTtyZXR1cm4g
bn1yZXR1cm4geGkodCxlKXx8InZvaWQgMCJ9ZnVuY3Rpb24gZGkodCxlKXtyZXR1cm4gdC5zdGF0
aWNQcm9jZXNzZWQ9ITAsZS5zdGF0aWNSZW5kZXJGbnMucHVzaCgid2l0aCh0aGlzKXtyZXR1cm4g
IitwaSh0LGUpKyJ9IiksIl9tKCIrKGUuc3RhdGljUmVuZGVyRm5zLmxlbmd0aC0xKSsodC5zdGF0
aWNJbkZvcj8iLHRydWUiOiIiKSsiKSJ9ZnVuY3Rpb24gdmkodCxlKXtpZih0Lm9uY2VQcm9jZXNz
ZWQ9ITAsdC5pZiYmIXQuaWZQcm9jZXNzZWQpcmV0dXJuIGhpKHQsZSk7aWYodC5zdGF0aWNJbkZv
cil7Zm9yKHZhciBuPSIiLHI9dC5wYXJlbnQ7cjspe2lmKHIuZm9yKXtuPXIua2V5O2JyZWFrfXI9
ci5wYXJlbnR9cmV0dXJuIG4/Il9vKCIrcGkodCxlKSsiLCIrZS5vbmNlSWQrKysobj8iLCIrbjoi
IikrIikiOnBpKHQsZSl9cmV0dXJuIGRpKHQsZSl9ZnVuY3Rpb24gaGkodCxlLG4scil7cmV0dXJu
IHQuaWZQcm9jZXNzZWQ9ITAsbWkodC5pZkNvbmRpdGlvbnMuc2xpY2UoKSxlLG4scil9ZnVuY3Rp
b24gbWkodCxlLG4scil7ZnVuY3Rpb24gaSh0KXtyZXR1cm4gbj9uKHQsZSk6dC5vbmNlP3ZpKHQs
ZSk6cGkodCxlKX1pZighdC5sZW5ndGgpcmV0dXJuIHJ8fCJfZSgpIjt2YXIgbz10LnNoaWZ0KCk7
cmV0dXJuIG8uZXhwPyIoIitvLmV4cCsiKT8iK2koby5ibG9jaykrIjoiK21pKHQsZSxuLHIpOiIi
K2koby5ibG9jayl9ZnVuY3Rpb24geWkodCxlLG4scil7dmFyIGk9dC5mb3Isbz10LmFsaWFzLGE9
dC5pdGVyYXRvcjE/IiwiK3QuaXRlcmF0b3IxOiIiLHM9dC5pdGVyYXRvcjI/IiwiK3QuaXRlcmF0
b3IyOiIiO3JldHVybiB0LmZvclByb2Nlc3NlZD0hMCwocnx8Il9sIikrIigoIitpKyIpLGZ1bmN0
aW9uKCIrbythK3MrIil7cmV0dXJuICIrKG58fHBpKSh0LGUpKyJ9KSJ9ZnVuY3Rpb24gZ2kodCxl
KXt2YXIgbj0ieyIscj1faSh0LGUpO3ImJihuKz1yKyIsIiksdC5rZXkmJihuKz0ia2V5OiIrdC5r
ZXkrIiwiKSx0LnJlZiYmKG4rPSJyZWY6Iit0LnJlZisiLCIpLHQucmVmSW5Gb3ImJihuKz0icmVm
SW5Gb3I6dHJ1ZSwiKSx0LnByZSYmKG4rPSJwcmU6dHJ1ZSwiKSx0LmNvbXBvbmVudCYmKG4rPSd0
YWc6IicrdC50YWcrJyIsJyk7Zm9yKHZhciBpPTA7aTxlLmRhdGFHZW5GbnMubGVuZ3RoO2krKylu
Kz1lLmRhdGFHZW5GbnNbaV0odCk7aWYodC5hdHRycyYmKG4rPSJhdHRyczp7IitOaSh0LmF0dHJz
KSsifSwiKSx0LnByb3BzJiYobis9ImRvbVByb3BzOnsiK05pKHQucHJvcHMpKyJ9LCIpLHQuZXZl
bnRzJiYobis9b2kodC5ldmVudHMsITEsZS53YXJuKSsiLCIpLHQubmF0aXZlRXZlbnRzJiYobis9
b2kodC5uYXRpdmVFdmVudHMsITAsZS53YXJuKSsiLCIpLHQuc2xvdFRhcmdldCYmKG4rPSJzbG90
OiIrdC5zbG90VGFyZ2V0KyIsIiksdC5zY29wZWRTbG90cyYmKG4rPXdpKHQuc2NvcGVkU2xvdHMs
ZSkrIiwiKSx0Lm1vZGVsJiYobis9Im1vZGVsOnt2YWx1ZToiK3QubW9kZWwudmFsdWUrIixjYWxs
YmFjazoiK3QubW9kZWwuY2FsbGJhY2srIixleHByZXNzaW9uOiIrdC5tb2RlbC5leHByZXNzaW9u
KyJ9LCIpLHQuaW5saW5lVGVtcGxhdGUpe3ZhciBvPWJpKHQsZSk7byYmKG4rPW8rIiwiKX1yZXR1
cm4gbj1uLnJlcGxhY2UoLywkLywiIikrIn0iLHQud3JhcERhdGEmJihuPXQud3JhcERhdGEobikp
LHQud3JhcExpc3RlbmVycyYmKG49dC53cmFwTGlzdGVuZXJzKG4pKSxufWZ1bmN0aW9uIF9pKHQs
ZSl7dmFyIG49dC5kaXJlY3RpdmVzO2lmKG4pe3ZhciByLGksbyxhLHM9ImRpcmVjdGl2ZXM6WyIs
Yz0hMTtmb3Iocj0wLGk9bi5sZW5ndGg7cjxpO3IrKyl7bz1uW3JdLGE9ITA7dmFyIHU9ZS5kaXJl
Y3RpdmVzW28ubmFtZV07dSYmKGE9ISF1KHQsbyxlLndhcm4pKSxhJiYoYz0hMCxzKz0ne25hbWU6
Iicrby5uYW1lKyciLHJhd05hbWU6Iicrby5yYXdOYW1lKyciJysoby52YWx1ZT8iLHZhbHVlOigi
K28udmFsdWUrIiksZXhwcmVzc2lvbjoiK0pTT04uc3RyaW5naWZ5KG8udmFsdWUpOiIiKSsoby5h
cmc/Jyxhcmc6Iicrby5hcmcrJyInOiIiKSsoby5tb2RpZmllcnM/Iixtb2RpZmllcnM6IitKU09O
LnN0cmluZ2lmeShvLm1vZGlmaWVycyk6IiIpKyJ9LCIpfXJldHVybiBjP3Muc2xpY2UoMCwtMSkr
Il0iOnZvaWQgMH19ZnVuY3Rpb24gYmkodCxlKXt2YXIgbj10LmNoaWxkcmVuWzBdO2lmKDE9PT1u
LnR5cGUpe3ZhciByPWZpKG4sZS5vcHRpb25zKTtyZXR1cm4iaW5saW5lVGVtcGxhdGU6e3JlbmRl
cjpmdW5jdGlvbigpeyIrci5yZW5kZXIrIn0sc3RhdGljUmVuZGVyRm5zOlsiK3Iuc3RhdGljUmVu
ZGVyRm5zLm1hcChmdW5jdGlvbih0KXtyZXR1cm4iZnVuY3Rpb24oKXsiK3QrIn0ifSkuam9pbigi
LCIpKyJdfSJ9fWZ1bmN0aW9uIHdpKHQsZSl7cmV0dXJuInNjb3BlZFNsb3RzOl91KFsiK09iamVj
dC5rZXlzKHQpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gJGkobix0W25dLGUpfSkuam9pbigiLCIp
KyJdKSJ9ZnVuY3Rpb24gJGkodCxlLG4pe3JldHVybiBlLmZvciYmIWUuZm9yUHJvY2Vzc2VkP0Np
KHQsZSxuKToie2tleToiK3QrIixmbjpmdW5jdGlvbigiK1N0cmluZyhlLmF0dHJzTWFwLnNjb3Bl
KSsiKXtyZXR1cm4gIisoInRlbXBsYXRlIj09PWUudGFnP3hpKGUsbil8fCJ2b2lkIDAiOnBpKGUs
bikpKyJ9fSJ9ZnVuY3Rpb24gQ2kodCxlLG4pe3ZhciByPWUuZm9yLGk9ZS5hbGlhcyxvPWUuaXRl
cmF0b3IxPyIsIitlLml0ZXJhdG9yMToiIixhPWUuaXRlcmF0b3IyPyIsIitlLml0ZXJhdG9yMjoi
IjtyZXR1cm4gZS5mb3JQcm9jZXNzZWQ9ITAsIl9sKCgiK3IrIiksZnVuY3Rpb24oIitpK28rYSsi
KXtyZXR1cm4gIiskaSh0LGUsbikrIn0pIn1mdW5jdGlvbiB4aSh0LGUsbixyLGkpe3ZhciBvPXQu
Y2hpbGRyZW47aWYoby5sZW5ndGgpe3ZhciBhPW9bMF07aWYoMT09PW8ubGVuZ3RoJiZhLmZvciYm
InRlbXBsYXRlIiE9PWEudGFnJiYic2xvdCIhPT1hLnRhZylyZXR1cm4ocnx8cGkpKGEsZSk7dmFy
IHM9bj9BaShvLGUubWF5YmVDb21wb25lbnQpOjAsYz1pfHxPaTtyZXR1cm4iWyIrby5tYXAoZnVu
Y3Rpb24odCl7cmV0dXJuIGModCxlKX0pLmpvaW4oIiwiKSsiXSIrKHM/IiwiK3M6IiIpfX1mdW5j
dGlvbiBBaSh0LGUpe2Zvcih2YXIgbj0wLHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIGk9dFtyXTtp
ZigxPT09aS50eXBlKXtpZihraShpKXx8aS5pZkNvbmRpdGlvbnMmJmkuaWZDb25kaXRpb25zLnNv
bWUoZnVuY3Rpb24odCl7cmV0dXJuIGtpKHQuYmxvY2spfSkpe249MjticmVha30oZShpKXx8aS5p
ZkNvbmRpdGlvbnMmJmkuaWZDb25kaXRpb25zLnNvbWUoZnVuY3Rpb24odCl7cmV0dXJuIGUodC5i
bG9jayl9KSkmJihuPTEpfX1yZXR1cm4gbn1mdW5jdGlvbiBraSh0KXtyZXR1cm4gdm9pZCAwIT09
dC5mb3J8fCJ0ZW1wbGF0ZSI9PT10LnRhZ3x8InNsb3QiPT09dC50YWd9ZnVuY3Rpb24gT2kodCxl
KXtyZXR1cm4gMT09PXQudHlwZT9waSh0LGUpOjM9PT10LnR5cGUmJnQuaXNDb21tZW50P1RpKHQp
OlNpKHQpfWZ1bmN0aW9uIFNpKHQpe3JldHVybiJfdigiKygyPT09dC50eXBlP3QuZXhwcmVzc2lv
bjpMaShKU09OLnN0cmluZ2lmeSh0LnRleHQpKSkrIikifWZ1bmN0aW9uIFRpKHQpe3JldHVybiJf
ZSgiK0pTT04uc3RyaW5naWZ5KHQudGV4dCkrIikifWZ1bmN0aW9uIEVpKHQsZSl7dmFyIG49dC5z
bG90TmFtZXx8JyJkZWZhdWx0Iicscj14aSh0LGUpLGk9Il90KCIrbisocj8iLCIrcjoiIiksbz10
LmF0dHJzJiYieyIrdC5hdHRycy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIEhpKHQubmFtZSkrIjoi
K3QudmFsdWV9KS5qb2luKCIsIikrIn0iLGE9dC5hdHRyc01hcFsidi1iaW5kIl07cmV0dXJuIW8m
JiFhfHxyfHwoaSs9IixudWxsIiksbyYmKGkrPSIsIitvKSxhJiYoaSs9KG8/IiI6IixudWxsIikr
IiwiK2EpLGkrIikifWZ1bmN0aW9uIGppKHQsZSxuKXt2YXIgcj1lLmlubGluZVRlbXBsYXRlP251
bGw6eGkoZSxuLCEwKTtyZXR1cm4iX2MoIit0KyIsIitnaShlLG4pKyhyPyIsIityOiIiKSsiKSJ9
ZnVuY3Rpb24gTmkodCl7Zm9yKHZhciBlPSIiLG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtu
XTtlKz0nIicrci5uYW1lKyciOicrTGkoci52YWx1ZSkrIiwifXJldHVybiBlLnNsaWNlKDAsLTEp
fWZ1bmN0aW9uIExpKHQpe3JldHVybiB0LnJlcGxhY2UoL1x1MjAyOC9nLCJcXHUyMDI4IikucmVw
bGFjZSgvXHUyMDI5L2csIlxcdTIwMjkiKX1mdW5jdGlvbiBNaSh0LGUpe3RyeXtyZXR1cm4gbmV3
IEZ1bmN0aW9uKHQpfWNhdGNoKG4pe3JldHVybiBlLnB1c2goe2VycjpuLGNvZGU6dH0pLHd9fWZ1
bmN0aW9uIElpKHQpe3ZhciBlPU9iamVjdC5jcmVhdGUobnVsbCk7cmV0dXJuIGZ1bmN0aW9uKG4s
cixpKXtyPXJ8fHt9O3ZhciBvPXIuZGVsaW1pdGVycz9TdHJpbmcoci5kZWxpbWl0ZXJzKStuOm47
aWYoZVtvXSlyZXR1cm4gZVtvXTt2YXIgYT10KG4scikscz17fSxjPVtdO3JldHVybiBzLnJlbmRl
cj1NaShhLnJlbmRlcixjKSxzLnN0YXRpY1JlbmRlckZucz1hLnN0YXRpY1JlbmRlckZucy5tYXAo
ZnVuY3Rpb24odCl7cmV0dXJuIE1pKHQsYyl9KSxlW29dPXN9fWZ1bmN0aW9uIFBpKHQpe2lmKHQu
b3V0ZXJIVE1MKXJldHVybiB0Lm91dGVySFRNTDt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTtyZXR1cm4gZS5hcHBlbmRDaGlsZCh0LmNsb25lTm9kZSghMCkpLGUuaW5uZXJIVE1M
fXZhciBSaT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLERpPWQoInNsb3QsY29tcG9uZW50Iiwh
MCksRmk9ZCgia2V5LHJlZixzbG90LGlzIiksQmk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9w
ZXJ0eSxVaT0vLShcdykvZyxIaT1tKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlcGxhY2UoVWksZnVu
Y3Rpb24odCxlKXtyZXR1cm4gZT9lLnRvVXBwZXJDYXNlKCk6IiJ9KX0pLFZpPW0oZnVuY3Rpb24o
dCl7cmV0dXJuIHQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKX0pLHppPS8oW14t
XSkoW0EtWl0pL2csSmk9bShmdW5jdGlvbih0KXtyZXR1cm4gdC5yZXBsYWNlKHppLCIkMS0kMiIp
LnJlcGxhY2UoemksIiQxLSQyIikudG9Mb3dlckNhc2UoKX0pLEtpPWZ1bmN0aW9uKHQsZSxuKXty
ZXR1cm4hMX0scWk9ZnVuY3Rpb24odCl7cmV0dXJuIHR9LFdpPSJkYXRhLXNlcnZlci1yZW5kZXJl
ZCIsR2k9WyJjb21wb25lbnQiLCJkaXJlY3RpdmUiLCJmaWx0ZXIiXSxaaT1bImJlZm9yZUNyZWF0
ZSIsImNyZWF0ZWQiLCJiZWZvcmVNb3VudCIsIm1vdW50ZWQiLCJiZWZvcmVVcGRhdGUiLCJ1cGRh
dGVkIiwiYmVmb3JlRGVzdHJveSIsImRlc3Ryb3llZCIsImFjdGl2YXRlZCIsImRlYWN0aXZhdGVk
Il0sWGk9e29wdGlvbk1lcmdlU3RyYXRlZ2llczpPYmplY3QuY3JlYXRlKG51bGwpLHNpbGVudDoh
MSxwcm9kdWN0aW9uVGlwOiExLGRldnRvb2xzOiExLHBlcmZvcm1hbmNlOiExLGVycm9ySGFuZGxl
cjpudWxsLHdhcm5IYW5kbGVyOm51bGwsaWdub3JlZEVsZW1lbnRzOltdLGtleUNvZGVzOk9iamVj
dC5jcmVhdGUobnVsbCksaXNSZXNlcnZlZFRhZzpLaSxpc1Jlc2VydmVkQXR0cjpLaSxpc1Vua25v
d25FbGVtZW50OktpLGdldFRhZ05hbWVzcGFjZTp3LHBhcnNlUGxhdGZvcm1UYWdOYW1lOnFpLG11
c3RVc2VQcm9wOktpLF9saWZlY3ljbGVIb29rczpaaX0sWWk9T2JqZWN0LmZyZWV6ZSh7fSksUWk9
L1teXHcuJF0vLHRvPXcsZW89Il9fcHJvdG9fXyJpbnt9LG5vPSJ1bmRlZmluZWQiIT10eXBlb2Yg
d2luZG93LHJvPW5vJiZ3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLGlv
PXJvJiYvbXNpZXx0cmlkZW50Ly50ZXN0KHJvKSxvbz1ybyYmcm8uaW5kZXhPZigibXNpZSA5LjAi
KT4wLGFvPXJvJiZyby5pbmRleE9mKCJlZGdlLyIpPjAsc289cm8mJnJvLmluZGV4T2YoImFuZHJv
aWQiKT4wLGNvPXJvJiYvaXBob25lfGlwYWR8aXBvZHxpb3MvLnRlc3Qocm8pLHVvPXJvJiYvY2hy
b21lXC9cZCsvLnRlc3Qocm8pJiYhYW8sbG89e30ud2F0Y2gsZm89ITE7aWYobm8pdHJ5e3ZhciBw
bz17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkocG8sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXtm
bz0hMH19KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdC1wYXNzaXZlIixudWxsLHBvKX1j
YXRjaCh0KXt9dmFyIHZvLGhvLG1vPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PXZvJiYodm89
IW5vJiZ2b2lkIDAhPT10JiYic2VydmVyIj09PXQucHJvY2Vzcy5lbnYuVlVFX0VOViksdm99LHlv
PW5vJiZ3aW5kb3cuX19WVUVfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyxnbz0idW5kZWZpbmVkIiE9
dHlwZW9mIFN5bWJvbCYmVChTeW1ib2wpJiYidW5kZWZpbmVkIiE9dHlwZW9mIFJlZmxlY3QmJlQo
UmVmbGVjdC5vd25LZXlzKSxfbz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXtyPSExO3ZhciB0PW4u
c2xpY2UoMCk7bi5sZW5ndGg9MDtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKyl0W2VdKCl9dmFy
IGUsbj1bXSxyPSExO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgUHJvbWlzZSYmVChQcm9taXNlKSl7
dmFyIGk9UHJvbWlzZS5yZXNvbHZlKCksbz1mdW5jdGlvbih0KXtjb25zb2xlLmVycm9yKHQpfTtl
PWZ1bmN0aW9uKCl7aS50aGVuKHQpLmNhdGNoKG8pLGNvJiZzZXRUaW1lb3V0KHcpfX1lbHNlIGlm
KCJ1bmRlZmluZWQiPT10eXBlb2YgTXV0YXRpb25PYnNlcnZlcnx8IVQoTXV0YXRpb25PYnNlcnZl
cikmJiJbb2JqZWN0IE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3Rvcl0iIT09TXV0YXRpb25PYnNl
cnZlci50b1N0cmluZygpKWU9ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KHQsMCl9O2Vsc2V7dmFyIGE9
MSxzPW5ldyBNdXRhdGlvbk9ic2VydmVyKHQpLGM9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoU3Ry
aW5nKGEpKTtzLm9ic2VydmUoYyx7Y2hhcmFjdGVyRGF0YTohMH0pLGU9ZnVuY3Rpb24oKXthPShh
KzEpJTIsYy5kYXRhPVN0cmluZyhhKX19cmV0dXJuIGZ1bmN0aW9uKHQsaSl7dmFyIG87aWYobi5w
dXNoKGZ1bmN0aW9uKCl7aWYodCl0cnl7dC5jYWxsKGkpfWNhdGNoKHQpe1ModCxpLCJuZXh0VGlj
ayIpfWVsc2UgbyYmbyhpKX0pLHJ8fChyPSEwLGUoKSksIXQmJiJ1bmRlZmluZWQiIT10eXBlb2Yg
UHJvbWlzZSlyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24odCxlKXtvPXR9KX19KCk7aG89InVu
ZGVmaW5lZCIhPXR5cGVvZiBTZXQmJlQoU2V0KT9TZXQ6ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7
dGhpcy5zZXQ9T2JqZWN0LmNyZWF0ZShudWxsKX1yZXR1cm4gdC5wcm90b3R5cGUuaGFzPWZ1bmN0
aW9uKHQpe3JldHVybiEwPT09dGhpcy5zZXRbdF19LHQucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0
KXt0aGlzLnNldFt0XT0hMH0sdC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLnNldD1P
YmplY3QuY3JlYXRlKG51bGwpfSx0fSgpO3ZhciBibz0wLHdvPWZ1bmN0aW9uKCl7dGhpcy5pZD1i
bysrLHRoaXMuc3Vicz1bXX07d28ucHJvdG90eXBlLmFkZFN1Yj1mdW5jdGlvbih0KXt0aGlzLnN1
YnMucHVzaCh0KX0sd28ucHJvdG90eXBlLnJlbW92ZVN1Yj1mdW5jdGlvbih0KXt2KHRoaXMuc3Vi
cyx0KX0sd28ucHJvdG90eXBlLmRlcGVuZD1mdW5jdGlvbigpe3dvLnRhcmdldCYmd28udGFyZ2V0
LmFkZERlcCh0aGlzKX0sd28ucHJvdG90eXBlLm5vdGlmeT1mdW5jdGlvbigpe2Zvcih2YXIgdD10
aGlzLnN1YnMuc2xpY2UoKSxlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXRbZV0udXBkYXRlKCl9LHdv
LnRhcmdldD1udWxsO3ZhciAkbz1bXSxDbz1BcnJheS5wcm90b3R5cGUseG89T2JqZWN0LmNyZWF0
ZShDbyk7WyJwdXNoIiwicG9wIiwic2hpZnQiLCJ1bnNoaWZ0Iiwic3BsaWNlIiwic29ydCIsInJl
dmVyc2UiXS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPUNvW3RdO2soeG8sdCxmdW5jdGlvbigp
e2Zvcih2YXIgbj1bXSxyPWFyZ3VtZW50cy5sZW5ndGg7ci0tOyluW3JdPWFyZ3VtZW50c1tyXTt2
YXIgaSxvPWUuYXBwbHkodGhpcyxuKSxhPXRoaXMuX19vYl9fO3N3aXRjaCh0KXtjYXNlInB1c2gi
OmNhc2UidW5zaGlmdCI6aT1uO2JyZWFrO2Nhc2Uic3BsaWNlIjppPW4uc2xpY2UoMil9cmV0dXJu
IGkmJmEub2JzZXJ2ZUFycmF5KGkpLGEuZGVwLm5vdGlmeSgpLG99KX0pO3ZhciBBbz1PYmplY3Qu
Z2V0T3duUHJvcGVydHlOYW1lcyh4byksa289e3Nob3VsZENvbnZlcnQ6ITB9LE9vPWZ1bmN0aW9u
KHQpe2lmKHRoaXMudmFsdWU9dCx0aGlzLmRlcD1uZXcgd28sdGhpcy52bUNvdW50PTAsayh0LCJf
X29iX18iLHRoaXMpLEFycmF5LmlzQXJyYXkodCkpeyhlbz9OOkwpKHQseG8sQW8pLHRoaXMub2Jz
ZXJ2ZUFycmF5KHQpfWVsc2UgdGhpcy53YWxrKHQpfTtPby5wcm90b3R5cGUud2Fsaz1mdW5jdGlv
bih0KXtmb3IodmFyIGU9T2JqZWN0LmtleXModCksbj0wO248ZS5sZW5ndGg7bisrKUkodCxlW25d
LHRbZVtuXV0pfSxPby5wcm90b3R5cGUub2JzZXJ2ZUFycmF5PWZ1bmN0aW9uKHQpe2Zvcih2YXIg
ZT0wLG49dC5sZW5ndGg7ZTxuO2UrKylNKHRbZV0pfTt2YXIgU289WGkub3B0aW9uTWVyZ2VTdHJh
dGVnaWVzO1NvLmRhdGE9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBuP0IodCxlLG4pOmUmJiJmdW5j
dGlvbiIhPXR5cGVvZiBlP3Q6Qi5jYWxsKHRoaXMsdCxlKX0sWmkuZm9yRWFjaChmdW5jdGlvbih0
KXtTb1t0XT1VfSksR2kuZm9yRWFjaChmdW5jdGlvbih0KXtTb1t0KyJzIl09SH0pLFNvLndhdGNo
PWZ1bmN0aW9uKHQsZSl7aWYodD09PWxvJiYodD12b2lkIDApLGU9PT1sbyYmKGU9dm9pZCAwKSwh
ZSlyZXR1cm4gT2JqZWN0LmNyZWF0ZSh0fHxudWxsKTtpZighdClyZXR1cm4gZTt2YXIgbj17fTtf
KG4sdCk7Zm9yKHZhciByIGluIGUpe3ZhciBpPW5bcl0sbz1lW3JdO2kmJiFBcnJheS5pc0FycmF5
KGkpJiYoaT1baV0pLG5bcl09aT9pLmNvbmNhdChvKTpBcnJheS5pc0FycmF5KG8pP286W29dfXJl
dHVybiBufSxTby5wcm9wcz1Tby5tZXRob2RzPVNvLmluamVjdD1Tby5jb21wdXRlZD1mdW5jdGlv
bih0LGUpe2lmKCF0KXJldHVybiBlO3ZhciBuPU9iamVjdC5jcmVhdGUobnVsbCk7cmV0dXJuIF8o
bix0KSxlJiZfKG4sZSksbn0sU28ucHJvdmlkZT1CO3ZhciBUbz1mdW5jdGlvbih0LGUpe3JldHVy
biB2b2lkIDA9PT1lP3Q6ZX0sRW89ZnVuY3Rpb24odCxlLG4scixpLG8sYSxzKXt0aGlzLnRhZz10
LHRoaXMuZGF0YT1lLHRoaXMuY2hpbGRyZW49bix0aGlzLnRleHQ9cix0aGlzLmVsbT1pLHRoaXMu
bnM9dm9pZCAwLHRoaXMuY29udGV4dD1vLHRoaXMuZnVuY3Rpb25hbENvbnRleHQ9dm9pZCAwLHRo
aXMua2V5PWUmJmUua2V5LHRoaXMuY29tcG9uZW50T3B0aW9ucz1hLHRoaXMuY29tcG9uZW50SW5z
dGFuY2U9dm9pZCAwLHRoaXMucGFyZW50PXZvaWQgMCx0aGlzLnJhdz0hMSx0aGlzLmlzU3RhdGlj
PSExLHRoaXMuaXNSb290SW5zZXJ0PSEwLHRoaXMuaXNDb21tZW50PSExLHRoaXMuaXNDbG9uZWQ9
ITEsdGhpcy5pc09uY2U9ITEsdGhpcy5hc3luY0ZhY3Rvcnk9cyx0aGlzLmFzeW5jTWV0YT12b2lk
IDAsdGhpcy5pc0FzeW5jUGxhY2Vob2xkZXI9ITF9LGpvPXtjaGlsZDp7fX07am8uY2hpbGQuZ2V0
PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29tcG9uZW50SW5zdGFuY2V9LE9iamVjdC5kZWZpbmVQ
cm9wZXJ0aWVzKEVvLnByb3RvdHlwZSxqbyk7dmFyIE5vLExvPWZ1bmN0aW9uKHQpe3ZvaWQgMD09
PXQmJih0PSIiKTt2YXIgZT1uZXcgRW87cmV0dXJuIGUudGV4dD10LGUuaXNDb21tZW50PSEwLGV9
LE1vPW0oZnVuY3Rpb24odCl7dmFyIGU9IiYiPT09dC5jaGFyQXQoMCk7dD1lP3Quc2xpY2UoMSk6
dDt2YXIgbj0ifiI9PT10LmNoYXJBdCgwKTt0PW4/dC5zbGljZSgxKTp0O3ZhciByPSIhIj09PXQu
Y2hhckF0KDApO3JldHVybiB0PXI/dC5zbGljZSgxKTp0LHtuYW1lOnQsb25jZTpuLGNhcHR1cmU6
cixwYXNzaXZlOmV9fSksSW89bnVsbCxQbz1bXSxSbz1bXSxEbz17fSxGbz0hMSxCbz0hMSxVbz0w
LEhvPTAsVm89ZnVuY3Rpb24odCxlLG4scil7dGhpcy52bT10LHQuX3dhdGNoZXJzLnB1c2godGhp
cykscj8odGhpcy5kZWVwPSEhci5kZWVwLHRoaXMudXNlcj0hIXIudXNlcix0aGlzLmxhenk9ISFy
LmxhenksdGhpcy5zeW5jPSEhci5zeW5jKTp0aGlzLmRlZXA9dGhpcy51c2VyPXRoaXMubGF6eT10
aGlzLnN5bmM9ITEsdGhpcy5jYj1uLHRoaXMuaWQ9KytIbyx0aGlzLmFjdGl2ZT0hMCx0aGlzLmRp
cnR5PXRoaXMubGF6eSx0aGlzLmRlcHM9W10sdGhpcy5uZXdEZXBzPVtdLHRoaXMuZGVwSWRzPW5l
dyBobyx0aGlzLm5ld0RlcElkcz1uZXcgaG8sdGhpcy5leHByZXNzaW9uPSIiLCJmdW5jdGlvbiI9
PXR5cGVvZiBlP3RoaXMuZ2V0dGVyPWU6KHRoaXMuZ2V0dGVyPU8oZSksdGhpcy5nZXR0ZXJ8fCh0
aGlzLmdldHRlcj1mdW5jdGlvbigpe30pKSx0aGlzLnZhbHVlPXRoaXMubGF6eT92b2lkIDA6dGhp
cy5nZXQoKX07Vm8ucHJvdG90eXBlLmdldD1mdW5jdGlvbigpe0UodGhpcyk7dmFyIHQsZT10aGlz
LnZtO3RyeXt0PXRoaXMuZ2V0dGVyLmNhbGwoZSxlKX1jYXRjaCh0KXtpZighdGhpcy51c2VyKXRo
cm93IHQ7Uyh0LGUsJ2dldHRlciBmb3Igd2F0Y2hlciAiJyt0aGlzLmV4cHJlc3Npb24rJyInKX1m
aW5hbGx5e3RoaXMuZGVlcCYmTXQodCksaigpLHRoaXMuY2xlYW51cERlcHMoKX1yZXR1cm4gdH0s
Vm8ucHJvdG90eXBlLmFkZERlcD1mdW5jdGlvbih0KXt2YXIgZT10LmlkO3RoaXMubmV3RGVwSWRz
LmhhcyhlKXx8KHRoaXMubmV3RGVwSWRzLmFkZChlKSx0aGlzLm5ld0RlcHMucHVzaCh0KSx0aGlz
LmRlcElkcy5oYXMoZSl8fHQuYWRkU3ViKHRoaXMpKX0sVm8ucHJvdG90eXBlLmNsZWFudXBEZXBz
PWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMsZT10aGlzLmRlcHMubGVuZ3RoO2UtLTspe3ZhciBu
PXQuZGVwc1tlXTt0Lm5ld0RlcElkcy5oYXMobi5pZCl8fG4ucmVtb3ZlU3ViKHQpfXZhciByPXRo
aXMuZGVwSWRzO3RoaXMuZGVwSWRzPXRoaXMubmV3RGVwSWRzLHRoaXMubmV3RGVwSWRzPXIsdGhp
cy5uZXdEZXBJZHMuY2xlYXIoKSxyPXRoaXMuZGVwcyx0aGlzLmRlcHM9dGhpcy5uZXdEZXBzLHRo
aXMubmV3RGVwcz1yLHRoaXMubmV3RGVwcy5sZW5ndGg9MH0sVm8ucHJvdG90eXBlLnVwZGF0ZT1m
dW5jdGlvbigpe3RoaXMubGF6eT90aGlzLmRpcnR5PSEwOnRoaXMuc3luYz90aGlzLnJ1bigpOkx0
KHRoaXMpfSxWby5wcm90b3R5cGUucnVuPWZ1bmN0aW9uKCl7aWYodGhpcy5hY3RpdmUpe3ZhciB0
PXRoaXMuZ2V0KCk7aWYodCE9PXRoaXMudmFsdWV8fHModCl8fHRoaXMuZGVlcCl7dmFyIGU9dGhp
cy52YWx1ZTtpZih0aGlzLnZhbHVlPXQsdGhpcy51c2VyKXRyeXt0aGlzLmNiLmNhbGwodGhpcy52
bSx0LGUpfWNhdGNoKHQpe1ModCx0aGlzLnZtLCdjYWxsYmFjayBmb3Igd2F0Y2hlciAiJyt0aGlz
LmV4cHJlc3Npb24rJyInKX1lbHNlIHRoaXMuY2IuY2FsbCh0aGlzLnZtLHQsZSl9fX0sVm8ucHJv
dG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKCl7dGhpcy52YWx1ZT10aGlzLmdldCgpLHRoaXMuZGly
dHk9ITF9LFZvLnByb3RvdHlwZS5kZXBlbmQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcyxlPXRo
aXMuZGVwcy5sZW5ndGg7ZS0tOyl0LmRlcHNbZV0uZGVwZW5kKCl9LFZvLnByb3RvdHlwZS50ZWFy
ZG93bj1mdW5jdGlvbigpe3ZhciB0PXRoaXM7aWYodGhpcy5hY3RpdmUpe3RoaXMudm0uX2lzQmVp
bmdEZXN0cm95ZWR8fHYodGhpcy52bS5fd2F0Y2hlcnMsdGhpcyk7Zm9yKHZhciBlPXRoaXMuZGVw
cy5sZW5ndGg7ZS0tOyl0LmRlcHNbZV0ucmVtb3ZlU3ViKHQpO3RoaXMuYWN0aXZlPSExfX07dmFy
IHpvPW5ldyBobyxKbz17ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0Oncsc2V0Ond9
LEtvPXtsYXp5OiEwfSxxbz17aW5pdDpmdW5jdGlvbih0LGUsbixyKXtpZighdC5jb21wb25lbnRJ
bnN0YW5jZXx8dC5jb21wb25lbnRJbnN0YW5jZS5faXNEZXN0cm95ZWQpeyh0LmNvbXBvbmVudElu
c3RhbmNlPVF0KHQsSW8sbixyKSkuJG1vdW50KGU/dC5lbG06dm9pZCAwLGUpfWVsc2UgaWYodC5k
YXRhLmtlZXBBbGl2ZSl7dmFyIGk9dDtxby5wcmVwYXRjaChpLGkpfX0scHJlcGF0Y2g6ZnVuY3Rp
b24odCxlKXt2YXIgbj1lLmNvbXBvbmVudE9wdGlvbnM7Q3QoZS5jb21wb25lbnRJbnN0YW5jZT10
LmNvbXBvbmVudEluc3RhbmNlLG4ucHJvcHNEYXRhLG4ubGlzdGVuZXJzLGUsbi5jaGlsZHJlbil9
LGluc2VydDpmdW5jdGlvbih0KXt2YXIgZT10LmNvbnRleHQsbj10LmNvbXBvbmVudEluc3RhbmNl
O24uX2lzTW91bnRlZHx8KG4uX2lzTW91bnRlZD0hMCxPdChuLCJtb3VudGVkIikpLHQuZGF0YS5r
ZWVwQWxpdmUmJihlLl9pc01vdW50ZWQ/anQobik6QXQobiwhMCkpfSxkZXN0cm95OmZ1bmN0aW9u
KHQpe3ZhciBlPXQuY29tcG9uZW50SW5zdGFuY2U7ZS5faXNEZXN0cm95ZWR8fCh0LmRhdGEua2Vl
cEFsaXZlP2t0KGUsITApOmUuJGRlc3Ryb3koKSl9fSxXbz1PYmplY3Qua2V5cyhxbyksR289MSxa
bz0yLFhvPTA7IWZ1bmN0aW9uKHQpe3QucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uKHQpe3ZhciBl
PXRoaXM7ZS5fdWlkPVhvKyssZS5faXNWdWU9ITAsdCYmdC5faXNDb21wb25lbnQ/eWUoZSx0KTpl
LiRvcHRpb25zPUsoZ2UoZS5jb25zdHJ1Y3RvciksdHx8e30sZSksZS5fcmVuZGVyUHJveHk9ZSxl
Ll9zZWxmPWUsd3QoZSksdnQoZSksbWUoZSksT3QoZSwiYmVmb3JlQ3JlYXRlIiksV3QoZSksUnQo
ZSkscXQoZSksT3QoZSwiY3JlYXRlZCIpLGUuJG9wdGlvbnMuZWwmJmUuJG1vdW50KGUuJG9wdGlv
bnMuZWwpfX0od2UpLGZ1bmN0aW9uKHQpe3ZhciBlPXt9O2UuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJu
IHRoaXMuX2RhdGF9O3ZhciBuPXt9O24uZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Byb3Bz
fSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsIiRkYXRhIixlKSxPYmplY3QuZGVm
aW5lUHJvcGVydHkodC5wcm90b3R5cGUsIiRwcm9wcyIsbiksdC5wcm90b3R5cGUuJHNldD1QLHQu
cHJvdG90eXBlLiRkZWxldGU9Uix0LnByb3RvdHlwZS4kd2F0Y2g9ZnVuY3Rpb24odCxlLG4pe3Zh
ciByPXRoaXM7aWYoYyhlKSlyZXR1cm4gS3Qocix0LGUsbik7bj1ufHx7fSxuLnVzZXI9ITA7dmFy
IGk9bmV3IFZvKHIsdCxlLG4pO3JldHVybiBuLmltbWVkaWF0ZSYmZS5jYWxsKHIsaS52YWx1ZSks
ZnVuY3Rpb24oKXtpLnRlYXJkb3duKCl9fX0od2UpLGZ1bmN0aW9uKHQpe3ZhciBlPS9eaG9vazov
O3QucHJvdG90eXBlLiRvbj1mdW5jdGlvbih0LG4pe3ZhciByPXRoaXMsaT10aGlzO2lmKEFycmF5
LmlzQXJyYXkodCkpZm9yKHZhciBvPTAsYT10Lmxlbmd0aDtvPGE7bysrKXIuJG9uKHRbb10sbik7
ZWxzZShpLl9ldmVudHNbdF18fChpLl9ldmVudHNbdF09W10pKS5wdXNoKG4pLGUudGVzdCh0KSYm
KGkuX2hhc0hvb2tFdmVudD0hMCk7cmV0dXJuIGl9LHQucHJvdG90eXBlLiRvbmNlPWZ1bmN0aW9u
KHQsZSl7ZnVuY3Rpb24gbigpe3IuJG9mZih0LG4pLGUuYXBwbHkocixhcmd1bWVudHMpfXZhciBy
PXRoaXM7cmV0dXJuIG4uZm49ZSxyLiRvbih0LG4pLHJ9LHQucHJvdG90eXBlLiRvZmY9ZnVuY3Rp
b24odCxlKXt2YXIgbj10aGlzLHI9dGhpcztpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gci5f
ZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCkscjtpZihBcnJheS5pc0FycmF5KHQpKXtmb3IodmFy
IGk9MCxvPXQubGVuZ3RoO2k8bztpKyspbi4kb2ZmKHRbaV0sZSk7cmV0dXJuIHJ9dmFyIGE9ci5f
ZXZlbnRzW3RdO2lmKCFhKXJldHVybiByO2lmKDE9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBy
Ll9ldmVudHNbdF09bnVsbCxyO2Zvcih2YXIgcyxjPWEubGVuZ3RoO2MtLTspaWYoKHM9YVtjXSk9
PT1lfHxzLmZuPT09ZSl7YS5zcGxpY2UoYywxKTticmVha31yZXR1cm4gcn0sdC5wcm90b3R5cGUu
JGVtaXQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPWUuX2V2ZW50c1t0XTtpZihuKXtuPW4ubGVu
Z3RoPjE/ZyhuKTpuO2Zvcih2YXIgcj1nKGFyZ3VtZW50cywxKSxpPTAsbz1uLmxlbmd0aDtpPG87
aSsrKXRyeXtuW2ldLmFwcGx5KGUscil9Y2F0Y2gobil7UyhuLGUsJ2V2ZW50IGhhbmRsZXIgZm9y
ICInK3QrJyInKX19cmV0dXJuIGV9fSh3ZSksZnVuY3Rpb24odCl7dC5wcm90b3R5cGUuX3VwZGF0
ZT1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXM7bi5faXNNb3VudGVkJiZPdChuLCJiZWZvcmVVcGRh
dGUiKTt2YXIgcj1uLiRlbCxpPW4uX3Zub2RlLG89SW87SW89bixuLl92bm9kZT10LGk/bi4kZWw9
bi5fX3BhdGNoX18oaSx0KToobi4kZWw9bi5fX3BhdGNoX18obi4kZWwsdCxlLCExLG4uJG9wdGlv
bnMuX3BhcmVudEVsbSxuLiRvcHRpb25zLl9yZWZFbG0pLG4uJG9wdGlvbnMuX3BhcmVudEVsbT1u
LiRvcHRpb25zLl9yZWZFbG09bnVsbCksSW89byxyJiYoci5fX3Z1ZV9fPW51bGwpLG4uJGVsJiYo
bi4kZWwuX192dWVfXz1uKSxuLiR2bm9kZSYmbi4kcGFyZW50JiZuLiR2bm9kZT09PW4uJHBhcmVu
dC5fdm5vZGUmJihuLiRwYXJlbnQuJGVsPW4uJGVsKX0sdC5wcm90b3R5cGUuJGZvcmNlVXBkYXRl
PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0Ll93YXRjaGVyJiZ0Ll93YXRjaGVyLnVwZGF0ZSgpfSx0
LnByb3RvdHlwZS4kZGVzdHJveT1mdW5jdGlvbigpe3ZhciB0PXRoaXM7aWYoIXQuX2lzQmVpbmdE
ZXN0cm95ZWQpe090KHQsImJlZm9yZURlc3Ryb3kiKSx0Ll9pc0JlaW5nRGVzdHJveWVkPSEwO3Zh
ciBlPXQuJHBhcmVudDshZXx8ZS5faXNCZWluZ0Rlc3Ryb3llZHx8dC4kb3B0aW9ucy5hYnN0cmFj
dHx8dihlLiRjaGlsZHJlbix0KSx0Ll93YXRjaGVyJiZ0Ll93YXRjaGVyLnRlYXJkb3duKCk7Zm9y
KHZhciBuPXQuX3dhdGNoZXJzLmxlbmd0aDtuLS07KXQuX3dhdGNoZXJzW25dLnRlYXJkb3duKCk7
dC5fZGF0YS5fX29iX18mJnQuX2RhdGEuX19vYl9fLnZtQ291bnQtLSx0Ll9pc0Rlc3Ryb3llZD0h
MCx0Ll9fcGF0Y2hfXyh0Ll92bm9kZSxudWxsKSxPdCh0LCJkZXN0cm95ZWQiKSx0LiRvZmYoKSx0
LiRlbCYmKHQuJGVsLl9fdnVlX189bnVsbCl9fX0od2UpLGZ1bmN0aW9uKHQpe3QucHJvdG90eXBl
LiRuZXh0VGljaz1mdW5jdGlvbih0KXtyZXR1cm4gX28odCx0aGlzKX0sdC5wcm90b3R5cGUuX3Jl
bmRlcj1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRvcHRpb25zLG49ZS5yZW5kZXIscj1lLnN0
YXRpY1JlbmRlckZucyxpPWUuX3BhcmVudFZub2RlO2lmKHQuX2lzTW91bnRlZClmb3IodmFyIG8g
aW4gdC4kc2xvdHMpdC4kc2xvdHNbb109dHQodC4kc2xvdHNbb10pO3QuJHNjb3BlZFNsb3RzPWkm
JmkuZGF0YS5zY29wZWRTbG90c3x8WWksciYmIXQuX3N0YXRpY1RyZWVzJiYodC5fc3RhdGljVHJl
ZXM9W10pLHQuJHZub2RlPWk7dmFyIGE7dHJ5e2E9bi5jYWxsKHQuX3JlbmRlclByb3h5LHQuJGNy
ZWF0ZUVsZW1lbnQpfWNhdGNoKGUpe1MoZSx0LCJyZW5kZXIgZnVuY3Rpb24iKSxhPXQuX3Zub2Rl
fXJldHVybiBhIGluc3RhbmNlb2YgRW98fChhPUxvKCkpLGEucGFyZW50PWksYX0sdC5wcm90b3R5
cGUuX289cGUsdC5wcm90b3R5cGUuX249cCx0LnByb3RvdHlwZS5fcz1mLHQucHJvdG90eXBlLl9s
PWFlLHQucHJvdG90eXBlLl90PXNlLHQucHJvdG90eXBlLl9xPSQsdC5wcm90b3R5cGUuX2k9Qyx0
LnByb3RvdHlwZS5fbT1mZSx0LnByb3RvdHlwZS5fZj1jZSx0LnByb3RvdHlwZS5faz11ZSx0LnBy
b3RvdHlwZS5fYj1sZSx0LnByb3RvdHlwZS5fdj1ZLHQucHJvdG90eXBlLl9lPUxvLHQucHJvdG90
eXBlLl91PWJ0LHQucHJvdG90eXBlLl9nPWhlfSh3ZSk7dmFyIFlvPVtTdHJpbmcsUmVnRXhwLEFy
cmF5XSxRbz17bmFtZToia2VlcC1hbGl2ZSIsYWJzdHJhY3Q6ITAscHJvcHM6e2luY2x1ZGU6WW8s
ZXhjbHVkZTpZb30sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuY2FjaGU9T2JqZWN0LmNyZWF0ZShu
dWxsKX0sZGVzdHJveWVkOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztmb3IodmFyIGUgaW4gdC5jYWNo
ZSlqZSh0LmNhY2hlW2VdKX0sd2F0Y2g6e2luY2x1ZGU6ZnVuY3Rpb24odCl7RWUodGhpcy5jYWNo
ZSx0aGlzLl92bm9kZSxmdW5jdGlvbihlKXtyZXR1cm4gVGUodCxlKX0pfSxleGNsdWRlOmZ1bmN0
aW9uKHQpe0VlKHRoaXMuY2FjaGUsdGhpcy5fdm5vZGUsZnVuY3Rpb24oZSl7cmV0dXJuIVRlKHQs
ZSl9KX19LHJlbmRlcjpmdW5jdGlvbigpe3ZhciB0PWR0KHRoaXMuJHNsb3RzLmRlZmF1bHQpLGU9
dCYmdC5jb21wb25lbnRPcHRpb25zO2lmKGUpe3ZhciBuPVNlKGUpO2lmKG4mJih0aGlzLmluY2x1
ZGUmJiFUZSh0aGlzLmluY2x1ZGUsbil8fHRoaXMuZXhjbHVkZSYmVGUodGhpcy5leGNsdWRlLG4p
KSlyZXR1cm4gdDt2YXIgcj1udWxsPT10LmtleT9lLkN0b3IuY2lkKyhlLnRhZz8iOjoiK2UudGFn
OiIiKTp0LmtleTt0aGlzLmNhY2hlW3JdP3QuY29tcG9uZW50SW5zdGFuY2U9dGhpcy5jYWNoZVty
XS5jb21wb25lbnRJbnN0YW5jZTp0aGlzLmNhY2hlW3JdPXQsdC5kYXRhLmtlZXBBbGl2ZT0hMH1y
ZXR1cm4gdH19LHRhPXtLZWVwQWxpdmU6UW99OyFmdW5jdGlvbih0KXt2YXIgZT17fTtlLmdldD1m
dW5jdGlvbigpe3JldHVybiBYaX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImNvbmZpZyIsZSks
dC51dGlsPXt3YXJuOnRvLGV4dGVuZDpfLG1lcmdlT3B0aW9uczpLLGRlZmluZVJlYWN0aXZlOkl9
LHQuc2V0PVAsdC5kZWxldGU9Uix0Lm5leHRUaWNrPV9vLHQub3B0aW9ucz1PYmplY3QuY3JlYXRl
KG51bGwpLEdpLmZvckVhY2goZnVuY3Rpb24oZSl7dC5vcHRpb25zW2UrInMiXT1PYmplY3QuY3Jl
YXRlKG51bGwpfSksdC5vcHRpb25zLl9iYXNlPXQsXyh0Lm9wdGlvbnMuY29tcG9uZW50cyx0YSks
JGUodCksQ2UodCkseGUodCksT2UodCl9KHdlKSxPYmplY3QuZGVmaW5lUHJvcGVydHkod2UucHJv
dG90eXBlLCIkaXNTZXJ2ZXIiLHtnZXQ6bW99KSxPYmplY3QuZGVmaW5lUHJvcGVydHkod2UucHJv
dG90eXBlLCIkc3NyQ29udGV4dCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLiR2bm9kZSYm
dGhpcy4kdm5vZGUuc3NyQ29udGV4dH19KSx3ZS52ZXJzaW9uPSIyLjQuMiI7dmFyIGVhLG5hLHJh
LGlhLG9hLGFhLHNhLGNhLHVhLGxhPWQoInN0eWxlLGNsYXNzIiksZmE9ZCgiaW5wdXQsdGV4dGFy
ZWEsb3B0aW9uLHNlbGVjdCIpLHBhPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4idmFsdWUiPT09biYm
ZmEodCkmJiJidXR0b24iIT09ZXx8InNlbGVjdGVkIj09PW4mJiJvcHRpb24iPT09dHx8ImNoZWNr
ZWQiPT09biYmImlucHV0Ij09PXR8fCJtdXRlZCI9PT1uJiYidmlkZW8iPT09dH0sZGE9ZCgiY29u
dGVudGVkaXRhYmxlLGRyYWdnYWJsZSxzcGVsbGNoZWNrIiksdmE9ZCgiYWxsb3dmdWxsc2NyZWVu
LGFzeW5jLGF1dG9mb2N1cyxhdXRvcGxheSxjaGVja2VkLGNvbXBhY3QsY29udHJvbHMsZGVjbGFy
ZSxkZWZhdWx0LGRlZmF1bHRjaGVja2VkLGRlZmF1bHRtdXRlZCxkZWZhdWx0c2VsZWN0ZWQsZGVm
ZXIsZGlzYWJsZWQsZW5hYmxlZCxmb3Jtbm92YWxpZGF0ZSxoaWRkZW4saW5kZXRlcm1pbmF0ZSxp
bmVydCxpc21hcCxpdGVtc2NvcGUsbG9vcCxtdWx0aXBsZSxtdXRlZCxub2hyZWYsbm9yZXNpemUs
bm9zaGFkZSxub3ZhbGlkYXRlLG5vd3JhcCxvcGVuLHBhdXNlb25leGl0LHJlYWRvbmx5LHJlcXVp
cmVkLHJldmVyc2VkLHNjb3BlZCxzZWFtbGVzcyxzZWxlY3RlZCxzb3J0YWJsZSx0cmFuc2xhdGUs
dHJ1ZXNwZWVkLHR5cGVtdXN0bWF0Y2gsdmlzaWJsZSIpLGhhPSJodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hsaW5rIixtYT1mdW5jdGlvbih0KXtyZXR1cm4iOiI9PT10LmNoYXJBdCg1KSYmInhsaW5r
Ij09PXQuc2xpY2UoMCw1KX0seWE9ZnVuY3Rpb24odCl7cmV0dXJuIG1hKHQpP3Quc2xpY2UoNix0
Lmxlbmd0aCk6IiJ9LGdhPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10fHwhMT09PXR9LF9hPXtz
dmc6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixtYXRoOiJodHRwOi8vd3d3LnczLm9yZy8x
OTk4L01hdGgvTWF0aE1MIn0sYmE9ZCgiaHRtbCxib2R5LGJhc2UsaGVhZCxsaW5rLG1ldGEsc3R5
bGUsdGl0bGUsYWRkcmVzcyxhcnRpY2xlLGFzaWRlLGZvb3RlcixoZWFkZXIsaDEsaDIsaDMsaDQs
aDUsaDYsaGdyb3VwLG5hdixzZWN0aW9uLGRpdixkZCxkbCxkdCxmaWdjYXB0aW9uLGZpZ3VyZSxw
aWN0dXJlLGhyLGltZyxsaSxtYWluLG9sLHAscHJlLHVsLGEsYixhYmJyLGJkaSxiZG8sYnIsY2l0
ZSxjb2RlLGRhdGEsZGZuLGVtLGksa2JkLG1hcmsscSxycCxydCxydGMscnVieSxzLHNhbXAsc21h
bGwsc3BhbixzdHJvbmcsc3ViLHN1cCx0aW1lLHUsdmFyLHdicixhcmVhLGF1ZGlvLG1hcCx0cmFj
ayx2aWRlbyxlbWJlZCxvYmplY3QscGFyYW0sc291cmNlLGNhbnZhcyxzY3JpcHQsbm9zY3JpcHQs
ZGVsLGlucyxjYXB0aW9uLGNvbCxjb2xncm91cCx0YWJsZSx0aGVhZCx0Ym9keSx0ZCx0aCx0cixi
dXR0b24sZGF0YWxpc3QsZmllbGRzZXQsZm9ybSxpbnB1dCxsYWJlbCxsZWdlbmQsbWV0ZXIsb3B0
Z3JvdXAsb3B0aW9uLG91dHB1dCxwcm9ncmVzcyxzZWxlY3QsdGV4dGFyZWEsZGV0YWlscyxkaWFs
b2csbWVudSxtZW51aXRlbSxzdW1tYXJ5LGNvbnRlbnQsZWxlbWVudCxzaGFkb3csdGVtcGxhdGUs
YmxvY2txdW90ZSxpZnJhbWUsdGZvb3QiKSx3YT1kKCJzdmcsYW5pbWF0ZSxjaXJjbGUsY2xpcHBh
dGgsY3Vyc29yLGRlZnMsZGVzYyxlbGxpcHNlLGZpbHRlcixmb250LWZhY2UsZm9yZWlnbk9iamVj
dCxnLGdseXBoLGltYWdlLGxpbmUsbWFya2VyLG1hc2ssbWlzc2luZy1nbHlwaCxwYXRoLHBhdHRl
cm4scG9seWdvbixwb2x5bGluZSxyZWN0LHN3aXRjaCxzeW1ib2wsdGV4dCx0ZXh0cGF0aCx0c3Bh
bix1c2UsdmlldyIsITApLCRhPWZ1bmN0aW9uKHQpe3JldHVybiJwcmUiPT09dH0sQ2E9ZnVuY3Rp
b24odCl7cmV0dXJuIGJhKHQpfHx3YSh0KX0seGE9T2JqZWN0LmNyZWF0ZShudWxsKSxBYT1PYmpl
Y3QuZnJlZXplKHtjcmVhdGVFbGVtZW50OkhlLGNyZWF0ZUVsZW1lbnROUzpWZSxjcmVhdGVUZXh0
Tm9kZTp6ZSxjcmVhdGVDb21tZW50OkplLGluc2VydEJlZm9yZTpLZSxyZW1vdmVDaGlsZDpxZSxh
cHBlbmRDaGlsZDpXZSxwYXJlbnROb2RlOkdlLG5leHRTaWJsaW5nOlplLHRhZ05hbWU6WGUsc2V0
VGV4dENvbnRlbnQ6WWUsc2V0QXR0cmlidXRlOlFlfSksa2E9e2NyZWF0ZTpmdW5jdGlvbih0LGUp
e3RuKGUpfSx1cGRhdGU6ZnVuY3Rpb24odCxlKXt0LmRhdGEucmVmIT09ZS5kYXRhLnJlZiYmKHRu
KHQsITApLHRuKGUpKX0sZGVzdHJveTpmdW5jdGlvbih0KXt0bih0LCEwKX19LE9hPW5ldyBFbygi
Iix7fSxbXSksU2E9WyJjcmVhdGUiLCJhY3RpdmF0ZSIsInVwZGF0ZSIsInJlbW92ZSIsImRlc3Ry
b3kiXSxUYT17Y3JlYXRlOm9uLHVwZGF0ZTpvbixkZXN0cm95OmZ1bmN0aW9uKHQpe29uKHQsT2Ep
fX0sRWE9T2JqZWN0LmNyZWF0ZShudWxsKSxqYT1ba2EsVGFdLE5hPXtjcmVhdGU6bG4sdXBkYXRl
OmxufSxMYT17Y3JlYXRlOnBuLHVwZGF0ZTpwbn0sTWE9L1tcdykuK1wtXyRcXV0vLElhPSJfX3Ii
LFBhPSJfX2MiLFJhPXtjcmVhdGU6Rm4sdXBkYXRlOkZufSxEYT17Y3JlYXRlOkJuLHVwZGF0ZTpC
bn0sRmE9bShmdW5jdGlvbih0KXt2YXIgZT17fSxuPS87KD8hW14oXSpcKSkvZyxyPS86KC4rKS87
cmV0dXJuIHQuc3BsaXQobikuZm9yRWFjaChmdW5jdGlvbih0KXtpZih0KXt2YXIgbj10LnNwbGl0
KHIpO24ubGVuZ3RoPjEmJihlW25bMF0udHJpbSgpXT1uWzFdLnRyaW0oKSl9fSksZX0pLEJhPS9e
LS0vLFVhPS9ccyohaW1wb3J0YW50JC8sSGE9ZnVuY3Rpb24odCxlLG4pe2lmKEJhLnRlc3QoZSkp
dC5zdHlsZS5zZXRQcm9wZXJ0eShlLG4pO2Vsc2UgaWYoVWEudGVzdChuKSl0LnN0eWxlLnNldFBy
b3BlcnR5KGUsbi5yZXBsYWNlKFVhLCIiKSwiaW1wb3J0YW50Iik7ZWxzZXt2YXIgcj16YShlKTtp
ZihBcnJheS5pc0FycmF5KG4pKWZvcih2YXIgaT0wLG89bi5sZW5ndGg7aTxvO2krKyl0LnN0eWxl
W3JdPW5baV07ZWxzZSB0LnN0eWxlW3JdPW59fSxWYT1bIldlYmtpdCIsIk1veiIsIm1zIl0semE9
bShmdW5jdGlvbih0KXtpZih1YT11YXx8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iikuc3R5
bGUsImZpbHRlciIhPT0odD1IaSh0KSkmJnQgaW4gdWEpcmV0dXJuIHQ7Zm9yKHZhciBlPXQuY2hh
ckF0KDApLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKSxuPTA7bjxWYS5sZW5ndGg7bisrKXt2YXIg
cj1WYVtuXStlO2lmKHIgaW4gdWEpcmV0dXJuIHJ9fSksSmE9e2NyZWF0ZTpxbix1cGRhdGU6cW59
LEthPW0oZnVuY3Rpb24odCl7cmV0dXJue2VudGVyQ2xhc3M6dCsiLWVudGVyIixlbnRlclRvQ2xh
c3M6dCsiLWVudGVyLXRvIixlbnRlckFjdGl2ZUNsYXNzOnQrIi1lbnRlci1hY3RpdmUiLGxlYXZl
Q2xhc3M6dCsiLWxlYXZlIixsZWF2ZVRvQ2xhc3M6dCsiLWxlYXZlLXRvIixsZWF2ZUFjdGl2ZUNs
YXNzOnQrIi1sZWF2ZS1hY3RpdmUifX0pLHFhPW5vJiYhb28sV2E9InRyYW5zaXRpb24iLEdhPSJh
bmltYXRpb24iLFphPSJ0cmFuc2l0aW9uIixYYT0idHJhbnNpdGlvbmVuZCIsWWE9ImFuaW1hdGlv
biIsUWE9ImFuaW1hdGlvbmVuZCI7cWEmJih2b2lkIDA9PT13aW5kb3cub250cmFuc2l0aW9uZW5k
JiZ2b2lkIDAhPT13aW5kb3cub253ZWJraXR0cmFuc2l0aW9uZW5kJiYoWmE9IldlYmtpdFRyYW5z
aXRpb24iLFhhPSJ3ZWJraXRUcmFuc2l0aW9uRW5kIiksdm9pZCAwPT09d2luZG93Lm9uYW5pbWF0
aW9uZW5kJiZ2b2lkIDAhPT13aW5kb3cub253ZWJraXRhbmltYXRpb25lbmQmJihZYT0iV2Via2l0
QW5pbWF0aW9uIixRYT0id2Via2l0QW5pbWF0aW9uRW5kIikpO3ZhciB0cz1ubyYmd2luZG93LnJl
cXVlc3RBbmltYXRpb25GcmFtZT93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lLmJpbmQod2lu
ZG93KTpzZXRUaW1lb3V0LGVzPS9cYih0cmFuc2Zvcm18YWxsKSgsfCQpLyxucz1ubz97Y3JlYXRl
OmNyLGFjdGl2YXRlOmNyLHJlbW92ZTpmdW5jdGlvbih0LGUpeyEwIT09dC5kYXRhLnNob3c/b3Io
dCxlKTplKCl9fTp7fSxycz1bTmEsTGEsUmEsRGEsSmEsbnNdLGlzPXJzLmNvbmNhdChqYSksb3M9
ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gbmV3IEVvKEUudGFnTmFtZSh0KS50b0xv
d2VyQ2FzZSgpLHt9LFtdLHZvaWQgMCx0KX1mdW5jdGlvbiBvKHQsZSl7ZnVuY3Rpb24gbigpezA9
PS0tbi5saXN0ZW5lcnMmJnModCl9cmV0dXJuIG4ubGlzdGVuZXJzPWUsbn1mdW5jdGlvbiBzKHQp
e3ZhciBlPUUucGFyZW50Tm9kZSh0KTtyKGUpJiZFLnJlbW92ZUNoaWxkKGUsdCl9ZnVuY3Rpb24g
Yyh0LGUsbixvLGEpe2lmKHQuaXNSb290SW5zZXJ0PSFhLCF1KHQsZSxuLG8pKXt2YXIgcz10LmRh
dGEsYz10LmNoaWxkcmVuLGw9dC50YWc7cihsKT8odC5lbG09dC5ucz9FLmNyZWF0ZUVsZW1lbnRO
Uyh0Lm5zLGwpOkUuY3JlYXRlRWxlbWVudChsLHQpLHkodCksdih0LGMsZSkscihzKSYmbSh0LGUp
LHAobix0LmVsbSxvKSk6aSh0LmlzQ29tbWVudCk/KHQuZWxtPUUuY3JlYXRlQ29tbWVudCh0LnRl
eHQpLHAobix0LmVsbSxvKSk6KHQuZWxtPUUuY3JlYXRlVGV4dE5vZGUodC50ZXh0KSxwKG4sdC5l
bG0sbykpfX1mdW5jdGlvbiB1KHQsZSxuLG8pe3ZhciBhPXQuZGF0YTtpZihyKGEpKXt2YXIgcz1y
KHQuY29tcG9uZW50SW5zdGFuY2UpJiZhLmtlZXBBbGl2ZTtpZihyKGE9YS5ob29rKSYmcihhPWEu
aW5pdCkmJmEodCwhMSxuLG8pLHIodC5jb21wb25lbnRJbnN0YW5jZSkpcmV0dXJuIGwodCxlKSxp
KHMpJiZmKHQsZSxuLG8pLCEwfX1mdW5jdGlvbiBsKHQsZSl7cih0LmRhdGEucGVuZGluZ0luc2Vy
dCkmJihlLnB1c2guYXBwbHkoZSx0LmRhdGEucGVuZGluZ0luc2VydCksdC5kYXRhLnBlbmRpbmdJ
bnNlcnQ9bnVsbCksdC5lbG09dC5jb21wb25lbnRJbnN0YW5jZS4kZWwsaCh0KT8obSh0LGUpLHko
dCkpOih0bih0KSxlLnB1c2godCkpfWZ1bmN0aW9uIGYodCxlLG4saSl7Zm9yKHZhciBvLGE9dDth
LmNvbXBvbmVudEluc3RhbmNlOylpZihhPWEuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlLHIobz1h
LmRhdGEpJiZyKG89by50cmFuc2l0aW9uKSl7Zm9yKG89MDtvPFMuYWN0aXZhdGUubGVuZ3RoOysr
bylTLmFjdGl2YXRlW29dKE9hLGEpO2UucHVzaChhKTticmVha31wKG4sdC5lbG0saSl9ZnVuY3Rp
b24gcCh0LGUsbil7cih0KSYmKHIobik/bi5wYXJlbnROb2RlPT09dCYmRS5pbnNlcnRCZWZvcmUo
dCxlLG4pOkUuYXBwZW5kQ2hpbGQodCxlKSl9ZnVuY3Rpb24gdih0LGUsbil7aWYoQXJyYXkuaXNB
cnJheShlKSlmb3IodmFyIHI9MDtyPGUubGVuZ3RoOysrciljKGVbcl0sbix0LmVsbSxudWxsLCEw
KTtlbHNlIGEodC50ZXh0KSYmRS5hcHBlbmRDaGlsZCh0LmVsbSxFLmNyZWF0ZVRleHROb2RlKHQu
dGV4dCkpfWZ1bmN0aW9uIGgodCl7Zm9yKDt0LmNvbXBvbmVudEluc3RhbmNlOyl0PXQuY29tcG9u
ZW50SW5zdGFuY2UuX3Zub2RlO3JldHVybiByKHQudGFnKX1mdW5jdGlvbiBtKHQsZSl7Zm9yKHZh
ciBuPTA7bjxTLmNyZWF0ZS5sZW5ndGg7KytuKVMuY3JlYXRlW25dKE9hLHQpO2s9dC5kYXRhLmhv
b2sscihrKSYmKHIoay5jcmVhdGUpJiZrLmNyZWF0ZShPYSx0KSxyKGsuaW5zZXJ0KSYmZS5wdXNo
KHQpKX1mdW5jdGlvbiB5KHQpe2Zvcih2YXIgZSxuPXQ7bjspcihlPW4uY29udGV4dCkmJnIoZT1l
LiRvcHRpb25zLl9zY29wZUlkKSYmRS5zZXRBdHRyaWJ1dGUodC5lbG0sZSwiIiksbj1uLnBhcmVu
dDtyKGU9SW8pJiZlIT09dC5jb250ZXh0JiZyKGU9ZS4kb3B0aW9ucy5fc2NvcGVJZCkmJkUuc2V0
QXR0cmlidXRlKHQuZWxtLGUsIiIpfWZ1bmN0aW9uIGcodCxlLG4scixpLG8pe2Zvcig7cjw9aTsr
K3IpYyhuW3JdLG8sdCxlKX1mdW5jdGlvbiBfKHQpe3ZhciBlLG4saT10LmRhdGE7aWYocihpKSlm
b3IocihlPWkuaG9vaykmJnIoZT1lLmRlc3Ryb3kpJiZlKHQpLGU9MDtlPFMuZGVzdHJveS5sZW5n
dGg7KytlKVMuZGVzdHJveVtlXSh0KTtpZihyKGU9dC5jaGlsZHJlbikpZm9yKG49MDtuPHQuY2hp
bGRyZW4ubGVuZ3RoOysrbilfKHQuY2hpbGRyZW5bbl0pfWZ1bmN0aW9uIGIodCxlLG4saSl7Zm9y
KDtuPD1pOysrbil7dmFyIG89ZVtuXTtyKG8pJiYocihvLnRhZyk/KHcobyksXyhvKSk6cyhvLmVs
bSkpfX1mdW5jdGlvbiB3KHQsZSl7aWYocihlKXx8cih0LmRhdGEpKXt2YXIgbixpPVMucmVtb3Zl
Lmxlbmd0aCsxO2ZvcihyKGUpP2UubGlzdGVuZXJzKz1pOmU9byh0LmVsbSxpKSxyKG49dC5jb21w
b25lbnRJbnN0YW5jZSkmJnIobj1uLl92bm9kZSkmJnIobi5kYXRhKSYmdyhuLGUpLG49MDtuPFMu
cmVtb3ZlLmxlbmd0aDsrK24pUy5yZW1vdmVbbl0odCxlKTtyKG49dC5kYXRhLmhvb2spJiZyKG49
bi5yZW1vdmUpP24odCxlKTplKCl9ZWxzZSBzKHQuZWxtKX1mdW5jdGlvbiAkKHQsZSxpLG8sYSl7
Zm9yKHZhciBzLHUsbCxmLHA9MCxkPTAsdj1lLmxlbmd0aC0xLGg9ZVswXSxtPWVbdl0seT1pLmxl
bmd0aC0xLF89aVswXSx3PWlbeV0sJD0hYTtwPD12JiZkPD15OyluKGgpP2g9ZVsrK3BdOm4obSk/
bT1lWy0tdl06ZW4oaCxfKT8oQyhoLF8sbyksaD1lWysrcF0sXz1pWysrZF0pOmVuKG0sdyk/KEMo
bSx3LG8pLG09ZVstLXZdLHc9aVstLXldKTplbihoLHcpPyhDKGgsdyxvKSwkJiZFLmluc2VydEJl
Zm9yZSh0LGguZWxtLEUubmV4dFNpYmxpbmcobS5lbG0pKSxoPWVbKytwXSx3PWlbLS15XSk6ZW4o
bSxfKT8oQyhtLF8sbyksJCYmRS5pbnNlcnRCZWZvcmUodCxtLmVsbSxoLmVsbSksbT1lWy0tdl0s
Xz1pWysrZF0pOihuKHMpJiYocz1ybihlLHAsdikpLHU9cihfLmtleSk/c1tfLmtleV06bnVsbCxu
KHUpPyhjKF8sbyx0LGguZWxtKSxfPWlbKytkXSk6KGw9ZVt1XSxlbihsLF8pPyhDKGwsXyxvKSxl
W3VdPXZvaWQgMCwkJiZFLmluc2VydEJlZm9yZSh0LGwuZWxtLGguZWxtKSxfPWlbKytkXSk6KGMo
XyxvLHQsaC5lbG0pLF89aVsrK2RdKSkpO3A+dj8oZj1uKGlbeSsxXSk/bnVsbDppW3krMV0uZWxt
LGcodCxmLGksZCx5LG8pKTpkPnkmJmIodCxlLHAsdil9ZnVuY3Rpb24gQyh0LGUsbyxhKXtpZih0
IT09ZSl7dmFyIHM9ZS5lbG09dC5lbG07aWYoaSh0LmlzQXN5bmNQbGFjZWhvbGRlcikpcmV0dXJu
IHZvaWQocihlLmFzeW5jRmFjdG9yeS5yZXNvbHZlZCk/QSh0LmVsbSxlLG8pOmUuaXNBc3luY1Bs
YWNlaG9sZGVyPSEwKTtpZihpKGUuaXNTdGF0aWMpJiZpKHQuaXNTdGF0aWMpJiZlLmtleT09PXQu
a2V5JiYoaShlLmlzQ2xvbmVkKXx8aShlLmlzT25jZSkpKXJldHVybiB2b2lkKGUuY29tcG9uZW50
SW5zdGFuY2U9dC5jb21wb25lbnRJbnN0YW5jZSk7dmFyIGMsdT1lLmRhdGE7cih1KSYmcihjPXUu
aG9vaykmJnIoYz1jLnByZXBhdGNoKSYmYyh0LGUpO3ZhciBsPXQuY2hpbGRyZW4sZj1lLmNoaWxk
cmVuO2lmKHIodSkmJmgoZSkpe2ZvcihjPTA7YzxTLnVwZGF0ZS5sZW5ndGg7KytjKVMudXBkYXRl
W2NdKHQsZSk7cihjPXUuaG9vaykmJnIoYz1jLnVwZGF0ZSkmJmModCxlKX1uKGUudGV4dCk/cihs
KSYmcihmKT9sIT09ZiYmJChzLGwsZixvLGEpOnIoZik/KHIodC50ZXh0KSYmRS5zZXRUZXh0Q29u
dGVudChzLCIiKSxnKHMsbnVsbCxmLDAsZi5sZW5ndGgtMSxvKSk6cihsKT9iKHMsbCwwLGwubGVu
Z3RoLTEpOnIodC50ZXh0KSYmRS5zZXRUZXh0Q29udGVudChzLCIiKTp0LnRleHQhPT1lLnRleHQm
JkUuc2V0VGV4dENvbnRlbnQocyxlLnRleHQpLHIodSkmJnIoYz11Lmhvb2spJiZyKGM9Yy5wb3N0
cGF0Y2gpJiZjKHQsZSl9fWZ1bmN0aW9uIHgodCxlLG4pe2lmKGkobikmJnIodC5wYXJlbnQpKXQu
cGFyZW50LmRhdGEucGVuZGluZ0luc2VydD1lO2Vsc2UgZm9yKHZhciBvPTA7bzxlLmxlbmd0aDsr
K28pZVtvXS5kYXRhLmhvb2suaW5zZXJ0KGVbb10pfWZ1bmN0aW9uIEEodCxlLG4pe2lmKGkoZS5p
c0NvbW1lbnQpJiZyKGUuYXN5bmNGYWN0b3J5KSlyZXR1cm4gZS5lbG09dCxlLmlzQXN5bmNQbGFj
ZWhvbGRlcj0hMCwhMDtlLmVsbT10O3ZhciBvPWUudGFnLGE9ZS5kYXRhLHM9ZS5jaGlsZHJlbjtp
ZihyKGEpJiYocihrPWEuaG9vaykmJnIoaz1rLmluaXQpJiZrKGUsITApLHIoaz1lLmNvbXBvbmVu
dEluc3RhbmNlKSkpcmV0dXJuIGwoZSxuKSwhMDtpZihyKG8pKXtpZihyKHMpKWlmKHQuaGFzQ2hp
bGROb2RlcygpKXtmb3IodmFyIGM9ITAsdT10LmZpcnN0Q2hpbGQsZj0wO2Y8cy5sZW5ndGg7Zisr
KXtpZighdXx8IUEodSxzW2ZdLG4pKXtjPSExO2JyZWFrfXU9dS5uZXh0U2libGluZ31pZighY3x8
dSlyZXR1cm4hMX1lbHNlIHYoZSxzLG4pO2lmKHIoYSkpZm9yKHZhciBwIGluIGEpaWYoIWoocCkp
e20oZSxuKTticmVha319ZWxzZSB0LmRhdGEhPT1lLnRleHQmJih0LmRhdGE9ZS50ZXh0KTtyZXR1
cm4hMH12YXIgayxPLFM9e30sVD10Lm1vZHVsZXMsRT10Lm5vZGVPcHM7Zm9yKGs9MDtrPFNhLmxl
bmd0aDsrK2spZm9yKFNbU2Fba11dPVtdLE89MDtPPFQubGVuZ3RoOysrTylyKFRbT11bU2Fba11d
KSYmU1tTYVtrXV0ucHVzaChUW09dW1NhW2tdXSk7dmFyIGo9ZCgiYXR0cnMsc3R5bGUsY2xhc3Ms
c3RhdGljQ2xhc3Msc3RhdGljU3R5bGUsa2V5Iik7cmV0dXJuIGZ1bmN0aW9uKHQsbyxhLHMsdSxs
KXtpZihuKG8pKXJldHVybiB2b2lkKHIodCkmJl8odCkpO3ZhciBmPSExLHA9W107aWYobih0KSlm
PSEwLGMobyxwLHUsbCk7ZWxzZXt2YXIgZD1yKHQubm9kZVR5cGUpO2lmKCFkJiZlbih0LG8pKUMo
dCxvLHAscyk7ZWxzZXtpZihkKXtpZigxPT09dC5ub2RlVHlwZSYmdC5oYXNBdHRyaWJ1dGUoV2kp
JiYodC5yZW1vdmVBdHRyaWJ1dGUoV2kpLGE9ITApLGkoYSkmJkEodCxvLHApKXJldHVybiB4KG8s
cCwhMCksdDt0PWUodCl9dmFyIHY9dC5lbG0sbT1FLnBhcmVudE5vZGUodik7aWYoYyhvLHAsdi5f
bGVhdmVDYj9udWxsOm0sRS5uZXh0U2libGluZyh2KSkscihvLnBhcmVudCkpe2Zvcih2YXIgeT1v
LnBhcmVudDt5Oyl5LmVsbT1vLmVsbSx5PXkucGFyZW50O2lmKGgobykpZm9yKHZhciBnPTA7ZzxT
LmNyZWF0ZS5sZW5ndGg7KytnKVMuY3JlYXRlW2ddKE9hLG8ucGFyZW50KX1yKG0pP2IobSxbdF0s
MCwwKTpyKHQudGFnKSYmXyh0KX19cmV0dXJuIHgobyxwLGYpLG8uZWxtfX0oe25vZGVPcHM6QWEs
bW9kdWxlczppc30pLGFzPWQoInRleHQsbnVtYmVyLHBhc3N3b3JkLHNlYXJjaCxlbWFpbCx0ZWws
dXJsIik7b28mJmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsZnVu
Y3Rpb24oKXt2YXIgdD1kb2N1bWVudC5hY3RpdmVFbGVtZW50O3QmJnQudm1vZGVsJiZkcih0LCJp
bnB1dCIpfSk7dmFyIHNzPXtpbnNlcnRlZDpmdW5jdGlvbih0LGUsbil7aWYoInNlbGVjdCI9PT1u
LnRhZyl7dmFyIHI9ZnVuY3Rpb24oKXt1cih0LGUsbi5jb250ZXh0KX07cigpLChpb3x8YW8pJiZz
ZXRUaW1lb3V0KHIsMCksdC5fdk9wdGlvbnM9W10ubWFwLmNhbGwodC5vcHRpb25zLGxyKX1lbHNl
KCJ0ZXh0YXJlYSI9PT1uLnRhZ3x8YXModC50eXBlKSkmJih0Ll92TW9kaWZpZXJzPWUubW9kaWZp
ZXJzLGUubW9kaWZpZXJzLmxhenl8fCh0LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIscHIpLHNv
fHwodC5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbnN0YXJ0IixmciksdC5hZGRFdmVudExp
c3RlbmVyKCJjb21wb3NpdGlvbmVuZCIscHIpKSxvbyYmKHQudm1vZGVsPSEwKSkpfSxjb21wb25l
bnRVcGRhdGVkOmZ1bmN0aW9uKHQsZSxuKXtpZigic2VsZWN0Ij09PW4udGFnKXt1cih0LGUsbi5j
b250ZXh0KTt2YXIgcj10Ll92T3B0aW9uczsodC5fdk9wdGlvbnM9W10ubWFwLmNhbGwodC5vcHRp
b25zLGxyKSkuc29tZShmdW5jdGlvbih0LGUpe3JldHVybiEkKHQscltlXSl9KSYmZHIodCwiY2hh
bmdlIil9fX0sY3M9e2JpbmQ6ZnVuY3Rpb24odCxlLG4pe3ZhciByPWUudmFsdWU7bj12cihuKTt2
YXIgaT1uLmRhdGEmJm4uZGF0YS50cmFuc2l0aW9uLG89dC5fX3ZPcmlnaW5hbERpc3BsYXk9Im5v
bmUiPT09dC5zdHlsZS5kaXNwbGF5PyIiOnQuc3R5bGUuZGlzcGxheTtyJiZpPyhuLmRhdGEuc2hv
dz0hMCxpcihuLGZ1bmN0aW9uKCl7dC5zdHlsZS5kaXNwbGF5PW99KSk6dC5zdHlsZS5kaXNwbGF5
PXI/bzoibm9uZSJ9LHVwZGF0ZTpmdW5jdGlvbih0LGUsbil7dmFyIHI9ZS52YWx1ZTtyIT09ZS5v
bGRWYWx1ZSYmKG49dnIobiksbi5kYXRhJiZuLmRhdGEudHJhbnNpdGlvbj8obi5kYXRhLnNob3c9
ITAscj9pcihuLGZ1bmN0aW9uKCl7dC5zdHlsZS5kaXNwbGF5PXQuX192T3JpZ2luYWxEaXNwbGF5
fSk6b3IobixmdW5jdGlvbigpe3Quc3R5bGUuZGlzcGxheT0ibm9uZSJ9KSk6dC5zdHlsZS5kaXNw
bGF5PXI/dC5fX3ZPcmlnaW5hbERpc3BsYXk6Im5vbmUiKX0sdW5iaW5kOmZ1bmN0aW9uKHQsZSxu
LHIsaSl7aXx8KHQuc3R5bGUuZGlzcGxheT10Ll9fdk9yaWdpbmFsRGlzcGxheSl9fSx1cz17bW9k
ZWw6c3Msc2hvdzpjc30sbHM9e25hbWU6U3RyaW5nLGFwcGVhcjpCb29sZWFuLGNzczpCb29sZWFu
LG1vZGU6U3RyaW5nLHR5cGU6U3RyaW5nLGVudGVyQ2xhc3M6U3RyaW5nLGxlYXZlQ2xhc3M6U3Ry
aW5nLGVudGVyVG9DbGFzczpTdHJpbmcsbGVhdmVUb0NsYXNzOlN0cmluZyxlbnRlckFjdGl2ZUNs
YXNzOlN0cmluZyxsZWF2ZUFjdGl2ZUNsYXNzOlN0cmluZyxhcHBlYXJDbGFzczpTdHJpbmcsYXBw
ZWFyQWN0aXZlQ2xhc3M6U3RyaW5nLGFwcGVhclRvQ2xhc3M6U3RyaW5nLGR1cmF0aW9uOltOdW1i
ZXIsU3RyaW5nLE9iamVjdF19LGZzPXtuYW1lOiJ0cmFuc2l0aW9uIixwcm9wczpscyxhYnN0cmFj
dDohMCxyZW5kZXI6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPXRoaXMuJG9wdGlvbnMuX3JlbmRl
ckNoaWxkcmVuO2lmKG4mJihuPW4uZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRhZ3x8YnIo
dCl9KSxuLmxlbmd0aCkpe3ZhciByPXRoaXMubW9kZSxpPW5bMF07aWYoZ3IodGhpcy4kdm5vZGUp
KXJldHVybiBpO3ZhciBvPWhyKGkpO2lmKCFvKXJldHVybiBpO2lmKHRoaXMuX2xlYXZpbmcpcmV0
dXJuIHlyKHQsaSk7dmFyIHM9Il9fdHJhbnNpdGlvbi0iK3RoaXMuX3VpZCsiLSI7by5rZXk9bnVs
bD09by5rZXk/by5pc0NvbW1lbnQ/cysiY29tbWVudCI6cytvLnRhZzphKG8ua2V5KT8wPT09U3Ry
aW5nKG8ua2V5KS5pbmRleE9mKHMpP28ua2V5OnMrby5rZXk6by5rZXk7dmFyIGM9KG8uZGF0YXx8
KG8uZGF0YT17fSkpLnRyYW5zaXRpb249bXIodGhpcyksdT10aGlzLl92bm9kZSxsPWhyKHUpO2lm
KG8uZGF0YS5kaXJlY3RpdmVzJiZvLmRhdGEuZGlyZWN0aXZlcy5zb21lKGZ1bmN0aW9uKHQpe3Jl
dHVybiJzaG93Ij09PXQubmFtZX0pJiYoby5kYXRhLnNob3c9ITApLGwmJmwuZGF0YSYmIV9yKG8s
bCkmJiFicihsKSl7dmFyIGY9bCYmKGwuZGF0YS50cmFuc2l0aW9uPV8oe30sYykpO2lmKCJvdXQt
aW4iPT09cilyZXR1cm4gdGhpcy5fbGVhdmluZz0hMCxydChmLCJhZnRlckxlYXZlIixmdW5jdGlv
bigpe2UuX2xlYXZpbmc9ITEsZS4kZm9yY2VVcGRhdGUoKX0pLHlyKHQsaSk7aWYoImluLW91dCI9
PT1yKXtpZihicihvKSlyZXR1cm4gdTt2YXIgcCxkPWZ1bmN0aW9uKCl7cCgpfTtydChjLCJhZnRl
ckVudGVyIixkKSxydChjLCJlbnRlckNhbmNlbGxlZCIsZCkscnQoZiwiZGVsYXlMZWF2ZSIsZnVu
Y3Rpb24odCl7cD10fSl9fXJldHVybiBpfX19LHBzPV8oe3RhZzpTdHJpbmcsbW92ZUNsYXNzOlN0
cmluZ30sbHMpO2RlbGV0ZSBwcy5tb2RlO3ZhciBkcz17cHJvcHM6cHMscmVuZGVyOmZ1bmN0aW9u
KHQpe2Zvcih2YXIgZT10aGlzLnRhZ3x8dGhpcy4kdm5vZGUuZGF0YS50YWd8fCJzcGFuIixuPU9i
amVjdC5jcmVhdGUobnVsbCkscj10aGlzLnByZXZDaGlsZHJlbj10aGlzLmNoaWxkcmVuLGk9dGhp
cy4kc2xvdHMuZGVmYXVsdHx8W10sbz10aGlzLmNoaWxkcmVuPVtdLGE9bXIodGhpcykscz0wO3M8
aS5sZW5ndGg7cysrKXt2YXIgYz1pW3NdO2lmKGMudGFnKWlmKG51bGwhPWMua2V5JiYwIT09U3Ry
aW5nKGMua2V5KS5pbmRleE9mKCJfX3ZsaXN0Iikpby5wdXNoKGMpLG5bYy5rZXldPWMsKGMuZGF0
YXx8KGMuZGF0YT17fSkpLnRyYW5zaXRpb249YTtlbHNlO31pZihyKXtmb3IodmFyIHU9W10sbD1b
XSxmPTA7ZjxyLmxlbmd0aDtmKyspe3ZhciBwPXJbZl07cC5kYXRhLnRyYW5zaXRpb249YSxwLmRh
dGEucG9zPXAuZWxtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG5bcC5rZXldP3UucHVzaChwKTps
LnB1c2gocCl9dGhpcy5rZXB0PXQoZSxudWxsLHUpLHRoaXMucmVtb3ZlZD1sfXJldHVybiB0KGUs
bnVsbCxvKX0sYmVmb3JlVXBkYXRlOmZ1bmN0aW9uKCl7dGhpcy5fX3BhdGNoX18odGhpcy5fdm5v
ZGUsdGhpcy5rZXB0LCExLCEwKSx0aGlzLl92bm9kZT10aGlzLmtlcHR9LHVwZGF0ZWQ6ZnVuY3Rp
b24oKXt2YXIgdD10aGlzLnByZXZDaGlsZHJlbixlPXRoaXMubW92ZUNsYXNzfHwodGhpcy5uYW1l
fHwidiIpKyItbW92ZSI7aWYodC5sZW5ndGgmJnRoaXMuaGFzTW92ZSh0WzBdLmVsbSxlKSl7dC5m
b3JFYWNoKHdyKSx0LmZvckVhY2goJHIpLHQuZm9yRWFjaChDcik7dmFyIG49ZG9jdW1lbnQuYm9k
eTtuLm9mZnNldEhlaWdodDt0LmZvckVhY2goZnVuY3Rpb24odCl7aWYodC5kYXRhLm1vdmVkKXt2
YXIgbj10LmVsbSxyPW4uc3R5bGU7WW4obixlKSxyLnRyYW5zZm9ybT1yLldlYmtpdFRyYW5zZm9y
bT1yLnRyYW5zaXRpb25EdXJhdGlvbj0iIixuLmFkZEV2ZW50TGlzdGVuZXIoWGEsbi5fbW92ZUNi
PWZ1bmN0aW9uIHQocil7ciYmIS90cmFuc2Zvcm0kLy50ZXN0KHIucHJvcGVydHlOYW1lKXx8KG4u
cmVtb3ZlRXZlbnRMaXN0ZW5lcihYYSx0KSxuLl9tb3ZlQ2I9bnVsbCxRbihuLGUpKX0pfX0pfX0s
bWV0aG9kczp7aGFzTW92ZTpmdW5jdGlvbih0LGUpe2lmKCFxYSlyZXR1cm4hMTtpZih0aGlzLl9o
YXNNb3ZlKXJldHVybiB0aGlzLl9oYXNNb3ZlO3ZhciBuPXQuY2xvbmVOb2RlKCk7dC5fdHJhbnNp
dGlvbkNsYXNzZXMmJnQuX3RyYW5zaXRpb25DbGFzc2VzLmZvckVhY2goZnVuY3Rpb24odCl7R24o
bix0KX0pLFduKG4sZSksbi5zdHlsZS5kaXNwbGF5PSJub25lIix0aGlzLiRlbC5hcHBlbmRDaGls
ZChuKTt2YXIgcj1lcihuKTtyZXR1cm4gdGhpcy4kZWwucmVtb3ZlQ2hpbGQobiksdGhpcy5faGFz
TW92ZT1yLmhhc1RyYW5zZm9ybX19fSx2cz17VHJhbnNpdGlvbjpmcyxUcmFuc2l0aW9uR3JvdXA6
ZHN9O3dlLmNvbmZpZy5tdXN0VXNlUHJvcD1wYSx3ZS5jb25maWcuaXNSZXNlcnZlZFRhZz1DYSx3
ZS5jb25maWcuaXNSZXNlcnZlZEF0dHI9bGEsd2UuY29uZmlnLmdldFRhZ05hbWVzcGFjZT1GZSx3
ZS5jb25maWcuaXNVbmtub3duRWxlbWVudD1CZSxfKHdlLm9wdGlvbnMuZGlyZWN0aXZlcyx1cyks
Xyh3ZS5vcHRpb25zLmNvbXBvbmVudHMsdnMpLHdlLnByb3RvdHlwZS5fX3BhdGNoX189bm8/b3M6
dyx3ZS5wcm90b3R5cGUuJG1vdW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9dCYmbm8/VWUodCk6
dm9pZCAwLCR0KHRoaXMsdCxlKX0sc2V0VGltZW91dChmdW5jdGlvbigpe1hpLmRldnRvb2xzJiZ5
byYmeW8uZW1pdCgiaW5pdCIsd2UpfSwwKTt2YXIgaHMsbXM9ISFubyYmZnVuY3Rpb24odCxlKXt2
YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gbi5pbm5lckhUTUw9Jzxk
aXYgYT0iJyt0KyciLz4nLG4uaW5uZXJIVE1MLmluZGV4T2YoZSk+MH0oIlxuIiwiJiMxMDsiKSx5
cz0vXHtceygoPzoufFxuKSs/KVx9XH0vZyxncz0vWy0uKis/XiR7fSgpfFtcXVwvXFxdL2csX3M9
bShmdW5jdGlvbih0KXt2YXIgZT10WzBdLnJlcGxhY2UoZ3MsIlxcJCYiKSxuPXRbMV0ucmVwbGFj
ZShncywiXFwkJiIpO3JldHVybiBuZXcgUmVnRXhwKGUrIigoPzoufFxcbikrPykiK24sImciKX0p
LGJzPXtzdGF0aWNLZXlzOlsic3RhdGljQ2xhc3MiXSx0cmFuc2Zvcm1Ob2RlOkFyLGdlbkRhdGE6
a3J9LHdzPXtzdGF0aWNLZXlzOlsic3RhdGljU3R5bGUiXSx0cmFuc2Zvcm1Ob2RlOk9yLGdlbkRh
dGE6U3J9LCRzPVticyx3c10sQ3M9e21vZGVsOmpuLHRleHQ6VHIsaHRtbDpFcn0seHM9ZCgiYXJl
YSxiYXNlLGJyLGNvbCxlbWJlZCxmcmFtZSxocixpbWcsaW5wdXQsaXNpbmRleCxrZXlnZW4sbGlu
ayxtZXRhLHBhcmFtLHNvdXJjZSx0cmFjayx3YnIiKSxBcz1kKCJjb2xncm91cCxkZCxkdCxsaSxv
cHRpb25zLHAsdGQsdGZvb3QsdGgsdGhlYWQsdHIsc291cmNlIiksa3M9ZCgiYWRkcmVzcyxhcnRp
Y2xlLGFzaWRlLGJhc2UsYmxvY2txdW90ZSxib2R5LGNhcHRpb24sY29sLGNvbGdyb3VwLGRkLGRl
dGFpbHMsZGlhbG9nLGRpdixkbCxkdCxmaWVsZHNldCxmaWdjYXB0aW9uLGZpZ3VyZSxmb290ZXIs
Zm9ybSxoMSxoMixoMyxoNCxoNSxoNixoZWFkLGhlYWRlcixoZ3JvdXAsaHIsaHRtbCxsZWdlbmQs
bGksbWVudWl0ZW0sbWV0YSxvcHRncm91cCxvcHRpb24scGFyYW0scnAscnQsc291cmNlLHN0eWxl
LHN1bW1hcnksdGJvZHksdGQsdGZvb3QsdGgsdGhlYWQsdGl0bGUsdHIsdHJhY2siKSxPcz17ZXhw
ZWN0SFRNTDohMCxtb2R1bGVzOiRzLGRpcmVjdGl2ZXM6Q3MsaXNQcmVUYWc6JGEsaXNVbmFyeVRh
Zzp4cyxtdXN0VXNlUHJvcDpwYSxjYW5CZUxlZnRPcGVuVGFnOkFzLGlzUmVzZXJ2ZWRUYWc6Q2Es
Z2V0VGFnTmFtZXNwYWNlOkZlLHN0YXRpY0tleXM6ZnVuY3Rpb24odCl7cmV0dXJuIHQucmVkdWNl
KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuY29uY2F0KGUuc3RhdGljS2V5c3x8W10pfSxbXSkuam9p
bigiLCIpfSgkcyl9LFNzPXtkZWNvZGU6ZnVuY3Rpb24odCl7cmV0dXJuIGhzPWhzfHxkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJkaXYiKSxocy5pbm5lckhUTUw9dCxocy50ZXh0Q29udGVudH19LFRz
PS8oW15ccyInPD5cLz1dKykvLEVzPS8oPzo9KS8sanM9Wy8iKFteIl0qKSIrLy5zb3VyY2UsLyco
W14nXSopJysvLnNvdXJjZSwvKFteXHMiJz08PmBdKykvLnNvdXJjZV0sTnM9bmV3IFJlZ0V4cCgi
XlxccyoiK1RzLnNvdXJjZSsiKD86XFxzKigiK0VzLnNvdXJjZSsiKVxccyooPzoiK2pzLmpvaW4o
InwiKSsiKSk/IiksTHM9IlthLXpBLVpfXVtcXHdcXC1cXC5dKiIsTXM9IigoPzoiK0xzKyJcXDop
PyIrTHMrIikiLElzPW5ldyBSZWdFeHAoIl48IitNcyksUHM9L15ccyooXC8/KT4vLFJzPW5ldyBS
ZWdFeHAoIl48XFwvIitNcysiW14+XSo+IiksRHM9L148IURPQ1RZUEUgW14+XSs+L2ksRnM9L148
IS0tLyxCcz0vXjwhXFsvLFVzPSExOyJ4Ii5yZXBsYWNlKC94KC4pPy9nLGZ1bmN0aW9uKHQsZSl7
VXM9IiI9PT1lfSk7dmFyIEhzLFZzLHpzLEpzLEtzLHFzLFdzLEdzLFpzLFhzLFlzPWQoInNjcmlw
dCxzdHlsZSx0ZXh0YXJlYSIsITApLFFzPXt9LHRjPXsiJmx0OyI6IjwiLCImZ3Q7IjoiPiIsIiZx
dW90OyI6JyInLCImYW1wOyI6IiYiLCImIzEwOyI6IlxuIn0sZWM9LyYoPzpsdHxndHxxdW90fGFt
cCk7L2csbmM9LyYoPzpsdHxndHxxdW90fGFtcHwjMTApOy9nLHJjPWQoInByZSx0ZXh0YXJlYSIs
ITApLGljPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQmJnJjKHQpJiYiXG4iPT09ZVswXX0sb2M9L15A
fF52LW9uOi8sYWM9L152LXxeQHxeOi8sc2M9LyguKj8pXHMrKD86aW58b2YpXHMrKC4qKS8sY2M9
L1woKFx7W159XSpcfXxbXixdKiksKFteLF0qKSg/OiwoW14sXSopKT9cKS8sdWM9LzooLiopJC8s
bGM9L146fF52LWJpbmQ6LyxmYz0vXC5bXi5dKy9nLHBjPW0oU3MuZGVjb2RlKSxkYz0vXnhtbG5z
Ok5TXGQrLyx2Yz0vXk5TXGQrOi8saGM9bSh0aSksbWM9L15ccyooW1x3JF9dK3xcKFteKV0qP1wp
KVxzKj0+fF5mdW5jdGlvblxzKlwoLyx5Yz0vXlxzKltBLVphLXpfJF1bXHckXSooPzpcLltBLVph
LXpfJF1bXHckXSp8XFsnLio/J118XFsiLio/Il18XFtcZCtdfFxbW0EtWmEtel8kXVtcdyRdKl0p
KlxzKiQvLGdjPXtlc2M6MjcsdGFiOjksZW50ZXI6MTMsc3BhY2U6MzIsdXA6MzgsbGVmdDozNyxy
aWdodDozOSxkb3duOjQwLGRlbGV0ZTpbOCw0Nl19LF9jPWZ1bmN0aW9uKHQpe3JldHVybiJpZigi
K3QrIilyZXR1cm4gbnVsbDsifSxiYz17c3RvcDoiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyIs
cHJldmVudDoiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IixzZWxmOl9jKCIkZXZlbnQudGFyZ2V0
ICE9PSAkZXZlbnQuY3VycmVudFRhcmdldCIpLGN0cmw6X2MoIiEkZXZlbnQuY3RybEtleSIpLHNo
aWZ0Ol9jKCIhJGV2ZW50LnNoaWZ0S2V5IiksYWx0Ol9jKCIhJGV2ZW50LmFsdEtleSIpLG1ldGE6
X2MoIiEkZXZlbnQubWV0YUtleSIpLGxlZnQ6X2MoIididXR0b24nIGluICRldmVudCAmJiAkZXZl
bnQuYnV0dG9uICE9PSAwIiksbWlkZGxlOl9jKCInYnV0dG9uJyBpbiAkZXZlbnQgJiYgJGV2ZW50
LmJ1dHRvbiAhPT0gMSIpLHJpZ2h0Ol9jKCInYnV0dG9uJyBpbiAkZXZlbnQgJiYgJGV2ZW50LmJ1
dHRvbiAhPT0gMiIpfSx3Yz17b246dWksYmluZDpsaSxjbG9hazp3fSwkYz1mdW5jdGlvbih0KXt0
aGlzLm9wdGlvbnM9dCx0aGlzLndhcm49dC53YXJufHxobix0aGlzLnRyYW5zZm9ybXM9bW4odC5t
b2R1bGVzLCJ0cmFuc2Zvcm1Db2RlIiksdGhpcy5kYXRhR2VuRm5zPW1uKHQubW9kdWxlcywiZ2Vu
RGF0YSIpLHRoaXMuZGlyZWN0aXZlcz1fKF8oe30sd2MpLHQuZGlyZWN0aXZlcyk7dmFyIGU9dC5p
c1Jlc2VydmVkVGFnfHxLaTt0aGlzLm1heWJlQ29tcG9uZW50PWZ1bmN0aW9uKHQpe3JldHVybiFl
KHQudGFnKX0sdGhpcy5vbmNlSWQ9MCx0aGlzLnN0YXRpY1JlbmRlckZucz1bXX0sQ2M9KG5ldyBS
ZWdFeHAoIlxcYiIrImRvLGlmLGZvcixsZXQsbmV3LHRyeSx2YXIsY2FzZSxlbHNlLHdpdGgsYXdh
aXQsYnJlYWssY2F0Y2gsY2xhc3MsY29uc3Qsc3VwZXIsdGhyb3csd2hpbGUseWllbGQsZGVsZXRl
LGV4cG9ydCxpbXBvcnQscmV0dXJuLHN3aXRjaCxkZWZhdWx0LGV4dGVuZHMsZmluYWxseSxjb250
aW51ZSxkZWJ1Z2dlcixmdW5jdGlvbixhcmd1bWVudHMiLnNwbGl0KCIsIikuam9pbigiXFxifFxc
YiIpKyJcXGIiKSxuZXcgUmVnRXhwKCJcXGIiKyJkZWxldGUsdHlwZW9mLHZvaWQiLnNwbGl0KCIs
Iikuam9pbigiXFxzKlxcKFteXFwpXSpcXCl8XFxiIikrIlxccypcXChbXlxcKV0qXFwpIiksZnVu
Y3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4obixyKXt2YXIgaT1PYmplY3Qu
Y3JlYXRlKGUpLG89W10sYT1bXTtpZihpLndhcm49ZnVuY3Rpb24odCxlKXsoZT9hOm8pLnB1c2go
dCl9LHIpe3IubW9kdWxlcyYmKGkubW9kdWxlcz0oZS5tb2R1bGVzfHxbXSkuY29uY2F0KHIubW9k
dWxlcykpLHIuZGlyZWN0aXZlcyYmKGkuZGlyZWN0aXZlcz1fKE9iamVjdC5jcmVhdGUoZS5kaXJl
Y3RpdmVzKSxyLmRpcmVjdGl2ZXMpKTtmb3IodmFyIHMgaW4gcikibW9kdWxlcyIhPT1zJiYiZGly
ZWN0aXZlcyIhPT1zJiYoaVtzXT1yW3NdKX12YXIgYz10KG4saSk7cmV0dXJuIGMuZXJyb3JzPW8s
Yy50aXBzPWEsY31yZXR1cm57Y29tcGlsZTpuLGNvbXBpbGVUb0Z1bmN0aW9uczpJaShuKX19fShm
dW5jdGlvbih0LGUpe3ZhciBuPUxyKHQudHJpbSgpLGUpO1FyKG4sZSk7dmFyIHI9ZmkobixlKTty
ZXR1cm57YXN0Om4scmVuZGVyOnIucmVuZGVyLHN0YXRpY1JlbmRlckZuczpyLnN0YXRpY1JlbmRl
ckZuc319KSkseGM9Q2MoT3MpLEFjPXhjLmNvbXBpbGVUb0Z1bmN0aW9ucyxrYz1tKGZ1bmN0aW9u
KHQpe3ZhciBlPVVlKHQpO3JldHVybiBlJiZlLmlubmVySFRNTH0pLE9jPXdlLnByb3RvdHlwZS4k
bW91bnQ7d2UucHJvdG90eXBlLiRtb3VudD1mdW5jdGlvbih0LGUpe2lmKCh0PXQmJlVlKHQpKT09
PWRvY3VtZW50LmJvZHl8fHQ9PT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpcmV0dXJuIHRoaXM7
dmFyIG49dGhpcy4kb3B0aW9ucztpZighbi5yZW5kZXIpe3ZhciByPW4udGVtcGxhdGU7aWYocilp
Zigic3RyaW5nIj09dHlwZW9mIHIpIiMiPT09ci5jaGFyQXQoMCkmJihyPWtjKHIpKTtlbHNle2lm
KCFyLm5vZGVUeXBlKXJldHVybiB0aGlzO3I9ci5pbm5lckhUTUx9ZWxzZSB0JiYocj1QaSh0KSk7
aWYocil7dmFyIGk9QWMocix7c2hvdWxkRGVjb2RlTmV3bGluZXM6bXMsZGVsaW1pdGVyczpuLmRl
bGltaXRlcnMsY29tbWVudHM6bi5jb21tZW50c30sdGhpcyksbz1pLnJlbmRlcixhPWkuc3RhdGlj
UmVuZGVyRm5zO24ucmVuZGVyPW8sbi5zdGF0aWNSZW5kZXJGbnM9YX19cmV0dXJuIE9jLmNhbGwo
dGhpcyx0LGUpfSx3ZS5jb21waWxlPUFjLGUuZGVmYXVsdD13ZX0uY2FsbChlLG4oMTIpKX0sZnVu
Y3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlLG4scixpKXt2YXIgbyxhPXQ9dHx8e30s
cz10eXBlb2YgdC5kZWZhdWx0OyJvYmplY3QiIT09cyYmImZ1bmN0aW9uIiE9PXN8fChvPXQsYT10
LmRlZmF1bHQpO3ZhciBjPSJmdW5jdGlvbiI9PXR5cGVvZiBhP2Eub3B0aW9uczphO2UmJihjLnJl
bmRlcj1lLnJlbmRlcixjLnN0YXRpY1JlbmRlckZucz1lLnN0YXRpY1JlbmRlckZucyksciYmKGMu
X3Njb3BlSWQ9cik7dmFyIHU7aWYoaT8odT1mdW5jdGlvbih0KXt0PXR8fHRoaXMuJHZub2RlJiZ0
aGlzLiR2bm9kZS5zc3JDb250ZXh0fHx0aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQuJHZub2RlJiZ0
aGlzLnBhcmVudC4kdm5vZGUuc3NyQ29udGV4dCx0fHwidW5kZWZpbmVkIj09dHlwZW9mIF9fVlVF
X1NTUl9DT05URVhUX198fCh0PV9fVlVFX1NTUl9DT05URVhUX18pLG4mJm4uY2FsbCh0aGlzLHQp
LHQmJnQuX3JlZ2lzdGVyZWRDb21wb25lbnRzJiZ0Ll9yZWdpc3RlcmVkQ29tcG9uZW50cy5hZGQo
aSl9LGMuX3NzclJlZ2lzdGVyPXUpOm4mJih1PW4pLHUpe3ZhciBsPWMuZnVuY3Rpb25hbCxmPWw/
Yy5yZW5kZXI6Yy5iZWZvcmVDcmVhdGU7bD9jLnJlbmRlcj1mdW5jdGlvbih0LGUpe3JldHVybiB1
LmNhbGwoZSksZih0LGUpfTpjLmJlZm9yZUNyZWF0ZT1mP1tdLmNvbmNhdChmLHUpOlt1XX1yZXR1
cm57ZXNNb2R1bGU6byxleHBvcnRzOmEsb3B0aW9uczpjfX19LGZ1bmN0aW9uKHQsZSxuKXshZnVu
Y3Rpb24odCl7ZnVuY3Rpb24gZSgpe3JldHVybiIiPT09dS5oYXNofHwiIyI9PT11Lmhhc2h9ZnVu
Y3Rpb24gbih0LGUpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bis9MSlpZighMT09PWUodFtuXSxu
LHQpKXJldHVybn1mdW5jdGlvbiByKHQpe2Zvcih2YXIgZT1bXSxuPTAscj10Lmxlbmd0aDtuPHI7
bisrKWU9ZS5jb25jYXQodFtuXSk7cmV0dXJuIGV9ZnVuY3Rpb24gaSh0LGUsbil7aWYoIXQubGVu
Z3RoKXJldHVybiBuKCk7dmFyIHI9MDshZnVuY3Rpb24gaSgpe2UodFtyXSxmdW5jdGlvbihlKXtl
fHwhMT09PWU/KG4oZSksbj1mdW5jdGlvbigpe30pOihyKz0xLHI9PT10Lmxlbmd0aD9uKCk6aSgp
KX0pfSgpfWZ1bmN0aW9uIG8odCxlLG4pe249dDtmb3IodmFyIHIgaW4gZSlpZihlLmhhc093blBy
b3BlcnR5KHIpJiYobj1lW3JdKHQpKSE9PXQpYnJlYWs7cmV0dXJuIG49PT10PyIoWy5fYS16QS1a
MC05LSUoKV0rKSI6bn1mdW5jdGlvbiBhKHQsZSl7Zm9yKHZhciBuLHI9MCxpPSIiO249dC5zdWJz
dHIocikubWF0Y2goL1teXHdcZFwtICVAJl0qXCpbXlx3XGRcLSAlQCZdKi8pOylyPW4uaW5kZXgr
blswXS5sZW5ndGgsblswXT1uWzBdLnJlcGxhY2UoL15cKi8sIihbXy4oKSFcXCAlQCZhLXpBLVow
LTktXSspIiksaSs9dC5zdWJzdHIoMCxuLmluZGV4KStuWzBdO3Q9aSs9dC5zdWJzdHIocik7dmFy
IGEscyxjPXQubWF0Y2goLzooW15cL10rKS9naSk7aWYoYyl7cz1jLmxlbmd0aDtmb3IodmFyIHU9
MDt1PHM7dSsrKWE9Y1t1XSx0PSI6OiI9PT1hLnNsaWNlKDAsMik/YS5zbGljZSgxKTp0LnJlcGxh
Y2UoYSxvKGEsZSkpfXJldHVybiB0fWZ1bmN0aW9uIGModCxlLG4scil7dmFyIGksbz0wLGE9MCxz
PTAsbj0obnx8IigiKS50b1N0cmluZygpLHI9KHJ8fCIpIikudG9TdHJpbmcoKTtmb3IoaT0wO2k8
dC5sZW5ndGg7aSsrKXt2YXIgYz10W2ldO2lmKGMuaW5kZXhPZihuLG8pPmMuaW5kZXhPZihyLG8p
fHx+Yy5pbmRleE9mKG4sbykmJiF+Yy5pbmRleE9mKHIsbyl8fCF+Yy5pbmRleE9mKG4sbykmJn5j
LmluZGV4T2YocixvKSl7aWYoYT1jLmluZGV4T2YobixvKSxzPWMuaW5kZXhPZihyLG8pLH5hJiYh
fnN8fCF+YSYmfnMpe3Q9W3Quc2xpY2UoMCwoaXx8MSkrMSkuam9pbihlKV0uY29uY2F0KHQuc2xp
Y2UoKGl8fDEpKzEpKX1vPShzPmE/czphKSsxLGk9MH1lbHNlIG89MH1yZXR1cm4gdH12YXIgdT1k
b2N1bWVudC5sb2NhdGlvbixsPXttb2RlOiJtb2Rlcm4iLGhhc2g6dS5oYXNoLGhpc3Rvcnk6ITEs
Y2hlY2s6ZnVuY3Rpb24oKXt2YXIgdD11Lmhhc2g7dCE9dGhpcy5oYXNoJiYodGhpcy5oYXNoPXQs
dGhpcy5vbkhhc2hDaGFuZ2VkKCkpfSxmaXJlOmZ1bmN0aW9uKCl7Im1vZGVybiI9PT10aGlzLm1v
ZGU/ITA9PT10aGlzLmhpc3Rvcnk/d2luZG93Lm9ucG9wc3RhdGUoKTp3aW5kb3cub25oYXNoY2hh
bmdlKCk6dGhpcy5vbkhhc2hDaGFuZ2VkKCl9LGluaXQ6ZnVuY3Rpb24odCxlKXtmdW5jdGlvbiBu
KHQpe2Zvcih2YXIgZT0wLG49Zi5saXN0ZW5lcnMubGVuZ3RoO2U8bjtlKyspZi5saXN0ZW5lcnNb
ZV0odCl9dmFyIHI9dGhpcztpZih0aGlzLmhpc3Rvcnk9ZSxmLmxpc3RlbmVyc3x8KGYubGlzdGVu
ZXJzPVtdKSwib25oYXNoY2hhbmdlImluIHdpbmRvdyYmKHZvaWQgMD09PWRvY3VtZW50LmRvY3Vt
ZW50TW9kZXx8ZG9jdW1lbnQuZG9jdW1lbnRNb2RlPjcpKSEwPT09dGhpcy5oaXN0b3J5P3NldFRp
bWVvdXQoZnVuY3Rpb24oKXt3aW5kb3cub25wb3BzdGF0ZT1ufSw1MDApOndpbmRvdy5vbmhhc2hj
aGFuZ2U9bix0aGlzLm1vZGU9Im1vZGVybiI7ZWxzZXt2YXIgaT1kb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJpZnJhbWUiKTtpLmlkPSJzdGF0ZS1mcmFtZSIsaS5zdHlsZS5kaXNwbGF5PSJub25lIixk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGkpLHRoaXMud3JpdGVGcmFtZSgiIiksIm9ucHJvcGVy
dHljaGFuZ2UiaW4gZG9jdW1lbnQmJiJhdHRhY2hFdmVudCJpbiBkb2N1bWVudCYmZG9jdW1lbnQu
YXR0YWNoRXZlbnQoIm9ucHJvcGVydHljaGFuZ2UiLGZ1bmN0aW9uKCl7ImxvY2F0aW9uIj09PWV2
ZW50LnByb3BlcnR5TmFtZSYmci5jaGVjaygpfSksd2luZG93LnNldEludGVydmFsKGZ1bmN0aW9u
KCl7ci5jaGVjaygpfSw1MCksdGhpcy5vbkhhc2hDaGFuZ2VkPW4sdGhpcy5tb2RlPSJsZWdhY3ki
fXJldHVybiBmLmxpc3RlbmVycy5wdXNoKHQpLHRoaXMubW9kZX0sZGVzdHJveTpmdW5jdGlvbih0
KXtpZihmJiZmLmxpc3RlbmVycylmb3IodmFyIGU9Zi5saXN0ZW5lcnMsbj1lLmxlbmd0aC0xO24+
PTA7bi0tKWVbbl09PT10JiZlLnNwbGljZShuLDEpfSxzZXRIYXNoOmZ1bmN0aW9uKHQpe3JldHVy
biJsZWdhY3kiPT09dGhpcy5tb2RlJiZ0aGlzLndyaXRlRnJhbWUodCksITA9PT10aGlzLmhpc3Rv
cnk/KHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSh7fSxkb2N1bWVudC50aXRsZSx0KSx0aGlzLmZp
cmUoKSk6dS5oYXNoPSIvIj09PXRbMF0/dDoiLyIrdCx0aGlzfSx3cml0ZUZyYW1lOmZ1bmN0aW9u
KHQpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGF0ZS1mcmFtZSIpLG49ZS5jb250
ZW50RG9jdW1lbnR8fGUuY29udGVudFdpbmRvdy5kb2N1bWVudDtuLm9wZW4oKSxuLndyaXRlKCI8
c2NyaXB0Pl9oYXNoID0gJyIrdCsiJzsgb25sb2FkID0gcGFyZW50Lmxpc3RlbmVyLnN5bmNIYXNo
OzxzY3JpcHQ+Iiksbi5jbG9zZSgpfSxzeW5jSGFzaDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2hh
c2g7cmV0dXJuIHQhPXUuaGFzaCYmKHUuaGFzaD10KSx0aGlzfSxvbkhhc2hDaGFuZ2VkOmZ1bmN0
aW9uKCl7fX0sZj10LlJvdXRlcj1mdW5jdGlvbih0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBmKSly
ZXR1cm4gbmV3IGYodCk7dGhpcy5wYXJhbXM9e30sdGhpcy5yb3V0ZXM9e30sdGhpcy5tZXRob2Rz
PVsib24iLCJvbmNlIiwiYWZ0ZXIiLCJiZWZvcmUiXSx0aGlzLnNjb3BlPVtdLHRoaXMuX21ldGhv
ZHM9e30sdGhpcy5faW5zZXJ0PXRoaXMuaW5zZXJ0LHRoaXMuaW5zZXJ0PXRoaXMuaW5zZXJ0RXgs
dGhpcy5oaXN0b3J5U3VwcG9ydD1udWxsIT0obnVsbCE9d2luZG93Lmhpc3Rvcnk/d2luZG93Lmhp
c3RvcnkucHVzaFN0YXRlOm51bGwpLHRoaXMuY29uZmlndXJlKCksdGhpcy5tb3VudCh0fHx7fSl9
O2YucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24odCl7dmFyIG4scj10aGlzO3JldHVybiB0aGlzLmhh
bmRsZXI9ZnVuY3Rpb24odCl7dmFyIGU9dCYmdC5uZXdVUkx8fHdpbmRvdy5sb2NhdGlvbi5oYXNo
LG49ITA9PT1yLmhpc3Rvcnk/ci5nZXRQYXRoKCk6ZS5yZXBsYWNlKC8uKiMvLCIiKTtyLmRpc3Bh
dGNoKCJvbiIsIi8iPT09bi5jaGFyQXQoMCk/bjoiLyIrbil9LGwuaW5pdCh0aGlzLmhhbmRsZXIs
dGhpcy5oaXN0b3J5KSwhMT09PXRoaXMuaGlzdG9yeT9lKCkmJnQ/dS5oYXNoPXQ6ZSgpfHxyLmRp
c3BhdGNoKCJvbiIsIi8iK3UuaGFzaC5yZXBsYWNlKC9eKCNcL3wjfFwvKS8sIiIpKToodGhpcy5j
b252ZXJ0X2hhc2hfaW5faW5pdD8obj1lKCkmJnQ/dDplKCk/bnVsbDp1Lmhhc2gucmVwbGFjZSgv
XiMvLCIiKSkmJndpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSh7fSxkb2N1bWVudC50aXRsZSxu
KTpuPXRoaXMuZ2V0UGF0aCgpLChufHwhMD09PXRoaXMucnVuX2luX2luaXQpJiZ0aGlzLmhhbmRs
ZXIoKSksdGhpc30sZi5wcm90b3R5cGUuZXhwbG9kZT1mdW5jdGlvbigpe3ZhciB0PSEwPT09dGhp
cy5oaXN0b3J5P3RoaXMuZ2V0UGF0aCgpOnUuaGFzaDtyZXR1cm4iLyI9PT10LmNoYXJBdCgxKSYm
KHQ9dC5zbGljZSgxKSksdC5zbGljZSgxLHQubGVuZ3RoKS5zcGxpdCgiLyIpfSxmLnByb3RvdHlw
ZS5zZXRSb3V0ZT1mdW5jdGlvbih0LGUsbil7dmFyIHI9dGhpcy5leHBsb2RlKCk7cmV0dXJuIm51
bWJlciI9PXR5cGVvZiB0JiYic3RyaW5nIj09dHlwZW9mIGU/clt0XT1lOiJzdHJpbmciPT10eXBl
b2Ygbj9yLnNwbGljZSh0LGUscyk6cj1bdF0sbC5zZXRIYXNoKHIuam9pbigiLyIpKSxyfSxmLnBy
b3RvdHlwZS5pbnNlcnRFeD1mdW5jdGlvbih0LGUsbixyKXtyZXR1cm4ib25jZSI9PT10JiYodD0i
b24iLG49ZnVuY3Rpb24odCl7dmFyIGU9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIWUpcmV0dXJu
IGU9ITAsdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fShuKSksdGhpcy5faW5zZXJ0KHQsZSxuLHIp
fSxmLnByb3RvdHlwZS5nZXRSb3V0ZT1mdW5jdGlvbih0KXt2YXIgZT10O2lmKCJudW1iZXIiPT10
eXBlb2YgdCllPXRoaXMuZXhwbG9kZSgpW3RdO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiB0KXt2
YXIgbj10aGlzLmV4cGxvZGUoKTtlPW4uaW5kZXhPZih0KX1lbHNlIGU9dGhpcy5leHBsb2RlKCk7
cmV0dXJuIGV9LGYucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXtyZXR1cm4gbC5kZXN0cm95
KHRoaXMuaGFuZGxlciksdGhpc30sZi5wcm90b3R5cGUuZ2V0UGF0aD1mdW5jdGlvbigpe3ZhciB0
PXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTtyZXR1cm4iLyIhPT10LnN1YnN0cigwLDEpJiYodD0i
LyIrdCksdH07dmFyIHA9L1w/LiovO2YucHJvdG90eXBlLmNvbmZpZ3VyZT1mdW5jdGlvbih0KXt0
PXR8fHt9O2Zvcih2YXIgZT0wO2U8dGhpcy5tZXRob2RzLmxlbmd0aDtlKyspdGhpcy5fbWV0aG9k
c1t0aGlzLm1ldGhvZHNbZV1dPSEwO3JldHVybiB0aGlzLnJlY3Vyc2U9dC5yZWN1cnNlfHx0aGlz
LnJlY3Vyc2V8fCExLHRoaXMuYXN5bmM9dC5hc3luY3x8ITEsdGhpcy5kZWxpbWl0ZXI9dC5kZWxp
bWl0ZXJ8fCIvIix0aGlzLnN0cmljdD12b2lkIDA9PT10LnN0cmljdHx8dC5zdHJpY3QsdGhpcy5u
b3Rmb3VuZD10Lm5vdGZvdW5kLHRoaXMucmVzb3VyY2U9dC5yZXNvdXJjZSx0aGlzLmhpc3Rvcnk9
dC5odG1sNWhpc3RvcnkmJnRoaXMuaGlzdG9yeVN1cHBvcnR8fCExLHRoaXMucnVuX2luX2luaXQ9
ITA9PT10aGlzLmhpc3RvcnkmJiExIT09dC5ydW5faGFuZGxlcl9pbl9pbml0LHRoaXMuY29udmVy
dF9oYXNoX2luX2luaXQ9ITA9PT10aGlzLmhpc3RvcnkmJiExIT09dC5jb252ZXJ0X2hhc2hfaW5f
aW5pdCx0aGlzLmV2ZXJ5PXthZnRlcjp0LmFmdGVyfHxudWxsLGJlZm9yZTp0LmJlZm9yZXx8bnVs
bCxvbjp0Lm9ufHxudWxsfSx0aGlzfSxmLnByb3RvdHlwZS5wYXJhbT1mdW5jdGlvbih0LGUpeyI6
IiE9PXRbMF0mJih0PSI6Iit0KTt2YXIgbj1uZXcgUmVnRXhwKHQsImciKTtyZXR1cm4gdGhpcy5w
YXJhbXNbdF09ZnVuY3Rpb24odCl7cmV0dXJuIHQucmVwbGFjZShuLGUuc291cmNlfHxlKX0sdGhp
c30sZi5wcm90b3R5cGUub249Zi5wcm90b3R5cGUucm91dGU9ZnVuY3Rpb24odCxlLG4pe3ZhciBy
PXRoaXM7cmV0dXJuIG58fCJmdW5jdGlvbiIhPXR5cGVvZiBlfHwobj1lLGU9dCx0PSJvbiIpLEFy
cmF5LmlzQXJyYXkoZSk/ZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3Iub24odCxlLG4pfSk6KGUuc291
cmNlJiYoZT1lLnNvdXJjZS5yZXBsYWNlKC9cXFwvL2dpLCIvIikpLEFycmF5LmlzQXJyYXkodCk/
dC5mb3JFYWNoKGZ1bmN0aW9uKHQpe3Iub24odC50b0xvd2VyQ2FzZSgpLGUsbil9KTooZT1lLnNw
bGl0KG5ldyBSZWdFeHAodGhpcy5kZWxpbWl0ZXIpKSxlPWMoZSx0aGlzLmRlbGltaXRlciksdm9p
ZCB0aGlzLmluc2VydCh0LHRoaXMuc2NvcGUuY29uY2F0KGUpLG4pKSl9LGYucHJvdG90eXBlLnBh
dGg9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLnNjb3BlLmxlbmd0aDt0LnNvdXJjZSYmKHQ9dC5z
b3VyY2UucmVwbGFjZSgvXFxcLy9naSwiLyIpKSx0PXQuc3BsaXQobmV3IFJlZ0V4cCh0aGlzLmRl
bGltaXRlcikpLHQ9Yyh0LHRoaXMuZGVsaW1pdGVyKSx0aGlzLnNjb3BlPXRoaXMuc2NvcGUuY29u
Y2F0KHQpLGUuY2FsbCh0aGlzLHRoaXMpLHRoaXMuc2NvcGUuc3BsaWNlKG4sdC5sZW5ndGgpfSxm
LnByb3RvdHlwZS5kaXNwYXRjaD1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe28ubGFzdD1h
LmFmdGVyLG8uaW52b2tlKG8ucnVubGlzdChhKSxvLG4pfXZhciBpLG89dGhpcyxhPXRoaXMudHJh
dmVyc2UodCxlLnJlcGxhY2UocCwiIiksdGhpcy5yb3V0ZXMsIiIpLHM9dGhpcy5faW52b2tlZDty
ZXR1cm4gdGhpcy5faW52b2tlZD0hMCxhJiYwIT09YS5sZW5ndGg/KCJmb3J3YXJkIj09PXRoaXMu
cmVjdXJzZSYmKGE9YS5yZXZlcnNlKCkpLChpPXRoaXMuZXZlcnkmJnRoaXMuZXZlcnkuYWZ0ZXI/
W3RoaXMuZXZlcnkuYWZ0ZXJdLmNvbmNhdCh0aGlzLmxhc3QpOlt0aGlzLmxhc3RdKSYmaS5sZW5n
dGg+MCYmcz8odGhpcy5hc3luYz90aGlzLmludm9rZShpLHRoaXMscik6KHRoaXMuaW52b2tlKGks
dGhpcykscigpKSwhMCk6KHIoKSwhMCkpOih0aGlzLmxhc3Q9W10sImZ1bmN0aW9uIj09dHlwZW9m
IHRoaXMubm90Zm91bmQmJnRoaXMuaW52b2tlKFt0aGlzLm5vdGZvdW5kXSx7bWV0aG9kOnQscGF0
aDplfSxuKSwhMSl9LGYucHJvdG90eXBlLmludm9rZT1mdW5jdGlvbih0LGUscil7dmFyIG8sYT10
aGlzO3RoaXMuYXN5bmM/KG89ZnVuY3Rpb24obixyKXtpZihBcnJheS5pc0FycmF5KG4pKXJldHVy
biBpKG4sbyxyKTsiZnVuY3Rpb24iPT10eXBlb2YgbiYmbi5hcHBseShlLCh0LmNhcHR1cmVzfHxb
XSkuY29uY2F0KHIpKX0saSh0LG8sZnVuY3Rpb24oKXtyJiZyLmFwcGx5KGUsYXJndW1lbnRzKX0p
KToobz1mdW5jdGlvbihyKXtyZXR1cm4gQXJyYXkuaXNBcnJheShyKT9uKHIsbyk6ImZ1bmN0aW9u
Ij09dHlwZW9mIHI/ci5hcHBseShlLHQuY2FwdHVyZXN8fFtdKTp2b2lkKCJzdHJpbmciPT10eXBl
b2YgciYmYS5yZXNvdXJjZSYmYS5yZXNvdXJjZVtyXS5hcHBseShlLHQuY2FwdHVyZXN8fFtdKSl9
LG4odCxvKSl9LGYucHJvdG90eXBlLnRyYXZlcnNlPWZ1bmN0aW9uKHQsZSxuLHIsaSl7ZnVuY3Rp
b24gbyh0KXtmdW5jdGlvbiBlKHQpe2Zvcih2YXIgbj1bXSxyPTA7cjx0Lmxlbmd0aDtyKyspblty
XT1BcnJheS5pc0FycmF5KHRbcl0pP2UodFtyXSk6dFtyXTtyZXR1cm4gbn1mdW5jdGlvbiBuKHQp
e2Zvcih2YXIgZT10Lmxlbmd0aC0xO2U+PTA7ZS0tKUFycmF5LmlzQXJyYXkodFtlXSk/KG4odFtl
XSksMD09PXRbZV0ubGVuZ3RoJiZ0LnNwbGljZShlLDEpKTppKHRbZV0pfHx0LnNwbGljZShlLDEp
fWlmKCFpKXJldHVybiB0O3ZhciByPWUodCk7cmV0dXJuIHIubWF0Y2hlZD10Lm1hdGNoZWQsci5j
YXB0dXJlcz10LmNhcHR1cmVzLHIuYWZ0ZXI9dC5hZnRlci5maWx0ZXIoaSksbihyKSxyfXZhciBh
LHMsYyx1LGw9W107aWYoZT09PXRoaXMuZGVsaW1pdGVyJiZuW3RdKXJldHVybiB1PVtbbi5iZWZv
cmUsblt0XV0uZmlsdGVyKEJvb2xlYW4pXSx1LmFmdGVyPVtuLmFmdGVyXS5maWx0ZXIoQm9vbGVh
biksdS5tYXRjaGVkPSEwLHUuY2FwdHVyZXM9W10sbyh1KTtmb3IodmFyIGYgaW4gbilpZihuLmhh
c093blByb3BlcnR5KGYpJiYoIXRoaXMuX21ldGhvZHNbZl18fHRoaXMuX21ldGhvZHNbZl0mJiJv
YmplY3QiPT10eXBlb2YgbltmXSYmIUFycmF5LmlzQXJyYXkobltmXSkpKXtpZihhPXM9cit0aGlz
LmRlbGltaXRlcitmLHRoaXMuc3RyaWN0fHwocys9IlsiK3RoaXMuZGVsaW1pdGVyKyJdPyIpLCEo
Yz1lLm1hdGNoKG5ldyBSZWdFeHAoIl4iK3MpKSkpY29udGludWU7aWYoY1swXSYmY1swXT09ZSYm
bltmXVt0XSlyZXR1cm4gdT1bW25bZl0uYmVmb3JlLG5bZl1bdF1dLmZpbHRlcihCb29sZWFuKV0s
dS5hZnRlcj1bbltmXS5hZnRlcl0uZmlsdGVyKEJvb2xlYW4pLHUubWF0Y2hlZD0hMCx1LmNhcHR1
cmVzPWMuc2xpY2UoMSksdGhpcy5yZWN1cnNlJiZuPT09dGhpcy5yb3V0ZXMmJih1LnB1c2goW24u
YmVmb3JlLG4ub25dLmZpbHRlcihCb29sZWFuKSksdS5hZnRlcj11LmFmdGVyLmNvbmNhdChbbi5h
ZnRlcl0uZmlsdGVyKEJvb2xlYW4pKSksbyh1KTtpZih1PXRoaXMudHJhdmVyc2UodCxlLG5bZl0s
YSksdS5tYXRjaGVkKXJldHVybiB1Lmxlbmd0aD4wJiYobD1sLmNvbmNhdCh1KSksdGhpcy5yZWN1
cnNlJiYobC5wdXNoKFtuW2ZdLmJlZm9yZSxuW2ZdLm9uXS5maWx0ZXIoQm9vbGVhbikpLHUuYWZ0
ZXI9dS5hZnRlci5jb25jYXQoW25bZl0uYWZ0ZXJdLmZpbHRlcihCb29sZWFuKSksbj09PXRoaXMu
cm91dGVzJiYobC5wdXNoKFtuLmJlZm9yZSxuLm9uXS5maWx0ZXIoQm9vbGVhbikpLHUuYWZ0ZXI9
dS5hZnRlci5jb25jYXQoW24uYWZ0ZXJdLmZpbHRlcihCb29sZWFuKSkpKSxsLm1hdGNoZWQ9ITAs
bC5jYXB0dXJlcz11LmNhcHR1cmVzLGwuYWZ0ZXI9dS5hZnRlcixvKGwpfXJldHVybiExfSxmLnBy
b3RvdHlwZS5pbnNlcnQ9ZnVuY3Rpb24odCxlLG4scil7dmFyIGksbyxzLGM7aWYoZT1lLmZpbHRl
cihmdW5jdGlvbih0KXtyZXR1cm4gdCYmdC5sZW5ndGg+MH0pLHI9cnx8dGhpcy5yb3V0ZXMsYz1l
LnNoaWZ0KCksL1w6fFwqLy50ZXN0KGMpJiYhL1xcZHxcXHcvLnRlc3QoYykmJihjPWEoYyx0aGlz
LnBhcmFtcykpLGUubGVuZ3RoPjApcmV0dXJuIHJbY109cltjXXx8e30sdGhpcy5pbnNlcnQodCxl
LG4scltjXSk7aWYoY3x8ZS5sZW5ndGh8fHIhPT10aGlzLnJvdXRlcyl7aWYoaT10eXBlb2Ygcltj
XSxvPUFycmF5LmlzQXJyYXkocltjXSkscltjXSYmIW8mJiJvYmplY3QiPT1pKXN3aXRjaCh0eXBl
b2YgcltjXVt0XSl7Y2FzZSJmdW5jdGlvbiI6cmV0dXJuIHZvaWQocltjXVt0XT1bcltjXVt0XSxu
XSk7Y2FzZSJvYmplY3QiOnJldHVybiB2b2lkIHJbY11bdF0ucHVzaChuKTtjYXNlInVuZGVmaW5l
ZCI6cmV0dXJuIHZvaWQocltjXVt0XT1uKX1lbHNlIGlmKCJ1bmRlZmluZWQiPT1pKXJldHVybiBz
PXt9LHNbdF09bix2b2lkKHJbY109cyk7dGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHJvdXRlIGNv
bnRleHQ6ICIraSl9c3dpdGNoKHR5cGVvZiByW3RdKXtjYXNlImZ1bmN0aW9uIjpyZXR1cm4gdm9p
ZChyW3RdPVtyW3RdLG5dKTtjYXNlIm9iamVjdCI6cmV0dXJuIHZvaWQgclt0XS5wdXNoKG4pO2Nh
c2UidW5kZWZpbmVkIjpyZXR1cm4gdm9pZChyW3RdPW4pfX0sZi5wcm90b3R5cGUuZXh0ZW5kPWZ1
bmN0aW9uKHQpe3ZhciBlLG49dGhpcyxyPXQubGVuZ3RoO2ZvcihlPTA7ZTxyO2UrKykhZnVuY3Rp
b24odCl7bi5fbWV0aG9kc1t0XT0hMCxuW3RdPWZ1bmN0aW9uKCl7dmFyIGU9MT09PWFyZ3VtZW50
cy5sZW5ndGg/W3QsIiJdOlt0XTtuLm9uLmFwcGx5KG4sZS5jb25jYXQoQXJyYXkucHJvdG90eXBl
LnNsaWNlLmNhbGwoYXJndW1lbnRzKSkpfX0odFtlXSl9LGYucHJvdG90eXBlLnJ1bmxpc3Q9ZnVu
Y3Rpb24odCl7dmFyIGU9dGhpcy5ldmVyeSYmdGhpcy5ldmVyeS5iZWZvcmU/W3RoaXMuZXZlcnku
YmVmb3JlXS5jb25jYXQocih0KSk6cih0KTtyZXR1cm4gdGhpcy5ldmVyeSYmdGhpcy5ldmVyeS5v
biYmZS5wdXNoKHRoaXMuZXZlcnkub24pLGUuY2FwdHVyZXM9dC5jYXB0dXJlcyxlLnNvdXJjZT10
LnNvdXJjZSxlfSxmLnByb3RvdHlwZS5tb3VudD1mdW5jdGlvbih0LGUpe2lmKHQmJiJvYmplY3Qi
PT10eXBlb2YgdCYmIUFycmF5LmlzQXJyYXkodCkpe3ZhciBuPXRoaXM7ZT1lfHxbXSxBcnJheS5p
c0FycmF5KGUpfHwoZT1lLnNwbGl0KG4uZGVsaW1pdGVyKSk7Zm9yKHZhciByIGluIHQpdC5oYXNP
d25Qcm9wZXJ0eShyKSYmZnVuY3Rpb24oZSxyKXt2YXIgaT1lLG89ZS5zcGxpdChuLmRlbGltaXRl
ciksYT10eXBlb2YgdFtlXSxzPSIiPT09b1swXXx8IW4uX21ldGhvZHNbb1swXV0sdT1zPyJvbiI6
aTtpZihzJiYoaT1pLnNsaWNlKChpLm1hdGNoKG5ldyBSZWdFeHAoIl4iK24uZGVsaW1pdGVyKSl8
fFsiIl0pWzBdLmxlbmd0aCksby5zaGlmdCgpKSxzJiYib2JqZWN0Ij09PWEmJiFBcnJheS5pc0Fy
cmF5KHRbZV0pKXJldHVybiByPXIuY29uY2F0KG8pLHZvaWQgbi5tb3VudCh0W2VdLHIpO3MmJihy
PXIuY29uY2F0KGkuc3BsaXQobi5kZWxpbWl0ZXIpKSxyPWMocixuLmRlbGltaXRlcikpLG4uaW5z
ZXJ0KHUscix0W2VdKX0ocixlLnNsaWNlKDApKX19fShlKX0sLCwsLCwsLCxmdW5jdGlvbih0LGUp
e3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgbj1bXSxyPXt9LGk9MDtpPGUubGVuZ3Ro
O2krKyl7dmFyIG89ZVtpXSxhPW9bMF0scz1vWzFdLGM9b1syXSx1PW9bM10sbD17aWQ6dCsiOiIr
aSxjc3M6cyxtZWRpYTpjLHNvdXJjZU1hcDp1fTtyW2FdP3JbYV0ucGFydHMucHVzaChsKTpuLnB1
c2goclthXT17aWQ6YSxwYXJ0czpbbF19KX1yZXR1cm4gbn19LGZ1bmN0aW9uKHQsZSl7dmFyIG47
bj1mdW5jdGlvbigpe3JldHVybiB0aGlzfSgpO3RyeXtuPW58fEZ1bmN0aW9uKCJyZXR1cm4gdGhp
cyIpKCl8fCgwLGV2YWwpKCJ0aGlzIil9Y2F0Y2godCl7Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cm
JihuPXdpbmRvdyl9dC5leHBvcnRzPW59LGZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gbih0LGUpe3Zh
ciBuPXRbMV18fCIiLGk9dFszXTtpZighaSlyZXR1cm4gbjtpZihlJiYiZnVuY3Rpb24iPT10eXBl
b2YgYnRvYSl7dmFyIG89cihpKTtyZXR1cm5bbl0uY29uY2F0KGkuc291cmNlcy5tYXAoZnVuY3Rp
b24odCl7cmV0dXJuIi8qIyBzb3VyY2VVUkw9IitpLnNvdXJjZVJvb3QrdCsiICovIn0pKS5jb25j
YXQoW29dKS5qb2luKCJcbiIpfXJldHVybltuXS5qb2luKCJcbiIpfWZ1bmN0aW9uIHIodCl7cmV0
dXJuIi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0
Zi04O2Jhc2U2NCwiK2J0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5n
aWZ5KHQpKSkpKyIgKi8ifXQuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1bXTtyZXR1cm4gZS50
b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbihlKXt2YXIgcj1uKGUs
dCk7cmV0dXJuIGVbMl0/IkBtZWRpYSAiK2VbMl0rInsiK3IrIn0iOnJ9KS5qb2luKCIiKX0sZS5p
PWZ1bmN0aW9uKHQsbil7InN0cmluZyI9PXR5cGVvZiB0JiYodD1bW251bGwsdCwiIl1dKTtmb3Io
dmFyIHI9e30saT0wO2k8dGhpcy5sZW5ndGg7aSsrKXt2YXIgbz10aGlzW2ldWzBdOyJudW1iZXIi
PT10eXBlb2YgbyYmKHJbb109ITApfWZvcihpPTA7aTx0Lmxlbmd0aDtpKyspe3ZhciBhPXRbaV07
Im51bWJlciI9PXR5cGVvZiBhWzBdJiZyW2FbMF1dfHwobiYmIWFbMl0/YVsyXT1uOm4mJihhWzJd
PSIoIithWzJdKyIpIGFuZCAoIituKyIpIiksZS5wdXNoKGEpKX19LGV9fSxmdW5jdGlvbih0LGUs
bil7ZnVuY3Rpb24gcih0KXtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKyl7dmFyIG49dFtlXSxy
PWxbbi5pZF07aWYocil7ci5yZWZzKys7Zm9yKHZhciBpPTA7aTxyLnBhcnRzLmxlbmd0aDtpKysp
ci5wYXJ0c1tpXShuLnBhcnRzW2ldKTtmb3IoO2k8bi5wYXJ0cy5sZW5ndGg7aSsrKXIucGFydHMu
cHVzaChvKG4ucGFydHNbaV0pKTtyLnBhcnRzLmxlbmd0aD5uLnBhcnRzLmxlbmd0aCYmKHIucGFy
dHMubGVuZ3RoPW4ucGFydHMubGVuZ3RoKX1lbHNle2Zvcih2YXIgYT1bXSxpPTA7aTxuLnBhcnRz
Lmxlbmd0aDtpKyspYS5wdXNoKG8obi5wYXJ0c1tpXSkpO2xbbi5pZF09e2lkOm4uaWQscmVmczox
LHBhcnRzOmF9fX19ZnVuY3Rpb24gaSgpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0
eWxlIik7cmV0dXJuIHQudHlwZT0idGV4dC9jc3MiLGYuYXBwZW5kQ2hpbGQodCksdH1mdW5jdGlv
biBvKHQpe3ZhciBlLG4scj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzdHlsZVtkYXRhLXZ1ZS1z
c3ItaWR+PSInK3QuaWQrJyJdJyk7aWYocil7aWYodilyZXR1cm4gaDtyLnBhcmVudE5vZGUucmVt
b3ZlQ2hpbGQocil9aWYobSl7dmFyIG89ZCsrO3I9cHx8KHA9aSgpKSxlPWEuYmluZChudWxsLHIs
bywhMSksbj1hLmJpbmQobnVsbCxyLG8sITApfWVsc2Ugcj1pKCksZT1zLmJpbmQobnVsbCxyKSxu
PWZ1bmN0aW9uKCl7ci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIpfTtyZXR1cm4gZSh0KSxmdW5j
dGlvbihyKXtpZihyKXtpZihyLmNzcz09PXQuY3NzJiZyLm1lZGlhPT09dC5tZWRpYSYmci5zb3Vy
Y2VNYXA9PT10LnNvdXJjZU1hcClyZXR1cm47ZSh0PXIpfWVsc2UgbigpfX1mdW5jdGlvbiBhKHQs
ZSxuLHIpe3ZhciBpPW4/IiI6ci5jc3M7aWYodC5zdHlsZVNoZWV0KXQuc3R5bGVTaGVldC5jc3NU
ZXh0PXkoZSxpKTtlbHNle3ZhciBvPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGkpLGE9dC5jaGls
ZE5vZGVzO2FbZV0mJnQucmVtb3ZlQ2hpbGQoYVtlXSksYS5sZW5ndGg/dC5pbnNlcnRCZWZvcmUo
byxhW2VdKTp0LmFwcGVuZENoaWxkKG8pfX1mdW5jdGlvbiBzKHQsZSl7dmFyIG49ZS5jc3Mscj1l
Lm1lZGlhLGk9ZS5zb3VyY2VNYXA7aWYociYmdC5zZXRBdHRyaWJ1dGUoIm1lZGlhIixyKSxpJiYo
bis9IlxuLyojIHNvdXJjZVVSTD0iK2kuc291cmNlc1swXSsiICovIixuKz0iXG4vKiMgc291cmNl
TWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LCIrYnRvYSh1bmVzY2FwZShl
bmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoaSkpKSkrIiAqLyIpLHQuc3R5bGVTaGVl
dCl0LnN0eWxlU2hlZXQuY3NzVGV4dD1uO2Vsc2V7Zm9yKDt0LmZpcnN0Q2hpbGQ7KXQucmVtb3Zl
Q2hpbGQodC5maXJzdENoaWxkKTt0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2Rl
KG4pKX19dmFyIGM9InVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudDtpZigidW5kZWZpbmVkIiE9
dHlwZW9mIERFQlVHJiZERUJVRyYmIWMpdGhyb3cgbmV3IEVycm9yKCJ2dWUtc3R5bGUtbG9hZGVy
IGNhbm5vdCBiZSB1c2VkIGluIGEgbm9uLWJyb3dzZXIgZW52aXJvbm1lbnQuIFVzZSB7IHRhcmdl
dDogJ25vZGUnIH0gaW4geW91ciBXZWJwYWNrIGNvbmZpZyB0byBpbmRpY2F0ZSBhIHNlcnZlci1y
ZW5kZXJpbmcgZW52aXJvbm1lbnQuIik7dmFyIHU9bigxMSksbD17fSxmPWMmJihkb2N1bWVudC5o
ZWFkfHxkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdKSxwPW51bGwsZD0w
LHY9ITEsaD1mdW5jdGlvbigpe30sbT0idW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvciYmL21z
aWUgWzYtOV1cYi8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkpO3QuZXhw
b3J0cz1mdW5jdGlvbih0LGUsbil7dj1uO3ZhciBpPXUodCxlKTtyZXR1cm4gcihpKSxmdW5jdGlv
bihlKXtmb3IodmFyIG49W10sbz0wO288aS5sZW5ndGg7bysrKXt2YXIgYT1pW29dLHM9bFthLmlk
XTtzLnJlZnMtLSxuLnB1c2gocyl9ZT8oaT11KHQsZSkscihpKSk6aT1bXTtmb3IodmFyIG89MDtv
PG4ubGVuZ3RoO28rKyl7dmFyIHM9bltvXTtpZigwPT09cy5yZWZzKXtmb3IodmFyIGM9MDtjPHMu
cGFydHMubGVuZ3RoO2MrKylzLnBhcnRzW2NdKCk7ZGVsZXRlIGxbcy5pZF19fX19O3ZhciB5PWZ1
bmN0aW9uKCl7dmFyIHQ9W107cmV0dXJuIGZ1bmN0aW9uKGUsbil7cmV0dXJuIHRbZV09bix0LmZp
bHRlcihCb29sZWFuKS5qb2luKCJcbiIpfX0oKX1dKTsKKy8vIyBzb3VyY2VNYXBwaW5nVVJMPXZl
bmRvci4yZTRlOWU1Mjg2NjRmYTc5NmQzYS5qcy5tYXAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jlc291cmNlcy90
b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvZGlzdC9zdGF0aWMvanMvdmVu
ZG9yLjJlNGU5ZTUyODY2NGZhNzk2ZDNhLmpzLm1hcCBiL1BlcmZvcm1hbmNlVGVzdHMvU3BlZWRv
bWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9k
aXN0L3N0YXRpYy9qcy92ZW5kb3IuMmU0ZTllNTI4NjY0ZmE3OTZkM2EuanMubWFwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjBiNTc0ODk1ODA0YzFmNjk2ZGMyODM0NTI2NDllYjQ4MGQyNjUyNmYKLS0tIC9kZXYvbnVs
bAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jlc291cmNlcy90b2RvbXZjL2Fy
Y2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvZGlzdC9zdGF0aWMvanMvdmVuZG9yLjJlNGU5
ZTUyODY2NGZhNzk2ZDNhLmpzLm1hcApAQCAtMCwwICsxIEBACit7InZlcnNpb24iOjMsInNvdXJj
ZXMiOlsid2VicGFjazovLy9zdGF0aWMvanMvdmVuZG9yLjJlNGU5ZTUyODY2NGZhNzk2ZDNhLmpz
Iiwid2VicGFjazovLy8uL34vdnVlL2Rpc3QvdnVlLmVzbS5qcyIsIndlYnBhY2s6Ly8vLi9+L3Z1
ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyLmpzIiwid2VicGFjazovLy8uL34vZGly
ZWN0b3IvYnVpbGQvZGlyZWN0b3IuanMiLCJ3ZWJwYWNrOi8vLy4vfi92dWUtc3R5bGUtbG9hZGVy
L2xpYi9saXN0VG9TdHlsZXMuanMiLCJ3ZWJwYWNrOi8vLyh3ZWJwYWNrKS9idWlsZGluL2dsb2Jh
bC5qcyIsIndlYnBhY2s6Ly8vLi9+L2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzIiwid2VicGFj
azovLy8uL34vdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50LmpzIl0sIm5hbWVz
IjpbIndlYnBhY2tKc29ucCIsIm1vZHVsZSIsIl9fd2VicGFja19leHBvcnRzX18iLCJfX3dlYnBh
Y2tfcmVxdWlyZV9fIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZSIsImdsb2JhbCIs
ImlzVW5kZWYiLCJ2IiwidW5kZWZpbmVkIiwiaXNEZWYiLCJpc1RydWUiLCJpc0ZhbHNlIiwiaXNQ
cmltaXRpdmUiLCJpc09iamVjdCIsIm9iaiIsImlzUGxhaW5PYmplY3QiLCJfdG9TdHJpbmciLCJj
YWxsIiwiaXNSZWdFeHAiLCJpc1ZhbGlkQXJyYXlJbmRleCIsInZhbCIsIm4iLCJwYXJzZUZsb2F0
IiwiTWF0aCIsImZsb29yIiwiaXNGaW5pdGUiLCJ0b1N0cmluZyIsIkpTT04iLCJzdHJpbmdpZnki
LCJTdHJpbmciLCJ0b051bWJlciIsImlzTmFOIiwibWFrZU1hcCIsInN0ciIsImV4cGVjdHNMb3dl
ckNhc2UiLCJtYXAiLCJjcmVhdGUiLCJsaXN0Iiwic3BsaXQiLCJpIiwibGVuZ3RoIiwidG9Mb3dl
ckNhc2UiLCJyZW1vdmUiLCJhcnIiLCJpdGVtIiwiaW5kZXgiLCJpbmRleE9mIiwic3BsaWNlIiwi
aGFzT3duIiwia2V5IiwiaGFzT3duUHJvcGVydHkiLCJjYWNoZWQiLCJmbiIsImNhY2hlIiwiYmlu
ZCIsImN0eCIsImJvdW5kRm4iLCJhIiwibCIsImFyZ3VtZW50cyIsImFwcGx5IiwiX2xlbmd0aCIs
InRvQXJyYXkiLCJzdGFydCIsInJldCIsIkFycmF5IiwiZXh0ZW5kIiwidG8iLCJfZnJvbSIsInRv
T2JqZWN0IiwicmVzIiwibm9vcCIsImIiLCJjIiwibG9vc2VFcXVhbCIsImlzT2JqZWN0QSIsImlz
T2JqZWN0QiIsImlzQXJyYXlBIiwiaXNBcnJheSIsImlzQXJyYXlCIiwiZXZlcnkiLCJlIiwia2V5
c0EiLCJrZXlzIiwia2V5c0IiLCJsb29zZUluZGV4T2YiLCJvbmNlIiwiY2FsbGVkIiwidGhpcyIs
ImlzUmVzZXJ2ZWQiLCJjaGFyQ29kZUF0IiwiZGVmIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwi
Y29uZmlndXJhYmxlIiwicGFyc2VQYXRoIiwicGF0aCIsImJhaWxSRSIsInRlc3QiLCJzZWdtZW50
cyIsImhhbmRsZUVycm9yIiwiZXJyIiwidm0iLCJpbmZvIiwiY29uZmlnIiwiZXJyb3JIYW5kbGVy
IiwiaW5Ccm93c2VyIiwiY29uc29sZSIsImVycm9yIiwiaXNOYXRpdmUiLCJDdG9yIiwicHVzaFRh
cmdldCIsIl90YXJnZXQiLCJEZXAiLCJ0YXJnZXQiLCJ0YXJnZXRTdGFjayIsInB1c2giLCJwb3BU
YXJnZXQiLCJwb3AiLCJwcm90b0F1Z21lbnQiLCJzcmMiLCJfX3Byb3RvX18iLCJjb3B5QXVnbWVu
dCIsIm9ic2VydmUiLCJhc1Jvb3REYXRhIiwib2IiLCJfX29iX18iLCJPYnNlcnZlciIsIm9ic2Vy
dmVyU3RhdGUiLCJzaG91bGRDb252ZXJ0IiwiaXNTZXJ2ZXJSZW5kZXJpbmciLCJpc0V4dGVuc2li
bGUiLCJfaXNWdWUiLCJ2bUNvdW50IiwiZGVmaW5lUmVhY3RpdmUkJDEiLCJjdXN0b21TZXR0ZXIi
LCJzaGFsbG93IiwiZGVwIiwicHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJn
ZXR0ZXIiLCJnZXQiLCJzZXR0ZXIiLCJzZXQiLCJjaGlsZE9iIiwiZGVwZW5kIiwiZGVwZW5kQXJy
YXkiLCJuZXdWYWwiLCJub3RpZnkiLCJtYXgiLCJkZWwiLCJtZXJnZURhdGEiLCJmcm9tIiwidG9W
YWwiLCJmcm9tVmFsIiwibWVyZ2VEYXRhT3JGbiIsInBhcmVudFZhbCIsImNoaWxkVmFsIiwiaW5z
dGFuY2VEYXRhIiwiZGVmYXVsdERhdGEiLCJtZXJnZUhvb2siLCJjb25jYXQiLCJtZXJnZUFzc2V0
cyIsIm5vcm1hbGl6ZVByb3BzIiwib3B0aW9ucyIsInByb3BzIiwibmFtZSIsImNhbWVsaXplIiwi
dHlwZSIsIm5vcm1hbGl6ZUluamVjdCIsImluamVjdCIsIm5vcm1hbGl6ZWQiLCJub3JtYWxpemVE
aXJlY3RpdmVzIiwiZGlycyIsImRpcmVjdGl2ZXMiLCJ1cGRhdGUiLCJtZXJnZU9wdGlvbnMiLCJw
YXJlbnQiLCJjaGlsZCIsIm1lcmdlRmllbGQiLCJzdHJhdCIsInN0cmF0cyIsImRlZmF1bHRTdHJh
dCIsImV4dGVuZHNGcm9tIiwiZXh0ZW5kcyIsIm1peGlucyIsInJlc29sdmVBc3NldCIsImlkIiwi
d2Fybk1pc3NpbmciLCJhc3NldHMiLCJjYW1lbGl6ZWRJZCIsIlBhc2NhbENhc2VJZCIsImNhcGl0
YWxpemUiLCJ2YWxpZGF0ZVByb3AiLCJwcm9wT3B0aW9ucyIsInByb3BzRGF0YSIsInByb3AiLCJh
YnNlbnQiLCJpc1R5cGUiLCJCb29sZWFuIiwiaHlwaGVuYXRlIiwiZ2V0UHJvcERlZmF1bHRWYWx1
ZSIsInByZXZTaG91bGRDb252ZXJ0IiwiZGVmYXVsdCIsIiRvcHRpb25zIiwiX3Byb3BzIiwiZ2V0
VHlwZSIsIm1hdGNoIiwibGVuIiwiY3JlYXRlVGV4dFZOb2RlIiwiVk5vZGUiLCJjbG9uZVZOb2Rl
Iiwidm5vZGUiLCJjbG9uZWQiLCJ0YWciLCJkYXRhIiwiY2hpbGRyZW4iLCJ0ZXh0IiwiZWxtIiwi
Y29udGV4dCIsImNvbXBvbmVudE9wdGlvbnMiLCJhc3luY0ZhY3RvcnkiLCJucyIsImlzU3RhdGlj
IiwiaXNDb21tZW50IiwiaXNDbG9uZWQiLCJjbG9uZVZOb2RlcyIsInZub2RlcyIsImNyZWF0ZUZu
SW52b2tlciIsImZucyIsImludm9rZXIiLCJhcmd1bWVudHMkMSIsInNsaWNlIiwidXBkYXRlTGlz
dGVuZXJzIiwib24iLCJvbGRPbiIsImFkZCIsInJlbW92ZSQkMSIsImN1ciIsIm9sZCIsImV2ZW50
Iiwibm9ybWFsaXplRXZlbnQiLCJjYXB0dXJlIiwicGFzc2l2ZSIsIm1lcmdlVk5vZGVIb29rIiwi
aG9va0tleSIsImhvb2siLCJ3cmFwcGVkSG9vayIsIm9sZEhvb2siLCJtZXJnZWQiLCJleHRyYWN0
UHJvcHNGcm9tVk5vZGVEYXRhIiwiYXR0cnMiLCJhbHRLZXkiLCJjaGVja1Byb3AiLCJoYXNoIiwi
cHJlc2VydmUiLCJzaW1wbGVOb3JtYWxpemVDaGlsZHJlbiIsInByb3RvdHlwZSIsIm5vcm1hbGl6
ZUNoaWxkcmVuIiwibm9ybWFsaXplQXJyYXlDaGlsZHJlbiIsImlzVGV4dE5vZGUiLCJub2RlIiwi
bmVzdGVkSW5kZXgiLCJsYXN0IiwiX2lzVkxpc3QiLCJlbnN1cmVDdG9yIiwiY29tcCIsImJhc2Ui
LCJfX2VzTW9kdWxlIiwiY3JlYXRlQXN5bmNQbGFjZWhvbGRlciIsImZhY3RvcnkiLCJjcmVhdGVF
bXB0eVZOb2RlIiwiYXN5bmNNZXRhIiwicmVzb2x2ZUFzeW5jQ29tcG9uZW50IiwiYmFzZUN0b3Ii
LCJlcnJvckNvbXAiLCJyZXNvbHZlZCIsImxvYWRpbmciLCJsb2FkaW5nQ29tcCIsImNvbnRleHRz
Iiwic3luYyIsImZvcmNlUmVuZGVyIiwiJGZvcmNlVXBkYXRlIiwicmVzb2x2ZSIsInJlamVjdCIs
InJlYXNvbiIsInRoZW4iLCJjb21wb25lbnQiLCJkZWxheSIsInNldFRpbWVvdXQiLCJ0aW1lb3V0
IiwiZ2V0Rmlyc3RDb21wb25lbnRDaGlsZCIsImluaXRFdmVudHMiLCJfZXZlbnRzIiwiX2hhc0hv
b2tFdmVudCIsImxpc3RlbmVycyIsIl9wYXJlbnRMaXN0ZW5lcnMiLCJ1cGRhdGVDb21wb25lbnRM
aXN0ZW5lcnMiLCJvbmNlJCQxIiwiJG9uY2UiLCIkb24iLCJyZW1vdmUkMSIsIiRvZmYiLCJvbGRM
aXN0ZW5lcnMiLCJyZXNvbHZlU2xvdHMiLCJzbG90cyIsImRlZmF1bHRTbG90IiwiZnVuY3Rpb25h
bENvbnRleHQiLCJzbG90IiwiaXNXaGl0ZXNwYWNlIiwicmVzb2x2ZVNjb3BlZFNsb3RzIiwiaW5p
dExpZmVjeWNsZSIsImFic3RyYWN0IiwiJHBhcmVudCIsIiRjaGlsZHJlbiIsIiRyb290IiwiJHJl
ZnMiLCJfd2F0Y2hlciIsIl9pbmFjdGl2ZSIsIl9kaXJlY3RJbmFjdGl2ZSIsIl9pc01vdW50ZWQi
LCJfaXNEZXN0cm95ZWQiLCJfaXNCZWluZ0Rlc3Ryb3llZCIsIm1vdW50Q29tcG9uZW50IiwiZWwi
LCJoeWRyYXRpbmciLCIkZWwiLCJyZW5kZXIiLCJjYWxsSG9vayIsInVwZGF0ZUNvbXBvbmVudCIs
Il91cGRhdGUiLCJfcmVuZGVyIiwiV2F0Y2hlciIsIiR2bm9kZSIsInVwZGF0ZUNoaWxkQ29tcG9u
ZW50IiwicGFyZW50Vm5vZGUiLCJyZW5kZXJDaGlsZHJlbiIsImhhc0NoaWxkcmVuIiwiX3JlbmRl
ckNoaWxkcmVuIiwic2NvcGVkU2xvdHMiLCIkc2NvcGVkU2xvdHMiLCJlbXB0eU9iamVjdCIsIl9w
YXJlbnRWbm9kZSIsIl92bm9kZSIsIiRhdHRycyIsIiRsaXN0ZW5lcnMiLCJwcm9wS2V5cyIsIl9w
cm9wS2V5cyIsIiRzbG90cyIsImlzSW5JbmFjdGl2ZVRyZWUiLCJhY3RpdmF0ZUNoaWxkQ29tcG9u
ZW50IiwiZGlyZWN0IiwiZGVhY3RpdmF0ZUNoaWxkQ29tcG9uZW50IiwiaGFuZGxlcnMiLCJqIiwi
JGVtaXQiLCJyZXNldFNjaGVkdWxlclN0YXRlIiwicXVldWUiLCJhY3RpdmF0ZWRDaGlsZHJlbiIs
ImhhcyIsIndhaXRpbmciLCJmbHVzaGluZyIsImZsdXNoU2NoZWR1bGVyUXVldWUiLCJ3YXRjaGVy
Iiwic29ydCIsInJ1biIsImFjdGl2YXRlZFF1ZXVlIiwidXBkYXRlZFF1ZXVlIiwiY2FsbEFjdGl2
YXRlZEhvb2tzIiwiY2FsbFVwZGF0ZWRIb29rcyIsImRldnRvb2xzIiwiZW1pdCIsInF1ZXVlQWN0
aXZhdGVkQ29tcG9uZW50IiwicXVldWVXYXRjaGVyIiwibmV4dFRpY2siLCJ0cmF2ZXJzZSIsInNl
ZW5PYmplY3RzIiwiY2xlYXIiLCJfdHJhdmVyc2UiLCJzZWVuIiwiaXNBIiwiZGVwSWQiLCJwcm94
eSIsInNvdXJjZUtleSIsInNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbiIsImluaXRTdGF0ZSIsIl93
YXRjaGVycyIsIm9wdHMiLCJpbml0UHJvcHMiLCJtZXRob2RzIiwiaW5pdE1ldGhvZHMiLCJpbml0
RGF0YSIsIl9kYXRhIiwiY29tcHV0ZWQiLCJpbml0Q29tcHV0ZWQiLCJ3YXRjaCIsIm5hdGl2ZVdh
dGNoIiwiaW5pdFdhdGNoIiwicHJvcHNPcHRpb25zIiwiaXNSb290IiwiZ2V0RGF0YSIsIndhdGNo
ZXJzIiwiX2NvbXB1dGVkV2F0Y2hlcnMiLCJ1c2VyRGVmIiwiY29tcHV0ZWRXYXRjaGVyT3B0aW9u
cyIsImRlZmluZUNvbXB1dGVkIiwiY3JlYXRlQ29tcHV0ZWRHZXR0ZXIiLCJkaXJ0eSIsImV2YWx1
YXRlIiwiaGFuZGxlciIsImNyZWF0ZVdhdGNoZXIiLCJrZXlPckZuIiwiJHdhdGNoIiwiaW5pdFBy
b3ZpZGUiLCJwcm92aWRlIiwiX3Byb3ZpZGVkIiwiaW5pdEluamVjdGlvbnMiLCJyZXN1bHQiLCJy
ZXNvbHZlSW5qZWN0IiwiZm9yRWFjaCIsImhhc1N5bWJvbCIsIlJlZmxlY3QiLCJvd25LZXlzIiwi
cHJvdmlkZUtleSIsInNvdXJjZSIsImNyZWF0ZUZ1bmN0aW9uYWxDb21wb25lbnQiLCJtZXJnZVBy
b3BzIiwiX2NvbnRleHQiLCJoIiwiZCIsImNyZWF0ZUVsZW1lbnQiLCJpbmplY3Rpb25zIiwiZnVu
Y3Rpb25hbE9wdGlvbnMiLCJjcmVhdGVDb21wb25lbnQiLCJfYmFzZSIsImNpZCIsInJlc29sdmVD
b25zdHJ1Y3Rvck9wdGlvbnMiLCJtb2RlbCIsInRyYW5zZm9ybU1vZGVsIiwiZnVuY3Rpb25hbCIs
Im5hdGl2ZU9uIiwibWVyZ2VIb29rcyIsImNyZWF0ZUNvbXBvbmVudEluc3RhbmNlRm9yVm5vZGUi
LCJwYXJlbnRFbG0iLCJyZWZFbG0iLCJ2bm9kZUNvbXBvbmVudE9wdGlvbnMiLCJfaXNDb21wb25l
bnQiLCJfY29tcG9uZW50VGFnIiwiX3BhcmVudEVsbSIsIl9yZWZFbG0iLCJpbmxpbmVUZW1wbGF0
ZSIsInN0YXRpY1JlbmRlckZucyIsImhvb2tzVG9NZXJnZSIsImZyb21QYXJlbnQiLCJvdXJzIiwi
Y29tcG9uZW50Vk5vZGVIb29rcyIsIm1lcmdlSG9vayQxIiwib25lIiwidHdvIiwiY2FsbGJhY2si
LCJub3JtYWxpemF0aW9uVHlwZSIsImFsd2F5c05vcm1hbGl6ZSIsIkFMV0FZU19OT1JNQUxJWkUi
LCJfY3JlYXRlRWxlbWVudCIsImlzIiwiU0lNUExFX05PUk1BTElaRSIsImdldFRhZ05hbWVzcGFj
ZSIsImlzUmVzZXJ2ZWRUYWciLCJwYXJzZVBsYXRmb3JtVGFnTmFtZSIsImFwcGx5TlMiLCJyZW5k
ZXJMaXN0IiwicmVuZGVyU2xvdCIsImZhbGxiYWNrIiwiYmluZE9iamVjdCIsInNjb3BlZFNsb3RG
biIsInNsb3ROb2RlcyIsInJlc29sdmVGaWx0ZXIiLCJpZGVudGl0eSIsImNoZWNrS2V5Q29kZXMi
LCJldmVudEtleUNvZGUiLCJidWlsdEluQWxpYXMiLCJrZXlDb2RlcyIsImJpbmRPYmplY3RQcm9w
cyIsImFzUHJvcCIsImlzU3luYyIsImlzUmVzZXJ2ZWRBdHRyaWJ1dGUiLCJtdXN0VXNlUHJvcCIs
ImRvbVByb3BzIiwiJGV2ZW50IiwicmVuZGVyU3RhdGljIiwiaXNJbkZvciIsInRyZWUiLCJfc3Rh
dGljVHJlZXMiLCJfcmVuZGVyUHJveHkiLCJtYXJrU3RhdGljIiwibWFya09uY2UiLCJpc09uY2Ui
LCJtYXJrU3RhdGljTm9kZSIsImJpbmRPYmplY3RMaXN0ZW5lcnMiLCJleGlzdGluZyIsImluaXRS
ZW5kZXIiLCJyZW5kZXJDb250ZXh0IiwiX2MiLCIkY3JlYXRlRWxlbWVudCIsInBhcmVudERhdGEi
LCJpbml0SW50ZXJuYWxDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInN1cGVyIiwic3VwZXJPcHRp
b25zIiwibW9kaWZpZWRPcHRpb25zIiwicmVzb2x2ZU1vZGlmaWVkT3B0aW9ucyIsImV4dGVuZE9w
dGlvbnMiLCJjb21wb25lbnRzIiwibW9kaWZpZWQiLCJsYXRlc3QiLCJleHRlbmRlZCIsInNlYWxl
ZCIsInNlYWxlZE9wdGlvbnMiLCJkZWR1cGUiLCJWdWUkMyIsIl9pbml0IiwiaW5pdFVzZSIsIlZ1
ZSIsInVzZSIsInBsdWdpbiIsImluc3RhbGxlZFBsdWdpbnMiLCJfaW5zdGFsbGVkUGx1Z2lucyIs
ImFyZ3MiLCJ1bnNoaWZ0IiwiaW5zdGFsbCIsImluaXRNaXhpbiQxIiwibWl4aW4iLCJpbml0RXh0
ZW5kIiwiU3VwZXIiLCJTdXBlcklkIiwiY2FjaGVkQ3RvcnMiLCJfQ3RvciIsIlN1YiIsImluaXRQ
cm9wcyQxIiwiaW5pdENvbXB1dGVkJDEiLCJBU1NFVF9UWVBFUyIsIkNvbXAiLCJpbml0QXNzZXRS
ZWdpc3RlcnMiLCJkZWZpbml0aW9uIiwiZ2V0Q29tcG9uZW50TmFtZSIsIm1hdGNoZXMiLCJwYXR0
ZXJuIiwicHJ1bmVDYWNoZSIsImN1cnJlbnQiLCJmaWx0ZXIiLCJjYWNoZWROb2RlIiwicHJ1bmVD
YWNoZUVudHJ5IiwiY29tcG9uZW50SW5zdGFuY2UiLCIkZGVzdHJveSIsImdlbkNsYXNzRm9yVm5v
ZGUiLCJwYXJlbnROb2RlIiwiY2hpbGROb2RlIiwibWVyZ2VDbGFzc0RhdGEiLCJyZW5kZXJDbGFz
cyIsInN0YXRpY0NsYXNzIiwiY2xhc3MiLCJkeW5hbWljQ2xhc3MiLCJzdHJpbmdpZnlDbGFzcyIs
InN0cmluZ2lmeUFycmF5Iiwic3RyaW5naWZ5T2JqZWN0Iiwic3RyaW5naWZpZWQiLCJpc1NWRyIs
ImlzVW5rbm93bkVsZW1lbnQiLCJ1bmtub3duRWxlbWVudENhY2hlIiwiZG9jdW1lbnQiLCJ3aW5k
b3ciLCJIVE1MVW5rbm93bkVsZW1lbnQiLCJIVE1MRWxlbWVudCIsInF1ZXJ5Iiwic2VsZWN0ZWQi
LCJxdWVyeVNlbGVjdG9yIiwiY3JlYXRlRWxlbWVudCQxIiwidGFnTmFtZSIsIm11bHRpcGxlIiwi
c2V0QXR0cmlidXRlIiwiY3JlYXRlRWxlbWVudE5TIiwibmFtZXNwYWNlIiwibmFtZXNwYWNlTWFw
IiwiY3JlYXRlVGV4dE5vZGUiLCJjcmVhdGVDb21tZW50IiwiaW5zZXJ0QmVmb3JlIiwibmV3Tm9k
ZSIsInJlZmVyZW5jZU5vZGUiLCJyZW1vdmVDaGlsZCIsImFwcGVuZENoaWxkIiwibmV4dFNpYmxp
bmciLCJzZXRUZXh0Q29udGVudCIsInRleHRDb250ZW50IiwicmVnaXN0ZXJSZWYiLCJpc1JlbW92
YWwiLCJyZWYiLCJyZWZzIiwicmVmSW5Gb3IiLCJzYW1lVm5vZGUiLCJzYW1lSW5wdXRUeXBlIiwi
aXNBc3luY1BsYWNlaG9sZGVyIiwiY3JlYXRlS2V5VG9PbGRJZHgiLCJiZWdpbklkeCIsImVuZElk
eCIsInVwZGF0ZURpcmVjdGl2ZXMiLCJvbGRWbm9kZSIsIm9sZERpciIsImRpciIsImlzQ3JlYXRl
IiwiZW1wdHlOb2RlIiwiaXNEZXN0cm95Iiwib2xkRGlycyIsIm5vcm1hbGl6ZURpcmVjdGl2ZXMk
MSIsIm5ld0RpcnMiLCJkaXJzV2l0aEluc2VydCIsImRpcnNXaXRoUG9zdHBhdGNoIiwib2xkVmFs
dWUiLCJjYWxsSG9vayQxIiwiY29tcG9uZW50VXBkYXRlZCIsImluc2VydGVkIiwiY2FsbEluc2Vy
dCIsIm1vZGlmaWVycyIsImVtcHR5TW9kaWZpZXJzIiwiZ2V0UmF3RGlyTmFtZSIsInJhd05hbWUi
LCJqb2luIiwidXBkYXRlQXR0cnMiLCJpbmhlcml0QXR0cnMiLCJvbGRBdHRycyIsInNldEF0dHIi
LCJpc0lFOSIsImlzWGxpbmsiLCJyZW1vdmVBdHRyaWJ1dGVOUyIsInhsaW5rTlMiLCJnZXRYbGlu
a1Byb3AiLCJpc0VudW1lcmF0ZWRBdHRyIiwicmVtb3ZlQXR0cmlidXRlIiwiaXNCb29sZWFuQXR0
ciIsImlzRmFsc3lBdHRyVmFsdWUiLCJzZXRBdHRyaWJ1dGVOUyIsInVwZGF0ZUNsYXNzIiwib2xk
RGF0YSIsImNscyIsInRyYW5zaXRpb25DbGFzcyIsIl90cmFuc2l0aW9uQ2xhc3NlcyIsIl9wcmV2
Q2xhc3MiLCJwYXJzZUZpbHRlcnMiLCJleHAiLCJwdXNoRmlsdGVyIiwiZmlsdGVycyIsImxhc3RG
aWx0ZXJJbmRleCIsInRyaW0iLCJwcmV2IiwiZXhwcmVzc2lvbiIsImluU2luZ2xlIiwiaW5Eb3Vi
bGUiLCJpblRlbXBsYXRlU3RyaW5nIiwiaW5SZWdleCIsImN1cmx5Iiwic3F1YXJlIiwicGFyZW4i
LCJwIiwiY2hhckF0IiwidmFsaWREaXZpc2lvbkNoYXJSRSIsIndyYXBGaWx0ZXIiLCJiYXNlV2Fy
biIsIm1zZyIsInBsdWNrTW9kdWxlRnVuY3Rpb24iLCJtb2R1bGVzIiwibSIsIl8iLCJhZGRQcm9w
IiwiYWRkQXR0ciIsImFkZERpcmVjdGl2ZSIsImFyZyIsImFkZEhhbmRsZXIiLCJpbXBvcnRhbnQi
LCJ3YXJuIiwiZXZlbnRzIiwibmF0aXZlIiwibmF0aXZlRXZlbnRzIiwibmV3SGFuZGxlciIsImdl
dEJpbmRpbmdBdHRyIiwiZ2V0U3RhdGljIiwiZHluYW1pY1ZhbHVlIiwiZ2V0QW5kUmVtb3ZlQXR0
ciIsInN0YXRpY1ZhbHVlIiwiYXR0cnNNYXAiLCJhdHRyc0xpc3QiLCJnZW5Db21wb25lbnRNb2Rl
bCIsIm51bWJlciIsInZhbHVlRXhwcmVzc2lvbiIsImFzc2lnbm1lbnQiLCJnZW5Bc3NpZ25tZW50
Q29kZSIsIm1vZGVsUnMiLCJwYXJzZU1vZGVsIiwiaWR4IiwiaW5kZXgkMSIsImV4cHJlc3Npb25Q
b3MiLCJleHByZXNzaW9uRW5kUG9zIiwibGFzdEluZGV4T2YiLCJlb2YiLCJjaHIiLCJuZXh0Iiwi
aXNTdHJpbmdTdGFydCIsInBhcnNlU3RyaW5nIiwicGFyc2VCcmFja2V0Iiwic3Vic3RyaW5nIiwi
aW5CcmFja2V0Iiwic3RyaW5nUXVvdGUiLCJfd2FybiIsIndhcm4kMSIsImdlblNlbGVjdCIsImdl
bkNoZWNrYm94TW9kZWwiLCJnZW5SYWRpb01vZGVsIiwiZ2VuRGVmYXVsdE1vZGVsIiwidmFsdWVC
aW5kaW5nIiwidHJ1ZVZhbHVlQmluZGluZyIsImZhbHNlVmFsdWVCaW5kaW5nIiwiQ0hFQ0tCT1hf
UkFESU9fVE9LRU4iLCJzZWxlY3RlZFZhbCIsImNvZGUiLCJsYXp5IiwibmVlZENvbXBvc2l0aW9u
R3VhcmQiLCJSQU5HRV9UT0tFTiIsIm5vcm1hbGl6ZUV2ZW50cyIsImlzSUUiLCJpc0Nocm9tZSIs
ImFkZCQxIiwib2xkSGFuZGxlciIsInRhcmdldCQxIiwiZXYiLCJyZW1vdmUkMiIsImFkZEV2ZW50
TGlzdGVuZXIiLCJzdXBwb3J0c1Bhc3NpdmUiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwidXBkYXRl
RE9NTGlzdGVuZXJzIiwidXBkYXRlRE9NUHJvcHMiLCJvbGRQcm9wcyIsIl92YWx1ZSIsInN0ckN1
ciIsInNob3VsZFVwZGF0ZVZhbHVlIiwiY2hlY2tWYWwiLCJjb21wb3NpbmciLCJpc0RpcnR5Iiwi
aXNJbnB1dENoYW5nZWQiLCJub3RJbkZvY3VzIiwiYWN0aXZlRWxlbWVudCIsIl92TW9kaWZpZXJz
Iiwibm9ybWFsaXplU3R5bGVEYXRhIiwic3R5bGUiLCJub3JtYWxpemVTdHlsZUJpbmRpbmciLCJz
dGF0aWNTdHlsZSIsImJpbmRpbmdTdHlsZSIsInBhcnNlU3R5bGVUZXh0IiwiZ2V0U3R5bGUiLCJj
aGVja0NoaWxkIiwic3R5bGVEYXRhIiwidXBkYXRlU3R5bGUiLCJvbGRTdGF0aWNTdHlsZSIsIm9s
ZFN0eWxlQmluZGluZyIsIm5vcm1hbGl6ZWRTdHlsZSIsIm9sZFN0eWxlIiwibmV3U3R5bGUiLCJz
ZXRQcm9wIiwiYWRkQ2xhc3MiLCJjbGFzc0xpc3QiLCJnZXRBdHRyaWJ1dGUiLCJyZW1vdmVDbGFz
cyIsInRhciIsInJlcGxhY2UiLCJyZXNvbHZlVHJhbnNpdGlvbiIsImRlZiQkMSIsImNzcyIsImF1
dG9Dc3NUcmFuc2l0aW9uIiwibmV4dEZyYW1lIiwicmFmIiwiYWRkVHJhbnNpdGlvbkNsYXNzIiwi
dHJhbnNpdGlvbkNsYXNzZXMiLCJyZW1vdmVUcmFuc2l0aW9uQ2xhc3MiLCJ3aGVuVHJhbnNpdGlv
bkVuZHMiLCJleHBlY3RlZFR5cGUiLCJjYiIsImdldFRyYW5zaXRpb25JbmZvIiwicHJvcENvdW50
IiwiVFJBTlNJVElPTiIsInRyYW5zaXRpb25FbmRFdmVudCIsImFuaW1hdGlvbkVuZEV2ZW50Iiwi
ZW5kZWQiLCJlbmQiLCJvbkVuZCIsInN0eWxlcyIsImdldENvbXB1dGVkU3R5bGUiLCJ0cmFuc2l0
aW9uRGVsYXlzIiwidHJhbnNpdGlvblByb3AiLCJ0cmFuc2l0aW9uRHVyYXRpb25zIiwidHJhbnNp
dGlvblRpbWVvdXQiLCJnZXRUaW1lb3V0IiwiYW5pbWF0aW9uRGVsYXlzIiwiYW5pbWF0aW9uUHJv
cCIsImFuaW1hdGlvbkR1cmF0aW9ucyIsImFuaW1hdGlvblRpbWVvdXQiLCJBTklNQVRJT04iLCJo
YXNUcmFuc2Zvcm0iLCJ0cmFuc2Zvcm1SRSIsImRlbGF5cyIsImR1cmF0aW9ucyIsInRvTXMiLCJz
IiwiTnVtYmVyIiwiZW50ZXIiLCJ0b2dnbGVEaXNwbGF5IiwiX2xlYXZlQ2IiLCJjYW5jZWxsZWQi
LCJ0cmFuc2l0aW9uIiwiX2VudGVyQ2IiLCJub2RlVHlwZSIsImVudGVyQ2xhc3MiLCJlbnRlclRv
Q2xhc3MiLCJlbnRlckFjdGl2ZUNsYXNzIiwiYXBwZWFyQ2xhc3MiLCJhcHBlYXJUb0NsYXNzIiwi
YXBwZWFyQWN0aXZlQ2xhc3MiLCJiZWZvcmVFbnRlciIsImFmdGVyRW50ZXIiLCJlbnRlckNhbmNl
bGxlZCIsImJlZm9yZUFwcGVhciIsImFwcGVhciIsImFmdGVyQXBwZWFyIiwiYXBwZWFyQ2FuY2Vs
bGVkIiwiZHVyYXRpb24iLCJhY3RpdmVJbnN0YW5jZSIsInRyYW5zaXRpb25Ob2RlIiwiaXNBcHBl
YXIiLCJpc1Jvb3RJbnNlcnQiLCJzdGFydENsYXNzIiwiYWN0aXZlQ2xhc3MiLCJ0b0NsYXNzIiwi
YmVmb3JlRW50ZXJIb29rIiwiZW50ZXJIb29rIiwiYWZ0ZXJFbnRlckhvb2siLCJlbnRlckNhbmNl
bGxlZEhvb2siLCJleHBsaWNpdEVudGVyRHVyYXRpb24iLCJleHBlY3RzQ1NTIiwidXNlcldhbnRz
Q29udHJvbCIsImdldEhvb2tBcmd1bWVudHNMZW5ndGgiLCJzaG93IiwicGVuZGluZ05vZGUiLCJf
cGVuZGluZyIsImlzVmFsaWREdXJhdGlvbiIsImxlYXZlIiwicm0iLCJwZXJmb3JtTGVhdmUiLCJi
ZWZvcmVMZWF2ZSIsImxlYXZlQ2xhc3MiLCJsZWF2ZUFjdGl2ZUNsYXNzIiwibGVhdmVUb0NsYXNz
IiwiZXhwbGljaXRMZWF2ZUR1cmF0aW9uIiwiYWZ0ZXJMZWF2ZSIsImxlYXZlQ2FuY2VsbGVkIiwi
ZGVsYXlMZWF2ZSIsImludm9rZXJGbnMiLCJfZW50ZXIiLCJzZXRTZWxlY3RlZCIsImJpbmRpbmci
LCJpc011bHRpcGxlIiwib3B0aW9uIiwiZ2V0VmFsdWUiLCJzZWxlY3RlZEluZGV4Iiwib25Db21w
b3NpdGlvblN0YXJ0Iiwib25Db21wb3NpdGlvbkVuZCIsInRyaWdnZXIiLCJjcmVhdGVFdmVudCIs
ImluaXRFdmVudCIsImRpc3BhdGNoRXZlbnQiLCJsb2NhdGVOb2RlIiwiZ2V0UmVhbENoaWxkIiwi
Y29tcE9wdGlvbnMiLCJleHRyYWN0VHJhbnNpdGlvbkRhdGEiLCJrZXkkMSIsInBsYWNlaG9sZGVy
IiwicmF3Q2hpbGQiLCJoYXNQYXJlbnRUcmFuc2l0aW9uIiwiaXNTYW1lQ2hpbGQiLCJvbGRDaGls
ZCIsImNhbGxQZW5kaW5nQ2JzIiwiX21vdmVDYiIsInJlY29yZFBvc2l0aW9uIiwibmV3UG9zIiwi
Z2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiYXBwbHlUcmFuc2xhdGlvbiIsIm9sZFBvcyIsInBvcyIs
ImR4IiwibGVmdCIsImR5IiwidG9wIiwibW92ZWQiLCJ0cmFuc2Zvcm0iLCJXZWJraXRUcmFuc2Zv
cm0iLCJ0cmFuc2l0aW9uRHVyYXRpb24iLCJwYXJzZVRleHQiLCJkZWxpbWl0ZXJzIiwidGFnUkUi
LCJidWlsZFJlZ2V4IiwiZGVmYXVsdFRhZ1JFIiwidG9rZW5zIiwibGFzdEluZGV4IiwiZXhlYyIs
InRyYW5zZm9ybU5vZGUiLCJjbGFzc0JpbmRpbmciLCJnZW5EYXRhIiwidHJhbnNmb3JtTm9kZSQx
Iiwic3R5bGVCaW5kaW5nIiwiZ2VuRGF0YSQxIiwiaHRtbCIsImRlY29kZUF0dHIiLCJzaG91bGRE
ZWNvZGVOZXdsaW5lcyIsInJlIiwiZW5jb2RlZEF0dHJXaXRoTmV3TGluZXMiLCJlbmNvZGVkQXR0
ciIsImRlY29kaW5nTWFwIiwicGFyc2VIVE1MIiwiYWR2YW5jZSIsInBhcnNlRW5kVGFnIiwibG93
ZXJDYXNlZFRhZ05hbWUiLCJzdGFjayIsImxvd2VyQ2FzZWRUYWciLCJsYXN0VGFnIiwiZXhwZWN0
SFRNTCIsImlzVW5hcnlUYWckJDEiLCJpc1VuYXJ5VGFnIiwibm8iLCJjYW5CZUxlZnRPcGVuVGFn
JCQxIiwiY2FuQmVMZWZ0T3BlblRhZyIsImlzUGxhaW5UZXh0RWxlbWVudCIsImVuZFRhZ0xlbmd0
aCIsInN0YWNrZWRUYWciLCJyZVN0YWNrZWRUYWciLCJyZUNhY2hlIiwiUmVnRXhwIiwicmVzdCQx
IiwiYWxsIiwiZW5kVGFnIiwic2hvdWxkSWdub3JlRmlyc3ROZXdsaW5lIiwiY2hhcnMiLCJ0ZXh0
RW5kIiwiY29tbWVudCIsImNvbW1lbnRFbmQiLCJzaG91bGRLZWVwQ29tbWVudCIsImNvbmRpdGlv
bmFsQ29tbWVudCIsImNvbmRpdGlvbmFsRW5kIiwiZG9jdHlwZU1hdGNoIiwiZG9jdHlwZSIsImVu
ZFRhZ01hdGNoIiwiY3VySW5kZXgiLCJzdGFydFRhZ01hdGNoIiwic3RhcnRUYWdPcGVuIiwiYXR0
ciIsInN0YXJ0VGFnQ2xvc2UiLCJhdHRyaWJ1dGUiLCJ1bmFyeVNsYXNoIiwiaXNOb25QaHJhc2lu
Z1RhZyIsInVuYXJ5IiwiSVNfUkVHRVhfQ0FQVFVSSU5HX0JST0tFTiIsInJlc3QiLCJwYXJzZSIs
InRlbXBsYXRlIiwiZW5kUHJlIiwiZWxlbWVudCIsInByZSIsImluVlByZSIsInBsYXRmb3JtSXNQ
cmVUYWciLCJpblByZSIsIndhcm4kMiIsImlzUHJlVGFnIiwicGxhdGZvcm1NdXN0VXNlUHJvcCIs
InBsYXRmb3JtR2V0VGFnTmFtZXNwYWNlIiwidHJhbnNmb3JtcyIsInByZVRyYW5zZm9ybXMiLCJw
b3N0VHJhbnNmb3JtcyIsInJvb3QiLCJjdXJyZW50UGFyZW50IiwicHJlc2VydmVXaGl0ZXNwYWNl
IiwiY29tbWVudHMiLCJndWFyZElFU1ZHQnVnIiwibWFrZUF0dHJzTWFwIiwiaXNGb3JiaWRkZW5U
YWciLCJmb3JiaWRkZW4iLCJwcm9jZXNzUHJlIiwicHJvY2Vzc1Jhd0F0dHJzIiwicHJvY2Vzc0Zv
ciIsInByb2Nlc3NJZiIsInByb2Nlc3NPbmNlIiwicHJvY2Vzc0tleSIsInBsYWluIiwicHJvY2Vz
c1JlZiIsInByb2Nlc3NTbG90IiwicHJvY2Vzc0NvbXBvbmVudCIsImkkMSIsInByb2Nlc3NBdHRy
cyIsImlmIiwiZWxzZWlmIiwiZWxzZSIsImFkZElmQ29uZGl0aW9uIiwiYmxvY2siLCJwcm9jZXNz
SWZDb25kaXRpb25zIiwic2xvdFNjb3BlIiwic2xvdFRhcmdldCIsImkkMiIsImxhc3ROb2RlIiwi
aXNUZXh0VGFnIiwiZGVjb2RlSFRNTENhY2hlZCIsImNoZWNrSW5Gb3IiLCJpbk1hdGNoIiwiZm9y
QWxpYXNSRSIsImZvciIsImFsaWFzIiwiaXRlcmF0b3JNYXRjaCIsImZvckl0ZXJhdG9yUkUiLCJp
dGVyYXRvcjEiLCJpdGVyYXRvcjIiLCJmaW5kUHJldkVsZW1lbnQiLCJjb25kaXRpb24iLCJpZkNv
bmRpdGlvbnMiLCJzbG90TmFtZSIsImlzUHJvcCIsImRpclJFIiwiaGFzQmluZGluZ3MiLCJwYXJz
ZU1vZGlmaWVycyIsIm1vZGlmaWVyUkUiLCJiaW5kUkUiLCJjYW1lbCIsIm9uUkUiLCJhcmdNYXRj
aCIsImFyZ1JFIiwiaWVOU0J1ZyIsImllTlNQcmVmaXgiLCJvcHRpbWl6ZSIsImlzU3RhdGljS2V5
IiwiZ2VuU3RhdGljS2V5c0NhY2hlZCIsInN0YXRpY0tleXMiLCJpc1BsYXRmb3JtUmVzZXJ2ZWRU
YWciLCJtYXJrU3RhdGljJDEiLCJtYXJrU3RhdGljUm9vdHMiLCJnZW5TdGF0aWNLZXlzJDEiLCJz
dGF0aWMiLCJsJDEiLCJzdGF0aWNJbkZvciIsInN0YXRpY1Jvb3QiLCJpc0J1aWx0SW5UYWciLCJp
c0RpcmVjdENoaWxkT2ZUZW1wbGF0ZUZvciIsImdlbkhhbmRsZXJzIiwiZ2VuSGFuZGxlciIsImlz
TWV0aG9kUGF0aCIsInNpbXBsZVBhdGhSRSIsImlzRnVuY3Rpb25FeHByZXNzaW9uIiwiZm5FeHBS
RSIsImdlbk1vZGlmaWVyQ29kZSIsIm1vZGlmaWVyQ29kZSIsImdlbktleUZpbHRlciIsImdlbkZp
bHRlckNvZGUiLCJrZXlWYWwiLCJwYXJzZUludCIsIndyYXBMaXN0ZW5lcnMiLCJiaW5kJDEiLCJ3
cmFwRGF0YSIsImdlbmVyYXRlIiwiYXN0Iiwic3RhdGUiLCJDb2RlZ2VuU3RhdGUiLCJnZW5FbGVt
ZW50Iiwic3RhdGljUHJvY2Vzc2VkIiwiZ2VuU3RhdGljIiwib25jZVByb2Nlc3NlZCIsImdlbk9u
Y2UiLCJmb3JQcm9jZXNzZWQiLCJnZW5Gb3IiLCJpZlByb2Nlc3NlZCIsImdlbklmIiwiZ2VuU2xv
dCIsImdlbkNvbXBvbmVudCIsImdlbkRhdGEkMiIsImdlbkNoaWxkcmVuIiwib25jZUlkIiwiYWx0
R2VuIiwiYWx0RW1wdHkiLCJnZW5JZkNvbmRpdGlvbnMiLCJjb25kaXRpb25zIiwiZ2VuVGVybmFy
eUV4cCIsInNoaWZ0IiwiYWx0SGVscGVyIiwiZ2VuRGlyZWN0aXZlcyIsImRhdGFHZW5GbnMiLCJn
ZW5Qcm9wcyIsImdlblNjb3BlZFNsb3RzIiwiZ2VuSW5saW5lVGVtcGxhdGUiLCJuZWVkUnVudGlt
ZSIsImhhc1J1bnRpbWUiLCJnZW4iLCJpbmxpbmVSZW5kZXJGbnMiLCJnZW5TY29wZWRTbG90Iiwi
Z2VuRm9yU2NvcGVkU2xvdCIsInNjb3BlIiwiY2hlY2tTa2lwIiwiYWx0R2VuRWxlbWVudCIsImFs
dEdlbk5vZGUiLCJlbCQxIiwiZ2V0Tm9ybWFsaXphdGlvblR5cGUiLCJtYXliZUNvbXBvbmVudCIs
Imdlbk5vZGUiLCJuZWVkc05vcm1hbGl6YXRpb24iLCJzb21lIiwiZ2VuQ29tbWVudCIsImdlblRl
eHQiLCJ0cmFuc2Zvcm1TcGVjaWFsTmV3bGluZXMiLCJiaW5kJCQxIiwiY29tcG9uZW50TmFtZSIs
ImNyZWF0ZUZ1bmN0aW9uIiwiZXJyb3JzIiwiRnVuY3Rpb24iLCJjcmVhdGVDb21waWxlVG9GdW5j
dGlvbkZuIiwiY29tcGlsZSIsImNvbXBpbGVkIiwiZm5HZW5FcnJvcnMiLCJnZXRPdXRlckhUTUwi
LCJvdXRlckhUTUwiLCJjb250YWluZXIiLCJjbG9uZU5vZGUiLCJpbm5lckhUTUwiLCJjYW1lbGl6
ZVJFIiwidG9VcHBlckNhc2UiLCJoeXBoZW5hdGVSRSIsIlNTUl9BVFRSIiwiTElGRUNZQ0xFX0hP
T0tTIiwib3B0aW9uTWVyZ2VTdHJhdGVnaWVzIiwic2lsZW50IiwicHJvZHVjdGlvblRpcCIsInBl
cmZvcm1hbmNlIiwid2FybkhhbmRsZXIiLCJpZ25vcmVkRWxlbWVudHMiLCJpc1Jlc2VydmVkQXR0
ciIsIl9saWZlY3ljbGVIb29rcyIsImZyZWV6ZSIsImhhc1Byb3RvIiwiVUEiLCJuYXZpZ2F0b3Ii
LCJ1c2VyQWdlbnQiLCJpc0VkZ2UiLCJpc0FuZHJvaWQiLCJpc0lPUyIsIl9pc1NlcnZlciIsIl9T
ZXQiLCJlbnYiLCJWVUVfRU5WIiwiX19WVUVfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyIsIlN5bWJv
bCIsIm5leHRUaWNrSGFuZGxlciIsInBlbmRpbmciLCJjb3BpZXMiLCJjYWxsYmFja3MiLCJ0aW1l
ckZ1bmMiLCJQcm9taXNlIiwibG9nRXJyb3IiLCJjYXRjaCIsIk11dGF0aW9uT2JzZXJ2ZXIiLCJj
b3VudGVyIiwib2JzZXJ2ZXIiLCJ0ZXh0Tm9kZSIsImNoYXJhY3RlckRhdGEiLCJfcmVzb2x2ZSIs
IlNldCIsInVpZCIsInN1YnMiLCJhZGRTdWIiLCJzdWIiLCJyZW1vdmVTdWIiLCJhZGREZXAiLCJh
cnJheVByb3RvIiwiYXJyYXlNZXRob2RzIiwibWV0aG9kIiwib3JpZ2luYWwiLCJvYnNlcnZlQXJy
YXkiLCJhcnJheUtleXMiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwid2FsayIsIml0ZW1zIiwicmF3
IiwicHJvdG90eXBlQWNjZXNzb3JzIiwiZGVmaW5lUHJvcGVydGllcyIsInVpZCQyIiwiZXhwT3JG
biIsImRlZXAiLCJ1c2VyIiwiYWN0aXZlIiwiZGVwcyIsIm5ld0RlcHMiLCJkZXBJZHMiLCJuZXdE
ZXBJZHMiLCJjbGVhbnVwRGVwcyIsInRoaXMkMSIsInRtcCIsInRlYXJkb3duIiwiaW5pdCIsIiRt
b3VudCIsImtlZXBBbGl2ZSIsIm1vdW50ZWROb2RlIiwicHJlcGF0Y2giLCJpbnNlcnQiLCJkZXN0
cm95IiwidWlkJDEiLCJfdWlkIiwiX3NlbGYiLCJkYXRhRGVmIiwicHJvcHNEZWYiLCIkc2V0Iiwi
JGRlbGV0ZSIsImltbWVkaWF0ZSIsImhvb2tSRSIsImNicyIsInByZXZFbCIsInByZXZWbm9kZSIs
InByZXZBY3RpdmVJbnN0YW5jZSIsIl9fcGF0Y2hfXyIsIl9fdnVlX18iLCIkbmV4dFRpY2siLCJf
byIsIl9uIiwiX3MiLCJfbCIsIl90IiwiX3EiLCJfaSIsIl9tIiwiX2YiLCJfayIsIl9iIiwiX3Yi
LCJfZSIsIl91IiwiX2ciLCJwYXR0ZXJuVHlwZXMiLCJLZWVwQWxpdmUiLCJpbmNsdWRlIiwiZXhj
bHVkZSIsImNyZWF0ZWQiLCJkZXN0cm95ZWQiLCJidWlsdEluQ29tcG9uZW50cyIsImNvbmZpZ0Rl
ZiIsInV0aWwiLCJkZWZpbmVSZWFjdGl2ZSIsImRlbGV0ZSIsInNzckNvbnRleHQiLCJ2ZXJzaW9u
IiwiZW1wdHlTdHlsZSIsImFjY2VwdFZhbHVlIiwic3ZnIiwibWF0aCIsImlzSFRNTFRhZyIsIm5v
ZGVPcHMiLCJob29rcyIsImJhc2VNb2R1bGVzIiwia2xhc3MiLCJjc3NUZXh0IiwibGlzdERlbGlt
aXRlciIsInByb3BlcnR5RGVsaW1pdGVyIiwiY3NzVmFyUkUiLCJpbXBvcnRhbnRSRSIsInNldFBy
b3BlcnR5Iiwibm9ybWFsaXplZE5hbWUiLCJub3JtYWxpemUiLCJ2ZW5kb3JOYW1lcyIsImNhcE5h
bWUiLCJoYXNUcmFuc2l0aW9uIiwib250cmFuc2l0aW9uZW5kIiwib253ZWJraXR0cmFuc2l0aW9u
ZW5kIiwib25hbmltYXRpb25lbmQiLCJvbndlYmtpdGFuaW1hdGlvbmVuZCIsInJlcXVlc3RBbmlt
YXRpb25GcmFtZSIsImFjdGl2YXRlIiwicGxhdGZvcm1Nb2R1bGVzIiwicGF0Y2giLCJiYWNrZW5k
IiwiZW1wdHlOb2RlQXQiLCJjcmVhdGVSbUNiIiwiY2hpbGRFbG0iLCJyZW1vdmVOb2RlIiwiY3Jl
YXRlRWxtIiwiaW5zZXJ0ZWRWbm9kZVF1ZXVlIiwibmVzdGVkIiwic2V0U2NvcGUiLCJjcmVhdGVD
aGlsZHJlbiIsImludm9rZUNyZWF0ZUhvb2tzIiwiaXNSZWFjdGl2YXRlZCIsImluaXRDb21wb25l
bnQiLCJyZWFjdGl2YXRlQ29tcG9uZW50IiwicGVuZGluZ0luc2VydCIsImlzUGF0Y2hhYmxlIiwi
aW5uZXJOb2RlIiwicmVmJCQxIiwiYW5jZXN0b3IiLCJfc2NvcGVJZCIsImFkZFZub2RlcyIsInN0
YXJ0SWR4IiwiaW52b2tlRGVzdHJveUhvb2siLCJyZW1vdmVWbm9kZXMiLCJjaCIsInJlbW92ZUFu
ZEludm9rZVJlbW92ZUhvb2siLCJ1cGRhdGVDaGlsZHJlbiIsIm9sZENoIiwibmV3Q2giLCJyZW1v
dmVPbmx5Iiwib2xkS2V5VG9JZHgiLCJpZHhJbk9sZCIsImVsbVRvTW92ZSIsIm9sZFN0YXJ0SWR4
IiwibmV3U3RhcnRJZHgiLCJvbGRFbmRJZHgiLCJvbGRTdGFydFZub2RlIiwib2xkRW5kVm5vZGUi
LCJuZXdFbmRJZHgiLCJuZXdTdGFydFZub2RlIiwibmV3RW5kVm5vZGUiLCJjYW5Nb3ZlIiwicGF0
Y2hWbm9kZSIsImh5ZHJhdGUiLCJwb3N0cGF0Y2giLCJpbnZva2VJbnNlcnRIb29rIiwiaW5pdGlh
bCIsImhhc0NoaWxkTm9kZXMiLCJjaGlsZHJlbk1hdGNoIiwiZmlyc3RDaGlsZCIsImlzUmVuZGVy
ZWRNb2R1bGUiLCJpc0luaXRpYWxQYXRjaCIsImlzUmVhbEVsZW1lbnQiLCJoYXNBdHRyaWJ1dGUi
LCJvbGRFbG0iLCJwYXJlbnRFbG0kMSIsImlzVGV4dElucHV0VHlwZSIsInZtb2RlbCIsIm1vZGVs
JDEiLCJfdk9wdGlvbnMiLCJwcmV2T3B0aW9ucyIsIm8iLCJ0cmFuc2l0aW9uJCQxIiwib3JpZ2lu
YWxEaXNwbGF5IiwiX192T3JpZ2luYWxEaXNwbGF5IiwiZGlzcGxheSIsInVuYmluZCIsInBsYXRm
b3JtRGlyZWN0aXZlcyIsInRyYW5zaXRpb25Qcm9wcyIsIm1vZGUiLCJUcmFuc2l0aW9uIiwiX2xl
YXZpbmciLCJvbGRSYXdDaGlsZCIsImRlbGF5ZWRMZWF2ZSIsIm1vdmVDbGFzcyIsIlRyYW5zaXRp
b25Hcm91cCIsInByZXZDaGlsZHJlbiIsInJhd0NoaWxkcmVuIiwidHJhbnNpdGlvbkRhdGEiLCJr
ZXB0IiwicmVtb3ZlZCIsImMkMSIsImJlZm9yZVVwZGF0ZSIsInVwZGF0ZWQiLCJoYXNNb3ZlIiwi
Ym9keSIsIm9mZnNldEhlaWdodCIsInByb3BlcnR5TmFtZSIsIl9oYXNNb3ZlIiwiY2xvbmUiLCJw
bGF0Zm9ybUNvbXBvbmVudHMiLCJkZWNvZGVyIiwiY29udGVudCIsImVuY29kZWQiLCJkaXYiLCJy
ZWdleEVzY2FwZVJFIiwib3BlbiIsImNsb3NlIiwia2xhc3MkMSIsInN0eWxlJDEiLCJtb2R1bGVz
JDEiLCJkaXJlY3RpdmVzJDEiLCJiYXNlT3B0aW9ucyIsInJlZHVjZSIsImhlIiwiZGVjb2RlIiwi
c2luZ2xlQXR0cklkZW50aWZpZXIiLCJzaW5nbGVBdHRyQXNzaWduIiwic2luZ2xlQXR0clZhbHVl
cyIsIm5jbmFtZSIsInFuYW1lQ2FwdHVyZSIsImciLCImbHQ7IiwiJmd0OyIsIiZxdW90OyIsIiZh
bXA7IiwiJiMxMDsiLCJpc0lnbm9yZU5ld2xpbmVUYWciLCJlc2MiLCJ0YWIiLCJzcGFjZSIsInVw
IiwicmlnaHQiLCJkb3duIiwiZ2VuR3VhcmQiLCJzdG9wIiwicHJldmVudCIsInNlbGYiLCJjdHJs
IiwiYWx0IiwibWV0YSIsIm1pZGRsZSIsImJhc2VEaXJlY3RpdmVzIiwiY2xvYWsiLCJjcmVhdGVD
b21waWxlciIsImJhc2VDb21waWxlIiwiZmluYWxPcHRpb25zIiwidGlwcyIsInRpcCIsImNvbXBp
bGVUb0Z1bmN0aW9ucyIsInJlZiQxIiwiaWRUb1RlbXBsYXRlIiwibW91bnQiLCJkb2N1bWVudEVs
ZW1lbnQiLCJleHBvcnRzIiwicmF3U2NyaXB0RXhwb3J0cyIsImNvbXBpbGVkVGVtcGxhdGUiLCJp
bmplY3RTdHlsZXMiLCJzY29wZUlkIiwibW9kdWxlSWRlbnRpZmllciIsImVzTW9kdWxlIiwic2Ny
aXB0RXhwb3J0cyIsIl9fVlVFX1NTUl9DT05URVhUX18iLCJfcmVnaXN0ZXJlZENvbXBvbmVudHMi
LCJfc3NyUmVnaXN0ZXIiLCJiZWZvcmVDcmVhdGUiLCJkbG9jSGFzaEVtcHR5IiwiZGxvYyIsIl9l
dmVyeSIsIml0ZXJhdG9yIiwiX2ZsYXR0ZW4iLCJmbGF0IiwiX2FzeW5jRXZlcnlTZXJpZXMiLCJj
b21wbGV0ZWQiLCJpdGVyYXRlIiwicGFyYW1pZnlTdHJpbmciLCJwYXJhbXMiLCJtb2QiLCJwYXJh
bSIsInJlZ2lmeVN0cmluZyIsIm91dCIsInN1YnN0ciIsImNhcHR1cmVzIiwidGVybWluYXRvciIs
InJvdXRlcyIsImRlbGltaXRlciIsImNodW5rIiwibG9jYXRpb24iLCJsaXN0ZW5lciIsImhpc3Rv
cnkiLCJjaGVjayIsIm9uSGFzaENoYW5nZWQiLCJmaXJlIiwib25wb3BzdGF0ZSIsIm9uaGFzaGNo
YW5nZSIsIm9uY2hhbmdlIiwib25DaGFuZ2VFdmVudCIsIlJvdXRlciIsImRvY3VtZW50TW9kZSIs
ImZyYW1lIiwid3JpdGVGcmFtZSIsImF0dGFjaEV2ZW50Iiwic2V0SW50ZXJ2YWwiLCJzZXRIYXNo
IiwicHVzaFN0YXRlIiwidGl0bGUiLCJmIiwiZ2V0RWxlbWVudEJ5SWQiLCJjb250ZW50RG9jdW1l
bnQiLCJjb250ZW50V2luZG93Iiwid3JpdGUiLCJzeW5jSGFzaCIsIl9oYXNoIiwiX21ldGhvZHMi
LCJfaW5zZXJ0IiwiaW5zZXJ0RXgiLCJoaXN0b3J5U3VwcG9ydCIsImNvbmZpZ3VyZSIsInIiLCJy
b3V0ZVRvIiwibmV3VVJMIiwidXJsIiwiZ2V0UGF0aCIsImRpc3BhdGNoIiwiY29udmVydF9oYXNo
X2luX2luaXQiLCJyZXBsYWNlU3RhdGUiLCJydW5faW5faW5pdCIsImV4cGxvZGUiLCJzZXRSb3V0
ZSIsInJvdXRlIiwiZ2V0Um91dGUiLCJwYXRobmFtZSIsIlFVRVJZX1NFUEFSQVRPUiIsInJlY3Vy
c2UiLCJhc3luYyIsInN0cmljdCIsIm5vdGZvdW5kIiwicmVzb3VyY2UiLCJodG1sNWhpc3Rvcnki
LCJydW5faGFuZGxlcl9pbl9pbml0IiwiYWZ0ZXIiLCJiZWZvcmUiLCJ0b2tlbiIsIm1hdGNoZXIi
LCJyb3V0ZXNGbiIsInVwZGF0ZUFuZEludm9rZSIsImludm9rZSIsInJ1bmxpc3QiLCJpbnZva2Vk
IiwiX2ludm9rZWQiLCJyZXZlcnNlIiwidGhpc0FyZyIsInJlZ2V4cCIsImZpbHRlclJvdXRlcyIs
ImRlZXBDb3B5IiwiYXBwbHlGaWx0ZXIiLCJuZXdSb3V0ZXMiLCJtYXRjaGVkIiwiZXhhY3QiLCJw
YXJlbnRUeXBlIiwicGFydCIsIkVycm9yIiwiZXh0cmEiLCJsb2NhbCIsInJlbmFtZSIsInBhcnRz
Iiwicm91dGVUeXBlIiwiaXNSb3V0ZSIsInBhcmVudElkIiwibmV3U3R5bGVzIiwibWVkaWEiLCJz
b3VyY2VNYXAiLCJldmFsIiwiY3NzV2l0aE1hcHBpbmdUb1N0cmluZyIsInVzZVNvdXJjZU1hcCIs
ImNzc01hcHBpbmciLCJidG9hIiwic291cmNlTWFwcGluZyIsInRvQ29tbWVudCIsInNvdXJjZXMi
LCJzb3VyY2VSb290IiwidW5lc2NhcGUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJtZWRpYVF1ZXJ5
IiwiYWxyZWFkeUltcG9ydGVkTW9kdWxlcyIsImFkZFN0eWxlc1RvRG9tIiwiZG9tU3R5bGUiLCJz
dHlsZXNJbkRvbSIsImFkZFN0eWxlIiwiY3JlYXRlU3R5bGVFbGVtZW50Iiwic3R5bGVFbGVtZW50
IiwiaGVhZCIsImlzUHJvZHVjdGlvbiIsImlzT2xkSUUiLCJzdHlsZUluZGV4Iiwic2luZ2xldG9u
Q291bnRlciIsInNpbmdsZXRvbkVsZW1lbnQiLCJhcHBseVRvU2luZ2xldG9uVGFnIiwiYXBwbHlU
b1RhZyIsIm5ld09iaiIsInN0eWxlU2hlZXQiLCJyZXBsYWNlVGV4dCIsImNzc05vZGUiLCJjaGls
ZE5vZGVzIiwiaGFzRG9jdW1lbnQiLCJERUJVRyIsImxpc3RUb1N0eWxlcyIsImdldEVsZW1lbnRz
QnlUYWdOYW1lIiwiX2lzUHJvZHVjdGlvbiIsIm5ld0xpc3QiLCJtYXlSZW1vdmUiLCJ0ZXh0U3Rv
cmUiLCJyZXBsYWNlbWVudCJdLCJtYXBwaW5ncyI6IkFBQUFBLGNBQWMsSUFFUixTQUFVQyxFQUFR
QyxFQUFxQkMsR0FFN0MsWUFDQUMsUUFBT0MsZUFBZUgsRUFBcUIsY0FBZ0JJLE9BQU8sSUNMbEUs
U0FBQUM7Ozs7O0FBU0EsUUFBQUMsR0FBQUMsR0FDQSxXQUFBQyxLQUFBRCxHQUFBLE9BQUFBLEVB
R0EsUUFBQUUsR0FBQUYsR0FDQSxXQUFBQyxLQUFBRCxHQUFBLE9BQUFBLEVBR0EsUUFBQUcsR0FB
QUgsR0FDQSxXQUFBQSxFQUdBLFFBQUFJLEdBQUFKLEdBQ0EsV0FBQUEsRUFNQSxRQUFBSyxHQUFB
UixHQUNBLE1BQ0EsZ0JBQUFBLElBQ0EsZ0JBQUFBLElBQ0EsaUJBQUFBLEdBU0EsUUFBQVMsR0FB
QUMsR0FDQSxjQUFBQSxHQUFBLGdCQUFBQSxHQVNBLFFBQUFDLEdBQUFELEdBQ0EsMEJBQUFFLEdB
QUFDLEtBQUFILEdBR0EsUUFBQUksR0FBQVgsR0FDQSwwQkFBQVMsR0FBQUMsS0FBQVYsR0FNQSxR
QUFBWSxHQUFBQyxHQUNBLEdBQUFDLEdBQUFDLFdBQUFGLEVBQ0EsT0FBQUMsSUFBQSxHQUFBRSxL
QUFBQyxNQUFBSCxRQUFBSSxTQUFBTCxHQU1BLFFBQUFNLEdBQUFOLEdBQ0EsYUFBQUEsRUFDQSxH
QUNBLGdCQUFBQSxHQUNBTyxLQUFBQyxVQUFBUixFQUFBLFFBQ0FTLE9BQUFULEdBT0EsUUFBQVUs
R0FBQVYsR0FDQSxHQUFBQyxHQUFBQyxXQUFBRixFQUNBLE9BQUFXLE9BQUFWLEdBQUFELEVBQUFD
LEVBT0EsUUFBQVcsR0FDQUMsRUFDQUMsR0FJQSxPQUZBQyxHQUFBakMsT0FBQWtDLE9BQUEsTUFD
QUMsRUFBQUosRUFBQUssTUFBQSxLQUNBQyxFQUFBLEVBQWlCQSxFQUFBRixFQUFBRyxPQUFpQkQs
SUFDbENKLEVBQUFFLEVBQUFFLEtBQUEsQ0FFQSxPQUFBTCxHQUNBLFNBQUFkLEdBQXNCLE1BQUFl
LEdBQUFmLEVBQUFxQixnQkFDdEIsU0FBQXJCLEdBQXNCLE1BQUFlLEdBQUFmLElBZ0J0QixRQUFB
c0IsR0FBQUMsRUFBQUMsR0FDQSxHQUFBRCxFQUFBSCxPQUFBLENBQ0EsR0FBQUssR0FBQUYsRUFB
QUcsUUFBQUYsRUFDQSxJQUFBQyxHQUFBLEVBQ0EsTUFBQUYsR0FBQUksT0FBQUYsRUFBQSxJQVNB
LFFBQUFHLEdBQUFsQyxFQUFBbUMsR0FDQSxNQUFBQyxJQUFBakMsS0FBQUgsRUFBQW1DLEdBTUEs
UUFBQUUsR0FBQUMsR0FDQSxHQUFBQyxHQUFBbkQsT0FBQWtDLE9BQUEsS0FDQSxpQkFBQUgsR0FF
QSxNQURBb0IsR0FBQXBCLEtBQ0FvQixFQUFBcEIsR0FBQW1CLEVBQUFuQixLQWlDQSxRQUFBcUIs
R0FBQUYsRUFBQUcsR0FDQSxRQUFBQyxHQUFBQyxHQUNBLEdBQUFDLEdBQUFDLFVBQUFuQixNQUNB
LE9BQUFrQixHQUNBQSxFQUFBLEVBQ0FOLEVBQUFRLE1BQUFMLEVBQUFJLFdBQ0FQLEVBQUFuQyxL
QUFBc0MsRUFBQUUsR0FDQUwsRUFBQW5DLEtBQUFzQyxHQUlBLE1BREFDLEdBQUFLLFFBQUFULEVB
QUFaLE9BQ0FnQixFQU1BLFFBQUFNLEdBQUF6QixFQUFBMEIsR0FDQUEsS0FBQSxDQUdBLEtBRkEs
R0FBQXhCLEdBQUFGLEVBQUFHLE9BQUF1QixFQUNBQyxFQUFBLEdBQUFDLE9BQUExQixHQUNBQSxL
QUNBeUIsRUFBQXpCLEdBQUFGLEVBQUFFLEVBQUF3QixFQUVBLE9BQUFDLEdBTUEsUUFBQUUsR0FB
QUMsRUFBQUMsR0FDQSxPQUFBbkIsS0FBQW1CLEdBQ0FELEVBQUFsQixHQUFBbUIsRUFBQW5CLEVB
RUEsT0FBQWtCLEdBTUEsUUFBQUUsR0FBQTFCLEdBRUEsT0FEQTJCLE1BQ0EvQixFQUFBLEVBQWlC
QSxFQUFBSSxFQUFBSCxPQUFnQkQsSUFDakNJLEVBQUFKLElBQ0EyQixFQUFBSSxFQUFBM0IsRUFB
QUosR0FHQSxPQUFBK0IsR0FRQSxRQUFBQyxHQUFBZCxFQUFBZSxFQUFBQyxJQXlCQSxRQUFBQyxH
QUFBakIsRUFBQWUsR0FDQSxHQUFBZixJQUFBZSxFQUFnQixRQUNoQixJQUFBRyxHQUFBOUQsRUFB
QTRDLEdBQ0FtQixFQUFBL0QsRUFBQTJELEVBQ0EsS0FBQUcsSUFBQUMsRUFzQkcsT0FBQUQsSUFB
QUMsR0FDSC9DLE9BQUE0QixLQUFBNUIsT0FBQTJDLEVBdEJBLEtBQ0EsR0FBQUssR0FBQVosTUFB
QWEsUUFBQXJCLEdBQ0FzQixFQUFBZCxNQUFBYSxRQUFBTixFQUNBLElBQUFLLEdBQUFFLEVBQ0Es
TUFBQXRCLEdBQUFqQixTQUFBZ0MsRUFBQWhDLFFBQUFpQixFQUFBdUIsTUFBQSxTQUFBQyxFQUFB
MUMsR0FDQSxNQUFBbUMsR0FBQU8sRUFBQVQsRUFBQWpDLEtBRU8sSUFBQXNDLEdBQUFFLEVBUVAs
UUFQQSxJQUFBRyxHQUFBaEYsT0FBQWlGLEtBQUExQixHQUNBMkIsRUFBQWxGLE9BQUFpRixLQUFB
WCxFQUNBLE9BQUFVLEdBQUExQyxTQUFBNEMsRUFBQTVDLFFBQUEwQyxFQUFBRixNQUFBLFNBQUEv
QixHQUNBLE1BQUF5QixHQUFBakIsRUFBQVIsR0FBQXVCLEVBQUF2QixNQU1LLE1BQUFnQyxHQUVM
LFVBU0EsUUFBQUksR0FBQTFDLEVBQUF2QixHQUNBLE9BQUFtQixHQUFBLEVBQWlCQSxFQUFBSSxF
QUFBSCxPQUFnQkQsSUFDakMsR0FBQW1DLEVBQUEvQixFQUFBSixHQUFBbkIsR0FBa0MsTUFBQW1C
LEVBRWxDLFVBTUEsUUFBQStDLEdBQUFsQyxHQUNBLEdBQUFtQyxJQUFBLENBQ0EsbUJBQ0FBLElB
Q0FBLEdBQUEsRUFDQW5DLEVBQUFRLE1BQUE0QixLQUFBN0IsYUF5SEEsUUFBQThCLEdBQUF4RCxH
QUNBLEdBQUF3QyxJQUFBeEMsRUFBQSxJQUFBeUQsV0FBQSxFQUNBLGFBQUFqQixHQUFBLEtBQUFB
LEVBTUEsUUFBQWtCLEdBQUE3RSxFQUFBbUMsRUFBQTdCLEVBQUF3RSxHQUNBMUYsT0FBQUMsZUFB
QVcsRUFBQW1DLEdBQ0E3QyxNQUFBZ0IsRUFDQXdFLGVBQ0FDLFVBQUEsRUFDQUMsY0FBQSxJQVFB
LFFBQUFDLEdBQUFDLEdBQ0EsSUFBQUMsR0FBQUMsS0FBQUYsR0FBQSxDQUdBLEdBQUFHLEdBQUFI
LEVBQUExRCxNQUFBLElBQ0EsaUJBQUF4QixHQUNBLE9BQUF5QixHQUFBLEVBQW1CQSxFQUFBNEQs
RUFBQTNELE9BQXFCRCxJQUFBLENBQ3hDLElBQUF6QixFQUFpQixNQUNqQkEsS0FBQXFGLEVBQUE1
RCxJQUVBLE1BQUF6QixLQXFHQSxRQUFBc0YsR0FBQUMsRUFBQUMsRUFBQUMsR0FDQSxHQUFBQyxH
QUFBQyxhQUNBRCxHQUFBQyxhQUFBeEYsS0FBQSxLQUFBb0YsRUFBQUMsRUFBQUMsT0FDRyxDQUtI
LElBQUFHLElBQUEsbUJBQUFDLFNBR0EsS0FBQU4sRUFGQU0sU0FBQUMsTUFBQVAsSUE2REEsUUFB
QVEsR0FBQUMsR0FDQSx3QkFBQUEsSUFBQSxjQUFBWixLQUFBWSxFQUFBcEYsWUFnS0EsUUFBQXFG
LEdBQUFDLEdBQ0FDLEdBQUFDLFFBQW1CQyxHQUFBQyxLQUFBSCxHQUFBQyxRQUNuQkQsR0FBQUMs
T0FBQUYsRUFHQSxRQUFBSyxLQUNBSixHQUFBQyxPQUFBQyxHQUFBRyxNQTJHQSxRQUFBQyxHQUFB
TCxFQUFBTSxFQUFBckMsR0FFQStCLEVBQUFPLFVBQUFELEVBU0EsUUFBQUUsR0FBQVIsRUFBQU0s
RUFBQXJDLEdBQ0EsT0FBQTVDLEdBQUEsRUFBQW1CLEVBQUF5QixFQUFBM0MsT0FBa0NELEVBQUFt
QixFQUFPbkIsSUFBQSxDQUN6QyxHQUFBVSxHQUFBa0MsRUFBQTVDLEVBQ0FvRCxHQUFBdUIsRUFB
QWpFLEVBQUF1RSxFQUFBdkUsS0FTQSxRQUFBMEUsR0FBQXZILEVBQUF3SCxHQUNBLEdBQUEvRyxF
QUFBVCxHQUFBLENBR0EsR0FBQXlILEVBZUEsT0FkQTdFLEdBQUE1QyxFQUFBLFdBQUFBLEVBQUEw
SCxpQkFBQUMsSUFDQUYsRUFBQXpILEVBQUEwSCxPQUVBRSxHQUFBQyxnQkFDQUMsT0FDQWpFLE1B
QUFhLFFBQUExRSxJQUFBVyxFQUFBWCxLQUNBRixPQUFBaUksYUFBQS9ILEtBQ0FBLEVBQUFnSSxT
QUVBUCxFQUFBLEdBQUFFLElBQUEzSCxJQUVBd0gsR0FBQUMsR0FDQUEsRUFBQVEsVUFFQVIsR0FN
QSxRQUFBUyxHQUNBeEgsRUFDQW1DLEVBQ0E3QixFQUNBbUgsRUFDQUMsR0FFQSxHQUFBQyxHQUFB
LEdBQUF4QixJQUVBeUIsRUFBQXhJLE9BQUF5SSx5QkFBQTdILEVBQUFtQyxFQUNBLEtBQUF5RixJ
QUFBLElBQUFBLEVBQUE1QyxhQUFBLENBS0EsR0FBQThDLEdBQUFGLEtBQUFHLElBQ0FDLEVBQUFK
LEtBQUFLLElBRUFDLEdBQUFSLEdBQUFiLEVBQUF2RyxFQUNBbEIsUUFBQUMsZUFBQVcsRUFBQW1D
LEdBQ0EyQyxZQUFBLEVBQ0FFLGNBQUEsRUFDQStDLElBQUEsV0FDQSxHQUFBekksR0FBQXdJLElB
QUEzSCxLQUFBSCxHQUFBTSxDQVVBLE9BVEE2RixJQUFBQyxTQUNBdUIsRUFBQVEsU0FDQUQsR0FD
QUEsRUFBQVAsSUFBQVEsU0FFQWhGLE1BQUFhLFFBQUExRSxJQUNBOEksRUFBQTlJLElBR0FBLEdB
RUEySSxJQUFBLFNBQUFJLEdBQ0EsR0FBQS9JLEdBQUF3SSxJQUFBM0gsS0FBQUgsR0FBQU0sQ0FF
QStILEtBQUEvSSxHQUFBK0ksT0FBQS9JLFFBT0EwSSxFQUNBQSxFQUFBN0gsS0FBQUgsRUFBQXFJ
LEdBRUEvSCxFQUFBK0gsRUFFQUgsR0FBQVIsR0FBQWIsRUFBQXdCLEdBQ0FWLEVBQUFXLGNBVUEs
UUFBQUwsR0FBQTdCLEVBQUFqRSxFQUFBN0IsR0FDQSxHQUFBNkMsTUFBQWEsUUFBQW9DLElBQUEv
RixFQUFBOEIsR0FHQSxNQUZBaUUsR0FBQTFFLE9BQUFqQixLQUFBOEgsSUFBQW5DLEVBQUExRSxP
QUFBUyxHQUNBaUUsRUFBQW5FLE9BQUFFLEVBQUEsRUFBQTdCLEdBQ0FBLENBRUEsSUFBQTRCLEVB
QUFrRSxFQUFBakUsR0FFQSxNQURBaUUsR0FBQWpFLEdBQUE3QixFQUNBQSxDQUVBLElBQUF5RyxH
QUFBLEVBQUFDLE1BQ0EsT0FBQVosR0FBQWtCLFFBQUFQLEtBQUFRLFFBS0FqSCxFQUVBeUcsR0FJ
QVMsRUFBQVQsRUFBQXpILE1BQUE2QyxFQUFBN0IsR0FDQXlHLEVBQUFZLElBQUFXLFNBQ0FoSSxJ
QUxBOEYsRUFBQWpFLEdBQUE3QixFQUNBQSxHQVVBLFFBQUFrSSxHQUFBcEMsRUFBQWpFLEdBQ0Es
R0FBQWdCLE1BQUFhLFFBQUFvQyxJQUFBL0YsRUFBQThCLEdBRUEsV0FEQWlFLEdBQUFuRSxPQUFB
RSxFQUFBLEVBR0EsSUFBQTRFLEdBQUEsRUFBQUMsTUFDQVosR0FBQWtCLFFBQUFQLEtBQUFRLFNB
T0FyRixFQUFBa0UsRUFBQWpFLFdBR0FpRSxHQUFBakUsR0FDQTRFLEdBR0FBLEVBQUFZLElBQUFX
LFVBT0EsUUFBQUYsR0FBQTlJLEdBQ0EsT0FBQTZFLE9BQUEsR0FBQTFDLEVBQUEsRUFBQW1CLEVB
QUF0RCxFQUFBb0MsT0FBaURELEVBQUFtQixFQUFPbkIsSUFDeEQwQyxFQUFBN0UsRUFBQW1DLEdB
Q0EwQyxLQUFBNkMsUUFBQTdDLEVBQUE2QyxPQUFBVyxJQUFBUSxTQUNBaEYsTUFBQWEsUUFBQUcs
SUFDQWlFLEVBQUFqRSxHQWdDQSxRQUFBc0UsR0FBQXBGLEVBQUFxRixHQUNBLElBQUFBLEVBQWMs
TUFBQXJGLEVBR2QsUUFGQWxCLEdBQUF3RyxFQUFBQyxFQUNBdkUsRUFBQWpGLE9BQUFpRixLQUFB
cUUsR0FDQWpILEVBQUEsRUFBaUJBLEVBQUE0QyxFQUFBM0MsT0FBaUJELElBQ2xDVSxFQUFBa0Ms
RUFBQTVDLEdBQ0FrSCxFQUFBdEYsRUFBQWxCLEdBQ0F5RyxFQUFBRixFQUFBdkcsR0FDQUQsRUFB
QW1CLEVBQUFsQixHQUVLbEMsRUFBQTBJLElBQUExSSxFQUFBMkksSUFDTEgsRUFBQUUsRUFBQUMs
R0FGQVgsRUFBQTVFLEVBQUFsQixFQUFBeUcsRUFLQSxPQUFBdkYsR0FNQSxRQUFBd0YsR0FDQUMs
RUFDQUMsRUFDQXZELEdBRUEsTUFBQUEsR0FtQkdzRCxHQUFBQyxFQUNILFdBRUEsR0FBQUMsR0FB
QSxrQkFBQUQsR0FDQUEsRUFBQTVJLEtBQUFxRixHQUNBdUQsRUFDQUUsRUFBQSxrQkFBQUgsR0FD
QUEsRUFBQTNJLEtBQUFxRixPQUNBOUYsRUFDQSxPQUFBc0osR0FDQVAsRUFBQU8sRUFBQUMsR0FF
QUEsT0FaRyxHQWpCSEYsRUFHQUQsRUFRQSxXQUNBLE1BQUFMLEdBQ0Esa0JBQUFNLEtBQUE1SSxL
QUFBdUUsTUFBQXFFLEVBQ0Esa0JBQUFELEtBQUEzSSxLQUFBdUUsTUFBQW9FLElBVkFDLEVBSEFE
LEVBMkRBLFFBQUFJLEdBQ0FKLEVBQ0FDLEdBRUEsTUFBQUEsR0FDQUQsRUFDQUEsRUFBQUssT0FB
QUosR0FDQTVGLE1BQUFhLFFBQUErRSxHQUNBQSxHQUNBQSxHQUNBRCxFQWNBLFFBQUFNLEdBQUFO
LEVBQUFDLEdBQ0EsR0FBQXZGLEdBQUFwRSxPQUFBa0MsT0FBQXdILEdBQUEsS0FDQSxPQUFBQyxH
QUNBM0YsRUFBQUksRUFBQXVGLEdBQ0F2RixFQThFQSxRQUFBNkYsR0FBQUMsR0FDQSxHQUFBQyxH
QUFBRCxFQUFBQyxLQUNBLElBQUFBLEVBQUEsQ0FDQSxHQUNBOUgsR0FBQW5CLEVBQUFrSixFQURB
aEcsSUFFQSxJQUFBTCxNQUFBYSxRQUFBdUYsR0FFQSxJQURBOUgsRUFBQThILEVBQUE3SCxPQUNB
RCxLQUVBLGlCQURBbkIsRUFBQWlKLEVBQUE5SCxNQUVBK0gsRUFBQUMsR0FBQW5KLEdBQ0FrRCxF
QUFBZ0csSUFBcUJFLEtBQUEsV0FLbEIsSUFBQXpKLEVBQUFzSixHQUNILE9BQUFwSCxLQUFBb0gs
R0FDQWpKLEVBQUFpSixFQUFBcEgsR0FDQXFILEVBQUFDLEdBQUF0SCxHQUNBcUIsRUFBQWdHLEdB
QUF2SixFQUFBSyxHQUNBQSxHQUNXb0osS0FBQXBKLEVBR1hnSixHQUFBQyxNQUFBL0YsR0FNQSxR
QUFBbUcsR0FBQUwsR0FDQSxHQUFBTSxHQUFBTixFQUFBTSxNQUNBLElBQUF6RyxNQUFBYSxRQUFB
NEYsR0FFQSxPQURBQyxHQUFBUCxFQUFBTSxVQUNBbkksRUFBQSxFQUFtQkEsRUFBQW1JLEVBQUFs
SSxPQUFtQkQsSUFDdENvSSxFQUFBRCxFQUFBbkksSUFBQW1JLEVBQUFuSSxHQVFBLFFBQUFxSSxH
QUFBUixHQUNBLEdBQUFTLEdBQUFULEVBQUFVLFVBQ0EsSUFBQUQsRUFDQSxPQUFBNUgsS0FBQTRI
LEdBQUEsQ0FDQSxHQUFBbEYsR0FBQWtGLEVBQUE1SCxFQUNBLG1CQUFBMEMsS0FDQWtGLEVBQUE1
SCxJQUFxQkssS0FBQXFDLEVBQUFvRixPQUFBcEYsS0FVckIsUUFBQXFGLEdBQ0FDLEVBQ0FDLEVB
Q0E1RSxHQWdDQSxRQUFBNkUsR0FBQWxJLEdBQ0EsR0FBQW1JLEdBQUFDLEdBQUFwSSxJQUFBcUks
RUFDQWxCLEdBQUFuSCxHQUFBbUksRUFBQUgsRUFBQWhJLEdBQUFpSSxFQUFBakksR0FBQXFELEVB
QUFyRCxHQTVCQSxrQkFBQWlJLEtBQ0FBLElBQUFkLFNBR0FELEVBQUFlLEdBQ0FULEVBQUFTLEdB
Q0FOLEVBQUFNLEVBQ0EsSUFBQUssR0FBQUwsRUFBQU0sT0FJQSxJQUhBRCxJQUNBTixFQUFBRCxF
QUFBQyxFQUFBTSxFQUFBakYsSUFFQTRFLEVBQUFPLE9BQ0EsT0FBQWxKLEdBQUEsRUFBQW1CLEVB
QUF3SCxFQUFBTyxPQUFBakosT0FBNENELEVBQUFtQixFQUFPbkIsSUFDbkQwSSxFQUFBRCxFQUFB
QyxFQUFBQyxFQUFBTyxPQUFBbEosR0FBQStELEVBR0EsSUFDQXJELEdBREFtSCxJQUVBLEtBQUFu
SCxJQUFBZ0ksR0FDQUUsRUFBQWxJLEVBRUEsS0FBQUEsSUFBQWlJLEdBQ0FsSSxFQUFBaUksRUFB
QWhJLElBQ0FrSSxFQUFBbEksRUFPQSxPQUFBbUgsR0FRQSxRQUFBc0IsR0FDQXRCLEVBQ0FJLEVB
Q0FtQixFQUNBQyxHQUdBLG1CQUFBRCxHQUFBLENBR0EsR0FBQUUsR0FBQXpCLEVBQUFJLEVBRUEs
SUFBQXhILEVBQUE2SSxFQUFBRixHQUEyQixNQUFBRSxHQUFBRixFQUMzQixJQUFBRyxHQUFBdkIs
R0FBQW9CLEVBQ0EsSUFBQTNJLEVBQUE2SSxFQUFBQyxHQUFvQyxNQUFBRCxHQUFBQyxFQUNwQyxJ
QUFBQyxHQUFBQyxHQUFBRixFQUNBLElBQUE5SSxFQUFBNkksRUFBQUUsR0FBcUMsTUFBQUYsR0FB
QUUsRUFTckMsT0FQQUYsR0FBQUYsSUFBQUUsRUFBQUMsSUFBQUQsRUFBQUUsSUFZQSxRQUFBRSxH
QUNBaEosRUFDQWlKLEVBQ0FDLEVBQ0E3RixHQUVBLEdBQUE4RixHQUFBRixFQUFBakosR0FDQW9K
LEdBQUFySixFQUFBbUosRUFBQWxKLEdBQ0E3QyxFQUFBK0wsRUFBQWxKLEVBVUEsSUFSQXFKLEVB
QUFDLFFBQUFILEVBQUE1QixRQUNBNkIsSUFBQXJKLEVBQUFvSixFQUFBLFdBQ0FoTSxHQUFBLEVB
Q0trTSxFQUFBekssT0FBQXVLLEVBQUE1QixPQUFBLEtBQUFwSyxPQUFBb00sR0FBQXZKLEtBQ0w3
QyxHQUFBLFFBSUFJLEtBQUFKLEVBQUEsQ0FDQUEsRUFBQXFNLEVBQUFuRyxFQUFBOEYsRUFBQW5K
LEVBR0EsSUFBQXlKLEdBQUExRSxHQUFBQyxhQUNBRCxJQUFBQyxlQUFBLEVBQ0FOLEVBQUF2SCxH
QUNBNEgsR0FBQUMsY0FBQXlFLEVBS0EsTUFBQXRNLEdBTUEsUUFBQXFNLEdBQUFuRyxFQUFBOEYs
RUFBQW5KLEdBRUEsR0FBQUQsRUFBQW9KLEVBQUEsWUFHQSxHQUFBekcsR0FBQXlHLEVBQUFPLE9B
WUEsT0FBQXJHLE1BQUFzRyxTQUFBVCxlQUNBM0wsS0FBQThGLEVBQUFzRyxTQUFBVCxVQUFBbEos
UUFDQXpDLEtBQUE4RixFQUFBdUcsT0FBQTVKLEdBRUFxRCxFQUFBdUcsT0FBQTVKLEdBSUEsa0JB
QUEwQyxJQUFBLGFBQUFtSCxFQUFBVixFQUFBNUIsTUFDQTdFLEVBQUExRSxLQUFBcUYsR0FDQVgs
R0FpRkEsUUFBQW1ILEdBQUExSixHQUNBLEdBQUEySixHQUFBM0osS0FBQTFCLFdBQUFxTCxNQUFB
LHFCQUNBLE9BQUFBLEtBQUEsTUFHQSxRQUFBVCxHQUFBOUIsRUFBQXBILEdBQ0EsSUFBQWEsTUFB
QWEsUUFBQTFCLEdBQ0EsTUFBQTBKLEdBQUExSixLQUFBMEosRUFBQXRDLEVBRUEsUUFBQWpJLEdB
QUEsRUFBQXlLLEVBQUE1SixFQUFBWixPQUFrQ0QsRUFBQXlLLEVBQVN6SyxJQUMzQyxHQUFBdUss
RUFBQTFKLEVBQUFiLE1BQUF1SyxFQUFBdEMsR0FDQSxRQUlBLFVBNEpBLFFBQUF5QyxHQUFBN0ws
R0FDQSxVQUFBOEwsUUFBQTFNLGlCQUFBcUIsT0FBQVQsSUFPQSxRQUFBK0wsR0FBQUMsR0FDQSxH
QUFBQyxHQUFBLEdBQUFILElBQ0FFLEVBQUFFLElBQ0FGLEVBQUFHLEtBQ0FILEVBQUFJLFNBQ0FK
LEVBQUFLLEtBQ0FMLEVBQUFNLElBQ0FOLEVBQUFPLFFBQ0FQLEVBQUFRLGlCQUNBUixFQUFBUyxh
QU9BLE9BTEFSLEdBQUFTLEdBQUFWLEVBQUFVLEdBQ0FULEVBQUFVLFNBQUFYLEVBQUFXLFNBQ0FW
LEVBQUFwSyxJQUFBbUssRUFBQW5LLElBQ0FvSyxFQUFBVyxVQUFBWixFQUFBWSxVQUNBWCxFQUFB
WSxVQUFBLEVBQ0FaLEVBR0EsUUFBQWEsSUFBQUMsR0FHQSxPQUZBbkIsR0FBQW1CLEVBQUEzTCxP
QUNBOEIsRUFBQSxHQUFBTCxPQUFBK0ksR0FDQXpLLEVBQUEsRUFBaUJBLEVBQUF5SyxFQUFTekss
SUFDMUIrQixFQUFBL0IsR0FBQTRLLEVBQUFnQixFQUFBNUwsR0FFQSxPQUFBK0IsR0FvQkEsUUFB
QThKLElBQUFDLEdBQ0EsUUFBQUMsS0FDQSxHQUFBQyxHQUFBNUssVUFFQTBLLEVBQUFDLEVBQUFE
LEdBQ0EsS0FBQXBLLE1BQUFhLFFBQUF1SixHQU9BLE1BQUFBLEdBQUF6SyxNQUFBLEtBQUFELFVB
TEEsUUFEQTBKLEdBQUFnQixFQUFBRyxRQUNBak0sRUFBQSxFQUFxQkEsRUFBQThLLEVBQUE3SyxP
QUFtQkQsSUFDeEM4SyxFQUFBOUssR0FBQXFCLE1BQUEsS0FBQTJLLEdBUUEsTUFEQUQsR0FBQUQs
TUFDQUMsRUFHQSxRQUFBRyxJQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBdkksR0FFQSxHQUFB
Z0UsR0FBQXdFLEVBQUFDLEVBQUFDLENBQ0EsS0FBQTFFLElBQUFvRSxHQUNBSSxFQUFBSixFQUFB
cEUsR0FDQXlFLEVBQUFKLEVBQUFyRSxHQUNBMEUsRUFBQUMsR0FBQTNFLEdBQ0FoSyxFQUFBd08s
S0FLS3hPLEVBQUF5TyxJQUNMek8sRUFBQXdPLEVBQUFULE9BQ0FTLEVBQUFKLEVBQUFwRSxHQUFB
OEQsR0FBQVUsSUFFQUYsRUFBQUksRUFBQTFFLEtBQUF3RSxFQUFBRSxFQUFBMUosS0FBQTBKLEVB
QUFFLFFBQUFGLEVBQUFHLFVBQ0tMLElBQUFDLElBQ0xBLEVBQUFWLElBQUFTLEVBQ0FKLEVBQUFw
RSxHQUFBeUUsR0FHQSxLQUFBekUsSUFBQXFFLEdBQ0FyTyxFQUFBb08sRUFBQXBFLE1BQ0EwRSxF
QUFBQyxHQUFBM0UsR0FDQXVFLEVBQUFHLEVBQUExRSxLQUFBcUUsRUFBQXJFLEdBQUEwRSxFQUFB
RSxVQU9BLFFBQUFFLElBQUF6SixFQUFBMEosRUFBQUMsR0FJQSxRQUFBQyxLQUNBRCxFQUFBMUws
TUFBQTRCLEtBQUE3QixXQUdBakIsRUFBQTRMLEVBQUFELElBQUFrQixHQVBBLEdBQUFqQixHQUNB
a0IsRUFBQTdKLEVBQUEwSixFQVNBL08sR0FBQWtQLEdBRUFsQixFQUFBRixJQUFBbUIsSUFHQTlP
LEVBQUErTyxFQUFBbkIsTUFBQTNOLEVBQUE4TyxFQUFBQyxTQUVBbkIsRUFBQWtCLEVBQ0FsQixF
QUFBRCxJQUFBakgsS0FBQW1JLElBR0FqQixFQUFBRixJQUFBb0IsRUFBQUQsSUFJQWpCLEVBQUFt
QixRQUFBLEVBQ0E5SixFQUFBMEosR0FBQWYsRUFLQSxRQUFBb0IsSUFDQW5DLEVBQ0F6RyxFQUNB
d0csR0FLQSxHQUFBcEIsR0FBQXBGLEVBQUFzRCxRQUFBQyxLQUNBLEtBQUEvSixFQUFBNEwsR0FB
QSxDQUdBLEdBQUE1SCxNQUNBcUwsRUFBQXBDLEVBQUFvQyxNQUNBdEYsRUFBQWtELEVBQUFsRCxL
QUNBLElBQUE1SixFQUFBa1AsSUFBQWxQLEVBQUE0SixHQUNBLE9BQUFwSCxLQUFBaUosR0FBQSxD
QUNBLEdBQUEwRCxHQUFBcEQsR0FBQXZKLEVBaUJBNE0sSUFBQXZMLEVBQUErRixFQUFBcEgsRUFB
QTJNLEdBQUEsSUFDQUMsR0FBQXZMLEVBQUFxTCxFQUFBMU0sRUFBQTJNLEdBQUEsR0FHQSxNQUFB
dEwsSUFHQSxRQUFBdUwsSUFDQXZMLEVBQ0F3TCxFQUNBN00sRUFDQTJNLEVBQ0FHLEdBRUEsR0FB
QXRQLEVBQUFxUCxHQUFBLENBQ0EsR0FBQTlNLEVBQUE4TSxFQUFBN00sR0FLQSxNQUpBcUIsR0FB
QXJCLEdBQUE2TSxFQUFBN00sR0FDQThNLFNBQ0FELEdBQUE3TSxJQUVBLENBQ0ssSUFBQUQsRUFB
QThNLEVBQUFGLEdBS0wsTUFKQXRMLEdBQUFyQixHQUFBNk0sRUFBQUYsR0FDQUcsU0FDQUQsR0FB
QUYsSUFFQSxFQUdBLFNBaUJBLFFBQUFJLElBQUF4QyxHQUNBLE9BQUFqTCxHQUFBLEVBQWlCQSxF
QUFBaUwsRUFBQWhMLE9BQXFCRCxJQUN0QyxHQUFBMEIsTUFBQWEsUUFBQTBJLEVBQUFqTCxJQUNB
LE1BQUEwQixPQUFBZ00sVUFBQWhHLE9BQUFyRyxTQUFBNEosRUFHQSxPQUFBQSxHQU9BLFFBQUEw
QyxJQUFBMUMsR0FDQSxNQUFBNU0sR0FBQTRNLElBQ0FQLEVBQUFPLElBQ0F2SixNQUFBYSxRQUFB
MEksR0FDQTJDLEdBQUEzQyxPQUNBaE4sR0FHQSxRQUFBNFAsSUFBQUMsR0FDQSxNQUFBNVAsR0FB
QTRQLElBQUE1UCxFQUFBNFAsRUFBQTVDLE9BQUE5TSxFQUFBMFAsRUFBQXJDLFdBR0EsUUFBQW1D
LElBQUEzQyxFQUFBOEMsR0FDQSxHQUNBL04sR0FBQWtDLEVBQUE4TCxFQURBak0sSUFFQSxLQUFB
L0IsRUFBQSxFQUFhQSxFQUFBaUwsRUFBQWhMLE9BQXFCRCxJQUNsQ2tDLEVBQUErSSxFQUFBakws
R0FDQWpDLEVBQUFtRSxJQUFBLGlCQUFBQSxLQUNBOEwsRUFBQWpNLElBQUE5QixPQUFBLEdBRUF5
QixNQUFBYSxRQUFBTCxHQUNBSCxFQUFBOEMsS0FBQXhELE1BQUFVLEVBQUE2TCxHQUFBMUwsR0FB
QTZMLEdBQUEsUUFBQS9OLElBQ0szQixFQUFBNkQsR0FDTDJMLEdBQUFHLEdBSUEsRUFBQTlDLE1B
QUE1TCxPQUFBNEMsR0FDTyxLQUFBQSxHQUVQSCxFQUFBOEMsS0FBQTZGLEVBQUF4SSxJQUdBMkws
R0FBQTNMLElBQUEyTCxHQUFBRyxHQUVBak0sSUFBQTlCLE9BQUEsR0FBQXlLLEVBQUFzRCxFQUFB
OUMsS0FBQWhKLEVBQUFnSixPQUdBL00sRUFBQThNLEVBQUFnRCxXQUNBL1AsRUFBQWdFLEVBQUE2
SSxNQUNBaE4sRUFBQW1FLEVBQUF4QixNQUNBeEMsRUFBQTZQLEtBQ0E3TCxFQUFBeEIsSUFBQSxV
QUFBcU4sRUFBQSxJQUFBL04sRUFBQSxNQUVBK0IsRUFBQThDLEtBQUEzQyxJQUlBLE9BQUFILEdB
S0EsUUFBQW1NLElBQUFDLEVBQUFDLEdBSUEsTUFIQUQsR0FBQUUsWUFBQUYsRUFBQS9ELFVBQ0Er
RCxJQUFBL0QsU0FFQTlMLEVBQUE2UCxHQUNBQyxFQUFBek0sT0FBQXdNLEdBQ0FBLEVBR0EsUUFB
QUcsSUFDQUMsRUFDQXZELEVBQ0FJLEVBQ0FILEVBQ0FGLEdBRUEsR0FBQStDLEdBQUFVLElBR0Es
T0FGQVYsR0FBQXhDLGFBQUFpRCxFQUNBVCxFQUFBVyxXQUFvQnpELE9BQUFJLFVBQUFILFdBQUFG
LE9BQ3BCK0MsRUFHQSxRQUFBWSxJQUNBSCxFQUNBSSxFQUNBdkQsR0FFQSxHQUFBak4sRUFBQW9R
LEVBQUFsSyxRQUFBbkcsRUFBQXFRLEVBQUFLLFdBQ0EsTUFBQUwsR0FBQUssU0FHQSxJQUFBMVEs
RUFBQXFRLEVBQUFNLFVBQ0EsTUFBQU4sR0FBQU0sUUFHQSxJQUFBMVEsRUFBQW9RLEVBQUFPLFVB
QUE1USxFQUFBcVEsRUFBQVEsYUFDQSxNQUFBUixHQUFBUSxXQUdBLEtBQUE3USxFQUFBcVEsRUFB
QVMsVUFHRyxDQUNILEdBQUFBLEdBQUFULEVBQUFTLFVBQUE1RCxHQUNBNkQsR0FBQSxFQUVBQyxF
QUFBLFdBQ0EsT0FBQWxQLEdBQUEsRUFBQW1CLEVBQUE2TixFQUFBL08sT0FBMENELEVBQUFtQixF
QUFPbkIsSUFDakRnUCxFQUFBaFAsR0FBQW1QLGdCQUlBQyxFQUFBck0sRUFBQSxTQUFBaEIsR0FF
QXdNLEVBQUFNLFNBQUFYLEdBQUFuTSxFQUFBNE0sR0FHQU0sR0FDQUMsTUFJQUcsRUFBQXRNLEVB
QUEsU0FBQXVNLEdBS0FwUixFQUFBcVEsRUFBQUssYUFDQUwsRUFBQWxLLE9BQUEsRUFDQTZLLE9B
SUFuTixFQUFBd00sRUFBQWEsRUFBQUMsRUE2Q0EsT0EzQ0EvUSxHQUFBeUQsS0FDQSxrQkFBQUEs
R0FBQXdOLEtBRUF4UixFQUFBd1EsRUFBQU0sV0FDQTlNLEVBQUF3TixLQUFBSCxFQUFBQyxHQUVP
blIsRUFBQTZELEVBQUF5TixZQUFBLGtCQUFBek4sR0FBQXlOLFVBQUFELE9BQ1B4TixFQUFBeU4s
VUFBQUQsS0FBQUgsRUFBQUMsR0FFQW5SLEVBQUE2RCxFQUFBc0MsU0FDQWtLLEVBQUFLLFVBQUFW
LEdBQUFuTSxFQUFBc0MsTUFBQXNLLElBR0F6USxFQUFBNkQsRUFBQStNLFdBQ0FQLEVBQUFRLFlB
QUFiLEdBQUFuTSxFQUFBK00sUUFBQUgsR0FDQSxJQUFBNU0sRUFBQTBOLE1BQ0FsQixFQUFBTyxT
QUFBLEVBRUFZLFdBQUEsV0FDQTNSLEVBQUF3USxFQUFBTSxXQUFBOVEsRUFBQXdRLEVBQUFsSyxT
QUNBa0ssRUFBQU8sU0FBQSxFQUNBSSxNQUVhbk4sRUFBQTBOLE9BQUEsTUFJYnZSLEVBQUE2RCxF
QUFBNE4sVUFDQUQsV0FBQSxXQUNBM1IsRUFBQXdRLEVBQUFNLFdBQ0FRLEVBR0EsT0FHV3ROLEVB
QUE0TixXQUtYVixHQUFBLEVBRUFWLEVBQUFPLFFBQ0FQLEVBQUFRLFlBQ0FSLEVBQUFNLFNBL0VB
TixFQUFBUyxTQUFBbkssS0FBQXVHLEdBcUZBLFFBQUF3RSxJQUFBM0UsR0FDQSxHQUFBdkosTUFB
QWEsUUFBQTBJLEdBQ0EsT0FBQWpMLEdBQUEsRUFBbUJBLEVBQUFpTCxFQUFBaEwsT0FBcUJELElB
QUEsQ0FDeEMsR0FBQWtDLEdBQUErSSxFQUFBakwsRUFDQSxJQUFBOUIsRUFBQWdFLElBQUFoRSxF
QUFBZ0UsRUFBQW1KLGtCQUNBLE1BQUFuSixJQVVBLFFBQUEyTixJQUFBOUwsR0FDQUEsRUFBQStM
LFFBQUFuUyxPQUFBa0MsT0FBQSxNQUNBa0UsRUFBQWdNLGVBQUEsQ0FFQSxJQUFBQyxHQUFBak0s
RUFBQXNHLFNBQUE0RixnQkFDQUQsSUFDQUUsR0FBQW5NLEVBQUFpTSxHQU1BLFFBQUEzRCxJQUFB
SSxFQUFBNUwsRUFBQXNQLEdBQ0FBLEVBQ0F4TCxHQUFBeUwsTUFBQTNELEVBQUE1TCxHQUVBOEQs
R0FBQTBMLElBQUE1RCxFQUFBNUwsR0FJQSxRQUFBeVAsSUFBQTdELEVBQUE1TCxHQUNBOEQsR0FB
QTRMLEtBQUE5RCxFQUFBNUwsR0FHQSxRQUFBcVAsSUFDQW5NLEVBQ0FpTSxFQUNBUSxHQUVBN0ws
R0FBQVosRUFDQW1JLEdBQUE4RCxFQUFBUSxNQUErQ25FLEdBQUFpRSxHQUFBdk0sR0E0Ry9DLFFB
QUEwTSxJQUNBeEYsRUFDQUcsR0FFQSxHQUFBc0YsS0FDQSxLQUFBekYsRUFDQSxNQUFBeUYsRUFH
QSxRQURBQyxNQUNBM1EsRUFBQSxFQUFBbUIsRUFBQThKLEVBQUFoTCxPQUFzQ0QsRUFBQW1CLEVB
QU9uQixJQUFBLENBQzdDLEdBQUEySSxHQUFBc0MsRUFBQWpMLEVBR0EsSUFBQTJJLEVBQUF5Qyxh
QUFBekMsRUFBQWlJLG9CQUFBeEYsSUFDQXpDLEVBQUFxQyxNQUFBLE1BQUFyQyxFQUFBcUMsS0FB
QTZGLEtBVUFGLEVBQUE5TCxLQUFBOEQsT0FUQSxDQUNBLEdBQUFaLEdBQUFZLEVBQUFxQyxLQUFB
NkYsS0FDQUEsRUFBQUgsRUFBQTNJLEtBQUEySSxFQUFBM0ksTUFDQSxjQUFBWSxFQUFBb0MsSUFD
QThGLEVBQUFoTSxLQUFBeEQsTUFBQXdQLEVBQUFsSSxFQUFBc0MsVUFFQTRGLEVBQUFoTSxLQUFB
OEQsSUFVQSxNQUhBZ0ksR0FBQWxPLE1BQUFxTyxNQUNBSixFQUFBdEcsUUFBQXVHLEdBRUFELEVB
R0EsUUFBQUksSUFBQWhELEdBQ0EsTUFBQUEsR0FBQXJDLFdBQUEsTUFBQXFDLEVBQUE1QyxLQUdB
LFFBQUE2RixJQUNBakYsRUFDQS9KLEdBRUFBLE9BQ0EsUUFBQS9CLEdBQUEsRUFBaUJBLEVBQUE4
TCxFQUFBN0wsT0FBZ0JELElBQ2pDMEIsTUFBQWEsUUFBQXVKLEVBQUE5TCxJQUNBK1EsR0FBQWpG
LEVBQUE5TCxHQUFBK0IsR0FFQUEsRUFBQStKLEVBQUE5TCxHQUFBVSxLQUFBb0wsRUFBQTlMLEdB
QUFhLEVBR0EsT0FBQWtCLEdBUUEsUUFBQWlQLElBQUFqTixHQUNBLEdBQUE4RCxHQUFBOUQsRUFB
QXNHLFNBR0EzQixFQUFBYixFQUFBYSxNQUNBLElBQUFBLElBQUFiLEVBQUFvSixTQUFBLENBQ0Es
S0FBQXZJLEVBQUEyQixTQUFBNEcsVUFBQXZJLEVBQUF3SSxTQUNBeEksSUFBQXdJLE9BRUF4SSxH
QUFBeUksVUFBQXRNLEtBQUFkLEdBR0FBLEVBQUFtTixRQUFBeEksRUFDQTNFLEVBQUFxTixNQUFB
MUksSUFBQTBJLE1BQUFyTixFQUVBQSxFQUFBb04sYUFDQXBOLEVBQUFzTixTQUVBdE4sRUFBQXVO
LFNBQUEsS0FDQXZOLEVBQUF3TixVQUFBLEtBQ0F4TixFQUFBeU4saUJBQUEsRUFDQXpOLEVBQUEw
TixZQUFBLEVBQ0ExTixFQUFBMk4sY0FBQSxFQUNBM04sRUFBQTROLG1CQUFBLEVBNkZBLFFBQUFD
LElBQ0E3TixFQUNBOE4sRUFDQUMsR0FFQS9OLEVBQUFnTyxJQUFBRixFQUNBOU4sRUFBQXNHLFNB
QUEySCxTQUNBak8sRUFBQXNHLFNBQUEySCxPQUFBeEQsSUFtQkF5RCxHQUFBbE8sRUFBQSxjQUVB
LElBQUFtTyxFQWtDQSxPQWRBQSxHQUFBLFdBQ0FuTyxFQUFBb08sUUFBQXBPLEVBQUFxTyxVQUFB
TixJQUlBL04sRUFBQXVOLFNBQUEsR0FBQWUsSUFBQXRPLEVBQUFtTyxFQUFBbFEsR0FDQThQLEdB
QUEsRUFJQSxNQUFBL04sRUFBQXVPLFNBQ0F2TyxFQUFBME4sWUFBQSxFQUNBUSxHQUFBbE8sRUFB
QSxZQUVBQSxFQUdBLFFBQUF3TyxJQUNBeE8sRUFDQTZGLEVBQ0FvRyxFQUNBd0MsRUFDQUMsR0FR
QSxHQUFBQyxNQUNBRCxHQUNBMU8sRUFBQXNHLFNBQUFzSSxpQkFDQUgsRUFBQXhILEtBQUE0SCxh
QUNBN08sRUFBQThPLGVBQUFDLEdBa0JBLElBZkEvTyxFQUFBc0csU0FBQTBJLGFBQUFQLEVBQ0F6
TyxFQUFBdU8sT0FBQUUsRUFFQXpPLEVBQUFpUCxTQUNBalAsRUFBQWlQLE9BQUF0SyxPQUFBOEos
R0FFQXpPLEVBQUFzRyxTQUFBc0ksZ0JBQUFGLEVBS0ExTyxFQUFBa1AsT0FBQVQsRUFBQXhILE1B
QUF3SCxFQUFBeEgsS0FBQW9DLE1BQ0FySixFQUFBbVAsV0FBQWxELEVBR0FwRyxHQUFBN0YsRUFB
QXNHLFNBQUF2QyxNQUFBLENBQ0FyQyxHQUFBQyxlQUFBLENBR0EsUUFGQW9DLEdBQUEvRCxFQUFB
dUcsT0FDQTZJLEVBQUFwUCxFQUFBc0csU0FBQStJLGNBQ0FwVCxFQUFBLEVBQW1CQSxFQUFBbVQs
RUFBQWxULE9BQXFCRCxJQUFBLENBQ3hDLEdBQUFVLEdBQUF5UyxFQUFBblQsRUFDQThILEdBQUFw
SCxHQUFBZ0osRUFBQWhKLEVBQUFxRCxFQUFBc0csU0FBQXZDLE1BQUE4QixFQUFBN0YsR0FFQTBC
LEdBQUFDLGVBQUEsRUFFQTNCLEVBQUFzRyxTQUFBVCxZQUlBLEdBQUFvRyxFQUFBLENBQ0EsR0FB
QVEsR0FBQXpNLEVBQUFzRyxTQUFBNEYsZ0JBQ0FsTSxHQUFBc0csU0FBQTRGLGlCQUFBRCxFQUNB
RSxHQUFBbk0sRUFBQWlNLEVBQUFRLEdBR0FrQyxJQUNBM08sRUFBQXNQLE9BQUE1QyxHQUFBZ0Ms
RUFBQUQsRUFBQXBILFNBQ0FySCxFQUFBb0wsZ0JBUUEsUUFBQW1FLElBQUF2UCxHQUNBLEtBQUFB
LFFBQUFtTixVQUNBLEdBQUFuTixFQUFBd04sVUFBdUIsUUFFdkIsVUFHQSxRQUFBZ0MsSUFBQXhQ
LEVBQUF5UCxHQUNBLEdBQUFBLEdBRUEsR0FEQXpQLEVBQUF5TixpQkFBQSxFQUNBOEIsR0FBQXZQ
LEdBQ0EsV0FFRyxJQUFBQSxFQUFBeU4sZ0JBQ0gsTUFFQSxJQUFBek4sRUFBQXdOLFdBQUEsT0FB
QXhOLEVBQUF3TixVQUFBLENBQ0F4TixFQUFBd04sV0FBQSxDQUNBLFFBQUF2UixHQUFBLEVBQW1C
QSxFQUFBK0QsRUFBQW9OLFVBQUFsUixPQUF5QkQsSUFDNUN1VCxHQUFBeFAsRUFBQW9OLFVBQUFu
UixHQUVBaVMsSUFBQWxPLEVBQUEsY0FJQSxRQUFBMFAsSUFBQTFQLEVBQUF5UCxHQUNBLEtBQUFB
LElBQ0F6UCxFQUFBeU4saUJBQUEsRUFDQThCLEdBQUF2UCxLQUlBQSxFQUFBd04sV0FBQSxDQUNB
eE4sRUFBQXdOLFdBQUEsQ0FDQSxRQUFBdlIsR0FBQSxFQUFtQkEsRUFBQStELEVBQUFvTixVQUFB
bFIsT0FBeUJELElBQzVDeVQsR0FBQTFQLEVBQUFvTixVQUFBblIsR0FFQWlTLElBQUFsTyxFQUFB
LGdCQUlBLFFBQUFrTyxJQUFBbE8sRUFBQWdKLEdBQ0EsR0FBQTJHLEdBQUEzUCxFQUFBc0csU0FB
QTBDLEVBQ0EsSUFBQTJHLEVBQ0EsT0FBQTFULEdBQUEsRUFBQTJULEVBQUFELEVBQUF6VCxPQUF3
Q0QsRUFBQTJULEVBQU8zVCxJQUMvQyxJQUNBMFQsRUFBQTFULEdBQUF0QixLQUFBcUYsR0FDTyxN
QUFBckIsR0FDUG1CLEVBQUFuQixFQUFBcUIsRUFBQWdKLEVBQUEsU0FJQWhKLEVBQUFnTSxlQUNB
aE0sRUFBQTZQLE1BQUEsUUFBQTdHLEdBb0JBLFFBQUE4RyxNQUNBdlQsR0FBQXdULEdBQUE3VCxP
QUFBOFQsR0FBQTlULE9BQUEsRUFDQStULE1BSUFDLEdBQUFDLElBQUEsRUFNQSxRQUFBQyxNQUNB
RCxJQUFBLENBQ0EsSUFBQUUsR0FBQWhMLENBY0EsS0FKQTBLLEdBQUFPLEtBQUEsU0FBQW5ULEVB
QUFlLEdBQThCLE1BQUFmLEdBQUFrSSxHQUFBbkgsRUFBQW1ILEtBSTlCOUksR0FBQSxFQUFpQkEs
R0FBQXdULEdBQUE3VCxPQUFzQkssS0FDdkM4VCxFQUFBTixHQUFBeFQsSUFDQThJLEVBQUFnTCxF
QUFBaEwsR0FDQTRLLEdBQUE1SyxHQUFBLEtBQ0FnTCxFQUFBRSxLQW1CQSxJQUFBQyxHQUFBUixH
QUFBOUgsUUFDQXVJLEVBQUFWLEdBQUE3SCxPQUVBNEgsTUFHQVksR0FBQUYsR0FDQUcsR0FBQUYs
R0FJQUcsSUFBQTFRLEdBQUEwUSxVQUNBQSxHQUFBQyxLQUFBLFNBSUEsUUFBQUYsSUFBQVosR0FF
QSxJQURBLEdBQUE5VCxHQUFBOFQsRUFBQTdULE9BQ0FELEtBQUEsQ0FDQSxHQUFBb1UsR0FBQU4s
RUFBQTlULEdBQ0ErRCxFQUFBcVEsRUFBQXJRLEVBQ0FBLEdBQUF1TixXQUFBOEMsR0FBQXJRLEVB
QUEwTixZQUNBUSxHQUFBbE8sRUFBQSxZQVNBLFFBQUE4USxJQUFBOVEsR0FHQUEsRUFBQXdOLFdB
QUEsRUFDQXdDLEdBQUFsUCxLQUFBZCxHQUdBLFFBQUEwUSxJQUFBWCxHQUNBLE9BQUE5VCxHQUFB
LEVBQWlCQSxFQUFBOFQsRUFBQTdULE9BQWtCRCxJQUNuQzhULEVBQUE5VCxHQUFBdVIsV0FBQSxF
QUNBZ0MsR0FBQU8sRUFBQTlULElBQUEsR0FTQSxRQUFBOFUsSUFBQVYsR0FDQSxHQUFBaEwsR0FB
QWdMLEVBQUFoTCxFQUNBLFVBQUE0SyxHQUFBNUssR0FBQSxDQUVBLEdBREE0SyxHQUFBNUssSUFB
QSxFQUNBOEssR0FFSyxDQUlMLElBREEsR0FBQWxVLEdBQUE4VCxHQUFBN1QsT0FBQSxFQUNBRCxF
QUFBTSxJQUFBd1QsR0FBQTlULEdBQUFvSixHQUFBZ0wsRUFBQWhMLElBQ0FwSixHQUVBOFQsSUFB
QXRULE9BQUFSLEVBQUEsSUFBQW9VLE9BUkFOLElBQUFqUCxLQUFBdVAsRUFXQUgsTUFDQUEsSUFB
QSxFQUNBYyxHQUFBWixNQTROQSxRQUFBYSxJQUFBblcsR0FDQW9XLEdBQUFDLFFBQ0FDLEdBQUF0
VyxFQUFBb1csSUFHQSxRQUFBRSxJQUFBdFcsRUFBQXVXLEdBQ0EsR0FBQXBWLEdBQUE0QyxFQUNB
eVMsRUFBQTNULE1BQUFhLFFBQUExRCxFQUNBLEtBQUF3VyxHQUFBL1csRUFBQU8sS0FBQWxCLE9B
QUFpSSxhQUFBL0csR0FBQSxDQUdBLEdBQUFBLEVBQUEwRyxPQUFBLENBQ0EsR0FBQStQLEdBQUF6
VyxFQUFBMEcsT0FBQVcsSUFBQWtELEVBQ0EsSUFBQWdNLEVBQUFwQixJQUFBc0IsR0FDQSxNQUVB
RixHQUFBL0ksSUFBQWlKLEdBRUEsR0FBQUQsRUFFQSxJQURBclYsRUFBQW5CLEVBQUFvQixPQUNB
RCxLQUFpQm1WLEdBQUF0VyxFQUFBbUIsR0FBQW9WLE9BSWpCLEtBRkF4UyxFQUFBakYsT0FBQWlG
LEtBQUEvRCxHQUNBbUIsRUFBQTRDLEVBQUEzQyxPQUNBRCxLQUFpQm1WLEdBQUF0VyxFQUFBK0Qs
RUFBQTVDLElBQUFvVixJQWFqQixRQUFBRyxJQUFBNVEsRUFBQTZRLEVBQUE5VSxHQUNBK1UsR0FB
QW5QLElBQUEsV0FDQSxNQUFBckQsTUFBQXVTLEdBQUE5VSxJQUVBK1UsR0FBQWpQLElBQUEsU0FB
QTNILEdBQ0FvRSxLQUFBdVMsR0FBQTlVLEdBQUE3QixHQUVBbEIsT0FBQUMsZUFBQStHLEVBQUFq
RSxFQUFBK1UsSUFHQSxRQUFBQyxJQUFBM1IsR0FDQUEsRUFBQTRSLFlBQ0EsSUFBQUMsR0FBQTdS
LEVBQUFzRyxRQUNBdUwsR0FBQTlOLE9BQW1CK04sR0FBQTlSLEVBQUE2UixFQUFBOU4sT0FDbkI4
TixFQUFBRSxTQUFxQkMsR0FBQWhTLEVBQUE2UixFQUFBRSxTQUNyQkYsRUFBQTVLLEtBQ0FnTCxH
QUFBalMsR0FFQXFCLEVBQUFyQixFQUFBa1MsVUFBeUIsR0FFekJMLEVBQUFNLFVBQXNCQyxHQUFB
cFMsRUFBQTZSLEVBQUFNLFVBQ3RCTixFQUFBUSxPQUFBUixFQUFBUSxRQUFBQyxJQUNBQyxHQUFB
dlMsRUFBQTZSLEVBQUFRLE9BY0EsUUFBQVAsSUFBQTlSLEVBQUF3UyxHQUNBLEdBQUEzTSxHQUFB
N0YsRUFBQXNHLFNBQUFULGNBQ0E5QixFQUFBL0QsRUFBQXVHLFVBR0ExSCxFQUFBbUIsRUFBQXNH
LFNBQUErSSxhQUNBb0QsR0FBQXpTLEVBQUFtTixPQUVBekwsSUFBQUMsY0FBQThRLENBa0NBLFFB
QUE5VixLQUFBNlYsSUFqQ0EsU0FBQTdWLEdBQ0FrQyxFQUFBaUMsS0FBQW5FLEVBQ0EsSUFBQTdD
LEdBQUE2TCxFQUFBaEosRUFBQTZWLEVBQUEzTSxFQUFBN0YsRUFxQkFnQyxHQUFBK0IsRUFBQXBI
LEVBQUE3QyxHQUtBNkMsSUFBQXFELElBQ0F3UixHQUFBeFIsRUFBQSxTQUFBckQsSUFJQUEsRUFD
QStFLElBQUFDLGVBQUEsRUFHQSxRQUFBc1EsSUFBQWpTLEdBQ0EsR0FBQWlILEdBQUFqSCxFQUFB
c0csU0FBQVcsSUFDQUEsR0FBQWpILEVBQUFrUyxNQUFBLGtCQUFBakwsR0FDQXlMLEdBQUF6TCxF
QUFBakgsR0FDQWlILE1BQ0F4TSxFQUFBd00sS0FDQUEsS0FZQSxLQUpBLEdBQUFwSSxHQUFBakYs
T0FBQWlGLEtBQUFvSSxHQUNBbEQsRUFBQS9ELEVBQUFzRyxTQUFBdkMsTUFFQTlILEdBREErRCxF
QUFBc0csU0FBQXlMLFFBQ0FsVCxFQUFBM0MsUUFDQUQsS0FBQSxDQUNBLEdBQUFVLEdBQUFrQyxF
QUFBNUMsRUFTQThILElBQUFySCxFQUFBcUgsRUFBQXBILElBTUt3QyxFQUFBeEMsSUFDTDZVLEdB
QUF4UixFQUFBLFFBQUFyRCxHQUlBMEUsRUFBQTRGLEdBQUEsR0FHQSxRQUFBeUwsSUFBQXpMLEVB
QUFqSCxHQUNBLElBQ0EsTUFBQWlILEdBQUF0TSxLQUFBcUYsR0FDRyxNQUFBckIsR0FFSCxNQURB
bUIsR0FBQW5CLEVBQUFxQixFQUFBLGNBT0EsUUFBQW9TLElBQUFwUyxFQUFBbVMsR0FFQSxHQUFB
USxHQUFBM1MsRUFBQTRTLGtCQUFBaFosT0FBQWtDLE9BQUEsS0FFQSxRQUFBYSxLQUFBd1YsR0FB
QSxDQUNBLEdBQUFVLEdBQUFWLEVBQUF4VixHQUNBMkYsRUFBQSxrQkFBQXVRLE9BQUF0USxHQVFB
b1EsR0FBQWhXLEdBQUEsR0FBQTJSLElBQUF0TyxFQUFBc0MsR0FBQXJFLElBQUE2VSxJQUtBblcs
SUFBQXFELElBQ0ErUyxHQUFBL1MsRUFBQXJELEVBQUFrVyxJQVdBLFFBQUFFLElBQUFuUyxFQUFB
akUsRUFBQWtXLEdBQ0Esa0JBQUFBLElBQ0FuQixHQUFBblAsSUFBQXlRLEdBQUFyVyxHQUNBK1Us
R0FBQWpQLElBQUF4RSxJQUVBeVQsR0FBQW5QLElBQUFzUSxFQUFBdFEsS0FDQSxJQUFBc1EsRUFB
QTlWLE1BQ0FpVyxHQUFBclcsR0FDQWtXLEVBQUF0USxJQUNBdEUsRUFDQXlULEdBQUFqUCxJQUFB
b1EsRUFBQXBRLElBQ0FvUSxFQUFBcFEsSUFDQXhFLEdBV0FyRSxPQUFBQyxlQUFBK0csRUFBQWpF
LEVBQUErVSxJQUdBLFFBQUFzQixJQUFBclcsR0FDQSxrQkFDQSxHQUFBMFQsR0FBQW5SLEtBQUEw
VCxtQkFBQTFULEtBQUEwVCxrQkFBQWpXLEVBQ0EsSUFBQTBULEVBT0EsTUFOQUEsR0FBQTRDLE9B
Q0E1QyxFQUFBNkMsV0FFQXZTLEdBQUFDLFFBQ0F5UCxFQUFBMU4sU0FFQTBOLEVBQUF2VyxPQUtB
LFFBQUFrWSxJQUFBaFMsRUFBQStSLEdBRUEvUixFQUFBc0csU0FBQXZDLEtBQ0EsUUFBQXBILEtB
QUFvVixHQUNBL1IsRUFBQXJELEdBQUEsTUFBQW9WLEVBQUFwVixHQUFBc0IsRUFBQWpCLEVBQUEr
VSxFQUFBcFYsR0FBQXFELEdBbUJBLFFBQUF1UyxJQUFBdlMsRUFBQXFTLEdBRUEsT0FBQTFWLEtB
QUEwVixHQUFBLENBQ0EsR0FBQWMsR0FBQWQsRUFBQTFWLEVBQ0EsSUFBQWdCLE1BQUFhLFFBQUEy
VSxHQUNBLE9BQUFsWCxHQUFBLEVBQXFCQSxFQUFBa1gsRUFBQWpYLE9BQW9CRCxJQUN6Q21YLEdB
QUFwVCxFQUFBckQsRUFBQXdXLEVBQUFsWCxRQUdBbVgsSUFBQXBULEVBQUFyRCxFQUFBd1csSUFL
QSxRQUFBQyxJQUNBcFQsRUFDQXFULEVBQ0FGLEVBQ0FyUCxHQVNBLE1BUEFySixHQUFBMFksS0FD
QXJQLEVBQUFxUCxFQUNBQSxhQUVBLGdCQUFBQSxLQUNBQSxFQUFBblQsRUFBQW1ULElBRUFuVCxF
QUFBc1QsT0FBQUQsRUFBQUYsRUFBQXJQLEdBb0RBLFFBQUF5UCxJQUFBdlQsR0FDQSxHQUFBd1Qs
R0FBQXhULEVBQUFzRyxTQUFBa04sT0FDQUEsS0FDQXhULEVBQUF5VCxVQUFBLGtCQUFBRCxHQUNB
QSxFQUFBN1ksS0FBQXFGLEdBQ0F3VCxHQUlBLFFBQUFFLElBQUExVCxHQUNBLEdBQUEyVCxHQUFB
QyxHQUFBNVQsRUFBQXNHLFNBQUFsQyxPQUFBcEUsRUFDQTJULEtBQ0FqUyxHQUFBQyxlQUFBLEVB
Q0EvSCxPQUFBaUYsS0FBQThVLEdBQUFFLFFBQUEsU0FBQWxYLEdBWUFxRixFQUFBaEMsRUFBQXJE
LEVBQUFnWCxFQUFBaFgsTUFHQStFLEdBQUFDLGVBQUEsR0FJQSxRQUFBaVMsSUFBQXhQLEVBQUFw
RSxHQUNBLEdBQUFvRSxFQUFBLENBT0EsT0FMQXVQLEdBQUEvWixPQUFBa0MsT0FBQSxNQUNBK0Ms
RUFBQWlWLEdBQ0FDLFFBQUFDLFFBQUE1UCxHQUNBeEssT0FBQWlGLEtBQUF1RixHQUVBbkksRUFB
QSxFQUFtQkEsRUFBQTRDLEVBQUEzQyxPQUFpQkQsSUFJcEMsSUFIQSxHQUFBVSxHQUFBa0MsRUFB
QTVDLEdBQ0FnWSxFQUFBN1AsRUFBQXpILEdBQ0F1WCxFQUFBbFUsRUFDQWtVLEdBQUEsQ0FDQSxH
QUFBQSxFQUFBVCxXQUFBUSxJQUFBQyxHQUFBVCxVQUFBLENBQ0FFLEVBQUFoWCxHQUFBdVgsRUFB
QVQsVUFBQVEsRUFDQSxPQUVBQyxJQUFBL0csUUFNQSxNQUFBd0csSUFNQSxRQUFBUSxJQUNBM1Qs
RUFDQXFGLEVBQ0FvQixFQUNBSSxFQUNBSCxHQUVBLEdBQUFuRCxNQUNBNkIsRUFBQXBGLEVBQUFz
RCxRQUFBQyxLQUNBLElBQUE1SixFQUFBeUwsR0FDQSxPQUFBakosS0FBQWlKLEdBQ0E3QixFQUFB
cEgsR0FBQWdKLEVBQUFoSixFQUFBaUosRUFBQUMsV0FHQTFMLEdBQUE4TSxFQUFBb0MsUUFBNEIr
SyxHQUFBclEsRUFBQWtELEVBQUFvQyxPQUM1QmxQLEVBQUE4TSxFQUFBbEQsUUFBNEJxUSxHQUFB
clEsRUFBQWtELEVBQUFsRCxNQUk1QixJQUFBc1EsR0FBQXphLE9BQUFrQyxPQUFBdUwsR0FDQWlO
LEVBQUEsU0FBQW5YLEVBQUFlLEVBQUFDLEVBQUFvVyxHQUFpQyxNQUFBQyxJQUFBSCxFQUFBbFgs
RUFBQWUsRUFBQUMsRUFBQW9XLEdBQUEsSUFDakN6TixFQUFBdEcsRUFBQXNELFFBQUFtSyxPQUFB
dFQsS0FBQSxLQUFBMlosR0FDQXJOLE9BQ0FsRCxRQUNBbUQsV0FDQXZDLE9BQUEwQyxFQUNBNEUs
VUFBQWhGLEVBQUFtQixPQUNBcU0sV0FBQWIsR0FBQXBULEVBQUFzRCxRQUFBTSxPQUFBaUQsR0FD
QXNGLE1BQUEsV0FBd0IsTUFBQUQsSUFBQXhGLEVBQUFHLEtBU3hCLE9BUEFQLGFBQUFGLE1BQ0FF
LEVBQUErRixrQkFBQXhGLEVBQ0FQLEVBQUE0TixrQkFBQWxVLEVBQUFzRCxRQUNBbUQsRUFBQTZG
LFFBQ0FoRyxFQUFBRyxPQUFBSCxFQUFBRyxVQUFxQzZGLEtBQUE3RixFQUFBNkYsT0FHckNoRyxF
QUdBLFFBQUFzTixJQUFBdlcsRUFBQXFGLEdBQ0EsT0FBQXZHLEtBQUF1RyxHQUNBckYsRUFBQW9H
LEdBQUF0SCxJQUFBdUcsRUFBQXZHLEdBNEVBLFFBQUFnWSxJQUNBblUsRUFDQXlHLEVBQ0FJLEVB
Q0FILEVBQ0FGLEdBRUEsSUFBQWhOLEVBQUF3RyxHQUFBLENBSUEsR0FBQW9LLEdBQUF2RCxFQUFB
ZixTQUFBc08sS0FTQSxJQU5BcmEsRUFBQWlHLEtBQ0FBLEVBQUFvSyxFQUFBaE4sT0FBQTRDLElB
S0Esa0JBQUFBLEdBQUEsQ0FRQSxHQUFBK0csRUFDQSxJQUFBdk4sRUFBQXdHLEVBQUFxVSxPQUNB
dE4sRUFBQS9HLE1BRUF0RyxNQURBc0csRUFBQW1LLEdBQUFwRCxFQUFBcUQsRUFBQXZELEtBS0Es
TUFBQWtELElBQ0FoRCxFQUNBTixFQUNBSSxFQUNBSCxFQUNBRixFQUtBQyxTQUlBNk4sR0FBQXRV
LEdBR0FyRyxFQUFBOE0sRUFBQThOLFFBQ0FDLEdBQUF4VSxFQUFBc0QsUUFBQW1ELEVBSUEsSUFB
QXBCLEdBQUF1RCxHQUFBbkMsRUFBQXpHLEVBQUF3RyxFQUdBLElBQUE1TSxFQUFBb0csRUFBQXNE
LFFBQUFtUixZQUNBLE1BQUFkLElBQUEzVCxFQUFBcUYsRUFBQW9CLEVBQUFJLEVBQUFILEVBS0Es
SUFBQStFLEdBQUFoRixFQUFBbUIsRUFLQSxJQUZBbkIsRUFBQW1CLEdBQUFuQixFQUFBaU8sU0FF
QTlhLEVBQUFvRyxFQUFBc0QsUUFBQW9KLFVBQUEsQ0FLQSxHQUFBSixHQUFBN0YsRUFBQTZGLElB
Q0E3RixNQUNBNkYsSUFDQTdGLEVBQUE2RixRQUtBcUksR0FBQWxPLEVBR0EsSUFBQWpELEdBQUF4
RCxFQUFBc0QsUUFBQUUsTUFBQWdELENBT0EsT0FOQSxJQUFBSixJQUNBLGlCQUFBcEcsRUFBQSxL
QUFBd0QsRUFBQSxJQUFBQSxFQUFBLElBQ0FpRCxNQUFBL00saUJBQUFtTixHQUNLN0csT0FBQXFG
LFlBQUFvRyxZQUFBakYsTUFBQUUsWUFDTEssS0FLQSxRQUFBNk4sSUFDQXRPLEVBQ0FuQyxFQUNB
MFEsRUFDQUMsR0FFQSxHQUFBQyxHQUFBek8sRUFBQVEsaUJBQ0F4RCxHQUNBMFIsY0FBQSxFQUNB
N1EsU0FDQWtCLFVBQUEwUCxFQUFBMVAsVUFDQTRQLGNBQUFGLEVBQUF2TyxJQUNBZ0ksYUFBQWxJ
LEVBQ0FvRixpQkFBQXFKLEVBQUF0SixVQUNBMkMsZ0JBQUEyRyxFQUFBck8sU0FDQXdPLFdBQUFM
LEdBQUEsS0FDQU0sUUFBQUwsR0FBQSxNQUdBTSxFQUFBOU8sRUFBQUcsS0FBQTJPLGNBS0EsT0FK
QXpiLEdBQUF5YixLQUNBOVIsRUFBQW1LLE9BQUEySCxFQUFBM0gsT0FDQW5LLEVBQUErUixnQkFB
QUQsRUFBQUMsaUJBRUEsR0FBQU4sR0FBQS9VLEtBQUFzRCxHQUdBLFFBQUFxUixJQUFBbE8sR0FD
QUEsRUFBQStCLE9BQ0EvQixFQUFBK0IsUUFFQSxRQUFBL00sR0FBQSxFQUFpQkEsRUFBQTZaLEdB
QUE1WixPQUF5QkQsSUFBQSxDQUMxQyxHQUFBVSxHQUFBbVosR0FBQTdaLEdBQ0E4WixFQUFBOU8s
RUFBQStCLEtBQUFyTSxHQUNBcVosRUFBQUMsR0FBQXRaLEVBQ0FzSyxHQUFBK0IsS0FBQXJNLEdB
QUFvWixFQUFBRyxHQUFBRixFQUFBRCxHQUFBQyxHQUlBLFFBQUFFLElBQUFDLEVBQUFDLEdBQ0Es
Z0JBQUFqWixFQUFBZSxFQUFBQyxFQUFBb1csR0FDQTRCLEVBQUFoWixFQUFBZSxFQUFBQyxFQUFB
b1csR0FDQTZCLEVBQUFqWixFQUFBZSxFQUFBQyxFQUFBb1csSUFNQSxRQUFBUyxJQUFBbFIsRUFB
QW1ELEdBQ0EsR0FBQW5CLEdBQUFoQyxFQUFBaVIsT0FBQWpSLEVBQUFpUixNQUFBalAsTUFBQSxR
QUNBNEMsRUFBQTVFLEVBQUFpUixPQUFBalIsRUFBQWlSLE1BQUFyTSxPQUFBLFNBQWdFekIsRUFB
QWxELFFBQUFrRCxFQUFBbEQsV0FBK0IrQixHQUFBbUIsRUFBQThOLE1BQUFqYixLQUMvRixJQUFB
c08sR0FBQW5CLEVBQUFtQixLQUFBbkIsRUFBQW1CLE1BQ0FqTyxHQUFBaU8sRUFBQU0sSUFDQU4s
RUFBQU0sSUFBQXpCLEVBQUE4TixNQUFBc0IsVUFBQTFTLE9BQUF5RSxFQUFBTSxJQUVBTixFQUFB
TSxHQUFBekIsRUFBQThOLE1BQUFzQixTQVdBLFFBQUE3QixJQUNBbk4sRUFDQUwsRUFDQUMsRUFD
QUMsRUFDQW9QLEVBQ0FDLEdBVUEsT0FSQTVZLE1BQUFhLFFBQUF5SSxJQUFBM00sRUFBQTJNLE1B
Q0FxUCxFQUFBcFAsRUFDQUEsRUFBQUQsRUFDQUEsTUFBQS9NLElBRUFFLEVBQUFtYyxLQUNBRCxF
QUFBRSxJQUVBQyxHQUFBcFAsRUFBQUwsRUFBQUMsRUFBQUMsRUFBQW9QLEdBR0EsUUFBQUcsSUFD
QXBQLEVBQ0FMLEVBQ0FDLEVBQ0FDLEVBQ0FvUCxHQUVBLEdBQUFuYyxFQUFBOE0sSUFBQTlNLEVB
QUEsRUFBQXFILFFBTUEsTUFBQWlKLEtBTUEsSUFIQXRRLEVBQUE4TSxJQUFBOU0sRUFBQThNLEVB
QUF5UCxNQUNBMVAsRUFBQUMsRUFBQXlQLEtBRUExUCxFQUVBLE1BQUF5RCxLQWFBOU0sT0FBQWEs
UUFBQTBJLElBQ0Esa0JBQUFBLEdBQUEsS0FFQUQsUUFDQUEsRUFBQTRILGFBQXdCeEksUUFBQWEs
RUFBQSxJQUN4QkEsRUFBQWhMLE9BQUEsR0FFQW9hLElBQUFFLEdBQ0F0UCxFQUFBMEMsR0FBQTFD
LEdBQ0dvUCxJQUFBSyxLQUNIelAsRUFBQXdDLEdBQUF4QyxHQUVBLElBQUFKLEdBQUFVLENBQ0Es
b0JBQUFSLEdBQUEsQ0FDQSxHQUFBeEcsRUFDQWdILEdBQUF0SCxHQUFBMFcsZ0JBQUE1UCxHQUdB
RixFQUZBNUcsR0FBQTJXLGNBQUE3UCxHQUVBLEdBQUFKLElBQ0ExRyxHQUFBNFcscUJBQUE5UCxH
QUFBQyxFQUFBQyxNQUNBaE4sVUFBQW1OLEdBRUtsTixFQUFBcUcsRUFBQTRFLEVBQUFpQyxFQUFB
ZixTQUFBLGFBQUFVLElBRUwyTixHQUFBblUsRUFBQXlHLEVBQUFJLEVBQUFILEVBQUFGLEdBS0Es
R0FBQUosSUFDQUksRUFBQUMsRUFBQUMsTUFDQWhOLFVBQUFtTixPQUtBUCxHQUFBNk4sR0FBQTNO
LEVBQUFDLEVBQUFJLEVBQUFILEVBRUEsT0FBQS9NLEdBQUEyTSxJQUNBVSxHQUFhdVAsR0FBQWpR
LEVBQUFVLEdBQ2JWLEdBRUEyRCxLQUlBLFFBQUFzTSxJQUFBalEsRUFBQVUsR0FFQSxHQURBVixF
QUFBVSxLQUNBLGtCQUFBVixFQUFBRSxLQUlBN00sRUFBQTJNLEVBQUFJLFVBQ0EsT0FBQWpMLEdB
QUEsRUFBQW1CLEVBQUEwSixFQUFBSSxTQUFBaEwsT0FBOENELEVBQUFtQixFQUFPbkIsSUFBQSxD
QUNyRCxHQUFBMkksR0FBQWtDLEVBQUFJLFNBQUFqTCxFQUNBOUIsR0FBQXlLLEVBQUFvQyxNQUFB
aE4sRUFBQTRLLEVBQUE0QyxLQUNBdVAsR0FBQW5TLEVBQUE0QyxJQVdBLFFBQUF3UCxJQUNBbGMs
RUFDQW1ULEdBRUEsR0FBQXZRLEdBQUF6QixFQUFBbUIsRUFBQXlCLEVBQUFsQyxDQUNBLElBQUFn
QixNQUFBYSxRQUFBMUQsSUFBQSxnQkFBQUEsR0FFQSxJQURBNEMsRUFBQSxHQUFBQyxPQUFBN0Ms
RUFBQW9CLFFBQ0FELEVBQUEsRUFBQW1CLEVBQUF0QyxFQUFBb0IsT0FBK0JELEVBQUFtQixFQUFP
bkIsSUFDdEN5QixFQUFBekIsR0FBQWdTLEVBQUFuVCxFQUFBbUIsVUFFRyxvQkFBQW5CLEdBRUgs
SUFEQTRDLEVBQUEsR0FBQUMsT0FBQTdDLEdBQ0FtQixFQUFBLEVBQWVBLEVBQUFuQixFQUFTbUIs
SUFDeEJ5QixFQUFBekIsR0FBQWdTLEVBQUFoUyxFQUFBLEVBQUFBLE9BRUcsSUFBQTFCLEVBQUFP
LEdBR0gsSUFGQStELEVBQUFqRixPQUFBaUYsS0FBQS9ELEdBQ0E0QyxFQUFBLEdBQUFDLE9BQUFr
QixFQUFBM0MsUUFDQUQsRUFBQSxFQUFBbUIsRUFBQXlCLEVBQUEzQyxPQUFnQ0QsRUFBQW1CLEVB
QU9uQixJQUN2Q1UsRUFBQWtDLEVBQUE1QyxHQUNBeUIsRUFBQXpCLEdBQUFnUyxFQUFBblQsRUFB
QTZCLEtBQUFWLEVBTUEsT0FIQTlCLEdBQUF1RCxLQUNBLEVBQUF3TSxVQUFBLEdBRUF4TSxFQVFB
LFFBQUF1WixJQUNBalQsRUFDQWtULEVBQ0FuVCxFQUNBb1QsR0FFQSxHQUFBQyxHQUFBbFksS0FB
QTRQLGFBQUE5SyxFQUNBLElBQUFvVCxFQUtBLE1BSkFyVCxTQUNBb1QsSUFDQXBULEVBQUFuRyxP
QUE4QnVaLEdBQUFwVCxJQUU5QnFULEVBQUFyVCxJQUFBbVQsQ0FFQSxJQUFBRyxHQUFBblksS0FB
QW9RLE9BQUF0TCxFQVVBLE9BQUFxVCxJQUFBSCxFQVNBLFFBQUFJLElBQUFqUyxHQUNBLE1BQUFE
LEdBQUFsRyxLQUFBb0gsU0FBQSxVQUFBakIsR0FBQSxJQUFBa1MsR0FRQSxRQUFBQyxJQUNBQyxF
QUNBOWEsRUFDQSthLEdBRUEsR0FBQUMsR0FBQXpYLEdBQUF5WCxTQUFBaGIsSUFBQSthLENBQ0Es
T0FBQS9aLE9BQUFhLFFBQUFtWixJQUNBLElBQUFBLEVBQUFuYixRQUFBaWIsR0FFQUUsSUFBQUYs
RUFTQSxRQUFBRyxJQUNBM1EsRUFDQUQsRUFDQWxOLEVBQ0ErZCxFQUNBQyxHQUVBLEdBQUFoZSxF
QUNBLEdBQUFTLEVBQUFULEdBS0ssQ0FDTDZELE1BQUFhLFFBQUExRSxLQUNBQSxFQUFBaUUsRUFB
QWpFLEdBRUEsSUFBQTBQLEVBMEJBLFFBQUE3TSxLQUFBN0MsSUF6QkEsU0FBQTZDLEdBQ0EsR0FD
QSxVQUFBQSxHQUNBLFVBQUFBLEdBQ0FvYixHQUFBcGIsR0FFQTZNLEVBQUF2QyxNQUNTLENBQ1Qs
R0FBQS9DLEdBQUErQyxFQUFBb0MsT0FBQXBDLEVBQUFvQyxNQUFBbkYsSUFDQXNGLEdBQUFxTyxH
QUFBM1gsR0FBQThYLFlBQUFoUixFQUFBOUMsRUFBQXZILEdBQ0FzSyxFQUFBZ1IsV0FBQWhSLEVB
QUFnUixhQUNBaFIsRUFBQW9DLFFBQUFwQyxFQUFBb0MsVUFFQSxLQUFBMU0sSUFBQTZNLE1BQ0FB
LEVBQUE3TSxHQUFBN0MsRUFBQTZDLEdBRUFtYixHQUFBLEVBQ0E3USxFQUFBbUIsS0FBQW5CLEVB
QUFtQixRQUNBLFVBQUF6TCxHQUFBLFNBQUF1YixHQUNBcGUsRUFBQTZDLEdBQUF1YixLQU1BdmIs
UUFHQSxNQUFBc0ssR0FRQSxRQUFBa1IsSUFDQTViLEVBQ0E2YixHQUVBLEdBQUFDLEdBQUFuWixL
QUFBb1osYUFBQS9iLEVBR0EsT0FBQThiLEtBQUFELEVBQ0F6YSxNQUFBYSxRQUFBNlosR0FDQXpR
LEdBQUF5USxHQUNBeFIsRUFBQXdSLElBR0FBLEVBQUFuWixLQUFBb1osYUFBQS9iLEdBQ0EyQyxL
QUFBb0gsU0FBQXVQLGdCQUFBdFosR0FBQTVCLEtBQUF1RSxLQUFBcVosY0FDQUMsR0FBQUgsRUFB
QSxhQUFBOWIsR0FBQSxHQUNBOGIsR0FPQSxRQUFBSSxJQUNBSixFQUNBOWIsRUFDQUksR0FHQSxN
QURBNmIsSUFBQUgsRUFBQSxXQUFBOWIsR0FBQUksRUFBQSxJQUFBQSxFQUFBLFFBQ0EwYixFQUdB
LFFBQUFHLElBQ0FILEVBQ0ExYixFQUNBK2IsR0FFQSxHQUFBL2EsTUFBQWEsUUFBQTZaLEdBQ0Es
T0FBQXBjLEdBQUEsRUFBbUJBLEVBQUFvYyxFQUFBbmMsT0FBaUJELElBQ3BDb2MsRUFBQXBjLElB
QUEsZ0JBQUFvYyxHQUFBcGMsSUFDQTBjLEdBQUFOLEVBQUFwYyxHQUFBVSxFQUFBLElBQUFWLEVB
QUF5YyxPQUlBQyxJQUFBTixFQUFBMWIsRUFBQStiLEdBSUEsUUFBQUMsSUFBQTVPLEVBQUFwTixF
QUFBK2IsR0FDQTNPLEVBQUF0QyxVQUFBLEVBQ0FzQyxFQUFBcE4sTUFDQW9OLEVBQUEyTyxTQUtB
LFFBQUFFLElBQUEzUixFQUFBbk4sR0FDQSxHQUFBQSxFQUNBLEdBQUFXLEVBQUFYLEdBS0ssQ0FD
TCxHQUFBc08sR0FBQW5CLEVBQUFtQixHQUFBbkIsRUFBQW1CLEdBQUF4SyxLQUE0Q3FKLEVBQUFt
QixNQUM1QyxRQUFBekwsS0FBQTdDLEdBQUEsQ0FDQSxHQUFBK2UsR0FBQXpRLEVBQUF6TCxHQUNB
cVosRUFBQWxjLEVBQUE2QyxFQUNBeUwsR0FBQXpMLEdBQUFrYyxLQUFBbFYsT0FBQXFTLEVBQUE2
QyxHQUFBN0MsUUFJQSxNQUFBL08sR0FLQSxRQUFBNlIsSUFBQTlZLEdBQ0FBLEVBQUFpUCxPQUFB
LEtBQ0FqUCxFQUFBc1ksYUFBQSxJQUNBLElBQUE3SixHQUFBek8sRUFBQXVPLE9BQUF2TyxFQUFB
c0csU0FBQTBJLGFBQ0ErSixFQUFBdEssS0FBQXBILE9BQ0FySCxHQUFBc1AsT0FBQTVDLEdBQUEx
TSxFQUFBc0csU0FBQXNJLGdCQUFBbUssR0FDQS9ZLEVBQUE4TyxhQUFBQyxHQUtBL08sRUFBQWda
LEdBQUEsU0FBQTdiLEVBQUFlLEVBQUFDLEVBQUFvVyxHQUFpQyxNQUFBQyxJQUFBeFUsRUFBQTdD
LEVBQUFlLEVBQUFDLEVBQUFvVyxHQUFBLElBR2pDdlUsRUFBQWlaLGVBQUEsU0FBQTliLEVBQUFl
LEVBQUFDLEVBQUFvVyxHQUE2QyxNQUFBQyxJQUFBeFUsRUFBQTdDLEVBQUFlLEVBQUFDLEVBQUFv
VyxHQUFBLEdBSTdDLElBQUEyRSxHQUFBekssS0FBQXhILElBVUFqRixHQUFBaEMsRUFBQSxTQUFB
a1osS0FBQTdQLE1BQUEsU0FDQXJILEVBQUFoQyxFQUFBLGFBQUFBLEVBQUFzRyxTQUFBNEYsaUJB
QUEsU0FtSkEsUUFBQWlOLElBQUFuWixFQUFBOEQsR0FDQSxHQUFBK04sR0FBQTdSLEVBQUFzRyxT
QUFBMU0sT0FBQWtDLE9BQUFrRSxFQUFBb1osWUFBQXRWLFFBRUErTixHQUFBbE4sT0FBQWIsRUFB
QWEsT0FDQWtOLEVBQUFoTSxVQUFBL0IsRUFBQStCLFVBQ0FnTSxFQUFBN0MsYUFBQWxMLEVBQUFr
TCxhQUNBNkMsRUFBQTNGLGlCQUFBcEksRUFBQW9JLGlCQUNBMkYsRUFBQWpELGdCQUFBOUssRUFB
QThLLGdCQUNBaUQsRUFBQTRELGNBQUEzUixFQUFBMlIsY0FDQTVELEVBQUE2RCxXQUFBNVIsRUFB
QTRSLFdBQ0E3RCxFQUFBOEQsUUFBQTdSLEVBQUE2UixRQUNBN1IsRUFBQW1LLFNBQ0E0RCxFQUFB
NUQsT0FBQW5LLEVBQUFtSyxPQUNBNEQsRUFBQWdFLGdCQUFBL1IsRUFBQStSLGlCQUlBLFFBQUFm
LElBQUF0VSxHQUNBLEdBQUFzRCxHQUFBdEQsRUFBQXNELE9BQ0EsSUFBQXRELEVBQUE2WSxNQUFB
LENBQ0EsR0FBQUMsR0FBQXhFLEdBQUF0VSxFQUFBNlksTUFFQSxJQUFBQyxJQURBOVksRUFBQThZ
LGFBQ0EsQ0FHQTlZLEVBQUE4WSxjQUVBLElBQUFDLEdBQUFDLEdBQUFoWixFQUVBK1ksSUFDQTNi
LEVBQUE0QyxFQUFBaVosY0FBQUYsR0FFQXpWLEVBQUF0RCxFQUFBc0QsUUFBQVksRUFBQTRVLEVB
QUE5WSxFQUFBaVosZUFDQTNWLEVBQUFFLE9BQ0FGLEVBQUE0VixXQUFBNVYsRUFBQUUsTUFBQXhE
LElBSUEsTUFBQXNELEdBR0EsUUFBQTBWLElBQUFoWixHQUNBLEdBQUFtWixHQUNBQyxFQUFBcFos
RUFBQXNELFFBQ0ErVixFQUFBclosRUFBQWlaLGNBQ0FLLEVBQUF0WixFQUFBdVosYUFDQSxRQUFB
cGQsS0FBQWlkLEdBQ0FBLEVBQUFqZCxLQUFBbWQsRUFBQW5kLEtBQ0FnZCxJQUFzQkEsTUFDdEJB
LEVBQUFoZCxHQUFBcWQsR0FBQUosRUFBQWpkLEdBQUFrZCxFQUFBbGQsR0FBQW1kLEVBQUFuZCxJ
QUdBLE9BQUFnZCxHQUdBLFFBQUFLLElBQUFKLEVBQUFDLEVBQUFDLEdBR0EsR0FBQW5jLE1BQUFh
LFFBQUFvYixHQUFBLENBQ0EsR0FBQTViLEtBQ0E4YixHQUFBbmMsTUFBQWEsUUFBQXNiLFNBQ0FE
LEVBQUFsYyxNQUFBYSxRQUFBcWIsUUFDQSxRQUFBNWQsR0FBQSxFQUFtQkEsRUFBQTJkLEVBQUEx
ZCxPQUFtQkQsS0FFdEM0ZCxFQUFBcmQsUUFBQW9kLEVBQUEzZCxLQUFBLEdBQUE2ZCxFQUFBdGQs
UUFBQW9kLEVBQUEzZCxJQUFBLElBQ0ErQixFQUFBOEMsS0FBQThZLEVBQUEzZCxHQUdBLE9BQUEr
QixHQUVBLE1BQUE0YixHQUlBLFFBQUFLLElBQUFuVyxHQU1BNUUsS0FBQWdiLE1BQUFwVyxHQVdB
LFFBQUFxVyxJQUFBQyxHQUNBQSxFQUFBQyxJQUFBLFNBQUFDLEdBQ0EsR0FBQUMsR0FBQXJiLEtB
QUFzYixvQkFBQXRiLEtBQUFzYixxQkFDQSxJQUFBRCxFQUFBL2QsUUFBQThkLElBQUEsRUFDQSxN
QUFBcGIsS0FJQSxJQUFBdWIsR0FBQWpkLEVBQUFILFVBQUEsRUFRQSxPQVBBb2QsR0FBQUMsUUFB
QXhiLE1BQ0Esa0JBQUFvYixHQUFBSyxRQUNBTCxFQUFBSyxRQUFBcmQsTUFBQWdkLEVBQUFHLEdB
Q0ssa0JBQUFILElBQ0xBLEVBQUFoZCxNQUFBLEtBQUFtZCxHQUVBRixFQUFBelosS0FBQXdaLEdB
Q0FwYixNQU1BLFFBQUEwYixJQUFBUixHQUNBQSxFQUFBUyxNQUFBLFNBQUFBLEdBRUEsTUFEQTNi
LE1BQUE0RSxRQUFBWSxFQUFBeEYsS0FBQTRFLFFBQUErVyxHQUNBM2IsTUFNQSxRQUFBNGIsSUFB
QVYsR0FNQUEsRUFBQXZGLElBQUEsQ0FDQSxJQUFBQSxHQUFBLENBS0F1RixHQUFBeGMsT0FBQSxT
QUFBNmIsR0FDQUEsT0FDQSxJQUFBc0IsR0FBQTdiLEtBQ0E4YixFQUFBRCxFQUFBbEcsSUFDQW9H
LEVBQUF4QixFQUFBeUIsUUFBQXpCLEVBQUF5QixTQUNBLElBQUFELEVBQUFELEdBQ0EsTUFBQUMs
R0FBQUQsRUFHQSxJQUFBaFgsR0FBQXlWLEVBQUF6VixNQUFBK1csRUFBQWpYLFFBQUFFLEtBV0Ft
WCxFQUFBLFNBQUFyWCxHQUNBNUUsS0FBQWdiLE1BQUFwVyxHQTZDQSxPQTNDQXFYLEdBQUF4UixV
QUFBL1AsT0FBQWtDLE9BQUFpZixFQUFBcFIsV0FDQXdSLEVBQUF4UixVQUFBeVAsWUFBQStCLEVB
Q0FBLEVBQUF0RyxRQUNBc0csRUFBQXJYLFFBQUFZLEVBQ0FxVyxFQUFBalgsUUFDQTJWLEdBRUEw
QixFQUFBLE1BQUFKLEVBS0FJLEVBQUFyWCxRQUFBQyxPQUNBcVgsR0FBQUQsR0FFQUEsRUFBQXJY
LFFBQUFxTyxVQUNBa0osR0FBQUYsR0FJQUEsRUFBQXZkLE9BQUFtZCxFQUFBbmQsT0FDQXVkLEVB
QUFOLE1BQUFFLEVBQUFGLE1BQ0FNLEVBQUFkLElBQUFVLEVBQUFWLElBSUFpQixHQUFBekgsUUFB
QSxTQUFBM1AsR0FDQWlYLEVBQUFqWCxHQUFBNlcsRUFBQTdXLEtBR0FGLElBQ0FtWCxFQUFBclgs
UUFBQTRWLFdBQUExVixHQUFBbVgsR0FNQUEsRUFBQTdCLGFBQUF5QixFQUFBalgsUUFDQXFYLEVB
QUExQixnQkFDQTBCLEVBQUFwQixjQUFBbmMsS0FBaUN1ZCxFQUFBclgsU0FHakNtWCxFQUFBRCxH
QUFBRyxFQUNBQSxHQUlBLFFBQUFDLElBQUFHLEdBQ0EsR0FBQXhYLEdBQUF3WCxFQUFBelgsUUFB
QUMsS0FDQSxRQUFBcEgsS0FBQW9ILEdBQ0F5TixHQUFBK0osRUFBQTVSLFVBQUEsU0FBQWhOLEdB
SUEsUUFBQTBlLElBQUFFLEdBQ0EsR0FBQXBKLEdBQUFvSixFQUFBelgsUUFBQXFPLFFBQ0EsUUFB
QXhWLEtBQUF3VixHQUNBWSxHQUFBd0ksRUFBQTVSLFVBQUFoTixFQUFBd1YsRUFBQXhWLElBTUEs
UUFBQTZlLElBQUFwQixHQUlBa0IsR0FBQXpILFFBQUEsU0FBQTNQLEdBQ0FrVyxFQUFBbFcsR0FB
QSxTQUNBbUIsRUFDQW9XLEdBRUEsTUFBQUEsSUFZQSxjQUFBdlgsR0FBQXpKLEVBQUFnaEIsS0FD
QUEsRUFBQXpYLEtBQUF5WCxFQUFBelgsTUFBQXFCLEVBQ0FvVyxFQUFBdmMsS0FBQTRFLFFBQUE4
USxNQUFBaFgsT0FBQTZkLElBRUEsY0FBQXZYLEdBQUEsa0JBQUF1WCxLQUNBQSxHQUF3QnplLEtB
QUF5ZSxFQUFBaFgsT0FBQWdYLElBRXhCdmMsS0FBQTRFLFFBQUFJLEVBQUEsS0FBQW1CLEdBQUFv
VyxFQUNBQSxHQW5CQXZjLEtBQUE0RSxRQUFBSSxFQUFBLEtBQUFtQixNQTZCQSxRQUFBcVcsSUFB
QTdKLEdBQ0EsTUFBQUEsT0FBQXJSLEtBQUFzRCxRQUFBRSxNQUFBNk4sRUFBQTdLLEtBR0EsUUFB
QTJVLElBQUFDLEVBQUE1WCxHQUNBLE1BQUFyRyxPQUFBYSxRQUFBb2QsR0FDQUEsRUFBQXBmLFFB
QUF3SCxJQUFBLEVBQ0csZ0JBQUE0WCxHQUNIQSxFQUFBNWYsTUFBQSxLQUFBUSxRQUFBd0gsSUFB
QSxJQUNHcEosRUFBQWdoQixJQUNIQSxFQUFBaGMsS0FBQW9FLEdBTUEsUUFBQTZYLElBQUE5ZSxF
QUFBK2UsRUFBQUMsR0FDQSxPQUFBcGYsS0FBQUksR0FBQSxDQUNBLEdBQUFpZixHQUFBamYsRUFB
QUosRUFDQSxJQUFBcWYsRUFBQSxDQUNBLEdBQUFoWSxHQUFBMFgsR0FBQU0sRUFBQTFVLGlCQUNB
dEQsS0FBQStYLEVBQUEvWCxLQUNBZ1ksSUFBQUYsR0FDQUcsR0FBQUQsR0FFQWpmLEVBQUFKLEdB
QUEsUUFNQSxRQUFBc2YsSUFBQW5WLEdBQ0FBLEdBQ0FBLEVBQUFvVixrQkFBQUMsV0EyS0EsUUFB
QUMsSUFBQXRWLEdBSUEsSUFIQSxHQUFBRyxHQUFBSCxFQUFBRyxLQUNBb1YsRUFBQXZWLEVBQ0F3
VixFQUFBeFYsRUFDQTNNLEVBQUFtaUIsRUFBQUosb0JBQ0FJLElBQUFKLGtCQUFBak4sT0FDQXFO
LEVBQUFyVixPQUNBQSxFQUFBc1YsR0FBQUQsRUFBQXJWLFFBR0EsTUFBQTlNLEVBQUFraUIsSUFB
QTFYLFNBQ0EwWCxFQUFBcFYsT0FDQUEsRUFBQXNWLEdBQUF0VixFQUFBb1YsRUFBQXBWLE1BR0Es
T0FBQXVWLElBQUF2VixFQUFBd1YsWUFBQXhWLEVBQUF5VixPQUdBLFFBQUFILElBQUEzWCxFQUFB
RCxHQUNBLE9BQ0E4WCxZQUFBOVksR0FBQWlCLEVBQUE2WCxZQUFBOVgsRUFBQThYLGFBQ0FDLE1B
QUF2aUIsRUFBQXlLLEVBQUE4WCxRQUNBOVgsRUFBQThYLE1BQUEvWCxFQUFBK1gsT0FDQS9YLEVB
QUErWCxPQUlBLFFBQUFGLElBQ0FDLEVBQ0FFLEdBRUEsTUFBQXhpQixHQUFBc2lCLElBQUF0aUIs
RUFBQXdpQixHQUNBaFosR0FBQThZLEVBQUFHLEdBQUFELElBR0EsR0FHQSxRQUFBaFosSUFBQXhH
LEVBQUFlLEdBQ0EsTUFBQWYsR0FBQWUsRUFBQWYsRUFBQSxJQUFBZSxFQUFBZixFQUFBZSxHQUFB
LEdBR0EsUUFBQTBlLElBQUE5aUIsR0FDQSxNQUFBNkQsT0FBQWEsUUFBQTFFLEdBQ0EraUIsR0FB
QS9pQixHQUVBUyxFQUFBVCxHQUNBZ2pCLEdBQUFoakIsR0FFQSxnQkFBQUEsR0FDQUEsRUFHQSxH
QUdBLFFBQUEraUIsSUFBQS9pQixHQUdBLE9BREFpakIsR0FEQS9lLEVBQUEsR0FFQS9CLEVBQUEs
RUFBQW1CLEVBQUF0RCxFQUFBb0MsT0FBbUNELEVBQUFtQixFQUFPbkIsSUFDMUM5QixFQUFBNGlC
LEVBQUFILEdBQUE5aUIsRUFBQW1DLE1BQUEsS0FBQThnQixJQUNBL2UsSUFBZ0JBLEdBQUEsS0FD
aEJBLEdBQUErZSxFQUdBLE9BQUEvZSxHQUdBLFFBQUE4ZSxJQUFBaGpCLEdBQ0EsR0FBQWtFLEdB
QUEsRUFDQSxRQUFBckIsS0FBQTdDLEdBQ0FBLEVBQUE2QyxLQUNBcUIsSUFBZ0JBLEdBQUEsS0FD
aEJBLEdBQUFyQixFQUdBLE9BQUFxQixHQXVDQSxRQUFBNFksSUFBQTVQLEdBQ0EsTUFBQWdXLElB
QUFoVyxHQUNBLE1BSUEsU0FBQUEsRUFDQSxXQURBLEdBTUEsUUFBQWlXLElBQUFqVyxHQUVBLElB
QUE1RyxHQUNBLFFBRUEsSUFBQXlXLEdBQUE3UCxHQUNBLFFBSUEsSUFGQUEsSUFBQTdLLGNBRUEs
TUFBQStnQixHQUFBbFcsR0FDQSxNQUFBa1csSUFBQWxXLEVBRUEsSUFBQThHLEdBQUFxUCxTQUFB
M0ksY0FBQXhOLEVBQ0EsT0FBQUEsR0FBQXhLLFFBQUEsUUFFQTBnQixHQUFBbFcsR0FDQThHLEVB
QUFzTCxjQUFBZ0UsT0FBQUMsb0JBQ0F2UCxFQUFBc0wsY0FBQWdFLE9BQUFFLFlBR0FKLEdBQUFs
VyxHQUFBLHFCQUFBcEgsS0FBQWtPLEVBQUExUyxZQVNBLFFBQUFtaUIsSUFBQXpQLEdBQ0EsbUJB
QUFBLEdBQUEsQ0FDQSxHQUFBMFAsR0FBQUwsU0FBQU0sY0FBQTNQLEVBQ0EsT0FBQTBQLElBSUFM
LFNBQUEzSSxjQUFBLE9BSUEsTUFBQTFHLEdBTUEsUUFBQTRQLElBQUFDLEVBQUE3VyxHQUNBLEdB
QUFNLEdBQUErVixTQUFBM0ksY0FBQW1KLEVBQ0Esa0JBQUFBLEVBQ0F2VyxHQUdBTixFQUFBRyxN
QUFBSCxFQUFBRyxLQUFBb0MsV0FBQW5QLEtBQUE0TSxFQUFBRyxLQUFBb0MsTUFBQXVVLFVBQ0F4
VyxFQUFBeVcsYUFBQSx1QkFFQXpXLEdBR0EsUUFBQTBXLElBQUFDLEVBQUFKLEdBQ0EsTUFBQVIs
VUFBQVcsZ0JBQUFFLEdBQUFELEdBQUFKLEdBR0EsUUFBQU0sSUFBQTlXLEdBQ0EsTUFBQWdXLFVB
QUFjLGVBQUE5VyxHQUdBLFFBQUErVyxJQUFBL1csR0FDQSxNQUFBZ1csVUFBQWUsY0FBQS9XLEdB
R0EsUUFBQWdYLElBQUE5QixFQUFBK0IsRUFBQUMsR0FDQWhDLEVBQUE4QixhQUFBQyxFQUFBQyxH
QUdBLFFBQUFDLElBQUF2VSxFQUFBbkYsR0FDQW1GLEVBQUF1VSxZQUFBMVosR0FHQSxRQUFBMlos
SUFBQXhVLEVBQUFuRixHQUNBbUYsRUFBQXdVLFlBQUEzWixHQUdBLFFBQUF5WCxJQUFBdFMsR0FD
QSxNQUFBQSxHQUFBc1MsV0FHQSxRQUFBbUMsSUFBQXpVLEdBQ0EsTUFBQUEsR0FBQXlVLFlBR0Es
UUFBQWIsSUFBQTVULEdBQ0EsTUFBQUEsR0FBQTRULFFBR0EsUUFBQWMsSUFBQTFVLEVBQUE1QyxH
QUNBNEMsRUFBQTJVLFlBQUF2WCxFQUdBLFFBQUEwVyxJQUFBOVQsRUFBQXBOLEVBQUE3QixHQUNB
aVAsRUFBQThULGFBQUFsaEIsRUFBQTdCLEdBb0NBLFFBQUE2akIsSUFBQTdYLEVBQUE4WCxHQUNB
LEdBQUFqaUIsR0FBQW1LLEVBQUFHLEtBQUE0WCxHQUNBLElBQUFsaUIsRUFBQSxDQUVBLEdBQUFx
RCxHQUFBOEcsRUFBQU8sUUFDQXdYLEVBQUEvWCxFQUFBb1YsbUJBQUFwVixFQUFBTSxJQUNBMFgs
RUFBQTllLEVBQUFzTixLQUNBc1IsR0FDQWpoQixNQUFBYSxRQUFBc2dCLEVBQUFuaUIsSUFDQVAs
RUFBQTBpQixFQUFBbmlCLEdBQUFraUIsR0FDS0MsRUFBQW5pQixLQUFBa2lCLElBQ0xDLEVBQUFu
aUIsT0FBQXpDLElBR0E0TSxFQUFBRyxLQUFBOFgsU0FDQXBoQixNQUFBYSxRQUFBc2dCLEVBQUFu
aUIsSUFFT21pQixFQUFBbmlCLEdBQUFILFFBQUFxaUIsR0FBQSxHQUVQQyxFQUFBbmlCLEdBQUFt
RSxLQUFBK2QsR0FIQUMsRUFBQW5pQixJQUFBa2lCLEdBTUFDLEVBQUFuaUIsR0FBQWtpQixHQXVC
QSxRQUFBRyxJQUFBN2hCLEVBQUFlLEdBQ0EsTUFDQWYsR0FBQVIsTUFBQXVCLEVBQUF2QixNQUVB
USxFQUFBNkosTUFBQTlJLEVBQUE4SSxLQUNBN0osRUFBQXVLLFlBQUF4SixFQUFBd0osV0FDQXZO
LEVBQUFnRCxFQUFBOEosUUFBQTlNLEVBQUErRCxFQUFBK0ksT0FDQWdZLEdBQUE5aEIsRUFBQWUs
SUFFQTlELEVBQUErQyxFQUFBK2hCLHFCQUNBL2hCLEVBQUFvSyxlQUFBckosRUFBQXFKLGNBQ0F2
TixFQUFBa0UsRUFBQXFKLGFBQUFqSCxRQVFBLFFBQUEyZSxJQUFBOWhCLEVBQUFlLEdBQ0EsYUFB
QWYsRUFBQTZKLElBQTBCLFFBQzFCLElBQUEvSyxFQUdBLFFBRkE5QixFQUFBOEIsRUFBQWtCLEVB
QUE4SixPQUFBOU0sRUFBQThCLElBQUFvTixRQUFBcE4sRUFBQWlJLFNBQ0EvSixFQUFBOEIsRUFB
QWlDLEVBQUErSSxPQUFBOU0sRUFBQThCLElBQUFvTixRQUFBcE4sRUFBQWlJLE1BSUEsUUFBQWli
LElBQUFqWSxFQUFBa1ksRUFBQUMsR0FDQSxHQUFBcGpCLEdBQUFVLEVBQ0FkLElBQ0EsS0FBQUks
RUFBQW1qQixFQUFvQm5qQixHQUFBb2pCLElBQWFwakIsRUFDakNVLEVBQUF1SyxFQUFBakwsR0FB
QVUsSUFDQXhDLEVBQUF3QyxLQUFxQmQsRUFBQWMsR0FBQVYsRUFFckIsT0FBQUosR0FnbUJBLFFB
QUF5akIsSUFBQUMsRUFBQXpZLElBQ0F5WSxFQUFBdFksS0FBQXpDLFlBQUFzQyxFQUFBRyxLQUFB
ekMsYUFDQTRKLEdBQUFtUixFQUFBelksR0FJQSxRQUFBc0gsSUFBQW1SLEVBQUF6WSxHQUNBLEdB
UUFuSyxHQUFBNmlCLEVBQUFDLEVBUkFDLEVBQUFILElBQUFJLEdBQ0FDLEVBQUE5WSxJQUFBNlks
R0FDQUUsRUFBQUMsR0FBQVAsRUFBQXRZLEtBQUF6QyxXQUFBK2EsRUFBQWxZLFNBQ0EwWSxFQUFB
RCxHQUFBaFosRUFBQUcsS0FBQXpDLFdBQUFzQyxFQUFBTyxTQUVBMlksS0FDQUMsSUFHQSxLQUFB
dGpCLElBQUFvakIsR0FDQVAsRUFBQUssRUFBQWxqQixHQUNBOGlCLEVBQUFNLEVBQUFwakIsR0FD
QTZpQixHQVFBQyxFQUFBUyxTQUFBVixFQUFBMWxCLE1BQ0FxbUIsR0FBQVYsRUFBQSxTQUFBM1ks
RUFBQXlZLEdBQ0FFLEVBQUFwZ0IsS0FBQW9nQixFQUFBcGdCLElBQUErZ0Isa0JBQ0FILEVBQUFu
ZixLQUFBMmUsS0FUQVUsR0FBQVYsRUFBQSxPQUFBM1ksRUFBQXlZLEdBQ0FFLEVBQUFwZ0IsS0FB
QW9nQixFQUFBcGdCLElBQUFnaEIsVUFDQUwsRUFBQWxmLEtBQUEyZSxHQVlBLElBQUFPLEVBQUE5
akIsT0FBQSxDQUNBLEdBQUFva0IsR0FBQSxXQUNBLE9BQUFya0IsR0FBQSxFQUFxQkEsRUFBQStq
QixFQUFBOWpCLE9BQTJCRCxJQUNoRGtrQixHQUFBSCxFQUFBL2pCLEdBQUEsV0FBQTZLLEVBQUF5
WSxHQUdBRyxHQUNBNVcsR0FBQWhDLEVBQUFHLEtBQUErQixPQUFBbEMsRUFBQUcsS0FBQStCLFNB
QTZELFNBQUFzWCxHQUU3REEsSUFZQSxHQVJBTCxFQUFBL2pCLFFBQ0E0TSxHQUFBaEMsRUFBQUcs
S0FBQStCLE9BQUFsQyxFQUFBRyxLQUFBK0IsU0FBMkQsdUJBQzNELE9BQUEvTSxHQUFBLEVBQXFC
QSxFQUFBZ2tCLEVBQUEvakIsT0FBOEJELElBQ25Ea2tCLEdBQUFGLEVBQUFoa0IsR0FBQSxtQkFB
QTZLLEVBQUF5WSxNQUtBRyxFQUNBLElBQUEvaUIsSUFBQWtqQixHQUNBRSxFQUFBcGpCLElBRUF3
akIsR0FBQU4sRUFBQWxqQixHQUFBLFNBQUE0aUIsSUFBQUssR0FRQSxRQUFBRSxJQUNBdmIsRUFD
QXZFLEdBRUEsR0FBQWhDLEdBQUFwRSxPQUFBa0MsT0FBQSxLQUNBLEtBQUF5SSxFQUNBLE1BQUF2
RyxFQUVBLElBQUEvQixHQUFBd2pCLENBQ0EsS0FBQXhqQixFQUFBLEVBQWFBLEVBQUFzSSxFQUFB
ckksT0FBaUJELElBQzlCd2pCLEVBQUFsYixFQUFBdEksR0FDQXdqQixFQUFBYyxZQUNBZCxFQUFB
YyxVQUFBQyxJQUVBeGlCLEVBQUF5aUIsR0FBQWhCLE1BQ0FBLEVBQUFwZ0IsSUFBQStGLEVBQUFw
RixFQUFBc0csU0FBQSxhQUFBbVosRUFBQXpiLE1BQUEsRUFFQSxPQUFBaEcsR0FHQSxRQUFBeWlC
LElBQUFoQixHQUNBLE1BQUFBLEdBQUFpQixTQUFBakIsRUFBQSxTQUFBN2xCLE9BQUFpRixLQUFB
NGdCLEVBQUFjLGVBQTRFSSxLQUFBLEtBRzVFLFFBQUFSLElBQUFWLEVBQUF6VyxFQUFBbEMsRUFB
QXlZLEVBQUFLLEdBQ0EsR0FBQTlpQixHQUFBMmlCLEVBQUFwZ0IsS0FBQW9nQixFQUFBcGdCLElB
QUEySixFQUNBLElBQUFsTSxFQUNBLElBQ0FBLEVBQUFnSyxFQUFBTSxJQUFBcVksRUFBQTNZLEVB
QUF5WSxFQUFBSyxHQUNLLE1BQUFqaEIsR0FDTG1CLEVBQUFuQixFQUFBbUksRUFBQU8sUUFBQSxh
QUFBb1ksRUFBQSxTQUFBelcsRUFBQSxVQVlBLFFBQUE0WCxJQUFBckIsRUFBQXpZLEdBQ0EsR0FB
QStLLEdBQUEvSyxFQUFBUSxnQkFDQSxNQUFBbk4sRUFBQTBYLEtBQUEsSUFBQUEsRUFBQXJSLEtB
QUFzRCxRQUFBK2MsY0FHQTdtQixFQUFBdWxCLEVBQUF0WSxLQUFBb0MsUUFBQXJQLEVBQUE4TSxF
QUFBRyxLQUFBb0MsUUFBQSxDQUdBLEdBQUExTSxHQUFBNkwsRUFDQXBCLEVBQUFOLEVBQUFNLElB
Q0EwWixFQUFBdkIsRUFBQXRZLEtBQUFvQyxVQUNBQSxFQUFBdkMsRUFBQUcsS0FBQW9DLFNBRUFs
UCxHQUFBa1AsRUFBQTdILFVBQ0E2SCxFQUFBdkMsRUFBQUcsS0FBQW9DLE1BQUF6TCxLQUF3Q3lM
LEdBR3hDLEtBQUExTSxJQUFBME0sR0FDQWIsRUFBQWEsRUFBQTFNLEdBQ0Fta0IsRUFBQW5rQixL
QUNBNkwsR0FDQXVZLEdBQUEzWixFQUFBekssRUFBQTZMLEVBS0F3WSxLQUFBM1gsRUFBQXZQLFFB
QUFnbkIsRUFBQWhuQixPQUNBaW5CLEdBQUEzWixFQUFBLFFBQUFpQyxFQUFBdlAsTUFFQSxLQUFB
NkMsSUFBQW1rQixHQUNBOW1CLEVBQUFxUCxFQUFBMU0sTUFDQXNrQixHQUFBdGtCLEdBQ0F5SyxF
QUFBOFosa0JBQUFDLEdBQUFDLEdBQUF6a0IsSUFDTzBrQixHQUFBMWtCLElBQ1B5SyxFQUFBa2Es
Z0JBQUEza0IsS0FNQSxRQUFBb2tCLElBQUFqVCxFQUFBblIsRUFBQTdDLEdBQ0F5bkIsR0FBQTVr
QixHQUdBNmtCLEdBQUExbkIsR0FDQWdVLEVBQUF3VCxnQkFBQTNrQixHQUVBbVIsRUFBQStQLGFB
QUFsaEIsS0FFRzBrQixHQUFBMWtCLEdBQ0htUixFQUFBK1AsYUFBQWxoQixFQUFBNmtCLEdBQUEx
bkIsSUFBQSxVQUFBQSxFQUFBLGdCQUNHbW5CLEdBQUF0a0IsR0FDSDZrQixHQUFBMW5CLEdBQ0Fn
VSxFQUFBb1Qsa0JBQUFDLEdBQUFDLEdBQUF6a0IsSUFFQW1SLEVBQUEyVCxlQUFBTixHQUFBeGtC
LEVBQUE3QyxHQUdBMG5CLEdBQUExbkIsR0FDQWdVLEVBQUF3VCxnQkFBQTNrQixHQUVBbVIsRUFB
QStQLGFBQUFsaEIsRUFBQTdDLEdBWUEsUUFBQTRuQixJQUFBbkMsRUFBQXpZLEdBQ0EsR0FBQWdI
LEdBQUFoSCxFQUFBTSxJQUNBSCxFQUFBSCxFQUFBRyxLQUNBMGEsRUFBQXBDLEVBQUF0WSxJQUNB
LE1BQ0FqTixFQUFBaU4sRUFBQXdWLGNBQ0F6aUIsRUFBQWlOLEVBQUF5VixTQUNBMWlCLEVBQUEy
bkIsSUFDQTNuQixFQUFBMm5CLEVBQUFsRixjQUNBemlCLEVBQUEybkIsRUFBQWpGLFNBTEEsQ0FZ
QSxHQUFBa0YsR0FBQXhGLEdBQUF0VixHQUdBK2EsRUFBQS9ULEVBQUFnVSxrQkFDQTNuQixHQUFB
MG5CLEtBQ0FELEVBQUFqZSxHQUFBaWUsRUFBQWhGLEdBQUFpRixLQUlBRCxJQUFBOVQsRUFBQWlV
LGFBQ0FqVSxFQUFBK1AsYUFBQSxRQUFBK0QsR0FDQTlULEVBQUFpVSxXQUFBSCxJQWFBLFFBQUFJ
LElBQUFDLEdBb0VBLFFBQUFDLE1BQ0FDLFdBQUFyaEIsS0FBQW1oQixFQUFBL1osTUFBQWthLEVB
QUFubUIsR0FBQW9tQixRQUNBRCxFQUFBbm1CLEVBQUEsRUFyRUEsR0FRQWtDLEdBQUFta0IsRUFB
QXJtQixFQUFBc21CLEVBQUFKLEVBUkFLLEdBQUEsRUFDQUMsR0FBQSxFQUNBQyxHQUFBLEVBQ0FD
LEdBQUEsRUFDQUMsRUFBQSxFQUNBQyxFQUFBLEVBQ0FDLEVBQUEsRUFDQVYsRUFBQSxDQUdBLEtB
QUFubUIsRUFBQSxFQUFhQSxFQUFBZ21CLEVBQUEvbEIsT0FBZ0JELElBRzdCLEdBRkFxbUIsRUFB
QW5rQixFQUNBQSxFQUFBOGpCLEVBQUE3aUIsV0FBQW5ELEdBQ0F1bUIsRUFDQSxLQUFBcmtCLEdB
QUEsS0FBQW1rQixJQUF3Q0UsR0FBQSxPQUNuQyxJQUFBQyxFQUNMLEtBQUF0a0IsR0FBQSxLQUFB
bWtCLElBQXdDRyxHQUFBLE9BQ25DLElBQUFDLEVBQ0wsS0FBQXZrQixHQUFBLEtBQUFta0IsSUFB
d0NJLEdBQUEsT0FDbkMsSUFBQUMsRUFDTCxLQUFBeGtCLEdBQUEsS0FBQW1rQixJQUF3Q0ssR0FB
QSxPQUNuQyxJQUNMLE1BQUF4a0IsR0FDQSxNQUFBOGpCLEVBQUE3aUIsV0FBQW5ELEVBQUEsSUFD
QSxNQUFBZ21CLEVBQUE3aUIsV0FBQW5ELEVBQUEsSUFDQTJtQixHQUFBQyxHQUFBQyxFQVNLLENB
Q0wsT0FBQTNrQixHQUNBLFFBQUFza0IsR0FBQSxDQUFtQyxNQUNuQyxTQUFBRCxHQUFBLENBQW1D
LE1BQ25DLFNBQUFFLEdBQUEsQ0FBMkMsTUFDM0MsU0FBQUksR0FBMkIsTUFDM0IsU0FBQUEsR0FB
MkIsTUFDM0IsU0FBQUQsR0FBNEIsTUFDNUIsU0FBQUEsR0FBNEIsTUFDNUIsVUFBQUQsR0FBMkIs
TUFDM0IsVUFBQUEsSUFFQSxRQUFBemtCLEVBQUEsQ0FJQSxJQUhBLEdBQUF5UixHQUFBM1QsRUFB
QSxFQUNBOG1CLE1BQUEsR0FFY25ULEdBQUEsR0FFZCxPQURBbVQsRUFBQWQsRUFBQWUsT0FBQXBU
LElBRHNCQSxLQUl0Qm1ULEdBQUFFLEdBQUFyakIsS0FBQW1qQixLQUNBSixHQUFBLGFBNUJBem9C
LEtBQUFxb0IsR0FFQUgsRUFBQW5tQixFQUFBLEVBQ0FzbUIsRUFBQU4sRUFBQS9aLE1BQUEsRUFB
QWpNLEdBQUFvbUIsUUFFQUgsR0F3Q0EsUUFYQWhvQixLQUFBcW9CLEVBQ0FBLEVBQUFOLEVBQUEv
WixNQUFBLEVBQUFqTSxHQUFBb21CLE9BQ0csSUFBQUQsR0FDSEYsSUFRQUMsRUFDQSxJQUFBbG1C
LEVBQUEsRUFBZUEsRUFBQWttQixFQUFBam1CLE9BQW9CRCxJQUNuQ3NtQixFQUFBVyxHQUFBWCxF
QUFBSixFQUFBbG1CLEdBSUEsT0FBQXNtQixHQUdBLFFBQUFXLElBQUFqQixFQUFBbEcsR0FDQSxH
QUFBOWYsR0FBQThmLEVBQUF2ZixRQUFBLElBQ0EsT0FBQVAsR0FBQSxFQUVBLE9BQUE4ZixFQUFB
LE1BQUFrRyxFQUFBLElBSUEsT0FGQWxHLEVBQUE3VCxNQUFBLEVBQUFqTSxHQUVBLE1BQUFnbUIs
RUFBQSxJQURBbEcsRUFBQTdULE1BQUFqTSxFQUFBLEdBT0EsUUFBQWtuQixJQUFBQyxHQUNBL2lC
LFFBQUFDLE1BQUEsbUJBQUE4aUIsR0FHQSxRQUFBQyxJQUNBQyxFQUNBM21CLEdBRUEsTUFBQTJt
QixHQUNBQSxFQUFBem5CLElBQUEsU0FBQTBuQixHQUFnQyxNQUFBQSxHQUFBNW1CLEtBQWlCb2Ys
T0FBQSxTQUFBeUgsR0FBdUIsTUFBQUEsUUFJeEUsUUFBQUMsSUFBQTNWLEVBQUE5SixFQUFBbEss
SUFDQWdVLEVBQUEvSixRQUFBK0osRUFBQS9KLFdBQUFqRCxNQUFzQ2tELE9BQUFsSyxVQUd0QyxR
QUFBNHBCLElBQUE1VixFQUFBOUosRUFBQWxLLElBQ0FnVSxFQUFBekUsUUFBQXlFLEVBQUF6RSxX
QUFBdkksTUFBc0NrRCxPQUFBbEssVUFHdEMsUUFBQTZwQixJQUNBN1YsRUFDQTlKLEVBQ0EwYyxF
QUNBNW1CLEVBQ0E4cEIsRUFDQXJELElBRUF6UyxFQUFBdEosYUFBQXNKLEVBQUF0SixnQkFBQTFE
LE1BQWdEa0QsT0FBQTBjLFVBQUE1bUIsUUFBQThwQixNQUFBckQsY0FHaEQsUUFBQXNELElBQ0Ev
VixFQUNBOUosRUFDQWxLLEVBQ0F5bUIsRUFDQXVELEVBQ0FDLEdBY0F4RCxLQUFBM1gsZ0JBQ0Ey
WCxHQUFBM1gsUUFDQTVFLEVBQUEsSUFBQUEsR0FFQXVjLEtBQUF2aEIsYUFDQXVoQixHQUFBdmhC
LEtBQ0FnRixFQUFBLElBQUFBLEdBR0F1YyxLQUFBMVgsZ0JBQ0EwWCxHQUFBMVgsUUFDQTdFLEVB
QUEsSUFBQUEsRUFFQSxJQUFBZ2dCLEVBQ0F6RCxNQUFBMEQsY0FDQTFELEdBQUEwRCxPQUNBRCxF
QUFBbFcsRUFBQW9XLGVBQUFwVyxFQUFBb1csa0JBRUFGLEVBQUFsVyxFQUFBa1csU0FBQWxXLEVB
QUFrVyxVQUVBLElBQUFHLElBQW9CcnFCLFFBQUF5bUIsYUFDcEI1USxFQUFBcVUsRUFBQWhnQixF
QUVBckcsT0FBQWEsUUFBQW1SLEdBQ0FtVSxFQUFBblUsRUFBQStLLFFBQUF5SixHQUFBeFUsRUFB
QTdPLEtBQUFxakIsR0FFQUgsRUFBQWhnQixHQURHMkwsRUFDSG1VLEdBQUFLLEVBQUF4VSxNQUFB
d1UsR0FFQUEsRUFJQSxRQUFBQyxJQUNBdFcsRUFDQTlKLEVBQ0FxZ0IsR0FFQSxHQUFBQyxHQUNB
QyxHQUFBelcsRUFBQSxJQUFBOUosSUFDQXVnQixHQUFBelcsRUFBQSxVQUFBOUosRUFDQSxVQUFB
c2dCLEVBQ0EsTUFBQXRDLElBQUFzQyxFQUNHLFNBQUFELEVBQUEsQ0FDSCxHQUFBRyxHQUFBRCxH
QUFBelcsRUFBQTlKLEVBQ0EsVUFBQXdnQixFQUNBLE1BQUFucEIsTUFBQUMsVUFBQWtwQixJQUtB
LFFBQUFELElBQUF6VyxFQUFBOUosR0FDQSxHQUFBbEosRUFDQSxXQUFBQSxFQUFBZ1QsRUFBQTJX
LFNBQUF6Z0IsSUFFQSxPQURBakksR0FBQStSLEVBQUE0VyxVQUNBem9CLEVBQUEsRUFBQW1CLEVB
QUFyQixFQUFBRyxPQUFvQ0QsRUFBQW1CLEVBQU9uQixJQUMzQyxHQUFBRixFQUFBRSxHQUFBK0gs
U0FBQSxDQUNBakksRUFBQVUsT0FBQVIsRUFBQSxFQUNBLE9BSUEsTUFBQW5CLEdBUUEsUUFBQTZw
QixJQUNBN1csRUFDQWhVLEVBQ0F5bUIsR0FFQSxHQUFBMUIsR0FBQTBCLE1BQ0FxRSxFQUFBL0Ys
RUFBQStGLE9BQ0F2QyxFQUFBeEQsRUFBQXdELEtBR0F3QyxFQURBLEtBRUF4QyxLQUNBd0MsRUFD
QSw4Q0FJQUQsSUFDQUMsRUFBQSxNQUFBQSxFQUFBLElBRUEsSUFBQUMsR0FBQUMsR0FBQWpyQixF
QUFBK3FCLEVBRUEvVyxHQUFBaUgsT0FDQWpiLE1BQUEsSUFBQUEsRUFBQSxJQUNBeW9CLFdBQUEs
SUFBQXpvQixFQUFBLElBQ0F1YyxTQUFBLG1CQUF3RHlPLEVBQUEsS0FPeEQsUUFBQUMsSUFDQWpy
QixFQUNBZ3JCLEdBRUEsR0FBQUUsR0FBQUMsR0FBQW5yQixFQUNBLGVBQUFrckIsRUFBQUUsSUFD
QXByQixFQUFBLElBQUFnckIsRUFFQSxRQUFBRSxFQUFBLFNBQUFBLEVBQUEsU0FBQUYsRUFBQSxJ
QXlCQSxRQUFBRyxJQUFBbnFCLEdBS0EsR0FKQWEsR0FBQWIsRUFDQTRMLEdBQUEvSyxHQUFBTyxP
QUNBaXBCLEdBQUFDLEdBQUFDLEdBQUEsRUFFQXZxQixFQUFBMEIsUUFBQSxRQUFBMUIsRUFBQXdx
QixZQUFBLEtBQUE1ZSxHQUFBLEVBQ0EsT0FDQXViLElBQUFubkIsRUFDQW9xQixJQUFBLEtBSUEs
T0FBQUssTUFDQUMsR0FBQUMsS0FFQUMsR0FBQUYsSUFDQUcsR0FBQUgsSUFDSyxLQUFBQSxJQUNM
SSxHQUFBSixHQUlBLFFBQ0F2RCxJQUFBbm5CLEVBQUErcUIsVUFBQSxFQUFBVCxJQUNBRixJQUFB
cHFCLEVBQUErcUIsVUFBQVQsR0FBQSxFQUFBQyxLQUlBLFFBQUFJLE1BQ0EsTUFBQTlwQixJQUFB
eUQsYUFBQStsQixJQUdBLFFBQUFJLE1BQ0EsTUFBQUosS0FBQXplLEdBR0EsUUFBQWdmLElBQUFG
LEdBQ0EsWUFBQUEsR0FBQSxLQUFBQSxFQUdBLFFBQUFJLElBQUFKLEdBQ0EsR0FBQU0sR0FBQSxD
QUVBLEtBREFWLEdBQUFELElBQ0FJLE1BRUEsR0FEQUMsRUFBQUMsS0FDQUMsR0FBQUYsR0FDQUcs
R0FBQUgsT0FLQSxJQUZBLEtBQUFBLEdBQXVCTSxJQUN2QixLQUFBTixHQUF1Qk0sSUFDdkIsSUFB
QUEsRUFBQSxDQUNBVCxHQUFBRixFQUNBLFFBS0EsUUFBQVEsSUFBQUgsR0FFQSxJQURBLEdBQUFP
LEdBQUFQLEdBQ0FELE9BQ0FDLEVBQUFDLFFBQ0FNLEtBZUEsUUFBQWhSLElBQ0FqSCxFQUNBMlIs
RUFDQXVHLEdBRUFDLEdBQUFELENBQ0EsSUFBQWxzQixHQUFBMmxCLEVBQUEzbEIsTUFDQXltQixF
QUFBZCxFQUFBYyxVQUNBdlosRUFBQThHLEVBQUE5RyxJQUNBOUMsRUFBQTRKLEVBQUEyVyxTQUFB
dmdCLElBb0JBLElBQUE0SixFQUFBckMsVUFHQSxNQUZBa1osSUFBQTdXLEVBQUFoVSxFQUFBeW1C
LElBRUEsQ0FDRyxlQUFBdlosRUFDSGtmLEdBQUFwWSxFQUFBaFUsRUFBQXltQixPQUNHLGNBQUF2
WixHQUFBLGFBQUE5QyxFQUNIaWlCLEdBQUFyWSxFQUFBaFUsRUFBQXltQixPQUNHLGNBQUF2WixH
QUFBLFVBQUE5QyxFQUNIa2lCLEdBQUF0WSxFQUFBaFUsRUFBQXltQixPQUNHLGNBQUF2WixHQUFB
LGFBQUFBLEVBQ0hxZixHQUFBdlksRUFBQWhVLEVBQUF5bUIsT0FDRyxLQUFBcmdCLEdBQUEyVyxj
QUFBN1AsR0FHSCxNQUZBMmQsSUFBQTdXLEVBQUFoVSxFQUFBeW1CLElBRUEsQ0FXQSxVQUdBLFFB
QUE0RixJQUNBclksRUFDQWhVLEVBQ0F5bUIsR0FFQSxHQUFBcUUsR0FBQXJFLEtBQUFxRSxPQUNB
MEIsRUFBQWxDLEdBQUF0VyxFQUFBLGlCQUNBeVksRUFBQW5DLEdBQUF0VyxFQUFBLHNCQUNBMFks
RUFBQXBDLEdBQUF0VyxFQUFBLHVCQUNBMlYsSUFBQTNWLEVBQUEsVUFDQSxpQkFBQWhVLEVBQUEs
UUFDQUEsRUFBQSxJQUFBd3NCLEVBQUEsUUFDQSxTQUFBQyxFQUNBLEtBQUF6c0IsRUFBQSxJQUNB
LE9BQUFBLEVBQUEsSUFBQXlzQixFQUFBLE1BR0ExQyxHQUFBL1YsRUFBQTJZLEdBQ0EsV0FBQTNz
QixFQUFBLHlDQUVBeXNCLEVBQUEsTUFBQUMsRUFBQSxxQ0FFQTVCLEVBQUEsTUFBQTBCLEVBQUEs
SUFBQUEsR0FBQSw2Q0FFd0J4c0IsRUFBQSxtQ0FDWkEsRUFBQSxxREFDRGlyQixHQUFBanJCLEVB
QUEsV0FDWCxTQUlBLFFBQUFzc0IsSUFDQXRZLEVBQ0FoVSxFQUNBeW1CLEdBRUEsR0FBQXFFLEdB
QUFyRSxLQUFBcUUsT0FDQTBCLEVBQUFsQyxHQUFBdFcsRUFBQSxnQkFDQXdZLEdBQUExQixFQUFB
LE1BQUEwQixFQUFBLElBQUFBLEVBQ0E3QyxHQUFBM1YsRUFBQSxnQkFBQWhVLEVBQUEsSUFBQXdz
QixFQUFBLEtBQ0F6QyxHQUFBL1YsRUFBQTJZLEdBQUExQixHQUFBanJCLEVBQUF3c0IsR0FBQSxT
QUdBLFFBQUFKLElBQ0FwWSxFQUNBaFUsRUFDQXltQixHQUVBLEdBQUFxRSxHQUFBckUsS0FBQXFF
LE9BQ0E4QixFQUFBLDBKQUdBOUIsRUFBQSxzQkFHQStCLEVBQUEsdUJBQUFELEVBQUEsR0FDQUMs
S0FBQSxJQUFBNUIsR0FBQWpyQixFQUZBLDZEQUdBK3BCLEdBQUEvVixFQUFBLFNBQUE2WSxFQUFB
LFNBR0EsUUFBQU4sSUFDQXZZLEVBQ0FoVSxFQUNBeW1CLEdBRUEsR0FBQXJjLEdBQUE0SixFQUFB
MlcsU0FBQXZnQixLQUNBMmEsRUFBQTBCLE1BQ0FxRyxFQUFBL0gsRUFBQStILEtBQ0FoQyxFQUFB
L0YsRUFBQStGLE9BQ0F2QyxFQUFBeEQsRUFBQXdELEtBQ0F3RSxHQUFBRCxHQUFBLFVBQUExaUIs
RUFDQXdFLEVBQUFrZSxFQUNBLFNBQ0EsVUFBQTFpQixFQUNBNGlCLEdBQ0EsUUFFQWpDLEVBQUEs
cUJBQ0F4QyxLQUNBd0MsRUFBQSw4QkFFQUQsSUFDQUMsRUFBQSxNQUFBQSxFQUFBLElBR0EsSUFB
QThCLEdBQUE1QixHQUFBanJCLEVBQUErcUIsRUFDQWdDLEtBQ0FGLEVBQUEscUNBQThDQSxHQUc5
Q2xELEdBQUEzVixFQUFBLFlBQUFoVSxFQUFBLEtBQ0ErcEIsR0FBQS9WLEVBQUFwRixFQUFBaWUs
RUFBQSxVQUNBdEUsR0FBQXVDLElBQ0FmLEdBQUEvVixFQUFBLHlCQVVBLFFBQUFpWixJQUFBM2Us
R0FDQSxHQUFBTSxFQUVBdk8sR0FBQWlPLEVBQUEwZSxPQUVBcGUsRUFBQXNlLEdBQUEsaUJBQ0E1
ZSxFQUFBTSxNQUFBL0UsT0FBQXlFLEVBQUEwZSxJQUFBMWUsRUFBQU0sY0FDQU4sR0FBQTBlLEtB
RUEzc0IsRUFBQWlPLEVBQUFxZSxPQUVBL2QsRUFBQXVlLEdBQUEsaUJBQ0E3ZSxFQUFBTSxNQUFB
L0UsT0FBQXlFLEVBQUFxZSxJQUFBcmUsRUFBQU0sY0FDQU4sR0FBQXFlLEtBTUEsUUFBQVMsSUFD
QXhlLEVBQ0F5SyxFQUNBL0csRUFDQXhELEVBQ0FDLEdBRUEsR0FBQXVELEVBQUEsQ0FDQSxHQUFB
K2EsR0FBQWhVLEVBQ0F6UyxFQUFBMG1CLEVBQ0FqVSxHQUFBLFNBQUFrVSxHQUlBLFFBSEEsSUFB
QWhxQixVQUFBbkIsT0FDQWlyQixFQUFBRSxHQUNBRixFQUFBN3BCLE1BQUEsS0FBQUQsYUFFQWlx
QixHQUFBNWUsRUFBQXlLLEVBQUF2SyxFQUFBbEksSUFJQTBtQixHQUFBRyxpQkFDQTdlLEVBQ0F5
SyxFQUNBcVUsSUFDUzVlLFVBQUFDLFdBQ1RELEdBSUEsUUFBQTBlLElBQ0E1ZSxFQUNBeUssRUFD
QXZLLEVBQ0FsSSxJQUVBQSxHQUFBMG1CLElBQUFLLG9CQUFBL2UsRUFBQXlLLEVBQUF2SyxHQUdB
LFFBQUE4ZSxJQUFBbkksRUFBQXpZLEdBQ0EsSUFBQTlNLEVBQUF1bEIsRUFBQXRZLEtBQUFtQixN
QUFBcE8sRUFBQThNLEVBQUFHLEtBQUFtQixJQUFBLENBR0EsR0FBQUEsR0FBQXRCLEVBQUFHLEtB
QUFtQixPQUNBQyxFQUFBa1gsRUFBQXRZLEtBQUFtQixNQUNBZ2YsSUFBQXRnQixFQUFBTSxJQUNB
MmYsR0FBQTNlLEdBQ0FELEdBQUFDLEVBQUFDLEVBQUE2ZSxHQUFBSSxHQUFBeGdCLEVBQUFPLFVB
VUEsUUFBQXNnQixJQUFBcEksRUFBQXpZLEdBQ0EsSUFBQTlNLEVBQUF1bEIsRUFBQXRZLEtBQUFn
UixZQUFBamUsRUFBQThNLEVBQUFHLEtBQUFnUixVQUFBLENBR0EsR0FBQXRiLEdBQUE2TCxFQUNB
cEIsRUFBQU4sRUFBQU0sSUFDQXdnQixFQUFBckksRUFBQXRZLEtBQUFnUixhQUNBbFUsRUFBQStD
LEVBQUFHLEtBQUFnUixZQUVBOWQsR0FBQTRKLEVBQUF2QyxVQUNBdUMsRUFBQStDLEVBQUFHLEtB
QUFnUixTQUFBcmEsS0FBMkNtRyxHQUczQyxLQUFBcEgsSUFBQWlyQixHQUNBNXRCLEVBQUErSixF
QUFBcEgsTUFDQXlLLEVBQUF6SyxHQUFBLEdBR0EsS0FBQUEsSUFBQW9ILEdBS0EsR0FKQXlFLEVB
QUF6RSxFQUFBcEgsR0FJQSxnQkFBQUEsR0FBQSxjQUFBQSxJQUNBbUssRUFBQUksV0FBMkJKLEVB
QUFJLFNBQUFoTCxPQUFBLEdBQzNCc00sSUFBQW9mLEVBQUFqckIsSUFHQSxhQUFBQSxFQUFBLENB
R0F5SyxFQUFBeWdCLE9BQUFyZixDQUVBLElBQUFzZixHQUFBOXRCLEVBQUF3TyxHQUFBLEdBQUFq
TixPQUFBaU4sRUFDQXVmLElBQUEzZ0IsRUFBQU4sRUFBQWdoQixLQUNBMWdCLEVBQUF0TixNQUFB
Z3VCLE9BR0ExZ0IsR0FBQXpLLEdBQUE2TCxHQVFBLFFBQUF1ZixJQUNBM2dCLEVBQ0FOLEVBQ0Fr
aEIsR0FFQSxPQUFBNWdCLEVBQUE2Z0IsWUFDQSxXQUFBbmhCLEVBQUFFLEtBQ0FraEIsR0FBQTln
QixFQUFBNGdCLElBQ0FHLEdBQUEvZ0IsRUFBQTRnQixJQUlBLFFBQUFFLElBQUE5Z0IsRUFBQTRn
QixHQUdBLEdBQUFJLElBQUEsQ0FHQSxLQUFPQSxFQUFBakwsU0FBQWtMLGdCQUFBamhCLEVBQStD
LE1BQUF6SSxJQUN0RCxNQUFBeXBCLElBQUFoaEIsRUFBQXROLFFBQUFrdUIsRUFHQSxRQUFBRyxJ
QUFBL2dCLEVBQUF2RSxHQUNBLEdBQUEvSSxHQUFBc04sRUFBQXROLE1BQ0F5bUIsRUFBQW5aLEVB
QUFraEIsV0FDQSxPQUFBbnVCLEdBQUFvbUIsTUFBQXFFLE9BQ0FwcEIsRUFBQTFCLEtBQUEwQixF
QUFBcUgsR0FFQTFJLEVBQUFvbUIsTUFBQThCLEtBQ0F2b0IsRUFBQXVvQixTQUFBeGYsRUFBQXdm
LE9BRUF2b0IsSUFBQStJLEVBd0JBLFFBQUEwbEIsSUFBQXRoQixHQUNBLEdBQUF1aEIsR0FBQUMs
R0FBQXhoQixFQUFBdWhCLE1BR0EsT0FBQXZoQixHQUFBeWhCLFlBQ0E5cUIsRUFBQXFKLEVBQUF5
aEIsWUFBQUYsR0FDQUEsRUFJQSxRQUFBQyxJQUFBRSxHQUNBLE1BQUFockIsT0FBQWEsUUFBQW1x
QixHQUNBNXFCLEVBQUE0cUIsR0FFQSxnQkFBQUEsR0FDQUMsR0FBQUQsR0FFQUEsRUFPQSxRQUFB
RSxJQUFBL2hCLEVBQUFnaUIsR0FDQSxHQUNBQyxHQURBL3FCLElBR0EsSUFBQThxQixFQUVBLElB
REEsR0FBQXhNLEdBQUF4VixFQUNBd1YsRUFBQUosbUJBQ0FJLElBQUFKLGtCQUFBak4sT0FDQXFO
LEVBQUFyVixPQUFBOGhCLEVBQUFSLEdBQUFqTSxFQUFBclYsUUFDQXJKLEVBQUFJLEVBQUErcUIs
SUFLQUEsRUFBQVIsR0FBQXpoQixFQUFBRyxRQUNBckosRUFBQUksRUFBQStxQixFQUlBLEtBREEs
R0FBQTFNLEdBQUF2VixFQUNBdVYsSUFBQTFYLFFBQ0EwWCxFQUFBcFYsT0FBQThoQixFQUFBUixH
QUFBbE0sRUFBQXBWLFFBQ0FySixFQUFBSSxFQUFBK3FCLEVBR0EsT0FBQS9xQixHQThDQSxRQUFB
Z3JCLElBQUF6SixFQUFBelksR0FDQSxHQUFBRyxHQUFBSCxFQUFBRyxLQUNBMGEsRUFBQXBDLEVB
QUF0WSxJQUVBLE1BQUFqTixFQUFBaU4sRUFBQXloQixjQUFBMXVCLEVBQUFpTixFQUFBdWhCLFFB
Q0F4dUIsRUFBQTJuQixFQUFBK0csY0FBQTF1QixFQUFBMm5CLEVBQUE2RyxRQURBLENBTUEsR0FB
QWhnQixHQUFBeEUsRUFDQThKLEVBQUFoSCxFQUFBTSxJQUNBNmhCLEVBQUF0SCxFQUFBK0csWUFD
QVEsRUFBQXZILEVBQUF3SCxpQkFBQXhILEVBQUE2RyxVQUdBWSxFQUFBSCxHQUFBQyxFQUVBVixF
QUFBQyxHQUFBM2hCLEVBQUFHLEtBQUF1aEIsVUFLQTFoQixHQUFBRyxLQUFBa2lCLGdCQUFBaHZC
LEVBQUFxdUIsRUFBQWhuQixRQUNBNUQsS0FBZTRxQixHQUNmQSxDQUVBLElBQUFhLEdBQUFSLEdB
QUEvaEIsR0FBQSxFQUVBLEtBQUE5QyxJQUFBb2xCLEdBQ0FwdkIsRUFBQXF2QixFQUFBcmxCLEtB
Q0FzbEIsR0FBQXhiLEVBQUE5SixFQUFBLEdBR0EsS0FBQUEsSUFBQXFsQixJQUNBN2dCLEVBQUE2
Z0IsRUFBQXJsQixNQUNBb2xCLEVBQUFwbEIsSUFFQXNsQixHQUFBeGIsRUFBQTlKLEVBQUEsTUFB
QXdFLEVBQUEsR0FBQUEsSUFnQkEsUUFBQStnQixJQUFBemIsRUFBQThULEdBRUEsR0FBQUEsUUFB
QVMsUUFLQSxHQUFBdlUsRUFBQTBiLFVBQ0E1SCxFQUFBcGxCLFFBQUEsUUFDQW9sQixFQUFBNWxC
LE1BQUEsT0FBQTZYLFFBQUEsU0FBQTFWLEdBQTZDLE1BQUEyUCxHQUFBMGIsVUFBQWxoQixJQUFB
bkssS0FFN0MyUCxFQUFBMGIsVUFBQWxoQixJQUFBc1osT0FFRyxDQUNILEdBQUFwWixHQUFBLEtB
QUFzRixFQUFBMmIsYUFBQSxpQkFDQWpoQixHQUFBaE0sUUFBQSxJQUFBb2xCLEVBQUEsUUFDQTlU
LEVBQUErUCxhQUFBLFNBQUFyVixFQUFBb1osR0FBQVMsU0FTQSxRQUFBcUgsSUFBQTViLEVBQUE4
VCxHQUVBLEdBQUFBLFFBQUFTLFFBS0EsR0FBQXZVLEVBQUEwYixVQUNBNUgsRUFBQXBsQixRQUFB
LFFBQ0FvbEIsRUFBQTVsQixNQUFBLE9BQUE2WCxRQUFBLFNBQUExVixHQUE2QyxNQUFBMlAsR0FB
QTBiLFVBQUFwdEIsT0FBQStCLEtBRTdDMlAsRUFBQTBiLFVBQUFwdEIsT0FBQXdsQixHQUVBOVQs
RUFBQTBiLFVBQUF0dEIsUUFDQTRSLEVBQUF3VCxnQkFBQSxhQUVHLENBR0gsSUFGQSxHQUFBOVks
R0FBQSxLQUFBc0YsRUFBQTJiLGFBQUEsa0JBQ0FFLEVBQUEsSUFBQS9ILEVBQUEsSUFDQXBaLEVB
QUFoTSxRQUFBbXRCLElBQUEsR0FDQW5oQixJQUFBb2hCLFFBQUFELEVBQUEsSUFFQW5oQixLQUFB
NlosT0FDQTdaLEVBQ0FzRixFQUFBK1AsYUFBQSxRQUFBclYsR0FFQXNGLEVBQUF3VCxnQkFBQSxV
QU9BLFFBQUF1SSxJQUFBQyxHQUNBLEdBQUFBLEVBQUEsQ0FJQSxtQkFBQUEsR0FBQSxDQUNBLEdB
QUE5ckIsS0FLQSxRQUpBLElBQUE4ckIsRUFBQUMsS0FDQW5zQixFQUFBSSxFQUFBZ3NCLEdBQUFG
LEVBQUE5bEIsTUFBQSxNQUVBcEcsRUFBQUksRUFBQThyQixHQUNBOXJCLEVBQ0csc0JBQUE4ckIs
R0FDSEUsR0FBQUYsT0FERyxJQThDSCxRQUFBRyxJQUFBbnRCLEdBQ0FvdEIsR0FBQSxXQUNBQSxH
QUFBcHRCLEtBSUEsUUFBQXF0QixJQUFBcmMsRUFBQThULEdBQ0EsR0FBQXdJLEdBQUF0YyxFQUFB
Z1UscUJBQUFoVSxFQUFBZ1Usc0JBQ0FzSSxHQUFBNXRCLFFBQUFvbEIsR0FBQSxJQUNBd0ksRUFB
QXRwQixLQUFBOGdCLEdBQ0EySCxHQUFBemIsRUFBQThULElBSUEsUUFBQXlJLElBQUF2YyxFQUFB
OFQsR0FDQTlULEVBQUFnVSxvQkFDQTFsQixFQUFBMFIsRUFBQWdVLG1CQUFBRixHQUVBOEgsR0FB
QTViLEVBQUE4VCxHQUdBLFFBQUEwSSxJQUNBeGMsRUFDQXljLEVBQ0FDLEdBRUEsR0FBQTNMLEdB
QUE0TCxHQUFBM2MsRUFBQXljLEdBQ0FybUIsRUFBQTJhLEVBQUEzYSxLQUNBMEgsRUFBQWlULEVB
QUFqVCxRQUNBOGUsRUFBQTdMLEVBQUE2TCxTQUNBLEtBQUF4bUIsRUFBYyxNQUFBc21CLElBQ2Qs
SUFBQTloQixHQUFBeEUsSUFBQXltQixHQUFBQyxHQUFBQyxHQUNBQyxFQUFBLEVBQ0FDLEVBQUEs
V0FDQWpkLEVBQUEyWixvQkFBQS9lLEVBQUFzaUIsR0FDQVIsS0FFQVEsRUFBQSxTQUFBcnNCLEdB
Q0FBLEVBQUFpQyxTQUFBa04sS0FDQWdkLEdBQUFKLEdBQ0FLLElBSUFwZixZQUFBLFdBQ0FtZixF
QUFBSixHQUNBSyxLQUVHbmYsRUFBQSxHQUNIa0MsRUFBQXlaLGlCQUFBN2UsRUFBQXNpQixHQUtB
LFFBQUFQLElBQUEzYyxFQUFBeWMsR0FDQSxHQVFBcm1CLEdBUkErbUIsRUFBQTdOLE9BQUE4Tixp
QkFBQXBkLEdBQ0FxZCxFQUFBRixFQUFBRyxHQUFBLFNBQUFwdkIsTUFBQSxNQUNBcXZCLEVBQUFK
LEVBQUFHLEdBQUEsWUFBQXB2QixNQUFBLE1BQ0FzdkIsRUFBQUMsR0FBQUosRUFBQUUsR0FDQUcs
RUFBQVAsRUFBQVEsR0FBQSxTQUFBenZCLE1BQUEsTUFDQTB2QixFQUFBVCxFQUFBUSxHQUFBLFlB
QUF6dkIsTUFBQSxNQUNBMnZCLEVBQUFKLEdBQUFDLEVBQUFFLEdBR0E5ZixFQUFBLEVBQ0E4ZSxF
QUFBLENBOEJBLE9BNUJBSCxLQUFBSSxHQUNBVyxFQUFBLElBQ0FwbkIsRUFBQXltQixHQUNBL2Us
RUFBQTBmLEVBQ0FaLEVBQUFXLEVBQUFudkIsUUFFR3F1QixJQUFBcUIsR0FDSEQsRUFBQSxJQUNB
em5CLEVBQUEwbkIsR0FDQWhnQixFQUFBK2YsRUFDQWpCLEVBQUFnQixFQUFBeHZCLFNBR0EwUCxF
QUFBM1EsS0FBQThILElBQUF1b0IsRUFBQUssR0FDQXpuQixFQUFBMEgsRUFBQSxFQUNBMGYsRUFB
QUssRUFDQWhCLEdBQ0FpQixHQUNBLEtBQ0FsQixFQUFBeG1CLEVBQ0FBLElBQUF5bUIsR0FDQVUs
RUFBQW52QixPQUNBd3ZCLEVBQUF4dkIsT0FDQSxJQU1BZ0ksT0FDQTBILFVBQ0E4ZSxZQUNBbUIs
YUFOQTNuQixJQUFBeW1CLElBQ0FtQixHQUFBbHNCLEtBQUFxckIsRUFBQUcsR0FBQSxjQVNBLFFB
QUFHLElBQUFRLEVBQUFDLEdBRUEsS0FBQUQsRUFBQTd2QixPQUFBOHZCLEVBQUE5dkIsUUFDQTZ2
QixJQUFBcG9CLE9BQUFvb0IsRUFHQSxPQUFBOXdCLE1BQUE4SCxJQUFBekYsTUFBQSxLQUFBMHVC
LEVBQUFud0IsSUFBQSxTQUFBMFksRUFBQXRZLEdBQ0EsTUFBQWd3QixJQUFBMVgsR0FBQTBYLEdB
QUFGLEVBQUE5dkIsT0FJQSxRQUFBZ3dCLElBQUFDLEdBQ0EsV0FBQUMsT0FBQUQsRUFBQWhrQixN
QUFBLE9BS0EsUUFBQWtrQixJQUFBdGxCLEVBQUF1bEIsR0FDQSxHQUFBdmUsR0FBQWhILEVBQUFN
LEdBR0FqTixHQUFBMlQsRUFBQXdlLFlBQ0F4ZSxFQUFBd2UsU0FBQUMsV0FBQSxFQUNBemUsRUFB
QXdlLFdBR0EsSUFBQXJsQixHQUFBNGlCLEdBQUEvaUIsRUFBQUcsS0FBQXVsQixXQUNBLEtBQUF4
eUIsRUFBQWlOLEtBS0E5TSxFQUFBMlQsRUFBQTJlLFdBQUEsSUFBQTNlLEVBQUE0ZSxTQUFBLENB
NEJBLElBeEJBLEdBQUEzQyxHQUFBOWlCLEVBQUE4aUIsSUFDQTdsQixFQUFBK0MsRUFBQS9DLEtB
Q0F5b0IsRUFBQTFsQixFQUFBMGxCLFdBQ0FDLEVBQUEzbEIsRUFBQTJsQixhQUNBQyxFQUFBNWxC
LEVBQUE0bEIsaUJBQ0FDLEVBQUE3bEIsRUFBQTZsQixZQUNBQyxFQUFBOWxCLEVBQUE4bEIsY0FD
QUMsRUFBQS9sQixFQUFBK2xCLGtCQUNBQyxFQUFBaG1CLEVBQUFnbUIsWUFDQWIsRUFBQW5sQixF
QUFBbWxCLE1BQ0FjLEVBQUFqbUIsRUFBQWltQixXQUNBQyxFQUFBbG1CLEVBQUFrbUIsZUFDQUMs
RUFBQW5tQixFQUFBbW1CLGFBQ0FDLEVBQUFwbUIsRUFBQW9tQixPQUNBQyxFQUFBcm1CLEVBQUFx
bUIsWUFDQUMsRUFBQXRtQixFQUFBc21CLGdCQUNBQyxFQUFBdm1CLEVBQUF1bUIsU0FNQW5tQixF
QUFBb21CLEdBQ0FDLEVBQUFELEdBQUFsZixPQUNBbWYsS0FBQS9vQixRQUNBK29CLElBQUEvb0Is
T0FDQTBDLEVBQUFxbUIsRUFBQXJtQixPQUdBLElBQUFzbUIsSUFBQXRtQixFQUFBcUcsYUFBQTVH
LEVBQUE4bUIsWUFFQSxLQUFBRCxHQUFBTixHQUFBLEtBQUFBLEVBQUEsQ0FJQSxHQUFBUSxHQUFB
RixHQUFBYixFQUNBQSxFQUNBSCxFQUNBbUIsRUFBQUgsR0FBQVgsRUFDQUEsRUFDQUgsRUFDQWtC
LEVBQUFKLEdBQUFaLEVBQ0FBLEVBQ0FILEVBRUFvQixFQUFBTCxFQUNBUCxHQUFBSCxFQUNBQSxF
QUNBZ0IsRUFBQU4sR0FDQSxrQkFBQU4sS0FDQWpCLEVBQ0E4QixFQUFBUCxFQUNBTCxHQUFBSixF
QUNBQSxFQUNBaUIsRUFBQVIsRUFDQUosR0FBQUosRUFDQUEsRUFFQWlCLEVBQUE1eUIsRUFDQWpC
LEVBQUFpekIsR0FDQUEsRUFBQXBCLE1BQ0FvQixHQU9BYSxHQUFBLElBQUF0RSxJQUFBL0ksR0FD
QXNOLEVBQUFDLEdBQUFOLEdBRUF6RCxFQUFBMWMsRUFBQTJlLFNBQUF6dEIsRUFBQSxXQUNBcXZC
LElBQ0FoRSxHQUFBdmMsRUFBQWlnQixHQUNBMUQsR0FBQXZjLEVBQUFnZ0IsSUFFQXRELEVBQUEr
QixXQUNBOEIsR0FDQWhFLEdBQUF2YyxFQUFBK2YsR0FFQU0sS0FBQXJnQixJQUVBb2dCLEtBQUFw
Z0IsR0FFQUEsRUFBQTJlLFNBQUEsTUFHQTNsQixHQUFBRyxLQUFBdW5CLE1BRUExbEIsR0FBQWhD
LEVBQUFHLEtBQUErQixPQUFBbEMsRUFBQUcsS0FBQStCLFNBQTJELG9CQUMzRCxHQUFBckUsR0FB
QW1KLEVBQUF1TyxXQUNBb1MsRUFBQTlwQixLQUFBK3BCLFVBQUEvcEIsRUFBQStwQixTQUFBNW5C
LEVBQUFuSyxJQUNBOHhCLElBQ0FBLEVBQUF6bkIsTUFBQUYsRUFBQUUsS0FDQXluQixFQUFBcm5C
LElBQUFrbEIsVUFFQW1DLEVBQUFybkIsSUFBQWtsQixXQUVBMkIsS0FBQW5nQixFQUFBMGMsS0FL
QXdELEtBQUFsZ0IsR0FDQXVnQixJQUNBbEUsR0FBQXJjLEVBQUErZixHQUNBMUQsR0FBQXJjLEVB
QUFnZ0IsR0FDQTdELEdBQUEsV0FDQUUsR0FBQXJjLEVBQUFpZ0IsR0FDQTFELEdBQUF2YyxFQUFB
K2YsR0FDQXJELEVBQUErQixXQUFBK0IsSUFDQUssR0FBQVAsR0FDQXppQixXQUFBNmUsRUFBQTRE
LEdBRUE5RCxHQUFBeGMsRUFBQTVKLEVBQUFzbUIsT0FNQTFqQixFQUFBRyxLQUFBdW5CLE9BQ0Fu
QyxPQUNBNEIsS0FBQW5nQixFQUFBMGMsSUFHQTZELEdBQUFDLEdBQ0E5RCxNQUlBLFFBQUFvRSxJ
QUFBOW5CLEVBQUErbkIsR0FzRUEsUUFBQUMsS0FFQXRFLEVBQUErQixZQUlBemxCLEVBQUFHLEtB
QUF1bkIsUUFDQTFnQixFQUFBdU8sV0FBQXFTLFdBQUE1Z0IsRUFBQXVPLFdBQUFxUyxjQUE2RDVu
QixFQUFBLEtBQUFBLEdBRTdEaW9CLEtBQUFqaEIsR0FDQXVnQixJQUNBbEUsR0FBQXJjLEVBQUFr
aEIsR0FDQTdFLEdBQUFyYyxFQUFBbWhCLEdBQ0FoRixHQUFBLFdBQ0FFLEdBQUFyYyxFQUFBb2hC
LEdBQ0E3RSxHQUFBdmMsRUFBQWtoQixHQUNBeEUsRUFBQStCLFdBQUErQixJQUNBSyxHQUFBUSxH
QUNBeGpCLFdBQUE2ZSxFQUFBMkUsR0FFQTdFLEdBQUF4YyxFQUFBNUosRUFBQXNtQixPQUtBb0Us
S0FBQTlnQixFQUFBMGMsR0FDQTZELEdBQUFDLEdBQ0E5RCxLQWhHQSxHQUFBMWMsR0FBQWhILEVB
QUFNLEdBR0FqTixHQUFBMlQsRUFBQTJlLFlBQ0EzZSxFQUFBMmUsU0FBQUYsV0FBQSxFQUNBemUs
RUFBQTJlLFdBR0EsSUFBQXhsQixHQUFBNGlCLEdBQUEvaUIsRUFBQUcsS0FBQXVsQixXQUNBLElB
QUF4eUIsRUFBQWlOLEdBQ0EsTUFBQTRuQixJQUlBLEtBQUExMEIsRUFBQTJULEVBQUF3ZSxXQUFB
LElBQUF4ZSxFQUFBNGUsU0FBQSxDQUlBLEdBQUEzQyxHQUFBOWlCLEVBQUE4aUIsSUFDQTdsQixF
QUFBK0MsRUFBQS9DLEtBQ0E4cUIsRUFBQS9uQixFQUFBK25CLFdBQ0FFLEVBQUFqb0IsRUFBQWlv
QixhQUNBRCxFQUFBaG9CLEVBQUFnb0IsaUJBQ0FGLEVBQUE5bkIsRUFBQThuQixZQUNBSCxFQUFB
M25CLEVBQUEybkIsTUFDQVEsRUFBQW5vQixFQUFBbW9CLFdBQ0FDLEVBQUFwb0IsRUFBQW9vQixl
QUNBQyxFQUFBcm9CLEVBQUFxb0IsV0FDQTlCLEVBQUF2bUIsRUFBQXVtQixTQUVBYSxHQUFBLElB
QUF0RSxJQUFBL0ksR0FDQXNOLEVBQUFDLEdBQUFLLEdBRUFPLEVBQUEzekIsRUFDQWpCLEVBQUFp
ekIsR0FDQUEsRUFBQW9CLE1BQ0FwQixHQU9BaEQsRUFBQTFjLEVBQUF3ZSxTQUFBdHRCLEVBQUEs
V0FDQThPLEVBQUF1TyxZQUFBdk8sRUFBQXVPLFdBQUFxUyxXQUNBNWdCLEVBQUF1TyxXQUFBcVMs
U0FBQTVuQixFQUFBbkssS0FBQSxNQUVBMHhCLElBQ0FoRSxHQUFBdmMsRUFBQW9oQixHQUNBN0Us
R0FBQXZjLEVBQUFtaEIsSUFFQXpFLEVBQUErQixXQUNBOEIsR0FDQWhFLEdBQUF2YyxFQUFBa2hC
LEdBRUFLLEtBQUF2aEIsS0FFQStnQixJQUNBTyxLQUFBdGhCLElBRUFBLEVBQUF3ZSxTQUFBLE1B
R0FnRCxHQUNBQSxFQUFBUixHQUVBQSxLQW9EQSxRQUFBSCxJQUFBN3pCLEdBQ0Esc0JBQUFBLEtB
QUFXLE1BQUFYLEdBU0EsUUFBQXl6QixJQUFBenhCLEdBQ0EsR0FBQTlDLEVBQUE4QyxHQUNBLFFB
RUEsSUFBQXl5QixHQUFBenlCLEVBQUFpTCxHQUNBLE9BQUE1TixHQUFBbzFCLEdBRUFoQixHQUNB
NXdCLE1BQUFhLFFBQUErd0IsR0FDQUEsRUFBQSxHQUNBQSxJQUdBenlCLEVBQUFTLFNBQUFULEVB
QUFaLFFBQUEsRUFJQSxRQUFBc3pCLElBQUFoTSxFQUFBMWMsSUFDQSxJQUFBQSxFQUFBRyxLQUFB
dW5CLE1BQ0FwQyxHQUFBdGxCLEdBbUdBLFFBQUEyb0IsSUFBQTNoQixFQUFBNGhCLEVBQUExdkIs
R0FDQSxHQUFBbEcsR0FBQTQxQixFQUFBNTFCLE1BQ0E2MUIsRUFBQTdoQixFQUFBOFAsUUFDQSxL
QUFBK1IsR0FBQWh5QixNQUFBYSxRQUFBMUUsR0FBQSxDQVNBLE9BREEwakIsR0FBQW9TLEVBQ0Ez
ekIsRUFBQSxFQUFBbUIsRUFBQTBRLEVBQUFoSyxRQUFBNUgsT0FBd0NELEVBQUFtQixFQUFPbkIs
SUFFL0MsR0FEQTJ6QixFQUFBOWhCLEVBQUFoSyxRQUFBN0gsR0FDQTB6QixFQUNBblMsRUFBQXpl
LEVBQUFqRixFQUFBKzFCLEdBQUFELEtBQUEsRUFDQUEsRUFBQXBTLGVBQ0FvUyxFQUFBcFMsZ0JB
R0EsSUFBQXBmLEVBQUF5eEIsR0FBQUQsR0FBQTkxQixHQUlBLFlBSEFnVSxFQUFBZ2lCLGdCQUFB
N3pCLElBQ0E2UixFQUFBZ2lCLGNBQUE3ekIsR0FNQTB6QixLQUNBN2hCLEVBQUFnaUIsZUFBQSxJ
QUlBLFFBQUFELElBQUFELEdBQ0EsZ0JBQUFBLEdBQ0FBLEVBQUEvSCxPQUNBK0gsRUFBQTkxQixN
QUdBLFFBQUFpMkIsSUFBQXB4QixHQUNBQSxFQUFBaUMsT0FBQXFuQixXQUFBLEVBR0EsUUFBQStI
LElBQUFyeEIsR0FFQUEsRUFBQWlDLE9BQUFxbkIsWUFDQXRwQixFQUFBaUMsT0FBQXFuQixXQUFB
LEVBQ0FnSSxHQUFBdHhCLEVBQUFpQyxPQUFBLFVBR0EsUUFBQXF2QixJQUFBbmlCLEVBQUE1SixH
QUNBLEdBQUF2RixHQUFBd2UsU0FBQStTLFlBQUEsYUFDQXZ4QixHQUFBd3hCLFVBQUFqc0IsR0FB
QSxNQUNBNEosRUFBQXNpQixjQUFBenhCLEdBTUEsUUFBQTB4QixJQUFBdnBCLEdBQ0EsT0FBQUEs
RUFBQW9WLG1CQUFBcFYsRUFBQUcsTUFBQUgsRUFBQUcsS0FBQXVsQixXQUVBMWxCLEVBREF1cEIs
R0FBQXZwQixFQUFBb1Ysa0JBQUFqTixRQXlGQSxRQUFBcWhCLElBQUF4cEIsR0FDQSxHQUFBeXBC
LEdBQUF6cEIsS0FBQVEsZ0JBQ0EsT0FBQWlwQixNQUFBL3ZCLEtBQUFzRCxRQUFBb0osU0FDQW9q
QixHQUFBemtCLEdBQUEwa0IsRUFBQXJwQixXQUVBSixFQUlBLFFBQUEwcEIsSUFBQXBtQixHQUNB
LEdBQUFuRCxNQUNBbkQsRUFBQXNHLEVBQUE5RCxRQUVBLFFBQUEzSixLQUFBbUgsR0FBQStCLFVB
Q0FvQixFQUFBdEssR0FBQXlOLEVBQUF6TixFQUlBLElBQUFzUCxHQUFBbkksRUFBQW9JLGdCQUNB
LFFBQUF1a0IsS0FBQXhrQixHQUNBaEYsRUFBQWhELEdBQUF3c0IsSUFBQXhrQixFQUFBd2tCLEVB
RUEsT0FBQXhwQixHQUdBLFFBQUF5cEIsSUFBQXBjLEVBQUFxYyxHQUNBLG9CQUFBL3dCLEtBQUEr
d0IsRUFBQTNwQixLQUNBLE1BQUFzTixHQUFBLGNBQ0F2USxNQUFBNHNCLEVBQUFycEIsaUJBQUF6
QixZQUtBLFFBQUErcUIsSUFBQTlwQixHQUNBLEtBQUFBLElBQUFuQyxRQUNBLEdBQUFtQyxFQUFB
RyxLQUFBdWxCLFdBQ0EsU0FLQSxRQUFBcUUsSUFBQWpzQixFQUFBa3NCLEdBQ0EsTUFBQUEsR0FB
QW4wQixNQUFBaUksRUFBQWpJLEtBQUFtMEIsRUFBQTlwQixNQUFBcEMsRUFBQW9DLElBR0EsUUFB
QWtZLElBQUFuVixHQUNBLE1BQUFBLEdBQUFyQyxXQUFBcUMsRUFBQXhDLGFBb1FBLFFBQUF3cEIs
SUFBQTV5QixHQUVBQSxFQUFBaUosSUFBQTRwQixTQUNBN3lCLEVBQUFpSixJQUFBNHBCLFVBR0E3
eUIsRUFBQWlKLElBQUFxbEIsVUFDQXR1QixFQUFBaUosSUFBQXFsQixXQUlBLFFBQUF3RSxJQUFB
OXlCLEdBQ0FBLEVBQUE4SSxLQUFBaXFCLE9BQUEveUIsRUFBQWlKLElBQUErcEIsd0JBR0EsUUFB
QUMsSUFBQWp6QixHQUNBLEdBQUFrekIsR0FBQWx6QixFQUFBOEksS0FBQXFxQixJQUNBSixFQUFB
L3lCLEVBQUE4SSxLQUFBaXFCLE9BQ0FLLEVBQUFGLEVBQUFHLEtBQUFOLEVBQUFNLEtBQ0FDLEVB
QUFKLEVBQUFLLElBQUFSLEVBQUFRLEdBQ0EsSUFBQUgsR0FBQUUsRUFBQSxDQUNBdHpCLEVBQUE4
SSxLQUFBMHFCLE9BQUEsQ0FDQSxJQUFBekYsR0FBQS90QixFQUFBaUosSUFBQW9oQixLQUNBMEQs
R0FBQTBGLFVBQUExRixFQUFBMkYsZ0JBQUEsYUFBQU4sRUFBQSxNQUFBRSxFQUFBLE1BQ0F2RixF
QUFBNEYsbUJBQUEsTUFtRkEsUUFBQUMsSUFDQTVxQixFQUNBNnFCLEdBRUEsR0FBQUMsR0FBQUQs
RUFBQUUsR0FBQUYsR0FBQUcsRUFDQSxJQUFBRixFQUFBcnlCLEtBQUF1SCxHQUFBLENBTUEsSUFI
QSxHQUVBVixHQUFBbEssRUFGQTYxQixLQUNBQyxFQUFBSixFQUFBSSxVQUFBLEVBRUE1ckIsRUFB
QXdyQixFQUFBSyxLQUFBbnJCLElBQUEsQ0FDQTVLLEVBQUFrSyxFQUFBbEssTUFFQUEsRUFBQTgx
QixHQUNBRCxFQUFBdHhCLEtBQUF6RixLQUFBQyxVQUFBNkwsRUFBQWUsTUFBQW1xQixFQUFBOTFC
LElBR0EsSUFBQTBsQixHQUFBRCxHQUFBdmIsRUFBQSxHQUFBNGIsT0FDQStQLEdBQUF0eEIsS0FB
QSxNQUFBbWhCLEVBQUEsS0FDQW9RLEVBQUE5MUIsRUFBQWtLLEVBQUEsR0FBQXZLLE9BS0EsTUFI
QW0yQixHQUFBbHJCLEVBQUFqTCxRQUNBazJCLEVBQUF0eEIsS0FBQXpGLEtBQUFDLFVBQUE2TCxF
QUFBZSxNQUFBbXFCLEtBRUFELEVBQUF6UixLQUFBLE1BS0EsUUFBQTRSLElBQUF6a0IsRUFBQWhL
LEdBQ0EsR0FDQTJZLElBREEzWSxFQUFBaWdCLEtBQ0FRLEdBQUF6VyxFQUFBLFNBWUEyTyxLQUNB
M08sRUFBQTJPLFlBQUFwaEIsS0FBQUMsVUFBQW1oQixHQUVBLElBQUErVixHQUFBcE8sR0FBQXRX
LEVBQUEsV0FDQTBrQixLQUNBMWtCLEVBQUEwa0IsZ0JBSUEsUUFBQUMsSUFBQTNrQixHQUNBLEdB
QUE3RyxHQUFBLEVBT0EsT0FOQTZHLEdBQUEyTyxjQUNBeFYsR0FBQSxlQUFBNkcsRUFBQSxpQkFF
QUEsRUFBQTBrQixlQUNBdnJCLEdBQUEsU0FBQTZHLEVBQUEsa0JBRUE3RyxFQVdBLFFBQUF5ckIs
SUFBQTVrQixFQUFBaEssR0FDQSxHQUNBNGtCLElBREE1a0IsRUFBQWlnQixLQUNBUSxHQUFBelcs
RUFBQSxTQUNBLElBQUE0YSxFQUFBLENBYUE1YSxFQUFBNGEsWUFBQXJ0QixLQUFBQyxVQUFBc3RC
LEdBQUFGLElBR0EsR0FBQWlLLEdBQUF2TyxHQUFBdFcsRUFBQSxXQUNBNmtCLEtBQ0E3a0IsRUFB
QTZrQixnQkFJQSxRQUFBQyxJQUFBOWtCLEdBQ0EsR0FBQTdHLEdBQUEsRUFPQSxPQU5BNkcsR0FB
QTRhLGNBQ0F6aEIsR0FBQSxlQUFBNkcsRUFBQSxpQkFFQUEsRUFBQTZrQixlQUNBMXJCLEdBQUEs
VUFBQTZHLEVBQUEsbUJBRUE3RyxFQWdCQSxRQUFBRSxJQUFBMkcsRUFBQTJSLEdBQ0FBLEVBQUEz
bEIsT0FDQTJwQixHQUFBM1YsRUFBQSxvQkFBQTJSLEVBQUEsV0FNQSxRQUFBb1QsSUFBQS9rQixF
QUFBMlIsR0FDQUEsRUFBQTNsQixPQUNBMnBCLEdBQUEzVixFQUFBLGtCQUFBMlIsRUFBQSxXQTBI
QSxRQUFBcVQsSUFBQWg1QixFQUFBaTVCLEdBQ0EsR0FBQUMsR0FBQUQsRUFBQUUsR0FBQUMsRUFD
QSxPQUFBcDVCLEdBQUE4dkIsUUFBQW9KLEVBQUEsU0FBQXZzQixHQUE2QyxNQUFBMHNCLElBQUEx
c0IsS0FHN0MsUUFBQTJzQixJQUFBUCxFQUFBL3VCLEdBOEhBLFFBQUF1dkIsR0FBQXQ0QixHQUNB
d0IsR0FBQXhCLEVBQ0E4M0IsSUFBQWhOLFVBQUE5cUIsR0F1RUEsUUFBQXU0QixHQUFBM1YsRUFB
QWxnQixFQUFBc3RCLEdBQ0EsR0FBQXVHLEdBQUFpQyxDQVNBLElBUkEsTUFBQTkxQixJQUF3QkEs
RUFBQWxCLEdBQ3hCLE1BQUF3dUIsSUFBc0JBLEVBQUF4dUIsR0FFdEJvaEIsSUFDQTRWLEVBQUE1
VixFQUFBeGhCLGVBSUF3aEIsRUFDQSxJQUFBMlQsRUFBQWtDLEVBQUF0M0IsT0FBQSxFQUFrQ28x
QixHQUFBLEdBQ2xDa0MsRUFBQWxDLEdBQUFtQyxnQkFBQUYsRUFENENqQyxTQU81Q0EsR0FBQSxD
QUdBLElBQUFBLEdBQUEsR0FFQSxPQUFBcjFCLEdBQUF1M0IsRUFBQXQzQixPQUFBLEVBQW9DRCxH
QUFBcTFCLEVBQVVyMUIsSUFTOUM2SCxFQUFBaW5CLEtBQ0FqbkIsRUFBQWluQixJQUFBeUksRUFB
QXYzQixHQUFBK0ssSUFBQXZKLEVBQUFzdEIsRUFLQXlJLEdBQUF0M0IsT0FBQW8xQixFQUNBb0Ms
RUFBQXBDLEdBQUFrQyxFQUFBbEMsRUFBQSxHQUFBdHFCLFFBQ0ssT0FBQXVzQixFQUNMenZCLEVB
QUFyRyxPQUNBcUcsRUFBQXJHLE1BQUFrZ0IsTUFBQSxFQUFBbGdCLEVBQUFzdEIsR0FFSyxNQUFB
d0ksSUFDTHp2QixFQUFBckcsT0FDQXFHLEVBQUFyRyxNQUFBa2dCLE1BQUEsRUFBQWxnQixFQUFB
c3RCLEdBRUFqbkIsRUFBQWluQixLQUNBam5CLEVBQUFpbkIsSUFBQXBOLEVBQUFsZ0IsRUFBQXN0
QixJQWpQQSxJQU5BLEdBS0E5Z0IsR0FBQXlwQixFQUxBRixLQUNBRyxFQUFBN3ZCLEVBQUE2dkIs
V0FDQUMsRUFBQTl2QixFQUFBK3ZCLFlBQUFDLEdBQ0FDLEVBQUFqd0IsRUFBQWt3QixrQkFBQUYs
R0FDQXYzQixFQUFBLEVBRUFzMkIsR0FBQSxDQUdBLEdBRkE1b0IsRUFBQTRvQixFQUVBYSxHQUFB
TyxHQUFBUCxHQWdGSyxDQUNMLEdBQUFRLEdBQUEsRUFDQUMsRUFBQVQsRUFBQXYzQixjQUNBaTRC
LEVBQUFDLEdBQUFGLEtBQUFFLEdBQUFGLEdBQUEsR0FBQUcsUUFBQSxrQkFBQUgsRUFBQSxnQkFD
QUksRUFBQTFCLEVBQUFqSixRQUFBd0ssRUFBQSxTQUFBSSxFQUFBcnRCLEVBQUFzdEIsR0FhQSxN
QVpBUCxHQUFBTyxFQUFBdjRCLE9BQ0ErM0IsR0FBQUUsSUFBQSxhQUFBQSxJQUNBaHRCLElBQ0F5
aUIsUUFBQSwyQkFDQUEsUUFBQSxtQ0FFQThLLEdBQUFQLEVBQUFodEIsS0FDQUEsSUFBQWUsTUFB
QSxJQUVBcEUsRUFBQTZ3QixPQUNBN3dCLEVBQUE2d0IsTUFBQXh0QixHQUVBLElBRUE1SyxJQUFB
czJCLEVBQUEzMkIsT0FBQXE0QixFQUFBcjRCLE9BQ0EyMkIsRUFBQTBCLEVBQ0FqQixFQUFBYSxF
QUFBNTNCLEVBQUEyM0IsRUFBQTMzQixPQXJHQSxDQUNBLEdBQUFxNEIsR0FBQS9CLEVBQUFyMkIs
UUFBQSxJQUNBLFFBQUFvNEIsRUFBQSxDQUVBLEdBQUFDLEdBQUFqMUIsS0FBQWl6QixHQUFBLENB
Q0EsR0FBQWlDLEdBQUFqQyxFQUFBcjJCLFFBQUEsU0FFQSxJQUFBczRCLEdBQUEsR0FDQWh4QixF
QUFBaXhCLG1CQUNBanhCLEVBQUErd0IsUUFBQWhDLEVBQUFoTixVQUFBLEVBQUFpUCxJQUVBekIs
RUFBQXlCLEVBQUEsRUFDQSxXQUtBLEdBQUFFLEdBQUFwMUIsS0FBQWl6QixHQUFBLENBQ0EsR0FB
QW9DLEdBQUFwQyxFQUFBcjJCLFFBQUEsS0FFQSxJQUFBeTRCLEdBQUEsR0FDQTVCLEVBQUE0QixF
QUFBLEVBQ0EsV0FLQSxHQUFBQyxHQUFBckMsRUFBQXBzQixNQUFBMHVCLEdBQ0EsSUFBQUQsRUFB
QSxDQUNBN0IsRUFBQTZCLEVBQUEsR0FBQWg1QixPQUNBLFVBSUEsR0FBQWs1QixHQUFBdkMsRUFB
QXBzQixNQUFBZ3VCLEdBQ0EsSUFBQVcsRUFBQSxDQUNBLEdBQUFDLEdBQUE5NEIsQ0FDQTgyQixH
QUFBK0IsRUFBQSxHQUFBbDVCLFFBQ0FvM0IsRUFBQThCLEVBQUEsR0FBQUMsRUFBQTk0QixFQUNB
LFVBSUEsR0FBQSs0QixHQThFQSxXQUNBLEdBQUE3M0IsR0FBQW8xQixFQUFBcHNCLE1BQUE4dUIs
R0FDQSxJQUFBOTNCLEVBQUEsQ0FDQSxHQUFBZ0osSUFDQWtYLFFBQUFsZ0IsRUFBQSxHQUNBNEws
U0FDQTVMLE1BQUFsQixFQUVBODJCLEdBQUE1MUIsRUFBQSxHQUFBdkIsT0FFQSxLQURBLEdBQUE2
dUIsR0FBQXlLLElBQ0F6SyxFQUFBOEgsRUFBQXBzQixNQUFBZ3ZCLE9BQUFELEVBQUEzQyxFQUFB
cHNCLE1BQUFpdkIsTUFDQXJDLEVBQUFtQyxFQUFBLEdBQUF0NUIsUUFDQXVLLEVBQUE0QyxNQUFB
dkksS0FBQTAwQixFQUVBLElBQUF6SyxFQUlBLE1BSEF0a0IsR0FBQWt2QixXQUFBNUssRUFBQSxH
QUNBc0ksRUFBQXRJLEVBQUEsR0FBQTd1QixRQUNBdUssRUFBQXNrQixJQUFBeHVCLEVBQ0FrSyxL
QS9GQSxJQUFBNnVCLEVBQUEsRUFvR0EsU0FBQTd1QixHQUNBLEdBQUFrWCxHQUFBbFgsRUFBQWtY
LFFBQ0FnWSxFQUFBbHZCLEVBQUFrdkIsVUFFQWhDLEtBQ0EsTUFBQUQsR0FBQWtDLEdBQUFqWSxJ
QUNBMlYsRUFBQUksR0FFQUssRUFBQXBXLElBQUErVixJQUFBL1YsR0FDQTJWLEVBQUEzVixHQVFB
LFFBSkFrWSxHQUFBakMsRUFBQWpXLE1BQUFnWSxFQUVBdjRCLEVBQUFxSixFQUFBNEMsTUFBQW5O
LE9BQ0FtTixFQUFBLEdBQUExTCxPQUFBUCxHQUNBbkIsRUFBQSxFQUFtQkEsRUFBQW1CLEVBQU9u
QixJQUFBLENBQzFCLEdBQUF3ZSxHQUFBaFUsRUFBQTRDLE1BQUFwTixFQUVBNjVCLE1BQUEsSUFB
QXJiLEVBQUEsR0FBQWplLFFBQUEsUUFDQSxLQUFBaWUsRUFBQSxVQUE2QkEsR0FBQSxHQUM3QixL
QUFBQSxFQUFBLFVBQTZCQSxHQUFBLEdBQzdCLEtBQUFBLEVBQUEsVUFBNkJBLEdBQUEsR0FFN0Is
SUFBQTNnQixHQUFBMmdCLEVBQUEsSUFBQUEsRUFBQSxJQUFBQSxFQUFBLE1BQ0FwUixHQUFBcE4s
SUFDQStILEtBQUF5VyxFQUFBLEdBQ0EzZ0IsTUFBQWc1QixHQUNBaDVCLEVBQ0FnSyxFQUFBaXZC
LHVCQUtBOEMsSUFDQXJDLEVBQUExeUIsTUFBa0JrRyxJQUFBMlcsRUFBQThWLGNBQUE5VixFQUFB
eGhCLGNBQUFrTixVQUNsQnFxQixFQUFBL1YsR0FHQTdaLEVBQUFyRyxPQUNBcUcsRUFBQXJHLE1B
QUFrZ0IsRUFBQXRVLEVBQUF3c0IsRUFBQXB2QixFQUFBaEosTUFBQWdKLEVBQUFza0IsTUE1SUF1
SyxHQUNBWixHQUFBaEIsRUFBQWIsSUFDQVEsRUFBQSxFQUVBLFdBSUEsR0FBQWxzQixPQUFBLEdB
QUE0dUIsTUFBQSxHQUFBdFEsTUFBQSxFQUNBLElBQUFtUCxHQUFBLEdBRUEsSUFEQW1CLEVBQUFs
RCxFQUFBM3FCLE1BQUEwc0IsS0FFQUgsR0FBQTcwQixLQUFBbTJCLElBQ0FSLEdBQUEzMUIsS0FB
QW0yQixJQUNBbEIsR0FBQWoxQixLQUFBbTJCLElBQ0FmLEdBQUFwMUIsS0FBQW0yQixLQUdBdFEs
RUFBQXNRLEVBQUF2NUIsUUFBQSxRQUNBLElBQ0FvNEIsR0FBQW5QLEVBQ0FzUSxFQUFBbEQsRUFB
QTNxQixNQUFBMHNCLEVBRUF6dEIsR0FBQTByQixFQUFBaE4sVUFBQSxFQUFBK08sR0FDQXZCLEVB
QUF1QixHQUdBQSxFQUFBLElBQ0F6dEIsRUFBQTByQixFQUNBQSxFQUFBLElBR0EvdUIsRUFBQTZ3
QixPQUFBeHRCLEdBQ0FyRCxFQUFBNndCLE1BQUF4dEIsR0EwQkEsR0FBQTByQixJQUFBNW9CLEVB
QUEsQ0FDQW5HLEVBQUE2d0IsT0FBQTd3QixFQUFBNndCLE1BQUE5QixFQUlBLFFBS0FTLElBNEpB
LFFBQUEwQyxJQUNBQyxFQUNBbnlCLEdBNkJBLFFBQUFveUIsR0FBQUMsR0FFQUEsRUFBQUMsTUFD
QUMsR0FBQSxHQUVBQyxHQUFBSCxFQUFBbnZCLE9BQ0F1dkIsR0FBQSxHQWpDQUMsR0FBQTF5QixF
QUFBaWdCLE1BQUFaLEdBRUFtVCxHQUFBeHlCLEVBQUEyeUIsVUFBQTNDLEdBQ0E0QyxHQUFBNXlC
LEVBQUFrVSxhQUFBOGIsR0FDQTZDLEdBQUE3eUIsRUFBQThTLGlCQUFBa2QsR0FFQThDLEdBQUF2
VCxHQUFBdmYsRUFBQXdmLFFBQUEsaUJBQ0F1VCxHQUFBeFQsR0FBQXZmLEVBQUF3ZixRQUFBLG9C
QUNBd1QsR0FBQXpULEdBQUF2ZixFQUFBd2YsUUFBQSxxQkFFQTBPLEdBQUFsdUIsRUFBQWt1QixV
QUVBLElBRUErRSxHQUNBQyxFQUhBeEQsS0FDQXlELEdBQUEsSUFBQW56QixFQUFBbXpCLG1CQUdB
WixHQUFBLEVBQ0FFLEdBQUEsQ0EyTkEsT0F2TUFuRCxJQUFBNkMsR0FDQWxTLEtBQUF5UyxHQUNB
N0MsV0FBQTd2QixFQUFBNnZCLFdBQ0FFLFdBQUEvdkIsRUFBQSt2QixXQUNBRyxpQkFBQWx3QixF
QUFBa3dCLGlCQUNBakIscUJBQUFqdkIsRUFBQWl2QixxQkFDQWdDLGtCQUFBanhCLEVBQUFvekIs
U0FDQXo1QixNQUFBLFNBQUF1SixFQUFBcUMsRUFBQXdzQixHQUdBLEdBQUFydUIsR0FBQXd2QixL
QUFBeHZCLElBQUFtdkIsR0FBQTN2QixFQUlBZ2dCLEtBQUEsUUFBQXhmLElBQ0E2QixFQUFBOHRC
LEdBQUE5dEIsR0FHQSxJQUFBOHNCLElBQ0FqeUIsS0FBQSxFQUNBOEMsTUFDQTBkLFVBQUFyYixF
QUNBb2IsU0FBQTJTLEdBQUEvdEIsR0FDQTFFLE9BQUFxeUIsRUFDQTl2QixZQUVBTSxLQUNBMnVC
LEVBQUEzdUIsTUFHQTZ2QixHQUFBbEIsS0FBQXYwQixPQUNBdTBCLEVBQUFtQixXQUFBLEVBU0Es
UUFBQXI3QixHQUFBLEVBQXFCQSxFQUFBNDZCLEdBQUEzNkIsT0FBMEJELElBQy9DNDZCLEdBQUE1
NkIsR0FBQWs2QixFQUFBcnlCLEVBWUEsSUFUQXV5QixJQUNBa0IsR0FBQXBCLEdBQ0FBLEVBQUFD
LE1BQ0FDLEdBQUEsSUFHQUMsR0FBQUgsRUFBQW52QixPQUNBdXZCLEdBQUEsR0FFQUYsRUFDQW1C
LEdBQUFyQixPQUNPLENBQ1BzQixHQUFBdEIsR0FDQXVCLEdBQUF2QixHQUNBd0IsR0FBQXhCLEdB
Q0F5QixHQUFBekIsR0FJQUEsRUFBQTBCLE9BQUExQixFQUFBeDVCLE1BQUEwTSxFQUFBbk4sT0FF
QTQ3QixHQUFBM0IsR0FDQTRCLEdBQUE1QixHQUNBNkIsR0FBQTdCLEVBQ0EsUUFBQThCLEdBQUEs
RUFBeUJBLEVBQUFyQixHQUFBMTZCLE9BQXlCKzdCLElBQ2xEckIsR0FBQXFCLEdBQUE5QixFQUFB
cnlCLEVBRUFvMEIsSUFBQS9CLEdBd0NBLEdBbkJBWSxFQUdPdkQsRUFBQXQzQixRQUVQNjZCLEVB
QUFvQixLQUFBaEMsRUFBQWlDLFFBQUFqQyxFQUFBa0MsT0FFQUMsR0FBQXZCLEdBQ0E5VSxJQUFB
a1UsRUFBQWlDLE9BQ0FHLE1BQUFwQyxJQVJBWSxFQUFBWixFQWtCQWEsSUFBQWIsRUFBQW1CLFVB
Q0EsR0FBQW5CLEVBQUFpQyxRQUFBakMsRUFBQWtDLEtBQ0FHLEdBQUFyQyxFQUFBYSxPQUNTLElB
QUFiLEVBQUFzQyxVQUFBLENBQ1R6QixFQUFBYSxPQUFBLENBQ0EsSUFBQTd6QixHQUFBbXlCLEVB
QUF1QyxZQUFBLGFBQXVEMUIsRUFBQW5vQixjQUFBbW9CLEVBQUFub0IsaUJBQTZEN0ssR0FBQW15
QixNQUVwSGEsR0FBQTl2QixTQUFBcEcsS0FBQXExQixHQUNBQSxFQUFBeHhCLE9BQUFxeUIsQ0FH
QW5CLEdBSUFLLEVBQUFDLElBSEFhLEVBQUFiLEVBQ0EzQyxFQUFBMXlCLEtBQUFxMUIsR0FLQSxR
QUFBd0MsR0FBQSxFQUF1QkEsRUFBQTdCLEdBQUE1NkIsT0FBNkJ5OEIsSUFDcEQ3QixHQUFBNkIs
R0FBQXhDLEVBQUFyeUIsSUFJQWluQixJQUFBLFdBRUEsR0FBQW9MLEdBQUEzQyxJQUFBdDNCLE9B
QUEsR0FDQTA4QixFQUFBekMsRUFBQWp2QixTQUFBaXZCLEVBQUFqdkIsU0FBQWhMLE9BQUEsRUFD
QTA4QixJQUFBLElBQUFBLEVBQUExMEIsTUFBQSxNQUFBMDBCLEVBQUF6eEIsT0FBQW92QixHQUNB
SixFQUFBanZCLFNBQUFsRyxNQUdBd3lCLEVBQUF0M0IsUUFBQSxFQUNBODZCLEVBQUF4RCxJQUFB
dDNCLE9BQUEsR0FDQWc2QixFQUFBQyxJQUdBeEIsTUFBQSxTQUFBeHRCLEdBQ0EsR0FBQTZ2QixL
QWdCQWhRLElBQ0EsYUFBQWdRLEVBQUFod0IsS0FDQWd3QixFQUFBdlMsU0FBQWlNLGNBQUF2cEIs
R0FGQSxDQU1BLEdBQUFELEdBQUE4dkIsRUFBQTl2QixRQUtBLElBSkFDLEVBQUFvdkIsR0FBQXB2
QixFQUFBa2IsT0FDQXdXLEdBQUE3QixHQUFBN3ZCLEVBQUEyeEIsR0FBQTN4QixHQUVBOHZCLEdB
QUEvdkIsRUFBQWhMLE9BQUEsT0FDQSxDQUNBLEdBQUFxbUIsSUFDQThULEdBQUEsTUFBQWx2QixJ
QUFBb2IsRUFBQXdQLEdBQUE1cUIsRUFBQTZxQixLQUNBOXFCLEVBQUFwRyxNQUNBb0QsS0FBQSxF
QUNBcWUsYUFDQXBiLFNBRVMsTUFBQUEsR0FBQUQsRUFBQWhMLFFBQUEsTUFBQWdMLElBQUFoTCxP
QUFBLEdBQUFpTCxNQUNURCxFQUFBcEcsTUFDQW9ELEtBQUEsRUFDQWlELFlBS0EwdEIsUUFBQSxT
QUFBMXRCLEdBQ0E2dkIsRUFBQTl2QixTQUFBcEcsTUFDQW9ELEtBQUEsRUFDQWlELE9BQ0FPLFdB
QUEsT0FJQXF2QixFQUdBLFFBQUFRLElBQUF6cEIsR0FDQSxNQUFBeVcsR0FBQXpXLEVBQUEsV0FD
QUEsRUFBQXNvQixLQUFBLEdBSUEsUUFBQW9CLElBQUExcEIsR0FDQSxHQUFBMVEsR0FBQTBRLEVB
QUE0VyxVQUFBeG9CLE1BQ0EsSUFBQWtCLEVBRUEsT0FEQWlNLEdBQUF5RSxFQUFBekUsTUFBQSxH
QUFBMUwsT0FBQVAsR0FDQW5CLEVBQUEsRUFBbUJBLEVBQUFtQixFQUFPbkIsSUFDMUJvTixFQUFB
cE4sSUFDQStILEtBQUE4SixFQUFBNFcsVUFBQXpvQixHQUFBK0gsS0FDQWxLLE1BQUF1QixLQUFB
QyxVQUFBd1MsRUFBQTRXLFVBQUF6b0IsR0FBQW5DLFlBR0dnVSxHQUFBc29CLE1BRUh0b0IsRUFB
QStwQixPQUFBLEdBSUEsUUFBQUQsSUFBQTlwQixHQUNBLEdBQUFtVSxHQUFBbUMsR0FBQXRXLEVB
QUEsTUFDQW1VLEtBSUFuVSxFQUFBblIsSUFBQXNsQixHQUlBLFFBQUE2VixJQUFBaHFCLEdBQ0Es
R0FBQStRLEdBQUF1RixHQUFBdFcsRUFBQSxNQUNBK1EsS0FDQS9RLEVBQUErUSxNQUNBL1EsRUFB
QWlSLFNBQUFnYSxHQUFBanJCLElBSUEsUUFBQTJwQixJQUFBM3BCLEdBQ0EsR0FBQW1VLEVBQ0Es
SUFBQUEsRUFBQXNDLEdBQUF6VyxFQUFBLFVBQ0EsR0FBQWtyQixHQUFBL1csRUFBQXhiLE1BQUF3
eUIsR0FDQSxLQUFBRCxFQUlBLE1BRUFsckIsR0FBQW9yQixJQUFBRixFQUFBLEdBQUEzVyxNQUNB
LElBQUE4VyxHQUFBSCxFQUFBLEdBQUEzVyxPQUNBK1csRUFBQUQsRUFBQTF5QixNQUFBNHlCLEdB
Q0FELElBQ0F0ckIsRUFBQXFyQixNQUFBQyxFQUFBLEdBQUEvVyxPQUNBdlUsRUFBQXdyQixVQUFB
RixFQUFBLEdBQUEvVyxPQUNBK1csRUFBQSxLQUNBdHJCLEVBQUF5ckIsVUFBQUgsRUFBQSxHQUFB
L1csU0FHQXZVLEVBQUFxckIsU0FLQSxRQUFBekIsSUFBQTVwQixHQUNBLEdBQUFtVSxHQUFBc0Ms
R0FBQXpXLEVBQUEsT0FDQSxJQUFBbVUsRUFDQW5VLEVBQUFxcUIsR0FBQWxXLEVBQ0FxVyxHQUFB
eHFCLEdBQ0FtVSxNQUNBc1csTUFBQXpxQixRQUVHLENBQ0gsTUFBQXlXLEdBQUF6VyxFQUFBLFlB
Q0FBLEVBQUF1cUIsTUFBQSxFQUVBLElBQUFELEdBQUE3VCxHQUFBelcsRUFBQSxZQUNBc3FCLEtB
Q0F0cUIsRUFBQXNxQixXQUtBLFFBQUFJLElBQUExcUIsRUFBQW5KLEdBQ0EsR0FBQTJkLEdBQUFr
WCxHQUFBNzBCLEVBQUF1QyxTQUNBb2IsTUFBQTZWLElBQ0FHLEdBQUFoVyxHQUNBTCxJQUFBblUs
RUFBQXNxQixPQUNBRyxNQUFBenFCLElBVUEsUUFBQTByQixJQUFBdHlCLEdBRUEsSUFEQSxHQUFB
akwsR0FBQWlMLEVBQUFoTCxPQUNBRCxLQUFBLENBQ0EsT0FBQWlMLEVBQUFqTCxHQUFBaUksS0FD
QSxNQUFBZ0QsR0FBQWpMLEVBUUFpTCxHQUFBbEcsT0FLQSxRQUFBczNCLElBQUF4cUIsRUFBQTJy
QixHQUNBM3JCLEVBQUE0ckIsZUFDQTVyQixFQUFBNHJCLGlCQUVBNXJCLEVBQUE0ckIsYUFBQTU0
QixLQUFBMjRCLEdBR0EsUUFBQTlCLElBQUE3cEIsR0FFQSxNQURBeVcsR0FBQXpXLEVBQUEsWUFF
QUEsRUFBQTlPLE1BQUEsR0FJQSxRQUFBKzRCLElBQUFqcUIsR0FDQSxZQUFBQSxFQUFBOUcsSUFD
QThHLEVBQUE2ckIsU0FBQXZWLEdBQUF0VyxFQUFBLFlBUUcsQ0FDSCxHQUFBNHFCLEdBQUF0VSxH
QUFBdFcsRUFBQSxPQUNBNHFCLEtBQ0E1cUIsRUFBQTRxQixXQUFBLE9BQUFBLEVBQUEsWUFBQUEs
R0FFQSxhQUFBNXFCLEVBQUE5RyxNQUNBOEcsRUFBQTJxQixVQUFBbFUsR0FBQXpXLEVBQUEsV0FL
QSxRQUFBa3FCLElBQUFscUIsR0FDQSxHQUFBNGhCLElBQ0FBLEVBQUF0TCxHQUFBdFcsRUFBQSxT
QUNBQSxFQUFBckMsVUFBQWlrQixHQUVBLE1BQUFuTCxHQUFBelcsRUFBQSxxQkFDQUEsRUFBQThI
LGdCQUFBLEdBSUEsUUFBQXNpQixJQUFBcHFCLEdBQ0EsR0FDQTdSLEdBQUFtQixFQUFBNEcsRUFB
QTBjLEVBQUE1bUIsRUFBQXltQixFQUFBcVosRUFEQTc5QixFQUFBK1IsRUFBQTRXLFNBRUEsS0FB
QXpvQixFQUFBLEVBQUFtQixFQUFBckIsRUFBQUcsT0FBOEJELEVBQUFtQixFQUFPbkIsSUFHckMs
R0FGQStILEVBQUEwYyxFQUFBM2tCLEVBQUFFLEdBQUErSCxLQUNBbEssRUFBQWlDLEVBQUFFLEdB
QUFuQyxNQUNBKy9CLEdBQUFqNkIsS0FBQW9FLEdBUUEsR0FOQThKLEVBQUFnc0IsYUFBQSxFQUVB
dlosRUFBQXdaLEdBQUEvMUIsR0FDQXVjLElBQ0F2YyxJQUFBNGxCLFFBQUFvUSxHQUFBLEtBRUFD
LEdBQUFyNkIsS0FBQW9FLEdBQ0FBLElBQUE0bEIsUUFBQXFRLEdBQUEsSUFDQW5nQyxFQUFBa29C
LEdBQUFsb0IsR0FDQTgvQixHQUFBLEVBQ0FyWixJQUNBQSxFQUFBemEsT0FDQTh6QixHQUFBLEVB
RUEsZUFEQTUxQixFQUFBQyxHQUFBRCxNQUN1Q0EsRUFBQSxjQUV2Q3VjLEVBQUEyWixRQUNBbDJC
LEVBQUFDLEdBQUFELElBRUF1YyxFQUFBclYsTUFDQTJZLEdBQ0EvVixFQUNBLFVBQUE3SixHQUFB
RCxHQUNBK2dCLEdBQUFqckIsRUFBQSxZQUlBOC9CLElBQ0E5ckIsRUFBQXJDLFdBQUFpckIsR0FB
QTVvQixFQUFBOUcsSUFBQThHLEVBQUEyVyxTQUFBdmdCLEtBQUFGLEdBRUF5ZixHQUFBM1YsRUFB
QTlKLEVBQUFsSyxHQUVBNHBCLEdBQUE1VixFQUFBOUosRUFBQWxLLE9BRU8sSUFBQXFnQyxHQUFB
djZCLEtBQUFvRSxHQUNQQSxJQUFBNGxCLFFBQUF1USxHQUFBLElBQ0F0VyxHQUFBL1YsRUFBQTlK
LEVBQUFsSyxFQUFBeW1CLEdBQUEsRUFBQWlXLFFBQ08sQ0FDUHh5QixJQUFBNGxCLFFBQUFpUSxH
QUFBLEdBRUEsSUFBQU8sR0FBQXAyQixFQUFBeUMsTUFBQTR6QixJQUNBelcsRUFBQXdXLEtBQUEs
RUFDQXhXLEtBQ0E1ZixJQUFBa0UsTUFBQSxJQUFBMGIsRUFBQTFuQixPQUFBLEtBRUF5bkIsR0FB
QTdWLEVBQUE5SixFQUFBMGMsRUFBQTVtQixFQUFBOHBCLEVBQUFyRCxPQUtLLENBYUxtRCxHQUFB
NVYsRUFBQTlKLEVBQUEzSSxLQUFBQyxVQUFBeEIsS0FLQSxRQUFBaS9CLElBQUFqckIsR0FFQSxJ
QURBLEdBQUFuSixHQUFBbUosRUFDQW5KLEdBQUEsQ0FDQSxPQUFBekssS0FBQXlLLEVBQUF1MEIs
SUFDQSxRQUVBdjBCLFlBRUEsU0FHQSxRQUFBbzFCLElBQUEvMUIsR0FDQSxHQUFBeUMsR0FBQXpD
LEVBQUF5QyxNQUFBdXpCLEdBQ0EsSUFBQXZ6QixFQUFBLENBQ0EsR0FBQS9JLEtBRUEsT0FEQStJ
LEdBQUFvTixRQUFBLFNBQUEwUCxHQUFnQzdsQixFQUFBNmxCLEVBQUFyYixNQUFBLFNBQ2hDeEss
R0FJQSxRQUFBMDVCLElBQUEvdEIsR0FFQSxPQURBeE4sTUFDQUksRUFBQSxFQUFBbUIsRUFBQWlN
LEVBQUFuTixPQUFtQ0QsRUFBQW1CLEVBQU9uQixJQU8xQ0osRUFBQXdOLEVBQUFwTixHQUFBK0gs
TUFBQXFGLEVBQUFwTixHQUFBbkMsS0FFQSxPQUFBK0IsR0FJQSxRQUFBZzlCLElBQUEvcUIsR0FD
QSxpQkFBQUEsRUFBQTlHLEtBQUEsVUFBQThHLEVBQUE5RyxJQUdBLFFBQUFxd0IsSUFBQXZwQixH
QUNBLE1BQ0EsVUFBQUEsRUFBQTlHLEtBQ0EsV0FBQThHLEVBQUE5RyxPQUNBOEcsRUFBQTJXLFNB
QUF2Z0IsTUFDQSxvQkFBQTRKLEVBQUEyVyxTQUFBdmdCLE1BU0EsUUFBQWl6QixJQUFBOXRCLEdB
RUEsT0FEQXJMLE1BQ0EvQixFQUFBLEVBQWlCQSxFQUFBb04sRUFBQW5OLE9BQWtCRCxJQUFBLENB
Q25DLEdBQUF1NUIsR0FBQW5zQixFQUFBcE4sRUFDQXErQixJQUFBMTZCLEtBQUE0MUIsRUFBQXh4
QixRQUNBd3hCLEVBQUF4eEIsS0FBQXd4QixFQUFBeHhCLEtBQUE0bEIsUUFBQTJRLEdBQUEsSUFD
QXY4QixFQUFBOEMsS0FBQTAwQixJQUdBLE1BQUF4M0IsR0FxQ0EsUUFBQXc4QixJQUFBekQsRUFB
QWp6QixHQUNBaXpCLElBQ0EwRCxHQUFBQyxHQUFBNTJCLEVBQUE2MkIsWUFBQSxJQUNBQyxHQUFB
OTJCLEVBQUErUyxlQUFBaWQsR0FFQStHLEdBQUE5RCxHQUVBK0QsR0FBQS9ELEdBQUEsSUFHQSxR
QUFBZ0UsSUFBQWw4QixHQUNBLE1BQUFuRCxHQUNBLDJEQUNBbUQsRUFBQSxJQUFBQSxFQUFBLEtB
SUEsUUFBQWc4QixJQUFBOXdCLEdBRUEsR0FEQUEsRUFBQWl4QixPQUFBdnpCLEdBQUFzQyxHQUNB
LElBQUFBLEVBQUE3RixLQUFBLENBSUEsSUFDQTAyQixHQUFBN3dCLEVBQUEvQyxNQUNBLFNBQUEr
QyxFQUFBL0MsS0FDQSxNQUFBK0MsRUFBQTBhLFNBQUEsbUJBRUEsTUFFQSxRQUFBeG9CLEdBQUEs
RUFBQW1CLEVBQUEyTSxFQUFBN0MsU0FBQWhMLE9BQTZDRCxFQUFBbUIsRUFBT25CLElBQUEsQ0FD
cEQsR0FBQTJJLEdBQUFtRixFQUFBN0MsU0FBQWpMLEVBQ0E0K0IsSUFBQWoyQixHQUNBQSxFQUFB
bzJCLFNBQ0FqeEIsRUFBQWl4QixRQUFBLEdBR0EsR0FBQWp4QixFQUFBMnZCLGFBQ0EsT0FBQXpC
LEdBQUEsRUFBQWdELEVBQUFseEIsRUFBQTJ2QixhQUFBeDlCLE9BQXVEKzdCLEVBQUFnRCxFQUFX
aEQsSUFBQSxDQUNsRSxHQUFBTSxHQUFBeHVCLEVBQUEydkIsYUFBQXpCLEdBQUFNLEtBQ0FzQyxJ
QUFBdEMsR0FDQUEsRUFBQXlDLFNBQ0FqeEIsRUFBQWl4QixRQUFBLEtBT0EsUUFBQUYsSUFBQS93
QixFQUFBcU8sR0FDQSxPQUFBck8sRUFBQTdGLEtBQUEsQ0FPQSxJQU5BNkYsRUFBQWl4QixRQUFB
anhCLEVBQUEvSyxRQUNBK0ssRUFBQW14QixZQUFBOWlCLEdBS0FyTyxFQUFBaXhCLFFBQUFqeEIs
RUFBQTdDLFNBQUFoTCxTQUNBLElBQUE2TixFQUFBN0MsU0FBQWhMLFFBQ0EsSUFBQTZOLEVBQUE3
QyxTQUFBLEdBQUFoRCxNQUdBLFlBREE2RixFQUFBb3hCLFlBQUEsRUFLQSxJQUZBcHhCLEVBQUFv
eEIsWUFBQSxFQUVBcHhCLEVBQUE3QyxTQUNBLE9BQUFqTCxHQUFBLEVBQUFtQixFQUFBMk0sRUFB
QTdDLFNBQUFoTCxPQUErQ0QsRUFBQW1CLEVBQU9uQixJQUN0RDYrQixHQUFBL3dCLEVBQUE3QyxT
QUFBakwsR0FBQW1jLEtBQUFyTyxFQUFBbXZCLElBR0EsSUFBQW52QixFQUFBMnZCLGFBQ0EsT0FB
QXpCLEdBQUEsRUFBQWdELEVBQUFseEIsRUFBQTJ2QixhQUFBeDlCLE9BQXVEKzdCLEVBQUFnRCxF
QUFXaEQsSUFDbEU2QyxHQUFBL3dCLEVBQUEydkIsYUFBQXpCLEdBQUFNLE1BQUFuZ0IsSUFNQSxR
QUFBM1EsSUFBQXNDLEdBQ0EsV0FBQUEsRUFBQTdGLE9BR0EsSUFBQTZGLEVBQUE3RixTQUdBNkYs
RUFBQXFzQixNQUNBcnNCLEVBQUErdkIsYUFDQS92QixFQUFBb3VCLElBQUFwdUIsRUFBQW12QixL
QUNBa0MsR0FBQXJ4QixFQUFBL0MsT0FDQTR6QixHQUFBN3dCLEVBQUEvQyxNQUNBcTBCLEdBQUF0
eEIsS0FDQW5RLE9BQUFpRixLQUFBa0wsR0FBQXJMLE1BQUErN0IsT0FJQSxRQUFBWSxJQUFBdHhC
LEdBQ0EsS0FBQUEsRUFBQXBGLFFBQUEsQ0FFQSxHQURBb0YsSUFBQXBGLE9BQ0EsYUFBQW9GLEVB
QUEvQyxJQUNBLFFBRUEsSUFBQStDLEVBQUFtdkIsSUFDQSxTQUdBLFNBdUNBLFFBQUFvQyxJQUNB
dFgsRUFDQXpqQixFQUNBd2pCLEdBRUEsR0FBQS9sQixHQUFBdUMsRUFBQSxhQUFrQyxNQUNsQyxR
QUFBeUQsS0FBQWdnQixHQUFBLENBWUFobUIsR0FBQSxJQUFBZ0csRUFBQSxLQUFBdTNCLEdBQUF2
M0IsRUFYQWdnQixFQUFBaGdCLElBV0EsSUFFQSxNQUFBaEcsR0FBQWtLLE1BQUEsVUFHQSxRQUFB
cXpCLElBQ0F2M0IsRUFDQW1QLEdBRUEsSUFBQUEsRUFDQSxvQkFHQSxJQUFBeFYsTUFBQWEsUUFB
QTJVLEdBQ0EsVUFBQUEsRUFBQXRYLElBQUEsU0FBQXNYLEdBQW1ELE1BQUFvb0IsSUFBQXYzQixF
QUFBbVAsS0FBb0N3TixLQUFBLFFBR3ZGLElBQUE2YSxHQUFBQyxHQUFBNzdCLEtBQUF1VCxFQUFB
closT0FDQTRoQyxFQUFBQyxHQUFBLzdCLEtBQUF1VCxFQUFBclosTUFFQSxJQUFBcVosRUFBQW9O
LFVBSUcsQ0FDSCxHQUFBb0csR0FBQSxHQUNBaVYsRUFBQSxHQUNBLzhCLElBQ0EsUUFBQWxDLEtB
QUF3VyxHQUFBb04sVUFDQXNiLEdBQUFsL0IsSUFDQWkvQixHQUFBQyxHQUFBbC9CLEdBRUFnYixH
QUFBaGIsSUFDQWtDLEVBQUFpQyxLQUFBbkUsSUFHQWtDLEVBQUFpQyxLQUFBbkUsRUFHQWtDLEdB
QUEzQyxTQUNBeXFCLEdBQUFtVixHQUFBajlCLElBR0ErOEIsSUFDQWpWLEdBQUFpVixFQU9BLDJC
QUE4QmpWLEdBTDlCNlUsRUFDQXJvQixFQUFBclosTUFBQSxXQUNBNGhDLEVBQ0EsSUFBQXZvQixF
QUFBLGtCQUNBQSxFQUFBclosT0FDOEIsSUE5QjlCLE1BQUEwaEMsSUFBQUUsRUFDQXZvQixFQUFB
closTUFDQSxvQkFBMkJxWixFQUFBLFVBZ0MzQixRQUFBMm9CLElBQUFqOUIsR0FDQSxtQ0FBQUEs
RUFBQWhELElBQUFrZ0MsSUFBQXBiLEtBQUEsc0JBR0EsUUFBQW9iLElBQUFwL0IsR0FDQSxHQUFB
cS9CLEdBQUFDLFNBQUF0L0IsRUFBQSxHQUNBLElBQUFxL0IsRUFDQSwwQkFBQUEsQ0FFQSxJQUFB
N0MsR0FBQXhoQixHQUFBaGIsRUFDQSw0QkFBQXRCLEtBQUFDLFVBQUFxQixJQUFBdzhCLEVBQUEs
SUFBQTk5QixLQUFBQyxVQUFBNjlCLEdBQUEsUUFLQSxRQUFBL3dCLElBQUEwRixFQUFBMlIsR0FJ
QTNSLEVBQUFvdUIsY0FBQSxTQUFBdlYsR0FBc0MsWUFBQUEsRUFBQSxJQUFBbEgsRUFBQSxXQUt0
QyxRQUFBMGMsSUFBQXJ1QixFQUFBMlIsR0FDQTNSLEVBQUFzdUIsU0FBQSxTQUFBelYsR0FDQSxZ
QUFBQSxFQUFBLEtBQUE3WSxFQUFBLFNBQUEyUixFQUFBLFdBQUFBLEVBQUFjLFdBQUFkLEVBQUFj
LFVBQUF6YSxLQUFBLGlCQUFBMlosRUFBQWMsV0FBQWQsRUFBQWMsVUFBQXJWLEtBQUEsaUJBNEJB
LFFBQUFteEIsSUFDQUMsRUFDQXg0QixHQUVBLEdBQUF5NEIsR0FBQSxHQUFBQyxJQUFBMTRCLEVB
RUEsUUFDQW1LLE9BQUEsc0JBRkFxdUIsRUFBQUcsR0FBQUgsRUFBQUMsR0FBQSxhQUV5QixJQUN6
QjFtQixnQkFBQTBtQixFQUFBMW1CLGlCQUlBLFFBQUE0bUIsSUFBQTN1QixFQUFBeXVCLEdBQ0Es
R0FBQXp1QixFQUFBcXRCLGFBQUFydEIsRUFBQTR1QixnQkFDQSxNQUFBQyxJQUFBN3VCLEVBQUF5
dUIsRUFDRyxJQUFBenVCLEVBQUE5TyxPQUFBOE8sRUFBQTh1QixjQUNILE1BQUFDLElBQUEvdUIs
RUFBQXl1QixFQUNHLElBQUF6dUIsRUFBQW9yQixNQUFBcHJCLEVBQUFndkIsYUFDSCxNQUFBQyxJ
QUFBanZCLEVBQUF5dUIsRUFDRyxJQUFBenVCLEVBQUFxcUIsS0FBQXJxQixFQUFBa3ZCLFlBQ0gs
TUFBQUMsSUFBQW52QixFQUFBeXVCLEVBQ0csaUJBQUF6dUIsRUFBQTlHLEtBQUE4RyxFQUFBNHFC
LFdBRUEsYUFBQTVxQixFQUFBOUcsSUFDSCxNQUFBazJCLElBQUFwdkIsRUFBQXl1QixFQUdBLElB
QUE1VixFQUNBLElBQUE3WSxFQUFBckMsVUFDQWtiLEVBQUF3VyxHQUFBcnZCLEVBQUFyQyxVQUFB
cUMsRUFBQXl1QixPQUNLLENBQ0wsR0FBQXQxQixHQUFBNkcsRUFBQStwQixVQUFBMzlCLEdBQUFr
akMsR0FBQXR2QixFQUFBeXVCLEdBRUFyMUIsRUFBQTRHLEVBQUE4SCxlQUFBLEtBQUF5bkIsR0FB
QXZ2QixFQUFBeXVCLEdBQUEsRUFDQTVWLEdBQUEsT0FBQTdZLEVBQUEsU0FBQTdHLEVBQUEsSUFB
QUEsRUFBQSxLQUFBQyxFQUFBLElBQUFBLEVBQUEsUUFHQSxPQUFBakwsR0FBQSxFQUFtQkEsRUFB
QXNnQyxFQUFBM0YsV0FBQTE2QixPQUE2QkQsSUFDaEQwcUIsRUFBQTRWLEVBQUEzRixXQUFBMzZC
LEdBQUE2UixFQUFBNlksRUFFQSxPQUFBQSxHQWxCQSxNQUFBMFcsSUFBQXZ2QixFQUFBeXVCLElB
QUEsU0F1QkEsUUFBQUksSUFBQTd1QixFQUFBeXVCLEdBR0EsTUFGQXp1QixHQUFBNHVCLGlCQUFB
LEVBQ0FILEVBQUExbUIsZ0JBQUEvVSxLQUFBLHFCQUEwQzI3QixHQUFBM3VCLEVBQUF5dUIsR0FB
QSxLQUMxQyxPQUFBQSxFQUFBMW1CLGdCQUFBM1osT0FBQSxJQUFBNFIsRUFBQW90QixZQUFBLGdC
QUlBLFFBQUEyQixJQUFBL3VCLEVBQUF5dUIsR0FFQSxHQURBenVCLEVBQUE4dUIsZUFBQSxFQUNB
OXVCLEVBQUFxcUIsS0FBQXJxQixFQUFBa3ZCLFlBQ0EsTUFBQUMsSUFBQW52QixFQUFBeXVCLEVB
Q0csSUFBQXp1QixFQUFBb3RCLFlBQUEsQ0FHSCxJQUZBLEdBQUF2K0IsR0FBQSxHQUNBZ0ksRUFB
QW1KLEVBQUFuSixPQUNBQSxHQUFBLENBQ0EsR0FBQUEsRUFBQXUwQixJQUFBLENBQ0F2OEIsRUFB
QWdJLEVBQUFoSSxHQUNBLE9BRUFnSSxXQUVBLE1BQUFoSSxHQU1BLE1BQUE4L0IsR0FBQTN1QixF
QUFBeXVCLEdBQUEsSUFBQUEsRUFBQWUsVUFBQTNnQyxFQUFBLElBQUFBLEVBQUEsUUFGQTgvQixH
QUFBM3VCLEVBQUF5dUIsR0FJQSxNQUFBSSxJQUFBN3VCLEVBQUF5dUIsR0FJQSxRQUFBVSxJQUNB
bnZCLEVBQ0F5dUIsRUFDQWdCLEVBQ0FDLEdBR0EsTUFEQTF2QixHQUFBa3ZCLGFBQUEsRUFDQVMs
R0FBQTN2QixFQUFBNHJCLGFBQUF4eEIsUUFBQXEwQixFQUFBZ0IsRUFBQUMsR0FHQSxRQUFBQyxJ
QUNBQyxFQUNBbkIsRUFDQWdCLEVBQ0FDLEdBY0EsUUFBQUcsR0FBQTd2QixHQUNBLE1BQUF5dkIs
R0FDQUEsRUFBQXp2QixFQUFBeXVCLEdBQ0F6dUIsRUFBQTlPLEtBQ0E2OUIsR0FBQS91QixFQUFB
eXVCLEdBQ0FFLEdBQUEzdUIsRUFBQXl1QixHQWpCQSxJQUFBbUIsRUFBQXhoQyxPQUNBLE1BQUFz
aEMsSUFBQSxNQUdBLElBQUEvRCxHQUFBaUUsRUFBQUUsT0FDQSxPQUFBbkUsR0FBQXhYLElBQ0Es
SUFBQXdYLEVBQUEsU0FBQWtFLEVBQUFsRSxFQUFBbEIsT0FBQSxJQUFBa0YsR0FBQUMsRUFBQW5C
LEVBQUFnQixFQUFBQyxHQUVBLEdBQUFHLEVBQUFsRSxFQUFBbEIsT0FhQSxRQUFBd0UsSUFDQWp2
QixFQUNBeXVCLEVBQ0FnQixFQUNBTSxHQUVBLEdBQUE1YixHQUFBblUsRUFBQW9yQixJQUNBQyxF
QUFBcnJCLEVBQUFxckIsTUFDQUcsRUFBQXhyQixFQUFBd3JCLFVBQUEsSUFBQXhyQixFQUFBLGFB
Q0F5ckIsRUFBQXpyQixFQUFBeXJCLFVBQUEsSUFBQXpyQixFQUFBLFlBaUJBLE9BREFBLEdBQUFn
dkIsY0FBQSxHQUNBZSxHQUFBLFdBQUE1YixFQUFBLGNBQ0FrWCxFQUFBRyxFQUFBQyxFQUFBLGFB
Q0FnRSxHQUFBZCxJQUFBM3VCLEVBQUF5dUIsR0FDQSxLQUdBLFFBQUFhLElBQUF0dkIsRUFBQXl1
QixHQUNBLEdBQUF0MUIsR0FBQSxJQUlBMUMsRUFBQXU1QixHQUFBaHdCLEVBQUF5dUIsRUFDQWg0
QixLQUFhMEMsR0FBQTFDLEVBQUEsS0FHYnVKLEVBQUFuUixNQUNBc0ssR0FBQSxPQUFBNkcsRUFB
QSxTQUdBQSxFQUFBK1EsTUFDQTVYLEdBQUEsT0FBQTZHLEVBQUEsU0FFQUEsRUFBQWlSLFdBQ0E5
WCxHQUFBLGtCQUdBNkcsRUFBQXNvQixNQUNBbnZCLEdBQUEsYUFHQTZHLEVBQUFyQyxZQUNBeEUs
R0FBQSxRQUFBNkcsRUFBQSxTQUdBLFFBQUE3UixHQUFBLEVBQWlCQSxFQUFBc2dDLEVBQUF3QixX
QUFBN2hDLE9BQTZCRCxJQUM5Q2dMLEdBQUFzMUIsRUFBQXdCLFdBQUE5aEMsR0FBQTZSLEVBOEJB
LElBM0JBQSxFQUFBekUsUUFDQXBDLEdBQUEsVUFBb0IrMkIsR0FBQWx3QixFQUFBekUsT0FBQSxN
QUdwQnlFLEVBQUEvSixRQUNBa0QsR0FBQSxhQUF1QisyQixHQUFBbHdCLEVBQUEvSixPQUFBLE1B
R3ZCK0osRUFBQWtXLFNBQ0EvYyxHQUFBcTBCLEdBQUF4dEIsRUFBQWtXLFFBQUEsRUFBQXVZLEVB
QUF4WSxNQUFBLEtBRUFqVyxFQUFBb1csZUFDQWpkLEdBQUFxMEIsR0FBQXh0QixFQUFBb1csY0FB
QSxFQUFBcVksRUFBQXhZLE1BQUEsS0FHQWpXLEVBQUE0cUIsYUFDQXp4QixHQUFBLFFBQUE2RyxF
QUFBLGdCQUdBQSxFQUFBZSxjQUNBNUgsR0FBQWczQixHQUFBbndCLEVBQUFlLFlBQUEwdEIsR0FB
QSxLQUdBenVCLEVBQUFpSCxRQUNBOU4sR0FBQSxnQkFBb0I2RyxFQUFBaUgsTUFBQSxtQkFBQWpI
LEVBQUFpSCxNQUFBLHdCQUFBakgsRUFBQWlILE1BQUEsaUJBR3BCakgsRUFBQThILGVBQUEsQ0FD
QSxHQUFBQSxHQUFBc29CLEdBQUFwd0IsRUFBQXl1QixFQUNBM21CLEtBQ0EzTyxHQUFBMk8sRUFB
QSxLQVlBLE1BVEEzTyxLQUFBMmlCLFFBQUEsYUFFQTliLEVBQUFzdUIsV0FDQW4xQixFQUFBNkcs
RUFBQXN1QixTQUFBbjFCLElBR0E2RyxFQUFBb3VCLGdCQUNBajFCLEVBQUE2RyxFQUFBb3VCLGNB
QUFqMUIsSUFFQUEsRUFHQSxRQUFBNjJCLElBQUFod0IsRUFBQXl1QixHQUNBLEdBQUFoNEIsR0FB
QXVKLEVBQUF0SixVQUNBLElBQUFELEVBQUEsQ0FDQSxHQUVBdEksR0FBQW1CLEVBQUFxaUIsRUFB
QTBlLEVBRkFuZ0MsRUFBQSxlQUNBb2dDLEdBQUEsQ0FFQSxLQUFBbmlDLEVBQUEsRUFBQW1CLEVB
QUFtSCxFQUFBckksT0FBOEJELEVBQUFtQixFQUFPbkIsSUFBQSxDQUNyQ3dqQixFQUFBbGIsRUFB
QXRJLEdBQ0FraUMsR0FBQSxDQUNBLElBQUFFLEdBQUE5QixFQUFBLzNCLFdBQUFpYixFQUFBemIs
S0FDQXE2QixLQUdBRixJQUFBRSxFQUFBdndCLEVBQUEyUixFQUFBOGMsRUFBQXhZLE9BRUFvYSxJ
QUNBQyxHQUFBLEVBQ0FwZ0MsR0FBQSxVQUFleWhCLEVBQUEsbUJBQUFBLEVBQUEsYUFBQUEsRUFB
QTNsQixNQUFBLFdBQUEybEIsRUFBQSxzQkFBQXBrQixLQUFBQyxVQUFBbWtCLEVBQUEzbEIsT0FB
QSxLQUFBMmxCLEVBQUFtRSxJQUFBLFNBQUFuRSxFQUFBLGFBQUFBLEVBQUFjLFVBQUEsY0FBQWxs
QixLQUFBQyxVQUFBbWtCLEVBQUFjLFdBQUEsVUFHZixNQUFBNmQsR0FDQXBnQyxFQUFBa0ssTUFB
QSxjQURBLElBS0EsUUFBQWcyQixJQUFBcHdCLEVBQUF5dUIsR0FDQSxHQUFBRCxHQUFBeHVCLEVB
QUE1RyxTQUFBLEVBTUEsUUFBQW8xQixFQUFBcDRCLEtBQUEsQ0FDQSxHQUFBbzZCLEdBQUFqQyxH
QUFBQyxFQUFBQyxFQUFBejRCLFFBQ0EsNENBQStDdzZCLEVBQUEsNkJBQWlDQSxFQUFBem9CLGdC
QUFBaGEsSUFBQSxTQUFBOHFCLEdBQTRFLG9CQUFxQkEsRUFBQSxNQUFrQmhHLEtBQUEsV0FJbk0s
UUFBQXNkLElBQ0F0eEIsRUFDQTR2QixHQUVBLHlCQUFBM2lDLE9BQUFpRixLQUFBOE4sR0FBQTlR
LElBQUEsU0FBQWMsR0FDQSxNQUFBNGhDLElBQUE1aEMsRUFBQWdRLEVBQUFoUSxHQUFBNC9CLEtB
Q0s1YixLQUFBLFVBR0wsUUFBQTRkLElBQ0E1aEMsRUFDQW1SLEVBQ0F5dUIsR0FFQSxNQUFBenVC
LEdBQUFvckIsTUFBQXByQixFQUFBZ3ZCLGFBQ0EwQixHQUFBN2hDLEVBQUFtUixFQUFBeXVCLEdB
RUEsUUFBVzUvQixFQUFBLGdCQUFBcEIsT0FBQXVTLEVBQUEyVyxTQUFBZ2EsT0FBQSxhQUNYLGFB
QUEzd0IsRUFBQTlHLElBQ0FxMkIsR0FBQXZ2QixFQUFBeXVCLElBQUEsU0FDQUUsR0FBQTN1QixF
QUFBeXVCLElBQUEsS0FHQSxRQUFBaUMsSUFDQTdoQyxFQUNBbVIsRUFDQXl1QixHQUVBLEdBQUF0
YSxHQUFBblUsRUFBQW9yQixJQUNBQyxFQUFBcnJCLEVBQUFxckIsTUFDQUcsRUFBQXhyQixFQUFB
d3JCLFVBQUEsSUFBQXhyQixFQUFBLGFBQ0F5ckIsRUFBQXpyQixFQUFBeXJCLFVBQUEsSUFBQXpy
QixFQUFBLFlBRUEsT0FEQUEsR0FBQWd2QixjQUFBLEVBQ0EsT0FBQTdhLEVBQUEsY0FDQWtYLEVB
QUFHLEVBQUFDLEVBQUEsWUFDQWdGLEdBQUE1aEMsRUFBQW1SLEVBQUF5dUIsR0FDQSxLQUdBLFFB
QUFjLElBQ0F2dkIsRUFDQXl1QixFQUNBbUMsRUFDQUMsRUFDQUMsR0FFQSxHQUFBMTNCLEdBQUE0
RyxFQUFBNUcsUUFDQSxJQUFBQSxFQUFBaEwsT0FBQSxDQUNBLEdBQUEyaUMsR0FBQTMzQixFQUFB
LEVBRUEsUUFBQUEsRUFBQWhMLFFBQ0EyaUMsRUFBQTNGLEtBQ0EsYUFBQTJGLEVBQUE3M0IsS0FD
QSxTQUFBNjNCLEVBQUE3M0IsSUFFQSxPQUFBMjNCLEdBQUFsQyxJQUFBb0MsRUFBQXRDLEVBRUEs
SUFBQWptQixHQUFBb29CLEVBQ0FJLEdBQUE1M0IsRUFBQXExQixFQUFBd0MsZ0JBQ0EsRUFDQVYs
RUFBQU8sR0FBQUksRUFDQSxXQUFBOTNCLEVBQUFyTCxJQUFBLFNBQUFzQyxHQUE4QyxNQUFBa2dD
LEdBQUFsZ0MsRUFBQW8rQixLQUF3QjViLEtBQUEsVUFBQXJLLEVBQUEsSUFBQUEsRUFBQSxLQVF0
RSxRQUFBd29CLElBQ0E1M0IsRUFDQTYzQixHQUdBLE9BREEvZ0MsR0FBQSxFQUNBL0IsRUFBQSxF
QUFpQkEsRUFBQWlMLEVBQUFoTCxPQUFxQkQsSUFBQSxDQUN0QyxHQUFBNlIsR0FBQTVHLEVBQUFq
TCxFQUNBLFFBQUE2UixFQUFBNUosS0FBQSxDQUdBLEdBQUErNkIsR0FBQW54QixJQUNBQSxFQUFB
NHJCLGNBQUE1ckIsRUFBQTRyQixhQUFBd0YsS0FBQSxTQUFBL2dDLEdBQStELE1BQUE4Z0MsSUFB
QTlnQyxFQUFBbzZCLFNBQXNDLENBQ3JHdjZCLEVBQUEsQ0FDQSxRQUVBK2dDLEVBQUFqeEIsSUFD
QUEsRUFBQTRyQixjQUFBNXJCLEVBQUE0ckIsYUFBQXdGLEtBQUEsU0FBQS9nQyxHQUErRCxNQUFB
NGdDLEdBQUE1Z0MsRUFBQW82QixZQUMvRHY2QixFQUFBLElBR0EsTUFBQUEsR0FHQSxRQUFBaWhD
LElBQUFueEIsR0FDQSxXQUFBNVQsS0FBQTRULEVBQUFvckIsS0FBQSxhQUFBcHJCLEVBQUE5RyxL
QUFBLFNBQUE4RyxFQUFBOUcsSUFHQSxRQUFBZzRCLElBQUFqMUIsRUFBQXd5QixHQUNBLFdBQUF4
eUIsRUFBQTdGLEtBQ0F1NEIsR0FBQTF5QixFQUFBd3lCLEdBQ0csSUFBQXh5QixFQUFBN0YsTUFB
QTZGLEVBQUFyQyxVQUNIeTNCLEdBQUFwMUIsR0FFQXExQixHQUFBcjFCLEdBSUEsUUFBQXExQixJ
QUFBajRCLEdBQ0EsaUJBQUFBLEVBQUFqRCxLQUNBaUQsRUFBQW9iLFdBQ0E4YyxHQUFBaGtDLEtB
QUFDLFVBQUE2TCxVQUFBLElBR0EsUUFBQWc0QixJQUFBdEssR0FDQSxZQUFBeDVCLEtBQUFDLFVB
QUF1NUIsRUFBQTF0QixNQUFBLElBR0EsUUFBQSsxQixJQUFBcHZCLEVBQUF5dUIsR0FDQSxHQUFB
NUMsR0FBQTdyQixFQUFBNnJCLFVBQUEsWUFDQXp5QixFQUFBbTJCLEdBQUF2dkIsRUFBQXl1QixH
QUNBditCLEVBQUEsTUFBQTI3QixHQUFBenlCLEVBQUEsSUFBQUEsRUFBQSxJQUNBbUMsRUFBQXlF
LEVBQUF6RSxPQUFBLElBQTZCeUUsRUFBQXpFLE1BQUF4TixJQUFBLFNBQUFzQixHQUFnQyxNQUFB
OEcsSUFBQTlHLEVBQUE2RyxNQUFBLElBQUE3RyxFQUFBLFFBQWlEd2pCLEtBQUEsU0FDOUcyZSxF
QUFBeHhCLEVBQUEyVyxTQUFBLFNBVUEsUUFUQXBiLElBQUFpMkIsR0FBQXA0QixJQUNBbEosR0FB
QSxTQUVBcUwsSUFDQXJMLEdBQUEsSUFBQXFMLEdBRUFpMkIsSUFDQXRoQyxJQUFBcUwsRUFBQSxn
QkFBQWkyQixHQUVBdGhDLEVBQUEsSUFJQSxRQUFBbS9CLElBQ0FvQyxFQUNBenhCLEVBQ0F5dUIs
R0FFQSxHQUFBcjFCLEdBQUE0RyxFQUFBOEgsZUFBQSxLQUFBeW5CLEdBQUF2dkIsRUFBQXl1QixH
QUFBLEVBQ0EsYUFBQWdELEVBQUEsSUFBQW5DLEdBQUF0dkIsRUFBQXl1QixJQUFBcjFCLEVBQUEs
SUFBQUEsRUFBQSxRQUdBLFFBQUE4MkIsSUFBQWo2QixHQUVBLE9BREEvRixHQUFBLEdBQ0EvQixF
QUFBLEVBQWlCQSxFQUFBOEgsRUFBQTdILE9BQWtCRCxJQUFBLENBQ25DLEdBQUE2SixHQUFBL0Is
RUFBQTlILEVBQ0ErQixJQUFBLElBQUE4SCxFQUFBLFVBQUF1NUIsR0FBQXY1QixFQUFBaE0sT0FB
QSxJQUVBLE1BQUFrRSxHQUFBa0ssTUFBQSxNQUlBLFFBQUFtM0IsSUFBQWw0QixHQUNBLE1BQUFB
LEdBQ0F5aUIsUUFBQSxxQkFDQUEsUUFBQSxxQkFzR0EsUUFBQTRWLElBQUE3WSxFQUFBOFksR0FD
QSxJQUNBLFVBQUFDLFVBQUEvWSxHQUNHLE1BQUE1bUIsR0FFSCxNQURBMC9CLEdBQUEzK0IsTUFB
aUJmLE1BQUE0bUIsU0FDakIxb0IsR0FJQSxRQUFBMGhDLElBQUFDLEdBQ0EsR0FBQTdpQyxHQUFB
bkQsT0FBQWtDLE9BQUEsS0FFQSxpQkFDQW02QixFQUNBbnlCLEVBQ0E5RCxHQUVBOEQsT0FxQkEs
SUFBQW5ILEdBQUFtSCxFQUFBa3VCLFdBQ0F6MkIsT0FBQXVJLEVBQUFrdUIsWUFBQWlFLEVBQ0FB
LENBQ0EsSUFBQWw1QixFQUFBSixHQUNBLE1BQUFJLEdBQUFKLEVBSUEsSUFBQWtqQyxHQUFBRCxF
QUFBM0osRUFBQW55QixHQWlCQTlGLEtBQ0E4aEMsSUF5QkEsT0F4QkE5aEMsR0FBQWlRLE9BQUF1
eEIsR0FBQUssRUFBQTV4QixPQUFBNnhCLEdBQ0E5aEMsRUFBQTZYLGdCQUFBZ3FCLEVBQUFocUIs
Z0JBQUFoYSxJQUFBLFNBQUE4cUIsR0FDQSxNQUFBNlksSUFBQTdZLEVBQUFtWixLQXNCQS9pQyxF
QUFBSixHQUFBcUIsR0ErSkEsUUFBQStoQyxJQUFBanlCLEdBQ0EsR0FBQUEsRUFBQWt5QixVQUNB
LE1BQUFseUIsR0FBQWt5QixTQUVBLElBQUFDLEdBQUE5aUIsU0FBQTNJLGNBQUEsTUFFQSxPQURB
eXJCLEdBQUExaEIsWUFBQXpRLEVBQUFveUIsV0FBQSxJQUNBRCxFQUFBRSxVQWp6VEEsR0FBQXps
QyxJQUFBZCxPQUFBK1AsVUFBQXZPLFNBK0RBZ2dDLEdBQUExL0IsRUFBQSxxQkFLQXFjLEdBQUFy
YyxFQUFBLG1CQWlCQWtCLEdBQUFoRCxPQUFBK1AsVUFBQS9NLGVBbUJBd2pDLEdBQUEsU0FDQW44
QixHQUFBcEgsRUFBQSxTQUFBbEIsR0FDQSxNQUFBQSxHQUFBaXVCLFFBQUF3VyxHQUFBLFNBQUE1
YyxFQUFBcmxCLEdBQWtELE1BQUFBLEtBQUFraUMsY0FBQSxPQU1sRDM2QixHQUFBN0ksRUFBQSxT
QUFBbEIsR0FDQSxNQUFBQSxHQUFBcW5CLE9BQUEsR0FBQXFkLGNBQUExa0MsRUFBQXVNLE1BQUEs
S0FNQW80QixHQUFBLGlCQUNBcDZCLEdBQUFySixFQUFBLFNBQUFsQixHQUNBLE1BQUFBLEdBQ0Fp
dUIsUUFBQTBXLEdBQUEsU0FDQTFXLFFBQUEwVyxHQUFBLFNBQ0Fua0MsZ0JBa0VBMjNCLEdBQUEs
U0FBQTMyQixFQUFBZSxFQUFBQyxHQUE2QixVQUs3Qm9aLEdBQUEsU0FBQWlNLEdBQTZCLE1BQUFB
LElBb0U3QitjLEdBQUEsdUJBRUFqbEIsSUFDQSxZQUNBLFlBQ0EsVUFHQWtsQixJQUNBLGVBQ0Es
VUFDQSxjQUNBLFVBQ0EsZUFDQSxVQUNBLGdCQUNBLFlBQ0EsWUFDQSxlQUtBdGdDLElBSUF1Z0Ms
c0JBQUE3bUMsT0FBQWtDLE9BQUEsTUFLQTRrQyxRQUFBLEVBS0FDLGVBQUEsRUFLQS92QixVQUFB
LEVBS0Fnd0IsYUFBQSxFQUtBemdDLGFBQUEsS0FLQTBnQyxZQUFBLEtBS0FDLG1CQUtBbnBCLFNB
QUEvZCxPQUFBa0MsT0FBQSxNQU1BK2EsY0FBQWlkLEdBTUFpTixlQUFBak4sR0FNQTdXLGlCQUFB
NlcsR0FLQWxkLGdCQUFBM1ksRUFLQTZZLHFCQUFBUyxHQU1BUyxZQUFBOGIsR0FLQWtOLGdCQUFB
UixJQUtBenhCLEdBQUFuVixPQUFBcW5DLFdBeUJBdGhDLEdBQUEsVUFpQkFva0IsR0FBQTlsQixF
QW1IQWlqQyxHQUFBLGdCQUdBOWdDLEdBQUEsbUJBQUFnZCxRQUNBK2pCLEdBQUEvZ0MsSUFBQWdk
LE9BQUFna0IsVUFBQUMsVUFBQWxsQyxjQUNBNnFCLEdBQUFtYSxJQUFBLGVBQUF2aEMsS0FBQXVo
QyxJQUNBbmdCLEdBQUFtZ0IsT0FBQTNrQyxRQUFBLGNBQ0E4a0MsR0FBQUgsT0FBQTNrQyxRQUFB
LFdBQ0Era0MsR0FBQUosT0FBQTNrQyxRQUFBLGFBQ0FnbEMsR0FBQUwsSUFBQSx1QkFBQXZoQyxL
QUFBdWhDLElBQ0FsYSxHQUFBa2EsSUFBQSxjQUFBdmhDLEtBQUF1aEMsTUFBQUcsR0FHQWh2QixN
QUFxQkQsTUFFckJtVixJQUFBLENBQ0EsSUFBQXBuQixHQUNBLElBQ0EsR0FBQXlSLE1BQ0FqWSxR
QUFBQyxlQUFBZ1ksR0FBQSxXQUNBdFAsSUFBQSxXQUVBaWxCLElBQUEsS0FHQXBLLE9BQUFtSyxp
QkFBQSxvQkFBQTFWLElBQ0csTUFBQWxULElBS0gsR0FBQThpQyxJQWlIQUMsR0FoSEE5L0IsR0FB
QSxXQVdBLFdBVkExSCxLQUFBdW5DLEtBT0FBLElBTEFyaEMsUUFBQSxLQUFBckcsR0FHQSxXQUFB
QSxFQUFBLFFBQUE0bkMsSUFBQUMsU0FLQUgsSUFJQTd3QixHQUFBeFEsSUFBQWdkLE9BQUF5a0Is
NkJBT0EvdEIsR0FDQSxtQkFBQWd1QixTQUFBdmhDLEVBQUF1aEMsU0FDQSxtQkFBQS90QixVQUFB
eFQsRUFBQXdULFFBQUFDLFNBS0FoRCxHQUFBLFdBS0EsUUFBQSt3QixLQUNBQyxHQUFBLENBQ0Es
SUFBQUMsR0FBQUMsRUFBQWg2QixNQUFBLEVBQ0FnNkIsR0FBQWhtQyxPQUFBLENBQ0EsUUFBQUQs
R0FBQSxFQUFtQkEsRUFBQWdtQyxFQUFBL2xDLE9BQW1CRCxJQUN0Q2dtQyxFQUFBaG1DLEtBVEEs
R0FFQWttQyxHQUZBRCxLQUNBRixHQUFBLENBbUJBLHVCQUFBSSxVQUFBN2hDLEVBQUE2aEMsU0FB
QSxDQUNBLEdBQUFyZixHQUFBcWYsUUFBQS8yQixVQUNBZzNCLEVBQUEsU0FBQXRpQyxHQUFtQ00s
UUFBQUMsTUFBQVAsR0FDbkNvaUMsR0FBQSxXQUNBcGYsRUFBQXZYLEtBQUF1MkIsR0FBQU8sTUFB
QUQsR0FNQWIsSUFBa0I3MUIsV0FBQTFOLFFBRWYsdUJBQUFza0Msb0JBQ0hoaUMsRUFBQWdpQyxt
QkFFQSx5Q0FBQUEsaUJBQUFubkMsV0FpQkErbUMsRUFBQSxXQUNBeDJCLFdBQUFvMkIsRUFBQSxR
QWpCQSxDQUdBLEdBQUFTLEdBQUEsRUFDQUMsRUFBQSxHQUFBRixrQkFBQVIsR0FDQVcsRUFBQXZs
QixTQUFBYyxlQUFBMWlCLE9BQUFpbkMsR0FDQUMsR0FBQXBoQyxRQUFBcWhDLEdBQ0FDLGVBQUEs
SUFFQVIsRUFBQSxXQUNBSyxLQUFBLEtBQ0FFLEVBQUF6N0IsS0FBQTFMLE9BQUFpbkMsSUFVQSxn
QkFBQWhZLEVBQUF2dEIsR0FDQSxHQUFBMmxDLEVBZ0JBLElBZkFWLEVBQUFwaEMsS0FBQSxXQUNB
LEdBQUEwcEIsRUFDQSxJQUNBQSxFQUFBN3ZCLEtBQUFzQyxHQUNTLE1BQUEwQixHQUNUbUIsRUFB
QW5CLEVBQUExQixFQUFBLGdCQUVPMmxDLElBQ1BBLEVBQUEzbEMsS0FHQStrQyxJQUNBQSxHQUFB
LEVBQ0FHLE1BRUEzWCxHQUFBLG1CQUFBNFgsU0FDQSxVQUFBQSxTQUFBLFNBQUEvMkIsRUFBQUMs
R0FDQXMzQixFQUFBdjNCLE9BVUFxMkIsSUFGQSxtQkFBQW1CLE1BQUF0aUMsRUFBQXNpQyxLQUVB
QSxJQUdBLFdBQ0EsUUFBQUEsS0FDQTNqQyxLQUFBdUQsSUFBQTdJLE9BQUFrQyxPQUFBLE1BWUEs
TUFWQSttQyxHQUFBbDVCLFVBQUFzRyxJQUFBLFNBQUF0VCxHQUNBLFdBQUF1QyxLQUFBdUQsSUFB
QTlGLElBRUFrbUMsRUFBQWw1QixVQUFBckIsSUFBQSxTQUFBM0wsR0FDQXVDLEtBQUF1RCxJQUFB
OUYsSUFBQSxHQUVBa21DLEVBQUFsNUIsVUFBQXdILE1BQUEsV0FDQWpTLEtBQUF1RCxJQUFBN0ks
T0FBQWtDLE9BQUEsT0FHQSttQyxJQU9BLElBQUFDLElBQUEsRUFNQW5pQyxHQUFBLFdBQ0F6QixL
QUFBbUcsR0FBQXk5QixLQUNBNWpDLEtBQUE2akMsUUFHQXBpQyxJQUFBZ0osVUFBQXE1QixPQUFB
LFNBQUFDLEdBQ0EvakMsS0FBQTZqQyxLQUFBamlDLEtBQUFtaUMsSUFHQXRpQyxHQUFBZ0osVUFB
QXU1QixVQUFBLFNBQUFELEdBQ0E3bUMsRUFBQThDLEtBQUE2akMsS0FBQUUsSUFHQXRpQyxHQUFB
Z0osVUFBQWhILE9BQUEsV0FDQWhDLEdBQUFDLFFBQ0FELEdBQUFDLE9BQUF1aUMsT0FBQWprQyxP
QUlBeUIsR0FBQWdKLFVBQUE3RyxPQUFBLFdBR0EsT0FEQWlnQyxHQUFBN2pDLEtBQUE2akMsS0FB
QTc2QixRQUNBak0sRUFBQSxFQUFBbUIsRUFBQTJsQyxFQUFBN21DLE9BQWtDRCxFQUFBbUIsRUFB
T25CLElBQ3pDOG1DLEVBQUE5bUMsR0FBQXdJLFVBT0E5RCxHQUFBQyxPQUFBLElBQ0EsSUFBQUMs
T0FnQkF1aUMsR0FBQXpsQyxNQUFBZ00sVUFDQTA1QixHQUFBenBDLE9BQUFrQyxPQUFBc25DLEtB
Q0EsT0FDQSxNQUNBLFFBQ0EsVUFDQSxTQUNBLE9BQ0EsV0FFQXZ2QixRQUFBLFNBQUF5dkIsR0FF
QSxHQUFBQyxHQUFBSCxHQUFBRSxFQUNBamtDLEdBQUFna0MsR0FBQUMsRUFBQSxXQUVBLElBREEs
R0FBQTdvQixNQUFBL1QsRUFBQXJKLFVBQUFuQixPQUNBd0ssS0FBQStULEVBQUEvVCxHQUFBckos
VUFBQXFKLEVBRUEsSUFFQTJaLEdBRkExTSxFQUFBNHZCLEVBQUFqbUMsTUFBQTRCLEtBQUF1YixH
QUNBbFosRUFBQXJDLEtBQUFzQyxNQUVBLFFBQUE4aEMsR0FDQSxXQUNBLGNBQ0FqakIsRUFBQTVG
LENBQ0EsTUFDQSxjQUNBNEYsRUFBQTVGLEVBQUF2UyxNQUFBLEdBTUEsTUFIQW1ZLElBQW1COWUs
RUFBQWlpQyxhQUFBbmpCLEdBRW5COWUsRUFBQVksSUFBQVcsU0FDQTZRLEtBTUEsSUFBQTh2QixJ
QUFBN3BDLE9BQUE4cEMsb0JBQUFMLElBUUEzaEMsSUFDQUMsZUFBQSxHQVNBRixHQUFBLFNBQUEz
SCxHQUtBLEdBSkFvRixLQUFBcEYsUUFDQW9GLEtBQUFpRCxJQUFBLEdBQUF4QixJQUNBekIsS0FB
QTZDLFFBQUEsRUFDQTFDLEVBQUF2RixFQUFBLFNBQUFvRixNQUNBdkIsTUFBQWEsUUFBQTFFLEdB
QUEsRUFDQW9uQyxHQUNBamdDLEVBQ0FHLEdBQ0F0SCxFQUFBdXBDLEdBQUFJLElBQ0F2a0MsS0FB
QXNrQyxhQUFBMXBDLE9BRUFvRixNQUFBeWtDLEtBQUE3cEMsR0FTQTJILElBQUFrSSxVQUFBZzZC
LEtBQUEsU0FBQW5wQyxHQUVBLE9BREFxRSxHQUFBakYsT0FBQWlGLEtBQUFyRSxHQUNBeUIsRUFB
QSxFQUFpQkEsRUFBQTRDLEVBQUEzQyxPQUFpQkQsSUFDbEMrRixFQUFBeEgsRUFBQXFFLEVBQUE1
QyxHQUFBekIsRUFBQXFFLEVBQUE1QyxNQU9Bd0YsR0FBQWtJLFVBQUE2NUIsYUFBQSxTQUFBSSxH
QUNBLE9BQUEzbkMsR0FBQSxFQUFBbUIsRUFBQXdtQyxFQUFBMW5DLE9BQW1DRCxFQUFBbUIsRUFB
T25CLElBQzFDb0YsRUFBQXVpQyxFQUFBM25DLElBaU1BLElBQUE4SSxJQUFBN0UsR0FBQXVnQyxx
QkFrRkExN0IsSUFBQWtDLEtBQUEsU0FDQTNELEVBQ0FDLEVBQ0F2RCxHQUVBLE1BQUFBLEdBY0Fx
RCxFQUFBQyxFQUFBQyxFQUFBdkQsR0FiQXVELEdBQUEsa0JBQUFBLEdBUUFELEVBRUFELEVBQUEx
SSxLQUFBdUUsS0FBQW9FLEVBQUFDLElBc0JBaTlCLEdBQUEzc0IsUUFBQSxTQUFBN0ssR0FDQWpF
LEdBQUFpRSxHQUFBdEYsSUFpQkE0WCxHQUFBekgsUUFBQSxTQUFBM1AsR0FDQWEsR0FBQWIsRUFB
QSxLQUFBTixJQVNBbUIsR0FBQXNOLE1BQUEsU0FBQS9PLEVBQUFDLEdBS0EsR0FIQUQsSUFBQWdQ
LEtBQWtDaFAsTUFBQXBKLElBQ2xDcUosSUFBQStPLEtBQWlDL08sTUFBQXJKLEtBRWpDcUosRUFB
a0IsTUFBQTNKLFFBQUFrQyxPQUFBd0gsR0FBQSxLQUNsQixLQUFBQSxFQUFtQixNQUFBQyxFQUNu
QixJQUFBN0YsS0FDQUUsR0FBQUYsRUFBQTRGLEVBQ0EsUUFBQTNHLEtBQUE0RyxHQUFBLENBQ0Es
R0FBQW9CLEdBQUFqSCxFQUFBZixHQUNBaUksRUFBQXJCLEVBQUE1RyxFQUNBZ0ksS0FBQWhILE1B
QUFhLFFBQUFtRyxLQUNBQSxPQUVBakgsRUFBQWYsR0FBQWdJLEVBQ0FBLEVBQUFoQixPQUFBaUIs
R0FDQWpILE1BQUFhLFFBQUFvRyxTQUVBLE1BQUFsSCxJQU1BcUgsR0FBQWhCLE1BQ0FnQixHQUFB
Z04sUUFDQWhOLEdBQUFYLE9BQ0FXLEdBQUFvTixTQUFBLFNBQUE3TyxFQUFBQyxHQUNBLElBQUFE
LEVBQW1CLE1BQUFDLEVBQ25CLElBQUE3RixHQUFBOUQsT0FBQWtDLE9BQUEsS0FHQSxPQUZBOEIs
R0FBQUYsRUFBQTRGLEdBQ0FDLEdBQWlCM0YsRUFBQUYsRUFBQTZGLEdBQ2pCN0YsR0FFQXFILEdB
QUF5TyxRQUFBblEsQ0FLQSxJQUFBMkIsSUFBQSxTQUFBMUIsRUFBQUMsR0FDQSxXQUFBckosS0FB
QXFKLEVBQ0FELEVBQ0FDLEdBc2FBcUQsR0FBQSxTQUNBSSxFQUNBQyxFQUNBQyxFQUNBQyxFQUNB
QyxFQUNBQyxFQUNBQyxFQUNBQyxHQUVBckksS0FBQThILE1BQ0E5SCxLQUFBK0gsT0FDQS9ILEtB
QUFnSSxXQUNBaEksS0FBQWlJLE9BQ0FqSSxLQUFBa0ksTUFDQWxJLEtBQUFzSSxPQUFBdE4sR0FD
QWdGLEtBQUFtSSxVQUNBbkksS0FBQTJOLHNCQUFBM1MsR0FDQWdGLEtBQUF2QyxJQUFBc0ssS0FB
QXRLLElBQ0F1QyxLQUFBb0ksbUJBQ0FwSSxLQUFBZ2Qsc0JBQUFoaUIsR0FDQWdGLEtBQUF5RixX
QUFBekssR0FDQWdGLEtBQUEya0MsS0FBQSxFQUNBM2tDLEtBQUF1SSxVQUFBLEVBQ0F2SSxLQUFB
MHVCLGNBQUEsRUFDQTF1QixLQUFBd0ksV0FBQSxFQUNBeEksS0FBQXlJLFVBQUEsRUFDQXpJLEtB
QUF3WixRQUFBLEVBQ0F4WixLQUFBcUksZUFDQXJJLEtBQUF3TCxjQUFBeFEsR0FDQWdGLEtBQUFn
Z0Isb0JBQUEsR0FHQTRrQixJQUEwQmwvQixTQUkxQmsvQixJQUFBbC9CLE1BQUFyQyxJQUFBLFdB
Q0EsTUFBQXJELE1BQUFnZCxtQkFHQXRpQixPQUFBbXFDLGlCQUFBbjlCLEdBQUErQyxVQUFBbTZC
LEdBRUEsSUErYkFsakMsSUEvYkE2SixHQUFBLFNBQUF0RCxPQUNBLEtBQUFBLE1BQUEsR0FFQSxJ
QUFBNEMsR0FBQSxHQUFBbkQsR0FHQSxPQUZBbUQsR0FBQTVDLE9BQ0E0QyxFQUFBckMsV0FBQSxF
QUNBcUMsR0F5Q0FwQixHQUFBOUwsRUFBQSxTQUFBbUgsR0FDQSxHQUFBNkUsR0FBQSxNQUFBN0Us
RUFBQWdmLE9BQUEsRUFDQWhmLEdBQUE2RSxFQUFBN0UsRUFBQWtFLE1BQUEsR0FBQWxFLENBQ0Es
SUFBQW9JLEdBQUEsTUFBQXBJLEVBQUFnZixPQUFBLEVBQ0FoZixHQUFBb0ksRUFBQXBJLEVBQUFr
RSxNQUFBLEdBQUFsRSxDQUNBLElBQUE0RSxHQUFBLE1BQUE1RSxFQUFBZ2YsT0FBQSxFQUVBLE9B
REFoZixHQUFBNEUsRUFBQTVFLEVBQUFrRSxNQUFBLEdBQUFsRSxHQUVBQSxPQUNBaEYsS0FBQW9O
LEVBQ0F4RCxVQUNBQyxhQTRqQkE0a0IsR0FBQSxLQXVUQTFkLE1BQ0FDLE1BQ0FDLE1BRUFDLElB
QUEsRUFDQUMsSUFBQSxFQUNBNVQsR0FBQSxFQW1JQXluQyxHQUFBLEVBT0ExMUIsR0FBQSxTQUNB
dE8sRUFDQWlrQyxFQUNBelosRUFDQTFtQixHQUVBNUUsS0FBQWMsS0FDQUEsRUFBQTRSLFVBQUE5
USxLQUFBNUIsTUFFQTRFLEdBQ0E1RSxLQUFBZ2xDLE9BQUFwZ0MsRUFBQW9nQyxLQUNBaGxDLEtB
QUFpbEMsT0FBQXJnQyxFQUFBcWdDLEtBQ0FqbEMsS0FBQTBuQixPQUFBOWlCLEVBQUE4aUIsS0FD
QTFuQixLQUFBZ00sT0FBQXBILEVBQUFvSCxNQUVBaE0sS0FBQWdsQyxLQUFBaGxDLEtBQUFpbEMs
S0FBQWpsQyxLQUFBMG5CLEtBQUExbkIsS0FBQWdNLE1BQUEsRUFFQWhNLEtBQUFzckIsS0FDQXRy
QixLQUFBbUcsS0FBQTIrQixHQUNBOWtDLEtBQUFrbEMsUUFBQSxFQUNBbGxDLEtBQUErVCxNQUFB
L1QsS0FBQTBuQixLQUNBMW5CLEtBQUFtbEMsUUFDQW5sQyxLQUFBb2xDLFdBQ0FwbEMsS0FBQXFs
QyxPQUFBLEdBQUE3QyxJQUNBeGlDLEtBQUFzbEMsVUFBQSxHQUFBOUMsSUFDQXhpQyxLQUFBcWpC
LFdBRUEsR0FFQSxrQkFBQTBoQixHQUNBL2tDLEtBQUFvRCxPQUFBMmhDLEdBRUEva0MsS0FBQW9E
LE9BQUE3QyxFQUFBd2tDLEdBQ0Eva0MsS0FBQW9ELFNBQ0FwRCxLQUFBb0QsT0FBQSxlQVNBcEQs
S0FBQXBGLE1BQUFvRixLQUFBMG5CLFNBQ0Exc0IsR0FDQWdGLEtBQUFxRCxNQU1BK0wsSUFBQTNF
LFVBQUFwSCxJQUFBLFdBQ0E5QixFQUFBdkIsS0FDQSxJQUFBcEYsR0FDQWtHLEVBQUFkLEtBQUFj
LEVBQ0EsS0FDQWxHLEVBQUFvRixLQUFBb0QsT0FBQTNILEtBQUFxRixLQUNHLE1BQUFyQixHQUNI
LElBQUFPLEtBQUFpbEMsS0FHQSxLQUFBeGxDLEVBRkFtQixHQUFBbkIsRUFBQXFCLEVBQUEsdUJB
QUFkLEtBQUEsZ0JBSUcsUUFHSEEsS0FBQWdsQyxNQUNBanpCLEdBQUFuWCxHQUVBaUgsSUFDQTdC
LEtBQUF1bEMsY0FFQSxNQUFBM3FDLElBTUF3VSxHQUFBM0UsVUFBQXc1QixPQUFBLFNBQUFoaEMs
R0FDQSxHQUFBa0QsR0FBQWxELEVBQUFrRCxFQUNBbkcsTUFBQXNsQyxVQUFBdjBCLElBQUE1SyxL
QUNBbkcsS0FBQXNsQyxVQUFBbDhCLElBQUFqRCxHQUNBbkcsS0FBQW9sQyxRQUFBeGpDLEtBQUFx
QixHQUNBakQsS0FBQXFsQyxPQUFBdDBCLElBQUE1SyxJQUNBbEQsRUFBQTZnQyxPQUFBOWpDLFFB
UUFvUCxHQUFBM0UsVUFBQTg2QixZQUFBLFdBSUEsSUFIQSxHQUFBQyxHQUFBeGxDLEtBRUFqRCxF
QUFBaUQsS0FBQW1sQyxLQUFBbm9DLE9BQ0FELEtBQUEsQ0FDQSxHQUFBa0csR0FBQXVpQyxFQUFB
TCxLQUFBcG9DLEVBQ0F5b0MsR0FBQUYsVUFBQXYwQixJQUFBOU4sRUFBQWtELEtBQ0FsRCxFQUFB
K2dDLFVBQUF3QixHQUdBLEdBQUFDLEdBQUF6bEMsS0FBQXFsQyxNQUNBcmxDLE1BQUFxbEMsT0FB
QXJsQyxLQUFBc2xDLFVBQ0F0bEMsS0FBQXNsQyxVQUFBRyxFQUNBemxDLEtBQUFzbEMsVUFBQXJ6
QixRQUNBd3pCLEVBQUF6bEMsS0FBQW1sQyxLQUNBbmxDLEtBQUFtbEMsS0FBQW5sQyxLQUFBb2xD
LFFBQ0FwbEMsS0FBQW9sQyxRQUFBSyxFQUNBemxDLEtBQUFvbEMsUUFBQXBvQyxPQUFBLEdBT0Fv
UyxHQUFBM0UsVUFBQWxGLE9BQUEsV0FFQXZGLEtBQUEwbkIsS0FDQTFuQixLQUFBK1QsT0FBQSxF
QUNHL1QsS0FBQWdNLEtBQ0hoTSxLQUFBcVIsTUFFQVEsR0FBQTdSLE9BUUFvUCxHQUFBM0UsVUFB
QTRHLElBQUEsV0FDQSxHQUFBclIsS0FBQWtsQyxPQUFBLENBQ0EsR0FBQXRxQyxHQUFBb0YsS0FB
QXFELEtBQ0EsSUFDQXpJLElBQUFvRixLQUFBcEYsT0FJQVMsRUFBQVQsSUFDQW9GLEtBQUFnbEMs
S0FDQSxDQUVBLEdBQUFoa0IsR0FBQWhoQixLQUFBcEYsS0FFQSxJQURBb0YsS0FBQXBGLFFBQ0Fv
RixLQUFBaWxDLEtBQ0EsSUFDQWpsQyxLQUFBc3JCLEdBQUE3dkIsS0FBQXVFLEtBQUFjLEdBQUFs
RyxFQUFBb21CLEdBQ1MsTUFBQXZoQixHQUNUbUIsRUFBQW5CLEVBQUFPLEtBQUFjLEdBQUEseUJB
QUFkLEtBQUEsb0JBR0FBLE1BQUFzckIsR0FBQTd2QixLQUFBdUUsS0FBQWMsR0FBQWxHLEVBQUFv
bUIsTUFVQTVSLEdBQUEzRSxVQUFBdUosU0FBQSxXQUNBaFUsS0FBQXBGLE1BQUFvRixLQUFBcUQs
TUFDQXJELEtBQUErVCxPQUFBLEdBTUEzRSxHQUFBM0UsVUFBQWhILE9BQUEsV0FJQSxJQUhBLEdB
QUEraEMsR0FBQXhsQyxLQUVBakQsRUFBQWlELEtBQUFtbEMsS0FBQW5vQyxPQUNBRCxLQUNBeW9D
LEVBQUFMLEtBQUFwb0MsR0FBQTBHLFVBT0EyTCxHQUFBM0UsVUFBQWk3QixTQUFBLFdBQ0EsR0FB
QUYsR0FBQXhsQyxJQUVBLElBQUFBLEtBQUFrbEMsT0FBQSxDQUlBbGxDLEtBQUFjLEdBQUE0Tixt
QkFDQXhSLEVBQUE4QyxLQUFBYyxHQUFBNFIsVUFBQTFTLEtBR0EsS0FEQSxHQUFBakQsR0FBQWlE
LEtBQUFtbEMsS0FBQW5vQyxPQUNBRCxLQUNBeW9DLEVBQUFMLEtBQUFwb0MsR0FBQWluQyxVQUFB
d0IsRUFFQXhsQyxNQUFBa2xDLFFBQUEsR0FTQSxJQUFBbHpCLElBQUEsR0FBQXd3QixJQStCQWh3
QixJQUNBcFMsWUFBQSxFQUNBRSxjQUFBLEVBQ0ErQyxJQUFBdEUsRUFDQXdFLElBQUF4RSxHQXdJ
QTZVLElBQThCOFQsTUFBQSxHQThSOUIzUSxJQUNBNHVCLEtBQUEsU0FDQS85QixFQUNBaUgsRUFD
QXNILEVBQ0FDLEdBRUEsSUFBQXhPLEVBQUFvVixtQkFBQXBWLEVBQUFvVixrQkFBQXZPLGFBQUEs
RUFDQTdHLEVBQUFvVixrQkFBQTlHLEdBQ0F0TyxFQUNBMm1CLEdBQ0FwWSxFQUNBQyxJQUVBd3ZC
LE9BQUEvMkIsRUFBQWpILEVBQUFNLFFBQUFsTixHQUFBNlQsT0FDSyxJQUFBakgsRUFBQUcsS0FB
QTg5QixVQUFBLENBRUwsR0FBQUMsR0FBQWwrQixDQUNBbVAsSUFBQWd2QixTQUFBRCxPQUlBQyxT
QUFBLFNBQUExbEIsRUFBQXpZLEdBQ0EsR0FBQWhELEdBQUFnRCxFQUFBUSxnQkFFQWtILElBREEx
SCxFQUFBb1Ysa0JBQUFxRCxFQUFBckQsa0JBR0FwWSxFQUFBK0IsVUFDQS9CLEVBQUFtSSxVQUNB
bkYsRUFDQWhELEVBQUFvRCxXQUlBZytCLE9BQUEsU0FBQXArQixHQUNBLEdBQUFPLEdBQUFQLEVB
QUFPLFFBQ0E2VSxFQUFBcFYsRUFBQW9WLGlCQUNBQSxHQUFBeE8sYUFDQXdPLEVBQUF4TyxZQUFB
LEVBQ0FRLEdBQUFnTyxFQUFBLFlBRUFwVixFQUFBRyxLQUFBODlCLFlBQ0ExOUIsRUFBQXFHLFdB
TUFvRCxHQUFBb0wsR0FFQTFNLEdBQUEwTSxHQUFBLEtBS0FpcEIsUUFBQSxTQUFBcitCLEdBQ0Es
R0FBQW9WLEdBQUFwVixFQUFBb1YsaUJBQ0FBLEdBQUF2TyxlQUNBN0csRUFBQUcsS0FBQTg5QixV
QUdBcjFCLEdBQUF3TSxHQUFBLEdBRkFBLEVBQUFDLGNBUUFyRyxHQUFBbGMsT0FBQWlGLEtBQUFv
WCxJQWlLQVUsR0FBQSxFQUNBSCxHQUFBLEVBZ2RBNHVCLEdBQUEsR0FFQSxTQUFBaHJCLEdBQ0FB
LEVBQUF6USxVQUFBdVEsTUFBQSxTQUFBcFcsR0FDQSxHQUFBOUQsR0FBQWQsSUFFQWMsR0FBQXFs
QyxLQUFBRCxLQVdBcGxDLEVBQUE4QixRQUFBLEVBRUFnQyxLQUFBMFIsYUFJQTJELEdBQUFuWixF
QUFBOEQsR0FFQTlELEVBQUFzRyxTQUFBNUIsRUFDQW9RLEdBQUE5VSxFQUFBb1osYUFDQXRWLE1B
Q0E5RCxHQU9BQSxFQUFBdVksYUFBQXZZLEVBR0FBLEVBQUFzbEMsTUFBQXRsQyxFQUNBaU4sR0FB
QWpOLEdBQ0E4TCxHQUFBOUwsR0FDQThZLEdBQUE5WSxHQUNBa08sR0FBQWxPLEVBQUEsZ0JBQ0Ew
VCxHQUFBMVQsR0FDQTJSLEdBQUEzUixHQUNBdVQsR0FBQXZULEdBQ0FrTyxHQUFBbE8sRUFBQSxX
QVNBQSxFQUFBc0csU0FBQXdILElBQ0E5TixFQUFBOGtDLE9BQUE5a0MsRUFBQXNHLFNBQUF3SCxN
QXdGQW1NLElBcCtCQSxTQUFBRyxHQUlBLEdBQUFtckIsS0FDQUEsR0FBQWhqQyxJQUFBLFdBQTZC
LE1BQUFyRCxNQUFBZ1QsTUFDN0IsSUFBQXN6QixLQUNBQSxHQUFBampDLElBQUEsV0FBOEIsTUFB
QXJELE1BQUFxSCxRQWE5QjNNLE9BQUFDLGVBQUF1Z0IsRUFBQXpRLFVBQUEsUUFBQTQ3QixHQUNB
M3JDLE9BQUFDLGVBQUF1Z0IsRUFBQXpRLFVBQUEsU0FBQTY3QixHQUVBcHJCLEVBQUF6USxVQUFB
ODdCLEtBQUFoakMsRUFDQTJYLEVBQUF6USxVQUFBKzdCLFFBQUExaUMsRUFFQW9YLEVBQUF6USxV
QUFBMkosT0FBQSxTQUNBMndCLEVBQ0F6WixFQUNBMW1CLEdBRUEsR0FBQTlELEdBQUFkLElBQ0Es
SUFBQXpFLEVBQUErdkIsR0FDQSxNQUFBcFgsSUFBQXBULEVBQUFpa0MsRUFBQXpaLEVBQUExbUIs
RUFFQUEsU0FDQUEsRUFBQXFnQyxNQUFBLENBQ0EsSUFBQTl6QixHQUFBLEdBQUEvQixJQUFBdE8s
RUFBQWlrQyxFQUFBelosRUFBQTFtQixFQUlBLE9BSEFBLEdBQUE2aEMsV0FDQW5iLEVBQUE3dkIs
S0FBQXFGLEVBQUFxUSxFQUFBdlcsT0FFQSxXQUNBdVcsRUFBQXUwQixjQTI3QkEzcUIsSUFua0VB
LFNBQUFHLEdBQ0EsR0FBQXdyQixHQUFBLFFBQ0F4ckIsR0FBQXpRLFVBQUEyQyxJQUFBLFNBQUE1
RCxFQUFBNUwsR0FDQSxHQUFBNG5DLEdBQUF4bEMsS0FFQWMsRUFBQWQsSUFDQSxJQUFBdkIsTUFB
QWEsUUFBQWtLLEdBQ0EsT0FBQXpNLEdBQUEsRUFBQW1CLEVBQUFzTCxFQUFBeE0sT0FBdUNELEVB
QUFtQixFQUFPbkIsSUFDOUN5b0MsRUFBQXA0QixJQUFBNUQsRUFBQXpNLEdBQUFhLFFBR0FrRCxF
QUFBK0wsUUFBQXJELEtBQUExSSxFQUFBK0wsUUFBQXJELFFBQUE1SCxLQUFBaEUsR0FHQThvQyxF
QUFBaG1DLEtBQUE4SSxLQUNBMUksRUFBQWdNLGVBQUEsRUFHQSxPQUFBaE0sSUFHQW9hLEVBQUF6
USxVQUFBMEMsTUFBQSxTQUFBM0QsRUFBQTVMLEdBRUEsUUFBQXNMLEtBQ0FwSSxFQUFBd00sS0FB
QTlELEVBQUFOLEdBQ0F0TCxFQUFBUSxNQUFBMEMsRUFBQTNDLFdBSEEsR0FBQTJDLEdBQUFkLElB
T0EsT0FGQWtKLEdBQUF0TCxLQUNBa0QsRUFBQXNNLElBQUE1RCxFQUFBTixHQUNBcEksR0FHQW9h
LEVBQUF6USxVQUFBNkMsS0FBQSxTQUFBOUQsRUFBQTVMLEdBQ0EsR0FBQTRuQyxHQUFBeGxDLEtB
RUFjLEVBQUFkLElBRUEsS0FBQTdCLFVBQUFuQixPQUVBLE1BREE4RCxHQUFBK0wsUUFBQW5TLE9B
QUFrQyxPQUFBLE1BQ0FrRSxDQUdBLElBQUFyQyxNQUFBYSxRQUFBa0ssR0FBQSxDQUNBLE9BQUF1
dkIsR0FBQSxFQUFBNzZCLEVBQUFzTCxFQUFBeE0sT0FBeUMrN0IsRUFBQTc2QixFQUFTNjZCLElB
Q2xEeU0sRUFBQWw0QixLQUFBOUQsRUFBQXV2QixHQUFBbjdCLEVBRUEsT0FBQWtELEdBR0EsR0FB
QTZsQyxHQUFBN2xDLEVBQUErTCxRQUFBckQsRUFDQSxLQUFBbTlCLEVBQ0EsTUFBQTdsQyxFQUVB
LFFBQUEzQyxVQUFBbkIsT0FFQSxNQURBOEQsR0FBQStMLFFBQUFyRCxHQUFBLEtBQ0ExSSxDQUtB
LEtBRkEsR0FBQXdxQixHQUNBdnVCLEVBQUE0cEMsRUFBQTNwQyxPQUNBRCxLQUVBLElBREF1dUIs
RUFBQXFiLEVBQUE1cEMsTUFDQWEsR0FBQTB0QixFQUFBMXRCLE9BQUEsQ0FDQStvQyxFQUFBcHBD
LE9BQUFSLEVBQUEsRUFDQSxPQUdBLE1BQUErRCxJQUdBb2EsRUFBQXpRLFVBQUFrRyxNQUFBLFNB
QUFuSCxHQUNBLEdBQUExSSxHQUFBZCxLQWFBMm1DLEVBQUE3bEMsRUFBQStMLFFBQUFyRCxFQUNB
LElBQUFtOUIsRUFBQSxDQUNBQSxJQUFBM3BDLE9BQUEsRUFBQXNCLEVBQUFxb0MsSUFFQSxRQURB
cHJCLEdBQUFqZCxFQUFBSCxVQUFBLEdBQ0FwQixFQUFBLEVBQUFtQixFQUFBeW9DLEVBQUEzcEMs
T0FBcUNELEVBQUFtQixFQUFPbkIsSUFDNUMsSUFDQTRwQyxFQUFBNXBDLEdBQUFxQixNQUFBMEMs
RUFBQXlhLEdBQ1MsTUFBQTliLEdBQ1RtQixFQUFBbkIsRUFBQXFCLEVBQUEsc0JBQUEwSSxFQUFB
LE1BSUEsTUFBQTFJLEtBbytEQWlhLElBdjREQSxTQUFBRyxHQUNBQSxFQUFBelEsVUFBQXlFLFFB
QUEsU0FBQXRILEVBQUFpSCxHQUNBLEdBQUEvTixHQUFBZCxJQUNBYyxHQUFBME4sWUFDQVEsR0FB
QWxPLEVBQUEsZUFFQSxJQUFBOGxDLEdBQUE5bEMsRUFBQWdPLElBQ0ErM0IsRUFBQS9sQyxFQUFB
aVAsT0FDQSsyQixFQUFBdlksRUFDQUEsSUFBQXp0QixFQUNBQSxFQUFBaVAsT0FBQW5JLEVBR0Fp
L0IsRUFZQS9sQyxFQUFBZ08sSUFBQWhPLEVBQUFpbUMsVUFBQUYsRUFBQWovQixJQVZBOUcsRUFB
QWdPLElBQUFoTyxFQUFBaW1DLFVBQ0FqbUMsRUFBQWdPLElBQUFsSCxFQUFBaUgsR0FBQSxFQUNB
L04sRUFBQXNHLFNBQUFvUCxXQUNBMVYsRUFBQXNHLFNBQUFxUCxTQUlBM1YsRUFBQXNHLFNBQUFv
UCxXQUFBMVYsRUFBQXNHLFNBQUFxUCxRQUFBLE1BS0E4WCxHQUFBdVksRUFFQUYsSUFDQUEsRUFB
QUksUUFBQSxNQUVBbG1DLEVBQUFnTyxNQUNBaE8sRUFBQWdPLElBQUFrNEIsUUFBQWxtQyxHQUdB
QSxFQUFBdU8sUUFBQXZPLEVBQUFtTixTQUFBbk4sRUFBQXVPLFNBQUF2TyxFQUFBbU4sUUFBQThC
LFNBQ0FqUCxFQUFBbU4sUUFBQWEsSUFBQWhPLEVBQUFnTyxNQU1Bb00sRUFBQXpRLFVBQUF5Qixh
QUFBLFdBQ0EsR0FBQXBMLEdBQUFkLElBQ0FjLEdBQUF1TixVQUNBdk4sRUFBQXVOLFNBQUE5SSxV
QUlBMlYsRUFBQXpRLFVBQUF3UyxTQUFBLFdBQ0EsR0FBQW5jLEdBQUFkLElBQ0EsS0FBQWMsRUFB
QTROLGtCQUFBLENBR0FNLEdBQUFsTyxFQUFBLGlCQUNBQSxFQUFBNE4sbUJBQUEsQ0FFQSxJQUFB
akosR0FBQTNFLEVBQUFtTixTQUNBeEksS0FBQWlKLG1CQUFBNU4sRUFBQXNHLFNBQUE0RyxVQUNB
OVEsRUFBQXVJLEVBQUF5SSxVQUFBcE4sR0FHQUEsRUFBQXVOLFVBQ0F2TixFQUFBdU4sU0FBQXEz
QixVQUdBLEtBREEsR0FBQTNvQyxHQUFBK0QsRUFBQTRSLFVBQUExVixPQUNBRCxLQUNBK0QsRUFB
QTRSLFVBQUEzVixHQUFBMm9DLFVBSUE1a0MsR0FBQWtTLE1BQUExUSxRQUNBeEIsRUFBQWtTLE1B
QUExUSxPQUFBTyxVQUdBL0IsRUFBQTJOLGNBQUEsRUFFQTNOLEVBQUFpbUMsVUFBQWptQyxFQUFB
aVAsT0FBQSxNQUVBZixHQUFBbE8sRUFBQSxhQUVBQSxFQUFBd00sT0FFQXhNLEVBQUFnTyxNQUNB
aE8sRUFBQWdPLElBQUFrNEIsUUFBQSxTQW16REFqc0IsSUFyT0EsU0FBQUcsR0FDQUEsRUFBQXpR
LFVBQUF3OEIsVUFBQSxTQUFBcnBDLEdBQ0EsTUFBQWtVLElBQUFsVSxFQUFBb0MsT0FHQWtiLEVB
QUF6USxVQUFBMEUsUUFBQSxXQUNBLEdBQUFyTyxHQUFBZCxLQUNBMmYsRUFBQTdlLEVBQUFzRyxT
QUNBMkgsRUFBQTRRLEVBQUE1USxPQUNBNEgsRUFBQWdKLEVBQUFoSixnQkFDQTdHLEVBQUE2UCxF
QUFBN1AsWUFFQSxJQUFBaFAsRUFBQTBOLFdBRUEsT0FBQS9RLEtBQUFxRCxHQUFBc1AsT0FDQXRQ
LEVBQUFzUCxPQUFBM1MsR0FBQWlMLEdBQUE1SCxFQUFBc1AsT0FBQTNTLEdBSUFxRCxHQUFBOE8s
YUFBQUUsS0FBQS9ILEtBQUE0SCxhQUFBRSxHQUVBOEcsSUFBQTdWLEVBQUFzWSxlQUNBdFksRUFB
QXNZLGlCQUlBdFksRUFBQXVPLE9BQUFTLENBRUEsSUFBQWxJLEVBQ0EsS0FDQUEsRUFBQW1ILEVB
QUF0VCxLQUFBcUYsRUFBQXVZLGFBQUF2WSxFQUFBaVosZ0JBQ0ssTUFBQXRhLEdBQ0xtQixFQUFB
bkIsRUFBQXFCLEVBQUEsbUJBU0E4RyxFQUFBOUcsRUFBQWlQLE9BZ0JBLE1BWkFuSSxhQUFBRixN
QVFBRSxFQUFBMkQsTUFHQTNELEVBQUFuQyxPQUFBcUssRUFDQWxJLEdBTUFzVCxFQUFBelEsVUFB
QXk4QixHQUFBM3RCLEdBQ0EyQixFQUFBelEsVUFBQTA4QixHQUFBN3FDLEVBQ0E0ZSxFQUFBelEs
VUFBQTI4QixHQUFBbHJDLEVBQ0FnZixFQUFBelEsVUFBQTQ4QixHQUFBdnZCLEdBQ0FvRCxFQUFB
elEsVUFBQTY4QixHQUFBdnZCLEdBQ0FtRCxFQUFBelEsVUFBQTg4QixHQUFBcm9DLEVBQ0FnYyxF
QUFBelEsVUFBQSs4QixHQUFBM25DLEVBQ0FxYixFQUFBelEsVUFBQWc5QixHQUFBeHVCLEdBQ0Fp
QyxFQUFBelEsVUFBQWk5QixHQUFBdHZCLEdBQ0E4QyxFQUFBelEsVUFBQWs5QixHQUFBcnZCLEdB
Q0E0QyxFQUFBelEsVUFBQW05QixHQUFBbHZCLEdBQ0F3QyxFQUFBelEsVUFBQW85QixHQUFBcGdD
LEVBQ0F5VCxFQUFBelEsVUFBQXE5QixHQUFBdjhCLEdBQ0EyUCxFQUFBelEsVUFBQXM5QixHQUFB
ajZCLEdBQ0FvTixFQUFBelEsVUFBQXU5QixHQUFBdHVCLElBeUpBcUIsR0EwS0EsSUFBQWt0QixL
QUFBNXJDLE9BQUErNEIsT0FBQTMyQixPQXVDQXlwQyxJQUNBcGpDLEtBQUEsYUFDQWtKLFVBQUEs
RUFFQW5KLE9BQ0FzakMsUUFBQUYsR0FDQUcsUUFBQUgsSUFHQUksUUFBQSxXQUNBcm9DLEtBQUFu
QyxNQUFBbkQsT0FBQWtDLE9BQUEsT0FHQTByQyxVQUFBLFdBQ0EsR0FBQTlDLEdBQUF4bEMsSUFF
QSxRQUFBdkMsS0FBQStuQyxHQUFBM25DLE1BQ0FrZixHQUFBeW9CLEVBQUEzbkMsTUFBQUosS0FJ
QTBWLE9BQ0FnMUIsUUFBQSxTQUFBdnNDLEdBQ0ErZ0IsR0FBQTNjLEtBQUFuQyxNQUFBbUMsS0FB
QStQLE9BQUEsU0FBQWpMLEdBQTJELE1BQUEyWCxJQUFBN2dCLEVBQUFrSixNQUUzRHNqQyxRQUFB
LFNBQUF4c0MsR0FDQStnQixHQUFBM2MsS0FBQW5DLE1BQUFtQyxLQUFBK1AsT0FBQSxTQUFBakws
R0FBMkQsT0FBQTJYLEdBQUE3Z0IsRUFBQWtKLE9BSTNEaUssT0FBQSxXQUNBLEdBQUFuSCxHQUFB
K0UsR0FBQTNNLEtBQUFvUSxPQUFBakosU0FDQWlCLEVBQUFSLEtBQUFRLGdCQUNBLElBQUFBLEVB
QUEsQ0FFQSxHQUFBdEQsR0FBQTBYLEdBQUFwVSxFQUNBLElBQUF0RCxJQUNBOUUsS0FBQW1vQyxV
QUFBMXJCLEdBQUF6YyxLQUFBbW9DLFFBQUFyakMsSUFDQTlFLEtBQUFvb0MsU0FBQTNyQixHQUFB
emMsS0FBQW9vQyxRQUFBdGpDLElBRUEsTUFBQThDLEVBRUEsSUFBQW5LLEdBQUEsTUFBQW1LLEVB
QUFuSyxJQUdBMkssRUFBQTlHLEtBQUFxVSxLQUFBdk4sRUFBQU4sSUFBQSxLQUFBTSxFQUFBLFFB
Q0FSLEVBQUFuSyxHQUNBdUMsTUFBQW5DLE1BQUFKLEdBQ0FtSyxFQUFBb1Ysa0JBQUFoZCxLQUFB
bkMsTUFBQUosR0FBQXVmLGtCQUVBaGQsS0FBQW5DLE1BQUFKLEdBQUFtSyxFQUVBQSxFQUFBRyxL
QUFBODlCLFdBQUEsRUFFQSxNQUFBaitCLEtBSUEyZ0MsSUFDQUwsZUFLQSxTQUFBaHRCLEdBRUEs
R0FBQXN0QixLQUNBQSxHQUFBbmxDLElBQUEsV0FBK0IsTUFBQXJDLEtBUS9CdEcsT0FBQUMsZUFB
QXVnQixFQUFBLFNBQUFzdEIsR0FLQXR0QixFQUFBdXRCLE1BQ0E1akIsUUFDQW5tQixTQUNBOEcs
ZUFDQWtqQyxlQUFBNWxDLEdBR0FvWSxFQUFBM1gsTUFDQTJYLEVBQUF5dEIsT0FBQTdrQyxFQUNB
b1gsRUFBQXBKLFlBRUFvSixFQUFBdFcsUUFBQWxLLE9BQUFrQyxPQUFBLE1BQ0F3ZixHQUFBekgs
UUFBQSxTQUFBM1AsR0FDQWtXLEVBQUF0VyxRQUFBSSxFQUFBLEtBQUF0SyxPQUFBa0MsT0FBQSxR
QUtBc2UsRUFBQXRXLFFBQUE4USxNQUFBd0YsRUFFQXhjLEVBQUF3YyxFQUFBdFcsUUFBQTRWLFdB
QUErdEIsSUFFQXR0QixHQUFBQyxHQUNBUSxHQUFBUixHQUNBVSxHQUFBVixHQUNBb0IsR0FBQXBC
LElBR0FILElBRUFyZ0IsT0FBQUMsZUFBQW9nQixHQUFBdFEsVUFBQSxhQUNBcEgsSUFBQVgsS0FH
QWhJLE9BQUFDLGVBQUFvZ0IsR0FBQXRRLFVBQUEsZUFDQXBILElBQUEsV0FFQSxNQUFBckQsTUFB
QXFQLFFBQUFyUCxLQUFBcVAsT0FBQXU1QixjQUlBN3RCLEdBQUE4dEIsUUFBQSxPQU1BLElBZzlD
QXJoQyxJQUNBL0ssR0FDQTZwQixHQUNBTCxHQUNBQyxHQUNBQyxHQXdFQVksR0F5TEFtQixHQTRP
QTRnQixHQWw4REFqSCxHQUFBcmxDLEVBQUEsZUFHQXVzQyxHQUFBdnNDLEVBQUEsZ0NBQ0FzYyxH
QUFBLFNBQUFoUixFQUFBOUMsRUFBQXN4QixHQUNBLE1BQ0EsVUFBQUEsR0FBQXlTLEdBQUFqaEMs
SUFBQSxXQUFBOUMsR0FDQSxhQUFBc3hCLEdBQUEsV0FBQXh1QixHQUNBLFlBQUF3dUIsR0FBQSxV
QUFBeHVCLEdBQ0EsVUFBQXd1QixHQUFBLFVBQUF4dUIsR0FJQXFhLEdBQUEzbEIsRUFBQSx3Q0FF
QTZsQixHQUFBN2xCLEVBQ0Esd1lBUUF5bEIsR0FBQSwrQkFFQUYsR0FBQSxTQUFBamQsR0FDQSxZ
QUFBQSxFQUFBZ2YsT0FBQSxjQUFBaGYsRUFBQWtFLE1BQUEsTUFHQWtaLEdBQUEsU0FBQXBkLEdB
Q0EsTUFBQWlkLElBQUFqZCxLQUFBa0UsTUFBQSxFQUFBbEUsRUFBQTlILFFBQUEsSUFHQXNsQixH
QUFBLFNBQUExbUIsR0FDQSxhQUFBQSxJQUFBLElBQUFBLEdBc0ZBa2pCLElBQ0FrcUIsSUFBQSw2
QkFDQUMsS0FBQSxzQ0FHQUMsR0FBQTFzQyxFQUNBLHNuQkFlQXNoQixHQUFBdGhCLEVBQ0Esa05B
R0EsR0FHQSs2QixHQUFBLFNBQUF6dkIsR0FBK0IsY0FBQUEsR0FFL0I2UCxHQUFBLFNBQUE3UCxH
QUNBLE1BQUFvaEMsSUFBQXBoQyxJQUFBZ1csR0FBQWhXLElBY0FrVyxHQUFBdGpCLE9BQUFrQyxP
QUFBLE1BeUdBdXNDLEdBQUF6dUMsT0FBQXFuQyxRQUNBenNCLGNBQUFrSixHQUNBSSxtQkFDQUcs
a0JBQ0FDLGlCQUNBQyxnQkFDQUcsZUFDQUMsZUFDQWxDLGNBQ0FtQyxlQUNBYixXQUNBYyxrQkFD
QVosa0JBS0FnQixJQUNBL2lCLE9BQUEsU0FBQTBuQixFQUFBMWMsR0FDQTZYLEdBQUE3WCxJQUVB
ckMsT0FBQSxTQUFBOGEsRUFBQXpZLEdBQ0F5WSxFQUFBdFksS0FBQTRYLE1BQUEvWCxFQUFBRyxL
QUFBNFgsTUFDQUYsR0FBQVksR0FBQSxHQUNBWixHQUFBN1gsS0FHQXErQixRQUFBLFNBQUFyK0Is
R0FDQTZYLEdBQUE3WCxHQUFBLEtBNkNBNlksR0FBQSxHQUFBL1ksSUFBQSxVQUVBMGhDLElBQUEs
aURBNG5CQTlqQyxJQUNBMUksT0FBQXdqQixHQUNBN2EsT0FBQTZhLEdBQ0E2bEIsUUFBQSxTQUFB
citCLEdBQ0F3WSxHQUFBeFksRUFBQTZZLE1Bc0VBYSxHQUFBNW1CLE9BQUFrQyxPQUFBLE1BcUNB
eXNDLElBQ0ExcEIsR0FDQXJhLElBdUVBNkUsSUFDQXZOLE9BQUE4a0IsR0FDQW5jLE9BQUFtYyxJ
QW9DQTRuQixJQUNBMXNDLE9BQUE0bEIsR0FDQWpkLE9BQUFpZCxJQUtBdUIsR0FBQSxnQkFzV0E2
RCxHQUFBLE1BQ0FMLEdBQUEsTUFzT0F6QyxJQUNBbG9CLE9BQUE0ckIsR0FDQWpqQixPQUFBaWpC
LElBcUZBelAsSUFDQW5jLE9BQUE2ckIsR0FDQWxqQixPQUFBa2pCLElBS0FpQixHQUFBL3JCLEVB
QUEsU0FBQTRyQyxHQUNBLEdBQUF6cUMsTUFDQTBxQyxFQUFBLGdCQUNBQyxFQUFBLE9BT0EsT0FO
QUYsR0FBQXpzQyxNQUFBMHNDLEdBQUE3MEIsUUFBQSxTQUFBdlgsR0FDQSxHQUFBQSxFQUFBLENB
Q0EsR0FBQXFvQyxHQUFBcm9DLEVBQUFOLE1BQUEyc0MsRUFDQWhFLEdBQUF6b0MsT0FBQSxJQUFB
OEIsRUFBQTJtQyxFQUFBLEdBQUF0aUIsUUFBQXNpQixFQUFBLEdBQUF0aUIsV0FHQXJrQixJQXlE
QTRxQyxHQUFBLE1BQ0FDLEdBQUEsaUJBQ0F2ZixHQUFBLFNBQUF4YixFQUFBOUosRUFBQWxKLEdB
RUEsR0FBQTh0QyxHQUFBaHBDLEtBQUFvRSxHQUNBOEosRUFBQTBhLE1BQUFzZ0IsWUFBQTlrQyxF
QUFBbEosT0FDRyxJQUFBK3RDLEdBQUFqcEMsS0FBQTlFLEdBQ0hnVCxFQUFBMGEsTUFBQXNnQixZ
QUFBOWtDLEVBQUFsSixFQUFBOHVCLFFBQUFpZixHQUFBLHFCQUNHLENBQ0gsR0FBQUUsR0FBQUMs
R0FBQWhsQyxFQUNBLElBQUFyRyxNQUFBYSxRQUFBMUQsR0FJQSxPQUFBbUIsR0FBQSxFQUFBeUss
RUFBQTVMLEVBQUFvQixPQUF1Q0QsRUFBQXlLLEVBQVN6SyxJQUNoRDZSLEVBQUEwYSxNQUFBdWdC
LEdBQUFqdUMsRUFBQW1CLE9BR0E2UixHQUFBMGEsTUFBQXVnQixHQUFBanVDLElBS0FtdUMsSUFB
QSxxQkFHQUQsR0FBQW5zQyxFQUFBLFNBQUFpSixHQUdBLEdBRkFraUMsT0FBQTdxQixTQUFBM0ks
Y0FBQSxPQUFBZ1UsTUFFQSxZQURBMWlCLEVBQUE3QixHQUFBNkIsS0FDQUEsSUFBQWtpQyxJQUNB
LE1BQUFsaUMsRUFHQSxRQURBb2pDLEdBQUFwakMsRUFBQWtkLE9BQUEsR0FBQXFkLGNBQUF2NkIs
RUFBQW9DLE1BQUEsR0FDQWpNLEVBQUEsRUFBaUJBLEVBQUFndEMsR0FBQS9zQyxPQUF3QkQsSUFB
QSxDQUN6QyxHQUFBK0gsR0FBQWlsQyxHQUFBaHRDLEdBQUFpdEMsQ0FDQSxJQUFBbGxDLElBQUFn
a0MsSUFDQSxNQUFBaGtDLE1BZ0RBd2tCLElBQ0Exc0IsT0FBQWt0QixHQUNBdmtCLE9BQUF1a0Is
SUFvRkFnQixHQUFBbnRCLEVBQUEsU0FBQW1ILEdBQ0EsT0FDQTJvQixXQUFBM29CLEVBQUEsU0FD
QTRvQixhQUFBNW9CLEVBQUEsWUFDQTZvQixpQkFBQTdvQixFQUFBLGdCQUNBZ3JCLFdBQUFockIs
RUFBQSxTQUNBa3JCLGFBQUFsckIsRUFBQSxZQUNBaXJCLGlCQUFBanJCLEVBQUEsbUJBSUFtbEMs
R0FBQS9vQyxLQUFBNGdCLEdBQ0EySixHQUFBLGFBQ0FpQixHQUFBLFlBR0FSLEdBQUEsYUFDQVIs
R0FBQSxnQkFDQWEsR0FBQSxZQUNBWixHQUFBLGNBQ0FzZSxVQUVBanZDLEtBQUFrakIsT0FBQWdz
QixxQkFDQWx2QyxLQUFBa2pCLE9BQUFpc0Isd0JBRUFqZSxHQUFBLG1CQUNBUixHQUFBLDJCQUVB
MXdCLEtBQUFrakIsT0FBQWtzQixvQkFDQXB2QyxLQUFBa2pCLE9BQUFtc0IsdUJBRUE5ZCxHQUFB
LGtCQUNBWixHQUFBLHNCQUtBLElBQUFYLElBQUE5cEIsSUFBQWdkLE9BQUFvc0Isc0JBQ0Fwc0Is
T0FBQW9zQixzQkFBQXhzQyxLQUFBb2dCLFFBQ0F6UixXQXNEQW1nQixHQUFBLHlCQWlYQVUsR0FB
QXBzQixJQUNBdEUsT0FBQTB6QixHQUNBaWEsU0FBQWphLEdBQ0FwekIsT0FBQSxTQUFBMEssRUFB
QStuQixJQUVBLElBQUEvbkIsRUFBQUcsS0FBQXVuQixLQUNBSSxHQUFBOW5CLEVBQUErbkIsR0FF
QUEsU0FLQTZhLElBQ0FyZ0MsR0FDQW0vQixHQUNBeGtCLEdBQ0EvTCxHQUNBdVEsR0FDQWdFLElB
T0FsSixHQUFBb21CLEdBQUEvbEMsT0FBQTRrQyxJQUVBb0IsR0E1ckVBLFNBQUFDLEdBZ0JBLFFB
QUFDLEdBQUF6aUMsR0FDQSxVQUFBUixJQUFBeWhDLEVBQUExcUIsUUFBQXZXLEdBQUFqTCx3QkFB
MkRqQyxHQUFBa04sR0FHM0QsUUFBQTBpQyxHQUFBQyxFQUFBOTlCLEdBQ0EsUUFBQTFELEtBQ0Es
S0FBQUEsRUFBQTBELFdBQ0ErOUIsRUFBQUQsR0FJQSxNQURBeGhDLEdBQUEwRCxZQUNBMUQsRUFH
QSxRQUFBeWhDLEdBQUFsOEIsR0FDQSxHQUFBbkosR0FBQTBqQyxFQUFBaHNCLFdBQUF2TyxFQUVB
M1QsR0FBQXdLLElBQ0EwakMsRUFBQS9wQixZQUFBM1osRUFBQW1KLEdBS0EsUUFBQW04QixHQUFB
bmpDLEVBQUFvakMsRUFBQTcwQixFQUFBQyxFQUFBNjBCLEdBRUEsR0FEQXJqQyxFQUFBOG1CLGNB
QUF1YyxHQUNBeDFCLEVBQUE3TixFQUFBb2pDLEVBQUE3MEIsRUFBQUMsR0FBQSxDQUlBLEdBQUFy
TyxHQUFBSCxFQUFBRyxLQUNBQyxFQUFBSixFQUFBSSxTQUNBRixFQUFBRixFQUFBRSxHQUNBN00s
R0FBQTZNLElBbUJBRixFQUFBTSxJQUFBTixFQUFBVSxHQUNBNmdDLEVBQUF2cUIsZ0JBQUFoWCxF
QUFBVSxHQUFBUixHQUNBcWhDLEVBQUE3ekIsY0FBQXhOLEVBQUFGLEdBQ0FzakMsRUFBQXRqQyxH
QUlBdWpDLEVBQUF2akMsRUFBQUksRUFBQWdqQyxHQUNBL3ZDLEVBQUE4TSxJQUNBcWpDLEVBQUF4
akMsRUFBQW9qQyxHQUVBaEYsRUFBQTd2QixFQUFBdk8sRUFBQU0sSUFBQWtPLElBTUtsYixFQUFB
ME0sRUFBQVksWUFDTFosRUFBQU0sSUFBQWloQyxFQUFBbnFCLGNBQUFwWCxFQUFBSyxNQUNBKzlC
LEVBQUE3dkIsRUFBQXZPLEVBQUFNLElBQUFrTyxLQUVBeE8sRUFBQU0sSUFBQWloQyxFQUFBcHFC
LGVBQUFuWCxFQUFBSyxNQUNBKzlCLEVBQUE3dkIsRUFBQXZPLEVBQUFNLElBQUFrTyxLQUlBLFFB
QUFYLEdBQUE3TixFQUFBb2pDLEVBQUE3MEIsRUFBQUMsR0FDQSxHQUFBclosR0FBQTZLLEVBQUFH
LElBQ0EsSUFBQTlNLEVBQUE4QixHQUFBLENBQ0EsR0FBQXN1QyxHQUFBcHdDLEVBQUEyTSxFQUFB
b1Ysb0JBQUFqZ0IsRUFBQThvQyxTQVFBLElBUEE1cUMsRUFBQThCLElBQUErTSxPQUFBN08sRUFB
QThCLElBQUE0b0MsT0FDQTVvQyxFQUFBNkssR0FBQSxFQUFBdU8sRUFBQUMsR0FNQW5iLEVBQUEy
TSxFQUFBb1YsbUJBS0EsTUFKQXN1QixHQUFBMWpDLEVBQUFvakMsR0FDQTl2QyxFQUFBbXdDLElB
Q0FFLEVBQUEzakMsRUFBQW9qQyxFQUFBNzBCLEVBQUFDLElBRUEsR0FLQSxRQUFBazFCLEdBQUEx
akMsRUFBQW9qQyxHQUNBL3ZDLEVBQUEyTSxFQUFBRyxLQUFBeWpDLGlCQUNBUixFQUFBcHBDLEtB
QUF4RCxNQUFBNHNDLEVBQUFwakMsRUFBQUcsS0FBQXlqQyxlQUNBNWpDLEVBQUFHLEtBQUF5akMs
Y0FBQSxNQUVBNWpDLEVBQUFNLElBQUFOLEVBQUFvVixrQkFBQWxPLElBQ0EyOEIsRUFBQTdqQyxJ
QUNBd2pDLEVBQUF4akMsRUFBQW9qQyxHQUNBRSxFQUFBdGpDLEtBSUE2WCxHQUFBN1gsR0FFQW9q
QyxFQUFBcHBDLEtBQUFnRyxJQUlBLFFBQUEyakMsR0FBQTNqQyxFQUFBb2pDLEVBQUE3MEIsRUFB
QUMsR0FPQSxJQU5BLEdBQUFyWixHQUtBMnVDLEVBQUE5akMsRUFDQThqQyxFQUFBMXVCLG1CQUVB
LEdBREEwdUIsSUFBQTF1QixrQkFBQWpOLE9BQ0E5VSxFQUFBOEIsRUFBQTJ1QyxFQUFBM2pDLE9B
QUE5TSxFQUFBOEIsSUFBQXV3QixZQUFBLENBQ0EsSUFBQXZ3QixFQUFBLEVBQW1CQSxFQUFBNHBD
LEVBQUE0RCxTQUFBdnRDLFNBQXlCRCxFQUM1QzRwQyxFQUFBNEQsU0FBQXh0QyxHQUFBMGpCLEdB
QUFpckIsRUFFQVYsR0FBQXBwQyxLQUFBOHBDLEVBQ0EsT0FLQTFGLEVBQUE3dkIsRUFBQXZPLEVB
QUFNLElBQUFrTyxHQUdBLFFBQUE0dkIsR0FBQXZnQyxFQUFBeUMsRUFBQXlqQyxHQUNBMXdDLEVB
QUF3SyxLQUNBeEssRUFBQTB3QyxHQUNBQSxFQUFBeHVCLGFBQUExWCxHQUNBMGpDLEVBQUFscUIs
YUFBQXhaLEVBQUF5QyxFQUFBeWpDLEdBR0F4QyxFQUFBOXBCLFlBQUE1WixFQUFBeUMsSUFLQSxR
QUFBaWpDLEdBQUF2akMsRUFBQUksRUFBQWdqQyxHQUNBLEdBQUF2c0MsTUFBQWEsUUFBQTBJLEdB
Q0EsT0FBQWpMLEdBQUEsRUFBcUJBLEVBQUFpTCxFQUFBaEwsU0FBcUJELEVBQzFDZ3VDLEVBQUEv
aUMsRUFBQWpMLEdBQUFpdUMsRUFBQXBqQyxFQUFBTSxJQUFBLGFBRUs5TSxHQUFBd00sRUFBQUss
T0FDTGtoQyxFQUFBOXBCLFlBQUF6WCxFQUFBTSxJQUFBaWhDLEVBQUFwcUIsZUFBQW5YLEVBQUFL
LE9BSUEsUUFBQXdqQyxHQUFBN2pDLEdBQ0EsS0FBQUEsRUFBQW9WLG1CQUNBcFYsSUFBQW9WLGtC
QUFBak4sTUFFQSxPQUFBOVUsR0FBQTJNLEVBQUFFLEtBR0EsUUFBQXNqQyxHQUFBeGpDLEVBQUFv
akMsR0FDQSxPQUFBalMsR0FBQSxFQUFxQkEsRUFBQTROLEVBQUEvcEMsT0FBQUksU0FBeUIrN0Is
RUFDOUM0TixFQUFBL3BDLE9BQUFtOEIsR0FBQXRZLEdBQUE3WSxFQUVBN0ssR0FBQTZLLEVBQUFH
LEtBQUErQixLQUNBN08sRUFBQThCLEtBQ0E5QixFQUFBOEIsRUFBQUgsU0FBNEJHLEVBQUFILE9B
QUE2akIsR0FBQTdZLEdBQzVCM00sRUFBQThCLEVBQUFpcEMsU0FBNEJnRixFQUFBcHBDLEtBQUFn
RyxJQU81QixRQUFBc2pDLEdBQUF0akMsR0FHQSxJQUZBLEdBQUE3SyxHQUNBNnVDLEVBQUFoa0Ms
RUFDQWdrQyxHQUNBM3dDLEVBQUE4QixFQUFBNnVDLEVBQUF6akMsVUFBQWxOLEVBQUE4QixJQUFB
cUssU0FBQXlrQyxXQUNBMUMsRUFBQXhxQixhQUFBL1csRUFBQU0sSUFBQW5MLEVBQUEsSUFFQTZ1
QyxJQUFBbm1DLE1BR0F4SyxHQUFBOEIsRUFBQXd4QixLQUNBeHhCLElBQUE2SyxFQUFBTyxTQUNB
bE4sRUFBQThCLElBQUFxSyxTQUFBeWtDLFdBRUExQyxFQUFBeHFCLGFBQUEvVyxFQUFBTSxJQUFB
bkwsRUFBQSxJQUlBLFFBQUErdUMsR0FBQTMxQixFQUFBQyxFQUFBek4sRUFBQW9qQyxFQUFBNXJC
LEVBQUE2cUIsR0FDQSxLQUFVZSxHQUFBNXJCLElBQW9CNHJCLEVBQzlCaEIsRUFBQXBpQyxFQUFB
b2pDLEdBQUFmLEVBQUE3MEIsRUFBQUMsR0FJQSxRQUFBNDFCLEdBQUFwa0MsR0FDQSxHQUFBN0ss
R0FBQTJULEVBQ0EzSSxFQUFBSCxFQUFBRyxJQUNBLElBQUE5TSxFQUFBOE0sR0FFQSxJQURBOU0s
RUFBQThCLEVBQUFnTCxFQUFBK0IsT0FBQTdPLEVBQUE4QixJQUFBa3BDLFVBQXlEbHBDLEVBQUE2
SyxHQUN6RDdLLEVBQUEsRUFBaUJBLEVBQUE0cEMsRUFBQVYsUUFBQWpwQyxTQUF3QkQsRUFBTzRw
QyxFQUFBVixRQUFBbHBDLEdBQUE2SyxFQUVoRCxJQUFBM00sRUFBQThCLEVBQUE2SyxFQUFBSSxV
QUNBLElBQUEwSSxFQUFBLEVBQWlCQSxFQUFBOUksRUFBQUksU0FBQWhMLFNBQTJCMFQsRUFDNUNz
N0IsRUFBQXBrQyxFQUFBSSxTQUFBMEksSUFLQSxRQUFBdTdCLEdBQUE5MUIsRUFBQXhOLEVBQUFv
akMsRUFBQTVyQixHQUNBLEtBQVU0ckIsR0FBQTVyQixJQUFvQjRyQixFQUFBLENBQzlCLEdBQUFH
LEdBQUF2akMsRUFBQW9qQyxFQUNBOXdDLEdBQUFpeEMsS0FDQWp4QyxFQUFBaXhDLEVBQUFwa0Ms
TUFDQXFrQyxFQUFBRCxHQUNBRixFQUFBRSxJQUVBcEIsRUFBQW9CLEVBQUFoa0MsT0FNQSxRQUFB
aWtDLEdBQUF2a0MsRUFBQStuQixHQUNBLEdBQUExMEIsRUFBQTAwQixJQUFBMTBCLEVBQUEyTSxF
QUFBRyxNQUFBLENBQ0EsR0FBQWhMLEdBQ0FnUSxFQUFBNDVCLEVBQUF6cEMsT0FBQUYsT0FBQSxD
QWFBLEtBWkEvQixFQUFBMDBCLEdBR0FBLEVBQUE1aUIsYUFHQTRpQixFQUFBaWIsRUFBQWhqQyxF
QUFBTSxJQUFBNkUsR0FHQTlSLEVBQUE4QixFQUFBNkssRUFBQW9WLG9CQUFBL2hCLEVBQUE4QixJ
QUFBZ1QsU0FBQTlVLEVBQUE4QixFQUFBZ0wsT0FDQW9rQyxFQUFBcHZDLEVBQUE0eUIsR0FFQTV5
QixFQUFBLEVBQWlCQSxFQUFBNHBDLEVBQUF6cEMsT0FBQUYsU0FBdUJELEVBQ3hDNHBDLEVBQUF6
cEMsT0FBQUgsR0FBQTZLLEVBQUErbkIsRUFFQTEwQixHQUFBOEIsRUFBQTZLLEVBQUFHLEtBQUEr
QixPQUFBN08sRUFBQThCLElBQUFHLFFBQ0FILEVBQUE2SyxFQUFBK25CLEdBRUFBLFFBR0FtYixH
QUFBbGpDLEVBQUFNLEtBSUEsUUFBQWtrQyxHQUFBajJCLEVBQUFrMkIsRUFBQUMsRUFBQXRCLEVB
QUF1QixHQWdCQSxJQWZBLEdBUUFDLEdBQUFDLEVBQUFDLEVBQUF0MkIsRUFSQXUyQixFQUFBLEVB
Q0FDLEVBQUEsRUFDQUMsRUFBQVIsRUFBQXJ2QyxPQUFBLEVBQ0E4dkMsRUFBQVQsRUFBQSxHQUNB
VSxFQUFBVixFQUFBUSxHQUNBRyxFQUFBVixFQUFBdHZDLE9BQUEsRUFDQWl3QyxFQUFBWCxFQUFB
LEdBQ0FZLEVBQUFaLEVBQUFVLEdBTUFHLEdBQUFaLEVBRUFJLEdBQUFFLEdBQUFELEdBQUFJLEdB
Q0FseUMsRUFBQWd5QyxHQUNBQSxFQUFBVCxJQUFBTSxHQUNPN3hDLEVBQUFpeUMsR0FDUEEsRUFB
QVYsSUFBQVEsR0FDTy9zQixHQUFBZ3RCLEVBQUFHLElBQ1BHLEVBQUFOLEVBQUFHLEVBQUFqQyxH
QUNBOEIsRUFBQVQsSUFBQU0sR0FDQU0sRUFBQVgsSUFBQU0sSUFDTzlzQixHQUFBaXRCLEVBQUFH
LElBQ1BFLEVBQUFMLEVBQUFHLEVBQUFsQyxHQUNBK0IsRUFBQVYsSUFBQVEsR0FDQUssRUFBQVos
SUFBQVUsSUFDT2x0QixHQUFBZ3RCLEVBQUFJLElBQ1BFLEVBQUFOLEVBQUFJLEVBQUFsQyxHQUNB
bUMsR0FBQWhFLEVBQUFscUIsYUFBQTlJLEVBQUEyMkIsRUFBQTVrQyxJQUFBaWhDLEVBQUE3cEIs
WUFBQXl0QixFQUFBN2tDLE1BQ0E0a0MsRUFBQVQsSUFBQU0sR0FDQU8sRUFBQVosSUFBQVUsSUFD
T2x0QixHQUFBaXRCLEVBQUFFLElBQ1BHLEVBQUFMLEVBQUFFLEVBQUFqQyxHQUNBbUMsR0FBQWhF
LEVBQUFscUIsYUFBQTlJLEVBQUE0MkIsRUFBQTdrQyxJQUFBNGtDLEVBQUE1a0MsS0FDQTZrQyxF
QUFBVixJQUFBUSxHQUNBSSxFQUFBWCxJQUFBTSxLQUVBOXhDLEVBQUEweEMsS0FBbUNBLEVBQUF2
c0IsR0FBQW9zQixFQUFBTSxFQUFBRSxJQUNuQ0osRUFBQXh4QyxFQUFBZ3lDLEVBQUF4dkMsS0FB
QSt1QyxFQUFBUyxFQUFBeHZDLEtBQUEsS0FDQTNDLEVBQUEyeEMsSUFDQTFCLEVBQUFrQyxFQUFB
akMsRUFBQTcwQixFQUFBMjJCLEVBQUE1a0MsS0FDQStrQyxFQUFBWCxJQUFBTSxLQUVBRixFQUFB
TCxFQUFBSSxHQVFBM3NCLEdBQUE0c0IsRUFBQU8sSUFDQUcsRUFBQVYsRUFBQU8sRUFBQWpDLEdB
Q0FxQixFQUFBSSxPQUFBenhDLEdBQ0FteUMsR0FBQWhFLEVBQUFscUIsYUFBQTlJLEVBQUF1MkIs
RUFBQXhrQyxJQUFBNGtDLEVBQUE1a0MsS0FDQStrQyxFQUFBWCxJQUFBTSxLQUdBN0IsRUFBQWtD
LEVBQUFqQyxFQUFBNzBCLEVBQUEyMkIsRUFBQTVrQyxLQUNBK2tDLEVBQUFYLElBQUFNLEtBS0FE
LEdBQUFFLEdBQ0F6MkIsRUFBQXRiLEVBQUF3eEMsRUFBQVUsRUFBQSxTQUFBVixFQUFBVSxFQUFB
LEdBQUE5a0MsSUFDQTRqQyxFQUFBMzFCLEVBQUFDLEVBQUFrMkIsRUFBQU0sRUFBQUksRUFBQWhD
LElBQ0s0QixFQUFBSSxHQUNMZixFQUFBOTFCLEVBQUFrMkIsRUFBQU0sRUFBQUUsR0FJQSxRQUFB
TyxHQUFBL3NCLEVBQUF6WSxFQUFBb2pDLEVBQUF1QixHQUNBLEdBQUFsc0IsSUFBQXpZLEVBQUEs
Q0FJQSxHQUFBTSxHQUFBTixFQUFBTSxJQUFBbVksRUFBQW5ZLEdBRUEsSUFBQWhOLEVBQUFtbEIs
RUFBQUwsb0JBTUEsWUFMQS9rQixFQUFBMk0sRUFBQVMsYUFBQXVELFVBQ0F5aEMsRUFBQWh0QixF
QUFBblksSUFBQU4sRUFBQW9qQyxHQUVBcGpDLEVBQUFvWSxvQkFBQSxFQVNBLElBQUE5a0IsRUFB
QTBNLEVBQUFXLFdBQ0FyTixFQUFBbWxCLEVBQUE5WCxXQUNBWCxFQUFBbkssTUFBQTRpQixFQUFB
NWlCLE1BQ0F2QyxFQUFBME0sRUFBQWEsV0FBQXZOLEVBQUEwTSxFQUFBNFIsU0FHQSxZQURBNVIs
RUFBQW9WLGtCQUFBcUQsRUFBQXJELGtCQUlBLElBQUFqZ0IsR0FDQWdMLEVBQUFILEVBQUFHLElB
Q0E5TSxHQUFBOE0sSUFBQTlNLEVBQUE4QixFQUFBZ0wsRUFBQStCLE9BQUE3TyxFQUFBOEIsSUFB
QWdwQyxXQUNBaHBDLEVBQUFzakIsRUFBQXpZLEVBR0EsSUFBQXlrQyxHQUFBaHNCLEVBQUFyWSxT
QUNBa2tDLEVBQUF0a0MsRUFBQUksUUFDQSxJQUFBL00sRUFBQThNLElBQUEwakMsRUFBQTdqQyxH
QUFBLENBQ0EsSUFBQTdLLEVBQUEsRUFBaUJBLEVBQUE0cEMsRUFBQXBoQyxPQUFBdkksU0FBdUJE
LEVBQU80cEMsRUFBQXBoQyxPQUFBeEksR0FBQXNqQixFQUFBelksRUFDL0MzTSxHQUFBOEIsRUFB
QWdMLEVBQUErQixPQUFBN08sRUFBQThCLElBQUF3SSxTQUF3RHhJLEVBQUFzakIsRUFBQXpZLEdB
RXhEOU0sRUFBQThNLEVBQUFLLE1BQ0FoTixFQUFBb3hDLElBQUFweEMsRUFBQWl4QyxHQUNBRyxJ
QUFBSCxHQUEyQkUsRUFBQWxrQyxFQUFBbWtDLEVBQUFILEVBQUFsQixFQUFBdUIsR0FDcEJ0eEMs
RUFBQWl4QyxJQUNQanhDLEVBQUFvbEIsRUFBQXBZLE9BQW1Da2hDLEVBQUE1cEIsZUFBQXJYLEVB
QUEsSUFDbkM0akMsRUFBQTVqQyxFQUFBLEtBQUFna0MsRUFBQSxFQUFBQSxFQUFBbHZDLE9BQUEs
RUFBQWd1QyxJQUNPL3ZDLEVBQUFveEMsR0FDUEosRUFBQS9qQyxFQUFBbWtDLEVBQUEsRUFBQUEs
RUFBQXJ2QyxPQUFBLEdBQ08vQixFQUFBb2xCLEVBQUFwWSxPQUNQa2hDLEVBQUE1cEIsZUFBQXJY
LEVBQUEsSUFFS21ZLEVBQUFwWSxPQUFBTCxFQUFBSyxNQUNMa2hDLEVBQUE1cEIsZUFBQXJYLEVB
QUFOLEVBQUFLLE1BRUFoTixFQUFBOE0sSUFDQTlNLEVBQUE4QixFQUFBZ0wsRUFBQStCLE9BQUE3
TyxFQUFBOEIsSUFBQXV3QyxZQUEyRHZ3QyxFQUFBc2pCLEVBQUF6WSxJQUkzRCxRQUFBMmxDLEdB
QUEzbEMsRUFBQWlKLEVBQUEyOEIsR0FHQSxHQUFBdHlDLEVBQUFzeUMsSUFBQXZ5QyxFQUFBMk0s
RUFBQW5DLFFBQ0FtQyxFQUFBbkMsT0FBQXNDLEtBQUF5akMsY0FBQTM2QixNQUVBLFFBQUE5VCxH
QUFBLEVBQXFCQSxFQUFBOFQsRUFBQTdULFNBQWtCRCxFQUN2QzhULEVBQUE5VCxHQUFBZ0wsS0FB
QStCLEtBQUFrOEIsT0FBQW4xQixFQUFBOVQsSUFXQSxRQUFBc3dDLEdBQUFubEMsRUFBQU4sRUFB
QW9qQyxHQUNBLEdBQUE5dkMsRUFBQTBNLEVBQUFZLFlBQUF2TixFQUFBMk0sRUFBQVMsY0FHQSxN
QUZBVCxHQUFBTSxNQUNBTixFQUFBb1ksb0JBQUEsR0FDQSxDQU9BcFksR0FBQU0sS0FDQSxJQUFB
SixHQUFBRixFQUFBRSxJQUNBQyxFQUFBSCxFQUFBRyxLQUNBQyxFQUFBSixFQUFBSSxRQUNBLElB
QUEvTSxFQUFBOE0sS0FDQTlNLEVBQUE4QixFQUFBZ0wsRUFBQStCLE9BQUE3TyxFQUFBOEIsSUFB
QTRvQyxPQUFzRDVvQyxFQUFBNkssR0FBQSxHQUN0RDNNLEVBQUE4QixFQUFBNkssRUFBQW9WLG9C
QUdBLE1BREFzdUIsR0FBQTFqQyxFQUFBb2pDLElBQ0EsQ0FHQSxJQUFBL3ZDLEVBQUE2TSxHQUFB
LENBQ0EsR0FBQTdNLEVBQUErTSxHQUVBLEdBQUFFLEVBQUF1bEMsZ0JBRVMsQ0FHVCxPQUZBQyxJ
QUFBLEVBQ0F0d0IsRUFBQWxWLEVBQUF5bEMsV0FDQTVVLEVBQUEsRUFBMkJBLEVBQUEvd0IsRUFB
QWhMLE9BQXVCKzdCLElBQUEsQ0FDbEQsSUFBQTNiLElBQUFpd0IsRUFBQWp3QixFQUFBcFYsRUFB
QSt3QixHQUFBaVMsR0FBQSxDQUNBMEMsR0FBQSxDQUNBLE9BRUF0d0IsSUFBQWtDLFlBSUEsSUFB
QW91QixHQUFBdHdCLEVBU0EsYUF0QkErdEIsR0FBQXZqQyxFQUFBSSxFQUFBZ2pDLEVBMEJBLElB
QUEvdkMsRUFBQThNLEdBQ0EsT0FBQXRLLEtBQUFzSyxHQUNBLElBQUE2bEMsRUFBQW53QyxHQUFB
LENBQ0EydEMsRUFBQXhqQyxFQUFBb2pDLEVBQ0EsWUFJSzlpQyxHQUFBSCxPQUFBSCxFQUFBSyxP
QUNMQyxFQUFBSCxLQUFBSCxFQUFBSyxLQUVBLFVBOWVBLEdBQUFsTCxHQUFBMlQsRUFDQWkyQixL
QUVBdmlCLEVBQUFzbUIsRUFBQXRtQixRQUNBK2tCLEVBQUF1QixFQUFBdkIsT0FFQSxLQUFBcHND
LEVBQUEsRUFBYUEsRUFBQXFzQyxHQUFBcHNDLFNBQWtCRCxFQUUvQixJQURBNHBDLEVBQUF5QyxH
QUFBcnNDLE9BQ0EyVCxFQUFBLEVBQWVBLEVBQUEwVCxFQUFBcG5CLFNBQW9CMFQsRUFDbkN6VixF
QUFBbXBCLEVBQUExVCxHQUFBMDRCLEdBQUFyc0MsTUFDQTRwQyxFQUFBeUMsR0FBQXJzQyxJQUFB
NkUsS0FBQXdpQixFQUFBMVQsR0FBQTA0QixHQUFBcnNDLElBMkJBLElBc1lBNndDLEdBQUFweEMs
RUFBQSxnREFpRkEsaUJBQUE2akIsRUFBQXpZLEVBQUFpSCxFQUFBMDlCLEVBQUFwMkIsRUFBQUMs
R0FDQSxHQUFBdGIsRUFBQThNLEdBRUEsWUFEQTNNLEVBQUFvbEIsSUFBNEIyckIsRUFBQTNyQixH
QUk1QixJQUFBd3RCLElBQUEsRUFDQTdDLElBRUEsSUFBQWx3QyxFQUFBdWxCLEdBRUF3dEIsR0FB
QSxFQUNBOUMsRUFBQW5qQyxFQUFBb2pDLEVBQUE3MEIsRUFBQUMsT0FDSyxDQUNMLEdBQUEwM0Is
R0FBQTd5QyxFQUFBb2xCLEVBQUFtTixTQUNBLEtBQUFzZ0IsR0FBQWh1QixHQUFBTyxFQUFBelks
R0FFQXdsQyxFQUFBL3NCLEVBQUF6WSxFQUFBb2pDLEVBQUF1QixPQUNPLENBQ1AsR0FBQXVCLEVB
QUEsQ0FRQSxHQUpBLElBQUF6dEIsRUFBQW1OLFVBQUFuTixFQUFBMHRCLGFBQUExTSxNQUNBaGhC
LEVBQUErQixnQkFBQWlmLElBQ0F4eUIsR0FBQSxHQUVBM1QsRUFBQTJULElBQ0F3K0IsRUFBQWh0
QixFQUFBelksRUFBQW9qQyxHQUVBLE1BREF1QyxHQUFBM2xDLEVBQUFvakMsR0FBQSxHQUNBM3FC
LENBYUFBLEdBQUFzcUIsRUFBQXRxQixHQUdBLEdBQUEydEIsR0FBQTN0QixFQUFBblksSUFDQSts
QyxFQUFBOUUsRUFBQWhzQixXQUFBNndCLEVBV0EsSUFWQWpELEVBQ0FuakMsRUFDQW9qQyxFQUlB
Z0QsRUFBQTVnQixTQUFBLEtBQUE2Z0IsRUFDQTlFLEVBQUE3cEIsWUFBQTB1QixJQUdBL3lDLEVB
QUEyTSxFQUFBbkMsUUFBQSxDQUlBLElBREEsR0FBQW1tQyxHQUFBaGtDLEVBQUFuQyxPQUNBbW1D
LEdBQ0FBLEVBQUExakMsSUFBQU4sRUFBQU0sSUFDQTBqQyxJQUFBbm1DLE1BRUEsSUFBQWdtQyxF
QUFBN2pDLEdBQ0EsT0FBQTdLLEdBQUEsRUFBMkJBLEVBQUE0cEMsRUFBQS9wQyxPQUFBSSxTQUF1
QkQsRUFDbEQ0cEMsRUFBQS9wQyxPQUFBRyxHQUFBMGpCLEdBQUE3WSxFQUFBbkMsUUFLQXhLLEVB
QUFnekMsR0FDQWhDLEVBQUFnQyxHQUFBNXRCLEdBQUEsS0FDU3BsQixFQUFBb2xCLEVBQUF2WSxN
QUNUa2tDLEVBQUEzckIsSUFNQSxNQURBa3RCLEdBQUEzbEMsRUFBQW9qQyxFQUFBNkMsR0FDQWpt
QyxFQUFBTSxPQTZtRGlDaWhDLFdBQUEva0IsYUFPakM4cEIsR0FBQTF4QyxFQUFBLDRDQUdBc2xC
LEtBRUE3RCxTQUFBb0ssaUJBQUEsNkJBQ0EsR0FBQXpaLEdBQUFxUCxTQUFBa0wsYUFDQXZhLE1B
QUF1L0IsUUFDQXBkLEdBQUFuaUIsRUFBQSxVQUtBLElBQUF3L0IsS0FDQWp0QixTQUFBLFNBQUF2
UyxFQUFBNGhCLEVBQUE1b0IsR0FDQSxjQUFBQSxFQUFBRSxJQUFBLENBQ0EsR0FBQXdqQixHQUFB
LFdBQ0FpRixHQUFBM2hCLEVBQUE0aEIsRUFBQTVvQixFQUFBTyxTQUVBbWpCLE1BRUF4RCxJQUFB
c2EsS0FDQTMxQixXQUFBNmUsRUFBQSxHQUVBMWMsRUFBQXkvQixhQUFBMXhDLElBQUFsQixLQUFB
bVQsRUFBQWhLLFFBQUErckIsU0FDSyxhQUFBL29CLEVBQUFFLEtBQUFvbUMsR0FBQXQvQixFQUFB
NUosU0FDTDRKLEVBQUF3YSxZQUFBb0gsRUFBQW5QLFVBQ0FtUCxFQUFBblAsVUFBQXFHLE9BS0E5
WSxFQUFBeVosaUJBQUEsU0FBQXlJLElBQ0F1UixLQUNBenpCLEVBQUF5WixpQkFBQSxtQkFBQXdJ
LElBQ0FqaUIsRUFBQXlaLGlCQUFBLGlCQUFBeUksS0FHQWhQLEtBQ0FsVCxFQUFBdS9CLFFBQUEs
TUFLQWp0QixpQkFBQSxTQUFBdFMsRUFBQTRoQixFQUFBNW9CLEdBQ0EsY0FBQUEsRUFBQUUsSUFB
QSxDQUNBeW9CLEdBQUEzaEIsRUFBQTRoQixFQUFBNW9CLEVBQUFPLFFBS0EsSUFBQW1tQyxHQUFB
MS9CLEVBQUF5L0IsV0FDQXovQixFQUFBeS9CLGFBQUExeEMsSUFBQWxCLEtBQUFtVCxFQUFBaEss
UUFBQStyQixLQUNBcVAsS0FBQSxTQUFBdU8sRUFBQXh4QyxHQUEyQyxPQUFBbUMsRUFBQXF2QyxF
QUFBRCxFQUFBdnhDLE9BQzNDZzBCLEdBQUFuaUIsRUFBQSxhQXVFQTBnQixJQUNBeHhCLEtBQUEs
U0FBQThRLEVBQUErUSxFQUFBL1gsR0FDQSxHQUFBaE4sR0FBQStrQixFQUFBL2tCLEtBRUFnTixH
QUFBdXBCLEdBQUF2cEIsRUFDQSxJQUFBNG1DLEdBQUE1bUMsRUFBQUcsTUFBQUgsRUFBQUcsS0FB
QXVsQixXQUNBbWhCLEVBQUE3L0IsRUFBQTgvQixtQkFDQSxTQUFBOS9CLEVBQUEwYSxNQUFBcWxC
LFFBQUEsR0FBQS8vQixFQUFBMGEsTUFBQXFsQixPQUNBL3pDLElBQUE0ekMsR0FDQTVtQyxFQUFB
RyxLQUFBdW5CLE1BQUEsRUFDQXBDLEdBQUF0bEIsRUFBQSxXQUNBZ0gsRUFBQTBhLE1BQUFxbEIs
UUFBQUYsS0FHQTcvQixFQUFBMGEsTUFBQXFsQixRQUFBL3pDLEVBQUE2ekMsRUFBQSxRQUlBbHBD
LE9BQUEsU0FBQXFKLEVBQUErUSxFQUFBL1gsR0FDQSxHQUFBaE4sR0FBQStrQixFQUFBL2tCLEtB
SUFBLEtBSEEra0IsRUFBQXFCLFdBSUFwWixFQUFBdXBCLEdBQUF2cEIsR0FDQUEsRUFBQUcsTUFB
QUgsRUFBQUcsS0FBQXVsQixZQUVBMWxCLEVBQUFHLEtBQUF1bkIsTUFBQSxFQUNBMTBCLEVBQ0Fz
eUIsR0FBQXRsQixFQUFBLFdBQ0FnSCxFQUFBMGEsTUFBQXFsQixRQUFBLy9CLEVBQUE4L0IscUJB
R0FoZixHQUFBOW5CLEVBQUEsV0FDQWdILEVBQUEwYSxNQUFBcWxCLFFBQUEsVUFJQS8vQixFQUFB
MGEsTUFBQXFsQixRQUFBL3pDLEVBQUFnVSxFQUFBOC9CLG1CQUFBLFNBSUFFLE9BQUEsU0FDQWhn
QyxFQUNBNGhCLEVBQ0E1b0IsRUFDQXlZLEVBQ0FLLEdBRUFBLElBQ0E5UixFQUFBMGEsTUFBQXFs
QixRQUFBLy9CLEVBQUE4L0Isc0JBS0FHLElBQ0FoNUIsTUFBQXU0QixHQUNBOWUsU0FRQXdmLElB
Q0FocUMsS0FBQXpJLE9BQ0E4eEIsT0FBQXBuQixRQUNBOGpCLElBQUE5akIsUUFDQWdvQyxLQUFB
MXlDLE9BQ0EySSxLQUFBM0ksT0FDQW94QixXQUFBcHhCLE9BQ0F5ekIsV0FBQXp6QixPQUNBcXhC
LGFBQUFyeEIsT0FDQTJ6QixhQUFBM3pCLE9BQ0FzeEIsaUJBQUF0eEIsT0FDQTB6QixpQkFBQTF6
QixPQUNBdXhCLFlBQUF2eEIsT0FDQXl4QixrQkFBQXp4QixPQUNBd3hCLGNBQUF4eEIsT0FDQWl5
QixVQUFBckIsT0FBQTV3QixPQUFBM0IsU0FzREFzMEMsSUFDQWxxQyxLQUFBLGFBQ0FELE1BQUFp
cUMsR0FDQTlnQyxVQUFBLEVBRUFlLE9BQUEsU0FBQXFHLEdBQ0EsR0FBQW93QixHQUFBeGxDLEtB
RUFnSSxFQUFBaEksS0FBQW9ILFNBQUFzSSxlQUNBLElBQUExSCxJQUtBQSxJQUFBNlUsT0FBQSxT
QUFBNWQsR0FBNkMsTUFBQUEsR0FBQTZJLEtBQUFrWSxHQUFBL2dCLEtBRTdDK0ksRUFBQWhMLFFB
QUEsQ0FhQSxHQUFBK3hDLEdBQUEvdUMsS0FBQSt1QyxLQVlBdGQsRUFBQXpwQixFQUFBLEVBSUEs
SUFBQTBwQixHQUFBMXhCLEtBQUFxUCxRQUNBLE1BQUFvaUIsRUFLQSxJQUFBL3JCLEdBQUEwckIs
R0FBQUssRUFFQSxLQUFBL3JCLEVBQ0EsTUFBQStyQixFQUdBLElBQUF6eEIsS0FBQWl2QyxTQUNB
LE1BQUF6ZCxJQUFBcGMsRUFBQXFjLEVBTUEsSUFBQXRyQixHQUFBLGdCQUFBbkcsS0FBQSxRQUNB
MEYsR0FBQWpJLElBQUEsTUFBQWlJLEVBQUFqSSxJQUNBaUksRUFBQThDLFVBQ0FyQyxFQUFBLFVB
Q0FBLEVBQUFULEVBQUFvQyxJQUNBMU0sRUFBQXNLLEVBQUFqSSxLQUNBLElBQUFwQixPQUFBcUos
RUFBQWpJLEtBQUFILFFBQUE2SSxHQUFBVCxFQUFBakksSUFBQTBJLEVBQUFULEVBQUFqSSxJQUNB
aUksRUFBQWpJLEdBRUEsSUFBQXNLLElBQUFyQyxFQUFBcUMsT0FBQXJDLEVBQUFxQyxVQUE4Q3Vs
QixXQUFBZ0UsR0FBQXR4QixNQUM5Q2t2QyxFQUFBbHZDLEtBQUErUCxPQUNBNmhCLEVBQUFSLEdB
QUE4ZCxFQVFBLElBSkF4cEMsRUFBQXFDLEtBQUF6QyxZQUFBSSxFQUFBcUMsS0FBQXpDLFdBQUEw
NkIsS0FBQSxTQUFBM3FCLEdBQTBFLGVBQUFBLEVBQUF2USxTQUMxRVksRUFBQXFDLEtBQUF1bkIs
TUFBQSxHQUlBc0MsR0FDQUEsRUFBQTdwQixPQUNBNHBCLEdBQUFqc0IsRUFBQWtzQixLQUNBNVIs
R0FBQTRSLEdBQ0EsQ0FHQSxHQUFBblAsR0FBQW1QLE1BQUE3cEIsS0FBQXVsQixXQUFBNXVCLEtB
QXFFcUosR0FFckUsZUFBQWduQyxFQU9BLE1BTEEvdUMsTUFBQWl2QyxVQUFBLEVBQ0FybEMsR0FB
QTZZLEVBQUEsd0JBQ0EraUIsRUFBQXlKLFVBQUEsRUFDQXpKLEVBQUF0NUIsaUJBRUFzbEIsR0FB
QXBjLEVBQUFxYyxFQUNPLGVBQUFzZCxFQUFBLENBQ1AsR0FBQS91QixHQUFBdGEsR0FDQSxNQUFB
d3BDLEVBRUEsSUFBQUMsR0FDQXZmLEVBQUEsV0FBd0N1ZixJQUN4Q3ZsQyxJQUFBN0IsRUFBQSxh
QUFBNm5CLEdBQ0FobUIsR0FBQTdCLEVBQUEsaUJBQUE2bkIsR0FDQWhtQixHQUFBNlksRUFBQSxz
QkFBQWlOLEdBQWdFeWYsRUFBQXpmLEtBSWhFLE1BQUErQixNQWlCQTVzQixHQUFBbkcsR0FDQW9K
LElBQUF6TCxPQUNBK3lDLFVBQUEveUMsUUFDQ3l5QyxVQUVEanFDLElBQUFrcUMsSUFFQSxJQUFB
TSxLQUNBeHFDLFNBRUFrSyxPQUFBLFNBQUFxRyxHQVFBLE9BUEF0TixHQUFBOUgsS0FBQThILEtB
QUE5SCxLQUFBcVAsT0FBQXRILEtBQUFELEtBQUEsT0FDQW5MLEVBQUFqQyxPQUFBa0MsT0FBQSxN
QUNBMHlDLEVBQUF0dkMsS0FBQXN2QyxhQUFBdHZDLEtBQUFnSSxTQUNBdW5DLEVBQUF2dkMsS0FB
QW9RLE9BQUFqSixZQUNBYSxFQUFBaEksS0FBQWdJLFlBQ0F3bkMsRUFBQWxlLEdBQUF0eEIsTUFF
QWpELEVBQUEsRUFBbUJBLEVBQUF3eUMsRUFBQXZ5QyxPQUF3QkQsSUFBQSxDQUMzQyxHQUFBa0Ms
R0FBQXN3QyxFQUFBeHlDLEVBQ0EsSUFBQWtDLEVBQUE2SSxJQUNBLFNBQUE3SSxFQUFBeEIsS0FB
QSxJQUFBcEIsT0FBQTRDLEVBQUF4QixLQUFBSCxRQUFBLFdBQ0EwSyxFQUFBcEcsS0FBQTNDLEdB
Q0F0QyxFQUFBc0MsRUFBQXhCLEtBQUF3QixHQUNXQSxFQUFBOEksT0FBQTlJLEVBQUE4SSxVQUF1
QnVsQixXQUFBa2lCLFFBU2xDLEdBQUFGLEVBQUEsQ0FHQSxPQUZBRyxNQUNBQyxLQUNBM1csRUFB
QSxFQUF1QkEsRUFBQXVXLEVBQUF0eUMsT0FBMkIrN0IsSUFBQSxDQUNsRCxHQUFBNFcsR0FBQUws
RUFBQXZXLEVBQ0E0VyxHQUFBNW5DLEtBQUF1bEIsV0FBQWtpQixFQUNBRyxFQUFBNW5DLEtBQUFx
cUIsSUFBQXVkLEVBQUF6bkMsSUFBQStwQix3QkFDQXQxQixFQUFBZ3pDLEVBQUFseUMsS0FDQWd5
QyxFQUFBN3RDLEtBQUErdEMsR0FFQUQsRUFBQTl0QyxLQUFBK3RDLEdBR0EzdkMsS0FBQXl2QyxL
QUFBcjZCLEVBQUF0TixFQUFBLEtBQUEybkMsR0FDQXp2QyxLQUFBMHZDLFVBR0EsTUFBQXQ2QixH
QUFBdE4sRUFBQSxLQUFBRSxJQUdBNG5DLGFBQUEsV0FFQTV2QyxLQUFBK21DLFVBQ0EvbUMsS0FB
QStQLE9BQ0EvUCxLQUFBeXZDLE1BQ0EsR0FDQSxHQUVBenZDLEtBQUErUCxPQUFBL1AsS0FBQXl2
QyxNQUdBSSxRQUFBLFdBQ0EsR0FBQTduQyxHQUFBaEksS0FBQXN2QyxhQUNBRixFQUFBcHZDLEtB
QUFvdkMsWUFBQXB2QyxLQUFBOEUsTUFBQSxZQUNBLElBQUFrRCxFQUFBaEwsUUFBQWdELEtBQUE4
dkMsUUFBQTluQyxFQUFBLEdBQUFFLElBQUFrbkMsR0FBQSxDQU1BcG5DLEVBQUEyTSxRQUFBa2Qs
SUFDQTdwQixFQUFBMk0sUUFBQW9kLElBQ0EvcEIsRUFBQTJNLFFBQUF1ZCxHQUdBLElBQUE2ZCxH
QUFBOXhCLFNBQUE4eEIsSUFDQUEsR0FBQUMsWUFFQWhvQyxHQUFBMk0sUUFBQSxTQUFBMVYsR0FD
QSxHQUFBQSxFQUFBOEksS0FBQTBxQixNQUFBLENBQ0EsR0FBQTdqQixHQUFBM1AsRUFBQWlKLElB
Q0E4a0IsRUFBQXBlLEVBQUEwYSxLQUNBMkIsSUFBQXJjLEVBQUF3Z0MsR0FDQXBpQixFQUFBMEYs
VUFBQTFGLEVBQUEyRixnQkFBQTNGLEVBQUE0RixtQkFBQSxHQUNBaGtCLEVBQUF5WixpQkFBQXFE
LEdBQUE5YyxFQUFBa2pCLFFBQUEsUUFBQXhHLEdBQUE3ckIsR0FDQUEsSUFBQSxhQUFBaUIsS0FB
QWpCLEVBQUF3d0MsZ0JBQ0FyaEMsRUFBQTJaLG9CQUFBbUQsR0FBQUosR0FDQTFjLEVBQUFrakIs
UUFBQSxLQUNBM0csR0FBQXZjLEVBQUF3Z0MsV0FPQXY4QixTQUNBaTlCLFFBQUEsU0FBQWxoQyxF
QUFBd2dDLEdBRUEsSUFBQW5GLEdBQ0EsUUFHQSxJQUFBanFDLEtBQUFrd0MsU0FDQSxNQUFBbHdD
LE1BQUFrd0MsUUFPQSxJQUFBQyxHQUFBdmhDLEVBQUFveUIsV0FDQXB5QixHQUFBZ1Usb0JBQ0Fo
VSxFQUFBZ1UsbUJBQUFqTyxRQUFBLFNBQUErTixHQUFzRDhILEdBQUEybEIsRUFBQXp0QixLQUV0
RDJILEdBQUE4bEIsRUFBQWYsR0FDQWUsRUFBQTdtQixNQUFBcWxCLFFBQUEsT0FDQTN1QyxLQUFB
OE8sSUFBQXVRLFlBQUE4d0IsRUFDQSxJQUFBcHZDLEdBQUF3cUIsR0FBQTRrQixFQUVBLE9BREFu
d0MsTUFBQThPLElBQUFzUSxZQUFBK3dCLEdBQ0Fud0MsS0FBQWt3QyxTQUFBbnZDLEVBQUE0ckIs
Z0JBaUNBeWpCLElBQ0FwQixjQUNBSyxtQkFNQXQwQixJQUFBL1osT0FBQThYLGVBQ0FpQyxHQUFB
L1osT0FBQTJXLGlCQUNBb0QsR0FBQS9aLE9BQUE2Z0Msa0JBQ0E5bUIsR0FBQS9aLE9BQUEwVyxt
QkFDQXFELEdBQUEvWixPQUFBK2Msb0JBR0FyZixFQUFBcWMsR0FBQW5XLFFBQUFVLFdBQUF1cEMs
SUFDQW53QyxFQUFBcWMsR0FBQW5XLFFBQUE0VixXQUFBNDFCLElBR0FyMUIsR0FBQXRRLFVBQUFz
OEIsVUFBQTdsQyxHQUFBdXBDLEdBQUExckMsRUFHQWdjLEdBQUF0USxVQUFBbTdCLE9BQUEsU0FD
QWgzQixFQUNBQyxHQUdBLE1BREFELE1BQUExTixHQUFBbWQsR0FBQXpQLE9BQUE1VCxHQUNBMlQs
R0FBQTNPLEtBQUE0TyxFQUFBQyxJQUtBcEMsV0FBQSxXQUNBekwsR0FBQTBRLFVBQ0FBLElBQ0FB
LEdBQUFDLEtBQUEsT0FBQW9KLEtBa0JDLEVBYUQsSUFrTUFzMUIsSUFsTUF4YyxLQUFBM3lCLElB
UkEsU0FBQW92QyxFQUFBQyxHQUNBLEdBQUFDLEdBQUF2eUIsU0FBQTNJLGNBQUEsTUFFQSxPQURB
azdCLEdBQUF2UCxVQUFBLFdBQUFxUCxFQUFBLE1BQ0FFLEVBQUF2UCxVQUFBM2pDLFFBQUFpekMs
R0FBQSxHQUtBLGNBSUF0ZCxHQUFBLHdCQUNBd2QsR0FBQSx5QkFFQXpkLEdBQUFyMUIsRUFBQSxT
QUFBbTFCLEdBQ0EsR0FBQTRkLEdBQUE1ZCxFQUFBLEdBQUFwSSxRQUFBK2xCLEdBQUEsUUFDQUUs
RUFBQTdkLEVBQUEsR0FBQXBJLFFBQUErbEIsR0FBQSxPQUNBLFdBQUFyYixRQUFBc2IsRUFBQSxn
QkFBQUMsRUFBQSxPQW1FQUMsSUFDQW5WLFlBQUEsZUFDQXBJLGlCQUNBRSxZQXlDQXNkLElBQ0Fw
VixZQUFBLGVBQ0FwSSxjQUFBRyxHQUNBRCxRQUFBRyxJQUdBb2QsSUFDQUYsR0FDQUMsSUFtQkFF
LElBQ0FsN0IsU0FDQTVOLFFBQ0EwckIsU0FLQWdCLEdBQUFuNEIsRUFDQSw2RkFNQXM0QixHQUFB
dDRCLEVBQ0EsMkRBS0FrNkIsR0FBQWw2QixFQUNBLG1TQVNBdzBDLElBQ0F2YyxZQUFBLEVBQ0Fy
USxRQUFBMHNCLEdBQ0F4ckMsV0FBQXlyQyxHQUNBeFosWUFDQTVDLGNBQ0E3YixlQUNBZ2Msb0JB
Q0FuZCxpQkFDQUQsbUJBQ0ErakIsV0FycVBBLFNBQUFyWCxHQUNBLE1BQUFBLEdBQUE2c0IsT0FB
QSxTQUFBdHhDLEVBQUEwa0IsR0FDQSxNQUFBMWtCLEdBQUE4RSxPQUFBNGYsRUFBQW9YLHFCQUNH
aGEsS0FBQSxNQWtxUEhxdkIsS0FPQUksSUFDQUMsT0FBQSxTQUFBeGQsR0FHQSxNQUZBMGMsUUFB
QXB5QixTQUFBM0ksY0FBQSxPQUNBKzZCLEdBQUFwUCxVQUFBdE4sRUFDQTBjLEdBQUE3d0IsY0Fn
QkE0eEIsR0FBQSxrQkFDQUMsR0FBQSxRQUNBQyxJQUVBLGFBQUF0OEIsT0FFQSxhQUFBQSxPQUVB
LGlCQUFBQSxRQUVBd2hCLEdBQUEsR0FBQXBCLFFBQ0EsUUFBQWdjLEdBQUFwOEIsT0FDQSxXQUFB
cThCLEdBQUFyOEIsT0FBQSxXQUNBczhCLEdBQUE3dkIsS0FBQSxZQUtBOHZCLEdBQUEsd0JBQ0FD
LEdBQUEsT0FBQUQsR0FBQSxRQUFBQSxHQUFBLElBQ0FsYixHQUFBLEdBQUFqQixRQUFBLEtBQUFv
YyxJQUNBamIsR0FBQSxhQUNBaEIsR0FBQSxHQUFBSCxRQUFBLFFBQUFvYyxHQUFBLFVBQ0F2YixH
QUFBLHFCQUNBTixHQUFBLFFBQ0FHLEdBQUEsUUFFQWMsSUFBQSxDQUNBLEtBQUFsTSxRQUFBLGtC
QUFBckcsRUFBQW90QixHQUNBN2EsR0FBQSxLQUFBNmEsR0FJQSxJQWtTQW5hLElBQ0F4RSxHQUNB
NEUsR0FDQUMsR0FDQUMsR0FDQVIsR0FDQUksR0FDQUMsR0F3akJBOEQsR0FDQUcsR0FsMkJBM0cs
R0FBQXY0QixFQUFBLDRCQUNBMjRCLE1BRUFsQixJQUNBeWQsT0FBTyxJQUNQQyxPQUFPLElBQ1BD
LFNBQVMsSUFDVEMsUUFBUSxJQUNSQyxRQUFRLE1BRVI5ZCxHQUFBLHdCQUNBRCxHQUFBLDRCQUdB
Z2UsR0FBQXYxQyxFQUFBLG1CQUNBZzVCLEdBQUEsU0FBQTF0QixFQUFBNnJCLEdBQXFELE1BQUE3
ckIsSUFBQWlxQyxHQUFBanFDLElBQUEsT0FBQTZyQixFQUFBLElBdVFyRHNILEdBQUEsWUFDQU4s
R0FBQSxZQUNBWixHQUFBLDJCQUNBSSxHQUFBLDZDQUVBZ0IsR0FBQSxTQUNBSixHQUFBLGNBQ0FE
LEdBQUEsV0FFQWxCLEdBQUFqOEIsRUFBQXV6QyxHQUFBQyxRQWdpQkEvVixHQUFBLGVBQ0FDLEdB
QUEsVUFvQ0FHLEdBQUE3OUIsRUFBQWsrQixJQTRIQVksR0FBQSwrQ0FDQUYsR0FBQSwrRkFHQTlq
QixJQUNBdTVCLElBQUEsR0FDQUMsSUFBQSxFQUNBL2tCLE1BQUEsR0FDQWdsQixNQUFBLEdBQ0FD
LEdBQUEsR0FDQTdmLEtBQUEsR0FDQThmLE1BQUEsR0FDQUMsS0FBQSxHQUNBMUosUUFBQSxPQU1B
MkosR0FBQSxTQUFBL1gsR0FBcUMsWUFBQUEsRUFBQSxpQkFFckNvQyxJQUNBNFYsS0FBQSw0QkFD
QUMsUUFBQSwyQkFDQUMsS0FBQUgsR0FBQSwwQ0FDQUksS0FBQUosR0FBQSxtQkFDQTVULE1BQUE0
VCxHQUFBLG9CQUNBSyxJQUFBTCxHQUFBLGtCQUNBTSxLQUFBTixHQUFBLG1CQUNBaGdCLEtBQUFn
Z0IsR0FBQSw2Q0FDQU8sT0FBQVAsR0FBQSw2Q0FDQUYsTUFBQUUsR0FBQSw4Q0E0R0FRLElBQ0E1
cEMsTUFDQXBMLEtBQUFtL0IsR0FDQThWLE1BQUFoMEMsR0FLQXUrQixHQUFBLFNBQUExNEIsR0FD
QTVFLEtBQUE0RSxVQUNBNUUsS0FBQTZrQixLQUFBamdCLEVBQUFpZ0IsTUFBQVosR0FDQWprQixL
QUFBMDNCLFdBQUF2VCxHQUFBdmYsRUFBQXdmLFFBQUEsaUJBQ0Fwa0IsS0FBQTYrQixXQUFBMWEs
R0FBQXZmLEVBQUF3ZixRQUFBLFdBQ0Fwa0IsS0FBQXNGLFdBQUE1RyxPQUFvQ28wQyxJQUFBbHVD
LEVBQUFVLFdBQ3BDLElBQUFxUyxHQUFBL1MsRUFBQStTLGVBQUFpZCxFQUNBNTBCLE1BQUE2L0Is
ZUFBQSxTQUFBanhCLEdBQXVDLE9BQUErSSxFQUFBL0ksRUFBQTlHLE1BQ3ZDOUgsS0FBQW8rQixP
QUFBLEVBQ0FwK0IsS0FBQTJXLG9CQW9xQkFxOEIsSUFyUEEsR0FBQTVkLFFBQUEsdU1BSUF0NEIs
TUFBQSxLQUFBMmtCLEtBQUEsa0JBR0EsR0FBQTJULFFBQUEsMkJBRUF0NEIsTUFBQSxLQUFBMmtC
LEtBQUEsOENBcUxBLFNBQUF3eEIsR0FDQSxnQkFBQWpDLEdBQ0EsUUFBQXRRLEdBQ0EzSixFQUNB
bnlCLEdBRUEsR0FBQXN1QyxHQUFBeDRDLE9BQUFrQyxPQUFBbzBDLEdBQ0F6USxLQUNBNFMsSUFL
QSxJQUpBRCxFQUFBcnVCLEtBQUEsU0FBQVgsRUFBQWt2QixJQUNBQSxFQUFBRCxFQUFBNVMsR0FB
QTMrQixLQUFBc2lCLElBR0F0ZixFQUFBLENBRUFBLEVBQUF3ZixVQUNBOHVCLEVBQUE5dUIsU0FD
QTRzQixFQUFBNXNCLGFBQUEzZixPQUFBRyxFQUFBd2YsVUFHQXhmLEVBQUFVLGFBQ0E0dEMsRUFB
QTV0QyxXQUFBNUcsRUFDQWhFLE9BQUFrQyxPQUFBbzBDLEVBQUExckMsWUFDQVYsRUFBQVUsWUFJ
QSxRQUFBN0gsS0FBQW1ILEdBQ0EsWUFBQW5ILEdBQUEsZUFBQUEsSUFDQXkxQyxFQUFBejFDLEdB
QUFtSCxFQUFBbkgsSUFLQSxHQUFBa2pDLEdBQUFzUyxFQUFBbGMsRUFBQW1jLEVBTUEsT0FGQXZT
LEdBQUFKLFNBQ0FJLEVBQUF3UyxPQUNBeFMsRUFHQSxPQUNBRCxVQUNBMlMsbUJBQUE1UyxHQUFB
QyxNQVVBLFNBQ0EzSixFQUNBbnlCLEdBRUEsR0FBQXc0QixHQUFBdEcsR0FBQUMsRUFBQTVULE9B
QUF2ZSxFQUNBMDJCLElBQUE4QixFQUFBeDRCLEVBQ0EsSUFBQTZpQixHQUFBMFYsR0FBQUMsRUFB
QXg0QixFQUNBLFFBQ0F3NEIsTUFDQXJ1QixPQUFBMFksRUFBQTFZLE9BQ0E0SCxnQkFBQThRLEVB
QUE5USxvQkFNQTI4QixHQUFBTixHQUFBaEMsSUFDQXFDLEdBQUFDLEdBQUFELG1CQUlBRSxHQUFB
NTFDLEVBQUEsU0FBQXdJLEdBQ0EsR0FBQXlJLEdBQUF5UCxHQUFBbFksRUFDQSxPQUFBeUksTUFB
QXF5QixZQUdBdVMsR0FBQXo0QixHQUFBdFEsVUFBQW03QixNQUNBN3FCLElBQUF0USxVQUFBbTdC
LE9BQUEsU0FDQWgzQixFQUNBQyxHQUtBLElBSEFELEtBQUF5UCxHQUFBelAsTUFHQXFQLFNBQUE4
eEIsTUFBQW5oQyxJQUFBcVAsU0FBQXcxQixnQkFJQSxNQUFBenpDLEtBR0EsSUFBQTRFLEdBQUE1
RSxLQUFBb0gsUUFFQSxLQUFBeEMsRUFBQW1LLE9BQUEsQ0FDQSxHQUFBZ29CLEdBQUFueUIsRUFB
QW15QixRQUNBLElBQUFBLEVBQ0EsbUJBQUFBLEdBQ0EsTUFBQUEsRUFBQWpULE9BQUEsS0FDQWlU
LEVBQUF3YyxHQUFBeGMsUUFTTyxLQUFBQSxFQUFBdkosU0FNUCxNQUFBeHRCLEtBTEErMkIsS0FB
QWtLLGNBT0tyeUIsS0FDTG1vQixFQUFBOEosR0FBQWp5QixHQUVBLElBQUFtb0IsRUFBQSxDQU1B
LEdBQUFwWCxHQUFBMHpCLEdBQUF0YyxHQUNBbEQsd0JBQ0FmLFdBQUFsdUIsRUFBQWt1QixXQUNB
a0YsU0FBQXB6QixFQUFBb3pCLFVBQ09oNEIsTUFDUCtPLEVBQUE0USxFQUFBNVEsT0FDQTRILEVB
QUFnSixFQUFBaEosZUFDQS9SLEdBQUFtSyxTQUNBbkssRUFBQStSLG1CQVNBLE1BQUE2OEIsSUFB
QS8zQyxLQUFBdUUsS0FBQTRPLEVBQUFDLElBaUJBa00sR0FBQTJsQixRQUFBMlMsR0FFQTc0QyxF
QUFBLFlEWjZCaUIsS0FBS2pCLEVBQXFCQyxFQUFvQixNQUlyRSxTQUFVRixFQUFRbTVDLEdFdjFU
eEJuNUMsRUFBQW01QyxRQUFBLFNBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEdBRUEsR0FB
QUMsR0FDQUMsRUFBQU4sUUFHQTN1QyxRQUFBMnVDLEdBQUF4c0MsT0FDQSxZQUFBbkMsR0FBQSxh
QUFBQSxJQUNBZ3ZDLEVBQUFMLEVBQ0FNLEVBQUFOLEVBQUF4c0MsUUFJQSxJQUFBdkMsR0FBQSxr
QkFBQXF2QyxHQUNBQSxFQUFBcnZDLFFBQ0FxdkMsQ0FHQUwsS0FDQWh2QyxFQUFBbUssT0FBQTZr
QyxFQUFBN2tDLE9BQ0FuSyxFQUFBK1IsZ0JBQUFpOUIsRUFBQWo5QixpQkFJQW05QixJQUNBbHZD
LEVBQUFpbkMsU0FBQWlJLEVBR0EsSUFBQWhxQyxFQTRCQSxJQTNCQWlxQyxHQUNBanFDLEVBQUEs
U0FBQTNCLEdBRUFBLEVBQ0FBLEdBQ0FuSSxLQUFBcVAsUUFBQXJQLEtBQUFxUCxPQUFBdTVCLFlB
Q0E1b0MsS0FBQXlGLFFBQUF6RixLQUFBeUYsT0FBQTRKLFFBQUFyUCxLQUFBeUYsT0FBQTRKLE9B
QUF1NUIsV0FFQXpnQyxHQUFBLG1CQUFBK3JDLHVCQUNBL3JDLEVBQUErckMscUJBR0FMLEdBQ0FB
LEVBQUFwNEMsS0FBQXVFLEtBQUFtSSxHQUdBQSxLQUFBZ3NDLHVCQUNBaHNDLEVBQUFnc0Msc0JB
QUEvcUMsSUFBQTJxQyxJQUtBbnZDLEVBQUF3dkMsYUFBQXRxQyxHQUNHK3BDLElBQ0gvcEMsRUFB
QStwQyxHQUdBL3BDLEVBQUEsQ0FDQSxHQUFBaU0sR0FBQW5SLEVBQUFtUixXQUNBNEQsRUFBQTVE
LEVBQ0FuUixFQUFBbUssT0FDQW5LLEVBQUF5dkMsWUFDQXQrQixHQU9BblIsRUFBQW1LLE9BQUEs
U0FBQXFHLEVBQUFqTixHQUVBLE1BREEyQixHQUFBck8sS0FBQTBNLEdBQ0F3UixFQUFBdkUsRUFB
QWpOLElBUEF2RCxFQUFBeXZDLGFBQUExNkIsS0FDQWxWLE9BQUFrVixFQUFBN1AsSUFDQUEsR0FV
QSxPQUNBa3FDLFdBQ0FOLFFBQUFPLEVBQ0FydkMsYUZxMlRNLFNBQVVySyxFQUFRbTVDLEVBQVNq
NUMsSUd0N1RqQyxTQUFBaTVDLEdBWUEsUUFBQVksS0FHQSxXQUFBQyxFQUFBanFDLE1BQUEsTUFB
QWlxQyxFQUFBanFDLEtBaVJBLFFBQUFrcUMsR0FBQXIzQyxFQUFBczNDLEdBQ0EsT0FBQTEzQyxH
QUFBLEVBQWlCQSxFQUFBSSxFQUFBSCxPQUFnQkQsR0FBQSxFQUNqQyxRQUFBMDNDLEVBQUF0M0Ms
RUFBQUosS0FBQUksR0FDQSxPQUtBLFFBQUF1M0MsR0FBQXYzQyxHQUVBLE9BREF3M0MsTUFDQTUz
QyxFQUFBLEVBQUFsQixFQUFBc0IsRUFBQUgsT0FBaUNELEVBQUFsQixFQUFPa0IsSUFDeEM0M0Ms
SUFBQWx3QyxPQUFBdEgsRUFBQUosR0FFQSxPQUFBNDNDLEdBR0EsUUFBQUMsR0FBQXozQyxFQUFB
czNDLEVBQUF0OUIsR0FDQSxJQUFBaGEsRUFBQUgsT0FDQSxNQUFBbWEsSUFFQSxJQUFBMDlCLEdB
QUEsR0FDQSxRQUFBQyxLQUNBTCxFQUFBdDNDLEVBQUEwM0MsR0FBQSxTQUFBaDBDLEdBQ0FBLElB
QUEsSUFBQUEsR0FDQXNXLEVBQUF0VyxHQUNBc1csRUFBQSxlQUVBMDlCLEdBQUEsRUFDQUEsSUFB
QTEzQyxFQUFBSCxPQUNBbWEsSUFFQTI5QixVQU9BLFFBQUFDLEdBQUF0NEMsRUFBQXU0QyxFQUFB
QyxHQUNBQSxFQUFBeDRDLENBQ0EsUUFBQXk0QyxLQUFBRixHQUNBLEdBQUFBLEVBQUF0M0MsZUFB
QXczQyxLQUNBRCxFQUFBRCxFQUFBRSxHQUFBejRDLE1BQ0FBLEVBQ0EsS0FJQSxPQUFBdzRDLEtB
QUF4NEMsRUFBQSx1QkFBQXc0QyxFQUdBLFFBQUFFLEdBQUExNEMsRUFBQXU0QyxHQUVBLElBREEs
R0FBQXY0QixHQUFBMVIsRUFBQSxFQUFBcXFDLEVBQUEsR0FDQTM0QixFQUFBaGdCLEVBQUE0NEMs
T0FBQXRxQyxHQUFBeEQsTUFBQSxtQ0FDQXdELEVBQUEwUixFQUFBcGYsTUFBQW9mLEVBQUEsR0FB
QXpmLE9BQ0F5ZixFQUFBLEdBQUFBLEVBQUEsR0FBQWlPLFFBQUEsb0NBQ0EwcUIsR0FBQTM0QyxF
QUFBNDRDLE9BQUEsRUFBQTU0QixFQUFBcGYsT0FBQW9mLEVBQUEsRUFFQWhnQixHQUFBMjRDLEdB
QUEzNEMsRUFBQTQ0QyxPQUFBdHFDLEVBQ0EsSUFBQXJCLEdBQUExTSxFQUFBczRDLEVBQUE3NEMs
RUFBQThLLE1BQUEsY0FDQSxJQUFBK3RDLEVBQUEsQ0FDQXQ0QyxFQUFBczRDLEVBQUF0NEMsTUFD
QSxRQUFBRCxHQUFBLEVBQW1CQSxFQUFBQyxFQUFZRCxJQUMvQjJNLEVBQUE0ckMsRUFBQXY0QyxH
QUVBTixFQURBLE9BQUFpTixFQUFBVixNQUFBLEtBQ0FVLEVBQUFWLE1BQUEsR0FFQXZNLEVBQUFp
dUIsUUFBQWhoQixFQUFBcXJDLEVBQUFyckMsRUFBQXNyQyxJQUlBLE1BQUF2NEMsR0FHQSxRQUFB
ODRDLEdBQUFDLEVBQUFDLEVBQUFsM0MsRUFBQWcwQyxHQUNBLEdBQUF4MUMsR0FBQWdPLEVBQUEs
RUFBQXVuQixFQUFBLEVBQUE4ZixFQUFBLEVBQUE3ekMsTUFBQSxLQUFBckMsV0FBQXEyQyxNQUFB
LEtBQUFyMkMsVUFDQSxLQUFBYSxFQUFBLEVBQWFBLEVBQUF5NEMsRUFBQXg0QyxPQUFtQkQsSUFB
QSxDQUNoQyxHQUFBMjRDLEdBQUFGLEVBQUF6NEMsRUFDQSxJQUFBMjRDLEVBQUFwNEMsUUFBQWlC
LEVBQUF3TSxHQUFBMnFDLEVBQUFwNEMsUUFBQWkxQyxFQUFBeG5DLEtBQUEycUMsRUFBQXA0QyxR
QUFBaUIsRUFBQXdNLE1BQUEycUMsRUFBQXA0QyxRQUFBaTFDLEVBQUF4bkMsTUFBQTJxQyxFQUFB
cDRDLFFBQUFpQixFQUFBd00sS0FBQTJxQyxFQUFBcDRDLFFBQUFpMUMsRUFBQXhuQyxHQUFBLENB
R0EsR0FGQXVuQixFQUFBb2pCLEVBQUFwNEMsUUFBQWlCLEVBQUF3TSxHQUNBcW5DLEVBQUFzRCxF
QUFBcDRDLFFBQUFpMUMsRUFBQXhuQyxJQUNBdW5CLEtBQUE4ZixLQUFBOWYsSUFBQThmLEVBQUEs
Q0FFQW9ELEdBREFBLEVBQUF4c0MsTUFBQSxHQUFBak0sR0FBQSxNQUFBMGtCLEtBQUFnMEIsSUFD
QWh4QyxPQUFBK3dDLEVBQUF4c0MsT0FBQWpNLEdBQUEsT0FFQWdPLEdBQUFxbkMsRUFBQTlmLEVB
QUE4ZixFQUFBOWYsR0FBQSxFQUNBdjFCLEVBQUEsTUFFQWdPLEdBQUEsRUFHQSxNQUFBeXFDLEdB
alhBLEdBQUFqQixHQUFBdDJCLFNBQUEwM0IsU0FRQUMsR0FDQTdHLEtBQUEsU0FDQXprQyxLQUFB
aXFDLEVBQUFqcUMsS0FDQXVyQyxTQUFBLEVBRUFDLE1BQUEsV0FDQSxHQUFBMWdDLEdBQUFtL0Is
RUFBQWpxQyxJQUNBOEssSUFBQXBWLEtBQUFzSyxPQUNBdEssS0FBQXNLLEtBQUE4SyxFQUNBcFYs
S0FBQSsxQyxrQkFJQUMsS0FBQSxXQUNBLFdBQUFoMkMsS0FBQSt1QyxNQUNBLElBQUEvdUMsS0FB
QTYxQyxRQUFBMzNCLE9BQUErM0IsYUFBQS8zQixPQUFBZzRCLGVBR0FsMkMsS0FBQSsxQyxpQkFJ
QXBRLEtBQUEsU0FBQS9uQyxFQUFBaTRDLEdBUUEsUUFBQU0sR0FBQUMsR0FDQSxPQUFBcjVDLEdB
QUEsRUFBQW1CLEVBQUFtNEMsRUFBQXRwQyxVQUFBL1AsT0FBa0RELEVBQUFtQixFQUFPbkIsSUFD
ekRzNUMsRUFBQXRwQyxVQUFBaFEsR0FBQXE1QyxHQVRBLEdBQUEzRCxHQUFBenlDLElBY0EsSUFi
QUEsS0FBQTYxQyxVQUVBUSxFQUFBdHBDLFlBQ0FzcEMsRUFBQXRwQyxjQVVBLGdCQUFBbVIsY0FB
QWxqQixLQUFBaWpCLFNBQUFxNEIsY0FDQXI0QixTQUFBcTRCLGFBQUEsSUFFQSxJQUFBdDJDLEtB
QUE2MUMsUUFNQXBwQyxXQUFBLFdBQ0F5UixPQUFBKzNCLFdBQUFFLEdBQ1MsS0FHVGo0QixPQUFB
ZzRCLGFBQUFDLEVBRUFuMkMsS0FBQSt1QyxLQUFBLGFBRUEsQ0FJQSxHQUFBd0gsR0FBQXQ0QixT
QUFBM0ksY0FBQSxTQUNBaWhDLEdBQUFwd0MsR0FBQSxjQUNBb3dDLEVBQUFqdEIsTUFBQXFsQixR
QUFBLE9BQ0Exd0IsU0FBQTh4QixLQUFBMXdCLFlBQUFrM0IsR0FDQXYyQyxLQUFBdzJDLFdBQUEs
SUFFQSxvQkFBQXY0QixXQUFBLGVBQUFBLFdBQ0FBLFNBQUF3NEIsWUFBQSw4QkFDQSxhQUFBanRD
LE1BQUF5bUMsY0FDQXdDLEVBQUFxRCxVQUtBNTNCLE9BQUF3NEIsWUFBQSxXQUFzQ2pFLEVBQUFx
RCxTQUFnQixJQUV0RDkxQyxLQUFBKzFDLGNBQUFJLEVBQ0FuMkMsS0FBQSt1QyxLQUFBLFNBS0Es
TUFGQXNILEdBQUF0cEMsVUFBQW5MLEtBQUFoRSxHQUVBb0MsS0FBQSt1QyxNQUdBOUksUUFBQSxT
QUFBcm9DLEdBQ0EsR0FBQXk0QyxLQUFBdHBDLFVBTUEsT0FGQUEsR0FBQXNwQyxFQUFBdHBDLFVB
RUFoUSxFQUFBZ1EsRUFBQS9QLE9BQUEsRUFBc0NELEdBQUEsRUFBUUEsSUFDOUNnUSxFQUFBaFEs
S0FBQWEsR0FDQW1QLEVBQUF4UCxPQUFBUixFQUFBLElBS0E0NUMsUUFBQSxTQUFBM3BCLEdBY0Es
TUFaQSxXQUFBaHRCLEtBQUErdUMsTUFDQS91QyxLQUFBdzJDLFdBQUF4cEIsSUFHQSxJQUFBaHRC
LEtBQUE2MUMsU0FDQTMzQixPQUFBMjNCLFFBQUFlLGFBQWlDMzRCLFNBQUE0NEIsTUFBQTdwQixH
QUdqQ2h0QixLQUFBZzJDLFFBRUF6QixFQUFBanFDLEtBQUEsTUFBQTBpQixFQUFBLEdBQUFBLEVB
QUEsSUFBQUEsRUFFQWh0QixNQUdBdzJDLFdBQUEsU0FBQXhwQixHQUVBLEdBQUE4cEIsR0FBQTc0
QixTQUFBODRCLGVBQUEsZUFDQTFoQyxFQUFBeWhDLEVBQUFFLGlCQUFBRixFQUFBRyxjQUFBaDVC
LFFBQ0E1SSxHQUFBcTdCLE9BQ0FyN0IsRUFBQTZoQyxNQUFBLG9CQUFBbHFCLEVBQUEsaURBQ0Ez
WCxFQUFBczdCLFNBR0F3RyxTQUFBLFdBRUEsR0FBQW5xQixHQUFBaHRCLEtBQUFvM0MsS0FJQSxP
QUhBcHFCLElBQUF1bkIsRUFBQWpxQyxPQUNBaXFDLEVBQUFqcUMsS0FBQTBpQixHQUVBaHRCLE1B
R0ErMUMsY0FBQSxjQUdBTSxFQUFBM0MsRUFBQTJDLE9BQUEsU0FBQWIsR0FDQSxLQUFBeDFDLGVB
QUFxMkMsSUFBQSxVQUFBQSxHQUFBYixFQUVBeDFDLE1BQUFnMUMsVUFDQWgxQyxLQUFBdzFDLFVB
Q0F4MUMsS0FBQTZTLFNBQUEsOEJBQ0E3UyxLQUFBdS9CLFNBQ0F2L0IsS0FBQXEzQyxZQUVBcjND
LEtBQUFzM0MsUUFBQXQzQyxLQUFBZ21DLE9BQ0FobUMsS0FBQWdtQyxPQUFBaG1DLEtBQUF1M0Ms
U0FFQXYzQyxLQUFBdzNDLGVBQUEsYUFBQXQ1QixPQUFBMjNCLFFBQUEzM0IsT0FBQTIzQixRQUFB
ZSxVQUFBLE1BRUE1MkMsS0FBQXkzQyxZQUNBejNDLEtBQUF3ekMsTUFBQWdDLE9BR0FhLEdBQUE1
ckMsVUFBQWs3QixLQUFBLFNBQUErUixHQUNBLEdBQ0FDLEdBREFsRixFQUFBenlDLElBcUNBLE9B
bkNBQSxNQUFBaVUsUUFBQSxTQUFBbWlDLEdBQ0EsR0FBQXdCLEdBQUF4QixLQUFBd0IsUUFBQTE1
QixPQUFBeTNCLFNBQUFyckMsS0FDQXV0QyxHQUFBLElBQUFwRixFQUFBb0QsUUFBQXBELEVBQUFx
RixVQUFBRixFQUFBbHRCLFFBQUEsU0FDQStuQixHQUFBc0YsU0FBQSxXQUFBRixFQUFBL3pCLE9B
QUEsR0FBQSt6QixFQUFBLElBQUFBLElBR0FqQyxFQUFBalEsS0FBQTNsQyxLQUFBaVUsUUFBQWpV
LEtBQUE2MUMsVUFFQSxJQUFBNzFDLEtBQUE2MUMsUUFDQXZCLEtBQUFvRCxFQUNBbkQsRUFBQWpx
QyxLQUFBb3RDLEVBQ0twRCxLQUNMN0IsRUFBQXNGLFNBQUEsU0FBQXhELEVBQUFqcUMsS0FBQW9n
QixRQUFBLG9CQUlBMXFCLEtBQUFnNEMsc0JBRUFMLEVBQUFyRCxLQUFBb0QsSUFBQXBELElBQUEs
S0FBQUMsRUFBQWpxQyxLQUFBb2dCLFFBQUEsV0FFQXhNLE9BQUEyM0IsUUFBQW9DLGdCQUFzQ2g2
QixTQUFBNDRCLE1BQUFjLEdBS3RDQSxFQUFBMzNDLEtBQUE4M0MsV0FLQUgsSUFBQSxJQUFBMzND
LEtBQUFrNEMsY0FDQWw0QyxLQUFBaVUsV0FJQWpVLE1BR0FxMkMsRUFBQTVyQyxVQUFBMHRDLFFB
QUEsV0FDQSxHQUFBcDlDLElBQUEsSUFBQWlGLEtBQUE2MUMsUUFBQTcxQyxLQUFBODNDLFVBQUF2
RCxFQUFBanFDLElBRUEsT0FEQSxNQUFBdlAsRUFBQStvQixPQUFBLEtBQTRCL29CLElBQUFpTyxN
QUFBLElBQzVCak8sRUFBQWlPLE1BQUEsRUFBQWpPLEVBQUFpQyxRQUFBRixNQUFBLE1BR0F1NUMs
RUFBQTVyQyxVQUFBMnRDLFNBQUEsU0FBQXI3QyxFQUFBaEMsRUFBQWEsR0FDQSxHQUFBaThDLEdB
QUE3M0MsS0FBQW00QyxTQWFBLE9BWEEsZ0JBQUFwN0MsSUFBQSxnQkFBQWhDLEdBQ0E4OEMsRUFB
QTk2QyxHQUFBaEMsRUFFQSxnQkFBQWEsR0FDQWk4QyxFQUFBdDZDLE9BQUFSLEVBQUFoQyxFQUFB
aXlCLEdBR0E2cUIsR0FBQTk2QyxHQUdBNjRDLEVBQUFlLFFBQUFrQixFQUFBcDJCLEtBQUEsTUFD
QW8yQixHQVdBeEIsRUFBQTVyQyxVQUFBOHNDLFNBQUEsU0FBQW5ULEVBQUE1akMsRUFBQTYzQyxF
QUFBNXlDLEdBWUEsTUFYQSxTQUFBMitCLElBQ0FBLEVBQUEsS0FDQWlVLEVBQUEsU0FBQUEsR0FD
QSxHQUFBdjRDLElBQUEsQ0FDQSxtQkFDQSxJQUFBQSxFQUVBLE1BREFBLElBQUEsRUFDQXU0QyxF
QUFBajZDLE1BQUE0QixLQUFBN0IsYUFFS2s2QyxJQUVMcjRDLEtBQUFzM0MsUUFBQWxULEVBQUE1
akMsRUFBQTYzQyxFQUFBNXlDLElBR0E0d0MsRUFBQTVyQyxVQUFBNnRDLFNBQUEsU0FBQXY5QyxH
QUNBLEdBQUF5RCxHQUFBekQsQ0FFQSxvQkFBQUEsR0FDQXlELEVBQUF3QixLQUFBbTRDLFVBQUFw
OUMsT0FFQSxvQkFBQUEsR0FBQSxDQUNBLEdBQUFxYSxHQUFBcFYsS0FBQW00QyxTQUNBMzVDLEdB
QUE0VyxFQUFBOVgsUUFBQXZDLE9BR0F5RCxHQUFBd0IsS0FBQW00QyxTQUdBLE9BQUEzNUMsSUFH
QTYzQyxFQUFBNXJDLFVBQUF3N0IsUUFBQSxXQUVBLE1BREEyUCxHQUFBM1AsUUFBQWptQyxLQUFB
aVUsU0FDQWpVLE1BR0FxMkMsRUFBQTVyQyxVQUFBcXRDLFFBQUEsV0FDQSxHQUFBdDNDLEdBQUEw
ZCxPQUFBeTNCLFNBQUE0QyxRQUlBLE9BSEEsTUFBQS8zQyxFQUFBNjBDLE9BQUEsT0FDQTcwQyxF
QUFBLElBQUFBLEdBRUFBLEVBZ0dBLElBQUFnNEMsR0FBQSxNQUVBbkMsR0FBQTVyQyxVQUFBZ3RD
LFVBQUEsU0FBQTd5QyxHQUNBQSxPQUNBLFFBQUE3SCxHQUFBLEVBQWlCQSxFQUFBaUQsS0FBQTZT
LFFBQUE3VixPQUF5QkQsSUFDMUNpRCxLQUFBcTNDLFNBQUFyM0MsS0FBQTZTLFFBQUE5VixLQUFB
LENBZ0JBLE9BZEFpRCxNQUFBeTRDLFFBQUE3ekMsRUFBQTZ6QyxTQUFBejRDLEtBQUF5NEMsVUFB
QSxFQUNBejRDLEtBQUEwNEMsTUFBQTl6QyxFQUFBOHpDLFFBQUEsRUFDQTE0QyxLQUFBeTFDLFVB
QUE3d0MsRUFBQTZ3QyxXQUFBLElBQ0F6MUMsS0FBQTI0QyxXQUFBLEtBQUEvekMsRUFBQSt6QyxR
QUFBL3pDLEVBQUErekMsT0FDQTM0QyxLQUFBNDRDLFNBQUFoMEMsRUFBQWcwQyxTQUNBNTRDLEtB
QUE2NEMsU0FBQWowQyxFQUFBaTBDLFNBQ0E3NEMsS0FBQTYxQyxRQUFBanhDLEVBQUFrMEMsY0FB
QTk0QyxLQUFBdzNDLGlCQUFBLEVBQ0F4M0MsS0FBQWs0QyxhQUFBLElBQUFsNEMsS0FBQTYxQyxV
QUFBLElBQUFqeEMsRUFBQW0wQyxvQkFDQS80QyxLQUFBZzRDLHNCQUFBLElBQUFoNEMsS0FBQTYx
QyxVQUFBLElBQUFqeEMsRUFBQW96QyxxQkFDQWg0QyxLQUFBUixPQUNBdzVDLE1BQUFwMEMsRUFB
QW8wQyxPQUFBLEtBQ0FDLE9BQUFyMEMsRUFBQXEwQyxRQUFBLEtBQ0EvdkMsR0FBQXRFLEVBQUFz
RSxJQUFBLE1BRUFsSixNQUdBcTJDLEVBQUE1ckMsVUFBQXlxQyxNQUFBLFNBQUFnRSxFQUFBQyxH
QUNBLE1BQUFELEVBQUEsS0FDQUEsRUFBQSxJQUFBQSxFQUVBLElBQUF2WSxHQUFBLEdBQUF2TCxR
QUFBOGpCLEVBQUEsSUFJQSxPQUhBbDVDLE1BQUFnMUMsT0FBQWtFLEdBQUEsU0FBQXo4QyxHQUNB
LE1BQUFBLEdBQUFpdUIsUUFBQWlXLEVBQUF3WSxFQUFBbmtDLFFBQUFta0MsSUFFQW41QyxNQUdB
cTJDLEVBQUE1ckMsVUFBQXZCLEdBQUFtdEMsRUFBQTVyQyxVQUFBNHRDLE1BQUEsU0FBQWpVLEVB
QUE1akMsRUFBQTYzQyxHQUNBLEdBQUE1RixHQUFBenlDLElBTUEsT0FMQXE0QyxJQUFBLGtCQUFB
NzNDLEtBQ0E2M0MsRUFBQTczQyxFQUNBQSxFQUFBNGpDLEVBQ0FBLEVBQUEsTUFFQTNsQyxNQUFB
YSxRQUFBa0IsR0FDQUEsRUFBQW1VLFFBQUEsU0FBQWtQLEdBQ0E0dUIsRUFBQXZwQyxHQUFBazdC
LEVBQUF2Z0IsRUFBQXcwQixNQUdBNzNDLEVBQUF3VSxTQUNBeFUsSUFBQXdVLE9BQUEwVixRQUFB
LGVBRUFqc0IsTUFBQWEsUUFBQThrQyxHQUNBQSxFQUFBenZCLFFBQUEsU0FBQTBQLEdBQ0FvdUIs
RUFBQXZwQyxHQUFBbWIsRUFBQXBuQixjQUFBdUQsRUFBQTYzQyxNQUdBNzNDLElBQUExRCxNQUFB
LEdBQUFzNEIsUUFBQXAxQixLQUFBeTFDLFlBQ0FqMUMsRUFBQSswQyxFQUFBLzBDLEVBQUFSLEtB
QUF5MUMsZUFDQXoxQyxNQUFBZ21DLE9BQUE1QixFQUFBcGtDLEtBQUF1L0IsTUFBQTk2QixPQUFB
akUsR0FBQTYzQyxNQUdBaEMsRUFBQTVyQyxVQUFBakssS0FBQSxTQUFBQSxFQUFBNDRDLEdBQ0Es
R0FBQXA4QyxHQUFBZ0QsS0FBQXUvQixNQUFBdmlDLE1BQ0F3RCxHQUFBd1UsU0FDQXhVLElBQUF3
VSxPQUFBMFYsUUFBQSxlQUVBbHFCLElBQUExRCxNQUFBLEdBQUFzNEIsUUFBQXAxQixLQUFBeTFD
LFlBQ0FqMUMsRUFBQSswQyxFQUFBLzBDLEVBQUFSLEtBQUF5MUMsV0FDQXoxQyxLQUFBdS9CLE1B
QUF2L0IsS0FBQXUvQixNQUFBOTZCLE9BQUFqRSxHQUNBNDRDLEVBQUEzOUMsS0FBQXVFLFdBQ0FB
LEtBQUF1L0IsTUFBQWhpQyxPQUFBUCxFQUFBd0QsRUFBQXhELFNBR0FxNUMsRUFBQTVyQyxVQUFB
c3RDLFNBQUEsU0FBQTNULEVBQUE1akMsRUFBQTJXLEdBZ0JBLFFBQUFraUMsS0FDQTVHLEVBQUEx
bkMsS0FBQWxDLEVBQUFtd0MsTUFDQXZHLEVBQUE2RyxPQUFBN0csRUFBQThHLFFBQUExd0MsR0FB
QTRwQyxFQUFBdDdCLEdBakJBLEdBQUE2aEMsR0FBQXZHLEVBQUF6eUMsS0FBQTZJLEVBQUE3SSxL
QUFBK1IsU0FBQXF5QixFQUFBNWpDLEVBQUFrcUIsUUFBQTh0QixFQUFBLElBQUF4NEMsS0FBQXcx
QyxPQUFBLElBQUFnRSxFQUFBeDVDLEtBQUF5NUMsUUFFQSxPQURBejVDLE1BQUF5NUMsVUFBQSxF
QUNBNXdDLEdBQUEsSUFBQUEsRUFBQTdMLFFBVUEsWUFBQWdELEtBQUF5NEMsVUFDQTV2QyxJQUFB
NndDLFlBTUFWLEVBQUFoNUMsS0FBQVIsT0FBQVEsS0FBQVIsTUFBQXc1QyxPQUFBaDVDLEtBQUFS
LE1BQUF3NUMsT0FBQXYwQyxPQUFBekUsS0FBQStLLE9BQUEvSyxLQUFBK0ssUUFDQWl1QyxFQUFB
aDhDLE9BQUEsR0FBQXc4QyxHQUNBeDVDLEtBQUEwNEMsTUFDQTE0QyxLQUFBczVDLE9BQUFOLEVB
QUFoNUMsS0FBQXE1QyxJQUVBcjVDLEtBQUFzNUMsT0FBQU4sRUFBQWg1QyxNQUNBcTVDLE1BRUEs
SUFFQUEsS0FDQSxLQTNCQXI1QyxLQUFBK0ssUUFDQSxrQkFBQS9LLE1BQUE0NEMsVUFDQTU0QyxL
QUFBczVDLFFBQUF0NUMsS0FBQTQ0QyxXQUNBeFUsU0FDQTVqQyxRQUNPMlcsSUFFUCxJQXVCQWsv
QixFQUFBNXJDLFVBQUE2dUMsT0FBQSxTQUFBendDLEVBQUE4d0MsRUFBQXhpQyxHQUNBLEdBQ0Ev
WSxHQURBcTBDLEVBQUF6eUMsSUFFQUEsTUFBQTA0QyxPQUNBdDZDLEVBQUEsU0FBQVIsRUFBQTJv
QixHQUNBLEdBQUE5bkIsTUFBQWEsUUFBQTFCLEdBQ0EsTUFBQWczQyxHQUFBaDNDLEVBQUFRLEVB
QUFtb0IsRUFDTyxtQkFBQTNvQixJQUNQQSxFQUFBUSxNQUFBdTdDLEdBQUE5d0MsRUFBQXlzQyxj
QUFBN3dDLE9BQUE4aEIsS0FHQXF1QixFQUFBL3JDLEVBQUF6SyxFQUFBLFdBQ0ErWSxHQUNBQSxF
QUFBL1ksTUFBQXU3QyxFQUFBeDdDLGVBSUFDLEVBQUEsU0FBQVIsR0FDQSxNQUFBYSxPQUFBYSxR
QUFBMUIsR0FDQTQyQyxFQUFBNTJDLEVBQUFRLEdBQ08sa0JBQUFSLEdBQ1BBLEVBQUFRLE1BQUF1
N0MsRUFBQTl3QyxFQUFBeXNDLG1CQUNPLGdCQUFBMTNDLElBQUE2MEMsRUFBQW9HLFVBQ1BwRyxF
QUFBb0csU0FBQWo3QyxHQUFBUSxNQUFBdTdDLEVBQUE5d0MsRUFBQXlzQyxnQkFHQWQsRUFBQTNy
QyxFQUFBekssS0FJQWk0QyxFQUFBNXJDLFVBQUFzSCxTQUFBLFNBQUFxeUIsRUFBQTVqQyxFQUFB
ZzFDLEVBQUFvRSxFQUFBLzhCLEdBRUEsUUFBQWc5QixHQUFBckUsR0FJQSxRQUFBc0UsR0FBQTlr
QyxHQUVBLE9BREFQLE1BQ0ExWCxFQUFBLEVBQXFCQSxFQUFBaVksRUFBQWhZLE9BQW1CRCxJQUN4
QzBYLEVBQUExWCxHQUFBMEIsTUFBQWEsUUFBQTBWLEVBQUFqWSxJQUFBKzhDLEVBQUE5a0MsRUFB
QWpZLElBQUFpWSxFQUFBalksRUFFQSxPQUFBMFgsR0FFQSxRQUFBc2xDLEdBQUFseEMsR0FDQSxP
QUFBOUwsR0FBQThMLEVBQUE3TCxPQUFBLEVBQWtDRCxHQUFBLEVBQVFBLElBQzFDMEIsTUFBQWEs
UUFBQXVKLEVBQUE5TCxLQUNBZzlDLEVBQUFseEMsRUFBQTlMLElBQ0EsSUFBQThMLEVBQUE5TCxH
QUFBQyxRQUNBNkwsRUFBQXRMLE9BQUFSLEVBQUEsSUFHQThmLEVBQUFoVSxFQUFBOUwsS0FDQThM
LEVBQUF0TCxPQUFBUixFQUFBLEdBbkJBLElBQUE4ZixFQUNBLE1BQUEyNEIsRUF1QkEsSUFBQXdF
LEdBQUFGLEVBQUF0RSxFQUtBLE9BSkF3RSxHQUFBQyxRQUFBekUsRUFBQXlFLFFBQ0FELEVBQUEx
RSxTQUFBRSxFQUFBRixTQUNBMEUsRUFBQWhCLE1BQUF4RCxFQUFBd0QsTUFBQW44QixVQUNBazlC
LEVBQUFDLEdBQ0FBLEVBL0JBLEdBQUFwOUIsR0FBQXM5QixFQUFBM3lDLEVBQUFnZixFQUFBMWQs
SUFpQ0EsSUFBQXJJLElBQUFSLEtBQUF5MUMsV0FBQUQsRUFBQXBSLEdBS0EsTUFKQTdkLEtBQUFp
dkIsRUFBQXlELE9BQUF6RCxFQUFBcFIsSUFBQXZuQixPQUFBOVYsVUFDQXdmLEVBQUF5eUIsT0FB
QXhELEVBQUF3RCxPQUFBbjhCLE9BQUE5VixTQUNBd2YsRUFBQTB6QixTQUFBLEVBQ0ExekIsRUFB
QSt1QixZQUNBdUUsRUFBQXR6QixFQUVBLFFBQUFteEIsS0FBQWxDLEdBQ0EsR0FBQUEsRUFBQTkz
QyxlQUFBZzZDLE1BQUExM0MsS0FBQXEzQyxTQUFBSyxJQUFBMTNDLEtBQUFxM0MsU0FBQUssSUFB
QSxnQkFBQWxDLEdBQUFrQyxLQUFBajVDLE1BQUFhLFFBQUFrMkMsRUFBQWtDLEtBQUEsQ0FNQSxH
QUxBOTZCLEVBQUFzOUIsRUFBQU4sRUFBQTU1QyxLQUFBeTFDLFVBQUFpQyxFQUNBMTNDLEtBQUEy
NEMsU0FDQXVCLEdBQUEsSUFBQWw2QyxLQUFBeTFDLFVBQUEsUUFFQWx1QyxFQUFBL0csRUFBQStH
LE1BQUEsR0FBQTZ0QixRQUFBLElBQUE4a0IsS0FFQSxRQUVBLElBQUEzeUMsRUFBQSxJQUFBQSxF
QUFBLElBQUEvRyxHQUFBZzFDLEVBQUFrQyxHQUFBdFQsR0FTQSxNQVJBN2QsS0FBQWl2QixFQUFB
a0MsR0FBQXVCLE9BQUF6RCxFQUFBa0MsR0FBQXRULElBQUF2bkIsT0FBQTlWLFVBQ0F3ZixFQUFB
eXlCLE9BQUF4RCxFQUFBa0MsR0FBQXNCLE9BQUFuOEIsT0FBQTlWLFNBQ0F3ZixFQUFBMHpCLFNB
QUEsRUFDQTF6QixFQUFBK3VCLFNBQUEvdEMsRUFBQXlCLE1BQUEsR0FDQWhKLEtBQUF5NEMsU0FB
QWpELElBQUF4MUMsS0FBQXcxQyxTQUNBanZCLEVBQUEza0IsTUFBQTR6QyxFQUFBeUQsT0FBQXpE
LEVBQUF0c0MsSUFBQTJULE9BQUE5VixVQUNBd2YsRUFBQXl5QixNQUFBenlCLEVBQUF5eUIsTUFB
QXYwQyxRQUFBK3dDLEVBQUF3RCxPQUFBbjhCLE9BQUE5VixXQUVBOHlDLEVBQUF0ekIsRUFHQSxJ
QURBQSxFQUFBdm1CLEtBQUErUixTQUFBcXlCLEVBQUE1akMsRUFBQWcxQyxFQUFBa0MsR0FBQTk2
QixHQUNBMkosRUFBQTB6QixRQWVBLE1BZEExekIsR0FBQXZwQixPQUFBLElBQ0E2TCxJQUFBcEUs
T0FBQThoQixJQUVBdm1CLEtBQUF5NEMsVUFDQTV2QyxFQUFBakgsTUFBQTR6QyxFQUFBa0MsR0FB
QXVCLE9BQUF6RCxFQUFBa0MsR0FBQXh1QyxJQUFBMlQsT0FBQTlWLFVBQ0F3ZixFQUFBeXlCLE1B
QUF6eUIsRUFBQXl5QixNQUFBdjBDLFFBQUErd0MsRUFBQWtDLEdBQUFzQixPQUFBbjhCLE9BQUE5
VixVQUNBeXVDLElBQUF4MUMsS0FBQXcxQyxTQUNBM3NDLEVBQUFqSCxNQUFBNHpDLEVBQUEsT0FB
QUEsRUFBQSxJQUFBMzRCLE9BQUE5VixVQUNBd2YsRUFBQXl5QixNQUFBenlCLEVBQUF5eUIsTUFB
QXYwQyxRQUFBK3dDLEVBQUEsT0FBQTM0QixPQUFBOVYsWUFHQThCLEVBQUFveEMsU0FBQSxFQUNB
cHhDLEVBQUF5c0MsU0FBQS91QixFQUFBK3VCLFNBQ0F6c0MsRUFBQW13QyxNQUFBenlCLEVBQUF5
eUIsTUFDQWEsRUFBQWh4QyxHQUlBLFVBR0F3dEMsRUFBQTVyQyxVQUFBdTdCLE9BQUEsU0FBQTVC
LEVBQUE1akMsRUFBQTYzQyxFQUFBNXlDLEdBQ0EsR0FBQTAwQyxHQUFBNzZDLEVBQUEyckMsRUFB
QW1QLENBU0EsSUFSQTU1QyxJQUFBcWMsT0FBQSxTQUFBZ0gsR0FDQSxNQUFBQSxNQUFBN21CLE9B
QUEsSUFFQXlJLEtBQUF6RixLQUFBdzFDLE9BQ0E0RSxFQUFBNTVDLEVBQUFrK0IsUUFDQSxRQUFB
aCtCLEtBQUEwNUMsS0FBQSxVQUFBMTVDLEtBQUEwNUMsS0FDQUEsRUFBQWpGLEVBQUFpRixFQUFB
cDZDLEtBQUFnMUMsU0FFQXgwQyxFQUFBeEQsT0FBQSxFQUVBLE1BREF5SSxHQUFBMjBDLEdBQUEz
MEMsRUFBQTIwQyxPQUNBcDZDLEtBQUFnbUMsT0FBQTVCLEVBQUE1akMsRUFBQTYzQyxFQUFBNXlD
LEVBQUEyMEMsR0FFQSxJQUFBQSxHQUFBNTVDLEVBQUF4RCxRQUFBeUksSUFBQXpGLEtBQUF3MUMs
T0FBQSxDQWlCQSxHQUZBMkUsUUFBQTEwQyxHQUFBMjBDLEdBQ0E5NkMsRUFBQWIsTUFBQWEsUUFB
QW1HLEVBQUEyMEMsSUFDQTMwQyxFQUFBMjBDLEtBQUE5NkMsR0FBQSxVQUFBNjZDLEVBRUEsYUFE
QTEwQyxHQUFBMjBDLEdBQUFoVyxJQUVBLGVBRUEsWUFEQTMrQixFQUFBMjBDLEdBQUFoVyxJQUFB
MytCLEVBQUEyMEMsR0FBQWhXLEdBQUFpVSxHQUVBLGNBRUEsV0FEQTV5QyxHQUFBMjBDLEdBQUFo
VyxHQUFBeGlDLEtBQUF5MkMsRUFFQSxpQkFFQSxZQURBNXlDLEVBQUEyMEMsR0FBQWhXLEdBQUFp
VSxPQUdHLGlCQUFBOEIsRUFJSCxNQUhBbFAsTUFDQUEsRUFBQTdHLEdBQUFpVSxPQUNBNXlDLEVB
QUEyMEMsR0FBQW5QLEVBR0EsVUFBQW9QLE9BQUEsMEJBQUFGLEdBbENBLGFBREExMEMsR0FBQTIr
QixJQUVBLGVBRUEsWUFEQTMrQixFQUFBMitCLElBQUEzK0IsRUFBQTIrQixHQUFBaVUsR0FFQSxj
QUVBLFdBREE1eUMsR0FBQTIrQixHQUFBeGlDLEtBQUF5MkMsRUFFQSxpQkFFQSxZQURBNXlDLEVB
QUEyK0IsR0FBQWlVLEtBK0JBaEMsRUFBQTVyQyxVQUFBL0wsT0FBQSxTQUFBbVUsR0FDQSxHQUFB
OVYsR0FBQTAxQyxFQUFBenlDLEtBQUF3SCxFQUFBcUwsRUFBQTdWLE1BUUEsS0FBQUQsRUFBQSxF
QUFhQSxFQUFBeUssRUFBU3pLLEtBUHRCLFNBQUFxbkMsR0FDQXFPLEVBQUE0RSxTQUFBalQsSUFB
QSxFQUNBcU8sRUFBQXJPLEdBQUEsV0FDQSxHQUFBa1csR0FBQSxJQUFBbjhDLFVBQUFuQixRQUFB
b25DLEVBQUEsS0FBQUEsRUFDQXFPLEdBQUF2cEMsR0FBQTlLLE1BQUFxMEMsRUFBQTZILEVBQUE3
MUMsT0FBQWhHLE1BQUFnTSxVQUFBekIsTUFBQXZOLEtBQUEwQyxlQUlBMFUsRUFBQTlWLEtBSUFz
NUMsRUFBQTVyQyxVQUFBOHVDLFFBQUEsU0FBQTF3QyxHQUNBLEdBQUEwd0MsR0FBQXY1QyxLQUFB
UixPQUFBUSxLQUFBUixNQUFBeTVDLFFBQUFqNUMsS0FBQVIsTUFBQXk1QyxRQUFBeDBDLE9BQUFp
d0MsRUFBQTdyQyxJQUFBNnJDLEVBQUE3ckMsRUFNQSxPQUxBN0ksTUFBQVIsT0FBQVEsS0FBQVIs
TUFBQTBKLElBQ0Fxd0MsRUFBQTMzQyxLQUFBNUIsS0FBQVIsTUFBQTBKLElBRUFxd0MsRUFBQWpF
LFNBQUF6c0MsRUFBQXlzQyxTQUNBaUUsRUFBQXZrQyxPQUFBbk0sRUFBQW1NLE9BQ0F1a0MsR0FH
QWxELEVBQUE1ckMsVUFBQStvQyxNQUFBLFNBQUFnQyxFQUFBaDFDLEdBQ0EsR0FBQWcxQyxHQUFB
LGdCQUFBQSxLQUFBLzJDLE1BQUFhLFFBQUFrMkMsR0FBQSxDQUdBLEdBQUEvQyxHQUFBenlDLElB
Q0FRLFNBQ0EvQixNQUFBYSxRQUFBa0IsS0FDQUEsSUFBQTFELE1BQUEyMUMsRUFBQWdELFdBbUJB
LFFBQUE0QyxLQUFBN0MsR0FDQUEsRUFBQTkzQyxlQUFBMjZDLElBbEJBLFNBQUFBLEVBQUFrQyxH
QUNBLEdBQUFDLEdBQUFuQyxFQUFBb0MsRUFBQXBDLEVBQUF2N0MsTUFBQTIxQyxFQUFBZ0QsV0FB
QWlGLFFBQUFsRixHQUFBNkMsR0FBQXNDLEVBQUEsS0FBQUYsRUFBQSxLQUFBaEksRUFBQTRFLFNB
QUFvRCxFQUFBLElBQUFqeEMsRUFBQW14QyxFQUFBLEtBQUFILENBS0EsSUFKQUcsSUFDQUgsSUFB
QXh4QyxPQUFBd3hDLEVBQUFqekMsTUFBQSxHQUFBNnRCLFFBQUEsSUFBQXFkLEVBQUFnRCxjQUFB
LFFBQUF6NEMsUUFDQXk5QyxFQUFBL2IsU0FFQWljLEdBQUEsV0FBQUQsSUFBQWo4QyxNQUFBYSxR
QUFBazJDLEVBQUE2QyxJQUdBLE1BRkFrQyxLQUFBOTFDLE9BQUFnMkMsT0FDQWhJLEdBQUFlLE1B
QUFnQyxFQUFBNkMsR0FBQWtDLEVBR0FJLEtBQ0FKLElBQUE5MUMsT0FBQSsxQyxFQUFBMTlDLE1B
QUEyMUMsRUFBQWdELFlBQ0E4RSxFQUFBaEYsRUFBQWdGLEVBQUE5SCxFQUFBZ0QsWUFFQWhELEVB
QUF6TSxPQUFBeDhCLEVBQUErd0MsRUFBQS9FLEVBQUE2QyxLQUlBQSxFQUFBNzNDLEVBQUF3SSxN
QUFBLE9BT0MwcUMsSUhrOFRNLENBQ0EsQ0FDQSxDQUNBLENBQ0EsQ0FDQSxDQUNBLENBQ0MsQ0FF
RixTQUFVbjVDLEVBQVFtNUMsR0kzcFZ4Qm41QyxFQUFBbTVDLFFBQUEsU0FBQWtILEVBQUEvOUMs
R0FHQSxPQUZBa3ZCLE1BQ0E4dUIsS0FDQTk5QyxFQUFBLEVBQWlCQSxFQUFBRixFQUFBRyxPQUFp
QkQsSUFBQSxDQUNsQyxHQUFBSyxHQUFBUCxFQUFBRSxHQUNBb0osRUFBQS9JLEVBQUEsR0FDQXl0
QixFQUFBenRCLEVBQUEsR0FDQTA5QyxFQUFBMTlDLEVBQUEsR0FDQTI5QyxFQUFBMzlDLEVBQUEs
R0FDQWc5QyxHQUNBajBDLEdBQUF5MEMsRUFBQSxJQUFBNzlDLEVBQ0E4dEIsTUFDQWl3QixRQUNB
QyxZQUVBRixHQUFBMTBDLEdBR0EwMEMsRUFBQTEwQyxHQUFBczBDLE1BQUE3NEMsS0FBQXc0QyxH
QUZBcnVCLEVBQUFucUIsS0FBQWk1QyxFQUFBMTBDLElBQW1DQSxLQUFBczBDLE9BQUFMLEtBS25D
LE1BQUFydUIsS0p1cVZNLFNBQVV4eEIsRUFBUW01QyxHS2hzVnhCLEdBQUFqQyxFQUdBQSxHQUFB
LFdBQ0EsTUFBQXp4QyxRQUdBLEtBRUF5eEMsS0FBQWpSLFNBQUEscUJBQUF3YSxNQUFBLFFBQ0Ms
TUFBQXY3QyxHQUVELGdCQUFBeWUsVUFDQXV6QixFQUFBdnpCLFFBT0EzakIsRUFBQW01QyxRQUFB
akMsR0x1c1ZNLFNBQVVsM0MsRUFBUW01QyxHTTFxVnhCLFFBQUF1SCxHQUFBNzlDLEVBQUE4OUMs
R0FDQSxHQUFBNUssR0FBQWx6QyxFQUFBLE9BQ0ErOUMsRUFBQS85QyxFQUFBLEVBQ0EsS0FBQSs5
QyxFQUNBLE1BQUE3SyxFQUdBLElBQUE0SyxHQUFBLGtCQUFBRSxNQUFBLENBQ0EsR0FBQUMsR0FB
QUMsRUFBQUgsRUFLQSxRQUFBN0ssR0FBQTdyQyxPQUpBMDJDLEVBQUFJLFFBQUE1K0MsSUFBQSxT
QUFBcVksR0FDQSx1QkFBQW1tQyxFQUFBSyxXQUFBeG1DLEVBQUEsU0FHQXZRLFFBQUE0MkMsSUFB
QTU1QixLQUFBLE1BR0EsT0FBQTZ1QixHQUFBN3VCLEtBQUEsTUFJQSxRQUFBNjVCLEdBQUFQLEdB
S0EseUVBSEFLLEtBQUFLLFNBQUFDLG1CQUFBdi9DLEtBQUFDLFVBQUEyK0MsTUFHQSxNQXJFQXhn
RCxFQUFBbTVDLFFBQUEsU0FBQXdILEdBQ0EsR0FBQXIrQyxLQXdDQSxPQXJDQUEsR0FBQVgsU0FB
QSxXQUNBLE1BQUE4RCxNQUFBckQsSUFBQSxTQUFBUyxHQUNBLEdBQUFrekMsR0FBQTJLLEVBQUE3
OUMsRUFBQTg5QyxFQUNBLE9BQUE5OUMsR0FBQSxHQUNBLFVBQUFBLEVBQUEsT0FBbUNrekMsRUFB
QSxJQUVuQ0EsSUFFRzd1QixLQUFBLEtBSUg1a0IsRUFBQUUsRUFBQSxTQUFBcW5CLEVBQUF1M0Is
R0FDQSxnQkFBQXYzQixLQUNBQSxJQUFBLEtBQUFBLEVBQUEsS0FFQSxRQURBdzNCLE1BQ0E3K0Ms
RUFBQSxFQUFnQkEsRUFBQWlELEtBQUFoRCxPQUFpQkQsSUFBQSxDQUNqQyxHQUFBb0osR0FBQW5H
LEtBQUFqRCxHQUFBLEVBQ0EsaUJBQUFvSixLQUNBeTFDLEVBQUF6MUMsSUFBQSxHQUVBLElBQUFw
SixFQUFBLEVBQVlBLEVBQUFxbkIsRUFBQXBuQixPQUFvQkQsSUFBQSxDQUNoQyxHQUFBSyxHQUFB
Z25CLEVBQUFybkIsRUFLQSxpQkFBQUssR0FBQSxJQUFBdytDLEVBQUF4K0MsRUFBQSxNQUNBdStD
LElBQUF2K0MsRUFBQSxHQUNBQSxFQUFBLEdBQUF1K0MsRUFDS0EsSUFDTHYrQyxFQUFBLE9BQUFB
LEVBQUEsYUFBQXUrQyxFQUFBLEtBRUE5K0MsRUFBQStFLEtBQUF4RSxNQUlBUCxJTit2Vk0sU0FB
VXRDLEVBQVFtNUMsRUFBU2o1QyxHTzV0VmpDLFFBQUFvaEQsR0FBQTl2QixHQUNBLE9BQUFodkIs
R0FBQSxFQUFpQkEsRUFBQWd2QixFQUFBL3VCLE9BQW1CRCxJQUFBLENBQ3BDLEdBQUFLLEdBQUEy
dUIsRUFBQWh2QixHQUNBKytDLEVBQUFDLEVBQUEzK0MsRUFBQStJLEdBQ0EsSUFBQTIxQyxFQUFB
LENBQ0FBLEVBQUFsOEIsTUFDQSxRQUFBbFAsR0FBQSxFQUFxQkEsRUFBQW9yQyxFQUFBckIsTUFB
QXo5QyxPQUEyQjBULElBQ2hEb3JDLEVBQUFyQixNQUFBL3BDLEdBQUF0VCxFQUFBcTlDLE1BQUEv
cEMsR0FFQSxNQUFZQSxFQUFBdFQsRUFBQXE5QyxNQUFBejlDLE9BQXVCMFQsSUFDbkNvckMsRUFB
QXJCLE1BQUE3NEMsS0FBQW82QyxFQUFBNStDLEVBQUFxOUMsTUFBQS9wQyxJQUVBb3JDLEdBQUFy
QixNQUFBejlDLE9BQUFJLEVBQUFxOUMsTUFBQXo5QyxTQUNBOCtDLEVBQUFyQixNQUFBejlDLE9B
QUFJLEVBQUFxOUMsTUFBQXo5QyxZQUVLLENBRUwsT0FEQXk5QyxNQUNBL3BDLEVBQUEsRUFBcUJB
LEVBQUF0VCxFQUFBcTlDLE1BQUF6OUMsT0FBdUIwVCxJQUM1QytwQyxFQUFBNzRDLEtBQUFvNkMs
RUFBQTUrQyxFQUFBcTlDLE1BQUEvcEMsSUFFQXFyQyxHQUFBMytDLEVBQUErSSxLQUE4QkEsR0FB
QS9JLEVBQUErSSxHQUFBeVosS0FBQSxFQUFBNjZCLFdBSzlCLFFBQUF3QixLQUNBLEdBQUFDLEdB
QUFqK0IsU0FBQTNJLGNBQUEsUUFHQSxPQUZBNG1DLEdBQUFsM0MsS0FBQSxXQUNBbTNDLEVBQUE5
OEIsWUFBQTY4QixHQUNBQSxFQUdBLFFBQUFGLEdBQUExZ0QsR0FDQSxHQUFBaUssR0FBQXJJLEVB
Q0FnL0MsRUFBQWorQixTQUFBTSxjQUFBLDJCQUFBampCLEVBQUE2SyxHQUFBLEtBRUEsSUFBQSsx
QyxFQUFBLENBQ0EsR0FBQUUsRUFHQSxNQUFBcjlDLEVBT0FtOUMsR0FBQS8rQixXQUFBaUMsWUFB
QTg4QixHQUlBLEdBQUFHLEVBQUEsQ0FFQSxHQUFBQyxHQUFBQyxHQUNBTCxHQUFBTSxNQUFBUCxL
QUNBMTJDLEVBQUFrM0MsRUFBQTMrQyxLQUFBLEtBQUFvK0MsRUFBQUksR0FBQSxHQUNBcC9DLEVB
QUF1L0MsRUFBQTMrQyxLQUFBLEtBQUFvK0MsRUFBQUksR0FBQSxPQUdBSixHQUFBRCxJQUNBMTJD
LEVBQUFtM0MsRUFBQTUrQyxLQUFBLEtBQUFvK0MsR0FDQWgvQyxFQUFBLFdBQ0FnL0MsRUFBQS8r
QixXQUFBaUMsWUFBQTg4QixHQU1BLE9BRkEzMkMsR0FBQWpLLEdBRUEsU0FBQXFoRCxHQUNBLEdB
QUFBLEVBQUEsQ0FDQSxHQUFBQSxFQUFBOXhCLE1BQUF2dkIsRUFBQXV2QixLQUNBOHhCLEVBQUE3
QixRQUFBeC9DLEVBQUF3L0MsT0FDQTZCLEVBQUE1QixZQUFBei9DLEVBQUF5L0MsVUFDQSxNQUVB
eDFDLEdBQUFqSyxFQUFBcWhELE9BRUF6L0MsTUFjQSxRQUFBdS9DLEdBQUFQLEVBQUE3K0MsRUFB
QUgsRUFBQTVCLEdBQ0EsR0FBQXV2QixHQUFBM3RCLEVBQUEsR0FBQTVCLEVBQUF1dkIsR0FFQSxJ
QUFBcXhCLEVBQUFVLFdBQ0FWLEVBQUFVLFdBQUFyVCxRQUFBc1QsRUFBQXgvQyxFQUFBd3RCLE9B
Q0csQ0FDSCxHQUFBaXlCLEdBQUE3K0IsU0FBQWMsZUFBQThMLEdBQ0FreUIsRUFBQWIsRUFBQWEs
VUFDQUEsR0FBQTEvQyxJQUFBNitDLEVBQUE5OEIsWUFBQTI5QixFQUFBMS9DLElBQ0EwL0MsRUFB
QS8vQyxPQUNBay9DLEVBQUFqOUIsYUFBQTY5QixFQUFBQyxFQUFBMS9DLElBRUE2K0MsRUFBQTc4
QixZQUFBeTlCLElBS0EsUUFBQUosR0FBQVIsRUFBQTVnRCxHQUNBLEdBQUF1dkIsR0FBQXZ2QixF
QUFBdXZCLElBQ0Fpd0IsRUFBQXgvQyxFQUFBdy9DLE1BQ0FDLEVBQUF6L0MsRUFBQXkvQyxTQWNB
LElBWkFELEdBQ0FvQixFQUFBdjlCLGFBQUEsUUFBQW04QixHQUdBQyxJQUdBbHdCLEdBQUEsbUJB
QUFrd0IsRUFBQVEsUUFBQSxTQUVBMXdCLEdBQUEsdURBQXlEdXdCLEtBQUFLLFNBQUFDLG1CQUFB
di9DLEtBQUFDLFVBQUEyK0MsTUFBQSxPQUd6RG1CLEVBQUFVLFdBQ0FWLEVBQUFVLFdBQUFyVCxR
QUFBMWUsTUFDRyxDQUNILEtBQUFxeEIsRUFBQXZPLFlBQ0F1TyxFQUFBOThCLFlBQUE4OEIsRUFB
QXZPLFdBRUF1TyxHQUFBNzhCLFlBQUFwQixTQUFBYyxlQUFBOEwsS0E5TUEsR0FBQW15QixHQUFB
LG1CQUFBLytCLFNBRUEsdUJBQUFnL0IsZ0JBQ0FELEVBQ0EsU0FBQTNDLE9BQ0EsMEpBS0EsSUFB
QTZDLEdBQUF6aUQsRUFBQSxJQWVBc2hELEtBUUFJLEVBQUFhLElBQUEvK0IsU0FBQWsrQixNQUFB
bCtCLFNBQUFrL0IscUJBQUEsWUFDQVgsRUFBQSxLQUNBRCxFQUFBLEVBQ0FILEdBQUEsRUFDQXI5
QyxFQUFBLGFBSUFzOUMsRUFBQSxtQkFBQW5hLFlBQUEsZUFBQXhoQyxLQUFBd2hDLFVBQUFDLFVB
QUFsbEMsY0FFQTFDLEdBQUFtNUMsUUFBQSxTQUFBa0gsRUFBQS85QyxFQUFBdWdELEdBQ0FoQixF
QUFBZ0IsQ0FFQSxJQUFBcnhCLEdBQUFteEIsRUFBQXRDLEVBQUEvOUMsRUFHQSxPQUZBZy9DLEdB
QUE5dkIsR0FFQSxTQUFBc3hCLEdBRUEsT0FEQUMsTUFDQXZnRCxFQUFBLEVBQW1CQSxFQUFBZ3ZC
LEVBQUEvdUIsT0FBbUJELElBQUEsQ0FDdEMsR0FBQUssR0FBQTJ1QixFQUFBaHZCLEdBQ0ErK0Ms
RUFBQUMsRUFBQTMrQyxFQUFBK0ksR0FDQTIxQyxHQUFBbDhCLE9BQ0EwOUIsRUFBQTE3QyxLQUFB
azZDLEdBRUF1QixHQUNBdHhCLEVBQUFteEIsRUFBQXRDLEVBQUF5QyxHQUNBeEIsRUFBQTl2QixJ
QUVBQSxJQUVBLFFBQUFodkIsR0FBQSxFQUFtQkEsRUFBQXVnRCxFQUFBdGdELE9BQXNCRCxJQUFB
LENBQ3pDLEdBQUErK0MsR0FBQXdCLEVBQUF2Z0QsRUFDQSxRQUFBKytDLEVBQUFsOEIsS0FBQSxD
QUNBLE9BQUFsUCxHQUFBLEVBQXVCQSxFQUFBb3JDLEVBQUFyQixNQUFBejlDLE9BQTJCMFQsSUFD
bERvckMsRUFBQXJCLE1BQUEvcEMsV0FFQXFyQyxHQUFBRCxFQUFBMzFDLE9Bd0ZBLElBQUEwMkMs
R0FBQSxXQUNBLEdBQUFVLEtBRUEsaUJBQUFsZ0QsRUFBQW1nRCxHQUVBLE1BREFELEdBQUFsZ0Qs
R0FBQW1nRCxFQUNBRCxFQUFBMWdDLE9BQUE5VixTQUFBMGEsS0FBQSIsImZpbGUiOiJzdGF0aWMv
anMvdmVuZG9yLjJlNGU5ZTUyODY2NGZhNzk2ZDNhLmpzIiwic291cmNlc0NvbnRlbnQiOlsid2Vi
cGFja0pzb25wKFsxXSxbXG4vKiAwICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBh
Y2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xu
T2JqZWN0LmRlZmluZVByb3BlcnR5KF9fd2VicGFja19leHBvcnRzX18sIFwiX19lc01vZHVsZVwi
LCB7IHZhbHVlOiB0cnVlIH0pO1xuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9u
KGdsb2JhbCkgey8qIVxuICogVnVlLmpzIHYyLjQuMlxuICogKGMpIDIwMTQtMjAxNyBFdmFuIFlv
dVxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLlxuICovXG4vKiAgKi9cblxuLy8g
dGhlc2UgaGVscGVycyBwcm9kdWNlcyBiZXR0ZXIgdm0gY29kZSBpbiBKUyBlbmdpbmVzIGR1ZSB0
byB0aGVpclxuLy8gZXhwbGljaXRuZXNzIGFuZCBmdW5jdGlvbiBpbmxpbmluZ1xuZnVuY3Rpb24g
aXNVbmRlZiAodikge1xuICByZXR1cm4gdiA9PT0gdW5kZWZpbmVkIHx8IHYgPT09IG51bGxcbn1c
blxuZnVuY3Rpb24gaXNEZWYgKHYpIHtcbiAgcmV0dXJuIHYgIT09IHVuZGVmaW5lZCAmJiB2ICE9
PSBudWxsXG59XG5cbmZ1bmN0aW9uIGlzVHJ1ZSAodikge1xuICByZXR1cm4gdiA9PT0gdHJ1ZVxu
fVxuXG5mdW5jdGlvbiBpc0ZhbHNlICh2KSB7XG4gIHJldHVybiB2ID09PSBmYWxzZVxufVxuXG4v
KipcbiAqIENoZWNrIGlmIHZhbHVlIGlzIHByaW1pdGl2ZVxuICovXG5mdW5jdGlvbiBpc1ByaW1p
dGl2ZSAodmFsdWUpIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcn
IHx8XG4gICAgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyB8fFxuICAgIHR5cGVvZiB2YWx1ZSA9
PT0gJ2Jvb2xlYW4nXG4gIClcbn1cblxuLyoqXG4gKiBRdWljayBvYmplY3QgY2hlY2sgLSB0aGlz
IGlzIHByaW1hcmlseSB1c2VkIHRvIHRlbGxcbiAqIE9iamVjdHMgZnJvbSBwcmltaXRpdmUgdmFs
dWVzIHdoZW4gd2Uga25vdyB0aGUgdmFsdWVcbiAqIGlzIGEgSlNPTi1jb21wbGlhbnQgdHlwZS5c
biAqL1xuZnVuY3Rpb24gaXNPYmplY3QgKG9iaikge1xuICByZXR1cm4gb2JqICE9PSBudWxsICYm
IHR5cGVvZiBvYmogPT09ICdvYmplY3QnXG59XG5cbnZhciBfdG9TdHJpbmcgPSBPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nO1xuXG4vKipcbiAqIFN0cmljdCBvYmplY3QgdHlwZSBjaGVjay4gT25s
eSByZXR1cm5zIHRydWVcbiAqIGZvciBwbGFpbiBKYXZhU2NyaXB0IG9iamVjdHMuXG4gKi9cbmZ1
bmN0aW9uIGlzUGxhaW5PYmplY3QgKG9iaikge1xuICByZXR1cm4gX3RvU3RyaW5nLmNhbGwob2Jq
KSA9PT0gJ1tvYmplY3QgT2JqZWN0XSdcbn1cblxuZnVuY3Rpb24gaXNSZWdFeHAgKHYpIHtcbiAg
cmV0dXJuIF90b1N0cmluZy5jYWxsKHYpID09PSAnW29iamVjdCBSZWdFeHBdJ1xufVxuXG4vKipc
biAqIENoZWNrIGlmIHZhbCBpcyBhIHZhbGlkIGFycmF5IGluZGV4LlxuICovXG5mdW5jdGlvbiBp
c1ZhbGlkQXJyYXlJbmRleCAodmFsKSB7XG4gIHZhciBuID0gcGFyc2VGbG9hdCh2YWwpO1xuICBy
ZXR1cm4gbiA+PSAwICYmIE1hdGguZmxvb3IobikgPT09IG4gJiYgaXNGaW5pdGUodmFsKVxufVxu
XG4vKipcbiAqIENvbnZlcnQgYSB2YWx1ZSB0byBhIHN0cmluZyB0aGF0IGlzIGFjdHVhbGx5IHJl
bmRlcmVkLlxuICovXG5mdW5jdGlvbiB0b1N0cmluZyAodmFsKSB7XG4gIHJldHVybiB2YWwgPT0g
bnVsbFxuICAgID8gJydcbiAgICA6IHR5cGVvZiB2YWwgPT09ICdvYmplY3QnXG4gICAgICA/IEpT
T04uc3RyaW5naWZ5KHZhbCwgbnVsbCwgMilcbiAgICAgIDogU3RyaW5nKHZhbClcbn1cblxuLyoq
XG4gKiBDb252ZXJ0IGEgaW5wdXQgdmFsdWUgdG8gYSBudW1iZXIgZm9yIHBlcnNpc3RlbmNlLlxu
ICogSWYgdGhlIGNvbnZlcnNpb24gZmFpbHMsIHJldHVybiBvcmlnaW5hbCBzdHJpbmcuXG4gKi9c
bmZ1bmN0aW9uIHRvTnVtYmVyICh2YWwpIHtcbiAgdmFyIG4gPSBwYXJzZUZsb2F0KHZhbCk7XG4g
IHJldHVybiBpc05hTihuKSA/IHZhbCA6IG5cbn1cblxuLyoqXG4gKiBNYWtlIGEgbWFwIGFuZCBy
ZXR1cm4gYSBmdW5jdGlvbiBmb3IgY2hlY2tpbmcgaWYgYSBrZXlcbiAqIGlzIGluIHRoYXQgbWFw
LlxuICovXG5mdW5jdGlvbiBtYWtlTWFwIChcbiAgc3RyLFxuICBleHBlY3RzTG93ZXJDYXNlXG4p
IHtcbiAgdmFyIG1hcCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIHZhciBsaXN0ID0gc3RyLnNw
bGl0KCcsJyk7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xuICAg
IG1hcFtsaXN0W2ldXSA9IHRydWU7XG4gIH1cbiAgcmV0dXJuIGV4cGVjdHNMb3dlckNhc2VcbiAg
ICA/IGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIG1hcFt2YWwudG9Mb3dlckNhc2UoKV07IH1cbiAg
ICA6IGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIG1hcFt2YWxdOyB9XG59XG5cbi8qKlxuICogQ2hl
Y2sgaWYgYSB0YWcgaXMgYSBidWlsdC1pbiB0YWcuXG4gKi9cbnZhciBpc0J1aWx0SW5UYWcgPSBt
YWtlTWFwKCdzbG90LGNvbXBvbmVudCcsIHRydWUpO1xuXG4vKipcbiAqIENoZWNrIGlmIGEgYXR0
cmlidXRlIGlzIGEgcmVzZXJ2ZWQgYXR0cmlidXRlLlxuICovXG52YXIgaXNSZXNlcnZlZEF0dHJp
YnV0ZSA9IG1ha2VNYXAoJ2tleSxyZWYsc2xvdCxpcycpO1xuXG4vKipcbiAqIFJlbW92ZSBhbiBp
dGVtIGZyb20gYW4gYXJyYXlcbiAqL1xuZnVuY3Rpb24gcmVtb3ZlIChhcnIsIGl0ZW0pIHtcbiAg
aWYgKGFyci5sZW5ndGgpIHtcbiAgICB2YXIgaW5kZXggPSBhcnIuaW5kZXhPZihpdGVtKTtcbiAg
ICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgcmV0dXJuIGFyci5zcGxpY2UoaW5kZXgsIDEpXG4g
ICAgfVxuICB9XG59XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciB0aGUgb2JqZWN0IGhhcyB0aGUg
cHJvcGVydHkuXG4gKi9cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFz
T3duUHJvcGVydHk7XG5mdW5jdGlvbiBoYXNPd24gKG9iaiwga2V5KSB7XG4gIHJldHVybiBoYXNP
d25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KVxufVxuXG4vKipcbiAqIENyZWF0ZSBhIGNhY2hlZCB2
ZXJzaW9uIG9mIGEgcHVyZSBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gY2FjaGVkIChmbikge1xu
ICB2YXIgY2FjaGUgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICByZXR1cm4gKGZ1bmN0aW9uIGNh
Y2hlZEZuIChzdHIpIHtcbiAgICB2YXIgaGl0ID0gY2FjaGVbc3RyXTtcbiAgICByZXR1cm4gaGl0
IHx8IChjYWNoZVtzdHJdID0gZm4oc3RyKSlcbiAgfSlcbn1cblxuLyoqXG4gKiBDYW1lbGl6ZSBh
IGh5cGhlbi1kZWxpbWl0ZWQgc3RyaW5nLlxuICovXG52YXIgY2FtZWxpemVSRSA9IC8tKFxcdykv
ZztcbnZhciBjYW1lbGl6ZSA9IGNhY2hlZChmdW5jdGlvbiAoc3RyKSB7XG4gIHJldHVybiBzdHIu
cmVwbGFjZShjYW1lbGl6ZVJFLCBmdW5jdGlvbiAoXywgYykgeyByZXR1cm4gYyA/IGMudG9VcHBl
ckNhc2UoKSA6ICcnOyB9KVxufSk7XG5cbi8qKlxuICogQ2FwaXRhbGl6ZSBhIHN0cmluZy5cbiAq
L1xudmFyIGNhcGl0YWxpemUgPSBjYWNoZWQoZnVuY3Rpb24gKHN0cikge1xuICByZXR1cm4gc3Ry
LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgc3RyLnNsaWNlKDEpXG59KTtcblxuLyoqXG4gKiBI
eXBoZW5hdGUgYSBjYW1lbENhc2Ugc3RyaW5nLlxuICovXG52YXIgaHlwaGVuYXRlUkUgPSAvKFte
LV0pKFtBLVpdKS9nO1xudmFyIGh5cGhlbmF0ZSA9IGNhY2hlZChmdW5jdGlvbiAoc3RyKSB7XG4g
IHJldHVybiBzdHJcbiAgICAucmVwbGFjZShoeXBoZW5hdGVSRSwgJyQxLSQyJylcbiAgICAucmVw
bGFjZShoeXBoZW5hdGVSRSwgJyQxLSQyJylcbiAgICAudG9Mb3dlckNhc2UoKVxufSk7XG5cbi8q
KlxuICogU2ltcGxlIGJpbmQsIGZhc3RlciB0aGFuIG5hdGl2ZVxuICovXG5mdW5jdGlvbiBiaW5k
IChmbiwgY3R4KSB7XG4gIGZ1bmN0aW9uIGJvdW5kRm4gKGEpIHtcbiAgICB2YXIgbCA9IGFyZ3Vt
ZW50cy5sZW5ndGg7XG4gICAgcmV0dXJuIGxcbiAgICAgID8gbCA+IDFcbiAgICAgICAgPyBmbi5h
cHBseShjdHgsIGFyZ3VtZW50cylcbiAgICAgICAgOiBmbi5jYWxsKGN0eCwgYSlcbiAgICAgIDog
Zm4uY2FsbChjdHgpXG4gIH1cbiAgLy8gcmVjb3JkIG9yaWdpbmFsIGZuIGxlbmd0aFxuICBib3Vu
ZEZuLl9sZW5ndGggPSBmbi5sZW5ndGg7XG4gIHJldHVybiBib3VuZEZuXG59XG5cbi8qKlxuICog
Q29udmVydCBhbiBBcnJheS1saWtlIG9iamVjdCB0byBhIHJlYWwgQXJyYXkuXG4gKi9cbmZ1bmN0
aW9uIHRvQXJyYXkgKGxpc3QsIHN0YXJ0KSB7XG4gIHN0YXJ0ID0gc3RhcnQgfHwgMDtcbiAgdmFy
IGkgPSBsaXN0Lmxlbmd0aCAtIHN0YXJ0O1xuICB2YXIgcmV0ID0gbmV3IEFycmF5KGkpO1xuICB3
aGlsZSAoaS0tKSB7XG4gICAgcmV0W2ldID0gbGlzdFtpICsgc3RhcnRdO1xuICB9XG4gIHJldHVy
biByZXRcbn1cblxuLyoqXG4gKiBNaXggcHJvcGVydGllcyBpbnRvIHRhcmdldCBvYmplY3QuXG4g
Ki9cbmZ1bmN0aW9uIGV4dGVuZCAodG8sIF9mcm9tKSB7XG4gIGZvciAodmFyIGtleSBpbiBfZnJv
bSkge1xuICAgIHRvW2tleV0gPSBfZnJvbVtrZXldO1xuICB9XG4gIHJldHVybiB0b1xufVxuXG4v
KipcbiAqIE1lcmdlIGFuIEFycmF5IG9mIE9iamVjdHMgaW50byBhIHNpbmdsZSBPYmplY3QuXG4g
Ki9cbmZ1bmN0aW9uIHRvT2JqZWN0IChhcnIpIHtcbiAgdmFyIHJlcyA9IHt9O1xuICBmb3IgKHZh
ciBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xuICAgIGlmIChhcnJbaV0pIHtcbiAgICAg
IGV4dGVuZChyZXMsIGFycltpXSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNcbn1cblxuLyoq
XG4gKiBQZXJmb3JtIG5vIG9wZXJhdGlvbi5cbiAqIFN0dWJiaW5nIGFyZ3MgdG8gbWFrZSBGbG93
IGhhcHB5IHdpdGhvdXQgbGVhdmluZyB1c2VsZXNzIHRyYW5zcGlsZWQgY29kZVxuICogd2l0aCAu
Li5yZXN0IChodHRwczovL2Zsb3cub3JnL2Jsb2cvMjAxNy8wNS8wNy9TdHJpY3QtRnVuY3Rpb24t
Q2FsbC1Bcml0eS8pXG4gKi9cbmZ1bmN0aW9uIG5vb3AgKGEsIGIsIGMpIHt9XG5cbi8qKlxuICog
QWx3YXlzIHJldHVybiBmYWxzZS5cbiAqL1xudmFyIG5vID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsg
cmV0dXJuIGZhbHNlOyB9O1xuXG4vKipcbiAqIFJldHVybiBzYW1lIHZhbHVlXG4gKi9cbnZhciBp
ZGVudGl0eSA9IGZ1bmN0aW9uIChfKSB7IHJldHVybiBfOyB9O1xuXG4vKipcbiAqIEdlbmVyYXRl
IGEgc3RhdGljIGtleXMgc3RyaW5nIGZyb20gY29tcGlsZXIgbW9kdWxlcy5cbiAqL1xuZnVuY3Rp
b24gZ2VuU3RhdGljS2V5cyAobW9kdWxlcykge1xuICByZXR1cm4gbW9kdWxlcy5yZWR1Y2UoZnVu
Y3Rpb24gKGtleXMsIG0pIHtcbiAgICByZXR1cm4ga2V5cy5jb25jYXQobS5zdGF0aWNLZXlzIHx8
IFtdKVxuICB9LCBbXSkuam9pbignLCcpXG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdHdvIHZhbHVl
cyBhcmUgbG9vc2VseSBlcXVhbCAtIHRoYXQgaXMsXG4gKiBpZiB0aGV5IGFyZSBwbGFpbiBvYmpl
Y3RzLCBkbyB0aGV5IGhhdmUgdGhlIHNhbWUgc2hhcGU/XG4gKi9cbmZ1bmN0aW9uIGxvb3NlRXF1
YWwgKGEsIGIpIHtcbiAgaWYgKGEgPT09IGIpIHsgcmV0dXJuIHRydWUgfVxuICB2YXIgaXNPYmpl
Y3RBID0gaXNPYmplY3QoYSk7XG4gIHZhciBpc09iamVjdEIgPSBpc09iamVjdChiKTtcbiAgaWYg
KGlzT2JqZWN0QSAmJiBpc09iamVjdEIpIHtcbiAgICB0cnkge1xuICAgICAgdmFyIGlzQXJyYXlB
ID0gQXJyYXkuaXNBcnJheShhKTtcbiAgICAgIHZhciBpc0FycmF5QiA9IEFycmF5LmlzQXJyYXko
Yik7XG4gICAgICBpZiAoaXNBcnJheUEgJiYgaXNBcnJheUIpIHtcbiAgICAgICAgcmV0dXJuIGEu
bGVuZ3RoID09PSBiLmxlbmd0aCAmJiBhLmV2ZXJ5KGZ1bmN0aW9uIChlLCBpKSB7XG4gICAgICAg
ICAgcmV0dXJuIGxvb3NlRXF1YWwoZSwgYltpXSlcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSBp
ZiAoIWlzQXJyYXlBICYmICFpc0FycmF5Qikge1xuICAgICAgICB2YXIga2V5c0EgPSBPYmplY3Qu
a2V5cyhhKTtcbiAgICAgICAgdmFyIGtleXNCID0gT2JqZWN0LmtleXMoYik7XG4gICAgICAgIHJl
dHVybiBrZXlzQS5sZW5ndGggPT09IGtleXNCLmxlbmd0aCAmJiBrZXlzQS5ldmVyeShmdW5jdGlv
biAoa2V5KSB7XG4gICAgICAgICAgcmV0dXJuIGxvb3NlRXF1YWwoYVtrZXldLCBiW2tleV0pXG4g
ICAgICAgIH0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4
dCAqL1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4g
ICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAg
fVxuICB9IGVsc2UgaWYgKCFpc09iamVjdEEgJiYgIWlzT2JqZWN0Qikge1xuICAgIHJldHVybiBT
dHJpbmcoYSkgPT09IFN0cmluZyhiKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZVxuICB9
XG59XG5cbmZ1bmN0aW9uIGxvb3NlSW5kZXhPZiAoYXJyLCB2YWwpIHtcbiAgZm9yICh2YXIgaSA9
IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAobG9vc2VFcXVhbChhcnJbaV0sIHZh
bCkpIHsgcmV0dXJuIGkgfVxuICB9XG4gIHJldHVybiAtMVxufVxuXG4vKipcbiAqIEVuc3VyZSBh
IGZ1bmN0aW9uIGlzIGNhbGxlZCBvbmx5IG9uY2UuXG4gKi9cbmZ1bmN0aW9uIG9uY2UgKGZuKSB7
XG4gIHZhciBjYWxsZWQgPSBmYWxzZTtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAo
IWNhbGxlZCkge1xuICAgICAgY2FsbGVkID0gdHJ1ZTtcbiAgICAgIGZuLmFwcGx5KHRoaXMsIGFy
Z3VtZW50cyk7XG4gICAgfVxuICB9XG59XG5cbnZhciBTU1JfQVRUUiA9ICdkYXRhLXNlcnZlci1y
ZW5kZXJlZCc7XG5cbnZhciBBU1NFVF9UWVBFUyA9IFtcbiAgJ2NvbXBvbmVudCcsXG4gICdkaXJl
Y3RpdmUnLFxuICAnZmlsdGVyJ1xuXTtcblxudmFyIExJRkVDWUNMRV9IT09LUyA9IFtcbiAgJ2Jl
Zm9yZUNyZWF0ZScsXG4gICdjcmVhdGVkJyxcbiAgJ2JlZm9yZU1vdW50JyxcbiAgJ21vdW50ZWQn
LFxuICAnYmVmb3JlVXBkYXRlJyxcbiAgJ3VwZGF0ZWQnLFxuICAnYmVmb3JlRGVzdHJveScsXG4g
ICdkZXN0cm95ZWQnLFxuICAnYWN0aXZhdGVkJyxcbiAgJ2RlYWN0aXZhdGVkJ1xuXTtcblxuLyog
ICovXG5cbnZhciBjb25maWcgPSAoe1xuICAvKipcbiAgICogT3B0aW9uIG1lcmdlIHN0cmF0ZWdp
ZXMgKHVzZWQgaW4gY29yZS91dGlsL29wdGlvbnMpXG4gICAqL1xuICBvcHRpb25NZXJnZVN0cmF0
ZWdpZXM6IE9iamVjdC5jcmVhdGUobnVsbCksXG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc3Vw
cHJlc3Mgd2FybmluZ3MuXG4gICAqL1xuICBzaWxlbnQ6IGZhbHNlLFxuXG4gIC8qKlxuICAgKiBT
aG93IHByb2R1Y3Rpb24gbW9kZSB0aXAgbWVzc2FnZSBvbiBib290P1xuICAgKi9cbiAgcHJvZHVj
dGlvblRpcDogXCJwcm9kdWN0aW9uXCIgIT09ICdwcm9kdWN0aW9uJyxcblxuICAvKipcbiAgICog
V2hldGhlciB0byBlbmFibGUgZGV2dG9vbHNcbiAgICovXG4gIGRldnRvb2xzOiBcInByb2R1Y3Rp
b25cIiAhPT0gJ3Byb2R1Y3Rpb24nLFxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlY29yZCBw
ZXJmXG4gICAqL1xuICBwZXJmb3JtYW5jZTogZmFsc2UsXG5cbiAgLyoqXG4gICAqIEVycm9yIGhh
bmRsZXIgZm9yIHdhdGNoZXIgZXJyb3JzXG4gICAqL1xuICBlcnJvckhhbmRsZXI6IG51bGwsXG5c
biAgLyoqXG4gICAqIFdhcm4gaGFuZGxlciBmb3Igd2F0Y2hlciB3YXJuc1xuICAgKi9cbiAgd2Fy
bkhhbmRsZXI6IG51bGwsXG5cbiAgLyoqXG4gICAqIElnbm9yZSBjZXJ0YWluIGN1c3RvbSBlbGVt
ZW50c1xuICAgKi9cbiAgaWdub3JlZEVsZW1lbnRzOiBbXSxcblxuICAvKipcbiAgICogQ3VzdG9t
IHVzZXIga2V5IGFsaWFzZXMgZm9yIHYtb25cbiAgICovXG4gIGtleUNvZGVzOiBPYmplY3QuY3Jl
YXRlKG51bGwpLFxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhIHRhZyBpcyByZXNlcnZlZCBzbyB0
aGF0IGl0IGNhbm5vdCBiZSByZWdpc3RlcmVkIGFzIGFcbiAgICogY29tcG9uZW50LiBUaGlzIGlz
IHBsYXRmb3JtLWRlcGVuZGVudCBhbmQgbWF5IGJlIG92ZXJ3cml0dGVuLlxuICAgKi9cbiAgaXNS
ZXNlcnZlZFRhZzogbm8sXG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGFuIGF0dHJpYnV0ZSBpcyBy
ZXNlcnZlZCBzbyB0aGF0IGl0IGNhbm5vdCBiZSB1c2VkIGFzIGEgY29tcG9uZW50XG4gICAqIHBy
b3AuIFRoaXMgaXMgcGxhdGZvcm0tZGVwZW5kZW50IGFuZCBtYXkgYmUgb3ZlcndyaXR0ZW4uXG4g
ICAqL1xuICBpc1Jlc2VydmVkQXR0cjogbm8sXG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGEgdGFn
IGlzIGFuIHVua25vd24gZWxlbWVudC5cbiAgICogUGxhdGZvcm0tZGVwZW5kZW50LlxuICAgKi9c
biAgaXNVbmtub3duRWxlbWVudDogbm8sXG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbmFtZXNwYWNl
IG9mIGFuIGVsZW1lbnRcbiAgICovXG4gIGdldFRhZ05hbWVzcGFjZTogbm9vcCxcblxuICAvKipc
biAgICogUGFyc2UgdGhlIHJlYWwgdGFnIG5hbWUgZm9yIHRoZSBzcGVjaWZpYyBwbGF0Zm9ybS5c
biAgICovXG4gIHBhcnNlUGxhdGZvcm1UYWdOYW1lOiBpZGVudGl0eSxcblxuICAvKipcbiAgICog
Q2hlY2sgaWYgYW4gYXR0cmlidXRlIG11c3QgYmUgYm91bmQgdXNpbmcgcHJvcGVydHksIGUuZy4g
dmFsdWVcbiAgICogUGxhdGZvcm0tZGVwZW5kZW50LlxuICAgKi9cbiAgbXVzdFVzZVByb3A6IG5v
LFxuXG4gIC8qKlxuICAgKiBFeHBvc2VkIGZvciBsZWdhY3kgcmVhc29uc1xuICAgKi9cbiAgX2xp
ZmVjeWNsZUhvb2tzOiBMSUZFQ1lDTEVfSE9PS1Ncbn0pO1xuXG4vKiAgKi9cblxudmFyIGVtcHR5
T2JqZWN0ID0gT2JqZWN0LmZyZWV6ZSh7fSk7XG5cbi8qKlxuICogQ2hlY2sgaWYgYSBzdHJpbmcg
c3RhcnRzIHdpdGggJCBvciBfXG4gKi9cbmZ1bmN0aW9uIGlzUmVzZXJ2ZWQgKHN0cikge1xuICB2
YXIgYyA9IChzdHIgKyAnJykuY2hhckNvZGVBdCgwKTtcbiAgcmV0dXJuIGMgPT09IDB4MjQgfHwg
YyA9PT0gMHg1RlxufVxuXG4vKipcbiAqIERlZmluZSBhIHByb3BlcnR5LlxuICovXG5mdW5jdGlv
biBkZWYgKG9iaiwga2V5LCB2YWwsIGVudW1lcmFibGUpIHtcbiAgT2JqZWN0LmRlZmluZVByb3Bl
cnR5KG9iaiwga2V5LCB7XG4gICAgdmFsdWU6IHZhbCxcbiAgICBlbnVtZXJhYmxlOiAhIWVudW1l
cmFibGUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXG4gIH0p
O1xufVxuXG4vKipcbiAqIFBhcnNlIHNpbXBsZSBwYXRoLlxuICovXG52YXIgYmFpbFJFID0gL1te
XFx3LiRdLztcbmZ1bmN0aW9uIHBhcnNlUGF0aCAocGF0aCkge1xuICBpZiAoYmFpbFJFLnRlc3Qo
cGF0aCkpIHtcbiAgICByZXR1cm5cbiAgfVxuICB2YXIgc2VnbWVudHMgPSBwYXRoLnNwbGl0KCcu
Jyk7XG4gIHJldHVybiBmdW5jdGlvbiAob2JqKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBz
ZWdtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKCFvYmopIHsgcmV0dXJuIH1cbiAgICAg
IG9iaiA9IG9ialtzZWdtZW50c1tpXV07XG4gICAgfVxuICAgIHJldHVybiBvYmpcbiAgfVxufVxu
XG4vKiAgKi9cblxudmFyIHdhcm4gPSBub29wO1xudmFyIHRpcCA9IG5vb3A7XG52YXIgZm9ybWF0
Q29tcG9uZW50TmFtZSA9IChudWxsKTsgLy8gd29yayBhcm91bmQgZmxvdyBjaGVja1xuXG5pZiAo
ZmFsc2UpIHtcbiAgdmFyIGhhc0NvbnNvbGUgPSB0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5l
ZCc7XG4gIHZhciBjbGFzc2lmeVJFID0gLyg/Ol58Wy1fXSkoXFx3KS9nO1xuICB2YXIgY2xhc3Np
ZnkgPSBmdW5jdGlvbiAoc3RyKSB7IHJldHVybiBzdHJcbiAgICAucmVwbGFjZShjbGFzc2lmeVJF
LCBmdW5jdGlvbiAoYykgeyByZXR1cm4gYy50b1VwcGVyQ2FzZSgpOyB9KVxuICAgIC5yZXBsYWNl
KC9bLV9dL2csICcnKTsgfTtcblxuICB3YXJuID0gZnVuY3Rpb24gKG1zZywgdm0pIHtcbiAgICB2
YXIgdHJhY2UgPSB2bSA/IGdlbmVyYXRlQ29tcG9uZW50VHJhY2Uodm0pIDogJyc7XG5cbiAgICBp
ZiAoY29uZmlnLndhcm5IYW5kbGVyKSB7XG4gICAgICBjb25maWcud2FybkhhbmRsZXIuY2FsbChu
dWxsLCBtc2csIHZtLCB0cmFjZSk7XG4gICAgfSBlbHNlIGlmIChoYXNDb25zb2xlICYmICghY29u
ZmlnLnNpbGVudCkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoKFwiW1Z1ZSB3YXJuXTogXCIgKyBt
c2cgKyB0cmFjZSkpO1xuICAgIH1cbiAgfTtcblxuICB0aXAgPSBmdW5jdGlvbiAobXNnLCB2bSkg
e1xuICAgIGlmIChoYXNDb25zb2xlICYmICghY29uZmlnLnNpbGVudCkpIHtcbiAgICAgIGNvbnNv
bGUud2FybihcIltWdWUgdGlwXTogXCIgKyBtc2cgKyAoXG4gICAgICAgIHZtID8gZ2VuZXJhdGVD
b21wb25lbnRUcmFjZSh2bSkgOiAnJ1xuICAgICAgKSk7XG4gICAgfVxuICB9O1xuXG4gIGZvcm1h
dENvbXBvbmVudE5hbWUgPSBmdW5jdGlvbiAodm0sIGluY2x1ZGVGaWxlKSB7XG4gICAgaWYgKHZt
LiRyb290ID09PSB2bSkge1xuICAgICAgcmV0dXJuICc8Um9vdD4nXG4gICAgfVxuICAgIHZhciBu
YW1lID0gdHlwZW9mIHZtID09PSAnc3RyaW5nJ1xuICAgICAgPyB2bVxuICAgICAgOiB0eXBlb2Yg
dm0gPT09ICdmdW5jdGlvbicgJiYgdm0ub3B0aW9uc1xuICAgICAgICA/IHZtLm9wdGlvbnMubmFt
ZVxuICAgICAgICA6IHZtLl9pc1Z1ZVxuICAgICAgICAgID8gdm0uJG9wdGlvbnMubmFtZSB8fCB2
bS4kb3B0aW9ucy5fY29tcG9uZW50VGFnXG4gICAgICAgICAgOiB2bS5uYW1lO1xuXG4gICAgdmFy
IGZpbGUgPSB2bS5faXNWdWUgJiYgdm0uJG9wdGlvbnMuX19maWxlO1xuICAgIGlmICghbmFtZSAm
JiBmaWxlKSB7XG4gICAgICB2YXIgbWF0Y2ggPSBmaWxlLm1hdGNoKC8oW14vXFxcXF0rKVxcLnZ1
ZSQvKTtcbiAgICAgIG5hbWUgPSBtYXRjaCAmJiBtYXRjaFsxXTtcbiAgICB9XG5cbiAgICByZXR1
cm4gKFxuICAgICAgKG5hbWUgPyAoXCI8XCIgKyAoY2xhc3NpZnkobmFtZSkpICsgXCI+XCIpIDog
XCI8QW5vbnltb3VzPlwiKSArXG4gICAgICAoZmlsZSAmJiBpbmNsdWRlRmlsZSAhPT0gZmFsc2Ug
PyAoXCIgYXQgXCIgKyBmaWxlKSA6ICcnKVxuICAgIClcbiAgfTtcblxuICB2YXIgcmVwZWF0ID0g
ZnVuY3Rpb24gKHN0ciwgbikge1xuICAgIHZhciByZXMgPSAnJztcbiAgICB3aGlsZSAobikge1xu
ICAgICAgaWYgKG4gJSAyID09PSAxKSB7IHJlcyArPSBzdHI7IH1cbiAgICAgIGlmIChuID4gMSkg
eyBzdHIgKz0gc3RyOyB9XG4gICAgICBuID4+PSAxO1xuICAgIH1cbiAgICByZXR1cm4gcmVzXG4g
IH07XG5cbiAgdmFyIGdlbmVyYXRlQ29tcG9uZW50VHJhY2UgPSBmdW5jdGlvbiAodm0pIHtcbiAg
ICBpZiAodm0uX2lzVnVlICYmIHZtLiRwYXJlbnQpIHtcbiAgICAgIHZhciB0cmVlID0gW107XG4g
ICAgICB2YXIgY3VycmVudFJlY3Vyc2l2ZVNlcXVlbmNlID0gMDtcbiAgICAgIHdoaWxlICh2bSkg
e1xuICAgICAgICBpZiAodHJlZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdmFyIGxhc3QgPSB0
cmVlW3RyZWUubGVuZ3RoIC0gMV07XG4gICAgICAgICAgaWYgKGxhc3QuY29uc3RydWN0b3IgPT09
IHZtLmNvbnN0cnVjdG9yKSB7XG4gICAgICAgICAgICBjdXJyZW50UmVjdXJzaXZlU2VxdWVuY2Ur
KztcbiAgICAgICAgICAgIHZtID0gdm0uJHBhcmVudDtcbiAgICAgICAgICAgIGNvbnRpbnVlXG4g
ICAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50UmVjdXJzaXZlU2VxdWVuY2UgPiAwKSB7XG4gICAg
ICAgICAgICB0cmVlW3RyZWUubGVuZ3RoIC0gMV0gPSBbbGFzdCwgY3VycmVudFJlY3Vyc2l2ZVNl
cXVlbmNlXTtcbiAgICAgICAgICAgIGN1cnJlbnRSZWN1cnNpdmVTZXF1ZW5jZSA9IDA7XG4gICAg
ICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRyZWUucHVzaCh2bSk7XG4gICAgICAgIHZtID0g
dm0uJHBhcmVudDtcbiAgICAgIH1cbiAgICAgIHJldHVybiAnXFxuXFxuZm91bmQgaW5cXG5cXG4n
ICsgdHJlZVxuICAgICAgICAubWFwKGZ1bmN0aW9uICh2bSwgaSkgeyByZXR1cm4gKFwiXCIgKyAo
aSA9PT0gMCA/ICctLS0+ICcgOiByZXBlYXQoJyAnLCA1ICsgaSAqIDIpKSArIChBcnJheS5pc0Fy
cmF5KHZtKVxuICAgICAgICAgICAgPyAoKGZvcm1hdENvbXBvbmVudE5hbWUodm1bMF0pKSArIFwi
Li4uIChcIiArICh2bVsxXSkgKyBcIiByZWN1cnNpdmUgY2FsbHMpXCIpXG4gICAgICAgICAgICA6
IGZvcm1hdENvbXBvbmVudE5hbWUodm0pKSk7IH0pXG4gICAgICAgIC5qb2luKCdcXG4nKVxuICAg
IH0gZWxzZSB7XG4gICAgICByZXR1cm4gKFwiXFxuXFxuKGZvdW5kIGluIFwiICsgKGZvcm1hdENv
bXBvbmVudE5hbWUodm0pKSArIFwiKVwiKVxuICAgIH1cbiAgfTtcbn1cblxuLyogICovXG5cbmZ1
bmN0aW9uIGhhbmRsZUVycm9yIChlcnIsIHZtLCBpbmZvKSB7XG4gIGlmIChjb25maWcuZXJyb3JI
YW5kbGVyKSB7XG4gICAgY29uZmlnLmVycm9ySGFuZGxlci5jYWxsKG51bGwsIGVyciwgdm0sIGlu
Zm8pO1xuICB9IGVsc2Uge1xuICAgIGlmIChmYWxzZSkge1xuICAgICAgd2FybigoXCJFcnJvciBp
biBcIiArIGluZm8gKyBcIjogXFxcIlwiICsgKGVyci50b1N0cmluZygpKSArIFwiXFxcIlwiKSwg
dm0pO1xuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChpbkJy
b3dzZXIgJiYgdHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBjb25zb2xl
LmVycm9yKGVycik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IGVyclxuICAgIH1cbiAgfVxu
fVxuXG4vKiAgKi9cbi8qIGdsb2JhbHMgTXV0YXRpb25PYnNlcnZlciAqL1xuXG4vLyBjYW4gd2Ug
dXNlIF9fcHJvdG9fXz9cbnZhciBoYXNQcm90byA9ICdfX3Byb3RvX18nIGluIHt9O1xuXG4vLyBC
cm93c2VyIGVudmlyb25tZW50IHNuaWZmaW5nXG52YXIgaW5Ccm93c2VyID0gdHlwZW9mIHdpbmRv
dyAhPT0gJ3VuZGVmaW5lZCc7XG52YXIgVUEgPSBpbkJyb3dzZXIgJiYgd2luZG93Lm5hdmlnYXRv
ci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKTtcbnZhciBpc0lFID0gVUEgJiYgL21zaWV8dHJpZGVu
dC8udGVzdChVQSk7XG52YXIgaXNJRTkgPSBVQSAmJiBVQS5pbmRleE9mKCdtc2llIDkuMCcpID4g
MDtcbnZhciBpc0VkZ2UgPSBVQSAmJiBVQS5pbmRleE9mKCdlZGdlLycpID4gMDtcbnZhciBpc0Fu
ZHJvaWQgPSBVQSAmJiBVQS5pbmRleE9mKCdhbmRyb2lkJykgPiAwO1xudmFyIGlzSU9TID0gVUEg
JiYgL2lwaG9uZXxpcGFkfGlwb2R8aW9zLy50ZXN0KFVBKTtcbnZhciBpc0Nocm9tZSA9IFVBICYm
IC9jaHJvbWVcXC9cXGQrLy50ZXN0KFVBKSAmJiAhaXNFZGdlO1xuXG4vLyBGaXJlZml4IGhhcyBh
IFwid2F0Y2hcIiBmdW5jdGlvbiBvbiBPYmplY3QucHJvdG90eXBlLi4uXG52YXIgbmF0aXZlV2F0
Y2ggPSAoe30pLndhdGNoO1xuXG52YXIgc3VwcG9ydHNQYXNzaXZlID0gZmFsc2U7XG5pZiAoaW5C
cm93c2VyKSB7XG4gIHRyeSB7XG4gICAgdmFyIG9wdHMgPSB7fTtcbiAgICBPYmplY3QuZGVmaW5l
UHJvcGVydHkob3B0cywgJ3Bhc3NpdmUnLCAoe1xuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQgKCkg
e1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICBzdXBwb3J0c1Bh
c3NpdmUgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pKTsgLy8gaHR0cHM6Ly9naXRodWIuY29tL2Zh
Y2Vib29rL2Zsb3cvaXNzdWVzLzI4NVxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd0ZXN0
LXBhc3NpdmUnLCBudWxsLCBvcHRzKTtcbiAgfSBjYXRjaCAoZSkge31cbn1cblxuLy8gdGhpcyBu
ZWVkcyB0byBiZSBsYXp5LWV2YWxlZCBiZWNhdXNlIHZ1ZSBtYXkgYmUgcmVxdWlyZWQgYmVmb3Jl
XG4vLyB2dWUtc2VydmVyLXJlbmRlcmVyIGNhbiBzZXQgVlVFX0VOVlxudmFyIF9pc1NlcnZlcjtc
bnZhciBpc1NlcnZlclJlbmRlcmluZyA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKF9pc1NlcnZlciA9
PT0gdW5kZWZpbmVkKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCFp
bkJyb3dzZXIgJiYgdHlwZW9mIGdsb2JhbCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIC8vIGRl
dGVjdCBwcmVzZW5jZSBvZiB2dWUtc2VydmVyLXJlbmRlcmVyIGFuZCBhdm9pZFxuICAgICAgLy8g
V2VicGFjayBzaGltbWluZyB0aGUgcHJvY2Vzc1xuICAgICAgX2lzU2VydmVyID0gZ2xvYmFsWydw
cm9jZXNzJ10uZW52LlZVRV9FTlYgPT09ICdzZXJ2ZXInO1xuICAgIH0gZWxzZSB7XG4gICAgICBf
aXNTZXJ2ZXIgPSBmYWxzZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIF9pc1NlcnZlclxufTtcblxu
Ly8gZGV0ZWN0IGRldnRvb2xzXG52YXIgZGV2dG9vbHMgPSBpbkJyb3dzZXIgJiYgd2luZG93Ll9f
VlVFX0RFVlRPT0xTX0dMT0JBTF9IT09LX187XG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICov
XG5mdW5jdGlvbiBpc05hdGl2ZSAoQ3Rvcikge1xuICByZXR1cm4gdHlwZW9mIEN0b3IgPT09ICdm
dW5jdGlvbicgJiYgL25hdGl2ZSBjb2RlLy50ZXN0KEN0b3IudG9TdHJpbmcoKSlcbn1cblxudmFy
IGhhc1N5bWJvbCA9XG4gIHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIGlzTmF0aXZl
KFN5bWJvbCkgJiZcbiAgdHlwZW9mIFJlZmxlY3QgIT09ICd1bmRlZmluZWQnICYmIGlzTmF0aXZl
KFJlZmxlY3Qub3duS2V5cyk7XG5cbi8qKlxuICogRGVmZXIgYSB0YXNrIHRvIGV4ZWN1dGUgaXQg
YXN5bmNocm9ub3VzbHkuXG4gKi9cbnZhciBuZXh0VGljayA9IChmdW5jdGlvbiAoKSB7XG4gIHZh
ciBjYWxsYmFja3MgPSBbXTtcbiAgdmFyIHBlbmRpbmcgPSBmYWxzZTtcbiAgdmFyIHRpbWVyRnVu
YztcblxuICBmdW5jdGlvbiBuZXh0VGlja0hhbmRsZXIgKCkge1xuICAgIHBlbmRpbmcgPSBmYWxz
ZTtcbiAgICB2YXIgY29waWVzID0gY2FsbGJhY2tzLnNsaWNlKDApO1xuICAgIGNhbGxiYWNrcy5s
ZW5ndGggPSAwO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY29waWVzLmxlbmd0aDsgaSsrKSB7
XG4gICAgICBjb3BpZXNbaV0oKTtcbiAgICB9XG4gIH1cblxuICAvLyB0aGUgbmV4dFRpY2sgYmVo
YXZpb3IgbGV2ZXJhZ2VzIHRoZSBtaWNyb3Rhc2sgcXVldWUsIHdoaWNoIGNhbiBiZSBhY2Nlc3Nl
ZFxuICAvLyB2aWEgZWl0aGVyIG5hdGl2ZSBQcm9taXNlLnRoZW4gb3IgTXV0YXRpb25PYnNlcnZl
ci5cbiAgLy8gTXV0YXRpb25PYnNlcnZlciBoYXMgd2lkZXIgc3VwcG9ydCwgaG93ZXZlciBpdCBp
cyBzZXJpb3VzbHkgYnVnZ2VkIGluXG4gIC8vIFVJV2ViVmlldyBpbiBpT1MgPj0gOS4zLjMgd2hl
biB0cmlnZ2VyZWQgaW4gdG91Y2ggZXZlbnQgaGFuZGxlcnMuIEl0XG4gIC8vIGNvbXBsZXRlbHkg
c3RvcHMgd29ya2luZyBhZnRlciB0cmlnZ2VyaW5nIGEgZmV3IHRpbWVzLi4uIHNvLCBpZiBuYXRp
dmVcbiAgLy8gUHJvbWlzZSBpcyBhdmFpbGFibGUsIHdlIHdpbGwgdXNlIGl0OlxuICAvKiBpc3Rh
bmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKHR5cGVvZiBQcm9taXNlICE9PSAndW5kZWZpbmVkJyAm
JiBpc05hdGl2ZShQcm9taXNlKSkge1xuICAgIHZhciBwID0gUHJvbWlzZS5yZXNvbHZlKCk7XG4g
ICAgdmFyIGxvZ0Vycm9yID0gZnVuY3Rpb24gKGVycikgeyBjb25zb2xlLmVycm9yKGVycik7IH07
XG4gICAgdGltZXJGdW5jID0gZnVuY3Rpb24gKCkge1xuICAgICAgcC50aGVuKG5leHRUaWNrSGFu
ZGxlcikuY2F0Y2gobG9nRXJyb3IpO1xuICAgICAgLy8gaW4gcHJvYmxlbWF0aWMgVUlXZWJWaWV3
cywgUHJvbWlzZS50aGVuIGRvZXNuJ3QgY29tcGxldGVseSBicmVhaywgYnV0XG4gICAgICAvLyBp
dCBjYW4gZ2V0IHN0dWNrIGluIGEgd2VpcmQgc3RhdGUgd2hlcmUgY2FsbGJhY2tzIGFyZSBwdXNo
ZWQgaW50byB0aGVcbiAgICAgIC8vIG1pY3JvdGFzayBxdWV1ZSBidXQgdGhlIHF1ZXVlIGlzbid0
IGJlaW5nIGZsdXNoZWQsIHVudGlsIHRoZSBicm93c2VyXG4gICAgICAvLyBuZWVkcyB0byBkbyBz
b21lIG90aGVyIHdvcmssIGUuZy4gaGFuZGxlIGEgdGltZXIuIFRoZXJlZm9yZSB3ZSBjYW5cbiAg
ICAgIC8vIFwiZm9yY2VcIiB0aGUgbWljcm90YXNrIHF1ZXVlIHRvIGJlIGZsdXNoZWQgYnkgYWRk
aW5nIGFuIGVtcHR5IHRpbWVyLlxuICAgICAgaWYgKGlzSU9TKSB7IHNldFRpbWVvdXQobm9vcCk7
IH1cbiAgICB9O1xuICB9IGVsc2UgaWYgKHR5cGVvZiBNdXRhdGlvbk9ic2VydmVyICE9PSAndW5k
ZWZpbmVkJyAmJiAoXG4gICAgaXNOYXRpdmUoTXV0YXRpb25PYnNlcnZlcikgfHxcbiAgICAvLyBQ
aGFudG9tSlMgYW5kIGlPUyA3LnhcbiAgICBNdXRhdGlvbk9ic2VydmVyLnRvU3RyaW5nKCkgPT09
ICdbb2JqZWN0IE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3Rvcl0nXG4gICkpIHtcbiAgICAvLyB1
c2UgTXV0YXRpb25PYnNlcnZlciB3aGVyZSBuYXRpdmUgUHJvbWlzZSBpcyBub3QgYXZhaWxhYmxl
LFxuICAgIC8vIGUuZy4gUGhhbnRvbUpTIElFMTEsIGlPUzcsIEFuZHJvaWQgNC40XG4gICAgdmFy
IGNvdW50ZXIgPSAxO1xuICAgIHZhciBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKG5l
eHRUaWNrSGFuZGxlcik7XG4gICAgdmFyIHRleHROb2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5v
ZGUoU3RyaW5nKGNvdW50ZXIpKTtcbiAgICBvYnNlcnZlci5vYnNlcnZlKHRleHROb2RlLCB7XG4g
ICAgICBjaGFyYWN0ZXJEYXRhOiB0cnVlXG4gICAgfSk7XG4gICAgdGltZXJGdW5jID0gZnVuY3Rp
b24gKCkge1xuICAgICAgY291bnRlciA9IChjb3VudGVyICsgMSkgJSAyO1xuICAgICAgdGV4dE5v
ZGUuZGF0YSA9IFN0cmluZyhjb3VudGVyKTtcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIC8vIGZh
bGxiYWNrIHRvIHNldFRpbWVvdXRcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAg
IHRpbWVyRnVuYyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHNldFRpbWVvdXQobmV4dFRpY2tIYW5k
bGVyLCAwKTtcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIGZ1bmN0aW9uIHF1ZXVlTmV4dFRpY2sg
KGNiLCBjdHgpIHtcbiAgICB2YXIgX3Jlc29sdmU7XG4gICAgY2FsbGJhY2tzLnB1c2goZnVuY3Rp
b24gKCkge1xuICAgICAgaWYgKGNiKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY2IuY2Fs
bChjdHgpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgaGFuZGxlRXJyb3IoZSwg
Y3R4LCAnbmV4dFRpY2snKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChfcmVzb2x2ZSkg
e1xuICAgICAgICBfcmVzb2x2ZShjdHgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmICghcGVu
ZGluZykge1xuICAgICAgcGVuZGluZyA9IHRydWU7XG4gICAgICB0aW1lckZ1bmMoKTtcbiAgICB9
XG4gICAgaWYgKCFjYiAmJiB0eXBlb2YgUHJvbWlzZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAg
IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAg
IF9yZXNvbHZlID0gcmVzb2x2ZTtcbiAgICAgIH0pXG4gICAgfVxuICB9XG59KSgpO1xuXG52YXIg
X1NldDtcbi8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuaWYgKHR5cGVvZiBTZXQgIT09ICd1bmRl
ZmluZWQnICYmIGlzTmF0aXZlKFNldCkpIHtcbiAgLy8gdXNlIG5hdGl2ZSBTZXQgd2hlbiBhdmFp
bGFibGUuXG4gIF9TZXQgPSBTZXQ7XG59IGVsc2Uge1xuICAvLyBhIG5vbi1zdGFuZGFyZCBTZXQg
cG9seWZpbGwgdGhhdCBvbmx5IHdvcmtzIHdpdGggcHJpbWl0aXZlIGtleXMuXG4gIF9TZXQgPSAo
ZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFNldCAoKSB7XG4gICAgICB0aGlzLnNldCA9IE9i
amVjdC5jcmVhdGUobnVsbCk7XG4gICAgfVxuICAgIFNldC5wcm90b3R5cGUuaGFzID0gZnVuY3Rp
b24gaGFzIChrZXkpIHtcbiAgICAgIHJldHVybiB0aGlzLnNldFtrZXldID09PSB0cnVlXG4gICAg
fTtcbiAgICBTZXQucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIGFkZCAoa2V5KSB7XG4gICAgICB0
aGlzLnNldFtrZXldID0gdHJ1ZTtcbiAgICB9O1xuICAgIFNldC5wcm90b3R5cGUuY2xlYXIgPSBm
dW5jdGlvbiBjbGVhciAoKSB7XG4gICAgICB0aGlzLnNldCA9IE9iamVjdC5jcmVhdGUobnVsbCk7
XG4gICAgfTtcblxuICAgIHJldHVybiBTZXQ7XG4gIH0oKSk7XG59XG5cbi8qICAqL1xuXG5cbnZh
ciB1aWQgPSAwO1xuXG4vKipcbiAqIEEgZGVwIGlzIGFuIG9ic2VydmFibGUgdGhhdCBjYW4gaGF2
ZSBtdWx0aXBsZVxuICogZGlyZWN0aXZlcyBzdWJzY3JpYmluZyB0byBpdC5cbiAqL1xudmFyIERl
cCA9IGZ1bmN0aW9uIERlcCAoKSB7XG4gIHRoaXMuaWQgPSB1aWQrKztcbiAgdGhpcy5zdWJzID0g
W107XG59O1xuXG5EZXAucHJvdG90eXBlLmFkZFN1YiA9IGZ1bmN0aW9uIGFkZFN1YiAoc3ViKSB7
XG4gIHRoaXMuc3Vicy5wdXNoKHN1Yik7XG59O1xuXG5EZXAucHJvdG90eXBlLnJlbW92ZVN1YiA9
IGZ1bmN0aW9uIHJlbW92ZVN1YiAoc3ViKSB7XG4gIHJlbW92ZSh0aGlzLnN1YnMsIHN1Yik7XG59
O1xuXG5EZXAucHJvdG90eXBlLmRlcGVuZCA9IGZ1bmN0aW9uIGRlcGVuZCAoKSB7XG4gIGlmIChE
ZXAudGFyZ2V0KSB7XG4gICAgRGVwLnRhcmdldC5hZGREZXAodGhpcyk7XG4gIH1cbn07XG5cbkRl
cC5wcm90b3R5cGUubm90aWZ5ID0gZnVuY3Rpb24gbm90aWZ5ICgpIHtcbiAgLy8gc3RhYmlsaXpl
IHRoZSBzdWJzY3JpYmVyIGxpc3QgZmlyc3RcbiAgdmFyIHN1YnMgPSB0aGlzLnN1YnMuc2xpY2Uo
KTtcbiAgZm9yICh2YXIgaSA9IDAsIGwgPSBzdWJzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAg
IHN1YnNbaV0udXBkYXRlKCk7XG4gIH1cbn07XG5cbi8vIHRoZSBjdXJyZW50IHRhcmdldCB3YXRj
aGVyIGJlaW5nIGV2YWx1YXRlZC5cbi8vIHRoaXMgaXMgZ2xvYmFsbHkgdW5pcXVlIGJlY2F1c2Ug
dGhlcmUgY291bGQgYmUgb25seSBvbmVcbi8vIHdhdGNoZXIgYmVpbmcgZXZhbHVhdGVkIGF0IGFu
eSB0aW1lLlxuRGVwLnRhcmdldCA9IG51bGw7XG52YXIgdGFyZ2V0U3RhY2sgPSBbXTtcblxuZnVu
Y3Rpb24gcHVzaFRhcmdldCAoX3RhcmdldCkge1xuICBpZiAoRGVwLnRhcmdldCkgeyB0YXJnZXRT
dGFjay5wdXNoKERlcC50YXJnZXQpOyB9XG4gIERlcC50YXJnZXQgPSBfdGFyZ2V0O1xufVxuXG5m
dW5jdGlvbiBwb3BUYXJnZXQgKCkge1xuICBEZXAudGFyZ2V0ID0gdGFyZ2V0U3RhY2sucG9wKCk7
XG59XG5cbi8qXG4gKiBub3QgdHlwZSBjaGVja2luZyB0aGlzIGZpbGUgYmVjYXVzZSBmbG93IGRv
ZXNuJ3QgcGxheSB3ZWxsIHdpdGhcbiAqIGR5bmFtaWNhbGx5IGFjY2Vzc2luZyBtZXRob2RzIG9u
IEFycmF5IHByb3RvdHlwZVxuICovXG5cbnZhciBhcnJheVByb3RvID0gQXJyYXkucHJvdG90eXBl
O1xudmFyIGFycmF5TWV0aG9kcyA9IE9iamVjdC5jcmVhdGUoYXJyYXlQcm90byk7W1xuICAncHVz
aCcsXG4gICdwb3AnLFxuICAnc2hpZnQnLFxuICAndW5zaGlmdCcsXG4gICdzcGxpY2UnLFxuICAn
c29ydCcsXG4gICdyZXZlcnNlJ1xuXVxuLmZvckVhY2goZnVuY3Rpb24gKG1ldGhvZCkge1xuICAv
LyBjYWNoZSBvcmlnaW5hbCBtZXRob2RcbiAgdmFyIG9yaWdpbmFsID0gYXJyYXlQcm90b1ttZXRo
b2RdO1xuICBkZWYoYXJyYXlNZXRob2RzLCBtZXRob2QsIGZ1bmN0aW9uIG11dGF0b3IgKCkge1xu
ICAgIHZhciBhcmdzID0gW10sIGxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gICAgd2hpbGUgKCBs
ZW4tLSApIGFyZ3NbIGxlbiBdID0gYXJndW1lbnRzWyBsZW4gXTtcblxuICAgIHZhciByZXN1bHQg
PSBvcmlnaW5hbC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICB2YXIgb2IgPSB0aGlzLl9fb2JfXztc
biAgICB2YXIgaW5zZXJ0ZWQ7XG4gICAgc3dpdGNoIChtZXRob2QpIHtcbiAgICAgIGNhc2UgJ3B1
c2gnOlxuICAgICAgY2FzZSAndW5zaGlmdCc6XG4gICAgICAgIGluc2VydGVkID0gYXJncztcbiAg
ICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ3NwbGljZSc6XG4gICAgICAgIGluc2VydGVkID0gYXJn
cy5zbGljZSgyKTtcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gICAgaWYgKGluc2VydGVkKSB7IG9i
Lm9ic2VydmVBcnJheShpbnNlcnRlZCk7IH1cbiAgICAvLyBub3RpZnkgY2hhbmdlXG4gICAgb2Iu
ZGVwLm5vdGlmeSgpO1xuICAgIHJldHVybiByZXN1bHRcbiAgfSk7XG59KTtcblxuLyogICovXG5c
bnZhciBhcnJheUtleXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhcnJheU1ldGhvZHMp
O1xuXG4vKipcbiAqIEJ5IGRlZmF1bHQsIHdoZW4gYSByZWFjdGl2ZSBwcm9wZXJ0eSBpcyBzZXQs
IHRoZSBuZXcgdmFsdWUgaXNcbiAqIGFsc28gY29udmVydGVkIHRvIGJlY29tZSByZWFjdGl2ZS4g
SG93ZXZlciB3aGVuIHBhc3NpbmcgZG93biBwcm9wcyxcbiAqIHdlIGRvbid0IHdhbnQgdG8gZm9y
Y2UgY29udmVyc2lvbiBiZWNhdXNlIHRoZSB2YWx1ZSBtYXkgYmUgYSBuZXN0ZWQgdmFsdWVcbiAq
IHVuZGVyIGEgZnJvemVuIGRhdGEgc3RydWN0dXJlLiBDb252ZXJ0aW5nIGl0IHdvdWxkIGRlZmVh
dCB0aGUgb3B0aW1pemF0aW9uLlxuICovXG52YXIgb2JzZXJ2ZXJTdGF0ZSA9IHtcbiAgc2hvdWxk
Q29udmVydDogdHJ1ZVxufTtcblxuLyoqXG4gKiBPYnNlcnZlciBjbGFzcyB0aGF0IGFyZSBhdHRh
Y2hlZCB0byBlYWNoIG9ic2VydmVkXG4gKiBvYmplY3QuIE9uY2UgYXR0YWNoZWQsIHRoZSBvYnNl
cnZlciBjb252ZXJ0cyB0YXJnZXRcbiAqIG9iamVjdCdzIHByb3BlcnR5IGtleXMgaW50byBnZXR0
ZXIvc2V0dGVycyB0aGF0XG4gKiBjb2xsZWN0IGRlcGVuZGVuY2llcyBhbmQgZGlzcGF0Y2hlcyB1
cGRhdGVzLlxuICovXG52YXIgT2JzZXJ2ZXIgPSBmdW5jdGlvbiBPYnNlcnZlciAodmFsdWUpIHtc
biAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB0aGlzLmRlcCA9IG5ldyBEZXAoKTtcbiAgdGhpcy52
bUNvdW50ID0gMDtcbiAgZGVmKHZhbHVlLCAnX19vYl9fJywgdGhpcyk7XG4gIGlmIChBcnJheS5p
c0FycmF5KHZhbHVlKSkge1xuICAgIHZhciBhdWdtZW50ID0gaGFzUHJvdG9cbiAgICAgID8gcHJv
dG9BdWdtZW50XG4gICAgICA6IGNvcHlBdWdtZW50O1xuICAgIGF1Z21lbnQodmFsdWUsIGFycmF5
TWV0aG9kcywgYXJyYXlLZXlzKTtcbiAgICB0aGlzLm9ic2VydmVBcnJheSh2YWx1ZSk7XG4gIH0g
ZWxzZSB7XG4gICAgdGhpcy53YWxrKHZhbHVlKTtcbiAgfVxufTtcblxuLyoqXG4gKiBXYWxrIHRo
cm91Z2ggZWFjaCBwcm9wZXJ0eSBhbmQgY29udmVydCB0aGVtIGludG9cbiAqIGdldHRlci9zZXR0
ZXJzLiBUaGlzIG1ldGhvZCBzaG91bGQgb25seSBiZSBjYWxsZWQgd2hlblxuICogdmFsdWUgdHlw
ZSBpcyBPYmplY3QuXG4gKi9cbk9ic2VydmVyLnByb3RvdHlwZS53YWxrID0gZnVuY3Rpb24gd2Fs
ayAob2JqKSB7XG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqKTtcbiAgZm9yICh2YXIgaSA9
IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgZGVmaW5lUmVhY3RpdmUkJDEob2JqLCBr
ZXlzW2ldLCBvYmpba2V5c1tpXV0pO1xuICB9XG59O1xuXG4vKipcbiAqIE9ic2VydmUgYSBsaXN0
IG9mIEFycmF5IGl0ZW1zLlxuICovXG5PYnNlcnZlci5wcm90b3R5cGUub2JzZXJ2ZUFycmF5ID0g
ZnVuY3Rpb24gb2JzZXJ2ZUFycmF5IChpdGVtcykge1xuICBmb3IgKHZhciBpID0gMCwgbCA9IGl0
ZW1zLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIG9ic2VydmUoaXRlbXNbaV0pO1xuICB9XG59
O1xuXG4vLyBoZWxwZXJzXG5cbi8qKlxuICogQXVnbWVudCBhbiB0YXJnZXQgT2JqZWN0IG9yIEFy
cmF5IGJ5IGludGVyY2VwdGluZ1xuICogdGhlIHByb3RvdHlwZSBjaGFpbiB1c2luZyBfX3Byb3Rv
X19cbiAqL1xuZnVuY3Rpb24gcHJvdG9BdWdtZW50ICh0YXJnZXQsIHNyYywga2V5cykge1xuICAv
KiBlc2xpbnQtZGlzYWJsZSBuby1wcm90byAqL1xuICB0YXJnZXQuX19wcm90b19fID0gc3JjO1xu
ICAvKiBlc2xpbnQtZW5hYmxlIG5vLXByb3RvICovXG59XG5cbi8qKlxuICogQXVnbWVudCBhbiB0
YXJnZXQgT2JqZWN0IG9yIEFycmF5IGJ5IGRlZmluaW5nXG4gKiBoaWRkZW4gcHJvcGVydGllcy5c
biAqL1xuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmZ1bmN0aW9uIGNvcHlBdWdtZW50ICh0
YXJnZXQsIHNyYywga2V5cykge1xuICBmb3IgKHZhciBpID0gMCwgbCA9IGtleXMubGVuZ3RoOyBp
IDwgbDsgaSsrKSB7XG4gICAgdmFyIGtleSA9IGtleXNbaV07XG4gICAgZGVmKHRhcmdldCwga2V5
LCBzcmNba2V5XSk7XG4gIH1cbn1cblxuLyoqXG4gKiBBdHRlbXB0IHRvIGNyZWF0ZSBhbiBvYnNl
cnZlciBpbnN0YW5jZSBmb3IgYSB2YWx1ZSxcbiAqIHJldHVybnMgdGhlIG5ldyBvYnNlcnZlciBp
ZiBzdWNjZXNzZnVsbHkgb2JzZXJ2ZWQsXG4gKiBvciB0aGUgZXhpc3Rpbmcgb2JzZXJ2ZXIgaWYg
dGhlIHZhbHVlIGFscmVhZHkgaGFzIG9uZS5cbiAqL1xuZnVuY3Rpb24gb2JzZXJ2ZSAodmFsdWUs
IGFzUm9vdERhdGEpIHtcbiAgaWYgKCFpc09iamVjdCh2YWx1ZSkpIHtcbiAgICByZXR1cm5cbiAg
fVxuICB2YXIgb2I7XG4gIGlmIChoYXNPd24odmFsdWUsICdfX29iX18nKSAmJiB2YWx1ZS5fX29i
X18gaW5zdGFuY2VvZiBPYnNlcnZlcikge1xuICAgIG9iID0gdmFsdWUuX19vYl9fO1xuICB9IGVs
c2UgaWYgKFxuICAgIG9ic2VydmVyU3RhdGUuc2hvdWxkQ29udmVydCAmJlxuICAgICFpc1NlcnZl
clJlbmRlcmluZygpICYmXG4gICAgKEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IGlzUGxhaW5PYmpl
Y3QodmFsdWUpKSAmJlxuICAgIE9iamVjdC5pc0V4dGVuc2libGUodmFsdWUpICYmXG4gICAgIXZh
bHVlLl9pc1Z1ZVxuICApIHtcbiAgICBvYiA9IG5ldyBPYnNlcnZlcih2YWx1ZSk7XG4gIH1cbiAg
aWYgKGFzUm9vdERhdGEgJiYgb2IpIHtcbiAgICBvYi52bUNvdW50Kys7XG4gIH1cbiAgcmV0dXJu
IG9iXG59XG5cbi8qKlxuICogRGVmaW5lIGEgcmVhY3RpdmUgcHJvcGVydHkgb24gYW4gT2JqZWN0
LlxuICovXG5mdW5jdGlvbiBkZWZpbmVSZWFjdGl2ZSQkMSAoXG4gIG9iaixcbiAga2V5LFxuICB2
YWwsXG4gIGN1c3RvbVNldHRlcixcbiAgc2hhbGxvd1xuKSB7XG4gIHZhciBkZXAgPSBuZXcgRGVw
KCk7XG5cbiAgdmFyIHByb3BlcnR5ID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihv
YmosIGtleSk7XG4gIGlmIChwcm9wZXJ0eSAmJiBwcm9wZXJ0eS5jb25maWd1cmFibGUgPT09IGZh
bHNlKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICAvLyBjYXRlciBmb3IgcHJlLWRlZmluZWQgZ2V0
dGVyL3NldHRlcnNcbiAgdmFyIGdldHRlciA9IHByb3BlcnR5ICYmIHByb3BlcnR5LmdldDtcbiAg
dmFyIHNldHRlciA9IHByb3BlcnR5ICYmIHByb3BlcnR5LnNldDtcblxuICB2YXIgY2hpbGRPYiA9
ICFzaGFsbG93ICYmIG9ic2VydmUodmFsKTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwg
a2V5LCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4g
ICAgZ2V0OiBmdW5jdGlvbiByZWFjdGl2ZUdldHRlciAoKSB7XG4gICAgICB2YXIgdmFsdWUgPSBn
ZXR0ZXIgPyBnZXR0ZXIuY2FsbChvYmopIDogdmFsO1xuICAgICAgaWYgKERlcC50YXJnZXQpIHtc
biAgICAgICAgZGVwLmRlcGVuZCgpO1xuICAgICAgICBpZiAoY2hpbGRPYikge1xuICAgICAgICAg
IGNoaWxkT2IuZGVwLmRlcGVuZCgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChBcnJheS5pc0Fy
cmF5KHZhbHVlKSkge1xuICAgICAgICAgIGRlcGVuZEFycmF5KHZhbHVlKTtcbiAgICAgICAgfVxu
ICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlXG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHJl
YWN0aXZlU2V0dGVyIChuZXdWYWwpIHtcbiAgICAgIHZhciB2YWx1ZSA9IGdldHRlciA/IGdldHRl
ci5jYWxsKG9iaikgOiB2YWw7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby1zZWxmLWNvbXBh
cmUgKi9cbiAgICAgIGlmIChuZXdWYWwgPT09IHZhbHVlIHx8IChuZXdWYWwgIT09IG5ld1ZhbCAm
JiB2YWx1ZSAhPT0gdmFsdWUpKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgLyog
ZXNsaW50LWVuYWJsZSBuby1zZWxmLWNvbXBhcmUgKi9cbiAgICAgIGlmIChmYWxzZSkge1xuICAg
ICAgICBjdXN0b21TZXR0ZXIoKTtcbiAgICAgIH1cbiAgICAgIGlmIChzZXR0ZXIpIHtcbiAgICAg
ICAgc2V0dGVyLmNhbGwob2JqLCBuZXdWYWwpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFs
ID0gbmV3VmFsO1xuICAgICAgfVxuICAgICAgY2hpbGRPYiA9ICFzaGFsbG93ICYmIG9ic2VydmUo
bmV3VmFsKTtcbiAgICAgIGRlcC5ub3RpZnkoKTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAq
IFNldCBhIHByb3BlcnR5IG9uIGFuIG9iamVjdC4gQWRkcyB0aGUgbmV3IHByb3BlcnR5IGFuZFxu
ICogdHJpZ2dlcnMgY2hhbmdlIG5vdGlmaWNhdGlvbiBpZiB0aGUgcHJvcGVydHkgZG9lc24ndFxu
ICogYWxyZWFkeSBleGlzdC5cbiAqL1xuZnVuY3Rpb24gc2V0ICh0YXJnZXQsIGtleSwgdmFsKSB7
XG4gIGlmIChBcnJheS5pc0FycmF5KHRhcmdldCkgJiYgaXNWYWxpZEFycmF5SW5kZXgoa2V5KSkg
e1xuICAgIHRhcmdldC5sZW5ndGggPSBNYXRoLm1heCh0YXJnZXQubGVuZ3RoLCBrZXkpO1xuICAg
IHRhcmdldC5zcGxpY2Uoa2V5LCAxLCB2YWwpO1xuICAgIHJldHVybiB2YWxcbiAgfVxuICBpZiAo
aGFzT3duKHRhcmdldCwga2V5KSkge1xuICAgIHRhcmdldFtrZXldID0gdmFsO1xuICAgIHJldHVy
biB2YWxcbiAgfVxuICB2YXIgb2IgPSAodGFyZ2V0KS5fX29iX187XG4gIGlmICh0YXJnZXQuX2lz
VnVlIHx8IChvYiAmJiBvYi52bUNvdW50KSkge1xuICAgIFwicHJvZHVjdGlvblwiICE9PSAncHJv
ZHVjdGlvbicgJiYgd2FybihcbiAgICAgICdBdm9pZCBhZGRpbmcgcmVhY3RpdmUgcHJvcGVydGll
cyB0byBhIFZ1ZSBpbnN0YW5jZSBvciBpdHMgcm9vdCAkZGF0YSAnICtcbiAgICAgICdhdCBydW50
aW1lIC0gZGVjbGFyZSBpdCB1cGZyb250IGluIHRoZSBkYXRhIG9wdGlvbi4nXG4gICAgKTtcbiAg
ICByZXR1cm4gdmFsXG4gIH1cbiAgaWYgKCFvYikge1xuICAgIHRhcmdldFtrZXldID0gdmFsO1xu
ICAgIHJldHVybiB2YWxcbiAgfVxuICBkZWZpbmVSZWFjdGl2ZSQkMShvYi52YWx1ZSwga2V5LCB2
YWwpO1xuICBvYi5kZXAubm90aWZ5KCk7XG4gIHJldHVybiB2YWxcbn1cblxuLyoqXG4gKiBEZWxl
dGUgYSBwcm9wZXJ0eSBhbmQgdHJpZ2dlciBjaGFuZ2UgaWYgbmVjZXNzYXJ5LlxuICovXG5mdW5j
dGlvbiBkZWwgKHRhcmdldCwga2V5KSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHRhcmdldCkgJiYg
aXNWYWxpZEFycmF5SW5kZXgoa2V5KSkge1xuICAgIHRhcmdldC5zcGxpY2Uoa2V5LCAxKTtcbiAg
ICByZXR1cm5cbiAgfVxuICB2YXIgb2IgPSAodGFyZ2V0KS5fX29iX187XG4gIGlmICh0YXJnZXQu
X2lzVnVlIHx8IChvYiAmJiBvYi52bUNvdW50KSkge1xuICAgIFwicHJvZHVjdGlvblwiICE9PSAn
cHJvZHVjdGlvbicgJiYgd2FybihcbiAgICAgICdBdm9pZCBkZWxldGluZyBwcm9wZXJ0aWVzIG9u
IGEgVnVlIGluc3RhbmNlIG9yIGl0cyByb290ICRkYXRhICcgK1xuICAgICAgJy0ganVzdCBzZXQg
aXQgdG8gbnVsbC4nXG4gICAgKTtcbiAgICByZXR1cm5cbiAgfVxuICBpZiAoIWhhc093bih0YXJn
ZXQsIGtleSkpIHtcbiAgICByZXR1cm5cbiAgfVxuICBkZWxldGUgdGFyZ2V0W2tleV07XG4gIGlm
ICghb2IpIHtcbiAgICByZXR1cm5cbiAgfVxuICBvYi5kZXAubm90aWZ5KCk7XG59XG5cbi8qKlxu
ICogQ29sbGVjdCBkZXBlbmRlbmNpZXMgb24gYXJyYXkgZWxlbWVudHMgd2hlbiB0aGUgYXJyYXkg
aXMgdG91Y2hlZCwgc2luY2VcbiAqIHdlIGNhbm5vdCBpbnRlcmNlcHQgYXJyYXkgZWxlbWVudCBh
Y2Nlc3MgbGlrZSBwcm9wZXJ0eSBnZXR0ZXJzLlxuICovXG5mdW5jdGlvbiBkZXBlbmRBcnJheSAo
dmFsdWUpIHtcbiAgZm9yICh2YXIgZSA9ICh2b2lkIDApLCBpID0gMCwgbCA9IHZhbHVlLmxlbmd0
aDsgaSA8IGw7IGkrKykge1xuICAgIGUgPSB2YWx1ZVtpXTtcbiAgICBlICYmIGUuX19vYl9fICYm
IGUuX19vYl9fLmRlcC5kZXBlbmQoKTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShlKSkge1xuICAg
ICAgZGVwZW5kQXJyYXkoZSk7XG4gICAgfVxuICB9XG59XG5cbi8qICAqL1xuXG4vKipcbiAqIE9w
dGlvbiBvdmVyd3JpdGluZyBzdHJhdGVnaWVzIGFyZSBmdW5jdGlvbnMgdGhhdCBoYW5kbGVcbiAq
IGhvdyB0byBtZXJnZSBhIHBhcmVudCBvcHRpb24gdmFsdWUgYW5kIGEgY2hpbGQgb3B0aW9uXG4g
KiB2YWx1ZSBpbnRvIHRoZSBmaW5hbCB2YWx1ZS5cbiAqL1xudmFyIHN0cmF0cyA9IGNvbmZpZy5v
cHRpb25NZXJnZVN0cmF0ZWdpZXM7XG5cbi8qKlxuICogT3B0aW9ucyB3aXRoIHJlc3RyaWN0aW9u
c1xuICovXG5pZiAoZmFsc2UpIHtcbiAgc3RyYXRzLmVsID0gc3RyYXRzLnByb3BzRGF0YSA9IGZ1
bmN0aW9uIChwYXJlbnQsIGNoaWxkLCB2bSwga2V5KSB7XG4gICAgaWYgKCF2bSkge1xuICAgICAg
d2FybihcbiAgICAgICAgXCJvcHRpb24gXFxcIlwiICsga2V5ICsgXCJcXFwiIGNhbiBvbmx5IGJl
IHVzZWQgZHVyaW5nIGluc3RhbmNlIFwiICtcbiAgICAgICAgJ2NyZWF0aW9uIHdpdGggdGhlIGBu
ZXdgIGtleXdvcmQuJ1xuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGRlZmF1bHRTdHJhdChw
YXJlbnQsIGNoaWxkKVxuICB9O1xufVxuXG4vKipcbiAqIEhlbHBlciB0aGF0IHJlY3Vyc2l2ZWx5
IG1lcmdlcyB0d28gZGF0YSBvYmplY3RzIHRvZ2V0aGVyLlxuICovXG5mdW5jdGlvbiBtZXJnZURh
dGEgKHRvLCBmcm9tKSB7XG4gIGlmICghZnJvbSkgeyByZXR1cm4gdG8gfVxuICB2YXIga2V5LCB0
b1ZhbCwgZnJvbVZhbDtcbiAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhmcm9tKTtcbiAgZm9yICh2
YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAga2V5ID0ga2V5c1tpXTtcbiAg
ICB0b1ZhbCA9IHRvW2tleV07XG4gICAgZnJvbVZhbCA9IGZyb21ba2V5XTtcbiAgICBpZiAoIWhh
c093bih0bywga2V5KSkge1xuICAgICAgc2V0KHRvLCBrZXksIGZyb21WYWwpO1xuICAgIH0gZWxz
ZSBpZiAoaXNQbGFpbk9iamVjdCh0b1ZhbCkgJiYgaXNQbGFpbk9iamVjdChmcm9tVmFsKSkge1xu
ICAgICAgbWVyZ2VEYXRhKHRvVmFsLCBmcm9tVmFsKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRv
XG59XG5cbi8qKlxuICogRGF0YVxuICovXG5mdW5jdGlvbiBtZXJnZURhdGFPckZuIChcbiAgcGFy
ZW50VmFsLFxuICBjaGlsZFZhbCxcbiAgdm1cbikge1xuICBpZiAoIXZtKSB7XG4gICAgLy8gaW4g
YSBWdWUuZXh0ZW5kIG1lcmdlLCBib3RoIHNob3VsZCBiZSBmdW5jdGlvbnNcbiAgICBpZiAoIWNo
aWxkVmFsKSB7XG4gICAgICByZXR1cm4gcGFyZW50VmFsXG4gICAgfVxuICAgIGlmICghcGFyZW50
VmFsKSB7XG4gICAgICByZXR1cm4gY2hpbGRWYWxcbiAgICB9XG4gICAgLy8gd2hlbiBwYXJlbnRW
YWwgJiBjaGlsZFZhbCBhcmUgYm90aCBwcmVzZW50LFxuICAgIC8vIHdlIG5lZWQgdG8gcmV0dXJu
IGEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZVxuICAgIC8vIG1lcmdlZCByZXN1bHQgb2YgYm90
aCBmdW5jdGlvbnMuLi4gbm8gbmVlZCB0b1xuICAgIC8vIGNoZWNrIGlmIHBhcmVudFZhbCBpcyBh
IGZ1bmN0aW9uIGhlcmUgYmVjYXVzZVxuICAgIC8vIGl0IGhhcyB0byBiZSBhIGZ1bmN0aW9uIHRv
IHBhc3MgcHJldmlvdXMgbWVyZ2VzLlxuICAgIHJldHVybiBmdW5jdGlvbiBtZXJnZWREYXRhRm4g
KCkge1xuICAgICAgcmV0dXJuIG1lcmdlRGF0YShcbiAgICAgICAgdHlwZW9mIGNoaWxkVmFsID09
PSAnZnVuY3Rpb24nID8gY2hpbGRWYWwuY2FsbCh0aGlzKSA6IGNoaWxkVmFsLFxuICAgICAgICB0
eXBlb2YgcGFyZW50VmFsID09PSAnZnVuY3Rpb24nID8gcGFyZW50VmFsLmNhbGwodGhpcykgOiBw
YXJlbnRWYWxcbiAgICAgIClcbiAgICB9XG4gIH0gZWxzZSBpZiAocGFyZW50VmFsIHx8IGNoaWxk
VmFsKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIG1lcmdlZEluc3RhbmNlRGF0YUZuICgpIHtcbiAg
ICAgIC8vIGluc3RhbmNlIG1lcmdlXG4gICAgICB2YXIgaW5zdGFuY2VEYXRhID0gdHlwZW9mIGNo
aWxkVmFsID09PSAnZnVuY3Rpb24nXG4gICAgICAgID8gY2hpbGRWYWwuY2FsbCh2bSlcbiAgICAg
ICAgOiBjaGlsZFZhbDtcbiAgICAgIHZhciBkZWZhdWx0RGF0YSA9IHR5cGVvZiBwYXJlbnRWYWwg
PT09ICdmdW5jdGlvbidcbiAgICAgICAgPyBwYXJlbnRWYWwuY2FsbCh2bSlcbiAgICAgICAgOiB1
bmRlZmluZWQ7XG4gICAgICBpZiAoaW5zdGFuY2VEYXRhKSB7XG4gICAgICAgIHJldHVybiBtZXJn
ZURhdGEoaW5zdGFuY2VEYXRhLCBkZWZhdWx0RGF0YSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAg
IHJldHVybiBkZWZhdWx0RGF0YVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5zdHJhdHMuZGF0
YSA9IGZ1bmN0aW9uIChcbiAgcGFyZW50VmFsLFxuICBjaGlsZFZhbCxcbiAgdm1cbikge1xuICBp
ZiAoIXZtKSB7XG4gICAgaWYgKGNoaWxkVmFsICYmIHR5cGVvZiBjaGlsZFZhbCAhPT0gJ2Z1bmN0
aW9uJykge1xuICAgICAgXCJwcm9kdWN0aW9uXCIgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxu
ICAgICAgICAnVGhlIFwiZGF0YVwiIG9wdGlvbiBzaG91bGQgYmUgYSBmdW5jdGlvbiAnICtcbiAg
ICAgICAgJ3RoYXQgcmV0dXJucyBhIHBlci1pbnN0YW5jZSB2YWx1ZSBpbiBjb21wb25lbnQgJyAr
XG4gICAgICAgICdkZWZpbml0aW9ucy4nLFxuICAgICAgICB2bVxuICAgICAgKTtcblxuICAgICAg
cmV0dXJuIHBhcmVudFZhbFxuICAgIH1cbiAgICByZXR1cm4gbWVyZ2VEYXRhT3JGbi5jYWxsKHRo
aXMsIHBhcmVudFZhbCwgY2hpbGRWYWwpXG4gIH1cblxuICByZXR1cm4gbWVyZ2VEYXRhT3JGbihw
YXJlbnRWYWwsIGNoaWxkVmFsLCB2bSlcbn07XG5cbi8qKlxuICogSG9va3MgYW5kIHByb3BzIGFy
ZSBtZXJnZWQgYXMgYXJyYXlzLlxuICovXG5mdW5jdGlvbiBtZXJnZUhvb2sgKFxuICBwYXJlbnRW
YWwsXG4gIGNoaWxkVmFsXG4pIHtcbiAgcmV0dXJuIGNoaWxkVmFsXG4gICAgPyBwYXJlbnRWYWxc
biAgICAgID8gcGFyZW50VmFsLmNvbmNhdChjaGlsZFZhbClcbiAgICAgIDogQXJyYXkuaXNBcnJh
eShjaGlsZFZhbClcbiAgICAgICAgPyBjaGlsZFZhbFxuICAgICAgICA6IFtjaGlsZFZhbF1cbiAg
ICA6IHBhcmVudFZhbFxufVxuXG5MSUZFQ1lDTEVfSE9PS1MuZm9yRWFjaChmdW5jdGlvbiAoaG9v
aykge1xuICBzdHJhdHNbaG9va10gPSBtZXJnZUhvb2s7XG59KTtcblxuLyoqXG4gKiBBc3NldHNc
biAqXG4gKiBXaGVuIGEgdm0gaXMgcHJlc2VudCAoaW5zdGFuY2UgY3JlYXRpb24pLCB3ZSBuZWVk
IHRvIGRvXG4gKiBhIHRocmVlLXdheSBtZXJnZSBiZXR3ZWVuIGNvbnN0cnVjdG9yIG9wdGlvbnMs
IGluc3RhbmNlXG4gKiBvcHRpb25zIGFuZCBwYXJlbnQgb3B0aW9ucy5cbiAqL1xuZnVuY3Rpb24g
bWVyZ2VBc3NldHMgKHBhcmVudFZhbCwgY2hpbGRWYWwpIHtcbiAgdmFyIHJlcyA9IE9iamVjdC5j
cmVhdGUocGFyZW50VmFsIHx8IG51bGwpO1xuICByZXR1cm4gY2hpbGRWYWxcbiAgICA/IGV4dGVu
ZChyZXMsIGNoaWxkVmFsKVxuICAgIDogcmVzXG59XG5cbkFTU0VUX1RZUEVTLmZvckVhY2goZnVu
Y3Rpb24gKHR5cGUpIHtcbiAgc3RyYXRzW3R5cGUgKyAncyddID0gbWVyZ2VBc3NldHM7XG59KTtc
blxuLyoqXG4gKiBXYXRjaGVycy5cbiAqXG4gKiBXYXRjaGVycyBoYXNoZXMgc2hvdWxkIG5vdCBv
dmVyd3JpdGUgb25lXG4gKiBhbm90aGVyLCBzbyB3ZSBtZXJnZSB0aGVtIGFzIGFycmF5cy5cbiAq
L1xuc3RyYXRzLndhdGNoID0gZnVuY3Rpb24gKHBhcmVudFZhbCwgY2hpbGRWYWwpIHtcbiAgLy8g
d29yayBhcm91bmQgRmlyZWZveCdzIE9iamVjdC5wcm90b3R5cGUud2F0Y2guLi5cbiAgaWYgKHBh
cmVudFZhbCA9PT0gbmF0aXZlV2F0Y2gpIHsgcGFyZW50VmFsID0gdW5kZWZpbmVkOyB9XG4gIGlm
IChjaGlsZFZhbCA9PT0gbmF0aXZlV2F0Y2gpIHsgY2hpbGRWYWwgPSB1bmRlZmluZWQ7IH1cbiAg
LyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmICghY2hpbGRWYWwpIHsgcmV0dXJuIE9iamVj
dC5jcmVhdGUocGFyZW50VmFsIHx8IG51bGwpIH1cbiAgaWYgKCFwYXJlbnRWYWwpIHsgcmV0dXJu
IGNoaWxkVmFsIH1cbiAgdmFyIHJldCA9IHt9O1xuICBleHRlbmQocmV0LCBwYXJlbnRWYWwpO1xu
ICBmb3IgKHZhciBrZXkgaW4gY2hpbGRWYWwpIHtcbiAgICB2YXIgcGFyZW50ID0gcmV0W2tleV07
XG4gICAgdmFyIGNoaWxkID0gY2hpbGRWYWxba2V5XTtcbiAgICBpZiAocGFyZW50ICYmICFBcnJh
eS5pc0FycmF5KHBhcmVudCkpIHtcbiAgICAgIHBhcmVudCA9IFtwYXJlbnRdO1xuICAgIH1cbiAg
ICByZXRba2V5XSA9IHBhcmVudFxuICAgICAgPyBwYXJlbnQuY29uY2F0KGNoaWxkKVxuICAgICAg
OiBBcnJheS5pc0FycmF5KGNoaWxkKSA/IGNoaWxkIDogW2NoaWxkXTtcbiAgfVxuICByZXR1cm4g
cmV0XG59O1xuXG4vKipcbiAqIE90aGVyIG9iamVjdCBoYXNoZXMuXG4gKi9cbnN0cmF0cy5wcm9w
cyA9XG5zdHJhdHMubWV0aG9kcyA9XG5zdHJhdHMuaW5qZWN0ID1cbnN0cmF0cy5jb21wdXRlZCA9
IGZ1bmN0aW9uIChwYXJlbnRWYWwsIGNoaWxkVmFsKSB7XG4gIGlmICghcGFyZW50VmFsKSB7IHJl
dHVybiBjaGlsZFZhbCB9XG4gIHZhciByZXQgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICBleHRl
bmQocmV0LCBwYXJlbnRWYWwpO1xuICBpZiAoY2hpbGRWYWwpIHsgZXh0ZW5kKHJldCwgY2hpbGRW
YWwpOyB9XG4gIHJldHVybiByZXRcbn07XG5zdHJhdHMucHJvdmlkZSA9IG1lcmdlRGF0YU9yRm47
XG5cbi8qKlxuICogRGVmYXVsdCBzdHJhdGVneS5cbiAqL1xudmFyIGRlZmF1bHRTdHJhdCA9IGZ1
bmN0aW9uIChwYXJlbnRWYWwsIGNoaWxkVmFsKSB7XG4gIHJldHVybiBjaGlsZFZhbCA9PT0gdW5k
ZWZpbmVkXG4gICAgPyBwYXJlbnRWYWxcbiAgICA6IGNoaWxkVmFsXG59O1xuXG4vKipcbiAqIFZh
bGlkYXRlIGNvbXBvbmVudCBuYW1lc1xuICovXG5mdW5jdGlvbiBjaGVja0NvbXBvbmVudHMgKG9w
dGlvbnMpIHtcbiAgZm9yICh2YXIga2V5IGluIG9wdGlvbnMuY29tcG9uZW50cykge1xuICAgIHZh
ciBsb3dlciA9IGtleS50b0xvd2VyQ2FzZSgpO1xuICAgIGlmIChpc0J1aWx0SW5UYWcobG93ZXIp
IHx8IGNvbmZpZy5pc1Jlc2VydmVkVGFnKGxvd2VyKSkge1xuICAgICAgd2FybihcbiAgICAgICAg
J0RvIG5vdCB1c2UgYnVpbHQtaW4gb3IgcmVzZXJ2ZWQgSFRNTCBlbGVtZW50cyBhcyBjb21wb25l
bnQgJyArXG4gICAgICAgICdpZDogJyArIGtleVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxu
LyoqXG4gKiBFbnN1cmUgYWxsIHByb3BzIG9wdGlvbiBzeW50YXggYXJlIG5vcm1hbGl6ZWQgaW50
byB0aGVcbiAqIE9iamVjdC1iYXNlZCBmb3JtYXQuXG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZVBy
b3BzIChvcHRpb25zKSB7XG4gIHZhciBwcm9wcyA9IG9wdGlvbnMucHJvcHM7XG4gIGlmICghcHJv
cHMpIHsgcmV0dXJuIH1cbiAgdmFyIHJlcyA9IHt9O1xuICB2YXIgaSwgdmFsLCBuYW1lO1xuICBp
ZiAoQXJyYXkuaXNBcnJheShwcm9wcykpIHtcbiAgICBpID0gcHJvcHMubGVuZ3RoO1xuICAgIHdo
aWxlIChpLS0pIHtcbiAgICAgIHZhbCA9IHByb3BzW2ldO1xuICAgICAgaWYgKHR5cGVvZiB2YWwg
PT09ICdzdHJpbmcnKSB7XG4gICAgICAgIG5hbWUgPSBjYW1lbGl6ZSh2YWwpO1xuICAgICAgICBy
ZXNbbmFtZV0gPSB7IHR5cGU6IG51bGwgfTtcbiAgICAgIH0gZWxzZSBpZiAoZmFsc2UpIHtcbiAg
ICAgICAgd2FybigncHJvcHMgbXVzdCBiZSBzdHJpbmdzIHdoZW4gdXNpbmcgYXJyYXkgc3ludGF4
LicpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIGlmIChpc1BsYWluT2JqZWN0KHByb3BzKSkg
e1xuICAgIGZvciAodmFyIGtleSBpbiBwcm9wcykge1xuICAgICAgdmFsID0gcHJvcHNba2V5XTtc
biAgICAgIG5hbWUgPSBjYW1lbGl6ZShrZXkpO1xuICAgICAgcmVzW25hbWVdID0gaXNQbGFpbk9i
amVjdCh2YWwpXG4gICAgICAgID8gdmFsXG4gICAgICAgIDogeyB0eXBlOiB2YWwgfTtcbiAgICB9
XG4gIH1cbiAgb3B0aW9ucy5wcm9wcyA9IHJlcztcbn1cblxuLyoqXG4gKiBOb3JtYWxpemUgYWxs
IGluamVjdGlvbnMgaW50byBPYmplY3QtYmFzZWQgZm9ybWF0XG4gKi9cbmZ1bmN0aW9uIG5vcm1h
bGl6ZUluamVjdCAob3B0aW9ucykge1xuICB2YXIgaW5qZWN0ID0gb3B0aW9ucy5pbmplY3Q7XG4g
IGlmIChBcnJheS5pc0FycmF5KGluamVjdCkpIHtcbiAgICB2YXIgbm9ybWFsaXplZCA9IG9wdGlv
bnMuaW5qZWN0ID0ge307XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbmplY3QubGVuZ3RoOyBp
KyspIHtcbiAgICAgIG5vcm1hbGl6ZWRbaW5qZWN0W2ldXSA9IGluamVjdFtpXTtcbiAgICB9XG4g
IH1cbn1cblxuLyoqXG4gKiBOb3JtYWxpemUgcmF3IGZ1bmN0aW9uIGRpcmVjdGl2ZXMgaW50byBv
YmplY3QgZm9ybWF0LlxuICovXG5mdW5jdGlvbiBub3JtYWxpemVEaXJlY3RpdmVzIChvcHRpb25z
KSB7XG4gIHZhciBkaXJzID0gb3B0aW9ucy5kaXJlY3RpdmVzO1xuICBpZiAoZGlycykge1xuICAg
IGZvciAodmFyIGtleSBpbiBkaXJzKSB7XG4gICAgICB2YXIgZGVmID0gZGlyc1trZXldO1xuICAg
ICAgaWYgKHR5cGVvZiBkZWYgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZGlyc1trZXldID0g
eyBiaW5kOiBkZWYsIHVwZGF0ZTogZGVmIH07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8q
KlxuICogTWVyZ2UgdHdvIG9wdGlvbiBvYmplY3RzIGludG8gYSBuZXcgb25lLlxuICogQ29yZSB1
dGlsaXR5IHVzZWQgaW4gYm90aCBpbnN0YW50aWF0aW9uIGFuZCBpbmhlcml0YW5jZS5cbiAqL1xu
ZnVuY3Rpb24gbWVyZ2VPcHRpb25zIChcbiAgcGFyZW50LFxuICBjaGlsZCxcbiAgdm1cbikge1xu
ICBpZiAoZmFsc2UpIHtcbiAgICBjaGVja0NvbXBvbmVudHMoY2hpbGQpO1xuICB9XG5cbiAgaWYg
KHR5cGVvZiBjaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGNoaWxkID0gY2hpbGQub3B0aW9u
cztcbiAgfVxuXG4gIG5vcm1hbGl6ZVByb3BzKGNoaWxkKTtcbiAgbm9ybWFsaXplSW5qZWN0KGNo
aWxkKTtcbiAgbm9ybWFsaXplRGlyZWN0aXZlcyhjaGlsZCk7XG4gIHZhciBleHRlbmRzRnJvbSA9
IGNoaWxkLmV4dGVuZHM7XG4gIGlmIChleHRlbmRzRnJvbSkge1xuICAgIHBhcmVudCA9IG1lcmdl
T3B0aW9ucyhwYXJlbnQsIGV4dGVuZHNGcm9tLCB2bSk7XG4gIH1cbiAgaWYgKGNoaWxkLm1peGlu
cykge1xuICAgIGZvciAodmFyIGkgPSAwLCBsID0gY2hpbGQubWl4aW5zLmxlbmd0aDsgaSA8IGw7
IGkrKykge1xuICAgICAgcGFyZW50ID0gbWVyZ2VPcHRpb25zKHBhcmVudCwgY2hpbGQubWl4aW5z
W2ldLCB2bSk7XG4gICAgfVxuICB9XG4gIHZhciBvcHRpb25zID0ge307XG4gIHZhciBrZXk7XG4g
IGZvciAoa2V5IGluIHBhcmVudCkge1xuICAgIG1lcmdlRmllbGQoa2V5KTtcbiAgfVxuICBmb3Ig
KGtleSBpbiBjaGlsZCkge1xuICAgIGlmICghaGFzT3duKHBhcmVudCwga2V5KSkge1xuICAgICAg
bWVyZ2VGaWVsZChrZXkpO1xuICAgIH1cbiAgfVxuICBmdW5jdGlvbiBtZXJnZUZpZWxkIChrZXkp
IHtcbiAgICB2YXIgc3RyYXQgPSBzdHJhdHNba2V5XSB8fCBkZWZhdWx0U3RyYXQ7XG4gICAgb3B0
aW9uc1trZXldID0gc3RyYXQocGFyZW50W2tleV0sIGNoaWxkW2tleV0sIHZtLCBrZXkpO1xuICB9
XG4gIHJldHVybiBvcHRpb25zXG59XG5cbi8qKlxuICogUmVzb2x2ZSBhbiBhc3NldC5cbiAqIFRo
aXMgZnVuY3Rpb24gaXMgdXNlZCBiZWNhdXNlIGNoaWxkIGluc3RhbmNlcyBuZWVkIGFjY2Vzc1xu
ICogdG8gYXNzZXRzIGRlZmluZWQgaW4gaXRzIGFuY2VzdG9yIGNoYWluLlxuICovXG5mdW5jdGlv
biByZXNvbHZlQXNzZXQgKFxuICBvcHRpb25zLFxuICB0eXBlLFxuICBpZCxcbiAgd2Fybk1pc3Np
bmdcbikge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKHR5cGVvZiBpZCAhPT0g
J3N0cmluZycpIHtcbiAgICByZXR1cm5cbiAgfVxuICB2YXIgYXNzZXRzID0gb3B0aW9uc1t0eXBl
XTtcbiAgLy8gY2hlY2sgbG9jYWwgcmVnaXN0cmF0aW9uIHZhcmlhdGlvbnMgZmlyc3RcbiAgaWYg
KGhhc093bihhc3NldHMsIGlkKSkgeyByZXR1cm4gYXNzZXRzW2lkXSB9XG4gIHZhciBjYW1lbGl6
ZWRJZCA9IGNhbWVsaXplKGlkKTtcbiAgaWYgKGhhc093bihhc3NldHMsIGNhbWVsaXplZElkKSkg
eyByZXR1cm4gYXNzZXRzW2NhbWVsaXplZElkXSB9XG4gIHZhciBQYXNjYWxDYXNlSWQgPSBjYXBp
dGFsaXplKGNhbWVsaXplZElkKTtcbiAgaWYgKGhhc093bihhc3NldHMsIFBhc2NhbENhc2VJZCkp
IHsgcmV0dXJuIGFzc2V0c1tQYXNjYWxDYXNlSWRdIH1cbiAgLy8gZmFsbGJhY2sgdG8gcHJvdG90
eXBlIGNoYWluXG4gIHZhciByZXMgPSBhc3NldHNbaWRdIHx8IGFzc2V0c1tjYW1lbGl6ZWRJZF0g
fHwgYXNzZXRzW1Bhc2NhbENhc2VJZF07XG4gIGlmIChmYWxzZSkge1xuICAgIHdhcm4oXG4gICAg
ICAnRmFpbGVkIHRvIHJlc29sdmUgJyArIHR5cGUuc2xpY2UoMCwgLTEpICsgJzogJyArIGlkLFxu
ICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG4vKiAgKi9cblxu
ZnVuY3Rpb24gdmFsaWRhdGVQcm9wIChcbiAga2V5LFxuICBwcm9wT3B0aW9ucyxcbiAgcHJvcHNE
YXRhLFxuICB2bVxuKSB7XG4gIHZhciBwcm9wID0gcHJvcE9wdGlvbnNba2V5XTtcbiAgdmFyIGFi
c2VudCA9ICFoYXNPd24ocHJvcHNEYXRhLCBrZXkpO1xuICB2YXIgdmFsdWUgPSBwcm9wc0RhdGFb
a2V5XTtcbiAgLy8gaGFuZGxlIGJvb2xlYW4gcHJvcHNcbiAgaWYgKGlzVHlwZShCb29sZWFuLCBw
cm9wLnR5cGUpKSB7XG4gICAgaWYgKGFic2VudCAmJiAhaGFzT3duKHByb3AsICdkZWZhdWx0Jykp
IHtcbiAgICAgIHZhbHVlID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmICghaXNUeXBlKFN0cmluZywg
cHJvcC50eXBlKSAmJiAodmFsdWUgPT09ICcnIHx8IHZhbHVlID09PSBoeXBoZW5hdGUoa2V5KSkp
IHtcbiAgICAgIHZhbHVlID0gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgLy8gY2hlY2sgZGVmYXVsdCB2
YWx1ZVxuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHZhbHVlID0gZ2V0UHJvcERl
ZmF1bHRWYWx1ZSh2bSwgcHJvcCwga2V5KTtcbiAgICAvLyBzaW5jZSB0aGUgZGVmYXVsdCB2YWx1
ZSBpcyBhIGZyZXNoIGNvcHksXG4gICAgLy8gbWFrZSBzdXJlIHRvIG9ic2VydmUgaXQuXG4gICAg
dmFyIHByZXZTaG91bGRDb252ZXJ0ID0gb2JzZXJ2ZXJTdGF0ZS5zaG91bGRDb252ZXJ0O1xuICAg
IG9ic2VydmVyU3RhdGUuc2hvdWxkQ29udmVydCA9IHRydWU7XG4gICAgb2JzZXJ2ZSh2YWx1ZSk7
XG4gICAgb2JzZXJ2ZXJTdGF0ZS5zaG91bGRDb252ZXJ0ID0gcHJldlNob3VsZENvbnZlcnQ7XG4g
IH1cbiAgaWYgKGZhbHNlKSB7XG4gICAgYXNzZXJ0UHJvcChwcm9wLCBrZXksIHZhbHVlLCB2bSwg
YWJzZW50KTtcbiAgfVxuICByZXR1cm4gdmFsdWVcbn1cblxuLyoqXG4gKiBHZXQgdGhlIGRlZmF1
bHQgdmFsdWUgb2YgYSBwcm9wLlxuICovXG5mdW5jdGlvbiBnZXRQcm9wRGVmYXVsdFZhbHVlICh2
bSwgcHJvcCwga2V5KSB7XG4gIC8vIG5vIGRlZmF1bHQsIHJldHVybiB1bmRlZmluZWRcbiAgaWYg
KCFoYXNPd24ocHJvcCwgJ2RlZmF1bHQnKSkge1xuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxu
ICB2YXIgZGVmID0gcHJvcC5kZWZhdWx0O1xuICAvLyB3YXJuIGFnYWluc3Qgbm9uLWZhY3Rvcnkg
ZGVmYXVsdHMgZm9yIE9iamVjdCAmIEFycmF5XG4gIGlmIChmYWxzZSkge1xuICAgIHdhcm4oXG4g
ICAgICAnSW52YWxpZCBkZWZhdWx0IHZhbHVlIGZvciBwcm9wIFwiJyArIGtleSArICdcIjogJyAr
XG4gICAgICAnUHJvcHMgd2l0aCB0eXBlIE9iamVjdC9BcnJheSBtdXN0IHVzZSBhIGZhY3Rvcnkg
ZnVuY3Rpb24gJyArXG4gICAgICAndG8gcmV0dXJuIHRoZSBkZWZhdWx0IHZhbHVlLicsXG4gICAg
ICB2bVxuICAgICk7XG4gIH1cbiAgLy8gdGhlIHJhdyBwcm9wIHZhbHVlIHdhcyBhbHNvIHVuZGVm
aW5lZCBmcm9tIHByZXZpb3VzIHJlbmRlcixcbiAgLy8gcmV0dXJuIHByZXZpb3VzIGRlZmF1bHQg
dmFsdWUgdG8gYXZvaWQgdW5uZWNlc3Nhcnkgd2F0Y2hlciB0cmlnZ2VyXG4gIGlmICh2bSAmJiB2
bS4kb3B0aW9ucy5wcm9wc0RhdGEgJiZcbiAgICB2bS4kb3B0aW9ucy5wcm9wc0RhdGFba2V5XSA9
PT0gdW5kZWZpbmVkICYmXG4gICAgdm0uX3Byb3BzW2tleV0gIT09IHVuZGVmaW5lZFxuICApIHtc
biAgICByZXR1cm4gdm0uX3Byb3BzW2tleV1cbiAgfVxuICAvLyBjYWxsIGZhY3RvcnkgZnVuY3Rp
b24gZm9yIG5vbi1GdW5jdGlvbiB0eXBlc1xuICAvLyBhIHZhbHVlIGlzIEZ1bmN0aW9uIGlmIGl0
cyBwcm90b3R5cGUgaXMgZnVuY3Rpb24gZXZlbiBhY3Jvc3MgZGlmZmVyZW50IGV4ZWN1dGlvbiBj
b250ZXh0XG4gIHJldHVybiB0eXBlb2YgZGVmID09PSAnZnVuY3Rpb24nICYmIGdldFR5cGUocHJv
cC50eXBlKSAhPT0gJ0Z1bmN0aW9uJ1xuICAgID8gZGVmLmNhbGwodm0pXG4gICAgOiBkZWZcbn1c
blxuLyoqXG4gKiBBc3NlcnQgd2hldGhlciBhIHByb3AgaXMgdmFsaWQuXG4gKi9cbmZ1bmN0aW9u
IGFzc2VydFByb3AgKFxuICBwcm9wLFxuICBuYW1lLFxuICB2YWx1ZSxcbiAgdm0sXG4gIGFic2Vu
dFxuKSB7XG4gIGlmIChwcm9wLnJlcXVpcmVkICYmIGFic2VudCkge1xuICAgIHdhcm4oXG4gICAg
ICAnTWlzc2luZyByZXF1aXJlZCBwcm9wOiBcIicgKyBuYW1lICsgJ1wiJyxcbiAgICAgIHZtXG4g
ICAgKTtcbiAgICByZXR1cm5cbiAgfVxuICBpZiAodmFsdWUgPT0gbnVsbCAmJiAhcHJvcC5yZXF1
aXJlZCkge1xuICAgIHJldHVyblxuICB9XG4gIHZhciB0eXBlID0gcHJvcC50eXBlO1xuICB2YXIg
dmFsaWQgPSAhdHlwZSB8fCB0eXBlID09PSB0cnVlO1xuICB2YXIgZXhwZWN0ZWRUeXBlcyA9IFtd
O1xuICBpZiAodHlwZSkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh0eXBlKSkge1xuICAgICAg
dHlwZSA9IFt0eXBlXTtcbiAgICB9XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0eXBlLmxlbmd0
aCAmJiAhdmFsaWQ7IGkrKykge1xuICAgICAgdmFyIGFzc2VydGVkVHlwZSA9IGFzc2VydFR5cGUo
dmFsdWUsIHR5cGVbaV0pO1xuICAgICAgZXhwZWN0ZWRUeXBlcy5wdXNoKGFzc2VydGVkVHlwZS5l
eHBlY3RlZFR5cGUgfHwgJycpO1xuICAgICAgdmFsaWQgPSBhc3NlcnRlZFR5cGUudmFsaWQ7XG4g
ICAgfVxuICB9XG4gIGlmICghdmFsaWQpIHtcbiAgICB3YXJuKFxuICAgICAgJ0ludmFsaWQgcHJv
cDogdHlwZSBjaGVjayBmYWlsZWQgZm9yIHByb3AgXCInICsgbmFtZSArICdcIi4nICtcbiAgICAg
ICcgRXhwZWN0ZWQgJyArIGV4cGVjdGVkVHlwZXMubWFwKGNhcGl0YWxpemUpLmpvaW4oJywgJykg
K1xuICAgICAgJywgZ290ICcgKyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUp
LnNsaWNlKDgsIC0xKSArICcuJyxcbiAgICAgIHZtXG4gICAgKTtcbiAgICByZXR1cm5cbiAgfVxu
ICB2YXIgdmFsaWRhdG9yID0gcHJvcC52YWxpZGF0b3I7XG4gIGlmICh2YWxpZGF0b3IpIHtcbiAg
ICBpZiAoIXZhbGlkYXRvcih2YWx1ZSkpIHtcbiAgICAgIHdhcm4oXG4gICAgICAgICdJbnZhbGlk
IHByb3A6IGN1c3RvbSB2YWxpZGF0b3IgY2hlY2sgZmFpbGVkIGZvciBwcm9wIFwiJyArIG5hbWUg
KyAnXCIuJyxcbiAgICAgICAgdm1cbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbnZhciBzaW1w
bGVDaGVja1JFID0gL14oU3RyaW5nfE51bWJlcnxCb29sZWFufEZ1bmN0aW9ufFN5bWJvbCkkLztc
blxuZnVuY3Rpb24gYXNzZXJ0VHlwZSAodmFsdWUsIHR5cGUpIHtcbiAgdmFyIHZhbGlkO1xuICB2
YXIgZXhwZWN0ZWRUeXBlID0gZ2V0VHlwZSh0eXBlKTtcbiAgaWYgKHNpbXBsZUNoZWNrUkUudGVz
dChleHBlY3RlZFR5cGUpKSB7XG4gICAgdmFsaWQgPSB0eXBlb2YgdmFsdWUgPT09IGV4cGVjdGVk
VHlwZS50b0xvd2VyQ2FzZSgpO1xuICB9IGVsc2UgaWYgKGV4cGVjdGVkVHlwZSA9PT0gJ09iamVj
dCcpIHtcbiAgICB2YWxpZCA9IGlzUGxhaW5PYmplY3QodmFsdWUpO1xuICB9IGVsc2UgaWYgKGV4
cGVjdGVkVHlwZSA9PT0gJ0FycmF5Jykge1xuICAgIHZhbGlkID0gQXJyYXkuaXNBcnJheSh2YWx1
ZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFsaWQgPSB2YWx1ZSBpbnN0YW5jZW9mIHR5cGU7XG4gIH1c
biAgcmV0dXJuIHtcbiAgICB2YWxpZDogdmFsaWQsXG4gICAgZXhwZWN0ZWRUeXBlOiBleHBlY3Rl
ZFR5cGVcbiAgfVxufVxuXG4vKipcbiAqIFVzZSBmdW5jdGlvbiBzdHJpbmcgbmFtZSB0byBjaGVj
ayBidWlsdC1pbiB0eXBlcyxcbiAqIGJlY2F1c2UgYSBzaW1wbGUgZXF1YWxpdHkgY2hlY2sgd2ls
bCBmYWlsIHdoZW4gcnVubmluZ1xuICogYWNyb3NzIGRpZmZlcmVudCB2bXMgLyBpZnJhbWVzLlxu
ICovXG5mdW5jdGlvbiBnZXRUeXBlIChmbikge1xuICB2YXIgbWF0Y2ggPSBmbiAmJiBmbi50b1N0
cmluZygpLm1hdGNoKC9eXFxzKmZ1bmN0aW9uIChcXHcrKS8pO1xuICByZXR1cm4gbWF0Y2ggPyBt
YXRjaFsxXSA6ICcnXG59XG5cbmZ1bmN0aW9uIGlzVHlwZSAodHlwZSwgZm4pIHtcbiAgaWYgKCFB
cnJheS5pc0FycmF5KGZuKSkge1xuICAgIHJldHVybiBnZXRUeXBlKGZuKSA9PT0gZ2V0VHlwZSh0
eXBlKVxuICB9XG4gIGZvciAodmFyIGkgPSAwLCBsZW4gPSBmbi5sZW5ndGg7IGkgPCBsZW47IGkr
Kykge1xuICAgIGlmIChnZXRUeXBlKGZuW2ldKSA9PT0gZ2V0VHlwZSh0eXBlKSkge1xuICAgICAg
cmV0dXJuIHRydWVcbiAgICB9XG4gIH1cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAg
cmV0dXJuIGZhbHNlXG59XG5cbi8qICAqL1xuXG52YXIgbWFyaztcbnZhciBtZWFzdXJlO1xuXG5p
ZiAoZmFsc2UpIHtcbiAgdmFyIHBlcmYgPSBpbkJyb3dzZXIgJiYgd2luZG93LnBlcmZvcm1hbmNl
O1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKFxuICAgIHBlcmYgJiZcbiAgICBw
ZXJmLm1hcmsgJiZcbiAgICBwZXJmLm1lYXN1cmUgJiZcbiAgICBwZXJmLmNsZWFyTWFya3MgJiZc
biAgICBwZXJmLmNsZWFyTWVhc3VyZXNcbiAgKSB7XG4gICAgbWFyayA9IGZ1bmN0aW9uICh0YWcp
IHsgcmV0dXJuIHBlcmYubWFyayh0YWcpOyB9O1xuICAgIG1lYXN1cmUgPSBmdW5jdGlvbiAobmFt
ZSwgc3RhcnRUYWcsIGVuZFRhZykge1xuICAgICAgcGVyZi5tZWFzdXJlKG5hbWUsIHN0YXJ0VGFn
LCBlbmRUYWcpO1xuICAgICAgcGVyZi5jbGVhck1hcmtzKHN0YXJ0VGFnKTtcbiAgICAgIHBlcmYu
Y2xlYXJNYXJrcyhlbmRUYWcpO1xuICAgICAgcGVyZi5jbGVhck1lYXN1cmVzKG5hbWUpO1xuICAg
IH07XG4gIH1cbn1cblxuLyogbm90IHR5cGUgY2hlY2tpbmcgdGhpcyBmaWxlIGJlY2F1c2UgZmxv
dyBkb2Vzbid0IHBsYXkgd2VsbCB3aXRoIFByb3h5ICovXG5cbnZhciBpbml0UHJveHk7XG5cbmlm
IChmYWxzZSkge1xuICB2YXIgYWxsb3dlZEdsb2JhbHMgPSBtYWtlTWFwKFxuICAgICdJbmZpbml0
eSx1bmRlZmluZWQsTmFOLGlzRmluaXRlLGlzTmFOLCcgK1xuICAgICdwYXJzZUZsb2F0LHBhcnNl
SW50LGRlY29kZVVSSSxkZWNvZGVVUklDb21wb25lbnQsZW5jb2RlVVJJLGVuY29kZVVSSUNvbXBv
bmVudCwnICtcbiAgICAnTWF0aCxOdW1iZXIsRGF0ZSxBcnJheSxPYmplY3QsQm9vbGVhbixTdHJp
bmcsUmVnRXhwLE1hcCxTZXQsSlNPTixJbnRsLCcgK1xuICAgICdyZXF1aXJlJyAvLyBmb3IgV2Vi
cGFjay9Ccm93c2VyaWZ5XG4gICk7XG5cbiAgdmFyIHdhcm5Ob25QcmVzZW50ID0gZnVuY3Rpb24g
KHRhcmdldCwga2V5KSB7XG4gICAgd2FybihcbiAgICAgIFwiUHJvcGVydHkgb3IgbWV0aG9kIFxc
XCJcIiArIGtleSArIFwiXFxcIiBpcyBub3QgZGVmaW5lZCBvbiB0aGUgaW5zdGFuY2UgYnV0IFwi
ICtcbiAgICAgIFwicmVmZXJlbmNlZCBkdXJpbmcgcmVuZGVyLiBNYWtlIHN1cmUgdG8gZGVjbGFy
ZSByZWFjdGl2ZSBkYXRhIFwiICtcbiAgICAgIFwicHJvcGVydGllcyBpbiB0aGUgZGF0YSBvcHRp
b24uXCIsXG4gICAgICB0YXJnZXRcbiAgICApO1xuICB9O1xuXG4gIHZhciBoYXNQcm94eSA9XG4g
ICAgdHlwZW9mIFByb3h5ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgIFByb3h5LnRvU3RyaW5nKCku
bWF0Y2goL25hdGl2ZSBjb2RlLyk7XG5cbiAgaWYgKGhhc1Byb3h5KSB7XG4gICAgdmFyIGlzQnVp
bHRJbk1vZGlmaWVyID0gbWFrZU1hcCgnc3RvcCxwcmV2ZW50LHNlbGYsY3RybCxzaGlmdCxhbHQs
bWV0YScpO1xuICAgIGNvbmZpZy5rZXlDb2RlcyA9IG5ldyBQcm94eShjb25maWcua2V5Q29kZXMs
IHtcbiAgICAgIHNldDogZnVuY3Rpb24gc2V0ICh0YXJnZXQsIGtleSwgdmFsdWUpIHtcbiAgICAg
ICAgaWYgKGlzQnVpbHRJbk1vZGlmaWVyKGtleSkpIHtcbiAgICAgICAgICB3YXJuKChcIkF2b2lk
IG92ZXJ3cml0aW5nIGJ1aWx0LWluIG1vZGlmaWVyIGluIGNvbmZpZy5rZXlDb2RlczogLlwiICsg
a2V5KSk7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAg
ICAgdGFyZ2V0W2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9
XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB2YXIgaGFzSGFuZGxlciA9IHtcbiAgICBoYXM6
IGZ1bmN0aW9uIGhhcyAodGFyZ2V0LCBrZXkpIHtcbiAgICAgIHZhciBoYXMgPSBrZXkgaW4gdGFy
Z2V0O1xuICAgICAgdmFyIGlzQWxsb3dlZCA9IGFsbG93ZWRHbG9iYWxzKGtleSkgfHwga2V5LmNo
YXJBdCgwKSA9PT0gJ18nO1xuICAgICAgaWYgKCFoYXMgJiYgIWlzQWxsb3dlZCkge1xuICAgICAg
ICB3YXJuTm9uUHJlc2VudCh0YXJnZXQsIGtleSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gaGFz
IHx8ICFpc0FsbG93ZWRcbiAgICB9XG4gIH07XG5cbiAgdmFyIGdldEhhbmRsZXIgPSB7XG4gICAg
Z2V0OiBmdW5jdGlvbiBnZXQgKHRhcmdldCwga2V5KSB7XG4gICAgICBpZiAodHlwZW9mIGtleSA9
PT0gJ3N0cmluZycgJiYgIShrZXkgaW4gdGFyZ2V0KSkge1xuICAgICAgICB3YXJuTm9uUHJlc2Vu
dCh0YXJnZXQsIGtleSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGFyZ2V0W2tleV1cbiAgICB9
XG4gIH07XG5cbiAgaW5pdFByb3h5ID0gZnVuY3Rpb24gaW5pdFByb3h5ICh2bSkge1xuICAgIGlm
IChoYXNQcm94eSkge1xuICAgICAgLy8gZGV0ZXJtaW5lIHdoaWNoIHByb3h5IGhhbmRsZXIgdG8g
dXNlXG4gICAgICB2YXIgb3B0aW9ucyA9IHZtLiRvcHRpb25zO1xuICAgICAgdmFyIGhhbmRsZXJz
ID0gb3B0aW9ucy5yZW5kZXIgJiYgb3B0aW9ucy5yZW5kZXIuX3dpdGhTdHJpcHBlZFxuICAgICAg
ICA/IGdldEhhbmRsZXJcbiAgICAgICAgOiBoYXNIYW5kbGVyO1xuICAgICAgdm0uX3JlbmRlclBy
b3h5ID0gbmV3IFByb3h5KHZtLCBoYW5kbGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZtLl9y
ZW5kZXJQcm94eSA9IHZtO1xuICAgIH1cbiAgfTtcbn1cblxuLyogICovXG5cbnZhciBWTm9kZSA9
IGZ1bmN0aW9uIFZOb2RlIChcbiAgdGFnLFxuICBkYXRhLFxuICBjaGlsZHJlbixcbiAgdGV4dCxc
biAgZWxtLFxuICBjb250ZXh0LFxuICBjb21wb25lbnRPcHRpb25zLFxuICBhc3luY0ZhY3Rvcnlc
bikge1xuICB0aGlzLnRhZyA9IHRhZztcbiAgdGhpcy5kYXRhID0gZGF0YTtcbiAgdGhpcy5jaGls
ZHJlbiA9IGNoaWxkcmVuO1xuICB0aGlzLnRleHQgPSB0ZXh0O1xuICB0aGlzLmVsbSA9IGVsbTtc
biAgdGhpcy5ucyA9IHVuZGVmaW5lZDtcbiAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgdGhp
cy5mdW5jdGlvbmFsQ29udGV4dCA9IHVuZGVmaW5lZDtcbiAgdGhpcy5rZXkgPSBkYXRhICYmIGRh
dGEua2V5O1xuICB0aGlzLmNvbXBvbmVudE9wdGlvbnMgPSBjb21wb25lbnRPcHRpb25zO1xuICB0
aGlzLmNvbXBvbmVudEluc3RhbmNlID0gdW5kZWZpbmVkO1xuICB0aGlzLnBhcmVudCA9IHVuZGVm
aW5lZDtcbiAgdGhpcy5yYXcgPSBmYWxzZTtcbiAgdGhpcy5pc1N0YXRpYyA9IGZhbHNlO1xuICB0
aGlzLmlzUm9vdEluc2VydCA9IHRydWU7XG4gIHRoaXMuaXNDb21tZW50ID0gZmFsc2U7XG4gIHRo
aXMuaXNDbG9uZWQgPSBmYWxzZTtcbiAgdGhpcy5pc09uY2UgPSBmYWxzZTtcbiAgdGhpcy5hc3lu
Y0ZhY3RvcnkgPSBhc3luY0ZhY3Rvcnk7XG4gIHRoaXMuYXN5bmNNZXRhID0gdW5kZWZpbmVkO1xu
ICB0aGlzLmlzQXN5bmNQbGFjZWhvbGRlciA9IGZhbHNlO1xufTtcblxudmFyIHByb3RvdHlwZUFj
Y2Vzc29ycyA9IHsgY2hpbGQ6IHt9IH07XG5cbi8vIERFUFJFQ0FURUQ6IGFsaWFzIGZvciBjb21w
b25lbnRJbnN0YW5jZSBmb3IgYmFja3dhcmRzIGNvbXBhdC5cbi8qIGlzdGFuYnVsIGlnbm9yZSBu
ZXh0ICovXG5wcm90b3R5cGVBY2Nlc3NvcnMuY2hpbGQuZ2V0ID0gZnVuY3Rpb24gKCkge1xuICBy
ZXR1cm4gdGhpcy5jb21wb25lbnRJbnN0YW5jZVxufTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnRp
ZXMoIFZOb2RlLnByb3RvdHlwZSwgcHJvdG90eXBlQWNjZXNzb3JzICk7XG5cbnZhciBjcmVhdGVF
bXB0eVZOb2RlID0gZnVuY3Rpb24gKHRleHQpIHtcbiAgaWYgKCB0ZXh0ID09PSB2b2lkIDAgKSB0
ZXh0ID0gJyc7XG5cbiAgdmFyIG5vZGUgPSBuZXcgVk5vZGUoKTtcbiAgbm9kZS50ZXh0ID0gdGV4
dDtcbiAgbm9kZS5pc0NvbW1lbnQgPSB0cnVlO1xuICByZXR1cm4gbm9kZVxufTtcblxuZnVuY3Rp
b24gY3JlYXRlVGV4dFZOb2RlICh2YWwpIHtcbiAgcmV0dXJuIG5ldyBWTm9kZSh1bmRlZmluZWQs
IHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBTdHJpbmcodmFsKSlcbn1cblxuLy8gb3B0aW1pemVkIHNo
YWxsb3cgY2xvbmVcbi8vIHVzZWQgZm9yIHN0YXRpYyBub2RlcyBhbmQgc2xvdCBub2RlcyBiZWNh
dXNlIHRoZXkgbWF5IGJlIHJldXNlZCBhY3Jvc3Ncbi8vIG11bHRpcGxlIHJlbmRlcnMsIGNsb25p
bmcgdGhlbSBhdm9pZHMgZXJyb3JzIHdoZW4gRE9NIG1hbmlwdWxhdGlvbnMgcmVseVxuLy8gb24g
dGhlaXIgZWxtIHJlZmVyZW5jZS5cbmZ1bmN0aW9uIGNsb25lVk5vZGUgKHZub2RlKSB7XG4gIHZh
ciBjbG9uZWQgPSBuZXcgVk5vZGUoXG4gICAgdm5vZGUudGFnLFxuICAgIHZub2RlLmRhdGEsXG4g
ICAgdm5vZGUuY2hpbGRyZW4sXG4gICAgdm5vZGUudGV4dCxcbiAgICB2bm9kZS5lbG0sXG4gICAg
dm5vZGUuY29udGV4dCxcbiAgICB2bm9kZS5jb21wb25lbnRPcHRpb25zLFxuICAgIHZub2RlLmFz
eW5jRmFjdG9yeVxuICApO1xuICBjbG9uZWQubnMgPSB2bm9kZS5ucztcbiAgY2xvbmVkLmlzU3Rh
dGljID0gdm5vZGUuaXNTdGF0aWM7XG4gIGNsb25lZC5rZXkgPSB2bm9kZS5rZXk7XG4gIGNsb25l
ZC5pc0NvbW1lbnQgPSB2bm9kZS5pc0NvbW1lbnQ7XG4gIGNsb25lZC5pc0Nsb25lZCA9IHRydWU7
XG4gIHJldHVybiBjbG9uZWRcbn1cblxuZnVuY3Rpb24gY2xvbmVWTm9kZXMgKHZub2Rlcykge1xu
ICB2YXIgbGVuID0gdm5vZGVzLmxlbmd0aDtcbiAgdmFyIHJlcyA9IG5ldyBBcnJheShsZW4pO1xu
ICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgcmVzW2ldID0gY2xvbmVWTm9k
ZSh2bm9kZXNbaV0pO1xuICB9XG4gIHJldHVybiByZXNcbn1cblxuLyogICovXG5cbnZhciBub3Jt
YWxpemVFdmVudCA9IGNhY2hlZChmdW5jdGlvbiAobmFtZSkge1xuICB2YXIgcGFzc2l2ZSA9IG5h
bWUuY2hhckF0KDApID09PSAnJic7XG4gIG5hbWUgPSBwYXNzaXZlID8gbmFtZS5zbGljZSgxKSA6
IG5hbWU7XG4gIHZhciBvbmNlJCQxID0gbmFtZS5jaGFyQXQoMCkgPT09ICd+JzsgLy8gUHJlZml4
ZWQgbGFzdCwgY2hlY2tlZCBmaXJzdFxuICBuYW1lID0gb25jZSQkMSA/IG5hbWUuc2xpY2UoMSkg
OiBuYW1lO1xuICB2YXIgY2FwdHVyZSA9IG5hbWUuY2hhckF0KDApID09PSAnISc7XG4gIG5hbWUg
PSBjYXB0dXJlID8gbmFtZS5zbGljZSgxKSA6IG5hbWU7XG4gIHJldHVybiB7XG4gICAgbmFtZTog
bmFtZSxcbiAgICBvbmNlOiBvbmNlJCQxLFxuICAgIGNhcHR1cmU6IGNhcHR1cmUsXG4gICAgcGFz
c2l2ZTogcGFzc2l2ZVxuICB9XG59KTtcblxuZnVuY3Rpb24gY3JlYXRlRm5JbnZva2VyIChmbnMp
IHtcbiAgZnVuY3Rpb24gaW52b2tlciAoKSB7XG4gICAgdmFyIGFyZ3VtZW50cyQxID0gYXJndW1l
bnRzO1xuXG4gICAgdmFyIGZucyA9IGludm9rZXIuZm5zO1xuICAgIGlmIChBcnJheS5pc0FycmF5
KGZucykpIHtcbiAgICAgIHZhciBjbG9uZWQgPSBmbnMuc2xpY2UoKTtcbiAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgY2xvbmVkLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNsb25lZFtpXS5hcHBs
eShudWxsLCBhcmd1bWVudHMkMSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHJl
dHVybiBoYW5kbGVyIHJldHVybiB2YWx1ZSBmb3Igc2luZ2xlIGhhbmRsZXJzXG4gICAgICByZXR1
cm4gZm5zLmFwcGx5KG51bGwsIGFyZ3VtZW50cylcbiAgICB9XG4gIH1cbiAgaW52b2tlci5mbnMg
PSBmbnM7XG4gIHJldHVybiBpbnZva2VyXG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUxpc3RlbmVycyAo
XG4gIG9uLFxuICBvbGRPbixcbiAgYWRkLFxuICByZW1vdmUkJDEsXG4gIHZtXG4pIHtcbiAgdmFy
IG5hbWUsIGN1ciwgb2xkLCBldmVudDtcbiAgZm9yIChuYW1lIGluIG9uKSB7XG4gICAgY3VyID0g
b25bbmFtZV07XG4gICAgb2xkID0gb2xkT25bbmFtZV07XG4gICAgZXZlbnQgPSBub3JtYWxpemVF
dmVudChuYW1lKTtcbiAgICBpZiAoaXNVbmRlZihjdXIpKSB7XG4gICAgICBcInByb2R1Y3Rpb25c
IiAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4oXG4gICAgICAgIFwiSW52YWxpZCBoYW5kbGVyIGZv
ciBldmVudCBcXFwiXCIgKyAoZXZlbnQubmFtZSkgKyBcIlxcXCI6IGdvdCBcIiArIFN0cmluZyhj
dXIpLFxuICAgICAgICB2bVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGlzVW5kZWYob2xkKSkg
e1xuICAgICAgaWYgKGlzVW5kZWYoY3VyLmZucykpIHtcbiAgICAgICAgY3VyID0gb25bbmFtZV0g
PSBjcmVhdGVGbkludm9rZXIoY3VyKTtcbiAgICAgIH1cbiAgICAgIGFkZChldmVudC5uYW1lLCBj
dXIsIGV2ZW50Lm9uY2UsIGV2ZW50LmNhcHR1cmUsIGV2ZW50LnBhc3NpdmUpO1xuICAgIH0gZWxz
ZSBpZiAoY3VyICE9PSBvbGQpIHtcbiAgICAgIG9sZC5mbnMgPSBjdXI7XG4gICAgICBvbltuYW1l
XSA9IG9sZDtcbiAgICB9XG4gIH1cbiAgZm9yIChuYW1lIGluIG9sZE9uKSB7XG4gICAgaWYgKGlz
VW5kZWYob25bbmFtZV0pKSB7XG4gICAgICBldmVudCA9IG5vcm1hbGl6ZUV2ZW50KG5hbWUpO1xu
ICAgICAgcmVtb3ZlJCQxKGV2ZW50Lm5hbWUsIG9sZE9uW25hbWVdLCBldmVudC5jYXB0dXJlKTtc
biAgICB9XG4gIH1cbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIG1lcmdlVk5vZGVIb29rIChkZWYs
IGhvb2tLZXksIGhvb2spIHtcbiAgdmFyIGludm9rZXI7XG4gIHZhciBvbGRIb29rID0gZGVmW2hv
b2tLZXldO1xuXG4gIGZ1bmN0aW9uIHdyYXBwZWRIb29rICgpIHtcbiAgICBob29rLmFwcGx5KHRo
aXMsIGFyZ3VtZW50cyk7XG4gICAgLy8gaW1wb3J0YW50OiByZW1vdmUgbWVyZ2VkIGhvb2sgdG8g
ZW5zdXJlIGl0J3MgY2FsbGVkIG9ubHkgb25jZVxuICAgIC8vIGFuZCBwcmV2ZW50IG1lbW9yeSBs
ZWFrXG4gICAgcmVtb3ZlKGludm9rZXIuZm5zLCB3cmFwcGVkSG9vayk7XG4gIH1cblxuICBpZiAo
aXNVbmRlZihvbGRIb29rKSkge1xuICAgIC8vIG5vIGV4aXN0aW5nIGhvb2tcbiAgICBpbnZva2Vy
ID0gY3JlYXRlRm5JbnZva2VyKFt3cmFwcGVkSG9va10pO1xuICB9IGVsc2Uge1xuICAgIC8qIGlz
dGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChpc0RlZihvbGRIb29rLmZucykgJiYgaXNUcnVl
KG9sZEhvb2subWVyZ2VkKSkge1xuICAgICAgLy8gYWxyZWFkeSBhIG1lcmdlZCBpbnZva2VyXG4g
ICAgICBpbnZva2VyID0gb2xkSG9vaztcbiAgICAgIGludm9rZXIuZm5zLnB1c2god3JhcHBlZEhv
b2spO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBleGlzdGluZyBwbGFpbiBob29rXG4gICAgICBp
bnZva2VyID0gY3JlYXRlRm5JbnZva2VyKFtvbGRIb29rLCB3cmFwcGVkSG9va10pO1xuICAgIH1c
biAgfVxuXG4gIGludm9rZXIubWVyZ2VkID0gdHJ1ZTtcbiAgZGVmW2hvb2tLZXldID0gaW52b2tl
cjtcbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGV4dHJhY3RQcm9wc0Zyb21WTm9kZURhdGEgKFxu
ICBkYXRhLFxuICBDdG9yLFxuICB0YWdcbikge1xuICAvLyB3ZSBhcmUgb25seSBleHRyYWN0aW5n
IHJhdyB2YWx1ZXMgaGVyZS5cbiAgLy8gdmFsaWRhdGlvbiBhbmQgZGVmYXVsdCB2YWx1ZXMgYXJl
IGhhbmRsZWQgaW4gdGhlIGNoaWxkXG4gIC8vIGNvbXBvbmVudCBpdHNlbGYuXG4gIHZhciBwcm9w
T3B0aW9ucyA9IEN0b3Iub3B0aW9ucy5wcm9wcztcbiAgaWYgKGlzVW5kZWYocHJvcE9wdGlvbnMp
KSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIHJlcyA9IHt9O1xuICB2YXIgYXR0cnMgPSBkYXRh
LmF0dHJzO1xuICB2YXIgcHJvcHMgPSBkYXRhLnByb3BzO1xuICBpZiAoaXNEZWYoYXR0cnMpIHx8
IGlzRGVmKHByb3BzKSkge1xuICAgIGZvciAodmFyIGtleSBpbiBwcm9wT3B0aW9ucykge1xuICAg
ICAgdmFyIGFsdEtleSA9IGh5cGhlbmF0ZShrZXkpO1xuICAgICAgaWYgKGZhbHNlKSB7XG4gICAg
ICAgIHZhciBrZXlJbkxvd2VyQ2FzZSA9IGtleS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAo
XG4gICAgICAgICAga2V5ICE9PSBrZXlJbkxvd2VyQ2FzZSAmJlxuICAgICAgICAgIGF0dHJzICYm
IGhhc093bihhdHRycywga2V5SW5Mb3dlckNhc2UpXG4gICAgICAgICkge1xuICAgICAgICAgIHRp
cChcbiAgICAgICAgICAgIFwiUHJvcCBcXFwiXCIgKyBrZXlJbkxvd2VyQ2FzZSArIFwiXFxcIiBp
cyBwYXNzZWQgdG8gY29tcG9uZW50IFwiICtcbiAgICAgICAgICAgIChmb3JtYXRDb21wb25lbnRO
YW1lKHRhZyB8fCBDdG9yKSkgKyBcIiwgYnV0IHRoZSBkZWNsYXJlZCBwcm9wIG5hbWUgaXNcIiAr
XG4gICAgICAgICAgICBcIiBcXFwiXCIgKyBrZXkgKyBcIlxcXCIuIFwiICtcbiAgICAgICAgICAg
IFwiTm90ZSB0aGF0IEhUTUwgYXR0cmlidXRlcyBhcmUgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgY2Ft
ZWxDYXNlZCBcIiArXG4gICAgICAgICAgICBcInByb3BzIG5lZWQgdG8gdXNlIHRoZWlyIGtlYmFi
LWNhc2UgZXF1aXZhbGVudHMgd2hlbiB1c2luZyBpbi1ET00gXCIgK1xuICAgICAgICAgICAgXCJ0
ZW1wbGF0ZXMuIFlvdSBzaG91bGQgcHJvYmFibHkgdXNlIFxcXCJcIiArIGFsdEtleSArIFwiXFxc
IiBpbnN0ZWFkIG9mIFxcXCJcIiArIGtleSArIFwiXFxcIi5cIlxuICAgICAgICAgICk7XG4gICAg
ICAgIH1cbiAgICAgIH1cbiAgICAgIGNoZWNrUHJvcChyZXMsIHByb3BzLCBrZXksIGFsdEtleSwg
dHJ1ZSkgfHxcbiAgICAgIGNoZWNrUHJvcChyZXMsIGF0dHJzLCBrZXksIGFsdEtleSwgZmFsc2Up
O1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbmZ1bmN0aW9uIGNoZWNrUHJvcCAoXG4g
IHJlcyxcbiAgaGFzaCxcbiAga2V5LFxuICBhbHRLZXksXG4gIHByZXNlcnZlXG4pIHtcbiAgaWYg
KGlzRGVmKGhhc2gpKSB7XG4gICAgaWYgKGhhc093bihoYXNoLCBrZXkpKSB7XG4gICAgICByZXNb
a2V5XSA9IGhhc2hba2V5XTtcbiAgICAgIGlmICghcHJlc2VydmUpIHtcbiAgICAgICAgZGVsZXRl
IGhhc2hba2V5XTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlXG4gICAgfSBlbHNlIGlmICho
YXNPd24oaGFzaCwgYWx0S2V5KSkge1xuICAgICAgcmVzW2tleV0gPSBoYXNoW2FsdEtleV07XG4g
ICAgICBpZiAoIXByZXNlcnZlKSB7XG4gICAgICAgIGRlbGV0ZSBoYXNoW2FsdEtleV07XG4gICAg
ICB9XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgfVxuICByZXR1cm4gZmFsc2Vcbn1cblxu
LyogICovXG5cbi8vIFRoZSB0ZW1wbGF0ZSBjb21waWxlciBhdHRlbXB0cyB0byBtaW5pbWl6ZSB0
aGUgbmVlZCBmb3Igbm9ybWFsaXphdGlvbiBieVxuLy8gc3RhdGljYWxseSBhbmFseXppbmcgdGhl
IHRlbXBsYXRlIGF0IGNvbXBpbGUgdGltZS5cbi8vXG4vLyBGb3IgcGxhaW4gSFRNTCBtYXJrdXAs
IG5vcm1hbGl6YXRpb24gY2FuIGJlIGNvbXBsZXRlbHkgc2tpcHBlZCBiZWNhdXNlIHRoZVxuLy8g
Z2VuZXJhdGVkIHJlbmRlciBmdW5jdGlvbiBpcyBndWFyYW50ZWVkIHRvIHJldHVybiBBcnJheTxW
Tm9kZT4uIFRoZXJlIGFyZVxuLy8gdHdvIGNhc2VzIHdoZXJlIGV4dHJhIG5vcm1hbGl6YXRpb24g
aXMgbmVlZGVkOlxuXG4vLyAxLiBXaGVuIHRoZSBjaGlsZHJlbiBjb250YWlucyBjb21wb25lbnRz
IC0gYmVjYXVzZSBhIGZ1bmN0aW9uYWwgY29tcG9uZW50XG4vLyBtYXkgcmV0dXJuIGFuIEFycmF5
IGluc3RlYWQgb2YgYSBzaW5nbGUgcm9vdC4gSW4gdGhpcyBjYXNlLCBqdXN0IGEgc2ltcGxlXG4v
LyBub3JtYWxpemF0aW9uIGlzIG5lZWRlZCAtIGlmIGFueSBjaGlsZCBpcyBhbiBBcnJheSwgd2Ug
ZmxhdHRlbiB0aGUgd2hvbGVcbi8vIHRoaW5nIHdpdGggQXJyYXkucHJvdG90eXBlLmNvbmNhdC4g
SXQgaXMgZ3VhcmFudGVlZCB0byBiZSBvbmx5IDEtbGV2ZWwgZGVlcFxuLy8gYmVjYXVzZSBmdW5j
dGlvbmFsIGNvbXBvbmVudHMgYWxyZWFkeSBub3JtYWxpemUgdGhlaXIgb3duIGNoaWxkcmVuLlxu
ZnVuY3Rpb24gc2ltcGxlTm9ybWFsaXplQ2hpbGRyZW4gKGNoaWxkcmVuKSB7XG4gIGZvciAodmFy
IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJh
eShjaGlsZHJlbltpXSkpIHtcbiAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0LmFw
cGx5KFtdLCBjaGlsZHJlbilcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGNoaWxkcmVuXG59XG5cbi8v
IDIuIFdoZW4gdGhlIGNoaWxkcmVuIGNvbnRhaW5zIGNvbnN0cnVjdHMgdGhhdCBhbHdheXMgZ2Vu
ZXJhdGVkIG5lc3RlZCBBcnJheXMsXG4vLyBlLmcuIDx0ZW1wbGF0ZT4sIDxzbG90Piwgdi1mb3Is
IG9yIHdoZW4gdGhlIGNoaWxkcmVuIGlzIHByb3ZpZGVkIGJ5IHVzZXJcbi8vIHdpdGggaGFuZC13
cml0dGVuIHJlbmRlciBmdW5jdGlvbnMgLyBKU1guIEluIHN1Y2ggY2FzZXMgYSBmdWxsIG5vcm1h
bGl6YXRpb25cbi8vIGlzIG5lZWRlZCB0byBjYXRlciB0byBhbGwgcG9zc2libGUgdHlwZXMgb2Yg
Y2hpbGRyZW4gdmFsdWVzLlxuZnVuY3Rpb24gbm9ybWFsaXplQ2hpbGRyZW4gKGNoaWxkcmVuKSB7
XG4gIHJldHVybiBpc1ByaW1pdGl2ZShjaGlsZHJlbilcbiAgICA/IFtjcmVhdGVUZXh0Vk5vZGUo
Y2hpbGRyZW4pXVxuICAgIDogQXJyYXkuaXNBcnJheShjaGlsZHJlbilcbiAgICAgID8gbm9ybWFs
aXplQXJyYXlDaGlsZHJlbihjaGlsZHJlbilcbiAgICAgIDogdW5kZWZpbmVkXG59XG5cbmZ1bmN0
aW9uIGlzVGV4dE5vZGUgKG5vZGUpIHtcbiAgcmV0dXJuIGlzRGVmKG5vZGUpICYmIGlzRGVmKG5v
ZGUudGV4dCkgJiYgaXNGYWxzZShub2RlLmlzQ29tbWVudClcbn1cblxuZnVuY3Rpb24gbm9ybWFs
aXplQXJyYXlDaGlsZHJlbiAoY2hpbGRyZW4sIG5lc3RlZEluZGV4KSB7XG4gIHZhciByZXMgPSBb
XTtcbiAgdmFyIGksIGMsIGxhc3Q7XG4gIGZvciAoaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7
IGkrKykge1xuICAgIGMgPSBjaGlsZHJlbltpXTtcbiAgICBpZiAoaXNVbmRlZihjKSB8fCB0eXBl
b2YgYyA9PT0gJ2Jvb2xlYW4nKSB7IGNvbnRpbnVlIH1cbiAgICBsYXN0ID0gcmVzW3Jlcy5sZW5n
dGggLSAxXTtcbiAgICAvLyAgbmVzdGVkXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoYykpIHtcbiAg
ICAgIHJlcy5wdXNoLmFwcGx5KHJlcywgbm9ybWFsaXplQXJyYXlDaGlsZHJlbihjLCAoKG5lc3Rl
ZEluZGV4IHx8ICcnKSArIFwiX1wiICsgaSkpKTtcbiAgICB9IGVsc2UgaWYgKGlzUHJpbWl0aXZl
KGMpKSB7XG4gICAgICBpZiAoaXNUZXh0Tm9kZShsYXN0KSkge1xuICAgICAgICAvLyBtZXJnZSBh
ZGphY2VudCB0ZXh0IG5vZGVzXG4gICAgICAgIC8vIHRoaXMgaXMgbmVjZXNzYXJ5IGZvciBTU1Ig
aHlkcmF0aW9uIGJlY2F1c2UgdGV4dCBub2RlcyBhcmVcbiAgICAgICAgLy8gZXNzZW50aWFsbHkg
bWVyZ2VkIHdoZW4gcmVuZGVyZWQgdG8gSFRNTCBzdHJpbmdzXG4gICAgICAgIChsYXN0KS50ZXh0
ICs9IFN0cmluZyhjKTtcbiAgICAgIH0gZWxzZSBpZiAoYyAhPT0gJycpIHtcbiAgICAgICAgLy8g
Y29udmVydCBwcmltaXRpdmUgdG8gdm5vZGVcbiAgICAgICAgcmVzLnB1c2goY3JlYXRlVGV4dFZO
b2RlKGMpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGlzVGV4dE5vZGUoYykg
JiYgaXNUZXh0Tm9kZShsYXN0KSkge1xuICAgICAgICAvLyBtZXJnZSBhZGphY2VudCB0ZXh0IG5v
ZGVzXG4gICAgICAgIHJlc1tyZXMubGVuZ3RoIC0gMV0gPSBjcmVhdGVUZXh0Vk5vZGUobGFzdC50
ZXh0ICsgYy50ZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGRlZmF1bHQga2V5IGZv
ciBuZXN0ZWQgYXJyYXkgY2hpbGRyZW4gKGxpa2VseSBnZW5lcmF0ZWQgYnkgdi1mb3IpXG4gICAg
ICAgIGlmIChpc1RydWUoY2hpbGRyZW4uX2lzVkxpc3QpICYmXG4gICAgICAgICAgaXNEZWYoYy50
YWcpICYmXG4gICAgICAgICAgaXNVbmRlZihjLmtleSkgJiZcbiAgICAgICAgICBpc0RlZihuZXN0
ZWRJbmRleCkpIHtcbiAgICAgICAgICBjLmtleSA9IFwiX192bGlzdFwiICsgbmVzdGVkSW5kZXgg
KyBcIl9cIiArIGkgKyBcIl9fXCI7XG4gICAgICAgIH1cbiAgICAgICAgcmVzLnB1c2goYyk7XG4g
ICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNcbn1cblxuLyogICovXG5cbmZ1bmN0aW9u
IGVuc3VyZUN0b3IgKGNvbXAsIGJhc2UpIHtcbiAgaWYgKGNvbXAuX19lc01vZHVsZSAmJiBjb21w
LmRlZmF1bHQpIHtcbiAgICBjb21wID0gY29tcC5kZWZhdWx0O1xuICB9XG4gIHJldHVybiBpc09i
amVjdChjb21wKVxuICAgID8gYmFzZS5leHRlbmQoY29tcClcbiAgICA6IGNvbXBcbn1cblxuZnVu
Y3Rpb24gY3JlYXRlQXN5bmNQbGFjZWhvbGRlciAoXG4gIGZhY3RvcnksXG4gIGRhdGEsXG4gIGNv
bnRleHQsXG4gIGNoaWxkcmVuLFxuICB0YWdcbikge1xuICB2YXIgbm9kZSA9IGNyZWF0ZUVtcHR5
Vk5vZGUoKTtcbiAgbm9kZS5hc3luY0ZhY3RvcnkgPSBmYWN0b3J5O1xuICBub2RlLmFzeW5jTWV0
YSA9IHsgZGF0YTogZGF0YSwgY29udGV4dDogY29udGV4dCwgY2hpbGRyZW46IGNoaWxkcmVuLCB0
YWc6IHRhZyB9O1xuICByZXR1cm4gbm9kZVxufVxuXG5mdW5jdGlvbiByZXNvbHZlQXN5bmNDb21w
b25lbnQgKFxuICBmYWN0b3J5LFxuICBiYXNlQ3RvcixcbiAgY29udGV4dFxuKSB7XG4gIGlmIChp
c1RydWUoZmFjdG9yeS5lcnJvcikgJiYgaXNEZWYoZmFjdG9yeS5lcnJvckNvbXApKSB7XG4gICAg
cmV0dXJuIGZhY3RvcnkuZXJyb3JDb21wXG4gIH1cblxuICBpZiAoaXNEZWYoZmFjdG9yeS5yZXNv
bHZlZCkpIHtcbiAgICByZXR1cm4gZmFjdG9yeS5yZXNvbHZlZFxuICB9XG5cbiAgaWYgKGlzVHJ1
ZShmYWN0b3J5LmxvYWRpbmcpICYmIGlzRGVmKGZhY3RvcnkubG9hZGluZ0NvbXApKSB7XG4gICAg
cmV0dXJuIGZhY3RvcnkubG9hZGluZ0NvbXBcbiAgfVxuXG4gIGlmIChpc0RlZihmYWN0b3J5LmNv
bnRleHRzKSkge1xuICAgIC8vIGFscmVhZHkgcGVuZGluZ1xuICAgIGZhY3RvcnkuY29udGV4dHMu
cHVzaChjb250ZXh0KTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgY29udGV4dHMgPSBmYWN0b3J5LmNv
bnRleHRzID0gW2NvbnRleHRdO1xuICAgIHZhciBzeW5jID0gdHJ1ZTtcblxuICAgIHZhciBmb3Jj
ZVJlbmRlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gY29udGV4
dHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIGNvbnRleHRzW2ldLiRmb3JjZVVwZGF0
ZSgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB2YXIgcmVzb2x2ZSA9IG9uY2UoZnVuY3Rpb24g
KHJlcykge1xuICAgICAgLy8gY2FjaGUgcmVzb2x2ZWRcbiAgICAgIGZhY3RvcnkucmVzb2x2ZWQg
PSBlbnN1cmVDdG9yKHJlcywgYmFzZUN0b3IpO1xuICAgICAgLy8gaW52b2tlIGNhbGxiYWNrcyBv
bmx5IGlmIHRoaXMgaXMgbm90IGEgc3luY2hyb25vdXMgcmVzb2x2ZVxuICAgICAgLy8gKGFzeW5j
IHJlc29sdmVzIGFyZSBzaGltbWVkIGFzIHN5bmNocm9ub3VzIGR1cmluZyBTU1IpXG4gICAgICBp
ZiAoIXN5bmMpIHtcbiAgICAgICAgZm9yY2VSZW5kZXIoKTtcbiAgICAgIH1cbiAgICB9KTtcblxu
ICAgIHZhciByZWplY3QgPSBvbmNlKGZ1bmN0aW9uIChyZWFzb24pIHtcbiAgICAgIFwicHJvZHVj
dGlvblwiICE9PSAncHJvZHVjdGlvbicgJiYgd2FybihcbiAgICAgICAgXCJGYWlsZWQgdG8gcmVz
b2x2ZSBhc3luYyBjb21wb25lbnQ6IFwiICsgKFN0cmluZyhmYWN0b3J5KSkgK1xuICAgICAgICAo
cmVhc29uID8gKFwiXFxuUmVhc29uOiBcIiArIHJlYXNvbikgOiAnJylcbiAgICAgICk7XG4gICAg
ICBpZiAoaXNEZWYoZmFjdG9yeS5lcnJvckNvbXApKSB7XG4gICAgICAgIGZhY3RvcnkuZXJyb3Ig
PSB0cnVlO1xuICAgICAgICBmb3JjZVJlbmRlcigpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAg
dmFyIHJlcyA9IGZhY3RvcnkocmVzb2x2ZSwgcmVqZWN0KTtcblxuICAgIGlmIChpc09iamVjdChy
ZXMpKSB7XG4gICAgICBpZiAodHlwZW9mIHJlcy50aGVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAg
ICAgIC8vICgpID0+IFByb21pc2VcbiAgICAgICAgaWYgKGlzVW5kZWYoZmFjdG9yeS5yZXNvbHZl
ZCkpIHtcbiAgICAgICAgICByZXMudGhlbihyZXNvbHZlLCByZWplY3QpO1xuICAgICAgICB9XG4g
ICAgICB9IGVsc2UgaWYgKGlzRGVmKHJlcy5jb21wb25lbnQpICYmIHR5cGVvZiByZXMuY29tcG9u
ZW50LnRoZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmVzLmNvbXBvbmVudC50aGVuKHJl
c29sdmUsIHJlamVjdCk7XG5cbiAgICAgICAgaWYgKGlzRGVmKHJlcy5lcnJvcikpIHtcbiAgICAg
ICAgICBmYWN0b3J5LmVycm9yQ29tcCA9IGVuc3VyZUN0b3IocmVzLmVycm9yLCBiYXNlQ3Rvcik7
XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNEZWYocmVzLmxvYWRpbmcpKSB7XG4gICAgICAg
ICAgZmFjdG9yeS5sb2FkaW5nQ29tcCA9IGVuc3VyZUN0b3IocmVzLmxvYWRpbmcsIGJhc2VDdG9y
KTtcbiAgICAgICAgICBpZiAocmVzLmRlbGF5ID09PSAwKSB7XG4gICAgICAgICAgICBmYWN0b3J5
LmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZXRUaW1l
b3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgaWYgKGlzVW5kZWYoZmFjdG9yeS5yZXNv
bHZlZCkgJiYgaXNVbmRlZihmYWN0b3J5LmVycm9yKSkge1xuICAgICAgICAgICAgICAgIGZhY3Rv
cnkubG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgZm9yY2VSZW5kZXIoKTtcbiAgICAg
ICAgICAgICAgfVxuICAgICAgICAgICAgfSwgcmVzLmRlbGF5IHx8IDIwMCk7XG4gICAgICAgICAg
fVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzRGVmKHJlcy50aW1lb3V0KSkge1xuICAgICAg
ICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKGlzVW5kZWYoZmFj
dG9yeS5yZXNvbHZlZCkpIHtcbiAgICAgICAgICAgICAgcmVqZWN0KFxuICAgICAgICAgICAgICAg
ICBmYWxzZVxuICAgICAgICAgICAgICAgICAgPyAoXCJ0aW1lb3V0IChcIiArIChyZXMudGltZW91
dCkgKyBcIm1zKVwiKVxuICAgICAgICAgICAgICAgICAgOiBudWxsXG4gICAgICAgICAgICAgICk7
XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSwgcmVzLnRpbWVvdXQpO1xuICAgICAgICB9XG4g
ICAgICB9XG4gICAgfVxuXG4gICAgc3luYyA9IGZhbHNlO1xuICAgIC8vIHJldHVybiBpbiBjYXNl
IHJlc29sdmVkIHN5bmNocm9ub3VzbHlcbiAgICByZXR1cm4gZmFjdG9yeS5sb2FkaW5nXG4gICAg
ICA/IGZhY3RvcnkubG9hZGluZ0NvbXBcbiAgICAgIDogZmFjdG9yeS5yZXNvbHZlZFxuICB9XG59
XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBnZXRGaXJzdENvbXBvbmVudENoaWxkIChjaGlsZHJlbikg
e1xuICBpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICBmb3IgKHZhciBpID0gMDsg
aSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgYyA9IGNoaWxkcmVuW2ldO1xu
ICAgICAgaWYgKGlzRGVmKGMpICYmIGlzRGVmKGMuY29tcG9uZW50T3B0aW9ucykpIHtcbiAgICAg
ICAgcmV0dXJuIGNcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogICovXG5cbi8qICAqL1xu
XG5mdW5jdGlvbiBpbml0RXZlbnRzICh2bSkge1xuICB2bS5fZXZlbnRzID0gT2JqZWN0LmNyZWF0
ZShudWxsKTtcbiAgdm0uX2hhc0hvb2tFdmVudCA9IGZhbHNlO1xuICAvLyBpbml0IHBhcmVudCBh
dHRhY2hlZCBldmVudHNcbiAgdmFyIGxpc3RlbmVycyA9IHZtLiRvcHRpb25zLl9wYXJlbnRMaXN0
ZW5lcnM7XG4gIGlmIChsaXN0ZW5lcnMpIHtcbiAgICB1cGRhdGVDb21wb25lbnRMaXN0ZW5lcnMo
dm0sIGxpc3RlbmVycyk7XG4gIH1cbn1cblxudmFyIHRhcmdldDtcblxuZnVuY3Rpb24gYWRkIChl
dmVudCwgZm4sIG9uY2UkJDEpIHtcbiAgaWYgKG9uY2UkJDEpIHtcbiAgICB0YXJnZXQuJG9uY2Uo
ZXZlbnQsIGZuKTtcbiAgfSBlbHNlIHtcbiAgICB0YXJnZXQuJG9uKGV2ZW50LCBmbik7XG4gIH1c
bn1cblxuZnVuY3Rpb24gcmVtb3ZlJDEgKGV2ZW50LCBmbikge1xuICB0YXJnZXQuJG9mZihldmVu
dCwgZm4pO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVDb21wb25lbnRMaXN0ZW5lcnMgKFxuICB2bSxc
biAgbGlzdGVuZXJzLFxuICBvbGRMaXN0ZW5lcnNcbikge1xuICB0YXJnZXQgPSB2bTtcbiAgdXBk
YXRlTGlzdGVuZXJzKGxpc3RlbmVycywgb2xkTGlzdGVuZXJzIHx8IHt9LCBhZGQsIHJlbW92ZSQx
LCB2bSk7XG59XG5cbmZ1bmN0aW9uIGV2ZW50c01peGluIChWdWUpIHtcbiAgdmFyIGhvb2tSRSA9
IC9eaG9vazovO1xuICBWdWUucHJvdG90eXBlLiRvbiA9IGZ1bmN0aW9uIChldmVudCwgZm4pIHtc
biAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIHZhciB2bSA9IHRoaXM7XG4gICAgaWYgKEFy
cmF5LmlzQXJyYXkoZXZlbnQpKSB7XG4gICAgICBmb3IgKHZhciBpID0gMCwgbCA9IGV2ZW50Lmxl
bmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICB0aGlzJDEuJG9uKGV2ZW50W2ldLCBmbik7XG4g
ICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICh2bS5fZXZlbnRzW2V2ZW50XSB8fCAodm0uX2V2
ZW50c1tldmVudF0gPSBbXSkpLnB1c2goZm4pO1xuICAgICAgLy8gb3B0aW1pemUgaG9vazpldmVu
dCBjb3N0IGJ5IHVzaW5nIGEgYm9vbGVhbiBmbGFnIG1hcmtlZCBhdCByZWdpc3RyYXRpb25cbiAg
ICAgIC8vIGluc3RlYWQgb2YgYSBoYXNoIGxvb2t1cFxuICAgICAgaWYgKGhvb2tSRS50ZXN0KGV2
ZW50KSkge1xuICAgICAgICB2bS5faGFzSG9va0V2ZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9
XG4gICAgcmV0dXJuIHZtXG4gIH07XG5cbiAgVnVlLnByb3RvdHlwZS4kb25jZSA9IGZ1bmN0aW9u
IChldmVudCwgZm4pIHtcbiAgICB2YXIgdm0gPSB0aGlzO1xuICAgIGZ1bmN0aW9uIG9uICgpIHtc
biAgICAgIHZtLiRvZmYoZXZlbnQsIG9uKTtcbiAgICAgIGZuLmFwcGx5KHZtLCBhcmd1bWVudHMp
O1xuICAgIH1cbiAgICBvbi5mbiA9IGZuO1xuICAgIHZtLiRvbihldmVudCwgb24pO1xuICAgIHJl
dHVybiB2bVxuICB9O1xuXG4gIFZ1ZS5wcm90b3R5cGUuJG9mZiA9IGZ1bmN0aW9uIChldmVudCwg
Zm4pIHtcbiAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIHZhciB2bSA9IHRoaXM7XG4gICAg
Ly8gYWxsXG4gICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSB7XG4gICAgICB2bS5fZXZlbnRzID0g
T2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgIHJldHVybiB2bVxuICAgIH1cbiAgICAvLyBhcnJh
eSBvZiBldmVudHNcbiAgICBpZiAoQXJyYXkuaXNBcnJheShldmVudCkpIHtcbiAgICAgIGZvciAo
dmFyIGkkMSA9IDAsIGwgPSBldmVudC5sZW5ndGg7IGkkMSA8IGw7IGkkMSsrKSB7XG4gICAgICAg
IHRoaXMkMS4kb2ZmKGV2ZW50W2kkMV0sIGZuKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2bVxu
ICAgIH1cbiAgICAvLyBzcGVjaWZpYyBldmVudFxuICAgIHZhciBjYnMgPSB2bS5fZXZlbnRzW2V2
ZW50XTtcbiAgICBpZiAoIWNicykge1xuICAgICAgcmV0dXJuIHZtXG4gICAgfVxuICAgIGlmIChh
cmd1bWVudHMubGVuZ3RoID09PSAxKSB7XG4gICAgICB2bS5fZXZlbnRzW2V2ZW50XSA9IG51bGw7
XG4gICAgICByZXR1cm4gdm1cbiAgICB9XG4gICAgLy8gc3BlY2lmaWMgaGFuZGxlclxuICAgIHZh
ciBjYjtcbiAgICB2YXIgaSA9IGNicy5sZW5ndGg7XG4gICAgd2hpbGUgKGktLSkge1xuICAgICAg
Y2IgPSBjYnNbaV07XG4gICAgICBpZiAoY2IgPT09IGZuIHx8IGNiLmZuID09PSBmbikge1xuICAg
ICAgICBjYnMuc3BsaWNlKGksIDEpO1xuICAgICAgICBicmVha1xuICAgICAgfVxuICAgIH1cbiAg
ICByZXR1cm4gdm1cbiAgfTtcblxuICBWdWUucHJvdG90eXBlLiRlbWl0ID0gZnVuY3Rpb24gKGV2
ZW50KSB7XG4gICAgdmFyIHZtID0gdGhpcztcbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIHZhciBs
b3dlckNhc2VFdmVudCA9IGV2ZW50LnRvTG93ZXJDYXNlKCk7XG4gICAgICBpZiAobG93ZXJDYXNl
RXZlbnQgIT09IGV2ZW50ICYmIHZtLl9ldmVudHNbbG93ZXJDYXNlRXZlbnRdKSB7XG4gICAgICAg
IHRpcChcbiAgICAgICAgICBcIkV2ZW50IFxcXCJcIiArIGxvd2VyQ2FzZUV2ZW50ICsgXCJcXFwi
IGlzIGVtaXR0ZWQgaW4gY29tcG9uZW50IFwiICtcbiAgICAgICAgICAoZm9ybWF0Q29tcG9uZW50
TmFtZSh2bSkpICsgXCIgYnV0IHRoZSBoYW5kbGVyIGlzIHJlZ2lzdGVyZWQgZm9yIFxcXCJcIiAr
IGV2ZW50ICsgXCJcXFwiLiBcIiArXG4gICAgICAgICAgXCJOb3RlIHRoYXQgSFRNTCBhdHRyaWJ1
dGVzIGFyZSBjYXNlLWluc2Vuc2l0aXZlIGFuZCB5b3UgY2Fubm90IHVzZSBcIiArXG4gICAgICAg
ICAgXCJ2LW9uIHRvIGxpc3RlbiB0byBjYW1lbENhc2UgZXZlbnRzIHdoZW4gdXNpbmcgaW4tRE9N
IHRlbXBsYXRlcy4gXCIgK1xuICAgICAgICAgIFwiWW91IHNob3VsZCBwcm9iYWJseSB1c2UgXFxc
IlwiICsgKGh5cGhlbmF0ZShldmVudCkpICsgXCJcXFwiIGluc3RlYWQgb2YgXFxcIlwiICsgZXZl
bnQgKyBcIlxcXCIuXCJcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdmFyIGNicyA9
IHZtLl9ldmVudHNbZXZlbnRdO1xuICAgIGlmIChjYnMpIHtcbiAgICAgIGNicyA9IGNicy5sZW5n
dGggPiAxID8gdG9BcnJheShjYnMpIDogY2JzO1xuICAgICAgdmFyIGFyZ3MgPSB0b0FycmF5KGFy
Z3VtZW50cywgMSk7XG4gICAgICBmb3IgKHZhciBpID0gMCwgbCA9IGNicy5sZW5ndGg7IGkgPCBs
OyBpKyspIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjYnNbaV0uYXBwbHkodm0sIGFyZ3Mp
O1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgaGFuZGxlRXJyb3IoZSwgdm0sIChc
ImV2ZW50IGhhbmRsZXIgZm9yIFxcXCJcIiArIGV2ZW50ICsgXCJcXFwiXCIpKTtcbiAgICAgICAg
fVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdm1cbiAgfTtcbn1cblxuLyogICovXG5cbi8q
KlxuICogUnVudGltZSBoZWxwZXIgZm9yIHJlc29sdmluZyByYXcgY2hpbGRyZW4gVk5vZGVzIGlu
dG8gYSBzbG90IG9iamVjdC5cbiAqL1xuZnVuY3Rpb24gcmVzb2x2ZVNsb3RzIChcbiAgY2hpbGRy
ZW4sXG4gIGNvbnRleHRcbikge1xuICB2YXIgc2xvdHMgPSB7fTtcbiAgaWYgKCFjaGlsZHJlbikg
e1xuICAgIHJldHVybiBzbG90c1xuICB9XG4gIHZhciBkZWZhdWx0U2xvdCA9IFtdO1xuICBmb3Ig
KHZhciBpID0gMCwgbCA9IGNoaWxkcmVuLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIHZhciBj
aGlsZCA9IGNoaWxkcmVuW2ldO1xuICAgIC8vIG5hbWVkIHNsb3RzIHNob3VsZCBvbmx5IGJlIHJl
c3BlY3RlZCBpZiB0aGUgdm5vZGUgd2FzIHJlbmRlcmVkIGluIHRoZVxuICAgIC8vIHNhbWUgY29u
dGV4dC5cbiAgICBpZiAoKGNoaWxkLmNvbnRleHQgPT09IGNvbnRleHQgfHwgY2hpbGQuZnVuY3Rp
b25hbENvbnRleHQgPT09IGNvbnRleHQpICYmXG4gICAgICBjaGlsZC5kYXRhICYmIGNoaWxkLmRh
dGEuc2xvdCAhPSBudWxsXG4gICAgKSB7XG4gICAgICB2YXIgbmFtZSA9IGNoaWxkLmRhdGEuc2xv
dDtcbiAgICAgIHZhciBzbG90ID0gKHNsb3RzW25hbWVdIHx8IChzbG90c1tuYW1lXSA9IFtdKSk7
XG4gICAgICBpZiAoY2hpbGQudGFnID09PSAndGVtcGxhdGUnKSB7XG4gICAgICAgIHNsb3QucHVz
aC5hcHBseShzbG90LCBjaGlsZC5jaGlsZHJlbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBz
bG90LnB1c2goY2hpbGQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBkZWZhdWx0U2xv
dC5wdXNoKGNoaWxkKTtcbiAgICB9XG4gIH1cbiAgLy8gaWdub3JlIHdoaXRlc3BhY2VcbiAgaWYg
KCFkZWZhdWx0U2xvdC5ldmVyeShpc1doaXRlc3BhY2UpKSB7XG4gICAgc2xvdHMuZGVmYXVsdCA9
IGRlZmF1bHRTbG90O1xuICB9XG4gIHJldHVybiBzbG90c1xufVxuXG5mdW5jdGlvbiBpc1doaXRl
c3BhY2UgKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUuaXNDb21tZW50IHx8IG5vZGUudGV4dCA9PT0g
JyAnXG59XG5cbmZ1bmN0aW9uIHJlc29sdmVTY29wZWRTbG90cyAoXG4gIGZucywgLy8gc2VlIGZs
b3cvdm5vZGVcbiAgcmVzXG4pIHtcbiAgcmVzID0gcmVzIHx8IHt9O1xuICBmb3IgKHZhciBpID0g
MDsgaSA8IGZucy5sZW5ndGg7IGkrKykge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGZuc1tpXSkp
IHtcbiAgICAgIHJlc29sdmVTY29wZWRTbG90cyhmbnNbaV0sIHJlcyk7XG4gICAgfSBlbHNlIHtc
biAgICAgIHJlc1tmbnNbaV0ua2V5XSA9IGZuc1tpXS5mbjtcbiAgICB9XG4gIH1cbiAgcmV0dXJu
IHJlc1xufVxuXG4vKiAgKi9cblxudmFyIGFjdGl2ZUluc3RhbmNlID0gbnVsbDtcbnZhciBpc1Vw
ZGF0aW5nQ2hpbGRDb21wb25lbnQgPSBmYWxzZTtcblxuZnVuY3Rpb24gaW5pdExpZmVjeWNsZSAo
dm0pIHtcbiAgdmFyIG9wdGlvbnMgPSB2bS4kb3B0aW9ucztcblxuICAvLyBsb2NhdGUgZmlyc3Qg
bm9uLWFic3RyYWN0IHBhcmVudFxuICB2YXIgcGFyZW50ID0gb3B0aW9ucy5wYXJlbnQ7XG4gIGlm
IChwYXJlbnQgJiYgIW9wdGlvbnMuYWJzdHJhY3QpIHtcbiAgICB3aGlsZSAocGFyZW50LiRvcHRp
b25zLmFic3RyYWN0ICYmIHBhcmVudC4kcGFyZW50KSB7XG4gICAgICBwYXJlbnQgPSBwYXJlbnQu
JHBhcmVudDtcbiAgICB9XG4gICAgcGFyZW50LiRjaGlsZHJlbi5wdXNoKHZtKTtcbiAgfVxuXG4g
IHZtLiRwYXJlbnQgPSBwYXJlbnQ7XG4gIHZtLiRyb290ID0gcGFyZW50ID8gcGFyZW50LiRyb290
IDogdm07XG5cbiAgdm0uJGNoaWxkcmVuID0gW107XG4gIHZtLiRyZWZzID0ge307XG5cbiAgdm0u
X3dhdGNoZXIgPSBudWxsO1xuICB2bS5faW5hY3RpdmUgPSBudWxsO1xuICB2bS5fZGlyZWN0SW5h
Y3RpdmUgPSBmYWxzZTtcbiAgdm0uX2lzTW91bnRlZCA9IGZhbHNlO1xuICB2bS5faXNEZXN0cm95
ZWQgPSBmYWxzZTtcbiAgdm0uX2lzQmVpbmdEZXN0cm95ZWQgPSBmYWxzZTtcbn1cblxuZnVuY3Rp
b24gbGlmZWN5Y2xlTWl4aW4gKFZ1ZSkge1xuICBWdWUucHJvdG90eXBlLl91cGRhdGUgPSBmdW5j
dGlvbiAodm5vZGUsIGh5ZHJhdGluZykge1xuICAgIHZhciB2bSA9IHRoaXM7XG4gICAgaWYgKHZt
Ll9pc01vdW50ZWQpIHtcbiAgICAgIGNhbGxIb29rKHZtLCAnYmVmb3JlVXBkYXRlJyk7XG4gICAg
fVxuICAgIHZhciBwcmV2RWwgPSB2bS4kZWw7XG4gICAgdmFyIHByZXZWbm9kZSA9IHZtLl92bm9k
ZTtcbiAgICB2YXIgcHJldkFjdGl2ZUluc3RhbmNlID0gYWN0aXZlSW5zdGFuY2U7XG4gICAgYWN0
aXZlSW5zdGFuY2UgPSB2bTtcbiAgICB2bS5fdm5vZGUgPSB2bm9kZTtcbiAgICAvLyBWdWUucHJv
dG90eXBlLl9fcGF0Y2hfXyBpcyBpbmplY3RlZCBpbiBlbnRyeSBwb2ludHNcbiAgICAvLyBiYXNl
ZCBvbiB0aGUgcmVuZGVyaW5nIGJhY2tlbmQgdXNlZC5cbiAgICBpZiAoIXByZXZWbm9kZSkge1xu
ICAgICAgLy8gaW5pdGlhbCByZW5kZXJcbiAgICAgIHZtLiRlbCA9IHZtLl9fcGF0Y2hfXyhcbiAg
ICAgICAgdm0uJGVsLCB2bm9kZSwgaHlkcmF0aW5nLCBmYWxzZSAvKiByZW1vdmVPbmx5ICovLFxu
ICAgICAgICB2bS4kb3B0aW9ucy5fcGFyZW50RWxtLFxuICAgICAgICB2bS4kb3B0aW9ucy5fcmVm
RWxtXG4gICAgICApO1xuICAgICAgLy8gbm8gbmVlZCBmb3IgdGhlIHJlZiBub2RlcyBhZnRlciBp
bml0aWFsIHBhdGNoXG4gICAgICAvLyB0aGlzIHByZXZlbnRzIGtlZXBpbmcgYSBkZXRhY2hlZCBE
T00gdHJlZSBpbiBtZW1vcnkgKCM1ODUxKVxuICAgICAgdm0uJG9wdGlvbnMuX3BhcmVudEVsbSA9
IHZtLiRvcHRpb25zLl9yZWZFbG0gPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB1cGRh
dGVzXG4gICAgICB2bS4kZWwgPSB2bS5fX3BhdGNoX18ocHJldlZub2RlLCB2bm9kZSk7XG4gICAg
fVxuICAgIGFjdGl2ZUluc3RhbmNlID0gcHJldkFjdGl2ZUluc3RhbmNlO1xuICAgIC8vIHVwZGF0
ZSBfX3Z1ZV9fIHJlZmVyZW5jZVxuICAgIGlmIChwcmV2RWwpIHtcbiAgICAgIHByZXZFbC5fX3Z1
ZV9fID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKHZtLiRlbCkge1xuICAgICAgdm0uJGVsLl9fdnVl
X18gPSB2bTtcbiAgICB9XG4gICAgLy8gaWYgcGFyZW50IGlzIGFuIEhPQywgdXBkYXRlIGl0cyAk
ZWwgYXMgd2VsbFxuICAgIGlmICh2bS4kdm5vZGUgJiYgdm0uJHBhcmVudCAmJiB2bS4kdm5vZGUg
PT09IHZtLiRwYXJlbnQuX3Zub2RlKSB7XG4gICAgICB2bS4kcGFyZW50LiRlbCA9IHZtLiRlbDtc
biAgICB9XG4gICAgLy8gdXBkYXRlZCBob29rIGlzIGNhbGxlZCBieSB0aGUgc2NoZWR1bGVyIHRv
IGVuc3VyZSB0aGF0IGNoaWxkcmVuIGFyZVxuICAgIC8vIHVwZGF0ZWQgaW4gYSBwYXJlbnQncyB1
cGRhdGVkIGhvb2suXG4gIH07XG5cbiAgVnVlLnByb3RvdHlwZS4kZm9yY2VVcGRhdGUgPSBmdW5j
dGlvbiAoKSB7XG4gICAgdmFyIHZtID0gdGhpcztcbiAgICBpZiAodm0uX3dhdGNoZXIpIHtcbiAg
ICAgIHZtLl93YXRjaGVyLnVwZGF0ZSgpO1xuICAgIH1cbiAgfTtcblxuICBWdWUucHJvdG90eXBl
LiRkZXN0cm95ID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciB2bSA9IHRoaXM7XG4gICAgaWYgKHZt
Ll9pc0JlaW5nRGVzdHJveWVkKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY2FsbEhvb2so
dm0sICdiZWZvcmVEZXN0cm95Jyk7XG4gICAgdm0uX2lzQmVpbmdEZXN0cm95ZWQgPSB0cnVlO1xu
ICAgIC8vIHJlbW92ZSBzZWxmIGZyb20gcGFyZW50XG4gICAgdmFyIHBhcmVudCA9IHZtLiRwYXJl
bnQ7XG4gICAgaWYgKHBhcmVudCAmJiAhcGFyZW50Ll9pc0JlaW5nRGVzdHJveWVkICYmICF2bS4k
b3B0aW9ucy5hYnN0cmFjdCkge1xuICAgICAgcmVtb3ZlKHBhcmVudC4kY2hpbGRyZW4sIHZtKTtc
biAgICB9XG4gICAgLy8gdGVhcmRvd24gd2F0Y2hlcnNcbiAgICBpZiAodm0uX3dhdGNoZXIpIHtc
biAgICAgIHZtLl93YXRjaGVyLnRlYXJkb3duKCk7XG4gICAgfVxuICAgIHZhciBpID0gdm0uX3dh
dGNoZXJzLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0tKSB7XG4gICAgICB2bS5fd2F0Y2hlcnNbaV0u
dGVhcmRvd24oKTtcbiAgICB9XG4gICAgLy8gcmVtb3ZlIHJlZmVyZW5jZSBmcm9tIGRhdGEgb2Jc
biAgICAvLyBmcm96ZW4gb2JqZWN0IG1heSBub3QgaGF2ZSBvYnNlcnZlci5cbiAgICBpZiAodm0u
X2RhdGEuX19vYl9fKSB7XG4gICAgICB2bS5fZGF0YS5fX29iX18udm1Db3VudC0tO1xuICAgIH1c
biAgICAvLyBjYWxsIHRoZSBsYXN0IGhvb2suLi5cbiAgICB2bS5faXNEZXN0cm95ZWQgPSB0cnVl
O1xuICAgIC8vIGludm9rZSBkZXN0cm95IGhvb2tzIG9uIGN1cnJlbnQgcmVuZGVyZWQgdHJlZVxu
ICAgIHZtLl9fcGF0Y2hfXyh2bS5fdm5vZGUsIG51bGwpO1xuICAgIC8vIGZpcmUgZGVzdHJveWVk
IGhvb2tcbiAgICBjYWxsSG9vayh2bSwgJ2Rlc3Ryb3llZCcpO1xuICAgIC8vIHR1cm4gb2ZmIGFs
bCBpbnN0YW5jZSBsaXN0ZW5lcnMuXG4gICAgdm0uJG9mZigpO1xuICAgIC8vIHJlbW92ZSBfX3Z1
ZV9fIHJlZmVyZW5jZVxuICAgIGlmICh2bS4kZWwpIHtcbiAgICAgIHZtLiRlbC5fX3Z1ZV9fID0g
bnVsbDtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIG1vdW50Q29tcG9uZW50IChcbiAgdm0s
XG4gIGVsLFxuICBoeWRyYXRpbmdcbikge1xuICB2bS4kZWwgPSBlbDtcbiAgaWYgKCF2bS4kb3B0
aW9ucy5yZW5kZXIpIHtcbiAgICB2bS4kb3B0aW9ucy5yZW5kZXIgPSBjcmVhdGVFbXB0eVZOb2Rl
O1xuICAgIGlmIChmYWxzZSkge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAg
ICBpZiAoKHZtLiRvcHRpb25zLnRlbXBsYXRlICYmIHZtLiRvcHRpb25zLnRlbXBsYXRlLmNoYXJB
dCgwKSAhPT0gJyMnKSB8fFxuICAgICAgICB2bS4kb3B0aW9ucy5lbCB8fCBlbCkge1xuICAgICAg
ICB3YXJuKFxuICAgICAgICAgICdZb3UgYXJlIHVzaW5nIHRoZSBydW50aW1lLW9ubHkgYnVpbGQg
b2YgVnVlIHdoZXJlIHRoZSB0ZW1wbGF0ZSAnICtcbiAgICAgICAgICAnY29tcGlsZXIgaXMgbm90
IGF2YWlsYWJsZS4gRWl0aGVyIHByZS1jb21waWxlIHRoZSB0ZW1wbGF0ZXMgaW50byAnICtcbiAg
ICAgICAgICAncmVuZGVyIGZ1bmN0aW9ucywgb3IgdXNlIHRoZSBjb21waWxlci1pbmNsdWRlZCBi
dWlsZC4nLFxuICAgICAgICAgIHZtXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAg
ICB3YXJuKFxuICAgICAgICAgICdGYWlsZWQgdG8gbW91bnQgY29tcG9uZW50OiB0ZW1wbGF0ZSBv
ciByZW5kZXIgZnVuY3Rpb24gbm90IGRlZmluZWQuJyxcbiAgICAgICAgICB2bVxuICAgICAgICAp
O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBjYWxsSG9vayh2bSwgJ2JlZm9yZU1vdW50Jyk7XG5c
biAgdmFyIHVwZGF0ZUNvbXBvbmVudDtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlm
IChmYWxzZSkge1xuICAgIHVwZGF0ZUNvbXBvbmVudCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZh
ciBuYW1lID0gdm0uX25hbWU7XG4gICAgICB2YXIgaWQgPSB2bS5fdWlkO1xuICAgICAgdmFyIHN0
YXJ0VGFnID0gXCJ2dWUtcGVyZi1zdGFydDpcIiArIGlkO1xuICAgICAgdmFyIGVuZFRhZyA9IFwi
dnVlLXBlcmYtZW5kOlwiICsgaWQ7XG5cbiAgICAgIG1hcmsoc3RhcnRUYWcpO1xuICAgICAgdmFy
IHZub2RlID0gdm0uX3JlbmRlcigpO1xuICAgICAgbWFyayhlbmRUYWcpO1xuICAgICAgbWVhc3Vy
ZSgobmFtZSArIFwiIHJlbmRlclwiKSwgc3RhcnRUYWcsIGVuZFRhZyk7XG5cbiAgICAgIG1hcmso
c3RhcnRUYWcpO1xuICAgICAgdm0uX3VwZGF0ZSh2bm9kZSwgaHlkcmF0aW5nKTtcbiAgICAgIG1h
cmsoZW5kVGFnKTtcbiAgICAgIG1lYXN1cmUoKG5hbWUgKyBcIiBwYXRjaFwiKSwgc3RhcnRUYWcs
IGVuZFRhZyk7XG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICB1cGRhdGVDb21wb25lbnQgPSBmdW5j
dGlvbiAoKSB7XG4gICAgICB2bS5fdXBkYXRlKHZtLl9yZW5kZXIoKSwgaHlkcmF0aW5nKTtcbiAg
ICB9O1xuICB9XG5cbiAgdm0uX3dhdGNoZXIgPSBuZXcgV2F0Y2hlcih2bSwgdXBkYXRlQ29tcG9u
ZW50LCBub29wKTtcbiAgaHlkcmF0aW5nID0gZmFsc2U7XG5cbiAgLy8gbWFudWFsbHkgbW91bnRl
ZCBpbnN0YW5jZSwgY2FsbCBtb3VudGVkIG9uIHNlbGZcbiAgLy8gbW91bnRlZCBpcyBjYWxsZWQg
Zm9yIHJlbmRlci1jcmVhdGVkIGNoaWxkIGNvbXBvbmVudHMgaW4gaXRzIGluc2VydGVkIGhvb2tc
biAgaWYgKHZtLiR2bm9kZSA9PSBudWxsKSB7XG4gICAgdm0uX2lzTW91bnRlZCA9IHRydWU7XG4g
ICAgY2FsbEhvb2sodm0sICdtb3VudGVkJyk7XG4gIH1cbiAgcmV0dXJuIHZtXG59XG5cbmZ1bmN0
aW9uIHVwZGF0ZUNoaWxkQ29tcG9uZW50IChcbiAgdm0sXG4gIHByb3BzRGF0YSxcbiAgbGlzdGVu
ZXJzLFxuICBwYXJlbnRWbm9kZSxcbiAgcmVuZGVyQ2hpbGRyZW5cbikge1xuICBpZiAoZmFsc2Up
IHtcbiAgICBpc1VwZGF0aW5nQ2hpbGRDb21wb25lbnQgPSB0cnVlO1xuICB9XG5cbiAgLy8gZGV0
ZXJtaW5lIHdoZXRoZXIgY29tcG9uZW50IGhhcyBzbG90IGNoaWxkcmVuXG4gIC8vIHdlIG5lZWQg
dG8gZG8gdGhpcyBiZWZvcmUgb3ZlcndyaXRpbmcgJG9wdGlvbnMuX3JlbmRlckNoaWxkcmVuXG4g
IHZhciBoYXNDaGlsZHJlbiA9ICEhKFxuICAgIHJlbmRlckNoaWxkcmVuIHx8ICAgICAgICAgICAg
ICAgLy8gaGFzIG5ldyBzdGF0aWMgc2xvdHNcbiAgICB2bS4kb3B0aW9ucy5fcmVuZGVyQ2hpbGRy
ZW4gfHwgIC8vIGhhcyBvbGQgc3RhdGljIHNsb3RzXG4gICAgcGFyZW50Vm5vZGUuZGF0YS5zY29w
ZWRTbG90cyB8fCAvLyBoYXMgbmV3IHNjb3BlZCBzbG90c1xuICAgIHZtLiRzY29wZWRTbG90cyAh
PT0gZW1wdHlPYmplY3QgLy8gaGFzIG9sZCBzY29wZWQgc2xvdHNcbiAgKTtcblxuICB2bS4kb3B0
aW9ucy5fcGFyZW50Vm5vZGUgPSBwYXJlbnRWbm9kZTtcbiAgdm0uJHZub2RlID0gcGFyZW50Vm5v
ZGU7IC8vIHVwZGF0ZSB2bSdzIHBsYWNlaG9sZGVyIG5vZGUgd2l0aG91dCByZS1yZW5kZXJcblxu
ICBpZiAodm0uX3Zub2RlKSB7IC8vIHVwZGF0ZSBjaGlsZCB0cmVlJ3MgcGFyZW50XG4gICAgdm0u
X3Zub2RlLnBhcmVudCA9IHBhcmVudFZub2RlO1xuICB9XG4gIHZtLiRvcHRpb25zLl9yZW5kZXJD
aGlsZHJlbiA9IHJlbmRlckNoaWxkcmVuO1xuXG4gIC8vIHVwZGF0ZSAkYXR0cnMgYW5kICRsaXN0
ZW5zZXJzIGhhc2hcbiAgLy8gdGhlc2UgYXJlIGFsc28gcmVhY3RpdmUgc28gdGhleSBtYXkgdHJp
Z2dlciBjaGlsZCB1cGRhdGUgaWYgdGhlIGNoaWxkXG4gIC8vIHVzZWQgdGhlbSBkdXJpbmcgcmVu
ZGVyXG4gIHZtLiRhdHRycyA9IHBhcmVudFZub2RlLmRhdGEgJiYgcGFyZW50Vm5vZGUuZGF0YS5h
dHRycztcbiAgdm0uJGxpc3RlbmVycyA9IGxpc3RlbmVycztcblxuICAvLyB1cGRhdGUgcHJvcHNc
biAgaWYgKHByb3BzRGF0YSAmJiB2bS4kb3B0aW9ucy5wcm9wcykge1xuICAgIG9ic2VydmVyU3Rh
dGUuc2hvdWxkQ29udmVydCA9IGZhbHNlO1xuICAgIHZhciBwcm9wcyA9IHZtLl9wcm9wcztcbiAg
ICB2YXIgcHJvcEtleXMgPSB2bS4kb3B0aW9ucy5fcHJvcEtleXMgfHwgW107XG4gICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBwcm9wS2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGtleSA9IHBy
b3BLZXlzW2ldO1xuICAgICAgcHJvcHNba2V5XSA9IHZhbGlkYXRlUHJvcChrZXksIHZtLiRvcHRp
b25zLnByb3BzLCBwcm9wc0RhdGEsIHZtKTtcbiAgICB9XG4gICAgb2JzZXJ2ZXJTdGF0ZS5zaG91
bGRDb252ZXJ0ID0gdHJ1ZTtcbiAgICAvLyBrZWVwIGEgY29weSBvZiByYXcgcHJvcHNEYXRhXG4g
ICAgdm0uJG9wdGlvbnMucHJvcHNEYXRhID0gcHJvcHNEYXRhO1xuICB9XG5cbiAgLy8gdXBkYXRl
IGxpc3RlbmVyc1xuICBpZiAobGlzdGVuZXJzKSB7XG4gICAgdmFyIG9sZExpc3RlbmVycyA9IHZt
LiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnM7XG4gICAgdm0uJG9wdGlvbnMuX3BhcmVudExpc3Rl
bmVycyA9IGxpc3RlbmVycztcbiAgICB1cGRhdGVDb21wb25lbnRMaXN0ZW5lcnModm0sIGxpc3Rl
bmVycywgb2xkTGlzdGVuZXJzKTtcbiAgfVxuICAvLyByZXNvbHZlIHNsb3RzICsgZm9yY2UgdXBk
YXRlIGlmIGhhcyBjaGlsZHJlblxuICBpZiAoaGFzQ2hpbGRyZW4pIHtcbiAgICB2bS4kc2xvdHMg
PSByZXNvbHZlU2xvdHMocmVuZGVyQ2hpbGRyZW4sIHBhcmVudFZub2RlLmNvbnRleHQpO1xuICAg
IHZtLiRmb3JjZVVwZGF0ZSgpO1xuICB9XG5cbiAgaWYgKGZhbHNlKSB7XG4gICAgaXNVcGRhdGlu
Z0NoaWxkQ29tcG9uZW50ID0gZmFsc2U7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNJbkluYWN0aXZl
VHJlZSAodm0pIHtcbiAgd2hpbGUgKHZtICYmICh2bSA9IHZtLiRwYXJlbnQpKSB7XG4gICAgaWYg
KHZtLl9pbmFjdGl2ZSkgeyByZXR1cm4gdHJ1ZSB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5c
bmZ1bmN0aW9uIGFjdGl2YXRlQ2hpbGRDb21wb25lbnQgKHZtLCBkaXJlY3QpIHtcbiAgaWYgKGRp
cmVjdCkge1xuICAgIHZtLl9kaXJlY3RJbmFjdGl2ZSA9IGZhbHNlO1xuICAgIGlmIChpc0luSW5h
Y3RpdmVUcmVlKHZtKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICB9IGVsc2UgaWYgKHZtLl9k
aXJlY3RJbmFjdGl2ZSkge1xuICAgIHJldHVyblxuICB9XG4gIGlmICh2bS5faW5hY3RpdmUgfHwg
dm0uX2luYWN0aXZlID09PSBudWxsKSB7XG4gICAgdm0uX2luYWN0aXZlID0gZmFsc2U7XG4gICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCB2bS4kY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgIGFj
dGl2YXRlQ2hpbGRDb21wb25lbnQodm0uJGNoaWxkcmVuW2ldKTtcbiAgICB9XG4gICAgY2FsbEhv
b2sodm0sICdhY3RpdmF0ZWQnKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBkZWFjdGl2YXRlQ2hpbGRD
b21wb25lbnQgKHZtLCBkaXJlY3QpIHtcbiAgaWYgKGRpcmVjdCkge1xuICAgIHZtLl9kaXJlY3RJ
bmFjdGl2ZSA9IHRydWU7XG4gICAgaWYgKGlzSW5JbmFjdGl2ZVRyZWUodm0pKSB7XG4gICAgICBy
ZXR1cm5cbiAgICB9XG4gIH1cbiAgaWYgKCF2bS5faW5hY3RpdmUpIHtcbiAgICB2bS5faW5hY3Rp
dmUgPSB0cnVlO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdm0uJGNoaWxkcmVuLmxlbmd0aDsg
aSsrKSB7XG4gICAgICBkZWFjdGl2YXRlQ2hpbGRDb21wb25lbnQodm0uJGNoaWxkcmVuW2ldKTtc
biAgICB9XG4gICAgY2FsbEhvb2sodm0sICdkZWFjdGl2YXRlZCcpO1xuICB9XG59XG5cbmZ1bmN0
aW9uIGNhbGxIb29rICh2bSwgaG9vaykge1xuICB2YXIgaGFuZGxlcnMgPSB2bS4kb3B0aW9uc1to
b29rXTtcbiAgaWYgKGhhbmRsZXJzKSB7XG4gICAgZm9yICh2YXIgaSA9IDAsIGogPSBoYW5kbGVy
cy5sZW5ndGg7IGkgPCBqOyBpKyspIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGhhbmRsZXJzW2ld
LmNhbGwodm0pO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBoYW5kbGVFcnJvcihlLCB2
bSwgKGhvb2sgKyBcIiBob29rXCIpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaWYgKHZtLl9o
YXNIb29rRXZlbnQpIHtcbiAgICB2bS4kZW1pdCgnaG9vazonICsgaG9vayk7XG4gIH1cbn1cblxu
LyogICovXG5cblxudmFyIE1BWF9VUERBVEVfQ09VTlQgPSAxMDA7XG5cbnZhciBxdWV1ZSA9IFtd
O1xudmFyIGFjdGl2YXRlZENoaWxkcmVuID0gW107XG52YXIgaGFzID0ge307XG52YXIgY2lyY3Vs
YXIgPSB7fTtcbnZhciB3YWl0aW5nID0gZmFsc2U7XG52YXIgZmx1c2hpbmcgPSBmYWxzZTtcbnZh
ciBpbmRleCA9IDA7XG5cbi8qKlxuICogUmVzZXQgdGhlIHNjaGVkdWxlcidzIHN0YXRlLlxuICov
XG5mdW5jdGlvbiByZXNldFNjaGVkdWxlclN0YXRlICgpIHtcbiAgaW5kZXggPSBxdWV1ZS5sZW5n
dGggPSBhY3RpdmF0ZWRDaGlsZHJlbi5sZW5ndGggPSAwO1xuICBoYXMgPSB7fTtcbiAgaWYgKGZh
bHNlKSB7XG4gICAgY2lyY3VsYXIgPSB7fTtcbiAgfVxuICB3YWl0aW5nID0gZmx1c2hpbmcgPSBm
YWxzZTtcbn1cblxuLyoqXG4gKiBGbHVzaCBib3RoIHF1ZXVlcyBhbmQgcnVuIHRoZSB3YXRjaGVy
cy5cbiAqL1xuZnVuY3Rpb24gZmx1c2hTY2hlZHVsZXJRdWV1ZSAoKSB7XG4gIGZsdXNoaW5nID0g
dHJ1ZTtcbiAgdmFyIHdhdGNoZXIsIGlkO1xuXG4gIC8vIFNvcnQgcXVldWUgYmVmb3JlIGZsdXNo
LlxuICAvLyBUaGlzIGVuc3VyZXMgdGhhdDpcbiAgLy8gMS4gQ29tcG9uZW50cyBhcmUgdXBkYXRl
ZCBmcm9tIHBhcmVudCB0byBjaGlsZC4gKGJlY2F1c2UgcGFyZW50IGlzIGFsd2F5c1xuICAvLyAg
ICBjcmVhdGVkIGJlZm9yZSB0aGUgY2hpbGQpXG4gIC8vIDIuIEEgY29tcG9uZW50J3MgdXNlciB3
YXRjaGVycyBhcmUgcnVuIGJlZm9yZSBpdHMgcmVuZGVyIHdhdGNoZXIgKGJlY2F1c2VcbiAgLy8g
ICAgdXNlciB3YXRjaGVycyBhcmUgY3JlYXRlZCBiZWZvcmUgdGhlIHJlbmRlciB3YXRjaGVyKVxu
ICAvLyAzLiBJZiBhIGNvbXBvbmVudCBpcyBkZXN0cm95ZWQgZHVyaW5nIGEgcGFyZW50IGNvbXBv
bmVudCdzIHdhdGNoZXIgcnVuLFxuICAvLyAgICBpdHMgd2F0Y2hlcnMgY2FuIGJlIHNraXBwZWQu
XG4gIHF1ZXVlLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHsgcmV0dXJuIGEuaWQgLSBiLmlkOyB9KTtc
blxuICAvLyBkbyBub3QgY2FjaGUgbGVuZ3RoIGJlY2F1c2UgbW9yZSB3YXRjaGVycyBtaWdodCBi
ZSBwdXNoZWRcbiAgLy8gYXMgd2UgcnVuIGV4aXN0aW5nIHdhdGNoZXJzXG4gIGZvciAoaW5kZXgg
PSAwOyBpbmRleCA8IHF1ZXVlLmxlbmd0aDsgaW5kZXgrKykge1xuICAgIHdhdGNoZXIgPSBxdWV1
ZVtpbmRleF07XG4gICAgaWQgPSB3YXRjaGVyLmlkO1xuICAgIGhhc1tpZF0gPSBudWxsO1xuICAg
IHdhdGNoZXIucnVuKCk7XG4gICAgLy8gaW4gZGV2IGJ1aWxkLCBjaGVjayBhbmQgc3RvcCBjaXJj
dWxhciB1cGRhdGVzLlxuICAgIGlmIChmYWxzZSkge1xuICAgICAgY2lyY3VsYXJbaWRdID0gKGNp
cmN1bGFyW2lkXSB8fCAwKSArIDE7XG4gICAgICBpZiAoY2lyY3VsYXJbaWRdID4gTUFYX1VQREFU
RV9DT1VOVCkge1xuICAgICAgICB3YXJuKFxuICAgICAgICAgICdZb3UgbWF5IGhhdmUgYW4gaW5m
aW5pdGUgdXBkYXRlIGxvb3AgJyArIChcbiAgICAgICAgICAgIHdhdGNoZXIudXNlclxuICAgICAg
ICAgICAgICA/IChcImluIHdhdGNoZXIgd2l0aCBleHByZXNzaW9uIFxcXCJcIiArICh3YXRjaGVy
LmV4cHJlc3Npb24pICsgXCJcXFwiXCIpXG4gICAgICAgICAgICAgIDogXCJpbiBhIGNvbXBvbmVu
dCByZW5kZXIgZnVuY3Rpb24uXCJcbiAgICAgICAgICApLFxuICAgICAgICAgIHdhdGNoZXIudm1c
biAgICAgICAgKTtcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBr
ZWVwIGNvcGllcyBvZiBwb3N0IHF1ZXVlcyBiZWZvcmUgcmVzZXR0aW5nIHN0YXRlXG4gIHZhciBh
Y3RpdmF0ZWRRdWV1ZSA9IGFjdGl2YXRlZENoaWxkcmVuLnNsaWNlKCk7XG4gIHZhciB1cGRhdGVk
UXVldWUgPSBxdWV1ZS5zbGljZSgpO1xuXG4gIHJlc2V0U2NoZWR1bGVyU3RhdGUoKTtcblxuICAv
LyBjYWxsIGNvbXBvbmVudCB1cGRhdGVkIGFuZCBhY3RpdmF0ZWQgaG9va3NcbiAgY2FsbEFjdGl2
YXRlZEhvb2tzKGFjdGl2YXRlZFF1ZXVlKTtcbiAgY2FsbFVwZGF0ZWRIb29rcyh1cGRhdGVkUXVl
dWUpO1xuXG4gIC8vIGRldnRvb2wgaG9va1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAg
aWYgKGRldnRvb2xzICYmIGNvbmZpZy5kZXZ0b29scykge1xuICAgIGRldnRvb2xzLmVtaXQoJ2Zs
dXNoJyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2FsbFVwZGF0ZWRIb29rcyAocXVldWUpIHtcbiAg
dmFyIGkgPSBxdWV1ZS5sZW5ndGg7XG4gIHdoaWxlIChpLS0pIHtcbiAgICB2YXIgd2F0Y2hlciA9
IHF1ZXVlW2ldO1xuICAgIHZhciB2bSA9IHdhdGNoZXIudm07XG4gICAgaWYgKHZtLl93YXRjaGVy
ID09PSB3YXRjaGVyICYmIHZtLl9pc01vdW50ZWQpIHtcbiAgICAgIGNhbGxIb29rKHZtLCAndXBk
YXRlZCcpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFF1ZXVlIGEga2VwdC1hbGl2ZSBjb21w
b25lbnQgdGhhdCB3YXMgYWN0aXZhdGVkIGR1cmluZyBwYXRjaC5cbiAqIFRoZSBxdWV1ZSB3aWxs
IGJlIHByb2Nlc3NlZCBhZnRlciB0aGUgZW50aXJlIHRyZWUgaGFzIGJlZW4gcGF0Y2hlZC5cbiAq
L1xuZnVuY3Rpb24gcXVldWVBY3RpdmF0ZWRDb21wb25lbnQgKHZtKSB7XG4gIC8vIHNldHRpbmcg
X2luYWN0aXZlIHRvIGZhbHNlIGhlcmUgc28gdGhhdCBhIHJlbmRlciBmdW5jdGlvbiBjYW5cbiAg
Ly8gcmVseSBvbiBjaGVja2luZyB3aGV0aGVyIGl0J3MgaW4gYW4gaW5hY3RpdmUgdHJlZSAoZS5n
LiByb3V0ZXItdmlldylcbiAgdm0uX2luYWN0aXZlID0gZmFsc2U7XG4gIGFjdGl2YXRlZENoaWxk
cmVuLnB1c2godm0pO1xufVxuXG5mdW5jdGlvbiBjYWxsQWN0aXZhdGVkSG9va3MgKHF1ZXVlKSB7
XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcXVldWUubGVuZ3RoOyBpKyspIHtcbiAgICBxdWV1ZVtp
XS5faW5hY3RpdmUgPSB0cnVlO1xuICAgIGFjdGl2YXRlQ2hpbGRDb21wb25lbnQocXVldWVbaV0s
IHRydWUgLyogdHJ1ZSAqLyk7XG4gIH1cbn1cblxuLyoqXG4gKiBQdXNoIGEgd2F0Y2hlciBpbnRv
IHRoZSB3YXRjaGVyIHF1ZXVlLlxuICogSm9icyB3aXRoIGR1cGxpY2F0ZSBJRHMgd2lsbCBiZSBz
a2lwcGVkIHVubGVzcyBpdCdzXG4gKiBwdXNoZWQgd2hlbiB0aGUgcXVldWUgaXMgYmVpbmcgZmx1
c2hlZC5cbiAqL1xuZnVuY3Rpb24gcXVldWVXYXRjaGVyICh3YXRjaGVyKSB7XG4gIHZhciBpZCA9
IHdhdGNoZXIuaWQ7XG4gIGlmIChoYXNbaWRdID09IG51bGwpIHtcbiAgICBoYXNbaWRdID0gdHJ1
ZTtcbiAgICBpZiAoIWZsdXNoaW5nKSB7XG4gICAgICBxdWV1ZS5wdXNoKHdhdGNoZXIpO1xuICAg
IH0gZWxzZSB7XG4gICAgICAvLyBpZiBhbHJlYWR5IGZsdXNoaW5nLCBzcGxpY2UgdGhlIHdhdGNo
ZXIgYmFzZWQgb24gaXRzIGlkXG4gICAgICAvLyBpZiBhbHJlYWR5IHBhc3QgaXRzIGlkLCBpdCB3
aWxsIGJlIHJ1biBuZXh0IGltbWVkaWF0ZWx5LlxuICAgICAgdmFyIGkgPSBxdWV1ZS5sZW5ndGgg
LSAxO1xuICAgICAgd2hpbGUgKGkgPiBpbmRleCAmJiBxdWV1ZVtpXS5pZCA+IHdhdGNoZXIuaWQp
IHtcbiAgICAgICAgaS0tO1xuICAgICAgfVxuICAgICAgcXVldWUuc3BsaWNlKGkgKyAxLCAwLCB3
YXRjaGVyKTtcbiAgICB9XG4gICAgLy8gcXVldWUgdGhlIGZsdXNoXG4gICAgaWYgKCF3YWl0aW5n
KSB7XG4gICAgICB3YWl0aW5nID0gdHJ1ZTtcbiAgICAgIG5leHRUaWNrKGZsdXNoU2NoZWR1bGVy
UXVldWUpO1xuICAgIH1cbiAgfVxufVxuXG4vKiAgKi9cblxudmFyIHVpZCQyID0gMDtcblxuLyoq
XG4gKiBBIHdhdGNoZXIgcGFyc2VzIGFuIGV4cHJlc3Npb24sIGNvbGxlY3RzIGRlcGVuZGVuY2ll
cyxcbiAqIGFuZCBmaXJlcyBjYWxsYmFjayB3aGVuIHRoZSBleHByZXNzaW9uIHZhbHVlIGNoYW5n
ZXMuXG4gKiBUaGlzIGlzIHVzZWQgZm9yIGJvdGggdGhlICR3YXRjaCgpIGFwaSBhbmQgZGlyZWN0
aXZlcy5cbiAqL1xudmFyIFdhdGNoZXIgPSBmdW5jdGlvbiBXYXRjaGVyIChcbiAgdm0sXG4gIGV4
cE9yRm4sXG4gIGNiLFxuICBvcHRpb25zXG4pIHtcbiAgdGhpcy52bSA9IHZtO1xuICB2bS5fd2F0
Y2hlcnMucHVzaCh0aGlzKTtcbiAgLy8gb3B0aW9uc1xuICBpZiAob3B0aW9ucykge1xuICAgIHRo
aXMuZGVlcCA9ICEhb3B0aW9ucy5kZWVwO1xuICAgIHRoaXMudXNlciA9ICEhb3B0aW9ucy51c2Vy
O1xuICAgIHRoaXMubGF6eSA9ICEhb3B0aW9ucy5sYXp5O1xuICAgIHRoaXMuc3luYyA9ICEhb3B0
aW9ucy5zeW5jO1xuICB9IGVsc2Uge1xuICAgIHRoaXMuZGVlcCA9IHRoaXMudXNlciA9IHRoaXMu
bGF6eSA9IHRoaXMuc3luYyA9IGZhbHNlO1xuICB9XG4gIHRoaXMuY2IgPSBjYjtcbiAgdGhpcy5p
ZCA9ICsrdWlkJDI7IC8vIHVpZCBmb3IgYmF0Y2hpbmdcbiAgdGhpcy5hY3RpdmUgPSB0cnVlO1xu
ICB0aGlzLmRpcnR5ID0gdGhpcy5sYXp5OyAvLyBmb3IgbGF6eSB3YXRjaGVyc1xuICB0aGlzLmRl
cHMgPSBbXTtcbiAgdGhpcy5uZXdEZXBzID0gW107XG4gIHRoaXMuZGVwSWRzID0gbmV3IF9TZXQo
KTtcbiAgdGhpcy5uZXdEZXBJZHMgPSBuZXcgX1NldCgpO1xuICB0aGlzLmV4cHJlc3Npb24gPSAg
ZmFsc2VcbiAgICA/IGV4cE9yRm4udG9TdHJpbmcoKVxuICAgIDogJyc7XG4gIC8vIHBhcnNlIGV4
cHJlc3Npb24gZm9yIGdldHRlclxuICBpZiAodHlwZW9mIGV4cE9yRm4gPT09ICdmdW5jdGlvbicp
IHtcbiAgICB0aGlzLmdldHRlciA9IGV4cE9yRm47XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5nZXR0
ZXIgPSBwYXJzZVBhdGgoZXhwT3JGbik7XG4gICAgaWYgKCF0aGlzLmdldHRlcikge1xuICAgICAg
dGhpcy5nZXR0ZXIgPSBmdW5jdGlvbiAoKSB7fTtcbiAgICAgIFwicHJvZHVjdGlvblwiICE9PSAn
cHJvZHVjdGlvbicgJiYgd2FybihcbiAgICAgICAgXCJGYWlsZWQgd2F0Y2hpbmcgcGF0aDogXFxc
IlwiICsgZXhwT3JGbiArIFwiXFxcIiBcIiArXG4gICAgICAgICdXYXRjaGVyIG9ubHkgYWNjZXB0
cyBzaW1wbGUgZG90LWRlbGltaXRlZCBwYXRocy4gJyArXG4gICAgICAgICdGb3IgZnVsbCBjb250
cm9sLCB1c2UgYSBmdW5jdGlvbiBpbnN0ZWFkLicsXG4gICAgICAgIHZtXG4gICAgICApO1xuICAg
IH1cbiAgfVxuICB0aGlzLnZhbHVlID0gdGhpcy5sYXp5XG4gICAgPyB1bmRlZmluZWRcbiAgICA6
IHRoaXMuZ2V0KCk7XG59O1xuXG4vKipcbiAqIEV2YWx1YXRlIHRoZSBnZXR0ZXIsIGFuZCByZS1j
b2xsZWN0IGRlcGVuZGVuY2llcy5cbiAqL1xuV2F0Y2hlci5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rp
b24gZ2V0ICgpIHtcbiAgcHVzaFRhcmdldCh0aGlzKTtcbiAgdmFyIHZhbHVlO1xuICB2YXIgdm0g
PSB0aGlzLnZtO1xuICB0cnkge1xuICAgIHZhbHVlID0gdGhpcy5nZXR0ZXIuY2FsbCh2bSwgdm0p
O1xuICB9IGNhdGNoIChlKSB7XG4gICAgaWYgKHRoaXMudXNlcikge1xuICAgICAgaGFuZGxlRXJy
b3IoZSwgdm0sIChcImdldHRlciBmb3Igd2F0Y2hlciBcXFwiXCIgKyAodGhpcy5leHByZXNzaW9u
KSArIFwiXFxcIlwiKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IGVcbiAgICB9XG4gIH0g
ZmluYWxseSB7XG4gICAgLy8gXCJ0b3VjaFwiIGV2ZXJ5IHByb3BlcnR5IHNvIHRoZXkgYXJlIGFs
bCB0cmFja2VkIGFzXG4gICAgLy8gZGVwZW5kZW5jaWVzIGZvciBkZWVwIHdhdGNoaW5nXG4gICAg
aWYgKHRoaXMuZGVlcCkge1xuICAgICAgdHJhdmVyc2UodmFsdWUpO1xuICAgIH1cbiAgICBwb3BU
YXJnZXQoKTtcbiAgICB0aGlzLmNsZWFudXBEZXBzKCk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlXG59
O1xuXG4vKipcbiAqIEFkZCBhIGRlcGVuZGVuY3kgdG8gdGhpcyBkaXJlY3RpdmUuXG4gKi9cbldh
dGNoZXIucHJvdG90eXBlLmFkZERlcCA9IGZ1bmN0aW9uIGFkZERlcCAoZGVwKSB7XG4gIHZhciBp
ZCA9IGRlcC5pZDtcbiAgaWYgKCF0aGlzLm5ld0RlcElkcy5oYXMoaWQpKSB7XG4gICAgdGhpcy5u
ZXdEZXBJZHMuYWRkKGlkKTtcbiAgICB0aGlzLm5ld0RlcHMucHVzaChkZXApO1xuICAgIGlmICgh
dGhpcy5kZXBJZHMuaGFzKGlkKSkge1xuICAgICAgZGVwLmFkZFN1Yih0aGlzKTtcbiAgICB9XG4g
IH1cbn07XG5cbi8qKlxuICogQ2xlYW4gdXAgZm9yIGRlcGVuZGVuY3kgY29sbGVjdGlvbi5cbiAq
L1xuV2F0Y2hlci5wcm90b3R5cGUuY2xlYW51cERlcHMgPSBmdW5jdGlvbiBjbGVhbnVwRGVwcyAo
KSB7XG4gICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgdmFyIGkgPSB0aGlzLmRlcHMubGVuZ3Ro
O1xuICB3aGlsZSAoaS0tKSB7XG4gICAgdmFyIGRlcCA9IHRoaXMkMS5kZXBzW2ldO1xuICAgIGlm
ICghdGhpcyQxLm5ld0RlcElkcy5oYXMoZGVwLmlkKSkge1xuICAgICAgZGVwLnJlbW92ZVN1Yih0
aGlzJDEpO1xuICAgIH1cbiAgfVxuICB2YXIgdG1wID0gdGhpcy5kZXBJZHM7XG4gIHRoaXMuZGVw
SWRzID0gdGhpcy5uZXdEZXBJZHM7XG4gIHRoaXMubmV3RGVwSWRzID0gdG1wO1xuICB0aGlzLm5l
d0RlcElkcy5jbGVhcigpO1xuICB0bXAgPSB0aGlzLmRlcHM7XG4gIHRoaXMuZGVwcyA9IHRoaXMu
bmV3RGVwcztcbiAgdGhpcy5uZXdEZXBzID0gdG1wO1xuICB0aGlzLm5ld0RlcHMubGVuZ3RoID0g
MDtcbn07XG5cbi8qKlxuICogU3Vic2NyaWJlciBpbnRlcmZhY2UuXG4gKiBXaWxsIGJlIGNhbGxl
ZCB3aGVuIGEgZGVwZW5kZW5jeSBjaGFuZ2VzLlxuICovXG5XYXRjaGVyLnByb3RvdHlwZS51cGRh
dGUgPSBmdW5jdGlvbiB1cGRhdGUgKCkge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xu
ICBpZiAodGhpcy5sYXp5KSB7XG4gICAgdGhpcy5kaXJ0eSA9IHRydWU7XG4gIH0gZWxzZSBpZiAo
dGhpcy5zeW5jKSB7XG4gICAgdGhpcy5ydW4oKTtcbiAgfSBlbHNlIHtcbiAgICBxdWV1ZVdhdGNo
ZXIodGhpcyk7XG4gIH1cbn07XG5cbi8qKlxuICogU2NoZWR1bGVyIGpvYiBpbnRlcmZhY2UuXG4g
KiBXaWxsIGJlIGNhbGxlZCBieSB0aGUgc2NoZWR1bGVyLlxuICovXG5XYXRjaGVyLnByb3RvdHlw
ZS5ydW4gPSBmdW5jdGlvbiBydW4gKCkge1xuICBpZiAodGhpcy5hY3RpdmUpIHtcbiAgICB2YXIg
dmFsdWUgPSB0aGlzLmdldCgpO1xuICAgIGlmIChcbiAgICAgIHZhbHVlICE9PSB0aGlzLnZhbHVl
IHx8XG4gICAgICAvLyBEZWVwIHdhdGNoZXJzIGFuZCB3YXRjaGVycyBvbiBPYmplY3QvQXJyYXlz
IHNob3VsZCBmaXJlIGV2ZW5cbiAgICAgIC8vIHdoZW4gdGhlIHZhbHVlIGlzIHRoZSBzYW1lLCBi
ZWNhdXNlIHRoZSB2YWx1ZSBtYXlcbiAgICAgIC8vIGhhdmUgbXV0YXRlZC5cbiAgICAgIGlzT2Jq
ZWN0KHZhbHVlKSB8fFxuICAgICAgdGhpcy5kZWVwXG4gICAgKSB7XG4gICAgICAvLyBzZXQgbmV3
IHZhbHVlXG4gICAgICB2YXIgb2xkVmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgdGhpcy52YWx1
ZSA9IHZhbHVlO1xuICAgICAgaWYgKHRoaXMudXNlcikge1xuICAgICAgICB0cnkge1xuICAgICAg
ICAgIHRoaXMuY2IuY2FsbCh0aGlzLnZtLCB2YWx1ZSwgb2xkVmFsdWUpO1xuICAgICAgICB9IGNh
dGNoIChlKSB7XG4gICAgICAgICAgaGFuZGxlRXJyb3IoZSwgdGhpcy52bSwgKFwiY2FsbGJhY2sg
Zm9yIHdhdGNoZXIgXFxcIlwiICsgKHRoaXMuZXhwcmVzc2lvbikgKyBcIlxcXCJcIikpO1xuICAg
ICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNiLmNhbGwodGhpcy52bSwgdmFs
dWUsIG9sZFZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbi8qKlxuICogRXZhbHVh
dGUgdGhlIHZhbHVlIG9mIHRoZSB3YXRjaGVyLlxuICogVGhpcyBvbmx5IGdldHMgY2FsbGVkIGZv
ciBsYXp5IHdhdGNoZXJzLlxuICovXG5XYXRjaGVyLnByb3RvdHlwZS5ldmFsdWF0ZSA9IGZ1bmN0
aW9uIGV2YWx1YXRlICgpIHtcbiAgdGhpcy52YWx1ZSA9IHRoaXMuZ2V0KCk7XG4gIHRoaXMuZGly
dHkgPSBmYWxzZTtcbn07XG5cbi8qKlxuICogRGVwZW5kIG9uIGFsbCBkZXBzIGNvbGxlY3RlZCBi
eSB0aGlzIHdhdGNoZXIuXG4gKi9cbldhdGNoZXIucHJvdG90eXBlLmRlcGVuZCA9IGZ1bmN0aW9u
IGRlcGVuZCAoKSB7XG4gICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgdmFyIGkgPSB0aGlzLmRl
cHMubGVuZ3RoO1xuICB3aGlsZSAoaS0tKSB7XG4gICAgdGhpcyQxLmRlcHNbaV0uZGVwZW5kKCk7
XG4gIH1cbn07XG5cbi8qKlxuICogUmVtb3ZlIHNlbGYgZnJvbSBhbGwgZGVwZW5kZW5jaWVzJyBz
dWJzY3JpYmVyIGxpc3QuXG4gKi9cbldhdGNoZXIucHJvdG90eXBlLnRlYXJkb3duID0gZnVuY3Rp
b24gdGVhcmRvd24gKCkge1xuICAgIHZhciB0aGlzJDEgPSB0aGlzO1xuXG4gIGlmICh0aGlzLmFj
dGl2ZSkge1xuICAgIC8vIHJlbW92ZSBzZWxmIGZyb20gdm0ncyB3YXRjaGVyIGxpc3RcbiAgICAv
LyB0aGlzIGlzIGEgc29tZXdoYXQgZXhwZW5zaXZlIG9wZXJhdGlvbiBzbyB3ZSBza2lwIGl0XG4g
ICAgLy8gaWYgdGhlIHZtIGlzIGJlaW5nIGRlc3Ryb3llZC5cbiAgICBpZiAoIXRoaXMudm0uX2lz
QmVpbmdEZXN0cm95ZWQpIHtcbiAgICAgIHJlbW92ZSh0aGlzLnZtLl93YXRjaGVycywgdGhpcyk7
XG4gICAgfVxuICAgIHZhciBpID0gdGhpcy5kZXBzLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0tKSB7
XG4gICAgICB0aGlzJDEuZGVwc1tpXS5yZW1vdmVTdWIodGhpcyQxKTtcbiAgICB9XG4gICAgdGhp
cy5hY3RpdmUgPSBmYWxzZTtcbiAgfVxufTtcblxuLyoqXG4gKiBSZWN1cnNpdmVseSB0cmF2ZXJz
ZSBhbiBvYmplY3QgdG8gZXZva2UgYWxsIGNvbnZlcnRlZFxuICogZ2V0dGVycywgc28gdGhhdCBl
dmVyeSBuZXN0ZWQgcHJvcGVydHkgaW5zaWRlIHRoZSBvYmplY3RcbiAqIGlzIGNvbGxlY3RlZCBh
cyBhIFwiZGVlcFwiIGRlcGVuZGVuY3kuXG4gKi9cbnZhciBzZWVuT2JqZWN0cyA9IG5ldyBfU2V0
KCk7XG5mdW5jdGlvbiB0cmF2ZXJzZSAodmFsKSB7XG4gIHNlZW5PYmplY3RzLmNsZWFyKCk7XG4g
IF90cmF2ZXJzZSh2YWwsIHNlZW5PYmplY3RzKTtcbn1cblxuZnVuY3Rpb24gX3RyYXZlcnNlICh2
YWwsIHNlZW4pIHtcbiAgdmFyIGksIGtleXM7XG4gIHZhciBpc0EgPSBBcnJheS5pc0FycmF5KHZh
bCk7XG4gIGlmICgoIWlzQSAmJiAhaXNPYmplY3QodmFsKSkgfHwgIU9iamVjdC5pc0V4dGVuc2li
bGUodmFsKSkge1xuICAgIHJldHVyblxuICB9XG4gIGlmICh2YWwuX19vYl9fKSB7XG4gICAgdmFy
IGRlcElkID0gdmFsLl9fb2JfXy5kZXAuaWQ7XG4gICAgaWYgKHNlZW4uaGFzKGRlcElkKSkge1xu
ICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHNlZW4uYWRkKGRlcElkKTtcbiAgfVxuICBpZiAoaXNB
KSB7XG4gICAgaSA9IHZhbC5sZW5ndGg7XG4gICAgd2hpbGUgKGktLSkgeyBfdHJhdmVyc2UodmFs
W2ldLCBzZWVuKTsgfVxuICB9IGVsc2Uge1xuICAgIGtleXMgPSBPYmplY3Qua2V5cyh2YWwpO1xu
ICAgIGkgPSBrZXlzLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0tKSB7IF90cmF2ZXJzZSh2YWxba2V5
c1tpXV0sIHNlZW4pOyB9XG4gIH1cbn1cblxuLyogICovXG5cbnZhciBzaGFyZWRQcm9wZXJ0eURl
ZmluaXRpb24gPSB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGNvbmZpZ3VyYWJsZTogdHJ1ZSxc
biAgZ2V0OiBub29wLFxuICBzZXQ6IG5vb3Bcbn07XG5cbmZ1bmN0aW9uIHByb3h5ICh0YXJnZXQs
IHNvdXJjZUtleSwga2V5KSB7XG4gIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5nZXQgPSBmdW5j
dGlvbiBwcm94eUdldHRlciAoKSB7XG4gICAgcmV0dXJuIHRoaXNbc291cmNlS2V5XVtrZXldXG4g
IH07XG4gIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5zZXQgPSBmdW5jdGlvbiBwcm94eVNldHRl
ciAodmFsKSB7XG4gICAgdGhpc1tzb3VyY2VLZXldW2tleV0gPSB2YWw7XG4gIH07XG4gIE9iamVj
dC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uKTtc
bn1cblxuZnVuY3Rpb24gaW5pdFN0YXRlICh2bSkge1xuICB2bS5fd2F0Y2hlcnMgPSBbXTtcbiAg
dmFyIG9wdHMgPSB2bS4kb3B0aW9ucztcbiAgaWYgKG9wdHMucHJvcHMpIHsgaW5pdFByb3BzKHZt
LCBvcHRzLnByb3BzKTsgfVxuICBpZiAob3B0cy5tZXRob2RzKSB7IGluaXRNZXRob2RzKHZtLCBv
cHRzLm1ldGhvZHMpOyB9XG4gIGlmIChvcHRzLmRhdGEpIHtcbiAgICBpbml0RGF0YSh2bSk7XG4g
IH0gZWxzZSB7XG4gICAgb2JzZXJ2ZSh2bS5fZGF0YSA9IHt9LCB0cnVlIC8qIGFzUm9vdERhdGEg
Ki8pO1xuICB9XG4gIGlmIChvcHRzLmNvbXB1dGVkKSB7IGluaXRDb21wdXRlZCh2bSwgb3B0cy5j
b21wdXRlZCk7IH1cbiAgaWYgKG9wdHMud2F0Y2ggJiYgb3B0cy53YXRjaCAhPT0gbmF0aXZlV2F0
Y2gpIHtcbiAgICBpbml0V2F0Y2godm0sIG9wdHMud2F0Y2gpO1xuICB9XG59XG5cbmZ1bmN0aW9u
IGNoZWNrT3B0aW9uVHlwZSAodm0sIG5hbWUpIHtcbiAgdmFyIG9wdGlvbiA9IHZtLiRvcHRpb25z
W25hbWVdO1xuICBpZiAoIWlzUGxhaW5PYmplY3Qob3B0aW9uKSkge1xuICAgIHdhcm4oXG4gICAg
ICAoXCJjb21wb25lbnQgb3B0aW9uIFxcXCJcIiArIG5hbWUgKyBcIlxcXCIgc2hvdWxkIGJlIGFu
IG9iamVjdC5cIiksXG4gICAgICB2bVxuICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5pdFBy
b3BzICh2bSwgcHJvcHNPcHRpb25zKSB7XG4gIHZhciBwcm9wc0RhdGEgPSB2bS4kb3B0aW9ucy5w
cm9wc0RhdGEgfHwge307XG4gIHZhciBwcm9wcyA9IHZtLl9wcm9wcyA9IHt9O1xuICAvLyBjYWNo
ZSBwcm9wIGtleXMgc28gdGhhdCBmdXR1cmUgcHJvcHMgdXBkYXRlcyBjYW4gaXRlcmF0ZSB1c2lu
ZyBBcnJheVxuICAvLyBpbnN0ZWFkIG9mIGR5bmFtaWMgb2JqZWN0IGtleSBlbnVtZXJhdGlvbi5c
biAgdmFyIGtleXMgPSB2bS4kb3B0aW9ucy5fcHJvcEtleXMgPSBbXTtcbiAgdmFyIGlzUm9vdCA9
ICF2bS4kcGFyZW50O1xuICAvLyByb290IGluc3RhbmNlIHByb3BzIHNob3VsZCBiZSBjb252ZXJ0
ZWRcbiAgb2JzZXJ2ZXJTdGF0ZS5zaG91bGRDb252ZXJ0ID0gaXNSb290O1xuICB2YXIgbG9vcCA9
IGZ1bmN0aW9uICgga2V5ICkge1xuICAgIGtleXMucHVzaChrZXkpO1xuICAgIHZhciB2YWx1ZSA9
IHZhbGlkYXRlUHJvcChrZXksIHByb3BzT3B0aW9ucywgcHJvcHNEYXRhLCB2bSk7XG4gICAgLyog
aXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIGlmIChpc1Jl
c2VydmVkQXR0cmlidXRlKGtleSkgfHwgY29uZmlnLmlzUmVzZXJ2ZWRBdHRyKGtleSkpIHtcbiAg
ICAgICAgd2FybihcbiAgICAgICAgICAoXCJcXFwiXCIgKyBrZXkgKyBcIlxcXCIgaXMgYSByZXNl
cnZlZCBhdHRyaWJ1dGUgYW5kIGNhbm5vdCBiZSB1c2VkIGFzIGNvbXBvbmVudCBwcm9wLlwiKSxc
biAgICAgICAgICB2bVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgZGVmaW5lUmVhY3RpdmUk
JDEocHJvcHMsIGtleSwgdmFsdWUsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKHZtLiRwYXJl
bnQgJiYgIWlzVXBkYXRpbmdDaGlsZENvbXBvbmVudCkge1xuICAgICAgICAgIHdhcm4oXG4gICAg
ICAgICAgICBcIkF2b2lkIG11dGF0aW5nIGEgcHJvcCBkaXJlY3RseSBzaW5jZSB0aGUgdmFsdWUg
d2lsbCBiZSBcIiArXG4gICAgICAgICAgICBcIm92ZXJ3cml0dGVuIHdoZW5ldmVyIHRoZSBwYXJl
bnQgY29tcG9uZW50IHJlLXJlbmRlcnMuIFwiICtcbiAgICAgICAgICAgIFwiSW5zdGVhZCwgdXNl
IGEgZGF0YSBvciBjb21wdXRlZCBwcm9wZXJ0eSBiYXNlZCBvbiB0aGUgcHJvcCdzIFwiICtcbiAg
ICAgICAgICAgIFwidmFsdWUuIFByb3AgYmVpbmcgbXV0YXRlZDogXFxcIlwiICsga2V5ICsgXCJc
XFwiXCIsXG4gICAgICAgICAgICB2bVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0p
O1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWZpbmVSZWFjdGl2ZSQkMShwcm9wcywga2V5LCB2YWx1
ZSk7XG4gICAgfVxuICAgIC8vIHN0YXRpYyBwcm9wcyBhcmUgYWxyZWFkeSBwcm94aWVkIG9uIHRo
ZSBjb21wb25lbnQncyBwcm90b3R5cGVcbiAgICAvLyBkdXJpbmcgVnVlLmV4dGVuZCgpLiBXZSBv
bmx5IG5lZWQgdG8gcHJveHkgcHJvcHMgZGVmaW5lZCBhdFxuICAgIC8vIGluc3RhbnRpYXRpb24g
aGVyZS5cbiAgICBpZiAoIShrZXkgaW4gdm0pKSB7XG4gICAgICBwcm94eSh2bSwgXCJfcHJvcHNc
Iiwga2V5KTtcbiAgICB9XG4gIH07XG5cbiAgZm9yICh2YXIga2V5IGluIHByb3BzT3B0aW9ucykg
bG9vcCgga2V5ICk7XG4gIG9ic2VydmVyU3RhdGUuc2hvdWxkQ29udmVydCA9IHRydWU7XG59XG5c
bmZ1bmN0aW9uIGluaXREYXRhICh2bSkge1xuICB2YXIgZGF0YSA9IHZtLiRvcHRpb25zLmRhdGE7
XG4gIGRhdGEgPSB2bS5fZGF0YSA9IHR5cGVvZiBkYXRhID09PSAnZnVuY3Rpb24nXG4gICAgPyBn
ZXREYXRhKGRhdGEsIHZtKVxuICAgIDogZGF0YSB8fCB7fTtcbiAgaWYgKCFpc1BsYWluT2JqZWN0
KGRhdGEpKSB7XG4gICAgZGF0YSA9IHt9O1xuICAgIFwicHJvZHVjdGlvblwiICE9PSAncHJvZHVj
dGlvbicgJiYgd2FybihcbiAgICAgICdkYXRhIGZ1bmN0aW9ucyBzaG91bGQgcmV0dXJuIGFuIG9i
amVjdDpcXG4nICtcbiAgICAgICdodHRwczovL3Z1ZWpzLm9yZy92Mi9ndWlkZS9jb21wb25lbnRz
Lmh0bWwjZGF0YS1NdXN0LUJlLWEtRnVuY3Rpb24nLFxuICAgICAgdm1cbiAgICApO1xuICB9XG4g
IC8vIHByb3h5IGRhdGEgb24gaW5zdGFuY2VcbiAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhkYXRh
KTtcbiAgdmFyIHByb3BzID0gdm0uJG9wdGlvbnMucHJvcHM7XG4gIHZhciBtZXRob2RzID0gdm0u
JG9wdGlvbnMubWV0aG9kcztcbiAgdmFyIGkgPSBrZXlzLmxlbmd0aDtcbiAgd2hpbGUgKGktLSkg
e1xuICAgIHZhciBrZXkgPSBrZXlzW2ldO1xuICAgIGlmIChmYWxzZSkge1xuICAgICAgaWYgKG1l
dGhvZHMgJiYgaGFzT3duKG1ldGhvZHMsIGtleSkpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAg
ICAoXCJtZXRob2QgXFxcIlwiICsga2V5ICsgXCJcXFwiIGhhcyBhbHJlYWR5IGJlZW4gZGVmaW5l
ZCBhcyBhIGRhdGEgcHJvcGVydHkuXCIpLFxuICAgICAgICAgIHZtXG4gICAgICAgICk7XG4gICAg
ICB9XG4gICAgfVxuICAgIGlmIChwcm9wcyAmJiBoYXNPd24ocHJvcHMsIGtleSkpIHtcbiAgICAg
IFwicHJvZHVjdGlvblwiICE9PSAncHJvZHVjdGlvbicgJiYgd2FybihcbiAgICAgICAgXCJUaGUg
ZGF0YSBwcm9wZXJ0eSBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgaXMgYWxyZWFkeSBkZWNsYXJlZCBh
cyBhIHByb3AuIFwiICtcbiAgICAgICAgXCJVc2UgcHJvcCBkZWZhdWx0IHZhbHVlIGluc3RlYWQu
XCIsXG4gICAgICAgIHZtXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoIWlzUmVzZXJ2ZWQoa2V5
KSkge1xuICAgICAgcHJveHkodm0sIFwiX2RhdGFcIiwga2V5KTtcbiAgICB9XG4gIH1cbiAgLy8g
b2JzZXJ2ZSBkYXRhXG4gIG9ic2VydmUoZGF0YSwgdHJ1ZSAvKiBhc1Jvb3REYXRhICovKTtcbn1c
blxuZnVuY3Rpb24gZ2V0RGF0YSAoZGF0YSwgdm0pIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZGF0
YS5jYWxsKHZtKVxuICB9IGNhdGNoIChlKSB7XG4gICAgaGFuZGxlRXJyb3IoZSwgdm0sIFwiZGF0
YSgpXCIpO1xuICAgIHJldHVybiB7fVxuICB9XG59XG5cbnZhciBjb21wdXRlZFdhdGNoZXJPcHRp
b25zID0geyBsYXp5OiB0cnVlIH07XG5cbmZ1bmN0aW9uIGluaXRDb21wdXRlZCAodm0sIGNvbXB1
dGVkKSB7XG4gIFwicHJvZHVjdGlvblwiICE9PSAncHJvZHVjdGlvbicgJiYgY2hlY2tPcHRpb25U
eXBlKHZtLCAnY29tcHV0ZWQnKTtcbiAgdmFyIHdhdGNoZXJzID0gdm0uX2NvbXB1dGVkV2F0Y2hl
cnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuXG4gIGZvciAodmFyIGtleSBpbiBjb21wdXRlZCkg
e1xuICAgIHZhciB1c2VyRGVmID0gY29tcHV0ZWRba2V5XTtcbiAgICB2YXIgZ2V0dGVyID0gdHlw
ZW9mIHVzZXJEZWYgPT09ICdmdW5jdGlvbicgPyB1c2VyRGVmIDogdXNlckRlZi5nZXQ7XG4gICAg
aWYgKGZhbHNlKSB7XG4gICAgICB3YXJuKFxuICAgICAgICAoXCJHZXR0ZXIgaXMgbWlzc2luZyBm
b3IgY29tcHV0ZWQgcHJvcGVydHkgXFxcIlwiICsga2V5ICsgXCJcXFwiLlwiKSxcbiAgICAgICAg
dm1cbiAgICAgICk7XG4gICAgfVxuICAgIC8vIGNyZWF0ZSBpbnRlcm5hbCB3YXRjaGVyIGZvciB0
aGUgY29tcHV0ZWQgcHJvcGVydHkuXG4gICAgd2F0Y2hlcnNba2V5XSA9IG5ldyBXYXRjaGVyKHZt
LCBnZXR0ZXIgfHwgbm9vcCwgbm9vcCwgY29tcHV0ZWRXYXRjaGVyT3B0aW9ucyk7XG5cbiAgICAv
LyBjb21wb25lbnQtZGVmaW5lZCBjb21wdXRlZCBwcm9wZXJ0aWVzIGFyZSBhbHJlYWR5IGRlZmlu
ZWQgb24gdGhlXG4gICAgLy8gY29tcG9uZW50IHByb3RvdHlwZS4gV2Ugb25seSBuZWVkIHRvIGRl
ZmluZSBjb21wdXRlZCBwcm9wZXJ0aWVzIGRlZmluZWRcbiAgICAvLyBhdCBpbnN0YW50aWF0aW9u
IGhlcmUuXG4gICAgaWYgKCEoa2V5IGluIHZtKSkge1xuICAgICAgZGVmaW5lQ29tcHV0ZWQodm0s
IGtleSwgdXNlckRlZik7XG4gICAgfSBlbHNlIGlmIChmYWxzZSkge1xuICAgICAgaWYgKGtleSBp
biB2bS4kZGF0YSkge1xuICAgICAgICB3YXJuKChcIlRoZSBjb21wdXRlZCBwcm9wZXJ0eSBcXFwi
XCIgKyBrZXkgKyBcIlxcXCIgaXMgYWxyZWFkeSBkZWZpbmVkIGluIGRhdGEuXCIpLCB2bSk7XG4g
ICAgICB9IGVsc2UgaWYgKHZtLiRvcHRpb25zLnByb3BzICYmIGtleSBpbiB2bS4kb3B0aW9ucy5w
cm9wcykge1xuICAgICAgICB3YXJuKChcIlRoZSBjb21wdXRlZCBwcm9wZXJ0eSBcXFwiXCIgKyBr
ZXkgKyBcIlxcXCIgaXMgYWxyZWFkeSBkZWZpbmVkIGFzIGEgcHJvcC5cIiksIHZtKTtcbiAgICAg
IH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVmaW5lQ29tcHV0ZWQgKHRhcmdldCwga2V5
LCB1c2VyRGVmKSB7XG4gIGlmICh0eXBlb2YgdXNlckRlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAg
IHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5nZXQgPSBjcmVhdGVDb21wdXRlZEdldHRlcihrZXkp
O1xuICAgIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5zZXQgPSBub29wO1xuICB9IGVsc2Uge1xu
ICAgIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5nZXQgPSB1c2VyRGVmLmdldFxuICAgICAgPyB1
c2VyRGVmLmNhY2hlICE9PSBmYWxzZVxuICAgICAgICA/IGNyZWF0ZUNvbXB1dGVkR2V0dGVyKGtl
eSlcbiAgICAgICAgOiB1c2VyRGVmLmdldFxuICAgICAgOiBub29wO1xuICAgIHNoYXJlZFByb3Bl
cnR5RGVmaW5pdGlvbi5zZXQgPSB1c2VyRGVmLnNldFxuICAgICAgPyB1c2VyRGVmLnNldFxuICAg
ICAgOiBub29wO1xuICB9XG4gIGlmIChmYWxzZSkge1xuICAgIHNoYXJlZFByb3BlcnR5RGVmaW5p
dGlvbi5zZXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICB3YXJuKFxuICAgICAgICAoXCJDb21wdXRl
ZCBwcm9wZXJ0eSBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgd2FzIGFzc2lnbmVkIHRvIGJ1dCBpdCBo
YXMgbm8gc2V0dGVyLlwiKSxcbiAgICAgICAgdGhpc1xuICAgICAgKTtcbiAgICB9O1xuICB9XG4g
IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc2hhcmVkUHJvcGVydHlEZWZpbml0
aW9uKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ29tcHV0ZWRHZXR0ZXIgKGtleSkge1xuICByZXR1
cm4gZnVuY3Rpb24gY29tcHV0ZWRHZXR0ZXIgKCkge1xuICAgIHZhciB3YXRjaGVyID0gdGhpcy5f
Y29tcHV0ZWRXYXRjaGVycyAmJiB0aGlzLl9jb21wdXRlZFdhdGNoZXJzW2tleV07XG4gICAgaWYg
KHdhdGNoZXIpIHtcbiAgICAgIGlmICh3YXRjaGVyLmRpcnR5KSB7XG4gICAgICAgIHdhdGNoZXIu
ZXZhbHVhdGUoKTtcbiAgICAgIH1cbiAgICAgIGlmIChEZXAudGFyZ2V0KSB7XG4gICAgICAgIHdh
dGNoZXIuZGVwZW5kKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gd2F0Y2hlci52YWx1ZVxuICAg
IH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0TWV0aG9kcyAodm0sIG1ldGhvZHMpIHtcbiAgXCJw
cm9kdWN0aW9uXCIgIT09ICdwcm9kdWN0aW9uJyAmJiBjaGVja09wdGlvblR5cGUodm0sICdtZXRo
b2RzJyk7XG4gIHZhciBwcm9wcyA9IHZtLiRvcHRpb25zLnByb3BzO1xuICBmb3IgKHZhciBrZXkg
aW4gbWV0aG9kcykge1xuICAgIHZtW2tleV0gPSBtZXRob2RzW2tleV0gPT0gbnVsbCA/IG5vb3Ag
OiBiaW5kKG1ldGhvZHNba2V5XSwgdm0pO1xuICAgIGlmIChmYWxzZSkge1xuICAgICAgaWYgKG1l
dGhvZHNba2V5XSA9PSBudWxsKSB7XG4gICAgICAgIHdhcm4oXG4gICAgICAgICAgXCJtZXRob2Qg
XFxcIlwiICsga2V5ICsgXCJcXFwiIGhhcyBhbiB1bmRlZmluZWQgdmFsdWUgaW4gdGhlIGNvbXBv
bmVudCBkZWZpbml0aW9uLiBcIiArXG4gICAgICAgICAgXCJEaWQgeW91IHJlZmVyZW5jZSB0aGUg
ZnVuY3Rpb24gY29ycmVjdGx5P1wiLFxuICAgICAgICAgIHZtXG4gICAgICAgICk7XG4gICAgICB9
XG4gICAgICBpZiAocHJvcHMgJiYgaGFzT3duKHByb3BzLCBrZXkpKSB7XG4gICAgICAgIHdhcm4o
XG4gICAgICAgICAgKFwibWV0aG9kIFxcXCJcIiArIGtleSArIFwiXFxcIiBoYXMgYWxyZWFkeSBi
ZWVuIGRlZmluZWQgYXMgYSBwcm9wLlwiKSxcbiAgICAgICAgICB2bVxuICAgICAgICApO1xuICAg
ICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0V2F0Y2ggKHZtLCB3YXRjaCkge1xu
ICBcInByb2R1Y3Rpb25cIiAhPT0gJ3Byb2R1Y3Rpb24nICYmIGNoZWNrT3B0aW9uVHlwZSh2bSwg
J3dhdGNoJyk7XG4gIGZvciAodmFyIGtleSBpbiB3YXRjaCkge1xuICAgIHZhciBoYW5kbGVyID0g
d2F0Y2hba2V5XTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShoYW5kbGVyKSkge1xuICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBoYW5kbGVyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNyZWF0ZVdh
dGNoZXIodm0sIGtleSwgaGFuZGxlcltpXSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAg
IGNyZWF0ZVdhdGNoZXIodm0sIGtleSwgaGFuZGxlcik7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0
aW9uIGNyZWF0ZVdhdGNoZXIgKFxuICB2bSxcbiAga2V5T3JGbixcbiAgaGFuZGxlcixcbiAgb3B0
aW9uc1xuKSB7XG4gIGlmIChpc1BsYWluT2JqZWN0KGhhbmRsZXIpKSB7XG4gICAgb3B0aW9ucyA9
IGhhbmRsZXI7XG4gICAgaGFuZGxlciA9IGhhbmRsZXIuaGFuZGxlcjtcbiAgfVxuICBpZiAodHlw
ZW9mIGhhbmRsZXIgPT09ICdzdHJpbmcnKSB7XG4gICAgaGFuZGxlciA9IHZtW2hhbmRsZXJdO1xu
ICB9XG4gIHJldHVybiB2bS4kd2F0Y2goa2V5T3JGbiwgaGFuZGxlciwgb3B0aW9ucylcbn1cblxu
ZnVuY3Rpb24gc3RhdGVNaXhpbiAoVnVlKSB7XG4gIC8vIGZsb3cgc29tZWhvdyBoYXMgcHJvYmxl
bXMgd2l0aCBkaXJlY3RseSBkZWNsYXJlZCBkZWZpbml0aW9uIG9iamVjdFxuICAvLyB3aGVuIHVz
aW5nIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSwgc28gd2UgaGF2ZSB0byBwcm9jZWR1cmFsbHkgYnVp
bGQgdXBcbiAgLy8gdGhlIG9iamVjdCBoZXJlLlxuICB2YXIgZGF0YURlZiA9IHt9O1xuICBkYXRh
RGVmLmdldCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXMuX2RhdGEgfTtcbiAgdmFyIHByb3Bz
RGVmID0ge307XG4gIHByb3BzRGVmLmdldCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXMuX3By
b3BzIH07XG4gIGlmIChmYWxzZSkge1xuICAgIGRhdGFEZWYuc2V0ID0gZnVuY3Rpb24gKG5ld0Rh
dGEpIHtcbiAgICAgIHdhcm4oXG4gICAgICAgICdBdm9pZCByZXBsYWNpbmcgaW5zdGFuY2Ugcm9v
dCAkZGF0YS4gJyArXG4gICAgICAgICdVc2UgbmVzdGVkIGRhdGEgcHJvcGVydGllcyBpbnN0ZWFk
LicsXG4gICAgICAgIHRoaXNcbiAgICAgICk7XG4gICAgfTtcbiAgICBwcm9wc0RlZi5zZXQgPSBm
dW5jdGlvbiAoKSB7XG4gICAgICB3YXJuKFwiJHByb3BzIGlzIHJlYWRvbmx5LlwiLCB0aGlzKTtc
biAgICB9O1xuICB9XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShWdWUucHJvdG90eXBlLCAnJGRh
dGEnLCBkYXRhRGVmKTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFZ1ZS5wcm90b3R5cGUsICck
cHJvcHMnLCBwcm9wc0RlZik7XG5cbiAgVnVlLnByb3RvdHlwZS4kc2V0ID0gc2V0O1xuICBWdWUu
cHJvdG90eXBlLiRkZWxldGUgPSBkZWw7XG5cbiAgVnVlLnByb3RvdHlwZS4kd2F0Y2ggPSBmdW5j
dGlvbiAoXG4gICAgZXhwT3JGbixcbiAgICBjYixcbiAgICBvcHRpb25zXG4gICkge1xuICAgIHZh
ciB2bSA9IHRoaXM7XG4gICAgaWYgKGlzUGxhaW5PYmplY3QoY2IpKSB7XG4gICAgICByZXR1cm4g
Y3JlYXRlV2F0Y2hlcih2bSwgZXhwT3JGbiwgY2IsIG9wdGlvbnMpXG4gICAgfVxuICAgIG9wdGlv
bnMgPSBvcHRpb25zIHx8IHt9O1xuICAgIG9wdGlvbnMudXNlciA9IHRydWU7XG4gICAgdmFyIHdh
dGNoZXIgPSBuZXcgV2F0Y2hlcih2bSwgZXhwT3JGbiwgY2IsIG9wdGlvbnMpO1xuICAgIGlmIChv
cHRpb25zLmltbWVkaWF0ZSkge1xuICAgICAgY2IuY2FsbCh2bSwgd2F0Y2hlci52YWx1ZSk7XG4g
ICAgfVxuICAgIHJldHVybiBmdW5jdGlvbiB1bndhdGNoRm4gKCkge1xuICAgICAgd2F0Y2hlci50
ZWFyZG93bigpO1xuICAgIH1cbiAgfTtcbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGluaXRQcm92
aWRlICh2bSkge1xuICB2YXIgcHJvdmlkZSA9IHZtLiRvcHRpb25zLnByb3ZpZGU7XG4gIGlmIChw
cm92aWRlKSB7XG4gICAgdm0uX3Byb3ZpZGVkID0gdHlwZW9mIHByb3ZpZGUgPT09ICdmdW5jdGlv
bidcbiAgICAgID8gcHJvdmlkZS5jYWxsKHZtKVxuICAgICAgOiBwcm92aWRlO1xuICB9XG59XG5c
bmZ1bmN0aW9uIGluaXRJbmplY3Rpb25zICh2bSkge1xuICB2YXIgcmVzdWx0ID0gcmVzb2x2ZUlu
amVjdCh2bS4kb3B0aW9ucy5pbmplY3QsIHZtKTtcbiAgaWYgKHJlc3VsdCkge1xuICAgIG9ic2Vy
dmVyU3RhdGUuc2hvdWxkQ29udmVydCA9IGZhbHNlO1xuICAgIE9iamVjdC5rZXlzKHJlc3VsdCku
Zm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAq
L1xuICAgICAgaWYgKGZhbHNlKSB7XG4gICAgICAgIGRlZmluZVJlYWN0aXZlJCQxKHZtLCBrZXks
IHJlc3VsdFtrZXldLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgd2FybihcbiAgICAgICAgICAg
IFwiQXZvaWQgbXV0YXRpbmcgYW4gaW5qZWN0ZWQgdmFsdWUgZGlyZWN0bHkgc2luY2UgdGhlIGNo
YW5nZXMgd2lsbCBiZSBcIiArXG4gICAgICAgICAgICBcIm92ZXJ3cml0dGVuIHdoZW5ldmVyIHRo
ZSBwcm92aWRlZCBjb21wb25lbnQgcmUtcmVuZGVycy4gXCIgK1xuICAgICAgICAgICAgXCJpbmpl
Y3Rpb24gYmVpbmcgbXV0YXRlZDogXFxcIlwiICsga2V5ICsgXCJcXFwiXCIsXG4gICAgICAgICAg
ICB2bVxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAg
ZGVmaW5lUmVhY3RpdmUkJDEodm0sIGtleSwgcmVzdWx0W2tleV0pO1xuICAgICAgfVxuICAgIH0p
O1xuICAgIG9ic2VydmVyU3RhdGUuc2hvdWxkQ29udmVydCA9IHRydWU7XG4gIH1cbn1cblxuZnVu
Y3Rpb24gcmVzb2x2ZUluamVjdCAoaW5qZWN0LCB2bSkge1xuICBpZiAoaW5qZWN0KSB7XG4gICAg
Ly8gaW5qZWN0IGlzIDphbnkgYmVjYXVzZSBmbG93IGlzIG5vdCBzbWFydCBlbm91Z2ggdG8gZmln
dXJlIG91dCBjYWNoZWRcbiAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAg
ICB2YXIga2V5cyA9IGhhc1N5bWJvbFxuICAgICAgICA/IFJlZmxlY3Qub3duS2V5cyhpbmplY3Qp
XG4gICAgICAgIDogT2JqZWN0LmtleXMoaW5qZWN0KTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBp
IDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGtleSA9IGtleXNbaV07XG4gICAgICB2
YXIgcHJvdmlkZUtleSA9IGluamVjdFtrZXldO1xuICAgICAgdmFyIHNvdXJjZSA9IHZtO1xuICAg
ICAgd2hpbGUgKHNvdXJjZSkge1xuICAgICAgICBpZiAoc291cmNlLl9wcm92aWRlZCAmJiBwcm92
aWRlS2V5IGluIHNvdXJjZS5fcHJvdmlkZWQpIHtcbiAgICAgICAgICByZXN1bHRba2V5XSA9IHNv
dXJjZS5fcHJvdmlkZWRbcHJvdmlkZUtleV07XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxu
ICAgICAgICBzb3VyY2UgPSBzb3VyY2UuJHBhcmVudDtcbiAgICAgIH1cbiAgICAgIGlmIChmYWxz
ZSkge1xuICAgICAgICB3YXJuKChcIkluamVjdGlvbiBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgbm90
IGZvdW5kXCIpLCB2bSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHRcbiAgfVxu
fVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gY3JlYXRlRnVuY3Rpb25hbENvbXBvbmVudCAoXG4gIEN0
b3IsXG4gIHByb3BzRGF0YSxcbiAgZGF0YSxcbiAgY29udGV4dCxcbiAgY2hpbGRyZW5cbikge1xu
ICB2YXIgcHJvcHMgPSB7fTtcbiAgdmFyIHByb3BPcHRpb25zID0gQ3Rvci5vcHRpb25zLnByb3Bz
O1xuICBpZiAoaXNEZWYocHJvcE9wdGlvbnMpKSB7XG4gICAgZm9yICh2YXIga2V5IGluIHByb3BP
cHRpb25zKSB7XG4gICAgICBwcm9wc1trZXldID0gdmFsaWRhdGVQcm9wKGtleSwgcHJvcE9wdGlv
bnMsIHByb3BzRGF0YSB8fCB7fSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChpc0RlZihk
YXRhLmF0dHJzKSkgeyBtZXJnZVByb3BzKHByb3BzLCBkYXRhLmF0dHJzKTsgfVxuICAgIGlmIChp
c0RlZihkYXRhLnByb3BzKSkgeyBtZXJnZVByb3BzKHByb3BzLCBkYXRhLnByb3BzKTsgfVxuICB9
XG4gIC8vIGVuc3VyZSB0aGUgY3JlYXRlRWxlbWVudCBmdW5jdGlvbiBpbiBmdW5jdGlvbmFsIGNv
bXBvbmVudHNcbiAgLy8gZ2V0cyBhIHVuaXF1ZSBjb250ZXh0IC0gdGhpcyBpcyBuZWNlc3Nhcnkg
Zm9yIGNvcnJlY3QgbmFtZWQgc2xvdCBjaGVja1xuICB2YXIgX2NvbnRleHQgPSBPYmplY3QuY3Jl
YXRlKGNvbnRleHQpO1xuICB2YXIgaCA9IGZ1bmN0aW9uIChhLCBiLCBjLCBkKSB7IHJldHVybiBj
cmVhdGVFbGVtZW50KF9jb250ZXh0LCBhLCBiLCBjLCBkLCB0cnVlKTsgfTtcbiAgdmFyIHZub2Rl
ID0gQ3Rvci5vcHRpb25zLnJlbmRlci5jYWxsKG51bGwsIGgsIHtcbiAgICBkYXRhOiBkYXRhLFxu
ICAgIHByb3BzOiBwcm9wcyxcbiAgICBjaGlsZHJlbjogY2hpbGRyZW4sXG4gICAgcGFyZW50OiBj
b250ZXh0LFxuICAgIGxpc3RlbmVyczogZGF0YS5vbiB8fCB7fSxcbiAgICBpbmplY3Rpb25zOiBy
ZXNvbHZlSW5qZWN0KEN0b3Iub3B0aW9ucy5pbmplY3QsIGNvbnRleHQpLFxuICAgIHNsb3RzOiBm
dW5jdGlvbiAoKSB7IHJldHVybiByZXNvbHZlU2xvdHMoY2hpbGRyZW4sIGNvbnRleHQpOyB9XG4g
IH0pO1xuICBpZiAodm5vZGUgaW5zdGFuY2VvZiBWTm9kZSkge1xuICAgIHZub2RlLmZ1bmN0aW9u
YWxDb250ZXh0ID0gY29udGV4dDtcbiAgICB2bm9kZS5mdW5jdGlvbmFsT3B0aW9ucyA9IEN0b3Iu
b3B0aW9ucztcbiAgICBpZiAoZGF0YS5zbG90KSB7XG4gICAgICAodm5vZGUuZGF0YSB8fCAodm5v
ZGUuZGF0YSA9IHt9KSkuc2xvdCA9IGRhdGEuc2xvdDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHZu
b2RlXG59XG5cbmZ1bmN0aW9uIG1lcmdlUHJvcHMgKHRvLCBmcm9tKSB7XG4gIGZvciAodmFyIGtl
eSBpbiBmcm9tKSB7XG4gICAgdG9bY2FtZWxpemUoa2V5KV0gPSBmcm9tW2tleV07XG4gIH1cbn1c
blxuLyogICovXG5cbi8vIGhvb2tzIHRvIGJlIGludm9rZWQgb24gY29tcG9uZW50IFZOb2RlcyBk
dXJpbmcgcGF0Y2hcbnZhciBjb21wb25lbnRWTm9kZUhvb2tzID0ge1xuICBpbml0OiBmdW5jdGlv
biBpbml0IChcbiAgICB2bm9kZSxcbiAgICBoeWRyYXRpbmcsXG4gICAgcGFyZW50RWxtLFxuICAg
IHJlZkVsbVxuICApIHtcbiAgICBpZiAoIXZub2RlLmNvbXBvbmVudEluc3RhbmNlIHx8IHZub2Rl
LmNvbXBvbmVudEluc3RhbmNlLl9pc0Rlc3Ryb3llZCkge1xuICAgICAgdmFyIGNoaWxkID0gdm5v
ZGUuY29tcG9uZW50SW5zdGFuY2UgPSBjcmVhdGVDb21wb25lbnRJbnN0YW5jZUZvclZub2RlKFxu
ICAgICAgICB2bm9kZSxcbiAgICAgICAgYWN0aXZlSW5zdGFuY2UsXG4gICAgICAgIHBhcmVudEVs
bSxcbiAgICAgICAgcmVmRWxtXG4gICAgICApO1xuICAgICAgY2hpbGQuJG1vdW50KGh5ZHJhdGlu
ZyA/IHZub2RlLmVsbSA6IHVuZGVmaW5lZCwgaHlkcmF0aW5nKTtcbiAgICB9IGVsc2UgaWYgKHZu
b2RlLmRhdGEua2VlcEFsaXZlKSB7XG4gICAgICAvLyBrZXB0LWFsaXZlIGNvbXBvbmVudHMsIHRy
ZWF0IGFzIGEgcGF0Y2hcbiAgICAgIHZhciBtb3VudGVkTm9kZSA9IHZub2RlOyAvLyB3b3JrIGFy
b3VuZCBmbG93XG4gICAgICBjb21wb25lbnRWTm9kZUhvb2tzLnByZXBhdGNoKG1vdW50ZWROb2Rl
LCBtb3VudGVkTm9kZSk7XG4gICAgfVxuICB9LFxuXG4gIHByZXBhdGNoOiBmdW5jdGlvbiBwcmVw
YXRjaCAob2xkVm5vZGUsIHZub2RlKSB7XG4gICAgdmFyIG9wdGlvbnMgPSB2bm9kZS5jb21wb25l
bnRPcHRpb25zO1xuICAgIHZhciBjaGlsZCA9IHZub2RlLmNvbXBvbmVudEluc3RhbmNlID0gb2xk
Vm5vZGUuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgdXBkYXRlQ2hpbGRDb21wb25lbnQoXG4gICAg
ICBjaGlsZCxcbiAgICAgIG9wdGlvbnMucHJvcHNEYXRhLCAvLyB1cGRhdGVkIHByb3BzXG4gICAg
ICBvcHRpb25zLmxpc3RlbmVycywgLy8gdXBkYXRlZCBsaXN0ZW5lcnNcbiAgICAgIHZub2RlLCAv
LyBuZXcgcGFyZW50IHZub2RlXG4gICAgICBvcHRpb25zLmNoaWxkcmVuIC8vIG5ldyBjaGlsZHJl
blxuICAgICk7XG4gIH0sXG5cbiAgaW5zZXJ0OiBmdW5jdGlvbiBpbnNlcnQgKHZub2RlKSB7XG4g
ICAgdmFyIGNvbnRleHQgPSB2bm9kZS5jb250ZXh0O1xuICAgIHZhciBjb21wb25lbnRJbnN0YW5j
ZSA9IHZub2RlLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIGlmICghY29tcG9uZW50SW5zdGFuY2Uu
X2lzTW91bnRlZCkge1xuICAgICAgY29tcG9uZW50SW5zdGFuY2UuX2lzTW91bnRlZCA9IHRydWU7
XG4gICAgICBjYWxsSG9vayhjb21wb25lbnRJbnN0YW5jZSwgJ21vdW50ZWQnKTtcbiAgICB9XG4g
ICAgaWYgKHZub2RlLmRhdGEua2VlcEFsaXZlKSB7XG4gICAgICBpZiAoY29udGV4dC5faXNNb3Vu
dGVkKSB7XG4gICAgICAgIC8vIHZ1ZS1yb3V0ZXIjMTIxMlxuICAgICAgICAvLyBEdXJpbmcgdXBk
YXRlcywgYSBrZXB0LWFsaXZlIGNvbXBvbmVudCdzIGNoaWxkIGNvbXBvbmVudHMgbWF5XG4gICAg
ICAgIC8vIGNoYW5nZSwgc28gZGlyZWN0bHkgd2Fsa2luZyB0aGUgdHJlZSBoZXJlIG1heSBjYWxs
IGFjdGl2YXRlZCBob29rc1xuICAgICAgICAvLyBvbiBpbmNvcnJlY3QgY2hpbGRyZW4uIEluc3Rl
YWQgd2UgcHVzaCB0aGVtIGludG8gYSBxdWV1ZSB3aGljaCB3aWxsXG4gICAgICAgIC8vIGJlIHBy
b2Nlc3NlZCBhZnRlciB0aGUgd2hvbGUgcGF0Y2ggcHJvY2VzcyBlbmRlZC5cbiAgICAgICAgcXVl
dWVBY3RpdmF0ZWRDb21wb25lbnQoY29tcG9uZW50SW5zdGFuY2UpO1xuICAgICAgfSBlbHNlIHtc
biAgICAgICAgYWN0aXZhdGVDaGlsZENvbXBvbmVudChjb21wb25lbnRJbnN0YW5jZSwgdHJ1ZSAv
KiBkaXJlY3QgKi8pO1xuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICBkZXN0cm95OiBmdW5jdGlv
biBkZXN0cm95ICh2bm9kZSkge1xuICAgIHZhciBjb21wb25lbnRJbnN0YW5jZSA9IHZub2RlLmNv
bXBvbmVudEluc3RhbmNlO1xuICAgIGlmICghY29tcG9uZW50SW5zdGFuY2UuX2lzRGVzdHJveWVk
KSB7XG4gICAgICBpZiAoIXZub2RlLmRhdGEua2VlcEFsaXZlKSB7XG4gICAgICAgIGNvbXBvbmVu
dEluc3RhbmNlLiRkZXN0cm95KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWFjdGl2YXRl
Q2hpbGRDb21wb25lbnQoY29tcG9uZW50SW5zdGFuY2UsIHRydWUgLyogZGlyZWN0ICovKTtcbiAg
ICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbnZhciBob29rc1RvTWVyZ2UgPSBPYmplY3Qua2V5cyhj
b21wb25lbnRWTm9kZUhvb2tzKTtcblxuZnVuY3Rpb24gY3JlYXRlQ29tcG9uZW50IChcbiAgQ3Rv
cixcbiAgZGF0YSxcbiAgY29udGV4dCxcbiAgY2hpbGRyZW4sXG4gIHRhZ1xuKSB7XG4gIGlmIChp
c1VuZGVmKEN0b3IpKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICB2YXIgYmFzZUN0b3IgPSBjb250
ZXh0LiRvcHRpb25zLl9iYXNlO1xuXG4gIC8vIHBsYWluIG9wdGlvbnMgb2JqZWN0OiB0dXJuIGl0
IGludG8gYSBjb25zdHJ1Y3RvclxuICBpZiAoaXNPYmplY3QoQ3RvcikpIHtcbiAgICBDdG9yID0g
YmFzZUN0b3IuZXh0ZW5kKEN0b3IpO1xuICB9XG5cbiAgLy8gaWYgYXQgdGhpcyBzdGFnZSBpdCdz
IG5vdCBhIGNvbnN0cnVjdG9yIG9yIGFuIGFzeW5jIGNvbXBvbmVudCBmYWN0b3J5LFxuICAvLyBy
ZWplY3QuXG4gIGlmICh0eXBlb2YgQ3RvciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIGlmIChmYWxz
ZSkge1xuICAgICAgd2FybigoXCJJbnZhbGlkIENvbXBvbmVudCBkZWZpbml0aW9uOiBcIiArIChT
dHJpbmcoQ3RvcikpKSwgY29udGV4dCk7XG4gICAgfVxuICAgIHJldHVyblxuICB9XG5cbiAgLy8g
YXN5bmMgY29tcG9uZW50XG4gIHZhciBhc3luY0ZhY3Rvcnk7XG4gIGlmIChpc1VuZGVmKEN0b3Iu
Y2lkKSkge1xuICAgIGFzeW5jRmFjdG9yeSA9IEN0b3I7XG4gICAgQ3RvciA9IHJlc29sdmVBc3lu
Y0NvbXBvbmVudChhc3luY0ZhY3RvcnksIGJhc2VDdG9yLCBjb250ZXh0KTtcbiAgICBpZiAoQ3Rv
ciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyByZXR1cm4gYSBwbGFjZWhvbGRlciBub2RlIGZv
ciBhc3luYyBjb21wb25lbnQsIHdoaWNoIGlzIHJlbmRlcmVkXG4gICAgICAvLyBhcyBhIGNvbW1l
bnQgbm9kZSBidXQgcHJlc2VydmVzIGFsbCB0aGUgcmF3IGluZm9ybWF0aW9uIGZvciB0aGUgbm9k
ZS5cbiAgICAgIC8vIHRoZSBpbmZvcm1hdGlvbiB3aWxsIGJlIHVzZWQgZm9yIGFzeW5jIHNlcnZl
ci1yZW5kZXJpbmcgYW5kIGh5ZHJhdGlvbi5cbiAgICAgIHJldHVybiBjcmVhdGVBc3luY1BsYWNl
aG9sZGVyKFxuICAgICAgICBhc3luY0ZhY3RvcnksXG4gICAgICAgIGRhdGEsXG4gICAgICAgIGNv
bnRleHQsXG4gICAgICAgIGNoaWxkcmVuLFxuICAgICAgICB0YWdcbiAgICAgIClcbiAgICB9XG4g
IH1cblxuICBkYXRhID0gZGF0YSB8fCB7fTtcblxuICAvLyByZXNvbHZlIGNvbnN0cnVjdG9yIG9w
dGlvbnMgaW4gY2FzZSBnbG9iYWwgbWl4aW5zIGFyZSBhcHBsaWVkIGFmdGVyXG4gIC8vIGNvbXBv
bmVudCBjb25zdHJ1Y3RvciBjcmVhdGlvblxuICByZXNvbHZlQ29uc3RydWN0b3JPcHRpb25zKEN0
b3IpO1xuXG4gIC8vIHRyYW5zZm9ybSBjb21wb25lbnQgdi1tb2RlbCBkYXRhIGludG8gcHJvcHMg
JiBldmVudHNcbiAgaWYgKGlzRGVmKGRhdGEubW9kZWwpKSB7XG4gICAgdHJhbnNmb3JtTW9kZWwo
Q3Rvci5vcHRpb25zLCBkYXRhKTtcbiAgfVxuXG4gIC8vIGV4dHJhY3QgcHJvcHNcbiAgdmFyIHBy
b3BzRGF0YSA9IGV4dHJhY3RQcm9wc0Zyb21WTm9kZURhdGEoZGF0YSwgQ3RvciwgdGFnKTtcblxu
ICAvLyBmdW5jdGlvbmFsIGNvbXBvbmVudFxuICBpZiAoaXNUcnVlKEN0b3Iub3B0aW9ucy5mdW5j
dGlvbmFsKSkge1xuICAgIHJldHVybiBjcmVhdGVGdW5jdGlvbmFsQ29tcG9uZW50KEN0b3IsIHBy
b3BzRGF0YSwgZGF0YSwgY29udGV4dCwgY2hpbGRyZW4pXG4gIH1cblxuICAvLyBleHRyYWN0IGxp
c3RlbmVycywgc2luY2UgdGhlc2UgbmVlZHMgdG8gYmUgdHJlYXRlZCBhc1xuICAvLyBjaGlsZCBj
b21wb25lbnQgbGlzdGVuZXJzIGluc3RlYWQgb2YgRE9NIGxpc3RlbmVyc1xuICB2YXIgbGlzdGVu
ZXJzID0gZGF0YS5vbjtcbiAgLy8gcmVwbGFjZSB3aXRoIGxpc3RlbmVycyB3aXRoIC5uYXRpdmUg
bW9kaWZpZXJcbiAgLy8gc28gaXQgZ2V0cyBwcm9jZXNzZWQgZHVyaW5nIHBhcmVudCBjb21wb25l
bnQgcGF0Y2guXG4gIGRhdGEub24gPSBkYXRhLm5hdGl2ZU9uO1xuXG4gIGlmIChpc1RydWUoQ3Rv
ci5vcHRpb25zLmFic3RyYWN0KSkge1xuICAgIC8vIGFic3RyYWN0IGNvbXBvbmVudHMgZG8gbm90
IGtlZXAgYW55dGhpbmdcbiAgICAvLyBvdGhlciB0aGFuIHByb3BzICYgbGlzdGVuZXJzICYgc2xv
dFxuXG4gICAgLy8gd29yayBhcm91bmQgZmxvd1xuICAgIHZhciBzbG90ID0gZGF0YS5zbG90O1xu
ICAgIGRhdGEgPSB7fTtcbiAgICBpZiAoc2xvdCkge1xuICAgICAgZGF0YS5zbG90ID0gc2xvdDtc
biAgICB9XG4gIH1cblxuICAvLyBtZXJnZSBjb21wb25lbnQgbWFuYWdlbWVudCBob29rcyBvbnRv
IHRoZSBwbGFjZWhvbGRlciBub2RlXG4gIG1lcmdlSG9va3MoZGF0YSk7XG5cbiAgLy8gcmV0dXJu
IGEgcGxhY2Vob2xkZXIgdm5vZGVcbiAgdmFyIG5hbWUgPSBDdG9yLm9wdGlvbnMubmFtZSB8fCB0
YWc7XG4gIHZhciB2bm9kZSA9IG5ldyBWTm9kZShcbiAgICAoXCJ2dWUtY29tcG9uZW50LVwiICsg
KEN0b3IuY2lkKSArIChuYW1lID8gKFwiLVwiICsgbmFtZSkgOiAnJykpLFxuICAgIGRhdGEsIHVu
ZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGNvbnRleHQsXG4gICAgeyBDdG9yOiBDdG9y
LCBwcm9wc0RhdGE6IHByb3BzRGF0YSwgbGlzdGVuZXJzOiBsaXN0ZW5lcnMsIHRhZzogdGFnLCBj
aGlsZHJlbjogY2hpbGRyZW4gfSxcbiAgICBhc3luY0ZhY3RvcnlcbiAgKTtcbiAgcmV0dXJuIHZu
b2RlXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbXBvbmVudEluc3RhbmNlRm9yVm5vZGUgKFxuICB2
bm9kZSwgLy8gd2Uga25vdyBpdCdzIE1vdW50ZWRDb21wb25lbnRWTm9kZSBidXQgZmxvdyBkb2Vz
bid0XG4gIHBhcmVudCwgLy8gYWN0aXZlSW5zdGFuY2UgaW4gbGlmZWN5Y2xlIHN0YXRlXG4gIHBh
cmVudEVsbSxcbiAgcmVmRWxtXG4pIHtcbiAgdmFyIHZub2RlQ29tcG9uZW50T3B0aW9ucyA9IHZu
b2RlLmNvbXBvbmVudE9wdGlvbnM7XG4gIHZhciBvcHRpb25zID0ge1xuICAgIF9pc0NvbXBvbmVu
dDogdHJ1ZSxcbiAgICBwYXJlbnQ6IHBhcmVudCxcbiAgICBwcm9wc0RhdGE6IHZub2RlQ29tcG9u
ZW50T3B0aW9ucy5wcm9wc0RhdGEsXG4gICAgX2NvbXBvbmVudFRhZzogdm5vZGVDb21wb25lbnRP
cHRpb25zLnRhZyxcbiAgICBfcGFyZW50Vm5vZGU6IHZub2RlLFxuICAgIF9wYXJlbnRMaXN0ZW5l
cnM6IHZub2RlQ29tcG9uZW50T3B0aW9ucy5saXN0ZW5lcnMsXG4gICAgX3JlbmRlckNoaWxkcmVu
OiB2bm9kZUNvbXBvbmVudE9wdGlvbnMuY2hpbGRyZW4sXG4gICAgX3BhcmVudEVsbTogcGFyZW50
RWxtIHx8IG51bGwsXG4gICAgX3JlZkVsbTogcmVmRWxtIHx8IG51bGxcbiAgfTtcbiAgLy8gY2hl
Y2sgaW5saW5lLXRlbXBsYXRlIHJlbmRlciBmdW5jdGlvbnNcbiAgdmFyIGlubGluZVRlbXBsYXRl
ID0gdm5vZGUuZGF0YS5pbmxpbmVUZW1wbGF0ZTtcbiAgaWYgKGlzRGVmKGlubGluZVRlbXBsYXRl
KSkge1xuICAgIG9wdGlvbnMucmVuZGVyID0gaW5saW5lVGVtcGxhdGUucmVuZGVyO1xuICAgIG9w
dGlvbnMuc3RhdGljUmVuZGVyRm5zID0gaW5saW5lVGVtcGxhdGUuc3RhdGljUmVuZGVyRm5zO1xu
ICB9XG4gIHJldHVybiBuZXcgdm5vZGVDb21wb25lbnRPcHRpb25zLkN0b3Iob3B0aW9ucylcbn1c
blxuZnVuY3Rpb24gbWVyZ2VIb29rcyAoZGF0YSkge1xuICBpZiAoIWRhdGEuaG9vaykge1xuICAg
IGRhdGEuaG9vayA9IHt9O1xuICB9XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgaG9va3NUb01lcmdl
Lmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGtleSA9IGhvb2tzVG9NZXJnZVtpXTtcbiAgICB2YXIg
ZnJvbVBhcmVudCA9IGRhdGEuaG9va1trZXldO1xuICAgIHZhciBvdXJzID0gY29tcG9uZW50Vk5v
ZGVIb29rc1trZXldO1xuICAgIGRhdGEuaG9va1trZXldID0gZnJvbVBhcmVudCA/IG1lcmdlSG9v
ayQxKG91cnMsIGZyb21QYXJlbnQpIDogb3VycztcbiAgfVxufVxuXG5mdW5jdGlvbiBtZXJnZUhv
b2skMSAob25lLCB0d28pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChhLCBiLCBjLCBkKSB7XG4gICAg
b25lKGEsIGIsIGMsIGQpO1xuICAgIHR3byhhLCBiLCBjLCBkKTtcbiAgfVxufVxuXG4vLyB0cmFu
c2Zvcm0gY29tcG9uZW50IHYtbW9kZWwgaW5mbyAodmFsdWUgYW5kIGNhbGxiYWNrKSBpbnRvXG4v
LyBwcm9wIGFuZCBldmVudCBoYW5kbGVyIHJlc3BlY3RpdmVseS5cbmZ1bmN0aW9uIHRyYW5zZm9y
bU1vZGVsIChvcHRpb25zLCBkYXRhKSB7XG4gIHZhciBwcm9wID0gKG9wdGlvbnMubW9kZWwgJiYg
b3B0aW9ucy5tb2RlbC5wcm9wKSB8fCAndmFsdWUnO1xuICB2YXIgZXZlbnQgPSAob3B0aW9ucy5t
b2RlbCAmJiBvcHRpb25zLm1vZGVsLmV2ZW50KSB8fCAnaW5wdXQnOyhkYXRhLnByb3BzIHx8IChk
YXRhLnByb3BzID0ge30pKVtwcm9wXSA9IGRhdGEubW9kZWwudmFsdWU7XG4gIHZhciBvbiA9IGRh
dGEub24gfHwgKGRhdGEub24gPSB7fSk7XG4gIGlmIChpc0RlZihvbltldmVudF0pKSB7XG4gICAg
b25bZXZlbnRdID0gW2RhdGEubW9kZWwuY2FsbGJhY2tdLmNvbmNhdChvbltldmVudF0pO1xuICB9
IGVsc2Uge1xuICAgIG9uW2V2ZW50XSA9IGRhdGEubW9kZWwuY2FsbGJhY2s7XG4gIH1cbn1cblxu
LyogICovXG5cbnZhciBTSU1QTEVfTk9STUFMSVpFID0gMTtcbnZhciBBTFdBWVNfTk9STUFMSVpF
ID0gMjtcblxuLy8gd3JhcHBlciBmdW5jdGlvbiBmb3IgcHJvdmlkaW5nIGEgbW9yZSBmbGV4aWJs
ZSBpbnRlcmZhY2Vcbi8vIHdpdGhvdXQgZ2V0dGluZyB5ZWxsZWQgYXQgYnkgZmxvd1xuZnVuY3Rp
b24gY3JlYXRlRWxlbWVudCAoXG4gIGNvbnRleHQsXG4gIHRhZyxcbiAgZGF0YSxcbiAgY2hpbGRy
ZW4sXG4gIG5vcm1hbGl6YXRpb25UeXBlLFxuICBhbHdheXNOb3JtYWxpemVcbikge1xuICBpZiAo
QXJyYXkuaXNBcnJheShkYXRhKSB8fCBpc1ByaW1pdGl2ZShkYXRhKSkge1xuICAgIG5vcm1hbGl6
YXRpb25UeXBlID0gY2hpbGRyZW47XG4gICAgY2hpbGRyZW4gPSBkYXRhO1xuICAgIGRhdGEgPSB1
bmRlZmluZWQ7XG4gIH1cbiAgaWYgKGlzVHJ1ZShhbHdheXNOb3JtYWxpemUpKSB7XG4gICAgbm9y
bWFsaXphdGlvblR5cGUgPSBBTFdBWVNfTk9STUFMSVpFO1xuICB9XG4gIHJldHVybiBfY3JlYXRl
RWxlbWVudChjb250ZXh0LCB0YWcsIGRhdGEsIGNoaWxkcmVuLCBub3JtYWxpemF0aW9uVHlwZSlc
bn1cblxuZnVuY3Rpb24gX2NyZWF0ZUVsZW1lbnQgKFxuICBjb250ZXh0LFxuICB0YWcsXG4gIGRh
dGEsXG4gIGNoaWxkcmVuLFxuICBub3JtYWxpemF0aW9uVHlwZVxuKSB7XG4gIGlmIChpc0RlZihk
YXRhKSAmJiBpc0RlZigoZGF0YSkuX19vYl9fKSkge1xuICAgIFwicHJvZHVjdGlvblwiICE9PSAn
cHJvZHVjdGlvbicgJiYgd2FybihcbiAgICAgIFwiQXZvaWQgdXNpbmcgb2JzZXJ2ZWQgZGF0YSBv
YmplY3QgYXMgdm5vZGUgZGF0YTogXCIgKyAoSlNPTi5zdHJpbmdpZnkoZGF0YSkpICsgXCJcXG5c
IiArXG4gICAgICAnQWx3YXlzIGNyZWF0ZSBmcmVzaCB2bm9kZSBkYXRhIG9iamVjdHMgaW4gZWFj
aCByZW5kZXIhJyxcbiAgICAgIGNvbnRleHRcbiAgICApO1xuICAgIHJldHVybiBjcmVhdGVFbXB0
eVZOb2RlKClcbiAgfVxuICAvLyBvYmplY3Qgc3ludGF4IGluIHYtYmluZFxuICBpZiAoaXNEZWYo
ZGF0YSkgJiYgaXNEZWYoZGF0YS5pcykpIHtcbiAgICB0YWcgPSBkYXRhLmlzO1xuICB9XG4gIGlm
ICghdGFnKSB7XG4gICAgLy8gaW4gY2FzZSBvZiBjb21wb25lbnQgOmlzIHNldCB0byBmYWxzeSB2
YWx1ZVxuICAgIHJldHVybiBjcmVhdGVFbXB0eVZOb2RlKClcbiAgfVxuICAvLyB3YXJuIGFnYWlu
c3Qgbm9uLXByaW1pdGl2ZSBrZXlcbiAgaWYgKGZhbHNlXG4gICkge1xuICAgIHdhcm4oXG4gICAg
ICAnQXZvaWQgdXNpbmcgbm9uLXByaW1pdGl2ZSB2YWx1ZSBhcyBrZXksICcgK1xuICAgICAgJ3Vz
ZSBzdHJpbmcvbnVtYmVyIHZhbHVlIGluc3RlYWQuJyxcbiAgICAgIGNvbnRleHRcbiAgICApO1xu
ICB9XG4gIC8vIHN1cHBvcnQgc2luZ2xlIGZ1bmN0aW9uIGNoaWxkcmVuIGFzIGRlZmF1bHQgc2Nv
cGVkIHNsb3RcbiAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pICYmXG4gICAgdHlwZW9mIGNo
aWxkcmVuWzBdID09PSAnZnVuY3Rpb24nXG4gICkge1xuICAgIGRhdGEgPSBkYXRhIHx8IHt9O1xu
ICAgIGRhdGEuc2NvcGVkU2xvdHMgPSB7IGRlZmF1bHQ6IGNoaWxkcmVuWzBdIH07XG4gICAgY2hp
bGRyZW4ubGVuZ3RoID0gMDtcbiAgfVxuICBpZiAobm9ybWFsaXphdGlvblR5cGUgPT09IEFMV0FZ
U19OT1JNQUxJWkUpIHtcbiAgICBjaGlsZHJlbiA9IG5vcm1hbGl6ZUNoaWxkcmVuKGNoaWxkcmVu
KTtcbiAgfSBlbHNlIGlmIChub3JtYWxpemF0aW9uVHlwZSA9PT0gU0lNUExFX05PUk1BTElaRSkg
e1xuICAgIGNoaWxkcmVuID0gc2ltcGxlTm9ybWFsaXplQ2hpbGRyZW4oY2hpbGRyZW4pO1xuICB9
XG4gIHZhciB2bm9kZSwgbnM7XG4gIGlmICh0eXBlb2YgdGFnID09PSAnc3RyaW5nJykge1xuICAg
IHZhciBDdG9yO1xuICAgIG5zID0gY29uZmlnLmdldFRhZ05hbWVzcGFjZSh0YWcpO1xuICAgIGlm
IChjb25maWcuaXNSZXNlcnZlZFRhZyh0YWcpKSB7XG4gICAgICAvLyBwbGF0Zm9ybSBidWlsdC1p
biBlbGVtZW50c1xuICAgICAgdm5vZGUgPSBuZXcgVk5vZGUoXG4gICAgICAgIGNvbmZpZy5wYXJz
ZVBsYXRmb3JtVGFnTmFtZSh0YWcpLCBkYXRhLCBjaGlsZHJlbixcbiAgICAgICAgdW5kZWZpbmVk
LCB1bmRlZmluZWQsIGNvbnRleHRcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChpc0RlZihDdG9y
ID0gcmVzb2x2ZUFzc2V0KGNvbnRleHQuJG9wdGlvbnMsICdjb21wb25lbnRzJywgdGFnKSkpIHtc
biAgICAgIC8vIGNvbXBvbmVudFxuICAgICAgdm5vZGUgPSBjcmVhdGVDb21wb25lbnQoQ3Rvciwg
ZGF0YSwgY29udGV4dCwgY2hpbGRyZW4sIHRhZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHVu
a25vd24gb3IgdW5saXN0ZWQgbmFtZXNwYWNlZCBlbGVtZW50c1xuICAgICAgLy8gY2hlY2sgYXQg
cnVudGltZSBiZWNhdXNlIGl0IG1heSBnZXQgYXNzaWduZWQgYSBuYW1lc3BhY2Ugd2hlbiBpdHNc
biAgICAgIC8vIHBhcmVudCBub3JtYWxpemVzIGNoaWxkcmVuXG4gICAgICB2bm9kZSA9IG5ldyBW
Tm9kZShcbiAgICAgICAgdGFnLCBkYXRhLCBjaGlsZHJlbixcbiAgICAgICAgdW5kZWZpbmVkLCB1
bmRlZmluZWQsIGNvbnRleHRcbiAgICAgICk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIGRp
cmVjdCBjb21wb25lbnQgb3B0aW9ucyAvIGNvbnN0cnVjdG9yXG4gICAgdm5vZGUgPSBjcmVhdGVD
b21wb25lbnQodGFnLCBkYXRhLCBjb250ZXh0LCBjaGlsZHJlbik7XG4gIH1cbiAgaWYgKGlzRGVm
KHZub2RlKSkge1xuICAgIGlmIChucykgeyBhcHBseU5TKHZub2RlLCBucyk7IH1cbiAgICByZXR1
cm4gdm5vZGVcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gY3JlYXRlRW1wdHlWTm9kZSgpXG4gIH1c
bn1cblxuZnVuY3Rpb24gYXBwbHlOUyAodm5vZGUsIG5zKSB7XG4gIHZub2RlLm5zID0gbnM7XG4g
IGlmICh2bm9kZS50YWcgPT09ICdmb3JlaWduT2JqZWN0Jykge1xuICAgIC8vIHVzZSBkZWZhdWx0
IG5hbWVzcGFjZSBpbnNpZGUgZm9yZWlnbk9iamVjdFxuICAgIHJldHVyblxuICB9XG4gIGlmIChp
c0RlZih2bm9kZS5jaGlsZHJlbikpIHtcbiAgICBmb3IgKHZhciBpID0gMCwgbCA9IHZub2RlLmNo
aWxkcmVuLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgdmFyIGNoaWxkID0gdm5vZGUuY2hp
bGRyZW5baV07XG4gICAgICBpZiAoaXNEZWYoY2hpbGQudGFnKSAmJiBpc1VuZGVmKGNoaWxkLm5z
KSkge1xuICAgICAgICBhcHBseU5TKGNoaWxkLCBucyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59
XG5cbi8qICAqL1xuXG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciByZW5kZXJpbmcgdi1mb3Ig
bGlzdHMuXG4gKi9cbmZ1bmN0aW9uIHJlbmRlckxpc3QgKFxuICB2YWwsXG4gIHJlbmRlclxuKSB7
XG4gIHZhciByZXQsIGksIGwsIGtleXMsIGtleTtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsKSB8
fCB0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgIHJldCA9IG5ldyBBcnJheSh2YWwubGVu
Z3RoKTtcbiAgICBmb3IgKGkgPSAwLCBsID0gdmFsLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAg
ICAgcmV0W2ldID0gcmVuZGVyKHZhbFtpXSwgaSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKHR5cGVv
ZiB2YWwgPT09ICdudW1iZXInKSB7XG4gICAgcmV0ID0gbmV3IEFycmF5KHZhbCk7XG4gICAgZm9y
IChpID0gMDsgaSA8IHZhbDsgaSsrKSB7XG4gICAgICByZXRbaV0gPSByZW5kZXIoaSArIDEsIGkp
O1xuICAgIH1cbiAgfSBlbHNlIGlmIChpc09iamVjdCh2YWwpKSB7XG4gICAga2V5cyA9IE9iamVj
dC5rZXlzKHZhbCk7XG4gICAgcmV0ID0gbmV3IEFycmF5KGtleXMubGVuZ3RoKTtcbiAgICBmb3Ig
KGkgPSAwLCBsID0ga2V5cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGtleSA9IGtleXNb
aV07XG4gICAgICByZXRbaV0gPSByZW5kZXIodmFsW2tleV0sIGtleSwgaSk7XG4gICAgfVxuICB9
XG4gIGlmIChpc0RlZihyZXQpKSB7XG4gICAgKHJldCkuX2lzVkxpc3QgPSB0cnVlO1xuICB9XG4g
IHJldHVybiByZXRcbn1cblxuLyogICovXG5cbi8qKlxuICogUnVudGltZSBoZWxwZXIgZm9yIHJl
bmRlcmluZyA8c2xvdD5cbiAqL1xuZnVuY3Rpb24gcmVuZGVyU2xvdCAoXG4gIG5hbWUsXG4gIGZh
bGxiYWNrLFxuICBwcm9wcyxcbiAgYmluZE9iamVjdFxuKSB7XG4gIHZhciBzY29wZWRTbG90Rm4g
PSB0aGlzLiRzY29wZWRTbG90c1tuYW1lXTtcbiAgaWYgKHNjb3BlZFNsb3RGbikgeyAvLyBzY29w
ZWQgc2xvdFxuICAgIHByb3BzID0gcHJvcHMgfHwge307XG4gICAgaWYgKGJpbmRPYmplY3QpIHtc
biAgICAgIHByb3BzID0gZXh0ZW5kKGV4dGVuZCh7fSwgYmluZE9iamVjdCksIHByb3BzKTtcbiAg
ICB9XG4gICAgcmV0dXJuIHNjb3BlZFNsb3RGbihwcm9wcykgfHwgZmFsbGJhY2tcbiAgfSBlbHNl
IHtcbiAgICB2YXIgc2xvdE5vZGVzID0gdGhpcy4kc2xvdHNbbmFtZV07XG4gICAgLy8gd2FybiBk
dXBsaWNhdGUgc2xvdCB1c2FnZVxuICAgIGlmIChzbG90Tm9kZXMgJiYgXCJwcm9kdWN0aW9uXCIg
IT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgc2xvdE5vZGVzLl9yZW5kZXJlZCAmJiB3YXJuKFxu
ICAgICAgICBcIkR1cGxpY2F0ZSBwcmVzZW5jZSBvZiBzbG90IFxcXCJcIiArIG5hbWUgKyBcIlxc
XCIgZm91bmQgaW4gdGhlIHNhbWUgcmVuZGVyIHRyZWUgXCIgK1xuICAgICAgICBcIi0gdGhpcyB3
aWxsIGxpa2VseSBjYXVzZSByZW5kZXIgZXJyb3JzLlwiLFxuICAgICAgICB0aGlzXG4gICAgICAp
O1xuICAgICAgc2xvdE5vZGVzLl9yZW5kZXJlZCA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiBz
bG90Tm9kZXMgfHwgZmFsbGJhY2tcbiAgfVxufVxuXG4vKiAgKi9cblxuLyoqXG4gKiBSdW50aW1l
IGhlbHBlciBmb3IgcmVzb2x2aW5nIGZpbHRlcnNcbiAqL1xuZnVuY3Rpb24gcmVzb2x2ZUZpbHRl
ciAoaWQpIHtcbiAgcmV0dXJuIHJlc29sdmVBc3NldCh0aGlzLiRvcHRpb25zLCAnZmlsdGVycycs
IGlkLCB0cnVlKSB8fCBpZGVudGl0eVxufVxuXG4vKiAgKi9cblxuLyoqXG4gKiBSdW50aW1lIGhl
bHBlciBmb3IgY2hlY2tpbmcga2V5Q29kZXMgZnJvbSBjb25maWcuXG4gKi9cbmZ1bmN0aW9uIGNo
ZWNrS2V5Q29kZXMgKFxuICBldmVudEtleUNvZGUsXG4gIGtleSxcbiAgYnVpbHRJbkFsaWFzXG4p
IHtcbiAgdmFyIGtleUNvZGVzID0gY29uZmlnLmtleUNvZGVzW2tleV0gfHwgYnVpbHRJbkFsaWFz
O1xuICBpZiAoQXJyYXkuaXNBcnJheShrZXlDb2RlcykpIHtcbiAgICByZXR1cm4ga2V5Q29kZXMu
aW5kZXhPZihldmVudEtleUNvZGUpID09PSAtMVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBrZXlD
b2RlcyAhPT0gZXZlbnRLZXlDb2RlXG4gIH1cbn1cblxuLyogICovXG5cbi8qKlxuICogUnVudGlt
ZSBoZWxwZXIgZm9yIG1lcmdpbmcgdi1iaW5kPVwib2JqZWN0XCIgaW50byBhIFZOb2RlJ3MgZGF0
YS5cbiAqL1xuZnVuY3Rpb24gYmluZE9iamVjdFByb3BzIChcbiAgZGF0YSxcbiAgdGFnLFxuICB2
YWx1ZSxcbiAgYXNQcm9wLFxuICBpc1N5bmNcbikge1xuICBpZiAodmFsdWUpIHtcbiAgICBpZiAo
IWlzT2JqZWN0KHZhbHVlKSkge1xuICAgICAgXCJwcm9kdWN0aW9uXCIgIT09ICdwcm9kdWN0aW9u
JyAmJiB3YXJuKFxuICAgICAgICAndi1iaW5kIHdpdGhvdXQgYXJndW1lbnQgZXhwZWN0cyBhbiBP
YmplY3Qgb3IgQXJyYXkgdmFsdWUnLFxuICAgICAgICB0aGlzXG4gICAgICApO1xuICAgIH0gZWxz
ZSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgdmFsdWUgPSB0
b09iamVjdCh2YWx1ZSk7XG4gICAgICB9XG4gICAgICB2YXIgaGFzaDtcbiAgICAgIHZhciBsb29w
ID0gZnVuY3Rpb24gKCBrZXkgKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBrZXkgPT09ICdj
bGFzcycgfHxcbiAgICAgICAgICBrZXkgPT09ICdzdHlsZScgfHxcbiAgICAgICAgICBpc1Jlc2Vy
dmVkQXR0cmlidXRlKGtleSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgaGFzaCA9IGRhdGE7XG4g
ICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFyIHR5cGUgPSBkYXRhLmF0dHJzICYmIGRhdGEu
YXR0cnMudHlwZTtcbiAgICAgICAgICBoYXNoID0gYXNQcm9wIHx8IGNvbmZpZy5tdXN0VXNlUHJv
cCh0YWcsIHR5cGUsIGtleSlcbiAgICAgICAgICAgID8gZGF0YS5kb21Qcm9wcyB8fCAoZGF0YS5k
b21Qcm9wcyA9IHt9KVxuICAgICAgICAgICAgOiBkYXRhLmF0dHJzIHx8IChkYXRhLmF0dHJzID0g
e30pO1xuICAgICAgICB9XG4gICAgICAgIGlmICghKGtleSBpbiBoYXNoKSkge1xuICAgICAgICAg
IGhhc2hba2V5XSA9IHZhbHVlW2tleV07XG5cbiAgICAgICAgICBpZiAoaXNTeW5jKSB7XG4gICAg
ICAgICAgICB2YXIgb24gPSBkYXRhLm9uIHx8IChkYXRhLm9uID0ge30pO1xuICAgICAgICAgICAg
b25bKFwidXBkYXRlOlwiICsga2V5KV0gPSBmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgICAg
ICAgIHZhbHVlW2tleV0gPSAkZXZlbnQ7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAg
ICAgICAgfVxuICAgICAgfTtcblxuICAgICAgZm9yICh2YXIga2V5IGluIHZhbHVlKSBsb29wKCBr
ZXkgKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGRhdGFcbn1cblxuLyogICovXG5cbi8qKlxuICog
UnVudGltZSBoZWxwZXIgZm9yIHJlbmRlcmluZyBzdGF0aWMgdHJlZXMuXG4gKi9cbmZ1bmN0aW9u
IHJlbmRlclN0YXRpYyAoXG4gIGluZGV4LFxuICBpc0luRm9yXG4pIHtcbiAgdmFyIHRyZWUgPSB0
aGlzLl9zdGF0aWNUcmVlc1tpbmRleF07XG4gIC8vIGlmIGhhcyBhbHJlYWR5LXJlbmRlcmVkIHN0
YXRpYyB0cmVlIGFuZCBub3QgaW5zaWRlIHYtZm9yLFxuICAvLyB3ZSBjYW4gcmV1c2UgdGhlIHNh
bWUgdHJlZSBieSBkb2luZyBhIHNoYWxsb3cgY2xvbmUuXG4gIGlmICh0cmVlICYmICFpc0luRm9y
KSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodHJlZSlcbiAgICAgID8gY2xvbmVWTm9kZXMo
dHJlZSlcbiAgICAgIDogY2xvbmVWTm9kZSh0cmVlKVxuICB9XG4gIC8vIG90aGVyd2lzZSwgcmVu
ZGVyIGEgZnJlc2ggdHJlZS5cbiAgdHJlZSA9IHRoaXMuX3N0YXRpY1RyZWVzW2luZGV4XSA9XG4g
ICAgdGhpcy4kb3B0aW9ucy5zdGF0aWNSZW5kZXJGbnNbaW5kZXhdLmNhbGwodGhpcy5fcmVuZGVy
UHJveHkpO1xuICBtYXJrU3RhdGljKHRyZWUsIChcIl9fc3RhdGljX19cIiArIGluZGV4KSwgZmFs
c2UpO1xuICByZXR1cm4gdHJlZVxufVxuXG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciB2LW9u
Y2UuXG4gKiBFZmZlY3RpdmVseSBpdCBtZWFucyBtYXJraW5nIHRoZSBub2RlIGFzIHN0YXRpYyB3
aXRoIGEgdW5pcXVlIGtleS5cbiAqL1xuZnVuY3Rpb24gbWFya09uY2UgKFxuICB0cmVlLFxuICBp
bmRleCxcbiAga2V5XG4pIHtcbiAgbWFya1N0YXRpYyh0cmVlLCAoXCJfX29uY2VfX1wiICsgaW5k
ZXggKyAoa2V5ID8gKFwiX1wiICsga2V5KSA6IFwiXCIpKSwgdHJ1ZSk7XG4gIHJldHVybiB0cmVl
XG59XG5cbmZ1bmN0aW9uIG1hcmtTdGF0aWMgKFxuICB0cmVlLFxuICBrZXksXG4gIGlzT25jZVxu
KSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHRyZWUpKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkg
PCB0cmVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAodHJlZVtpXSAmJiB0eXBlb2YgdHJlZVtp
XSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgbWFya1N0YXRpY05vZGUodHJlZVtpXSwgKGtleSAr
IFwiX1wiICsgaSksIGlzT25jZSk7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG1h
cmtTdGF0aWNOb2RlKHRyZWUsIGtleSwgaXNPbmNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXJr
U3RhdGljTm9kZSAobm9kZSwga2V5LCBpc09uY2UpIHtcbiAgbm9kZS5pc1N0YXRpYyA9IHRydWU7
XG4gIG5vZGUua2V5ID0ga2V5O1xuICBub2RlLmlzT25jZSA9IGlzT25jZTtcbn1cblxuLyogICov
XG5cbmZ1bmN0aW9uIGJpbmRPYmplY3RMaXN0ZW5lcnMgKGRhdGEsIHZhbHVlKSB7XG4gIGlmICh2
YWx1ZSkge1xuICAgIGlmICghaXNQbGFpbk9iamVjdCh2YWx1ZSkpIHtcbiAgICAgIFwicHJvZHVj
dGlvblwiICE9PSAncHJvZHVjdGlvbicgJiYgd2FybihcbiAgICAgICAgJ3Ytb24gd2l0aG91dCBh
cmd1bWVudCBleHBlY3RzIGFuIE9iamVjdCB2YWx1ZScsXG4gICAgICAgIHRoaXNcbiAgICAgICk7
XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBvbiA9IGRhdGEub24gPSBkYXRhLm9uID8gZXh0ZW5k
KHt9LCBkYXRhLm9uKSA6IHt9O1xuICAgICAgZm9yICh2YXIga2V5IGluIHZhbHVlKSB7XG4gICAg
ICAgIHZhciBleGlzdGluZyA9IG9uW2tleV07XG4gICAgICAgIHZhciBvdXJzID0gdmFsdWVba2V5
XTtcbiAgICAgICAgb25ba2V5XSA9IGV4aXN0aW5nID8gW10uY29uY2F0KG91cnMsIGV4aXN0aW5n
KSA6IG91cnM7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBkYXRhXG59XG5cbi8qICAq
L1xuXG5mdW5jdGlvbiBpbml0UmVuZGVyICh2bSkge1xuICB2bS5fdm5vZGUgPSBudWxsOyAvLyB0
aGUgcm9vdCBvZiB0aGUgY2hpbGQgdHJlZVxuICB2bS5fc3RhdGljVHJlZXMgPSBudWxsO1xuICB2
YXIgcGFyZW50Vm5vZGUgPSB2bS4kdm5vZGUgPSB2bS4kb3B0aW9ucy5fcGFyZW50Vm5vZGU7IC8v
IHRoZSBwbGFjZWhvbGRlciBub2RlIGluIHBhcmVudCB0cmVlXG4gIHZhciByZW5kZXJDb250ZXh0
ID0gcGFyZW50Vm5vZGUgJiYgcGFyZW50Vm5vZGUuY29udGV4dDtcbiAgdm0uJHNsb3RzID0gcmVz
b2x2ZVNsb3RzKHZtLiRvcHRpb25zLl9yZW5kZXJDaGlsZHJlbiwgcmVuZGVyQ29udGV4dCk7XG4g
IHZtLiRzY29wZWRTbG90cyA9IGVtcHR5T2JqZWN0O1xuICAvLyBiaW5kIHRoZSBjcmVhdGVFbGVt
ZW50IGZuIHRvIHRoaXMgaW5zdGFuY2VcbiAgLy8gc28gdGhhdCB3ZSBnZXQgcHJvcGVyIHJlbmRl
ciBjb250ZXh0IGluc2lkZSBpdC5cbiAgLy8gYXJncyBvcmRlcjogdGFnLCBkYXRhLCBjaGlsZHJl
biwgbm9ybWFsaXphdGlvblR5cGUsIGFsd2F5c05vcm1hbGl6ZVxuICAvLyBpbnRlcm5hbCB2ZXJz
aW9uIGlzIHVzZWQgYnkgcmVuZGVyIGZ1bmN0aW9ucyBjb21waWxlZCBmcm9tIHRlbXBsYXRlc1xu
ICB2bS5fYyA9IGZ1bmN0aW9uIChhLCBiLCBjLCBkKSB7IHJldHVybiBjcmVhdGVFbGVtZW50KHZt
LCBhLCBiLCBjLCBkLCBmYWxzZSk7IH07XG4gIC8vIG5vcm1hbGl6YXRpb24gaXMgYWx3YXlzIGFw
cGxpZWQgZm9yIHRoZSBwdWJsaWMgdmVyc2lvbiwgdXNlZCBpblxuICAvLyB1c2VyLXdyaXR0ZW4g
cmVuZGVyIGZ1bmN0aW9ucy5cbiAgdm0uJGNyZWF0ZUVsZW1lbnQgPSBmdW5jdGlvbiAoYSwgYiwg
YywgZCkgeyByZXR1cm4gY3JlYXRlRWxlbWVudCh2bSwgYSwgYiwgYywgZCwgdHJ1ZSk7IH07XG5c
biAgLy8gJGF0dHJzICYgJGxpc3RlbmVycyBhcmUgZXhwb3NlZCBmb3IgZWFzaWVyIEhPQyBjcmVh
dGlvbi5cbiAgLy8gdGhleSBuZWVkIHRvIGJlIHJlYWN0aXZlIHNvIHRoYXQgSE9DcyB1c2luZyB0
aGVtIGFyZSBhbHdheXMgdXBkYXRlZFxuICB2YXIgcGFyZW50RGF0YSA9IHBhcmVudFZub2RlICYm
IHBhcmVudFZub2RlLmRhdGE7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gIGlmIChm
YWxzZSkge1xuICAgIGRlZmluZVJlYWN0aXZlJCQxKHZtLCAnJGF0dHJzJywgcGFyZW50RGF0YSAm
JiBwYXJlbnREYXRhLmF0dHJzLCBmdW5jdGlvbiAoKSB7XG4gICAgICAhaXNVcGRhdGluZ0NoaWxk
Q29tcG9uZW50ICYmIHdhcm4oXCIkYXR0cnMgaXMgcmVhZG9ubHkuXCIsIHZtKTtcbiAgICB9LCB0
cnVlKTtcbiAgICBkZWZpbmVSZWFjdGl2ZSQkMSh2bSwgJyRsaXN0ZW5lcnMnLCB2bS4kb3B0aW9u
cy5fcGFyZW50TGlzdGVuZXJzLCBmdW5jdGlvbiAoKSB7XG4gICAgICAhaXNVcGRhdGluZ0NoaWxk
Q29tcG9uZW50ICYmIHdhcm4oXCIkbGlzdGVuZXJzIGlzIHJlYWRvbmx5LlwiLCB2bSk7XG4gICAg
fSwgdHJ1ZSk7XG4gIH0gZWxzZSB7XG4gICAgZGVmaW5lUmVhY3RpdmUkJDEodm0sICckYXR0cnMn
LCBwYXJlbnREYXRhICYmIHBhcmVudERhdGEuYXR0cnMsIG51bGwsIHRydWUpO1xuICAgIGRlZmlu
ZVJlYWN0aXZlJCQxKHZtLCAnJGxpc3RlbmVycycsIHZtLiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5l
cnMsIG51bGwsIHRydWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlbmRlck1peGluIChWdWUpIHtc
biAgVnVlLnByb3RvdHlwZS4kbmV4dFRpY2sgPSBmdW5jdGlvbiAoZm4pIHtcbiAgICByZXR1cm4g
bmV4dFRpY2soZm4sIHRoaXMpXG4gIH07XG5cbiAgVnVlLnByb3RvdHlwZS5fcmVuZGVyID0gZnVu
Y3Rpb24gKCkge1xuICAgIHZhciB2bSA9IHRoaXM7XG4gICAgdmFyIHJlZiA9IHZtLiRvcHRpb25z
O1xuICAgIHZhciByZW5kZXIgPSByZWYucmVuZGVyO1xuICAgIHZhciBzdGF0aWNSZW5kZXJGbnMg
PSByZWYuc3RhdGljUmVuZGVyRm5zO1xuICAgIHZhciBfcGFyZW50Vm5vZGUgPSByZWYuX3BhcmVu
dFZub2RlO1xuXG4gICAgaWYgKHZtLl9pc01vdW50ZWQpIHtcbiAgICAgIC8vIGNsb25lIHNsb3Qg
bm9kZXMgb24gcmUtcmVuZGVyc1xuICAgICAgZm9yICh2YXIga2V5IGluIHZtLiRzbG90cykge1xu
ICAgICAgICB2bS4kc2xvdHNba2V5XSA9IGNsb25lVk5vZGVzKHZtLiRzbG90c1trZXldKTtcbiAg
ICAgIH1cbiAgICB9XG5cbiAgICB2bS4kc2NvcGVkU2xvdHMgPSAoX3BhcmVudFZub2RlICYmIF9w
YXJlbnRWbm9kZS5kYXRhLnNjb3BlZFNsb3RzKSB8fCBlbXB0eU9iamVjdDtcblxuICAgIGlmIChz
dGF0aWNSZW5kZXJGbnMgJiYgIXZtLl9zdGF0aWNUcmVlcykge1xuICAgICAgdm0uX3N0YXRpY1Ry
ZWVzID0gW107XG4gICAgfVxuICAgIC8vIHNldCBwYXJlbnQgdm5vZGUuIHRoaXMgYWxsb3dzIHJl
bmRlciBmdW5jdGlvbnMgdG8gaGF2ZSBhY2Nlc3NcbiAgICAvLyB0byB0aGUgZGF0YSBvbiB0aGUg
cGxhY2Vob2xkZXIgbm9kZS5cbiAgICB2bS4kdm5vZGUgPSBfcGFyZW50Vm5vZGU7XG4gICAgLy8g
cmVuZGVyIHNlbGZcbiAgICB2YXIgdm5vZGU7XG4gICAgdHJ5IHtcbiAgICAgIHZub2RlID0gcmVu
ZGVyLmNhbGwodm0uX3JlbmRlclByb3h5LCB2bS4kY3JlYXRlRWxlbWVudCk7XG4gICAgfSBjYXRj
aCAoZSkge1xuICAgICAgaGFuZGxlRXJyb3IoZSwgdm0sIFwicmVuZGVyIGZ1bmN0aW9uXCIpO1xu
ICAgICAgLy8gcmV0dXJuIGVycm9yIHJlbmRlciByZXN1bHQsXG4gICAgICAvLyBvciBwcmV2aW91
cyB2bm9kZSB0byBwcmV2ZW50IHJlbmRlciBlcnJvciBjYXVzaW5nIGJsYW5rIGNvbXBvbmVudFxu
ICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChmYWxzZSkge1xuICAg
ICAgICB2bm9kZSA9IHZtLiRvcHRpb25zLnJlbmRlckVycm9yXG4gICAgICAgICAgPyB2bS4kb3B0
aW9ucy5yZW5kZXJFcnJvci5jYWxsKHZtLl9yZW5kZXJQcm94eSwgdm0uJGNyZWF0ZUVsZW1lbnQs
IGUpXG4gICAgICAgICAgOiB2bS5fdm5vZGU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2bm9k
ZSA9IHZtLl92bm9kZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gcmV0dXJuIGVtcHR5IHZub2Rl
IGluIGNhc2UgdGhlIHJlbmRlciBmdW5jdGlvbiBlcnJvcmVkIG91dFxuICAgIGlmICghKHZub2Rl
IGluc3RhbmNlb2YgVk5vZGUpKSB7XG4gICAgICBpZiAoZmFsc2UpIHtcbiAgICAgICAgd2Fybihc
biAgICAgICAgICAnTXVsdGlwbGUgcm9vdCBub2RlcyByZXR1cm5lZCBmcm9tIHJlbmRlciBmdW5j
dGlvbi4gUmVuZGVyIGZ1bmN0aW9uICcgK1xuICAgICAgICAgICdzaG91bGQgcmV0dXJuIGEgc2lu
Z2xlIHJvb3Qgbm9kZS4nLFxuICAgICAgICAgIHZtXG4gICAgICAgICk7XG4gICAgICB9XG4gICAg
ICB2bm9kZSA9IGNyZWF0ZUVtcHR5Vk5vZGUoKTtcbiAgICB9XG4gICAgLy8gc2V0IHBhcmVudFxu
ICAgIHZub2RlLnBhcmVudCA9IF9wYXJlbnRWbm9kZTtcbiAgICByZXR1cm4gdm5vZGVcbiAgfTtc
blxuICAvLyBpbnRlcm5hbCByZW5kZXIgaGVscGVycy5cbiAgLy8gdGhlc2UgYXJlIGV4cG9zZWQg
b24gdGhlIGluc3RhbmNlIHByb3RvdHlwZSB0byByZWR1Y2UgZ2VuZXJhdGVkIHJlbmRlclxuICAv
LyBjb2RlIHNpemUuXG4gIFZ1ZS5wcm90b3R5cGUuX28gPSBtYXJrT25jZTtcbiAgVnVlLnByb3Rv
dHlwZS5fbiA9IHRvTnVtYmVyO1xuICBWdWUucHJvdG90eXBlLl9zID0gdG9TdHJpbmc7XG4gIFZ1
ZS5wcm90b3R5cGUuX2wgPSByZW5kZXJMaXN0O1xuICBWdWUucHJvdG90eXBlLl90ID0gcmVuZGVy
U2xvdDtcbiAgVnVlLnByb3RvdHlwZS5fcSA9IGxvb3NlRXF1YWw7XG4gIFZ1ZS5wcm90b3R5cGUu
X2kgPSBsb29zZUluZGV4T2Y7XG4gIFZ1ZS5wcm90b3R5cGUuX20gPSByZW5kZXJTdGF0aWM7XG4g
IFZ1ZS5wcm90b3R5cGUuX2YgPSByZXNvbHZlRmlsdGVyO1xuICBWdWUucHJvdG90eXBlLl9rID0g
Y2hlY2tLZXlDb2RlcztcbiAgVnVlLnByb3RvdHlwZS5fYiA9IGJpbmRPYmplY3RQcm9wcztcbiAg
VnVlLnByb3RvdHlwZS5fdiA9IGNyZWF0ZVRleHRWTm9kZTtcbiAgVnVlLnByb3RvdHlwZS5fZSA9
IGNyZWF0ZUVtcHR5Vk5vZGU7XG4gIFZ1ZS5wcm90b3R5cGUuX3UgPSByZXNvbHZlU2NvcGVkU2xv
dHM7XG4gIFZ1ZS5wcm90b3R5cGUuX2cgPSBiaW5kT2JqZWN0TGlzdGVuZXJzO1xufVxuXG4vKiAg
Ki9cblxudmFyIHVpZCQxID0gMDtcblxuZnVuY3Rpb24gaW5pdE1peGluIChWdWUpIHtcbiAgVnVl
LnByb3RvdHlwZS5faW5pdCA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XG4gICAgdmFyIHZtID0gdGhp
cztcbiAgICAvLyBhIHVpZFxuICAgIHZtLl91aWQgPSB1aWQkMSsrO1xuXG4gICAgdmFyIHN0YXJ0
VGFnLCBlbmRUYWc7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKGZhbHNl
KSB7XG4gICAgICBzdGFydFRhZyA9IFwidnVlLXBlcmYtaW5pdDpcIiArICh2bS5fdWlkKTtcbiAg
ICAgIGVuZFRhZyA9IFwidnVlLXBlcmYtZW5kOlwiICsgKHZtLl91aWQpO1xuICAgICAgbWFyayhz
dGFydFRhZyk7XG4gICAgfVxuXG4gICAgLy8gYSBmbGFnIHRvIGF2b2lkIHRoaXMgYmVpbmcgb2Jz
ZXJ2ZWRcbiAgICB2bS5faXNWdWUgPSB0cnVlO1xuICAgIC8vIG1lcmdlIG9wdGlvbnNcbiAgICBp
ZiAob3B0aW9ucyAmJiBvcHRpb25zLl9pc0NvbXBvbmVudCkge1xuICAgICAgLy8gb3B0aW1pemUg
aW50ZXJuYWwgY29tcG9uZW50IGluc3RhbnRpYXRpb25cbiAgICAgIC8vIHNpbmNlIGR5bmFtaWMg
b3B0aW9ucyBtZXJnaW5nIGlzIHByZXR0eSBzbG93LCBhbmQgbm9uZSBvZiB0aGVcbiAgICAgIC8v
IGludGVybmFsIGNvbXBvbmVudCBvcHRpb25zIG5lZWRzIHNwZWNpYWwgdHJlYXRtZW50LlxuICAg
ICAgaW5pdEludGVybmFsQ29tcG9uZW50KHZtLCBvcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAg
ICAgdm0uJG9wdGlvbnMgPSBtZXJnZU9wdGlvbnMoXG4gICAgICAgIHJlc29sdmVDb25zdHJ1Y3Rv
ck9wdGlvbnModm0uY29uc3RydWN0b3IpLFxuICAgICAgICBvcHRpb25zIHx8IHt9LFxuICAgICAg
ICB2bVxuICAgICAgKTtcbiAgICB9XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAg
ICBpZiAoZmFsc2UpIHtcbiAgICAgIGluaXRQcm94eSh2bSk7XG4gICAgfSBlbHNlIHtcbiAgICAg
IHZtLl9yZW5kZXJQcm94eSA9IHZtO1xuICAgIH1cbiAgICAvLyBleHBvc2UgcmVhbCBzZWxmXG4g
ICAgdm0uX3NlbGYgPSB2bTtcbiAgICBpbml0TGlmZWN5Y2xlKHZtKTtcbiAgICBpbml0RXZlbnRz
KHZtKTtcbiAgICBpbml0UmVuZGVyKHZtKTtcbiAgICBjYWxsSG9vayh2bSwgJ2JlZm9yZUNyZWF0
ZScpO1xuICAgIGluaXRJbmplY3Rpb25zKHZtKTsgLy8gcmVzb2x2ZSBpbmplY3Rpb25zIGJlZm9y
ZSBkYXRhL3Byb3BzXG4gICAgaW5pdFN0YXRlKHZtKTtcbiAgICBpbml0UHJvdmlkZSh2bSk7IC8v
IHJlc29sdmUgcHJvdmlkZSBhZnRlciBkYXRhL3Byb3BzXG4gICAgY2FsbEhvb2sodm0sICdjcmVh
dGVkJyk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoZmFsc2UpIHtc
biAgICAgIHZtLl9uYW1lID0gZm9ybWF0Q29tcG9uZW50TmFtZSh2bSwgZmFsc2UpO1xuICAgICAg
bWFyayhlbmRUYWcpO1xuICAgICAgbWVhc3VyZSgoKHZtLl9uYW1lKSArIFwiIGluaXRcIiksIHN0
YXJ0VGFnLCBlbmRUYWcpO1xuICAgIH1cblxuICAgIGlmICh2bS4kb3B0aW9ucy5lbCkge1xuICAg
ICAgdm0uJG1vdW50KHZtLiRvcHRpb25zLmVsKTtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9u
IGluaXRJbnRlcm5hbENvbXBvbmVudCAodm0sIG9wdGlvbnMpIHtcbiAgdmFyIG9wdHMgPSB2bS4k
b3B0aW9ucyA9IE9iamVjdC5jcmVhdGUodm0uY29uc3RydWN0b3Iub3B0aW9ucyk7XG4gIC8vIGRv
aW5nIHRoaXMgYmVjYXVzZSBpdCdzIGZhc3RlciB0aGFuIGR5bmFtaWMgZW51bWVyYXRpb24uXG4g
IG9wdHMucGFyZW50ID0gb3B0aW9ucy5wYXJlbnQ7XG4gIG9wdHMucHJvcHNEYXRhID0gb3B0aW9u
cy5wcm9wc0RhdGE7XG4gIG9wdHMuX3BhcmVudFZub2RlID0gb3B0aW9ucy5fcGFyZW50Vm5vZGU7
XG4gIG9wdHMuX3BhcmVudExpc3RlbmVycyA9IG9wdGlvbnMuX3BhcmVudExpc3RlbmVycztcbiAg
b3B0cy5fcmVuZGVyQ2hpbGRyZW4gPSBvcHRpb25zLl9yZW5kZXJDaGlsZHJlbjtcbiAgb3B0cy5f
Y29tcG9uZW50VGFnID0gb3B0aW9ucy5fY29tcG9uZW50VGFnO1xuICBvcHRzLl9wYXJlbnRFbG0g
PSBvcHRpb25zLl9wYXJlbnRFbG07XG4gIG9wdHMuX3JlZkVsbSA9IG9wdGlvbnMuX3JlZkVsbTtc
biAgaWYgKG9wdGlvbnMucmVuZGVyKSB7XG4gICAgb3B0cy5yZW5kZXIgPSBvcHRpb25zLnJlbmRl
cjtcbiAgICBvcHRzLnN0YXRpY1JlbmRlckZucyA9IG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zO1xu
ICB9XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVDb25zdHJ1Y3Rvck9wdGlvbnMgKEN0b3IpIHtcbiAg
dmFyIG9wdGlvbnMgPSBDdG9yLm9wdGlvbnM7XG4gIGlmIChDdG9yLnN1cGVyKSB7XG4gICAgdmFy
IHN1cGVyT3B0aW9ucyA9IHJlc29sdmVDb25zdHJ1Y3Rvck9wdGlvbnMoQ3Rvci5zdXBlcik7XG4g
ICAgdmFyIGNhY2hlZFN1cGVyT3B0aW9ucyA9IEN0b3Iuc3VwZXJPcHRpb25zO1xuICAgIGlmIChz
dXBlck9wdGlvbnMgIT09IGNhY2hlZFN1cGVyT3B0aW9ucykge1xuICAgICAgLy8gc3VwZXIgb3B0
aW9uIGNoYW5nZWQsXG4gICAgICAvLyBuZWVkIHRvIHJlc29sdmUgbmV3IG9wdGlvbnMuXG4gICAg
ICBDdG9yLnN1cGVyT3B0aW9ucyA9IHN1cGVyT3B0aW9ucztcbiAgICAgIC8vIGNoZWNrIGlmIHRo
ZXJlIGFyZSBhbnkgbGF0ZS1tb2RpZmllZC9hdHRhY2hlZCBvcHRpb25zICgjNDk3NilcbiAgICAg
IHZhciBtb2RpZmllZE9wdGlvbnMgPSByZXNvbHZlTW9kaWZpZWRPcHRpb25zKEN0b3IpO1xuICAg
ICAgLy8gdXBkYXRlIGJhc2UgZXh0ZW5kIG9wdGlvbnNcbiAgICAgIGlmIChtb2RpZmllZE9wdGlv
bnMpIHtcbiAgICAgICAgZXh0ZW5kKEN0b3IuZXh0ZW5kT3B0aW9ucywgbW9kaWZpZWRPcHRpb25z
KTtcbiAgICAgIH1cbiAgICAgIG9wdGlvbnMgPSBDdG9yLm9wdGlvbnMgPSBtZXJnZU9wdGlvbnMo
c3VwZXJPcHRpb25zLCBDdG9yLmV4dGVuZE9wdGlvbnMpO1xuICAgICAgaWYgKG9wdGlvbnMubmFt
ZSkge1xuICAgICAgICBvcHRpb25zLmNvbXBvbmVudHNbb3B0aW9ucy5uYW1lXSA9IEN0b3I7XG4g
ICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBvcHRpb25zXG59XG5cbmZ1bmN0aW9uIHJlc29s
dmVNb2RpZmllZE9wdGlvbnMgKEN0b3IpIHtcbiAgdmFyIG1vZGlmaWVkO1xuICB2YXIgbGF0ZXN0
ID0gQ3Rvci5vcHRpb25zO1xuICB2YXIgZXh0ZW5kZWQgPSBDdG9yLmV4dGVuZE9wdGlvbnM7XG4g
IHZhciBzZWFsZWQgPSBDdG9yLnNlYWxlZE9wdGlvbnM7XG4gIGZvciAodmFyIGtleSBpbiBsYXRl
c3QpIHtcbiAgICBpZiAobGF0ZXN0W2tleV0gIT09IHNlYWxlZFtrZXldKSB7XG4gICAgICBpZiAo
IW1vZGlmaWVkKSB7IG1vZGlmaWVkID0ge307IH1cbiAgICAgIG1vZGlmaWVkW2tleV0gPSBkZWR1
cGUobGF0ZXN0W2tleV0sIGV4dGVuZGVkW2tleV0sIHNlYWxlZFtrZXldKTtcbiAgICB9XG4gIH1c
biAgcmV0dXJuIG1vZGlmaWVkXG59XG5cbmZ1bmN0aW9uIGRlZHVwZSAobGF0ZXN0LCBleHRlbmRl
ZCwgc2VhbGVkKSB7XG4gIC8vIGNvbXBhcmUgbGF0ZXN0IGFuZCBzZWFsZWQgdG8gZW5zdXJlIGxp
ZmVjeWNsZSBob29rcyB3b24ndCBiZSBkdXBsaWNhdGVkXG4gIC8vIGJldHdlZW4gbWVyZ2VzXG4g
IGlmIChBcnJheS5pc0FycmF5KGxhdGVzdCkpIHtcbiAgICB2YXIgcmVzID0gW107XG4gICAgc2Vh
bGVkID0gQXJyYXkuaXNBcnJheShzZWFsZWQpID8gc2VhbGVkIDogW3NlYWxlZF07XG4gICAgZXh0
ZW5kZWQgPSBBcnJheS5pc0FycmF5KGV4dGVuZGVkKSA/IGV4dGVuZGVkIDogW2V4dGVuZGVkXTtc
biAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxhdGVzdC5sZW5ndGg7IGkrKykge1xuICAgICAgLy8g
cHVzaCBvcmlnaW5hbCBvcHRpb25zIGFuZCBub3Qgc2VhbGVkIG9wdGlvbnMgdG8gZXhjbHVkZSBk
dXBsaWNhdGVkIG9wdGlvbnNcbiAgICAgIGlmIChleHRlbmRlZC5pbmRleE9mKGxhdGVzdFtpXSkg
Pj0gMCB8fCBzZWFsZWQuaW5kZXhPZihsYXRlc3RbaV0pIDwgMCkge1xuICAgICAgICByZXMucHVz
aChsYXRlc3RbaV0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzXG4gIH0gZWxzZSB7
XG4gICAgcmV0dXJuIGxhdGVzdFxuICB9XG59XG5cbmZ1bmN0aW9uIFZ1ZSQzIChvcHRpb25zKSB7
XG4gIGlmIChmYWxzZVxuICApIHtcbiAgICB3YXJuKCdWdWUgaXMgYSBjb25zdHJ1Y3RvciBhbmQg
c2hvdWxkIGJlIGNhbGxlZCB3aXRoIHRoZSBgbmV3YCBrZXl3b3JkJyk7XG4gIH1cbiAgdGhpcy5f
aW5pdChvcHRpb25zKTtcbn1cblxuaW5pdE1peGluKFZ1ZSQzKTtcbnN0YXRlTWl4aW4oVnVlJDMp
O1xuZXZlbnRzTWl4aW4oVnVlJDMpO1xubGlmZWN5Y2xlTWl4aW4oVnVlJDMpO1xucmVuZGVyTWl4
aW4oVnVlJDMpO1xuXG4vKiAgKi9cblxuZnVuY3Rpb24gaW5pdFVzZSAoVnVlKSB7XG4gIFZ1ZS51
c2UgPSBmdW5jdGlvbiAocGx1Z2luKSB7XG4gICAgdmFyIGluc3RhbGxlZFBsdWdpbnMgPSAodGhp
cy5faW5zdGFsbGVkUGx1Z2lucyB8fCAodGhpcy5faW5zdGFsbGVkUGx1Z2lucyA9IFtdKSk7XG4g
ICAgaWYgKGluc3RhbGxlZFBsdWdpbnMuaW5kZXhPZihwbHVnaW4pID4gLTEpIHtcbiAgICAgIHJl
dHVybiB0aGlzXG4gICAgfVxuXG4gICAgLy8gYWRkaXRpb25hbCBwYXJhbWV0ZXJzXG4gICAgdmFy
IGFyZ3MgPSB0b0FycmF5KGFyZ3VtZW50cywgMSk7XG4gICAgYXJncy51bnNoaWZ0KHRoaXMpO1xu
ICAgIGlmICh0eXBlb2YgcGx1Z2luLmluc3RhbGwgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHBs
dWdpbi5pbnN0YWxsLmFwcGx5KHBsdWdpbiwgYXJncyk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2Yg
cGx1Z2luID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwbHVnaW4uYXBwbHkobnVsbCwgYXJncyk7
XG4gICAgfVxuICAgIGluc3RhbGxlZFBsdWdpbnMucHVzaChwbHVnaW4pO1xuICAgIHJldHVybiB0
aGlzXG4gIH07XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBpbml0TWl4aW4kMSAoVnVlKSB7XG4g
IFZ1ZS5taXhpbiA9IGZ1bmN0aW9uIChtaXhpbikge1xuICAgIHRoaXMub3B0aW9ucyA9IG1lcmdl
T3B0aW9ucyh0aGlzLm9wdGlvbnMsIG1peGluKTtcbiAgICByZXR1cm4gdGhpc1xuICB9O1xufVxu
XG4vKiAgKi9cblxuZnVuY3Rpb24gaW5pdEV4dGVuZCAoVnVlKSB7XG4gIC8qKlxuICAgKiBFYWNo
IGluc3RhbmNlIGNvbnN0cnVjdG9yLCBpbmNsdWRpbmcgVnVlLCBoYXMgYSB1bmlxdWVcbiAgICog
Y2lkLiBUaGlzIGVuYWJsZXMgdXMgdG8gY3JlYXRlIHdyYXBwZWQgXCJjaGlsZFxuICAgKiBjb25z
dHJ1Y3RvcnNcIiBmb3IgcHJvdG90eXBhbCBpbmhlcml0YW5jZSBhbmQgY2FjaGUgdGhlbS5cbiAg
ICovXG4gIFZ1ZS5jaWQgPSAwO1xuICB2YXIgY2lkID0gMTtcblxuICAvKipcbiAgICogQ2xhc3Mg
aW5oZXJpdGFuY2VcbiAgICovXG4gIFZ1ZS5leHRlbmQgPSBmdW5jdGlvbiAoZXh0ZW5kT3B0aW9u
cykge1xuICAgIGV4dGVuZE9wdGlvbnMgPSBleHRlbmRPcHRpb25zIHx8IHt9O1xuICAgIHZhciBT
dXBlciA9IHRoaXM7XG4gICAgdmFyIFN1cGVySWQgPSBTdXBlci5jaWQ7XG4gICAgdmFyIGNhY2hl
ZEN0b3JzID0gZXh0ZW5kT3B0aW9ucy5fQ3RvciB8fCAoZXh0ZW5kT3B0aW9ucy5fQ3RvciA9IHt9
KTtcbiAgICBpZiAoY2FjaGVkQ3RvcnNbU3VwZXJJZF0pIHtcbiAgICAgIHJldHVybiBjYWNoZWRD
dG9yc1tTdXBlcklkXVxuICAgIH1cblxuICAgIHZhciBuYW1lID0gZXh0ZW5kT3B0aW9ucy5uYW1l
IHx8IFN1cGVyLm9wdGlvbnMubmFtZTtcbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIGlmICghL15b
YS16QS1aXVtcXHctXSokLy50ZXN0KG5hbWUpKSB7XG4gICAgICAgIHdhcm4oXG4gICAgICAgICAg
J0ludmFsaWQgY29tcG9uZW50IG5hbWU6IFwiJyArIG5hbWUgKyAnXCIuIENvbXBvbmVudCBuYW1l
cyAnICtcbiAgICAgICAgICAnY2FuIG9ubHkgY29udGFpbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVy
cyBhbmQgdGhlIGh5cGhlbiwgJyArXG4gICAgICAgICAgJ2FuZCBtdXN0IHN0YXJ0IHdpdGggYSBs
ZXR0ZXIuJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBTdWIgPSBmdW5j
dGlvbiBWdWVDb21wb25lbnQgKG9wdGlvbnMpIHtcbiAgICAgIHRoaXMuX2luaXQob3B0aW9ucyk7
XG4gICAgfTtcbiAgICBTdWIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShTdXBlci5wcm90b3R5
cGUpO1xuICAgIFN1Yi5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBTdWI7XG4gICAgU3ViLmNpZCA9
IGNpZCsrO1xuICAgIFN1Yi5vcHRpb25zID0gbWVyZ2VPcHRpb25zKFxuICAgICAgU3VwZXIub3B0
aW9ucyxcbiAgICAgIGV4dGVuZE9wdGlvbnNcbiAgICApO1xuICAgIFN1Ylsnc3VwZXInXSA9IFN1
cGVyO1xuXG4gICAgLy8gRm9yIHByb3BzIGFuZCBjb21wdXRlZCBwcm9wZXJ0aWVzLCB3ZSBkZWZp
bmUgdGhlIHByb3h5IGdldHRlcnMgb25cbiAgICAvLyB0aGUgVnVlIGluc3RhbmNlcyBhdCBleHRl
bnNpb24gdGltZSwgb24gdGhlIGV4dGVuZGVkIHByb3RvdHlwZS4gVGhpc1xuICAgIC8vIGF2b2lk
cyBPYmplY3QuZGVmaW5lUHJvcGVydHkgY2FsbHMgZm9yIGVhY2ggaW5zdGFuY2UgY3JlYXRlZC5c
biAgICBpZiAoU3ViLm9wdGlvbnMucHJvcHMpIHtcbiAgICAgIGluaXRQcm9wcyQxKFN1Yik7XG4g
ICAgfVxuICAgIGlmIChTdWIub3B0aW9ucy5jb21wdXRlZCkge1xuICAgICAgaW5pdENvbXB1dGVk
JDEoU3ViKTtcbiAgICB9XG5cbiAgICAvLyBhbGxvdyBmdXJ0aGVyIGV4dGVuc2lvbi9taXhpbi9w
bHVnaW4gdXNhZ2VcbiAgICBTdWIuZXh0ZW5kID0gU3VwZXIuZXh0ZW5kO1xuICAgIFN1Yi5taXhp
biA9IFN1cGVyLm1peGluO1xuICAgIFN1Yi51c2UgPSBTdXBlci51c2U7XG5cbiAgICAvLyBjcmVh
dGUgYXNzZXQgcmVnaXN0ZXJzLCBzbyBleHRlbmRlZCBjbGFzc2VzXG4gICAgLy8gY2FuIGhhdmUg
dGhlaXIgcHJpdmF0ZSBhc3NldHMgdG9vLlxuICAgIEFTU0VUX1RZUEVTLmZvckVhY2goZnVuY3Rp
b24gKHR5cGUpIHtcbiAgICAgIFN1Ylt0eXBlXSA9IFN1cGVyW3R5cGVdO1xuICAgIH0pO1xuICAg
IC8vIGVuYWJsZSByZWN1cnNpdmUgc2VsZi1sb29rdXBcbiAgICBpZiAobmFtZSkge1xuICAgICAg
U3ViLm9wdGlvbnMuY29tcG9uZW50c1tuYW1lXSA9IFN1YjtcbiAgICB9XG5cbiAgICAvLyBrZWVw
IGEgcmVmZXJlbmNlIHRvIHRoZSBzdXBlciBvcHRpb25zIGF0IGV4dGVuc2lvbiB0aW1lLlxuICAg
IC8vIGxhdGVyIGF0IGluc3RhbnRpYXRpb24gd2UgY2FuIGNoZWNrIGlmIFN1cGVyJ3Mgb3B0aW9u
cyBoYXZlXG4gICAgLy8gYmVlbiB1cGRhdGVkLlxuICAgIFN1Yi5zdXBlck9wdGlvbnMgPSBTdXBl
ci5vcHRpb25zO1xuICAgIFN1Yi5leHRlbmRPcHRpb25zID0gZXh0ZW5kT3B0aW9ucztcbiAgICBT
dWIuc2VhbGVkT3B0aW9ucyA9IGV4dGVuZCh7fSwgU3ViLm9wdGlvbnMpO1xuXG4gICAgLy8gY2Fj
aGUgY29uc3RydWN0b3JcbiAgICBjYWNoZWRDdG9yc1tTdXBlcklkXSA9IFN1YjtcbiAgICByZXR1
cm4gU3ViXG4gIH07XG59XG5cbmZ1bmN0aW9uIGluaXRQcm9wcyQxIChDb21wKSB7XG4gIHZhciBw
cm9wcyA9IENvbXAub3B0aW9ucy5wcm9wcztcbiAgZm9yICh2YXIga2V5IGluIHByb3BzKSB7XG4g
ICAgcHJveHkoQ29tcC5wcm90b3R5cGUsIFwiX3Byb3BzXCIsIGtleSk7XG4gIH1cbn1cblxuZnVu
Y3Rpb24gaW5pdENvbXB1dGVkJDEgKENvbXApIHtcbiAgdmFyIGNvbXB1dGVkID0gQ29tcC5vcHRp
b25zLmNvbXB1dGVkO1xuICBmb3IgKHZhciBrZXkgaW4gY29tcHV0ZWQpIHtcbiAgICBkZWZpbmVD
b21wdXRlZChDb21wLnByb3RvdHlwZSwga2V5LCBjb21wdXRlZFtrZXldKTtcbiAgfVxufVxuXG4v
KiAgKi9cblxuZnVuY3Rpb24gaW5pdEFzc2V0UmVnaXN0ZXJzIChWdWUpIHtcbiAgLyoqXG4gICAq
IENyZWF0ZSBhc3NldCByZWdpc3RyYXRpb24gbWV0aG9kcy5cbiAgICovXG4gIEFTU0VUX1RZUEVT
LmZvckVhY2goZnVuY3Rpb24gKHR5cGUpIHtcbiAgICBWdWVbdHlwZV0gPSBmdW5jdGlvbiAoXG4g
ICAgICBpZCxcbiAgICAgIGRlZmluaXRpb25cbiAgICApIHtcbiAgICAgIGlmICghZGVmaW5pdGlv
bikge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zW3R5cGUgKyAncyddW2lkXVxuICAgICAg
fSBlbHNlIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgIGlmIChm
YWxzZSkge1xuICAgICAgICAgIGlmICh0eXBlID09PSAnY29tcG9uZW50JyAmJiBjb25maWcuaXNS
ZXNlcnZlZFRhZyhpZCkpIHtcbiAgICAgICAgICAgIHdhcm4oXG4gICAgICAgICAgICAgICdEbyBu
b3QgdXNlIGJ1aWx0LWluIG9yIHJlc2VydmVkIEhUTUwgZWxlbWVudHMgYXMgY29tcG9uZW50ICcg
K1xuICAgICAgICAgICAgICAnaWQ6ICcgKyBpZFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9
XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGUgPT09ICdjb21wb25lbnQnICYmIGlzUGxhaW5P
YmplY3QoZGVmaW5pdGlvbikpIHtcbiAgICAgICAgICBkZWZpbml0aW9uLm5hbWUgPSBkZWZpbml0
aW9uLm5hbWUgfHwgaWQ7XG4gICAgICAgICAgZGVmaW5pdGlvbiA9IHRoaXMub3B0aW9ucy5fYmFz
ZS5leHRlbmQoZGVmaW5pdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGUgPT09ICdk
aXJlY3RpdmUnICYmIHR5cGVvZiBkZWZpbml0aW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAg
ICAgZGVmaW5pdGlvbiA9IHsgYmluZDogZGVmaW5pdGlvbiwgdXBkYXRlOiBkZWZpbml0aW9uIH07
XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcHRpb25zW3R5cGUgKyAncyddW2lkXSA9IGRlZmlu
aXRpb247XG4gICAgICAgIHJldHVybiBkZWZpbml0aW9uXG4gICAgICB9XG4gICAgfTtcbiAgfSk7
XG59XG5cbi8qICAqL1xuXG52YXIgcGF0dGVyblR5cGVzID0gW1N0cmluZywgUmVnRXhwLCBBcnJh
eV07XG5cbmZ1bmN0aW9uIGdldENvbXBvbmVudE5hbWUgKG9wdHMpIHtcbiAgcmV0dXJuIG9wdHMg
JiYgKG9wdHMuQ3Rvci5vcHRpb25zLm5hbWUgfHwgb3B0cy50YWcpXG59XG5cbmZ1bmN0aW9uIG1h
dGNoZXMgKHBhdHRlcm4sIG5hbWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkocGF0dGVybikpIHtc
biAgICByZXR1cm4gcGF0dGVybi5pbmRleE9mKG5hbWUpID4gLTFcbiAgfSBlbHNlIGlmICh0eXBl
b2YgcGF0dGVybiA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gcGF0dGVybi5zcGxpdCgnLCcp
LmluZGV4T2YobmFtZSkgPiAtMVxuICB9IGVsc2UgaWYgKGlzUmVnRXhwKHBhdHRlcm4pKSB7XG4g
ICAgcmV0dXJuIHBhdHRlcm4udGVzdChuYW1lKVxuICB9XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBu
ZXh0ICovXG4gIHJldHVybiBmYWxzZVxufVxuXG5mdW5jdGlvbiBwcnVuZUNhY2hlIChjYWNoZSwg
Y3VycmVudCwgZmlsdGVyKSB7XG4gIGZvciAodmFyIGtleSBpbiBjYWNoZSkge1xuICAgIHZhciBj
YWNoZWROb2RlID0gY2FjaGVba2V5XTtcbiAgICBpZiAoY2FjaGVkTm9kZSkge1xuICAgICAgdmFy
IG5hbWUgPSBnZXRDb21wb25lbnROYW1lKGNhY2hlZE5vZGUuY29tcG9uZW50T3B0aW9ucyk7XG4g
ICAgICBpZiAobmFtZSAmJiAhZmlsdGVyKG5hbWUpKSB7XG4gICAgICAgIGlmIChjYWNoZWROb2Rl
ICE9PSBjdXJyZW50KSB7XG4gICAgICAgICAgcHJ1bmVDYWNoZUVudHJ5KGNhY2hlZE5vZGUpO1xu
ICAgICAgICB9XG4gICAgICAgIGNhY2hlW2tleV0gPSBudWxsO1xuICAgICAgfVxuICAgIH1cbiAg
fVxufVxuXG5mdW5jdGlvbiBwcnVuZUNhY2hlRW50cnkgKHZub2RlKSB7XG4gIGlmICh2bm9kZSkg
e1xuICAgIHZub2RlLmNvbXBvbmVudEluc3RhbmNlLiRkZXN0cm95KCk7XG4gIH1cbn1cblxudmFy
IEtlZXBBbGl2ZSA9IHtcbiAgbmFtZTogJ2tlZXAtYWxpdmUnLFxuICBhYnN0cmFjdDogdHJ1ZSxc
blxuICBwcm9wczoge1xuICAgIGluY2x1ZGU6IHBhdHRlcm5UeXBlcyxcbiAgICBleGNsdWRlOiBw
YXR0ZXJuVHlwZXNcbiAgfSxcblxuICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkICgpIHtcbiAg
ICB0aGlzLmNhY2hlID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgfSxcblxuICBkZXN0cm95ZWQ6
IGZ1bmN0aW9uIGRlc3Ryb3llZCAoKSB7XG4gICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICBm
b3IgKHZhciBrZXkgaW4gdGhpcyQxLmNhY2hlKSB7XG4gICAgICBwcnVuZUNhY2hlRW50cnkodGhp
cyQxLmNhY2hlW2tleV0pO1xuICAgIH1cbiAgfSxcblxuICB3YXRjaDoge1xuICAgIGluY2x1ZGU6
IGZ1bmN0aW9uIGluY2x1ZGUgKHZhbCkge1xuICAgICAgcHJ1bmVDYWNoZSh0aGlzLmNhY2hlLCB0
aGlzLl92bm9kZSwgZnVuY3Rpb24gKG5hbWUpIHsgcmV0dXJuIG1hdGNoZXModmFsLCBuYW1lKTsg
fSk7XG4gICAgfSxcbiAgICBleGNsdWRlOiBmdW5jdGlvbiBleGNsdWRlICh2YWwpIHtcbiAgICAg
IHBydW5lQ2FjaGUodGhpcy5jYWNoZSwgdGhpcy5fdm5vZGUsIGZ1bmN0aW9uIChuYW1lKSB7IHJl
dHVybiAhbWF0Y2hlcyh2YWwsIG5hbWUpOyB9KTtcbiAgICB9XG4gIH0sXG5cbiAgcmVuZGVyOiBm
dW5jdGlvbiByZW5kZXIgKCkge1xuICAgIHZhciB2bm9kZSA9IGdldEZpcnN0Q29tcG9uZW50Q2hp
bGQodGhpcy4kc2xvdHMuZGVmYXVsdCk7XG4gICAgdmFyIGNvbXBvbmVudE9wdGlvbnMgPSB2bm9k
ZSAmJiB2bm9kZS5jb21wb25lbnRPcHRpb25zO1xuICAgIGlmIChjb21wb25lbnRPcHRpb25zKSB7
XG4gICAgICAvLyBjaGVjayBwYXR0ZXJuXG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5h
bWUoY29tcG9uZW50T3B0aW9ucyk7XG4gICAgICBpZiAobmFtZSAmJiAoXG4gICAgICAgICh0aGlz
LmluY2x1ZGUgJiYgIW1hdGNoZXModGhpcy5pbmNsdWRlLCBuYW1lKSkgfHxcbiAgICAgICAgKHRo
aXMuZXhjbHVkZSAmJiBtYXRjaGVzKHRoaXMuZXhjbHVkZSwgbmFtZSkpXG4gICAgICApKSB7XG4g
ICAgICAgIHJldHVybiB2bm9kZVxuICAgICAgfVxuICAgICAgdmFyIGtleSA9IHZub2RlLmtleSA9
PSBudWxsXG4gICAgICAgIC8vIHNhbWUgY29uc3RydWN0b3IgbWF5IGdldCByZWdpc3RlcmVkIGFz
IGRpZmZlcmVudCBsb2NhbCBjb21wb25lbnRzXG4gICAgICAgIC8vIHNvIGNpZCBhbG9uZSBpcyBu
b3QgZW5vdWdoICgjMzI2OSlcbiAgICAgICAgPyBjb21wb25lbnRPcHRpb25zLkN0b3IuY2lkICsg
KGNvbXBvbmVudE9wdGlvbnMudGFnID8gKFwiOjpcIiArIChjb21wb25lbnRPcHRpb25zLnRhZykp
IDogJycpXG4gICAgICAgIDogdm5vZGUua2V5O1xuICAgICAgaWYgKHRoaXMuY2FjaGVba2V5XSkg
e1xuICAgICAgICB2bm9kZS5jb21wb25lbnRJbnN0YW5jZSA9IHRoaXMuY2FjaGVba2V5XS5jb21w
b25lbnRJbnN0YW5jZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2FjaGVba2V5XSA9
IHZub2RlO1xuICAgICAgfVxuICAgICAgdm5vZGUuZGF0YS5rZWVwQWxpdmUgPSB0cnVlO1xuICAg
IH1cbiAgICByZXR1cm4gdm5vZGVcbiAgfVxufTtcblxudmFyIGJ1aWx0SW5Db21wb25lbnRzID0g
e1xuICBLZWVwQWxpdmU6IEtlZXBBbGl2ZVxufTtcblxuLyogICovXG5cbmZ1bmN0aW9uIGluaXRH
bG9iYWxBUEkgKFZ1ZSkge1xuICAvLyBjb25maWdcbiAgdmFyIGNvbmZpZ0RlZiA9IHt9O1xuICBj
b25maWdEZWYuZ2V0ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gY29uZmlnOyB9O1xuICBpZiAoZmFs
c2UpIHtcbiAgICBjb25maWdEZWYuc2V0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgd2FybihcbiAg
ICAgICAgJ0RvIG5vdCByZXBsYWNlIHRoZSBWdWUuY29uZmlnIG9iamVjdCwgc2V0IGluZGl2aWR1
YWwgZmllbGRzIGluc3RlYWQuJ1xuICAgICAgKTtcbiAgICB9O1xuICB9XG4gIE9iamVjdC5kZWZp
bmVQcm9wZXJ0eShWdWUsICdjb25maWcnLCBjb25maWdEZWYpO1xuXG4gIC8vIGV4cG9zZWQgdXRp
bCBtZXRob2RzLlxuICAvLyBOT1RFOiB0aGVzZSBhcmUgbm90IGNvbnNpZGVyZWQgcGFydCBvZiB0
aGUgcHVibGljIEFQSSAtIGF2b2lkIHJlbHlpbmcgb25cbiAgLy8gdGhlbSB1bmxlc3MgeW91IGFy
ZSBhd2FyZSBvZiB0aGUgcmlzay5cbiAgVnVlLnV0aWwgPSB7XG4gICAgd2Fybjogd2FybixcbiAg
ICBleHRlbmQ6IGV4dGVuZCxcbiAgICBtZXJnZU9wdGlvbnM6IG1lcmdlT3B0aW9ucyxcbiAgICBk
ZWZpbmVSZWFjdGl2ZTogZGVmaW5lUmVhY3RpdmUkJDFcbiAgfTtcblxuICBWdWUuc2V0ID0gc2V0
O1xuICBWdWUuZGVsZXRlID0gZGVsO1xuICBWdWUubmV4dFRpY2sgPSBuZXh0VGljaztcblxuICBW
dWUub3B0aW9ucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIEFTU0VUX1RZUEVTLmZvckVhY2go
ZnVuY3Rpb24gKHR5cGUpIHtcbiAgICBWdWUub3B0aW9uc1t0eXBlICsgJ3MnXSA9IE9iamVjdC5j
cmVhdGUobnVsbCk7XG4gIH0pO1xuXG4gIC8vIHRoaXMgaXMgdXNlZCB0byBpZGVudGlmeSB0aGUg
XCJiYXNlXCIgY29uc3RydWN0b3IgdG8gZXh0ZW5kIGFsbCBwbGFpbi1vYmplY3RcbiAgLy8gY29t
cG9uZW50cyB3aXRoIGluIFdlZXgncyBtdWx0aS1pbnN0YW5jZSBzY2VuYXJpb3MuXG4gIFZ1ZS5v
cHRpb25zLl9iYXNlID0gVnVlO1xuXG4gIGV4dGVuZChWdWUub3B0aW9ucy5jb21wb25lbnRzLCBi
dWlsdEluQ29tcG9uZW50cyk7XG5cbiAgaW5pdFVzZShWdWUpO1xuICBpbml0TWl4aW4kMShWdWUp
O1xuICBpbml0RXh0ZW5kKFZ1ZSk7XG4gIGluaXRBc3NldFJlZ2lzdGVycyhWdWUpO1xufVxuXG5p
bml0R2xvYmFsQVBJKFZ1ZSQzKTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFZ1ZSQzLnByb3Rv
dHlwZSwgJyRpc1NlcnZlcicsIHtcbiAgZ2V0OiBpc1NlcnZlclJlbmRlcmluZ1xufSk7XG5cbk9i
amVjdC5kZWZpbmVQcm9wZXJ0eShWdWUkMy5wcm90b3R5cGUsICckc3NyQ29udGV4dCcsIHtcbiAg
Z2V0OiBmdW5jdGlvbiBnZXQgKCkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4g
ICAgcmV0dXJuIHRoaXMuJHZub2RlICYmIHRoaXMuJHZub2RlLnNzckNvbnRleHRcbiAgfVxufSk7
XG5cblZ1ZSQzLnZlcnNpb24gPSAnMi40LjInO1xuXG4vKiAgKi9cblxuLy8gdGhlc2UgYXJlIHJl
c2VydmVkIGZvciB3ZWIgYmVjYXVzZSB0aGV5IGFyZSBkaXJlY3RseSBjb21waWxlZCBhd2F5XG4v
LyBkdXJpbmcgdGVtcGxhdGUgY29tcGlsYXRpb25cbnZhciBpc1Jlc2VydmVkQXR0ciA9IG1ha2VN
YXAoJ3N0eWxlLGNsYXNzJyk7XG5cbi8vIGF0dHJpYnV0ZXMgdGhhdCBzaG91bGQgYmUgdXNpbmcg
cHJvcHMgZm9yIGJpbmRpbmdcbnZhciBhY2NlcHRWYWx1ZSA9IG1ha2VNYXAoJ2lucHV0LHRleHRh
cmVhLG9wdGlvbixzZWxlY3QnKTtcbnZhciBtdXN0VXNlUHJvcCA9IGZ1bmN0aW9uICh0YWcsIHR5
cGUsIGF0dHIpIHtcbiAgcmV0dXJuIChcbiAgICAoYXR0ciA9PT0gJ3ZhbHVlJyAmJiBhY2NlcHRW
YWx1ZSh0YWcpKSAmJiB0eXBlICE9PSAnYnV0dG9uJyB8fFxuICAgIChhdHRyID09PSAnc2VsZWN0
ZWQnICYmIHRhZyA9PT0gJ29wdGlvbicpIHx8XG4gICAgKGF0dHIgPT09ICdjaGVja2VkJyAmJiB0
YWcgPT09ICdpbnB1dCcpIHx8XG4gICAgKGF0dHIgPT09ICdtdXRlZCcgJiYgdGFnID09PSAndmlk
ZW8nKVxuICApXG59O1xuXG52YXIgaXNFbnVtZXJhdGVkQXR0ciA9IG1ha2VNYXAoJ2NvbnRlbnRl
ZGl0YWJsZSxkcmFnZ2FibGUsc3BlbGxjaGVjaycpO1xuXG52YXIgaXNCb29sZWFuQXR0ciA9IG1h
a2VNYXAoXG4gICdhbGxvd2Z1bGxzY3JlZW4sYXN5bmMsYXV0b2ZvY3VzLGF1dG9wbGF5LGNoZWNr
ZWQsY29tcGFjdCxjb250cm9scyxkZWNsYXJlLCcgK1xuICAnZGVmYXVsdCxkZWZhdWx0Y2hlY2tl
ZCxkZWZhdWx0bXV0ZWQsZGVmYXVsdHNlbGVjdGVkLGRlZmVyLGRpc2FibGVkLCcgK1xuICAnZW5h
YmxlZCxmb3Jtbm92YWxpZGF0ZSxoaWRkZW4saW5kZXRlcm1pbmF0ZSxpbmVydCxpc21hcCxpdGVt
c2NvcGUsbG9vcCxtdWx0aXBsZSwnICtcbiAgJ211dGVkLG5vaHJlZixub3Jlc2l6ZSxub3NoYWRl
LG5vdmFsaWRhdGUsbm93cmFwLG9wZW4scGF1c2VvbmV4aXQscmVhZG9ubHksJyArXG4gICdyZXF1
aXJlZCxyZXZlcnNlZCxzY29wZWQsc2VhbWxlc3Msc2VsZWN0ZWQsc29ydGFibGUsdHJhbnNsYXRl
LCcgK1xuICAndHJ1ZXNwZWVkLHR5cGVtdXN0bWF0Y2gsdmlzaWJsZSdcbik7XG5cbnZhciB4bGlu
a05TID0gJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnO1xuXG52YXIgaXNYbGluayA9IGZ1
bmN0aW9uIChuYW1lKSB7XG4gIHJldHVybiBuYW1lLmNoYXJBdCg1KSA9PT0gJzonICYmIG5hbWUu
c2xpY2UoMCwgNSkgPT09ICd4bGluaydcbn07XG5cbnZhciBnZXRYbGlua1Byb3AgPSBmdW5jdGlv
biAobmFtZSkge1xuICByZXR1cm4gaXNYbGluayhuYW1lKSA/IG5hbWUuc2xpY2UoNiwgbmFtZS5s
ZW5ndGgpIDogJydcbn07XG5cbnZhciBpc0ZhbHN5QXR0clZhbHVlID0gZnVuY3Rpb24gKHZhbCkg
e1xuICByZXR1cm4gdmFsID09IG51bGwgfHwgdmFsID09PSBmYWxzZVxufTtcblxuLyogICovXG5c
bmZ1bmN0aW9uIGdlbkNsYXNzRm9yVm5vZGUgKHZub2RlKSB7XG4gIHZhciBkYXRhID0gdm5vZGUu
ZGF0YTtcbiAgdmFyIHBhcmVudE5vZGUgPSB2bm9kZTtcbiAgdmFyIGNoaWxkTm9kZSA9IHZub2Rl
O1xuICB3aGlsZSAoaXNEZWYoY2hpbGROb2RlLmNvbXBvbmVudEluc3RhbmNlKSkge1xuICAgIGNo
aWxkTm9kZSA9IGNoaWxkTm9kZS5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGU7XG4gICAgaWYgKGNo
aWxkTm9kZS5kYXRhKSB7XG4gICAgICBkYXRhID0gbWVyZ2VDbGFzc0RhdGEoY2hpbGROb2RlLmRh
dGEsIGRhdGEpO1xuICAgIH1cbiAgfVxuICB3aGlsZSAoaXNEZWYocGFyZW50Tm9kZSA9IHBhcmVu
dE5vZGUucGFyZW50KSkge1xuICAgIGlmIChwYXJlbnROb2RlLmRhdGEpIHtcbiAgICAgIGRhdGEg
PSBtZXJnZUNsYXNzRGF0YShkYXRhLCBwYXJlbnROb2RlLmRhdGEpO1xuICAgIH1cbiAgfVxuICBy
ZXR1cm4gcmVuZGVyQ2xhc3MoZGF0YS5zdGF0aWNDbGFzcywgZGF0YS5jbGFzcylcbn1cblxuZnVu
Y3Rpb24gbWVyZ2VDbGFzc0RhdGEgKGNoaWxkLCBwYXJlbnQpIHtcbiAgcmV0dXJuIHtcbiAgICBz
dGF0aWNDbGFzczogY29uY2F0KGNoaWxkLnN0YXRpY0NsYXNzLCBwYXJlbnQuc3RhdGljQ2xhc3Mp
LFxuICAgIGNsYXNzOiBpc0RlZihjaGlsZC5jbGFzcylcbiAgICAgID8gW2NoaWxkLmNsYXNzLCBw
YXJlbnQuY2xhc3NdXG4gICAgICA6IHBhcmVudC5jbGFzc1xuICB9XG59XG5cbmZ1bmN0aW9uIHJl
bmRlckNsYXNzIChcbiAgc3RhdGljQ2xhc3MsXG4gIGR5bmFtaWNDbGFzc1xuKSB7XG4gIGlmIChp
c0RlZihzdGF0aWNDbGFzcykgfHwgaXNEZWYoZHluYW1pY0NsYXNzKSkge1xuICAgIHJldHVybiBj
b25jYXQoc3RhdGljQ2xhc3MsIHN0cmluZ2lmeUNsYXNzKGR5bmFtaWNDbGFzcykpXG4gIH1cbiAg
LyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcmV0dXJuICcnXG59XG5cbmZ1bmN0aW9uIGNv
bmNhdCAoYSwgYikge1xuICByZXR1cm4gYSA/IGIgPyAoYSArICcgJyArIGIpIDogYSA6IChiIHx8
ICcnKVxufVxuXG5mdW5jdGlvbiBzdHJpbmdpZnlDbGFzcyAodmFsdWUpIHtcbiAgaWYgKEFycmF5
LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHN0cmluZ2lmeUFycmF5KHZhbHVlKVxuICB9
XG4gIGlmIChpc09iamVjdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gc3RyaW5naWZ5T2JqZWN0KHZh
bHVlKVxuICB9XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJu
IHZhbHVlXG4gIH1cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcmV0dXJuICcnXG59
XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeUFycmF5ICh2YWx1ZSkge1xuICB2YXIgcmVzID0gJyc7XG4g
IHZhciBzdHJpbmdpZmllZDtcbiAgZm9yICh2YXIgaSA9IDAsIGwgPSB2YWx1ZS5sZW5ndGg7IGkg
PCBsOyBpKyspIHtcbiAgICBpZiAoaXNEZWYoc3RyaW5naWZpZWQgPSBzdHJpbmdpZnlDbGFzcyh2
YWx1ZVtpXSkpICYmIHN0cmluZ2lmaWVkICE9PSAnJykge1xuICAgICAgaWYgKHJlcykgeyByZXMg
Kz0gJyAnOyB9XG4gICAgICByZXMgKz0gc3RyaW5naWZpZWQ7XG4gICAgfVxuICB9XG4gIHJldHVy
biByZXNcbn1cblxuZnVuY3Rpb24gc3RyaW5naWZ5T2JqZWN0ICh2YWx1ZSkge1xuICB2YXIgcmVz
ID0gJyc7XG4gIGZvciAodmFyIGtleSBpbiB2YWx1ZSkge1xuICAgIGlmICh2YWx1ZVtrZXldKSB7
XG4gICAgICBpZiAocmVzKSB7IHJlcyArPSAnICc7IH1cbiAgICAgIHJlcyArPSBrZXk7XG4gICAg
fVxuICB9XG4gIHJldHVybiByZXNcbn1cblxuLyogICovXG5cbnZhciBuYW1lc3BhY2VNYXAgPSB7
XG4gIHN2ZzogJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyxcbiAgbWF0aDogJ2h0dHA6Ly93
d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwnXG59O1xuXG52YXIgaXNIVE1MVGFnID0gbWFrZU1h
cChcbiAgJ2h0bWwsYm9keSxiYXNlLGhlYWQsbGluayxtZXRhLHN0eWxlLHRpdGxlLCcgK1xuICAn
YWRkcmVzcyxhcnRpY2xlLGFzaWRlLGZvb3RlcixoZWFkZXIsaDEsaDIsaDMsaDQsaDUsaDYsaGdy
b3VwLG5hdixzZWN0aW9uLCcgK1xuICAnZGl2LGRkLGRsLGR0LGZpZ2NhcHRpb24sZmlndXJlLHBp
Y3R1cmUsaHIsaW1nLGxpLG1haW4sb2wscCxwcmUsdWwsJyArXG4gICdhLGIsYWJicixiZGksYmRv
LGJyLGNpdGUsY29kZSxkYXRhLGRmbixlbSxpLGtiZCxtYXJrLHEscnAscnQscnRjLHJ1YnksJyAr
XG4gICdzLHNhbXAsc21hbGwsc3BhbixzdHJvbmcsc3ViLHN1cCx0aW1lLHUsdmFyLHdicixhcmVh
LGF1ZGlvLG1hcCx0cmFjayx2aWRlbywnICtcbiAgJ2VtYmVkLG9iamVjdCxwYXJhbSxzb3VyY2Us
Y2FudmFzLHNjcmlwdCxub3NjcmlwdCxkZWwsaW5zLCcgK1xuICAnY2FwdGlvbixjb2wsY29sZ3Jv
dXAsdGFibGUsdGhlYWQsdGJvZHksdGQsdGgsdHIsJyArXG4gICdidXR0b24sZGF0YWxpc3QsZmll
bGRzZXQsZm9ybSxpbnB1dCxsYWJlbCxsZWdlbmQsbWV0ZXIsb3B0Z3JvdXAsb3B0aW9uLCcgK1xu
ICAnb3V0cHV0LHByb2dyZXNzLHNlbGVjdCx0ZXh0YXJlYSwnICtcbiAgJ2RldGFpbHMsZGlhbG9n
LG1lbnUsbWVudWl0ZW0sc3VtbWFyeSwnICtcbiAgJ2NvbnRlbnQsZWxlbWVudCxzaGFkb3csdGVt
cGxhdGUsYmxvY2txdW90ZSxpZnJhbWUsdGZvb3QnXG4pO1xuXG4vLyB0aGlzIG1hcCBpcyBpbnRl
bnRpb25hbGx5IHNlbGVjdGl2ZSwgb25seSBjb3ZlcmluZyBTVkcgZWxlbWVudHMgdGhhdCBtYXlc
bi8vIGNvbnRhaW4gY2hpbGQgZWxlbWVudHMuXG52YXIgaXNTVkcgPSBtYWtlTWFwKFxuICAnc3Zn
LGFuaW1hdGUsY2lyY2xlLGNsaXBwYXRoLGN1cnNvcixkZWZzLGRlc2MsZWxsaXBzZSxmaWx0ZXIs
Zm9udC1mYWNlLCcgK1xuICAnZm9yZWlnbk9iamVjdCxnLGdseXBoLGltYWdlLGxpbmUsbWFya2Vy
LG1hc2ssbWlzc2luZy1nbHlwaCxwYXRoLHBhdHRlcm4sJyArXG4gICdwb2x5Z29uLHBvbHlsaW5l
LHJlY3Qsc3dpdGNoLHN5bWJvbCx0ZXh0LHRleHRwYXRoLHRzcGFuLHVzZSx2aWV3JyxcbiAgdHJ1
ZVxuKTtcblxudmFyIGlzUHJlVGFnID0gZnVuY3Rpb24gKHRhZykgeyByZXR1cm4gdGFnID09PSAn
cHJlJzsgfTtcblxudmFyIGlzUmVzZXJ2ZWRUYWcgPSBmdW5jdGlvbiAodGFnKSB7XG4gIHJldHVy
biBpc0hUTUxUYWcodGFnKSB8fCBpc1NWRyh0YWcpXG59O1xuXG5mdW5jdGlvbiBnZXRUYWdOYW1l
c3BhY2UgKHRhZykge1xuICBpZiAoaXNTVkcodGFnKSkge1xuICAgIHJldHVybiAnc3ZnJ1xuICB9
XG4gIC8vIGJhc2ljIHN1cHBvcnQgZm9yIE1hdGhNTFxuICAvLyBub3RlIGl0IGRvZXNuJ3Qgc3Vw
cG9ydCBvdGhlciBNYXRoTUwgZWxlbWVudHMgYmVpbmcgY29tcG9uZW50IHJvb3RzXG4gIGlmICh0
YWcgPT09ICdtYXRoJykge1xuICAgIHJldHVybiAnbWF0aCdcbiAgfVxufVxuXG52YXIgdW5rbm93
bkVsZW1lbnRDYWNoZSA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG5mdW5jdGlvbiBpc1Vua25vd25F
bGVtZW50ICh0YWcpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmICghaW5Ccm93
c2VyKSB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuICBpZiAoaXNSZXNlcnZlZFRhZyh0YWcpKSB7
XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgdGFnID0gdGFnLnRvTG93ZXJDYXNlKCk7XG4gIC8q
IGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAodW5rbm93bkVsZW1lbnRDYWNoZVt0YWddICE9
IG51bGwpIHtcbiAgICByZXR1cm4gdW5rbm93bkVsZW1lbnRDYWNoZVt0YWddXG4gIH1cbiAgdmFy
IGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWcpO1xuICBpZiAodGFnLmluZGV4T2YoJy0n
KSA+IC0xKSB7XG4gICAgLy8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjgyMTAzNjQvMTA3
MDI0NFxuICAgIHJldHVybiAodW5rbm93bkVsZW1lbnRDYWNoZVt0YWddID0gKFxuICAgICAgZWwu
Y29uc3RydWN0b3IgPT09IHdpbmRvdy5IVE1MVW5rbm93bkVsZW1lbnQgfHxcbiAgICAgIGVsLmNv
bnN0cnVjdG9yID09PSB3aW5kb3cuSFRNTEVsZW1lbnRcbiAgICApKVxuICB9IGVsc2Uge1xuICAg
IHJldHVybiAodW5rbm93bkVsZW1lbnRDYWNoZVt0YWddID0gL0hUTUxVbmtub3duRWxlbWVudC8u
dGVzdChlbC50b1N0cmluZygpKSlcbiAgfVxufVxuXG4vKiAgKi9cblxuLyoqXG4gKiBRdWVyeSBh
biBlbGVtZW50IHNlbGVjdG9yIGlmIGl0J3Mgbm90IGFuIGVsZW1lbnQgYWxyZWFkeS5cbiAqL1xu
ZnVuY3Rpb24gcXVlcnkgKGVsKSB7XG4gIGlmICh0eXBlb2YgZWwgPT09ICdzdHJpbmcnKSB7XG4g
ICAgdmFyIHNlbGVjdGVkID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihlbCk7XG4gICAgaWYgKCFz
ZWxlY3RlZCkge1xuICAgICAgXCJwcm9kdWN0aW9uXCIgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJu
KFxuICAgICAgICAnQ2Fubm90IGZpbmQgZWxlbWVudDogJyArIGVsXG4gICAgICApO1xuICAgICAg
cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gICAgfVxuICAgIHJldHVybiBz
ZWxlY3RlZFxuICB9IGVsc2Uge1xuICAgIHJldHVybiBlbFxuICB9XG59XG5cbi8qICAqL1xuXG5m
dW5jdGlvbiBjcmVhdGVFbGVtZW50JDEgKHRhZ05hbWUsIHZub2RlKSB7XG4gIHZhciBlbG0gPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpO1xuICBpZiAodGFnTmFtZSAhPT0gJ3NlbGVj
dCcpIHtcbiAgICByZXR1cm4gZWxtXG4gIH1cbiAgLy8gZmFsc2Ugb3IgbnVsbCB3aWxsIHJlbW92
ZSB0aGUgYXR0cmlidXRlIGJ1dCB1bmRlZmluZWQgd2lsbCBub3RcbiAgaWYgKHZub2RlLmRhdGEg
JiYgdm5vZGUuZGF0YS5hdHRycyAmJiB2bm9kZS5kYXRhLmF0dHJzLm11bHRpcGxlICE9PSB1bmRl
ZmluZWQpIHtcbiAgICBlbG0uc2V0QXR0cmlidXRlKCdtdWx0aXBsZScsICdtdWx0aXBsZScpO1xu
ICB9XG4gIHJldHVybiBlbG1cbn1cblxuZnVuY3Rpb24gY3JlYXRlRWxlbWVudE5TIChuYW1lc3Bh
Y2UsIHRhZ05hbWUpIHtcbiAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhuYW1lc3Bh
Y2VNYXBbbmFtZXNwYWNlXSwgdGFnTmFtZSlcbn1cblxuZnVuY3Rpb24gY3JlYXRlVGV4dE5vZGUg
KHRleHQpIHtcbiAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRleHQpXG59XG5cbmZ1
bmN0aW9uIGNyZWF0ZUNvbW1lbnQgKHRleHQpIHtcbiAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZUNv
bW1lbnQodGV4dClcbn1cblxuZnVuY3Rpb24gaW5zZXJ0QmVmb3JlIChwYXJlbnROb2RlLCBuZXdO
b2RlLCByZWZlcmVuY2VOb2RlKSB7XG4gIHBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG5ld05vZGUs
IHJlZmVyZW5jZU5vZGUpO1xufVxuXG5mdW5jdGlvbiByZW1vdmVDaGlsZCAobm9kZSwgY2hpbGQp
IHtcbiAgbm9kZS5yZW1vdmVDaGlsZChjaGlsZCk7XG59XG5cbmZ1bmN0aW9uIGFwcGVuZENoaWxk
IChub2RlLCBjaGlsZCkge1xuICBub2RlLmFwcGVuZENoaWxkKGNoaWxkKTtcbn1cblxuZnVuY3Rp
b24gcGFyZW50Tm9kZSAobm9kZSkge1xuICByZXR1cm4gbm9kZS5wYXJlbnROb2RlXG59XG5cbmZ1
bmN0aW9uIG5leHRTaWJsaW5nIChub2RlKSB7XG4gIHJldHVybiBub2RlLm5leHRTaWJsaW5nXG59
XG5cbmZ1bmN0aW9uIHRhZ05hbWUgKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUudGFnTmFtZVxufVxu
XG5mdW5jdGlvbiBzZXRUZXh0Q29udGVudCAobm9kZSwgdGV4dCkge1xuICBub2RlLnRleHRDb250
ZW50ID0gdGV4dDtcbn1cblxuZnVuY3Rpb24gc2V0QXR0cmlidXRlIChub2RlLCBrZXksIHZhbCkg
e1xuICBub2RlLnNldEF0dHJpYnV0ZShrZXksIHZhbCk7XG59XG5cblxudmFyIG5vZGVPcHMgPSBP
YmplY3QuZnJlZXplKHtcblx0Y3JlYXRlRWxlbWVudDogY3JlYXRlRWxlbWVudCQxLFxuXHRjcmVh
dGVFbGVtZW50TlM6IGNyZWF0ZUVsZW1lbnROUyxcblx0Y3JlYXRlVGV4dE5vZGU6IGNyZWF0ZVRl
eHROb2RlLFxuXHRjcmVhdGVDb21tZW50OiBjcmVhdGVDb21tZW50LFxuXHRpbnNlcnRCZWZvcmU6
IGluc2VydEJlZm9yZSxcblx0cmVtb3ZlQ2hpbGQ6IHJlbW92ZUNoaWxkLFxuXHRhcHBlbmRDaGls
ZDogYXBwZW5kQ2hpbGQsXG5cdHBhcmVudE5vZGU6IHBhcmVudE5vZGUsXG5cdG5leHRTaWJsaW5n
OiBuZXh0U2libGluZyxcblx0dGFnTmFtZTogdGFnTmFtZSxcblx0c2V0VGV4dENvbnRlbnQ6IHNl
dFRleHRDb250ZW50LFxuXHRzZXRBdHRyaWJ1dGU6IHNldEF0dHJpYnV0ZVxufSk7XG5cbi8qICAq
L1xuXG52YXIgcmVmID0ge1xuICBjcmVhdGU6IGZ1bmN0aW9uIGNyZWF0ZSAoXywgdm5vZGUpIHtc
biAgICByZWdpc3RlclJlZih2bm9kZSk7XG4gIH0sXG4gIHVwZGF0ZTogZnVuY3Rpb24gdXBkYXRl
IChvbGRWbm9kZSwgdm5vZGUpIHtcbiAgICBpZiAob2xkVm5vZGUuZGF0YS5yZWYgIT09IHZub2Rl
LmRhdGEucmVmKSB7XG4gICAgICByZWdpc3RlclJlZihvbGRWbm9kZSwgdHJ1ZSk7XG4gICAgICBy
ZWdpc3RlclJlZih2bm9kZSk7XG4gICAgfVxuICB9LFxuICBkZXN0cm95OiBmdW5jdGlvbiBkZXN0
cm95ICh2bm9kZSkge1xuICAgIHJlZ2lzdGVyUmVmKHZub2RlLCB0cnVlKTtcbiAgfVxufTtcblxu
ZnVuY3Rpb24gcmVnaXN0ZXJSZWYgKHZub2RlLCBpc1JlbW92YWwpIHtcbiAgdmFyIGtleSA9IHZu
b2RlLmRhdGEucmVmO1xuICBpZiAoIWtleSkgeyByZXR1cm4gfVxuXG4gIHZhciB2bSA9IHZub2Rl
LmNvbnRleHQ7XG4gIHZhciByZWYgPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZSB8fCB2bm9kZS5l
bG07XG4gIHZhciByZWZzID0gdm0uJHJlZnM7XG4gIGlmIChpc1JlbW92YWwpIHtcbiAgICBpZiAo
QXJyYXkuaXNBcnJheShyZWZzW2tleV0pKSB7XG4gICAgICByZW1vdmUocmVmc1trZXldLCByZWYp
O1xuICAgIH0gZWxzZSBpZiAocmVmc1trZXldID09PSByZWYpIHtcbiAgICAgIHJlZnNba2V5XSA9
IHVuZGVmaW5lZDtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKHZub2RlLmRhdGEucmVmSW5G
b3IpIHtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShyZWZzW2tleV0pKSB7XG4gICAgICAgIHJl
ZnNba2V5XSA9IFtyZWZdO1xuICAgICAgfSBlbHNlIGlmIChyZWZzW2tleV0uaW5kZXhPZihyZWYp
IDwgMCkge1xuICAgICAgICAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbiAgICAgICAgcmVmc1trZXld
LnB1c2gocmVmKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmVmc1trZXldID0gcmVm
O1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFZpcnR1YWwgRE9NIHBhdGNoaW5nIGFsZ29yaXRo
bSBiYXNlZCBvbiBTbmFiYmRvbSBieVxuICogU2ltb24gRnJpaXMgVmluZHVtIChAcGFsZGVwaW5k
KVxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKiBodHRwczovL2dpdGh1Yi5j
b20vcGFsZGVwaW5kL3NuYWJiZG9tL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqXG4gKiBtb2RpZmll
ZCBieSBFdmFuIFlvdSAoQHl5eDk5MDgwMylcbiAqXG5cbi8qXG4gKiBOb3QgdHlwZS1jaGVja2lu
ZyB0aGlzIGJlY2F1c2UgdGhpcyBmaWxlIGlzIHBlcmYtY3JpdGljYWwgYW5kIHRoZSBjb3N0XG4g
KiBvZiBtYWtpbmcgZmxvdyB1bmRlcnN0YW5kIGl0IGlzIG5vdCB3b3J0aCBpdC5cbiAqL1xuXG52
YXIgZW1wdHlOb2RlID0gbmV3IFZOb2RlKCcnLCB7fSwgW10pO1xuXG52YXIgaG9va3MgPSBbJ2Ny
ZWF0ZScsICdhY3RpdmF0ZScsICd1cGRhdGUnLCAncmVtb3ZlJywgJ2Rlc3Ryb3knXTtcblxuZnVu
Y3Rpb24gc2FtZVZub2RlIChhLCBiKSB7XG4gIHJldHVybiAoXG4gICAgYS5rZXkgPT09IGIua2V5
ICYmIChcbiAgICAgIChcbiAgICAgICAgYS50YWcgPT09IGIudGFnICYmXG4gICAgICAgIGEuaXND
b21tZW50ID09PSBiLmlzQ29tbWVudCAmJlxuICAgICAgICBpc0RlZihhLmRhdGEpID09PSBpc0Rl
ZihiLmRhdGEpICYmXG4gICAgICAgIHNhbWVJbnB1dFR5cGUoYSwgYilcbiAgICAgICkgfHwgKFxu
ICAgICAgICBpc1RydWUoYS5pc0FzeW5jUGxhY2Vob2xkZXIpICYmXG4gICAgICAgIGEuYXN5bmNG
YWN0b3J5ID09PSBiLmFzeW5jRmFjdG9yeSAmJlxuICAgICAgICBpc1VuZGVmKGIuYXN5bmNGYWN0
b3J5LmVycm9yKVxuICAgICAgKVxuICAgIClcbiAgKVxufVxuXG4vLyBTb21lIGJyb3dzZXJzIGRv
IG5vdCBzdXBwb3J0IGR5bmFtaWNhbGx5IGNoYW5naW5nIHR5cGUgZm9yIDxpbnB1dD5cbi8vIHNv
IHRoZXkgbmVlZCB0byBiZSB0cmVhdGVkIGFzIGRpZmZlcmVudCBub2Rlc1xuZnVuY3Rpb24gc2Ft
ZUlucHV0VHlwZSAoYSwgYikge1xuICBpZiAoYS50YWcgIT09ICdpbnB1dCcpIHsgcmV0dXJuIHRy
dWUgfVxuICB2YXIgaTtcbiAgdmFyIHR5cGVBID0gaXNEZWYoaSA9IGEuZGF0YSkgJiYgaXNEZWYo
aSA9IGkuYXR0cnMpICYmIGkudHlwZTtcbiAgdmFyIHR5cGVCID0gaXNEZWYoaSA9IGIuZGF0YSkg
JiYgaXNEZWYoaSA9IGkuYXR0cnMpICYmIGkudHlwZTtcbiAgcmV0dXJuIHR5cGVBID09PSB0eXBl
QlxufVxuXG5mdW5jdGlvbiBjcmVhdGVLZXlUb09sZElkeCAoY2hpbGRyZW4sIGJlZ2luSWR4LCBl
bmRJZHgpIHtcbiAgdmFyIGksIGtleTtcbiAgdmFyIG1hcCA9IHt9O1xuICBmb3IgKGkgPSBiZWdp
bklkeDsgaSA8PSBlbmRJZHg7ICsraSkge1xuICAgIGtleSA9IGNoaWxkcmVuW2ldLmtleTtcbiAg
ICBpZiAoaXNEZWYoa2V5KSkgeyBtYXBba2V5XSA9IGk7IH1cbiAgfVxuICByZXR1cm4gbWFwXG59
XG5cbmZ1bmN0aW9uIGNyZWF0ZVBhdGNoRnVuY3Rpb24gKGJhY2tlbmQpIHtcbiAgdmFyIGksIGo7
XG4gIHZhciBjYnMgPSB7fTtcblxuICB2YXIgbW9kdWxlcyA9IGJhY2tlbmQubW9kdWxlcztcbiAg
dmFyIG5vZGVPcHMgPSBiYWNrZW5kLm5vZGVPcHM7XG5cbiAgZm9yIChpID0gMDsgaSA8IGhvb2tz
Lmxlbmd0aDsgKytpKSB7XG4gICAgY2JzW2hvb2tzW2ldXSA9IFtdO1xuICAgIGZvciAoaiA9IDA7
IGogPCBtb2R1bGVzLmxlbmd0aDsgKytqKSB7XG4gICAgICBpZiAoaXNEZWYobW9kdWxlc1tqXVto
b29rc1tpXV0pKSB7XG4gICAgICAgIGNic1tob29rc1tpXV0ucHVzaChtb2R1bGVzW2pdW2hvb2tz
W2ldXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gZW1wdHlOb2RlQXQgKGVs
bSkge1xuICAgIHJldHVybiBuZXcgVk5vZGUobm9kZU9wcy50YWdOYW1lKGVsbSkudG9Mb3dlckNh
c2UoKSwge30sIFtdLCB1bmRlZmluZWQsIGVsbSlcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZVJt
Q2IgKGNoaWxkRWxtLCBsaXN0ZW5lcnMpIHtcbiAgICBmdW5jdGlvbiByZW1vdmUkJDEgKCkge1xu
ICAgICAgaWYgKC0tcmVtb3ZlJCQxLmxpc3RlbmVycyA9PT0gMCkge1xuICAgICAgICByZW1vdmVO
b2RlKGNoaWxkRWxtKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmVtb3ZlJCQxLmxpc3RlbmVycyA9
IGxpc3RlbmVycztcbiAgICByZXR1cm4gcmVtb3ZlJCQxXG4gIH1cblxuICBmdW5jdGlvbiByZW1v
dmVOb2RlIChlbCkge1xuICAgIHZhciBwYXJlbnQgPSBub2RlT3BzLnBhcmVudE5vZGUoZWwpO1xu
ICAgIC8vIGVsZW1lbnQgbWF5IGhhdmUgYWxyZWFkeSBiZWVuIHJlbW92ZWQgZHVlIHRvIHYtaHRt
bCAvIHYtdGV4dFxuICAgIGlmIChpc0RlZihwYXJlbnQpKSB7XG4gICAgICBub2RlT3BzLnJlbW92
ZUNoaWxkKHBhcmVudCwgZWwpO1xuICAgIH1cbiAgfVxuXG4gIHZhciBpblByZSA9IDA7XG4gIGZ1
bmN0aW9uIGNyZWF0ZUVsbSAodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCBy
ZWZFbG0sIG5lc3RlZCkge1xuICAgIHZub2RlLmlzUm9vdEluc2VydCA9ICFuZXN0ZWQ7IC8vIGZv
ciB0cmFuc2l0aW9uIGVudGVyIGNoZWNrXG4gICAgaWYgKGNyZWF0ZUNvbXBvbmVudCh2bm9kZSwg
aW5zZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIHJlZkVsbSkpIHtcbiAgICAgIHJldHVyblxu
ICAgIH1cblxuICAgIHZhciBkYXRhID0gdm5vZGUuZGF0YTtcbiAgICB2YXIgY2hpbGRyZW4gPSB2
bm9kZS5jaGlsZHJlbjtcbiAgICB2YXIgdGFnID0gdm5vZGUudGFnO1xuICAgIGlmIChpc0RlZih0
YWcpKSB7XG4gICAgICBpZiAoZmFsc2UpIHtcbiAgICAgICAgaWYgKGRhdGEgJiYgZGF0YS5wcmUp
IHtcbiAgICAgICAgICBpblByZSsrO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAg
ICAhaW5QcmUgJiZcbiAgICAgICAgICAhdm5vZGUubnMgJiZcbiAgICAgICAgICAhKGNvbmZpZy5p
Z25vcmVkRWxlbWVudHMubGVuZ3RoICYmIGNvbmZpZy5pZ25vcmVkRWxlbWVudHMuaW5kZXhPZih0
YWcpID4gLTEpICYmXG4gICAgICAgICAgY29uZmlnLmlzVW5rbm93bkVsZW1lbnQodGFnKVxuICAg
ICAgICApIHtcbiAgICAgICAgICB3YXJuKFxuICAgICAgICAgICAgJ1Vua25vd24gY3VzdG9tIGVs
ZW1lbnQ6IDwnICsgdGFnICsgJz4gLSBkaWQgeW91ICcgK1xuICAgICAgICAgICAgJ3JlZ2lzdGVy
IHRoZSBjb21wb25lbnQgY29ycmVjdGx5PyBGb3IgcmVjdXJzaXZlIGNvbXBvbmVudHMsICcgK1xu
ICAgICAgICAgICAgJ21ha2Ugc3VyZSB0byBwcm92aWRlIHRoZSBcIm5hbWVcIiBvcHRpb24uJyxc
biAgICAgICAgICAgIHZub2RlLmNvbnRleHRcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAg
ICB9XG4gICAgICB2bm9kZS5lbG0gPSB2bm9kZS5uc1xuICAgICAgICA/IG5vZGVPcHMuY3JlYXRl
RWxlbWVudE5TKHZub2RlLm5zLCB0YWcpXG4gICAgICAgIDogbm9kZU9wcy5jcmVhdGVFbGVtZW50
KHRhZywgdm5vZGUpO1xuICAgICAgc2V0U2NvcGUodm5vZGUpO1xuXG4gICAgICAvKiBpc3RhbmJ1
bCBpZ25vcmUgaWYgKi9cbiAgICAgIHtcbiAgICAgICAgY3JlYXRlQ2hpbGRyZW4odm5vZGUsIGNo
aWxkcmVuLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICBpZiAoaXNEZWYoZGF0YSkpIHtc
biAgICAgICAgICBpbnZva2VDcmVhdGVIb29rcyh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtc
biAgICAgICAgfVxuICAgICAgICBpbnNlcnQocGFyZW50RWxtLCB2bm9kZS5lbG0sIHJlZkVsbSk7
XG4gICAgICB9XG5cbiAgICAgIGlmIChmYWxzZSkge1xuICAgICAgICBpblByZS0tO1xuICAgICAg
fVxuICAgIH0gZWxzZSBpZiAoaXNUcnVlKHZub2RlLmlzQ29tbWVudCkpIHtcbiAgICAgIHZub2Rl
LmVsbSA9IG5vZGVPcHMuY3JlYXRlQ29tbWVudCh2bm9kZS50ZXh0KTtcbiAgICAgIGluc2VydChw
YXJlbnRFbG0sIHZub2RlLmVsbSwgcmVmRWxtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdm5vZGUu
ZWxtID0gbm9kZU9wcy5jcmVhdGVUZXh0Tm9kZSh2bm9kZS50ZXh0KTtcbiAgICAgIGluc2VydChw
YXJlbnRFbG0sIHZub2RlLmVsbSwgcmVmRWxtKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBj
cmVhdGVDb21wb25lbnQgKHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIHBhcmVudEVsbSwgcmVm
RWxtKSB7XG4gICAgdmFyIGkgPSB2bm9kZS5kYXRhO1xuICAgIGlmIChpc0RlZihpKSkge1xuICAg
ICAgdmFyIGlzUmVhY3RpdmF0ZWQgPSBpc0RlZih2bm9kZS5jb21wb25lbnRJbnN0YW5jZSkgJiYg
aS5rZWVwQWxpdmU7XG4gICAgICBpZiAoaXNEZWYoaSA9IGkuaG9vaykgJiYgaXNEZWYoaSA9IGku
aW5pdCkpIHtcbiAgICAgICAgaSh2bm9kZSwgZmFsc2UgLyogaHlkcmF0aW5nICovLCBwYXJlbnRF
bG0sIHJlZkVsbSk7XG4gICAgICB9XG4gICAgICAvLyBhZnRlciBjYWxsaW5nIHRoZSBpbml0IGhv
b2ssIGlmIHRoZSB2bm9kZSBpcyBhIGNoaWxkIGNvbXBvbmVudFxuICAgICAgLy8gaXQgc2hvdWxk
J3ZlIGNyZWF0ZWQgYSBjaGlsZCBpbnN0YW5jZSBhbmQgbW91bnRlZCBpdC4gdGhlIGNoaWxkXG4g
ICAgICAvLyBjb21wb25lbnQgYWxzbyBoYXMgc2V0IHRoZSBwbGFjZWhvbGRlciB2bm9kZSdzIGVs
bS5cbiAgICAgIC8vIGluIHRoYXQgY2FzZSB3ZSBjYW4ganVzdCByZXR1cm4gdGhlIGVsZW1lbnQg
YW5kIGJlIGRvbmUuXG4gICAgICBpZiAoaXNEZWYodm5vZGUuY29tcG9uZW50SW5zdGFuY2UpKSB7
XG4gICAgICAgIGluaXRDb21wb25lbnQodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAg
ICAgIGlmIChpc1RydWUoaXNSZWFjdGl2YXRlZCkpIHtcbiAgICAgICAgICByZWFjdGl2YXRlQ29t
cG9uZW50KHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIHBhcmVudEVsbSwgcmVmRWxtKTtcbiAg
ICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1
bmN0aW9uIGluaXRDb21wb25lbnQgKHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpIHtcbiAgICBp
ZiAoaXNEZWYodm5vZGUuZGF0YS5wZW5kaW5nSW5zZXJ0KSkge1xuICAgICAgaW5zZXJ0ZWRWbm9k
ZVF1ZXVlLnB1c2guYXBwbHkoaW5zZXJ0ZWRWbm9kZVF1ZXVlLCB2bm9kZS5kYXRhLnBlbmRpbmdJ
bnNlcnQpO1xuICAgICAgdm5vZGUuZGF0YS5wZW5kaW5nSW5zZXJ0ID0gbnVsbDtcbiAgICB9XG4g
ICAgdm5vZGUuZWxtID0gdm5vZGUuY29tcG9uZW50SW5zdGFuY2UuJGVsO1xuICAgIGlmIChpc1Bh
dGNoYWJsZSh2bm9kZSkpIHtcbiAgICAgIGludm9rZUNyZWF0ZUhvb2tzKHZub2RlLCBpbnNlcnRl
ZFZub2RlUXVldWUpO1xuICAgICAgc2V0U2NvcGUodm5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAg
ICAvLyBlbXB0eSBjb21wb25lbnQgcm9vdC5cbiAgICAgIC8vIHNraXAgYWxsIGVsZW1lbnQtcmVs
YXRlZCBtb2R1bGVzIGV4Y2VwdCBmb3IgcmVmICgjMzQ1NSlcbiAgICAgIHJlZ2lzdGVyUmVmKHZu
b2RlKTtcbiAgICAgIC8vIG1ha2Ugc3VyZSB0byBpbnZva2UgdGhlIGluc2VydCBob29rXG4gICAg
ICBpbnNlcnRlZFZub2RlUXVldWUucHVzaCh2bm9kZSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rp
b24gcmVhY3RpdmF0ZUNvbXBvbmVudCAodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50
RWxtLCByZWZFbG0pIHtcbiAgICB2YXIgaTtcbiAgICAvLyBoYWNrIGZvciAjNDMzOTogYSByZWFj
dGl2YXRlZCBjb21wb25lbnQgd2l0aCBpbm5lciB0cmFuc2l0aW9uXG4gICAgLy8gZG9lcyBub3Qg
dHJpZ2dlciBiZWNhdXNlIHRoZSBpbm5lciBub2RlJ3MgY3JlYXRlZCBob29rcyBhcmUgbm90IGNh
bGxlZFxuICAgIC8vIGFnYWluLiBJdCdzIG5vdCBpZGVhbCB0byBpbnZvbHZlIG1vZHVsZS1zcGVj
aWZpYyBsb2dpYyBpbiBoZXJlIGJ1dFxuICAgIC8vIHRoZXJlIGRvZXNuJ3Qgc2VlbSB0byBiZSBh
IGJldHRlciB3YXkgdG8gZG8gaXQuXG4gICAgdmFyIGlubmVyTm9kZSA9IHZub2RlO1xuICAgIHdo
aWxlIChpbm5lck5vZGUuY29tcG9uZW50SW5zdGFuY2UpIHtcbiAgICAgIGlubmVyTm9kZSA9IGlu
bmVyTm9kZS5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGU7XG4gICAgICBpZiAoaXNEZWYoaSA9IGlu
bmVyTm9kZS5kYXRhKSAmJiBpc0RlZihpID0gaS50cmFuc2l0aW9uKSkge1xuICAgICAgICBmb3Ig
KGkgPSAwOyBpIDwgY2JzLmFjdGl2YXRlLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgY2JzLmFj
dGl2YXRlW2ldKGVtcHR5Tm9kZSwgaW5uZXJOb2RlKTtcbiAgICAgICAgfVxuICAgICAgICBpbnNl
cnRlZFZub2RlUXVldWUucHVzaChpbm5lck5vZGUpO1xuICAgICAgICBicmVha1xuICAgICAgfVxu
ICAgIH1cbiAgICAvLyB1bmxpa2UgYSBuZXdseSBjcmVhdGVkIGNvbXBvbmVudCxcbiAgICAvLyBh
IHJlYWN0aXZhdGVkIGtlZXAtYWxpdmUgY29tcG9uZW50IGRvZXNuJ3QgaW5zZXJ0IGl0c2VsZlxu
ICAgIGluc2VydChwYXJlbnRFbG0sIHZub2RlLmVsbSwgcmVmRWxtKTtcbiAgfVxuXG4gIGZ1bmN0
aW9uIGluc2VydCAocGFyZW50LCBlbG0sIHJlZiQkMSkge1xuICAgIGlmIChpc0RlZihwYXJlbnQp
KSB7XG4gICAgICBpZiAoaXNEZWYocmVmJCQxKSkge1xuICAgICAgICBpZiAocmVmJCQxLnBhcmVu
dE5vZGUgPT09IHBhcmVudCkge1xuICAgICAgICAgIG5vZGVPcHMuaW5zZXJ0QmVmb3JlKHBhcmVu
dCwgZWxtLCByZWYkJDEpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub2Rl
T3BzLmFwcGVuZENoaWxkKHBhcmVudCwgZWxtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBm
dW5jdGlvbiBjcmVhdGVDaGlsZHJlbiAodm5vZGUsIGNoaWxkcmVuLCBpbnNlcnRlZFZub2RlUXVl
dWUpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgY3JlYXRlRWxtKGNo
aWxkcmVuW2ldLCBpbnNlcnRlZFZub2RlUXVldWUsIHZub2RlLmVsbSwgbnVsbCwgdHJ1ZSk7XG4g
ICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1ByaW1pdGl2ZSh2bm9kZS50ZXh0KSkge1xuICAgICAg
bm9kZU9wcy5hcHBlbmRDaGlsZCh2bm9kZS5lbG0sIG5vZGVPcHMuY3JlYXRlVGV4dE5vZGUodm5v
ZGUudGV4dCkpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGlzUGF0Y2hhYmxlICh2bm9kZSkg
e1xuICAgIHdoaWxlICh2bm9kZS5jb21wb25lbnRJbnN0YW5jZSkge1xuICAgICAgdm5vZGUgPSB2
bm9kZS5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGU7XG4gICAgfVxuICAgIHJldHVybiBpc0RlZih2
bm9kZS50YWcpXG4gIH1cblxuICBmdW5jdGlvbiBpbnZva2VDcmVhdGVIb29rcyAodm5vZGUsIGlu
c2VydGVkVm5vZGVRdWV1ZSkge1xuICAgIGZvciAodmFyIGkkMSA9IDA7IGkkMSA8IGNicy5jcmVh
dGUubGVuZ3RoOyArK2kkMSkge1xuICAgICAgY2JzLmNyZWF0ZVtpJDFdKGVtcHR5Tm9kZSwgdm5v
ZGUpO1xuICAgIH1cbiAgICBpID0gdm5vZGUuZGF0YS5ob29rOyAvLyBSZXVzZSB2YXJpYWJsZVxu
ICAgIGlmIChpc0RlZihpKSkge1xuICAgICAgaWYgKGlzRGVmKGkuY3JlYXRlKSkgeyBpLmNyZWF0
ZShlbXB0eU5vZGUsIHZub2RlKTsgfVxuICAgICAgaWYgKGlzRGVmKGkuaW5zZXJ0KSkgeyBpbnNl
cnRlZFZub2RlUXVldWUucHVzaCh2bm9kZSk7IH1cbiAgICB9XG4gIH1cblxuICAvLyBzZXQgc2Nv
cGUgaWQgYXR0cmlidXRlIGZvciBzY29wZWQgQ1NTLlxuICAvLyB0aGlzIGlzIGltcGxlbWVudGVk
IGFzIGEgc3BlY2lhbCBjYXNlIHRvIGF2b2lkIHRoZSBvdmVyaGVhZFxuICAvLyBvZiBnb2luZyB0
aHJvdWdoIHRoZSBub3JtYWwgYXR0cmlidXRlIHBhdGNoaW5nIHByb2Nlc3MuXG4gIGZ1bmN0aW9u
IHNldFNjb3BlICh2bm9kZSkge1xuICAgIHZhciBpO1xuICAgIHZhciBhbmNlc3RvciA9IHZub2Rl
O1xuICAgIHdoaWxlIChhbmNlc3Rvcikge1xuICAgICAgaWYgKGlzRGVmKGkgPSBhbmNlc3Rvci5j
b250ZXh0KSAmJiBpc0RlZihpID0gaS4kb3B0aW9ucy5fc2NvcGVJZCkpIHtcbiAgICAgICAgbm9k
ZU9wcy5zZXRBdHRyaWJ1dGUodm5vZGUuZWxtLCBpLCAnJyk7XG4gICAgICB9XG4gICAgICBhbmNl
c3RvciA9IGFuY2VzdG9yLnBhcmVudDtcbiAgICB9XG4gICAgLy8gZm9yIHNsb3QgY29udGVudCB0
aGV5IHNob3VsZCBhbHNvIGdldCB0aGUgc2NvcGVJZCBmcm9tIHRoZSBob3N0IGluc3RhbmNlLlxu
ICAgIGlmIChpc0RlZihpID0gYWN0aXZlSW5zdGFuY2UpICYmXG4gICAgICBpICE9PSB2bm9kZS5j
b250ZXh0ICYmXG4gICAgICBpc0RlZihpID0gaS4kb3B0aW9ucy5fc2NvcGVJZClcbiAgICApIHtc
biAgICAgIG5vZGVPcHMuc2V0QXR0cmlidXRlKHZub2RlLmVsbSwgaSwgJycpO1xuICAgIH1cbiAg
fVxuXG4gIGZ1bmN0aW9uIGFkZFZub2RlcyAocGFyZW50RWxtLCByZWZFbG0sIHZub2Rlcywgc3Rh
cnRJZHgsIGVuZElkeCwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKSB7XG4gICAgZm9yICg7IHN0YXJ0SWR4
IDw9IGVuZElkeDsgKytzdGFydElkeCkge1xuICAgICAgY3JlYXRlRWxtKHZub2Rlc1tzdGFydElk
eF0sIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCByZWZFbG0pO1xuICAgIH1cbiAgfVxu
XG4gIGZ1bmN0aW9uIGludm9rZURlc3Ryb3lIb29rICh2bm9kZSkge1xuICAgIHZhciBpLCBqO1xu
ICAgIHZhciBkYXRhID0gdm5vZGUuZGF0YTtcbiAgICBpZiAoaXNEZWYoZGF0YSkpIHtcbiAgICAg
IGlmIChpc0RlZihpID0gZGF0YS5ob29rKSAmJiBpc0RlZihpID0gaS5kZXN0cm95KSkgeyBpKHZu
b2RlKTsgfVxuICAgICAgZm9yIChpID0gMDsgaSA8IGNicy5kZXN0cm95Lmxlbmd0aDsgKytpKSB7
IGNicy5kZXN0cm95W2ldKHZub2RlKTsgfVxuICAgIH1cbiAgICBpZiAoaXNEZWYoaSA9IHZub2Rl
LmNoaWxkcmVuKSkge1xuICAgICAgZm9yIChqID0gMDsgaiA8IHZub2RlLmNoaWxkcmVuLmxlbmd0
aDsgKytqKSB7XG4gICAgICAgIGludm9rZURlc3Ryb3lIb29rKHZub2RlLmNoaWxkcmVuW2pdKTtc
biAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiByZW1vdmVWbm9kZXMgKHBhcmVudEVs
bSwgdm5vZGVzLCBzdGFydElkeCwgZW5kSWR4KSB7XG4gICAgZm9yICg7IHN0YXJ0SWR4IDw9IGVu
ZElkeDsgKytzdGFydElkeCkge1xuICAgICAgdmFyIGNoID0gdm5vZGVzW3N0YXJ0SWR4XTtcbiAg
ICAgIGlmIChpc0RlZihjaCkpIHtcbiAgICAgICAgaWYgKGlzRGVmKGNoLnRhZykpIHtcbiAgICAg
ICAgICByZW1vdmVBbmRJbnZva2VSZW1vdmVIb29rKGNoKTtcbiAgICAgICAgICBpbnZva2VEZXN0
cm95SG9vayhjaCk7XG4gICAgICAgIH0gZWxzZSB7IC8vIFRleHQgbm9kZVxuICAgICAgICAgIHJl
bW92ZU5vZGUoY2guZWxtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1
bmN0aW9uIHJlbW92ZUFuZEludm9rZVJlbW92ZUhvb2sgKHZub2RlLCBybSkge1xuICAgIGlmIChp
c0RlZihybSkgfHwgaXNEZWYodm5vZGUuZGF0YSkpIHtcbiAgICAgIHZhciBpO1xuICAgICAgdmFy
IGxpc3RlbmVycyA9IGNicy5yZW1vdmUubGVuZ3RoICsgMTtcbiAgICAgIGlmIChpc0RlZihybSkp
IHtcbiAgICAgICAgLy8gd2UgaGF2ZSBhIHJlY3Vyc2l2ZWx5IHBhc3NlZCBkb3duIHJtIGNhbGxi
YWNrXG4gICAgICAgIC8vIGluY3JlYXNlIHRoZSBsaXN0ZW5lcnMgY291bnRcbiAgICAgICAgcm0u
bGlzdGVuZXJzICs9IGxpc3RlbmVycztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGRpcmVj
dGx5IHJlbW92aW5nXG4gICAgICAgIHJtID0gY3JlYXRlUm1DYih2bm9kZS5lbG0sIGxpc3RlbmVy
cyk7XG4gICAgICB9XG4gICAgICAvLyByZWN1cnNpdmVseSBpbnZva2UgaG9va3Mgb24gY2hpbGQg
Y29tcG9uZW50IHJvb3Qgbm9kZVxuICAgICAgaWYgKGlzRGVmKGkgPSB2bm9kZS5jb21wb25lbnRJ
bnN0YW5jZSkgJiYgaXNEZWYoaSA9IGkuX3Zub2RlKSAmJiBpc0RlZihpLmRhdGEpKSB7XG4gICAg
ICAgIHJlbW92ZUFuZEludm9rZVJlbW92ZUhvb2soaSwgcm0pO1xuICAgICAgfVxuICAgICAgZm9y
IChpID0gMDsgaSA8IGNicy5yZW1vdmUubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgY2JzLnJlbW92
ZVtpXSh2bm9kZSwgcm0pO1xuICAgICAgfVxuICAgICAgaWYgKGlzRGVmKGkgPSB2bm9kZS5kYXRh
Lmhvb2spICYmIGlzRGVmKGkgPSBpLnJlbW92ZSkpIHtcbiAgICAgICAgaSh2bm9kZSwgcm0pO1xu
ICAgICAgfSBlbHNlIHtcbiAgICAgICAgcm0oKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAg
ICAgcmVtb3ZlTm9kZSh2bm9kZS5lbG0pO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHVwZGF0
ZUNoaWxkcmVuIChwYXJlbnRFbG0sIG9sZENoLCBuZXdDaCwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBy
ZW1vdmVPbmx5KSB7XG4gICAgdmFyIG9sZFN0YXJ0SWR4ID0gMDtcbiAgICB2YXIgbmV3U3RhcnRJ
ZHggPSAwO1xuICAgIHZhciBvbGRFbmRJZHggPSBvbGRDaC5sZW5ndGggLSAxO1xuICAgIHZhciBv
bGRTdGFydFZub2RlID0gb2xkQ2hbMF07XG4gICAgdmFyIG9sZEVuZFZub2RlID0gb2xkQ2hbb2xk
RW5kSWR4XTtcbiAgICB2YXIgbmV3RW5kSWR4ID0gbmV3Q2gubGVuZ3RoIC0gMTtcbiAgICB2YXIg
bmV3U3RhcnRWbm9kZSA9IG5ld0NoWzBdO1xuICAgIHZhciBuZXdFbmRWbm9kZSA9IG5ld0NoW25l
d0VuZElkeF07XG4gICAgdmFyIG9sZEtleVRvSWR4LCBpZHhJbk9sZCwgZWxtVG9Nb3ZlLCByZWZF
bG07XG5cbiAgICAvLyByZW1vdmVPbmx5IGlzIGEgc3BlY2lhbCBmbGFnIHVzZWQgb25seSBieSA8
dHJhbnNpdGlvbi1ncm91cD5cbiAgICAvLyB0byBlbnN1cmUgcmVtb3ZlZCBlbGVtZW50cyBzdGF5
IGluIGNvcnJlY3QgcmVsYXRpdmUgcG9zaXRpb25zXG4gICAgLy8gZHVyaW5nIGxlYXZpbmcgdHJh
bnNpdGlvbnNcbiAgICB2YXIgY2FuTW92ZSA9ICFyZW1vdmVPbmx5O1xuXG4gICAgd2hpbGUgKG9s
ZFN0YXJ0SWR4IDw9IG9sZEVuZElkeCAmJiBuZXdTdGFydElkeCA8PSBuZXdFbmRJZHgpIHtcbiAg
ICAgIGlmIChpc1VuZGVmKG9sZFN0YXJ0Vm5vZGUpKSB7XG4gICAgICAgIG9sZFN0YXJ0Vm5vZGUg
PSBvbGRDaFsrK29sZFN0YXJ0SWR4XTsgLy8gVm5vZGUgaGFzIGJlZW4gbW92ZWQgbGVmdFxuICAg
ICAgfSBlbHNlIGlmIChpc1VuZGVmKG9sZEVuZFZub2RlKSkge1xuICAgICAgICBvbGRFbmRWbm9k
ZSA9IG9sZENoWy0tb2xkRW5kSWR4XTtcbiAgICAgIH0gZWxzZSBpZiAoc2FtZVZub2RlKG9sZFN0
YXJ0Vm5vZGUsIG5ld1N0YXJ0Vm5vZGUpKSB7XG4gICAgICAgIHBhdGNoVm5vZGUob2xkU3RhcnRW
bm9kZSwgbmV3U3RhcnRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgb2xkU3Rh
cnRWbm9kZSA9IG9sZENoWysrb2xkU3RhcnRJZHhdO1xuICAgICAgICBuZXdTdGFydFZub2RlID0g
bmV3Q2hbKytuZXdTdGFydElkeF07XG4gICAgICB9IGVsc2UgaWYgKHNhbWVWbm9kZShvbGRFbmRW
bm9kZSwgbmV3RW5kVm5vZGUpKSB7XG4gICAgICAgIHBhdGNoVm5vZGUob2xkRW5kVm5vZGUsIG5l
d0VuZFZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICBvbGRFbmRWbm9kZSA9IG9s
ZENoWy0tb2xkRW5kSWR4XTtcbiAgICAgICAgbmV3RW5kVm5vZGUgPSBuZXdDaFstLW5ld0VuZElk
eF07XG4gICAgICB9IGVsc2UgaWYgKHNhbWVWbm9kZShvbGRTdGFydFZub2RlLCBuZXdFbmRWbm9k
ZSkpIHsgLy8gVm5vZGUgbW92ZWQgcmlnaHRcbiAgICAgICAgcGF0Y2hWbm9kZShvbGRTdGFydFZu
b2RlLCBuZXdFbmRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgY2FuTW92ZSAm
JiBub2RlT3BzLmluc2VydEJlZm9yZShwYXJlbnRFbG0sIG9sZFN0YXJ0Vm5vZGUuZWxtLCBub2Rl
T3BzLm5leHRTaWJsaW5nKG9sZEVuZFZub2RlLmVsbSkpO1xuICAgICAgICBvbGRTdGFydFZub2Rl
ID0gb2xkQ2hbKytvbGRTdGFydElkeF07XG4gICAgICAgIG5ld0VuZFZub2RlID0gbmV3Q2hbLS1u
ZXdFbmRJZHhdO1xuICAgICAgfSBlbHNlIGlmIChzYW1lVm5vZGUob2xkRW5kVm5vZGUsIG5ld1N0
YXJ0Vm5vZGUpKSB7IC8vIFZub2RlIG1vdmVkIGxlZnRcbiAgICAgICAgcGF0Y2hWbm9kZShvbGRF
bmRWbm9kZSwgbmV3U3RhcnRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgY2Fu
TW92ZSAmJiBub2RlT3BzLmluc2VydEJlZm9yZShwYXJlbnRFbG0sIG9sZEVuZFZub2RlLmVsbSwg
b2xkU3RhcnRWbm9kZS5lbG0pO1xuICAgICAgICBvbGRFbmRWbm9kZSA9IG9sZENoWy0tb2xkRW5k
SWR4XTtcbiAgICAgICAgbmV3U3RhcnRWbm9kZSA9IG5ld0NoWysrbmV3U3RhcnRJZHhdO1xuICAg
ICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGlzVW5kZWYob2xkS2V5VG9JZHgpKSB7IG9sZEtleVRv
SWR4ID0gY3JlYXRlS2V5VG9PbGRJZHgob2xkQ2gsIG9sZFN0YXJ0SWR4LCBvbGRFbmRJZHgpOyB9
XG4gICAgICAgIGlkeEluT2xkID0gaXNEZWYobmV3U3RhcnRWbm9kZS5rZXkpID8gb2xkS2V5VG9J
ZHhbbmV3U3RhcnRWbm9kZS5rZXldIDogbnVsbDtcbiAgICAgICAgaWYgKGlzVW5kZWYoaWR4SW5P
bGQpKSB7IC8vIE5ldyBlbGVtZW50XG4gICAgICAgICAgY3JlYXRlRWxtKG5ld1N0YXJ0Vm5vZGUs
IGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCBvbGRTdGFydFZub2RlLmVsbSk7XG4gICAg
ICAgICAgbmV3U3RhcnRWbm9kZSA9IG5ld0NoWysrbmV3U3RhcnRJZHhdO1xuICAgICAgICB9IGVs
c2Uge1xuICAgICAgICAgIGVsbVRvTW92ZSA9IG9sZENoW2lkeEluT2xkXTtcbiAgICAgICAgICAv
KiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgICBpZiAoZmFsc2UpIHtcbiAgICAgICAg
ICAgIHdhcm4oXG4gICAgICAgICAgICAgICdJdCBzZWVtcyB0aGVyZSBhcmUgZHVwbGljYXRlIGtl
eXMgdGhhdCBpcyBjYXVzaW5nIGFuIHVwZGF0ZSBlcnJvci4gJyArXG4gICAgICAgICAgICAgICdN
YWtlIHN1cmUgZWFjaCB2LWZvciBpdGVtIGhhcyBhIHVuaXF1ZSBrZXkuJ1xuICAgICAgICAgICAg
KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHNhbWVWbm9kZShlbG1Ub01vdmUsIG5ld1N0
YXJ0Vm5vZGUpKSB7XG4gICAgICAgICAgICBwYXRjaFZub2RlKGVsbVRvTW92ZSwgbmV3U3RhcnRW
bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgICAgIG9sZENoW2lkeEluT2xkXSA9
IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNhbk1vdmUgJiYgbm9kZU9wcy5pbnNlcnRCZWZvcmUo
cGFyZW50RWxtLCBlbG1Ub01vdmUuZWxtLCBvbGRTdGFydFZub2RlLmVsbSk7XG4gICAgICAgICAg
ICBuZXdTdGFydFZub2RlID0gbmV3Q2hbKytuZXdTdGFydElkeF07XG4gICAgICAgICAgfSBlbHNl
IHtcbiAgICAgICAgICAgIC8vIHNhbWUga2V5IGJ1dCBkaWZmZXJlbnQgZWxlbWVudC4gdHJlYXQg
YXMgbmV3IGVsZW1lbnRcbiAgICAgICAgICAgIGNyZWF0ZUVsbShuZXdTdGFydFZub2RlLCBpbnNl
cnRlZFZub2RlUXVldWUsIHBhcmVudEVsbSwgb2xkU3RhcnRWbm9kZS5lbG0pO1xuICAgICAgICAg
ICAgbmV3U3RhcnRWbm9kZSA9IG5ld0NoWysrbmV3U3RhcnRJZHhdO1xuICAgICAgICAgIH1cbiAg
ICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAob2xkU3RhcnRJZHggPiBvbGRFbmRJZHgp
IHtcbiAgICAgIHJlZkVsbSA9IGlzVW5kZWYobmV3Q2hbbmV3RW5kSWR4ICsgMV0pID8gbnVsbCA6
IG5ld0NoW25ld0VuZElkeCArIDFdLmVsbTtcbiAgICAgIGFkZFZub2RlcyhwYXJlbnRFbG0sIHJl
ZkVsbSwgbmV3Q2gsIG5ld1N0YXJ0SWR4LCBuZXdFbmRJZHgsIGluc2VydGVkVm5vZGVRdWV1ZSk7
XG4gICAgfSBlbHNlIGlmIChuZXdTdGFydElkeCA+IG5ld0VuZElkeCkge1xuICAgICAgcmVtb3Zl
Vm5vZGVzKHBhcmVudEVsbSwgb2xkQ2gsIG9sZFN0YXJ0SWR4LCBvbGRFbmRJZHgpO1xuICAgIH1c
biAgfVxuXG4gIGZ1bmN0aW9uIHBhdGNoVm5vZGUgKG9sZFZub2RlLCB2bm9kZSwgaW5zZXJ0ZWRW
bm9kZVF1ZXVlLCByZW1vdmVPbmx5KSB7XG4gICAgaWYgKG9sZFZub2RlID09PSB2bm9kZSkge1xu
ICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdmFyIGVsbSA9IHZub2RlLmVsbSA9IG9sZFZub2Rl
LmVsbTtcblxuICAgIGlmIChpc1RydWUob2xkVm5vZGUuaXNBc3luY1BsYWNlaG9sZGVyKSkge1xu
ICAgICAgaWYgKGlzRGVmKHZub2RlLmFzeW5jRmFjdG9yeS5yZXNvbHZlZCkpIHtcbiAgICAgICAg
aHlkcmF0ZShvbGRWbm9kZS5lbG0sIHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAg
fSBlbHNlIHtcbiAgICAgICAgdm5vZGUuaXNBc3luY1BsYWNlaG9sZGVyID0gdHJ1ZTtcbiAgICAg
IH1cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8vIHJldXNlIGVsZW1lbnQgZm9yIHN0YXRp
YyB0cmVlcy5cbiAgICAvLyBub3RlIHdlIG9ubHkgZG8gdGhpcyBpZiB0aGUgdm5vZGUgaXMgY2xv
bmVkIC1cbiAgICAvLyBpZiB0aGUgbmV3IG5vZGUgaXMgbm90IGNsb25lZCBpdCBtZWFucyB0aGUg
cmVuZGVyIGZ1bmN0aW9ucyBoYXZlIGJlZW5cbiAgICAvLyByZXNldCBieSB0aGUgaG90LXJlbG9h
ZC1hcGkgYW5kIHdlIG5lZWQgdG8gZG8gYSBwcm9wZXIgcmUtcmVuZGVyLlxuICAgIGlmIChpc1Ry
dWUodm5vZGUuaXNTdGF0aWMpICYmXG4gICAgICBpc1RydWUob2xkVm5vZGUuaXNTdGF0aWMpICYm
XG4gICAgICB2bm9kZS5rZXkgPT09IG9sZFZub2RlLmtleSAmJlxuICAgICAgKGlzVHJ1ZSh2bm9k
ZS5pc0Nsb25lZCkgfHwgaXNUcnVlKHZub2RlLmlzT25jZSkpXG4gICAgKSB7XG4gICAgICB2bm9k
ZS5jb21wb25lbnRJbnN0YW5jZSA9IG9sZFZub2RlLmNvbXBvbmVudEluc3RhbmNlO1xuICAgICAg
cmV0dXJuXG4gICAgfVxuXG4gICAgdmFyIGk7XG4gICAgdmFyIGRhdGEgPSB2bm9kZS5kYXRhO1xu
ICAgIGlmIChpc0RlZihkYXRhKSAmJiBpc0RlZihpID0gZGF0YS5ob29rKSAmJiBpc0RlZihpID0g
aS5wcmVwYXRjaCkpIHtcbiAgICAgIGkob2xkVm5vZGUsIHZub2RlKTtcbiAgICB9XG5cbiAgICB2
YXIgb2xkQ2ggPSBvbGRWbm9kZS5jaGlsZHJlbjtcbiAgICB2YXIgY2ggPSB2bm9kZS5jaGlsZHJl
bjtcbiAgICBpZiAoaXNEZWYoZGF0YSkgJiYgaXNQYXRjaGFibGUodm5vZGUpKSB7XG4gICAgICBm
b3IgKGkgPSAwOyBpIDwgY2JzLnVwZGF0ZS5sZW5ndGg7ICsraSkgeyBjYnMudXBkYXRlW2ldKG9s
ZFZub2RlLCB2bm9kZSk7IH1cbiAgICAgIGlmIChpc0RlZihpID0gZGF0YS5ob29rKSAmJiBpc0Rl
ZihpID0gaS51cGRhdGUpKSB7IGkob2xkVm5vZGUsIHZub2RlKTsgfVxuICAgIH1cbiAgICBpZiAo
aXNVbmRlZih2bm9kZS50ZXh0KSkge1xuICAgICAgaWYgKGlzRGVmKG9sZENoKSAmJiBpc0RlZihj
aCkpIHtcbiAgICAgICAgaWYgKG9sZENoICE9PSBjaCkgeyB1cGRhdGVDaGlsZHJlbihlbG0sIG9s
ZENoLCBjaCwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCByZW1vdmVPbmx5KTsgfVxuICAgICAgfSBlbHNl
IGlmIChpc0RlZihjaCkpIHtcbiAgICAgICAgaWYgKGlzRGVmKG9sZFZub2RlLnRleHQpKSB7IG5v
ZGVPcHMuc2V0VGV4dENvbnRlbnQoZWxtLCAnJyk7IH1cbiAgICAgICAgYWRkVm5vZGVzKGVsbSwg
bnVsbCwgY2gsIDAsIGNoLmxlbmd0aCAtIDEsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgICB9
IGVsc2UgaWYgKGlzRGVmKG9sZENoKSkge1xuICAgICAgICByZW1vdmVWbm9kZXMoZWxtLCBvbGRD
aCwgMCwgb2xkQ2gubGVuZ3RoIC0gMSk7XG4gICAgICB9IGVsc2UgaWYgKGlzRGVmKG9sZFZub2Rl
LnRleHQpKSB7XG4gICAgICAgIG5vZGVPcHMuc2V0VGV4dENvbnRlbnQoZWxtLCAnJyk7XG4gICAg
ICB9XG4gICAgfSBlbHNlIGlmIChvbGRWbm9kZS50ZXh0ICE9PSB2bm9kZS50ZXh0KSB7XG4gICAg
ICBub2RlT3BzLnNldFRleHRDb250ZW50KGVsbSwgdm5vZGUudGV4dCk7XG4gICAgfVxuICAgIGlm
IChpc0RlZihkYXRhKSkge1xuICAgICAgaWYgKGlzRGVmKGkgPSBkYXRhLmhvb2spICYmIGlzRGVm
KGkgPSBpLnBvc3RwYXRjaCkpIHsgaShvbGRWbm9kZSwgdm5vZGUpOyB9XG4gICAgfVxuICB9XG5c
biAgZnVuY3Rpb24gaW52b2tlSW5zZXJ0SG9vayAodm5vZGUsIHF1ZXVlLCBpbml0aWFsKSB7XG4g
ICAgLy8gZGVsYXkgaW5zZXJ0IGhvb2tzIGZvciBjb21wb25lbnQgcm9vdCBub2RlcywgaW52b2tl
IHRoZW0gYWZ0ZXIgdGhlXG4gICAgLy8gZWxlbWVudCBpcyByZWFsbHkgaW5zZXJ0ZWRcbiAgICBp
ZiAoaXNUcnVlKGluaXRpYWwpICYmIGlzRGVmKHZub2RlLnBhcmVudCkpIHtcbiAgICAgIHZub2Rl
LnBhcmVudC5kYXRhLnBlbmRpbmdJbnNlcnQgPSBxdWV1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBxdWV1ZS5sZW5ndGg7ICsraSkge1xuICAgICAgICBxdWV1ZVtp
XS5kYXRhLmhvb2suaW5zZXJ0KHF1ZXVlW2ldKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2
YXIgYmFpbGVkID0gZmFsc2U7XG4gIC8vIGxpc3Qgb2YgbW9kdWxlcyB0aGF0IGNhbiBza2lwIGNy
ZWF0ZSBob29rIGR1cmluZyBoeWRyYXRpb24gYmVjYXVzZSB0aGV5XG4gIC8vIGFyZSBhbHJlYWR5
IHJlbmRlcmVkIG9uIHRoZSBjbGllbnQgb3IgaGFzIG5vIG5lZWQgZm9yIGluaXRpYWxpemF0aW9u
XG4gIHZhciBpc1JlbmRlcmVkTW9kdWxlID0gbWFrZU1hcCgnYXR0cnMsc3R5bGUsY2xhc3Msc3Rh
dGljQ2xhc3Msc3RhdGljU3R5bGUsa2V5Jyk7XG5cbiAgLy8gTm90ZTogdGhpcyBpcyBhIGJyb3dz
ZXItb25seSBmdW5jdGlvbiBzbyB3ZSBjYW4gYXNzdW1lIGVsbXMgYXJlIERPTSBub2Rlcy5cbiAg
ZnVuY3Rpb24gaHlkcmF0ZSAoZWxtLCB2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKSB7XG4gICAg
aWYgKGlzVHJ1ZSh2bm9kZS5pc0NvbW1lbnQpICYmIGlzRGVmKHZub2RlLmFzeW5jRmFjdG9yeSkp
IHtcbiAgICAgIHZub2RlLmVsbSA9IGVsbTtcbiAgICAgIHZub2RlLmlzQXN5bmNQbGFjZWhvbGRl
ciA9IHRydWU7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICBpZiAoZmFsc2UpIHtcbiAg
ICAgIGlmICghYXNzZXJ0Tm9kZU1hdGNoKGVsbSwgdm5vZGUpKSB7XG4gICAgICAgIHJldHVybiBm
YWxzZVxuICAgICAgfVxuICAgIH1cbiAgICB2bm9kZS5lbG0gPSBlbG07XG4gICAgdmFyIHRhZyA9
IHZub2RlLnRhZztcbiAgICB2YXIgZGF0YSA9IHZub2RlLmRhdGE7XG4gICAgdmFyIGNoaWxkcmVu
ID0gdm5vZGUuY2hpbGRyZW47XG4gICAgaWYgKGlzRGVmKGRhdGEpKSB7XG4gICAgICBpZiAoaXNE
ZWYoaSA9IGRhdGEuaG9vaykgJiYgaXNEZWYoaSA9IGkuaW5pdCkpIHsgaSh2bm9kZSwgdHJ1ZSAv
KiBoeWRyYXRpbmcgKi8pOyB9XG4gICAgICBpZiAoaXNEZWYoaSA9IHZub2RlLmNvbXBvbmVudElu
c3RhbmNlKSkge1xuICAgICAgICAvLyBjaGlsZCBjb21wb25lbnQuIGl0IHNob3VsZCBoYXZlIGh5
ZHJhdGVkIGl0cyBvd24gdHJlZS5cbiAgICAgICAgaW5pdENvbXBvbmVudCh2bm9kZSwgaW5zZXJ0
ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICB9XG4gICAg
aWYgKGlzRGVmKHRhZykpIHtcbiAgICAgIGlmIChpc0RlZihjaGlsZHJlbikpIHtcbiAgICAgICAg
Ly8gZW1wdHkgZWxlbWVudCwgYWxsb3cgY2xpZW50IHRvIHBpY2sgdXAgYW5kIHBvcHVsYXRlIGNo
aWxkcmVuXG4gICAgICAgIGlmICghZWxtLmhhc0NoaWxkTm9kZXMoKSkge1xuICAgICAgICAgIGNy
ZWF0ZUNoaWxkcmVuKHZub2RlLCBjaGlsZHJlbiwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAg
ICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgY2hpbGRyZW5NYXRjaCA9IHRydWU7XG4gICAgICAg
ICAgdmFyIGNoaWxkTm9kZSA9IGVsbS5maXJzdENoaWxkO1xuICAgICAgICAgIGZvciAodmFyIGkk
MSA9IDA7IGkkMSA8IGNoaWxkcmVuLmxlbmd0aDsgaSQxKyspIHtcbiAgICAgICAgICAgIGlmICgh
Y2hpbGROb2RlIHx8ICFoeWRyYXRlKGNoaWxkTm9kZSwgY2hpbGRyZW5baSQxXSwgaW5zZXJ0ZWRW
bm9kZVF1ZXVlKSkge1xuICAgICAgICAgICAgICBjaGlsZHJlbk1hdGNoID0gZmFsc2U7XG4gICAg
ICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjaGlsZE5vZGUgPSBj
aGlsZE5vZGUubmV4dFNpYmxpbmc7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIGlmIGNoaWxk
Tm9kZSBpcyBub3QgbnVsbCwgaXQgbWVhbnMgdGhlIGFjdHVhbCBjaGlsZE5vZGVzIGxpc3QgaXNc
biAgICAgICAgICAvLyBsb25nZXIgdGhhbiB0aGUgdmlydHVhbCBjaGlsZHJlbiBsaXN0LlxuICAg
ICAgICAgIGlmICghY2hpbGRyZW5NYXRjaCB8fCBjaGlsZE5vZGUpIHtcbiAgICAgICAgICAgIGlm
IChmYWxzZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIGJhaWxlZCA9IHRydWU7XG4g
ICAgICAgICAgICAgIGNvbnNvbGUud2FybignUGFyZW50OiAnLCBlbG0pO1xuICAgICAgICAgICAg
ICBjb25zb2xlLndhcm4oJ01pc21hdGNoaW5nIGNoaWxkTm9kZXMgdnMuIFZOb2RlczogJywgZWxt
LmNoaWxkTm9kZXMsIGNoaWxkcmVuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVy
biBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGlzRGVm
KGRhdGEpKSB7XG4gICAgICAgIGZvciAodmFyIGtleSBpbiBkYXRhKSB7XG4gICAgICAgICAgaWYg
KCFpc1JlbmRlcmVkTW9kdWxlKGtleSkpIHtcbiAgICAgICAgICAgIGludm9rZUNyZWF0ZUhvb2tz
KHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAg
ICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGVsbS5kYXRhICE9PSB2bm9k
ZS50ZXh0KSB7XG4gICAgICBlbG0uZGF0YSA9IHZub2RlLnRleHQ7XG4gICAgfVxuICAgIHJldHVy
biB0cnVlXG4gIH1cblxuICBmdW5jdGlvbiBhc3NlcnROb2RlTWF0Y2ggKG5vZGUsIHZub2RlKSB7
XG4gICAgaWYgKGlzRGVmKHZub2RlLnRhZykpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHZu
b2RlLnRhZy5pbmRleE9mKCd2dWUtY29tcG9uZW50JykgPT09IDAgfHxcbiAgICAgICAgdm5vZGUu
dGFnLnRvTG93ZXJDYXNlKCkgPT09IChub2RlLnRhZ05hbWUgJiYgbm9kZS50YWdOYW1lLnRvTG93
ZXJDYXNlKCkpXG4gICAgICApXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBub2RlLm5vZGVU
eXBlID09PSAodm5vZGUuaXNDb21tZW50ID8gOCA6IDMpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJu
IGZ1bmN0aW9uIHBhdGNoIChvbGRWbm9kZSwgdm5vZGUsIGh5ZHJhdGluZywgcmVtb3ZlT25seSwg
cGFyZW50RWxtLCByZWZFbG0pIHtcbiAgICBpZiAoaXNVbmRlZih2bm9kZSkpIHtcbiAgICAgIGlm
IChpc0RlZihvbGRWbm9kZSkpIHsgaW52b2tlRGVzdHJveUhvb2sob2xkVm5vZGUpOyB9XG4gICAg
ICByZXR1cm5cbiAgICB9XG5cbiAgICB2YXIgaXNJbml0aWFsUGF0Y2ggPSBmYWxzZTtcbiAgICB2
YXIgaW5zZXJ0ZWRWbm9kZVF1ZXVlID0gW107XG5cbiAgICBpZiAoaXNVbmRlZihvbGRWbm9kZSkp
IHtcbiAgICAgIC8vIGVtcHR5IG1vdW50IChsaWtlbHkgYXMgY29tcG9uZW50KSwgY3JlYXRlIG5l
dyByb290IGVsZW1lbnRcbiAgICAgIGlzSW5pdGlhbFBhdGNoID0gdHJ1ZTtcbiAgICAgIGNyZWF0
ZUVsbSh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIHJlZkVsbSk7XG4gICAg
fSBlbHNlIHtcbiAgICAgIHZhciBpc1JlYWxFbGVtZW50ID0gaXNEZWYob2xkVm5vZGUubm9kZVR5
cGUpO1xuICAgICAgaWYgKCFpc1JlYWxFbGVtZW50ICYmIHNhbWVWbm9kZShvbGRWbm9kZSwgdm5v
ZGUpKSB7XG4gICAgICAgIC8vIHBhdGNoIGV4aXN0aW5nIHJvb3Qgbm9kZVxuICAgICAgICBwYXRj
aFZub2RlKG9sZFZub2RlLCB2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCByZW1vdmVPbmx5KTtc
biAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChpc1JlYWxFbGVtZW50KSB7XG4gICAgICAgICAg
Ly8gbW91bnRpbmcgdG8gYSByZWFsIGVsZW1lbnRcbiAgICAgICAgICAvLyBjaGVjayBpZiB0aGlz
IGlzIHNlcnZlci1yZW5kZXJlZCBjb250ZW50IGFuZCBpZiB3ZSBjYW4gcGVyZm9ybVxuICAgICAg
ICAgIC8vIGEgc3VjY2Vzc2Z1bCBoeWRyYXRpb24uXG4gICAgICAgICAgaWYgKG9sZFZub2RlLm5v
ZGVUeXBlID09PSAxICYmIG9sZFZub2RlLmhhc0F0dHJpYnV0ZShTU1JfQVRUUikpIHtcbiAgICAg
ICAgICAgIG9sZFZub2RlLnJlbW92ZUF0dHJpYnV0ZShTU1JfQVRUUik7XG4gICAgICAgICAgICBo
eWRyYXRpbmcgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaXNUcnVlKGh5ZHJh
dGluZykpIHtcbiAgICAgICAgICAgIGlmIChoeWRyYXRlKG9sZFZub2RlLCB2bm9kZSwgaW5zZXJ0
ZWRWbm9kZVF1ZXVlKSkge1xuICAgICAgICAgICAgICBpbnZva2VJbnNlcnRIb29rKHZub2RlLCBp
bnNlcnRlZFZub2RlUXVldWUsIHRydWUpO1xuICAgICAgICAgICAgICByZXR1cm4gb2xkVm5vZGVc
biAgICAgICAgICAgIH0gZWxzZSBpZiAoZmFsc2UpIHtcbiAgICAgICAgICAgICAgd2FybihcbiAg
ICAgICAgICAgICAgICAnVGhlIGNsaWVudC1zaWRlIHJlbmRlcmVkIHZpcnR1YWwgRE9NIHRyZWUg
aXMgbm90IG1hdGNoaW5nICcgK1xuICAgICAgICAgICAgICAgICdzZXJ2ZXItcmVuZGVyZWQgY29u
dGVudC4gVGhpcyBpcyBsaWtlbHkgY2F1c2VkIGJ5IGluY29ycmVjdCAnICtcbiAgICAgICAgICAg
ICAgICAnSFRNTCBtYXJrdXAsIGZvciBleGFtcGxlIG5lc3RpbmcgYmxvY2stbGV2ZWwgZWxlbWVu
dHMgaW5zaWRlICcgK1xuICAgICAgICAgICAgICAgICc8cD4sIG9yIG1pc3NpbmcgPHRib2R5Pi4g
QmFpbGluZyBoeWRyYXRpb24gYW5kIHBlcmZvcm1pbmcgJyArXG4gICAgICAgICAgICAgICAgJ2Z1
bGwgY2xpZW50LXNpZGUgcmVuZGVyLidcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1c
biAgICAgICAgICB9XG4gICAgICAgICAgLy8gZWl0aGVyIG5vdCBzZXJ2ZXItcmVuZGVyZWQsIG9y
IGh5ZHJhdGlvbiBmYWlsZWQuXG4gICAgICAgICAgLy8gY3JlYXRlIGFuIGVtcHR5IG5vZGUgYW5k
IHJlcGxhY2UgaXRcbiAgICAgICAgICBvbGRWbm9kZSA9IGVtcHR5Tm9kZUF0KG9sZFZub2RlKTtc
biAgICAgICAgfVxuICAgICAgICAvLyByZXBsYWNpbmcgZXhpc3RpbmcgZWxlbWVudFxuICAgICAg
ICB2YXIgb2xkRWxtID0gb2xkVm5vZGUuZWxtO1xuICAgICAgICB2YXIgcGFyZW50RWxtJDEgPSBu
b2RlT3BzLnBhcmVudE5vZGUob2xkRWxtKTtcbiAgICAgICAgY3JlYXRlRWxtKFxuICAgICAgICAg
IHZub2RlLFxuICAgICAgICAgIGluc2VydGVkVm5vZGVRdWV1ZSxcbiAgICAgICAgICAvLyBleHRy
ZW1lbHkgcmFyZSBlZGdlIGNhc2U6IGRvIG5vdCBpbnNlcnQgaWYgb2xkIGVsZW1lbnQgaXMgaW4g
YVxuICAgICAgICAgIC8vIGxlYXZpbmcgdHJhbnNpdGlvbi4gT25seSBoYXBwZW5zIHdoZW4gY29t
YmluaW5nIHRyYW5zaXRpb24gK1xuICAgICAgICAgIC8vIGtlZXAtYWxpdmUgKyBIT0NzLiAoIzQ1
OTApXG4gICAgICAgICAgb2xkRWxtLl9sZWF2ZUNiID8gbnVsbCA6IHBhcmVudEVsbSQxLFxuICAg
ICAgICAgIG5vZGVPcHMubmV4dFNpYmxpbmcob2xkRWxtKVxuICAgICAgICApO1xuXG4gICAgICAg
IGlmIChpc0RlZih2bm9kZS5wYXJlbnQpKSB7XG4gICAgICAgICAgLy8gY29tcG9uZW50IHJvb3Qg
ZWxlbWVudCByZXBsYWNlZC5cbiAgICAgICAgICAvLyB1cGRhdGUgcGFyZW50IHBsYWNlaG9sZGVy
IG5vZGUgZWxlbWVudCwgcmVjdXJzaXZlbHlcbiAgICAgICAgICB2YXIgYW5jZXN0b3IgPSB2bm9k
ZS5wYXJlbnQ7XG4gICAgICAgICAgd2hpbGUgKGFuY2VzdG9yKSB7XG4gICAgICAgICAgICBhbmNl
c3Rvci5lbG0gPSB2bm9kZS5lbG07XG4gICAgICAgICAgICBhbmNlc3RvciA9IGFuY2VzdG9yLnBh
cmVudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGlzUGF0Y2hhYmxlKHZub2RlKSkge1xu
ICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjYnMuY3JlYXRlLmxlbmd0aDsgKytpKSB7
XG4gICAgICAgICAgICAgIGNicy5jcmVhdGVbaV0oZW1wdHlOb2RlLCB2bm9kZS5wYXJlbnQpO1xu
ICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc0Rl
ZihwYXJlbnRFbG0kMSkpIHtcbiAgICAgICAgICByZW1vdmVWbm9kZXMocGFyZW50RWxtJDEsIFtv
bGRWbm9kZV0sIDAsIDApO1xuICAgICAgICB9IGVsc2UgaWYgKGlzRGVmKG9sZFZub2RlLnRhZykp
IHtcbiAgICAgICAgICBpbnZva2VEZXN0cm95SG9vayhvbGRWbm9kZSk7XG4gICAgICAgIH1cbiAg
ICAgIH1cbiAgICB9XG5cbiAgICBpbnZva2VJbnNlcnRIb29rKHZub2RlLCBpbnNlcnRlZFZub2Rl
UXVldWUsIGlzSW5pdGlhbFBhdGNoKTtcbiAgICByZXR1cm4gdm5vZGUuZWxtXG4gIH1cbn1cblxu
LyogICovXG5cbnZhciBkaXJlY3RpdmVzID0ge1xuICBjcmVhdGU6IHVwZGF0ZURpcmVjdGl2ZXMs
XG4gIHVwZGF0ZTogdXBkYXRlRGlyZWN0aXZlcyxcbiAgZGVzdHJveTogZnVuY3Rpb24gdW5iaW5k
RGlyZWN0aXZlcyAodm5vZGUpIHtcbiAgICB1cGRhdGVEaXJlY3RpdmVzKHZub2RlLCBlbXB0eU5v
ZGUpO1xuICB9XG59O1xuXG5mdW5jdGlvbiB1cGRhdGVEaXJlY3RpdmVzIChvbGRWbm9kZSwgdm5v
ZGUpIHtcbiAgaWYgKG9sZFZub2RlLmRhdGEuZGlyZWN0aXZlcyB8fCB2bm9kZS5kYXRhLmRpcmVj
dGl2ZXMpIHtcbiAgICBfdXBkYXRlKG9sZFZub2RlLCB2bm9kZSk7XG4gIH1cbn1cblxuZnVuY3Rp
b24gX3VwZGF0ZSAob2xkVm5vZGUsIHZub2RlKSB7XG4gIHZhciBpc0NyZWF0ZSA9IG9sZFZub2Rl
ID09PSBlbXB0eU5vZGU7XG4gIHZhciBpc0Rlc3Ryb3kgPSB2bm9kZSA9PT0gZW1wdHlOb2RlO1xu
ICB2YXIgb2xkRGlycyA9IG5vcm1hbGl6ZURpcmVjdGl2ZXMkMShvbGRWbm9kZS5kYXRhLmRpcmVj
dGl2ZXMsIG9sZFZub2RlLmNvbnRleHQpO1xuICB2YXIgbmV3RGlycyA9IG5vcm1hbGl6ZURpcmVj
dGl2ZXMkMSh2bm9kZS5kYXRhLmRpcmVjdGl2ZXMsIHZub2RlLmNvbnRleHQpO1xuXG4gIHZhciBk
aXJzV2l0aEluc2VydCA9IFtdO1xuICB2YXIgZGlyc1dpdGhQb3N0cGF0Y2ggPSBbXTtcblxuICB2
YXIga2V5LCBvbGREaXIsIGRpcjtcbiAgZm9yIChrZXkgaW4gbmV3RGlycykge1xuICAgIG9sZERp
ciA9IG9sZERpcnNba2V5XTtcbiAgICBkaXIgPSBuZXdEaXJzW2tleV07XG4gICAgaWYgKCFvbGRE
aXIpIHtcbiAgICAgIC8vIG5ldyBkaXJlY3RpdmUsIGJpbmRcbiAgICAgIGNhbGxIb29rJDEoZGly
LCAnYmluZCcsIHZub2RlLCBvbGRWbm9kZSk7XG4gICAgICBpZiAoZGlyLmRlZiAmJiBkaXIuZGVm
Lmluc2VydGVkKSB7XG4gICAgICAgIGRpcnNXaXRoSW5zZXJ0LnB1c2goZGlyKTtcbiAgICAgIH1c
biAgICB9IGVsc2Uge1xuICAgICAgLy8gZXhpc3RpbmcgZGlyZWN0aXZlLCB1cGRhdGVcbiAgICAg
IGRpci5vbGRWYWx1ZSA9IG9sZERpci52YWx1ZTtcbiAgICAgIGNhbGxIb29rJDEoZGlyLCAndXBk
YXRlJywgdm5vZGUsIG9sZFZub2RlKTtcbiAgICAgIGlmIChkaXIuZGVmICYmIGRpci5kZWYuY29t
cG9uZW50VXBkYXRlZCkge1xuICAgICAgICBkaXJzV2l0aFBvc3RwYXRjaC5wdXNoKGRpcik7XG4g
ICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKGRpcnNXaXRoSW5zZXJ0Lmxlbmd0aCkge1xuICAg
IHZhciBjYWxsSW5zZXJ0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBkaXJzV2l0aEluc2VydC5sZW5ndGg7IGkrKykge1xuICAgICAgICBjYWxsSG9vayQxKGRpcnNX
aXRoSW5zZXJ0W2ldLCAnaW5zZXJ0ZWQnLCB2bm9kZSwgb2xkVm5vZGUpO1xuICAgICAgfVxuICAg
IH07XG4gICAgaWYgKGlzQ3JlYXRlKSB7XG4gICAgICBtZXJnZVZOb2RlSG9vayh2bm9kZS5kYXRh
Lmhvb2sgfHwgKHZub2RlLmRhdGEuaG9vayA9IHt9KSwgJ2luc2VydCcsIGNhbGxJbnNlcnQpO1xu
ICAgIH0gZWxzZSB7XG4gICAgICBjYWxsSW5zZXJ0KCk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGRp
cnNXaXRoUG9zdHBhdGNoLmxlbmd0aCkge1xuICAgIG1lcmdlVk5vZGVIb29rKHZub2RlLmRhdGEu
aG9vayB8fCAodm5vZGUuZGF0YS5ob29rID0ge30pLCAncG9zdHBhdGNoJywgZnVuY3Rpb24gKCkg
e1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkaXJzV2l0aFBvc3RwYXRjaC5sZW5ndGg7IGkr
Kykge1xuICAgICAgICBjYWxsSG9vayQxKGRpcnNXaXRoUG9zdHBhdGNoW2ldLCAnY29tcG9uZW50
VXBkYXRlZCcsIHZub2RlLCBvbGRWbm9kZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBp
ZiAoIWlzQ3JlYXRlKSB7XG4gICAgZm9yIChrZXkgaW4gb2xkRGlycykge1xuICAgICAgaWYgKCFu
ZXdEaXJzW2tleV0pIHtcbiAgICAgICAgLy8gbm8gbG9uZ2VyIHByZXNlbnQsIHVuYmluZFxuICAg
ICAgICBjYWxsSG9vayQxKG9sZERpcnNba2V5XSwgJ3VuYmluZCcsIG9sZFZub2RlLCBvbGRWbm9k
ZSwgaXNEZXN0cm95KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIGVtcHR5TW9kaWZp
ZXJzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcblxuZnVuY3Rpb24gbm9ybWFsaXplRGlyZWN0aXZl
cyQxIChcbiAgZGlycyxcbiAgdm1cbikge1xuICB2YXIgcmVzID0gT2JqZWN0LmNyZWF0ZShudWxs
KTtcbiAgaWYgKCFkaXJzKSB7XG4gICAgcmV0dXJuIHJlc1xuICB9XG4gIHZhciBpLCBkaXI7XG4g
IGZvciAoaSA9IDA7IGkgPCBkaXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgZGlyID0gZGlyc1tpXTtc
biAgICBpZiAoIWRpci5tb2RpZmllcnMpIHtcbiAgICAgIGRpci5tb2RpZmllcnMgPSBlbXB0eU1v
ZGlmaWVycztcbiAgICB9XG4gICAgcmVzW2dldFJhd0Rpck5hbWUoZGlyKV0gPSBkaXI7XG4gICAg
ZGlyLmRlZiA9IHJlc29sdmVBc3NldCh2bS4kb3B0aW9ucywgJ2RpcmVjdGl2ZXMnLCBkaXIubmFt
ZSwgdHJ1ZSk7XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG5mdW5jdGlvbiBnZXRSYXdEaXJOYW1l
IChkaXIpIHtcbiAgcmV0dXJuIGRpci5yYXdOYW1lIHx8ICgoZGlyLm5hbWUpICsgXCIuXCIgKyAo
T2JqZWN0LmtleXMoZGlyLm1vZGlmaWVycyB8fCB7fSkuam9pbignLicpKSlcbn1cblxuZnVuY3Rp
b24gY2FsbEhvb2skMSAoZGlyLCBob29rLCB2bm9kZSwgb2xkVm5vZGUsIGlzRGVzdHJveSkge1xu
ICB2YXIgZm4gPSBkaXIuZGVmICYmIGRpci5kZWZbaG9va107XG4gIGlmIChmbikge1xuICAgIHRy
eSB7XG4gICAgICBmbih2bm9kZS5lbG0sIGRpciwgdm5vZGUsIG9sZFZub2RlLCBpc0Rlc3Ryb3kp
O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGhhbmRsZUVycm9yKGUsIHZub2RlLmNvbnRleHQs
IChcImRpcmVjdGl2ZSBcIiArIChkaXIubmFtZSkgKyBcIiBcIiArIGhvb2sgKyBcIiBob29rXCIp
KTtcbiAgICB9XG4gIH1cbn1cblxudmFyIGJhc2VNb2R1bGVzID0gW1xuICByZWYsXG4gIGRpcmVj
dGl2ZXNcbl07XG5cbi8qICAqL1xuXG5mdW5jdGlvbiB1cGRhdGVBdHRycyAob2xkVm5vZGUsIHZu
b2RlKSB7XG4gIHZhciBvcHRzID0gdm5vZGUuY29tcG9uZW50T3B0aW9ucztcbiAgaWYgKGlzRGVm
KG9wdHMpICYmIG9wdHMuQ3Rvci5vcHRpb25zLmluaGVyaXRBdHRycyA9PT0gZmFsc2UpIHtcbiAg
ICByZXR1cm5cbiAgfVxuICBpZiAoaXNVbmRlZihvbGRWbm9kZS5kYXRhLmF0dHJzKSAmJiBpc1Vu
ZGVmKHZub2RlLmRhdGEuYXR0cnMpKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIGtleSwgY3Vy
LCBvbGQ7XG4gIHZhciBlbG0gPSB2bm9kZS5lbG07XG4gIHZhciBvbGRBdHRycyA9IG9sZFZub2Rl
LmRhdGEuYXR0cnMgfHwge307XG4gIHZhciBhdHRycyA9IHZub2RlLmRhdGEuYXR0cnMgfHwge307
XG4gIC8vIGNsb25lIG9ic2VydmVkIG9iamVjdHMsIGFzIHRoZSB1c2VyIHByb2JhYmx5IHdhbnRz
IHRvIG11dGF0ZSBpdFxuICBpZiAoaXNEZWYoYXR0cnMuX19vYl9fKSkge1xuICAgIGF0dHJzID0g
dm5vZGUuZGF0YS5hdHRycyA9IGV4dGVuZCh7fSwgYXR0cnMpO1xuICB9XG5cbiAgZm9yIChrZXkg
aW4gYXR0cnMpIHtcbiAgICBjdXIgPSBhdHRyc1trZXldO1xuICAgIG9sZCA9IG9sZEF0dHJzW2tl
eV07XG4gICAgaWYgKG9sZCAhPT0gY3VyKSB7XG4gICAgICBzZXRBdHRyKGVsbSwga2V5LCBjdXIp
O1xuICAgIH1cbiAgfVxuICAvLyAjNDM5MTogaW4gSUU5LCBzZXR0aW5nIHR5cGUgY2FuIHJlc2V0
IHZhbHVlIGZvciBpbnB1dFt0eXBlPXJhZGlvXVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9c
biAgaWYgKGlzSUU5ICYmIGF0dHJzLnZhbHVlICE9PSBvbGRBdHRycy52YWx1ZSkge1xuICAgIHNl
dEF0dHIoZWxtLCAndmFsdWUnLCBhdHRycy52YWx1ZSk7XG4gIH1cbiAgZm9yIChrZXkgaW4gb2xk
QXR0cnMpIHtcbiAgICBpZiAoaXNVbmRlZihhdHRyc1trZXldKSkge1xuICAgICAgaWYgKGlzWGxp
bmsoa2V5KSkge1xuICAgICAgICBlbG0ucmVtb3ZlQXR0cmlidXRlTlMoeGxpbmtOUywgZ2V0WGxp
bmtQcm9wKGtleSkpO1xuICAgICAgfSBlbHNlIGlmICghaXNFbnVtZXJhdGVkQXR0cihrZXkpKSB7
XG4gICAgICAgIGVsbS5yZW1vdmVBdHRyaWJ1dGUoa2V5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1c
bn1cblxuZnVuY3Rpb24gc2V0QXR0ciAoZWwsIGtleSwgdmFsdWUpIHtcbiAgaWYgKGlzQm9vbGVh
bkF0dHIoa2V5KSkge1xuICAgIC8vIHNldCBhdHRyaWJ1dGUgZm9yIGJsYW5rIHZhbHVlXG4gICAg
Ly8gZS5nLiA8b3B0aW9uIGRpc2FibGVkPlNlbGVjdCBvbmU8L29wdGlvbj5cbiAgICBpZiAoaXNG
YWxzeUF0dHJWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgIGVsLnJlbW92ZUF0dHJpYnV0ZShrZXkpO1xu
ICAgIH0gZWxzZSB7XG4gICAgICBlbC5zZXRBdHRyaWJ1dGUoa2V5LCBrZXkpO1xuICAgIH1cbiAg
fSBlbHNlIGlmIChpc0VudW1lcmF0ZWRBdHRyKGtleSkpIHtcbiAgICBlbC5zZXRBdHRyaWJ1dGUo
a2V5LCBpc0ZhbHN5QXR0clZhbHVlKHZhbHVlKSB8fCB2YWx1ZSA9PT0gJ2ZhbHNlJyA/ICdmYWxz
ZScgOiAndHJ1ZScpO1xuICB9IGVsc2UgaWYgKGlzWGxpbmsoa2V5KSkge1xuICAgIGlmIChpc0Zh
bHN5QXR0clZhbHVlKHZhbHVlKSkge1xuICAgICAgZWwucmVtb3ZlQXR0cmlidXRlTlMoeGxpbmtO
UywgZ2V0WGxpbmtQcm9wKGtleSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbC5zZXRBdHRyaWJ1
dGVOUyh4bGlua05TLCBrZXksIHZhbHVlKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGlz
RmFsc3lBdHRyVmFsdWUodmFsdWUpKSB7XG4gICAgICBlbC5yZW1vdmVBdHRyaWJ1dGUoa2V5KTtc
biAgICB9IGVsc2Uge1xuICAgICAgZWwuc2V0QXR0cmlidXRlKGtleSwgdmFsdWUpO1xuICAgIH1c
biAgfVxufVxuXG52YXIgYXR0cnMgPSB7XG4gIGNyZWF0ZTogdXBkYXRlQXR0cnMsXG4gIHVwZGF0
ZTogdXBkYXRlQXR0cnNcbn07XG5cbi8qICAqL1xuXG5mdW5jdGlvbiB1cGRhdGVDbGFzcyAob2xk
Vm5vZGUsIHZub2RlKSB7XG4gIHZhciBlbCA9IHZub2RlLmVsbTtcbiAgdmFyIGRhdGEgPSB2bm9k
ZS5kYXRhO1xuICB2YXIgb2xkRGF0YSA9IG9sZFZub2RlLmRhdGE7XG4gIGlmIChcbiAgICBpc1Vu
ZGVmKGRhdGEuc3RhdGljQ2xhc3MpICYmXG4gICAgaXNVbmRlZihkYXRhLmNsYXNzKSAmJiAoXG4g
ICAgICBpc1VuZGVmKG9sZERhdGEpIHx8IChcbiAgICAgICAgaXNVbmRlZihvbGREYXRhLnN0YXRp
Y0NsYXNzKSAmJlxuICAgICAgICBpc1VuZGVmKG9sZERhdGEuY2xhc3MpXG4gICAgICApXG4gICAg
KVxuICApIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIHZhciBjbHMgPSBnZW5DbGFzc0ZvclZub2Rl
KHZub2RlKTtcblxuICAvLyBoYW5kbGUgdHJhbnNpdGlvbiBjbGFzc2VzXG4gIHZhciB0cmFuc2l0
aW9uQ2xhc3MgPSBlbC5fdHJhbnNpdGlvbkNsYXNzZXM7XG4gIGlmIChpc0RlZih0cmFuc2l0aW9u
Q2xhc3MpKSB7XG4gICAgY2xzID0gY29uY2F0KGNscywgc3RyaW5naWZ5Q2xhc3ModHJhbnNpdGlv
bkNsYXNzKSk7XG4gIH1cblxuICAvLyBzZXQgdGhlIGNsYXNzXG4gIGlmIChjbHMgIT09IGVsLl9w
cmV2Q2xhc3MpIHtcbiAgICBlbC5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgY2xzKTtcbiAgICBlbC5f
cHJldkNsYXNzID0gY2xzO1xuICB9XG59XG5cbnZhciBrbGFzcyA9IHtcbiAgY3JlYXRlOiB1cGRh
dGVDbGFzcyxcbiAgdXBkYXRlOiB1cGRhdGVDbGFzc1xufTtcblxuLyogICovXG5cbnZhciB2YWxp
ZERpdmlzaW9uQ2hhclJFID0gL1tcXHcpLitcXC1fJFxcXV0vO1xuXG5mdW5jdGlvbiBwYXJzZUZp
bHRlcnMgKGV4cCkge1xuICB2YXIgaW5TaW5nbGUgPSBmYWxzZTtcbiAgdmFyIGluRG91YmxlID0g
ZmFsc2U7XG4gIHZhciBpblRlbXBsYXRlU3RyaW5nID0gZmFsc2U7XG4gIHZhciBpblJlZ2V4ID0g
ZmFsc2U7XG4gIHZhciBjdXJseSA9IDA7XG4gIHZhciBzcXVhcmUgPSAwO1xuICB2YXIgcGFyZW4g
PSAwO1xuICB2YXIgbGFzdEZpbHRlckluZGV4ID0gMDtcbiAgdmFyIGMsIHByZXYsIGksIGV4cHJl
c3Npb24sIGZpbHRlcnM7XG5cbiAgZm9yIChpID0gMDsgaSA8IGV4cC5sZW5ndGg7IGkrKykge1xu
ICAgIHByZXYgPSBjO1xuICAgIGMgPSBleHAuY2hhckNvZGVBdChpKTtcbiAgICBpZiAoaW5TaW5n
bGUpIHtcbiAgICAgIGlmIChjID09PSAweDI3ICYmIHByZXYgIT09IDB4NUMpIHsgaW5TaW5nbGUg
PSBmYWxzZTsgfVxuICAgIH0gZWxzZSBpZiAoaW5Eb3VibGUpIHtcbiAgICAgIGlmIChjID09PSAw
eDIyICYmIHByZXYgIT09IDB4NUMpIHsgaW5Eb3VibGUgPSBmYWxzZTsgfVxuICAgIH0gZWxzZSBp
ZiAoaW5UZW1wbGF0ZVN0cmluZykge1xuICAgICAgaWYgKGMgPT09IDB4NjAgJiYgcHJldiAhPT0g
MHg1QykgeyBpblRlbXBsYXRlU3RyaW5nID0gZmFsc2U7IH1cbiAgICB9IGVsc2UgaWYgKGluUmVn
ZXgpIHtcbiAgICAgIGlmIChjID09PSAweDJmICYmIHByZXYgIT09IDB4NUMpIHsgaW5SZWdleCA9
IGZhbHNlOyB9XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIGMgPT09IDB4N0MgJiYgLy8gcGlwZVxu
ICAgICAgZXhwLmNoYXJDb2RlQXQoaSArIDEpICE9PSAweDdDICYmXG4gICAgICBleHAuY2hhckNv
ZGVBdChpIC0gMSkgIT09IDB4N0MgJiZcbiAgICAgICFjdXJseSAmJiAhc3F1YXJlICYmICFwYXJl
blxuICAgICkge1xuICAgICAgaWYgKGV4cHJlc3Npb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAg
ICAvLyBmaXJzdCBmaWx0ZXIsIGVuZCBvZiBleHByZXNzaW9uXG4gICAgICAgIGxhc3RGaWx0ZXJJ
bmRleCA9IGkgKyAxO1xuICAgICAgICBleHByZXNzaW9uID0gZXhwLnNsaWNlKDAsIGkpLnRyaW0o
KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHB1c2hGaWx0ZXIoKTtcbiAgICAgIH1cbiAgICB9
IGVsc2Uge1xuICAgICAgc3dpdGNoIChjKSB7XG4gICAgICAgIGNhc2UgMHgyMjogaW5Eb3VibGUg
PSB0cnVlOyBicmVhayAgICAgICAgIC8vIFwiXG4gICAgICAgIGNhc2UgMHgyNzogaW5TaW5nbGUg
PSB0cnVlOyBicmVhayAgICAgICAgIC8vICdcbiAgICAgICAgY2FzZSAweDYwOiBpblRlbXBsYXRl
U3RyaW5nID0gdHJ1ZTsgYnJlYWsgLy8gYFxuICAgICAgICBjYXNlIDB4Mjg6IHBhcmVuKys7IGJy
ZWFrICAgICAgICAgICAgICAgICAvLyAoXG4gICAgICAgIGNhc2UgMHgyOTogcGFyZW4tLTsgYnJl
YWsgICAgICAgICAgICAgICAgIC8vIClcbiAgICAgICAgY2FzZSAweDVCOiBzcXVhcmUrKzsgYnJl
YWsgICAgICAgICAgICAgICAgLy8gW1xuICAgICAgICBjYXNlIDB4NUQ6IHNxdWFyZS0tOyBicmVh
ayAgICAgICAgICAgICAgICAvLyBdXG4gICAgICAgIGNhc2UgMHg3QjogY3VybHkrKzsgYnJlYWsg
ICAgICAgICAgICAgICAgIC8vIHtcbiAgICAgICAgY2FzZSAweDdEOiBjdXJseS0tOyBicmVhayAg
ICAgICAgICAgICAgICAgLy8gfVxuICAgICAgfVxuICAgICAgaWYgKGMgPT09IDB4MmYpIHsgLy8g
L1xuICAgICAgICB2YXIgaiA9IGkgLSAxO1xuICAgICAgICB2YXIgcCA9ICh2b2lkIDApO1xuICAg
ICAgICAvLyBmaW5kIGZpcnN0IG5vbi13aGl0ZXNwYWNlIHByZXYgY2hhclxuICAgICAgICBmb3Ig
KDsgaiA+PSAwOyBqLS0pIHtcbiAgICAgICAgICBwID0gZXhwLmNoYXJBdChqKTtcbiAgICAgICAg
ICBpZiAocCAhPT0gJyAnKSB7IGJyZWFrIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIXAgfHwg
IXZhbGlkRGl2aXNpb25DaGFyUkUudGVzdChwKSkge1xuICAgICAgICAgIGluUmVnZXggPSB0cnVl
O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKGV4cHJlc3Npb24gPT09
IHVuZGVmaW5lZCkge1xuICAgIGV4cHJlc3Npb24gPSBleHAuc2xpY2UoMCwgaSkudHJpbSgpO1xu
ICB9IGVsc2UgaWYgKGxhc3RGaWx0ZXJJbmRleCAhPT0gMCkge1xuICAgIHB1c2hGaWx0ZXIoKTtc
biAgfVxuXG4gIGZ1bmN0aW9uIHB1c2hGaWx0ZXIgKCkge1xuICAgIChmaWx0ZXJzIHx8IChmaWx0
ZXJzID0gW10pKS5wdXNoKGV4cC5zbGljZShsYXN0RmlsdGVySW5kZXgsIGkpLnRyaW0oKSk7XG4g
ICAgbGFzdEZpbHRlckluZGV4ID0gaSArIDE7XG4gIH1cblxuICBpZiAoZmlsdGVycykge1xuICAg
IGZvciAoaSA9IDA7IGkgPCBmaWx0ZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBleHByZXNzaW9u
ID0gd3JhcEZpbHRlcihleHByZXNzaW9uLCBmaWx0ZXJzW2ldKTtcbiAgICB9XG4gIH1cblxuICBy
ZXR1cm4gZXhwcmVzc2lvblxufVxuXG5mdW5jdGlvbiB3cmFwRmlsdGVyIChleHAsIGZpbHRlcikg
e1xuICB2YXIgaSA9IGZpbHRlci5pbmRleE9mKCcoJyk7XG4gIGlmIChpIDwgMCkge1xuICAgIC8v
IF9mOiByZXNvbHZlRmlsdGVyXG4gICAgcmV0dXJuIChcIl9mKFxcXCJcIiArIGZpbHRlciArIFwi
XFxcIikoXCIgKyBleHAgKyBcIilcIilcbiAgfSBlbHNlIHtcbiAgICB2YXIgbmFtZSA9IGZpbHRl
ci5zbGljZSgwLCBpKTtcbiAgICB2YXIgYXJncyA9IGZpbHRlci5zbGljZShpICsgMSk7XG4gICAg
cmV0dXJuIChcIl9mKFxcXCJcIiArIG5hbWUgKyBcIlxcXCIpKFwiICsgZXhwICsgXCIsXCIgKyBh
cmdzKVxuICB9XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBiYXNlV2FybiAobXNnKSB7XG4gIGNv
bnNvbGUuZXJyb3IoKFwiW1Z1ZSBjb21waWxlcl06IFwiICsgbXNnKSk7XG59XG5cbmZ1bmN0aW9u
IHBsdWNrTW9kdWxlRnVuY3Rpb24gKFxuICBtb2R1bGVzLFxuICBrZXlcbikge1xuICByZXR1cm4g
bW9kdWxlc1xuICAgID8gbW9kdWxlcy5tYXAoZnVuY3Rpb24gKG0pIHsgcmV0dXJuIG1ba2V5XTsg
fSkuZmlsdGVyKGZ1bmN0aW9uIChfKSB7IHJldHVybiBfOyB9KVxuICAgIDogW11cbn1cblxuZnVu
Y3Rpb24gYWRkUHJvcCAoZWwsIG5hbWUsIHZhbHVlKSB7XG4gIChlbC5wcm9wcyB8fCAoZWwucHJv
cHMgPSBbXSkpLnB1c2goeyBuYW1lOiBuYW1lLCB2YWx1ZTogdmFsdWUgfSk7XG59XG5cbmZ1bmN0
aW9uIGFkZEF0dHIgKGVsLCBuYW1lLCB2YWx1ZSkge1xuICAoZWwuYXR0cnMgfHwgKGVsLmF0dHJz
ID0gW10pKS5wdXNoKHsgbmFtZTogbmFtZSwgdmFsdWU6IHZhbHVlIH0pO1xufVxuXG5mdW5jdGlv
biBhZGREaXJlY3RpdmUgKFxuICBlbCxcbiAgbmFtZSxcbiAgcmF3TmFtZSxcbiAgdmFsdWUsXG4g
IGFyZyxcbiAgbW9kaWZpZXJzXG4pIHtcbiAgKGVsLmRpcmVjdGl2ZXMgfHwgKGVsLmRpcmVjdGl2
ZXMgPSBbXSkpLnB1c2goeyBuYW1lOiBuYW1lLCByYXdOYW1lOiByYXdOYW1lLCB2YWx1ZTogdmFs
dWUsIGFyZzogYXJnLCBtb2RpZmllcnM6IG1vZGlmaWVycyB9KTtcbn1cblxuZnVuY3Rpb24gYWRk
SGFuZGxlciAoXG4gIGVsLFxuICBuYW1lLFxuICB2YWx1ZSxcbiAgbW9kaWZpZXJzLFxuICBpbXBv
cnRhbnQsXG4gIHdhcm5cbikge1xuICAvLyB3YXJuIHByZXZlbnQgYW5kIHBhc3NpdmUgbW9kaWZp
ZXJcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmIChcbiAgICBmYWxzZVxuICApIHtc
biAgICB3YXJuKFxuICAgICAgJ3Bhc3NpdmUgYW5kIHByZXZlbnQgY2FuXFwndCBiZSB1c2VkIHRv
Z2V0aGVyLiAnICtcbiAgICAgICdQYXNzaXZlIGhhbmRsZXIgY2FuXFwndCBwcmV2ZW50IGRlZmF1
bHQgZXZlbnQuJ1xuICAgICk7XG4gIH1cbiAgLy8gY2hlY2sgY2FwdHVyZSBtb2RpZmllclxuICBp
ZiAobW9kaWZpZXJzICYmIG1vZGlmaWVycy5jYXB0dXJlKSB7XG4gICAgZGVsZXRlIG1vZGlmaWVy
cy5jYXB0dXJlO1xuICAgIG5hbWUgPSAnIScgKyBuYW1lOyAvLyBtYXJrIHRoZSBldmVudCBhcyBj
YXB0dXJlZFxuICB9XG4gIGlmIChtb2RpZmllcnMgJiYgbW9kaWZpZXJzLm9uY2UpIHtcbiAgICBk
ZWxldGUgbW9kaWZpZXJzLm9uY2U7XG4gICAgbmFtZSA9ICd+JyArIG5hbWU7IC8vIG1hcmsgdGhl
IGV2ZW50IGFzIG9uY2VcbiAgfVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKG1v
ZGlmaWVycyAmJiBtb2RpZmllcnMucGFzc2l2ZSkge1xuICAgIGRlbGV0ZSBtb2RpZmllcnMucGFz
c2l2ZTtcbiAgICBuYW1lID0gJyYnICsgbmFtZTsgLy8gbWFyayB0aGUgZXZlbnQgYXMgcGFzc2l2
ZVxuICB9XG4gIHZhciBldmVudHM7XG4gIGlmIChtb2RpZmllcnMgJiYgbW9kaWZpZXJzLm5hdGl2
ZSkge1xuICAgIGRlbGV0ZSBtb2RpZmllcnMubmF0aXZlO1xuICAgIGV2ZW50cyA9IGVsLm5hdGl2
ZUV2ZW50cyB8fCAoZWwubmF0aXZlRXZlbnRzID0ge30pO1xuICB9IGVsc2Uge1xuICAgIGV2ZW50
cyA9IGVsLmV2ZW50cyB8fCAoZWwuZXZlbnRzID0ge30pO1xuICB9XG4gIHZhciBuZXdIYW5kbGVy
ID0geyB2YWx1ZTogdmFsdWUsIG1vZGlmaWVyczogbW9kaWZpZXJzIH07XG4gIHZhciBoYW5kbGVy
cyA9IGV2ZW50c1tuYW1lXTtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmIChBcnJh
eS5pc0FycmF5KGhhbmRsZXJzKSkge1xuICAgIGltcG9ydGFudCA/IGhhbmRsZXJzLnVuc2hpZnQo
bmV3SGFuZGxlcikgOiBoYW5kbGVycy5wdXNoKG5ld0hhbmRsZXIpO1xuICB9IGVsc2UgaWYgKGhh
bmRsZXJzKSB7XG4gICAgZXZlbnRzW25hbWVdID0gaW1wb3J0YW50ID8gW25ld0hhbmRsZXIsIGhh
bmRsZXJzXSA6IFtoYW5kbGVycywgbmV3SGFuZGxlcl07XG4gIH0gZWxzZSB7XG4gICAgZXZlbnRz
W25hbWVdID0gbmV3SGFuZGxlcjtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRCaW5kaW5nQXR0ciAo
XG4gIGVsLFxuICBuYW1lLFxuICBnZXRTdGF0aWNcbikge1xuICB2YXIgZHluYW1pY1ZhbHVlID1c
biAgICBnZXRBbmRSZW1vdmVBdHRyKGVsLCAnOicgKyBuYW1lKSB8fFxuICAgIGdldEFuZFJlbW92
ZUF0dHIoZWwsICd2LWJpbmQ6JyArIG5hbWUpO1xuICBpZiAoZHluYW1pY1ZhbHVlICE9IG51bGwp
IHtcbiAgICByZXR1cm4gcGFyc2VGaWx0ZXJzKGR5bmFtaWNWYWx1ZSlcbiAgfSBlbHNlIGlmIChn
ZXRTdGF0aWMgIT09IGZhbHNlKSB7XG4gICAgdmFyIHN0YXRpY1ZhbHVlID0gZ2V0QW5kUmVtb3Zl
QXR0cihlbCwgbmFtZSk7XG4gICAgaWYgKHN0YXRpY1ZhbHVlICE9IG51bGwpIHtcbiAgICAgIHJl
dHVybiBKU09OLnN0cmluZ2lmeShzdGF0aWNWYWx1ZSlcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rp
b24gZ2V0QW5kUmVtb3ZlQXR0ciAoZWwsIG5hbWUpIHtcbiAgdmFyIHZhbDtcbiAgaWYgKCh2YWwg
PSBlbC5hdHRyc01hcFtuYW1lXSkgIT0gbnVsbCkge1xuICAgIHZhciBsaXN0ID0gZWwuYXR0cnNM
aXN0O1xuICAgIGZvciAodmFyIGkgPSAwLCBsID0gbGlzdC5sZW5ndGg7IGkgPCBsOyBpKyspIHtc
biAgICAgIGlmIChsaXN0W2ldLm5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgbGlzdC5zcGxpY2Uo
aSwgMSk7XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiB2YWxc
bn1cblxuLyogICovXG5cbi8qKlxuICogQ3Jvc3MtcGxhdGZvcm0gY29kZSBnZW5lcmF0aW9uIGZv
ciBjb21wb25lbnQgdi1tb2RlbFxuICovXG5mdW5jdGlvbiBnZW5Db21wb25lbnRNb2RlbCAoXG4g
IGVsLFxuICB2YWx1ZSxcbiAgbW9kaWZpZXJzXG4pIHtcbiAgdmFyIHJlZiA9IG1vZGlmaWVycyB8
fCB7fTtcbiAgdmFyIG51bWJlciA9IHJlZi5udW1iZXI7XG4gIHZhciB0cmltID0gcmVmLnRyaW07
XG5cbiAgdmFyIGJhc2VWYWx1ZUV4cHJlc3Npb24gPSAnJCR2JztcbiAgdmFyIHZhbHVlRXhwcmVz
c2lvbiA9IGJhc2VWYWx1ZUV4cHJlc3Npb247XG4gIGlmICh0cmltKSB7XG4gICAgdmFsdWVFeHBy
ZXNzaW9uID1cbiAgICAgIFwiKHR5cGVvZiBcIiArIGJhc2VWYWx1ZUV4cHJlc3Npb24gKyBcIiA9
PT0gJ3N0cmluZydcIiArXG4gICAgICAgIFwiPyBcIiArIGJhc2VWYWx1ZUV4cHJlc3Npb24gKyBc
Ii50cmltKClcIiArXG4gICAgICAgIFwiOiBcIiArIGJhc2VWYWx1ZUV4cHJlc3Npb24gKyBcIilc
IjtcbiAgfVxuICBpZiAobnVtYmVyKSB7XG4gICAgdmFsdWVFeHByZXNzaW9uID0gXCJfbihcIiAr
IHZhbHVlRXhwcmVzc2lvbiArIFwiKVwiO1xuICB9XG4gIHZhciBhc3NpZ25tZW50ID0gZ2VuQXNz
aWdubWVudENvZGUodmFsdWUsIHZhbHVlRXhwcmVzc2lvbik7XG5cbiAgZWwubW9kZWwgPSB7XG4g
ICAgdmFsdWU6IChcIihcIiArIHZhbHVlICsgXCIpXCIpLFxuICAgIGV4cHJlc3Npb246IChcIlxc
XCJcIiArIHZhbHVlICsgXCJcXFwiXCIpLFxuICAgIGNhbGxiYWNrOiAoXCJmdW5jdGlvbiAoXCIg
KyBiYXNlVmFsdWVFeHByZXNzaW9uICsgXCIpIHtcIiArIGFzc2lnbm1lbnQgKyBcIn1cIilcbiAg
fTtcbn1cblxuLyoqXG4gKiBDcm9zcy1wbGF0Zm9ybSBjb2RlZ2VuIGhlbHBlciBmb3IgZ2VuZXJh
dGluZyB2LW1vZGVsIHZhbHVlIGFzc2lnbm1lbnQgY29kZS5cbiAqL1xuZnVuY3Rpb24gZ2VuQXNz
aWdubWVudENvZGUgKFxuICB2YWx1ZSxcbiAgYXNzaWdubWVudFxuKSB7XG4gIHZhciBtb2RlbFJz
ID0gcGFyc2VNb2RlbCh2YWx1ZSk7XG4gIGlmIChtb2RlbFJzLmlkeCA9PT0gbnVsbCkge1xuICAg
IHJldHVybiAodmFsdWUgKyBcIj1cIiArIGFzc2lnbm1lbnQpXG4gIH0gZWxzZSB7XG4gICAgcmV0
dXJuIChcIiRzZXQoXCIgKyAobW9kZWxScy5leHApICsgXCIsIFwiICsgKG1vZGVsUnMuaWR4KSAr
IFwiLCBcIiArIGFzc2lnbm1lbnQgKyBcIilcIilcbiAgfVxufVxuXG4vKipcbiAqIHBhcnNlIGRp
cmVjdGl2ZSBtb2RlbCB0byBkbyB0aGUgYXJyYXkgdXBkYXRlIHRyYW5zZm9ybS4gYVtpZHhdID0g
dmFsID0+ICQkYS5zcGxpY2UoJCRpZHgsIDEsIHZhbClcbiAqXG4gKiBmb3IgbG9vcCBwb3NzaWJs
ZSBjYXNlczpcbiAqXG4gKiAtIHRlc3RcbiAqIC0gdGVzdFtpZHhdXG4gKiAtIHRlc3RbdGVzdDFb
aWR4XV1cbiAqIC0gdGVzdFtcImFcIl1baWR4XVxuICogLSB4eHgudGVzdFthW2FdLnRlc3QxW2lk
eF1dXG4gKiAtIHRlc3QueHh4LmFbXCJhc2FcIl1bdGVzdDFbaWR4XV1cbiAqXG4gKi9cblxudmFy
IGxlbjtcbnZhciBzdHI7XG52YXIgY2hyO1xudmFyIGluZGV4JDE7XG52YXIgZXhwcmVzc2lvblBv
cztcbnZhciBleHByZXNzaW9uRW5kUG9zO1xuXG5mdW5jdGlvbiBwYXJzZU1vZGVsICh2YWwpIHtc
biAgc3RyID0gdmFsO1xuICBsZW4gPSBzdHIubGVuZ3RoO1xuICBpbmRleCQxID0gZXhwcmVzc2lv
blBvcyA9IGV4cHJlc3Npb25FbmRQb3MgPSAwO1xuXG4gIGlmICh2YWwuaW5kZXhPZignWycpIDwg
MCB8fCB2YWwubGFzdEluZGV4T2YoJ10nKSA8IGxlbiAtIDEpIHtcbiAgICByZXR1cm4ge1xuICAg
ICAgZXhwOiB2YWwsXG4gICAgICBpZHg6IG51bGxcbiAgICB9XG4gIH1cblxuICB3aGlsZSAoIWVv
ZigpKSB7XG4gICAgY2hyID0gbmV4dCgpO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xu
ICAgIGlmIChpc1N0cmluZ1N0YXJ0KGNocikpIHtcbiAgICAgIHBhcnNlU3RyaW5nKGNocik7XG4g
ICAgfSBlbHNlIGlmIChjaHIgPT09IDB4NUIpIHtcbiAgICAgIHBhcnNlQnJhY2tldChjaHIpO1xu
ICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZXhwOiB2YWwuc3Vic3RyaW5nKDAsIGV4cHJl
c3Npb25Qb3MpLFxuICAgIGlkeDogdmFsLnN1YnN0cmluZyhleHByZXNzaW9uUG9zICsgMSwgZXhw
cmVzc2lvbkVuZFBvcylcbiAgfVxufVxuXG5mdW5jdGlvbiBuZXh0ICgpIHtcbiAgcmV0dXJuIHN0
ci5jaGFyQ29kZUF0KCsraW5kZXgkMSlcbn1cblxuZnVuY3Rpb24gZW9mICgpIHtcbiAgcmV0dXJu
IGluZGV4JDEgPj0gbGVuXG59XG5cbmZ1bmN0aW9uIGlzU3RyaW5nU3RhcnQgKGNocikge1xuICBy
ZXR1cm4gY2hyID09PSAweDIyIHx8IGNociA9PT0gMHgyN1xufVxuXG5mdW5jdGlvbiBwYXJzZUJy
YWNrZXQgKGNocikge1xuICB2YXIgaW5CcmFja2V0ID0gMTtcbiAgZXhwcmVzc2lvblBvcyA9IGlu
ZGV4JDE7XG4gIHdoaWxlICghZW9mKCkpIHtcbiAgICBjaHIgPSBuZXh0KCk7XG4gICAgaWYgKGlz
U3RyaW5nU3RhcnQoY2hyKSkge1xuICAgICAgcGFyc2VTdHJpbmcoY2hyKTtcbiAgICAgIGNvbnRp
bnVlXG4gICAgfVxuICAgIGlmIChjaHIgPT09IDB4NUIpIHsgaW5CcmFja2V0Kys7IH1cbiAgICBp
ZiAoY2hyID09PSAweDVEKSB7IGluQnJhY2tldC0tOyB9XG4gICAgaWYgKGluQnJhY2tldCA9PT0g
MCkge1xuICAgICAgZXhwcmVzc2lvbkVuZFBvcyA9IGluZGV4JDE7XG4gICAgICBicmVha1xuICAg
IH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwYXJzZVN0cmluZyAoY2hyKSB7XG4gIHZhciBzdHJpbmdR
dW90ZSA9IGNocjtcbiAgd2hpbGUgKCFlb2YoKSkge1xuICAgIGNociA9IG5leHQoKTtcbiAgICBp
ZiAoY2hyID09PSBzdHJpbmdRdW90ZSkge1xuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cbn1cblxu
LyogICovXG5cbnZhciB3YXJuJDE7XG5cbi8vIGluIHNvbWUgY2FzZXMsIHRoZSBldmVudCB1c2Vk
IGhhcyB0byBiZSBkZXRlcm1pbmVkIGF0IHJ1bnRpbWVcbi8vIHNvIHdlIHVzZWQgc29tZSByZXNl
cnZlZCB0b2tlbnMgZHVyaW5nIGNvbXBpbGUuXG52YXIgUkFOR0VfVE9LRU4gPSAnX19yJztcbnZh
ciBDSEVDS0JPWF9SQURJT19UT0tFTiA9ICdfX2MnO1xuXG5mdW5jdGlvbiBtb2RlbCAoXG4gIGVs
LFxuICBkaXIsXG4gIF93YXJuXG4pIHtcbiAgd2FybiQxID0gX3dhcm47XG4gIHZhciB2YWx1ZSA9
IGRpci52YWx1ZTtcbiAgdmFyIG1vZGlmaWVycyA9IGRpci5tb2RpZmllcnM7XG4gIHZhciB0YWcg
PSBlbC50YWc7XG4gIHZhciB0eXBlID0gZWwuYXR0cnNNYXAudHlwZTtcblxuICBpZiAoZmFsc2Up
IHtcbiAgICB2YXIgZHluYW1pY1R5cGUgPSBlbC5hdHRyc01hcFsndi1iaW5kOnR5cGUnXSB8fCBl
bC5hdHRyc01hcFsnOnR5cGUnXTtcbiAgICBpZiAodGFnID09PSAnaW5wdXQnICYmIGR5bmFtaWNU
eXBlKSB7XG4gICAgICB3YXJuJDEoXG4gICAgICAgIFwiPGlucHV0IDp0eXBlPVxcXCJcIiArIGR5
bmFtaWNUeXBlICsgXCJcXFwiIHYtbW9kZWw9XFxcIlwiICsgdmFsdWUgKyBcIlxcXCI+Olxcblwi
ICtcbiAgICAgICAgXCJ2LW1vZGVsIGRvZXMgbm90IHN1cHBvcnQgZHluYW1pYyBpbnB1dCB0eXBl
cy4gVXNlIHYtaWYgYnJhbmNoZXMgaW5zdGVhZC5cIlxuICAgICAgKTtcbiAgICB9XG4gICAgLy8g
aW5wdXRzIHdpdGggdHlwZT1cImZpbGVcIiBhcmUgcmVhZCBvbmx5IGFuZCBzZXR0aW5nIHRoZSBp
bnB1dCdzXG4gICAgLy8gdmFsdWUgd2lsbCB0aHJvdyBhbiBlcnJvci5cbiAgICBpZiAodGFnID09
PSAnaW5wdXQnICYmIHR5cGUgPT09ICdmaWxlJykge1xuICAgICAgd2FybiQxKFxuICAgICAgICBc
IjxcIiArIChlbC50YWcpICsgXCIgdi1tb2RlbD1cXFwiXCIgKyB2YWx1ZSArIFwiXFxcIiB0eXBl
PVxcXCJmaWxlXFxcIj46XFxuXCIgK1xuICAgICAgICBcIkZpbGUgaW5wdXRzIGFyZSByZWFkIG9u
bHkuIFVzZSBhIHYtb246Y2hhbmdlIGxpc3RlbmVyIGluc3RlYWQuXCJcbiAgICAgICk7XG4gICAg
fVxuICB9XG5cbiAgaWYgKGVsLmNvbXBvbmVudCkge1xuICAgIGdlbkNvbXBvbmVudE1vZGVsKGVs
LCB2YWx1ZSwgbW9kaWZpZXJzKTtcbiAgICAvLyBjb21wb25lbnQgdi1tb2RlbCBkb2Vzbid0IG5l
ZWQgZXh0cmEgcnVudGltZVxuICAgIHJldHVybiBmYWxzZVxuICB9IGVsc2UgaWYgKHRhZyA9PT0g
J3NlbGVjdCcpIHtcbiAgICBnZW5TZWxlY3QoZWwsIHZhbHVlLCBtb2RpZmllcnMpO1xuICB9IGVs
c2UgaWYgKHRhZyA9PT0gJ2lucHV0JyAmJiB0eXBlID09PSAnY2hlY2tib3gnKSB7XG4gICAgZ2Vu
Q2hlY2tib3hNb2RlbChlbCwgdmFsdWUsIG1vZGlmaWVycyk7XG4gIH0gZWxzZSBpZiAodGFnID09
PSAnaW5wdXQnICYmIHR5cGUgPT09ICdyYWRpbycpIHtcbiAgICBnZW5SYWRpb01vZGVsKGVsLCB2
YWx1ZSwgbW9kaWZpZXJzKTtcbiAgfSBlbHNlIGlmICh0YWcgPT09ICdpbnB1dCcgfHwgdGFnID09
PSAndGV4dGFyZWEnKSB7XG4gICAgZ2VuRGVmYXVsdE1vZGVsKGVsLCB2YWx1ZSwgbW9kaWZpZXJz
KTtcbiAgfSBlbHNlIGlmICghY29uZmlnLmlzUmVzZXJ2ZWRUYWcodGFnKSkge1xuICAgIGdlbkNv
bXBvbmVudE1vZGVsKGVsLCB2YWx1ZSwgbW9kaWZpZXJzKTtcbiAgICAvLyBjb21wb25lbnQgdi1t
b2RlbCBkb2Vzbid0IG5lZWQgZXh0cmEgcnVudGltZVxuICAgIHJldHVybiBmYWxzZVxuICB9IGVs
c2UgaWYgKGZhbHNlKSB7XG4gICAgd2FybiQxKFxuICAgICAgXCI8XCIgKyAoZWwudGFnKSArIFwi
IHYtbW9kZWw9XFxcIlwiICsgdmFsdWUgKyBcIlxcXCI+OiBcIiArXG4gICAgICBcInYtbW9kZWwg
aXMgbm90IHN1cHBvcnRlZCBvbiB0aGlzIGVsZW1lbnQgdHlwZS4gXCIgK1xuICAgICAgJ0lmIHlv
dSBhcmUgd29ya2luZyB3aXRoIGNvbnRlbnRlZGl0YWJsZSwgaXRcXCdzIHJlY29tbWVuZGVkIHRv
ICcgK1xuICAgICAgJ3dyYXAgYSBsaWJyYXJ5IGRlZGljYXRlZCBmb3IgdGhhdCBwdXJwb3NlIGlu
c2lkZSBhIGN1c3RvbSBjb21wb25lbnQuJ1xuICAgICk7XG4gIH1cblxuICAvLyBlbnN1cmUgcnVu
dGltZSBkaXJlY3RpdmUgbWV0YWRhdGFcbiAgcmV0dXJuIHRydWVcbn1cblxuZnVuY3Rpb24gZ2Vu
Q2hlY2tib3hNb2RlbCAoXG4gIGVsLFxuICB2YWx1ZSxcbiAgbW9kaWZpZXJzXG4pIHtcbiAgdmFy
IG51bWJlciA9IG1vZGlmaWVycyAmJiBtb2RpZmllcnMubnVtYmVyO1xuICB2YXIgdmFsdWVCaW5k
aW5nID0gZ2V0QmluZGluZ0F0dHIoZWwsICd2YWx1ZScpIHx8ICdudWxsJztcbiAgdmFyIHRydWVW
YWx1ZUJpbmRpbmcgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ3RydWUtdmFsdWUnKSB8fCAndHJ1ZSc7
XG4gIHZhciBmYWxzZVZhbHVlQmluZGluZyA9IGdldEJpbmRpbmdBdHRyKGVsLCAnZmFsc2UtdmFs
dWUnKSB8fCAnZmFsc2UnO1xuICBhZGRQcm9wKGVsLCAnY2hlY2tlZCcsXG4gICAgXCJBcnJheS5p
c0FycmF5KFwiICsgdmFsdWUgKyBcIilcIiArXG4gICAgICBcIj9faShcIiArIHZhbHVlICsgXCIs
XCIgKyB2YWx1ZUJpbmRpbmcgKyBcIik+LTFcIiArIChcbiAgICAgICAgdHJ1ZVZhbHVlQmluZGlu
ZyA9PT0gJ3RydWUnXG4gICAgICAgICAgPyAoXCI6KFwiICsgdmFsdWUgKyBcIilcIilcbiAgICAg
ICAgICA6IChcIjpfcShcIiArIHZhbHVlICsgXCIsXCIgKyB0cnVlVmFsdWVCaW5kaW5nICsgXCIp
XCIpXG4gICAgICApXG4gICk7XG4gIGFkZEhhbmRsZXIoZWwsIENIRUNLQk9YX1JBRElPX1RPS0VO
LFxuICAgIFwidmFyICQkYT1cIiArIHZhbHVlICsgXCIsXCIgK1xuICAgICAgICAnJCRlbD0kZXZl
bnQudGFyZ2V0LCcgK1xuICAgICAgICBcIiQkYz0kJGVsLmNoZWNrZWQ/KFwiICsgdHJ1ZVZhbHVl
QmluZGluZyArIFwiKTooXCIgKyBmYWxzZVZhbHVlQmluZGluZyArIFwiKTtcIiArXG4gICAgJ2lm
KEFycmF5LmlzQXJyYXkoJCRhKSl7JyArXG4gICAgICBcInZhciAkJHY9XCIgKyAobnVtYmVyID8g
J19uKCcgKyB2YWx1ZUJpbmRpbmcgKyAnKScgOiB2YWx1ZUJpbmRpbmcpICsgXCIsXCIgK1xuICAg
ICAgICAgICckJGk9X2koJCRhLCQkdik7JyArXG4gICAgICBcImlmKCQkZWwuY2hlY2tlZCl7JCRp
PDAmJihcIiArIHZhbHVlICsgXCI9JCRhLmNvbmNhdCgkJHYpKX1cIiArXG4gICAgICBcImVsc2V7
JCRpPi0xJiYoXCIgKyB2YWx1ZSArIFwiPSQkYS5zbGljZSgwLCQkaSkuY29uY2F0KCQkYS5zbGlj
ZSgkJGkrMSkpKX1cIiArXG4gICAgXCJ9ZWxzZXtcIiArIChnZW5Bc3NpZ25tZW50Q29kZSh2YWx1
ZSwgJyQkYycpKSArIFwifVwiLFxuICAgIG51bGwsIHRydWVcbiAgKTtcbn1cblxuZnVuY3Rpb24g
Z2VuUmFkaW9Nb2RlbCAoXG4gICAgZWwsXG4gICAgdmFsdWUsXG4gICAgbW9kaWZpZXJzXG4pIHtc
biAgdmFyIG51bWJlciA9IG1vZGlmaWVycyAmJiBtb2RpZmllcnMubnVtYmVyO1xuICB2YXIgdmFs
dWVCaW5kaW5nID0gZ2V0QmluZGluZ0F0dHIoZWwsICd2YWx1ZScpIHx8ICdudWxsJztcbiAgdmFs
dWVCaW5kaW5nID0gbnVtYmVyID8gKFwiX24oXCIgKyB2YWx1ZUJpbmRpbmcgKyBcIilcIikgOiB2
YWx1ZUJpbmRpbmc7XG4gIGFkZFByb3AoZWwsICdjaGVja2VkJywgKFwiX3EoXCIgKyB2YWx1ZSAr
IFwiLFwiICsgdmFsdWVCaW5kaW5nICsgXCIpXCIpKTtcbiAgYWRkSGFuZGxlcihlbCwgQ0hFQ0tC
T1hfUkFESU9fVE9LRU4sIGdlbkFzc2lnbm1lbnRDb2RlKHZhbHVlLCB2YWx1ZUJpbmRpbmcpLCBu
dWxsLCB0cnVlKTtcbn1cblxuZnVuY3Rpb24gZ2VuU2VsZWN0IChcbiAgICBlbCxcbiAgICB2YWx1
ZSxcbiAgICBtb2RpZmllcnNcbikge1xuICB2YXIgbnVtYmVyID0gbW9kaWZpZXJzICYmIG1vZGlm
aWVycy5udW1iZXI7XG4gIHZhciBzZWxlY3RlZFZhbCA9IFwiQXJyYXkucHJvdG90eXBlLmZpbHRl
clwiICtcbiAgICBcIi5jYWxsKCRldmVudC50YXJnZXQub3B0aW9ucyxmdW5jdGlvbihvKXtyZXR1
cm4gby5zZWxlY3RlZH0pXCIgK1xuICAgIFwiLm1hcChmdW5jdGlvbihvKXt2YXIgdmFsID0gXFxc
Il92YWx1ZVxcXCIgaW4gbyA/IG8uX3ZhbHVlIDogby52YWx1ZTtcIiArXG4gICAgXCJyZXR1cm4g
XCIgKyAobnVtYmVyID8gJ19uKHZhbCknIDogJ3ZhbCcpICsgXCJ9KVwiO1xuXG4gIHZhciBhc3Np
Z25tZW50ID0gJyRldmVudC50YXJnZXQubXVsdGlwbGUgPyAkJHNlbGVjdGVkVmFsIDogJCRzZWxl
Y3RlZFZhbFswXSc7XG4gIHZhciBjb2RlID0gXCJ2YXIgJCRzZWxlY3RlZFZhbCA9IFwiICsgc2Vs
ZWN0ZWRWYWwgKyBcIjtcIjtcbiAgY29kZSA9IGNvZGUgKyBcIiBcIiArIChnZW5Bc3NpZ25tZW50
Q29kZSh2YWx1ZSwgYXNzaWdubWVudCkpO1xuICBhZGRIYW5kbGVyKGVsLCAnY2hhbmdlJywgY29k
ZSwgbnVsbCwgdHJ1ZSk7XG59XG5cbmZ1bmN0aW9uIGdlbkRlZmF1bHRNb2RlbCAoXG4gIGVsLFxu
ICB2YWx1ZSxcbiAgbW9kaWZpZXJzXG4pIHtcbiAgdmFyIHR5cGUgPSBlbC5hdHRyc01hcC50eXBl
O1xuICB2YXIgcmVmID0gbW9kaWZpZXJzIHx8IHt9O1xuICB2YXIgbGF6eSA9IHJlZi5sYXp5O1xu
ICB2YXIgbnVtYmVyID0gcmVmLm51bWJlcjtcbiAgdmFyIHRyaW0gPSByZWYudHJpbTtcbiAgdmFy
IG5lZWRDb21wb3NpdGlvbkd1YXJkID0gIWxhenkgJiYgdHlwZSAhPT0gJ3JhbmdlJztcbiAgdmFy
IGV2ZW50ID0gbGF6eVxuICAgID8gJ2NoYW5nZSdcbiAgICA6IHR5cGUgPT09ICdyYW5nZSdcbiAg
ICAgID8gUkFOR0VfVE9LRU5cbiAgICAgIDogJ2lucHV0JztcblxuICB2YXIgdmFsdWVFeHByZXNz
aW9uID0gJyRldmVudC50YXJnZXQudmFsdWUnO1xuICBpZiAodHJpbSkge1xuICAgIHZhbHVlRXhw
cmVzc2lvbiA9IFwiJGV2ZW50LnRhcmdldC52YWx1ZS50cmltKClcIjtcbiAgfVxuICBpZiAobnVt
YmVyKSB7XG4gICAgdmFsdWVFeHByZXNzaW9uID0gXCJfbihcIiArIHZhbHVlRXhwcmVzc2lvbiAr
IFwiKVwiO1xuICB9XG5cbiAgdmFyIGNvZGUgPSBnZW5Bc3NpZ25tZW50Q29kZSh2YWx1ZSwgdmFs
dWVFeHByZXNzaW9uKTtcbiAgaWYgKG5lZWRDb21wb3NpdGlvbkd1YXJkKSB7XG4gICAgY29kZSA9
IFwiaWYoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpcmV0dXJuO1wiICsgY29kZTtcbiAgfVxuXG4g
IGFkZFByb3AoZWwsICd2YWx1ZScsIChcIihcIiArIHZhbHVlICsgXCIpXCIpKTtcbiAgYWRkSGFu
ZGxlcihlbCwgZXZlbnQsIGNvZGUsIG51bGwsIHRydWUpO1xuICBpZiAodHJpbSB8fCBudW1iZXIp
IHtcbiAgICBhZGRIYW5kbGVyKGVsLCAnYmx1cicsICckZm9yY2VVcGRhdGUoKScpO1xuICB9XG59
XG5cbi8qICAqL1xuXG4vLyBub3JtYWxpemUgdi1tb2RlbCBldmVudCB0b2tlbnMgdGhhdCBjYW4g
b25seSBiZSBkZXRlcm1pbmVkIGF0IHJ1bnRpbWUuXG4vLyBpdCdzIGltcG9ydGFudCB0byBwbGFj
ZSB0aGUgZXZlbnQgYXMgdGhlIGZpcnN0IGluIHRoZSBhcnJheSBiZWNhdXNlXG4vLyB0aGUgd2hv
bGUgcG9pbnQgaXMgZW5zdXJpbmcgdGhlIHYtbW9kZWwgY2FsbGJhY2sgZ2V0cyBjYWxsZWQgYmVm
b3JlXG4vLyB1c2VyLWF0dGFjaGVkIGhhbmRsZXJzLlxuZnVuY3Rpb24gbm9ybWFsaXplRXZlbnRz
IChvbikge1xuICB2YXIgZXZlbnQ7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAo
aXNEZWYob25bUkFOR0VfVE9LRU5dKSkge1xuICAgIC8vIElFIGlucHV0W3R5cGU9cmFuZ2VdIG9u
bHkgc3VwcG9ydHMgYGNoYW5nZWAgZXZlbnRcbiAgICBldmVudCA9IGlzSUUgPyAnY2hhbmdlJyA6
ICdpbnB1dCc7XG4gICAgb25bZXZlbnRdID0gW10uY29uY2F0KG9uW1JBTkdFX1RPS0VOXSwgb25b
ZXZlbnRdIHx8IFtdKTtcbiAgICBkZWxldGUgb25bUkFOR0VfVE9LRU5dO1xuICB9XG4gIGlmIChp
c0RlZihvbltDSEVDS0JPWF9SQURJT19UT0tFTl0pKSB7XG4gICAgLy8gQ2hyb21lIGZpcmVzIG1p
Y3JvdGFza3MgaW4gYmV0d2VlbiBjbGljay9jaGFuZ2UsIGxlYWRzIHRvICM0NTIxXG4gICAgZXZl
bnQgPSBpc0Nocm9tZSA/ICdjbGljaycgOiAnY2hhbmdlJztcbiAgICBvbltldmVudF0gPSBbXS5j
b25jYXQob25bQ0hFQ0tCT1hfUkFESU9fVE9LRU5dLCBvbltldmVudF0gfHwgW10pO1xuICAgIGRl
bGV0ZSBvbltDSEVDS0JPWF9SQURJT19UT0tFTl07XG4gIH1cbn1cblxudmFyIHRhcmdldCQxO1xu
XG5mdW5jdGlvbiBhZGQkMSAoXG4gIGV2ZW50LFxuICBoYW5kbGVyLFxuICBvbmNlJCQxLFxuICBj
YXB0dXJlLFxuICBwYXNzaXZlXG4pIHtcbiAgaWYgKG9uY2UkJDEpIHtcbiAgICB2YXIgb2xkSGFu
ZGxlciA9IGhhbmRsZXI7XG4gICAgdmFyIF90YXJnZXQgPSB0YXJnZXQkMTsgLy8gc2F2ZSBjdXJy
ZW50IHRhcmdldCBlbGVtZW50IGluIGNsb3N1cmVcbiAgICBoYW5kbGVyID0gZnVuY3Rpb24gKGV2
KSB7XG4gICAgICB2YXIgcmVzID0gYXJndW1lbnRzLmxlbmd0aCA9PT0gMVxuICAgICAgICA/IG9s
ZEhhbmRsZXIoZXYpXG4gICAgICAgIDogb2xkSGFuZGxlci5hcHBseShudWxsLCBhcmd1bWVudHMp
O1xuICAgICAgaWYgKHJlcyAhPT0gbnVsbCkge1xuICAgICAgICByZW1vdmUkMihldmVudCwgaGFu
ZGxlciwgY2FwdHVyZSwgX3RhcmdldCk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuICB0YXJnZXQk
MS5hZGRFdmVudExpc3RlbmVyKFxuICAgIGV2ZW50LFxuICAgIGhhbmRsZXIsXG4gICAgc3VwcG9y
dHNQYXNzaXZlXG4gICAgICA/IHsgY2FwdHVyZTogY2FwdHVyZSwgcGFzc2l2ZTogcGFzc2l2ZSB9
XG4gICAgICA6IGNhcHR1cmVcbiAgKTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlJDIgKFxuICBldmVu
dCxcbiAgaGFuZGxlcixcbiAgY2FwdHVyZSxcbiAgX3RhcmdldFxuKSB7XG4gIChfdGFyZ2V0IHx8
IHRhcmdldCQxKS5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LCBoYW5kbGVyLCBjYXB0dXJlKTtc
bn1cblxuZnVuY3Rpb24gdXBkYXRlRE9NTGlzdGVuZXJzIChvbGRWbm9kZSwgdm5vZGUpIHtcbiAg
aWYgKGlzVW5kZWYob2xkVm5vZGUuZGF0YS5vbikgJiYgaXNVbmRlZih2bm9kZS5kYXRhLm9uKSkg
e1xuICAgIHJldHVyblxuICB9XG4gIHZhciBvbiA9IHZub2RlLmRhdGEub24gfHwge307XG4gIHZh
ciBvbGRPbiA9IG9sZFZub2RlLmRhdGEub24gfHwge307XG4gIHRhcmdldCQxID0gdm5vZGUuZWxt
O1xuICBub3JtYWxpemVFdmVudHMob24pO1xuICB1cGRhdGVMaXN0ZW5lcnMob24sIG9sZE9uLCBh
ZGQkMSwgcmVtb3ZlJDIsIHZub2RlLmNvbnRleHQpO1xufVxuXG52YXIgZXZlbnRzID0ge1xuICBj
cmVhdGU6IHVwZGF0ZURPTUxpc3RlbmVycyxcbiAgdXBkYXRlOiB1cGRhdGVET01MaXN0ZW5lcnNc
bn07XG5cbi8qICAqL1xuXG5mdW5jdGlvbiB1cGRhdGVET01Qcm9wcyAob2xkVm5vZGUsIHZub2Rl
KSB7XG4gIGlmIChpc1VuZGVmKG9sZFZub2RlLmRhdGEuZG9tUHJvcHMpICYmIGlzVW5kZWYodm5v
ZGUuZGF0YS5kb21Qcm9wcykpIHtcbiAgICByZXR1cm5cbiAgfVxuICB2YXIga2V5LCBjdXI7XG4g
IHZhciBlbG0gPSB2bm9kZS5lbG07XG4gIHZhciBvbGRQcm9wcyA9IG9sZFZub2RlLmRhdGEuZG9t
UHJvcHMgfHwge307XG4gIHZhciBwcm9wcyA9IHZub2RlLmRhdGEuZG9tUHJvcHMgfHwge307XG4g
IC8vIGNsb25lIG9ic2VydmVkIG9iamVjdHMsIGFzIHRoZSB1c2VyIHByb2JhYmx5IHdhbnRzIHRv
IG11dGF0ZSBpdFxuICBpZiAoaXNEZWYocHJvcHMuX19vYl9fKSkge1xuICAgIHByb3BzID0gdm5v
ZGUuZGF0YS5kb21Qcm9wcyA9IGV4dGVuZCh7fSwgcHJvcHMpO1xuICB9XG5cbiAgZm9yIChrZXkg
aW4gb2xkUHJvcHMpIHtcbiAgICBpZiAoaXNVbmRlZihwcm9wc1trZXldKSkge1xuICAgICAgZWxt
W2tleV0gPSAnJztcbiAgICB9XG4gIH1cbiAgZm9yIChrZXkgaW4gcHJvcHMpIHtcbiAgICBjdXIg
PSBwcm9wc1trZXldO1xuICAgIC8vIGlnbm9yZSBjaGlsZHJlbiBpZiB0aGUgbm9kZSBoYXMgdGV4
dENvbnRlbnQgb3IgaW5uZXJIVE1MLFxuICAgIC8vIGFzIHRoZXNlIHdpbGwgdGhyb3cgYXdheSBl
eGlzdGluZyBET00gbm9kZXMgYW5kIGNhdXNlIHJlbW92YWwgZXJyb3JzXG4gICAgLy8gb24gc3Vi
c2VxdWVudCBwYXRjaGVzICgjMzM2MClcbiAgICBpZiAoa2V5ID09PSAndGV4dENvbnRlbnQnIHx8
IGtleSA9PT0gJ2lubmVySFRNTCcpIHtcbiAgICAgIGlmICh2bm9kZS5jaGlsZHJlbikgeyB2bm9k
ZS5jaGlsZHJlbi5sZW5ndGggPSAwOyB9XG4gICAgICBpZiAoY3VyID09PSBvbGRQcm9wc1trZXld
KSB7IGNvbnRpbnVlIH1cbiAgICB9XG5cbiAgICBpZiAoa2V5ID09PSAndmFsdWUnKSB7XG4gICAg
ICAvLyBzdG9yZSB2YWx1ZSBhcyBfdmFsdWUgYXMgd2VsbCBzaW5jZVxuICAgICAgLy8gbm9uLXN0
cmluZyB2YWx1ZXMgd2lsbCBiZSBzdHJpbmdpZmllZFxuICAgICAgZWxtLl92YWx1ZSA9IGN1cjtc
biAgICAgIC8vIGF2b2lkIHJlc2V0dGluZyBjdXJzb3IgcG9zaXRpb24gd2hlbiB2YWx1ZSBpcyB0
aGUgc2FtZVxuICAgICAgdmFyIHN0ckN1ciA9IGlzVW5kZWYoY3VyKSA/ICcnIDogU3RyaW5nKGN1
cik7XG4gICAgICBpZiAoc2hvdWxkVXBkYXRlVmFsdWUoZWxtLCB2bm9kZSwgc3RyQ3VyKSkge1xu
ICAgICAgICBlbG0udmFsdWUgPSBzdHJDdXI7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAg
IGVsbVtrZXldID0gY3VyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBjaGVjayBwbGF0Zm9ybXMvd2Vi
L3V0aWwvYXR0cnMuanMgYWNjZXB0VmFsdWVcblxuXG5mdW5jdGlvbiBzaG91bGRVcGRhdGVWYWx1
ZSAoXG4gIGVsbSxcbiAgdm5vZGUsXG4gIGNoZWNrVmFsXG4pIHtcbiAgcmV0dXJuICghZWxtLmNv
bXBvc2luZyAmJiAoXG4gICAgdm5vZGUudGFnID09PSAnb3B0aW9uJyB8fFxuICAgIGlzRGlydHko
ZWxtLCBjaGVja1ZhbCkgfHxcbiAgICBpc0lucHV0Q2hhbmdlZChlbG0sIGNoZWNrVmFsKVxuICAp
KVxufVxuXG5mdW5jdGlvbiBpc0RpcnR5IChlbG0sIGNoZWNrVmFsKSB7XG4gIC8vIHJldHVybiB0
cnVlIHdoZW4gdGV4dGJveCAoLm51bWJlciBhbmQgLnRyaW0pIGxvc2VzIGZvY3VzIGFuZCBpdHMg
dmFsdWUgaXNcbiAgLy8gbm90IGVxdWFsIHRvIHRoZSB1cGRhdGVkIHZhbHVlXG4gIHZhciBub3RJ
bkZvY3VzID0gdHJ1ZTtcbiAgLy8gIzYxNTdcbiAgLy8gd29yayBhcm91bmQgSUUgYnVnIHdoZW4g
YWNjZXNzaW5nIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaW4gYW4gaWZyYW1lXG4gIHRyeSB7IG5v
dEluRm9jdXMgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSBlbG07IH0gY2F0Y2ggKGUpIHt9
XG4gIHJldHVybiBub3RJbkZvY3VzICYmIGVsbS52YWx1ZSAhPT0gY2hlY2tWYWxcbn1cblxuZnVu
Y3Rpb24gaXNJbnB1dENoYW5nZWQgKGVsbSwgbmV3VmFsKSB7XG4gIHZhciB2YWx1ZSA9IGVsbS52
YWx1ZTtcbiAgdmFyIG1vZGlmaWVycyA9IGVsbS5fdk1vZGlmaWVyczsgLy8gaW5qZWN0ZWQgYnkg
di1tb2RlbCBydW50aW1lXG4gIGlmIChpc0RlZihtb2RpZmllcnMpICYmIG1vZGlmaWVycy5udW1i
ZXIpIHtcbiAgICByZXR1cm4gdG9OdW1iZXIodmFsdWUpICE9PSB0b051bWJlcihuZXdWYWwpXG4g
IH1cbiAgaWYgKGlzRGVmKG1vZGlmaWVycykgJiYgbW9kaWZpZXJzLnRyaW0pIHtcbiAgICByZXR1
cm4gdmFsdWUudHJpbSgpICE9PSBuZXdWYWwudHJpbSgpXG4gIH1cbiAgcmV0dXJuIHZhbHVlICE9
PSBuZXdWYWxcbn1cblxudmFyIGRvbVByb3BzID0ge1xuICBjcmVhdGU6IHVwZGF0ZURPTVByb3Bz
LFxuICB1cGRhdGU6IHVwZGF0ZURPTVByb3BzXG59O1xuXG4vKiAgKi9cblxudmFyIHBhcnNlU3R5
bGVUZXh0ID0gY2FjaGVkKGZ1bmN0aW9uIChjc3NUZXh0KSB7XG4gIHZhciByZXMgPSB7fTtcbiAg
dmFyIGxpc3REZWxpbWl0ZXIgPSAvOyg/IVteKF0qXFwpKS9nO1xuICB2YXIgcHJvcGVydHlEZWxp
bWl0ZXIgPSAvOiguKykvO1xuICBjc3NUZXh0LnNwbGl0KGxpc3REZWxpbWl0ZXIpLmZvckVhY2go
ZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICBpZiAoaXRlbSkge1xuICAgICAgdmFyIHRtcCA9IGl0ZW0u
c3BsaXQocHJvcGVydHlEZWxpbWl0ZXIpO1xuICAgICAgdG1wLmxlbmd0aCA+IDEgJiYgKHJlc1t0
bXBbMF0udHJpbSgpXSA9IHRtcFsxXS50cmltKCkpO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiBy
ZXNcbn0pO1xuXG4vLyBtZXJnZSBzdGF0aWMgYW5kIGR5bmFtaWMgc3R5bGUgZGF0YSBvbiB0aGUg
c2FtZSB2bm9kZVxuZnVuY3Rpb24gbm9ybWFsaXplU3R5bGVEYXRhIChkYXRhKSB7XG4gIHZhciBz
dHlsZSA9IG5vcm1hbGl6ZVN0eWxlQmluZGluZyhkYXRhLnN0eWxlKTtcbiAgLy8gc3RhdGljIHN0
eWxlIGlzIHByZS1wcm9jZXNzZWQgaW50byBhbiBvYmplY3QgZHVyaW5nIGNvbXBpbGF0aW9uXG4g
IC8vIGFuZCBpcyBhbHdheXMgYSBmcmVzaCBvYmplY3QsIHNvIGl0J3Mgc2FmZSB0byBtZXJnZSBp
bnRvIGl0XG4gIHJldHVybiBkYXRhLnN0YXRpY1N0eWxlXG4gICAgPyBleHRlbmQoZGF0YS5zdGF0
aWNTdHlsZSwgc3R5bGUpXG4gICAgOiBzdHlsZVxufVxuXG4vLyBub3JtYWxpemUgcG9zc2libGUg
YXJyYXkgLyBzdHJpbmcgdmFsdWVzIGludG8gT2JqZWN0XG5mdW5jdGlvbiBub3JtYWxpemVTdHls
ZUJpbmRpbmcgKGJpbmRpbmdTdHlsZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheShiaW5kaW5nU3R5
bGUpKSB7XG4gICAgcmV0dXJuIHRvT2JqZWN0KGJpbmRpbmdTdHlsZSlcbiAgfVxuICBpZiAodHlw
ZW9mIGJpbmRpbmdTdHlsZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gcGFyc2VTdHlsZVRl
eHQoYmluZGluZ1N0eWxlKVxuICB9XG4gIHJldHVybiBiaW5kaW5nU3R5bGVcbn1cblxuLyoqXG4g
KiBwYXJlbnQgY29tcG9uZW50IHN0eWxlIHNob3VsZCBiZSBhZnRlciBjaGlsZCdzXG4gKiBzbyB0
aGF0IHBhcmVudCBjb21wb25lbnQncyBzdHlsZSBjb3VsZCBvdmVycmlkZSBpdFxuICovXG5mdW5j
dGlvbiBnZXRTdHlsZSAodm5vZGUsIGNoZWNrQ2hpbGQpIHtcbiAgdmFyIHJlcyA9IHt9O1xuICB2
YXIgc3R5bGVEYXRhO1xuXG4gIGlmIChjaGVja0NoaWxkKSB7XG4gICAgdmFyIGNoaWxkTm9kZSA9
IHZub2RlO1xuICAgIHdoaWxlIChjaGlsZE5vZGUuY29tcG9uZW50SW5zdGFuY2UpIHtcbiAgICAg
IGNoaWxkTm9kZSA9IGNoaWxkTm9kZS5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGU7XG4gICAgICBp
ZiAoY2hpbGROb2RlLmRhdGEgJiYgKHN0eWxlRGF0YSA9IG5vcm1hbGl6ZVN0eWxlRGF0YShjaGls
ZE5vZGUuZGF0YSkpKSB7XG4gICAgICAgIGV4dGVuZChyZXMsIHN0eWxlRGF0YSk7XG4gICAgICB9
XG4gICAgfVxuICB9XG5cbiAgaWYgKChzdHlsZURhdGEgPSBub3JtYWxpemVTdHlsZURhdGEodm5v
ZGUuZGF0YSkpKSB7XG4gICAgZXh0ZW5kKHJlcywgc3R5bGVEYXRhKTtcbiAgfVxuXG4gIHZhciBw
YXJlbnROb2RlID0gdm5vZGU7XG4gIHdoaWxlICgocGFyZW50Tm9kZSA9IHBhcmVudE5vZGUucGFy
ZW50KSkge1xuICAgIGlmIChwYXJlbnROb2RlLmRhdGEgJiYgKHN0eWxlRGF0YSA9IG5vcm1hbGl6
ZVN0eWxlRGF0YShwYXJlbnROb2RlLmRhdGEpKSkge1xuICAgICAgZXh0ZW5kKHJlcywgc3R5bGVE
YXRhKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG4vKiAgKi9cblxudmFyIGNzc1Zh
clJFID0gL14tLS87XG52YXIgaW1wb3J0YW50UkUgPSAvXFxzKiFpbXBvcnRhbnQkLztcbnZhciBz
ZXRQcm9wID0gZnVuY3Rpb24gKGVsLCBuYW1lLCB2YWwpIHtcbiAgLyogaXN0YW5idWwgaWdub3Jl
IGlmICovXG4gIGlmIChjc3NWYXJSRS50ZXN0KG5hbWUpKSB7XG4gICAgZWwuc3R5bGUuc2V0UHJv
cGVydHkobmFtZSwgdmFsKTtcbiAgfSBlbHNlIGlmIChpbXBvcnRhbnRSRS50ZXN0KHZhbCkpIHtc
biAgICBlbC5zdHlsZS5zZXRQcm9wZXJ0eShuYW1lLCB2YWwucmVwbGFjZShpbXBvcnRhbnRSRSwg
JycpLCAnaW1wb3J0YW50Jyk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIG5vcm1hbGl6ZWROYW1lID0g
bm9ybWFsaXplKG5hbWUpO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgIC8v
IFN1cHBvcnQgdmFsdWVzIGFycmF5IGNyZWF0ZWQgYnkgYXV0b3ByZWZpeGVyLCBlLmcuXG4gICAg
ICAvLyB7ZGlzcGxheTogW1wiLXdlYmtpdC1ib3hcIiwgXCItbXMtZmxleGJveFwiLCBcImZsZXhc
Il19XG4gICAgICAvLyBTZXQgdGhlbSBvbmUgYnkgb25lLCBhbmQgdGhlIGJyb3dzZXIgd2lsbCBv
bmx5IHNldCB0aG9zZSBpdCBjYW4gcmVjb2duaXplXG4gICAgICBmb3IgKHZhciBpID0gMCwgbGVu
ID0gdmFsLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgIGVsLnN0eWxlW25vcm1hbGl6
ZWROYW1lXSA9IHZhbFtpXTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZWwuc3R5bGVb
bm9ybWFsaXplZE5hbWVdID0gdmFsO1xuICAgIH1cbiAgfVxufTtcblxudmFyIHZlbmRvck5hbWVz
ID0gWydXZWJraXQnLCAnTW96JywgJ21zJ107XG5cbnZhciBlbXB0eVN0eWxlO1xudmFyIG5vcm1h
bGl6ZSA9IGNhY2hlZChmdW5jdGlvbiAocHJvcCkge1xuICBlbXB0eVN0eWxlID0gZW1wdHlTdHls
ZSB8fCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKS5zdHlsZTtcbiAgcHJvcCA9IGNhbWVs
aXplKHByb3ApO1xuICBpZiAocHJvcCAhPT0gJ2ZpbHRlcicgJiYgKHByb3AgaW4gZW1wdHlTdHls
ZSkpIHtcbiAgICByZXR1cm4gcHJvcFxuICB9XG4gIHZhciBjYXBOYW1lID0gcHJvcC5jaGFyQXQo
MCkudG9VcHBlckNhc2UoKSArIHByb3Auc2xpY2UoMSk7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwg
dmVuZG9yTmFtZXMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgbmFtZSA9IHZlbmRvck5hbWVzW2ld
ICsgY2FwTmFtZTtcbiAgICBpZiAobmFtZSBpbiBlbXB0eVN0eWxlKSB7XG4gICAgICByZXR1cm4g
bmFtZVxuICAgIH1cbiAgfVxufSk7XG5cbmZ1bmN0aW9uIHVwZGF0ZVN0eWxlIChvbGRWbm9kZSwg
dm5vZGUpIHtcbiAgdmFyIGRhdGEgPSB2bm9kZS5kYXRhO1xuICB2YXIgb2xkRGF0YSA9IG9sZFZu
b2RlLmRhdGE7XG5cbiAgaWYgKGlzVW5kZWYoZGF0YS5zdGF0aWNTdHlsZSkgJiYgaXNVbmRlZihk
YXRhLnN0eWxlKSAmJlxuICAgIGlzVW5kZWYob2xkRGF0YS5zdGF0aWNTdHlsZSkgJiYgaXNVbmRl
ZihvbGREYXRhLnN0eWxlKVxuICApIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIHZhciBjdXIsIG5h
bWU7XG4gIHZhciBlbCA9IHZub2RlLmVsbTtcbiAgdmFyIG9sZFN0YXRpY1N0eWxlID0gb2xkRGF0
YS5zdGF0aWNTdHlsZTtcbiAgdmFyIG9sZFN0eWxlQmluZGluZyA9IG9sZERhdGEubm9ybWFsaXpl
ZFN0eWxlIHx8IG9sZERhdGEuc3R5bGUgfHwge307XG5cbiAgLy8gaWYgc3RhdGljIHN0eWxlIGV4
aXN0cywgc3R5bGViaW5kaW5nIGFscmVhZHkgbWVyZ2VkIGludG8gaXQgd2hlbiBkb2luZyBub3Jt
YWxpemVTdHlsZURhdGFcbiAgdmFyIG9sZFN0eWxlID0gb2xkU3RhdGljU3R5bGUgfHwgb2xkU3R5
bGVCaW5kaW5nO1xuXG4gIHZhciBzdHlsZSA9IG5vcm1hbGl6ZVN0eWxlQmluZGluZyh2bm9kZS5k
YXRhLnN0eWxlKSB8fCB7fTtcblxuICAvLyBzdG9yZSBub3JtYWxpemVkIHN0eWxlIHVuZGVyIGEg
ZGlmZmVyZW50IGtleSBmb3IgbmV4dCBkaWZmXG4gIC8vIG1ha2Ugc3VyZSB0byBjbG9uZSBpdCBp
ZiBpdCdzIHJlYWN0aXZlLCBzaW5jZSB0aGUgdXNlciBsaWtsZXkgd2FudHNcbiAgLy8gdG8gbXV0
YXRlIGl0LlxuICB2bm9kZS5kYXRhLm5vcm1hbGl6ZWRTdHlsZSA9IGlzRGVmKHN0eWxlLl9fb2Jf
XylcbiAgICA/IGV4dGVuZCh7fSwgc3R5bGUpXG4gICAgOiBzdHlsZTtcblxuICB2YXIgbmV3U3R5
bGUgPSBnZXRTdHlsZSh2bm9kZSwgdHJ1ZSk7XG5cbiAgZm9yIChuYW1lIGluIG9sZFN0eWxlKSB7
XG4gICAgaWYgKGlzVW5kZWYobmV3U3R5bGVbbmFtZV0pKSB7XG4gICAgICBzZXRQcm9wKGVsLCBu
YW1lLCAnJyk7XG4gICAgfVxuICB9XG4gIGZvciAobmFtZSBpbiBuZXdTdHlsZSkge1xuICAgIGN1
ciA9IG5ld1N0eWxlW25hbWVdO1xuICAgIGlmIChjdXIgIT09IG9sZFN0eWxlW25hbWVdKSB7XG4g
ICAgICAvLyBpZTkgc2V0dGluZyB0byBudWxsIGhhcyBubyBlZmZlY3QsIG11c3QgdXNlIGVtcHR5
IHN0cmluZ1xuICAgICAgc2V0UHJvcChlbCwgbmFtZSwgY3VyID09IG51bGwgPyAnJyA6IGN1cik7
XG4gICAgfVxuICB9XG59XG5cbnZhciBzdHlsZSA9IHtcbiAgY3JlYXRlOiB1cGRhdGVTdHlsZSxc
biAgdXBkYXRlOiB1cGRhdGVTdHlsZVxufTtcblxuLyogICovXG5cbi8qKlxuICogQWRkIGNsYXNz
IHdpdGggY29tcGF0aWJpbGl0eSBmb3IgU1ZHIHNpbmNlIGNsYXNzTGlzdCBpcyBub3Qgc3VwcG9y
dGVkIG9uXG4gKiBTVkcgZWxlbWVudHMgaW4gSUVcbiAqL1xuZnVuY3Rpb24gYWRkQ2xhc3MgKGVs
LCBjbHMpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmICghY2xzIHx8ICEoY2xz
ID0gY2xzLnRyaW0oKSkpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9y
ZSBlbHNlICovXG4gIGlmIChlbC5jbGFzc0xpc3QpIHtcbiAgICBpZiAoY2xzLmluZGV4T2YoJyAn
KSA+IC0xKSB7XG4gICAgICBjbHMuc3BsaXQoL1xccysvKS5mb3JFYWNoKGZ1bmN0aW9uIChjKSB7
IHJldHVybiBlbC5jbGFzc0xpc3QuYWRkKGMpOyB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZWwu
Y2xhc3NMaXN0LmFkZChjbHMpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB2YXIgY3VyID0gXCIg
XCIgKyAoZWwuZ2V0QXR0cmlidXRlKCdjbGFzcycpIHx8ICcnKSArIFwiIFwiO1xuICAgIGlmIChj
dXIuaW5kZXhPZignICcgKyBjbHMgKyAnICcpIDwgMCkge1xuICAgICAgZWwuc2V0QXR0cmlidXRl
KCdjbGFzcycsIChjdXIgKyBjbHMpLnRyaW0oKSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICog
UmVtb3ZlIGNsYXNzIHdpdGggY29tcGF0aWJpbGl0eSBmb3IgU1ZHIHNpbmNlIGNsYXNzTGlzdCBp
cyBub3Qgc3VwcG9ydGVkIG9uXG4gKiBTVkcgZWxlbWVudHMgaW4gSUVcbiAqL1xuZnVuY3Rpb24g
cmVtb3ZlQ2xhc3MgKGVsLCBjbHMpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlm
ICghY2xzIHx8ICEoY2xzID0gY2xzLnRyaW0oKSkpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIC8q
IGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gIGlmIChlbC5jbGFzc0xpc3QpIHtcbiAgICBpZiAo
Y2xzLmluZGV4T2YoJyAnKSA+IC0xKSB7XG4gICAgICBjbHMuc3BsaXQoL1xccysvKS5mb3JFYWNo
KGZ1bmN0aW9uIChjKSB7IHJldHVybiBlbC5jbGFzc0xpc3QucmVtb3ZlKGMpOyB9KTtcbiAgICB9
IGVsc2Uge1xuICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZShjbHMpO1xuICAgIH1cbiAgICBpZiAo
IWVsLmNsYXNzTGlzdC5sZW5ndGgpIHtcbiAgICAgIGVsLnJlbW92ZUF0dHJpYnV0ZSgnY2xhc3Mn
KTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdmFyIGN1ciA9IFwiIFwiICsgKGVsLmdldEF0dHJp
YnV0ZSgnY2xhc3MnKSB8fCAnJykgKyBcIiBcIjtcbiAgICB2YXIgdGFyID0gJyAnICsgY2xzICsg
JyAnO1xuICAgIHdoaWxlIChjdXIuaW5kZXhPZih0YXIpID49IDApIHtcbiAgICAgIGN1ciA9IGN1
ci5yZXBsYWNlKHRhciwgJyAnKTtcbiAgICB9XG4gICAgY3VyID0gY3VyLnRyaW0oKTtcbiAgICBp
ZiAoY3VyKSB7XG4gICAgICBlbC5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgY3VyKTtcbiAgICB9IGVs
c2Uge1xuICAgICAgZWwucmVtb3ZlQXR0cmlidXRlKCdjbGFzcycpO1xuICAgIH1cbiAgfVxufVxu
XG4vKiAgKi9cblxuZnVuY3Rpb24gcmVzb2x2ZVRyYW5zaXRpb24gKGRlZiQkMSkge1xuICBpZiAo
IWRlZiQkMSkge1xuICAgIHJldHVyblxuICB9XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICov
XG4gIGlmICh0eXBlb2YgZGVmJCQxID09PSAnb2JqZWN0Jykge1xuICAgIHZhciByZXMgPSB7fTtc
biAgICBpZiAoZGVmJCQxLmNzcyAhPT0gZmFsc2UpIHtcbiAgICAgIGV4dGVuZChyZXMsIGF1dG9D
c3NUcmFuc2l0aW9uKGRlZiQkMS5uYW1lIHx8ICd2JykpO1xuICAgIH1cbiAgICBleHRlbmQocmVz
LCBkZWYkJDEpO1xuICAgIHJldHVybiByZXNcbiAgfSBlbHNlIGlmICh0eXBlb2YgZGVmJCQxID09
PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBhdXRvQ3NzVHJhbnNpdGlvbihkZWYkJDEpXG4gIH1c
bn1cblxudmFyIGF1dG9Dc3NUcmFuc2l0aW9uID0gY2FjaGVkKGZ1bmN0aW9uIChuYW1lKSB7XG4g
IHJldHVybiB7XG4gICAgZW50ZXJDbGFzczogKG5hbWUgKyBcIi1lbnRlclwiKSxcbiAgICBlbnRl
clRvQ2xhc3M6IChuYW1lICsgXCItZW50ZXItdG9cIiksXG4gICAgZW50ZXJBY3RpdmVDbGFzczog
KG5hbWUgKyBcIi1lbnRlci1hY3RpdmVcIiksXG4gICAgbGVhdmVDbGFzczogKG5hbWUgKyBcIi1s
ZWF2ZVwiKSxcbiAgICBsZWF2ZVRvQ2xhc3M6IChuYW1lICsgXCItbGVhdmUtdG9cIiksXG4gICAg
bGVhdmVBY3RpdmVDbGFzczogKG5hbWUgKyBcIi1sZWF2ZS1hY3RpdmVcIilcbiAgfVxufSk7XG5c
bnZhciBoYXNUcmFuc2l0aW9uID0gaW5Ccm93c2VyICYmICFpc0lFOTtcbnZhciBUUkFOU0lUSU9O
ID0gJ3RyYW5zaXRpb24nO1xudmFyIEFOSU1BVElPTiA9ICdhbmltYXRpb24nO1xuXG4vLyBUcmFu
c2l0aW9uIHByb3BlcnR5L2V2ZW50IHNuaWZmaW5nXG52YXIgdHJhbnNpdGlvblByb3AgPSAndHJh
bnNpdGlvbic7XG52YXIgdHJhbnNpdGlvbkVuZEV2ZW50ID0gJ3RyYW5zaXRpb25lbmQnO1xudmFy
IGFuaW1hdGlvblByb3AgPSAnYW5pbWF0aW9uJztcbnZhciBhbmltYXRpb25FbmRFdmVudCA9ICdh
bmltYXRpb25lbmQnO1xuaWYgKGhhc1RyYW5zaXRpb24pIHtcbiAgLyogaXN0YW5idWwgaWdub3Jl
IGlmICovXG4gIGlmICh3aW5kb3cub250cmFuc2l0aW9uZW5kID09PSB1bmRlZmluZWQgJiZcbiAg
ICB3aW5kb3cub253ZWJraXR0cmFuc2l0aW9uZW5kICE9PSB1bmRlZmluZWRcbiAgKSB7XG4gICAg
dHJhbnNpdGlvblByb3AgPSAnV2Via2l0VHJhbnNpdGlvbic7XG4gICAgdHJhbnNpdGlvbkVuZEV2
ZW50ID0gJ3dlYmtpdFRyYW5zaXRpb25FbmQnO1xuICB9XG4gIGlmICh3aW5kb3cub25hbmltYXRp
b25lbmQgPT09IHVuZGVmaW5lZCAmJlxuICAgIHdpbmRvdy5vbndlYmtpdGFuaW1hdGlvbmVuZCAh
PT0gdW5kZWZpbmVkXG4gICkge1xuICAgIGFuaW1hdGlvblByb3AgPSAnV2Via2l0QW5pbWF0aW9u
JztcbiAgICBhbmltYXRpb25FbmRFdmVudCA9ICd3ZWJraXRBbmltYXRpb25FbmQnO1xuICB9XG59
XG5cbi8vIGJpbmRpbmcgdG8gd2luZG93IGlzIG5lY2Vzc2FyeSB0byBtYWtlIGhvdCByZWxvYWQg
d29yayBpbiBJRSBpbiBzdHJpY3QgbW9kZVxudmFyIHJhZiA9IGluQnJvd3NlciAmJiB3aW5kb3cu
cmVxdWVzdEFuaW1hdGlvbkZyYW1lXG4gID8gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZS5i
aW5kKHdpbmRvdylcbiAgOiBzZXRUaW1lb3V0O1xuXG5mdW5jdGlvbiBuZXh0RnJhbWUgKGZuKSB7
XG4gIHJhZihmdW5jdGlvbiAoKSB7XG4gICAgcmFmKGZuKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9u
IGFkZFRyYW5zaXRpb25DbGFzcyAoZWwsIGNscykge1xuICB2YXIgdHJhbnNpdGlvbkNsYXNzZXMg
PSBlbC5fdHJhbnNpdGlvbkNsYXNzZXMgfHwgKGVsLl90cmFuc2l0aW9uQ2xhc3NlcyA9IFtdKTtc
biAgaWYgKHRyYW5zaXRpb25DbGFzc2VzLmluZGV4T2YoY2xzKSA8IDApIHtcbiAgICB0cmFuc2l0
aW9uQ2xhc3Nlcy5wdXNoKGNscyk7XG4gICAgYWRkQ2xhc3MoZWwsIGNscyk7XG4gIH1cbn1cblxu
ZnVuY3Rpb24gcmVtb3ZlVHJhbnNpdGlvbkNsYXNzIChlbCwgY2xzKSB7XG4gIGlmIChlbC5fdHJh
bnNpdGlvbkNsYXNzZXMpIHtcbiAgICByZW1vdmUoZWwuX3RyYW5zaXRpb25DbGFzc2VzLCBjbHMp
O1xuICB9XG4gIHJlbW92ZUNsYXNzKGVsLCBjbHMpO1xufVxuXG5mdW5jdGlvbiB3aGVuVHJhbnNp
dGlvbkVuZHMgKFxuICBlbCxcbiAgZXhwZWN0ZWRUeXBlLFxuICBjYlxuKSB7XG4gIHZhciByZWYg
PSBnZXRUcmFuc2l0aW9uSW5mbyhlbCwgZXhwZWN0ZWRUeXBlKTtcbiAgdmFyIHR5cGUgPSByZWYu
dHlwZTtcbiAgdmFyIHRpbWVvdXQgPSByZWYudGltZW91dDtcbiAgdmFyIHByb3BDb3VudCA9IHJl
Zi5wcm9wQ291bnQ7XG4gIGlmICghdHlwZSkgeyByZXR1cm4gY2IoKSB9XG4gIHZhciBldmVudCA9
IHR5cGUgPT09IFRSQU5TSVRJT04gPyB0cmFuc2l0aW9uRW5kRXZlbnQgOiBhbmltYXRpb25FbmRF
dmVudDtcbiAgdmFyIGVuZGVkID0gMDtcbiAgdmFyIGVuZCA9IGZ1bmN0aW9uICgpIHtcbiAgICBl
bC5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LCBvbkVuZCk7XG4gICAgY2IoKTtcbiAgfTtcbiAg
dmFyIG9uRW5kID0gZnVuY3Rpb24gKGUpIHtcbiAgICBpZiAoZS50YXJnZXQgPT09IGVsKSB7XG4g
ICAgICBpZiAoKytlbmRlZCA+PSBwcm9wQ291bnQpIHtcbiAgICAgICAgZW5kKCk7XG4gICAgICB9
XG4gICAgfVxuICB9O1xuICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoZW5kZWQg
PCBwcm9wQ291bnQpIHtcbiAgICAgIGVuZCgpO1xuICAgIH1cbiAgfSwgdGltZW91dCArIDEpO1xu
ICBlbC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBvbkVuZCk7XG59XG5cbnZhciB0cmFuc2Zvcm1S
RSA9IC9cXGIodHJhbnNmb3JtfGFsbCkoLHwkKS87XG5cbmZ1bmN0aW9uIGdldFRyYW5zaXRpb25J
bmZvIChlbCwgZXhwZWN0ZWRUeXBlKSB7XG4gIHZhciBzdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZShlbCk7XG4gIHZhciB0cmFuc2l0aW9uRGVsYXlzID0gc3R5bGVzW3RyYW5zaXRpb25Q
cm9wICsgJ0RlbGF5J10uc3BsaXQoJywgJyk7XG4gIHZhciB0cmFuc2l0aW9uRHVyYXRpb25zID0g
c3R5bGVzW3RyYW5zaXRpb25Qcm9wICsgJ0R1cmF0aW9uJ10uc3BsaXQoJywgJyk7XG4gIHZhciB0
cmFuc2l0aW9uVGltZW91dCA9IGdldFRpbWVvdXQodHJhbnNpdGlvbkRlbGF5cywgdHJhbnNpdGlv
bkR1cmF0aW9ucyk7XG4gIHZhciBhbmltYXRpb25EZWxheXMgPSBzdHlsZXNbYW5pbWF0aW9uUHJv
cCArICdEZWxheSddLnNwbGl0KCcsICcpO1xuICB2YXIgYW5pbWF0aW9uRHVyYXRpb25zID0gc3R5
bGVzW2FuaW1hdGlvblByb3AgKyAnRHVyYXRpb24nXS5zcGxpdCgnLCAnKTtcbiAgdmFyIGFuaW1h
dGlvblRpbWVvdXQgPSBnZXRUaW1lb3V0KGFuaW1hdGlvbkRlbGF5cywgYW5pbWF0aW9uRHVyYXRp
b25zKTtcblxuICB2YXIgdHlwZTtcbiAgdmFyIHRpbWVvdXQgPSAwO1xuICB2YXIgcHJvcENvdW50
ID0gMDtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmIChleHBlY3RlZFR5cGUgPT09
IFRSQU5TSVRJT04pIHtcbiAgICBpZiAodHJhbnNpdGlvblRpbWVvdXQgPiAwKSB7XG4gICAgICB0
eXBlID0gVFJBTlNJVElPTjtcbiAgICAgIHRpbWVvdXQgPSB0cmFuc2l0aW9uVGltZW91dDtcbiAg
ICAgIHByb3BDb3VudCA9IHRyYW5zaXRpb25EdXJhdGlvbnMubGVuZ3RoO1xuICAgIH1cbiAgfSBl
bHNlIGlmIChleHBlY3RlZFR5cGUgPT09IEFOSU1BVElPTikge1xuICAgIGlmIChhbmltYXRpb25U
aW1lb3V0ID4gMCkge1xuICAgICAgdHlwZSA9IEFOSU1BVElPTjtcbiAgICAgIHRpbWVvdXQgPSBh
bmltYXRpb25UaW1lb3V0O1xuICAgICAgcHJvcENvdW50ID0gYW5pbWF0aW9uRHVyYXRpb25zLmxl
bmd0aDtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdGltZW91dCA9IE1hdGgubWF4KHRyYW5zaXRp
b25UaW1lb3V0LCBhbmltYXRpb25UaW1lb3V0KTtcbiAgICB0eXBlID0gdGltZW91dCA+IDBcbiAg
ICAgID8gdHJhbnNpdGlvblRpbWVvdXQgPiBhbmltYXRpb25UaW1lb3V0XG4gICAgICAgID8gVFJB
TlNJVElPTlxuICAgICAgICA6IEFOSU1BVElPTlxuICAgICAgOiBudWxsO1xuICAgIHByb3BDb3Vu
dCA9IHR5cGVcbiAgICAgID8gdHlwZSA9PT0gVFJBTlNJVElPTlxuICAgICAgICA/IHRyYW5zaXRp
b25EdXJhdGlvbnMubGVuZ3RoXG4gICAgICAgIDogYW5pbWF0aW9uRHVyYXRpb25zLmxlbmd0aFxu
ICAgICAgOiAwO1xuICB9XG4gIHZhciBoYXNUcmFuc2Zvcm0gPVxuICAgIHR5cGUgPT09IFRSQU5T
SVRJT04gJiZcbiAgICB0cmFuc2Zvcm1SRS50ZXN0KHN0eWxlc1t0cmFuc2l0aW9uUHJvcCArICdQ
cm9wZXJ0eSddKTtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiB0eXBlLFxuICAgIHRpbWVvdXQ6IHRp
bWVvdXQsXG4gICAgcHJvcENvdW50OiBwcm9wQ291bnQsXG4gICAgaGFzVHJhbnNmb3JtOiBoYXNU
cmFuc2Zvcm1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRUaW1lb3V0IChkZWxheXMsIGR1cmF0aW9u
cykge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICB3aGlsZSAoZGVsYXlzLmxlbmd0
aCA8IGR1cmF0aW9ucy5sZW5ndGgpIHtcbiAgICBkZWxheXMgPSBkZWxheXMuY29uY2F0KGRlbGF5
cyk7XG4gIH1cblxuICByZXR1cm4gTWF0aC5tYXguYXBwbHkobnVsbCwgZHVyYXRpb25zLm1hcChm
dW5jdGlvbiAoZCwgaSkge1xuICAgIHJldHVybiB0b01zKGQpICsgdG9NcyhkZWxheXNbaV0pXG4g
IH0pKVxufVxuXG5mdW5jdGlvbiB0b01zIChzKSB7XG4gIHJldHVybiBOdW1iZXIocy5zbGljZSgw
LCAtMSkpICogMTAwMFxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gZW50ZXIgKHZub2RlLCB0b2dn
bGVEaXNwbGF5KSB7XG4gIHZhciBlbCA9IHZub2RlLmVsbTtcblxuICAvLyBjYWxsIGxlYXZlIGNh
bGxiYWNrIG5vd1xuICBpZiAoaXNEZWYoZWwuX2xlYXZlQ2IpKSB7XG4gICAgZWwuX2xlYXZlQ2Iu
Y2FuY2VsbGVkID0gdHJ1ZTtcbiAgICBlbC5fbGVhdmVDYigpO1xuICB9XG5cbiAgdmFyIGRhdGEg
PSByZXNvbHZlVHJhbnNpdGlvbih2bm9kZS5kYXRhLnRyYW5zaXRpb24pO1xuICBpZiAoaXNVbmRl
ZihkYXRhKSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICov
XG4gIGlmIChpc0RlZihlbC5fZW50ZXJDYikgfHwgZWwubm9kZVR5cGUgIT09IDEpIHtcbiAgICBy
ZXR1cm5cbiAgfVxuXG4gIHZhciBjc3MgPSBkYXRhLmNzcztcbiAgdmFyIHR5cGUgPSBkYXRhLnR5
cGU7XG4gIHZhciBlbnRlckNsYXNzID0gZGF0YS5lbnRlckNsYXNzO1xuICB2YXIgZW50ZXJUb0Ns
YXNzID0gZGF0YS5lbnRlclRvQ2xhc3M7XG4gIHZhciBlbnRlckFjdGl2ZUNsYXNzID0gZGF0YS5l
bnRlckFjdGl2ZUNsYXNzO1xuICB2YXIgYXBwZWFyQ2xhc3MgPSBkYXRhLmFwcGVhckNsYXNzO1xu
ICB2YXIgYXBwZWFyVG9DbGFzcyA9IGRhdGEuYXBwZWFyVG9DbGFzcztcbiAgdmFyIGFwcGVhckFj
dGl2ZUNsYXNzID0gZGF0YS5hcHBlYXJBY3RpdmVDbGFzcztcbiAgdmFyIGJlZm9yZUVudGVyID0g
ZGF0YS5iZWZvcmVFbnRlcjtcbiAgdmFyIGVudGVyID0gZGF0YS5lbnRlcjtcbiAgdmFyIGFmdGVy
RW50ZXIgPSBkYXRhLmFmdGVyRW50ZXI7XG4gIHZhciBlbnRlckNhbmNlbGxlZCA9IGRhdGEuZW50
ZXJDYW5jZWxsZWQ7XG4gIHZhciBiZWZvcmVBcHBlYXIgPSBkYXRhLmJlZm9yZUFwcGVhcjtcbiAg
dmFyIGFwcGVhciA9IGRhdGEuYXBwZWFyO1xuICB2YXIgYWZ0ZXJBcHBlYXIgPSBkYXRhLmFmdGVy
QXBwZWFyO1xuICB2YXIgYXBwZWFyQ2FuY2VsbGVkID0gZGF0YS5hcHBlYXJDYW5jZWxsZWQ7XG4g
IHZhciBkdXJhdGlvbiA9IGRhdGEuZHVyYXRpb247XG5cbiAgLy8gYWN0aXZlSW5zdGFuY2Ugd2ls
bCBhbHdheXMgYmUgdGhlIDx0cmFuc2l0aW9uPiBjb21wb25lbnQgbWFuYWdpbmcgdGhpc1xuICAv
LyB0cmFuc2l0aW9uLiBPbmUgZWRnZSBjYXNlIHRvIGNoZWNrIGlzIHdoZW4gdGhlIDx0cmFuc2l0
aW9uPiBpcyBwbGFjZWRcbiAgLy8gYXMgdGhlIHJvb3Qgbm9kZSBvZiBhIGNoaWxkIGNvbXBvbmVu
dC4gSW4gdGhhdCBjYXNlIHdlIG5lZWQgdG8gY2hlY2tcbiAgLy8gPHRyYW5zaXRpb24+J3MgcGFy
ZW50IGZvciBhcHBlYXIgY2hlY2suXG4gIHZhciBjb250ZXh0ID0gYWN0aXZlSW5zdGFuY2U7XG4g
IHZhciB0cmFuc2l0aW9uTm9kZSA9IGFjdGl2ZUluc3RhbmNlLiR2bm9kZTtcbiAgd2hpbGUgKHRy
YW5zaXRpb25Ob2RlICYmIHRyYW5zaXRpb25Ob2RlLnBhcmVudCkge1xuICAgIHRyYW5zaXRpb25O
b2RlID0gdHJhbnNpdGlvbk5vZGUucGFyZW50O1xuICAgIGNvbnRleHQgPSB0cmFuc2l0aW9uTm9k
ZS5jb250ZXh0O1xuICB9XG5cbiAgdmFyIGlzQXBwZWFyID0gIWNvbnRleHQuX2lzTW91bnRlZCB8
fCAhdm5vZGUuaXNSb290SW5zZXJ0O1xuXG4gIGlmIChpc0FwcGVhciAmJiAhYXBwZWFyICYmIGFw
cGVhciAhPT0gJycpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIHZhciBzdGFydENsYXNzID0gaXNB
cHBlYXIgJiYgYXBwZWFyQ2xhc3NcbiAgICA/IGFwcGVhckNsYXNzXG4gICAgOiBlbnRlckNsYXNz
O1xuICB2YXIgYWN0aXZlQ2xhc3MgPSBpc0FwcGVhciAmJiBhcHBlYXJBY3RpdmVDbGFzc1xuICAg
ID8gYXBwZWFyQWN0aXZlQ2xhc3NcbiAgICA6IGVudGVyQWN0aXZlQ2xhc3M7XG4gIHZhciB0b0Ns
YXNzID0gaXNBcHBlYXIgJiYgYXBwZWFyVG9DbGFzc1xuICAgID8gYXBwZWFyVG9DbGFzc1xuICAg
IDogZW50ZXJUb0NsYXNzO1xuXG4gIHZhciBiZWZvcmVFbnRlckhvb2sgPSBpc0FwcGVhclxuICAg
ID8gKGJlZm9yZUFwcGVhciB8fCBiZWZvcmVFbnRlcilcbiAgICA6IGJlZm9yZUVudGVyO1xuICB2
YXIgZW50ZXJIb29rID0gaXNBcHBlYXJcbiAgICA/ICh0eXBlb2YgYXBwZWFyID09PSAnZnVuY3Rp
b24nID8gYXBwZWFyIDogZW50ZXIpXG4gICAgOiBlbnRlcjtcbiAgdmFyIGFmdGVyRW50ZXJIb29r
ID0gaXNBcHBlYXJcbiAgICA/IChhZnRlckFwcGVhciB8fCBhZnRlckVudGVyKVxuICAgIDogYWZ0
ZXJFbnRlcjtcbiAgdmFyIGVudGVyQ2FuY2VsbGVkSG9vayA9IGlzQXBwZWFyXG4gICAgPyAoYXBw
ZWFyQ2FuY2VsbGVkIHx8IGVudGVyQ2FuY2VsbGVkKVxuICAgIDogZW50ZXJDYW5jZWxsZWQ7XG5c
biAgdmFyIGV4cGxpY2l0RW50ZXJEdXJhdGlvbiA9IHRvTnVtYmVyKFxuICAgIGlzT2JqZWN0KGR1
cmF0aW9uKVxuICAgICAgPyBkdXJhdGlvbi5lbnRlclxuICAgICAgOiBkdXJhdGlvblxuICApO1xu
XG4gIGlmIChmYWxzZSkge1xuICAgIGNoZWNrRHVyYXRpb24oZXhwbGljaXRFbnRlckR1cmF0aW9u
LCAnZW50ZXInLCB2bm9kZSk7XG4gIH1cblxuICB2YXIgZXhwZWN0c0NTUyA9IGNzcyAhPT0gZmFs
c2UgJiYgIWlzSUU5O1xuICB2YXIgdXNlcldhbnRzQ29udHJvbCA9IGdldEhvb2tBcmd1bWVudHNM
ZW5ndGgoZW50ZXJIb29rKTtcblxuICB2YXIgY2IgPSBlbC5fZW50ZXJDYiA9IG9uY2UoZnVuY3Rp
b24gKCkge1xuICAgIGlmIChleHBlY3RzQ1NTKSB7XG4gICAgICByZW1vdmVUcmFuc2l0aW9uQ2xh
c3MoZWwsIHRvQ2xhc3MpO1xuICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBhY3RpdmVD
bGFzcyk7XG4gICAgfVxuICAgIGlmIChjYi5jYW5jZWxsZWQpIHtcbiAgICAgIGlmIChleHBlY3Rz
Q1NTKSB7XG4gICAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgc3RhcnRDbGFzcyk7XG4g
ICAgICB9XG4gICAgICBlbnRlckNhbmNlbGxlZEhvb2sgJiYgZW50ZXJDYW5jZWxsZWRIb29rKGVs
KTtcbiAgICB9IGVsc2Uge1xuICAgICAgYWZ0ZXJFbnRlckhvb2sgJiYgYWZ0ZXJFbnRlckhvb2so
ZWwpO1xuICAgIH1cbiAgICBlbC5fZW50ZXJDYiA9IG51bGw7XG4gIH0pO1xuXG4gIGlmICghdm5v
ZGUuZGF0YS5zaG93KSB7XG4gICAgLy8gcmVtb3ZlIHBlbmRpbmcgbGVhdmUgZWxlbWVudCBvbiBl
bnRlciBieSBpbmplY3RpbmcgYW4gaW5zZXJ0IGhvb2tcbiAgICBtZXJnZVZOb2RlSG9vayh2bm9k
ZS5kYXRhLmhvb2sgfHwgKHZub2RlLmRhdGEuaG9vayA9IHt9KSwgJ2luc2VydCcsIGZ1bmN0aW9u
ICgpIHtcbiAgICAgIHZhciBwYXJlbnQgPSBlbC5wYXJlbnROb2RlO1xuICAgICAgdmFyIHBlbmRp
bmdOb2RlID0gcGFyZW50ICYmIHBhcmVudC5fcGVuZGluZyAmJiBwYXJlbnQuX3BlbmRpbmdbdm5v
ZGUua2V5XTtcbiAgICAgIGlmIChwZW5kaW5nTm9kZSAmJlxuICAgICAgICBwZW5kaW5nTm9kZS50
YWcgPT09IHZub2RlLnRhZyAmJlxuICAgICAgICBwZW5kaW5nTm9kZS5lbG0uX2xlYXZlQ2JcbiAg
ICAgICkge1xuICAgICAgICBwZW5kaW5nTm9kZS5lbG0uX2xlYXZlQ2IoKTtcbiAgICAgIH1cbiAg
ICAgIGVudGVySG9vayAmJiBlbnRlckhvb2soZWwsIGNiKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8v
IHN0YXJ0IGVudGVyIHRyYW5zaXRpb25cbiAgYmVmb3JlRW50ZXJIb29rICYmIGJlZm9yZUVudGVy
SG9vayhlbCk7XG4gIGlmIChleHBlY3RzQ1NTKSB7XG4gICAgYWRkVHJhbnNpdGlvbkNsYXNzKGVs
LCBzdGFydENsYXNzKTtcbiAgICBhZGRUcmFuc2l0aW9uQ2xhc3MoZWwsIGFjdGl2ZUNsYXNzKTtc
biAgICBuZXh0RnJhbWUoZnVuY3Rpb24gKCkge1xuICAgICAgYWRkVHJhbnNpdGlvbkNsYXNzKGVs
LCB0b0NsYXNzKTtcbiAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgc3RhcnRDbGFzcyk7
XG4gICAgICBpZiAoIWNiLmNhbmNlbGxlZCAmJiAhdXNlcldhbnRzQ29udHJvbCkge1xuICAgICAg
ICBpZiAoaXNWYWxpZER1cmF0aW9uKGV4cGxpY2l0RW50ZXJEdXJhdGlvbikpIHtcbiAgICAgICAg
ICBzZXRUaW1lb3V0KGNiLCBleHBsaWNpdEVudGVyRHVyYXRpb24pO1xuICAgICAgICB9IGVsc2Ug
e1xuICAgICAgICAgIHdoZW5UcmFuc2l0aW9uRW5kcyhlbCwgdHlwZSwgY2IpO1xuICAgICAgICB9
XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBpZiAodm5vZGUuZGF0YS5zaG93KSB7XG4gICAg
dG9nZ2xlRGlzcGxheSAmJiB0b2dnbGVEaXNwbGF5KCk7XG4gICAgZW50ZXJIb29rICYmIGVudGVy
SG9vayhlbCwgY2IpO1xuICB9XG5cbiAgaWYgKCFleHBlY3RzQ1NTICYmICF1c2VyV2FudHNDb250
cm9sKSB7XG4gICAgY2IoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBsZWF2ZSAodm5vZGUsIHJtKSB7
XG4gIHZhciBlbCA9IHZub2RlLmVsbTtcblxuICAvLyBjYWxsIGVudGVyIGNhbGxiYWNrIG5vd1xu
ICBpZiAoaXNEZWYoZWwuX2VudGVyQ2IpKSB7XG4gICAgZWwuX2VudGVyQ2IuY2FuY2VsbGVkID0g
dHJ1ZTtcbiAgICBlbC5fZW50ZXJDYigpO1xuICB9XG5cbiAgdmFyIGRhdGEgPSByZXNvbHZlVHJh
bnNpdGlvbih2bm9kZS5kYXRhLnRyYW5zaXRpb24pO1xuICBpZiAoaXNVbmRlZihkYXRhKSkge1xu
ICAgIHJldHVybiBybSgpXG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYg
KGlzRGVmKGVsLl9sZWF2ZUNiKSB8fCBlbC5ub2RlVHlwZSAhPT0gMSkge1xuICAgIHJldHVyblxu
ICB9XG5cbiAgdmFyIGNzcyA9IGRhdGEuY3NzO1xuICB2YXIgdHlwZSA9IGRhdGEudHlwZTtcbiAg
dmFyIGxlYXZlQ2xhc3MgPSBkYXRhLmxlYXZlQ2xhc3M7XG4gIHZhciBsZWF2ZVRvQ2xhc3MgPSBk
YXRhLmxlYXZlVG9DbGFzcztcbiAgdmFyIGxlYXZlQWN0aXZlQ2xhc3MgPSBkYXRhLmxlYXZlQWN0
aXZlQ2xhc3M7XG4gIHZhciBiZWZvcmVMZWF2ZSA9IGRhdGEuYmVmb3JlTGVhdmU7XG4gIHZhciBs
ZWF2ZSA9IGRhdGEubGVhdmU7XG4gIHZhciBhZnRlckxlYXZlID0gZGF0YS5hZnRlckxlYXZlO1xu
ICB2YXIgbGVhdmVDYW5jZWxsZWQgPSBkYXRhLmxlYXZlQ2FuY2VsbGVkO1xuICB2YXIgZGVsYXlM
ZWF2ZSA9IGRhdGEuZGVsYXlMZWF2ZTtcbiAgdmFyIGR1cmF0aW9uID0gZGF0YS5kdXJhdGlvbjtc
blxuICB2YXIgZXhwZWN0c0NTUyA9IGNzcyAhPT0gZmFsc2UgJiYgIWlzSUU5O1xuICB2YXIgdXNl
cldhbnRzQ29udHJvbCA9IGdldEhvb2tBcmd1bWVudHNMZW5ndGgobGVhdmUpO1xuXG4gIHZhciBl
eHBsaWNpdExlYXZlRHVyYXRpb24gPSB0b051bWJlcihcbiAgICBpc09iamVjdChkdXJhdGlvbilc
biAgICAgID8gZHVyYXRpb24ubGVhdmVcbiAgICAgIDogZHVyYXRpb25cbiAgKTtcblxuICBpZiAo
ZmFsc2UpIHtcbiAgICBjaGVja0R1cmF0aW9uKGV4cGxpY2l0TGVhdmVEdXJhdGlvbiwgJ2xlYXZl
Jywgdm5vZGUpO1xuICB9XG5cbiAgdmFyIGNiID0gZWwuX2xlYXZlQ2IgPSBvbmNlKGZ1bmN0aW9u
ICgpIHtcbiAgICBpZiAoZWwucGFyZW50Tm9kZSAmJiBlbC5wYXJlbnROb2RlLl9wZW5kaW5nKSB7
XG4gICAgICBlbC5wYXJlbnROb2RlLl9wZW5kaW5nW3Zub2RlLmtleV0gPSBudWxsO1xuICAgIH1c
biAgICBpZiAoZXhwZWN0c0NTUykge1xuICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBs
ZWF2ZVRvQ2xhc3MpO1xuICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBsZWF2ZUFjdGl2
ZUNsYXNzKTtcbiAgICB9XG4gICAgaWYgKGNiLmNhbmNlbGxlZCkge1xuICAgICAgaWYgKGV4cGVj
dHNDU1MpIHtcbiAgICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBsZWF2ZUNsYXNzKTtc
biAgICAgIH1cbiAgICAgIGxlYXZlQ2FuY2VsbGVkICYmIGxlYXZlQ2FuY2VsbGVkKGVsKTtcbiAg
ICB9IGVsc2Uge1xuICAgICAgcm0oKTtcbiAgICAgIGFmdGVyTGVhdmUgJiYgYWZ0ZXJMZWF2ZShl
bCk7XG4gICAgfVxuICAgIGVsLl9sZWF2ZUNiID0gbnVsbDtcbiAgfSk7XG5cbiAgaWYgKGRlbGF5
TGVhdmUpIHtcbiAgICBkZWxheUxlYXZlKHBlcmZvcm1MZWF2ZSk7XG4gIH0gZWxzZSB7XG4gICAg
cGVyZm9ybUxlYXZlKCk7XG4gIH1cblxuICBmdW5jdGlvbiBwZXJmb3JtTGVhdmUgKCkge1xuICAg
IC8vIHRoZSBkZWxheWVkIGxlYXZlIG1heSBoYXZlIGFscmVhZHkgYmVlbiBjYW5jZWxsZWRcbiAg
ICBpZiAoY2IuY2FuY2VsbGVkKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgLy8gcmVjb3Jk
IGxlYXZpbmcgZWxlbWVudFxuICAgIGlmICghdm5vZGUuZGF0YS5zaG93KSB7XG4gICAgICAoZWwu
cGFyZW50Tm9kZS5fcGVuZGluZyB8fCAoZWwucGFyZW50Tm9kZS5fcGVuZGluZyA9IHt9KSlbKHZu
b2RlLmtleSldID0gdm5vZGU7XG4gICAgfVxuICAgIGJlZm9yZUxlYXZlICYmIGJlZm9yZUxlYXZl
KGVsKTtcbiAgICBpZiAoZXhwZWN0c0NTUykge1xuICAgICAgYWRkVHJhbnNpdGlvbkNsYXNzKGVs
LCBsZWF2ZUNsYXNzKTtcbiAgICAgIGFkZFRyYW5zaXRpb25DbGFzcyhlbCwgbGVhdmVBY3RpdmVD
bGFzcyk7XG4gICAgICBuZXh0RnJhbWUoZnVuY3Rpb24gKCkge1xuICAgICAgICBhZGRUcmFuc2l0
aW9uQ2xhc3MoZWwsIGxlYXZlVG9DbGFzcyk7XG4gICAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFz
cyhlbCwgbGVhdmVDbGFzcyk7XG4gICAgICAgIGlmICghY2IuY2FuY2VsbGVkICYmICF1c2VyV2Fu
dHNDb250cm9sKSB7XG4gICAgICAgICAgaWYgKGlzVmFsaWREdXJhdGlvbihleHBsaWNpdExlYXZl
RHVyYXRpb24pKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGNiLCBleHBsaWNpdExlYXZlRHVy
YXRpb24pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB3aGVuVHJhbnNpdGlvbkVu
ZHMoZWwsIHR5cGUsIGNiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAg
IH1cbiAgICBsZWF2ZSAmJiBsZWF2ZShlbCwgY2IpO1xuICAgIGlmICghZXhwZWN0c0NTUyAmJiAh
dXNlcldhbnRzQ29udHJvbCkge1xuICAgICAgY2IoKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gb25s
eSB1c2VkIGluIGRldiBtb2RlXG5mdW5jdGlvbiBjaGVja0R1cmF0aW9uICh2YWwsIG5hbWUsIHZu
b2RlKSB7XG4gIGlmICh0eXBlb2YgdmFsICE9PSAnbnVtYmVyJykge1xuICAgIHdhcm4oXG4gICAg
ICBcIjx0cmFuc2l0aW9uPiBleHBsaWNpdCBcIiArIG5hbWUgKyBcIiBkdXJhdGlvbiBpcyBub3Qg
YSB2YWxpZCBudW1iZXIgLSBcIiArXG4gICAgICBcImdvdCBcIiArIChKU09OLnN0cmluZ2lmeSh2
YWwpKSArIFwiLlwiLFxuICAgICAgdm5vZGUuY29udGV4dFxuICAgICk7XG4gIH0gZWxzZSBpZiAo
aXNOYU4odmFsKSkge1xuICAgIHdhcm4oXG4gICAgICBcIjx0cmFuc2l0aW9uPiBleHBsaWNpdCBc
IiArIG5hbWUgKyBcIiBkdXJhdGlvbiBpcyBOYU4gLSBcIiArXG4gICAgICAndGhlIGR1cmF0aW9u
IGV4cHJlc3Npb24gbWlnaHQgYmUgaW5jb3JyZWN0LicsXG4gICAgICB2bm9kZS5jb250ZXh0XG4g
ICAgKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc1ZhbGlkRHVyYXRpb24gKHZhbCkge1xuICByZXR1
cm4gdHlwZW9mIHZhbCA9PT0gJ251bWJlcicgJiYgIWlzTmFOKHZhbClcbn1cblxuLyoqXG4gKiBO
b3JtYWxpemUgYSB0cmFuc2l0aW9uIGhvb2sncyBhcmd1bWVudCBsZW5ndGguIFRoZSBob29rIG1h
eSBiZTpcbiAqIC0gYSBtZXJnZWQgaG9vayAoaW52b2tlcikgd2l0aCB0aGUgb3JpZ2luYWwgaW4g
LmZuc1xuICogLSBhIHdyYXBwZWQgY29tcG9uZW50IG1ldGhvZCAoY2hlY2sgLl9sZW5ndGgpXG4g
KiAtIGEgcGxhaW4gZnVuY3Rpb24gKC5sZW5ndGgpXG4gKi9cbmZ1bmN0aW9uIGdldEhvb2tBcmd1
bWVudHNMZW5ndGggKGZuKSB7XG4gIGlmIChpc1VuZGVmKGZuKSkge1xuICAgIHJldHVybiBmYWxz
ZVxuICB9XG4gIHZhciBpbnZva2VyRm5zID0gZm4uZm5zO1xuICBpZiAoaXNEZWYoaW52b2tlckZu
cykpIHtcbiAgICAvLyBpbnZva2VyXG4gICAgcmV0dXJuIGdldEhvb2tBcmd1bWVudHNMZW5ndGgo
XG4gICAgICBBcnJheS5pc0FycmF5KGludm9rZXJGbnMpXG4gICAgICAgID8gaW52b2tlckZuc1sw
XVxuICAgICAgICA6IGludm9rZXJGbnNcbiAgICApXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIChm
bi5fbGVuZ3RoIHx8IGZuLmxlbmd0aCkgPiAxXG4gIH1cbn1cblxuZnVuY3Rpb24gX2VudGVyIChf
LCB2bm9kZSkge1xuICBpZiAodm5vZGUuZGF0YS5zaG93ICE9PSB0cnVlKSB7XG4gICAgZW50ZXIo
dm5vZGUpO1xuICB9XG59XG5cbnZhciB0cmFuc2l0aW9uID0gaW5Ccm93c2VyID8ge1xuICBjcmVh
dGU6IF9lbnRlcixcbiAgYWN0aXZhdGU6IF9lbnRlcixcbiAgcmVtb3ZlOiBmdW5jdGlvbiByZW1v
dmUkJDEgKHZub2RlLCBybSkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAg
aWYgKHZub2RlLmRhdGEuc2hvdyAhPT0gdHJ1ZSkge1xuICAgICAgbGVhdmUodm5vZGUsIHJtKTtc
biAgICB9IGVsc2Uge1xuICAgICAgcm0oKTtcbiAgICB9XG4gIH1cbn0gOiB7fTtcblxudmFyIHBs
YXRmb3JtTW9kdWxlcyA9IFtcbiAgYXR0cnMsXG4gIGtsYXNzLFxuICBldmVudHMsXG4gIGRvbVBy
b3BzLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvblxuXTtcblxuLyogICovXG5cbi8vIHRoZSBkaXJl
Y3RpdmUgbW9kdWxlIHNob3VsZCBiZSBhcHBsaWVkIGxhc3QsIGFmdGVyIGFsbFxuLy8gYnVpbHQt
aW4gbW9kdWxlcyBoYXZlIGJlZW4gYXBwbGllZC5cbnZhciBtb2R1bGVzID0gcGxhdGZvcm1Nb2R1
bGVzLmNvbmNhdChiYXNlTW9kdWxlcyk7XG5cbnZhciBwYXRjaCA9IGNyZWF0ZVBhdGNoRnVuY3Rp
b24oeyBub2RlT3BzOiBub2RlT3BzLCBtb2R1bGVzOiBtb2R1bGVzIH0pO1xuXG4vKipcbiAqIE5v
dCB0eXBlIGNoZWNraW5nIHRoaXMgZmlsZSBiZWNhdXNlIGZsb3cgZG9lc24ndCBsaWtlIGF0dGFj
aGluZ1xuICogcHJvcGVydGllcyB0byBFbGVtZW50cy5cbiAqL1xuXG52YXIgaXNUZXh0SW5wdXRU
eXBlID0gbWFrZU1hcCgndGV4dCxudW1iZXIscGFzc3dvcmQsc2VhcmNoLGVtYWlsLHRlbCx1cmwn
KTtcblxuLyogaXN0YW5idWwgaWdub3JlIGlmICovXG5pZiAoaXNJRTkpIHtcbiAgLy8gaHR0cDov
L3d3dy5tYXR0czQxMS5jb20vcG9zdC9pbnRlcm5ldC1leHBsb3Jlci05LW9uaW5wdXQvXG4gIGRv
Y3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3NlbGVjdGlvbmNoYW5nZScsIGZ1bmN0aW9uICgpIHtc
biAgICB2YXIgZWwgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgIGlmIChlbCAmJiBlbC52
bW9kZWwpIHtcbiAgICAgIHRyaWdnZXIoZWwsICdpbnB1dCcpO1xuICAgIH1cbiAgfSk7XG59XG5c
bnZhciBtb2RlbCQxID0ge1xuICBpbnNlcnRlZDogZnVuY3Rpb24gaW5zZXJ0ZWQgKGVsLCBiaW5k
aW5nLCB2bm9kZSkge1xuICAgIGlmICh2bm9kZS50YWcgPT09ICdzZWxlY3QnKSB7XG4gICAgICB2
YXIgY2IgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHNldFNlbGVjdGVkKGVsLCBiaW5kaW5nLCB2
bm9kZS5jb250ZXh0KTtcbiAgICAgIH07XG4gICAgICBjYigpO1xuICAgICAgLyogaXN0YW5idWwg
aWdub3JlIGlmICovXG4gICAgICBpZiAoaXNJRSB8fCBpc0VkZ2UpIHtcbiAgICAgICAgc2V0VGlt
ZW91dChjYiwgMCk7XG4gICAgICB9XG4gICAgICBlbC5fdk9wdGlvbnMgPSBbXS5tYXAuY2FsbChl
bC5vcHRpb25zLCBnZXRWYWx1ZSk7XG4gICAgfSBlbHNlIGlmICh2bm9kZS50YWcgPT09ICd0ZXh0
YXJlYScgfHwgaXNUZXh0SW5wdXRUeXBlKGVsLnR5cGUpKSB7XG4gICAgICBlbC5fdk1vZGlmaWVy
cyA9IGJpbmRpbmcubW9kaWZpZXJzO1xuICAgICAgaWYgKCFiaW5kaW5nLm1vZGlmaWVycy5sYXp5
KSB7XG4gICAgICAgIC8vIFNhZmFyaSA8IDEwLjIgJiBVSVdlYlZpZXcgZG9lc24ndCBmaXJlIGNv
bXBvc2l0aW9uZW5kIHdoZW5cbiAgICAgICAgLy8gc3dpdGNoaW5nIGZvY3VzIGJlZm9yZSBjb25m
aXJtaW5nIGNvbXBvc2l0aW9uIGNob2ljZVxuICAgICAgICAvLyB0aGlzIGFsc28gZml4ZXMgdGhl
IGlzc3VlIHdoZXJlIHNvbWUgYnJvd3NlcnMgZS5nLiBpT1MgQ2hyb21lXG4gICAgICAgIC8vIGZp
cmVzIFwiY2hhbmdlXCIgaW5zdGVhZCBvZiBcImlucHV0XCIgb24gYXV0b2NvbXBsZXRlLlxuICAg
ICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBvbkNvbXBvc2l0aW9uRW5kKTtcbiAg
ICAgICAgaWYgKCFpc0FuZHJvaWQpIHtcbiAgICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdj
b21wb3NpdGlvbnN0YXJ0Jywgb25Db21wb3NpdGlvblN0YXJ0KTtcbiAgICAgICAgICBlbC5hZGRF
dmVudExpc3RlbmVyKCdjb21wb3NpdGlvbmVuZCcsIG9uQ29tcG9zaXRpb25FbmQpO1xuICAgICAg
ICB9XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICBpZiAoaXNJRTkp
IHtcbiAgICAgICAgICBlbC52bW9kZWwgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAg
fVxuICB9LFxuICBjb21wb25lbnRVcGRhdGVkOiBmdW5jdGlvbiBjb21wb25lbnRVcGRhdGVkIChl
bCwgYmluZGluZywgdm5vZGUpIHtcbiAgICBpZiAodm5vZGUudGFnID09PSAnc2VsZWN0Jykge1xu
ICAgICAgc2V0U2VsZWN0ZWQoZWwsIGJpbmRpbmcsIHZub2RlLmNvbnRleHQpO1xuICAgICAgLy8g
aW4gY2FzZSB0aGUgb3B0aW9ucyByZW5kZXJlZCBieSB2LWZvciBoYXZlIGNoYW5nZWQsXG4gICAg
ICAvLyBpdCdzIHBvc3NpYmxlIHRoYXQgdGhlIHZhbHVlIGlzIG91dC1vZi1zeW5jIHdpdGggdGhl
IHJlbmRlcmVkIG9wdGlvbnMuXG4gICAgICAvLyBkZXRlY3Qgc3VjaCBjYXNlcyBhbmQgZmlsdGVy
IG91dCB2YWx1ZXMgdGhhdCBubyBsb25nZXIgaGFzIGEgbWF0Y2hpbmdcbiAgICAgIC8vIG9wdGlv
biBpbiB0aGUgRE9NLlxuICAgICAgdmFyIHByZXZPcHRpb25zID0gZWwuX3ZPcHRpb25zO1xuICAg
ICAgdmFyIGN1ck9wdGlvbnMgPSBlbC5fdk9wdGlvbnMgPSBbXS5tYXAuY2FsbChlbC5vcHRpb25z
LCBnZXRWYWx1ZSk7XG4gICAgICBpZiAoY3VyT3B0aW9ucy5zb21lKGZ1bmN0aW9uIChvLCBpKSB7
IHJldHVybiAhbG9vc2VFcXVhbChvLCBwcmV2T3B0aW9uc1tpXSk7IH0pKSB7XG4gICAgICAgIHRy
aWdnZXIoZWwsICdjaGFuZ2UnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbmZ1bmN0aW9u
IHNldFNlbGVjdGVkIChlbCwgYmluZGluZywgdm0pIHtcbiAgdmFyIHZhbHVlID0gYmluZGluZy52
YWx1ZTtcbiAgdmFyIGlzTXVsdGlwbGUgPSBlbC5tdWx0aXBsZTtcbiAgaWYgKGlzTXVsdGlwbGUg
JiYgIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgXCJwcm9kdWN0aW9uXCIgIT09ICdwcm9k
dWN0aW9uJyAmJiB3YXJuKFxuICAgICAgXCI8c2VsZWN0IG11bHRpcGxlIHYtbW9kZWw9XFxcIlwi
ICsgKGJpbmRpbmcuZXhwcmVzc2lvbikgKyBcIlxcXCI+IFwiICtcbiAgICAgIFwiZXhwZWN0cyBh
biBBcnJheSB2YWx1ZSBmb3IgaXRzIGJpbmRpbmcsIGJ1dCBnb3QgXCIgKyAoT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKS5zbGljZSg4LCAtMSkpLFxuICAgICAgdm1cbiAgICAp
O1xuICAgIHJldHVyblxuICB9XG4gIHZhciBzZWxlY3RlZCwgb3B0aW9uO1xuICBmb3IgKHZhciBp
ID0gMCwgbCA9IGVsLm9wdGlvbnMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgb3B0aW9uID0g
ZWwub3B0aW9uc1tpXTtcbiAgICBpZiAoaXNNdWx0aXBsZSkge1xuICAgICAgc2VsZWN0ZWQgPSBs
b29zZUluZGV4T2YodmFsdWUsIGdldFZhbHVlKG9wdGlvbikpID4gLTE7XG4gICAgICBpZiAob3B0
aW9uLnNlbGVjdGVkICE9PSBzZWxlY3RlZCkge1xuICAgICAgICBvcHRpb24uc2VsZWN0ZWQgPSBz
ZWxlY3RlZDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGxvb3NlRXF1YWwoZ2V0
VmFsdWUob3B0aW9uKSwgdmFsdWUpKSB7XG4gICAgICAgIGlmIChlbC5zZWxlY3RlZEluZGV4ICE9
PSBpKSB7XG4gICAgICAgICAgZWwuc2VsZWN0ZWRJbmRleCA9IGk7XG4gICAgICAgIH1cbiAgICAg
ICAgcmV0dXJuXG4gICAgICB9XG4gICAgfVxuICB9XG4gIGlmICghaXNNdWx0aXBsZSkge1xuICAg
IGVsLnNlbGVjdGVkSW5kZXggPSAtMTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRWYWx1ZSAob3B0
aW9uKSB7XG4gIHJldHVybiAnX3ZhbHVlJyBpbiBvcHRpb25cbiAgICA/IG9wdGlvbi5fdmFsdWVc
biAgICA6IG9wdGlvbi52YWx1ZVxufVxuXG5mdW5jdGlvbiBvbkNvbXBvc2l0aW9uU3RhcnQgKGUp
IHtcbiAgZS50YXJnZXQuY29tcG9zaW5nID0gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gb25Db21wb3Np
dGlvbkVuZCAoZSkge1xuICAvLyBwcmV2ZW50IHRyaWdnZXJpbmcgYW4gaW5wdXQgZXZlbnQgZm9y
IG5vIHJlYXNvblxuICBpZiAoIWUudGFyZ2V0LmNvbXBvc2luZykgeyByZXR1cm4gfVxuICBlLnRh
cmdldC5jb21wb3NpbmcgPSBmYWxzZTtcbiAgdHJpZ2dlcihlLnRhcmdldCwgJ2lucHV0Jyk7XG59
XG5cbmZ1bmN0aW9uIHRyaWdnZXIgKGVsLCB0eXBlKSB7XG4gIHZhciBlID0gZG9jdW1lbnQuY3Jl
YXRlRXZlbnQoJ0hUTUxFdmVudHMnKTtcbiAgZS5pbml0RXZlbnQodHlwZSwgdHJ1ZSwgdHJ1ZSk7
XG4gIGVsLmRpc3BhdGNoRXZlbnQoZSk7XG59XG5cbi8qICAqL1xuXG4vLyByZWN1cnNpdmVseSBz
ZWFyY2ggZm9yIHBvc3NpYmxlIHRyYW5zaXRpb24gZGVmaW5lZCBpbnNpZGUgdGhlIGNvbXBvbmVu
dCByb290XG5mdW5jdGlvbiBsb2NhdGVOb2RlICh2bm9kZSkge1xuICByZXR1cm4gdm5vZGUuY29t
cG9uZW50SW5zdGFuY2UgJiYgKCF2bm9kZS5kYXRhIHx8ICF2bm9kZS5kYXRhLnRyYW5zaXRpb24p
XG4gICAgPyBsb2NhdGVOb2RlKHZub2RlLmNvbXBvbmVudEluc3RhbmNlLl92bm9kZSlcbiAgICA6
IHZub2RlXG59XG5cbnZhciBzaG93ID0ge1xuICBiaW5kOiBmdW5jdGlvbiBiaW5kIChlbCwgcmVm
LCB2bm9kZSkge1xuICAgIHZhciB2YWx1ZSA9IHJlZi52YWx1ZTtcblxuICAgIHZub2RlID0gbG9j
YXRlTm9kZSh2bm9kZSk7XG4gICAgdmFyIHRyYW5zaXRpb24kJDEgPSB2bm9kZS5kYXRhICYmIHZu
b2RlLmRhdGEudHJhbnNpdGlvbjtcbiAgICB2YXIgb3JpZ2luYWxEaXNwbGF5ID0gZWwuX192T3Jp
Z2luYWxEaXNwbGF5ID1cbiAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPT09ICdub25lJyA/ICcnIDog
ZWwuc3R5bGUuZGlzcGxheTtcbiAgICBpZiAodmFsdWUgJiYgdHJhbnNpdGlvbiQkMSkge1xuICAg
ICAgdm5vZGUuZGF0YS5zaG93ID0gdHJ1ZTtcbiAgICAgIGVudGVyKHZub2RlLCBmdW5jdGlvbiAo
KSB7XG4gICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSBvcmlnaW5hbERpc3BsYXk7XG4gICAgICB9
KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZWwuc3R5bGUuZGlzcGxheSA9IHZhbHVlID8gb3JpZ2lu
YWxEaXNwbGF5IDogJ25vbmUnO1xuICAgIH1cbiAgfSxcblxuICB1cGRhdGU6IGZ1bmN0aW9uIHVw
ZGF0ZSAoZWwsIHJlZiwgdm5vZGUpIHtcbiAgICB2YXIgdmFsdWUgPSByZWYudmFsdWU7XG4gICAg
dmFyIG9sZFZhbHVlID0gcmVmLm9sZFZhbHVlO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlm
ICovXG4gICAgaWYgKHZhbHVlID09PSBvbGRWYWx1ZSkgeyByZXR1cm4gfVxuICAgIHZub2RlID0g
bG9jYXRlTm9kZSh2bm9kZSk7XG4gICAgdmFyIHRyYW5zaXRpb24kJDEgPSB2bm9kZS5kYXRhICYm
IHZub2RlLmRhdGEudHJhbnNpdGlvbjtcbiAgICBpZiAodHJhbnNpdGlvbiQkMSkge1xuICAgICAg
dm5vZGUuZGF0YS5zaG93ID0gdHJ1ZTtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICBlbnRl
cih2bm9kZSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSBlbC5f
X3ZPcmlnaW5hbERpc3BsYXk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAg
bGVhdmUodm5vZGUsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBlbC5zdHlsZS5kaXNwbGF5ID0g
J25vbmUnO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZWwuc3R5
bGUuZGlzcGxheSA9IHZhbHVlID8gZWwuX192T3JpZ2luYWxEaXNwbGF5IDogJ25vbmUnO1xuICAg
IH1cbiAgfSxcblxuICB1bmJpbmQ6IGZ1bmN0aW9uIHVuYmluZCAoXG4gICAgZWwsXG4gICAgYmlu
ZGluZyxcbiAgICB2bm9kZSxcbiAgICBvbGRWbm9kZSxcbiAgICBpc0Rlc3Ryb3lcbiAgKSB7XG4g
ICAgaWYgKCFpc0Rlc3Ryb3kpIHtcbiAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSBlbC5fX3ZPcmln
aW5hbERpc3BsYXk7XG4gICAgfVxuICB9XG59O1xuXG52YXIgcGxhdGZvcm1EaXJlY3RpdmVzID0g
e1xuICBtb2RlbDogbW9kZWwkMSxcbiAgc2hvdzogc2hvd1xufTtcblxuLyogICovXG5cbi8vIFBy
b3ZpZGVzIHRyYW5zaXRpb24gc3VwcG9ydCBmb3IgYSBzaW5nbGUgZWxlbWVudC9jb21wb25lbnQu
XG4vLyBzdXBwb3J0cyB0cmFuc2l0aW9uIG1vZGUgKG91dC1pbiAvIGluLW91dClcblxudmFyIHRy
YW5zaXRpb25Qcm9wcyA9IHtcbiAgbmFtZTogU3RyaW5nLFxuICBhcHBlYXI6IEJvb2xlYW4sXG4g
IGNzczogQm9vbGVhbixcbiAgbW9kZTogU3RyaW5nLFxuICB0eXBlOiBTdHJpbmcsXG4gIGVudGVy
Q2xhc3M6IFN0cmluZyxcbiAgbGVhdmVDbGFzczogU3RyaW5nLFxuICBlbnRlclRvQ2xhc3M6IFN0
cmluZyxcbiAgbGVhdmVUb0NsYXNzOiBTdHJpbmcsXG4gIGVudGVyQWN0aXZlQ2xhc3M6IFN0cmlu
ZyxcbiAgbGVhdmVBY3RpdmVDbGFzczogU3RyaW5nLFxuICBhcHBlYXJDbGFzczogU3RyaW5nLFxu
ICBhcHBlYXJBY3RpdmVDbGFzczogU3RyaW5nLFxuICBhcHBlYXJUb0NsYXNzOiBTdHJpbmcsXG4g
IGR1cmF0aW9uOiBbTnVtYmVyLCBTdHJpbmcsIE9iamVjdF1cbn07XG5cbi8vIGluIGNhc2UgdGhl
IGNoaWxkIGlzIGFsc28gYW4gYWJzdHJhY3QgY29tcG9uZW50LCBlLmcuIDxrZWVwLWFsaXZlPlxu
Ly8gd2Ugd2FudCB0byByZWN1cnNpdmVseSByZXRyaWV2ZSB0aGUgcmVhbCBjb21wb25lbnQgdG8g
YmUgcmVuZGVyZWRcbmZ1bmN0aW9uIGdldFJlYWxDaGlsZCAodm5vZGUpIHtcbiAgdmFyIGNvbXBP
cHRpb25zID0gdm5vZGUgJiYgdm5vZGUuY29tcG9uZW50T3B0aW9ucztcbiAgaWYgKGNvbXBPcHRp
b25zICYmIGNvbXBPcHRpb25zLkN0b3Iub3B0aW9ucy5hYnN0cmFjdCkge1xuICAgIHJldHVybiBn
ZXRSZWFsQ2hpbGQoZ2V0Rmlyc3RDb21wb25lbnRDaGlsZChjb21wT3B0aW9ucy5jaGlsZHJlbikp
XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHZub2RlXG4gIH1cbn1cblxuZnVuY3Rpb24gZXh0cmFj
dFRyYW5zaXRpb25EYXRhIChjb21wKSB7XG4gIHZhciBkYXRhID0ge307XG4gIHZhciBvcHRpb25z
ID0gY29tcC4kb3B0aW9ucztcbiAgLy8gcHJvcHNcbiAgZm9yICh2YXIga2V5IGluIG9wdGlvbnMu
cHJvcHNEYXRhKSB7XG4gICAgZGF0YVtrZXldID0gY29tcFtrZXldO1xuICB9XG4gIC8vIGV2ZW50
cy5cbiAgLy8gZXh0cmFjdCBsaXN0ZW5lcnMgYW5kIHBhc3MgdGhlbSBkaXJlY3RseSB0byB0aGUg
dHJhbnNpdGlvbiBtZXRob2RzXG4gIHZhciBsaXN0ZW5lcnMgPSBvcHRpb25zLl9wYXJlbnRMaXN0
ZW5lcnM7XG4gIGZvciAodmFyIGtleSQxIGluIGxpc3RlbmVycykge1xuICAgIGRhdGFbY2FtZWxp
emUoa2V5JDEpXSA9IGxpc3RlbmVyc1trZXkkMV07XG4gIH1cbiAgcmV0dXJuIGRhdGFcbn1cblxu
ZnVuY3Rpb24gcGxhY2Vob2xkZXIgKGgsIHJhd0NoaWxkKSB7XG4gIGlmICgvXFxkLWtlZXAtYWxp
dmUkLy50ZXN0KHJhd0NoaWxkLnRhZykpIHtcbiAgICByZXR1cm4gaCgna2VlcC1hbGl2ZScsIHtc
biAgICAgIHByb3BzOiByYXdDaGlsZC5jb21wb25lbnRPcHRpb25zLnByb3BzRGF0YVxuICAgIH0p
XG4gIH1cbn1cblxuZnVuY3Rpb24gaGFzUGFyZW50VHJhbnNpdGlvbiAodm5vZGUpIHtcbiAgd2hp
bGUgKCh2bm9kZSA9IHZub2RlLnBhcmVudCkpIHtcbiAgICBpZiAodm5vZGUuZGF0YS50cmFuc2l0
aW9uKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpc1Nh
bWVDaGlsZCAoY2hpbGQsIG9sZENoaWxkKSB7XG4gIHJldHVybiBvbGRDaGlsZC5rZXkgPT09IGNo
aWxkLmtleSAmJiBvbGRDaGlsZC50YWcgPT09IGNoaWxkLnRhZ1xufVxuXG5mdW5jdGlvbiBpc0Fz
eW5jUGxhY2Vob2xkZXIgKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUuaXNDb21tZW50ICYmIG5vZGUu
YXN5bmNGYWN0b3J5XG59XG5cbnZhciBUcmFuc2l0aW9uID0ge1xuICBuYW1lOiAndHJhbnNpdGlv
bicsXG4gIHByb3BzOiB0cmFuc2l0aW9uUHJvcHMsXG4gIGFic3RyYWN0OiB0cnVlLFxuXG4gIHJl
bmRlcjogZnVuY3Rpb24gcmVuZGVyIChoKSB7XG4gICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAg
ICB2YXIgY2hpbGRyZW4gPSB0aGlzLiRvcHRpb25zLl9yZW5kZXJDaGlsZHJlbjtcbiAgICBpZiAo
IWNoaWxkcmVuKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyBmaWx0ZXIgb3V0IHRl
eHQgbm9kZXMgKHBvc3NpYmxlIHdoaXRlc3BhY2VzKVxuICAgIGNoaWxkcmVuID0gY2hpbGRyZW4u
ZmlsdGVyKGZ1bmN0aW9uIChjKSB7IHJldHVybiBjLnRhZyB8fCBpc0FzeW5jUGxhY2Vob2xkZXIo
Yyk7IH0pO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghY2hpbGRyZW4u
bGVuZ3RoKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyB3YXJuIG11bHRpcGxlIGVs
ZW1lbnRzXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICB3YXJuKFxuICAgICAgICAnPHRyYW5zaXRp
b24+IGNhbiBvbmx5IGJlIHVzZWQgb24gYSBzaW5nbGUgZWxlbWVudC4gVXNlICcgK1xuICAgICAg
ICAnPHRyYW5zaXRpb24tZ3JvdXA+IGZvciBsaXN0cy4nLFxuICAgICAgICB0aGlzLiRwYXJlbnRc
biAgICAgICk7XG4gICAgfVxuXG4gICAgdmFyIG1vZGUgPSB0aGlzLm1vZGU7XG5cbiAgICAvLyB3
YXJuIGludmFsaWQgbW9kZVxuICAgIGlmIChmYWxzZVxuICAgICkge1xuICAgICAgd2FybihcbiAg
ICAgICAgJ2ludmFsaWQgPHRyYW5zaXRpb24+IG1vZGU6ICcgKyBtb2RlLFxuICAgICAgICB0aGlz
LiRwYXJlbnRcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdmFyIHJhd0NoaWxkID0gY2hpbGRyZW5b
MF07XG5cbiAgICAvLyBpZiB0aGlzIGlzIGEgY29tcG9uZW50IHJvb3Qgbm9kZSBhbmQgdGhlIGNv
bXBvbmVudCdzXG4gICAgLy8gcGFyZW50IGNvbnRhaW5lciBub2RlIGFsc28gaGFzIHRyYW5zaXRp
b24sIHNraXAuXG4gICAgaWYgKGhhc1BhcmVudFRyYW5zaXRpb24odGhpcy4kdm5vZGUpKSB7XG4g
ICAgICByZXR1cm4gcmF3Q2hpbGRcbiAgICB9XG5cbiAgICAvLyBhcHBseSB0cmFuc2l0aW9uIGRh
dGEgdG8gY2hpbGRcbiAgICAvLyB1c2UgZ2V0UmVhbENoaWxkKCkgdG8gaWdub3JlIGFic3RyYWN0
IGNvbXBvbmVudHMgZS5nLiBrZWVwLWFsaXZlXG4gICAgdmFyIGNoaWxkID0gZ2V0UmVhbENoaWxk
KHJhd0NoaWxkKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIWNoaWxk
KSB7XG4gICAgICByZXR1cm4gcmF3Q2hpbGRcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fbGVhdmlu
Zykge1xuICAgICAgcmV0dXJuIHBsYWNlaG9sZGVyKGgsIHJhd0NoaWxkKVxuICAgIH1cblxuICAg
IC8vIGVuc3VyZSBhIGtleSB0aGF0IGlzIHVuaXF1ZSB0byB0aGUgdm5vZGUgdHlwZSBhbmQgdG8g
dGhpcyB0cmFuc2l0aW9uXG4gICAgLy8gY29tcG9uZW50IGluc3RhbmNlLiBUaGlzIGtleSB3aWxs
IGJlIHVzZWQgdG8gcmVtb3ZlIHBlbmRpbmcgbGVhdmluZyBub2Rlc1xuICAgIC8vIGR1cmluZyBl
bnRlcmluZy5cbiAgICB2YXIgaWQgPSBcIl9fdHJhbnNpdGlvbi1cIiArICh0aGlzLl91aWQpICsg
XCItXCI7XG4gICAgY2hpbGQua2V5ID0gY2hpbGQua2V5ID09IG51bGxcbiAgICAgID8gY2hpbGQu
aXNDb21tZW50XG4gICAgICAgID8gaWQgKyAnY29tbWVudCdcbiAgICAgICAgOiBpZCArIGNoaWxk
LnRhZ1xuICAgICAgOiBpc1ByaW1pdGl2ZShjaGlsZC5rZXkpXG4gICAgICAgID8gKFN0cmluZyhj
aGlsZC5rZXkpLmluZGV4T2YoaWQpID09PSAwID8gY2hpbGQua2V5IDogaWQgKyBjaGlsZC5rZXkp
XG4gICAgICAgIDogY2hpbGQua2V5O1xuXG4gICAgdmFyIGRhdGEgPSAoY2hpbGQuZGF0YSB8fCAo
Y2hpbGQuZGF0YSA9IHt9KSkudHJhbnNpdGlvbiA9IGV4dHJhY3RUcmFuc2l0aW9uRGF0YSh0aGlz
KTtcbiAgICB2YXIgb2xkUmF3Q2hpbGQgPSB0aGlzLl92bm9kZTtcbiAgICB2YXIgb2xkQ2hpbGQg
PSBnZXRSZWFsQ2hpbGQob2xkUmF3Q2hpbGQpO1xuXG4gICAgLy8gbWFyayB2LXNob3dcbiAgICAv
LyBzbyB0aGF0IHRoZSB0cmFuc2l0aW9uIG1vZHVsZSBjYW4gaGFuZCBvdmVyIHRoZSBjb250cm9s
IHRvIHRoZSBkaXJlY3RpdmVcbiAgICBpZiAoY2hpbGQuZGF0YS5kaXJlY3RpdmVzICYmIGNoaWxk
LmRhdGEuZGlyZWN0aXZlcy5zb21lKGZ1bmN0aW9uIChkKSB7IHJldHVybiBkLm5hbWUgPT09ICdz
aG93JzsgfSkpIHtcbiAgICAgIGNoaWxkLmRhdGEuc2hvdyA9IHRydWU7XG4gICAgfVxuXG4gICAg
aWYgKFxuICAgICAgb2xkQ2hpbGQgJiZcbiAgICAgIG9sZENoaWxkLmRhdGEgJiZcbiAgICAgICFp
c1NhbWVDaGlsZChjaGlsZCwgb2xkQ2hpbGQpICYmXG4gICAgICAhaXNBc3luY1BsYWNlaG9sZGVy
KG9sZENoaWxkKVxuICAgICkge1xuICAgICAgLy8gcmVwbGFjZSBvbGQgY2hpbGQgdHJhbnNpdGlv
biBkYXRhIHdpdGggZnJlc2ggb25lXG4gICAgICAvLyBpbXBvcnRhbnQgZm9yIGR5bmFtaWMgdHJh
bnNpdGlvbnMhXG4gICAgICB2YXIgb2xkRGF0YSA9IG9sZENoaWxkICYmIChvbGRDaGlsZC5kYXRh
LnRyYW5zaXRpb24gPSBleHRlbmQoe30sIGRhdGEpKTtcbiAgICAgIC8vIGhhbmRsZSB0cmFuc2l0
aW9uIG1vZGVcbiAgICAgIGlmIChtb2RlID09PSAnb3V0LWluJykge1xuICAgICAgICAvLyByZXR1
cm4gcGxhY2Vob2xkZXIgbm9kZSBhbmQgcXVldWUgdXBkYXRlIHdoZW4gbGVhdmUgZmluaXNoZXNc
biAgICAgICAgdGhpcy5fbGVhdmluZyA9IHRydWU7XG4gICAgICAgIG1lcmdlVk5vZGVIb29rKG9s
ZERhdGEsICdhZnRlckxlYXZlJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHRoaXMkMS5fbGVh
dmluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMkMS4kZm9yY2VVcGRhdGUoKTtcbiAgICAgICAg
fSk7XG4gICAgICAgIHJldHVybiBwbGFjZWhvbGRlcihoLCByYXdDaGlsZClcbiAgICAgIH0gZWxz
ZSBpZiAobW9kZSA9PT0gJ2luLW91dCcpIHtcbiAgICAgICAgaWYgKGlzQXN5bmNQbGFjZWhvbGRl
cihjaGlsZCkpIHtcbiAgICAgICAgICByZXR1cm4gb2xkUmF3Q2hpbGRcbiAgICAgICAgfVxuICAg
ICAgICB2YXIgZGVsYXllZExlYXZlO1xuICAgICAgICB2YXIgcGVyZm9ybUxlYXZlID0gZnVuY3Rp
b24gKCkgeyBkZWxheWVkTGVhdmUoKTsgfTtcbiAgICAgICAgbWVyZ2VWTm9kZUhvb2soZGF0YSwg
J2FmdGVyRW50ZXInLCBwZXJmb3JtTGVhdmUpO1xuICAgICAgICBtZXJnZVZOb2RlSG9vayhkYXRh
LCAnZW50ZXJDYW5jZWxsZWQnLCBwZXJmb3JtTGVhdmUpO1xuICAgICAgICBtZXJnZVZOb2RlSG9v
ayhvbGREYXRhLCAnZGVsYXlMZWF2ZScsIGZ1bmN0aW9uIChsZWF2ZSkgeyBkZWxheWVkTGVhdmUg
PSBsZWF2ZTsgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJhd0NoaWxkXG4gIH1c
bn07XG5cbi8qICAqL1xuXG4vLyBQcm92aWRlcyB0cmFuc2l0aW9uIHN1cHBvcnQgZm9yIGxpc3Qg
aXRlbXMuXG4vLyBzdXBwb3J0cyBtb3ZlIHRyYW5zaXRpb25zIHVzaW5nIHRoZSBGTElQIHRlY2hu
aXF1ZS5cblxuLy8gQmVjYXVzZSB0aGUgdmRvbSdzIGNoaWxkcmVuIHVwZGF0ZSBhbGdvcml0aG0g
aXMgXCJ1bnN0YWJsZVwiIC0gaS5lLlxuLy8gaXQgZG9lc24ndCBndWFyYW50ZWUgdGhlIHJlbGF0
aXZlIHBvc2l0aW9uaW5nIG9mIHJlbW92ZWQgZWxlbWVudHMsXG4vLyB3ZSBmb3JjZSB0cmFuc2l0
aW9uLWdyb3VwIHRvIHVwZGF0ZSBpdHMgY2hpbGRyZW4gaW50byB0d28gcGFzc2VzOlxuLy8gaW4g
dGhlIGZpcnN0IHBhc3MsIHdlIHJlbW92ZSBhbGwgbm9kZXMgdGhhdCBuZWVkIHRvIGJlIHJlbW92
ZWQsXG4vLyB0cmlnZ2VyaW5nIHRoZWlyIGxlYXZpbmcgdHJhbnNpdGlvbjsgaW4gdGhlIHNlY29u
ZCBwYXNzLCB3ZSBpbnNlcnQvbW92ZVxuLy8gaW50byB0aGUgZmluYWwgZGVzaXJlZCBzdGF0ZS4g
VGhpcyB3YXkgaW4gdGhlIHNlY29uZCBwYXNzIHJlbW92ZWRcbi8vIG5vZGVzIHdpbGwgcmVtYWlu
IHdoZXJlIHRoZXkgc2hvdWxkIGJlLlxuXG52YXIgcHJvcHMgPSBleHRlbmQoe1xuICB0YWc6IFN0
cmluZyxcbiAgbW92ZUNsYXNzOiBTdHJpbmdcbn0sIHRyYW5zaXRpb25Qcm9wcyk7XG5cbmRlbGV0
ZSBwcm9wcy5tb2RlO1xuXG52YXIgVHJhbnNpdGlvbkdyb3VwID0ge1xuICBwcm9wczogcHJvcHMs
XG5cbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIgKGgpIHtcbiAgICB2YXIgdGFnID0gdGhpcy50
YWcgfHwgdGhpcy4kdm5vZGUuZGF0YS50YWcgfHwgJ3NwYW4nO1xuICAgIHZhciBtYXAgPSBPYmpl
Y3QuY3JlYXRlKG51bGwpO1xuICAgIHZhciBwcmV2Q2hpbGRyZW4gPSB0aGlzLnByZXZDaGlsZHJl
biA9IHRoaXMuY2hpbGRyZW47XG4gICAgdmFyIHJhd0NoaWxkcmVuID0gdGhpcy4kc2xvdHMuZGVm
YXVsdCB8fCBbXTtcbiAgICB2YXIgY2hpbGRyZW4gPSB0aGlzLmNoaWxkcmVuID0gW107XG4gICAg
dmFyIHRyYW5zaXRpb25EYXRhID0gZXh0cmFjdFRyYW5zaXRpb25EYXRhKHRoaXMpO1xuXG4gICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCByYXdDaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgdmFy
IGMgPSByYXdDaGlsZHJlbltpXTtcbiAgICAgIGlmIChjLnRhZykge1xuICAgICAgICBpZiAoYy5r
ZXkgIT0gbnVsbCAmJiBTdHJpbmcoYy5rZXkpLmluZGV4T2YoJ19fdmxpc3QnKSAhPT0gMCkge1xu
ICAgICAgICAgIGNoaWxkcmVuLnB1c2goYyk7XG4gICAgICAgICAgbWFwW2Mua2V5XSA9IGNcbiAg
ICAgICAgICA7KGMuZGF0YSB8fCAoYy5kYXRhID0ge30pKS50cmFuc2l0aW9uID0gdHJhbnNpdGlv
bkRhdGE7XG4gICAgICAgIH0gZWxzZSBpZiAoZmFsc2UpIHtcbiAgICAgICAgICB2YXIgb3B0cyA9
IGMuY29tcG9uZW50T3B0aW9ucztcbiAgICAgICAgICB2YXIgbmFtZSA9IG9wdHMgPyAob3B0cy5D
dG9yLm9wdGlvbnMubmFtZSB8fCBvcHRzLnRhZyB8fCAnJykgOiBjLnRhZztcbiAgICAgICAgICB3
YXJuKChcIjx0cmFuc2l0aW9uLWdyb3VwPiBjaGlsZHJlbiBtdXN0IGJlIGtleWVkOiA8XCIgKyBu
YW1lICsgXCI+XCIpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwcmV2
Q2hpbGRyZW4pIHtcbiAgICAgIHZhciBrZXB0ID0gW107XG4gICAgICB2YXIgcmVtb3ZlZCA9IFtd
O1xuICAgICAgZm9yICh2YXIgaSQxID0gMDsgaSQxIDwgcHJldkNoaWxkcmVuLmxlbmd0aDsgaSQx
KyspIHtcbiAgICAgICAgdmFyIGMkMSA9IHByZXZDaGlsZHJlbltpJDFdO1xuICAgICAgICBjJDEu
ZGF0YS50cmFuc2l0aW9uID0gdHJhbnNpdGlvbkRhdGE7XG4gICAgICAgIGMkMS5kYXRhLnBvcyA9
IGMkMS5lbG0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGlmIChtYXBbYyQxLmtl
eV0pIHtcbiAgICAgICAgICBrZXB0LnB1c2goYyQxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAg
ICAgICByZW1vdmVkLnB1c2goYyQxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5r
ZXB0ID0gaCh0YWcsIG51bGwsIGtlcHQpO1xuICAgICAgdGhpcy5yZW1vdmVkID0gcmVtb3ZlZDtc
biAgICB9XG5cbiAgICByZXR1cm4gaCh0YWcsIG51bGwsIGNoaWxkcmVuKVxuICB9LFxuXG4gIGJl
Zm9yZVVwZGF0ZTogZnVuY3Rpb24gYmVmb3JlVXBkYXRlICgpIHtcbiAgICAvLyBmb3JjZSByZW1v
dmluZyBwYXNzXG4gICAgdGhpcy5fX3BhdGNoX18oXG4gICAgICB0aGlzLl92bm9kZSxcbiAgICAg
IHRoaXMua2VwdCxcbiAgICAgIGZhbHNlLCAvLyBoeWRyYXRpbmdcbiAgICAgIHRydWUgLy8gcmVt
b3ZlT25seSAoIWltcG9ydGFudCwgYXZvaWRzIHVubmVjZXNzYXJ5IG1vdmVzKVxuICAgICk7XG4g
ICAgdGhpcy5fdm5vZGUgPSB0aGlzLmtlcHQ7XG4gIH0sXG5cbiAgdXBkYXRlZDogZnVuY3Rpb24g
dXBkYXRlZCAoKSB7XG4gICAgdmFyIGNoaWxkcmVuID0gdGhpcy5wcmV2Q2hpbGRyZW47XG4gICAg
dmFyIG1vdmVDbGFzcyA9IHRoaXMubW92ZUNsYXNzIHx8ICgodGhpcy5uYW1lIHx8ICd2JykgKyAn
LW1vdmUnKTtcbiAgICBpZiAoIWNoaWxkcmVuLmxlbmd0aCB8fCAhdGhpcy5oYXNNb3ZlKGNoaWxk
cmVuWzBdLmVsbSwgbW92ZUNsYXNzKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgLy8g
d2UgZGl2aWRlIHRoZSB3b3JrIGludG8gdGhyZWUgbG9vcHMgdG8gYXZvaWQgbWl4aW5nIERPTSBy
ZWFkcyBhbmQgd3JpdGVzXG4gICAgLy8gaW4gZWFjaCBpdGVyYXRpb24gLSB3aGljaCBoZWxwcyBw
cmV2ZW50IGxheW91dCB0aHJhc2hpbmcuXG4gICAgY2hpbGRyZW4uZm9yRWFjaChjYWxsUGVuZGlu
Z0Nicyk7XG4gICAgY2hpbGRyZW4uZm9yRWFjaChyZWNvcmRQb3NpdGlvbik7XG4gICAgY2hpbGRy
ZW4uZm9yRWFjaChhcHBseVRyYW5zbGF0aW9uKTtcblxuICAgIC8vIGZvcmNlIHJlZmxvdyB0byBw
dXQgZXZlcnl0aGluZyBpbiBwb3NpdGlvblxuICAgIHZhciBib2R5ID0gZG9jdW1lbnQuYm9keTtc
biAgICB2YXIgZiA9IGJvZHkub2Zmc2V0SGVpZ2h0OyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG5c
biAgICBjaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uIChjKSB7XG4gICAgICBpZiAoYy5kYXRhLm1v
dmVkKSB7XG4gICAgICAgIHZhciBlbCA9IGMuZWxtO1xuICAgICAgICB2YXIgcyA9IGVsLnN0eWxl
O1xuICAgICAgICBhZGRUcmFuc2l0aW9uQ2xhc3MoZWwsIG1vdmVDbGFzcyk7XG4gICAgICAgIHMu
dHJhbnNmb3JtID0gcy5XZWJraXRUcmFuc2Zvcm0gPSBzLnRyYW5zaXRpb25EdXJhdGlvbiA9ICcn
O1xuICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKHRyYW5zaXRpb25FbmRFdmVudCwgZWwuX21v
dmVDYiA9IGZ1bmN0aW9uIGNiIChlKSB7XG4gICAgICAgICAgaWYgKCFlIHx8IC90cmFuc2Zvcm0k
Ly50ZXN0KGUucHJvcGVydHlOYW1lKSkge1xuICAgICAgICAgICAgZWwucmVtb3ZlRXZlbnRMaXN0
ZW5lcih0cmFuc2l0aW9uRW5kRXZlbnQsIGNiKTtcbiAgICAgICAgICAgIGVsLl9tb3ZlQ2IgPSBu
dWxsO1xuICAgICAgICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBtb3ZlQ2xhc3MpO1xu
ICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0sXG5cbiAgbWV0
aG9kczoge1xuICAgIGhhc01vdmU6IGZ1bmN0aW9uIGhhc01vdmUgKGVsLCBtb3ZlQ2xhc3MpIHtc
biAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgaWYgKCFoYXNUcmFuc2l0aW9u
KSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgICAgLyogaXN0YW5idWwgaWdu
b3JlIGlmICovXG4gICAgICBpZiAodGhpcy5faGFzTW92ZSkge1xuICAgICAgICByZXR1cm4gdGhp
cy5faGFzTW92ZVxuICAgICAgfVxuICAgICAgLy8gRGV0ZWN0IHdoZXRoZXIgYW4gZWxlbWVudCB3
aXRoIHRoZSBtb3ZlIGNsYXNzIGFwcGxpZWQgaGFzXG4gICAgICAvLyBDU1MgdHJhbnNpdGlvbnMu
IFNpbmNlIHRoZSBlbGVtZW50IG1heSBiZSBpbnNpZGUgYW4gZW50ZXJpbmdcbiAgICAgIC8vIHRy
YW5zaXRpb24gYXQgdGhpcyB2ZXJ5IG1vbWVudCwgd2UgbWFrZSBhIGNsb25lIG9mIGl0IGFuZCBy
ZW1vdmVcbiAgICAgIC8vIGFsbCBvdGhlciB0cmFuc2l0aW9uIGNsYXNzZXMgYXBwbGllZCB0byBl
bnN1cmUgb25seSB0aGUgbW92ZSBjbGFzc1xuICAgICAgLy8gaXMgYXBwbGllZC5cbiAgICAgIHZh
ciBjbG9uZSA9IGVsLmNsb25lTm9kZSgpO1xuICAgICAgaWYgKGVsLl90cmFuc2l0aW9uQ2xhc3Nl
cykge1xuICAgICAgICBlbC5fdHJhbnNpdGlvbkNsYXNzZXMuZm9yRWFjaChmdW5jdGlvbiAoY2xz
KSB7IHJlbW92ZUNsYXNzKGNsb25lLCBjbHMpOyB9KTtcbiAgICAgIH1cbiAgICAgIGFkZENsYXNz
KGNsb25lLCBtb3ZlQ2xhc3MpO1xuICAgICAgY2xvbmUuc3R5bGUuZGlzcGxheSA9ICdub25lJztc
biAgICAgIHRoaXMuJGVsLmFwcGVuZENoaWxkKGNsb25lKTtcbiAgICAgIHZhciBpbmZvID0gZ2V0
VHJhbnNpdGlvbkluZm8oY2xvbmUpO1xuICAgICAgdGhpcy4kZWwucmVtb3ZlQ2hpbGQoY2xvbmUp
O1xuICAgICAgcmV0dXJuICh0aGlzLl9oYXNNb3ZlID0gaW5mby5oYXNUcmFuc2Zvcm0pXG4gICAg
fVxuICB9XG59O1xuXG5mdW5jdGlvbiBjYWxsUGVuZGluZ0NicyAoYykge1xuICAvKiBpc3RhbmJ1
bCBpZ25vcmUgaWYgKi9cbiAgaWYgKGMuZWxtLl9tb3ZlQ2IpIHtcbiAgICBjLmVsbS5fbW92ZUNi
KCk7XG4gIH1cbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmIChjLmVsbS5fZW50ZXJD
Yikge1xuICAgIGMuZWxtLl9lbnRlckNiKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVjb3JkUG9z
aXRpb24gKGMpIHtcbiAgYy5kYXRhLm5ld1BvcyA9IGMuZWxtLmdldEJvdW5kaW5nQ2xpZW50UmVj
dCgpO1xufVxuXG5mdW5jdGlvbiBhcHBseVRyYW5zbGF0aW9uIChjKSB7XG4gIHZhciBvbGRQb3Mg
PSBjLmRhdGEucG9zO1xuICB2YXIgbmV3UG9zID0gYy5kYXRhLm5ld1BvcztcbiAgdmFyIGR4ID0g
b2xkUG9zLmxlZnQgLSBuZXdQb3MubGVmdDtcbiAgdmFyIGR5ID0gb2xkUG9zLnRvcCAtIG5ld1Bv
cy50b3A7XG4gIGlmIChkeCB8fCBkeSkge1xuICAgIGMuZGF0YS5tb3ZlZCA9IHRydWU7XG4gICAg
dmFyIHMgPSBjLmVsbS5zdHlsZTtcbiAgICBzLnRyYW5zZm9ybSA9IHMuV2Via2l0VHJhbnNmb3Jt
ID0gXCJ0cmFuc2xhdGUoXCIgKyBkeCArIFwicHgsXCIgKyBkeSArIFwicHgpXCI7XG4gICAgcy50
cmFuc2l0aW9uRHVyYXRpb24gPSAnMHMnO1xuICB9XG59XG5cbnZhciBwbGF0Zm9ybUNvbXBvbmVu
dHMgPSB7XG4gIFRyYW5zaXRpb246IFRyYW5zaXRpb24sXG4gIFRyYW5zaXRpb25Hcm91cDogVHJh
bnNpdGlvbkdyb3VwXG59O1xuXG4vKiAgKi9cblxuLy8gaW5zdGFsbCBwbGF0Zm9ybSBzcGVjaWZp
YyB1dGlsc1xuVnVlJDMuY29uZmlnLm11c3RVc2VQcm9wID0gbXVzdFVzZVByb3A7XG5WdWUkMy5j
b25maWcuaXNSZXNlcnZlZFRhZyA9IGlzUmVzZXJ2ZWRUYWc7XG5WdWUkMy5jb25maWcuaXNSZXNl
cnZlZEF0dHIgPSBpc1Jlc2VydmVkQXR0cjtcblZ1ZSQzLmNvbmZpZy5nZXRUYWdOYW1lc3BhY2Ug
PSBnZXRUYWdOYW1lc3BhY2U7XG5WdWUkMy5jb25maWcuaXNVbmtub3duRWxlbWVudCA9IGlzVW5r
bm93bkVsZW1lbnQ7XG5cbi8vIGluc3RhbGwgcGxhdGZvcm0gcnVudGltZSBkaXJlY3RpdmVzICYg
Y29tcG9uZW50c1xuZXh0ZW5kKFZ1ZSQzLm9wdGlvbnMuZGlyZWN0aXZlcywgcGxhdGZvcm1EaXJl
Y3RpdmVzKTtcbmV4dGVuZChWdWUkMy5vcHRpb25zLmNvbXBvbmVudHMsIHBsYXRmb3JtQ29tcG9u
ZW50cyk7XG5cbi8vIGluc3RhbGwgcGxhdGZvcm0gcGF0Y2ggZnVuY3Rpb25cblZ1ZSQzLnByb3Rv
dHlwZS5fX3BhdGNoX18gPSBpbkJyb3dzZXIgPyBwYXRjaCA6IG5vb3A7XG5cbi8vIHB1YmxpYyBt
b3VudCBtZXRob2RcblZ1ZSQzLnByb3RvdHlwZS4kbW91bnQgPSBmdW5jdGlvbiAoXG4gIGVsLFxu
ICBoeWRyYXRpbmdcbikge1xuICBlbCA9IGVsICYmIGluQnJvd3NlciA/IHF1ZXJ5KGVsKSA6IHVu
ZGVmaW5lZDtcbiAgcmV0dXJuIG1vdW50Q29tcG9uZW50KHRoaXMsIGVsLCBoeWRyYXRpbmcpXG59
O1xuXG4vLyBkZXZ0b29scyBnbG9iYWwgaG9va1xuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9c
bnNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICBpZiAoY29uZmlnLmRldnRvb2xzKSB7XG4gICAg
aWYgKGRldnRvb2xzKSB7XG4gICAgICBkZXZ0b29scy5lbWl0KCdpbml0JywgVnVlJDMpO1xuICAg
IH0gZWxzZSBpZiAoZmFsc2UpIHtcbiAgICAgIGNvbnNvbGVbY29uc29sZS5pbmZvID8gJ2luZm8n
IDogJ2xvZyddKFxuICAgICAgICAnRG93bmxvYWQgdGhlIFZ1ZSBEZXZ0b29scyBleHRlbnNpb24g
Zm9yIGEgYmV0dGVyIGRldmVsb3BtZW50IGV4cGVyaWVuY2U6XFxuJyArXG4gICAgICAgICdodHRw
czovL2dpdGh1Yi5jb20vdnVlanMvdnVlLWRldnRvb2xzJ1xuICAgICAgKTtcbiAgICB9XG4gIH1c
biAgaWYgKGZhbHNlXG4gICkge1xuICAgIGNvbnNvbGVbY29uc29sZS5pbmZvID8gJ2luZm8nIDog
J2xvZyddKFxuICAgICAgXCJZb3UgYXJlIHJ1bm5pbmcgVnVlIGluIGRldmVsb3BtZW50IG1vZGUu
XFxuXCIgK1xuICAgICAgXCJNYWtlIHN1cmUgdG8gdHVybiBvbiBwcm9kdWN0aW9uIG1vZGUgd2hl
biBkZXBsb3lpbmcgZm9yIHByb2R1Y3Rpb24uXFxuXCIgK1xuICAgICAgXCJTZWUgbW9yZSB0aXBz
IGF0IGh0dHBzOi8vdnVlanMub3JnL2d1aWRlL2RlcGxveW1lbnQuaHRtbFwiXG4gICAgKTtcbiAg
fVxufSwgMCk7XG5cbi8qICAqL1xuXG4vLyBjaGVjayB3aGV0aGVyIGN1cnJlbnQgYnJvd3NlciBl
bmNvZGVzIGEgY2hhciBpbnNpZGUgYXR0cmlidXRlIHZhbHVlc1xuZnVuY3Rpb24gc2hvdWxkRGVj
b2RlIChjb250ZW50LCBlbmNvZGVkKSB7XG4gIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTtcbiAgZGl2LmlubmVySFRNTCA9IFwiPGRpdiBhPVxcXCJcIiArIGNvbnRlbnQg
KyBcIlxcXCIvPlwiO1xuICByZXR1cm4gZGl2LmlubmVySFRNTC5pbmRleE9mKGVuY29kZWQpID4g
MFxufVxuXG4vLyAjMzY2M1xuLy8gSUUgZW5jb2RlcyBuZXdsaW5lcyBpbnNpZGUgYXR0cmlidXRl
IHZhbHVlcyB3aGlsZSBvdGhlciBicm93c2VycyBkb24ndFxudmFyIHNob3VsZERlY29kZU5ld2xp
bmVzID0gaW5Ccm93c2VyID8gc2hvdWxkRGVjb2RlKCdcXG4nLCAnJiMxMDsnKSA6IGZhbHNlO1xu
XG4vKiAgKi9cblxudmFyIGRlZmF1bHRUYWdSRSA9IC9cXHtcXHsoKD86LnxcXG4pKz8pXFx9XFx9
L2c7XG52YXIgcmVnZXhFc2NhcGVSRSA9IC9bLS4qKz9eJHt9KCl8W1xcXVxcL1xcXFxdL2c7XG5c
bnZhciBidWlsZFJlZ2V4ID0gY2FjaGVkKGZ1bmN0aW9uIChkZWxpbWl0ZXJzKSB7XG4gIHZhciBv
cGVuID0gZGVsaW1pdGVyc1swXS5yZXBsYWNlKHJlZ2V4RXNjYXBlUkUsICdcXFxcJCYnKTtcbiAg
dmFyIGNsb3NlID0gZGVsaW1pdGVyc1sxXS5yZXBsYWNlKHJlZ2V4RXNjYXBlUkUsICdcXFxcJCYn
KTtcbiAgcmV0dXJuIG5ldyBSZWdFeHAob3BlbiArICcoKD86LnxcXFxcbikrPyknICsgY2xvc2Us
ICdnJylcbn0pO1xuXG5mdW5jdGlvbiBwYXJzZVRleHQgKFxuICB0ZXh0LFxuICBkZWxpbWl0ZXJz
XG4pIHtcbiAgdmFyIHRhZ1JFID0gZGVsaW1pdGVycyA/IGJ1aWxkUmVnZXgoZGVsaW1pdGVycykg
OiBkZWZhdWx0VGFnUkU7XG4gIGlmICghdGFnUkUudGVzdCh0ZXh0KSkge1xuICAgIHJldHVyblxu
ICB9XG4gIHZhciB0b2tlbnMgPSBbXTtcbiAgdmFyIGxhc3RJbmRleCA9IHRhZ1JFLmxhc3RJbmRl
eCA9IDA7XG4gIHZhciBtYXRjaCwgaW5kZXg7XG4gIHdoaWxlICgobWF0Y2ggPSB0YWdSRS5leGVj
KHRleHQpKSkge1xuICAgIGluZGV4ID0gbWF0Y2guaW5kZXg7XG4gICAgLy8gcHVzaCB0ZXh0IHRv
a2VuXG4gICAgaWYgKGluZGV4ID4gbGFzdEluZGV4KSB7XG4gICAgICB0b2tlbnMucHVzaChKU09O
LnN0cmluZ2lmeSh0ZXh0LnNsaWNlKGxhc3RJbmRleCwgaW5kZXgpKSk7XG4gICAgfVxuICAgIC8v
IHRhZyB0b2tlblxuICAgIHZhciBleHAgPSBwYXJzZUZpbHRlcnMobWF0Y2hbMV0udHJpbSgpKTtc
biAgICB0b2tlbnMucHVzaCgoXCJfcyhcIiArIGV4cCArIFwiKVwiKSk7XG4gICAgbGFzdEluZGV4
ID0gaW5kZXggKyBtYXRjaFswXS5sZW5ndGg7XG4gIH1cbiAgaWYgKGxhc3RJbmRleCA8IHRleHQu
bGVuZ3RoKSB7XG4gICAgdG9rZW5zLnB1c2goSlNPTi5zdHJpbmdpZnkodGV4dC5zbGljZShsYXN0
SW5kZXgpKSk7XG4gIH1cbiAgcmV0dXJuIHRva2Vucy5qb2luKCcrJylcbn1cblxuLyogICovXG5c
bmZ1bmN0aW9uIHRyYW5zZm9ybU5vZGUgKGVsLCBvcHRpb25zKSB7XG4gIHZhciB3YXJuID0gb3B0
aW9ucy53YXJuIHx8IGJhc2VXYXJuO1xuICB2YXIgc3RhdGljQ2xhc3MgPSBnZXRBbmRSZW1vdmVB
dHRyKGVsLCAnY2xhc3MnKTtcbiAgaWYgKGZhbHNlKSB7XG4gICAgdmFyIGV4cHJlc3Npb24gPSBw
YXJzZVRleHQoc3RhdGljQ2xhc3MsIG9wdGlvbnMuZGVsaW1pdGVycyk7XG4gICAgaWYgKGV4cHJl
c3Npb24pIHtcbiAgICAgIHdhcm4oXG4gICAgICAgIFwiY2xhc3M9XFxcIlwiICsgc3RhdGljQ2xh
c3MgKyBcIlxcXCI6IFwiICtcbiAgICAgICAgJ0ludGVycG9sYXRpb24gaW5zaWRlIGF0dHJpYnV0
ZXMgaGFzIGJlZW4gcmVtb3ZlZC4gJyArXG4gICAgICAgICdVc2Ugdi1iaW5kIG9yIHRoZSBjb2xv
biBzaG9ydGhhbmQgaW5zdGVhZC4gRm9yIGV4YW1wbGUsICcgK1xuICAgICAgICAnaW5zdGVhZCBv
ZiA8ZGl2IGNsYXNzPVwie3sgdmFsIH19XCI+LCB1c2UgPGRpdiA6Y2xhc3M9XCJ2YWxcIj4uJ1xu
ICAgICAgKTtcbiAgICB9XG4gIH1cbiAgaWYgKHN0YXRpY0NsYXNzKSB7XG4gICAgZWwuc3RhdGlj
Q2xhc3MgPSBKU09OLnN0cmluZ2lmeShzdGF0aWNDbGFzcyk7XG4gIH1cbiAgdmFyIGNsYXNzQmlu
ZGluZyA9IGdldEJpbmRpbmdBdHRyKGVsLCAnY2xhc3MnLCBmYWxzZSAvKiBnZXRTdGF0aWMgKi8p
O1xuICBpZiAoY2xhc3NCaW5kaW5nKSB7XG4gICAgZWwuY2xhc3NCaW5kaW5nID0gY2xhc3NCaW5k
aW5nO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdlbkRhdGEgKGVsKSB7XG4gIHZhciBkYXRhID0gJyc7
XG4gIGlmIChlbC5zdGF0aWNDbGFzcykge1xuICAgIGRhdGEgKz0gXCJzdGF0aWNDbGFzczpcIiAr
IChlbC5zdGF0aWNDbGFzcykgKyBcIixcIjtcbiAgfVxuICBpZiAoZWwuY2xhc3NCaW5kaW5nKSB7
XG4gICAgZGF0YSArPSBcImNsYXNzOlwiICsgKGVsLmNsYXNzQmluZGluZykgKyBcIixcIjtcbiAg
fVxuICByZXR1cm4gZGF0YVxufVxuXG52YXIga2xhc3MkMSA9IHtcbiAgc3RhdGljS2V5czogWydz
dGF0aWNDbGFzcyddLFxuICB0cmFuc2Zvcm1Ob2RlOiB0cmFuc2Zvcm1Ob2RlLFxuICBnZW5EYXRh
OiBnZW5EYXRhXG59O1xuXG4vKiAgKi9cblxuZnVuY3Rpb24gdHJhbnNmb3JtTm9kZSQxIChlbCwg
b3B0aW9ucykge1xuICB2YXIgd2FybiA9IG9wdGlvbnMud2FybiB8fCBiYXNlV2FybjtcbiAgdmFy
IHN0YXRpY1N0eWxlID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3N0eWxlJyk7XG4gIGlmIChzdGF0
aWNTdHlsZSkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChmYWxzZSkg
e1xuICAgICAgdmFyIGV4cHJlc3Npb24gPSBwYXJzZVRleHQoc3RhdGljU3R5bGUsIG9wdGlvbnMu
ZGVsaW1pdGVycyk7XG4gICAgICBpZiAoZXhwcmVzc2lvbikge1xuICAgICAgICB3YXJuKFxuICAg
ICAgICAgIFwic3R5bGU9XFxcIlwiICsgc3RhdGljU3R5bGUgKyBcIlxcXCI6IFwiICtcbiAgICAg
ICAgICAnSW50ZXJwb2xhdGlvbiBpbnNpZGUgYXR0cmlidXRlcyBoYXMgYmVlbiByZW1vdmVkLiAn
ICtcbiAgICAgICAgICAnVXNlIHYtYmluZCBvciB0aGUgY29sb24gc2hvcnRoYW5kIGluc3RlYWQu
IEZvciBleGFtcGxlLCAnICtcbiAgICAgICAgICAnaW5zdGVhZCBvZiA8ZGl2IHN0eWxlPVwie3sg
dmFsIH19XCI+LCB1c2UgPGRpdiA6c3R5bGU9XCJ2YWxcIj4uJ1xuICAgICAgICApO1xuICAgICAg
fVxuICAgIH1cbiAgICBlbC5zdGF0aWNTdHlsZSA9IEpTT04uc3RyaW5naWZ5KHBhcnNlU3R5bGVU
ZXh0KHN0YXRpY1N0eWxlKSk7XG4gIH1cblxuICB2YXIgc3R5bGVCaW5kaW5nID0gZ2V0QmluZGlu
Z0F0dHIoZWwsICdzdHlsZScsIGZhbHNlIC8qIGdldFN0YXRpYyAqLyk7XG4gIGlmIChzdHlsZUJp
bmRpbmcpIHtcbiAgICBlbC5zdHlsZUJpbmRpbmcgPSBzdHlsZUJpbmRpbmc7XG4gIH1cbn1cblxu
ZnVuY3Rpb24gZ2VuRGF0YSQxIChlbCkge1xuICB2YXIgZGF0YSA9ICcnO1xuICBpZiAoZWwuc3Rh
dGljU3R5bGUpIHtcbiAgICBkYXRhICs9IFwic3RhdGljU3R5bGU6XCIgKyAoZWwuc3RhdGljU3R5
bGUpICsgXCIsXCI7XG4gIH1cbiAgaWYgKGVsLnN0eWxlQmluZGluZykge1xuICAgIGRhdGEgKz0g
XCJzdHlsZTooXCIgKyAoZWwuc3R5bGVCaW5kaW5nKSArIFwiKSxcIjtcbiAgfVxuICByZXR1cm4g
ZGF0YVxufVxuXG52YXIgc3R5bGUkMSA9IHtcbiAgc3RhdGljS2V5czogWydzdGF0aWNTdHlsZSdd
LFxuICB0cmFuc2Zvcm1Ob2RlOiB0cmFuc2Zvcm1Ob2RlJDEsXG4gIGdlbkRhdGE6IGdlbkRhdGEk
MVxufTtcblxudmFyIG1vZHVsZXMkMSA9IFtcbiAga2xhc3MkMSxcbiAgc3R5bGUkMVxuXTtcblxu
LyogICovXG5cbmZ1bmN0aW9uIHRleHQgKGVsLCBkaXIpIHtcbiAgaWYgKGRpci52YWx1ZSkge1xu
ICAgIGFkZFByb3AoZWwsICd0ZXh0Q29udGVudCcsIChcIl9zKFwiICsgKGRpci52YWx1ZSkgKyBc
IilcIikpO1xuICB9XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBodG1sIChlbCwgZGlyKSB7XG4g
IGlmIChkaXIudmFsdWUpIHtcbiAgICBhZGRQcm9wKGVsLCAnaW5uZXJIVE1MJywgKFwiX3MoXCIg
KyAoZGlyLnZhbHVlKSArIFwiKVwiKSk7XG4gIH1cbn1cblxudmFyIGRpcmVjdGl2ZXMkMSA9IHtc
biAgbW9kZWw6IG1vZGVsLFxuICB0ZXh0OiB0ZXh0LFxuICBodG1sOiBodG1sXG59O1xuXG4vKiAg
Ki9cblxudmFyIGlzVW5hcnlUYWcgPSBtYWtlTWFwKFxuICAnYXJlYSxiYXNlLGJyLGNvbCxlbWJl
ZCxmcmFtZSxocixpbWcsaW5wdXQsaXNpbmRleCxrZXlnZW4sJyArXG4gICdsaW5rLG1ldGEscGFy
YW0sc291cmNlLHRyYWNrLHdicidcbik7XG5cbi8vIEVsZW1lbnRzIHRoYXQgeW91IGNhbiwgaW50
ZW50aW9uYWxseSwgbGVhdmUgb3BlblxuLy8gKGFuZCB3aGljaCBjbG9zZSB0aGVtc2VsdmVzKVxu
dmFyIGNhbkJlTGVmdE9wZW5UYWcgPSBtYWtlTWFwKFxuICAnY29sZ3JvdXAsZGQsZHQsbGksb3B0
aW9ucyxwLHRkLHRmb290LHRoLHRoZWFkLHRyLHNvdXJjZSdcbik7XG5cbi8vIEhUTUw1IHRhZ3Mg
aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW5kaWNlcy5odG1sI2VsZW1l
bnRzLTNcbi8vIFBocmFzaW5nIENvbnRlbnQgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9t
dWx0aXBhZ2UvZG9tLmh0bWwjcGhyYXNpbmctY29udGVudFxudmFyIGlzTm9uUGhyYXNpbmdUYWcg
PSBtYWtlTWFwKFxuICAnYWRkcmVzcyxhcnRpY2xlLGFzaWRlLGJhc2UsYmxvY2txdW90ZSxib2R5
LGNhcHRpb24sY29sLGNvbGdyb3VwLGRkLCcgK1xuICAnZGV0YWlscyxkaWFsb2csZGl2LGRsLGR0
LGZpZWxkc2V0LGZpZ2NhcHRpb24sZmlndXJlLGZvb3Rlcixmb3JtLCcgK1xuICAnaDEsaDIsaDMs
aDQsaDUsaDYsaGVhZCxoZWFkZXIsaGdyb3VwLGhyLGh0bWwsbGVnZW5kLGxpLG1lbnVpdGVtLG1l
dGEsJyArXG4gICdvcHRncm91cCxvcHRpb24scGFyYW0scnAscnQsc291cmNlLHN0eWxlLHN1bW1h
cnksdGJvZHksdGQsdGZvb3QsdGgsdGhlYWQsJyArXG4gICd0aXRsZSx0cix0cmFjaydcbik7XG5c
bi8qICAqL1xuXG52YXIgYmFzZU9wdGlvbnMgPSB7XG4gIGV4cGVjdEhUTUw6IHRydWUsXG4gIG1v
ZHVsZXM6IG1vZHVsZXMkMSxcbiAgZGlyZWN0aXZlczogZGlyZWN0aXZlcyQxLFxuICBpc1ByZVRh
ZzogaXNQcmVUYWcsXG4gIGlzVW5hcnlUYWc6IGlzVW5hcnlUYWcsXG4gIG11c3RVc2VQcm9wOiBt
dXN0VXNlUHJvcCxcbiAgY2FuQmVMZWZ0T3BlblRhZzogY2FuQmVMZWZ0T3BlblRhZyxcbiAgaXNS
ZXNlcnZlZFRhZzogaXNSZXNlcnZlZFRhZyxcbiAgZ2V0VGFnTmFtZXNwYWNlOiBnZXRUYWdOYW1l
c3BhY2UsXG4gIHN0YXRpY0tleXM6IGdlblN0YXRpY0tleXMobW9kdWxlcyQxKVxufTtcblxuLyog
ICovXG5cbnZhciBkZWNvZGVyO1xuXG52YXIgaGUgPSB7XG4gIGRlY29kZTogZnVuY3Rpb24gZGVj
b2RlIChodG1sKSB7XG4gICAgZGVjb2RlciA9IGRlY29kZXIgfHwgZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7XG4gICAgZGVjb2Rlci5pbm5lckhUTUwgPSBodG1sO1xuICAgIHJldHVybiBk
ZWNvZGVyLnRleHRDb250ZW50XG4gIH1cbn07XG5cbi8qKlxuICogTm90IHR5cGUtY2hlY2tpbmcg
dGhpcyBmaWxlIGJlY2F1c2UgaXQncyBtb3N0bHkgdmVuZG9yIGNvZGUuXG4gKi9cblxuLyohXG4g
KiBIVE1MIFBhcnNlciBCeSBKb2huIFJlc2lnIChlam9obi5vcmcpXG4gKiBNb2RpZmllZCBieSBK
dXJpeSBcImthbmdheFwiIFpheXRzZXZcbiAqIE9yaWdpbmFsIGNvZGUgYnkgRXJpayBBcnZpZHNz
b24sIE1vemlsbGEgUHVibGljIExpY2Vuc2VcbiAqIGh0dHA6Ly9lcmlrLmVhZS5uZXQvc2ltcGxl
aHRtbHBhcnNlci9zaW1wbGVodG1scGFyc2VyLmpzXG4gKi9cblxuLy8gUmVndWxhciBFeHByZXNz
aW9ucyBmb3IgcGFyc2luZyB0YWdzIGFuZCBhdHRyaWJ1dGVzXG52YXIgc2luZ2xlQXR0cklkZW50
aWZpZXIgPSAvKFteXFxzXCInPD4vPV0rKS87XG52YXIgc2luZ2xlQXR0ckFzc2lnbiA9IC8oPzo9
KS87XG52YXIgc2luZ2xlQXR0clZhbHVlcyA9IFtcbiAgLy8gYXR0ciB2YWx1ZSBkb3VibGUgcXVv
dGVzXG4gIC9cIihbXlwiXSopXCIrLy5zb3VyY2UsXG4gIC8vIGF0dHIgdmFsdWUsIHNpbmdsZSBx
dW90ZXNcbiAgLycoW14nXSopJysvLnNvdXJjZSxcbiAgLy8gYXR0ciB2YWx1ZSwgbm8gcXVvdGVz
XG4gIC8oW15cXHNcIic9PD5gXSspLy5zb3VyY2Vcbl07XG52YXIgYXR0cmlidXRlID0gbmV3IFJl
Z0V4cChcbiAgJ15cXFxccyonICsgc2luZ2xlQXR0cklkZW50aWZpZXIuc291cmNlICtcbiAgJyg/
OlxcXFxzKignICsgc2luZ2xlQXR0ckFzc2lnbi5zb3VyY2UgKyAnKScgK1xuICAnXFxcXHMqKD86
JyArIHNpbmdsZUF0dHJWYWx1ZXMuam9pbignfCcpICsgJykpPydcbik7XG5cbi8vIGNvdWxkIHVz
ZSBodHRwczovL3d3dy53My5vcmcvVFIvMTk5OS9SRUMteG1sLW5hbWVzLTE5OTkwMTE0LyNOVC1R
TmFtZVxuLy8gYnV0IGZvciBWdWUgdGVtcGxhdGVzIHdlIGNhbiBlbmZvcmNlIGEgc2ltcGxlIGNo
YXJzZXRcbnZhciBuY25hbWUgPSAnW2EtekEtWl9dW1xcXFx3XFxcXC1cXFxcLl0qJztcbnZhciBx
bmFtZUNhcHR1cmUgPSAnKCg/OicgKyBuY25hbWUgKyAnXFxcXDopPycgKyBuY25hbWUgKyAnKSc7
XG52YXIgc3RhcnRUYWdPcGVuID0gbmV3IFJlZ0V4cCgnXjwnICsgcW5hbWVDYXB0dXJlKTtcbnZh
ciBzdGFydFRhZ0Nsb3NlID0gL15cXHMqKFxcLz8pPi87XG52YXIgZW5kVGFnID0gbmV3IFJlZ0V4
cCgnXjxcXFxcLycgKyBxbmFtZUNhcHR1cmUgKyAnW14+XSo+Jyk7XG52YXIgZG9jdHlwZSA9IC9e
PCFET0NUWVBFIFtePl0rPi9pO1xudmFyIGNvbW1lbnQgPSAvXjwhLS0vO1xudmFyIGNvbmRpdGlv
bmFsQ29tbWVudCA9IC9ePCFcXFsvO1xuXG52YXIgSVNfUkVHRVhfQ0FQVFVSSU5HX0JST0tFTiA9
IGZhbHNlO1xuJ3gnLnJlcGxhY2UoL3goLik/L2csIGZ1bmN0aW9uIChtLCBnKSB7XG4gIElTX1JF
R0VYX0NBUFRVUklOR19CUk9LRU4gPSBnID09PSAnJztcbn0pO1xuXG4vLyBTcGVjaWFsIEVsZW1l
bnRzIChjYW4gY29udGFpbiBhbnl0aGluZylcbnZhciBpc1BsYWluVGV4dEVsZW1lbnQgPSBtYWtl
TWFwKCdzY3JpcHQsc3R5bGUsdGV4dGFyZWEnLCB0cnVlKTtcbnZhciByZUNhY2hlID0ge307XG5c
bnZhciBkZWNvZGluZ01hcCA9IHtcbiAgJyZsdDsnOiAnPCcsXG4gICcmZ3Q7JzogJz4nLFxuICAn
JnF1b3Q7JzogJ1wiJyxcbiAgJyZhbXA7JzogJyYnLFxuICAnJiMxMDsnOiAnXFxuJ1xufTtcbnZh
ciBlbmNvZGVkQXR0ciA9IC8mKD86bHR8Z3R8cXVvdHxhbXApOy9nO1xudmFyIGVuY29kZWRBdHRy
V2l0aE5ld0xpbmVzID0gLyYoPzpsdHxndHxxdW90fGFtcHwjMTApOy9nO1xuXG4vLyAjNTk5Mlxu
dmFyIGlzSWdub3JlTmV3bGluZVRhZyA9IG1ha2VNYXAoJ3ByZSx0ZXh0YXJlYScsIHRydWUpO1xu
dmFyIHNob3VsZElnbm9yZUZpcnN0TmV3bGluZSA9IGZ1bmN0aW9uICh0YWcsIGh0bWwpIHsgcmV0
dXJuIHRhZyAmJiBpc0lnbm9yZU5ld2xpbmVUYWcodGFnKSAmJiBodG1sWzBdID09PSAnXFxuJzsg
fTtcblxuZnVuY3Rpb24gZGVjb2RlQXR0ciAodmFsdWUsIHNob3VsZERlY29kZU5ld2xpbmVzKSB7
XG4gIHZhciByZSA9IHNob3VsZERlY29kZU5ld2xpbmVzID8gZW5jb2RlZEF0dHJXaXRoTmV3TGlu
ZXMgOiBlbmNvZGVkQXR0cjtcbiAgcmV0dXJuIHZhbHVlLnJlcGxhY2UocmUsIGZ1bmN0aW9uICht
YXRjaCkgeyByZXR1cm4gZGVjb2RpbmdNYXBbbWF0Y2hdOyB9KVxufVxuXG5mdW5jdGlvbiBwYXJz
ZUhUTUwgKGh0bWwsIG9wdGlvbnMpIHtcbiAgdmFyIHN0YWNrID0gW107XG4gIHZhciBleHBlY3RI
VE1MID0gb3B0aW9ucy5leHBlY3RIVE1MO1xuICB2YXIgaXNVbmFyeVRhZyQkMSA9IG9wdGlvbnMu
aXNVbmFyeVRhZyB8fCBubztcbiAgdmFyIGNhbkJlTGVmdE9wZW5UYWckJDEgPSBvcHRpb25zLmNh
bkJlTGVmdE9wZW5UYWcgfHwgbm87XG4gIHZhciBpbmRleCA9IDA7XG4gIHZhciBsYXN0LCBsYXN0
VGFnO1xuICB3aGlsZSAoaHRtbCkge1xuICAgIGxhc3QgPSBodG1sO1xuICAgIC8vIE1ha2Ugc3Vy
ZSB3ZSdyZSBub3QgaW4gYSBwbGFpbnRleHQgY29udGVudCBlbGVtZW50IGxpa2Ugc2NyaXB0L3N0
eWxlXG4gICAgaWYgKCFsYXN0VGFnIHx8ICFpc1BsYWluVGV4dEVsZW1lbnQobGFzdFRhZykpIHtc
biAgICAgIHZhciB0ZXh0RW5kID0gaHRtbC5pbmRleE9mKCc8Jyk7XG4gICAgICBpZiAodGV4dEVu
ZCA9PT0gMCkge1xuICAgICAgICAvLyBDb21tZW50OlxuICAgICAgICBpZiAoY29tbWVudC50ZXN0
KGh0bWwpKSB7XG4gICAgICAgICAgdmFyIGNvbW1lbnRFbmQgPSBodG1sLmluZGV4T2YoJy0tPicp
O1xuXG4gICAgICAgICAgaWYgKGNvbW1lbnRFbmQgPj0gMCkge1xuICAgICAgICAgICAgaWYgKG9w
dGlvbnMuc2hvdWxkS2VlcENvbW1lbnQpIHtcbiAgICAgICAgICAgICAgb3B0aW9ucy5jb21tZW50
KGh0bWwuc3Vic3RyaW5nKDQsIGNvbW1lbnRFbmQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAg
ICAgIGFkdmFuY2UoY29tbWVudEVuZCArIDMpO1xuICAgICAgICAgICAgY29udGludWVcbiAgICAg
ICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93
aWtpL0NvbmRpdGlvbmFsX2NvbW1lbnQjRG93bmxldmVsLXJldmVhbGVkX2NvbmRpdGlvbmFsX2Nv
bW1lbnRcbiAgICAgICAgaWYgKGNvbmRpdGlvbmFsQ29tbWVudC50ZXN0KGh0bWwpKSB7XG4gICAg
ICAgICAgdmFyIGNvbmRpdGlvbmFsRW5kID0gaHRtbC5pbmRleE9mKCddPicpO1xuXG4gICAgICAg
ICAgaWYgKGNvbmRpdGlvbmFsRW5kID49IDApIHtcbiAgICAgICAgICAgIGFkdmFuY2UoY29uZGl0
aW9uYWxFbmQgKyAyKTtcbiAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgfVxuICAgICAg
ICB9XG5cbiAgICAgICAgLy8gRG9jdHlwZTpcbiAgICAgICAgdmFyIGRvY3R5cGVNYXRjaCA9IGh0
bWwubWF0Y2goZG9jdHlwZSk7XG4gICAgICAgIGlmIChkb2N0eXBlTWF0Y2gpIHtcbiAgICAgICAg
ICBhZHZhbmNlKGRvY3R5cGVNYXRjaFswXS5sZW5ndGgpO1xuICAgICAgICAgIGNvbnRpbnVlXG4g
ICAgICAgIH1cblxuICAgICAgICAvLyBFbmQgdGFnOlxuICAgICAgICB2YXIgZW5kVGFnTWF0Y2gg
PSBodG1sLm1hdGNoKGVuZFRhZyk7XG4gICAgICAgIGlmIChlbmRUYWdNYXRjaCkge1xuICAgICAg
ICAgIHZhciBjdXJJbmRleCA9IGluZGV4O1xuICAgICAgICAgIGFkdmFuY2UoZW5kVGFnTWF0Y2hb
MF0ubGVuZ3RoKTtcbiAgICAgICAgICBwYXJzZUVuZFRhZyhlbmRUYWdNYXRjaFsxXSwgY3VySW5k
ZXgsIGluZGV4KTtcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG5cbiAgICAgICAgLy8g
U3RhcnQgdGFnOlxuICAgICAgICB2YXIgc3RhcnRUYWdNYXRjaCA9IHBhcnNlU3RhcnRUYWcoKTtc
biAgICAgICAgaWYgKHN0YXJ0VGFnTWF0Y2gpIHtcbiAgICAgICAgICBoYW5kbGVTdGFydFRhZyhz
dGFydFRhZ01hdGNoKTtcbiAgICAgICAgICBpZiAoc2hvdWxkSWdub3JlRmlyc3ROZXdsaW5lKGxh
c3RUYWcsIGh0bWwpKSB7XG4gICAgICAgICAgICBhZHZhbmNlKDEpO1xuICAgICAgICAgIH1cbiAg
ICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHZhciB0ZXh0ID0g
KHZvaWQgMCksIHJlc3QgPSAodm9pZCAwKSwgbmV4dCA9ICh2b2lkIDApO1xuICAgICAgaWYgKHRl
eHRFbmQgPj0gMCkge1xuICAgICAgICByZXN0ID0gaHRtbC5zbGljZSh0ZXh0RW5kKTtcbiAgICAg
ICAgd2hpbGUgKFxuICAgICAgICAgICFlbmRUYWcudGVzdChyZXN0KSAmJlxuICAgICAgICAgICFz
dGFydFRhZ09wZW4udGVzdChyZXN0KSAmJlxuICAgICAgICAgICFjb21tZW50LnRlc3QocmVzdCkg
JiZcbiAgICAgICAgICAhY29uZGl0aW9uYWxDb21tZW50LnRlc3QocmVzdClcbiAgICAgICAgKSB7
XG4gICAgICAgICAgLy8gPCBpbiBwbGFpbiB0ZXh0LCBiZSBmb3JnaXZpbmcgYW5kIHRyZWF0IGl0
IGFzIHRleHRcbiAgICAgICAgICBuZXh0ID0gcmVzdC5pbmRleE9mKCc8JywgMSk7XG4gICAgICAg
ICAgaWYgKG5leHQgPCAwKSB7IGJyZWFrIH1cbiAgICAgICAgICB0ZXh0RW5kICs9IG5leHQ7XG4g
ICAgICAgICAgcmVzdCA9IGh0bWwuc2xpY2UodGV4dEVuZCk7XG4gICAgICAgIH1cbiAgICAgICAg
dGV4dCA9IGh0bWwuc3Vic3RyaW5nKDAsIHRleHRFbmQpO1xuICAgICAgICBhZHZhbmNlKHRleHRF
bmQpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGV4dEVuZCA8IDApIHtcbiAgICAgICAgdGV4dCA9
IGh0bWw7XG4gICAgICAgIGh0bWwgPSAnJztcbiAgICAgIH1cblxuICAgICAgaWYgKG9wdGlvbnMu
Y2hhcnMgJiYgdGV4dCkge1xuICAgICAgICBvcHRpb25zLmNoYXJzKHRleHQpO1xuICAgICAgfVxu
ICAgIH0gZWxzZSB7XG4gICAgICB2YXIgZW5kVGFnTGVuZ3RoID0gMDtcbiAgICAgIHZhciBzdGFj
a2VkVGFnID0gbGFzdFRhZy50b0xvd2VyQ2FzZSgpO1xuICAgICAgdmFyIHJlU3RhY2tlZFRhZyA9
IHJlQ2FjaGVbc3RhY2tlZFRhZ10gfHwgKHJlQ2FjaGVbc3RhY2tlZFRhZ10gPSBuZXcgUmVnRXhw
KCcoW1xcXFxzXFxcXFNdKj8pKDwvJyArIHN0YWNrZWRUYWcgKyAnW14+XSo+KScsICdpJykpO1xu
ICAgICAgdmFyIHJlc3QkMSA9IGh0bWwucmVwbGFjZShyZVN0YWNrZWRUYWcsIGZ1bmN0aW9uIChh
bGwsIHRleHQsIGVuZFRhZykge1xuICAgICAgICBlbmRUYWdMZW5ndGggPSBlbmRUYWcubGVuZ3Ro
O1xuICAgICAgICBpZiAoIWlzUGxhaW5UZXh0RWxlbWVudChzdGFja2VkVGFnKSAmJiBzdGFja2Vk
VGFnICE9PSAnbm9zY3JpcHQnKSB7XG4gICAgICAgICAgdGV4dCA9IHRleHRcbiAgICAgICAgICAg
IC5yZXBsYWNlKC88IS0tKFtcXHNcXFNdKj8pLS0+L2csICckMScpXG4gICAgICAgICAgICAucmVw
bGFjZSgvPCFcXFtDREFUQVxcWyhbXFxzXFxTXSo/KV1dPi9nLCAnJDEnKTtcbiAgICAgICAgfVxu
ICAgICAgICBpZiAoc2hvdWxkSWdub3JlRmlyc3ROZXdsaW5lKHN0YWNrZWRUYWcsIHRleHQpKSB7
XG4gICAgICAgICAgdGV4dCA9IHRleHQuc2xpY2UoMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYg
KG9wdGlvbnMuY2hhcnMpIHtcbiAgICAgICAgICBvcHRpb25zLmNoYXJzKHRleHQpO1xuICAgICAg
ICB9XG4gICAgICAgIHJldHVybiAnJ1xuICAgICAgfSk7XG4gICAgICBpbmRleCArPSBodG1sLmxl
bmd0aCAtIHJlc3QkMS5sZW5ndGg7XG4gICAgICBodG1sID0gcmVzdCQxO1xuICAgICAgcGFyc2VF
bmRUYWcoc3RhY2tlZFRhZywgaW5kZXggLSBlbmRUYWdMZW5ndGgsIGluZGV4KTtcbiAgICB9XG5c
biAgICBpZiAoaHRtbCA9PT0gbGFzdCkge1xuICAgICAgb3B0aW9ucy5jaGFycyAmJiBvcHRpb25z
LmNoYXJzKGh0bWwpO1xuICAgICAgaWYgKGZhbHNlKSB7XG4gICAgICAgIG9wdGlvbnMud2Fybigo
XCJNYWwtZm9ybWF0dGVkIHRhZyBhdCBlbmQgb2YgdGVtcGxhdGU6IFxcXCJcIiArIGh0bWwgKyBc
IlxcXCJcIikpO1xuICAgICAgfVxuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICAvLyBDbGVh
biB1cCBhbnkgcmVtYWluaW5nIHRhZ3NcbiAgcGFyc2VFbmRUYWcoKTtcblxuICBmdW5jdGlvbiBh
ZHZhbmNlIChuKSB7XG4gICAgaW5kZXggKz0gbjtcbiAgICBodG1sID0gaHRtbC5zdWJzdHJpbmco
bik7XG4gIH1cblxuICBmdW5jdGlvbiBwYXJzZVN0YXJ0VGFnICgpIHtcbiAgICB2YXIgc3RhcnQg
PSBodG1sLm1hdGNoKHN0YXJ0VGFnT3Blbik7XG4gICAgaWYgKHN0YXJ0KSB7XG4gICAgICB2YXIg
bWF0Y2ggPSB7XG4gICAgICAgIHRhZ05hbWU6IHN0YXJ0WzFdLFxuICAgICAgICBhdHRyczogW10s
XG4gICAgICAgIHN0YXJ0OiBpbmRleFxuICAgICAgfTtcbiAgICAgIGFkdmFuY2Uoc3RhcnRbMF0u
bGVuZ3RoKTtcbiAgICAgIHZhciBlbmQsIGF0dHI7XG4gICAgICB3aGlsZSAoIShlbmQgPSBodG1s
Lm1hdGNoKHN0YXJ0VGFnQ2xvc2UpKSAmJiAoYXR0ciA9IGh0bWwubWF0Y2goYXR0cmlidXRlKSkp
IHtcbiAgICAgICAgYWR2YW5jZShhdHRyWzBdLmxlbmd0aCk7XG4gICAgICAgIG1hdGNoLmF0dHJz
LnB1c2goYXR0cik7XG4gICAgICB9XG4gICAgICBpZiAoZW5kKSB7XG4gICAgICAgIG1hdGNoLnVu
YXJ5U2xhc2ggPSBlbmRbMV07XG4gICAgICAgIGFkdmFuY2UoZW5kWzBdLmxlbmd0aCk7XG4gICAg
ICAgIG1hdGNoLmVuZCA9IGluZGV4O1xuICAgICAgICByZXR1cm4gbWF0Y2hcbiAgICAgIH1cbiAg
ICB9XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVTdGFydFRhZyAobWF0Y2gpIHtcbiAgICB2YXIg
dGFnTmFtZSA9IG1hdGNoLnRhZ05hbWU7XG4gICAgdmFyIHVuYXJ5U2xhc2ggPSBtYXRjaC51bmFy
eVNsYXNoO1xuXG4gICAgaWYgKGV4cGVjdEhUTUwpIHtcbiAgICAgIGlmIChsYXN0VGFnID09PSAn
cCcgJiYgaXNOb25QaHJhc2luZ1RhZyh0YWdOYW1lKSkge1xuICAgICAgICBwYXJzZUVuZFRhZyhs
YXN0VGFnKTtcbiAgICAgIH1cbiAgICAgIGlmIChjYW5CZUxlZnRPcGVuVGFnJCQxKHRhZ05hbWUp
ICYmIGxhc3RUYWcgPT09IHRhZ05hbWUpIHtcbiAgICAgICAgcGFyc2VFbmRUYWcodGFnTmFtZSk7
XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHVuYXJ5ID0gaXNVbmFyeVRhZyQkMSh0YWdOYW1l
KSB8fCAhIXVuYXJ5U2xhc2g7XG5cbiAgICB2YXIgbCA9IG1hdGNoLmF0dHJzLmxlbmd0aDtcbiAg
ICB2YXIgYXR0cnMgPSBuZXcgQXJyYXkobCk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsOyBp
KyspIHtcbiAgICAgIHZhciBhcmdzID0gbWF0Y2guYXR0cnNbaV07XG4gICAgICAvLyBoYWNraXNo
IHdvcmsgYXJvdW5kIEZGIGJ1ZyBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVn
LmNnaT9pZD0zNjk3NzhcbiAgICAgIGlmIChJU19SRUdFWF9DQVBUVVJJTkdfQlJPS0VOICYmIGFy
Z3NbMF0uaW5kZXhPZignXCJcIicpID09PSAtMSkge1xuICAgICAgICBpZiAoYXJnc1szXSA9PT0g
JycpIHsgZGVsZXRlIGFyZ3NbM107IH1cbiAgICAgICAgaWYgKGFyZ3NbNF0gPT09ICcnKSB7IGRl
bGV0ZSBhcmdzWzRdOyB9XG4gICAgICAgIGlmIChhcmdzWzVdID09PSAnJykgeyBkZWxldGUgYXJn
c1s1XTsgfVxuICAgICAgfVxuICAgICAgdmFyIHZhbHVlID0gYXJnc1szXSB8fCBhcmdzWzRdIHx8
IGFyZ3NbNV0gfHwgJyc7XG4gICAgICBhdHRyc1tpXSA9IHtcbiAgICAgICAgbmFtZTogYXJnc1sx
XSxcbiAgICAgICAgdmFsdWU6IGRlY29kZUF0dHIoXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAg
ICAgb3B0aW9ucy5zaG91bGREZWNvZGVOZXdsaW5lc1xuICAgICAgICApXG4gICAgICB9O1xuICAg
IH1cblxuICAgIGlmICghdW5hcnkpIHtcbiAgICAgIHN0YWNrLnB1c2goeyB0YWc6IHRhZ05hbWUs
IGxvd2VyQ2FzZWRUYWc6IHRhZ05hbWUudG9Mb3dlckNhc2UoKSwgYXR0cnM6IGF0dHJzIH0pO1xu
ICAgICAgbGFzdFRhZyA9IHRhZ05hbWU7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuc3RhcnQp
IHtcbiAgICAgIG9wdGlvbnMuc3RhcnQodGFnTmFtZSwgYXR0cnMsIHVuYXJ5LCBtYXRjaC5zdGFy
dCwgbWF0Y2guZW5kKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBwYXJzZUVuZFRhZyAodGFn
TmFtZSwgc3RhcnQsIGVuZCkge1xuICAgIHZhciBwb3MsIGxvd2VyQ2FzZWRUYWdOYW1lO1xuICAg
IGlmIChzdGFydCA9PSBudWxsKSB7IHN0YXJ0ID0gaW5kZXg7IH1cbiAgICBpZiAoZW5kID09IG51
bGwpIHsgZW5kID0gaW5kZXg7IH1cblxuICAgIGlmICh0YWdOYW1lKSB7XG4gICAgICBsb3dlckNh
c2VkVGFnTmFtZSA9IHRhZ05hbWUudG9Mb3dlckNhc2UoKTtcbiAgICB9XG5cbiAgICAvLyBGaW5k
IHRoZSBjbG9zZXN0IG9wZW5lZCB0YWcgb2YgdGhlIHNhbWUgdHlwZVxuICAgIGlmICh0YWdOYW1l
KSB7XG4gICAgICBmb3IgKHBvcyA9IHN0YWNrLmxlbmd0aCAtIDE7IHBvcyA+PSAwOyBwb3MtLSkg
e1xuICAgICAgICBpZiAoc3RhY2tbcG9zXS5sb3dlckNhc2VkVGFnID09PSBsb3dlckNhc2VkVGFn
TmFtZSkge1xuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Ug
e1xuICAgICAgLy8gSWYgbm8gdGFnIG5hbWUgaXMgcHJvdmlkZWQsIGNsZWFuIHNob3BcbiAgICAg
IHBvcyA9IDA7XG4gICAgfVxuXG4gICAgaWYgKHBvcyA+PSAwKSB7XG4gICAgICAvLyBDbG9zZSBh
bGwgdGhlIG9wZW4gZWxlbWVudHMsIHVwIHRoZSBzdGFja1xuICAgICAgZm9yICh2YXIgaSA9IHN0
YWNrLmxlbmd0aCAtIDE7IGkgPj0gcG9zOyBpLS0pIHtcbiAgICAgICAgaWYgKGZhbHNlXG4gICAg
ICAgICkge1xuICAgICAgICAgIG9wdGlvbnMud2FybihcbiAgICAgICAgICAgIChcInRhZyA8XCIg
KyAoc3RhY2tbaV0udGFnKSArIFwiPiBoYXMgbm8gbWF0Y2hpbmcgZW5kIHRhZy5cIilcbiAgICAg
ICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zLmVuZCkge1xuICAgICAgICAg
IG9wdGlvbnMuZW5kKHN0YWNrW2ldLnRhZywgc3RhcnQsIGVuZCk7XG4gICAgICAgIH1cbiAgICAg
IH1cblxuICAgICAgLy8gUmVtb3ZlIHRoZSBvcGVuIGVsZW1lbnRzIGZyb20gdGhlIHN0YWNrXG4g
ICAgICBzdGFjay5sZW5ndGggPSBwb3M7XG4gICAgICBsYXN0VGFnID0gcG9zICYmIHN0YWNrW3Bv
cyAtIDFdLnRhZztcbiAgICB9IGVsc2UgaWYgKGxvd2VyQ2FzZWRUYWdOYW1lID09PSAnYnInKSB7
XG4gICAgICBpZiAob3B0aW9ucy5zdGFydCkge1xuICAgICAgICBvcHRpb25zLnN0YXJ0KHRhZ05h
bWUsIFtdLCB0cnVlLCBzdGFydCwgZW5kKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGxvd2Vy
Q2FzZWRUYWdOYW1lID09PSAncCcpIHtcbiAgICAgIGlmIChvcHRpb25zLnN0YXJ0KSB7XG4gICAg
ICAgIG9wdGlvbnMuc3RhcnQodGFnTmFtZSwgW10sIGZhbHNlLCBzdGFydCwgZW5kKTtcbiAgICAg
IH1cbiAgICAgIGlmIChvcHRpb25zLmVuZCkge1xuICAgICAgICBvcHRpb25zLmVuZCh0YWdOYW1l
LCBzdGFydCwgZW5kKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogICovXG5cbnZhciBv
blJFID0gL15AfF52LW9uOi87XG52YXIgZGlyUkUgPSAvXnYtfF5AfF46LztcbnZhciBmb3JBbGlh
c1JFID0gLyguKj8pXFxzKyg/OmlufG9mKVxccysoLiopLztcbnZhciBmb3JJdGVyYXRvclJFID0g
L1xcKChcXHtbXn1dKlxcfXxbXixdKiksKFteLF0qKSg/OiwoW14sXSopKT9cXCkvO1xuXG52YXIg
YXJnUkUgPSAvOiguKikkLztcbnZhciBiaW5kUkUgPSAvXjp8XnYtYmluZDovO1xudmFyIG1vZGlm
aWVyUkUgPSAvXFwuW14uXSsvZztcblxudmFyIGRlY29kZUhUTUxDYWNoZWQgPSBjYWNoZWQoaGUu
ZGVjb2RlKTtcblxuLy8gY29uZmlndXJhYmxlIHN0YXRlXG52YXIgd2FybiQyO1xudmFyIGRlbGlt
aXRlcnM7XG52YXIgdHJhbnNmb3JtcztcbnZhciBwcmVUcmFuc2Zvcm1zO1xudmFyIHBvc3RUcmFu
c2Zvcm1zO1xudmFyIHBsYXRmb3JtSXNQcmVUYWc7XG52YXIgcGxhdGZvcm1NdXN0VXNlUHJvcDtc
bnZhciBwbGF0Zm9ybUdldFRhZ05hbWVzcGFjZTtcblxuLyoqXG4gKiBDb252ZXJ0IEhUTUwgc3Ry
aW5nIHRvIEFTVC5cbiAqL1xuZnVuY3Rpb24gcGFyc2UgKFxuICB0ZW1wbGF0ZSxcbiAgb3B0aW9u
c1xuKSB7XG4gIHdhcm4kMiA9IG9wdGlvbnMud2FybiB8fCBiYXNlV2FybjtcblxuICBwbGF0Zm9y
bUlzUHJlVGFnID0gb3B0aW9ucy5pc1ByZVRhZyB8fCBubztcbiAgcGxhdGZvcm1NdXN0VXNlUHJv
cCA9IG9wdGlvbnMubXVzdFVzZVByb3AgfHwgbm87XG4gIHBsYXRmb3JtR2V0VGFnTmFtZXNwYWNl
ID0gb3B0aW9ucy5nZXRUYWdOYW1lc3BhY2UgfHwgbm87XG5cbiAgdHJhbnNmb3JtcyA9IHBsdWNr
TW9kdWxlRnVuY3Rpb24ob3B0aW9ucy5tb2R1bGVzLCAndHJhbnNmb3JtTm9kZScpO1xuICBwcmVU
cmFuc2Zvcm1zID0gcGx1Y2tNb2R1bGVGdW5jdGlvbihvcHRpb25zLm1vZHVsZXMsICdwcmVUcmFu
c2Zvcm1Ob2RlJyk7XG4gIHBvc3RUcmFuc2Zvcm1zID0gcGx1Y2tNb2R1bGVGdW5jdGlvbihvcHRp
b25zLm1vZHVsZXMsICdwb3N0VHJhbnNmb3JtTm9kZScpO1xuXG4gIGRlbGltaXRlcnMgPSBvcHRp
b25zLmRlbGltaXRlcnM7XG5cbiAgdmFyIHN0YWNrID0gW107XG4gIHZhciBwcmVzZXJ2ZVdoaXRl
c3BhY2UgPSBvcHRpb25zLnByZXNlcnZlV2hpdGVzcGFjZSAhPT0gZmFsc2U7XG4gIHZhciByb290
O1xuICB2YXIgY3VycmVudFBhcmVudDtcbiAgdmFyIGluVlByZSA9IGZhbHNlO1xuICB2YXIgaW5Q
cmUgPSBmYWxzZTtcbiAgdmFyIHdhcm5lZCA9IGZhbHNlO1xuXG4gIGZ1bmN0aW9uIHdhcm5PbmNl
IChtc2cpIHtcbiAgICBpZiAoIXdhcm5lZCkge1xuICAgICAgd2FybmVkID0gdHJ1ZTtcbiAgICAg
IHdhcm4kMihtc2cpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGVuZFByZSAoZWxlbWVudCkg
e1xuICAgIC8vIGNoZWNrIHByZSBzdGF0ZVxuICAgIGlmIChlbGVtZW50LnByZSkge1xuICAgICAg
aW5WUHJlID0gZmFsc2U7XG4gICAgfVxuICAgIGlmIChwbGF0Zm9ybUlzUHJlVGFnKGVsZW1lbnQu
dGFnKSkge1xuICAgICAgaW5QcmUgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwYXJzZUhUTUwo
dGVtcGxhdGUsIHtcbiAgICB3YXJuOiB3YXJuJDIsXG4gICAgZXhwZWN0SFRNTDogb3B0aW9ucy5l
eHBlY3RIVE1MLFxuICAgIGlzVW5hcnlUYWc6IG9wdGlvbnMuaXNVbmFyeVRhZyxcbiAgICBjYW5C
ZUxlZnRPcGVuVGFnOiBvcHRpb25zLmNhbkJlTGVmdE9wZW5UYWcsXG4gICAgc2hvdWxkRGVjb2Rl
TmV3bGluZXM6IG9wdGlvbnMuc2hvdWxkRGVjb2RlTmV3bGluZXMsXG4gICAgc2hvdWxkS2VlcENv
bW1lbnQ6IG9wdGlvbnMuY29tbWVudHMsXG4gICAgc3RhcnQ6IGZ1bmN0aW9uIHN0YXJ0ICh0YWcs
IGF0dHJzLCB1bmFyeSkge1xuICAgICAgLy8gY2hlY2sgbmFtZXNwYWNlLlxuICAgICAgLy8gaW5o
ZXJpdCBwYXJlbnQgbnMgaWYgdGhlcmUgaXMgb25lXG4gICAgICB2YXIgbnMgPSAoY3VycmVudFBh
cmVudCAmJiBjdXJyZW50UGFyZW50Lm5zKSB8fCBwbGF0Zm9ybUdldFRhZ05hbWVzcGFjZSh0YWcp
O1xuXG4gICAgICAvLyBoYW5kbGUgSUUgc3ZnIGJ1Z1xuICAgICAgLyogaXN0YW5idWwgaWdub3Jl
IGlmICovXG4gICAgICBpZiAoaXNJRSAmJiBucyA9PT0gJ3N2ZycpIHtcbiAgICAgICAgYXR0cnMg
PSBndWFyZElFU1ZHQnVnKGF0dHJzKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGVsZW1lbnQgPSB7
XG4gICAgICAgIHR5cGU6IDEsXG4gICAgICAgIHRhZzogdGFnLFxuICAgICAgICBhdHRyc0xpc3Q6
IGF0dHJzLFxuICAgICAgICBhdHRyc01hcDogbWFrZUF0dHJzTWFwKGF0dHJzKSxcbiAgICAgICAg
cGFyZW50OiBjdXJyZW50UGFyZW50LFxuICAgICAgICBjaGlsZHJlbjogW11cbiAgICAgIH07XG4g
ICAgICBpZiAobnMpIHtcbiAgICAgICAgZWxlbWVudC5ucyA9IG5zO1xuICAgICAgfVxuXG4gICAg
ICBpZiAoaXNGb3JiaWRkZW5UYWcoZWxlbWVudCkgJiYgIWlzU2VydmVyUmVuZGVyaW5nKCkpIHtc
biAgICAgICAgZWxlbWVudC5mb3JiaWRkZW4gPSB0cnVlO1xuICAgICAgICBcInByb2R1Y3Rpb25c
IiAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4kMihcbiAgICAgICAgICAnVGVtcGxhdGVzIHNob3Vs
ZCBvbmx5IGJlIHJlc3BvbnNpYmxlIGZvciBtYXBwaW5nIHRoZSBzdGF0ZSB0byB0aGUgJyArXG4g
ICAgICAgICAgJ1VJLiBBdm9pZCBwbGFjaW5nIHRhZ3Mgd2l0aCBzaWRlLWVmZmVjdHMgaW4geW91
ciB0ZW1wbGF0ZXMsIHN1Y2ggYXMgJyArXG4gICAgICAgICAgXCI8XCIgKyB0YWcgKyBcIj5cIiAr
ICcsIGFzIHRoZXkgd2lsbCBub3QgYmUgcGFyc2VkLidcbiAgICAgICAgKTtcbiAgICAgIH1cblxu
ICAgICAgLy8gYXBwbHkgcHJlLXRyYW5zZm9ybXNcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
cHJlVHJhbnNmb3Jtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBwcmVUcmFuc2Zvcm1zW2ldKGVs
ZW1lbnQsIG9wdGlvbnMpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWluVlByZSkge1xuICAgICAg
ICBwcm9jZXNzUHJlKGVsZW1lbnQpO1xuICAgICAgICBpZiAoZWxlbWVudC5wcmUpIHtcbiAgICAg
ICAgICBpblZQcmUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAocGxhdGZv
cm1Jc1ByZVRhZyhlbGVtZW50LnRhZykpIHtcbiAgICAgICAgaW5QcmUgPSB0cnVlO1xuICAgICAg
fVxuICAgICAgaWYgKGluVlByZSkge1xuICAgICAgICBwcm9jZXNzUmF3QXR0cnMoZWxlbWVudCk7
XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwcm9jZXNzRm9yKGVsZW1lbnQpO1xuICAgICAgICBw
cm9jZXNzSWYoZWxlbWVudCk7XG4gICAgICAgIHByb2Nlc3NPbmNlKGVsZW1lbnQpO1xuICAgICAg
ICBwcm9jZXNzS2V5KGVsZW1lbnQpO1xuXG4gICAgICAgIC8vIGRldGVybWluZSB3aGV0aGVyIHRo
aXMgaXMgYSBwbGFpbiBlbGVtZW50IGFmdGVyXG4gICAgICAgIC8vIHJlbW92aW5nIHN0cnVjdHVy
YWwgYXR0cmlidXRlc1xuICAgICAgICBlbGVtZW50LnBsYWluID0gIWVsZW1lbnQua2V5ICYmICFh
dHRycy5sZW5ndGg7XG5cbiAgICAgICAgcHJvY2Vzc1JlZihlbGVtZW50KTtcbiAgICAgICAgcHJv
Y2Vzc1Nsb3QoZWxlbWVudCk7XG4gICAgICAgIHByb2Nlc3NDb21wb25lbnQoZWxlbWVudCk7XG4g
ICAgICAgIGZvciAodmFyIGkkMSA9IDA7IGkkMSA8IHRyYW5zZm9ybXMubGVuZ3RoOyBpJDErKykg
e1xuICAgICAgICAgIHRyYW5zZm9ybXNbaSQxXShlbGVtZW50LCBvcHRpb25zKTtcbiAgICAgICAg
fVxuICAgICAgICBwcm9jZXNzQXR0cnMoZWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0
aW9uIGNoZWNrUm9vdENvbnN0cmFpbnRzIChlbCkge1xuICAgICAgICBpZiAoZmFsc2UpIHtcbiAg
ICAgICAgICBpZiAoZWwudGFnID09PSAnc2xvdCcgfHwgZWwudGFnID09PSAndGVtcGxhdGUnKSB7
XG4gICAgICAgICAgICB3YXJuT25jZShcbiAgICAgICAgICAgICAgXCJDYW5ub3QgdXNlIDxcIiAr
IChlbC50YWcpICsgXCI+IGFzIGNvbXBvbmVudCByb290IGVsZW1lbnQgYmVjYXVzZSBpdCBtYXkg
XCIgK1xuICAgICAgICAgICAgICAnY29udGFpbiBtdWx0aXBsZSBub2Rlcy4nXG4gICAgICAgICAg
ICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZWwuYXR0cnNNYXAuaGFzT3duUHJvcGVy
dHkoJ3YtZm9yJykpIHtcbiAgICAgICAgICAgIHdhcm5PbmNlKFxuICAgICAgICAgICAgICAnQ2Fu
bm90IHVzZSB2LWZvciBvbiBzdGF0ZWZ1bCBjb21wb25lbnQgcm9vdCBlbGVtZW50IGJlY2F1c2Ug
JyArXG4gICAgICAgICAgICAgICdpdCByZW5kZXJzIG11bHRpcGxlIGVsZW1lbnRzLidcbiAgICAg
ICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIHRy
ZWUgbWFuYWdlbWVudFxuICAgICAgaWYgKCFyb290KSB7XG4gICAgICAgIHJvb3QgPSBlbGVtZW50
O1xuICAgICAgICBjaGVja1Jvb3RDb25zdHJhaW50cyhyb290KTtcbiAgICAgIH0gZWxzZSBpZiAo
IXN0YWNrLmxlbmd0aCkge1xuICAgICAgICAvLyBhbGxvdyByb290IGVsZW1lbnRzIHdpdGggdi1p
Ziwgdi1lbHNlLWlmIGFuZCB2LWVsc2VcbiAgICAgICAgaWYgKHJvb3QuaWYgJiYgKGVsZW1lbnQu
ZWxzZWlmIHx8IGVsZW1lbnQuZWxzZSkpIHtcbiAgICAgICAgICBjaGVja1Jvb3RDb25zdHJhaW50
cyhlbGVtZW50KTtcbiAgICAgICAgICBhZGRJZkNvbmRpdGlvbihyb290LCB7XG4gICAgICAgICAg
ICBleHA6IGVsZW1lbnQuZWxzZWlmLFxuICAgICAgICAgICAgYmxvY2s6IGVsZW1lbnRcbiAgICAg
ICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChmYWxzZSkge1xuICAgICAgICAgIHdhcm5PbmNl
KFxuICAgICAgICAgICAgXCJDb21wb25lbnQgdGVtcGxhdGUgc2hvdWxkIGNvbnRhaW4gZXhhY3Rs
eSBvbmUgcm9vdCBlbGVtZW50LiBcIiArXG4gICAgICAgICAgICBcIklmIHlvdSBhcmUgdXNpbmcg
di1pZiBvbiBtdWx0aXBsZSBlbGVtZW50cywgXCIgK1xuICAgICAgICAgICAgXCJ1c2Ugdi1lbHNl
LWlmIHRvIGNoYWluIHRoZW0gaW5zdGVhZC5cIlxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAg
ICAgIH1cbiAgICAgIGlmIChjdXJyZW50UGFyZW50ICYmICFlbGVtZW50LmZvcmJpZGRlbikge1xu
ICAgICAgICBpZiAoZWxlbWVudC5lbHNlaWYgfHwgZWxlbWVudC5lbHNlKSB7XG4gICAgICAgICAg
cHJvY2Vzc0lmQ29uZGl0aW9ucyhlbGVtZW50LCBjdXJyZW50UGFyZW50KTtcbiAgICAgICAgfSBl
bHNlIGlmIChlbGVtZW50LnNsb3RTY29wZSkgeyAvLyBzY29wZWQgc2xvdFxuICAgICAgICAgIGN1
cnJlbnRQYXJlbnQucGxhaW4gPSBmYWxzZTtcbiAgICAgICAgICB2YXIgbmFtZSA9IGVsZW1lbnQu
c2xvdFRhcmdldCB8fCAnXCJkZWZhdWx0XCInOyhjdXJyZW50UGFyZW50LnNjb3BlZFNsb3RzIHx8
IChjdXJyZW50UGFyZW50LnNjb3BlZFNsb3RzID0ge30pKVtuYW1lXSA9IGVsZW1lbnQ7XG4gICAg
ICAgIH0gZWxzZSB7XG4gICAgICAgICAgY3VycmVudFBhcmVudC5jaGlsZHJlbi5wdXNoKGVsZW1l
bnQpO1xuICAgICAgICAgIGVsZW1lbnQucGFyZW50ID0gY3VycmVudFBhcmVudDtcbiAgICAgICAg
fVxuICAgICAgfVxuICAgICAgaWYgKCF1bmFyeSkge1xuICAgICAgICBjdXJyZW50UGFyZW50ID0g
ZWxlbWVudDtcbiAgICAgICAgc3RhY2sucHVzaChlbGVtZW50KTtcbiAgICAgIH0gZWxzZSB7XG4g
ICAgICAgIGVuZFByZShlbGVtZW50KTtcbiAgICAgIH1cbiAgICAgIC8vIGFwcGx5IHBvc3QtdHJh
bnNmb3Jtc1xuICAgICAgZm9yICh2YXIgaSQyID0gMDsgaSQyIDwgcG9zdFRyYW5zZm9ybXMubGVu
Z3RoOyBpJDIrKykge1xuICAgICAgICBwb3N0VHJhbnNmb3Jtc1tpJDJdKGVsZW1lbnQsIG9wdGlv
bnMpO1xuICAgICAgfVxuICAgIH0sXG5cbiAgICBlbmQ6IGZ1bmN0aW9uIGVuZCAoKSB7XG4gICAg
ICAvLyByZW1vdmUgdHJhaWxpbmcgd2hpdGVzcGFjZVxuICAgICAgdmFyIGVsZW1lbnQgPSBzdGFj
a1tzdGFjay5sZW5ndGggLSAxXTtcbiAgICAgIHZhciBsYXN0Tm9kZSA9IGVsZW1lbnQuY2hpbGRy
ZW5bZWxlbWVudC5jaGlsZHJlbi5sZW5ndGggLSAxXTtcbiAgICAgIGlmIChsYXN0Tm9kZSAmJiBs
YXN0Tm9kZS50eXBlID09PSAzICYmIGxhc3ROb2RlLnRleHQgPT09ICcgJyAmJiAhaW5QcmUpIHtc
biAgICAgICAgZWxlbWVudC5jaGlsZHJlbi5wb3AoKTtcbiAgICAgIH1cbiAgICAgIC8vIHBvcCBz
dGFja1xuICAgICAgc3RhY2subGVuZ3RoIC09IDE7XG4gICAgICBjdXJyZW50UGFyZW50ID0gc3Rh
Y2tbc3RhY2subGVuZ3RoIC0gMV07XG4gICAgICBlbmRQcmUoZWxlbWVudCk7XG4gICAgfSxcblxu
ICAgIGNoYXJzOiBmdW5jdGlvbiBjaGFycyAodGV4dCkge1xuICAgICAgaWYgKCFjdXJyZW50UGFy
ZW50KSB7XG4gICAgICAgIGlmIChmYWxzZSkge1xuICAgICAgICAgIGlmICh0ZXh0ID09PSB0ZW1w
bGF0ZSkge1xuICAgICAgICAgICAgd2Fybk9uY2UoXG4gICAgICAgICAgICAgICdDb21wb25lbnQg
dGVtcGxhdGUgcmVxdWlyZXMgYSByb290IGVsZW1lbnQsIHJhdGhlciB0aGFuIGp1c3QgdGV4dC4n
XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSBpZiAoKHRleHQgPSB0ZXh0LnRyaW0o
KSkpIHtcbiAgICAgICAgICAgIHdhcm5PbmNlKFxuICAgICAgICAgICAgICAoXCJ0ZXh0IFxcXCJc
IiArIHRleHQgKyBcIlxcXCIgb3V0c2lkZSByb290IGVsZW1lbnQgd2lsbCBiZSBpZ25vcmVkLlwi
KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJu
XG4gICAgICB9XG4gICAgICAvLyBJRSB0ZXh0YXJlYSBwbGFjZWhvbGRlciBidWdcbiAgICAgIC8q
IGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgaWYgKGlzSUUgJiZcbiAgICAgICAgY3VycmVu
dFBhcmVudC50YWcgPT09ICd0ZXh0YXJlYScgJiZcbiAgICAgICAgY3VycmVudFBhcmVudC5hdHRy
c01hcC5wbGFjZWhvbGRlciA9PT0gdGV4dFxuICAgICAgKSB7XG4gICAgICAgIHJldHVyblxuICAg
ICAgfVxuICAgICAgdmFyIGNoaWxkcmVuID0gY3VycmVudFBhcmVudC5jaGlsZHJlbjtcbiAgICAg
IHRleHQgPSBpblByZSB8fCB0ZXh0LnRyaW0oKVxuICAgICAgICA/IGlzVGV4dFRhZyhjdXJyZW50
UGFyZW50KSA/IHRleHQgOiBkZWNvZGVIVE1MQ2FjaGVkKHRleHQpXG4gICAgICAgIC8vIG9ubHkg
cHJlc2VydmUgd2hpdGVzcGFjZSBpZiBpdHMgbm90IHJpZ2h0IGFmdGVyIGEgc3RhcnRpbmcgdGFn
XG4gICAgICAgIDogcHJlc2VydmVXaGl0ZXNwYWNlICYmIGNoaWxkcmVuLmxlbmd0aCA/ICcgJyA6
ICcnO1xuICAgICAgaWYgKHRleHQpIHtcbiAgICAgICAgdmFyIGV4cHJlc3Npb247XG4gICAgICAg
IGlmICghaW5WUHJlICYmIHRleHQgIT09ICcgJyAmJiAoZXhwcmVzc2lvbiA9IHBhcnNlVGV4dCh0
ZXh0LCBkZWxpbWl0ZXJzKSkpIHtcbiAgICAgICAgICBjaGlsZHJlbi5wdXNoKHtcbiAgICAgICAg
ICAgIHR5cGU6IDIsXG4gICAgICAgICAgICBleHByZXNzaW9uOiBleHByZXNzaW9uLFxuICAgICAg
ICAgICAgdGV4dDogdGV4dFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKHRleHQg
IT09ICcgJyB8fCAhY2hpbGRyZW4ubGVuZ3RoIHx8IGNoaWxkcmVuW2NoaWxkcmVuLmxlbmd0aCAt
IDFdLnRleHQgIT09ICcgJykge1xuICAgICAgICAgIGNoaWxkcmVuLnB1c2goe1xuICAgICAgICAg
ICAgdHlwZTogMyxcbiAgICAgICAgICAgIHRleHQ6IHRleHRcbiAgICAgICAgICB9KTtcbiAgICAg
ICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgY29tbWVudDogZnVuY3Rpb24gY29tbWVudCAodGV4
dCkge1xuICAgICAgY3VycmVudFBhcmVudC5jaGlsZHJlbi5wdXNoKHtcbiAgICAgICAgdHlwZTog
MyxcbiAgICAgICAgdGV4dDogdGV4dCxcbiAgICAgICAgaXNDb21tZW50OiB0cnVlXG4gICAgICB9
KTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gcm9vdFxufVxuXG5mdW5jdGlvbiBwcm9jZXNzUHJl
IChlbCkge1xuICBpZiAoZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3YtcHJlJykgIT0gbnVsbCkge1xu
ICAgIGVsLnByZSA9IHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvY2Vzc1Jhd0F0dHJzIChl
bCkge1xuICB2YXIgbCA9IGVsLmF0dHJzTGlzdC5sZW5ndGg7XG4gIGlmIChsKSB7XG4gICAgdmFy
IGF0dHJzID0gZWwuYXR0cnMgPSBuZXcgQXJyYXkobCk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBsOyBpKyspIHtcbiAgICAgIGF0dHJzW2ldID0ge1xuICAgICAgICBuYW1lOiBlbC5hdHRyc0xp
c3RbaV0ubmFtZSxcbiAgICAgICAgdmFsdWU6IEpTT04uc3RyaW5naWZ5KGVsLmF0dHJzTGlzdFtp
XS52YWx1ZSlcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2UgaWYgKCFlbC5wcmUpIHtcbiAgICAv
LyBub24gcm9vdCBub2RlIGluIHByZSBibG9ja3Mgd2l0aCBubyBhdHRyaWJ1dGVzXG4gICAgZWwu
cGxhaW4gPSB0cnVlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NLZXkgKGVsKSB7XG4gIHZh
ciBleHAgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ2tleScpO1xuICBpZiAoZXhwKSB7XG4gICAgaWYg
KGZhbHNlKSB7XG4gICAgICB3YXJuJDIoXCI8dGVtcGxhdGU+IGNhbm5vdCBiZSBrZXllZC4gUGxh
Y2UgdGhlIGtleSBvbiByZWFsIGVsZW1lbnRzIGluc3RlYWQuXCIpO1xuICAgIH1cbiAgICBlbC5r
ZXkgPSBleHA7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvY2Vzc1JlZiAoZWwpIHtcbiAgdmFyIHJl
ZiA9IGdldEJpbmRpbmdBdHRyKGVsLCAncmVmJyk7XG4gIGlmIChyZWYpIHtcbiAgICBlbC5yZWYg
PSByZWY7XG4gICAgZWwucmVmSW5Gb3IgPSBjaGVja0luRm9yKGVsKTtcbiAgfVxufVxuXG5mdW5j
dGlvbiBwcm9jZXNzRm9yIChlbCkge1xuICB2YXIgZXhwO1xuICBpZiAoKGV4cCA9IGdldEFuZFJl
bW92ZUF0dHIoZWwsICd2LWZvcicpKSkge1xuICAgIHZhciBpbk1hdGNoID0gZXhwLm1hdGNoKGZv
ckFsaWFzUkUpO1xuICAgIGlmICghaW5NYXRjaCkge1xuICAgICAgXCJwcm9kdWN0aW9uXCIgIT09
ICdwcm9kdWN0aW9uJyAmJiB3YXJuJDIoXG4gICAgICAgIChcIkludmFsaWQgdi1mb3IgZXhwcmVz
c2lvbjogXCIgKyBleHApXG4gICAgICApO1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGVsLmZv
ciA9IGluTWF0Y2hbMl0udHJpbSgpO1xuICAgIHZhciBhbGlhcyA9IGluTWF0Y2hbMV0udHJpbSgp
O1xuICAgIHZhciBpdGVyYXRvck1hdGNoID0gYWxpYXMubWF0Y2goZm9ySXRlcmF0b3JSRSk7XG4g
ICAgaWYgKGl0ZXJhdG9yTWF0Y2gpIHtcbiAgICAgIGVsLmFsaWFzID0gaXRlcmF0b3JNYXRjaFsx
XS50cmltKCk7XG4gICAgICBlbC5pdGVyYXRvcjEgPSBpdGVyYXRvck1hdGNoWzJdLnRyaW0oKTtc
biAgICAgIGlmIChpdGVyYXRvck1hdGNoWzNdKSB7XG4gICAgICAgIGVsLml0ZXJhdG9yMiA9IGl0
ZXJhdG9yTWF0Y2hbM10udHJpbSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBlbC5h
bGlhcyA9IGFsaWFzO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwcm9jZXNzSWYgKGVsKSB7
XG4gIHZhciBleHAgPSBnZXRBbmRSZW1vdmVBdHRyKGVsLCAndi1pZicpO1xuICBpZiAoZXhwKSB7
XG4gICAgZWwuaWYgPSBleHA7XG4gICAgYWRkSWZDb25kaXRpb24oZWwsIHtcbiAgICAgIGV4cDog
ZXhwLFxuICAgICAgYmxvY2s6IGVsXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKGdldEFu
ZFJlbW92ZUF0dHIoZWwsICd2LWVsc2UnKSAhPSBudWxsKSB7XG4gICAgICBlbC5lbHNlID0gdHJ1
ZTtcbiAgICB9XG4gICAgdmFyIGVsc2VpZiA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICd2LWVsc2Ut
aWYnKTtcbiAgICBpZiAoZWxzZWlmKSB7XG4gICAgICBlbC5lbHNlaWYgPSBlbHNlaWY7XG4gICAg
fVxuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NJZkNvbmRpdGlvbnMgKGVsLCBwYXJlbnQpIHtc
biAgdmFyIHByZXYgPSBmaW5kUHJldkVsZW1lbnQocGFyZW50LmNoaWxkcmVuKTtcbiAgaWYgKHBy
ZXYgJiYgcHJldi5pZikge1xuICAgIGFkZElmQ29uZGl0aW9uKHByZXYsIHtcbiAgICAgIGV4cDog
ZWwuZWxzZWlmLFxuICAgICAgYmxvY2s6IGVsXG4gICAgfSk7XG4gIH0gZWxzZSBpZiAoZmFsc2Up
IHtcbiAgICB3YXJuJDIoXG4gICAgICBcInYtXCIgKyAoZWwuZWxzZWlmID8gKCdlbHNlLWlmPVwi
JyArIGVsLmVsc2VpZiArICdcIicpIDogJ2Vsc2UnKSArIFwiIFwiICtcbiAgICAgIFwidXNlZCBv
biBlbGVtZW50IDxcIiArIChlbC50YWcpICsgXCI+IHdpdGhvdXQgY29ycmVzcG9uZGluZyB2LWlm
LlwiXG4gICAgKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmaW5kUHJldkVsZW1lbnQgKGNoaWxkcmVu
KSB7XG4gIHZhciBpID0gY2hpbGRyZW4ubGVuZ3RoO1xuICB3aGlsZSAoaS0tKSB7XG4gICAgaWYg
KGNoaWxkcmVuW2ldLnR5cGUgPT09IDEpIHtcbiAgICAgIHJldHVybiBjaGlsZHJlbltpXVxuICAg
IH0gZWxzZSB7XG4gICAgICBpZiAoZmFsc2UpIHtcbiAgICAgICAgd2FybiQyKFxuICAgICAgICAg
IFwidGV4dCBcXFwiXCIgKyAoY2hpbGRyZW5baV0udGV4dC50cmltKCkpICsgXCJcXFwiIGJldHdl
ZW4gdi1pZiBhbmQgdi1lbHNlKC1pZikgXCIgK1xuICAgICAgICAgIFwid2lsbCBiZSBpZ25vcmVk
LlwiXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBjaGlsZHJlbi5wb3AoKTtcbiAgICB9XG4g
IH1cbn1cblxuZnVuY3Rpb24gYWRkSWZDb25kaXRpb24gKGVsLCBjb25kaXRpb24pIHtcbiAgaWYg
KCFlbC5pZkNvbmRpdGlvbnMpIHtcbiAgICBlbC5pZkNvbmRpdGlvbnMgPSBbXTtcbiAgfVxuICBl
bC5pZkNvbmRpdGlvbnMucHVzaChjb25kaXRpb24pO1xufVxuXG5mdW5jdGlvbiBwcm9jZXNzT25j
ZSAoZWwpIHtcbiAgdmFyIG9uY2UkJDEgPSBnZXRBbmRSZW1vdmVBdHRyKGVsLCAndi1vbmNlJyk7
XG4gIGlmIChvbmNlJCQxICE9IG51bGwpIHtcbiAgICBlbC5vbmNlID0gdHJ1ZTtcbiAgfVxufVxu
XG5mdW5jdGlvbiBwcm9jZXNzU2xvdCAoZWwpIHtcbiAgaWYgKGVsLnRhZyA9PT0gJ3Nsb3QnKSB7
XG4gICAgZWwuc2xvdE5hbWUgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ25hbWUnKTtcbiAgICBpZiAo
ZmFsc2UpIHtcbiAgICAgIHdhcm4kMihcbiAgICAgICAgXCJga2V5YCBkb2VzIG5vdCB3b3JrIG9u
IDxzbG90PiBiZWNhdXNlIHNsb3RzIGFyZSBhYnN0cmFjdCBvdXRsZXRzIFwiICtcbiAgICAgICAg
XCJhbmQgY2FuIHBvc3NpYmx5IGV4cGFuZCBpbnRvIG11bHRpcGxlIGVsZW1lbnRzLiBcIiArXG4g
ICAgICAgIFwiVXNlIHRoZSBrZXkgb24gYSB3cmFwcGluZyBlbGVtZW50IGluc3RlYWQuXCJcbiAg
ICAgICk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHZhciBzbG90VGFyZ2V0ID0gZ2V0QmluZGlu
Z0F0dHIoZWwsICdzbG90Jyk7XG4gICAgaWYgKHNsb3RUYXJnZXQpIHtcbiAgICAgIGVsLnNsb3RU
YXJnZXQgPSBzbG90VGFyZ2V0ID09PSAnXCJcIicgPyAnXCJkZWZhdWx0XCInIDogc2xvdFRhcmdl
dDtcbiAgICB9XG4gICAgaWYgKGVsLnRhZyA9PT0gJ3RlbXBsYXRlJykge1xuICAgICAgZWwuc2xv
dFNjb3BlID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3Njb3BlJyk7XG4gICAgfVxuICB9XG59XG5c
bmZ1bmN0aW9uIHByb2Nlc3NDb21wb25lbnQgKGVsKSB7XG4gIHZhciBiaW5kaW5nO1xuICBpZiAo
KGJpbmRpbmcgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ2lzJykpKSB7XG4gICAgZWwuY29tcG9uZW50
ID0gYmluZGluZztcbiAgfVxuICBpZiAoZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ2lubGluZS10ZW1w
bGF0ZScpICE9IG51bGwpIHtcbiAgICBlbC5pbmxpbmVUZW1wbGF0ZSA9IHRydWU7XG4gIH1cbn1c
blxuZnVuY3Rpb24gcHJvY2Vzc0F0dHJzIChlbCkge1xuICB2YXIgbGlzdCA9IGVsLmF0dHJzTGlz
dDtcbiAgdmFyIGksIGwsIG5hbWUsIHJhd05hbWUsIHZhbHVlLCBtb2RpZmllcnMsIGlzUHJvcDtc
biAgZm9yIChpID0gMCwgbCA9IGxpc3QubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgbmFtZSA9
IHJhd05hbWUgPSBsaXN0W2ldLm5hbWU7XG4gICAgdmFsdWUgPSBsaXN0W2ldLnZhbHVlO1xuICAg
IGlmIChkaXJSRS50ZXN0KG5hbWUpKSB7XG4gICAgICAvLyBtYXJrIGVsZW1lbnQgYXMgZHluYW1p
Y1xuICAgICAgZWwuaGFzQmluZGluZ3MgPSB0cnVlO1xuICAgICAgLy8gbW9kaWZpZXJzXG4gICAg
ICBtb2RpZmllcnMgPSBwYXJzZU1vZGlmaWVycyhuYW1lKTtcbiAgICAgIGlmIChtb2RpZmllcnMp
IHtcbiAgICAgICAgbmFtZSA9IG5hbWUucmVwbGFjZShtb2RpZmllclJFLCAnJyk7XG4gICAgICB9
XG4gICAgICBpZiAoYmluZFJFLnRlc3QobmFtZSkpIHsgLy8gdi1iaW5kXG4gICAgICAgIG5hbWUg
PSBuYW1lLnJlcGxhY2UoYmluZFJFLCAnJyk7XG4gICAgICAgIHZhbHVlID0gcGFyc2VGaWx0ZXJz
KHZhbHVlKTtcbiAgICAgICAgaXNQcm9wID0gZmFsc2U7XG4gICAgICAgIGlmIChtb2RpZmllcnMp
IHtcbiAgICAgICAgICBpZiAobW9kaWZpZXJzLnByb3ApIHtcbiAgICAgICAgICAgIGlzUHJvcCA9
IHRydWU7XG4gICAgICAgICAgICBuYW1lID0gY2FtZWxpemUobmFtZSk7XG4gICAgICAgICAgICBp
ZiAobmFtZSA9PT0gJ2lubmVySHRtbCcpIHsgbmFtZSA9ICdpbm5lckhUTUwnOyB9XG4gICAgICAg
ICAgfVxuICAgICAgICAgIGlmIChtb2RpZmllcnMuY2FtZWwpIHtcbiAgICAgICAgICAgIG5hbWUg
PSBjYW1lbGl6ZShuYW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKG1vZGlmaWVycy5z
eW5jKSB7XG4gICAgICAgICAgICBhZGRIYW5kbGVyKFxuICAgICAgICAgICAgICBlbCxcbiAgICAg
ICAgICAgICAgKFwidXBkYXRlOlwiICsgKGNhbWVsaXplKG5hbWUpKSksXG4gICAgICAgICAgICAg
IGdlbkFzc2lnbm1lbnRDb2RlKHZhbHVlLCBcIiRldmVudFwiKVxuICAgICAgICAgICAgKTtcbiAg
ICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzUHJvcCB8fCAoXG4gICAgICAgICAg
IWVsLmNvbXBvbmVudCAmJiBwbGF0Zm9ybU11c3RVc2VQcm9wKGVsLnRhZywgZWwuYXR0cnNNYXAu
dHlwZSwgbmFtZSlcbiAgICAgICAgKSkge1xuICAgICAgICAgIGFkZFByb3AoZWwsIG5hbWUsIHZh
bHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhZGRBdHRyKGVsLCBuYW1lLCB2YWx1
ZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAob25SRS50ZXN0KG5hbWUpKSB7IC8vIHYt
b25cbiAgICAgICAgbmFtZSA9IG5hbWUucmVwbGFjZShvblJFLCAnJyk7XG4gICAgICAgIGFkZEhh
bmRsZXIoZWwsIG5hbWUsIHZhbHVlLCBtb2RpZmllcnMsIGZhbHNlLCB3YXJuJDIpO1xuICAgICAg
fSBlbHNlIHsgLy8gbm9ybWFsIGRpcmVjdGl2ZXNcbiAgICAgICAgbmFtZSA9IG5hbWUucmVwbGFj
ZShkaXJSRSwgJycpO1xuICAgICAgICAvLyBwYXJzZSBhcmdcbiAgICAgICAgdmFyIGFyZ01hdGNo
ID0gbmFtZS5tYXRjaChhcmdSRSk7XG4gICAgICAgIHZhciBhcmcgPSBhcmdNYXRjaCAmJiBhcmdN
YXRjaFsxXTtcbiAgICAgICAgaWYgKGFyZykge1xuICAgICAgICAgIG5hbWUgPSBuYW1lLnNsaWNl
KDAsIC0oYXJnLmxlbmd0aCArIDEpKTtcbiAgICAgICAgfVxuICAgICAgICBhZGREaXJlY3RpdmUo
ZWwsIG5hbWUsIHJhd05hbWUsIHZhbHVlLCBhcmcsIG1vZGlmaWVycyk7XG4gICAgICAgIGlmIChm
YWxzZSkge1xuICAgICAgICAgIGNoZWNrRm9yQWxpYXNNb2RlbChlbCwgdmFsdWUpO1xuICAgICAg
ICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGxpdGVyYWwgYXR0cmlidXRlXG4g
ICAgICBpZiAoZmFsc2UpIHtcbiAgICAgICAgdmFyIGV4cHJlc3Npb24gPSBwYXJzZVRleHQodmFs
dWUsIGRlbGltaXRlcnMpO1xuICAgICAgICBpZiAoZXhwcmVzc2lvbikge1xuICAgICAgICAgIHdh
cm4kMihcbiAgICAgICAgICAgIG5hbWUgKyBcIj1cXFwiXCIgKyB2YWx1ZSArIFwiXFxcIjogXCIg
K1xuICAgICAgICAgICAgJ0ludGVycG9sYXRpb24gaW5zaWRlIGF0dHJpYnV0ZXMgaGFzIGJlZW4g
cmVtb3ZlZC4gJyArXG4gICAgICAgICAgICAnVXNlIHYtYmluZCBvciB0aGUgY29sb24gc2hvcnRo
YW5kIGluc3RlYWQuIEZvciBleGFtcGxlLCAnICtcbiAgICAgICAgICAgICdpbnN0ZWFkIG9mIDxk
aXYgaWQ9XCJ7eyB2YWwgfX1cIj4sIHVzZSA8ZGl2IDppZD1cInZhbFwiPi4nXG4gICAgICAgICAg
KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYWRkQXR0cihlbCwgbmFtZSwgSlNPTi5zdHJp
bmdpZnkodmFsdWUpKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tJbkZvciAoZWwp
IHtcbiAgdmFyIHBhcmVudCA9IGVsO1xuICB3aGlsZSAocGFyZW50KSB7XG4gICAgaWYgKHBhcmVu
dC5mb3IgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgcGFy
ZW50ID0gcGFyZW50LnBhcmVudDtcbiAgfVxuICByZXR1cm4gZmFsc2Vcbn1cblxuZnVuY3Rpb24g
cGFyc2VNb2RpZmllcnMgKG5hbWUpIHtcbiAgdmFyIG1hdGNoID0gbmFtZS5tYXRjaChtb2RpZmll
clJFKTtcbiAgaWYgKG1hdGNoKSB7XG4gICAgdmFyIHJldCA9IHt9O1xuICAgIG1hdGNoLmZvckVh
Y2goZnVuY3Rpb24gKG0pIHsgcmV0W20uc2xpY2UoMSldID0gdHJ1ZTsgfSk7XG4gICAgcmV0dXJu
IHJldFxuICB9XG59XG5cbmZ1bmN0aW9uIG1ha2VBdHRyc01hcCAoYXR0cnMpIHtcbiAgdmFyIG1h
cCA9IHt9O1xuICBmb3IgKHZhciBpID0gMCwgbCA9IGF0dHJzLmxlbmd0aDsgaSA8IGw7IGkrKykg
e1xuICAgIGlmIChcbiAgICAgIGZhbHNlXG4gICAgKSB7XG4gICAgICB3YXJuJDIoJ2R1cGxpY2F0
ZSBhdHRyaWJ1dGU6ICcgKyBhdHRyc1tpXS5uYW1lKTtcbiAgICB9XG4gICAgbWFwW2F0dHJzW2ld
Lm5hbWVdID0gYXR0cnNbaV0udmFsdWU7XG4gIH1cbiAgcmV0dXJuIG1hcFxufVxuXG4vLyBmb3Ig
c2NyaXB0IChlLmcuIHR5cGU9XCJ4L3RlbXBsYXRlXCIpIG9yIHN0eWxlLCBkbyBub3QgZGVjb2Rl
IGNvbnRlbnRcbmZ1bmN0aW9uIGlzVGV4dFRhZyAoZWwpIHtcbiAgcmV0dXJuIGVsLnRhZyA9PT0g
J3NjcmlwdCcgfHwgZWwudGFnID09PSAnc3R5bGUnXG59XG5cbmZ1bmN0aW9uIGlzRm9yYmlkZGVu
VGFnIChlbCkge1xuICByZXR1cm4gKFxuICAgIGVsLnRhZyA9PT0gJ3N0eWxlJyB8fFxuICAgIChl
bC50YWcgPT09ICdzY3JpcHQnICYmIChcbiAgICAgICFlbC5hdHRyc01hcC50eXBlIHx8XG4gICAg
ICBlbC5hdHRyc01hcC50eXBlID09PSAndGV4dC9qYXZhc2NyaXB0J1xuICAgICkpXG4gIClcbn1c
blxudmFyIGllTlNCdWcgPSAvXnhtbG5zOk5TXFxkKy87XG52YXIgaWVOU1ByZWZpeCA9IC9eTlNc
XGQrOi87XG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5mdW5jdGlvbiBndWFyZElFU1ZH
QnVnIChhdHRycykge1xuICB2YXIgcmVzID0gW107XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYXR0
cnMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgYXR0ciA9IGF0dHJzW2ldO1xuICAgIGlmICghaWVO
U0J1Zy50ZXN0KGF0dHIubmFtZSkpIHtcbiAgICAgIGF0dHIubmFtZSA9IGF0dHIubmFtZS5yZXBs
YWNlKGllTlNQcmVmaXgsICcnKTtcbiAgICAgIHJlcy5wdXNoKGF0dHIpO1xuICAgIH1cbiAgfVxu
ICByZXR1cm4gcmVzXG59XG5cbmZ1bmN0aW9uIGNoZWNrRm9yQWxpYXNNb2RlbCAoZWwsIHZhbHVl
KSB7XG4gIHZhciBfZWwgPSBlbDtcbiAgd2hpbGUgKF9lbCkge1xuICAgIGlmIChfZWwuZm9yICYm
IF9lbC5hbGlhcyA9PT0gdmFsdWUpIHtcbiAgICAgIHdhcm4kMihcbiAgICAgICAgXCI8XCIgKyAo
ZWwudGFnKSArIFwiIHYtbW9kZWw9XFxcIlwiICsgdmFsdWUgKyBcIlxcXCI+OiBcIiArXG4gICAg
ICAgIFwiWW91IGFyZSBiaW5kaW5nIHYtbW9kZWwgZGlyZWN0bHkgdG8gYSB2LWZvciBpdGVyYXRp
b24gYWxpYXMuIFwiICtcbiAgICAgICAgXCJUaGlzIHdpbGwgbm90IGJlIGFibGUgdG8gbW9kaWZ5
IHRoZSB2LWZvciBzb3VyY2UgYXJyYXkgYmVjYXVzZSBcIiArXG4gICAgICAgIFwid3JpdGluZyB0
byB0aGUgYWxpYXMgaXMgbGlrZSBtb2RpZnlpbmcgYSBmdW5jdGlvbiBsb2NhbCB2YXJpYWJsZS4g
XCIgK1xuICAgICAgICBcIkNvbnNpZGVyIHVzaW5nIGFuIGFycmF5IG9mIG9iamVjdHMgYW5kIHVz
ZSB2LW1vZGVsIG9uIGFuIG9iamVjdCBwcm9wZXJ0eSBpbnN0ZWFkLlwiXG4gICAgICApO1xuICAg
IH1cbiAgICBfZWwgPSBfZWwucGFyZW50O1xuICB9XG59XG5cbi8qICAqL1xuXG52YXIgaXNTdGF0
aWNLZXk7XG52YXIgaXNQbGF0Zm9ybVJlc2VydmVkVGFnO1xuXG52YXIgZ2VuU3RhdGljS2V5c0Nh
Y2hlZCA9IGNhY2hlZChnZW5TdGF0aWNLZXlzJDEpO1xuXG4vKipcbiAqIEdvYWwgb2YgdGhlIG9w
dGltaXplcjogd2FsayB0aGUgZ2VuZXJhdGVkIHRlbXBsYXRlIEFTVCB0cmVlXG4gKiBhbmQgZGV0
ZWN0IHN1Yi10cmVlcyB0aGF0IGFyZSBwdXJlbHkgc3RhdGljLCBpLmUuIHBhcnRzIG9mXG4gKiB0
aGUgRE9NIHRoYXQgbmV2ZXIgbmVlZHMgdG8gY2hhbmdlLlxuICpcbiAqIE9uY2Ugd2UgZGV0ZWN0
IHRoZXNlIHN1Yi10cmVlcywgd2UgY2FuOlxuICpcbiAqIDEuIEhvaXN0IHRoZW0gaW50byBjb25z
dGFudHMsIHNvIHRoYXQgd2Ugbm8gbG9uZ2VyIG5lZWQgdG9cbiAqICAgIGNyZWF0ZSBmcmVzaCBu
b2RlcyBmb3IgdGhlbSBvbiBlYWNoIHJlLXJlbmRlcjtcbiAqIDIuIENvbXBsZXRlbHkgc2tpcCB0
aGVtIGluIHRoZSBwYXRjaGluZyBwcm9jZXNzLlxuICovXG5mdW5jdGlvbiBvcHRpbWl6ZSAocm9v
dCwgb3B0aW9ucykge1xuICBpZiAoIXJvb3QpIHsgcmV0dXJuIH1cbiAgaXNTdGF0aWNLZXkgPSBn
ZW5TdGF0aWNLZXlzQ2FjaGVkKG9wdGlvbnMuc3RhdGljS2V5cyB8fCAnJyk7XG4gIGlzUGxhdGZv
cm1SZXNlcnZlZFRhZyA9IG9wdGlvbnMuaXNSZXNlcnZlZFRhZyB8fCBubztcbiAgLy8gZmlyc3Qg
cGFzczogbWFyayBhbGwgbm9uLXN0YXRpYyBub2Rlcy5cbiAgbWFya1N0YXRpYyQxKHJvb3QpO1xu
ICAvLyBzZWNvbmQgcGFzczogbWFyayBzdGF0aWMgcm9vdHMuXG4gIG1hcmtTdGF0aWNSb290cyhy
b290LCBmYWxzZSk7XG59XG5cbmZ1bmN0aW9uIGdlblN0YXRpY0tleXMkMSAoa2V5cykge1xuICBy
ZXR1cm4gbWFrZU1hcChcbiAgICAndHlwZSx0YWcsYXR0cnNMaXN0LGF0dHJzTWFwLHBsYWluLHBh
cmVudCxjaGlsZHJlbixhdHRycycgK1xuICAgIChrZXlzID8gJywnICsga2V5cyA6ICcnKVxuICAp
XG59XG5cbmZ1bmN0aW9uIG1hcmtTdGF0aWMkMSAobm9kZSkge1xuICBub2RlLnN0YXRpYyA9IGlz
U3RhdGljKG5vZGUpO1xuICBpZiAobm9kZS50eXBlID09PSAxKSB7XG4gICAgLy8gZG8gbm90IG1h
a2UgY29tcG9uZW50IHNsb3QgY29udGVudCBzdGF0aWMuIHRoaXMgYXZvaWRzXG4gICAgLy8gMS4g
Y29tcG9uZW50cyBub3QgYWJsZSB0byBtdXRhdGUgc2xvdCBub2Rlc1xuICAgIC8vIDIuIHN0YXRp
YyBzbG90IGNvbnRlbnQgZmFpbHMgZm9yIGhvdC1yZWxvYWRpbmdcbiAgICBpZiAoXG4gICAgICAh
aXNQbGF0Zm9ybVJlc2VydmVkVGFnKG5vZGUudGFnKSAmJlxuICAgICAgbm9kZS50YWcgIT09ICdz
bG90JyAmJlxuICAgICAgbm9kZS5hdHRyc01hcFsnaW5saW5lLXRlbXBsYXRlJ10gPT0gbnVsbFxu
ICAgICkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGZvciAodmFyIGkgPSAwLCBsID0gbm9k
ZS5jaGlsZHJlbi5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIHZhciBjaGlsZCA9IG5vZGUu
Y2hpbGRyZW5baV07XG4gICAgICBtYXJrU3RhdGljJDEoY2hpbGQpO1xuICAgICAgaWYgKCFjaGls
ZC5zdGF0aWMpIHtcbiAgICAgICAgbm9kZS5zdGF0aWMgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9
XG4gICAgaWYgKG5vZGUuaWZDb25kaXRpb25zKSB7XG4gICAgICBmb3IgKHZhciBpJDEgPSAxLCBs
JDEgPSBub2RlLmlmQ29uZGl0aW9ucy5sZW5ndGg7IGkkMSA8IGwkMTsgaSQxKyspIHtcbiAgICAg
ICAgdmFyIGJsb2NrID0gbm9kZS5pZkNvbmRpdGlvbnNbaSQxXS5ibG9jaztcbiAgICAgICAgbWFy
a1N0YXRpYyQxKGJsb2NrKTtcbiAgICAgICAgaWYgKCFibG9jay5zdGF0aWMpIHtcbiAgICAgICAg
ICBub2RlLnN0YXRpYyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59
XG5cbmZ1bmN0aW9uIG1hcmtTdGF0aWNSb290cyAobm9kZSwgaXNJbkZvcikge1xuICBpZiAobm9k
ZS50eXBlID09PSAxKSB7XG4gICAgaWYgKG5vZGUuc3RhdGljIHx8IG5vZGUub25jZSkge1xuICAg
ICAgbm9kZS5zdGF0aWNJbkZvciA9IGlzSW5Gb3I7XG4gICAgfVxuICAgIC8vIEZvciBhIG5vZGUg
dG8gcXVhbGlmeSBhcyBhIHN0YXRpYyByb290LCBpdCBzaG91bGQgaGF2ZSBjaGlsZHJlbiB0aGF0
XG4gICAgLy8gYXJlIG5vdCBqdXN0IHN0YXRpYyB0ZXh0LiBPdGhlcndpc2UgdGhlIGNvc3Qgb2Yg
aG9pc3Rpbmcgb3V0IHdpbGxcbiAgICAvLyBvdXR3ZWlnaCB0aGUgYmVuZWZpdHMgYW5kIGl0J3Mg
YmV0dGVyIG9mZiB0byBqdXN0IGFsd2F5cyByZW5kZXIgaXQgZnJlc2guXG4gICAgaWYgKG5vZGUu
c3RhdGljICYmIG5vZGUuY2hpbGRyZW4ubGVuZ3RoICYmICEoXG4gICAgICBub2RlLmNoaWxkcmVu
Lmxlbmd0aCA9PT0gMSAmJlxuICAgICAgbm9kZS5jaGlsZHJlblswXS50eXBlID09PSAzXG4gICAg
KSkge1xuICAgICAgbm9kZS5zdGF0aWNSb290ID0gdHJ1ZTtcbiAgICAgIHJldHVyblxuICAgIH0g
ZWxzZSB7XG4gICAgICBub2RlLnN0YXRpY1Jvb3QgPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKG5v
ZGUuY2hpbGRyZW4pIHtcbiAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gbm9kZS5jaGlsZHJlbi5s
ZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgbWFya1N0YXRpY1Jvb3RzKG5vZGUuY2hpbGRy
ZW5baV0sIGlzSW5Gb3IgfHwgISFub2RlLmZvcik7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChu
b2RlLmlmQ29uZGl0aW9ucykge1xuICAgICAgZm9yICh2YXIgaSQxID0gMSwgbCQxID0gbm9kZS5p
ZkNvbmRpdGlvbnMubGVuZ3RoOyBpJDEgPCBsJDE7IGkkMSsrKSB7XG4gICAgICAgIG1hcmtTdGF0
aWNSb290cyhub2RlLmlmQ29uZGl0aW9uc1tpJDFdLmJsb2NrLCBpc0luRm9yKTtcbiAgICAgIH1c
biAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNTdGF0aWMgKG5vZGUpIHtcbiAgaWYgKG5vZGUu
dHlwZSA9PT0gMikgeyAvLyBleHByZXNzaW9uXG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgaWYg
KG5vZGUudHlwZSA9PT0gMykgeyAvLyB0ZXh0XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuICByZXR1
cm4gISEobm9kZS5wcmUgfHwgKFxuICAgICFub2RlLmhhc0JpbmRpbmdzICYmIC8vIG5vIGR5bmFt
aWMgYmluZGluZ3NcbiAgICAhbm9kZS5pZiAmJiAhbm9kZS5mb3IgJiYgLy8gbm90IHYtaWYgb3Ig
di1mb3Igb3Igdi1lbHNlXG4gICAgIWlzQnVpbHRJblRhZyhub2RlLnRhZykgJiYgLy8gbm90IGEg
YnVpbHQtaW5cbiAgICBpc1BsYXRmb3JtUmVzZXJ2ZWRUYWcobm9kZS50YWcpICYmIC8vIG5vdCBh
IGNvbXBvbmVudFxuICAgICFpc0RpcmVjdENoaWxkT2ZUZW1wbGF0ZUZvcihub2RlKSAmJlxuICAg
IE9iamVjdC5rZXlzKG5vZGUpLmV2ZXJ5KGlzU3RhdGljS2V5KVxuICApKVxufVxuXG5mdW5jdGlv
biBpc0RpcmVjdENoaWxkT2ZUZW1wbGF0ZUZvciAobm9kZSkge1xuICB3aGlsZSAobm9kZS5wYXJl
bnQpIHtcbiAgICBub2RlID0gbm9kZS5wYXJlbnQ7XG4gICAgaWYgKG5vZGUudGFnICE9PSAndGVt
cGxhdGUnKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgaWYgKG5vZGUuZm9yKSB7
XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgfVxuICByZXR1cm4gZmFsc2Vcbn1cblxuLyog
ICovXG5cbnZhciBmbkV4cFJFID0gL15cXHMqKFtcXHckX10rfFxcKFteKV0qP1xcKSlcXHMqPT58
XmZ1bmN0aW9uXFxzKlxcKC87XG52YXIgc2ltcGxlUGF0aFJFID0gL15cXHMqW0EtWmEtel8kXVtc
XHckXSooPzpcXC5bQS1aYS16XyRdW1xcdyRdKnxcXFsnLio/J118XFxbXCIuKj9cIl18XFxbXFxk
K118XFxbW0EtWmEtel8kXVtcXHckXSpdKSpcXHMqJC87XG5cbi8vIGtleUNvZGUgYWxpYXNlc1xu
dmFyIGtleUNvZGVzID0ge1xuICBlc2M6IDI3LFxuICB0YWI6IDksXG4gIGVudGVyOiAxMyxcbiAg
c3BhY2U6IDMyLFxuICB1cDogMzgsXG4gIGxlZnQ6IDM3LFxuICByaWdodDogMzksXG4gIGRvd246
IDQwLFxuICAnZGVsZXRlJzogWzgsIDQ2XVxufTtcblxuLy8gIzQ4Njg6IG1vZGlmaWVycyB0aGF0
IHByZXZlbnQgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgbGlzdGVuZXJcbi8vIG5lZWQgdG8gZXhwbGlj
aXRseSByZXR1cm4gbnVsbCBzbyB0aGF0IHdlIGNhbiBkZXRlcm1pbmUgd2hldGhlciB0byByZW1v
dmVcbi8vIHRoZSBsaXN0ZW5lciBmb3IgLm9uY2VcbnZhciBnZW5HdWFyZCA9IGZ1bmN0aW9uIChj
b25kaXRpb24pIHsgcmV0dXJuIChcImlmKFwiICsgY29uZGl0aW9uICsgXCIpcmV0dXJuIG51bGw7
XCIpOyB9O1xuXG52YXIgbW9kaWZpZXJDb2RlID0ge1xuICBzdG9wOiAnJGV2ZW50LnN0b3BQcm9w
YWdhdGlvbigpOycsXG4gIHByZXZlbnQ6ICckZXZlbnQucHJldmVudERlZmF1bHQoKTsnLFxuICBz
ZWxmOiBnZW5HdWFyZChcIiRldmVudC50YXJnZXQgIT09ICRldmVudC5jdXJyZW50VGFyZ2V0XCIp
LFxuICBjdHJsOiBnZW5HdWFyZChcIiEkZXZlbnQuY3RybEtleVwiKSxcbiAgc2hpZnQ6IGdlbkd1
YXJkKFwiISRldmVudC5zaGlmdEtleVwiKSxcbiAgYWx0OiBnZW5HdWFyZChcIiEkZXZlbnQuYWx0
S2V5XCIpLFxuICBtZXRhOiBnZW5HdWFyZChcIiEkZXZlbnQubWV0YUtleVwiKSxcbiAgbGVmdDog
Z2VuR3VhcmQoXCInYnV0dG9uJyBpbiAkZXZlbnQgJiYgJGV2ZW50LmJ1dHRvbiAhPT0gMFwiKSxc
biAgbWlkZGxlOiBnZW5HdWFyZChcIididXR0b24nIGluICRldmVudCAmJiAkZXZlbnQuYnV0dG9u
ICE9PSAxXCIpLFxuICByaWdodDogZ2VuR3VhcmQoXCInYnV0dG9uJyBpbiAkZXZlbnQgJiYgJGV2
ZW50LmJ1dHRvbiAhPT0gMlwiKVxufTtcblxuZnVuY3Rpb24gZ2VuSGFuZGxlcnMgKFxuICBldmVu
dHMsXG4gIGlzTmF0aXZlLFxuICB3YXJuXG4pIHtcbiAgdmFyIHJlcyA9IGlzTmF0aXZlID8gJ25h
dGl2ZU9uOnsnIDogJ29uOnsnO1xuICBmb3IgKHZhciBuYW1lIGluIGV2ZW50cykge1xuICAgIHZh
ciBoYW5kbGVyID0gZXZlbnRzW25hbWVdO1xuICAgIC8vICM1MzMwOiB3YXJuIGNsaWNrLnJpZ2h0
LCBzaW5jZSByaWdodCBjbGlja3MgZG8gbm90IGFjdHVhbGx5IGZpcmUgY2xpY2sgZXZlbnRzLlxu
ICAgIGlmIChmYWxzZVxuICAgICkge1xuICAgICAgd2FybihcbiAgICAgICAgXCJVc2UgXFxcImNv
bnRleHRtZW51XFxcIiBpbnN0ZWFkIG9mIFxcXCJjbGljay5yaWdodFxcXCIgc2luY2UgcmlnaHQg
Y2xpY2tzIFwiICtcbiAgICAgICAgXCJkbyBub3QgYWN0dWFsbHkgZmlyZSBcXFwiY2xpY2tcXFwi
IGV2ZW50cy5cIlxuICAgICAgKTtcbiAgICB9XG4gICAgcmVzICs9IFwiXFxcIlwiICsgbmFtZSAr
IFwiXFxcIjpcIiArIChnZW5IYW5kbGVyKG5hbWUsIGhhbmRsZXIpKSArIFwiLFwiO1xuICB9XG4g
IHJldHVybiByZXMuc2xpY2UoMCwgLTEpICsgJ30nXG59XG5cbmZ1bmN0aW9uIGdlbkhhbmRsZXIg
KFxuICBuYW1lLFxuICBoYW5kbGVyXG4pIHtcbiAgaWYgKCFoYW5kbGVyKSB7XG4gICAgcmV0dXJu
ICdmdW5jdGlvbigpe30nXG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheShoYW5kbGVyKSkge1xu
ICAgIHJldHVybiAoXCJbXCIgKyAoaGFuZGxlci5tYXAoZnVuY3Rpb24gKGhhbmRsZXIpIHsgcmV0
dXJuIGdlbkhhbmRsZXIobmFtZSwgaGFuZGxlcik7IH0pLmpvaW4oJywnKSkgKyBcIl1cIilcbiAg
fVxuXG4gIHZhciBpc01ldGhvZFBhdGggPSBzaW1wbGVQYXRoUkUudGVzdChoYW5kbGVyLnZhbHVl
KTtcbiAgdmFyIGlzRnVuY3Rpb25FeHByZXNzaW9uID0gZm5FeHBSRS50ZXN0KGhhbmRsZXIudmFs
dWUpO1xuXG4gIGlmICghaGFuZGxlci5tb2RpZmllcnMpIHtcbiAgICByZXR1cm4gaXNNZXRob2RQ
YXRoIHx8IGlzRnVuY3Rpb25FeHByZXNzaW9uXG4gICAgICA/IGhhbmRsZXIudmFsdWVcbiAgICAg
IDogKFwiZnVuY3Rpb24oJGV2ZW50KXtcIiArIChoYW5kbGVyLnZhbHVlKSArIFwifVwiKSAvLyBp
bmxpbmUgc3RhdGVtZW50XG4gIH0gZWxzZSB7XG4gICAgdmFyIGNvZGUgPSAnJztcbiAgICB2YXIg
Z2VuTW9kaWZpZXJDb2RlID0gJyc7XG4gICAgdmFyIGtleXMgPSBbXTtcbiAgICBmb3IgKHZhciBr
ZXkgaW4gaGFuZGxlci5tb2RpZmllcnMpIHtcbiAgICAgIGlmIChtb2RpZmllckNvZGVba2V5XSkg
e1xuICAgICAgICBnZW5Nb2RpZmllckNvZGUgKz0gbW9kaWZpZXJDb2RlW2tleV07XG4gICAgICAg
IC8vIGxlZnQvcmlnaHRcbiAgICAgICAgaWYgKGtleUNvZGVzW2tleV0pIHtcbiAgICAgICAgICBr
ZXlzLnB1c2goa2V5KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAga2V5cy5w
dXNoKGtleSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChrZXlzLmxlbmd0aCkge1xuICAgICAg
Y29kZSArPSBnZW5LZXlGaWx0ZXIoa2V5cyk7XG4gICAgfVxuICAgIC8vIE1ha2Ugc3VyZSBtb2Rp
ZmllcnMgbGlrZSBwcmV2ZW50IGFuZCBzdG9wIGdldCBleGVjdXRlZCBhZnRlciBrZXkgZmlsdGVy
aW5nXG4gICAgaWYgKGdlbk1vZGlmaWVyQ29kZSkge1xuICAgICAgY29kZSArPSBnZW5Nb2RpZmll
ckNvZGU7XG4gICAgfVxuICAgIHZhciBoYW5kbGVyQ29kZSA9IGlzTWV0aG9kUGF0aFxuICAgICAg
PyBoYW5kbGVyLnZhbHVlICsgJygkZXZlbnQpJ1xuICAgICAgOiBpc0Z1bmN0aW9uRXhwcmVzc2lv
blxuICAgICAgICA/IChcIihcIiArIChoYW5kbGVyLnZhbHVlKSArIFwiKSgkZXZlbnQpXCIpXG4g
ICAgICAgIDogaGFuZGxlci52YWx1ZTtcbiAgICByZXR1cm4gKFwiZnVuY3Rpb24oJGV2ZW50KXtc
IiArIGNvZGUgKyBoYW5kbGVyQ29kZSArIFwifVwiKVxuICB9XG59XG5cbmZ1bmN0aW9uIGdlbktl
eUZpbHRlciAoa2V5cykge1xuICByZXR1cm4gKFwiaWYoISgnYnV0dG9uJyBpbiAkZXZlbnQpJiZc
IiArIChrZXlzLm1hcChnZW5GaWx0ZXJDb2RlKS5qb2luKCcmJicpKSArIFwiKXJldHVybiBudWxs
O1wiKVxufVxuXG5mdW5jdGlvbiBnZW5GaWx0ZXJDb2RlIChrZXkpIHtcbiAgdmFyIGtleVZhbCA9
IHBhcnNlSW50KGtleSwgMTApO1xuICBpZiAoa2V5VmFsKSB7XG4gICAgcmV0dXJuIChcIiRldmVu
dC5rZXlDb2RlIT09XCIgKyBrZXlWYWwpXG4gIH1cbiAgdmFyIGFsaWFzID0ga2V5Q29kZXNba2V5
XTtcbiAgcmV0dXJuIChcIl9rKCRldmVudC5rZXlDb2RlLFwiICsgKEpTT04uc3RyaW5naWZ5KGtl
eSkpICsgKGFsaWFzID8gJywnICsgSlNPTi5zdHJpbmdpZnkoYWxpYXMpIDogJycpICsgXCIpXCIp
XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBvbiAoZWwsIGRpcikge1xuICBpZiAoZmFsc2UpIHtc
biAgICB3YXJuKFwidi1vbiB3aXRob3V0IGFyZ3VtZW50IGRvZXMgbm90IHN1cHBvcnQgbW9kaWZp
ZXJzLlwiKTtcbiAgfVxuICBlbC53cmFwTGlzdGVuZXJzID0gZnVuY3Rpb24gKGNvZGUpIHsgcmV0
dXJuIChcIl9nKFwiICsgY29kZSArIFwiLFwiICsgKGRpci52YWx1ZSkgKyBcIilcIik7IH07XG59
XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBiaW5kJDEgKGVsLCBkaXIpIHtcbiAgZWwud3JhcERhdGEg
PSBmdW5jdGlvbiAoY29kZSkge1xuICAgIHJldHVybiAoXCJfYihcIiArIGNvZGUgKyBcIiwnXCIg
KyAoZWwudGFnKSArIFwiJyxcIiArIChkaXIudmFsdWUpICsgXCIsXCIgKyAoZGlyLm1vZGlmaWVy
cyAmJiBkaXIubW9kaWZpZXJzLnByb3AgPyAndHJ1ZScgOiAnZmFsc2UnKSArIChkaXIubW9kaWZp
ZXJzICYmIGRpci5tb2RpZmllcnMuc3luYyA/ICcsdHJ1ZScgOiAnJykgKyBcIilcIilcbiAgfTtc
bn1cblxuLyogICovXG5cbnZhciBiYXNlRGlyZWN0aXZlcyA9IHtcbiAgb246IG9uLFxuICBiaW5k
OiBiaW5kJDEsXG4gIGNsb2FrOiBub29wXG59O1xuXG4vKiAgKi9cblxudmFyIENvZGVnZW5TdGF0
ZSA9IGZ1bmN0aW9uIENvZGVnZW5TdGF0ZSAob3B0aW9ucykge1xuICB0aGlzLm9wdGlvbnMgPSBv
cHRpb25zO1xuICB0aGlzLndhcm4gPSBvcHRpb25zLndhcm4gfHwgYmFzZVdhcm47XG4gIHRoaXMu
dHJhbnNmb3JtcyA9IHBsdWNrTW9kdWxlRnVuY3Rpb24ob3B0aW9ucy5tb2R1bGVzLCAndHJhbnNm
b3JtQ29kZScpO1xuICB0aGlzLmRhdGFHZW5GbnMgPSBwbHVja01vZHVsZUZ1bmN0aW9uKG9wdGlv
bnMubW9kdWxlcywgJ2dlbkRhdGEnKTtcbiAgdGhpcy5kaXJlY3RpdmVzID0gZXh0ZW5kKGV4dGVu
ZCh7fSwgYmFzZURpcmVjdGl2ZXMpLCBvcHRpb25zLmRpcmVjdGl2ZXMpO1xuICB2YXIgaXNSZXNl
cnZlZFRhZyA9IG9wdGlvbnMuaXNSZXNlcnZlZFRhZyB8fCBubztcbiAgdGhpcy5tYXliZUNvbXBv
bmVudCA9IGZ1bmN0aW9uIChlbCkgeyByZXR1cm4gIWlzUmVzZXJ2ZWRUYWcoZWwudGFnKTsgfTtc
biAgdGhpcy5vbmNlSWQgPSAwO1xuICB0aGlzLnN0YXRpY1JlbmRlckZucyA9IFtdO1xufTtcblxu
XG5cbmZ1bmN0aW9uIGdlbmVyYXRlIChcbiAgYXN0LFxuICBvcHRpb25zXG4pIHtcbiAgdmFyIHN0
YXRlID0gbmV3IENvZGVnZW5TdGF0ZShvcHRpb25zKTtcbiAgdmFyIGNvZGUgPSBhc3QgPyBnZW5F
bGVtZW50KGFzdCwgc3RhdGUpIDogJ19jKFwiZGl2XCIpJztcbiAgcmV0dXJuIHtcbiAgICByZW5k
ZXI6IChcIndpdGgodGhpcyl7cmV0dXJuIFwiICsgY29kZSArIFwifVwiKSxcbiAgICBzdGF0aWNS
ZW5kZXJGbnM6IHN0YXRlLnN0YXRpY1JlbmRlckZuc1xuICB9XG59XG5cbmZ1bmN0aW9uIGdlbkVs
ZW1lbnQgKGVsLCBzdGF0ZSkge1xuICBpZiAoZWwuc3RhdGljUm9vdCAmJiAhZWwuc3RhdGljUHJv
Y2Vzc2VkKSB7XG4gICAgcmV0dXJuIGdlblN0YXRpYyhlbCwgc3RhdGUpXG4gIH0gZWxzZSBpZiAo
ZWwub25jZSAmJiAhZWwub25jZVByb2Nlc3NlZCkge1xuICAgIHJldHVybiBnZW5PbmNlKGVsLCBz
dGF0ZSlcbiAgfSBlbHNlIGlmIChlbC5mb3IgJiYgIWVsLmZvclByb2Nlc3NlZCkge1xuICAgIHJl
dHVybiBnZW5Gb3IoZWwsIHN0YXRlKVxuICB9IGVsc2UgaWYgKGVsLmlmICYmICFlbC5pZlByb2Nl
c3NlZCkge1xuICAgIHJldHVybiBnZW5JZihlbCwgc3RhdGUpXG4gIH0gZWxzZSBpZiAoZWwudGFn
ID09PSAndGVtcGxhdGUnICYmICFlbC5zbG90VGFyZ2V0KSB7XG4gICAgcmV0dXJuIGdlbkNoaWxk
cmVuKGVsLCBzdGF0ZSkgfHwgJ3ZvaWQgMCdcbiAgfSBlbHNlIGlmIChlbC50YWcgPT09ICdzbG90
Jykge1xuICAgIHJldHVybiBnZW5TbG90KGVsLCBzdGF0ZSlcbiAgfSBlbHNlIHtcbiAgICAvLyBj
b21wb25lbnQgb3IgZWxlbWVudFxuICAgIHZhciBjb2RlO1xuICAgIGlmIChlbC5jb21wb25lbnQp
IHtcbiAgICAgIGNvZGUgPSBnZW5Db21wb25lbnQoZWwuY29tcG9uZW50LCBlbCwgc3RhdGUpO1xu
ICAgIH0gZWxzZSB7XG4gICAgICB2YXIgZGF0YSA9IGVsLnBsYWluID8gdW5kZWZpbmVkIDogZ2Vu
RGF0YSQyKGVsLCBzdGF0ZSk7XG5cbiAgICAgIHZhciBjaGlsZHJlbiA9IGVsLmlubGluZVRlbXBs
YXRlID8gbnVsbCA6IGdlbkNoaWxkcmVuKGVsLCBzdGF0ZSwgdHJ1ZSk7XG4gICAgICBjb2RlID0g
XCJfYygnXCIgKyAoZWwudGFnKSArIFwiJ1wiICsgKGRhdGEgPyAoXCIsXCIgKyBkYXRhKSA6ICcn
KSArIChjaGlsZHJlbiA/IChcIixcIiArIGNoaWxkcmVuKSA6ICcnKSArIFwiKVwiO1xuICAgIH1c
biAgICAvLyBtb2R1bGUgdHJhbnNmb3Jtc1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RhdGUu
dHJhbnNmb3Jtcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29kZSA9IHN0YXRlLnRyYW5zZm9ybXNb
aV0oZWwsIGNvZGUpO1xuICAgIH1cbiAgICByZXR1cm4gY29kZVxuICB9XG59XG5cbi8vIGhvaXN0
IHN0YXRpYyBzdWItdHJlZXMgb3V0XG5mdW5jdGlvbiBnZW5TdGF0aWMgKGVsLCBzdGF0ZSkge1xu
ICBlbC5zdGF0aWNQcm9jZXNzZWQgPSB0cnVlO1xuICBzdGF0ZS5zdGF0aWNSZW5kZXJGbnMucHVz
aCgoXCJ3aXRoKHRoaXMpe3JldHVybiBcIiArIChnZW5FbGVtZW50KGVsLCBzdGF0ZSkpICsgXCJ9
XCIpKTtcbiAgcmV0dXJuIChcIl9tKFwiICsgKHN0YXRlLnN0YXRpY1JlbmRlckZucy5sZW5ndGgg
LSAxKSArIChlbC5zdGF0aWNJbkZvciA/ICcsdHJ1ZScgOiAnJykgKyBcIilcIilcbn1cblxuLy8g
di1vbmNlXG5mdW5jdGlvbiBnZW5PbmNlIChlbCwgc3RhdGUpIHtcbiAgZWwub25jZVByb2Nlc3Nl
ZCA9IHRydWU7XG4gIGlmIChlbC5pZiAmJiAhZWwuaWZQcm9jZXNzZWQpIHtcbiAgICByZXR1cm4g
Z2VuSWYoZWwsIHN0YXRlKVxuICB9IGVsc2UgaWYgKGVsLnN0YXRpY0luRm9yKSB7XG4gICAgdmFy
IGtleSA9ICcnO1xuICAgIHZhciBwYXJlbnQgPSBlbC5wYXJlbnQ7XG4gICAgd2hpbGUgKHBhcmVu
dCkge1xuICAgICAgaWYgKHBhcmVudC5mb3IpIHtcbiAgICAgICAga2V5ID0gcGFyZW50LmtleTtc
biAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnQ7XG4g
ICAgfVxuICAgIGlmICgha2V5KSB7XG4gICAgICBcInByb2R1Y3Rpb25cIiAhPT0gJ3Byb2R1Y3Rp
b24nICYmIHN0YXRlLndhcm4oXG4gICAgICAgIFwidi1vbmNlIGNhbiBvbmx5IGJlIHVzZWQgaW5z
aWRlIHYtZm9yIHRoYXQgaXMga2V5ZWQuIFwiXG4gICAgICApO1xuICAgICAgcmV0dXJuIGdlbkVs
ZW1lbnQoZWwsIHN0YXRlKVxuICAgIH1cbiAgICByZXR1cm4gKFwiX28oXCIgKyAoZ2VuRWxlbWVu
dChlbCwgc3RhdGUpKSArIFwiLFwiICsgKHN0YXRlLm9uY2VJZCsrKSArIChrZXkgPyAoXCIsXCIg
KyBrZXkpIDogXCJcIikgKyBcIilcIilcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZ2VuU3RhdGlj
KGVsLCBzdGF0ZSlcbiAgfVxufVxuXG5mdW5jdGlvbiBnZW5JZiAoXG4gIGVsLFxuICBzdGF0ZSxc
biAgYWx0R2VuLFxuICBhbHRFbXB0eVxuKSB7XG4gIGVsLmlmUHJvY2Vzc2VkID0gdHJ1ZTsgLy8g
YXZvaWQgcmVjdXJzaW9uXG4gIHJldHVybiBnZW5JZkNvbmRpdGlvbnMoZWwuaWZDb25kaXRpb25z
LnNsaWNlKCksIHN0YXRlLCBhbHRHZW4sIGFsdEVtcHR5KVxufVxuXG5mdW5jdGlvbiBnZW5JZkNv
bmRpdGlvbnMgKFxuICBjb25kaXRpb25zLFxuICBzdGF0ZSxcbiAgYWx0R2VuLFxuICBhbHRFbXB0
eVxuKSB7XG4gIGlmICghY29uZGl0aW9ucy5sZW5ndGgpIHtcbiAgICByZXR1cm4gYWx0RW1wdHkg
fHwgJ19lKCknXG4gIH1cblxuICB2YXIgY29uZGl0aW9uID0gY29uZGl0aW9ucy5zaGlmdCgpO1xu
ICBpZiAoY29uZGl0aW9uLmV4cCkge1xuICAgIHJldHVybiAoXCIoXCIgKyAoY29uZGl0aW9uLmV4
cCkgKyBcIik/XCIgKyAoZ2VuVGVybmFyeUV4cChjb25kaXRpb24uYmxvY2spKSArIFwiOlwiICsg
KGdlbklmQ29uZGl0aW9ucyhjb25kaXRpb25zLCBzdGF0ZSwgYWx0R2VuLCBhbHRFbXB0eSkpKVxu
ICB9IGVsc2Uge1xuICAgIHJldHVybiAoXCJcIiArIChnZW5UZXJuYXJ5RXhwKGNvbmRpdGlvbi5i
bG9jaykpKVxuICB9XG5cbiAgLy8gdi1pZiB3aXRoIHYtb25jZSBzaG91bGQgZ2VuZXJhdGUgY29k
ZSBsaWtlIChhKT9fbSgwKTpfbSgxKVxuICBmdW5jdGlvbiBnZW5UZXJuYXJ5RXhwIChlbCkge1xu
ICAgIHJldHVybiBhbHRHZW5cbiAgICAgID8gYWx0R2VuKGVsLCBzdGF0ZSlcbiAgICAgIDogZWwu
b25jZVxuICAgICAgICA/IGdlbk9uY2UoZWwsIHN0YXRlKVxuICAgICAgICA6IGdlbkVsZW1lbnQo
ZWwsIHN0YXRlKVxuICB9XG59XG5cbmZ1bmN0aW9uIGdlbkZvciAoXG4gIGVsLFxuICBzdGF0ZSxc
biAgYWx0R2VuLFxuICBhbHRIZWxwZXJcbikge1xuICB2YXIgZXhwID0gZWwuZm9yO1xuICB2YXIg
YWxpYXMgPSBlbC5hbGlhcztcbiAgdmFyIGl0ZXJhdG9yMSA9IGVsLml0ZXJhdG9yMSA/IChcIixc
IiArIChlbC5pdGVyYXRvcjEpKSA6ICcnO1xuICB2YXIgaXRlcmF0b3IyID0gZWwuaXRlcmF0b3Iy
ID8gKFwiLFwiICsgKGVsLml0ZXJhdG9yMikpIDogJyc7XG5cbiAgaWYgKGZhbHNlXG4gICkge1xu
ICAgIHN0YXRlLndhcm4oXG4gICAgICBcIjxcIiArIChlbC50YWcpICsgXCIgdi1mb3I9XFxcIlwi
ICsgYWxpYXMgKyBcIiBpbiBcIiArIGV4cCArIFwiXFxcIj46IGNvbXBvbmVudCBsaXN0cyByZW5k
ZXJlZCB3aXRoIFwiICtcbiAgICAgIFwidi1mb3Igc2hvdWxkIGhhdmUgZXhwbGljaXQga2V5cy4g
XCIgK1xuICAgICAgXCJTZWUgaHR0cHM6Ly92dWVqcy5vcmcvZ3VpZGUvbGlzdC5odG1sI2tleSBm
b3IgbW9yZSBpbmZvLlwiLFxuICAgICAgdHJ1ZSAvKiB0aXAgKi9cbiAgICApO1xuICB9XG5cbiAg
ZWwuZm9yUHJvY2Vzc2VkID0gdHJ1ZTsgLy8gYXZvaWQgcmVjdXJzaW9uXG4gIHJldHVybiAoYWx0
SGVscGVyIHx8ICdfbCcpICsgXCIoKFwiICsgZXhwICsgXCIpLFwiICtcbiAgICBcImZ1bmN0aW9u
KFwiICsgYWxpYXMgKyBpdGVyYXRvcjEgKyBpdGVyYXRvcjIgKyBcIil7XCIgK1xuICAgICAgXCJy
ZXR1cm4gXCIgKyAoKGFsdEdlbiB8fCBnZW5FbGVtZW50KShlbCwgc3RhdGUpKSArXG4gICAgJ30p
J1xufVxuXG5mdW5jdGlvbiBnZW5EYXRhJDIgKGVsLCBzdGF0ZSkge1xuICB2YXIgZGF0YSA9ICd7
JztcblxuICAvLyBkaXJlY3RpdmVzIGZpcnN0LlxuICAvLyBkaXJlY3RpdmVzIG1heSBtdXRhdGUg
dGhlIGVsJ3Mgb3RoZXIgcHJvcGVydGllcyBiZWZvcmUgdGhleSBhcmUgZ2VuZXJhdGVkLlxuICB2
YXIgZGlycyA9IGdlbkRpcmVjdGl2ZXMoZWwsIHN0YXRlKTtcbiAgaWYgKGRpcnMpIHsgZGF0YSAr
PSBkaXJzICsgJywnOyB9XG5cbiAgLy8ga2V5XG4gIGlmIChlbC5rZXkpIHtcbiAgICBkYXRhICs9
IFwia2V5OlwiICsgKGVsLmtleSkgKyBcIixcIjtcbiAgfVxuICAvLyByZWZcbiAgaWYgKGVsLnJl
Zikge1xuICAgIGRhdGEgKz0gXCJyZWY6XCIgKyAoZWwucmVmKSArIFwiLFwiO1xuICB9XG4gIGlm
IChlbC5yZWZJbkZvcikge1xuICAgIGRhdGEgKz0gXCJyZWZJbkZvcjp0cnVlLFwiO1xuICB9XG4g
IC8vIHByZVxuICBpZiAoZWwucHJlKSB7XG4gICAgZGF0YSArPSBcInByZTp0cnVlLFwiO1xuICB9
XG4gIC8vIHJlY29yZCBvcmlnaW5hbCB0YWcgbmFtZSBmb3IgY29tcG9uZW50cyB1c2luZyBcImlz
XCIgYXR0cmlidXRlXG4gIGlmIChlbC5jb21wb25lbnQpIHtcbiAgICBkYXRhICs9IFwidGFnOlxc
XCJcIiArIChlbC50YWcpICsgXCJcXFwiLFwiO1xuICB9XG4gIC8vIG1vZHVsZSBkYXRhIGdlbmVy
YXRpb24gZnVuY3Rpb25zXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgc3RhdGUuZGF0YUdlbkZucy5s
ZW5ndGg7IGkrKykge1xuICAgIGRhdGEgKz0gc3RhdGUuZGF0YUdlbkZuc1tpXShlbCk7XG4gIH1c
biAgLy8gYXR0cmlidXRlc1xuICBpZiAoZWwuYXR0cnMpIHtcbiAgICBkYXRhICs9IFwiYXR0cnM6
e1wiICsgKGdlblByb3BzKGVsLmF0dHJzKSkgKyBcIn0sXCI7XG4gIH1cbiAgLy8gRE9NIHByb3Bz
XG4gIGlmIChlbC5wcm9wcykge1xuICAgIGRhdGEgKz0gXCJkb21Qcm9wczp7XCIgKyAoZ2VuUHJv
cHMoZWwucHJvcHMpKSArIFwifSxcIjtcbiAgfVxuICAvLyBldmVudCBoYW5kbGVyc1xuICBpZiAo
ZWwuZXZlbnRzKSB7XG4gICAgZGF0YSArPSAoZ2VuSGFuZGxlcnMoZWwuZXZlbnRzLCBmYWxzZSwg
c3RhdGUud2FybikpICsgXCIsXCI7XG4gIH1cbiAgaWYgKGVsLm5hdGl2ZUV2ZW50cykge1xuICAg
IGRhdGEgKz0gKGdlbkhhbmRsZXJzKGVsLm5hdGl2ZUV2ZW50cywgdHJ1ZSwgc3RhdGUud2Fybikp
ICsgXCIsXCI7XG4gIH1cbiAgLy8gc2xvdCB0YXJnZXRcbiAgaWYgKGVsLnNsb3RUYXJnZXQpIHtc
biAgICBkYXRhICs9IFwic2xvdDpcIiArIChlbC5zbG90VGFyZ2V0KSArIFwiLFwiO1xuICB9XG4g
IC8vIHNjb3BlZCBzbG90c1xuICBpZiAoZWwuc2NvcGVkU2xvdHMpIHtcbiAgICBkYXRhICs9IChn
ZW5TY29wZWRTbG90cyhlbC5zY29wZWRTbG90cywgc3RhdGUpKSArIFwiLFwiO1xuICB9XG4gIC8v
IGNvbXBvbmVudCB2LW1vZGVsXG4gIGlmIChlbC5tb2RlbCkge1xuICAgIGRhdGEgKz0gXCJtb2Rl
bDp7dmFsdWU6XCIgKyAoZWwubW9kZWwudmFsdWUpICsgXCIsY2FsbGJhY2s6XCIgKyAoZWwubW9k
ZWwuY2FsbGJhY2spICsgXCIsZXhwcmVzc2lvbjpcIiArIChlbC5tb2RlbC5leHByZXNzaW9uKSAr
IFwifSxcIjtcbiAgfVxuICAvLyBpbmxpbmUtdGVtcGxhdGVcbiAgaWYgKGVsLmlubGluZVRlbXBs
YXRlKSB7XG4gICAgdmFyIGlubGluZVRlbXBsYXRlID0gZ2VuSW5saW5lVGVtcGxhdGUoZWwsIHN0
YXRlKTtcbiAgICBpZiAoaW5saW5lVGVtcGxhdGUpIHtcbiAgICAgIGRhdGEgKz0gaW5saW5lVGVt
cGxhdGUgKyBcIixcIjtcbiAgICB9XG4gIH1cbiAgZGF0YSA9IGRhdGEucmVwbGFjZSgvLCQvLCAn
JykgKyAnfSc7XG4gIC8vIHYtYmluZCBkYXRhIHdyYXBcbiAgaWYgKGVsLndyYXBEYXRhKSB7XG4g
ICAgZGF0YSA9IGVsLndyYXBEYXRhKGRhdGEpO1xuICB9XG4gIC8vIHYtb24gZGF0YSB3cmFwXG4g
IGlmIChlbC53cmFwTGlzdGVuZXJzKSB7XG4gICAgZGF0YSA9IGVsLndyYXBMaXN0ZW5lcnMoZGF0
YSk7XG4gIH1cbiAgcmV0dXJuIGRhdGFcbn1cblxuZnVuY3Rpb24gZ2VuRGlyZWN0aXZlcyAoZWws
IHN0YXRlKSB7XG4gIHZhciBkaXJzID0gZWwuZGlyZWN0aXZlcztcbiAgaWYgKCFkaXJzKSB7IHJl
dHVybiB9XG4gIHZhciByZXMgPSAnZGlyZWN0aXZlczpbJztcbiAgdmFyIGhhc1J1bnRpbWUgPSBm
YWxzZTtcbiAgdmFyIGksIGwsIGRpciwgbmVlZFJ1bnRpbWU7XG4gIGZvciAoaSA9IDAsIGwgPSBk
aXJzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIGRpciA9IGRpcnNbaV07XG4gICAgbmVlZFJ1
bnRpbWUgPSB0cnVlO1xuICAgIHZhciBnZW4gPSBzdGF0ZS5kaXJlY3RpdmVzW2Rpci5uYW1lXTtc
biAgICBpZiAoZ2VuKSB7XG4gICAgICAvLyBjb21waWxlLXRpbWUgZGlyZWN0aXZlIHRoYXQgbWFu
aXB1bGF0ZXMgQVNULlxuICAgICAgLy8gcmV0dXJucyB0cnVlIGlmIGl0IGFsc28gbmVlZHMgYSBy
dW50aW1lIGNvdW50ZXJwYXJ0LlxuICAgICAgbmVlZFJ1bnRpbWUgPSAhIWdlbihlbCwgZGlyLCBz
dGF0ZS53YXJuKTtcbiAgICB9XG4gICAgaWYgKG5lZWRSdW50aW1lKSB7XG4gICAgICBoYXNSdW50
aW1lID0gdHJ1ZTtcbiAgICAgIHJlcyArPSBcIntuYW1lOlxcXCJcIiArIChkaXIubmFtZSkgKyBc
IlxcXCIscmF3TmFtZTpcXFwiXCIgKyAoZGlyLnJhd05hbWUpICsgXCJcXFwiXCIgKyAoZGlyLnZh
bHVlID8gKFwiLHZhbHVlOihcIiArIChkaXIudmFsdWUpICsgXCIpLGV4cHJlc3Npb246XCIgKyAo
SlNPTi5zdHJpbmdpZnkoZGlyLnZhbHVlKSkpIDogJycpICsgKGRpci5hcmcgPyAoXCIsYXJnOlxc
XCJcIiArIChkaXIuYXJnKSArIFwiXFxcIlwiKSA6ICcnKSArIChkaXIubW9kaWZpZXJzID8gKFwi
LG1vZGlmaWVyczpcIiArIChKU09OLnN0cmluZ2lmeShkaXIubW9kaWZpZXJzKSkpIDogJycpICsg
XCJ9LFwiO1xuICAgIH1cbiAgfVxuICBpZiAoaGFzUnVudGltZSkge1xuICAgIHJldHVybiByZXMu
c2xpY2UoMCwgLTEpICsgJ10nXG4gIH1cbn1cblxuZnVuY3Rpb24gZ2VuSW5saW5lVGVtcGxhdGUg
KGVsLCBzdGF0ZSkge1xuICB2YXIgYXN0ID0gZWwuY2hpbGRyZW5bMF07XG4gIGlmIChmYWxzZSkg
e1xuICAgIHN0YXRlLndhcm4oJ0lubGluZS10ZW1wbGF0ZSBjb21wb25lbnRzIG11c3QgaGF2ZSBl
eGFjdGx5IG9uZSBjaGlsZCBlbGVtZW50LicpO1xuICB9XG4gIGlmIChhc3QudHlwZSA9PT0gMSkg
e1xuICAgIHZhciBpbmxpbmVSZW5kZXJGbnMgPSBnZW5lcmF0ZShhc3QsIHN0YXRlLm9wdGlvbnMp
O1xuICAgIHJldHVybiAoXCJpbmxpbmVUZW1wbGF0ZTp7cmVuZGVyOmZ1bmN0aW9uKCl7XCIgKyAo
aW5saW5lUmVuZGVyRm5zLnJlbmRlcikgKyBcIn0sc3RhdGljUmVuZGVyRm5zOltcIiArIChpbmxp
bmVSZW5kZXJGbnMuc3RhdGljUmVuZGVyRm5zLm1hcChmdW5jdGlvbiAoY29kZSkgeyByZXR1cm4g
KFwiZnVuY3Rpb24oKXtcIiArIGNvZGUgKyBcIn1cIik7IH0pLmpvaW4oJywnKSkgKyBcIl19XCIp
XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2VuU2NvcGVkU2xvdHMgKFxuICBzbG90cyxcbiAgc3RhdGVc
bikge1xuICByZXR1cm4gKFwic2NvcGVkU2xvdHM6X3UoW1wiICsgKE9iamVjdC5rZXlzKHNsb3Rz
KS5tYXAoZnVuY3Rpb24gKGtleSkge1xuICAgICAgcmV0dXJuIGdlblNjb3BlZFNsb3Qoa2V5LCBz
bG90c1trZXldLCBzdGF0ZSlcbiAgICB9KS5qb2luKCcsJykpICsgXCJdKVwiKVxufVxuXG5mdW5j
dGlvbiBnZW5TY29wZWRTbG90IChcbiAga2V5LFxuICBlbCxcbiAgc3RhdGVcbikge1xuICBpZiAo
ZWwuZm9yICYmICFlbC5mb3JQcm9jZXNzZWQpIHtcbiAgICByZXR1cm4gZ2VuRm9yU2NvcGVkU2xv
dChrZXksIGVsLCBzdGF0ZSlcbiAgfVxuICByZXR1cm4gXCJ7a2V5OlwiICsga2V5ICsgXCIsZm46
ZnVuY3Rpb24oXCIgKyAoU3RyaW5nKGVsLmF0dHJzTWFwLnNjb3BlKSkgKyBcIil7XCIgK1xuICAg
IFwicmV0dXJuIFwiICsgKGVsLnRhZyA9PT0gJ3RlbXBsYXRlJ1xuICAgICAgPyBnZW5DaGlsZHJl
bihlbCwgc3RhdGUpIHx8ICd2b2lkIDAnXG4gICAgICA6IGdlbkVsZW1lbnQoZWwsIHN0YXRlKSkg
KyBcIn19XCJcbn1cblxuZnVuY3Rpb24gZ2VuRm9yU2NvcGVkU2xvdCAoXG4gIGtleSxcbiAgZWws
XG4gIHN0YXRlXG4pIHtcbiAgdmFyIGV4cCA9IGVsLmZvcjtcbiAgdmFyIGFsaWFzID0gZWwuYWxp
YXM7XG4gIHZhciBpdGVyYXRvcjEgPSBlbC5pdGVyYXRvcjEgPyAoXCIsXCIgKyAoZWwuaXRlcmF0
b3IxKSkgOiAnJztcbiAgdmFyIGl0ZXJhdG9yMiA9IGVsLml0ZXJhdG9yMiA/IChcIixcIiArIChl
bC5pdGVyYXRvcjIpKSA6ICcnO1xuICBlbC5mb3JQcm9jZXNzZWQgPSB0cnVlOyAvLyBhdm9pZCBy
ZWN1cnNpb25cbiAgcmV0dXJuIFwiX2woKFwiICsgZXhwICsgXCIpLFwiICtcbiAgICBcImZ1bmN0
aW9uKFwiICsgYWxpYXMgKyBpdGVyYXRvcjEgKyBpdGVyYXRvcjIgKyBcIil7XCIgK1xuICAgICAg
XCJyZXR1cm4gXCIgKyAoZ2VuU2NvcGVkU2xvdChrZXksIGVsLCBzdGF0ZSkpICtcbiAgICAnfSkn
XG59XG5cbmZ1bmN0aW9uIGdlbkNoaWxkcmVuIChcbiAgZWwsXG4gIHN0YXRlLFxuICBjaGVja1Nr
aXAsXG4gIGFsdEdlbkVsZW1lbnQsXG4gIGFsdEdlbk5vZGVcbikge1xuICB2YXIgY2hpbGRyZW4g
PSBlbC5jaGlsZHJlbjtcbiAgaWYgKGNoaWxkcmVuLmxlbmd0aCkge1xuICAgIHZhciBlbCQxID0g
Y2hpbGRyZW5bMF07XG4gICAgLy8gb3B0aW1pemUgc2luZ2xlIHYtZm9yXG4gICAgaWYgKGNoaWxk
cmVuLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgZWwkMS5mb3IgJiZcbiAgICAgIGVsJDEudGFnICE9
PSAndGVtcGxhdGUnICYmXG4gICAgICBlbCQxLnRhZyAhPT0gJ3Nsb3QnXG4gICAgKSB7XG4gICAg
ICByZXR1cm4gKGFsdEdlbkVsZW1lbnQgfHwgZ2VuRWxlbWVudCkoZWwkMSwgc3RhdGUpXG4gICAg
fVxuICAgIHZhciBub3JtYWxpemF0aW9uVHlwZSA9IGNoZWNrU2tpcFxuICAgICAgPyBnZXROb3Jt
YWxpemF0aW9uVHlwZShjaGlsZHJlbiwgc3RhdGUubWF5YmVDb21wb25lbnQpXG4gICAgICA6IDA7
XG4gICAgdmFyIGdlbiA9IGFsdEdlbk5vZGUgfHwgZ2VuTm9kZTtcbiAgICByZXR1cm4gKFwiW1wi
ICsgKGNoaWxkcmVuLm1hcChmdW5jdGlvbiAoYykgeyByZXR1cm4gZ2VuKGMsIHN0YXRlKTsgfSku
am9pbignLCcpKSArIFwiXVwiICsgKG5vcm1hbGl6YXRpb25UeXBlID8gKFwiLFwiICsgbm9ybWFs
aXphdGlvblR5cGUpIDogJycpKVxuICB9XG59XG5cbi8vIGRldGVybWluZSB0aGUgbm9ybWFsaXph
dGlvbiBuZWVkZWQgZm9yIHRoZSBjaGlsZHJlbiBhcnJheS5cbi8vIDA6IG5vIG5vcm1hbGl6YXRp
b24gbmVlZGVkXG4vLyAxOiBzaW1wbGUgbm9ybWFsaXphdGlvbiBuZWVkZWQgKHBvc3NpYmxlIDEt
bGV2ZWwgZGVlcCBuZXN0ZWQgYXJyYXkpXG4vLyAyOiBmdWxsIG5vcm1hbGl6YXRpb24gbmVlZGVk
XG5mdW5jdGlvbiBnZXROb3JtYWxpemF0aW9uVHlwZSAoXG4gIGNoaWxkcmVuLFxuICBtYXliZUNv
bXBvbmVudFxuKSB7XG4gIHZhciByZXMgPSAwO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxk
cmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGVsID0gY2hpbGRyZW5baV07XG4gICAgaWYgKGVs
LnR5cGUgIT09IDEpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICAgIGlmIChuZWVkc05vcm1h
bGl6YXRpb24oZWwpIHx8XG4gICAgICAgIChlbC5pZkNvbmRpdGlvbnMgJiYgZWwuaWZDb25kaXRp
b25zLnNvbWUoZnVuY3Rpb24gKGMpIHsgcmV0dXJuIG5lZWRzTm9ybWFsaXphdGlvbihjLmJsb2Nr
KTsgfSkpKSB7XG4gICAgICByZXMgPSAyO1xuICAgICAgYnJlYWtcbiAgICB9XG4gICAgaWYgKG1h
eWJlQ29tcG9uZW50KGVsKSB8fFxuICAgICAgICAoZWwuaWZDb25kaXRpb25zICYmIGVsLmlmQ29u
ZGl0aW9ucy5zb21lKGZ1bmN0aW9uIChjKSB7IHJldHVybiBtYXliZUNvbXBvbmVudChjLmJsb2Nr
KTsgfSkpKSB7XG4gICAgICByZXMgPSAxO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzXG59XG5c
bmZ1bmN0aW9uIG5lZWRzTm9ybWFsaXphdGlvbiAoZWwpIHtcbiAgcmV0dXJuIGVsLmZvciAhPT0g
dW5kZWZpbmVkIHx8IGVsLnRhZyA9PT0gJ3RlbXBsYXRlJyB8fCBlbC50YWcgPT09ICdzbG90J1xu
fVxuXG5mdW5jdGlvbiBnZW5Ob2RlIChub2RlLCBzdGF0ZSkge1xuICBpZiAobm9kZS50eXBlID09
PSAxKSB7XG4gICAgcmV0dXJuIGdlbkVsZW1lbnQobm9kZSwgc3RhdGUpXG4gIH0gaWYgKG5vZGUu
dHlwZSA9PT0gMyAmJiBub2RlLmlzQ29tbWVudCkge1xuICAgIHJldHVybiBnZW5Db21tZW50KG5v
ZGUpXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGdlblRleHQobm9kZSlcbiAgfVxufVxuXG5mdW5j
dGlvbiBnZW5UZXh0ICh0ZXh0KSB7XG4gIHJldHVybiAoXCJfdihcIiArICh0ZXh0LnR5cGUgPT09
IDJcbiAgICA/IHRleHQuZXhwcmVzc2lvbiAvLyBubyBuZWVkIGZvciAoKSBiZWNhdXNlIGFscmVh
ZHkgd3JhcHBlZCBpbiBfcygpXG4gICAgOiB0cmFuc2Zvcm1TcGVjaWFsTmV3bGluZXMoSlNPTi5z
dHJpbmdpZnkodGV4dC50ZXh0KSkpICsgXCIpXCIpXG59XG5cbmZ1bmN0aW9uIGdlbkNvbW1lbnQg
KGNvbW1lbnQpIHtcbiAgcmV0dXJuIChcIl9lKFwiICsgKEpTT04uc3RyaW5naWZ5KGNvbW1lbnQu
dGV4dCkpICsgXCIpXCIpXG59XG5cbmZ1bmN0aW9uIGdlblNsb3QgKGVsLCBzdGF0ZSkge1xuICB2
YXIgc2xvdE5hbWUgPSBlbC5zbG90TmFtZSB8fCAnXCJkZWZhdWx0XCInO1xuICB2YXIgY2hpbGRy
ZW4gPSBnZW5DaGlsZHJlbihlbCwgc3RhdGUpO1xuICB2YXIgcmVzID0gXCJfdChcIiArIHNsb3RO
YW1lICsgKGNoaWxkcmVuID8gKFwiLFwiICsgY2hpbGRyZW4pIDogJycpO1xuICB2YXIgYXR0cnMg
PSBlbC5hdHRycyAmJiAoXCJ7XCIgKyAoZWwuYXR0cnMubWFwKGZ1bmN0aW9uIChhKSB7IHJldHVy
biAoKGNhbWVsaXplKGEubmFtZSkpICsgXCI6XCIgKyAoYS52YWx1ZSkpOyB9KS5qb2luKCcsJykp
ICsgXCJ9XCIpO1xuICB2YXIgYmluZCQkMSA9IGVsLmF0dHJzTWFwWyd2LWJpbmQnXTtcbiAgaWYg
KChhdHRycyB8fCBiaW5kJCQxKSAmJiAhY2hpbGRyZW4pIHtcbiAgICByZXMgKz0gXCIsbnVsbFwi
O1xuICB9XG4gIGlmIChhdHRycykge1xuICAgIHJlcyArPSBcIixcIiArIGF0dHJzO1xuICB9XG4g
IGlmIChiaW5kJCQxKSB7XG4gICAgcmVzICs9IChhdHRycyA/ICcnIDogJyxudWxsJykgKyBcIixc
IiArIGJpbmQkJDE7XG4gIH1cbiAgcmV0dXJuIHJlcyArICcpJ1xufVxuXG4vLyBjb21wb25lbnRO
YW1lIGlzIGVsLmNvbXBvbmVudCwgdGFrZSBpdCBhcyBhcmd1bWVudCB0byBzaHVuIGZsb3cncyBw
ZXNzaW1pc3RpYyByZWZpbmVtZW50XG5mdW5jdGlvbiBnZW5Db21wb25lbnQgKFxuICBjb21wb25l
bnROYW1lLFxuICBlbCxcbiAgc3RhdGVcbikge1xuICB2YXIgY2hpbGRyZW4gPSBlbC5pbmxpbmVU
ZW1wbGF0ZSA/IG51bGwgOiBnZW5DaGlsZHJlbihlbCwgc3RhdGUsIHRydWUpO1xuICByZXR1cm4g
KFwiX2MoXCIgKyBjb21wb25lbnROYW1lICsgXCIsXCIgKyAoZ2VuRGF0YSQyKGVsLCBzdGF0ZSkp
ICsgKGNoaWxkcmVuID8gKFwiLFwiICsgY2hpbGRyZW4pIDogJycpICsgXCIpXCIpXG59XG5cbmZ1
bmN0aW9uIGdlblByb3BzIChwcm9wcykge1xuICB2YXIgcmVzID0gJyc7XG4gIGZvciAodmFyIGkg
PSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgcHJvcCA9IHByb3BzW2ldO1xu
ICAgIHJlcyArPSBcIlxcXCJcIiArIChwcm9wLm5hbWUpICsgXCJcXFwiOlwiICsgKHRyYW5zZm9y
bVNwZWNpYWxOZXdsaW5lcyhwcm9wLnZhbHVlKSkgKyBcIixcIjtcbiAgfVxuICByZXR1cm4gcmVz
LnNsaWNlKDAsIC0xKVxufVxuXG4vLyAjMzg5NSwgIzQyNjhcbmZ1bmN0aW9uIHRyYW5zZm9ybVNw
ZWNpYWxOZXdsaW5lcyAodGV4dCkge1xuICByZXR1cm4gdGV4dFxuICAgIC5yZXBsYWNlKC9cXHUy
MDI4L2csICdcXFxcdTIwMjgnKVxuICAgIC5yZXBsYWNlKC9cXHUyMDI5L2csICdcXFxcdTIwMjkn
KVxufVxuXG4vKiAgKi9cblxuLy8gdGhlc2Uga2V5d29yZHMgc2hvdWxkIG5vdCBhcHBlYXIgaW5z
aWRlIGV4cHJlc3Npb25zLCBidXQgb3BlcmF0b3JzIGxpa2Vcbi8vIHR5cGVvZiwgaW5zdGFuY2Vv
ZiBhbmQgaW4gYXJlIGFsbG93ZWRcbnZhciBwcm9oaWJpdGVkS2V5d29yZFJFID0gbmV3IFJlZ0V4
cCgnXFxcXGInICsgKFxuICAnZG8saWYsZm9yLGxldCxuZXcsdHJ5LHZhcixjYXNlLGVsc2Usd2l0
aCxhd2FpdCxicmVhayxjYXRjaCxjbGFzcyxjb25zdCwnICtcbiAgJ3N1cGVyLHRocm93LHdoaWxl
LHlpZWxkLGRlbGV0ZSxleHBvcnQsaW1wb3J0LHJldHVybixzd2l0Y2gsZGVmYXVsdCwnICtcbiAg
J2V4dGVuZHMsZmluYWxseSxjb250aW51ZSxkZWJ1Z2dlcixmdW5jdGlvbixhcmd1bWVudHMnXG4p
LnNwbGl0KCcsJykuam9pbignXFxcXGJ8XFxcXGInKSArICdcXFxcYicpO1xuXG4vLyB0aGVzZSB1
bmFyeSBvcGVyYXRvcnMgc2hvdWxkIG5vdCBiZSB1c2VkIGFzIHByb3BlcnR5L21ldGhvZCBuYW1l
c1xudmFyIHVuYXJ5T3BlcmF0b3JzUkUgPSBuZXcgUmVnRXhwKCdcXFxcYicgKyAoXG4gICdkZWxl
dGUsdHlwZW9mLHZvaWQnXG4pLnNwbGl0KCcsJykuam9pbignXFxcXHMqXFxcXChbXlxcXFwpXSpc
XFxcKXxcXFxcYicpICsgJ1xcXFxzKlxcXFwoW15cXFxcKV0qXFxcXCknKTtcblxuLy8gY2hlY2sg
dmFsaWQgaWRlbnRpZmllciBmb3Igdi1mb3JcbnZhciBpZGVudFJFID0gL1tBLVphLXpfJF1bXFx3
JF0qLztcblxuLy8gc3RyaXAgc3RyaW5ncyBpbiBleHByZXNzaW9uc1xudmFyIHN0cmlwU3RyaW5n
UkUgPSAvJyg/OlteJ1xcXFxdfFxcXFwuKSonfFwiKD86W15cIlxcXFxdfFxcXFwuKSpcInxgKD86
W15gXFxcXF18XFxcXC4pKlxcJFxce3xcXH0oPzpbXmBcXFxcXXxcXFxcLikqYHxgKD86W15gXFxc
XF18XFxcXC4pKmAvZztcblxuLy8gZGV0ZWN0IHByb2JsZW1hdGljIGV4cHJlc3Npb25zIGluIGEg
dGVtcGxhdGVcbmZ1bmN0aW9uIGRldGVjdEVycm9ycyAoYXN0KSB7XG4gIHZhciBlcnJvcnMgPSBb
XTtcbiAgaWYgKGFzdCkge1xuICAgIGNoZWNrTm9kZShhc3QsIGVycm9ycyk7XG4gIH1cbiAgcmV0
dXJuIGVycm9yc1xufVxuXG5mdW5jdGlvbiBjaGVja05vZGUgKG5vZGUsIGVycm9ycykge1xuICBp
ZiAobm9kZS50eXBlID09PSAxKSB7XG4gICAgZm9yICh2YXIgbmFtZSBpbiBub2RlLmF0dHJzTWFw
KSB7XG4gICAgICBpZiAoZGlyUkUudGVzdChuYW1lKSkge1xuICAgICAgICB2YXIgdmFsdWUgPSBu
b2RlLmF0dHJzTWFwW25hbWVdO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICBpZiAo
bmFtZSA9PT0gJ3YtZm9yJykge1xuICAgICAgICAgICAgY2hlY2tGb3Iobm9kZSwgKFwidi1mb3I9
XFxcIlwiICsgdmFsdWUgKyBcIlxcXCJcIiksIGVycm9ycyk7XG4gICAgICAgICAgfSBlbHNlIGlm
IChvblJFLnRlc3QobmFtZSkpIHtcbiAgICAgICAgICAgIGNoZWNrRXZlbnQodmFsdWUsIChuYW1l
ICsgXCI9XFxcIlwiICsgdmFsdWUgKyBcIlxcXCJcIiksIGVycm9ycyk7XG4gICAgICAgICAgfSBl
bHNlIHtcbiAgICAgICAgICAgIGNoZWNrRXhwcmVzc2lvbih2YWx1ZSwgKG5hbWUgKyBcIj1cXFwi
XCIgKyB2YWx1ZSArIFwiXFxcIlwiKSwgZXJyb3JzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1c
biAgICAgIH1cbiAgICB9XG4gICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgbm9kZS5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICBjaGVja05v
ZGUobm9kZS5jaGlsZHJlbltpXSwgZXJyb3JzKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSBp
ZiAobm9kZS50eXBlID09PSAyKSB7XG4gICAgY2hlY2tFeHByZXNzaW9uKG5vZGUuZXhwcmVzc2lv
biwgbm9kZS50ZXh0LCBlcnJvcnMpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrRXZlbnQgKGV4
cCwgdGV4dCwgZXJyb3JzKSB7XG4gIHZhciBzdGlwcGVkID0gZXhwLnJlcGxhY2Uoc3RyaXBTdHJp
bmdSRSwgJycpO1xuICB2YXIga2V5d29yZE1hdGNoID0gc3RpcHBlZC5tYXRjaCh1bmFyeU9wZXJh
dG9yc1JFKTtcbiAgaWYgKGtleXdvcmRNYXRjaCAmJiBzdGlwcGVkLmNoYXJBdChrZXl3b3JkTWF0
Y2guaW5kZXggLSAxKSAhPT0gJyQnKSB7XG4gICAgZXJyb3JzLnB1c2goXG4gICAgICBcImF2b2lk
IHVzaW5nIEphdmFTY3JpcHQgdW5hcnkgb3BlcmF0b3IgYXMgcHJvcGVydHkgbmFtZTogXCIgK1xu
ICAgICAgXCJcXFwiXCIgKyAoa2V5d29yZE1hdGNoWzBdKSArIFwiXFxcIiBpbiBleHByZXNzaW9u
IFwiICsgKHRleHQudHJpbSgpKVxuICAgICk7XG4gIH1cbiAgY2hlY2tFeHByZXNzaW9uKGV4cCwg
dGV4dCwgZXJyb3JzKTtcbn1cblxuZnVuY3Rpb24gY2hlY2tGb3IgKG5vZGUsIHRleHQsIGVycm9y
cykge1xuICBjaGVja0V4cHJlc3Npb24obm9kZS5mb3IgfHwgJycsIHRleHQsIGVycm9ycyk7XG4g
IGNoZWNrSWRlbnRpZmllcihub2RlLmFsaWFzLCAndi1mb3IgYWxpYXMnLCB0ZXh0LCBlcnJvcnMp
O1xuICBjaGVja0lkZW50aWZpZXIobm9kZS5pdGVyYXRvcjEsICd2LWZvciBpdGVyYXRvcicsIHRl
eHQsIGVycm9ycyk7XG4gIGNoZWNrSWRlbnRpZmllcihub2RlLml0ZXJhdG9yMiwgJ3YtZm9yIGl0
ZXJhdG9yJywgdGV4dCwgZXJyb3JzKTtcbn1cblxuZnVuY3Rpb24gY2hlY2tJZGVudGlmaWVyIChp
ZGVudCwgdHlwZSwgdGV4dCwgZXJyb3JzKSB7XG4gIGlmICh0eXBlb2YgaWRlbnQgPT09ICdzdHJp
bmcnICYmICFpZGVudFJFLnRlc3QoaWRlbnQpKSB7XG4gICAgZXJyb3JzLnB1c2goKFwiaW52YWxp
ZCBcIiArIHR5cGUgKyBcIiBcXFwiXCIgKyBpZGVudCArIFwiXFxcIiBpbiBleHByZXNzaW9uOiBc
IiArICh0ZXh0LnRyaW0oKSkpKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjaGVja0V4cHJlc3Npb24g
KGV4cCwgdGV4dCwgZXJyb3JzKSB7XG4gIHRyeSB7XG4gICAgbmV3IEZ1bmN0aW9uKChcInJldHVy
biBcIiArIGV4cCkpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgdmFyIGtleXdvcmRNYXRjaCA9IGV4
cC5yZXBsYWNlKHN0cmlwU3RyaW5nUkUsICcnKS5tYXRjaChwcm9oaWJpdGVkS2V5d29yZFJFKTtc
biAgICBpZiAoa2V5d29yZE1hdGNoKSB7XG4gICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgXCJh
dm9pZCB1c2luZyBKYXZhU2NyaXB0IGtleXdvcmQgYXMgcHJvcGVydHkgbmFtZTogXCIgK1xuICAg
ICAgICBcIlxcXCJcIiArIChrZXl3b3JkTWF0Y2hbMF0pICsgXCJcXFwiIGluIGV4cHJlc3Npb24g
XCIgKyAodGV4dC50cmltKCkpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBlcnJvcnMu
cHVzaCgoXCJpbnZhbGlkIGV4cHJlc3Npb246IFwiICsgKHRleHQudHJpbSgpKSkpO1xuICAgIH1c
biAgfVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gY3JlYXRlRnVuY3Rpb24gKGNvZGUsIGVycm9y
cykge1xuICB0cnkge1xuICAgIHJldHVybiBuZXcgRnVuY3Rpb24oY29kZSlcbiAgfSBjYXRjaCAo
ZXJyKSB7XG4gICAgZXJyb3JzLnB1c2goeyBlcnI6IGVyciwgY29kZTogY29kZSB9KTtcbiAgICBy
ZXR1cm4gbm9vcFxuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbXBpbGVUb0Z1bmN0aW9uRm4g
KGNvbXBpbGUpIHtcbiAgdmFyIGNhY2hlID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcblxuICByZXR1
cm4gZnVuY3Rpb24gY29tcGlsZVRvRnVuY3Rpb25zIChcbiAgICB0ZW1wbGF0ZSxcbiAgICBvcHRp
b25zLFxuICAgIHZtXG4gICkge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuXG4gICAg
LyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLyBkZXRl
Y3QgcG9zc2libGUgQ1NQIHJlc3RyaWN0aW9uXG4gICAgICB0cnkge1xuICAgICAgICBuZXcgRnVu
Y3Rpb24oJ3JldHVybiAxJyk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGlmIChlLnRv
U3RyaW5nKCkubWF0Y2goL3Vuc2FmZS1ldmFsfENTUC8pKSB7XG4gICAgICAgICAgd2FybihcbiAg
ICAgICAgICAgICdJdCBzZWVtcyB5b3UgYXJlIHVzaW5nIHRoZSBzdGFuZGFsb25lIGJ1aWxkIG9m
IFZ1ZS5qcyBpbiBhbiAnICtcbiAgICAgICAgICAgICdlbnZpcm9ubWVudCB3aXRoIENvbnRlbnQg
U2VjdXJpdHkgUG9saWN5IHRoYXQgcHJvaGliaXRzIHVuc2FmZS1ldmFsLiAnICtcbiAgICAgICAg
ICAgICdUaGUgdGVtcGxhdGUgY29tcGlsZXIgY2Fubm90IHdvcmsgaW4gdGhpcyBlbnZpcm9ubWVu
dC4gQ29uc2lkZXIgJyArXG4gICAgICAgICAgICAncmVsYXhpbmcgdGhlIHBvbGljeSB0byBhbGxv
dyB1bnNhZmUtZXZhbCBvciBwcmUtY29tcGlsaW5nIHlvdXIgJyArXG4gICAgICAgICAgICAndGVt
cGxhdGVzIGludG8gcmVuZGVyIGZ1bmN0aW9ucy4nXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxu
ICAgICAgfVxuICAgIH1cblxuICAgIC8vIGNoZWNrIGNhY2hlXG4gICAgdmFyIGtleSA9IG9wdGlv
bnMuZGVsaW1pdGVyc1xuICAgICAgPyBTdHJpbmcob3B0aW9ucy5kZWxpbWl0ZXJzKSArIHRlbXBs
YXRlXG4gICAgICA6IHRlbXBsYXRlO1xuICAgIGlmIChjYWNoZVtrZXldKSB7XG4gICAgICByZXR1
cm4gY2FjaGVba2V5XVxuICAgIH1cblxuICAgIC8vIGNvbXBpbGVcbiAgICB2YXIgY29tcGlsZWQg
PSBjb21waWxlKHRlbXBsYXRlLCBvcHRpb25zKTtcblxuICAgIC8vIGNoZWNrIGNvbXBpbGF0aW9u
IGVycm9ycy90aXBzXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICBpZiAoY29tcGlsZWQuZXJyb3Jz
ICYmIGNvbXBpbGVkLmVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICBc
IkVycm9yIGNvbXBpbGluZyB0ZW1wbGF0ZTpcXG5cXG5cIiArIHRlbXBsYXRlICsgXCJcXG5cXG5c
IiArXG4gICAgICAgICAgY29tcGlsZWQuZXJyb3JzLm1hcChmdW5jdGlvbiAoZSkgeyByZXR1cm4g
KFwiLSBcIiArIGUpOyB9KS5qb2luKCdcXG4nKSArICdcXG4nLFxuICAgICAgICAgIHZtXG4gICAg
ICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoY29tcGlsZWQudGlwcyAmJiBjb21waWxlZC50aXBz
Lmxlbmd0aCkge1xuICAgICAgICBjb21waWxlZC50aXBzLmZvckVhY2goZnVuY3Rpb24gKG1zZykg
eyByZXR1cm4gdGlwKG1zZywgdm0pOyB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB0dXJu
IGNvZGUgaW50byBmdW5jdGlvbnNcbiAgICB2YXIgcmVzID0ge307XG4gICAgdmFyIGZuR2VuRXJy
b3JzID0gW107XG4gICAgcmVzLnJlbmRlciA9IGNyZWF0ZUZ1bmN0aW9uKGNvbXBpbGVkLnJlbmRl
ciwgZm5HZW5FcnJvcnMpO1xuICAgIHJlcy5zdGF0aWNSZW5kZXJGbnMgPSBjb21waWxlZC5zdGF0
aWNSZW5kZXJGbnMubWFwKGZ1bmN0aW9uIChjb2RlKSB7XG4gICAgICByZXR1cm4gY3JlYXRlRnVu
Y3Rpb24oY29kZSwgZm5HZW5FcnJvcnMpXG4gICAgfSk7XG5cbiAgICAvLyBjaGVjayBmdW5jdGlv
biBnZW5lcmF0aW9uIGVycm9ycy5cbiAgICAvLyB0aGlzIHNob3VsZCBvbmx5IGhhcHBlbiBpZiB0
aGVyZSBpcyBhIGJ1ZyBpbiB0aGUgY29tcGlsZXIgaXRzZWxmLlxuICAgIC8vIG1vc3RseSBmb3Ig
Y29kZWdlbiBkZXZlbG9wbWVudCB1c2VcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAg
ICBpZiAoZmFsc2UpIHtcbiAgICAgIGlmICgoIWNvbXBpbGVkLmVycm9ycyB8fCAhY29tcGlsZWQu
ZXJyb3JzLmxlbmd0aCkgJiYgZm5HZW5FcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgIHdhcm4oXG4g
ICAgICAgICAgXCJGYWlsZWQgdG8gZ2VuZXJhdGUgcmVuZGVyIGZ1bmN0aW9uOlxcblxcblwiICtc
biAgICAgICAgICBmbkdlbkVycm9ycy5tYXAoZnVuY3Rpb24gKHJlZikge1xuICAgICAgICAgICAg
dmFyIGVyciA9IHJlZi5lcnI7XG4gICAgICAgICAgICB2YXIgY29kZSA9IHJlZi5jb2RlO1xuXG4g
ICAgICAgICAgICByZXR1cm4gKChlcnIudG9TdHJpbmcoKSkgKyBcIiBpblxcblxcblwiICsgY29k
ZSArIFwiXFxuXCIpO1xuICAgICAgICB9KS5qb2luKCdcXG4nKSxcbiAgICAgICAgICB2bVxuICAg
ICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiAoY2FjaGVba2V5XSA9IHJlcylc
biAgfVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gY3JlYXRlQ29tcGlsZXJDcmVhdG9yIChiYXNl
Q29tcGlsZSkge1xuICByZXR1cm4gZnVuY3Rpb24gY3JlYXRlQ29tcGlsZXIgKGJhc2VPcHRpb25z
KSB7XG4gICAgZnVuY3Rpb24gY29tcGlsZSAoXG4gICAgICB0ZW1wbGF0ZSxcbiAgICAgIG9wdGlv
bnNcbiAgICApIHtcbiAgICAgIHZhciBmaW5hbE9wdGlvbnMgPSBPYmplY3QuY3JlYXRlKGJhc2VP
cHRpb25zKTtcbiAgICAgIHZhciBlcnJvcnMgPSBbXTtcbiAgICAgIHZhciB0aXBzID0gW107XG4g
ICAgICBmaW5hbE9wdGlvbnMud2FybiA9IGZ1bmN0aW9uIChtc2csIHRpcCkge1xuICAgICAgICAo
dGlwID8gdGlwcyA6IGVycm9ycykucHVzaChtc2cpO1xuICAgICAgfTtcblxuICAgICAgaWYgKG9w
dGlvbnMpIHtcbiAgICAgICAgLy8gbWVyZ2UgY3VzdG9tIG1vZHVsZXNcbiAgICAgICAgaWYgKG9w
dGlvbnMubW9kdWxlcykge1xuICAgICAgICAgIGZpbmFsT3B0aW9ucy5tb2R1bGVzID1cbiAgICAg
ICAgICAgIChiYXNlT3B0aW9ucy5tb2R1bGVzIHx8IFtdKS5jb25jYXQob3B0aW9ucy5tb2R1bGVz
KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBtZXJnZSBjdXN0b20gZGlyZWN0aXZlc1xuICAgICAg
ICBpZiAob3B0aW9ucy5kaXJlY3RpdmVzKSB7XG4gICAgICAgICAgZmluYWxPcHRpb25zLmRpcmVj
dGl2ZXMgPSBleHRlbmQoXG4gICAgICAgICAgICBPYmplY3QuY3JlYXRlKGJhc2VPcHRpb25zLmRp
cmVjdGl2ZXMpLFxuICAgICAgICAgICAgb3B0aW9ucy5kaXJlY3RpdmVzXG4gICAgICAgICAgKTtc
biAgICAgICAgfVxuICAgICAgICAvLyBjb3B5IG90aGVyIG9wdGlvbnNcbiAgICAgICAgZm9yICh2
YXIga2V5IGluIG9wdGlvbnMpIHtcbiAgICAgICAgICBpZiAoa2V5ICE9PSAnbW9kdWxlcycgJiYg
a2V5ICE9PSAnZGlyZWN0aXZlcycpIHtcbiAgICAgICAgICAgIGZpbmFsT3B0aW9uc1trZXldID0g
b3B0aW9uc1trZXldO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB2
YXIgY29tcGlsZWQgPSBiYXNlQ29tcGlsZSh0ZW1wbGF0ZSwgZmluYWxPcHRpb25zKTtcbiAgICAg
IGlmIChmYWxzZSkge1xuICAgICAgICBlcnJvcnMucHVzaC5hcHBseShlcnJvcnMsIGRldGVjdEVy
cm9ycyhjb21waWxlZC5hc3QpKTtcbiAgICAgIH1cbiAgICAgIGNvbXBpbGVkLmVycm9ycyA9IGVy
cm9ycztcbiAgICAgIGNvbXBpbGVkLnRpcHMgPSB0aXBzO1xuICAgICAgcmV0dXJuIGNvbXBpbGVk
XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbXBpbGU6IGNvbXBpbGUsXG4gICAgICBj
b21waWxlVG9GdW5jdGlvbnM6IGNyZWF0ZUNvbXBpbGVUb0Z1bmN0aW9uRm4oY29tcGlsZSlcbiAg
ICB9XG4gIH1cbn1cblxuLyogICovXG5cbi8vIGBjcmVhdGVDb21waWxlckNyZWF0b3JgIGFsbG93
cyBjcmVhdGluZyBjb21waWxlcnMgdGhhdCB1c2UgYWx0ZXJuYXRpdmVcbi8vIHBhcnNlci9vcHRp
bWl6ZXIvY29kZWdlbiwgZS5nIHRoZSBTU1Igb3B0aW1pemluZyBjb21waWxlci5cbi8vIEhlcmUg
d2UganVzdCBleHBvcnQgYSBkZWZhdWx0IGNvbXBpbGVyIHVzaW5nIHRoZSBkZWZhdWx0IHBhcnRz
LlxudmFyIGNyZWF0ZUNvbXBpbGVyID0gY3JlYXRlQ29tcGlsZXJDcmVhdG9yKGZ1bmN0aW9uIGJh
c2VDb21waWxlIChcbiAgdGVtcGxhdGUsXG4gIG9wdGlvbnNcbikge1xuICB2YXIgYXN0ID0gcGFy
c2UodGVtcGxhdGUudHJpbSgpLCBvcHRpb25zKTtcbiAgb3B0aW1pemUoYXN0LCBvcHRpb25zKTtc
biAgdmFyIGNvZGUgPSBnZW5lcmF0ZShhc3QsIG9wdGlvbnMpO1xuICByZXR1cm4ge1xuICAgIGFz
dDogYXN0LFxuICAgIHJlbmRlcjogY29kZS5yZW5kZXIsXG4gICAgc3RhdGljUmVuZGVyRm5zOiBj
b2RlLnN0YXRpY1JlbmRlckZuc1xuICB9XG59KTtcblxuLyogICovXG5cbnZhciByZWYkMSA9IGNy
ZWF0ZUNvbXBpbGVyKGJhc2VPcHRpb25zKTtcbnZhciBjb21waWxlVG9GdW5jdGlvbnMgPSByZWYk
MS5jb21waWxlVG9GdW5jdGlvbnM7XG5cbi8qICAqL1xuXG52YXIgaWRUb1RlbXBsYXRlID0gY2Fj
aGVkKGZ1bmN0aW9uIChpZCkge1xuICB2YXIgZWwgPSBxdWVyeShpZCk7XG4gIHJldHVybiBlbCAm
JiBlbC5pbm5lckhUTUxcbn0pO1xuXG52YXIgbW91bnQgPSBWdWUkMy5wcm90b3R5cGUuJG1vdW50
O1xuVnVlJDMucHJvdG90eXBlLiRtb3VudCA9IGZ1bmN0aW9uIChcbiAgZWwsXG4gIGh5ZHJhdGlu
Z1xuKSB7XG4gIGVsID0gZWwgJiYgcXVlcnkoZWwpO1xuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBp
ZiAqL1xuICBpZiAoZWwgPT09IGRvY3VtZW50LmJvZHkgfHwgZWwgPT09IGRvY3VtZW50LmRvY3Vt
ZW50RWxlbWVudCkge1xuICAgIFwicHJvZHVjdGlvblwiICE9PSAncHJvZHVjdGlvbicgJiYgd2Fy
bihcbiAgICAgIFwiRG8gbm90IG1vdW50IFZ1ZSB0byA8aHRtbD4gb3IgPGJvZHk+IC0gbW91bnQg
dG8gbm9ybWFsIGVsZW1lbnRzIGluc3RlYWQuXCJcbiAgICApO1xuICAgIHJldHVybiB0aGlzXG4g
IH1cblxuICB2YXIgb3B0aW9ucyA9IHRoaXMuJG9wdGlvbnM7XG4gIC8vIHJlc29sdmUgdGVtcGxh
dGUvZWwgYW5kIGNvbnZlcnQgdG8gcmVuZGVyIGZ1bmN0aW9uXG4gIGlmICghb3B0aW9ucy5yZW5k
ZXIpIHtcbiAgICB2YXIgdGVtcGxhdGUgPSBvcHRpb25zLnRlbXBsYXRlO1xuICAgIGlmICh0ZW1w
bGF0ZSkge1xuICAgICAgaWYgKHR5cGVvZiB0ZW1wbGF0ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAg
ICAgaWYgKHRlbXBsYXRlLmNoYXJBdCgwKSA9PT0gJyMnKSB7XG4gICAgICAgICAgdGVtcGxhdGUg
PSBpZFRvVGVtcGxhdGUodGVtcGxhdGUpO1xuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBp
ZiAqL1xuICAgICAgICAgIGlmIChmYWxzZSkge1xuICAgICAgICAgICAgd2FybihcbiAgICAgICAg
ICAgICAgKFwiVGVtcGxhdGUgZWxlbWVudCBub3QgZm91bmQgb3IgaXMgZW1wdHk6IFwiICsgKG9w
dGlvbnMudGVtcGxhdGUpKSxcbiAgICAgICAgICAgICAgdGhpc1xuICAgICAgICAgICAgKTtcbiAg
ICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodGVtcGxhdGUubm9kZVR5cGUp
IHtcbiAgICAgICAgdGVtcGxhdGUgPSB0ZW1wbGF0ZS5pbm5lckhUTUw7XG4gICAgICB9IGVsc2Ug
e1xuICAgICAgICBpZiAoZmFsc2UpIHtcbiAgICAgICAgICB3YXJuKCdpbnZhbGlkIHRlbXBsYXRl
IG9wdGlvbjonICsgdGVtcGxhdGUsIHRoaXMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0
aGlzXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChlbCkge1xuICAgICAgdGVtcGxhdGUgPSBnZXRP
dXRlckhUTUwoZWwpO1xuICAgIH1cbiAgICBpZiAodGVtcGxhdGUpIHtcbiAgICAgIC8qIGlzdGFu
YnVsIGlnbm9yZSBpZiAqL1xuICAgICAgaWYgKGZhbHNlKSB7XG4gICAgICAgIG1hcmsoJ2NvbXBp
bGUnKTtcbiAgICAgIH1cblxuICAgICAgdmFyIHJlZiA9IGNvbXBpbGVUb0Z1bmN0aW9ucyh0ZW1w
bGF0ZSwge1xuICAgICAgICBzaG91bGREZWNvZGVOZXdsaW5lczogc2hvdWxkRGVjb2RlTmV3bGlu
ZXMsXG4gICAgICAgIGRlbGltaXRlcnM6IG9wdGlvbnMuZGVsaW1pdGVycyxcbiAgICAgICAgY29t
bWVudHM6IG9wdGlvbnMuY29tbWVudHNcbiAgICAgIH0sIHRoaXMpO1xuICAgICAgdmFyIHJlbmRl
ciA9IHJlZi5yZW5kZXI7XG4gICAgICB2YXIgc3RhdGljUmVuZGVyRm5zID0gcmVmLnN0YXRpY1Jl
bmRlckZucztcbiAgICAgIG9wdGlvbnMucmVuZGVyID0gcmVuZGVyO1xuICAgICAgb3B0aW9ucy5z
dGF0aWNSZW5kZXJGbnMgPSBzdGF0aWNSZW5kZXJGbnM7XG5cbiAgICAgIC8qIGlzdGFuYnVsIGln
bm9yZSBpZiAqL1xuICAgICAgaWYgKGZhbHNlKSB7XG4gICAgICAgIG1hcmsoJ2NvbXBpbGUgZW5k
Jyk7XG4gICAgICAgIG1lYXN1cmUoKCh0aGlzLl9uYW1lKSArIFwiIGNvbXBpbGVcIiksICdjb21w
aWxlJywgJ2NvbXBpbGUgZW5kJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBtb3Vu
dC5jYWxsKHRoaXMsIGVsLCBoeWRyYXRpbmcpXG59O1xuXG4vKipcbiAqIEdldCBvdXRlckhUTUwg
b2YgZWxlbWVudHMsIHRha2luZyBjYXJlXG4gKiBvZiBTVkcgZWxlbWVudHMgaW4gSUUgYXMgd2Vs
bC5cbiAqL1xuZnVuY3Rpb24gZ2V0T3V0ZXJIVE1MIChlbCkge1xuICBpZiAoZWwub3V0ZXJIVE1M
KSB7XG4gICAgcmV0dXJuIGVsLm91dGVySFRNTFxuICB9IGVsc2Uge1xuICAgIHZhciBjb250YWlu
ZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBjb250YWluZXIuYXBwZW5k
Q2hpbGQoZWwuY2xvbmVOb2RlKHRydWUpKTtcbiAgICByZXR1cm4gY29udGFpbmVyLmlubmVySFRN
TFxuICB9XG59XG5cblZ1ZSQzLmNvbXBpbGUgPSBjb21waWxlVG9GdW5jdGlvbnM7XG5cbi8qIGhh
cm1vbnkgZGVmYXVsdCBleHBvcnQgKi8gX193ZWJwYWNrX2V4cG9ydHNfX1tcImRlZmF1bHRcIl0g
PSAoVnVlJDMpO1xuXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwoX193ZWJwYWNr
X2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXygxMikpKVxuXG4vKioqLyB9KSxcbi8qIDEg
Ki9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuLyogZ2xvYmFscyBfX1ZV
RV9TU1JfQ09OVEVYVF9fICovXG5cbi8vIHRoaXMgbW9kdWxlIGlzIGEgcnVudGltZSB1dGlsaXR5
IGZvciBjbGVhbmVyIGNvbXBvbmVudCBtb2R1bGUgb3V0cHV0IGFuZCB3aWxsXG4vLyBiZSBpbmNs
dWRlZCBpbiB0aGUgZmluYWwgd2VicGFjayB1c2VyIGJ1bmRsZVxuXG5tb2R1bGUuZXhwb3J0cyA9
IGZ1bmN0aW9uIG5vcm1hbGl6ZUNvbXBvbmVudCAoXG4gIHJhd1NjcmlwdEV4cG9ydHMsXG4gIGNv
bXBpbGVkVGVtcGxhdGUsXG4gIGluamVjdFN0eWxlcyxcbiAgc2NvcGVJZCxcbiAgbW9kdWxlSWRl
bnRpZmllciAvKiBzZXJ2ZXIgb25seSAqL1xuKSB7XG4gIHZhciBlc01vZHVsZVxuICB2YXIgc2Ny
aXB0RXhwb3J0cyA9IHJhd1NjcmlwdEV4cG9ydHMgPSByYXdTY3JpcHRFeHBvcnRzIHx8IHt9XG5c
biAgLy8gRVM2IG1vZHVsZXMgaW50ZXJvcFxuICB2YXIgdHlwZSA9IHR5cGVvZiByYXdTY3JpcHRF
eHBvcnRzLmRlZmF1bHRcbiAgaWYgKHR5cGUgPT09ICdvYmplY3QnIHx8IHR5cGUgPT09ICdmdW5j
dGlvbicpIHtcbiAgICBlc01vZHVsZSA9IHJhd1NjcmlwdEV4cG9ydHNcbiAgICBzY3JpcHRFeHBv
cnRzID0gcmF3U2NyaXB0RXhwb3J0cy5kZWZhdWx0XG4gIH1cblxuICAvLyBWdWUuZXh0ZW5kIGNv
bnN0cnVjdG9yIGV4cG9ydCBpbnRlcm9wXG4gIHZhciBvcHRpb25zID0gdHlwZW9mIHNjcmlwdEV4
cG9ydHMgPT09ICdmdW5jdGlvbidcbiAgICA/IHNjcmlwdEV4cG9ydHMub3B0aW9uc1xuICAgIDog
c2NyaXB0RXhwb3J0c1xuXG4gIC8vIHJlbmRlciBmdW5jdGlvbnNcbiAgaWYgKGNvbXBpbGVkVGVt
cGxhdGUpIHtcbiAgICBvcHRpb25zLnJlbmRlciA9IGNvbXBpbGVkVGVtcGxhdGUucmVuZGVyXG4g
ICAgb3B0aW9ucy5zdGF0aWNSZW5kZXJGbnMgPSBjb21waWxlZFRlbXBsYXRlLnN0YXRpY1JlbmRl
ckZuc1xuICB9XG5cbiAgLy8gc2NvcGVkSWRcbiAgaWYgKHNjb3BlSWQpIHtcbiAgICBvcHRpb25z
Ll9zY29wZUlkID0gc2NvcGVJZFxuICB9XG5cbiAgdmFyIGhvb2tcbiAgaWYgKG1vZHVsZUlkZW50
aWZpZXIpIHsgLy8gc2VydmVyIGJ1aWxkXG4gICAgaG9vayA9IGZ1bmN0aW9uIChjb250ZXh0KSB7
XG4gICAgICAvLyAyLjMgaW5qZWN0aW9uXG4gICAgICBjb250ZXh0ID1cbiAgICAgICAgY29udGV4
dCB8fCAvLyBjYWNoZWQgY2FsbFxuICAgICAgICAodGhpcy4kdm5vZGUgJiYgdGhpcy4kdm5vZGUu
c3NyQ29udGV4dCkgfHwgLy8gc3RhdGVmdWxcbiAgICAgICAgKHRoaXMucGFyZW50ICYmIHRoaXMu
cGFyZW50LiR2bm9kZSAmJiB0aGlzLnBhcmVudC4kdm5vZGUuc3NyQ29udGV4dCkgLy8gZnVuY3Rp
b25hbFxuICAgICAgLy8gMi4yIHdpdGggcnVuSW5OZXdDb250ZXh0OiB0cnVlXG4gICAgICBpZiAo
IWNvbnRleHQgJiYgdHlwZW9mIF9fVlVFX1NTUl9DT05URVhUX18gIT09ICd1bmRlZmluZWQnKSB7
XG4gICAgICAgIGNvbnRleHQgPSBfX1ZVRV9TU1JfQ09OVEVYVF9fXG4gICAgICB9XG4gICAgICAv
LyBpbmplY3QgY29tcG9uZW50IHN0eWxlc1xuICAgICAgaWYgKGluamVjdFN0eWxlcykge1xuICAg
ICAgICBpbmplY3RTdHlsZXMuY2FsbCh0aGlzLCBjb250ZXh0KVxuICAgICAgfVxuICAgICAgLy8g
cmVnaXN0ZXIgY29tcG9uZW50IG1vZHVsZSBpZGVudGlmaWVyIGZvciBhc3luYyBjaHVuayBpbmZl
cnJlbmNlXG4gICAgICBpZiAoY29udGV4dCAmJiBjb250ZXh0Ll9yZWdpc3RlcmVkQ29tcG9uZW50
cykge1xuICAgICAgICBjb250ZXh0Ll9yZWdpc3RlcmVkQ29tcG9uZW50cy5hZGQobW9kdWxlSWRl
bnRpZmllcilcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gdXNlZCBieSBzc3IgaW4gY2FzZSBjb21w
b25lbnQgaXMgY2FjaGVkIGFuZCBiZWZvcmVDcmVhdGVcbiAgICAvLyBuZXZlciBnZXRzIGNhbGxl
ZFxuICAgIG9wdGlvbnMuX3NzclJlZ2lzdGVyID0gaG9va1xuICB9IGVsc2UgaWYgKGluamVjdFN0
eWxlcykge1xuICAgIGhvb2sgPSBpbmplY3RTdHlsZXNcbiAgfVxuXG4gIGlmIChob29rKSB7XG4g
ICAgdmFyIGZ1bmN0aW9uYWwgPSBvcHRpb25zLmZ1bmN0aW9uYWxcbiAgICB2YXIgZXhpc3Rpbmcg
PSBmdW5jdGlvbmFsXG4gICAgICA/IG9wdGlvbnMucmVuZGVyXG4gICAgICA6IG9wdGlvbnMuYmVm
b3JlQ3JlYXRlXG4gICAgaWYgKCFmdW5jdGlvbmFsKSB7XG4gICAgICAvLyBpbmplY3QgY29tcG9u
ZW50IHJlZ2lzdHJhdGlvbiBhcyBiZWZvcmVDcmVhdGUgaG9va1xuICAgICAgb3B0aW9ucy5iZWZv
cmVDcmVhdGUgPSBleGlzdGluZ1xuICAgICAgICA/IFtdLmNvbmNhdChleGlzdGluZywgaG9vaylc
biAgICAgICAgOiBbaG9va11cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gcmVnaXN0ZXIgZm9yIGZ1
bmN0aW9hbCBjb21wb25lbnQgaW4gdnVlIGZpbGVcbiAgICAgIG9wdGlvbnMucmVuZGVyID0gZnVu
Y3Rpb24gcmVuZGVyV2l0aFN0eWxlSW5qZWN0aW9uIChoLCBjb250ZXh0KSB7XG4gICAgICAgIGhv
b2suY2FsbChjb250ZXh0KVxuICAgICAgICByZXR1cm4gZXhpc3RpbmcoaCwgY29udGV4dClcbiAg
ICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGVzTW9kdWxlOiBlc01vZHVsZSxc
biAgICBleHBvcnRzOiBzY3JpcHRFeHBvcnRzLFxuICAgIG9wdGlvbnM6IG9wdGlvbnNcbiAgfVxu
fVxuXG5cbi8qKiovIH0pLFxuLyogMiAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0
cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cblxuLy9cbi8vIEdlbmVyYXRlZCBvbiBUdWUg
RGVjIDE2IDIwMTQgMTI6MTM6NDcgR01UKzAxMDAgKENFVCkgYnkgQ2hhcmxpZSBSb2JiaW5zLCBQ
YW9sbyBGcmFnb21lbmkgJiB0aGUgQ29udHJpYnV0b3JzIChVc2luZyBDb2Rlc3VyZ2VvbikuXG4v
LyBWZXJzaW9uIDEuMi42XG4vL1xuXG4oZnVuY3Rpb24gKGV4cG9ydHMpIHtcblxuLypcbiAqIGJy
b3dzZXIuanM6IEJyb3dzZXIgc3BlY2lmaWMgZnVuY3Rpb25hbGl0eSBmb3IgZGlyZWN0b3IuXG4g
KlxuICogKEMpIDIwMTEsIENoYXJsaWUgUm9iYmlucywgUGFvbG8gRnJhZ29tZW5pLCAmIHRoZSBD
b250cmlidXRvcnMuXG4gKiBNSVQgTElDRU5TRVxuICpcbiAqL1xuXG52YXIgZGxvYyA9IGRvY3Vt
ZW50LmxvY2F0aW9uO1xuXG5mdW5jdGlvbiBkbG9jSGFzaEVtcHR5KCkge1xuICAvLyBOb24tSUUg
YnJvd3NlcnMgcmV0dXJuICcnIHdoZW4gdGhlIGFkZHJlc3MgYmFyIHNob3dzICcjJzsgRGlyZWN0
b3IncyBsb2dpY1xuICAvLyBhc3N1bWVzIGJvdGggbWVhbiBlbXB0eS5cbiAgcmV0dXJuIGRsb2Mu
aGFzaCA9PT0gJycgfHwgZGxvYy5oYXNoID09PSAnIyc7XG59XG5cbnZhciBsaXN0ZW5lciA9IHtc
biAgbW9kZTogJ21vZGVybicsXG4gIGhhc2g6IGRsb2MuaGFzaCxcbiAgaGlzdG9yeTogZmFsc2Us
XG5cbiAgY2hlY2s6IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgaCA9IGRsb2MuaGFzaDtcbiAgICBp
ZiAoaCAhPSB0aGlzLmhhc2gpIHtcbiAgICAgIHRoaXMuaGFzaCA9IGg7XG4gICAgICB0aGlzLm9u
SGFzaENoYW5nZWQoKTtcbiAgICB9XG4gIH0sXG5cbiAgZmlyZTogZnVuY3Rpb24gKCkge1xuICAg
IGlmICh0aGlzLm1vZGUgPT09ICdtb2Rlcm4nKSB7XG4gICAgICB0aGlzLmhpc3RvcnkgPT09IHRy
dWUgPyB3aW5kb3cub25wb3BzdGF0ZSgpIDogd2luZG93Lm9uaGFzaGNoYW5nZSgpO1xuICAgIH1c
biAgICBlbHNlIHtcbiAgICAgIHRoaXMub25IYXNoQ2hhbmdlZCgpO1xuICAgIH1cbiAgfSxcblxu
ICBpbml0OiBmdW5jdGlvbiAoZm4sIGhpc3RvcnkpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4g
ICAgdGhpcy5oaXN0b3J5ID0gaGlzdG9yeTtcblxuICAgIGlmICghUm91dGVyLmxpc3RlbmVycykg
e1xuICAgICAgUm91dGVyLmxpc3RlbmVycyA9IFtdO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIG9u
Y2hhbmdlKG9uQ2hhbmdlRXZlbnQpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gUm91dGVy
Lmxpc3RlbmVycy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgUm91dGVyLmxpc3RlbmVy
c1tpXShvbkNoYW5nZUV2ZW50KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvL25vdGUgSUU4IGlz
IGJlaW5nIGNvdW50ZWQgYXMgJ21vZGVybicgYmVjYXVzZSBpdCBoYXMgdGhlIGhhc2hjaGFuZ2Ug
ZXZlbnRcbiAgICBpZiAoJ29uaGFzaGNoYW5nZScgaW4gd2luZG93ICYmIChkb2N1bWVudC5kb2N1
bWVudE1vZGUgPT09IHVuZGVmaW5lZFxuICAgICAgfHwgZG9jdW1lbnQuZG9jdW1lbnRNb2RlID4g
NykpIHtcbiAgICAgIC8vIEF0IGxlYXN0IGZvciBub3cgSFRNTDUgaGlzdG9yeSBpcyBhdmFpbGFi
bGUgZm9yICdtb2Rlcm4nIGJyb3dzZXJzIG9ubHlcbiAgICAgIGlmICh0aGlzLmhpc3RvcnkgPT09
IHRydWUpIHtcbiAgICAgICAgLy8gVGhlcmUgaXMgYW4gb2xkIGJ1ZyBpbiBDaHJvbWUgdGhhdCBj
YXVzZXMgb25wb3BzdGF0ZSB0byBmaXJlIGV2ZW5cbiAgICAgICAgLy8gdXBvbiBpbml0aWFsIHBh
Z2UgbG9hZC4gU2luY2UgdGhlIGhhbmRsZXIgaXMgcnVuIG1hbnVhbGx5IGluIGluaXQoKSxcbiAg
ICAgICAgLy8gdGhpcyB3b3VsZCBjYXVzZSBDaHJvbWUgdG8gcnVuIGl0IHR3aXNlLiBDdXJyZW50
bHkgdGhlIG9ubHlcbiAgICAgICAgLy8gd29ya2Fyb3VuZCBzZWVtcyB0byBiZSB0byBzZXQgdGhl
IGhhbmRsZXIgYWZ0ZXIgdGhlIGluaXRpYWwgcGFnZSBsb2FkXG4gICAgICAgIC8vIGh0dHA6Ly9j
b2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTYzMDQwXG4gICAgICAg
IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG4gICAgICAgICAgd2luZG93Lm9ucG9wc3RhdGUgPSBv
bmNoYW5nZTtcbiAgICAgICAgfSwgNTAwKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAg
ICB3aW5kb3cub25oYXNoY2hhbmdlID0gb25jaGFuZ2U7XG4gICAgICB9XG4gICAgICB0aGlzLm1v
ZGUgPSAnbW9kZXJuJztcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAvL1xuICAgICAgLy8gSUUg
c3VwcG9ydCwgYmFzZWQgb24gYSBjb25jZXB0IGJ5IEVyaWsgQXJ2aWRzb24gLi4uXG4gICAgICAv
L1xuICAgICAgdmFyIGZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7XG4g
ICAgICBmcmFtZS5pZCA9ICdzdGF0ZS1mcmFtZSc7XG4gICAgICBmcmFtZS5zdHlsZS5kaXNwbGF5
ID0gJ25vbmUnO1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZSk7XG4gICAg
ICB0aGlzLndyaXRlRnJhbWUoJycpO1xuXG4gICAgICBpZiAoJ29ucHJvcGVydHljaGFuZ2UnIGlu
IGRvY3VtZW50ICYmICdhdHRhY2hFdmVudCcgaW4gZG9jdW1lbnQpIHtcbiAgICAgICAgZG9jdW1l
bnQuYXR0YWNoRXZlbnQoJ29ucHJvcGVydHljaGFuZ2UnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAg
ICAgaWYgKGV2ZW50LnByb3BlcnR5TmFtZSA9PT0gJ2xvY2F0aW9uJykge1xuICAgICAgICAgICAg
c2VsZi5jaGVjaygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAg
IHdpbmRvdy5zZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7IHNlbGYuY2hlY2soKTsgfSwgNTApO1xu
XG4gICAgICB0aGlzLm9uSGFzaENoYW5nZWQgPSBvbmNoYW5nZTtcbiAgICAgIHRoaXMubW9kZSA9
ICdsZWdhY3knO1xuICAgIH1cblxuICAgIFJvdXRlci5saXN0ZW5lcnMucHVzaChmbik7XG5cbiAg
ICByZXR1cm4gdGhpcy5tb2RlO1xuICB9LFxuXG4gIGRlc3Ryb3k6IGZ1bmN0aW9uIChmbikge1xu
ICAgIGlmICghUm91dGVyIHx8ICFSb3V0ZXIubGlzdGVuZXJzKSB7XG4gICAgICByZXR1cm47XG4g
ICAgfVxuXG4gICAgdmFyIGxpc3RlbmVycyA9IFJvdXRlci5saXN0ZW5lcnM7XG5cbiAgICBmb3Ig
KHZhciBpID0gbGlzdGVuZXJzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBpZiAo
bGlzdGVuZXJzW2ldID09PSBmbikge1xuICAgICAgICBsaXN0ZW5lcnMuc3BsaWNlKGksIDEpO1xu
ICAgICAgfVxuICAgIH1cbiAgfSxcblxuICBzZXRIYXNoOiBmdW5jdGlvbiAocykge1xuICAgIC8v
IE1vemlsbGEgYWx3YXlzIGFkZHMgYW4gZW50cnkgdG8gdGhlIGhpc3RvcnlcbiAgICBpZiAodGhp
cy5tb2RlID09PSAnbGVnYWN5Jykge1xuICAgICAgdGhpcy53cml0ZUZyYW1lKHMpO1xuICAgIH1c
blxuICAgIGlmICh0aGlzLmhpc3RvcnkgPT09IHRydWUpIHtcbiAgICAgIHdpbmRvdy5oaXN0b3J5
LnB1c2hTdGF0ZSh7fSwgZG9jdW1lbnQudGl0bGUsIHMpO1xuICAgICAgLy8gRmlyZSBhbiBvbnBv
cHN0YXRlIGV2ZW50IG1hbnVhbGx5IHNpbmNlIHB1c2hpbmcgZG9lcyBub3Qgb2J2aW91c2x5XG4g
ICAgICAvLyB0cmlnZ2VyIHRoZSBwb3AgZXZlbnQuXG4gICAgICB0aGlzLmZpcmUoKTtcbiAgICB9
IGVsc2Uge1xuICAgICAgZGxvYy5oYXNoID0gKHNbMF0gPT09ICcvJykgPyBzIDogJy8nICsgcztc
biAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH0sXG5cbiAgd3JpdGVGcmFtZTogZnVuY3Rpb24g
KHMpIHtcbiAgICAvLyBJRSBzdXBwb3J0Li4uXG4gICAgdmFyIGYgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnc3RhdGUtZnJhbWUnKTtcbiAgICB2YXIgZCA9IGYuY29udGVudERvY3VtZW50IHx8
IGYuY29udGVudFdpbmRvdy5kb2N1bWVudDtcbiAgICBkLm9wZW4oKTtcbiAgICBkLndyaXRlKFwi
PHNjcmlwdD5faGFzaCA9ICdcIiArIHMgKyBcIic7IG9ubG9hZCA9IHBhcmVudC5saXN0ZW5lci5z
eW5jSGFzaDs8c2NyaXB0PlwiKTtcbiAgICBkLmNsb3NlKCk7XG4gIH0sXG5cbiAgc3luY0hhc2g6
IGZ1bmN0aW9uICgpIHtcbiAgICAvLyBJRSBzdXBwb3J0Li4uXG4gICAgdmFyIHMgPSB0aGlzLl9o
YXNoO1xuICAgIGlmIChzICE9IGRsb2MuaGFzaCkge1xuICAgICAgZGxvYy5oYXNoID0gcztcbiAg
ICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH0sXG5cbiAgb25IYXNoQ2hhbmdlZDogZnVuY3Rpb24g
KCkge31cbn07XG5cbnZhciBSb3V0ZXIgPSBleHBvcnRzLlJvdXRlciA9IGZ1bmN0aW9uIChyb3V0
ZXMpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFJvdXRlcikpIHJldHVybiBuZXcgUm91dGVy
KHJvdXRlcyk7XG5cbiAgdGhpcy5wYXJhbXMgICA9IHt9O1xuICB0aGlzLnJvdXRlcyAgID0ge307
XG4gIHRoaXMubWV0aG9kcyAgPSBbJ29uJywgJ29uY2UnLCAnYWZ0ZXInLCAnYmVmb3JlJ107XG4g
IHRoaXMuc2NvcGUgICAgPSBbXTtcbiAgdGhpcy5fbWV0aG9kcyA9IHt9O1xuXG4gIHRoaXMuX2lu
c2VydCA9IHRoaXMuaW5zZXJ0O1xuICB0aGlzLmluc2VydCA9IHRoaXMuaW5zZXJ0RXg7XG5cbiAg
dGhpcy5oaXN0b3J5U3VwcG9ydCA9ICh3aW5kb3cuaGlzdG9yeSAhPSBudWxsID8gd2luZG93Lmhp
c3RvcnkucHVzaFN0YXRlIDogbnVsbCkgIT0gbnVsbFxuXG4gIHRoaXMuY29uZmlndXJlKCk7XG4g
IHRoaXMubW91bnQocm91dGVzIHx8IHt9KTtcbn07XG5cblJvdXRlci5wcm90b3R5cGUuaW5pdCA9
IGZ1bmN0aW9uIChyKSB7XG4gIHZhciBzZWxmID0gdGhpc1xuICAgICwgcm91dGVUbztcbiAgdGhp
cy5oYW5kbGVyID0gZnVuY3Rpb24ob25DaGFuZ2VFdmVudCkge1xuICAgIHZhciBuZXdVUkwgPSBv
bkNoYW5nZUV2ZW50ICYmIG9uQ2hhbmdlRXZlbnQubmV3VVJMIHx8IHdpbmRvdy5sb2NhdGlvbi5o
YXNoO1xuICAgIHZhciB1cmwgPSBzZWxmLmhpc3RvcnkgPT09IHRydWUgPyBzZWxmLmdldFBhdGgo
KSA6IG5ld1VSTC5yZXBsYWNlKC8uKiMvLCAnJyk7XG4gICAgc2VsZi5kaXNwYXRjaCgnb24nLCB1
cmwuY2hhckF0KDApID09PSAnLycgPyB1cmwgOiAnLycgKyB1cmwpO1xuICB9O1xuXG4gIGxpc3Rl
bmVyLmluaXQodGhpcy5oYW5kbGVyLCB0aGlzLmhpc3RvcnkpO1xuXG4gIGlmICh0aGlzLmhpc3Rv
cnkgPT09IGZhbHNlKSB7XG4gICAgaWYgKGRsb2NIYXNoRW1wdHkoKSAmJiByKSB7XG4gICAgICBk
bG9jLmhhc2ggPSByO1xuICAgIH0gZWxzZSBpZiAoIWRsb2NIYXNoRW1wdHkoKSkge1xuICAgICAg
c2VsZi5kaXNwYXRjaCgnb24nLCAnLycgKyBkbG9jLmhhc2gucmVwbGFjZSgvXigjXFwvfCN8XFwv
KS8sICcnKSk7XG4gICAgfVxuICB9XG4gIGVsc2Uge1xuICAgIGlmICh0aGlzLmNvbnZlcnRfaGFz
aF9pbl9pbml0KSB7XG4gICAgICAvLyBVc2UgaGFzaCBhcyByb3V0ZVxuICAgICAgcm91dGVUbyA9
IGRsb2NIYXNoRW1wdHkoKSAmJiByID8gciA6ICFkbG9jSGFzaEVtcHR5KCkgPyBkbG9jLmhhc2gu
cmVwbGFjZSgvXiMvLCAnJykgOiBudWxsO1xuICAgICAgaWYgKHJvdXRlVG8pIHtcbiAgICAgICAg
d2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKHt9LCBkb2N1bWVudC50aXRsZSwgcm91dGVUbyk7
XG4gICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgLy8gVXNlIGNhbm9uaWNhbCB1cmxc
biAgICAgIHJvdXRlVG8gPSB0aGlzLmdldFBhdGgoKTtcbiAgICB9XG5cbiAgICAvLyBSb3V0ZXIg
aGFzIGJlZW4gaW5pdGlhbGl6ZWQsIGJ1dCBkdWUgdG8gdGhlIGNocm9tZSBidWcgaXQgd2lsbCBu
b3RcbiAgICAvLyB5ZXQgYWN0dWFsbHkgcm91dGUgSFRNTDUgaGlzdG9yeSBzdGF0ZSBjaGFuZ2Vz
LiBUaHVzLCBkZWNpZGUgaWYgc2hvdWxkIHJvdXRlLlxuICAgIGlmIChyb3V0ZVRvIHx8IHRoaXMu
cnVuX2luX2luaXQgPT09IHRydWUpIHtcbiAgICAgIHRoaXMuaGFuZGxlcigpO1xuICAgIH1cbiAg
fVxuXG4gIHJldHVybiB0aGlzO1xufTtcblxuUm91dGVyLnByb3RvdHlwZS5leHBsb2RlID0gZnVu
Y3Rpb24gKCkge1xuICB2YXIgdiA9IHRoaXMuaGlzdG9yeSA9PT0gdHJ1ZSA/IHRoaXMuZ2V0UGF0
aCgpIDogZGxvYy5oYXNoO1xuICBpZiAodi5jaGFyQXQoMSkgPT09ICcvJykgeyB2PXYuc2xpY2Uo
MSkgfVxuICByZXR1cm4gdi5zbGljZSgxLCB2Lmxlbmd0aCkuc3BsaXQoXCIvXCIpO1xufTtcblxu
Um91dGVyLnByb3RvdHlwZS5zZXRSb3V0ZSA9IGZ1bmN0aW9uIChpLCB2LCB2YWwpIHtcbiAgdmFy
IHVybCA9IHRoaXMuZXhwbG9kZSgpO1xuXG4gIGlmICh0eXBlb2YgaSA9PT0gJ251bWJlcicgJiYg
dHlwZW9mIHYgPT09ICdzdHJpbmcnKSB7XG4gICAgdXJsW2ldID0gdjtcbiAgfVxuICBlbHNlIGlm
ICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgIHVybC5zcGxpY2UoaSwgdiwgcyk7XG4g
IH1cbiAgZWxzZSB7XG4gICAgdXJsID0gW2ldO1xuICB9XG5cbiAgbGlzdGVuZXIuc2V0SGFzaCh1
cmwuam9pbignLycpKTtcbiAgcmV0dXJuIHVybDtcbn07XG5cbi8vXG4vLyAjIyMgZnVuY3Rpb24g
aW5zZXJ0RXgobWV0aG9kLCBwYXRoLCByb3V0ZSwgcGFyZW50KVxuLy8gIyMjIyBAbWV0aG9kIHtz
dHJpbmd9IE1ldGhvZCB0byBpbnNlcnQgdGhlIHNwZWNpZmljIGByb3V0ZWAuXG4vLyAjIyMjIEBw
YXRoIHtBcnJheX0gUGFyc2VkIHBhdGggdG8gaW5zZXJ0IHRoZSBgcm91dGVgIGF0LlxuLy8gIyMj
IyBAcm91dGUge0FycmF5fGZ1bmN0aW9ufSBSb3V0ZSBoYW5kbGVycyB0byBpbnNlcnQuXG4vLyAj
IyMjIEBwYXJlbnQge09iamVjdH0gKipPcHRpb25hbCoqIFBhcmVudCBcInJvdXRlc1wiIHRvIGlu
c2VydCBpbnRvLlxuLy8gaW5zZXJ0IGEgY2FsbGJhY2sgdGhhdCB3aWxsIG9ubHkgb2NjdXIgb25j
ZSBwZXIgdGhlIG1hdGNoZWQgcm91dGUuXG4vL1xuUm91dGVyLnByb3RvdHlwZS5pbnNlcnRFeCA9
IGZ1bmN0aW9uKG1ldGhvZCwgcGF0aCwgcm91dGUsIHBhcmVudCkge1xuICBpZiAobWV0aG9kID09
PSBcIm9uY2VcIikge1xuICAgIG1ldGhvZCA9IFwib25cIjtcbiAgICByb3V0ZSA9IGZ1bmN0aW9u
KHJvdXRlKSB7XG4gICAgICB2YXIgb25jZSA9IGZhbHNlO1xuICAgICAgcmV0dXJuIGZ1bmN0aW9u
KCkge1xuICAgICAgICBpZiAob25jZSkgcmV0dXJuO1xuICAgICAgICBvbmNlID0gdHJ1ZTtcbiAg
ICAgICAgcmV0dXJuIHJvdXRlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICB9O1xuICAg
IH0ocm91dGUpO1xuICB9XG4gIHJldHVybiB0aGlzLl9pbnNlcnQobWV0aG9kLCBwYXRoLCByb3V0
ZSwgcGFyZW50KTtcbn07XG5cblJvdXRlci5wcm90b3R5cGUuZ2V0Um91dGUgPSBmdW5jdGlvbiAo
dikge1xuICB2YXIgcmV0ID0gdjtcblxuICBpZiAodHlwZW9mIHYgPT09IFwibnVtYmVyXCIpIHtc
biAgICByZXQgPSB0aGlzLmV4cGxvZGUoKVt2XTtcbiAgfVxuICBlbHNlIGlmICh0eXBlb2YgdiA9
PT0gXCJzdHJpbmdcIil7XG4gICAgdmFyIGggPSB0aGlzLmV4cGxvZGUoKTtcbiAgICByZXQgPSBo
LmluZGV4T2Yodik7XG4gIH1cbiAgZWxzZSB7XG4gICAgcmV0ID0gdGhpcy5leHBsb2RlKCk7XG4g
IH1cblxuICByZXR1cm4gcmV0O1xufTtcblxuUm91dGVyLnByb3RvdHlwZS5kZXN0cm95ID0gZnVu
Y3Rpb24gKCkge1xuICBsaXN0ZW5lci5kZXN0cm95KHRoaXMuaGFuZGxlcik7XG4gIHJldHVybiB0
aGlzO1xufTtcblxuUm91dGVyLnByb3RvdHlwZS5nZXRQYXRoID0gZnVuY3Rpb24gKCkge1xuICB2
YXIgcGF0aCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTtcbiAgaWYgKHBhdGguc3Vic3RyKDAs
IDEpICE9PSAnLycpIHtcbiAgICBwYXRoID0gJy8nICsgcGF0aDtcbiAgfVxuICByZXR1cm4gcGF0
aDtcbn07XG5mdW5jdGlvbiBfZXZlcnkoYXJyLCBpdGVyYXRvcikge1xuICBmb3IgKHZhciBpID0g
MDsgaSA8IGFyci5sZW5ndGg7IGkgKz0gMSkge1xuICAgIGlmIChpdGVyYXRvcihhcnJbaV0sIGks
IGFycikgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0
aW9uIF9mbGF0dGVuKGFycikge1xuICB2YXIgZmxhdCA9IFtdO1xuICBmb3IgKHZhciBpID0gMCwg
biA9IGFyci5sZW5ndGg7IGkgPCBuOyBpKyspIHtcbiAgICBmbGF0ID0gZmxhdC5jb25jYXQoYXJy
W2ldKTtcbiAgfVxuICByZXR1cm4gZmxhdDtcbn1cblxuZnVuY3Rpb24gX2FzeW5jRXZlcnlTZXJp
ZXMoYXJyLCBpdGVyYXRvciwgY2FsbGJhY2spIHtcbiAgaWYgKCFhcnIubGVuZ3RoKSB7XG4gICAg
cmV0dXJuIGNhbGxiYWNrKCk7XG4gIH1cbiAgdmFyIGNvbXBsZXRlZCA9IDA7XG4gIChmdW5jdGlv
biBpdGVyYXRlKCkge1xuICAgIGl0ZXJhdG9yKGFycltjb21wbGV0ZWRdLCBmdW5jdGlvbihlcnIp
IHtcbiAgICAgIGlmIChlcnIgfHwgZXJyID09PSBmYWxzZSkge1xuICAgICAgICBjYWxsYmFjayhl
cnIpO1xuICAgICAgICBjYWxsYmFjayA9IGZ1bmN0aW9uKCkge307XG4gICAgICB9IGVsc2Uge1xu
ICAgICAgICBjb21wbGV0ZWQgKz0gMTtcbiAgICAgICAgaWYgKGNvbXBsZXRlZCA9PT0gYXJyLmxl
bmd0aCkge1xuICAgICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAg
ICAgaXRlcmF0ZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH0pKCk7XG59XG5c
bmZ1bmN0aW9uIHBhcmFtaWZ5U3RyaW5nKHN0ciwgcGFyYW1zLCBtb2QpIHtcbiAgbW9kID0gc3Ry
O1xuICBmb3IgKHZhciBwYXJhbSBpbiBwYXJhbXMpIHtcbiAgICBpZiAocGFyYW1zLmhhc093blBy
b3BlcnR5KHBhcmFtKSkge1xuICAgICAgbW9kID0gcGFyYW1zW3BhcmFtXShzdHIpO1xuICAgICAg
aWYgKG1vZCAhPT0gc3RyKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxu
ICByZXR1cm4gbW9kID09PSBzdHIgPyBcIihbLl9hLXpBLVowLTktJSgpXSspXCIgOiBtb2Q7XG59
XG5cbmZ1bmN0aW9uIHJlZ2lmeVN0cmluZyhzdHIsIHBhcmFtcykge1xuICB2YXIgbWF0Y2hlcywg
bGFzdCA9IDAsIG91dCA9IFwiXCI7XG4gIHdoaWxlIChtYXRjaGVzID0gc3RyLnN1YnN0cihsYXN0
KS5tYXRjaCgvW15cXHdcXGRcXC0gJUAmXSpcXCpbXlxcd1xcZFxcLSAlQCZdKi8pKSB7XG4gICAg
bGFzdCA9IG1hdGNoZXMuaW5kZXggKyBtYXRjaGVzWzBdLmxlbmd0aDtcbiAgICBtYXRjaGVzWzBd
ID0gbWF0Y2hlc1swXS5yZXBsYWNlKC9eXFwqLywgXCIoW18uKCkhXFxcXCAlQCZhLXpBLVowLTkt
XSspXCIpO1xuICAgIG91dCArPSBzdHIuc3Vic3RyKDAsIG1hdGNoZXMuaW5kZXgpICsgbWF0Y2hl
c1swXTtcbiAgfVxuICBzdHIgPSBvdXQgKz0gc3RyLnN1YnN0cihsYXN0KTtcbiAgdmFyIGNhcHR1
cmVzID0gc3RyLm1hdGNoKC86KFteXFwvXSspL2lnKSwgY2FwdHVyZSwgbGVuZ3RoO1xuICBpZiAo
Y2FwdHVyZXMpIHtcbiAgICBsZW5ndGggPSBjYXB0dXJlcy5sZW5ndGg7XG4gICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgY2FwdHVyZSA9IGNhcHR1cmVzW2ldO1xu
ICAgICAgaWYgKGNhcHR1cmUuc2xpY2UoMCwgMikgPT09IFwiOjpcIikge1xuICAgICAgICBzdHIg
PSBjYXB0dXJlLnNsaWNlKDEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RyID0gc3RyLnJl
cGxhY2UoY2FwdHVyZSwgcGFyYW1pZnlTdHJpbmcoY2FwdHVyZSwgcGFyYW1zKSk7XG4gICAgICB9
XG4gICAgfVxuICB9XG4gIHJldHVybiBzdHI7XG59XG5cbmZ1bmN0aW9uIHRlcm1pbmF0b3Iocm91
dGVzLCBkZWxpbWl0ZXIsIHN0YXJ0LCBzdG9wKSB7XG4gIHZhciBsYXN0ID0gMCwgbGVmdCA9IDAs
IHJpZ2h0ID0gMCwgc3RhcnQgPSAoc3RhcnQgfHwgXCIoXCIpLnRvU3RyaW5nKCksIHN0b3AgPSAo
c3RvcCB8fCBcIilcIikudG9TdHJpbmcoKSwgaTtcbiAgZm9yIChpID0gMDsgaSA8IHJvdXRlcy5s
ZW5ndGg7IGkrKykge1xuICAgIHZhciBjaHVuayA9IHJvdXRlc1tpXTtcbiAgICBpZiAoY2h1bmsu
aW5kZXhPZihzdGFydCwgbGFzdCkgPiBjaHVuay5pbmRleE9mKHN0b3AsIGxhc3QpIHx8IH5jaHVu
ay5pbmRleE9mKHN0YXJ0LCBsYXN0KSAmJiAhfmNodW5rLmluZGV4T2Yoc3RvcCwgbGFzdCkgfHwg
IX5jaHVuay5pbmRleE9mKHN0YXJ0LCBsYXN0KSAmJiB+Y2h1bmsuaW5kZXhPZihzdG9wLCBsYXN0
KSkge1xuICAgICAgbGVmdCA9IGNodW5rLmluZGV4T2Yoc3RhcnQsIGxhc3QpO1xuICAgICAgcmln
aHQgPSBjaHVuay5pbmRleE9mKHN0b3AsIGxhc3QpO1xuICAgICAgaWYgKH5sZWZ0ICYmICF+cmln
aHQgfHwgIX5sZWZ0ICYmIH5yaWdodCkge1xuICAgICAgICB2YXIgdG1wID0gcm91dGVzLnNsaWNl
KDAsIChpIHx8IDEpICsgMSkuam9pbihkZWxpbWl0ZXIpO1xuICAgICAgICByb3V0ZXMgPSBbIHRt
cCBdLmNvbmNhdChyb3V0ZXMuc2xpY2UoKGkgfHwgMSkgKyAxKSk7XG4gICAgICB9XG4gICAgICBs
YXN0ID0gKHJpZ2h0ID4gbGVmdCA/IHJpZ2h0IDogbGVmdCkgKyAxO1xuICAgICAgaSA9IDA7XG4g
ICAgfSBlbHNlIHtcbiAgICAgIGxhc3QgPSAwO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcm91dGVz
O1xufVxuXG52YXIgUVVFUllfU0VQQVJBVE9SID0gL1xcPy4qLztcblxuUm91dGVyLnByb3RvdHlw
ZS5jb25maWd1cmUgPSBmdW5jdGlvbihvcHRpb25zKSB7XG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8
IHt9O1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubWV0aG9kcy5sZW5ndGg7IGkrKykge1xu
ICAgIHRoaXMuX21ldGhvZHNbdGhpcy5tZXRob2RzW2ldXSA9IHRydWU7XG4gIH1cbiAgdGhpcy5y
ZWN1cnNlID0gb3B0aW9ucy5yZWN1cnNlIHx8IHRoaXMucmVjdXJzZSB8fCBmYWxzZTtcbiAgdGhp
cy5hc3luYyA9IG9wdGlvbnMuYXN5bmMgfHwgZmFsc2U7XG4gIHRoaXMuZGVsaW1pdGVyID0gb3B0
aW9ucy5kZWxpbWl0ZXIgfHwgXCIvXCI7XG4gIHRoaXMuc3RyaWN0ID0gdHlwZW9mIG9wdGlvbnMu
c3RyaWN0ID09PSBcInVuZGVmaW5lZFwiID8gdHJ1ZSA6IG9wdGlvbnMuc3RyaWN0O1xuICB0aGlz
Lm5vdGZvdW5kID0gb3B0aW9ucy5ub3Rmb3VuZDtcbiAgdGhpcy5yZXNvdXJjZSA9IG9wdGlvbnMu
cmVzb3VyY2U7XG4gIHRoaXMuaGlzdG9yeSA9IG9wdGlvbnMuaHRtbDVoaXN0b3J5ICYmIHRoaXMu
aGlzdG9yeVN1cHBvcnQgfHwgZmFsc2U7XG4gIHRoaXMucnVuX2luX2luaXQgPSB0aGlzLmhpc3Rv
cnkgPT09IHRydWUgJiYgb3B0aW9ucy5ydW5faGFuZGxlcl9pbl9pbml0ICE9PSBmYWxzZTtcbiAg
dGhpcy5jb252ZXJ0X2hhc2hfaW5faW5pdCA9IHRoaXMuaGlzdG9yeSA9PT0gdHJ1ZSAmJiBvcHRp
b25zLmNvbnZlcnRfaGFzaF9pbl9pbml0ICE9PSBmYWxzZTtcbiAgdGhpcy5ldmVyeSA9IHtcbiAg
ICBhZnRlcjogb3B0aW9ucy5hZnRlciB8fCBudWxsLFxuICAgIGJlZm9yZTogb3B0aW9ucy5iZWZv
cmUgfHwgbnVsbCxcbiAgICBvbjogb3B0aW9ucy5vbiB8fCBudWxsXG4gIH07XG4gIHJldHVybiB0
aGlzO1xufTtcblxuUm91dGVyLnByb3RvdHlwZS5wYXJhbSA9IGZ1bmN0aW9uKHRva2VuLCBtYXRj
aGVyKSB7XG4gIGlmICh0b2tlblswXSAhPT0gXCI6XCIpIHtcbiAgICB0b2tlbiA9IFwiOlwiICsg
dG9rZW47XG4gIH1cbiAgdmFyIGNvbXBpbGVkID0gbmV3IFJlZ0V4cCh0b2tlbiwgXCJnXCIpO1xu
ICB0aGlzLnBhcmFtc1t0b2tlbl0gPSBmdW5jdGlvbihzdHIpIHtcbiAgICByZXR1cm4gc3RyLnJl
cGxhY2UoY29tcGlsZWQsIG1hdGNoZXIuc291cmNlIHx8IG1hdGNoZXIpO1xuICB9O1xuICByZXR1
cm4gdGhpcztcbn07XG5cblJvdXRlci5wcm90b3R5cGUub24gPSBSb3V0ZXIucHJvdG90eXBlLnJv
dXRlID0gZnVuY3Rpb24obWV0aG9kLCBwYXRoLCByb3V0ZSkge1xuICB2YXIgc2VsZiA9IHRoaXM7
XG4gIGlmICghcm91dGUgJiYgdHlwZW9mIHBhdGggPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgcm91
dGUgPSBwYXRoO1xuICAgIHBhdGggPSBtZXRob2Q7XG4gICAgbWV0aG9kID0gXCJvblwiO1xuICB9
XG4gIGlmIChBcnJheS5pc0FycmF5KHBhdGgpKSB7XG4gICAgcmV0dXJuIHBhdGguZm9yRWFjaChm
dW5jdGlvbihwKSB7XG4gICAgICBzZWxmLm9uKG1ldGhvZCwgcCwgcm91dGUpO1xuICAgIH0pO1xu
ICB9XG4gIGlmIChwYXRoLnNvdXJjZSkge1xuICAgIHBhdGggPSBwYXRoLnNvdXJjZS5yZXBsYWNl
KC9cXFxcXFwvL2lnLCBcIi9cIik7XG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkobWV0aG9kKSkg
e1xuICAgIHJldHVybiBtZXRob2QuZm9yRWFjaChmdW5jdGlvbihtKSB7XG4gICAgICBzZWxmLm9u
KG0udG9Mb3dlckNhc2UoKSwgcGF0aCwgcm91dGUpO1xuICAgIH0pO1xuICB9XG4gIHBhdGggPSBw
YXRoLnNwbGl0KG5ldyBSZWdFeHAodGhpcy5kZWxpbWl0ZXIpKTtcbiAgcGF0aCA9IHRlcm1pbmF0
b3IocGF0aCwgdGhpcy5kZWxpbWl0ZXIpO1xuICB0aGlzLmluc2VydChtZXRob2QsIHRoaXMuc2Nv
cGUuY29uY2F0KHBhdGgpLCByb3V0ZSk7XG59O1xuXG5Sb3V0ZXIucHJvdG90eXBlLnBhdGggPSBm
dW5jdGlvbihwYXRoLCByb3V0ZXNGbikge1xuICB2YXIgc2VsZiA9IHRoaXMsIGxlbmd0aCA9IHRo
aXMuc2NvcGUubGVuZ3RoO1xuICBpZiAocGF0aC5zb3VyY2UpIHtcbiAgICBwYXRoID0gcGF0aC5z
b3VyY2UucmVwbGFjZSgvXFxcXFxcLy9pZywgXCIvXCIpO1xuICB9XG4gIHBhdGggPSBwYXRoLnNw
bGl0KG5ldyBSZWdFeHAodGhpcy5kZWxpbWl0ZXIpKTtcbiAgcGF0aCA9IHRlcm1pbmF0b3IocGF0
aCwgdGhpcy5kZWxpbWl0ZXIpO1xuICB0aGlzLnNjb3BlID0gdGhpcy5zY29wZS5jb25jYXQocGF0
aCk7XG4gIHJvdXRlc0ZuLmNhbGwodGhpcywgdGhpcyk7XG4gIHRoaXMuc2NvcGUuc3BsaWNlKGxl
bmd0aCwgcGF0aC5sZW5ndGgpO1xufTtcblxuUm91dGVyLnByb3RvdHlwZS5kaXNwYXRjaCA9IGZ1
bmN0aW9uKG1ldGhvZCwgcGF0aCwgY2FsbGJhY2spIHtcbiAgdmFyIHNlbGYgPSB0aGlzLCBmbnMg
PSB0aGlzLnRyYXZlcnNlKG1ldGhvZCwgcGF0aC5yZXBsYWNlKFFVRVJZX1NFUEFSQVRPUiwgXCJc
IiksIHRoaXMucm91dGVzLCBcIlwiKSwgaW52b2tlZCA9IHRoaXMuX2ludm9rZWQsIGFmdGVyO1xu
ICB0aGlzLl9pbnZva2VkID0gdHJ1ZTtcbiAgaWYgKCFmbnMgfHwgZm5zLmxlbmd0aCA9PT0gMCkg
e1xuICAgIHRoaXMubGFzdCA9IFtdO1xuICAgIGlmICh0eXBlb2YgdGhpcy5ub3Rmb3VuZCA9PT0g
XCJmdW5jdGlvblwiKSB7XG4gICAgICB0aGlzLmludm9rZShbIHRoaXMubm90Zm91bmQgXSwge1xu
ICAgICAgICBtZXRob2Q6IG1ldGhvZCxcbiAgICAgICAgcGF0aDogcGF0aFxuICAgICAgfSwgY2Fs
bGJhY2spO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKHRoaXMucmVjdXJz
ZSA9PT0gXCJmb3J3YXJkXCIpIHtcbiAgICBmbnMgPSBmbnMucmV2ZXJzZSgpO1xuICB9XG4gIGZ1
bmN0aW9uIHVwZGF0ZUFuZEludm9rZSgpIHtcbiAgICBzZWxmLmxhc3QgPSBmbnMuYWZ0ZXI7XG4g
ICAgc2VsZi5pbnZva2Uoc2VsZi5ydW5saXN0KGZucyksIHNlbGYsIGNhbGxiYWNrKTtcbiAgfVxu
ICBhZnRlciA9IHRoaXMuZXZlcnkgJiYgdGhpcy5ldmVyeS5hZnRlciA/IFsgdGhpcy5ldmVyeS5h
ZnRlciBdLmNvbmNhdCh0aGlzLmxhc3QpIDogWyB0aGlzLmxhc3QgXTtcbiAgaWYgKGFmdGVyICYm
IGFmdGVyLmxlbmd0aCA+IDAgJiYgaW52b2tlZCkge1xuICAgIGlmICh0aGlzLmFzeW5jKSB7XG4g
ICAgICB0aGlzLmludm9rZShhZnRlciwgdGhpcywgdXBkYXRlQW5kSW52b2tlKTtcbiAgICB9IGVs
c2Uge1xuICAgICAgdGhpcy5pbnZva2UoYWZ0ZXIsIHRoaXMpO1xuICAgICAgdXBkYXRlQW5kSW52
b2tlKCk7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHVwZGF0ZUFuZEludm9rZSgp
O1xuICByZXR1cm4gdHJ1ZTtcbn07XG5cblJvdXRlci5wcm90b3R5cGUuaW52b2tlID0gZnVuY3Rp
b24oZm5zLCB0aGlzQXJnLCBjYWxsYmFjaykge1xuICB2YXIgc2VsZiA9IHRoaXM7XG4gIHZhciBh
cHBseTtcbiAgaWYgKHRoaXMuYXN5bmMpIHtcbiAgICBhcHBseSA9IGZ1bmN0aW9uKGZuLCBuZXh0
KSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShmbikpIHtcbiAgICAgICAgcmV0dXJuIF9hc3lu
Y0V2ZXJ5U2VyaWVzKGZuLCBhcHBseSwgbmV4dCk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBm
biA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgZm4uYXBwbHkodGhpc0FyZywgKGZucy5jYXB0
dXJlcyB8fCBbXSkuY29uY2F0KG5leHQpKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIF9hc3luY0V2
ZXJ5U2VyaWVzKGZucywgYXBwbHksIGZ1bmN0aW9uKCkge1xuICAgICAgaWYgKGNhbGxiYWNrKSB7
XG4gICAgICAgIGNhbGxiYWNrLmFwcGx5KHRoaXNBcmcsIGFyZ3VtZW50cyk7XG4gICAgICB9XG4g
ICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgYXBwbHkgPSBmdW5jdGlvbihmbikge1xuICAgICAgaWYg
KEFycmF5LmlzQXJyYXkoZm4pKSB7XG4gICAgICAgIHJldHVybiBfZXZlcnkoZm4sIGFwcGx5KTtc
biAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGZuID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAg
cmV0dXJuIGZuLmFwcGx5KHRoaXNBcmcsIGZucy5jYXB0dXJlcyB8fCBbXSk7XG4gICAgICB9IGVs
c2UgaWYgKHR5cGVvZiBmbiA9PT0gXCJzdHJpbmdcIiAmJiBzZWxmLnJlc291cmNlKSB7XG4gICAg
ICAgIHNlbGYucmVzb3VyY2VbZm5dLmFwcGx5KHRoaXNBcmcsIGZucy5jYXB0dXJlcyB8fCBbXSk7
XG4gICAgICB9XG4gICAgfTtcbiAgICBfZXZlcnkoZm5zLCBhcHBseSk7XG4gIH1cbn07XG5cblJv
dXRlci5wcm90b3R5cGUudHJhdmVyc2UgPSBmdW5jdGlvbihtZXRob2QsIHBhdGgsIHJvdXRlcywg
cmVnZXhwLCBmaWx0ZXIpIHtcbiAgdmFyIGZucyA9IFtdLCBjdXJyZW50LCBleGFjdCwgbWF0Y2gs
IG5leHQsIHRoYXQ7XG4gIGZ1bmN0aW9uIGZpbHRlclJvdXRlcyhyb3V0ZXMpIHtcbiAgICBpZiAo
IWZpbHRlcikge1xuICAgICAgcmV0dXJuIHJvdXRlcztcbiAgICB9XG4gICAgZnVuY3Rpb24gZGVl
cENvcHkoc291cmNlKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gW107XG4gICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IHNvdXJjZS5sZW5ndGg7IGkrKykge1xuICAgICAgICByZXN1bHRbaV0gPSBBcnJh
eS5pc0FycmF5KHNvdXJjZVtpXSkgPyBkZWVwQ29weShzb3VyY2VbaV0pIDogc291cmNlW2ldO1xu
ICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgZnVuY3Rpb24gYXBwbHlG
aWx0ZXIoZm5zKSB7XG4gICAgICBmb3IgKHZhciBpID0gZm5zLmxlbmd0aCAtIDE7IGkgPj0gMDsg
aS0tKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZuc1tpXSkpIHtcbiAgICAgICAgICBh
cHBseUZpbHRlcihmbnNbaV0pO1xuICAgICAgICAgIGlmIChmbnNbaV0ubGVuZ3RoID09PSAwKSB7
XG4gICAgICAgICAgICBmbnMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBl
bHNlIHtcbiAgICAgICAgICBpZiAoIWZpbHRlcihmbnNbaV0pKSB7XG4gICAgICAgICAgICBmbnMu
c3BsaWNlKGksIDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAg
ICB2YXIgbmV3Um91dGVzID0gZGVlcENvcHkocm91dGVzKTtcbiAgICBuZXdSb3V0ZXMubWF0Y2hl
ZCA9IHJvdXRlcy5tYXRjaGVkO1xuICAgIG5ld1JvdXRlcy5jYXB0dXJlcyA9IHJvdXRlcy5jYXB0
dXJlcztcbiAgICBuZXdSb3V0ZXMuYWZ0ZXIgPSByb3V0ZXMuYWZ0ZXIuZmlsdGVyKGZpbHRlcik7
XG4gICAgYXBwbHlGaWx0ZXIobmV3Um91dGVzKTtcbiAgICByZXR1cm4gbmV3Um91dGVzO1xuICB9
XG4gIGlmIChwYXRoID09PSB0aGlzLmRlbGltaXRlciAmJiByb3V0ZXNbbWV0aG9kXSkge1xuICAg
IG5leHQgPSBbIFsgcm91dGVzLmJlZm9yZSwgcm91dGVzW21ldGhvZF0gXS5maWx0ZXIoQm9vbGVh
bikgXTtcbiAgICBuZXh0LmFmdGVyID0gWyByb3V0ZXMuYWZ0ZXIgXS5maWx0ZXIoQm9vbGVhbik7
XG4gICAgbmV4dC5tYXRjaGVkID0gdHJ1ZTtcbiAgICBuZXh0LmNhcHR1cmVzID0gW107XG4gICAg
cmV0dXJuIGZpbHRlclJvdXRlcyhuZXh0KTtcbiAgfVxuICBmb3IgKHZhciByIGluIHJvdXRlcykg
e1xuICAgIGlmIChyb3V0ZXMuaGFzT3duUHJvcGVydHkocikgJiYgKCF0aGlzLl9tZXRob2RzW3Jd
IHx8IHRoaXMuX21ldGhvZHNbcl0gJiYgdHlwZW9mIHJvdXRlc1tyXSA9PT0gXCJvYmplY3RcIiAm
JiAhQXJyYXkuaXNBcnJheShyb3V0ZXNbcl0pKSkge1xuICAgICAgY3VycmVudCA9IGV4YWN0ID0g
cmVnZXhwICsgdGhpcy5kZWxpbWl0ZXIgKyByO1xuICAgICAgaWYgKCF0aGlzLnN0cmljdCkge1xu
ICAgICAgICBleGFjdCArPSBcIltcIiArIHRoaXMuZGVsaW1pdGVyICsgXCJdP1wiO1xuICAgICAg
fVxuICAgICAgbWF0Y2ggPSBwYXRoLm1hdGNoKG5ldyBSZWdFeHAoXCJeXCIgKyBleGFjdCkpO1xu
ICAgICAgaWYgKCFtYXRjaCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlm
IChtYXRjaFswXSAmJiBtYXRjaFswXSA9PSBwYXRoICYmIHJvdXRlc1tyXVttZXRob2RdKSB7XG4g
ICAgICAgIG5leHQgPSBbIFsgcm91dGVzW3JdLmJlZm9yZSwgcm91dGVzW3JdW21ldGhvZF0gXS5m
aWx0ZXIoQm9vbGVhbikgXTtcbiAgICAgICAgbmV4dC5hZnRlciA9IFsgcm91dGVzW3JdLmFmdGVy
IF0uZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICBuZXh0Lm1hdGNoZWQgPSB0cnVlO1xuICAgICAg
ICBuZXh0LmNhcHR1cmVzID0gbWF0Y2guc2xpY2UoMSk7XG4gICAgICAgIGlmICh0aGlzLnJlY3Vy
c2UgJiYgcm91dGVzID09PSB0aGlzLnJvdXRlcykge1xuICAgICAgICAgIG5leHQucHVzaChbIHJv
dXRlcy5iZWZvcmUsIHJvdXRlcy5vbiBdLmZpbHRlcihCb29sZWFuKSk7XG4gICAgICAgICAgbmV4
dC5hZnRlciA9IG5leHQuYWZ0ZXIuY29uY2F0KFsgcm91dGVzLmFmdGVyIF0uZmlsdGVyKEJvb2xl
YW4pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlsdGVyUm91dGVzKG5leHQpO1xuICAg
ICAgfVxuICAgICAgbmV4dCA9IHRoaXMudHJhdmVyc2UobWV0aG9kLCBwYXRoLCByb3V0ZXNbcl0s
IGN1cnJlbnQpO1xuICAgICAgaWYgKG5leHQubWF0Y2hlZCkge1xuICAgICAgICBpZiAobmV4dC5s
ZW5ndGggPiAwKSB7XG4gICAgICAgICAgZm5zID0gZm5zLmNvbmNhdChuZXh0KTtcbiAgICAgICAg
fVxuICAgICAgICBpZiAodGhpcy5yZWN1cnNlKSB7XG4gICAgICAgICAgZm5zLnB1c2goWyByb3V0
ZXNbcl0uYmVmb3JlLCByb3V0ZXNbcl0ub24gXS5maWx0ZXIoQm9vbGVhbikpO1xuICAgICAgICAg
IG5leHQuYWZ0ZXIgPSBuZXh0LmFmdGVyLmNvbmNhdChbIHJvdXRlc1tyXS5hZnRlciBdLmZpbHRl
cihCb29sZWFuKSk7XG4gICAgICAgICAgaWYgKHJvdXRlcyA9PT0gdGhpcy5yb3V0ZXMpIHtcbiAg
ICAgICAgICAgIGZucy5wdXNoKFsgcm91dGVzW1wiYmVmb3JlXCJdLCByb3V0ZXNbXCJvblwiXSBd
LmZpbHRlcihCb29sZWFuKSk7XG4gICAgICAgICAgICBuZXh0LmFmdGVyID0gbmV4dC5hZnRlci5j
b25jYXQoWyByb3V0ZXNbXCJhZnRlclwiXSBdLmZpbHRlcihCb29sZWFuKSk7XG4gICAgICAgICAg
fVxuICAgICAgICB9XG4gICAgICAgIGZucy5tYXRjaGVkID0gdHJ1ZTtcbiAgICAgICAgZm5zLmNh
cHR1cmVzID0gbmV4dC5jYXB0dXJlcztcbiAgICAgICAgZm5zLmFmdGVyID0gbmV4dC5hZnRlcjtc
biAgICAgICAgcmV0dXJuIGZpbHRlclJvdXRlcyhmbnMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxu
ICByZXR1cm4gZmFsc2U7XG59O1xuXG5Sb3V0ZXIucHJvdG90eXBlLmluc2VydCA9IGZ1bmN0aW9u
KG1ldGhvZCwgcGF0aCwgcm91dGUsIHBhcmVudCkge1xuICB2YXIgbWV0aG9kVHlwZSwgcGFyZW50
VHlwZSwgaXNBcnJheSwgbmVzdGVkLCBwYXJ0O1xuICBwYXRoID0gcGF0aC5maWx0ZXIoZnVuY3Rp
b24ocCkge1xuICAgIHJldHVybiBwICYmIHAubGVuZ3RoID4gMDtcbiAgfSk7XG4gIHBhcmVudCA9
IHBhcmVudCB8fCB0aGlzLnJvdXRlcztcbiAgcGFydCA9IHBhdGguc2hpZnQoKTtcbiAgaWYgKC9c
XDp8XFwqLy50ZXN0KHBhcnQpICYmICEvXFxcXGR8XFxcXHcvLnRlc3QocGFydCkpIHtcbiAgICBw
YXJ0ID0gcmVnaWZ5U3RyaW5nKHBhcnQsIHRoaXMucGFyYW1zKTtcbiAgfVxuICBpZiAocGF0aC5s
ZW5ndGggPiAwKSB7XG4gICAgcGFyZW50W3BhcnRdID0gcGFyZW50W3BhcnRdIHx8IHt9O1xuICAg
IHJldHVybiB0aGlzLmluc2VydChtZXRob2QsIHBhdGgsIHJvdXRlLCBwYXJlbnRbcGFydF0pO1xu
ICB9XG4gIGlmICghcGFydCAmJiAhcGF0aC5sZW5ndGggJiYgcGFyZW50ID09PSB0aGlzLnJvdXRl
cykge1xuICAgIG1ldGhvZFR5cGUgPSB0eXBlb2YgcGFyZW50W21ldGhvZF07XG4gICAgc3dpdGNo
IChtZXRob2RUeXBlKSB7XG4gICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgcGFyZW50W21l
dGhvZF0gPSBbIHBhcmVudFttZXRob2RdLCByb3V0ZSBdO1xuICAgICAgcmV0dXJuO1xuICAgICBj
YXNlIFwib2JqZWN0XCI6XG4gICAgICBwYXJlbnRbbWV0aG9kXS5wdXNoKHJvdXRlKTtcbiAgICAg
IHJldHVybjtcbiAgICAgY2FzZSBcInVuZGVmaW5lZFwiOlxuICAgICAgcGFyZW50W21ldGhvZF0g
PSByb3V0ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG4gIHBhcmVu
dFR5cGUgPSB0eXBlb2YgcGFyZW50W3BhcnRdO1xuICBpc0FycmF5ID0gQXJyYXkuaXNBcnJheShw
YXJlbnRbcGFydF0pO1xuICBpZiAocGFyZW50W3BhcnRdICYmICFpc0FycmF5ICYmIHBhcmVudFR5
cGUgPT0gXCJvYmplY3RcIikge1xuICAgIG1ldGhvZFR5cGUgPSB0eXBlb2YgcGFyZW50W3BhcnRd
W21ldGhvZF07XG4gICAgc3dpdGNoIChtZXRob2RUeXBlKSB7XG4gICAgIGNhc2UgXCJmdW5jdGlv
blwiOlxuICAgICAgcGFyZW50W3BhcnRdW21ldGhvZF0gPSBbIHBhcmVudFtwYXJ0XVttZXRob2Rd
LCByb3V0ZSBdO1xuICAgICAgcmV0dXJuO1xuICAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICBw
YXJlbnRbcGFydF1bbWV0aG9kXS5wdXNoKHJvdXRlKTtcbiAgICAgIHJldHVybjtcbiAgICAgY2Fz
ZSBcInVuZGVmaW5lZFwiOlxuICAgICAgcGFyZW50W3BhcnRdW21ldGhvZF0gPSByb3V0ZTtcbiAg
ICAgIHJldHVybjtcbiAgICB9XG4gIH0gZWxzZSBpZiAocGFyZW50VHlwZSA9PSBcInVuZGVmaW5l
ZFwiKSB7XG4gICAgbmVzdGVkID0ge307XG4gICAgbmVzdGVkW21ldGhvZF0gPSByb3V0ZTtcbiAg
ICBwYXJlbnRbcGFydF0gPSBuZXN0ZWQ7XG4gICAgcmV0dXJuO1xuICB9XG4gIHRocm93IG5ldyBF
cnJvcihcIkludmFsaWQgcm91dGUgY29udGV4dDogXCIgKyBwYXJlbnRUeXBlKTtcbn07XG5cblxu
XG5Sb3V0ZXIucHJvdG90eXBlLmV4dGVuZCA9IGZ1bmN0aW9uKG1ldGhvZHMpIHtcbiAgdmFyIHNl
bGYgPSB0aGlzLCBsZW4gPSBtZXRob2RzLmxlbmd0aCwgaTtcbiAgZnVuY3Rpb24gZXh0ZW5kKG1l
dGhvZCkge1xuICAgIHNlbGYuX21ldGhvZHNbbWV0aG9kXSA9IHRydWU7XG4gICAgc2VsZlttZXRo
b2RdID0gZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgZXh0cmEgPSBhcmd1bWVudHMubGVuZ3RoID09
PSAxID8gWyBtZXRob2QsIFwiXCIgXSA6IFsgbWV0aG9kIF07XG4gICAgICBzZWxmLm9uLmFwcGx5
KHNlbGYsIGV4dHJhLmNvbmNhdChBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMp
KSk7XG4gICAgfTtcbiAgfVxuICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICBleHRl
bmQobWV0aG9kc1tpXSk7XG4gIH1cbn07XG5cblJvdXRlci5wcm90b3R5cGUucnVubGlzdCA9IGZ1
bmN0aW9uKGZucykge1xuICB2YXIgcnVubGlzdCA9IHRoaXMuZXZlcnkgJiYgdGhpcy5ldmVyeS5i
ZWZvcmUgPyBbIHRoaXMuZXZlcnkuYmVmb3JlIF0uY29uY2F0KF9mbGF0dGVuKGZucykpIDogX2Zs
YXR0ZW4oZm5zKTtcbiAgaWYgKHRoaXMuZXZlcnkgJiYgdGhpcy5ldmVyeS5vbikge1xuICAgIHJ1
bmxpc3QucHVzaCh0aGlzLmV2ZXJ5Lm9uKTtcbiAgfVxuICBydW5saXN0LmNhcHR1cmVzID0gZm5z
LmNhcHR1cmVzO1xuICBydW5saXN0LnNvdXJjZSA9IGZucy5zb3VyY2U7XG4gIHJldHVybiBydW5s
aXN0O1xufTtcblxuUm91dGVyLnByb3RvdHlwZS5tb3VudCA9IGZ1bmN0aW9uKHJvdXRlcywgcGF0
aCkge1xuICBpZiAoIXJvdXRlcyB8fCB0eXBlb2Ygcm91dGVzICE9PSBcIm9iamVjdFwiIHx8IEFy
cmF5LmlzQXJyYXkocm91dGVzKSkge1xuICAgIHJldHVybjtcbiAgfVxuICB2YXIgc2VsZiA9IHRo
aXM7XG4gIHBhdGggPSBwYXRoIHx8IFtdO1xuICBpZiAoIUFycmF5LmlzQXJyYXkocGF0aCkpIHtc
biAgICBwYXRoID0gcGF0aC5zcGxpdChzZWxmLmRlbGltaXRlcik7XG4gIH1cbiAgZnVuY3Rpb24g
aW5zZXJ0T3JNb3VudChyb3V0ZSwgbG9jYWwpIHtcbiAgICB2YXIgcmVuYW1lID0gcm91dGUsIHBh
cnRzID0gcm91dGUuc3BsaXQoc2VsZi5kZWxpbWl0ZXIpLCByb3V0ZVR5cGUgPSB0eXBlb2Ygcm91
dGVzW3JvdXRlXSwgaXNSb3V0ZSA9IHBhcnRzWzBdID09PSBcIlwiIHx8ICFzZWxmLl9tZXRob2Rz
W3BhcnRzWzBdXSwgZXZlbnQgPSBpc1JvdXRlID8gXCJvblwiIDogcmVuYW1lO1xuICAgIGlmIChp
c1JvdXRlKSB7XG4gICAgICByZW5hbWUgPSByZW5hbWUuc2xpY2UoKHJlbmFtZS5tYXRjaChuZXcg
UmVnRXhwKFwiXlwiICsgc2VsZi5kZWxpbWl0ZXIpKSB8fCBbIFwiXCIgXSlbMF0ubGVuZ3RoKTtc
biAgICAgIHBhcnRzLnNoaWZ0KCk7XG4gICAgfVxuICAgIGlmIChpc1JvdXRlICYmIHJvdXRlVHlw
ZSA9PT0gXCJvYmplY3RcIiAmJiAhQXJyYXkuaXNBcnJheShyb3V0ZXNbcm91dGVdKSkge1xuICAg
ICAgbG9jYWwgPSBsb2NhbC5jb25jYXQocGFydHMpO1xuICAgICAgc2VsZi5tb3VudChyb3V0ZXNb
cm91dGVdLCBsb2NhbCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChpc1JvdXRlKSB7
XG4gICAgICBsb2NhbCA9IGxvY2FsLmNvbmNhdChyZW5hbWUuc3BsaXQoc2VsZi5kZWxpbWl0ZXIp
KTtcbiAgICAgIGxvY2FsID0gdGVybWluYXRvcihsb2NhbCwgc2VsZi5kZWxpbWl0ZXIpO1xuICAg
IH1cbiAgICBzZWxmLmluc2VydChldmVudCwgbG9jYWwsIHJvdXRlc1tyb3V0ZV0pO1xuICB9XG4g
IGZvciAodmFyIHJvdXRlIGluIHJvdXRlcykge1xuICAgIGlmIChyb3V0ZXMuaGFzT3duUHJvcGVy
dHkocm91dGUpKSB7XG4gICAgICBpbnNlcnRPck1vdW50KHJvdXRlLCBwYXRoLnNsaWNlKDApKTtc
biAgICB9XG4gIH1cbn07XG5cblxuXG59KCB0cnVlID8gZXhwb3J0cyA6IHdpbmRvdykpO1xuXG4v
KioqLyB9KSxcbi8qIDMgKi8sXG4vKiA0ICovLFxuLyogNSAqLyxcbi8qIDYgKi8sXG4vKiA3ICov
LFxuLyogOCAqLyxcbi8qIDkgKi8sXG4vKiAxMCAqLyxcbi8qIDExICovXG4vKioqLyAoZnVuY3Rp
b24obW9kdWxlLCBleHBvcnRzKSB7XG5cbi8qKlxuICogVHJhbnNsYXRlcyB0aGUgbGlzdCBmb3Jt
YXQgcHJvZHVjZWQgYnkgY3NzLWxvYWRlciBpbnRvIHNvbWV0aGluZ1xuICogZWFzaWVyIHRvIG1h
bmlwdWxhdGUuXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gbGlzdFRvU3R5bGVzIChw
YXJlbnRJZCwgbGlzdCkge1xuICB2YXIgc3R5bGVzID0gW11cbiAgdmFyIG5ld1N0eWxlcyA9IHt9
XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xuICAgIHZhciBpdGVt
ID0gbGlzdFtpXVxuICAgIHZhciBpZCA9IGl0ZW1bMF1cbiAgICB2YXIgY3NzID0gaXRlbVsxXVxu
ICAgIHZhciBtZWRpYSA9IGl0ZW1bMl1cbiAgICB2YXIgc291cmNlTWFwID0gaXRlbVszXVxuICAg
IHZhciBwYXJ0ID0ge1xuICAgICAgaWQ6IHBhcmVudElkICsgJzonICsgaSxcbiAgICAgIGNzczog
Y3NzLFxuICAgICAgbWVkaWE6IG1lZGlhLFxuICAgICAgc291cmNlTWFwOiBzb3VyY2VNYXBcbiAg
ICB9XG4gICAgaWYgKCFuZXdTdHlsZXNbaWRdKSB7XG4gICAgICBzdHlsZXMucHVzaChuZXdTdHls
ZXNbaWRdID0geyBpZDogaWQsIHBhcnRzOiBbcGFydF0gfSlcbiAgICB9IGVsc2Uge1xuICAgICAg
bmV3U3R5bGVzW2lkXS5wYXJ0cy5wdXNoKHBhcnQpXG4gICAgfVxuICB9XG4gIHJldHVybiBzdHls
ZXNcbn1cblxuXG4vKioqLyB9KSxcbi8qIDEyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBl
eHBvcnRzKSB7XG5cbnZhciBnO1xyXG5cclxuLy8gVGhpcyB3b3JrcyBpbiBub24tc3RyaWN0IG1v
ZGVcclxuZyA9IChmdW5jdGlvbigpIHtcclxuXHRyZXR1cm4gdGhpcztcclxufSkoKTtcclxuXHJc
bnRyeSB7XHJcblx0Ly8gVGhpcyB3b3JrcyBpZiBldmFsIGlzIGFsbG93ZWQgKHNlZSBDU1ApXHJc
blx0ZyA9IGcgfHwgRnVuY3Rpb24oXCJyZXR1cm4gdGhpc1wiKSgpIHx8ICgxLGV2YWwpKFwidGhp
c1wiKTtcclxufSBjYXRjaChlKSB7XHJcblx0Ly8gVGhpcyB3b3JrcyBpZiB0aGUgd2luZG93IHJl
ZmVyZW5jZSBpcyBhdmFpbGFibGVcclxuXHRpZih0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwi
KVxyXG5cdFx0ZyA9IHdpbmRvdztcclxufVxyXG5cclxuLy8gZyBjYW4gc3RpbGwgYmUgdW5kZWZp
bmVkLCBidXQgbm90aGluZyB0byBkbyBhYm91dCBpdC4uLlxyXG4vLyBXZSByZXR1cm4gdW5kZWZp
bmVkLCBpbnN0ZWFkIG9mIG5vdGhpbmcgaGVyZSwgc28gaXQnc1xyXG4vLyBlYXNpZXIgdG8gaGFu
ZGxlIHRoaXMgY2FzZS4gaWYoIWdsb2JhbCkgeyAuLi59XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9
IGc7XHJcblxuXG4vKioqLyB9KSxcbi8qIDEzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBl
eHBvcnRzKSB7XG5cbi8qXG5cdE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcv
bGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG5cdEF1dGhvciBUb2JpYXMgS29wcGVycyBAc29rcmFc
biovXG4vLyBjc3MgYmFzZSBjb2RlLCBpbmplY3RlZCBieSB0aGUgY3NzLWxvYWRlclxubW9kdWxl
LmV4cG9ydHMgPSBmdW5jdGlvbih1c2VTb3VyY2VNYXApIHtcblx0dmFyIGxpc3QgPSBbXTtcblxu
XHQvLyByZXR1cm4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBhcyBjc3Mgc3RyaW5nXG5cdGxpc3QudG9T
dHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZygpIHtcblx0XHRyZXR1cm4gdGhpcy5tYXAoZnVuY3Rp
b24gKGl0ZW0pIHtcblx0XHRcdHZhciBjb250ZW50ID0gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhp
dGVtLCB1c2VTb3VyY2VNYXApO1xuXHRcdFx0aWYoaXRlbVsyXSkge1xuXHRcdFx0XHRyZXR1cm4g
XCJAbWVkaWEgXCIgKyBpdGVtWzJdICsgXCJ7XCIgKyBjb250ZW50ICsgXCJ9XCI7XG5cdFx0XHR9
IGVsc2Uge1xuXHRcdFx0XHRyZXR1cm4gY29udGVudDtcblx0XHRcdH1cblx0XHR9KS5qb2luKFwi
XCIpO1xuXHR9O1xuXG5cdC8vIGltcG9ydCBhIGxpc3Qgb2YgbW9kdWxlcyBpbnRvIHRoZSBsaXN0
XG5cdGxpc3QuaSA9IGZ1bmN0aW9uKG1vZHVsZXMsIG1lZGlhUXVlcnkpIHtcblx0XHRpZih0eXBl
b2YgbW9kdWxlcyA9PT0gXCJzdHJpbmdcIilcblx0XHRcdG1vZHVsZXMgPSBbW251bGwsIG1vZHVs
ZXMsIFwiXCJdXTtcblx0XHR2YXIgYWxyZWFkeUltcG9ydGVkTW9kdWxlcyA9IHt9O1xuXHRcdGZv
cih2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHR2YXIgaWQgPSB0aGlz
W2ldWzBdO1xuXHRcdFx0aWYodHlwZW9mIGlkID09PSBcIm51bWJlclwiKVxuXHRcdFx0XHRhbHJl
YWR5SW1wb3J0ZWRNb2R1bGVzW2lkXSA9IHRydWU7XG5cdFx0fVxuXHRcdGZvcihpID0gMDsgaSA8
IG1vZHVsZXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdHZhciBpdGVtID0gbW9kdWxlc1tpXTtcblx0
XHRcdC8vIHNraXAgYWxyZWFkeSBpbXBvcnRlZCBtb2R1bGVcblx0XHRcdC8vIHRoaXMgaW1wbGVt
ZW50YXRpb24gaXMgbm90IDEwMCUgcGVyZmVjdCBmb3Igd2VpcmQgbWVkaWEgcXVlcnkgY29tYmlu
YXRpb25zXG5cdFx0XHQvLyAgd2hlbiBhIG1vZHVsZSBpcyBpbXBvcnRlZCBtdWx0aXBsZSB0aW1l
cyB3aXRoIGRpZmZlcmVudCBtZWRpYSBxdWVyaWVzLlxuXHRcdFx0Ly8gIEkgaG9wZSB0aGlzIHdp
bGwgbmV2ZXIgb2NjdXIgKEhleSB0aGlzIHdheSB3ZSBoYXZlIHNtYWxsZXIgYnVuZGxlcylcblx0
XHRcdGlmKHR5cGVvZiBpdGVtWzBdICE9PSBcIm51bWJlclwiIHx8ICFhbHJlYWR5SW1wb3J0ZWRN
b2R1bGVzW2l0ZW1bMF1dKSB7XG5cdFx0XHRcdGlmKG1lZGlhUXVlcnkgJiYgIWl0ZW1bMl0pIHtc
blx0XHRcdFx0XHRpdGVtWzJdID0gbWVkaWFRdWVyeTtcblx0XHRcdFx0fSBlbHNlIGlmKG1lZGlh
UXVlcnkpIHtcblx0XHRcdFx0XHRpdGVtWzJdID0gXCIoXCIgKyBpdGVtWzJdICsgXCIpIGFuZCAo
XCIgKyBtZWRpYVF1ZXJ5ICsgXCIpXCI7XG5cdFx0XHRcdH1cblx0XHRcdFx0bGlzdC5wdXNoKGl0
ZW0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fTtcblx0cmV0dXJuIGxpc3Q7XG59O1xuXG5mdW5jdGlv
biBjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKGl0ZW0sIHVzZVNvdXJjZU1hcCkge1xuXHR2YXIgY29u
dGVudCA9IGl0ZW1bMV0gfHwgJyc7XG5cdHZhciBjc3NNYXBwaW5nID0gaXRlbVszXTtcblx0aWYg
KCFjc3NNYXBwaW5nKSB7XG5cdFx0cmV0dXJuIGNvbnRlbnQ7XG5cdH1cblxuXHRpZiAodXNlU291
cmNlTWFwICYmIHR5cGVvZiBidG9hID09PSAnZnVuY3Rpb24nKSB7XG5cdFx0dmFyIHNvdXJjZU1h
cHBpbmcgPSB0b0NvbW1lbnQoY3NzTWFwcGluZyk7XG5cdFx0dmFyIHNvdXJjZVVSTHMgPSBjc3NN
YXBwaW5nLnNvdXJjZXMubWFwKGZ1bmN0aW9uIChzb3VyY2UpIHtcblx0XHRcdHJldHVybiAnLyoj
IHNvdXJjZVVSTD0nICsgY3NzTWFwcGluZy5zb3VyY2VSb290ICsgc291cmNlICsgJyAqLydcblx0
XHR9KTtcblxuXHRcdHJldHVybiBbY29udGVudF0uY29uY2F0KHNvdXJjZVVSTHMpLmNvbmNhdChb
c291cmNlTWFwcGluZ10pLmpvaW4oJ1xcbicpO1xuXHR9XG5cblx0cmV0dXJuIFtjb250ZW50XS5q
b2luKCdcXG4nKTtcbn1cblxuLy8gQWRhcHRlZCBmcm9tIGNvbnZlcnQtc291cmNlLW1hcCAoTUlU
KVxuZnVuY3Rpb24gdG9Db21tZW50KHNvdXJjZU1hcCkge1xuXHQvLyBlc2xpbnQtZGlzYWJsZS1u
ZXh0LWxpbmUgbm8tdW5kZWZcblx0dmFyIGJhc2U2NCA9IGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJ
Q29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHNvdXJjZU1hcCkpKSk7XG5cdHZhciBkYXRhID0gJ3Nv
dXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0
LCcgKyBiYXNlNjQ7XG5cblx0cmV0dXJuICcvKiMgJyArIGRhdGEgKyAnICovJztcbn1cblxuXG4v
KioqLyB9KSxcbi8qIDE0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dl
YnBhY2tfcmVxdWlyZV9fKSB7XG5cbi8qXG4gIE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNv
dXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG4gIEF1dGhvciBUb2JpYXMgS29wcGVy
cyBAc29rcmFcbiAgTW9kaWZpZWQgYnkgRXZhbiBZb3UgQHl5eDk5MDgwM1xuKi9cblxudmFyIGhh
c0RvY3VtZW50ID0gdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJ1xuXG5pZiAodHlwZW9m
IERFQlVHICE9PSAndW5kZWZpbmVkJyAmJiBERUJVRykge1xuICBpZiAoIWhhc0RvY3VtZW50KSB7
XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICd2dWUtc3R5bGUtbG9hZGVyIGNhbm5vdCBiZSB1
c2VkIGluIGEgbm9uLWJyb3dzZXIgZW52aXJvbm1lbnQuICcgK1xuICAgIFwiVXNlIHsgdGFyZ2V0
OiAnbm9kZScgfSBpbiB5b3VyIFdlYnBhY2sgY29uZmlnIHRvIGluZGljYXRlIGEgc2VydmVyLXJl
bmRlcmluZyBlbnZpcm9ubWVudC5cIlxuICApIH1cbn1cblxudmFyIGxpc3RUb1N0eWxlcyA9IF9f
d2VicGFja19yZXF1aXJlX18oMTEpXG5cbi8qXG50eXBlIFN0eWxlT2JqZWN0ID0ge1xuICBpZDog
bnVtYmVyO1xuICBwYXJ0czogQXJyYXk8U3R5bGVPYmplY3RQYXJ0PlxufVxuXG50eXBlIFN0eWxl
T2JqZWN0UGFydCA9IHtcbiAgY3NzOiBzdHJpbmc7XG4gIG1lZGlhOiBzdHJpbmc7XG4gIHNvdXJj
ZU1hcDogP3N0cmluZ1xufVxuKi9cblxudmFyIHN0eWxlc0luRG9tID0gey8qXG4gIFtpZDogbnVt
YmVyXToge1xuICAgIGlkOiBudW1iZXIsXG4gICAgcmVmczogbnVtYmVyLFxuICAgIHBhcnRzOiBB
cnJheTwob2JqPzogU3R5bGVPYmplY3RQYXJ0KSA9PiB2b2lkPlxuICB9XG4qL31cblxudmFyIGhl
YWQgPSBoYXNEb2N1bWVudCAmJiAoZG9jdW1lbnQuaGVhZCB8fCBkb2N1bWVudC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgnaGVhZCcpWzBdKVxudmFyIHNpbmdsZXRvbkVsZW1lbnQgPSBudWxsXG52YXIg
c2luZ2xldG9uQ291bnRlciA9IDBcbnZhciBpc1Byb2R1Y3Rpb24gPSBmYWxzZVxudmFyIG5vb3Ag
PSBmdW5jdGlvbiAoKSB7fVxuXG4vLyBGb3JjZSBzaW5nbGUtdGFnIHNvbHV0aW9uIG9uIElFNi05
LCB3aGljaCBoYXMgYSBoYXJkIGxpbWl0IG9uIHRoZSAjIG9mIDxzdHlsZT5cbi8vIHRhZ3MgaXQg
d2lsbCBhbGxvdyBvbiBhIHBhZ2VcbnZhciBpc09sZElFID0gdHlwZW9mIG5hdmlnYXRvciAhPT0g
J3VuZGVmaW5lZCcgJiYgL21zaWUgWzYtOV1cXGIvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50
b0xvd2VyQ2FzZSgpKVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChwYXJlbnRJZCwgbGlz
dCwgX2lzUHJvZHVjdGlvbikge1xuICBpc1Byb2R1Y3Rpb24gPSBfaXNQcm9kdWN0aW9uXG5cbiAg
dmFyIHN0eWxlcyA9IGxpc3RUb1N0eWxlcyhwYXJlbnRJZCwgbGlzdClcbiAgYWRkU3R5bGVzVG9E
b20oc3R5bGVzKVxuXG4gIHJldHVybiBmdW5jdGlvbiB1cGRhdGUgKG5ld0xpc3QpIHtcbiAgICB2
YXIgbWF5UmVtb3ZlID0gW11cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlcy5sZW5ndGg7
IGkrKykge1xuICAgICAgdmFyIGl0ZW0gPSBzdHlsZXNbaV1cbiAgICAgIHZhciBkb21TdHlsZSA9
IHN0eWxlc0luRG9tW2l0ZW0uaWRdXG4gICAgICBkb21TdHlsZS5yZWZzLS1cbiAgICAgIG1heVJl
bW92ZS5wdXNoKGRvbVN0eWxlKVxuICAgIH1cbiAgICBpZiAobmV3TGlzdCkge1xuICAgICAgc3R5
bGVzID0gbGlzdFRvU3R5bGVzKHBhcmVudElkLCBuZXdMaXN0KVxuICAgICAgYWRkU3R5bGVzVG9E
b20oc3R5bGVzKVxuICAgIH0gZWxzZSB7XG4gICAgICBzdHlsZXMgPSBbXVxuICAgIH1cbiAgICBm
b3IgKHZhciBpID0gMDsgaSA8IG1heVJlbW92ZS5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGRv
bVN0eWxlID0gbWF5UmVtb3ZlW2ldXG4gICAgICBpZiAoZG9tU3R5bGUucmVmcyA9PT0gMCkge1xu
ICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGRvbVN0eWxlLnBhcnRzLmxlbmd0aDsgaisrKSB7
XG4gICAgICAgICAgZG9tU3R5bGUucGFydHNbal0oKVxuICAgICAgICB9XG4gICAgICAgIGRlbGV0
ZSBzdHlsZXNJbkRvbVtkb21TdHlsZS5pZF1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVu
Y3Rpb24gYWRkU3R5bGVzVG9Eb20gKHN0eWxlcyAvKiBBcnJheTxTdHlsZU9iamVjdD4gKi8pIHtc
biAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgaXRl
bSA9IHN0eWxlc1tpXVxuICAgIHZhciBkb21TdHlsZSA9IHN0eWxlc0luRG9tW2l0ZW0uaWRdXG4g
ICAgaWYgKGRvbVN0eWxlKSB7XG4gICAgICBkb21TdHlsZS5yZWZzKytcbiAgICAgIGZvciAodmFy
IGogPSAwOyBqIDwgZG9tU3R5bGUucGFydHMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgZG9tU3R5
bGUucGFydHNbal0oaXRlbS5wYXJ0c1tqXSlcbiAgICAgIH1cbiAgICAgIGZvciAoOyBqIDwgaXRl
bS5wYXJ0cy5sZW5ndGg7IGorKykge1xuICAgICAgICBkb21TdHlsZS5wYXJ0cy5wdXNoKGFkZFN0
eWxlKGl0ZW0ucGFydHNbal0pKVxuICAgICAgfVxuICAgICAgaWYgKGRvbVN0eWxlLnBhcnRzLmxl
bmd0aCA+IGl0ZW0ucGFydHMubGVuZ3RoKSB7XG4gICAgICAgIGRvbVN0eWxlLnBhcnRzLmxlbmd0
aCA9IGl0ZW0ucGFydHMubGVuZ3RoXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBw
YXJ0cyA9IFtdXG4gICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGl0ZW0ucGFydHMubGVuZ3RoOyBq
KyspIHtcbiAgICAgICAgcGFydHMucHVzaChhZGRTdHlsZShpdGVtLnBhcnRzW2pdKSlcbiAgICAg
IH1cbiAgICAgIHN0eWxlc0luRG9tW2l0ZW0uaWRdID0geyBpZDogaXRlbS5pZCwgcmVmczogMSwg
cGFydHM6IHBhcnRzIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlU3R5bGVFbGVt
ZW50ICgpIHtcbiAgdmFyIHN0eWxlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0
eWxlJylcbiAgc3R5bGVFbGVtZW50LnR5cGUgPSAndGV4dC9jc3MnXG4gIGhlYWQuYXBwZW5kQ2hp
bGQoc3R5bGVFbGVtZW50KVxuICByZXR1cm4gc3R5bGVFbGVtZW50XG59XG5cbmZ1bmN0aW9uIGFk
ZFN0eWxlIChvYmogLyogU3R5bGVPYmplY3RQYXJ0ICovKSB7XG4gIHZhciB1cGRhdGUsIHJlbW92
ZVxuICB2YXIgc3R5bGVFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc3R5bGVbZGF0
YS12dWUtc3NyLWlkfj1cIicgKyBvYmouaWQgKyAnXCJdJylcblxuICBpZiAoc3R5bGVFbGVtZW50
KSB7XG4gICAgaWYgKGlzUHJvZHVjdGlvbikge1xuICAgICAgLy8gaGFzIFNTUiBzdHlsZXMgYW5k
IGluIHByb2R1Y3Rpb24gbW9kZS5cbiAgICAgIC8vIHNpbXBseSBkbyBub3RoaW5nLlxuICAgICAg
cmV0dXJuIG5vb3BcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaGFzIFNTUiBzdHlsZXMgYnV0IGlu
IGRldiBtb2RlLlxuICAgICAgLy8gZm9yIHNvbWUgcmVhc29uIENocm9tZSBjYW4ndCBoYW5kbGUg
c291cmNlIG1hcCBpbiBzZXJ2ZXItcmVuZGVyZWRcbiAgICAgIC8vIHN0eWxlIHRhZ3MgLSBzb3Vy
Y2UgbWFwcyBpbiA8c3R5bGU+IG9ubHkgd29ya3MgaWYgdGhlIHN0eWxlIHRhZyBpc1xuICAgICAg
Ly8gY3JlYXRlZCBhbmQgaW5zZXJ0ZWQgZHluYW1pY2FsbHkuIFNvIHdlIHJlbW92ZSB0aGUgc2Vy
dmVyIHJlbmRlcmVkXG4gICAgICAvLyBzdHlsZXMgYW5kIGluamVjdCBuZXcgb25lcy5cbiAgICAg
IHN0eWxlRWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHN0eWxlRWxlbWVudClcbiAgICB9
XG4gIH1cblxuICBpZiAoaXNPbGRJRSkge1xuICAgIC8vIHVzZSBzaW5nbGV0b24gbW9kZSBmb3Ig
SUU5LlxuICAgIHZhciBzdHlsZUluZGV4ID0gc2luZ2xldG9uQ291bnRlcisrXG4gICAgc3R5bGVF
bGVtZW50ID0gc2luZ2xldG9uRWxlbWVudCB8fCAoc2luZ2xldG9uRWxlbWVudCA9IGNyZWF0ZVN0
eWxlRWxlbWVudCgpKVxuICAgIHVwZGF0ZSA9IGFwcGx5VG9TaW5nbGV0b25UYWcuYmluZChudWxs
LCBzdHlsZUVsZW1lbnQsIHN0eWxlSW5kZXgsIGZhbHNlKVxuICAgIHJlbW92ZSA9IGFwcGx5VG9T
aW5nbGV0b25UYWcuYmluZChudWxsLCBzdHlsZUVsZW1lbnQsIHN0eWxlSW5kZXgsIHRydWUpXG4g
IH0gZWxzZSB7XG4gICAgLy8gdXNlIG11bHRpLXN0eWxlLXRhZyBtb2RlIGluIGFsbCBvdGhlciBj
YXNlc1xuICAgIHN0eWxlRWxlbWVudCA9IGNyZWF0ZVN0eWxlRWxlbWVudCgpXG4gICAgdXBkYXRl
ID0gYXBwbHlUb1RhZy5iaW5kKG51bGwsIHN0eWxlRWxlbWVudClcbiAgICByZW1vdmUgPSBmdW5j
dGlvbiAoKSB7XG4gICAgICBzdHlsZUVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzdHls
ZUVsZW1lbnQpXG4gICAgfVxuICB9XG5cbiAgdXBkYXRlKG9iailcblxuICByZXR1cm4gZnVuY3Rp
b24gdXBkYXRlU3R5bGUgKG5ld09iaiAvKiBTdHlsZU9iamVjdFBhcnQgKi8pIHtcbiAgICBpZiAo
bmV3T2JqKSB7XG4gICAgICBpZiAobmV3T2JqLmNzcyA9PT0gb2JqLmNzcyAmJlxuICAgICAgICAg
IG5ld09iai5tZWRpYSA9PT0gb2JqLm1lZGlhICYmXG4gICAgICAgICAgbmV3T2JqLnNvdXJjZU1h
cCA9PT0gb2JqLnNvdXJjZU1hcCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIHVw
ZGF0ZShvYmogPSBuZXdPYmopXG4gICAgfSBlbHNlIHtcbiAgICAgIHJlbW92ZSgpXG4gICAgfVxu
ICB9XG59XG5cbnZhciByZXBsYWNlVGV4dCA9IChmdW5jdGlvbiAoKSB7XG4gIHZhciB0ZXh0U3Rv
cmUgPSBbXVxuXG4gIHJldHVybiBmdW5jdGlvbiAoaW5kZXgsIHJlcGxhY2VtZW50KSB7XG4gICAg
dGV4dFN0b3JlW2luZGV4XSA9IHJlcGxhY2VtZW50XG4gICAgcmV0dXJuIHRleHRTdG9yZS5maWx0
ZXIoQm9vbGVhbikuam9pbignXFxuJylcbiAgfVxufSkoKVxuXG5mdW5jdGlvbiBhcHBseVRvU2lu
Z2xldG9uVGFnIChzdHlsZUVsZW1lbnQsIGluZGV4LCByZW1vdmUsIG9iaikge1xuICB2YXIgY3Nz
ID0gcmVtb3ZlID8gJycgOiBvYmouY3NzXG5cbiAgaWYgKHN0eWxlRWxlbWVudC5zdHlsZVNoZWV0
KSB7XG4gICAgc3R5bGVFbGVtZW50LnN0eWxlU2hlZXQuY3NzVGV4dCA9IHJlcGxhY2VUZXh0KGlu
ZGV4LCBjc3MpXG4gIH0gZWxzZSB7XG4gICAgdmFyIGNzc05vZGUgPSBkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZShjc3MpXG4gICAgdmFyIGNoaWxkTm9kZXMgPSBzdHlsZUVsZW1lbnQuY2hpbGROb2Rl
c1xuICAgIGlmIChjaGlsZE5vZGVzW2luZGV4XSkgc3R5bGVFbGVtZW50LnJlbW92ZUNoaWxkKGNo
aWxkTm9kZXNbaW5kZXhdKVxuICAgIGlmIChjaGlsZE5vZGVzLmxlbmd0aCkge1xuICAgICAgc3R5
bGVFbGVtZW50Lmluc2VydEJlZm9yZShjc3NOb2RlLCBjaGlsZE5vZGVzW2luZGV4XSlcbiAgICB9
IGVsc2Uge1xuICAgICAgc3R5bGVFbGVtZW50LmFwcGVuZENoaWxkKGNzc05vZGUpXG4gICAgfVxu
ICB9XG59XG5cbmZ1bmN0aW9uIGFwcGx5VG9UYWcgKHN0eWxlRWxlbWVudCwgb2JqKSB7XG4gIHZh
ciBjc3MgPSBvYmouY3NzXG4gIHZhciBtZWRpYSA9IG9iai5tZWRpYVxuICB2YXIgc291cmNlTWFw
ID0gb2JqLnNvdXJjZU1hcFxuXG4gIGlmIChtZWRpYSkge1xuICAgIHN0eWxlRWxlbWVudC5zZXRB
dHRyaWJ1dGUoJ21lZGlhJywgbWVkaWEpXG4gIH1cblxuICBpZiAoc291cmNlTWFwKSB7XG4gICAg
Ly8gaHR0cHM6Ly9kZXZlbG9wZXIuY2hyb21lLmNvbS9kZXZ0b29scy9kb2NzL2phdmFzY3JpcHQt
ZGVidWdnaW5nXG4gICAgLy8gdGhpcyBtYWtlcyBzb3VyY2UgbWFwcyBpbnNpZGUgc3R5bGUgdGFn
cyB3b3JrIHByb3Blcmx5IGluIENocm9tZVxuICAgIGNzcyArPSAnXFxuLyojIHNvdXJjZVVSTD0n
ICsgc291cmNlTWFwLnNvdXJjZXNbMF0gKyAnICovJ1xuICAgIC8vIGh0dHA6Ly9zdGFja292ZXJm
bG93LmNvbS9hLzI2NjAzODc1XG4gICAgY3NzICs9ICdcXG4vKiMgc291cmNlTWFwcGluZ1VSTD1k
YXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LCcgKyBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNv
bXBvbmVudChKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKSkpICsgJyAqLydcbiAgfVxuXG4gIGlm
IChzdHlsZUVsZW1lbnQuc3R5bGVTaGVldCkge1xuICAgIHN0eWxlRWxlbWVudC5zdHlsZVNoZWV0
LmNzc1RleHQgPSBjc3NcbiAgfSBlbHNlIHtcbiAgICB3aGlsZSAoc3R5bGVFbGVtZW50LmZpcnN0
Q2hpbGQpIHtcbiAgICAgIHN0eWxlRWxlbWVudC5yZW1vdmVDaGlsZChzdHlsZUVsZW1lbnQuZmly
c3RDaGlsZClcbiAgICB9XG4gICAgc3R5bGVFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZVRleHROb2RlKGNzcykpXG4gIH1cbn1cblxuXG4vKioqLyB9KVxuXSk7XG5cblxuLy8gV0VC
UEFDSyBGT09URVIgLy9cbi8vIHN0YXRpYy9qcy92ZW5kb3IuMmU0ZTllNTI4NjY0ZmE3OTZkM2Eu
anMiLCIvKiFcbiAqIFZ1ZS5qcyB2Mi40LjJcbiAqIChjKSAyMDE0LTIwMTcgRXZhbiBZb3VcbiAq
IFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS5cbiAqL1xuLyogICovXG5cbi8vIHRoZXNl
IGhlbHBlcnMgcHJvZHVjZXMgYmV0dGVyIHZtIGNvZGUgaW4gSlMgZW5naW5lcyBkdWUgdG8gdGhl
aXJcbi8vIGV4cGxpY2l0bmVzcyBhbmQgZnVuY3Rpb24gaW5saW5pbmdcbmZ1bmN0aW9uIGlzVW5k
ZWYgKHYpIHtcbiAgcmV0dXJuIHYgPT09IHVuZGVmaW5lZCB8fCB2ID09PSBudWxsXG59XG5cbmZ1
bmN0aW9uIGlzRGVmICh2KSB7XG4gIHJldHVybiB2ICE9PSB1bmRlZmluZWQgJiYgdiAhPT0gbnVs
bFxufVxuXG5mdW5jdGlvbiBpc1RydWUgKHYpIHtcbiAgcmV0dXJuIHYgPT09IHRydWVcbn1cblxu
ZnVuY3Rpb24gaXNGYWxzZSAodikge1xuICByZXR1cm4gdiA9PT0gZmFsc2Vcbn1cblxuLyoqXG4g
KiBDaGVjayBpZiB2YWx1ZSBpcyBwcmltaXRpdmVcbiAqL1xuZnVuY3Rpb24gaXNQcmltaXRpdmUg
KHZhbHVlKSB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyB8fFxu
ICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgfHxcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdi
b29sZWFuJ1xuICApXG59XG5cbi8qKlxuICogUXVpY2sgb2JqZWN0IGNoZWNrIC0gdGhpcyBpcyBw
cmltYXJpbHkgdXNlZCB0byB0ZWxsXG4gKiBPYmplY3RzIGZyb20gcHJpbWl0aXZlIHZhbHVlcyB3
aGVuIHdlIGtub3cgdGhlIHZhbHVlXG4gKiBpcyBhIEpTT04tY29tcGxpYW50IHR5cGUuXG4gKi9c
bmZ1bmN0aW9uIGlzT2JqZWN0IChvYmopIHtcbiAgcmV0dXJuIG9iaiAhPT0gbnVsbCAmJiB0eXBl
b2Ygb2JqID09PSAnb2JqZWN0J1xufVxuXG52YXIgX3RvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlw
ZS50b1N0cmluZztcblxuLyoqXG4gKiBTdHJpY3Qgb2JqZWN0IHR5cGUgY2hlY2suIE9ubHkgcmV0
dXJucyB0cnVlXG4gKiBmb3IgcGxhaW4gSmF2YVNjcmlwdCBvYmplY3RzLlxuICovXG5mdW5jdGlv
biBpc1BsYWluT2JqZWN0IChvYmopIHtcbiAgcmV0dXJuIF90b1N0cmluZy5jYWxsKG9iaikgPT09
ICdbb2JqZWN0IE9iamVjdF0nXG59XG5cbmZ1bmN0aW9uIGlzUmVnRXhwICh2KSB7XG4gIHJldHVy
biBfdG9TdHJpbmcuY2FsbCh2KSA9PT0gJ1tvYmplY3QgUmVnRXhwXSdcbn1cblxuLyoqXG4gKiBD
aGVjayBpZiB2YWwgaXMgYSB2YWxpZCBhcnJheSBpbmRleC5cbiAqL1xuZnVuY3Rpb24gaXNWYWxp
ZEFycmF5SW5kZXggKHZhbCkge1xuICB2YXIgbiA9IHBhcnNlRmxvYXQodmFsKTtcbiAgcmV0dXJu
IG4gPj0gMCAmJiBNYXRoLmZsb29yKG4pID09PSBuICYmIGlzRmluaXRlKHZhbClcbn1cblxuLyoq
XG4gKiBDb252ZXJ0IGEgdmFsdWUgdG8gYSBzdHJpbmcgdGhhdCBpcyBhY3R1YWxseSByZW5kZXJl
ZC5cbiAqL1xuZnVuY3Rpb24gdG9TdHJpbmcgKHZhbCkge1xuICByZXR1cm4gdmFsID09IG51bGxc
biAgICA/ICcnXG4gICAgOiB0eXBlb2YgdmFsID09PSAnb2JqZWN0J1xuICAgICAgPyBKU09OLnN0
cmluZ2lmeSh2YWwsIG51bGwsIDIpXG4gICAgICA6IFN0cmluZyh2YWwpXG59XG5cbi8qKlxuICog
Q29udmVydCBhIGlucHV0IHZhbHVlIHRvIGEgbnVtYmVyIGZvciBwZXJzaXN0ZW5jZS5cbiAqIElm
IHRoZSBjb252ZXJzaW9uIGZhaWxzLCByZXR1cm4gb3JpZ2luYWwgc3RyaW5nLlxuICovXG5mdW5j
dGlvbiB0b051bWJlciAodmFsKSB7XG4gIHZhciBuID0gcGFyc2VGbG9hdCh2YWwpO1xuICByZXR1
cm4gaXNOYU4obikgPyB2YWwgOiBuXG59XG5cbi8qKlxuICogTWFrZSBhIG1hcCBhbmQgcmV0dXJu
IGEgZnVuY3Rpb24gZm9yIGNoZWNraW5nIGlmIGEga2V5XG4gKiBpcyBpbiB0aGF0IG1hcC5cbiAq
L1xuZnVuY3Rpb24gbWFrZU1hcCAoXG4gIHN0cixcbiAgZXhwZWN0c0xvd2VyQ2FzZVxuKSB7XG4g
IHZhciBtYXAgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICB2YXIgbGlzdCA9IHN0ci5zcGxpdCgn
LCcpO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICBtYXBb
bGlzdFtpXV0gPSB0cnVlO1xuICB9XG4gIHJldHVybiBleHBlY3RzTG93ZXJDYXNlXG4gICAgPyBm
dW5jdGlvbiAodmFsKSB7IHJldHVybiBtYXBbdmFsLnRvTG93ZXJDYXNlKCldOyB9XG4gICAgOiBm
dW5jdGlvbiAodmFsKSB7IHJldHVybiBtYXBbdmFsXTsgfVxufVxuXG4vKipcbiAqIENoZWNrIGlm
IGEgdGFnIGlzIGEgYnVpbHQtaW4gdGFnLlxuICovXG52YXIgaXNCdWlsdEluVGFnID0gbWFrZU1h
cCgnc2xvdCxjb21wb25lbnQnLCB0cnVlKTtcblxuLyoqXG4gKiBDaGVjayBpZiBhIGF0dHJpYnV0
ZSBpcyBhIHJlc2VydmVkIGF0dHJpYnV0ZS5cbiAqL1xudmFyIGlzUmVzZXJ2ZWRBdHRyaWJ1dGUg
PSBtYWtlTWFwKCdrZXkscmVmLHNsb3QsaXMnKTtcblxuLyoqXG4gKiBSZW1vdmUgYW4gaXRlbSBm
cm9tIGFuIGFycmF5XG4gKi9cbmZ1bmN0aW9uIHJlbW92ZSAoYXJyLCBpdGVtKSB7XG4gIGlmIChh
cnIubGVuZ3RoKSB7XG4gICAgdmFyIGluZGV4ID0gYXJyLmluZGV4T2YoaXRlbSk7XG4gICAgaWYg
KGluZGV4ID4gLTEpIHtcbiAgICAgIHJldHVybiBhcnIuc3BsaWNlKGluZGV4LCAxKVxuICAgIH1c
biAgfVxufVxuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIG9iamVjdCBoYXMgdGhlIHByb3Bl
cnR5LlxuICovXG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blBy
b3BlcnR5O1xuZnVuY3Rpb24gaGFzT3duIChvYmosIGtleSkge1xuICByZXR1cm4gaGFzT3duUHJv
cGVydHkuY2FsbChvYmosIGtleSlcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBjYWNoZWQgdmVyc2lv
biBvZiBhIHB1cmUgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIGNhY2hlZCAoZm4pIHtcbiAgdmFy
IGNhY2hlID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgcmV0dXJuIChmdW5jdGlvbiBjYWNoZWRG
biAoc3RyKSB7XG4gICAgdmFyIGhpdCA9IGNhY2hlW3N0cl07XG4gICAgcmV0dXJuIGhpdCB8fCAo
Y2FjaGVbc3RyXSA9IGZuKHN0cikpXG4gIH0pXG59XG5cbi8qKlxuICogQ2FtZWxpemUgYSBoeXBo
ZW4tZGVsaW1pdGVkIHN0cmluZy5cbiAqL1xudmFyIGNhbWVsaXplUkUgPSAvLShcXHcpL2c7XG52
YXIgY2FtZWxpemUgPSBjYWNoZWQoZnVuY3Rpb24gKHN0cikge1xuICByZXR1cm4gc3RyLnJlcGxh
Y2UoY2FtZWxpemVSRSwgZnVuY3Rpb24gKF8sIGMpIHsgcmV0dXJuIGMgPyBjLnRvVXBwZXJDYXNl
KCkgOiAnJzsgfSlcbn0pO1xuXG4vKipcbiAqIENhcGl0YWxpemUgYSBzdHJpbmcuXG4gKi9cbnZh
ciBjYXBpdGFsaXplID0gY2FjaGVkKGZ1bmN0aW9uIChzdHIpIHtcbiAgcmV0dXJuIHN0ci5jaGFy
QXQoMCkudG9VcHBlckNhc2UoKSArIHN0ci5zbGljZSgxKVxufSk7XG5cbi8qKlxuICogSHlwaGVu
YXRlIGEgY2FtZWxDYXNlIHN0cmluZy5cbiAqL1xudmFyIGh5cGhlbmF0ZVJFID0gLyhbXi1dKShb
QS1aXSkvZztcbnZhciBoeXBoZW5hdGUgPSBjYWNoZWQoZnVuY3Rpb24gKHN0cikge1xuICByZXR1
cm4gc3RyXG4gICAgLnJlcGxhY2UoaHlwaGVuYXRlUkUsICckMS0kMicpXG4gICAgLnJlcGxhY2Uo
aHlwaGVuYXRlUkUsICckMS0kMicpXG4gICAgLnRvTG93ZXJDYXNlKClcbn0pO1xuXG4vKipcbiAq
IFNpbXBsZSBiaW5kLCBmYXN0ZXIgdGhhbiBuYXRpdmVcbiAqL1xuZnVuY3Rpb24gYmluZCAoZm4s
IGN0eCkge1xuICBmdW5jdGlvbiBib3VuZEZuIChhKSB7XG4gICAgdmFyIGwgPSBhcmd1bWVudHMu
bGVuZ3RoO1xuICAgIHJldHVybiBsXG4gICAgICA/IGwgPiAxXG4gICAgICAgID8gZm4uYXBwbHko
Y3R4LCBhcmd1bWVudHMpXG4gICAgICAgIDogZm4uY2FsbChjdHgsIGEpXG4gICAgICA6IGZuLmNh
bGwoY3R4KVxuICB9XG4gIC8vIHJlY29yZCBvcmlnaW5hbCBmbiBsZW5ndGhcbiAgYm91bmRGbi5f
bGVuZ3RoID0gZm4ubGVuZ3RoO1xuICByZXR1cm4gYm91bmRGblxufVxuXG4vKipcbiAqIENvbnZl
cnQgYW4gQXJyYXktbGlrZSBvYmplY3QgdG8gYSByZWFsIEFycmF5LlxuICovXG5mdW5jdGlvbiB0
b0FycmF5IChsaXN0LCBzdGFydCkge1xuICBzdGFydCA9IHN0YXJ0IHx8IDA7XG4gIHZhciBpID0g
bGlzdC5sZW5ndGggLSBzdGFydDtcbiAgdmFyIHJldCA9IG5ldyBBcnJheShpKTtcbiAgd2hpbGUg
KGktLSkge1xuICAgIHJldFtpXSA9IGxpc3RbaSArIHN0YXJ0XTtcbiAgfVxuICByZXR1cm4gcmV0
XG59XG5cbi8qKlxuICogTWl4IHByb3BlcnRpZXMgaW50byB0YXJnZXQgb2JqZWN0LlxuICovXG5m
dW5jdGlvbiBleHRlbmQgKHRvLCBfZnJvbSkge1xuICBmb3IgKHZhciBrZXkgaW4gX2Zyb20pIHtc
biAgICB0b1trZXldID0gX2Zyb21ba2V5XTtcbiAgfVxuICByZXR1cm4gdG9cbn1cblxuLyoqXG4g
KiBNZXJnZSBhbiBBcnJheSBvZiBPYmplY3RzIGludG8gYSBzaW5nbGUgT2JqZWN0LlxuICovXG5m
dW5jdGlvbiB0b09iamVjdCAoYXJyKSB7XG4gIHZhciByZXMgPSB7fTtcbiAgZm9yICh2YXIgaSA9
IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoYXJyW2ldKSB7XG4gICAgICBleHRl
bmQocmVzLCBhcnJbaV0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbi8qKlxuICog
UGVyZm9ybSBubyBvcGVyYXRpb24uXG4gKiBTdHViYmluZyBhcmdzIHRvIG1ha2UgRmxvdyBoYXBw
eSB3aXRob3V0IGxlYXZpbmcgdXNlbGVzcyB0cmFuc3BpbGVkIGNvZGVcbiAqIHdpdGggLi4ucmVz
dCAoaHR0cHM6Ly9mbG93Lm9yZy9ibG9nLzIwMTcvMDUvMDcvU3RyaWN0LUZ1bmN0aW9uLUNhbGwt
QXJpdHkvKVxuICovXG5mdW5jdGlvbiBub29wIChhLCBiLCBjKSB7fVxuXG4vKipcbiAqIEFsd2F5
cyByZXR1cm4gZmFsc2UuXG4gKi9cbnZhciBubyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7IHJldHVy
biBmYWxzZTsgfTtcblxuLyoqXG4gKiBSZXR1cm4gc2FtZSB2YWx1ZVxuICovXG52YXIgaWRlbnRp
dHkgPSBmdW5jdGlvbiAoXykgeyByZXR1cm4gXzsgfTtcblxuLyoqXG4gKiBHZW5lcmF0ZSBhIHN0
YXRpYyBrZXlzIHN0cmluZyBmcm9tIGNvbXBpbGVyIG1vZHVsZXMuXG4gKi9cbmZ1bmN0aW9uIGdl
blN0YXRpY0tleXMgKG1vZHVsZXMpIHtcbiAgcmV0dXJuIG1vZHVsZXMucmVkdWNlKGZ1bmN0aW9u
IChrZXlzLCBtKSB7XG4gICAgcmV0dXJuIGtleXMuY29uY2F0KG0uc3RhdGljS2V5cyB8fCBbXSlc
biAgfSwgW10pLmpvaW4oJywnKVxufVxuXG4vKipcbiAqIENoZWNrIGlmIHR3byB2YWx1ZXMgYXJl
IGxvb3NlbHkgZXF1YWwgLSB0aGF0IGlzLFxuICogaWYgdGhleSBhcmUgcGxhaW4gb2JqZWN0cywg
ZG8gdGhleSBoYXZlIHRoZSBzYW1lIHNoYXBlP1xuICovXG5mdW5jdGlvbiBsb29zZUVxdWFsIChh
LCBiKSB7XG4gIGlmIChhID09PSBiKSB7IHJldHVybiB0cnVlIH1cbiAgdmFyIGlzT2JqZWN0QSA9
IGlzT2JqZWN0KGEpO1xuICB2YXIgaXNPYmplY3RCID0gaXNPYmplY3QoYik7XG4gIGlmIChpc09i
amVjdEEgJiYgaXNPYmplY3RCKSB7XG4gICAgdHJ5IHtcbiAgICAgIHZhciBpc0FycmF5QSA9IEFy
cmF5LmlzQXJyYXkoYSk7XG4gICAgICB2YXIgaXNBcnJheUIgPSBBcnJheS5pc0FycmF5KGIpO1xu
ICAgICAgaWYgKGlzQXJyYXlBICYmIGlzQXJyYXlCKSB7XG4gICAgICAgIHJldHVybiBhLmxlbmd0
aCA9PT0gYi5sZW5ndGggJiYgYS5ldmVyeShmdW5jdGlvbiAoZSwgaSkge1xuICAgICAgICAgIHJl
dHVybiBsb29zZUVxdWFsKGUsIGJbaV0pXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2UgaWYgKCFp
c0FycmF5QSAmJiAhaXNBcnJheUIpIHtcbiAgICAgICAgdmFyIGtleXNBID0gT2JqZWN0LmtleXMo
YSk7XG4gICAgICAgIHZhciBrZXlzQiA9IE9iamVjdC5rZXlzKGIpO1xuICAgICAgICByZXR1cm4g
a2V5c0EubGVuZ3RoID09PSBrZXlzQi5sZW5ndGggJiYga2V5c0EuZXZlcnkoZnVuY3Rpb24gKGtl
eSkge1xuICAgICAgICAgIHJldHVybiBsb29zZUVxdWFsKGFba2V5XSwgYltrZXldKVxuICAgICAg
ICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9c
biAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAg
LyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAg
fSBlbHNlIGlmICghaXNPYmplY3RBICYmICFpc09iamVjdEIpIHtcbiAgICByZXR1cm4gU3RyaW5n
KGEpID09PSBTdHJpbmcoYilcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxu
XG5mdW5jdGlvbiBsb29zZUluZGV4T2YgKGFyciwgdmFsKSB7XG4gIGZvciAodmFyIGkgPSAwOyBp
IDwgYXJyLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKGxvb3NlRXF1YWwoYXJyW2ldLCB2YWwpKSB7
IHJldHVybiBpIH1cbiAgfVxuICByZXR1cm4gLTFcbn1cblxuLyoqXG4gKiBFbnN1cmUgYSBmdW5j
dGlvbiBpcyBjYWxsZWQgb25seSBvbmNlLlxuICovXG5mdW5jdGlvbiBvbmNlIChmbikge1xuICB2
YXIgY2FsbGVkID0gZmFsc2U7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCFjYWxs
ZWQpIHtcbiAgICAgIGNhbGxlZCA9IHRydWU7XG4gICAgICBmbi5hcHBseSh0aGlzLCBhcmd1bWVu
dHMpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgU1NSX0FUVFIgPSAnZGF0YS1zZXJ2ZXItcmVuZGVy
ZWQnO1xuXG52YXIgQVNTRVRfVFlQRVMgPSBbXG4gICdjb21wb25lbnQnLFxuICAnZGlyZWN0aXZl
JyxcbiAgJ2ZpbHRlcidcbl07XG5cbnZhciBMSUZFQ1lDTEVfSE9PS1MgPSBbXG4gICdiZWZvcmVD
cmVhdGUnLFxuICAnY3JlYXRlZCcsXG4gICdiZWZvcmVNb3VudCcsXG4gICdtb3VudGVkJyxcbiAg
J2JlZm9yZVVwZGF0ZScsXG4gICd1cGRhdGVkJyxcbiAgJ2JlZm9yZURlc3Ryb3knLFxuICAnZGVz
dHJveWVkJyxcbiAgJ2FjdGl2YXRlZCcsXG4gICdkZWFjdGl2YXRlZCdcbl07XG5cbi8qICAqL1xu
XG52YXIgY29uZmlnID0gKHtcbiAgLyoqXG4gICAqIE9wdGlvbiBtZXJnZSBzdHJhdGVnaWVzICh1
c2VkIGluIGNvcmUvdXRpbC9vcHRpb25zKVxuICAgKi9cbiAgb3B0aW9uTWVyZ2VTdHJhdGVnaWVz
OiBPYmplY3QuY3JlYXRlKG51bGwpLFxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHN1cHByZXNz
IHdhcm5pbmdzLlxuICAgKi9cbiAgc2lsZW50OiBmYWxzZSxcblxuICAvKipcbiAgICogU2hvdyBw
cm9kdWN0aW9uIG1vZGUgdGlwIG1lc3NhZ2Ugb24gYm9vdD9cbiAgICovXG4gIHByb2R1Y3Rpb25U
aXA6IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicsXG5cbiAgLyoqXG4gICAq
IFdoZXRoZXIgdG8gZW5hYmxlIGRldnRvb2xzXG4gICAqL1xuICBkZXZ0b29sczogcHJvY2Vzcy5l
bnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyxcblxuICAvKipcbiAgICogV2hldGhlciB0byBy
ZWNvcmQgcGVyZlxuICAgKi9cbiAgcGVyZm9ybWFuY2U6IGZhbHNlLFxuXG4gIC8qKlxuICAgKiBF
cnJvciBoYW5kbGVyIGZvciB3YXRjaGVyIGVycm9yc1xuICAgKi9cbiAgZXJyb3JIYW5kbGVyOiBu
dWxsLFxuXG4gIC8qKlxuICAgKiBXYXJuIGhhbmRsZXIgZm9yIHdhdGNoZXIgd2FybnNcbiAgICov
XG4gIHdhcm5IYW5kbGVyOiBudWxsLFxuXG4gIC8qKlxuICAgKiBJZ25vcmUgY2VydGFpbiBjdXN0
b20gZWxlbWVudHNcbiAgICovXG4gIGlnbm9yZWRFbGVtZW50czogW10sXG5cbiAgLyoqXG4gICAq
IEN1c3RvbSB1c2VyIGtleSBhbGlhc2VzIGZvciB2LW9uXG4gICAqL1xuICBrZXlDb2RlczogT2Jq
ZWN0LmNyZWF0ZShudWxsKSxcblxuICAvKipcbiAgICogQ2hlY2sgaWYgYSB0YWcgaXMgcmVzZXJ2
ZWQgc28gdGhhdCBpdCBjYW5ub3QgYmUgcmVnaXN0ZXJlZCBhcyBhXG4gICAqIGNvbXBvbmVudC4g
VGhpcyBpcyBwbGF0Zm9ybS1kZXBlbmRlbnQgYW5kIG1heSBiZSBvdmVyd3JpdHRlbi5cbiAgICov
XG4gIGlzUmVzZXJ2ZWRUYWc6IG5vLFxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhbiBhdHRyaWJ1
dGUgaXMgcmVzZXJ2ZWQgc28gdGhhdCBpdCBjYW5ub3QgYmUgdXNlZCBhcyBhIGNvbXBvbmVudFxu
ICAgKiBwcm9wLiBUaGlzIGlzIHBsYXRmb3JtLWRlcGVuZGVudCBhbmQgbWF5IGJlIG92ZXJ3cml0
dGVuLlxuICAgKi9cbiAgaXNSZXNlcnZlZEF0dHI6IG5vLFxuXG4gIC8qKlxuICAgKiBDaGVjayBp
ZiBhIHRhZyBpcyBhbiB1bmtub3duIGVsZW1lbnQuXG4gICAqIFBsYXRmb3JtLWRlcGVuZGVudC5c
biAgICovXG4gIGlzVW5rbm93bkVsZW1lbnQ6IG5vLFxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG5h
bWVzcGFjZSBvZiBhbiBlbGVtZW50XG4gICAqL1xuICBnZXRUYWdOYW1lc3BhY2U6IG5vb3AsXG5c
biAgLyoqXG4gICAqIFBhcnNlIHRoZSByZWFsIHRhZyBuYW1lIGZvciB0aGUgc3BlY2lmaWMgcGxh
dGZvcm0uXG4gICAqL1xuICBwYXJzZVBsYXRmb3JtVGFnTmFtZTogaWRlbnRpdHksXG5cbiAgLyoq
XG4gICAqIENoZWNrIGlmIGFuIGF0dHJpYnV0ZSBtdXN0IGJlIGJvdW5kIHVzaW5nIHByb3BlcnR5
LCBlLmcuIHZhbHVlXG4gICAqIFBsYXRmb3JtLWRlcGVuZGVudC5cbiAgICovXG4gIG11c3RVc2VQ
cm9wOiBubyxcblxuICAvKipcbiAgICogRXhwb3NlZCBmb3IgbGVnYWN5IHJlYXNvbnNcbiAgICov
XG4gIF9saWZlY3ljbGVIb29rczogTElGRUNZQ0xFX0hPT0tTXG59KTtcblxuLyogICovXG5cbnZh
ciBlbXB0eU9iamVjdCA9IE9iamVjdC5mcmVlemUoe30pO1xuXG4vKipcbiAqIENoZWNrIGlmIGEg
c3RyaW5nIHN0YXJ0cyB3aXRoICQgb3IgX1xuICovXG5mdW5jdGlvbiBpc1Jlc2VydmVkIChzdHIp
IHtcbiAgdmFyIGMgPSAoc3RyICsgJycpLmNoYXJDb2RlQXQoMCk7XG4gIHJldHVybiBjID09PSAw
eDI0IHx8IGMgPT09IDB4NUZcbn1cblxuLyoqXG4gKiBEZWZpbmUgYSBwcm9wZXJ0eS5cbiAqL1xu
ZnVuY3Rpb24gZGVmIChvYmosIGtleSwgdmFsLCBlbnVtZXJhYmxlKSB7XG4gIE9iamVjdC5kZWZp
bmVQcm9wZXJ0eShvYmosIGtleSwge1xuICAgIHZhbHVlOiB2YWwsXG4gICAgZW51bWVyYWJsZTog
ISFlbnVtZXJhYmxlLFxuICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1
ZVxuICB9KTtcbn1cblxuLyoqXG4gKiBQYXJzZSBzaW1wbGUgcGF0aC5cbiAqL1xudmFyIGJhaWxS
RSA9IC9bXlxcdy4kXS87XG5mdW5jdGlvbiBwYXJzZVBhdGggKHBhdGgpIHtcbiAgaWYgKGJhaWxS
RS50ZXN0KHBhdGgpKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIHNlZ21lbnRzID0gcGF0aC5z
cGxpdCgnLicpO1xuICByZXR1cm4gZnVuY3Rpb24gKG9iaikge1xuICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgc2VnbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICghb2JqKSB7IHJldHVybiB9
XG4gICAgICBvYmogPSBvYmpbc2VnbWVudHNbaV1dO1xuICAgIH1cbiAgICByZXR1cm4gb2JqXG4g
IH1cbn1cblxuLyogICovXG5cbnZhciB3YXJuID0gbm9vcDtcbnZhciB0aXAgPSBub29wO1xudmFy
IGZvcm1hdENvbXBvbmVudE5hbWUgPSAobnVsbCk7IC8vIHdvcmsgYXJvdW5kIGZsb3cgY2hlY2tc
blxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgdmFyIGhh
c0NvbnNvbGUgPSB0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCc7XG4gIHZhciBjbGFzc2lm
eVJFID0gLyg/Ol58Wy1fXSkoXFx3KS9nO1xuICB2YXIgY2xhc3NpZnkgPSBmdW5jdGlvbiAoc3Ry
KSB7IHJldHVybiBzdHJcbiAgICAucmVwbGFjZShjbGFzc2lmeVJFLCBmdW5jdGlvbiAoYykgeyBy
ZXR1cm4gYy50b1VwcGVyQ2FzZSgpOyB9KVxuICAgIC5yZXBsYWNlKC9bLV9dL2csICcnKTsgfTtc
blxuICB3YXJuID0gZnVuY3Rpb24gKG1zZywgdm0pIHtcbiAgICB2YXIgdHJhY2UgPSB2bSA/IGdl
bmVyYXRlQ29tcG9uZW50VHJhY2Uodm0pIDogJyc7XG5cbiAgICBpZiAoY29uZmlnLndhcm5IYW5k
bGVyKSB7XG4gICAgICBjb25maWcud2FybkhhbmRsZXIuY2FsbChudWxsLCBtc2csIHZtLCB0cmFj
ZSk7XG4gICAgfSBlbHNlIGlmIChoYXNDb25zb2xlICYmICghY29uZmlnLnNpbGVudCkpIHtcbiAg
ICAgIGNvbnNvbGUuZXJyb3IoKFwiW1Z1ZSB3YXJuXTogXCIgKyBtc2cgKyB0cmFjZSkpO1xuICAg
IH1cbiAgfTtcblxuICB0aXAgPSBmdW5jdGlvbiAobXNnLCB2bSkge1xuICAgIGlmIChoYXNDb25z
b2xlICYmICghY29uZmlnLnNpbGVudCkpIHtcbiAgICAgIGNvbnNvbGUud2FybihcIltWdWUgdGlw
XTogXCIgKyBtc2cgKyAoXG4gICAgICAgIHZtID8gZ2VuZXJhdGVDb21wb25lbnRUcmFjZSh2bSkg
OiAnJ1xuICAgICAgKSk7XG4gICAgfVxuICB9O1xuXG4gIGZvcm1hdENvbXBvbmVudE5hbWUgPSBm
dW5jdGlvbiAodm0sIGluY2x1ZGVGaWxlKSB7XG4gICAgaWYgKHZtLiRyb290ID09PSB2bSkge1xu
ICAgICAgcmV0dXJuICc8Um9vdD4nXG4gICAgfVxuICAgIHZhciBuYW1lID0gdHlwZW9mIHZtID09
PSAnc3RyaW5nJ1xuICAgICAgPyB2bVxuICAgICAgOiB0eXBlb2Ygdm0gPT09ICdmdW5jdGlvbicg
JiYgdm0ub3B0aW9uc1xuICAgICAgICA/IHZtLm9wdGlvbnMubmFtZVxuICAgICAgICA6IHZtLl9p
c1Z1ZVxuICAgICAgICAgID8gdm0uJG9wdGlvbnMubmFtZSB8fCB2bS4kb3B0aW9ucy5fY29tcG9u
ZW50VGFnXG4gICAgICAgICAgOiB2bS5uYW1lO1xuXG4gICAgdmFyIGZpbGUgPSB2bS5faXNWdWUg
JiYgdm0uJG9wdGlvbnMuX19maWxlO1xuICAgIGlmICghbmFtZSAmJiBmaWxlKSB7XG4gICAgICB2
YXIgbWF0Y2ggPSBmaWxlLm1hdGNoKC8oW14vXFxcXF0rKVxcLnZ1ZSQvKTtcbiAgICAgIG5hbWUg
PSBtYXRjaCAmJiBtYXRjaFsxXTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgKG5hbWUg
PyAoXCI8XCIgKyAoY2xhc3NpZnkobmFtZSkpICsgXCI+XCIpIDogXCI8QW5vbnltb3VzPlwiKSAr
XG4gICAgICAoZmlsZSAmJiBpbmNsdWRlRmlsZSAhPT0gZmFsc2UgPyAoXCIgYXQgXCIgKyBmaWxl
KSA6ICcnKVxuICAgIClcbiAgfTtcblxuICB2YXIgcmVwZWF0ID0gZnVuY3Rpb24gKHN0ciwgbikg
e1xuICAgIHZhciByZXMgPSAnJztcbiAgICB3aGlsZSAobikge1xuICAgICAgaWYgKG4gJSAyID09
PSAxKSB7IHJlcyArPSBzdHI7IH1cbiAgICAgIGlmIChuID4gMSkgeyBzdHIgKz0gc3RyOyB9XG4g
ICAgICBuID4+PSAxO1xuICAgIH1cbiAgICByZXR1cm4gcmVzXG4gIH07XG5cbiAgdmFyIGdlbmVy
YXRlQ29tcG9uZW50VHJhY2UgPSBmdW5jdGlvbiAodm0pIHtcbiAgICBpZiAodm0uX2lzVnVlICYm
IHZtLiRwYXJlbnQpIHtcbiAgICAgIHZhciB0cmVlID0gW107XG4gICAgICB2YXIgY3VycmVudFJl
Y3Vyc2l2ZVNlcXVlbmNlID0gMDtcbiAgICAgIHdoaWxlICh2bSkge1xuICAgICAgICBpZiAodHJl
ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdmFyIGxhc3QgPSB0cmVlW3RyZWUubGVuZ3RoIC0g
MV07XG4gICAgICAgICAgaWYgKGxhc3QuY29uc3RydWN0b3IgPT09IHZtLmNvbnN0cnVjdG9yKSB7
XG4gICAgICAgICAgICBjdXJyZW50UmVjdXJzaXZlU2VxdWVuY2UrKztcbiAgICAgICAgICAgIHZt
ID0gdm0uJHBhcmVudDtcbiAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgfSBlbHNlIGlm
IChjdXJyZW50UmVjdXJzaXZlU2VxdWVuY2UgPiAwKSB7XG4gICAgICAgICAgICB0cmVlW3RyZWUu
bGVuZ3RoIC0gMV0gPSBbbGFzdCwgY3VycmVudFJlY3Vyc2l2ZVNlcXVlbmNlXTtcbiAgICAgICAg
ICAgIGN1cnJlbnRSZWN1cnNpdmVTZXF1ZW5jZSA9IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9
XG4gICAgICAgIHRyZWUucHVzaCh2bSk7XG4gICAgICAgIHZtID0gdm0uJHBhcmVudDtcbiAgICAg
IH1cbiAgICAgIHJldHVybiAnXFxuXFxuZm91bmQgaW5cXG5cXG4nICsgdHJlZVxuICAgICAgICAu
bWFwKGZ1bmN0aW9uICh2bSwgaSkgeyByZXR1cm4gKFwiXCIgKyAoaSA9PT0gMCA/ICctLS0+ICcg
OiByZXBlYXQoJyAnLCA1ICsgaSAqIDIpKSArIChBcnJheS5pc0FycmF5KHZtKVxuICAgICAgICAg
ICAgPyAoKGZvcm1hdENvbXBvbmVudE5hbWUodm1bMF0pKSArIFwiLi4uIChcIiArICh2bVsxXSkg
KyBcIiByZWN1cnNpdmUgY2FsbHMpXCIpXG4gICAgICAgICAgICA6IGZvcm1hdENvbXBvbmVudE5h
bWUodm0pKSk7IH0pXG4gICAgICAgIC5qb2luKCdcXG4nKVxuICAgIH0gZWxzZSB7XG4gICAgICBy
ZXR1cm4gKFwiXFxuXFxuKGZvdW5kIGluIFwiICsgKGZvcm1hdENvbXBvbmVudE5hbWUodm0pKSAr
IFwiKVwiKVxuICAgIH1cbiAgfTtcbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGhhbmRsZUVycm9y
IChlcnIsIHZtLCBpbmZvKSB7XG4gIGlmIChjb25maWcuZXJyb3JIYW5kbGVyKSB7XG4gICAgY29u
ZmlnLmVycm9ySGFuZGxlci5jYWxsKG51bGwsIGVyciwgdm0sIGluZm8pO1xuICB9IGVsc2Uge1xu
ICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICB3
YXJuKChcIkVycm9yIGluIFwiICsgaW5mbyArIFwiOiBcXFwiXCIgKyAoZXJyLnRvU3RyaW5nKCkp
ICsgXCJcXFwiXCIpLCB2bSk7XG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICov
XG4gICAgaWYgKGluQnJvd3NlciAmJiB0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcpIHtc
biAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgZXJy
XG4gICAgfVxuICB9XG59XG5cbi8qICAqL1xuLyogZ2xvYmFscyBNdXRhdGlvbk9ic2VydmVyICov
XG5cbi8vIGNhbiB3ZSB1c2UgX19wcm90b19fP1xudmFyIGhhc1Byb3RvID0gJ19fcHJvdG9fXycg
aW4ge307XG5cbi8vIEJyb3dzZXIgZW52aXJvbm1lbnQgc25pZmZpbmdcbnZhciBpbkJyb3dzZXIg
PSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJztcbnZhciBVQSA9IGluQnJvd3NlciAmJiB3
aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpO1xudmFyIGlzSUUgPSBVQSAm
JiAvbXNpZXx0cmlkZW50Ly50ZXN0KFVBKTtcbnZhciBpc0lFOSA9IFVBICYmIFVBLmluZGV4T2Yo
J21zaWUgOS4wJykgPiAwO1xudmFyIGlzRWRnZSA9IFVBICYmIFVBLmluZGV4T2YoJ2VkZ2UvJykg
PiAwO1xudmFyIGlzQW5kcm9pZCA9IFVBICYmIFVBLmluZGV4T2YoJ2FuZHJvaWQnKSA+IDA7XG52
YXIgaXNJT1MgPSBVQSAmJiAvaXBob25lfGlwYWR8aXBvZHxpb3MvLnRlc3QoVUEpO1xudmFyIGlz
Q2hyb21lID0gVUEgJiYgL2Nocm9tZVxcL1xcZCsvLnRlc3QoVUEpICYmICFpc0VkZ2U7XG5cbi8v
IEZpcmVmaXggaGFzIGEgXCJ3YXRjaFwiIGZ1bmN0aW9uIG9uIE9iamVjdC5wcm90b3R5cGUuLi5c
bnZhciBuYXRpdmVXYXRjaCA9ICh7fSkud2F0Y2g7XG5cbnZhciBzdXBwb3J0c1Bhc3NpdmUgPSBm
YWxzZTtcbmlmIChpbkJyb3dzZXIpIHtcbiAgdHJ5IHtcbiAgICB2YXIgb3B0cyA9IHt9O1xuICAg
IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvcHRzLCAncGFzc2l2ZScsICh7XG4gICAgICBnZXQ6IGZ1
bmN0aW9uIGdldCAoKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAg
ICAgIHN1cHBvcnRzUGFzc2l2ZSA9IHRydWU7XG4gICAgICB9XG4gICAgfSkpOyAvLyBodHRwczov
L2dpdGh1Yi5jb20vZmFjZWJvb2svZmxvdy9pc3N1ZXMvMjg1XG4gICAgd2luZG93LmFkZEV2ZW50
TGlzdGVuZXIoJ3Rlc3QtcGFzc2l2ZScsIG51bGwsIG9wdHMpO1xuICB9IGNhdGNoIChlKSB7fVxu
fVxuXG4vLyB0aGlzIG5lZWRzIHRvIGJlIGxhenktZXZhbGVkIGJlY2F1c2UgdnVlIG1heSBiZSBy
ZXF1aXJlZCBiZWZvcmVcbi8vIHZ1ZS1zZXJ2ZXItcmVuZGVyZXIgY2FuIHNldCBWVUVfRU5WXG52
YXIgX2lzU2VydmVyO1xudmFyIGlzU2VydmVyUmVuZGVyaW5nID0gZnVuY3Rpb24gKCkge1xuICBp
ZiAoX2lzU2VydmVyID09PSB1bmRlZmluZWQpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYg
Ki9cbiAgICBpZiAoIWluQnJvd3NlciAmJiB0eXBlb2YgZ2xvYmFsICE9PSAndW5kZWZpbmVkJykg
e1xuICAgICAgLy8gZGV0ZWN0IHByZXNlbmNlIG9mIHZ1ZS1zZXJ2ZXItcmVuZGVyZXIgYW5kIGF2
b2lkXG4gICAgICAvLyBXZWJwYWNrIHNoaW1taW5nIHRoZSBwcm9jZXNzXG4gICAgICBfaXNTZXJ2
ZXIgPSBnbG9iYWxbJ3Byb2Nlc3MnXS5lbnYuVlVFX0VOViA9PT0gJ3NlcnZlcic7XG4gICAgfSBl
bHNlIHtcbiAgICAgIF9pc1NlcnZlciA9IGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gX2lz
U2VydmVyXG59O1xuXG4vLyBkZXRlY3QgZGV2dG9vbHNcbnZhciBkZXZ0b29scyA9IGluQnJvd3Nl
ciAmJiB3aW5kb3cuX19WVUVfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztcblxuLyogaXN0YW5idWwg
aWdub3JlIG5leHQgKi9cbmZ1bmN0aW9uIGlzTmF0aXZlIChDdG9yKSB7XG4gIHJldHVybiB0eXBl
b2YgQ3RvciA9PT0gJ2Z1bmN0aW9uJyAmJiAvbmF0aXZlIGNvZGUvLnRlc3QoQ3Rvci50b1N0cmlu
ZygpKVxufVxuXG52YXIgaGFzU3ltYm9sID1cbiAgdHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5l
ZCcgJiYgaXNOYXRpdmUoU3ltYm9sKSAmJlxuICB0eXBlb2YgUmVmbGVjdCAhPT0gJ3VuZGVmaW5l
ZCcgJiYgaXNOYXRpdmUoUmVmbGVjdC5vd25LZXlzKTtcblxuLyoqXG4gKiBEZWZlciBhIHRhc2sg
dG8gZXhlY3V0ZSBpdCBhc3luY2hyb25vdXNseS5cbiAqL1xudmFyIG5leHRUaWNrID0gKGZ1bmN0
aW9uICgpIHtcbiAgdmFyIGNhbGxiYWNrcyA9IFtdO1xuICB2YXIgcGVuZGluZyA9IGZhbHNlO1xu
ICB2YXIgdGltZXJGdW5jO1xuXG4gIGZ1bmN0aW9uIG5leHRUaWNrSGFuZGxlciAoKSB7XG4gICAg
cGVuZGluZyA9IGZhbHNlO1xuICAgIHZhciBjb3BpZXMgPSBjYWxsYmFja3Muc2xpY2UoMCk7XG4g
ICAgY2FsbGJhY2tzLmxlbmd0aCA9IDA7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3BpZXMu
bGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvcGllc1tpXSgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHRo
ZSBuZXh0VGljayBiZWhhdmlvciBsZXZlcmFnZXMgdGhlIG1pY3JvdGFzayBxdWV1ZSwgd2hpY2gg
Y2FuIGJlIGFjY2Vzc2VkXG4gIC8vIHZpYSBlaXRoZXIgbmF0aXZlIFByb21pc2UudGhlbiBvciBN
dXRhdGlvbk9ic2VydmVyLlxuICAvLyBNdXRhdGlvbk9ic2VydmVyIGhhcyB3aWRlciBzdXBwb3J0
LCBob3dldmVyIGl0IGlzIHNlcmlvdXNseSBidWdnZWQgaW5cbiAgLy8gVUlXZWJWaWV3IGluIGlP
UyA+PSA5LjMuMyB3aGVuIHRyaWdnZXJlZCBpbiB0b3VjaCBldmVudCBoYW5kbGVycy4gSXRcbiAg
Ly8gY29tcGxldGVseSBzdG9wcyB3b3JraW5nIGFmdGVyIHRyaWdnZXJpbmcgYSBmZXcgdGltZXMu
Li4gc28sIGlmIG5hdGl2ZVxuICAvLyBQcm9taXNlIGlzIGF2YWlsYWJsZSwgd2Ugd2lsbCB1c2Ug
aXQ6XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAodHlwZW9mIFByb21pc2UgIT09
ICd1bmRlZmluZWQnICYmIGlzTmF0aXZlKFByb21pc2UpKSB7XG4gICAgdmFyIHAgPSBQcm9taXNl
LnJlc29sdmUoKTtcbiAgICB2YXIgbG9nRXJyb3IgPSBmdW5jdGlvbiAoZXJyKSB7IGNvbnNvbGUu
ZXJyb3IoZXJyKTsgfTtcbiAgICB0aW1lckZ1bmMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBwLnRo
ZW4obmV4dFRpY2tIYW5kbGVyKS5jYXRjaChsb2dFcnJvcik7XG4gICAgICAvLyBpbiBwcm9ibGVt
YXRpYyBVSVdlYlZpZXdzLCBQcm9taXNlLnRoZW4gZG9lc24ndCBjb21wbGV0ZWx5IGJyZWFrLCBi
dXRcbiAgICAgIC8vIGl0IGNhbiBnZXQgc3R1Y2sgaW4gYSB3ZWlyZCBzdGF0ZSB3aGVyZSBjYWxs
YmFja3MgYXJlIHB1c2hlZCBpbnRvIHRoZVxuICAgICAgLy8gbWljcm90YXNrIHF1ZXVlIGJ1dCB0
aGUgcXVldWUgaXNuJ3QgYmVpbmcgZmx1c2hlZCwgdW50aWwgdGhlIGJyb3dzZXJcbiAgICAgIC8v
IG5lZWRzIHRvIGRvIHNvbWUgb3RoZXIgd29yaywgZS5nLiBoYW5kbGUgYSB0aW1lci4gVGhlcmVm
b3JlIHdlIGNhblxuICAgICAgLy8gXCJmb3JjZVwiIHRoZSBtaWNyb3Rhc2sgcXVldWUgdG8gYmUg
Zmx1c2hlZCBieSBhZGRpbmcgYW4gZW1wdHkgdGltZXIuXG4gICAgICBpZiAoaXNJT1MpIHsgc2V0
VGltZW91dChub29wKTsgfVxuICAgIH07XG4gIH0gZWxzZSBpZiAodHlwZW9mIE11dGF0aW9uT2Jz
ZXJ2ZXIgIT09ICd1bmRlZmluZWQnICYmIChcbiAgICBpc05hdGl2ZShNdXRhdGlvbk9ic2VydmVy
KSB8fFxuICAgIC8vIFBoYW50b21KUyBhbmQgaU9TIDcueFxuICAgIE11dGF0aW9uT2JzZXJ2ZXIu
dG9TdHJpbmcoKSA9PT0gJ1tvYmplY3QgTXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9yXSdcbiAg
KSkge1xuICAgIC8vIHVzZSBNdXRhdGlvbk9ic2VydmVyIHdoZXJlIG5hdGl2ZSBQcm9taXNlIGlz
IG5vdCBhdmFpbGFibGUsXG4gICAgLy8gZS5nLiBQaGFudG9tSlMgSUUxMSwgaU9TNywgQW5kcm9p
ZCA0LjRcbiAgICB2YXIgY291bnRlciA9IDE7XG4gICAgdmFyIG9ic2VydmVyID0gbmV3IE11dGF0
aW9uT2JzZXJ2ZXIobmV4dFRpY2tIYW5kbGVyKTtcbiAgICB2YXIgdGV4dE5vZGUgPSBkb2N1bWVu
dC5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoY291bnRlcikpO1xuICAgIG9ic2VydmVyLm9ic2VydmUo
dGV4dE5vZGUsIHtcbiAgICAgIGNoYXJhY3RlckRhdGE6IHRydWVcbiAgICB9KTtcbiAgICB0aW1l
ckZ1bmMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBjb3VudGVyID0gKGNvdW50ZXIgKyAxKSAlIDI7
XG4gICAgICB0ZXh0Tm9kZS5kYXRhID0gU3RyaW5nKGNvdW50ZXIpO1xuICAgIH07XG4gIH0gZWxz
ZSB7XG4gICAgLy8gZmFsbGJhY2sgdG8gc2V0VGltZW91dFxuICAgIC8qIGlzdGFuYnVsIGlnbm9y
ZSBuZXh0ICovXG4gICAgdGltZXJGdW5jID0gZnVuY3Rpb24gKCkge1xuICAgICAgc2V0VGltZW91
dChuZXh0VGlja0hhbmRsZXIsIDApO1xuICAgIH07XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24g
cXVldWVOZXh0VGljayAoY2IsIGN0eCkge1xuICAgIHZhciBfcmVzb2x2ZTtcbiAgICBjYWxsYmFj
a3MucHVzaChmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoY2IpIHtcbiAgICAgICAgdHJ5IHtcbiAg
ICAgICAgICBjYi5jYWxsKGN0eCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBo
YW5kbGVFcnJvcihlLCBjdHgsICduZXh0VGljaycpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Ug
aWYgKF9yZXNvbHZlKSB7XG4gICAgICAgIF9yZXNvbHZlKGN0eCk7XG4gICAgICB9XG4gICAgfSk7
XG4gICAgaWYgKCFwZW5kaW5nKSB7XG4gICAgICBwZW5kaW5nID0gdHJ1ZTtcbiAgICAgIHRpbWVy
RnVuYygpO1xuICAgIH1cbiAgICBpZiAoIWNiICYmIHR5cGVvZiBQcm9taXNlICE9PSAndW5kZWZp
bmVkJykge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWpl
Y3QpIHtcbiAgICAgICAgX3Jlc29sdmUgPSByZXNvbHZlO1xuICAgICAgfSlcbiAgICB9XG4gIH1c
bn0pKCk7XG5cbnZhciBfU2V0O1xuLyogaXN0YW5idWwgaWdub3JlIGlmICovXG5pZiAodHlwZW9m
IFNldCAhPT0gJ3VuZGVmaW5lZCcgJiYgaXNOYXRpdmUoU2V0KSkge1xuICAvLyB1c2UgbmF0aXZl
IFNldCB3aGVuIGF2YWlsYWJsZS5cbiAgX1NldCA9IFNldDtcbn0gZWxzZSB7XG4gIC8vIGEgbm9u
LXN0YW5kYXJkIFNldCBwb2x5ZmlsbCB0aGF0IG9ubHkgd29ya3Mgd2l0aCBwcmltaXRpdmUga2V5
cy5cbiAgX1NldCA9IChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gU2V0ICgpIHtcbiAgICAg
IHRoaXMuc2V0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICB9XG4gICAgU2V0LnByb3RvdHlw
ZS5oYXMgPSBmdW5jdGlvbiBoYXMgKGtleSkge1xuICAgICAgcmV0dXJuIHRoaXMuc2V0W2tleV0g
PT09IHRydWVcbiAgICB9O1xuICAgIFNldC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkIChr
ZXkpIHtcbiAgICAgIHRoaXMuc2V0W2tleV0gPSB0cnVlO1xuICAgIH07XG4gICAgU2V0LnByb3Rv
dHlwZS5jbGVhciA9IGZ1bmN0aW9uIGNsZWFyICgpIHtcbiAgICAgIHRoaXMuc2V0ID0gT2JqZWN0
LmNyZWF0ZShudWxsKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIFNldDtcbiAgfSgpKTtcbn1cblxu
LyogICovXG5cblxudmFyIHVpZCA9IDA7XG5cbi8qKlxuICogQSBkZXAgaXMgYW4gb2JzZXJ2YWJs
ZSB0aGF0IGNhbiBoYXZlIG11bHRpcGxlXG4gKiBkaXJlY3RpdmVzIHN1YnNjcmliaW5nIHRvIGl0
LlxuICovXG52YXIgRGVwID0gZnVuY3Rpb24gRGVwICgpIHtcbiAgdGhpcy5pZCA9IHVpZCsrO1xu
ICB0aGlzLnN1YnMgPSBbXTtcbn07XG5cbkRlcC5wcm90b3R5cGUuYWRkU3ViID0gZnVuY3Rpb24g
YWRkU3ViIChzdWIpIHtcbiAgdGhpcy5zdWJzLnB1c2goc3ViKTtcbn07XG5cbkRlcC5wcm90b3R5
cGUucmVtb3ZlU3ViID0gZnVuY3Rpb24gcmVtb3ZlU3ViIChzdWIpIHtcbiAgcmVtb3ZlKHRoaXMu
c3Vicywgc3ViKTtcbn07XG5cbkRlcC5wcm90b3R5cGUuZGVwZW5kID0gZnVuY3Rpb24gZGVwZW5k
ICgpIHtcbiAgaWYgKERlcC50YXJnZXQpIHtcbiAgICBEZXAudGFyZ2V0LmFkZERlcCh0aGlzKTtc
biAgfVxufTtcblxuRGVwLnByb3RvdHlwZS5ub3RpZnkgPSBmdW5jdGlvbiBub3RpZnkgKCkge1xu
ICAvLyBzdGFiaWxpemUgdGhlIHN1YnNjcmliZXIgbGlzdCBmaXJzdFxuICB2YXIgc3VicyA9IHRo
aXMuc3Vicy5zbGljZSgpO1xuICBmb3IgKHZhciBpID0gMCwgbCA9IHN1YnMubGVuZ3RoOyBpIDwg
bDsgaSsrKSB7XG4gICAgc3Vic1tpXS51cGRhdGUoKTtcbiAgfVxufTtcblxuLy8gdGhlIGN1cnJl
bnQgdGFyZ2V0IHdhdGNoZXIgYmVpbmcgZXZhbHVhdGVkLlxuLy8gdGhpcyBpcyBnbG9iYWxseSB1
bmlxdWUgYmVjYXVzZSB0aGVyZSBjb3VsZCBiZSBvbmx5IG9uZVxuLy8gd2F0Y2hlciBiZWluZyBl
dmFsdWF0ZWQgYXQgYW55IHRpbWUuXG5EZXAudGFyZ2V0ID0gbnVsbDtcbnZhciB0YXJnZXRTdGFj
ayA9IFtdO1xuXG5mdW5jdGlvbiBwdXNoVGFyZ2V0IChfdGFyZ2V0KSB7XG4gIGlmIChEZXAudGFy
Z2V0KSB7IHRhcmdldFN0YWNrLnB1c2goRGVwLnRhcmdldCk7IH1cbiAgRGVwLnRhcmdldCA9IF90
YXJnZXQ7XG59XG5cbmZ1bmN0aW9uIHBvcFRhcmdldCAoKSB7XG4gIERlcC50YXJnZXQgPSB0YXJn
ZXRTdGFjay5wb3AoKTtcbn1cblxuLypcbiAqIG5vdCB0eXBlIGNoZWNraW5nIHRoaXMgZmlsZSBi
ZWNhdXNlIGZsb3cgZG9lc24ndCBwbGF5IHdlbGwgd2l0aFxuICogZHluYW1pY2FsbHkgYWNjZXNz
aW5nIG1ldGhvZHMgb24gQXJyYXkgcHJvdG90eXBlXG4gKi9cblxudmFyIGFycmF5UHJvdG8gPSBB
cnJheS5wcm90b3R5cGU7XG52YXIgYXJyYXlNZXRob2RzID0gT2JqZWN0LmNyZWF0ZShhcnJheVBy
b3RvKTtbXG4gICdwdXNoJyxcbiAgJ3BvcCcsXG4gICdzaGlmdCcsXG4gICd1bnNoaWZ0JyxcbiAg
J3NwbGljZScsXG4gICdzb3J0JyxcbiAgJ3JldmVyc2UnXG5dXG4uZm9yRWFjaChmdW5jdGlvbiAo
bWV0aG9kKSB7XG4gIC8vIGNhY2hlIG9yaWdpbmFsIG1ldGhvZFxuICB2YXIgb3JpZ2luYWwgPSBh
cnJheVByb3RvW21ldGhvZF07XG4gIGRlZihhcnJheU1ldGhvZHMsIG1ldGhvZCwgZnVuY3Rpb24g
bXV0YXRvciAoKSB7XG4gICAgdmFyIGFyZ3MgPSBbXSwgbGVuID0gYXJndW1lbnRzLmxlbmd0aDtc
biAgICB3aGlsZSAoIGxlbi0tICkgYXJnc1sgbGVuIF0gPSBhcmd1bWVudHNbIGxlbiBdO1xuXG4g
ICAgdmFyIHJlc3VsdCA9IG9yaWdpbmFsLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgIHZhciBvYiA9
IHRoaXMuX19vYl9fO1xuICAgIHZhciBpbnNlcnRlZDtcbiAgICBzd2l0Y2ggKG1ldGhvZCkge1xu
ICAgICAgY2FzZSAncHVzaCc6XG4gICAgICBjYXNlICd1bnNoaWZ0JzpcbiAgICAgICAgaW5zZXJ0
ZWQgPSBhcmdzO1xuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnc3BsaWNlJzpcbiAgICAgICAg
aW5zZXJ0ZWQgPSBhcmdzLnNsaWNlKDIpO1xuICAgICAgICBicmVha1xuICAgIH1cbiAgICBpZiAo
aW5zZXJ0ZWQpIHsgb2Iub2JzZXJ2ZUFycmF5KGluc2VydGVkKTsgfVxuICAgIC8vIG5vdGlmeSBj
aGFuZ2VcbiAgICBvYi5kZXAubm90aWZ5KCk7XG4gICAgcmV0dXJuIHJlc3VsdFxuICB9KTtcbn0p
O1xuXG4vKiAgKi9cblxudmFyIGFycmF5S2V5cyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVz
KGFycmF5TWV0aG9kcyk7XG5cbi8qKlxuICogQnkgZGVmYXVsdCwgd2hlbiBhIHJlYWN0aXZlIHBy
b3BlcnR5IGlzIHNldCwgdGhlIG5ldyB2YWx1ZSBpc1xuICogYWxzbyBjb252ZXJ0ZWQgdG8gYmVj
b21lIHJlYWN0aXZlLiBIb3dldmVyIHdoZW4gcGFzc2luZyBkb3duIHByb3BzLFxuICogd2UgZG9u
J3Qgd2FudCB0byBmb3JjZSBjb252ZXJzaW9uIGJlY2F1c2UgdGhlIHZhbHVlIG1heSBiZSBhIG5l
c3RlZCB2YWx1ZVxuICogdW5kZXIgYSBmcm96ZW4gZGF0YSBzdHJ1Y3R1cmUuIENvbnZlcnRpbmcg
aXQgd291bGQgZGVmZWF0IHRoZSBvcHRpbWl6YXRpb24uXG4gKi9cbnZhciBvYnNlcnZlclN0YXRl
ID0ge1xuICBzaG91bGRDb252ZXJ0OiB0cnVlXG59O1xuXG4vKipcbiAqIE9ic2VydmVyIGNsYXNz
IHRoYXQgYXJlIGF0dGFjaGVkIHRvIGVhY2ggb2JzZXJ2ZWRcbiAqIG9iamVjdC4gT25jZSBhdHRh
Y2hlZCwgdGhlIG9ic2VydmVyIGNvbnZlcnRzIHRhcmdldFxuICogb2JqZWN0J3MgcHJvcGVydHkg
a2V5cyBpbnRvIGdldHRlci9zZXR0ZXJzIHRoYXRcbiAqIGNvbGxlY3QgZGVwZW5kZW5jaWVzIGFu
ZCBkaXNwYXRjaGVzIHVwZGF0ZXMuXG4gKi9cbnZhciBPYnNlcnZlciA9IGZ1bmN0aW9uIE9ic2Vy
dmVyICh2YWx1ZSkge1xuICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIHRoaXMuZGVwID0gbmV3IERl
cCgpO1xuICB0aGlzLnZtQ291bnQgPSAwO1xuICBkZWYodmFsdWUsICdfX29iX18nLCB0aGlzKTtc
biAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgdmFyIGF1Z21lbnQgPSBoYXNQcm90
b1xuICAgICAgPyBwcm90b0F1Z21lbnRcbiAgICAgIDogY29weUF1Z21lbnQ7XG4gICAgYXVnbWVu
dCh2YWx1ZSwgYXJyYXlNZXRob2RzLCBhcnJheUtleXMpO1xuICAgIHRoaXMub2JzZXJ2ZUFycmF5
KHZhbHVlKTtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLndhbGsodmFsdWUpO1xuICB9XG59O1xuXG4v
KipcbiAqIFdhbGsgdGhyb3VnaCBlYWNoIHByb3BlcnR5IGFuZCBjb252ZXJ0IHRoZW0gaW50b1xu
ICogZ2V0dGVyL3NldHRlcnMuIFRoaXMgbWV0aG9kIHNob3VsZCBvbmx5IGJlIGNhbGxlZCB3aGVu
XG4gKiB2YWx1ZSB0eXBlIGlzIE9iamVjdC5cbiAqL1xuT2JzZXJ2ZXIucHJvdG90eXBlLndhbGsg
PSBmdW5jdGlvbiB3YWxrIChvYmopIHtcbiAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmopO1xu
ICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICBkZWZpbmVSZWFj
dGl2ZSQkMShvYmosIGtleXNbaV0sIG9ialtrZXlzW2ldXSk7XG4gIH1cbn07XG5cbi8qKlxuICog
T2JzZXJ2ZSBhIGxpc3Qgb2YgQXJyYXkgaXRlbXMuXG4gKi9cbk9ic2VydmVyLnByb3RvdHlwZS5v
YnNlcnZlQXJyYXkgPSBmdW5jdGlvbiBvYnNlcnZlQXJyYXkgKGl0ZW1zKSB7XG4gIGZvciAodmFy
IGkgPSAwLCBsID0gaXRlbXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgb2JzZXJ2ZShpdGVt
c1tpXSk7XG4gIH1cbn07XG5cbi8vIGhlbHBlcnNcblxuLyoqXG4gKiBBdWdtZW50IGFuIHRhcmdl
dCBPYmplY3Qgb3IgQXJyYXkgYnkgaW50ZXJjZXB0aW5nXG4gKiB0aGUgcHJvdG90eXBlIGNoYWlu
IHVzaW5nIF9fcHJvdG9fX1xuICovXG5mdW5jdGlvbiBwcm90b0F1Z21lbnQgKHRhcmdldCwgc3Jj
LCBrZXlzKSB7XG4gIC8qIGVzbGludC1kaXNhYmxlIG5vLXByb3RvICovXG4gIHRhcmdldC5fX3By
b3RvX18gPSBzcmM7XG4gIC8qIGVzbGludC1lbmFibGUgbm8tcHJvdG8gKi9cbn1cblxuLyoqXG4g
KiBBdWdtZW50IGFuIHRhcmdldCBPYmplY3Qgb3IgQXJyYXkgYnkgZGVmaW5pbmdcbiAqIGhpZGRl
biBwcm9wZXJ0aWVzLlxuICovXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZnVuY3Rpb24g
Y29weUF1Z21lbnQgKHRhcmdldCwgc3JjLCBrZXlzKSB7XG4gIGZvciAodmFyIGkgPSAwLCBsID0g
a2V5cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICB2YXIga2V5ID0ga2V5c1tpXTtcbiAgICBk
ZWYodGFyZ2V0LCBrZXksIHNyY1trZXldKTtcbiAgfVxufVxuXG4vKipcbiAqIEF0dGVtcHQgdG8g
Y3JlYXRlIGFuIG9ic2VydmVyIGluc3RhbmNlIGZvciBhIHZhbHVlLFxuICogcmV0dXJucyB0aGUg
bmV3IG9ic2VydmVyIGlmIHN1Y2Nlc3NmdWxseSBvYnNlcnZlZCxcbiAqIG9yIHRoZSBleGlzdGlu
ZyBvYnNlcnZlciBpZiB0aGUgdmFsdWUgYWxyZWFkeSBoYXMgb25lLlxuICovXG5mdW5jdGlvbiBv
YnNlcnZlICh2YWx1ZSwgYXNSb290RGF0YSkge1xuICBpZiAoIWlzT2JqZWN0KHZhbHVlKSkge1xu
ICAgIHJldHVyblxuICB9XG4gIHZhciBvYjtcbiAgaWYgKGhhc093bih2YWx1ZSwgJ19fb2JfXycp
ICYmIHZhbHVlLl9fb2JfXyBpbnN0YW5jZW9mIE9ic2VydmVyKSB7XG4gICAgb2IgPSB2YWx1ZS5f
X29iX187XG4gIH0gZWxzZSBpZiAoXG4gICAgb2JzZXJ2ZXJTdGF0ZS5zaG91bGRDb252ZXJ0ICYm
XG4gICAgIWlzU2VydmVyUmVuZGVyaW5nKCkgJiZcbiAgICAoQXJyYXkuaXNBcnJheSh2YWx1ZSkg
fHwgaXNQbGFpbk9iamVjdCh2YWx1ZSkpICYmXG4gICAgT2JqZWN0LmlzRXh0ZW5zaWJsZSh2YWx1
ZSkgJiZcbiAgICAhdmFsdWUuX2lzVnVlXG4gICkge1xuICAgIG9iID0gbmV3IE9ic2VydmVyKHZh
bHVlKTtcbiAgfVxuICBpZiAoYXNSb290RGF0YSAmJiBvYikge1xuICAgIG9iLnZtQ291bnQrKztc
biAgfVxuICByZXR1cm4gb2Jcbn1cblxuLyoqXG4gKiBEZWZpbmUgYSByZWFjdGl2ZSBwcm9wZXJ0
eSBvbiBhbiBPYmplY3QuXG4gKi9cbmZ1bmN0aW9uIGRlZmluZVJlYWN0aXZlJCQxIChcbiAgb2Jq
LFxuICBrZXksXG4gIHZhbCxcbiAgY3VzdG9tU2V0dGVyLFxuICBzaGFsbG93XG4pIHtcbiAgdmFy
IGRlcCA9IG5ldyBEZXAoKTtcblxuICB2YXIgcHJvcGVydHkgPSBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKG9iaiwga2V5KTtcbiAgaWYgKHByb3BlcnR5ICYmIHByb3BlcnR5LmNvbmZp
Z3VyYWJsZSA9PT0gZmFsc2UpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIC8vIGNhdGVyIGZvciBw
cmUtZGVmaW5lZCBnZXR0ZXIvc2V0dGVyc1xuICB2YXIgZ2V0dGVyID0gcHJvcGVydHkgJiYgcHJv
cGVydHkuZ2V0O1xuICB2YXIgc2V0dGVyID0gcHJvcGVydHkgJiYgcHJvcGVydHkuc2V0O1xuXG4g
IHZhciBjaGlsZE9iID0gIXNoYWxsb3cgJiYgb2JzZXJ2ZSh2YWwpO1xuICBPYmplY3QuZGVmaW5l
UHJvcGVydHkob2JqLCBrZXksIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3Vy
YWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uIHJlYWN0aXZlR2V0dGVyICgpIHtcbiAgICAg
IHZhciB2YWx1ZSA9IGdldHRlciA/IGdldHRlci5jYWxsKG9iaikgOiB2YWw7XG4gICAgICBpZiAo
RGVwLnRhcmdldCkge1xuICAgICAgICBkZXAuZGVwZW5kKCk7XG4gICAgICAgIGlmIChjaGlsZE9i
KSB7XG4gICAgICAgICAgY2hpbGRPYi5kZXAuZGVwZW5kKCk7XG4gICAgICAgIH1cbiAgICAgICAg
aWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgZGVwZW5kQXJyYXkodmFsdWUp
O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWVcbiAgICB9LFxuICAgIHNl
dDogZnVuY3Rpb24gcmVhY3RpdmVTZXR0ZXIgKG5ld1ZhbCkge1xuICAgICAgdmFyIHZhbHVlID0g
Z2V0dGVyID8gZ2V0dGVyLmNhbGwob2JqKSA6IHZhbDtcbiAgICAgIC8qIGVzbGludC1kaXNhYmxl
IG5vLXNlbGYtY29tcGFyZSAqL1xuICAgICAgaWYgKG5ld1ZhbCA9PT0gdmFsdWUgfHwgKG5ld1Zh
bCAhPT0gbmV3VmFsICYmIHZhbHVlICE9PSB2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAg
ICB9XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIG5vLXNlbGYtY29tcGFyZSAqL1xuICAgICAgaWYg
KHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgY3VzdG9tU2V0dGVyKSB7
XG4gICAgICAgIGN1c3RvbVNldHRlcigpO1xuICAgICAgfVxuICAgICAgaWYgKHNldHRlcikge1xu
ICAgICAgICBzZXR0ZXIuY2FsbChvYmosIG5ld1ZhbCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAg
ICB2YWwgPSBuZXdWYWw7XG4gICAgICB9XG4gICAgICBjaGlsZE9iID0gIXNoYWxsb3cgJiYgb2Jz
ZXJ2ZShuZXdWYWwpO1xuICAgICAgZGVwLm5vdGlmeSgpO1xuICAgIH1cbiAgfSk7XG59XG5cbi8q
KlxuICogU2V0IGEgcHJvcGVydHkgb24gYW4gb2JqZWN0LiBBZGRzIHRoZSBuZXcgcHJvcGVydHkg
YW5kXG4gKiB0cmlnZ2VycyBjaGFuZ2Ugbm90aWZpY2F0aW9uIGlmIHRoZSBwcm9wZXJ0eSBkb2Vz
bid0XG4gKiBhbHJlYWR5IGV4aXN0LlxuICovXG5mdW5jdGlvbiBzZXQgKHRhcmdldCwga2V5LCB2
YWwpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodGFyZ2V0KSAmJiBpc1ZhbGlkQXJyYXlJbmRleChr
ZXkpKSB7XG4gICAgdGFyZ2V0Lmxlbmd0aCA9IE1hdGgubWF4KHRhcmdldC5sZW5ndGgsIGtleSk7
XG4gICAgdGFyZ2V0LnNwbGljZShrZXksIDEsIHZhbCk7XG4gICAgcmV0dXJuIHZhbFxuICB9XG4g
IGlmIChoYXNPd24odGFyZ2V0LCBrZXkpKSB7XG4gICAgdGFyZ2V0W2tleV0gPSB2YWw7XG4gICAg
cmV0dXJuIHZhbFxuICB9XG4gIHZhciBvYiA9ICh0YXJnZXQpLl9fb2JfXztcbiAgaWYgKHRhcmdl
dC5faXNWdWUgfHwgKG9iICYmIG9iLnZtQ291bnQpKSB7XG4gICAgcHJvY2Vzcy5lbnYuTk9ERV9F
TlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgJ0F2b2lkIGFkZGluZyByZWFjdGl2
ZSBwcm9wZXJ0aWVzIHRvIGEgVnVlIGluc3RhbmNlIG9yIGl0cyByb290ICRkYXRhICcgK1xuICAg
ICAgJ2F0IHJ1bnRpbWUgLSBkZWNsYXJlIGl0IHVwZnJvbnQgaW4gdGhlIGRhdGEgb3B0aW9uLidc
biAgICApO1xuICAgIHJldHVybiB2YWxcbiAgfVxuICBpZiAoIW9iKSB7XG4gICAgdGFyZ2V0W2tl
eV0gPSB2YWw7XG4gICAgcmV0dXJuIHZhbFxuICB9XG4gIGRlZmluZVJlYWN0aXZlJCQxKG9iLnZh
bHVlLCBrZXksIHZhbCk7XG4gIG9iLmRlcC5ub3RpZnkoKTtcbiAgcmV0dXJuIHZhbFxufVxuXG4v
KipcbiAqIERlbGV0ZSBhIHByb3BlcnR5IGFuZCB0cmlnZ2VyIGNoYW5nZSBpZiBuZWNlc3Nhcnku
XG4gKi9cbmZ1bmN0aW9uIGRlbCAodGFyZ2V0LCBrZXkpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXko
dGFyZ2V0KSAmJiBpc1ZhbGlkQXJyYXlJbmRleChrZXkpKSB7XG4gICAgdGFyZ2V0LnNwbGljZShr
ZXksIDEpO1xuICAgIHJldHVyblxuICB9XG4gIHZhciBvYiA9ICh0YXJnZXQpLl9fb2JfXztcbiAg
aWYgKHRhcmdldC5faXNWdWUgfHwgKG9iICYmIG9iLnZtQ291bnQpKSB7XG4gICAgcHJvY2Vzcy5l
bnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgJ0F2b2lkIGRlbGV0
aW5nIHByb3BlcnRpZXMgb24gYSBWdWUgaW5zdGFuY2Ugb3IgaXRzIHJvb3QgJGRhdGEgJyArXG4g
ICAgICAnLSBqdXN0IHNldCBpdCB0byBudWxsLidcbiAgICApO1xuICAgIHJldHVyblxuICB9XG4g
IGlmICghaGFzT3duKHRhcmdldCwga2V5KSkge1xuICAgIHJldHVyblxuICB9XG4gIGRlbGV0ZSB0
YXJnZXRba2V5XTtcbiAgaWYgKCFvYikge1xuICAgIHJldHVyblxuICB9XG4gIG9iLmRlcC5ub3Rp
ZnkoKTtcbn1cblxuLyoqXG4gKiBDb2xsZWN0IGRlcGVuZGVuY2llcyBvbiBhcnJheSBlbGVtZW50
cyB3aGVuIHRoZSBhcnJheSBpcyB0b3VjaGVkLCBzaW5jZVxuICogd2UgY2Fubm90IGludGVyY2Vw
dCBhcnJheSBlbGVtZW50IGFjY2VzcyBsaWtlIHByb3BlcnR5IGdldHRlcnMuXG4gKi9cbmZ1bmN0
aW9uIGRlcGVuZEFycmF5ICh2YWx1ZSkge1xuICBmb3IgKHZhciBlID0gKHZvaWQgMCksIGkgPSAw
LCBsID0gdmFsdWUubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgZSA9IHZhbHVlW2ldO1xuICAg
IGUgJiYgZS5fX29iX18gJiYgZS5fX29iX18uZGVwLmRlcGVuZCgpO1xuICAgIGlmIChBcnJheS5p
c0FycmF5KGUpKSB7XG4gICAgICBkZXBlbmRBcnJheShlKTtcbiAgICB9XG4gIH1cbn1cblxuLyog
ICovXG5cbi8qKlxuICogT3B0aW9uIG92ZXJ3cml0aW5nIHN0cmF0ZWdpZXMgYXJlIGZ1bmN0aW9u
cyB0aGF0IGhhbmRsZVxuICogaG93IHRvIG1lcmdlIGEgcGFyZW50IG9wdGlvbiB2YWx1ZSBhbmQg
YSBjaGlsZCBvcHRpb25cbiAqIHZhbHVlIGludG8gdGhlIGZpbmFsIHZhbHVlLlxuICovXG52YXIg
c3RyYXRzID0gY29uZmlnLm9wdGlvbk1lcmdlU3RyYXRlZ2llcztcblxuLyoqXG4gKiBPcHRpb25z
IHdpdGggcmVzdHJpY3Rpb25zXG4gKi9cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3By
b2R1Y3Rpb24nKSB7XG4gIHN0cmF0cy5lbCA9IHN0cmF0cy5wcm9wc0RhdGEgPSBmdW5jdGlvbiAo
cGFyZW50LCBjaGlsZCwgdm0sIGtleSkge1xuICAgIGlmICghdm0pIHtcbiAgICAgIHdhcm4oXG4g
ICAgICAgIFwib3B0aW9uIFxcXCJcIiArIGtleSArIFwiXFxcIiBjYW4gb25seSBiZSB1c2VkIGR1
cmluZyBpbnN0YW5jZSBcIiArXG4gICAgICAgICdjcmVhdGlvbiB3aXRoIHRoZSBgbmV3YCBrZXl3
b3JkLidcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBkZWZhdWx0U3RyYXQocGFyZW50LCBj
aGlsZClcbiAgfTtcbn1cblxuLyoqXG4gKiBIZWxwZXIgdGhhdCByZWN1cnNpdmVseSBtZXJnZXMg
dHdvIGRhdGEgb2JqZWN0cyB0b2dldGhlci5cbiAqL1xuZnVuY3Rpb24gbWVyZ2VEYXRhICh0bywg
ZnJvbSkge1xuICBpZiAoIWZyb20pIHsgcmV0dXJuIHRvIH1cbiAgdmFyIGtleSwgdG9WYWwsIGZy
b21WYWw7XG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZnJvbSk7XG4gIGZvciAodmFyIGkgPSAw
OyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgIGtleSA9IGtleXNbaV07XG4gICAgdG9WYWwg
PSB0b1trZXldO1xuICAgIGZyb21WYWwgPSBmcm9tW2tleV07XG4gICAgaWYgKCFoYXNPd24odG8s
IGtleSkpIHtcbiAgICAgIHNldCh0bywga2V5LCBmcm9tVmFsKTtcbiAgICB9IGVsc2UgaWYgKGlz
UGxhaW5PYmplY3QodG9WYWwpICYmIGlzUGxhaW5PYmplY3QoZnJvbVZhbCkpIHtcbiAgICAgIG1l
cmdlRGF0YSh0b1ZhbCwgZnJvbVZhbCk7XG4gICAgfVxuICB9XG4gIHJldHVybiB0b1xufVxuXG4v
KipcbiAqIERhdGFcbiAqL1xuZnVuY3Rpb24gbWVyZ2VEYXRhT3JGbiAoXG4gIHBhcmVudFZhbCxc
biAgY2hpbGRWYWwsXG4gIHZtXG4pIHtcbiAgaWYgKCF2bSkge1xuICAgIC8vIGluIGEgVnVlLmV4
dGVuZCBtZXJnZSwgYm90aCBzaG91bGQgYmUgZnVuY3Rpb25zXG4gICAgaWYgKCFjaGlsZFZhbCkg
e1xuICAgICAgcmV0dXJuIHBhcmVudFZhbFxuICAgIH1cbiAgICBpZiAoIXBhcmVudFZhbCkge1xu
ICAgICAgcmV0dXJuIGNoaWxkVmFsXG4gICAgfVxuICAgIC8vIHdoZW4gcGFyZW50VmFsICYgY2hp
bGRWYWwgYXJlIGJvdGggcHJlc2VudCxcbiAgICAvLyB3ZSBuZWVkIHRvIHJldHVybiBhIGZ1bmN0
aW9uIHRoYXQgcmV0dXJucyB0aGVcbiAgICAvLyBtZXJnZWQgcmVzdWx0IG9mIGJvdGggZnVuY3Rp
b25zLi4uIG5vIG5lZWQgdG9cbiAgICAvLyBjaGVjayBpZiBwYXJlbnRWYWwgaXMgYSBmdW5jdGlv
biBoZXJlIGJlY2F1c2VcbiAgICAvLyBpdCBoYXMgdG8gYmUgYSBmdW5jdGlvbiB0byBwYXNzIHBy
ZXZpb3VzIG1lcmdlcy5cbiAgICByZXR1cm4gZnVuY3Rpb24gbWVyZ2VkRGF0YUZuICgpIHtcbiAg
ICAgIHJldHVybiBtZXJnZURhdGEoXG4gICAgICAgIHR5cGVvZiBjaGlsZFZhbCA9PT0gJ2Z1bmN0
aW9uJyA/IGNoaWxkVmFsLmNhbGwodGhpcykgOiBjaGlsZFZhbCxcbiAgICAgICAgdHlwZW9mIHBh
cmVudFZhbCA9PT0gJ2Z1bmN0aW9uJyA/IHBhcmVudFZhbC5jYWxsKHRoaXMpIDogcGFyZW50VmFs
XG4gICAgICApXG4gICAgfVxuICB9IGVsc2UgaWYgKHBhcmVudFZhbCB8fCBjaGlsZFZhbCkge1xu
ICAgIHJldHVybiBmdW5jdGlvbiBtZXJnZWRJbnN0YW5jZURhdGFGbiAoKSB7XG4gICAgICAvLyBp
bnN0YW5jZSBtZXJnZVxuICAgICAgdmFyIGluc3RhbmNlRGF0YSA9IHR5cGVvZiBjaGlsZFZhbCA9
PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IGNoaWxkVmFsLmNhbGwodm0pXG4gICAgICAgIDogY2hp
bGRWYWw7XG4gICAgICB2YXIgZGVmYXVsdERhdGEgPSB0eXBlb2YgcGFyZW50VmFsID09PSAnZnVu
Y3Rpb24nXG4gICAgICAgID8gcGFyZW50VmFsLmNhbGwodm0pXG4gICAgICAgIDogdW5kZWZpbmVk
O1xuICAgICAgaWYgKGluc3RhbmNlRGF0YSkge1xuICAgICAgICByZXR1cm4gbWVyZ2VEYXRhKGlu
c3RhbmNlRGF0YSwgZGVmYXVsdERhdGEpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4g
ZGVmYXVsdERhdGFcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuc3RyYXRzLmRhdGEgPSBmdW5j
dGlvbiAoXG4gIHBhcmVudFZhbCxcbiAgY2hpbGRWYWwsXG4gIHZtXG4pIHtcbiAgaWYgKCF2bSkg
e1xuICAgIGlmIChjaGlsZFZhbCAmJiB0eXBlb2YgY2hpbGRWYWwgIT09ICdmdW5jdGlvbicpIHtc
biAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgd2FybihcbiAg
ICAgICAgJ1RoZSBcImRhdGFcIiBvcHRpb24gc2hvdWxkIGJlIGEgZnVuY3Rpb24gJyArXG4gICAg
ICAgICd0aGF0IHJldHVybnMgYSBwZXItaW5zdGFuY2UgdmFsdWUgaW4gY29tcG9uZW50ICcgK1xu
ICAgICAgICAnZGVmaW5pdGlvbnMuJyxcbiAgICAgICAgdm1cbiAgICAgICk7XG5cbiAgICAgIHJl
dHVybiBwYXJlbnRWYWxcbiAgICB9XG4gICAgcmV0dXJuIG1lcmdlRGF0YU9yRm4uY2FsbCh0aGlz
LCBwYXJlbnRWYWwsIGNoaWxkVmFsKVxuICB9XG5cbiAgcmV0dXJuIG1lcmdlRGF0YU9yRm4ocGFy
ZW50VmFsLCBjaGlsZFZhbCwgdm0pXG59O1xuXG4vKipcbiAqIEhvb2tzIGFuZCBwcm9wcyBhcmUg
bWVyZ2VkIGFzIGFycmF5cy5cbiAqL1xuZnVuY3Rpb24gbWVyZ2VIb29rIChcbiAgcGFyZW50VmFs
LFxuICBjaGlsZFZhbFxuKSB7XG4gIHJldHVybiBjaGlsZFZhbFxuICAgID8gcGFyZW50VmFsXG4g
ICAgICA/IHBhcmVudFZhbC5jb25jYXQoY2hpbGRWYWwpXG4gICAgICA6IEFycmF5LmlzQXJyYXko
Y2hpbGRWYWwpXG4gICAgICAgID8gY2hpbGRWYWxcbiAgICAgICAgOiBbY2hpbGRWYWxdXG4gICAg
OiBwYXJlbnRWYWxcbn1cblxuTElGRUNZQ0xFX0hPT0tTLmZvckVhY2goZnVuY3Rpb24gKGhvb2sp
IHtcbiAgc3RyYXRzW2hvb2tdID0gbWVyZ2VIb29rO1xufSk7XG5cbi8qKlxuICogQXNzZXRzXG4g
KlxuICogV2hlbiBhIHZtIGlzIHByZXNlbnQgKGluc3RhbmNlIGNyZWF0aW9uKSwgd2UgbmVlZCB0
byBkb1xuICogYSB0aHJlZS13YXkgbWVyZ2UgYmV0d2VlbiBjb25zdHJ1Y3RvciBvcHRpb25zLCBp
bnN0YW5jZVxuICogb3B0aW9ucyBhbmQgcGFyZW50IG9wdGlvbnMuXG4gKi9cbmZ1bmN0aW9uIG1l
cmdlQXNzZXRzIChwYXJlbnRWYWwsIGNoaWxkVmFsKSB7XG4gIHZhciByZXMgPSBPYmplY3QuY3Jl
YXRlKHBhcmVudFZhbCB8fCBudWxsKTtcbiAgcmV0dXJuIGNoaWxkVmFsXG4gICAgPyBleHRlbmQo
cmVzLCBjaGlsZFZhbClcbiAgICA6IHJlc1xufVxuXG5BU1NFVF9UWVBFUy5mb3JFYWNoKGZ1bmN0
aW9uICh0eXBlKSB7XG4gIHN0cmF0c1t0eXBlICsgJ3MnXSA9IG1lcmdlQXNzZXRzO1xufSk7XG5c
bi8qKlxuICogV2F0Y2hlcnMuXG4gKlxuICogV2F0Y2hlcnMgaGFzaGVzIHNob3VsZCBub3Qgb3Zl
cndyaXRlIG9uZVxuICogYW5vdGhlciwgc28gd2UgbWVyZ2UgdGhlbSBhcyBhcnJheXMuXG4gKi9c
bnN0cmF0cy53YXRjaCA9IGZ1bmN0aW9uIChwYXJlbnRWYWwsIGNoaWxkVmFsKSB7XG4gIC8vIHdv
cmsgYXJvdW5kIEZpcmVmb3gncyBPYmplY3QucHJvdG90eXBlLndhdGNoLi4uXG4gIGlmIChwYXJl
bnRWYWwgPT09IG5hdGl2ZVdhdGNoKSB7IHBhcmVudFZhbCA9IHVuZGVmaW5lZDsgfVxuICBpZiAo
Y2hpbGRWYWwgPT09IG5hdGl2ZVdhdGNoKSB7IGNoaWxkVmFsID0gdW5kZWZpbmVkOyB9XG4gIC8q
IGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoIWNoaWxkVmFsKSB7IHJldHVybiBPYmplY3Qu
Y3JlYXRlKHBhcmVudFZhbCB8fCBudWxsKSB9XG4gIGlmICghcGFyZW50VmFsKSB7IHJldHVybiBj
aGlsZFZhbCB9XG4gIHZhciByZXQgPSB7fTtcbiAgZXh0ZW5kKHJldCwgcGFyZW50VmFsKTtcbiAg
Zm9yICh2YXIga2V5IGluIGNoaWxkVmFsKSB7XG4gICAgdmFyIHBhcmVudCA9IHJldFtrZXldO1xu
ICAgIHZhciBjaGlsZCA9IGNoaWxkVmFsW2tleV07XG4gICAgaWYgKHBhcmVudCAmJiAhQXJyYXku
aXNBcnJheShwYXJlbnQpKSB7XG4gICAgICBwYXJlbnQgPSBbcGFyZW50XTtcbiAgICB9XG4gICAg
cmV0W2tleV0gPSBwYXJlbnRcbiAgICAgID8gcGFyZW50LmNvbmNhdChjaGlsZClcbiAgICAgIDog
QXJyYXkuaXNBcnJheShjaGlsZCkgPyBjaGlsZCA6IFtjaGlsZF07XG4gIH1cbiAgcmV0dXJuIHJl
dFxufTtcblxuLyoqXG4gKiBPdGhlciBvYmplY3QgaGFzaGVzLlxuICovXG5zdHJhdHMucHJvcHMg
PVxuc3RyYXRzLm1ldGhvZHMgPVxuc3RyYXRzLmluamVjdCA9XG5zdHJhdHMuY29tcHV0ZWQgPSBm
dW5jdGlvbiAocGFyZW50VmFsLCBjaGlsZFZhbCkge1xuICBpZiAoIXBhcmVudFZhbCkgeyByZXR1
cm4gY2hpbGRWYWwgfVxuICB2YXIgcmV0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgZXh0ZW5k
KHJldCwgcGFyZW50VmFsKTtcbiAgaWYgKGNoaWxkVmFsKSB7IGV4dGVuZChyZXQsIGNoaWxkVmFs
KTsgfVxuICByZXR1cm4gcmV0XG59O1xuc3RyYXRzLnByb3ZpZGUgPSBtZXJnZURhdGFPckZuO1xu
XG4vKipcbiAqIERlZmF1bHQgc3RyYXRlZ3kuXG4gKi9cbnZhciBkZWZhdWx0U3RyYXQgPSBmdW5j
dGlvbiAocGFyZW50VmFsLCBjaGlsZFZhbCkge1xuICByZXR1cm4gY2hpbGRWYWwgPT09IHVuZGVm
aW5lZFxuICAgID8gcGFyZW50VmFsXG4gICAgOiBjaGlsZFZhbFxufTtcblxuLyoqXG4gKiBWYWxp
ZGF0ZSBjb21wb25lbnQgbmFtZXNcbiAqL1xuZnVuY3Rpb24gY2hlY2tDb21wb25lbnRzIChvcHRp
b25zKSB7XG4gIGZvciAodmFyIGtleSBpbiBvcHRpb25zLmNvbXBvbmVudHMpIHtcbiAgICB2YXIg
bG93ZXIgPSBrZXkudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoaXNCdWlsdEluVGFnKGxvd2VyKSB8
fCBjb25maWcuaXNSZXNlcnZlZFRhZyhsb3dlcikpIHtcbiAgICAgIHdhcm4oXG4gICAgICAgICdE
byBub3QgdXNlIGJ1aWx0LWluIG9yIHJlc2VydmVkIEhUTUwgZWxlbWVudHMgYXMgY29tcG9uZW50
ICcgK1xuICAgICAgICAnaWQ6ICcgKyBrZXlcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbi8q
KlxuICogRW5zdXJlIGFsbCBwcm9wcyBvcHRpb24gc3ludGF4IGFyZSBub3JtYWxpemVkIGludG8g
dGhlXG4gKiBPYmplY3QtYmFzZWQgZm9ybWF0LlxuICovXG5mdW5jdGlvbiBub3JtYWxpemVQcm9w
cyAob3B0aW9ucykge1xuICB2YXIgcHJvcHMgPSBvcHRpb25zLnByb3BzO1xuICBpZiAoIXByb3Bz
KSB7IHJldHVybiB9XG4gIHZhciByZXMgPSB7fTtcbiAgdmFyIGksIHZhbCwgbmFtZTtcbiAgaWYg
KEFycmF5LmlzQXJyYXkocHJvcHMpKSB7XG4gICAgaSA9IHByb3BzLmxlbmd0aDtcbiAgICB3aGls
ZSAoaS0tKSB7XG4gICAgICB2YWwgPSBwcm9wc1tpXTtcbiAgICAgIGlmICh0eXBlb2YgdmFsID09
PSAnc3RyaW5nJykge1xuICAgICAgICBuYW1lID0gY2FtZWxpemUodmFsKTtcbiAgICAgICAgcmVz
W25hbWVdID0geyB0eXBlOiBudWxsIH07XG4gICAgICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5P
REVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgd2FybigncHJvcHMgbXVzdCBiZSBz
dHJpbmdzIHdoZW4gdXNpbmcgYXJyYXkgc3ludGF4LicpO1xuICAgICAgfVxuICAgIH1cbiAgfSBl
bHNlIGlmIChpc1BsYWluT2JqZWN0KHByb3BzKSkge1xuICAgIGZvciAodmFyIGtleSBpbiBwcm9w
cykge1xuICAgICAgdmFsID0gcHJvcHNba2V5XTtcbiAgICAgIG5hbWUgPSBjYW1lbGl6ZShrZXkp
O1xuICAgICAgcmVzW25hbWVdID0gaXNQbGFpbk9iamVjdCh2YWwpXG4gICAgICAgID8gdmFsXG4g
ICAgICAgIDogeyB0eXBlOiB2YWwgfTtcbiAgICB9XG4gIH1cbiAgb3B0aW9ucy5wcm9wcyA9IHJl
cztcbn1cblxuLyoqXG4gKiBOb3JtYWxpemUgYWxsIGluamVjdGlvbnMgaW50byBPYmplY3QtYmFz
ZWQgZm9ybWF0XG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZUluamVjdCAob3B0aW9ucykge1xuICB2
YXIgaW5qZWN0ID0gb3B0aW9ucy5pbmplY3Q7XG4gIGlmIChBcnJheS5pc0FycmF5KGluamVjdCkp
IHtcbiAgICB2YXIgbm9ybWFsaXplZCA9IG9wdGlvbnMuaW5qZWN0ID0ge307XG4gICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBpbmplY3QubGVuZ3RoOyBpKyspIHtcbiAgICAgIG5vcm1hbGl6ZWRbaW5q
ZWN0W2ldXSA9IGluamVjdFtpXTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBOb3JtYWxpemUg
cmF3IGZ1bmN0aW9uIGRpcmVjdGl2ZXMgaW50byBvYmplY3QgZm9ybWF0LlxuICovXG5mdW5jdGlv
biBub3JtYWxpemVEaXJlY3RpdmVzIChvcHRpb25zKSB7XG4gIHZhciBkaXJzID0gb3B0aW9ucy5k
aXJlY3RpdmVzO1xuICBpZiAoZGlycykge1xuICAgIGZvciAodmFyIGtleSBpbiBkaXJzKSB7XG4g
ICAgICB2YXIgZGVmID0gZGlyc1trZXldO1xuICAgICAgaWYgKHR5cGVvZiBkZWYgPT09ICdmdW5j
dGlvbicpIHtcbiAgICAgICAgZGlyc1trZXldID0geyBiaW5kOiBkZWYsIHVwZGF0ZTogZGVmIH07
XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogTWVyZ2UgdHdvIG9wdGlvbiBvYmpl
Y3RzIGludG8gYSBuZXcgb25lLlxuICogQ29yZSB1dGlsaXR5IHVzZWQgaW4gYm90aCBpbnN0YW50
aWF0aW9uIGFuZCBpbmhlcml0YW5jZS5cbiAqL1xuZnVuY3Rpb24gbWVyZ2VPcHRpb25zIChcbiAg
cGFyZW50LFxuICBjaGlsZCxcbiAgdm1cbikge1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYg
IT09ICdwcm9kdWN0aW9uJykge1xuICAgIGNoZWNrQ29tcG9uZW50cyhjaGlsZCk7XG4gIH1cblxu
ICBpZiAodHlwZW9mIGNoaWxkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY2hpbGQgPSBjaGlsZC5v
cHRpb25zO1xuICB9XG5cbiAgbm9ybWFsaXplUHJvcHMoY2hpbGQpO1xuICBub3JtYWxpemVJbmpl
Y3QoY2hpbGQpO1xuICBub3JtYWxpemVEaXJlY3RpdmVzKGNoaWxkKTtcbiAgdmFyIGV4dGVuZHNG
cm9tID0gY2hpbGQuZXh0ZW5kcztcbiAgaWYgKGV4dGVuZHNGcm9tKSB7XG4gICAgcGFyZW50ID0g
bWVyZ2VPcHRpb25zKHBhcmVudCwgZXh0ZW5kc0Zyb20sIHZtKTtcbiAgfVxuICBpZiAoY2hpbGQu
bWl4aW5zKSB7XG4gICAgZm9yICh2YXIgaSA9IDAsIGwgPSBjaGlsZC5taXhpbnMubGVuZ3RoOyBp
IDwgbDsgaSsrKSB7XG4gICAgICBwYXJlbnQgPSBtZXJnZU9wdGlvbnMocGFyZW50LCBjaGlsZC5t
aXhpbnNbaV0sIHZtKTtcbiAgICB9XG4gIH1cbiAgdmFyIG9wdGlvbnMgPSB7fTtcbiAgdmFyIGtl
eTtcbiAgZm9yIChrZXkgaW4gcGFyZW50KSB7XG4gICAgbWVyZ2VGaWVsZChrZXkpO1xuICB9XG4g
IGZvciAoa2V5IGluIGNoaWxkKSB7XG4gICAgaWYgKCFoYXNPd24ocGFyZW50LCBrZXkpKSB7XG4g
ICAgICBtZXJnZUZpZWxkKGtleSk7XG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIG1lcmdlRmllbGQg
KGtleSkge1xuICAgIHZhciBzdHJhdCA9IHN0cmF0c1trZXldIHx8IGRlZmF1bHRTdHJhdDtcbiAg
ICBvcHRpb25zW2tleV0gPSBzdHJhdChwYXJlbnRba2V5XSwgY2hpbGRba2V5XSwgdm0sIGtleSk7
XG4gIH1cbiAgcmV0dXJuIG9wdGlvbnNcbn1cblxuLyoqXG4gKiBSZXNvbHZlIGFuIGFzc2V0Llxu
ICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGJlY2F1c2UgY2hpbGQgaW5zdGFuY2VzIG5lZWQgYWNj
ZXNzXG4gKiB0byBhc3NldHMgZGVmaW5lZCBpbiBpdHMgYW5jZXN0b3IgY2hhaW4uXG4gKi9cbmZ1
bmN0aW9uIHJlc29sdmVBc3NldCAoXG4gIG9wdGlvbnMsXG4gIHR5cGUsXG4gIGlkLFxuICB3YXJu
TWlzc2luZ1xuKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAodHlwZW9mIGlk
ICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVyblxuICB9XG4gIHZhciBhc3NldHMgPSBvcHRpb25z
W3R5cGVdO1xuICAvLyBjaGVjayBsb2NhbCByZWdpc3RyYXRpb24gdmFyaWF0aW9ucyBmaXJzdFxu
ICBpZiAoaGFzT3duKGFzc2V0cywgaWQpKSB7IHJldHVybiBhc3NldHNbaWRdIH1cbiAgdmFyIGNh
bWVsaXplZElkID0gY2FtZWxpemUoaWQpO1xuICBpZiAoaGFzT3duKGFzc2V0cywgY2FtZWxpemVk
SWQpKSB7IHJldHVybiBhc3NldHNbY2FtZWxpemVkSWRdIH1cbiAgdmFyIFBhc2NhbENhc2VJZCA9
IGNhcGl0YWxpemUoY2FtZWxpemVkSWQpO1xuICBpZiAoaGFzT3duKGFzc2V0cywgUGFzY2FsQ2Fz
ZUlkKSkgeyByZXR1cm4gYXNzZXRzW1Bhc2NhbENhc2VJZF0gfVxuICAvLyBmYWxsYmFjayB0byBw
cm90b3R5cGUgY2hhaW5cbiAgdmFyIHJlcyA9IGFzc2V0c1tpZF0gfHwgYXNzZXRzW2NhbWVsaXpl
ZElkXSB8fCBhc3NldHNbUGFzY2FsQ2FzZUlkXTtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5W
ICE9PSAncHJvZHVjdGlvbicgJiYgd2Fybk1pc3NpbmcgJiYgIXJlcykge1xuICAgIHdhcm4oXG4g
ICAgICAnRmFpbGVkIHRvIHJlc29sdmUgJyArIHR5cGUuc2xpY2UoMCwgLTEpICsgJzogJyArIGlk
LFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG4vKiAgKi9c
blxuZnVuY3Rpb24gdmFsaWRhdGVQcm9wIChcbiAga2V5LFxuICBwcm9wT3B0aW9ucyxcbiAgcHJv
cHNEYXRhLFxuICB2bVxuKSB7XG4gIHZhciBwcm9wID0gcHJvcE9wdGlvbnNba2V5XTtcbiAgdmFy
IGFic2VudCA9ICFoYXNPd24ocHJvcHNEYXRhLCBrZXkpO1xuICB2YXIgdmFsdWUgPSBwcm9wc0Rh
dGFba2V5XTtcbiAgLy8gaGFuZGxlIGJvb2xlYW4gcHJvcHNcbiAgaWYgKGlzVHlwZShCb29sZWFu
LCBwcm9wLnR5cGUpKSB7XG4gICAgaWYgKGFic2VudCAmJiAhaGFzT3duKHByb3AsICdkZWZhdWx0
JykpIHtcbiAgICAgIHZhbHVlID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmICghaXNUeXBlKFN0cmlu
ZywgcHJvcC50eXBlKSAmJiAodmFsdWUgPT09ICcnIHx8IHZhbHVlID09PSBoeXBoZW5hdGUoa2V5
KSkpIHtcbiAgICAgIHZhbHVlID0gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgLy8gY2hlY2sgZGVmYXVs
dCB2YWx1ZVxuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHZhbHVlID0gZ2V0UHJv
cERlZmF1bHRWYWx1ZSh2bSwgcHJvcCwga2V5KTtcbiAgICAvLyBzaW5jZSB0aGUgZGVmYXVsdCB2
YWx1ZSBpcyBhIGZyZXNoIGNvcHksXG4gICAgLy8gbWFrZSBzdXJlIHRvIG9ic2VydmUgaXQuXG4g
ICAgdmFyIHByZXZTaG91bGRDb252ZXJ0ID0gb2JzZXJ2ZXJTdGF0ZS5zaG91bGRDb252ZXJ0O1xu
ICAgIG9ic2VydmVyU3RhdGUuc2hvdWxkQ29udmVydCA9IHRydWU7XG4gICAgb2JzZXJ2ZSh2YWx1
ZSk7XG4gICAgb2JzZXJ2ZXJTdGF0ZS5zaG91bGRDb252ZXJ0ID0gcHJldlNob3VsZENvbnZlcnQ7
XG4gIH1cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAg
ICBhc3NlcnRQcm9wKHByb3AsIGtleSwgdmFsdWUsIHZtLCBhYnNlbnQpO1xuICB9XG4gIHJldHVy
biB2YWx1ZVxufVxuXG4vKipcbiAqIEdldCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiBhIHByb3AuXG4g
Ki9cbmZ1bmN0aW9uIGdldFByb3BEZWZhdWx0VmFsdWUgKHZtLCBwcm9wLCBrZXkpIHtcbiAgLy8g
bm8gZGVmYXVsdCwgcmV0dXJuIHVuZGVmaW5lZFxuICBpZiAoIWhhc093bihwcm9wLCAnZGVmYXVs
dCcpKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG4gIHZhciBkZWYgPSBwcm9wLmRlZmF1
bHQ7XG4gIC8vIHdhcm4gYWdhaW5zdCBub24tZmFjdG9yeSBkZWZhdWx0cyBmb3IgT2JqZWN0ICYg
QXJyYXlcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgaXNP
YmplY3QoZGVmKSkge1xuICAgIHdhcm4oXG4gICAgICAnSW52YWxpZCBkZWZhdWx0IHZhbHVlIGZv
ciBwcm9wIFwiJyArIGtleSArICdcIjogJyArXG4gICAgICAnUHJvcHMgd2l0aCB0eXBlIE9iamVj
dC9BcnJheSBtdXN0IHVzZSBhIGZhY3RvcnkgZnVuY3Rpb24gJyArXG4gICAgICAndG8gcmV0dXJu
IHRoZSBkZWZhdWx0IHZhbHVlLicsXG4gICAgICB2bVxuICAgICk7XG4gIH1cbiAgLy8gdGhlIHJh
dyBwcm9wIHZhbHVlIHdhcyBhbHNvIHVuZGVmaW5lZCBmcm9tIHByZXZpb3VzIHJlbmRlcixcbiAg
Ly8gcmV0dXJuIHByZXZpb3VzIGRlZmF1bHQgdmFsdWUgdG8gYXZvaWQgdW5uZWNlc3Nhcnkgd2F0
Y2hlciB0cmlnZ2VyXG4gIGlmICh2bSAmJiB2bS4kb3B0aW9ucy5wcm9wc0RhdGEgJiZcbiAgICB2
bS4kb3B0aW9ucy5wcm9wc0RhdGFba2V5XSA9PT0gdW5kZWZpbmVkICYmXG4gICAgdm0uX3Byb3Bz
W2tleV0gIT09IHVuZGVmaW5lZFxuICApIHtcbiAgICByZXR1cm4gdm0uX3Byb3BzW2tleV1cbiAg
fVxuICAvLyBjYWxsIGZhY3RvcnkgZnVuY3Rpb24gZm9yIG5vbi1GdW5jdGlvbiB0eXBlc1xuICAv
LyBhIHZhbHVlIGlzIEZ1bmN0aW9uIGlmIGl0cyBwcm90b3R5cGUgaXMgZnVuY3Rpb24gZXZlbiBh
Y3Jvc3MgZGlmZmVyZW50IGV4ZWN1dGlvbiBjb250ZXh0XG4gIHJldHVybiB0eXBlb2YgZGVmID09
PSAnZnVuY3Rpb24nICYmIGdldFR5cGUocHJvcC50eXBlKSAhPT0gJ0Z1bmN0aW9uJ1xuICAgID8g
ZGVmLmNhbGwodm0pXG4gICAgOiBkZWZcbn1cblxuLyoqXG4gKiBBc3NlcnQgd2hldGhlciBhIHBy
b3AgaXMgdmFsaWQuXG4gKi9cbmZ1bmN0aW9uIGFzc2VydFByb3AgKFxuICBwcm9wLFxuICBuYW1l
LFxuICB2YWx1ZSxcbiAgdm0sXG4gIGFic2VudFxuKSB7XG4gIGlmIChwcm9wLnJlcXVpcmVkICYm
IGFic2VudCkge1xuICAgIHdhcm4oXG4gICAgICAnTWlzc2luZyByZXF1aXJlZCBwcm9wOiBcIicg
KyBuYW1lICsgJ1wiJyxcbiAgICAgIHZtXG4gICAgKTtcbiAgICByZXR1cm5cbiAgfVxuICBpZiAo
dmFsdWUgPT0gbnVsbCAmJiAhcHJvcC5yZXF1aXJlZCkge1xuICAgIHJldHVyblxuICB9XG4gIHZh
ciB0eXBlID0gcHJvcC50eXBlO1xuICB2YXIgdmFsaWQgPSAhdHlwZSB8fCB0eXBlID09PSB0cnVl
O1xuICB2YXIgZXhwZWN0ZWRUeXBlcyA9IFtdO1xuICBpZiAodHlwZSkge1xuICAgIGlmICghQXJy
YXkuaXNBcnJheSh0eXBlKSkge1xuICAgICAgdHlwZSA9IFt0eXBlXTtcbiAgICB9XG4gICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCB0eXBlLmxlbmd0aCAmJiAhdmFsaWQ7IGkrKykge1xuICAgICAgdmFy
IGFzc2VydGVkVHlwZSA9IGFzc2VydFR5cGUodmFsdWUsIHR5cGVbaV0pO1xuICAgICAgZXhwZWN0
ZWRUeXBlcy5wdXNoKGFzc2VydGVkVHlwZS5leHBlY3RlZFR5cGUgfHwgJycpO1xuICAgICAgdmFs
aWQgPSBhc3NlcnRlZFR5cGUudmFsaWQ7XG4gICAgfVxuICB9XG4gIGlmICghdmFsaWQpIHtcbiAg
ICB3YXJuKFxuICAgICAgJ0ludmFsaWQgcHJvcDogdHlwZSBjaGVjayBmYWlsZWQgZm9yIHByb3Ag
XCInICsgbmFtZSArICdcIi4nICtcbiAgICAgICcgRXhwZWN0ZWQgJyArIGV4cGVjdGVkVHlwZXMu
bWFwKGNhcGl0YWxpemUpLmpvaW4oJywgJykgK1xuICAgICAgJywgZ290ICcgKyBPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpLnNsaWNlKDgsIC0xKSArICcuJyxcbiAgICAgIHZt
XG4gICAgKTtcbiAgICByZXR1cm5cbiAgfVxuICB2YXIgdmFsaWRhdG9yID0gcHJvcC52YWxpZGF0
b3I7XG4gIGlmICh2YWxpZGF0b3IpIHtcbiAgICBpZiAoIXZhbGlkYXRvcih2YWx1ZSkpIHtcbiAg
ICAgIHdhcm4oXG4gICAgICAgICdJbnZhbGlkIHByb3A6IGN1c3RvbSB2YWxpZGF0b3IgY2hlY2sg
ZmFpbGVkIGZvciBwcm9wIFwiJyArIG5hbWUgKyAnXCIuJyxcbiAgICAgICAgdm1cbiAgICAgICk7
XG4gICAgfVxuICB9XG59XG5cbnZhciBzaW1wbGVDaGVja1JFID0gL14oU3RyaW5nfE51bWJlcnxC
b29sZWFufEZ1bmN0aW9ufFN5bWJvbCkkLztcblxuZnVuY3Rpb24gYXNzZXJ0VHlwZSAodmFsdWUs
IHR5cGUpIHtcbiAgdmFyIHZhbGlkO1xuICB2YXIgZXhwZWN0ZWRUeXBlID0gZ2V0VHlwZSh0eXBl
KTtcbiAgaWYgKHNpbXBsZUNoZWNrUkUudGVzdChleHBlY3RlZFR5cGUpKSB7XG4gICAgdmFsaWQg
PSB0eXBlb2YgdmFsdWUgPT09IGV4cGVjdGVkVHlwZS50b0xvd2VyQ2FzZSgpO1xuICB9IGVsc2Ug
aWYgKGV4cGVjdGVkVHlwZSA9PT0gJ09iamVjdCcpIHtcbiAgICB2YWxpZCA9IGlzUGxhaW5PYmpl
Y3QodmFsdWUpO1xuICB9IGVsc2UgaWYgKGV4cGVjdGVkVHlwZSA9PT0gJ0FycmF5Jykge1xuICAg
IHZhbGlkID0gQXJyYXkuaXNBcnJheSh2YWx1ZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFsaWQgPSB2
YWx1ZSBpbnN0YW5jZW9mIHR5cGU7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB2YWxpZDogdmFsaWQs
XG4gICAgZXhwZWN0ZWRUeXBlOiBleHBlY3RlZFR5cGVcbiAgfVxufVxuXG4vKipcbiAqIFVzZSBm
dW5jdGlvbiBzdHJpbmcgbmFtZSB0byBjaGVjayBidWlsdC1pbiB0eXBlcyxcbiAqIGJlY2F1c2Ug
YSBzaW1wbGUgZXF1YWxpdHkgY2hlY2sgd2lsbCBmYWlsIHdoZW4gcnVubmluZ1xuICogYWNyb3Nz
IGRpZmZlcmVudCB2bXMgLyBpZnJhbWVzLlxuICovXG5mdW5jdGlvbiBnZXRUeXBlIChmbikge1xu
ICB2YXIgbWF0Y2ggPSBmbiAmJiBmbi50b1N0cmluZygpLm1hdGNoKC9eXFxzKmZ1bmN0aW9uIChc
XHcrKS8pO1xuICByZXR1cm4gbWF0Y2ggPyBtYXRjaFsxXSA6ICcnXG59XG5cbmZ1bmN0aW9uIGlz
VHlwZSAodHlwZSwgZm4pIHtcbiAgaWYgKCFBcnJheS5pc0FycmF5KGZuKSkge1xuICAgIHJldHVy
biBnZXRUeXBlKGZuKSA9PT0gZ2V0VHlwZSh0eXBlKVxuICB9XG4gIGZvciAodmFyIGkgPSAwLCBs
ZW4gPSBmbi5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIGlmIChnZXRUeXBlKGZuW2ldKSA9
PT0gZ2V0VHlwZSh0eXBlKSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH1cbiAgLyog
aXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcmV0dXJuIGZhbHNlXG59XG5cbi8qICAqL1xuXG52
YXIgbWFyaztcbnZhciBtZWFzdXJlO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdw
cm9kdWN0aW9uJykge1xuICB2YXIgcGVyZiA9IGluQnJvd3NlciAmJiB3aW5kb3cucGVyZm9ybWFu
Y2U7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoXG4gICAgcGVyZiAmJlxuICAg
IHBlcmYubWFyayAmJlxuICAgIHBlcmYubWVhc3VyZSAmJlxuICAgIHBlcmYuY2xlYXJNYXJrcyAm
JlxuICAgIHBlcmYuY2xlYXJNZWFzdXJlc1xuICApIHtcbiAgICBtYXJrID0gZnVuY3Rpb24gKHRh
ZykgeyByZXR1cm4gcGVyZi5tYXJrKHRhZyk7IH07XG4gICAgbWVhc3VyZSA9IGZ1bmN0aW9uIChu
YW1lLCBzdGFydFRhZywgZW5kVGFnKSB7XG4gICAgICBwZXJmLm1lYXN1cmUobmFtZSwgc3RhcnRU
YWcsIGVuZFRhZyk7XG4gICAgICBwZXJmLmNsZWFyTWFya3Moc3RhcnRUYWcpO1xuICAgICAgcGVy
Zi5jbGVhck1hcmtzKGVuZFRhZyk7XG4gICAgICBwZXJmLmNsZWFyTWVhc3VyZXMobmFtZSk7XG4g
ICAgfTtcbiAgfVxufVxuXG4vKiBub3QgdHlwZSBjaGVja2luZyB0aGlzIGZpbGUgYmVjYXVzZSBm
bG93IGRvZXNuJ3QgcGxheSB3ZWxsIHdpdGggUHJveHkgKi9cblxudmFyIGluaXRQcm94eTtcblxu
aWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgdmFyIGFsbG93
ZWRHbG9iYWxzID0gbWFrZU1hcChcbiAgICAnSW5maW5pdHksdW5kZWZpbmVkLE5hTixpc0Zpbml0
ZSxpc05hTiwnICtcbiAgICAncGFyc2VGbG9hdCxwYXJzZUludCxkZWNvZGVVUkksZGVjb2RlVVJJ
Q29tcG9uZW50LGVuY29kZVVSSSxlbmNvZGVVUklDb21wb25lbnQsJyArXG4gICAgJ01hdGgsTnVt
YmVyLERhdGUsQXJyYXksT2JqZWN0LEJvb2xlYW4sU3RyaW5nLFJlZ0V4cCxNYXAsU2V0LEpTT04s
SW50bCwnICtcbiAgICAncmVxdWlyZScgLy8gZm9yIFdlYnBhY2svQnJvd3NlcmlmeVxuICApO1xu
XG4gIHZhciB3YXJuTm9uUHJlc2VudCA9IGZ1bmN0aW9uICh0YXJnZXQsIGtleSkge1xuICAgIHdh
cm4oXG4gICAgICBcIlByb3BlcnR5IG9yIG1ldGhvZCBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgaXMg
bm90IGRlZmluZWQgb24gdGhlIGluc3RhbmNlIGJ1dCBcIiArXG4gICAgICBcInJlZmVyZW5jZWQg
ZHVyaW5nIHJlbmRlci4gTWFrZSBzdXJlIHRvIGRlY2xhcmUgcmVhY3RpdmUgZGF0YSBcIiArXG4g
ICAgICBcInByb3BlcnRpZXMgaW4gdGhlIGRhdGEgb3B0aW9uLlwiLFxuICAgICAgdGFyZ2V0XG4g
ICAgKTtcbiAgfTtcblxuICB2YXIgaGFzUHJveHkgPVxuICAgIHR5cGVvZiBQcm94eSAhPT0gJ3Vu
ZGVmaW5lZCcgJiZcbiAgICBQcm94eS50b1N0cmluZygpLm1hdGNoKC9uYXRpdmUgY29kZS8pO1xu
XG4gIGlmIChoYXNQcm94eSkge1xuICAgIHZhciBpc0J1aWx0SW5Nb2RpZmllciA9IG1ha2VNYXAo
J3N0b3AscHJldmVudCxzZWxmLGN0cmwsc2hpZnQsYWx0LG1ldGEnKTtcbiAgICBjb25maWcua2V5
Q29kZXMgPSBuZXcgUHJveHkoY29uZmlnLmtleUNvZGVzLCB7XG4gICAgICBzZXQ6IGZ1bmN0aW9u
IHNldCAodGFyZ2V0LCBrZXksIHZhbHVlKSB7XG4gICAgICAgIGlmIChpc0J1aWx0SW5Nb2RpZmll
cihrZXkpKSB7XG4gICAgICAgICAgd2FybigoXCJBdm9pZCBvdmVyd3JpdGluZyBidWlsdC1pbiBt
b2RpZmllciBpbiBjb25maWcua2V5Q29kZXM6IC5cIiArIGtleSkpO1xuICAgICAgICAgIHJldHVy
biBmYWxzZVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhcmdldFtrZXldID0gdmFsdWU7
XG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9
XG5cbiAgdmFyIGhhc0hhbmRsZXIgPSB7XG4gICAgaGFzOiBmdW5jdGlvbiBoYXMgKHRhcmdldCwg
a2V5KSB7XG4gICAgICB2YXIgaGFzID0ga2V5IGluIHRhcmdldDtcbiAgICAgIHZhciBpc0FsbG93
ZWQgPSBhbGxvd2VkR2xvYmFscyhrZXkpIHx8IGtleS5jaGFyQXQoMCkgPT09ICdfJztcbiAgICAg
IGlmICghaGFzICYmICFpc0FsbG93ZWQpIHtcbiAgICAgICAgd2Fybk5vblByZXNlbnQodGFyZ2V0
LCBrZXkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGhhcyB8fCAhaXNBbGxvd2VkXG4gICAgfVxu
ICB9O1xuXG4gIHZhciBnZXRIYW5kbGVyID0ge1xuICAgIGdldDogZnVuY3Rpb24gZ2V0ICh0YXJn
ZXQsIGtleSkge1xuICAgICAgaWYgKHR5cGVvZiBrZXkgPT09ICdzdHJpbmcnICYmICEoa2V5IGlu
IHRhcmdldCkpIHtcbiAgICAgICAgd2Fybk5vblByZXNlbnQodGFyZ2V0LCBrZXkpO1xuICAgICAg
fVxuICAgICAgcmV0dXJuIHRhcmdldFtrZXldXG4gICAgfVxuICB9O1xuXG4gIGluaXRQcm94eSA9
IGZ1bmN0aW9uIGluaXRQcm94eSAodm0pIHtcbiAgICBpZiAoaGFzUHJveHkpIHtcbiAgICAgIC8v
IGRldGVybWluZSB3aGljaCBwcm94eSBoYW5kbGVyIHRvIHVzZVxuICAgICAgdmFyIG9wdGlvbnMg
PSB2bS4kb3B0aW9ucztcbiAgICAgIHZhciBoYW5kbGVycyA9IG9wdGlvbnMucmVuZGVyICYmIG9w
dGlvbnMucmVuZGVyLl93aXRoU3RyaXBwZWRcbiAgICAgICAgPyBnZXRIYW5kbGVyXG4gICAgICAg
IDogaGFzSGFuZGxlcjtcbiAgICAgIHZtLl9yZW5kZXJQcm94eSA9IG5ldyBQcm94eSh2bSwgaGFu
ZGxlcnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2bS5fcmVuZGVyUHJveHkgPSB2bTtcbiAgICB9
XG4gIH07XG59XG5cbi8qICAqL1xuXG52YXIgVk5vZGUgPSBmdW5jdGlvbiBWTm9kZSAoXG4gIHRh
ZyxcbiAgZGF0YSxcbiAgY2hpbGRyZW4sXG4gIHRleHQsXG4gIGVsbSxcbiAgY29udGV4dCxcbiAg
Y29tcG9uZW50T3B0aW9ucyxcbiAgYXN5bmNGYWN0b3J5XG4pIHtcbiAgdGhpcy50YWcgPSB0YWc7
XG4gIHRoaXMuZGF0YSA9IGRhdGE7XG4gIHRoaXMuY2hpbGRyZW4gPSBjaGlsZHJlbjtcbiAgdGhp
cy50ZXh0ID0gdGV4dDtcbiAgdGhpcy5lbG0gPSBlbG07XG4gIHRoaXMubnMgPSB1bmRlZmluZWQ7
XG4gIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7XG4gIHRoaXMuZnVuY3Rpb25hbENvbnRleHQgPSB1
bmRlZmluZWQ7XG4gIHRoaXMua2V5ID0gZGF0YSAmJiBkYXRhLmtleTtcbiAgdGhpcy5jb21wb25l
bnRPcHRpb25zID0gY29tcG9uZW50T3B0aW9ucztcbiAgdGhpcy5jb21wb25lbnRJbnN0YW5jZSA9
IHVuZGVmaW5lZDtcbiAgdGhpcy5wYXJlbnQgPSB1bmRlZmluZWQ7XG4gIHRoaXMucmF3ID0gZmFs
c2U7XG4gIHRoaXMuaXNTdGF0aWMgPSBmYWxzZTtcbiAgdGhpcy5pc1Jvb3RJbnNlcnQgPSB0cnVl
O1xuICB0aGlzLmlzQ29tbWVudCA9IGZhbHNlO1xuICB0aGlzLmlzQ2xvbmVkID0gZmFsc2U7XG4g
IHRoaXMuaXNPbmNlID0gZmFsc2U7XG4gIHRoaXMuYXN5bmNGYWN0b3J5ID0gYXN5bmNGYWN0b3J5
O1xuICB0aGlzLmFzeW5jTWV0YSA9IHVuZGVmaW5lZDtcbiAgdGhpcy5pc0FzeW5jUGxhY2Vob2xk
ZXIgPSBmYWxzZTtcbn07XG5cbnZhciBwcm90b3R5cGVBY2Nlc3NvcnMgPSB7IGNoaWxkOiB7fSB9
O1xuXG4vLyBERVBSRUNBVEVEOiBhbGlhcyBmb3IgY29tcG9uZW50SW5zdGFuY2UgZm9yIGJhY2t3
YXJkcyBjb21wYXQuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xucHJvdG90eXBlQWNjZXNz
b3JzLmNoaWxkLmdldCA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHRoaXMuY29tcG9uZW50SW5z
dGFuY2Vcbn07XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKCBWTm9kZS5wcm90b3R5cGUsIHBy
b3RvdHlwZUFjY2Vzc29ycyApO1xuXG52YXIgY3JlYXRlRW1wdHlWTm9kZSA9IGZ1bmN0aW9uICh0
ZXh0KSB7XG4gIGlmICggdGV4dCA9PT0gdm9pZCAwICkgdGV4dCA9ICcnO1xuXG4gIHZhciBub2Rl
ID0gbmV3IFZOb2RlKCk7XG4gIG5vZGUudGV4dCA9IHRleHQ7XG4gIG5vZGUuaXNDb21tZW50ID0g
dHJ1ZTtcbiAgcmV0dXJuIG5vZGVcbn07XG5cbmZ1bmN0aW9uIGNyZWF0ZVRleHRWTm9kZSAodmFs
KSB7XG4gIHJldHVybiBuZXcgVk5vZGUodW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwg
U3RyaW5nKHZhbCkpXG59XG5cbi8vIG9wdGltaXplZCBzaGFsbG93IGNsb25lXG4vLyB1c2VkIGZv
ciBzdGF0aWMgbm9kZXMgYW5kIHNsb3Qgbm9kZXMgYmVjYXVzZSB0aGV5IG1heSBiZSByZXVzZWQg
YWNyb3NzXG4vLyBtdWx0aXBsZSByZW5kZXJzLCBjbG9uaW5nIHRoZW0gYXZvaWRzIGVycm9ycyB3
aGVuIERPTSBtYW5pcHVsYXRpb25zIHJlbHlcbi8vIG9uIHRoZWlyIGVsbSByZWZlcmVuY2UuXG5m
dW5jdGlvbiBjbG9uZVZOb2RlICh2bm9kZSkge1xuICB2YXIgY2xvbmVkID0gbmV3IFZOb2RlKFxu
ICAgIHZub2RlLnRhZyxcbiAgICB2bm9kZS5kYXRhLFxuICAgIHZub2RlLmNoaWxkcmVuLFxuICAg
IHZub2RlLnRleHQsXG4gICAgdm5vZGUuZWxtLFxuICAgIHZub2RlLmNvbnRleHQsXG4gICAgdm5v
ZGUuY29tcG9uZW50T3B0aW9ucyxcbiAgICB2bm9kZS5hc3luY0ZhY3RvcnlcbiAgKTtcbiAgY2xv
bmVkLm5zID0gdm5vZGUubnM7XG4gIGNsb25lZC5pc1N0YXRpYyA9IHZub2RlLmlzU3RhdGljO1xu
ICBjbG9uZWQua2V5ID0gdm5vZGUua2V5O1xuICBjbG9uZWQuaXNDb21tZW50ID0gdm5vZGUuaXND
b21tZW50O1xuICBjbG9uZWQuaXNDbG9uZWQgPSB0cnVlO1xuICByZXR1cm4gY2xvbmVkXG59XG5c
bmZ1bmN0aW9uIGNsb25lVk5vZGVzICh2bm9kZXMpIHtcbiAgdmFyIGxlbiA9IHZub2Rlcy5sZW5n
dGg7XG4gIHZhciByZXMgPSBuZXcgQXJyYXkobGVuKTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBs
ZW47IGkrKykge1xuICAgIHJlc1tpXSA9IGNsb25lVk5vZGUodm5vZGVzW2ldKTtcbiAgfVxuICBy
ZXR1cm4gcmVzXG59XG5cbi8qICAqL1xuXG52YXIgbm9ybWFsaXplRXZlbnQgPSBjYWNoZWQoZnVu
Y3Rpb24gKG5hbWUpIHtcbiAgdmFyIHBhc3NpdmUgPSBuYW1lLmNoYXJBdCgwKSA9PT0gJyYnO1xu
ICBuYW1lID0gcGFzc2l2ZSA/IG5hbWUuc2xpY2UoMSkgOiBuYW1lO1xuICB2YXIgb25jZSQkMSA9
IG5hbWUuY2hhckF0KDApID09PSAnfic7IC8vIFByZWZpeGVkIGxhc3QsIGNoZWNrZWQgZmlyc3Rc
biAgbmFtZSA9IG9uY2UkJDEgPyBuYW1lLnNsaWNlKDEpIDogbmFtZTtcbiAgdmFyIGNhcHR1cmUg
PSBuYW1lLmNoYXJBdCgwKSA9PT0gJyEnO1xuICBuYW1lID0gY2FwdHVyZSA/IG5hbWUuc2xpY2Uo
MSkgOiBuYW1lO1xuICByZXR1cm4ge1xuICAgIG5hbWU6IG5hbWUsXG4gICAgb25jZTogb25jZSQk
MSxcbiAgICBjYXB0dXJlOiBjYXB0dXJlLFxuICAgIHBhc3NpdmU6IHBhc3NpdmVcbiAgfVxufSk7
XG5cbmZ1bmN0aW9uIGNyZWF0ZUZuSW52b2tlciAoZm5zKSB7XG4gIGZ1bmN0aW9uIGludm9rZXIg
KCkge1xuICAgIHZhciBhcmd1bWVudHMkMSA9IGFyZ3VtZW50cztcblxuICAgIHZhciBmbnMgPSBp
bnZva2VyLmZucztcbiAgICBpZiAoQXJyYXkuaXNBcnJheShmbnMpKSB7XG4gICAgICB2YXIgY2xv
bmVkID0gZm5zLnNsaWNlKCk7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNsb25lZC5sZW5n
dGg7IGkrKykge1xuICAgICAgICBjbG9uZWRbaV0uYXBwbHkobnVsbCwgYXJndW1lbnRzJDEpO1xu
ICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyByZXR1cm4gaGFuZGxlciByZXR1cm4gdmFs
dWUgZm9yIHNpbmdsZSBoYW5kbGVyc1xuICAgICAgcmV0dXJuIGZucy5hcHBseShudWxsLCBhcmd1
bWVudHMpXG4gICAgfVxuICB9XG4gIGludm9rZXIuZm5zID0gZm5zO1xuICByZXR1cm4gaW52b2tl
clxufVxuXG5mdW5jdGlvbiB1cGRhdGVMaXN0ZW5lcnMgKFxuICBvbixcbiAgb2xkT24sXG4gIGFk
ZCxcbiAgcmVtb3ZlJCQxLFxuICB2bVxuKSB7XG4gIHZhciBuYW1lLCBjdXIsIG9sZCwgZXZlbnQ7
XG4gIGZvciAobmFtZSBpbiBvbikge1xuICAgIGN1ciA9IG9uW25hbWVdO1xuICAgIG9sZCA9IG9s
ZE9uW25hbWVdO1xuICAgIGV2ZW50ID0gbm9ybWFsaXplRXZlbnQobmFtZSk7XG4gICAgaWYgKGlz
VW5kZWYoY3VyKSkge1xuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9u
JyAmJiB3YXJuKFxuICAgICAgICBcIkludmFsaWQgaGFuZGxlciBmb3IgZXZlbnQgXFxcIlwiICsg
KGV2ZW50Lm5hbWUpICsgXCJcXFwiOiBnb3QgXCIgKyBTdHJpbmcoY3VyKSxcbiAgICAgICAgdm1c
biAgICAgICk7XG4gICAgfSBlbHNlIGlmIChpc1VuZGVmKG9sZCkpIHtcbiAgICAgIGlmIChpc1Vu
ZGVmKGN1ci5mbnMpKSB7XG4gICAgICAgIGN1ciA9IG9uW25hbWVdID0gY3JlYXRlRm5JbnZva2Vy
KGN1cik7XG4gICAgICB9XG4gICAgICBhZGQoZXZlbnQubmFtZSwgY3VyLCBldmVudC5vbmNlLCBl
dmVudC5jYXB0dXJlLCBldmVudC5wYXNzaXZlKTtcbiAgICB9IGVsc2UgaWYgKGN1ciAhPT0gb2xk
KSB7XG4gICAgICBvbGQuZm5zID0gY3VyO1xuICAgICAgb25bbmFtZV0gPSBvbGQ7XG4gICAgfVxu
ICB9XG4gIGZvciAobmFtZSBpbiBvbGRPbikge1xuICAgIGlmIChpc1VuZGVmKG9uW25hbWVdKSkg
e1xuICAgICAgZXZlbnQgPSBub3JtYWxpemVFdmVudChuYW1lKTtcbiAgICAgIHJlbW92ZSQkMShl
dmVudC5uYW1lLCBvbGRPbltuYW1lXSwgZXZlbnQuY2FwdHVyZSk7XG4gICAgfVxuICB9XG59XG5c
bi8qICAqL1xuXG5mdW5jdGlvbiBtZXJnZVZOb2RlSG9vayAoZGVmLCBob29rS2V5LCBob29rKSB7
XG4gIHZhciBpbnZva2VyO1xuICB2YXIgb2xkSG9vayA9IGRlZltob29rS2V5XTtcblxuICBmdW5j
dGlvbiB3cmFwcGVkSG9vayAoKSB7XG4gICAgaG9vay5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xu
ICAgIC8vIGltcG9ydGFudDogcmVtb3ZlIG1lcmdlZCBob29rIHRvIGVuc3VyZSBpdCdzIGNhbGxl
ZCBvbmx5IG9uY2VcbiAgICAvLyBhbmQgcHJldmVudCBtZW1vcnkgbGVha1xuICAgIHJlbW92ZShp
bnZva2VyLmZucywgd3JhcHBlZEhvb2spO1xuICB9XG5cbiAgaWYgKGlzVW5kZWYob2xkSG9vaykp
IHtcbiAgICAvLyBubyBleGlzdGluZyBob29rXG4gICAgaW52b2tlciA9IGNyZWF0ZUZuSW52b2tl
cihbd3JhcHBlZEhvb2tdKTtcbiAgfSBlbHNlIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYg
Ki9cbiAgICBpZiAoaXNEZWYob2xkSG9vay5mbnMpICYmIGlzVHJ1ZShvbGRIb29rLm1lcmdlZCkp
IHtcbiAgICAgIC8vIGFscmVhZHkgYSBtZXJnZWQgaW52b2tlclxuICAgICAgaW52b2tlciA9IG9s
ZEhvb2s7XG4gICAgICBpbnZva2VyLmZucy5wdXNoKHdyYXBwZWRIb29rKTtcbiAgICB9IGVsc2Ug
e1xuICAgICAgLy8gZXhpc3RpbmcgcGxhaW4gaG9va1xuICAgICAgaW52b2tlciA9IGNyZWF0ZUZu
SW52b2tlcihbb2xkSG9vaywgd3JhcHBlZEhvb2tdKTtcbiAgICB9XG4gIH1cblxuICBpbnZva2Vy
Lm1lcmdlZCA9IHRydWU7XG4gIGRlZltob29rS2V5XSA9IGludm9rZXI7XG59XG5cbi8qICAqL1xu
XG5mdW5jdGlvbiBleHRyYWN0UHJvcHNGcm9tVk5vZGVEYXRhIChcbiAgZGF0YSxcbiAgQ3Rvcixc
biAgdGFnXG4pIHtcbiAgLy8gd2UgYXJlIG9ubHkgZXh0cmFjdGluZyByYXcgdmFsdWVzIGhlcmUu
XG4gIC8vIHZhbGlkYXRpb24gYW5kIGRlZmF1bHQgdmFsdWVzIGFyZSBoYW5kbGVkIGluIHRoZSBj
aGlsZFxuICAvLyBjb21wb25lbnQgaXRzZWxmLlxuICB2YXIgcHJvcE9wdGlvbnMgPSBDdG9yLm9w
dGlvbnMucHJvcHM7XG4gIGlmIChpc1VuZGVmKHByb3BPcHRpb25zKSkge1xuICAgIHJldHVyblxu
ICB9XG4gIHZhciByZXMgPSB7fTtcbiAgdmFyIGF0dHJzID0gZGF0YS5hdHRycztcbiAgdmFyIHBy
b3BzID0gZGF0YS5wcm9wcztcbiAgaWYgKGlzRGVmKGF0dHJzKSB8fCBpc0RlZihwcm9wcykpIHtc
biAgICBmb3IgKHZhciBrZXkgaW4gcHJvcE9wdGlvbnMpIHtcbiAgICAgIHZhciBhbHRLZXkgPSBo
eXBoZW5hdGUoa2V5KTtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1
Y3Rpb24nKSB7XG4gICAgICAgIHZhciBrZXlJbkxvd2VyQ2FzZSA9IGtleS50b0xvd2VyQ2FzZSgp
O1xuICAgICAgICBpZiAoXG4gICAgICAgICAga2V5ICE9PSBrZXlJbkxvd2VyQ2FzZSAmJlxuICAg
ICAgICAgIGF0dHJzICYmIGhhc093bihhdHRycywga2V5SW5Mb3dlckNhc2UpXG4gICAgICAgICkg
e1xuICAgICAgICAgIHRpcChcbiAgICAgICAgICAgIFwiUHJvcCBcXFwiXCIgKyBrZXlJbkxvd2Vy
Q2FzZSArIFwiXFxcIiBpcyBwYXNzZWQgdG8gY29tcG9uZW50IFwiICtcbiAgICAgICAgICAgIChm
b3JtYXRDb21wb25lbnROYW1lKHRhZyB8fCBDdG9yKSkgKyBcIiwgYnV0IHRoZSBkZWNsYXJlZCBw
cm9wIG5hbWUgaXNcIiArXG4gICAgICAgICAgICBcIiBcXFwiXCIgKyBrZXkgKyBcIlxcXCIuIFwi
ICtcbiAgICAgICAgICAgIFwiTm90ZSB0aGF0IEhUTUwgYXR0cmlidXRlcyBhcmUgY2FzZS1pbnNl
bnNpdGl2ZSBhbmQgY2FtZWxDYXNlZCBcIiArXG4gICAgICAgICAgICBcInByb3BzIG5lZWQgdG8g
dXNlIHRoZWlyIGtlYmFiLWNhc2UgZXF1aXZhbGVudHMgd2hlbiB1c2luZyBpbi1ET00gXCIgK1xu
ICAgICAgICAgICAgXCJ0ZW1wbGF0ZXMuIFlvdSBzaG91bGQgcHJvYmFibHkgdXNlIFxcXCJcIiAr
IGFsdEtleSArIFwiXFxcIiBpbnN0ZWFkIG9mIFxcXCJcIiArIGtleSArIFwiXFxcIi5cIlxuICAg
ICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNoZWNrUHJvcChyZXMsIHByb3Bz
LCBrZXksIGFsdEtleSwgdHJ1ZSkgfHxcbiAgICAgIGNoZWNrUHJvcChyZXMsIGF0dHJzLCBrZXks
IGFsdEtleSwgZmFsc2UpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbmZ1bmN0aW9u
IGNoZWNrUHJvcCAoXG4gIHJlcyxcbiAgaGFzaCxcbiAga2V5LFxuICBhbHRLZXksXG4gIHByZXNl
cnZlXG4pIHtcbiAgaWYgKGlzRGVmKGhhc2gpKSB7XG4gICAgaWYgKGhhc093bihoYXNoLCBrZXkp
KSB7XG4gICAgICByZXNba2V5XSA9IGhhc2hba2V5XTtcbiAgICAgIGlmICghcHJlc2VydmUpIHtc
biAgICAgICAgZGVsZXRlIGhhc2hba2V5XTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlXG4g
ICAgfSBlbHNlIGlmIChoYXNPd24oaGFzaCwgYWx0S2V5KSkge1xuICAgICAgcmVzW2tleV0gPSBo
YXNoW2FsdEtleV07XG4gICAgICBpZiAoIXByZXNlcnZlKSB7XG4gICAgICAgIGRlbGV0ZSBoYXNo
W2FsdEtleV07XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgfVxuICByZXR1
cm4gZmFsc2Vcbn1cblxuLyogICovXG5cbi8vIFRoZSB0ZW1wbGF0ZSBjb21waWxlciBhdHRlbXB0
cyB0byBtaW5pbWl6ZSB0aGUgbmVlZCBmb3Igbm9ybWFsaXphdGlvbiBieVxuLy8gc3RhdGljYWxs
eSBhbmFseXppbmcgdGhlIHRlbXBsYXRlIGF0IGNvbXBpbGUgdGltZS5cbi8vXG4vLyBGb3IgcGxh
aW4gSFRNTCBtYXJrdXAsIG5vcm1hbGl6YXRpb24gY2FuIGJlIGNvbXBsZXRlbHkgc2tpcHBlZCBi
ZWNhdXNlIHRoZVxuLy8gZ2VuZXJhdGVkIHJlbmRlciBmdW5jdGlvbiBpcyBndWFyYW50ZWVkIHRv
IHJldHVybiBBcnJheTxWTm9kZT4uIFRoZXJlIGFyZVxuLy8gdHdvIGNhc2VzIHdoZXJlIGV4dHJh
IG5vcm1hbGl6YXRpb24gaXMgbmVlZGVkOlxuXG4vLyAxLiBXaGVuIHRoZSBjaGlsZHJlbiBjb250
YWlucyBjb21wb25lbnRzIC0gYmVjYXVzZSBhIGZ1bmN0aW9uYWwgY29tcG9uZW50XG4vLyBtYXkg
cmV0dXJuIGFuIEFycmF5IGluc3RlYWQgb2YgYSBzaW5nbGUgcm9vdC4gSW4gdGhpcyBjYXNlLCBq
dXN0IGEgc2ltcGxlXG4vLyBub3JtYWxpemF0aW9uIGlzIG5lZWRlZCAtIGlmIGFueSBjaGlsZCBp
cyBhbiBBcnJheSwgd2UgZmxhdHRlbiB0aGUgd2hvbGVcbi8vIHRoaW5nIHdpdGggQXJyYXkucHJv
dG90eXBlLmNvbmNhdC4gSXQgaXMgZ3VhcmFudGVlZCB0byBiZSBvbmx5IDEtbGV2ZWwgZGVlcFxu
Ly8gYmVjYXVzZSBmdW5jdGlvbmFsIGNvbXBvbmVudHMgYWxyZWFkeSBub3JtYWxpemUgdGhlaXIg
b3duIGNoaWxkcmVuLlxuZnVuY3Rpb24gc2ltcGxlTm9ybWFsaXplQ2hpbGRyZW4gKGNoaWxkcmVu
KSB7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICBp
ZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbltpXSkpIHtcbiAgICAgIHJldHVybiBBcnJheS5wcm90
b3R5cGUuY29uY2F0LmFwcGx5KFtdLCBjaGlsZHJlbilcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGNo
aWxkcmVuXG59XG5cbi8vIDIuIFdoZW4gdGhlIGNoaWxkcmVuIGNvbnRhaW5zIGNvbnN0cnVjdHMg
dGhhdCBhbHdheXMgZ2VuZXJhdGVkIG5lc3RlZCBBcnJheXMsXG4vLyBlLmcuIDx0ZW1wbGF0ZT4s
IDxzbG90Piwgdi1mb3IsIG9yIHdoZW4gdGhlIGNoaWxkcmVuIGlzIHByb3ZpZGVkIGJ5IHVzZXJc
bi8vIHdpdGggaGFuZC13cml0dGVuIHJlbmRlciBmdW5jdGlvbnMgLyBKU1guIEluIHN1Y2ggY2Fz
ZXMgYSBmdWxsIG5vcm1hbGl6YXRpb25cbi8vIGlzIG5lZWRlZCB0byBjYXRlciB0byBhbGwgcG9z
c2libGUgdHlwZXMgb2YgY2hpbGRyZW4gdmFsdWVzLlxuZnVuY3Rpb24gbm9ybWFsaXplQ2hpbGRy
ZW4gKGNoaWxkcmVuKSB7XG4gIHJldHVybiBpc1ByaW1pdGl2ZShjaGlsZHJlbilcbiAgICA/IFtj
cmVhdGVUZXh0Vk5vZGUoY2hpbGRyZW4pXVxuICAgIDogQXJyYXkuaXNBcnJheShjaGlsZHJlbilc
biAgICAgID8gbm9ybWFsaXplQXJyYXlDaGlsZHJlbihjaGlsZHJlbilcbiAgICAgIDogdW5kZWZp
bmVkXG59XG5cbmZ1bmN0aW9uIGlzVGV4dE5vZGUgKG5vZGUpIHtcbiAgcmV0dXJuIGlzRGVmKG5v
ZGUpICYmIGlzRGVmKG5vZGUudGV4dCkgJiYgaXNGYWxzZShub2RlLmlzQ29tbWVudClcbn1cblxu
ZnVuY3Rpb24gbm9ybWFsaXplQXJyYXlDaGlsZHJlbiAoY2hpbGRyZW4sIG5lc3RlZEluZGV4KSB7
XG4gIHZhciByZXMgPSBbXTtcbiAgdmFyIGksIGMsIGxhc3Q7XG4gIGZvciAoaSA9IDA7IGkgPCBj
aGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgIGMgPSBjaGlsZHJlbltpXTtcbiAgICBpZiAoaXNV
bmRlZihjKSB8fCB0eXBlb2YgYyA9PT0gJ2Jvb2xlYW4nKSB7IGNvbnRpbnVlIH1cbiAgICBsYXN0
ID0gcmVzW3Jlcy5sZW5ndGggLSAxXTtcbiAgICAvLyAgbmVzdGVkXG4gICAgaWYgKEFycmF5Lmlz
QXJyYXkoYykpIHtcbiAgICAgIHJlcy5wdXNoLmFwcGx5KHJlcywgbm9ybWFsaXplQXJyYXlDaGls
ZHJlbihjLCAoKG5lc3RlZEluZGV4IHx8ICcnKSArIFwiX1wiICsgaSkpKTtcbiAgICB9IGVsc2Ug
aWYgKGlzUHJpbWl0aXZlKGMpKSB7XG4gICAgICBpZiAoaXNUZXh0Tm9kZShsYXN0KSkge1xuICAg
ICAgICAvLyBtZXJnZSBhZGphY2VudCB0ZXh0IG5vZGVzXG4gICAgICAgIC8vIHRoaXMgaXMgbmVj
ZXNzYXJ5IGZvciBTU1IgaHlkcmF0aW9uIGJlY2F1c2UgdGV4dCBub2RlcyBhcmVcbiAgICAgICAg
Ly8gZXNzZW50aWFsbHkgbWVyZ2VkIHdoZW4gcmVuZGVyZWQgdG8gSFRNTCBzdHJpbmdzXG4gICAg
ICAgIChsYXN0KS50ZXh0ICs9IFN0cmluZyhjKTtcbiAgICAgIH0gZWxzZSBpZiAoYyAhPT0gJycp
IHtcbiAgICAgICAgLy8gY29udmVydCBwcmltaXRpdmUgdG8gdm5vZGVcbiAgICAgICAgcmVzLnB1
c2goY3JlYXRlVGV4dFZOb2RlKGMpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYg
KGlzVGV4dE5vZGUoYykgJiYgaXNUZXh0Tm9kZShsYXN0KSkge1xuICAgICAgICAvLyBtZXJnZSBh
ZGphY2VudCB0ZXh0IG5vZGVzXG4gICAgICAgIHJlc1tyZXMubGVuZ3RoIC0gMV0gPSBjcmVhdGVU
ZXh0Vk5vZGUobGFzdC50ZXh0ICsgYy50ZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8v
IGRlZmF1bHQga2V5IGZvciBuZXN0ZWQgYXJyYXkgY2hpbGRyZW4gKGxpa2VseSBnZW5lcmF0ZWQg
Ynkgdi1mb3IpXG4gICAgICAgIGlmIChpc1RydWUoY2hpbGRyZW4uX2lzVkxpc3QpICYmXG4gICAg
ICAgICAgaXNEZWYoYy50YWcpICYmXG4gICAgICAgICAgaXNVbmRlZihjLmtleSkgJiZcbiAgICAg
ICAgICBpc0RlZihuZXN0ZWRJbmRleCkpIHtcbiAgICAgICAgICBjLmtleSA9IFwiX192bGlzdFwi
ICsgbmVzdGVkSW5kZXggKyBcIl9cIiArIGkgKyBcIl9fXCI7XG4gICAgICAgIH1cbiAgICAgICAg
cmVzLnB1c2goYyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNcbn1cblxuLyog
ICovXG5cbmZ1bmN0aW9uIGVuc3VyZUN0b3IgKGNvbXAsIGJhc2UpIHtcbiAgaWYgKGNvbXAuX19l
c01vZHVsZSAmJiBjb21wLmRlZmF1bHQpIHtcbiAgICBjb21wID0gY29tcC5kZWZhdWx0O1xuICB9
XG4gIHJldHVybiBpc09iamVjdChjb21wKVxuICAgID8gYmFzZS5leHRlbmQoY29tcClcbiAgICA6
IGNvbXBcbn1cblxuZnVuY3Rpb24gY3JlYXRlQXN5bmNQbGFjZWhvbGRlciAoXG4gIGZhY3Rvcnks
XG4gIGRhdGEsXG4gIGNvbnRleHQsXG4gIGNoaWxkcmVuLFxuICB0YWdcbikge1xuICB2YXIgbm9k
ZSA9IGNyZWF0ZUVtcHR5Vk5vZGUoKTtcbiAgbm9kZS5hc3luY0ZhY3RvcnkgPSBmYWN0b3J5O1xu
ICBub2RlLmFzeW5jTWV0YSA9IHsgZGF0YTogZGF0YSwgY29udGV4dDogY29udGV4dCwgY2hpbGRy
ZW46IGNoaWxkcmVuLCB0YWc6IHRhZyB9O1xuICByZXR1cm4gbm9kZVxufVxuXG5mdW5jdGlvbiBy
ZXNvbHZlQXN5bmNDb21wb25lbnQgKFxuICBmYWN0b3J5LFxuICBiYXNlQ3RvcixcbiAgY29udGV4
dFxuKSB7XG4gIGlmIChpc1RydWUoZmFjdG9yeS5lcnJvcikgJiYgaXNEZWYoZmFjdG9yeS5lcnJv
ckNvbXApKSB7XG4gICAgcmV0dXJuIGZhY3RvcnkuZXJyb3JDb21wXG4gIH1cblxuICBpZiAoaXNE
ZWYoZmFjdG9yeS5yZXNvbHZlZCkpIHtcbiAgICByZXR1cm4gZmFjdG9yeS5yZXNvbHZlZFxuICB9
XG5cbiAgaWYgKGlzVHJ1ZShmYWN0b3J5LmxvYWRpbmcpICYmIGlzRGVmKGZhY3RvcnkubG9hZGlu
Z0NvbXApKSB7XG4gICAgcmV0dXJuIGZhY3RvcnkubG9hZGluZ0NvbXBcbiAgfVxuXG4gIGlmIChp
c0RlZihmYWN0b3J5LmNvbnRleHRzKSkge1xuICAgIC8vIGFscmVhZHkgcGVuZGluZ1xuICAgIGZh
Y3RvcnkuY29udGV4dHMucHVzaChjb250ZXh0KTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgY29udGV4
dHMgPSBmYWN0b3J5LmNvbnRleHRzID0gW2NvbnRleHRdO1xuICAgIHZhciBzeW5jID0gdHJ1ZTtc
blxuICAgIHZhciBmb3JjZVJlbmRlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGZvciAodmFyIGkg
PSAwLCBsID0gY29udGV4dHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIGNvbnRleHRz
W2ldLiRmb3JjZVVwZGF0ZSgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB2YXIgcmVzb2x2ZSA9
IG9uY2UoZnVuY3Rpb24gKHJlcykge1xuICAgICAgLy8gY2FjaGUgcmVzb2x2ZWRcbiAgICAgIGZh
Y3RvcnkucmVzb2x2ZWQgPSBlbnN1cmVDdG9yKHJlcywgYmFzZUN0b3IpO1xuICAgICAgLy8gaW52
b2tlIGNhbGxiYWNrcyBvbmx5IGlmIHRoaXMgaXMgbm90IGEgc3luY2hyb25vdXMgcmVzb2x2ZVxu
ICAgICAgLy8gKGFzeW5jIHJlc29sdmVzIGFyZSBzaGltbWVkIGFzIHN5bmNocm9ub3VzIGR1cmlu
ZyBTU1IpXG4gICAgICBpZiAoIXN5bmMpIHtcbiAgICAgICAgZm9yY2VSZW5kZXIoKTtcbiAgICAg
IH1cbiAgICB9KTtcblxuICAgIHZhciByZWplY3QgPSBvbmNlKGZ1bmN0aW9uIChyZWFzb24pIHtc
biAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgd2FybihcbiAg
ICAgICAgXCJGYWlsZWQgdG8gcmVzb2x2ZSBhc3luYyBjb21wb25lbnQ6IFwiICsgKFN0cmluZyhm
YWN0b3J5KSkgK1xuICAgICAgICAocmVhc29uID8gKFwiXFxuUmVhc29uOiBcIiArIHJlYXNvbikg
OiAnJylcbiAgICAgICk7XG4gICAgICBpZiAoaXNEZWYoZmFjdG9yeS5lcnJvckNvbXApKSB7XG4g
ICAgICAgIGZhY3RvcnkuZXJyb3IgPSB0cnVlO1xuICAgICAgICBmb3JjZVJlbmRlcigpO1xuICAg
ICAgfVxuICAgIH0pO1xuXG4gICAgdmFyIHJlcyA9IGZhY3RvcnkocmVzb2x2ZSwgcmVqZWN0KTtc
blxuICAgIGlmIChpc09iamVjdChyZXMpKSB7XG4gICAgICBpZiAodHlwZW9mIHJlcy50aGVuID09
PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIC8vICgpID0+IFByb21pc2VcbiAgICAgICAgaWYgKGlz
VW5kZWYoZmFjdG9yeS5yZXNvbHZlZCkpIHtcbiAgICAgICAgICByZXMudGhlbihyZXNvbHZlLCBy
ZWplY3QpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGlzRGVmKHJlcy5jb21wb25lbnQp
ICYmIHR5cGVvZiByZXMuY29tcG9uZW50LnRoZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAg
cmVzLmNvbXBvbmVudC50aGVuKHJlc29sdmUsIHJlamVjdCk7XG5cbiAgICAgICAgaWYgKGlzRGVm
KHJlcy5lcnJvcikpIHtcbiAgICAgICAgICBmYWN0b3J5LmVycm9yQ29tcCA9IGVuc3VyZUN0b3Io
cmVzLmVycm9yLCBiYXNlQ3Rvcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNEZWYocmVz
LmxvYWRpbmcpKSB7XG4gICAgICAgICAgZmFjdG9yeS5sb2FkaW5nQ29tcCA9IGVuc3VyZUN0b3Io
cmVzLmxvYWRpbmcsIGJhc2VDdG9yKTtcbiAgICAgICAgICBpZiAocmVzLmRlbGF5ID09PSAwKSB7
XG4gICAgICAgICAgICBmYWN0b3J5LmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7
XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgaWYg
KGlzVW5kZWYoZmFjdG9yeS5yZXNvbHZlZCkgJiYgaXNVbmRlZihmYWN0b3J5LmVycm9yKSkge1xu
ICAgICAgICAgICAgICAgIGZhY3RvcnkubG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAg
Zm9yY2VSZW5kZXIoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgcmVzLmRlbGF5
IHx8IDIwMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzRGVmKHJl
cy50aW1lb3V0KSkge1xuICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAg
ICAgICAgaWYgKGlzVW5kZWYoZmFjdG9yeS5yZXNvbHZlZCkpIHtcbiAgICAgICAgICAgICAgcmVq
ZWN0KFxuICAgICAgICAgICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlv
bidcbiAgICAgICAgICAgICAgICAgID8gKFwidGltZW91dCAoXCIgKyAocmVzLnRpbWVvdXQpICsg
XCJtcylcIilcbiAgICAgICAgICAgICAgICAgIDogbnVsbFxuICAgICAgICAgICAgICApO1xuICAg
ICAgICAgICAgfVxuICAgICAgICAgIH0sIHJlcy50aW1lb3V0KTtcbiAgICAgICAgfVxuICAgICAg
fVxuICAgIH1cblxuICAgIHN5bmMgPSBmYWxzZTtcbiAgICAvLyByZXR1cm4gaW4gY2FzZSByZXNv
bHZlZCBzeW5jaHJvbm91c2x5XG4gICAgcmV0dXJuIGZhY3RvcnkubG9hZGluZ1xuICAgICAgPyBm
YWN0b3J5LmxvYWRpbmdDb21wXG4gICAgICA6IGZhY3RvcnkucmVzb2x2ZWRcbiAgfVxufVxuXG4v
KiAgKi9cblxuZnVuY3Rpb24gZ2V0Rmlyc3RDb21wb25lbnRDaGlsZCAoY2hpbGRyZW4pIHtcbiAg
aWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBj
aGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGMgPSBjaGlsZHJlbltpXTtcbiAgICAg
IGlmIChpc0RlZihjKSAmJiBpc0RlZihjLmNvbXBvbmVudE9wdGlvbnMpKSB7XG4gICAgICAgIHJl
dHVybiBjXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qICAqL1xuXG4vKiAgKi9cblxuZnVu
Y3Rpb24gaW5pdEV2ZW50cyAodm0pIHtcbiAgdm0uX2V2ZW50cyA9IE9iamVjdC5jcmVhdGUobnVs
bCk7XG4gIHZtLl9oYXNIb29rRXZlbnQgPSBmYWxzZTtcbiAgLy8gaW5pdCBwYXJlbnQgYXR0YWNo
ZWQgZXZlbnRzXG4gIHZhciBsaXN0ZW5lcnMgPSB2bS4kb3B0aW9ucy5fcGFyZW50TGlzdGVuZXJz
O1xuICBpZiAobGlzdGVuZXJzKSB7XG4gICAgdXBkYXRlQ29tcG9uZW50TGlzdGVuZXJzKHZtLCBs
aXN0ZW5lcnMpO1xuICB9XG59XG5cbnZhciB0YXJnZXQ7XG5cbmZ1bmN0aW9uIGFkZCAoZXZlbnQs
IGZuLCBvbmNlJCQxKSB7XG4gIGlmIChvbmNlJCQxKSB7XG4gICAgdGFyZ2V0LiRvbmNlKGV2ZW50
LCBmbik7XG4gIH0gZWxzZSB7XG4gICAgdGFyZ2V0LiRvbihldmVudCwgZm4pO1xuICB9XG59XG5c
bmZ1bmN0aW9uIHJlbW92ZSQxIChldmVudCwgZm4pIHtcbiAgdGFyZ2V0LiRvZmYoZXZlbnQsIGZu
KTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlQ29tcG9uZW50TGlzdGVuZXJzIChcbiAgdm0sXG4gIGxp
c3RlbmVycyxcbiAgb2xkTGlzdGVuZXJzXG4pIHtcbiAgdGFyZ2V0ID0gdm07XG4gIHVwZGF0ZUxp
c3RlbmVycyhsaXN0ZW5lcnMsIG9sZExpc3RlbmVycyB8fCB7fSwgYWRkLCByZW1vdmUkMSwgdm0p
O1xufVxuXG5mdW5jdGlvbiBldmVudHNNaXhpbiAoVnVlKSB7XG4gIHZhciBob29rUkUgPSAvXmhv
b2s6LztcbiAgVnVlLnByb3RvdHlwZS4kb24gPSBmdW5jdGlvbiAoZXZlbnQsIGZuKSB7XG4gICAg
dmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICB2YXIgdm0gPSB0aGlzO1xuICAgIGlmIChBcnJheS5p
c0FycmF5KGV2ZW50KSkge1xuICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBldmVudC5sZW5ndGg7
IGkgPCBsOyBpKyspIHtcbiAgICAgICAgdGhpcyQxLiRvbihldmVudFtpXSwgZm4pO1xuICAgICAg
fVxuICAgIH0gZWxzZSB7XG4gICAgICAodm0uX2V2ZW50c1tldmVudF0gfHwgKHZtLl9ldmVudHNb
ZXZlbnRdID0gW10pKS5wdXNoKGZuKTtcbiAgICAgIC8vIG9wdGltaXplIGhvb2s6ZXZlbnQgY29z
dCBieSB1c2luZyBhIGJvb2xlYW4gZmxhZyBtYXJrZWQgYXQgcmVnaXN0cmF0aW9uXG4gICAgICAv
LyBpbnN0ZWFkIG9mIGEgaGFzaCBsb29rdXBcbiAgICAgIGlmIChob29rUkUudGVzdChldmVudCkp
IHtcbiAgICAgICAgdm0uX2hhc0hvb2tFdmVudCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAg
IHJldHVybiB2bVxuICB9O1xuXG4gIFZ1ZS5wcm90b3R5cGUuJG9uY2UgPSBmdW5jdGlvbiAoZXZl
bnQsIGZuKSB7XG4gICAgdmFyIHZtID0gdGhpcztcbiAgICBmdW5jdGlvbiBvbiAoKSB7XG4gICAg
ICB2bS4kb2ZmKGV2ZW50LCBvbik7XG4gICAgICBmbi5hcHBseSh2bSwgYXJndW1lbnRzKTtcbiAg
ICB9XG4gICAgb24uZm4gPSBmbjtcbiAgICB2bS4kb24oZXZlbnQsIG9uKTtcbiAgICByZXR1cm4g
dm1cbiAgfTtcblxuICBWdWUucHJvdG90eXBlLiRvZmYgPSBmdW5jdGlvbiAoZXZlbnQsIGZuKSB7
XG4gICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICB2YXIgdm0gPSB0aGlzO1xuICAgIC8vIGFs
bFxuICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkge1xuICAgICAgdm0uX2V2ZW50cyA9IE9iamVj
dC5jcmVhdGUobnVsbCk7XG4gICAgICByZXR1cm4gdm1cbiAgICB9XG4gICAgLy8gYXJyYXkgb2Yg
ZXZlbnRzXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZXZlbnQpKSB7XG4gICAgICBmb3IgKHZhciBp
JDEgPSAwLCBsID0gZXZlbnQubGVuZ3RoOyBpJDEgPCBsOyBpJDErKykge1xuICAgICAgICB0aGlz
JDEuJG9mZihldmVudFtpJDFdLCBmbik7XG4gICAgICB9XG4gICAgICByZXR1cm4gdm1cbiAgICB9
XG4gICAgLy8gc3BlY2lmaWMgZXZlbnRcbiAgICB2YXIgY2JzID0gdm0uX2V2ZW50c1tldmVudF07
XG4gICAgaWYgKCFjYnMpIHtcbiAgICAgIHJldHVybiB2bVxuICAgIH1cbiAgICBpZiAoYXJndW1l
bnRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgdm0uX2V2ZW50c1tldmVudF0gPSBudWxsO1xuICAg
ICAgcmV0dXJuIHZtXG4gICAgfVxuICAgIC8vIHNwZWNpZmljIGhhbmRsZXJcbiAgICB2YXIgY2I7
XG4gICAgdmFyIGkgPSBjYnMubGVuZ3RoO1xuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgIGNiID0g
Y2JzW2ldO1xuICAgICAgaWYgKGNiID09PSBmbiB8fCBjYi5mbiA9PT0gZm4pIHtcbiAgICAgICAg
Y2JzLnNwbGljZShpLCAxKTtcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0
dXJuIHZtXG4gIH07XG5cbiAgVnVlLnByb3RvdHlwZS4kZW1pdCA9IGZ1bmN0aW9uIChldmVudCkg
e1xuICAgIHZhciB2bSA9IHRoaXM7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAn
cHJvZHVjdGlvbicpIHtcbiAgICAgIHZhciBsb3dlckNhc2VFdmVudCA9IGV2ZW50LnRvTG93ZXJD
YXNlKCk7XG4gICAgICBpZiAobG93ZXJDYXNlRXZlbnQgIT09IGV2ZW50ICYmIHZtLl9ldmVudHNb
bG93ZXJDYXNlRXZlbnRdKSB7XG4gICAgICAgIHRpcChcbiAgICAgICAgICBcIkV2ZW50IFxcXCJc
IiArIGxvd2VyQ2FzZUV2ZW50ICsgXCJcXFwiIGlzIGVtaXR0ZWQgaW4gY29tcG9uZW50IFwiICtc
biAgICAgICAgICAoZm9ybWF0Q29tcG9uZW50TmFtZSh2bSkpICsgXCIgYnV0IHRoZSBoYW5kbGVy
IGlzIHJlZ2lzdGVyZWQgZm9yIFxcXCJcIiArIGV2ZW50ICsgXCJcXFwiLiBcIiArXG4gICAgICAg
ICAgXCJOb3RlIHRoYXQgSFRNTCBhdHRyaWJ1dGVzIGFyZSBjYXNlLWluc2Vuc2l0aXZlIGFuZCB5
b3UgY2Fubm90IHVzZSBcIiArXG4gICAgICAgICAgXCJ2LW9uIHRvIGxpc3RlbiB0byBjYW1lbENh
c2UgZXZlbnRzIHdoZW4gdXNpbmcgaW4tRE9NIHRlbXBsYXRlcy4gXCIgK1xuICAgICAgICAgIFwi
WW91IHNob3VsZCBwcm9iYWJseSB1c2UgXFxcIlwiICsgKGh5cGhlbmF0ZShldmVudCkpICsgXCJc
XFwiIGluc3RlYWQgb2YgXFxcIlwiICsgZXZlbnQgKyBcIlxcXCIuXCJcbiAgICAgICAgKTtcbiAg
ICAgIH1cbiAgICB9XG4gICAgdmFyIGNicyA9IHZtLl9ldmVudHNbZXZlbnRdO1xuICAgIGlmIChj
YnMpIHtcbiAgICAgIGNicyA9IGNicy5sZW5ndGggPiAxID8gdG9BcnJheShjYnMpIDogY2JzO1xu
ICAgICAgdmFyIGFyZ3MgPSB0b0FycmF5KGFyZ3VtZW50cywgMSk7XG4gICAgICBmb3IgKHZhciBp
ID0gMCwgbCA9IGNicy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgdHJ5IHtcbiAgICAg
ICAgICBjYnNbaV0uYXBwbHkodm0sIGFyZ3MpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAg
ICAgICAgaGFuZGxlRXJyb3IoZSwgdm0sIChcImV2ZW50IGhhbmRsZXIgZm9yIFxcXCJcIiArIGV2
ZW50ICsgXCJcXFwiXCIpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4g
dm1cbiAgfTtcbn1cblxuLyogICovXG5cbi8qKlxuICogUnVudGltZSBoZWxwZXIgZm9yIHJlc29s
dmluZyByYXcgY2hpbGRyZW4gVk5vZGVzIGludG8gYSBzbG90IG9iamVjdC5cbiAqL1xuZnVuY3Rp
b24gcmVzb2x2ZVNsb3RzIChcbiAgY2hpbGRyZW4sXG4gIGNvbnRleHRcbikge1xuICB2YXIgc2xv
dHMgPSB7fTtcbiAgaWYgKCFjaGlsZHJlbikge1xuICAgIHJldHVybiBzbG90c1xuICB9XG4gIHZh
ciBkZWZhdWx0U2xvdCA9IFtdO1xuICBmb3IgKHZhciBpID0gMCwgbCA9IGNoaWxkcmVuLmxlbmd0
aDsgaSA8IGw7IGkrKykge1xuICAgIHZhciBjaGlsZCA9IGNoaWxkcmVuW2ldO1xuICAgIC8vIG5h
bWVkIHNsb3RzIHNob3VsZCBvbmx5IGJlIHJlc3BlY3RlZCBpZiB0aGUgdm5vZGUgd2FzIHJlbmRl
cmVkIGluIHRoZVxuICAgIC8vIHNhbWUgY29udGV4dC5cbiAgICBpZiAoKGNoaWxkLmNvbnRleHQg
PT09IGNvbnRleHQgfHwgY2hpbGQuZnVuY3Rpb25hbENvbnRleHQgPT09IGNvbnRleHQpICYmXG4g
ICAgICBjaGlsZC5kYXRhICYmIGNoaWxkLmRhdGEuc2xvdCAhPSBudWxsXG4gICAgKSB7XG4gICAg
ICB2YXIgbmFtZSA9IGNoaWxkLmRhdGEuc2xvdDtcbiAgICAgIHZhciBzbG90ID0gKHNsb3RzW25h
bWVdIHx8IChzbG90c1tuYW1lXSA9IFtdKSk7XG4gICAgICBpZiAoY2hpbGQudGFnID09PSAndGVt
cGxhdGUnKSB7XG4gICAgICAgIHNsb3QucHVzaC5hcHBseShzbG90LCBjaGlsZC5jaGlsZHJlbik7
XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzbG90LnB1c2goY2hpbGQpO1xuICAgICAgfVxuICAg
IH0gZWxzZSB7XG4gICAgICBkZWZhdWx0U2xvdC5wdXNoKGNoaWxkKTtcbiAgICB9XG4gIH1cbiAg
Ly8gaWdub3JlIHdoaXRlc3BhY2VcbiAgaWYgKCFkZWZhdWx0U2xvdC5ldmVyeShpc1doaXRlc3Bh
Y2UpKSB7XG4gICAgc2xvdHMuZGVmYXVsdCA9IGRlZmF1bHRTbG90O1xuICB9XG4gIHJldHVybiBz
bG90c1xufVxuXG5mdW5jdGlvbiBpc1doaXRlc3BhY2UgKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUu
aXNDb21tZW50IHx8IG5vZGUudGV4dCA9PT0gJyAnXG59XG5cbmZ1bmN0aW9uIHJlc29sdmVTY29w
ZWRTbG90cyAoXG4gIGZucywgLy8gc2VlIGZsb3cvdm5vZGVcbiAgcmVzXG4pIHtcbiAgcmVzID0g
cmVzIHx8IHt9O1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGZucy5sZW5ndGg7IGkrKykge1xuICAg
IGlmIChBcnJheS5pc0FycmF5KGZuc1tpXSkpIHtcbiAgICAgIHJlc29sdmVTY29wZWRTbG90cyhm
bnNbaV0sIHJlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc1tmbnNbaV0ua2V5XSA9IGZuc1tp
XS5mbjtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG4vKiAgKi9cblxudmFyIGFjdGl2
ZUluc3RhbmNlID0gbnVsbDtcbnZhciBpc1VwZGF0aW5nQ2hpbGRDb21wb25lbnQgPSBmYWxzZTtc
blxuZnVuY3Rpb24gaW5pdExpZmVjeWNsZSAodm0pIHtcbiAgdmFyIG9wdGlvbnMgPSB2bS4kb3B0
aW9ucztcblxuICAvLyBsb2NhdGUgZmlyc3Qgbm9uLWFic3RyYWN0IHBhcmVudFxuICB2YXIgcGFy
ZW50ID0gb3B0aW9ucy5wYXJlbnQ7XG4gIGlmIChwYXJlbnQgJiYgIW9wdGlvbnMuYWJzdHJhY3Qp
IHtcbiAgICB3aGlsZSAocGFyZW50LiRvcHRpb25zLmFic3RyYWN0ICYmIHBhcmVudC4kcGFyZW50
KSB7XG4gICAgICBwYXJlbnQgPSBwYXJlbnQuJHBhcmVudDtcbiAgICB9XG4gICAgcGFyZW50LiRj
aGlsZHJlbi5wdXNoKHZtKTtcbiAgfVxuXG4gIHZtLiRwYXJlbnQgPSBwYXJlbnQ7XG4gIHZtLiRy
b290ID0gcGFyZW50ID8gcGFyZW50LiRyb290IDogdm07XG5cbiAgdm0uJGNoaWxkcmVuID0gW107
XG4gIHZtLiRyZWZzID0ge307XG5cbiAgdm0uX3dhdGNoZXIgPSBudWxsO1xuICB2bS5faW5hY3Rp
dmUgPSBudWxsO1xuICB2bS5fZGlyZWN0SW5hY3RpdmUgPSBmYWxzZTtcbiAgdm0uX2lzTW91bnRl
ZCA9IGZhbHNlO1xuICB2bS5faXNEZXN0cm95ZWQgPSBmYWxzZTtcbiAgdm0uX2lzQmVpbmdEZXN0
cm95ZWQgPSBmYWxzZTtcbn1cblxuZnVuY3Rpb24gbGlmZWN5Y2xlTWl4aW4gKFZ1ZSkge1xuICBW
dWUucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAodm5vZGUsIGh5ZHJhdGluZykge1xuICAg
IHZhciB2bSA9IHRoaXM7XG4gICAgaWYgKHZtLl9pc01vdW50ZWQpIHtcbiAgICAgIGNhbGxIb29r
KHZtLCAnYmVmb3JlVXBkYXRlJyk7XG4gICAgfVxuICAgIHZhciBwcmV2RWwgPSB2bS4kZWw7XG4g
ICAgdmFyIHByZXZWbm9kZSA9IHZtLl92bm9kZTtcbiAgICB2YXIgcHJldkFjdGl2ZUluc3RhbmNl
ID0gYWN0aXZlSW5zdGFuY2U7XG4gICAgYWN0aXZlSW5zdGFuY2UgPSB2bTtcbiAgICB2bS5fdm5v
ZGUgPSB2bm9kZTtcbiAgICAvLyBWdWUucHJvdG90eXBlLl9fcGF0Y2hfXyBpcyBpbmplY3RlZCBp
biBlbnRyeSBwb2ludHNcbiAgICAvLyBiYXNlZCBvbiB0aGUgcmVuZGVyaW5nIGJhY2tlbmQgdXNl
ZC5cbiAgICBpZiAoIXByZXZWbm9kZSkge1xuICAgICAgLy8gaW5pdGlhbCByZW5kZXJcbiAgICAg
IHZtLiRlbCA9IHZtLl9fcGF0Y2hfXyhcbiAgICAgICAgdm0uJGVsLCB2bm9kZSwgaHlkcmF0aW5n
LCBmYWxzZSAvKiByZW1vdmVPbmx5ICovLFxuICAgICAgICB2bS4kb3B0aW9ucy5fcGFyZW50RWxt
LFxuICAgICAgICB2bS4kb3B0aW9ucy5fcmVmRWxtXG4gICAgICApO1xuICAgICAgLy8gbm8gbmVl
ZCBmb3IgdGhlIHJlZiBub2RlcyBhZnRlciBpbml0aWFsIHBhdGNoXG4gICAgICAvLyB0aGlzIHBy
ZXZlbnRzIGtlZXBpbmcgYSBkZXRhY2hlZCBET00gdHJlZSBpbiBtZW1vcnkgKCM1ODUxKVxuICAg
ICAgdm0uJG9wdGlvbnMuX3BhcmVudEVsbSA9IHZtLiRvcHRpb25zLl9yZWZFbG0gPSBudWxsO1xu
ICAgIH0gZWxzZSB7XG4gICAgICAvLyB1cGRhdGVzXG4gICAgICB2bS4kZWwgPSB2bS5fX3BhdGNo
X18ocHJldlZub2RlLCB2bm9kZSk7XG4gICAgfVxuICAgIGFjdGl2ZUluc3RhbmNlID0gcHJldkFj
dGl2ZUluc3RhbmNlO1xuICAgIC8vIHVwZGF0ZSBfX3Z1ZV9fIHJlZmVyZW5jZVxuICAgIGlmIChw
cmV2RWwpIHtcbiAgICAgIHByZXZFbC5fX3Z1ZV9fID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKHZt
LiRlbCkge1xuICAgICAgdm0uJGVsLl9fdnVlX18gPSB2bTtcbiAgICB9XG4gICAgLy8gaWYgcGFy
ZW50IGlzIGFuIEhPQywgdXBkYXRlIGl0cyAkZWwgYXMgd2VsbFxuICAgIGlmICh2bS4kdm5vZGUg
JiYgdm0uJHBhcmVudCAmJiB2bS4kdm5vZGUgPT09IHZtLiRwYXJlbnQuX3Zub2RlKSB7XG4gICAg
ICB2bS4kcGFyZW50LiRlbCA9IHZtLiRlbDtcbiAgICB9XG4gICAgLy8gdXBkYXRlZCBob29rIGlz
IGNhbGxlZCBieSB0aGUgc2NoZWR1bGVyIHRvIGVuc3VyZSB0aGF0IGNoaWxkcmVuIGFyZVxuICAg
IC8vIHVwZGF0ZWQgaW4gYSBwYXJlbnQncyB1cGRhdGVkIGhvb2suXG4gIH07XG5cbiAgVnVlLnBy
b3RvdHlwZS4kZm9yY2VVcGRhdGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHZtID0gdGhpcztc
biAgICBpZiAodm0uX3dhdGNoZXIpIHtcbiAgICAgIHZtLl93YXRjaGVyLnVwZGF0ZSgpO1xuICAg
IH1cbiAgfTtcblxuICBWdWUucHJvdG90eXBlLiRkZXN0cm95ID0gZnVuY3Rpb24gKCkge1xuICAg
IHZhciB2bSA9IHRoaXM7XG4gICAgaWYgKHZtLl9pc0JlaW5nRGVzdHJveWVkKSB7XG4gICAgICBy
ZXR1cm5cbiAgICB9XG4gICAgY2FsbEhvb2sodm0sICdiZWZvcmVEZXN0cm95Jyk7XG4gICAgdm0u
X2lzQmVpbmdEZXN0cm95ZWQgPSB0cnVlO1xuICAgIC8vIHJlbW92ZSBzZWxmIGZyb20gcGFyZW50
XG4gICAgdmFyIHBhcmVudCA9IHZtLiRwYXJlbnQ7XG4gICAgaWYgKHBhcmVudCAmJiAhcGFyZW50
Ll9pc0JlaW5nRGVzdHJveWVkICYmICF2bS4kb3B0aW9ucy5hYnN0cmFjdCkge1xuICAgICAgcmVt
b3ZlKHBhcmVudC4kY2hpbGRyZW4sIHZtKTtcbiAgICB9XG4gICAgLy8gdGVhcmRvd24gd2F0Y2hl
cnNcbiAgICBpZiAodm0uX3dhdGNoZXIpIHtcbiAgICAgIHZtLl93YXRjaGVyLnRlYXJkb3duKCk7
XG4gICAgfVxuICAgIHZhciBpID0gdm0uX3dhdGNoZXJzLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0t
KSB7XG4gICAgICB2bS5fd2F0Y2hlcnNbaV0udGVhcmRvd24oKTtcbiAgICB9XG4gICAgLy8gcmVt
b3ZlIHJlZmVyZW5jZSBmcm9tIGRhdGEgb2JcbiAgICAvLyBmcm96ZW4gb2JqZWN0IG1heSBub3Qg
aGF2ZSBvYnNlcnZlci5cbiAgICBpZiAodm0uX2RhdGEuX19vYl9fKSB7XG4gICAgICB2bS5fZGF0
YS5fX29iX18udm1Db3VudC0tO1xuICAgIH1cbiAgICAvLyBjYWxsIHRoZSBsYXN0IGhvb2suLi5c
biAgICB2bS5faXNEZXN0cm95ZWQgPSB0cnVlO1xuICAgIC8vIGludm9rZSBkZXN0cm95IGhvb2tz
IG9uIGN1cnJlbnQgcmVuZGVyZWQgdHJlZVxuICAgIHZtLl9fcGF0Y2hfXyh2bS5fdm5vZGUsIG51
bGwpO1xuICAgIC8vIGZpcmUgZGVzdHJveWVkIGhvb2tcbiAgICBjYWxsSG9vayh2bSwgJ2Rlc3Ry
b3llZCcpO1xuICAgIC8vIHR1cm4gb2ZmIGFsbCBpbnN0YW5jZSBsaXN0ZW5lcnMuXG4gICAgdm0u
JG9mZigpO1xuICAgIC8vIHJlbW92ZSBfX3Z1ZV9fIHJlZmVyZW5jZVxuICAgIGlmICh2bS4kZWwp
IHtcbiAgICAgIHZtLiRlbC5fX3Z1ZV9fID0gbnVsbDtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0
aW9uIG1vdW50Q29tcG9uZW50IChcbiAgdm0sXG4gIGVsLFxuICBoeWRyYXRpbmdcbikge1xuICB2
bS4kZWwgPSBlbDtcbiAgaWYgKCF2bS4kb3B0aW9ucy5yZW5kZXIpIHtcbiAgICB2bS4kb3B0aW9u
cy5yZW5kZXIgPSBjcmVhdGVFbXB0eVZOb2RlO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VO
ViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAg
ICAgIGlmICgodm0uJG9wdGlvbnMudGVtcGxhdGUgJiYgdm0uJG9wdGlvbnMudGVtcGxhdGUuY2hh
ckF0KDApICE9PSAnIycpIHx8XG4gICAgICAgIHZtLiRvcHRpb25zLmVsIHx8IGVsKSB7XG4gICAg
ICAgIHdhcm4oXG4gICAgICAgICAgJ1lvdSBhcmUgdXNpbmcgdGhlIHJ1bnRpbWUtb25seSBidWls
ZCBvZiBWdWUgd2hlcmUgdGhlIHRlbXBsYXRlICcgK1xuICAgICAgICAgICdjb21waWxlciBpcyBu
b3QgYXZhaWxhYmxlLiBFaXRoZXIgcHJlLWNvbXBpbGUgdGhlIHRlbXBsYXRlcyBpbnRvICcgK1xu
ICAgICAgICAgICdyZW5kZXIgZnVuY3Rpb25zLCBvciB1c2UgdGhlIGNvbXBpbGVyLWluY2x1ZGVk
IGJ1aWxkLicsXG4gICAgICAgICAgdm1cbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAg
ICAgIHdhcm4oXG4gICAgICAgICAgJ0ZhaWxlZCB0byBtb3VudCBjb21wb25lbnQ6IHRlbXBsYXRl
IG9yIHJlbmRlciBmdW5jdGlvbiBub3QgZGVmaW5lZC4nLFxuICAgICAgICAgIHZtXG4gICAgICAg
ICk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGNhbGxIb29rKHZtLCAnYmVmb3JlTW91bnQnKTtc
blxuICB2YXIgdXBkYXRlQ29tcG9uZW50O1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAg
aWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgY29uZmlnLnBlcmZv
cm1hbmNlICYmIG1hcmspIHtcbiAgICB1cGRhdGVDb21wb25lbnQgPSBmdW5jdGlvbiAoKSB7XG4g
ICAgICB2YXIgbmFtZSA9IHZtLl9uYW1lO1xuICAgICAgdmFyIGlkID0gdm0uX3VpZDtcbiAgICAg
IHZhciBzdGFydFRhZyA9IFwidnVlLXBlcmYtc3RhcnQ6XCIgKyBpZDtcbiAgICAgIHZhciBlbmRU
YWcgPSBcInZ1ZS1wZXJmLWVuZDpcIiArIGlkO1xuXG4gICAgICBtYXJrKHN0YXJ0VGFnKTtcbiAg
ICAgIHZhciB2bm9kZSA9IHZtLl9yZW5kZXIoKTtcbiAgICAgIG1hcmsoZW5kVGFnKTtcbiAgICAg
IG1lYXN1cmUoKG5hbWUgKyBcIiByZW5kZXJcIiksIHN0YXJ0VGFnLCBlbmRUYWcpO1xuXG4gICAg
ICBtYXJrKHN0YXJ0VGFnKTtcbiAgICAgIHZtLl91cGRhdGUodm5vZGUsIGh5ZHJhdGluZyk7XG4g
ICAgICBtYXJrKGVuZFRhZyk7XG4gICAgICBtZWFzdXJlKChuYW1lICsgXCIgcGF0Y2hcIiksIHN0
YXJ0VGFnLCBlbmRUYWcpO1xuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgdXBkYXRlQ29tcG9uZW50
ID0gZnVuY3Rpb24gKCkge1xuICAgICAgdm0uX3VwZGF0ZSh2bS5fcmVuZGVyKCksIGh5ZHJhdGlu
Zyk7XG4gICAgfTtcbiAgfVxuXG4gIHZtLl93YXRjaGVyID0gbmV3IFdhdGNoZXIodm0sIHVwZGF0
ZUNvbXBvbmVudCwgbm9vcCk7XG4gIGh5ZHJhdGluZyA9IGZhbHNlO1xuXG4gIC8vIG1hbnVhbGx5
IG1vdW50ZWQgaW5zdGFuY2UsIGNhbGwgbW91bnRlZCBvbiBzZWxmXG4gIC8vIG1vdW50ZWQgaXMg
Y2FsbGVkIGZvciByZW5kZXItY3JlYXRlZCBjaGlsZCBjb21wb25lbnRzIGluIGl0cyBpbnNlcnRl
ZCBob29rXG4gIGlmICh2bS4kdm5vZGUgPT0gbnVsbCkge1xuICAgIHZtLl9pc01vdW50ZWQgPSB0
cnVlO1xuICAgIGNhbGxIb29rKHZtLCAnbW91bnRlZCcpO1xuICB9XG4gIHJldHVybiB2bVxufVxu
XG5mdW5jdGlvbiB1cGRhdGVDaGlsZENvbXBvbmVudCAoXG4gIHZtLFxuICBwcm9wc0RhdGEsXG4g
IGxpc3RlbmVycyxcbiAgcGFyZW50Vm5vZGUsXG4gIHJlbmRlckNoaWxkcmVuXG4pIHtcbiAgaWYg
KHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBpc1VwZGF0aW5n
Q2hpbGRDb21wb25lbnQgPSB0cnVlO1xuICB9XG5cbiAgLy8gZGV0ZXJtaW5lIHdoZXRoZXIgY29t
cG9uZW50IGhhcyBzbG90IGNoaWxkcmVuXG4gIC8vIHdlIG5lZWQgdG8gZG8gdGhpcyBiZWZvcmUg
b3ZlcndyaXRpbmcgJG9wdGlvbnMuX3JlbmRlckNoaWxkcmVuXG4gIHZhciBoYXNDaGlsZHJlbiA9
ICEhKFxuICAgIHJlbmRlckNoaWxkcmVuIHx8ICAgICAgICAgICAgICAgLy8gaGFzIG5ldyBzdGF0
aWMgc2xvdHNcbiAgICB2bS4kb3B0aW9ucy5fcmVuZGVyQ2hpbGRyZW4gfHwgIC8vIGhhcyBvbGQg
c3RhdGljIHNsb3RzXG4gICAgcGFyZW50Vm5vZGUuZGF0YS5zY29wZWRTbG90cyB8fCAvLyBoYXMg
bmV3IHNjb3BlZCBzbG90c1xuICAgIHZtLiRzY29wZWRTbG90cyAhPT0gZW1wdHlPYmplY3QgLy8g
aGFzIG9sZCBzY29wZWQgc2xvdHNcbiAgKTtcblxuICB2bS4kb3B0aW9ucy5fcGFyZW50Vm5vZGUg
PSBwYXJlbnRWbm9kZTtcbiAgdm0uJHZub2RlID0gcGFyZW50Vm5vZGU7IC8vIHVwZGF0ZSB2bSdz
IHBsYWNlaG9sZGVyIG5vZGUgd2l0aG91dCByZS1yZW5kZXJcblxuICBpZiAodm0uX3Zub2RlKSB7
IC8vIHVwZGF0ZSBjaGlsZCB0cmVlJ3MgcGFyZW50XG4gICAgdm0uX3Zub2RlLnBhcmVudCA9IHBh
cmVudFZub2RlO1xuICB9XG4gIHZtLiRvcHRpb25zLl9yZW5kZXJDaGlsZHJlbiA9IHJlbmRlckNo
aWxkcmVuO1xuXG4gIC8vIHVwZGF0ZSAkYXR0cnMgYW5kICRsaXN0ZW5zZXJzIGhhc2hcbiAgLy8g
dGhlc2UgYXJlIGFsc28gcmVhY3RpdmUgc28gdGhleSBtYXkgdHJpZ2dlciBjaGlsZCB1cGRhdGUg
aWYgdGhlIGNoaWxkXG4gIC8vIHVzZWQgdGhlbSBkdXJpbmcgcmVuZGVyXG4gIHZtLiRhdHRycyA9
IHBhcmVudFZub2RlLmRhdGEgJiYgcGFyZW50Vm5vZGUuZGF0YS5hdHRycztcbiAgdm0uJGxpc3Rl
bmVycyA9IGxpc3RlbmVycztcblxuICAvLyB1cGRhdGUgcHJvcHNcbiAgaWYgKHByb3BzRGF0YSAm
JiB2bS4kb3B0aW9ucy5wcm9wcykge1xuICAgIG9ic2VydmVyU3RhdGUuc2hvdWxkQ29udmVydCA9
IGZhbHNlO1xuICAgIHZhciBwcm9wcyA9IHZtLl9wcm9wcztcbiAgICB2YXIgcHJvcEtleXMgPSB2
bS4kb3B0aW9ucy5fcHJvcEtleXMgfHwgW107XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9w
S2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGtleSA9IHByb3BLZXlzW2ldO1xuICAgICAg
cHJvcHNba2V5XSA9IHZhbGlkYXRlUHJvcChrZXksIHZtLiRvcHRpb25zLnByb3BzLCBwcm9wc0Rh
dGEsIHZtKTtcbiAgICB9XG4gICAgb2JzZXJ2ZXJTdGF0ZS5zaG91bGRDb252ZXJ0ID0gdHJ1ZTtc
biAgICAvLyBrZWVwIGEgY29weSBvZiByYXcgcHJvcHNEYXRhXG4gICAgdm0uJG9wdGlvbnMucHJv
cHNEYXRhID0gcHJvcHNEYXRhO1xuICB9XG5cbiAgLy8gdXBkYXRlIGxpc3RlbmVyc1xuICBpZiAo
bGlzdGVuZXJzKSB7XG4gICAgdmFyIG9sZExpc3RlbmVycyA9IHZtLiRvcHRpb25zLl9wYXJlbnRM
aXN0ZW5lcnM7XG4gICAgdm0uJG9wdGlvbnMuX3BhcmVudExpc3RlbmVycyA9IGxpc3RlbmVycztc
biAgICB1cGRhdGVDb21wb25lbnRMaXN0ZW5lcnModm0sIGxpc3RlbmVycywgb2xkTGlzdGVuZXJz
KTtcbiAgfVxuICAvLyByZXNvbHZlIHNsb3RzICsgZm9yY2UgdXBkYXRlIGlmIGhhcyBjaGlsZHJl
blxuICBpZiAoaGFzQ2hpbGRyZW4pIHtcbiAgICB2bS4kc2xvdHMgPSByZXNvbHZlU2xvdHMocmVu
ZGVyQ2hpbGRyZW4sIHBhcmVudFZub2RlLmNvbnRleHQpO1xuICAgIHZtLiRmb3JjZVVwZGF0ZSgp
O1xuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtc
biAgICBpc1VwZGF0aW5nQ2hpbGRDb21wb25lbnQgPSBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlv
biBpc0luSW5hY3RpdmVUcmVlICh2bSkge1xuICB3aGlsZSAodm0gJiYgKHZtID0gdm0uJHBhcmVu
dCkpIHtcbiAgICBpZiAodm0uX2luYWN0aXZlKSB7IHJldHVybiB0cnVlIH1cbiAgfVxuICByZXR1
cm4gZmFsc2Vcbn1cblxuZnVuY3Rpb24gYWN0aXZhdGVDaGlsZENvbXBvbmVudCAodm0sIGRpcmVj
dCkge1xuICBpZiAoZGlyZWN0KSB7XG4gICAgdm0uX2RpcmVjdEluYWN0aXZlID0gZmFsc2U7XG4g
ICAgaWYgKGlzSW5JbmFjdGl2ZVRyZWUodm0pKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gIH0g
ZWxzZSBpZiAodm0uX2RpcmVjdEluYWN0aXZlKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgaWYgKHZt
Ll9pbmFjdGl2ZSB8fCB2bS5faW5hY3RpdmUgPT09IG51bGwpIHtcbiAgICB2bS5faW5hY3RpdmUg
PSBmYWxzZTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZtLiRjaGlsZHJlbi5sZW5ndGg7IGkr
Kykge1xuICAgICAgYWN0aXZhdGVDaGlsZENvbXBvbmVudCh2bS4kY2hpbGRyZW5baV0pO1xuICAg
IH1cbiAgICBjYWxsSG9vayh2bSwgJ2FjdGl2YXRlZCcpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRl
YWN0aXZhdGVDaGlsZENvbXBvbmVudCAodm0sIGRpcmVjdCkge1xuICBpZiAoZGlyZWN0KSB7XG4g
ICAgdm0uX2RpcmVjdEluYWN0aXZlID0gdHJ1ZTtcbiAgICBpZiAoaXNJbkluYWN0aXZlVHJlZSh2
bSkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgfVxuICBpZiAoIXZtLl9pbmFjdGl2ZSkge1xu
ICAgIHZtLl9pbmFjdGl2ZSA9IHRydWU7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2bS4kY2hp
bGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgIGRlYWN0aXZhdGVDaGlsZENvbXBvbmVudCh2bS4k
Y2hpbGRyZW5baV0pO1xuICAgIH1cbiAgICBjYWxsSG9vayh2bSwgJ2RlYWN0aXZhdGVkJyk7XG4g
IH1cbn1cblxuZnVuY3Rpb24gY2FsbEhvb2sgKHZtLCBob29rKSB7XG4gIHZhciBoYW5kbGVycyA9
IHZtLiRvcHRpb25zW2hvb2tdO1xuICBpZiAoaGFuZGxlcnMpIHtcbiAgICBmb3IgKHZhciBpID0g
MCwgaiA9IGhhbmRsZXJzLmxlbmd0aDsgaSA8IGo7IGkrKykge1xuICAgICAgdHJ5IHtcbiAgICAg
ICAgaGFuZGxlcnNbaV0uY2FsbCh2bSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGhh
bmRsZUVycm9yKGUsIHZtLCAoaG9vayArIFwiIGhvb2tcIikpO1xuICAgICAgfVxuICAgIH1cbiAg
fVxuICBpZiAodm0uX2hhc0hvb2tFdmVudCkge1xuICAgIHZtLiRlbWl0KCdob29rOicgKyBob29r
KTtcbiAgfVxufVxuXG4vKiAgKi9cblxuXG52YXIgTUFYX1VQREFURV9DT1VOVCA9IDEwMDtcblxu
dmFyIHF1ZXVlID0gW107XG52YXIgYWN0aXZhdGVkQ2hpbGRyZW4gPSBbXTtcbnZhciBoYXMgPSB7
fTtcbnZhciBjaXJjdWxhciA9IHt9O1xudmFyIHdhaXRpbmcgPSBmYWxzZTtcbnZhciBmbHVzaGlu
ZyA9IGZhbHNlO1xudmFyIGluZGV4ID0gMDtcblxuLyoqXG4gKiBSZXNldCB0aGUgc2NoZWR1bGVy
J3Mgc3RhdGUuXG4gKi9cbmZ1bmN0aW9uIHJlc2V0U2NoZWR1bGVyU3RhdGUgKCkge1xuICBpbmRl
eCA9IHF1ZXVlLmxlbmd0aCA9IGFjdGl2YXRlZENoaWxkcmVuLmxlbmd0aCA9IDA7XG4gIGhhcyA9
IHt9O1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAg
IGNpcmN1bGFyID0ge307XG4gIH1cbiAgd2FpdGluZyA9IGZsdXNoaW5nID0gZmFsc2U7XG59XG5c
bi8qKlxuICogRmx1c2ggYm90aCBxdWV1ZXMgYW5kIHJ1biB0aGUgd2F0Y2hlcnMuXG4gKi9cbmZ1
bmN0aW9uIGZsdXNoU2NoZWR1bGVyUXVldWUgKCkge1xuICBmbHVzaGluZyA9IHRydWU7XG4gIHZh
ciB3YXRjaGVyLCBpZDtcblxuICAvLyBTb3J0IHF1ZXVlIGJlZm9yZSBmbHVzaC5cbiAgLy8gVGhp
cyBlbnN1cmVzIHRoYXQ6XG4gIC8vIDEuIENvbXBvbmVudHMgYXJlIHVwZGF0ZWQgZnJvbSBwYXJl
bnQgdG8gY2hpbGQuIChiZWNhdXNlIHBhcmVudCBpcyBhbHdheXNcbiAgLy8gICAgY3JlYXRlZCBi
ZWZvcmUgdGhlIGNoaWxkKVxuICAvLyAyLiBBIGNvbXBvbmVudCdzIHVzZXIgd2F0Y2hlcnMgYXJl
IHJ1biBiZWZvcmUgaXRzIHJlbmRlciB3YXRjaGVyIChiZWNhdXNlXG4gIC8vICAgIHVzZXIgd2F0
Y2hlcnMgYXJlIGNyZWF0ZWQgYmVmb3JlIHRoZSByZW5kZXIgd2F0Y2hlcilcbiAgLy8gMy4gSWYg
YSBjb21wb25lbnQgaXMgZGVzdHJveWVkIGR1cmluZyBhIHBhcmVudCBjb21wb25lbnQncyB3YXRj
aGVyIHJ1bixcbiAgLy8gICAgaXRzIHdhdGNoZXJzIGNhbiBiZSBza2lwcGVkLlxuICBxdWV1ZS5z
b3J0KGZ1bmN0aW9uIChhLCBiKSB7IHJldHVybiBhLmlkIC0gYi5pZDsgfSk7XG5cbiAgLy8gZG8g
bm90IGNhY2hlIGxlbmd0aCBiZWNhdXNlIG1vcmUgd2F0Y2hlcnMgbWlnaHQgYmUgcHVzaGVkXG4g
IC8vIGFzIHdlIHJ1biBleGlzdGluZyB3YXRjaGVyc1xuICBmb3IgKGluZGV4ID0gMDsgaW5kZXgg
PCBxdWV1ZS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICB3YXRjaGVyID0gcXVldWVbaW5kZXhdO1xu
ICAgIGlkID0gd2F0Y2hlci5pZDtcbiAgICBoYXNbaWRdID0gbnVsbDtcbiAgICB3YXRjaGVyLnJ1
bigpO1xuICAgIC8vIGluIGRldiBidWlsZCwgY2hlY2sgYW5kIHN0b3AgY2lyY3VsYXIgdXBkYXRl
cy5cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBoYXNb
aWRdICE9IG51bGwpIHtcbiAgICAgIGNpcmN1bGFyW2lkXSA9IChjaXJjdWxhcltpZF0gfHwgMCkg
KyAxO1xuICAgICAgaWYgKGNpcmN1bGFyW2lkXSA+IE1BWF9VUERBVEVfQ09VTlQpIHtcbiAgICAg
ICAgd2FybihcbiAgICAgICAgICAnWW91IG1heSBoYXZlIGFuIGluZmluaXRlIHVwZGF0ZSBsb29w
ICcgKyAoXG4gICAgICAgICAgICB3YXRjaGVyLnVzZXJcbiAgICAgICAgICAgICAgPyAoXCJpbiB3
YXRjaGVyIHdpdGggZXhwcmVzc2lvbiBcXFwiXCIgKyAod2F0Y2hlci5leHByZXNzaW9uKSArIFwi
XFxcIlwiKVxuICAgICAgICAgICAgICA6IFwiaW4gYSBjb21wb25lbnQgcmVuZGVyIGZ1bmN0aW9u
LlwiXG4gICAgICAgICAgKSxcbiAgICAgICAgICB3YXRjaGVyLnZtXG4gICAgICAgICk7XG4gICAg
ICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8ga2VlcCBjb3BpZXMgb2YgcG9z
dCBxdWV1ZXMgYmVmb3JlIHJlc2V0dGluZyBzdGF0ZVxuICB2YXIgYWN0aXZhdGVkUXVldWUgPSBh
Y3RpdmF0ZWRDaGlsZHJlbi5zbGljZSgpO1xuICB2YXIgdXBkYXRlZFF1ZXVlID0gcXVldWUuc2xp
Y2UoKTtcblxuICByZXNldFNjaGVkdWxlclN0YXRlKCk7XG5cbiAgLy8gY2FsbCBjb21wb25lbnQg
dXBkYXRlZCBhbmQgYWN0aXZhdGVkIGhvb2tzXG4gIGNhbGxBY3RpdmF0ZWRIb29rcyhhY3RpdmF0
ZWRRdWV1ZSk7XG4gIGNhbGxVcGRhdGVkSG9va3ModXBkYXRlZFF1ZXVlKTtcblxuICAvLyBkZXZ0
b29sIGhvb2tcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmIChkZXZ0b29scyAmJiBj
b25maWcuZGV2dG9vbHMpIHtcbiAgICBkZXZ0b29scy5lbWl0KCdmbHVzaCcpO1xuICB9XG59XG5c
bmZ1bmN0aW9uIGNhbGxVcGRhdGVkSG9va3MgKHF1ZXVlKSB7XG4gIHZhciBpID0gcXVldWUubGVu
Z3RoO1xuICB3aGlsZSAoaS0tKSB7XG4gICAgdmFyIHdhdGNoZXIgPSBxdWV1ZVtpXTtcbiAgICB2
YXIgdm0gPSB3YXRjaGVyLnZtO1xuICAgIGlmICh2bS5fd2F0Y2hlciA9PT0gd2F0Y2hlciAmJiB2
bS5faXNNb3VudGVkKSB7XG4gICAgICBjYWxsSG9vayh2bSwgJ3VwZGF0ZWQnKTtcbiAgICB9XG4g
IH1cbn1cblxuLyoqXG4gKiBRdWV1ZSBhIGtlcHQtYWxpdmUgY29tcG9uZW50IHRoYXQgd2FzIGFj
dGl2YXRlZCBkdXJpbmcgcGF0Y2guXG4gKiBUaGUgcXVldWUgd2lsbCBiZSBwcm9jZXNzZWQgYWZ0
ZXIgdGhlIGVudGlyZSB0cmVlIGhhcyBiZWVuIHBhdGNoZWQuXG4gKi9cbmZ1bmN0aW9uIHF1ZXVl
QWN0aXZhdGVkQ29tcG9uZW50ICh2bSkge1xuICAvLyBzZXR0aW5nIF9pbmFjdGl2ZSB0byBmYWxz
ZSBoZXJlIHNvIHRoYXQgYSByZW5kZXIgZnVuY3Rpb24gY2FuXG4gIC8vIHJlbHkgb24gY2hlY2tp
bmcgd2hldGhlciBpdCdzIGluIGFuIGluYWN0aXZlIHRyZWUgKGUuZy4gcm91dGVyLXZpZXcpXG4g
IHZtLl9pbmFjdGl2ZSA9IGZhbHNlO1xuICBhY3RpdmF0ZWRDaGlsZHJlbi5wdXNoKHZtKTtcbn1c
blxuZnVuY3Rpb24gY2FsbEFjdGl2YXRlZEhvb2tzIChxdWV1ZSkge1xuICBmb3IgKHZhciBpID0g
MDsgaSA8IHF1ZXVlLmxlbmd0aDsgaSsrKSB7XG4gICAgcXVldWVbaV0uX2luYWN0aXZlID0gdHJ1
ZTtcbiAgICBhY3RpdmF0ZUNoaWxkQ29tcG9uZW50KHF1ZXVlW2ldLCB0cnVlIC8qIHRydWUgKi8p
O1xuICB9XG59XG5cbi8qKlxuICogUHVzaCBhIHdhdGNoZXIgaW50byB0aGUgd2F0Y2hlciBxdWV1
ZS5cbiAqIEpvYnMgd2l0aCBkdXBsaWNhdGUgSURzIHdpbGwgYmUgc2tpcHBlZCB1bmxlc3MgaXQn
c1xuICogcHVzaGVkIHdoZW4gdGhlIHF1ZXVlIGlzIGJlaW5nIGZsdXNoZWQuXG4gKi9cbmZ1bmN0
aW9uIHF1ZXVlV2F0Y2hlciAod2F0Y2hlcikge1xuICB2YXIgaWQgPSB3YXRjaGVyLmlkO1xuICBp
ZiAoaGFzW2lkXSA9PSBudWxsKSB7XG4gICAgaGFzW2lkXSA9IHRydWU7XG4gICAgaWYgKCFmbHVz
aGluZykge1xuICAgICAgcXVldWUucHVzaCh3YXRjaGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAg
Ly8gaWYgYWxyZWFkeSBmbHVzaGluZywgc3BsaWNlIHRoZSB3YXRjaGVyIGJhc2VkIG9uIGl0cyBp
ZFxuICAgICAgLy8gaWYgYWxyZWFkeSBwYXN0IGl0cyBpZCwgaXQgd2lsbCBiZSBydW4gbmV4dCBp
bW1lZGlhdGVseS5cbiAgICAgIHZhciBpID0gcXVldWUubGVuZ3RoIC0gMTtcbiAgICAgIHdoaWxl
IChpID4gaW5kZXggJiYgcXVldWVbaV0uaWQgPiB3YXRjaGVyLmlkKSB7XG4gICAgICAgIGktLTtc
biAgICAgIH1cbiAgICAgIHF1ZXVlLnNwbGljZShpICsgMSwgMCwgd2F0Y2hlcik7XG4gICAgfVxu
ICAgIC8vIHF1ZXVlIHRoZSBmbHVzaFxuICAgIGlmICghd2FpdGluZykge1xuICAgICAgd2FpdGlu
ZyA9IHRydWU7XG4gICAgICBuZXh0VGljayhmbHVzaFNjaGVkdWxlclF1ZXVlKTtcbiAgICB9XG4g
IH1cbn1cblxuLyogICovXG5cbnZhciB1aWQkMiA9IDA7XG5cbi8qKlxuICogQSB3YXRjaGVyIHBh
cnNlcyBhbiBleHByZXNzaW9uLCBjb2xsZWN0cyBkZXBlbmRlbmNpZXMsXG4gKiBhbmQgZmlyZXMg
Y2FsbGJhY2sgd2hlbiB0aGUgZXhwcmVzc2lvbiB2YWx1ZSBjaGFuZ2VzLlxuICogVGhpcyBpcyB1
c2VkIGZvciBib3RoIHRoZSAkd2F0Y2goKSBhcGkgYW5kIGRpcmVjdGl2ZXMuXG4gKi9cbnZhciBX
YXRjaGVyID0gZnVuY3Rpb24gV2F0Y2hlciAoXG4gIHZtLFxuICBleHBPckZuLFxuICBjYixcbiAg
b3B0aW9uc1xuKSB7XG4gIHRoaXMudm0gPSB2bTtcbiAgdm0uX3dhdGNoZXJzLnB1c2godGhpcyk7
XG4gIC8vIG9wdGlvbnNcbiAgaWYgKG9wdGlvbnMpIHtcbiAgICB0aGlzLmRlZXAgPSAhIW9wdGlv
bnMuZGVlcDtcbiAgICB0aGlzLnVzZXIgPSAhIW9wdGlvbnMudXNlcjtcbiAgICB0aGlzLmxhenkg
PSAhIW9wdGlvbnMubGF6eTtcbiAgICB0aGlzLnN5bmMgPSAhIW9wdGlvbnMuc3luYztcbiAgfSBl
bHNlIHtcbiAgICB0aGlzLmRlZXAgPSB0aGlzLnVzZXIgPSB0aGlzLmxhenkgPSB0aGlzLnN5bmMg
PSBmYWxzZTtcbiAgfVxuICB0aGlzLmNiID0gY2I7XG4gIHRoaXMuaWQgPSArK3VpZCQyOyAvLyB1
aWQgZm9yIGJhdGNoaW5nXG4gIHRoaXMuYWN0aXZlID0gdHJ1ZTtcbiAgdGhpcy5kaXJ0eSA9IHRo
aXMubGF6eTsgLy8gZm9yIGxhenkgd2F0Y2hlcnNcbiAgdGhpcy5kZXBzID0gW107XG4gIHRoaXMu
bmV3RGVwcyA9IFtdO1xuICB0aGlzLmRlcElkcyA9IG5ldyBfU2V0KCk7XG4gIHRoaXMubmV3RGVw
SWRzID0gbmV3IF9TZXQoKTtcbiAgdGhpcy5leHByZXNzaW9uID0gcHJvY2Vzcy5lbnYuTk9ERV9F
TlYgIT09ICdwcm9kdWN0aW9uJ1xuICAgID8gZXhwT3JGbi50b1N0cmluZygpXG4gICAgOiAnJztc
biAgLy8gcGFyc2UgZXhwcmVzc2lvbiBmb3IgZ2V0dGVyXG4gIGlmICh0eXBlb2YgZXhwT3JGbiA9
PT0gJ2Z1bmN0aW9uJykge1xuICAgIHRoaXMuZ2V0dGVyID0gZXhwT3JGbjtcbiAgfSBlbHNlIHtc
biAgICB0aGlzLmdldHRlciA9IHBhcnNlUGF0aChleHBPckZuKTtcbiAgICBpZiAoIXRoaXMuZ2V0
dGVyKSB7XG4gICAgICB0aGlzLmdldHRlciA9IGZ1bmN0aW9uICgpIHt9O1xuICAgICAgcHJvY2Vz
cy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgICBcIkZhaWxl
ZCB3YXRjaGluZyBwYXRoOiBcXFwiXCIgKyBleHBPckZuICsgXCJcXFwiIFwiICtcbiAgICAgICAg
J1dhdGNoZXIgb25seSBhY2NlcHRzIHNpbXBsZSBkb3QtZGVsaW1pdGVkIHBhdGhzLiAnICtcbiAg
ICAgICAgJ0ZvciBmdWxsIGNvbnRyb2wsIHVzZSBhIGZ1bmN0aW9uIGluc3RlYWQuJyxcbiAgICAg
ICAgdm1cbiAgICAgICk7XG4gICAgfVxuICB9XG4gIHRoaXMudmFsdWUgPSB0aGlzLmxhenlcbiAg
ICA/IHVuZGVmaW5lZFxuICAgIDogdGhpcy5nZXQoKTtcbn07XG5cbi8qKlxuICogRXZhbHVhdGUg
dGhlIGdldHRlciwgYW5kIHJlLWNvbGxlY3QgZGVwZW5kZW5jaWVzLlxuICovXG5XYXRjaGVyLnBy
b3RvdHlwZS5nZXQgPSBmdW5jdGlvbiBnZXQgKCkge1xuICBwdXNoVGFyZ2V0KHRoaXMpO1xuICB2
YXIgdmFsdWU7XG4gIHZhciB2bSA9IHRoaXMudm07XG4gIHRyeSB7XG4gICAgdmFsdWUgPSB0aGlz
LmdldHRlci5jYWxsKHZtLCB2bSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAodGhpcy51c2Vy
KSB7XG4gICAgICBoYW5kbGVFcnJvcihlLCB2bSwgKFwiZ2V0dGVyIGZvciB3YXRjaGVyIFxcXCJc
IiArICh0aGlzLmV4cHJlc3Npb24pICsgXCJcXFwiXCIpKTtcbiAgICB9IGVsc2Uge1xuICAgICAg
dGhyb3cgZVxuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICAvLyBcInRvdWNoXCIgZXZlcnkgcHJv
cGVydHkgc28gdGhleSBhcmUgYWxsIHRyYWNrZWQgYXNcbiAgICAvLyBkZXBlbmRlbmNpZXMgZm9y
IGRlZXAgd2F0Y2hpbmdcbiAgICBpZiAodGhpcy5kZWVwKSB7XG4gICAgICB0cmF2ZXJzZSh2YWx1
ZSk7XG4gICAgfVxuICAgIHBvcFRhcmdldCgpO1xuICAgIHRoaXMuY2xlYW51cERlcHMoKTtcbiAg
fVxuICByZXR1cm4gdmFsdWVcbn07XG5cbi8qKlxuICogQWRkIGEgZGVwZW5kZW5jeSB0byB0aGlz
IGRpcmVjdGl2ZS5cbiAqL1xuV2F0Y2hlci5wcm90b3R5cGUuYWRkRGVwID0gZnVuY3Rpb24gYWRk
RGVwIChkZXApIHtcbiAgdmFyIGlkID0gZGVwLmlkO1xuICBpZiAoIXRoaXMubmV3RGVwSWRzLmhh
cyhpZCkpIHtcbiAgICB0aGlzLm5ld0RlcElkcy5hZGQoaWQpO1xuICAgIHRoaXMubmV3RGVwcy5w
dXNoKGRlcCk7XG4gICAgaWYgKCF0aGlzLmRlcElkcy5oYXMoaWQpKSB7XG4gICAgICBkZXAuYWRk
U3ViKHRoaXMpO1xuICAgIH1cbiAgfVxufTtcblxuLyoqXG4gKiBDbGVhbiB1cCBmb3IgZGVwZW5k
ZW5jeSBjb2xsZWN0aW9uLlxuICovXG5XYXRjaGVyLnByb3RvdHlwZS5jbGVhbnVwRGVwcyA9IGZ1
bmN0aW9uIGNsZWFudXBEZXBzICgpIHtcbiAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICB2YXIg
aSA9IHRoaXMuZGVwcy5sZW5ndGg7XG4gIHdoaWxlIChpLS0pIHtcbiAgICB2YXIgZGVwID0gdGhp
cyQxLmRlcHNbaV07XG4gICAgaWYgKCF0aGlzJDEubmV3RGVwSWRzLmhhcyhkZXAuaWQpKSB7XG4g
ICAgICBkZXAucmVtb3ZlU3ViKHRoaXMkMSk7XG4gICAgfVxuICB9XG4gIHZhciB0bXAgPSB0aGlz
LmRlcElkcztcbiAgdGhpcy5kZXBJZHMgPSB0aGlzLm5ld0RlcElkcztcbiAgdGhpcy5uZXdEZXBJ
ZHMgPSB0bXA7XG4gIHRoaXMubmV3RGVwSWRzLmNsZWFyKCk7XG4gIHRtcCA9IHRoaXMuZGVwcztc
biAgdGhpcy5kZXBzID0gdGhpcy5uZXdEZXBzO1xuICB0aGlzLm5ld0RlcHMgPSB0bXA7XG4gIHRo
aXMubmV3RGVwcy5sZW5ndGggPSAwO1xufTtcblxuLyoqXG4gKiBTdWJzY3JpYmVyIGludGVyZmFj
ZS5cbiAqIFdpbGwgYmUgY2FsbGVkIHdoZW4gYSBkZXBlbmRlbmN5IGNoYW5nZXMuXG4gKi9cbldh
dGNoZXIucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIHVwZGF0ZSAoKSB7XG4gIC8qIGlzdGFu
YnVsIGlnbm9yZSBlbHNlICovXG4gIGlmICh0aGlzLmxhenkpIHtcbiAgICB0aGlzLmRpcnR5ID0g
dHJ1ZTtcbiAgfSBlbHNlIGlmICh0aGlzLnN5bmMpIHtcbiAgICB0aGlzLnJ1bigpO1xuICB9IGVs
c2Uge1xuICAgIHF1ZXVlV2F0Y2hlcih0aGlzKTtcbiAgfVxufTtcblxuLyoqXG4gKiBTY2hlZHVs
ZXIgam9iIGludGVyZmFjZS5cbiAqIFdpbGwgYmUgY2FsbGVkIGJ5IHRoZSBzY2hlZHVsZXIuXG4g
Ki9cbldhdGNoZXIucHJvdG90eXBlLnJ1biA9IGZ1bmN0aW9uIHJ1biAoKSB7XG4gIGlmICh0aGlz
LmFjdGl2ZSkge1xuICAgIHZhciB2YWx1ZSA9IHRoaXMuZ2V0KCk7XG4gICAgaWYgKFxuICAgICAg
dmFsdWUgIT09IHRoaXMudmFsdWUgfHxcbiAgICAgIC8vIERlZXAgd2F0Y2hlcnMgYW5kIHdhdGNo
ZXJzIG9uIE9iamVjdC9BcnJheXMgc2hvdWxkIGZpcmUgZXZlblxuICAgICAgLy8gd2hlbiB0aGUg
dmFsdWUgaXMgdGhlIHNhbWUsIGJlY2F1c2UgdGhlIHZhbHVlIG1heVxuICAgICAgLy8gaGF2ZSBt
dXRhdGVkLlxuICAgICAgaXNPYmplY3QodmFsdWUpIHx8XG4gICAgICB0aGlzLmRlZXBcbiAgICAp
IHtcbiAgICAgIC8vIHNldCBuZXcgdmFsdWVcbiAgICAgIHZhciBvbGRWYWx1ZSA9IHRoaXMudmFs
dWU7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICBpZiAodGhpcy51c2VyKSB7XG4g
ICAgICAgIHRyeSB7XG4gICAgICAgICAgdGhpcy5jYi5jYWxsKHRoaXMudm0sIHZhbHVlLCBvbGRW
YWx1ZSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBoYW5kbGVFcnJvcihlLCB0
aGlzLnZtLCAoXCJjYWxsYmFjayBmb3Igd2F0Y2hlciBcXFwiXCIgKyAodGhpcy5leHByZXNzaW9u
KSArIFwiXFxcIlwiKSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMu
Y2IuY2FsbCh0aGlzLnZtLCB2YWx1ZSwgb2xkVmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxu
fTtcblxuLyoqXG4gKiBFdmFsdWF0ZSB0aGUgdmFsdWUgb2YgdGhlIHdhdGNoZXIuXG4gKiBUaGlz
IG9ubHkgZ2V0cyBjYWxsZWQgZm9yIGxhenkgd2F0Y2hlcnMuXG4gKi9cbldhdGNoZXIucHJvdG90
eXBlLmV2YWx1YXRlID0gZnVuY3Rpb24gZXZhbHVhdGUgKCkge1xuICB0aGlzLnZhbHVlID0gdGhp
cy5nZXQoKTtcbiAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xufTtcblxuLyoqXG4gKiBEZXBlbmQgb24g
YWxsIGRlcHMgY29sbGVjdGVkIGJ5IHRoaXMgd2F0Y2hlci5cbiAqL1xuV2F0Y2hlci5wcm90b3R5
cGUuZGVwZW5kID0gZnVuY3Rpb24gZGVwZW5kICgpIHtcbiAgICB2YXIgdGhpcyQxID0gdGhpcztc
blxuICB2YXIgaSA9IHRoaXMuZGVwcy5sZW5ndGg7XG4gIHdoaWxlIChpLS0pIHtcbiAgICB0aGlz
JDEuZGVwc1tpXS5kZXBlbmQoKTtcbiAgfVxufTtcblxuLyoqXG4gKiBSZW1vdmUgc2VsZiBmcm9t
IGFsbCBkZXBlbmRlbmNpZXMnIHN1YnNjcmliZXIgbGlzdC5cbiAqL1xuV2F0Y2hlci5wcm90b3R5
cGUudGVhcmRvd24gPSBmdW5jdGlvbiB0ZWFyZG93biAoKSB7XG4gICAgdmFyIHRoaXMkMSA9IHRo
aXM7XG5cbiAgaWYgKHRoaXMuYWN0aXZlKSB7XG4gICAgLy8gcmVtb3ZlIHNlbGYgZnJvbSB2bSdz
IHdhdGNoZXIgbGlzdFxuICAgIC8vIHRoaXMgaXMgYSBzb21ld2hhdCBleHBlbnNpdmUgb3BlcmF0
aW9uIHNvIHdlIHNraXAgaXRcbiAgICAvLyBpZiB0aGUgdm0gaXMgYmVpbmcgZGVzdHJveWVkLlxu
ICAgIGlmICghdGhpcy52bS5faXNCZWluZ0Rlc3Ryb3llZCkge1xuICAgICAgcmVtb3ZlKHRoaXMu
dm0uX3dhdGNoZXJzLCB0aGlzKTtcbiAgICB9XG4gICAgdmFyIGkgPSB0aGlzLmRlcHMubGVuZ3Ro
O1xuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgIHRoaXMkMS5kZXBzW2ldLnJlbW92ZVN1Yih0aGlz
JDEpO1xuICAgIH1cbiAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICB9XG59O1xuXG4vKipcbiAq
IFJlY3Vyc2l2ZWx5IHRyYXZlcnNlIGFuIG9iamVjdCB0byBldm9rZSBhbGwgY29udmVydGVkXG4g
KiBnZXR0ZXJzLCBzbyB0aGF0IGV2ZXJ5IG5lc3RlZCBwcm9wZXJ0eSBpbnNpZGUgdGhlIG9iamVj
dFxuICogaXMgY29sbGVjdGVkIGFzIGEgXCJkZWVwXCIgZGVwZW5kZW5jeS5cbiAqL1xudmFyIHNl
ZW5PYmplY3RzID0gbmV3IF9TZXQoKTtcbmZ1bmN0aW9uIHRyYXZlcnNlICh2YWwpIHtcbiAgc2Vl
bk9iamVjdHMuY2xlYXIoKTtcbiAgX3RyYXZlcnNlKHZhbCwgc2Vlbk9iamVjdHMpO1xufVxuXG5m
dW5jdGlvbiBfdHJhdmVyc2UgKHZhbCwgc2Vlbikge1xuICB2YXIgaSwga2V5cztcbiAgdmFyIGlz
QSA9IEFycmF5LmlzQXJyYXkodmFsKTtcbiAgaWYgKCghaXNBICYmICFpc09iamVjdCh2YWwpKSB8
fCAhT2JqZWN0LmlzRXh0ZW5zaWJsZSh2YWwpKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgaWYgKHZh
bC5fX29iX18pIHtcbiAgICB2YXIgZGVwSWQgPSB2YWwuX19vYl9fLmRlcC5pZDtcbiAgICBpZiAo
c2Vlbi5oYXMoZGVwSWQpKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgc2Vlbi5hZGQoZGVw
SWQpO1xuICB9XG4gIGlmIChpc0EpIHtcbiAgICBpID0gdmFsLmxlbmd0aDtcbiAgICB3aGlsZSAo
aS0tKSB7IF90cmF2ZXJzZSh2YWxbaV0sIHNlZW4pOyB9XG4gIH0gZWxzZSB7XG4gICAga2V5cyA9
IE9iamVjdC5rZXlzKHZhbCk7XG4gICAgaSA9IGtleXMubGVuZ3RoO1xuICAgIHdoaWxlIChpLS0p
IHsgX3RyYXZlcnNlKHZhbFtrZXlzW2ldXSwgc2Vlbik7IH1cbiAgfVxufVxuXG4vKiAgKi9cblxu
dmFyIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbiA9IHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAg
Y29uZmlndXJhYmxlOiB0cnVlLFxuICBnZXQ6IG5vb3AsXG4gIHNldDogbm9vcFxufTtcblxuZnVu
Y3Rpb24gcHJveHkgKHRhcmdldCwgc291cmNlS2V5LCBrZXkpIHtcbiAgc2hhcmVkUHJvcGVydHlE
ZWZpbml0aW9uLmdldCA9IGZ1bmN0aW9uIHByb3h5R2V0dGVyICgpIHtcbiAgICByZXR1cm4gdGhp
c1tzb3VyY2VLZXldW2tleV1cbiAgfTtcbiAgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uLnNldCA9
IGZ1bmN0aW9uIHByb3h5U2V0dGVyICh2YWwpIHtcbiAgICB0aGlzW3NvdXJjZUtleV1ba2V5XSA9
IHZhbDtcbiAgfTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzaGFyZWRQ
cm9wZXJ0eURlZmluaXRpb24pO1xufVxuXG5mdW5jdGlvbiBpbml0U3RhdGUgKHZtKSB7XG4gIHZt
Ll93YXRjaGVycyA9IFtdO1xuICB2YXIgb3B0cyA9IHZtLiRvcHRpb25zO1xuICBpZiAob3B0cy5w
cm9wcykgeyBpbml0UHJvcHModm0sIG9wdHMucHJvcHMpOyB9XG4gIGlmIChvcHRzLm1ldGhvZHMp
IHsgaW5pdE1ldGhvZHModm0sIG9wdHMubWV0aG9kcyk7IH1cbiAgaWYgKG9wdHMuZGF0YSkge1xu
ICAgIGluaXREYXRhKHZtKTtcbiAgfSBlbHNlIHtcbiAgICBvYnNlcnZlKHZtLl9kYXRhID0ge30s
IHRydWUgLyogYXNSb290RGF0YSAqLyk7XG4gIH1cbiAgaWYgKG9wdHMuY29tcHV0ZWQpIHsgaW5p
dENvbXB1dGVkKHZtLCBvcHRzLmNvbXB1dGVkKTsgfVxuICBpZiAob3B0cy53YXRjaCAmJiBvcHRz
LndhdGNoICE9PSBuYXRpdmVXYXRjaCkge1xuICAgIGluaXRXYXRjaCh2bSwgb3B0cy53YXRjaCk7
XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tPcHRpb25UeXBlICh2bSwgbmFtZSkge1xuICB2YXIg
b3B0aW9uID0gdm0uJG9wdGlvbnNbbmFtZV07XG4gIGlmICghaXNQbGFpbk9iamVjdChvcHRpb24p
KSB7XG4gICAgd2FybihcbiAgICAgIChcImNvbXBvbmVudCBvcHRpb24gXFxcIlwiICsgbmFtZSAr
IFwiXFxcIiBzaG91bGQgYmUgYW4gb2JqZWN0LlwiKSxcbiAgICAgIHZtXG4gICAgKTtcbiAgfVxu
fVxuXG5mdW5jdGlvbiBpbml0UHJvcHMgKHZtLCBwcm9wc09wdGlvbnMpIHtcbiAgdmFyIHByb3Bz
RGF0YSA9IHZtLiRvcHRpb25zLnByb3BzRGF0YSB8fCB7fTtcbiAgdmFyIHByb3BzID0gdm0uX3By
b3BzID0ge307XG4gIC8vIGNhY2hlIHByb3Aga2V5cyBzbyB0aGF0IGZ1dHVyZSBwcm9wcyB1cGRh
dGVzIGNhbiBpdGVyYXRlIHVzaW5nIEFycmF5XG4gIC8vIGluc3RlYWQgb2YgZHluYW1pYyBvYmpl
Y3Qga2V5IGVudW1lcmF0aW9uLlxuICB2YXIga2V5cyA9IHZtLiRvcHRpb25zLl9wcm9wS2V5cyA9
IFtdO1xuICB2YXIgaXNSb290ID0gIXZtLiRwYXJlbnQ7XG4gIC8vIHJvb3QgaW5zdGFuY2UgcHJv
cHMgc2hvdWxkIGJlIGNvbnZlcnRlZFxuICBvYnNlcnZlclN0YXRlLnNob3VsZENvbnZlcnQgPSBp
c1Jvb3Q7XG4gIHZhciBsb29wID0gZnVuY3Rpb24gKCBrZXkgKSB7XG4gICAga2V5cy5wdXNoKGtl
eSk7XG4gICAgdmFyIHZhbHVlID0gdmFsaWRhdGVQcm9wKGtleSwgcHJvcHNPcHRpb25zLCBwcm9w
c0RhdGEsIHZtKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChwcm9j
ZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBpZiAoaXNSZXNlcnZl
ZEF0dHJpYnV0ZShrZXkpIHx8IGNvbmZpZy5pc1Jlc2VydmVkQXR0cihrZXkpKSB7XG4gICAgICAg
IHdhcm4oXG4gICAgICAgICAgKFwiXFxcIlwiICsga2V5ICsgXCJcXFwiIGlzIGEgcmVzZXJ2ZWQg
YXR0cmlidXRlIGFuZCBjYW5ub3QgYmUgdXNlZCBhcyBjb21wb25lbnQgcHJvcC5cIiksXG4gICAg
ICAgICAgdm1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGRlZmluZVJlYWN0aXZlJCQxKHBy
b3BzLCBrZXksIHZhbHVlLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh2bS4kcGFyZW50ICYm
ICFpc1VwZGF0aW5nQ2hpbGRDb21wb25lbnQpIHtcbiAgICAgICAgICB3YXJuKFxuICAgICAgICAg
ICAgXCJBdm9pZCBtdXRhdGluZyBhIHByb3AgZGlyZWN0bHkgc2luY2UgdGhlIHZhbHVlIHdpbGwg
YmUgXCIgK1xuICAgICAgICAgICAgXCJvdmVyd3JpdHRlbiB3aGVuZXZlciB0aGUgcGFyZW50IGNv
bXBvbmVudCByZS1yZW5kZXJzLiBcIiArXG4gICAgICAgICAgICBcIkluc3RlYWQsIHVzZSBhIGRh
dGEgb3IgY29tcHV0ZWQgcHJvcGVydHkgYmFzZWQgb24gdGhlIHByb3AncyBcIiArXG4gICAgICAg
ICAgICBcInZhbHVlLiBQcm9wIGJlaW5nIG11dGF0ZWQ6IFxcXCJcIiArIGtleSArIFwiXFxcIlwi
LFxuICAgICAgICAgICAgdm1cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAg
ICB9IGVsc2Uge1xuICAgICAgZGVmaW5lUmVhY3RpdmUkJDEocHJvcHMsIGtleSwgdmFsdWUpO1xu
ICAgIH1cbiAgICAvLyBzdGF0aWMgcHJvcHMgYXJlIGFscmVhZHkgcHJveGllZCBvbiB0aGUgY29t
cG9uZW50J3MgcHJvdG90eXBlXG4gICAgLy8gZHVyaW5nIFZ1ZS5leHRlbmQoKS4gV2Ugb25seSBu
ZWVkIHRvIHByb3h5IHByb3BzIGRlZmluZWQgYXRcbiAgICAvLyBpbnN0YW50aWF0aW9uIGhlcmUu
XG4gICAgaWYgKCEoa2V5IGluIHZtKSkge1xuICAgICAgcHJveHkodm0sIFwiX3Byb3BzXCIsIGtl
eSk7XG4gICAgfVxuICB9O1xuXG4gIGZvciAodmFyIGtleSBpbiBwcm9wc09wdGlvbnMpIGxvb3Ao
IGtleSApO1xuICBvYnNlcnZlclN0YXRlLnNob3VsZENvbnZlcnQgPSB0cnVlO1xufVxuXG5mdW5j
dGlvbiBpbml0RGF0YSAodm0pIHtcbiAgdmFyIGRhdGEgPSB2bS4kb3B0aW9ucy5kYXRhO1xuICBk
YXRhID0gdm0uX2RhdGEgPSB0eXBlb2YgZGF0YSA9PT0gJ2Z1bmN0aW9uJ1xuICAgID8gZ2V0RGF0
YShkYXRhLCB2bSlcbiAgICA6IGRhdGEgfHwge307XG4gIGlmICghaXNQbGFpbk9iamVjdChkYXRh
KSkge1xuICAgIGRhdGEgPSB7fTtcbiAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1
Y3Rpb24nICYmIHdhcm4oXG4gICAgICAnZGF0YSBmdW5jdGlvbnMgc2hvdWxkIHJldHVybiBhbiBv
YmplY3Q6XFxuJyArXG4gICAgICAnaHR0cHM6Ly92dWVqcy5vcmcvdjIvZ3VpZGUvY29tcG9uZW50
cy5odG1sI2RhdGEtTXVzdC1CZS1hLUZ1bmN0aW9uJyxcbiAgICAgIHZtXG4gICAgKTtcbiAgfVxu
ICAvLyBwcm94eSBkYXRhIG9uIGluc3RhbmNlXG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZGF0
YSk7XG4gIHZhciBwcm9wcyA9IHZtLiRvcHRpb25zLnByb3BzO1xuICB2YXIgbWV0aG9kcyA9IHZt
LiRvcHRpb25zLm1ldGhvZHM7XG4gIHZhciBpID0ga2V5cy5sZW5ndGg7XG4gIHdoaWxlIChpLS0p
IHtcbiAgICB2YXIga2V5ID0ga2V5c1tpXTtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYg
IT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgaWYgKG1ldGhvZHMgJiYgaGFzT3duKG1ldGhvZHMs
IGtleSkpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICAoXCJtZXRob2QgXFxcIlwiICsga2V5
ICsgXCJcXFwiIGhhcyBhbHJlYWR5IGJlZW4gZGVmaW5lZCBhcyBhIGRhdGEgcHJvcGVydHkuXCIp
LFxuICAgICAgICAgIHZtXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9w
cyAmJiBoYXNPd24ocHJvcHMsIGtleSkpIHtcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9
PSAncHJvZHVjdGlvbicgJiYgd2FybihcbiAgICAgICAgXCJUaGUgZGF0YSBwcm9wZXJ0eSBcXFwi
XCIgKyBrZXkgKyBcIlxcXCIgaXMgYWxyZWFkeSBkZWNsYXJlZCBhcyBhIHByb3AuIFwiICtcbiAg
ICAgICAgXCJVc2UgcHJvcCBkZWZhdWx0IHZhbHVlIGluc3RlYWQuXCIsXG4gICAgICAgIHZtXG4g
ICAgICApO1xuICAgIH0gZWxzZSBpZiAoIWlzUmVzZXJ2ZWQoa2V5KSkge1xuICAgICAgcHJveHko
dm0sIFwiX2RhdGFcIiwga2V5KTtcbiAgICB9XG4gIH1cbiAgLy8gb2JzZXJ2ZSBkYXRhXG4gIG9i
c2VydmUoZGF0YSwgdHJ1ZSAvKiBhc1Jvb3REYXRhICovKTtcbn1cblxuZnVuY3Rpb24gZ2V0RGF0
YSAoZGF0YSwgdm0pIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZGF0YS5jYWxsKHZtKVxuICB9IGNh
dGNoIChlKSB7XG4gICAgaGFuZGxlRXJyb3IoZSwgdm0sIFwiZGF0YSgpXCIpO1xuICAgIHJldHVy
biB7fVxuICB9XG59XG5cbnZhciBjb21wdXRlZFdhdGNoZXJPcHRpb25zID0geyBsYXp5OiB0cnVl
IH07XG5cbmZ1bmN0aW9uIGluaXRDb21wdXRlZCAodm0sIGNvbXB1dGVkKSB7XG4gIHByb2Nlc3Mu
ZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgY2hlY2tPcHRpb25UeXBlKHZtLCAnY29t
cHV0ZWQnKTtcbiAgdmFyIHdhdGNoZXJzID0gdm0uX2NvbXB1dGVkV2F0Y2hlcnMgPSBPYmplY3Qu
Y3JlYXRlKG51bGwpO1xuXG4gIGZvciAodmFyIGtleSBpbiBjb21wdXRlZCkge1xuICAgIHZhciB1
c2VyRGVmID0gY29tcHV0ZWRba2V5XTtcbiAgICB2YXIgZ2V0dGVyID0gdHlwZW9mIHVzZXJEZWYg
PT09ICdmdW5jdGlvbicgPyB1c2VyRGVmIDogdXNlckRlZi5nZXQ7XG4gICAgaWYgKHByb2Nlc3Mu
ZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgZ2V0dGVyID09IG51bGwpIHtcbiAgICAg
IHdhcm4oXG4gICAgICAgIChcIkdldHRlciBpcyBtaXNzaW5nIGZvciBjb21wdXRlZCBwcm9wZXJ0
eSBcXFwiXCIgKyBrZXkgKyBcIlxcXCIuXCIpLFxuICAgICAgICB2bVxuICAgICAgKTtcbiAgICB9
XG4gICAgLy8gY3JlYXRlIGludGVybmFsIHdhdGNoZXIgZm9yIHRoZSBjb21wdXRlZCBwcm9wZXJ0
eS5cbiAgICB3YXRjaGVyc1trZXldID0gbmV3IFdhdGNoZXIodm0sIGdldHRlciB8fCBub29wLCBu
b29wLCBjb21wdXRlZFdhdGNoZXJPcHRpb25zKTtcblxuICAgIC8vIGNvbXBvbmVudC1kZWZpbmVk
IGNvbXB1dGVkIHByb3BlcnRpZXMgYXJlIGFscmVhZHkgZGVmaW5lZCBvbiB0aGVcbiAgICAvLyBj
b21wb25lbnQgcHJvdG90eXBlLiBXZSBvbmx5IG5lZWQgdG8gZGVmaW5lIGNvbXB1dGVkIHByb3Bl
cnRpZXMgZGVmaW5lZFxuICAgIC8vIGF0IGluc3RhbnRpYXRpb24gaGVyZS5cbiAgICBpZiAoIShr
ZXkgaW4gdm0pKSB7XG4gICAgICBkZWZpbmVDb21wdXRlZCh2bSwga2V5LCB1c2VyRGVmKTtcbiAg
ICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAg
ICAgIGlmIChrZXkgaW4gdm0uJGRhdGEpIHtcbiAgICAgICAgd2FybigoXCJUaGUgY29tcHV0ZWQg
cHJvcGVydHkgXFxcIlwiICsga2V5ICsgXCJcXFwiIGlzIGFscmVhZHkgZGVmaW5lZCBpbiBkYXRh
LlwiKSwgdm0pO1xuICAgICAgfSBlbHNlIGlmICh2bS4kb3B0aW9ucy5wcm9wcyAmJiBrZXkgaW4g
dm0uJG9wdGlvbnMucHJvcHMpIHtcbiAgICAgICAgd2FybigoXCJUaGUgY29tcHV0ZWQgcHJvcGVy
dHkgXFxcIlwiICsga2V5ICsgXCJcXFwiIGlzIGFscmVhZHkgZGVmaW5lZCBhcyBhIHByb3AuXCIp
LCB2bSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmluZUNvbXB1dGVk
ICh0YXJnZXQsIGtleSwgdXNlckRlZikge1xuICBpZiAodHlwZW9mIHVzZXJEZWYgPT09ICdmdW5j
dGlvbicpIHtcbiAgICBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24uZ2V0ID0gY3JlYXRlQ29tcHV0
ZWRHZXR0ZXIoa2V5KTtcbiAgICBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24uc2V0ID0gbm9vcDtc
biAgfSBlbHNlIHtcbiAgICBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24uZ2V0ID0gdXNlckRlZi5n
ZXRcbiAgICAgID8gdXNlckRlZi5jYWNoZSAhPT0gZmFsc2VcbiAgICAgICAgPyBjcmVhdGVDb21w
dXRlZEdldHRlcihrZXkpXG4gICAgICAgIDogdXNlckRlZi5nZXRcbiAgICAgIDogbm9vcDtcbiAg
ICBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24uc2V0ID0gdXNlckRlZi5zZXRcbiAgICAgID8gdXNl
ckRlZi5zZXRcbiAgICAgIDogbm9vcDtcbiAgfVxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYg
IT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uLnNldCA9
PT0gbm9vcCkge1xuICAgIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5zZXQgPSBmdW5jdGlvbiAo
KSB7XG4gICAgICB3YXJuKFxuICAgICAgICAoXCJDb21wdXRlZCBwcm9wZXJ0eSBcXFwiXCIgKyBr
ZXkgKyBcIlxcXCIgd2FzIGFzc2lnbmVkIHRvIGJ1dCBpdCBoYXMgbm8gc2V0dGVyLlwiKSxcbiAg
ICAgICAgdGhpc1xuICAgICAgKTtcbiAgICB9O1xuICB9XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0
eSh0YXJnZXQsIGtleSwgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uKTtcbn1cblxuZnVuY3Rpb24g
Y3JlYXRlQ29tcHV0ZWRHZXR0ZXIgKGtleSkge1xuICByZXR1cm4gZnVuY3Rpb24gY29tcHV0ZWRH
ZXR0ZXIgKCkge1xuICAgIHZhciB3YXRjaGVyID0gdGhpcy5fY29tcHV0ZWRXYXRjaGVycyAmJiB0
aGlzLl9jb21wdXRlZFdhdGNoZXJzW2tleV07XG4gICAgaWYgKHdhdGNoZXIpIHtcbiAgICAgIGlm
ICh3YXRjaGVyLmRpcnR5KSB7XG4gICAgICAgIHdhdGNoZXIuZXZhbHVhdGUoKTtcbiAgICAgIH1c
biAgICAgIGlmIChEZXAudGFyZ2V0KSB7XG4gICAgICAgIHdhdGNoZXIuZGVwZW5kKCk7XG4gICAg
ICB9XG4gICAgICByZXR1cm4gd2F0Y2hlci52YWx1ZVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlv
biBpbml0TWV0aG9kcyAodm0sIG1ldGhvZHMpIHtcbiAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09
ICdwcm9kdWN0aW9uJyAmJiBjaGVja09wdGlvblR5cGUodm0sICdtZXRob2RzJyk7XG4gIHZhciBw
cm9wcyA9IHZtLiRvcHRpb25zLnByb3BzO1xuICBmb3IgKHZhciBrZXkgaW4gbWV0aG9kcykge1xu
ICAgIHZtW2tleV0gPSBtZXRob2RzW2tleV0gPT0gbnVsbCA/IG5vb3AgOiBiaW5kKG1ldGhvZHNb
a2V5XSwgdm0pO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24n
KSB7XG4gICAgICBpZiAobWV0aG9kc1trZXldID09IG51bGwpIHtcbiAgICAgICAgd2FybihcbiAg
ICAgICAgICBcIm1ldGhvZCBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgaGFzIGFuIHVuZGVmaW5lZCB2
YWx1ZSBpbiB0aGUgY29tcG9uZW50IGRlZmluaXRpb24uIFwiICtcbiAgICAgICAgICBcIkRpZCB5
b3UgcmVmZXJlbmNlIHRoZSBmdW5jdGlvbiBjb3JyZWN0bHk/XCIsXG4gICAgICAgICAgdm1cbiAg
ICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcyAmJiBoYXNPd24ocHJvcHMsIGtleSkp
IHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICAoXCJtZXRob2QgXFxcIlwiICsga2V5ICsgXCJc
XFwiIGhhcyBhbHJlYWR5IGJlZW4gZGVmaW5lZCBhcyBhIHByb3AuXCIpLFxuICAgICAgICAgIHZt
XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGluaXRXYXRj
aCAodm0sIHdhdGNoKSB7XG4gIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicg
JiYgY2hlY2tPcHRpb25UeXBlKHZtLCAnd2F0Y2gnKTtcbiAgZm9yICh2YXIga2V5IGluIHdhdGNo
KSB7XG4gICAgdmFyIGhhbmRsZXIgPSB3YXRjaFtrZXldO1xuICAgIGlmIChBcnJheS5pc0FycmF5
KGhhbmRsZXIpKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGhhbmRsZXIubGVuZ3RoOyBp
KyspIHtcbiAgICAgICAgY3JlYXRlV2F0Y2hlcih2bSwga2V5LCBoYW5kbGVyW2ldKTtcbiAgICAg
IH1cbiAgICB9IGVsc2Uge1xuICAgICAgY3JlYXRlV2F0Y2hlcih2bSwga2V5LCBoYW5kbGVyKTtc
biAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlV2F0Y2hlciAoXG4gIHZtLFxuICBrZXlP
ckZuLFxuICBoYW5kbGVyLFxuICBvcHRpb25zXG4pIHtcbiAgaWYgKGlzUGxhaW5PYmplY3QoaGFu
ZGxlcikpIHtcbiAgICBvcHRpb25zID0gaGFuZGxlcjtcbiAgICBoYW5kbGVyID0gaGFuZGxlci5o
YW5kbGVyO1xuICB9XG4gIGlmICh0eXBlb2YgaGFuZGxlciA9PT0gJ3N0cmluZycpIHtcbiAgICBo
YW5kbGVyID0gdm1baGFuZGxlcl07XG4gIH1cbiAgcmV0dXJuIHZtLiR3YXRjaChrZXlPckZuLCBo
YW5kbGVyLCBvcHRpb25zKVxufVxuXG5mdW5jdGlvbiBzdGF0ZU1peGluIChWdWUpIHtcbiAgLy8g
ZmxvdyBzb21laG93IGhhcyBwcm9ibGVtcyB3aXRoIGRpcmVjdGx5IGRlY2xhcmVkIGRlZmluaXRp
b24gb2JqZWN0XG4gIC8vIHdoZW4gdXNpbmcgT2JqZWN0LmRlZmluZVByb3BlcnR5LCBzbyB3ZSBo
YXZlIHRvIHByb2NlZHVyYWxseSBidWlsZCB1cFxuICAvLyB0aGUgb2JqZWN0IGhlcmUuXG4gIHZh
ciBkYXRhRGVmID0ge307XG4gIGRhdGFEZWYuZ2V0ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhp
cy5fZGF0YSB9O1xuICB2YXIgcHJvcHNEZWYgPSB7fTtcbiAgcHJvcHNEZWYuZ2V0ID0gZnVuY3Rp
b24gKCkgeyByZXR1cm4gdGhpcy5fcHJvcHMgfTtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5W
ICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBkYXRhRGVmLnNldCA9IGZ1bmN0aW9uIChuZXdEYXRh
KSB7XG4gICAgICB3YXJuKFxuICAgICAgICAnQXZvaWQgcmVwbGFjaW5nIGluc3RhbmNlIHJvb3Qg
JGRhdGEuICcgK1xuICAgICAgICAnVXNlIG5lc3RlZCBkYXRhIHByb3BlcnRpZXMgaW5zdGVhZC4n
LFxuICAgICAgICB0aGlzXG4gICAgICApO1xuICAgIH07XG4gICAgcHJvcHNEZWYuc2V0ID0gZnVu
Y3Rpb24gKCkge1xuICAgICAgd2FybihcIiRwcm9wcyBpcyByZWFkb25seS5cIiwgdGhpcyk7XG4g
ICAgfTtcbiAgfVxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoVnVlLnByb3RvdHlwZSwgJyRkYXRh
JywgZGF0YURlZik7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShWdWUucHJvdG90eXBlLCAnJHBy
b3BzJywgcHJvcHNEZWYpO1xuXG4gIFZ1ZS5wcm90b3R5cGUuJHNldCA9IHNldDtcbiAgVnVlLnBy
b3RvdHlwZS4kZGVsZXRlID0gZGVsO1xuXG4gIFZ1ZS5wcm90b3R5cGUuJHdhdGNoID0gZnVuY3Rp
b24gKFxuICAgIGV4cE9yRm4sXG4gICAgY2IsXG4gICAgb3B0aW9uc1xuICApIHtcbiAgICB2YXIg
dm0gPSB0aGlzO1xuICAgIGlmIChpc1BsYWluT2JqZWN0KGNiKSkge1xuICAgICAgcmV0dXJuIGNy
ZWF0ZVdhdGNoZXIodm0sIGV4cE9yRm4sIGNiLCBvcHRpb25zKVxuICAgIH1cbiAgICBvcHRpb25z
ID0gb3B0aW9ucyB8fCB7fTtcbiAgICBvcHRpb25zLnVzZXIgPSB0cnVlO1xuICAgIHZhciB3YXRj
aGVyID0gbmV3IFdhdGNoZXIodm0sIGV4cE9yRm4sIGNiLCBvcHRpb25zKTtcbiAgICBpZiAob3B0
aW9ucy5pbW1lZGlhdGUpIHtcbiAgICAgIGNiLmNhbGwodm0sIHdhdGNoZXIudmFsdWUpO1xuICAg
IH1cbiAgICByZXR1cm4gZnVuY3Rpb24gdW53YXRjaEZuICgpIHtcbiAgICAgIHdhdGNoZXIudGVh
cmRvd24oKTtcbiAgICB9XG4gIH07XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBpbml0UHJvdmlk
ZSAodm0pIHtcbiAgdmFyIHByb3ZpZGUgPSB2bS4kb3B0aW9ucy5wcm92aWRlO1xuICBpZiAocHJv
dmlkZSkge1xuICAgIHZtLl9wcm92aWRlZCA9IHR5cGVvZiBwcm92aWRlID09PSAnZnVuY3Rpb24n
XG4gICAgICA/IHByb3ZpZGUuY2FsbCh2bSlcbiAgICAgIDogcHJvdmlkZTtcbiAgfVxufVxuXG5m
dW5jdGlvbiBpbml0SW5qZWN0aW9ucyAodm0pIHtcbiAgdmFyIHJlc3VsdCA9IHJlc29sdmVJbmpl
Y3Qodm0uJG9wdGlvbnMuaW5qZWN0LCB2bSk7XG4gIGlmIChyZXN1bHQpIHtcbiAgICBvYnNlcnZl
clN0YXRlLnNob3VsZENvbnZlcnQgPSBmYWxzZTtcbiAgICBPYmplY3Qua2V5cyhyZXN1bHQpLmZv
ckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9c
biAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAg
ICAgIGRlZmluZVJlYWN0aXZlJCQxKHZtLCBrZXksIHJlc3VsdFtrZXldLCBmdW5jdGlvbiAoKSB7
XG4gICAgICAgICAgd2FybihcbiAgICAgICAgICAgIFwiQXZvaWQgbXV0YXRpbmcgYW4gaW5qZWN0
ZWQgdmFsdWUgZGlyZWN0bHkgc2luY2UgdGhlIGNoYW5nZXMgd2lsbCBiZSBcIiArXG4gICAgICAg
ICAgICBcIm92ZXJ3cml0dGVuIHdoZW5ldmVyIHRoZSBwcm92aWRlZCBjb21wb25lbnQgcmUtcmVu
ZGVycy4gXCIgK1xuICAgICAgICAgICAgXCJpbmplY3Rpb24gYmVpbmcgbXV0YXRlZDogXFxcIlwi
ICsga2V5ICsgXCJcXFwiXCIsXG4gICAgICAgICAgICB2bVxuICAgICAgICAgICk7XG4gICAgICAg
IH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVmaW5lUmVhY3RpdmUkJDEodm0sIGtleSwg
cmVzdWx0W2tleV0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIG9ic2VydmVyU3RhdGUuc2hvdWxk
Q29udmVydCA9IHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVzb2x2ZUluamVjdCAoaW5qZWN0
LCB2bSkge1xuICBpZiAoaW5qZWN0KSB7XG4gICAgLy8gaW5qZWN0IGlzIDphbnkgYmVjYXVzZSBm
bG93IGlzIG5vdCBzbWFydCBlbm91Z2ggdG8gZmlndXJlIG91dCBjYWNoZWRcbiAgICB2YXIgcmVz
dWx0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICB2YXIga2V5cyA9IGhhc1N5bWJvbFxuICAg
ICAgICA/IFJlZmxlY3Qub3duS2V5cyhpbmplY3QpXG4gICAgICAgIDogT2JqZWN0LmtleXMoaW5q
ZWN0KTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAg
ICAgdmFyIGtleSA9IGtleXNbaV07XG4gICAgICB2YXIgcHJvdmlkZUtleSA9IGluamVjdFtrZXld
O1xuICAgICAgdmFyIHNvdXJjZSA9IHZtO1xuICAgICAgd2hpbGUgKHNvdXJjZSkge1xuICAgICAg
ICBpZiAoc291cmNlLl9wcm92aWRlZCAmJiBwcm92aWRlS2V5IGluIHNvdXJjZS5fcHJvdmlkZWQp
IHtcbiAgICAgICAgICByZXN1bHRba2V5XSA9IHNvdXJjZS5fcHJvdmlkZWRbcHJvdmlkZUtleV07
XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgICBzb3VyY2UgPSBzb3VyY2UuJHBh
cmVudDtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1
Y3Rpb24nICYmICFzb3VyY2UpIHtcbiAgICAgICAgd2FybigoXCJJbmplY3Rpb24gXFxcIlwiICsg
a2V5ICsgXCJcXFwiIG5vdCBmb3VuZFwiKSwgdm0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1
cm4gcmVzdWx0XG4gIH1cbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGNyZWF0ZUZ1bmN0aW9uYWxD
b21wb25lbnQgKFxuICBDdG9yLFxuICBwcm9wc0RhdGEsXG4gIGRhdGEsXG4gIGNvbnRleHQsXG4g
IGNoaWxkcmVuXG4pIHtcbiAgdmFyIHByb3BzID0ge307XG4gIHZhciBwcm9wT3B0aW9ucyA9IEN0
b3Iub3B0aW9ucy5wcm9wcztcbiAgaWYgKGlzRGVmKHByb3BPcHRpb25zKSkge1xuICAgIGZvciAo
dmFyIGtleSBpbiBwcm9wT3B0aW9ucykge1xuICAgICAgcHJvcHNba2V5XSA9IHZhbGlkYXRlUHJv
cChrZXksIHByb3BPcHRpb25zLCBwcm9wc0RhdGEgfHwge30pO1xuICAgIH1cbiAgfSBlbHNlIHtc
biAgICBpZiAoaXNEZWYoZGF0YS5hdHRycykpIHsgbWVyZ2VQcm9wcyhwcm9wcywgZGF0YS5hdHRy
cyk7IH1cbiAgICBpZiAoaXNEZWYoZGF0YS5wcm9wcykpIHsgbWVyZ2VQcm9wcyhwcm9wcywgZGF0
YS5wcm9wcyk7IH1cbiAgfVxuICAvLyBlbnN1cmUgdGhlIGNyZWF0ZUVsZW1lbnQgZnVuY3Rpb24g
aW4gZnVuY3Rpb25hbCBjb21wb25lbnRzXG4gIC8vIGdldHMgYSB1bmlxdWUgY29udGV4dCAtIHRo
aXMgaXMgbmVjZXNzYXJ5IGZvciBjb3JyZWN0IG5hbWVkIHNsb3QgY2hlY2tcbiAgdmFyIF9jb250
ZXh0ID0gT2JqZWN0LmNyZWF0ZShjb250ZXh0KTtcbiAgdmFyIGggPSBmdW5jdGlvbiAoYSwgYiwg
YywgZCkgeyByZXR1cm4gY3JlYXRlRWxlbWVudChfY29udGV4dCwgYSwgYiwgYywgZCwgdHJ1ZSk7
IH07XG4gIHZhciB2bm9kZSA9IEN0b3Iub3B0aW9ucy5yZW5kZXIuY2FsbChudWxsLCBoLCB7XG4g
ICAgZGF0YTogZGF0YSxcbiAgICBwcm9wczogcHJvcHMsXG4gICAgY2hpbGRyZW46IGNoaWxkcmVu
LFxuICAgIHBhcmVudDogY29udGV4dCxcbiAgICBsaXN0ZW5lcnM6IGRhdGEub24gfHwge30sXG4g
ICAgaW5qZWN0aW9uczogcmVzb2x2ZUluamVjdChDdG9yLm9wdGlvbnMuaW5qZWN0LCBjb250ZXh0
KSxcbiAgICBzbG90czogZnVuY3Rpb24gKCkgeyByZXR1cm4gcmVzb2x2ZVNsb3RzKGNoaWxkcmVu
LCBjb250ZXh0KTsgfVxuICB9KTtcbiAgaWYgKHZub2RlIGluc3RhbmNlb2YgVk5vZGUpIHtcbiAg
ICB2bm9kZS5mdW5jdGlvbmFsQ29udGV4dCA9IGNvbnRleHQ7XG4gICAgdm5vZGUuZnVuY3Rpb25h
bE9wdGlvbnMgPSBDdG9yLm9wdGlvbnM7XG4gICAgaWYgKGRhdGEuc2xvdCkge1xuICAgICAgKHZu
b2RlLmRhdGEgfHwgKHZub2RlLmRhdGEgPSB7fSkpLnNsb3QgPSBkYXRhLnNsb3Q7XG4gICAgfVxu
ICB9XG4gIHJldHVybiB2bm9kZVxufVxuXG5mdW5jdGlvbiBtZXJnZVByb3BzICh0bywgZnJvbSkg
e1xuICBmb3IgKHZhciBrZXkgaW4gZnJvbSkge1xuICAgIHRvW2NhbWVsaXplKGtleSldID0gZnJv
bVtrZXldO1xuICB9XG59XG5cbi8qICAqL1xuXG4vLyBob29rcyB0byBiZSBpbnZva2VkIG9uIGNv
bXBvbmVudCBWTm9kZXMgZHVyaW5nIHBhdGNoXG52YXIgY29tcG9uZW50Vk5vZGVIb29rcyA9IHtc
biAgaW5pdDogZnVuY3Rpb24gaW5pdCAoXG4gICAgdm5vZGUsXG4gICAgaHlkcmF0aW5nLFxuICAg
IHBhcmVudEVsbSxcbiAgICByZWZFbG1cbiAgKSB7XG4gICAgaWYgKCF2bm9kZS5jb21wb25lbnRJ
bnN0YW5jZSB8fCB2bm9kZS5jb21wb25lbnRJbnN0YW5jZS5faXNEZXN0cm95ZWQpIHtcbiAgICAg
IHZhciBjaGlsZCA9IHZub2RlLmNvbXBvbmVudEluc3RhbmNlID0gY3JlYXRlQ29tcG9uZW50SW5z
dGFuY2VGb3JWbm9kZShcbiAgICAgICAgdm5vZGUsXG4gICAgICAgIGFjdGl2ZUluc3RhbmNlLFxu
ICAgICAgICBwYXJlbnRFbG0sXG4gICAgICAgIHJlZkVsbVxuICAgICAgKTtcbiAgICAgIGNoaWxk
LiRtb3VudChoeWRyYXRpbmcgPyB2bm9kZS5lbG0gOiB1bmRlZmluZWQsIGh5ZHJhdGluZyk7XG4g
ICAgfSBlbHNlIGlmICh2bm9kZS5kYXRhLmtlZXBBbGl2ZSkge1xuICAgICAgLy8ga2VwdC1hbGl2
ZSBjb21wb25lbnRzLCB0cmVhdCBhcyBhIHBhdGNoXG4gICAgICB2YXIgbW91bnRlZE5vZGUgPSB2
bm9kZTsgLy8gd29yayBhcm91bmQgZmxvd1xuICAgICAgY29tcG9uZW50Vk5vZGVIb29rcy5wcmVw
YXRjaChtb3VudGVkTm9kZSwgbW91bnRlZE5vZGUpO1xuICAgIH1cbiAgfSxcblxuICBwcmVwYXRj
aDogZnVuY3Rpb24gcHJlcGF0Y2ggKG9sZFZub2RlLCB2bm9kZSkge1xuICAgIHZhciBvcHRpb25z
ID0gdm5vZGUuY29tcG9uZW50T3B0aW9ucztcbiAgICB2YXIgY2hpbGQgPSB2bm9kZS5jb21wb25l
bnRJbnN0YW5jZSA9IG9sZFZub2RlLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIHVwZGF0ZUNoaWxk
Q29tcG9uZW50KFxuICAgICAgY2hpbGQsXG4gICAgICBvcHRpb25zLnByb3BzRGF0YSwgLy8gdXBk
YXRlZCBwcm9wc1xuICAgICAgb3B0aW9ucy5saXN0ZW5lcnMsIC8vIHVwZGF0ZWQgbGlzdGVuZXJz
XG4gICAgICB2bm9kZSwgLy8gbmV3IHBhcmVudCB2bm9kZVxuICAgICAgb3B0aW9ucy5jaGlsZHJl
biAvLyBuZXcgY2hpbGRyZW5cbiAgICApO1xuICB9LFxuXG4gIGluc2VydDogZnVuY3Rpb24gaW5z
ZXJ0ICh2bm9kZSkge1xuICAgIHZhciBjb250ZXh0ID0gdm5vZGUuY29udGV4dDtcbiAgICB2YXIg
Y29tcG9uZW50SW5zdGFuY2UgPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZTtcbiAgICBpZiAoIWNv
bXBvbmVudEluc3RhbmNlLl9pc01vdW50ZWQpIHtcbiAgICAgIGNvbXBvbmVudEluc3RhbmNlLl9p
c01vdW50ZWQgPSB0cnVlO1xuICAgICAgY2FsbEhvb2soY29tcG9uZW50SW5zdGFuY2UsICdtb3Vu
dGVkJyk7XG4gICAgfVxuICAgIGlmICh2bm9kZS5kYXRhLmtlZXBBbGl2ZSkge1xuICAgICAgaWYg
KGNvbnRleHQuX2lzTW91bnRlZCkge1xuICAgICAgICAvLyB2dWUtcm91dGVyIzEyMTJcbiAgICAg
ICAgLy8gRHVyaW5nIHVwZGF0ZXMsIGEga2VwdC1hbGl2ZSBjb21wb25lbnQncyBjaGlsZCBjb21w
b25lbnRzIG1heVxuICAgICAgICAvLyBjaGFuZ2UsIHNvIGRpcmVjdGx5IHdhbGtpbmcgdGhlIHRy
ZWUgaGVyZSBtYXkgY2FsbCBhY3RpdmF0ZWQgaG9va3NcbiAgICAgICAgLy8gb24gaW5jb3JyZWN0
IGNoaWxkcmVuLiBJbnN0ZWFkIHdlIHB1c2ggdGhlbSBpbnRvIGEgcXVldWUgd2hpY2ggd2lsbFxu
ICAgICAgICAvLyBiZSBwcm9jZXNzZWQgYWZ0ZXIgdGhlIHdob2xlIHBhdGNoIHByb2Nlc3MgZW5k
ZWQuXG4gICAgICAgIHF1ZXVlQWN0aXZhdGVkQ29tcG9uZW50KGNvbXBvbmVudEluc3RhbmNlKTtc
biAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFjdGl2YXRlQ2hpbGRDb21wb25lbnQoY29tcG9uZW50
SW5zdGFuY2UsIHRydWUgLyogZGlyZWN0ICovKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG5cbiAg
ZGVzdHJveTogZnVuY3Rpb24gZGVzdHJveSAodm5vZGUpIHtcbiAgICB2YXIgY29tcG9uZW50SW5z
dGFuY2UgPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZTtcbiAgICBpZiAoIWNvbXBvbmVudEluc3Rh
bmNlLl9pc0Rlc3Ryb3llZCkge1xuICAgICAgaWYgKCF2bm9kZS5kYXRhLmtlZXBBbGl2ZSkge1xu
ICAgICAgICBjb21wb25lbnRJbnN0YW5jZS4kZGVzdHJveSgpO1xuICAgICAgfSBlbHNlIHtcbiAg
ICAgICAgZGVhY3RpdmF0ZUNoaWxkQ29tcG9uZW50KGNvbXBvbmVudEluc3RhbmNlLCB0cnVlIC8q
IGRpcmVjdCAqLyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG52YXIgaG9va3NUb01lcmdl
ID0gT2JqZWN0LmtleXMoY29tcG9uZW50Vk5vZGVIb29rcyk7XG5cbmZ1bmN0aW9uIGNyZWF0ZUNv
bXBvbmVudCAoXG4gIEN0b3IsXG4gIGRhdGEsXG4gIGNvbnRleHQsXG4gIGNoaWxkcmVuLFxuICB0
YWdcbikge1xuICBpZiAoaXNVbmRlZihDdG9yKSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgdmFy
IGJhc2VDdG9yID0gY29udGV4dC4kb3B0aW9ucy5fYmFzZTtcblxuICAvLyBwbGFpbiBvcHRpb25z
IG9iamVjdDogdHVybiBpdCBpbnRvIGEgY29uc3RydWN0b3JcbiAgaWYgKGlzT2JqZWN0KEN0b3Ip
KSB7XG4gICAgQ3RvciA9IGJhc2VDdG9yLmV4dGVuZChDdG9yKTtcbiAgfVxuXG4gIC8vIGlmIGF0
IHRoaXMgc3RhZ2UgaXQncyBub3QgYSBjb25zdHJ1Y3RvciBvciBhbiBhc3luYyBjb21wb25lbnQg
ZmFjdG9yeSxcbiAgLy8gcmVqZWN0LlxuICBpZiAodHlwZW9mIEN0b3IgIT09ICdmdW5jdGlvbicp
IHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAg
ICAgd2FybigoXCJJbnZhbGlkIENvbXBvbmVudCBkZWZpbml0aW9uOiBcIiArIChTdHJpbmcoQ3Rv
cikpKSwgY29udGV4dCk7XG4gICAgfVxuICAgIHJldHVyblxuICB9XG5cbiAgLy8gYXN5bmMgY29t
cG9uZW50XG4gIHZhciBhc3luY0ZhY3Rvcnk7XG4gIGlmIChpc1VuZGVmKEN0b3IuY2lkKSkge1xu
ICAgIGFzeW5jRmFjdG9yeSA9IEN0b3I7XG4gICAgQ3RvciA9IHJlc29sdmVBc3luY0NvbXBvbmVu
dChhc3luY0ZhY3RvcnksIGJhc2VDdG9yLCBjb250ZXh0KTtcbiAgICBpZiAoQ3RvciA9PT0gdW5k
ZWZpbmVkKSB7XG4gICAgICAvLyByZXR1cm4gYSBwbGFjZWhvbGRlciBub2RlIGZvciBhc3luYyBj
b21wb25lbnQsIHdoaWNoIGlzIHJlbmRlcmVkXG4gICAgICAvLyBhcyBhIGNvbW1lbnQgbm9kZSBi
dXQgcHJlc2VydmVzIGFsbCB0aGUgcmF3IGluZm9ybWF0aW9uIGZvciB0aGUgbm9kZS5cbiAgICAg
IC8vIHRoZSBpbmZvcm1hdGlvbiB3aWxsIGJlIHVzZWQgZm9yIGFzeW5jIHNlcnZlci1yZW5kZXJp
bmcgYW5kIGh5ZHJhdGlvbi5cbiAgICAgIHJldHVybiBjcmVhdGVBc3luY1BsYWNlaG9sZGVyKFxu
ICAgICAgICBhc3luY0ZhY3RvcnksXG4gICAgICAgIGRhdGEsXG4gICAgICAgIGNvbnRleHQsXG4g
ICAgICAgIGNoaWxkcmVuLFxuICAgICAgICB0YWdcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBk
YXRhID0gZGF0YSB8fCB7fTtcblxuICAvLyByZXNvbHZlIGNvbnN0cnVjdG9yIG9wdGlvbnMgaW4g
Y2FzZSBnbG9iYWwgbWl4aW5zIGFyZSBhcHBsaWVkIGFmdGVyXG4gIC8vIGNvbXBvbmVudCBjb25z
dHJ1Y3RvciBjcmVhdGlvblxuICByZXNvbHZlQ29uc3RydWN0b3JPcHRpb25zKEN0b3IpO1xuXG4g
IC8vIHRyYW5zZm9ybSBjb21wb25lbnQgdi1tb2RlbCBkYXRhIGludG8gcHJvcHMgJiBldmVudHNc
biAgaWYgKGlzRGVmKGRhdGEubW9kZWwpKSB7XG4gICAgdHJhbnNmb3JtTW9kZWwoQ3Rvci5vcHRp
b25zLCBkYXRhKTtcbiAgfVxuXG4gIC8vIGV4dHJhY3QgcHJvcHNcbiAgdmFyIHByb3BzRGF0YSA9
IGV4dHJhY3RQcm9wc0Zyb21WTm9kZURhdGEoZGF0YSwgQ3RvciwgdGFnKTtcblxuICAvLyBmdW5j
dGlvbmFsIGNvbXBvbmVudFxuICBpZiAoaXNUcnVlKEN0b3Iub3B0aW9ucy5mdW5jdGlvbmFsKSkg
e1xuICAgIHJldHVybiBjcmVhdGVGdW5jdGlvbmFsQ29tcG9uZW50KEN0b3IsIHByb3BzRGF0YSwg
ZGF0YSwgY29udGV4dCwgY2hpbGRyZW4pXG4gIH1cblxuICAvLyBleHRyYWN0IGxpc3RlbmVycywg
c2luY2UgdGhlc2UgbmVlZHMgdG8gYmUgdHJlYXRlZCBhc1xuICAvLyBjaGlsZCBjb21wb25lbnQg
bGlzdGVuZXJzIGluc3RlYWQgb2YgRE9NIGxpc3RlbmVyc1xuICB2YXIgbGlzdGVuZXJzID0gZGF0
YS5vbjtcbiAgLy8gcmVwbGFjZSB3aXRoIGxpc3RlbmVycyB3aXRoIC5uYXRpdmUgbW9kaWZpZXJc
biAgLy8gc28gaXQgZ2V0cyBwcm9jZXNzZWQgZHVyaW5nIHBhcmVudCBjb21wb25lbnQgcGF0Y2gu
XG4gIGRhdGEub24gPSBkYXRhLm5hdGl2ZU9uO1xuXG4gIGlmIChpc1RydWUoQ3Rvci5vcHRpb25z
LmFic3RyYWN0KSkge1xuICAgIC8vIGFic3RyYWN0IGNvbXBvbmVudHMgZG8gbm90IGtlZXAgYW55
dGhpbmdcbiAgICAvLyBvdGhlciB0aGFuIHByb3BzICYgbGlzdGVuZXJzICYgc2xvdFxuXG4gICAg
Ly8gd29yayBhcm91bmQgZmxvd1xuICAgIHZhciBzbG90ID0gZGF0YS5zbG90O1xuICAgIGRhdGEg
PSB7fTtcbiAgICBpZiAoc2xvdCkge1xuICAgICAgZGF0YS5zbG90ID0gc2xvdDtcbiAgICB9XG4g
IH1cblxuICAvLyBtZXJnZSBjb21wb25lbnQgbWFuYWdlbWVudCBob29rcyBvbnRvIHRoZSBwbGFj
ZWhvbGRlciBub2RlXG4gIG1lcmdlSG9va3MoZGF0YSk7XG5cbiAgLy8gcmV0dXJuIGEgcGxhY2Vo
b2xkZXIgdm5vZGVcbiAgdmFyIG5hbWUgPSBDdG9yLm9wdGlvbnMubmFtZSB8fCB0YWc7XG4gIHZh
ciB2bm9kZSA9IG5ldyBWTm9kZShcbiAgICAoXCJ2dWUtY29tcG9uZW50LVwiICsgKEN0b3IuY2lk
KSArIChuYW1lID8gKFwiLVwiICsgbmFtZSkgOiAnJykpLFxuICAgIGRhdGEsIHVuZGVmaW5lZCwg
dW5kZWZpbmVkLCB1bmRlZmluZWQsIGNvbnRleHQsXG4gICAgeyBDdG9yOiBDdG9yLCBwcm9wc0Rh
dGE6IHByb3BzRGF0YSwgbGlzdGVuZXJzOiBsaXN0ZW5lcnMsIHRhZzogdGFnLCBjaGlsZHJlbjog
Y2hpbGRyZW4gfSxcbiAgICBhc3luY0ZhY3RvcnlcbiAgKTtcbiAgcmV0dXJuIHZub2RlXG59XG5c
bmZ1bmN0aW9uIGNyZWF0ZUNvbXBvbmVudEluc3RhbmNlRm9yVm5vZGUgKFxuICB2bm9kZSwgLy8g
d2Uga25vdyBpdCdzIE1vdW50ZWRDb21wb25lbnRWTm9kZSBidXQgZmxvdyBkb2Vzbid0XG4gIHBh
cmVudCwgLy8gYWN0aXZlSW5zdGFuY2UgaW4gbGlmZWN5Y2xlIHN0YXRlXG4gIHBhcmVudEVsbSxc
biAgcmVmRWxtXG4pIHtcbiAgdmFyIHZub2RlQ29tcG9uZW50T3B0aW9ucyA9IHZub2RlLmNvbXBv
bmVudE9wdGlvbnM7XG4gIHZhciBvcHRpb25zID0ge1xuICAgIF9pc0NvbXBvbmVudDogdHJ1ZSxc
biAgICBwYXJlbnQ6IHBhcmVudCxcbiAgICBwcm9wc0RhdGE6IHZub2RlQ29tcG9uZW50T3B0aW9u
cy5wcm9wc0RhdGEsXG4gICAgX2NvbXBvbmVudFRhZzogdm5vZGVDb21wb25lbnRPcHRpb25zLnRh
ZyxcbiAgICBfcGFyZW50Vm5vZGU6IHZub2RlLFxuICAgIF9wYXJlbnRMaXN0ZW5lcnM6IHZub2Rl
Q29tcG9uZW50T3B0aW9ucy5saXN0ZW5lcnMsXG4gICAgX3JlbmRlckNoaWxkcmVuOiB2bm9kZUNv
bXBvbmVudE9wdGlvbnMuY2hpbGRyZW4sXG4gICAgX3BhcmVudEVsbTogcGFyZW50RWxtIHx8IG51
bGwsXG4gICAgX3JlZkVsbTogcmVmRWxtIHx8IG51bGxcbiAgfTtcbiAgLy8gY2hlY2sgaW5saW5l
LXRlbXBsYXRlIHJlbmRlciBmdW5jdGlvbnNcbiAgdmFyIGlubGluZVRlbXBsYXRlID0gdm5vZGUu
ZGF0YS5pbmxpbmVUZW1wbGF0ZTtcbiAgaWYgKGlzRGVmKGlubGluZVRlbXBsYXRlKSkge1xuICAg
IG9wdGlvbnMucmVuZGVyID0gaW5saW5lVGVtcGxhdGUucmVuZGVyO1xuICAgIG9wdGlvbnMuc3Rh
dGljUmVuZGVyRm5zID0gaW5saW5lVGVtcGxhdGUuc3RhdGljUmVuZGVyRm5zO1xuICB9XG4gIHJl
dHVybiBuZXcgdm5vZGVDb21wb25lbnRPcHRpb25zLkN0b3Iob3B0aW9ucylcbn1cblxuZnVuY3Rp
b24gbWVyZ2VIb29rcyAoZGF0YSkge1xuICBpZiAoIWRhdGEuaG9vaykge1xuICAgIGRhdGEuaG9v
ayA9IHt9O1xuICB9XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgaG9va3NUb01lcmdlLmxlbmd0aDsg
aSsrKSB7XG4gICAgdmFyIGtleSA9IGhvb2tzVG9NZXJnZVtpXTtcbiAgICB2YXIgZnJvbVBhcmVu
dCA9IGRhdGEuaG9va1trZXldO1xuICAgIHZhciBvdXJzID0gY29tcG9uZW50Vk5vZGVIb29rc1tr
ZXldO1xuICAgIGRhdGEuaG9va1trZXldID0gZnJvbVBhcmVudCA/IG1lcmdlSG9vayQxKG91cnMs
IGZyb21QYXJlbnQpIDogb3VycztcbiAgfVxufVxuXG5mdW5jdGlvbiBtZXJnZUhvb2skMSAob25l
LCB0d28pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChhLCBiLCBjLCBkKSB7XG4gICAgb25lKGEsIGIs
IGMsIGQpO1xuICAgIHR3byhhLCBiLCBjLCBkKTtcbiAgfVxufVxuXG4vLyB0cmFuc2Zvcm0gY29t
cG9uZW50IHYtbW9kZWwgaW5mbyAodmFsdWUgYW5kIGNhbGxiYWNrKSBpbnRvXG4vLyBwcm9wIGFu
ZCBldmVudCBoYW5kbGVyIHJlc3BlY3RpdmVseS5cbmZ1bmN0aW9uIHRyYW5zZm9ybU1vZGVsIChv
cHRpb25zLCBkYXRhKSB7XG4gIHZhciBwcm9wID0gKG9wdGlvbnMubW9kZWwgJiYgb3B0aW9ucy5t
b2RlbC5wcm9wKSB8fCAndmFsdWUnO1xuICB2YXIgZXZlbnQgPSAob3B0aW9ucy5tb2RlbCAmJiBv
cHRpb25zLm1vZGVsLmV2ZW50KSB8fCAnaW5wdXQnOyhkYXRhLnByb3BzIHx8IChkYXRhLnByb3Bz
ID0ge30pKVtwcm9wXSA9IGRhdGEubW9kZWwudmFsdWU7XG4gIHZhciBvbiA9IGRhdGEub24gfHwg
KGRhdGEub24gPSB7fSk7XG4gIGlmIChpc0RlZihvbltldmVudF0pKSB7XG4gICAgb25bZXZlbnRd
ID0gW2RhdGEubW9kZWwuY2FsbGJhY2tdLmNvbmNhdChvbltldmVudF0pO1xuICB9IGVsc2Uge1xu
ICAgIG9uW2V2ZW50XSA9IGRhdGEubW9kZWwuY2FsbGJhY2s7XG4gIH1cbn1cblxuLyogICovXG5c
bnZhciBTSU1QTEVfTk9STUFMSVpFID0gMTtcbnZhciBBTFdBWVNfTk9STUFMSVpFID0gMjtcblxu
Ly8gd3JhcHBlciBmdW5jdGlvbiBmb3IgcHJvdmlkaW5nIGEgbW9yZSBmbGV4aWJsZSBpbnRlcmZh
Y2Vcbi8vIHdpdGhvdXQgZ2V0dGluZyB5ZWxsZWQgYXQgYnkgZmxvd1xuZnVuY3Rpb24gY3JlYXRl
RWxlbWVudCAoXG4gIGNvbnRleHQsXG4gIHRhZyxcbiAgZGF0YSxcbiAgY2hpbGRyZW4sXG4gIG5v
cm1hbGl6YXRpb25UeXBlLFxuICBhbHdheXNOb3JtYWxpemVcbikge1xuICBpZiAoQXJyYXkuaXNB
cnJheShkYXRhKSB8fCBpc1ByaW1pdGl2ZShkYXRhKSkge1xuICAgIG5vcm1hbGl6YXRpb25UeXBl
ID0gY2hpbGRyZW47XG4gICAgY2hpbGRyZW4gPSBkYXRhO1xuICAgIGRhdGEgPSB1bmRlZmluZWQ7
XG4gIH1cbiAgaWYgKGlzVHJ1ZShhbHdheXNOb3JtYWxpemUpKSB7XG4gICAgbm9ybWFsaXphdGlv
blR5cGUgPSBBTFdBWVNfTk9STUFMSVpFO1xuICB9XG4gIHJldHVybiBfY3JlYXRlRWxlbWVudChj
b250ZXh0LCB0YWcsIGRhdGEsIGNoaWxkcmVuLCBub3JtYWxpemF0aW9uVHlwZSlcbn1cblxuZnVu
Y3Rpb24gX2NyZWF0ZUVsZW1lbnQgKFxuICBjb250ZXh0LFxuICB0YWcsXG4gIGRhdGEsXG4gIGNo
aWxkcmVuLFxuICBub3JtYWxpemF0aW9uVHlwZVxuKSB7XG4gIGlmIChpc0RlZihkYXRhKSAmJiBp
c0RlZigoZGF0YSkuX19vYl9fKSkge1xuICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJv
ZHVjdGlvbicgJiYgd2FybihcbiAgICAgIFwiQXZvaWQgdXNpbmcgb2JzZXJ2ZWQgZGF0YSBvYmpl
Y3QgYXMgdm5vZGUgZGF0YTogXCIgKyAoSlNPTi5zdHJpbmdpZnkoZGF0YSkpICsgXCJcXG5cIiAr
XG4gICAgICAnQWx3YXlzIGNyZWF0ZSBmcmVzaCB2bm9kZSBkYXRhIG9iamVjdHMgaW4gZWFjaCBy
ZW5kZXIhJyxcbiAgICAgIGNvbnRleHRcbiAgICApO1xuICAgIHJldHVybiBjcmVhdGVFbXB0eVZO
b2RlKClcbiAgfVxuICAvLyBvYmplY3Qgc3ludGF4IGluIHYtYmluZFxuICBpZiAoaXNEZWYoZGF0
YSkgJiYgaXNEZWYoZGF0YS5pcykpIHtcbiAgICB0YWcgPSBkYXRhLmlzO1xuICB9XG4gIGlmICgh
dGFnKSB7XG4gICAgLy8gaW4gY2FzZSBvZiBjb21wb25lbnQgOmlzIHNldCB0byBmYWxzeSB2YWx1
ZVxuICAgIHJldHVybiBjcmVhdGVFbXB0eVZOb2RlKClcbiAgfVxuICAvLyB3YXJuIGFnYWluc3Qg
bm9uLXByaW1pdGl2ZSBrZXlcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVj
dGlvbicgJiZcbiAgICBpc0RlZihkYXRhKSAmJiBpc0RlZihkYXRhLmtleSkgJiYgIWlzUHJpbWl0
aXZlKGRhdGEua2V5KVxuICApIHtcbiAgICB3YXJuKFxuICAgICAgJ0F2b2lkIHVzaW5nIG5vbi1w
cmltaXRpdmUgdmFsdWUgYXMga2V5LCAnICtcbiAgICAgICd1c2Ugc3RyaW5nL251bWJlciB2YWx1
ZSBpbnN0ZWFkLicsXG4gICAgICBjb250ZXh0XG4gICAgKTtcbiAgfVxuICAvLyBzdXBwb3J0IHNp
bmdsZSBmdW5jdGlvbiBjaGlsZHJlbiBhcyBkZWZhdWx0IHNjb3BlZCBzbG90XG4gIGlmIChBcnJh
eS5pc0FycmF5KGNoaWxkcmVuKSAmJlxuICAgIHR5cGVvZiBjaGlsZHJlblswXSA9PT0gJ2Z1bmN0
aW9uJ1xuICApIHtcbiAgICBkYXRhID0gZGF0YSB8fCB7fTtcbiAgICBkYXRhLnNjb3BlZFNsb3Rz
ID0geyBkZWZhdWx0OiBjaGlsZHJlblswXSB9O1xuICAgIGNoaWxkcmVuLmxlbmd0aCA9IDA7XG4g
IH1cbiAgaWYgKG5vcm1hbGl6YXRpb25UeXBlID09PSBBTFdBWVNfTk9STUFMSVpFKSB7XG4gICAg
Y2hpbGRyZW4gPSBub3JtYWxpemVDaGlsZHJlbihjaGlsZHJlbik7XG4gIH0gZWxzZSBpZiAobm9y
bWFsaXphdGlvblR5cGUgPT09IFNJTVBMRV9OT1JNQUxJWkUpIHtcbiAgICBjaGlsZHJlbiA9IHNp
bXBsZU5vcm1hbGl6ZUNoaWxkcmVuKGNoaWxkcmVuKTtcbiAgfVxuICB2YXIgdm5vZGUsIG5zO1xu
ICBpZiAodHlwZW9mIHRhZyA9PT0gJ3N0cmluZycpIHtcbiAgICB2YXIgQ3RvcjtcbiAgICBucyA9
IGNvbmZpZy5nZXRUYWdOYW1lc3BhY2UodGFnKTtcbiAgICBpZiAoY29uZmlnLmlzUmVzZXJ2ZWRU
YWcodGFnKSkge1xuICAgICAgLy8gcGxhdGZvcm0gYnVpbHQtaW4gZWxlbWVudHNcbiAgICAgIHZu
b2RlID0gbmV3IFZOb2RlKFxuICAgICAgICBjb25maWcucGFyc2VQbGF0Zm9ybVRhZ05hbWUodGFn
KSwgZGF0YSwgY2hpbGRyZW4sXG4gICAgICAgIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBjb250ZXh0
XG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoaXNEZWYoQ3RvciA9IHJlc29sdmVBc3NldChjb250
ZXh0LiRvcHRpb25zLCAnY29tcG9uZW50cycsIHRhZykpKSB7XG4gICAgICAvLyBjb21wb25lbnRc
biAgICAgIHZub2RlID0gY3JlYXRlQ29tcG9uZW50KEN0b3IsIGRhdGEsIGNvbnRleHQsIGNoaWxk
cmVuLCB0YWcpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB1bmtub3duIG9yIHVubGlzdGVkIG5h
bWVzcGFjZWQgZWxlbWVudHNcbiAgICAgIC8vIGNoZWNrIGF0IHJ1bnRpbWUgYmVjYXVzZSBpdCBt
YXkgZ2V0IGFzc2lnbmVkIGEgbmFtZXNwYWNlIHdoZW4gaXRzXG4gICAgICAvLyBwYXJlbnQgbm9y
bWFsaXplcyBjaGlsZHJlblxuICAgICAgdm5vZGUgPSBuZXcgVk5vZGUoXG4gICAgICAgIHRhZywg
ZGF0YSwgY2hpbGRyZW4sXG4gICAgICAgIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBjb250ZXh0XG4g
ICAgICApO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBkaXJlY3QgY29tcG9uZW50IG9wdGlv
bnMgLyBjb25zdHJ1Y3RvclxuICAgIHZub2RlID0gY3JlYXRlQ29tcG9uZW50KHRhZywgZGF0YSwg
Y29udGV4dCwgY2hpbGRyZW4pO1xuICB9XG4gIGlmIChpc0RlZih2bm9kZSkpIHtcbiAgICBpZiAo
bnMpIHsgYXBwbHlOUyh2bm9kZSwgbnMpOyB9XG4gICAgcmV0dXJuIHZub2RlXG4gIH0gZWxzZSB7
XG4gICAgcmV0dXJuIGNyZWF0ZUVtcHR5Vk5vZGUoKVxuICB9XG59XG5cbmZ1bmN0aW9uIGFwcGx5
TlMgKHZub2RlLCBucykge1xuICB2bm9kZS5ucyA9IG5zO1xuICBpZiAodm5vZGUudGFnID09PSAn
Zm9yZWlnbk9iamVjdCcpIHtcbiAgICAvLyB1c2UgZGVmYXVsdCBuYW1lc3BhY2UgaW5zaWRlIGZv
cmVpZ25PYmplY3RcbiAgICByZXR1cm5cbiAgfVxuICBpZiAoaXNEZWYodm5vZGUuY2hpbGRyZW4p
KSB7XG4gICAgZm9yICh2YXIgaSA9IDAsIGwgPSB2bm9kZS5jaGlsZHJlbi5sZW5ndGg7IGkgPCBs
OyBpKyspIHtcbiAgICAgIHZhciBjaGlsZCA9IHZub2RlLmNoaWxkcmVuW2ldO1xuICAgICAgaWYg
KGlzRGVmKGNoaWxkLnRhZykgJiYgaXNVbmRlZihjaGlsZC5ucykpIHtcbiAgICAgICAgYXBwbHlO
UyhjaGlsZCwgbnMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiAgKi9cblxuLyoqXG4g
KiBSdW50aW1lIGhlbHBlciBmb3IgcmVuZGVyaW5nIHYtZm9yIGxpc3RzLlxuICovXG5mdW5jdGlv
biByZW5kZXJMaXN0IChcbiAgdmFsLFxuICByZW5kZXJcbikge1xuICB2YXIgcmV0LCBpLCBsLCBr
ZXlzLCBrZXk7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbCkgfHwgdHlwZW9mIHZhbCA9PT0gJ3N0
cmluZycpIHtcbiAgICByZXQgPSBuZXcgQXJyYXkodmFsLmxlbmd0aCk7XG4gICAgZm9yIChpID0g
MCwgbCA9IHZhbC5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIHJldFtpXSA9IHJlbmRlcih2
YWxbaV0sIGkpO1xuICAgIH1cbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykg
e1xuICAgIHJldCA9IG5ldyBBcnJheSh2YWwpO1xuICAgIGZvciAoaSA9IDA7IGkgPCB2YWw7IGkr
Kykge1xuICAgICAgcmV0W2ldID0gcmVuZGVyKGkgKyAxLCBpKTtcbiAgICB9XG4gIH0gZWxzZSBp
ZiAoaXNPYmplY3QodmFsKSkge1xuICAgIGtleXMgPSBPYmplY3Qua2V5cyh2YWwpO1xuICAgIHJl
dCA9IG5ldyBBcnJheShrZXlzLmxlbmd0aCk7XG4gICAgZm9yIChpID0gMCwgbCA9IGtleXMubGVu
Z3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBrZXkgPSBrZXlzW2ldO1xuICAgICAgcmV0W2ldID0g
cmVuZGVyKHZhbFtrZXldLCBrZXksIGkpO1xuICAgIH1cbiAgfVxuICBpZiAoaXNEZWYocmV0KSkg
e1xuICAgIChyZXQpLl9pc1ZMaXN0ID0gdHJ1ZTtcbiAgfVxuICByZXR1cm4gcmV0XG59XG5cbi8q
ICAqL1xuXG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciByZW5kZXJpbmcgPHNsb3Q+XG4gKi9c
bmZ1bmN0aW9uIHJlbmRlclNsb3QgKFxuICBuYW1lLFxuICBmYWxsYmFjayxcbiAgcHJvcHMsXG4g
IGJpbmRPYmplY3Rcbikge1xuICB2YXIgc2NvcGVkU2xvdEZuID0gdGhpcy4kc2NvcGVkU2xvdHNb
bmFtZV07XG4gIGlmIChzY29wZWRTbG90Rm4pIHsgLy8gc2NvcGVkIHNsb3RcbiAgICBwcm9wcyA9
IHByb3BzIHx8IHt9O1xuICAgIGlmIChiaW5kT2JqZWN0KSB7XG4gICAgICBwcm9wcyA9IGV4dGVu
ZChleHRlbmQoe30sIGJpbmRPYmplY3QpLCBwcm9wcyk7XG4gICAgfVxuICAgIHJldHVybiBzY29w
ZWRTbG90Rm4ocHJvcHMpIHx8IGZhbGxiYWNrXG4gIH0gZWxzZSB7XG4gICAgdmFyIHNsb3ROb2Rl
cyA9IHRoaXMuJHNsb3RzW25hbWVdO1xuICAgIC8vIHdhcm4gZHVwbGljYXRlIHNsb3QgdXNhZ2Vc
biAgICBpZiAoc2xvdE5vZGVzICYmIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlv
bicpIHtcbiAgICAgIHNsb3ROb2Rlcy5fcmVuZGVyZWQgJiYgd2FybihcbiAgICAgICAgXCJEdXBs
aWNhdGUgcHJlc2VuY2Ugb2Ygc2xvdCBcXFwiXCIgKyBuYW1lICsgXCJcXFwiIGZvdW5kIGluIHRo
ZSBzYW1lIHJlbmRlciB0cmVlIFwiICtcbiAgICAgICAgXCItIHRoaXMgd2lsbCBsaWtlbHkgY2F1
c2UgcmVuZGVyIGVycm9ycy5cIixcbiAgICAgICAgdGhpc1xuICAgICAgKTtcbiAgICAgIHNsb3RO
b2Rlcy5fcmVuZGVyZWQgPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gc2xvdE5vZGVzIHx8IGZh
bGxiYWNrXG4gIH1cbn1cblxuLyogICovXG5cbi8qKlxuICogUnVudGltZSBoZWxwZXIgZm9yIHJl
c29sdmluZyBmaWx0ZXJzXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVGaWx0ZXIgKGlkKSB7XG4gIHJl
dHVybiByZXNvbHZlQXNzZXQodGhpcy4kb3B0aW9ucywgJ2ZpbHRlcnMnLCBpZCwgdHJ1ZSkgfHwg
aWRlbnRpdHlcbn1cblxuLyogICovXG5cbi8qKlxuICogUnVudGltZSBoZWxwZXIgZm9yIGNoZWNr
aW5nIGtleUNvZGVzIGZyb20gY29uZmlnLlxuICovXG5mdW5jdGlvbiBjaGVja0tleUNvZGVzIChc
biAgZXZlbnRLZXlDb2RlLFxuICBrZXksXG4gIGJ1aWx0SW5BbGlhc1xuKSB7XG4gIHZhciBrZXlD
b2RlcyA9IGNvbmZpZy5rZXlDb2Rlc1trZXldIHx8IGJ1aWx0SW5BbGlhcztcbiAgaWYgKEFycmF5
LmlzQXJyYXkoa2V5Q29kZXMpKSB7XG4gICAgcmV0dXJuIGtleUNvZGVzLmluZGV4T2YoZXZlbnRL
ZXlDb2RlKSA9PT0gLTFcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ga2V5Q29kZXMgIT09IGV2ZW50
S2V5Q29kZVxuICB9XG59XG5cbi8qICAqL1xuXG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciBt
ZXJnaW5nIHYtYmluZD1cIm9iamVjdFwiIGludG8gYSBWTm9kZSdzIGRhdGEuXG4gKi9cbmZ1bmN0
aW9uIGJpbmRPYmplY3RQcm9wcyAoXG4gIGRhdGEsXG4gIHRhZyxcbiAgdmFsdWUsXG4gIGFzUHJv
cCxcbiAgaXNTeW5jXG4pIHtcbiAgaWYgKHZhbHVlKSB7XG4gICAgaWYgKCFpc09iamVjdCh2YWx1
ZSkpIHtcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgd2Fy
bihcbiAgICAgICAgJ3YtYmluZCB3aXRob3V0IGFyZ3VtZW50IGV4cGVjdHMgYW4gT2JqZWN0IG9y
IEFycmF5IHZhbHVlJyxcbiAgICAgICAgdGhpc1xuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAg
ICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHZhbHVlID0gdG9PYmplY3Qo
dmFsdWUpO1xuICAgICAgfVxuICAgICAgdmFyIGhhc2g7XG4gICAgICB2YXIgbG9vcCA9IGZ1bmN0
aW9uICgga2V5ICkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAga2V5ID09PSAnY2xhc3MnIHx8
XG4gICAgICAgICAga2V5ID09PSAnc3R5bGUnIHx8XG4gICAgICAgICAgaXNSZXNlcnZlZEF0dHJp
YnV0ZShrZXkpXG4gICAgICAgICkge1xuICAgICAgICAgIGhhc2ggPSBkYXRhO1xuICAgICAgICB9
IGVsc2Uge1xuICAgICAgICAgIHZhciB0eXBlID0gZGF0YS5hdHRycyAmJiBkYXRhLmF0dHJzLnR5
cGU7XG4gICAgICAgICAgaGFzaCA9IGFzUHJvcCB8fCBjb25maWcubXVzdFVzZVByb3AodGFnLCB0
eXBlLCBrZXkpXG4gICAgICAgICAgICA/IGRhdGEuZG9tUHJvcHMgfHwgKGRhdGEuZG9tUHJvcHMg
PSB7fSlcbiAgICAgICAgICAgIDogZGF0YS5hdHRycyB8fCAoZGF0YS5hdHRycyA9IHt9KTtcbiAg
ICAgICAgfVxuICAgICAgICBpZiAoIShrZXkgaW4gaGFzaCkpIHtcbiAgICAgICAgICBoYXNoW2tl
eV0gPSB2YWx1ZVtrZXldO1xuXG4gICAgICAgICAgaWYgKGlzU3luYykge1xuICAgICAgICAgICAg
dmFyIG9uID0gZGF0YS5vbiB8fCAoZGF0YS5vbiA9IHt9KTtcbiAgICAgICAgICAgIG9uWyhcInVw
ZGF0ZTpcIiArIGtleSldID0gZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICAgICAgICB2YWx1
ZVtrZXldID0gJGV2ZW50O1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1c
biAgICAgIH07XG5cbiAgICAgIGZvciAodmFyIGtleSBpbiB2YWx1ZSkgbG9vcCgga2V5ICk7XG4g
ICAgfVxuICB9XG4gIHJldHVybiBkYXRhXG59XG5cbi8qICAqL1xuXG4vKipcbiAqIFJ1bnRpbWUg
aGVscGVyIGZvciByZW5kZXJpbmcgc3RhdGljIHRyZWVzLlxuICovXG5mdW5jdGlvbiByZW5kZXJT
dGF0aWMgKFxuICBpbmRleCxcbiAgaXNJbkZvclxuKSB7XG4gIHZhciB0cmVlID0gdGhpcy5fc3Rh
dGljVHJlZXNbaW5kZXhdO1xuICAvLyBpZiBoYXMgYWxyZWFkeS1yZW5kZXJlZCBzdGF0aWMgdHJl
ZSBhbmQgbm90IGluc2lkZSB2LWZvcixcbiAgLy8gd2UgY2FuIHJldXNlIHRoZSBzYW1lIHRyZWUg
YnkgZG9pbmcgYSBzaGFsbG93IGNsb25lLlxuICBpZiAodHJlZSAmJiAhaXNJbkZvcikge1xuICAg
IHJldHVybiBBcnJheS5pc0FycmF5KHRyZWUpXG4gICAgICA/IGNsb25lVk5vZGVzKHRyZWUpXG4g
ICAgICA6IGNsb25lVk5vZGUodHJlZSlcbiAgfVxuICAvLyBvdGhlcndpc2UsIHJlbmRlciBhIGZy
ZXNoIHRyZWUuXG4gIHRyZWUgPSB0aGlzLl9zdGF0aWNUcmVlc1tpbmRleF0gPVxuICAgIHRoaXMu
JG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zW2luZGV4XS5jYWxsKHRoaXMuX3JlbmRlclByb3h5KTtc
biAgbWFya1N0YXRpYyh0cmVlLCAoXCJfX3N0YXRpY19fXCIgKyBpbmRleCksIGZhbHNlKTtcbiAg
cmV0dXJuIHRyZWVcbn1cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3Igdi1vbmNlLlxuICog
RWZmZWN0aXZlbHkgaXQgbWVhbnMgbWFya2luZyB0aGUgbm9kZSBhcyBzdGF0aWMgd2l0aCBhIHVu
aXF1ZSBrZXkuXG4gKi9cbmZ1bmN0aW9uIG1hcmtPbmNlIChcbiAgdHJlZSxcbiAgaW5kZXgsXG4g
IGtleVxuKSB7XG4gIG1hcmtTdGF0aWModHJlZSwgKFwiX19vbmNlX19cIiArIGluZGV4ICsgKGtl
eSA/IChcIl9cIiArIGtleSkgOiBcIlwiKSksIHRydWUpO1xuICByZXR1cm4gdHJlZVxufVxuXG5m
dW5jdGlvbiBtYXJrU3RhdGljIChcbiAgdHJlZSxcbiAga2V5LFxuICBpc09uY2Vcbikge1xuICBp
ZiAoQXJyYXkuaXNBcnJheSh0cmVlKSkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdHJlZS5s
ZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHRyZWVbaV0gJiYgdHlwZW9mIHRyZWVbaV0gIT09ICdz
dHJpbmcnKSB7XG4gICAgICAgIG1hcmtTdGF0aWNOb2RlKHRyZWVbaV0sIChrZXkgKyBcIl9cIiAr
IGkpLCBpc09uY2UpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBtYXJrU3RhdGlj
Tm9kZSh0cmVlLCBrZXksIGlzT25jZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFya1N0YXRpY05v
ZGUgKG5vZGUsIGtleSwgaXNPbmNlKSB7XG4gIG5vZGUuaXNTdGF0aWMgPSB0cnVlO1xuICBub2Rl
LmtleSA9IGtleTtcbiAgbm9kZS5pc09uY2UgPSBpc09uY2U7XG59XG5cbi8qICAqL1xuXG5mdW5j
dGlvbiBiaW5kT2JqZWN0TGlzdGVuZXJzIChkYXRhLCB2YWx1ZSkge1xuICBpZiAodmFsdWUpIHtc
biAgICBpZiAoIWlzUGxhaW5PYmplY3QodmFsdWUpKSB7XG4gICAgICBwcm9jZXNzLmVudi5OT0RF
X0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4oXG4gICAgICAgICd2LW9uIHdpdGhvdXQgYXJn
dW1lbnQgZXhwZWN0cyBhbiBPYmplY3QgdmFsdWUnLFxuICAgICAgICB0aGlzXG4gICAgICApO1xu
ICAgIH0gZWxzZSB7XG4gICAgICB2YXIgb24gPSBkYXRhLm9uID0gZGF0YS5vbiA/IGV4dGVuZCh7
fSwgZGF0YS5vbikgOiB7fTtcbiAgICAgIGZvciAodmFyIGtleSBpbiB2YWx1ZSkge1xuICAgICAg
ICB2YXIgZXhpc3RpbmcgPSBvbltrZXldO1xuICAgICAgICB2YXIgb3VycyA9IHZhbHVlW2tleV07
XG4gICAgICAgIG9uW2tleV0gPSBleGlzdGluZyA/IFtdLmNvbmNhdChvdXJzLCBleGlzdGluZykg
OiBvdXJzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gZGF0YVxufVxuXG4vKiAgKi9c
blxuZnVuY3Rpb24gaW5pdFJlbmRlciAodm0pIHtcbiAgdm0uX3Zub2RlID0gbnVsbDsgLy8gdGhl
IHJvb3Qgb2YgdGhlIGNoaWxkIHRyZWVcbiAgdm0uX3N0YXRpY1RyZWVzID0gbnVsbDtcbiAgdmFy
IHBhcmVudFZub2RlID0gdm0uJHZub2RlID0gdm0uJG9wdGlvbnMuX3BhcmVudFZub2RlOyAvLyB0
aGUgcGxhY2Vob2xkZXIgbm9kZSBpbiBwYXJlbnQgdHJlZVxuICB2YXIgcmVuZGVyQ29udGV4dCA9
IHBhcmVudFZub2RlICYmIHBhcmVudFZub2RlLmNvbnRleHQ7XG4gIHZtLiRzbG90cyA9IHJlc29s
dmVTbG90cyh2bS4kb3B0aW9ucy5fcmVuZGVyQ2hpbGRyZW4sIHJlbmRlckNvbnRleHQpO1xuICB2
bS4kc2NvcGVkU2xvdHMgPSBlbXB0eU9iamVjdDtcbiAgLy8gYmluZCB0aGUgY3JlYXRlRWxlbWVu
dCBmbiB0byB0aGlzIGluc3RhbmNlXG4gIC8vIHNvIHRoYXQgd2UgZ2V0IHByb3BlciByZW5kZXIg
Y29udGV4dCBpbnNpZGUgaXQuXG4gIC8vIGFyZ3Mgb3JkZXI6IHRhZywgZGF0YSwgY2hpbGRyZW4s
IG5vcm1hbGl6YXRpb25UeXBlLCBhbHdheXNOb3JtYWxpemVcbiAgLy8gaW50ZXJuYWwgdmVyc2lv
biBpcyB1c2VkIGJ5IHJlbmRlciBmdW5jdGlvbnMgY29tcGlsZWQgZnJvbSB0ZW1wbGF0ZXNcbiAg
dm0uX2MgPSBmdW5jdGlvbiAoYSwgYiwgYywgZCkgeyByZXR1cm4gY3JlYXRlRWxlbWVudCh2bSwg
YSwgYiwgYywgZCwgZmFsc2UpOyB9O1xuICAvLyBub3JtYWxpemF0aW9uIGlzIGFsd2F5cyBhcHBs
aWVkIGZvciB0aGUgcHVibGljIHZlcnNpb24sIHVzZWQgaW5cbiAgLy8gdXNlci13cml0dGVuIHJl
bmRlciBmdW5jdGlvbnMuXG4gIHZtLiRjcmVhdGVFbGVtZW50ID0gZnVuY3Rpb24gKGEsIGIsIGMs
IGQpIHsgcmV0dXJuIGNyZWF0ZUVsZW1lbnQodm0sIGEsIGIsIGMsIGQsIHRydWUpOyB9O1xuXG4g
IC8vICRhdHRycyAmICRsaXN0ZW5lcnMgYXJlIGV4cG9zZWQgZm9yIGVhc2llciBIT0MgY3JlYXRp
b24uXG4gIC8vIHRoZXkgbmVlZCB0byBiZSByZWFjdGl2ZSBzbyB0aGF0IEhPQ3MgdXNpbmcgdGhl
bSBhcmUgYWx3YXlzIHVwZGF0ZWRcbiAgdmFyIHBhcmVudERhdGEgPSBwYXJlbnRWbm9kZSAmJiBw
YXJlbnRWbm9kZS5kYXRhO1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICBpZiAocHJv
Y2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIGRlZmluZVJlYWN0aXZl
JCQxKHZtLCAnJGF0dHJzJywgcGFyZW50RGF0YSAmJiBwYXJlbnREYXRhLmF0dHJzLCBmdW5jdGlv
biAoKSB7XG4gICAgICAhaXNVcGRhdGluZ0NoaWxkQ29tcG9uZW50ICYmIHdhcm4oXCIkYXR0cnMg
aXMgcmVhZG9ubHkuXCIsIHZtKTtcbiAgICB9LCB0cnVlKTtcbiAgICBkZWZpbmVSZWFjdGl2ZSQk
MSh2bSwgJyRsaXN0ZW5lcnMnLCB2bS4kb3B0aW9ucy5fcGFyZW50TGlzdGVuZXJzLCBmdW5jdGlv
biAoKSB7XG4gICAgICAhaXNVcGRhdGluZ0NoaWxkQ29tcG9uZW50ICYmIHdhcm4oXCIkbGlzdGVu
ZXJzIGlzIHJlYWRvbmx5LlwiLCB2bSk7XG4gICAgfSwgdHJ1ZSk7XG4gIH0gZWxzZSB7XG4gICAg
ZGVmaW5lUmVhY3RpdmUkJDEodm0sICckYXR0cnMnLCBwYXJlbnREYXRhICYmIHBhcmVudERhdGEu
YXR0cnMsIG51bGwsIHRydWUpO1xuICAgIGRlZmluZVJlYWN0aXZlJCQxKHZtLCAnJGxpc3RlbmVy
cycsIHZtLiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnMsIG51bGwsIHRydWUpO1xuICB9XG59XG5c
bmZ1bmN0aW9uIHJlbmRlck1peGluIChWdWUpIHtcbiAgVnVlLnByb3RvdHlwZS4kbmV4dFRpY2sg
PSBmdW5jdGlvbiAoZm4pIHtcbiAgICByZXR1cm4gbmV4dFRpY2soZm4sIHRoaXMpXG4gIH07XG5c
biAgVnVlLnByb3RvdHlwZS5fcmVuZGVyID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciB2bSA9IHRo
aXM7XG4gICAgdmFyIHJlZiA9IHZtLiRvcHRpb25zO1xuICAgIHZhciByZW5kZXIgPSByZWYucmVu
ZGVyO1xuICAgIHZhciBzdGF0aWNSZW5kZXJGbnMgPSByZWYuc3RhdGljUmVuZGVyRm5zO1xuICAg
IHZhciBfcGFyZW50Vm5vZGUgPSByZWYuX3BhcmVudFZub2RlO1xuXG4gICAgaWYgKHZtLl9pc01v
dW50ZWQpIHtcbiAgICAgIC8vIGNsb25lIHNsb3Qgbm9kZXMgb24gcmUtcmVuZGVyc1xuICAgICAg
Zm9yICh2YXIga2V5IGluIHZtLiRzbG90cykge1xuICAgICAgICB2bS4kc2xvdHNba2V5XSA9IGNs
b25lVk5vZGVzKHZtLiRzbG90c1trZXldKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2bS4kc2Nv
cGVkU2xvdHMgPSAoX3BhcmVudFZub2RlICYmIF9wYXJlbnRWbm9kZS5kYXRhLnNjb3BlZFNsb3Rz
KSB8fCBlbXB0eU9iamVjdDtcblxuICAgIGlmIChzdGF0aWNSZW5kZXJGbnMgJiYgIXZtLl9zdGF0
aWNUcmVlcykge1xuICAgICAgdm0uX3N0YXRpY1RyZWVzID0gW107XG4gICAgfVxuICAgIC8vIHNl
dCBwYXJlbnQgdm5vZGUuIHRoaXMgYWxsb3dzIHJlbmRlciBmdW5jdGlvbnMgdG8gaGF2ZSBhY2Nl
c3NcbiAgICAvLyB0byB0aGUgZGF0YSBvbiB0aGUgcGxhY2Vob2xkZXIgbm9kZS5cbiAgICB2bS4k
dm5vZGUgPSBfcGFyZW50Vm5vZGU7XG4gICAgLy8gcmVuZGVyIHNlbGZcbiAgICB2YXIgdm5vZGU7
XG4gICAgdHJ5IHtcbiAgICAgIHZub2RlID0gcmVuZGVyLmNhbGwodm0uX3JlbmRlclByb3h5LCB2
bS4kY3JlYXRlRWxlbWVudCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaGFuZGxlRXJyb3Io
ZSwgdm0sIFwicmVuZGVyIGZ1bmN0aW9uXCIpO1xuICAgICAgLy8gcmV0dXJuIGVycm9yIHJlbmRl
ciByZXN1bHQsXG4gICAgICAvLyBvciBwcmV2aW91cyB2bm9kZSB0byBwcmV2ZW50IHJlbmRlciBl
cnJvciBjYXVzaW5nIGJsYW5rIGNvbXBvbmVudFxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVs
c2UgKi9cbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7
XG4gICAgICAgIHZub2RlID0gdm0uJG9wdGlvbnMucmVuZGVyRXJyb3JcbiAgICAgICAgICA/IHZt
LiRvcHRpb25zLnJlbmRlckVycm9yLmNhbGwodm0uX3JlbmRlclByb3h5LCB2bS4kY3JlYXRlRWxl
bWVudCwgZSlcbiAgICAgICAgICA6IHZtLl92bm9kZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAg
IHZub2RlID0gdm0uX3Zub2RlO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyByZXR1cm4gZW1wdHkg
dm5vZGUgaW4gY2FzZSB0aGUgcmVuZGVyIGZ1bmN0aW9uIGVycm9yZWQgb3V0XG4gICAgaWYgKCEo
dm5vZGUgaW5zdGFuY2VvZiBWTm9kZSkpIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VO
ViAhPT0gJ3Byb2R1Y3Rpb24nICYmIEFycmF5LmlzQXJyYXkodm5vZGUpKSB7XG4gICAgICAgIHdh
cm4oXG4gICAgICAgICAgJ011bHRpcGxlIHJvb3Qgbm9kZXMgcmV0dXJuZWQgZnJvbSByZW5kZXIg
ZnVuY3Rpb24uIFJlbmRlciBmdW5jdGlvbiAnICtcbiAgICAgICAgICAnc2hvdWxkIHJldHVybiBh
IHNpbmdsZSByb290IG5vZGUuJyxcbiAgICAgICAgICB2bVxuICAgICAgICApO1xuICAgICAgfVxu
ICAgICAgdm5vZGUgPSBjcmVhdGVFbXB0eVZOb2RlKCk7XG4gICAgfVxuICAgIC8vIHNldCBwYXJl
bnRcbiAgICB2bm9kZS5wYXJlbnQgPSBfcGFyZW50Vm5vZGU7XG4gICAgcmV0dXJuIHZub2RlXG4g
IH07XG5cbiAgLy8gaW50ZXJuYWwgcmVuZGVyIGhlbHBlcnMuXG4gIC8vIHRoZXNlIGFyZSBleHBv
c2VkIG9uIHRoZSBpbnN0YW5jZSBwcm90b3R5cGUgdG8gcmVkdWNlIGdlbmVyYXRlZCByZW5kZXJc
biAgLy8gY29kZSBzaXplLlxuICBWdWUucHJvdG90eXBlLl9vID0gbWFya09uY2U7XG4gIFZ1ZS5w
cm90b3R5cGUuX24gPSB0b051bWJlcjtcbiAgVnVlLnByb3RvdHlwZS5fcyA9IHRvU3RyaW5nO1xu
ICBWdWUucHJvdG90eXBlLl9sID0gcmVuZGVyTGlzdDtcbiAgVnVlLnByb3RvdHlwZS5fdCA9IHJl
bmRlclNsb3Q7XG4gIFZ1ZS5wcm90b3R5cGUuX3EgPSBsb29zZUVxdWFsO1xuICBWdWUucHJvdG90
eXBlLl9pID0gbG9vc2VJbmRleE9mO1xuICBWdWUucHJvdG90eXBlLl9tID0gcmVuZGVyU3RhdGlj
O1xuICBWdWUucHJvdG90eXBlLl9mID0gcmVzb2x2ZUZpbHRlcjtcbiAgVnVlLnByb3RvdHlwZS5f
ayA9IGNoZWNrS2V5Q29kZXM7XG4gIFZ1ZS5wcm90b3R5cGUuX2IgPSBiaW5kT2JqZWN0UHJvcHM7
XG4gIFZ1ZS5wcm90b3R5cGUuX3YgPSBjcmVhdGVUZXh0Vk5vZGU7XG4gIFZ1ZS5wcm90b3R5cGUu
X2UgPSBjcmVhdGVFbXB0eVZOb2RlO1xuICBWdWUucHJvdG90eXBlLl91ID0gcmVzb2x2ZVNjb3Bl
ZFNsb3RzO1xuICBWdWUucHJvdG90eXBlLl9nID0gYmluZE9iamVjdExpc3RlbmVycztcbn1cblxu
LyogICovXG5cbnZhciB1aWQkMSA9IDA7XG5cbmZ1bmN0aW9uIGluaXRNaXhpbiAoVnVlKSB7XG4g
IFZ1ZS5wcm90b3R5cGUuX2luaXQgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuICAgIHZhciB2bSA9
IHRoaXM7XG4gICAgLy8gYSB1aWRcbiAgICB2bS5fdWlkID0gdWlkJDErKztcblxuICAgIHZhciBz
dGFydFRhZywgZW5kVGFnO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChw
cm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGNvbmZpZy5wZXJmb3JtYW5j
ZSAmJiBtYXJrKSB7XG4gICAgICBzdGFydFRhZyA9IFwidnVlLXBlcmYtaW5pdDpcIiArICh2bS5f
dWlkKTtcbiAgICAgIGVuZFRhZyA9IFwidnVlLXBlcmYtZW5kOlwiICsgKHZtLl91aWQpO1xuICAg
ICAgbWFyayhzdGFydFRhZyk7XG4gICAgfVxuXG4gICAgLy8gYSBmbGFnIHRvIGF2b2lkIHRoaXMg
YmVpbmcgb2JzZXJ2ZWRcbiAgICB2bS5faXNWdWUgPSB0cnVlO1xuICAgIC8vIG1lcmdlIG9wdGlv
bnNcbiAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLl9pc0NvbXBvbmVudCkge1xuICAgICAgLy8g
b3B0aW1pemUgaW50ZXJuYWwgY29tcG9uZW50IGluc3RhbnRpYXRpb25cbiAgICAgIC8vIHNpbmNl
IGR5bmFtaWMgb3B0aW9ucyBtZXJnaW5nIGlzIHByZXR0eSBzbG93LCBhbmQgbm9uZSBvZiB0aGVc
biAgICAgIC8vIGludGVybmFsIGNvbXBvbmVudCBvcHRpb25zIG5lZWRzIHNwZWNpYWwgdHJlYXRt
ZW50LlxuICAgICAgaW5pdEludGVybmFsQ29tcG9uZW50KHZtLCBvcHRpb25zKTtcbiAgICB9IGVs
c2Uge1xuICAgICAgdm0uJG9wdGlvbnMgPSBtZXJnZU9wdGlvbnMoXG4gICAgICAgIHJlc29sdmVD
b25zdHJ1Y3Rvck9wdGlvbnModm0uY29uc3RydWN0b3IpLFxuICAgICAgICBvcHRpb25zIHx8IHt9
LFxuICAgICAgICB2bVxuICAgICAgKTtcbiAgICB9XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVs
c2UgKi9cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xu
ICAgICAgaW5pdFByb3h5KHZtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdm0uX3JlbmRlclByb3h5
ID0gdm07XG4gICAgfVxuICAgIC8vIGV4cG9zZSByZWFsIHNlbGZcbiAgICB2bS5fc2VsZiA9IHZt
O1xuICAgIGluaXRMaWZlY3ljbGUodm0pO1xuICAgIGluaXRFdmVudHModm0pO1xuICAgIGluaXRS
ZW5kZXIodm0pO1xuICAgIGNhbGxIb29rKHZtLCAnYmVmb3JlQ3JlYXRlJyk7XG4gICAgaW5pdElu
amVjdGlvbnModm0pOyAvLyByZXNvbHZlIGluamVjdGlvbnMgYmVmb3JlIGRhdGEvcHJvcHNcbiAg
ICBpbml0U3RhdGUodm0pO1xuICAgIGluaXRQcm92aWRlKHZtKTsgLy8gcmVzb2x2ZSBwcm92aWRl
IGFmdGVyIGRhdGEvcHJvcHNcbiAgICBjYWxsSG9vayh2bSwgJ2NyZWF0ZWQnKTtcblxuICAgIC8q
IGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0g
J3Byb2R1Y3Rpb24nICYmIGNvbmZpZy5wZXJmb3JtYW5jZSAmJiBtYXJrKSB7XG4gICAgICB2bS5f
bmFtZSA9IGZvcm1hdENvbXBvbmVudE5hbWUodm0sIGZhbHNlKTtcbiAgICAgIG1hcmsoZW5kVGFn
KTtcbiAgICAgIG1lYXN1cmUoKCh2bS5fbmFtZSkgKyBcIiBpbml0XCIpLCBzdGFydFRhZywgZW5k
VGFnKTtcbiAgICB9XG5cbiAgICBpZiAodm0uJG9wdGlvbnMuZWwpIHtcbiAgICAgIHZtLiRtb3Vu
dCh2bS4kb3B0aW9ucy5lbCk7XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiBpbml0SW50ZXJu
YWxDb21wb25lbnQgKHZtLCBvcHRpb25zKSB7XG4gIHZhciBvcHRzID0gdm0uJG9wdGlvbnMgPSBP
YmplY3QuY3JlYXRlKHZtLmNvbnN0cnVjdG9yLm9wdGlvbnMpO1xuICAvLyBkb2luZyB0aGlzIGJl
Y2F1c2UgaXQncyBmYXN0ZXIgdGhhbiBkeW5hbWljIGVudW1lcmF0aW9uLlxuICBvcHRzLnBhcmVu
dCA9IG9wdGlvbnMucGFyZW50O1xuICBvcHRzLnByb3BzRGF0YSA9IG9wdGlvbnMucHJvcHNEYXRh
O1xuICBvcHRzLl9wYXJlbnRWbm9kZSA9IG9wdGlvbnMuX3BhcmVudFZub2RlO1xuICBvcHRzLl9w
YXJlbnRMaXN0ZW5lcnMgPSBvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnM7XG4gIG9wdHMuX3JlbmRl
ckNoaWxkcmVuID0gb3B0aW9ucy5fcmVuZGVyQ2hpbGRyZW47XG4gIG9wdHMuX2NvbXBvbmVudFRh
ZyA9IG9wdGlvbnMuX2NvbXBvbmVudFRhZztcbiAgb3B0cy5fcGFyZW50RWxtID0gb3B0aW9ucy5f
cGFyZW50RWxtO1xuICBvcHRzLl9yZWZFbG0gPSBvcHRpb25zLl9yZWZFbG07XG4gIGlmIChvcHRp
b25zLnJlbmRlcikge1xuICAgIG9wdHMucmVuZGVyID0gb3B0aW9ucy5yZW5kZXI7XG4gICAgb3B0
cy5zdGF0aWNSZW5kZXJGbnMgPSBvcHRpb25zLnN0YXRpY1JlbmRlckZucztcbiAgfVxufVxuXG5m
dW5jdGlvbiByZXNvbHZlQ29uc3RydWN0b3JPcHRpb25zIChDdG9yKSB7XG4gIHZhciBvcHRpb25z
ID0gQ3Rvci5vcHRpb25zO1xuICBpZiAoQ3Rvci5zdXBlcikge1xuICAgIHZhciBzdXBlck9wdGlv
bnMgPSByZXNvbHZlQ29uc3RydWN0b3JPcHRpb25zKEN0b3Iuc3VwZXIpO1xuICAgIHZhciBjYWNo
ZWRTdXBlck9wdGlvbnMgPSBDdG9yLnN1cGVyT3B0aW9ucztcbiAgICBpZiAoc3VwZXJPcHRpb25z
ICE9PSBjYWNoZWRTdXBlck9wdGlvbnMpIHtcbiAgICAgIC8vIHN1cGVyIG9wdGlvbiBjaGFuZ2Vk
LFxuICAgICAgLy8gbmVlZCB0byByZXNvbHZlIG5ldyBvcHRpb25zLlxuICAgICAgQ3Rvci5zdXBl
ck9wdGlvbnMgPSBzdXBlck9wdGlvbnM7XG4gICAgICAvLyBjaGVjayBpZiB0aGVyZSBhcmUgYW55
IGxhdGUtbW9kaWZpZWQvYXR0YWNoZWQgb3B0aW9ucyAoIzQ5NzYpXG4gICAgICB2YXIgbW9kaWZp
ZWRPcHRpb25zID0gcmVzb2x2ZU1vZGlmaWVkT3B0aW9ucyhDdG9yKTtcbiAgICAgIC8vIHVwZGF0
ZSBiYXNlIGV4dGVuZCBvcHRpb25zXG4gICAgICBpZiAobW9kaWZpZWRPcHRpb25zKSB7XG4gICAg
ICAgIGV4dGVuZChDdG9yLmV4dGVuZE9wdGlvbnMsIG1vZGlmaWVkT3B0aW9ucyk7XG4gICAgICB9
XG4gICAgICBvcHRpb25zID0gQ3Rvci5vcHRpb25zID0gbWVyZ2VPcHRpb25zKHN1cGVyT3B0aW9u
cywgQ3Rvci5leHRlbmRPcHRpb25zKTtcbiAgICAgIGlmIChvcHRpb25zLm5hbWUpIHtcbiAgICAg
ICAgb3B0aW9ucy5jb21wb25lbnRzW29wdGlvbnMubmFtZV0gPSBDdG9yO1xuICAgICAgfVxuICAg
IH1cbiAgfVxuICByZXR1cm4gb3B0aW9uc1xufVxuXG5mdW5jdGlvbiByZXNvbHZlTW9kaWZpZWRP
cHRpb25zIChDdG9yKSB7XG4gIHZhciBtb2RpZmllZDtcbiAgdmFyIGxhdGVzdCA9IEN0b3Iub3B0
aW9ucztcbiAgdmFyIGV4dGVuZGVkID0gQ3Rvci5leHRlbmRPcHRpb25zO1xuICB2YXIgc2VhbGVk
ID0gQ3Rvci5zZWFsZWRPcHRpb25zO1xuICBmb3IgKHZhciBrZXkgaW4gbGF0ZXN0KSB7XG4gICAg
aWYgKGxhdGVzdFtrZXldICE9PSBzZWFsZWRba2V5XSkge1xuICAgICAgaWYgKCFtb2RpZmllZCkg
eyBtb2RpZmllZCA9IHt9OyB9XG4gICAgICBtb2RpZmllZFtrZXldID0gZGVkdXBlKGxhdGVzdFtr
ZXldLCBleHRlbmRlZFtrZXldLCBzZWFsZWRba2V5XSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBt
b2RpZmllZFxufVxuXG5mdW5jdGlvbiBkZWR1cGUgKGxhdGVzdCwgZXh0ZW5kZWQsIHNlYWxlZCkg
e1xuICAvLyBjb21wYXJlIGxhdGVzdCBhbmQgc2VhbGVkIHRvIGVuc3VyZSBsaWZlY3ljbGUgaG9v
a3Mgd29uJ3QgYmUgZHVwbGljYXRlZFxuICAvLyBiZXR3ZWVuIG1lcmdlc1xuICBpZiAoQXJyYXku
aXNBcnJheShsYXRlc3QpKSB7XG4gICAgdmFyIHJlcyA9IFtdO1xuICAgIHNlYWxlZCA9IEFycmF5
LmlzQXJyYXkoc2VhbGVkKSA/IHNlYWxlZCA6IFtzZWFsZWRdO1xuICAgIGV4dGVuZGVkID0gQXJy
YXkuaXNBcnJheShleHRlbmRlZCkgPyBleHRlbmRlZCA6IFtleHRlbmRlZF07XG4gICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBsYXRlc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgIC8vIHB1c2ggb3JpZ2lu
YWwgb3B0aW9ucyBhbmQgbm90IHNlYWxlZCBvcHRpb25zIHRvIGV4Y2x1ZGUgZHVwbGljYXRlZCBv
cHRpb25zXG4gICAgICBpZiAoZXh0ZW5kZWQuaW5kZXhPZihsYXRlc3RbaV0pID49IDAgfHwgc2Vh
bGVkLmluZGV4T2YobGF0ZXN0W2ldKSA8IDApIHtcbiAgICAgICAgcmVzLnB1c2gobGF0ZXN0W2ld
KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc1xuICB9IGVsc2Uge1xuICAgIHJldHVy
biBsYXRlc3RcbiAgfVxufVxuXG5mdW5jdGlvbiBWdWUkMyAob3B0aW9ucykge1xuICBpZiAocHJv
Y2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICEodGhpcyBpbnN0YW5j
ZW9mIFZ1ZSQzKVxuICApIHtcbiAgICB3YXJuKCdWdWUgaXMgYSBjb25zdHJ1Y3RvciBhbmQgc2hv
dWxkIGJlIGNhbGxlZCB3aXRoIHRoZSBgbmV3YCBrZXl3b3JkJyk7XG4gIH1cbiAgdGhpcy5faW5p
dChvcHRpb25zKTtcbn1cblxuaW5pdE1peGluKFZ1ZSQzKTtcbnN0YXRlTWl4aW4oVnVlJDMpO1xu
ZXZlbnRzTWl4aW4oVnVlJDMpO1xubGlmZWN5Y2xlTWl4aW4oVnVlJDMpO1xucmVuZGVyTWl4aW4o
VnVlJDMpO1xuXG4vKiAgKi9cblxuZnVuY3Rpb24gaW5pdFVzZSAoVnVlKSB7XG4gIFZ1ZS51c2Ug
PSBmdW5jdGlvbiAocGx1Z2luKSB7XG4gICAgdmFyIGluc3RhbGxlZFBsdWdpbnMgPSAodGhpcy5f
aW5zdGFsbGVkUGx1Z2lucyB8fCAodGhpcy5faW5zdGFsbGVkUGx1Z2lucyA9IFtdKSk7XG4gICAg
aWYgKGluc3RhbGxlZFBsdWdpbnMuaW5kZXhPZihwbHVnaW4pID4gLTEpIHtcbiAgICAgIHJldHVy
biB0aGlzXG4gICAgfVxuXG4gICAgLy8gYWRkaXRpb25hbCBwYXJhbWV0ZXJzXG4gICAgdmFyIGFy
Z3MgPSB0b0FycmF5KGFyZ3VtZW50cywgMSk7XG4gICAgYXJncy51bnNoaWZ0KHRoaXMpO1xuICAg
IGlmICh0eXBlb2YgcGx1Z2luLmluc3RhbGwgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHBsdWdp
bi5pbnN0YWxsLmFwcGx5KHBsdWdpbiwgYXJncyk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgcGx1
Z2luID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwbHVnaW4uYXBwbHkobnVsbCwgYXJncyk7XG4g
ICAgfVxuICAgIGluc3RhbGxlZFBsdWdpbnMucHVzaChwbHVnaW4pO1xuICAgIHJldHVybiB0aGlz
XG4gIH07XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBpbml0TWl4aW4kMSAoVnVlKSB7XG4gIFZ1
ZS5taXhpbiA9IGZ1bmN0aW9uIChtaXhpbikge1xuICAgIHRoaXMub3B0aW9ucyA9IG1lcmdlT3B0
aW9ucyh0aGlzLm9wdGlvbnMsIG1peGluKTtcbiAgICByZXR1cm4gdGhpc1xuICB9O1xufVxuXG4v
KiAgKi9cblxuZnVuY3Rpb24gaW5pdEV4dGVuZCAoVnVlKSB7XG4gIC8qKlxuICAgKiBFYWNoIGlu
c3RhbmNlIGNvbnN0cnVjdG9yLCBpbmNsdWRpbmcgVnVlLCBoYXMgYSB1bmlxdWVcbiAgICogY2lk
LiBUaGlzIGVuYWJsZXMgdXMgdG8gY3JlYXRlIHdyYXBwZWQgXCJjaGlsZFxuICAgKiBjb25zdHJ1
Y3RvcnNcIiBmb3IgcHJvdG90eXBhbCBpbmhlcml0YW5jZSBhbmQgY2FjaGUgdGhlbS5cbiAgICov
XG4gIFZ1ZS5jaWQgPSAwO1xuICB2YXIgY2lkID0gMTtcblxuICAvKipcbiAgICogQ2xhc3MgaW5o
ZXJpdGFuY2VcbiAgICovXG4gIFZ1ZS5leHRlbmQgPSBmdW5jdGlvbiAoZXh0ZW5kT3B0aW9ucykg
e1xuICAgIGV4dGVuZE9wdGlvbnMgPSBleHRlbmRPcHRpb25zIHx8IHt9O1xuICAgIHZhciBTdXBl
ciA9IHRoaXM7XG4gICAgdmFyIFN1cGVySWQgPSBTdXBlci5jaWQ7XG4gICAgdmFyIGNhY2hlZEN0
b3JzID0gZXh0ZW5kT3B0aW9ucy5fQ3RvciB8fCAoZXh0ZW5kT3B0aW9ucy5fQ3RvciA9IHt9KTtc
biAgICBpZiAoY2FjaGVkQ3RvcnNbU3VwZXJJZF0pIHtcbiAgICAgIHJldHVybiBjYWNoZWRDdG9y
c1tTdXBlcklkXVxuICAgIH1cblxuICAgIHZhciBuYW1lID0gZXh0ZW5kT3B0aW9ucy5uYW1lIHx8
IFN1cGVyLm9wdGlvbnMubmFtZTtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdw
cm9kdWN0aW9uJykge1xuICAgICAgaWYgKCEvXlthLXpBLVpdW1xcdy1dKiQvLnRlc3QobmFtZSkp
IHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICAnSW52YWxpZCBjb21wb25lbnQgbmFtZTogXCIn
ICsgbmFtZSArICdcIi4gQ29tcG9uZW50IG5hbWVzICcgK1xuICAgICAgICAgICdjYW4gb25seSBj
b250YWluIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGFuZCB0aGUgaHlwaGVuLCAnICtcbiAgICAg
ICAgICAnYW5kIG11c3Qgc3RhcnQgd2l0aCBhIGxldHRlci4nXG4gICAgICAgICk7XG4gICAgICB9
XG4gICAgfVxuXG4gICAgdmFyIFN1YiA9IGZ1bmN0aW9uIFZ1ZUNvbXBvbmVudCAob3B0aW9ucykg
e1xuICAgICAgdGhpcy5faW5pdChvcHRpb25zKTtcbiAgICB9O1xuICAgIFN1Yi5wcm90b3R5cGUg
PSBPYmplY3QuY3JlYXRlKFN1cGVyLnByb3RvdHlwZSk7XG4gICAgU3ViLnByb3RvdHlwZS5jb25z
dHJ1Y3RvciA9IFN1YjtcbiAgICBTdWIuY2lkID0gY2lkKys7XG4gICAgU3ViLm9wdGlvbnMgPSBt
ZXJnZU9wdGlvbnMoXG4gICAgICBTdXBlci5vcHRpb25zLFxuICAgICAgZXh0ZW5kT3B0aW9uc1xu
ICAgICk7XG4gICAgU3ViWydzdXBlciddID0gU3VwZXI7XG5cbiAgICAvLyBGb3IgcHJvcHMgYW5k
IGNvbXB1dGVkIHByb3BlcnRpZXMsIHdlIGRlZmluZSB0aGUgcHJveHkgZ2V0dGVycyBvblxuICAg
IC8vIHRoZSBWdWUgaW5zdGFuY2VzIGF0IGV4dGVuc2lvbiB0aW1lLCBvbiB0aGUgZXh0ZW5kZWQg
cHJvdG90eXBlLiBUaGlzXG4gICAgLy8gYXZvaWRzIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBjYWxs
cyBmb3IgZWFjaCBpbnN0YW5jZSBjcmVhdGVkLlxuICAgIGlmIChTdWIub3B0aW9ucy5wcm9wcykg
e1xuICAgICAgaW5pdFByb3BzJDEoU3ViKTtcbiAgICB9XG4gICAgaWYgKFN1Yi5vcHRpb25zLmNv
bXB1dGVkKSB7XG4gICAgICBpbml0Q29tcHV0ZWQkMShTdWIpO1xuICAgIH1cblxuICAgIC8vIGFs
bG93IGZ1cnRoZXIgZXh0ZW5zaW9uL21peGluL3BsdWdpbiB1c2FnZVxuICAgIFN1Yi5leHRlbmQg
PSBTdXBlci5leHRlbmQ7XG4gICAgU3ViLm1peGluID0gU3VwZXIubWl4aW47XG4gICAgU3ViLnVz
ZSA9IFN1cGVyLnVzZTtcblxuICAgIC8vIGNyZWF0ZSBhc3NldCByZWdpc3RlcnMsIHNvIGV4dGVu
ZGVkIGNsYXNzZXNcbiAgICAvLyBjYW4gaGF2ZSB0aGVpciBwcml2YXRlIGFzc2V0cyB0b28uXG4g
ICAgQVNTRVRfVFlQRVMuZm9yRWFjaChmdW5jdGlvbiAodHlwZSkge1xuICAgICAgU3ViW3R5cGVd
ID0gU3VwZXJbdHlwZV07XG4gICAgfSk7XG4gICAgLy8gZW5hYmxlIHJlY3Vyc2l2ZSBzZWxmLWxv
b2t1cFxuICAgIGlmIChuYW1lKSB7XG4gICAgICBTdWIub3B0aW9ucy5jb21wb25lbnRzW25hbWVd
ID0gU3ViO1xuICAgIH1cblxuICAgIC8vIGtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIHN1cGVyIG9w
dGlvbnMgYXQgZXh0ZW5zaW9uIHRpbWUuXG4gICAgLy8gbGF0ZXIgYXQgaW5zdGFudGlhdGlvbiB3
ZSBjYW4gY2hlY2sgaWYgU3VwZXIncyBvcHRpb25zIGhhdmVcbiAgICAvLyBiZWVuIHVwZGF0ZWQu
XG4gICAgU3ViLnN1cGVyT3B0aW9ucyA9IFN1cGVyLm9wdGlvbnM7XG4gICAgU3ViLmV4dGVuZE9w
dGlvbnMgPSBleHRlbmRPcHRpb25zO1xuICAgIFN1Yi5zZWFsZWRPcHRpb25zID0gZXh0ZW5kKHt9
LCBTdWIub3B0aW9ucyk7XG5cbiAgICAvLyBjYWNoZSBjb25zdHJ1Y3RvclxuICAgIGNhY2hlZEN0
b3JzW1N1cGVySWRdID0gU3ViO1xuICAgIHJldHVybiBTdWJcbiAgfTtcbn1cblxuZnVuY3Rpb24g
aW5pdFByb3BzJDEgKENvbXApIHtcbiAgdmFyIHByb3BzID0gQ29tcC5vcHRpb25zLnByb3BzO1xu
ICBmb3IgKHZhciBrZXkgaW4gcHJvcHMpIHtcbiAgICBwcm94eShDb21wLnByb3RvdHlwZSwgXCJf
cHJvcHNcIiwga2V5KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0Q29tcHV0ZWQkMSAoQ29tcCkg
e1xuICB2YXIgY29tcHV0ZWQgPSBDb21wLm9wdGlvbnMuY29tcHV0ZWQ7XG4gIGZvciAodmFyIGtl
eSBpbiBjb21wdXRlZCkge1xuICAgIGRlZmluZUNvbXB1dGVkKENvbXAucHJvdG90eXBlLCBrZXks
IGNvbXB1dGVkW2tleV0pO1xuICB9XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBpbml0QXNzZXRS
ZWdpc3RlcnMgKFZ1ZSkge1xuICAvKipcbiAgICogQ3JlYXRlIGFzc2V0IHJlZ2lzdHJhdGlvbiBt
ZXRob2RzLlxuICAgKi9cbiAgQVNTRVRfVFlQRVMuZm9yRWFjaChmdW5jdGlvbiAodHlwZSkge1xu
ICAgIFZ1ZVt0eXBlXSA9IGZ1bmN0aW9uIChcbiAgICAgIGlkLFxuICAgICAgZGVmaW5pdGlvblxu
ICAgICkge1xuICAgICAgaWYgKCFkZWZpbml0aW9uKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9w
dGlvbnNbdHlwZSArICdzJ11baWRdXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvKiBpc3RhbmJ1
bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJv
ZHVjdGlvbicpIHtcbiAgICAgICAgICBpZiAodHlwZSA9PT0gJ2NvbXBvbmVudCcgJiYgY29uZmln
LmlzUmVzZXJ2ZWRUYWcoaWQpKSB7XG4gICAgICAgICAgICB3YXJuKFxuICAgICAgICAgICAgICAn
RG8gbm90IHVzZSBidWlsdC1pbiBvciByZXNlcnZlZCBIVE1MIGVsZW1lbnRzIGFzIGNvbXBvbmVu
dCAnICtcbiAgICAgICAgICAgICAgJ2lkOiAnICsgaWRcbiAgICAgICAgICAgICk7XG4gICAgICAg
ICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlID09PSAnY29tcG9uZW50JyAmJiBpc1Bs
YWluT2JqZWN0KGRlZmluaXRpb24pKSB7XG4gICAgICAgICAgZGVmaW5pdGlvbi5uYW1lID0gZGVm
aW5pdGlvbi5uYW1lIHx8IGlkO1xuICAgICAgICAgIGRlZmluaXRpb24gPSB0aGlzLm9wdGlvbnMu
X2Jhc2UuZXh0ZW5kKGRlZmluaXRpb24pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlID09
PSAnZGlyZWN0aXZlJyAmJiB0eXBlb2YgZGVmaW5pdGlvbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAg
ICAgICAgIGRlZmluaXRpb24gPSB7IGJpbmQ6IGRlZmluaXRpb24sIHVwZGF0ZTogZGVmaW5pdGlv
biB9O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub3B0aW9uc1t0eXBlICsgJ3MnXVtpZF0gPSBk
ZWZpbml0aW9uO1xuICAgICAgICByZXR1cm4gZGVmaW5pdGlvblxuICAgICAgfVxuICAgIH07XG4g
IH0pO1xufVxuXG4vKiAgKi9cblxudmFyIHBhdHRlcm5UeXBlcyA9IFtTdHJpbmcsIFJlZ0V4cCwg
QXJyYXldO1xuXG5mdW5jdGlvbiBnZXRDb21wb25lbnROYW1lIChvcHRzKSB7XG4gIHJldHVybiBv
cHRzICYmIChvcHRzLkN0b3Iub3B0aW9ucy5uYW1lIHx8IG9wdHMudGFnKVxufVxuXG5mdW5jdGlv
biBtYXRjaGVzIChwYXR0ZXJuLCBuYW1lKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHBhdHRlcm4p
KSB7XG4gICAgcmV0dXJuIHBhdHRlcm4uaW5kZXhPZihuYW1lKSA+IC0xXG4gIH0gZWxzZSBpZiAo
dHlwZW9mIHBhdHRlcm4gPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHBhdHRlcm4uc3BsaXQo
JywnKS5pbmRleE9mKG5hbWUpID4gLTFcbiAgfSBlbHNlIGlmIChpc1JlZ0V4cChwYXR0ZXJuKSkg
e1xuICAgIHJldHVybiBwYXR0ZXJuLnRlc3QobmFtZSlcbiAgfVxuICAvKiBpc3RhbmJ1bCBpZ25v
cmUgbmV4dCAqL1xuICByZXR1cm4gZmFsc2Vcbn1cblxuZnVuY3Rpb24gcHJ1bmVDYWNoZSAoY2Fj
aGUsIGN1cnJlbnQsIGZpbHRlcikge1xuICBmb3IgKHZhciBrZXkgaW4gY2FjaGUpIHtcbiAgICB2
YXIgY2FjaGVkTm9kZSA9IGNhY2hlW2tleV07XG4gICAgaWYgKGNhY2hlZE5vZGUpIHtcbiAgICAg
IHZhciBuYW1lID0gZ2V0Q29tcG9uZW50TmFtZShjYWNoZWROb2RlLmNvbXBvbmVudE9wdGlvbnMp
O1xuICAgICAgaWYgKG5hbWUgJiYgIWZpbHRlcihuYW1lKSkge1xuICAgICAgICBpZiAoY2FjaGVk
Tm9kZSAhPT0gY3VycmVudCkge1xuICAgICAgICAgIHBydW5lQ2FjaGVFbnRyeShjYWNoZWROb2Rl
KTtcbiAgICAgICAgfVxuICAgICAgICBjYWNoZVtrZXldID0gbnVsbDtcbiAgICAgIH1cbiAgICB9
XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJ1bmVDYWNoZUVudHJ5ICh2bm9kZSkge1xuICBpZiAodm5v
ZGUpIHtcbiAgICB2bm9kZS5jb21wb25lbnRJbnN0YW5jZS4kZGVzdHJveSgpO1xuICB9XG59XG5c
bnZhciBLZWVwQWxpdmUgPSB7XG4gIG5hbWU6ICdrZWVwLWFsaXZlJyxcbiAgYWJzdHJhY3Q6IHRy
dWUsXG5cbiAgcHJvcHM6IHtcbiAgICBpbmNsdWRlOiBwYXR0ZXJuVHlwZXMsXG4gICAgZXhjbHVk
ZTogcGF0dGVyblR5cGVzXG4gIH0sXG5cbiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCAoKSB7
XG4gICAgdGhpcy5jYWNoZSA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIH0sXG5cbiAgZGVzdHJv
eWVkOiBmdW5jdGlvbiBkZXN0cm95ZWQgKCkge1xuICAgIHZhciB0aGlzJDEgPSB0aGlzO1xuXG4g
ICAgZm9yICh2YXIga2V5IGluIHRoaXMkMS5jYWNoZSkge1xuICAgICAgcHJ1bmVDYWNoZUVudHJ5
KHRoaXMkMS5jYWNoZVtrZXldKTtcbiAgICB9XG4gIH0sXG5cbiAgd2F0Y2g6IHtcbiAgICBpbmNs
dWRlOiBmdW5jdGlvbiBpbmNsdWRlICh2YWwpIHtcbiAgICAgIHBydW5lQ2FjaGUodGhpcy5jYWNo
ZSwgdGhpcy5fdm5vZGUsIGZ1bmN0aW9uIChuYW1lKSB7IHJldHVybiBtYXRjaGVzKHZhbCwgbmFt
ZSk7IH0pO1xuICAgIH0sXG4gICAgZXhjbHVkZTogZnVuY3Rpb24gZXhjbHVkZSAodmFsKSB7XG4g
ICAgICBwcnVuZUNhY2hlKHRoaXMuY2FjaGUsIHRoaXMuX3Zub2RlLCBmdW5jdGlvbiAobmFtZSkg
eyByZXR1cm4gIW1hdGNoZXModmFsLCBuYW1lKTsgfSk7XG4gICAgfVxuICB9LFxuXG4gIHJlbmRl
cjogZnVuY3Rpb24gcmVuZGVyICgpIHtcbiAgICB2YXIgdm5vZGUgPSBnZXRGaXJzdENvbXBvbmVu
dENoaWxkKHRoaXMuJHNsb3RzLmRlZmF1bHQpO1xuICAgIHZhciBjb21wb25lbnRPcHRpb25zID0g
dm5vZGUgJiYgdm5vZGUuY29tcG9uZW50T3B0aW9ucztcbiAgICBpZiAoY29tcG9uZW50T3B0aW9u
cykge1xuICAgICAgLy8gY2hlY2sgcGF0dGVyblxuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25l
bnROYW1lKGNvbXBvbmVudE9wdGlvbnMpO1xuICAgICAgaWYgKG5hbWUgJiYgKFxuICAgICAgICAo
dGhpcy5pbmNsdWRlICYmICFtYXRjaGVzKHRoaXMuaW5jbHVkZSwgbmFtZSkpIHx8XG4gICAgICAg
ICh0aGlzLmV4Y2x1ZGUgJiYgbWF0Y2hlcyh0aGlzLmV4Y2x1ZGUsIG5hbWUpKVxuICAgICAgKSkg
e1xuICAgICAgICByZXR1cm4gdm5vZGVcbiAgICAgIH1cbiAgICAgIHZhciBrZXkgPSB2bm9kZS5r
ZXkgPT0gbnVsbFxuICAgICAgICAvLyBzYW1lIGNvbnN0cnVjdG9yIG1heSBnZXQgcmVnaXN0ZXJl
ZCBhcyBkaWZmZXJlbnQgbG9jYWwgY29tcG9uZW50c1xuICAgICAgICAvLyBzbyBjaWQgYWxvbmUg
aXMgbm90IGVub3VnaCAoIzMyNjkpXG4gICAgICAgID8gY29tcG9uZW50T3B0aW9ucy5DdG9yLmNp
ZCArIChjb21wb25lbnRPcHRpb25zLnRhZyA/IChcIjo6XCIgKyAoY29tcG9uZW50T3B0aW9ucy50
YWcpKSA6ICcnKVxuICAgICAgICA6IHZub2RlLmtleTtcbiAgICAgIGlmICh0aGlzLmNhY2hlW2tl
eV0pIHtcbiAgICAgICAgdm5vZGUuY29tcG9uZW50SW5zdGFuY2UgPSB0aGlzLmNhY2hlW2tleV0u
Y29tcG9uZW50SW5zdGFuY2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNhY2hlW2tl
eV0gPSB2bm9kZTtcbiAgICAgIH1cbiAgICAgIHZub2RlLmRhdGEua2VlcEFsaXZlID0gdHJ1ZTtc
biAgICB9XG4gICAgcmV0dXJuIHZub2RlXG4gIH1cbn07XG5cbnZhciBidWlsdEluQ29tcG9uZW50
cyA9IHtcbiAgS2VlcEFsaXZlOiBLZWVwQWxpdmVcbn07XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBp
bml0R2xvYmFsQVBJIChWdWUpIHtcbiAgLy8gY29uZmlnXG4gIHZhciBjb25maWdEZWYgPSB7fTtc
biAgY29uZmlnRGVmLmdldCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNvbmZpZzsgfTtcbiAgaWYg
KHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBjb25maWdEZWYu
c2V0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgd2FybihcbiAgICAgICAgJ0RvIG5vdCByZXBsYWNl
IHRoZSBWdWUuY29uZmlnIG9iamVjdCwgc2V0IGluZGl2aWR1YWwgZmllbGRzIGluc3RlYWQuJ1xu
ICAgICAgKTtcbiAgICB9O1xuICB9XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShWdWUsICdjb25m
aWcnLCBjb25maWdEZWYpO1xuXG4gIC8vIGV4cG9zZWQgdXRpbCBtZXRob2RzLlxuICAvLyBOT1RF
OiB0aGVzZSBhcmUgbm90IGNvbnNpZGVyZWQgcGFydCBvZiB0aGUgcHVibGljIEFQSSAtIGF2b2lk
IHJlbHlpbmcgb25cbiAgLy8gdGhlbSB1bmxlc3MgeW91IGFyZSBhd2FyZSBvZiB0aGUgcmlzay5c
biAgVnVlLnV0aWwgPSB7XG4gICAgd2Fybjogd2FybixcbiAgICBleHRlbmQ6IGV4dGVuZCxcbiAg
ICBtZXJnZU9wdGlvbnM6IG1lcmdlT3B0aW9ucyxcbiAgICBkZWZpbmVSZWFjdGl2ZTogZGVmaW5l
UmVhY3RpdmUkJDFcbiAgfTtcblxuICBWdWUuc2V0ID0gc2V0O1xuICBWdWUuZGVsZXRlID0gZGVs
O1xuICBWdWUubmV4dFRpY2sgPSBuZXh0VGljaztcblxuICBWdWUub3B0aW9ucyA9IE9iamVjdC5j
cmVhdGUobnVsbCk7XG4gIEFTU0VUX1RZUEVTLmZvckVhY2goZnVuY3Rpb24gKHR5cGUpIHtcbiAg
ICBWdWUub3B0aW9uc1t0eXBlICsgJ3MnXSA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIH0pO1xu
XG4gIC8vIHRoaXMgaXMgdXNlZCB0byBpZGVudGlmeSB0aGUgXCJiYXNlXCIgY29uc3RydWN0b3Ig
dG8gZXh0ZW5kIGFsbCBwbGFpbi1vYmplY3RcbiAgLy8gY29tcG9uZW50cyB3aXRoIGluIFdlZXgn
cyBtdWx0aS1pbnN0YW5jZSBzY2VuYXJpb3MuXG4gIFZ1ZS5vcHRpb25zLl9iYXNlID0gVnVlO1xu
XG4gIGV4dGVuZChWdWUub3B0aW9ucy5jb21wb25lbnRzLCBidWlsdEluQ29tcG9uZW50cyk7XG5c
biAgaW5pdFVzZShWdWUpO1xuICBpbml0TWl4aW4kMShWdWUpO1xuICBpbml0RXh0ZW5kKFZ1ZSk7
XG4gIGluaXRBc3NldFJlZ2lzdGVycyhWdWUpO1xufVxuXG5pbml0R2xvYmFsQVBJKFZ1ZSQzKTtc
blxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFZ1ZSQzLnByb3RvdHlwZSwgJyRpc1NlcnZlcicsIHtc
biAgZ2V0OiBpc1NlcnZlclJlbmRlcmluZ1xufSk7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShW
dWUkMy5wcm90b3R5cGUsICckc3NyQ29udGV4dCcsIHtcbiAgZ2V0OiBmdW5jdGlvbiBnZXQgKCkg
e1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHRoaXMuJHZub2Rl
ICYmIHRoaXMuJHZub2RlLnNzckNvbnRleHRcbiAgfVxufSk7XG5cblZ1ZSQzLnZlcnNpb24gPSAn
Mi40LjInO1xuXG4vKiAgKi9cblxuLy8gdGhlc2UgYXJlIHJlc2VydmVkIGZvciB3ZWIgYmVjYXVz
ZSB0aGV5IGFyZSBkaXJlY3RseSBjb21waWxlZCBhd2F5XG4vLyBkdXJpbmcgdGVtcGxhdGUgY29t
cGlsYXRpb25cbnZhciBpc1Jlc2VydmVkQXR0ciA9IG1ha2VNYXAoJ3N0eWxlLGNsYXNzJyk7XG5c
bi8vIGF0dHJpYnV0ZXMgdGhhdCBzaG91bGQgYmUgdXNpbmcgcHJvcHMgZm9yIGJpbmRpbmdcbnZh
ciBhY2NlcHRWYWx1ZSA9IG1ha2VNYXAoJ2lucHV0LHRleHRhcmVhLG9wdGlvbixzZWxlY3QnKTtc
bnZhciBtdXN0VXNlUHJvcCA9IGZ1bmN0aW9uICh0YWcsIHR5cGUsIGF0dHIpIHtcbiAgcmV0dXJu
IChcbiAgICAoYXR0ciA9PT0gJ3ZhbHVlJyAmJiBhY2NlcHRWYWx1ZSh0YWcpKSAmJiB0eXBlICE9
PSAnYnV0dG9uJyB8fFxuICAgIChhdHRyID09PSAnc2VsZWN0ZWQnICYmIHRhZyA9PT0gJ29wdGlv
bicpIHx8XG4gICAgKGF0dHIgPT09ICdjaGVja2VkJyAmJiB0YWcgPT09ICdpbnB1dCcpIHx8XG4g
ICAgKGF0dHIgPT09ICdtdXRlZCcgJiYgdGFnID09PSAndmlkZW8nKVxuICApXG59O1xuXG52YXIg
aXNFbnVtZXJhdGVkQXR0ciA9IG1ha2VNYXAoJ2NvbnRlbnRlZGl0YWJsZSxkcmFnZ2FibGUsc3Bl
bGxjaGVjaycpO1xuXG52YXIgaXNCb29sZWFuQXR0ciA9IG1ha2VNYXAoXG4gICdhbGxvd2Z1bGxz
Y3JlZW4sYXN5bmMsYXV0b2ZvY3VzLGF1dG9wbGF5LGNoZWNrZWQsY29tcGFjdCxjb250cm9scyxk
ZWNsYXJlLCcgK1xuICAnZGVmYXVsdCxkZWZhdWx0Y2hlY2tlZCxkZWZhdWx0bXV0ZWQsZGVmYXVs
dHNlbGVjdGVkLGRlZmVyLGRpc2FibGVkLCcgK1xuICAnZW5hYmxlZCxmb3Jtbm92YWxpZGF0ZSxo
aWRkZW4saW5kZXRlcm1pbmF0ZSxpbmVydCxpc21hcCxpdGVtc2NvcGUsbG9vcCxtdWx0aXBsZSwn
ICtcbiAgJ211dGVkLG5vaHJlZixub3Jlc2l6ZSxub3NoYWRlLG5vdmFsaWRhdGUsbm93cmFwLG9w
ZW4scGF1c2VvbmV4aXQscmVhZG9ubHksJyArXG4gICdyZXF1aXJlZCxyZXZlcnNlZCxzY29wZWQs
c2VhbWxlc3Msc2VsZWN0ZWQsc29ydGFibGUsdHJhbnNsYXRlLCcgK1xuICAndHJ1ZXNwZWVkLHR5
cGVtdXN0bWF0Y2gsdmlzaWJsZSdcbik7XG5cbnZhciB4bGlua05TID0gJ2h0dHA6Ly93d3cudzMu
b3JnLzE5OTkveGxpbmsnO1xuXG52YXIgaXNYbGluayA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gIHJl
dHVybiBuYW1lLmNoYXJBdCg1KSA9PT0gJzonICYmIG5hbWUuc2xpY2UoMCwgNSkgPT09ICd4bGlu
aydcbn07XG5cbnZhciBnZXRYbGlua1Byb3AgPSBmdW5jdGlvbiAobmFtZSkge1xuICByZXR1cm4g
aXNYbGluayhuYW1lKSA/IG5hbWUuc2xpY2UoNiwgbmFtZS5sZW5ndGgpIDogJydcbn07XG5cbnZh
ciBpc0ZhbHN5QXR0clZhbHVlID0gZnVuY3Rpb24gKHZhbCkge1xuICByZXR1cm4gdmFsID09IG51
bGwgfHwgdmFsID09PSBmYWxzZVxufTtcblxuLyogICovXG5cbmZ1bmN0aW9uIGdlbkNsYXNzRm9y
Vm5vZGUgKHZub2RlKSB7XG4gIHZhciBkYXRhID0gdm5vZGUuZGF0YTtcbiAgdmFyIHBhcmVudE5v
ZGUgPSB2bm9kZTtcbiAgdmFyIGNoaWxkTm9kZSA9IHZub2RlO1xuICB3aGlsZSAoaXNEZWYoY2hp
bGROb2RlLmNvbXBvbmVudEluc3RhbmNlKSkge1xuICAgIGNoaWxkTm9kZSA9IGNoaWxkTm9kZS5j
b21wb25lbnRJbnN0YW5jZS5fdm5vZGU7XG4gICAgaWYgKGNoaWxkTm9kZS5kYXRhKSB7XG4gICAg
ICBkYXRhID0gbWVyZ2VDbGFzc0RhdGEoY2hpbGROb2RlLmRhdGEsIGRhdGEpO1xuICAgIH1cbiAg
fVxuICB3aGlsZSAoaXNEZWYocGFyZW50Tm9kZSA9IHBhcmVudE5vZGUucGFyZW50KSkge1xuICAg
IGlmIChwYXJlbnROb2RlLmRhdGEpIHtcbiAgICAgIGRhdGEgPSBtZXJnZUNsYXNzRGF0YShkYXRh
LCBwYXJlbnROb2RlLmRhdGEpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVuZGVyQ2xhc3MoZGF0
YS5zdGF0aWNDbGFzcywgZGF0YS5jbGFzcylcbn1cblxuZnVuY3Rpb24gbWVyZ2VDbGFzc0RhdGEg
KGNoaWxkLCBwYXJlbnQpIHtcbiAgcmV0dXJuIHtcbiAgICBzdGF0aWNDbGFzczogY29uY2F0KGNo
aWxkLnN0YXRpY0NsYXNzLCBwYXJlbnQuc3RhdGljQ2xhc3MpLFxuICAgIGNsYXNzOiBpc0RlZihj
aGlsZC5jbGFzcylcbiAgICAgID8gW2NoaWxkLmNsYXNzLCBwYXJlbnQuY2xhc3NdXG4gICAgICA6
IHBhcmVudC5jbGFzc1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlbmRlckNsYXNzIChcbiAgc3RhdGlj
Q2xhc3MsXG4gIGR5bmFtaWNDbGFzc1xuKSB7XG4gIGlmIChpc0RlZihzdGF0aWNDbGFzcykgfHwg
aXNEZWYoZHluYW1pY0NsYXNzKSkge1xuICAgIHJldHVybiBjb25jYXQoc3RhdGljQ2xhc3MsIHN0
cmluZ2lmeUNsYXNzKGR5bmFtaWNDbGFzcykpXG4gIH1cbiAgLyogaXN0YW5idWwgaWdub3JlIG5l
eHQgKi9cbiAgcmV0dXJuICcnXG59XG5cbmZ1bmN0aW9uIGNvbmNhdCAoYSwgYikge1xuICByZXR1
cm4gYSA/IGIgPyAoYSArICcgJyArIGIpIDogYSA6IChiIHx8ICcnKVxufVxuXG5mdW5jdGlvbiBz
dHJpbmdpZnlDbGFzcyAodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4g
ICAgcmV0dXJuIHN0cmluZ2lmeUFycmF5KHZhbHVlKVxuICB9XG4gIGlmIChpc09iamVjdCh2YWx1
ZSkpIHtcbiAgICByZXR1cm4gc3RyaW5naWZ5T2JqZWN0KHZhbHVlKVxuICB9XG4gIGlmICh0eXBl
b2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cbiAgLyogaXN0
YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcmV0dXJuICcnXG59XG5cbmZ1bmN0aW9uIHN0cmluZ2lm
eUFycmF5ICh2YWx1ZSkge1xuICB2YXIgcmVzID0gJyc7XG4gIHZhciBzdHJpbmdpZmllZDtcbiAg
Zm9yICh2YXIgaSA9IDAsIGwgPSB2YWx1ZS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBpZiAo
aXNEZWYoc3RyaW5naWZpZWQgPSBzdHJpbmdpZnlDbGFzcyh2YWx1ZVtpXSkpICYmIHN0cmluZ2lm
aWVkICE9PSAnJykge1xuICAgICAgaWYgKHJlcykgeyByZXMgKz0gJyAnOyB9XG4gICAgICByZXMg
Kz0gc3RyaW5naWZpZWQ7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNcbn1cblxuZnVuY3Rpb24g
c3RyaW5naWZ5T2JqZWN0ICh2YWx1ZSkge1xuICB2YXIgcmVzID0gJyc7XG4gIGZvciAodmFyIGtl
eSBpbiB2YWx1ZSkge1xuICAgIGlmICh2YWx1ZVtrZXldKSB7XG4gICAgICBpZiAocmVzKSB7IHJl
cyArPSAnICc7IH1cbiAgICAgIHJlcyArPSBrZXk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNc
bn1cblxuLyogICovXG5cbnZhciBuYW1lc3BhY2VNYXAgPSB7XG4gIHN2ZzogJ2h0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnJyxcbiAgbWF0aDogJ2h0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9N
YXRoTUwnXG59O1xuXG52YXIgaXNIVE1MVGFnID0gbWFrZU1hcChcbiAgJ2h0bWwsYm9keSxiYXNl
LGhlYWQsbGluayxtZXRhLHN0eWxlLHRpdGxlLCcgK1xuICAnYWRkcmVzcyxhcnRpY2xlLGFzaWRl
LGZvb3RlcixoZWFkZXIsaDEsaDIsaDMsaDQsaDUsaDYsaGdyb3VwLG5hdixzZWN0aW9uLCcgK1xu
ICAnZGl2LGRkLGRsLGR0LGZpZ2NhcHRpb24sZmlndXJlLHBpY3R1cmUsaHIsaW1nLGxpLG1haW4s
b2wscCxwcmUsdWwsJyArXG4gICdhLGIsYWJicixiZGksYmRvLGJyLGNpdGUsY29kZSxkYXRhLGRm
bixlbSxpLGtiZCxtYXJrLHEscnAscnQscnRjLHJ1YnksJyArXG4gICdzLHNhbXAsc21hbGwsc3Bh
bixzdHJvbmcsc3ViLHN1cCx0aW1lLHUsdmFyLHdicixhcmVhLGF1ZGlvLG1hcCx0cmFjayx2aWRl
bywnICtcbiAgJ2VtYmVkLG9iamVjdCxwYXJhbSxzb3VyY2UsY2FudmFzLHNjcmlwdCxub3Njcmlw
dCxkZWwsaW5zLCcgK1xuICAnY2FwdGlvbixjb2wsY29sZ3JvdXAsdGFibGUsdGhlYWQsdGJvZHks
dGQsdGgsdHIsJyArXG4gICdidXR0b24sZGF0YWxpc3QsZmllbGRzZXQsZm9ybSxpbnB1dCxsYWJl
bCxsZWdlbmQsbWV0ZXIsb3B0Z3JvdXAsb3B0aW9uLCcgK1xuICAnb3V0cHV0LHByb2dyZXNzLHNl
bGVjdCx0ZXh0YXJlYSwnICtcbiAgJ2RldGFpbHMsZGlhbG9nLG1lbnUsbWVudWl0ZW0sc3VtbWFy
eSwnICtcbiAgJ2NvbnRlbnQsZWxlbWVudCxzaGFkb3csdGVtcGxhdGUsYmxvY2txdW90ZSxpZnJh
bWUsdGZvb3QnXG4pO1xuXG4vLyB0aGlzIG1hcCBpcyBpbnRlbnRpb25hbGx5IHNlbGVjdGl2ZSwg
b25seSBjb3ZlcmluZyBTVkcgZWxlbWVudHMgdGhhdCBtYXlcbi8vIGNvbnRhaW4gY2hpbGQgZWxl
bWVudHMuXG52YXIgaXNTVkcgPSBtYWtlTWFwKFxuICAnc3ZnLGFuaW1hdGUsY2lyY2xlLGNsaXBw
YXRoLGN1cnNvcixkZWZzLGRlc2MsZWxsaXBzZSxmaWx0ZXIsZm9udC1mYWNlLCcgK1xuICAnZm9y
ZWlnbk9iamVjdCxnLGdseXBoLGltYWdlLGxpbmUsbWFya2VyLG1hc2ssbWlzc2luZy1nbHlwaCxw
YXRoLHBhdHRlcm4sJyArXG4gICdwb2x5Z29uLHBvbHlsaW5lLHJlY3Qsc3dpdGNoLHN5bWJvbCx0
ZXh0LHRleHRwYXRoLHRzcGFuLHVzZSx2aWV3JyxcbiAgdHJ1ZVxuKTtcblxudmFyIGlzUHJlVGFn
ID0gZnVuY3Rpb24gKHRhZykgeyByZXR1cm4gdGFnID09PSAncHJlJzsgfTtcblxudmFyIGlzUmVz
ZXJ2ZWRUYWcgPSBmdW5jdGlvbiAodGFnKSB7XG4gIHJldHVybiBpc0hUTUxUYWcodGFnKSB8fCBp
c1NWRyh0YWcpXG59O1xuXG5mdW5jdGlvbiBnZXRUYWdOYW1lc3BhY2UgKHRhZykge1xuICBpZiAo
aXNTVkcodGFnKSkge1xuICAgIHJldHVybiAnc3ZnJ1xuICB9XG4gIC8vIGJhc2ljIHN1cHBvcnQg
Zm9yIE1hdGhNTFxuICAvLyBub3RlIGl0IGRvZXNuJ3Qgc3VwcG9ydCBvdGhlciBNYXRoTUwgZWxl
bWVudHMgYmVpbmcgY29tcG9uZW50IHJvb3RzXG4gIGlmICh0YWcgPT09ICdtYXRoJykge1xuICAg
IHJldHVybiAnbWF0aCdcbiAgfVxufVxuXG52YXIgdW5rbm93bkVsZW1lbnRDYWNoZSA9IE9iamVj
dC5jcmVhdGUobnVsbCk7XG5mdW5jdGlvbiBpc1Vua25vd25FbGVtZW50ICh0YWcpIHtcbiAgLyog
aXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmICghaW5Ccm93c2VyKSB7XG4gICAgcmV0dXJuIHRy
dWVcbiAgfVxuICBpZiAoaXNSZXNlcnZlZFRhZyh0YWcpKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4g
IH1cbiAgdGFnID0gdGFnLnRvTG93ZXJDYXNlKCk7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAq
L1xuICBpZiAodW5rbm93bkVsZW1lbnRDYWNoZVt0YWddICE9IG51bGwpIHtcbiAgICByZXR1cm4g
dW5rbm93bkVsZW1lbnRDYWNoZVt0YWddXG4gIH1cbiAgdmFyIGVsID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0YWcpO1xuICBpZiAodGFnLmluZGV4T2YoJy0nKSA+IC0xKSB7XG4gICAgLy8gaHR0
cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjgyMTAzNjQvMTA3MDI0NFxuICAgIHJldHVybiAodW5r
bm93bkVsZW1lbnRDYWNoZVt0YWddID0gKFxuICAgICAgZWwuY29uc3RydWN0b3IgPT09IHdpbmRv
dy5IVE1MVW5rbm93bkVsZW1lbnQgfHxcbiAgICAgIGVsLmNvbnN0cnVjdG9yID09PSB3aW5kb3cu
SFRNTEVsZW1lbnRcbiAgICApKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiAodW5rbm93bkVsZW1l
bnRDYWNoZVt0YWddID0gL0hUTUxVbmtub3duRWxlbWVudC8udGVzdChlbC50b1N0cmluZygpKSlc
biAgfVxufVxuXG4vKiAgKi9cblxuLyoqXG4gKiBRdWVyeSBhbiBlbGVtZW50IHNlbGVjdG9yIGlm
IGl0J3Mgbm90IGFuIGVsZW1lbnQgYWxyZWFkeS5cbiAqL1xuZnVuY3Rpb24gcXVlcnkgKGVsKSB7
XG4gIGlmICh0eXBlb2YgZWwgPT09ICdzdHJpbmcnKSB7XG4gICAgdmFyIHNlbGVjdGVkID0gZG9j
dW1lbnQucXVlcnlTZWxlY3RvcihlbCk7XG4gICAgaWYgKCFzZWxlY3RlZCkge1xuICAgICAgcHJv
Y2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgICAnQ2Fu
bm90IGZpbmQgZWxlbWVudDogJyArIGVsXG4gICAgICApO1xuICAgICAgcmV0dXJuIGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gICAgfVxuICAgIHJldHVybiBzZWxlY3RlZFxuICB9IGVs
c2Uge1xuICAgIHJldHVybiBlbFxuICB9XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBjcmVhdGVF
bGVtZW50JDEgKHRhZ05hbWUsIHZub2RlKSB7XG4gIHZhciBlbG0gPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KHRhZ05hbWUpO1xuICBpZiAodGFnTmFtZSAhPT0gJ3NlbGVjdCcpIHtcbiAgICByZXR1
cm4gZWxtXG4gIH1cbiAgLy8gZmFsc2Ugb3IgbnVsbCB3aWxsIHJlbW92ZSB0aGUgYXR0cmlidXRl
IGJ1dCB1bmRlZmluZWQgd2lsbCBub3RcbiAgaWYgKHZub2RlLmRhdGEgJiYgdm5vZGUuZGF0YS5h
dHRycyAmJiB2bm9kZS5kYXRhLmF0dHJzLm11bHRpcGxlICE9PSB1bmRlZmluZWQpIHtcbiAgICBl
bG0uc2V0QXR0cmlidXRlKCdtdWx0aXBsZScsICdtdWx0aXBsZScpO1xuICB9XG4gIHJldHVybiBl
bG1cbn1cblxuZnVuY3Rpb24gY3JlYXRlRWxlbWVudE5TIChuYW1lc3BhY2UsIHRhZ05hbWUpIHtc
biAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhuYW1lc3BhY2VNYXBbbmFtZXNwYWNl
XSwgdGFnTmFtZSlcbn1cblxuZnVuY3Rpb24gY3JlYXRlVGV4dE5vZGUgKHRleHQpIHtcbiAgcmV0
dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRleHQpXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNv
bW1lbnQgKHRleHQpIHtcbiAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQodGV4dClcbn1c
blxuZnVuY3Rpb24gaW5zZXJ0QmVmb3JlIChwYXJlbnROb2RlLCBuZXdOb2RlLCByZWZlcmVuY2VO
b2RlKSB7XG4gIHBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG5ld05vZGUsIHJlZmVyZW5jZU5vZGUp
O1xufVxuXG5mdW5jdGlvbiByZW1vdmVDaGlsZCAobm9kZSwgY2hpbGQpIHtcbiAgbm9kZS5yZW1v
dmVDaGlsZChjaGlsZCk7XG59XG5cbmZ1bmN0aW9uIGFwcGVuZENoaWxkIChub2RlLCBjaGlsZCkg
e1xuICBub2RlLmFwcGVuZENoaWxkKGNoaWxkKTtcbn1cblxuZnVuY3Rpb24gcGFyZW50Tm9kZSAo
bm9kZSkge1xuICByZXR1cm4gbm9kZS5wYXJlbnROb2RlXG59XG5cbmZ1bmN0aW9uIG5leHRTaWJs
aW5nIChub2RlKSB7XG4gIHJldHVybiBub2RlLm5leHRTaWJsaW5nXG59XG5cbmZ1bmN0aW9uIHRh
Z05hbWUgKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUudGFnTmFtZVxufVxuXG5mdW5jdGlvbiBzZXRU
ZXh0Q29udGVudCAobm9kZSwgdGV4dCkge1xuICBub2RlLnRleHRDb250ZW50ID0gdGV4dDtcbn1c
blxuZnVuY3Rpb24gc2V0QXR0cmlidXRlIChub2RlLCBrZXksIHZhbCkge1xuICBub2RlLnNldEF0
dHJpYnV0ZShrZXksIHZhbCk7XG59XG5cblxudmFyIG5vZGVPcHMgPSBPYmplY3QuZnJlZXplKHtc
blx0Y3JlYXRlRWxlbWVudDogY3JlYXRlRWxlbWVudCQxLFxuXHRjcmVhdGVFbGVtZW50TlM6IGNy
ZWF0ZUVsZW1lbnROUyxcblx0Y3JlYXRlVGV4dE5vZGU6IGNyZWF0ZVRleHROb2RlLFxuXHRjcmVh
dGVDb21tZW50OiBjcmVhdGVDb21tZW50LFxuXHRpbnNlcnRCZWZvcmU6IGluc2VydEJlZm9yZSxc
blx0cmVtb3ZlQ2hpbGQ6IHJlbW92ZUNoaWxkLFxuXHRhcHBlbmRDaGlsZDogYXBwZW5kQ2hpbGQs
XG5cdHBhcmVudE5vZGU6IHBhcmVudE5vZGUsXG5cdG5leHRTaWJsaW5nOiBuZXh0U2libGluZyxc
blx0dGFnTmFtZTogdGFnTmFtZSxcblx0c2V0VGV4dENvbnRlbnQ6IHNldFRleHRDb250ZW50LFxu
XHRzZXRBdHRyaWJ1dGU6IHNldEF0dHJpYnV0ZVxufSk7XG5cbi8qICAqL1xuXG52YXIgcmVmID0g
e1xuICBjcmVhdGU6IGZ1bmN0aW9uIGNyZWF0ZSAoXywgdm5vZGUpIHtcbiAgICByZWdpc3RlclJl
Zih2bm9kZSk7XG4gIH0sXG4gIHVwZGF0ZTogZnVuY3Rpb24gdXBkYXRlIChvbGRWbm9kZSwgdm5v
ZGUpIHtcbiAgICBpZiAob2xkVm5vZGUuZGF0YS5yZWYgIT09IHZub2RlLmRhdGEucmVmKSB7XG4g
ICAgICByZWdpc3RlclJlZihvbGRWbm9kZSwgdHJ1ZSk7XG4gICAgICByZWdpc3RlclJlZih2bm9k
ZSk7XG4gICAgfVxuICB9LFxuICBkZXN0cm95OiBmdW5jdGlvbiBkZXN0cm95ICh2bm9kZSkge1xu
ICAgIHJlZ2lzdGVyUmVmKHZub2RlLCB0cnVlKTtcbiAgfVxufTtcblxuZnVuY3Rpb24gcmVnaXN0
ZXJSZWYgKHZub2RlLCBpc1JlbW92YWwpIHtcbiAgdmFyIGtleSA9IHZub2RlLmRhdGEucmVmO1xu
ICBpZiAoIWtleSkgeyByZXR1cm4gfVxuXG4gIHZhciB2bSA9IHZub2RlLmNvbnRleHQ7XG4gIHZh
ciByZWYgPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZSB8fCB2bm9kZS5lbG07XG4gIHZhciByZWZz
ID0gdm0uJHJlZnM7XG4gIGlmIChpc1JlbW92YWwpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShy
ZWZzW2tleV0pKSB7XG4gICAgICByZW1vdmUocmVmc1trZXldLCByZWYpO1xuICAgIH0gZWxzZSBp
ZiAocmVmc1trZXldID09PSByZWYpIHtcbiAgICAgIHJlZnNba2V5XSA9IHVuZGVmaW5lZDtcbiAg
ICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKHZub2RlLmRhdGEucmVmSW5Gb3IpIHtcbiAgICAgIGlm
ICghQXJyYXkuaXNBcnJheShyZWZzW2tleV0pKSB7XG4gICAgICAgIHJlZnNba2V5XSA9IFtyZWZd
O1xuICAgICAgfSBlbHNlIGlmIChyZWZzW2tleV0uaW5kZXhPZihyZWYpIDwgMCkge1xuICAgICAg
ICAvLyAkZmxvdy1kaXNhYmxlLWxpbmVcbiAgICAgICAgcmVmc1trZXldLnB1c2gocmVmKTtcbiAg
ICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmVmc1trZXldID0gcmVmO1xuICAgIH1cbiAgfVxu
fVxuXG4vKipcbiAqIFZpcnR1YWwgRE9NIHBhdGNoaW5nIGFsZ29yaXRobSBiYXNlZCBvbiBTbmFi
YmRvbSBieVxuICogU2ltb24gRnJpaXMgVmluZHVtIChAcGFsZGVwaW5kKVxuICogTGljZW5zZWQg
dW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKiBodHRwczovL2dpdGh1Yi5jb20vcGFsZGVwaW5kL3Nu
YWJiZG9tL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqXG4gKiBtb2RpZmllZCBieSBFdmFuIFlvdSAo
QHl5eDk5MDgwMylcbiAqXG5cbi8qXG4gKiBOb3QgdHlwZS1jaGVja2luZyB0aGlzIGJlY2F1c2Ug
dGhpcyBmaWxlIGlzIHBlcmYtY3JpdGljYWwgYW5kIHRoZSBjb3N0XG4gKiBvZiBtYWtpbmcgZmxv
dyB1bmRlcnN0YW5kIGl0IGlzIG5vdCB3b3J0aCBpdC5cbiAqL1xuXG52YXIgZW1wdHlOb2RlID0g
bmV3IFZOb2RlKCcnLCB7fSwgW10pO1xuXG52YXIgaG9va3MgPSBbJ2NyZWF0ZScsICdhY3RpdmF0
ZScsICd1cGRhdGUnLCAncmVtb3ZlJywgJ2Rlc3Ryb3knXTtcblxuZnVuY3Rpb24gc2FtZVZub2Rl
IChhLCBiKSB7XG4gIHJldHVybiAoXG4gICAgYS5rZXkgPT09IGIua2V5ICYmIChcbiAgICAgIChc
biAgICAgICAgYS50YWcgPT09IGIudGFnICYmXG4gICAgICAgIGEuaXNDb21tZW50ID09PSBiLmlz
Q29tbWVudCAmJlxuICAgICAgICBpc0RlZihhLmRhdGEpID09PSBpc0RlZihiLmRhdGEpICYmXG4g
ICAgICAgIHNhbWVJbnB1dFR5cGUoYSwgYilcbiAgICAgICkgfHwgKFxuICAgICAgICBpc1RydWUo
YS5pc0FzeW5jUGxhY2Vob2xkZXIpICYmXG4gICAgICAgIGEuYXN5bmNGYWN0b3J5ID09PSBiLmFz
eW5jRmFjdG9yeSAmJlxuICAgICAgICBpc1VuZGVmKGIuYXN5bmNGYWN0b3J5LmVycm9yKVxuICAg
ICAgKVxuICAgIClcbiAgKVxufVxuXG4vLyBTb21lIGJyb3dzZXJzIGRvIG5vdCBzdXBwb3J0IGR5
bmFtaWNhbGx5IGNoYW5naW5nIHR5cGUgZm9yIDxpbnB1dD5cbi8vIHNvIHRoZXkgbmVlZCB0byBi
ZSB0cmVhdGVkIGFzIGRpZmZlcmVudCBub2Rlc1xuZnVuY3Rpb24gc2FtZUlucHV0VHlwZSAoYSwg
Yikge1xuICBpZiAoYS50YWcgIT09ICdpbnB1dCcpIHsgcmV0dXJuIHRydWUgfVxuICB2YXIgaTtc
biAgdmFyIHR5cGVBID0gaXNEZWYoaSA9IGEuZGF0YSkgJiYgaXNEZWYoaSA9IGkuYXR0cnMpICYm
IGkudHlwZTtcbiAgdmFyIHR5cGVCID0gaXNEZWYoaSA9IGIuZGF0YSkgJiYgaXNEZWYoaSA9IGku
YXR0cnMpICYmIGkudHlwZTtcbiAgcmV0dXJuIHR5cGVBID09PSB0eXBlQlxufVxuXG5mdW5jdGlv
biBjcmVhdGVLZXlUb09sZElkeCAoY2hpbGRyZW4sIGJlZ2luSWR4LCBlbmRJZHgpIHtcbiAgdmFy
IGksIGtleTtcbiAgdmFyIG1hcCA9IHt9O1xuICBmb3IgKGkgPSBiZWdpbklkeDsgaSA8PSBlbmRJ
ZHg7ICsraSkge1xuICAgIGtleSA9IGNoaWxkcmVuW2ldLmtleTtcbiAgICBpZiAoaXNEZWYoa2V5
KSkgeyBtYXBba2V5XSA9IGk7IH1cbiAgfVxuICByZXR1cm4gbWFwXG59XG5cbmZ1bmN0aW9uIGNy
ZWF0ZVBhdGNoRnVuY3Rpb24gKGJhY2tlbmQpIHtcbiAgdmFyIGksIGo7XG4gIHZhciBjYnMgPSB7
fTtcblxuICB2YXIgbW9kdWxlcyA9IGJhY2tlbmQubW9kdWxlcztcbiAgdmFyIG5vZGVPcHMgPSBi
YWNrZW5kLm5vZGVPcHM7XG5cbiAgZm9yIChpID0gMDsgaSA8IGhvb2tzLmxlbmd0aDsgKytpKSB7
XG4gICAgY2JzW2hvb2tzW2ldXSA9IFtdO1xuICAgIGZvciAoaiA9IDA7IGogPCBtb2R1bGVzLmxl
bmd0aDsgKytqKSB7XG4gICAgICBpZiAoaXNEZWYobW9kdWxlc1tqXVtob29rc1tpXV0pKSB7XG4g
ICAgICAgIGNic1tob29rc1tpXV0ucHVzaChtb2R1bGVzW2pdW2hvb2tzW2ldXSk7XG4gICAgICB9
XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gZW1wdHlOb2RlQXQgKGVsbSkge1xuICAgIHJldHVy
biBuZXcgVk5vZGUobm9kZU9wcy50YWdOYW1lKGVsbSkudG9Mb3dlckNhc2UoKSwge30sIFtdLCB1
bmRlZmluZWQsIGVsbSlcbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZVJtQ2IgKGNoaWxkRWxtLCBs
aXN0ZW5lcnMpIHtcbiAgICBmdW5jdGlvbiByZW1vdmUkJDEgKCkge1xuICAgICAgaWYgKC0tcmVt
b3ZlJCQxLmxpc3RlbmVycyA9PT0gMCkge1xuICAgICAgICByZW1vdmVOb2RlKGNoaWxkRWxtKTtc
biAgICAgIH1cbiAgICB9XG4gICAgcmVtb3ZlJCQxLmxpc3RlbmVycyA9IGxpc3RlbmVycztcbiAg
ICByZXR1cm4gcmVtb3ZlJCQxXG4gIH1cblxuICBmdW5jdGlvbiByZW1vdmVOb2RlIChlbCkge1xu
ICAgIHZhciBwYXJlbnQgPSBub2RlT3BzLnBhcmVudE5vZGUoZWwpO1xuICAgIC8vIGVsZW1lbnQg
bWF5IGhhdmUgYWxyZWFkeSBiZWVuIHJlbW92ZWQgZHVlIHRvIHYtaHRtbCAvIHYtdGV4dFxuICAg
IGlmIChpc0RlZihwYXJlbnQpKSB7XG4gICAgICBub2RlT3BzLnJlbW92ZUNoaWxkKHBhcmVudCwg
ZWwpO1xuICAgIH1cbiAgfVxuXG4gIHZhciBpblByZSA9IDA7XG4gIGZ1bmN0aW9uIGNyZWF0ZUVs
bSAodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCByZWZFbG0sIG5lc3RlZCkg
e1xuICAgIHZub2RlLmlzUm9vdEluc2VydCA9ICFuZXN0ZWQ7IC8vIGZvciB0cmFuc2l0aW9uIGVu
dGVyIGNoZWNrXG4gICAgaWYgKGNyZWF0ZUNvbXBvbmVudCh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1
ZXVlLCBwYXJlbnRFbG0sIHJlZkVsbSkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHZh
ciBkYXRhID0gdm5vZGUuZGF0YTtcbiAgICB2YXIgY2hpbGRyZW4gPSB2bm9kZS5jaGlsZHJlbjtc
biAgICB2YXIgdGFnID0gdm5vZGUudGFnO1xuICAgIGlmIChpc0RlZih0YWcpKSB7XG4gICAgICBp
ZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBpZiAo
ZGF0YSAmJiBkYXRhLnByZSkge1xuICAgICAgICAgIGluUHJlKys7XG4gICAgICAgIH1cbiAgICAg
ICAgaWYgKFxuICAgICAgICAgICFpblByZSAmJlxuICAgICAgICAgICF2bm9kZS5ucyAmJlxuICAg
ICAgICAgICEoY29uZmlnLmlnbm9yZWRFbGVtZW50cy5sZW5ndGggJiYgY29uZmlnLmlnbm9yZWRF
bGVtZW50cy5pbmRleE9mKHRhZykgPiAtMSkgJiZcbiAgICAgICAgICBjb25maWcuaXNVbmtub3du
RWxlbWVudCh0YWcpXG4gICAgICAgICkge1xuICAgICAgICAgIHdhcm4oXG4gICAgICAgICAgICAn
VW5rbm93biBjdXN0b20gZWxlbWVudDogPCcgKyB0YWcgKyAnPiAtIGRpZCB5b3UgJyArXG4gICAg
ICAgICAgICAncmVnaXN0ZXIgdGhlIGNvbXBvbmVudCBjb3JyZWN0bHk/IEZvciByZWN1cnNpdmUg
Y29tcG9uZW50cywgJyArXG4gICAgICAgICAgICAnbWFrZSBzdXJlIHRvIHByb3ZpZGUgdGhlIFwi
bmFtZVwiIG9wdGlvbi4nLFxuICAgICAgICAgICAgdm5vZGUuY29udGV4dFxuICAgICAgICAgICk7
XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHZub2RlLmVsbSA9IHZub2RlLm5zXG4gICAgICAg
ID8gbm9kZU9wcy5jcmVhdGVFbGVtZW50TlModm5vZGUubnMsIHRhZylcbiAgICAgICAgOiBub2Rl
T3BzLmNyZWF0ZUVsZW1lbnQodGFnLCB2bm9kZSk7XG4gICAgICBzZXRTY29wZSh2bm9kZSk7XG5c
biAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAge1xuICAgICAgICBjcmVhdGVD
aGlsZHJlbih2bm9kZSwgY2hpbGRyZW4sIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgICAgIGlm
IChpc0RlZihkYXRhKSkge1xuICAgICAgICAgIGludm9rZUNyZWF0ZUhvb2tzKHZub2RlLCBpbnNl
cnRlZFZub2RlUXVldWUpO1xuICAgICAgICB9XG4gICAgICAgIGluc2VydChwYXJlbnRFbG0sIHZu
b2RlLmVsbSwgcmVmRWxtKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVf
RU5WICE9PSAncHJvZHVjdGlvbicgJiYgZGF0YSAmJiBkYXRhLnByZSkge1xuICAgICAgICBpblBy
ZS0tO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNUcnVlKHZub2RlLmlzQ29tbWVudCkpIHtc
biAgICAgIHZub2RlLmVsbSA9IG5vZGVPcHMuY3JlYXRlQ29tbWVudCh2bm9kZS50ZXh0KTtcbiAg
ICAgIGluc2VydChwYXJlbnRFbG0sIHZub2RlLmVsbSwgcmVmRWxtKTtcbiAgICB9IGVsc2Uge1xu
ICAgICAgdm5vZGUuZWxtID0gbm9kZU9wcy5jcmVhdGVUZXh0Tm9kZSh2bm9kZS50ZXh0KTtcbiAg
ICAgIGluc2VydChwYXJlbnRFbG0sIHZub2RlLmVsbSwgcmVmRWxtKTtcbiAgICB9XG4gIH1cblxu
ICBmdW5jdGlvbiBjcmVhdGVDb21wb25lbnQgKHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIHBh
cmVudEVsbSwgcmVmRWxtKSB7XG4gICAgdmFyIGkgPSB2bm9kZS5kYXRhO1xuICAgIGlmIChpc0Rl
ZihpKSkge1xuICAgICAgdmFyIGlzUmVhY3RpdmF0ZWQgPSBpc0RlZih2bm9kZS5jb21wb25lbnRJ
bnN0YW5jZSkgJiYgaS5rZWVwQWxpdmU7XG4gICAgICBpZiAoaXNEZWYoaSA9IGkuaG9vaykgJiYg
aXNEZWYoaSA9IGkuaW5pdCkpIHtcbiAgICAgICAgaSh2bm9kZSwgZmFsc2UgLyogaHlkcmF0aW5n
ICovLCBwYXJlbnRFbG0sIHJlZkVsbSk7XG4gICAgICB9XG4gICAgICAvLyBhZnRlciBjYWxsaW5n
IHRoZSBpbml0IGhvb2ssIGlmIHRoZSB2bm9kZSBpcyBhIGNoaWxkIGNvbXBvbmVudFxuICAgICAg
Ly8gaXQgc2hvdWxkJ3ZlIGNyZWF0ZWQgYSBjaGlsZCBpbnN0YW5jZSBhbmQgbW91bnRlZCBpdC4g
dGhlIGNoaWxkXG4gICAgICAvLyBjb21wb25lbnQgYWxzbyBoYXMgc2V0IHRoZSBwbGFjZWhvbGRl
ciB2bm9kZSdzIGVsbS5cbiAgICAgIC8vIGluIHRoYXQgY2FzZSB3ZSBjYW4ganVzdCByZXR1cm4g
dGhlIGVsZW1lbnQgYW5kIGJlIGRvbmUuXG4gICAgICBpZiAoaXNEZWYodm5vZGUuY29tcG9uZW50
SW5zdGFuY2UpKSB7XG4gICAgICAgIGluaXRDb21wb25lbnQodm5vZGUsIGluc2VydGVkVm5vZGVR
dWV1ZSk7XG4gICAgICAgIGlmIChpc1RydWUoaXNSZWFjdGl2YXRlZCkpIHtcbiAgICAgICAgICBy
ZWFjdGl2YXRlQ29tcG9uZW50KHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIHBhcmVudEVsbSwg
cmVmRWxtKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgIH1c
biAgfVxuXG4gIGZ1bmN0aW9uIGluaXRDb21wb25lbnQgKHZub2RlLCBpbnNlcnRlZFZub2RlUXVl
dWUpIHtcbiAgICBpZiAoaXNEZWYodm5vZGUuZGF0YS5wZW5kaW5nSW5zZXJ0KSkge1xuICAgICAg
aW5zZXJ0ZWRWbm9kZVF1ZXVlLnB1c2guYXBwbHkoaW5zZXJ0ZWRWbm9kZVF1ZXVlLCB2bm9kZS5k
YXRhLnBlbmRpbmdJbnNlcnQpO1xuICAgICAgdm5vZGUuZGF0YS5wZW5kaW5nSW5zZXJ0ID0gbnVs
bDtcbiAgICB9XG4gICAgdm5vZGUuZWxtID0gdm5vZGUuY29tcG9uZW50SW5zdGFuY2UuJGVsO1xu
ICAgIGlmIChpc1BhdGNoYWJsZSh2bm9kZSkpIHtcbiAgICAgIGludm9rZUNyZWF0ZUhvb2tzKHZu
b2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgc2V0U2NvcGUodm5vZGUpO1xuICAgIH0g
ZWxzZSB7XG4gICAgICAvLyBlbXB0eSBjb21wb25lbnQgcm9vdC5cbiAgICAgIC8vIHNraXAgYWxs
IGVsZW1lbnQtcmVsYXRlZCBtb2R1bGVzIGV4Y2VwdCBmb3IgcmVmICgjMzQ1NSlcbiAgICAgIHJl
Z2lzdGVyUmVmKHZub2RlKTtcbiAgICAgIC8vIG1ha2Ugc3VyZSB0byBpbnZva2UgdGhlIGluc2Vy
dCBob29rXG4gICAgICBpbnNlcnRlZFZub2RlUXVldWUucHVzaCh2bm9kZSk7XG4gICAgfVxuICB9
XG5cbiAgZnVuY3Rpb24gcmVhY3RpdmF0ZUNvbXBvbmVudCAodm5vZGUsIGluc2VydGVkVm5vZGVR
dWV1ZSwgcGFyZW50RWxtLCByZWZFbG0pIHtcbiAgICB2YXIgaTtcbiAgICAvLyBoYWNrIGZvciAj
NDMzOTogYSByZWFjdGl2YXRlZCBjb21wb25lbnQgd2l0aCBpbm5lciB0cmFuc2l0aW9uXG4gICAg
Ly8gZG9lcyBub3QgdHJpZ2dlciBiZWNhdXNlIHRoZSBpbm5lciBub2RlJ3MgY3JlYXRlZCBob29r
cyBhcmUgbm90IGNhbGxlZFxuICAgIC8vIGFnYWluLiBJdCdzIG5vdCBpZGVhbCB0byBpbnZvbHZl
IG1vZHVsZS1zcGVjaWZpYyBsb2dpYyBpbiBoZXJlIGJ1dFxuICAgIC8vIHRoZXJlIGRvZXNuJ3Qg
c2VlbSB0byBiZSBhIGJldHRlciB3YXkgdG8gZG8gaXQuXG4gICAgdmFyIGlubmVyTm9kZSA9IHZu
b2RlO1xuICAgIHdoaWxlIChpbm5lck5vZGUuY29tcG9uZW50SW5zdGFuY2UpIHtcbiAgICAgIGlu
bmVyTm9kZSA9IGlubmVyTm9kZS5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGU7XG4gICAgICBpZiAo
aXNEZWYoaSA9IGlubmVyTm9kZS5kYXRhKSAmJiBpc0RlZihpID0gaS50cmFuc2l0aW9uKSkge1xu
ICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY2JzLmFjdGl2YXRlLmxlbmd0aDsgKytpKSB7XG4gICAg
ICAgICAgY2JzLmFjdGl2YXRlW2ldKGVtcHR5Tm9kZSwgaW5uZXJOb2RlKTtcbiAgICAgICAgfVxu
ICAgICAgICBpbnNlcnRlZFZub2RlUXVldWUucHVzaChpbm5lck5vZGUpO1xuICAgICAgICBicmVh
a1xuICAgICAgfVxuICAgIH1cbiAgICAvLyB1bmxpa2UgYSBuZXdseSBjcmVhdGVkIGNvbXBvbmVu
dCxcbiAgICAvLyBhIHJlYWN0aXZhdGVkIGtlZXAtYWxpdmUgY29tcG9uZW50IGRvZXNuJ3QgaW5z
ZXJ0IGl0c2VsZlxuICAgIGluc2VydChwYXJlbnRFbG0sIHZub2RlLmVsbSwgcmVmRWxtKTtcbiAg
fVxuXG4gIGZ1bmN0aW9uIGluc2VydCAocGFyZW50LCBlbG0sIHJlZiQkMSkge1xuICAgIGlmIChp
c0RlZihwYXJlbnQpKSB7XG4gICAgICBpZiAoaXNEZWYocmVmJCQxKSkge1xuICAgICAgICBpZiAo
cmVmJCQxLnBhcmVudE5vZGUgPT09IHBhcmVudCkge1xuICAgICAgICAgIG5vZGVPcHMuaW5zZXJ0
QmVmb3JlKHBhcmVudCwgZWxtLCByZWYkJDEpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xu
ICAgICAgICBub2RlT3BzLmFwcGVuZENoaWxkKHBhcmVudCwgZWxtKTtcbiAgICAgIH1cbiAgICB9
XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVDaGlsZHJlbiAodm5vZGUsIGNoaWxkcmVuLCBpbnNl
cnRlZFZub2RlUXVldWUpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcbiAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyArK2kpIHtcbiAgICAgICAg
Y3JlYXRlRWxtKGNoaWxkcmVuW2ldLCBpbnNlcnRlZFZub2RlUXVldWUsIHZub2RlLmVsbSwgbnVs
bCwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc1ByaW1pdGl2ZSh2bm9kZS50ZXh0
KSkge1xuICAgICAgbm9kZU9wcy5hcHBlbmRDaGlsZCh2bm9kZS5lbG0sIG5vZGVPcHMuY3JlYXRl
VGV4dE5vZGUodm5vZGUudGV4dCkpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGlzUGF0Y2hh
YmxlICh2bm9kZSkge1xuICAgIHdoaWxlICh2bm9kZS5jb21wb25lbnRJbnN0YW5jZSkge1xuICAg
ICAgdm5vZGUgPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGU7XG4gICAgfVxuICAgIHJl
dHVybiBpc0RlZih2bm9kZS50YWcpXG4gIH1cblxuICBmdW5jdGlvbiBpbnZva2VDcmVhdGVIb29r
cyAodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSkge1xuICAgIGZvciAodmFyIGkkMSA9IDA7IGkk
MSA8IGNicy5jcmVhdGUubGVuZ3RoOyArK2kkMSkge1xuICAgICAgY2JzLmNyZWF0ZVtpJDFdKGVt
cHR5Tm9kZSwgdm5vZGUpO1xuICAgIH1cbiAgICBpID0gdm5vZGUuZGF0YS5ob29rOyAvLyBSZXVz
ZSB2YXJpYWJsZVxuICAgIGlmIChpc0RlZihpKSkge1xuICAgICAgaWYgKGlzRGVmKGkuY3JlYXRl
KSkgeyBpLmNyZWF0ZShlbXB0eU5vZGUsIHZub2RlKTsgfVxuICAgICAgaWYgKGlzRGVmKGkuaW5z
ZXJ0KSkgeyBpbnNlcnRlZFZub2RlUXVldWUucHVzaCh2bm9kZSk7IH1cbiAgICB9XG4gIH1cblxu
ICAvLyBzZXQgc2NvcGUgaWQgYXR0cmlidXRlIGZvciBzY29wZWQgQ1NTLlxuICAvLyB0aGlzIGlz
IGltcGxlbWVudGVkIGFzIGEgc3BlY2lhbCBjYXNlIHRvIGF2b2lkIHRoZSBvdmVyaGVhZFxuICAv
LyBvZiBnb2luZyB0aHJvdWdoIHRoZSBub3JtYWwgYXR0cmlidXRlIHBhdGNoaW5nIHByb2Nlc3Mu
XG4gIGZ1bmN0aW9uIHNldFNjb3BlICh2bm9kZSkge1xuICAgIHZhciBpO1xuICAgIHZhciBhbmNl
c3RvciA9IHZub2RlO1xuICAgIHdoaWxlIChhbmNlc3Rvcikge1xuICAgICAgaWYgKGlzRGVmKGkg
PSBhbmNlc3Rvci5jb250ZXh0KSAmJiBpc0RlZihpID0gaS4kb3B0aW9ucy5fc2NvcGVJZCkpIHtc
biAgICAgICAgbm9kZU9wcy5zZXRBdHRyaWJ1dGUodm5vZGUuZWxtLCBpLCAnJyk7XG4gICAgICB9
XG4gICAgICBhbmNlc3RvciA9IGFuY2VzdG9yLnBhcmVudDtcbiAgICB9XG4gICAgLy8gZm9yIHNs
b3QgY29udGVudCB0aGV5IHNob3VsZCBhbHNvIGdldCB0aGUgc2NvcGVJZCBmcm9tIHRoZSBob3N0
IGluc3RhbmNlLlxuICAgIGlmIChpc0RlZihpID0gYWN0aXZlSW5zdGFuY2UpICYmXG4gICAgICBp
ICE9PSB2bm9kZS5jb250ZXh0ICYmXG4gICAgICBpc0RlZihpID0gaS4kb3B0aW9ucy5fc2NvcGVJ
ZClcbiAgICApIHtcbiAgICAgIG5vZGVPcHMuc2V0QXR0cmlidXRlKHZub2RlLmVsbSwgaSwgJycp
O1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGFkZFZub2RlcyAocGFyZW50RWxtLCByZWZFbG0s
IHZub2Rlcywgc3RhcnRJZHgsIGVuZElkeCwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKSB7XG4gICAgZm9y
ICg7IHN0YXJ0SWR4IDw9IGVuZElkeDsgKytzdGFydElkeCkge1xuICAgICAgY3JlYXRlRWxtKHZu
b2Rlc1tzdGFydElkeF0sIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCByZWZFbG0pO1xu
ICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGludm9rZURlc3Ryb3lIb29rICh2bm9kZSkge1xuICAg
IHZhciBpLCBqO1xuICAgIHZhciBkYXRhID0gdm5vZGUuZGF0YTtcbiAgICBpZiAoaXNEZWYoZGF0
YSkpIHtcbiAgICAgIGlmIChpc0RlZihpID0gZGF0YS5ob29rKSAmJiBpc0RlZihpID0gaS5kZXN0
cm95KSkgeyBpKHZub2RlKTsgfVxuICAgICAgZm9yIChpID0gMDsgaSA8IGNicy5kZXN0cm95Lmxl
bmd0aDsgKytpKSB7IGNicy5kZXN0cm95W2ldKHZub2RlKTsgfVxuICAgIH1cbiAgICBpZiAoaXNE
ZWYoaSA9IHZub2RlLmNoaWxkcmVuKSkge1xuICAgICAgZm9yIChqID0gMDsgaiA8IHZub2RlLmNo
aWxkcmVuLmxlbmd0aDsgKytqKSB7XG4gICAgICAgIGludm9rZURlc3Ryb3lIb29rKHZub2RlLmNo
aWxkcmVuW2pdKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiByZW1vdmVWbm9k
ZXMgKHBhcmVudEVsbSwgdm5vZGVzLCBzdGFydElkeCwgZW5kSWR4KSB7XG4gICAgZm9yICg7IHN0
YXJ0SWR4IDw9IGVuZElkeDsgKytzdGFydElkeCkge1xuICAgICAgdmFyIGNoID0gdm5vZGVzW3N0
YXJ0SWR4XTtcbiAgICAgIGlmIChpc0RlZihjaCkpIHtcbiAgICAgICAgaWYgKGlzRGVmKGNoLnRh
ZykpIHtcbiAgICAgICAgICByZW1vdmVBbmRJbnZva2VSZW1vdmVIb29rKGNoKTtcbiAgICAgICAg
ICBpbnZva2VEZXN0cm95SG9vayhjaCk7XG4gICAgICAgIH0gZWxzZSB7IC8vIFRleHQgbm9kZVxu
ICAgICAgICAgIHJlbW92ZU5vZGUoY2guZWxtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1c
biAgfVxuXG4gIGZ1bmN0aW9uIHJlbW92ZUFuZEludm9rZVJlbW92ZUhvb2sgKHZub2RlLCBybSkg
e1xuICAgIGlmIChpc0RlZihybSkgfHwgaXNEZWYodm5vZGUuZGF0YSkpIHtcbiAgICAgIHZhciBp
O1xuICAgICAgdmFyIGxpc3RlbmVycyA9IGNicy5yZW1vdmUubGVuZ3RoICsgMTtcbiAgICAgIGlm
IChpc0RlZihybSkpIHtcbiAgICAgICAgLy8gd2UgaGF2ZSBhIHJlY3Vyc2l2ZWx5IHBhc3NlZCBk
b3duIHJtIGNhbGxiYWNrXG4gICAgICAgIC8vIGluY3JlYXNlIHRoZSBsaXN0ZW5lcnMgY291bnRc
biAgICAgICAgcm0ubGlzdGVuZXJzICs9IGxpc3RlbmVycztcbiAgICAgIH0gZWxzZSB7XG4gICAg
ICAgIC8vIGRpcmVjdGx5IHJlbW92aW5nXG4gICAgICAgIHJtID0gY3JlYXRlUm1DYih2bm9kZS5l
bG0sIGxpc3RlbmVycyk7XG4gICAgICB9XG4gICAgICAvLyByZWN1cnNpdmVseSBpbnZva2UgaG9v
a3Mgb24gY2hpbGQgY29tcG9uZW50IHJvb3Qgbm9kZVxuICAgICAgaWYgKGlzRGVmKGkgPSB2bm9k
ZS5jb21wb25lbnRJbnN0YW5jZSkgJiYgaXNEZWYoaSA9IGkuX3Zub2RlKSAmJiBpc0RlZihpLmRh
dGEpKSB7XG4gICAgICAgIHJlbW92ZUFuZEludm9rZVJlbW92ZUhvb2soaSwgcm0pO1xuICAgICAg
fVxuICAgICAgZm9yIChpID0gMDsgaSA8IGNicy5yZW1vdmUubGVuZ3RoOyArK2kpIHtcbiAgICAg
ICAgY2JzLnJlbW92ZVtpXSh2bm9kZSwgcm0pO1xuICAgICAgfVxuICAgICAgaWYgKGlzRGVmKGkg
PSB2bm9kZS5kYXRhLmhvb2spICYmIGlzRGVmKGkgPSBpLnJlbW92ZSkpIHtcbiAgICAgICAgaSh2
bm9kZSwgcm0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcm0oKTtcbiAgICAgIH1cbiAgICB9
IGVsc2Uge1xuICAgICAgcmVtb3ZlTm9kZSh2bm9kZS5lbG0pO1xuICAgIH1cbiAgfVxuXG4gIGZ1
bmN0aW9uIHVwZGF0ZUNoaWxkcmVuIChwYXJlbnRFbG0sIG9sZENoLCBuZXdDaCwgaW5zZXJ0ZWRW
bm9kZVF1ZXVlLCByZW1vdmVPbmx5KSB7XG4gICAgdmFyIG9sZFN0YXJ0SWR4ID0gMDtcbiAgICB2
YXIgbmV3U3RhcnRJZHggPSAwO1xuICAgIHZhciBvbGRFbmRJZHggPSBvbGRDaC5sZW5ndGggLSAx
O1xuICAgIHZhciBvbGRTdGFydFZub2RlID0gb2xkQ2hbMF07XG4gICAgdmFyIG9sZEVuZFZub2Rl
ID0gb2xkQ2hbb2xkRW5kSWR4XTtcbiAgICB2YXIgbmV3RW5kSWR4ID0gbmV3Q2gubGVuZ3RoIC0g
MTtcbiAgICB2YXIgbmV3U3RhcnRWbm9kZSA9IG5ld0NoWzBdO1xuICAgIHZhciBuZXdFbmRWbm9k
ZSA9IG5ld0NoW25ld0VuZElkeF07XG4gICAgdmFyIG9sZEtleVRvSWR4LCBpZHhJbk9sZCwgZWxt
VG9Nb3ZlLCByZWZFbG07XG5cbiAgICAvLyByZW1vdmVPbmx5IGlzIGEgc3BlY2lhbCBmbGFnIHVz
ZWQgb25seSBieSA8dHJhbnNpdGlvbi1ncm91cD5cbiAgICAvLyB0byBlbnN1cmUgcmVtb3ZlZCBl
bGVtZW50cyBzdGF5IGluIGNvcnJlY3QgcmVsYXRpdmUgcG9zaXRpb25zXG4gICAgLy8gZHVyaW5n
IGxlYXZpbmcgdHJhbnNpdGlvbnNcbiAgICB2YXIgY2FuTW92ZSA9ICFyZW1vdmVPbmx5O1xuXG4g
ICAgd2hpbGUgKG9sZFN0YXJ0SWR4IDw9IG9sZEVuZElkeCAmJiBuZXdTdGFydElkeCA8PSBuZXdF
bmRJZHgpIHtcbiAgICAgIGlmIChpc1VuZGVmKG9sZFN0YXJ0Vm5vZGUpKSB7XG4gICAgICAgIG9s
ZFN0YXJ0Vm5vZGUgPSBvbGRDaFsrK29sZFN0YXJ0SWR4XTsgLy8gVm5vZGUgaGFzIGJlZW4gbW92
ZWQgbGVmdFxuICAgICAgfSBlbHNlIGlmIChpc1VuZGVmKG9sZEVuZFZub2RlKSkge1xuICAgICAg
ICBvbGRFbmRWbm9kZSA9IG9sZENoWy0tb2xkRW5kSWR4XTtcbiAgICAgIH0gZWxzZSBpZiAoc2Ft
ZVZub2RlKG9sZFN0YXJ0Vm5vZGUsIG5ld1N0YXJ0Vm5vZGUpKSB7XG4gICAgICAgIHBhdGNoVm5v
ZGUob2xkU3RhcnRWbm9kZSwgbmV3U3RhcnRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAg
ICAgICAgb2xkU3RhcnRWbm9kZSA9IG9sZENoWysrb2xkU3RhcnRJZHhdO1xuICAgICAgICBuZXdT
dGFydFZub2RlID0gbmV3Q2hbKytuZXdTdGFydElkeF07XG4gICAgICB9IGVsc2UgaWYgKHNhbWVW
bm9kZShvbGRFbmRWbm9kZSwgbmV3RW5kVm5vZGUpKSB7XG4gICAgICAgIHBhdGNoVm5vZGUob2xk
RW5kVm5vZGUsIG5ld0VuZFZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICBvbGRF
bmRWbm9kZSA9IG9sZENoWy0tb2xkRW5kSWR4XTtcbiAgICAgICAgbmV3RW5kVm5vZGUgPSBuZXdD
aFstLW5ld0VuZElkeF07XG4gICAgICB9IGVsc2UgaWYgKHNhbWVWbm9kZShvbGRTdGFydFZub2Rl
LCBuZXdFbmRWbm9kZSkpIHsgLy8gVm5vZGUgbW92ZWQgcmlnaHRcbiAgICAgICAgcGF0Y2hWbm9k
ZShvbGRTdGFydFZub2RlLCBuZXdFbmRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAg
ICAgY2FuTW92ZSAmJiBub2RlT3BzLmluc2VydEJlZm9yZShwYXJlbnRFbG0sIG9sZFN0YXJ0Vm5v
ZGUuZWxtLCBub2RlT3BzLm5leHRTaWJsaW5nKG9sZEVuZFZub2RlLmVsbSkpO1xuICAgICAgICBv
bGRTdGFydFZub2RlID0gb2xkQ2hbKytvbGRTdGFydElkeF07XG4gICAgICAgIG5ld0VuZFZub2Rl
ID0gbmV3Q2hbLS1uZXdFbmRJZHhdO1xuICAgICAgfSBlbHNlIGlmIChzYW1lVm5vZGUob2xkRW5k
Vm5vZGUsIG5ld1N0YXJ0Vm5vZGUpKSB7IC8vIFZub2RlIG1vdmVkIGxlZnRcbiAgICAgICAgcGF0
Y2hWbm9kZShvbGRFbmRWbm9kZSwgbmV3U3RhcnRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtc
biAgICAgICAgY2FuTW92ZSAmJiBub2RlT3BzLmluc2VydEJlZm9yZShwYXJlbnRFbG0sIG9sZEVu
ZFZub2RlLmVsbSwgb2xkU3RhcnRWbm9kZS5lbG0pO1xuICAgICAgICBvbGRFbmRWbm9kZSA9IG9s
ZENoWy0tb2xkRW5kSWR4XTtcbiAgICAgICAgbmV3U3RhcnRWbm9kZSA9IG5ld0NoWysrbmV3U3Rh
cnRJZHhdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGlzVW5kZWYob2xkS2V5VG9JZHgp
KSB7IG9sZEtleVRvSWR4ID0gY3JlYXRlS2V5VG9PbGRJZHgob2xkQ2gsIG9sZFN0YXJ0SWR4LCBv
bGRFbmRJZHgpOyB9XG4gICAgICAgIGlkeEluT2xkID0gaXNEZWYobmV3U3RhcnRWbm9kZS5rZXkp
ID8gb2xkS2V5VG9JZHhbbmV3U3RhcnRWbm9kZS5rZXldIDogbnVsbDtcbiAgICAgICAgaWYgKGlz
VW5kZWYoaWR4SW5PbGQpKSB7IC8vIE5ldyBlbGVtZW50XG4gICAgICAgICAgY3JlYXRlRWxtKG5l
d1N0YXJ0Vm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCBvbGRTdGFydFZub2Rl
LmVsbSk7XG4gICAgICAgICAgbmV3U3RhcnRWbm9kZSA9IG5ld0NoWysrbmV3U3RhcnRJZHhdO1xu
ICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVsbVRvTW92ZSA9IG9sZENoW2lkeEluT2xkXTtc
biAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgICBpZiAocHJvY2Vz
cy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAhZWxtVG9Nb3ZlKSB7XG4gICAgICAg
ICAgICB3YXJuKFxuICAgICAgICAgICAgICAnSXQgc2VlbXMgdGhlcmUgYXJlIGR1cGxpY2F0ZSBr
ZXlzIHRoYXQgaXMgY2F1c2luZyBhbiB1cGRhdGUgZXJyb3IuICcgK1xuICAgICAgICAgICAgICAn
TWFrZSBzdXJlIGVhY2ggdi1mb3IgaXRlbSBoYXMgYSB1bmlxdWUga2V5LidcbiAgICAgICAgICAg
ICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChzYW1lVm5vZGUoZWxtVG9Nb3ZlLCBuZXdT
dGFydFZub2RlKSkge1xuICAgICAgICAgICAgcGF0Y2hWbm9kZShlbG1Ub01vdmUsIG5ld1N0YXJ0
Vm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgICAgICAgICBvbGRDaFtpZHhJbk9sZF0g
PSB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjYW5Nb3ZlICYmIG5vZGVPcHMuaW5zZXJ0QmVmb3Jl
KHBhcmVudEVsbSwgZWxtVG9Nb3ZlLmVsbSwgb2xkU3RhcnRWbm9kZS5lbG0pO1xuICAgICAgICAg
ICAgbmV3U3RhcnRWbm9kZSA9IG5ld0NoWysrbmV3U3RhcnRJZHhdO1xuICAgICAgICAgIH0gZWxz
ZSB7XG4gICAgICAgICAgICAvLyBzYW1lIGtleSBidXQgZGlmZmVyZW50IGVsZW1lbnQuIHRyZWF0
IGFzIG5ldyBlbGVtZW50XG4gICAgICAgICAgICBjcmVhdGVFbG0obmV3U3RhcnRWbm9kZSwgaW5z
ZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIG9sZFN0YXJ0Vm5vZGUuZWxtKTtcbiAgICAgICAg
ICAgIG5ld1N0YXJ0Vm5vZGUgPSBuZXdDaFsrK25ld1N0YXJ0SWR4XTtcbiAgICAgICAgICB9XG4g
ICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKG9sZFN0YXJ0SWR4ID4gb2xkRW5kSWR4
KSB7XG4gICAgICByZWZFbG0gPSBpc1VuZGVmKG5ld0NoW25ld0VuZElkeCArIDFdKSA/IG51bGwg
OiBuZXdDaFtuZXdFbmRJZHggKyAxXS5lbG07XG4gICAgICBhZGRWbm9kZXMocGFyZW50RWxtLCBy
ZWZFbG0sIG5ld0NoLCBuZXdTdGFydElkeCwgbmV3RW5kSWR4LCBpbnNlcnRlZFZub2RlUXVldWUp
O1xuICAgIH0gZWxzZSBpZiAobmV3U3RhcnRJZHggPiBuZXdFbmRJZHgpIHtcbiAgICAgIHJlbW92
ZVZub2RlcyhwYXJlbnRFbG0sIG9sZENoLCBvbGRTdGFydElkeCwgb2xkRW5kSWR4KTtcbiAgICB9
XG4gIH1cblxuICBmdW5jdGlvbiBwYXRjaFZub2RlIChvbGRWbm9kZSwgdm5vZGUsIGluc2VydGVk
Vm5vZGVRdWV1ZSwgcmVtb3ZlT25seSkge1xuICAgIGlmIChvbGRWbm9kZSA9PT0gdm5vZGUpIHtc
biAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHZhciBlbG0gPSB2bm9kZS5lbG0gPSBvbGRWbm9k
ZS5lbG07XG5cbiAgICBpZiAoaXNUcnVlKG9sZFZub2RlLmlzQXN5bmNQbGFjZWhvbGRlcikpIHtc
biAgICAgIGlmIChpc0RlZih2bm9kZS5hc3luY0ZhY3RvcnkucmVzb2x2ZWQpKSB7XG4gICAgICAg
IGh5ZHJhdGUob2xkVm5vZGUuZWxtLCB2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAg
IH0gZWxzZSB7XG4gICAgICAgIHZub2RlLmlzQXN5bmNQbGFjZWhvbGRlciA9IHRydWU7XG4gICAg
ICB9XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyByZXVzZSBlbGVtZW50IGZvciBzdGF0
aWMgdHJlZXMuXG4gICAgLy8gbm90ZSB3ZSBvbmx5IGRvIHRoaXMgaWYgdGhlIHZub2RlIGlzIGNs
b25lZCAtXG4gICAgLy8gaWYgdGhlIG5ldyBub2RlIGlzIG5vdCBjbG9uZWQgaXQgbWVhbnMgdGhl
IHJlbmRlciBmdW5jdGlvbnMgaGF2ZSBiZWVuXG4gICAgLy8gcmVzZXQgYnkgdGhlIGhvdC1yZWxv
YWQtYXBpIGFuZCB3ZSBuZWVkIHRvIGRvIGEgcHJvcGVyIHJlLXJlbmRlci5cbiAgICBpZiAoaXNU
cnVlKHZub2RlLmlzU3RhdGljKSAmJlxuICAgICAgaXNUcnVlKG9sZFZub2RlLmlzU3RhdGljKSAm
JlxuICAgICAgdm5vZGUua2V5ID09PSBvbGRWbm9kZS5rZXkgJiZcbiAgICAgIChpc1RydWUodm5v
ZGUuaXNDbG9uZWQpIHx8IGlzVHJ1ZSh2bm9kZS5pc09uY2UpKVxuICAgICkge1xuICAgICAgdm5v
ZGUuY29tcG9uZW50SW5zdGFuY2UgPSBvbGRWbm9kZS5jb21wb25lbnRJbnN0YW5jZTtcbiAgICAg
IHJldHVyblxuICAgIH1cblxuICAgIHZhciBpO1xuICAgIHZhciBkYXRhID0gdm5vZGUuZGF0YTtc
biAgICBpZiAoaXNEZWYoZGF0YSkgJiYgaXNEZWYoaSA9IGRhdGEuaG9vaykgJiYgaXNEZWYoaSA9
IGkucHJlcGF0Y2gpKSB7XG4gICAgICBpKG9sZFZub2RlLCB2bm9kZSk7XG4gICAgfVxuXG4gICAg
dmFyIG9sZENoID0gb2xkVm5vZGUuY2hpbGRyZW47XG4gICAgdmFyIGNoID0gdm5vZGUuY2hpbGRy
ZW47XG4gICAgaWYgKGlzRGVmKGRhdGEpICYmIGlzUGF0Y2hhYmxlKHZub2RlKSkge1xuICAgICAg
Zm9yIChpID0gMDsgaSA8IGNicy51cGRhdGUubGVuZ3RoOyArK2kpIHsgY2JzLnVwZGF0ZVtpXShv
bGRWbm9kZSwgdm5vZGUpOyB9XG4gICAgICBpZiAoaXNEZWYoaSA9IGRhdGEuaG9vaykgJiYgaXNE
ZWYoaSA9IGkudXBkYXRlKSkgeyBpKG9sZFZub2RlLCB2bm9kZSk7IH1cbiAgICB9XG4gICAgaWYg
KGlzVW5kZWYodm5vZGUudGV4dCkpIHtcbiAgICAgIGlmIChpc0RlZihvbGRDaCkgJiYgaXNEZWYo
Y2gpKSB7XG4gICAgICAgIGlmIChvbGRDaCAhPT0gY2gpIHsgdXBkYXRlQ2hpbGRyZW4oZWxtLCBv
bGRDaCwgY2gsIGluc2VydGVkVm5vZGVRdWV1ZSwgcmVtb3ZlT25seSk7IH1cbiAgICAgIH0gZWxz
ZSBpZiAoaXNEZWYoY2gpKSB7XG4gICAgICAgIGlmIChpc0RlZihvbGRWbm9kZS50ZXh0KSkgeyBu
b2RlT3BzLnNldFRleHRDb250ZW50KGVsbSwgJycpOyB9XG4gICAgICAgIGFkZFZub2RlcyhlbG0s
IG51bGwsIGNoLCAwLCBjaC5sZW5ndGggLSAxLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAg
fSBlbHNlIGlmIChpc0RlZihvbGRDaCkpIHtcbiAgICAgICAgcmVtb3ZlVm5vZGVzKGVsbSwgb2xk
Q2gsIDAsIG9sZENoLmxlbmd0aCAtIDEpO1xuICAgICAgfSBlbHNlIGlmIChpc0RlZihvbGRWbm9k
ZS50ZXh0KSkge1xuICAgICAgICBub2RlT3BzLnNldFRleHRDb250ZW50KGVsbSwgJycpO1xuICAg
ICAgfVxuICAgIH0gZWxzZSBpZiAob2xkVm5vZGUudGV4dCAhPT0gdm5vZGUudGV4dCkge1xuICAg
ICAgbm9kZU9wcy5zZXRUZXh0Q29udGVudChlbG0sIHZub2RlLnRleHQpO1xuICAgIH1cbiAgICBp
ZiAoaXNEZWYoZGF0YSkpIHtcbiAgICAgIGlmIChpc0RlZihpID0gZGF0YS5ob29rKSAmJiBpc0Rl
ZihpID0gaS5wb3N0cGF0Y2gpKSB7IGkob2xkVm5vZGUsIHZub2RlKTsgfVxuICAgIH1cbiAgfVxu
XG4gIGZ1bmN0aW9uIGludm9rZUluc2VydEhvb2sgKHZub2RlLCBxdWV1ZSwgaW5pdGlhbCkge1xu
ICAgIC8vIGRlbGF5IGluc2VydCBob29rcyBmb3IgY29tcG9uZW50IHJvb3Qgbm9kZXMsIGludm9r
ZSB0aGVtIGFmdGVyIHRoZVxuICAgIC8vIGVsZW1lbnQgaXMgcmVhbGx5IGluc2VydGVkXG4gICAg
aWYgKGlzVHJ1ZShpbml0aWFsKSAmJiBpc0RlZih2bm9kZS5wYXJlbnQpKSB7XG4gICAgICB2bm9k
ZS5wYXJlbnQuZGF0YS5wZW5kaW5nSW5zZXJ0ID0gcXVldWU7XG4gICAgfSBlbHNlIHtcbiAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgcXVldWUubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgcXVldWVb
aV0uZGF0YS5ob29rLmluc2VydChxdWV1ZVtpXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAg
dmFyIGJhaWxlZCA9IGZhbHNlO1xuICAvLyBsaXN0IG9mIG1vZHVsZXMgdGhhdCBjYW4gc2tpcCBj
cmVhdGUgaG9vayBkdXJpbmcgaHlkcmF0aW9uIGJlY2F1c2UgdGhleVxuICAvLyBhcmUgYWxyZWFk
eSByZW5kZXJlZCBvbiB0aGUgY2xpZW50IG9yIGhhcyBubyBuZWVkIGZvciBpbml0aWFsaXphdGlv
blxuICB2YXIgaXNSZW5kZXJlZE1vZHVsZSA9IG1ha2VNYXAoJ2F0dHJzLHN0eWxlLGNsYXNzLHN0
YXRpY0NsYXNzLHN0YXRpY1N0eWxlLGtleScpO1xuXG4gIC8vIE5vdGU6IHRoaXMgaXMgYSBicm93
c2VyLW9ubHkgZnVuY3Rpb24gc28gd2UgY2FuIGFzc3VtZSBlbG1zIGFyZSBET00gbm9kZXMuXG4g
IGZ1bmN0aW9uIGh5ZHJhdGUgKGVsbSwgdm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSkge1xuICAg
IGlmIChpc1RydWUodm5vZGUuaXNDb21tZW50KSAmJiBpc0RlZih2bm9kZS5hc3luY0ZhY3Rvcnkp
KSB7XG4gICAgICB2bm9kZS5lbG0gPSBlbG07XG4gICAgICB2bm9kZS5pc0FzeW5jUGxhY2Vob2xk
ZXIgPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52
Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIGlmICghYXNzZXJ0Tm9kZU1hdGNo
KGVsbSwgdm5vZGUpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgIH1cbiAg
ICB2bm9kZS5lbG0gPSBlbG07XG4gICAgdmFyIHRhZyA9IHZub2RlLnRhZztcbiAgICB2YXIgZGF0
YSA9IHZub2RlLmRhdGE7XG4gICAgdmFyIGNoaWxkcmVuID0gdm5vZGUuY2hpbGRyZW47XG4gICAg
aWYgKGlzRGVmKGRhdGEpKSB7XG4gICAgICBpZiAoaXNEZWYoaSA9IGRhdGEuaG9vaykgJiYgaXNE
ZWYoaSA9IGkuaW5pdCkpIHsgaSh2bm9kZSwgdHJ1ZSAvKiBoeWRyYXRpbmcgKi8pOyB9XG4gICAg
ICBpZiAoaXNEZWYoaSA9IHZub2RlLmNvbXBvbmVudEluc3RhbmNlKSkge1xuICAgICAgICAvLyBj
aGlsZCBjb21wb25lbnQuIGl0IHNob3VsZCBoYXZlIGh5ZHJhdGVkIGl0cyBvd24gdHJlZS5cbiAg
ICAgICAgaW5pdENvbXBvbmVudCh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAg
cmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGlzRGVmKHRhZykpIHtcbiAgICAg
IGlmIChpc0RlZihjaGlsZHJlbikpIHtcbiAgICAgICAgLy8gZW1wdHkgZWxlbWVudCwgYWxsb3cg
Y2xpZW50IHRvIHBpY2sgdXAgYW5kIHBvcHVsYXRlIGNoaWxkcmVuXG4gICAgICAgIGlmICghZWxt
Lmhhc0NoaWxkTm9kZXMoKSkge1xuICAgICAgICAgIGNyZWF0ZUNoaWxkcmVuKHZub2RlLCBjaGls
ZHJlbiwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2
YXIgY2hpbGRyZW5NYXRjaCA9IHRydWU7XG4gICAgICAgICAgdmFyIGNoaWxkTm9kZSA9IGVsbS5m
aXJzdENoaWxkO1xuICAgICAgICAgIGZvciAodmFyIGkkMSA9IDA7IGkkMSA8IGNoaWxkcmVuLmxl
bmd0aDsgaSQxKyspIHtcbiAgICAgICAgICAgIGlmICghY2hpbGROb2RlIHx8ICFoeWRyYXRlKGNo
aWxkTm9kZSwgY2hpbGRyZW5baSQxXSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKSkge1xuICAgICAgICAg
ICAgICBjaGlsZHJlbk1hdGNoID0gZmFsc2U7XG4gICAgICAgICAgICAgIGJyZWFrXG4gICAgICAg
ICAgICB9XG4gICAgICAgICAgICBjaGlsZE5vZGUgPSBjaGlsZE5vZGUubmV4dFNpYmxpbmc7XG4g
ICAgICAgICAgfVxuICAgICAgICAgIC8vIGlmIGNoaWxkTm9kZSBpcyBub3QgbnVsbCwgaXQgbWVh
bnMgdGhlIGFjdHVhbCBjaGlsZE5vZGVzIGxpc3QgaXNcbiAgICAgICAgICAvLyBsb25nZXIgdGhh
biB0aGUgdmlydHVhbCBjaGlsZHJlbiBsaXN0LlxuICAgICAgICAgIGlmICghY2hpbGRyZW5NYXRj
aCB8fCBjaGlsZE5vZGUpIHtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAh
PT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICAgICAgICAgIHR5cGVvZiBjb25zb2xlICE9PSAndW5k
ZWZpbmVkJyAmJlxuICAgICAgICAgICAgICAhYmFpbGVkXG4gICAgICAgICAgICApIHtcbiAgICAg
ICAgICAgICAgYmFpbGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdQYXJl
bnQ6ICcsIGVsbSk7XG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybignTWlzbWF0Y2hpbmcgY2hp
bGROb2RlcyB2cy4gVk5vZGVzOiAnLCBlbG0uY2hpbGROb2RlcywgY2hpbGRyZW4pO1xuICAgICAg
ICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9
XG4gICAgICB9XG4gICAgICBpZiAoaXNEZWYoZGF0YSkpIHtcbiAgICAgICAgZm9yICh2YXIga2V5
IGluIGRhdGEpIHtcbiAgICAgICAgICBpZiAoIWlzUmVuZGVyZWRNb2R1bGUoa2V5KSkge1xuICAg
ICAgICAgICAgaW52b2tlQ3JlYXRlSG9va3Modm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4g
ICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0g
ZWxzZSBpZiAoZWxtLmRhdGEgIT09IHZub2RlLnRleHQpIHtcbiAgICAgIGVsbS5kYXRhID0gdm5v
ZGUudGV4dDtcbiAgICB9XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIGZ1bmN0aW9uIGFzc2Vy
dE5vZGVNYXRjaCAobm9kZSwgdm5vZGUpIHtcbiAgICBpZiAoaXNEZWYodm5vZGUudGFnKSkge1xu
ICAgICAgcmV0dXJuIChcbiAgICAgICAgdm5vZGUudGFnLmluZGV4T2YoJ3Z1ZS1jb21wb25lbnQn
KSA9PT0gMCB8fFxuICAgICAgICB2bm9kZS50YWcudG9Mb3dlckNhc2UoKSA9PT0gKG5vZGUudGFn
TmFtZSAmJiBub2RlLnRhZ05hbWUudG9Mb3dlckNhc2UoKSlcbiAgICAgIClcbiAgICB9IGVsc2Ug
e1xuICAgICAgcmV0dXJuIG5vZGUubm9kZVR5cGUgPT09ICh2bm9kZS5pc0NvbW1lbnQgPyA4IDog
MylcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24gcGF0Y2ggKG9sZFZub2RlLCB2bm9k
ZSwgaHlkcmF0aW5nLCByZW1vdmVPbmx5LCBwYXJlbnRFbG0sIHJlZkVsbSkge1xuICAgIGlmIChp
c1VuZGVmKHZub2RlKSkge1xuICAgICAgaWYgKGlzRGVmKG9sZFZub2RlKSkgeyBpbnZva2VEZXN0
cm95SG9vayhvbGRWbm9kZSk7IH1cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHZhciBpc0lu
aXRpYWxQYXRjaCA9IGZhbHNlO1xuICAgIHZhciBpbnNlcnRlZFZub2RlUXVldWUgPSBbXTtcblxu
ICAgIGlmIChpc1VuZGVmKG9sZFZub2RlKSkge1xuICAgICAgLy8gZW1wdHkgbW91bnQgKGxpa2Vs
eSBhcyBjb21wb25lbnQpLCBjcmVhdGUgbmV3IHJvb3QgZWxlbWVudFxuICAgICAgaXNJbml0aWFs
UGF0Y2ggPSB0cnVlO1xuICAgICAgY3JlYXRlRWxtKHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUs
IHBhcmVudEVsbSwgcmVmRWxtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGlzUmVhbEVsZW1l
bnQgPSBpc0RlZihvbGRWbm9kZS5ub2RlVHlwZSk7XG4gICAgICBpZiAoIWlzUmVhbEVsZW1lbnQg
JiYgc2FtZVZub2RlKG9sZFZub2RlLCB2bm9kZSkpIHtcbiAgICAgICAgLy8gcGF0Y2ggZXhpc3Rp
bmcgcm9vdCBub2RlXG4gICAgICAgIHBhdGNoVm5vZGUob2xkVm5vZGUsIHZub2RlLCBpbnNlcnRl
ZFZub2RlUXVldWUsIHJlbW92ZU9ubHkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGlz
UmVhbEVsZW1lbnQpIHtcbiAgICAgICAgICAvLyBtb3VudGluZyB0byBhIHJlYWwgZWxlbWVudFxu
ICAgICAgICAgIC8vIGNoZWNrIGlmIHRoaXMgaXMgc2VydmVyLXJlbmRlcmVkIGNvbnRlbnQgYW5k
IGlmIHdlIGNhbiBwZXJmb3JtXG4gICAgICAgICAgLy8gYSBzdWNjZXNzZnVsIGh5ZHJhdGlvbi5c
biAgICAgICAgICBpZiAob2xkVm5vZGUubm9kZVR5cGUgPT09IDEgJiYgb2xkVm5vZGUuaGFzQXR0
cmlidXRlKFNTUl9BVFRSKSkge1xuICAgICAgICAgICAgb2xkVm5vZGUucmVtb3ZlQXR0cmlidXRl
KFNTUl9BVFRSKTtcbiAgICAgICAgICAgIGh5ZHJhdGluZyA9IHRydWU7XG4gICAgICAgICAgfVxu
ICAgICAgICAgIGlmIChpc1RydWUoaHlkcmF0aW5nKSkge1xuICAgICAgICAgICAgaWYgKGh5ZHJh
dGUob2xkVm5vZGUsIHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpKSB7XG4gICAgICAgICAgICAg
IGludm9rZUluc2VydEhvb2sodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgdHJ1ZSk7XG4gICAg
ICAgICAgICAgIHJldHVybiBvbGRWbm9kZVxuICAgICAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNz
LmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgIHdhcm4oXG4g
ICAgICAgICAgICAgICAgJ1RoZSBjbGllbnQtc2lkZSByZW5kZXJlZCB2aXJ0dWFsIERPTSB0cmVl
IGlzIG5vdCBtYXRjaGluZyAnICtcbiAgICAgICAgICAgICAgICAnc2VydmVyLXJlbmRlcmVkIGNv
bnRlbnQuIFRoaXMgaXMgbGlrZWx5IGNhdXNlZCBieSBpbmNvcnJlY3QgJyArXG4gICAgICAgICAg
ICAgICAgJ0hUTUwgbWFya3VwLCBmb3IgZXhhbXBsZSBuZXN0aW5nIGJsb2NrLWxldmVsIGVsZW1l
bnRzIGluc2lkZSAnICtcbiAgICAgICAgICAgICAgICAnPHA+LCBvciBtaXNzaW5nIDx0Ym9keT4u
IEJhaWxpbmcgaHlkcmF0aW9uIGFuZCBwZXJmb3JtaW5nICcgK1xuICAgICAgICAgICAgICAgICdm
dWxsIGNsaWVudC1zaWRlIHJlbmRlci4nXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9
XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIGVpdGhlciBub3Qgc2VydmVyLXJlbmRlcmVkLCBv
ciBoeWRyYXRpb24gZmFpbGVkLlxuICAgICAgICAgIC8vIGNyZWF0ZSBhbiBlbXB0eSBub2RlIGFu
ZCByZXBsYWNlIGl0XG4gICAgICAgICAgb2xkVm5vZGUgPSBlbXB0eU5vZGVBdChvbGRWbm9kZSk7
XG4gICAgICAgIH1cbiAgICAgICAgLy8gcmVwbGFjaW5nIGV4aXN0aW5nIGVsZW1lbnRcbiAgICAg
ICAgdmFyIG9sZEVsbSA9IG9sZFZub2RlLmVsbTtcbiAgICAgICAgdmFyIHBhcmVudEVsbSQxID0g
bm9kZU9wcy5wYXJlbnROb2RlKG9sZEVsbSk7XG4gICAgICAgIGNyZWF0ZUVsbShcbiAgICAgICAg
ICB2bm9kZSxcbiAgICAgICAgICBpbnNlcnRlZFZub2RlUXVldWUsXG4gICAgICAgICAgLy8gZXh0
cmVtZWx5IHJhcmUgZWRnZSBjYXNlOiBkbyBub3QgaW5zZXJ0IGlmIG9sZCBlbGVtZW50IGlzIGlu
IGFcbiAgICAgICAgICAvLyBsZWF2aW5nIHRyYW5zaXRpb24uIE9ubHkgaGFwcGVucyB3aGVuIGNv
bWJpbmluZyB0cmFuc2l0aW9uICtcbiAgICAgICAgICAvLyBrZWVwLWFsaXZlICsgSE9Dcy4gKCM0
NTkwKVxuICAgICAgICAgIG9sZEVsbS5fbGVhdmVDYiA/IG51bGwgOiBwYXJlbnRFbG0kMSxcbiAg
ICAgICAgICBub2RlT3BzLm5leHRTaWJsaW5nKG9sZEVsbSlcbiAgICAgICAgKTtcblxuICAgICAg
ICBpZiAoaXNEZWYodm5vZGUucGFyZW50KSkge1xuICAgICAgICAgIC8vIGNvbXBvbmVudCByb290
IGVsZW1lbnQgcmVwbGFjZWQuXG4gICAgICAgICAgLy8gdXBkYXRlIHBhcmVudCBwbGFjZWhvbGRl
ciBub2RlIGVsZW1lbnQsIHJlY3Vyc2l2ZWx5XG4gICAgICAgICAgdmFyIGFuY2VzdG9yID0gdm5v
ZGUucGFyZW50O1xuICAgICAgICAgIHdoaWxlIChhbmNlc3Rvcikge1xuICAgICAgICAgICAgYW5j
ZXN0b3IuZWxtID0gdm5vZGUuZWxtO1xuICAgICAgICAgICAgYW5jZXN0b3IgPSBhbmNlc3Rvci5w
YXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpc1BhdGNoYWJsZSh2bm9kZSkpIHtc
biAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2JzLmNyZWF0ZS5sZW5ndGg7ICsraSkg
e1xuICAgICAgICAgICAgICBjYnMuY3JlYXRlW2ldKGVtcHR5Tm9kZSwgdm5vZGUucGFyZW50KTtc
biAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNE
ZWYocGFyZW50RWxtJDEpKSB7XG4gICAgICAgICAgcmVtb3ZlVm5vZGVzKHBhcmVudEVsbSQxLCBb
b2xkVm5vZGVdLCAwLCAwKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0RlZihvbGRWbm9kZS50YWcp
KSB7XG4gICAgICAgICAgaW52b2tlRGVzdHJveUhvb2sob2xkVm5vZGUpO1xuICAgICAgICB9XG4g
ICAgICB9XG4gICAgfVxuXG4gICAgaW52b2tlSW5zZXJ0SG9vayh2bm9kZSwgaW5zZXJ0ZWRWbm9k
ZVF1ZXVlLCBpc0luaXRpYWxQYXRjaCk7XG4gICAgcmV0dXJuIHZub2RlLmVsbVxuICB9XG59XG5c
bi8qICAqL1xuXG52YXIgZGlyZWN0aXZlcyA9IHtcbiAgY3JlYXRlOiB1cGRhdGVEaXJlY3RpdmVz
LFxuICB1cGRhdGU6IHVwZGF0ZURpcmVjdGl2ZXMsXG4gIGRlc3Ryb3k6IGZ1bmN0aW9uIHVuYmlu
ZERpcmVjdGl2ZXMgKHZub2RlKSB7XG4gICAgdXBkYXRlRGlyZWN0aXZlcyh2bm9kZSwgZW1wdHlO
b2RlKTtcbiAgfVxufTtcblxuZnVuY3Rpb24gdXBkYXRlRGlyZWN0aXZlcyAob2xkVm5vZGUsIHZu
b2RlKSB7XG4gIGlmIChvbGRWbm9kZS5kYXRhLmRpcmVjdGl2ZXMgfHwgdm5vZGUuZGF0YS5kaXJl
Y3RpdmVzKSB7XG4gICAgX3VwZGF0ZShvbGRWbm9kZSwgdm5vZGUpO1xuICB9XG59XG5cbmZ1bmN0
aW9uIF91cGRhdGUgKG9sZFZub2RlLCB2bm9kZSkge1xuICB2YXIgaXNDcmVhdGUgPSBvbGRWbm9k
ZSA9PT0gZW1wdHlOb2RlO1xuICB2YXIgaXNEZXN0cm95ID0gdm5vZGUgPT09IGVtcHR5Tm9kZTtc
biAgdmFyIG9sZERpcnMgPSBub3JtYWxpemVEaXJlY3RpdmVzJDEob2xkVm5vZGUuZGF0YS5kaXJl
Y3RpdmVzLCBvbGRWbm9kZS5jb250ZXh0KTtcbiAgdmFyIG5ld0RpcnMgPSBub3JtYWxpemVEaXJl
Y3RpdmVzJDEodm5vZGUuZGF0YS5kaXJlY3RpdmVzLCB2bm9kZS5jb250ZXh0KTtcblxuICB2YXIg
ZGlyc1dpdGhJbnNlcnQgPSBbXTtcbiAgdmFyIGRpcnNXaXRoUG9zdHBhdGNoID0gW107XG5cbiAg
dmFyIGtleSwgb2xkRGlyLCBkaXI7XG4gIGZvciAoa2V5IGluIG5ld0RpcnMpIHtcbiAgICBvbGRE
aXIgPSBvbGREaXJzW2tleV07XG4gICAgZGlyID0gbmV3RGlyc1trZXldO1xuICAgIGlmICghb2xk
RGlyKSB7XG4gICAgICAvLyBuZXcgZGlyZWN0aXZlLCBiaW5kXG4gICAgICBjYWxsSG9vayQxKGRp
ciwgJ2JpbmQnLCB2bm9kZSwgb2xkVm5vZGUpO1xuICAgICAgaWYgKGRpci5kZWYgJiYgZGlyLmRl
Zi5pbnNlcnRlZCkge1xuICAgICAgICBkaXJzV2l0aEluc2VydC5wdXNoKGRpcik7XG4gICAgICB9
XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGV4aXN0aW5nIGRpcmVjdGl2ZSwgdXBkYXRlXG4gICAg
ICBkaXIub2xkVmFsdWUgPSBvbGREaXIudmFsdWU7XG4gICAgICBjYWxsSG9vayQxKGRpciwgJ3Vw
ZGF0ZScsIHZub2RlLCBvbGRWbm9kZSk7XG4gICAgICBpZiAoZGlyLmRlZiAmJiBkaXIuZGVmLmNv
bXBvbmVudFVwZGF0ZWQpIHtcbiAgICAgICAgZGlyc1dpdGhQb3N0cGF0Y2gucHVzaChkaXIpO1xu
ICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChkaXJzV2l0aEluc2VydC5sZW5ndGgpIHtcbiAg
ICB2YXIgY2FsbEluc2VydCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgZGlyc1dpdGhJbnNlcnQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY2FsbEhvb2skMShkaXJz
V2l0aEluc2VydFtpXSwgJ2luc2VydGVkJywgdm5vZGUsIG9sZFZub2RlKTtcbiAgICAgIH1cbiAg
ICB9O1xuICAgIGlmIChpc0NyZWF0ZSkge1xuICAgICAgbWVyZ2VWTm9kZUhvb2sodm5vZGUuZGF0
YS5ob29rIHx8ICh2bm9kZS5kYXRhLmhvb2sgPSB7fSksICdpbnNlcnQnLCBjYWxsSW5zZXJ0KTtc
biAgICB9IGVsc2Uge1xuICAgICAgY2FsbEluc2VydCgpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChk
aXJzV2l0aFBvc3RwYXRjaC5sZW5ndGgpIHtcbiAgICBtZXJnZVZOb2RlSG9vayh2bm9kZS5kYXRh
Lmhvb2sgfHwgKHZub2RlLmRhdGEuaG9vayA9IHt9KSwgJ3Bvc3RwYXRjaCcsIGZ1bmN0aW9uICgp
IHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGlyc1dpdGhQb3N0cGF0Y2gubGVuZ3RoOyBp
KyspIHtcbiAgICAgICAgY2FsbEhvb2skMShkaXJzV2l0aFBvc3RwYXRjaFtpXSwgJ2NvbXBvbmVu
dFVwZGF0ZWQnLCB2bm9kZSwgb2xkVm5vZGUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAg
aWYgKCFpc0NyZWF0ZSkge1xuICAgIGZvciAoa2V5IGluIG9sZERpcnMpIHtcbiAgICAgIGlmICgh
bmV3RGlyc1trZXldKSB7XG4gICAgICAgIC8vIG5vIGxvbmdlciBwcmVzZW50LCB1bmJpbmRcbiAg
ICAgICAgY2FsbEhvb2skMShvbGREaXJzW2tleV0sICd1bmJpbmQnLCBvbGRWbm9kZSwgb2xkVm5v
ZGUsIGlzRGVzdHJveSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnZhciBlbXB0eU1vZGlm
aWVycyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZURpcmVjdGl2
ZXMkMSAoXG4gIGRpcnMsXG4gIHZtXG4pIHtcbiAgdmFyIHJlcyA9IE9iamVjdC5jcmVhdGUobnVs
bCk7XG4gIGlmICghZGlycykge1xuICAgIHJldHVybiByZXNcbiAgfVxuICB2YXIgaSwgZGlyO1xu
ICBmb3IgKGkgPSAwOyBpIDwgZGlycy5sZW5ndGg7IGkrKykge1xuICAgIGRpciA9IGRpcnNbaV07
XG4gICAgaWYgKCFkaXIubW9kaWZpZXJzKSB7XG4gICAgICBkaXIubW9kaWZpZXJzID0gZW1wdHlN
b2RpZmllcnM7XG4gICAgfVxuICAgIHJlc1tnZXRSYXdEaXJOYW1lKGRpcildID0gZGlyO1xuICAg
IGRpci5kZWYgPSByZXNvbHZlQXNzZXQodm0uJG9wdGlvbnMsICdkaXJlY3RpdmVzJywgZGlyLm5h
bWUsIHRydWUpO1xuICB9XG4gIHJldHVybiByZXNcbn1cblxuZnVuY3Rpb24gZ2V0UmF3RGlyTmFt
ZSAoZGlyKSB7XG4gIHJldHVybiBkaXIucmF3TmFtZSB8fCAoKGRpci5uYW1lKSArIFwiLlwiICsg
KE9iamVjdC5rZXlzKGRpci5tb2RpZmllcnMgfHwge30pLmpvaW4oJy4nKSkpXG59XG5cbmZ1bmN0
aW9uIGNhbGxIb29rJDEgKGRpciwgaG9vaywgdm5vZGUsIG9sZFZub2RlLCBpc0Rlc3Ryb3kpIHtc
biAgdmFyIGZuID0gZGlyLmRlZiAmJiBkaXIuZGVmW2hvb2tdO1xuICBpZiAoZm4pIHtcbiAgICB0
cnkge1xuICAgICAgZm4odm5vZGUuZWxtLCBkaXIsIHZub2RlLCBvbGRWbm9kZSwgaXNEZXN0cm95
KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBoYW5kbGVFcnJvcihlLCB2bm9kZS5jb250ZXh0
LCAoXCJkaXJlY3RpdmUgXCIgKyAoZGlyLm5hbWUpICsgXCIgXCIgKyBob29rICsgXCIgaG9va1wi
KSk7XG4gICAgfVxuICB9XG59XG5cbnZhciBiYXNlTW9kdWxlcyA9IFtcbiAgcmVmLFxuICBkaXJl
Y3RpdmVzXG5dO1xuXG4vKiAgKi9cblxuZnVuY3Rpb24gdXBkYXRlQXR0cnMgKG9sZFZub2RlLCB2
bm9kZSkge1xuICB2YXIgb3B0cyA9IHZub2RlLmNvbXBvbmVudE9wdGlvbnM7XG4gIGlmIChpc0Rl
ZihvcHRzKSAmJiBvcHRzLkN0b3Iub3B0aW9ucy5pbmhlcml0QXR0cnMgPT09IGZhbHNlKSB7XG4g
ICAgcmV0dXJuXG4gIH1cbiAgaWYgKGlzVW5kZWYob2xkVm5vZGUuZGF0YS5hdHRycykgJiYgaXNV
bmRlZih2bm9kZS5kYXRhLmF0dHJzKSkge1xuICAgIHJldHVyblxuICB9XG4gIHZhciBrZXksIGN1
ciwgb2xkO1xuICB2YXIgZWxtID0gdm5vZGUuZWxtO1xuICB2YXIgb2xkQXR0cnMgPSBvbGRWbm9k
ZS5kYXRhLmF0dHJzIHx8IHt9O1xuICB2YXIgYXR0cnMgPSB2bm9kZS5kYXRhLmF0dHJzIHx8IHt9
O1xuICAvLyBjbG9uZSBvYnNlcnZlZCBvYmplY3RzLCBhcyB0aGUgdXNlciBwcm9iYWJseSB3YW50
cyB0byBtdXRhdGUgaXRcbiAgaWYgKGlzRGVmKGF0dHJzLl9fb2JfXykpIHtcbiAgICBhdHRycyA9
IHZub2RlLmRhdGEuYXR0cnMgPSBleHRlbmQoe30sIGF0dHJzKTtcbiAgfVxuXG4gIGZvciAoa2V5
IGluIGF0dHJzKSB7XG4gICAgY3VyID0gYXR0cnNba2V5XTtcbiAgICBvbGQgPSBvbGRBdHRyc1tr
ZXldO1xuICAgIGlmIChvbGQgIT09IGN1cikge1xuICAgICAgc2V0QXR0cihlbG0sIGtleSwgY3Vy
KTtcbiAgICB9XG4gIH1cbiAgLy8gIzQzOTE6IGluIElFOSwgc2V0dGluZyB0eXBlIGNhbiByZXNl
dCB2YWx1ZSBmb3IgaW5wdXRbdHlwZT1yYWRpb11cbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICov
XG4gIGlmIChpc0lFOSAmJiBhdHRycy52YWx1ZSAhPT0gb2xkQXR0cnMudmFsdWUpIHtcbiAgICBz
ZXRBdHRyKGVsbSwgJ3ZhbHVlJywgYXR0cnMudmFsdWUpO1xuICB9XG4gIGZvciAoa2V5IGluIG9s
ZEF0dHJzKSB7XG4gICAgaWYgKGlzVW5kZWYoYXR0cnNba2V5XSkpIHtcbiAgICAgIGlmIChpc1hs
aW5rKGtleSkpIHtcbiAgICAgICAgZWxtLnJlbW92ZUF0dHJpYnV0ZU5TKHhsaW5rTlMsIGdldFhs
aW5rUHJvcChrZXkpKTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzRW51bWVyYXRlZEF0dHIoa2V5KSkg
e1xuICAgICAgICBlbG0ucmVtb3ZlQXR0cmlidXRlKGtleSk7XG4gICAgICB9XG4gICAgfVxuICB9
XG59XG5cbmZ1bmN0aW9uIHNldEF0dHIgKGVsLCBrZXksIHZhbHVlKSB7XG4gIGlmIChpc0Jvb2xl
YW5BdHRyKGtleSkpIHtcbiAgICAvLyBzZXQgYXR0cmlidXRlIGZvciBibGFuayB2YWx1ZVxuICAg
IC8vIGUuZy4gPG9wdGlvbiBkaXNhYmxlZD5TZWxlY3Qgb25lPC9vcHRpb24+XG4gICAgaWYgKGlz
RmFsc3lBdHRyVmFsdWUodmFsdWUpKSB7XG4gICAgICBlbC5yZW1vdmVBdHRyaWJ1dGUoa2V5KTtc
biAgICB9IGVsc2Uge1xuICAgICAgZWwuc2V0QXR0cmlidXRlKGtleSwga2V5KTtcbiAgICB9XG4g
IH0gZWxzZSBpZiAoaXNFbnVtZXJhdGVkQXR0cihrZXkpKSB7XG4gICAgZWwuc2V0QXR0cmlidXRl
KGtleSwgaXNGYWxzeUF0dHJWYWx1ZSh2YWx1ZSkgfHwgdmFsdWUgPT09ICdmYWxzZScgPyAnZmFs
c2UnIDogJ3RydWUnKTtcbiAgfSBlbHNlIGlmIChpc1hsaW5rKGtleSkpIHtcbiAgICBpZiAoaXNG
YWxzeUF0dHJWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgIGVsLnJlbW92ZUF0dHJpYnV0ZU5TKHhsaW5r
TlMsIGdldFhsaW5rUHJvcChrZXkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZWwuc2V0QXR0cmli
dXRlTlMoeGxpbmtOUywga2V5LCB2YWx1ZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChp
c0ZhbHN5QXR0clZhbHVlKHZhbHVlKSkge1xuICAgICAgZWwucmVtb3ZlQXR0cmlidXRlKGtleSk7
XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsLnNldEF0dHJpYnV0ZShrZXksIHZhbHVlKTtcbiAgICB9
XG4gIH1cbn1cblxudmFyIGF0dHJzID0ge1xuICBjcmVhdGU6IHVwZGF0ZUF0dHJzLFxuICB1cGRh
dGU6IHVwZGF0ZUF0dHJzXG59O1xuXG4vKiAgKi9cblxuZnVuY3Rpb24gdXBkYXRlQ2xhc3MgKG9s
ZFZub2RlLCB2bm9kZSkge1xuICB2YXIgZWwgPSB2bm9kZS5lbG07XG4gIHZhciBkYXRhID0gdm5v
ZGUuZGF0YTtcbiAgdmFyIG9sZERhdGEgPSBvbGRWbm9kZS5kYXRhO1xuICBpZiAoXG4gICAgaXNV
bmRlZihkYXRhLnN0YXRpY0NsYXNzKSAmJlxuICAgIGlzVW5kZWYoZGF0YS5jbGFzcykgJiYgKFxu
ICAgICAgaXNVbmRlZihvbGREYXRhKSB8fCAoXG4gICAgICAgIGlzVW5kZWYob2xkRGF0YS5zdGF0
aWNDbGFzcykgJiZcbiAgICAgICAgaXNVbmRlZihvbGREYXRhLmNsYXNzKVxuICAgICAgKVxuICAg
IClcbiAgKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICB2YXIgY2xzID0gZ2VuQ2xhc3NGb3JWbm9k
ZSh2bm9kZSk7XG5cbiAgLy8gaGFuZGxlIHRyYW5zaXRpb24gY2xhc3Nlc1xuICB2YXIgdHJhbnNp
dGlvbkNsYXNzID0gZWwuX3RyYW5zaXRpb25DbGFzc2VzO1xuICBpZiAoaXNEZWYodHJhbnNpdGlv
bkNsYXNzKSkge1xuICAgIGNscyA9IGNvbmNhdChjbHMsIHN0cmluZ2lmeUNsYXNzKHRyYW5zaXRp
b25DbGFzcykpO1xuICB9XG5cbiAgLy8gc2V0IHRoZSBjbGFzc1xuICBpZiAoY2xzICE9PSBlbC5f
cHJldkNsYXNzKSB7XG4gICAgZWwuc2V0QXR0cmlidXRlKCdjbGFzcycsIGNscyk7XG4gICAgZWwu
X3ByZXZDbGFzcyA9IGNscztcbiAgfVxufVxuXG52YXIga2xhc3MgPSB7XG4gIGNyZWF0ZTogdXBk
YXRlQ2xhc3MsXG4gIHVwZGF0ZTogdXBkYXRlQ2xhc3Ncbn07XG5cbi8qICAqL1xuXG52YXIgdmFs
aWREaXZpc2lvbkNoYXJSRSA9IC9bXFx3KS4rXFwtXyRcXF1dLztcblxuZnVuY3Rpb24gcGFyc2VG
aWx0ZXJzIChleHApIHtcbiAgdmFyIGluU2luZ2xlID0gZmFsc2U7XG4gIHZhciBpbkRvdWJsZSA9
IGZhbHNlO1xuICB2YXIgaW5UZW1wbGF0ZVN0cmluZyA9IGZhbHNlO1xuICB2YXIgaW5SZWdleCA9
IGZhbHNlO1xuICB2YXIgY3VybHkgPSAwO1xuICB2YXIgc3F1YXJlID0gMDtcbiAgdmFyIHBhcmVu
ID0gMDtcbiAgdmFyIGxhc3RGaWx0ZXJJbmRleCA9IDA7XG4gIHZhciBjLCBwcmV2LCBpLCBleHBy
ZXNzaW9uLCBmaWx0ZXJzO1xuXG4gIGZvciAoaSA9IDA7IGkgPCBleHAubGVuZ3RoOyBpKyspIHtc
biAgICBwcmV2ID0gYztcbiAgICBjID0gZXhwLmNoYXJDb2RlQXQoaSk7XG4gICAgaWYgKGluU2lu
Z2xlKSB7XG4gICAgICBpZiAoYyA9PT0gMHgyNyAmJiBwcmV2ICE9PSAweDVDKSB7IGluU2luZ2xl
ID0gZmFsc2U7IH1cbiAgICB9IGVsc2UgaWYgKGluRG91YmxlKSB7XG4gICAgICBpZiAoYyA9PT0g
MHgyMiAmJiBwcmV2ICE9PSAweDVDKSB7IGluRG91YmxlID0gZmFsc2U7IH1cbiAgICB9IGVsc2Ug
aWYgKGluVGVtcGxhdGVTdHJpbmcpIHtcbiAgICAgIGlmIChjID09PSAweDYwICYmIHByZXYgIT09
IDB4NUMpIHsgaW5UZW1wbGF0ZVN0cmluZyA9IGZhbHNlOyB9XG4gICAgfSBlbHNlIGlmIChpblJl
Z2V4KSB7XG4gICAgICBpZiAoYyA9PT0gMHgyZiAmJiBwcmV2ICE9PSAweDVDKSB7IGluUmVnZXgg
PSBmYWxzZTsgfVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICBjID09PSAweDdDICYmIC8vIHBpcGVc
biAgICAgIGV4cC5jaGFyQ29kZUF0KGkgKyAxKSAhPT0gMHg3QyAmJlxuICAgICAgZXhwLmNoYXJD
b2RlQXQoaSAtIDEpICE9PSAweDdDICYmXG4gICAgICAhY3VybHkgJiYgIXNxdWFyZSAmJiAhcGFy
ZW5cbiAgICApIHtcbiAgICAgIGlmIChleHByZXNzaW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAg
ICAgLy8gZmlyc3QgZmlsdGVyLCBlbmQgb2YgZXhwcmVzc2lvblxuICAgICAgICBsYXN0RmlsdGVy
SW5kZXggPSBpICsgMTtcbiAgICAgICAgZXhwcmVzc2lvbiA9IGV4cC5zbGljZSgwLCBpKS50cmlt
KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwdXNoRmlsdGVyKCk7XG4gICAgICB9XG4gICAg
fSBlbHNlIHtcbiAgICAgIHN3aXRjaCAoYykge1xuICAgICAgICBjYXNlIDB4MjI6IGluRG91Ymxl
ID0gdHJ1ZTsgYnJlYWsgICAgICAgICAvLyBcIlxuICAgICAgICBjYXNlIDB4Mjc6IGluU2luZ2xl
ID0gdHJ1ZTsgYnJlYWsgICAgICAgICAvLyAnXG4gICAgICAgIGNhc2UgMHg2MDogaW5UZW1wbGF0
ZVN0cmluZyA9IHRydWU7IGJyZWFrIC8vIGBcbiAgICAgICAgY2FzZSAweDI4OiBwYXJlbisrOyBi
cmVhayAgICAgICAgICAgICAgICAgLy8gKFxuICAgICAgICBjYXNlIDB4Mjk6IHBhcmVuLS07IGJy
ZWFrICAgICAgICAgICAgICAgICAvLyApXG4gICAgICAgIGNhc2UgMHg1Qjogc3F1YXJlKys7IGJy
ZWFrICAgICAgICAgICAgICAgIC8vIFtcbiAgICAgICAgY2FzZSAweDVEOiBzcXVhcmUtLTsgYnJl
YWsgICAgICAgICAgICAgICAgLy8gXVxuICAgICAgICBjYXNlIDB4N0I6IGN1cmx5Kys7IGJyZWFr
ICAgICAgICAgICAgICAgICAvLyB7XG4gICAgICAgIGNhc2UgMHg3RDogY3VybHktLTsgYnJlYWsg
ICAgICAgICAgICAgICAgIC8vIH1cbiAgICAgIH1cbiAgICAgIGlmIChjID09PSAweDJmKSB7IC8v
IC9cbiAgICAgICAgdmFyIGogPSBpIC0gMTtcbiAgICAgICAgdmFyIHAgPSAodm9pZCAwKTtcbiAg
ICAgICAgLy8gZmluZCBmaXJzdCBub24td2hpdGVzcGFjZSBwcmV2IGNoYXJcbiAgICAgICAgZm9y
ICg7IGogPj0gMDsgai0tKSB7XG4gICAgICAgICAgcCA9IGV4cC5jaGFyQXQoaik7XG4gICAgICAg
ICAgaWYgKHAgIT09ICcgJykgeyBicmVhayB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFwIHx8
ICF2YWxpZERpdmlzaW9uQ2hhclJFLnRlc3QocCkpIHtcbiAgICAgICAgICBpblJlZ2V4ID0gdHJ1
ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChleHByZXNzaW9uID09
PSB1bmRlZmluZWQpIHtcbiAgICBleHByZXNzaW9uID0gZXhwLnNsaWNlKDAsIGkpLnRyaW0oKTtc
biAgfSBlbHNlIGlmIChsYXN0RmlsdGVySW5kZXggIT09IDApIHtcbiAgICBwdXNoRmlsdGVyKCk7
XG4gIH1cblxuICBmdW5jdGlvbiBwdXNoRmlsdGVyICgpIHtcbiAgICAoZmlsdGVycyB8fCAoZmls
dGVycyA9IFtdKSkucHVzaChleHAuc2xpY2UobGFzdEZpbHRlckluZGV4LCBpKS50cmltKCkpO1xu
ICAgIGxhc3RGaWx0ZXJJbmRleCA9IGkgKyAxO1xuICB9XG5cbiAgaWYgKGZpbHRlcnMpIHtcbiAg
ICBmb3IgKGkgPSAwOyBpIDwgZmlsdGVycy5sZW5ndGg7IGkrKykge1xuICAgICAgZXhwcmVzc2lv
biA9IHdyYXBGaWx0ZXIoZXhwcmVzc2lvbiwgZmlsdGVyc1tpXSk7XG4gICAgfVxuICB9XG5cbiAg
cmV0dXJuIGV4cHJlc3Npb25cbn1cblxuZnVuY3Rpb24gd3JhcEZpbHRlciAoZXhwLCBmaWx0ZXIp
IHtcbiAgdmFyIGkgPSBmaWx0ZXIuaW5kZXhPZignKCcpO1xuICBpZiAoaSA8IDApIHtcbiAgICAv
LyBfZjogcmVzb2x2ZUZpbHRlclxuICAgIHJldHVybiAoXCJfZihcXFwiXCIgKyBmaWx0ZXIgKyBc
IlxcXCIpKFwiICsgZXhwICsgXCIpXCIpXG4gIH0gZWxzZSB7XG4gICAgdmFyIG5hbWUgPSBmaWx0
ZXIuc2xpY2UoMCwgaSk7XG4gICAgdmFyIGFyZ3MgPSBmaWx0ZXIuc2xpY2UoaSArIDEpO1xuICAg
IHJldHVybiAoXCJfZihcXFwiXCIgKyBuYW1lICsgXCJcXFwiKShcIiArIGV4cCArIFwiLFwiICsg
YXJncylcbiAgfVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gYmFzZVdhcm4gKG1zZykge1xuICBj
b25zb2xlLmVycm9yKChcIltWdWUgY29tcGlsZXJdOiBcIiArIG1zZykpO1xufVxuXG5mdW5jdGlv
biBwbHVja01vZHVsZUZ1bmN0aW9uIChcbiAgbW9kdWxlcyxcbiAga2V5XG4pIHtcbiAgcmV0dXJu
IG1vZHVsZXNcbiAgICA/IG1vZHVsZXMubWFwKGZ1bmN0aW9uIChtKSB7IHJldHVybiBtW2tleV07
IH0pLmZpbHRlcihmdW5jdGlvbiAoXykgeyByZXR1cm4gXzsgfSlcbiAgICA6IFtdXG59XG5cbmZ1
bmN0aW9uIGFkZFByb3AgKGVsLCBuYW1lLCB2YWx1ZSkge1xuICAoZWwucHJvcHMgfHwgKGVsLnBy
b3BzID0gW10pKS5wdXNoKHsgbmFtZTogbmFtZSwgdmFsdWU6IHZhbHVlIH0pO1xufVxuXG5mdW5j
dGlvbiBhZGRBdHRyIChlbCwgbmFtZSwgdmFsdWUpIHtcbiAgKGVsLmF0dHJzIHx8IChlbC5hdHRy
cyA9IFtdKSkucHVzaCh7IG5hbWU6IG5hbWUsIHZhbHVlOiB2YWx1ZSB9KTtcbn1cblxuZnVuY3Rp
b24gYWRkRGlyZWN0aXZlIChcbiAgZWwsXG4gIG5hbWUsXG4gIHJhd05hbWUsXG4gIHZhbHVlLFxu
ICBhcmcsXG4gIG1vZGlmaWVyc1xuKSB7XG4gIChlbC5kaXJlY3RpdmVzIHx8IChlbC5kaXJlY3Rp
dmVzID0gW10pKS5wdXNoKHsgbmFtZTogbmFtZSwgcmF3TmFtZTogcmF3TmFtZSwgdmFsdWU6IHZh
bHVlLCBhcmc6IGFyZywgbW9kaWZpZXJzOiBtb2RpZmllcnMgfSk7XG59XG5cbmZ1bmN0aW9uIGFk
ZEhhbmRsZXIgKFxuICBlbCxcbiAgbmFtZSxcbiAgdmFsdWUsXG4gIG1vZGlmaWVycyxcbiAgaW1w
b3J0YW50LFxuICB3YXJuXG4pIHtcbiAgLy8gd2FybiBwcmV2ZW50IGFuZCBwYXNzaXZlIG1vZGlm
aWVyXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoXG4gICAgcHJvY2Vzcy5lbnYu
Tk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuICYmXG4gICAgbW9kaWZpZXJzICYmIG1v
ZGlmaWVycy5wcmV2ZW50ICYmIG1vZGlmaWVycy5wYXNzaXZlXG4gICkge1xuICAgIHdhcm4oXG4g
ICAgICAncGFzc2l2ZSBhbmQgcHJldmVudCBjYW5cXCd0IGJlIHVzZWQgdG9nZXRoZXIuICcgK1xu
ICAgICAgJ1Bhc3NpdmUgaGFuZGxlciBjYW5cXCd0IHByZXZlbnQgZGVmYXVsdCBldmVudC4nXG4g
ICAgKTtcbiAgfVxuICAvLyBjaGVjayBjYXB0dXJlIG1vZGlmaWVyXG4gIGlmIChtb2RpZmllcnMg
JiYgbW9kaWZpZXJzLmNhcHR1cmUpIHtcbiAgICBkZWxldGUgbW9kaWZpZXJzLmNhcHR1cmU7XG4g
ICAgbmFtZSA9ICchJyArIG5hbWU7IC8vIG1hcmsgdGhlIGV2ZW50IGFzIGNhcHR1cmVkXG4gIH1c
biAgaWYgKG1vZGlmaWVycyAmJiBtb2RpZmllcnMub25jZSkge1xuICAgIGRlbGV0ZSBtb2RpZmll
cnMub25jZTtcbiAgICBuYW1lID0gJ34nICsgbmFtZTsgLy8gbWFyayB0aGUgZXZlbnQgYXMgb25j
ZVxuICB9XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAobW9kaWZpZXJzICYmIG1v
ZGlmaWVycy5wYXNzaXZlKSB7XG4gICAgZGVsZXRlIG1vZGlmaWVycy5wYXNzaXZlO1xuICAgIG5h
bWUgPSAnJicgKyBuYW1lOyAvLyBtYXJrIHRoZSBldmVudCBhcyBwYXNzaXZlXG4gIH1cbiAgdmFy
IGV2ZW50cztcbiAgaWYgKG1vZGlmaWVycyAmJiBtb2RpZmllcnMubmF0aXZlKSB7XG4gICAgZGVs
ZXRlIG1vZGlmaWVycy5uYXRpdmU7XG4gICAgZXZlbnRzID0gZWwubmF0aXZlRXZlbnRzIHx8IChl
bC5uYXRpdmVFdmVudHMgPSB7fSk7XG4gIH0gZWxzZSB7XG4gICAgZXZlbnRzID0gZWwuZXZlbnRz
IHx8IChlbC5ldmVudHMgPSB7fSk7XG4gIH1cbiAgdmFyIG5ld0hhbmRsZXIgPSB7IHZhbHVlOiB2
YWx1ZSwgbW9kaWZpZXJzOiBtb2RpZmllcnMgfTtcbiAgdmFyIGhhbmRsZXJzID0gZXZlbnRzW25h
bWVdO1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKEFycmF5LmlzQXJyYXkoaGFu
ZGxlcnMpKSB7XG4gICAgaW1wb3J0YW50ID8gaGFuZGxlcnMudW5zaGlmdChuZXdIYW5kbGVyKSA6
IGhhbmRsZXJzLnB1c2gobmV3SGFuZGxlcik7XG4gIH0gZWxzZSBpZiAoaGFuZGxlcnMpIHtcbiAg
ICBldmVudHNbbmFtZV0gPSBpbXBvcnRhbnQgPyBbbmV3SGFuZGxlciwgaGFuZGxlcnNdIDogW2hh
bmRsZXJzLCBuZXdIYW5kbGVyXTtcbiAgfSBlbHNlIHtcbiAgICBldmVudHNbbmFtZV0gPSBuZXdI
YW5kbGVyO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldEJpbmRpbmdBdHRyIChcbiAgZWwsXG4gIG5h
bWUsXG4gIGdldFN0YXRpY1xuKSB7XG4gIHZhciBkeW5hbWljVmFsdWUgPVxuICAgIGdldEFuZFJl
bW92ZUF0dHIoZWwsICc6JyArIG5hbWUpIHx8XG4gICAgZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3Yt
YmluZDonICsgbmFtZSk7XG4gIGlmIChkeW5hbWljVmFsdWUgIT0gbnVsbCkge1xuICAgIHJldHVy
biBwYXJzZUZpbHRlcnMoZHluYW1pY1ZhbHVlKVxuICB9IGVsc2UgaWYgKGdldFN0YXRpYyAhPT0g
ZmFsc2UpIHtcbiAgICB2YXIgc3RhdGljVmFsdWUgPSBnZXRBbmRSZW1vdmVBdHRyKGVsLCBuYW1l
KTtcbiAgICBpZiAoc3RhdGljVmFsdWUgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIEpTT04uc3Ry
aW5naWZ5KHN0YXRpY1ZhbHVlKVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRBbmRSZW1v
dmVBdHRyIChlbCwgbmFtZSkge1xuICB2YXIgdmFsO1xuICBpZiAoKHZhbCA9IGVsLmF0dHJzTWFw
W25hbWVdKSAhPSBudWxsKSB7XG4gICAgdmFyIGxpc3QgPSBlbC5hdHRyc0xpc3Q7XG4gICAgZm9y
ICh2YXIgaSA9IDAsIGwgPSBsaXN0Lmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKGxp
c3RbaV0ubmFtZSA9PT0gbmFtZSkge1xuICAgICAgICBsaXN0LnNwbGljZShpLCAxKTtcbiAgICAg
ICAgYnJlYWtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHZhbFxufVxuXG4vKiAgKi9c
blxuLyoqXG4gKiBDcm9zcy1wbGF0Zm9ybSBjb2RlIGdlbmVyYXRpb24gZm9yIGNvbXBvbmVudCB2
LW1vZGVsXG4gKi9cbmZ1bmN0aW9uIGdlbkNvbXBvbmVudE1vZGVsIChcbiAgZWwsXG4gIHZhbHVl
LFxuICBtb2RpZmllcnNcbikge1xuICB2YXIgcmVmID0gbW9kaWZpZXJzIHx8IHt9O1xuICB2YXIg
bnVtYmVyID0gcmVmLm51bWJlcjtcbiAgdmFyIHRyaW0gPSByZWYudHJpbTtcblxuICB2YXIgYmFz
ZVZhbHVlRXhwcmVzc2lvbiA9ICckJHYnO1xuICB2YXIgdmFsdWVFeHByZXNzaW9uID0gYmFzZVZh
bHVlRXhwcmVzc2lvbjtcbiAgaWYgKHRyaW0pIHtcbiAgICB2YWx1ZUV4cHJlc3Npb24gPVxuICAg
ICAgXCIodHlwZW9mIFwiICsgYmFzZVZhbHVlRXhwcmVzc2lvbiArIFwiID09PSAnc3RyaW5nJ1wi
ICtcbiAgICAgICAgXCI/IFwiICsgYmFzZVZhbHVlRXhwcmVzc2lvbiArIFwiLnRyaW0oKVwiICtc
biAgICAgICAgXCI6IFwiICsgYmFzZVZhbHVlRXhwcmVzc2lvbiArIFwiKVwiO1xuICB9XG4gIGlm
IChudW1iZXIpIHtcbiAgICB2YWx1ZUV4cHJlc3Npb24gPSBcIl9uKFwiICsgdmFsdWVFeHByZXNz
aW9uICsgXCIpXCI7XG4gIH1cbiAgdmFyIGFzc2lnbm1lbnQgPSBnZW5Bc3NpZ25tZW50Q29kZSh2
YWx1ZSwgdmFsdWVFeHByZXNzaW9uKTtcblxuICBlbC5tb2RlbCA9IHtcbiAgICB2YWx1ZTogKFwi
KFwiICsgdmFsdWUgKyBcIilcIiksXG4gICAgZXhwcmVzc2lvbjogKFwiXFxcIlwiICsgdmFsdWUg
KyBcIlxcXCJcIiksXG4gICAgY2FsbGJhY2s6IChcImZ1bmN0aW9uIChcIiArIGJhc2VWYWx1ZUV4
cHJlc3Npb24gKyBcIikge1wiICsgYXNzaWdubWVudCArIFwifVwiKVxuICB9O1xufVxuXG4vKipc
biAqIENyb3NzLXBsYXRmb3JtIGNvZGVnZW4gaGVscGVyIGZvciBnZW5lcmF0aW5nIHYtbW9kZWwg
dmFsdWUgYXNzaWdubWVudCBjb2RlLlxuICovXG5mdW5jdGlvbiBnZW5Bc3NpZ25tZW50Q29kZSAo
XG4gIHZhbHVlLFxuICBhc3NpZ25tZW50XG4pIHtcbiAgdmFyIG1vZGVsUnMgPSBwYXJzZU1vZGVs
KHZhbHVlKTtcbiAgaWYgKG1vZGVsUnMuaWR4ID09PSBudWxsKSB7XG4gICAgcmV0dXJuICh2YWx1
ZSArIFwiPVwiICsgYXNzaWdubWVudClcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gKFwiJHNldChc
IiArIChtb2RlbFJzLmV4cCkgKyBcIiwgXCIgKyAobW9kZWxScy5pZHgpICsgXCIsIFwiICsgYXNz
aWdubWVudCArIFwiKVwiKVxuICB9XG59XG5cbi8qKlxuICogcGFyc2UgZGlyZWN0aXZlIG1vZGVs
IHRvIGRvIHRoZSBhcnJheSB1cGRhdGUgdHJhbnNmb3JtLiBhW2lkeF0gPSB2YWwgPT4gJCRhLnNw
bGljZSgkJGlkeCwgMSwgdmFsKVxuICpcbiAqIGZvciBsb29wIHBvc3NpYmxlIGNhc2VzOlxuICpc
biAqIC0gdGVzdFxuICogLSB0ZXN0W2lkeF1cbiAqIC0gdGVzdFt0ZXN0MVtpZHhdXVxuICogLSB0
ZXN0W1wiYVwiXVtpZHhdXG4gKiAtIHh4eC50ZXN0W2FbYV0udGVzdDFbaWR4XV1cbiAqIC0gdGVz
dC54eHguYVtcImFzYVwiXVt0ZXN0MVtpZHhdXVxuICpcbiAqL1xuXG52YXIgbGVuO1xudmFyIHN0
cjtcbnZhciBjaHI7XG52YXIgaW5kZXgkMTtcbnZhciBleHByZXNzaW9uUG9zO1xudmFyIGV4cHJl
c3Npb25FbmRQb3M7XG5cbmZ1bmN0aW9uIHBhcnNlTW9kZWwgKHZhbCkge1xuICBzdHIgPSB2YWw7
XG4gIGxlbiA9IHN0ci5sZW5ndGg7XG4gIGluZGV4JDEgPSBleHByZXNzaW9uUG9zID0gZXhwcmVz
c2lvbkVuZFBvcyA9IDA7XG5cbiAgaWYgKHZhbC5pbmRleE9mKCdbJykgPCAwIHx8IHZhbC5sYXN0
SW5kZXhPZignXScpIDwgbGVuIC0gMSkge1xuICAgIHJldHVybiB7XG4gICAgICBleHA6IHZhbCxc
biAgICAgIGlkeDogbnVsbFxuICAgIH1cbiAgfVxuXG4gIHdoaWxlICghZW9mKCkpIHtcbiAgICBj
aHIgPSBuZXh0KCk7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKGlzU3Ry
aW5nU3RhcnQoY2hyKSkge1xuICAgICAgcGFyc2VTdHJpbmcoY2hyKTtcbiAgICB9IGVsc2UgaWYg
KGNociA9PT0gMHg1Qikge1xuICAgICAgcGFyc2VCcmFja2V0KGNocik7XG4gICAgfVxuICB9XG5c
biAgcmV0dXJuIHtcbiAgICBleHA6IHZhbC5zdWJzdHJpbmcoMCwgZXhwcmVzc2lvblBvcyksXG4g
ICAgaWR4OiB2YWwuc3Vic3RyaW5nKGV4cHJlc3Npb25Qb3MgKyAxLCBleHByZXNzaW9uRW5kUG9z
KVxuICB9XG59XG5cbmZ1bmN0aW9uIG5leHQgKCkge1xuICByZXR1cm4gc3RyLmNoYXJDb2RlQXQo
KytpbmRleCQxKVxufVxuXG5mdW5jdGlvbiBlb2YgKCkge1xuICByZXR1cm4gaW5kZXgkMSA+PSBs
ZW5cbn1cblxuZnVuY3Rpb24gaXNTdHJpbmdTdGFydCAoY2hyKSB7XG4gIHJldHVybiBjaHIgPT09
IDB4MjIgfHwgY2hyID09PSAweDI3XG59XG5cbmZ1bmN0aW9uIHBhcnNlQnJhY2tldCAoY2hyKSB7
XG4gIHZhciBpbkJyYWNrZXQgPSAxO1xuICBleHByZXNzaW9uUG9zID0gaW5kZXgkMTtcbiAgd2hp
bGUgKCFlb2YoKSkge1xuICAgIGNociA9IG5leHQoKTtcbiAgICBpZiAoaXNTdHJpbmdTdGFydChj
aHIpKSB7XG4gICAgICBwYXJzZVN0cmluZyhjaHIpO1xuICAgICAgY29udGludWVcbiAgICB9XG4g
ICAgaWYgKGNociA9PT0gMHg1QikgeyBpbkJyYWNrZXQrKzsgfVxuICAgIGlmIChjaHIgPT09IDB4
NUQpIHsgaW5CcmFja2V0LS07IH1cbiAgICBpZiAoaW5CcmFja2V0ID09PSAwKSB7XG4gICAgICBl
eHByZXNzaW9uRW5kUG9zID0gaW5kZXgkMTtcbiAgICAgIGJyZWFrXG4gICAgfVxuICB9XG59XG5c
bmZ1bmN0aW9uIHBhcnNlU3RyaW5nIChjaHIpIHtcbiAgdmFyIHN0cmluZ1F1b3RlID0gY2hyO1xu
ICB3aGlsZSAoIWVvZigpKSB7XG4gICAgY2hyID0gbmV4dCgpO1xuICAgIGlmIChjaHIgPT09IHN0
cmluZ1F1b3RlKSB7XG4gICAgICBicmVha1xuICAgIH1cbiAgfVxufVxuXG4vKiAgKi9cblxudmFy
IHdhcm4kMTtcblxuLy8gaW4gc29tZSBjYXNlcywgdGhlIGV2ZW50IHVzZWQgaGFzIHRvIGJlIGRl
dGVybWluZWQgYXQgcnVudGltZVxuLy8gc28gd2UgdXNlZCBzb21lIHJlc2VydmVkIHRva2VucyBk
dXJpbmcgY29tcGlsZS5cbnZhciBSQU5HRV9UT0tFTiA9ICdfX3InO1xudmFyIENIRUNLQk9YX1JB
RElPX1RPS0VOID0gJ19fYyc7XG5cbmZ1bmN0aW9uIG1vZGVsIChcbiAgZWwsXG4gIGRpcixcbiAg
X3dhcm5cbikge1xuICB3YXJuJDEgPSBfd2FybjtcbiAgdmFyIHZhbHVlID0gZGlyLnZhbHVlO1xu
ICB2YXIgbW9kaWZpZXJzID0gZGlyLm1vZGlmaWVycztcbiAgdmFyIHRhZyA9IGVsLnRhZztcbiAg
dmFyIHR5cGUgPSBlbC5hdHRyc01hcC50eXBlO1xuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VO
ViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgdmFyIGR5bmFtaWNUeXBlID0gZWwuYXR0cnNNYXBb
J3YtYmluZDp0eXBlJ10gfHwgZWwuYXR0cnNNYXBbJzp0eXBlJ107XG4gICAgaWYgKHRhZyA9PT0g
J2lucHV0JyAmJiBkeW5hbWljVHlwZSkge1xuICAgICAgd2FybiQxKFxuICAgICAgICBcIjxpbnB1
dCA6dHlwZT1cXFwiXCIgKyBkeW5hbWljVHlwZSArIFwiXFxcIiB2LW1vZGVsPVxcXCJcIiArIHZh
bHVlICsgXCJcXFwiPjpcXG5cIiArXG4gICAgICAgIFwidi1tb2RlbCBkb2VzIG5vdCBzdXBwb3J0
IGR5bmFtaWMgaW5wdXQgdHlwZXMuIFVzZSB2LWlmIGJyYW5jaGVzIGluc3RlYWQuXCJcbiAgICAg
ICk7XG4gICAgfVxuICAgIC8vIGlucHV0cyB3aXRoIHR5cGU9XCJmaWxlXCIgYXJlIHJlYWQgb25s
eSBhbmQgc2V0dGluZyB0aGUgaW5wdXQnc1xuICAgIC8vIHZhbHVlIHdpbGwgdGhyb3cgYW4gZXJy
b3IuXG4gICAgaWYgKHRhZyA9PT0gJ2lucHV0JyAmJiB0eXBlID09PSAnZmlsZScpIHtcbiAgICAg
IHdhcm4kMShcbiAgICAgICAgXCI8XCIgKyAoZWwudGFnKSArIFwiIHYtbW9kZWw9XFxcIlwiICsg
dmFsdWUgKyBcIlxcXCIgdHlwZT1cXFwiZmlsZVxcXCI+OlxcblwiICtcbiAgICAgICAgXCJGaWxl
IGlucHV0cyBhcmUgcmVhZCBvbmx5LiBVc2UgYSB2LW9uOmNoYW5nZSBsaXN0ZW5lciBpbnN0ZWFk
LlwiXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGlmIChlbC5jb21wb25lbnQpIHtcbiAgICBn
ZW5Db21wb25lbnRNb2RlbChlbCwgdmFsdWUsIG1vZGlmaWVycyk7XG4gICAgLy8gY29tcG9uZW50
IHYtbW9kZWwgZG9lc24ndCBuZWVkIGV4dHJhIHJ1bnRpbWVcbiAgICByZXR1cm4gZmFsc2VcbiAg
fSBlbHNlIGlmICh0YWcgPT09ICdzZWxlY3QnKSB7XG4gICAgZ2VuU2VsZWN0KGVsLCB2YWx1ZSwg
bW9kaWZpZXJzKTtcbiAgfSBlbHNlIGlmICh0YWcgPT09ICdpbnB1dCcgJiYgdHlwZSA9PT0gJ2No
ZWNrYm94Jykge1xuICAgIGdlbkNoZWNrYm94TW9kZWwoZWwsIHZhbHVlLCBtb2RpZmllcnMpO1xu
ICB9IGVsc2UgaWYgKHRhZyA9PT0gJ2lucHV0JyAmJiB0eXBlID09PSAncmFkaW8nKSB7XG4gICAg
Z2VuUmFkaW9Nb2RlbChlbCwgdmFsdWUsIG1vZGlmaWVycyk7XG4gIH0gZWxzZSBpZiAodGFnID09
PSAnaW5wdXQnIHx8IHRhZyA9PT0gJ3RleHRhcmVhJykge1xuICAgIGdlbkRlZmF1bHRNb2RlbChl
bCwgdmFsdWUsIG1vZGlmaWVycyk7XG4gIH0gZWxzZSBpZiAoIWNvbmZpZy5pc1Jlc2VydmVkVGFn
KHRhZykpIHtcbiAgICBnZW5Db21wb25lbnRNb2RlbChlbCwgdmFsdWUsIG1vZGlmaWVycyk7XG4g
ICAgLy8gY29tcG9uZW50IHYtbW9kZWwgZG9lc24ndCBuZWVkIGV4dHJhIHJ1bnRpbWVcbiAgICBy
ZXR1cm4gZmFsc2VcbiAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1
Y3Rpb24nKSB7XG4gICAgd2FybiQxKFxuICAgICAgXCI8XCIgKyAoZWwudGFnKSArIFwiIHYtbW9k
ZWw9XFxcIlwiICsgdmFsdWUgKyBcIlxcXCI+OiBcIiArXG4gICAgICBcInYtbW9kZWwgaXMgbm90
IHN1cHBvcnRlZCBvbiB0aGlzIGVsZW1lbnQgdHlwZS4gXCIgK1xuICAgICAgJ0lmIHlvdSBhcmUg
d29ya2luZyB3aXRoIGNvbnRlbnRlZGl0YWJsZSwgaXRcXCdzIHJlY29tbWVuZGVkIHRvICcgK1xu
ICAgICAgJ3dyYXAgYSBsaWJyYXJ5IGRlZGljYXRlZCBmb3IgdGhhdCBwdXJwb3NlIGluc2lkZSBh
IGN1c3RvbSBjb21wb25lbnQuJ1xuICAgICk7XG4gIH1cblxuICAvLyBlbnN1cmUgcnVudGltZSBk
aXJlY3RpdmUgbWV0YWRhdGFcbiAgcmV0dXJuIHRydWVcbn1cblxuZnVuY3Rpb24gZ2VuQ2hlY2ti
b3hNb2RlbCAoXG4gIGVsLFxuICB2YWx1ZSxcbiAgbW9kaWZpZXJzXG4pIHtcbiAgdmFyIG51bWJl
ciA9IG1vZGlmaWVycyAmJiBtb2RpZmllcnMubnVtYmVyO1xuICB2YXIgdmFsdWVCaW5kaW5nID0g
Z2V0QmluZGluZ0F0dHIoZWwsICd2YWx1ZScpIHx8ICdudWxsJztcbiAgdmFyIHRydWVWYWx1ZUJp
bmRpbmcgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ3RydWUtdmFsdWUnKSB8fCAndHJ1ZSc7XG4gIHZh
ciBmYWxzZVZhbHVlQmluZGluZyA9IGdldEJpbmRpbmdBdHRyKGVsLCAnZmFsc2UtdmFsdWUnKSB8
fCAnZmFsc2UnO1xuICBhZGRQcm9wKGVsLCAnY2hlY2tlZCcsXG4gICAgXCJBcnJheS5pc0FycmF5
KFwiICsgdmFsdWUgKyBcIilcIiArXG4gICAgICBcIj9faShcIiArIHZhbHVlICsgXCIsXCIgKyB2
YWx1ZUJpbmRpbmcgKyBcIik+LTFcIiArIChcbiAgICAgICAgdHJ1ZVZhbHVlQmluZGluZyA9PT0g
J3RydWUnXG4gICAgICAgICAgPyAoXCI6KFwiICsgdmFsdWUgKyBcIilcIilcbiAgICAgICAgICA6
IChcIjpfcShcIiArIHZhbHVlICsgXCIsXCIgKyB0cnVlVmFsdWVCaW5kaW5nICsgXCIpXCIpXG4g
ICAgICApXG4gICk7XG4gIGFkZEhhbmRsZXIoZWwsIENIRUNLQk9YX1JBRElPX1RPS0VOLFxuICAg
IFwidmFyICQkYT1cIiArIHZhbHVlICsgXCIsXCIgK1xuICAgICAgICAnJCRlbD0kZXZlbnQudGFy
Z2V0LCcgK1xuICAgICAgICBcIiQkYz0kJGVsLmNoZWNrZWQ/KFwiICsgdHJ1ZVZhbHVlQmluZGlu
ZyArIFwiKTooXCIgKyBmYWxzZVZhbHVlQmluZGluZyArIFwiKTtcIiArXG4gICAgJ2lmKEFycmF5
LmlzQXJyYXkoJCRhKSl7JyArXG4gICAgICBcInZhciAkJHY9XCIgKyAobnVtYmVyID8gJ19uKCcg
KyB2YWx1ZUJpbmRpbmcgKyAnKScgOiB2YWx1ZUJpbmRpbmcpICsgXCIsXCIgK1xuICAgICAgICAg
ICckJGk9X2koJCRhLCQkdik7JyArXG4gICAgICBcImlmKCQkZWwuY2hlY2tlZCl7JCRpPDAmJihc
IiArIHZhbHVlICsgXCI9JCRhLmNvbmNhdCgkJHYpKX1cIiArXG4gICAgICBcImVsc2V7JCRpPi0x
JiYoXCIgKyB2YWx1ZSArIFwiPSQkYS5zbGljZSgwLCQkaSkuY29uY2F0KCQkYS5zbGljZSgkJGkr
MSkpKX1cIiArXG4gICAgXCJ9ZWxzZXtcIiArIChnZW5Bc3NpZ25tZW50Q29kZSh2YWx1ZSwgJyQk
YycpKSArIFwifVwiLFxuICAgIG51bGwsIHRydWVcbiAgKTtcbn1cblxuZnVuY3Rpb24gZ2VuUmFk
aW9Nb2RlbCAoXG4gICAgZWwsXG4gICAgdmFsdWUsXG4gICAgbW9kaWZpZXJzXG4pIHtcbiAgdmFy
IG51bWJlciA9IG1vZGlmaWVycyAmJiBtb2RpZmllcnMubnVtYmVyO1xuICB2YXIgdmFsdWVCaW5k
aW5nID0gZ2V0QmluZGluZ0F0dHIoZWwsICd2YWx1ZScpIHx8ICdudWxsJztcbiAgdmFsdWVCaW5k
aW5nID0gbnVtYmVyID8gKFwiX24oXCIgKyB2YWx1ZUJpbmRpbmcgKyBcIilcIikgOiB2YWx1ZUJp
bmRpbmc7XG4gIGFkZFByb3AoZWwsICdjaGVja2VkJywgKFwiX3EoXCIgKyB2YWx1ZSArIFwiLFwi
ICsgdmFsdWVCaW5kaW5nICsgXCIpXCIpKTtcbiAgYWRkSGFuZGxlcihlbCwgQ0hFQ0tCT1hfUkFE
SU9fVE9LRU4sIGdlbkFzc2lnbm1lbnRDb2RlKHZhbHVlLCB2YWx1ZUJpbmRpbmcpLCBudWxsLCB0
cnVlKTtcbn1cblxuZnVuY3Rpb24gZ2VuU2VsZWN0IChcbiAgICBlbCxcbiAgICB2YWx1ZSxcbiAg
ICBtb2RpZmllcnNcbikge1xuICB2YXIgbnVtYmVyID0gbW9kaWZpZXJzICYmIG1vZGlmaWVycy5u
dW1iZXI7XG4gIHZhciBzZWxlY3RlZFZhbCA9IFwiQXJyYXkucHJvdG90eXBlLmZpbHRlclwiICtc
biAgICBcIi5jYWxsKCRldmVudC50YXJnZXQub3B0aW9ucyxmdW5jdGlvbihvKXtyZXR1cm4gby5z
ZWxlY3RlZH0pXCIgK1xuICAgIFwiLm1hcChmdW5jdGlvbihvKXt2YXIgdmFsID0gXFxcIl92YWx1
ZVxcXCIgaW4gbyA/IG8uX3ZhbHVlIDogby52YWx1ZTtcIiArXG4gICAgXCJyZXR1cm4gXCIgKyAo
bnVtYmVyID8gJ19uKHZhbCknIDogJ3ZhbCcpICsgXCJ9KVwiO1xuXG4gIHZhciBhc3NpZ25tZW50
ID0gJyRldmVudC50YXJnZXQubXVsdGlwbGUgPyAkJHNlbGVjdGVkVmFsIDogJCRzZWxlY3RlZFZh
bFswXSc7XG4gIHZhciBjb2RlID0gXCJ2YXIgJCRzZWxlY3RlZFZhbCA9IFwiICsgc2VsZWN0ZWRW
YWwgKyBcIjtcIjtcbiAgY29kZSA9IGNvZGUgKyBcIiBcIiArIChnZW5Bc3NpZ25tZW50Q29kZSh2
YWx1ZSwgYXNzaWdubWVudCkpO1xuICBhZGRIYW5kbGVyKGVsLCAnY2hhbmdlJywgY29kZSwgbnVs
bCwgdHJ1ZSk7XG59XG5cbmZ1bmN0aW9uIGdlbkRlZmF1bHRNb2RlbCAoXG4gIGVsLFxuICB2YWx1
ZSxcbiAgbW9kaWZpZXJzXG4pIHtcbiAgdmFyIHR5cGUgPSBlbC5hdHRyc01hcC50eXBlO1xuICB2
YXIgcmVmID0gbW9kaWZpZXJzIHx8IHt9O1xuICB2YXIgbGF6eSA9IHJlZi5sYXp5O1xuICB2YXIg
bnVtYmVyID0gcmVmLm51bWJlcjtcbiAgdmFyIHRyaW0gPSByZWYudHJpbTtcbiAgdmFyIG5lZWRD
b21wb3NpdGlvbkd1YXJkID0gIWxhenkgJiYgdHlwZSAhPT0gJ3JhbmdlJztcbiAgdmFyIGV2ZW50
ID0gbGF6eVxuICAgID8gJ2NoYW5nZSdcbiAgICA6IHR5cGUgPT09ICdyYW5nZSdcbiAgICAgID8g
UkFOR0VfVE9LRU5cbiAgICAgIDogJ2lucHV0JztcblxuICB2YXIgdmFsdWVFeHByZXNzaW9uID0g
JyRldmVudC50YXJnZXQudmFsdWUnO1xuICBpZiAodHJpbSkge1xuICAgIHZhbHVlRXhwcmVzc2lv
biA9IFwiJGV2ZW50LnRhcmdldC52YWx1ZS50cmltKClcIjtcbiAgfVxuICBpZiAobnVtYmVyKSB7
XG4gICAgdmFsdWVFeHByZXNzaW9uID0gXCJfbihcIiArIHZhbHVlRXhwcmVzc2lvbiArIFwiKVwi
O1xuICB9XG5cbiAgdmFyIGNvZGUgPSBnZW5Bc3NpZ25tZW50Q29kZSh2YWx1ZSwgdmFsdWVFeHBy
ZXNzaW9uKTtcbiAgaWYgKG5lZWRDb21wb3NpdGlvbkd1YXJkKSB7XG4gICAgY29kZSA9IFwiaWYo
JGV2ZW50LnRhcmdldC5jb21wb3NpbmcpcmV0dXJuO1wiICsgY29kZTtcbiAgfVxuXG4gIGFkZFBy
b3AoZWwsICd2YWx1ZScsIChcIihcIiArIHZhbHVlICsgXCIpXCIpKTtcbiAgYWRkSGFuZGxlcihl
bCwgZXZlbnQsIGNvZGUsIG51bGwsIHRydWUpO1xuICBpZiAodHJpbSB8fCBudW1iZXIpIHtcbiAg
ICBhZGRIYW5kbGVyKGVsLCAnYmx1cicsICckZm9yY2VVcGRhdGUoKScpO1xuICB9XG59XG5cbi8q
ICAqL1xuXG4vLyBub3JtYWxpemUgdi1tb2RlbCBldmVudCB0b2tlbnMgdGhhdCBjYW4gb25seSBi
ZSBkZXRlcm1pbmVkIGF0IHJ1bnRpbWUuXG4vLyBpdCdzIGltcG9ydGFudCB0byBwbGFjZSB0aGUg
ZXZlbnQgYXMgdGhlIGZpcnN0IGluIHRoZSBhcnJheSBiZWNhdXNlXG4vLyB0aGUgd2hvbGUgcG9p
bnQgaXMgZW5zdXJpbmcgdGhlIHYtbW9kZWwgY2FsbGJhY2sgZ2V0cyBjYWxsZWQgYmVmb3JlXG4v
LyB1c2VyLWF0dGFjaGVkIGhhbmRsZXJzLlxuZnVuY3Rpb24gbm9ybWFsaXplRXZlbnRzIChvbikg
e1xuICB2YXIgZXZlbnQ7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoaXNEZWYo
b25bUkFOR0VfVE9LRU5dKSkge1xuICAgIC8vIElFIGlucHV0W3R5cGU9cmFuZ2VdIG9ubHkgc3Vw
cG9ydHMgYGNoYW5nZWAgZXZlbnRcbiAgICBldmVudCA9IGlzSUUgPyAnY2hhbmdlJyA6ICdpbnB1
dCc7XG4gICAgb25bZXZlbnRdID0gW10uY29uY2F0KG9uW1JBTkdFX1RPS0VOXSwgb25bZXZlbnRd
IHx8IFtdKTtcbiAgICBkZWxldGUgb25bUkFOR0VfVE9LRU5dO1xuICB9XG4gIGlmIChpc0RlZihv
bltDSEVDS0JPWF9SQURJT19UT0tFTl0pKSB7XG4gICAgLy8gQ2hyb21lIGZpcmVzIG1pY3JvdGFz
a3MgaW4gYmV0d2VlbiBjbGljay9jaGFuZ2UsIGxlYWRzIHRvICM0NTIxXG4gICAgZXZlbnQgPSBp
c0Nocm9tZSA/ICdjbGljaycgOiAnY2hhbmdlJztcbiAgICBvbltldmVudF0gPSBbXS5jb25jYXQo
b25bQ0hFQ0tCT1hfUkFESU9fVE9LRU5dLCBvbltldmVudF0gfHwgW10pO1xuICAgIGRlbGV0ZSBv
bltDSEVDS0JPWF9SQURJT19UT0tFTl07XG4gIH1cbn1cblxudmFyIHRhcmdldCQxO1xuXG5mdW5j
dGlvbiBhZGQkMSAoXG4gIGV2ZW50LFxuICBoYW5kbGVyLFxuICBvbmNlJCQxLFxuICBjYXB0dXJl
LFxuICBwYXNzaXZlXG4pIHtcbiAgaWYgKG9uY2UkJDEpIHtcbiAgICB2YXIgb2xkSGFuZGxlciA9
IGhhbmRsZXI7XG4gICAgdmFyIF90YXJnZXQgPSB0YXJnZXQkMTsgLy8gc2F2ZSBjdXJyZW50IHRh
cmdldCBlbGVtZW50IGluIGNsb3N1cmVcbiAgICBoYW5kbGVyID0gZnVuY3Rpb24gKGV2KSB7XG4g
ICAgICB2YXIgcmVzID0gYXJndW1lbnRzLmxlbmd0aCA9PT0gMVxuICAgICAgICA/IG9sZEhhbmRs
ZXIoZXYpXG4gICAgICAgIDogb2xkSGFuZGxlci5hcHBseShudWxsLCBhcmd1bWVudHMpO1xuICAg
ICAgaWYgKHJlcyAhPT0gbnVsbCkge1xuICAgICAgICByZW1vdmUkMihldmVudCwgaGFuZGxlciwg
Y2FwdHVyZSwgX3RhcmdldCk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuICB0YXJnZXQkMS5hZGRF
dmVudExpc3RlbmVyKFxuICAgIGV2ZW50LFxuICAgIGhhbmRsZXIsXG4gICAgc3VwcG9ydHNQYXNz
aXZlXG4gICAgICA/IHsgY2FwdHVyZTogY2FwdHVyZSwgcGFzc2l2ZTogcGFzc2l2ZSB9XG4gICAg
ICA6IGNhcHR1cmVcbiAgKTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlJDIgKFxuICBldmVudCxcbiAg
aGFuZGxlcixcbiAgY2FwdHVyZSxcbiAgX3RhcmdldFxuKSB7XG4gIChfdGFyZ2V0IHx8IHRhcmdl
dCQxKS5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LCBoYW5kbGVyLCBjYXB0dXJlKTtcbn1cblxu
ZnVuY3Rpb24gdXBkYXRlRE9NTGlzdGVuZXJzIChvbGRWbm9kZSwgdm5vZGUpIHtcbiAgaWYgKGlz
VW5kZWYob2xkVm5vZGUuZGF0YS5vbikgJiYgaXNVbmRlZih2bm9kZS5kYXRhLm9uKSkge1xuICAg
IHJldHVyblxuICB9XG4gIHZhciBvbiA9IHZub2RlLmRhdGEub24gfHwge307XG4gIHZhciBvbGRP
biA9IG9sZFZub2RlLmRhdGEub24gfHwge307XG4gIHRhcmdldCQxID0gdm5vZGUuZWxtO1xuICBu
b3JtYWxpemVFdmVudHMob24pO1xuICB1cGRhdGVMaXN0ZW5lcnMob24sIG9sZE9uLCBhZGQkMSwg
cmVtb3ZlJDIsIHZub2RlLmNvbnRleHQpO1xufVxuXG52YXIgZXZlbnRzID0ge1xuICBjcmVhdGU6
IHVwZGF0ZURPTUxpc3RlbmVycyxcbiAgdXBkYXRlOiB1cGRhdGVET01MaXN0ZW5lcnNcbn07XG5c
bi8qICAqL1xuXG5mdW5jdGlvbiB1cGRhdGVET01Qcm9wcyAob2xkVm5vZGUsIHZub2RlKSB7XG4g
IGlmIChpc1VuZGVmKG9sZFZub2RlLmRhdGEuZG9tUHJvcHMpICYmIGlzVW5kZWYodm5vZGUuZGF0
YS5kb21Qcm9wcykpIHtcbiAgICByZXR1cm5cbiAgfVxuICB2YXIga2V5LCBjdXI7XG4gIHZhciBl
bG0gPSB2bm9kZS5lbG07XG4gIHZhciBvbGRQcm9wcyA9IG9sZFZub2RlLmRhdGEuZG9tUHJvcHMg
fHwge307XG4gIHZhciBwcm9wcyA9IHZub2RlLmRhdGEuZG9tUHJvcHMgfHwge307XG4gIC8vIGNs
b25lIG9ic2VydmVkIG9iamVjdHMsIGFzIHRoZSB1c2VyIHByb2JhYmx5IHdhbnRzIHRvIG11dGF0
ZSBpdFxuICBpZiAoaXNEZWYocHJvcHMuX19vYl9fKSkge1xuICAgIHByb3BzID0gdm5vZGUuZGF0
YS5kb21Qcm9wcyA9IGV4dGVuZCh7fSwgcHJvcHMpO1xuICB9XG5cbiAgZm9yIChrZXkgaW4gb2xk
UHJvcHMpIHtcbiAgICBpZiAoaXNVbmRlZihwcm9wc1trZXldKSkge1xuICAgICAgZWxtW2tleV0g
PSAnJztcbiAgICB9XG4gIH1cbiAgZm9yIChrZXkgaW4gcHJvcHMpIHtcbiAgICBjdXIgPSBwcm9w
c1trZXldO1xuICAgIC8vIGlnbm9yZSBjaGlsZHJlbiBpZiB0aGUgbm9kZSBoYXMgdGV4dENvbnRl
bnQgb3IgaW5uZXJIVE1MLFxuICAgIC8vIGFzIHRoZXNlIHdpbGwgdGhyb3cgYXdheSBleGlzdGlu
ZyBET00gbm9kZXMgYW5kIGNhdXNlIHJlbW92YWwgZXJyb3JzXG4gICAgLy8gb24gc3Vic2VxdWVu
dCBwYXRjaGVzICgjMzM2MClcbiAgICBpZiAoa2V5ID09PSAndGV4dENvbnRlbnQnIHx8IGtleSA9
PT0gJ2lubmVySFRNTCcpIHtcbiAgICAgIGlmICh2bm9kZS5jaGlsZHJlbikgeyB2bm9kZS5jaGls
ZHJlbi5sZW5ndGggPSAwOyB9XG4gICAgICBpZiAoY3VyID09PSBvbGRQcm9wc1trZXldKSB7IGNv
bnRpbnVlIH1cbiAgICB9XG5cbiAgICBpZiAoa2V5ID09PSAndmFsdWUnKSB7XG4gICAgICAvLyBz
dG9yZSB2YWx1ZSBhcyBfdmFsdWUgYXMgd2VsbCBzaW5jZVxuICAgICAgLy8gbm9uLXN0cmluZyB2
YWx1ZXMgd2lsbCBiZSBzdHJpbmdpZmllZFxuICAgICAgZWxtLl92YWx1ZSA9IGN1cjtcbiAgICAg
IC8vIGF2b2lkIHJlc2V0dGluZyBjdXJzb3IgcG9zaXRpb24gd2hlbiB2YWx1ZSBpcyB0aGUgc2Ft
ZVxuICAgICAgdmFyIHN0ckN1ciA9IGlzVW5kZWYoY3VyKSA/ICcnIDogU3RyaW5nKGN1cik7XG4g
ICAgICBpZiAoc2hvdWxkVXBkYXRlVmFsdWUoZWxtLCB2bm9kZSwgc3RyQ3VyKSkge1xuICAgICAg
ICBlbG0udmFsdWUgPSBzdHJDdXI7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsbVtr
ZXldID0gY3VyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBjaGVjayBwbGF0Zm9ybXMvd2ViL3V0aWwv
YXR0cnMuanMgYWNjZXB0VmFsdWVcblxuXG5mdW5jdGlvbiBzaG91bGRVcGRhdGVWYWx1ZSAoXG4g
IGVsbSxcbiAgdm5vZGUsXG4gIGNoZWNrVmFsXG4pIHtcbiAgcmV0dXJuICghZWxtLmNvbXBvc2lu
ZyAmJiAoXG4gICAgdm5vZGUudGFnID09PSAnb3B0aW9uJyB8fFxuICAgIGlzRGlydHkoZWxtLCBj
aGVja1ZhbCkgfHxcbiAgICBpc0lucHV0Q2hhbmdlZChlbG0sIGNoZWNrVmFsKVxuICApKVxufVxu
XG5mdW5jdGlvbiBpc0RpcnR5IChlbG0sIGNoZWNrVmFsKSB7XG4gIC8vIHJldHVybiB0cnVlIHdo
ZW4gdGV4dGJveCAoLm51bWJlciBhbmQgLnRyaW0pIGxvc2VzIGZvY3VzIGFuZCBpdHMgdmFsdWUg
aXNcbiAgLy8gbm90IGVxdWFsIHRvIHRoZSB1cGRhdGVkIHZhbHVlXG4gIHZhciBub3RJbkZvY3Vz
ID0gdHJ1ZTtcbiAgLy8gIzYxNTdcbiAgLy8gd29yayBhcm91bmQgSUUgYnVnIHdoZW4gYWNjZXNz
aW5nIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaW4gYW4gaWZyYW1lXG4gIHRyeSB7IG5vdEluRm9j
dXMgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSBlbG07IH0gY2F0Y2ggKGUpIHt9XG4gIHJl
dHVybiBub3RJbkZvY3VzICYmIGVsbS52YWx1ZSAhPT0gY2hlY2tWYWxcbn1cblxuZnVuY3Rpb24g
aXNJbnB1dENoYW5nZWQgKGVsbSwgbmV3VmFsKSB7XG4gIHZhciB2YWx1ZSA9IGVsbS52YWx1ZTtc
biAgdmFyIG1vZGlmaWVycyA9IGVsbS5fdk1vZGlmaWVyczsgLy8gaW5qZWN0ZWQgYnkgdi1tb2Rl
bCBydW50aW1lXG4gIGlmIChpc0RlZihtb2RpZmllcnMpICYmIG1vZGlmaWVycy5udW1iZXIpIHtc
biAgICByZXR1cm4gdG9OdW1iZXIodmFsdWUpICE9PSB0b051bWJlcihuZXdWYWwpXG4gIH1cbiAg
aWYgKGlzRGVmKG1vZGlmaWVycykgJiYgbW9kaWZpZXJzLnRyaW0pIHtcbiAgICByZXR1cm4gdmFs
dWUudHJpbSgpICE9PSBuZXdWYWwudHJpbSgpXG4gIH1cbiAgcmV0dXJuIHZhbHVlICE9PSBuZXdW
YWxcbn1cblxudmFyIGRvbVByb3BzID0ge1xuICBjcmVhdGU6IHVwZGF0ZURPTVByb3BzLFxuICB1
cGRhdGU6IHVwZGF0ZURPTVByb3BzXG59O1xuXG4vKiAgKi9cblxudmFyIHBhcnNlU3R5bGVUZXh0
ID0gY2FjaGVkKGZ1bmN0aW9uIChjc3NUZXh0KSB7XG4gIHZhciByZXMgPSB7fTtcbiAgdmFyIGxp
c3REZWxpbWl0ZXIgPSAvOyg/IVteKF0qXFwpKS9nO1xuICB2YXIgcHJvcGVydHlEZWxpbWl0ZXIg
PSAvOiguKykvO1xuICBjc3NUZXh0LnNwbGl0KGxpc3REZWxpbWl0ZXIpLmZvckVhY2goZnVuY3Rp
b24gKGl0ZW0pIHtcbiAgICBpZiAoaXRlbSkge1xuICAgICAgdmFyIHRtcCA9IGl0ZW0uc3BsaXQo
cHJvcGVydHlEZWxpbWl0ZXIpO1xuICAgICAgdG1wLmxlbmd0aCA+IDEgJiYgKHJlc1t0bXBbMF0u
dHJpbSgpXSA9IHRtcFsxXS50cmltKCkpO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiByZXNcbn0p
O1xuXG4vLyBtZXJnZSBzdGF0aWMgYW5kIGR5bmFtaWMgc3R5bGUgZGF0YSBvbiB0aGUgc2FtZSB2
bm9kZVxuZnVuY3Rpb24gbm9ybWFsaXplU3R5bGVEYXRhIChkYXRhKSB7XG4gIHZhciBzdHlsZSA9
IG5vcm1hbGl6ZVN0eWxlQmluZGluZyhkYXRhLnN0eWxlKTtcbiAgLy8gc3RhdGljIHN0eWxlIGlz
IHByZS1wcm9jZXNzZWQgaW50byBhbiBvYmplY3QgZHVyaW5nIGNvbXBpbGF0aW9uXG4gIC8vIGFu
ZCBpcyBhbHdheXMgYSBmcmVzaCBvYmplY3QsIHNvIGl0J3Mgc2FmZSB0byBtZXJnZSBpbnRvIGl0
XG4gIHJldHVybiBkYXRhLnN0YXRpY1N0eWxlXG4gICAgPyBleHRlbmQoZGF0YS5zdGF0aWNTdHls
ZSwgc3R5bGUpXG4gICAgOiBzdHlsZVxufVxuXG4vLyBub3JtYWxpemUgcG9zc2libGUgYXJyYXkg
LyBzdHJpbmcgdmFsdWVzIGludG8gT2JqZWN0XG5mdW5jdGlvbiBub3JtYWxpemVTdHlsZUJpbmRp
bmcgKGJpbmRpbmdTdHlsZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheShiaW5kaW5nU3R5bGUpKSB7
XG4gICAgcmV0dXJuIHRvT2JqZWN0KGJpbmRpbmdTdHlsZSlcbiAgfVxuICBpZiAodHlwZW9mIGJp
bmRpbmdTdHlsZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gcGFyc2VTdHlsZVRleHQoYmlu
ZGluZ1N0eWxlKVxuICB9XG4gIHJldHVybiBiaW5kaW5nU3R5bGVcbn1cblxuLyoqXG4gKiBwYXJl
bnQgY29tcG9uZW50IHN0eWxlIHNob3VsZCBiZSBhZnRlciBjaGlsZCdzXG4gKiBzbyB0aGF0IHBh
cmVudCBjb21wb25lbnQncyBzdHlsZSBjb3VsZCBvdmVycmlkZSBpdFxuICovXG5mdW5jdGlvbiBn
ZXRTdHlsZSAodm5vZGUsIGNoZWNrQ2hpbGQpIHtcbiAgdmFyIHJlcyA9IHt9O1xuICB2YXIgc3R5
bGVEYXRhO1xuXG4gIGlmIChjaGVja0NoaWxkKSB7XG4gICAgdmFyIGNoaWxkTm9kZSA9IHZub2Rl
O1xuICAgIHdoaWxlIChjaGlsZE5vZGUuY29tcG9uZW50SW5zdGFuY2UpIHtcbiAgICAgIGNoaWxk
Tm9kZSA9IGNoaWxkTm9kZS5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGU7XG4gICAgICBpZiAoY2hp
bGROb2RlLmRhdGEgJiYgKHN0eWxlRGF0YSA9IG5vcm1hbGl6ZVN0eWxlRGF0YShjaGlsZE5vZGUu
ZGF0YSkpKSB7XG4gICAgICAgIGV4dGVuZChyZXMsIHN0eWxlRGF0YSk7XG4gICAgICB9XG4gICAg
fVxuICB9XG5cbiAgaWYgKChzdHlsZURhdGEgPSBub3JtYWxpemVTdHlsZURhdGEodm5vZGUuZGF0
YSkpKSB7XG4gICAgZXh0ZW5kKHJlcywgc3R5bGVEYXRhKTtcbiAgfVxuXG4gIHZhciBwYXJlbnRO
b2RlID0gdm5vZGU7XG4gIHdoaWxlICgocGFyZW50Tm9kZSA9IHBhcmVudE5vZGUucGFyZW50KSkg
e1xuICAgIGlmIChwYXJlbnROb2RlLmRhdGEgJiYgKHN0eWxlRGF0YSA9IG5vcm1hbGl6ZVN0eWxl
RGF0YShwYXJlbnROb2RlLmRhdGEpKSkge1xuICAgICAgZXh0ZW5kKHJlcywgc3R5bGVEYXRhKTtc
biAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG4vKiAgKi9cblxudmFyIGNzc1ZhclJFID0g
L14tLS87XG52YXIgaW1wb3J0YW50UkUgPSAvXFxzKiFpbXBvcnRhbnQkLztcbnZhciBzZXRQcm9w
ID0gZnVuY3Rpb24gKGVsLCBuYW1lLCB2YWwpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICov
XG4gIGlmIChjc3NWYXJSRS50ZXN0KG5hbWUpKSB7XG4gICAgZWwuc3R5bGUuc2V0UHJvcGVydHko
bmFtZSwgdmFsKTtcbiAgfSBlbHNlIGlmIChpbXBvcnRhbnRSRS50ZXN0KHZhbCkpIHtcbiAgICBl
bC5zdHlsZS5zZXRQcm9wZXJ0eShuYW1lLCB2YWwucmVwbGFjZShpbXBvcnRhbnRSRSwgJycpLCAn
aW1wb3J0YW50Jyk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIG5vcm1hbGl6ZWROYW1lID0gbm9ybWFs
aXplKG5hbWUpO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgIC8vIFN1cHBv
cnQgdmFsdWVzIGFycmF5IGNyZWF0ZWQgYnkgYXV0b3ByZWZpeGVyLCBlLmcuXG4gICAgICAvLyB7
ZGlzcGxheTogW1wiLXdlYmtpdC1ib3hcIiwgXCItbXMtZmxleGJveFwiLCBcImZsZXhcIl19XG4g
ICAgICAvLyBTZXQgdGhlbSBvbmUgYnkgb25lLCBhbmQgdGhlIGJyb3dzZXIgd2lsbCBvbmx5IHNl
dCB0aG9zZSBpdCBjYW4gcmVjb2duaXplXG4gICAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gdmFs
Lmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgIGVsLnN0eWxlW25vcm1hbGl6ZWROYW1l
XSA9IHZhbFtpXTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZWwuc3R5bGVbbm9ybWFs
aXplZE5hbWVdID0gdmFsO1xuICAgIH1cbiAgfVxufTtcblxudmFyIHZlbmRvck5hbWVzID0gWydX
ZWJraXQnLCAnTW96JywgJ21zJ107XG5cbnZhciBlbXB0eVN0eWxlO1xudmFyIG5vcm1hbGl6ZSA9
IGNhY2hlZChmdW5jdGlvbiAocHJvcCkge1xuICBlbXB0eVN0eWxlID0gZW1wdHlTdHlsZSB8fCBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKS5zdHlsZTtcbiAgcHJvcCA9IGNhbWVsaXplKHBy
b3ApO1xuICBpZiAocHJvcCAhPT0gJ2ZpbHRlcicgJiYgKHByb3AgaW4gZW1wdHlTdHlsZSkpIHtc
biAgICByZXR1cm4gcHJvcFxuICB9XG4gIHZhciBjYXBOYW1lID0gcHJvcC5jaGFyQXQoMCkudG9V
cHBlckNhc2UoKSArIHByb3Auc2xpY2UoMSk7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgdmVuZG9y
TmFtZXMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgbmFtZSA9IHZlbmRvck5hbWVzW2ldICsgY2Fw
TmFtZTtcbiAgICBpZiAobmFtZSBpbiBlbXB0eVN0eWxlKSB7XG4gICAgICByZXR1cm4gbmFtZVxu
ICAgIH1cbiAgfVxufSk7XG5cbmZ1bmN0aW9uIHVwZGF0ZVN0eWxlIChvbGRWbm9kZSwgdm5vZGUp
IHtcbiAgdmFyIGRhdGEgPSB2bm9kZS5kYXRhO1xuICB2YXIgb2xkRGF0YSA9IG9sZFZub2RlLmRh
dGE7XG5cbiAgaWYgKGlzVW5kZWYoZGF0YS5zdGF0aWNTdHlsZSkgJiYgaXNVbmRlZihkYXRhLnN0
eWxlKSAmJlxuICAgIGlzVW5kZWYob2xkRGF0YS5zdGF0aWNTdHlsZSkgJiYgaXNVbmRlZihvbGRE
YXRhLnN0eWxlKVxuICApIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIHZhciBjdXIsIG5hbWU7XG4g
IHZhciBlbCA9IHZub2RlLmVsbTtcbiAgdmFyIG9sZFN0YXRpY1N0eWxlID0gb2xkRGF0YS5zdGF0
aWNTdHlsZTtcbiAgdmFyIG9sZFN0eWxlQmluZGluZyA9IG9sZERhdGEubm9ybWFsaXplZFN0eWxl
IHx8IG9sZERhdGEuc3R5bGUgfHwge307XG5cbiAgLy8gaWYgc3RhdGljIHN0eWxlIGV4aXN0cywg
c3R5bGViaW5kaW5nIGFscmVhZHkgbWVyZ2VkIGludG8gaXQgd2hlbiBkb2luZyBub3JtYWxpemVT
dHlsZURhdGFcbiAgdmFyIG9sZFN0eWxlID0gb2xkU3RhdGljU3R5bGUgfHwgb2xkU3R5bGVCaW5k
aW5nO1xuXG4gIHZhciBzdHlsZSA9IG5vcm1hbGl6ZVN0eWxlQmluZGluZyh2bm9kZS5kYXRhLnN0
eWxlKSB8fCB7fTtcblxuICAvLyBzdG9yZSBub3JtYWxpemVkIHN0eWxlIHVuZGVyIGEgZGlmZmVy
ZW50IGtleSBmb3IgbmV4dCBkaWZmXG4gIC8vIG1ha2Ugc3VyZSB0byBjbG9uZSBpdCBpZiBpdCdz
IHJlYWN0aXZlLCBzaW5jZSB0aGUgdXNlciBsaWtsZXkgd2FudHNcbiAgLy8gdG8gbXV0YXRlIGl0
LlxuICB2bm9kZS5kYXRhLm5vcm1hbGl6ZWRTdHlsZSA9IGlzRGVmKHN0eWxlLl9fb2JfXylcbiAg
ICA/IGV4dGVuZCh7fSwgc3R5bGUpXG4gICAgOiBzdHlsZTtcblxuICB2YXIgbmV3U3R5bGUgPSBn
ZXRTdHlsZSh2bm9kZSwgdHJ1ZSk7XG5cbiAgZm9yIChuYW1lIGluIG9sZFN0eWxlKSB7XG4gICAg
aWYgKGlzVW5kZWYobmV3U3R5bGVbbmFtZV0pKSB7XG4gICAgICBzZXRQcm9wKGVsLCBuYW1lLCAn
Jyk7XG4gICAgfVxuICB9XG4gIGZvciAobmFtZSBpbiBuZXdTdHlsZSkge1xuICAgIGN1ciA9IG5l
d1N0eWxlW25hbWVdO1xuICAgIGlmIChjdXIgIT09IG9sZFN0eWxlW25hbWVdKSB7XG4gICAgICAv
LyBpZTkgc2V0dGluZyB0byBudWxsIGhhcyBubyBlZmZlY3QsIG11c3QgdXNlIGVtcHR5IHN0cmlu
Z1xuICAgICAgc2V0UHJvcChlbCwgbmFtZSwgY3VyID09IG51bGwgPyAnJyA6IGN1cik7XG4gICAg
fVxuICB9XG59XG5cbnZhciBzdHlsZSA9IHtcbiAgY3JlYXRlOiB1cGRhdGVTdHlsZSxcbiAgdXBk
YXRlOiB1cGRhdGVTdHlsZVxufTtcblxuLyogICovXG5cbi8qKlxuICogQWRkIGNsYXNzIHdpdGgg
Y29tcGF0aWJpbGl0eSBmb3IgU1ZHIHNpbmNlIGNsYXNzTGlzdCBpcyBub3Qgc3VwcG9ydGVkIG9u
XG4gKiBTVkcgZWxlbWVudHMgaW4gSUVcbiAqL1xuZnVuY3Rpb24gYWRkQ2xhc3MgKGVsLCBjbHMp
IHtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmICghY2xzIHx8ICEoY2xzID0gY2xz
LnRyaW0oKSkpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNl
ICovXG4gIGlmIChlbC5jbGFzc0xpc3QpIHtcbiAgICBpZiAoY2xzLmluZGV4T2YoJyAnKSA+IC0x
KSB7XG4gICAgICBjbHMuc3BsaXQoL1xccysvKS5mb3JFYWNoKGZ1bmN0aW9uIChjKSB7IHJldHVy
biBlbC5jbGFzc0xpc3QuYWRkKGMpOyB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZWwuY2xhc3NM
aXN0LmFkZChjbHMpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB2YXIgY3VyID0gXCIgXCIgKyAo
ZWwuZ2V0QXR0cmlidXRlKCdjbGFzcycpIHx8ICcnKSArIFwiIFwiO1xuICAgIGlmIChjdXIuaW5k
ZXhPZignICcgKyBjbHMgKyAnICcpIDwgMCkge1xuICAgICAgZWwuc2V0QXR0cmlidXRlKCdjbGFz
cycsIChjdXIgKyBjbHMpLnRyaW0oKSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUmVtb3Zl
IGNsYXNzIHdpdGggY29tcGF0aWJpbGl0eSBmb3IgU1ZHIHNpbmNlIGNsYXNzTGlzdCBpcyBub3Qg
c3VwcG9ydGVkIG9uXG4gKiBTVkcgZWxlbWVudHMgaW4gSUVcbiAqL1xuZnVuY3Rpb24gcmVtb3Zl
Q2xhc3MgKGVsLCBjbHMpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmICghY2xz
IHx8ICEoY2xzID0gY2xzLnRyaW0oKSkpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIC8qIGlzdGFu
YnVsIGlnbm9yZSBlbHNlICovXG4gIGlmIChlbC5jbGFzc0xpc3QpIHtcbiAgICBpZiAoY2xzLmlu
ZGV4T2YoJyAnKSA+IC0xKSB7XG4gICAgICBjbHMuc3BsaXQoL1xccysvKS5mb3JFYWNoKGZ1bmN0
aW9uIChjKSB7IHJldHVybiBlbC5jbGFzc0xpc3QucmVtb3ZlKGMpOyB9KTtcbiAgICB9IGVsc2Ug
e1xuICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZShjbHMpO1xuICAgIH1cbiAgICBpZiAoIWVsLmNs
YXNzTGlzdC5sZW5ndGgpIHtcbiAgICAgIGVsLnJlbW92ZUF0dHJpYnV0ZSgnY2xhc3MnKTtcbiAg
ICB9XG4gIH0gZWxzZSB7XG4gICAgdmFyIGN1ciA9IFwiIFwiICsgKGVsLmdldEF0dHJpYnV0ZSgn
Y2xhc3MnKSB8fCAnJykgKyBcIiBcIjtcbiAgICB2YXIgdGFyID0gJyAnICsgY2xzICsgJyAnO1xu
ICAgIHdoaWxlIChjdXIuaW5kZXhPZih0YXIpID49IDApIHtcbiAgICAgIGN1ciA9IGN1ci5yZXBs
YWNlKHRhciwgJyAnKTtcbiAgICB9XG4gICAgY3VyID0gY3VyLnRyaW0oKTtcbiAgICBpZiAoY3Vy
KSB7XG4gICAgICBlbC5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgY3VyKTtcbiAgICB9IGVsc2Uge1xu
ICAgICAgZWwucmVtb3ZlQXR0cmlidXRlKCdjbGFzcycpO1xuICAgIH1cbiAgfVxufVxuXG4vKiAg
Ki9cblxuZnVuY3Rpb24gcmVzb2x2ZVRyYW5zaXRpb24gKGRlZiQkMSkge1xuICBpZiAoIWRlZiQk
MSkge1xuICAgIHJldHVyblxuICB9XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gIGlm
ICh0eXBlb2YgZGVmJCQxID09PSAnb2JqZWN0Jykge1xuICAgIHZhciByZXMgPSB7fTtcbiAgICBp
ZiAoZGVmJCQxLmNzcyAhPT0gZmFsc2UpIHtcbiAgICAgIGV4dGVuZChyZXMsIGF1dG9Dc3NUcmFu
c2l0aW9uKGRlZiQkMS5uYW1lIHx8ICd2JykpO1xuICAgIH1cbiAgICBleHRlbmQocmVzLCBkZWYk
JDEpO1xuICAgIHJldHVybiByZXNcbiAgfSBlbHNlIGlmICh0eXBlb2YgZGVmJCQxID09PSAnc3Ry
aW5nJykge1xuICAgIHJldHVybiBhdXRvQ3NzVHJhbnNpdGlvbihkZWYkJDEpXG4gIH1cbn1cblxu
dmFyIGF1dG9Dc3NUcmFuc2l0aW9uID0gY2FjaGVkKGZ1bmN0aW9uIChuYW1lKSB7XG4gIHJldHVy
biB7XG4gICAgZW50ZXJDbGFzczogKG5hbWUgKyBcIi1lbnRlclwiKSxcbiAgICBlbnRlclRvQ2xh
c3M6IChuYW1lICsgXCItZW50ZXItdG9cIiksXG4gICAgZW50ZXJBY3RpdmVDbGFzczogKG5hbWUg
KyBcIi1lbnRlci1hY3RpdmVcIiksXG4gICAgbGVhdmVDbGFzczogKG5hbWUgKyBcIi1sZWF2ZVwi
KSxcbiAgICBsZWF2ZVRvQ2xhc3M6IChuYW1lICsgXCItbGVhdmUtdG9cIiksXG4gICAgbGVhdmVB
Y3RpdmVDbGFzczogKG5hbWUgKyBcIi1sZWF2ZS1hY3RpdmVcIilcbiAgfVxufSk7XG5cbnZhciBo
YXNUcmFuc2l0aW9uID0gaW5Ccm93c2VyICYmICFpc0lFOTtcbnZhciBUUkFOU0lUSU9OID0gJ3Ry
YW5zaXRpb24nO1xudmFyIEFOSU1BVElPTiA9ICdhbmltYXRpb24nO1xuXG4vLyBUcmFuc2l0aW9u
IHByb3BlcnR5L2V2ZW50IHNuaWZmaW5nXG52YXIgdHJhbnNpdGlvblByb3AgPSAndHJhbnNpdGlv
bic7XG52YXIgdHJhbnNpdGlvbkVuZEV2ZW50ID0gJ3RyYW5zaXRpb25lbmQnO1xudmFyIGFuaW1h
dGlvblByb3AgPSAnYW5pbWF0aW9uJztcbnZhciBhbmltYXRpb25FbmRFdmVudCA9ICdhbmltYXRp
b25lbmQnO1xuaWYgKGhhc1RyYW5zaXRpb24pIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICov
XG4gIGlmICh3aW5kb3cub250cmFuc2l0aW9uZW5kID09PSB1bmRlZmluZWQgJiZcbiAgICB3aW5k
b3cub253ZWJraXR0cmFuc2l0aW9uZW5kICE9PSB1bmRlZmluZWRcbiAgKSB7XG4gICAgdHJhbnNp
dGlvblByb3AgPSAnV2Via2l0VHJhbnNpdGlvbic7XG4gICAgdHJhbnNpdGlvbkVuZEV2ZW50ID0g
J3dlYmtpdFRyYW5zaXRpb25FbmQnO1xuICB9XG4gIGlmICh3aW5kb3cub25hbmltYXRpb25lbmQg
PT09IHVuZGVmaW5lZCAmJlxuICAgIHdpbmRvdy5vbndlYmtpdGFuaW1hdGlvbmVuZCAhPT0gdW5k
ZWZpbmVkXG4gICkge1xuICAgIGFuaW1hdGlvblByb3AgPSAnV2Via2l0QW5pbWF0aW9uJztcbiAg
ICBhbmltYXRpb25FbmRFdmVudCA9ICd3ZWJraXRBbmltYXRpb25FbmQnO1xuICB9XG59XG5cbi8v
IGJpbmRpbmcgdG8gd2luZG93IGlzIG5lY2Vzc2FyeSB0byBtYWtlIGhvdCByZWxvYWQgd29yayBp
biBJRSBpbiBzdHJpY3QgbW9kZVxudmFyIHJhZiA9IGluQnJvd3NlciAmJiB3aW5kb3cucmVxdWVz
dEFuaW1hdGlvbkZyYW1lXG4gID8gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZS5iaW5kKHdp
bmRvdylcbiAgOiBzZXRUaW1lb3V0O1xuXG5mdW5jdGlvbiBuZXh0RnJhbWUgKGZuKSB7XG4gIHJh
ZihmdW5jdGlvbiAoKSB7XG4gICAgcmFmKGZuKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGFkZFRy
YW5zaXRpb25DbGFzcyAoZWwsIGNscykge1xuICB2YXIgdHJhbnNpdGlvbkNsYXNzZXMgPSBlbC5f
dHJhbnNpdGlvbkNsYXNzZXMgfHwgKGVsLl90cmFuc2l0aW9uQ2xhc3NlcyA9IFtdKTtcbiAgaWYg
KHRyYW5zaXRpb25DbGFzc2VzLmluZGV4T2YoY2xzKSA8IDApIHtcbiAgICB0cmFuc2l0aW9uQ2xh
c3Nlcy5wdXNoKGNscyk7XG4gICAgYWRkQ2xhc3MoZWwsIGNscyk7XG4gIH1cbn1cblxuZnVuY3Rp
b24gcmVtb3ZlVHJhbnNpdGlvbkNsYXNzIChlbCwgY2xzKSB7XG4gIGlmIChlbC5fdHJhbnNpdGlv
bkNsYXNzZXMpIHtcbiAgICByZW1vdmUoZWwuX3RyYW5zaXRpb25DbGFzc2VzLCBjbHMpO1xuICB9
XG4gIHJlbW92ZUNsYXNzKGVsLCBjbHMpO1xufVxuXG5mdW5jdGlvbiB3aGVuVHJhbnNpdGlvbkVu
ZHMgKFxuICBlbCxcbiAgZXhwZWN0ZWRUeXBlLFxuICBjYlxuKSB7XG4gIHZhciByZWYgPSBnZXRU
cmFuc2l0aW9uSW5mbyhlbCwgZXhwZWN0ZWRUeXBlKTtcbiAgdmFyIHR5cGUgPSByZWYudHlwZTtc
biAgdmFyIHRpbWVvdXQgPSByZWYudGltZW91dDtcbiAgdmFyIHByb3BDb3VudCA9IHJlZi5wcm9w
Q291bnQ7XG4gIGlmICghdHlwZSkgeyByZXR1cm4gY2IoKSB9XG4gIHZhciBldmVudCA9IHR5cGUg
PT09IFRSQU5TSVRJT04gPyB0cmFuc2l0aW9uRW5kRXZlbnQgOiBhbmltYXRpb25FbmRFdmVudDtc
biAgdmFyIGVuZGVkID0gMDtcbiAgdmFyIGVuZCA9IGZ1bmN0aW9uICgpIHtcbiAgICBlbC5yZW1v
dmVFdmVudExpc3RlbmVyKGV2ZW50LCBvbkVuZCk7XG4gICAgY2IoKTtcbiAgfTtcbiAgdmFyIG9u
RW5kID0gZnVuY3Rpb24gKGUpIHtcbiAgICBpZiAoZS50YXJnZXQgPT09IGVsKSB7XG4gICAgICBp
ZiAoKytlbmRlZCA+PSBwcm9wQ291bnQpIHtcbiAgICAgICAgZW5kKCk7XG4gICAgICB9XG4gICAg
fVxuICB9O1xuICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoZW5kZWQgPCBwcm9w
Q291bnQpIHtcbiAgICAgIGVuZCgpO1xuICAgIH1cbiAgfSwgdGltZW91dCArIDEpO1xuICBlbC5h
ZGRFdmVudExpc3RlbmVyKGV2ZW50LCBvbkVuZCk7XG59XG5cbnZhciB0cmFuc2Zvcm1SRSA9IC9c
XGIodHJhbnNmb3JtfGFsbCkoLHwkKS87XG5cbmZ1bmN0aW9uIGdldFRyYW5zaXRpb25JbmZvIChl
bCwgZXhwZWN0ZWRUeXBlKSB7XG4gIHZhciBzdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShlbCk7XG4gIHZhciB0cmFuc2l0aW9uRGVsYXlzID0gc3R5bGVzW3RyYW5zaXRpb25Qcm9wICsg
J0RlbGF5J10uc3BsaXQoJywgJyk7XG4gIHZhciB0cmFuc2l0aW9uRHVyYXRpb25zID0gc3R5bGVz
W3RyYW5zaXRpb25Qcm9wICsgJ0R1cmF0aW9uJ10uc3BsaXQoJywgJyk7XG4gIHZhciB0cmFuc2l0
aW9uVGltZW91dCA9IGdldFRpbWVvdXQodHJhbnNpdGlvbkRlbGF5cywgdHJhbnNpdGlvbkR1cmF0
aW9ucyk7XG4gIHZhciBhbmltYXRpb25EZWxheXMgPSBzdHlsZXNbYW5pbWF0aW9uUHJvcCArICdE
ZWxheSddLnNwbGl0KCcsICcpO1xuICB2YXIgYW5pbWF0aW9uRHVyYXRpb25zID0gc3R5bGVzW2Fu
aW1hdGlvblByb3AgKyAnRHVyYXRpb24nXS5zcGxpdCgnLCAnKTtcbiAgdmFyIGFuaW1hdGlvblRp
bWVvdXQgPSBnZXRUaW1lb3V0KGFuaW1hdGlvbkRlbGF5cywgYW5pbWF0aW9uRHVyYXRpb25zKTtc
blxuICB2YXIgdHlwZTtcbiAgdmFyIHRpbWVvdXQgPSAwO1xuICB2YXIgcHJvcENvdW50ID0gMDtc
biAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmIChleHBlY3RlZFR5cGUgPT09IFRSQU5T
SVRJT04pIHtcbiAgICBpZiAodHJhbnNpdGlvblRpbWVvdXQgPiAwKSB7XG4gICAgICB0eXBlID0g
VFJBTlNJVElPTjtcbiAgICAgIHRpbWVvdXQgPSB0cmFuc2l0aW9uVGltZW91dDtcbiAgICAgIHBy
b3BDb3VudCA9IHRyYW5zaXRpb25EdXJhdGlvbnMubGVuZ3RoO1xuICAgIH1cbiAgfSBlbHNlIGlm
IChleHBlY3RlZFR5cGUgPT09IEFOSU1BVElPTikge1xuICAgIGlmIChhbmltYXRpb25UaW1lb3V0
ID4gMCkge1xuICAgICAgdHlwZSA9IEFOSU1BVElPTjtcbiAgICAgIHRpbWVvdXQgPSBhbmltYXRp
b25UaW1lb3V0O1xuICAgICAgcHJvcENvdW50ID0gYW5pbWF0aW9uRHVyYXRpb25zLmxlbmd0aDtc
biAgICB9XG4gIH0gZWxzZSB7XG4gICAgdGltZW91dCA9IE1hdGgubWF4KHRyYW5zaXRpb25UaW1l
b3V0LCBhbmltYXRpb25UaW1lb3V0KTtcbiAgICB0eXBlID0gdGltZW91dCA+IDBcbiAgICAgID8g
dHJhbnNpdGlvblRpbWVvdXQgPiBhbmltYXRpb25UaW1lb3V0XG4gICAgICAgID8gVFJBTlNJVElP
TlxuICAgICAgICA6IEFOSU1BVElPTlxuICAgICAgOiBudWxsO1xuICAgIHByb3BDb3VudCA9IHR5
cGVcbiAgICAgID8gdHlwZSA9PT0gVFJBTlNJVElPTlxuICAgICAgICA/IHRyYW5zaXRpb25EdXJh
dGlvbnMubGVuZ3RoXG4gICAgICAgIDogYW5pbWF0aW9uRHVyYXRpb25zLmxlbmd0aFxuICAgICAg
OiAwO1xuICB9XG4gIHZhciBoYXNUcmFuc2Zvcm0gPVxuICAgIHR5cGUgPT09IFRSQU5TSVRJT04g
JiZcbiAgICB0cmFuc2Zvcm1SRS50ZXN0KHN0eWxlc1t0cmFuc2l0aW9uUHJvcCArICdQcm9wZXJ0
eSddKTtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiB0eXBlLFxuICAgIHRpbWVvdXQ6IHRpbWVvdXQs
XG4gICAgcHJvcENvdW50OiBwcm9wQ291bnQsXG4gICAgaGFzVHJhbnNmb3JtOiBoYXNUcmFuc2Zv
cm1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRUaW1lb3V0IChkZWxheXMsIGR1cmF0aW9ucykge1xu
ICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICB3aGlsZSAoZGVsYXlzLmxlbmd0aCA8IGR1
cmF0aW9ucy5sZW5ndGgpIHtcbiAgICBkZWxheXMgPSBkZWxheXMuY29uY2F0KGRlbGF5cyk7XG4g
IH1cblxuICByZXR1cm4gTWF0aC5tYXguYXBwbHkobnVsbCwgZHVyYXRpb25zLm1hcChmdW5jdGlv
biAoZCwgaSkge1xuICAgIHJldHVybiB0b01zKGQpICsgdG9NcyhkZWxheXNbaV0pXG4gIH0pKVxu
fVxuXG5mdW5jdGlvbiB0b01zIChzKSB7XG4gIHJldHVybiBOdW1iZXIocy5zbGljZSgwLCAtMSkp
ICogMTAwMFxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gZW50ZXIgKHZub2RlLCB0b2dnbGVEaXNw
bGF5KSB7XG4gIHZhciBlbCA9IHZub2RlLmVsbTtcblxuICAvLyBjYWxsIGxlYXZlIGNhbGxiYWNr
IG5vd1xuICBpZiAoaXNEZWYoZWwuX2xlYXZlQ2IpKSB7XG4gICAgZWwuX2xlYXZlQ2IuY2FuY2Vs
bGVkID0gdHJ1ZTtcbiAgICBlbC5fbGVhdmVDYigpO1xuICB9XG5cbiAgdmFyIGRhdGEgPSByZXNv
bHZlVHJhbnNpdGlvbih2bm9kZS5kYXRhLnRyYW5zaXRpb24pO1xuICBpZiAoaXNVbmRlZihkYXRh
KSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlm
IChpc0RlZihlbC5fZW50ZXJDYikgfHwgZWwubm9kZVR5cGUgIT09IDEpIHtcbiAgICByZXR1cm5c
biAgfVxuXG4gIHZhciBjc3MgPSBkYXRhLmNzcztcbiAgdmFyIHR5cGUgPSBkYXRhLnR5cGU7XG4g
IHZhciBlbnRlckNsYXNzID0gZGF0YS5lbnRlckNsYXNzO1xuICB2YXIgZW50ZXJUb0NsYXNzID0g
ZGF0YS5lbnRlclRvQ2xhc3M7XG4gIHZhciBlbnRlckFjdGl2ZUNsYXNzID0gZGF0YS5lbnRlckFj
dGl2ZUNsYXNzO1xuICB2YXIgYXBwZWFyQ2xhc3MgPSBkYXRhLmFwcGVhckNsYXNzO1xuICB2YXIg
YXBwZWFyVG9DbGFzcyA9IGRhdGEuYXBwZWFyVG9DbGFzcztcbiAgdmFyIGFwcGVhckFjdGl2ZUNs
YXNzID0gZGF0YS5hcHBlYXJBY3RpdmVDbGFzcztcbiAgdmFyIGJlZm9yZUVudGVyID0gZGF0YS5i
ZWZvcmVFbnRlcjtcbiAgdmFyIGVudGVyID0gZGF0YS5lbnRlcjtcbiAgdmFyIGFmdGVyRW50ZXIg
PSBkYXRhLmFmdGVyRW50ZXI7XG4gIHZhciBlbnRlckNhbmNlbGxlZCA9IGRhdGEuZW50ZXJDYW5j
ZWxsZWQ7XG4gIHZhciBiZWZvcmVBcHBlYXIgPSBkYXRhLmJlZm9yZUFwcGVhcjtcbiAgdmFyIGFw
cGVhciA9IGRhdGEuYXBwZWFyO1xuICB2YXIgYWZ0ZXJBcHBlYXIgPSBkYXRhLmFmdGVyQXBwZWFy
O1xuICB2YXIgYXBwZWFyQ2FuY2VsbGVkID0gZGF0YS5hcHBlYXJDYW5jZWxsZWQ7XG4gIHZhciBk
dXJhdGlvbiA9IGRhdGEuZHVyYXRpb247XG5cbiAgLy8gYWN0aXZlSW5zdGFuY2Ugd2lsbCBhbHdh
eXMgYmUgdGhlIDx0cmFuc2l0aW9uPiBjb21wb25lbnQgbWFuYWdpbmcgdGhpc1xuICAvLyB0cmFu
c2l0aW9uLiBPbmUgZWRnZSBjYXNlIHRvIGNoZWNrIGlzIHdoZW4gdGhlIDx0cmFuc2l0aW9uPiBp
cyBwbGFjZWRcbiAgLy8gYXMgdGhlIHJvb3Qgbm9kZSBvZiBhIGNoaWxkIGNvbXBvbmVudC4gSW4g
dGhhdCBjYXNlIHdlIG5lZWQgdG8gY2hlY2tcbiAgLy8gPHRyYW5zaXRpb24+J3MgcGFyZW50IGZv
ciBhcHBlYXIgY2hlY2suXG4gIHZhciBjb250ZXh0ID0gYWN0aXZlSW5zdGFuY2U7XG4gIHZhciB0
cmFuc2l0aW9uTm9kZSA9IGFjdGl2ZUluc3RhbmNlLiR2bm9kZTtcbiAgd2hpbGUgKHRyYW5zaXRp
b25Ob2RlICYmIHRyYW5zaXRpb25Ob2RlLnBhcmVudCkge1xuICAgIHRyYW5zaXRpb25Ob2RlID0g
dHJhbnNpdGlvbk5vZGUucGFyZW50O1xuICAgIGNvbnRleHQgPSB0cmFuc2l0aW9uTm9kZS5jb250
ZXh0O1xuICB9XG5cbiAgdmFyIGlzQXBwZWFyID0gIWNvbnRleHQuX2lzTW91bnRlZCB8fCAhdm5v
ZGUuaXNSb290SW5zZXJ0O1xuXG4gIGlmIChpc0FwcGVhciAmJiAhYXBwZWFyICYmIGFwcGVhciAh
PT0gJycpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIHZhciBzdGFydENsYXNzID0gaXNBcHBlYXIg
JiYgYXBwZWFyQ2xhc3NcbiAgICA/IGFwcGVhckNsYXNzXG4gICAgOiBlbnRlckNsYXNzO1xuICB2
YXIgYWN0aXZlQ2xhc3MgPSBpc0FwcGVhciAmJiBhcHBlYXJBY3RpdmVDbGFzc1xuICAgID8gYXBw
ZWFyQWN0aXZlQ2xhc3NcbiAgICA6IGVudGVyQWN0aXZlQ2xhc3M7XG4gIHZhciB0b0NsYXNzID0g
aXNBcHBlYXIgJiYgYXBwZWFyVG9DbGFzc1xuICAgID8gYXBwZWFyVG9DbGFzc1xuICAgIDogZW50
ZXJUb0NsYXNzO1xuXG4gIHZhciBiZWZvcmVFbnRlckhvb2sgPSBpc0FwcGVhclxuICAgID8gKGJl
Zm9yZUFwcGVhciB8fCBiZWZvcmVFbnRlcilcbiAgICA6IGJlZm9yZUVudGVyO1xuICB2YXIgZW50
ZXJIb29rID0gaXNBcHBlYXJcbiAgICA/ICh0eXBlb2YgYXBwZWFyID09PSAnZnVuY3Rpb24nID8g
YXBwZWFyIDogZW50ZXIpXG4gICAgOiBlbnRlcjtcbiAgdmFyIGFmdGVyRW50ZXJIb29rID0gaXNB
cHBlYXJcbiAgICA/IChhZnRlckFwcGVhciB8fCBhZnRlckVudGVyKVxuICAgIDogYWZ0ZXJFbnRl
cjtcbiAgdmFyIGVudGVyQ2FuY2VsbGVkSG9vayA9IGlzQXBwZWFyXG4gICAgPyAoYXBwZWFyQ2Fu
Y2VsbGVkIHx8IGVudGVyQ2FuY2VsbGVkKVxuICAgIDogZW50ZXJDYW5jZWxsZWQ7XG5cbiAgdmFy
IGV4cGxpY2l0RW50ZXJEdXJhdGlvbiA9IHRvTnVtYmVyKFxuICAgIGlzT2JqZWN0KGR1cmF0aW9u
KVxuICAgICAgPyBkdXJhdGlvbi5lbnRlclxuICAgICAgOiBkdXJhdGlvblxuICApO1xuXG4gIGlm
IChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGV4cGxpY2l0RW50ZXJE
dXJhdGlvbiAhPSBudWxsKSB7XG4gICAgY2hlY2tEdXJhdGlvbihleHBsaWNpdEVudGVyRHVyYXRp
b24sICdlbnRlcicsIHZub2RlKTtcbiAgfVxuXG4gIHZhciBleHBlY3RzQ1NTID0gY3NzICE9PSBm
YWxzZSAmJiAhaXNJRTk7XG4gIHZhciB1c2VyV2FudHNDb250cm9sID0gZ2V0SG9va0FyZ3VtZW50
c0xlbmd0aChlbnRlckhvb2spO1xuXG4gIHZhciBjYiA9IGVsLl9lbnRlckNiID0gb25jZShmdW5j
dGlvbiAoKSB7XG4gICAgaWYgKGV4cGVjdHNDU1MpIHtcbiAgICAgIHJlbW92ZVRyYW5zaXRpb25D
bGFzcyhlbCwgdG9DbGFzcyk7XG4gICAgICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIGFjdGl2
ZUNsYXNzKTtcbiAgICB9XG4gICAgaWYgKGNiLmNhbmNlbGxlZCkge1xuICAgICAgaWYgKGV4cGVj
dHNDU1MpIHtcbiAgICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBzdGFydENsYXNzKTtc
biAgICAgIH1cbiAgICAgIGVudGVyQ2FuY2VsbGVkSG9vayAmJiBlbnRlckNhbmNlbGxlZEhvb2so
ZWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhZnRlckVudGVySG9vayAmJiBhZnRlckVudGVySG9v
ayhlbCk7XG4gICAgfVxuICAgIGVsLl9lbnRlckNiID0gbnVsbDtcbiAgfSk7XG5cbiAgaWYgKCF2
bm9kZS5kYXRhLnNob3cpIHtcbiAgICAvLyByZW1vdmUgcGVuZGluZyBsZWF2ZSBlbGVtZW50IG9u
IGVudGVyIGJ5IGluamVjdGluZyBhbiBpbnNlcnQgaG9va1xuICAgIG1lcmdlVk5vZGVIb29rKHZu
b2RlLmRhdGEuaG9vayB8fCAodm5vZGUuZGF0YS5ob29rID0ge30pLCAnaW5zZXJ0JywgZnVuY3Rp
b24gKCkge1xuICAgICAgdmFyIHBhcmVudCA9IGVsLnBhcmVudE5vZGU7XG4gICAgICB2YXIgcGVu
ZGluZ05vZGUgPSBwYXJlbnQgJiYgcGFyZW50Ll9wZW5kaW5nICYmIHBhcmVudC5fcGVuZGluZ1t2
bm9kZS5rZXldO1xuICAgICAgaWYgKHBlbmRpbmdOb2RlICYmXG4gICAgICAgIHBlbmRpbmdOb2Rl
LnRhZyA9PT0gdm5vZGUudGFnICYmXG4gICAgICAgIHBlbmRpbmdOb2RlLmVsbS5fbGVhdmVDYlxu
ICAgICAgKSB7XG4gICAgICAgIHBlbmRpbmdOb2RlLmVsbS5fbGVhdmVDYigpO1xuICAgICAgfVxu
ICAgICAgZW50ZXJIb29rICYmIGVudGVySG9vayhlbCwgY2IpO1xuICAgIH0pO1xuICB9XG5cbiAg
Ly8gc3RhcnQgZW50ZXIgdHJhbnNpdGlvblxuICBiZWZvcmVFbnRlckhvb2sgJiYgYmVmb3JlRW50
ZXJIb29rKGVsKTtcbiAgaWYgKGV4cGVjdHNDU1MpIHtcbiAgICBhZGRUcmFuc2l0aW9uQ2xhc3Mo
ZWwsIHN0YXJ0Q2xhc3MpO1xuICAgIGFkZFRyYW5zaXRpb25DbGFzcyhlbCwgYWN0aXZlQ2xhc3Mp
O1xuICAgIG5leHRGcmFtZShmdW5jdGlvbiAoKSB7XG4gICAgICBhZGRUcmFuc2l0aW9uQ2xhc3Mo
ZWwsIHRvQ2xhc3MpO1xuICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBzdGFydENsYXNz
KTtcbiAgICAgIGlmICghY2IuY2FuY2VsbGVkICYmICF1c2VyV2FudHNDb250cm9sKSB7XG4gICAg
ICAgIGlmIChpc1ZhbGlkRHVyYXRpb24oZXhwbGljaXRFbnRlckR1cmF0aW9uKSkge1xuICAgICAg
ICAgIHNldFRpbWVvdXQoY2IsIGV4cGxpY2l0RW50ZXJEdXJhdGlvbik7XG4gICAgICAgIH0gZWxz
ZSB7XG4gICAgICAgICAgd2hlblRyYW5zaXRpb25FbmRzKGVsLCB0eXBlLCBjYik7XG4gICAgICAg
IH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGlmICh2bm9kZS5kYXRhLnNob3cpIHtcbiAg
ICB0b2dnbGVEaXNwbGF5ICYmIHRvZ2dsZURpc3BsYXkoKTtcbiAgICBlbnRlckhvb2sgJiYgZW50
ZXJIb29rKGVsLCBjYik7XG4gIH1cblxuICBpZiAoIWV4cGVjdHNDU1MgJiYgIXVzZXJXYW50c0Nv
bnRyb2wpIHtcbiAgICBjYigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGxlYXZlICh2bm9kZSwgcm0p
IHtcbiAgdmFyIGVsID0gdm5vZGUuZWxtO1xuXG4gIC8vIGNhbGwgZW50ZXIgY2FsbGJhY2sgbm93
XG4gIGlmIChpc0RlZihlbC5fZW50ZXJDYikpIHtcbiAgICBlbC5fZW50ZXJDYi5jYW5jZWxsZWQg
PSB0cnVlO1xuICAgIGVsLl9lbnRlckNiKCk7XG4gIH1cblxuICB2YXIgZGF0YSA9IHJlc29sdmVU
cmFuc2l0aW9uKHZub2RlLmRhdGEudHJhbnNpdGlvbik7XG4gIGlmIChpc1VuZGVmKGRhdGEpKSB7
XG4gICAgcmV0dXJuIHJtKClcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBp
ZiAoaXNEZWYoZWwuX2xlYXZlQ2IpIHx8IGVsLm5vZGVUeXBlICE9PSAxKSB7XG4gICAgcmV0dXJu
XG4gIH1cblxuICB2YXIgY3NzID0gZGF0YS5jc3M7XG4gIHZhciB0eXBlID0gZGF0YS50eXBlO1xu
ICB2YXIgbGVhdmVDbGFzcyA9IGRhdGEubGVhdmVDbGFzcztcbiAgdmFyIGxlYXZlVG9DbGFzcyA9
IGRhdGEubGVhdmVUb0NsYXNzO1xuICB2YXIgbGVhdmVBY3RpdmVDbGFzcyA9IGRhdGEubGVhdmVB
Y3RpdmVDbGFzcztcbiAgdmFyIGJlZm9yZUxlYXZlID0gZGF0YS5iZWZvcmVMZWF2ZTtcbiAgdmFy
IGxlYXZlID0gZGF0YS5sZWF2ZTtcbiAgdmFyIGFmdGVyTGVhdmUgPSBkYXRhLmFmdGVyTGVhdmU7
XG4gIHZhciBsZWF2ZUNhbmNlbGxlZCA9IGRhdGEubGVhdmVDYW5jZWxsZWQ7XG4gIHZhciBkZWxh
eUxlYXZlID0gZGF0YS5kZWxheUxlYXZlO1xuICB2YXIgZHVyYXRpb24gPSBkYXRhLmR1cmF0aW9u
O1xuXG4gIHZhciBleHBlY3RzQ1NTID0gY3NzICE9PSBmYWxzZSAmJiAhaXNJRTk7XG4gIHZhciB1
c2VyV2FudHNDb250cm9sID0gZ2V0SG9va0FyZ3VtZW50c0xlbmd0aChsZWF2ZSk7XG5cbiAgdmFy
IGV4cGxpY2l0TGVhdmVEdXJhdGlvbiA9IHRvTnVtYmVyKFxuICAgIGlzT2JqZWN0KGR1cmF0aW9u
KVxuICAgICAgPyBkdXJhdGlvbi5sZWF2ZVxuICAgICAgOiBkdXJhdGlvblxuICApO1xuXG4gIGlm
IChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGlzRGVmKGV4cGxpY2l0
TGVhdmVEdXJhdGlvbikpIHtcbiAgICBjaGVja0R1cmF0aW9uKGV4cGxpY2l0TGVhdmVEdXJhdGlv
biwgJ2xlYXZlJywgdm5vZGUpO1xuICB9XG5cbiAgdmFyIGNiID0gZWwuX2xlYXZlQ2IgPSBvbmNl
KGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoZWwucGFyZW50Tm9kZSAmJiBlbC5wYXJlbnROb2RlLl9w
ZW5kaW5nKSB7XG4gICAgICBlbC5wYXJlbnROb2RlLl9wZW5kaW5nW3Zub2RlLmtleV0gPSBudWxs
O1xuICAgIH1cbiAgICBpZiAoZXhwZWN0c0NTUykge1xuICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNs
YXNzKGVsLCBsZWF2ZVRvQ2xhc3MpO1xuICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBs
ZWF2ZUFjdGl2ZUNsYXNzKTtcbiAgICB9XG4gICAgaWYgKGNiLmNhbmNlbGxlZCkge1xuICAgICAg
aWYgKGV4cGVjdHNDU1MpIHtcbiAgICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBsZWF2
ZUNsYXNzKTtcbiAgICAgIH1cbiAgICAgIGxlYXZlQ2FuY2VsbGVkICYmIGxlYXZlQ2FuY2VsbGVk
KGVsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcm0oKTtcbiAgICAgIGFmdGVyTGVhdmUgJiYgYWZ0
ZXJMZWF2ZShlbCk7XG4gICAgfVxuICAgIGVsLl9sZWF2ZUNiID0gbnVsbDtcbiAgfSk7XG5cbiAg
aWYgKGRlbGF5TGVhdmUpIHtcbiAgICBkZWxheUxlYXZlKHBlcmZvcm1MZWF2ZSk7XG4gIH0gZWxz
ZSB7XG4gICAgcGVyZm9ybUxlYXZlKCk7XG4gIH1cblxuICBmdW5jdGlvbiBwZXJmb3JtTGVhdmUg
KCkge1xuICAgIC8vIHRoZSBkZWxheWVkIGxlYXZlIG1heSBoYXZlIGFscmVhZHkgYmVlbiBjYW5j
ZWxsZWRcbiAgICBpZiAoY2IuY2FuY2VsbGVkKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAg
Ly8gcmVjb3JkIGxlYXZpbmcgZWxlbWVudFxuICAgIGlmICghdm5vZGUuZGF0YS5zaG93KSB7XG4g
ICAgICAoZWwucGFyZW50Tm9kZS5fcGVuZGluZyB8fCAoZWwucGFyZW50Tm9kZS5fcGVuZGluZyA9
IHt9KSlbKHZub2RlLmtleSldID0gdm5vZGU7XG4gICAgfVxuICAgIGJlZm9yZUxlYXZlICYmIGJl
Zm9yZUxlYXZlKGVsKTtcbiAgICBpZiAoZXhwZWN0c0NTUykge1xuICAgICAgYWRkVHJhbnNpdGlv
bkNsYXNzKGVsLCBsZWF2ZUNsYXNzKTtcbiAgICAgIGFkZFRyYW5zaXRpb25DbGFzcyhlbCwgbGVh
dmVBY3RpdmVDbGFzcyk7XG4gICAgICBuZXh0RnJhbWUoZnVuY3Rpb24gKCkge1xuICAgICAgICBh
ZGRUcmFuc2l0aW9uQ2xhc3MoZWwsIGxlYXZlVG9DbGFzcyk7XG4gICAgICAgIHJlbW92ZVRyYW5z
aXRpb25DbGFzcyhlbCwgbGVhdmVDbGFzcyk7XG4gICAgICAgIGlmICghY2IuY2FuY2VsbGVkICYm
ICF1c2VyV2FudHNDb250cm9sKSB7XG4gICAgICAgICAgaWYgKGlzVmFsaWREdXJhdGlvbihleHBs
aWNpdExlYXZlRHVyYXRpb24pKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGNiLCBleHBsaWNp
dExlYXZlRHVyYXRpb24pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB3aGVuVHJh
bnNpdGlvbkVuZHMoZWwsIHR5cGUsIGNiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAg
IH0pO1xuICAgIH1cbiAgICBsZWF2ZSAmJiBsZWF2ZShlbCwgY2IpO1xuICAgIGlmICghZXhwZWN0
c0NTUyAmJiAhdXNlcldhbnRzQ29udHJvbCkge1xuICAgICAgY2IoKTtcbiAgICB9XG4gIH1cbn1c
blxuLy8gb25seSB1c2VkIGluIGRldiBtb2RlXG5mdW5jdGlvbiBjaGVja0R1cmF0aW9uICh2YWws
IG5hbWUsIHZub2RlKSB7XG4gIGlmICh0eXBlb2YgdmFsICE9PSAnbnVtYmVyJykge1xuICAgIHdh
cm4oXG4gICAgICBcIjx0cmFuc2l0aW9uPiBleHBsaWNpdCBcIiArIG5hbWUgKyBcIiBkdXJhdGlv
biBpcyBub3QgYSB2YWxpZCBudW1iZXIgLSBcIiArXG4gICAgICBcImdvdCBcIiArIChKU09OLnN0
cmluZ2lmeSh2YWwpKSArIFwiLlwiLFxuICAgICAgdm5vZGUuY29udGV4dFxuICAgICk7XG4gIH0g
ZWxzZSBpZiAoaXNOYU4odmFsKSkge1xuICAgIHdhcm4oXG4gICAgICBcIjx0cmFuc2l0aW9uPiBl
eHBsaWNpdCBcIiArIG5hbWUgKyBcIiBkdXJhdGlvbiBpcyBOYU4gLSBcIiArXG4gICAgICAndGhl
IGR1cmF0aW9uIGV4cHJlc3Npb24gbWlnaHQgYmUgaW5jb3JyZWN0LicsXG4gICAgICB2bm9kZS5j
b250ZXh0XG4gICAgKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc1ZhbGlkRHVyYXRpb24gKHZhbCkg
e1xuICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ251bWJlcicgJiYgIWlzTmFOKHZhbClcbn1cblxu
LyoqXG4gKiBOb3JtYWxpemUgYSB0cmFuc2l0aW9uIGhvb2sncyBhcmd1bWVudCBsZW5ndGguIFRo
ZSBob29rIG1heSBiZTpcbiAqIC0gYSBtZXJnZWQgaG9vayAoaW52b2tlcikgd2l0aCB0aGUgb3Jp
Z2luYWwgaW4gLmZuc1xuICogLSBhIHdyYXBwZWQgY29tcG9uZW50IG1ldGhvZCAoY2hlY2sgLl9s
ZW5ndGgpXG4gKiAtIGEgcGxhaW4gZnVuY3Rpb24gKC5sZW5ndGgpXG4gKi9cbmZ1bmN0aW9uIGdl
dEhvb2tBcmd1bWVudHNMZW5ndGggKGZuKSB7XG4gIGlmIChpc1VuZGVmKGZuKSkge1xuICAgIHJl
dHVybiBmYWxzZVxuICB9XG4gIHZhciBpbnZva2VyRm5zID0gZm4uZm5zO1xuICBpZiAoaXNEZWYo
aW52b2tlckZucykpIHtcbiAgICAvLyBpbnZva2VyXG4gICAgcmV0dXJuIGdldEhvb2tBcmd1bWVu
dHNMZW5ndGgoXG4gICAgICBBcnJheS5pc0FycmF5KGludm9rZXJGbnMpXG4gICAgICAgID8gaW52
b2tlckZuc1swXVxuICAgICAgICA6IGludm9rZXJGbnNcbiAgICApXG4gIH0gZWxzZSB7XG4gICAg
cmV0dXJuIChmbi5fbGVuZ3RoIHx8IGZuLmxlbmd0aCkgPiAxXG4gIH1cbn1cblxuZnVuY3Rpb24g
X2VudGVyIChfLCB2bm9kZSkge1xuICBpZiAodm5vZGUuZGF0YS5zaG93ICE9PSB0cnVlKSB7XG4g
ICAgZW50ZXIodm5vZGUpO1xuICB9XG59XG5cbnZhciB0cmFuc2l0aW9uID0gaW5Ccm93c2VyID8g
e1xuICBjcmVhdGU6IF9lbnRlcixcbiAgYWN0aXZhdGU6IF9lbnRlcixcbiAgcmVtb3ZlOiBmdW5j
dGlvbiByZW1vdmUkJDEgKHZub2RlLCBybSkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNl
ICovXG4gICAgaWYgKHZub2RlLmRhdGEuc2hvdyAhPT0gdHJ1ZSkge1xuICAgICAgbGVhdmUodm5v
ZGUsIHJtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcm0oKTtcbiAgICB9XG4gIH1cbn0gOiB7fTtc
blxudmFyIHBsYXRmb3JtTW9kdWxlcyA9IFtcbiAgYXR0cnMsXG4gIGtsYXNzLFxuICBldmVudHMs
XG4gIGRvbVByb3BzLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvblxuXTtcblxuLyogICovXG5cbi8v
IHRoZSBkaXJlY3RpdmUgbW9kdWxlIHNob3VsZCBiZSBhcHBsaWVkIGxhc3QsIGFmdGVyIGFsbFxu
Ly8gYnVpbHQtaW4gbW9kdWxlcyBoYXZlIGJlZW4gYXBwbGllZC5cbnZhciBtb2R1bGVzID0gcGxh
dGZvcm1Nb2R1bGVzLmNvbmNhdChiYXNlTW9kdWxlcyk7XG5cbnZhciBwYXRjaCA9IGNyZWF0ZVBh
dGNoRnVuY3Rpb24oeyBub2RlT3BzOiBub2RlT3BzLCBtb2R1bGVzOiBtb2R1bGVzIH0pO1xuXG4v
KipcbiAqIE5vdCB0eXBlIGNoZWNraW5nIHRoaXMgZmlsZSBiZWNhdXNlIGZsb3cgZG9lc24ndCBs
aWtlIGF0dGFjaGluZ1xuICogcHJvcGVydGllcyB0byBFbGVtZW50cy5cbiAqL1xuXG52YXIgaXNU
ZXh0SW5wdXRUeXBlID0gbWFrZU1hcCgndGV4dCxudW1iZXIscGFzc3dvcmQsc2VhcmNoLGVtYWls
LHRlbCx1cmwnKTtcblxuLyogaXN0YW5idWwgaWdub3JlIGlmICovXG5pZiAoaXNJRTkpIHtcbiAg
Ly8gaHR0cDovL3d3dy5tYXR0czQxMS5jb20vcG9zdC9pbnRlcm5ldC1leHBsb3Jlci05LW9uaW5w
dXQvXG4gIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3NlbGVjdGlvbmNoYW5nZScsIGZ1bmN0
aW9uICgpIHtcbiAgICB2YXIgZWwgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgIGlmIChl
bCAmJiBlbC52bW9kZWwpIHtcbiAgICAgIHRyaWdnZXIoZWwsICdpbnB1dCcpO1xuICAgIH1cbiAg
fSk7XG59XG5cbnZhciBtb2RlbCQxID0ge1xuICBpbnNlcnRlZDogZnVuY3Rpb24gaW5zZXJ0ZWQg
KGVsLCBiaW5kaW5nLCB2bm9kZSkge1xuICAgIGlmICh2bm9kZS50YWcgPT09ICdzZWxlY3QnKSB7
XG4gICAgICB2YXIgY2IgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHNldFNlbGVjdGVkKGVsLCBi
aW5kaW5nLCB2bm9kZS5jb250ZXh0KTtcbiAgICAgIH07XG4gICAgICBjYigpO1xuICAgICAgLyog
aXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAoaXNJRSB8fCBpc0VkZ2UpIHtcbiAgICAg
ICAgc2V0VGltZW91dChjYiwgMCk7XG4gICAgICB9XG4gICAgICBlbC5fdk9wdGlvbnMgPSBbXS5t
YXAuY2FsbChlbC5vcHRpb25zLCBnZXRWYWx1ZSk7XG4gICAgfSBlbHNlIGlmICh2bm9kZS50YWcg
PT09ICd0ZXh0YXJlYScgfHwgaXNUZXh0SW5wdXRUeXBlKGVsLnR5cGUpKSB7XG4gICAgICBlbC5f
dk1vZGlmaWVycyA9IGJpbmRpbmcubW9kaWZpZXJzO1xuICAgICAgaWYgKCFiaW5kaW5nLm1vZGlm
aWVycy5sYXp5KSB7XG4gICAgICAgIC8vIFNhZmFyaSA8IDEwLjIgJiBVSVdlYlZpZXcgZG9lc24n
dCBmaXJlIGNvbXBvc2l0aW9uZW5kIHdoZW5cbiAgICAgICAgLy8gc3dpdGNoaW5nIGZvY3VzIGJl
Zm9yZSBjb25maXJtaW5nIGNvbXBvc2l0aW9uIGNob2ljZVxuICAgICAgICAvLyB0aGlzIGFsc28g
Zml4ZXMgdGhlIGlzc3VlIHdoZXJlIHNvbWUgYnJvd3NlcnMgZS5nLiBpT1MgQ2hyb21lXG4gICAg
ICAgIC8vIGZpcmVzIFwiY2hhbmdlXCIgaW5zdGVhZCBvZiBcImlucHV0XCIgb24gYXV0b2NvbXBs
ZXRlLlxuICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBvbkNvbXBvc2l0aW9u
RW5kKTtcbiAgICAgICAgaWYgKCFpc0FuZHJvaWQpIHtcbiAgICAgICAgICBlbC5hZGRFdmVudExp
c3RlbmVyKCdjb21wb3NpdGlvbnN0YXJ0Jywgb25Db21wb3NpdGlvblN0YXJ0KTtcbiAgICAgICAg
ICBlbC5hZGRFdmVudExpc3RlbmVyKCdjb21wb3NpdGlvbmVuZCcsIG9uQ29tcG9zaXRpb25FbmQp
O1xuICAgICAgICB9XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICBp
ZiAoaXNJRTkpIHtcbiAgICAgICAgICBlbC52bW9kZWwgPSB0cnVlO1xuICAgICAgICB9XG4gICAg
ICB9XG4gICAgfVxuICB9LFxuICBjb21wb25lbnRVcGRhdGVkOiBmdW5jdGlvbiBjb21wb25lbnRV
cGRhdGVkIChlbCwgYmluZGluZywgdm5vZGUpIHtcbiAgICBpZiAodm5vZGUudGFnID09PSAnc2Vs
ZWN0Jykge1xuICAgICAgc2V0U2VsZWN0ZWQoZWwsIGJpbmRpbmcsIHZub2RlLmNvbnRleHQpO1xu
ICAgICAgLy8gaW4gY2FzZSB0aGUgb3B0aW9ucyByZW5kZXJlZCBieSB2LWZvciBoYXZlIGNoYW5n
ZWQsXG4gICAgICAvLyBpdCdzIHBvc3NpYmxlIHRoYXQgdGhlIHZhbHVlIGlzIG91dC1vZi1zeW5j
IHdpdGggdGhlIHJlbmRlcmVkIG9wdGlvbnMuXG4gICAgICAvLyBkZXRlY3Qgc3VjaCBjYXNlcyBh
bmQgZmlsdGVyIG91dCB2YWx1ZXMgdGhhdCBubyBsb25nZXIgaGFzIGEgbWF0Y2hpbmdcbiAgICAg
IC8vIG9wdGlvbiBpbiB0aGUgRE9NLlxuICAgICAgdmFyIHByZXZPcHRpb25zID0gZWwuX3ZPcHRp
b25zO1xuICAgICAgdmFyIGN1ck9wdGlvbnMgPSBlbC5fdk9wdGlvbnMgPSBbXS5tYXAuY2FsbChl
bC5vcHRpb25zLCBnZXRWYWx1ZSk7XG4gICAgICBpZiAoY3VyT3B0aW9ucy5zb21lKGZ1bmN0aW9u
IChvLCBpKSB7IHJldHVybiAhbG9vc2VFcXVhbChvLCBwcmV2T3B0aW9uc1tpXSk7IH0pKSB7XG4g
ICAgICAgIHRyaWdnZXIoZWwsICdjaGFuZ2UnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5c
bmZ1bmN0aW9uIHNldFNlbGVjdGVkIChlbCwgYmluZGluZywgdm0pIHtcbiAgdmFyIHZhbHVlID0g
YmluZGluZy52YWx1ZTtcbiAgdmFyIGlzTXVsdGlwbGUgPSBlbC5tdWx0aXBsZTtcbiAgaWYgKGlz
TXVsdGlwbGUgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcHJvY2Vzcy5lbnYuTk9E
RV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgXCI8c2VsZWN0IG11bHRpcGxl
IHYtbW9kZWw9XFxcIlwiICsgKGJpbmRpbmcuZXhwcmVzc2lvbikgKyBcIlxcXCI+IFwiICtcbiAg
ICAgIFwiZXhwZWN0cyBhbiBBcnJheSB2YWx1ZSBmb3IgaXRzIGJpbmRpbmcsIGJ1dCBnb3QgXCIg
KyAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKS5zbGljZSg4LCAtMSkpLFxu
ICAgICAgdm1cbiAgICApO1xuICAgIHJldHVyblxuICB9XG4gIHZhciBzZWxlY3RlZCwgb3B0aW9u
O1xuICBmb3IgKHZhciBpID0gMCwgbCA9IGVsLm9wdGlvbnMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7
XG4gICAgb3B0aW9uID0gZWwub3B0aW9uc1tpXTtcbiAgICBpZiAoaXNNdWx0aXBsZSkge1xuICAg
ICAgc2VsZWN0ZWQgPSBsb29zZUluZGV4T2YodmFsdWUsIGdldFZhbHVlKG9wdGlvbikpID4gLTE7
XG4gICAgICBpZiAob3B0aW9uLnNlbGVjdGVkICE9PSBzZWxlY3RlZCkge1xuICAgICAgICBvcHRp
b24uc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYg
KGxvb3NlRXF1YWwoZ2V0VmFsdWUob3B0aW9uKSwgdmFsdWUpKSB7XG4gICAgICAgIGlmIChlbC5z
ZWxlY3RlZEluZGV4ICE9PSBpKSB7XG4gICAgICAgICAgZWwuc2VsZWN0ZWRJbmRleCA9IGk7XG4g
ICAgICAgIH1cbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgfVxuICB9XG4gIGlmICghaXNN
dWx0aXBsZSkge1xuICAgIGVsLnNlbGVjdGVkSW5kZXggPSAtMTtcbiAgfVxufVxuXG5mdW5jdGlv
biBnZXRWYWx1ZSAob3B0aW9uKSB7XG4gIHJldHVybiAnX3ZhbHVlJyBpbiBvcHRpb25cbiAgICA/
IG9wdGlvbi5fdmFsdWVcbiAgICA6IG9wdGlvbi52YWx1ZVxufVxuXG5mdW5jdGlvbiBvbkNvbXBv
c2l0aW9uU3RhcnQgKGUpIHtcbiAgZS50YXJnZXQuY29tcG9zaW5nID0gdHJ1ZTtcbn1cblxuZnVu
Y3Rpb24gb25Db21wb3NpdGlvbkVuZCAoZSkge1xuICAvLyBwcmV2ZW50IHRyaWdnZXJpbmcgYW4g
aW5wdXQgZXZlbnQgZm9yIG5vIHJlYXNvblxuICBpZiAoIWUudGFyZ2V0LmNvbXBvc2luZykgeyBy
ZXR1cm4gfVxuICBlLnRhcmdldC5jb21wb3NpbmcgPSBmYWxzZTtcbiAgdHJpZ2dlcihlLnRhcmdl
dCwgJ2lucHV0Jyk7XG59XG5cbmZ1bmN0aW9uIHRyaWdnZXIgKGVsLCB0eXBlKSB7XG4gIHZhciBl
ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hUTUxFdmVudHMnKTtcbiAgZS5pbml0RXZlbnQodHlw
ZSwgdHJ1ZSwgdHJ1ZSk7XG4gIGVsLmRpc3BhdGNoRXZlbnQoZSk7XG59XG5cbi8qICAqL1xuXG4v
LyByZWN1cnNpdmVseSBzZWFyY2ggZm9yIHBvc3NpYmxlIHRyYW5zaXRpb24gZGVmaW5lZCBpbnNp
ZGUgdGhlIGNvbXBvbmVudCByb290XG5mdW5jdGlvbiBsb2NhdGVOb2RlICh2bm9kZSkge1xuICBy
ZXR1cm4gdm5vZGUuY29tcG9uZW50SW5zdGFuY2UgJiYgKCF2bm9kZS5kYXRhIHx8ICF2bm9kZS5k
YXRhLnRyYW5zaXRpb24pXG4gICAgPyBsb2NhdGVOb2RlKHZub2RlLmNvbXBvbmVudEluc3RhbmNl
Ll92bm9kZSlcbiAgICA6IHZub2RlXG59XG5cbnZhciBzaG93ID0ge1xuICBiaW5kOiBmdW5jdGlv
biBiaW5kIChlbCwgcmVmLCB2bm9kZSkge1xuICAgIHZhciB2YWx1ZSA9IHJlZi52YWx1ZTtcblxu
ICAgIHZub2RlID0gbG9jYXRlTm9kZSh2bm9kZSk7XG4gICAgdmFyIHRyYW5zaXRpb24kJDEgPSB2
bm9kZS5kYXRhICYmIHZub2RlLmRhdGEudHJhbnNpdGlvbjtcbiAgICB2YXIgb3JpZ2luYWxEaXNw
bGF5ID0gZWwuX192T3JpZ2luYWxEaXNwbGF5ID1cbiAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPT09
ICdub25lJyA/ICcnIDogZWwuc3R5bGUuZGlzcGxheTtcbiAgICBpZiAodmFsdWUgJiYgdHJhbnNp
dGlvbiQkMSkge1xuICAgICAgdm5vZGUuZGF0YS5zaG93ID0gdHJ1ZTtcbiAgICAgIGVudGVyKHZu
b2RlLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSBvcmlnaW5hbERp
c3BsYXk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZWwuc3R5bGUuZGlzcGxheSA9
IHZhbHVlID8gb3JpZ2luYWxEaXNwbGF5IDogJ25vbmUnO1xuICAgIH1cbiAgfSxcblxuICB1cGRh
dGU6IGZ1bmN0aW9uIHVwZGF0ZSAoZWwsIHJlZiwgdm5vZGUpIHtcbiAgICB2YXIgdmFsdWUgPSBy
ZWYudmFsdWU7XG4gICAgdmFyIG9sZFZhbHVlID0gcmVmLm9sZFZhbHVlO1xuXG4gICAgLyogaXN0
YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKHZhbHVlID09PSBvbGRWYWx1ZSkgeyByZXR1cm4g
fVxuICAgIHZub2RlID0gbG9jYXRlTm9kZSh2bm9kZSk7XG4gICAgdmFyIHRyYW5zaXRpb24kJDEg
PSB2bm9kZS5kYXRhICYmIHZub2RlLmRhdGEudHJhbnNpdGlvbjtcbiAgICBpZiAodHJhbnNpdGlv
biQkMSkge1xuICAgICAgdm5vZGUuZGF0YS5zaG93ID0gdHJ1ZTtcbiAgICAgIGlmICh2YWx1ZSkg
e1xuICAgICAgICBlbnRlcih2bm9kZSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGVsLnN0eWxl
LmRpc3BsYXkgPSBlbC5fX3ZPcmlnaW5hbERpc3BsYXk7XG4gICAgICAgIH0pO1xuICAgICAgfSBl
bHNlIHtcbiAgICAgICAgbGVhdmUodm5vZGUsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBlbC5z
dHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Ug
e1xuICAgICAgZWwuc3R5bGUuZGlzcGxheSA9IHZhbHVlID8gZWwuX192T3JpZ2luYWxEaXNwbGF5
IDogJ25vbmUnO1xuICAgIH1cbiAgfSxcblxuICB1bmJpbmQ6IGZ1bmN0aW9uIHVuYmluZCAoXG4g
ICAgZWwsXG4gICAgYmluZGluZyxcbiAgICB2bm9kZSxcbiAgICBvbGRWbm9kZSxcbiAgICBpc0Rl
c3Ryb3lcbiAgKSB7XG4gICAgaWYgKCFpc0Rlc3Ryb3kpIHtcbiAgICAgIGVsLnN0eWxlLmRpc3Bs
YXkgPSBlbC5fX3ZPcmlnaW5hbERpc3BsYXk7XG4gICAgfVxuICB9XG59O1xuXG52YXIgcGxhdGZv
cm1EaXJlY3RpdmVzID0ge1xuICBtb2RlbDogbW9kZWwkMSxcbiAgc2hvdzogc2hvd1xufTtcblxu
LyogICovXG5cbi8vIFByb3ZpZGVzIHRyYW5zaXRpb24gc3VwcG9ydCBmb3IgYSBzaW5nbGUgZWxl
bWVudC9jb21wb25lbnQuXG4vLyBzdXBwb3J0cyB0cmFuc2l0aW9uIG1vZGUgKG91dC1pbiAvIGlu
LW91dClcblxudmFyIHRyYW5zaXRpb25Qcm9wcyA9IHtcbiAgbmFtZTogU3RyaW5nLFxuICBhcHBl
YXI6IEJvb2xlYW4sXG4gIGNzczogQm9vbGVhbixcbiAgbW9kZTogU3RyaW5nLFxuICB0eXBlOiBT
dHJpbmcsXG4gIGVudGVyQ2xhc3M6IFN0cmluZyxcbiAgbGVhdmVDbGFzczogU3RyaW5nLFxuICBl
bnRlclRvQ2xhc3M6IFN0cmluZyxcbiAgbGVhdmVUb0NsYXNzOiBTdHJpbmcsXG4gIGVudGVyQWN0
aXZlQ2xhc3M6IFN0cmluZyxcbiAgbGVhdmVBY3RpdmVDbGFzczogU3RyaW5nLFxuICBhcHBlYXJD
bGFzczogU3RyaW5nLFxuICBhcHBlYXJBY3RpdmVDbGFzczogU3RyaW5nLFxuICBhcHBlYXJUb0Ns
YXNzOiBTdHJpbmcsXG4gIGR1cmF0aW9uOiBbTnVtYmVyLCBTdHJpbmcsIE9iamVjdF1cbn07XG5c
bi8vIGluIGNhc2UgdGhlIGNoaWxkIGlzIGFsc28gYW4gYWJzdHJhY3QgY29tcG9uZW50LCBlLmcu
IDxrZWVwLWFsaXZlPlxuLy8gd2Ugd2FudCB0byByZWN1cnNpdmVseSByZXRyaWV2ZSB0aGUgcmVh
bCBjb21wb25lbnQgdG8gYmUgcmVuZGVyZWRcbmZ1bmN0aW9uIGdldFJlYWxDaGlsZCAodm5vZGUp
IHtcbiAgdmFyIGNvbXBPcHRpb25zID0gdm5vZGUgJiYgdm5vZGUuY29tcG9uZW50T3B0aW9ucztc
biAgaWYgKGNvbXBPcHRpb25zICYmIGNvbXBPcHRpb25zLkN0b3Iub3B0aW9ucy5hYnN0cmFjdCkg
e1xuICAgIHJldHVybiBnZXRSZWFsQ2hpbGQoZ2V0Rmlyc3RDb21wb25lbnRDaGlsZChjb21wT3B0
aW9ucy5jaGlsZHJlbikpXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHZub2RlXG4gIH1cbn1cblxu
ZnVuY3Rpb24gZXh0cmFjdFRyYW5zaXRpb25EYXRhIChjb21wKSB7XG4gIHZhciBkYXRhID0ge307
XG4gIHZhciBvcHRpb25zID0gY29tcC4kb3B0aW9ucztcbiAgLy8gcHJvcHNcbiAgZm9yICh2YXIg
a2V5IGluIG9wdGlvbnMucHJvcHNEYXRhKSB7XG4gICAgZGF0YVtrZXldID0gY29tcFtrZXldO1xu
ICB9XG4gIC8vIGV2ZW50cy5cbiAgLy8gZXh0cmFjdCBsaXN0ZW5lcnMgYW5kIHBhc3MgdGhlbSBk
aXJlY3RseSB0byB0aGUgdHJhbnNpdGlvbiBtZXRob2RzXG4gIHZhciBsaXN0ZW5lcnMgPSBvcHRp
b25zLl9wYXJlbnRMaXN0ZW5lcnM7XG4gIGZvciAodmFyIGtleSQxIGluIGxpc3RlbmVycykge1xu
ICAgIGRhdGFbY2FtZWxpemUoa2V5JDEpXSA9IGxpc3RlbmVyc1trZXkkMV07XG4gIH1cbiAgcmV0
dXJuIGRhdGFcbn1cblxuZnVuY3Rpb24gcGxhY2Vob2xkZXIgKGgsIHJhd0NoaWxkKSB7XG4gIGlm
ICgvXFxkLWtlZXAtYWxpdmUkLy50ZXN0KHJhd0NoaWxkLnRhZykpIHtcbiAgICByZXR1cm4gaCgn
a2VlcC1hbGl2ZScsIHtcbiAgICAgIHByb3BzOiByYXdDaGlsZC5jb21wb25lbnRPcHRpb25zLnBy
b3BzRGF0YVxuICAgIH0pXG4gIH1cbn1cblxuZnVuY3Rpb24gaGFzUGFyZW50VHJhbnNpdGlvbiAo
dm5vZGUpIHtcbiAgd2hpbGUgKCh2bm9kZSA9IHZub2RlLnBhcmVudCkpIHtcbiAgICBpZiAodm5v
ZGUuZGF0YS50cmFuc2l0aW9uKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgfVxufVxu
XG5mdW5jdGlvbiBpc1NhbWVDaGlsZCAoY2hpbGQsIG9sZENoaWxkKSB7XG4gIHJldHVybiBvbGRD
aGlsZC5rZXkgPT09IGNoaWxkLmtleSAmJiBvbGRDaGlsZC50YWcgPT09IGNoaWxkLnRhZ1xufVxu
XG5mdW5jdGlvbiBpc0FzeW5jUGxhY2Vob2xkZXIgKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUuaXND
b21tZW50ICYmIG5vZGUuYXN5bmNGYWN0b3J5XG59XG5cbnZhciBUcmFuc2l0aW9uID0ge1xuICBu
YW1lOiAndHJhbnNpdGlvbicsXG4gIHByb3BzOiB0cmFuc2l0aW9uUHJvcHMsXG4gIGFic3RyYWN0
OiB0cnVlLFxuXG4gIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyIChoKSB7XG4gICAgdmFyIHRoaXMk
MSA9IHRoaXM7XG5cbiAgICB2YXIgY2hpbGRyZW4gPSB0aGlzLiRvcHRpb25zLl9yZW5kZXJDaGls
ZHJlbjtcbiAgICBpZiAoIWNoaWxkcmVuKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAv
LyBmaWx0ZXIgb3V0IHRleHQgbm9kZXMgKHBvc3NpYmxlIHdoaXRlc3BhY2VzKVxuICAgIGNoaWxk
cmVuID0gY2hpbGRyZW4uZmlsdGVyKGZ1bmN0aW9uIChjKSB7IHJldHVybiBjLnRhZyB8fCBpc0Fz
eW5jUGxhY2Vob2xkZXIoYyk7IH0pO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAg
IGlmICghY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyB3
YXJuIG11bHRpcGxlIGVsZW1lbnRzXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAn
cHJvZHVjdGlvbicgJiYgY2hpbGRyZW4ubGVuZ3RoID4gMSkge1xuICAgICAgd2FybihcbiAgICAg
ICAgJzx0cmFuc2l0aW9uPiBjYW4gb25seSBiZSB1c2VkIG9uIGEgc2luZ2xlIGVsZW1lbnQuIFVz
ZSAnICtcbiAgICAgICAgJzx0cmFuc2l0aW9uLWdyb3VwPiBmb3IgbGlzdHMuJyxcbiAgICAgICAg
dGhpcy4kcGFyZW50XG4gICAgICApO1xuICAgIH1cblxuICAgIHZhciBtb2RlID0gdGhpcy5tb2Rl
O1xuXG4gICAgLy8gd2FybiBpbnZhbGlkIG1vZGVcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9F
TlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgICAgbW9kZSAmJiBtb2RlICE9PSAnaW4tb3V0JyAm
JiBtb2RlICE9PSAnb3V0LWluJ1xuICAgICkge1xuICAgICAgd2FybihcbiAgICAgICAgJ2ludmFs
aWQgPHRyYW5zaXRpb24+IG1vZGU6ICcgKyBtb2RlLFxuICAgICAgICB0aGlzLiRwYXJlbnRcbiAg
ICAgICk7XG4gICAgfVxuXG4gICAgdmFyIHJhd0NoaWxkID0gY2hpbGRyZW5bMF07XG5cbiAgICAv
LyBpZiB0aGlzIGlzIGEgY29tcG9uZW50IHJvb3Qgbm9kZSBhbmQgdGhlIGNvbXBvbmVudCdzXG4g
ICAgLy8gcGFyZW50IGNvbnRhaW5lciBub2RlIGFsc28gaGFzIHRyYW5zaXRpb24sIHNraXAuXG4g
ICAgaWYgKGhhc1BhcmVudFRyYW5zaXRpb24odGhpcy4kdm5vZGUpKSB7XG4gICAgICByZXR1cm4g
cmF3Q2hpbGRcbiAgICB9XG5cbiAgICAvLyBhcHBseSB0cmFuc2l0aW9uIGRhdGEgdG8gY2hpbGRc
biAgICAvLyB1c2UgZ2V0UmVhbENoaWxkKCkgdG8gaWdub3JlIGFic3RyYWN0IGNvbXBvbmVudHMg
ZS5nLiBrZWVwLWFsaXZlXG4gICAgdmFyIGNoaWxkID0gZ2V0UmVhbENoaWxkKHJhd0NoaWxkKTtc
biAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIWNoaWxkKSB7XG4gICAgICBy
ZXR1cm4gcmF3Q2hpbGRcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fbGVhdmluZykge1xuICAgICAg
cmV0dXJuIHBsYWNlaG9sZGVyKGgsIHJhd0NoaWxkKVxuICAgIH1cblxuICAgIC8vIGVuc3VyZSBh
IGtleSB0aGF0IGlzIHVuaXF1ZSB0byB0aGUgdm5vZGUgdHlwZSBhbmQgdG8gdGhpcyB0cmFuc2l0
aW9uXG4gICAgLy8gY29tcG9uZW50IGluc3RhbmNlLiBUaGlzIGtleSB3aWxsIGJlIHVzZWQgdG8g
cmVtb3ZlIHBlbmRpbmcgbGVhdmluZyBub2Rlc1xuICAgIC8vIGR1cmluZyBlbnRlcmluZy5cbiAg
ICB2YXIgaWQgPSBcIl9fdHJhbnNpdGlvbi1cIiArICh0aGlzLl91aWQpICsgXCItXCI7XG4gICAg
Y2hpbGQua2V5ID0gY2hpbGQua2V5ID09IG51bGxcbiAgICAgID8gY2hpbGQuaXNDb21tZW50XG4g
ICAgICAgID8gaWQgKyAnY29tbWVudCdcbiAgICAgICAgOiBpZCArIGNoaWxkLnRhZ1xuICAgICAg
OiBpc1ByaW1pdGl2ZShjaGlsZC5rZXkpXG4gICAgICAgID8gKFN0cmluZyhjaGlsZC5rZXkpLmlu
ZGV4T2YoaWQpID09PSAwID8gY2hpbGQua2V5IDogaWQgKyBjaGlsZC5rZXkpXG4gICAgICAgIDog
Y2hpbGQua2V5O1xuXG4gICAgdmFyIGRhdGEgPSAoY2hpbGQuZGF0YSB8fCAoY2hpbGQuZGF0YSA9
IHt9KSkudHJhbnNpdGlvbiA9IGV4dHJhY3RUcmFuc2l0aW9uRGF0YSh0aGlzKTtcbiAgICB2YXIg
b2xkUmF3Q2hpbGQgPSB0aGlzLl92bm9kZTtcbiAgICB2YXIgb2xkQ2hpbGQgPSBnZXRSZWFsQ2hp
bGQob2xkUmF3Q2hpbGQpO1xuXG4gICAgLy8gbWFyayB2LXNob3dcbiAgICAvLyBzbyB0aGF0IHRo
ZSB0cmFuc2l0aW9uIG1vZHVsZSBjYW4gaGFuZCBvdmVyIHRoZSBjb250cm9sIHRvIHRoZSBkaXJl
Y3RpdmVcbiAgICBpZiAoY2hpbGQuZGF0YS5kaXJlY3RpdmVzICYmIGNoaWxkLmRhdGEuZGlyZWN0
aXZlcy5zb21lKGZ1bmN0aW9uIChkKSB7IHJldHVybiBkLm5hbWUgPT09ICdzaG93JzsgfSkpIHtc
biAgICAgIGNoaWxkLmRhdGEuc2hvdyA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAg
b2xkQ2hpbGQgJiZcbiAgICAgIG9sZENoaWxkLmRhdGEgJiZcbiAgICAgICFpc1NhbWVDaGlsZChj
aGlsZCwgb2xkQ2hpbGQpICYmXG4gICAgICAhaXNBc3luY1BsYWNlaG9sZGVyKG9sZENoaWxkKVxu
ICAgICkge1xuICAgICAgLy8gcmVwbGFjZSBvbGQgY2hpbGQgdHJhbnNpdGlvbiBkYXRhIHdpdGgg
ZnJlc2ggb25lXG4gICAgICAvLyBpbXBvcnRhbnQgZm9yIGR5bmFtaWMgdHJhbnNpdGlvbnMhXG4g
ICAgICB2YXIgb2xkRGF0YSA9IG9sZENoaWxkICYmIChvbGRDaGlsZC5kYXRhLnRyYW5zaXRpb24g
PSBleHRlbmQoe30sIGRhdGEpKTtcbiAgICAgIC8vIGhhbmRsZSB0cmFuc2l0aW9uIG1vZGVcbiAg
ICAgIGlmIChtb2RlID09PSAnb3V0LWluJykge1xuICAgICAgICAvLyByZXR1cm4gcGxhY2Vob2xk
ZXIgbm9kZSBhbmQgcXVldWUgdXBkYXRlIHdoZW4gbGVhdmUgZmluaXNoZXNcbiAgICAgICAgdGhp
cy5fbGVhdmluZyA9IHRydWU7XG4gICAgICAgIG1lcmdlVk5vZGVIb29rKG9sZERhdGEsICdhZnRl
ckxlYXZlJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHRoaXMkMS5fbGVhdmluZyA9IGZhbHNl
O1xuICAgICAgICAgIHRoaXMkMS4kZm9yY2VVcGRhdGUoKTtcbiAgICAgICAgfSk7XG4gICAgICAg
IHJldHVybiBwbGFjZWhvbGRlcihoLCByYXdDaGlsZClcbiAgICAgIH0gZWxzZSBpZiAobW9kZSA9
PT0gJ2luLW91dCcpIHtcbiAgICAgICAgaWYgKGlzQXN5bmNQbGFjZWhvbGRlcihjaGlsZCkpIHtc
biAgICAgICAgICByZXR1cm4gb2xkUmF3Q2hpbGRcbiAgICAgICAgfVxuICAgICAgICB2YXIgZGVs
YXllZExlYXZlO1xuICAgICAgICB2YXIgcGVyZm9ybUxlYXZlID0gZnVuY3Rpb24gKCkgeyBkZWxh
eWVkTGVhdmUoKTsgfTtcbiAgICAgICAgbWVyZ2VWTm9kZUhvb2soZGF0YSwgJ2FmdGVyRW50ZXIn
LCBwZXJmb3JtTGVhdmUpO1xuICAgICAgICBtZXJnZVZOb2RlSG9vayhkYXRhLCAnZW50ZXJDYW5j
ZWxsZWQnLCBwZXJmb3JtTGVhdmUpO1xuICAgICAgICBtZXJnZVZOb2RlSG9vayhvbGREYXRhLCAn
ZGVsYXlMZWF2ZScsIGZ1bmN0aW9uIChsZWF2ZSkgeyBkZWxheWVkTGVhdmUgPSBsZWF2ZTsgfSk7
XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJhd0NoaWxkXG4gIH1cbn07XG5cbi8qICAq
L1xuXG4vLyBQcm92aWRlcyB0cmFuc2l0aW9uIHN1cHBvcnQgZm9yIGxpc3QgaXRlbXMuXG4vLyBz
dXBwb3J0cyBtb3ZlIHRyYW5zaXRpb25zIHVzaW5nIHRoZSBGTElQIHRlY2huaXF1ZS5cblxuLy8g
QmVjYXVzZSB0aGUgdmRvbSdzIGNoaWxkcmVuIHVwZGF0ZSBhbGdvcml0aG0gaXMgXCJ1bnN0YWJs
ZVwiIC0gaS5lLlxuLy8gaXQgZG9lc24ndCBndWFyYW50ZWUgdGhlIHJlbGF0aXZlIHBvc2l0aW9u
aW5nIG9mIHJlbW92ZWQgZWxlbWVudHMsXG4vLyB3ZSBmb3JjZSB0cmFuc2l0aW9uLWdyb3VwIHRv
IHVwZGF0ZSBpdHMgY2hpbGRyZW4gaW50byB0d28gcGFzc2VzOlxuLy8gaW4gdGhlIGZpcnN0IHBh
c3MsIHdlIHJlbW92ZSBhbGwgbm9kZXMgdGhhdCBuZWVkIHRvIGJlIHJlbW92ZWQsXG4vLyB0cmln
Z2VyaW5nIHRoZWlyIGxlYXZpbmcgdHJhbnNpdGlvbjsgaW4gdGhlIHNlY29uZCBwYXNzLCB3ZSBp
bnNlcnQvbW92ZVxuLy8gaW50byB0aGUgZmluYWwgZGVzaXJlZCBzdGF0ZS4gVGhpcyB3YXkgaW4g
dGhlIHNlY29uZCBwYXNzIHJlbW92ZWRcbi8vIG5vZGVzIHdpbGwgcmVtYWluIHdoZXJlIHRoZXkg
c2hvdWxkIGJlLlxuXG52YXIgcHJvcHMgPSBleHRlbmQoe1xuICB0YWc6IFN0cmluZyxcbiAgbW92
ZUNsYXNzOiBTdHJpbmdcbn0sIHRyYW5zaXRpb25Qcm9wcyk7XG5cbmRlbGV0ZSBwcm9wcy5tb2Rl
O1xuXG52YXIgVHJhbnNpdGlvbkdyb3VwID0ge1xuICBwcm9wczogcHJvcHMsXG5cbiAgcmVuZGVy
OiBmdW5jdGlvbiByZW5kZXIgKGgpIHtcbiAgICB2YXIgdGFnID0gdGhpcy50YWcgfHwgdGhpcy4k
dm5vZGUuZGF0YS50YWcgfHwgJ3NwYW4nO1xuICAgIHZhciBtYXAgPSBPYmplY3QuY3JlYXRlKG51
bGwpO1xuICAgIHZhciBwcmV2Q2hpbGRyZW4gPSB0aGlzLnByZXZDaGlsZHJlbiA9IHRoaXMuY2hp
bGRyZW47XG4gICAgdmFyIHJhd0NoaWxkcmVuID0gdGhpcy4kc2xvdHMuZGVmYXVsdCB8fCBbXTtc
biAgICB2YXIgY2hpbGRyZW4gPSB0aGlzLmNoaWxkcmVuID0gW107XG4gICAgdmFyIHRyYW5zaXRp
b25EYXRhID0gZXh0cmFjdFRyYW5zaXRpb25EYXRhKHRoaXMpO1xuXG4gICAgZm9yICh2YXIgaSA9
IDA7IGkgPCByYXdDaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGMgPSByYXdDaGls
ZHJlbltpXTtcbiAgICAgIGlmIChjLnRhZykge1xuICAgICAgICBpZiAoYy5rZXkgIT0gbnVsbCAm
JiBTdHJpbmcoYy5rZXkpLmluZGV4T2YoJ19fdmxpc3QnKSAhPT0gMCkge1xuICAgICAgICAgIGNo
aWxkcmVuLnB1c2goYyk7XG4gICAgICAgICAgbWFwW2Mua2V5XSA9IGNcbiAgICAgICAgICA7KGMu
ZGF0YSB8fCAoYy5kYXRhID0ge30pKS50cmFuc2l0aW9uID0gdHJhbnNpdGlvbkRhdGE7XG4gICAg
ICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xu
ICAgICAgICAgIHZhciBvcHRzID0gYy5jb21wb25lbnRPcHRpb25zO1xuICAgICAgICAgIHZhciBu
YW1lID0gb3B0cyA/IChvcHRzLkN0b3Iub3B0aW9ucy5uYW1lIHx8IG9wdHMudGFnIHx8ICcnKSA6
IGMudGFnO1xuICAgICAgICAgIHdhcm4oKFwiPHRyYW5zaXRpb24tZ3JvdXA+IGNoaWxkcmVuIG11
c3QgYmUga2V5ZWQ6IDxcIiArIG5hbWUgKyBcIj5cIikpO1xuICAgICAgICB9XG4gICAgICB9XG4g
ICAgfVxuXG4gICAgaWYgKHByZXZDaGlsZHJlbikge1xuICAgICAgdmFyIGtlcHQgPSBbXTtcbiAg
ICAgIHZhciByZW1vdmVkID0gW107XG4gICAgICBmb3IgKHZhciBpJDEgPSAwOyBpJDEgPCBwcmV2
Q2hpbGRyZW4ubGVuZ3RoOyBpJDErKykge1xuICAgICAgICB2YXIgYyQxID0gcHJldkNoaWxkcmVu
W2kkMV07XG4gICAgICAgIGMkMS5kYXRhLnRyYW5zaXRpb24gPSB0cmFuc2l0aW9uRGF0YTtcbiAg
ICAgICAgYyQxLmRhdGEucG9zID0gYyQxLmVsbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAg
ICAgICAgaWYgKG1hcFtjJDEua2V5XSkge1xuICAgICAgICAgIGtlcHQucHVzaChjJDEpO1xuICAg
ICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlbW92ZWQucHVzaChjJDEpO1xuICAgICAgICB9XG4g
ICAgICB9XG4gICAgICB0aGlzLmtlcHQgPSBoKHRhZywgbnVsbCwga2VwdCk7XG4gICAgICB0aGlz
LnJlbW92ZWQgPSByZW1vdmVkO1xuICAgIH1cblxuICAgIHJldHVybiBoKHRhZywgbnVsbCwgY2hp
bGRyZW4pXG4gIH0sXG5cbiAgYmVmb3JlVXBkYXRlOiBmdW5jdGlvbiBiZWZvcmVVcGRhdGUgKCkg
e1xuICAgIC8vIGZvcmNlIHJlbW92aW5nIHBhc3NcbiAgICB0aGlzLl9fcGF0Y2hfXyhcbiAgICAg
IHRoaXMuX3Zub2RlLFxuICAgICAgdGhpcy5rZXB0LFxuICAgICAgZmFsc2UsIC8vIGh5ZHJhdGlu
Z1xuICAgICAgdHJ1ZSAvLyByZW1vdmVPbmx5ICghaW1wb3J0YW50LCBhdm9pZHMgdW5uZWNlc3Nh
cnkgbW92ZXMpXG4gICAgKTtcbiAgICB0aGlzLl92bm9kZSA9IHRoaXMua2VwdDtcbiAgfSxcblxu
ICB1cGRhdGVkOiBmdW5jdGlvbiB1cGRhdGVkICgpIHtcbiAgICB2YXIgY2hpbGRyZW4gPSB0aGlz
LnByZXZDaGlsZHJlbjtcbiAgICB2YXIgbW92ZUNsYXNzID0gdGhpcy5tb3ZlQ2xhc3MgfHwgKCh0
aGlzLm5hbWUgfHwgJ3YnKSArICctbW92ZScpO1xuICAgIGlmICghY2hpbGRyZW4ubGVuZ3RoIHx8
ICF0aGlzLmhhc01vdmUoY2hpbGRyZW5bMF0uZWxtLCBtb3ZlQ2xhc3MpKSB7XG4gICAgICByZXR1
cm5cbiAgICB9XG5cbiAgICAvLyB3ZSBkaXZpZGUgdGhlIHdvcmsgaW50byB0aHJlZSBsb29wcyB0
byBhdm9pZCBtaXhpbmcgRE9NIHJlYWRzIGFuZCB3cml0ZXNcbiAgICAvLyBpbiBlYWNoIGl0ZXJh
dGlvbiAtIHdoaWNoIGhlbHBzIHByZXZlbnQgbGF5b3V0IHRocmFzaGluZy5cbiAgICBjaGlsZHJl
bi5mb3JFYWNoKGNhbGxQZW5kaW5nQ2JzKTtcbiAgICBjaGlsZHJlbi5mb3JFYWNoKHJlY29yZFBv
c2l0aW9uKTtcbiAgICBjaGlsZHJlbi5mb3JFYWNoKGFwcGx5VHJhbnNsYXRpb24pO1xuXG4gICAg
Ly8gZm9yY2UgcmVmbG93IHRvIHB1dCBldmVyeXRoaW5nIGluIHBvc2l0aW9uXG4gICAgdmFyIGJv
ZHkgPSBkb2N1bWVudC5ib2R5O1xuICAgIHZhciBmID0gYm9keS5vZmZzZXRIZWlnaHQ7IC8vIGVz
bGludC1kaXNhYmxlLWxpbmVcblxuICAgIGNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24gKGMpIHtc
biAgICAgIGlmIChjLmRhdGEubW92ZWQpIHtcbiAgICAgICAgdmFyIGVsID0gYy5lbG07XG4gICAg
ICAgIHZhciBzID0gZWwuc3R5bGU7XG4gICAgICAgIGFkZFRyYW5zaXRpb25DbGFzcyhlbCwgbW92
ZUNsYXNzKTtcbiAgICAgICAgcy50cmFuc2Zvcm0gPSBzLldlYmtpdFRyYW5zZm9ybSA9IHMudHJh
bnNpdGlvbkR1cmF0aW9uID0gJyc7XG4gICAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIodHJhbnNp
dGlvbkVuZEV2ZW50LCBlbC5fbW92ZUNiID0gZnVuY3Rpb24gY2IgKGUpIHtcbiAgICAgICAgICBp
ZiAoIWUgfHwgL3RyYW5zZm9ybSQvLnRlc3QoZS5wcm9wZXJ0eU5hbWUpKSB7XG4gICAgICAgICAg
ICBlbC5yZW1vdmVFdmVudExpc3RlbmVyKHRyYW5zaXRpb25FbmRFdmVudCwgY2IpO1xuICAgICAg
ICAgICAgZWwuX21vdmVDYiA9IG51bGw7XG4gICAgICAgICAgICByZW1vdmVUcmFuc2l0aW9uQ2xh
c3MoZWwsIG1vdmVDbGFzcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAg
ICB9KTtcbiAgfSxcblxuICBtZXRob2RzOiB7XG4gICAgaGFzTW92ZTogZnVuY3Rpb24gaGFzTW92
ZSAoZWwsIG1vdmVDbGFzcykge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAg
ICBpZiAoIWhhc1RyYW5zaXRpb24pIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4g
ICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlmICh0aGlzLl9oYXNNb3ZlKSB7
XG4gICAgICAgIHJldHVybiB0aGlzLl9oYXNNb3ZlXG4gICAgICB9XG4gICAgICAvLyBEZXRlY3Qg
d2hldGhlciBhbiBlbGVtZW50IHdpdGggdGhlIG1vdmUgY2xhc3MgYXBwbGllZCBoYXNcbiAgICAg
IC8vIENTUyB0cmFuc2l0aW9ucy4gU2luY2UgdGhlIGVsZW1lbnQgbWF5IGJlIGluc2lkZSBhbiBl
bnRlcmluZ1xuICAgICAgLy8gdHJhbnNpdGlvbiBhdCB0aGlzIHZlcnkgbW9tZW50LCB3ZSBtYWtl
IGEgY2xvbmUgb2YgaXQgYW5kIHJlbW92ZVxuICAgICAgLy8gYWxsIG90aGVyIHRyYW5zaXRpb24g
Y2xhc3NlcyBhcHBsaWVkIHRvIGVuc3VyZSBvbmx5IHRoZSBtb3ZlIGNsYXNzXG4gICAgICAvLyBp
cyBhcHBsaWVkLlxuICAgICAgdmFyIGNsb25lID0gZWwuY2xvbmVOb2RlKCk7XG4gICAgICBpZiAo
ZWwuX3RyYW5zaXRpb25DbGFzc2VzKSB7XG4gICAgICAgIGVsLl90cmFuc2l0aW9uQ2xhc3Nlcy5m
b3JFYWNoKGZ1bmN0aW9uIChjbHMpIHsgcmVtb3ZlQ2xhc3MoY2xvbmUsIGNscyk7IH0pO1xuICAg
ICAgfVxuICAgICAgYWRkQ2xhc3MoY2xvbmUsIG1vdmVDbGFzcyk7XG4gICAgICBjbG9uZS5zdHls
ZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgdGhpcy4kZWwuYXBwZW5kQ2hpbGQoY2xvbmUpO1xu
ICAgICAgdmFyIGluZm8gPSBnZXRUcmFuc2l0aW9uSW5mbyhjbG9uZSk7XG4gICAgICB0aGlzLiRl
bC5yZW1vdmVDaGlsZChjbG9uZSk7XG4gICAgICByZXR1cm4gKHRoaXMuX2hhc01vdmUgPSBpbmZv
Lmhhc1RyYW5zZm9ybSlcbiAgICB9XG4gIH1cbn07XG5cbmZ1bmN0aW9uIGNhbGxQZW5kaW5nQ2Jz
IChjKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoYy5lbG0uX21vdmVDYikg
e1xuICAgIGMuZWxtLl9tb3ZlQ2IoKTtcbiAgfVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9c
biAgaWYgKGMuZWxtLl9lbnRlckNiKSB7XG4gICAgYy5lbG0uX2VudGVyQ2IoKTtcbiAgfVxufVxu
XG5mdW5jdGlvbiByZWNvcmRQb3NpdGlvbiAoYykge1xuICBjLmRhdGEubmV3UG9zID0gYy5lbG0u
Z2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG59XG5cbmZ1bmN0aW9uIGFwcGx5VHJhbnNsYXRpb24g
KGMpIHtcbiAgdmFyIG9sZFBvcyA9IGMuZGF0YS5wb3M7XG4gIHZhciBuZXdQb3MgPSBjLmRhdGEu
bmV3UG9zO1xuICB2YXIgZHggPSBvbGRQb3MubGVmdCAtIG5ld1Bvcy5sZWZ0O1xuICB2YXIgZHkg
PSBvbGRQb3MudG9wIC0gbmV3UG9zLnRvcDtcbiAgaWYgKGR4IHx8IGR5KSB7XG4gICAgYy5kYXRh
Lm1vdmVkID0gdHJ1ZTtcbiAgICB2YXIgcyA9IGMuZWxtLnN0eWxlO1xuICAgIHMudHJhbnNmb3Jt
ID0gcy5XZWJraXRUcmFuc2Zvcm0gPSBcInRyYW5zbGF0ZShcIiArIGR4ICsgXCJweCxcIiArIGR5
ICsgXCJweClcIjtcbiAgICBzLnRyYW5zaXRpb25EdXJhdGlvbiA9ICcwcyc7XG4gIH1cbn1cblxu
dmFyIHBsYXRmb3JtQ29tcG9uZW50cyA9IHtcbiAgVHJhbnNpdGlvbjogVHJhbnNpdGlvbixcbiAg
VHJhbnNpdGlvbkdyb3VwOiBUcmFuc2l0aW9uR3JvdXBcbn07XG5cbi8qICAqL1xuXG4vLyBpbnN0
YWxsIHBsYXRmb3JtIHNwZWNpZmljIHV0aWxzXG5WdWUkMy5jb25maWcubXVzdFVzZVByb3AgPSBt
dXN0VXNlUHJvcDtcblZ1ZSQzLmNvbmZpZy5pc1Jlc2VydmVkVGFnID0gaXNSZXNlcnZlZFRhZztc
blZ1ZSQzLmNvbmZpZy5pc1Jlc2VydmVkQXR0ciA9IGlzUmVzZXJ2ZWRBdHRyO1xuVnVlJDMuY29u
ZmlnLmdldFRhZ05hbWVzcGFjZSA9IGdldFRhZ05hbWVzcGFjZTtcblZ1ZSQzLmNvbmZpZy5pc1Vu
a25vd25FbGVtZW50ID0gaXNVbmtub3duRWxlbWVudDtcblxuLy8gaW5zdGFsbCBwbGF0Zm9ybSBy
dW50aW1lIGRpcmVjdGl2ZXMgJiBjb21wb25lbnRzXG5leHRlbmQoVnVlJDMub3B0aW9ucy5kaXJl
Y3RpdmVzLCBwbGF0Zm9ybURpcmVjdGl2ZXMpO1xuZXh0ZW5kKFZ1ZSQzLm9wdGlvbnMuY29tcG9u
ZW50cywgcGxhdGZvcm1Db21wb25lbnRzKTtcblxuLy8gaW5zdGFsbCBwbGF0Zm9ybSBwYXRjaCBm
dW5jdGlvblxuVnVlJDMucHJvdG90eXBlLl9fcGF0Y2hfXyA9IGluQnJvd3NlciA/IHBhdGNoIDog
bm9vcDtcblxuLy8gcHVibGljIG1vdW50IG1ldGhvZFxuVnVlJDMucHJvdG90eXBlLiRtb3VudCA9
IGZ1bmN0aW9uIChcbiAgZWwsXG4gIGh5ZHJhdGluZ1xuKSB7XG4gIGVsID0gZWwgJiYgaW5Ccm93
c2VyID8gcXVlcnkoZWwpIDogdW5kZWZpbmVkO1xuICByZXR1cm4gbW91bnRDb21wb25lbnQodGhp
cywgZWwsIGh5ZHJhdGluZylcbn07XG5cbi8vIGRldnRvb2xzIGdsb2JhbCBob29rXG4vKiBpc3Rh
bmJ1bCBpZ25vcmUgbmV4dCAqL1xuc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gIGlmIChjb25m
aWcuZGV2dG9vbHMpIHtcbiAgICBpZiAoZGV2dG9vbHMpIHtcbiAgICAgIGRldnRvb2xzLmVtaXQo
J2luaXQnLCBWdWUkMyk7XG4gICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0g
J3Byb2R1Y3Rpb24nICYmIGlzQ2hyb21lKSB7XG4gICAgICBjb25zb2xlW2NvbnNvbGUuaW5mbyA/
ICdpbmZvJyA6ICdsb2cnXShcbiAgICAgICAgJ0Rvd25sb2FkIHRoZSBWdWUgRGV2dG9vbHMgZXh0
ZW5zaW9uIGZvciBhIGJldHRlciBkZXZlbG9wbWVudCBleHBlcmllbmNlOlxcbicgK1xuICAgICAg
ICAnaHR0cHM6Ly9naXRodWIuY29tL3Z1ZWpzL3Z1ZS1kZXZ0b29scydcbiAgICAgICk7XG4gICAg
fVxuICB9XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4g
ICAgY29uZmlnLnByb2R1Y3Rpb25UaXAgIT09IGZhbHNlICYmXG4gICAgaW5Ccm93c2VyICYmIHR5
cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJ1xuICApIHtcbiAgICBjb25zb2xlW2NvbnNvbGUu
aW5mbyA/ICdpbmZvJyA6ICdsb2cnXShcbiAgICAgIFwiWW91IGFyZSBydW5uaW5nIFZ1ZSBpbiBk
ZXZlbG9wbWVudCBtb2RlLlxcblwiICtcbiAgICAgIFwiTWFrZSBzdXJlIHRvIHR1cm4gb24gcHJv
ZHVjdGlvbiBtb2RlIHdoZW4gZGVwbG95aW5nIGZvciBwcm9kdWN0aW9uLlxcblwiICtcbiAgICAg
IFwiU2VlIG1vcmUgdGlwcyBhdCBodHRwczovL3Z1ZWpzLm9yZy9ndWlkZS9kZXBsb3ltZW50Lmh0
bWxcIlxuICAgICk7XG4gIH1cbn0sIDApO1xuXG4vKiAgKi9cblxuLy8gY2hlY2sgd2hldGhlciBj
dXJyZW50IGJyb3dzZXIgZW5jb2RlcyBhIGNoYXIgaW5zaWRlIGF0dHJpYnV0ZSB2YWx1ZXNcbmZ1
bmN0aW9uIHNob3VsZERlY29kZSAoY29udGVudCwgZW5jb2RlZCkge1xuICB2YXIgZGl2ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gIGRpdi5pbm5lckhUTUwgPSBcIjxkaXYgYT1c
XFwiXCIgKyBjb250ZW50ICsgXCJcXFwiLz5cIjtcbiAgcmV0dXJuIGRpdi5pbm5lckhUTUwuaW5k
ZXhPZihlbmNvZGVkKSA+IDBcbn1cblxuLy8gIzM2NjNcbi8vIElFIGVuY29kZXMgbmV3bGluZXMg
aW5zaWRlIGF0dHJpYnV0ZSB2YWx1ZXMgd2hpbGUgb3RoZXIgYnJvd3NlcnMgZG9uJ3RcbnZhciBz
aG91bGREZWNvZGVOZXdsaW5lcyA9IGluQnJvd3NlciA/IHNob3VsZERlY29kZSgnXFxuJywgJyYj
MTA7JykgOiBmYWxzZTtcblxuLyogICovXG5cbnZhciBkZWZhdWx0VGFnUkUgPSAvXFx7XFx7KCg/
Oi58XFxuKSs/KVxcfVxcfS9nO1xudmFyIHJlZ2V4RXNjYXBlUkUgPSAvWy0uKis/XiR7fSgpfFtc
XF1cXC9cXFxcXS9nO1xuXG52YXIgYnVpbGRSZWdleCA9IGNhY2hlZChmdW5jdGlvbiAoZGVsaW1p
dGVycykge1xuICB2YXIgb3BlbiA9IGRlbGltaXRlcnNbMF0ucmVwbGFjZShyZWdleEVzY2FwZVJF
LCAnXFxcXCQmJyk7XG4gIHZhciBjbG9zZSA9IGRlbGltaXRlcnNbMV0ucmVwbGFjZShyZWdleEVz
Y2FwZVJFLCAnXFxcXCQmJyk7XG4gIHJldHVybiBuZXcgUmVnRXhwKG9wZW4gKyAnKCg/Oi58XFxc
XG4pKz8pJyArIGNsb3NlLCAnZycpXG59KTtcblxuZnVuY3Rpb24gcGFyc2VUZXh0IChcbiAgdGV4
dCxcbiAgZGVsaW1pdGVyc1xuKSB7XG4gIHZhciB0YWdSRSA9IGRlbGltaXRlcnMgPyBidWlsZFJl
Z2V4KGRlbGltaXRlcnMpIDogZGVmYXVsdFRhZ1JFO1xuICBpZiAoIXRhZ1JFLnRlc3QodGV4dCkp
IHtcbiAgICByZXR1cm5cbiAgfVxuICB2YXIgdG9rZW5zID0gW107XG4gIHZhciBsYXN0SW5kZXgg
PSB0YWdSRS5sYXN0SW5kZXggPSAwO1xuICB2YXIgbWF0Y2gsIGluZGV4O1xuICB3aGlsZSAoKG1h
dGNoID0gdGFnUkUuZXhlYyh0ZXh0KSkpIHtcbiAgICBpbmRleCA9IG1hdGNoLmluZGV4O1xuICAg
IC8vIHB1c2ggdGV4dCB0b2tlblxuICAgIGlmIChpbmRleCA+IGxhc3RJbmRleCkge1xuICAgICAg
dG9rZW5zLnB1c2goSlNPTi5zdHJpbmdpZnkodGV4dC5zbGljZShsYXN0SW5kZXgsIGluZGV4KSkp
O1xuICAgIH1cbiAgICAvLyB0YWcgdG9rZW5cbiAgICB2YXIgZXhwID0gcGFyc2VGaWx0ZXJzKG1h
dGNoWzFdLnRyaW0oKSk7XG4gICAgdG9rZW5zLnB1c2goKFwiX3MoXCIgKyBleHAgKyBcIilcIikp
O1xuICAgIGxhc3RJbmRleCA9IGluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoO1xuICB9XG4gIGlmIChs
YXN0SW5kZXggPCB0ZXh0Lmxlbmd0aCkge1xuICAgIHRva2Vucy5wdXNoKEpTT04uc3RyaW5naWZ5
KHRleHQuc2xpY2UobGFzdEluZGV4KSkpO1xuICB9XG4gIHJldHVybiB0b2tlbnMuam9pbignKycp
XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Ob2RlIChlbCwgb3B0aW9ucykge1xu
ICB2YXIgd2FybiA9IG9wdGlvbnMud2FybiB8fCBiYXNlV2FybjtcbiAgdmFyIHN0YXRpY0NsYXNz
ID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ2NsYXNzJyk7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RF
X0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHN0YXRpY0NsYXNzKSB7XG4gICAgdmFyIGV4cHJlc3Np
b24gPSBwYXJzZVRleHQoc3RhdGljQ2xhc3MsIG9wdGlvbnMuZGVsaW1pdGVycyk7XG4gICAgaWYg
KGV4cHJlc3Npb24pIHtcbiAgICAgIHdhcm4oXG4gICAgICAgIFwiY2xhc3M9XFxcIlwiICsgc3Rh
dGljQ2xhc3MgKyBcIlxcXCI6IFwiICtcbiAgICAgICAgJ0ludGVycG9sYXRpb24gaW5zaWRlIGF0
dHJpYnV0ZXMgaGFzIGJlZW4gcmVtb3ZlZC4gJyArXG4gICAgICAgICdVc2Ugdi1iaW5kIG9yIHRo
ZSBjb2xvbiBzaG9ydGhhbmQgaW5zdGVhZC4gRm9yIGV4YW1wbGUsICcgK1xuICAgICAgICAnaW5z
dGVhZCBvZiA8ZGl2IGNsYXNzPVwie3sgdmFsIH19XCI+LCB1c2UgPGRpdiA6Y2xhc3M9XCJ2YWxc
Ij4uJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgaWYgKHN0YXRpY0NsYXNzKSB7XG4gICAgZWwu
c3RhdGljQ2xhc3MgPSBKU09OLnN0cmluZ2lmeShzdGF0aWNDbGFzcyk7XG4gIH1cbiAgdmFyIGNs
YXNzQmluZGluZyA9IGdldEJpbmRpbmdBdHRyKGVsLCAnY2xhc3MnLCBmYWxzZSAvKiBnZXRTdGF0
aWMgKi8pO1xuICBpZiAoY2xhc3NCaW5kaW5nKSB7XG4gICAgZWwuY2xhc3NCaW5kaW5nID0gY2xh
c3NCaW5kaW5nO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdlbkRhdGEgKGVsKSB7XG4gIHZhciBkYXRh
ID0gJyc7XG4gIGlmIChlbC5zdGF0aWNDbGFzcykge1xuICAgIGRhdGEgKz0gXCJzdGF0aWNDbGFz
czpcIiArIChlbC5zdGF0aWNDbGFzcykgKyBcIixcIjtcbiAgfVxuICBpZiAoZWwuY2xhc3NCaW5k
aW5nKSB7XG4gICAgZGF0YSArPSBcImNsYXNzOlwiICsgKGVsLmNsYXNzQmluZGluZykgKyBcIixc
IjtcbiAgfVxuICByZXR1cm4gZGF0YVxufVxuXG52YXIga2xhc3MkMSA9IHtcbiAgc3RhdGljS2V5
czogWydzdGF0aWNDbGFzcyddLFxuICB0cmFuc2Zvcm1Ob2RlOiB0cmFuc2Zvcm1Ob2RlLFxuICBn
ZW5EYXRhOiBnZW5EYXRhXG59O1xuXG4vKiAgKi9cblxuZnVuY3Rpb24gdHJhbnNmb3JtTm9kZSQx
IChlbCwgb3B0aW9ucykge1xuICB2YXIgd2FybiA9IG9wdGlvbnMud2FybiB8fCBiYXNlV2Fybjtc
biAgdmFyIHN0YXRpY1N0eWxlID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3N0eWxlJyk7XG4gIGlm
IChzdGF0aWNTdHlsZSkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChw
cm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICB2YXIgZXhwcmVz
c2lvbiA9IHBhcnNlVGV4dChzdGF0aWNTdHlsZSwgb3B0aW9ucy5kZWxpbWl0ZXJzKTtcbiAgICAg
IGlmIChleHByZXNzaW9uKSB7XG4gICAgICAgIHdhcm4oXG4gICAgICAgICAgXCJzdHlsZT1cXFwi
XCIgKyBzdGF0aWNTdHlsZSArIFwiXFxcIjogXCIgK1xuICAgICAgICAgICdJbnRlcnBvbGF0aW9u
IGluc2lkZSBhdHRyaWJ1dGVzIGhhcyBiZWVuIHJlbW92ZWQuICcgK1xuICAgICAgICAgICdVc2Ug
di1iaW5kIG9yIHRoZSBjb2xvbiBzaG9ydGhhbmQgaW5zdGVhZC4gRm9yIGV4YW1wbGUsICcgK1xu
ICAgICAgICAgICdpbnN0ZWFkIG9mIDxkaXYgc3R5bGU9XCJ7eyB2YWwgfX1cIj4sIHVzZSA8ZGl2
IDpzdHlsZT1cInZhbFwiPi4nXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIGVsLnN0
YXRpY1N0eWxlID0gSlNPTi5zdHJpbmdpZnkocGFyc2VTdHlsZVRleHQoc3RhdGljU3R5bGUpKTtc
biAgfVxuXG4gIHZhciBzdHlsZUJpbmRpbmcgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ3N0eWxlJywg
ZmFsc2UgLyogZ2V0U3RhdGljICovKTtcbiAgaWYgKHN0eWxlQmluZGluZykge1xuICAgIGVsLnN0
eWxlQmluZGluZyA9IHN0eWxlQmluZGluZztcbiAgfVxufVxuXG5mdW5jdGlvbiBnZW5EYXRhJDEg
KGVsKSB7XG4gIHZhciBkYXRhID0gJyc7XG4gIGlmIChlbC5zdGF0aWNTdHlsZSkge1xuICAgIGRh
dGEgKz0gXCJzdGF0aWNTdHlsZTpcIiArIChlbC5zdGF0aWNTdHlsZSkgKyBcIixcIjtcbiAgfVxu
ICBpZiAoZWwuc3R5bGVCaW5kaW5nKSB7XG4gICAgZGF0YSArPSBcInN0eWxlOihcIiArIChlbC5z
dHlsZUJpbmRpbmcpICsgXCIpLFwiO1xuICB9XG4gIHJldHVybiBkYXRhXG59XG5cbnZhciBzdHls
ZSQxID0ge1xuICBzdGF0aWNLZXlzOiBbJ3N0YXRpY1N0eWxlJ10sXG4gIHRyYW5zZm9ybU5vZGU6
IHRyYW5zZm9ybU5vZGUkMSxcbiAgZ2VuRGF0YTogZ2VuRGF0YSQxXG59O1xuXG52YXIgbW9kdWxl
cyQxID0gW1xuICBrbGFzcyQxLFxuICBzdHlsZSQxXG5dO1xuXG4vKiAgKi9cblxuZnVuY3Rpb24g
dGV4dCAoZWwsIGRpcikge1xuICBpZiAoZGlyLnZhbHVlKSB7XG4gICAgYWRkUHJvcChlbCwgJ3Rl
eHRDb250ZW50JywgKFwiX3MoXCIgKyAoZGlyLnZhbHVlKSArIFwiKVwiKSk7XG4gIH1cbn1cblxu
LyogICovXG5cbmZ1bmN0aW9uIGh0bWwgKGVsLCBkaXIpIHtcbiAgaWYgKGRpci52YWx1ZSkge1xu
ICAgIGFkZFByb3AoZWwsICdpbm5lckhUTUwnLCAoXCJfcyhcIiArIChkaXIudmFsdWUpICsgXCIp
XCIpKTtcbiAgfVxufVxuXG52YXIgZGlyZWN0aXZlcyQxID0ge1xuICBtb2RlbDogbW9kZWwsXG4g
IHRleHQ6IHRleHQsXG4gIGh0bWw6IGh0bWxcbn07XG5cbi8qICAqL1xuXG52YXIgaXNVbmFyeVRh
ZyA9IG1ha2VNYXAoXG4gICdhcmVhLGJhc2UsYnIsY29sLGVtYmVkLGZyYW1lLGhyLGltZyxpbnB1
dCxpc2luZGV4LGtleWdlbiwnICtcbiAgJ2xpbmssbWV0YSxwYXJhbSxzb3VyY2UsdHJhY2ssd2Jy
J1xuKTtcblxuLy8gRWxlbWVudHMgdGhhdCB5b3UgY2FuLCBpbnRlbnRpb25hbGx5LCBsZWF2ZSBv
cGVuXG4vLyAoYW5kIHdoaWNoIGNsb3NlIHRoZW1zZWx2ZXMpXG52YXIgY2FuQmVMZWZ0T3BlblRh
ZyA9IG1ha2VNYXAoXG4gICdjb2xncm91cCxkZCxkdCxsaSxvcHRpb25zLHAsdGQsdGZvb3QsdGgs
dGhlYWQsdHIsc291cmNlJ1xuKTtcblxuLy8gSFRNTDUgdGFncyBodHRwczovL2h0bWwuc3BlYy53
aGF0d2cub3JnL211bHRpcGFnZS9pbmRpY2VzLmh0bWwjZWxlbWVudHMtM1xuLy8gUGhyYXNpbmcg
Q29udGVudCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9kb20uaHRtbCNw
aHJhc2luZy1jb250ZW50XG52YXIgaXNOb25QaHJhc2luZ1RhZyA9IG1ha2VNYXAoXG4gICdhZGRy
ZXNzLGFydGljbGUsYXNpZGUsYmFzZSxibG9ja3F1b3RlLGJvZHksY2FwdGlvbixjb2wsY29sZ3Jv
dXAsZGQsJyArXG4gICdkZXRhaWxzLGRpYWxvZyxkaXYsZGwsZHQsZmllbGRzZXQsZmlnY2FwdGlv
bixmaWd1cmUsZm9vdGVyLGZvcm0sJyArXG4gICdoMSxoMixoMyxoNCxoNSxoNixoZWFkLGhlYWRl
cixoZ3JvdXAsaHIsaHRtbCxsZWdlbmQsbGksbWVudWl0ZW0sbWV0YSwnICtcbiAgJ29wdGdyb3Vw
LG9wdGlvbixwYXJhbSxycCxydCxzb3VyY2Usc3R5bGUsc3VtbWFyeSx0Ym9keSx0ZCx0Zm9vdCx0
aCx0aGVhZCwnICtcbiAgJ3RpdGxlLHRyLHRyYWNrJ1xuKTtcblxuLyogICovXG5cbnZhciBiYXNl
T3B0aW9ucyA9IHtcbiAgZXhwZWN0SFRNTDogdHJ1ZSxcbiAgbW9kdWxlczogbW9kdWxlcyQxLFxu
ICBkaXJlY3RpdmVzOiBkaXJlY3RpdmVzJDEsXG4gIGlzUHJlVGFnOiBpc1ByZVRhZyxcbiAgaXNV
bmFyeVRhZzogaXNVbmFyeVRhZyxcbiAgbXVzdFVzZVByb3A6IG11c3RVc2VQcm9wLFxuICBjYW5C
ZUxlZnRPcGVuVGFnOiBjYW5CZUxlZnRPcGVuVGFnLFxuICBpc1Jlc2VydmVkVGFnOiBpc1Jlc2Vy
dmVkVGFnLFxuICBnZXRUYWdOYW1lc3BhY2U6IGdldFRhZ05hbWVzcGFjZSxcbiAgc3RhdGljS2V5
czogZ2VuU3RhdGljS2V5cyhtb2R1bGVzJDEpXG59O1xuXG4vKiAgKi9cblxudmFyIGRlY29kZXI7
XG5cbnZhciBoZSA9IHtcbiAgZGVjb2RlOiBmdW5jdGlvbiBkZWNvZGUgKGh0bWwpIHtcbiAgICBk
ZWNvZGVyID0gZGVjb2RlciB8fCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBk
ZWNvZGVyLmlubmVySFRNTCA9IGh0bWw7XG4gICAgcmV0dXJuIGRlY29kZXIudGV4dENvbnRlbnRc
biAgfVxufTtcblxuLyoqXG4gKiBOb3QgdHlwZS1jaGVja2luZyB0aGlzIGZpbGUgYmVjYXVzZSBp
dCdzIG1vc3RseSB2ZW5kb3IgY29kZS5cbiAqL1xuXG4vKiFcbiAqIEhUTUwgUGFyc2VyIEJ5IEpv
aG4gUmVzaWcgKGVqb2huLm9yZylcbiAqIE1vZGlmaWVkIGJ5IEp1cml5IFwia2FuZ2F4XCIgWmF5
dHNldlxuICogT3JpZ2luYWwgY29kZSBieSBFcmlrIEFydmlkc3NvbiwgTW96aWxsYSBQdWJsaWMg
TGljZW5zZVxuICogaHR0cDovL2VyaWsuZWFlLm5ldC9zaW1wbGVodG1scGFyc2VyL3NpbXBsZWh0
bWxwYXJzZXIuanNcbiAqL1xuXG4vLyBSZWd1bGFyIEV4cHJlc3Npb25zIGZvciBwYXJzaW5nIHRh
Z3MgYW5kIGF0dHJpYnV0ZXNcbnZhciBzaW5nbGVBdHRySWRlbnRpZmllciA9IC8oW15cXHNcIic8
Pi89XSspLztcbnZhciBzaW5nbGVBdHRyQXNzaWduID0gLyg/Oj0pLztcbnZhciBzaW5nbGVBdHRy
VmFsdWVzID0gW1xuICAvLyBhdHRyIHZhbHVlIGRvdWJsZSBxdW90ZXNcbiAgL1wiKFteXCJdKilc
IisvLnNvdXJjZSxcbiAgLy8gYXR0ciB2YWx1ZSwgc2luZ2xlIHF1b3Rlc1xuICAvJyhbXiddKikn
Ky8uc291cmNlLFxuICAvLyBhdHRyIHZhbHVlLCBubyBxdW90ZXNcbiAgLyhbXlxcc1wiJz08PmBd
KykvLnNvdXJjZVxuXTtcbnZhciBhdHRyaWJ1dGUgPSBuZXcgUmVnRXhwKFxuICAnXlxcXFxzKicg
KyBzaW5nbGVBdHRySWRlbnRpZmllci5zb3VyY2UgK1xuICAnKD86XFxcXHMqKCcgKyBzaW5nbGVB
dHRyQXNzaWduLnNvdXJjZSArICcpJyArXG4gICdcXFxccyooPzonICsgc2luZ2xlQXR0clZhbHVl
cy5qb2luKCd8JykgKyAnKSk/J1xuKTtcblxuLy8gY291bGQgdXNlIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi8xOTk5L1JFQy14bWwtbmFtZXMtMTk5OTAxMTQvI05ULVFOYW1lXG4vLyBidXQgZm9yIFZ1
ZSB0ZW1wbGF0ZXMgd2UgY2FuIGVuZm9yY2UgYSBzaW1wbGUgY2hhcnNldFxudmFyIG5jbmFtZSA9
ICdbYS16QS1aX11bXFxcXHdcXFxcLVxcXFwuXSonO1xudmFyIHFuYW1lQ2FwdHVyZSA9ICcoKD86
JyArIG5jbmFtZSArICdcXFxcOik/JyArIG5jbmFtZSArICcpJztcbnZhciBzdGFydFRhZ09wZW4g
PSBuZXcgUmVnRXhwKCdePCcgKyBxbmFtZUNhcHR1cmUpO1xudmFyIHN0YXJ0VGFnQ2xvc2UgPSAv
XlxccyooXFwvPyk+LztcbnZhciBlbmRUYWcgPSBuZXcgUmVnRXhwKCdePFxcXFwvJyArIHFuYW1l
Q2FwdHVyZSArICdbXj5dKj4nKTtcbnZhciBkb2N0eXBlID0gL148IURPQ1RZUEUgW14+XSs+L2k7
XG52YXIgY29tbWVudCA9IC9ePCEtLS87XG52YXIgY29uZGl0aW9uYWxDb21tZW50ID0gL148IVxc
Wy87XG5cbnZhciBJU19SRUdFWF9DQVBUVVJJTkdfQlJPS0VOID0gZmFsc2U7XG4neCcucmVwbGFj
ZSgveCguKT8vZywgZnVuY3Rpb24gKG0sIGcpIHtcbiAgSVNfUkVHRVhfQ0FQVFVSSU5HX0JST0tF
TiA9IGcgPT09ICcnO1xufSk7XG5cbi8vIFNwZWNpYWwgRWxlbWVudHMgKGNhbiBjb250YWluIGFu
eXRoaW5nKVxudmFyIGlzUGxhaW5UZXh0RWxlbWVudCA9IG1ha2VNYXAoJ3NjcmlwdCxzdHlsZSx0
ZXh0YXJlYScsIHRydWUpO1xudmFyIHJlQ2FjaGUgPSB7fTtcblxudmFyIGRlY29kaW5nTWFwID0g
e1xuICAnJmx0Oyc6ICc8JyxcbiAgJyZndDsnOiAnPicsXG4gICcmcXVvdDsnOiAnXCInLFxuICAn
JmFtcDsnOiAnJicsXG4gICcmIzEwOyc6ICdcXG4nXG59O1xudmFyIGVuY29kZWRBdHRyID0gLyYo
PzpsdHxndHxxdW90fGFtcCk7L2c7XG52YXIgZW5jb2RlZEF0dHJXaXRoTmV3TGluZXMgPSAvJig/
Omx0fGd0fHF1b3R8YW1wfCMxMCk7L2c7XG5cbi8vICM1OTkyXG52YXIgaXNJZ25vcmVOZXdsaW5l
VGFnID0gbWFrZU1hcCgncHJlLHRleHRhcmVhJywgdHJ1ZSk7XG52YXIgc2hvdWxkSWdub3JlRmly
c3ROZXdsaW5lID0gZnVuY3Rpb24gKHRhZywgaHRtbCkgeyByZXR1cm4gdGFnICYmIGlzSWdub3Jl
TmV3bGluZVRhZyh0YWcpICYmIGh0bWxbMF0gPT09ICdcXG4nOyB9O1xuXG5mdW5jdGlvbiBkZWNv
ZGVBdHRyICh2YWx1ZSwgc2hvdWxkRGVjb2RlTmV3bGluZXMpIHtcbiAgdmFyIHJlID0gc2hvdWxk
RGVjb2RlTmV3bGluZXMgPyBlbmNvZGVkQXR0cldpdGhOZXdMaW5lcyA6IGVuY29kZWRBdHRyO1xu
ICByZXR1cm4gdmFsdWUucmVwbGFjZShyZSwgZnVuY3Rpb24gKG1hdGNoKSB7IHJldHVybiBkZWNv
ZGluZ01hcFttYXRjaF07IH0pXG59XG5cbmZ1bmN0aW9uIHBhcnNlSFRNTCAoaHRtbCwgb3B0aW9u
cykge1xuICB2YXIgc3RhY2sgPSBbXTtcbiAgdmFyIGV4cGVjdEhUTUwgPSBvcHRpb25zLmV4cGVj
dEhUTUw7XG4gIHZhciBpc1VuYXJ5VGFnJCQxID0gb3B0aW9ucy5pc1VuYXJ5VGFnIHx8IG5vO1xu
ICB2YXIgY2FuQmVMZWZ0T3BlblRhZyQkMSA9IG9wdGlvbnMuY2FuQmVMZWZ0T3BlblRhZyB8fCBu
bztcbiAgdmFyIGluZGV4ID0gMDtcbiAgdmFyIGxhc3QsIGxhc3RUYWc7XG4gIHdoaWxlIChodG1s
KSB7XG4gICAgbGFzdCA9IGh0bWw7XG4gICAgLy8gTWFrZSBzdXJlIHdlJ3JlIG5vdCBpbiBhIHBs
YWludGV4dCBjb250ZW50IGVsZW1lbnQgbGlrZSBzY3JpcHQvc3R5bGVcbiAgICBpZiAoIWxhc3RU
YWcgfHwgIWlzUGxhaW5UZXh0RWxlbWVudChsYXN0VGFnKSkge1xuICAgICAgdmFyIHRleHRFbmQg
PSBodG1sLmluZGV4T2YoJzwnKTtcbiAgICAgIGlmICh0ZXh0RW5kID09PSAwKSB7XG4gICAgICAg
IC8vIENvbW1lbnQ6XG4gICAgICAgIGlmIChjb21tZW50LnRlc3QoaHRtbCkpIHtcbiAgICAgICAg
ICB2YXIgY29tbWVudEVuZCA9IGh0bWwuaW5kZXhPZignLS0+Jyk7XG5cbiAgICAgICAgICBpZiAo
Y29tbWVudEVuZCA+PSAwKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5zaG91bGRLZWVwQ29t
bWVudCkge1xuICAgICAgICAgICAgICBvcHRpb25zLmNvbW1lbnQoaHRtbC5zdWJzdHJpbmcoNCwg
Y29tbWVudEVuZCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYWR2YW5jZShjb21tZW50
RW5kICsgMyk7XG4gICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxu
XG4gICAgICAgIC8vIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ29uZGl0aW9uYWxfY29t
bWVudCNEb3dubGV2ZWwtcmV2ZWFsZWRfY29uZGl0aW9uYWxfY29tbWVudFxuICAgICAgICBpZiAo
Y29uZGl0aW9uYWxDb21tZW50LnRlc3QoaHRtbCkpIHtcbiAgICAgICAgICB2YXIgY29uZGl0aW9u
YWxFbmQgPSBodG1sLmluZGV4T2YoJ10+Jyk7XG5cbiAgICAgICAgICBpZiAoY29uZGl0aW9uYWxF
bmQgPj0gMCkge1xuICAgICAgICAgICAgYWR2YW5jZShjb25kaXRpb25hbEVuZCArIDIpO1xuICAg
ICAgICAgICAgY29udGludWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBE
b2N0eXBlOlxuICAgICAgICB2YXIgZG9jdHlwZU1hdGNoID0gaHRtbC5tYXRjaChkb2N0eXBlKTtc
biAgICAgICAgaWYgKGRvY3R5cGVNYXRjaCkge1xuICAgICAgICAgIGFkdmFuY2UoZG9jdHlwZU1h
dGNoWzBdLmxlbmd0aCk7XG4gICAgICAgICAgY29udGludWVcbiAgICAgICAgfVxuXG4gICAgICAg
IC8vIEVuZCB0YWc6XG4gICAgICAgIHZhciBlbmRUYWdNYXRjaCA9IGh0bWwubWF0Y2goZW5kVGFn
KTtcbiAgICAgICAgaWYgKGVuZFRhZ01hdGNoKSB7XG4gICAgICAgICAgdmFyIGN1ckluZGV4ID0g
aW5kZXg7XG4gICAgICAgICAgYWR2YW5jZShlbmRUYWdNYXRjaFswXS5sZW5ndGgpO1xuICAgICAg
ICAgIHBhcnNlRW5kVGFnKGVuZFRhZ01hdGNoWzFdLCBjdXJJbmRleCwgaW5kZXgpO1xuICAgICAg
ICAgIGNvbnRpbnVlXG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdGFydCB0YWc6XG4gICAgICAg
IHZhciBzdGFydFRhZ01hdGNoID0gcGFyc2VTdGFydFRhZygpO1xuICAgICAgICBpZiAoc3RhcnRU
YWdNYXRjaCkge1xuICAgICAgICAgIGhhbmRsZVN0YXJ0VGFnKHN0YXJ0VGFnTWF0Y2gpO1xuICAg
ICAgICAgIGlmIChzaG91bGRJZ25vcmVGaXJzdE5ld2xpbmUobGFzdFRhZywgaHRtbCkpIHtcbiAg
ICAgICAgICAgIGFkdmFuY2UoMSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnRpbnVlXG4g
ICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIHRleHQgPSAodm9pZCAwKSwgcmVzdCA9ICh2
b2lkIDApLCBuZXh0ID0gKHZvaWQgMCk7XG4gICAgICBpZiAodGV4dEVuZCA+PSAwKSB7XG4gICAg
ICAgIHJlc3QgPSBodG1sLnNsaWNlKHRleHRFbmQpO1xuICAgICAgICB3aGlsZSAoXG4gICAgICAg
ICAgIWVuZFRhZy50ZXN0KHJlc3QpICYmXG4gICAgICAgICAgIXN0YXJ0VGFnT3Blbi50ZXN0KHJl
c3QpICYmXG4gICAgICAgICAgIWNvbW1lbnQudGVzdChyZXN0KSAmJlxuICAgICAgICAgICFjb25k
aXRpb25hbENvbW1lbnQudGVzdChyZXN0KVxuICAgICAgICApIHtcbiAgICAgICAgICAvLyA8IGlu
IHBsYWluIHRleHQsIGJlIGZvcmdpdmluZyBhbmQgdHJlYXQgaXQgYXMgdGV4dFxuICAgICAgICAg
IG5leHQgPSByZXN0LmluZGV4T2YoJzwnLCAxKTtcbiAgICAgICAgICBpZiAobmV4dCA8IDApIHsg
YnJlYWsgfVxuICAgICAgICAgIHRleHRFbmQgKz0gbmV4dDtcbiAgICAgICAgICByZXN0ID0gaHRt
bC5zbGljZSh0ZXh0RW5kKTtcbiAgICAgICAgfVxuICAgICAgICB0ZXh0ID0gaHRtbC5zdWJzdHJp
bmcoMCwgdGV4dEVuZCk7XG4gICAgICAgIGFkdmFuY2UodGV4dEVuZCk7XG4gICAgICB9XG5cbiAg
ICAgIGlmICh0ZXh0RW5kIDwgMCkge1xuICAgICAgICB0ZXh0ID0gaHRtbDtcbiAgICAgICAgaHRt
bCA9ICcnO1xuICAgICAgfVxuXG4gICAgICBpZiAob3B0aW9ucy5jaGFycyAmJiB0ZXh0KSB7XG4g
ICAgICAgIG9wdGlvbnMuY2hhcnModGV4dCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAg
IHZhciBlbmRUYWdMZW5ndGggPSAwO1xuICAgICAgdmFyIHN0YWNrZWRUYWcgPSBsYXN0VGFnLnRv
TG93ZXJDYXNlKCk7XG4gICAgICB2YXIgcmVTdGFja2VkVGFnID0gcmVDYWNoZVtzdGFja2VkVGFn
XSB8fCAocmVDYWNoZVtzdGFja2VkVGFnXSA9IG5ldyBSZWdFeHAoJyhbXFxcXHNcXFxcU10qPyko
PC8nICsgc3RhY2tlZFRhZyArICdbXj5dKj4pJywgJ2knKSk7XG4gICAgICB2YXIgcmVzdCQxID0g
aHRtbC5yZXBsYWNlKHJlU3RhY2tlZFRhZywgZnVuY3Rpb24gKGFsbCwgdGV4dCwgZW5kVGFnKSB7
XG4gICAgICAgIGVuZFRhZ0xlbmd0aCA9IGVuZFRhZy5sZW5ndGg7XG4gICAgICAgIGlmICghaXNQ
bGFpblRleHRFbGVtZW50KHN0YWNrZWRUYWcpICYmIHN0YWNrZWRUYWcgIT09ICdub3NjcmlwdCcp
IHtcbiAgICAgICAgICB0ZXh0ID0gdGV4dFxuICAgICAgICAgICAgLnJlcGxhY2UoLzwhLS0oW1xc
c1xcU10qPyktLT4vZywgJyQxJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC88IVxcW0NEQVRBXFxb
KFtcXHNcXFNdKj8pXV0+L2csICckMScpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzaG91bGRJ
Z25vcmVGaXJzdE5ld2xpbmUoc3RhY2tlZFRhZywgdGV4dCkpIHtcbiAgICAgICAgICB0ZXh0ID0g
dGV4dC5zbGljZSgxKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9ucy5jaGFycykge1xu
ICAgICAgICAgIG9wdGlvbnMuY2hhcnModGV4dCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJu
ICcnXG4gICAgICB9KTtcbiAgICAgIGluZGV4ICs9IGh0bWwubGVuZ3RoIC0gcmVzdCQxLmxlbmd0
aDtcbiAgICAgIGh0bWwgPSByZXN0JDE7XG4gICAgICBwYXJzZUVuZFRhZyhzdGFja2VkVGFnLCBp
bmRleCAtIGVuZFRhZ0xlbmd0aCwgaW5kZXgpO1xuICAgIH1cblxuICAgIGlmIChodG1sID09PSBs
YXN0KSB7XG4gICAgICBvcHRpb25zLmNoYXJzICYmIG9wdGlvbnMuY2hhcnMoaHRtbCk7XG4gICAg
ICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAhc3RhY2subGVu
Z3RoICYmIG9wdGlvbnMud2Fybikge1xuICAgICAgICBvcHRpb25zLndhcm4oKFwiTWFsLWZvcm1h
dHRlZCB0YWcgYXQgZW5kIG9mIHRlbXBsYXRlOiBcXFwiXCIgKyBodG1sICsgXCJcXFwiXCIpKTtc
biAgICAgIH1cbiAgICAgIGJyZWFrXG4gICAgfVxuICB9XG5cbiAgLy8gQ2xlYW4gdXAgYW55IHJl
bWFpbmluZyB0YWdzXG4gIHBhcnNlRW5kVGFnKCk7XG5cbiAgZnVuY3Rpb24gYWR2YW5jZSAobikg
e1xuICAgIGluZGV4ICs9IG47XG4gICAgaHRtbCA9IGh0bWwuc3Vic3RyaW5nKG4pO1xuICB9XG5c
biAgZnVuY3Rpb24gcGFyc2VTdGFydFRhZyAoKSB7XG4gICAgdmFyIHN0YXJ0ID0gaHRtbC5tYXRj
aChzdGFydFRhZ09wZW4pO1xuICAgIGlmIChzdGFydCkge1xuICAgICAgdmFyIG1hdGNoID0ge1xu
ICAgICAgICB0YWdOYW1lOiBzdGFydFsxXSxcbiAgICAgICAgYXR0cnM6IFtdLFxuICAgICAgICBz
dGFydDogaW5kZXhcbiAgICAgIH07XG4gICAgICBhZHZhbmNlKHN0YXJ0WzBdLmxlbmd0aCk7XG4g
ICAgICB2YXIgZW5kLCBhdHRyO1xuICAgICAgd2hpbGUgKCEoZW5kID0gaHRtbC5tYXRjaChzdGFy
dFRhZ0Nsb3NlKSkgJiYgKGF0dHIgPSBodG1sLm1hdGNoKGF0dHJpYnV0ZSkpKSB7XG4gICAgICAg
IGFkdmFuY2UoYXR0clswXS5sZW5ndGgpO1xuICAgICAgICBtYXRjaC5hdHRycy5wdXNoKGF0dHIp
O1xuICAgICAgfVxuICAgICAgaWYgKGVuZCkge1xuICAgICAgICBtYXRjaC51bmFyeVNsYXNoID0g
ZW5kWzFdO1xuICAgICAgICBhZHZhbmNlKGVuZFswXS5sZW5ndGgpO1xuICAgICAgICBtYXRjaC5l
bmQgPSBpbmRleDtcbiAgICAgICAgcmV0dXJuIG1hdGNoXG4gICAgICB9XG4gICAgfVxuICB9XG5c
biAgZnVuY3Rpb24gaGFuZGxlU3RhcnRUYWcgKG1hdGNoKSB7XG4gICAgdmFyIHRhZ05hbWUgPSBt
YXRjaC50YWdOYW1lO1xuICAgIHZhciB1bmFyeVNsYXNoID0gbWF0Y2gudW5hcnlTbGFzaDtcblxu
ICAgIGlmIChleHBlY3RIVE1MKSB7XG4gICAgICBpZiAobGFzdFRhZyA9PT0gJ3AnICYmIGlzTm9u
UGhyYXNpbmdUYWcodGFnTmFtZSkpIHtcbiAgICAgICAgcGFyc2VFbmRUYWcobGFzdFRhZyk7XG4g
ICAgICB9XG4gICAgICBpZiAoY2FuQmVMZWZ0T3BlblRhZyQkMSh0YWdOYW1lKSAmJiBsYXN0VGFn
ID09PSB0YWdOYW1lKSB7XG4gICAgICAgIHBhcnNlRW5kVGFnKHRhZ05hbWUpO1xuICAgICAgfVxu
ICAgIH1cblxuICAgIHZhciB1bmFyeSA9IGlzVW5hcnlUYWckJDEodGFnTmFtZSkgfHwgISF1bmFy
eVNsYXNoO1xuXG4gICAgdmFyIGwgPSBtYXRjaC5hdHRycy5sZW5ndGg7XG4gICAgdmFyIGF0dHJz
ID0gbmV3IEFycmF5KGwpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbDsgaSsrKSB7XG4gICAg
ICB2YXIgYXJncyA9IG1hdGNoLmF0dHJzW2ldO1xuICAgICAgLy8gaGFja2lzaCB3b3JrIGFyb3Vu
ZCBGRiBidWcgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzY5
Nzc4XG4gICAgICBpZiAoSVNfUkVHRVhfQ0FQVFVSSU5HX0JST0tFTiAmJiBhcmdzWzBdLmluZGV4
T2YoJ1wiXCInKSA9PT0gLTEpIHtcbiAgICAgICAgaWYgKGFyZ3NbM10gPT09ICcnKSB7IGRlbGV0
ZSBhcmdzWzNdOyB9XG4gICAgICAgIGlmIChhcmdzWzRdID09PSAnJykgeyBkZWxldGUgYXJnc1s0
XTsgfVxuICAgICAgICBpZiAoYXJnc1s1XSA9PT0gJycpIHsgZGVsZXRlIGFyZ3NbNV07IH1cbiAg
ICAgIH1cbiAgICAgIHZhciB2YWx1ZSA9IGFyZ3NbM10gfHwgYXJnc1s0XSB8fCBhcmdzWzVdIHx8
ICcnO1xuICAgICAgYXR0cnNbaV0gPSB7XG4gICAgICAgIG5hbWU6IGFyZ3NbMV0sXG4gICAgICAg
IHZhbHVlOiBkZWNvZGVBdHRyKFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgIG9wdGlvbnMu
c2hvdWxkRGVjb2RlTmV3bGluZXNcbiAgICAgICAgKVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBp
ZiAoIXVuYXJ5KSB7XG4gICAgICBzdGFjay5wdXNoKHsgdGFnOiB0YWdOYW1lLCBsb3dlckNhc2Vk
VGFnOiB0YWdOYW1lLnRvTG93ZXJDYXNlKCksIGF0dHJzOiBhdHRycyB9KTtcbiAgICAgIGxhc3RU
YWcgPSB0YWdOYW1lO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnN0YXJ0KSB7XG4gICAgICBv
cHRpb25zLnN0YXJ0KHRhZ05hbWUsIGF0dHJzLCB1bmFyeSwgbWF0Y2guc3RhcnQsIG1hdGNoLmVu
ZCk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gcGFyc2VFbmRUYWcgKHRhZ05hbWUsIHN0YXJ0
LCBlbmQpIHtcbiAgICB2YXIgcG9zLCBsb3dlckNhc2VkVGFnTmFtZTtcbiAgICBpZiAoc3RhcnQg
PT0gbnVsbCkgeyBzdGFydCA9IGluZGV4OyB9XG4gICAgaWYgKGVuZCA9PSBudWxsKSB7IGVuZCA9
IGluZGV4OyB9XG5cbiAgICBpZiAodGFnTmFtZSkge1xuICAgICAgbG93ZXJDYXNlZFRhZ05hbWUg
PSB0YWdOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgfVxuXG4gICAgLy8gRmluZCB0aGUgY2xvc2Vz
dCBvcGVuZWQgdGFnIG9mIHRoZSBzYW1lIHR5cGVcbiAgICBpZiAodGFnTmFtZSkge1xuICAgICAg
Zm9yIChwb3MgPSBzdGFjay5sZW5ndGggLSAxOyBwb3MgPj0gMDsgcG9zLS0pIHtcbiAgICAgICAg
aWYgKHN0YWNrW3Bvc10ubG93ZXJDYXNlZFRhZyA9PT0gbG93ZXJDYXNlZFRhZ05hbWUpIHtcbiAg
ICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8v
IElmIG5vIHRhZyBuYW1lIGlzIHByb3ZpZGVkLCBjbGVhbiBzaG9wXG4gICAgICBwb3MgPSAwO1xu
ICAgIH1cblxuICAgIGlmIChwb3MgPj0gMCkge1xuICAgICAgLy8gQ2xvc2UgYWxsIHRoZSBvcGVu
IGVsZW1lbnRzLCB1cCB0aGUgc3RhY2tcbiAgICAgIGZvciAodmFyIGkgPSBzdGFjay5sZW5ndGgg
LSAxOyBpID49IHBvczsgaS0tKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAh
PT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgICAgICAgKGkgPiBwb3MgfHwgIXRhZ05hbWUpICYmXG4g
ICAgICAgICAgb3B0aW9ucy53YXJuXG4gICAgICAgICkge1xuICAgICAgICAgIG9wdGlvbnMud2Fy
bihcbiAgICAgICAgICAgIChcInRhZyA8XCIgKyAoc3RhY2tbaV0udGFnKSArIFwiPiBoYXMgbm8g
bWF0Y2hpbmcgZW5kIHRhZy5cIilcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlm
IChvcHRpb25zLmVuZCkge1xuICAgICAgICAgIG9wdGlvbnMuZW5kKHN0YWNrW2ldLnRhZywgc3Rh
cnQsIGVuZCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVtb3ZlIHRoZSBvcGVu
IGVsZW1lbnRzIGZyb20gdGhlIHN0YWNrXG4gICAgICBzdGFjay5sZW5ndGggPSBwb3M7XG4gICAg
ICBsYXN0VGFnID0gcG9zICYmIHN0YWNrW3BvcyAtIDFdLnRhZztcbiAgICB9IGVsc2UgaWYgKGxv
d2VyQ2FzZWRUYWdOYW1lID09PSAnYnInKSB7XG4gICAgICBpZiAob3B0aW9ucy5zdGFydCkge1xu
ICAgICAgICBvcHRpb25zLnN0YXJ0KHRhZ05hbWUsIFtdLCB0cnVlLCBzdGFydCwgZW5kKTtcbiAg
ICAgIH1cbiAgICB9IGVsc2UgaWYgKGxvd2VyQ2FzZWRUYWdOYW1lID09PSAncCcpIHtcbiAgICAg
IGlmIChvcHRpb25zLnN0YXJ0KSB7XG4gICAgICAgIG9wdGlvbnMuc3RhcnQodGFnTmFtZSwgW10s
IGZhbHNlLCBzdGFydCwgZW5kKTtcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zLmVuZCkge1xu
ICAgICAgICBvcHRpb25zLmVuZCh0YWdOYW1lLCBzdGFydCwgZW5kKTtcbiAgICAgIH1cbiAgICB9
XG4gIH1cbn1cblxuLyogICovXG5cbnZhciBvblJFID0gL15AfF52LW9uOi87XG52YXIgZGlyUkUg
PSAvXnYtfF5AfF46LztcbnZhciBmb3JBbGlhc1JFID0gLyguKj8pXFxzKyg/OmlufG9mKVxccyso
LiopLztcbnZhciBmb3JJdGVyYXRvclJFID0gL1xcKChcXHtbXn1dKlxcfXxbXixdKiksKFteLF0q
KSg/OiwoW14sXSopKT9cXCkvO1xuXG52YXIgYXJnUkUgPSAvOiguKikkLztcbnZhciBiaW5kUkUg
PSAvXjp8XnYtYmluZDovO1xudmFyIG1vZGlmaWVyUkUgPSAvXFwuW14uXSsvZztcblxudmFyIGRl
Y29kZUhUTUxDYWNoZWQgPSBjYWNoZWQoaGUuZGVjb2RlKTtcblxuLy8gY29uZmlndXJhYmxlIHN0
YXRlXG52YXIgd2FybiQyO1xudmFyIGRlbGltaXRlcnM7XG52YXIgdHJhbnNmb3JtcztcbnZhciBw
cmVUcmFuc2Zvcm1zO1xudmFyIHBvc3RUcmFuc2Zvcm1zO1xudmFyIHBsYXRmb3JtSXNQcmVUYWc7
XG52YXIgcGxhdGZvcm1NdXN0VXNlUHJvcDtcbnZhciBwbGF0Zm9ybUdldFRhZ05hbWVzcGFjZTtc
blxuLyoqXG4gKiBDb252ZXJ0IEhUTUwgc3RyaW5nIHRvIEFTVC5cbiAqL1xuZnVuY3Rpb24gcGFy
c2UgKFxuICB0ZW1wbGF0ZSxcbiAgb3B0aW9uc1xuKSB7XG4gIHdhcm4kMiA9IG9wdGlvbnMud2Fy
biB8fCBiYXNlV2FybjtcblxuICBwbGF0Zm9ybUlzUHJlVGFnID0gb3B0aW9ucy5pc1ByZVRhZyB8
fCBubztcbiAgcGxhdGZvcm1NdXN0VXNlUHJvcCA9IG9wdGlvbnMubXVzdFVzZVByb3AgfHwgbm87
XG4gIHBsYXRmb3JtR2V0VGFnTmFtZXNwYWNlID0gb3B0aW9ucy5nZXRUYWdOYW1lc3BhY2UgfHwg
bm87XG5cbiAgdHJhbnNmb3JtcyA9IHBsdWNrTW9kdWxlRnVuY3Rpb24ob3B0aW9ucy5tb2R1bGVz
LCAndHJhbnNmb3JtTm9kZScpO1xuICBwcmVUcmFuc2Zvcm1zID0gcGx1Y2tNb2R1bGVGdW5jdGlv
bihvcHRpb25zLm1vZHVsZXMsICdwcmVUcmFuc2Zvcm1Ob2RlJyk7XG4gIHBvc3RUcmFuc2Zvcm1z
ID0gcGx1Y2tNb2R1bGVGdW5jdGlvbihvcHRpb25zLm1vZHVsZXMsICdwb3N0VHJhbnNmb3JtTm9k
ZScpO1xuXG4gIGRlbGltaXRlcnMgPSBvcHRpb25zLmRlbGltaXRlcnM7XG5cbiAgdmFyIHN0YWNr
ID0gW107XG4gIHZhciBwcmVzZXJ2ZVdoaXRlc3BhY2UgPSBvcHRpb25zLnByZXNlcnZlV2hpdGVz
cGFjZSAhPT0gZmFsc2U7XG4gIHZhciByb290O1xuICB2YXIgY3VycmVudFBhcmVudDtcbiAgdmFy
IGluVlByZSA9IGZhbHNlO1xuICB2YXIgaW5QcmUgPSBmYWxzZTtcbiAgdmFyIHdhcm5lZCA9IGZh
bHNlO1xuXG4gIGZ1bmN0aW9uIHdhcm5PbmNlIChtc2cpIHtcbiAgICBpZiAoIXdhcm5lZCkge1xu
ICAgICAgd2FybmVkID0gdHJ1ZTtcbiAgICAgIHdhcm4kMihtc2cpO1xuICAgIH1cbiAgfVxuXG4g
IGZ1bmN0aW9uIGVuZFByZSAoZWxlbWVudCkge1xuICAgIC8vIGNoZWNrIHByZSBzdGF0ZVxuICAg
IGlmIChlbGVtZW50LnByZSkge1xuICAgICAgaW5WUHJlID0gZmFsc2U7XG4gICAgfVxuICAgIGlm
IChwbGF0Zm9ybUlzUHJlVGFnKGVsZW1lbnQudGFnKSkge1xuICAgICAgaW5QcmUgPSBmYWxzZTtc
biAgICB9XG4gIH1cblxuICBwYXJzZUhUTUwodGVtcGxhdGUsIHtcbiAgICB3YXJuOiB3YXJuJDIs
XG4gICAgZXhwZWN0SFRNTDogb3B0aW9ucy5leHBlY3RIVE1MLFxuICAgIGlzVW5hcnlUYWc6IG9w
dGlvbnMuaXNVbmFyeVRhZyxcbiAgICBjYW5CZUxlZnRPcGVuVGFnOiBvcHRpb25zLmNhbkJlTGVm
dE9wZW5UYWcsXG4gICAgc2hvdWxkRGVjb2RlTmV3bGluZXM6IG9wdGlvbnMuc2hvdWxkRGVjb2Rl
TmV3bGluZXMsXG4gICAgc2hvdWxkS2VlcENvbW1lbnQ6IG9wdGlvbnMuY29tbWVudHMsXG4gICAg
c3RhcnQ6IGZ1bmN0aW9uIHN0YXJ0ICh0YWcsIGF0dHJzLCB1bmFyeSkge1xuICAgICAgLy8gY2hl
Y2sgbmFtZXNwYWNlLlxuICAgICAgLy8gaW5oZXJpdCBwYXJlbnQgbnMgaWYgdGhlcmUgaXMgb25l
XG4gICAgICB2YXIgbnMgPSAoY3VycmVudFBhcmVudCAmJiBjdXJyZW50UGFyZW50Lm5zKSB8fCBw
bGF0Zm9ybUdldFRhZ05hbWVzcGFjZSh0YWcpO1xuXG4gICAgICAvLyBoYW5kbGUgSUUgc3ZnIGJ1
Z1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAoaXNJRSAmJiBucyA9
PT0gJ3N2ZycpIHtcbiAgICAgICAgYXR0cnMgPSBndWFyZElFU1ZHQnVnKGF0dHJzKTtcbiAgICAg
IH1cblxuICAgICAgdmFyIGVsZW1lbnQgPSB7XG4gICAgICAgIHR5cGU6IDEsXG4gICAgICAgIHRh
ZzogdGFnLFxuICAgICAgICBhdHRyc0xpc3Q6IGF0dHJzLFxuICAgICAgICBhdHRyc01hcDogbWFr
ZUF0dHJzTWFwKGF0dHJzKSxcbiAgICAgICAgcGFyZW50OiBjdXJyZW50UGFyZW50LFxuICAgICAg
ICBjaGlsZHJlbjogW11cbiAgICAgIH07XG4gICAgICBpZiAobnMpIHtcbiAgICAgICAgZWxlbWVu
dC5ucyA9IG5zO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNGb3JiaWRkZW5UYWcoZWxlbWVudCkg
JiYgIWlzU2VydmVyUmVuZGVyaW5nKCkpIHtcbiAgICAgICAgZWxlbWVudC5mb3JiaWRkZW4gPSB0
cnVlO1xuICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdh
cm4kMihcbiAgICAgICAgICAnVGVtcGxhdGVzIHNob3VsZCBvbmx5IGJlIHJlc3BvbnNpYmxlIGZv
ciBtYXBwaW5nIHRoZSBzdGF0ZSB0byB0aGUgJyArXG4gICAgICAgICAgJ1VJLiBBdm9pZCBwbGFj
aW5nIHRhZ3Mgd2l0aCBzaWRlLWVmZmVjdHMgaW4geW91ciB0ZW1wbGF0ZXMsIHN1Y2ggYXMgJyAr
XG4gICAgICAgICAgXCI8XCIgKyB0YWcgKyBcIj5cIiArICcsIGFzIHRoZXkgd2lsbCBub3QgYmUg
cGFyc2VkLidcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gYXBwbHkgcHJlLXRyYW5z
Zm9ybXNcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJlVHJhbnNmb3Jtcy5sZW5ndGg7IGkr
Kykge1xuICAgICAgICBwcmVUcmFuc2Zvcm1zW2ldKGVsZW1lbnQsIG9wdGlvbnMpO1xuICAgICAg
fVxuXG4gICAgICBpZiAoIWluVlByZSkge1xuICAgICAgICBwcm9jZXNzUHJlKGVsZW1lbnQpO1xu
ICAgICAgICBpZiAoZWxlbWVudC5wcmUpIHtcbiAgICAgICAgICBpblZQcmUgPSB0cnVlO1xuICAg
ICAgICB9XG4gICAgICB9XG4gICAgICBpZiAocGxhdGZvcm1Jc1ByZVRhZyhlbGVtZW50LnRhZykp
IHtcbiAgICAgICAgaW5QcmUgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKGluVlByZSkge1xu
ICAgICAgICBwcm9jZXNzUmF3QXR0cnMoZWxlbWVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAg
ICBwcm9jZXNzRm9yKGVsZW1lbnQpO1xuICAgICAgICBwcm9jZXNzSWYoZWxlbWVudCk7XG4gICAg
ICAgIHByb2Nlc3NPbmNlKGVsZW1lbnQpO1xuICAgICAgICBwcm9jZXNzS2V5KGVsZW1lbnQpO1xu
XG4gICAgICAgIC8vIGRldGVybWluZSB3aGV0aGVyIHRoaXMgaXMgYSBwbGFpbiBlbGVtZW50IGFm
dGVyXG4gICAgICAgIC8vIHJlbW92aW5nIHN0cnVjdHVyYWwgYXR0cmlidXRlc1xuICAgICAgICBl
bGVtZW50LnBsYWluID0gIWVsZW1lbnQua2V5ICYmICFhdHRycy5sZW5ndGg7XG5cbiAgICAgICAg
cHJvY2Vzc1JlZihlbGVtZW50KTtcbiAgICAgICAgcHJvY2Vzc1Nsb3QoZWxlbWVudCk7XG4gICAg
ICAgIHByb2Nlc3NDb21wb25lbnQoZWxlbWVudCk7XG4gICAgICAgIGZvciAodmFyIGkkMSA9IDA7
IGkkMSA8IHRyYW5zZm9ybXMubGVuZ3RoOyBpJDErKykge1xuICAgICAgICAgIHRyYW5zZm9ybXNb
aSQxXShlbGVtZW50LCBvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICBwcm9jZXNzQXR0cnMo
ZWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGNoZWNrUm9vdENvbnN0cmFpbnRz
IChlbCkge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9u
Jykge1xuICAgICAgICAgIGlmIChlbC50YWcgPT09ICdzbG90JyB8fCBlbC50YWcgPT09ICd0ZW1w
bGF0ZScpIHtcbiAgICAgICAgICAgIHdhcm5PbmNlKFxuICAgICAgICAgICAgICBcIkNhbm5vdCB1
c2UgPFwiICsgKGVsLnRhZykgKyBcIj4gYXMgY29tcG9uZW50IHJvb3QgZWxlbWVudCBiZWNhdXNl
IGl0IG1heSBcIiArXG4gICAgICAgICAgICAgICdjb250YWluIG11bHRpcGxlIG5vZGVzLidcbiAg
ICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChlbC5hdHRyc01hcC5oYXNP
d25Qcm9wZXJ0eSgndi1mb3InKSkge1xuICAgICAgICAgICAgd2Fybk9uY2UoXG4gICAgICAgICAg
ICAgICdDYW5ub3QgdXNlIHYtZm9yIG9uIHN0YXRlZnVsIGNvbXBvbmVudCByb290IGVsZW1lbnQg
YmVjYXVzZSAnICtcbiAgICAgICAgICAgICAgJ2l0IHJlbmRlcnMgbXVsdGlwbGUgZWxlbWVudHMu
J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAg
ICAgLy8gdHJlZSBtYW5hZ2VtZW50XG4gICAgICBpZiAoIXJvb3QpIHtcbiAgICAgICAgcm9vdCA9
IGVsZW1lbnQ7XG4gICAgICAgIGNoZWNrUm9vdENvbnN0cmFpbnRzKHJvb3QpO1xuICAgICAgfSBl
bHNlIGlmICghc3RhY2subGVuZ3RoKSB7XG4gICAgICAgIC8vIGFsbG93IHJvb3QgZWxlbWVudHMg
d2l0aCB2LWlmLCB2LWVsc2UtaWYgYW5kIHYtZWxzZVxuICAgICAgICBpZiAocm9vdC5pZiAmJiAo
ZWxlbWVudC5lbHNlaWYgfHwgZWxlbWVudC5lbHNlKSkge1xuICAgICAgICAgIGNoZWNrUm9vdENv
bnN0cmFpbnRzKGVsZW1lbnQpO1xuICAgICAgICAgIGFkZElmQ29uZGl0aW9uKHJvb3QsIHtcbiAg
ICAgICAgICAgIGV4cDogZWxlbWVudC5lbHNlaWYsXG4gICAgICAgICAgICBibG9jazogZWxlbWVu
dFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5W
ICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICB3YXJuT25jZShcbiAgICAgICAgICAgIFwi
Q29tcG9uZW50IHRlbXBsYXRlIHNob3VsZCBjb250YWluIGV4YWN0bHkgb25lIHJvb3QgZWxlbWVu
dC4gXCIgK1xuICAgICAgICAgICAgXCJJZiB5b3UgYXJlIHVzaW5nIHYtaWYgb24gbXVsdGlwbGUg
ZWxlbWVudHMsIFwiICtcbiAgICAgICAgICAgIFwidXNlIHYtZWxzZS1pZiB0byBjaGFpbiB0aGVt
IGluc3RlYWQuXCJcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAo
Y3VycmVudFBhcmVudCAmJiAhZWxlbWVudC5mb3JiaWRkZW4pIHtcbiAgICAgICAgaWYgKGVsZW1l
bnQuZWxzZWlmIHx8IGVsZW1lbnQuZWxzZSkge1xuICAgICAgICAgIHByb2Nlc3NJZkNvbmRpdGlv
bnMoZWxlbWVudCwgY3VycmVudFBhcmVudCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZWxlbWVudC5z
bG90U2NvcGUpIHsgLy8gc2NvcGVkIHNsb3RcbiAgICAgICAgICBjdXJyZW50UGFyZW50LnBsYWlu
ID0gZmFsc2U7XG4gICAgICAgICAgdmFyIG5hbWUgPSBlbGVtZW50LnNsb3RUYXJnZXQgfHwgJ1wi
ZGVmYXVsdFwiJzsoY3VycmVudFBhcmVudC5zY29wZWRTbG90cyB8fCAoY3VycmVudFBhcmVudC5z
Y29wZWRTbG90cyA9IHt9KSlbbmFtZV0gPSBlbGVtZW50O1xuICAgICAgICB9IGVsc2Uge1xuICAg
ICAgICAgIGN1cnJlbnRQYXJlbnQuY2hpbGRyZW4ucHVzaChlbGVtZW50KTtcbiAgICAgICAgICBl
bGVtZW50LnBhcmVudCA9IGN1cnJlbnRQYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAg
IGlmICghdW5hcnkpIHtcbiAgICAgICAgY3VycmVudFBhcmVudCA9IGVsZW1lbnQ7XG4gICAgICAg
IHN0YWNrLnB1c2goZWxlbWVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbmRQcmUoZWxl
bWVudCk7XG4gICAgICB9XG4gICAgICAvLyBhcHBseSBwb3N0LXRyYW5zZm9ybXNcbiAgICAgIGZv
ciAodmFyIGkkMiA9IDA7IGkkMiA8IHBvc3RUcmFuc2Zvcm1zLmxlbmd0aDsgaSQyKyspIHtcbiAg
ICAgICAgcG9zdFRyYW5zZm9ybXNbaSQyXShlbGVtZW50LCBvcHRpb25zKTtcbiAgICAgIH1cbiAg
ICB9LFxuXG4gICAgZW5kOiBmdW5jdGlvbiBlbmQgKCkge1xuICAgICAgLy8gcmVtb3ZlIHRyYWls
aW5nIHdoaXRlc3BhY2VcbiAgICAgIHZhciBlbGVtZW50ID0gc3RhY2tbc3RhY2subGVuZ3RoIC0g
MV07XG4gICAgICB2YXIgbGFzdE5vZGUgPSBlbGVtZW50LmNoaWxkcmVuW2VsZW1lbnQuY2hpbGRy
ZW4ubGVuZ3RoIC0gMV07XG4gICAgICBpZiAobGFzdE5vZGUgJiYgbGFzdE5vZGUudHlwZSA9PT0g
MyAmJiBsYXN0Tm9kZS50ZXh0ID09PSAnICcgJiYgIWluUHJlKSB7XG4gICAgICAgIGVsZW1lbnQu
Y2hpbGRyZW4ucG9wKCk7XG4gICAgICB9XG4gICAgICAvLyBwb3Agc3RhY2tcbiAgICAgIHN0YWNr
Lmxlbmd0aCAtPSAxO1xuICAgICAgY3VycmVudFBhcmVudCA9IHN0YWNrW3N0YWNrLmxlbmd0aCAt
IDFdO1xuICAgICAgZW5kUHJlKGVsZW1lbnQpO1xuICAgIH0sXG5cbiAgICBjaGFyczogZnVuY3Rp
b24gY2hhcnMgKHRleHQpIHtcbiAgICAgIGlmICghY3VycmVudFBhcmVudCkge1xuICAgICAgICBp
ZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgIGlm
ICh0ZXh0ID09PSB0ZW1wbGF0ZSkge1xuICAgICAgICAgICAgd2Fybk9uY2UoXG4gICAgICAgICAg
ICAgICdDb21wb25lbnQgdGVtcGxhdGUgcmVxdWlyZXMgYSByb290IGVsZW1lbnQsIHJhdGhlciB0
aGFuIGp1c3QgdGV4dC4nXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSBpZiAoKHRl
eHQgPSB0ZXh0LnRyaW0oKSkpIHtcbiAgICAgICAgICAgIHdhcm5PbmNlKFxuICAgICAgICAgICAg
ICAoXCJ0ZXh0IFxcXCJcIiArIHRleHQgKyBcIlxcXCIgb3V0c2lkZSByb290IGVsZW1lbnQgd2ls
bCBiZSBpZ25vcmVkLlwiKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1c
biAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICAvLyBJRSB0ZXh0YXJlYSBwbGFjZWhvbGRl
ciBidWdcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgaWYgKGlzSUUgJiZc
biAgICAgICAgY3VycmVudFBhcmVudC50YWcgPT09ICd0ZXh0YXJlYScgJiZcbiAgICAgICAgY3Vy
cmVudFBhcmVudC5hdHRyc01hcC5wbGFjZWhvbGRlciA9PT0gdGV4dFxuICAgICAgKSB7XG4gICAg
ICAgIHJldHVyblxuICAgICAgfVxuICAgICAgdmFyIGNoaWxkcmVuID0gY3VycmVudFBhcmVudC5j
aGlsZHJlbjtcbiAgICAgIHRleHQgPSBpblByZSB8fCB0ZXh0LnRyaW0oKVxuICAgICAgICA/IGlz
VGV4dFRhZyhjdXJyZW50UGFyZW50KSA/IHRleHQgOiBkZWNvZGVIVE1MQ2FjaGVkKHRleHQpXG4g
ICAgICAgIC8vIG9ubHkgcHJlc2VydmUgd2hpdGVzcGFjZSBpZiBpdHMgbm90IHJpZ2h0IGFmdGVy
IGEgc3RhcnRpbmcgdGFnXG4gICAgICAgIDogcHJlc2VydmVXaGl0ZXNwYWNlICYmIGNoaWxkcmVu
Lmxlbmd0aCA/ICcgJyA6ICcnO1xuICAgICAgaWYgKHRleHQpIHtcbiAgICAgICAgdmFyIGV4cHJl
c3Npb247XG4gICAgICAgIGlmICghaW5WUHJlICYmIHRleHQgIT09ICcgJyAmJiAoZXhwcmVzc2lv
biA9IHBhcnNlVGV4dCh0ZXh0LCBkZWxpbWl0ZXJzKSkpIHtcbiAgICAgICAgICBjaGlsZHJlbi5w
dXNoKHtcbiAgICAgICAgICAgIHR5cGU6IDIsXG4gICAgICAgICAgICBleHByZXNzaW9uOiBleHBy
ZXNzaW9uLFxuICAgICAgICAgICAgdGV4dDogdGV4dFxuICAgICAgICAgIH0pO1xuICAgICAgICB9
IGVsc2UgaWYgKHRleHQgIT09ICcgJyB8fCAhY2hpbGRyZW4ubGVuZ3RoIHx8IGNoaWxkcmVuW2No
aWxkcmVuLmxlbmd0aCAtIDFdLnRleHQgIT09ICcgJykge1xuICAgICAgICAgIGNoaWxkcmVuLnB1
c2goe1xuICAgICAgICAgICAgdHlwZTogMyxcbiAgICAgICAgICAgIHRleHQ6IHRleHRcbiAgICAg
ICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgY29tbWVudDogZnVuY3Rp
b24gY29tbWVudCAodGV4dCkge1xuICAgICAgY3VycmVudFBhcmVudC5jaGlsZHJlbi5wdXNoKHtc
biAgICAgICAgdHlwZTogMyxcbiAgICAgICAgdGV4dDogdGV4dCxcbiAgICAgICAgaXNDb21tZW50
OiB0cnVlXG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gcm9vdFxufVxuXG5mdW5j
dGlvbiBwcm9jZXNzUHJlIChlbCkge1xuICBpZiAoZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3YtcHJl
JykgIT0gbnVsbCkge1xuICAgIGVsLnByZSA9IHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJv
Y2Vzc1Jhd0F0dHJzIChlbCkge1xuICB2YXIgbCA9IGVsLmF0dHJzTGlzdC5sZW5ndGg7XG4gIGlm
IChsKSB7XG4gICAgdmFyIGF0dHJzID0gZWwuYXR0cnMgPSBuZXcgQXJyYXkobCk7XG4gICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgIGF0dHJzW2ldID0ge1xuICAgICAgICBu
YW1lOiBlbC5hdHRyc0xpc3RbaV0ubmFtZSxcbiAgICAgICAgdmFsdWU6IEpTT04uc3RyaW5naWZ5
KGVsLmF0dHJzTGlzdFtpXS52YWx1ZSlcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2UgaWYgKCFl
bC5wcmUpIHtcbiAgICAvLyBub24gcm9vdCBub2RlIGluIHByZSBibG9ja3Mgd2l0aCBubyBhdHRy
aWJ1dGVzXG4gICAgZWwucGxhaW4gPSB0cnVlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NL
ZXkgKGVsKSB7XG4gIHZhciBleHAgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ2tleScpO1xuICBpZiAo
ZXhwKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYg
ZWwudGFnID09PSAndGVtcGxhdGUnKSB7XG4gICAgICB3YXJuJDIoXCI8dGVtcGxhdGU+IGNhbm5v
dCBiZSBrZXllZC4gUGxhY2UgdGhlIGtleSBvbiByZWFsIGVsZW1lbnRzIGluc3RlYWQuXCIpO1xu
ICAgIH1cbiAgICBlbC5rZXkgPSBleHA7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvY2Vzc1JlZiAo
ZWwpIHtcbiAgdmFyIHJlZiA9IGdldEJpbmRpbmdBdHRyKGVsLCAncmVmJyk7XG4gIGlmIChyZWYp
IHtcbiAgICBlbC5yZWYgPSByZWY7XG4gICAgZWwucmVmSW5Gb3IgPSBjaGVja0luRm9yKGVsKTtc
biAgfVxufVxuXG5mdW5jdGlvbiBwcm9jZXNzRm9yIChlbCkge1xuICB2YXIgZXhwO1xuICBpZiAo
KGV4cCA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICd2LWZvcicpKSkge1xuICAgIHZhciBpbk1hdGNo
ID0gZXhwLm1hdGNoKGZvckFsaWFzUkUpO1xuICAgIGlmICghaW5NYXRjaCkge1xuICAgICAgcHJv
Y2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuJDIoXG4gICAgICAgIChc
IkludmFsaWQgdi1mb3IgZXhwcmVzc2lvbjogXCIgKyBleHApXG4gICAgICApO1xuICAgICAgcmV0
dXJuXG4gICAgfVxuICAgIGVsLmZvciA9IGluTWF0Y2hbMl0udHJpbSgpO1xuICAgIHZhciBhbGlh
cyA9IGluTWF0Y2hbMV0udHJpbSgpO1xuICAgIHZhciBpdGVyYXRvck1hdGNoID0gYWxpYXMubWF0
Y2goZm9ySXRlcmF0b3JSRSk7XG4gICAgaWYgKGl0ZXJhdG9yTWF0Y2gpIHtcbiAgICAgIGVsLmFs
aWFzID0gaXRlcmF0b3JNYXRjaFsxXS50cmltKCk7XG4gICAgICBlbC5pdGVyYXRvcjEgPSBpdGVy
YXRvck1hdGNoWzJdLnRyaW0oKTtcbiAgICAgIGlmIChpdGVyYXRvck1hdGNoWzNdKSB7XG4gICAg
ICAgIGVsLml0ZXJhdG9yMiA9IGl0ZXJhdG9yTWF0Y2hbM10udHJpbSgpO1xuICAgICAgfVxuICAg
IH0gZWxzZSB7XG4gICAgICBlbC5hbGlhcyA9IGFsaWFzO1xuICAgIH1cbiAgfVxufVxuXG5mdW5j
dGlvbiBwcm9jZXNzSWYgKGVsKSB7XG4gIHZhciBleHAgPSBnZXRBbmRSZW1vdmVBdHRyKGVsLCAn
di1pZicpO1xuICBpZiAoZXhwKSB7XG4gICAgZWwuaWYgPSBleHA7XG4gICAgYWRkSWZDb25kaXRp
b24oZWwsIHtcbiAgICAgIGV4cDogZXhwLFxuICAgICAgYmxvY2s6IGVsXG4gICAgfSk7XG4gIH0g
ZWxzZSB7XG4gICAgaWYgKGdldEFuZFJlbW92ZUF0dHIoZWwsICd2LWVsc2UnKSAhPSBudWxsKSB7
XG4gICAgICBlbC5lbHNlID0gdHJ1ZTtcbiAgICB9XG4gICAgdmFyIGVsc2VpZiA9IGdldEFuZFJl
bW92ZUF0dHIoZWwsICd2LWVsc2UtaWYnKTtcbiAgICBpZiAoZWxzZWlmKSB7XG4gICAgICBlbC5l
bHNlaWYgPSBlbHNlaWY7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NJZkNvbmRp
dGlvbnMgKGVsLCBwYXJlbnQpIHtcbiAgdmFyIHByZXYgPSBmaW5kUHJldkVsZW1lbnQocGFyZW50
LmNoaWxkcmVuKTtcbiAgaWYgKHByZXYgJiYgcHJldi5pZikge1xuICAgIGFkZElmQ29uZGl0aW9u
KHByZXYsIHtcbiAgICAgIGV4cDogZWwuZWxzZWlmLFxuICAgICAgYmxvY2s6IGVsXG4gICAgfSk7
XG4gIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xu
ICAgIHdhcm4kMihcbiAgICAgIFwidi1cIiArIChlbC5lbHNlaWYgPyAoJ2Vsc2UtaWY9XCInICsg
ZWwuZWxzZWlmICsgJ1wiJykgOiAnZWxzZScpICsgXCIgXCIgK1xuICAgICAgXCJ1c2VkIG9uIGVs
ZW1lbnQgPFwiICsgKGVsLnRhZykgKyBcIj4gd2l0aG91dCBjb3JyZXNwb25kaW5nIHYtaWYuXCJc
biAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRQcmV2RWxlbWVudCAoY2hpbGRyZW4pIHtc
biAgdmFyIGkgPSBjaGlsZHJlbi5sZW5ndGg7XG4gIHdoaWxlIChpLS0pIHtcbiAgICBpZiAoY2hp
bGRyZW5baV0udHlwZSA9PT0gMSkge1xuICAgICAgcmV0dXJuIGNoaWxkcmVuW2ldXG4gICAgfSBl
bHNlIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYm
IGNoaWxkcmVuW2ldLnRleHQgIT09ICcgJykge1xuICAgICAgICB3YXJuJDIoXG4gICAgICAgICAg
XCJ0ZXh0IFxcXCJcIiArIChjaGlsZHJlbltpXS50ZXh0LnRyaW0oKSkgKyBcIlxcXCIgYmV0d2Vl
biB2LWlmIGFuZCB2LWVsc2UoLWlmKSBcIiArXG4gICAgICAgICAgXCJ3aWxsIGJlIGlnbm9yZWQu
XCJcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNoaWxkcmVuLnBvcCgpO1xuICAgIH1cbiAg
fVxufVxuXG5mdW5jdGlvbiBhZGRJZkNvbmRpdGlvbiAoZWwsIGNvbmRpdGlvbikge1xuICBpZiAo
IWVsLmlmQ29uZGl0aW9ucykge1xuICAgIGVsLmlmQ29uZGl0aW9ucyA9IFtdO1xuICB9XG4gIGVs
LmlmQ29uZGl0aW9ucy5wdXNoKGNvbmRpdGlvbik7XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NPbmNl
IChlbCkge1xuICB2YXIgb25jZSQkMSA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICd2LW9uY2UnKTtc
biAgaWYgKG9uY2UkJDEgIT0gbnVsbCkge1xuICAgIGVsLm9uY2UgPSB0cnVlO1xuICB9XG59XG5c
bmZ1bmN0aW9uIHByb2Nlc3NTbG90IChlbCkge1xuICBpZiAoZWwudGFnID09PSAnc2xvdCcpIHtc
biAgICBlbC5zbG90TmFtZSA9IGdldEJpbmRpbmdBdHRyKGVsLCAnbmFtZScpO1xuICAgIGlmIChw
cm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGVsLmtleSkge1xuICAgICAg
d2FybiQyKFxuICAgICAgICBcImBrZXlgIGRvZXMgbm90IHdvcmsgb24gPHNsb3Q+IGJlY2F1c2Ug
c2xvdHMgYXJlIGFic3RyYWN0IG91dGxldHMgXCIgK1xuICAgICAgICBcImFuZCBjYW4gcG9zc2li
bHkgZXhwYW5kIGludG8gbXVsdGlwbGUgZWxlbWVudHMuIFwiICtcbiAgICAgICAgXCJVc2UgdGhl
IGtleSBvbiBhIHdyYXBwaW5nIGVsZW1lbnQgaW5zdGVhZC5cIlxuICAgICAgKTtcbiAgICB9XG4g
IH0gZWxzZSB7XG4gICAgdmFyIHNsb3RUYXJnZXQgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ3Nsb3Qn
KTtcbiAgICBpZiAoc2xvdFRhcmdldCkge1xuICAgICAgZWwuc2xvdFRhcmdldCA9IHNsb3RUYXJn
ZXQgPT09ICdcIlwiJyA/ICdcImRlZmF1bHRcIicgOiBzbG90VGFyZ2V0O1xuICAgIH1cbiAgICBp
ZiAoZWwudGFnID09PSAndGVtcGxhdGUnKSB7XG4gICAgICBlbC5zbG90U2NvcGUgPSBnZXRBbmRS
ZW1vdmVBdHRyKGVsLCAnc2NvcGUnKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvY2Vz
c0NvbXBvbmVudCAoZWwpIHtcbiAgdmFyIGJpbmRpbmc7XG4gIGlmICgoYmluZGluZyA9IGdldEJp
bmRpbmdBdHRyKGVsLCAnaXMnKSkpIHtcbiAgICBlbC5jb21wb25lbnQgPSBiaW5kaW5nO1xuICB9
XG4gIGlmIChnZXRBbmRSZW1vdmVBdHRyKGVsLCAnaW5saW5lLXRlbXBsYXRlJykgIT0gbnVsbCkg
e1xuICAgIGVsLmlubGluZVRlbXBsYXRlID0gdHJ1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwcm9j
ZXNzQXR0cnMgKGVsKSB7XG4gIHZhciBsaXN0ID0gZWwuYXR0cnNMaXN0O1xuICB2YXIgaSwgbCwg
bmFtZSwgcmF3TmFtZSwgdmFsdWUsIG1vZGlmaWVycywgaXNQcm9wO1xuICBmb3IgKGkgPSAwLCBs
ID0gbGlzdC5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBuYW1lID0gcmF3TmFtZSA9IGxpc3Rb
aV0ubmFtZTtcbiAgICB2YWx1ZSA9IGxpc3RbaV0udmFsdWU7XG4gICAgaWYgKGRpclJFLnRlc3Qo
bmFtZSkpIHtcbiAgICAgIC8vIG1hcmsgZWxlbWVudCBhcyBkeW5hbWljXG4gICAgICBlbC5oYXNC
aW5kaW5ncyA9IHRydWU7XG4gICAgICAvLyBtb2RpZmllcnNcbiAgICAgIG1vZGlmaWVycyA9IHBh
cnNlTW9kaWZpZXJzKG5hbWUpO1xuICAgICAgaWYgKG1vZGlmaWVycykge1xuICAgICAgICBuYW1l
ID0gbmFtZS5yZXBsYWNlKG1vZGlmaWVyUkUsICcnKTtcbiAgICAgIH1cbiAgICAgIGlmIChiaW5k
UkUudGVzdChuYW1lKSkgeyAvLyB2LWJpbmRcbiAgICAgICAgbmFtZSA9IG5hbWUucmVwbGFjZShi
aW5kUkUsICcnKTtcbiAgICAgICAgdmFsdWUgPSBwYXJzZUZpbHRlcnModmFsdWUpO1xuICAgICAg
ICBpc1Byb3AgPSBmYWxzZTtcbiAgICAgICAgaWYgKG1vZGlmaWVycykge1xuICAgICAgICAgIGlm
IChtb2RpZmllcnMucHJvcCkge1xuICAgICAgICAgICAgaXNQcm9wID0gdHJ1ZTtcbiAgICAgICAg
ICAgIG5hbWUgPSBjYW1lbGl6ZShuYW1lKTtcbiAgICAgICAgICAgIGlmIChuYW1lID09PSAnaW5u
ZXJIdG1sJykgeyBuYW1lID0gJ2lubmVySFRNTCc7IH1cbiAgICAgICAgICB9XG4gICAgICAgICAg
aWYgKG1vZGlmaWVycy5jYW1lbCkge1xuICAgICAgICAgICAgbmFtZSA9IGNhbWVsaXplKG5hbWUp
O1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAobW9kaWZpZXJzLnN5bmMpIHtcbiAgICAgICAg
ICAgIGFkZEhhbmRsZXIoXG4gICAgICAgICAgICAgIGVsLFxuICAgICAgICAgICAgICAoXCJ1cGRh
dGU6XCIgKyAoY2FtZWxpemUobmFtZSkpKSxcbiAgICAgICAgICAgICAgZ2VuQXNzaWdubWVudENv
ZGUodmFsdWUsIFwiJGV2ZW50XCIpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAg
ICAgfVxuICAgICAgICBpZiAoaXNQcm9wIHx8IChcbiAgICAgICAgICAhZWwuY29tcG9uZW50ICYm
IHBsYXRmb3JtTXVzdFVzZVByb3AoZWwudGFnLCBlbC5hdHRyc01hcC50eXBlLCBuYW1lKVxuICAg
ICAgICApKSB7XG4gICAgICAgICAgYWRkUHJvcChlbCwgbmFtZSwgdmFsdWUpO1xuICAgICAgICB9
IGVsc2Uge1xuICAgICAgICAgIGFkZEF0dHIoZWwsIG5hbWUsIHZhbHVlKTtcbiAgICAgICAgfVxu
ICAgICAgfSBlbHNlIGlmIChvblJFLnRlc3QobmFtZSkpIHsgLy8gdi1vblxuICAgICAgICBuYW1l
ID0gbmFtZS5yZXBsYWNlKG9uUkUsICcnKTtcbiAgICAgICAgYWRkSGFuZGxlcihlbCwgbmFtZSwg
dmFsdWUsIG1vZGlmaWVycywgZmFsc2UsIHdhcm4kMik7XG4gICAgICB9IGVsc2UgeyAvLyBub3Jt
YWwgZGlyZWN0aXZlc1xuICAgICAgICBuYW1lID0gbmFtZS5yZXBsYWNlKGRpclJFLCAnJyk7XG4g
ICAgICAgIC8vIHBhcnNlIGFyZ1xuICAgICAgICB2YXIgYXJnTWF0Y2ggPSBuYW1lLm1hdGNoKGFy
Z1JFKTtcbiAgICAgICAgdmFyIGFyZyA9IGFyZ01hdGNoICYmIGFyZ01hdGNoWzFdO1xuICAgICAg
ICBpZiAoYXJnKSB7XG4gICAgICAgICAgbmFtZSA9IG5hbWUuc2xpY2UoMCwgLShhcmcubGVuZ3Ro
ICsgMSkpO1xuICAgICAgICB9XG4gICAgICAgIGFkZERpcmVjdGl2ZShlbCwgbmFtZSwgcmF3TmFt
ZSwgdmFsdWUsIGFyZywgbW9kaWZpZXJzKTtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVf
RU5WICE9PSAncHJvZHVjdGlvbicgJiYgbmFtZSA9PT0gJ21vZGVsJykge1xuICAgICAgICAgIGNo
ZWNrRm9yQWxpYXNNb2RlbChlbCwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBl
bHNlIHtcbiAgICAgIC8vIGxpdGVyYWwgYXR0cmlidXRlXG4gICAgICBpZiAocHJvY2Vzcy5lbnYu
Tk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICB2YXIgZXhwcmVzc2lvbiA9IHBh
cnNlVGV4dCh2YWx1ZSwgZGVsaW1pdGVycyk7XG4gICAgICAgIGlmIChleHByZXNzaW9uKSB7XG4g
ICAgICAgICAgd2FybiQyKFxuICAgICAgICAgICAgbmFtZSArIFwiPVxcXCJcIiArIHZhbHVlICsg
XCJcXFwiOiBcIiArXG4gICAgICAgICAgICAnSW50ZXJwb2xhdGlvbiBpbnNpZGUgYXR0cmlidXRl
cyBoYXMgYmVlbiByZW1vdmVkLiAnICtcbiAgICAgICAgICAgICdVc2Ugdi1iaW5kIG9yIHRoZSBj
b2xvbiBzaG9ydGhhbmQgaW5zdGVhZC4gRm9yIGV4YW1wbGUsICcgK1xuICAgICAgICAgICAgJ2lu
c3RlYWQgb2YgPGRpdiBpZD1cInt7IHZhbCB9fVwiPiwgdXNlIDxkaXYgOmlkPVwidmFsXCI+Lidc
biAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBhZGRBdHRyKGVsLCBuYW1l
LCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjaGVj
a0luRm9yIChlbCkge1xuICB2YXIgcGFyZW50ID0gZWw7XG4gIHdoaWxlIChwYXJlbnQpIHtcbiAg
ICBpZiAocGFyZW50LmZvciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAg
IH1cbiAgICBwYXJlbnQgPSBwYXJlbnQucGFyZW50O1xuICB9XG4gIHJldHVybiBmYWxzZVxufVxu
XG5mdW5jdGlvbiBwYXJzZU1vZGlmaWVycyAobmFtZSkge1xuICB2YXIgbWF0Y2ggPSBuYW1lLm1h
dGNoKG1vZGlmaWVyUkUpO1xuICBpZiAobWF0Y2gpIHtcbiAgICB2YXIgcmV0ID0ge307XG4gICAg
bWF0Y2guZm9yRWFjaChmdW5jdGlvbiAobSkgeyByZXRbbS5zbGljZSgxKV0gPSB0cnVlOyB9KTtc
biAgICByZXR1cm4gcmV0XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFrZUF0dHJzTWFwIChhdHRycykg
e1xuICB2YXIgbWFwID0ge307XG4gIGZvciAodmFyIGkgPSAwLCBsID0gYXR0cnMubGVuZ3RoOyBp
IDwgbDsgaSsrKSB7XG4gICAgaWYgKFxuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdw
cm9kdWN0aW9uJyAmJlxuICAgICAgbWFwW2F0dHJzW2ldLm5hbWVdICYmICFpc0lFICYmICFpc0Vk
Z2VcbiAgICApIHtcbiAgICAgIHdhcm4kMignZHVwbGljYXRlIGF0dHJpYnV0ZTogJyArIGF0dHJz
W2ldLm5hbWUpO1xuICAgIH1cbiAgICBtYXBbYXR0cnNbaV0ubmFtZV0gPSBhdHRyc1tpXS52YWx1
ZTtcbiAgfVxuICByZXR1cm4gbWFwXG59XG5cbi8vIGZvciBzY3JpcHQgKGUuZy4gdHlwZT1cIngv
dGVtcGxhdGVcIikgb3Igc3R5bGUsIGRvIG5vdCBkZWNvZGUgY29udGVudFxuZnVuY3Rpb24gaXNU
ZXh0VGFnIChlbCkge1xuICByZXR1cm4gZWwudGFnID09PSAnc2NyaXB0JyB8fCBlbC50YWcgPT09
ICdzdHlsZSdcbn1cblxuZnVuY3Rpb24gaXNGb3JiaWRkZW5UYWcgKGVsKSB7XG4gIHJldHVybiAo
XG4gICAgZWwudGFnID09PSAnc3R5bGUnIHx8XG4gICAgKGVsLnRhZyA9PT0gJ3NjcmlwdCcgJiYg
KFxuICAgICAgIWVsLmF0dHJzTWFwLnR5cGUgfHxcbiAgICAgIGVsLmF0dHJzTWFwLnR5cGUgPT09
ICd0ZXh0L2phdmFzY3JpcHQnXG4gICAgKSlcbiAgKVxufVxuXG52YXIgaWVOU0J1ZyA9IC9eeG1s
bnM6TlNcXGQrLztcbnZhciBpZU5TUHJlZml4ID0gL15OU1xcZCs6LztcblxuLyogaXN0YW5idWwg
aWdub3JlIG5leHQgKi9cbmZ1bmN0aW9uIGd1YXJkSUVTVkdCdWcgKGF0dHJzKSB7XG4gIHZhciBy
ZXMgPSBbXTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBhdHRycy5sZW5ndGg7IGkrKykge1xuICAg
IHZhciBhdHRyID0gYXR0cnNbaV07XG4gICAgaWYgKCFpZU5TQnVnLnRlc3QoYXR0ci5uYW1lKSkg
e1xuICAgICAgYXR0ci5uYW1lID0gYXR0ci5uYW1lLnJlcGxhY2UoaWVOU1ByZWZpeCwgJycpO1xu
ICAgICAgcmVzLnB1c2goYXR0cik7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNcbn1cblxuZnVu
Y3Rpb24gY2hlY2tGb3JBbGlhc01vZGVsIChlbCwgdmFsdWUpIHtcbiAgdmFyIF9lbCA9IGVsO1xu
ICB3aGlsZSAoX2VsKSB7XG4gICAgaWYgKF9lbC5mb3IgJiYgX2VsLmFsaWFzID09PSB2YWx1ZSkg
e1xuICAgICAgd2FybiQyKFxuICAgICAgICBcIjxcIiArIChlbC50YWcpICsgXCIgdi1tb2RlbD1c
XFwiXCIgKyB2YWx1ZSArIFwiXFxcIj46IFwiICtcbiAgICAgICAgXCJZb3UgYXJlIGJpbmRpbmcg
di1tb2RlbCBkaXJlY3RseSB0byBhIHYtZm9yIGl0ZXJhdGlvbiBhbGlhcy4gXCIgK1xuICAgICAg
ICBcIlRoaXMgd2lsbCBub3QgYmUgYWJsZSB0byBtb2RpZnkgdGhlIHYtZm9yIHNvdXJjZSBhcnJh
eSBiZWNhdXNlIFwiICtcbiAgICAgICAgXCJ3cml0aW5nIHRvIHRoZSBhbGlhcyBpcyBsaWtlIG1v
ZGlmeWluZyBhIGZ1bmN0aW9uIGxvY2FsIHZhcmlhYmxlLiBcIiArXG4gICAgICAgIFwiQ29uc2lk
ZXIgdXNpbmcgYW4gYXJyYXkgb2Ygb2JqZWN0cyBhbmQgdXNlIHYtbW9kZWwgb24gYW4gb2JqZWN0
IHByb3BlcnR5IGluc3RlYWQuXCJcbiAgICAgICk7XG4gICAgfVxuICAgIF9lbCA9IF9lbC5wYXJl
bnQ7XG4gIH1cbn1cblxuLyogICovXG5cbnZhciBpc1N0YXRpY0tleTtcbnZhciBpc1BsYXRmb3Jt
UmVzZXJ2ZWRUYWc7XG5cbnZhciBnZW5TdGF0aWNLZXlzQ2FjaGVkID0gY2FjaGVkKGdlblN0YXRp
Y0tleXMkMSk7XG5cbi8qKlxuICogR29hbCBvZiB0aGUgb3B0aW1pemVyOiB3YWxrIHRoZSBnZW5l
cmF0ZWQgdGVtcGxhdGUgQVNUIHRyZWVcbiAqIGFuZCBkZXRlY3Qgc3ViLXRyZWVzIHRoYXQgYXJl
IHB1cmVseSBzdGF0aWMsIGkuZS4gcGFydHMgb2ZcbiAqIHRoZSBET00gdGhhdCBuZXZlciBuZWVk
cyB0byBjaGFuZ2UuXG4gKlxuICogT25jZSB3ZSBkZXRlY3QgdGhlc2Ugc3ViLXRyZWVzLCB3ZSBj
YW46XG4gKlxuICogMS4gSG9pc3QgdGhlbSBpbnRvIGNvbnN0YW50cywgc28gdGhhdCB3ZSBubyBs
b25nZXIgbmVlZCB0b1xuICogICAgY3JlYXRlIGZyZXNoIG5vZGVzIGZvciB0aGVtIG9uIGVhY2gg
cmUtcmVuZGVyO1xuICogMi4gQ29tcGxldGVseSBza2lwIHRoZW0gaW4gdGhlIHBhdGNoaW5nIHBy
b2Nlc3MuXG4gKi9cbmZ1bmN0aW9uIG9wdGltaXplIChyb290LCBvcHRpb25zKSB7XG4gIGlmICgh
cm9vdCkgeyByZXR1cm4gfVxuICBpc1N0YXRpY0tleSA9IGdlblN0YXRpY0tleXNDYWNoZWQob3B0
aW9ucy5zdGF0aWNLZXlzIHx8ICcnKTtcbiAgaXNQbGF0Zm9ybVJlc2VydmVkVGFnID0gb3B0aW9u
cy5pc1Jlc2VydmVkVGFnIHx8IG5vO1xuICAvLyBmaXJzdCBwYXNzOiBtYXJrIGFsbCBub24tc3Rh
dGljIG5vZGVzLlxuICBtYXJrU3RhdGljJDEocm9vdCk7XG4gIC8vIHNlY29uZCBwYXNzOiBtYXJr
IHN0YXRpYyByb290cy5cbiAgbWFya1N0YXRpY1Jvb3RzKHJvb3QsIGZhbHNlKTtcbn1cblxuZnVu
Y3Rpb24gZ2VuU3RhdGljS2V5cyQxIChrZXlzKSB7XG4gIHJldHVybiBtYWtlTWFwKFxuICAgICd0
eXBlLHRhZyxhdHRyc0xpc3QsYXR0cnNNYXAscGxhaW4scGFyZW50LGNoaWxkcmVuLGF0dHJzJyAr
XG4gICAgKGtleXMgPyAnLCcgKyBrZXlzIDogJycpXG4gIClcbn1cblxuZnVuY3Rpb24gbWFya1N0
YXRpYyQxIChub2RlKSB7XG4gIG5vZGUuc3RhdGljID0gaXNTdGF0aWMobm9kZSk7XG4gIGlmIChu
b2RlLnR5cGUgPT09IDEpIHtcbiAgICAvLyBkbyBub3QgbWFrZSBjb21wb25lbnQgc2xvdCBjb250
ZW50IHN0YXRpYy4gdGhpcyBhdm9pZHNcbiAgICAvLyAxLiBjb21wb25lbnRzIG5vdCBhYmxlIHRv
IG11dGF0ZSBzbG90IG5vZGVzXG4gICAgLy8gMi4gc3RhdGljIHNsb3QgY29udGVudCBmYWlscyBm
b3IgaG90LXJlbG9hZGluZ1xuICAgIGlmIChcbiAgICAgICFpc1BsYXRmb3JtUmVzZXJ2ZWRUYWco
bm9kZS50YWcpICYmXG4gICAgICBub2RlLnRhZyAhPT0gJ3Nsb3QnICYmXG4gICAgICBub2RlLmF0
dHJzTWFwWydpbmxpbmUtdGVtcGxhdGUnXSA9PSBudWxsXG4gICAgKSB7XG4gICAgICByZXR1cm5c
biAgICB9XG4gICAgZm9yICh2YXIgaSA9IDAsIGwgPSBub2RlLmNoaWxkcmVuLmxlbmd0aDsgaSA8
IGw7IGkrKykge1xuICAgICAgdmFyIGNoaWxkID0gbm9kZS5jaGlsZHJlbltpXTtcbiAgICAgIG1h
cmtTdGF0aWMkMShjaGlsZCk7XG4gICAgICBpZiAoIWNoaWxkLnN0YXRpYykge1xuICAgICAgICBu
b2RlLnN0YXRpYyA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAobm9kZS5pZkNvbmRp
dGlvbnMpIHtcbiAgICAgIGZvciAodmFyIGkkMSA9IDEsIGwkMSA9IG5vZGUuaWZDb25kaXRpb25z
Lmxlbmd0aDsgaSQxIDwgbCQxOyBpJDErKykge1xuICAgICAgICB2YXIgYmxvY2sgPSBub2RlLmlm
Q29uZGl0aW9uc1tpJDFdLmJsb2NrO1xuICAgICAgICBtYXJrU3RhdGljJDEoYmxvY2spO1xuICAg
ICAgICBpZiAoIWJsb2NrLnN0YXRpYykge1xuICAgICAgICAgIG5vZGUuc3RhdGljID0gZmFsc2U7
XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFya1N0YXRp
Y1Jvb3RzIChub2RlLCBpc0luRm9yKSB7XG4gIGlmIChub2RlLnR5cGUgPT09IDEpIHtcbiAgICBp
ZiAobm9kZS5zdGF0aWMgfHwgbm9kZS5vbmNlKSB7XG4gICAgICBub2RlLnN0YXRpY0luRm9yID0g
aXNJbkZvcjtcbiAgICB9XG4gICAgLy8gRm9yIGEgbm9kZSB0byBxdWFsaWZ5IGFzIGEgc3RhdGlj
IHJvb3QsIGl0IHNob3VsZCBoYXZlIGNoaWxkcmVuIHRoYXRcbiAgICAvLyBhcmUgbm90IGp1c3Qg
c3RhdGljIHRleHQuIE90aGVyd2lzZSB0aGUgY29zdCBvZiBob2lzdGluZyBvdXQgd2lsbFxuICAg
IC8vIG91dHdlaWdoIHRoZSBiZW5lZml0cyBhbmQgaXQncyBiZXR0ZXIgb2ZmIHRvIGp1c3QgYWx3
YXlzIHJlbmRlciBpdCBmcmVzaC5cbiAgICBpZiAobm9kZS5zdGF0aWMgJiYgbm9kZS5jaGlsZHJl
bi5sZW5ndGggJiYgIShcbiAgICAgIG5vZGUuY2hpbGRyZW4ubGVuZ3RoID09PSAxICYmXG4gICAg
ICBub2RlLmNoaWxkcmVuWzBdLnR5cGUgPT09IDNcbiAgICApKSB7XG4gICAgICBub2RlLnN0YXRp
Y1Jvb3QgPSB0cnVlO1xuICAgICAgcmV0dXJuXG4gICAgfSBlbHNlIHtcbiAgICAgIG5vZGUuc3Rh
dGljUm9vdCA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAobm9kZS5jaGlsZHJlbikge1xuICAgICAg
Zm9yICh2YXIgaSA9IDAsIGwgPSBub2RlLmNoaWxkcmVuLmxlbmd0aDsgaSA8IGw7IGkrKykge1xu
ICAgICAgICBtYXJrU3RhdGljUm9vdHMobm9kZS5jaGlsZHJlbltpXSwgaXNJbkZvciB8fCAhIW5v
ZGUuZm9yKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKG5vZGUuaWZDb25kaXRpb25zKSB7XG4g
ICAgICBmb3IgKHZhciBpJDEgPSAxLCBsJDEgPSBub2RlLmlmQ29uZGl0aW9ucy5sZW5ndGg7IGkk
MSA8IGwkMTsgaSQxKyspIHtcbiAgICAgICAgbWFya1N0YXRpY1Jvb3RzKG5vZGUuaWZDb25kaXRp
b25zW2kkMV0uYmxvY2ssIGlzSW5Gb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5j
dGlvbiBpc1N0YXRpYyAobm9kZSkge1xuICBpZiAobm9kZS50eXBlID09PSAyKSB7IC8vIGV4cHJl
c3Npb25cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBpZiAobm9kZS50eXBlID09PSAzKSB7IC8v
IHRleHRcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG4gIHJldHVybiAhIShub2RlLnByZSB8fCAoXG4g
ICAgIW5vZGUuaGFzQmluZGluZ3MgJiYgLy8gbm8gZHluYW1pYyBiaW5kaW5nc1xuICAgICFub2Rl
LmlmICYmICFub2RlLmZvciAmJiAvLyBub3Qgdi1pZiBvciB2LWZvciBvciB2LWVsc2VcbiAgICAh
aXNCdWlsdEluVGFnKG5vZGUudGFnKSAmJiAvLyBub3QgYSBidWlsdC1pblxuICAgIGlzUGxhdGZv
cm1SZXNlcnZlZFRhZyhub2RlLnRhZykgJiYgLy8gbm90IGEgY29tcG9uZW50XG4gICAgIWlzRGly
ZWN0Q2hpbGRPZlRlbXBsYXRlRm9yKG5vZGUpICYmXG4gICAgT2JqZWN0LmtleXMobm9kZSkuZXZl
cnkoaXNTdGF0aWNLZXkpXG4gICkpXG59XG5cbmZ1bmN0aW9uIGlzRGlyZWN0Q2hpbGRPZlRlbXBs
YXRlRm9yIChub2RlKSB7XG4gIHdoaWxlIChub2RlLnBhcmVudCkge1xuICAgIG5vZGUgPSBub2Rl
LnBhcmVudDtcbiAgICBpZiAobm9kZS50YWcgIT09ICd0ZW1wbGF0ZScpIHtcbiAgICAgIHJldHVy
biBmYWxzZVxuICAgIH1cbiAgICBpZiAobm9kZS5mb3IpIHtcbiAgICAgIHJldHVybiB0cnVlXG4g
ICAgfVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG4vKiAgKi9cblxudmFyIGZuRXhwUkUgPSAv
XlxccyooW1xcdyRfXSt8XFwoW14pXSo/XFwpKVxccyo9PnxeZnVuY3Rpb25cXHMqXFwoLztcbnZh
ciBzaW1wbGVQYXRoUkUgPSAvXlxccypbQS1aYS16XyRdW1xcdyRdKig/OlxcLltBLVphLXpfJF1b
XFx3JF0qfFxcWycuKj8nXXxcXFtcIi4qP1wiXXxcXFtcXGQrXXxcXFtbQS1aYS16XyRdW1xcdyRd
Kl0pKlxccyokLztcblxuLy8ga2V5Q29kZSBhbGlhc2VzXG52YXIga2V5Q29kZXMgPSB7XG4gIGVz
YzogMjcsXG4gIHRhYjogOSxcbiAgZW50ZXI6IDEzLFxuICBzcGFjZTogMzIsXG4gIHVwOiAzOCxc
biAgbGVmdDogMzcsXG4gIHJpZ2h0OiAzOSxcbiAgZG93bjogNDAsXG4gICdkZWxldGUnOiBbOCwg
NDZdXG59O1xuXG4vLyAjNDg2ODogbW9kaWZpZXJzIHRoYXQgcHJldmVudCB0aGUgZXhlY3V0aW9u
IG9mIHRoZSBsaXN0ZW5lclxuLy8gbmVlZCB0byBleHBsaWNpdGx5IHJldHVybiBudWxsIHNvIHRo
YXQgd2UgY2FuIGRldGVybWluZSB3aGV0aGVyIHRvIHJlbW92ZVxuLy8gdGhlIGxpc3RlbmVyIGZv
ciAub25jZVxudmFyIGdlbkd1YXJkID0gZnVuY3Rpb24gKGNvbmRpdGlvbikgeyByZXR1cm4gKFwi
aWYoXCIgKyBjb25kaXRpb24gKyBcIilyZXR1cm4gbnVsbDtcIik7IH07XG5cbnZhciBtb2RpZmll
ckNvZGUgPSB7XG4gIHN0b3A6ICckZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7JyxcbiAgcHJldmVu
dDogJyRldmVudC5wcmV2ZW50RGVmYXVsdCgpOycsXG4gIHNlbGY6IGdlbkd1YXJkKFwiJGV2ZW50
LnRhcmdldCAhPT0gJGV2ZW50LmN1cnJlbnRUYXJnZXRcIiksXG4gIGN0cmw6IGdlbkd1YXJkKFwi
ISRldmVudC5jdHJsS2V5XCIpLFxuICBzaGlmdDogZ2VuR3VhcmQoXCIhJGV2ZW50LnNoaWZ0S2V5
XCIpLFxuICBhbHQ6IGdlbkd1YXJkKFwiISRldmVudC5hbHRLZXlcIiksXG4gIG1ldGE6IGdlbkd1
YXJkKFwiISRldmVudC5tZXRhS2V5XCIpLFxuICBsZWZ0OiBnZW5HdWFyZChcIididXR0b24nIGlu
ICRldmVudCAmJiAkZXZlbnQuYnV0dG9uICE9PSAwXCIpLFxuICBtaWRkbGU6IGdlbkd1YXJkKFwi
J2J1dHRvbicgaW4gJGV2ZW50ICYmICRldmVudC5idXR0b24gIT09IDFcIiksXG4gIHJpZ2h0OiBn
ZW5HdWFyZChcIididXR0b24nIGluICRldmVudCAmJiAkZXZlbnQuYnV0dG9uICE9PSAyXCIpXG59
O1xuXG5mdW5jdGlvbiBnZW5IYW5kbGVycyAoXG4gIGV2ZW50cyxcbiAgaXNOYXRpdmUsXG4gIHdh
cm5cbikge1xuICB2YXIgcmVzID0gaXNOYXRpdmUgPyAnbmF0aXZlT246eycgOiAnb246eyc7XG4g
IGZvciAodmFyIG5hbWUgaW4gZXZlbnRzKSB7XG4gICAgdmFyIGhhbmRsZXIgPSBldmVudHNbbmFt
ZV07XG4gICAgLy8gIzUzMzA6IHdhcm4gY2xpY2sucmlnaHQsIHNpbmNlIHJpZ2h0IGNsaWNrcyBk
byBub3QgYWN0dWFsbHkgZmlyZSBjbGljayBldmVudHMuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5P
REVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICAgIG5hbWUgPT09ICdjbGljaycgJiZcbiAg
ICAgIGhhbmRsZXIgJiYgaGFuZGxlci5tb2RpZmllcnMgJiYgaGFuZGxlci5tb2RpZmllcnMucmln
aHRcbiAgICApIHtcbiAgICAgIHdhcm4oXG4gICAgICAgIFwiVXNlIFxcXCJjb250ZXh0bWVudVxc
XCIgaW5zdGVhZCBvZiBcXFwiY2xpY2sucmlnaHRcXFwiIHNpbmNlIHJpZ2h0IGNsaWNrcyBcIiAr
XG4gICAgICAgIFwiZG8gbm90IGFjdHVhbGx5IGZpcmUgXFxcImNsaWNrXFxcIiBldmVudHMuXCJc
biAgICAgICk7XG4gICAgfVxuICAgIHJlcyArPSBcIlxcXCJcIiArIG5hbWUgKyBcIlxcXCI6XCIg
KyAoZ2VuSGFuZGxlcihuYW1lLCBoYW5kbGVyKSkgKyBcIixcIjtcbiAgfVxuICByZXR1cm4gcmVz
LnNsaWNlKDAsIC0xKSArICd9J1xufVxuXG5mdW5jdGlvbiBnZW5IYW5kbGVyIChcbiAgbmFtZSxc
biAgaGFuZGxlclxuKSB7XG4gIGlmICghaGFuZGxlcikge1xuICAgIHJldHVybiAnZnVuY3Rpb24o
KXt9J1xuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoaGFuZGxlcikpIHtcbiAgICByZXR1cm4g
KFwiW1wiICsgKGhhbmRsZXIubWFwKGZ1bmN0aW9uIChoYW5kbGVyKSB7IHJldHVybiBnZW5IYW5k
bGVyKG5hbWUsIGhhbmRsZXIpOyB9KS5qb2luKCcsJykpICsgXCJdXCIpXG4gIH1cblxuICB2YXIg
aXNNZXRob2RQYXRoID0gc2ltcGxlUGF0aFJFLnRlc3QoaGFuZGxlci52YWx1ZSk7XG4gIHZhciBp
c0Z1bmN0aW9uRXhwcmVzc2lvbiA9IGZuRXhwUkUudGVzdChoYW5kbGVyLnZhbHVlKTtcblxuICBp
ZiAoIWhhbmRsZXIubW9kaWZpZXJzKSB7XG4gICAgcmV0dXJuIGlzTWV0aG9kUGF0aCB8fCBpc0Z1
bmN0aW9uRXhwcmVzc2lvblxuICAgICAgPyBoYW5kbGVyLnZhbHVlXG4gICAgICA6IChcImZ1bmN0
aW9uKCRldmVudCl7XCIgKyAoaGFuZGxlci52YWx1ZSkgKyBcIn1cIikgLy8gaW5saW5lIHN0YXRl
bWVudFxuICB9IGVsc2Uge1xuICAgIHZhciBjb2RlID0gJyc7XG4gICAgdmFyIGdlbk1vZGlmaWVy
Q29kZSA9ICcnO1xuICAgIHZhciBrZXlzID0gW107XG4gICAgZm9yICh2YXIga2V5IGluIGhhbmRs
ZXIubW9kaWZpZXJzKSB7XG4gICAgICBpZiAobW9kaWZpZXJDb2RlW2tleV0pIHtcbiAgICAgICAg
Z2VuTW9kaWZpZXJDb2RlICs9IG1vZGlmaWVyQ29kZVtrZXldO1xuICAgICAgICAvLyBsZWZ0L3Jp
Z2h0XG4gICAgICAgIGlmIChrZXlDb2Rlc1trZXldKSB7XG4gICAgICAgICAga2V5cy5wdXNoKGtl
eSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGtleXMucHVzaChrZXkpO1xu
ICAgICAgfVxuICAgIH1cbiAgICBpZiAoa2V5cy5sZW5ndGgpIHtcbiAgICAgIGNvZGUgKz0gZ2Vu
S2V5RmlsdGVyKGtleXMpO1xuICAgIH1cbiAgICAvLyBNYWtlIHN1cmUgbW9kaWZpZXJzIGxpa2Ug
cHJldmVudCBhbmQgc3RvcCBnZXQgZXhlY3V0ZWQgYWZ0ZXIga2V5IGZpbHRlcmluZ1xuICAgIGlm
IChnZW5Nb2RpZmllckNvZGUpIHtcbiAgICAgIGNvZGUgKz0gZ2VuTW9kaWZpZXJDb2RlO1xuICAg
IH1cbiAgICB2YXIgaGFuZGxlckNvZGUgPSBpc01ldGhvZFBhdGhcbiAgICAgID8gaGFuZGxlci52
YWx1ZSArICcoJGV2ZW50KSdcbiAgICAgIDogaXNGdW5jdGlvbkV4cHJlc3Npb25cbiAgICAgICAg
PyAoXCIoXCIgKyAoaGFuZGxlci52YWx1ZSkgKyBcIikoJGV2ZW50KVwiKVxuICAgICAgICA6IGhh
bmRsZXIudmFsdWU7XG4gICAgcmV0dXJuIChcImZ1bmN0aW9uKCRldmVudCl7XCIgKyBjb2RlICsg
aGFuZGxlckNvZGUgKyBcIn1cIilcbiAgfVxufVxuXG5mdW5jdGlvbiBnZW5LZXlGaWx0ZXIgKGtl
eXMpIHtcbiAgcmV0dXJuIChcImlmKCEoJ2J1dHRvbicgaW4gJGV2ZW50KSYmXCIgKyAoa2V5cy5t
YXAoZ2VuRmlsdGVyQ29kZSkuam9pbignJiYnKSkgKyBcIilyZXR1cm4gbnVsbDtcIilcbn1cblxu
ZnVuY3Rpb24gZ2VuRmlsdGVyQ29kZSAoa2V5KSB7XG4gIHZhciBrZXlWYWwgPSBwYXJzZUludChr
ZXksIDEwKTtcbiAgaWYgKGtleVZhbCkge1xuICAgIHJldHVybiAoXCIkZXZlbnQua2V5Q29kZSE9
PVwiICsga2V5VmFsKVxuICB9XG4gIHZhciBhbGlhcyA9IGtleUNvZGVzW2tleV07XG4gIHJldHVy
biAoXCJfaygkZXZlbnQua2V5Q29kZSxcIiArIChKU09OLnN0cmluZ2lmeShrZXkpKSArIChhbGlh
cyA/ICcsJyArIEpTT04uc3RyaW5naWZ5KGFsaWFzKSA6ICcnKSArIFwiKVwiKVxufVxuXG4vKiAg
Ki9cblxuZnVuY3Rpb24gb24gKGVsLCBkaXIpIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5W
ICE9PSAncHJvZHVjdGlvbicgJiYgZGlyLm1vZGlmaWVycykge1xuICAgIHdhcm4oXCJ2LW9uIHdp
dGhvdXQgYXJndW1lbnQgZG9lcyBub3Qgc3VwcG9ydCBtb2RpZmllcnMuXCIpO1xuICB9XG4gIGVs
LndyYXBMaXN0ZW5lcnMgPSBmdW5jdGlvbiAoY29kZSkgeyByZXR1cm4gKFwiX2coXCIgKyBjb2Rl
ICsgXCIsXCIgKyAoZGlyLnZhbHVlKSArIFwiKVwiKTsgfTtcbn1cblxuLyogICovXG5cbmZ1bmN0
aW9uIGJpbmQkMSAoZWwsIGRpcikge1xuICBlbC53cmFwRGF0YSA9IGZ1bmN0aW9uIChjb2RlKSB7
XG4gICAgcmV0dXJuIChcIl9iKFwiICsgY29kZSArIFwiLCdcIiArIChlbC50YWcpICsgXCInLFwi
ICsgKGRpci52YWx1ZSkgKyBcIixcIiArIChkaXIubW9kaWZpZXJzICYmIGRpci5tb2RpZmllcnMu
cHJvcCA/ICd0cnVlJyA6ICdmYWxzZScpICsgKGRpci5tb2RpZmllcnMgJiYgZGlyLm1vZGlmaWVy
cy5zeW5jID8gJyx0cnVlJyA6ICcnKSArIFwiKVwiKVxuICB9O1xufVxuXG4vKiAgKi9cblxudmFy
IGJhc2VEaXJlY3RpdmVzID0ge1xuICBvbjogb24sXG4gIGJpbmQ6IGJpbmQkMSxcbiAgY2xvYWs6
IG5vb3Bcbn07XG5cbi8qICAqL1xuXG52YXIgQ29kZWdlblN0YXRlID0gZnVuY3Rpb24gQ29kZWdl
blN0YXRlIChvcHRpb25zKSB7XG4gIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gIHRoaXMud2Fy
biA9IG9wdGlvbnMud2FybiB8fCBiYXNlV2FybjtcbiAgdGhpcy50cmFuc2Zvcm1zID0gcGx1Y2tN
b2R1bGVGdW5jdGlvbihvcHRpb25zLm1vZHVsZXMsICd0cmFuc2Zvcm1Db2RlJyk7XG4gIHRoaXMu
ZGF0YUdlbkZucyA9IHBsdWNrTW9kdWxlRnVuY3Rpb24ob3B0aW9ucy5tb2R1bGVzLCAnZ2VuRGF0
YScpO1xuICB0aGlzLmRpcmVjdGl2ZXMgPSBleHRlbmQoZXh0ZW5kKHt9LCBiYXNlRGlyZWN0aXZl
cyksIG9wdGlvbnMuZGlyZWN0aXZlcyk7XG4gIHZhciBpc1Jlc2VydmVkVGFnID0gb3B0aW9ucy5p
c1Jlc2VydmVkVGFnIHx8IG5vO1xuICB0aGlzLm1heWJlQ29tcG9uZW50ID0gZnVuY3Rpb24gKGVs
KSB7IHJldHVybiAhaXNSZXNlcnZlZFRhZyhlbC50YWcpOyB9O1xuICB0aGlzLm9uY2VJZCA9IDA7
XG4gIHRoaXMuc3RhdGljUmVuZGVyRm5zID0gW107XG59O1xuXG5cblxuZnVuY3Rpb24gZ2VuZXJh
dGUgKFxuICBhc3QsXG4gIG9wdGlvbnNcbikge1xuICB2YXIgc3RhdGUgPSBuZXcgQ29kZWdlblN0
YXRlKG9wdGlvbnMpO1xuICB2YXIgY29kZSA9IGFzdCA/IGdlbkVsZW1lbnQoYXN0LCBzdGF0ZSkg
OiAnX2MoXCJkaXZcIiknO1xuICByZXR1cm4ge1xuICAgIHJlbmRlcjogKFwid2l0aCh0aGlzKXty
ZXR1cm4gXCIgKyBjb2RlICsgXCJ9XCIpLFxuICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGUuc3Rh
dGljUmVuZGVyRm5zXG4gIH1cbn1cblxuZnVuY3Rpb24gZ2VuRWxlbWVudCAoZWwsIHN0YXRlKSB7
XG4gIGlmIChlbC5zdGF0aWNSb290ICYmICFlbC5zdGF0aWNQcm9jZXNzZWQpIHtcbiAgICByZXR1
cm4gZ2VuU3RhdGljKGVsLCBzdGF0ZSlcbiAgfSBlbHNlIGlmIChlbC5vbmNlICYmICFlbC5vbmNl
UHJvY2Vzc2VkKSB7XG4gICAgcmV0dXJuIGdlbk9uY2UoZWwsIHN0YXRlKVxuICB9IGVsc2UgaWYg
KGVsLmZvciAmJiAhZWwuZm9yUHJvY2Vzc2VkKSB7XG4gICAgcmV0dXJuIGdlbkZvcihlbCwgc3Rh
dGUpXG4gIH0gZWxzZSBpZiAoZWwuaWYgJiYgIWVsLmlmUHJvY2Vzc2VkKSB7XG4gICAgcmV0dXJu
IGdlbklmKGVsLCBzdGF0ZSlcbiAgfSBlbHNlIGlmIChlbC50YWcgPT09ICd0ZW1wbGF0ZScgJiYg
IWVsLnNsb3RUYXJnZXQpIHtcbiAgICByZXR1cm4gZ2VuQ2hpbGRyZW4oZWwsIHN0YXRlKSB8fCAn
dm9pZCAwJ1xuICB9IGVsc2UgaWYgKGVsLnRhZyA9PT0gJ3Nsb3QnKSB7XG4gICAgcmV0dXJuIGdl
blNsb3QoZWwsIHN0YXRlKVxuICB9IGVsc2Uge1xuICAgIC8vIGNvbXBvbmVudCBvciBlbGVtZW50
XG4gICAgdmFyIGNvZGU7XG4gICAgaWYgKGVsLmNvbXBvbmVudCkge1xuICAgICAgY29kZSA9IGdl
bkNvbXBvbmVudChlbC5jb21wb25lbnQsIGVsLCBzdGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAg
IHZhciBkYXRhID0gZWwucGxhaW4gPyB1bmRlZmluZWQgOiBnZW5EYXRhJDIoZWwsIHN0YXRlKTtc
blxuICAgICAgdmFyIGNoaWxkcmVuID0gZWwuaW5saW5lVGVtcGxhdGUgPyBudWxsIDogZ2VuQ2hp
bGRyZW4oZWwsIHN0YXRlLCB0cnVlKTtcbiAgICAgIGNvZGUgPSBcIl9jKCdcIiArIChlbC50YWcp
ICsgXCInXCIgKyAoZGF0YSA/IChcIixcIiArIGRhdGEpIDogJycpICsgKGNoaWxkcmVuID8gKFwi
LFwiICsgY2hpbGRyZW4pIDogJycpICsgXCIpXCI7XG4gICAgfVxuICAgIC8vIG1vZHVsZSB0cmFu
c2Zvcm1zXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdGF0ZS50cmFuc2Zvcm1zLmxlbmd0aDsg
aSsrKSB7XG4gICAgICBjb2RlID0gc3RhdGUudHJhbnNmb3Jtc1tpXShlbCwgY29kZSk7XG4gICAg
fVxuICAgIHJldHVybiBjb2RlXG4gIH1cbn1cblxuLy8gaG9pc3Qgc3RhdGljIHN1Yi10cmVlcyBv
dXRcbmZ1bmN0aW9uIGdlblN0YXRpYyAoZWwsIHN0YXRlKSB7XG4gIGVsLnN0YXRpY1Byb2Nlc3Nl
ZCA9IHRydWU7XG4gIHN0YXRlLnN0YXRpY1JlbmRlckZucy5wdXNoKChcIndpdGgodGhpcyl7cmV0
dXJuIFwiICsgKGdlbkVsZW1lbnQoZWwsIHN0YXRlKSkgKyBcIn1cIikpO1xuICByZXR1cm4gKFwi
X20oXCIgKyAoc3RhdGUuc3RhdGljUmVuZGVyRm5zLmxlbmd0aCAtIDEpICsgKGVsLnN0YXRpY0lu
Rm9yID8gJyx0cnVlJyA6ICcnKSArIFwiKVwiKVxufVxuXG4vLyB2LW9uY2VcbmZ1bmN0aW9uIGdl
bk9uY2UgKGVsLCBzdGF0ZSkge1xuICBlbC5vbmNlUHJvY2Vzc2VkID0gdHJ1ZTtcbiAgaWYgKGVs
LmlmICYmICFlbC5pZlByb2Nlc3NlZCkge1xuICAgIHJldHVybiBnZW5JZihlbCwgc3RhdGUpXG4g
IH0gZWxzZSBpZiAoZWwuc3RhdGljSW5Gb3IpIHtcbiAgICB2YXIga2V5ID0gJyc7XG4gICAgdmFy
IHBhcmVudCA9IGVsLnBhcmVudDtcbiAgICB3aGlsZSAocGFyZW50KSB7XG4gICAgICBpZiAocGFy
ZW50LmZvcikge1xuICAgICAgICBrZXkgPSBwYXJlbnQua2V5O1xuICAgICAgICBicmVha1xuICAg
ICAgfVxuICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudDtcbiAgICB9XG4gICAgaWYgKCFrZXkp
IHtcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgc3RhdGUu
d2FybihcbiAgICAgICAgXCJ2LW9uY2UgY2FuIG9ubHkgYmUgdXNlZCBpbnNpZGUgdi1mb3IgdGhh
dCBpcyBrZXllZC4gXCJcbiAgICAgICk7XG4gICAgICByZXR1cm4gZ2VuRWxlbWVudChlbCwgc3Rh
dGUpXG4gICAgfVxuICAgIHJldHVybiAoXCJfbyhcIiArIChnZW5FbGVtZW50KGVsLCBzdGF0ZSkp
ICsgXCIsXCIgKyAoc3RhdGUub25jZUlkKyspICsgKGtleSA/IChcIixcIiArIGtleSkgOiBcIlwi
KSArIFwiKVwiKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBnZW5TdGF0aWMoZWwsIHN0YXRlKVxu
ICB9XG59XG5cbmZ1bmN0aW9uIGdlbklmIChcbiAgZWwsXG4gIHN0YXRlLFxuICBhbHRHZW4sXG4g
IGFsdEVtcHR5XG4pIHtcbiAgZWwuaWZQcm9jZXNzZWQgPSB0cnVlOyAvLyBhdm9pZCByZWN1cnNp
b25cbiAgcmV0dXJuIGdlbklmQ29uZGl0aW9ucyhlbC5pZkNvbmRpdGlvbnMuc2xpY2UoKSwgc3Rh
dGUsIGFsdEdlbiwgYWx0RW1wdHkpXG59XG5cbmZ1bmN0aW9uIGdlbklmQ29uZGl0aW9ucyAoXG4g
IGNvbmRpdGlvbnMsXG4gIHN0YXRlLFxuICBhbHRHZW4sXG4gIGFsdEVtcHR5XG4pIHtcbiAgaWYg
KCFjb25kaXRpb25zLmxlbmd0aCkge1xuICAgIHJldHVybiBhbHRFbXB0eSB8fCAnX2UoKSdcbiAg
fVxuXG4gIHZhciBjb25kaXRpb24gPSBjb25kaXRpb25zLnNoaWZ0KCk7XG4gIGlmIChjb25kaXRp
b24uZXhwKSB7XG4gICAgcmV0dXJuIChcIihcIiArIChjb25kaXRpb24uZXhwKSArIFwiKT9cIiAr
IChnZW5UZXJuYXJ5RXhwKGNvbmRpdGlvbi5ibG9jaykpICsgXCI6XCIgKyAoZ2VuSWZDb25kaXRp
b25zKGNvbmRpdGlvbnMsIHN0YXRlLCBhbHRHZW4sIGFsdEVtcHR5KSkpXG4gIH0gZWxzZSB7XG4g
ICAgcmV0dXJuIChcIlwiICsgKGdlblRlcm5hcnlFeHAoY29uZGl0aW9uLmJsb2NrKSkpXG4gIH1c
blxuICAvLyB2LWlmIHdpdGggdi1vbmNlIHNob3VsZCBnZW5lcmF0ZSBjb2RlIGxpa2UgKGEpP19t
KDApOl9tKDEpXG4gIGZ1bmN0aW9uIGdlblRlcm5hcnlFeHAgKGVsKSB7XG4gICAgcmV0dXJuIGFs
dEdlblxuICAgICAgPyBhbHRHZW4oZWwsIHN0YXRlKVxuICAgICAgOiBlbC5vbmNlXG4gICAgICAg
ID8gZ2VuT25jZShlbCwgc3RhdGUpXG4gICAgICAgIDogZ2VuRWxlbWVudChlbCwgc3RhdGUpXG4g
IH1cbn1cblxuZnVuY3Rpb24gZ2VuRm9yIChcbiAgZWwsXG4gIHN0YXRlLFxuICBhbHRHZW4sXG4g
IGFsdEhlbHBlclxuKSB7XG4gIHZhciBleHAgPSBlbC5mb3I7XG4gIHZhciBhbGlhcyA9IGVsLmFs
aWFzO1xuICB2YXIgaXRlcmF0b3IxID0gZWwuaXRlcmF0b3IxID8gKFwiLFwiICsgKGVsLml0ZXJh
dG9yMSkpIDogJyc7XG4gIHZhciBpdGVyYXRvcjIgPSBlbC5pdGVyYXRvcjIgPyAoXCIsXCIgKyAo
ZWwuaXRlcmF0b3IyKSkgOiAnJztcblxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdw
cm9kdWN0aW9uJyAmJlxuICAgIHN0YXRlLm1heWJlQ29tcG9uZW50KGVsKSAmJlxuICAgIGVsLnRh
ZyAhPT0gJ3Nsb3QnICYmXG4gICAgZWwudGFnICE9PSAndGVtcGxhdGUnICYmXG4gICAgIWVsLmtl
eVxuICApIHtcbiAgICBzdGF0ZS53YXJuKFxuICAgICAgXCI8XCIgKyAoZWwudGFnKSArIFwiIHYt
Zm9yPVxcXCJcIiArIGFsaWFzICsgXCIgaW4gXCIgKyBleHAgKyBcIlxcXCI+OiBjb21wb25lbnQg
bGlzdHMgcmVuZGVyZWQgd2l0aCBcIiArXG4gICAgICBcInYtZm9yIHNob3VsZCBoYXZlIGV4cGxp
Y2l0IGtleXMuIFwiICtcbiAgICAgIFwiU2VlIGh0dHBzOi8vdnVlanMub3JnL2d1aWRlL2xpc3Qu
aHRtbCNrZXkgZm9yIG1vcmUgaW5mby5cIixcbiAgICAgIHRydWUgLyogdGlwICovXG4gICAgKTtc
biAgfVxuXG4gIGVsLmZvclByb2Nlc3NlZCA9IHRydWU7IC8vIGF2b2lkIHJlY3Vyc2lvblxuICBy
ZXR1cm4gKGFsdEhlbHBlciB8fCAnX2wnKSArIFwiKChcIiArIGV4cCArIFwiKSxcIiArXG4gICAg
XCJmdW5jdGlvbihcIiArIGFsaWFzICsgaXRlcmF0b3IxICsgaXRlcmF0b3IyICsgXCIpe1wiICtc
biAgICAgIFwicmV0dXJuIFwiICsgKChhbHRHZW4gfHwgZ2VuRWxlbWVudCkoZWwsIHN0YXRlKSkg
K1xuICAgICd9KSdcbn1cblxuZnVuY3Rpb24gZ2VuRGF0YSQyIChlbCwgc3RhdGUpIHtcbiAgdmFy
IGRhdGEgPSAneyc7XG5cbiAgLy8gZGlyZWN0aXZlcyBmaXJzdC5cbiAgLy8gZGlyZWN0aXZlcyBt
YXkgbXV0YXRlIHRoZSBlbCdzIG90aGVyIHByb3BlcnRpZXMgYmVmb3JlIHRoZXkgYXJlIGdlbmVy
YXRlZC5cbiAgdmFyIGRpcnMgPSBnZW5EaXJlY3RpdmVzKGVsLCBzdGF0ZSk7XG4gIGlmIChkaXJz
KSB7IGRhdGEgKz0gZGlycyArICcsJzsgfVxuXG4gIC8vIGtleVxuICBpZiAoZWwua2V5KSB7XG4g
ICAgZGF0YSArPSBcImtleTpcIiArIChlbC5rZXkpICsgXCIsXCI7XG4gIH1cbiAgLy8gcmVmXG4g
IGlmIChlbC5yZWYpIHtcbiAgICBkYXRhICs9IFwicmVmOlwiICsgKGVsLnJlZikgKyBcIixcIjtc
biAgfVxuICBpZiAoZWwucmVmSW5Gb3IpIHtcbiAgICBkYXRhICs9IFwicmVmSW5Gb3I6dHJ1ZSxc
IjtcbiAgfVxuICAvLyBwcmVcbiAgaWYgKGVsLnByZSkge1xuICAgIGRhdGEgKz0gXCJwcmU6dHJ1
ZSxcIjtcbiAgfVxuICAvLyByZWNvcmQgb3JpZ2luYWwgdGFnIG5hbWUgZm9yIGNvbXBvbmVudHMg
dXNpbmcgXCJpc1wiIGF0dHJpYnV0ZVxuICBpZiAoZWwuY29tcG9uZW50KSB7XG4gICAgZGF0YSAr
PSBcInRhZzpcXFwiXCIgKyAoZWwudGFnKSArIFwiXFxcIixcIjtcbiAgfVxuICAvLyBtb2R1bGUg
ZGF0YSBnZW5lcmF0aW9uIGZ1bmN0aW9uc1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0YXRlLmRh
dGFHZW5GbnMubGVuZ3RoOyBpKyspIHtcbiAgICBkYXRhICs9IHN0YXRlLmRhdGFHZW5GbnNbaV0o
ZWwpO1xuICB9XG4gIC8vIGF0dHJpYnV0ZXNcbiAgaWYgKGVsLmF0dHJzKSB7XG4gICAgZGF0YSAr
PSBcImF0dHJzOntcIiArIChnZW5Qcm9wcyhlbC5hdHRycykpICsgXCJ9LFwiO1xuICB9XG4gIC8v
IERPTSBwcm9wc1xuICBpZiAoZWwucHJvcHMpIHtcbiAgICBkYXRhICs9IFwiZG9tUHJvcHM6e1wi
ICsgKGdlblByb3BzKGVsLnByb3BzKSkgKyBcIn0sXCI7XG4gIH1cbiAgLy8gZXZlbnQgaGFuZGxl
cnNcbiAgaWYgKGVsLmV2ZW50cykge1xuICAgIGRhdGEgKz0gKGdlbkhhbmRsZXJzKGVsLmV2ZW50
cywgZmFsc2UsIHN0YXRlLndhcm4pKSArIFwiLFwiO1xuICB9XG4gIGlmIChlbC5uYXRpdmVFdmVu
dHMpIHtcbiAgICBkYXRhICs9IChnZW5IYW5kbGVycyhlbC5uYXRpdmVFdmVudHMsIHRydWUsIHN0
YXRlLndhcm4pKSArIFwiLFwiO1xuICB9XG4gIC8vIHNsb3QgdGFyZ2V0XG4gIGlmIChlbC5zbG90
VGFyZ2V0KSB7XG4gICAgZGF0YSArPSBcInNsb3Q6XCIgKyAoZWwuc2xvdFRhcmdldCkgKyBcIixc
IjtcbiAgfVxuICAvLyBzY29wZWQgc2xvdHNcbiAgaWYgKGVsLnNjb3BlZFNsb3RzKSB7XG4gICAg
ZGF0YSArPSAoZ2VuU2NvcGVkU2xvdHMoZWwuc2NvcGVkU2xvdHMsIHN0YXRlKSkgKyBcIixcIjtc
biAgfVxuICAvLyBjb21wb25lbnQgdi1tb2RlbFxuICBpZiAoZWwubW9kZWwpIHtcbiAgICBkYXRh
ICs9IFwibW9kZWw6e3ZhbHVlOlwiICsgKGVsLm1vZGVsLnZhbHVlKSArIFwiLGNhbGxiYWNrOlwi
ICsgKGVsLm1vZGVsLmNhbGxiYWNrKSArIFwiLGV4cHJlc3Npb246XCIgKyAoZWwubW9kZWwuZXhw
cmVzc2lvbikgKyBcIn0sXCI7XG4gIH1cbiAgLy8gaW5saW5lLXRlbXBsYXRlXG4gIGlmIChlbC5p
bmxpbmVUZW1wbGF0ZSkge1xuICAgIHZhciBpbmxpbmVUZW1wbGF0ZSA9IGdlbklubGluZVRlbXBs
YXRlKGVsLCBzdGF0ZSk7XG4gICAgaWYgKGlubGluZVRlbXBsYXRlKSB7XG4gICAgICBkYXRhICs9
IGlubGluZVRlbXBsYXRlICsgXCIsXCI7XG4gICAgfVxuICB9XG4gIGRhdGEgPSBkYXRhLnJlcGxh
Y2UoLywkLywgJycpICsgJ30nO1xuICAvLyB2LWJpbmQgZGF0YSB3cmFwXG4gIGlmIChlbC53cmFw
RGF0YSkge1xuICAgIGRhdGEgPSBlbC53cmFwRGF0YShkYXRhKTtcbiAgfVxuICAvLyB2LW9uIGRh
dGEgd3JhcFxuICBpZiAoZWwud3JhcExpc3RlbmVycykge1xuICAgIGRhdGEgPSBlbC53cmFwTGlz
dGVuZXJzKGRhdGEpO1xuICB9XG4gIHJldHVybiBkYXRhXG59XG5cbmZ1bmN0aW9uIGdlbkRpcmVj
dGl2ZXMgKGVsLCBzdGF0ZSkge1xuICB2YXIgZGlycyA9IGVsLmRpcmVjdGl2ZXM7XG4gIGlmICgh
ZGlycykgeyByZXR1cm4gfVxuICB2YXIgcmVzID0gJ2RpcmVjdGl2ZXM6Wyc7XG4gIHZhciBoYXNS
dW50aW1lID0gZmFsc2U7XG4gIHZhciBpLCBsLCBkaXIsIG5lZWRSdW50aW1lO1xuICBmb3IgKGkg
PSAwLCBsID0gZGlycy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBkaXIgPSBkaXJzW2ldO1xu
ICAgIG5lZWRSdW50aW1lID0gdHJ1ZTtcbiAgICB2YXIgZ2VuID0gc3RhdGUuZGlyZWN0aXZlc1tk
aXIubmFtZV07XG4gICAgaWYgKGdlbikge1xuICAgICAgLy8gY29tcGlsZS10aW1lIGRpcmVjdGl2
ZSB0aGF0IG1hbmlwdWxhdGVzIEFTVC5cbiAgICAgIC8vIHJldHVybnMgdHJ1ZSBpZiBpdCBhbHNv
IG5lZWRzIGEgcnVudGltZSBjb3VudGVycGFydC5cbiAgICAgIG5lZWRSdW50aW1lID0gISFnZW4o
ZWwsIGRpciwgc3RhdGUud2Fybik7XG4gICAgfVxuICAgIGlmIChuZWVkUnVudGltZSkge1xuICAg
ICAgaGFzUnVudGltZSA9IHRydWU7XG4gICAgICByZXMgKz0gXCJ7bmFtZTpcXFwiXCIgKyAoZGly
Lm5hbWUpICsgXCJcXFwiLHJhd05hbWU6XFxcIlwiICsgKGRpci5yYXdOYW1lKSArIFwiXFxcIlwi
ICsgKGRpci52YWx1ZSA/IChcIix2YWx1ZTooXCIgKyAoZGlyLnZhbHVlKSArIFwiKSxleHByZXNz
aW9uOlwiICsgKEpTT04uc3RyaW5naWZ5KGRpci52YWx1ZSkpKSA6ICcnKSArIChkaXIuYXJnID8g
KFwiLGFyZzpcXFwiXCIgKyAoZGlyLmFyZykgKyBcIlxcXCJcIikgOiAnJykgKyAoZGlyLm1vZGlm
aWVycyA/IChcIixtb2RpZmllcnM6XCIgKyAoSlNPTi5zdHJpbmdpZnkoZGlyLm1vZGlmaWVycykp
KSA6ICcnKSArIFwifSxcIjtcbiAgICB9XG4gIH1cbiAgaWYgKGhhc1J1bnRpbWUpIHtcbiAgICBy
ZXR1cm4gcmVzLnNsaWNlKDAsIC0xKSArICddJ1xuICB9XG59XG5cbmZ1bmN0aW9uIGdlbklubGlu
ZVRlbXBsYXRlIChlbCwgc3RhdGUpIHtcbiAgdmFyIGFzdCA9IGVsLmNoaWxkcmVuWzBdO1xuICBp
ZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAoXG4gICAgZWwuY2hp
bGRyZW4ubGVuZ3RoID4gMSB8fCBhc3QudHlwZSAhPT0gMVxuICApKSB7XG4gICAgc3RhdGUud2Fy
bignSW5saW5lLXRlbXBsYXRlIGNvbXBvbmVudHMgbXVzdCBoYXZlIGV4YWN0bHkgb25lIGNoaWxk
IGVsZW1lbnQuJyk7XG4gIH1cbiAgaWYgKGFzdC50eXBlID09PSAxKSB7XG4gICAgdmFyIGlubGlu
ZVJlbmRlckZucyA9IGdlbmVyYXRlKGFzdCwgc3RhdGUub3B0aW9ucyk7XG4gICAgcmV0dXJuIChc
ImlubGluZVRlbXBsYXRlOntyZW5kZXI6ZnVuY3Rpb24oKXtcIiArIChpbmxpbmVSZW5kZXJGbnMu
cmVuZGVyKSArIFwifSxzdGF0aWNSZW5kZXJGbnM6W1wiICsgKGlubGluZVJlbmRlckZucy5zdGF0
aWNSZW5kZXJGbnMubWFwKGZ1bmN0aW9uIChjb2RlKSB7IHJldHVybiAoXCJmdW5jdGlvbigpe1wi
ICsgY29kZSArIFwifVwiKTsgfSkuam9pbignLCcpKSArIFwiXX1cIilcbiAgfVxufVxuXG5mdW5j
dGlvbiBnZW5TY29wZWRTbG90cyAoXG4gIHNsb3RzLFxuICBzdGF0ZVxuKSB7XG4gIHJldHVybiAo
XCJzY29wZWRTbG90czpfdShbXCIgKyAoT2JqZWN0LmtleXMoc2xvdHMpLm1hcChmdW5jdGlvbiAo
a2V5KSB7XG4gICAgICByZXR1cm4gZ2VuU2NvcGVkU2xvdChrZXksIHNsb3RzW2tleV0sIHN0YXRl
KVxuICAgIH0pLmpvaW4oJywnKSkgKyBcIl0pXCIpXG59XG5cbmZ1bmN0aW9uIGdlblNjb3BlZFNs
b3QgKFxuICBrZXksXG4gIGVsLFxuICBzdGF0ZVxuKSB7XG4gIGlmIChlbC5mb3IgJiYgIWVsLmZv
clByb2Nlc3NlZCkge1xuICAgIHJldHVybiBnZW5Gb3JTY29wZWRTbG90KGtleSwgZWwsIHN0YXRl
KVxuICB9XG4gIHJldHVybiBcIntrZXk6XCIgKyBrZXkgKyBcIixmbjpmdW5jdGlvbihcIiArIChT
dHJpbmcoZWwuYXR0cnNNYXAuc2NvcGUpKSArIFwiKXtcIiArXG4gICAgXCJyZXR1cm4gXCIgKyAo
ZWwudGFnID09PSAndGVtcGxhdGUnXG4gICAgICA/IGdlbkNoaWxkcmVuKGVsLCBzdGF0ZSkgfHwg
J3ZvaWQgMCdcbiAgICAgIDogZ2VuRWxlbWVudChlbCwgc3RhdGUpKSArIFwifX1cIlxufVxuXG5m
dW5jdGlvbiBnZW5Gb3JTY29wZWRTbG90IChcbiAga2V5LFxuICBlbCxcbiAgc3RhdGVcbikge1xu
ICB2YXIgZXhwID0gZWwuZm9yO1xuICB2YXIgYWxpYXMgPSBlbC5hbGlhcztcbiAgdmFyIGl0ZXJh
dG9yMSA9IGVsLml0ZXJhdG9yMSA/IChcIixcIiArIChlbC5pdGVyYXRvcjEpKSA6ICcnO1xuICB2
YXIgaXRlcmF0b3IyID0gZWwuaXRlcmF0b3IyID8gKFwiLFwiICsgKGVsLml0ZXJhdG9yMikpIDog
Jyc7XG4gIGVsLmZvclByb2Nlc3NlZCA9IHRydWU7IC8vIGF2b2lkIHJlY3Vyc2lvblxuICByZXR1
cm4gXCJfbCgoXCIgKyBleHAgKyBcIiksXCIgK1xuICAgIFwiZnVuY3Rpb24oXCIgKyBhbGlhcyAr
IGl0ZXJhdG9yMSArIGl0ZXJhdG9yMiArIFwiKXtcIiArXG4gICAgICBcInJldHVybiBcIiArIChn
ZW5TY29wZWRTbG90KGtleSwgZWwsIHN0YXRlKSkgK1xuICAgICd9KSdcbn1cblxuZnVuY3Rpb24g
Z2VuQ2hpbGRyZW4gKFxuICBlbCxcbiAgc3RhdGUsXG4gIGNoZWNrU2tpcCxcbiAgYWx0R2VuRWxl
bWVudCxcbiAgYWx0R2VuTm9kZVxuKSB7XG4gIHZhciBjaGlsZHJlbiA9IGVsLmNoaWxkcmVuO1xu
ICBpZiAoY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgdmFyIGVsJDEgPSBjaGlsZHJlblswXTtcbiAg
ICAvLyBvcHRpbWl6ZSBzaW5nbGUgdi1mb3JcbiAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoID09PSAx
ICYmXG4gICAgICBlbCQxLmZvciAmJlxuICAgICAgZWwkMS50YWcgIT09ICd0ZW1wbGF0ZScgJiZc
biAgICAgIGVsJDEudGFnICE9PSAnc2xvdCdcbiAgICApIHtcbiAgICAgIHJldHVybiAoYWx0R2Vu
RWxlbWVudCB8fCBnZW5FbGVtZW50KShlbCQxLCBzdGF0ZSlcbiAgICB9XG4gICAgdmFyIG5vcm1h
bGl6YXRpb25UeXBlID0gY2hlY2tTa2lwXG4gICAgICA/IGdldE5vcm1hbGl6YXRpb25UeXBlKGNo
aWxkcmVuLCBzdGF0ZS5tYXliZUNvbXBvbmVudClcbiAgICAgIDogMDtcbiAgICB2YXIgZ2VuID0g
YWx0R2VuTm9kZSB8fCBnZW5Ob2RlO1xuICAgIHJldHVybiAoXCJbXCIgKyAoY2hpbGRyZW4ubWFw
KGZ1bmN0aW9uIChjKSB7IHJldHVybiBnZW4oYywgc3RhdGUpOyB9KS5qb2luKCcsJykpICsgXCJd
XCIgKyAobm9ybWFsaXphdGlvblR5cGUgPyAoXCIsXCIgKyBub3JtYWxpemF0aW9uVHlwZSkgOiAn
JykpXG4gIH1cbn1cblxuLy8gZGV0ZXJtaW5lIHRoZSBub3JtYWxpemF0aW9uIG5lZWRlZCBmb3Ig
dGhlIGNoaWxkcmVuIGFycmF5LlxuLy8gMDogbm8gbm9ybWFsaXphdGlvbiBuZWVkZWRcbi8vIDE6
IHNpbXBsZSBub3JtYWxpemF0aW9uIG5lZWRlZCAocG9zc2libGUgMS1sZXZlbCBkZWVwIG5lc3Rl
ZCBhcnJheSlcbi8vIDI6IGZ1bGwgbm9ybWFsaXphdGlvbiBuZWVkZWRcbmZ1bmN0aW9uIGdldE5v
cm1hbGl6YXRpb25UeXBlIChcbiAgY2hpbGRyZW4sXG4gIG1heWJlQ29tcG9uZW50XG4pIHtcbiAg
dmFyIHJlcyA9IDA7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKysp
IHtcbiAgICB2YXIgZWwgPSBjaGlsZHJlbltpXTtcbiAgICBpZiAoZWwudHlwZSAhPT0gMSkge1xu
ICAgICAgY29udGludWVcbiAgICB9XG4gICAgaWYgKG5lZWRzTm9ybWFsaXphdGlvbihlbCkgfHxc
biAgICAgICAgKGVsLmlmQ29uZGl0aW9ucyAmJiBlbC5pZkNvbmRpdGlvbnMuc29tZShmdW5jdGlv
biAoYykgeyByZXR1cm4gbmVlZHNOb3JtYWxpemF0aW9uKGMuYmxvY2spOyB9KSkpIHtcbiAgICAg
IHJlcyA9IDI7XG4gICAgICBicmVha1xuICAgIH1cbiAgICBpZiAobWF5YmVDb21wb25lbnQoZWwp
IHx8XG4gICAgICAgIChlbC5pZkNvbmRpdGlvbnMgJiYgZWwuaWZDb25kaXRpb25zLnNvbWUoZnVu
Y3Rpb24gKGMpIHsgcmV0dXJuIG1heWJlQ29tcG9uZW50KGMuYmxvY2spOyB9KSkpIHtcbiAgICAg
IHJlcyA9IDE7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNcbn1cblxuZnVuY3Rpb24gbmVlZHNO
b3JtYWxpemF0aW9uIChlbCkge1xuICByZXR1cm4gZWwuZm9yICE9PSB1bmRlZmluZWQgfHwgZWwu
dGFnID09PSAndGVtcGxhdGUnIHx8IGVsLnRhZyA9PT0gJ3Nsb3QnXG59XG5cbmZ1bmN0aW9uIGdl
bk5vZGUgKG5vZGUsIHN0YXRlKSB7XG4gIGlmIChub2RlLnR5cGUgPT09IDEpIHtcbiAgICByZXR1
cm4gZ2VuRWxlbWVudChub2RlLCBzdGF0ZSlcbiAgfSBpZiAobm9kZS50eXBlID09PSAzICYmIG5v
ZGUuaXNDb21tZW50KSB7XG4gICAgcmV0dXJuIGdlbkNvbW1lbnQobm9kZSlcbiAgfSBlbHNlIHtc
biAgICByZXR1cm4gZ2VuVGV4dChub2RlKVxuICB9XG59XG5cbmZ1bmN0aW9uIGdlblRleHQgKHRl
eHQpIHtcbiAgcmV0dXJuIChcIl92KFwiICsgKHRleHQudHlwZSA9PT0gMlxuICAgID8gdGV4dC5l
eHByZXNzaW9uIC8vIG5vIG5lZWQgZm9yICgpIGJlY2F1c2UgYWxyZWFkeSB3cmFwcGVkIGluIF9z
KClcbiAgICA6IHRyYW5zZm9ybVNwZWNpYWxOZXdsaW5lcyhKU09OLnN0cmluZ2lmeSh0ZXh0LnRl
eHQpKSkgKyBcIilcIilcbn1cblxuZnVuY3Rpb24gZ2VuQ29tbWVudCAoY29tbWVudCkge1xuICBy
ZXR1cm4gKFwiX2UoXCIgKyAoSlNPTi5zdHJpbmdpZnkoY29tbWVudC50ZXh0KSkgKyBcIilcIilc
bn1cblxuZnVuY3Rpb24gZ2VuU2xvdCAoZWwsIHN0YXRlKSB7XG4gIHZhciBzbG90TmFtZSA9IGVs
LnNsb3ROYW1lIHx8ICdcImRlZmF1bHRcIic7XG4gIHZhciBjaGlsZHJlbiA9IGdlbkNoaWxkcmVu
KGVsLCBzdGF0ZSk7XG4gIHZhciByZXMgPSBcIl90KFwiICsgc2xvdE5hbWUgKyAoY2hpbGRyZW4g
PyAoXCIsXCIgKyBjaGlsZHJlbikgOiAnJyk7XG4gIHZhciBhdHRycyA9IGVsLmF0dHJzICYmIChc
IntcIiArIChlbC5hdHRycy5tYXAoZnVuY3Rpb24gKGEpIHsgcmV0dXJuICgoY2FtZWxpemUoYS5u
YW1lKSkgKyBcIjpcIiArIChhLnZhbHVlKSk7IH0pLmpvaW4oJywnKSkgKyBcIn1cIik7XG4gIHZh
ciBiaW5kJCQxID0gZWwuYXR0cnNNYXBbJ3YtYmluZCddO1xuICBpZiAoKGF0dHJzIHx8IGJpbmQk
JDEpICYmICFjaGlsZHJlbikge1xuICAgIHJlcyArPSBcIixudWxsXCI7XG4gIH1cbiAgaWYgKGF0
dHJzKSB7XG4gICAgcmVzICs9IFwiLFwiICsgYXR0cnM7XG4gIH1cbiAgaWYgKGJpbmQkJDEpIHtc
biAgICByZXMgKz0gKGF0dHJzID8gJycgOiAnLG51bGwnKSArIFwiLFwiICsgYmluZCQkMTtcbiAg
fVxuICByZXR1cm4gcmVzICsgJyknXG59XG5cbi8vIGNvbXBvbmVudE5hbWUgaXMgZWwuY29tcG9u
ZW50LCB0YWtlIGl0IGFzIGFyZ3VtZW50IHRvIHNodW4gZmxvdydzIHBlc3NpbWlzdGljIHJlZmlu
ZW1lbnRcbmZ1bmN0aW9uIGdlbkNvbXBvbmVudCAoXG4gIGNvbXBvbmVudE5hbWUsXG4gIGVsLFxu
ICBzdGF0ZVxuKSB7XG4gIHZhciBjaGlsZHJlbiA9IGVsLmlubGluZVRlbXBsYXRlID8gbnVsbCA6
IGdlbkNoaWxkcmVuKGVsLCBzdGF0ZSwgdHJ1ZSk7XG4gIHJldHVybiAoXCJfYyhcIiArIGNvbXBv
bmVudE5hbWUgKyBcIixcIiArIChnZW5EYXRhJDIoZWwsIHN0YXRlKSkgKyAoY2hpbGRyZW4gPyAo
XCIsXCIgKyBjaGlsZHJlbikgOiAnJykgKyBcIilcIilcbn1cblxuZnVuY3Rpb24gZ2VuUHJvcHMg
KHByb3BzKSB7XG4gIHZhciByZXMgPSAnJztcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5s
ZW5ndGg7IGkrKykge1xuICAgIHZhciBwcm9wID0gcHJvcHNbaV07XG4gICAgcmVzICs9IFwiXFxc
IlwiICsgKHByb3AubmFtZSkgKyBcIlxcXCI6XCIgKyAodHJhbnNmb3JtU3BlY2lhbE5ld2xpbmVz
KHByb3AudmFsdWUpKSArIFwiLFwiO1xuICB9XG4gIHJldHVybiByZXMuc2xpY2UoMCwgLTEpXG59
XG5cbi8vICMzODk1LCAjNDI2OFxuZnVuY3Rpb24gdHJhbnNmb3JtU3BlY2lhbE5ld2xpbmVzICh0
ZXh0KSB7XG4gIHJldHVybiB0ZXh0XG4gICAgLnJlcGxhY2UoL1xcdTIwMjgvZywgJ1xcXFx1MjAy
OCcpXG4gICAgLnJlcGxhY2UoL1xcdTIwMjkvZywgJ1xcXFx1MjAyOScpXG59XG5cbi8qICAqL1xu
XG4vLyB0aGVzZSBrZXl3b3JkcyBzaG91bGQgbm90IGFwcGVhciBpbnNpZGUgZXhwcmVzc2lvbnMs
IGJ1dCBvcGVyYXRvcnMgbGlrZVxuLy8gdHlwZW9mLCBpbnN0YW5jZW9mIGFuZCBpbiBhcmUgYWxs
b3dlZFxudmFyIHByb2hpYml0ZWRLZXl3b3JkUkUgPSBuZXcgUmVnRXhwKCdcXFxcYicgKyAoXG4g
ICdkbyxpZixmb3IsbGV0LG5ldyx0cnksdmFyLGNhc2UsZWxzZSx3aXRoLGF3YWl0LGJyZWFrLGNh
dGNoLGNsYXNzLGNvbnN0LCcgK1xuICAnc3VwZXIsdGhyb3csd2hpbGUseWllbGQsZGVsZXRlLGV4
cG9ydCxpbXBvcnQscmV0dXJuLHN3aXRjaCxkZWZhdWx0LCcgK1xuICAnZXh0ZW5kcyxmaW5hbGx5
LGNvbnRpbnVlLGRlYnVnZ2VyLGZ1bmN0aW9uLGFyZ3VtZW50cydcbikuc3BsaXQoJywnKS5qb2lu
KCdcXFxcYnxcXFxcYicpICsgJ1xcXFxiJyk7XG5cbi8vIHRoZXNlIHVuYXJ5IG9wZXJhdG9ycyBz
aG91bGQgbm90IGJlIHVzZWQgYXMgcHJvcGVydHkvbWV0aG9kIG5hbWVzXG52YXIgdW5hcnlPcGVy
YXRvcnNSRSA9IG5ldyBSZWdFeHAoJ1xcXFxiJyArIChcbiAgJ2RlbGV0ZSx0eXBlb2Ysdm9pZCdc
bikuc3BsaXQoJywnKS5qb2luKCdcXFxccypcXFxcKFteXFxcXCldKlxcXFwpfFxcXFxiJykgKyAn
XFxcXHMqXFxcXChbXlxcXFwpXSpcXFxcKScpO1xuXG4vLyBjaGVjayB2YWxpZCBpZGVudGlmaWVy
IGZvciB2LWZvclxudmFyIGlkZW50UkUgPSAvW0EtWmEtel8kXVtcXHckXSovO1xuXG4vLyBzdHJp
cCBzdHJpbmdzIGluIGV4cHJlc3Npb25zXG52YXIgc3RyaXBTdHJpbmdSRSA9IC8nKD86W14nXFxc
XF18XFxcXC4pKid8XCIoPzpbXlwiXFxcXF18XFxcXC4pKlwifGAoPzpbXmBcXFxcXXxcXFxcLikq
XFwkXFx7fFxcfSg/OlteYFxcXFxdfFxcXFwuKSpgfGAoPzpbXmBcXFxcXXxcXFxcLikqYC9nO1xu
XG4vLyBkZXRlY3QgcHJvYmxlbWF0aWMgZXhwcmVzc2lvbnMgaW4gYSB0ZW1wbGF0ZVxuZnVuY3Rp
b24gZGV0ZWN0RXJyb3JzIChhc3QpIHtcbiAgdmFyIGVycm9ycyA9IFtdO1xuICBpZiAoYXN0KSB7
XG4gICAgY2hlY2tOb2RlKGFzdCwgZXJyb3JzKTtcbiAgfVxuICByZXR1cm4gZXJyb3JzXG59XG5c
bmZ1bmN0aW9uIGNoZWNrTm9kZSAobm9kZSwgZXJyb3JzKSB7XG4gIGlmIChub2RlLnR5cGUgPT09
IDEpIHtcbiAgICBmb3IgKHZhciBuYW1lIGluIG5vZGUuYXR0cnNNYXApIHtcbiAgICAgIGlmIChk
aXJSRS50ZXN0KG5hbWUpKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IG5vZGUuYXR0cnNNYXBbbmFt
ZV07XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIGlmIChuYW1lID09PSAndi1mb3In
KSB7XG4gICAgICAgICAgICBjaGVja0Zvcihub2RlLCAoXCJ2LWZvcj1cXFwiXCIgKyB2YWx1ZSAr
IFwiXFxcIlwiKSwgZXJyb3JzKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKG9uUkUudGVzdChuYW1l
KSkge1xuICAgICAgICAgICAgY2hlY2tFdmVudCh2YWx1ZSwgKG5hbWUgKyBcIj1cXFwiXCIgKyB2
YWx1ZSArIFwiXFxcIlwiKSwgZXJyb3JzKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAg
ICAgY2hlY2tFeHByZXNzaW9uKHZhbHVlLCAobmFtZSArIFwiPVxcXCJcIiArIHZhbHVlICsgXCJc
XFwiXCIpLCBlcnJvcnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1c
biAgICBpZiAobm9kZS5jaGlsZHJlbikge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2Rl
LmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNoZWNrTm9kZShub2RlLmNoaWxkcmVu
W2ldLCBlcnJvcnMpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIGlmIChub2RlLnR5cGUgPT09
IDIpIHtcbiAgICBjaGVja0V4cHJlc3Npb24obm9kZS5leHByZXNzaW9uLCBub2RlLnRleHQsIGVy
cm9ycyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tFdmVudCAoZXhwLCB0ZXh0LCBlcnJvcnMp
IHtcbiAgdmFyIHN0aXBwZWQgPSBleHAucmVwbGFjZShzdHJpcFN0cmluZ1JFLCAnJyk7XG4gIHZh
ciBrZXl3b3JkTWF0Y2ggPSBzdGlwcGVkLm1hdGNoKHVuYXJ5T3BlcmF0b3JzUkUpO1xuICBpZiAo
a2V5d29yZE1hdGNoICYmIHN0aXBwZWQuY2hhckF0KGtleXdvcmRNYXRjaC5pbmRleCAtIDEpICE9
PSAnJCcpIHtcbiAgICBlcnJvcnMucHVzaChcbiAgICAgIFwiYXZvaWQgdXNpbmcgSmF2YVNjcmlw
dCB1bmFyeSBvcGVyYXRvciBhcyBwcm9wZXJ0eSBuYW1lOiBcIiArXG4gICAgICBcIlxcXCJcIiAr
IChrZXl3b3JkTWF0Y2hbMF0pICsgXCJcXFwiIGluIGV4cHJlc3Npb24gXCIgKyAodGV4dC50cmlt
KCkpXG4gICAgKTtcbiAgfVxuICBjaGVja0V4cHJlc3Npb24oZXhwLCB0ZXh0LCBlcnJvcnMpO1xu
fVxuXG5mdW5jdGlvbiBjaGVja0ZvciAobm9kZSwgdGV4dCwgZXJyb3JzKSB7XG4gIGNoZWNrRXhw
cmVzc2lvbihub2RlLmZvciB8fCAnJywgdGV4dCwgZXJyb3JzKTtcbiAgY2hlY2tJZGVudGlmaWVy
KG5vZGUuYWxpYXMsICd2LWZvciBhbGlhcycsIHRleHQsIGVycm9ycyk7XG4gIGNoZWNrSWRlbnRp
Zmllcihub2RlLml0ZXJhdG9yMSwgJ3YtZm9yIGl0ZXJhdG9yJywgdGV4dCwgZXJyb3JzKTtcbiAg
Y2hlY2tJZGVudGlmaWVyKG5vZGUuaXRlcmF0b3IyLCAndi1mb3IgaXRlcmF0b3InLCB0ZXh0LCBl
cnJvcnMpO1xufVxuXG5mdW5jdGlvbiBjaGVja0lkZW50aWZpZXIgKGlkZW50LCB0eXBlLCB0ZXh0
LCBlcnJvcnMpIHtcbiAgaWYgKHR5cGVvZiBpZGVudCA9PT0gJ3N0cmluZycgJiYgIWlkZW50UkUu
dGVzdChpZGVudCkpIHtcbiAgICBlcnJvcnMucHVzaCgoXCJpbnZhbGlkIFwiICsgdHlwZSArIFwi
IFxcXCJcIiArIGlkZW50ICsgXCJcXFwiIGluIGV4cHJlc3Npb246IFwiICsgKHRleHQudHJpbSgp
KSkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrRXhwcmVzc2lvbiAoZXhwLCB0ZXh0LCBlcnJv
cnMpIHtcbiAgdHJ5IHtcbiAgICBuZXcgRnVuY3Rpb24oKFwicmV0dXJuIFwiICsgZXhwKSk7XG4g
IH0gY2F0Y2ggKGUpIHtcbiAgICB2YXIga2V5d29yZE1hdGNoID0gZXhwLnJlcGxhY2Uoc3RyaXBT
dHJpbmdSRSwgJycpLm1hdGNoKHByb2hpYml0ZWRLZXl3b3JkUkUpO1xuICAgIGlmIChrZXl3b3Jk
TWF0Y2gpIHtcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICBcImF2b2lkIHVzaW5nIEphdmFT
Y3JpcHQga2V5d29yZCBhcyBwcm9wZXJ0eSBuYW1lOiBcIiArXG4gICAgICAgIFwiXFxcIlwiICsg
KGtleXdvcmRNYXRjaFswXSkgKyBcIlxcXCIgaW4gZXhwcmVzc2lvbiBcIiArICh0ZXh0LnRyaW0o
KSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVycm9ycy5wdXNoKChcImludmFsaWQg
ZXhwcmVzc2lvbjogXCIgKyAodGV4dC50cmltKCkpKSk7XG4gICAgfVxuICB9XG59XG5cbi8qICAq
L1xuXG5mdW5jdGlvbiBjcmVhdGVGdW5jdGlvbiAoY29kZSwgZXJyb3JzKSB7XG4gIHRyeSB7XG4g
ICAgcmV0dXJuIG5ldyBGdW5jdGlvbihjb2RlKVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICBlcnJv
cnMucHVzaCh7IGVycjogZXJyLCBjb2RlOiBjb2RlIH0pO1xuICAgIHJldHVybiBub29wXG4gIH1c
bn1cblxuZnVuY3Rpb24gY3JlYXRlQ29tcGlsZVRvRnVuY3Rpb25GbiAoY29tcGlsZSkge1xuICB2
YXIgY2FjaGUgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuXG4gIHJldHVybiBmdW5jdGlvbiBjb21w
aWxlVG9GdW5jdGlvbnMgKFxuICAgIHRlbXBsYXRlLFxuICAgIG9wdGlvbnMsXG4gICAgdm1cbiAg
KSB7XG4gICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25v
cmUgaWYgKi9cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykg
e1xuICAgICAgLy8gZGV0ZWN0IHBvc3NpYmxlIENTUCByZXN0cmljdGlvblxuICAgICAgdHJ5IHtc
biAgICAgICAgbmV3IEZ1bmN0aW9uKCdyZXR1cm4gMScpO1xuICAgICAgfSBjYXRjaCAoZSkge1xu
ICAgICAgICBpZiAoZS50b1N0cmluZygpLm1hdGNoKC91bnNhZmUtZXZhbHxDU1AvKSkge1xuICAg
ICAgICAgIHdhcm4oXG4gICAgICAgICAgICAnSXQgc2VlbXMgeW91IGFyZSB1c2luZyB0aGUgc3Rh
bmRhbG9uZSBidWlsZCBvZiBWdWUuanMgaW4gYW4gJyArXG4gICAgICAgICAgICAnZW52aXJvbm1l
bnQgd2l0aCBDb250ZW50IFNlY3VyaXR5IFBvbGljeSB0aGF0IHByb2hpYml0cyB1bnNhZmUtZXZh
bC4gJyArXG4gICAgICAgICAgICAnVGhlIHRlbXBsYXRlIGNvbXBpbGVyIGNhbm5vdCB3b3JrIGlu
IHRoaXMgZW52aXJvbm1lbnQuIENvbnNpZGVyICcgK1xuICAgICAgICAgICAgJ3JlbGF4aW5nIHRo
ZSBwb2xpY3kgdG8gYWxsb3cgdW5zYWZlLWV2YWwgb3IgcHJlLWNvbXBpbGluZyB5b3VyICcgK1xu
ICAgICAgICAgICAgJ3RlbXBsYXRlcyBpbnRvIHJlbmRlciBmdW5jdGlvbnMuJ1xuICAgICAgICAg
ICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBjaGVjayBjYWNoZVxuICAg
IHZhciBrZXkgPSBvcHRpb25zLmRlbGltaXRlcnNcbiAgICAgID8gU3RyaW5nKG9wdGlvbnMuZGVs
aW1pdGVycykgKyB0ZW1wbGF0ZVxuICAgICAgOiB0ZW1wbGF0ZTtcbiAgICBpZiAoY2FjaGVba2V5
XSkge1xuICAgICAgcmV0dXJuIGNhY2hlW2tleV1cbiAgICB9XG5cbiAgICAvLyBjb21waWxlXG4g
ICAgdmFyIGNvbXBpbGVkID0gY29tcGlsZSh0ZW1wbGF0ZSwgb3B0aW9ucyk7XG5cbiAgICAvLyBj
aGVjayBjb21waWxhdGlvbiBlcnJvcnMvdGlwc1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VO
ViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBpZiAoY29tcGlsZWQuZXJyb3JzICYmIGNvbXBp
bGVkLmVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICBcIkVycm9yIGNv
bXBpbGluZyB0ZW1wbGF0ZTpcXG5cXG5cIiArIHRlbXBsYXRlICsgXCJcXG5cXG5cIiArXG4gICAg
ICAgICAgY29tcGlsZWQuZXJyb3JzLm1hcChmdW5jdGlvbiAoZSkgeyByZXR1cm4gKFwiLSBcIiAr
IGUpOyB9KS5qb2luKCdcXG4nKSArICdcXG4nLFxuICAgICAgICAgIHZtXG4gICAgICAgICk7XG4g
ICAgICB9XG4gICAgICBpZiAoY29tcGlsZWQudGlwcyAmJiBjb21waWxlZC50aXBzLmxlbmd0aCkg
e1xuICAgICAgICBjb21waWxlZC50aXBzLmZvckVhY2goZnVuY3Rpb24gKG1zZykgeyByZXR1cm4g
dGlwKG1zZywgdm0pOyB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB0dXJuIGNvZGUgaW50
byBmdW5jdGlvbnNcbiAgICB2YXIgcmVzID0ge307XG4gICAgdmFyIGZuR2VuRXJyb3JzID0gW107
XG4gICAgcmVzLnJlbmRlciA9IGNyZWF0ZUZ1bmN0aW9uKGNvbXBpbGVkLnJlbmRlciwgZm5HZW5F
cnJvcnMpO1xuICAgIHJlcy5zdGF0aWNSZW5kZXJGbnMgPSBjb21waWxlZC5zdGF0aWNSZW5kZXJG
bnMubWFwKGZ1bmN0aW9uIChjb2RlKSB7XG4gICAgICByZXR1cm4gY3JlYXRlRnVuY3Rpb24oY29k
ZSwgZm5HZW5FcnJvcnMpXG4gICAgfSk7XG5cbiAgICAvLyBjaGVjayBmdW5jdGlvbiBnZW5lcmF0
aW9uIGVycm9ycy5cbiAgICAvLyB0aGlzIHNob3VsZCBvbmx5IGhhcHBlbiBpZiB0aGVyZSBpcyBh
IGJ1ZyBpbiB0aGUgY29tcGlsZXIgaXRzZWxmLlxuICAgIC8vIG1vc3RseSBmb3IgY29kZWdlbiBk
ZXZlbG9wbWVudCB1c2VcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAocHJv
Y2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgaWYgKCghY29tcGls
ZWQuZXJyb3JzIHx8ICFjb21waWxlZC5lcnJvcnMubGVuZ3RoKSAmJiBmbkdlbkVycm9ycy5sZW5n
dGgpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICBcIkZhaWxlZCB0byBnZW5lcmF0ZSByZW5k
ZXIgZnVuY3Rpb246XFxuXFxuXCIgK1xuICAgICAgICAgIGZuR2VuRXJyb3JzLm1hcChmdW5jdGlv
biAocmVmKSB7XG4gICAgICAgICAgICB2YXIgZXJyID0gcmVmLmVycjtcbiAgICAgICAgICAgIHZh
ciBjb2RlID0gcmVmLmNvZGU7XG5cbiAgICAgICAgICAgIHJldHVybiAoKGVyci50b1N0cmluZygp
KSArIFwiIGluXFxuXFxuXCIgKyBjb2RlICsgXCJcXG5cIik7XG4gICAgICAgIH0pLmpvaW4oJ1xc
bicpLFxuICAgICAgICAgIHZtXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0
dXJuIChjYWNoZVtrZXldID0gcmVzKVxuICB9XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBjcmVh
dGVDb21waWxlckNyZWF0b3IgKGJhc2VDb21waWxlKSB7XG4gIHJldHVybiBmdW5jdGlvbiBjcmVh
dGVDb21waWxlciAoYmFzZU9wdGlvbnMpIHtcbiAgICBmdW5jdGlvbiBjb21waWxlIChcbiAgICAg
IHRlbXBsYXRlLFxuICAgICAgb3B0aW9uc1xuICAgICkge1xuICAgICAgdmFyIGZpbmFsT3B0aW9u
cyA9IE9iamVjdC5jcmVhdGUoYmFzZU9wdGlvbnMpO1xuICAgICAgdmFyIGVycm9ycyA9IFtdO1xu
ICAgICAgdmFyIHRpcHMgPSBbXTtcbiAgICAgIGZpbmFsT3B0aW9ucy53YXJuID0gZnVuY3Rpb24g
KG1zZywgdGlwKSB7XG4gICAgICAgICh0aXAgPyB0aXBzIDogZXJyb3JzKS5wdXNoKG1zZyk7XG4g
ICAgICB9O1xuXG4gICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAvLyBtZXJnZSBjdXN0b20g
bW9kdWxlc1xuICAgICAgICBpZiAob3B0aW9ucy5tb2R1bGVzKSB7XG4gICAgICAgICAgZmluYWxP
cHRpb25zLm1vZHVsZXMgPVxuICAgICAgICAgICAgKGJhc2VPcHRpb25zLm1vZHVsZXMgfHwgW10p
LmNvbmNhdChvcHRpb25zLm1vZHVsZXMpO1xuICAgICAgICB9XG4gICAgICAgIC8vIG1lcmdlIGN1
c3RvbSBkaXJlY3RpdmVzXG4gICAgICAgIGlmIChvcHRpb25zLmRpcmVjdGl2ZXMpIHtcbiAgICAg
ICAgICBmaW5hbE9wdGlvbnMuZGlyZWN0aXZlcyA9IGV4dGVuZChcbiAgICAgICAgICAgIE9iamVj
dC5jcmVhdGUoYmFzZU9wdGlvbnMuZGlyZWN0aXZlcyksXG4gICAgICAgICAgICBvcHRpb25zLmRp
cmVjdGl2ZXNcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIC8vIGNvcHkgb3RoZXIg
b3B0aW9uc1xuICAgICAgICBmb3IgKHZhciBrZXkgaW4gb3B0aW9ucykge1xuICAgICAgICAgIGlm
IChrZXkgIT09ICdtb2R1bGVzJyAmJiBrZXkgIT09ICdkaXJlY3RpdmVzJykge1xuICAgICAgICAg
ICAgZmluYWxPcHRpb25zW2tleV0gPSBvcHRpb25zW2tleV07XG4gICAgICAgICAgfVxuICAgICAg
ICB9XG4gICAgICB9XG5cbiAgICAgIHZhciBjb21waWxlZCA9IGJhc2VDb21waWxlKHRlbXBsYXRl
LCBmaW5hbE9wdGlvbnMpO1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJv
ZHVjdGlvbicpIHtcbiAgICAgICAgZXJyb3JzLnB1c2guYXBwbHkoZXJyb3JzLCBkZXRlY3RFcnJv
cnMoY29tcGlsZWQuYXN0KSk7XG4gICAgICB9XG4gICAgICBjb21waWxlZC5lcnJvcnMgPSBlcnJv
cnM7XG4gICAgICBjb21waWxlZC50aXBzID0gdGlwcztcbiAgICAgIHJldHVybiBjb21waWxlZFxu
ICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBjb21waWxlOiBjb21waWxlLFxuICAgICAgY29t
cGlsZVRvRnVuY3Rpb25zOiBjcmVhdGVDb21waWxlVG9GdW5jdGlvbkZuKGNvbXBpbGUpXG4gICAg
fVxuICB9XG59XG5cbi8qICAqL1xuXG4vLyBgY3JlYXRlQ29tcGlsZXJDcmVhdG9yYCBhbGxvd3Mg
Y3JlYXRpbmcgY29tcGlsZXJzIHRoYXQgdXNlIGFsdGVybmF0aXZlXG4vLyBwYXJzZXIvb3B0aW1p
emVyL2NvZGVnZW4sIGUuZyB0aGUgU1NSIG9wdGltaXppbmcgY29tcGlsZXIuXG4vLyBIZXJlIHdl
IGp1c3QgZXhwb3J0IGEgZGVmYXVsdCBjb21waWxlciB1c2luZyB0aGUgZGVmYXVsdCBwYXJ0cy5c
bnZhciBjcmVhdGVDb21waWxlciA9IGNyZWF0ZUNvbXBpbGVyQ3JlYXRvcihmdW5jdGlvbiBiYXNl
Q29tcGlsZSAoXG4gIHRlbXBsYXRlLFxuICBvcHRpb25zXG4pIHtcbiAgdmFyIGFzdCA9IHBhcnNl
KHRlbXBsYXRlLnRyaW0oKSwgb3B0aW9ucyk7XG4gIG9wdGltaXplKGFzdCwgb3B0aW9ucyk7XG4g
IHZhciBjb2RlID0gZ2VuZXJhdGUoYXN0LCBvcHRpb25zKTtcbiAgcmV0dXJuIHtcbiAgICBhc3Q6
IGFzdCxcbiAgICByZW5kZXI6IGNvZGUucmVuZGVyLFxuICAgIHN0YXRpY1JlbmRlckZuczogY29k
ZS5zdGF0aWNSZW5kZXJGbnNcbiAgfVxufSk7XG5cbi8qICAqL1xuXG52YXIgcmVmJDEgPSBjcmVh
dGVDb21waWxlcihiYXNlT3B0aW9ucyk7XG52YXIgY29tcGlsZVRvRnVuY3Rpb25zID0gcmVmJDEu
Y29tcGlsZVRvRnVuY3Rpb25zO1xuXG4vKiAgKi9cblxudmFyIGlkVG9UZW1wbGF0ZSA9IGNhY2hl
ZChmdW5jdGlvbiAoaWQpIHtcbiAgdmFyIGVsID0gcXVlcnkoaWQpO1xuICByZXR1cm4gZWwgJiYg
ZWwuaW5uZXJIVE1MXG59KTtcblxudmFyIG1vdW50ID0gVnVlJDMucHJvdG90eXBlLiRtb3VudDtc
blZ1ZSQzLnByb3RvdHlwZS4kbW91bnQgPSBmdW5jdGlvbiAoXG4gIGVsLFxuICBoeWRyYXRpbmdc
bikge1xuICBlbCA9IGVsICYmIHF1ZXJ5KGVsKTtcblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYg
Ki9cbiAgaWYgKGVsID09PSBkb2N1bWVudC5ib2R5IHx8IGVsID09PSBkb2N1bWVudC5kb2N1bWVu
dEVsZW1lbnQpIHtcbiAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYm
IHdhcm4oXG4gICAgICBcIkRvIG5vdCBtb3VudCBWdWUgdG8gPGh0bWw+IG9yIDxib2R5PiAtIG1v
dW50IHRvIG5vcm1hbCBlbGVtZW50cyBpbnN0ZWFkLlwiXG4gICAgKTtcbiAgICByZXR1cm4gdGhp
c1xuICB9XG5cbiAgdmFyIG9wdGlvbnMgPSB0aGlzLiRvcHRpb25zO1xuICAvLyByZXNvbHZlIHRl
bXBsYXRlL2VsIGFuZCBjb252ZXJ0IHRvIHJlbmRlciBmdW5jdGlvblxuICBpZiAoIW9wdGlvbnMu
cmVuZGVyKSB7XG4gICAgdmFyIHRlbXBsYXRlID0gb3B0aW9ucy50ZW1wbGF0ZTtcbiAgICBpZiAo
dGVtcGxhdGUpIHtcbiAgICAgIGlmICh0eXBlb2YgdGVtcGxhdGUgPT09ICdzdHJpbmcnKSB7XG4g
ICAgICAgIGlmICh0ZW1wbGF0ZS5jaGFyQXQoMCkgPT09ICcjJykge1xuICAgICAgICAgIHRlbXBs
YXRlID0gaWRUb1RlbXBsYXRlKHRlbXBsYXRlKTtcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25v
cmUgaWYgKi9cbiAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0
aW9uJyAmJiAhdGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHdhcm4oXG4gICAgICAgICAgICAgIChc
IlRlbXBsYXRlIGVsZW1lbnQgbm90IGZvdW5kIG9yIGlzIGVtcHR5OiBcIiArIChvcHRpb25zLnRl
bXBsYXRlKSksXG4gICAgICAgICAgICAgIHRoaXNcbiAgICAgICAgICAgICk7XG4gICAgICAgICAg
fVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHRlbXBsYXRlLm5vZGVUeXBlKSB7XG4gICAg
ICAgIHRlbXBsYXRlID0gdGVtcGxhdGUuaW5uZXJIVE1MO1xuICAgICAgfSBlbHNlIHtcbiAgICAg
ICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAg
ICB3YXJuKCdpbnZhbGlkIHRlbXBsYXRlIG9wdGlvbjonICsgdGVtcGxhdGUsIHRoaXMpO1xuICAg
ICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChlbCkg
e1xuICAgICAgdGVtcGxhdGUgPSBnZXRPdXRlckhUTUwoZWwpO1xuICAgIH1cbiAgICBpZiAodGVt
cGxhdGUpIHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgaWYgKHByb2Nl
c3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgY29uZmlnLnBlcmZvcm1hbmNlICYm
IG1hcmspIHtcbiAgICAgICAgbWFyaygnY29tcGlsZScpO1xuICAgICAgfVxuXG4gICAgICB2YXIg
cmVmID0gY29tcGlsZVRvRnVuY3Rpb25zKHRlbXBsYXRlLCB7XG4gICAgICAgIHNob3VsZERlY29k
ZU5ld2xpbmVzOiBzaG91bGREZWNvZGVOZXdsaW5lcyxcbiAgICAgICAgZGVsaW1pdGVyczogb3B0
aW9ucy5kZWxpbWl0ZXJzLFxuICAgICAgICBjb21tZW50czogb3B0aW9ucy5jb21tZW50c1xuICAg
ICAgfSwgdGhpcyk7XG4gICAgICB2YXIgcmVuZGVyID0gcmVmLnJlbmRlcjtcbiAgICAgIHZhciBz
dGF0aWNSZW5kZXJGbnMgPSByZWYuc3RhdGljUmVuZGVyRm5zO1xuICAgICAgb3B0aW9ucy5yZW5k
ZXIgPSByZW5kZXI7XG4gICAgICBvcHRpb25zLnN0YXRpY1JlbmRlckZucyA9IHN0YXRpY1JlbmRl
ckZucztcblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAocHJvY2Vz
cy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBjb25maWcucGVyZm9ybWFuY2UgJiYg
bWFyaykge1xuICAgICAgICBtYXJrKCdjb21waWxlIGVuZCcpO1xuICAgICAgICBtZWFzdXJlKCgo
dGhpcy5fbmFtZSkgKyBcIiBjb21waWxlXCIpLCAnY29tcGlsZScsICdjb21waWxlIGVuZCcpO1xu
ICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gbW91bnQuY2FsbCh0aGlzLCBlbCwgaHlkcmF0
aW5nKVxufTtcblxuLyoqXG4gKiBHZXQgb3V0ZXJIVE1MIG9mIGVsZW1lbnRzLCB0YWtpbmcgY2Fy
ZVxuICogb2YgU1ZHIGVsZW1lbnRzIGluIElFIGFzIHdlbGwuXG4gKi9cbmZ1bmN0aW9uIGdldE91
dGVySFRNTCAoZWwpIHtcbiAgaWYgKGVsLm91dGVySFRNTCkge1xuICAgIHJldHVybiBlbC5vdXRl
ckhUTUxcbiAgfSBlbHNlIHtcbiAgICB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7XG4gICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGVsLmNsb25lTm9kZSh0cnVl
KSk7XG4gICAgcmV0dXJuIGNvbnRhaW5lci5pbm5lckhUTUxcbiAgfVxufVxuXG5WdWUkMy5jb21w
aWxlID0gY29tcGlsZVRvRnVuY3Rpb25zO1xuXG5leHBvcnQgZGVmYXVsdCBWdWUkMztcblxuXG5c
bi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi92dWUvZGlzdC92
dWUuZXNtLmpzXG4vLyBtb2R1bGUgaWQgPSAwXG4vLyBtb2R1bGUgY2h1bmtzID0gMSIsIi8qIGds
b2JhbHMgX19WVUVfU1NSX0NPTlRFWFRfXyAqL1xuXG4vLyB0aGlzIG1vZHVsZSBpcyBhIHJ1bnRp
bWUgdXRpbGl0eSBmb3IgY2xlYW5lciBjb21wb25lbnQgbW9kdWxlIG91dHB1dCBhbmQgd2lsbFxu
Ly8gYmUgaW5jbHVkZWQgaW4gdGhlIGZpbmFsIHdlYnBhY2sgdXNlciBidW5kbGVcblxubW9kdWxl
LmV4cG9ydHMgPSBmdW5jdGlvbiBub3JtYWxpemVDb21wb25lbnQgKFxuICByYXdTY3JpcHRFeHBv
cnRzLFxuICBjb21waWxlZFRlbXBsYXRlLFxuICBpbmplY3RTdHlsZXMsXG4gIHNjb3BlSWQsXG4g
IG1vZHVsZUlkZW50aWZpZXIgLyogc2VydmVyIG9ubHkgKi9cbikge1xuICB2YXIgZXNNb2R1bGVc
biAgdmFyIHNjcmlwdEV4cG9ydHMgPSByYXdTY3JpcHRFeHBvcnRzID0gcmF3U2NyaXB0RXhwb3J0
cyB8fCB7fVxuXG4gIC8vIEVTNiBtb2R1bGVzIGludGVyb3BcbiAgdmFyIHR5cGUgPSB0eXBlb2Yg
cmF3U2NyaXB0RXhwb3J0cy5kZWZhdWx0XG4gIGlmICh0eXBlID09PSAnb2JqZWN0JyB8fCB0eXBl
ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgZXNNb2R1bGUgPSByYXdTY3JpcHRFeHBvcnRzXG4gICAg
c2NyaXB0RXhwb3J0cyA9IHJhd1NjcmlwdEV4cG9ydHMuZGVmYXVsdFxuICB9XG5cbiAgLy8gVnVl
LmV4dGVuZCBjb25zdHJ1Y3RvciBleHBvcnQgaW50ZXJvcFxuICB2YXIgb3B0aW9ucyA9IHR5cGVv
ZiBzY3JpcHRFeHBvcnRzID09PSAnZnVuY3Rpb24nXG4gICAgPyBzY3JpcHRFeHBvcnRzLm9wdGlv
bnNcbiAgICA6IHNjcmlwdEV4cG9ydHNcblxuICAvLyByZW5kZXIgZnVuY3Rpb25zXG4gIGlmIChj
b21waWxlZFRlbXBsYXRlKSB7XG4gICAgb3B0aW9ucy5yZW5kZXIgPSBjb21waWxlZFRlbXBsYXRl
LnJlbmRlclxuICAgIG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zID0gY29tcGlsZWRUZW1wbGF0ZS5z
dGF0aWNSZW5kZXJGbnNcbiAgfVxuXG4gIC8vIHNjb3BlZElkXG4gIGlmIChzY29wZUlkKSB7XG4g
ICAgb3B0aW9ucy5fc2NvcGVJZCA9IHNjb3BlSWRcbiAgfVxuXG4gIHZhciBob29rXG4gIGlmICht
b2R1bGVJZGVudGlmaWVyKSB7IC8vIHNlcnZlciBidWlsZFxuICAgIGhvb2sgPSBmdW5jdGlvbiAo
Y29udGV4dCkge1xuICAgICAgLy8gMi4zIGluamVjdGlvblxuICAgICAgY29udGV4dCA9XG4gICAg
ICAgIGNvbnRleHQgfHwgLy8gY2FjaGVkIGNhbGxcbiAgICAgICAgKHRoaXMuJHZub2RlICYmIHRo
aXMuJHZub2RlLnNzckNvbnRleHQpIHx8IC8vIHN0YXRlZnVsXG4gICAgICAgICh0aGlzLnBhcmVu
dCAmJiB0aGlzLnBhcmVudC4kdm5vZGUgJiYgdGhpcy5wYXJlbnQuJHZub2RlLnNzckNvbnRleHQp
IC8vIGZ1bmN0aW9uYWxcbiAgICAgIC8vIDIuMiB3aXRoIHJ1bkluTmV3Q29udGV4dDogdHJ1ZVxu
ICAgICAgaWYgKCFjb250ZXh0ICYmIHR5cGVvZiBfX1ZVRV9TU1JfQ09OVEVYVF9fICE9PSAndW5k
ZWZpbmVkJykge1xuICAgICAgICBjb250ZXh0ID0gX19WVUVfU1NSX0NPTlRFWFRfX1xuICAgICAg
fVxuICAgICAgLy8gaW5qZWN0IGNvbXBvbmVudCBzdHlsZXNcbiAgICAgIGlmIChpbmplY3RTdHls
ZXMpIHtcbiAgICAgICAgaW5qZWN0U3R5bGVzLmNhbGwodGhpcywgY29udGV4dClcbiAgICAgIH1c
biAgICAgIC8vIHJlZ2lzdGVyIGNvbXBvbmVudCBtb2R1bGUgaWRlbnRpZmllciBmb3IgYXN5bmMg
Y2h1bmsgaW5mZXJyZW5jZVxuICAgICAgaWYgKGNvbnRleHQgJiYgY29udGV4dC5fcmVnaXN0ZXJl
ZENvbXBvbmVudHMpIHtcbiAgICAgICAgY29udGV4dC5fcmVnaXN0ZXJlZENvbXBvbmVudHMuYWRk
KG1vZHVsZUlkZW50aWZpZXIpXG4gICAgICB9XG4gICAgfVxuICAgIC8vIHVzZWQgYnkgc3NyIGlu
IGNhc2UgY29tcG9uZW50IGlzIGNhY2hlZCBhbmQgYmVmb3JlQ3JlYXRlXG4gICAgLy8gbmV2ZXIg
Z2V0cyBjYWxsZWRcbiAgICBvcHRpb25zLl9zc3JSZWdpc3RlciA9IGhvb2tcbiAgfSBlbHNlIGlm
IChpbmplY3RTdHlsZXMpIHtcbiAgICBob29rID0gaW5qZWN0U3R5bGVzXG4gIH1cblxuICBpZiAo
aG9vaykge1xuICAgIHZhciBmdW5jdGlvbmFsID0gb3B0aW9ucy5mdW5jdGlvbmFsXG4gICAgdmFy
IGV4aXN0aW5nID0gZnVuY3Rpb25hbFxuICAgICAgPyBvcHRpb25zLnJlbmRlclxuICAgICAgOiBv
cHRpb25zLmJlZm9yZUNyZWF0ZVxuICAgIGlmICghZnVuY3Rpb25hbCkge1xuICAgICAgLy8gaW5q
ZWN0IGNvbXBvbmVudCByZWdpc3RyYXRpb24gYXMgYmVmb3JlQ3JlYXRlIGhvb2tcbiAgICAgIG9w
dGlvbnMuYmVmb3JlQ3JlYXRlID0gZXhpc3RpbmdcbiAgICAgICAgPyBbXS5jb25jYXQoZXhpc3Rp
bmcsIGhvb2spXG4gICAgICAgIDogW2hvb2tdXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHJlZ2lz
dGVyIGZvciBmdW5jdGlvYWwgY29tcG9uZW50IGluIHZ1ZSBmaWxlXG4gICAgICBvcHRpb25zLnJl
bmRlciA9IGZ1bmN0aW9uIHJlbmRlcldpdGhTdHlsZUluamVjdGlvbiAoaCwgY29udGV4dCkge1xu
ICAgICAgICBob29rLmNhbGwoY29udGV4dClcbiAgICAgICAgcmV0dXJuIGV4aXN0aW5nKGgsIGNv
bnRleHQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBlc01vZHVsZTog
ZXNNb2R1bGUsXG4gICAgZXhwb3J0czogc2NyaXB0RXhwb3J0cyxcbiAgICBvcHRpb25zOiBvcHRp
b25zXG4gIH1cbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJc
bi8vIC4vfi92dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXplci5qc1xuLy8gbW9kdWxl
IGlkID0gMVxuLy8gbW9kdWxlIGNodW5rcyA9IDEiLCJcblxuLy9cbi8vIEdlbmVyYXRlZCBvbiBU
dWUgRGVjIDE2IDIwMTQgMTI6MTM6NDcgR01UKzAxMDAgKENFVCkgYnkgQ2hhcmxpZSBSb2JiaW5z
LCBQYW9sbyBGcmFnb21lbmkgJiB0aGUgQ29udHJpYnV0b3JzIChVc2luZyBDb2Rlc3VyZ2Vvbiku
XG4vLyBWZXJzaW9uIDEuMi42XG4vL1xuXG4oZnVuY3Rpb24gKGV4cG9ydHMpIHtcblxuLypcbiAq
IGJyb3dzZXIuanM6IEJyb3dzZXIgc3BlY2lmaWMgZnVuY3Rpb25hbGl0eSBmb3IgZGlyZWN0b3Iu
XG4gKlxuICogKEMpIDIwMTEsIENoYXJsaWUgUm9iYmlucywgUGFvbG8gRnJhZ29tZW5pLCAmIHRo
ZSBDb250cmlidXRvcnMuXG4gKiBNSVQgTElDRU5TRVxuICpcbiAqL1xuXG52YXIgZGxvYyA9IGRv
Y3VtZW50LmxvY2F0aW9uO1xuXG5mdW5jdGlvbiBkbG9jSGFzaEVtcHR5KCkge1xuICAvLyBOb24t
SUUgYnJvd3NlcnMgcmV0dXJuICcnIHdoZW4gdGhlIGFkZHJlc3MgYmFyIHNob3dzICcjJzsgRGly
ZWN0b3IncyBsb2dpY1xuICAvLyBhc3N1bWVzIGJvdGggbWVhbiBlbXB0eS5cbiAgcmV0dXJuIGRs
b2MuaGFzaCA9PT0gJycgfHwgZGxvYy5oYXNoID09PSAnIyc7XG59XG5cbnZhciBsaXN0ZW5lciA9
IHtcbiAgbW9kZTogJ21vZGVybicsXG4gIGhhc2g6IGRsb2MuaGFzaCxcbiAgaGlzdG9yeTogZmFs
c2UsXG5cbiAgY2hlY2s6IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgaCA9IGRsb2MuaGFzaDtcbiAg
ICBpZiAoaCAhPSB0aGlzLmhhc2gpIHtcbiAgICAgIHRoaXMuaGFzaCA9IGg7XG4gICAgICB0aGlz
Lm9uSGFzaENoYW5nZWQoKTtcbiAgICB9XG4gIH0sXG5cbiAgZmlyZTogZnVuY3Rpb24gKCkge1xu
ICAgIGlmICh0aGlzLm1vZGUgPT09ICdtb2Rlcm4nKSB7XG4gICAgICB0aGlzLmhpc3RvcnkgPT09
IHRydWUgPyB3aW5kb3cub25wb3BzdGF0ZSgpIDogd2luZG93Lm9uaGFzaGNoYW5nZSgpO1xuICAg
IH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMub25IYXNoQ2hhbmdlZCgpO1xuICAgIH1cbiAgfSxc
blxuICBpbml0OiBmdW5jdGlvbiAoZm4sIGhpc3RvcnkpIHtcbiAgICB2YXIgc2VsZiA9IHRoaXM7
XG4gICAgdGhpcy5oaXN0b3J5ID0gaGlzdG9yeTtcblxuICAgIGlmICghUm91dGVyLmxpc3RlbmVy
cykge1xuICAgICAgUm91dGVyLmxpc3RlbmVycyA9IFtdO1xuICAgIH1cblxuICAgIGZ1bmN0aW9u
IG9uY2hhbmdlKG9uQ2hhbmdlRXZlbnQpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gUm91
dGVyLmxpc3RlbmVycy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgUm91dGVyLmxpc3Rl
bmVyc1tpXShvbkNoYW5nZUV2ZW50KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvL25vdGUgSUU4
IGlzIGJlaW5nIGNvdW50ZWQgYXMgJ21vZGVybicgYmVjYXVzZSBpdCBoYXMgdGhlIGhhc2hjaGFu
Z2UgZXZlbnRcbiAgICBpZiAoJ29uaGFzaGNoYW5nZScgaW4gd2luZG93ICYmIChkb2N1bWVudC5k
b2N1bWVudE1vZGUgPT09IHVuZGVmaW5lZFxuICAgICAgfHwgZG9jdW1lbnQuZG9jdW1lbnRNb2Rl
ID4gNykpIHtcbiAgICAgIC8vIEF0IGxlYXN0IGZvciBub3cgSFRNTDUgaGlzdG9yeSBpcyBhdmFp
bGFibGUgZm9yICdtb2Rlcm4nIGJyb3dzZXJzIG9ubHlcbiAgICAgIGlmICh0aGlzLmhpc3Rvcnkg
PT09IHRydWUpIHtcbiAgICAgICAgLy8gVGhlcmUgaXMgYW4gb2xkIGJ1ZyBpbiBDaHJvbWUgdGhh
dCBjYXVzZXMgb25wb3BzdGF0ZSB0byBmaXJlIGV2ZW5cbiAgICAgICAgLy8gdXBvbiBpbml0aWFs
IHBhZ2UgbG9hZC4gU2luY2UgdGhlIGhhbmRsZXIgaXMgcnVuIG1hbnVhbGx5IGluIGluaXQoKSxc
biAgICAgICAgLy8gdGhpcyB3b3VsZCBjYXVzZSBDaHJvbWUgdG8gcnVuIGl0IHR3aXNlLiBDdXJy
ZW50bHkgdGhlIG9ubHlcbiAgICAgICAgLy8gd29ya2Fyb3VuZCBzZWVtcyB0byBiZSB0byBzZXQg
dGhlIGhhbmRsZXIgYWZ0ZXIgdGhlIGluaXRpYWwgcGFnZSBsb2FkXG4gICAgICAgIC8vIGh0dHA6
Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTYzMDQwXG4gICAg
ICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG4gICAgICAgICAgd2luZG93Lm9ucG9wc3RhdGUg
PSBvbmNoYW5nZTtcbiAgICAgICAgfSwgNTAwKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAg
ICAgICB3aW5kb3cub25oYXNoY2hhbmdlID0gb25jaGFuZ2U7XG4gICAgICB9XG4gICAgICB0aGlz
Lm1vZGUgPSAnbW9kZXJuJztcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAvL1xuICAgICAgLy8g
SUUgc3VwcG9ydCwgYmFzZWQgb24gYSBjb25jZXB0IGJ5IEVyaWsgQXJ2aWRzb24gLi4uXG4gICAg
ICAvL1xuICAgICAgdmFyIGZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7
XG4gICAgICBmcmFtZS5pZCA9ICdzdGF0ZS1mcmFtZSc7XG4gICAgICBmcmFtZS5zdHlsZS5kaXNw
bGF5ID0gJ25vbmUnO1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZSk7XG4g
ICAgICB0aGlzLndyaXRlRnJhbWUoJycpO1xuXG4gICAgICBpZiAoJ29ucHJvcGVydHljaGFuZ2Un
IGluIGRvY3VtZW50ICYmICdhdHRhY2hFdmVudCcgaW4gZG9jdW1lbnQpIHtcbiAgICAgICAgZG9j
dW1lbnQuYXR0YWNoRXZlbnQoJ29ucHJvcGVydHljaGFuZ2UnLCBmdW5jdGlvbiAoKSB7XG4gICAg
ICAgICAgaWYgKGV2ZW50LnByb3BlcnR5TmFtZSA9PT0gJ2xvY2F0aW9uJykge1xuICAgICAgICAg
ICAgc2VsZi5jaGVjaygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAg
ICAgIHdpbmRvdy5zZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7IHNlbGYuY2hlY2soKTsgfSwgNTAp
O1xuXG4gICAgICB0aGlzLm9uSGFzaENoYW5nZWQgPSBvbmNoYW5nZTtcbiAgICAgIHRoaXMubW9k
ZSA9ICdsZWdhY3knO1xuICAgIH1cblxuICAgIFJvdXRlci5saXN0ZW5lcnMucHVzaChmbik7XG5c
biAgICByZXR1cm4gdGhpcy5tb2RlO1xuICB9LFxuXG4gIGRlc3Ryb3k6IGZ1bmN0aW9uIChmbikg
e1xuICAgIGlmICghUm91dGVyIHx8ICFSb3V0ZXIubGlzdGVuZXJzKSB7XG4gICAgICByZXR1cm47
XG4gICAgfVxuXG4gICAgdmFyIGxpc3RlbmVycyA9IFJvdXRlci5saXN0ZW5lcnM7XG5cbiAgICBm
b3IgKHZhciBpID0gbGlzdGVuZXJzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBp
ZiAobGlzdGVuZXJzW2ldID09PSBmbikge1xuICAgICAgICBsaXN0ZW5lcnMuc3BsaWNlKGksIDEp
O1xuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICBzZXRIYXNoOiBmdW5jdGlvbiAocykge1xuICAg
IC8vIE1vemlsbGEgYWx3YXlzIGFkZHMgYW4gZW50cnkgdG8gdGhlIGhpc3RvcnlcbiAgICBpZiAo
dGhpcy5tb2RlID09PSAnbGVnYWN5Jykge1xuICAgICAgdGhpcy53cml0ZUZyYW1lKHMpO1xuICAg
IH1cblxuICAgIGlmICh0aGlzLmhpc3RvcnkgPT09IHRydWUpIHtcbiAgICAgIHdpbmRvdy5oaXN0
b3J5LnB1c2hTdGF0ZSh7fSwgZG9jdW1lbnQudGl0bGUsIHMpO1xuICAgICAgLy8gRmlyZSBhbiBv
bnBvcHN0YXRlIGV2ZW50IG1hbnVhbGx5IHNpbmNlIHB1c2hpbmcgZG9lcyBub3Qgb2J2aW91c2x5
XG4gICAgICAvLyB0cmlnZ2VyIHRoZSBwb3AgZXZlbnQuXG4gICAgICB0aGlzLmZpcmUoKTtcbiAg
ICB9IGVsc2Uge1xuICAgICAgZGxvYy5oYXNoID0gKHNbMF0gPT09ICcvJykgPyBzIDogJy8nICsg
cztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH0sXG5cbiAgd3JpdGVGcmFtZTogZnVuY3Rp
b24gKHMpIHtcbiAgICAvLyBJRSBzdXBwb3J0Li4uXG4gICAgdmFyIGYgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnc3RhdGUtZnJhbWUnKTtcbiAgICB2YXIgZCA9IGYuY29udGVudERvY3VtZW50
IHx8IGYuY29udGVudFdpbmRvdy5kb2N1bWVudDtcbiAgICBkLm9wZW4oKTtcbiAgICBkLndyaXRl
KFwiPHNjcmlwdD5faGFzaCA9ICdcIiArIHMgKyBcIic7IG9ubG9hZCA9IHBhcmVudC5saXN0ZW5l
ci5zeW5jSGFzaDs8c2NyaXB0PlwiKTtcbiAgICBkLmNsb3NlKCk7XG4gIH0sXG5cbiAgc3luY0hh
c2g6IGZ1bmN0aW9uICgpIHtcbiAgICAvLyBJRSBzdXBwb3J0Li4uXG4gICAgdmFyIHMgPSB0aGlz
Ll9oYXNoO1xuICAgIGlmIChzICE9IGRsb2MuaGFzaCkge1xuICAgICAgZGxvYy5oYXNoID0gcztc
biAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH0sXG5cbiAgb25IYXNoQ2hhbmdlZDogZnVuY3Rp
b24gKCkge31cbn07XG5cbnZhciBSb3V0ZXIgPSBleHBvcnRzLlJvdXRlciA9IGZ1bmN0aW9uIChy
b3V0ZXMpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFJvdXRlcikpIHJldHVybiBuZXcgUm91
dGVyKHJvdXRlcyk7XG5cbiAgdGhpcy5wYXJhbXMgICA9IHt9O1xuICB0aGlzLnJvdXRlcyAgID0g
e307XG4gIHRoaXMubWV0aG9kcyAgPSBbJ29uJywgJ29uY2UnLCAnYWZ0ZXInLCAnYmVmb3JlJ107
XG4gIHRoaXMuc2NvcGUgICAgPSBbXTtcbiAgdGhpcy5fbWV0aG9kcyA9IHt9O1xuXG4gIHRoaXMu
X2luc2VydCA9IHRoaXMuaW5zZXJ0O1xuICB0aGlzLmluc2VydCA9IHRoaXMuaW5zZXJ0RXg7XG5c
biAgdGhpcy5oaXN0b3J5U3VwcG9ydCA9ICh3aW5kb3cuaGlzdG9yeSAhPSBudWxsID8gd2luZG93
Lmhpc3RvcnkucHVzaFN0YXRlIDogbnVsbCkgIT0gbnVsbFxuXG4gIHRoaXMuY29uZmlndXJlKCk7
XG4gIHRoaXMubW91bnQocm91dGVzIHx8IHt9KTtcbn07XG5cblJvdXRlci5wcm90b3R5cGUuaW5p
dCA9IGZ1bmN0aW9uIChyKSB7XG4gIHZhciBzZWxmID0gdGhpc1xuICAgICwgcm91dGVUbztcbiAg
dGhpcy5oYW5kbGVyID0gZnVuY3Rpb24ob25DaGFuZ2VFdmVudCkge1xuICAgIHZhciBuZXdVUkwg
PSBvbkNoYW5nZUV2ZW50ICYmIG9uQ2hhbmdlRXZlbnQubmV3VVJMIHx8IHdpbmRvdy5sb2NhdGlv
bi5oYXNoO1xuICAgIHZhciB1cmwgPSBzZWxmLmhpc3RvcnkgPT09IHRydWUgPyBzZWxmLmdldFBh
dGgoKSA6IG5ld1VSTC5yZXBsYWNlKC8uKiMvLCAnJyk7XG4gICAgc2VsZi5kaXNwYXRjaCgnb24n
LCB1cmwuY2hhckF0KDApID09PSAnLycgPyB1cmwgOiAnLycgKyB1cmwpO1xuICB9O1xuXG4gIGxp
c3RlbmVyLmluaXQodGhpcy5oYW5kbGVyLCB0aGlzLmhpc3RvcnkpO1xuXG4gIGlmICh0aGlzLmhp
c3RvcnkgPT09IGZhbHNlKSB7XG4gICAgaWYgKGRsb2NIYXNoRW1wdHkoKSAmJiByKSB7XG4gICAg
ICBkbG9jLmhhc2ggPSByO1xuICAgIH0gZWxzZSBpZiAoIWRsb2NIYXNoRW1wdHkoKSkge1xuICAg
ICAgc2VsZi5kaXNwYXRjaCgnb24nLCAnLycgKyBkbG9jLmhhc2gucmVwbGFjZSgvXigjXFwvfCN8
XFwvKS8sICcnKSk7XG4gICAgfVxuICB9XG4gIGVsc2Uge1xuICAgIGlmICh0aGlzLmNvbnZlcnRf
aGFzaF9pbl9pbml0KSB7XG4gICAgICAvLyBVc2UgaGFzaCBhcyByb3V0ZVxuICAgICAgcm91dGVU
byA9IGRsb2NIYXNoRW1wdHkoKSAmJiByID8gciA6ICFkbG9jSGFzaEVtcHR5KCkgPyBkbG9jLmhh
c2gucmVwbGFjZSgvXiMvLCAnJykgOiBudWxsO1xuICAgICAgaWYgKHJvdXRlVG8pIHtcbiAgICAg
ICAgd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKHt9LCBkb2N1bWVudC50aXRsZSwgcm91dGVU
byk7XG4gICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgLy8gVXNlIGNhbm9uaWNhbCB1
cmxcbiAgICAgIHJvdXRlVG8gPSB0aGlzLmdldFBhdGgoKTtcbiAgICB9XG5cbiAgICAvLyBSb3V0
ZXIgaGFzIGJlZW4gaW5pdGlhbGl6ZWQsIGJ1dCBkdWUgdG8gdGhlIGNocm9tZSBidWcgaXQgd2ls
bCBub3RcbiAgICAvLyB5ZXQgYWN0dWFsbHkgcm91dGUgSFRNTDUgaGlzdG9yeSBzdGF0ZSBjaGFu
Z2VzLiBUaHVzLCBkZWNpZGUgaWYgc2hvdWxkIHJvdXRlLlxuICAgIGlmIChyb3V0ZVRvIHx8IHRo
aXMucnVuX2luX2luaXQgPT09IHRydWUpIHtcbiAgICAgIHRoaXMuaGFuZGxlcigpO1xuICAgIH1c
biAgfVxuXG4gIHJldHVybiB0aGlzO1xufTtcblxuUm91dGVyLnByb3RvdHlwZS5leHBsb2RlID0g
ZnVuY3Rpb24gKCkge1xuICB2YXIgdiA9IHRoaXMuaGlzdG9yeSA9PT0gdHJ1ZSA/IHRoaXMuZ2V0
UGF0aCgpIDogZGxvYy5oYXNoO1xuICBpZiAodi5jaGFyQXQoMSkgPT09ICcvJykgeyB2PXYuc2xp
Y2UoMSkgfVxuICByZXR1cm4gdi5zbGljZSgxLCB2Lmxlbmd0aCkuc3BsaXQoXCIvXCIpO1xufTtc
blxuUm91dGVyLnByb3RvdHlwZS5zZXRSb3V0ZSA9IGZ1bmN0aW9uIChpLCB2LCB2YWwpIHtcbiAg
dmFyIHVybCA9IHRoaXMuZXhwbG9kZSgpO1xuXG4gIGlmICh0eXBlb2YgaSA9PT0gJ251bWJlcicg
JiYgdHlwZW9mIHYgPT09ICdzdHJpbmcnKSB7XG4gICAgdXJsW2ldID0gdjtcbiAgfVxuICBlbHNl
IGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgIHVybC5zcGxpY2UoaSwgdiwgcyk7
XG4gIH1cbiAgZWxzZSB7XG4gICAgdXJsID0gW2ldO1xuICB9XG5cbiAgbGlzdGVuZXIuc2V0SGFz
aCh1cmwuam9pbignLycpKTtcbiAgcmV0dXJuIHVybDtcbn07XG5cbi8vXG4vLyAjIyMgZnVuY3Rp
b24gaW5zZXJ0RXgobWV0aG9kLCBwYXRoLCByb3V0ZSwgcGFyZW50KVxuLy8gIyMjIyBAbWV0aG9k
IHtzdHJpbmd9IE1ldGhvZCB0byBpbnNlcnQgdGhlIHNwZWNpZmljIGByb3V0ZWAuXG4vLyAjIyMj
IEBwYXRoIHtBcnJheX0gUGFyc2VkIHBhdGggdG8gaW5zZXJ0IHRoZSBgcm91dGVgIGF0LlxuLy8g
IyMjIyBAcm91dGUge0FycmF5fGZ1bmN0aW9ufSBSb3V0ZSBoYW5kbGVycyB0byBpbnNlcnQuXG4v
LyAjIyMjIEBwYXJlbnQge09iamVjdH0gKipPcHRpb25hbCoqIFBhcmVudCBcInJvdXRlc1wiIHRv
IGluc2VydCBpbnRvLlxuLy8gaW5zZXJ0IGEgY2FsbGJhY2sgdGhhdCB3aWxsIG9ubHkgb2NjdXIg
b25jZSBwZXIgdGhlIG1hdGNoZWQgcm91dGUuXG4vL1xuUm91dGVyLnByb3RvdHlwZS5pbnNlcnRF
eCA9IGZ1bmN0aW9uKG1ldGhvZCwgcGF0aCwgcm91dGUsIHBhcmVudCkge1xuICBpZiAobWV0aG9k
ID09PSBcIm9uY2VcIikge1xuICAgIG1ldGhvZCA9IFwib25cIjtcbiAgICByb3V0ZSA9IGZ1bmN0
aW9uKHJvdXRlKSB7XG4gICAgICB2YXIgb25jZSA9IGZhbHNlO1xuICAgICAgcmV0dXJuIGZ1bmN0
aW9uKCkge1xuICAgICAgICBpZiAob25jZSkgcmV0dXJuO1xuICAgICAgICBvbmNlID0gdHJ1ZTtc
biAgICAgICAgcmV0dXJuIHJvdXRlLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICB9O1xu
ICAgIH0ocm91dGUpO1xuICB9XG4gIHJldHVybiB0aGlzLl9pbnNlcnQobWV0aG9kLCBwYXRoLCBy
b3V0ZSwgcGFyZW50KTtcbn07XG5cblJvdXRlci5wcm90b3R5cGUuZ2V0Um91dGUgPSBmdW5jdGlv
biAodikge1xuICB2YXIgcmV0ID0gdjtcblxuICBpZiAodHlwZW9mIHYgPT09IFwibnVtYmVyXCIp
IHtcbiAgICByZXQgPSB0aGlzLmV4cGxvZGUoKVt2XTtcbiAgfVxuICBlbHNlIGlmICh0eXBlb2Yg
diA9PT0gXCJzdHJpbmdcIil7XG4gICAgdmFyIGggPSB0aGlzLmV4cGxvZGUoKTtcbiAgICByZXQg
PSBoLmluZGV4T2Yodik7XG4gIH1cbiAgZWxzZSB7XG4gICAgcmV0ID0gdGhpcy5leHBsb2RlKCk7
XG4gIH1cblxuICByZXR1cm4gcmV0O1xufTtcblxuUm91dGVyLnByb3RvdHlwZS5kZXN0cm95ID0g
ZnVuY3Rpb24gKCkge1xuICBsaXN0ZW5lci5kZXN0cm95KHRoaXMuaGFuZGxlcik7XG4gIHJldHVy
biB0aGlzO1xufTtcblxuUm91dGVyLnByb3RvdHlwZS5nZXRQYXRoID0gZnVuY3Rpb24gKCkge1xu
ICB2YXIgcGF0aCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTtcbiAgaWYgKHBhdGguc3Vic3Ry
KDAsIDEpICE9PSAnLycpIHtcbiAgICBwYXRoID0gJy8nICsgcGF0aDtcbiAgfVxuICByZXR1cm4g
cGF0aDtcbn07XG5mdW5jdGlvbiBfZXZlcnkoYXJyLCBpdGVyYXRvcikge1xuICBmb3IgKHZhciBp
ID0gMDsgaSA8IGFyci5sZW5ndGg7IGkgKz0gMSkge1xuICAgIGlmIChpdGVyYXRvcihhcnJbaV0s
IGksIGFycikgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG59XG5cbmZ1
bmN0aW9uIF9mbGF0dGVuKGFycikge1xuICB2YXIgZmxhdCA9IFtdO1xuICBmb3IgKHZhciBpID0g
MCwgbiA9IGFyci5sZW5ndGg7IGkgPCBuOyBpKyspIHtcbiAgICBmbGF0ID0gZmxhdC5jb25jYXQo
YXJyW2ldKTtcbiAgfVxuICByZXR1cm4gZmxhdDtcbn1cblxuZnVuY3Rpb24gX2FzeW5jRXZlcnlT
ZXJpZXMoYXJyLCBpdGVyYXRvciwgY2FsbGJhY2spIHtcbiAgaWYgKCFhcnIubGVuZ3RoKSB7XG4g
ICAgcmV0dXJuIGNhbGxiYWNrKCk7XG4gIH1cbiAgdmFyIGNvbXBsZXRlZCA9IDA7XG4gIChmdW5j
dGlvbiBpdGVyYXRlKCkge1xuICAgIGl0ZXJhdG9yKGFycltjb21wbGV0ZWRdLCBmdW5jdGlvbihl
cnIpIHtcbiAgICAgIGlmIChlcnIgfHwgZXJyID09PSBmYWxzZSkge1xuICAgICAgICBjYWxsYmFj
ayhlcnIpO1xuICAgICAgICBjYWxsYmFjayA9IGZ1bmN0aW9uKCkge307XG4gICAgICB9IGVsc2Ug
e1xuICAgICAgICBjb21wbGV0ZWQgKz0gMTtcbiAgICAgICAgaWYgKGNvbXBsZXRlZCA9PT0gYXJy
Lmxlbmd0aCkge1xuICAgICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAg
ICAgICAgaXRlcmF0ZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH0pKCk7XG59
XG5cbmZ1bmN0aW9uIHBhcmFtaWZ5U3RyaW5nKHN0ciwgcGFyYW1zLCBtb2QpIHtcbiAgbW9kID0g
c3RyO1xuICBmb3IgKHZhciBwYXJhbSBpbiBwYXJhbXMpIHtcbiAgICBpZiAocGFyYW1zLmhhc093
blByb3BlcnR5KHBhcmFtKSkge1xuICAgICAgbW9kID0gcGFyYW1zW3BhcmFtXShzdHIpO1xuICAg
ICAgaWYgKG1vZCAhPT0gc3RyKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAg
fVxuICByZXR1cm4gbW9kID09PSBzdHIgPyBcIihbLl9hLXpBLVowLTktJSgpXSspXCIgOiBtb2Q7
XG59XG5cbmZ1bmN0aW9uIHJlZ2lmeVN0cmluZyhzdHIsIHBhcmFtcykge1xuICB2YXIgbWF0Y2hl
cywgbGFzdCA9IDAsIG91dCA9IFwiXCI7XG4gIHdoaWxlIChtYXRjaGVzID0gc3RyLnN1YnN0cihs
YXN0KS5tYXRjaCgvW15cXHdcXGRcXC0gJUAmXSpcXCpbXlxcd1xcZFxcLSAlQCZdKi8pKSB7XG4g
ICAgbGFzdCA9IG1hdGNoZXMuaW5kZXggKyBtYXRjaGVzWzBdLmxlbmd0aDtcbiAgICBtYXRjaGVz
WzBdID0gbWF0Y2hlc1swXS5yZXBsYWNlKC9eXFwqLywgXCIoW18uKCkhXFxcXCAlQCZhLXpBLVow
LTktXSspXCIpO1xuICAgIG91dCArPSBzdHIuc3Vic3RyKDAsIG1hdGNoZXMuaW5kZXgpICsgbWF0
Y2hlc1swXTtcbiAgfVxuICBzdHIgPSBvdXQgKz0gc3RyLnN1YnN0cihsYXN0KTtcbiAgdmFyIGNh
cHR1cmVzID0gc3RyLm1hdGNoKC86KFteXFwvXSspL2lnKSwgY2FwdHVyZSwgbGVuZ3RoO1xuICBp
ZiAoY2FwdHVyZXMpIHtcbiAgICBsZW5ndGggPSBjYXB0dXJlcy5sZW5ndGg7XG4gICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgY2FwdHVyZSA9IGNhcHR1cmVzW2ld
O1xuICAgICAgaWYgKGNhcHR1cmUuc2xpY2UoMCwgMikgPT09IFwiOjpcIikge1xuICAgICAgICBz
dHIgPSBjYXB0dXJlLnNsaWNlKDEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RyID0gc3Ry
LnJlcGxhY2UoY2FwdHVyZSwgcGFyYW1pZnlTdHJpbmcoY2FwdHVyZSwgcGFyYW1zKSk7XG4gICAg
ICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBzdHI7XG59XG5cbmZ1bmN0aW9uIHRlcm1pbmF0b3Io
cm91dGVzLCBkZWxpbWl0ZXIsIHN0YXJ0LCBzdG9wKSB7XG4gIHZhciBsYXN0ID0gMCwgbGVmdCA9
IDAsIHJpZ2h0ID0gMCwgc3RhcnQgPSAoc3RhcnQgfHwgXCIoXCIpLnRvU3RyaW5nKCksIHN0b3Ag
PSAoc3RvcCB8fCBcIilcIikudG9TdHJpbmcoKSwgaTtcbiAgZm9yIChpID0gMDsgaSA8IHJvdXRl
cy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBjaHVuayA9IHJvdXRlc1tpXTtcbiAgICBpZiAoY2h1
bmsuaW5kZXhPZihzdGFydCwgbGFzdCkgPiBjaHVuay5pbmRleE9mKHN0b3AsIGxhc3QpIHx8IH5j
aHVuay5pbmRleE9mKHN0YXJ0LCBsYXN0KSAmJiAhfmNodW5rLmluZGV4T2Yoc3RvcCwgbGFzdCkg
fHwgIX5jaHVuay5pbmRleE9mKHN0YXJ0LCBsYXN0KSAmJiB+Y2h1bmsuaW5kZXhPZihzdG9wLCBs
YXN0KSkge1xuICAgICAgbGVmdCA9IGNodW5rLmluZGV4T2Yoc3RhcnQsIGxhc3QpO1xuICAgICAg
cmlnaHQgPSBjaHVuay5pbmRleE9mKHN0b3AsIGxhc3QpO1xuICAgICAgaWYgKH5sZWZ0ICYmICF+
cmlnaHQgfHwgIX5sZWZ0ICYmIH5yaWdodCkge1xuICAgICAgICB2YXIgdG1wID0gcm91dGVzLnNs
aWNlKDAsIChpIHx8IDEpICsgMSkuam9pbihkZWxpbWl0ZXIpO1xuICAgICAgICByb3V0ZXMgPSBb
IHRtcCBdLmNvbmNhdChyb3V0ZXMuc2xpY2UoKGkgfHwgMSkgKyAxKSk7XG4gICAgICB9XG4gICAg
ICBsYXN0ID0gKHJpZ2h0ID4gbGVmdCA/IHJpZ2h0IDogbGVmdCkgKyAxO1xuICAgICAgaSA9IDA7
XG4gICAgfSBlbHNlIHtcbiAgICAgIGxhc3QgPSAwO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcm91
dGVzO1xufVxuXG52YXIgUVVFUllfU0VQQVJBVE9SID0gL1xcPy4qLztcblxuUm91dGVyLnByb3Rv
dHlwZS5jb25maWd1cmUgPSBmdW5jdGlvbihvcHRpb25zKSB7XG4gIG9wdGlvbnMgPSBvcHRpb25z
IHx8IHt9O1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubWV0aG9kcy5sZW5ndGg7IGkrKykg
e1xuICAgIHRoaXMuX21ldGhvZHNbdGhpcy5tZXRob2RzW2ldXSA9IHRydWU7XG4gIH1cbiAgdGhp
cy5yZWN1cnNlID0gb3B0aW9ucy5yZWN1cnNlIHx8IHRoaXMucmVjdXJzZSB8fCBmYWxzZTtcbiAg
dGhpcy5hc3luYyA9IG9wdGlvbnMuYXN5bmMgfHwgZmFsc2U7XG4gIHRoaXMuZGVsaW1pdGVyID0g
b3B0aW9ucy5kZWxpbWl0ZXIgfHwgXCIvXCI7XG4gIHRoaXMuc3RyaWN0ID0gdHlwZW9mIG9wdGlv
bnMuc3RyaWN0ID09PSBcInVuZGVmaW5lZFwiID8gdHJ1ZSA6IG9wdGlvbnMuc3RyaWN0O1xuICB0
aGlzLm5vdGZvdW5kID0gb3B0aW9ucy5ub3Rmb3VuZDtcbiAgdGhpcy5yZXNvdXJjZSA9IG9wdGlv
bnMucmVzb3VyY2U7XG4gIHRoaXMuaGlzdG9yeSA9IG9wdGlvbnMuaHRtbDVoaXN0b3J5ICYmIHRo
aXMuaGlzdG9yeVN1cHBvcnQgfHwgZmFsc2U7XG4gIHRoaXMucnVuX2luX2luaXQgPSB0aGlzLmhp
c3RvcnkgPT09IHRydWUgJiYgb3B0aW9ucy5ydW5faGFuZGxlcl9pbl9pbml0ICE9PSBmYWxzZTtc
biAgdGhpcy5jb252ZXJ0X2hhc2hfaW5faW5pdCA9IHRoaXMuaGlzdG9yeSA9PT0gdHJ1ZSAmJiBv
cHRpb25zLmNvbnZlcnRfaGFzaF9pbl9pbml0ICE9PSBmYWxzZTtcbiAgdGhpcy5ldmVyeSA9IHtc
biAgICBhZnRlcjogb3B0aW9ucy5hZnRlciB8fCBudWxsLFxuICAgIGJlZm9yZTogb3B0aW9ucy5i
ZWZvcmUgfHwgbnVsbCxcbiAgICBvbjogb3B0aW9ucy5vbiB8fCBudWxsXG4gIH07XG4gIHJldHVy
biB0aGlzO1xufTtcblxuUm91dGVyLnByb3RvdHlwZS5wYXJhbSA9IGZ1bmN0aW9uKHRva2VuLCBt
YXRjaGVyKSB7XG4gIGlmICh0b2tlblswXSAhPT0gXCI6XCIpIHtcbiAgICB0b2tlbiA9IFwiOlwi
ICsgdG9rZW47XG4gIH1cbiAgdmFyIGNvbXBpbGVkID0gbmV3IFJlZ0V4cCh0b2tlbiwgXCJnXCIp
O1xuICB0aGlzLnBhcmFtc1t0b2tlbl0gPSBmdW5jdGlvbihzdHIpIHtcbiAgICByZXR1cm4gc3Ry
LnJlcGxhY2UoY29tcGlsZWQsIG1hdGNoZXIuc291cmNlIHx8IG1hdGNoZXIpO1xuICB9O1xuICBy
ZXR1cm4gdGhpcztcbn07XG5cblJvdXRlci5wcm90b3R5cGUub24gPSBSb3V0ZXIucHJvdG90eXBl
LnJvdXRlID0gZnVuY3Rpb24obWV0aG9kLCBwYXRoLCByb3V0ZSkge1xuICB2YXIgc2VsZiA9IHRo
aXM7XG4gIGlmICghcm91dGUgJiYgdHlwZW9mIHBhdGggPT0gXCJmdW5jdGlvblwiKSB7XG4gICAg
cm91dGUgPSBwYXRoO1xuICAgIHBhdGggPSBtZXRob2Q7XG4gICAgbWV0aG9kID0gXCJvblwiO1xu
ICB9XG4gIGlmIChBcnJheS5pc0FycmF5KHBhdGgpKSB7XG4gICAgcmV0dXJuIHBhdGguZm9yRWFj
aChmdW5jdGlvbihwKSB7XG4gICAgICBzZWxmLm9uKG1ldGhvZCwgcCwgcm91dGUpO1xuICAgIH0p
O1xuICB9XG4gIGlmIChwYXRoLnNvdXJjZSkge1xuICAgIHBhdGggPSBwYXRoLnNvdXJjZS5yZXBs
YWNlKC9cXFxcXFwvL2lnLCBcIi9cIik7XG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkobWV0aG9k
KSkge1xuICAgIHJldHVybiBtZXRob2QuZm9yRWFjaChmdW5jdGlvbihtKSB7XG4gICAgICBzZWxm
Lm9uKG0udG9Mb3dlckNhc2UoKSwgcGF0aCwgcm91dGUpO1xuICAgIH0pO1xuICB9XG4gIHBhdGgg
PSBwYXRoLnNwbGl0KG5ldyBSZWdFeHAodGhpcy5kZWxpbWl0ZXIpKTtcbiAgcGF0aCA9IHRlcm1p
bmF0b3IocGF0aCwgdGhpcy5kZWxpbWl0ZXIpO1xuICB0aGlzLmluc2VydChtZXRob2QsIHRoaXMu
c2NvcGUuY29uY2F0KHBhdGgpLCByb3V0ZSk7XG59O1xuXG5Sb3V0ZXIucHJvdG90eXBlLnBhdGgg
PSBmdW5jdGlvbihwYXRoLCByb3V0ZXNGbikge1xuICB2YXIgc2VsZiA9IHRoaXMsIGxlbmd0aCA9
IHRoaXMuc2NvcGUubGVuZ3RoO1xuICBpZiAocGF0aC5zb3VyY2UpIHtcbiAgICBwYXRoID0gcGF0
aC5zb3VyY2UucmVwbGFjZSgvXFxcXFxcLy9pZywgXCIvXCIpO1xuICB9XG4gIHBhdGggPSBwYXRo
LnNwbGl0KG5ldyBSZWdFeHAodGhpcy5kZWxpbWl0ZXIpKTtcbiAgcGF0aCA9IHRlcm1pbmF0b3Io
cGF0aCwgdGhpcy5kZWxpbWl0ZXIpO1xuICB0aGlzLnNjb3BlID0gdGhpcy5zY29wZS5jb25jYXQo
cGF0aCk7XG4gIHJvdXRlc0ZuLmNhbGwodGhpcywgdGhpcyk7XG4gIHRoaXMuc2NvcGUuc3BsaWNl
KGxlbmd0aCwgcGF0aC5sZW5ndGgpO1xufTtcblxuUm91dGVyLnByb3RvdHlwZS5kaXNwYXRjaCA9
IGZ1bmN0aW9uKG1ldGhvZCwgcGF0aCwgY2FsbGJhY2spIHtcbiAgdmFyIHNlbGYgPSB0aGlzLCBm
bnMgPSB0aGlzLnRyYXZlcnNlKG1ldGhvZCwgcGF0aC5yZXBsYWNlKFFVRVJZX1NFUEFSQVRPUiwg
XCJcIiksIHRoaXMucm91dGVzLCBcIlwiKSwgaW52b2tlZCA9IHRoaXMuX2ludm9rZWQsIGFmdGVy
O1xuICB0aGlzLl9pbnZva2VkID0gdHJ1ZTtcbiAgaWYgKCFmbnMgfHwgZm5zLmxlbmd0aCA9PT0g
MCkge1xuICAgIHRoaXMubGFzdCA9IFtdO1xuICAgIGlmICh0eXBlb2YgdGhpcy5ub3Rmb3VuZCA9
PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICB0aGlzLmludm9rZShbIHRoaXMubm90Zm91bmQgXSwg
e1xuICAgICAgICBtZXRob2Q6IG1ldGhvZCxcbiAgICAgICAgcGF0aDogcGF0aFxuICAgICAgfSwg
Y2FsbGJhY2spO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKHRoaXMucmVj
dXJzZSA9PT0gXCJmb3J3YXJkXCIpIHtcbiAgICBmbnMgPSBmbnMucmV2ZXJzZSgpO1xuICB9XG4g
IGZ1bmN0aW9uIHVwZGF0ZUFuZEludm9rZSgpIHtcbiAgICBzZWxmLmxhc3QgPSBmbnMuYWZ0ZXI7
XG4gICAgc2VsZi5pbnZva2Uoc2VsZi5ydW5saXN0KGZucyksIHNlbGYsIGNhbGxiYWNrKTtcbiAg
fVxuICBhZnRlciA9IHRoaXMuZXZlcnkgJiYgdGhpcy5ldmVyeS5hZnRlciA/IFsgdGhpcy5ldmVy
eS5hZnRlciBdLmNvbmNhdCh0aGlzLmxhc3QpIDogWyB0aGlzLmxhc3QgXTtcbiAgaWYgKGFmdGVy
ICYmIGFmdGVyLmxlbmd0aCA+IDAgJiYgaW52b2tlZCkge1xuICAgIGlmICh0aGlzLmFzeW5jKSB7
XG4gICAgICB0aGlzLmludm9rZShhZnRlciwgdGhpcywgdXBkYXRlQW5kSW52b2tlKTtcbiAgICB9
IGVsc2Uge1xuICAgICAgdGhpcy5pbnZva2UoYWZ0ZXIsIHRoaXMpO1xuICAgICAgdXBkYXRlQW5k
SW52b2tlKCk7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHVwZGF0ZUFuZEludm9r
ZSgpO1xuICByZXR1cm4gdHJ1ZTtcbn07XG5cblJvdXRlci5wcm90b3R5cGUuaW52b2tlID0gZnVu
Y3Rpb24oZm5zLCB0aGlzQXJnLCBjYWxsYmFjaykge1xuICB2YXIgc2VsZiA9IHRoaXM7XG4gIHZh
ciBhcHBseTtcbiAgaWYgKHRoaXMuYXN5bmMpIHtcbiAgICBhcHBseSA9IGZ1bmN0aW9uKGZuLCBu
ZXh0KSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShmbikpIHtcbiAgICAgICAgcmV0dXJuIF9h
c3luY0V2ZXJ5U2VyaWVzKGZuLCBhcHBseSwgbmV4dCk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVv
ZiBmbiA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgZm4uYXBwbHkodGhpc0FyZywgKGZucy5j
YXB0dXJlcyB8fCBbXSkuY29uY2F0KG5leHQpKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIF9hc3lu
Y0V2ZXJ5U2VyaWVzKGZucywgYXBwbHksIGZ1bmN0aW9uKCkge1xuICAgICAgaWYgKGNhbGxiYWNr
KSB7XG4gICAgICAgIGNhbGxiYWNrLmFwcGx5KHRoaXNBcmcsIGFyZ3VtZW50cyk7XG4gICAgICB9
XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgYXBwbHkgPSBmdW5jdGlvbihmbikge1xuICAgICAg
aWYgKEFycmF5LmlzQXJyYXkoZm4pKSB7XG4gICAgICAgIHJldHVybiBfZXZlcnkoZm4sIGFwcGx5
KTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGZuID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAg
ICAgcmV0dXJuIGZuLmFwcGx5KHRoaXNBcmcsIGZucy5jYXB0dXJlcyB8fCBbXSk7XG4gICAgICB9
IGVsc2UgaWYgKHR5cGVvZiBmbiA9PT0gXCJzdHJpbmdcIiAmJiBzZWxmLnJlc291cmNlKSB7XG4g
ICAgICAgIHNlbGYucmVzb3VyY2VbZm5dLmFwcGx5KHRoaXNBcmcsIGZucy5jYXB0dXJlcyB8fCBb
XSk7XG4gICAgICB9XG4gICAgfTtcbiAgICBfZXZlcnkoZm5zLCBhcHBseSk7XG4gIH1cbn07XG5c
blJvdXRlci5wcm90b3R5cGUudHJhdmVyc2UgPSBmdW5jdGlvbihtZXRob2QsIHBhdGgsIHJvdXRl
cywgcmVnZXhwLCBmaWx0ZXIpIHtcbiAgdmFyIGZucyA9IFtdLCBjdXJyZW50LCBleGFjdCwgbWF0
Y2gsIG5leHQsIHRoYXQ7XG4gIGZ1bmN0aW9uIGZpbHRlclJvdXRlcyhyb3V0ZXMpIHtcbiAgICBp
ZiAoIWZpbHRlcikge1xuICAgICAgcmV0dXJuIHJvdXRlcztcbiAgICB9XG4gICAgZnVuY3Rpb24g
ZGVlcENvcHkoc291cmNlKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gW107XG4gICAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IHNvdXJjZS5sZW5ndGg7IGkrKykge1xuICAgICAgICByZXN1bHRbaV0gPSBB
cnJheS5pc0FycmF5KHNvdXJjZVtpXSkgPyBkZWVwQ29weShzb3VyY2VbaV0pIDogc291cmNlW2ld
O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgZnVuY3Rpb24gYXBw
bHlGaWx0ZXIoZm5zKSB7XG4gICAgICBmb3IgKHZhciBpID0gZm5zLmxlbmd0aCAtIDE7IGkgPj0g
MDsgaS0tKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZuc1tpXSkpIHtcbiAgICAgICAg
ICBhcHBseUZpbHRlcihmbnNbaV0pO1xuICAgICAgICAgIGlmIChmbnNbaV0ubGVuZ3RoID09PSAw
KSB7XG4gICAgICAgICAgICBmbnMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgIH1cbiAgICAgICAg
fSBlbHNlIHtcbiAgICAgICAgICBpZiAoIWZpbHRlcihmbnNbaV0pKSB7XG4gICAgICAgICAgICBm
bnMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1c
biAgICB2YXIgbmV3Um91dGVzID0gZGVlcENvcHkocm91dGVzKTtcbiAgICBuZXdSb3V0ZXMubWF0
Y2hlZCA9IHJvdXRlcy5tYXRjaGVkO1xuICAgIG5ld1JvdXRlcy5jYXB0dXJlcyA9IHJvdXRlcy5j
YXB0dXJlcztcbiAgICBuZXdSb3V0ZXMuYWZ0ZXIgPSByb3V0ZXMuYWZ0ZXIuZmlsdGVyKGZpbHRl
cik7XG4gICAgYXBwbHlGaWx0ZXIobmV3Um91dGVzKTtcbiAgICByZXR1cm4gbmV3Um91dGVzO1xu
ICB9XG4gIGlmIChwYXRoID09PSB0aGlzLmRlbGltaXRlciAmJiByb3V0ZXNbbWV0aG9kXSkge1xu
ICAgIG5leHQgPSBbIFsgcm91dGVzLmJlZm9yZSwgcm91dGVzW21ldGhvZF0gXS5maWx0ZXIoQm9v
bGVhbikgXTtcbiAgICBuZXh0LmFmdGVyID0gWyByb3V0ZXMuYWZ0ZXIgXS5maWx0ZXIoQm9vbGVh
bik7XG4gICAgbmV4dC5tYXRjaGVkID0gdHJ1ZTtcbiAgICBuZXh0LmNhcHR1cmVzID0gW107XG4g
ICAgcmV0dXJuIGZpbHRlclJvdXRlcyhuZXh0KTtcbiAgfVxuICBmb3IgKHZhciByIGluIHJvdXRl
cykge1xuICAgIGlmIChyb3V0ZXMuaGFzT3duUHJvcGVydHkocikgJiYgKCF0aGlzLl9tZXRob2Rz
W3JdIHx8IHRoaXMuX21ldGhvZHNbcl0gJiYgdHlwZW9mIHJvdXRlc1tyXSA9PT0gXCJvYmplY3Rc
IiAmJiAhQXJyYXkuaXNBcnJheShyb3V0ZXNbcl0pKSkge1xuICAgICAgY3VycmVudCA9IGV4YWN0
ID0gcmVnZXhwICsgdGhpcy5kZWxpbWl0ZXIgKyByO1xuICAgICAgaWYgKCF0aGlzLnN0cmljdCkg
e1xuICAgICAgICBleGFjdCArPSBcIltcIiArIHRoaXMuZGVsaW1pdGVyICsgXCJdP1wiO1xuICAg
ICAgfVxuICAgICAgbWF0Y2ggPSBwYXRoLm1hdGNoKG5ldyBSZWdFeHAoXCJeXCIgKyBleGFjdCkp
O1xuICAgICAgaWYgKCFtYXRjaCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAg
IGlmIChtYXRjaFswXSAmJiBtYXRjaFswXSA9PSBwYXRoICYmIHJvdXRlc1tyXVttZXRob2RdKSB7
XG4gICAgICAgIG5leHQgPSBbIFsgcm91dGVzW3JdLmJlZm9yZSwgcm91dGVzW3JdW21ldGhvZF0g
XS5maWx0ZXIoQm9vbGVhbikgXTtcbiAgICAgICAgbmV4dC5hZnRlciA9IFsgcm91dGVzW3JdLmFm
dGVyIF0uZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICBuZXh0Lm1hdGNoZWQgPSB0cnVlO1xuICAg
ICAgICBuZXh0LmNhcHR1cmVzID0gbWF0Y2guc2xpY2UoMSk7XG4gICAgICAgIGlmICh0aGlzLnJl
Y3Vyc2UgJiYgcm91dGVzID09PSB0aGlzLnJvdXRlcykge1xuICAgICAgICAgIG5leHQucHVzaChb
IHJvdXRlcy5iZWZvcmUsIHJvdXRlcy5vbiBdLmZpbHRlcihCb29sZWFuKSk7XG4gICAgICAgICAg
bmV4dC5hZnRlciA9IG5leHQuYWZ0ZXIuY29uY2F0KFsgcm91dGVzLmFmdGVyIF0uZmlsdGVyKEJv
b2xlYW4pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlsdGVyUm91dGVzKG5leHQpO1xu
ICAgICAgfVxuICAgICAgbmV4dCA9IHRoaXMudHJhdmVyc2UobWV0aG9kLCBwYXRoLCByb3V0ZXNb
cl0sIGN1cnJlbnQpO1xuICAgICAgaWYgKG5leHQubWF0Y2hlZCkge1xuICAgICAgICBpZiAobmV4
dC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZm5zID0gZm5zLmNvbmNhdChuZXh0KTtcbiAgICAg
ICAgfVxuICAgICAgICBpZiAodGhpcy5yZWN1cnNlKSB7XG4gICAgICAgICAgZm5zLnB1c2goWyBy
b3V0ZXNbcl0uYmVmb3JlLCByb3V0ZXNbcl0ub24gXS5maWx0ZXIoQm9vbGVhbikpO1xuICAgICAg
ICAgIG5leHQuYWZ0ZXIgPSBuZXh0LmFmdGVyLmNvbmNhdChbIHJvdXRlc1tyXS5hZnRlciBdLmZp
bHRlcihCb29sZWFuKSk7XG4gICAgICAgICAgaWYgKHJvdXRlcyA9PT0gdGhpcy5yb3V0ZXMpIHtc
biAgICAgICAgICAgIGZucy5wdXNoKFsgcm91dGVzW1wiYmVmb3JlXCJdLCByb3V0ZXNbXCJvblwi
XSBdLmZpbHRlcihCb29sZWFuKSk7XG4gICAgICAgICAgICBuZXh0LmFmdGVyID0gbmV4dC5hZnRl
ci5jb25jYXQoWyByb3V0ZXNbXCJhZnRlclwiXSBdLmZpbHRlcihCb29sZWFuKSk7XG4gICAgICAg
ICAgfVxuICAgICAgICB9XG4gICAgICAgIGZucy5tYXRjaGVkID0gdHJ1ZTtcbiAgICAgICAgZm5z
LmNhcHR1cmVzID0gbmV4dC5jYXB0dXJlcztcbiAgICAgICAgZm5zLmFmdGVyID0gbmV4dC5hZnRl
cjtcbiAgICAgICAgcmV0dXJuIGZpbHRlclJvdXRlcyhmbnMpO1xuICAgICAgfVxuICAgIH1cbiAg
fVxuICByZXR1cm4gZmFsc2U7XG59O1xuXG5Sb3V0ZXIucHJvdG90eXBlLmluc2VydCA9IGZ1bmN0
aW9uKG1ldGhvZCwgcGF0aCwgcm91dGUsIHBhcmVudCkge1xuICB2YXIgbWV0aG9kVHlwZSwgcGFy
ZW50VHlwZSwgaXNBcnJheSwgbmVzdGVkLCBwYXJ0O1xuICBwYXRoID0gcGF0aC5maWx0ZXIoZnVu
Y3Rpb24ocCkge1xuICAgIHJldHVybiBwICYmIHAubGVuZ3RoID4gMDtcbiAgfSk7XG4gIHBhcmVu
dCA9IHBhcmVudCB8fCB0aGlzLnJvdXRlcztcbiAgcGFydCA9IHBhdGguc2hpZnQoKTtcbiAgaWYg
KC9cXDp8XFwqLy50ZXN0KHBhcnQpICYmICEvXFxcXGR8XFxcXHcvLnRlc3QocGFydCkpIHtcbiAg
ICBwYXJ0ID0gcmVnaWZ5U3RyaW5nKHBhcnQsIHRoaXMucGFyYW1zKTtcbiAgfVxuICBpZiAocGF0
aC5sZW5ndGggPiAwKSB7XG4gICAgcGFyZW50W3BhcnRdID0gcGFyZW50W3BhcnRdIHx8IHt9O1xu
ICAgIHJldHVybiB0aGlzLmluc2VydChtZXRob2QsIHBhdGgsIHJvdXRlLCBwYXJlbnRbcGFydF0p
O1xuICB9XG4gIGlmICghcGFydCAmJiAhcGF0aC5sZW5ndGggJiYgcGFyZW50ID09PSB0aGlzLnJv
dXRlcykge1xuICAgIG1ldGhvZFR5cGUgPSB0eXBlb2YgcGFyZW50W21ldGhvZF07XG4gICAgc3dp
dGNoIChtZXRob2RUeXBlKSB7XG4gICAgIGNhc2UgXCJmdW5jdGlvblwiOlxuICAgICAgcGFyZW50
W21ldGhvZF0gPSBbIHBhcmVudFttZXRob2RdLCByb3V0ZSBdO1xuICAgICAgcmV0dXJuO1xuICAg
ICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICBwYXJlbnRbbWV0aG9kXS5wdXNoKHJvdXRlKTtcbiAg
ICAgIHJldHVybjtcbiAgICAgY2FzZSBcInVuZGVmaW5lZFwiOlxuICAgICAgcGFyZW50W21ldGhv
ZF0gPSByb3V0ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG4gIHBh
cmVudFR5cGUgPSB0eXBlb2YgcGFyZW50W3BhcnRdO1xuICBpc0FycmF5ID0gQXJyYXkuaXNBcnJh
eShwYXJlbnRbcGFydF0pO1xuICBpZiAocGFyZW50W3BhcnRdICYmICFpc0FycmF5ICYmIHBhcmVu
dFR5cGUgPT0gXCJvYmplY3RcIikge1xuICAgIG1ldGhvZFR5cGUgPSB0eXBlb2YgcGFyZW50W3Bh
cnRdW21ldGhvZF07XG4gICAgc3dpdGNoIChtZXRob2RUeXBlKSB7XG4gICAgIGNhc2UgXCJmdW5j
dGlvblwiOlxuICAgICAgcGFyZW50W3BhcnRdW21ldGhvZF0gPSBbIHBhcmVudFtwYXJ0XVttZXRo
b2RdLCByb3V0ZSBdO1xuICAgICAgcmV0dXJuO1xuICAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAg
ICBwYXJlbnRbcGFydF1bbWV0aG9kXS5wdXNoKHJvdXRlKTtcbiAgICAgIHJldHVybjtcbiAgICAg
Y2FzZSBcInVuZGVmaW5lZFwiOlxuICAgICAgcGFyZW50W3BhcnRdW21ldGhvZF0gPSByb3V0ZTtc
biAgICAgIHJldHVybjtcbiAgICB9XG4gIH0gZWxzZSBpZiAocGFyZW50VHlwZSA9PSBcInVuZGVm
aW5lZFwiKSB7XG4gICAgbmVzdGVkID0ge307XG4gICAgbmVzdGVkW21ldGhvZF0gPSByb3V0ZTtc
biAgICBwYXJlbnRbcGFydF0gPSBuZXN0ZWQ7XG4gICAgcmV0dXJuO1xuICB9XG4gIHRocm93IG5l
dyBFcnJvcihcIkludmFsaWQgcm91dGUgY29udGV4dDogXCIgKyBwYXJlbnRUeXBlKTtcbn07XG5c
blxuXG5Sb3V0ZXIucHJvdG90eXBlLmV4dGVuZCA9IGZ1bmN0aW9uKG1ldGhvZHMpIHtcbiAgdmFy
IHNlbGYgPSB0aGlzLCBsZW4gPSBtZXRob2RzLmxlbmd0aCwgaTtcbiAgZnVuY3Rpb24gZXh0ZW5k
KG1ldGhvZCkge1xuICAgIHNlbGYuX21ldGhvZHNbbWV0aG9kXSA9IHRydWU7XG4gICAgc2VsZltt
ZXRob2RdID0gZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgZXh0cmEgPSBhcmd1bWVudHMubGVuZ3Ro
ID09PSAxID8gWyBtZXRob2QsIFwiXCIgXSA6IFsgbWV0aG9kIF07XG4gICAgICBzZWxmLm9uLmFw
cGx5KHNlbGYsIGV4dHJhLmNvbmNhdChBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVu
dHMpKSk7XG4gICAgfTtcbiAgfVxuICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICBl
eHRlbmQobWV0aG9kc1tpXSk7XG4gIH1cbn07XG5cblJvdXRlci5wcm90b3R5cGUucnVubGlzdCA9
IGZ1bmN0aW9uKGZucykge1xuICB2YXIgcnVubGlzdCA9IHRoaXMuZXZlcnkgJiYgdGhpcy5ldmVy
eS5iZWZvcmUgPyBbIHRoaXMuZXZlcnkuYmVmb3JlIF0uY29uY2F0KF9mbGF0dGVuKGZucykpIDog
X2ZsYXR0ZW4oZm5zKTtcbiAgaWYgKHRoaXMuZXZlcnkgJiYgdGhpcy5ldmVyeS5vbikge1xuICAg
IHJ1bmxpc3QucHVzaCh0aGlzLmV2ZXJ5Lm9uKTtcbiAgfVxuICBydW5saXN0LmNhcHR1cmVzID0g
Zm5zLmNhcHR1cmVzO1xuICBydW5saXN0LnNvdXJjZSA9IGZucy5zb3VyY2U7XG4gIHJldHVybiBy
dW5saXN0O1xufTtcblxuUm91dGVyLnByb3RvdHlwZS5tb3VudCA9IGZ1bmN0aW9uKHJvdXRlcywg
cGF0aCkge1xuICBpZiAoIXJvdXRlcyB8fCB0eXBlb2Ygcm91dGVzICE9PSBcIm9iamVjdFwiIHx8
IEFycmF5LmlzQXJyYXkocm91dGVzKSkge1xuICAgIHJldHVybjtcbiAgfVxuICB2YXIgc2VsZiA9
IHRoaXM7XG4gIHBhdGggPSBwYXRoIHx8IFtdO1xuICBpZiAoIUFycmF5LmlzQXJyYXkocGF0aCkp
IHtcbiAgICBwYXRoID0gcGF0aC5zcGxpdChzZWxmLmRlbGltaXRlcik7XG4gIH1cbiAgZnVuY3Rp
b24gaW5zZXJ0T3JNb3VudChyb3V0ZSwgbG9jYWwpIHtcbiAgICB2YXIgcmVuYW1lID0gcm91dGUs
IHBhcnRzID0gcm91dGUuc3BsaXQoc2VsZi5kZWxpbWl0ZXIpLCByb3V0ZVR5cGUgPSB0eXBlb2Yg
cm91dGVzW3JvdXRlXSwgaXNSb3V0ZSA9IHBhcnRzWzBdID09PSBcIlwiIHx8ICFzZWxmLl9tZXRo
b2RzW3BhcnRzWzBdXSwgZXZlbnQgPSBpc1JvdXRlID8gXCJvblwiIDogcmVuYW1lO1xuICAgIGlm
IChpc1JvdXRlKSB7XG4gICAgICByZW5hbWUgPSByZW5hbWUuc2xpY2UoKHJlbmFtZS5tYXRjaChu
ZXcgUmVnRXhwKFwiXlwiICsgc2VsZi5kZWxpbWl0ZXIpKSB8fCBbIFwiXCIgXSlbMF0ubGVuZ3Ro
KTtcbiAgICAgIHBhcnRzLnNoaWZ0KCk7XG4gICAgfVxuICAgIGlmIChpc1JvdXRlICYmIHJvdXRl
VHlwZSA9PT0gXCJvYmplY3RcIiAmJiAhQXJyYXkuaXNBcnJheShyb3V0ZXNbcm91dGVdKSkge1xu
ICAgICAgbG9jYWwgPSBsb2NhbC5jb25jYXQocGFydHMpO1xuICAgICAgc2VsZi5tb3VudChyb3V0
ZXNbcm91dGVdLCBsb2NhbCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChpc1JvdXRl
KSB7XG4gICAgICBsb2NhbCA9IGxvY2FsLmNvbmNhdChyZW5hbWUuc3BsaXQoc2VsZi5kZWxpbWl0
ZXIpKTtcbiAgICAgIGxvY2FsID0gdGVybWluYXRvcihsb2NhbCwgc2VsZi5kZWxpbWl0ZXIpO1xu
ICAgIH1cbiAgICBzZWxmLmluc2VydChldmVudCwgbG9jYWwsIHJvdXRlc1tyb3V0ZV0pO1xuICB9
XG4gIGZvciAodmFyIHJvdXRlIGluIHJvdXRlcykge1xuICAgIGlmIChyb3V0ZXMuaGFzT3duUHJv
cGVydHkocm91dGUpKSB7XG4gICAgICBpbnNlcnRPck1vdW50KHJvdXRlLCBwYXRoLnNsaWNlKDAp
KTtcbiAgICB9XG4gIH1cbn07XG5cblxuXG59KHR5cGVvZiBleHBvcnRzID09PSBcIm9iamVjdFwi
ID8gZXhwb3J0cyA6IHdpbmRvdykpO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFD
SyBGT09URVJcbi8vIC4vfi9kaXJlY3Rvci9idWlsZC9kaXJlY3Rvci5qc1xuLy8gbW9kdWxlIGlk
ID0gMlxuLy8gbW9kdWxlIGNodW5rcyA9IDEiLCIvKipcbiAqIFRyYW5zbGF0ZXMgdGhlIGxpc3Qg
Zm9ybWF0IHByb2R1Y2VkIGJ5IGNzcy1sb2FkZXIgaW50byBzb21ldGhpbmdcbiAqIGVhc2llciB0
byBtYW5pcHVsYXRlLlxuICovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGxpc3RUb1N0eWxl
cyAocGFyZW50SWQsIGxpc3QpIHtcbiAgdmFyIHN0eWxlcyA9IFtdXG4gIHZhciBuZXdTdHlsZXMg
PSB7fVxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIg
aXRlbSA9IGxpc3RbaV1cbiAgICB2YXIgaWQgPSBpdGVtWzBdXG4gICAgdmFyIGNzcyA9IGl0ZW1b
MV1cbiAgICB2YXIgbWVkaWEgPSBpdGVtWzJdXG4gICAgdmFyIHNvdXJjZU1hcCA9IGl0ZW1bM11c
biAgICB2YXIgcGFydCA9IHtcbiAgICAgIGlkOiBwYXJlbnRJZCArICc6JyArIGksXG4gICAgICBj
c3M6IGNzcyxcbiAgICAgIG1lZGlhOiBtZWRpYSxcbiAgICAgIHNvdXJjZU1hcDogc291cmNlTWFw
XG4gICAgfVxuICAgIGlmICghbmV3U3R5bGVzW2lkXSkge1xuICAgICAgc3R5bGVzLnB1c2gobmV3
U3R5bGVzW2lkXSA9IHsgaWQ6IGlkLCBwYXJ0czogW3BhcnRdIH0pXG4gICAgfSBlbHNlIHtcbiAg
ICAgIG5ld1N0eWxlc1tpZF0ucGFydHMucHVzaChwYXJ0KVxuICAgIH1cbiAgfVxuICByZXR1cm4g
c3R5bGVzXG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4v
LyAuL34vdnVlLXN0eWxlLWxvYWRlci9saWIvbGlzdFRvU3R5bGVzLmpzXG4vLyBtb2R1bGUgaWQg
PSAxMVxuLy8gbW9kdWxlIGNodW5rcyA9IDEiLCJ2YXIgZztcclxuXHJcbi8vIFRoaXMgd29ya3Mg
aW4gbm9uLXN0cmljdCBtb2RlXHJcbmcgPSAoZnVuY3Rpb24oKSB7XHJcblx0cmV0dXJuIHRoaXM7
XHJcbn0pKCk7XHJcblxyXG50cnkge1xyXG5cdC8vIFRoaXMgd29ya3MgaWYgZXZhbCBpcyBhbGxv
d2VkIChzZWUgQ1NQKVxyXG5cdGcgPSBnIHx8IEZ1bmN0aW9uKFwicmV0dXJuIHRoaXNcIikoKSB8
fCAoMSxldmFsKShcInRoaXNcIik7XHJcbn0gY2F0Y2goZSkge1xyXG5cdC8vIFRoaXMgd29ya3Mg
aWYgdGhlIHdpbmRvdyByZWZlcmVuY2UgaXMgYXZhaWxhYmxlXHJcblx0aWYodHlwZW9mIHdpbmRv
dyA9PT0gXCJvYmplY3RcIilcclxuXHRcdGcgPSB3aW5kb3c7XHJcbn1cclxuXHJcbi8vIGcgY2Fu
IHN0aWxsIGJlIHVuZGVmaW5lZCwgYnV0IG5vdGhpbmcgdG8gZG8gYWJvdXQgaXQuLi5cclxuLy8g
V2UgcmV0dXJuIHVuZGVmaW5lZCwgaW5zdGVhZCBvZiBub3RoaW5nIGhlcmUsIHNvIGl0J3Ncclxu
Ly8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxyXG5cclxu
bW9kdWxlLmV4cG9ydHMgPSBnO1xyXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBB
Q0sgRk9PVEVSXG4vLyAod2VicGFjaykvYnVpbGRpbi9nbG9iYWwuanNcbi8vIG1vZHVsZSBpZCA9
IDEyXG4vLyBtb2R1bGUgY2h1bmtzID0gMSIsIi8qXG5cdE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cu
b3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG5cdEF1dGhvciBUb2JpYXMg
S29wcGVycyBAc29rcmFcbiovXG4vLyBjc3MgYmFzZSBjb2RlLCBpbmplY3RlZCBieSB0aGUgY3Nz
LWxvYWRlclxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbih1c2VTb3VyY2VNYXApIHtcblx0dmFy
IGxpc3QgPSBbXTtcblxuXHQvLyByZXR1cm4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBhcyBjc3Mgc3Ry
aW5nXG5cdGxpc3QudG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZygpIHtcblx0XHRyZXR1cm4g
dGhpcy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcblx0XHRcdHZhciBjb250ZW50ID0gY3NzV2l0aE1h
cHBpbmdUb1N0cmluZyhpdGVtLCB1c2VTb3VyY2VNYXApO1xuXHRcdFx0aWYoaXRlbVsyXSkge1xu
XHRcdFx0XHRyZXR1cm4gXCJAbWVkaWEgXCIgKyBpdGVtWzJdICsgXCJ7XCIgKyBjb250ZW50ICsg
XCJ9XCI7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZXR1cm4gY29udGVudDtcblx0XHRcdH1c
blx0XHR9KS5qb2luKFwiXCIpO1xuXHR9O1xuXG5cdC8vIGltcG9ydCBhIGxpc3Qgb2YgbW9kdWxl
cyBpbnRvIHRoZSBsaXN0XG5cdGxpc3QuaSA9IGZ1bmN0aW9uKG1vZHVsZXMsIG1lZGlhUXVlcnkp
IHtcblx0XHRpZih0eXBlb2YgbW9kdWxlcyA9PT0gXCJzdHJpbmdcIilcblx0XHRcdG1vZHVsZXMg
PSBbW251bGwsIG1vZHVsZXMsIFwiXCJdXTtcblx0XHR2YXIgYWxyZWFkeUltcG9ydGVkTW9kdWxl
cyA9IHt9O1xuXHRcdGZvcih2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XG5cdFx0
XHR2YXIgaWQgPSB0aGlzW2ldWzBdO1xuXHRcdFx0aWYodHlwZW9mIGlkID09PSBcIm51bWJlclwi
KVxuXHRcdFx0XHRhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzW2lkXSA9IHRydWU7XG5cdFx0fVxuXHRc
dGZvcihpID0gMDsgaSA8IG1vZHVsZXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdHZhciBpdGVtID0g
bW9kdWxlc1tpXTtcblx0XHRcdC8vIHNraXAgYWxyZWFkeSBpbXBvcnRlZCBtb2R1bGVcblx0XHRc
dC8vIHRoaXMgaW1wbGVtZW50YXRpb24gaXMgbm90IDEwMCUgcGVyZmVjdCBmb3Igd2VpcmQgbWVk
aWEgcXVlcnkgY29tYmluYXRpb25zXG5cdFx0XHQvLyAgd2hlbiBhIG1vZHVsZSBpcyBpbXBvcnRl
ZCBtdWx0aXBsZSB0aW1lcyB3aXRoIGRpZmZlcmVudCBtZWRpYSBxdWVyaWVzLlxuXHRcdFx0Ly8g
IEkgaG9wZSB0aGlzIHdpbGwgbmV2ZXIgb2NjdXIgKEhleSB0aGlzIHdheSB3ZSBoYXZlIHNtYWxs
ZXIgYnVuZGxlcylcblx0XHRcdGlmKHR5cGVvZiBpdGVtWzBdICE9PSBcIm51bWJlclwiIHx8ICFh
bHJlYWR5SW1wb3J0ZWRNb2R1bGVzW2l0ZW1bMF1dKSB7XG5cdFx0XHRcdGlmKG1lZGlhUXVlcnkg
JiYgIWl0ZW1bMl0pIHtcblx0XHRcdFx0XHRpdGVtWzJdID0gbWVkaWFRdWVyeTtcblx0XHRcdFx0
fSBlbHNlIGlmKG1lZGlhUXVlcnkpIHtcblx0XHRcdFx0XHRpdGVtWzJdID0gXCIoXCIgKyBpdGVt
WzJdICsgXCIpIGFuZCAoXCIgKyBtZWRpYVF1ZXJ5ICsgXCIpXCI7XG5cdFx0XHRcdH1cblx0XHRc
dFx0bGlzdC5wdXNoKGl0ZW0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fTtcblx0cmV0dXJuIGxpc3Q7
XG59O1xuXG5mdW5jdGlvbiBjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKGl0ZW0sIHVzZVNvdXJjZU1h
cCkge1xuXHR2YXIgY29udGVudCA9IGl0ZW1bMV0gfHwgJyc7XG5cdHZhciBjc3NNYXBwaW5nID0g
aXRlbVszXTtcblx0aWYgKCFjc3NNYXBwaW5nKSB7XG5cdFx0cmV0dXJuIGNvbnRlbnQ7XG5cdH1c
blxuXHRpZiAodXNlU291cmNlTWFwICYmIHR5cGVvZiBidG9hID09PSAnZnVuY3Rpb24nKSB7XG5c
dFx0dmFyIHNvdXJjZU1hcHBpbmcgPSB0b0NvbW1lbnQoY3NzTWFwcGluZyk7XG5cdFx0dmFyIHNv
dXJjZVVSTHMgPSBjc3NNYXBwaW5nLnNvdXJjZXMubWFwKGZ1bmN0aW9uIChzb3VyY2UpIHtcblx0
XHRcdHJldHVybiAnLyojIHNvdXJjZVVSTD0nICsgY3NzTWFwcGluZy5zb3VyY2VSb290ICsgc291
cmNlICsgJyAqLydcblx0XHR9KTtcblxuXHRcdHJldHVybiBbY29udGVudF0uY29uY2F0KHNvdXJj
ZVVSTHMpLmNvbmNhdChbc291cmNlTWFwcGluZ10pLmpvaW4oJ1xcbicpO1xuXHR9XG5cblx0cmV0
dXJuIFtjb250ZW50XS5qb2luKCdcXG4nKTtcbn1cblxuLy8gQWRhcHRlZCBmcm9tIGNvbnZlcnQt
c291cmNlLW1hcCAoTUlUKVxuZnVuY3Rpb24gdG9Db21tZW50KHNvdXJjZU1hcCkge1xuXHQvLyBl
c2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcblx0dmFyIGJhc2U2NCA9IGJ0b2EodW5l
c2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHNvdXJjZU1hcCkpKSk7XG5c
dHZhciBkYXRhID0gJ3NvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJz
ZXQ9dXRmLTg7YmFzZTY0LCcgKyBiYXNlNjQ7XG5cblx0cmV0dXJuICcvKiMgJyArIGRhdGEgKyAn
ICovJztcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8v
IC4vfi9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1xuLy8gbW9kdWxlIGlkID0gMTNcbi8vIG1v
ZHVsZSBjaHVua3MgPSAxIiwiLypcbiAgTUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNl
Lm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcbiAgQXV0aG9yIFRvYmlhcyBLb3BwZXJzIEBz
b2tyYVxuICBNb2RpZmllZCBieSBFdmFuIFlvdSBAeXl4OTkwODAzXG4qL1xuXG52YXIgaGFzRG9j
dW1lbnQgPSB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnXG5cbmlmICh0eXBlb2YgREVC
VUcgIT09ICd1bmRlZmluZWQnICYmIERFQlVHKSB7XG4gIGlmICghaGFzRG9jdW1lbnQpIHtcbiAg
ICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgJ3Z1ZS1zdHlsZS1sb2FkZXIgY2Fubm90IGJlIHVzZWQg
aW4gYSBub24tYnJvd3NlciBlbnZpcm9ubWVudC4gJyArXG4gICAgXCJVc2UgeyB0YXJnZXQ6ICdu
b2RlJyB9IGluIHlvdXIgV2VicGFjayBjb25maWcgdG8gaW5kaWNhdGUgYSBzZXJ2ZXItcmVuZGVy
aW5nIGVudmlyb25tZW50LlwiXG4gICkgfVxufVxuXG52YXIgbGlzdFRvU3R5bGVzID0gcmVxdWly
ZSgnLi9saXN0VG9TdHlsZXMnKVxuXG4vKlxudHlwZSBTdHlsZU9iamVjdCA9IHtcbiAgaWQ6IG51
bWJlcjtcbiAgcGFydHM6IEFycmF5PFN0eWxlT2JqZWN0UGFydD5cbn1cblxudHlwZSBTdHlsZU9i
amVjdFBhcnQgPSB7XG4gIGNzczogc3RyaW5nO1xuICBtZWRpYTogc3RyaW5nO1xuICBzb3VyY2VN
YXA6ID9zdHJpbmdcbn1cbiovXG5cbnZhciBzdHlsZXNJbkRvbSA9IHsvKlxuICBbaWQ6IG51bWJl
cl06IHtcbiAgICBpZDogbnVtYmVyLFxuICAgIHJlZnM6IG51bWJlcixcbiAgICBwYXJ0czogQXJy
YXk8KG9iaj86IFN0eWxlT2JqZWN0UGFydCkgPT4gdm9pZD5cbiAgfVxuKi99XG5cbnZhciBoZWFk
ID0gaGFzRG9jdW1lbnQgJiYgKGRvY3VtZW50LmhlYWQgfHwgZG9jdW1lbnQuZ2V0RWxlbWVudHNC
eVRhZ05hbWUoJ2hlYWQnKVswXSlcbnZhciBzaW5nbGV0b25FbGVtZW50ID0gbnVsbFxudmFyIHNp
bmdsZXRvbkNvdW50ZXIgPSAwXG52YXIgaXNQcm9kdWN0aW9uID0gZmFsc2VcbnZhciBub29wID0g
ZnVuY3Rpb24gKCkge31cblxuLy8gRm9yY2Ugc2luZ2xlLXRhZyBzb2x1dGlvbiBvbiBJRTYtOSwg
d2hpY2ggaGFzIGEgaGFyZCBsaW1pdCBvbiB0aGUgIyBvZiA8c3R5bGU+XG4vLyB0YWdzIGl0IHdp
bGwgYWxsb3cgb24gYSBwYWdlXG52YXIgaXNPbGRJRSA9IHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1
bmRlZmluZWQnICYmIC9tc2llIFs2LTldXFxiLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQudG9M
b3dlckNhc2UoKSlcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAocGFyZW50SWQsIGxpc3Qs
IF9pc1Byb2R1Y3Rpb24pIHtcbiAgaXNQcm9kdWN0aW9uID0gX2lzUHJvZHVjdGlvblxuXG4gIHZh
ciBzdHlsZXMgPSBsaXN0VG9TdHlsZXMocGFyZW50SWQsIGxpc3QpXG4gIGFkZFN0eWxlc1RvRG9t
KHN0eWxlcylcblxuICByZXR1cm4gZnVuY3Rpb24gdXBkYXRlIChuZXdMaXN0KSB7XG4gICAgdmFy
IG1heVJlbW92ZSA9IFtdXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZXMubGVuZ3RoOyBp
KyspIHtcbiAgICAgIHZhciBpdGVtID0gc3R5bGVzW2ldXG4gICAgICB2YXIgZG9tU3R5bGUgPSBz
dHlsZXNJbkRvbVtpdGVtLmlkXVxuICAgICAgZG9tU3R5bGUucmVmcy0tXG4gICAgICBtYXlSZW1v
dmUucHVzaChkb21TdHlsZSlcbiAgICB9XG4gICAgaWYgKG5ld0xpc3QpIHtcbiAgICAgIHN0eWxl
cyA9IGxpc3RUb1N0eWxlcyhwYXJlbnRJZCwgbmV3TGlzdClcbiAgICAgIGFkZFN0eWxlc1RvRG9t
KHN0eWxlcylcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGVzID0gW11cbiAgICB9XG4gICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBtYXlSZW1vdmUubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBkb21T
dHlsZSA9IG1heVJlbW92ZVtpXVxuICAgICAgaWYgKGRvbVN0eWxlLnJlZnMgPT09IDApIHtcbiAg
ICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBkb21TdHlsZS5wYXJ0cy5sZW5ndGg7IGorKykge1xu
ICAgICAgICAgIGRvbVN0eWxlLnBhcnRzW2pdKClcbiAgICAgICAgfVxuICAgICAgICBkZWxldGUg
c3R5bGVzSW5Eb21bZG9tU3R5bGUuaWRdXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0
aW9uIGFkZFN0eWxlc1RvRG9tIChzdHlsZXMgLyogQXJyYXk8U3R5bGVPYmplY3Q+ICovKSB7XG4g
IGZvciAodmFyIGkgPSAwOyBpIDwgc3R5bGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGl0ZW0g
PSBzdHlsZXNbaV1cbiAgICB2YXIgZG9tU3R5bGUgPSBzdHlsZXNJbkRvbVtpdGVtLmlkXVxuICAg
IGlmIChkb21TdHlsZSkge1xuICAgICAgZG9tU3R5bGUucmVmcysrXG4gICAgICBmb3IgKHZhciBq
ID0gMDsgaiA8IGRvbVN0eWxlLnBhcnRzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIGRvbVN0eWxl
LnBhcnRzW2pdKGl0ZW0ucGFydHNbal0pXG4gICAgICB9XG4gICAgICBmb3IgKDsgaiA8IGl0ZW0u
cGFydHMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgZG9tU3R5bGUucGFydHMucHVzaChhZGRTdHls
ZShpdGVtLnBhcnRzW2pdKSlcbiAgICAgIH1cbiAgICAgIGlmIChkb21TdHlsZS5wYXJ0cy5sZW5n
dGggPiBpdGVtLnBhcnRzLmxlbmd0aCkge1xuICAgICAgICBkb21TdHlsZS5wYXJ0cy5sZW5ndGgg
PSBpdGVtLnBhcnRzLmxlbmd0aFxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgcGFy
dHMgPSBbXVxuICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBpdGVtLnBhcnRzLmxlbmd0aDsgaisr
KSB7XG4gICAgICAgIHBhcnRzLnB1c2goYWRkU3R5bGUoaXRlbS5wYXJ0c1tqXSkpXG4gICAgICB9
XG4gICAgICBzdHlsZXNJbkRvbVtpdGVtLmlkXSA9IHsgaWQ6IGl0ZW0uaWQsIHJlZnM6IDEsIHBh
cnRzOiBwYXJ0cyB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVN0eWxlRWxlbWVu
dCAoKSB7XG4gIHZhciBzdHlsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHls
ZScpXG4gIHN0eWxlRWxlbWVudC50eXBlID0gJ3RleHQvY3NzJ1xuICBoZWFkLmFwcGVuZENoaWxk
KHN0eWxlRWxlbWVudClcbiAgcmV0dXJuIHN0eWxlRWxlbWVudFxufVxuXG5mdW5jdGlvbiBhZGRT
dHlsZSAob2JqIC8qIFN0eWxlT2JqZWN0UGFydCAqLykge1xuICB2YXIgdXBkYXRlLCByZW1vdmVc
biAgdmFyIHN0eWxlRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3N0eWxlW2RhdGEt
dnVlLXNzci1pZH49XCInICsgb2JqLmlkICsgJ1wiXScpXG5cbiAgaWYgKHN0eWxlRWxlbWVudCkg
e1xuICAgIGlmIChpc1Byb2R1Y3Rpb24pIHtcbiAgICAgIC8vIGhhcyBTU1Igc3R5bGVzIGFuZCBp
biBwcm9kdWN0aW9uIG1vZGUuXG4gICAgICAvLyBzaW1wbHkgZG8gbm90aGluZy5cbiAgICAgIHJl
dHVybiBub29wXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGhhcyBTU1Igc3R5bGVzIGJ1dCBpbiBk
ZXYgbW9kZS5cbiAgICAgIC8vIGZvciBzb21lIHJlYXNvbiBDaHJvbWUgY2FuJ3QgaGFuZGxlIHNv
dXJjZSBtYXAgaW4gc2VydmVyLXJlbmRlcmVkXG4gICAgICAvLyBzdHlsZSB0YWdzIC0gc291cmNl
IG1hcHMgaW4gPHN0eWxlPiBvbmx5IHdvcmtzIGlmIHRoZSBzdHlsZSB0YWcgaXNcbiAgICAgIC8v
IGNyZWF0ZWQgYW5kIGluc2VydGVkIGR5bmFtaWNhbGx5LiBTbyB3ZSByZW1vdmUgdGhlIHNlcnZl
ciByZW5kZXJlZFxuICAgICAgLy8gc3R5bGVzIGFuZCBpbmplY3QgbmV3IG9uZXMuXG4gICAgICBz
dHlsZUVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzdHlsZUVsZW1lbnQpXG4gICAgfVxu
ICB9XG5cbiAgaWYgKGlzT2xkSUUpIHtcbiAgICAvLyB1c2Ugc2luZ2xldG9uIG1vZGUgZm9yIElF
OS5cbiAgICB2YXIgc3R5bGVJbmRleCA9IHNpbmdsZXRvbkNvdW50ZXIrK1xuICAgIHN0eWxlRWxl
bWVudCA9IHNpbmdsZXRvbkVsZW1lbnQgfHwgKHNpbmdsZXRvbkVsZW1lbnQgPSBjcmVhdGVTdHls
ZUVsZW1lbnQoKSlcbiAgICB1cGRhdGUgPSBhcHBseVRvU2luZ2xldG9uVGFnLmJpbmQobnVsbCwg
c3R5bGVFbGVtZW50LCBzdHlsZUluZGV4LCBmYWxzZSlcbiAgICByZW1vdmUgPSBhcHBseVRvU2lu
Z2xldG9uVGFnLmJpbmQobnVsbCwgc3R5bGVFbGVtZW50LCBzdHlsZUluZGV4LCB0cnVlKVxuICB9
IGVsc2Uge1xuICAgIC8vIHVzZSBtdWx0aS1zdHlsZS10YWcgbW9kZSBpbiBhbGwgb3RoZXIgY2Fz
ZXNcbiAgICBzdHlsZUVsZW1lbnQgPSBjcmVhdGVTdHlsZUVsZW1lbnQoKVxuICAgIHVwZGF0ZSA9
IGFwcGx5VG9UYWcuYmluZChudWxsLCBzdHlsZUVsZW1lbnQpXG4gICAgcmVtb3ZlID0gZnVuY3Rp
b24gKCkge1xuICAgICAgc3R5bGVFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc3R5bGVF
bGVtZW50KVxuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZShvYmopXG5cbiAgcmV0dXJuIGZ1bmN0aW9u
IHVwZGF0ZVN0eWxlIChuZXdPYmogLyogU3R5bGVPYmplY3RQYXJ0ICovKSB7XG4gICAgaWYgKG5l
d09iaikge1xuICAgICAgaWYgKG5ld09iai5jc3MgPT09IG9iai5jc3MgJiZcbiAgICAgICAgICBu
ZXdPYmoubWVkaWEgPT09IG9iai5tZWRpYSAmJlxuICAgICAgICAgIG5ld09iai5zb3VyY2VNYXAg
PT09IG9iai5zb3VyY2VNYXApIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICB1cGRh
dGUob2JqID0gbmV3T2JqKVxuICAgIH0gZWxzZSB7XG4gICAgICByZW1vdmUoKVxuICAgIH1cbiAg
fVxufVxuXG52YXIgcmVwbGFjZVRleHQgPSAoZnVuY3Rpb24gKCkge1xuICB2YXIgdGV4dFN0b3Jl
ID0gW11cblxuICByZXR1cm4gZnVuY3Rpb24gKGluZGV4LCByZXBsYWNlbWVudCkge1xuICAgIHRl
eHRTdG9yZVtpbmRleF0gPSByZXBsYWNlbWVudFxuICAgIHJldHVybiB0ZXh0U3RvcmUuZmlsdGVy
KEJvb2xlYW4pLmpvaW4oJ1xcbicpXG4gIH1cbn0pKClcblxuZnVuY3Rpb24gYXBwbHlUb1Npbmds
ZXRvblRhZyAoc3R5bGVFbGVtZW50LCBpbmRleCwgcmVtb3ZlLCBvYmopIHtcbiAgdmFyIGNzcyA9
IHJlbW92ZSA/ICcnIDogb2JqLmNzc1xuXG4gIGlmIChzdHlsZUVsZW1lbnQuc3R5bGVTaGVldCkg
e1xuICAgIHN0eWxlRWxlbWVudC5zdHlsZVNoZWV0LmNzc1RleHQgPSByZXBsYWNlVGV4dChpbmRl
eCwgY3NzKVxuICB9IGVsc2Uge1xuICAgIHZhciBjc3NOb2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4
dE5vZGUoY3NzKVxuICAgIHZhciBjaGlsZE5vZGVzID0gc3R5bGVFbGVtZW50LmNoaWxkTm9kZXNc
biAgICBpZiAoY2hpbGROb2Rlc1tpbmRleF0pIHN0eWxlRWxlbWVudC5yZW1vdmVDaGlsZChjaGls
ZE5vZGVzW2luZGV4XSlcbiAgICBpZiAoY2hpbGROb2Rlcy5sZW5ndGgpIHtcbiAgICAgIHN0eWxl
RWxlbWVudC5pbnNlcnRCZWZvcmUoY3NzTm9kZSwgY2hpbGROb2Rlc1tpbmRleF0pXG4gICAgfSBl
bHNlIHtcbiAgICAgIHN0eWxlRWxlbWVudC5hcHBlbmRDaGlsZChjc3NOb2RlKVxuICAgIH1cbiAg
fVxufVxuXG5mdW5jdGlvbiBhcHBseVRvVGFnIChzdHlsZUVsZW1lbnQsIG9iaikge1xuICB2YXIg
Y3NzID0gb2JqLmNzc1xuICB2YXIgbWVkaWEgPSBvYmoubWVkaWFcbiAgdmFyIHNvdXJjZU1hcCA9
IG9iai5zb3VyY2VNYXBcblxuICBpZiAobWVkaWEpIHtcbiAgICBzdHlsZUVsZW1lbnQuc2V0QXR0
cmlidXRlKCdtZWRpYScsIG1lZGlhKVxuICB9XG5cbiAgaWYgKHNvdXJjZU1hcCkge1xuICAgIC8v
IGh0dHBzOi8vZGV2ZWxvcGVyLmNocm9tZS5jb20vZGV2dG9vbHMvZG9jcy9qYXZhc2NyaXB0LWRl
YnVnZ2luZ1xuICAgIC8vIHRoaXMgbWFrZXMgc291cmNlIG1hcHMgaW5zaWRlIHN0eWxlIHRhZ3Mg
d29yayBwcm9wZXJseSBpbiBDaHJvbWVcbiAgICBjc3MgKz0gJ1xcbi8qIyBzb3VyY2VVUkw9JyAr
IHNvdXJjZU1hcC5zb3VyY2VzWzBdICsgJyAqLydcbiAgICAvLyBodHRwOi8vc3RhY2tvdmVyZmxv
dy5jb20vYS8yNjYwMzg3NVxuICAgIGNzcyArPSAnXFxuLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0
YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCwnICsgYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21w
b25lbnQoSlNPTi5zdHJpbmdpZnkoc291cmNlTWFwKSkpKSArICcgKi8nXG4gIH1cblxuICBpZiAo
c3R5bGVFbGVtZW50LnN0eWxlU2hlZXQpIHtcbiAgICBzdHlsZUVsZW1lbnQuc3R5bGVTaGVldC5j
c3NUZXh0ID0gY3NzXG4gIH0gZWxzZSB7XG4gICAgd2hpbGUgKHN0eWxlRWxlbWVudC5maXJzdENo
aWxkKSB7XG4gICAgICBzdHlsZUVsZW1lbnQucmVtb3ZlQ2hpbGQoc3R5bGVFbGVtZW50LmZpcnN0
Q2hpbGQpXG4gICAgfVxuICAgIHN0eWxlRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZShjc3MpKVxuICB9XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdF
QlBBQ0sgRk9PVEVSXG4vLyAuL34vdnVlLXN0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzQ2xpZW50
LmpzXG4vLyBtb2R1bGUgaWQgPSAxNFxuLy8gbW9kdWxlIGNodW5rcyA9IDEiXSwic291cmNlUm9v
dCI6IiJ9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFu
Y2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBs
ZXMvdnVlanMtY2xpL2Rpc3Qvc3RhdGljL2pzL3ZlbmRvci5hNTI1MTdjNWFhOThlN2ZiZWEyZS5q
cyBiL1BlcmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0
ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9kaXN0L3N0YXRpYy9qcy92ZW5kb3IuYTUyNTE3YzVh
YTk4ZTdmYmVhMmUuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU2ZjI5MDY1NmZh
ZTQwZjY2Yzc1OWQ2MDU1NTliMzlhZjBjNzQyMDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJj
ZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVlanMtY2xpL2Rpc3Qvc3RhdGljL2pz
L3ZlbmRvci5hNTI1MTdjNWFhOThlN2ZiZWEyZS5qcworKysgL2Rldi9udWxsCkBAIC0xLDkgKzAs
MCBAQAotd2VicGFja0pzb25wKFsyLDBdLFssZnVuY3Rpb24oZSx0LG4peyhmdW5jdGlvbih0KXsv
KiEKLSAgICAgKiBWdWUuanMgdjIuMS4zCi0gICAgICogKGMpIDIwMTQtMjAxNiBFdmFuIFlvdQot
ICAgICAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4KLSAgICAgKi8KLSJ1c2Ugc3Ry
aWN0IjtmdW5jdGlvbiBuKGUpe3JldHVybiBudWxsPT1lPyIiOiJvYmplY3QiPT10eXBlb2YgZT9K
U09OLnN0cmluZ2lmeShlLG51bGwsMik6U3RyaW5nKGUpfWZ1bmN0aW9uIHIoZSl7dmFyIHQ9cGFy
c2VGbG9hdChlLDEwKTtyZXR1cm4gdHx8MD09PXQ/dDplfWZ1bmN0aW9uIGkoZSx0KXtmb3IodmFy
IG49T2JqZWN0LmNyZWF0ZShudWxsKSxyPWUuc3BsaXQoIiwiKSxpPTA7aTxyLmxlbmd0aDtpKysp
bltyW2ldXT0hMDtyZXR1cm4gdD9mdW5jdGlvbihlKXtyZXR1cm4gbltlLnRvTG93ZXJDYXNlKCld
fTpmdW5jdGlvbihlKXtyZXR1cm4gbltlXX19ZnVuY3Rpb24gbyhlLHQpe2lmKGUubGVuZ3RoKXt2
YXIgbj1lLmluZGV4T2YodCk7aWYobj4tMSlyZXR1cm4gZS5zcGxpY2UobiwxKX19ZnVuY3Rpb24g
YShlLHQpe3JldHVybiB6ci5jYWxsKGUsdCl9ZnVuY3Rpb24gcyhlKXtyZXR1cm4ic3RyaW5nIj09
dHlwZW9mIGV8fCJudW1iZXIiPT10eXBlb2YgZX1mdW5jdGlvbiBjKGUpe3ZhciB0PU9iamVjdC5j
cmVhdGUobnVsbCk7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciByPXRbbl07cmV0dXJuIHJ8fCh0W25d
PWUobikpfX1mdW5jdGlvbiB1KGUsdCl7ZnVuY3Rpb24gbihuKXt2YXIgcj1hcmd1bWVudHMubGVu
Z3RoO3JldHVybiByP3I+MT9lLmFwcGx5KHQsYXJndW1lbnRzKTplLmNhbGwodCxuKTplLmNhbGwo
dCl9cmV0dXJuIG4uX2xlbmd0aD1lLmxlbmd0aCxufWZ1bmN0aW9uIGwoZSx0KXt0PXR8fDA7Zm9y
KHZhciBuPWUubGVuZ3RoLXQscj1uZXcgQXJyYXkobik7bi0tOylyW25dPWVbbit0XTtyZXR1cm4g
cn1mdW5jdGlvbiBmKGUsdCl7Zm9yKHZhciBuIGluIHQpZVtuXT10W25dO3JldHVybiBlfWZ1bmN0
aW9uIGQoZSl7cmV0dXJuIG51bGwhPT1lJiYib2JqZWN0Ij09dHlwZW9mIGV9ZnVuY3Rpb24gcChl
KXtyZXR1cm4gWnIuY2FsbChlKT09PUdyfWZ1bmN0aW9uIGgoZSl7Zm9yKHZhciB0PXt9LG49MDtu
PGUubGVuZ3RoO24rKyllW25dJiZmKHQsZVtuXSk7cmV0dXJuIHR9ZnVuY3Rpb24gdigpe31mdW5j
dGlvbiBtKGUpe3JldHVybiBlLnJlZHVjZShmdW5jdGlvbihlLHQpe3JldHVybiBlLmNvbmNhdCh0
LnN0YXRpY0tleXN8fFtdKX0sW10pLmpvaW4oIiwiKX1mdW5jdGlvbiBnKGUsdCl7cmV0dXJuIGU9
PXR8fCEoIWQoZSl8fCFkKHQpKSYmSlNPTi5zdHJpbmdpZnkoZSk9PT1KU09OLnN0cmluZ2lmeSh0
KX1mdW5jdGlvbiB5KGUsdCl7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspaWYoZyhlW25dLHQp
KXJldHVybiBuO3JldHVybi0xfWZ1bmN0aW9uIF8oZSl7dmFyIHQ9KGUrIiIpLmNoYXJDb2RlQXQo
MCk7cmV0dXJuIDM2PT09dHx8OTU9PT10fWZ1bmN0aW9uIGIoZSx0LG4scil7T2JqZWN0LmRlZmlu
ZVByb3BlcnR5KGUsdCx7dmFsdWU6bixlbnVtZXJhYmxlOiEhcix3cml0YWJsZTohMCxjb25maWd1
cmFibGU6ITB9KX1mdW5jdGlvbiB3KGUpe2lmKCFRci50ZXN0KGUpKXt2YXIgdD1lLnNwbGl0KCIu
Iik7cmV0dXJuIGZ1bmN0aW9uKGUpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXtpZighZSly
ZXR1cm47ZT1lW3Rbbl1dfXJldHVybiBlfX19ZnVuY3Rpb24geChlKXtyZXR1cm4vbmF0aXZlIGNv
ZGUvLnRlc3QoZS50b1N0cmluZygpKX1mdW5jdGlvbiAkKGUpe2hpLnRhcmdldCYmdmkucHVzaCho
aS50YXJnZXQpLGhpLnRhcmdldD1lfWZ1bmN0aW9uIEMoKXtoaS50YXJnZXQ9dmkucG9wKCl9ZnVu
Y3Rpb24gQShlLHQpe2UuX19wcm90b19fPXR9ZnVuY3Rpb24gayhlLHQsbil7Zm9yKHZhciByPTAs
aT1uLmxlbmd0aDtyPGk7cisrKXt2YXIgbz1uW3JdO2IoZSxvLHRbb10pfX1mdW5jdGlvbiBPKGUp
e2lmKGQoZSkpe3ZhciB0O3JldHVybiBhKGUsIl9fb2JfXyIpJiZlLl9fb2JfXyBpbnN0YW5jZW9m
IGJpP3Q9ZS5fX29iX186X2kuc2hvdWxkQ29udmVydCYmIXNpKCkmJihBcnJheS5pc0FycmF5KGUp
fHxwKGUpKSYmT2JqZWN0LmlzRXh0ZW5zaWJsZShlKSYmIWUuX2lzVnVlJiYodD1uZXcgYmkoZSkp
LHR9fWZ1bmN0aW9uIFMoZSx0LG4scil7dmFyIGk9bmV3IGhpLG89T2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcihlLHQpO2lmKCFvfHxvLmNvbmZpZ3VyYWJsZSE9PSExKXt2YXIgYT1vJiZv
LmdldCxzPW8mJm8uc2V0LGM9TyhuKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtlbnVtZXJh
YmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXt2YXIgdD1hP2EuY2FsbChlKTpu
O3JldHVybiBoaS50YXJnZXQmJihpLmRlcGVuZCgpLGMmJmMuZGVwLmRlcGVuZCgpLEFycmF5Lmlz
QXJyYXkodCkmJmoodCkpLHR9LHNldDpmdW5jdGlvbih0KXt2YXIgcj1hP2EuY2FsbChlKTpuO3Q9
PT1yfHx0IT09dCYmciE9PXJ8fChzP3MuY2FsbChlLHQpOm49dCxjPU8odCksaS5ub3RpZnkoKSl9
fSl9fWZ1bmN0aW9uIFQoZSx0LG4pe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGUubGVuZ3Ro
PU1hdGgubWF4KGUubGVuZ3RoLHQpLGUuc3BsaWNlKHQsMSxuKSxuO2lmKGEoZSx0KSlyZXR1cm4g
dm9pZChlW3RdPW4pO3ZhciByPWUuX19vYl9fO2lmKCEoZS5faXNWdWV8fHImJnIudm1Db3VudCkp
cmV0dXJuIHI/KFMoci52YWx1ZSx0LG4pLHIuZGVwLm5vdGlmeSgpLG4pOnZvaWQoZVt0XT1uKX1m
dW5jdGlvbiBFKGUsdCl7dmFyIG49ZS5fX29iX187ZS5faXNWdWV8fG4mJm4udm1Db3VudHx8YShl
LHQpJiYoZGVsZXRlIGVbdF0sbiYmbi5kZXAubm90aWZ5KCkpfWZ1bmN0aW9uIGooZSl7Zm9yKHZh
ciB0PXZvaWQgMCxuPTAscj1lLmxlbmd0aDtuPHI7bisrKXQ9ZVtuXSx0JiZ0Ll9fb2JfXyYmdC5f
X29iX18uZGVwLmRlcGVuZCgpLEFycmF5LmlzQXJyYXkodCkmJmoodCl9ZnVuY3Rpb24gTihlLHQp
e2lmKCF0KXJldHVybiBlO2Zvcih2YXIgbixyLGksbz1PYmplY3Qua2V5cyh0KSxzPTA7czxvLmxl
bmd0aDtzKyspbj1vW3NdLHI9ZVtuXSxpPXRbbl0sYShlLG4pP3AocikmJnAoaSkmJk4ocixpKTpU
KGUsbixpKTtyZXR1cm4gZX1mdW5jdGlvbiBMKGUsdCl7cmV0dXJuIHQ/ZT9lLmNvbmNhdCh0KTpB
cnJheS5pc0FycmF5KHQpP3Q6W3RdOmV9ZnVuY3Rpb24gTShlLHQpe3ZhciBuPU9iamVjdC5jcmVh
dGUoZXx8bnVsbCk7cmV0dXJuIHQ/ZihuLHQpOm59ZnVuY3Rpb24gUChlKXt2YXIgdD1lLnByb3Bz
O2lmKHQpe3ZhciBuLHIsaSxvPXt9O2lmKEFycmF5LmlzQXJyYXkodCkpZm9yKG49dC5sZW5ndGg7
bi0tOylyPXRbbl0sInN0cmluZyI9PXR5cGVvZiByJiYoaT1KcihyKSxvW2ldPXt0eXBlOm51bGx9
KTtlbHNlIGlmKHAodCkpZm9yKHZhciBhIGluIHQpcj10W2FdLGk9SnIoYSksb1tpXT1wKHIpP3I6
e3R5cGU6cn07ZS5wcm9wcz1vfX1mdW5jdGlvbiBEKGUpe3ZhciB0PWUuZGlyZWN0aXZlcztpZih0
KWZvcih2YXIgbiBpbiB0KXt2YXIgcj10W25dOyJmdW5jdGlvbiI9PXR5cGVvZiByJiYodFtuXT17
YmluZDpyLHVwZGF0ZTpyfSl9fWZ1bmN0aW9uIFIoZSx0LG4pe2Z1bmN0aW9uIHIocil7dmFyIGk9
d2lbcl18fHhpO2xbcl09aShlW3JdLHRbcl0sbixyKX1QKHQpLEQodCk7dmFyIGk9dC5leHRlbmRz
O2lmKGkmJihlPSJmdW5jdGlvbiI9PXR5cGVvZiBpP1IoZSxpLm9wdGlvbnMsbik6UihlLGksbikp
LHQubWl4aW5zKWZvcih2YXIgbz0wLHM9dC5taXhpbnMubGVuZ3RoO288cztvKyspe3ZhciBjPXQu
bWl4aW5zW29dO2MucHJvdG90eXBlIGluc3RhbmNlb2YgSWUmJihjPWMub3B0aW9ucyksZT1SKGUs
YyxuKX12YXIgdSxsPXt9O2Zvcih1IGluIGUpcih1KTtmb3IodSBpbiB0KWEoZSx1KXx8cih1KTty
ZXR1cm4gbH1mdW5jdGlvbiBCKGUsdCxuLHIpe2lmKCJzdHJpbmciPT10eXBlb2Ygbil7dmFyIGk9
ZVt0XSxvPWlbbl18fGlbSnIobildfHxpW3FyKEpyKG4pKV07cmV0dXJuIG99fWZ1bmN0aW9uIEko
ZSx0LG4scil7dmFyIGk9dFtlXSxvPSFhKG4sZSkscz1uW2VdO2lmKFUoaS50eXBlKSYmKG8mJiFh
KGksImRlZmF1bHQiKT9zPSExOiIiIT09cyYmcyE9PVdyKGUpfHwocz0hMCkpLHZvaWQgMD09PXMp
e3M9SChyLGksZSk7dmFyIGM9X2kuc2hvdWxkQ29udmVydDtfaS5zaG91bGRDb252ZXJ0PSEwLE8o
cyksX2kuc2hvdWxkQ29udmVydD1jfXJldHVybiBzfWZ1bmN0aW9uIEgoZSx0LG4pe2lmKGEodCwi
ZGVmYXVsdCIpKXt2YXIgcj10LmRlZmF1bHQ7cmV0dXJuIGQociksZSYmZS4kb3B0aW9ucy5wcm9w
c0RhdGEmJnZvaWQgMD09PWUuJG9wdGlvbnMucHJvcHNEYXRhW25dJiZ2b2lkIDAhPT1lW25dP2Vb
bl06ImZ1bmN0aW9uIj09dHlwZW9mIHImJnQudHlwZSE9PUZ1bmN0aW9uP3IuY2FsbChlKTpyfX1m
dW5jdGlvbiBGKGUpe3ZhciB0PWUmJmUudG9TdHJpbmcoKS5tYXRjaCgvXlxzKmZ1bmN0aW9uIChc
dyspLyk7cmV0dXJuIHQmJnRbMV19ZnVuY3Rpb24gVShlKXtpZighQXJyYXkuaXNBcnJheShlKSly
ZXR1cm4iQm9vbGVhbiI9PT1GKGUpO2Zvcih2YXIgdD0wLG49ZS5sZW5ndGg7dDxuO3QrKylpZigi
Qm9vbGVhbiI9PT1GKGVbdF0pKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIHooKXtDaS5sZW5n
dGg9MCxBaT17fSxraT1PaT0hMX1mdW5jdGlvbiBWKCl7Zm9yKE9pPSEwLENpLnNvcnQoZnVuY3Rp
b24oZSx0KXtyZXR1cm4gZS5pZC10LmlkfSksU2k9MDtTaTxDaS5sZW5ndGg7U2krKyl7dmFyIGU9
Q2lbU2ldLHQ9ZS5pZDtBaVt0XT1udWxsLGUucnVuKCl9Y2kmJmZpLmRldnRvb2xzJiZjaS5lbWl0
KCJmbHVzaCIpLHooKX1mdW5jdGlvbiBKKGUpe3ZhciB0PWUuaWQ7aWYobnVsbD09QWlbdF0pe2lm
KEFpW3RdPSEwLE9pKXtmb3IodmFyIG49Q2kubGVuZ3RoLTE7bj49MCYmQ2lbbl0uaWQ+ZS5pZDsp
bi0tO0NpLnNwbGljZShNYXRoLm1heChuLFNpKSsxLDAsZSl9ZWxzZSBDaS5wdXNoKGUpO2tpfHwo
a2k9ITAsdWkoVikpfX1mdW5jdGlvbiBxKGUpe2ppLmNsZWFyKCksSyhlLGppKX1mdW5jdGlvbiBL
KGUsdCl7dmFyIG4scixpPUFycmF5LmlzQXJyYXkoZSk7aWYoKGl8fGQoZSkpJiZPYmplY3QuaXNF
eHRlbnNpYmxlKGUpKXtpZihlLl9fb2JfXyl7dmFyIG89ZS5fX29iX18uZGVwLmlkO2lmKHQuaGFz
KG8pKXJldHVybjt0LmFkZChvKX1pZihpKWZvcihuPWUubGVuZ3RoO24tLTspSyhlW25dLHQpO2Vs
c2UgZm9yKHI9T2JqZWN0LmtleXMoZSksbj1yLmxlbmd0aDtuLS07KUsoZVtyW25dXSx0KX19ZnVu
Y3Rpb24gVyhlKXtlLl93YXRjaGVycz1bXSxaKGUpLEcoZSksWShlKSxYKGUpLGVlKGUpfWZ1bmN0
aW9uIFooZSl7dmFyIHQ9ZS4kb3B0aW9ucy5wcm9wcztpZih0KXt2YXIgbj1lLiRvcHRpb25zLnBy
b3BzRGF0YXx8e30scj1lLiRvcHRpb25zLl9wcm9wS2V5cz1PYmplY3Qua2V5cyh0KSxpPSFlLiRw
YXJlbnQ7X2kuc2hvdWxkQ29udmVydD1pO2Zvcih2YXIgbz1mdW5jdGlvbihpKXt2YXIgbz1yW2ld
O1MoZSxvLEkobyx0LG4sZSkpfSxhPTA7YTxyLmxlbmd0aDthKyspbyhhKTtfaS5zaG91bGRDb252
ZXJ0PSEwfX1mdW5jdGlvbiBHKGUpe3ZhciB0PWUuJG9wdGlvbnMuZGF0YTt0PWUuX2RhdGE9ImZ1
bmN0aW9uIj09dHlwZW9mIHQ/dC5jYWxsKGUpOnR8fHt9LHAodCl8fCh0PXt9KTtmb3IodmFyIG49
T2JqZWN0LmtleXModCkscj1lLiRvcHRpb25zLnByb3BzLGk9bi5sZW5ndGg7aS0tOylyJiZhKHIs
bltpXSl8fHJlKGUsbltpXSk7Tyh0KSx0Ll9fb2JfXyYmdC5fX29iX18udm1Db3VudCsrfWZ1bmN0
aW9uIFkoZSl7dmFyIHQ9ZS4kb3B0aW9ucy5jb21wdXRlZDtpZih0KWZvcih2YXIgbiBpbiB0KXt2
YXIgcj10W25dOyJmdW5jdGlvbiI9PXR5cGVvZiByPyhOaS5nZXQ9UShyLGUpLE5pLnNldD12KToo
TmkuZ2V0PXIuZ2V0P3IuY2FjaGUhPT0hMT9RKHIuZ2V0LGUpOnUoci5nZXQsZSk6dixOaS5zZXQ9
ci5zZXQ/dShyLnNldCxlKTp2KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLE5pKX19ZnVuY3Rp
b24gUShlLHQpe3ZhciBuPW5ldyBFaSh0LGUsdix7bGF6eTohMH0pO3JldHVybiBmdW5jdGlvbigp
e3JldHVybiBuLmRpcnR5JiZuLmV2YWx1YXRlKCksaGkudGFyZ2V0JiZuLmRlcGVuZCgpLG4udmFs
dWV9fWZ1bmN0aW9uIFgoZSl7dmFyIHQ9ZS4kb3B0aW9ucy5tZXRob2RzO2lmKHQpZm9yKHZhciBu
IGluIHQpZVtuXT1udWxsPT10W25dP3Y6dSh0W25dLGUpfWZ1bmN0aW9uIGVlKGUpe3ZhciB0PWUu
JG9wdGlvbnMud2F0Y2g7aWYodClmb3IodmFyIG4gaW4gdCl7dmFyIHI9dFtuXTtpZihBcnJheS5p
c0FycmF5KHIpKWZvcih2YXIgaT0wO2k8ci5sZW5ndGg7aSsrKXRlKGUsbixyW2ldKTtlbHNlIHRl
KGUsbixyKX19ZnVuY3Rpb24gdGUoZSx0LG4pe3ZhciByO3AobikmJihyPW4sbj1uLmhhbmRsZXIp
LCJzdHJpbmciPT10eXBlb2YgbiYmKG49ZVtuXSksZS4kd2F0Y2godCxuLHIpfWZ1bmN0aW9uIG5l
KGUpe3ZhciB0PXt9O3QuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RhdGF9LE9iamVjdC5k
ZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwiJGRhdGEiLHQpLGUucHJvdG90eXBlLiRzZXQ9VCxl
LnByb3RvdHlwZS4kZGVsZXRlPUUsZS5wcm90b3R5cGUuJHdhdGNoPWZ1bmN0aW9uKGUsdCxuKXt2
YXIgcj10aGlzO249bnx8e30sbi51c2VyPSEwO3ZhciBpPW5ldyBFaShyLGUsdCxuKTtyZXR1cm4g
bi5pbW1lZGlhdGUmJnQuY2FsbChyLGkudmFsdWUpLGZ1bmN0aW9uKCl7aS50ZWFyZG93bigpfX19
ZnVuY3Rpb24gcmUoZSx0KXtfKHQpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtjb25maWd1
cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZS5fZGF0YVt0XX0s
c2V0OmZ1bmN0aW9uKG4pe2UuX2RhdGFbdF09bn19KX1mdW5jdGlvbiBpZShlKXt2YXIgdD1uZXcg
TGkoZS50YWcsZS5kYXRhLGUuY2hpbGRyZW4sZS50ZXh0LGUuZWxtLGUubnMsZS5jb250ZXh0LGUu
Y29tcG9uZW50T3B0aW9ucyk7cmV0dXJuIHQuaXNTdGF0aWM9ZS5pc1N0YXRpYyx0LmtleT1lLmtl
eSx0LmlzQ2xvbmVkPSEwLHR9ZnVuY3Rpb24gb2UoZSl7Zm9yKHZhciB0PW5ldyBBcnJheShlLmxl
bmd0aCksbj0wO248ZS5sZW5ndGg7bisrKXRbbl09aWUoZVtuXSk7cmV0dXJuIHR9ZnVuY3Rpb24g
YWUoZSx0LG4scil7cis9dDt2YXIgaT1lLl9faW5qZWN0ZWR8fChlLl9faW5qZWN0ZWQ9e30pO2lm
KCFpW3JdKXtpW3JdPSEwO3ZhciBvPWVbdF07bz9lW3RdPWZ1bmN0aW9uKCl7by5hcHBseSh0aGlz
LGFyZ3VtZW50cyksbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9OmVbdF09bn19ZnVuY3Rpb24gc2Uo
ZSx0LG4scixpKXt2YXIgbyxhLHMsYyx1LGw7Zm9yKG8gaW4gZSlpZihhPWVbb10scz10W29dLGEp
aWYocyl7aWYoYSE9PXMpaWYoQXJyYXkuaXNBcnJheShzKSl7cy5sZW5ndGg9YS5sZW5ndGg7Zm9y
KHZhciBmPTA7ZjxzLmxlbmd0aDtmKyspc1tmXT1hW2ZdO2Vbb109c31lbHNlIHMuZm49YSxlW29d
PXN9ZWxzZSBsPSIhIj09PW8uY2hhckF0KDApLHU9bD9vLnNsaWNlKDEpOm8sQXJyYXkuaXNBcnJh
eShhKT9uKHUsYS5pbnZva2VyPWNlKGEpLGwpOihhLmludm9rZXJ8fChjPWEsYT1lW29dPXt9LGEu
Zm49YyxhLmludm9rZXI9dWUoYSkpLG4odSxhLmludm9rZXIsbCkpO2Vsc2U7Zm9yKG8gaW4gdCll
W29dfHwodT0iISI9PT1vLmNoYXJBdCgwKT9vLnNsaWNlKDEpOm8scih1LHRbb10uaW52b2tlcikp
fWZ1bmN0aW9uIGNlKGUpe3JldHVybiBmdW5jdGlvbih0KXtmb3IodmFyIG49YXJndW1lbnRzLHI9
MT09PWFyZ3VtZW50cy5sZW5ndGgsaT0wO2k8ZS5sZW5ndGg7aSsrKXI/ZVtpXSh0KTplW2ldLmFw
cGx5KG51bGwsbil9fWZ1bmN0aW9uIHVlKGUpe3JldHVybiBmdW5jdGlvbih0KXt2YXIgbj0xPT09
YXJndW1lbnRzLmxlbmd0aDtuP2UuZm4odCk6ZS5mbi5hcHBseShudWxsLGFyZ3VtZW50cyl9fWZ1
bmN0aW9uIGxlKGUsdCxuKXtpZihzKGUpKXJldHVybltmZShlKV07aWYoQXJyYXkuaXNBcnJheShl
KSl7Zm9yKHZhciByPVtdLGk9MCxvPWUubGVuZ3RoO2k8bztpKyspe3ZhciBhPWVbaV0sYz1yW3Iu
bGVuZ3RoLTFdO0FycmF5LmlzQXJyYXkoYSk/ci5wdXNoLmFwcGx5KHIsbGUoYSx0LChufHwiIikr
Il8iK2kpKTpzKGEpP2MmJmMudGV4dD9jLnRleHQrPVN0cmluZyhhKToiIiE9PWEmJnIucHVzaChm
ZShhKSk6YSBpbnN0YW5jZW9mIExpJiYoYS50ZXh0JiZjJiZjLnRleHQ/Yy5pc0Nsb25lZHx8KGMu
dGV4dCs9YS50ZXh0KToodCYmZGUoYSx0KSxhLnRhZyYmbnVsbD09YS5rZXkmJm51bGwhPW4mJihh
LmtleT0iX192bGlzdCIrbisiXyIraSsiX18iKSxyLnB1c2goYSkpKX1yZXR1cm4gcn19ZnVuY3Rp
b24gZmUoZSl7cmV0dXJuIG5ldyBMaSh2b2lkIDAsdm9pZCAwLHZvaWQgMCxTdHJpbmcoZSkpfWZ1
bmN0aW9uIGRlKGUsdCl7aWYoZS50YWcmJiFlLm5zJiYoZS5ucz10LGUuY2hpbGRyZW4pKWZvcih2
YXIgbj0wLHI9ZS5jaGlsZHJlbi5sZW5ndGg7bjxyO24rKylkZShlLmNoaWxkcmVuW25dLHQpfWZ1
bmN0aW9uIHBlKGUpe3JldHVybiBlJiZlLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5j
b21wb25lbnRPcHRpb25zfSlbMF19ZnVuY3Rpb24gaGUoZSl7dmFyIHQ9ZS4kb3B0aW9ucyxuPXQu
cGFyZW50O2lmKG4mJiF0LmFic3RyYWN0KXtmb3IoO24uJG9wdGlvbnMuYWJzdHJhY3QmJm4uJHBh
cmVudDspbj1uLiRwYXJlbnQ7bi4kY2hpbGRyZW4ucHVzaChlKX1lLiRwYXJlbnQ9bixlLiRyb290
PW4/bi4kcm9vdDplLGUuJGNoaWxkcmVuPVtdLGUuJHJlZnM9e30sZS5fd2F0Y2hlcj1udWxsLGUu
X2luYWN0aXZlPSExLGUuX2lzTW91bnRlZD0hMSxlLl9pc0Rlc3Ryb3llZD0hMSxlLl9pc0JlaW5n
RGVzdHJveWVkPSExfWZ1bmN0aW9uIHZlKGUpe2UucHJvdG90eXBlLl9tb3VudD1mdW5jdGlvbihl
LHQpe3ZhciBuPXRoaXM7cmV0dXJuIG4uJGVsPWUsbi4kb3B0aW9ucy5yZW5kZXJ8fChuLiRvcHRp
b25zLnJlbmRlcj1NaSksbWUobiwiYmVmb3JlTW91bnQiKSxuLl93YXRjaGVyPW5ldyBFaShuLGZ1
bmN0aW9uKCl7bi5fdXBkYXRlKG4uX3JlbmRlcigpLHQpfSx2KSx0PSExLG51bGw9PW4uJHZub2Rl
JiYobi5faXNNb3VudGVkPSEwLG1lKG4sIm1vdW50ZWQiKSksbn0sZS5wcm90b3R5cGUuX3VwZGF0
ZT1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXM7bi5faXNNb3VudGVkJiZtZShuLCJiZWZvcmVVcGRh
dGUiKTt2YXIgcj1uLiRlbCxpPVBpO1BpPW47dmFyIG89bi5fdm5vZGU7bi5fdm5vZGU9ZSxvP24u
JGVsPW4uX19wYXRjaF9fKG8sZSk6bi4kZWw9bi5fX3BhdGNoX18obi4kZWwsZSx0KSxQaT1pLHIm
JihyLl9fdnVlX189bnVsbCksbi4kZWwmJihuLiRlbC5fX3Z1ZV9fPW4pLG4uJHZub2RlJiZuLiRw
YXJlbnQmJm4uJHZub2RlPT09bi4kcGFyZW50Ll92bm9kZSYmKG4uJHBhcmVudC4kZWw9bi4kZWwp
LG4uX2lzTW91bnRlZCYmbWUobiwidXBkYXRlZCIpfSxlLnByb3RvdHlwZS5fdXBkYXRlRnJvbVBh
cmVudD1mdW5jdGlvbihlLHQsbixyKXt2YXIgaT10aGlzLG89ISghaS4kb3B0aW9ucy5fcmVuZGVy
Q2hpbGRyZW4mJiFyKTtpZihpLiRvcHRpb25zLl9wYXJlbnRWbm9kZT1uLGkuJHZub2RlPW4saS5f
dm5vZGUmJihpLl92bm9kZS5wYXJlbnQ9biksaS4kb3B0aW9ucy5fcmVuZGVyQ2hpbGRyZW49cixl
JiZpLiRvcHRpb25zLnByb3BzKXtfaS5zaG91bGRDb252ZXJ0PSExO2Zvcih2YXIgYT1pLiRvcHRp
b25zLl9wcm9wS2V5c3x8W10scz0wO3M8YS5sZW5ndGg7cysrKXt2YXIgYz1hW3NdO2lbY109SShj
LGkuJG9wdGlvbnMucHJvcHMsZSxpKX1faS5zaG91bGRDb252ZXJ0PSEwLGkuJG9wdGlvbnMucHJv
cHNEYXRhPWV9aWYodCl7dmFyIHU9aS4kb3B0aW9ucy5fcGFyZW50TGlzdGVuZXJzO2kuJG9wdGlv
bnMuX3BhcmVudExpc3RlbmVycz10LGkuX3VwZGF0ZUxpc3RlbmVycyh0LHUpfW8mJihpLiRzbG90
cz1MZShyLGkuX3JlbmRlckNvbnRleHQpLGkuJGZvcmNlVXBkYXRlKCkpfSxlLnByb3RvdHlwZS4k
Zm9yY2VVcGRhdGU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2UuX3dhdGNoZXImJmUuX3dhdGNoZXIu
dXBkYXRlKCl9LGUucHJvdG90eXBlLiRkZXN0cm95PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZigh
ZS5faXNCZWluZ0Rlc3Ryb3llZCl7bWUoZSwiYmVmb3JlRGVzdHJveSIpLGUuX2lzQmVpbmdEZXN0
cm95ZWQ9ITA7dmFyIHQ9ZS4kcGFyZW50OyF0fHx0Ll9pc0JlaW5nRGVzdHJveWVkfHxlLiRvcHRp
b25zLmFic3RyYWN0fHxvKHQuJGNoaWxkcmVuLGUpLGUuX3dhdGNoZXImJmUuX3dhdGNoZXIudGVh
cmRvd24oKTtmb3IodmFyIG49ZS5fd2F0Y2hlcnMubGVuZ3RoO24tLTspZS5fd2F0Y2hlcnNbbl0u
dGVhcmRvd24oKTtlLl9kYXRhLl9fb2JfXyYmZS5fZGF0YS5fX29iX18udm1Db3VudC0tLGUuX2lz
RGVzdHJveWVkPSEwLG1lKGUsImRlc3Ryb3llZCIpLGUuJG9mZigpLGUuJGVsJiYoZS4kZWwuX192
dWVfXz1udWxsKSxlLl9fcGF0Y2hfXyhlLl92bm9kZSxudWxsKX19fWZ1bmN0aW9uIG1lKGUsdCl7
dmFyIG49ZS4kb3B0aW9uc1t0XTtpZihuKWZvcih2YXIgcj0wLGk9bi5sZW5ndGg7cjxpO3IrKylu
W3JdLmNhbGwoZSk7ZS4kZW1pdCgiaG9vazoiK3QpfWZ1bmN0aW9uIGdlKGUsdCxuLHIsaSl7aWYo
ZSl7dmFyIG89bi4kb3B0aW9ucy5fYmFzZTtpZihkKGUpJiYoZT1vLmV4dGVuZChlKSksImZ1bmN0
aW9uIj09dHlwZW9mIGUpe2lmKCFlLmNpZClpZihlLnJlc29sdmVkKWU9ZS5yZXNvbHZlZDtlbHNl
IGlmKGU9Q2UoZSxvLGZ1bmN0aW9uKCl7bi4kZm9yY2VVcGRhdGUoKX0pLCFlKXJldHVybjtCZShl
KSx0PXR8fHt9O3ZhciBhPUFlKHQsZSk7aWYoZS5vcHRpb25zLmZ1bmN0aW9uYWwpcmV0dXJuIHll
KGUsYSx0LG4scik7dmFyIHM9dC5vbjt0Lm9uPXQubmF0aXZlT24sZS5vcHRpb25zLmFic3RyYWN0
JiYodD17fSksT2UodCk7dmFyIGM9ZS5vcHRpb25zLm5hbWV8fGksdT1uZXcgTGkoInZ1ZS1jb21w
b25lbnQtIitlLmNpZCsoYz8iLSIrYzoiIiksdCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAs
bix7Q3RvcjplLHByb3BzRGF0YTphLGxpc3RlbmVyczpzLHRhZzppLGNoaWxkcmVuOnJ9KTtyZXR1
cm4gdX19fWZ1bmN0aW9uIHllKGUsdCxuLHIsaSl7dmFyIG89e30sYT1lLm9wdGlvbnMucHJvcHM7
aWYoYSlmb3IodmFyIHMgaW4gYSlvW3NdPUkocyxhLHQpO3ZhciBjPWUub3B0aW9ucy5yZW5kZXIu
Y2FsbChudWxsLHUoVGUse19zZWxmOk9iamVjdC5jcmVhdGUocil9KSx7cHJvcHM6byxkYXRhOm4s
cGFyZW50OnIsY2hpbGRyZW46bGUoaSksc2xvdHM6ZnVuY3Rpb24oKXtyZXR1cm4gTGUoaSxyKX19
KTtyZXR1cm4gYyBpbnN0YW5jZW9mIExpJiYoYy5mdW5jdGlvbmFsQ29udGV4dD1yLG4uc2xvdCYm
KChjLmRhdGF8fChjLmRhdGE9e30pKS5zbG90PW4uc2xvdCkpLGN9ZnVuY3Rpb24gX2UoZSx0KXt2
YXIgbj1lLmNvbXBvbmVudE9wdGlvbnMscj17X2lzQ29tcG9uZW50OiEwLHBhcmVudDp0LHByb3Bz
RGF0YTpuLnByb3BzRGF0YSxfY29tcG9uZW50VGFnOm4udGFnLF9wYXJlbnRWbm9kZTplLF9wYXJl
bnRMaXN0ZW5lcnM6bi5saXN0ZW5lcnMsX3JlbmRlckNoaWxkcmVuOm4uY2hpbGRyZW59LGk9ZS5k
YXRhLmlubGluZVRlbXBsYXRlO3JldHVybiBpJiYoci5yZW5kZXI9aS5yZW5kZXIsci5zdGF0aWNS
ZW5kZXJGbnM9aS5zdGF0aWNSZW5kZXJGbnMpLG5ldyBuLkN0b3Iocil9ZnVuY3Rpb24gYmUoZSx0
KXtpZighZS5jaGlsZHx8ZS5jaGlsZC5faXNEZXN0cm95ZWQpe3ZhciBuPWUuY2hpbGQ9X2UoZSxQ
aSk7bi4kbW91bnQodD9lLmVsbTp2b2lkIDAsdCl9ZWxzZSBpZihlLmRhdGEua2VlcEFsaXZlKXt2
YXIgcj1lO3dlKHIscil9fWZ1bmN0aW9uIHdlKGUsdCl7dmFyIG49dC5jb21wb25lbnRPcHRpb25z
LHI9dC5jaGlsZD1lLmNoaWxkO3IuX3VwZGF0ZUZyb21QYXJlbnQobi5wcm9wc0RhdGEsbi5saXN0
ZW5lcnMsdCxuLmNoaWxkcmVuKX1mdW5jdGlvbiB4ZShlKXtlLmNoaWxkLl9pc01vdW50ZWR8fChl
LmNoaWxkLl9pc01vdW50ZWQ9ITAsbWUoZS5jaGlsZCwibW91bnRlZCIpKSxlLmRhdGEua2VlcEFs
aXZlJiYoZS5jaGlsZC5faW5hY3RpdmU9ITEsbWUoZS5jaGlsZCwiYWN0aXZhdGVkIikpfWZ1bmN0
aW9uICRlKGUpe2UuY2hpbGQuX2lzRGVzdHJveWVkfHwoZS5kYXRhLmtlZXBBbGl2ZT8oZS5jaGls
ZC5faW5hY3RpdmU9ITAsbWUoZS5jaGlsZCwiZGVhY3RpdmF0ZWQiKSk6ZS5jaGlsZC4kZGVzdHJv
eSgpKX1mdW5jdGlvbiBDZShlLHQsbil7aWYoIWUucmVxdWVzdGVkKXtlLnJlcXVlc3RlZD0hMDt2
YXIgcj1lLnBlbmRpbmdDYWxsYmFja3M9W25dLGk9ITAsbz1mdW5jdGlvbihuKXtpZihkKG4pJiYo
bj10LmV4dGVuZChuKSksZS5yZXNvbHZlZD1uLCFpKWZvcih2YXIgbz0wLGE9ci5sZW5ndGg7bzxh
O28rKylyW29dKG4pfSxhPWZ1bmN0aW9uKGUpe30scz1lKG8sYSk7cmV0dXJuIHMmJiJmdW5jdGlv
biI9PXR5cGVvZiBzLnRoZW4mJiFlLnJlc29sdmVkJiZzLnRoZW4obyxhKSxpPSExLGUucmVzb2x2
ZWR9ZS5wZW5kaW5nQ2FsbGJhY2tzLnB1c2gobil9ZnVuY3Rpb24gQWUoZSx0KXt2YXIgbj10Lm9w
dGlvbnMucHJvcHM7aWYobil7dmFyIHI9e30saT1lLmF0dHJzLG89ZS5wcm9wcyxhPWUuZG9tUHJv
cHM7aWYoaXx8b3x8YSlmb3IodmFyIHMgaW4gbil7dmFyIGM9V3Iocyk7a2UocixvLHMsYywhMCl8
fGtlKHIsaSxzLGMpfHxrZShyLGEscyxjKX1yZXR1cm4gcn19ZnVuY3Rpb24ga2UoZSx0LG4scixp
KXtpZih0KXtpZihhKHQsbikpcmV0dXJuIGVbbl09dFtuXSxpfHxkZWxldGUgdFtuXSwhMDtpZihh
KHQscikpcmV0dXJuIGVbbl09dFtyXSxpfHxkZWxldGUgdFtyXSwhMH1yZXR1cm4hMX1mdW5jdGlv
biBPZShlKXtlLmhvb2t8fChlLmhvb2s9e30pO2Zvcih2YXIgdD0wO3Q8UmkubGVuZ3RoO3QrKyl7
dmFyIG49UmlbdF0scj1lLmhvb2tbbl0saT1EaVtuXTtlLmhvb2tbbl09cj9TZShpLHIpOml9fWZ1
bmN0aW9uIFNlKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKG4scil7ZShuLHIpLHQobixyKX19ZnVuY3Rp
b24gVGUoZSx0LG4pe3JldHVybiB0JiYoQXJyYXkuaXNBcnJheSh0KXx8Im9iamVjdCIhPXR5cGVv
ZiB0KSYmKG49dCx0PXZvaWQgMCksRWUodGhpcy5fc2VsZixlLHQsbil9ZnVuY3Rpb24gRWUoZSx0
LG4scil7aWYoIW58fCFuLl9fb2JfXyl7aWYoIXQpcmV0dXJuIE1pKCk7aWYoQXJyYXkuaXNBcnJh
eShyKSYmImZ1bmN0aW9uIj09dHlwZW9mIHJbMF0mJihuPW58fHt9LG4uc2NvcGVkU2xvdHM9e2Rl
ZmF1bHQ6clswXX0sci5sZW5ndGg9MCksInN0cmluZyI9PXR5cGVvZiB0KXt2YXIgaSxvPWZpLmdl
dFRhZ05hbWVzcGFjZSh0KTtpZihmaS5pc1Jlc2VydmVkVGFnKHQpKXJldHVybiBuZXcgTGkodCxu
LGxlKHIsbyksdm9pZCAwLHZvaWQgMCxvLGUpO2lmKGk9QihlLiRvcHRpb25zLCJjb21wb25lbnRz
Iix0KSlyZXR1cm4gZ2UoaSxuLGUscix0KTt2YXIgYT0iZm9yZWlnbk9iamVjdCI9PT10PyJ4aHRt
bCI6bztyZXR1cm4gbmV3IExpKHQsbixsZShyLGEpLHZvaWQgMCx2b2lkIDAsbyxlKX1yZXR1cm4g
Z2UodCxuLGUscil9fWZ1bmN0aW9uIGplKGUpe2UuJHZub2RlPW51bGwsZS5fdm5vZGU9bnVsbCxl
Ll9zdGF0aWNUcmVlcz1udWxsLGUuX3JlbmRlckNvbnRleHQ9ZS4kb3B0aW9ucy5fcGFyZW50Vm5v
ZGUmJmUuJG9wdGlvbnMuX3BhcmVudFZub2RlLmNvbnRleHQsZS4kc2xvdHM9TGUoZS4kb3B0aW9u
cy5fcmVuZGVyQ2hpbGRyZW4sZS5fcmVuZGVyQ29udGV4dCksZS4kc2NvcGVkU2xvdHM9e30sZS4k
Y3JlYXRlRWxlbWVudD11KFRlLGUpLGUuJG9wdGlvbnMuZWwmJmUuJG1vdW50KGUuJG9wdGlvbnMu
ZWwpfWZ1bmN0aW9uIE5lKGUpe2Z1bmN0aW9uIHQoZSx0LG4pe2lmKEFycmF5LmlzQXJyYXkoZSkp
Zm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspZVtyXSYmInN0cmluZyIhPXR5cGVvZiBlW3JdJiZp
KGVbcl0sdCsiXyIrcixuKTtlbHNlIGkoZSx0LG4pfWZ1bmN0aW9uIGkoZSx0LG4pe2UuaXNTdGF0
aWM9ITAsZS5rZXk9dCxlLmlzT25jZT1ufWUucHJvdG90eXBlLiRuZXh0VGljaz1mdW5jdGlvbihl
KXtyZXR1cm4gdWkoZSx0aGlzKX0sZS5wcm90b3R5cGUuX3JlbmRlcj1mdW5jdGlvbigpe3ZhciBl
PXRoaXMsdD1lLiRvcHRpb25zLG49dC5yZW5kZXIscj10LnN0YXRpY1JlbmRlckZucyxpPXQuX3Bh
cmVudFZub2RlO2lmKGUuX2lzTW91bnRlZClmb3IodmFyIG8gaW4gZS4kc2xvdHMpZS4kc2xvdHNb
b109b2UoZS4kc2xvdHNbb10pO2kmJmkuZGF0YS5zY29wZWRTbG90cyYmKGUuJHNjb3BlZFNsb3Rz
PWkuZGF0YS5zY29wZWRTbG90cyksciYmIWUuX3N0YXRpY1RyZWVzJiYoZS5fc3RhdGljVHJlZXM9
W10pLGUuJHZub2RlPWk7dmFyIGE7dHJ5e2E9bi5jYWxsKGUuX3JlbmRlclByb3h5LGUuJGNyZWF0
ZUVsZW1lbnQpfWNhdGNoKHQpe2lmKGZpLmVycm9ySGFuZGxlcilmaS5lcnJvckhhbmRsZXIuY2Fs
bChudWxsLHQsZSk7ZWxzZXtpZihzaSgpKXRocm93IHQ7Y29uc29sZS5lcnJvcih0KX1hPWUuX3Zu
b2RlfXJldHVybiBhIGluc3RhbmNlb2YgTGl8fChhPU1pKCkpLGEucGFyZW50PWksYX0sZS5wcm90
b3R5cGUuX2g9VGUsZS5wcm90b3R5cGUuX3M9bixlLnByb3RvdHlwZS5fbj1yLGUucHJvdG90eXBl
Ll9lPU1pLGUucHJvdG90eXBlLl9xPWcsZS5wcm90b3R5cGUuX2k9eSxlLnByb3RvdHlwZS5fbT1m
dW5jdGlvbihlLG4pe3ZhciByPXRoaXMuX3N0YXRpY1RyZWVzW2VdO3JldHVybiByJiYhbj9BcnJh
eS5pc0FycmF5KHIpP29lKHIpOmllKHIpOihyPXRoaXMuX3N0YXRpY1RyZWVzW2VdPXRoaXMuJG9w
dGlvbnMuc3RhdGljUmVuZGVyRm5zW2VdLmNhbGwodGhpcy5fcmVuZGVyUHJveHkpLHQociwiX19z
dGF0aWNfXyIrZSwhMSkscil9LGUucHJvdG90eXBlLl9vPWZ1bmN0aW9uKGUsbixyKXtyZXR1cm4g
dChlLCJfX29uY2VfXyIrbisocj8iXyIrcjoiIiksITApLGV9O3ZhciBvPWZ1bmN0aW9uKGUpe3Jl
dHVybiBlfTtlLnByb3RvdHlwZS5fZj1mdW5jdGlvbihlKXtyZXR1cm4gQih0aGlzLiRvcHRpb25z
LCJmaWx0ZXJzIixlLCEwKXx8b30sZS5wcm90b3R5cGUuX2w9ZnVuY3Rpb24oZSx0KXt2YXIgbixy
LGksbyxhO2lmKEFycmF5LmlzQXJyYXkoZSkpZm9yKG49bmV3IEFycmF5KGUubGVuZ3RoKSxyPTAs
aT1lLmxlbmd0aDtyPGk7cisrKW5bcl09dChlW3JdLHIpO2Vsc2UgaWYoIm51bWJlciI9PXR5cGVv
ZiBlKWZvcihuPW5ldyBBcnJheShlKSxyPTA7cjxlO3IrKyluW3JdPXQocisxLHIpO2Vsc2UgaWYo
ZChlKSlmb3Iobz1PYmplY3Qua2V5cyhlKSxuPW5ldyBBcnJheShvLmxlbmd0aCkscj0wLGk9by5s
ZW5ndGg7cjxpO3IrKylhPW9bcl0sbltyXT10KGVbYV0sYSxyKTtyZXR1cm4gbn0sZS5wcm90b3R5
cGUuX3Q9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXMuJHNjb3BlZFNsb3RzW2VdO2lmKHIpcmV0
dXJuIHIobnx8e30pfHx0O3ZhciBpPXRoaXMuJHNsb3RzW2VdO3JldHVybiBpfHx0fSxlLnByb3Rv
dHlwZS5fYj1mdW5jdGlvbihlLHQsbixyKXtpZihuKWlmKGQobikpe0FycmF5LmlzQXJyYXkobikm
JihuPWgobikpO2Zvcih2YXIgaSBpbiBuKWlmKCJjbGFzcyI9PT1pfHwic3R5bGUiPT09aSllW2ld
PW5baV07ZWxzZXt2YXIgbz1yfHxmaS5tdXN0VXNlUHJvcCh0LGkpP2UuZG9tUHJvcHN8fChlLmRv
bVByb3BzPXt9KTplLmF0dHJzfHwoZS5hdHRycz17fSk7b1tpXT1uW2ldfX1lbHNlO3JldHVybiBl
fSxlLnByb3RvdHlwZS5faz1mdW5jdGlvbihlKXtyZXR1cm4gZmkua2V5Q29kZXNbZV19fWZ1bmN0
aW9uIExlKGUsdCl7dmFyIG49e307aWYoIWUpcmV0dXJuIG47Zm9yKHZhciByLGksbz1sZShlKXx8
W10sYT1bXSxzPTAsYz1vLmxlbmd0aDtzPGM7cysrKWlmKGk9b1tzXSwoaS5jb250ZXh0PT09dHx8
aS5mdW5jdGlvbmFsQ29udGV4dD09PXQpJiZpLmRhdGEmJihyPWkuZGF0YS5zbG90KSl7dmFyIHU9
bltyXXx8KG5bcl09W10pOyJ0ZW1wbGF0ZSI9PT1pLnRhZz91LnB1c2guYXBwbHkodSxpLmNoaWxk
cmVuKTp1LnB1c2goaSl9ZWxzZSBhLnB1c2goaSk7cmV0dXJuIGEubGVuZ3RoJiYoMSE9PWEubGVu
Z3RofHwiICIhPT1hWzBdLnRleHQmJiFhWzBdLmlzQ29tbWVudCkmJihuLmRlZmF1bHQ9YSksbn1m
dW5jdGlvbiBNZShlKXtlLl9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKTt2YXIgdD1lLiRvcHRp
b25zLl9wYXJlbnRMaXN0ZW5lcnMsbj11KGUuJG9uLGUpLHI9dShlLiRvZmYsZSk7ZS5fdXBkYXRl
TGlzdGVuZXJzPWZ1bmN0aW9uKHQsaSl7c2UodCxpfHx7fSxuLHIsZSl9LHQmJmUuX3VwZGF0ZUxp
c3RlbmVycyh0KX1mdW5jdGlvbiBQZShlKXtlLnByb3RvdHlwZS4kb249ZnVuY3Rpb24oZSx0KXt2
YXIgbj10aGlzO3JldHVybihuLl9ldmVudHNbZV18fChuLl9ldmVudHNbZV09W10pKS5wdXNoKHQp
LG59LGUucHJvdG90eXBlLiRvbmNlPWZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbigpe3IuJG9mZihl
LG4pLHQuYXBwbHkocixhcmd1bWVudHMpfXZhciByPXRoaXM7cmV0dXJuIG4uZm49dCxyLiRvbihl
LG4pLHJ9LGUucHJvdG90eXBlLiRvZmY9ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzO2lmKCFhcmd1
bWVudHMubGVuZ3RoKXJldHVybiBuLl9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSxuO3ZhciBy
PW4uX2V2ZW50c1tlXTtpZighcilyZXR1cm4gbjtpZigxPT09YXJndW1lbnRzLmxlbmd0aClyZXR1
cm4gbi5fZXZlbnRzW2VdPW51bGwsbjtmb3IodmFyIGksbz1yLmxlbmd0aDtvLS07KWlmKGk9cltv
XSxpPT09dHx8aS5mbj09PXQpe3Iuc3BsaWNlKG8sMSk7YnJlYWt9cmV0dXJuIG59LGUucHJvdG90
eXBlLiRlbWl0PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbj10Ll9ldmVudHNbZV07aWYobil7bj1u
Lmxlbmd0aD4xP2wobik6bjtmb3IodmFyIHI9bChhcmd1bWVudHMsMSksaT0wLG89bi5sZW5ndGg7
aTxvO2krKyluW2ldLmFwcGx5KHQscil9cmV0dXJuIHR9fWZ1bmN0aW9uIERlKGUpe2UucHJvdG90
eXBlLl9pbml0PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dC5fdWlkPUJpKyssdC5faXNWdWU9ITAs
ZSYmZS5faXNDb21wb25lbnQ/UmUodCxlKTp0LiRvcHRpb25zPVIoQmUodC5jb25zdHJ1Y3Rvciks
ZXx8e30sdCksdC5fcmVuZGVyUHJveHk9dCx0Ll9zZWxmPXQsaGUodCksTWUodCksbWUodCwiYmVm
b3JlQ3JlYXRlIiksVyh0KSxtZSh0LCJjcmVhdGVkIiksamUodCl9fWZ1bmN0aW9uIFJlKGUsdCl7
dmFyIG49ZS4kb3B0aW9ucz1PYmplY3QuY3JlYXRlKGUuY29uc3RydWN0b3Iub3B0aW9ucyk7bi5w
YXJlbnQ9dC5wYXJlbnQsbi5wcm9wc0RhdGE9dC5wcm9wc0RhdGEsbi5fcGFyZW50Vm5vZGU9dC5f
cGFyZW50Vm5vZGUsbi5fcGFyZW50TGlzdGVuZXJzPXQuX3BhcmVudExpc3RlbmVycyxuLl9yZW5k
ZXJDaGlsZHJlbj10Ll9yZW5kZXJDaGlsZHJlbixuLl9jb21wb25lbnRUYWc9dC5fY29tcG9uZW50
VGFnLHQucmVuZGVyJiYobi5yZW5kZXI9dC5yZW5kZXIsbi5zdGF0aWNSZW5kZXJGbnM9dC5zdGF0
aWNSZW5kZXJGbnMpfWZ1bmN0aW9uIEJlKGUpe3ZhciB0PWUub3B0aW9ucztpZihlLnN1cGVyKXt2
YXIgbj1lLnN1cGVyLm9wdGlvbnMscj1lLnN1cGVyT3B0aW9ucyxpPWUuZXh0ZW5kT3B0aW9ucztu
IT09ciYmKGUuc3VwZXJPcHRpb25zPW4saS5yZW5kZXI9dC5yZW5kZXIsaS5zdGF0aWNSZW5kZXJG
bnM9dC5zdGF0aWNSZW5kZXJGbnMsaS5fc2NvcGVJZD10Ll9zY29wZUlkLHQ9ZS5vcHRpb25zPVIo
bixpKSx0Lm5hbWUmJih0LmNvbXBvbmVudHNbdC5uYW1lXT1lKSl9cmV0dXJuIHR9ZnVuY3Rpb24g
SWUoZSl7dGhpcy5faW5pdChlKX1mdW5jdGlvbiBIZShlKXtlLnVzZT1mdW5jdGlvbihlKXtpZigh
ZS5pbnN0YWxsZWQpe3ZhciB0PWwoYXJndW1lbnRzLDEpO3JldHVybiB0LnVuc2hpZnQodGhpcyks
ImZ1bmN0aW9uIj09dHlwZW9mIGUuaW5zdGFsbD9lLmluc3RhbGwuYXBwbHkoZSx0KTplLmFwcGx5
KG51bGwsdCksZS5pbnN0YWxsZWQ9ITAsdGhpc319fWZ1bmN0aW9uIEZlKGUpe2UubWl4aW49ZnVu
Y3Rpb24oZSl7dGhpcy5vcHRpb25zPVIodGhpcy5vcHRpb25zLGUpfX1mdW5jdGlvbiBVZShlKXtl
LmNpZD0wO3ZhciB0PTE7ZS5leHRlbmQ9ZnVuY3Rpb24oZSl7ZT1lfHx7fTt2YXIgbj10aGlzLHI9
bi5jaWQsaT1lLl9DdG9yfHwoZS5fQ3Rvcj17fSk7aWYoaVtyXSlyZXR1cm4gaVtyXTt2YXIgbz1l
Lm5hbWV8fG4ub3B0aW9ucy5uYW1lLGE9ZnVuY3Rpb24oZSl7dGhpcy5faW5pdChlKX07cmV0dXJu
IGEucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobi5wcm90b3R5cGUpLGEucHJvdG90eXBlLmNvbnN0
cnVjdG9yPWEsYS5jaWQ9dCsrLGEub3B0aW9ucz1SKG4ub3B0aW9ucyxlKSxhLnN1cGVyPW4sYS5l
eHRlbmQ9bi5leHRlbmQsYS5taXhpbj1uLm1peGluLGEudXNlPW4udXNlLGZpLl9hc3NldFR5cGVz
LmZvckVhY2goZnVuY3Rpb24oZSl7YVtlXT1uW2VdfSksbyYmKGEub3B0aW9ucy5jb21wb25lbnRz
W29dPWEpLGEuc3VwZXJPcHRpb25zPW4ub3B0aW9ucyxhLmV4dGVuZE9wdGlvbnM9ZSxpW3JdPWEs
YX19ZnVuY3Rpb24gemUoZSl7ZmkuX2Fzc2V0VHlwZXMuZm9yRWFjaChmdW5jdGlvbih0KXtlW3Rd
PWZ1bmN0aW9uKGUsbil7cmV0dXJuIG4/KCJjb21wb25lbnQiPT09dCYmcChuKSYmKG4ubmFtZT1u
Lm5hbWV8fGUsbj10aGlzLm9wdGlvbnMuX2Jhc2UuZXh0ZW5kKG4pKSwiZGlyZWN0aXZlIj09PXQm
JiJmdW5jdGlvbiI9PXR5cGVvZiBuJiYobj17YmluZDpuLHVwZGF0ZTpufSksdGhpcy5vcHRpb25z
W3QrInMiXVtlXT1uLG4pOnRoaXMub3B0aW9uc1t0KyJzIl1bZV19fSl9ZnVuY3Rpb24gVmUoZSx0
KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/ZS5zcGxpdCgiLCIpLmluZGV4T2YodCk+LTE6ZS50
ZXN0KHQpfWZ1bmN0aW9uIEplKGUpe3ZhciB0PXt9O3QuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIGZp
fSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiY29uZmlnIix0KSxlLnV0aWw9JGksZS5zZXQ9VCxl
LmRlbGV0ZT1FLGUubmV4dFRpY2s9dWksZS5vcHRpb25zPU9iamVjdC5jcmVhdGUobnVsbCksZmku
X2Fzc2V0VHlwZXMuZm9yRWFjaChmdW5jdGlvbih0KXtlLm9wdGlvbnNbdCsicyJdPU9iamVjdC5j
cmVhdGUobnVsbCl9KSxlLm9wdGlvbnMuX2Jhc2U9ZSxmKGUub3B0aW9ucy5jb21wb25lbnRzLEZp
KSxIZShlKSxGZShlKSxVZShlKSx6ZShlKX1mdW5jdGlvbiBxZShlKXtmb3IodmFyIHQ9ZS5kYXRh
LG49ZSxyPWU7ci5jaGlsZDspcj1yLmNoaWxkLl92bm9kZSxyLmRhdGEmJih0PUtlKHIuZGF0YSx0
KSk7Zm9yKDtuPW4ucGFyZW50OyluLmRhdGEmJih0PUtlKHQsbi5kYXRhKSk7cmV0dXJuIFdlKHQp
fWZ1bmN0aW9uIEtlKGUsdCl7cmV0dXJue3N0YXRpY0NsYXNzOlplKGUuc3RhdGljQ2xhc3MsdC5z
dGF0aWNDbGFzcyksY2xhc3M6ZS5jbGFzcz9bZS5jbGFzcyx0LmNsYXNzXTp0LmNsYXNzfX1mdW5j
dGlvbiBXZShlKXt2YXIgdD1lLmNsYXNzLG49ZS5zdGF0aWNDbGFzcztyZXR1cm4gbnx8dD9aZShu
LEdlKHQpKToiIn1mdW5jdGlvbiBaZShlLHQpe3JldHVybiBlP3Q/ZSsiICIrdDplOnR8fCIifWZ1
bmN0aW9uIEdlKGUpe3ZhciB0PSIiO2lmKCFlKXJldHVybiB0O2lmKCJzdHJpbmciPT10eXBlb2Yg
ZSlyZXR1cm4gZTtpZihBcnJheS5pc0FycmF5KGUpKXtmb3IodmFyIG4scj0wLGk9ZS5sZW5ndGg7
cjxpO3IrKyllW3JdJiYobj1HZShlW3JdKSkmJih0Kz1uKyIgIik7cmV0dXJuIHQuc2xpY2UoMCwt
MSl9aWYoZChlKSl7Zm9yKHZhciBvIGluIGUpZVtvXSYmKHQrPW8rIiAiKTtyZXR1cm4gdC5zbGlj
ZSgwLC0xKX1yZXR1cm4gdH1mdW5jdGlvbiBZZShlKXtyZXR1cm4gdG8oZSk/InN2ZyI6Im1hdGgi
PT09ZT8ibWF0aCI6dm9pZCAwfWZ1bmN0aW9uIFFlKGUpe2lmKCFlaSlyZXR1cm4hMDtpZihybyhl
KSlyZXR1cm4hMTtpZihlPWUudG9Mb3dlckNhc2UoKSxudWxsIT1pb1tlXSlyZXR1cm4gaW9bZV07
dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChlKTtyZXR1cm4gZS5pbmRleE9mKCItIik+LTE/
aW9bZV09dC5jb25zdHJ1Y3Rvcj09PXdpbmRvdy5IVE1MVW5rbm93bkVsZW1lbnR8fHQuY29uc3Ry
dWN0b3I9PT13aW5kb3cuSFRNTEVsZW1lbnQ6aW9bZV09L0hUTUxVbmtub3duRWxlbWVudC8udGVz
dCh0LnRvU3RyaW5nKCkpfWZ1bmN0aW9uIFhlKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZSl7aWYo
ZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGUpLCFlKXJldHVybiBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKX1yZXR1cm4gZX1mdW5jdGlvbiBldChlLHQpe3ZhciBuPWRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoZSk7cmV0dXJuInNlbGVjdCIhPT1lP246KHQuZGF0YSYmdC5kYXRhLmF0dHJzJiYi
bXVsdGlwbGUiaW4gdC5kYXRhLmF0dHJzJiZuLnNldEF0dHJpYnV0ZSgibXVsdGlwbGUiLCJtdWx0
aXBsZSIpLG4pfWZ1bmN0aW9uIHR0KGUsdCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnRO
UyhHaVtlXSx0KX1mdW5jdGlvbiBudChlKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUo
ZSl9ZnVuY3Rpb24gcnQoZSl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQoZSl9ZnVuY3Rp
b24gaXQoZSx0LG4pe2UuaW5zZXJ0QmVmb3JlKHQsbil9ZnVuY3Rpb24gb3QoZSx0KXtlLnJlbW92
ZUNoaWxkKHQpfWZ1bmN0aW9uIGF0KGUsdCl7ZS5hcHBlbmRDaGlsZCh0KX1mdW5jdGlvbiBzdChl
KXtyZXR1cm4gZS5wYXJlbnROb2RlfWZ1bmN0aW9uIGN0KGUpe3JldHVybiBlLm5leHRTaWJsaW5n
fWZ1bmN0aW9uIHV0KGUpe3JldHVybiBlLnRhZ05hbWV9ZnVuY3Rpb24gbHQoZSx0KXtlLnRleHRD
b250ZW50PXR9ZnVuY3Rpb24gZnQoZSl7cmV0dXJuIGUuY2hpbGROb2Rlc31mdW5jdGlvbiBkdChl
LHQsbil7ZS5zZXRBdHRyaWJ1dGUodCxuKX1mdW5jdGlvbiBwdChlLHQpe3ZhciBuPWUuZGF0YS5y
ZWY7aWYobil7dmFyIHI9ZS5jb250ZXh0LGk9ZS5jaGlsZHx8ZS5lbG0sYT1yLiRyZWZzO3Q/QXJy
YXkuaXNBcnJheShhW25dKT9vKGFbbl0saSk6YVtuXT09PWkmJihhW25dPXZvaWQgMCk6ZS5kYXRh
LnJlZkluRm9yP0FycmF5LmlzQXJyYXkoYVtuXSkmJmFbbl0uaW5kZXhPZihpKTwwP2Fbbl0ucHVz
aChpKTphW25dPVtpXTphW25dPWl9fWZ1bmN0aW9uIGh0KGUpe3JldHVybiBudWxsPT1lfWZ1bmN0
aW9uIHZ0KGUpe3JldHVybiBudWxsIT1lfWZ1bmN0aW9uIG10KGUsdCl7cmV0dXJuIGUua2V5PT09
dC5rZXkmJmUudGFnPT09dC50YWcmJmUuaXNDb21tZW50PT09dC5pc0NvbW1lbnQmJiFlLmRhdGE9
PSF0LmRhdGF9ZnVuY3Rpb24gZ3QoZSx0LG4pe3ZhciByLGksbz17fTtmb3Iocj10O3I8PW47Kyty
KWk9ZVtyXS5rZXksdnQoaSkmJihvW2ldPXIpO3JldHVybiBvfWZ1bmN0aW9uIHl0KGUpe2Z1bmN0
aW9uIHQoZSl7cmV0dXJuIG5ldyBMaSgkLnRhZ05hbWUoZSkudG9Mb3dlckNhc2UoKSx7fSxbXSx2
b2lkIDAsZSl9ZnVuY3Rpb24gbihlLHQpe2Z1bmN0aW9uIG4oKXswPT09LS1uLmxpc3RlbmVycyYm
cihlKX1yZXR1cm4gbi5saXN0ZW5lcnM9dCxufWZ1bmN0aW9uIHIoZSl7dmFyIHQ9JC5wYXJlbnRO
b2RlKGUpO3QmJiQucmVtb3ZlQ2hpbGQodCxlKX1mdW5jdGlvbiBpKGUsdCxuKXt2YXIgcixpPWUu
ZGF0YTtpZihlLmlzUm9vdEluc2VydD0hbix2dChpKSYmKHZ0KHI9aS5ob29rKSYmdnQocj1yLmlu
aXQpJiZyKGUpLHZ0KHI9ZS5jaGlsZCkpKXJldHVybiB1KGUsdCksZS5lbG07dmFyIGE9ZS5jaGls
ZHJlbixzPWUudGFnO3JldHVybiB2dChzKT8oZS5lbG09ZS5ucz8kLmNyZWF0ZUVsZW1lbnROUyhl
Lm5zLHMpOiQuY3JlYXRlRWxlbWVudChzLGUpLGwoZSksbyhlLGEsdCksdnQoaSkmJmMoZSx0KSk6
ZS5pc0NvbW1lbnQ/ZS5lbG09JC5jcmVhdGVDb21tZW50KGUudGV4dCk6ZS5lbG09JC5jcmVhdGVU
ZXh0Tm9kZShlLnRleHQpLGUuZWxtfWZ1bmN0aW9uIG8oZSx0LG4pe2lmKEFycmF5LmlzQXJyYXko
dCkpZm9yKHZhciByPTA7cjx0Lmxlbmd0aDsrK3IpJC5hcHBlbmRDaGlsZChlLmVsbSxpKHRbcl0s
biwhMCkpO2Vsc2UgcyhlLnRleHQpJiYkLmFwcGVuZENoaWxkKGUuZWxtLCQuY3JlYXRlVGV4dE5v
ZGUoZS50ZXh0KSl9ZnVuY3Rpb24gYShlKXtmb3IoO2UuY2hpbGQ7KWU9ZS5jaGlsZC5fdm5vZGU7
cmV0dXJuIHZ0KGUudGFnKX1mdW5jdGlvbiBjKGUsdCl7Zm9yKHZhciBuPTA7bjx3LmNyZWF0ZS5s
ZW5ndGg7KytuKXcuY3JlYXRlW25dKHNvLGUpO189ZS5kYXRhLmhvb2ssdnQoXykmJihfLmNyZWF0
ZSYmXy5jcmVhdGUoc28sZSksXy5pbnNlcnQmJnQucHVzaChlKSl9ZnVuY3Rpb24gdShlLHQpe2Uu
ZGF0YS5wZW5kaW5nSW5zZXJ0JiZ0LnB1c2guYXBwbHkodCxlLmRhdGEucGVuZGluZ0luc2VydCks
ZS5lbG09ZS5jaGlsZC4kZWwsYShlKT8oYyhlLHQpLGwoZSkpOihwdChlKSx0LnB1c2goZSkpfWZ1
bmN0aW9uIGwoZSl7dmFyIHQ7dnQodD1lLmNvbnRleHQpJiZ2dCh0PXQuJG9wdGlvbnMuX3Njb3Bl
SWQpJiYkLnNldEF0dHJpYnV0ZShlLmVsbSx0LCIiKSx2dCh0PVBpKSYmdCE9PWUuY29udGV4dCYm
dnQodD10LiRvcHRpb25zLl9zY29wZUlkKSYmJC5zZXRBdHRyaWJ1dGUoZS5lbG0sdCwiIil9ZnVu
Y3Rpb24gZihlLHQsbixyLG8sYSl7Zm9yKDtyPD1vOysrcikkLmluc2VydEJlZm9yZShlLGkoblty
XSxhKSx0KX1mdW5jdGlvbiBkKGUpe3ZhciB0LG4scj1lLmRhdGE7aWYodnQocikpZm9yKHZ0KHQ9
ci5ob29rKSYmdnQodD10LmRlc3Ryb3kpJiZ0KGUpLHQ9MDt0PHcuZGVzdHJveS5sZW5ndGg7Kyt0
KXcuZGVzdHJveVt0XShlKTtpZih2dCh0PWUuY2hpbGRyZW4pKWZvcihuPTA7bjxlLmNoaWxkcmVu
Lmxlbmd0aDsrK24pZChlLmNoaWxkcmVuW25dKX1mdW5jdGlvbiBwKGUsdCxuLHIpe2Zvcig7bjw9
cjsrK24pe3ZhciBpPXRbbl07dnQoaSkmJih2dChpLnRhZyk/KGgoaSksZChpKSk6JC5yZW1vdmVD
aGlsZChlLGkuZWxtKSl9fWZ1bmN0aW9uIGgoZSx0KXtpZih0fHx2dChlLmRhdGEpKXt2YXIgaT13
LnJlbW92ZS5sZW5ndGgrMTtmb3IodD90Lmxpc3RlbmVycys9aTp0PW4oZS5lbG0saSksdnQoXz1l
LmNoaWxkKSYmdnQoXz1fLl92bm9kZSkmJnZ0KF8uZGF0YSkmJmgoXyx0KSxfPTA7Xzx3LnJlbW92
ZS5sZW5ndGg7KytfKXcucmVtb3ZlW19dKGUsdCk7dnQoXz1lLmRhdGEuaG9vaykmJnZ0KF89Xy5y
ZW1vdmUpP18oZSx0KTp0KCl9ZWxzZSByKGUuZWxtKX1mdW5jdGlvbiB2KGUsdCxuLHIsbyl7Zm9y
KHZhciBhLHMsYyx1LGw9MCxkPTAsaD10Lmxlbmd0aC0xLHY9dFswXSxnPXRbaF0seT1uLmxlbmd0
aC0xLF89blswXSxiPW5beV0sdz0hbztsPD1oJiZkPD15OylodCh2KT92PXRbKytsXTpodChnKT9n
PXRbLS1oXTptdCh2LF8pPyhtKHYsXyxyKSx2PXRbKytsXSxfPW5bKytkXSk6bXQoZyxiKT8obShn
LGIsciksZz10Wy0taF0sYj1uWy0teV0pOm10KHYsYik/KG0odixiLHIpLHcmJiQuaW5zZXJ0QmVm
b3JlKGUsdi5lbG0sJC5uZXh0U2libGluZyhnLmVsbSkpLHY9dFsrK2xdLGI9blstLXldKTptdChn
LF8pPyhtKGcsXyxyKSx3JiYkLmluc2VydEJlZm9yZShlLGcuZWxtLHYuZWxtKSxnPXRbLS1oXSxf
PW5bKytkXSk6KGh0KGEpJiYoYT1ndCh0LGwsaCkpLHM9dnQoXy5rZXkpP2FbXy5rZXldOm51bGws
aHQocyk/KCQuaW5zZXJ0QmVmb3JlKGUsaShfLHIpLHYuZWxtKSxfPW5bKytkXSk6KGM9dFtzXSxj
LnRhZyE9PV8udGFnPygkLmluc2VydEJlZm9yZShlLGkoXyxyKSx2LmVsbSksXz1uWysrZF0pOiht
KGMsXyxyKSx0W3NdPXZvaWQgMCx3JiYkLmluc2VydEJlZm9yZShlLF8uZWxtLHYuZWxtKSxfPW5b
KytkXSkpKTtsPmg/KHU9aHQoblt5KzFdKT9udWxsOm5beSsxXS5lbG0sZihlLHUsbixkLHkscikp
OmQ+eSYmcChlLHQsbCxoKX1mdW5jdGlvbiBtKGUsdCxuLHIpe2lmKGUhPT10KXtpZih0LmlzU3Rh
dGljJiZlLmlzU3RhdGljJiZ0LmtleT09PWUua2V5JiYodC5pc0Nsb25lZHx8dC5pc09uY2UpKXJl
dHVybiB0LmVsbT1lLmVsbSx2b2lkKHQuY2hpbGQ9ZS5jaGlsZCk7dmFyIGksbz10LmRhdGEscz12
dChvKTtzJiZ2dChpPW8uaG9vaykmJnZ0KGk9aS5wcmVwYXRjaCkmJmkoZSx0KTt2YXIgYz10LmVs
bT1lLmVsbSx1PWUuY2hpbGRyZW4sbD10LmNoaWxkcmVuO2lmKHMmJmEodCkpe2ZvcihpPTA7aTx3
LnVwZGF0ZS5sZW5ndGg7KytpKXcudXBkYXRlW2ldKGUsdCk7dnQoaT1vLmhvb2spJiZ2dChpPWku
dXBkYXRlKSYmaShlLHQpfWh0KHQudGV4dCk/dnQodSkmJnZ0KGwpP3UhPT1sJiZ2KGMsdSxsLG4s
cik6dnQobCk/KHZ0KGUudGV4dCkmJiQuc2V0VGV4dENvbnRlbnQoYywiIiksZihjLG51bGwsbCww
LGwubGVuZ3RoLTEsbikpOnZ0KHUpP3AoYyx1LDAsdS5sZW5ndGgtMSk6dnQoZS50ZXh0KSYmJC5z
ZXRUZXh0Q29udGVudChjLCIiKTplLnRleHQhPT10LnRleHQmJiQuc2V0VGV4dENvbnRlbnQoYyx0
LnRleHQpLHMmJnZ0KGk9by5ob29rKSYmdnQoaT1pLnBvc3RwYXRjaCkmJmkoZSx0KX19ZnVuY3Rp
b24gZyhlLHQsbil7aWYobiYmZS5wYXJlbnQpZS5wYXJlbnQuZGF0YS5wZW5kaW5nSW5zZXJ0PXQ7
ZWxzZSBmb3IodmFyIHI9MDtyPHQubGVuZ3RoOysrcil0W3JdLmRhdGEuaG9vay5pbnNlcnQodFty
XSl9ZnVuY3Rpb24geShlLHQsbil7dC5lbG09ZTt2YXIgcj10LnRhZyxpPXQuZGF0YSxhPXQuY2hp
bGRyZW47aWYodnQoaSkmJih2dChfPWkuaG9vaykmJnZ0KF89Xy5pbml0KSYmXyh0LCEwKSx2dChf
PXQuY2hpbGQpKSlyZXR1cm4gdSh0LG4pLCEwO2lmKHZ0KHIpKXtpZih2dChhKSl7dmFyIHM9JC5j
aGlsZE5vZGVzKGUpO2lmKHMubGVuZ3RoKXt2YXIgbD0hMDtpZihzLmxlbmd0aCE9PWEubGVuZ3Ro
KWw9ITE7ZWxzZSBmb3IodmFyIGY9MDtmPGEubGVuZ3RoO2YrKylpZigheShzW2ZdLGFbZl0sbikp
e2w9ITE7YnJlYWt9aWYoIWwpcmV0dXJuITF9ZWxzZSBvKHQsYSxuKX12dChpKSYmYyh0LG4pfXJl
dHVybiEwfXZhciBfLGIsdz17fSx4PWUubW9kdWxlcywkPWUubm9kZU9wcztmb3IoXz0wO188Y28u
bGVuZ3RoOysrXylmb3Iod1tjb1tfXV09W10sYj0wO2I8eC5sZW5ndGg7KytiKXZvaWQgMCE9PXhb
Yl1bY29bX11dJiZ3W2NvW19dXS5wdXNoKHhbYl1bY29bX11dKTtyZXR1cm4gZnVuY3Rpb24oZSxu
LHIsbyl7aWYoIW4pcmV0dXJuIHZvaWQoZSYmZChlKSk7dmFyIHMsYyx1PSExLGw9W107aWYoZSl7
dmFyIGY9dnQoZS5ub2RlVHlwZSk7aWYoIWYmJm10KGUsbikpbShlLG4sbCxvKTtlbHNle2lmKGYp
e2lmKDE9PT1lLm5vZGVUeXBlJiZlLmhhc0F0dHJpYnV0ZSgic2VydmVyLXJlbmRlcmVkIikmJihl
LnJlbW92ZUF0dHJpYnV0ZSgic2VydmVyLXJlbmRlcmVkIikscj0hMCksciYmeShlLG4sbCkpcmV0
dXJuIGcobixsLCEwKSxlO2U9dChlKX1pZihzPWUuZWxtLGM9JC5wYXJlbnROb2RlKHMpLGkobixs
KSxuLnBhcmVudCl7Zm9yKHZhciBoPW4ucGFyZW50O2g7KWguZWxtPW4uZWxtLGg9aC5wYXJlbnQ7
aWYoYShuKSlmb3IodmFyIHY9MDt2PHcuY3JlYXRlLmxlbmd0aDsrK3Ypdy5jcmVhdGVbdl0oc28s
bi5wYXJlbnQpfW51bGwhPT1jPygkLmluc2VydEJlZm9yZShjLG4uZWxtLCQubmV4dFNpYmxpbmco
cykpLHAoYyxbZV0sMCwwKSk6dnQoZS50YWcpJiZkKGUpfX1lbHNlIHU9ITAsaShuLGwpO3JldHVy
biBnKG4sbCx1KSxuLmVsbX19ZnVuY3Rpb24gX3QoZSx0KXtpZihlLmRhdGEuZGlyZWN0aXZlc3x8
dC5kYXRhLmRpcmVjdGl2ZXMpe3ZhciBuLHIsaSxvPWU9PT1zbyxhPWJ0KGUuZGF0YS5kaXJlY3Rp
dmVzLGUuY29udGV4dCkscz1idCh0LmRhdGEuZGlyZWN0aXZlcyx0LmNvbnRleHQpLGM9W10sdT1b
XTtmb3IobiBpbiBzKXI9YVtuXSxpPXNbbl0scj8oaS5vbGRWYWx1ZT1yLnZhbHVlLHh0KGksInVw
ZGF0ZSIsdCxlKSxpLmRlZiYmaS5kZWYuY29tcG9uZW50VXBkYXRlZCYmdS5wdXNoKGkpKTooeHQo
aSwiYmluZCIsdCxlKSxpLmRlZiYmaS5kZWYuaW5zZXJ0ZWQmJmMucHVzaChpKSk7aWYoYy5sZW5n
dGgpe3ZhciBsPWZ1bmN0aW9uKCl7Yy5mb3JFYWNoKGZ1bmN0aW9uKG4pe3h0KG4sImluc2VydGVk
Iix0LGUpfSl9O28/YWUodC5kYXRhLmhvb2t8fCh0LmRhdGEuaG9vaz17fSksImluc2VydCIsbCwi
ZGlyLWluc2VydCIpOmwoKX1pZih1Lmxlbmd0aCYmYWUodC5kYXRhLmhvb2t8fCh0LmRhdGEuaG9v
az17fSksInBvc3RwYXRjaCIsZnVuY3Rpb24oKXt1LmZvckVhY2goZnVuY3Rpb24obil7eHQobiwi
Y29tcG9uZW50VXBkYXRlZCIsdCxlKX0pfSwiZGlyLXBvc3RwYXRjaCIpLCFvKWZvcihuIGluIGEp
c1tuXXx8eHQoYVtuXSwidW5iaW5kIixlKX19ZnVuY3Rpb24gYnQoZSx0KXt2YXIgbj1PYmplY3Qu
Y3JlYXRlKG51bGwpO2lmKCFlKXJldHVybiBuO3ZhciByLGk7Zm9yKHI9MDtyPGUubGVuZ3RoO3Ir
KylpPWVbcl0saS5tb2RpZmllcnN8fChpLm1vZGlmaWVycz1sbyksblt3dChpKV09aSxpLmRlZj1C
KHQuJG9wdGlvbnMsImRpcmVjdGl2ZXMiLGkubmFtZSwhMCk7cmV0dXJuIG59ZnVuY3Rpb24gd3Qo
ZSl7cmV0dXJuIGUucmF3TmFtZXx8ZS5uYW1lKyIuIitPYmplY3Qua2V5cyhlLm1vZGlmaWVyc3x8
e30pLmpvaW4oIi4iKX1mdW5jdGlvbiB4dChlLHQsbixyKXt2YXIgaT1lLmRlZiYmZS5kZWZbdF07
aSYmaShuLmVsbSxlLG4scil9ZnVuY3Rpb24gJHQoZSx0KXtpZihlLmRhdGEuYXR0cnN8fHQuZGF0
YS5hdHRycyl7dmFyIG4scixpLG89dC5lbG0sYT1lLmRhdGEuYXR0cnN8fHt9LHM9dC5kYXRhLmF0
dHJzfHx7fTtzLl9fb2JfXyYmKHM9dC5kYXRhLmF0dHJzPWYoe30scykpO2ZvcihuIGluIHMpcj1z
W25dLGk9YVtuXSxpIT09ciYmQ3QobyxuLHIpO2ZvcihuIGluIGEpbnVsbD09c1tuXSYmKEtpKG4p
P28ucmVtb3ZlQXR0cmlidXRlTlMocWksV2kobikpOlZpKG4pfHxvLnJlbW92ZUF0dHJpYnV0ZShu
KSl9fWZ1bmN0aW9uIEN0KGUsdCxuKXtKaSh0KT9aaShuKT9lLnJlbW92ZUF0dHJpYnV0ZSh0KTpl
LnNldEF0dHJpYnV0ZSh0LHQpOlZpKHQpP2Uuc2V0QXR0cmlidXRlKHQsWmkobil8fCJmYWxzZSI9
PT1uPyJmYWxzZSI6InRydWUiKTpLaSh0KT9aaShuKT9lLnJlbW92ZUF0dHJpYnV0ZU5TKHFpLFdp
KHQpKTplLnNldEF0dHJpYnV0ZU5TKHFpLHQsbik6Wmkobik/ZS5yZW1vdmVBdHRyaWJ1dGUodCk6
ZS5zZXRBdHRyaWJ1dGUodCxuKX1mdW5jdGlvbiBBdChlLHQpe3ZhciBuPXQuZWxtLHI9dC5kYXRh
LGk9ZS5kYXRhO2lmKHIuc3RhdGljQ2xhc3N8fHIuY2xhc3N8fGkmJihpLnN0YXRpY0NsYXNzfHxp
LmNsYXNzKSl7dmFyIG89cWUodCksYT1uLl90cmFuc2l0aW9uQ2xhc3NlczthJiYobz1aZShvLEdl
KGEpKSksbyE9PW4uX3ByZXZDbGFzcyYmKG4uc2V0QXR0cmlidXRlKCJjbGFzcyIsbyksbi5fcHJl
dkNsYXNzPW8pfX1mdW5jdGlvbiBrdChlLHQpe2lmKGUuZGF0YS5vbnx8dC5kYXRhLm9uKXt2YXIg
bj10LmRhdGEub258fHt9LHI9ZS5kYXRhLm9ufHx7fSxpPXQuZWxtLl92X2FkZHx8KHQuZWxtLl92
X2FkZD1mdW5jdGlvbihlLG4scil7dC5lbG0uYWRkRXZlbnRMaXN0ZW5lcihlLG4scil9KSxvPXQu
ZWxtLl92X3JlbW92ZXx8KHQuZWxtLl92X3JlbW92ZT1mdW5jdGlvbihlLG4pe3QuZWxtLnJlbW92
ZUV2ZW50TGlzdGVuZXIoZSxuKX0pO3NlKG4scixpLG8sdC5jb250ZXh0KX19ZnVuY3Rpb24gT3Qo
ZSx0KXtpZihlLmRhdGEuZG9tUHJvcHN8fHQuZGF0YS5kb21Qcm9wcyl7dmFyIG4scixpPXQuZWxt
LG89ZS5kYXRhLmRvbVByb3BzfHx7fSxhPXQuZGF0YS5kb21Qcm9wc3x8e307YS5fX29iX18mJihh
PXQuZGF0YS5kb21Qcm9wcz1mKHt9LGEpKTtmb3IobiBpbiBvKW51bGw9PWFbbl0mJihpW25dPSIi
KTtmb3IobiBpbiBhKWlmKHI9YVtuXSwidGV4dENvbnRlbnQiIT09biYmImlubmVySFRNTCIhPT1u
fHwodC5jaGlsZHJlbiYmKHQuY2hpbGRyZW4ubGVuZ3RoPTApLHIhPT1vW25dKSlpZigidmFsdWUi
PT09bil7aS5fdmFsdWU9cjt2YXIgcz1udWxsPT1yPyIiOlN0cmluZyhyKTtpLnZhbHVlPT09c3x8
aS5jb21wb3Npbmd8fChpLnZhbHVlPXMpfWVsc2UgaVtuXT1yfX1mdW5jdGlvbiBTdChlKXt2YXIg
dD1UdChlLnN0eWxlKTtyZXR1cm4gZS5zdGF0aWNTdHlsZT9mKGUuc3RhdGljU3R5bGUsdCk6dH1m
dW5jdGlvbiBUdChlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9oKGUpOiJzdHJpbmciPT10eXBl
b2YgZT9nbyhlKTplfWZ1bmN0aW9uIEV0KGUsdCl7dmFyIG4scj17fTtpZih0KWZvcih2YXIgaT1l
O2kuY2hpbGQ7KWk9aS5jaGlsZC5fdm5vZGUsaS5kYXRhJiYobj1TdChpLmRhdGEpKSYmZihyLG4p
OyhuPVN0KGUuZGF0YSkpJiZmKHIsbik7Zm9yKHZhciBvPWU7bz1vLnBhcmVudDspby5kYXRhJiYo
bj1TdChvLmRhdGEpKSYmZihyLG4pO3JldHVybiByfWZ1bmN0aW9uIGp0KGUsdCl7dmFyIG49dC5k
YXRhLHI9ZS5kYXRhO2lmKG4uc3RhdGljU3R5bGV8fG4uc3R5bGV8fHIuc3RhdGljU3R5bGV8fHIu
c3R5bGUpe3ZhciBpLG8sYT10LmVsbSxzPWUuZGF0YS5zdGF0aWNTdHlsZSxjPWUuZGF0YS5zdHls
ZXx8e30sdT1zfHxjLGw9VHQodC5kYXRhLnN0eWxlKXx8e307dC5kYXRhLnN0eWxlPWwuX19vYl9f
P2Yoe30sbCk6bDt2YXIgZD1FdCh0LCEwKTtmb3IobyBpbiB1KW51bGw9PWRbb10mJl9vKGEsbywi
Iik7Zm9yKG8gaW4gZClpPWRbb10saSE9PXVbb10mJl9vKGEsbyxudWxsPT1pPyIiOmkpfX1mdW5j
dGlvbiBOdChlLHQpe2lmKHQmJnQudHJpbSgpKWlmKGUuY2xhc3NMaXN0KXQuaW5kZXhPZigiICIp
Pi0xP3Quc3BsaXQoL1xzKy8pLmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIGUuY2xhc3NMaXN0
LmFkZCh0KX0pOmUuY2xhc3NMaXN0LmFkZCh0KTtlbHNle3ZhciBuPSIgIitlLmdldEF0dHJpYnV0
ZSgiY2xhc3MiKSsiICI7bi5pbmRleE9mKCIgIit0KyIgIik8MCYmZS5zZXRBdHRyaWJ1dGUoImNs
YXNzIiwobit0KS50cmltKCkpfX1mdW5jdGlvbiBMdChlLHQpe2lmKHQmJnQudHJpbSgpKWlmKGUu
Y2xhc3NMaXN0KXQuaW5kZXhPZigiICIpPi0xP3Quc3BsaXQoL1xzKy8pLmZvckVhY2goZnVuY3Rp
b24odCl7cmV0dXJuIGUuY2xhc3NMaXN0LnJlbW92ZSh0KX0pOmUuY2xhc3NMaXN0LnJlbW92ZSh0
KTtlbHNle2Zvcih2YXIgbj0iICIrZS5nZXRBdHRyaWJ1dGUoImNsYXNzIikrIiAiLHI9IiAiK3Qr
IiAiO24uaW5kZXhPZihyKT49MDspbj1uLnJlcGxhY2UociwiICIpO2Uuc2V0QXR0cmlidXRlKCJj
bGFzcyIsbi50cmltKCkpfX1mdW5jdGlvbiBNdChlKXtFbyhmdW5jdGlvbigpe0VvKGUpfSl9ZnVu
Y3Rpb24gUHQoZSx0KXsoZS5fdHJhbnNpdGlvbkNsYXNzZXN8fChlLl90cmFuc2l0aW9uQ2xhc3Nl
cz1bXSkpLnB1c2godCksTnQoZSx0KX1mdW5jdGlvbiBEdChlLHQpe2UuX3RyYW5zaXRpb25DbGFz
c2VzJiZvKGUuX3RyYW5zaXRpb25DbGFzc2VzLHQpLEx0KGUsdCl9ZnVuY3Rpb24gUnQoZSx0LG4p
e3ZhciByPUJ0KGUsdCksaT1yLnR5cGUsbz1yLnRpbWVvdXQsYT1yLnByb3BDb3VudDtpZighaSly
ZXR1cm4gbigpO3ZhciBzPWk9PT1Dbz9PbzpUbyxjPTAsdT1mdW5jdGlvbigpe2UucmVtb3ZlRXZl
bnRMaXN0ZW5lcihzLGwpLG4oKX0sbD1mdW5jdGlvbih0KXt0LnRhcmdldD09PWUmJisrYz49YSYm
dSgpfTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YzxhJiZ1KCl9LG8rMSksZS5hZGRFdmVudExpc3Rl
bmVyKHMsbCl9ZnVuY3Rpb24gQnQoZSx0KXt2YXIgbixyPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KGUpLGk9cltrbysiRGVsYXkiXS5zcGxpdCgiLCAiKSxvPXJba28rIkR1cmF0aW9uIl0uc3BsaXQo
IiwgIiksYT1JdChpLG8pLHM9cltTbysiRGVsYXkiXS5zcGxpdCgiLCAiKSxjPXJbU28rIkR1cmF0
aW9uIl0uc3BsaXQoIiwgIiksdT1JdChzLGMpLGw9MCxmPTA7dD09PUNvP2E+MCYmKG49Q28sbD1h
LGY9by5sZW5ndGgpOnQ9PT1Bbz91PjAmJihuPUFvLGw9dSxmPWMubGVuZ3RoKToobD1NYXRoLm1h
eChhLHUpLG49bD4wP2E+dT9DbzpBbzpudWxsLGY9bj9uPT09Q28/by5sZW5ndGg6Yy5sZW5ndGg6
MCk7dmFyIGQ9bj09PUNvJiZqby50ZXN0KHJba28rIlByb3BlcnR5Il0pO3JldHVybnt0eXBlOm4s
dGltZW91dDpsLHByb3BDb3VudDpmLGhhc1RyYW5zZm9ybTpkfX1mdW5jdGlvbiBJdChlLHQpe2Zv
cig7ZS5sZW5ndGg8dC5sZW5ndGg7KWU9ZS5jb25jYXQoZSk7cmV0dXJuIE1hdGgubWF4LmFwcGx5
KG51bGwsdC5tYXAoZnVuY3Rpb24odCxuKXtyZXR1cm4gSHQodCkrSHQoZVtuXSl9KSl9ZnVuY3Rp
b24gSHQoZSl7cmV0dXJuIDFlMypOdW1iZXIoZS5zbGljZSgwLC0xKSl9ZnVuY3Rpb24gRnQoZSl7
dmFyIHQ9ZS5lbG07dC5fbGVhdmVDYiYmKHQuX2xlYXZlQ2IuY2FuY2VsbGVkPSEwLHQuX2xlYXZl
Q2IoKSk7dmFyIG49enQoZS5kYXRhLnRyYW5zaXRpb24pO2lmKG4mJiF0Ll9lbnRlckNiJiYxPT09
dC5ub2RlVHlwZSl7dmFyIHI9bi5jc3MsaT1uLnR5cGUsbz1uLmVudGVyQ2xhc3MsYT1uLmVudGVy
QWN0aXZlQ2xhc3Mscz1uLmFwcGVhckNsYXNzLGM9bi5hcHBlYXJBY3RpdmVDbGFzcyx1PW4uYmVm
b3JlRW50ZXIsbD1uLmVudGVyLGY9bi5hZnRlckVudGVyLGQ9bi5lbnRlckNhbmNlbGxlZCxwPW4u
YmVmb3JlQXBwZWFyLGg9bi5hcHBlYXIsdj1uLmFmdGVyQXBwZWFyLG09bi5hcHBlYXJDYW5jZWxs
ZWQsZz1QaS4kdm5vZGUseT1nJiZnLnBhcmVudD9nLnBhcmVudC5jb250ZXh0OlBpLF89IXkuX2lz
TW91bnRlZHx8IWUuaXNSb290SW5zZXJ0O2lmKCFffHxofHwiIj09PWgpe3ZhciBiPV8/czpvLHc9
Xz9jOmEseD1fP3B8fHU6dSwkPV8mJiJmdW5jdGlvbiI9PXR5cGVvZiBoP2g6bCxDPV8/dnx8Zjpm
LEE9Xz9tfHxkOmQsaz1yIT09ITEmJiFyaSxPPSQmJigkLl9sZW5ndGh8fCQubGVuZ3RoKT4xLFM9
dC5fZW50ZXJDYj1WdChmdW5jdGlvbigpe2smJkR0KHQsdyksUy5jYW5jZWxsZWQ/KGsmJkR0KHQs
YiksQSYmQSh0KSk6QyYmQyh0KSx0Ll9lbnRlckNiPW51bGx9KTtlLmRhdGEuc2hvd3x8YWUoZS5k
YXRhLmhvb2t8fChlLmRhdGEuaG9vaz17fSksImluc2VydCIsZnVuY3Rpb24oKXt2YXIgbj10LnBh
cmVudE5vZGUscj1uJiZuLl9wZW5kaW5nJiZuLl9wZW5kaW5nW2Uua2V5XTtyJiZyLnRhZz09PWUu
dGFnJiZyLmVsbS5fbGVhdmVDYiYmci5lbG0uX2xlYXZlQ2IoKSwkJiYkKHQsUyl9LCJ0cmFuc2l0
aW9uLWluc2VydCIpLHgmJngodCksayYmKFB0KHQsYiksUHQodCx3KSxNdChmdW5jdGlvbigpe0R0
KHQsYiksUy5jYW5jZWxsZWR8fE98fFJ0KHQsaSxTKX0pKSxlLmRhdGEuc2hvdyYmJCYmJCh0LFMp
LGt8fE98fFMoKX19fWZ1bmN0aW9uIFV0KGUsdCl7ZnVuY3Rpb24gbigpe20uY2FuY2VsbGVkfHwo
ZS5kYXRhLnNob3d8fCgoci5wYXJlbnROb2RlLl9wZW5kaW5nfHwoci5wYXJlbnROb2RlLl9wZW5k
aW5nPXt9KSlbZS5rZXldPWUpLHUmJnUociksaCYmKFB0KHIscyksUHQocixjKSxNdChmdW5jdGlv
bigpe0R0KHIscyksbS5jYW5jZWxsZWR8fHZ8fFJ0KHIsYSxtKX0pKSxsJiZsKHIsbSksaHx8dnx8
bSgpKX12YXIgcj1lLmVsbTtyLl9lbnRlckNiJiYoci5fZW50ZXJDYi5jYW5jZWxsZWQ9ITAsci5f
ZW50ZXJDYigpKTt2YXIgaT16dChlLmRhdGEudHJhbnNpdGlvbik7aWYoIWkpcmV0dXJuIHQoKTtp
Zighci5fbGVhdmVDYiYmMT09PXIubm9kZVR5cGUpe3ZhciBvPWkuY3NzLGE9aS50eXBlLHM9aS5s
ZWF2ZUNsYXNzLGM9aS5sZWF2ZUFjdGl2ZUNsYXNzLHU9aS5iZWZvcmVMZWF2ZSxsPWkubGVhdmUs
Zj1pLmFmdGVyTGVhdmUsZD1pLmxlYXZlQ2FuY2VsbGVkLHA9aS5kZWxheUxlYXZlLGg9byE9PSEx
JiYhcmksdj1sJiYobC5fbGVuZ3RofHxsLmxlbmd0aCk+MSxtPXIuX2xlYXZlQ2I9VnQoZnVuY3Rp
b24oKXtyLnBhcmVudE5vZGUmJnIucGFyZW50Tm9kZS5fcGVuZGluZyYmKHIucGFyZW50Tm9kZS5f
cGVuZGluZ1tlLmtleV09bnVsbCksaCYmRHQocixjKSxtLmNhbmNlbGxlZD8oaCYmRHQocixzKSxk
JiZkKHIpKToodCgpLGYmJmYocikpLHIuX2xlYXZlQ2I9bnVsbH0pO3A/cChuKTpuKCl9fWZ1bmN0
aW9uIHp0KGUpe2lmKGUpe2lmKCJvYmplY3QiPT10eXBlb2YgZSl7dmFyIHQ9e307cmV0dXJuIGUu
Y3NzIT09ITEmJmYodCxObyhlLm5hbWV8fCJ2IikpLGYodCxlKSx0fXJldHVybiJzdHJpbmciPT10
eXBlb2YgZT9ObyhlKTp2b2lkIDB9fWZ1bmN0aW9uIFZ0KGUpe3ZhciB0PSExO3JldHVybiBmdW5j
dGlvbigpe3R8fCh0PSEwLGUoKSl9fWZ1bmN0aW9uIEp0KGUsdCxuKXt2YXIgcj10LnZhbHVlLGk9
ZS5tdWx0aXBsZTtpZighaXx8QXJyYXkuaXNBcnJheShyKSl7Ci1mb3IodmFyIG8sYSxzPTAsYz1l
Lm9wdGlvbnMubGVuZ3RoO3M8YztzKyspaWYoYT1lLm9wdGlvbnNbc10saSlvPXkocixLdChhKSk+
LTEsYS5zZWxlY3RlZCE9PW8mJihhLnNlbGVjdGVkPW8pO2Vsc2UgaWYoZyhLdChhKSxyKSlyZXR1
cm4gdm9pZChlLnNlbGVjdGVkSW5kZXghPT1zJiYoZS5zZWxlY3RlZEluZGV4PXMpKTtpfHwoZS5z
ZWxlY3RlZEluZGV4PS0xKX19ZnVuY3Rpb24gcXQoZSx0KXtmb3IodmFyIG49MCxyPXQubGVuZ3Ro
O248cjtuKyspaWYoZyhLdCh0W25dKSxlKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBLdChl
KXtyZXR1cm4iX3ZhbHVlImluIGU/ZS5fdmFsdWU6ZS52YWx1ZX1mdW5jdGlvbiBXdChlKXtlLnRh
cmdldC5jb21wb3Npbmc9ITB9ZnVuY3Rpb24gWnQoZSl7ZS50YXJnZXQuY29tcG9zaW5nPSExLEd0
KGUudGFyZ2V0LCJpbnB1dCIpfWZ1bmN0aW9uIEd0KGUsdCl7dmFyIG49ZG9jdW1lbnQuY3JlYXRl
RXZlbnQoIkhUTUxFdmVudHMiKTtuLmluaXRFdmVudCh0LCEwLCEwKSxlLmRpc3BhdGNoRXZlbnQo
bil9ZnVuY3Rpb24gWXQoZSl7cmV0dXJuIWUuY2hpbGR8fGUuZGF0YSYmZS5kYXRhLnRyYW5zaXRp
b24/ZTpZdChlLmNoaWxkLl92bm9kZSl9ZnVuY3Rpb24gUXQoZSl7dmFyIHQ9ZSYmZS5jb21wb25l
bnRPcHRpb25zO3JldHVybiB0JiZ0LkN0b3Iub3B0aW9ucy5hYnN0cmFjdD9RdChwZSh0LmNoaWxk
cmVuKSk6ZX1mdW5jdGlvbiBYdChlKXt2YXIgdD17fSxuPWUuJG9wdGlvbnM7Zm9yKHZhciByIGlu
IG4ucHJvcHNEYXRhKXRbcl09ZVtyXTt2YXIgaT1uLl9wYXJlbnRMaXN0ZW5lcnM7Zm9yKHZhciBv
IGluIGkpdFtKcihvKV09aVtvXS5mbjtyZXR1cm4gdH1mdW5jdGlvbiBlbihlLHQpe3JldHVybi9c
ZC1rZWVwLWFsaXZlJC8udGVzdCh0LnRhZyk/ZSgia2VlcC1hbGl2ZSIpOm51bGx9ZnVuY3Rpb24g
dG4oZSl7Zm9yKDtlPWUucGFyZW50OylpZihlLmRhdGEudHJhbnNpdGlvbilyZXR1cm4hMH1mdW5j
dGlvbiBubihlKXtlLmVsbS5fbW92ZUNiJiZlLmVsbS5fbW92ZUNiKCksZS5lbG0uX2VudGVyQ2Im
JmUuZWxtLl9lbnRlckNiKCl9ZnVuY3Rpb24gcm4oZSl7ZS5kYXRhLm5ld1Bvcz1lLmVsbS5nZXRC
b3VuZGluZ0NsaWVudFJlY3QoKX1mdW5jdGlvbiBvbihlKXt2YXIgdD1lLmRhdGEucG9zLG49ZS5k
YXRhLm5ld1BvcyxyPXQubGVmdC1uLmxlZnQsaT10LnRvcC1uLnRvcDtpZihyfHxpKXtlLmRhdGEu
bW92ZWQ9ITA7dmFyIG89ZS5lbG0uc3R5bGU7by50cmFuc2Zvcm09by5XZWJraXRUcmFuc2Zvcm09
InRyYW5zbGF0ZSgiK3IrInB4LCIraSsicHgpIixvLnRyYW5zaXRpb25EdXJhdGlvbj0iMHMifX1m
dW5jdGlvbiBhbihlLHQpe3ZhciBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVy
biBuLmlubmVySFRNTD0nPGRpdiBhPSInK2UrJyI+JyxuLmlubmVySFRNTC5pbmRleE9mKHQpPjB9
ZnVuY3Rpb24gc24oZSl7cmV0dXJuIEpvPUpvfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KSxKby5pbm5lckhUTUw9ZSxKby50ZXh0Q29udGVudH1mdW5jdGlvbiBjbihlLHQpe3JldHVybiB0
JiYoZT1lLnJlcGxhY2UoRGEsIlxuIikpLGUucmVwbGFjZShNYSwiPCIpLnJlcGxhY2UoUGEsIj4i
KS5yZXBsYWNlKFJhLCImIikucmVwbGFjZShCYSwnIicpfWZ1bmN0aW9uIHVuKGUsdCl7ZnVuY3Rp
b24gbih0KXtmKz10LGU9ZS5zdWJzdHJpbmcodCl9ZnVuY3Rpb24gcigpe3ZhciB0PWUubWF0Y2go
WG8pO2lmKHQpe3ZhciByPXt0YWdOYW1lOnRbMV0sYXR0cnM6W10sc3RhcnQ6Zn07bih0WzBdLmxl
bmd0aCk7Zm9yKHZhciBpLG87IShpPWUubWF0Y2goZWEpKSYmKG89ZS5tYXRjaChHbykpOyluKG9b
MF0ubGVuZ3RoKSxyLmF0dHJzLnB1c2gobyk7aWYoaSlyZXR1cm4gci51bmFyeVNsYXNoPWlbMV0s
bihpWzBdLmxlbmd0aCksci5lbmQ9ZixyfX1mdW5jdGlvbiBpKGUpe3ZhciBuPWUudGFnTmFtZSxy
PWUudW5hcnlTbGFzaDt1JiYoInAiPT09cyYmZW8obikmJm8oIiIscyksWGkobikmJnM9PT1uJiZv
KCIiLG4pKTtmb3IodmFyIGk9bChuKXx8Imh0bWwiPT09biYmImhlYWQiPT09c3x8ISFyLGE9ZS5h
dHRycy5sZW5ndGgsZj1uZXcgQXJyYXkoYSksZD0wO2Q8YTtkKyspe3ZhciBwPWUuYXR0cnNbZF07
b2EmJnBbMF0uaW5kZXhPZignIiInKT09PS0xJiYoIiI9PT1wWzNdJiZkZWxldGUgcFszXSwiIj09
PXBbNF0mJmRlbGV0ZSBwWzRdLCIiPT09cFs1XSYmZGVsZXRlIHBbNV0pO3ZhciBoPXBbM118fHBb
NF18fHBbNV18fCIiO2ZbZF09e25hbWU6cFsxXSx2YWx1ZTpjbihoLHQuc2hvdWxkRGVjb2RlTmV3
bGluZXMpfX1pfHwoYy5wdXNoKHt0YWc6bixhdHRyczpmfSkscz1uLHI9IiIpLHQuc3RhcnQmJnQu
c3RhcnQobixmLGksZS5zdGFydCxlLmVuZCl9ZnVuY3Rpb24gbyhlLG4scixpKXt2YXIgbztpZihu
dWxsPT1yJiYocj1mKSxudWxsPT1pJiYoaT1mKSxuKXt2YXIgYT1uLnRvTG93ZXJDYXNlKCk7Zm9y
KG89Yy5sZW5ndGgtMTtvPj0wJiZjW29dLnRhZy50b0xvd2VyQ2FzZSgpIT09YTtvLS0pO31lbHNl
IG89MDtpZihvPj0wKXtmb3IodmFyIHU9Yy5sZW5ndGgtMTt1Pj1vO3UtLSl0LmVuZCYmdC5lbmQo
Y1t1XS50YWcscixpKTtjLmxlbmd0aD1vLHM9byYmY1tvLTFdLnRhZ31lbHNlImJyIj09PW4udG9M
b3dlckNhc2UoKT90LnN0YXJ0JiZ0LnN0YXJ0KG4sW10sITAscixpKToicCI9PT1uLnRvTG93ZXJD
YXNlKCkmJih0LnN0YXJ0JiZ0LnN0YXJ0KG4sW10sITEscixpKSx0LmVuZCYmdC5lbmQobixyLGkp
KX1mb3IodmFyIGEscyxjPVtdLHU9dC5leHBlY3RIVE1MLGw9dC5pc1VuYXJ5VGFnfHxZcixmPTA7
ZTspe2lmKGE9ZSxzJiZOYShzLHQuc2ZjLGMpKXt2YXIgZD1zLnRvTG93ZXJDYXNlKCkscD1MYVtk
XXx8KExhW2RdPW5ldyBSZWdFeHAoIihbXFxzXFxTXSo/KSg8LyIrZCsiW14+XSo+KSIsImkiKSks
aD0wLHY9ZS5yZXBsYWNlKHAsZnVuY3Rpb24oZSxuLHIpe3JldHVybiBoPXIubGVuZ3RoLCJzY3Jp
cHQiIT09ZCYmInN0eWxlIiE9PWQmJiJub3NjcmlwdCIhPT1kJiYobj1uLnJlcGxhY2UoLzwhLS0o
W1xzXFNdKj8pLS0+L2csIiQxIikucmVwbGFjZSgvPCFcW0NEQVRBXFsoW1xzXFNdKj8pXV0+L2cs
IiQxIikpLHQuY2hhcnMmJnQuY2hhcnMobiksIiJ9KTtmKz1lLmxlbmd0aC12Lmxlbmd0aCxlPXYs
bygiPC8iK2QrIj4iLGQsZi1oLGYpfWVsc2V7dmFyIG09ZS5pbmRleE9mKCI8Iik7aWYoMD09PW0p
e2lmKHJhLnRlc3QoZSkpe3ZhciBnPWUuaW5kZXhPZigiLS0+Iik7aWYoZz49MCl7bihnKzMpO2Nv
bnRpbnVlfX1pZihpYS50ZXN0KGUpKXt2YXIgeT1lLmluZGV4T2YoIl0+Iik7aWYoeT49MCl7bih5
KzIpO2NvbnRpbnVlfX12YXIgXz1lLm1hdGNoKG5hKTtpZihfKXtuKF9bMF0ubGVuZ3RoKTtjb250
aW51ZX12YXIgYj1lLm1hdGNoKHRhKTtpZihiKXt2YXIgdz1mO24oYlswXS5sZW5ndGgpLG8oYlsw
XSxiWzFdLHcsZik7Y29udGludWV9dmFyIHg9cigpO2lmKHgpe2koeCk7Y29udGludWV9fXZhciAk
PXZvaWQgMCxDPXZvaWQgMCxBPXZvaWQgMDtpZihtPjApe2ZvcihDPWUuc2xpY2UobSk7ISh0YS50
ZXN0KEMpfHxYby50ZXN0KEMpfHxyYS50ZXN0KEMpfHxpYS50ZXN0KEMpfHwoQT1DLmluZGV4T2Yo
IjwiLDEpLEE8MCkpOyltKz1BLEM9ZS5zbGljZShtKTskPWUuc3Vic3RyaW5nKDAsbSksbihtKX1t
PDAmJigkPWUsZT0iIiksdC5jaGFycyYmJCYmdC5jaGFycygkKX1pZihlPT09YSYmdC5jaGFycyl7
dC5jaGFycyhlKTticmVha319bygpfWZ1bmN0aW9uIGxuKGUpe2Z1bmN0aW9uIHQoKXsoYXx8KGE9
W10pKS5wdXNoKGUuc2xpY2UoaCxpKS50cmltKCkpLGg9aSsxfXZhciBuLHIsaSxvLGEscz0hMSxj
PSExLHU9ITEsbD0hMSxmPTAsZD0wLHA9MCxoPTA7Zm9yKGk9MDtpPGUubGVuZ3RoO2krKylpZihy
PW4sbj1lLmNoYXJDb2RlQXQoaSkscykzOT09PW4mJjkyIT09ciYmKHM9ITEpO2Vsc2UgaWYoYykz
ND09PW4mJjkyIT09ciYmKGM9ITEpO2Vsc2UgaWYodSk5Nj09PW4mJjkyIT09ciYmKHU9ITEpO2Vs
c2UgaWYobCk0Nz09PW4mJjkyIT09ciYmKGw9ITEpO2Vsc2UgaWYoMTI0IT09bnx8MTI0PT09ZS5j
aGFyQ29kZUF0KGkrMSl8fDEyND09PWUuY2hhckNvZGVBdChpLTEpfHxmfHxkfHxwKXN3aXRjaChu
KXtjYXNlIDM0OmM9ITA7YnJlYWs7Y2FzZSAzOTpzPSEwO2JyZWFrO2Nhc2UgOTY6dT0hMDticmVh
aztjYXNlIDQ3Omw9ITA7YnJlYWs7Y2FzZSA0MDpwKys7YnJlYWs7Y2FzZSA0MTpwLS07YnJlYWs7
Y2FzZSA5MTpkKys7YnJlYWs7Y2FzZSA5MzpkLS07YnJlYWs7Y2FzZSAxMjM6ZisrO2JyZWFrO2Nh
c2UgMTI1OmYtLX1lbHNlIHZvaWQgMD09PW8/KGg9aSsxLG89ZS5zbGljZSgwLGkpLnRyaW0oKSk6
dCgpO2lmKHZvaWQgMD09PW8/bz1lLnNsaWNlKDAsaSkudHJpbSgpOjAhPT1oJiZ0KCksYSlmb3Io
aT0wO2k8YS5sZW5ndGg7aSsrKW89Zm4obyxhW2ldKTtyZXR1cm4gb31mdW5jdGlvbiBmbihlLHQp
e3ZhciBuPXQuaW5kZXhPZigiKCIpO2lmKG48MClyZXR1cm4nX2YoIicrdCsnIikoJytlKyIpIjt2
YXIgcj10LnNsaWNlKDAsbiksaT10LnNsaWNlKG4rMSk7cmV0dXJuJ19mKCInK3IrJyIpKCcrZSsi
LCIraX1mdW5jdGlvbiBkbihlLHQpe3ZhciBuPXQ/RmEodCk6SWE7aWYobi50ZXN0KGUpKXtmb3Io
dmFyIHIsaSxvPVtdLGE9bi5sYXN0SW5kZXg9MDtyPW4uZXhlYyhlKTspe2k9ci5pbmRleCxpPmEm
Jm8ucHVzaChKU09OLnN0cmluZ2lmeShlLnNsaWNlKGEsaSkpKTt2YXIgcz1sbihyWzFdLnRyaW0o
KSk7by5wdXNoKCJfcygiK3MrIikiKSxhPWkrclswXS5sZW5ndGh9cmV0dXJuIGE8ZS5sZW5ndGgm
Jm8ucHVzaChKU09OLnN0cmluZ2lmeShlLnNsaWNlKGEpKSksby5qb2luKCIrIil9fWZ1bmN0aW9u
IHBuKGUpe2NvbnNvbGUuZXJyb3IoIltWdWUgcGFyc2VyXTogIitlKX1mdW5jdGlvbiBobihlLHQp
e3JldHVybiBlP2UubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlW3RdfSkuZmlsdGVyKGZ1bmN0aW9u
KGUpe3JldHVybiBlfSk6W119ZnVuY3Rpb24gdm4oZSx0LG4peyhlLnByb3BzfHwoZS5wcm9wcz1b
XSkpLnB1c2goe25hbWU6dCx2YWx1ZTpufSl9ZnVuY3Rpb24gbW4oZSx0LG4peyhlLmF0dHJzfHwo
ZS5hdHRycz1bXSkpLnB1c2goe25hbWU6dCx2YWx1ZTpufSl9ZnVuY3Rpb24gZ24oZSx0LG4scixp
LG8peyhlLmRpcmVjdGl2ZXN8fChlLmRpcmVjdGl2ZXM9W10pKS5wdXNoKHtuYW1lOnQscmF3TmFt
ZTpuLHZhbHVlOnIsYXJnOmksbW9kaWZpZXJzOm99KX1mdW5jdGlvbiB5bihlLHQsbixyLGkpe3Im
JnIuY2FwdHVyZSYmKGRlbGV0ZSByLmNhcHR1cmUsdD0iISIrdCk7dmFyIG87ciYmci5uYXRpdmU/
KGRlbGV0ZSByLm5hdGl2ZSxvPWUubmF0aXZlRXZlbnRzfHwoZS5uYXRpdmVFdmVudHM9e30pKTpv
PWUuZXZlbnRzfHwoZS5ldmVudHM9e30pO3ZhciBhPXt2YWx1ZTpuLG1vZGlmaWVyczpyfSxzPW9b
dF07QXJyYXkuaXNBcnJheShzKT9pP3MudW5zaGlmdChhKTpzLnB1c2goYSk6cz9vW3RdPWk/W2Es
c106W3MsYV06b1t0XT1hfWZ1bmN0aW9uIF9uKGUsdCxuKXt2YXIgcj1ibihlLCI6Iit0KXx8Ym4o
ZSwidi1iaW5kOiIrdCk7aWYobnVsbCE9cilyZXR1cm4gbG4ocik7aWYobiE9PSExKXt2YXIgaT1i
bihlLHQpO2lmKG51bGwhPWkpcmV0dXJuIEpTT04uc3RyaW5naWZ5KGkpfX1mdW5jdGlvbiBibihl
LHQpe3ZhciBuO2lmKG51bGwhPShuPWUuYXR0cnNNYXBbdF0pKWZvcih2YXIgcj1lLmF0dHJzTGlz
dCxpPTAsbz1yLmxlbmd0aDtpPG87aSsrKWlmKHJbaV0ubmFtZT09PXQpe3Iuc3BsaWNlKGksMSk7
YnJlYWt9cmV0dXJuIG59ZnVuY3Rpb24gd24oZSl7aWYoc2E9ZSxhYT1zYS5sZW5ndGgsdWE9bGE9
ZmE9MCxlLmluZGV4T2YoIlsiKTwwfHxlLmxhc3RJbmRleE9mKCJdIik8YWEtMSlyZXR1cm57ZXhw
OmUsaWR4Om51bGx9O2Zvcig7ISRuKCk7KWNhPXhuKCksQ24oY2EpP2tuKGNhKTo5MT09PWNhJiZB
bihjYSk7cmV0dXJue2V4cDplLnN1YnN0cmluZygwLGxhKSxpZHg6ZS5zdWJzdHJpbmcobGErMSxm
YSl9fWZ1bmN0aW9uIHhuKCl7cmV0dXJuIHNhLmNoYXJDb2RlQXQoKyt1YSl9ZnVuY3Rpb24gJG4o
KXtyZXR1cm4gdWE+PWFhfWZ1bmN0aW9uIENuKGUpe3JldHVybiAzND09PWV8fDM5PT09ZX1mdW5j
dGlvbiBBbihlKXt2YXIgdD0xO2ZvcihsYT11YTshJG4oKTspaWYoZT14bigpLENuKGUpKWtuKGUp
O2Vsc2UgaWYoOTE9PT1lJiZ0KyssOTM9PT1lJiZ0LS0sMD09PXQpe2ZhPXVhO2JyZWFrfX1mdW5j
dGlvbiBrbihlKXtmb3IodmFyIHQ9ZTshJG4oKSYmKGU9eG4oKSxlIT09dCk7KTt9ZnVuY3Rpb24g
T24oZSx0KXtkYT10Lndhcm58fHBuLHBhPXQuZ2V0VGFnTmFtZXNwYWNlfHxZcixoYT10Lm11c3RV
c2VQcm9wfHxZcix2YT10LmlzUHJlVGFnfHxZcixtYT1obih0Lm1vZHVsZXMsInByZVRyYW5zZm9y
bU5vZGUiKSxnYT1obih0Lm1vZHVsZXMsInRyYW5zZm9ybU5vZGUiKSx5YT1obih0Lm1vZHVsZXMs
InBvc3RUcmFuc2Zvcm1Ob2RlIiksX2E9dC5kZWxpbWl0ZXJzO3ZhciBuLHIsaT1bXSxvPXQucHJl
c2VydmVXaGl0ZXNwYWNlIT09ITEsYT0hMSxzPSExO3JldHVybiB1bihlLHtleHBlY3RIVE1MOnQu
ZXhwZWN0SFRNTCxpc1VuYXJ5VGFnOnQuaXNVbmFyeVRhZyxzaG91bGREZWNvZGVOZXdsaW5lczp0
LnNob3VsZERlY29kZU5ld2xpbmVzLHN0YXJ0OmZ1bmN0aW9uKGUsbyxjKXtmdW5jdGlvbiB1KGUp
e312YXIgbD1yJiZyLm5zfHxwYShlKTtuaSYmInN2ZyI9PT1sJiYobz1KbihvKSk7dmFyIGY9e3R5
cGU6MSx0YWc6ZSxhdHRyc0xpc3Q6byxhdHRyc01hcDpVbihvKSxwYXJlbnQ6cixjaGlsZHJlbjpb
XX07bCYmKGYubnM9bCksVm4oZikmJiFzaSgpJiYoZi5mb3JiaWRkZW49ITApO2Zvcih2YXIgZD0w
O2Q8bWEubGVuZ3RoO2QrKyltYVtkXShmLHQpO2lmKGF8fChTbihmKSxmLnByZSYmKGE9ITApKSx2
YShmLnRhZykmJihzPSEwKSxhKVRuKGYpO2Vsc2V7Tm4oZiksTG4oZiksRG4oZiksRW4oZiksZi5w
bGFpbj0hZi5rZXkmJiFvLmxlbmd0aCxqbihmKSxSbihmKSxCbihmKTtmb3IodmFyIHA9MDtwPGdh
Lmxlbmd0aDtwKyspZ2FbcF0oZix0KTtJbihmKX1pZihuP2kubGVuZ3RofHxuLmlmJiYoZi5lbHNl
aWZ8fGYuZWxzZSkmJih1KGYpLFBuKG4se2V4cDpmLmVsc2VpZixibG9jazpmfSkpOihuPWYsdShu
KSksciYmIWYuZm9yYmlkZGVuKWlmKGYuZWxzZWlmfHxmLmVsc2UpTW4oZixyKTtlbHNlIGlmKGYu
c2xvdFNjb3BlKXtyLnBsYWluPSExO3ZhciBoPWYuc2xvdFRhcmdldHx8ImRlZmF1bHQiOyhyLnNj
b3BlZFNsb3RzfHwoci5zY29wZWRTbG90cz17fSkpW2hdPWZ9ZWxzZSByLmNoaWxkcmVuLnB1c2go
ZiksZi5wYXJlbnQ9cjtjfHwocj1mLGkucHVzaChmKSk7Zm9yKHZhciB2PTA7djx5YS5sZW5ndGg7
disrKXlhW3ZdKGYsdCl9LGVuZDpmdW5jdGlvbigpe3ZhciBlPWlbaS5sZW5ndGgtMV0sdD1lLmNo
aWxkcmVuW2UuY2hpbGRyZW4ubGVuZ3RoLTFdO3QmJjM9PT10LnR5cGUmJiIgIj09PXQudGV4dCYm
ZS5jaGlsZHJlbi5wb3AoKSxpLmxlbmd0aC09MSxyPWlbaS5sZW5ndGgtMV0sZS5wcmUmJihhPSEx
KSx2YShlLnRhZykmJihzPSExKX0sY2hhcnM6ZnVuY3Rpb24oZSl7aWYociYmKCFuaXx8InRleHRh
cmVhIiE9PXIudGFnfHxyLmF0dHJzTWFwLnBsYWNlaG9sZGVyIT09ZSkmJihlPXN8fGUudHJpbSgp
P1phKGUpOm8mJnIuY2hpbGRyZW4ubGVuZ3RoPyIgIjoiIikpe3ZhciB0OyFhJiYiICIhPT1lJiYo
dD1kbihlLF9hKSk/ci5jaGlsZHJlbi5wdXNoKHt0eXBlOjIsZXhwcmVzc2lvbjp0LHRleHQ6ZX0p
OnIuY2hpbGRyZW4ucHVzaCh7dHlwZTozLHRleHQ6ZX0pfX19KSxufWZ1bmN0aW9uIFNuKGUpe251
bGwhPWJuKGUsInYtcHJlIikmJihlLnByZT0hMCl9ZnVuY3Rpb24gVG4oZSl7dmFyIHQ9ZS5hdHRy
c0xpc3QubGVuZ3RoO2lmKHQpZm9yKHZhciBuPWUuYXR0cnM9bmV3IEFycmF5KHQpLHI9MDtyPHQ7
cisrKW5bcl09e25hbWU6ZS5hdHRyc0xpc3Rbcl0ubmFtZSx2YWx1ZTpKU09OLnN0cmluZ2lmeShl
LmF0dHJzTGlzdFtyXS52YWx1ZSl9O2Vsc2UgZS5wcmV8fChlLnBsYWluPSEwKX1mdW5jdGlvbiBF
bihlKXt2YXIgdD1fbihlLCJrZXkiKTt0JiYoZS5rZXk9dCl9ZnVuY3Rpb24gam4oZSl7dmFyIHQ9
X24oZSwicmVmIik7dCYmKGUucmVmPXQsZS5yZWZJbkZvcj1IbihlKSl9ZnVuY3Rpb24gTm4oZSl7
dmFyIHQ7aWYodD1ibihlLCJ2LWZvciIpKXt2YXIgbj10Lm1hdGNoKHphKTtpZighbilyZXR1cm47
ZS5mb3I9blsyXS50cmltKCk7dmFyIHI9blsxXS50cmltKCksaT1yLm1hdGNoKFZhKTtpPyhlLmFs
aWFzPWlbMV0udHJpbSgpLGUuaXRlcmF0b3IxPWlbMl0udHJpbSgpLGlbM10mJihlLml0ZXJhdG9y
Mj1pWzNdLnRyaW0oKSkpOmUuYWxpYXM9cn19ZnVuY3Rpb24gTG4oZSl7dmFyIHQ9Ym4oZSwidi1p
ZiIpO2lmKHQpZS5pZj10LFBuKGUse2V4cDp0LGJsb2NrOmV9KTtlbHNle251bGwhPWJuKGUsInYt
ZWxzZSIpJiYoZS5lbHNlPSEwKTt2YXIgbj1ibihlLCJ2LWVsc2UtaWYiKTtuJiYoZS5lbHNlaWY9
bil9fWZ1bmN0aW9uIE1uKGUsdCl7dmFyIG49em4odC5jaGlsZHJlbik7biYmbi5pZiYmUG4obix7
ZXhwOmUuZWxzZWlmLGJsb2NrOmV9KX1mdW5jdGlvbiBQbihlLHQpe2UuY29uZGl0aW9uc3x8KGUu
Y29uZGl0aW9ucz1bXSksZS5jb25kaXRpb25zLnB1c2godCl9ZnVuY3Rpb24gRG4oZSl7dmFyIHQ9
Ym4oZSwidi1vbmNlIik7bnVsbCE9dCYmKGUub25jZT0hMCl9ZnVuY3Rpb24gUm4oZSl7aWYoInNs
b3QiPT09ZS50YWcpZS5zbG90TmFtZT1fbihlLCJuYW1lIik7ZWxzZXt2YXIgdD1fbihlLCJzbG90
Iik7dCYmKGUuc2xvdFRhcmdldD0nIiInPT09dD8nImRlZmF1bHQiJzp0KSwidGVtcGxhdGUiPT09
ZS50YWcmJihlLnNsb3RTY29wZT1ibihlLCJzY29wZSIpKX19ZnVuY3Rpb24gQm4oZSl7dmFyIHQ7
KHQ9X24oZSwiaXMiKSkmJihlLmNvbXBvbmVudD10KSxudWxsIT1ibihlLCJpbmxpbmUtdGVtcGxh
dGUiKSYmKGUuaW5saW5lVGVtcGxhdGU9ITApfWZ1bmN0aW9uIEluKGUpe3ZhciB0LG4scixpLG8s
YSxzLGMsdT1lLmF0dHJzTGlzdDtmb3IodD0wLG49dS5sZW5ndGg7dDxuO3QrKylpZihyPWk9dVt0
XS5uYW1lLG89dVt0XS52YWx1ZSxVYS50ZXN0KHIpKWlmKGUuaGFzQmluZGluZ3M9ITAscz1Gbihy
KSxzJiYocj1yLnJlcGxhY2UoV2EsIiIpKSxKYS50ZXN0KHIpKXI9ci5yZXBsYWNlKEphLCIiKSxv
PWxuKG8pLHMmJihzLnByb3AmJihjPSEwLHI9SnIociksImlubmVySHRtbCI9PT1yJiYocj0iaW5u
ZXJIVE1MIikpLHMuY2FtZWwmJihyPUpyKHIpKSksY3x8aGEoZS50YWcscik/dm4oZSxyLG8pOm1u
KGUscixvKTtlbHNlIGlmKHFhLnRlc3Qocikpcj1yLnJlcGxhY2UocWEsIiIpLHluKGUscixvLHMp
O2Vsc2V7cj1yLnJlcGxhY2UoVWEsIiIpO3ZhciBsPXIubWF0Y2goS2EpO2wmJihhPWxbMV0pJiYo
cj1yLnNsaWNlKDAsLShhLmxlbmd0aCsxKSkpLGduKGUscixpLG8sYSxzKX1lbHNle21uKGUscixK
U09OLnN0cmluZ2lmeShvKSl9fWZ1bmN0aW9uIEhuKGUpe2Zvcih2YXIgdD1lO3Q7KXtpZih2b2lk
IDAhPT10LmZvcilyZXR1cm4hMDt0PXQucGFyZW50fXJldHVybiExfWZ1bmN0aW9uIEZuKGUpe3Zh
ciB0PWUubWF0Y2goV2EpO2lmKHQpe3ZhciBuPXt9O3JldHVybiB0LmZvckVhY2goZnVuY3Rpb24o
ZSl7bltlLnNsaWNlKDEpXT0hMH0pLG59fWZ1bmN0aW9uIFVuKGUpe2Zvcih2YXIgdD17fSxuPTAs
cj1lLmxlbmd0aDtuPHI7bisrKXRbZVtuXS5uYW1lXT1lW25dLnZhbHVlO3JldHVybiB0fWZ1bmN0
aW9uIHpuKGUpe2Zvcih2YXIgdD1lLmxlbmd0aDt0LS07KWlmKGVbdF0udGFnKXJldHVybiBlW3Rd
fWZ1bmN0aW9uIFZuKGUpe3JldHVybiJzdHlsZSI9PT1lLnRhZ3x8InNjcmlwdCI9PT1lLnRhZyYm
KCFlLmF0dHJzTWFwLnR5cGV8fCJ0ZXh0L2phdmFzY3JpcHQiPT09ZS5hdHRyc01hcC50eXBlKX1m
dW5jdGlvbiBKbihlKXtmb3IodmFyIHQ9W10sbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25d
O0dhLnRlc3Qoci5uYW1lKXx8KHIubmFtZT1yLm5hbWUucmVwbGFjZShZYSwiIiksdC5wdXNoKHIp
KX1yZXR1cm4gdH1mdW5jdGlvbiBxbihlLHQpe2UmJihiYT1RYSh0LnN0YXRpY0tleXN8fCIiKSx3
YT10LmlzUmVzZXJ2ZWRUYWd8fGZ1bmN0aW9uKCl7cmV0dXJuITF9LFduKGUpLFpuKGUsITEpKX1m
dW5jdGlvbiBLbihlKXtyZXR1cm4gaSgidHlwZSx0YWcsYXR0cnNMaXN0LGF0dHJzTWFwLHBsYWlu
LHBhcmVudCxjaGlsZHJlbixhdHRycyIrKGU/IiwiK2U6IiIpKX1mdW5jdGlvbiBXbihlKXtpZihl
LnN0YXRpYz1ZbihlKSwxPT09ZS50eXBlKXtpZighd2EoZS50YWcpJiYic2xvdCIhPT1lLnRhZyYm
bnVsbD09ZS5hdHRyc01hcFsiaW5saW5lLXRlbXBsYXRlIl0pcmV0dXJuO2Zvcih2YXIgdD0wLG49
ZS5jaGlsZHJlbi5sZW5ndGg7dDxuO3QrKyl7dmFyIHI9ZS5jaGlsZHJlblt0XTtXbihyKSxyLnN0
YXRpY3x8KGUuc3RhdGljPSExKX19fWZ1bmN0aW9uIFpuKGUsdCl7aWYoMT09PWUudHlwZSl7aWYo
KGUuc3RhdGljfHxlLm9uY2UpJiYoZS5zdGF0aWNJbkZvcj10KSxlLnN0YXRpYyYmZS5jaGlsZHJl
bi5sZW5ndGgmJigxIT09ZS5jaGlsZHJlbi5sZW5ndGh8fDMhPT1lLmNoaWxkcmVuWzBdLnR5cGUp
KXJldHVybiB2b2lkKGUuc3RhdGljUm9vdD0hMCk7aWYoZS5zdGF0aWNSb290PSExLGUuY2hpbGRy
ZW4pZm9yKHZhciBuPTAscj1lLmNoaWxkcmVuLmxlbmd0aDtuPHI7bisrKVpuKGUuY2hpbGRyZW5b
bl0sdHx8ISFlLmZvcik7ZS5jb25kaXRpb25zJiZHbihlLmNvbmRpdGlvbnMsdCl9fWZ1bmN0aW9u
IEduKGUsdCl7Zm9yKHZhciBuPTEscj1lLmxlbmd0aDtuPHI7bisrKVpuKGVbbl0uYmxvY2ssdCl9
ZnVuY3Rpb24gWW4oZSl7cmV0dXJuIDIhPT1lLnR5cGUmJigzPT09ZS50eXBlfHwhKCFlLnByZSYm
KGUuaGFzQmluZGluZ3N8fGUuaWZ8fGUuZm9yfHxVcihlLnRhZyl8fCF3YShlLnRhZyl8fFFuKGUp
fHwhT2JqZWN0LmtleXMoZSkuZXZlcnkoYmEpKSkpfWZ1bmN0aW9uIFFuKGUpe2Zvcig7ZS5wYXJl
bnQ7KXtpZihlPWUucGFyZW50LCJ0ZW1wbGF0ZSIhPT1lLnRhZylyZXR1cm4hMTtpZihlLmZvcily
ZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBYbihlLHQpe3ZhciBuPXQ/Im5hdGl2ZU9uOnsiOiJv
bjp7Ijtmb3IodmFyIHIgaW4gZSluKz0nIicrcisnIjonK2VyKHIsZVtyXSkrIiwiO3JldHVybiBu
LnNsaWNlKDAsLTEpKyJ9In1mdW5jdGlvbiBlcihlLHQpe2lmKHQpe2lmKEFycmF5LmlzQXJyYXko
dCkpcmV0dXJuIlsiK3QubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBlcihlLHQpfSkuam9pbigiLCIp
KyJdIjtpZih0Lm1vZGlmaWVycyl7dmFyIG49IiIscj1bXSxpPXJzLnRlc3QoZSk7Zm9yKHZhciBv
IGluIHQubW9kaWZpZXJzKW5zW29dP24rPW5zW29dOmkmJmlzW29dP24rPWlzW29dOnIucHVzaChv
KTtyLmxlbmd0aCYmKG49dHIocikrbik7dmFyIGE9ZXMudGVzdCh0LnZhbHVlKT90LnZhbHVlKyIo
JGV2ZW50KSI6dC52YWx1ZTtyZXR1cm4iZnVuY3Rpb24oJGV2ZW50KXsiK24rYSsifSJ9cmV0dXJu
IFhhLnRlc3QodC52YWx1ZSl8fGVzLnRlc3QodC52YWx1ZSk/dC52YWx1ZToiZnVuY3Rpb24oJGV2
ZW50KXsiK3QudmFsdWUrIn0ifXJldHVybiJmdW5jdGlvbigpe30ifWZ1bmN0aW9uIHRyKGUpe3Zh
ciB0PTE9PT1lLmxlbmd0aD9ucihlWzBdKTpBcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtd
LGUubWFwKG5yKSk7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/ImlmKCIrdC5tYXAoZnVuY3Rpb24o
ZSl7cmV0dXJuIiRldmVudC5rZXlDb2RlIT09IitlfSkuam9pbigiJiYiKSsiKXJldHVybjsiOiJp
ZigkZXZlbnQua2V5Q29kZSE9PSIrdCsiKXJldHVybjsifWZ1bmN0aW9uIG5yKGUpe3JldHVybiBw
YXJzZUludChlLDEwKXx8dHNbZV18fCJfaygiK0pTT04uc3RyaW5naWZ5KGUpKyIpIn1mdW5jdGlv
biBycihlLHQpe2Uud3JhcERhdGE9ZnVuY3Rpb24obil7cmV0dXJuIl9iKCIrbisiLCciK2UudGFn
KyInLCIrdC52YWx1ZSsodC5tb2RpZmllcnMmJnQubW9kaWZpZXJzLnByb3A/Iix0cnVlIjoiIikr
IikifX1mdW5jdGlvbiBpcihlLHQpe3ZhciBuPWthLHI9a2E9W10saT1PYTtPYT0wLFNhPXQseGE9
dC53YXJufHxwbiwkYT1obih0Lm1vZHVsZXMsInRyYW5zZm9ybUNvZGUiKSxDYT1obih0Lm1vZHVs
ZXMsImdlbkRhdGEiKSxBYT10LmRpcmVjdGl2ZXN8fHt9O3ZhciBvPWU/b3IoZSk6J19oKCJkaXYi
KSc7cmV0dXJuIGthPW4sT2E9aSx7cmVuZGVyOiJ3aXRoKHRoaXMpe3JldHVybiAiK28rIn0iLHN0
YXRpY1JlbmRlckZuczpyfX1mdW5jdGlvbiBvcihlKXtpZihlLnN0YXRpY1Jvb3QmJiFlLnN0YXRp
Y1Byb2Nlc3NlZClyZXR1cm4gYXIoZSk7aWYoZS5vbmNlJiYhZS5vbmNlUHJvY2Vzc2VkKXJldHVy
biBzcihlKTtpZihlLmZvciYmIWUuZm9yUHJvY2Vzc2VkKXJldHVybiBscihlKTtpZihlLmlmJiYh
ZS5pZlByb2Nlc3NlZClyZXR1cm4gY3IoZSk7aWYoInRlbXBsYXRlIiE9PWUudGFnfHxlLnNsb3RU
YXJnZXQpe2lmKCJzbG90Ij09PWUudGFnKXJldHVybiBfcihlKTt2YXIgdDtpZihlLmNvbXBvbmVu
dCl0PWJyKGUuY29tcG9uZW50LGUpO2Vsc2V7dmFyIG49ZS5wbGFpbj92b2lkIDA6ZnIoZSkscj1l
LmlubGluZVRlbXBsYXRlP251bGw6bXIoZSk7dD0iX2goJyIrZS50YWcrIiciKyhuPyIsIituOiIi
KSsocj8iLCIrcjoiIikrIikifWZvcih2YXIgaT0wO2k8JGEubGVuZ3RoO2krKyl0PSRhW2ldKGUs
dCk7cmV0dXJuIHR9cmV0dXJuIG1yKGUpfHwidm9pZCAwIn1mdW5jdGlvbiBhcihlKXtyZXR1cm4g
ZS5zdGF0aWNQcm9jZXNzZWQ9ITAsa2EucHVzaCgid2l0aCh0aGlzKXtyZXR1cm4gIitvcihlKSsi
fSIpLCJfbSgiKyhrYS5sZW5ndGgtMSkrKGUuc3RhdGljSW5Gb3I/Iix0cnVlIjoiIikrIikifWZ1
bmN0aW9uIHNyKGUpe2lmKGUub25jZVByb2Nlc3NlZD0hMCxlLmlmJiYhZS5pZlByb2Nlc3NlZCly
ZXR1cm4gY3IoZSk7aWYoZS5zdGF0aWNJbkZvcil7Zm9yKHZhciB0PSIiLG49ZS5wYXJlbnQ7bjsp
e2lmKG4uZm9yKXt0PW4ua2V5O2JyZWFrfW49bi5wYXJlbnR9cmV0dXJuIHQ/Il9vKCIrb3IoZSkr
IiwiK09hKysgKyh0PyIsIit0OiIiKSsiKSI6b3IoZSl9cmV0dXJuIGFyKGUpfWZ1bmN0aW9uIGNy
KGUpe3JldHVybiBlLmlmUHJvY2Vzc2VkPSEwLHVyKGUuY29uZGl0aW9ucyl9ZnVuY3Rpb24gdXIo
ZSl7ZnVuY3Rpb24gdChlKXtyZXR1cm4gZS5vbmNlP3NyKGUpOm9yKGUpfWlmKCFlLmxlbmd0aCly
ZXR1cm4iX2UoKSI7dmFyIG49ZS5zaGlmdCgpO3JldHVybiBuLmV4cD8iKCIrbi5leHArIik/Iit0
KG4uYmxvY2spKyI6Iit1cihlKToiIit0KG4uYmxvY2spfWZ1bmN0aW9uIGxyKGUpe3ZhciB0PWUu
Zm9yLG49ZS5hbGlhcyxyPWUuaXRlcmF0b3IxPyIsIitlLml0ZXJhdG9yMToiIixpPWUuaXRlcmF0
b3IyPyIsIitlLml0ZXJhdG9yMjoiIjtyZXR1cm4gZS5mb3JQcm9jZXNzZWQ9ITAsIl9sKCgiK3Qr
IiksZnVuY3Rpb24oIituK3IraSsiKXtyZXR1cm4gIitvcihlKSsifSkifWZ1bmN0aW9uIGZyKGUp
e3ZhciB0PSJ7IixuPWRyKGUpO24mJih0Kz1uKyIsIiksZS5rZXkmJih0Kz0ia2V5OiIrZS5rZXkr
IiwiKSxlLnJlZiYmKHQrPSJyZWY6IitlLnJlZisiLCIpLGUucmVmSW5Gb3ImJih0Kz0icmVmSW5G
b3I6dHJ1ZSwiKSxlLmNvbXBvbmVudCYmKHQrPSd0YWc6IicrZS50YWcrJyIsJyk7Zm9yKHZhciBy
PTA7cjxDYS5sZW5ndGg7cisrKXQrPUNhW3JdKGUpO2lmKGUuYXR0cnMmJih0Kz0iYXR0cnM6eyIr
d3IoZS5hdHRycykrIn0sIiksZS5wcm9wcyYmKHQrPSJkb21Qcm9wczp7Iit3cihlLnByb3BzKSsi
fSwiKSxlLmV2ZW50cyYmKHQrPVhuKGUuZXZlbnRzKSsiLCIpLGUubmF0aXZlRXZlbnRzJiYodCs9
WG4oZS5uYXRpdmVFdmVudHMsITApKyIsIiksZS5zbG90VGFyZ2V0JiYodCs9InNsb3Q6IitlLnNs
b3RUYXJnZXQrIiwiKSxlLnNjb3BlZFNsb3RzJiYodCs9aHIoZS5zY29wZWRTbG90cykrIiwiKSxl
LmlubGluZVRlbXBsYXRlKXt2YXIgaT1wcihlKTtpJiYodCs9aSsiLCIpfXJldHVybiB0PXQucmVw
bGFjZSgvLCQvLCIiKSsifSIsZS53cmFwRGF0YSYmKHQ9ZS53cmFwRGF0YSh0KSksdH1mdW5jdGlv
biBkcihlKXt2YXIgdD1lLmRpcmVjdGl2ZXM7aWYodCl7dmFyIG4scixpLG8sYT0iZGlyZWN0aXZl
czpbIixzPSExO2ZvcihuPTAscj10Lmxlbmd0aDtuPHI7bisrKXtpPXRbbl0sbz0hMDt2YXIgYz1B
YVtpLm5hbWVdfHxvc1tpLm5hbWVdO2MmJihvPSEhYyhlLGkseGEpKSxvJiYocz0hMCxhKz0ne25h
bWU6IicraS5uYW1lKyciLHJhd05hbWU6IicraS5yYXdOYW1lKyciJysoaS52YWx1ZT8iLHZhbHVl
OigiK2kudmFsdWUrIiksZXhwcmVzc2lvbjoiK0pTT04uc3RyaW5naWZ5KGkudmFsdWUpOiIiKSso
aS5hcmc/Jyxhcmc6IicraS5hcmcrJyInOiIiKSsoaS5tb2RpZmllcnM/Iixtb2RpZmllcnM6IitK
U09OLnN0cmluZ2lmeShpLm1vZGlmaWVycyk6IiIpKyJ9LCIpfXJldHVybiBzP2Euc2xpY2UoMCwt
MSkrIl0iOnZvaWQgMH19ZnVuY3Rpb24gcHIoZSl7dmFyIHQ9ZS5jaGlsZHJlblswXTtpZigxPT09
dC50eXBlKXt2YXIgbj1pcih0LFNhKTtyZXR1cm4iaW5saW5lVGVtcGxhdGU6e3JlbmRlcjpmdW5j
dGlvbigpeyIrbi5yZW5kZXIrIn0sc3RhdGljUmVuZGVyRm5zOlsiK24uc3RhdGljUmVuZGVyRm5z
Lm1hcChmdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24oKXsiK2UrIn0ifSkuam9pbigiLCIpKyJd
fSJ9fWZ1bmN0aW9uIGhyKGUpe3JldHVybiJzY29wZWRTbG90czp7IitPYmplY3Qua2V5cyhlKS5t
YXAoZnVuY3Rpb24odCl7cmV0dXJuIHZyKHQsZVt0XSl9KS5qb2luKCIsIikrIn0ifWZ1bmN0aW9u
IHZyKGUsdCl7cmV0dXJuIGUrIjpmdW5jdGlvbigiK1N0cmluZyh0LmF0dHJzTWFwLnNjb3BlKSsi
KXtyZXR1cm4gIisoInRlbXBsYXRlIj09PXQudGFnP21yKHQpfHwidm9pZCAwIjpvcih0KSkrIn0i
fWZ1bmN0aW9uIG1yKGUpe2lmKGUuY2hpbGRyZW4ubGVuZ3RoKXJldHVybiJbIitlLmNoaWxkcmVu
Lm1hcChncikuam9pbigiLCIpKyJdIn1mdW5jdGlvbiBncihlKXtyZXR1cm4gMT09PWUudHlwZT9v
cihlKTp5cihlKX1mdW5jdGlvbiB5cihlKXtyZXR1cm4gMj09PWUudHlwZT9lLmV4cHJlc3Npb246
eHIoSlNPTi5zdHJpbmdpZnkoZS50ZXh0KSl9ZnVuY3Rpb24gX3IoZSl7dmFyIHQ9ZS5zbG90TmFt
ZXx8JyJkZWZhdWx0Iicsbj1tcihlKTtyZXR1cm4iX3QoIit0KyhuPyIsIituOiIiKSsoZS5hdHRy
cz8obj8iIjoiLG51bGwiKSsiLHsiK2UuYXR0cnMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBKcihl
Lm5hbWUpKyI6IitlLnZhbHVlfSkuam9pbigiLCIpKyJ9IjoiIikrIikifWZ1bmN0aW9uIGJyKGUs
dCl7dmFyIG49dC5pbmxpbmVUZW1wbGF0ZT9udWxsOm1yKHQpO3JldHVybiJfaCgiK2UrIiwiK2Zy
KHQpKyhuPyIsIituOiIiKSsiKSJ9ZnVuY3Rpb24gd3IoZSl7Zm9yKHZhciB0PSIiLG49MDtuPGUu
bGVuZ3RoO24rKyl7dmFyIHI9ZVtuXTt0Kz0nIicrci5uYW1lKyciOicreHIoci52YWx1ZSkrIiwi
fXJldHVybiB0LnNsaWNlKDAsLTEpfWZ1bmN0aW9uIHhyKGUpe3JldHVybiBlLnJlcGxhY2UoL1x1
MjAyOC9nLCJcXHUyMDI4IikucmVwbGFjZSgvXHUyMDI5L2csIlxcdTIwMjkiKX1mdW5jdGlvbiAk
cihlLHQpe3ZhciBuPU9uKGUudHJpbSgpLHQpO3FuKG4sdCk7dmFyIHI9aXIobix0KTtyZXR1cm57
YXN0Om4scmVuZGVyOnIucmVuZGVyLHN0YXRpY1JlbmRlckZuczpyLnN0YXRpY1JlbmRlckZuc319
ZnVuY3Rpb24gQ3IoZSx0KXt2YXIgbj0odC53YXJufHxwbixibihlLCJjbGFzcyIpKTtuJiYoZS5z
dGF0aWNDbGFzcz1KU09OLnN0cmluZ2lmeShuKSk7dmFyIHI9X24oZSwiY2xhc3MiLCExKTtyJiYo
ZS5jbGFzc0JpbmRpbmc9cil9ZnVuY3Rpb24gQXIoZSl7dmFyIHQ9IiI7cmV0dXJuIGUuc3RhdGlj
Q2xhc3MmJih0Kz0ic3RhdGljQ2xhc3M6IitlLnN0YXRpY0NsYXNzKyIsIiksZS5jbGFzc0JpbmRp
bmcmJih0Kz0iY2xhc3M6IitlLmNsYXNzQmluZGluZysiLCIpLHR9ZnVuY3Rpb24ga3IoZSx0KXt2
YXIgbj0odC53YXJufHxwbixibihlLCJzdHlsZSIpKTtpZihuKXtlLnN0YXRpY1N0eWxlPUpTT04u
c3RyaW5naWZ5KGdvKG4pKX12YXIgcj1fbihlLCJzdHlsZSIsITEpO3ImJihlLnN0eWxlQmluZGlu
Zz1yKX1mdW5jdGlvbiBPcihlKXt2YXIgdD0iIjtyZXR1cm4gZS5zdGF0aWNTdHlsZSYmKHQrPSJz
dGF0aWNTdHlsZToiK2Uuc3RhdGljU3R5bGUrIiwiKSxlLnN0eWxlQmluZGluZyYmKHQrPSJzdHls
ZTooIitlLnN0eWxlQmluZGluZysiKSwiKSx0fWZ1bmN0aW9uIFNyKGUsdCxuKXtUYT1uO3ZhciBy
PXQudmFsdWUsaT10Lm1vZGlmaWVycyxvPWUudGFnLGE9ZS5hdHRyc01hcC50eXBlO3JldHVybiJz
ZWxlY3QiPT09bz9OcihlLHIsaSk6ImlucHV0Ij09PW8mJiJjaGVja2JveCI9PT1hP1RyKGUscixp
KToiaW5wdXQiPT09byYmInJhZGlvIj09PWE/RXIoZSxyLGkpOmpyKGUscixpKSwhMH1mdW5jdGlv
biBUcihlLHQsbil7dmFyIHI9biYmbi5udW1iZXIsaT1fbihlLCJ2YWx1ZSIpfHwibnVsbCIsbz1f
bihlLCJ0cnVlLXZhbHVlIil8fCJ0cnVlIixhPV9uKGUsImZhbHNlLXZhbHVlIil8fCJmYWxzZSI7
dm4oZSwiY2hlY2tlZCIsIkFycmF5LmlzQXJyYXkoIit0KyIpP19pKCIrdCsiLCIraSsiKT4tMTpf
cSgiK3QrIiwiK28rIikiKSx5bihlLCJjaGFuZ2UiLCJ2YXIgJCRhPSIrdCsiLCQkZWw9JGV2ZW50
LnRhcmdldCwkJGM9JCRlbC5jaGVja2VkPygiK28rIik6KCIrYSsiKTtpZihBcnJheS5pc0FycmF5
KCQkYSkpe3ZhciAkJHY9Iisocj8iX24oIitpKyIpIjppKSsiLCQkaT1faSgkJGEsJCR2KTtpZigk
JGMpeyQkaTwwJiYoIit0KyI9JCRhLmNvbmNhdCgkJHYpKX1lbHNleyQkaT4tMSYmKCIrdCsiPSQk
YS5zbGljZSgwLCQkaSkuY29uY2F0KCQkYS5zbGljZSgkJGkrMSkpKX19ZWxzZXsiK3QrIj0kJGN9
IixudWxsLCEwKX1mdW5jdGlvbiBFcihlLHQsbil7dmFyIHI9biYmbi5udW1iZXIsaT1fbihlLCJ2
YWx1ZSIpfHwibnVsbCI7aT1yPyJfbigiK2krIikiOmksdm4oZSwiY2hlY2tlZCIsIl9xKCIrdCsi
LCIraSsiKSIpLHluKGUsImNoYW5nZSIsTHIodCxpKSxudWxsLCEwKX1mdW5jdGlvbiBqcihlLHQs
bil7dmFyIHI9ZS5hdHRyc01hcC50eXBlLGk9bnx8e30sbz1pLmxhenksYT1pLm51bWJlcixzPWku
dHJpbSxjPW98fG5pJiYicmFuZ2UiPT09cj8iY2hhbmdlIjoiaW5wdXQiLHU9IW8mJiJyYW5nZSIh
PT1yLGw9ImlucHV0Ij09PWUudGFnfHwidGV4dGFyZWEiPT09ZS50YWcsZj1sPyIkZXZlbnQudGFy
Z2V0LnZhbHVlIisocz8iLnRyaW0oKSI6IiIpOnM/Iih0eXBlb2YgJGV2ZW50ID09PSAnc3RyaW5n
JyA/ICRldmVudC50cmltKCkgOiAkZXZlbnQpIjoiJGV2ZW50IjtmPWF8fCJudW1iZXIiPT09cj8i
X24oIitmKyIpIjpmO3ZhciBkPUxyKHQsZik7bCYmdSYmKGQ9ImlmKCRldmVudC50YXJnZXQuY29t
cG9zaW5nKXJldHVybjsiK2QpLHZuKGUsInZhbHVlIixsPyJfcygiK3QrIikiOiIoIit0KyIpIiks
eW4oZSxjLGQsbnVsbCwhMCl9ZnVuY3Rpb24gTnIoZSx0LG4pe3ZhciByPW4mJm4ubnVtYmVyLGk9
J0FycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbCgkZXZlbnQudGFyZ2V0Lm9wdGlvbnMsZnVuY3Rp
b24obyl7cmV0dXJuIG8uc2VsZWN0ZWR9KS5tYXAoZnVuY3Rpb24obyl7dmFyIHZhbCA9ICJfdmFs
dWUiIGluIG8gPyBvLl92YWx1ZSA6IG8udmFsdWU7cmV0dXJuICcrKHI/Il9uKHZhbCkiOiJ2YWwi
KSsifSkiKyhudWxsPT1lLmF0dHJzTWFwLm11bHRpcGxlPyJbMF0iOiIiKSxvPUxyKHQsaSk7eW4o
ZSwiY2hhbmdlIixvLG51bGwsITApfWZ1bmN0aW9uIExyKGUsdCl7dmFyIG49d24oZSk7cmV0dXJu
IG51bGw9PT1uLmlkeD9lKyI9Iit0OiJ2YXIgJCRleHAgPSAiK24uZXhwKyIsICQkaWR4ID0gIitu
LmlkeCsiO2lmICghQXJyYXkuaXNBcnJheSgkJGV4cCkpeyIrZSsiPSIrdCsifWVsc2V7JCRleHAu
c3BsaWNlKCQkaWR4LCAxLCAiK3QrIil9In1mdW5jdGlvbiBNcihlLHQpe3QudmFsdWUmJnZuKGUs
InRleHRDb250ZW50IiwiX3MoIit0LnZhbHVlKyIpIil9ZnVuY3Rpb24gUHIoZSx0KXt0LnZhbHVl
JiZ2bihlLCJpbm5lckhUTUwiLCJfcygiK3QudmFsdWUrIikiKX1mdW5jdGlvbiBEcihlLHQpe3Jl
dHVybiB0PXQ/ZihmKHt9LGZzKSx0KTpmcywkcihlLHQpfWZ1bmN0aW9uIFJyKGUsdCxuKXt2YXIg
cj0odCYmdC53YXJufHxkaSx0JiZ0LmRlbGltaXRlcnM/U3RyaW5nKHQuZGVsaW1pdGVycykrZTpl
KTtpZihsc1tyXSlyZXR1cm4gbHNbcl07dmFyIGk9e30sbz1EcihlLHQpO2kucmVuZGVyPUJyKG8u
cmVuZGVyKTt2YXIgYT1vLnN0YXRpY1JlbmRlckZucy5sZW5ndGg7aS5zdGF0aWNSZW5kZXJGbnM9
bmV3IEFycmF5KGEpO2Zvcih2YXIgcz0wO3M8YTtzKyspaS5zdGF0aWNSZW5kZXJGbnNbc109QnIo
by5zdGF0aWNSZW5kZXJGbnNbc10pO3JldHVybiBsc1tyXT1pfWZ1bmN0aW9uIEJyKGUpe3RyeXty
ZXR1cm4gbmV3IEZ1bmN0aW9uKGUpfWNhdGNoKGUpe3JldHVybiB2fX1mdW5jdGlvbiBJcihlKXtp
ZihlLm91dGVySFRNTClyZXR1cm4gZS5vdXRlckhUTUw7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7cmV0dXJuIHQuYXBwZW5kQ2hpbGQoZS5jbG9uZU5vZGUoITApKSx0LmlubmVy
SFRNTH12YXIgSHIsRnIsVXI9aSgic2xvdCxjb21wb25lbnQiLCEwKSx6cj1PYmplY3QucHJvdG90
eXBlLmhhc093blByb3BlcnR5LFZyPS8tKFx3KS9nLEpyPWMoZnVuY3Rpb24oZSl7cmV0dXJuIGUu
cmVwbGFjZShWcixmdW5jdGlvbihlLHQpe3JldHVybiB0P3QudG9VcHBlckNhc2UoKToiIn0pfSks
cXI9YyhmdW5jdGlvbihlKXtyZXR1cm4gZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnNsaWNl
KDEpfSksS3I9LyhbXi1dKShbQS1aXSkvZyxXcj1jKGZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxh
Y2UoS3IsIiQxLSQyIikucmVwbGFjZShLciwiJDEtJDIiKS50b0xvd2VyQ2FzZSgpfSksWnI9T2Jq
ZWN0LnByb3RvdHlwZS50b1N0cmluZyxHcj0iW29iamVjdCBPYmplY3RdIixZcj1mdW5jdGlvbigp
e3JldHVybiExfSxRcj0vW15cdy4kXS8sWHI9Il9fcHJvdG9fXyJpbnt9LGVpPSJ1bmRlZmluZWQi
IT10eXBlb2Ygd2luZG93JiYiW29iamVjdCBPYmplY3RdIiE9PU9iamVjdC5wcm90b3R5cGUudG9T
dHJpbmcuY2FsbCh3aW5kb3cpLHRpPWVpJiZ3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xv
d2VyQ2FzZSgpLG5pPXRpJiYvbXNpZXx0cmlkZW50Ly50ZXN0KHRpKSxyaT10aSYmdGkuaW5kZXhP
ZigibXNpZSA5LjAiKT4wLGlpPXRpJiZ0aS5pbmRleE9mKCJlZGdlLyIpPjAsb2k9dGkmJnRpLmlu
ZGV4T2YoImFuZHJvaWQiKT4wLGFpPXRpJiYvaXBob25lfGlwYWR8aXBvZHxpb3MvLnRlc3QodGkp
LHNpPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PUhyJiYoSHI9IWVpJiYidW5kZWZpbmVkIiE9
dHlwZW9mIHQmJiJzZXJ2ZXIiPT09dC5wcm9jZXNzLmVudi5WVUVfRU5WKSxIcn0sY2k9ZWkmJndp
bmRvdy5fX1ZVRV9ERVZUT09MU19HTE9CQUxfSE9PS19fLHVpPWZ1bmN0aW9uKCl7ZnVuY3Rpb24g
ZSgpe3I9ITE7dmFyIGU9bi5zbGljZSgwKTtuLmxlbmd0aD0wO2Zvcih2YXIgdD0wO3Q8ZS5sZW5n
dGg7dCsrKWVbdF0oKX12YXIgdCxuPVtdLHI9ITE7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBQcm9t
aXNlJiZ4KFByb21pc2UpKXt2YXIgaT1Qcm9taXNlLnJlc29sdmUoKTt0PWZ1bmN0aW9uKCl7aS50
aGVuKGUpLGFpJiZzZXRUaW1lb3V0KHYpfX1lbHNlIGlmKCJ1bmRlZmluZWQiPT10eXBlb2YgTXV0
YXRpb25PYnNlcnZlcnx8IXgoTXV0YXRpb25PYnNlcnZlcikmJiJbb2JqZWN0IE11dGF0aW9uT2Jz
ZXJ2ZXJDb25zdHJ1Y3Rvcl0iIT09TXV0YXRpb25PYnNlcnZlci50b1N0cmluZygpKXQ9ZnVuY3Rp
b24oKXtzZXRUaW1lb3V0KGUsMCl9O2Vsc2V7dmFyIG89MSxhPW5ldyBNdXRhdGlvbk9ic2VydmVy
KGUpLHM9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKG8pKTthLm9ic2VydmUocyx7Y2hh
cmFjdGVyRGF0YTohMH0pLHQ9ZnVuY3Rpb24oKXtvPShvKzEpJTIscy5kYXRhPVN0cmluZyhvKX19
cmV0dXJuIGZ1bmN0aW9uKGUsaSl7dmFyIG87aWYobi5wdXNoKGZ1bmN0aW9uKCl7ZSYmZS5jYWxs
KGkpLG8mJm8oaSl9KSxyfHwocj0hMCx0KCkpLCFlJiYidW5kZWZpbmVkIiE9dHlwZW9mIFByb21p
c2UpcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUpe289ZX0pfX0oKTtGcj0idW5kZWZpbmVk
IiE9dHlwZW9mIFNldCYmeChTZXQpP1NldDpmdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXt0aGlzLnNl
dD1PYmplY3QuY3JlYXRlKG51bGwpfXJldHVybiBlLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24oZSl7
cmV0dXJuIHZvaWQgMCE9PXRoaXMuc2V0W2VdfSxlLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oZSl7
dGhpcy5zZXRbZV09MX0sZS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLnNldD1PYmpl
Y3QuY3JlYXRlKG51bGwpfSxlfSgpO3ZhciBsaSxmaT17b3B0aW9uTWVyZ2VTdHJhdGVnaWVzOk9i
amVjdC5jcmVhdGUobnVsbCksc2lsZW50OiExLGRldnRvb2xzOiExLGVycm9ySGFuZGxlcjpudWxs
LGlnbm9yZWRFbGVtZW50czpudWxsLGtleUNvZGVzOk9iamVjdC5jcmVhdGUobnVsbCksaXNSZXNl
cnZlZFRhZzpZcixpc1Vua25vd25FbGVtZW50OllyLGdldFRhZ05hbWVzcGFjZTp2LG11c3RVc2VQ
cm9wOllyLF9hc3NldFR5cGVzOlsiY29tcG9uZW50IiwiZGlyZWN0aXZlIiwiZmlsdGVyIl0sX2xp
ZmVjeWNsZUhvb2tzOlsiYmVmb3JlQ3JlYXRlIiwiY3JlYXRlZCIsImJlZm9yZU1vdW50IiwibW91
bnRlZCIsImJlZm9yZVVwZGF0ZSIsInVwZGF0ZWQiLCJiZWZvcmVEZXN0cm95IiwiZGVzdHJveWVk
IiwiYWN0aXZhdGVkIiwiZGVhY3RpdmF0ZWQiXSxfbWF4VXBkYXRlQ291bnQ6MTAwfSxkaT12LHBp
PTAsaGk9ZnVuY3Rpb24oKXt0aGlzLmlkPXBpKyssdGhpcy5zdWJzPVtdfTtoaS5wcm90b3R5cGUu
YWRkU3ViPWZ1bmN0aW9uKGUpe3RoaXMuc3Vicy5wdXNoKGUpfSxoaS5wcm90b3R5cGUucmVtb3Zl
U3ViPWZ1bmN0aW9uKGUpe28odGhpcy5zdWJzLGUpfSxoaS5wcm90b3R5cGUuZGVwZW5kPWZ1bmN0
aW9uKCl7aGkudGFyZ2V0JiZoaS50YXJnZXQuYWRkRGVwKHRoaXMpfSxoaS5wcm90b3R5cGUubm90
aWZ5PWZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXMuc3Vicy5zbGljZSgpLHQ9MCxuPWUubGVuZ3Ro
O3Q8bjt0KyspZVt0XS51cGRhdGUoKX0saGkudGFyZ2V0PW51bGw7dmFyIHZpPVtdLG1pPUFycmF5
LnByb3RvdHlwZSxnaT1PYmplY3QuY3JlYXRlKG1pKTtbInB1c2giLCJwb3AiLCJzaGlmdCIsInVu
c2hpZnQiLCJzcGxpY2UiLCJzb3J0IiwicmV2ZXJzZSJdLmZvckVhY2goZnVuY3Rpb24oZSl7dmFy
IHQ9bWlbZV07YihnaSxlLGZ1bmN0aW9uKCl7Zm9yKHZhciBuPWFyZ3VtZW50cyxyPWFyZ3VtZW50
cy5sZW5ndGgsaT1uZXcgQXJyYXkocik7ci0tOylpW3JdPW5bcl07dmFyIG8sYT10LmFwcGx5KHRo
aXMsaSkscz10aGlzLl9fb2JfXztzd2l0Y2goZSl7Y2FzZSJwdXNoIjpvPWk7YnJlYWs7Y2FzZSJ1
bnNoaWZ0IjpvPWk7YnJlYWs7Y2FzZSJzcGxpY2UiOm89aS5zbGljZSgyKX1yZXR1cm4gbyYmcy5v
YnNlcnZlQXJyYXkobykscy5kZXAubm90aWZ5KCksYX0pfSk7dmFyIHlpPU9iamVjdC5nZXRPd25Q
cm9wZXJ0eU5hbWVzKGdpKSxfaT17c2hvdWxkQ29udmVydDohMCxpc1NldHRpbmdQcm9wczohMX0s
Ymk9ZnVuY3Rpb24oZSl7aWYodGhpcy52YWx1ZT1lLHRoaXMuZGVwPW5ldyBoaSx0aGlzLnZtQ291
bnQ9MCxiKGUsIl9fb2JfXyIsdGhpcyksQXJyYXkuaXNBcnJheShlKSl7dmFyIHQ9WHI/QTprO3Qo
ZSxnaSx5aSksdGhpcy5vYnNlcnZlQXJyYXkoZSl9ZWxzZSB0aGlzLndhbGsoZSl9O2JpLnByb3Rv
dHlwZS53YWxrPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1PYmplY3Qua2V5cyhlKSxuPTA7bjx0Lmxl
bmd0aDtuKyspUyhlLHRbbl0sZVt0W25dXSl9LGJpLnByb3RvdHlwZS5vYnNlcnZlQXJyYXk9ZnVu
Y3Rpb24oZSl7Zm9yKHZhciB0PTAsbj1lLmxlbmd0aDt0PG47dCsrKU8oZVt0XSl9O3ZhciB3aT1m
aS5vcHRpb25NZXJnZVN0cmF0ZWdpZXM7d2kuZGF0YT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIG4/
ZXx8dD9mdW5jdGlvbigpe3ZhciByPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3QuY2FsbChuKTp0LGk9
ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZS5jYWxsKG4pOnZvaWQgMDtyZXR1cm4gcj9OKHIsaSk6aX06
dm9pZCAwOnQ/ImZ1bmN0aW9uIiE9dHlwZW9mIHQ/ZTplP2Z1bmN0aW9uKCl7cmV0dXJuIE4odC5j
YWxsKHRoaXMpLGUuY2FsbCh0aGlzKSl9OnQ6ZX0sZmkuX2xpZmVjeWNsZUhvb2tzLmZvckVhY2go
ZnVuY3Rpb24oZSl7d2lbZV09TH0pLGZpLl9hc3NldFR5cGVzLmZvckVhY2goZnVuY3Rpb24oZSl7
d2lbZSsicyJdPU19KSx3aS53YXRjaD1mdW5jdGlvbihlLHQpe2lmKCF0KXJldHVybiBlO2lmKCFl
KXJldHVybiB0O3ZhciBuPXt9O2YobixlKTtmb3IodmFyIHIgaW4gdCl7dmFyIGk9bltyXSxvPXRb
cl07aSYmIUFycmF5LmlzQXJyYXkoaSkmJihpPVtpXSksbltyXT1pP2kuY29uY2F0KG8pOltvXX1y
ZXR1cm4gbn0sd2kucHJvcHM9d2kubWV0aG9kcz13aS5jb21wdXRlZD1mdW5jdGlvbihlLHQpe2lm
KCF0KXJldHVybiBlO2lmKCFlKXJldHVybiB0O3ZhciBuPU9iamVjdC5jcmVhdGUobnVsbCk7cmV0
dXJuIGYobixlKSxmKG4sdCksbn07dmFyIHhpPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMD09
PXQ/ZTp0fSwkaT1PYmplY3QuZnJlZXplKHtkZWZpbmVSZWFjdGl2ZTpTLF90b1N0cmluZzpuLHRv
TnVtYmVyOnIsbWFrZU1hcDppLGlzQnVpbHRJblRhZzpVcixyZW1vdmU6byxoYXNPd246YSxpc1By
aW1pdGl2ZTpzLGNhY2hlZDpjLGNhbWVsaXplOkpyLGNhcGl0YWxpemU6cXIsaHlwaGVuYXRlOldy
LGJpbmQ6dSx0b0FycmF5OmwsZXh0ZW5kOmYsaXNPYmplY3Q6ZCxpc1BsYWluT2JqZWN0OnAsdG9P
YmplY3Q6aCxub29wOnYsbm86WXIsZ2VuU3RhdGljS2V5czptLGxvb3NlRXF1YWw6Zyxsb29zZUlu
ZGV4T2Y6eSxpc1Jlc2VydmVkOl8sZGVmOmIscGFyc2VQYXRoOncsaGFzUHJvdG86WHIsaW5Ccm93
c2VyOmVpLFVBOnRpLGlzSUU6bmksaXNJRTk6cmksaXNFZGdlOmlpLGlzQW5kcm9pZDpvaSxpc0lP
UzphaSxpc1NlcnZlclJlbmRlcmluZzpzaSxkZXZ0b29sczpjaSxuZXh0VGljazp1aSxnZXQgX1Nl
dCgpe3JldHVybiBGcn0sbWVyZ2VPcHRpb25zOlIscmVzb2x2ZUFzc2V0OkIsZ2V0IHdhcm4oKXty
ZXR1cm4gZGl9LGdldCBmb3JtYXRDb21wb25lbnROYW1lKCl7cmV0dXJuIGxpfSx2YWxpZGF0ZVBy
b3A6SX0pLENpPVtdLEFpPXt9LGtpPSExLE9pPSExLFNpPTAsVGk9MCxFaT1mdW5jdGlvbihlLHQs
bixyKXt2b2lkIDA9PT1yJiYocj17fSksdGhpcy52bT1lLGUuX3dhdGNoZXJzLnB1c2godGhpcyks
dGhpcy5kZWVwPSEhci5kZWVwLHRoaXMudXNlcj0hIXIudXNlcix0aGlzLmxhenk9ISFyLmxhenks
dGhpcy5zeW5jPSEhci5zeW5jLHRoaXMuZXhwcmVzc2lvbj10LnRvU3RyaW5nKCksdGhpcy5jYj1u
LHRoaXMuaWQ9KytUaSx0aGlzLmFjdGl2ZT0hMCx0aGlzLmRpcnR5PXRoaXMubGF6eSx0aGlzLmRl
cHM9W10sdGhpcy5uZXdEZXBzPVtdLHRoaXMuZGVwSWRzPW5ldyBGcix0aGlzLm5ld0RlcElkcz1u
ZXcgRnIsImZ1bmN0aW9uIj09dHlwZW9mIHQ/dGhpcy5nZXR0ZXI9dDoodGhpcy5nZXR0ZXI9dyh0
KSx0aGlzLmdldHRlcnx8KHRoaXMuZ2V0dGVyPWZ1bmN0aW9uKCl7fSkpLHRoaXMudmFsdWU9dGhp
cy5sYXp5P3ZvaWQgMDp0aGlzLmdldCgpfTtFaS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKCl7JCh0
aGlzKTt2YXIgZT10aGlzLmdldHRlci5jYWxsKHRoaXMudm0sdGhpcy52bSk7cmV0dXJuIHRoaXMu
ZGVlcCYmcShlKSxDKCksdGhpcy5jbGVhbnVwRGVwcygpLGV9LEVpLnByb3RvdHlwZS5hZGREZXA9
ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5pZDt0aGlzLm5ld0RlcElkcy5oYXModCl8fCh0aGlzLm5ld0Rl
cElkcy5hZGQodCksdGhpcy5uZXdEZXBzLnB1c2goZSksdGhpcy5kZXBJZHMuaGFzKHQpfHxlLmFk
ZFN1Yih0aGlzKSl9LEVpLnByb3RvdHlwZS5jbGVhbnVwRGVwcz1mdW5jdGlvbigpe2Zvcih2YXIg
ZT10aGlzLHQ9dGhpcy5kZXBzLmxlbmd0aDt0LS07KXt2YXIgbj1lLmRlcHNbdF07ZS5uZXdEZXBJ
ZHMuaGFzKG4uaWQpfHxuLnJlbW92ZVN1YihlKX12YXIgcj10aGlzLmRlcElkczt0aGlzLmRlcElk
cz10aGlzLm5ld0RlcElkcyx0aGlzLm5ld0RlcElkcz1yLHRoaXMubmV3RGVwSWRzLmNsZWFyKCks
cj10aGlzLmRlcHMsdGhpcy5kZXBzPXRoaXMubmV3RGVwcyx0aGlzLm5ld0RlcHM9cix0aGlzLm5l
d0RlcHMubGVuZ3RoPTB9LEVpLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oKXt0aGlzLmxhenk/
dGhpcy5kaXJ0eT0hMDp0aGlzLnN5bmM/dGhpcy5ydW4oKTpKKHRoaXMpfSxFaS5wcm90b3R5cGUu
cnVuPWZ1bmN0aW9uKCl7aWYodGhpcy5hY3RpdmUpe3ZhciBlPXRoaXMuZ2V0KCk7aWYoZSE9PXRo
aXMudmFsdWV8fGQoZSl8fHRoaXMuZGVlcCl7dmFyIHQ9dGhpcy52YWx1ZTtpZih0aGlzLnZhbHVl
PWUsdGhpcy51c2VyKXRyeXt0aGlzLmNiLmNhbGwodGhpcy52bSxlLHQpfWNhdGNoKGUpe2lmKCFm
aS5lcnJvckhhbmRsZXIpdGhyb3cgZTtmaS5lcnJvckhhbmRsZXIuY2FsbChudWxsLGUsdGhpcy52
bSl9ZWxzZSB0aGlzLmNiLmNhbGwodGhpcy52bSxlLHQpfX19LEVpLnByb3RvdHlwZS5ldmFsdWF0
ZT1mdW5jdGlvbigpe3RoaXMudmFsdWU9dGhpcy5nZXQoKSx0aGlzLmRpcnR5PSExfSxFaS5wcm90
b3R5cGUuZGVwZW5kPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXMsdD10aGlzLmRlcHMubGVuZ3Ro
O3QtLTspZS5kZXBzW3RdLmRlcGVuZCgpfSxFaS5wcm90b3R5cGUudGVhcmRvd249ZnVuY3Rpb24o
KXt2YXIgZT10aGlzO2lmKHRoaXMuYWN0aXZlKXt0aGlzLnZtLl9pc0JlaW5nRGVzdHJveWVkfHx0
aGlzLnZtLl92Rm9yUmVtb3Zpbmd8fG8odGhpcy52bS5fd2F0Y2hlcnMsdGhpcyk7Zm9yKHZhciB0
PXRoaXMuZGVwcy5sZW5ndGg7dC0tOyllLmRlcHNbdF0ucmVtb3ZlU3ViKGUpO3RoaXMuYWN0aXZl
PSExfX07dmFyIGppPW5ldyBGcixOaT0oaSgia2V5LHJlZixzbG90Iikse2VudW1lcmFibGU6ITAs
Y29uZmlndXJhYmxlOiEwLGdldDp2LHNldDp2fSksTGk9ZnVuY3Rpb24oZSx0LG4scixpLG8sYSxz
KXt0aGlzLnRhZz1lLHRoaXMuZGF0YT10LHRoaXMuY2hpbGRyZW49bix0aGlzLnRleHQ9cix0aGlz
LmVsbT1pLHRoaXMubnM9byx0aGlzLmNvbnRleHQ9YSx0aGlzLmZ1bmN0aW9uYWxDb250ZXh0PXZv
aWQgMCx0aGlzLmtleT10JiZ0LmtleSx0aGlzLmNvbXBvbmVudE9wdGlvbnM9cyx0aGlzLmNoaWxk
PXZvaWQgMCx0aGlzLnBhcmVudD12b2lkIDAsdGhpcy5yYXc9ITEsdGhpcy5pc1N0YXRpYz0hMSx0
aGlzLmlzUm9vdEluc2VydD0hMCx0aGlzLmlzQ29tbWVudD0hMSx0aGlzLmlzQ2xvbmVkPSExLHRo
aXMuaXNPbmNlPSExfSxNaT1mdW5jdGlvbigpe3ZhciBlPW5ldyBMaTtyZXR1cm4gZS50ZXh0PSIi
LGUuaXNDb21tZW50PSEwLGV9LFBpPW51bGwsRGk9e2luaXQ6YmUscHJlcGF0Y2g6d2UsaW5zZXJ0
OnhlLGRlc3Ryb3k6JGV9LFJpPU9iamVjdC5rZXlzKERpKSxCaT0wO0RlKEllKSxuZShJZSksUGUo
SWUpLHZlKEllKSxOZShJZSk7dmFyIElpPVtTdHJpbmcsUmVnRXhwXSxIaT17bmFtZToia2VlcC1h
bGl2ZSIsYWJzdHJhY3Q6ITAscHJvcHM6e2luY2x1ZGU6SWksZXhjbHVkZTpJaX0sY3JlYXRlZDpm
dW5jdGlvbigpe3RoaXMuY2FjaGU9T2JqZWN0LmNyZWF0ZShudWxsKX0scmVuZGVyOmZ1bmN0aW9u
KCl7dmFyIGU9cGUodGhpcy4kc2xvdHMuZGVmYXVsdCk7aWYoZSYmZS5jb21wb25lbnRPcHRpb25z
KXt2YXIgdD1lLmNvbXBvbmVudE9wdGlvbnMsbj10LkN0b3Iub3B0aW9ucy5uYW1lfHx0LnRhZztp
ZihuJiYodGhpcy5pbmNsdWRlJiYhVmUodGhpcy5pbmNsdWRlLG4pfHx0aGlzLmV4Y2x1ZGUmJlZl
KHRoaXMuZXhjbHVkZSxuKSkpcmV0dXJuIGU7dmFyIHI9bnVsbD09ZS5rZXk/dC5DdG9yLmNpZCso
dC50YWc/Ijo6Iit0LnRhZzoiIik6ZS5rZXk7dGhpcy5jYWNoZVtyXT9lLmNoaWxkPXRoaXMuY2Fj
aGVbcl0uY2hpbGQ6dGhpcy5jYWNoZVtyXT1lLGUuZGF0YS5rZWVwQWxpdmU9ITB9cmV0dXJuIGV9
LGRlc3Ryb3llZDpmdW5jdGlvbigpe3ZhciBlPXRoaXM7Zm9yKHZhciB0IGluIHRoaXMuY2FjaGUp
e3ZhciBuPWUuY2FjaGVbdF07bWUobi5jaGlsZCwiZGVhY3RpdmF0ZWQiKSxuLmNoaWxkLiRkZXN0
cm95KCl9fX0sRmk9e0tlZXBBbGl2ZTpIaX07SmUoSWUpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShJ
ZS5wcm90b3R5cGUsIiRpc1NlcnZlciIse2dldDpzaX0pLEllLnZlcnNpb249IjIuMS4zIjt2YXIg
VWksemk9ZnVuY3Rpb24oZSx0KXtyZXR1cm4idmFsdWUiPT09dCYmKCJpbnB1dCI9PT1lfHwidGV4
dGFyZWEiPT09ZXx8Im9wdGlvbiI9PT1lKXx8InNlbGVjdGVkIj09PXQmJiJvcHRpb24iPT09ZXx8
ImNoZWNrZWQiPT09dCYmImlucHV0Ij09PWV8fCJtdXRlZCI9PT10JiYidmlkZW8iPT09ZX0sVmk9
aSgiY29udGVudGVkaXRhYmxlLGRyYWdnYWJsZSxzcGVsbGNoZWNrIiksSmk9aSgiYWxsb3dmdWxs
c2NyZWVuLGFzeW5jLGF1dG9mb2N1cyxhdXRvcGxheSxjaGVja2VkLGNvbXBhY3QsY29udHJvbHMs
ZGVjbGFyZSxkZWZhdWx0LGRlZmF1bHRjaGVja2VkLGRlZmF1bHRtdXRlZCxkZWZhdWx0c2VsZWN0
ZWQsZGVmZXIsZGlzYWJsZWQsZW5hYmxlZCxmb3Jtbm92YWxpZGF0ZSxoaWRkZW4saW5kZXRlcm1p
bmF0ZSxpbmVydCxpc21hcCxpdGVtc2NvcGUsbG9vcCxtdWx0aXBsZSxtdXRlZCxub2hyZWYsbm9y
ZXNpemUsbm9zaGFkZSxub3ZhbGlkYXRlLG5vd3JhcCxvcGVuLHBhdXNlb25leGl0LHJlYWRvbmx5
LHJlcXVpcmVkLHJldmVyc2VkLHNjb3BlZCxzZWFtbGVzcyxzZWxlY3RlZCxzb3J0YWJsZSx0cmFu
c2xhdGUsdHJ1ZXNwZWVkLHR5cGVtdXN0bWF0Y2gsdmlzaWJsZSIpLHFpPShpKCJhY2NlcHQsYWNj
ZXB0LWNoYXJzZXQsYWNjZXNza2V5LGFjdGlvbixhbGlnbixhbHQsYXN5bmMsYXV0b2NvbXBsZXRl
LGF1dG9mb2N1cyxhdXRvcGxheSxhdXRvc2F2ZSxiZ2NvbG9yLGJvcmRlcixidWZmZXJlZCxjaGFs
bGVuZ2UsY2hhcnNldCxjaGVja2VkLGNpdGUsY2xhc3MsY29kZSxjb2RlYmFzZSxjb2xvcixjb2xz
LGNvbHNwYW4sY29udGVudCxodHRwLWVxdWl2LG5hbWUsY29udGVudGVkaXRhYmxlLGNvbnRleHRt
ZW51LGNvbnRyb2xzLGNvb3JkcyxkYXRhLGRhdGV0aW1lLGRlZmF1bHQsZGVmZXIsZGlyLGRpcm5h
bWUsZGlzYWJsZWQsZG93bmxvYWQsZHJhZ2dhYmxlLGRyb3B6b25lLGVuY3R5cGUsbWV0aG9kLGZv
cixmb3JtLGZvcm1hY3Rpb24saGVhZGVycyw8dGg+LGhlaWdodCxoaWRkZW4saGlnaCxocmVmLGhy
ZWZsYW5nLGh0dHAtZXF1aXYsaWNvbixpZCxpc21hcCxpdGVtcHJvcCxrZXl0eXBlLGtpbmQsbGFi
ZWwsbGFuZyxsYW5ndWFnZSxsaXN0LGxvb3AsbG93LG1hbmlmZXN0LG1heCxtYXhsZW5ndGgsbWVk
aWEsbWV0aG9kLEdFVCxQT1NULG1pbixtdWx0aXBsZSxlbWFpbCxmaWxlLG11dGVkLG5hbWUsbm92
YWxpZGF0ZSxvcGVuLG9wdGltdW0scGF0dGVybixwaW5nLHBsYWNlaG9sZGVyLHBvc3RlcixwcmVs
b2FkLHJhZGlvZ3JvdXAscmVhZG9ubHkscmVsLHJlcXVpcmVkLHJldmVyc2VkLHJvd3Mscm93c3Bh
bixzYW5kYm94LHNjb3BlLHNjb3BlZCxzZWFtbGVzcyxzZWxlY3RlZCxzaGFwZSxzaXplLHR5cGUs
dGV4dCxwYXNzd29yZCxzaXplcyxzcGFuLHNwZWxsY2hlY2ssc3JjLHNyY2RvYyxzcmNsYW5nLHNy
Y3NldCxzdGFydCxzdGVwLHN0eWxlLHN1bW1hcnksdGFiaW5kZXgsdGFyZ2V0LHRpdGxlLHR5cGUs
dXNlbWFwLHZhbHVlLHdpZHRoLHdyYXAiKSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIp
LEtpPWZ1bmN0aW9uKGUpe3JldHVybiI6Ij09PWUuY2hhckF0KDUpJiYieGxpbmsiPT09ZS5zbGlj
ZSgwLDUpfSxXaT1mdW5jdGlvbihlKXtyZXR1cm4gS2koZSk/ZS5zbGljZSg2LGUubGVuZ3RoKToi
In0sWmk9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWV8fGU9PT0hMX0sR2k9e3N2ZzoiaHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmciLG1hdGg6Imh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9N
YXRoTUwiLHhodG1sOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIn0sWWk9aSgiaHRtbCxi
b2R5LGJhc2UsaGVhZCxsaW5rLG1ldGEsc3R5bGUsdGl0bGUsYWRkcmVzcyxhcnRpY2xlLGFzaWRl
LGZvb3RlcixoZWFkZXIsaDEsaDIsaDMsaDQsaDUsaDYsaGdyb3VwLG5hdixzZWN0aW9uLGRpdixk
ZCxkbCxkdCxmaWdjYXB0aW9uLGZpZ3VyZSxocixpbWcsbGksbWFpbixvbCxwLHByZSx1bCxhLGIs
YWJicixiZGksYmRvLGJyLGNpdGUsY29kZSxkYXRhLGRmbixlbSxpLGtiZCxtYXJrLHEscnAscnQs
cnRjLHJ1YnkscyxzYW1wLHNtYWxsLHNwYW4sc3Ryb25nLHN1YixzdXAsdGltZSx1LHZhcix3YnIs
YXJlYSxhdWRpbyxtYXAsdHJhY2ssdmlkZW8sZW1iZWQsb2JqZWN0LHBhcmFtLHNvdXJjZSxjYW52
YXMsc2NyaXB0LG5vc2NyaXB0LGRlbCxpbnMsY2FwdGlvbixjb2wsY29sZ3JvdXAsdGFibGUsdGhl
YWQsdGJvZHksdGQsdGgsdHIsYnV0dG9uLGRhdGFsaXN0LGZpZWxkc2V0LGZvcm0saW5wdXQsbGFi
ZWwsbGVnZW5kLG1ldGVyLG9wdGdyb3VwLG9wdGlvbixvdXRwdXQscHJvZ3Jlc3Msc2VsZWN0LHRl
eHRhcmVhLGRldGFpbHMsZGlhbG9nLG1lbnUsbWVudWl0ZW0sc3VtbWFyeSxjb250ZW50LGVsZW1l
bnQsc2hhZG93LHRlbXBsYXRlIiksUWk9aSgiYXJlYSxiYXNlLGJyLGNvbCxlbWJlZCxmcmFtZSxo
cixpbWcsaW5wdXQsaXNpbmRleCxrZXlnZW4sbGluayxtZXRhLHBhcmFtLHNvdXJjZSx0cmFjayx3
YnIiLCEwKSxYaT1pKCJjb2xncm91cCxkZCxkdCxsaSxvcHRpb25zLHAsdGQsdGZvb3QsdGgsdGhl
YWQsdHIsc291cmNlIiwhMCksZW89aSgiYWRkcmVzcyxhcnRpY2xlLGFzaWRlLGJhc2UsYmxvY2tx
dW90ZSxib2R5LGNhcHRpb24sY29sLGNvbGdyb3VwLGRkLGRldGFpbHMsZGlhbG9nLGRpdixkbCxk
dCxmaWVsZHNldCxmaWdjYXB0aW9uLGZpZ3VyZSxmb290ZXIsZm9ybSxoMSxoMixoMyxoNCxoNSxo
NixoZWFkLGhlYWRlcixoZ3JvdXAsaHIsaHRtbCxsZWdlbmQsbGksbWVudWl0ZW0sbWV0YSxvcHRn
cm91cCxvcHRpb24scGFyYW0scnAscnQsc291cmNlLHN0eWxlLHN1bW1hcnksdGJvZHksdGQsdGZv
b3QsdGgsdGhlYWQsdGl0bGUsdHIsdHJhY2siLCEwKSx0bz1pKCJzdmcsYW5pbWF0ZSxjaXJjbGUs
Y2xpcHBhdGgsY3Vyc29yLGRlZnMsZGVzYyxlbGxpcHNlLGZpbHRlcixmb250LGZvbnQtZmFjZSxn
LGdseXBoLGltYWdlLGxpbmUsbWFya2VyLG1hc2ssbWlzc2luZy1nbHlwaCxwYXRoLHBhdHRlcm4s
cG9seWdvbixwb2x5bGluZSxyZWN0LHN3aXRjaCxzeW1ib2wsdGV4dCx0ZXh0cGF0aCx0c3Bhbix1
c2UsdmlldyIsITApLG5vPWZ1bmN0aW9uKGUpe3JldHVybiJwcmUiPT09ZX0scm89ZnVuY3Rpb24o
ZSl7cmV0dXJuIFlpKGUpfHx0byhlKX0saW89T2JqZWN0LmNyZWF0ZShudWxsKSxvbz1PYmplY3Qu
ZnJlZXplKHtjcmVhdGVFbGVtZW50OmV0LGNyZWF0ZUVsZW1lbnROUzp0dCxjcmVhdGVUZXh0Tm9k
ZTpudCxjcmVhdGVDb21tZW50OnJ0LGluc2VydEJlZm9yZTppdCxyZW1vdmVDaGlsZDpvdCxhcHBl
bmRDaGlsZDphdCxwYXJlbnROb2RlOnN0LG5leHRTaWJsaW5nOmN0LHRhZ05hbWU6dXQsc2V0VGV4
dENvbnRlbnQ6bHQsY2hpbGROb2RlczpmdCxzZXRBdHRyaWJ1dGU6ZHR9KSxhbz17Y3JlYXRlOmZ1
bmN0aW9uKGUsdCl7cHQodCl9LHVwZGF0ZTpmdW5jdGlvbihlLHQpe2UuZGF0YS5yZWYhPT10LmRh
dGEucmVmJiYocHQoZSwhMCkscHQodCkpfSxkZXN0cm95OmZ1bmN0aW9uKGUpe3B0KGUsITApfX0s
c289bmV3IExpKCIiLHt9LFtdKSxjbz1bImNyZWF0ZSIsInVwZGF0ZSIsInJlbW92ZSIsImRlc3Ry
b3kiXSx1bz17Y3JlYXRlOl90LHVwZGF0ZTpfdCxkZXN0cm95OmZ1bmN0aW9uKGUpe190KGUsc28p
fX0sbG89T2JqZWN0LmNyZWF0ZShudWxsKSxmbz1bYW8sdW9dLHBvPXtjcmVhdGU6JHQsdXBkYXRl
OiR0fSxobz17Y3JlYXRlOkF0LHVwZGF0ZTpBdH0sdm89e2NyZWF0ZTprdCx1cGRhdGU6a3R9LG1v
PXtjcmVhdGU6T3QsdXBkYXRlOk90fSxnbz1jKGZ1bmN0aW9uKGUpe3ZhciB0PXt9LG49ZS5pbmRl
eE9mKCJiYWNrZ3JvdW5kIik+PTAscj1uPy87KD8hW14oXSpcKSkvZzoiOyIsaT1uPy86KC4rKS86
IjoiO3JldHVybiBlLnNwbGl0KHIpLmZvckVhY2goZnVuY3Rpb24oZSl7aWYoZSl7dmFyIG49ZS5z
cGxpdChpKTtuLmxlbmd0aD4xJiYodFtuWzBdLnRyaW0oKV09blsxXS50cmltKCkpfX0pLHR9KSx5
bz0vXi0tLyxfbz1mdW5jdGlvbihlLHQsbil7eW8udGVzdCh0KT9lLnN0eWxlLnNldFByb3BlcnR5
KHQsbik6ZS5zdHlsZVt3byh0KV09bn0sYm89WyJXZWJraXQiLCJNb3oiLCJtcyJdLHdvPWMoZnVu
Y3Rpb24oZSl7aWYoVWk9VWl8fGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGU9SnIoZSks
ImZpbHRlciIhPT1lJiZlIGluIFVpLnN0eWxlKXJldHVybiBlO2Zvcih2YXIgdD1lLmNoYXJBdCgw
KS50b1VwcGVyQ2FzZSgpK2Uuc2xpY2UoMSksbj0wO248Ym8ubGVuZ3RoO24rKyl7dmFyIHI9Ym9b
bl0rdDtpZihyIGluIFVpLnN0eWxlKXJldHVybiByfX0pLHhvPXtjcmVhdGU6anQsdXBkYXRlOmp0
fSwkbz1laSYmIXJpLENvPSJ0cmFuc2l0aW9uIixBbz0iYW5pbWF0aW9uIixrbz0idHJhbnNpdGlv
biIsT289InRyYW5zaXRpb25lbmQiLFNvPSJhbmltYXRpb24iLFRvPSJhbmltYXRpb25lbmQiOyRv
JiYodm9pZCAwPT09d2luZG93Lm9udHJhbnNpdGlvbmVuZCYmdm9pZCAwIT09d2luZG93Lm9ud2Vi
a2l0dHJhbnNpdGlvbmVuZCYmKGtvPSJXZWJraXRUcmFuc2l0aW9uIixPbz0id2Via2l0VHJhbnNp
dGlvbkVuZCIpLHZvaWQgMD09PXdpbmRvdy5vbmFuaW1hdGlvbmVuZCYmdm9pZCAwIT09d2luZG93
Lm9ud2Via2l0YW5pbWF0aW9uZW5kJiYoU289IldlYmtpdEFuaW1hdGlvbiIsVG89IndlYmtpdEFu
aW1hdGlvbkVuZCIpKTt2YXIgRW89ZWkmJndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHNl
dFRpbWVvdXQsam89L1xiKHRyYW5zZm9ybXxhbGwpKCx8JCkvLE5vPWMoZnVuY3Rpb24oZSl7cmV0
dXJue2VudGVyQ2xhc3M6ZSsiLWVudGVyIixsZWF2ZUNsYXNzOmUrIi1sZWF2ZSIsYXBwZWFyQ2xh
c3M6ZSsiLWVudGVyIixlbnRlckFjdGl2ZUNsYXNzOmUrIi1lbnRlci1hY3RpdmUiLGxlYXZlQWN0
aXZlQ2xhc3M6ZSsiLWxlYXZlLWFjdGl2ZSIsYXBwZWFyQWN0aXZlQ2xhc3M6ZSsiLWVudGVyLWFj
dGl2ZSJ9fSksTG89ZWk/e2NyZWF0ZTpmdW5jdGlvbihlLHQpe3QuZGF0YS5zaG93fHxGdCh0KX0s
cmVtb3ZlOmZ1bmN0aW9uKGUsdCl7ZS5kYXRhLnNob3c/dCgpOlV0KGUsdCl9fTp7fSxNbz1bcG8s
aG8sdm8sbW8seG8sTG9dLFBvPU1vLmNvbmNhdChmbyksRG89eXQoe25vZGVPcHM6b28sbW9kdWxl
czpQb30pO3JpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3Rpb25jaGFuZ2UiLGZ1
bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtlJiZlLnZtb2RlbCYmR3QoZSwi
aW5wdXQiKX0pO3ZhciBSbz17aW5zZXJ0ZWQ6ZnVuY3Rpb24oZSx0LG4pe2lmKCJzZWxlY3QiPT09
bi50YWcpe3ZhciByPWZ1bmN0aW9uKCl7SnQoZSx0LG4uY29udGV4dCl9O3IoKSwobml8fGlpKSYm
c2V0VGltZW91dChyLDApfWVsc2UidGV4dGFyZWEiIT09bi50YWcmJiJ0ZXh0IiE9PWUudHlwZXx8
dC5tb2RpZmllcnMubGF6eXx8KG9pfHwoZS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbnN0
YXJ0IixXdCksZS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbmVuZCIsWnQpKSxyaSYmKGUu
dm1vZGVsPSEwKSl9LGNvbXBvbmVudFVwZGF0ZWQ6ZnVuY3Rpb24oZSx0LG4pe2lmKCJzZWxlY3Qi
PT09bi50YWcpewotSnQoZSx0LG4uY29udGV4dCk7dmFyIHI9ZS5tdWx0aXBsZT90LnZhbHVlLnNv
bWUoZnVuY3Rpb24odCl7cmV0dXJuIHF0KHQsZS5vcHRpb25zKX0pOnQudmFsdWUhPT10Lm9sZFZh
bHVlJiZxdCh0LnZhbHVlLGUub3B0aW9ucyk7ciYmR3QoZSwiY2hhbmdlIil9fX0sQm89e2JpbmQ6
ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXQudmFsdWU7bj1ZdChuKTt2YXIgaT1uLmRhdGEmJm4uZGF0
YS50cmFuc2l0aW9uO3ImJmkmJiFyaSYmRnQobik7dmFyIG89Im5vbmUiPT09ZS5zdHlsZS5kaXNw
bGF5PyIiOmUuc3R5bGUuZGlzcGxheTtlLnN0eWxlLmRpc3BsYXk9cj9vOiJub25lIixlLl9fdk9y
aWdpbmFsRGlzcGxheT1vfSx1cGRhdGU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXQudmFsdWUsaT10
Lm9sZFZhbHVlO2lmKHIhPT1pKXtuPVl0KG4pO3ZhciBvPW4uZGF0YSYmbi5kYXRhLnRyYW5zaXRp
b247byYmIXJpP3I/KEZ0KG4pLGUuc3R5bGUuZGlzcGxheT1lLl9fdk9yaWdpbmFsRGlzcGxheSk6
VXQobixmdW5jdGlvbigpe2Uuc3R5bGUuZGlzcGxheT0ibm9uZSJ9KTplLnN0eWxlLmRpc3BsYXk9
cj9lLl9fdk9yaWdpbmFsRGlzcGxheToibm9uZSJ9fX0sSW89e21vZGVsOlJvLHNob3c6Qm99LEhv
PXtuYW1lOlN0cmluZyxhcHBlYXI6Qm9vbGVhbixjc3M6Qm9vbGVhbixtb2RlOlN0cmluZyx0eXBl
OlN0cmluZyxlbnRlckNsYXNzOlN0cmluZyxsZWF2ZUNsYXNzOlN0cmluZyxlbnRlckFjdGl2ZUNs
YXNzOlN0cmluZyxsZWF2ZUFjdGl2ZUNsYXNzOlN0cmluZyxhcHBlYXJDbGFzczpTdHJpbmcsYXBw
ZWFyQWN0aXZlQ2xhc3M6U3RyaW5nfSxGbz17bmFtZToidHJhbnNpdGlvbiIscHJvcHM6SG8sYWJz
dHJhY3Q6ITAscmVuZGVyOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbj10aGlzLiRzbG90cy5kZWZh
dWx0O2lmKG4mJihuPW4uZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlLnRhZ30pLG4ubGVuZ3Ro
KSl7dmFyIHI9dGhpcy5tb2RlLGk9blswXTtpZih0bih0aGlzLiR2bm9kZSkpcmV0dXJuIGk7dmFy
IG89UXQoaSk7aWYoIW8pcmV0dXJuIGk7aWYodGhpcy5fbGVhdmluZylyZXR1cm4gZW4oZSxpKTt2
YXIgYT1vLmtleT1udWxsPT1vLmtleXx8by5pc1N0YXRpYz8iX192Iisoby50YWcrdGhpcy5fdWlk
KSsiX18iOm8ua2V5LHM9KG8uZGF0YXx8KG8uZGF0YT17fSkpLnRyYW5zaXRpb249WHQodGhpcyks
Yz10aGlzLl92bm9kZSx1PVF0KGMpO2lmKG8uZGF0YS5kaXJlY3RpdmVzJiZvLmRhdGEuZGlyZWN0
aXZlcy5zb21lKGZ1bmN0aW9uKGUpe3JldHVybiJzaG93Ij09PWUubmFtZX0pJiYoby5kYXRhLnNo
b3c9ITApLHUmJnUuZGF0YSYmdS5rZXkhPT1hKXt2YXIgbD11LmRhdGEudHJhbnNpdGlvbj1mKHt9
LHMpO2lmKCJvdXQtaW4iPT09cilyZXR1cm4gdGhpcy5fbGVhdmluZz0hMCxhZShsLCJhZnRlckxl
YXZlIixmdW5jdGlvbigpe3QuX2xlYXZpbmc9ITEsdC4kZm9yY2VVcGRhdGUoKX0sYSksZW4oZSxp
KTtpZigiaW4tb3V0Ij09PXIpe3ZhciBkLHA9ZnVuY3Rpb24oKXtkKCl9O2FlKHMsImFmdGVyRW50
ZXIiLHAsYSksYWUocywiZW50ZXJDYW5jZWxsZWQiLHAsYSksYWUobCwiZGVsYXlMZWF2ZSIsZnVu
Y3Rpb24oZSl7ZD1lfSxhKX19cmV0dXJuIGl9fX0sVW89Zih7dGFnOlN0cmluZyxtb3ZlQ2xhc3M6
U3RyaW5nfSxIbyk7ZGVsZXRlIFVvLm1vZGU7dmFyIHpvPXtwcm9wczpVbyxyZW5kZXI6ZnVuY3Rp
b24oZSl7Zm9yKHZhciB0PXRoaXMudGFnfHx0aGlzLiR2bm9kZS5kYXRhLnRhZ3x8InNwYW4iLG49
T2JqZWN0LmNyZWF0ZShudWxsKSxyPXRoaXMucHJldkNoaWxkcmVuPXRoaXMuY2hpbGRyZW4saT10
aGlzLiRzbG90cy5kZWZhdWx0fHxbXSxvPXRoaXMuY2hpbGRyZW49W10sYT1YdCh0aGlzKSxzPTA7
czxpLmxlbmd0aDtzKyspe3ZhciBjPWlbc107aWYoYy50YWcpaWYobnVsbCE9Yy5rZXkmJjAhPT1T
dHJpbmcoYy5rZXkpLmluZGV4T2YoIl9fdmxpc3QiKSlvLnB1c2goYyksbltjLmtleV09YywoYy5k
YXRhfHwoYy5kYXRhPXt9KSkudHJhbnNpdGlvbj1hO2Vsc2U7fWlmKHIpe2Zvcih2YXIgdT1bXSxs
PVtdLGY9MDtmPHIubGVuZ3RoO2YrKyl7dmFyIGQ9cltmXTtkLmRhdGEudHJhbnNpdGlvbj1hLGQu
ZGF0YS5wb3M9ZC5lbG0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbltkLmtleV0/dS5wdXNoKGQp
OmwucHVzaChkKX10aGlzLmtlcHQ9ZSh0LG51bGwsdSksdGhpcy5yZW1vdmVkPWx9cmV0dXJuIGUo
dCxudWxsLG8pfSxiZWZvcmVVcGRhdGU6ZnVuY3Rpb24oKXt0aGlzLl9fcGF0Y2hfXyh0aGlzLl92
bm9kZSx0aGlzLmtlcHQsITEsITApLHRoaXMuX3Zub2RlPXRoaXMua2VwdH0sdXBkYXRlZDpmdW5j
dGlvbigpe3ZhciBlPXRoaXMucHJldkNoaWxkcmVuLHQ9dGhpcy5tb3ZlQ2xhc3N8fCh0aGlzLm5h
bWV8fCJ2IikrIi1tb3ZlIjtpZihlLmxlbmd0aCYmdGhpcy5oYXNNb3ZlKGVbMF0uZWxtLHQpKXtl
LmZvckVhY2gobm4pLGUuZm9yRWFjaChybiksZS5mb3JFYWNoKG9uKTtkb2N1bWVudC5ib2R5Lm9m
ZnNldEhlaWdodDtlLmZvckVhY2goZnVuY3Rpb24oZSl7aWYoZS5kYXRhLm1vdmVkKXt2YXIgbj1l
LmVsbSxyPW4uc3R5bGU7UHQobix0KSxyLnRyYW5zZm9ybT1yLldlYmtpdFRyYW5zZm9ybT1yLnRy
YW5zaXRpb25EdXJhdGlvbj0iIixuLmFkZEV2ZW50TGlzdGVuZXIoT28sbi5fbW92ZUNiPWZ1bmN0
aW9uIGUocil7ciYmIS90cmFuc2Zvcm0kLy50ZXN0KHIucHJvcGVydHlOYW1lKXx8KG4ucmVtb3Zl
RXZlbnRMaXN0ZW5lcihPbyxlKSxuLl9tb3ZlQ2I9bnVsbCxEdChuLHQpKX0pfX0pfX0sbWV0aG9k
czp7aGFzTW92ZTpmdW5jdGlvbihlLHQpe2lmKCEkbylyZXR1cm4hMTtpZihudWxsIT10aGlzLl9o
YXNNb3ZlKXJldHVybiB0aGlzLl9oYXNNb3ZlO1B0KGUsdCk7dmFyIG49QnQoZSk7cmV0dXJuIER0
KGUsdCksdGhpcy5faGFzTW92ZT1uLmhhc1RyYW5zZm9ybX19fSxWbz17VHJhbnNpdGlvbjpGbyxU
cmFuc2l0aW9uR3JvdXA6em99O0llLmNvbmZpZy5pc1Vua25vd25FbGVtZW50PVFlLEllLmNvbmZp
Zy5pc1Jlc2VydmVkVGFnPXJvLEllLmNvbmZpZy5nZXRUYWdOYW1lc3BhY2U9WWUsSWUuY29uZmln
Lm11c3RVc2VQcm9wPXppLGYoSWUub3B0aW9ucy5kaXJlY3RpdmVzLElvKSxmKEllLm9wdGlvbnMu
Y29tcG9uZW50cyxWbyksSWUucHJvdG90eXBlLl9fcGF0Y2hfXz1laT9Ebzp2LEllLnByb3RvdHlw
ZS4kbW91bnQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT1lJiZlaT9YZShlKTp2b2lkIDAsdGhpcy5f
bW91bnQoZSx0KX0sc2V0VGltZW91dChmdW5jdGlvbigpe2ZpLmRldnRvb2xzJiZjaSYmY2kuZW1p
dCgiaW5pdCIsSWUpfSwwKTt2YXIgSm8scW89ISFlaSYmYW4oIlxuIiwiJiMxMDsiKSxLbz0vKFte
XHMiJzw+XC89XSspLyxXbz0vKD86PSkvLFpvPVsvIihbXiJdKikiKy8uc291cmNlLC8nKFteJ10q
KScrLy5zb3VyY2UsLyhbXlxzIic9PD5gXSspLy5zb3VyY2VdLEdvPW5ldyBSZWdFeHAoIl5cXHMq
IitLby5zb3VyY2UrIig/OlxccyooIitXby5zb3VyY2UrIilcXHMqKD86Iitaby5qb2luKCJ8Iikr
IikpPyIpLFlvPSJbYS16QS1aX11bXFx3XFwtXFwuXSoiLFFvPSIoKD86IitZbysiXFw6KT8iK1lv
KyIpIixYbz1uZXcgUmVnRXhwKCJePCIrUW8pLGVhPS9eXHMqKFwvPyk+Lyx0YT1uZXcgUmVnRXhw
KCJePFxcLyIrUW8rIltePl0qPiIpLG5hPS9ePCFET0NUWVBFIFtePl0rPi9pLHJhPS9ePCEtLS8s
aWE9L148IVxbLyxvYT0hMTsieCIucmVwbGFjZSgveCguKT8vZyxmdW5jdGlvbihlLHQpe29hPSIi
PT09dH0pO3ZhciBhYSxzYSxjYSx1YSxsYSxmYSxkYSxwYSxoYSx2YSxtYSxnYSx5YSxfYSxiYSx3
YSx4YSwkYSxDYSxBYSxrYSxPYSxTYSxUYSxFYT1pKCJzY3JpcHQsc3R5bGUiLCEwKSxqYT1mdW5j
dGlvbihlKXtyZXR1cm4ibGFuZyI9PT1lLm5hbWUmJiJodG1sIiE9PWUudmFsdWV9LE5hPWZ1bmN0
aW9uKGUsdCxuKXtyZXR1cm4hIUVhKGUpfHwhKCF0fHwxIT09bi5sZW5ndGgpJiYhKCJ0ZW1wbGF0
ZSI9PT1lJiYhblswXS5hdHRycy5zb21lKGphKSl9LExhPXt9LE1hPS8mbHQ7L2csUGE9LyZndDsv
ZyxEYT0vJiMxMDsvZyxSYT0vJmFtcDsvZyxCYT0vJnF1b3Q7L2csSWE9L1x7XHsoKD86Lnxcbikr
PylcfVx9L2csSGE9L1stLiorP14ke30oKXxbXF1cL1xcXS9nLEZhPWMoZnVuY3Rpb24oZSl7dmFy
IHQ9ZVswXS5yZXBsYWNlKEhhLCJcXCQmIiksbj1lWzFdLnJlcGxhY2UoSGEsIlxcJCYiKTtyZXR1
cm4gbmV3IFJlZ0V4cCh0KyIoKD86LnxcXG4pKz8pIituLCJnIil9KSxVYT0vXnYtfF5AfF46Lyx6
YT0vKC4qPylccysoPzppbnxvZilccysoLiopLyxWYT0vXCgoXHtbXn1dKlx9fFteLF0qKSwoW14s
XSopKD86LChbXixdKikpP1wpLyxKYT0vXjp8XnYtYmluZDovLHFhPS9eQHxedi1vbjovLEthPS86
KC4qKSQvLFdhPS9cLlteLl0rL2csWmE9YyhzbiksR2E9L154bWxuczpOU1xkKy8sWWE9L15OU1xk
KzovLFFhPWMoS24pLFhhPS9eXHMqKFtcdyRfXSt8XChbXildKj9cKSlccyo9PnxeZnVuY3Rpb25c
cypcKC8sZXM9L15ccypbQS1aYS16XyRdW1x3JF0qKD86XC5bQS1aYS16XyRdW1x3JF0qfFxbJy4q
PyddfFxbIi4qPyJdfFxbXGQrXXxcW1tBLVphLXpfJF1bXHckXSpdKSpccyokLyx0cz17ZXNjOjI3
LHRhYjo5LGVudGVyOjEzLHNwYWNlOjMyLHVwOjM4LGxlZnQ6MzcscmlnaHQ6MzksZG93bjo0MCxk
ZWxldGU6WzgsNDZdfSxucz17c3RvcDoiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyIscHJldmVu
dDoiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IixzZWxmOiJpZigkZXZlbnQudGFyZ2V0ICE9PSAk
ZXZlbnQuY3VycmVudFRhcmdldClyZXR1cm47In0scnM9L15tb3VzZXxecG9pbnRlcnxeKGNsaWNr
fGRibGNsaWNrfGNvbnRleHRtZW51fHdoZWVsKSQvLGlzPXtjdHJsOiJpZighJGV2ZW50LmN0cmxL
ZXkpcmV0dXJuOyIsc2hpZnQ6ImlmKCEkZXZlbnQuc2hpZnRLZXkpcmV0dXJuOyIsYWx0OiJpZigh
JGV2ZW50LmFsdEtleSlyZXR1cm47IixtZXRhOiJpZighJGV2ZW50Lm1ldGFLZXkpcmV0dXJuOyJ9
LG9zPXtiaW5kOnJyLGNsb2FrOnZ9LGFzPShuZXcgUmVnRXhwKCJcXGIiKyJkbyxpZixmb3IsbGV0
LG5ldyx0cnksdmFyLGNhc2UsZWxzZSx3aXRoLGF3YWl0LGJyZWFrLGNhdGNoLGNsYXNzLGNvbnN0
LHN1cGVyLHRocm93LHdoaWxlLHlpZWxkLGRlbGV0ZSxleHBvcnQsaW1wb3J0LHJldHVybixzd2l0
Y2gsZGVmYXVsdCxleHRlbmRzLGZpbmFsbHksY29udGludWUsZGVidWdnZXIsZnVuY3Rpb24sYXJn
dW1lbnRzIi5zcGxpdCgiLCIpLmpvaW4oIlxcYnxcXGIiKSsiXFxiIikse3N0YXRpY0tleXM6WyJz
dGF0aWNDbGFzcyJdLHRyYW5zZm9ybU5vZGU6Q3IsZ2VuRGF0YTpBcn0pLHNzPXtzdGF0aWNLZXlz
Olsic3RhdGljU3R5bGUiXSx0cmFuc2Zvcm1Ob2RlOmtyLGdlbkRhdGE6T3J9LGNzPVthcyxzc10s
dXM9e21vZGVsOlNyLHRleHQ6TXIsaHRtbDpQcn0sbHM9T2JqZWN0LmNyZWF0ZShudWxsKSxmcz17
ZXhwZWN0SFRNTDohMCxtb2R1bGVzOmNzLHN0YXRpY0tleXM6bShjcyksZGlyZWN0aXZlczp1cyxp
c1Jlc2VydmVkVGFnOnJvLGlzVW5hcnlUYWc6UWksbXVzdFVzZVByb3A6emksZ2V0VGFnTmFtZXNw
YWNlOlllLGlzUHJlVGFnOm5vfSxkcz1jKGZ1bmN0aW9uKGUpe3ZhciB0PVhlKGUpO3JldHVybiB0
JiZ0LmlubmVySFRNTH0pLHBzPUllLnByb3RvdHlwZS4kbW91bnQ7SWUucHJvdG90eXBlLiRtb3Vu
dD1mdW5jdGlvbihlLHQpe2lmKGU9ZSYmWGUoZSksZT09PWRvY3VtZW50LmJvZHl8fGU9PT1kb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQpcmV0dXJuIHRoaXM7dmFyIG49dGhpcy4kb3B0aW9ucztpZigh
bi5yZW5kZXIpe3ZhciByPW4udGVtcGxhdGU7aWYocilpZigic3RyaW5nIj09dHlwZW9mIHIpIiMi
PT09ci5jaGFyQXQoMCkmJihyPWRzKHIpKTtlbHNle2lmKCFyLm5vZGVUeXBlKXJldHVybiB0aGlz
O3I9ci5pbm5lckhUTUx9ZWxzZSBlJiYocj1JcihlKSk7aWYocil7dmFyIGk9UnIocix7d2Fybjpk
aSxzaG91bGREZWNvZGVOZXdsaW5lczpxbyxkZWxpbWl0ZXJzOm4uZGVsaW1pdGVyc30sdGhpcyks
bz1pLnJlbmRlcixhPWkuc3RhdGljUmVuZGVyRm5zO24ucmVuZGVyPW8sbi5zdGF0aWNSZW5kZXJG
bnM9YX19cmV0dXJuIHBzLmNhbGwodGhpcyxlLHQpfSxJZS5jb21waWxlPVJyLGUuZXhwb3J0cz1J
ZX0pLmNhbGwodCxmdW5jdGlvbigpe3JldHVybiB0aGlzfSgpKX0sLCxmdW5jdGlvbihlLHQsbil7
IWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXtyZXR1cm4iIj09PXUuaGFzaHx8IiMiPT09dS5oYXNo
fWZ1bmN0aW9uIG4oZSx0KXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rPTEpaWYodChlW25dLG4s
ZSk9PT0hMSlyZXR1cm59ZnVuY3Rpb24gcihlKXtmb3IodmFyIHQ9W10sbj0wLHI9ZS5sZW5ndGg7
bjxyO24rKyl0PXQuY29uY2F0KGVbbl0pO3JldHVybiB0fWZ1bmN0aW9uIGkoZSx0LG4pe2lmKCFl
Lmxlbmd0aClyZXR1cm4gbigpO3ZhciByPTA7IWZ1bmN0aW9uIGkoKXt0KGVbcl0sZnVuY3Rpb24o
dCl7dHx8dD09PSExPyhuKHQpLG49ZnVuY3Rpb24oKXt9KToocis9MSxyPT09ZS5sZW5ndGg/bigp
OmkoKSl9KX0oKX1mdW5jdGlvbiBvKGUsdCxuKXtuPWU7Zm9yKHZhciByIGluIHQpaWYodC5oYXNP
d25Qcm9wZXJ0eShyKSYmKG49dFtyXShlKSxuIT09ZSkpYnJlYWs7cmV0dXJuIG49PT1lPyIoWy5f
YS16QS1aMC05LSUoKV0rKSI6bn1mdW5jdGlvbiBhKGUsdCl7Zm9yKHZhciBuLHI9MCxpPSIiO249
ZS5zdWJzdHIocikubWF0Y2goL1teXHdcZFwtICVAJl0qXCpbXlx3XGRcLSAlQCZdKi8pOylyPW4u
aW5kZXgrblswXS5sZW5ndGgsblswXT1uWzBdLnJlcGxhY2UoL15cKi8sIihbXy4oKSFcXCAlQCZh
LXpBLVowLTktXSspIiksaSs9ZS5zdWJzdHIoMCxuLmluZGV4KStuWzBdO2U9aSs9ZS5zdWJzdHIo
cik7dmFyIGEscyxjPWUubWF0Y2goLzooW15cL10rKS9naSk7aWYoYyl7cz1jLmxlbmd0aDtmb3Io
dmFyIHU9MDt1PHM7dSsrKWE9Y1t1XSxlPSI6OiI9PT1hLnNsaWNlKDAsMik/YS5zbGljZSgxKTpl
LnJlcGxhY2UoYSxvKGEsdCkpfXJldHVybiBlfWZ1bmN0aW9uIGMoZSx0LG4scil7dmFyIGksbz0w
LGE9MCxzPTAsbj0obnx8IigiKS50b1N0cmluZygpLHI9KHJ8fCIpIikudG9TdHJpbmcoKTtmb3Io
aT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgYz1lW2ldO2lmKGMuaW5kZXhPZihuLG8pPmMuaW5kZXhP
ZihyLG8pfHx+Yy5pbmRleE9mKG4sbykmJiF+Yy5pbmRleE9mKHIsbyl8fCF+Yy5pbmRleE9mKG4s
bykmJn5jLmluZGV4T2YocixvKSl7aWYoYT1jLmluZGV4T2YobixvKSxzPWMuaW5kZXhPZihyLG8p
LH5hJiYhfnN8fCF+YSYmfnMpe3ZhciB1PWUuc2xpY2UoMCwoaXx8MSkrMSkuam9pbih0KTtlPVt1
XS5jb25jYXQoZS5zbGljZSgoaXx8MSkrMSkpfW89KHM+YT9zOmEpKzEsaT0wfWVsc2Ugbz0wfXJl
dHVybiBlfXZhciB1PWRvY3VtZW50LmxvY2F0aW9uLGw9e21vZGU6Im1vZGVybiIsaGFzaDp1Lmhh
c2gsaGlzdG9yeTohMSxjaGVjazpmdW5jdGlvbigpe3ZhciBlPXUuaGFzaDtlIT10aGlzLmhhc2gm
Jih0aGlzLmhhc2g9ZSx0aGlzLm9uSGFzaENoYW5nZWQoKSl9LGZpcmU6ZnVuY3Rpb24oKXsibW9k
ZXJuIj09PXRoaXMubW9kZT90aGlzLmhpc3Rvcnk9PT0hMD93aW5kb3cub25wb3BzdGF0ZSgpOndp
bmRvdy5vbmhhc2hjaGFuZ2UoKTp0aGlzLm9uSGFzaENoYW5nZWQoKX0saW5pdDpmdW5jdGlvbihl
LHQpe2Z1bmN0aW9uIG4oZSl7Zm9yKHZhciB0PTAsbj1mLmxpc3RlbmVycy5sZW5ndGg7dDxuO3Qr
KylmLmxpc3RlbmVyc1t0XShlKX12YXIgcj10aGlzO2lmKHRoaXMuaGlzdG9yeT10LGYubGlzdGVu
ZXJzfHwoZi5saXN0ZW5lcnM9W10pLCJvbmhhc2hjaGFuZ2UiaW4gd2luZG93JiYodm9pZCAwPT09
ZG9jdW1lbnQuZG9jdW1lbnRNb2RlfHxkb2N1bWVudC5kb2N1bWVudE1vZGU+NykpdGhpcy5oaXN0
b3J5PT09ITA/c2V0VGltZW91dChmdW5jdGlvbigpe3dpbmRvdy5vbnBvcHN0YXRlPW59LDUwMCk6
d2luZG93Lm9uaGFzaGNoYW5nZT1uLHRoaXMubW9kZT0ibW9kZXJuIjtlbHNle3ZhciBpPWRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpO2kuaWQ9InN0YXRlLWZyYW1lIixpLnN0eWxlLmRp
c3BsYXk9Im5vbmUiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaSksdGhpcy53cml0ZUZyYW1l
KCIiKSwib25wcm9wZXJ0eWNoYW5nZSJpbiBkb2N1bWVudCYmImF0dGFjaEV2ZW50ImluIGRvY3Vt
ZW50JiZkb2N1bWVudC5hdHRhY2hFdmVudCgib25wcm9wZXJ0eWNoYW5nZSIsZnVuY3Rpb24oKXsi
bG9jYXRpb24iPT09ZXZlbnQucHJvcGVydHlOYW1lJiZyLmNoZWNrKCl9KSx3aW5kb3cuc2V0SW50
ZXJ2YWwoZnVuY3Rpb24oKXtyLmNoZWNrKCl9LDUwKSx0aGlzLm9uSGFzaENoYW5nZWQ9bix0aGlz
Lm1vZGU9ImxlZ2FjeSJ9cmV0dXJuIGYubGlzdGVuZXJzLnB1c2goZSksdGhpcy5tb2RlfSxkZXN0
cm95OmZ1bmN0aW9uKGUpe2lmKGYmJmYubGlzdGVuZXJzKWZvcih2YXIgdD1mLmxpc3RlbmVycyxu
PXQubGVuZ3RoLTE7bj49MDtuLS0pdFtuXT09PWUmJnQuc3BsaWNlKG4sMSl9LHNldEhhc2g6ZnVu
Y3Rpb24oZSl7cmV0dXJuImxlZ2FjeSI9PT10aGlzLm1vZGUmJnRoaXMud3JpdGVGcmFtZShlKSx0
aGlzLmhpc3Rvcnk9PT0hMD8od2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKHt9LGRvY3VtZW50LnRp
dGxlLGUpLHRoaXMuZmlyZSgpKTp1Lmhhc2g9Ii8iPT09ZVswXT9lOiIvIitlLHRoaXN9LHdyaXRl
RnJhbWU6ZnVuY3Rpb24oZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXRlLWZy
YW1lIiksbj10LmNvbnRlbnREb2N1bWVudHx8dC5jb250ZW50V2luZG93LmRvY3VtZW50O24ub3Bl
bigpLG4ud3JpdGUoIjxzY3JpcHQ+X2hhc2ggPSAnIitlKyInOyBvbmxvYWQgPSBwYXJlbnQubGlz
dGVuZXIuc3luY0hhc2g7PHNjcmlwdD4iKSxuLmNsb3NlKCl9LHN5bmNIYXNoOmZ1bmN0aW9uKCl7
dmFyIGU9dGhpcy5faGFzaDtyZXR1cm4gZSE9dS5oYXNoJiYodS5oYXNoPWUpLHRoaXN9LG9uSGFz
aENoYW5nZWQ6ZnVuY3Rpb24oKXt9fSxmPWUuUm91dGVyPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlz
IGluc3RhbmNlb2YgZj8odGhpcy5wYXJhbXM9e30sdGhpcy5yb3V0ZXM9e30sdGhpcy5tZXRob2Rz
PVsib24iLCJvbmNlIiwiYWZ0ZXIiLCJiZWZvcmUiXSx0aGlzLnNjb3BlPVtdLHRoaXMuX21ldGhv
ZHM9e30sdGhpcy5faW5zZXJ0PXRoaXMuaW5zZXJ0LHRoaXMuaW5zZXJ0PXRoaXMuaW5zZXJ0RXgs
dGhpcy5oaXN0b3J5U3VwcG9ydD1udWxsIT0obnVsbCE9d2luZG93Lmhpc3Rvcnk/d2luZG93Lmhp
c3RvcnkucHVzaFN0YXRlOm51bGwpLHRoaXMuY29uZmlndXJlKCksdm9pZCB0aGlzLm1vdW50KGV8
fHt9KSk6bmV3IGYoZSl9O2YucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oZSl7dmFyIG4scj10aGlz
O3JldHVybiB0aGlzLmhhbmRsZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9ZSYmZS5uZXdVUkx8fHdpbmRv
dy5sb2NhdGlvbi5oYXNoLG49ci5oaXN0b3J5PT09ITA/ci5nZXRQYXRoKCk6dC5yZXBsYWNlKC8u
KiMvLCIiKTtyLmRpc3BhdGNoKCJvbiIsIi8iPT09bi5jaGFyQXQoMCk/bjoiLyIrbil9LGwuaW5p
dCh0aGlzLmhhbmRsZXIsdGhpcy5oaXN0b3J5KSx0aGlzLmhpc3Rvcnk9PT0hMT90KCkmJmU/dS5o
YXNoPWU6dCgpfHxyLmRpc3BhdGNoKCJvbiIsIi8iK3UuaGFzaC5yZXBsYWNlKC9eKCNcL3wjfFwv
KS8sIiIpKToodGhpcy5jb252ZXJ0X2hhc2hfaW5faW5pdD8obj10KCkmJmU/ZTp0KCk/bnVsbDp1
Lmhhc2gucmVwbGFjZSgvXiMvLCIiKSxuJiZ3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoe30s
ZG9jdW1lbnQudGl0bGUsbikpOm49dGhpcy5nZXRQYXRoKCksKG58fHRoaXMucnVuX2luX2luaXQ9
PT0hMCkmJnRoaXMuaGFuZGxlcigpKSx0aGlzfSxmLnByb3RvdHlwZS5leHBsb2RlPWZ1bmN0aW9u
KCl7dmFyIGU9dGhpcy5oaXN0b3J5PT09ITA/dGhpcy5nZXRQYXRoKCk6dS5oYXNoO3JldHVybiIv
Ij09PWUuY2hhckF0KDEpJiYoZT1lLnNsaWNlKDEpKSxlLnNsaWNlKDEsZS5sZW5ndGgpLnNwbGl0
KCIvIil9LGYucHJvdG90eXBlLnNldFJvdXRlPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10aGlzLmV4
cGxvZGUoKTtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGUmJiJzdHJpbmciPT10eXBlb2YgdD9yW2Vd
PXQ6InN0cmluZyI9PXR5cGVvZiBuP3Iuc3BsaWNlKGUsdCxzKTpyPVtlXSxsLnNldEhhc2goci5q
b2luKCIvIikpLHJ9LGYucHJvdG90eXBlLmluc2VydEV4PWZ1bmN0aW9uKGUsdCxuLHIpe3JldHVy
biJvbmNlIj09PWUmJihlPSJvbiIsbj1mdW5jdGlvbihlKXt2YXIgdD0hMTtyZXR1cm4gZnVuY3Rp
b24oKXtpZighdClyZXR1cm4gdD0hMCxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KG4pKSx0aGlz
Ll9pbnNlcnQoZSx0LG4scil9LGYucHJvdG90eXBlLmdldFJvdXRlPWZ1bmN0aW9uKGUpe3ZhciB0
PWU7aWYoIm51bWJlciI9PXR5cGVvZiBlKXQ9dGhpcy5leHBsb2RlKClbZV07ZWxzZSBpZigic3Ry
aW5nIj09dHlwZW9mIGUpe3ZhciBuPXRoaXMuZXhwbG9kZSgpO3Q9bi5pbmRleE9mKGUpfWVsc2Ug
dD10aGlzLmV4cGxvZGUoKTtyZXR1cm4gdH0sZi5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigp
e3JldHVybiBsLmRlc3Ryb3kodGhpcy5oYW5kbGVyKSx0aGlzfSxmLnByb3RvdHlwZS5nZXRQYXRo
PWZ1bmN0aW9uKCl7dmFyIGU9d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lO3JldHVybiIvIiE9PWUu
c3Vic3RyKDAsMSkmJihlPSIvIitlKSxlfTt2YXIgZD0vXD8uKi87Zi5wcm90b3R5cGUuY29uZmln
dXJlPWZ1bmN0aW9uKGUpe2U9ZXx8e307Zm9yKHZhciB0PTA7dDx0aGlzLm1ldGhvZHMubGVuZ3Ro
O3QrKyl0aGlzLl9tZXRob2RzW3RoaXMubWV0aG9kc1t0XV09ITA7cmV0dXJuIHRoaXMucmVjdXJz
ZT1lLnJlY3Vyc2V8fHRoaXMucmVjdXJzZXx8ITEsdGhpcy5hc3luYz1lLmFzeW5jfHwhMSx0aGlz
LmRlbGltaXRlcj1lLmRlbGltaXRlcnx8Ii8iLHRoaXMuc3RyaWN0PSJ1bmRlZmluZWQiPT10eXBl
b2YgZS5zdHJpY3R8fGUuc3RyaWN0LHRoaXMubm90Zm91bmQ9ZS5ub3Rmb3VuZCx0aGlzLnJlc291
cmNlPWUucmVzb3VyY2UsdGhpcy5oaXN0b3J5PWUuaHRtbDVoaXN0b3J5JiZ0aGlzLmhpc3RvcnlT
dXBwb3J0fHwhMSx0aGlzLnJ1bl9pbl9pbml0PXRoaXMuaGlzdG9yeT09PSEwJiZlLnJ1bl9oYW5k
bGVyX2luX2luaXQhPT0hMSx0aGlzLmNvbnZlcnRfaGFzaF9pbl9pbml0PXRoaXMuaGlzdG9yeT09
PSEwJiZlLmNvbnZlcnRfaGFzaF9pbl9pbml0IT09ITEsdGhpcy5ldmVyeT17YWZ0ZXI6ZS5hZnRl
cnx8bnVsbCxiZWZvcmU6ZS5iZWZvcmV8fG51bGwsb246ZS5vbnx8bnVsbH0sdGhpc30sZi5wcm90
b3R5cGUucGFyYW09ZnVuY3Rpb24oZSx0KXsiOiIhPT1lWzBdJiYoZT0iOiIrZSk7dmFyIG49bmV3
IFJlZ0V4cChlLCJnIik7cmV0dXJuIHRoaXMucGFyYW1zW2VdPWZ1bmN0aW9uKGUpe3JldHVybiBl
LnJlcGxhY2Uobix0LnNvdXJjZXx8dCl9LHRoaXN9LGYucHJvdG90eXBlLm9uPWYucHJvdG90eXBl
LnJvdXRlPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10aGlzO3JldHVybiBufHwiZnVuY3Rpb24iIT10
eXBlb2YgdHx8KG49dCx0PWUsZT0ib24iKSxBcnJheS5pc0FycmF5KHQpP3QuZm9yRWFjaChmdW5j
dGlvbih0KXtyLm9uKGUsdCxuKX0pOih0LnNvdXJjZSYmKHQ9dC5zb3VyY2UucmVwbGFjZSgvXFxc
Ly9naSwiLyIpKSxBcnJheS5pc0FycmF5KGUpP2UuZm9yRWFjaChmdW5jdGlvbihlKXtyLm9uKGUu
dG9Mb3dlckNhc2UoKSx0LG4pfSk6KHQ9dC5zcGxpdChuZXcgUmVnRXhwKHRoaXMuZGVsaW1pdGVy
KSksdD1jKHQsdGhpcy5kZWxpbWl0ZXIpLHZvaWQgdGhpcy5pbnNlcnQoZSx0aGlzLnNjb3BlLmNv
bmNhdCh0KSxuKSkpfSxmLnByb3RvdHlwZS5wYXRoPWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcy5z
Y29wZS5sZW5ndGg7ZS5zb3VyY2UmJihlPWUuc291cmNlLnJlcGxhY2UoL1xcXC8vZ2ksIi8iKSks
ZT1lLnNwbGl0KG5ldyBSZWdFeHAodGhpcy5kZWxpbWl0ZXIpKSxlPWMoZSx0aGlzLmRlbGltaXRl
ciksdGhpcy5zY29wZT10aGlzLnNjb3BlLmNvbmNhdChlKSx0LmNhbGwodGhpcyx0aGlzKSx0aGlz
LnNjb3BlLnNwbGljZShuLGUubGVuZ3RoKX0sZi5wcm90b3R5cGUuZGlzcGF0Y2g9ZnVuY3Rpb24o
ZSx0LG4pe2Z1bmN0aW9uIHIoKXtvLmxhc3Q9YS5hZnRlcixvLmludm9rZShvLnJ1bmxpc3QoYSks
byxuKX12YXIgaSxvPXRoaXMsYT10aGlzLnRyYXZlcnNlKGUsdC5yZXBsYWNlKGQsIiIpLHRoaXMu
cm91dGVzLCIiKSxzPXRoaXMuX2ludm9rZWQ7cmV0dXJuIHRoaXMuX2ludm9rZWQ9ITAsYSYmMCE9
PWEubGVuZ3RoPygiZm9yd2FyZCI9PT10aGlzLnJlY3Vyc2UmJihhPWEucmV2ZXJzZSgpKSxpPXRo
aXMuZXZlcnkmJnRoaXMuZXZlcnkuYWZ0ZXI/W3RoaXMuZXZlcnkuYWZ0ZXJdLmNvbmNhdCh0aGlz
Lmxhc3QpOlt0aGlzLmxhc3RdLGkmJmkubGVuZ3RoPjAmJnM/KHRoaXMuYXN5bmM/dGhpcy5pbnZv
a2UoaSx0aGlzLHIpOih0aGlzLmludm9rZShpLHRoaXMpLHIoKSksITApOihyKCksITApKToodGhp
cy5sYXN0PVtdLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLm5vdGZvdW5kJiZ0aGlzLmludm9rZShb
dGhpcy5ub3Rmb3VuZF0se21ldGhvZDplLHBhdGg6dH0sbiksITEpfSxmLnByb3RvdHlwZS5pbnZv
a2U9ZnVuY3Rpb24oZSx0LHIpe3ZhciBvLGE9dGhpczt0aGlzLmFzeW5jPyhvPWZ1bmN0aW9uKG4s
cil7cmV0dXJuIEFycmF5LmlzQXJyYXkobik/aShuLG8scik6dm9pZCgiZnVuY3Rpb24iPT10eXBl
b2YgbiYmbi5hcHBseSh0LChlLmNhcHR1cmVzfHxbXSkuY29uY2F0KHIpKSl9LGkoZSxvLGZ1bmN0
aW9uKCl7ciYmci5hcHBseSh0LGFyZ3VtZW50cyl9KSk6KG89ZnVuY3Rpb24ocil7cmV0dXJuIEFy
cmF5LmlzQXJyYXkocik/bihyLG8pOiJmdW5jdGlvbiI9PXR5cGVvZiByP3IuYXBwbHkodCxlLmNh
cHR1cmVzfHxbXSk6dm9pZCgic3RyaW5nIj09dHlwZW9mIHImJmEucmVzb3VyY2UmJmEucmVzb3Vy
Y2Vbcl0uYXBwbHkodCxlLmNhcHR1cmVzfHxbXSkpfSxuKGUsbykpfSxmLnByb3RvdHlwZS50cmF2
ZXJzZT1mdW5jdGlvbihlLHQsbixyLGkpe2Z1bmN0aW9uIG8oZSl7ZnVuY3Rpb24gdChlKXtmb3Io
dmFyIG49W10scj0wO3I8ZS5sZW5ndGg7cisrKW5bcl09QXJyYXkuaXNBcnJheShlW3JdKT90KGVb
cl0pOmVbcl07cmV0dXJuIG59ZnVuY3Rpb24gbihlKXtmb3IodmFyIHQ9ZS5sZW5ndGgtMTt0Pj0w
O3QtLSlBcnJheS5pc0FycmF5KGVbdF0pPyhuKGVbdF0pLDA9PT1lW3RdLmxlbmd0aCYmZS5zcGxp
Y2UodCwxKSk6aShlW3RdKXx8ZS5zcGxpY2UodCwxKX1pZighaSlyZXR1cm4gZTt2YXIgcj10KGUp
O3JldHVybiByLm1hdGNoZWQ9ZS5tYXRjaGVkLHIuY2FwdHVyZXM9ZS5jYXB0dXJlcyxyLmFmdGVy
PWUuYWZ0ZXIuZmlsdGVyKGkpLG4ocikscn12YXIgYSxzLGMsdSxsPVtdO2lmKHQ9PT10aGlzLmRl
bGltaXRlciYmbltlXSlyZXR1cm4gdT1bW24uYmVmb3JlLG5bZV1dLmZpbHRlcihCb29sZWFuKV0s
dS5hZnRlcj1bbi5hZnRlcl0uZmlsdGVyKEJvb2xlYW4pLHUubWF0Y2hlZD0hMCx1LmNhcHR1cmVz
PVtdLG8odSk7Zm9yKHZhciBmIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShmKSYmKCF0aGlzLl9t
ZXRob2RzW2ZdfHx0aGlzLl9tZXRob2RzW2ZdJiYib2JqZWN0Ij09dHlwZW9mIG5bZl0mJiFBcnJh
eS5pc0FycmF5KG5bZl0pKSl7aWYoYT1zPXIrdGhpcy5kZWxpbWl0ZXIrZix0aGlzLnN0cmljdHx8
KHMrPSJbIit0aGlzLmRlbGltaXRlcisiXT8iKSxjPXQubWF0Y2gobmV3IFJlZ0V4cCgiXiIrcykp
LCFjKWNvbnRpbnVlO2lmKGNbMF0mJmNbMF09PXQmJm5bZl1bZV0pcmV0dXJuIHU9W1tuW2ZdLmJl
Zm9yZSxuW2ZdW2VdXS5maWx0ZXIoQm9vbGVhbildLHUuYWZ0ZXI9W25bZl0uYWZ0ZXJdLmZpbHRl
cihCb29sZWFuKSx1Lm1hdGNoZWQ9ITAsdS5jYXB0dXJlcz1jLnNsaWNlKDEpLHRoaXMucmVjdXJz
ZSYmbj09PXRoaXMucm91dGVzJiYodS5wdXNoKFtuLmJlZm9yZSxuLm9uXS5maWx0ZXIoQm9vbGVh
bikpLHUuYWZ0ZXI9dS5hZnRlci5jb25jYXQoW24uYWZ0ZXJdLmZpbHRlcihCb29sZWFuKSkpLG8o
dSk7aWYodT10aGlzLnRyYXZlcnNlKGUsdCxuW2ZdLGEpLHUubWF0Y2hlZClyZXR1cm4gdS5sZW5n
dGg+MCYmKGw9bC5jb25jYXQodSkpLHRoaXMucmVjdXJzZSYmKGwucHVzaChbbltmXS5iZWZvcmUs
bltmXS5vbl0uZmlsdGVyKEJvb2xlYW4pKSx1LmFmdGVyPXUuYWZ0ZXIuY29uY2F0KFtuW2ZdLmFm
dGVyXS5maWx0ZXIoQm9vbGVhbikpLG49PT10aGlzLnJvdXRlcyYmKGwucHVzaChbbi5iZWZvcmUs
bi5vbl0uZmlsdGVyKEJvb2xlYW4pKSx1LmFmdGVyPXUuYWZ0ZXIuY29uY2F0KFtuLmFmdGVyXS5m
aWx0ZXIoQm9vbGVhbikpKSksbC5tYXRjaGVkPSEwLGwuY2FwdHVyZXM9dS5jYXB0dXJlcyxsLmFm
dGVyPXUuYWZ0ZXIsbyhsKX1yZXR1cm4hMX0sZi5wcm90b3R5cGUuaW5zZXJ0PWZ1bmN0aW9uKGUs
dCxuLHIpe3ZhciBpLG8scyxjLHU7aWYodD10LmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZSYm
ZS5sZW5ndGg+MH0pLHI9cnx8dGhpcy5yb3V0ZXMsdT10LnNoaWZ0KCksL1w6fFwqLy50ZXN0KHUp
JiYhL1xcZHxcXHcvLnRlc3QodSkmJih1PWEodSx0aGlzLnBhcmFtcykpLHQubGVuZ3RoPjApcmV0
dXJuIHJbdV09clt1XXx8e30sdGhpcy5pbnNlcnQoZSx0LG4sclt1XSk7aWYodXx8dC5sZW5ndGh8
fHIhPT10aGlzLnJvdXRlcyl7aWYobz10eXBlb2Ygclt1XSxzPUFycmF5LmlzQXJyYXkoclt1XSks
clt1XSYmIXMmJiJvYmplY3QiPT1vKXN3aXRjaChpPXR5cGVvZiByW3VdW2VdKXtjYXNlImZ1bmN0
aW9uIjpyZXR1cm4gdm9pZChyW3VdW2VdPVtyW3VdW2VdLG5dKTtjYXNlIm9iamVjdCI6cmV0dXJu
IHZvaWQgclt1XVtlXS5wdXNoKG4pO2Nhc2UidW5kZWZpbmVkIjpyZXR1cm4gdm9pZChyW3VdW2Vd
PW4pfWVsc2UgaWYoInVuZGVmaW5lZCI9PW8pcmV0dXJuIGM9e30sY1tlXT1uLHZvaWQoclt1XT1j
KTt0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgcm91dGUgY29udGV4dDogIitvKX1zd2l0Y2goaT10
eXBlb2YgcltlXSl7Y2FzZSJmdW5jdGlvbiI6cmV0dXJuIHZvaWQocltlXT1bcltlXSxuXSk7Y2Fz
ZSJvYmplY3QiOnJldHVybiB2b2lkIHJbZV0ucHVzaChuKTtjYXNlInVuZGVmaW5lZCI6cmV0dXJu
IHZvaWQocltlXT1uKX19LGYucHJvdG90eXBlLmV4dGVuZD1mdW5jdGlvbihlKXtmdW5jdGlvbiB0
KGUpe3IuX21ldGhvZHNbZV09ITAscltlXT1mdW5jdGlvbigpe3ZhciB0PTE9PT1hcmd1bWVudHMu
bGVuZ3RoP1tlLCIiXTpbZV07ci5vbi5hcHBseShyLHQuY29uY2F0KEFycmF5LnByb3RvdHlwZS5z
bGljZS5jYWxsKGFyZ3VtZW50cykpKX19dmFyIG4scj10aGlzLGk9ZS5sZW5ndGg7Zm9yKG49MDtu
PGk7bisrKXQoZVtuXSl9LGYucHJvdG90eXBlLnJ1bmxpc3Q9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhp
cy5ldmVyeSYmdGhpcy5ldmVyeS5iZWZvcmU/W3RoaXMuZXZlcnkuYmVmb3JlXS5jb25jYXQocihl
KSk6cihlKTtyZXR1cm4gdGhpcy5ldmVyeSYmdGhpcy5ldmVyeS5vbiYmdC5wdXNoKHRoaXMuZXZl
cnkub24pLHQuY2FwdHVyZXM9ZS5jYXB0dXJlcyx0LnNvdXJjZT1lLnNvdXJjZSx0fSxmLnByb3Rv
dHlwZS5tb3VudD1mdW5jdGlvbihlLHQpe2Z1bmN0aW9uIG4odCxuKXt2YXIgaT10LG89dC5zcGxp
dChyLmRlbGltaXRlciksYT10eXBlb2YgZVt0XSxzPSIiPT09b1swXXx8IXIuX21ldGhvZHNbb1sw
XV0sdT1zPyJvbiI6aTtyZXR1cm4gcyYmKGk9aS5zbGljZSgoaS5tYXRjaChuZXcgUmVnRXhwKCJe
IityLmRlbGltaXRlcikpfHxbIiJdKVswXS5sZW5ndGgpLG8uc2hpZnQoKSkscyYmIm9iamVjdCI9
PT1hJiYhQXJyYXkuaXNBcnJheShlW3RdKT8obj1uLmNvbmNhdChvKSx2b2lkIHIubW91bnQoZVt0
XSxuKSk6KHMmJihuPW4uY29uY2F0KGkuc3BsaXQoci5kZWxpbWl0ZXIpKSxuPWMobixyLmRlbGlt
aXRlcikpLHZvaWQgci5pbnNlcnQodSxuLGVbdF0pKX1pZihlJiYib2JqZWN0Ij09dHlwZW9mIGUm
JiFBcnJheS5pc0FycmF5KGUpKXt2YXIgcj10aGlzO3Q9dHx8W10sQXJyYXkuaXNBcnJheSh0KXx8
KHQ9dC5zcGxpdChyLmRlbGltaXRlcikpO2Zvcih2YXIgaSBpbiBlKWUuaGFzT3duUHJvcGVydHko
aSkmJm4oaSx0LnNsaWNlKDApKX19fSh0KX0sLCwsLCxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz1m
dW5jdGlvbigpe3ZhciBlPVtdO3JldHVybiBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7Zm9yKHZhciBl
PVtdLHQ9MDt0PHRoaXMubGVuZ3RoO3QrKyl7dmFyIG49dGhpc1t0XTtuWzJdP2UucHVzaCgiQG1l
ZGlhICIrblsyXSsieyIrblsxXSsifSIpOmUucHVzaChuWzFdKX1yZXR1cm4gZS5qb2luKCIiKX0s
ZS5pPWZ1bmN0aW9uKHQsbil7InN0cmluZyI9PXR5cGVvZiB0JiYodD1bW251bGwsdCwiIl1dKTtm
b3IodmFyIHI9e30saT0wO2k8dGhpcy5sZW5ndGg7aSsrKXt2YXIgbz10aGlzW2ldWzBdOyJudW1i
ZXIiPT10eXBlb2YgbyYmKHJbb109ITApfWZvcihpPTA7aTx0Lmxlbmd0aDtpKyspe3ZhciBhPXRb
aV07Im51bWJlciI9PXR5cGVvZiBhWzBdJiZyW2FbMF1dfHwobiYmIWFbMl0/YVsyXT1uOm4mJihh
WzJdPSIoIithWzJdKyIpIGFuZCAoIituKyIpIiksZS5wdXNoKGEpKX19LGV9fSxmdW5jdGlvbihl
LHQsbil7ZnVuY3Rpb24gcihlLHQpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1l
W25dLGk9ZltyLmlkXTtpZihpKXtpLnJlZnMrKztmb3IodmFyIG89MDtvPGkucGFydHMubGVuZ3Ro
O28rKylpLnBhcnRzW29dKHIucGFydHNbb10pO2Zvcig7bzxyLnBhcnRzLmxlbmd0aDtvKyspaS5w
YXJ0cy5wdXNoKGMoci5wYXJ0c1tvXSx0KSl9ZWxzZXtmb3IodmFyIGE9W10sbz0wO288ci5wYXJ0
cy5sZW5ndGg7bysrKWEucHVzaChjKHIucGFydHNbb10sdCkpO2Zbci5pZF09e2lkOnIuaWQscmVm
czoxLHBhcnRzOmF9fX19ZnVuY3Rpb24gaShlKXtmb3IodmFyIHQ9W10sbj17fSxyPTA7cjxlLmxl
bmd0aDtyKyspe3ZhciBpPWVbcl0sbz1pWzBdLGE9aVsxXSxzPWlbMl0sYz1pWzNdLHU9e2Nzczph
LG1lZGlhOnMsc291cmNlTWFwOmN9O25bb10/bltvXS5wYXJ0cy5wdXNoKHUpOnQucHVzaChuW29d
PXtpZDpvLHBhcnRzOlt1XX0pfXJldHVybiB0fWZ1bmN0aW9uIG8oZSx0KXt2YXIgbj1oKCkscj1n
W2cubGVuZ3RoLTFdO2lmKCJ0b3AiPT09ZS5pbnNlcnRBdClyP3IubmV4dFNpYmxpbmc/bi5pbnNl
cnRCZWZvcmUodCxyLm5leHRTaWJsaW5nKTpuLmFwcGVuZENoaWxkKHQpOm4uaW5zZXJ0QmVmb3Jl
KHQsbi5maXJzdENoaWxkKSxnLnB1c2godCk7ZWxzZXtpZigiYm90dG9tIiE9PWUuaW5zZXJ0QXQp
dGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHZhbHVlIGZvciBwYXJhbWV0ZXIgJ2luc2VydEF0Jy4g
TXVzdCBiZSAndG9wJyBvciAnYm90dG9tJy4iKTtuLmFwcGVuZENoaWxkKHQpfX1mdW5jdGlvbiBh
KGUpe2UucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKTt2YXIgdD1nLmluZGV4T2YoZSk7dD49MCYm
Zy5zcGxpY2UodCwxKX1mdW5jdGlvbiBzKGUpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InN0eWxlIik7cmV0dXJuIHQudHlwZT0idGV4dC9jc3MiLG8oZSx0KSx0fWZ1bmN0aW9uIGMoZSx0
KXt2YXIgbixyLGk7aWYodC5zaW5nbGV0b24pe3ZhciBvPW0rKztuPXZ8fCh2PXModCkpLHI9dS5i
aW5kKG51bGwsbixvLCExKSxpPXUuYmluZChudWxsLG4sbywhMCl9ZWxzZSBuPXModCkscj1sLmJp
bmQobnVsbCxuKSxpPWZ1bmN0aW9uKCl7YShuKX07cmV0dXJuIHIoZSksZnVuY3Rpb24odCl7aWYo
dCl7aWYodC5jc3M9PT1lLmNzcyYmdC5tZWRpYT09PWUubWVkaWEmJnQuc291cmNlTWFwPT09ZS5z
b3VyY2VNYXApcmV0dXJuO3IoZT10KX1lbHNlIGkoKX19ZnVuY3Rpb24gdShlLHQsbixyKXt2YXIg
aT1uPyIiOnIuY3NzO2lmKGUuc3R5bGVTaGVldCllLnN0eWxlU2hlZXQuY3NzVGV4dD15KHQsaSk7
ZWxzZXt2YXIgbz1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShpKSxhPWUuY2hpbGROb2RlczthW3Rd
JiZlLnJlbW92ZUNoaWxkKGFbdF0pLGEubGVuZ3RoP2UuaW5zZXJ0QmVmb3JlKG8sYVt0XSk6ZS5h
cHBlbmRDaGlsZChvKX19ZnVuY3Rpb24gbChlLHQpe3ZhciBuPXQuY3NzLHI9dC5tZWRpYSxpPXQu
c291cmNlTWFwO2lmKHImJmUuc2V0QXR0cmlidXRlKCJtZWRpYSIsciksaSYmKG4rPSJcbi8qIyBz
b3VyY2VVUkw9IitpLnNvdXJjZXNbMF0rIiAqLyIsbis9IlxuLyojIHNvdXJjZU1hcHBpbmdVUkw9
ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCwiK2J0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29t
cG9uZW50KEpTT04uc3RyaW5naWZ5KGkpKSkpKyIgKi8iKSxlLnN0eWxlU2hlZXQpZS5zdHlsZVNo
ZWV0LmNzc1RleHQ9bjtlbHNle2Zvcig7ZS5maXJzdENoaWxkOyllLnJlbW92ZUNoaWxkKGUuZmly
c3RDaGlsZCk7ZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShuKSl9fXZhciBm
PXt9LGQ9ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuInVuZGVmaW5l
ZCI9PXR5cGVvZiB0JiYodD1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksdH19LHA9ZChmdW5jdGlv
bigpe3JldHVybi9tc2llIFs2LTldXGIvLnRlc3Qod2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQu
dG9Mb3dlckNhc2UoKSl9KSxoPWQoZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuaGVhZHx8ZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXX0pLHY9bnVsbCxtPTAsZz1bXTtl
LmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt0PXR8fHt9LCJ1bmRlZmluZWQiPT10eXBlb2YgdC5zaW5n
bGV0b24mJih0LnNpbmdsZXRvbj1wKCkpLCJ1bmRlZmluZWQiPT10eXBlb2YgdC5pbnNlcnRBdCYm
KHQuaW5zZXJ0QXQ9ImJvdHRvbSIpO3ZhciBuPWkoZSk7cmV0dXJuIHIobix0KSxmdW5jdGlvbihl
KXtmb3IodmFyIG89W10sYT0wO2E8bi5sZW5ndGg7YSsrKXt2YXIgcz1uW2FdLGM9ZltzLmlkXTtj
LnJlZnMtLSxvLnB1c2goYyl9aWYoZSl7dmFyIHU9aShlKTtyKHUsdCl9Zm9yKHZhciBhPTA7YTxv
Lmxlbmd0aDthKyspe3ZhciBjPW9bYV07aWYoMD09PWMucmVmcyl7Zm9yKHZhciBsPTA7bDxjLnBh
cnRzLmxlbmd0aDtsKyspYy5wYXJ0c1tsXSgpO2RlbGV0ZSBmW2MuaWRdfX19fTt2YXIgeT1mdW5j
dGlvbigpe3ZhciBlPVtdO3JldHVybiBmdW5jdGlvbih0LG4pe3JldHVybiBlW3RdPW4sZS5maWx0
ZXIoQm9vbGVhbikuam9pbigiXG4iKX19KCl9XSk7Ci0vLyMgc291cmNlTWFwcGluZ1VSTD12ZW5k
b3IuYTUyNTE3YzVhYTk4ZTdmYmVhMmUuanMubWFwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9k
b212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVlanMtY2xpL3BhY2thZ2UtbG9jay5qc29uIGIv
UGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1
cmUtZXhhbXBsZXMvdnVlanMtY2xpL3BhY2thZ2UtbG9jay5qc29uCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIxZTY5
OWI5MWI3NGM2NmNiMWMzODk1OTRhZjdjOTg0OWYyZGVmZGYKLS0tIC9kZXYvbnVsbAorKysgYi9Q
ZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVy
ZS1leGFtcGxlcy92dWVqcy1jbGkvcGFja2FnZS1sb2NrLmpzb24KQEAgLTAsMCArMSw2ODI2IEBA
Cit7CisgICJyZXF1aXJlcyI6IHRydWUsCisgICJsb2NrZmlsZVZlcnNpb24iOiAxLAorICAiZGVw
ZW5kZW5jaWVzIjogeworICAgICJhYmJyZXYiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjEuMCIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYWJicmV2Ly0v
YWJicmV2LTEuMS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtMEZWTUlsWmpiaTlX
NThMbHJSZy9oWlFvMkI4PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImFjY2Vw
dHMiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjMuMyIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYWNjZXB0cy8tL2FjY2VwdHMtMS4zLjMudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS13OHAwTkpPR1NNUGcyY0hqS04xb3RpTENoTW89IiwKKyAg
ICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAibWltZS10eXBl
cyI6ICIyLjEuMTYiLAorICAgICAgICAibmVnb3RpYXRvciI6ICIwLjYuMSIKKyAgICAgIH0KKyAg
ICB9LAorICAgICJhY29ybiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjUuMS4xIiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9hY29ybi8tL2Fjb3JuLTUuMS4x
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi12T2s2dUVNY3R1MHZRcnZ1U3FGZEp5
cWoxUTBTNVZUREw3OXF0am8rRGhScisxbW1hRCt0bHVGU0NacWh2aS9KVWhYU3pvWk4yQmh0c3Rh
UEVlRThjdz09IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiYWNvcm4tZHluYW1p
Yy1pbXBvcnQiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjAuMiIsCisgICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYWNvcm4tZHluYW1pYy1pbXBvcnQvLS9hY29y
bi1keW5hbWljLWltcG9ydC0yLjAuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXgx
SzlJUXZ2WjVVQnRzYkxmOGhQajBjVmpNUT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAi
cmVxdWlyZXMiOiB7CisgICAgICAgICJhY29ybiI6ICI0LjAuMTMiCisgICAgICB9LAorICAgICAg
ImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAgImFjb3JuIjogeworICAgICAgICAgICJ2ZXJzaW9u
IjogIjQuMC4xMyIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL2Fjb3JuLy0vYWNvcm4tNC4wLjEzLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6
ICJzaGExLUVGU1ZybE5oMXBlOUdWeUNVWkxoclg4bE40Yz0iLAorICAgICAgICAgICJkZXYiOiB0
cnVlCisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9LAorICAgICJhanYiOiB7CisgICAgICAidmVy
c2lvbiI6ICI1LjIuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvYWp2Ly0vYWp2LTUuMi4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtUjhh
TmFlaHZYWlV4QTdBSFNwUXczR1BhWGprPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJy
ZXF1aXJlcyI6IHsKKyAgICAgICAgImNvIjogIjQuNi4wIiwKKyAgICAgICAgImZhc3QtZGVlcC1l
cXVhbCI6ICIxLjAuMCIsCisgICAgICAgICJqc29uLXNjaGVtYS10cmF2ZXJzZSI6ICIwLjMuMSIs
CisgICAgICAgICJqc29uLXN0YWJsZS1zdHJpbmdpZnkiOiAiMS4wLjEiCisgICAgICB9CisgICAg
fSwKKyAgICAiYWp2LWtleXdvcmRzIjogeworICAgICAgInZlcnNpb24iOiAiMS41LjEiLAorICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Fqdi1rZXl3b3Jkcy8t
L2Fqdi1rZXl3b3Jkcy0xLjUuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLU1VM1Fw
TE0yajYwOS9OeFU3ZVlYRzRodHJ6dz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAg
ICJhbGlnbi10ZXh0IjogeworICAgICAgInZlcnNpb24iOiAiMC4xLjQiLAorICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2FsaWduLXRleHQvLS9hbGlnbi10ZXh0
LTAuMS40LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtRE5rS1ZoQ1Q4MTBLbVNWc0ly
Y0dsRFA2MFJjPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAg
ICAgICAgImtpbmQtb2YiOiAiMy4yLjIiLAorICAgICAgICAibG9uZ2VzdCI6ICIxLjAuMSIsCisg
ICAgICAgICJyZXBlYXQtc3RyaW5nIjogIjEuNi4xIgorICAgICAgfQorICAgIH0sCisgICAgImFs
cGhhbnVtLXNvcnQiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMiIsCisgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYWxwaGFudW0tc29ydC8tL2FscGhhbnVt
LXNvcnQtMS4wLjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1sNkVSbGtteUVhMHph
UjJmbjBocWpzbjc0S009IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiYW5zaS1o
dG1sIjogeworICAgICAgInZlcnNpb24iOiAiMC4wLjciLAorICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Fuc2ktaHRtbC8tL2Fuc2ktaHRtbC0wLjAuNy50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLWdUV0VBaGxpcWVubS9RT2ZsQTBTOVd5bmhaND0i
LAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJhbnNpLXJlZ2V4IjogeworICAgICAg
InZlcnNpb24iOiAiMi4xLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2Fuc2ktcmVnZXgvLS9hbnNpLXJlZ2V4LTIuMS4xLnRneiIsCisgICAgICAiaW50
ZWdyaXR5IjogInNoYTEtdzdNNnRlNDJEWWJnNWlqd1Jvcm43eWZXVk44PSIsCisgICAgICAiZGV2
IjogdHJ1ZQorICAgIH0sCisgICAgImFuc2ktc3R5bGVzIjogeworICAgICAgInZlcnNpb24iOiAi
Mi4yLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Fu
c2ktc3R5bGVzLy0vYW5zaS1zdHlsZXMtMi4yLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS10RExkTTFpMk5NOTE0ZVJtUTJna0JUUEIzYjQ9IiwKKyAgICAgICJkZXYiOiB0cnVlCisg
ICAgfSwKKyAgICAiYW55bWF0Y2giOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjMuMiIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYW55bWF0Y2gvLS9hbnlt
YXRjaC0xLjMuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGE1MTItMFhOYXlDOGxUSFEy
T0k4YWxqTkNOM3NTeDZoc3IvMStybGNEQW90WEpSN0Mxb1paSENOc2ZwYkt3TWpSQTNVcWI1dEYx
UmFlMm9sb1RyNHhwcStXakE9PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJl
cyI6IHsKKyAgICAgICAgIm1pY3JvbWF0Y2giOiAiMi4zLjExIiwKKyAgICAgICAgIm5vcm1hbGl6
ZS1wYXRoIjogIjIuMS4xIgorICAgICAgfQorICAgIH0sCisgICAgImFyZ3BhcnNlIjogeworICAg
ICAgInZlcnNpb24iOiAiMS4wLjkiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2FyZ3BhcnNlLy0vYXJncGFyc2UtMS4wLjkudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1jOWc3d21QNGJwZjR6RTlycmhzT2tLZlNMSVk9IiwKKyAgICAgICJkZXYi
OiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAic3ByaW50Zi1qcyI6ICIxLjAu
MyIKKyAgICAgIH0KKyAgICB9LAorICAgICJhcnItZGlmZiI6IHsKKyAgICAgICJ2ZXJzaW9uIjog
IjIuMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9h
cnItZGlmZi8tL2Fyci1kaWZmLTIuMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
anp1Q2Y1VmFpOVpwYVg1S1FsYXNQT3JqVnM4PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAg
ICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImFyci1mbGF0dGVuIjogIjEuMS4wIgorICAgICAgfQor
ICAgIH0sCisgICAgImFyci1mbGF0dGVuIjogeworICAgICAgInZlcnNpb24iOiAiMS4xLjAiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Fyci1mbGF0dGVu
Ly0vYXJyLWZsYXR0ZW4tMS4xLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLUwz
aEtWNVIvcDVvODFSN08wMklHbndwRG1rcDZFOTgyWGh0YnV3U2UzTzRxT3RNTU10b2RpY0FTQTFD
bnkyVSthQ1hjTnBtbCttNGRQc3ZzSjNqYXRnPT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9
LAorICAgICJhcnJheS1mbGF0dGVuIjogeworICAgICAgInZlcnNpb24iOiAiMS4xLjEiLAorICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2FycmF5LWZsYXR0ZW4v
LS9hcnJheS1mbGF0dGVuLTEuMS4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtbWw5
cGtGR3g1d2N6S1BLZ0NKYUxaT29wVmRJPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisg
ICAgImFycmF5LXVuaXF1ZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMi4xIiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9hcnJheS11bmlxdWUvLS9hcnJh
eS11bmlxdWUtMC4yLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1vZGw4eXZ5OEpp
WE1jUHJjNnphbERGaXdHbE09IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiYXNu
MS5qcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjQuOS4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9hc24xLmpzLy0vYXNuMS5qcy00LjkuMS50Z3oiLAor
ICAgICAgImludGVncml0eSI6ICJzaGExLVNMb2tDMFdwS0E2VWRJbVF1bGw5SVdZWC9VQT0iLAor
ICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJibi5qcyI6
ICI0LjExLjgiLAorICAgICAgICAiaW5oZXJpdHMiOiAiMi4wLjMiLAorICAgICAgICAibWluaW1h
bGlzdGljLWFzc2VydCI6ICIxLjAuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJhc3NlcnQiOiB7
CisgICAgICAidmVyc2lvbiI6ICIxLjQuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvYXNzZXJ0Ly0vYXNzZXJ0LTEuNC4xLnRneiIsCisgICAgICAiaW50
ZWdyaXR5IjogInNoYTEtbVpFdFdSZzJ0YWIxczBYQThIN3Z3SS9HWFpFPSIsCisgICAgICAiZGV2
IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgInV0aWwiOiAiMC4xMC4zIgor
ICAgICAgfQorICAgIH0sCisgICAgImFzeW5jIjogeworICAgICAgInZlcnNpb24iOiAiMi41LjAi
LAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2FzeW5jLy0v
YXN5bmMtMi41LjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLWUrbEpBSmVOV3VQ
Q055eFpLT0JkYUpHeUxHSHVnWFZRdHJBd3R1QWUydmh4VFl4RlRLRTczcDhKdVRtZEgwcWRRWnRE
dkk0ZGhKd2paYzV6c2ZJc1l3PT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWly
ZXMiOiB7CisgICAgICAgICJsb2Rhc2giOiAiNC4xNy40IgorICAgICAgfQorICAgIH0sCisgICAg
ImFzeW5jLWVhY2giOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMSIsCisgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYXN5bmMtZWFjaC8tL2FzeW5jLWVhY2gt
MS4wLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1HZE9Hb2RudHh1ZkJ5RjA0aXUy
OHhXMHpZQzA9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiYXV0b3ByZWZpeGVy
IjogeworICAgICAgInZlcnNpb24iOiAiNi43LjciLAorICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL2F1dG9wcmVmaXhlci8tL2F1dG9wcmVmaXhlci02LjcuNy50
Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUhiMGNnMVpZNDF6aitaaEFtZHNBV0Z4NElC
UT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJi
cm93c2Vyc2xpc3QiOiAiMS43LjciLAorICAgICAgICAiY2FuaXVzZS1kYiI6ICIxLjAuMzAwMDA3
MTUiLAorICAgICAgICAibm9ybWFsaXplLXJhbmdlIjogIjAuMS4yIiwKKyAgICAgICAgIm51bTJm
cmFjdGlvbiI6ICIxLjIuMiIsCisgICAgICAgICJwb3N0Y3NzIjogIjUuMi4xNyIsCisgICAgICAg
ICJwb3N0Y3NzLXZhbHVlLXBhcnNlciI6ICIzLjMuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJi
YWJlbC1jb2RlLWZyYW1lIjogeworICAgICAgInZlcnNpb24iOiAiNi4yNi4wIiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1jb2RlLWZyYW1lLy0v
YmFiZWwtY29kZS1mcmFtZS02LjI2LjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1Z
LzFEOTl3ZU83Zk9OWlI5dVA0Mm1qOVl4MHM9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
InJlcXVpcmVzIjogeworICAgICAgICAiY2hhbGsiOiAiMS4xLjMiLAorICAgICAgICAiZXN1dGls
cyI6ICIyLjAuMiIsCisgICAgICAgICJqcy10b2tlbnMiOiAiMy4wLjIiCisgICAgICB9CisgICAg
fSwKKyAgICAiYmFiZWwtY29yZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjYuMCIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtY29yZS8tL2Jh
YmVsLWNvcmUtNi4yNi4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtcnpMM2l6R20v
TzhSbklldy9ZMlhVL0E2QzdnPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJl
cyI6IHsKKyAgICAgICAgImJhYmVsLWNvZGUtZnJhbWUiOiAiNi4yNi4wIiwKKyAgICAgICAgImJh
YmVsLWdlbmVyYXRvciI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtaGVscGVycyI6ICI2LjI0
LjEiLAorICAgICAgICAiYmFiZWwtbWVzc2FnZXMiOiAiNi4yMy4wIiwKKyAgICAgICAgImJhYmVs
LXJlZ2lzdGVyIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYuMjYuMCIs
CisgICAgICAgICJiYWJlbC10ZW1wbGF0ZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdHJh
dmVyc2UiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLXR5cGVzIjogIjYuMjYuMCIsCisgICAg
ICAgICJiYWJ5bG9uIjogIjYuMTguMCIsCisgICAgICAgICJjb252ZXJ0LXNvdXJjZS1tYXAiOiAi
MS41LjAiLAorICAgICAgICAiZGVidWciOiAiMi42LjgiLAorICAgICAgICAianNvbjUiOiAiMC41
LjEiLAorICAgICAgICAibG9kYXNoIjogIjQuMTcuNCIsCisgICAgICAgICJtaW5pbWF0Y2giOiAi
My4wLjQiLAorICAgICAgICAicGF0aC1pcy1hYnNvbHV0ZSI6ICIxLjAuMSIsCisgICAgICAgICJw
cml2YXRlIjogIjAuMS43IiwKKyAgICAgICAgInNsYXNoIjogIjEuMC4wIiwKKyAgICAgICAgInNv
dXJjZS1tYXAiOiAiMC41LjYiCisgICAgICB9CisgICAgfSwKKyAgICAiYmFiZWwtZ2VuZXJhdG9y
IjogeworICAgICAgInZlcnNpb24iOiAiNi4yNi4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1nZW5lcmF0b3IvLS9iYWJlbC1nZW5lcmF0b3It
Ni4yNi4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtckJyaUFIQzNuMjQ4b2RNbWxo
TUZOM1R5RGNVPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAg
ICAgICAgImJhYmVsLW1lc3NhZ2VzIjogIjYuMjMuMCIsCisgICAgICAgICJiYWJlbC1ydW50aW1l
IjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC10eXBlcyI6ICI2LjI2LjAiLAorICAgICAgICAi
ZGV0ZWN0LWluZGVudCI6ICI0LjAuMCIsCisgICAgICAgICJqc2VzYyI6ICIxLjMuMCIsCisgICAg
ICAgICJsb2Rhc2giOiAiNC4xNy40IiwKKyAgICAgICAgInNvdXJjZS1tYXAiOiAiMC41LjYiLAor
ICAgICAgICAidHJpbS1yaWdodCI6ICIxLjAuMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJl
bC1oZWxwZXItYmluZGlmeS1kZWNvcmF0b3JzIjogeworICAgICAgInZlcnNpb24iOiAiNi4yNC4x
IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1o
ZWxwZXItYmluZGlmeS1kZWNvcmF0b3JzLy0vYmFiZWwtaGVscGVyLWJpbmRpZnktZGVjb3JhdG9y
cy02LjI0LjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1GTUdlWHhRdGUwZnhtbEpE
SGxLeHpMeEFvekE9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogewor
ICAgICAgICAiYmFiZWwtcnVudGltZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdHJhdmVy
c2UiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLXR5cGVzIjogIjYuMjYuMCIKKyAgICAgIH0K
KyAgICB9LAorICAgICJiYWJlbC1oZWxwZXItYnVpbGRlci1iaW5hcnktYXNzaWdubWVudC1vcGVy
YXRvci12aXNpdG9yIjogeworICAgICAgInZlcnNpb24iOiAiNi4yNC4xIiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1oZWxwZXItYnVpbGRlci1i
aW5hcnktYXNzaWdubWVudC1vcGVyYXRvci12aXNpdG9yLy0vYmFiZWwtaGVscGVyLWJ1aWxkZXIt
YmluYXJ5LWFzc2lnbm1lbnQtb3BlcmF0b3ItdmlzaXRvci02LjI0LjEudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS16T1JSZXRvMWIwSWd2SzZLQXNLelJ2bWxabVE9IiwKKyAgICAgICJk
ZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtaGVscGVyLWV4
cGxvZGUtYXNzaWduYWJsZS1leHByZXNzaW9uIjogIjYuMjQuMSIsCisgICAgICAgICJiYWJlbC1y
dW50aW1lIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC10eXBlcyI6ICI2LjI2LjAiCisgICAg
ICB9CisgICAgfSwKKyAgICAiYmFiZWwtaGVscGVyLWNhbGwtZGVsZWdhdGUiOiB7CisgICAgICAi
dmVyc2lvbiI6ICI2LjI0LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2JhYmVsLWhlbHBlci1jYWxsLWRlbGVnYXRlLy0vYmFiZWwtaGVscGVyLWNhbGwt
ZGVsZWdhdGUtNi4yNC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtN09hcXpkeDI1
QncwWWZpTC9GZGIwTnFpMzQwPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJl
cyI6IHsKKyAgICAgICAgImJhYmVsLWhlbHBlci1ob2lzdC12YXJpYWJsZXMiOiAiNi4yNC4xIiwK
KyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLXRyYXZl
cnNlIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC10eXBlcyI6ICI2LjI2LjAiCisgICAgICB9
CisgICAgfSwKKyAgICAiYmFiZWwtaGVscGVyLWRlZmluZS1tYXAiOiB7CisgICAgICAidmVyc2lv
biI6ICI2LjI2LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL2JhYmVsLWhlbHBlci1kZWZpbmUtbWFwLy0vYmFiZWwtaGVscGVyLWRlZmluZS1tYXAtNi4y
Ni4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtcGZWdHEwR2lYNWZzdEpqSDY2eXBn
WitWdmw4PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAg
ICAgImJhYmVsLWhlbHBlci1mdW5jdGlvbi1uYW1lIjogIjYuMjQuMSIsCisgICAgICAgICJiYWJl
bC1ydW50aW1lIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC10eXBlcyI6ICI2LjI2LjAiLAor
ICAgICAgICAibG9kYXNoIjogIjQuMTcuNCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1o
ZWxwZXItZXhwbG9kZS1hc3NpZ25hYmxlLWV4cHJlc3Npb24iOiB7CisgICAgICAidmVyc2lvbiI6
ICI2LjI0LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L2JhYmVsLWhlbHBlci1leHBsb2RlLWFzc2lnbmFibGUtZXhwcmVzc2lvbi8tL2JhYmVsLWhlbHBl
ci1leHBsb2RlLWFzc2lnbmFibGUtZXhwcmVzc2lvbi02LjI0LjEudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS04bHVDejMzQkJEUEZYM0JaTFZkR1FBckNMS289IiwKKyAgICAgICJkZXYi
OiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtcnVudGltZSI6ICI2
LjI2LjAiLAorICAgICAgICAiYmFiZWwtdHJhdmVyc2UiOiAiNi4yNi4wIiwKKyAgICAgICAgImJh
YmVsLXR5cGVzIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1oZWxwZXIt
ZXhwbG9kZS1jbGFzcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjQuMSIsCisgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtaGVscGVyLWV4cGxvZGUt
Y2xhc3MvLS9iYWJlbC1oZWxwZXItZXhwbG9kZS1jbGFzcy02LjI0LjEudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1mY0tqa1EzdUFIQlc0ZU1kWkF6dFBWVHFxZXM9IiwKKyAgICAgICJk
ZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtaGVscGVyLWJp
bmRpZnktZGVjb3JhdG9ycyI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcnVudGltZSI6ICI2
LjI2LjAiLAorICAgICAgICAiYmFiZWwtdHJhdmVyc2UiOiAiNi4yNi4wIiwKKyAgICAgICAgImJh
YmVsLXR5cGVzIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1oZWxwZXIt
ZnVuY3Rpb24tbmFtZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjQuMSIsCisgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtaGVscGVyLWZ1bmN0aW9u
LW5hbWUvLS9iYWJlbC1oZWxwZXItZnVuY3Rpb24tbmFtZS02LjI0LjEudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS0wMGRiakFQdG1DUXFKYlNEVWFzWU9aMDFnS2s9IiwKKyAgICAgICJk
ZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtaGVscGVyLWdl
dC1mdW5jdGlvbi1hcml0eSI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcnVudGltZSI6ICI2
LjI2LjAiLAorICAgICAgICAiYmFiZWwtdGVtcGxhdGUiOiAiNi4yNi4wIiwKKyAgICAgICAgImJh
YmVsLXRyYXZlcnNlIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC10eXBlcyI6ICI2LjI2LjAi
CisgICAgICB9CisgICAgfSwKKyAgICAiYmFiZWwtaGVscGVyLWdldC1mdW5jdGlvbi1hcml0eSI6
IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjQuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtaGVscGVyLWdldC1mdW5jdGlvbi1hcml0eS8tL2Jh
YmVsLWhlbHBlci1nZXQtZnVuY3Rpb24tYXJpdHktNi4yNC4xLnRneiIsCisgICAgICAiaW50ZWdy
aXR5IjogInNoYTEtajNlQ3FwTkFmRUhUcWxDUWo0bXdNYkcyaFQwPSIsCisgICAgICAiZGV2Ijog
dHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4y
Ni4wIiwKKyAgICAgICAgImJhYmVsLXR5cGVzIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAor
ICAgICJiYWJlbC1oZWxwZXItaG9pc3QtdmFyaWFibGVzIjogeworICAgICAgInZlcnNpb24iOiAi
Ni4yNC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9i
YWJlbC1oZWxwZXItaG9pc3QtdmFyaWFibGVzLy0vYmFiZWwtaGVscGVyLWhvaXN0LXZhcmlhYmxl
cy02LjI0LjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1Ic3NuYUp5ZEpWRStyYnla
RktjL1ZBaStlblk9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogewor
ICAgICAgICAiYmFiZWwtcnVudGltZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdHlwZXMi
OiAiNi4yNi4wIgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLWhlbHBlci1vcHRpbWlzZS1j
YWxsLWV4cHJlc3Npb24iOiB7CisgICAgICAidmVyc2lvbiI6ICI2LjI0LjEiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JhYmVsLWhlbHBlci1vcHRpbWlz
ZS1jYWxsLWV4cHJlc3Npb24vLS9iYWJlbC1oZWxwZXItb3B0aW1pc2UtY2FsbC1leHByZXNzaW9u
LTYuMjQuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLTk2RTBKN3FmYy9qMCtwazhW
S2w0Z3RFa1FsYz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7Cisg
ICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC10eXBlcyI6
ICI2LjI2LjAiCisgICAgICB9CisgICAgfSwKKyAgICAiYmFiZWwtaGVscGVyLXJlZ2V4Ijogewor
ICAgICAgInZlcnNpb24iOiAiNi4yNi4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1oZWxwZXItcmVnZXgvLS9iYWJlbC1oZWxwZXItcmVnZXgt
Ni4yNi4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtTWx4WitRTDRMeVMzVDZ6dTBE
WTVWUFpKWG5JPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAg
ICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLXR5cGVzIjog
IjYuMjYuMCIsCisgICAgICAgICJsb2Rhc2giOiAiNC4xNy40IgorICAgICAgfQorICAgIH0sCisg
ICAgImJhYmVsLWhlbHBlci1yZW1hcC1hc3luYy10by1nZW5lcmF0b3IiOiB7CisgICAgICAidmVy
c2lvbiI6ICI2LjI0LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL2JhYmVsLWhlbHBlci1yZW1hcC1hc3luYy10by1nZW5lcmF0b3IvLS9iYWJlbC1oZWxw
ZXItcmVtYXAtYXN5bmMtdG8tZ2VuZXJhdG9yLTYuMjQuMS50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGExLVhzV0JnbnJYSS83TjA0SHh5U2c1Qm5ia1ZScz0iLAorICAgICAgImRldiI6IHRy
dWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJlbC1oZWxwZXItZnVuY3Rpb24t
bmFtZSI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcnVudGltZSI6ICI2LjI2LjAiLAorICAg
ICAgICAiYmFiZWwtdGVtcGxhdGUiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLXRyYXZlcnNl
IjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC10eXBlcyI6ICI2LjI2LjAiCisgICAgICB9Cisg
ICAgfSwKKyAgICAiYmFiZWwtaGVscGVyLXJlcGxhY2Utc3VwZXJzIjogeworICAgICAgInZlcnNp
b24iOiAiNi4yNC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9iYWJlbC1oZWxwZXItcmVwbGFjZS1zdXBlcnMvLS9iYWJlbC1oZWxwZXItcmVwbGFjZS1z
dXBlcnMtNi4yNC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtdjIyLzVEazQwWE5w
b2hQS2lvdjNTMnFRcXhvPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6
IHsKKyAgICAgICAgImJhYmVsLWhlbHBlci1vcHRpbWlzZS1jYWxsLWV4cHJlc3Npb24iOiAiNi4y
NC4xIiwKKyAgICAgICAgImJhYmVsLW1lc3NhZ2VzIjogIjYuMjMuMCIsCisgICAgICAgICJiYWJl
bC1ydW50aW1lIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC10ZW1wbGF0ZSI6ICI2LjI2LjAi
LAorICAgICAgICAiYmFiZWwtdHJhdmVyc2UiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLXR5
cGVzIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1oZWxwZXJzIjogewor
ICAgICAgInZlcnNpb24iOiAiNi4yNC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1oZWxwZXJzLy0vYmFiZWwtaGVscGVycy02LjI0LjEudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1OSEhlbks3RGlPWElVT1dYNVlvbTNmTjJBckk9
IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFi
ZWwtcnVudGltZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdGVtcGxhdGUiOiAiNi4yNi4w
IgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLWxvYWRlciI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjYuNC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9iYWJlbC1sb2FkZXIvLS9iYWJlbC1sb2FkZXItNi40LjEudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1DelFSTFZzSFNLamMyL1VhejIrYjFDMVF1TW89IiwKKyAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiZmluZC1jYWNoZS1kaXIiOiAiMC4x
LjEiLAorICAgICAgICAibG9hZGVyLXV0aWxzIjogIjAuMi4xNyIsCisgICAgICAgICJta2RpcnAi
OiAiMC41LjEiLAorICAgICAgICAib2JqZWN0LWFzc2lnbiI6ICI0LjEuMSIKKyAgICAgIH0KKyAg
ICB9LAorICAgICJiYWJlbC1tZXNzYWdlcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjMuMCIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtbWVz
c2FnZXMvLS9iYWJlbC1tZXNzYWdlcy02LjIzLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS04ODMwY0RoWUExc3FLVkhHN0Y3ZmJHTHlZdzQ9IiwKKyAgICAgICJkZXYiOiB0cnVlLAor
ICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtcnVudGltZSI6ICI2LjI2LjAiCisg
ICAgICB9CisgICAgfSwKKyAgICAiYmFiZWwtcGx1Z2luLWNoZWNrLWVzMjAxNS1jb25zdGFudHMi
OiB7CisgICAgICAidmVyc2lvbiI6ICI2LjIyLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL2JhYmVsLXBsdWdpbi1jaGVjay1lczIwMTUtY29uc3RhbnRz
Ly0vYmFiZWwtcGx1Z2luLWNoZWNrLWVzMjAxNS1jb25zdGFudHMtNi4yMi4wLnRneiIsCisgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtTlJWN0VCUW0vUy85UGFQM1hIMGVrWU5idjRvPSIsCisgICAg
ICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJhYmVsLXJ1bnRp
bWUiOiAiNi4yNi4wIgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLXBsdWdpbi1zeW50YXgt
YXN5bmMtZnVuY3Rpb25zIjogeworICAgICAgInZlcnNpb24iOiAiNi4xMy4wIiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1wbHVnaW4tc3ludGF4
LWFzeW5jLWZ1bmN0aW9ucy8tL2JhYmVsLXBsdWdpbi1zeW50YXgtYXN5bmMtZnVuY3Rpb25zLTYu
MTMuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXl0bkswUmtiV3RZMHZ6Q3VDSEk1
SGdaSHZwVT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJiYWJlbC1wbHVnaW4t
c3ludGF4LWFzeW5jLWdlbmVyYXRvcnMiOiB7CisgICAgICAidmVyc2lvbiI6ICI2LjEzLjAiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JhYmVsLXBsdWdp
bi1zeW50YXgtYXN5bmMtZ2VuZXJhdG9ycy8tL2JhYmVsLXBsdWdpbi1zeW50YXgtYXN5bmMtZ2Vu
ZXJhdG9ycy02LjEzLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1hOGxqNjdGdXpM
cm11U3RaYnJmelhEUXFpNW89IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiYmFi
ZWwtcGx1Z2luLXN5bnRheC1jbGFzcy1wcm9wZXJ0aWVzIjogeworICAgICAgInZlcnNpb24iOiAi
Ni4xMy4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9i
YWJlbC1wbHVnaW4tc3ludGF4LWNsYXNzLXByb3BlcnRpZXMvLS9iYWJlbC1wbHVnaW4tc3ludGF4
LWNsYXNzLXByb3BlcnRpZXMtNi4xMy4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
MStzanQ1b3hmNFZEbGl4UVc0SjhmV3lzSjk0PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0s
CisgICAgImJhYmVsLXBsdWdpbi1zeW50YXgtZGVjb3JhdG9ycyI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjYuMTMuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvYmFiZWwtcGx1Z2luLXN5bnRheC1kZWNvcmF0b3JzLy0vYmFiZWwtcGx1Z2luLXN5bnRheC1k
ZWNvcmF0b3JzLTYuMTMuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLU1TVmp0TnZl
UE1nR3p1UGtGc3p1cmQwUnJBcz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJi
YWJlbC1wbHVnaW4tc3ludGF4LWR5bmFtaWMtaW1wb3J0IjogeworICAgICAgInZlcnNpb24iOiAi
Ni4xOC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9i
YWJlbC1wbHVnaW4tc3ludGF4LWR5bmFtaWMtaW1wb3J0Ly0vYmFiZWwtcGx1Z2luLXN5bnRheC1k
eW5hbWljLWltcG9ydC02LjE4LjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1qV29t
SXB5RGRGcVpncVJCQlJWeXlxRjVzZG89IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAg
ICAiYmFiZWwtcGx1Z2luLXN5bnRheC1leHBvbmVudGlhdGlvbi1vcGVyYXRvciI6IHsKKyAgICAg
ICJ2ZXJzaW9uIjogIjYuMTMuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvYmFiZWwtcGx1Z2luLXN5bnRheC1leHBvbmVudGlhdGlvbi1vcGVyYXRvci8t
L2JhYmVsLXBsdWdpbi1zeW50YXgtZXhwb25lbnRpYXRpb24tb3BlcmF0b3ItNi4xMy4wLnRneiIs
CisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtbnVmb00zS1EycFVvZ2dHbXBYOUJjREY0TU40PSIs
CisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImJhYmVsLXBsdWdpbi1zeW50YXgtb2Jq
ZWN0LXJlc3Qtc3ByZWFkIjogeworICAgICAgInZlcnNpb24iOiAiNi4xMy4wIiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1wbHVnaW4tc3ludGF4
LW9iamVjdC1yZXN0LXNwcmVhZC8tL2JhYmVsLXBsdWdpbi1zeW50YXgtb2JqZWN0LXJlc3Qtc3By
ZWFkLTYuMTMuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLS9XVTI4cnpoT0RiL282
VkZqRWtEcFplN08vVT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJiYWJlbC1w
bHVnaW4tc3ludGF4LXRyYWlsaW5nLWZ1bmN0aW9uLWNvbW1hcyI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjYuMjIuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvYmFiZWwtcGx1Z2luLXN5bnRheC10cmFpbGluZy1mdW5jdGlvbi1jb21tYXMvLS9iYWJlbC1w
bHVnaW4tc3ludGF4LXRyYWlsaW5nLWZ1bmN0aW9uLWNvbW1hcy02LjIyLjAudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS11Z05nazMrTkJ1UUJnS1EvNE5WaGIvOVRMUE09IiwKKyAgICAg
ICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1hc3luYy1n
ZW5lcmF0b3ItZnVuY3Rpb25zIjogeworICAgICAgInZlcnNpb24iOiAiNi4yNC4xIiwKKyAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1wbHVnaW4tdHJh
bnNmb3JtLWFzeW5jLWdlbmVyYXRvci1mdW5jdGlvbnMvLS9iYWJlbC1wbHVnaW4tdHJhbnNmb3Jt
LWFzeW5jLWdlbmVyYXRvci1mdW5jdGlvbnMtNi4yNC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtOEZpUUFVWDlQcGtIcHQzeWphV2ZJVkpZcGRzPSIsCisgICAgICAiZGV2IjogdHJ1
ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJhYmVsLWhlbHBlci1yZW1hcC1hc3lu
Yy10by1nZW5lcmF0b3IiOiAiNi4yNC4xIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi1zeW50YXgt
YXN5bmMtZ2VuZXJhdG9ycyI6ICI2LjEzLjAiLAorICAgICAgICAiYmFiZWwtcnVudGltZSI6ICI2
LjI2LjAiCisgICAgICB9CisgICAgfSwKKyAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1hc3lu
Yy10by1nZW5lcmF0b3IiOiB7CisgICAgICAidmVyc2lvbiI6ICI2LjI0LjEiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JhYmVsLXBsdWdpbi10cmFuc2Zv
cm0tYXN5bmMtdG8tZ2VuZXJhdG9yLy0vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1hc3luYy10by1n
ZW5lcmF0b3ItNi4yNC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtWlRiamVLLzJ5
eDFWRjZ3T1FPcytuOGpRaDJFPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJl
cyI6IHsKKyAgICAgICAgImJhYmVsLWhlbHBlci1yZW1hcC1hc3luYy10by1nZW5lcmF0b3IiOiAi
Ni4yNC4xIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi1zeW50YXgtYXN5bmMtZnVuY3Rpb25zIjog
IjYuMTMuMCIsCisgICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYuMjYuMCIKKyAgICAgIH0KKyAg
ICB9LAorICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWNsYXNzLXByb3BlcnRpZXMiOiB7Cisg
ICAgICAidmVyc2lvbiI6ICI2LjI0LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tY2xhc3MtcHJvcGVydGllcy8t
L2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tY2xhc3MtcHJvcGVydGllcy02LjI0LjEudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1hbmwyUHFZZE05TnZON1lScXAzdmdhZ2JScXc9IiwKKyAg
ICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtaGVs
cGVyLWZ1bmN0aW9uLW5hbWUiOiAiNi4yNC4xIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi1zeW50
YXgtY2xhc3MtcHJvcGVydGllcyI6ICI2LjEzLjAiLAorICAgICAgICAiYmFiZWwtcnVudGltZSI6
ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdGVtcGxhdGUiOiAiNi4yNi4wIgorICAgICAgfQor
ICAgIH0sCisgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZGVjb3JhdG9ycyI6IHsKKyAgICAg
ICJ2ZXJzaW9uIjogIjYuMjQuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1kZWNvcmF0b3JzLy0vYmFiZWwtcGx1
Z2luLXRyYW5zZm9ybS1kZWNvcmF0b3JzLTYuMjQuMS50Z3oiLAorICAgICAgImludGVncml0eSI6
ICJzaGExLWVJQVQyUGpHdFNJcjMzczBRNURmMTNWcDRrMD0iLAorICAgICAgImRldiI6IHRydWUs
CisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJlbC1oZWxwZXItZXhwbG9kZS1jbGFz
cyI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcGx1Z2luLXN5bnRheC1kZWNvcmF0b3JzIjog
IjYuMTMuMCIsCisgICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYuMjYuMCIsCisgICAgICAgICJi
YWJlbC10ZW1wbGF0ZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdHlwZXMiOiAiNi4yNi4w
IgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWFy
cm93LWZ1bmN0aW9ucyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjIuMCIsCisgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtcGx1Z2luLXRyYW5zZm9y
bS1lczIwMTUtYXJyb3ctZnVuY3Rpb25zLy0vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUt
YXJyb3ctZnVuY3Rpb25zLTYuMjIuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLVJT
YVN5M0VkWDNuY2Y0WGtRTTVCdWZKRTBpRT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAi
cmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYuMjYuMCIKKyAgICAgIH0K
KyAgICB9LAorICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1ibG9jay1zY29wZWQt
ZnVuY3Rpb25zIjogeworICAgICAgInZlcnNpb24iOiAiNi4yMi4wIiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVz
MjAxNS1ibG9jay1zY29wZWQtZnVuY3Rpb25zLy0vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIw
MTUtYmxvY2stc2NvcGVkLWZ1bmN0aW9ucy02LjIyLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS11OFViU2ZsazF3eTQyT0M1VG9JQ1JzNDZZVUU9IiwKKyAgICAgICJkZXYiOiB0cnVl
LAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtcnVudGltZSI6ICI2LjI2LjAi
CisgICAgICB9CisgICAgfSwKKyAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtYmxv
Y2stc2NvcGluZyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjYuMCIsCisgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1l
czIwMTUtYmxvY2stc2NvcGluZy8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWJsb2Nr
LXNjb3BpbmctNi4yNi4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtMXc5U21jRXdq
UVhCTDBZNEU3Q2dubk94aVY4PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJl
cyI6IHsKKyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVs
LXRlbXBsYXRlIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC10cmF2ZXJzZSI6ICI2LjI2LjAi
LAorICAgICAgICAiYmFiZWwtdHlwZXMiOiAiNi4yNi4wIiwKKyAgICAgICAgImxvZGFzaCI6ICI0
LjE3LjQiCisgICAgICB9CisgICAgfSwKKyAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIw
MTUtY2xhc3NlcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjQuMSIsCisgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1l
czIwMTUtY2xhc3Nlcy8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWNsYXNzZXMtNi4y
NC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtV2t4WXBReWNsR0hsWkxTeW83K3J5
WG9saE5zPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAg
ICAgImJhYmVsLWhlbHBlci1kZWZpbmUtbWFwIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC1o
ZWxwZXItZnVuY3Rpb24tbmFtZSI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtaGVscGVyLW9w
dGltaXNlLWNhbGwtZXhwcmVzc2lvbiI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtaGVscGVy
LXJlcGxhY2Utc3VwZXJzIjogIjYuMjQuMSIsCisgICAgICAgICJiYWJlbC1tZXNzYWdlcyI6ICI2
LjIzLjAiLAorICAgICAgICAiYmFiZWwtcnVudGltZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFi
ZWwtdGVtcGxhdGUiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLXRyYXZlcnNlIjogIjYuMjYu
MCIsCisgICAgICAgICJiYWJlbC10eXBlcyI6ICI2LjI2LjAiCisgICAgICB9CisgICAgfSwKKyAg
ICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtY29tcHV0ZWQtcHJvcGVydGllcyI6IHsK
KyAgICAgICJ2ZXJzaW9uIjogIjYuMjQuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtY29tcHV0ZWQt
cHJvcGVydGllcy8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWNvbXB1dGVkLXByb3Bl
cnRpZXMtNi4yNC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtYitLbzBXaVYxV05Q
VE5tWnR0TklDakNCV2JNPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6
IHsKKyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLXRl
bXBsYXRlIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1wbHVnaW4tdHJh
bnNmb3JtLWVzMjAxNS1kZXN0cnVjdHVyaW5nIjogeworICAgICAgInZlcnNpb24iOiAiNi4yMy4w
IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1w
bHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1kZXN0cnVjdHVyaW5nLy0vYmFiZWwtcGx1Z2luLXRyYW5z
Zm9ybS1lczIwMTUtZGVzdHJ1Y3R1cmluZy02LjIzLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1tWHV4OGF1V2YyZ3RLd2gyL2pXTllPZGx4VzA9IiwKKyAgICAgICJkZXYiOiB0cnVl
LAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtcnVudGltZSI6ICI2LjI2LjAi
CisgICAgICB9CisgICAgfSwKKyAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtZHVw
bGljYXRlLWtleXMiOiB7CisgICAgICAidmVyc2lvbiI6ICI2LjI0LjEiLAorICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0t
ZXMyMDE1LWR1cGxpY2F0ZS1rZXlzLy0vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtZHVw
bGljYXRlLWtleXMtNi4yNC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtYytzOU1R
eXBhZVB2bnNrY1UzUWFieFYyUWo0PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1
aXJlcyI6IHsKKyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIiwKKyAgICAgICAgImJh
YmVsLXR5cGVzIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1wbHVnaW4t
dHJhbnNmb3JtLWVzMjAxNS1mb3Itb2YiOiB7CisgICAgICAidmVyc2lvbiI6ICI2LjIzLjAiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JhYmVsLXBsdWdp
bi10cmFuc2Zvcm0tZXMyMDE1LWZvci1vZi8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1
LWZvci1vZi02LjIzLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS05SHlWc3JZVDN4
MCt6Qy9iZFhOaVBIVWtocEU9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVz
IjogeworICAgICAgICAiYmFiZWwtcnVudGltZSI6ICI2LjI2LjAiCisgICAgICB9CisgICAgfSwK
KyAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtZnVuY3Rpb24tbmFtZSI6IHsKKyAg
ICAgICJ2ZXJzaW9uIjogIjYuMjQuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtZnVuY3Rpb24tbmFt
ZS8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWZ1bmN0aW9uLW5hbWUtNi4yNC4xLnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtZzB5SmhUdkRheHJ3ODZURjI2cVUvWTZzcW9z
PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJh
YmVsLWhlbHBlci1mdW5jdGlvbi1uYW1lIjogIjYuMjQuMSIsCisgICAgICAgICJiYWJlbC1ydW50
aW1lIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC10eXBlcyI6ICI2LjI2LjAiCisgICAgICB9
CisgICAgfSwKKyAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtbGl0ZXJhbHMiOiB7
CisgICAgICAidmVyc2lvbiI6ICI2LjIyLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWxpdGVyYWxz
Ly0vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtbGl0ZXJhbHMtNi4yMi4wLnRneiIsCisg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtVDFTZ0xXeldiUGtWS0FBWm94MHhrbE4zeWk0PSIsCisg
ICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJhYmVsLXJ1
bnRpbWUiOiAiNi4yNi4wIgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLXBsdWdpbi10cmFu
c2Zvcm0tZXMyMDE1LW1vZHVsZXMtYW1kIjogeworICAgICAgInZlcnNpb24iOiAiNi4yNC4xIiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1wbHVn
aW4tdHJhbnNmb3JtLWVzMjAxNS1tb2R1bGVzLWFtZC8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0t
ZXMyMDE1LW1vZHVsZXMtYW1kLTYuMjQuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGEx
LU96NVVBWEk1aEMxdEdjTUJIRXZTOEFvQTBWUT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAg
ICAicmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1t
b2R1bGVzLWNvbW1vbmpzIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYu
MjYuMCIsCisgICAgICAgICJiYWJlbC10ZW1wbGF0ZSI6ICI2LjI2LjAiCisgICAgICB9CisgICAg
fSwKKyAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtbW9kdWxlcy1jb21tb25qcyI6
IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjYuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtbW9kdWxl
cy1jb21tb25qcy8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LW1vZHVsZXMtY29tbW9u
anMtNi4yNi4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtRFlPVUFwdDl4cXZocVg3
eGdlQUhXTjB1WFlvPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsK
KyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tc3RyaWN0LW1vZGUiOiAiNi4yNC4xIiwK
KyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLXRlbXBs
YXRlIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC10eXBlcyI6ICI2LjI2LjAiCisgICAgICB9
CisgICAgfSwKKyAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtbW9kdWxlcy1zeXN0
ZW1qcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjQuMSIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUt
bW9kdWxlcy1zeXN0ZW1qcy8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LW1vZHVsZXMt
c3lzdGVtanMtNi4yNC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtLzRtaFFya1Jt
cEJobGZYeEJ1enpCZGxBZlNNPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJl
cyI6IHsKKyAgICAgICAgImJhYmVsLWhlbHBlci1ob2lzdC12YXJpYWJsZXMiOiAiNi4yNC4xIiwK
KyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLXRlbXBs
YXRlIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1wbHVnaW4tdHJhbnNm
b3JtLWVzMjAxNS1tb2R1bGVzLXVtZCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjQuMSIsCisg
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtcGx1Z2lu
LXRyYW5zZm9ybS1lczIwMTUtbW9kdWxlcy11bWQvLS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVz
MjAxNS1tb2R1bGVzLXVtZC02LjI0LjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1y
SmwrWW9YTkdPMWhkcTIyQjlZQ05FclRoR2c9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
InJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtbW9k
dWxlcy1hbWQiOiAiNi4yNC4xIiwKKyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIiwK
KyAgICAgICAgImJhYmVsLXRlbXBsYXRlIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAorICAg
ICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1vYmplY3Qtc3VwZXIiOiB7CisgICAgICAi
dmVyc2lvbiI6ICI2LjI0LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LW9iamVjdC1zdXBlci8tL2Jh
YmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LW9iamVjdC1zdXBlci02LjI0LjEudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1KTTcybXVJY3VEcC9oZ1BhMENIMWN1c25qNDA9IiwKKyAg
ICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtaGVs
cGVyLXJlcGxhY2Utc3VwZXJzIjogIjYuMjQuMSIsCisgICAgICAgICJiYWJlbC1ydW50aW1lIjog
IjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVz
MjAxNS1wYXJhbWV0ZXJzIjogeworICAgICAgInZlcnNpb24iOiAiNi4yNC4xIiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1wbHVnaW4tdHJhbnNm
b3JtLWVzMjAxNS1wYXJhbWV0ZXJzLy0vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtcGFy
YW1ldGVycy02LjI0LjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1WNncxR3JTY3J4
U3BmTkU3Q2ZadjN3cGlYeXM9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVz
IjogeworICAgICAgICAiYmFiZWwtaGVscGVyLWNhbGwtZGVsZWdhdGUiOiAiNi4yNC4xIiwKKyAg
ICAgICAgImJhYmVsLWhlbHBlci1nZXQtZnVuY3Rpb24tYXJpdHkiOiAiNi4yNC4xIiwKKyAgICAg
ICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLXRlbXBsYXRlIjog
IjYuMjYuMCIsCisgICAgICAgICJiYWJlbC10cmF2ZXJzZSI6ICI2LjI2LjAiLAorICAgICAgICAi
YmFiZWwtdHlwZXMiOiAiNi4yNi4wIgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLXBsdWdp
bi10cmFuc2Zvcm0tZXMyMDE1LXNob3J0aGFuZC1wcm9wZXJ0aWVzIjogeworICAgICAgInZlcnNp
b24iOiAiNi4yNC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1zaG9ydGhhbmQtcHJvcGVydGllcy8t
L2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXNob3J0aGFuZC1wcm9wZXJ0aWVzLTYuMjQu
MS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUpQaDExbkljaDJZYnZabWtZaTVSOFUz
amlxQT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAg
ICJiYWJlbC1ydW50aW1lIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC10eXBlcyI6ICI2LjI2
LjAiCisgICAgICB9CisgICAgfSwKKyAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUt
c3ByZWFkIjogeworICAgICAgInZlcnNpb24iOiAiNi4yMi4wIiwKKyAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAx
NS1zcHJlYWQvLS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1zcHJlYWQtNi4yMi4wLnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtMXRhS21maWE3Y1JUYklHbFF1amRueGRHK05F
PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJh
YmVsLXJ1bnRpbWUiOiAiNi4yNi4wIgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLXBsdWdp
bi10cmFuc2Zvcm0tZXMyMDE1LXN0aWNreS1yZWdleCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYu
MjQuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFi
ZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtc3RpY2t5LXJlZ2V4Ly0vYmFiZWwtcGx1Z2luLXRy
YW5zZm9ybS1lczIwMTUtc3RpY2t5LXJlZ2V4LTYuMjQuMS50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGExLUFNSE5zYXluRVJMTjhNOWhKc0x0YTBWOHpidz0iLAorICAgICAgImRldiI6IHRy
dWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJlbC1oZWxwZXItcmVnZXgiOiAi
Ni4yNi4wIiwKKyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIiwKKyAgICAgICAgImJh
YmVsLXR5cGVzIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1wbHVnaW4t
dHJhbnNmb3JtLWVzMjAxNS10ZW1wbGF0ZS1saXRlcmFscyI6IHsKKyAgICAgICJ2ZXJzaW9uIjog
IjYuMjIuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
YmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtdGVtcGxhdGUtbGl0ZXJhbHMvLS9iYWJlbC1w
bHVnaW4tdHJhbnNmb3JtLWVzMjAxNS10ZW1wbGF0ZS1saXRlcmFscy02LjIyLjAudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1xRXMwVVBmcCtQSDJnNTF0YUgyb1M3RWpiWTA9IiwKKyAg
ICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtcnVu
dGltZSI6ICI2LjI2LjAiCisgICAgICB9CisgICAgfSwKKyAgICAiYmFiZWwtcGx1Z2luLXRyYW5z
Zm9ybS1lczIwMTUtdHlwZW9mLXN5bWJvbCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjMuMCIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtcGx1
Z2luLXRyYW5zZm9ybS1lczIwMTUtdHlwZW9mLXN5bWJvbC8tL2JhYmVsLXBsdWdpbi10cmFuc2Zv
cm0tZXMyMDE1LXR5cGVvZi1zeW1ib2wtNi4yMy4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtM3NDZkhOMy9sTFVxeHoxUVhJVGZXZHpPczNJPSIsCisgICAgICAiZGV2IjogdHJ1ZSwK
KyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIgor
ICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXVuaWNv
ZGUtcmVnZXgiOiB7CisgICAgICAidmVyc2lvbiI6ICI2LjI0LjEiLAorICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMy
MDE1LXVuaWNvZGUtcmVnZXgvLS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS11bmljb2Rl
LXJlZ2V4LTYuMjQuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLTA0c1M5QzZuTWo5
eWs0ZnhpbnhhNGZyck5laz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMi
OiB7CisgICAgICAgICJiYWJlbC1oZWxwZXItcmVnZXgiOiAiNi4yNi4wIiwKKyAgICAgICAgImJh
YmVsLXJ1bnRpbWUiOiAiNi4yNi4wIiwKKyAgICAgICAgInJlZ2V4cHUtY29yZSI6ICIyLjAuMCIK
KyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWV4cG9uZW50aWF0
aW9uLW9wZXJhdG9yIjogeworICAgICAgInZlcnNpb24iOiAiNi4yNC4xIiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1wbHVnaW4tdHJhbnNmb3Jt
LWV4cG9uZW50aWF0aW9uLW9wZXJhdG9yLy0vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1leHBvbmVu
dGlhdGlvbi1vcGVyYXRvci02LjI0LjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1L
ckRKeC9NSmo2U0pCM2NydUJQK1FlamVPZzQ9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
InJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtaGVscGVyLWJ1aWxkZXItYmluYXJ5LWFzc2ln
bm1lbnQtb3BlcmF0b3ItdmlzaXRvciI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcGx1Z2lu
LXN5bnRheC1leHBvbmVudGlhdGlvbi1vcGVyYXRvciI6ICI2LjEzLjAiLAorICAgICAgICAiYmFi
ZWwtcnVudGltZSI6ICI2LjI2LjAiCisgICAgICB9CisgICAgfSwKKyAgICAiYmFiZWwtcGx1Z2lu
LXRyYW5zZm9ybS1vYmplY3QtcmVzdC1zcHJlYWQiOiB7CisgICAgICAidmVyc2lvbiI6ICI2LjI2
LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JhYmVs
LXBsdWdpbi10cmFuc2Zvcm0tb2JqZWN0LXJlc3Qtc3ByZWFkLy0vYmFiZWwtcGx1Z2luLXRyYW5z
Zm9ybS1vYmplY3QtcmVzdC1zcHJlYWQtNi4yNi4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtRHpacExWRCs5cmZpMUxPc0ZIZ1RlcFk3ZXdZPSIsCisgICAgICAiZGV2IjogdHJ1ZSwK
KyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJhYmVsLXBsdWdpbi1zeW50YXgtb2JqZWN0
LXJlc3Qtc3ByZWFkIjogIjYuMTMuMCIsCisgICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYuMjYu
MCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLXJlZ2VuZXJh
dG9yIjogeworICAgICAgInZlcnNpb24iOiAiNi4yNi4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLXJlZ2VuZXJh
dG9yLy0vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1yZWdlbmVyYXRvci02LjI2LjAudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS00SEEybHZ2ZUovQ2o3OHJQaTAzS0wzczZqeTg9IiwKKyAg
ICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAicmVnZW5lcmF0
b3ItdHJhbnNmb3JtIjogIjAuMTAuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1wbHVn
aW4tdHJhbnNmb3JtLXJ1bnRpbWUiOiB7CisgICAgICAidmVyc2lvbiI6ICI2LjIzLjAiLAorICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JhYmVsLXBsdWdpbi10
cmFuc2Zvcm0tcnVudGltZS8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tcnVudGltZS02LjIzLjAu
dGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1pRWtOUkdVQzZwdU9mdnNQNEo3RTJaUjVz
ZTQ9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAi
YmFiZWwtcnVudGltZSI6ICI2LjI2LjAiCisgICAgICB9CisgICAgfSwKKyAgICAiYmFiZWwtcGx1
Z2luLXRyYW5zZm9ybS1zdHJpY3QtbW9kZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjQuMSIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtcGx1
Z2luLXRyYW5zZm9ybS1zdHJpY3QtbW9kZS8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tc3RyaWN0
LW1vZGUtNi4yNC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtMWZyM3FsZUtaYnZs
a2M5ZTJ1QktER2NDQjFnPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6
IHsKKyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLXR5
cGVzIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1wcmVzZXQtZW52Ijog
eworICAgICAgInZlcnNpb24iOiAiMS42LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2JhYmVsLXByZXNldC1lbnYvLS9iYWJlbC1wcmVzZXQtZW52LTEu
Ni4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1PVmd0UVJ1T1pLY2tySUxnTUE1
cnZjdHZGWlB2NzJHdWE5UnQwMDZBaVBvQjBESktHTjA3VW1hUUErcVJyWWdLNzFNVmN0OGZGaFQw
RXlOV1lvclZldz09IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogewor
ICAgICAgICAiYmFiZWwtcGx1Z2luLWNoZWNrLWVzMjAxNS1jb25zdGFudHMiOiAiNi4yMi4wIiwK
KyAgICAgICAgImJhYmVsLXBsdWdpbi1zeW50YXgtdHJhaWxpbmctZnVuY3Rpb24tY29tbWFzIjog
IjYuMjIuMCIsCisgICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWFzeW5jLXRvLWdlbmVy
YXRvciI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUt
YXJyb3ctZnVuY3Rpb25zIjogIjYuMjIuMCIsCisgICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNm
b3JtLWVzMjAxNS1ibG9jay1zY29wZWQtZnVuY3Rpb25zIjogIjYuMjIuMCIsCisgICAgICAgICJi
YWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1ibG9jay1zY29waW5nIjogIjYuMjYuMCIsCisg
ICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1jbGFzc2VzIjogIjYuMjQuMSIs
CisgICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1jb21wdXRlZC1wcm9wZXJ0
aWVzIjogIjYuMjQuMSIsCisgICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1k
ZXN0cnVjdHVyaW5nIjogIjYuMjMuMCIsCisgICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3Jt
LWVzMjAxNS1kdXBsaWNhdGUta2V5cyI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcGx1Z2lu
LXRyYW5zZm9ybS1lczIwMTUtZm9yLW9mIjogIjYuMjMuMCIsCisgICAgICAgICJiYWJlbC1wbHVn
aW4tdHJhbnNmb3JtLWVzMjAxNS1mdW5jdGlvbi1uYW1lIjogIjYuMjQuMSIsCisgICAgICAgICJi
YWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1saXRlcmFscyI6ICI2LjIyLjAiLAorICAgICAg
ICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtbW9kdWxlcy1hbWQiOiAiNi4yNC4xIiwK
KyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LW1vZHVsZXMtY29tbW9uanMi
OiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LW1vZHVs
ZXMtc3lzdGVtanMiOiAiNi4yNC4xIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0t
ZXMyMDE1LW1vZHVsZXMtdW1kIjogIjYuMjQuMSIsCisgICAgICAgICJiYWJlbC1wbHVnaW4tdHJh
bnNmb3JtLWVzMjAxNS1vYmplY3Qtc3VwZXIiOiAiNi4yNC4xIiwKKyAgICAgICAgImJhYmVsLXBs
dWdpbi10cmFuc2Zvcm0tZXMyMDE1LXBhcmFtZXRlcnMiOiAiNi4yNC4xIiwKKyAgICAgICAgImJh
YmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXNob3J0aGFuZC1wcm9wZXJ0aWVzIjogIjYuMjQu
MSIsCisgICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1zcHJlYWQiOiAiNi4y
Mi4wIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXN0aWNreS1yZWdl
eCI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtdGVt
cGxhdGUtbGl0ZXJhbHMiOiAiNi4yMi4wIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zv
cm0tZXMyMDE1LXR5cGVvZi1zeW1ib2wiOiAiNi4yMy4wIiwKKyAgICAgICAgImJhYmVsLXBsdWdp
bi10cmFuc2Zvcm0tZXMyMDE1LXVuaWNvZGUtcmVnZXgiOiAiNi4yNC4xIiwKKyAgICAgICAgImJh
YmVsLXBsdWdpbi10cmFuc2Zvcm0tZXhwb25lbnRpYXRpb24tb3BlcmF0b3IiOiAiNi4yNC4xIiwK
KyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tcmVnZW5lcmF0b3IiOiAiNi4yNi4wIiwK
KyAgICAgICAgImJyb3dzZXJzbGlzdCI6ICIyLjMuMyIsCisgICAgICAgICJpbnZhcmlhbnQiOiAi
Mi4yLjIiLAorICAgICAgICAic2VtdmVyIjogIjUuNC4xIgorICAgICAgfSwKKyAgICAgICJkZXBl
bmRlbmNpZXMiOiB7CisgICAgICAgICJicm93c2Vyc2xpc3QiOiB7CisgICAgICAgICAgInZlcnNp
b24iOiAiMi4zLjMiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9icm93c2Vyc2xpc3QvLS9icm93c2Vyc2xpc3QtMi4zLjMudGd6IiwKKyAgICAgICAg
ICAiaW50ZWdyaXR5IjogInNoYTUxMi1wOWh6NkZBMkgxdzFaVUFYS2ZLM01sSUE0WjlmRWQ1Nmhu
WlNPZWNCSUlUYjVqMG9aay90WlJ3aGRFMHhHNTZSR3gyeDhjYzFjNUFXSktXVmpNTE9FUT09IiwK
KyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAg
ICAgICAiY2FuaXVzZS1saXRlIjogIjEuMC4zMDAwMDcxNSIsCisgICAgICAgICAgICAiZWxlY3Ry
b24tdG8tY2hyb21pdW0iOiAiMS4zLjE4IgorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAg
fQorICAgIH0sCisgICAgImJhYmVsLXByZXNldC1lczIwMTUiOiB7CisgICAgICAidmVyc2lvbiI6
ICI2LjI0LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L2JhYmVsLXByZXNldC1lczIwMTUvLS9iYWJlbC1wcmVzZXQtZXMyMDE1LTYuMjQuMS50Z3oiLAor
ICAgICAgImludGVncml0eSI6ICJzaGExLTFFQlExcndzbis2bkFxcnpqWEo2QWhCVGlUaz0iLAor
ICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJlbC1w
bHVnaW4tY2hlY2stZXMyMDE1LWNvbnN0YW50cyI6ICI2LjIyLjAiLAorICAgICAgICAiYmFiZWwt
cGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtYXJyb3ctZnVuY3Rpb25zIjogIjYuMjIuMCIsCisgICAg
ICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1ibG9jay1zY29wZWQtZnVuY3Rpb25z
IjogIjYuMjIuMCIsCisgICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1ibG9j
ay1zY29waW5nIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVz
MjAxNS1jbGFzc2VzIjogIjYuMjQuMSIsCisgICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3Jt
LWVzMjAxNS1jb21wdXRlZC1wcm9wZXJ0aWVzIjogIjYuMjQuMSIsCisgICAgICAgICJiYWJlbC1w
bHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1kZXN0cnVjdHVyaW5nIjogIjYuMjMuMCIsCisgICAgICAg
ICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1kdXBsaWNhdGUta2V5cyI6ICI2LjI0LjEi
LAorICAgICAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtZm9yLW9mIjogIjYuMjMu
MCIsCisgICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1mdW5jdGlvbi1uYW1l
IjogIjYuMjQuMSIsCisgICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1saXRl
cmFscyI6ICI2LjIyLjAiLAorICAgICAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUt
bW9kdWxlcy1hbWQiOiAiNi4yNC4xIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0t
ZXMyMDE1LW1vZHVsZXMtY29tbW9uanMiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLXBsdWdp
bi10cmFuc2Zvcm0tZXMyMDE1LW1vZHVsZXMtc3lzdGVtanMiOiAiNi4yNC4xIiwKKyAgICAgICAg
ImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LW1vZHVsZXMtdW1kIjogIjYuMjQuMSIsCisg
ICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1vYmplY3Qtc3VwZXIiOiAiNi4y
NC4xIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXBhcmFtZXRlcnMi
OiAiNi4yNC4xIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXNob3J0
aGFuZC1wcm9wZXJ0aWVzIjogIjYuMjQuMSIsCisgICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNm
b3JtLWVzMjAxNS1zcHJlYWQiOiAiNi4yMi4wIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFu
c2Zvcm0tZXMyMDE1LXN0aWNreS1yZWdleCI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcGx1
Z2luLXRyYW5zZm9ybS1lczIwMTUtdGVtcGxhdGUtbGl0ZXJhbHMiOiAiNi4yMi4wIiwKKyAgICAg
ICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXR5cGVvZi1zeW1ib2wiOiAiNi4yMy4w
IiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXVuaWNvZGUtcmVnZXgi
OiAiNi4yNC4xIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tcmVnZW5lcmF0b3Ii
OiAiNi4yNi4wIgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLXByZXNldC1zdGFnZS0yIjog
eworICAgICAgInZlcnNpb24iOiAiNi4yNC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1wcmVzZXQtc3RhZ2UtMi8tL2JhYmVsLXByZXNldC1z
dGFnZS0yLTYuMjQuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLTJlS1dEN1BYRVlm
dzVrN3NZcndIZG5JWnZjRT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMi
OiB7CisgICAgICAgICJiYWJlbC1wbHVnaW4tc3ludGF4LWR5bmFtaWMtaW1wb3J0IjogIjYuMTgu
MCIsCisgICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWNsYXNzLXByb3BlcnRpZXMiOiAi
Ni4yNC4xIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZGVjb3JhdG9ycyI6ICI2
LjI0LjEiLAorICAgICAgICAiYmFiZWwtcHJlc2V0LXN0YWdlLTMiOiAiNi4yNC4xIgorICAgICAg
fQorICAgIH0sCisgICAgImJhYmVsLXByZXNldC1zdGFnZS0zIjogeworICAgICAgInZlcnNpb24i
OiAiNi4yNC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9iYWJlbC1wcmVzZXQtc3RhZ2UtMy8tL2JhYmVsLXByZXNldC1zdGFnZS0zLTYuMjQuMS50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLWcycmFDcDU2ZjZOOHNUajdreWI0ZVRTa2c1VT0i
LAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJl
bC1wbHVnaW4tc3ludGF4LXRyYWlsaW5nLWZ1bmN0aW9uLWNvbW1hcyI6ICI2LjIyLjAiLAorICAg
ICAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1hc3luYy1nZW5lcmF0b3ItZnVuY3Rpb25zIjog
IjYuMjQuMSIsCisgICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWFzeW5jLXRvLWdlbmVy
YXRvciI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1leHBvbmVu
dGlhdGlvbi1vcGVyYXRvciI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcGx1Z2luLXRyYW5z
Zm9ybS1vYmplY3QtcmVzdC1zcHJlYWQiOiAiNi4yNi4wIgorICAgICAgfQorICAgIH0sCisgICAg
ImJhYmVsLXJlZ2lzdGVyIjogeworICAgICAgInZlcnNpb24iOiAiNi4yNi4wIiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1yZWdpc3Rlci8tL2Jh
YmVsLXJlZ2lzdGVyLTYuMjYuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWJ0QWhG
ejR2eTBodGVzdEZ4Z0NhaFc5a2NIRT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVx
dWlyZXMiOiB7CisgICAgICAgICJiYWJlbC1jb3JlIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJl
bC1ydW50aW1lIjogIjYuMjYuMCIsCisgICAgICAgICJjb3JlLWpzIjogIjIuNS4wIiwKKyAgICAg
ICAgImhvbWUtb3ItdG1wIjogIjIuMC4wIiwKKyAgICAgICAgImxvZGFzaCI6ICI0LjE3LjQiLAor
ICAgICAgICAibWtkaXJwIjogIjAuNS4xIiwKKyAgICAgICAgInNvdXJjZS1tYXAtc3VwcG9ydCI6
ICIwLjQuMTUiCisgICAgICB9CisgICAgfSwKKyAgICAiYmFiZWwtcnVudGltZSI6IHsKKyAgICAg
ICJ2ZXJzaW9uIjogIjYuMjYuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvYmFiZWwtcnVudGltZS8tL2JhYmVsLXJ1bnRpbWUtNi4yNi4wLnRneiIsCisg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtbGx4d1dHYU9nclZkZS80RS95TTN2SXRXUi80PSIsCisg
ICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImNvcmUtanMi
OiAiMi41LjAiLAorICAgICAgICAicmVnZW5lcmF0b3ItcnVudGltZSI6ICIwLjExLjAiCisgICAg
ICB9CisgICAgfSwKKyAgICAiYmFiZWwtdGVtcGxhdGUiOiB7CisgICAgICAidmVyc2lvbiI6ICI2
LjI2LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Jh
YmVsLXRlbXBsYXRlLy0vYmFiZWwtdGVtcGxhdGUtNi4yNi4wLnRneiIsCisgICAgICAiaW50ZWdy
aXR5IjogInNoYTEtM2dQaTBXT1dzR24wYmRuLytGSWZzYURqWGdJPSIsCisgICAgICAiZGV2Ijog
dHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4y
Ni4wIiwKKyAgICAgICAgImJhYmVsLXRyYXZlcnNlIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJl
bC10eXBlcyI6ICI2LjI2LjAiLAorICAgICAgICAiYmFieWxvbiI6ICI2LjE4LjAiLAorICAgICAg
ICAibG9kYXNoIjogIjQuMTcuNCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC10cmF2ZXJz
ZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjYuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtdHJhdmVyc2UvLS9iYWJlbC10cmF2ZXJzZS02
LjI2LjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1ScW5MMSszTVlzamx3R1RpMHRq
UTlBTlhadTQ9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAg
ICAgICAiYmFiZWwtY29kZS1mcmFtZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtbWVzc2Fn
ZXMiOiAiNi4yMy4wIiwKKyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIiwKKyAgICAg
ICAgImJhYmVsLXR5cGVzIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJ5bG9uIjogIjYuMTguMCIs
CisgICAgICAgICJkZWJ1ZyI6ICIyLjYuOCIsCisgICAgICAgICJnbG9iYWxzIjogIjkuMTguMCIs
CisgICAgICAgICJpbnZhcmlhbnQiOiAiMi4yLjIiLAorICAgICAgICAibG9kYXNoIjogIjQuMTcu
NCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC10eXBlcyI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjYuMjYuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvYmFiZWwtdHlwZXMvLS9iYWJlbC10eXBlcy02LjI2LjAudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1vN0J6K1VxMG5yYjZWYzFsSW5velE0QmpKSmM9IiwKKyAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtcnVudGltZSI6ICI2LjI2
LjAiLAorICAgICAgICAiZXN1dGlscyI6ICIyLjAuMiIsCisgICAgICAgICJsb2Rhc2giOiAiNC4x
Ny40IiwKKyAgICAgICAgInRvLWZhc3QtcHJvcGVydGllcyI6ICIxLjAuMyIKKyAgICAgIH0KKyAg
ICB9LAorICAgICJiYWJ5bG9uIjogeworICAgICAgInZlcnNpb24iOiAiNi4xOC4wIiwKKyAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJ5bG9uLy0vYmFieWxv
bi02LjE4LjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLXEvVUVqZkdKMkNtM29L
VjcxREp6OWQyNVRQbnE1cmhCVkwyUTRmQTV3Y0MzamNyZG43K1Nzc0V5YkZJeHdBdnZQK1lDc0NZ
Tkt1Z2hvRjMzR3hneWNRPT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJiYWxh
bmNlZC1tYXRjaCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWxhbmNlZC1tYXRjaC8tL2JhbGFuY2Vk
LW1hdGNoLTEuMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtaWJUUm1hc3I3a25l
Rms2Z0s0bk9SaTF4dDJjPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImJhc2U2
NC1qcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMi4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYXNlNjQtanMvLS9iYXNlNjQtanMtMS4yLjEudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLWR3VlVWSVhzQlpYd1R1d25YSTlSSzhzQm1n
cTA5TkRIenlSOVNBcGg5ZXFrNzZnS0sySlNRbVpBUkMyelJDODFKQzJRVHR4RDBBUlU1cVRTMjVn
SUd3PT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJiaWcuanMiOiB7CisgICAg
ICAidmVyc2lvbiI6ICIzLjEuMyIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvYmlnLmpzLy0vYmlnLmpzLTMuMS4zLnRneiIsCisgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtVEsyaUdUWlM2enlwN0k1VnlRRldhY21BYVhnPSIsCisgICAgICAiZGV2IjogdHJ1
ZQorICAgIH0sCisgICAgImJpbmFyeS1leHRlbnNpb25zIjogeworICAgICAgInZlcnNpb24iOiAi
MS4xMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9i
aW5hcnktZXh0ZW5zaW9ucy8tL2JpbmFyeS1leHRlbnNpb25zLTEuMTAuMC50Z3oiLAorICAgICAg
ImludGVncml0eSI6ICJzaGExLW11dWFiRjZJWTRxdEZ4NFdmMWtBcStKSU5kQT0iLAorICAgICAg
ImRldiI6IHRydWUKKyAgICB9LAorICAgICJibHVlYmlyZCI6IHsKKyAgICAgICJ2ZXJzaW9uIjog
IjIuMTEuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
Ymx1ZWJpcmQvLS9ibHVlYmlyZC0yLjExLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1VMHVRTThBaXlWZWNWcm83UGxwY3F2dTJVT0U9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAg
fSwKKyAgICAiYm4uanMiOiB7CisgICAgICAidmVyc2lvbiI6ICI0LjExLjgiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JuLmpzLy0vYm4uanMtNC4xMS44
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1JdGZZZlBMa1dIVWpja1FDazh4QytM
d3hnSzhOWWNYeXdHaWdKZ1N3T1A4WTJpeVdUNGYydnNabm9PWFRUYm8rbzV5WG1JVUo0Z241NTM4
U081UzNnQT09IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiYm9vbGJhc2UiOiB7
CisgICAgICAidmVyc2lvbiI6ICIxLjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvYm9vbGJhc2UvLS9ib29sYmFzZS0xLjAuMC50Z3oiLAorICAgICAg
ImludGVncml0eSI6ICJzaGExLWFOLzErK1lNVWVzM2NsNnA0KzB4RGN3ZWQyND0iLAorICAgICAg
ImRldiI6IHRydWUKKyAgICB9LAorICAgICJicmFjZS1leHBhbnNpb24iOiB7CisgICAgICAidmVy
c2lvbiI6ICIxLjEuOCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvYnJhY2UtZXhwYW5zaW9uLy0vYnJhY2UtZXhwYW5zaW9uLTEuMS44LnRneiIsCisgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtd0hzaEhIeVZMc0g0NzlVYWQrOE5IVG1Rb3BJPSIsCisgICAg
ICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJhbGFuY2VkLW1h
dGNoIjogIjEuMC4wIiwKKyAgICAgICAgImNvbmNhdC1tYXAiOiAiMC4wLjEiCisgICAgICB9Cisg
ICAgfSwKKyAgICAiYnJhY2VzIjogeworICAgICAgInZlcnNpb24iOiAiMS44LjUiLAorICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JyYWNlcy8tL2JyYWNlcy0x
LjguNS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXVuZVdMaExmK1duV3QyY1I2UlMz
TjRWNzlxYz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAg
ICAgICJleHBhbmQtcmFuZ2UiOiAiMS44LjIiLAorICAgICAgICAicHJlc2VydmUiOiAiMC4yLjAi
LAorICAgICAgICAicmVwZWF0LWVsZW1lbnQiOiAiMS4xLjIiCisgICAgICB9CisgICAgfSwKKyAg
ICAiYnJvcmFuZCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMS4wIiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9icm9yYW5kLy0vYnJvcmFuZC0xLjEuMC50
Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUVzSmUva0NrWGp3eVByaG5XZ29NNVhzaU54
OD0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJicm93c2VyaWZ5LWFlcyI6IHsK
KyAgICAgICJ2ZXJzaW9uIjogIjEuMC42IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9icm93c2VyaWZ5LWFlcy8tL2Jyb3dzZXJpZnktYWVzLTEuMC42LnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtWG5jbDI5N3gvVmt3MU91clNGWjg1RkhFaWdv
PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJ1
ZmZlci14b3IiOiAiMS4wLjMiLAorICAgICAgICAiY2lwaGVyLWJhc2UiOiAiMS4wLjQiLAorICAg
ICAgICAiY3JlYXRlLWhhc2giOiAiMS4xLjMiLAorICAgICAgICAiZXZwX2J5dGVzdG9rZXkiOiAi
MS4wLjAiLAorICAgICAgICAiaW5oZXJpdHMiOiAiMi4wLjMiCisgICAgICB9CisgICAgfSwKKyAg
ICAiYnJvd3NlcmlmeS1jaXBoZXIiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMCIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYnJvd3NlcmlmeS1jaXBo
ZXIvLS9icm93c2VyaWZ5LWNpcGhlci0xLjAuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLW1ZZ2tTSFMvWHRUaWphbFdadHpXYXNqOE5qbz0iLAorICAgICAgImRldiI6IHRydWUsCisg
ICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJicm93c2VyaWZ5LWFlcyI6ICIxLjAuNiIsCisg
ICAgICAgICJicm93c2VyaWZ5LWRlcyI6ICIxLjAuMCIsCisgICAgICAgICJldnBfYnl0ZXN0b2tl
eSI6ICIxLjAuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJicm93c2VyaWZ5LWRlcyI6IHsKKyAg
ICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9icm93c2VyaWZ5LWRlcy8tL2Jyb3dzZXJpZnktZGVzLTEuMC4wLnRneiIs
CisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtMnFKM2NYUndraTdTL2hoWlFSaWhkVU9YSWQwPSIs
CisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImNpcGhl
ci1iYXNlIjogIjEuMC40IiwKKyAgICAgICAgImRlcy5qcyI6ICIxLjAuMCIsCisgICAgICAgICJp
bmhlcml0cyI6ICIyLjAuMyIKKyAgICAgIH0KKyAgICB9LAorICAgICJicm93c2VyaWZ5LXJzYSI6
IHsKKyAgICAgICJ2ZXJzaW9uIjogIjQuMC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9icm93c2VyaWZ5LXJzYS8tL2Jyb3dzZXJpZnktcnNhLTQuMC4x
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtSWVDcit2YnlBcHp5K3ZzVE5XZW5BZFFU
VlNRPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAg
ImJuLmpzIjogIjQuMTEuOCIsCisgICAgICAgICJyYW5kb21ieXRlcyI6ICIyLjAuNSIKKyAgICAg
IH0KKyAgICB9LAorICAgICJicm93c2VyaWZ5LXNpZ24iOiB7CisgICAgICAidmVyc2lvbiI6ICI0
LjAuNCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYnJv
d3NlcmlmeS1zaWduLy0vYnJvd3NlcmlmeS1zaWduLTQuMC40LnRneiIsCisgICAgICAiaW50ZWdy
aXR5IjogInNoYTEtcWs2MmpsMTdaWXVxYS9hbGZtTU12WHFUMHBnPSIsCisgICAgICAiZGV2Ijog
dHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJuLmpzIjogIjQuMTEuOCIsCisg
ICAgICAgICJicm93c2VyaWZ5LXJzYSI6ICI0LjAuMSIsCisgICAgICAgICJjcmVhdGUtaGFzaCI6
ICIxLjEuMyIsCisgICAgICAgICJjcmVhdGUtaG1hYyI6ICIxLjEuNiIsCisgICAgICAgICJlbGxp
cHRpYyI6ICI2LjQuMCIsCisgICAgICAgICJpbmhlcml0cyI6ICIyLjAuMyIsCisgICAgICAgICJw
YXJzZS1hc24xIjogIjUuMS4wIgorICAgICAgfQorICAgIH0sCisgICAgImJyb3dzZXJpZnktemxp
YiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMS40IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9icm93c2VyaWZ5LXpsaWIvLS9icm93c2VyaWZ5LXpsaWIt
MC4xLjQudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS11elg0cFJuMkFPRDZhNFNGSkJ5
WG5RRkIreTA9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAg
ICAgICAicGFrbyI6ICIwLjIuOSIKKyAgICAgIH0KKyAgICB9LAorICAgICJicm93c2Vyc2xpc3Qi
OiB7CisgICAgICAidmVyc2lvbiI6ICIxLjcuNyIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYnJvd3NlcnNsaXN0Ly0vYnJvd3NlcnNsaXN0LTEuNy43LnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtQzlkbkJDV0w2Q215T1l1MURrdGkwYUZtc0xr
PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImNh
bml1c2UtZGIiOiAiMS4wLjMwMDAwNzE1IiwKKyAgICAgICAgImVsZWN0cm9uLXRvLWNocm9taXVt
IjogIjEuMy4xOCIKKyAgICAgIH0KKyAgICB9LAorICAgICJidWZmZXIiOiB7CisgICAgICAidmVy
c2lvbiI6ICI0LjkuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvYnVmZmVyLy0vYnVmZmVyLTQuOS4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNo
YTEtYlJ1MkFiQjZUdnp0bHdsQk1na3dKOGxid3BnPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAg
ICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJhc2U2NC1qcyI6ICIxLjIuMSIsCisgICAgICAg
ICJpZWVlNzU0IjogIjEuMS44IiwKKyAgICAgICAgImlzYXJyYXkiOiAiMS4wLjAiCisgICAgICB9
LAorICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAgImlzYXJyYXkiOiB7CisgICAgICAg
ICAgInZlcnNpb24iOiAiMS4wLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9pc2FycmF5Ly0vaXNhcnJheS0xLjAuMC50Z3oiLAorICAgICAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS11NU5kU0Znc3VoYU1Cb05KVjZWS1BnY1NUeEU9IiwKKyAgICAg
ICAgICAiZGV2IjogdHJ1ZQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAgICAiYnVmZmVy
LXhvciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4zIiwKKyAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9idWZmZXIteG9yLy0vYnVmZmVyLXhvci0xLjAuMy50
Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUp1WWUwVUl2dHczVUxtNDJjcDdWSFlWZjZO
az0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJidWlsdGluLW1vZHVsZXMiOiB7
CisgICAgICAidmVyc2lvbiI6ICIxLjEuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvYnVpbHRpbi1tb2R1bGVzLy0vYnVpbHRpbi1tb2R1bGVzLTEuMS4x
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtSnc4SGJGcHl3QzliWmFSOStVeGY0Nko0
aVM4PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImJ1aWx0aW4tc3RhdHVzLWNv
ZGVzIjogeworICAgICAgInZlcnNpb24iOiAiMy4wLjAiLAorICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2J1aWx0aW4tc3RhdHVzLWNvZGVzLy0vYnVpbHRpbi1z
dGF0dXMtY29kZXMtMy4wLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1oWmdvZU9J
Ym1PSEdaQ1hnUFFGMGVJOVdudWc9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAi
Y2FtZWwtY2FzZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjMuMC4wIiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jYW1lbC1jYXNlLy0vY2FtZWwtY2FzZS0z
LjAuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXlqdzJpS1RwenpwTTJuZDl4Tnk4
Y1RKSnozTT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAg
ICAgICJuby1jYXNlIjogIjIuMy4xIiwKKyAgICAgICAgInVwcGVyLWNhc2UiOiAiMS4xLjMiCisg
ICAgICB9CisgICAgfSwKKyAgICAiY2FtZWxjYXNlIjogeworICAgICAgInZlcnNpb24iOiAiMS4y
LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2NhbWVs
Y2FzZS8tL2NhbWVsY2FzZS0xLjIuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLW03
VXdUUzRMVm1tTExIV0xDS1BxcWRxbGlqaz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAor
ICAgICJjYW5pdXNlLWFwaSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuNi4xIiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jYW5pdXNlLWFwaS8tL2Nhbml1
c2UtYXBpLTEuNi4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtdFRUbnh6VEUrQjdG
Kytpc29xMGtOVXVXTEd3PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6
IHsKKyAgICAgICAgImJyb3dzZXJzbGlzdCI6ICIxLjcuNyIsCisgICAgICAgICJjYW5pdXNlLWRi
IjogIjEuMC4zMDAwMDcxNSIsCisgICAgICAgICJsb2Rhc2gubWVtb2l6ZSI6ICI0LjEuMiIsCisg
ICAgICAgICJsb2Rhc2gudW5pcSI6ICI0LjUuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJjYW5p
dXNlLWRiIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjMwMDAwNzE1IiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jYW5pdXNlLWRiLy0vY2FuaXVzZS1k
Yi0xLjAuMzAwMDA3MTUudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1DNXRjZVZsUTM3
cnpBYWlBYTYvb2Z4SnRxTW89IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiY2Fu
aXVzZS1saXRlIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjMwMDAwNzE1IiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jYW5pdXNlLWxpdGUvLS9jYW5p
dXNlLWxpdGUtMS4wLjMwMDAwNzE1LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtd3lm
MTV0a0g2ODdHTE41WmpEdnczWGsvdWFBPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisg
ICAgImNlbnRlci1hbGlnbiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMS4zIiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jZW50ZXItYWxpZ24vLS9jZW50
ZXItYWxpZ24tMC4xLjMudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1xZzB5WXB0dTZY
SWdCQkhMMUVZY2tIdkN0NjA9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVz
IjogeworICAgICAgICAiYWxpZ24tdGV4dCI6ICIwLjEuNCIsCisgICAgICAgICJsYXp5LWNhY2hl
IjogIjEuMC40IgorICAgICAgfQorICAgIH0sCisgICAgImNoYWxrIjogeworICAgICAgInZlcnNp
b24iOiAiMS4xLjMiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL2NoYWxrLy0vY2hhbGstMS4xLjMudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1x
QkZjVmVTbkF2NU5GUXE5T0hLQ0tuNEovSmc9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
InJlcXVpcmVzIjogeworICAgICAgICAiYW5zaS1zdHlsZXMiOiAiMi4yLjEiLAorICAgICAgICAi
ZXNjYXBlLXN0cmluZy1yZWdleHAiOiAiMS4wLjUiLAorICAgICAgICAiaGFzLWFuc2kiOiAiMi4w
LjAiLAorICAgICAgICAic3RyaXAtYW5zaSI6ICIzLjAuMSIsCisgICAgICAgICJzdXBwb3J0cy1j
b2xvciI6ICIyLjAuMCIKKyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAg
ICAic3VwcG9ydHMtY29sb3IiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAorICAg
ICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zdXBwb3J0cy1j
b2xvci8tL3N1cHBvcnRzLWNvbG9yLTIuMC4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6
ICJzaGExLVUxMEVYT2EyTmora0FSY0lSaW1aWHAzekpNYz0iLAorICAgICAgICAgICJkZXYiOiB0
cnVlCisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9LAorICAgICJjaG9raWRhciI6IHsKKyAgICAg
ICJ2ZXJzaW9uIjogIjEuNy4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy9jaG9raWRhci8tL2Nob2tpZGFyLTEuNy4wLnRneiIsCisgICAgICAiaW50ZWdy
aXR5IjogInNoYTEtZVk1b2wzZ1ZISUIydExOZzVlM1NqTm9ydEdnPSIsCisgICAgICAiZGV2Ijog
dHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImFueW1hdGNoIjogIjEuMy4yIiwK
KyAgICAgICAgImFzeW5jLWVhY2giOiAiMS4wLjEiLAorICAgICAgICAiZnNldmVudHMiOiAiMS4x
LjIiLAorICAgICAgICAiZ2xvYi1wYXJlbnQiOiAiMi4wLjAiLAorICAgICAgICAiaW5oZXJpdHMi
OiAiMi4wLjMiLAorICAgICAgICAiaXMtYmluYXJ5LXBhdGgiOiAiMS4wLjEiLAorICAgICAgICAi
aXMtZ2xvYiI6ICIyLjAuMSIsCisgICAgICAgICJwYXRoLWlzLWFic29sdXRlIjogIjEuMC4xIiwK
KyAgICAgICAgInJlYWRkaXJwIjogIjIuMS4wIgorICAgICAgfSwKKyAgICAgICJkZXBlbmRlbmNp
ZXMiOiB7CisgICAgICAgICJpcy1leHRnbG9iIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEu
MC4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
aXMtZXh0Z2xvYi8tL2lzLWV4dGdsb2ItMS4wLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtckVhQmQ4U1VOQVdna3Z5UEtYWU1iL3hpQnNBPSIsCisgICAgICAgICAgImRldiI6
IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImlzLWdsb2IiOiB7CisgICAgICAgICAgInZlcnNp
b24iOiAiMi4wLjEiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9pcy1nbG9iLy0vaXMtZ2xvYi0yLjAuMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS0wSmI1SnFQZTFXQVBQOS9aRVpqTENJakMyR009IiwKKyAgICAgICAgICAiZGV2
IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiaXMtZXh0Z2xv
YiI6ICIxLjAuMCIKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9LAorICAg
ICJjaXBoZXItYmFzZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC40IiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jaXBoZXItYmFzZS8tL2NpcGhlci1i
YXNlLTEuMC40LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1La2h0NXllNlpHbXd2
NDB1VURaenRheVQyVGhMUUdmbmovVDcxTi9YemVaZW8zbmY4Zm95Vzd6R1RzUFlrRXlhM201ZjNj
QXlwSCtxZTdZT3JNMVUyUT09IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVz
IjogeworICAgICAgICAiaW5oZXJpdHMiOiAiMi4wLjMiLAorICAgICAgICAic2FmZS1idWZmZXIi
OiAiNS4xLjEiCisgICAgICB9CisgICAgfSwKKyAgICAiY2xhcCI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjEuMi4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9jbGFwLy0vY2xhcC0xLjIuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLVdja1A0
K0UzRUVkRy94bEdtaWVtTlA5b3lGYz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVx
dWlyZXMiOiB7CisgICAgICAgICJjaGFsayI6ICIxLjEuMyIKKyAgICAgIH0KKyAgICB9LAorICAg
ICJjbGVhbi1jc3MiOiB7CisgICAgICAidmVyc2lvbiI6ICI0LjEuNyIsCisgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY2xlYW4tY3NzLy0vY2xlYW4tY3NzLTQu
MS43LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtdWE2aytGWjVpSnp6NnVpMEEwbnNU
cjM5MERJPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAg
ICAgInNvdXJjZS1tYXAiOiAiMC41LjYiCisgICAgICB9CisgICAgfSwKKyAgICAiY2xpLWN1cnNv
ciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jbGktY3Vyc29yLy0vY2xpLWN1cnNvci0yLjEuMC50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLXMxMnNOMlI1K3N3K2xIUjlRZERROVNPUC9MVT0i
LAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJyZXN0
b3JlLWN1cnNvciI6ICIyLjAuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJjbGktc3Bpbm5lcnMi
OiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY2xpLXNwaW5uZXJzLy0vY2xpLXNwaW5uZXJzLTEuMC4wLnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtNzVoKzA5U0RrYXc5cTVHQXRBYW5RaGdOYm1v
PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImNsaXVpIjogeworICAgICAgInZl
cnNpb24iOiAiMi4xLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL2NsaXVpLy0vY2xpdWktMi4xLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1TMGRYWVArQUpreDJMRG9YR1FNdWtjZitvTkU9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAg
ICAgInJlcXVpcmVzIjogeworICAgICAgICAiY2VudGVyLWFsaWduIjogIjAuMS4zIiwKKyAgICAg
ICAgInJpZ2h0LWFsaWduIjogIjAuMS4zIiwKKyAgICAgICAgIndvcmR3cmFwIjogIjAuMC4yIgor
ICAgICAgfQorICAgIH0sCisgICAgImNsb25lIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjIi
LAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Nsb25lLy0v
Y2xvbmUtMS4wLjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1KZ3Q2bWV1eDdmNGtk
VGdYWDNneVE4c1owVWs9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiY28iOiB7
CisgICAgICAidmVyc2lvbiI6ICI0LjYuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvY28vLS9jby00LjYuMC50Z3oiLAorICAgICAgImludGVncml0eSI6
ICJzaGExLWJxYTk4OWhUcmxUTXVPUjcrZ3Z6K1FNZnNZUT0iLAorICAgICAgImRldiI6IHRydWUK
KyAgICB9LAorICAgICJjb2EiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuNCIsCisgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY29hLy0vY29hLTEuMC40LnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtcWU4Vk5tRFdxR3FMM3NBb21seG9UU0YwTXYw
PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgInEi
OiAiMS41LjAiCisgICAgICB9CisgICAgfSwKKyAgICAiY29kZS1wb2ludC1hdCI6IHsKKyAgICAg
ICJ2ZXJzaW9uIjogIjEuMS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy9jb2RlLXBvaW50LWF0Ly0vY29kZS1wb2ludC1hdC0xLjEuMC50Z3oiLAorICAg
ICAgImludGVncml0eSI6ICJzaGExLURRY0xUUVE2Vytvem92R2tEaTdiUFpwTXozYz0iLAorICAg
ICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJjb2xvciI6IHsKKyAgICAgICJ2ZXJzaW9uIjog
IjAuMTEuNCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
Y29sb3IvLS9jb2xvci0wLjExLjQudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1iWHRj
ZFB0bDZFSE5TSGtxMGUxZUI3a0UxMlE9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJl
cXVpcmVzIjogeworICAgICAgICAiY2xvbmUiOiAiMS4wLjIiLAorICAgICAgICAiY29sb3ItY29u
dmVydCI6ICIxLjkuMCIsCisgICAgICAgICJjb2xvci1zdHJpbmciOiAiMC4zLjAiCisgICAgICB9
CisgICAgfSwKKyAgICAiY29sb3ItY29udmVydCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuOS4w
IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb2xvci1j
b252ZXJ0Ly0vY29sb3ItY29udmVydC0xLjkuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLUdzejVmZGM1dVlPL21VMVcvc2o1V0ZOa0czbz0iLAorICAgICAgImRldiI6IHRydWUsCisg
ICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJjb2xvci1uYW1lIjogIjEuMS4zIgorICAgICAg
fQorICAgIH0sCisgICAgImNvbG9yLW5hbWUiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjEuMyIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY29sb3ItbmFt
ZS8tL2NvbG9yLW5hbWUtMS4xLjMudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1wOUJW
aTlpY1F2ZVYzVUl5ajNRSU1jcFR2Q1U9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAg
ICAiY29sb3Itc3RyaW5nIjogeworICAgICAgInZlcnNpb24iOiAiMC4zLjAiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2NvbG9yLXN0cmluZy8tL2NvbG9y
LXN0cmluZy0wLjMuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUo5UnZ0bkFseGNM
NkpaazcrL1Y1NUhoQnVaRT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMi
OiB7CisgICAgICAgICJjb2xvci1uYW1lIjogIjEuMS4zIgorICAgICAgfQorICAgIH0sCisgICAg
ImNvbG9ybWluIjogeworICAgICAgInZlcnNpb24iOiAiMS4xLjIiLAorICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2NvbG9ybWluLy0vY29sb3JtaW4tMS4xLjIu
dGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS02aTkwSUtjcmxvZ2FPS3JsbnNFa3B2Y3Bn
VE09IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAi
Y29sb3IiOiAiMC4xMS40IiwKKyAgICAgICAgImNzcy1jb2xvci1uYW1lcyI6ICIwLjAuNCIsCisg
ICAgICAgICJoYXMiOiAiMS4wLjEiCisgICAgICB9CisgICAgfSwKKyAgICAiY29sb3JzIjogewor
ICAgICAgInZlcnNpb24iOiAiMS4xLjIiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2NvbG9ycy8tL2NvbG9ycy0xLjEuMi50Z3oiLAorICAgICAgImludGVn
cml0eSI6ICJzaGExLUZvcEhBWFZyYW45Um9Temd5WHY2S01DRTdXTT0iLAorICAgICAgImRldiI6
IHRydWUKKyAgICB9LAorICAgICJjb21tYW5kZXIiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjEx
LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2NvbW1h
bmRlci8tL2NvbW1hbmRlci0yLjExLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEy
LWIwNTUzdVlBNVlBRUdneVlJR1lST3pLUTdYNVJBcWVka2ZqaVp4d2kwa0wxZzNiT2FCTk5aZllr
enQvQ0wwdW1nRDV3YzlKZWMyRmJCOThDamtNUnZRPT0iLAorICAgICAgImRldiI6IHRydWUKKyAg
ICB9LAorICAgICJjb21tb25kaXIiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMSIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY29tbW9uZGlyLy0vY29t
bW9uZGlyLTEuMC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtM2RnQTJneG1Fbk9U
ektXVkRxbG9vNnJ4SlRzPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImNvbmNh
dC1tYXAiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjAuMSIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY29uY2F0LW1hcC8tL2NvbmNhdC1tYXAtMC4wLjEu
dGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0yS2xyMTMvV2pmZDVPbk1EYWp1ZzFVQmRS
M3M9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiY29uZmlnLWNoYWluIjogewor
ICAgICAgInZlcnNpb24iOiAiMS4xLjExIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9jb25maWctY2hhaW4vLS9jb25maWctY2hhaW4tMS4xLjExLnRneiIs
CisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtcTZDWFI5KytURDV3NTJhbTVCV0c0WVdmeHZJPSIs
CisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImluaSI6
ICIxLjMuNCIsCisgICAgICAgICJwcm90by1saXN0IjogIjEuMi40IgorICAgICAgfQorICAgIH0s
CisgICAgImNvbm5lY3QtaGlzdG9yeS1hcGktZmFsbGJhY2siOiB7CisgICAgICAidmVyc2lvbiI6
ICIxLjMuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
Y29ubmVjdC1oaXN0b3J5LWFwaS1mYWxsYmFjay8tL2Nvbm5lY3QtaGlzdG9yeS1hcGktZmFsbGJh
Y2stMS4zLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS01UjBYK1BEdkRia0taUDIw
ZmVNRkZWYnA4V2s9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiY29uc29sZS1i
cm93c2VyaWZ5IjogeworICAgICAgInZlcnNpb24iOiAiMS4xLjAiLAorICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2NvbnNvbGUtYnJvd3NlcmlmeS8tL2NvbnNv
bGUtYnJvd3NlcmlmeS0xLjEuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLThDUWNS
WE1LbjhZeU95QnR2emp0eDBIUXV4QT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVx
dWlyZXMiOiB7CisgICAgICAgICJkYXRlLW5vdyI6ICIwLjEuNCIKKyAgICAgIH0KKyAgICB9LAor
ICAgICJjb25zb2xpZGF0ZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMTQuNSIsCisgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY29uc29saWRhdGUvLS9jb25z
b2xpZGF0ZS0wLjE0LjUudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1XaVVFZThkdmN3
Y21aOGpMVXNtSmlJOUpUR009IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVz
IjogeworICAgICAgICAiYmx1ZWJpcmQiOiAiMy41LjAiCisgICAgICB9LAorICAgICAgImRlcGVu
ZGVuY2llcyI6IHsKKyAgICAgICAgImJsdWViaXJkIjogeworICAgICAgICAgICJ2ZXJzaW9uIjog
IjMuNS4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvYmx1ZWJpcmQvLS9ibHVlYmlyZC0zLjUuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1lUlFnMS9WUjdxS0pkRk9vcDNaVCtXWUcxbnc9IiwKKyAgICAgICAgICAiZGV2Ijog
dHJ1ZQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAgICAiY29uc3RhbnRzLWJyb3dzZXJp
ZnkiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY29uc3RhbnRzLWJyb3dzZXJpZnkvLS9jb25zdGFudHMt
YnJvd3NlcmlmeS0xLjAuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXdndVcyTVlY
ZElxdkhCWUNGMkROSi95NHkzVT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJj
b250ZW50LWRpc3Bvc2l0aW9uIjogeworICAgICAgInZlcnNpb24iOiAiMC41LjIiLAorICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2NvbnRlbnQtZGlzcG9zaXRp
b24vLS9jb250ZW50LWRpc3Bvc2l0aW9uLTAuNS4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtRFBhTHVkMzE4cjU1WWNPb1VYakxoZHVuakxRPSIsCisgICAgICAiZGV2IjogdHJ1ZQor
ICAgIH0sCisgICAgImNvbnRlbnQtdHlwZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4yIiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb250ZW50LXR5
cGUvLS9jb250ZW50LXR5cGUtMS4wLjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS10
OUVUcnVlbzNTZTlJUk04VGNKU25mRnlIdTA9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwK
KyAgICAiY29udmVydC1zb3VyY2UtbWFwIjogeworICAgICAgInZlcnNpb24iOiAiMS41LjAiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2NvbnZlcnQtc291
cmNlLW1hcC8tL2NvbnZlcnQtc291cmNlLW1hcC0xLjUuMC50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGExLW1zMXdoUnh0WGYzWlBaS0M1ZTM1U2dQL1JyVT0iLAorICAgICAgImRldiI6IHRy
dWUKKyAgICB9LAorICAgICJjb29raWUiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjMuMSIsCisg
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY29va2llLy0vY29v
a2llLTAuMy4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtNStDaCtlOUR0TWk2a2x4
Y1dwYm9CdEZvYzdzPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImNvb2tpZS1z
aWduYXR1cmUiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuNiIsCisgICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY29va2llLXNpZ25hdHVyZS8tL2Nvb2tpZS1z
aWduYXR1cmUtMS4wLjYudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS00d09vZ3JOQ3pE
N295bEU2ZVptWE5OcXpyaXc9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiY29w
eS13ZWJwYWNrLXBsdWdpbiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjQuMC4xIiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb3B5LXdlYnBhY2stcGx1Z2lu
Ly0vY29weS13ZWJwYWNrLXBsdWdpbi00LjAuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLWx5ampnN2xERmdVTkRIUmpsWThyaGNDcWdnQT0iLAorICAgICAgImRldiI6IHRydWUsCisg
ICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJibHVlYmlyZCI6ICIyLjExLjAiLAorICAgICAg
ICAiZnMtZXh0cmEiOiAiMC4yNi43IiwKKyAgICAgICAgImdsb2IiOiAiNi4wLjQiLAorICAgICAg
ICAiaXMtZ2xvYiI6ICIzLjEuMCIsCisgICAgICAgICJsb2FkZXItdXRpbHMiOiAiMC4yLjE3IiwK
KyAgICAgICAgImxvZGFzaCI6ICI0LjE3LjQiLAorICAgICAgICAibWluaW1hdGNoIjogIjMuMC40
IiwKKyAgICAgICAgIm5vZGUtZGlyIjogIjAuMS4xNyIKKyAgICAgIH0KKyAgICB9LAorICAgICJj
b3JlLWpzIjogeworICAgICAgInZlcnNpb24iOiAiMi41LjAiLAorICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2NvcmUtanMvLS9jb3JlLWpzLTIuNS4wLnRneiIs
CisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtVnB3RkNSaStaSWF6ZzNWU0FvcmdSbXR4Y0lZPSIs
CisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImNvcmUtdXRpbC1pcyI6IHsKKyAgICAg
ICJ2ZXJzaW9uIjogIjEuMC4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy9jb3JlLXV0aWwtaXMvLS9jb3JlLXV0aWwtaXMtMS4wLjIudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS10ZjFVSWdxaXZGcTFlcXR4UU1sQWRVVUR3YWM9IiwKKyAgICAg
ICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiY29zbWljb25maWciOiB7CisgICAgICAidmVyc2lv
biI6ICIyLjIuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvY29zbWljb25maWcvLS9jb3NtaWNvbmZpZy0yLjIuMi50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGE1MTItR2lOWEx3QUZQWUh5MjVYbVRQcGFmWXZuM0NMQWtKOEZMc3NjcTc4TVFkMUto
ME9VNll6aG40ZVYyTVZGNEc5V0VRWm9XRUdsdGF0ZFIrbnRHUE1sNUE9PSIsCisgICAgICAiZGV2
IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImlzLWRpcmVjdG9yeSI6ICIw
LjMuMSIsCisgICAgICAgICJqcy15YW1sIjogIjMuNy4wIiwKKyAgICAgICAgIm1pbmltaXN0Ijog
IjEuMi4wIiwKKyAgICAgICAgIm9iamVjdC1hc3NpZ24iOiAiNC4xLjEiLAorICAgICAgICAib3Mt
aG9tZWRpciI6ICIxLjAuMiIsCisgICAgICAgICJwYXJzZS1qc29uIjogIjIuMi4wIiwKKyAgICAg
ICAgInJlcXVpcmUtZnJvbS1zdHJpbmciOiAiMS4yLjEiCisgICAgICB9LAorICAgICAgImRlcGVu
ZGVuY2llcyI6IHsKKyAgICAgICAgIm1pbmltaXN0IjogeworICAgICAgICAgICJ2ZXJzaW9uIjog
IjEuMi4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvbWluaW1pc3QvLS9taW5pbWlzdC0xLjIuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1vMUFJc2c5Qk9EN3NIN2tVOU0xZDk1b21Rb1E9IiwKKyAgICAgICAgICAiZGV2Ijog
dHJ1ZQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAgICAiY3JlYXRlLWVjZGgiOiB7Cisg
ICAgICAidmVyc2lvbiI6ICI0LjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvY3JlYXRlLWVjZGgvLS9jcmVhdGUtZWNkaC00LjAuMC50Z3oiLAorICAg
ICAgImludGVncml0eSI6ICJzaGExLWlJeHlOWmJOOTJFdlpKZ2pQdXZYbzFNQmMzMD0iLAorICAg
ICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJibi5qcyI6ICI0
LjExLjgiLAorICAgICAgICAiZWxsaXB0aWMiOiAiNi40LjAiCisgICAgICB9CisgICAgfSwKKyAg
ICAiY3JlYXRlLWhhc2giOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjEuMyIsCisgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY3JlYXRlLWhhc2gvLS9jcmVhdGUt
aGFzaC0xLjEuMy50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLVlHQkNySXVTWW5VUFNE
eXQyckQxZ1pGeTJQMD0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7
CisgICAgICAgICJjaXBoZXItYmFzZSI6ICIxLjAuNCIsCisgICAgICAgICJpbmhlcml0cyI6ICIy
LjAuMyIsCisgICAgICAgICJyaXBlbWQxNjAiOiAiMi4wLjEiLAorICAgICAgICAic2hhLmpzIjog
IjIuNC44IgorICAgICAgfQorICAgIH0sCisgICAgImNyZWF0ZS1obWFjIjogeworICAgICAgInZl
cnNpb24iOiAiMS4xLjYiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL2NyZWF0ZS1obWFjLy0vY3JlYXRlLWhtYWMtMS4xLjYudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1yTG5pSWFUaGU5c0hicEJsZkVLNVBqY216d1k9IiwKKyAgICAgICJkZXYi
OiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiY2lwaGVyLWJhc2UiOiAiMS4w
LjQiLAorICAgICAgICAiY3JlYXRlLWhhc2giOiAiMS4xLjMiLAorICAgICAgICAiaW5oZXJpdHMi
OiAiMi4wLjMiLAorICAgICAgICAicmlwZW1kMTYwIjogIjIuMC4xIiwKKyAgICAgICAgInNhZmUt
YnVmZmVyIjogIjUuMS4xIiwKKyAgICAgICAgInNoYS5qcyI6ICIyLjQuOCIKKyAgICAgIH0KKyAg
ICB9LAorICAgICJjcnlwdG8tYnJvd3NlcmlmeSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjMuMTEu
MSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY3J5cHRv
LWJyb3dzZXJpZnkvLS9jcnlwdG8tYnJvd3NlcmlmeS0zLjExLjEudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhNTEyLU5hN1psd0NPcW9hVzVSd1VLMVdwWHdzMmt2OG1OaFdkVGx6b2IwVVh1
bGs2RzlCRGJ5aUphR1RZQklYNjFPem45bDFFUFBKcElDWmI0RGFPcFQ5TmxRPT0iLAorICAgICAg
ImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJicm93c2VyaWZ5LWNp
cGhlciI6ICIxLjAuMCIsCisgICAgICAgICJicm93c2VyaWZ5LXNpZ24iOiAiNC4wLjQiLAorICAg
ICAgICAiY3JlYXRlLWVjZGgiOiAiNC4wLjAiLAorICAgICAgICAiY3JlYXRlLWhhc2giOiAiMS4x
LjMiLAorICAgICAgICAiY3JlYXRlLWhtYWMiOiAiMS4xLjYiLAorICAgICAgICAiZGlmZmllLWhl
bGxtYW4iOiAiNS4wLjIiLAorICAgICAgICAiaW5oZXJpdHMiOiAiMi4wLjMiLAorICAgICAgICAi
cGJrZGYyIjogIjMuMC4xMyIsCisgICAgICAgICJwdWJsaWMtZW5jcnlwdCI6ICI0LjAuMCIsCisg
ICAgICAgICJyYW5kb21ieXRlcyI6ICIyLjAuNSIKKyAgICAgIH0KKyAgICB9LAorICAgICJjc3Mt
Y29sb3ItbmFtZXMiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjAuNCIsCisgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY3NzLWNvbG9yLW5hbWVzLy0vY3NzLWNv
bG9yLW5hbWVzLTAuMC40LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtZ0lyY0xublBo
SE9BYWJaR3l5RHNKNzYyS2VBPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImNz
cy1sb2FkZXIiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjI4LjQiLAorICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Nzcy1sb2FkZXIvLS9jc3MtbG9hZGVyLTAu
MjguNC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWJQTlhrWkxPTlY2TE9OWDBMZGVo
OHV5SmpROD0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAg
ICAgICJiYWJlbC1jb2RlLWZyYW1lIjogIjYuMjYuMCIsCisgICAgICAgICJjc3Mtc2VsZWN0b3It
dG9rZW5pemVyIjogIjAuNy4wIiwKKyAgICAgICAgImNzc25hbm8iOiAiMy4xMC4wIiwKKyAgICAg
ICAgImljc3MtdXRpbHMiOiAiMi4xLjAiLAorICAgICAgICAibG9hZGVyLXV0aWxzIjogIjEuMS4w
IiwKKyAgICAgICAgImxvZGFzaC5jYW1lbGNhc2UiOiAiNC4zLjAiLAorICAgICAgICAib2JqZWN0
LWFzc2lnbiI6ICI0LjEuMSIsCisgICAgICAgICJwb3N0Y3NzIjogIjUuMi4xNyIsCisgICAgICAg
ICJwb3N0Y3NzLW1vZHVsZXMtZXh0cmFjdC1pbXBvcnRzIjogIjEuMS4wIiwKKyAgICAgICAgInBv
c3Rjc3MtbW9kdWxlcy1sb2NhbC1ieS1kZWZhdWx0IjogIjEuMi4wIiwKKyAgICAgICAgInBvc3Rj
c3MtbW9kdWxlcy1zY29wZSI6ICIxLjEuMCIsCisgICAgICAgICJwb3N0Y3NzLW1vZHVsZXMtdmFs
dWVzIjogIjEuMy4wIiwKKyAgICAgICAgInBvc3Rjc3MtdmFsdWUtcGFyc2VyIjogIjMuMy4wIiwK
KyAgICAgICAgInNvdXJjZS1saXN0LW1hcCI6ICIwLjEuOCIKKyAgICAgIH0sCisgICAgICAiZGVw
ZW5kZW5jaWVzIjogeworICAgICAgICAibG9hZGVyLXV0aWxzIjogeworICAgICAgICAgICJ2ZXJz
aW9uIjogIjEuMS4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvbG9hZGVyLXV0aWxzLy0vbG9hZGVyLXV0aWxzLTEuMS4wLnRneiIsCisgICAgICAg
ICAgImludGVncml0eSI6ICJzaGExLXlZcnZTSXZNN2FML3RlTGVaRzFxZFVRcDljMD0iLAorICAg
ICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAg
ICJiaWcuanMiOiAiMy4xLjMiLAorICAgICAgICAgICAgImVtb2ppcy1saXN0IjogIjIuMS4wIiwK
KyAgICAgICAgICAgICJqc29uNSI6ICIwLjUuMSIKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAg
ICAgIH0KKyAgICB9LAorICAgICJjc3Mtc2VsZWN0IjogeworICAgICAgInZlcnNpb24iOiAiMS4y
LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Nzcy1z
ZWxlY3QvLS9jc3Mtc2VsZWN0LTEuMi4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
S3pvUkJUbkZOVjhjMk5NVVlqNkhDeElleUZnPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAg
ICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJvb2xiYXNlIjogIjEuMC4wIiwKKyAgICAgICAgImNz
cy13aGF0IjogIjIuMS4wIiwKKyAgICAgICAgImRvbXV0aWxzIjogIjEuNS4xIiwKKyAgICAgICAg
Im50aC1jaGVjayI6ICIxLjAuMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJjc3Mtc2VsZWN0b3It
dG9rZW5pemVyIjogeworICAgICAgInZlcnNpb24iOiAiMC43LjAiLAorICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Nzcy1zZWxlY3Rvci10b2tlbml6ZXIvLS9j
c3Mtc2VsZWN0b3ItdG9rZW5pemVyLTAuNy4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNo
YTEtNXBpRWRLNk1sVFIzdjE1Ky9zL096Tm5QVElZPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAg
ICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImNzc2VzYyI6ICIwLjEuMCIsCisgICAgICAgICJm
YXN0cGFyc2UiOiAiMS4xLjEiLAorICAgICAgICAicmVnZXhwdS1jb3JlIjogIjEuMC4wIgorICAg
ICAgfSwKKyAgICAgICJkZXBlbmRlbmNpZXMiOiB7CisgICAgICAgICJyZWdleHB1LWNvcmUiOiB7
CisgICAgICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZWdleHB1LWNvcmUvLS9yZWdleHB1LWNvcmUtMS4w
LjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtaHFkajlZN2sxOEwyc1FMa2Rr
QlEzbjdaREdzPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVz
IjogeworICAgICAgICAgICAgInJlZ2VuZXJhdGUiOiAiMS4zLjIiLAorICAgICAgICAgICAgInJl
Z2pzZ2VuIjogIjAuMi4wIiwKKyAgICAgICAgICAgICJyZWdqc3BhcnNlciI6ICIwLjEuNSIKKyAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9LAorICAgICJjc3Mtd2hhdCI6IHsK
KyAgICAgICJ2ZXJzaW9uIjogIjIuMS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9jc3Mtd2hhdC8tL2Nzcy13aGF0LTIuMS4wLnRneiIsCisgICAgICAi
aW50ZWdyaXR5IjogInNoYTEtbEdmUU1zT00rdSs1OHRlVkFTVXdZdmgvb2IwPSIsCisgICAgICAi
ZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImNzc2VzYyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAu
MS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jc3Nl
c2MvLS9jc3Nlc2MtMC4xLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS15QlNRUGtW
aU0zR2dSM3RBRUpxcSsrNnQyN1E9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAi
Y3NzbmFubyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjMuMTAuMCIsCisgICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY3NzbmFuby8tL2Nzc25hbm8tMy4xMC4wLnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtVHpqMnpxSzVzWCtnRkpEeVB4M0dqcVpjSERn
PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImF1
dG9wcmVmaXhlciI6ICI2LjcuNyIsCisgICAgICAgICJkZWNhbWVsaXplIjogIjEuMi4wIiwKKyAg
ICAgICAgImRlZmluZWQiOiAiMS4wLjAiLAorICAgICAgICAiaGFzIjogIjEuMC4xIiwKKyAgICAg
ICAgIm9iamVjdC1hc3NpZ24iOiAiNC4xLjEiLAorICAgICAgICAicG9zdGNzcyI6ICI1LjIuMTci
LAorICAgICAgICAicG9zdGNzcy1jYWxjIjogIjUuMy4xIiwKKyAgICAgICAgInBvc3Rjc3MtY29s
b3JtaW4iOiAiMi4yLjIiLAorICAgICAgICAicG9zdGNzcy1jb252ZXJ0LXZhbHVlcyI6ICIyLjYu
MSIsCisgICAgICAgICJwb3N0Y3NzLWRpc2NhcmQtY29tbWVudHMiOiAiMi4wLjQiLAorICAgICAg
ICAicG9zdGNzcy1kaXNjYXJkLWR1cGxpY2F0ZXMiOiAiMi4xLjAiLAorICAgICAgICAicG9zdGNz
cy1kaXNjYXJkLWVtcHR5IjogIjIuMS4wIiwKKyAgICAgICAgInBvc3Rjc3MtZGlzY2FyZC1vdmVy
cmlkZGVuIjogIjAuMS4xIiwKKyAgICAgICAgInBvc3Rjc3MtZGlzY2FyZC11bnVzZWQiOiAiMi4y
LjMiLAorICAgICAgICAicG9zdGNzcy1maWx0ZXItcGx1Z2lucyI6ICIyLjAuMiIsCisgICAgICAg
ICJwb3N0Y3NzLW1lcmdlLWlkZW50cyI6ICIyLjEuNyIsCisgICAgICAgICJwb3N0Y3NzLW1lcmdl
LWxvbmdoYW5kIjogIjIuMC4yIiwKKyAgICAgICAgInBvc3Rjc3MtbWVyZ2UtcnVsZXMiOiAiMi4x
LjIiLAorICAgICAgICAicG9zdGNzcy1taW5pZnktZm9udC12YWx1ZXMiOiAiMS4wLjUiLAorICAg
ICAgICAicG9zdGNzcy1taW5pZnktZ3JhZGllbnRzIjogIjEuMC41IiwKKyAgICAgICAgInBvc3Rj
c3MtbWluaWZ5LXBhcmFtcyI6ICIxLjIuMiIsCisgICAgICAgICJwb3N0Y3NzLW1pbmlmeS1zZWxl
Y3RvcnMiOiAiMi4xLjEiLAorICAgICAgICAicG9zdGNzcy1ub3JtYWxpemUtY2hhcnNldCI6ICIx
LjEuMSIsCisgICAgICAgICJwb3N0Y3NzLW5vcm1hbGl6ZS11cmwiOiAiMy4wLjgiLAorICAgICAg
ICAicG9zdGNzcy1vcmRlcmVkLXZhbHVlcyI6ICIyLjIuMyIsCisgICAgICAgICJwb3N0Y3NzLXJl
ZHVjZS1pZGVudHMiOiAiMi40LjAiLAorICAgICAgICAicG9zdGNzcy1yZWR1Y2UtaW5pdGlhbCI6
ICIxLjAuMSIsCisgICAgICAgICJwb3N0Y3NzLXJlZHVjZS10cmFuc2Zvcm1zIjogIjEuMC40IiwK
KyAgICAgICAgInBvc3Rjc3Mtc3ZnbyI6ICIyLjEuNiIsCisgICAgICAgICJwb3N0Y3NzLXVuaXF1
ZS1zZWxlY3RvcnMiOiAiMi4wLjIiLAorICAgICAgICAicG9zdGNzcy12YWx1ZS1wYXJzZXIiOiAi
My4zLjAiLAorICAgICAgICAicG9zdGNzcy16aW5kZXgiOiAiMi4yLjAiCisgICAgICB9CisgICAg
fSwKKyAgICAiY3NzbyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMy4yIiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jc3NvLy0vY3Nzby0yLjMuMi50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLTNkVXNXSEF6OUo2VXR4L0ZWV255VXVqL1g0VT0i
LAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJjbGFw
IjogIjEuMi4wIiwKKyAgICAgICAgInNvdXJjZS1tYXAiOiAiMC41LjYiCisgICAgICB9CisgICAg
fSwKKyAgICAiZGF0ZS1ub3ciOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjEuNCIsCisgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZGF0ZS1ub3cvLS9kYXRlLW5v
dy0wLjEuNC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLTZ2UTUvVTFJU0sxMDVjeDl2
dklBWnl1ZU5Gcz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJkZS1pbmRlbnQi
OiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZGUtaW5kZW50Ly0vZGUtaW5kZW50LTEuMC4yLnRneiIsCisg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtc2dPT2hHM0RPNnBYbGhLTkNBUzBWYmpCNGgwPSIsCisg
ICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImRlYnVnIjogeworICAgICAgInZlcnNpb24i
OiAiMi42LjgiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L2RlYnVnLy0vZGVidWctMi42LjgudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS01ekZU
SEtMdDRuMFlnaUpDZmFGNElkYVA5UHc9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJl
cXVpcmVzIjogeworICAgICAgICAibXMiOiAiMi4wLjAiCisgICAgICB9CisgICAgfSwKKyAgICAi
ZGVjYW1lbGl6ZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMi4wIiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9kZWNhbWVsaXplLy0vZGVjYW1lbGl6ZS0x
LjIuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLTlsTk5GUlNDYWJJRFV1ZSs0bTlR
SDVvWkVwQT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJkZWZpbmVkIjogewor
ICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2RlZmluZWQvLS9kZWZpbmVkLTEuMC4wLnRneiIsCisgICAgICAiaW50
ZWdyaXR5IjogInNoYTEteVkyYnp2ZFdkQmlPRVFscEZSR1o0NXNmcHBNPSIsCisgICAgICAiZGV2
IjogdHJ1ZQorICAgIH0sCisgICAgImRlcGQiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjEuMSIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZGVwZC8tL2Rl
cGQtMS4xLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1WNE8wNGNSWjhHK2x5aWY1
a2ZQUWJub3hBMWs9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiZGVzLmpzIjog
eworICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2Rlcy5qcy8tL2Rlcy5qcy0xLjAuMC50Z3oiLAorICAgICAgImlu
dGVncml0eSI6ICJzaGExLXdIVFM0cXBxaXBvSDI5WWZtaFhDellQc2pzdz0iLAorICAgICAgImRl
diI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJpbmhlcml0cyI6ICIyLjAu
MyIsCisgICAgICAgICJtaW5pbWFsaXN0aWMtYXNzZXJ0IjogIjEuMC4wIgorICAgICAgfQorICAg
IH0sCisgICAgImRlc3Ryb3kiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuNCIsCisgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZGVzdHJveS8tL2Rlc3Ryb3kt
MS4wLjQudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1sNGhYUkN4RWRKNUNCbUUrTjVS
aUJZSnF2WUE9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiZGV0ZWN0LWluZGVu
dCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjQuMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9kZXRlY3QtaW5kZW50Ly0vZGV0ZWN0LWluZGVudC00LjAu
MC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLTkyMEdRMUxOOURvY3RzNWhuRTdqcVVk
ZDRnZz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAg
ICJyZXBlYXRpbmciOiAiMi4wLjEiCisgICAgICB9CisgICAgfSwKKyAgICAiZGlmZmllLWhlbGxt
YW4iOiB7CisgICAgICAidmVyc2lvbiI6ICI1LjAuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZGlmZmllLWhlbGxtYW4vLS9kaWZmaWUtaGVsbG1hbi01
LjAuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXRZTlhPU2NNL2lhczlqSUpuOTdT
b0g4Z25sND0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAg
ICAgICJibi5qcyI6ICI0LjExLjgiLAorICAgICAgICAibWlsbGVyLXJhYmluIjogIjQuMC4wIiwK
KyAgICAgICAgInJhbmRvbWJ5dGVzIjogIjIuMC41IgorICAgICAgfQorICAgIH0sCisgICAgImRp
cmVjdG9yIjogeworICAgICAgInZlcnNpb24iOiAiMS4yLjgiLAorICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2RpcmVjdG9yLy0vZGlyZWN0b3ItMS4yLjgudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS14dG0wM1lrT212OVRaUmcvNmN5T2M1bE04dFU9
IgorICAgIH0sCisgICAgImRvbS1jb252ZXJ0ZXIiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjEu
NCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZG9tLWNv
bnZlcnRlci8tL2RvbS1jb252ZXJ0ZXItMC4xLjQudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1wRjcxY251SkRKdi81dGZJZHVleG5MRGhmenM9IiwKKyAgICAgICJkZXYiOiB0cnVlLAor
ICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAidXRpbGEiOiAiMC4zLjMiCisgICAgICB9LAor
ICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAgInV0aWxhIjogeworICAgICAgICAgICJ2
ZXJzaW9uIjogIjAuMy4zIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvdXRpbGEvLS91dGlsYS0wLjMuMy50Z3oiLAorICAgICAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS0xK2puMStNSkVIQ1NzRitObG9pQ1RXTTZRaVk9IiwKKyAgICAgICAgICAiZGV2
IjogdHJ1ZQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAgICAiZG9tLXNlcmlhbGl6ZXIi
OiB7CisgICAgICAidmVyc2lvbiI6ICIwLjEuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZG9tLXNlcmlhbGl6ZXIvLS9kb20tc2VyaWFsaXplci0wLjEu
MC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUJ6eHBkVWJPQjRET0k3NUtLT0tUNUF2
RERJST0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAg
ICJkb21lbGVtZW50dHlwZSI6ICIxLjEuMyIsCisgICAgICAgICJlbnRpdGllcyI6ICIxLjEuMSIK
KyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAgICAiZG9tZWxlbWVudHR5
cGUiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4xLjMiLAorICAgICAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9kb21lbGVtZW50dHlwZS8tL2RvbWVsZW1l
bnR0eXBlLTEuMS4zLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLXZTaDNQaVpD
aUJyc1VWUkpKQ21jWE5naUdGcz0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0K
KyAgICAgIH0KKyAgICB9LAorICAgICJkb21haW4tYnJvd3NlciI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjEuMS43IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9kb21haW4tYnJvd3Nlci8tL2RvbWFpbi1icm93c2VyLTEuMS43LnRneiIsCisgICAgICAiaW50
ZWdyaXR5IjogInNoYTEtaG5xa3NKUDZvRjhkNEl3RzlOZXlIOStHbUx3PSIsCisgICAgICAiZGV2
IjogdHJ1ZQorICAgIH0sCisgICAgImRvbWVsZW1lbnR0eXBlIjogeworICAgICAgInZlcnNpb24i
OiAiMS4zLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L2RvbWVsZW1lbnR0eXBlLy0vZG9tZWxlbWVudHR5cGUtMS4zLjAudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1zWHJ0Z3VpcldlVXQyY0diRjFiZy9CaHlCTUk9IiwKKyAgICAgICJkZXYi
OiB0cnVlCisgICAgfSwKKyAgICAiZG9taGFuZGxlciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIu
MS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9kb21o
YW5kbGVyLy0vZG9taGFuZGxlci0yLjEuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGEx
LTBtUnZYbGYydzdxeEhQYkxCZFBBclBkQkpaUT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAg
ICAicmVxdWlyZXMiOiB7CisgICAgICAgICJkb21lbGVtZW50dHlwZSI6ICIxLjMuMCIKKyAgICAg
IH0KKyAgICB9LAorICAgICJkb211dGlscyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuNS4xIiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9kb211dGlscy8t
L2RvbXV0aWxzLTEuNS4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtM05oSWlpYjFZ
OVlRZWVTTW4zdCtNamMyZ3M4PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJl
cyI6IHsKKyAgICAgICAgImRvbS1zZXJpYWxpemVyIjogIjAuMS4wIiwKKyAgICAgICAgImRvbWVs
ZW1lbnR0eXBlIjogIjEuMy4wIgorICAgICAgfQorICAgIH0sCisgICAgImR1cGxleGVyIjogewor
ICAgICAgInZlcnNpb24iOiAiMC4xLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2R1cGxleGVyLy0vZHVwbGV4ZXItMC4xLjEudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1yT2IvZ0l3YzVtdFgwZXY1ZVhlc3NDTTB6OEU9IiwKKyAgICAgICJk
ZXYiOiB0cnVlCisgICAgfSwKKyAgICAiZWRpdG9yY29uZmlnIjogeworICAgICAgInZlcnNpb24i
OiAiMC4xMy4zIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9lZGl0b3Jjb25maWcvLS9lZGl0b3Jjb25maWctMC4xMy4zLnRneiIsCisgICAgICAiaW50ZWdy
aXR5IjogInNoYTUxMi1Xa2pzVU5WQ3UrSVRLRGo3M1FEdmkwdHJ2cGREV2RrRHlIeWJER1NYUGZl
a0xDcXdtcEQ3Q1A3aVBidkJnb3NOdUxjSTk2WFREd05hNzVKeUZsN3RFUT09IiwKKyAgICAgICJk
ZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmx1ZWJpcmQiOiAiMy41
LjAiLAorICAgICAgICAiY29tbWFuZGVyIjogIjIuMTEuMCIsCisgICAgICAgICJscnUtY2FjaGUi
OiAiMy4yLjAiLAorICAgICAgICAic2VtdmVyIjogIjUuNC4xIiwKKyAgICAgICAgInNpZ211bmQi
OiAiMS4wLjEiCisgICAgICB9LAorICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAgImJs
dWViaXJkIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjMuNS4wIiwKKyAgICAgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmx1ZWJpcmQvLS9ibHVlYmlyZC0z
LjUuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1lUlFnMS9WUjdxS0pkRk9v
cDNaVCtXWUcxbnc9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZQorICAgICAgICB9LAorICAgICAg
ICAibHJ1LWNhY2hlIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjMuMi4wIiwKKyAgICAgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbHJ1LWNhY2hlLy0vbHJ1
LWNhY2hlLTMuMi4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLWNYaWJPMzlU
bWI3SVZsM2FPS293MHFDWDcrND0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAg
ICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJwc2V1ZG9tYXAiOiAiMS4wLjIiCisgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAgICAiZWUtZmlyc3QiOiB7CisgICAg
ICAidmVyc2lvbiI6ICIxLjEuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvZWUtZmlyc3QvLS9lZS1maXJzdC0xLjEuMS50Z3oiLAorICAgICAgImludGVn
cml0eSI6ICJzaGExLVdReGhGV3NLNHZUd0pWY3lvVml5WnJ4V3NoMD0iLAorICAgICAgImRldiI6
IHRydWUKKyAgICB9LAorICAgICJlanMiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjUuNyIsCisg
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZWpzLy0vZWpzLTIu
NS43LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtekljc0ZvaUFyanh4aVhZdjFmL0FD
SmJKVVlvPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImVsZWN0cm9uLXRvLWNo
cm9taXVtIjogeworICAgICAgInZlcnNpb24iOiAiMS4zLjE4IiwKKyAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9lbGVjdHJvbi10by1jaHJvbWl1bS8tL2VsZWN0
cm9uLXRvLWNocm9taXVtLTEuMy4xOC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLVBj
eVoyajVyWmw5cXU4Y2NLSzFSb3Mxekdwdz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAor
ICAgICJlbGxpcHRpYyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuNC4wIiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9lbGxpcHRpYy8tL2VsbGlwdGljLTYu
NC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEteXNtdmgyTElXRFlZY0FQSTMrR1Q1
ZUxxNWQ4PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAg
ICAgImJuLmpzIjogIjQuMTEuOCIsCisgICAgICAgICJicm9yYW5kIjogIjEuMS4wIiwKKyAgICAg
ICAgImhhc2guanMiOiAiMS4xLjMiLAorICAgICAgICAiaG1hYy1kcmJnIjogIjEuMC4xIiwKKyAg
ICAgICAgImluaGVyaXRzIjogIjIuMC4zIiwKKyAgICAgICAgIm1pbmltYWxpc3RpYy1hc3NlcnQi
OiAiMS4wLjAiLAorICAgICAgICAibWluaW1hbGlzdGljLWNyeXB0by11dGlscyI6ICIxLjAuMSIK
KyAgICAgIH0KKyAgICB9LAorICAgICJlbW9qaXMtbGlzdCI6IHsKKyAgICAgICJ2ZXJzaW9uIjog
IjIuMS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9l
bW9qaXMtbGlzdC8tL2Vtb2ppcy1saXN0LTIuMS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtVGFwTm5iQVBtQm1JREhuNlJYcmxzSm9mMDRrPSIsCisgICAgICAiZGV2IjogdHJ1ZQor
ICAgIH0sCisgICAgImVuY29kZXVybCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwKKyAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9lbmNvZGV1cmwvLS9l
bmNvZGV1cmwtMS4wLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1lZVBWaGxVMGFR
bitidzlGcGQ1b0VEc3BUU0E9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiZW5o
YW5jZWQtcmVzb2x2ZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjMuNC4xIiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9lbmhhbmNlZC1yZXNvbHZlLy0vZW5o
YW5jZWQtcmVzb2x2ZS0zLjQuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUJDSGpP
ZjF4UVpzOW9UMFNtemw1QkFJd1IyND0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVx
dWlyZXMiOiB7CisgICAgICAgICJncmFjZWZ1bC1mcyI6ICI0LjEuMTEiLAorICAgICAgICAibWVt
b3J5LWZzIjogIjAuNC4xIiwKKyAgICAgICAgIm9iamVjdC1hc3NpZ24iOiAiNC4xLjEiLAorICAg
ICAgICAidGFwYWJsZSI6ICIwLjIuOCIKKyAgICAgIH0KKyAgICB9LAorICAgICJlbnRpdGllcyI6
IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMS4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9lbnRpdGllcy8tL2VudGl0aWVzLTEuMS4xLnRneiIsCisgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtYmx3dENsWWh0ZHJhN08rQXVRN2Z0YzEzY3ZBPSIsCisgICAg
ICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImVycm5vIjogeworICAgICAgInZlcnNpb24iOiAi
MC4xLjQiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Vy
cm5vLy0vZXJybm8tMC4xLjQudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS11SmJpT3A1
ZWk2TTRjZnlaYXIwMk5meWFISDA9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVp
cmVzIjogeworICAgICAgICAicHJyIjogIjAuMC4wIgorICAgICAgfQorICAgIH0sCisgICAgImVy
cm9yLWV4IjogeworICAgICAgInZlcnNpb24iOiAiMS4zLjEiLAorICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Vycm9yLWV4Ly0vZXJyb3ItZXgtMS4zLjEudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0rRldvYk9ZYTNFNkdJY1BOb2g1NmRoTERxTnc9
IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiaXMt
YXJyYXlpc2giOiAiMC4yLjEiCisgICAgICB9CisgICAgfSwKKyAgICAiZXJyb3Itc3RhY2stcGFy
c2VyIjogeworICAgICAgInZlcnNpb24iOiAiMi4wLjEiLAorICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Vycm9yLXN0YWNrLXBhcnNlci8tL2Vycm9yLXN0YWNr
LXBhcnNlci0yLjAuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLW95QXJqN0F4Rktx
YlFLRGpacDVJc3JaYUFRbz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMi
OiB7CisgICAgICAgICJzdGFja2ZyYW1lIjogIjEuMC40IgorICAgICAgfQorICAgIH0sCisgICAg
ImVzY2FwZS1odG1sIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjMiLAorICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2VzY2FwZS1odG1sLy0vZXNjYXBlLWh0
bWwtMS4wLjMudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1BbGpxNU5QUXdKZE40Y0Zw
R0k3d0JSMGRHWWc9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiZXNjYXBlLXN0
cmluZy1yZWdleHAiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuNSIsCisgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZXNjYXBlLXN0cmluZy1yZWdleHAvLS9l
c2NhcGUtc3RyaW5nLXJlZ2V4cC0xLjAuNS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGEx
LUcySEFWaUdRcU4vMnJqdXl6d0lBeWhNTGh0UT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9
LAorICAgICJlc3ByaW1hIjogeworICAgICAgInZlcnNpb24iOiAiMi43LjMiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2VzcHJpbWEvLS9lc3ByaW1hLTIu
Ny4zLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtbHVPM0RWZDU5cTFKelFNbWM5SERF
blo3cFlFPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImVzdXRpbHMiOiB7Cisg
ICAgICAidmVyc2lvbiI6ICIyLjAuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvZXN1dGlscy8tL2VzdXRpbHMtMi4wLjIudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1DcjlQSEtwYnl4OTZuWXJNYmVwUHFxQkxySnM9IiwKKyAgICAgICJkZXYi
OiB0cnVlCisgICAgfSwKKyAgICAiZXRhZyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuOC4wIiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9ldGFnLy0vZXRh
Zy0xLjguMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWIyTWE3ek50YkVZMksxRjJR
RVRPSVd2andGRT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJldmVudGVtaXR0
ZXIzIjogeworICAgICAgInZlcnNpb24iOiAiMS4yLjAiLAorICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2V2ZW50ZW1pdHRlcjMvLS9ldmVudGVtaXR0ZXIzLTEu
Mi4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtSElhWkhZRnEwZVVFZFE1emgwSWs3
UE8reFFnPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImV2ZW50cyI6IHsKKyAg
ICAgICJ2ZXJzaW9uIjogIjEuMS4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9ldmVudHMvLS9ldmVudHMtMS4xLjEudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1ucjIzWTFyUW1jY056RXdxSDFBRUtJNkwyU1E9IiwKKyAgICAgICJkZXYiOiB0
cnVlCisgICAgfSwKKyAgICAiZXZlbnRzb3VyY2UtcG9seWZpbGwiOiB7CisgICAgICAidmVyc2lv
biI6ICIwLjkuNiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvZXZlbnRzb3VyY2UtcG9seWZpbGwvLS9ldmVudHNvdXJjZS1wb2x5ZmlsbC0wLjkuNi50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLUVPRFJoL0VSc1dmeWo5cTVHSVE4NTlnWThUdz0i
LAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJldnBfYnl0ZXN0b2tleSI6IHsKKyAg
ICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9ldnBfYnl0ZXN0b2tleS8tL2V2cF9ieXRlc3Rva2V5LTEuMC4wLnRneiIs
CisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtU1h0bXJaL3ZaYzE4Q0tZWUNDUzZGSGEyYmxNPSIs
CisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImNyZWF0
ZS1oYXNoIjogIjEuMS4zIgorICAgICAgfQorICAgIH0sCisgICAgImV4cGFuZC1icmFja2V0cyI6
IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMS41IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9leHBhbmQtYnJhY2tldHMvLS9leHBhbmQtYnJhY2tldHMtMC4x
LjUudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0zd2NvVGpRcWdIelhNNnhhOXlRUjVZ
SFJGM3M9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAg
ICAiaXMtcG9zaXgtYnJhY2tldCI6ICIwLjEuMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJleHBh
bmQtcmFuZ2UiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjguMiIsCisgICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZXhwYW5kLXJhbmdlLy0vZXhwYW5kLXJhbmdl
LTEuOC4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtb3Budi9UTmY0bklldXVqaVYr
eDVaRS9JVXpjPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAg
ICAgICAgImZpbGwtcmFuZ2UiOiAiMi4yLjMiCisgICAgICB9CisgICAgfSwKKyAgICAiZXhwcmVz
cyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjQuMTUuNCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZXhwcmVzcy8tL2V4cHJlc3MtNC4xNS40LnRneiIsCisg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtQXk0aVUwaWMrUHpnSm1hK3lqMFI3WG90cnRFPSIsCisg
ICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImFjY2VwdHMi
OiAiMS4zLjMiLAorICAgICAgICAiYXJyYXktZmxhdHRlbiI6ICIxLjEuMSIsCisgICAgICAgICJj
b250ZW50LWRpc3Bvc2l0aW9uIjogIjAuNS4yIiwKKyAgICAgICAgImNvbnRlbnQtdHlwZSI6ICIx
LjAuMiIsCisgICAgICAgICJjb29raWUiOiAiMC4zLjEiLAorICAgICAgICAiY29va2llLXNpZ25h
dHVyZSI6ICIxLjAuNiIsCisgICAgICAgICJkZWJ1ZyI6ICIyLjYuOCIsCisgICAgICAgICJkZXBk
IjogIjEuMS4xIiwKKyAgICAgICAgImVuY29kZXVybCI6ICIxLjAuMSIsCisgICAgICAgICJlc2Nh
cGUtaHRtbCI6ICIxLjAuMyIsCisgICAgICAgICJldGFnIjogIjEuOC4wIiwKKyAgICAgICAgImZp
bmFsaGFuZGxlciI6ICIxLjAuNCIsCisgICAgICAgICJmcmVzaCI6ICIwLjUuMCIsCisgICAgICAg
ICJtZXJnZS1kZXNjcmlwdG9ycyI6ICIxLjAuMSIsCisgICAgICAgICJtZXRob2RzIjogIjEuMS4y
IiwKKyAgICAgICAgIm9uLWZpbmlzaGVkIjogIjIuMy4wIiwKKyAgICAgICAgInBhcnNldXJsIjog
IjEuMy4xIiwKKyAgICAgICAgInBhdGgtdG8tcmVnZXhwIjogIjAuMS43IiwKKyAgICAgICAgInBy
b3h5LWFkZHIiOiAiMS4xLjUiLAorICAgICAgICAicXMiOiAiNi41LjAiLAorICAgICAgICAicmFu
Z2UtcGFyc2VyIjogIjEuMi4wIiwKKyAgICAgICAgInNlbmQiOiAiMC4xNS40IiwKKyAgICAgICAg
InNlcnZlLXN0YXRpYyI6ICIxLjEyLjQiLAorICAgICAgICAic2V0cHJvdG90eXBlb2YiOiAiMS4w
LjMiLAorICAgICAgICAic3RhdHVzZXMiOiAiMS4zLjEiLAorICAgICAgICAidHlwZS1pcyI6ICIx
LjYuMTUiLAorICAgICAgICAidXRpbHMtbWVyZ2UiOiAiMS4wLjAiLAorICAgICAgICAidmFyeSI6
ICIxLjEuMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJleHRnbG9iIjogeworICAgICAgInZlcnNp
b24iOiAiMC4zLjIiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL2V4dGdsb2IvLS9leHRnbG9iLTAuMy4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNo
YTEtTGhqL1BTOUpxeWRsenNrQ1B3RWRxbzJEU2FFPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAg
ICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImlzLWV4dGdsb2IiOiAiMS4wLjAiCisgICAgICB9
LAorICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAgImlzLWV4dGdsb2IiOiB7CisgICAg
ICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1leHRnbG9iLy0vaXMtZXh0Z2xvYi0xLjAuMC50Z3oiLAor
ICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1yRWFCZDhTVU5BV2drdnlQS1hZTWIveGlCc0E9
IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAg
ICAiZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luIjogeworICAgICAgInZlcnNpb24iOiAiMi4x
LjIiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2V4dHJh
Y3QtdGV4dC13ZWJwYWNrLXBsdWdpbi8tL2V4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpbi0yLjEu
Mi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWRXNzA3NmdWWERhQmd6KzhOTnBUdVVG
MGJXdz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAg
ICJhc3luYyI6ICIyLjUuMCIsCisgICAgICAgICJsb2FkZXItdXRpbHMiOiAiMS4xLjAiLAorICAg
ICAgICAic2NoZW1hLXV0aWxzIjogIjAuMy4wIiwKKyAgICAgICAgIndlYnBhY2stc291cmNlcyI6
ICIxLjAuMSIKKyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAgICAibG9h
ZGVyLXV0aWxzIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMS4wIiwKKyAgICAgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbG9hZGVyLXV0aWxzLy0vbG9h
ZGVyLXV0aWxzLTEuMS4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLXlZcnZT
SXZNN2FML3RlTGVaRzFxZFVRcDljMD0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
ICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJiaWcuanMiOiAiMy4xLjMiLAorICAgICAg
ICAgICAgImVtb2ppcy1saXN0IjogIjIuMS4wIiwKKyAgICAgICAgICAgICJqc29uNSI6ICIwLjUu
MSIKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9LAorICAgICJmYXN0LWRl
ZXAtZXF1YWwiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMCIsCisgICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZmFzdC1kZWVwLWVxdWFsLy0vZmFzdC1kZWVw
LWVxdWFsLTEuMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtbGlWcU84bDFXVjZ6
YllMcGtwMEdEWWswT2Y4PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImZhc3Rw
YXJzZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMS4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9mYXN0cGFyc2UvLS9mYXN0cGFyc2UtMS4xLjEudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0wZUprT3ppcFRYV0R0SGtHRG14Sy84bEFjZmc9
IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiZmlsZS1sb2FkZXIiOiB7CisgICAg
ICAidmVyc2lvbiI6ICIwLjExLjIiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2ZpbGUtbG9hZGVyLy0vZmlsZS1sb2FkZXItMC4xMS4yLnRneiIsCisgICAg
ICAiaW50ZWdyaXR5IjogInNoYTUxMi1OK3VoRjNtc3dJRmV6aUhRakdTY0oveUhYWXQzRGlMQmVD
Kzl2V1crV2pVQmlDbE1TT2xWMVlyWFFpKzdLTTJhQTNSbjRCeWJndit1WEZRYmZrenB2Zz09IiwK
KyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAibG9hZGVy
LXV0aWxzIjogIjEuMS4wIgorICAgICAgfSwKKyAgICAgICJkZXBlbmRlbmNpZXMiOiB7CisgICAg
ICAgICJsb2FkZXItdXRpbHMiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4xLjAiLAorICAg
ICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9sb2FkZXItdXRp
bHMvLS9sb2FkZXItdXRpbHMtMS4xLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNo
YTEteVlydlNJdk03YUwvdGVMZVpHMXFkVVFwOWMwPSIsCisgICAgICAgICAgImRldiI6IHRydWUs
CisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImJpZy5qcyI6ICIzLjEuMyIs
CisgICAgICAgICAgICAiZW1vamlzLWxpc3QiOiAiMi4xLjAiLAorICAgICAgICAgICAgImpzb241
IjogIjAuNS4xIgorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAg
ImZpbGVuYW1lLXJlZ2V4IjogeworICAgICAgInZlcnNpb24iOiAiMi4wLjEiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2ZpbGVuYW1lLXJlZ2V4Ly0vZmls
ZW5hbWUtcmVnZXgtMi4wLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS13Y1M1dnVQ
Z2x5WGRzUWEzWEI0d0grTHhpeVk9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAi
ZmlsZXNpemUiOiB7CisgICAgICAidmVyc2lvbiI6ICIzLjUuMTAiLAorICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2ZpbGVzaXplLy0vZmlsZXNpemUtMy41LjEw
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtL0kraVBkdE8rZVhncTI0ZVpQWjVva3BX
ZGg4PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImZpbGwtcmFuZ2UiOiB7Cisg
ICAgICAidmVyc2lvbiI6ICIyLjIuMyIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvZmlsbC1yYW5nZS8tL2ZpbGwtcmFuZ2UtMi4yLjMudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1VTGQ5L1g1R204ZEpKSENXTnBuK2VvU0ZweU09IiwKKyAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiaXMtbnVtYmVyIjog
IjIuMS4wIiwKKyAgICAgICAgImlzb2JqZWN0IjogIjIuMS4wIiwKKyAgICAgICAgInJhbmRvbWF0
aWMiOiAiMS4xLjciLAorICAgICAgICAicmVwZWF0LWVsZW1lbnQiOiAiMS4xLjIiLAorICAgICAg
ICAicmVwZWF0LXN0cmluZyI6ICIxLjYuMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJmaW5hbGhh
bmRsZXIiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuNCIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZmluYWxoYW5kbGVyLy0vZmluYWxoYW5kbGVyLTEu
MC40LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi0xNmwvcjhSZ3psWEttRk9oWnBI
Qnp0dnllK2xBaEM1U1U3aFhhdm5lckM5VWZacVp4eFhsM0J6TDhNaGZmUFQza0Y2MWxqOU9hdjJM
S0V6aDBlaTd0Zz09IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogewor
ICAgICAgICAiZGVidWciOiAiMi42LjgiLAorICAgICAgICAiZW5jb2RldXJsIjogIjEuMC4xIiwK
KyAgICAgICAgImVzY2FwZS1odG1sIjogIjEuMC4zIiwKKyAgICAgICAgIm9uLWZpbmlzaGVkIjog
IjIuMy4wIiwKKyAgICAgICAgInBhcnNldXJsIjogIjEuMy4xIiwKKyAgICAgICAgInN0YXR1c2Vz
IjogIjEuMy4xIiwKKyAgICAgICAgInVucGlwZSI6ICIxLjAuMCIKKyAgICAgIH0KKyAgICB9LAor
ICAgICJmaW5kLWNhY2hlLWRpciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMS4xIiwKKyAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9maW5kLWNhY2hlLWRpci8t
L2ZpbmQtY2FjaGUtZGlyLTAuMS4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEteU43
NjVYeUtVcWluaFBuakhGZkhRdW1Ub0xrPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJy
ZXF1aXJlcyI6IHsKKyAgICAgICAgImNvbW1vbmRpciI6ICIxLjAuMSIsCisgICAgICAgICJta2Rp
cnAiOiAiMC41LjEiLAorICAgICAgICAicGtnLWRpciI6ICIxLjAuMCIKKyAgICAgIH0KKyAgICB9
LAorICAgICJmaW5kLXVwIjogeworICAgICAgInZlcnNpb24iOiAiMS4xLjIiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2ZpbmQtdXAvLS9maW5kLXVwLTEu
MS4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtYXk2WUlyR2l6Z3BncTJUV0VPeksx
VHl5VFE4PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAg
ICAgInBhdGgtZXhpc3RzIjogIjIuMS4wIiwKKyAgICAgICAgInBpbmtpZS1wcm9taXNlIjogIjIu
MC4xIgorICAgICAgfQorICAgIH0sCisgICAgImZsYXR0ZW4iOiB7CisgICAgICAidmVyc2lvbiI6
ICIxLjAuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
ZmxhdHRlbi8tL2ZsYXR0ZW4tMS4wLjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0y
dVJxblhqNzRsS1NKWXpCNTRDa0haWEFONEk9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwK
KyAgICAiZm9yLWluIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjIiLAorICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Zvci1pbi8tL2Zvci1pbi0xLjAuMi50
Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWdRYU5LVnFCUXV3S3h5Ykc0aUFNTVB0dFhv
QT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJmb3Itb3duIjogeworICAgICAg
InZlcnNpb24iOiAiMC4xLjUiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2Zvci1vd24vLS9mb3Itb3duLTAuMS41LnRneiIsCisgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtVW1YR2dhVHlsTnE3OFh5VkNiWjJPcWhGRU00PSIsCisgICAgICAiZGV2IjogdHJ1
ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImZvci1pbiI6ICIxLjAuMiIKKyAgICAg
IH0KKyAgICB9LAorICAgICJmb3J3YXJkZWQiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjEuMCIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZm9yd2FyZGVk
Ly0vZm9yd2FyZGVkLTAuMS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtR2UrWWRN
U3VIQ2w3endlUDNtT2dtMmFvUTJNPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAg
ImZyZXNoIjogeworICAgICAgInZlcnNpb24iOiAiMC41LjAiLAorICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2ZyZXNoLy0vZnJlc2gtMC41LjAudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS05SFRLWG1xU1J0YjlqZ2xUejZtNXlBV3ZwNDQ9IiwKKyAg
ICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiZnJpZW5kbHktZXJyb3JzLXdlYnBhY2stcGx1
Z2luIjogeworICAgICAgInZlcnNpb24iOiAiMS42LjEiLAorICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2ZyaWVuZGx5LWVycm9ycy13ZWJwYWNrLXBsdWdpbi8t
L2ZyaWVuZGx5LWVycm9ycy13ZWJwYWNrLXBsdWdpbi0xLjYuMS50Z3oiLAorICAgICAgImludGVn
cml0eSI6ICJzaGExLTR5ZUJ4SEl2VkdvR3FiWFhwOCtpaFNBM1hYQT0iLAorICAgICAgImRldiI6
IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJjaGFsayI6ICIxLjEuMyIsCisg
ICAgICAgICJlcnJvci1zdGFjay1wYXJzZXIiOiAiMi4wLjEiLAorICAgICAgICAic3RyaW5nLWxl
bmd0aCI6ICIxLjAuMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJmcy1leHRyYSI6IHsKKyAgICAg
ICJ2ZXJzaW9uIjogIjAuMjYuNyIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvZnMtZXh0cmEvLS9mcy1leHRyYS0wLjI2LjcudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1tdUg5MlVpWGVZN2F0MjBKR005QzBNTVlUNms9IiwKKyAgICAgICJkZXYi
OiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiZ3JhY2VmdWwtZnMiOiAiNC4x
LjExIiwKKyAgICAgICAgImpzb25maWxlIjogIjIuNC4wIiwKKyAgICAgICAgImtsYXciOiAiMS4z
LjEiLAorICAgICAgICAicGF0aC1pcy1hYnNvbHV0ZSI6ICIxLjAuMSIsCisgICAgICAgICJyaW1y
YWYiOiAiMi42LjEiCisgICAgICB9CisgICAgfSwKKyAgICAiZnMucmVhbHBhdGgiOiB7CisgICAg
ICAidmVyc2lvbiI6ICIxLjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvZnMucmVhbHBhdGgvLS9mcy5yZWFscGF0aC0xLjAuMC50Z3oiLAorICAgICAg
ImludGVncml0eSI6ICJzaGExLUZRU3RKU01WaktwQTIwb25oOHNCUVJtVTZrOD0iLAorICAgICAg
ImRldiI6IHRydWUKKyAgICB9LAorICAgICJmc2V2ZW50cyI6IHsKKyAgICAgICJ2ZXJzaW9uIjog
IjEuMS4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9m
c2V2ZW50cy8tL2ZzZXZlbnRzLTEuMS4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTUx
Mi1TbjQ0RTV3UVc0YlRIWHZRbXZTSHdxYnVpWHRkdUQ2UnJqbTJadFVFR2J5cmlnK25VSDN0L1FE
NE00L1pYVmlZNTU2VEJwUmdaa0hMRHgzSnhQd3hpdz09IiwKKyAgICAgICJkZXYiOiB0cnVlLAor
ICAgICAgIm9wdGlvbmFsIjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgIm5h
biI6ICIyLjYuMiIsCisgICAgICAgICJub2RlLXByZS1neXAiOiAiMC42LjM2IgorICAgICAgfSwK
KyAgICAgICJkZXBlbmRlbmNpZXMiOiB7CisgICAgICAgICJhYmJyZXYiOiB7CisgICAgICAgICAg
InZlcnNpb24iOiAiMS4xLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9hYmJyZXYvLS9hYmJyZXYtMS4xLjAudGd6IiwKKyAgICAgICAgICAiaW50
ZWdyaXR5IjogInNoYTEtMEZWTUlsWmpiaTlXNThMbHJSZy9oWlFvMkI4PSIsCisgICAgICAgICAg
ImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZQorICAgICAgICB9LAorICAg
ICAgICAiYWp2IjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjQuMTEuOCIsCisgICAgICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Fqdi8tL2Fqdi00LjExLjgu
dGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtZ3Yrd0t5bm1ZcTVUdmNJSzhWbEhj
R2M1eFRZPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjog
dHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiY28iOiAiNC42LjAi
LAorICAgICAgICAgICAgImpzb24tc3RhYmxlLXN0cmluZ2lmeSI6ICIxLjAuMSIKKyAgICAgICAg
ICB9CisgICAgICAgIH0sCisgICAgICAgICJhbnNpLXJlZ2V4IjogeworICAgICAgICAgICJ2ZXJz
aW9uIjogIjIuMS4xIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvYW5zaS1yZWdleC8tL2Fuc2ktcmVnZXgtMi4xLjEudGd6IiwKKyAgICAgICAgICAi
aW50ZWdyaXR5IjogInNoYTEtdzdNNnRlNDJEWWJnNWlqd1Jvcm43eWZXVk44PSIsCisgICAgICAg
ICAgImRldiI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImFwcm9iYSI6IHsKKyAgICAgICAg
ICAidmVyc2lvbiI6ICIxLjEuMSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2Fwcm9iYS8tL2Fwcm9iYS0xLjEuMS50Z3oiLAorICAgICAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1sZE5nRHdkeENxRHBLWXh5YXRYczh1ckxxNnM9IiwKKyAgICAgICAg
ICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlCisgICAgICAgIH0sCisg
ICAgICAgICJhcmUtd2UtdGhlcmUteWV0IjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMS40
IiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYXJl
LXdlLXRoZXJlLXlldC8tL2FyZS13ZS10aGVyZS15ZXQtMS4xLjQudGd6IiwKKyAgICAgICAgICAi
aW50ZWdyaXR5IjogInNoYTEtdTEzS09DdTVUd1hoVVpRM1BSYjlPNkhLRVEwPSIsCisgICAgICAg
ICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZSwKKyAgICAgICAgICAi
cmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiZGVsZWdhdGVzIjogIjEuMC4wIiwKKyAgICAgICAg
ICAgICJyZWFkYWJsZS1zdHJlYW0iOiAiMi4yLjkiCisgICAgICAgICAgfQorICAgICAgICB9LAor
ICAgICAgICAiYXNuMSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIwLjIuMyIsCisgICAgICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2FzbjEvLS9hc24xLTAu
Mi4zLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLTJzaDRkeFBKbG1oSi9JR0Fk
MzYrbkIzZk80WT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRpb25h
bCI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImFzc2VydC1wbHVzIjogeworICAgICAgICAg
ICJ2ZXJzaW9uIjogIjAuMi4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvYXNzZXJ0LXBsdXMvLS9hc3NlcnQtcGx1cy0wLjIuMC50Z3oiLAorICAg
ICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0xMDRiaCtldi9BMjRxdHR3SWZQK1NCQWFzalE9IiwK
KyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlCisgICAg
ICAgIH0sCisgICAgICAgICJhc3luY2tpdCI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIwLjQu
MCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Fz
eW5ja2l0Ly0vYXN5bmNraXQtMC40LjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNo
YTEteDU3WmYzODB5NDhyb2J5WGtMekRaa2RMUzNrPSIsCisgICAgICAgICAgImRldiI6IHRydWUs
CisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZQorICAgICAgICB9LAorICAgICAgICAiYXdzLXNp
Z24yIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjAuNi4wIiwKKyAgICAgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYXdzLXNpZ24yLy0vYXdzLXNpZ24yLTAu
Ni4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLUZEUXQwNDI4eVUwT1c0ZlhZ
ODFqWVN3T2VVOD0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRpb25h
bCI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImF3czQiOiB7CisgICAgICAgICAgInZlcnNp
b24iOiAiMS42LjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9hd3M0Ly0vYXdzNC0xLjYuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1nKzljcUdDeXN5NUtEZTdlNk1keHVkdFhSeDQ9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1
ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJiYWxh
bmNlZC1tYXRjaCI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIwLjQuMiIsCisgICAgICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JhbGFuY2VkLW1hdGNoLy0v
YmFsYW5jZWQtbWF0Y2gtMC40LjIudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
eXo4K1BITXR3UEFlNXd0QVB6QXVZZGR3bURnPSIsCisgICAgICAgICAgImRldiI6IHRydWUKKyAg
ICAgICAgfSwKKyAgICAgICAgImJjcnlwdC1wYmtkZiI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6
ICIxLjAuMSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL2JjcnlwdC1wYmtkZi8tL2JjcnlwdC1wYmtkZi0xLjAuMS50Z3oiLAorICAgICAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1ZN3hkeTJFekc1SzhCZjFTaVZQRE5HS2diNDA9IiwKKyAgICAgICAg
ICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAorICAgICAgICAgICJy
ZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJ0d2VldG5hY2wiOiAiMC4xNC41IgorICAgICAgICAg
IH0KKyAgICAgICAgfSwKKyAgICAgICAgImJsb2NrLXN0cmVhbSI6IHsKKyAgICAgICAgICAidmVy
c2lvbiI6ICIwLjAuOSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2Jsb2NrLXN0cmVhbS8tL2Jsb2NrLXN0cmVhbS0wLjAuOS50Z3oiLAorICAgICAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1FK3YrZDRvRElGeitBM1VVZ2V1MHN6QU1FbW89IiwKKyAg
ICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAg
ICAiaW5oZXJpdHMiOiAiMi4wLjMiCisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAi
Ym9vbSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIyLjEwLjEiLAorICAgICAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9ib29tLy0vYm9vbS0yLjEwLjEudGd6
IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtT2NpUmpPLzFlWitEK1VrcWhJOWlXdDBN
ZG04PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogewor
ICAgICAgICAgICAgImhvZWsiOiAiMi4xNi4zIgorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAg
ICAgICAgImJyYWNlLWV4cGFuc2lvbiI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjEuNyIs
CisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JyYWNl
LWV4cGFuc2lvbi8tL2JyYWNlLWV4cGFuc2lvbi0xLjEuNy50Z3oiLAorICAgICAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1Qdi9EeFE0QUJUSDdjZzZ2K0E4SzZPOGp6MWs9IiwKKyAgICAgICAgICAi
ZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiYmFsYW5j
ZWQtbWF0Y2giOiAiMC40LjIiLAorICAgICAgICAgICAgImNvbmNhdC1tYXAiOiAiMC4wLjEiCisg
ICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAiYnVmZmVyLXNoaW1zIjogeworICAgICAg
ICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvYnVmZmVyLXNoaW1zLy0vYnVmZmVyLXNoaW1zLTEuMC4wLnRneiIs
CisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLW1Yak9NWE9JeGttdGg1TUNqRFIzN3dSS2kx
RT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJjYXNlbGVz
cyI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIwLjEyLjAiLAorICAgICAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jYXNlbGVzcy8tL2Nhc2VsZXNzLTAuMTIu
MC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1HMmdjSWYrRUF6eUNaVU1KQm9s
Q0RSaHhVZHc9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwi
OiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJjbyI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6
ICI0LjYuMCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL2NvLy0vY28tNC42LjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtYnFh
OTg5aFRybFRNdU9SNytndnorUU1mc1lRPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAg
ICAgICAgIm9wdGlvbmFsIjogdHJ1ZQorICAgICAgICB9LAorICAgICAgICAiY29kZS1wb2ludC1h
dCI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjEuMCIsCisgICAgICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2NvZGUtcG9pbnQtYXQvLS9jb2RlLXBvaW50
LWF0LTEuMS4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLURRY0xUUVE2Vytv
em92R2tEaTdiUFpwTXozYz0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisg
ICAgICAgICJjb21iaW5lZC1zdHJlYW0iOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4wLjUi
LAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb21i
aW5lZC1zdHJlYW0vLS9jb21iaW5lZC1zdHJlYW0tMS4wLjUudGd6IiwKKyAgICAgICAgICAiaW50
ZWdyaXR5IjogInNoYTEtazROd3BYdEtVZDZpeDN3VjFjWDkrSlVXUUFrPSIsCisgICAgICAgICAg
ImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImRlbGF5
ZWQtc3RyZWFtIjogIjEuMC4wIgorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgImNv
bmNhdC1tYXAiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMC4wLjEiLAorICAgICAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb25jYXQtbWFwLy0vY29uY2F0
LW1hcC0wLjAuMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0yS2xyMTMvV2pm
ZDVPbk1EYWp1ZzFVQmRSM3M9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZQorICAgICAgICB9LAor
ICAgICAgICAiY29uc29sZS1jb250cm9sLXN0cmluZ3MiOiB7CisgICAgICAgICAgInZlcnNpb24i
OiAiMS4xLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9jb25zb2xlLWNvbnRyb2wtc3RyaW5ncy8tL2NvbnNvbGUtY29udHJvbC1zdHJpbmdzLTEu
MS4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLVBYejBSazIyUkc2bVJMOUxP
VkIvbUZFQWpvND0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAg
ICJjb3JlLXV0aWwtaXMiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4wLjIiLAorICAgICAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb3JlLXV0aWwtaXMv
LS9jb3JlLXV0aWwtaXMtMS4wLjIudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
dGYxVUlncWl2RnExZXF0eFFNbEFkVVVEd2FjPSIsCisgICAgICAgICAgImRldiI6IHRydWUKKyAg
ICAgICAgfSwKKyAgICAgICAgImNyeXB0aWxlcyI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIy
LjAuNSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L2NyeXB0aWxlcy8tL2NyeXB0aWxlcy0yLjAuNS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1POS9zM0dDQlI4SEdjZ0w2S1I1OXlsbnFvN2c9IiwKKyAgICAgICAgICAiZGV2Ijog
dHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6
IHsKKyAgICAgICAgICAgICJib29tIjogIjIuMTAuMSIKKyAgICAgICAgICB9CisgICAgICAgIH0s
CisgICAgICAgICJkYXNoZGFzaCI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjE0LjEiLAor
ICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9kYXNoZGFz
aC8tL2Rhc2hkYXNoLTEuMTQuMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1o
VHo2RDN5K0wrMWQ0Z01tdU4xWUVEWDI0dkE9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAg
ICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAg
ICAgICAgICJhc3NlcnQtcGx1cyI6ICIxLjAuMCIKKyAgICAgICAgICB9LAorICAgICAgICAgICJk
ZXBlbmRlbmNpZXMiOiB7CisgICAgICAgICAgICAiYXNzZXJ0LXBsdXMiOiB7CisgICAgICAgICAg
ICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICAgICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL2Fzc2VydC1wbHVzLy0vYXNzZXJ0LXBsdXMtMS4wLjAudGd6
IiwKKyAgICAgICAgICAgICAgImludGVncml0eSI6ICJzaGExLThTNFBQRjEzc0xITjJSUnBRdVRw
YkI1TjFTVT0iLAorICAgICAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAgICAgIm9w
dGlvbmFsIjogdHJ1ZQorICAgICAgICAgICAgfQorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAg
ICAgICAgImRlYnVnIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjIuNi44IiwKKyAgICAgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZGVidWcvLS9kZWJ1Zy0y
LjYuOC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS01ekZUSEtMdDRuMFlnaUpD
ZmFGNElkYVA5UHc9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9u
YWwiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJtcyI6ICIy
LjAuMCIKKyAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJkZWVwLWV4dGVuZCI6IHsK
KyAgICAgICAgICAidmVyc2lvbiI6ICIwLjQuMiIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2RlZXAtZXh0ZW5kLy0vZGVlcC1leHRlbmQtMC40LjIu
dGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtU0xhWnduNHpTL2lmRUlrcjVETDI1
TWZUU244PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjog
dHJ1ZQorICAgICAgICB9LAorICAgICAgICAiZGVsYXllZC1zdHJlYW0iOiB7CisgICAgICAgICAg
InZlcnNpb24iOiAiMS4wLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9kZWxheWVkLXN0cmVhbS8tL2RlbGF5ZWQtc3RyZWFtLTEuMC4wLnRneiIs
CisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLTN6cmhtYXl0KzMxRUNxcmdzcDRpY3JKT3ho
az0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJkZWxlZ2F0
ZXMiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAorICAgICAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9kZWxlZ2F0ZXMvLS9kZWxlZ2F0ZXMtMS4w
LjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtaE1iaFdiZ1pCUDNLV2FEdlJN
MkhEVEVsRDVvPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFs
IjogdHJ1ZQorICAgICAgICB9LAorICAgICAgICAiZWNjLWpzYm4iOiB7CisgICAgICAgICAgInZl
cnNpb24iOiAiMC4xLjEiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy9lY2MtanNibi8tL2VjYy1qc2JuLTAuMS4xLnRneiIsCisgICAgICAgICAgImlu
dGVncml0eSI6ICJzaGExLUQ4YzZudFh3MVR3NEdUT1lVajczNVVOM2RRVT0iLAorICAgICAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUsCisgICAgICAgICAgInJl
cXVpcmVzIjogeworICAgICAgICAgICAgImpzYm4iOiAiMC4xLjEiCisgICAgICAgICAgfQorICAg
ICAgICB9LAorICAgICAgICAiZXh0ZW5kIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjMuMC4x
IiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZXh0
ZW5kLy0vZXh0ZW5kLTMuMC4xLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLXAx
WHFlOEd0L01XakhPZm5ZdHVxM0Y1alpFUT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAg
ICAgICAgICJvcHRpb25hbCI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImV4dHNwcmludGYi
OiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4wLjIiLAorICAgICAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9leHRzcHJpbnRmLy0vZXh0c3ByaW50Zi0xLjAu
Mi50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS00UWdPQmxqakFMQmlsSmtNeHc0
VkFpTmYxVkE9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZQorICAgICAgICB9LAorICAgICAgICAi
Zm9yZXZlci1hZ2VudCI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIwLjYuMSIsCisgICAgICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2ZvcmV2ZXItYWdlbnQv
LS9mb3JldmVyLWFnZW50LTAuNi4xLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGEx
LSs4Y2ZERUd0NnpmNWJGZDYwZTFDMlAyc3lwRT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAor
ICAgICAgICAgICJvcHRpb25hbCI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImZvcm0tZGF0
YSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIyLjEuNCIsCisgICAgICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Zvcm0tZGF0YS8tL2Zvcm0tZGF0YS0yLjEu
NC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1NOEdEclBHVEoyN0txWUZEcHA2
VXYrNFhVTkU9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwi
OiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJhc3luY2tpdCI6
ICIwLjQuMCIsCisgICAgICAgICAgICAiY29tYmluZWQtc3RyZWFtIjogIjEuMC41IiwKKyAgICAg
ICAgICAgICJtaW1lLXR5cGVzIjogIjIuMS4xNSIKKyAgICAgICAgICB9CisgICAgICAgIH0sCisg
ICAgICAgICJmcy5yZWFscGF0aCI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjAuMCIsCisg
ICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2ZzLnJlYWxw
YXRoLy0vZnMucmVhbHBhdGgtMS4wLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNo
YTEtRlFTdEpTTVZqS3BBMjBvbmg4c0JRUm1VNms4PSIsCisgICAgICAgICAgImRldiI6IHRydWUK
KyAgICAgICAgfSwKKyAgICAgICAgImZzdHJlYW0iOiB7CisgICAgICAgICAgInZlcnNpb24iOiAi
MS4wLjExIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvZnN0cmVhbS8tL2ZzdHJlYW0tMS4wLjExLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6
ICJzaGExLVhCK3g4UmRIY1JUd1l5b090TGNiUExEOU1YRT0iLAorICAgICAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJncmFjZWZ1bC1mcyI6
ICI0LjEuMTEiLAorICAgICAgICAgICAgImluaGVyaXRzIjogIjIuMC4zIiwKKyAgICAgICAgICAg
ICJta2RpcnAiOiAiMC41LjEiLAorICAgICAgICAgICAgInJpbXJhZiI6ICIyLjYuMSIKKyAgICAg
ICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJmc3RyZWFtLWlnbm9yZSI6IHsKKyAgICAgICAg
ICAidmVyc2lvbiI6ICIxLjAuNSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2ZzdHJlYW0taWdub3JlLy0vZnN0cmVhbS1pZ25vcmUtMS4wLjUudGd6
IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtbkRIYTQwZG5BWS9oMGtteVRhMm1mUWt0
b1FVPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1
ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiZnN0cmVhbSI6ICIxLjAu
MTEiLAorICAgICAgICAgICAgImluaGVyaXRzIjogIjIuMC4zIiwKKyAgICAgICAgICAgICJtaW5p
bWF0Y2giOiAiMy4wLjQiCisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAiZ2F1Z2Ui
OiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMi43LjQiLAorICAgICAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9nYXVnZS8tL2dhdWdlLTIuNy40LnRneiIsCisg
ICAgICAgICAgImludGVncml0eSI6ICJzaGExLUxBTkFYSFU0dzUxK3Mzc3hjQ0xqSmZzQmkvYz0i
LAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUsCisg
ICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImFwcm9iYSI6ICIxLjEuMSIsCisg
ICAgICAgICAgICAiY29uc29sZS1jb250cm9sLXN0cmluZ3MiOiAiMS4xLjAiLAorICAgICAgICAg
ICAgImhhcy11bmljb2RlIjogIjIuMC4xIiwKKyAgICAgICAgICAgICJvYmplY3QtYXNzaWduIjog
IjQuMS4xIiwKKyAgICAgICAgICAgICJzaWduYWwtZXhpdCI6ICIzLjAuMiIsCisgICAgICAgICAg
ICAic3RyaW5nLXdpZHRoIjogIjEuMC4yIiwKKyAgICAgICAgICAgICJzdHJpcC1hbnNpIjogIjMu
MC4xIiwKKyAgICAgICAgICAgICJ3aWRlLWFsaWduIjogIjEuMS4yIgorICAgICAgICAgIH0KKyAg
ICAgICAgfSwKKyAgICAgICAgImdldHBhc3MiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMC4x
LjciLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9n
ZXRwYXNzLy0vZ2V0cGFzcy0wLjEuNy50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1YditPUG1oTlZwcmt5eXNTZ21CT2k2WWhTZm89IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwK
KyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAg
ICAgICAgICAgICJhc3NlcnQtcGx1cyI6ICIxLjAuMCIKKyAgICAgICAgICB9LAorICAgICAgICAg
ICJkZXBlbmRlbmNpZXMiOiB7CisgICAgICAgICAgICAiYXNzZXJ0LXBsdXMiOiB7CisgICAgICAg
ICAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICAgICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Fzc2VydC1wbHVzLy0vYXNzZXJ0LXBsdXMtMS4wLjAu
dGd6IiwKKyAgICAgICAgICAgICAgImludGVncml0eSI6ICJzaGExLThTNFBQRjEzc0xITjJSUnBR
dVRwYkI1TjFTVT0iLAorICAgICAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAgICAg
Im9wdGlvbmFsIjogdHJ1ZQorICAgICAgICAgICAgfQorICAgICAgICAgIH0KKyAgICAgICAgfSwK
KyAgICAgICAgImdsb2IiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiNy4xLjIiLAorICAgICAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9nbG9iLy0vZ2xvYi03
LjEuMi50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLU1KVFVnMWtqdUxlUUNK
K2NjRTRWcGE2a0tWWGtQWUoybU9DUXlVdUtMY0xRc2RyTUNwQlBVaThxVkU2K1l1YUprb3plQTlO
dXNUQXczaExyOFhlNUVRPT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJy
ZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJmcy5yZWFscGF0aCI6ICIxLjAuMCIsCisgICAgICAg
ICAgICAiaW5mbGlnaHQiOiAiMS4wLjYiLAorICAgICAgICAgICAgImluaGVyaXRzIjogIjIuMC4z
IiwKKyAgICAgICAgICAgICJtaW5pbWF0Y2giOiAiMy4wLjQiLAorICAgICAgICAgICAgIm9uY2Ui
OiAiMS40LjAiLAorICAgICAgICAgICAgInBhdGgtaXMtYWJzb2x1dGUiOiAiMS4wLjEiCisgICAg
ICAgICAgfQorICAgICAgICB9LAorICAgICAgICAiZ3JhY2VmdWwtZnMiOiB7CisgICAgICAgICAg
InZlcnNpb24iOiAiNC4xLjExIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvZ3JhY2VmdWwtZnMvLS9ncmFjZWZ1bC1mcy00LjEuMTEudGd6IiwKKyAg
ICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtRG92ZjVOSGR1SVZOWk9CT3A4QU9LZ0p1VmxnPSIs
CisgICAgICAgICAgImRldiI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImhhci1zY2hlbWEi
OiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4wLjUiLAorICAgICAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9oYXItc2NoZW1hLy0vaGFyLXNjaGVtYS0xLjAu
NS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0wbU1UWDBNd2ZBTEdBcS9JL3BX
WERBRlJOcDQ9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwi
OiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJoYXItdmFsaWRhdG9yIjogeworICAgICAgICAg
ICJ2ZXJzaW9uIjogIjQuMi4xIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvaGFyLXZhbGlkYXRvci8tL2hhci12YWxpZGF0b3ItNC4yLjEudGd6IiwK
KyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtTTBnZER4dS85Z0RkSUQxMWdTcHFYN29BTGlv
PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZSwK
KyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiYWp2IjogIjQuMTEuOCIsCisg
ICAgICAgICAgICAiaGFyLXNjaGVtYSI6ICIxLjAuNSIKKyAgICAgICAgICB9CisgICAgICAgIH0s
CisgICAgICAgICJoYXMtdW5pY29kZSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIyLjAuMSIs
CisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2hhcy11
bmljb2RlLy0vaGFzLXVuaWNvZGUtMi4wLjEudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtNE9iK2FpalBVUk9JVmVDRzBXa2VkeDNpcUxrPSIsCisgICAgICAgICAgImRldiI6IHRy
dWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZQorICAgICAgICB9LAorICAgICAgICAiaGF3
ayI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIzLjEuMyIsCisgICAgICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2hhd2svLS9oYXdrLTMuMS4zLnRneiIsCisg
ICAgICAgICAgImludGVncml0eSI6ICJzaGExLUI0UkV2WHdXUUxEK1ZBMHNtM1BWbG5qbzRjUT0i
LAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUsCisg
ICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImJvb20iOiAiMi4xMC4xIiwKKyAg
ICAgICAgICAgICJjcnlwdGlsZXMiOiAiMi4wLjUiLAorICAgICAgICAgICAgImhvZWsiOiAiMi4x
Ni4zIiwKKyAgICAgICAgICAgICJzbnRwIjogIjEuMC45IgorICAgICAgICAgIH0KKyAgICAgICAg
fSwKKyAgICAgICAgImhvZWsiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMi4xNi4zIiwKKyAg
ICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaG9lay8tL2hv
ZWstMi4xNi4zLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLUlMdDBBOVBPbzVq
cEhjUnhDby94dUNkS0plMD0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisg
ICAgICAgICJodHRwLXNpZ25hdHVyZSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjEuMSIs
CisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2h0dHAt
c2lnbmF0dXJlLy0vaHR0cC1zaWduYXR1cmUtMS4xLjEudGd6IiwKKyAgICAgICAgICAiaW50ZWdy
aXR5IjogInNoYTEtMzNMaVp3WnMwS3huKzNhdCtPRTBxUHZQa2I4PSIsCisgICAgICAgICAgImRl
diI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWly
ZXMiOiB7CisgICAgICAgICAgICAiYXNzZXJ0LXBsdXMiOiAiMC4yLjAiLAorICAgICAgICAgICAg
ImpzcHJpbSI6ICIxLjQuMCIsCisgICAgICAgICAgICAic3NocGsiOiAiMS4xMy4wIgorICAgICAg
ICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgImluZmxpZ2h0IjogeworICAgICAgICAgICJ2ZXJz
aW9uIjogIjEuMC42IiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvaW5mbGlnaHQvLS9pbmZsaWdodC0xLjAuNi50Z3oiLAorICAgICAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1TYjFqTWRmUUxRd0p2SkVLRUhXNmdXVzFiZms9IiwKKyAgICAgICAgICAi
ZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAib25jZSI6
ICIxLjQuMCIsCisgICAgICAgICAgICAid3JhcHB5IjogIjEuMC4yIgorICAgICAgICAgIH0KKyAg
ICAgICAgfSwKKyAgICAgICAgImluaGVyaXRzIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjIu
MC4zIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
aW5oZXJpdHMvLS9pbmhlcml0cy0yLjAuMy50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1ZendzZytQYVFxVUM5U1JtQWlTQTlDQ0NZZDQ9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1
ZQorICAgICAgICB9LAorICAgICAgICAiaW5pIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEu
My40IiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
aW5pLy0vaW5pLTEuMy40LnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLUJUZkxl
ZHIxbTFtaHBSZmY5d2JJYnNBNUZpND0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
ICAgICJvcHRpb25hbCI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImlzLWZ1bGx3aWR0aC1j
b2RlLXBvaW50IjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtZnVsbHdpZHRoLWNvZGUt
cG9pbnQvLS9pcy1mdWxsd2lkdGgtY29kZS1wb2ludC0xLjAuMC50Z3oiLAorICAgICAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS03NTR4T0c4REduOE5aRHI0TDk1UXhGZnZBTXM9IiwKKyAgICAgICAg
ICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAibnVt
YmVyLWlzLW5hbiI6ICIxLjAuMSIKKyAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJp
cy10eXBlZGFycmF5IjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtdHlwZWRhcnJheS8t
L2lzLXR5cGVkYXJyYXktMS4wLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
NUhuSUNGamZEQnNSM2RwcFFQbGdFZnphU3BvPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisg
ICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZQorICAgICAgICB9LAorICAgICAgICAiaXNhcnJheSI6
IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjAuMCIsCisgICAgICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzYXJyYXkvLS9pc2FycmF5LTEuMC4wLnRneiIs
CisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLXU1TmRTRmdzdWhhTUJvTkpWNlZLUGdjU1R4
RT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJpc3N0cmVh
bSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIwLjEuMiIsCisgICAgICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzc3RyZWFtLy0vaXNzdHJlYW0tMC4xLjIu
dGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtUitZL2V2VmErbStTNFZBT2FRNjR1
RktjQ1pvPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjog
dHJ1ZQorICAgICAgICB9LAorICAgICAgICAiam9kaWQyNTUxOSI6IHsKKyAgICAgICAgICAidmVy
c2lvbiI6ICIxLjAuMiIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2pvZGlkMjU1MTkvLS9qb2RpZDI1NTE5LTEuMC4yLnRneiIsCisgICAgICAgICAg
ImludGVncml0eSI6ICJzaGExLUJ0U1JJbFVKTkJsSGZVSldNMkJ1RHBCNEtXYz0iLAorICAgICAg
ICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUsCisgICAgICAgICAg
InJlcXVpcmVzIjogeworICAgICAgICAgICAgImpzYm4iOiAiMC4xLjEiCisgICAgICAgICAgfQor
ICAgICAgICB9LAorICAgICAgICAianNibiI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIwLjEu
MSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2pz
Ym4vLS9qc2JuLTAuMS4xLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLXBlWlV3
dVdpM3JYeUFkbHM3N3lvREE3eTlSTT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
ICAgICJvcHRpb25hbCI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImpzb24tc2NoZW1hIjog
eworICAgICAgICAgICJ2ZXJzaW9uIjogIjAuMi4zIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvanNvbi1zY2hlbWEvLS9qc29uLXNjaGVtYS0wLjIu
My50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS10SURJa3VXYUx3V1ZUT2NudlQ4
cVRvZ3ZuaE09IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwi
OiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJqc29uLXN0YWJsZS1zdHJpbmdpZnkiOiB7Cisg
ICAgICAgICAgInZlcnNpb24iOiAiMS4wLjEiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qc29uLXN0YWJsZS1zdHJpbmdpZnkvLS9qc29uLXN0YWJs
ZS1zdHJpbmdpZnktMS4wLjEudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtbW5X
ZE9jWHkvMUEvMVRBR1J1MUVYNGpFK2E4PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAg
ICAgICAgIm9wdGlvbmFsIjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAg
ICAgICAianNvbmlmeSI6ICIwLjAuMCIKKyAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAg
ICJqc29uLXN0cmluZ2lmeS1zYWZlIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjUuMC4xIiwK
KyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvanNvbi1z
dHJpbmdpZnktc2FmZS8tL2pzb24tc3RyaW5naWZ5LXNhZmUtNS4wLjEudGd6IiwKKyAgICAgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtRXBhaTFZL1VYeG1nOXM0QjFsY0I0c2MxdHVzPSIsCisgICAg
ICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZQorICAgICAgICB9
LAorICAgICAgICAianNvbmlmeSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIwLjAuMCIsCisg
ICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2pzb25pZnkv
LS9qc29uaWZ5LTAuMC4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLUxIUzI3
a0haUEtVYmUxcXU2UFVEWXgwbEtuTT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
ICAgICJvcHRpb25hbCI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImpzcHJpbSI6IHsKKyAg
ICAgICAgICAidmVyc2lvbiI6ICIxLjQuMCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL2pzcHJpbS8tL2pzcHJpbS0xLjQuMC50Z3oiLAorICAgICAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1vN2grUUNtTmpEZ0ZVdGpNZGlpZ3U1V2lLUmc9IiwKKyAg
ICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAorICAgICAg
ICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJhc3NlcnQtcGx1cyI6ICIxLjAuMCIsCisg
ICAgICAgICAgICAiZXh0c3ByaW50ZiI6ICIxLjAuMiIsCisgICAgICAgICAgICAianNvbi1zY2hl
bWEiOiAiMC4yLjMiLAorICAgICAgICAgICAgInZlcnJvciI6ICIxLjMuNiIKKyAgICAgICAgICB9
LAorICAgICAgICAgICJkZXBlbmRlbmNpZXMiOiB7CisgICAgICAgICAgICAiYXNzZXJ0LXBsdXMi
OiB7CisgICAgICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICAgICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Fzc2VydC1wbHVzLy0vYXNzZXJ0
LXBsdXMtMS4wLjAudGd6IiwKKyAgICAgICAgICAgICAgImludGVncml0eSI6ICJzaGExLThTNFBQ
RjEzc0xITjJSUnBRdVRwYkI1TjFTVT0iLAorICAgICAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAg
ICAgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZQorICAgICAgICAgICAgfQorICAgICAgICAgIH0K
KyAgICAgICAgfSwKKyAgICAgICAgIm1pbWUtZGIiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAi
MS4yNy4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvbWltZS1kYi8tL21pbWUtZGItMS4yNy4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6
ICJzaGExLWdnOVhJcGE3MGc3Q1h0VmVXMTNvYWVWRGJyRT0iLAorICAgICAgICAgICJkZXYiOiB0
cnVlCisgICAgICAgIH0sCisgICAgICAgICJtaW1lLXR5cGVzIjogeworICAgICAgICAgICJ2ZXJz
aW9uIjogIjIuMS4xNSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL21pbWUtdHlwZXMvLS9taW1lLXR5cGVzLTIuMS4xNS50Z3oiLAorICAgICAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1wT3YxQmtDVVZwSTN1TTl3QkdkMjBKL0pLdTA9IiwKKyAgICAg
ICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAi
bWltZS1kYiI6ICIxLjI3LjAiCisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAibWlu
aW1hdGNoIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjMuMC40IiwKKyAgICAgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbWluaW1hdGNoLy0vbWluaW1hdGNo
LTMuMC40LnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGE1MTIteUpIVlFFaHlxUExV
VGd0OUI4M1BYdTZXM3J4NE12dkh2U1V2VG9vZ3B3b0dET1VRK3lEclIwSFJvdCt5T0NkQ083dTRo
WDNwV2Z0NmtXQkJjcWgwVUE9PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAg
InJlcXVpcmVzIjogeworICAgICAgICAgICAgImJyYWNlLWV4cGFuc2lvbiI6ICIxLjEuNyIKKyAg
ICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJtaW5pbWlzdCI6IHsKKyAgICAgICAgICAi
dmVyc2lvbiI6ICIwLjAuOCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL21pbmltaXN0Ly0vbWluaW1pc3QtMC4wLjgudGd6IiwKKyAgICAgICAgICAi
aW50ZWdyaXR5IjogInNoYTEtaFgvS3Y4TTVmU1lsdUNLQ1l1aHFwNkFSc0YwPSIsCisgICAgICAg
ICAgImRldiI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgIm1rZGlycCI6IHsKKyAgICAgICAg
ICAidmVyc2lvbiI6ICIwLjUuMSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL21rZGlycC8tL21rZGlycC0wLjUuMS50Z3oiLAorICAgICAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1NQVYwT09yR3ozK01SMmZ6aGtqV2FYMTF5UU09IiwKKyAgICAgICAg
ICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAibWlu
aW1pc3QiOiAiMC4wLjgiCisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAibXMiOiB7
CisgICAgICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9tcy8tL21zLTIuMC4wLnRneiIsCisgICAgICAgICAg
ImludGVncml0eSI6ICJzaGExLVZnaXVyZndBdm13cEFkOWZtR0Y0amVEVmw4Zz0iLAorICAgICAg
ICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUKKyAgICAgICAgfSwK
KyAgICAgICAgIm5vZGUtcHJlLWd5cCI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIwLjYuMzYi
LAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9ub2Rl
LXByZS1neXAvLS9ub2RlLXByZS1neXAtMC42LjM2LnRneiIsCisgICAgICAgICAgImludGVncml0
eSI6ICJzaGExLTIyQkJFc3QwNE5SM1ZVNmJVRnNYcTkzNnQ0WT0iLAorICAgICAgICAgICJkZXYi
OiB0cnVlLAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVz
IjogeworICAgICAgICAgICAgIm1rZGlycCI6ICIwLjUuMSIsCisgICAgICAgICAgICAibm9wdCI6
ICI0LjAuMSIsCisgICAgICAgICAgICAibnBtbG9nIjogIjQuMS4wIiwKKyAgICAgICAgICAgICJy
YyI6ICIxLjIuMSIsCisgICAgICAgICAgICAicmVxdWVzdCI6ICIyLjgxLjAiLAorICAgICAgICAg
ICAgInJpbXJhZiI6ICIyLjYuMSIsCisgICAgICAgICAgICAic2VtdmVyIjogIjUuMy4wIiwKKyAg
ICAgICAgICAgICJ0YXIiOiAiMi4yLjEiLAorICAgICAgICAgICAgInRhci1wYWNrIjogIjMuNC4w
IgorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgIm5vcHQiOiB7CisgICAgICAgICAg
InZlcnNpb24iOiAiNC4wLjEiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9ub3B0Ly0vbm9wdC00LjAuMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS0wTlJvV3YxVUZSazhqSFVGWUMwTkY4MWtSMDA9IiwKKyAgICAgICAgICAiZGV2
IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJl
cyI6IHsKKyAgICAgICAgICAgICJhYmJyZXYiOiAiMS4xLjAiLAorICAgICAgICAgICAgIm9zZW52
IjogIjAuMS40IgorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgIm5wbWxvZyI6IHsK
KyAgICAgICAgICAidmVyc2lvbiI6ICI0LjEuMCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL25wbWxvZy8tL25wbWxvZy00LjEuMC50Z3oiLAorICAg
ICAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLW9jb2xJa1pZWnQ4VXZldWlEUzB5QWtrSWppZDFv
N2xQRzhjWW0wNXlOWXpCbjh5a1F0YWlQTUVHcDhmWTl0S2REZ204b2twZEt6a3Z1MXk5aFVZdWdB
PT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUs
CisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImFyZS13ZS10aGVyZS15ZXQi
OiAiMS4xLjQiLAorICAgICAgICAgICAgImNvbnNvbGUtY29udHJvbC1zdHJpbmdzIjogIjEuMS4w
IiwKKyAgICAgICAgICAgICJnYXVnZSI6ICIyLjcuNCIsCisgICAgICAgICAgICAic2V0LWJsb2Nr
aW5nIjogIjIuMC4wIgorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgIm51bWJlci1p
cy1uYW4iOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4wLjEiLAorICAgICAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9udW1iZXItaXMtbmFuLy0vbnVtYmVy
LWlzLW5hbi0xLjAuMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1DWHRnSzFO
Q0tsSXNHdnVIa0RHRE5wUWFBUjA9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZQorICAgICAgICB9
LAorICAgICAgICAib2F1dGgtc2lnbiI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIwLjguMiIs
CisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL29hdXRo
LXNpZ24vLS9vYXV0aC1zaWduLTAuOC4yLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJz
aGExLVJxYXJmd3JxMk42dW5zQldWNEMzMU8vcm5VTT0iLAorICAgICAgICAgICJkZXYiOiB0cnVl
LAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgIm9iamVj
dC1hc3NpZ24iOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiNC4xLjEiLAorICAgICAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9vYmplY3QtYXNzaWduLy0vb2Jq
ZWN0LWFzc2lnbi00LjEuMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1JUW10
eDVaWWg4L0FYTHZVUXNySXY3czJDR009IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAg
ICAgICAib3B0aW9uYWwiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJvbmNlIjogeworICAg
ICAgICAgICJ2ZXJzaW9uIjogIjEuNC4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvb25jZS8tL29uY2UtMS40LjAudGd6IiwKKyAgICAgICAgICAi
aW50ZWdyaXR5IjogInNoYTEtV0RzYXAzV1dIVXNST3NGOW5GQzY3NTNYYTlFPSIsCisgICAgICAg
ICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgIndy
YXBweSI6ICIxLjAuMiIKKyAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJvcy1ob21l
ZGlyIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMC4yIiwKKyAgICAgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvb3MtaG9tZWRpci8tL29zLWhvbWVkaXIt
MS4wLjIudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtLzd4SmlETnVEb005NE1G
b3grOFZJU0dxZjdNPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlv
bmFsIjogdHJ1ZQorICAgICAgICB9LAorICAgICAgICAib3MtdG1wZGlyIjogeworICAgICAgICAg
ICJ2ZXJzaW9uIjogIjEuMC4yIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvb3MtdG1wZGlyLy0vb3MtdG1wZGlyLTEuMC4yLnRneiIsCisgICAgICAg
ICAgImludGVncml0eSI6ICJzaGExLXUrWjBCc2VhcUZ4Yy9zZG0vbGMwVlYzNkVuUT0iLAorICAg
ICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUKKyAgICAgICAg
fSwKKyAgICAgICAgIm9zZW52IjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjAuMS40IiwKKyAg
ICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvb3NlbnYvLS9v
c2Vudi0wLjEuNC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1RdjV0V1ZQZkJz
Z0dTK2J4ZHNQUVdxcWpSa1E9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAi
b3B0aW9uYWwiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJv
cy1ob21lZGlyIjogIjEuMC4yIiwKKyAgICAgICAgICAgICJvcy10bXBkaXIiOiAiMS4wLjIiCisg
ICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAicGF0aC1pcy1hYnNvbHV0ZSI6IHsKKyAg
ICAgICAgICAidmVyc2lvbiI6ICIxLjAuMSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL3BhdGgtaXMtYWJzb2x1dGUvLS9wYXRoLWlzLWFic29sdXRl
LTEuMC4xLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLUYwdVNhSE5WTlArOGVz
NXI5VHBhbmh0Y1gxOD0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisgICAg
ICAgICJwZXJmb3JtYW5jZS1ub3ciOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMC4yLjAiLAor
ICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wZXJmb3Jt
YW5jZS1ub3cvLS9wZXJmb3JtYW5jZS1ub3ctMC4yLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdy
aXR5IjogInNoYTEtTSs4d3hjZDlUcUljV2xPR25aRzFiWThsVmVVPSIsCisgICAgICAgICAgImRl
diI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZQorICAgICAgICB9LAorICAgICAg
ICAicHJvY2Vzcy1uZXh0aWNrLWFyZ3MiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4wLjci
LAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wcm9j
ZXNzLW5leHRpY2stYXJncy8tL3Byb2Nlc3MtbmV4dGljay1hcmdzLTEuMC43LnRneiIsCisgICAg
ICAgICAgImludGVncml0eSI6ICJzaGExLUZRNGd0MVpaQ3RQNUVKUHlXazhxMkwvekM2TT0iLAor
ICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJwdW55Y29kZSI6IHsK
KyAgICAgICAgICAidmVyc2lvbiI6ICIxLjQuMSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3B1bnljb2RlLy0vcHVueWNvZGUtMS40LjEudGd6IiwK
KyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtd05XbU95Y1lnQXJZNGVzUHBTYWNoTjFCaEY0
PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZQor
ICAgICAgICB9LAorICAgICAgICAicXMiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiNi40LjAi
LAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9xcy8t
L3FzLTYuNC4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLUUrSnRLSzFyRC9x
cEV4TE5PL2NJN1RVZWNqTT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJv
cHRpb25hbCI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgInJjIjogeworICAgICAgICAgICJ2
ZXJzaW9uIjogIjEuMi4xIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvcmMvLS9yYy0xLjIuMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1MZ1BvNUM3a1VMakxQYzVsdmh2NGwwNGQvWlU9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1
ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsK
KyAgICAgICAgICAgICJkZWVwLWV4dGVuZCI6ICIwLjQuMiIsCisgICAgICAgICAgICAiaW5pIjog
IjEuMy40IiwKKyAgICAgICAgICAgICJtaW5pbWlzdCI6ICIxLjIuMCIsCisgICAgICAgICAgICAi
c3RyaXAtanNvbi1jb21tZW50cyI6ICIyLjAuMSIKKyAgICAgICAgICB9LAorICAgICAgICAgICJk
ZXBlbmRlbmNpZXMiOiB7CisgICAgICAgICAgICAibWluaW1pc3QiOiB7CisgICAgICAgICAgICAg
ICJ2ZXJzaW9uIjogIjEuMi4wIiwKKyAgICAgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL21pbmltaXN0Ly0vbWluaW1pc3QtMS4yLjAudGd6IiwKKyAgICAg
ICAgICAgICAgImludGVncml0eSI6ICJzaGExLW8xQUlzZzlCT0Q3c0g3a1U5TTFkOTVvbVFvUT0i
LAorICAgICAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAgICAgIm9wdGlvbmFsIjog
dHJ1ZQorICAgICAgICAgICAgfQorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgInJl
YWRhYmxlLXN0cmVhbSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIyLjIuOSIsCisgICAgICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3JlYWRhYmxlLXN0cmVh
bS8tL3JlYWRhYmxlLXN0cmVhbS0yLjIuOS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS16M2pzYjBwdEhyUTlKa2lNckpmd1F1ZExmOGc9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1
ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiYnVmZmVyLXNoaW1zIjog
IjEuMC4wIiwKKyAgICAgICAgICAgICJjb3JlLXV0aWwtaXMiOiAiMS4wLjIiLAorICAgICAgICAg
ICAgImluaGVyaXRzIjogIjIuMC4zIiwKKyAgICAgICAgICAgICJpc2FycmF5IjogIjEuMC4wIiwK
KyAgICAgICAgICAgICJwcm9jZXNzLW5leHRpY2stYXJncyI6ICIxLjAuNyIsCisgICAgICAgICAg
ICAic3RyaW5nX2RlY29kZXIiOiAiMS4wLjEiLAorICAgICAgICAgICAgInV0aWwtZGVwcmVjYXRl
IjogIjEuMC4yIgorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgInJlcXVlc3QiOiB7
CisgICAgICAgICAgInZlcnNpb24iOiAiMi44MS4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcmVxdWVzdC8tL3JlcXVlc3QtMi44MS4wLnRneiIs
CisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLXhwS0pScURnYkYrTmI0cVRNMGFmL2FSaW1L
QT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUs
CisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImF3cy1zaWduMiI6ICIwLjYu
MCIsCisgICAgICAgICAgICAiYXdzNCI6ICIxLjYuMCIsCisgICAgICAgICAgICAiY2FzZWxlc3Mi
OiAiMC4xMi4wIiwKKyAgICAgICAgICAgICJjb21iaW5lZC1zdHJlYW0iOiAiMS4wLjUiLAorICAg
ICAgICAgICAgImV4dGVuZCI6ICIzLjAuMSIsCisgICAgICAgICAgICAiZm9yZXZlci1hZ2VudCI6
ICIwLjYuMSIsCisgICAgICAgICAgICAiZm9ybS1kYXRhIjogIjIuMS40IiwKKyAgICAgICAgICAg
ICJoYXItdmFsaWRhdG9yIjogIjQuMi4xIiwKKyAgICAgICAgICAgICJoYXdrIjogIjMuMS4zIiwK
KyAgICAgICAgICAgICJodHRwLXNpZ25hdHVyZSI6ICIxLjEuMSIsCisgICAgICAgICAgICAiaXMt
dHlwZWRhcnJheSI6ICIxLjAuMCIsCisgICAgICAgICAgICAiaXNzdHJlYW0iOiAiMC4xLjIiLAor
ICAgICAgICAgICAgImpzb24tc3RyaW5naWZ5LXNhZmUiOiAiNS4wLjEiLAorICAgICAgICAgICAg
Im1pbWUtdHlwZXMiOiAiMi4xLjE1IiwKKyAgICAgICAgICAgICJvYXV0aC1zaWduIjogIjAuOC4y
IiwKKyAgICAgICAgICAgICJwZXJmb3JtYW5jZS1ub3ciOiAiMC4yLjAiLAorICAgICAgICAgICAg
InFzIjogIjYuNC4wIiwKKyAgICAgICAgICAgICJzYWZlLWJ1ZmZlciI6ICI1LjAuMSIsCisgICAg
ICAgICAgICAic3RyaW5nc3RyZWFtIjogIjAuMC41IiwKKyAgICAgICAgICAgICJ0b3VnaC1jb29r
aWUiOiAiMi4zLjIiLAorICAgICAgICAgICAgInR1bm5lbC1hZ2VudCI6ICIwLjYuMCIsCisgICAg
ICAgICAgICAidXVpZCI6ICIzLjAuMSIKKyAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAg
ICJyaW1yYWYiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMi42LjEiLAorICAgICAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yaW1yYWYvLS9yaW1yYWYtMi42
LjEudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtd2pPT3hrUGZlaHQvNWNWUHFH
OVhRb3BWOHowPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVz
IjogeworICAgICAgICAgICAgImdsb2IiOiAiNy4xLjIiCisgICAgICAgICAgfQorICAgICAgICB9
LAorICAgICAgICAic2FmZS1idWZmZXIiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiNS4wLjEi
LAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zYWZl
LWJ1ZmZlci8tL3NhZmUtYnVmZmVyLTUuMC4xLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6
ICJzaGExLTBtUEtWR2xzMktNR3RjcGxVZWt0NVhrWSsrYz0iLAorICAgICAgICAgICJkZXYiOiB0
cnVlCisgICAgICAgIH0sCisgICAgICAgICJzZW12ZXIiOiB7CisgICAgICAgICAgInZlcnNpb24i
OiAiNS4zLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9zZW12ZXIvLS9zZW12ZXItNS4zLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtbXl6bDA5NEMwWHhnRXEweWFxYTAwTTlVK1U4PSIsCisgICAgICAgICAgImRldiI6IHRy
dWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZQorICAgICAgICB9LAorICAgICAgICAic2V0
LWJsb2NraW5nIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjIuMC4wIiwKKyAgICAgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc2V0LWJsb2NraW5nLy0vc2V0
LWJsb2NraW5nLTIuMC4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLUJGK1hn
dEFScnBwb0E5M1RnckpEa3JQWWtQYz0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
ICAgICJvcHRpb25hbCI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgInNpZ25hbC1leGl0Ijog
eworICAgICAgICAgICJ2ZXJzaW9uIjogIjMuMC4yIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc2lnbmFsLWV4aXQvLS9zaWduYWwtZXhpdC0zLjAu
Mi50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS10ZjNBanhLSDZoRjRZbzVCWGlV
VEszTmtiRzA9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwi
OiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJzbnRwIjogeworICAgICAgICAgICJ2ZXJzaW9u
IjogIjEuMC45IiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvc250cC8tL3NudHAtMS4wLjkudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNo
YTEtWlVFWVRNa0s3cWJHNTdOZUpsa0lKRVBHWVpnPSIsCisgICAgICAgICAgImRldiI6IHRydWUs
CisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7Cisg
ICAgICAgICAgICAiaG9layI6ICIyLjE2LjMiCisgICAgICAgICAgfQorICAgICAgICB9LAorICAg
ICAgICAic3NocGsiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4xMy4wIiwKKyAgICAgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc3NocGsvLS9zc2hway0x
LjEzLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtL3lvK1Q5QkVsMVZmN1pl
em1nL1lMNit6b3p3PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlv
bmFsIjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiYXNuMSI6
ICIwLjIuMyIsCisgICAgICAgICAgICAiYXNzZXJ0LXBsdXMiOiAiMS4wLjAiLAorICAgICAgICAg
ICAgImJjcnlwdC1wYmtkZiI6ICIxLjAuMSIsCisgICAgICAgICAgICAiZGFzaGRhc2giOiAiMS4x
NC4xIiwKKyAgICAgICAgICAgICJlY2MtanNibiI6ICIwLjEuMSIsCisgICAgICAgICAgICAiZ2V0
cGFzcyI6ICIwLjEuNyIsCisgICAgICAgICAgICAiam9kaWQyNTUxOSI6ICIxLjAuMiIsCisgICAg
ICAgICAgICAianNibiI6ICIwLjEuMSIsCisgICAgICAgICAgICAidHdlZXRuYWNsIjogIjAuMTQu
NSIKKyAgICAgICAgICB9LAorICAgICAgICAgICJkZXBlbmRlbmNpZXMiOiB7CisgICAgICAgICAg
ICAiYXNzZXJ0LXBsdXMiOiB7CisgICAgICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAg
ICAgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Fzc2Vy
dC1wbHVzLy0vYXNzZXJ0LXBsdXMtMS4wLjAudGd6IiwKKyAgICAgICAgICAgICAgImludGVncml0
eSI6ICJzaGExLThTNFBQRjEzc0xITjJSUnBRdVRwYkI1TjFTVT0iLAorICAgICAgICAgICAgICAi
ZGV2IjogdHJ1ZSwKKyAgICAgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZQorICAgICAgICAgICAg
fQorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgInN0cmluZ19kZWNvZGVyIjogewor
ICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc3RyaW5nX2RlY29kZXIvLS9zdHJpbmdfZGVjb2Rlci0x
LjAuMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1ZdUlBOERtVldtZ1EyTjhL
TS8vQThCTm1MWmc9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWly
ZXMiOiB7CisgICAgICAgICAgICAic2FmZS1idWZmZXIiOiAiNS4wLjEiCisgICAgICAgICAgfQor
ICAgICAgICB9LAorICAgICAgICAic3RyaW5nLXdpZHRoIjogeworICAgICAgICAgICJ2ZXJzaW9u
IjogIjEuMC4yIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvc3RyaW5nLXdpZHRoLy0vc3RyaW5nLXdpZHRoLTEuMC4yLnRneiIsCisgICAgICAgICAg
ImludGVncml0eSI6ICJzaGExLUVZdmZXNHpjVWFLbjV3MGhIZ2Zpc0xteEI5TT0iLAorICAgICAg
ICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJj
b2RlLXBvaW50LWF0IjogIjEuMS4wIiwKKyAgICAgICAgICAgICJpcy1mdWxsd2lkdGgtY29kZS1w
b2ludCI6ICIxLjAuMCIsCisgICAgICAgICAgICAic3RyaXAtYW5zaSI6ICIzLjAuMSIKKyAgICAg
ICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJzdHJpbmdzdHJlYW0iOiB7CisgICAgICAgICAg
InZlcnNpb24iOiAiMC4wLjUiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9zdHJpbmdzdHJlYW0vLS9zdHJpbmdzdHJlYW0tMC4wLjUudGd6IiwKKyAg
ICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtVGtoTTFONWFDN3Z1R09SakIzRUtpb0ZpR0hnPSIs
CisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZQorICAg
ICAgICB9LAorICAgICAgICAic3RyaXAtYW5zaSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIz
LjAuMSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L3N0cmlwLWFuc2kvLS9zdHJpcC1hbnNpLTMuMC4xLnRneiIsCisgICAgICAgICAgImludGVncml0
eSI6ICJzaGExLWFqaGZ1SVU5bFMxZjhGME9pcStVSjQzR1BjOD0iLAorICAgICAgICAgICJkZXYi
OiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJhbnNpLXJlZ2V4
IjogIjIuMS4xIgorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgInN0cmlwLWpzb24t
Y29tbWVudHMiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMi4wLjEiLAorICAgICAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zdHJpcC1qc29uLWNvbW1lbnRz
Ly0vc3RyaXAtanNvbi1jb21tZW50cy0yLjAuMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1QRk1aUXVrSXdtbDhEc05FaFl3b2JIeWdwZ289IiwKKyAgICAgICAgICAiZGV2Ijog
dHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJ0
YXIiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMi4yLjEiLAorICAgICAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy90YXIvLS90YXItMi4yLjEudGd6IiwKKyAg
ICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtamswcUpXd09JWVhHc1lyV2xLN0phTGc4c2RFPSIs
CisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAg
ICAgICAgImJsb2NrLXN0cmVhbSI6ICIwLjAuOSIsCisgICAgICAgICAgICAiZnN0cmVhbSI6ICIx
LjAuMTEiLAorICAgICAgICAgICAgImluaGVyaXRzIjogIjIuMC4zIgorICAgICAgICAgIH0KKyAg
ICAgICAgfSwKKyAgICAgICAgInRhci1wYWNrIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjMu
NC4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
dGFyLXBhY2svLS90YXItcGFjay0zLjQuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1JNzR0ZjJjYWd6azNiTDJ3dVA0LzNyOHhlWVE9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1
ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsK
KyAgICAgICAgICAgICJkZWJ1ZyI6ICIyLjYuOCIsCisgICAgICAgICAgICAiZnN0cmVhbSI6ICIx
LjAuMTEiLAorICAgICAgICAgICAgImZzdHJlYW0taWdub3JlIjogIjEuMC41IiwKKyAgICAgICAg
ICAgICJvbmNlIjogIjEuNC4wIiwKKyAgICAgICAgICAgICJyZWFkYWJsZS1zdHJlYW0iOiAiMi4y
LjkiLAorICAgICAgICAgICAgInJpbXJhZiI6ICIyLjYuMSIsCisgICAgICAgICAgICAidGFyIjog
IjIuMi4xIiwKKyAgICAgICAgICAgICJ1aWQtbnVtYmVyIjogIjAuMC42IgorICAgICAgICAgIH0K
KyAgICAgICAgfSwKKyAgICAgICAgInRvdWdoLWNvb2tpZSI6IHsKKyAgICAgICAgICAidmVyc2lv
biI6ICIyLjMuMiIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL3RvdWdoLWNvb2tpZS8tL3RvdWdoLWNvb2tpZS0yLjMuMi50Z3oiLAorICAgICAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS04SUgzYmt5RmNnNXNONlg2enRjM0ZRMkVCeW89IiwKKyAgICAg
ICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAorICAgICAgICAg
ICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJwdW55Y29kZSI6ICIxLjQuMSIKKyAgICAgICAg
ICB9CisgICAgICAgIH0sCisgICAgICAgICJ0dW5uZWwtYWdlbnQiOiB7CisgICAgICAgICAgInZl
cnNpb24iOiAiMC42LjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy90dW5uZWwtYWdlbnQvLS90dW5uZWwtYWdlbnQtMC42LjAudGd6IiwKKyAgICAg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtSjZYZW9HczJzRW9LbVdaM1N5a0lhUEQ4UVAwPSIsCisg
ICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZSwKKyAgICAg
ICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAic2FmZS1idWZmZXIiOiAiNS4wLjEiCisg
ICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAidHdlZXRuYWNsIjogeworICAgICAgICAg
ICJ2ZXJzaW9uIjogIjAuMTQuNSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL3R3ZWV0bmFjbC8tL3R3ZWV0bmFjbC0wLjE0LjUudGd6IiwKKyAgICAg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtV3VhQmQvR1MxRVZpYWRFSXI2ay8rSFEvVDJRPSIsCisg
ICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZQorICAgICAg
ICB9LAorICAgICAgICAidWlkLW51bWJlciI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIwLjAu
NiIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Vp
ZC1udW1iZXIvLS91aWQtbnVtYmVyLTAuMC42LnRneiIsCisgICAgICAgICAgImludGVncml0eSI6
ICJzaGExLURxRU9nRFhvNjF1T1JFbndiYUhITUdZN3FvRT0iLAorICAgICAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgInV0
aWwtZGVwcmVjYXRlIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMC4yIiwKKyAgICAgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvdXRpbC1kZXByZWNhdGUv
LS91dGlsLWRlcHJlY2F0ZS0xLjAuMi50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1SUTFOeWZwdzNuTW5ZdnZTMUtLSmdVR2FETTg9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZQor
ICAgICAgICB9LAorICAgICAgICAidXVpZCI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIzLjAu
MSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3V1
aWQvLS91dWlkLTMuMC4xLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLVpVUzdv
dC9hakJ6eGZtS2FPakJlSzdIKzVzRT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
ICAgICJvcHRpb25hbCI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgInZlcnJvciI6IHsKKyAg
ICAgICAgICAidmVyc2lvbiI6ICIxLjMuNiIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL3ZlcnJvci8tL3ZlcnJvci0xLjMuNi50Z3oiLAorICAgICAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS16L1hmRXBSdEtYMHJxdStxSm9uaVcrQWNBRnc9IiwKKyAg
ICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAorICAgICAg
ICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJleHRzcHJpbnRmIjogIjEuMC4yIgorICAg
ICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgIndpZGUtYWxpZ24iOiB7CisgICAgICAgICAg
InZlcnNpb24iOiAiMS4xLjIiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy93aWRlLWFsaWduLy0vd2lkZS1hbGlnbi0xLjEuMi50Z3oiLAorICAgICAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLWlqRExseVE3czZ4MUpnQ0x1cjUzb3NqbS9VWFVZRDkr
MFBiWUtyQnNZaXNZWHpDeE4rSEMzbVlETnkvZFdkbWYzQXdxd1UzQ1h3REN2c05nR0sxUzB3PT0i
LAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUsCisg
ICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgInN0cmluZy13aWR0aCI6ICIxLjAu
MiIKKyAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJ3cmFwcHkiOiB7CisgICAgICAg
ICAgInZlcnNpb24iOiAiMS4wLjIiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy93cmFwcHkvLS93cmFwcHktMS4wLjIudGd6IiwKKyAgICAgICAgICAi
aW50ZWdyaXR5IjogInNoYTEtdFNROWp6N0Jxalh4TmtZRnZBMFFOdU1LdHA4PSIsCisgICAgICAg
ICAgImRldiI6IHRydWUKKyAgICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAgImZ1bmN0aW9u
LWJpbmQiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjEuMCIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZnVuY3Rpb24tYmluZC8tL2Z1bmN0aW9uLWJpbmQt
MS4xLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1GaGRuRk1nQmVZNU9qeXozOTFL
VVo3dEtWM0U9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiZ2V0LWNhbGxlci1m
aWxlIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjIiLAorICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2dldC1jYWxsZXItZmlsZS8tL2dldC1jYWxsZXItZmls
ZS0xLjAuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLTl3TG1NU2ZuNGpIQllLZ01G
VlNzdHcxUVIrVT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJnbG9iIjogewor
ICAgICAgInZlcnNpb24iOiAiNi4wLjQiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2dsb2IvLS9nbG9iLTYuMC40LnRneiIsCisgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtRHdpR0Qyb1ZVU2V5K3QxUG5PSkxHcXR1VFNJPSIsCisgICAgICAiZGV2IjogdHJ1
ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImluZmxpZ2h0IjogIjEuMC42IiwKKyAg
ICAgICAgImluaGVyaXRzIjogIjIuMC4zIiwKKyAgICAgICAgIm1pbmltYXRjaCI6ICIzLjAuNCIs
CisgICAgICAgICJvbmNlIjogIjEuNC4wIiwKKyAgICAgICAgInBhdGgtaXMtYWJzb2x1dGUiOiAi
MS4wLjEiCisgICAgICB9CisgICAgfSwKKyAgICAiZ2xvYi1iYXNlIjogeworICAgICAgInZlcnNp
b24iOiAiMC4zLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL2dsb2ItYmFzZS8tL2dsb2ItYmFzZS0wLjMuMC50Z3oiLAorICAgICAgImludGVncml0eSI6
ICJzaGExLTI3Rms5aUliSEFzY3o0S3VveWkwbDk4T284UT0iLAorICAgICAgImRldiI6IHRydWUs
CisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJnbG9iLXBhcmVudCI6ICIyLjAuMCIsCisg
ICAgICAgICJpcy1nbG9iIjogIjIuMC4xIgorICAgICAgfSwKKyAgICAgICJkZXBlbmRlbmNpZXMi
OiB7CisgICAgICAgICJpcy1leHRnbG9iIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMC4w
IiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMt
ZXh0Z2xvYi8tL2lzLWV4dGdsb2ItMS4wLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtckVhQmQ4U1VOQVdna3Z5UEtYWU1iL3hpQnNBPSIsCisgICAgICAgICAgImRldiI6IHRy
dWUKKyAgICAgICAgfSwKKyAgICAgICAgImlzLWdsb2IiOiB7CisgICAgICAgICAgInZlcnNpb24i
OiAiMi4wLjEiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9pcy1nbG9iLy0vaXMtZ2xvYi0yLjAuMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS0wSmI1SnFQZTFXQVBQOS9aRVpqTENJakMyR009IiwKKyAgICAgICAgICAiZGV2Ijog
dHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiaXMtZXh0Z2xvYiI6
ICIxLjAuMCIKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9LAorICAgICJn
bG9iLXBhcmVudCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMC4wIiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9nbG9iLXBhcmVudC8tL2dsb2ItcGFyZW50
LTIuMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtZ1RnOWN0c0ZUOHpQVXpiYXFR
THhndmJ0dXlnPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAg
ICAgICAgImlzLWdsb2IiOiAiMi4wLjEiCisgICAgICB9LAorICAgICAgImRlcGVuZGVuY2llcyI6
IHsKKyAgICAgICAgImlzLWV4dGdsb2IiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4wLjAi
LAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1l
eHRnbG9iLy0vaXMtZXh0Z2xvYi0xLjAuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1yRWFCZDhTVU5BV2drdnlQS1hZTWIveGlCc0E9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1
ZQorICAgICAgICB9LAorICAgICAgICAiaXMtZ2xvYiI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6
ICIyLjAuMSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL2lzLWdsb2IvLS9pcy1nbG9iLTIuMC4xLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6
ICJzaGExLTBKYjVKcVBlMVdBUFA5L1pFWmpMQ0lqQzJHTT0iLAorICAgICAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJpcy1leHRnbG9iIjog
IjEuMC4wIgorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAgImds
b2JhbHMiOiB7CisgICAgICAidmVyc2lvbiI6ICI5LjE4LjAiLAorICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2dsb2JhbHMvLS9nbG9iYWxzLTkuMTguMC50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGE1MTItUzBuRzNDTEVRaVkvSUx4cXR6dFRXSC8zaVJS
ZHlCTHc2S01EeG5LTWNocnRiajJPRm1laFZoMFdVQ2ZXM0RVcklneC9xRnJKUElDcnE0WjRzVFI5
VVE9PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImdyYWNlZnVsLWZzIjogewor
ICAgICAgInZlcnNpb24iOiAiNC4xLjExIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9ncmFjZWZ1bC1mcy8tL2dyYWNlZnVsLWZzLTQuMS4xMS50Z3oiLAor
ICAgICAgImludGVncml0eSI6ICJzaGExLURvdmY1TkhkdUlWTlpPQk9wOEFPS2dKdVZsZz0iLAor
ICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJnemlwLXNpemUiOiB7CisgICAgICAidmVy
c2lvbiI6ICIzLjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvZ3ppcC1zaXplLy0vZ3ppcC1zaXplLTMuMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtVkdHSTZiM0ROL1p6ZHkrQlpnUmtzNG5jNVNBPSIsCisgICAgICAiZGV2IjogdHJ1
ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImR1cGxleGVyIjogIjAuMS4xIgorICAg
ICAgfQorICAgIH0sCisgICAgImhhcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwKKyAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9oYXMvLS9oYXMtMS4w
LjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1oR0Z6UDFPTENEZkpOaDQ1cWF1ZWx3
VGNMeWc9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAg
ICAiZnVuY3Rpb24tYmluZCI6ICIxLjEuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJoYXMtYW5z
aSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9oYXMtYW5zaS8tL2hhcy1hbnNpLTIuMC4wLnRneiIsCisg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtTlBVRW5PSHMzeXNHU2E4KzhrNUY3VFZCYlpFPSIsCisg
ICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImFuc2ktcmVn
ZXgiOiAiMi4xLjEiCisgICAgICB9CisgICAgfSwKKyAgICAiaGFzLWZsYWciOiB7CisgICAgICAi
dmVyc2lvbiI6ICIxLjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvaGFzLWZsYWcvLS9oYXMtZmxhZy0xLjAuMC50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGExLW5aNTVNV1hPQVhvQThBUVl4RCtVS25zZEVmbz0iLAorICAgICAgImRldiI6IHRy
dWUKKyAgICB9LAorICAgICJoYXNoLWJhc2UiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjAuMiIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaGFzaC1iYXNl
Ly0vaGFzaC1iYXNlLTIuMC4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtWnVvZGhX
MjA2S1ZIREszMi9PSTY1U1JPOHVFPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1
aXJlcyI6IHsKKyAgICAgICAgImluaGVyaXRzIjogIjIuMC4zIgorICAgICAgfQorICAgIH0sCisg
ICAgImhhc2gtc3VtIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjIiLAorICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2hhc2gtc3VtLy0vaGFzaC1zdW0tMS4w
LjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1NN1FIZDNWTVpESlhQQklNdzRDTHZS
RFVmd1E9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiaGFzaC5qcyI6IHsKKyAg
ICAgICJ2ZXJzaW9uIjogIjEuMS4zIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9oYXNoLmpzLy0vaGFzaC5qcy0xLjEuMy50Z3oiLAorICAgICAgImludGVn
cml0eSI6ICJzaGE1MTItL1VFVHlQMFcyMlFJTHFTKzZIb3dldndoRUZKM01CSm53VGY3NVFvYjlX
ejl0MERQdWlzTDhrVzhZWk1LNjJkSEFLRTFjMXArZ1kxVHRPTFkrVVNFSEE9PSIsCisgICAgICAi
ZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImluaGVyaXRzIjogIjIu
MC4zIiwKKyAgICAgICAgIm1pbmltYWxpc3RpYy1hc3NlcnQiOiAiMS4wLjAiCisgICAgICB9Cisg
ICAgfSwKKyAgICAiaGUiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjEuMSIsCisgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaGUvLS9oZS0xLjEuMS50Z3oiLAor
ICAgICAgImludGVncml0eSI6ICJzaGExLWswRVAwaHNBbHpVVkg0aG93dkp4ODBKK0kvMD0iLAor
ICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJobWFjLWRyYmciOiB7CisgICAgICAidmVy
c2lvbiI6ICIxLjAuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvaG1hYy1kcmJnLy0vaG1hYy1kcmJnLTEuMC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtMG5SWEFRSmFiSGRhYkZSWGsrMVFMOERHU2FFPSIsCisgICAgICAiZGV2IjogdHJ1
ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImhhc2guanMiOiAiMS4xLjMiLAorICAg
ICAgICAibWluaW1hbGlzdGljLWFzc2VydCI6ICIxLjAuMCIsCisgICAgICAgICJtaW5pbWFsaXN0
aWMtY3J5cHRvLXV0aWxzIjogIjEuMC4xIgorICAgICAgfQorICAgIH0sCisgICAgImhvbWUtb3It
dG1wIjogeworICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAorICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2hvbWUtb3ItdG1wLy0vaG9tZS1vci10bXAtMi4wLjAu
dGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS00MncvTFN5dWZYUnFoWDQ0MFkxZk1xZUlM
Ymc9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAi
b3MtaG9tZWRpciI6ICIxLjAuMiIsCisgICAgICAgICJvcy10bXBkaXIiOiAiMS4wLjIiCisgICAg
ICB9CisgICAgfSwKKyAgICAiaG9zdGVkLWdpdC1pbmZvIjogeworICAgICAgInZlcnNpb24iOiAi
Mi41LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2hv
c3RlZC1naXQtaW5mby8tL2hvc3RlZC1naXQtaW5mby0yLjUuMC50Z3oiLAorICAgICAgImludGVn
cml0eSI6ICJzaGE1MTItcE5nYlVSU3VhYjkwS2JUcXZSUHNzZWFUeE9KQ1pCRDBhN3QraGFTTjMz
cGlQOWNDTTRsMENxZHpBaWYyaFVxbTcxNlVvdktCMlJPbWlhYkdBS1ZYeWc9PSIsCisgICAgICAi
ZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImh0bWwtY29tbWVudC1yZWdleCI6IHsKKyAgICAgICJ2
ZXJzaW9uIjogIjEuMS4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9odG1sLWNvbW1lbnQtcmVnZXgvLS9odG1sLWNvbW1lbnQtcmVnZXgtMS4xLjEudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1ab3VUZDI2cTVWNjk2UE90Umtzd2VrbGpZbDQ9
IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiaHRtbC1lbnRpdGllcyI6IHsKKyAg
ICAgICJ2ZXJzaW9uIjogIjEuMi4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9odG1sLWVudGl0aWVzLy0vaHRtbC1lbnRpdGllcy0xLjIuMS50Z3oiLAor
ICAgICAgImludGVncml0eSI6ICJzaGExLURmS1RVZkJ5RVdOUlhmdWVWVVBsOXU3VkZpOD0iLAor
ICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJodG1sLW1pbmlmaWVyIjogeworICAgICAg
InZlcnNpb24iOiAiMy41LjMiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2h0bWwtbWluaWZpZXIvLS9odG1sLW1pbmlmaWVyLTMuNS4zLnRneiIsCisgICAg
ICAiaW50ZWdyaXR5IjogInNoYTUxMi1pS1J6UVFEdVRDc3EwVWx0YmkvbWZKSm5SMEQzQWRaS1Rx
OTY2R3NwOTJ4a21BUENWNFhpMDhxaEowRGwzWkFXZW1TZ0o3cVpLK1VzWmMwZ0ZxSzZ3Zz09IiwK
KyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiY2FtZWwt
Y2FzZSI6ICIzLjAuMCIsCisgICAgICAgICJjbGVhbi1jc3MiOiAiNC4xLjciLAorICAgICAgICAi
Y29tbWFuZGVyIjogIjIuMTEuMCIsCisgICAgICAgICJoZSI6ICIxLjEuMSIsCisgICAgICAgICJu
Y25hbWUiOiAiMS4wLjAiLAorICAgICAgICAicGFyYW0tY2FzZSI6ICIyLjEuMSIsCisgICAgICAg
ICJyZWxhdGV1cmwiOiAiMC4yLjciLAorICAgICAgICAidWdsaWZ5LWpzIjogIjMuMC4yNyIKKyAg
ICAgIH0KKyAgICB9LAorICAgICJodG1sLXdlYnBhY2stcGx1Z2luIjogeworICAgICAgInZlcnNp
b24iOiAiMi4zMC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9odG1sLXdlYnBhY2stcGx1Z2luLy0vaHRtbC13ZWJwYWNrLXBsdWdpbi0yLjMwLjEudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1mNXhDRzM2cEhzUmc5V1VuMTQzMGhPNTFOOVU9
IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmx1
ZWJpcmQiOiAiMy41LjAiLAorICAgICAgICAiaHRtbC1taW5pZmllciI6ICIzLjUuMyIsCisgICAg
ICAgICJsb2FkZXItdXRpbHMiOiAiMC4yLjE3IiwKKyAgICAgICAgImxvZGFzaCI6ICI0LjE3LjQi
LAorICAgICAgICAicHJldHR5LWVycm9yIjogIjIuMS4xIiwKKyAgICAgICAgInRvcG9zb3J0Ijog
IjEuMC4zIgorICAgICAgfSwKKyAgICAgICJkZXBlbmRlbmNpZXMiOiB7CisgICAgICAgICJibHVl
YmlyZCI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIzLjUuMCIsCisgICAgICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JsdWViaXJkLy0vYmx1ZWJpcmQtMy41
LjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtZVJRZzEvVlI3cUtKZEZPb3Az
WlQrV1lHMW53PSIsCisgICAgICAgICAgImRldiI6IHRydWUKKyAgICAgICAgfQorICAgICAgfQor
ICAgIH0sCisgICAgImh0bWxwYXJzZXIyIjogeworICAgICAgInZlcnNpb24iOiAiMy4zLjAiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2h0bWxwYXJzZXIy
Ly0vaHRtbHBhcnNlcjItMy4zLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS16SERR
V2xuMlZDNUQ4T2FGeVlMaFRKSktudjQ9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJl
cXVpcmVzIjogeworICAgICAgICAiZG9tZWxlbWVudHR5cGUiOiAiMS4zLjAiLAorICAgICAgICAi
ZG9taGFuZGxlciI6ICIyLjEuMCIsCisgICAgICAgICJkb211dGlscyI6ICIxLjEuNiIsCisgICAg
ICAgICJyZWFkYWJsZS1zdHJlYW0iOiAiMS4wLjM0IgorICAgICAgfSwKKyAgICAgICJkZXBlbmRl
bmNpZXMiOiB7CisgICAgICAgICJkb211dGlscyI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIx
LjEuNiIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L2RvbXV0aWxzLy0vZG9tdXRpbHMtMS4xLjYudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtdmR3OTRKbTVvdStzeFJ4aVB5ajBGdXpGZElVPSIsCisgICAgICAgICAgImRldiI6IHRy
dWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImRvbWVsZW1lbnR0eXBl
IjogIjEuMy4wIgorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAg
Imh0dHAtZXJyb3JzIjogeworICAgICAgInZlcnNpb24iOiAiMS42LjIiLAorICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2h0dHAtZXJyb3JzLy0vaHR0cC1lcnJv
cnMtMS42LjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1DZ0FzeUZjSEdTcCtlVWJP
N2NFUlZmWU94elk9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogewor
ICAgICAgICAiZGVwZCI6ICIxLjEuMSIsCisgICAgICAgICJpbmhlcml0cyI6ICIyLjAuMyIsCisg
ICAgICAgICJzZXRwcm90b3R5cGVvZiI6ICIxLjAuMyIsCisgICAgICAgICJzdGF0dXNlcyI6ICIx
LjMuMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJodHRwLXByb3h5IjogeworICAgICAgInZlcnNp
b24iOiAiMS4xNi4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9odHRwLXByb3h5Ly0vaHR0cC1wcm94eS0xLjE2LjIudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1CdC95a3BVcjlrMitoSEg2bmZjd1p0VHpkMEk9IiwKKyAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiZXZlbnRlbWl0dGVyMyI6ICIxLjIu
MCIsCisgICAgICAgICJyZXF1aXJlcy1wb3J0IjogIjEuMC4wIgorICAgICAgfQorICAgIH0sCisg
ICAgImh0dHAtcHJveHktbWlkZGxld2FyZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMTcuNCIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaHR0cC1wcm94
eS1taWRkbGV3YXJlLy0vaHR0cC1wcm94eS1taWRkbGV3YXJlLTAuMTcuNC50Z3oiLAorICAgICAg
ImludGVncml0eSI6ICJzaGExLVpDNklTSVVkWnZDZFR4SkpFb1J0dXV0QnVETT0iLAorICAgICAg
ImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJodHRwLXByb3h5Ijog
IjEuMTYuMiIsCisgICAgICAgICJpcy1nbG9iIjogIjMuMS4wIiwKKyAgICAgICAgImxvZGFzaCI6
ICI0LjE3LjQiLAorICAgICAgICAibWljcm9tYXRjaCI6ICIyLjMuMTEiCisgICAgICB9CisgICAg
fSwKKyAgICAiaHR0cHMtYnJvd3NlcmlmeSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMC4xIiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9odHRwcy1icm93
c2VyaWZ5Ly0vaHR0cHMtYnJvd3NlcmlmeS0wLjAuMS50Z3oiLAorICAgICAgImludGVncml0eSI6
ICJzaGExLVA1RTJYS3ZtQzNmdERydWlTMFZPUGduWldvST0iLAorICAgICAgImRldiI6IHRydWUK
KyAgICB9LAorICAgICJpY3NzLXJlcGxhY2Utc3ltYm9scyI6IHsKKyAgICAgICJ2ZXJzaW9uIjog
IjEuMS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9p
Y3NzLXJlcGxhY2Utc3ltYm9scy8tL2ljc3MtcmVwbGFjZS1zeW1ib2xzLTEuMS4wLnRneiIsCisg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtQnVwdmcyZWFkMG5qaHMvaC9vRXE1ZHNpUGUwPSIsCisg
ICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImljc3MtdXRpbHMiOiB7CisgICAgICAidmVy
c2lvbiI6ICIyLjEuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvaWNzcy11dGlscy8tL2ljc3MtdXRpbHMtMi4xLjAudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1nL0NnN0RlTDh5UmhlTGJDclpFMjhUV3h5V0k9IiwKKyAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAicG9zdGNzcyI6ICI2LjAuOSIKKyAg
ICAgIH0sCisgICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAgICAiYW5zaS1zdHlsZXMiOiB7
CisgICAgICAgICAgInZlcnNpb24iOiAiMy4yLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9hbnNpLXN0eWxlcy8tL2Fuc2ktc3R5bGVzLTMuMi4w
LnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGE1MTItTm5TT21NRVl0VlIySlZNSUdU
enluUmtrYXh0aXExeG5GQmNkUUQvRG5OQ1lQb0VQc1ZKaE05OEJEeWFvTk9RSWk3cDRva2RpM0Uy
N2VON0dRYnNVdWc9PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVp
cmVzIjogeworICAgICAgICAgICAgImNvbG9yLWNvbnZlcnQiOiAiMS45LjAiCisgICAgICAgICAg
fQorICAgICAgICB9LAorICAgICAgICAiY2hhbGsiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAi
Mi4xLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9jaGFsay8tL2NoYWxrLTIuMS4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGE1
MTItTFVIR1MvZGdlNHVqYlhNSnJuaWhZTWNMNEFvT3dlR253OVRwM2tRdXF5MUt4NWMxcUtqcXZN
Slo2blZKUE1XSnRLQ1RONzJab2dIM29lU085ZzlyWFE9PSIsCisgICAgICAgICAgImRldiI6IHRy
dWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImFuc2ktc3R5bGVzIjog
IjMuMi4wIiwKKyAgICAgICAgICAgICJlc2NhcGUtc3RyaW5nLXJlZ2V4cCI6ICIxLjAuNSIsCisg
ICAgICAgICAgICAic3VwcG9ydHMtY29sb3IiOiAiNC4yLjEiCisgICAgICAgICAgfQorICAgICAg
ICB9LAorICAgICAgICAiaGFzLWZsYWciOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMi4wLjAi
LAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9oYXMt
ZmxhZy8tL2hhcy1mbGFnLTIuMC4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGEx
LTZDQjY4Y3g3TU5SR3pIQzNOTFhvdmhqNGpWRT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisg
ICAgICAgIH0sCisgICAgICAgICJwb3N0Y3NzIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjYu
MC45IiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
cG9zdGNzcy8tL3Bvc3Rjc3MtNi4wLjkudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNo
YTUxMi1iQkUyQUhORUJoRjIzVGZFVDZBQS9sRlA4YWgrcUhPWm9GSkVmbEZHK0hndlZMZFRtTU9y
b2N4LzRMVlZESW4zdzZqVXNzdzFxMkV4azFjYzlVT0k4dz09IiwKKyAgICAgICAgICAiZGV2Ijog
dHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiY2hhbGsiOiAiMi4x
LjAiLAorICAgICAgICAgICAgInNvdXJjZS1tYXAiOiAiMC41LjYiLAorICAgICAgICAgICAgInN1
cHBvcnRzLWNvbG9yIjogIjQuMi4xIgorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAg
InN1cHBvcnRzLWNvbG9yIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjQuMi4xIiwKKyAgICAg
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc3VwcG9ydHMtY29s
b3IvLS9zdXBwb3J0cy1jb2xvci00LjIuMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhNTEyLXF4ellzb2IzeXY2VSt4TXpQcnYxNzB5OEF3R1A3aTc0ZytwYml4Q2ZENnJnc284QnNj
TFQycVhJdXo2VHBPYWlKWjNtRmdUNU85bHlUOW5NVTRMZmFBPT0iLAorICAgICAgICAgICJkZXYi
OiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJoYXMtZmxhZyI6
ICIyLjAuMCIKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9LAorICAgICJp
ZWVlNzU0IjogeworICAgICAgInZlcnNpb24iOiAiMS4xLjgiLAorICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2llZWU3NTQvLS9pZWVlNzU0LTEuMS44LnRneiIs
CisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtdmpQVUNzRU84WkpuQWZid2lpMkcrLzBhMCtRPSIs
CisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImluZGV4ZXMtb2YiOiB7CisgICAgICAi
dmVyc2lvbiI6ICIxLjAuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvaW5kZXhlcy1vZi8tL2luZGV4ZXMtb2YtMS4wLjEudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS04dzl4Ykk0cjAwYkh0bjA5ODVGVlpxZkFWZ2M9IiwKKyAgICAgICJkZXYi
OiB0cnVlCisgICAgfSwKKyAgICAiaW5kZXhvZiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMC4x
IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pbmRleG9m
Ly0vaW5kZXhvZi0wLjAuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWd0d3piU01y
a0dJWG5RV3JNcE9tWUZuOVExMD0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJp
bmZsaWdodCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC42IiwKKyAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pbmZsaWdodC8tL2luZmxpZ2h0LTEuMC42LnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtU2Ixak1kZlFMUXdKdkpFS0VIVzZnV1cxYmZr
PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgIm9u
Y2UiOiAiMS40LjAiLAorICAgICAgICAid3JhcHB5IjogIjEuMC4yIgorICAgICAgfQorICAgIH0s
CisgICAgImluaGVyaXRzIjogeworICAgICAgInZlcnNpb24iOiAiMi4wLjMiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2luaGVyaXRzLy0vaW5oZXJpdHMt
Mi4wLjMudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1ZendzZytQYVFxVUM5U1JtQWlT
QTlDQ0NZZDQ9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiaW5pIjogeworICAg
ICAgInZlcnNpb24iOiAiMS4zLjQiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2luaS8tL2luaS0xLjMuNC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLUJUZkxlZHIxbTFtaHBSZmY5d2JJYnNBNUZpND0iLAorICAgICAgImRldiI6IHRydWUKKyAg
ICB9LAorICAgICJpbnRlcnByZXQiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMyIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaW50ZXJwcmV0Ly0vaW50
ZXJwcmV0LTEuMC4zLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEteThOY1l1N3VjL0dh
dDdFS2dCVVJRQnI4RDVBPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImludmFy
aWFudCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMi4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pbnZhcmlhbnQvLS9pbnZhcmlhbnQtMi4yLjIudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1uaDlXckFyTnRyOHdNd2J6T0w0N0lFcm1BMkE9
IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAibG9v
c2UtZW52aWZ5IjogIjEuMy4xIgorICAgICAgfQorICAgIH0sCisgICAgImludmVydC1rdiI6IHsK
KyAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9pbnZlcnQta3YvLS9pbnZlcnQta3YtMS4wLjAudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1FRXFPU3F5bTA5ak5GWHFPK0wrckxYby8vYlk9IiwKKyAgICAg
ICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiaXBhZGRyLmpzIjogeworICAgICAgInZlcnNpb24i
OiAiMS40LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L2lwYWRkci5qcy8tL2lwYWRkci5qcy0xLjQuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLUtXcktoNHFDR0JibHVGMEtLRnFadlA5Rmd2QT0iLAorICAgICAgImRldiI6IHRydWUKKyAg
ICB9LAorICAgICJpcy1hYnNvbHV0ZS11cmwiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjEuMCIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtYWJzb2x1
dGUtdXJsLy0vaXMtYWJzb2x1dGUtdXJsLTIuMS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtVUZNTis0VDh5YXA5dm5oUzZEbzN1VHVmS3FZPSIsCisgICAgICAiZGV2IjogdHJ1ZQor
ICAgIH0sCisgICAgImlzLWFycmF5aXNoIjogeworICAgICAgInZlcnNpb24iOiAiMC4yLjEiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLWFycmF5aXNo
Ly0vaXMtYXJyYXlpc2gtMC4yLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1kOG1Z
UUZKNnFPeXhxTHBwZTRCa1ducVNhcDA9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAg
ICAiaXMtYmluYXJ5LXBhdGgiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMSIsCisgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtYmluYXJ5LXBhdGgvLS9p
cy1iaW5hcnktcGF0aC0xLjAuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWRmRm1R
clNBOFllbkVjZ1VGaC9UcEtkbFdKZz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVx
dWlyZXMiOiB7CisgICAgICAgICJiaW5hcnktZXh0ZW5zaW9ucyI6ICIxLjEwLjAiCisgICAgICB9
CisgICAgfSwKKyAgICAiaXMtYnVmZmVyIjogeworICAgICAgInZlcnNpb24iOiAiMS4xLjUiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLWJ1ZmZlci8t
L2lzLWJ1ZmZlci0xLjEuNS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUh6c203MkU3
SVV1SXk4b2p6R3dCMkhsaDdzdz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJp
cy1idWlsdGluLW1vZHVsZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1idWlsdGluLW1vZHVsZS8t
L2lzLWJ1aWx0aW4tbW9kdWxlLTEuMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
VkFWeTAwOTZ3eEdmajNiRERMd2JIZ042Lzc0PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAg
ICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJ1aWx0aW4tbW9kdWxlcyI6ICIxLjEuMSIKKyAgICAg
IH0KKyAgICB9LAorICAgICJpcy1kaXJlY3RvcnkiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjMu
MSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtZGly
ZWN0b3J5Ly0vaXMtZGlyZWN0b3J5LTAuMy4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNo
YTEtWVRPYmJ5UjEvSGN2MmNuWVAxeUZkZHdWU3VFPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAg
IH0sCisgICAgImlzLWRvdGZpbGUiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMyIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtZG90ZmlsZS8tL2lz
LWRvdGZpbGUtMS4wLjMudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1wcUx6TC8wdCt3
VDF5aVhzMFBhNFBQZVlvZUU9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiaXMt
ZXF1YWwtc2hhbGxvdyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMS4zIiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1lcXVhbC1zaGFsbG93Ly0vaXMt
ZXF1YWwtc2hhbGxvdy0wLjEuMy50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUlqZ0pq
OEloM2d2UHBkbnF4TVJkWTRxaHhUUT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVx
dWlyZXMiOiB7CisgICAgICAgICJpcy1wcmltaXRpdmUiOiAiMi4wLjAiCisgICAgICB9CisgICAg
fSwKKyAgICAiaXMtZXh0ZW5kYWJsZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMS4xIiwKKyAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1leHRlbmRhYmxl
Ly0vaXMtZXh0ZW5kYWJsZS0wLjEuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLVly
RVE0b21rY1VHT1BzTnFZWDFITGpBZC9Jaz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAor
ICAgICJpcy1leHRnbG9iIjogeworICAgICAgInZlcnNpb24iOiAiMi4xLjEiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLWV4dGdsb2IvLS9pcy1leHRn
bG9iLTIuMS4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtcUl3Q1UxZVI4QzdUZkhh
aHVlcVhjOGd6K01JPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImlzLWZpbml0
ZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1maW5pdGUvLS9pcy1maW5pdGUtMS4wLjIudGd6IiwK
KyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS16R1ozYVZZQ3ZsVU84UjZMU3FZd1UwSzIwS289IiwK
KyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAibnVtYmVy
LWlzLW5hbiI6ICIxLjAuMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJpcy1mdWxsd2lkdGgtY29k
ZS1wb2ludCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1mdWxsd2lkdGgtY29kZS1wb2ludC8tL2lz
LWZ1bGx3aWR0aC1jb2RlLXBvaW50LTEuMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNo
YTEtNzU0eE9HOERHbjhOWkRyNEw5NVF4RmZ2QU1zPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAg
ICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgIm51bWJlci1pcy1uYW4iOiAiMS4wLjEiCisgICAg
ICB9CisgICAgfSwKKyAgICAiaXMtZ2xvYiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjMuMS4wIiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1nbG9iLy0v
aXMtZ2xvYi0zLjEuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWU2V3VKQ0Y0Qkt4
d2NIdVdraVZuU0d6RDZFbz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMi
OiB7CisgICAgICAgICJpcy1leHRnbG9iIjogIjIuMS4xIgorICAgICAgfQorICAgIH0sCisgICAg
ImlzLW51bWJlciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMS4wIiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1udW1iZXIvLS9pcy1udW1iZXItMi4x
LjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1BZnk3czVOR09sU1BMMFpzemhiZXpr
bmJrSTg9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAg
ICAia2luZC1vZiI6ICIzLjIuMiIKKyAgICAgIH0KKyAgICB9LAorICAgICJpcy1wbGFpbi1vYmoi
OiB7CisgICAgICAidmVyc2lvbiI6ICIxLjEuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtcGxhaW4tb2JqLy0vaXMtcGxhaW4tb2JqLTEuMS4wLnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtY2FVTWhDbmZ5bmM4a3FPUXBLQTdPZnpWSFQ0
PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImlzLXBvc2l4LWJyYWNrZXQiOiB7
CisgICAgICAidmVyc2lvbiI6ICIwLjEuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvaXMtcG9zaXgtYnJhY2tldC8tL2lzLXBvc2l4LWJyYWNrZXQtMC4x
LjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1NelRjZVhkRGFPa3ZBVzV2dkFxSTlj
MXVhOFE9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiaXMtcHJpbWl0aXZlIjog
eworICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2lzLXByaW1pdGl2ZS8tL2lzLXByaW1pdGl2ZS0yLjAuMC50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLUlIdXJrV09FbWNCN0t0OGtDa0dvY2hBRFJYVT0i
LAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJpcy1zdmciOiB7CisgICAgICAidmVy
c2lvbiI6ICIyLjEuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvaXMtc3ZnLy0vaXMtc3ZnLTIuMS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNo
YTEtejJFSkRhRFo3N3lyaHlMZXVtOERJZ2pic09rPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAg
ICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImh0bWwtY29tbWVudC1yZWdleCI6ICIxLjEuMSIK
KyAgICAgIH0KKyAgICB9LAorICAgICJpcy11dGY4IjogeworICAgICAgInZlcnNpb24iOiAiMC4y
LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLXV0
ZjgvLS9pcy11dGY4LTAuMi4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtU3cyaFJD
RUUwYk0yTkE2QWVYNkdYUE9mZlhJPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAg
ImlzYXJyYXkiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjAuMSIsCisgICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXNhcnJheS8tL2lzYXJyYXktMC4wLjEudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1paGlzL0ttbzlCZCtDYXY4WURpVG13WFI3dDg9
IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiaXNvYmplY3QiOiB7CisgICAgICAi
dmVyc2lvbiI6ICIyLjEuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvaXNvYmplY3QvLS9pc29iamVjdC0yLjEuMC50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGExLThHVldFSmFqOGRvdTlHSnkrQlhJUU5oK0RJaz0iLAorICAgICAgImRldiI6IHRy
dWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJpc2FycmF5IjogIjEuMC4wIgorICAg
ICAgfSwKKyAgICAgICJkZXBlbmRlbmNpZXMiOiB7CisgICAgICAgICJpc2FycmF5IjogeworICAg
ICAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXNhcnJheS8tL2lzYXJyYXktMS4wLjAudGd6IiwKKyAgICAg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtdTVOZFNGZ3N1aGFNQm9OSlY2VktQZ2NTVHhFPSIsCisg
ICAgICAgICAgImRldiI6IHRydWUKKyAgICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAgImpz
LWJhc2U2NCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMS45IiwKKyAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qcy1iYXNlNjQvLS9qcy1iYXNlNjQtMi4xLjku
dGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS04T2dLNERta3ZXVkxYeWdmeVQ4RXFSU24v
TTQ9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAianMtYmVhdXRpZnkiOiB7Cisg
ICAgICAidmVyc2lvbiI6ICIxLjYuMTQiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2pzLWJlYXV0aWZ5Ly0vanMtYmVhdXRpZnktMS42LjE0LnRneiIsCisg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtMDdqM01pMEN1U2Q5V0wwamdtVERKK1dBUk0wPSIsCisg
ICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImNvbmZpZy1j
aGFpbiI6ICIxLjEuMTEiLAorICAgICAgICAiZWRpdG9yY29uZmlnIjogIjAuMTMuMyIsCisgICAg
ICAgICJta2RpcnAiOiAiMC41LjEiLAorICAgICAgICAibm9wdCI6ICIzLjAuNiIKKyAgICAgIH0K
KyAgICB9LAorICAgICJqcy10b2tlbnMiOiB7CisgICAgICAidmVyc2lvbiI6ICIzLjAuMiIsCisg
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvanMtdG9rZW5zLy0v
anMtdG9rZW5zLTMuMC4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtbUdiZk9WRUNF
dzQ0OS9tV3ZPdGxSRElKd2xzPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImpz
LXlhbWwiOiB7CisgICAgICAidmVyc2lvbiI6ICIzLjcuMCIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvanMteWFtbC8tL2pzLXlhbWwtMy43LjAudGd6IiwK
KyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1YSlo5M1lONm0vM0tYeTNvUWxPcjZLSEFPNEE9IiwK
KyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYXJncGFy
c2UiOiAiMS4wLjkiLAorICAgICAgICAiZXNwcmltYSI6ICIyLjcuMyIKKyAgICAgIH0KKyAgICB9
LAorICAgICJqc2VzYyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMy4wIiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qc2VzYy8tL2pzZXNjLTEuMy4wLnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtUnNQK3lNR0pLeEt3Z3oyNXZIWWlGMjI2czBz
PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImpzb24tbG9hZGVyIjogeworICAg
ICAgInZlcnNpb24iOiAiMC41LjciLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2pzb24tbG9hZGVyLy0vanNvbi1sb2FkZXItMC41LjcudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhNTEyLVFMUHM4RGo3bG5mM2UzUVlTMXprQ28rNFp3cU9pRjlkL25a
bllvelRJU3hYV0NmTnM5eXVreTVySnc0L1czNHM3UE9hTmxiWm1RR2FCNU5pWENiUDR3PT0iLAor
ICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJqc29uLXNjaGVtYS10cmF2ZXJzZSI6IHsK
KyAgICAgICJ2ZXJzaW9uIjogIjAuMy4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9qc29uLXNjaGVtYS10cmF2ZXJzZS8tL2pzb24tc2NoZW1hLXRyYXZl
cnNlLTAuMy4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtTkpwdFJNVTZVZDZKdEFn
RnhkWGxtMEY5TTBBPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImpzb24tc3Rh
YmxlLXN0cmluZ2lmeSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qc29uLXN0YWJsZS1zdHJpbmdpZnkv
LS9qc29uLXN0YWJsZS1zdHJpbmdpZnktMS4wLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1tbldkT2NYeS8xQS8xVEFHUnUxRVg0akUrYTg9IiwKKyAgICAgICJkZXYiOiB0cnVlLAor
ICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAianNvbmlmeSI6ICIwLjAuMCIKKyAgICAgIH0K
KyAgICB9LAorICAgICJqc29uNSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuNS4xIiwKKyAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qc29uNS8tL2pzb241LTAu
NS4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtSHEzbnJNQVNBMHJZVGlPV2RuNnRu
NlZKV0NFPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImpzb25maWxlIjogewor
ICAgICAgInZlcnNpb24iOiAiMi40LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2pzb25maWxlLy0vanNvbmZpbGUtMi40LjAudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1OemFpdENpNGU3Mmd6SU8xUDZQV002TmNLdWc9IiwKKyAgICAgICJk
ZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiZ3JhY2VmdWwtZnMiOiAi
NC4xLjExIgorICAgICAgfQorICAgIH0sCisgICAgImpzb25pZnkiOiB7CisgICAgICAidmVyc2lv
biI6ICIwLjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvanNvbmlmeS8tL2pzb25pZnktMC4wLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1MSFMyN2tIWlBLVWJlMXF1NlBVRFl4MGxLbk09IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAg
fSwKKyAgICAia2luZC1vZiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjMuMi4yIiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9raW5kLW9mLy0va2luZC1vZi0z
LjIuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLU1lb2hwelM2dWJ1dzh5Um0ySk91
cFI1S1BHUT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAg
ICAgICJpcy1idWZmZXIiOiAiMS4xLjUiCisgICAgICB9CisgICAgfSwKKyAgICAia2xhdyI6IHsK
KyAgICAgICJ2ZXJzaW9uIjogIjEuMy4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9rbGF3Ly0va2xhdy0xLjMuMS50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGExLVFJaERPMGF6c2JvbG5YaDRYWTZXOXp1Z0pEaz0iLAorICAgICAgImRldiI6IHRy
dWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJncmFjZWZ1bC1mcyI6ICI0LjEuMTEi
CisgICAgICB9CisgICAgfSwKKyAgICAibGF6eS1jYWNoZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjog
IjEuMC40IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9s
YXp5LWNhY2hlLy0vbGF6eS1jYWNoZS0xLjAuNC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLW9kZVB3NlVFZE11QWhGMDdPMjRkcEpwRWJvND0iLAorICAgICAgImRldiI6IHRydWUKKyAg
ICB9LAorICAgICJsY2lkIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2xjaWQvLS9sY2lkLTEuMC4wLnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtTUlyTXI2QzhTRG80WjdTMjhybFFZbEhSdURV
PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImlu
dmVydC1rdiI6ICIxLjAuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJsb2FkLWpzb24tZmlsZSI6
IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9sb2FkLWpzb24tZmlsZS8tL2xvYWQtanNvbi1maWxlLTEuMS4w
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtbFdrRmNJMVl0THEwd2lZYkJQV2ZNY21U
ZE1BPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAg
ImdyYWNlZnVsLWZzIjogIjQuMS4xMSIsCisgICAgICAgICJwYXJzZS1qc29uIjogIjIuMi4wIiwK
KyAgICAgICAgInBpZnkiOiAiMi4zLjAiLAorICAgICAgICAicGlua2llLXByb21pc2UiOiAiMi4w
LjEiLAorICAgICAgICAic3RyaXAtYm9tIjogIjIuMC4wIgorICAgICAgfQorICAgIH0sCisgICAg
ImxvYWRlci1ydW5uZXIiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjMuMCIsCisgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbG9hZGVyLXJ1bm5lci8tL2xvYWRl
ci1ydW5uZXItMi4zLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS05SUt1cUMxVVBn
ZVNGd0RWcEc3eWI5ckd1S0k9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAibG9h
ZGVyLXV0aWxzIjogeworICAgICAgInZlcnNpb24iOiAiMC4yLjE3IiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9sb2FkZXItdXRpbHMvLS9sb2FkZXItdXRp
bHMtMC4yLjE3LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtK0c1amROUXlCYWJteGc2
Umx2RjhBcG0vczBnPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsK
KyAgICAgICAgImJpZy5qcyI6ICIzLjEuMyIsCisgICAgICAgICJlbW9qaXMtbGlzdCI6ICIyLjEu
MCIsCisgICAgICAgICJqc29uNSI6ICIwLjUuMSIsCisgICAgICAgICJvYmplY3QtYXNzaWduIjog
IjQuMS4xIgorICAgICAgfQorICAgIH0sCisgICAgImxvZGFzaCI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjQuMTcuNCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvbG9kYXNoLy0vbG9kYXNoLTQuMTcuNC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGEx
LWVDQTZUUnd5aXVIWWJjcGtZT05wdFg5QVZhND0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9
LAorICAgICJsb2Rhc2guY2FtZWxjYXNlIjogeworICAgICAgInZlcnNpb24iOiAiNC4zLjAiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2xvZGFzaC5jYW1l
bGNhc2UvLS9sb2Rhc2guY2FtZWxjYXNlLTQuMy4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtc29xbUtJb3JuOFpSQTF4M0VmWmF0aGtETWFZPSIsCisgICAgICAiZGV2IjogdHJ1ZQor
ICAgIH0sCisgICAgImxvZGFzaC5tZW1vaXplIjogeworICAgICAgInZlcnNpb24iOiAiNC4xLjIi
LAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2xvZGFzaC5t
ZW1vaXplLy0vbG9kYXNoLm1lbW9pemUtNC4xLjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS12TWJFbWtLaWhBN1psL01qNnRwZXpSZ3VDLzQ9IiwKKyAgICAgICJkZXYiOiB0cnVlCisg
ICAgfSwKKyAgICAibG9kYXNoLnVuaXEiOiB7CisgICAgICAidmVyc2lvbiI6ICI0LjUuMCIsCisg
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbG9kYXNoLnVuaXEv
LS9sb2Rhc2gudW5pcS00LjUuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLTBDSlRj
NjYyVXEzQnZJTGtsRk01cUVKMVIzTT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAg
ICJsb2ctc3ltYm9scyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4yIiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9sb2ctc3ltYm9scy8tL2xvZy1zeW1i
b2xzLTEuMC4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtTjIvM3RZNmpDR29QQ2Zy
TWRHRit5bEFlR2hnPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsK
KyAgICAgICAgImNoYWxrIjogIjEuMS4zIgorICAgICAgfQorICAgIH0sCisgICAgImxvbmdlc3Qi
OiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbG9uZ2VzdC8tL2xvbmdlc3QtMS4wLjEudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1NS0N5MmpqM04zRG9LVW9OSXVaaVh0ZDlBSmM9IiwKKyAgICAg
ICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAibG9vc2UtZW52aWZ5IjogeworICAgICAgInZlcnNp
b24iOiAiMS4zLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL2xvb3NlLWVudmlmeS8tL2xvb3NlLWVudmlmeS0xLjMuMS50Z3oiLAorICAgICAgImludGVn
cml0eSI6ICJzaGExLTBhaXRNL3FjNE9jVDFsL2RDc2kzU05SNHlFZz0iLAorICAgICAgImRldiI6
IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJqcy10b2tlbnMiOiAiMy4wLjIi
CisgICAgICB9CisgICAgfSwKKyAgICAibG93ZXItY2FzZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjog
IjEuMS40IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9s
b3dlci1jYXNlLy0vbG93ZXItY2FzZS0xLjEuNC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLW1peXIwYm5vNEs2Wk9rdjMxWWRjT2NRdWpxdz0iLAorICAgICAgImRldiI6IHRydWUKKyAg
ICB9LAorICAgICJscnUtY2FjaGUiOiB7CisgICAgICAidmVyc2lvbiI6ICI0LjEuMSIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbHJ1LWNhY2hlLy0vbHJ1
LWNhY2hlLTQuMS4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1xNHNwZTRLVGZz
QVMxU1VITE8wd3o4UWl5ZjErdk1JQWdwUllpb0ZZRE1OcUtmSFFiZytBVkRIM2k0ZnZwbDcxL1Ax
TDBkQmwrZlFpK1AzN1VZZjBldz09IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVp
cmVzIjogeworICAgICAgICAicHNldWRvbWFwIjogIjEuMC4yIiwKKyAgICAgICAgInlhbGxpc3Qi
OiAiMi4xLjIiCisgICAgICB9CisgICAgfSwKKyAgICAibWFjYWRkcmVzcyI6IHsKKyAgICAgICJ2
ZXJzaW9uIjogIjAuMi44IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9tYWNhZGRyZXNzLy0vbWFjYWRkcmVzcy0wLjIuOC50Z3oiLAorICAgICAgImludGVn
cml0eSI6ICJzaGExLVdRVGNVM3c1N0cyKy9xNlFJeWNUWDZoUkh4ST0iLAorICAgICAgImRldiI6
IHRydWUKKyAgICB9LAorICAgICJtYXRoLWV4cHJlc3Npb24tZXZhbHVhdG9yIjogeworICAgICAg
InZlcnNpb24iOiAiMS4yLjE3IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy9tYXRoLWV4cHJlc3Npb24tZXZhbHVhdG9yLy0vbWF0aC1leHByZXNzaW9uLWV2
YWx1YXRvci0xLjIuMTcudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0zb0dmMjgyRTNN
MlBybG5HcnJlV0ZiblNacXc9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAibWVk
aWEtdHlwZXIiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjMuMCIsCisgICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbWVkaWEtdHlwZXIvLS9tZWRpYS10eXBlci0w
LjMuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWh4RFhyd3FtSnZqLytoemdBV2hV
VW1NbFYwZz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJtZW1vcnktZnMiOiB7
CisgICAgICAidmVyc2lvbiI6ICIwLjQuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvbWVtb3J5LWZzLy0vbWVtb3J5LWZzLTAuNC4xLnRneiIsCisgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtT3BvZ3VFWWxJK1JIejd4K2k3Z08xbWUveFZJPSIsCisgICAg
ICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImVycm5vIjogIjAu
MS40IiwKKyAgICAgICAgInJlYWRhYmxlLXN0cmVhbSI6ICIyLjMuMyIKKyAgICAgIH0sCisgICAg
ICAiZGVwZW5kZW5jaWVzIjogeworICAgICAgICAiaXNhcnJheSI6IHsKKyAgICAgICAgICAidmVy
c2lvbiI6ICIxLjAuMCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2lzYXJyYXkvLS9pc2FycmF5LTEuMC4wLnRneiIsCisgICAgICAgICAgImludGVn
cml0eSI6ICJzaGExLXU1TmRTRmdzdWhhTUJvTkpWNlZLUGdjU1R4RT0iLAorICAgICAgICAgICJk
ZXYiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJyZWFkYWJsZS1zdHJlYW0iOiB7CisgICAg
ICAgICAgInZlcnNpb24iOiAiMi4zLjMiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZWFkYWJsZS1zdHJlYW0vLS9yZWFkYWJsZS1zdHJlYW0tMi4z
LjMudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1tK3F6emNuN0tVeEVtZDFn
TWJjaEYrWTJlSVViaWVVYXhrV3RwdHlIeXdyWDByRThRRVlxUEMwN1Z1eTRXbTMyL3hFMTZOY2RC
Y3RiOFMwWGUvNUllUT09IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVx
dWlyZXMiOiB7CisgICAgICAgICAgICAiY29yZS11dGlsLWlzIjogIjEuMC4yIiwKKyAgICAgICAg
ICAgICJpbmhlcml0cyI6ICIyLjAuMyIsCisgICAgICAgICAgICAiaXNhcnJheSI6ICIxLjAuMCIs
CisgICAgICAgICAgICAicHJvY2Vzcy1uZXh0aWNrLWFyZ3MiOiAiMS4wLjciLAorICAgICAgICAg
ICAgInNhZmUtYnVmZmVyIjogIjUuMS4xIiwKKyAgICAgICAgICAgICJzdHJpbmdfZGVjb2RlciI6
ICIxLjAuMyIsCisgICAgICAgICAgICAidXRpbC1kZXByZWNhdGUiOiAiMS4wLjIiCisgICAgICAg
ICAgfQorICAgICAgICB9LAorICAgICAgICAic3RyaW5nX2RlY29kZXIiOiB7CisgICAgICAgICAg
InZlcnNpb24iOiAiMS4wLjMiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9zdHJpbmdfZGVjb2Rlci8tL3N0cmluZ19kZWNvZGVyLTEuMC4zLnRneiIs
CisgICAgICAgICAgImludGVncml0eSI6ICJzaGE1MTItNEFINlo1ZnpOTkJjSCs2WERNZkEvQlR0
ODdza3hxSmxPMGxBaDNEa2VyNXpUaGNBeEc2bUt6K2lHdTMwOFVLb1BQUThEY3F4LzRKaHVqemx0
UmEraFE9PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjog
eworICAgICAgICAgICAgInNhZmUtYnVmZmVyIjogIjUuMS4xIgorICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgfQorICAgIH0sCisgICAgIm1lcmdlLWRlc2NyaXB0b3JzIjogeworICAgICAg
InZlcnNpb24iOiAiMS4wLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL21lcmdlLWRlc2NyaXB0b3JzLy0vbWVyZ2UtZGVzY3JpcHRvcnMtMS4wLjEudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1zQXFxVlczWXRFVm9GUTdKMGJsVDgva011MkU9
IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAibWV0aG9kcyI6IHsKKyAgICAgICJ2
ZXJzaW9uIjogIjEuMS4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9tZXRob2RzLy0vbWV0aG9kcy0xLjEuMi50Z3oiLAorICAgICAgImludGVncml0eSI6
ICJzaGExLVZTbWsxblpVRTA3Y3hTWm1Wb05iRDRVYS9PND0iLAorICAgICAgImRldiI6IHRydWUK
KyAgICB9LAorICAgICJtaWNyb21hdGNoIjogeworICAgICAgInZlcnNpb24iOiAiMi4zLjExIiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9taWNyb21hdGNo
Ly0vbWljcm9tYXRjaC0yLjMuMTEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1obWQ4
bDlGeUN6WTBNZEJORFJVcE85T01GV1U9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJl
cXVpcmVzIjogeworICAgICAgICAiYXJyLWRpZmYiOiAiMi4wLjAiLAorICAgICAgICAiYXJyYXkt
dW5pcXVlIjogIjAuMi4xIiwKKyAgICAgICAgImJyYWNlcyI6ICIxLjguNSIsCisgICAgICAgICJl
eHBhbmQtYnJhY2tldHMiOiAiMC4xLjUiLAorICAgICAgICAiZXh0Z2xvYiI6ICIwLjMuMiIsCisg
ICAgICAgICJmaWxlbmFtZS1yZWdleCI6ICIyLjAuMSIsCisgICAgICAgICJpcy1leHRnbG9iIjog
IjEuMC4wIiwKKyAgICAgICAgImlzLWdsb2IiOiAiMi4wLjEiLAorICAgICAgICAia2luZC1vZiI6
ICIzLjIuMiIsCisgICAgICAgICJub3JtYWxpemUtcGF0aCI6ICIyLjEuMSIsCisgICAgICAgICJv
YmplY3Qub21pdCI6ICIyLjAuMSIsCisgICAgICAgICJwYXJzZS1nbG9iIjogIjMuMC40IiwKKyAg
ICAgICAgInJlZ2V4LWNhY2hlIjogIjAuNC4zIgorICAgICAgfSwKKyAgICAgICJkZXBlbmRlbmNp
ZXMiOiB7CisgICAgICAgICJpcy1leHRnbG9iIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEu
MC4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
aXMtZXh0Z2xvYi8tL2lzLWV4dGdsb2ItMS4wLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtckVhQmQ4U1VOQVdna3Z5UEtYWU1iL3hpQnNBPSIsCisgICAgICAgICAgImRldiI6
IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImlzLWdsb2IiOiB7CisgICAgICAgICAgInZlcnNp
b24iOiAiMi4wLjEiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9pcy1nbG9iLy0vaXMtZ2xvYi0yLjAuMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS0wSmI1SnFQZTFXQVBQOS9aRVpqTENJakMyR009IiwKKyAgICAgICAgICAiZGV2
IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiaXMtZXh0Z2xv
YiI6ICIxLjAuMCIKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9LAorICAg
ICJtaWxsZXItcmFiaW4iOiB7CisgICAgICAidmVyc2lvbiI6ICI0LjAuMCIsCisgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbWlsbGVyLXJhYmluLy0vbWlsbGVy
LXJhYmluLTQuMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtU21MN0hVS1RQQVZZ
T1lMMHh4YjIrNTVzYlQwPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6
IHsKKyAgICAgICAgImJuLmpzIjogIjQuMTEuOCIsCisgICAgICAgICJicm9yYW5kIjogIjEuMS4w
IgorICAgICAgfQorICAgIH0sCisgICAgIm1pbWUiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjMu
NCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbWltZS8t
L21pbWUtMS4zLjQudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1FVitlTzJzOXJ5bFpt
RHl6anhTYUxVRHJYVk09IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAibWltZS1k
YiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMjkuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbWltZS1kYi8tL21pbWUtZGItMS4yOS4wLnRneiIsCisg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtU05KdEkxV0paUmNFckZrV3lnWUFHUlFtYUhnPSIsCisg
ICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgIm1pbWUtdHlwZXMiOiB7CisgICAgICAidmVy
c2lvbiI6ICIyLjEuMTYiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL21pbWUtdHlwZXMvLS9taW1lLXR5cGVzLTIuMS4xNi50Z3oiLAorICAgICAgImludGVn
cml0eSI6ICJzaGExLUs0V0tVdVhzMVJiYmlYckN2b2RJZURCcGppTT0iLAorICAgICAgImRldiI6
IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJtaW1lLWRiIjogIjEuMjkuMCIK
KyAgICAgIH0KKyAgICB9LAorICAgICJtaW1pYy1mbiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEu
MS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9taW1p
Yy1mbi8tL21pbWljLWZuLTEuMS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtNW1k
NFBaTG9uYjAwS0JpMUl3dWRZcVp5clJnPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisg
ICAgIm1pbmltYWxpc3RpYy1hc3NlcnQiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMCIsCisg
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbWluaW1hbGlzdGlj
LWFzc2VydC8tL21pbmltYWxpc3RpYy1hc3NlcnQtMS4wLjAudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1jQ3ZpM2FhemYwZzJ2TFAxMjFaa0cyU2gwOU09IiwKKyAgICAgICJkZXYiOiB0
cnVlCisgICAgfSwKKyAgICAibWluaW1hbGlzdGljLWNyeXB0by11dGlscyI6IHsKKyAgICAgICJ2
ZXJzaW9uIjogIjEuMC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9taW5pbWFsaXN0aWMtY3J5cHRvLXV0aWxzLy0vbWluaW1hbGlzdGljLWNyeXB0by11
dGlscy0xLjAuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLTlzQU1IQXNJSWtibHhO
bWQrNHg4Q0RzcldDbz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJtaW5pbWF0
Y2giOiB7CisgICAgICAidmVyc2lvbiI6ICIzLjAuNCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbWluaW1hdGNoLy0vbWluaW1hdGNoLTMuMC40LnRneiIs
CisgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi15SkhWUUVoeXFQTFVUZ3Q5QjgzUFh1Nlczcng0
TXZ2SHZTVXZUb29ncHdvR0RPVVEreURyUjBIUm90K3lPQ2RDTzd1NGhYM3BXZnQ2a1dCQmNxaDBV
QT09IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAi
YnJhY2UtZXhwYW5zaW9uIjogIjEuMS44IgorICAgICAgfQorICAgIH0sCisgICAgIm1pbmltaXN0
IjogeworICAgICAgInZlcnNpb24iOiAiMC4wLjgiLAorICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL21pbmltaXN0Ly0vbWluaW1pc3QtMC4wLjgudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1oWC9LdjhNNWZTWWx1Q0tDWXVocXA2QVJzRjA9IiwKKyAg
ICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAibWtkaXJwIjogeworICAgICAgInZlcnNpb24i
OiAiMC41LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L21rZGlycC8tL21rZGlycC0wLjUuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLU1B
VjBPT3JHejMrTVIyZnpoa2pXYVgxMXlRTT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAi
cmVxdWlyZXMiOiB7CisgICAgICAgICJtaW5pbWlzdCI6ICIwLjAuOCIKKyAgICAgIH0KKyAgICB9
LAorICAgICJtcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMC4wIiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9tcy8tL21zLTIuMC4wLnRneiIsCisgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtVmdpdXJmd0F2bXdwQWQ5Zm1HRjRqZURWbDhnPSIsCisgICAg
ICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgIm5hbiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIu
Ni4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9uYW4v
LS9uYW4tMi42LjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS01UDgwNXNsZjM3V3V6
QWplWlpiME5nV24yMFU9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgIm9wdGlvbmFsIjog
dHJ1ZQorICAgIH0sCisgICAgIm5jbmFtZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9uY25hbWUvLS9u
Y25hbWUtMS4wLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1XMWV0R0xIS0NTaGs3
Mkt3c2UyQmxQT0R0eHc9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjog
eworICAgICAgICAieG1sLWNoYXItY2xhc3NlcyI6ICIxLjAuMCIKKyAgICAgIH0KKyAgICB9LAor
ICAgICJuZWdvdGlhdG9yIjogeworICAgICAgInZlcnNpb24iOiAiMC42LjEiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL25lZ290aWF0b3IvLS9uZWdvdGlh
dG9yLTAuNi4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtS3pKeGhPaVpJUUVYZXlo
V1A3WG5FQ3JOREtrPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgIm5vLWNhc2Ui
OiB7CisgICAgICAidmVyc2lvbiI6ICIyLjMuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbm8tY2FzZS8tL25vLWNhc2UtMi4zLjEudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1ldXVoeHpwU0dFSmxWVXQ5d0R1dmNnMzRBSUU9IiwKKyAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAibG93ZXItY2FzZSI6
ICIxLjEuNCIKKyAgICAgIH0KKyAgICB9LAorICAgICJub2RlLWRpciI6IHsKKyAgICAgICJ2ZXJz
aW9uIjogIjAuMS4xNyIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvbm9kZS1kaXIvLS9ub2RlLWRpci0wLjEuMTcudGd6IiwKKyAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1YMVpsMlROUk0xeXF2dmp4eFZSUmJQWHg1T1U9IiwKKyAgICAgICJkZXYiOiB0cnVl
LAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAibWluaW1hdGNoIjogIjMuMC40IgorICAg
ICAgfQorICAgIH0sCisgICAgIm5vZGUtbGlicy1icm93c2VyIjogeworICAgICAgInZlcnNpb24i
OiAiMi4wLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L25vZGUtbGlicy1icm93c2VyLy0vbm9kZS1saWJzLWJyb3dzZXItMi4wLjAudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1vNldleVhBa21GdEc2VmczbGtiNWJFdGhaa1k9IiwKKyAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYXNzZXJ0IjogIjEu
NC4xIiwKKyAgICAgICAgImJyb3dzZXJpZnktemxpYiI6ICIwLjEuNCIsCisgICAgICAgICJidWZm
ZXIiOiAiNC45LjEiLAorICAgICAgICAiY29uc29sZS1icm93c2VyaWZ5IjogIjEuMS4wIiwKKyAg
ICAgICAgImNvbnN0YW50cy1icm93c2VyaWZ5IjogIjEuMC4wIiwKKyAgICAgICAgImNyeXB0by1i
cm93c2VyaWZ5IjogIjMuMTEuMSIsCisgICAgICAgICJkb21haW4tYnJvd3NlciI6ICIxLjEuNyIs
CisgICAgICAgICJldmVudHMiOiAiMS4xLjEiLAorICAgICAgICAiaHR0cHMtYnJvd3NlcmlmeSI6
ICIwLjAuMSIsCisgICAgICAgICJvcy1icm93c2VyaWZ5IjogIjAuMi4xIiwKKyAgICAgICAgInBh
dGgtYnJvd3NlcmlmeSI6ICIwLjAuMCIsCisgICAgICAgICJwcm9jZXNzIjogIjAuMTEuMTAiLAor
ICAgICAgICAicHVueWNvZGUiOiAiMS40LjEiLAorICAgICAgICAicXVlcnlzdHJpbmctZXMzIjog
IjAuMi4xIiwKKyAgICAgICAgInJlYWRhYmxlLXN0cmVhbSI6ICIyLjMuMyIsCisgICAgICAgICJz
dHJlYW0tYnJvd3NlcmlmeSI6ICIyLjAuMSIsCisgICAgICAgICJzdHJlYW0taHR0cCI6ICIyLjcu
MiIsCisgICAgICAgICJzdHJpbmdfZGVjb2RlciI6ICIwLjEwLjMxIiwKKyAgICAgICAgInRpbWVy
cy1icm93c2VyaWZ5IjogIjIuMC40IiwKKyAgICAgICAgInR0eS1icm93c2VyaWZ5IjogIjAuMC4w
IiwKKyAgICAgICAgInVybCI6ICIwLjExLjAiLAorICAgICAgICAidXRpbCI6ICIwLjEwLjMiLAor
ICAgICAgICAidm0tYnJvd3NlcmlmeSI6ICIwLjAuNCIKKyAgICAgIH0sCisgICAgICAiZGVwZW5k
ZW5jaWVzIjogeworICAgICAgICAiaXNhcnJheSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIx
LjAuMCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L2lzYXJyYXkvLS9pc2FycmF5LTEuMC4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJz
aGExLXU1TmRTRmdzdWhhTUJvTkpWNlZLUGdjU1R4RT0iLAorICAgICAgICAgICJkZXYiOiB0cnVl
CisgICAgICAgIH0sCisgICAgICAgICJyZWFkYWJsZS1zdHJlYW0iOiB7CisgICAgICAgICAgInZl
cnNpb24iOiAiMi4zLjMiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy9yZWFkYWJsZS1zdHJlYW0vLS9yZWFkYWJsZS1zdHJlYW0tMi4zLjMudGd6IiwK
KyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1tK3F6emNuN0tVeEVtZDFnTWJjaEYrWTJl
SVViaWVVYXhrV3RwdHlIeXdyWDByRThRRVlxUEMwN1Z1eTRXbTMyL3hFMTZOY2RCY3RiOFMwWGUv
NUllUT09IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7
CisgICAgICAgICAgICAiY29yZS11dGlsLWlzIjogIjEuMC4yIiwKKyAgICAgICAgICAgICJpbmhl
cml0cyI6ICIyLjAuMyIsCisgICAgICAgICAgICAiaXNhcnJheSI6ICIxLjAuMCIsCisgICAgICAg
ICAgICAicHJvY2Vzcy1uZXh0aWNrLWFyZ3MiOiAiMS4wLjciLAorICAgICAgICAgICAgInNhZmUt
YnVmZmVyIjogIjUuMS4xIiwKKyAgICAgICAgICAgICJzdHJpbmdfZGVjb2RlciI6ICIxLjAuMyIs
CisgICAgICAgICAgICAidXRpbC1kZXByZWNhdGUiOiAiMS4wLjIiCisgICAgICAgICAgfSwKKyAg
ICAgICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAgICAgICAgInN0cmluZ19kZWNvZGVyIjog
eworICAgICAgICAgICAgICAidmVyc2lvbiI6ICIxLjAuMyIsCisgICAgICAgICAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zdHJpbmdfZGVjb2Rlci8tL3N0cmlu
Z19kZWNvZGVyLTEuMC4zLnRneiIsCisgICAgICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEy
LTRBSDZaNWZ6Tk5CY0grNlhETWZBL0JUdDg3c2t4cUpsTzBsQWgzRGtlcjV6VGhjQXhHNm1Leitp
R3UzMDhVS29QUFE4RGNxeC80Smh1anpsdFJhK2hRPT0iLAorICAgICAgICAgICAgICAiZGV2Ijog
dHJ1ZSwKKyAgICAgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgICAgICJzYWZl
LWJ1ZmZlciI6ICI1LjEuMSIKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAg
ICAgIH0KKyAgICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAgIm5vcHQiOiB7CisgICAgICAi
dmVyc2lvbiI6ICIzLjAuNiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvbm9wdC8tL25vcHQtMy4wLjYudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS14a1pkdndpcnpVMnpXVEYvZWF4b3BrYXlqL2s9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAg
ICAgInJlcXVpcmVzIjogeworICAgICAgICAiYWJicmV2IjogIjEuMS4wIgorICAgICAgfQorICAg
IH0sCisgICAgIm5vcm1hbGl6ZS1wYWNrYWdlLWRhdGEiOiB7CisgICAgICAidmVyc2lvbiI6ICIy
LjQuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbm9y
bWFsaXplLXBhY2thZ2UtZGF0YS8tL25vcm1hbGl6ZS1wYWNrYWdlLWRhdGEtMi40LjAudGd6IiwK
KyAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLTlqalVGYlRQZkV5M1IvYWQvMm9OYkt0VzlIZ292
bDVPMUZ2RldLa0tibE5Yb04vT291Nis5K0tLb2hQSzEzWWMzL1R5dW55V2hKcDZndlJOUi9QUEF3
PT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJo
b3N0ZWQtZ2l0LWluZm8iOiAiMi41LjAiLAorICAgICAgICAiaXMtYnVpbHRpbi1tb2R1bGUiOiAi
MS4wLjAiLAorICAgICAgICAic2VtdmVyIjogIjUuNC4xIiwKKyAgICAgICAgInZhbGlkYXRlLW5w
bS1wYWNrYWdlLWxpY2Vuc2UiOiAiMy4wLjEiCisgICAgICB9CisgICAgfSwKKyAgICAibm9ybWFs
aXplLXBhdGgiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjEuMSIsCisgICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbm9ybWFsaXplLXBhdGgvLS9ub3JtYWxpemUt
cGF0aC0yLjEuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUdyS0xWVzRaZzJPb3dh
YjM1dm9nRTMvbXJ0az0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7
CisgICAgICAgICJyZW1vdmUtdHJhaWxpbmctc2VwYXJhdG9yIjogIjEuMS4wIgorICAgICAgfQor
ICAgIH0sCisgICAgIm5vcm1hbGl6ZS1yYW5nZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMS4y
IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9ub3JtYWxp
emUtcmFuZ2UvLS9ub3JtYWxpemUtcmFuZ2UtMC4xLjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1MUkRBYTkvVEV1cVhkMmxhVFNoRGxGYTNXVUk9IiwKKyAgICAgICJkZXYiOiB0cnVl
CisgICAgfSwKKyAgICAibm9ybWFsaXplLXVybCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuOS4x
IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9ub3JtYWxp
emUtdXJsLy0vbm9ybWFsaXplLXVybC0xLjkuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLUxNRFdhekhxSXdOa1dFTnVOaURZV1ZUR2JEdz0iLAorICAgICAgImRldiI6IHRydWUsCisg
ICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJvYmplY3QtYXNzaWduIjogIjQuMS4xIiwKKyAg
ICAgICAgInByZXBlbmQtaHR0cCI6ICIxLjAuNCIsCisgICAgICAgICJxdWVyeS1zdHJpbmciOiAi
NC4zLjQiLAorICAgICAgICAic29ydC1rZXlzIjogIjEuMS4yIgorICAgICAgfQorICAgIH0sCisg
ICAgIm50aC1jaGVjayI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9udGgtY2hlY2svLS9udGgtY2hlY2st
MS4wLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1tU21zMzJLUHdzUVFtTjZyZ3F4
WURQRkpxdVE9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAg
ICAgICAiYm9vbGJhc2UiOiAiMS4wLjAiCisgICAgICB9CisgICAgfSwKKyAgICAibnVtMmZyYWN0
aW9uIjogeworICAgICAgInZlcnNpb24iOiAiMS4yLjIiLAorICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL251bTJmcmFjdGlvbi8tL251bTJmcmFjdGlvbi0xLjIu
Mi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWIyZ3JhZ0o2VHAzZnBGWk0wbGlkSFU1
bW50ND0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJudW1iZXItaXMtbmFuIjog
eworICAgICAgInZlcnNpb24iOiAiMS4wLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL251bWJlci1pcy1uYW4vLS9udW1iZXItaXMtbmFuLTEuMC4xLnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtQ1h0Z0sxTkNLbElzR3Z1SGtER0ROcFFhQVIw
PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgIm9iamVjdC1hc3NpZ24iOiB7Cisg
ICAgICAidmVyc2lvbiI6ICI0LjEuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvb2JqZWN0LWFzc2lnbi8tL29iamVjdC1hc3NpZ24tNC4xLjEudGd6IiwK
KyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1JUW10eDVaWWg4L0FYTHZVUXNySXY3czJDR009IiwK
KyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAib2JqZWN0Lm9taXQiOiB7CisgICAgICAi
dmVyc2lvbiI6ICIyLjAuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvb2JqZWN0Lm9taXQvLS9vYmplY3Qub21pdC0yLjAuMS50Z3oiLAorICAgICAgImlu
dGVncml0eSI6ICJzaGExLUdweDBTQ256bmJ1RmpIYktOWG11S2xUcjBmbz0iLAorICAgICAgImRl
diI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJmb3Itb3duIjogIjAuMS41
IiwKKyAgICAgICAgImlzLWV4dGVuZGFibGUiOiAiMC4xLjEiCisgICAgICB9CisgICAgfSwKKyAg
ICAib24tZmluaXNoZWQiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjMuMCIsCisgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvb24tZmluaXNoZWQvLS9vbi1maW5p
c2hlZC0yLjMuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUlQRXpaSUd3ZzgxMU0z
bVNvV2x4cWkyUWFVYz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7
CisgICAgICAgICJlZS1maXJzdCI6ICIxLjEuMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJvbmNl
IjogeworICAgICAgInZlcnNpb24iOiAiMS40LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL29uY2UvLS9vbmNlLTEuNC4wLnRneiIsCisgICAgICAiaW50
ZWdyaXR5IjogInNoYTEtV0RzYXAzV1dIVXNST3NGOW5GQzY3NTNYYTlFPSIsCisgICAgICAiZGV2
IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgIndyYXBweSI6ICIxLjAuMiIK
KyAgICAgIH0KKyAgICB9LAorICAgICJvbmV0aW1lIjogeworICAgICAgInZlcnNpb24iOiAiMi4w
LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL29uZXRp
bWUvLS9vbmV0aW1lLTIuMC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtQm5Rb0l3
L1dkRU95ZVVzaXU2VW90b1o1WXRRPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1
aXJlcyI6IHsKKyAgICAgICAgIm1pbWljLWZuIjogIjEuMS4wIgorICAgICAgfQorICAgIH0sCisg
ICAgIm9wZW5lciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuNC4zIiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9vcGVuZXIvLS9vcGVuZXItMS40LjMudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1YRzJpeGRmbGd4NlAramxrbFErTlpuU3NrTGc9
IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAib3BuIjogeworICAgICAgInZlcnNp
b24iOiAiNC4wLjIiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL29wbi8tL29wbi00LjAuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWVyd2k1
a1RmOWpzS2x0V3JmeWVRd1BBYXZKVT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVx
dWlyZXMiOiB7CisgICAgICAgICJvYmplY3QtYXNzaWduIjogIjQuMS4xIiwKKyAgICAgICAgInBp
bmtpZS1wcm9taXNlIjogIjIuMC4xIgorICAgICAgfQorICAgIH0sCisgICAgIm9wdGltaXplLWNz
cy1hc3NldHMtd2VicGFjay1wbHVnaW4iOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjMuMiIsCisg
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvb3B0aW1pemUtY3Nz
LWFzc2V0cy13ZWJwYWNrLXBsdWdpbi8tL29wdGltaXplLWNzcy1hc3NldHMtd2VicGFjay1wbHVn
aW4tMS4zLjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS02eWRGYmlIdSs5Z0lEekhv
Tm94WmFFNVlXaXc9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogewor
ICAgICAgICAiY3NzbmFubyI6ICIzLjEwLjAiLAorICAgICAgICAidW5kZXJzY29yZSI6ICIxLjgu
MyIsCisgICAgICAgICJ3ZWJwYWNrLXNvdXJjZXMiOiAiMC4xLjUiCisgICAgICB9LAorICAgICAg
ImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAgIndlYnBhY2stc291cmNlcyI6IHsKKyAgICAgICAg
ICAidmVyc2lvbiI6ICIwLjEuNSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL3dlYnBhY2stc291cmNlcy8tL3dlYnBhY2stc291cmNlcy0wLjEuNS50
Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1xaDg2dnc4TmROdHhFY1FPVUF1RStX
WmtCMUE9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7
CisgICAgICAgICAgICAic291cmNlLWxpc3QtbWFwIjogIjAuMS44IiwKKyAgICAgICAgICAgICJz
b3VyY2UtbWFwIjogIjAuNS42IgorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorICAg
IH0sCisgICAgIm9yYSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMy4wIiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9vcmEvLS9vcmEtMS4zLjAudGd6IiwK
KyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1nQWVOMHJrcWswcjJhanJYS2x1UkJwVHQ1Um89IiwK
KyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiY2hhbGsi
OiAiMS4xLjMiLAorICAgICAgICAiY2xpLWN1cnNvciI6ICIyLjEuMCIsCisgICAgICAgICJjbGkt
c3Bpbm5lcnMiOiAiMS4wLjAiLAorICAgICAgICAibG9nLXN5bWJvbHMiOiAiMS4wLjIiCisgICAg
ICB9CisgICAgfSwKKyAgICAib3MtYnJvd3NlcmlmeSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAu
Mi4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9vcy1i
cm93c2VyaWZ5Ly0vb3MtYnJvd3NlcmlmeS0wLjIuMS50Z3oiLAorICAgICAgImludGVncml0eSI6
ICJzaGExLVkveE16dVhTMTNZOUpydjRZQkI0NXNMZ0JFOD0iLAorICAgICAgImRldiI6IHRydWUK
KyAgICB9LAorICAgICJvcy1ob21lZGlyIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjIiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL29zLWhvbWVkaXIv
LS9vcy1ob21lZGlyLTEuMC4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtLzd4SmlE
TnVEb005NE1Gb3grOFZJU0dxZjdNPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAg
Im9zLWxvY2FsZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuNC4wIiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9vcy1sb2NhbGUvLS9vcy1sb2NhbGUtMS40
LjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1JUG54ZXVLZTAwWG92ZVdEc1QwZ0NZ
QThGTms9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAg
ICAibGNpZCI6ICIxLjAuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJvcy10bXBkaXIiOiB7Cisg
ICAgICAidmVyc2lvbiI6ICIxLjAuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvb3MtdG1wZGlyLy0vb3MtdG1wZGlyLTEuMC4yLnRneiIsCisgICAgICAi
aW50ZWdyaXR5IjogInNoYTEtdStaMEJzZWFxRnhjL3NkbS9sYzBWVjM2RW5RPSIsCisgICAgICAi
ZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInBha28iOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjIu
OSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcGFrby8t
L3Bha28tMC4yLjkudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS04L2RTTDA3M2dqU05x
Qlliclo3UDFSdjRPblU9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAicGFyYW0t
Y2FzZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMS4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wYXJhbS1jYXNlLy0vcGFyYW0tY2FzZS0yLjEuMS50
Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLTM1VDlqUFpUSHM5MTVyNzVvSVdQdkhLK0lr
Yz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJu
by1jYXNlIjogIjIuMy4xIgorICAgICAgfQorICAgIH0sCisgICAgInBhcnNlLWFzbjEiOiB7Cisg
ICAgICAidmVyc2lvbiI6ICI1LjEuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvcGFyc2UtYXNuMS8tL3BhcnNlLWFzbjEtNS4xLjAudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1OOFQ1dCswNnRseDBnWHRmSklDVGY3K1h4eEk9IiwKKyAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYXNuMS5qcyI6ICI0
LjkuMSIsCisgICAgICAgICJicm93c2VyaWZ5LWFlcyI6ICIxLjAuNiIsCisgICAgICAgICJjcmVh
dGUtaGFzaCI6ICIxLjEuMyIsCisgICAgICAgICJldnBfYnl0ZXN0b2tleSI6ICIxLjAuMCIsCisg
ICAgICAgICJwYmtkZjIiOiAiMy4wLjEzIgorICAgICAgfQorICAgIH0sCisgICAgInBhcnNlLWds
b2IiOiB7CisgICAgICAidmVyc2lvbiI6ICIzLjAuNCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcGFyc2UtZ2xvYi8tL3BhcnNlLWdsb2ItMy4wLjQudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1zc04yejdFZk5WRTdyZEZ6N3d1MjQ2T0lPUnc9
IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiZ2xv
Yi1iYXNlIjogIjAuMy4wIiwKKyAgICAgICAgImlzLWRvdGZpbGUiOiAiMS4wLjMiLAorICAgICAg
ICAiaXMtZXh0Z2xvYiI6ICIxLjAuMCIsCisgICAgICAgICJpcy1nbG9iIjogIjIuMC4xIgorICAg
ICAgfSwKKyAgICAgICJkZXBlbmRlbmNpZXMiOiB7CisgICAgICAgICJpcy1leHRnbG9iIjogewor
ICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtZXh0Z2xvYi8tL2lzLWV4dGdsb2ItMS4wLjAudGd6
IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtckVhQmQ4U1VOQVdna3Z5UEtYWU1iL3hp
QnNBPSIsCisgICAgICAgICAgImRldiI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImlzLWds
b2IiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMi4wLjEiLAorICAgICAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1nbG9iLy0vaXMtZ2xvYi0yLjAuMS50
Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0wSmI1SnFQZTFXQVBQOS9aRVpqTENJ
akMyR009IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7
CisgICAgICAgICAgICAiaXMtZXh0Z2xvYiI6ICIxLjAuMCIKKyAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICAgIH0KKyAgICB9LAorICAgICJwYXJzZS1qc29uIjogeworICAgICAgInZlcnNpb24i
OiAiMi4yLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L3BhcnNlLWpzb24vLS9wYXJzZS1qc29uLTIuMi4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtOUlEMEJEVHZnSFFmaEdrSm40M3FHUFZhVGNrPSIsCisgICAgICAiZGV2IjogdHJ1ZSwK
KyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImVycm9yLWV4IjogIjEuMy4xIgorICAgICAg
fQorICAgIH0sCisgICAgInBhcnNldXJsIjogeworICAgICAgInZlcnNpb24iOiAiMS4zLjEiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3BhcnNldXJsLy0v
cGFyc2V1cmwtMS4zLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS15S3VNa2lPNk5J
aUtwa29wZXlpRk8rd1kybFk9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAicGF0
aC1icm93c2VyaWZ5IjogeworICAgICAgInZlcnNpb24iOiAiMC4wLjAiLAorICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3BhdGgtYnJvd3NlcmlmeS8tL3BhdGgt
YnJvd3NlcmlmeS0wLjAuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLW9MaHdjcHF1
SVVBRnQ5VURMc0xMdXcrMFJSbz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJw
YXRoLWV4aXN0cyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMS4wIiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wYXRoLWV4aXN0cy8tL3BhdGgtZXhpc3Rz
LTIuMS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtRCt0c1pQRDhVWTJhZFUzVjc3
WXNjQ0oySDBzPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAg
ICAgICAgInBpbmtpZS1wcm9taXNlIjogIjIuMC4xIgorICAgICAgfQorICAgIH0sCisgICAgInBh
dGgtaXMtYWJzb2x1dGUiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMSIsCisgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcGF0aC1pcy1hYnNvbHV0ZS8tL3Bh
dGgtaXMtYWJzb2x1dGUtMS4wLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1GMHVT
YUhOVk5QKzhlczVyOVRwYW5odGNYMTg9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAg
ICAicGF0aC1wYXJzZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC41IiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wYXRoLXBhcnNlLy0vcGF0aC1wYXJz
ZS0xLjAuNS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLVBCcmZoeDZweld5VU1iYnFL
OWRLRC9CVnhNRT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJwYXRoLXRvLXJl
Z2V4cCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMS43IiwKKyAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wYXRoLXRvLXJlZ2V4cC8tL3BhdGgtdG8tcmVnZXhw
LTAuMS43LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtMzJCQmVBQmZVaThWNjBTUTV5
UjZHL3FtZjR3PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInBhdGgtdHlwZSI6
IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wYXRoLXR5cGUvLS9wYXRoLXR5cGUtMS4xLjAudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1XY1JQZnVTUjJuQk5wQlhhV2tCd3VrK1A1RUU9IiwKKyAg
ICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiZ3JhY2VmdWwt
ZnMiOiAiNC4xLjExIiwKKyAgICAgICAgInBpZnkiOiAiMi4zLjAiLAorICAgICAgICAicGlua2ll
LXByb21pc2UiOiAiMi4wLjEiCisgICAgICB9CisgICAgfSwKKyAgICAicGJrZGYyIjogeworICAg
ICAgInZlcnNpb24iOiAiMy4wLjEzIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9wYmtkZjIvLS9wYmtkZjItMy4wLjEzLnRneiIsCisgICAgICAiaW50ZWdy
aXR5IjogInNoYTUxMi0rZENIeERIK2RqTnRqZ1dtdlZDL215M1NZQkFLcEtOcUtTakxrcCtHdFdX
WWU0WFBFK2UvUFNEMmFDYW5sRVpabnFQazJ1ZWtUS05DL2NjYndkMlgyUT09IiwKKyAgICAgICJk
ZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiY3JlYXRlLWhhc2giOiAi
MS4xLjMiLAorICAgICAgICAiY3JlYXRlLWhtYWMiOiAiMS4xLjYiLAorICAgICAgICAicmlwZW1k
MTYwIjogIjIuMC4xIiwKKyAgICAgICAgInNhZmUtYnVmZmVyIjogIjUuMS4xIiwKKyAgICAgICAg
InNoYS5qcyI6ICIyLjQuOCIKKyAgICAgIH0KKyAgICB9LAorICAgICJwaWZ5IjogeworICAgICAg
InZlcnNpb24iOiAiMi4zLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL3BpZnkvLS9waWZ5LTIuMy4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNo
YTEtN1JRYWFzQkRxRW5xV0lTWTU5eW9zVk13NlF3PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAg
IH0sCisgICAgInBpbmtpZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMC40IiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9waW5raWUvLS9waW5raWUtMi4w
LjQudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1jbFZyZ00rZzFJcVhUb0RuY2tqb0R0
VDMrSEE9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAicGlua2llLXByb21pc2Ui
OiB7CisgICAgICAidmVyc2lvbiI6ICIyLjAuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcGlua2llLXByb21pc2UvLS9waW5raWUtcHJvbWlzZS0yLjAu
MS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUlUWFczNmVqV01CcHJKc1hoM1lvZ2lo
RkQvbz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAg
ICJwaW5raWUiOiAiMi4wLjQiCisgICAgICB9CisgICAgfSwKKyAgICAicGtnLWRpciI6IHsKKyAg
ICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9wa2ctZGlyLy0vcGtnLWRpci0xLjAuMC50Z3oiLAorICAgICAgImludGVn
cml0eSI6ICJzaGExLWVrdFFpbzFic3RZcDFFY0ZiL1RweVRGTTg5UT0iLAorICAgICAgImRldiI6
IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJmaW5kLXVwIjogIjEuMS4yIgor
ICAgICAgfQorICAgIH0sCisgICAgInBvc3Rjc3MiOiB7CisgICAgICAidmVyc2lvbiI6ICI1LjIu
MTciLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Bvc3Rj
c3MvLS9wb3N0Y3NzLTUuMi4xNy50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXowOVpl
NFpOWmNpa2tyTHF2cDF3YkllY09Jcz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVx
dWlyZXMiOiB7CisgICAgICAgICJjaGFsayI6ICIxLjEuMyIsCisgICAgICAgICJqcy1iYXNlNjQi
OiAiMi4xLjkiLAorICAgICAgICAic291cmNlLW1hcCI6ICIwLjUuNiIsCisgICAgICAgICJzdXBw
b3J0cy1jb2xvciI6ICIzLjIuMyIKKyAgICAgIH0KKyAgICB9LAorICAgICJwb3N0Y3NzLWNhbGMi
OiB7CisgICAgICAidmVyc2lvbiI6ICI1LjMuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcG9zdGNzcy1jYWxjLy0vcG9zdGNzcy1jYWxjLTUuMy4xLnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtZDdybnlwS0syRmNXNHYya0x5WWI5OEhXVzE0
PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgInBv
c3Rjc3MiOiAiNS4yLjE3IiwKKyAgICAgICAgInBvc3Rjc3MtbWVzc2FnZS1oZWxwZXJzIjogIjIu
MC4wIiwKKyAgICAgICAgInJlZHVjZS1jc3MtY2FsYyI6ICIxLjMuMCIKKyAgICAgIH0KKyAgICB9
LAorICAgICJwb3N0Y3NzLWNvbG9ybWluIjogeworICAgICAgInZlcnNpb24iOiAiMi4yLjIiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Bvc3Rjc3MtY29s
b3JtaW4vLS9wb3N0Y3NzLWNvbG9ybWluLTIuMi4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtWmpGQmZWOE9rSm85ZnNKckpNaW8wZVQ1YmtzPSIsCisgICAgICAiZGV2IjogdHJ1ZSwK
KyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImNvbG9ybWluIjogIjEuMS4yIiwKKyAgICAg
ICAgInBvc3Rjc3MiOiAiNS4yLjE3IiwKKyAgICAgICAgInBvc3Rjc3MtdmFsdWUtcGFyc2VyIjog
IjMuMy4wIgorICAgICAgfQorICAgIH0sCisgICAgInBvc3Rjc3MtY29udmVydC12YWx1ZXMiOiB7
CisgICAgICAidmVyc2lvbiI6ICIyLjYuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvcG9zdGNzcy1jb252ZXJ0LXZhbHVlcy8tL3Bvc3Rjc3MtY29udmVy
dC12YWx1ZXMtMi42LjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS11OWhaUEZ3ZjB1
UFJ3eUs3a2wzSzZOcmsxaTA9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVz
IjogeworICAgICAgICAicG9zdGNzcyI6ICI1LjIuMTciLAorICAgICAgICAicG9zdGNzcy12YWx1
ZS1wYXJzZXIiOiAiMy4zLjAiCisgICAgICB9CisgICAgfSwKKyAgICAicG9zdGNzcy1kaXNjYXJk
LWNvbW1lbnRzIjogeworICAgICAgInZlcnNpb24iOiAiMi4wLjQiLAorICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Bvc3Rjc3MtZGlzY2FyZC1jb21tZW50cy8t
L3Bvc3Rjc3MtZGlzY2FyZC1jb21tZW50cy0yLjAuNC50Z3oiLAorICAgICAgImludGVncml0eSI6
ICJzaGExLXZ2NkordjFiUGF6bHpNNVJ0MnVCVVV2Z0RqMD0iLAorICAgICAgImRldiI6IHRydWUs
CisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJwb3N0Y3NzIjogIjUuMi4xNyIKKyAgICAg
IH0KKyAgICB9LAorICAgICJwb3N0Y3NzLWRpc2NhcmQtZHVwbGljYXRlcyI6IHsKKyAgICAgICJ2
ZXJzaW9uIjogIjIuMS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9wb3N0Y3NzLWRpc2NhcmQtZHVwbGljYXRlcy8tL3Bvc3Rjc3MtZGlzY2FyZC1kdXBs
aWNhdGVzLTIuMS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtdWF2eWU0aXNHSUZZ
cGVzU3E4cmlBbU81R1RJPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6
IHsKKyAgICAgICAgInBvc3Rjc3MiOiAiNS4yLjE3IgorICAgICAgfQorICAgIH0sCisgICAgInBv
c3Rjc3MtZGlzY2FyZC1lbXB0eSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMS4wIiwKKyAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wb3N0Y3NzLWRpc2NhcmQt
ZW1wdHkvLS9wb3N0Y3NzLWRpc2NhcmQtZW1wdHktMi4xLjAudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS0wclM5blZ6dFhyMk55dDUyUU1mWHpYOVBrclU9IiwKKyAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAicG9zdGNzcyI6ICI1LjIuMTciCisg
ICAgICB9CisgICAgfSwKKyAgICAicG9zdGNzcy1kaXNjYXJkLW92ZXJyaWRkZW4iOiB7CisgICAg
ICAidmVyc2lvbiI6ICIwLjEuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvcG9zdGNzcy1kaXNjYXJkLW92ZXJyaWRkZW4vLS9wb3N0Y3NzLWRpc2NhcmQt
b3ZlcnJpZGRlbi0wLjEuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWl4NnZWVTlv
YjdLSXpZZE1WV1o3Q3FObWpWZz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWly
ZXMiOiB7CisgICAgICAgICJwb3N0Y3NzIjogIjUuMi4xNyIKKyAgICAgIH0KKyAgICB9LAorICAg
ICJwb3N0Y3NzLWRpc2NhcmQtdW51c2VkIjogeworICAgICAgInZlcnNpb24iOiAiMi4yLjMiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Bvc3Rjc3MtZGlz
Y2FyZC11bnVzZWQvLS9wb3N0Y3NzLWRpc2NhcmQtdW51c2VkLTIuMi4zLnRneiIsCisgICAgICAi
aW50ZWdyaXR5IjogInNoYTEtdk9NTExNV1IvOFkwTWl0ZnMwWkxiWk5QUkRNPSIsCisgICAgICAi
ZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgInBvc3Rjc3MiOiAiNS4y
LjE3IiwKKyAgICAgICAgInVuaXFzIjogIjIuMC4wIgorICAgICAgfQorICAgIH0sCisgICAgInBv
c3Rjc3MtZmlsdGVyLXBsdWdpbnMiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjAuMiIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcG9zdGNzcy1maWx0ZXIt
cGx1Z2lucy8tL3Bvc3Rjc3MtZmlsdGVyLXBsdWdpbnMtMi4wLjIudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1iWVdHSlRUWE5heENEa3FGZ0c0ZlhVS0cyRXc9IiwKKyAgICAgICJkZXYi
OiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAicG9zdGNzcyI6ICI1LjIuMTci
LAorICAgICAgICAidW5pcWlkIjogIjQuMS4xIgorICAgICAgfQorICAgIH0sCisgICAgInBvc3Rj
c3MtbG9hZC1jb25maWciOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjIuMCIsCisgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcG9zdGNzcy1sb2FkLWNvbmZpZy8t
L3Bvc3Rjc3MtbG9hZC1jb25maWctMS4yLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1VNTZhL0ozY2hpQVNIcitkakRaejRNNVEwb289IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAg
ICAgInJlcXVpcmVzIjogeworICAgICAgICAiY29zbWljb25maWciOiAiMi4yLjIiLAorICAgICAg
ICAib2JqZWN0LWFzc2lnbiI6ICI0LjEuMSIsCisgICAgICAgICJwb3N0Y3NzLWxvYWQtb3B0aW9u
cyI6ICIxLjIuMCIsCisgICAgICAgICJwb3N0Y3NzLWxvYWQtcGx1Z2lucyI6ICIyLjMuMCIKKyAg
ICAgIH0KKyAgICB9LAorICAgICJwb3N0Y3NzLWxvYWQtb3B0aW9ucyI6IHsKKyAgICAgICJ2ZXJz
aW9uIjogIjEuMi4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9wb3N0Y3NzLWxvYWQtb3B0aW9ucy8tL3Bvc3Rjc3MtbG9hZC1vcHRpb25zLTEuMi4wLnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtc0ppeFZaM2F3dDhFdkF1emRmbWFYUDRyYll3
PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImNv
c21pY29uZmlnIjogIjIuMi4yIiwKKyAgICAgICAgIm9iamVjdC1hc3NpZ24iOiAiNC4xLjEiCisg
ICAgICB9CisgICAgfSwKKyAgICAicG9zdGNzcy1sb2FkLXBsdWdpbnMiOiB7CisgICAgICAidmVy
c2lvbiI6ICIyLjMuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvcG9zdGNzcy1sb2FkLXBsdWdpbnMvLS9wb3N0Y3NzLWxvYWQtcGx1Z2lucy0yLjMuMC50
Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWRGZG9FV1dacktMd0NmclVKckFCZFFTZGpa
ST0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJj
b3NtaWNvbmZpZyI6ICIyLjIuMiIsCisgICAgICAgICJvYmplY3QtYXNzaWduIjogIjQuMS4xIgor
ICAgICAgfQorICAgIH0sCisgICAgInBvc3Rjc3MtbWVyZ2UtaWRlbnRzIjogeworICAgICAgInZl
cnNpb24iOiAiMi4xLjciLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL3Bvc3Rjc3MtbWVyZ2UtaWRlbnRzLy0vcG9zdGNzcy1tZXJnZS1pZGVudHMtMi4xLjcu
dGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1URlV3TVR3STRkV3p1L1BTdThkSDRuanVv
bkE9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAi
aGFzIjogIjEuMC4xIiwKKyAgICAgICAgInBvc3Rjc3MiOiAiNS4yLjE3IiwKKyAgICAgICAgInBv
c3Rjc3MtdmFsdWUtcGFyc2VyIjogIjMuMy4wIgorICAgICAgfQorICAgIH0sCisgICAgInBvc3Rj
c3MtbWVyZ2UtbG9uZ2hhbmQiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjAuMiIsCisgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcG9zdGNzcy1tZXJnZS1sb25n
aGFuZC8tL3Bvc3Rjc3MtbWVyZ2UtbG9uZ2hhbmQtMi4wLjIudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1JOWtNMFNld3AzbVVrVk15YzVBMG9hVHoxbGc9IiwKKyAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAicG9zdGNzcyI6ICI1LjIuMTciCisg
ICAgICB9CisgICAgfSwKKyAgICAicG9zdGNzcy1tZXJnZS1ydWxlcyI6IHsKKyAgICAgICJ2ZXJz
aW9uIjogIjIuMS4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9wb3N0Y3NzLW1lcmdlLXJ1bGVzLy0vcG9zdGNzcy1tZXJnZS1ydWxlcy0yLjEuMi50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLTBkOWQrcWV4ck1PK1ZUOE9uaERvZkdHMTl5RT0i
LAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJicm93
c2Vyc2xpc3QiOiAiMS43LjciLAorICAgICAgICAiY2FuaXVzZS1hcGkiOiAiMS42LjEiLAorICAg
ICAgICAicG9zdGNzcyI6ICI1LjIuMTciLAorICAgICAgICAicG9zdGNzcy1zZWxlY3Rvci1wYXJz
ZXIiOiAiMi4yLjMiLAorICAgICAgICAidmVuZG9ycyI6ICIxLjAuMSIKKyAgICAgIH0KKyAgICB9
LAorICAgICJwb3N0Y3NzLW1lc3NhZ2UtaGVscGVycyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIu
MC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wb3N0
Y3NzLW1lc3NhZ2UtaGVscGVycy8tL3Bvc3Rjc3MtbWVzc2FnZS1oZWxwZXJzLTIuMC4wLnRneiIs
CisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtcFBMMCtyYmsvZ0F2Q3UwQUJIak45UyticGc0PSIs
CisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInBvc3Rjc3MtbWluaWZ5LWZvbnQtdmFs
dWVzIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjUiLAorICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Bvc3Rjc3MtbWluaWZ5LWZvbnQtdmFsdWVzLy0vcG9z
dGNzcy1taW5pZnktZm9udC12YWx1ZXMtMS4wLjUudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1TMWp0dFdaQjY2ZklSMHF6VW15djE3dmV5Mms9IiwKKyAgICAgICJkZXYiOiB0cnVlLAor
ICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAib2JqZWN0LWFzc2lnbiI6ICI0LjEuMSIsCisg
ICAgICAgICJwb3N0Y3NzIjogIjUuMi4xNyIsCisgICAgICAgICJwb3N0Y3NzLXZhbHVlLXBhcnNl
ciI6ICIzLjMuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJwb3N0Y3NzLW1pbmlmeS1ncmFkaWVu
dHMiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuNSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcG9zdGNzcy1taW5pZnktZ3JhZGllbnRzLy0vcG9zdGNz
cy1taW5pZnktZ3JhZGllbnRzLTEuMC41LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
WGIyaEUzTndQNFBQdEtQcU9JSFkxMS8xNXVFPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAg
ICJyZXF1aXJlcyI6IHsKKyAgICAgICAgInBvc3Rjc3MiOiAiNS4yLjE3IiwKKyAgICAgICAgInBv
c3Rjc3MtdmFsdWUtcGFyc2VyIjogIjMuMy4wIgorICAgICAgfQorICAgIH0sCisgICAgInBvc3Rj
c3MtbWluaWZ5LXBhcmFtcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMi4yIiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wb3N0Y3NzLW1pbmlmeS1wYXJh
bXMvLS9wb3N0Y3NzLW1pbmlmeS1wYXJhbXMtMS4yLjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1yU3pnY1RjN2xEczlrd28vcFpvMWpDalc4Zk09IiwKKyAgICAgICJkZXYiOiB0cnVl
LAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYWxwaGFudW0tc29ydCI6ICIxLjAuMiIs
CisgICAgICAgICJwb3N0Y3NzIjogIjUuMi4xNyIsCisgICAgICAgICJwb3N0Y3NzLXZhbHVlLXBh
cnNlciI6ICIzLjMuMCIsCisgICAgICAgICJ1bmlxcyI6ICIyLjAuMCIKKyAgICAgIH0KKyAgICB9
LAorICAgICJwb3N0Y3NzLW1pbmlmeS1zZWxlY3RvcnMiOiB7CisgICAgICAidmVyc2lvbiI6ICIy
LjEuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcG9z
dGNzcy1taW5pZnktc2VsZWN0b3JzLy0vcG9zdGNzcy1taW5pZnktc2VsZWN0b3JzLTIuMS4xLnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtc3NhcGpBQnl6NUc1TXRHa2xsQ0JGREVYTmI4
PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImFs
cGhhbnVtLXNvcnQiOiAiMS4wLjIiLAorICAgICAgICAiaGFzIjogIjEuMC4xIiwKKyAgICAgICAg
InBvc3Rjc3MiOiAiNS4yLjE3IiwKKyAgICAgICAgInBvc3Rjc3Mtc2VsZWN0b3ItcGFyc2VyIjog
IjIuMi4zIgorICAgICAgfQorICAgIH0sCisgICAgInBvc3Rjc3MtbW9kdWxlcy1leHRyYWN0LWlt
cG9ydHMiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjEuMCIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcG9zdGNzcy1tb2R1bGVzLWV4dHJhY3QtaW1wb3J0
cy8tL3Bvc3Rjc3MtbW9kdWxlcy1leHRyYWN0LWltcG9ydHMtMS4xLjAudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS10aFRKY2d2bWdXNnU0MSt6cGZxaDI2YWdYZHM9IiwKKyAgICAgICJk
ZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAicG9zdGNzcyI6ICI2LjAu
OSIKKyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAgICAiYW5zaS1zdHls
ZXMiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMy4yLjAiLAorICAgICAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9hbnNpLXN0eWxlcy8tL2Fuc2ktc3R5bGVz
LTMuMi4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGE1MTItTm5TT21NRVl0VlIy
SlZNSUdUenluUmtrYXh0aXExeG5GQmNkUUQvRG5OQ1lQb0VQc1ZKaE05OEJEeWFvTk9RSWk3cDRv
a2RpM0UyN2VON0dRYnNVdWc9PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAg
InJlcXVpcmVzIjogeworICAgICAgICAgICAgImNvbG9yLWNvbnZlcnQiOiAiMS45LjAiCisgICAg
ICAgICAgfQorICAgICAgICB9LAorICAgICAgICAiY2hhbGsiOiB7CisgICAgICAgICAgInZlcnNp
b24iOiAiMi4xLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9jaGFsay8tL2NoYWxrLTIuMS4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6
ICJzaGE1MTItTFVIR1MvZGdlNHVqYlhNSnJuaWhZTWNMNEFvT3dlR253OVRwM2tRdXF5MUt4NWMx
cUtqcXZNSlo2blZKUE1XSnRLQ1RONzJab2dIM29lU085ZzlyWFE9PSIsCisgICAgICAgICAgImRl
diI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImFuc2ktc3R5
bGVzIjogIjMuMi4wIiwKKyAgICAgICAgICAgICJlc2NhcGUtc3RyaW5nLXJlZ2V4cCI6ICIxLjAu
NSIsCisgICAgICAgICAgICAic3VwcG9ydHMtY29sb3IiOiAiNC4yLjEiCisgICAgICAgICAgfQor
ICAgICAgICB9LAorICAgICAgICAiaGFzLWZsYWciOiB7CisgICAgICAgICAgInZlcnNpb24iOiAi
Mi4wLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9oYXMtZmxhZy8tL2hhcy1mbGFnLTIuMC4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6
ICJzaGExLTZDQjY4Y3g3TU5SR3pIQzNOTFhvdmhqNGpWRT0iLAorICAgICAgICAgICJkZXYiOiB0
cnVlCisgICAgICAgIH0sCisgICAgICAgICJwb3N0Y3NzIjogeworICAgICAgICAgICJ2ZXJzaW9u
IjogIjYuMC45IiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvcG9zdGNzcy8tL3Bvc3Rjc3MtNi4wLjkudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5
IjogInNoYTUxMi1iQkUyQUhORUJoRjIzVGZFVDZBQS9sRlA4YWgrcUhPWm9GSkVmbEZHK0hndlZM
ZFRtTU9yb2N4LzRMVlZESW4zdzZqVXNzdzFxMkV4azFjYzlVT0k4dz09IiwKKyAgICAgICAgICAi
ZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiY2hhbGsi
OiAiMi4xLjAiLAorICAgICAgICAgICAgInNvdXJjZS1tYXAiOiAiMC41LjYiLAorICAgICAgICAg
ICAgInN1cHBvcnRzLWNvbG9yIjogIjQuMi4xIgorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAg
ICAgICAgInN1cHBvcnRzLWNvbG9yIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjQuMi4xIiwK
KyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc3VwcG9y
dHMtY29sb3IvLS9zdXBwb3J0cy1jb2xvci00LjIuMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhNTEyLXF4ellzb2IzeXY2VSt4TXpQcnYxNzB5OEF3R1A3aTc0ZytwYml4Q2ZENnJn
c284QnNjTFQycVhJdXo2VHBPYWlKWjNtRmdUNU85bHlUOW5NVTRMZmFBPT0iLAorICAgICAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJoYXMt
ZmxhZyI6ICIyLjAuMCIKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9LAor
ICAgICJwb3N0Y3NzLW1vZHVsZXMtbG9jYWwtYnktZGVmYXVsdCI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjEuMi4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9wb3N0Y3NzLW1vZHVsZXMtbG9jYWwtYnktZGVmYXVsdC8tL3Bvc3Rjc3MtbW9kdWxlcy1sb2Nh
bC1ieS1kZWZhdWx0LTEuMi4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtOTlnTU9Z
eGFPVCtubGtSbXZSbFFDbjFod0drPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1
aXJlcyI6IHsKKyAgICAgICAgImNzcy1zZWxlY3Rvci10b2tlbml6ZXIiOiAiMC43LjAiLAorICAg
ICAgICAicG9zdGNzcyI6ICI2LjAuOSIKKyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5jaWVzIjog
eworICAgICAgICAiYW5zaS1zdHlsZXMiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMy4yLjAi
LAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9hbnNp
LXN0eWxlcy8tL2Fuc2ktc3R5bGVzLTMuMi4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6
ICJzaGE1MTItTm5TT21NRVl0VlIySlZNSUdUenluUmtrYXh0aXExeG5GQmNkUUQvRG5OQ1lQb0VQ
c1ZKaE05OEJEeWFvTk9RSWk3cDRva2RpM0UyN2VON0dRYnNVdWc9PSIsCisgICAgICAgICAgImRl
diI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImNvbG9yLWNv
bnZlcnQiOiAiMS45LjAiCisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAiY2hhbGsi
OiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMi4xLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jaGFsay8tL2NoYWxrLTIuMS4wLnRneiIsCisg
ICAgICAgICAgImludGVncml0eSI6ICJzaGE1MTItTFVIR1MvZGdlNHVqYlhNSnJuaWhZTWNMNEFv
T3dlR253OVRwM2tRdXF5MUt4NWMxcUtqcXZNSlo2blZKUE1XSnRLQ1RONzJab2dIM29lU085Zzly
WFE9PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogewor
ICAgICAgICAgICAgImFuc2ktc3R5bGVzIjogIjMuMi4wIiwKKyAgICAgICAgICAgICJlc2NhcGUt
c3RyaW5nLXJlZ2V4cCI6ICIxLjAuNSIsCisgICAgICAgICAgICAic3VwcG9ydHMtY29sb3IiOiAi
NC4yLjEiCisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAiaGFzLWZsYWciOiB7Cisg
ICAgICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9oYXMtZmxhZy8tL2hhcy1mbGFnLTIuMC4wLnRneiIsCisg
ICAgICAgICAgImludGVncml0eSI6ICJzaGExLTZDQjY4Y3g3TU5SR3pIQzNOTFhvdmhqNGpWRT0i
LAorICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJwb3N0Y3NzIjog
eworICAgICAgICAgICJ2ZXJzaW9uIjogIjYuMC45IiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcG9zdGNzcy8tL3Bvc3Rjc3MtNi4wLjkudGd6IiwK
KyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1iQkUyQUhORUJoRjIzVGZFVDZBQS9sRlA4
YWgrcUhPWm9GSkVmbEZHK0hndlZMZFRtTU9yb2N4LzRMVlZESW4zdzZqVXNzdzFxMkV4azFjYzlV
T0k4dz09IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7
CisgICAgICAgICAgICAiY2hhbGsiOiAiMi4xLjAiLAorICAgICAgICAgICAgInNvdXJjZS1tYXAi
OiAiMC41LjYiLAorICAgICAgICAgICAgInN1cHBvcnRzLWNvbG9yIjogIjQuMi4xIgorICAgICAg
ICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgInN1cHBvcnRzLWNvbG9yIjogeworICAgICAgICAg
ICJ2ZXJzaW9uIjogIjQuMi4xIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvc3VwcG9ydHMtY29sb3IvLS9zdXBwb3J0cy1jb2xvci00LjIuMS50Z3oi
LAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLXF4ellzb2IzeXY2VSt4TXpQcnYxNzB5
OEF3R1A3aTc0ZytwYml4Q2ZENnJnc284QnNjTFQycVhJdXo2VHBPYWlKWjNtRmdUNU85bHlUOW5N
VTRMZmFBPT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6
IHsKKyAgICAgICAgICAgICJoYXMtZmxhZyI6ICIyLjAuMCIKKyAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICAgIH0KKyAgICB9LAorICAgICJwb3N0Y3NzLW1vZHVsZXMtc2NvcGUiOiB7CisgICAg
ICAidmVyc2lvbiI6ICIxLjEuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvcG9zdGNzcy1tb2R1bGVzLXNjb3BlLy0vcG9zdGNzcy1tb2R1bGVzLXNjb3Bl
LTEuMS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtMXVwa21VeDUrWHRpcHl0Q2I3
NWdWcUdVdTVBPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAg
ICAgICAgImNzcy1zZWxlY3Rvci10b2tlbml6ZXIiOiAiMC43LjAiLAorICAgICAgICAicG9zdGNz
cyI6ICI2LjAuOSIKKyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAgICAi
YW5zaS1zdHlsZXMiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMy4yLjAiLAorICAgICAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9hbnNpLXN0eWxlcy8tL2Fu
c2ktc3R5bGVzLTMuMi4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGE1MTItTm5T
T21NRVl0VlIySlZNSUdUenluUmtrYXh0aXExeG5GQmNkUUQvRG5OQ1lQb0VQc1ZKaE05OEJEeWFv
Tk9RSWk3cDRva2RpM0UyN2VON0dRYnNVdWc9PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisg
ICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImNvbG9yLWNvbnZlcnQiOiAiMS45
LjAiCisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAiY2hhbGsiOiB7CisgICAgICAg
ICAgInZlcnNpb24iOiAiMi4xLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9jaGFsay8tL2NoYWxrLTIuMS4wLnRneiIsCisgICAgICAgICAgImlu
dGVncml0eSI6ICJzaGE1MTItTFVIR1MvZGdlNHVqYlhNSnJuaWhZTWNMNEFvT3dlR253OVRwM2tR
dXF5MUt4NWMxcUtqcXZNSlo2blZKUE1XSnRLQ1RONzJab2dIM29lU085ZzlyWFE9PSIsCisgICAg
ICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAg
ImFuc2ktc3R5bGVzIjogIjMuMi4wIiwKKyAgICAgICAgICAgICJlc2NhcGUtc3RyaW5nLXJlZ2V4
cCI6ICIxLjAuNSIsCisgICAgICAgICAgICAic3VwcG9ydHMtY29sb3IiOiAiNC4yLjEiCisgICAg
ICAgICAgfQorICAgICAgICB9LAorICAgICAgICAiaGFzLWZsYWciOiB7CisgICAgICAgICAgInZl
cnNpb24iOiAiMi4wLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy9oYXMtZmxhZy8tL2hhcy1mbGFnLTIuMC4wLnRneiIsCisgICAgICAgICAgImlu
dGVncml0eSI6ICJzaGExLTZDQjY4Y3g3TU5SR3pIQzNOTFhvdmhqNGpWRT0iLAorICAgICAgICAg
ICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJwb3N0Y3NzIjogeworICAgICAgICAg
ICJ2ZXJzaW9uIjogIjYuMC45IiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvcG9zdGNzcy8tL3Bvc3Rjc3MtNi4wLjkudGd6IiwKKyAgICAgICAgICAi
aW50ZWdyaXR5IjogInNoYTUxMi1iQkUyQUhORUJoRjIzVGZFVDZBQS9sRlA4YWgrcUhPWm9GSkVm
bEZHK0hndlZMZFRtTU9yb2N4LzRMVlZESW4zdzZqVXNzdzFxMkV4azFjYzlVT0k4dz09IiwKKyAg
ICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAg
ICAiY2hhbGsiOiAiMi4xLjAiLAorICAgICAgICAgICAgInNvdXJjZS1tYXAiOiAiMC41LjYiLAor
ICAgICAgICAgICAgInN1cHBvcnRzLWNvbG9yIjogIjQuMi4xIgorICAgICAgICAgIH0KKyAgICAg
ICAgfSwKKyAgICAgICAgInN1cHBvcnRzLWNvbG9yIjogeworICAgICAgICAgICJ2ZXJzaW9uIjog
IjQuMi4xIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvc3VwcG9ydHMtY29sb3IvLS9zdXBwb3J0cy1jb2xvci00LjIuMS50Z3oiLAorICAgICAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhNTEyLXF4ellzb2IzeXY2VSt4TXpQcnYxNzB5OEF3R1A3aTc0Zytw
Yml4Q2ZENnJnc284QnNjTFQycVhJdXo2VHBPYWlKWjNtRmdUNU85bHlUOW5NVTRMZmFBPT0iLAor
ICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAg
ICAgICJoYXMtZmxhZyI6ICIyLjAuMCIKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0K
KyAgICB9LAorICAgICJwb3N0Y3NzLW1vZHVsZXMtdmFsdWVzIjogeworICAgICAgInZlcnNpb24i
OiAiMS4zLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L3Bvc3Rjc3MtbW9kdWxlcy12YWx1ZXMvLS9wb3N0Y3NzLW1vZHVsZXMtdmFsdWVzLTEuMy4wLnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtN1ArcDErR1NVWU9KOUNyUTZEOXlyc1JXNmlB
PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImlj
c3MtcmVwbGFjZS1zeW1ib2xzIjogIjEuMS4wIiwKKyAgICAgICAgInBvc3Rjc3MiOiAiNi4wLjki
CisgICAgICB9LAorICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAgImFuc2ktc3R5bGVz
IjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjMuMi4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYW5zaS1zdHlsZXMvLS9hbnNpLXN0eWxlcy0z
LjIuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLU5uU09tTUVZdFZSMkpW
TUlHVHp5blJra2F4dGlxMXhuRkJjZFFEL0RuTkNZUG9FUHNWSmhNOThCRHlhb05PUUlpN3A0b2tk
aTNFMjdlTjdHUWJzVXVnPT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJy
ZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJjb2xvci1jb252ZXJ0IjogIjEuOS4wIgorICAgICAg
ICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgImNoYWxrIjogeworICAgICAgICAgICJ2ZXJzaW9u
IjogIjIuMS4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvY2hhbGsvLS9jaGFsay0yLjEuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhNTEyLUxVSEdTL2RnZTR1amJYTUpybmloWU1jTDRBb093ZUdudzlUcDNrUXVxeTFLeDVjMXFL
anF2TUpaNm5WSlBNV0p0S0NUTjcyWm9nSDNvZVNPOWc5clhRPT0iLAorICAgICAgICAgICJkZXYi
OiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJhbnNpLXN0eWxl
cyI6ICIzLjIuMCIsCisgICAgICAgICAgICAiZXNjYXBlLXN0cmluZy1yZWdleHAiOiAiMS4wLjUi
LAorICAgICAgICAgICAgInN1cHBvcnRzLWNvbG9yIjogIjQuMi4xIgorICAgICAgICAgIH0KKyAg
ICAgICAgfSwKKyAgICAgICAgImhhcy1mbGFnIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjIu
MC4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
aGFzLWZsYWcvLS9oYXMtZmxhZy0yLjAuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS02Q0I2OGN4N01OUkd6SEMzTkxYb3ZoajRqVkU9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1
ZQorICAgICAgICB9LAorICAgICAgICAicG9zdGNzcyI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6
ICI2LjAuOSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL3Bvc3Rjc3MvLS9wb3N0Y3NzLTYuMC45LnRneiIsCisgICAgICAgICAgImludGVncml0eSI6
ICJzaGE1MTItYkJFMkFITkVCaEYyM1RmRVQ2QUEvbEZQOGFoK3FIT1pvRkpFZmxGRytIZ3ZWTGRU
bU1Pcm9jeC80TFZWREluM3c2alVzc3cxcTJFeGsxY2M5VU9JOHc9PSIsCisgICAgICAgICAgImRl
diI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImNoYWxrIjog
IjIuMS4wIiwKKyAgICAgICAgICAgICJzb3VyY2UtbWFwIjogIjAuNS42IiwKKyAgICAgICAgICAg
ICJzdXBwb3J0cy1jb2xvciI6ICI0LjIuMSIKKyAgICAgICAgICB9CisgICAgICAgIH0sCisgICAg
ICAgICJzdXBwb3J0cy1jb2xvciI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICI0LjIuMSIsCisg
ICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3N1cHBvcnRz
LWNvbG9yLy0vc3VwcG9ydHMtY29sb3ItNC4yLjEudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5
IjogInNoYTUxMi1xeHpZc29iM3l2NlUreE16UHJ2MTcweThBd0dQN2k3NGcrcGJpeENmRDZyZ3Nv
OEJzY0xUMnFYSXV6NlRwT2FpSlozbUZnVDVPOWx5VDluTVU0TGZhQT09IiwKKyAgICAgICAgICAi
ZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiaGFzLWZs
YWciOiAiMi4wLjAiCisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAg
ICAicG9zdGNzcy1ub3JtYWxpemUtY2hhcnNldCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMS4x
IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wb3N0Y3Nz
LW5vcm1hbGl6ZS1jaGFyc2V0Ly0vcG9zdGNzcy1ub3JtYWxpemUtY2hhcnNldC0xLjEuMS50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLTc1N25FaExYL25XY2VPMFdMMkh0WXJYTGsvRT0i
LAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJwb3N0
Y3NzIjogIjUuMi4xNyIKKyAgICAgIH0KKyAgICB9LAorICAgICJwb3N0Y3NzLW5vcm1hbGl6ZS11
cmwiOiB7CisgICAgICAidmVyc2lvbiI6ICIzLjAuOCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcG9zdGNzcy1ub3JtYWxpemUtdXJsLy0vcG9zdGNzcy1u
b3JtYWxpemUtdXJsLTMuMC44LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtRUk5MHMv
TDgydmlSb3YrajZrV1NKNS9IZ2lJPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1
aXJlcyI6IHsKKyAgICAgICAgImlzLWFic29sdXRlLXVybCI6ICIyLjEuMCIsCisgICAgICAgICJu
b3JtYWxpemUtdXJsIjogIjEuOS4xIiwKKyAgICAgICAgInBvc3Rjc3MiOiAiNS4yLjE3IiwKKyAg
ICAgICAgInBvc3Rjc3MtdmFsdWUtcGFyc2VyIjogIjMuMy4wIgorICAgICAgfQorICAgIH0sCisg
ICAgInBvc3Rjc3Mtb3JkZXJlZC12YWx1ZXMiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjIuMyIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcG9zdGNzcy1v
cmRlcmVkLXZhbHVlcy8tL3Bvc3Rjc3Mtb3JkZXJlZC12YWx1ZXMtMi4yLjMudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS03c2JDcG50c1FTcU5zZ1F1ZC82TnBEK1Z3UjA9IiwKKyAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAicG9zdGNzcyI6ICI1
LjIuMTciLAorICAgICAgICAicG9zdGNzcy12YWx1ZS1wYXJzZXIiOiAiMy4zLjAiCisgICAgICB9
CisgICAgfSwKKyAgICAicG9zdGNzcy1yZWR1Y2UtaWRlbnRzIjogeworICAgICAgInZlcnNpb24i
OiAiMi40LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L3Bvc3Rjc3MtcmVkdWNlLWlkZW50cy8tL3Bvc3Rjc3MtcmVkdWNlLWlkZW50cy0yLjQuMC50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLXdzYlNETWxZS0U5cXY3NWo5MkNiOUFrRm10TT0i
LAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJwb3N0
Y3NzIjogIjUuMi4xNyIsCisgICAgICAgICJwb3N0Y3NzLXZhbHVlLXBhcnNlciI6ICIzLjMuMCIK
KyAgICAgIH0KKyAgICB9LAorICAgICJwb3N0Y3NzLXJlZHVjZS1pbml0aWFsIjogeworICAgICAg
InZlcnNpb24iOiAiMS4wLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL3Bvc3Rjc3MtcmVkdWNlLWluaXRpYWwvLS9wb3N0Y3NzLXJlZHVjZS1pbml0aWFs
LTEuMC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtYVBnR2xmQkYwSUpqcUhtdEpB
MzQzV1QyUk9vPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAg
ICAgICAgInBvc3Rjc3MiOiAiNS4yLjE3IgorICAgICAgfQorICAgIH0sCisgICAgInBvc3Rjc3Mt
cmVkdWNlLXRyYW5zZm9ybXMiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuNCIsCisgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcG9zdGNzcy1yZWR1Y2UtdHJh
bnNmb3Jtcy8tL3Bvc3Rjc3MtcmVkdWNlLXRyYW5zZm9ybXMtMS4wLjQudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS0vM2IwMkNFa043TWNLWXBDMHVGRVFDVjNHdUU9IiwKKyAgICAgICJk
ZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiaGFzIjogIjEuMC4xIiwK
KyAgICAgICAgInBvc3Rjc3MiOiAiNS4yLjE3IiwKKyAgICAgICAgInBvc3Rjc3MtdmFsdWUtcGFy
c2VyIjogIjMuMy4wIgorICAgICAgfQorICAgIH0sCisgICAgInBvc3Rjc3Mtc2VsZWN0b3ItcGFy
c2VyIjogeworICAgICAgInZlcnNpb24iOiAiMi4yLjMiLAorICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Bvc3Rjc3Mtc2VsZWN0b3ItcGFyc2VyLy0vcG9zdGNz
cy1zZWxlY3Rvci1wYXJzZXItMi4yLjMudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0r
VU4zaUdCc1BKck80Vy8rallzV0tYOG51NUE9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
InJlcXVpcmVzIjogeworICAgICAgICAiZmxhdHRlbiI6ICIxLjAuMiIsCisgICAgICAgICJpbmRl
eGVzLW9mIjogIjEuMC4xIiwKKyAgICAgICAgInVuaXEiOiAiMS4wLjEiCisgICAgICB9CisgICAg
fSwKKyAgICAicG9zdGNzcy1zdmdvIjogeworICAgICAgInZlcnNpb24iOiAiMi4xLjYiLAorICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Bvc3Rjc3Mtc3Znby8t
L3Bvc3Rjc3Mtc3Znby0yLjEuNi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXR0OFlx
bUU3Wm00VFB3aXR0U0djSm9Tc0VJMD0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVx
dWlyZXMiOiB7CisgICAgICAgICJpcy1zdmciOiAiMi4xLjAiLAorICAgICAgICAicG9zdGNzcyI6
ICI1LjIuMTciLAorICAgICAgICAicG9zdGNzcy12YWx1ZS1wYXJzZXIiOiAiMy4zLjAiLAorICAg
ICAgICAic3ZnbyI6ICIwLjcuMiIKKyAgICAgIH0KKyAgICB9LAorICAgICJwb3N0Y3NzLXVuaXF1
ZS1zZWxlY3RvcnMiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjAuMiIsCisgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcG9zdGNzcy11bmlxdWUtc2VsZWN0b3Jz
Ly0vcG9zdGNzcy11bmlxdWUtc2VsZWN0b3JzLTIuMC4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtbUIxWDBwM2NzejU3SGY0ZjFEdUdTZmt6eWgwPSIsCisgICAgICAiZGV2IjogdHJ1
ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImFscGhhbnVtLXNvcnQiOiAiMS4wLjIi
LAorICAgICAgICAicG9zdGNzcyI6ICI1LjIuMTciLAorICAgICAgICAidW5pcXMiOiAiMi4wLjAi
CisgICAgICB9CisgICAgfSwKKyAgICAicG9zdGNzcy12YWx1ZS1wYXJzZXIiOiB7CisgICAgICAi
dmVyc2lvbiI6ICIzLjMuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvcG9zdGNzcy12YWx1ZS1wYXJzZXIvLS9wb3N0Y3NzLXZhbHVlLXBhcnNlci0zLjMu
MC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWgvT1BueGozZEtTclRJb2pMMXhjNklj
cW5SVT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJwb3N0Y3NzLXppbmRleCI6
IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMi4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wb3N0Y3NzLXppbmRleC8tL3Bvc3Rjc3MtemluZGV4LTIuMi4w
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtMGhDZDNBVmJrYTluL0V5enNDV1Vaam5T
cnlJPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAg
ImhhcyI6ICIxLjAuMSIsCisgICAgICAgICJwb3N0Y3NzIjogIjUuMi4xNyIsCisgICAgICAgICJ1
bmlxcyI6ICIyLjAuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJwcmVwZW5kLWh0dHAiOiB7Cisg
ICAgICAidmVyc2lvbiI6ICIxLjAuNCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvcHJlcGVuZC1odHRwLy0vcHJlcGVuZC1odHRwLTEuMC40LnRneiIsCisg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtMVBSV0t3emphVzVCckZMUTRBTGxlbU5keHR3PSIsCisg
ICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInByZXNlcnZlIjogeworICAgICAgInZlcnNp
b24iOiAiMC4yLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL3ByZXNlcnZlLy0vcHJlc2VydmUtMC4yLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1nVjdSOXV2R1dTYjRaYk1Rd0hFN3l6TVZ6a3M9IiwKKyAgICAgICJkZXYiOiB0cnVlCisg
ICAgfSwKKyAgICAicHJldHR5LWVycm9yIjogeworICAgICAgInZlcnNpb24iOiAiMi4xLjEiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3ByZXR0eS1lcnJv
ci8tL3ByZXR0eS1lcnJvci0yLjEuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLVgw
K0h5UGtlV3VQenVvZXJUUFhnT3hvWDhhTT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAi
cmVxdWlyZXMiOiB7CisgICAgICAgICJyZW5kZXJraWQiOiAiMi4wLjEiLAorICAgICAgICAidXRp
bGEiOiAiMC40LjAiCisgICAgICB9CisgICAgfSwKKyAgICAicHJpdmF0ZSI6IHsKKyAgICAgICJ2
ZXJzaW9uIjogIjAuMS43IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9wcml2YXRlLy0vcHJpdmF0ZS0wLjEuNy50Z3oiLAorICAgICAgImludGVncml0eSI6
ICJzaGExLWFNNWVpaDd3b2p1MWNNd29VM3RUTXF1bVB2RT0iLAorICAgICAgImRldiI6IHRydWUK
KyAgICB9LAorICAgICJwcm9jZXNzIjogeworICAgICAgInZlcnNpb24iOiAiMC4xMS4xMCIsCisg
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcHJvY2Vzcy8tL3By
b2Nlc3MtMC4xMS4xMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWN6SXdEb1FCWWIy
ajVwb2RIWkduMUx3VzhZST0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJwcm9j
ZXNzLW5leHRpY2stYXJncyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC43IiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wcm9jZXNzLW5leHRpY2stYXJn
cy8tL3Byb2Nlc3MtbmV4dGljay1hcmdzLTEuMC43LnRneiIsCisgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtRlE0Z3QxWlpDdFA1RUpQeVdrOHEyTC96QzZNPSIsCisgICAgICAiZGV2IjogdHJ1ZQor
ICAgIH0sCisgICAgInByb3RvLWxpc3QiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjIuNCIsCisg
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcHJvdG8tbGlzdC8t
L3Byb3RvLWxpc3QtMS4yLjQudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1JUzFiL2hN
WU1HcENEMlFDdU9Kdjg1WkhxRWs9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAi
cHJveHktYWRkciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMS41IiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wcm94eS1hZGRyLy0vcHJveHktYWRkci0x
LjEuNS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWNjRHVPeEF0NC9JQzg3WlBZSTBY
UDh1aHFSZz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAg
ICAgICJmb3J3YXJkZWQiOiAiMC4xLjAiLAorICAgICAgICAiaXBhZGRyLmpzIjogIjEuNC4wIgor
ICAgICAgfQorICAgIH0sCisgICAgInByciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMC4wIiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wcnIvLS9wcnIt
MC4wLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1Hb1M0V1FneVZRRkJHRlBRQ0I3
aitvYmlrbW89IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAicHNldWRvbWFwIjog
eworICAgICAgInZlcnNpb24iOiAiMS4wLjIiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL3BzZXVkb21hcC8tL3BzZXVkb21hcC0xLjAuMi50Z3oiLAorICAg
ICAgImludGVncml0eSI6ICJzaGExLThGS2lqYWNPWVlrWDd3cUt3MHdhNWFhQ2hyTT0iLAorICAg
ICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJwdWJsaWMtZW5jcnlwdCI6IHsKKyAgICAgICJ2
ZXJzaW9uIjogIjQuMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9wdWJsaWMtZW5jcnlwdC8tL3B1YmxpYy1lbmNyeXB0LTQuMC4wLnRneiIsCisgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtT2ZhWjg2UmxZTjFldXN2S2FUeXZmR1hCak1ZPSIsCisgICAg
ICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJuLmpzIjogIjQu
MTEuOCIsCisgICAgICAgICJicm93c2VyaWZ5LXJzYSI6ICI0LjAuMSIsCisgICAgICAgICJjcmVh
dGUtaGFzaCI6ICIxLjEuMyIsCisgICAgICAgICJwYXJzZS1hc24xIjogIjUuMS4wIiwKKyAgICAg
ICAgInJhbmRvbWJ5dGVzIjogIjIuMC41IgorICAgICAgfQorICAgIH0sCisgICAgInB1bnljb2Rl
IjogeworICAgICAgInZlcnNpb24iOiAiMS40LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL3B1bnljb2RlLy0vcHVueWNvZGUtMS40LjEudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS13TldtT3ljWWdBclk0ZXNQcFNhY2hOMUJoRjQ9IiwKKyAg
ICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAicSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEu
NS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9xLy0v
cS0xLjUuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLTNRRzZ5ZEJ0TU9ieUdhN0xn
bFB1bnIzRENQRT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJxcyI6IHsKKyAg
ICAgICJ2ZXJzaW9uIjogIjYuNS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9xcy8tL3FzLTYuNS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNo
YTUxMi1malZGalc5eWhxTWhWR3dSRXhDWExoSktyTGxrWVNheE5XZHljOXJtSGxyVlpiazM1WUhI
MzEyZEZkNzE5MXVRZVhrSTNtS0xaVEliU3ZJZUZ3RmVtZz09IiwKKyAgICAgICJkZXYiOiB0cnVl
CisgICAgfSwKKyAgICAicXVlcnktc3RyaW5nIjogeworICAgICAgInZlcnNpb24iOiAiNC4zLjQi
LAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3F1ZXJ5LXN0
cmluZy8tL3F1ZXJ5LXN0cmluZy00LjMuNC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGEx
LXU3YVR1Y3FSWENNbEZiSW9zYUFyWUpCRDIrcz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAg
ICAicmVxdWlyZXMiOiB7CisgICAgICAgICJvYmplY3QtYXNzaWduIjogIjQuMS4xIiwKKyAgICAg
ICAgInN0cmljdC11cmktZW5jb2RlIjogIjEuMS4wIgorICAgICAgfQorICAgIH0sCisgICAgInF1
ZXJ5c3RyaW5nIjogeworICAgICAgInZlcnNpb24iOiAiMC4yLjAiLAorICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3F1ZXJ5c3RyaW5nLy0vcXVlcnlzdHJpbmct
MC4yLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1zZ21Fa2dPN0pkK0NEYWRXNTBj
QVdIaFNGaUE9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAicXVlcnlzdHJpbmct
ZXMzIjogeworICAgICAgInZlcnNpb24iOiAiMC4yLjEiLAorICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3F1ZXJ5c3RyaW5nLWVzMy8tL3F1ZXJ5c3RyaW5nLWVz
My0wLjIuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLW5zWWZlUVNZZFhCOWFVRkZs
djJRZWsxeEhuTT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJyYW5kb21hdGlj
IjogeworICAgICAgInZlcnNpb24iOiAiMS4xLjciLAorICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL3JhbmRvbWF0aWMvLS9yYW5kb21hdGljLTEuMS43LnRneiIs
CisgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1ENUpValB5SmJhSkRrdUFhenBWblNmVmtMbHBl
TzN3RGxQUk9UTUxHS0cxek1GTkZSZ3JjaUtvMWx0ei9Bek5Ua3FFMEh6RHg2NTVRT0w1MU4wNmhv
dz09IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAi
aXMtbnVtYmVyIjogIjMuMC4wIiwKKyAgICAgICAgImtpbmQtb2YiOiAiNC4wLjAiCisgICAgICB9
LAorICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAgImlzLW51bWJlciI6IHsKKyAgICAg
ICAgICAidmVyc2lvbiI6ICIzLjAuMCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2lzLW51bWJlci8tL2lzLW51bWJlci0zLjAuMC50Z3oiLAorICAg
ICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1KUDFpQWFSNExQVUZZY2dRSjJyOGZSTFhFWlU9IiwK
KyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAg
ICAgICAia2luZC1vZiI6ICIzLjIuMiIKKyAgICAgICAgICB9LAorICAgICAgICAgICJkZXBlbmRl
bmNpZXMiOiB7CisgICAgICAgICAgICAia2luZC1vZiI6IHsKKyAgICAgICAgICAgICAgInZlcnNp
b24iOiAiMy4yLjIiLAorICAgICAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcva2luZC1vZi8tL2tpbmQtb2YtMy4yLjIudGd6IiwKKyAgICAgICAgICAgICAg
ImludGVncml0eSI6ICJzaGExLU1lb2hwelM2dWJ1dzh5Um0ySk91cFI1S1BHUT0iLAorICAgICAg
ICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAg
ICAgICAgICAgICJpcy1idWZmZXIiOiAiMS4xLjUiCisgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJraW5kLW9mIjogeworICAg
ICAgICAgICJ2ZXJzaW9uIjogIjQuMC4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcva2luZC1vZi8tL2tpbmQtb2YtNC4wLjAudGd6IiwKKyAgICAg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtSUlFOTg5Y1Nrb3NnYzNocEdrVUdiNjV5M1ZjPSIsCisg
ICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAg
ICAgImlzLWJ1ZmZlciI6ICIxLjEuNSIKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0K
KyAgICB9LAorICAgICJyYW5kb21ieXRlcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMC41IiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yYW5kb21ieXRl
cy8tL3JhbmRvbWJ5dGVzLTIuMC41LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi04
VDdabjFBaE1zUS9ISTFTamNDZlQvdDRpaTNlQXFjbzN5T2NTelM0bW96c096NjlsSExzb01YbUY5
blpnbkZhbllzY25TbFVTZ3M4dVp5S3pwRTZrZz09IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAg
ICAgInJlcXVpcmVzIjogeworICAgICAgICAic2FmZS1idWZmZXIiOiAiNS4xLjEiCisgICAgICB9
CisgICAgfSwKKyAgICAicmFuZ2UtcGFyc2VyIjogeworICAgICAgInZlcnNpb24iOiAiMS4yLjAi
LAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3JhbmdlLXBh
cnNlci8tL3JhbmdlLXBhcnNlci0xLjIuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGEx
LTlKdm10SWVKVGR4QTNNbEtNaTloRUpMZ0RWND0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9
LAorICAgICJyZWFkLXBrZyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMS4wIiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZWFkLXBrZy8tL3JlYWQtcGtn
LTEuMS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtOWYrcVhzMHB5ekhBUjB2S2ZY
VnJhN0tlUHlnPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAg
ICAgICAgImxvYWQtanNvbi1maWxlIjogIjEuMS4wIiwKKyAgICAgICAgIm5vcm1hbGl6ZS1wYWNr
YWdlLWRhdGEiOiAiMi40LjAiLAorICAgICAgICAicGF0aC10eXBlIjogIjEuMS4wIgorICAgICAg
fQorICAgIH0sCisgICAgInJlYWQtcGtnLXVwIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjEi
LAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3JlYWQtcGtn
LXVwLy0vcmVhZC1wa2ctdXAtMS4wLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1u
V1BCTW5iQVpaR05WL0FDcFg5QW9iWkQrd0k9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
InJlcXVpcmVzIjogeworICAgICAgICAiZmluZC11cCI6ICIxLjEuMiIsCisgICAgICAgICJyZWFk
LXBrZyI6ICIxLjEuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJyZWFkYWJsZS1zdHJlYW0iOiB7
CisgICAgICAidmVyc2lvbiI6ICIxLjAuMzQiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL3JlYWRhYmxlLXN0cmVhbS8tL3JlYWRhYmxlLXN0cmVhbS0xLjAu
MzQudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1FbGdnNDB2SVF0THlxcSt2NU1LUmJ1
TXNGWHc9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAg
ICAiY29yZS11dGlsLWlzIjogIjEuMC4yIiwKKyAgICAgICAgImluaGVyaXRzIjogIjIuMC4zIiwK
KyAgICAgICAgImlzYXJyYXkiOiAiMC4wLjEiLAorICAgICAgICAic3RyaW5nX2RlY29kZXIiOiAi
MC4xMC4zMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJyZWFkZGlycCI6IHsKKyAgICAgICJ2ZXJz
aW9uIjogIjIuMS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9yZWFkZGlycC8tL3JlYWRkaXJwLTIuMS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtVHRDdEJnM3pCek1BeElSQU56OXkwY3hrTFhnPSIsCisgICAgICAiZGV2IjogdHJ1ZSwK
KyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImdyYWNlZnVsLWZzIjogIjQuMS4xMSIsCisg
ICAgICAgICJtaW5pbWF0Y2giOiAiMy4wLjQiLAorICAgICAgICAicmVhZGFibGUtc3RyZWFtIjog
IjIuMy4zIiwKKyAgICAgICAgInNldC1pbW1lZGlhdGUtc2hpbSI6ICIxLjAuMSIKKyAgICAgIH0s
CisgICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAgICAiaXNhcnJheSI6IHsKKyAgICAgICAg
ICAidmVyc2lvbiI6ICIxLjAuMCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2lzYXJyYXkvLS9pc2FycmF5LTEuMC4wLnRneiIsCisgICAgICAgICAg
ImludGVncml0eSI6ICJzaGExLXU1TmRTRmdzdWhhTUJvTkpWNlZLUGdjU1R4RT0iLAorICAgICAg
ICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJyZWFkYWJsZS1zdHJlYW0iOiB7
CisgICAgICAgICAgInZlcnNpb24iOiAiMi4zLjMiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZWFkYWJsZS1zdHJlYW0vLS9yZWFkYWJsZS1zdHJl
YW0tMi4zLjMudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1tK3F6emNuN0tV
eEVtZDFnTWJjaEYrWTJlSVViaWVVYXhrV3RwdHlIeXdyWDByRThRRVlxUEMwN1Z1eTRXbTMyL3hF
MTZOY2RCY3RiOFMwWGUvNUllUT09IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAg
ICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiY29yZS11dGlsLWlzIjogIjEuMC4yIiwKKyAg
ICAgICAgICAgICJpbmhlcml0cyI6ICIyLjAuMyIsCisgICAgICAgICAgICAiaXNhcnJheSI6ICIx
LjAuMCIsCisgICAgICAgICAgICAicHJvY2Vzcy1uZXh0aWNrLWFyZ3MiOiAiMS4wLjciLAorICAg
ICAgICAgICAgInNhZmUtYnVmZmVyIjogIjUuMS4xIiwKKyAgICAgICAgICAgICJzdHJpbmdfZGVj
b2RlciI6ICIxLjAuMyIsCisgICAgICAgICAgICAidXRpbC1kZXByZWNhdGUiOiAiMS4wLjIiCisg
ICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAic3RyaW5nX2RlY29kZXIiOiB7CisgICAg
ICAgICAgInZlcnNpb24iOiAiMS4wLjMiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zdHJpbmdfZGVjb2Rlci8tL3N0cmluZ19kZWNvZGVyLTEuMC4z
LnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGE1MTItNEFINlo1ZnpOTkJjSCs2WERN
ZkEvQlR0ODdza3hxSmxPMGxBaDNEa2VyNXpUaGNBeEc2bUt6K2lHdTMwOFVLb1BQUThEY3F4LzRK
aHVqemx0UmEraFE9PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVp
cmVzIjogeworICAgICAgICAgICAgInNhZmUtYnVmZmVyIjogIjUuMS4xIgorICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAgInJlY2hvaXIiOiB7CisgICAgICAidmVy
c2lvbiI6ICIwLjYuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvcmVjaG9pci8tL3JlY2hvaXItMC42LjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1oU0JMVk51b0xWZEM0b3lXZFc3ME92VU9NNFE9IiwKKyAgICAgICJkZXYiOiB0cnVlLAor
ICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAicmVzb2x2ZSI6ICIxLjQuMCIKKyAgICAgIH0K
KyAgICB9LAorICAgICJyZWR1Y2UtY3NzLWNhbGMiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjMu
MCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcmVkdWNl
LWNzcy1jYWxjLy0vcmVkdWNlLWNzcy1jYWxjLTEuMy4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtZEh5UlRnU1dGS1RKejd1bUtZY2EwZEtTZHhZPSIsCisgICAgICAiZGV2IjogdHJ1
ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJhbGFuY2VkLW1hdGNoIjogIjAuNC4y
IiwKKyAgICAgICAgIm1hdGgtZXhwcmVzc2lvbi1ldmFsdWF0b3IiOiAiMS4yLjE3IiwKKyAgICAg
ICAgInJlZHVjZS1mdW5jdGlvbi1jYWxsIjogIjEuMC4yIgorICAgICAgfSwKKyAgICAgICJkZXBl
bmRlbmNpZXMiOiB7CisgICAgICAgICJiYWxhbmNlZC1tYXRjaCI6IHsKKyAgICAgICAgICAidmVy
c2lvbiI6ICIwLjQuMiIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2JhbGFuY2VkLW1hdGNoLy0vYmFsYW5jZWQtbWF0Y2gtMC40LjIudGd6IiwKKyAg
ICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEteXo4K1BITXR3UEFlNXd0QVB6QXVZZGR3bURnPSIs
CisgICAgICAgICAgImRldiI6IHRydWUKKyAgICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAg
InJlZHVjZS1mdW5jdGlvbi1jYWxsIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjIiLAorICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3JlZHVjZS1mdW5jdGlv
bi1jYWxsLy0vcmVkdWNlLWZ1bmN0aW9uLWNhbGwtMS4wLjIudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1XaUFMK1M0T04zVVhVdjVGc0tzekQ5UzJ2cGs9IiwKKyAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFsYW5jZWQtbWF0Y2giOiAiMC40
LjIiCisgICAgICB9LAorICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAgImJhbGFuY2Vk
LW1hdGNoIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjAuNC4yIiwKKyAgICAgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFsYW5jZWQtbWF0Y2gvLS9iYWxh
bmNlZC1tYXRjaC0wLjQuMi50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS15ejgr
UEhNdHdQQWU1d3RBUHpBdVlkZHdtRGc9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZQorICAgICAg
ICB9CisgICAgICB9CisgICAgfSwKKyAgICAicmVnZW5lcmF0ZSI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjEuMy4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9yZWdlbmVyYXRlLy0vcmVnZW5lcmF0ZS0xLjMuMi50Z3oiLAorICAgICAgImludGVncml0eSI6
ICJzaGExLTBaUWNaN3JVTitHK2RrTTYzVnM0WDVXeGttQT0iLAorICAgICAgImRldiI6IHRydWUK
KyAgICB9LAorICAgICJyZWdlbmVyYXRvci1ydW50aW1lIjogeworICAgICAgInZlcnNpb24iOiAi
MC4xMS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9y
ZWdlbmVyYXRvci1ydW50aW1lLy0vcmVnZW5lcmF0b3ItcnVudGltZS0wLjExLjAudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLS9hQTBrTGVSYjVOOUswZDRmdzdvb0ViSSt4RGUrREtE
NDk5RVFxeWdHcWVTOE4zeHRvMTVwMDl1WTJ4ajdpeFA4MXNOUFh2UkxuQVFJcWRWU3RnYjFBPT0i
LAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJyZWdlbmVyYXRvci10cmFuc2Zvcm0i
OiB7CisgICAgICAidmVyc2lvbiI6ICIwLjEwLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL3JlZ2VuZXJhdG9yLXRyYW5zZm9ybS8tL3JlZ2VuZXJhdG9y
LXRyYW5zZm9ybS0wLjEwLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLTBvTVRx
YUp1TTNRNlJXcXRzNlUwL2lqVzN4Y25ZOGQvS2ltTDNJa1FXMXppYjFnbVNiMWxLb0ZLTkYra1NE
bXJpR0VTbE9IY3dvSTFYcFhLTkVHY0xnPT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAi
cmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYuMjYuMCIsCisgICAgICAg
ICJiYWJlbC10eXBlcyI6ICI2LjI2LjAiLAorICAgICAgICAicHJpdmF0ZSI6ICIwLjEuNyIKKyAg
ICAgIH0KKyAgICB9LAorICAgICJyZWdleC1jYWNoZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAu
NC4zIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZWdl
eC1jYWNoZS8tL3JlZ2V4LWNhY2hlLTAuNC4zLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNo
YTEtbXhwc05kVFEzODcxY1JybVVlanAwOWNSUVVVPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAg
ICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImlzLWVxdWFsLXNoYWxsb3ciOiAiMC4xLjMiLAor
ICAgICAgICAiaXMtcHJpbWl0aXZlIjogIjIuMC4wIgorICAgICAgfQorICAgIH0sCisgICAgInJl
Z2V4cHUtY29yZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMC4wIiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZWdleHB1LWNvcmUvLS9yZWdleHB1LWNv
cmUtMi4wLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1TZEE0ZzN1Tno0djZXNXBD
RTVrNDV1b3E0a0E9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogewor
ICAgICAgICAicmVnZW5lcmF0ZSI6ICIxLjMuMiIsCisgICAgICAgICJyZWdqc2dlbiI6ICIwLjIu
MCIsCisgICAgICAgICJyZWdqc3BhcnNlciI6ICIwLjEuNSIKKyAgICAgIH0KKyAgICB9LAorICAg
ICJyZWdqc2dlbiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMi4wIiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZWdqc2dlbi8tL3JlZ2pzZ2VuLTAuMi4w
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtYkFGcTNxeFZUM1dDUCtONndGdVMxYVR0
c2ZjPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInJlZ2pzcGFyc2VyIjogewor
ICAgICAgInZlcnNpb24iOiAiMC4xLjUiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL3JlZ2pzcGFyc2VyLy0vcmVnanNwYXJzZXItMC4xLjUudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1mdWo0VGNiNmVTMC8wSzRpalNTOWxKNnRJRnc9IiwKKyAg
ICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAianNlc2MiOiAi
MC41LjAiCisgICAgICB9LAorICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAgImpzZXNj
IjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjAuNS4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvanNlc2MvLS9qc2VzYy0wLjUuMC50Z3oiLAor
ICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS01OTdtYmpYVy9CYjNFUDZSMWM5cDl3OElrUjA9
IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAg
ICAicmVsYXRldXJsIjogeworICAgICAgInZlcnNpb24iOiAiMC4yLjciLAorICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3JlbGF0ZXVybC8tL3JlbGF0ZXVybC0w
LjIuNy50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLVZOdnpkK1VVUUt5cENrelNkR0FO
UC9MWWlLaz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJyZW1vdmUtdHJhaWxp
bmctc2VwYXJhdG9yIjogeworICAgICAgInZlcnNpb24iOiAiMS4xLjAiLAorICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3JlbW92ZS10cmFpbGluZy1zZXBhcmF0
b3IvLS9yZW1vdmUtdHJhaWxpbmctc2VwYXJhdG9yLTEuMS4wLnRneiIsCisgICAgICAiaW50ZWdy
aXR5IjogInNoYTEtd2t2T0tpZzYydFc4UDFqZzFJSkp1U041Mk84PSIsCisgICAgICAiZGV2Ijog
dHJ1ZQorICAgIH0sCisgICAgInJlbmRlcmtpZCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMC4x
IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZW5kZXJr
aWQvLS9yZW5kZXJraWQtMi4wLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1pWXly
L0l2dDVMZTVFVFdqLzlNajVZd05zeGs9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJl
cXVpcmVzIjogeworICAgICAgICAiY3NzLXNlbGVjdCI6ICIxLjIuMCIsCisgICAgICAgICJkb20t
Y29udmVydGVyIjogIjAuMS40IiwKKyAgICAgICAgImh0bWxwYXJzZXIyIjogIjMuMy4wIiwKKyAg
ICAgICAgInN0cmlwLWFuc2kiOiAiMy4wLjEiLAorICAgICAgICAidXRpbGEiOiAiMC4zLjMiCisg
ICAgICB9LAorICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAgInV0aWxhIjogeworICAg
ICAgICAgICJ2ZXJzaW9uIjogIjAuMy4zIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvdXRpbGEvLS91dGlsYS0wLjMuMy50Z3oiLAorICAgICAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS0xK2puMStNSkVIQ1NzRitObG9pQ1RXTTZRaVk9IiwKKyAgICAg
ICAgICAiZGV2IjogdHJ1ZQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAgICAicmVwZWF0
LWVsZW1lbnQiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjEuMiIsCisgICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcmVwZWF0LWVsZW1lbnQvLS9yZXBlYXQtZWxl
bWVudC0xLjEuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLTd3aWFGNDBVZzdxdVRa
UHJtTFQ1NU9FZG1Rbz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJyZXBlYXQt
c3RyaW5nIjogeworICAgICAgInZlcnNpb24iOiAiMS42LjEiLAorICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3JlcGVhdC1zdHJpbmcvLS9yZXBlYXQtc3RyaW5n
LTEuNi4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtamNya2NPSElpcnd0WUEvL1Nu
ZGlodHAxNWpjPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInJlcGVhdGluZyI6
IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZXBlYXRpbmcvLS9yZXBlYXRpbmctMi4wLjEudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1VaFRGT3BKdE5WSndkU2Y3cTBGZHZBalFiZG89IiwKKyAg
ICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiaXMtZmluaXRl
IjogIjEuMC4yIgorICAgICAgfQorICAgIH0sCisgICAgInJlcXVpcmUtZGlyZWN0b3J5Ijogewor
ICAgICAgInZlcnNpb24iOiAiMi4xLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL3JlcXVpcmUtZGlyZWN0b3J5Ly0vcmVxdWlyZS1kaXJlY3RvcnktMi4x
LjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1qR1N0WDlNTnF4eVhiaU5FLytmM2tx
YW0zMEk9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAicmVxdWlyZS1mcm9tLXN0
cmluZyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMi4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZXF1aXJlLWZyb20tc3RyaW5nLy0vcmVxdWlyZS1m
cm9tLXN0cmluZy0xLjIuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLVVweWN6dkp6
Z0szK3lhTDVaYlpKdSs1alpCZz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJy
ZXF1aXJlLW1haW4tZmlsZW5hbWUiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMSIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcmVxdWlyZS1tYWluLWZp
bGVuYW1lLy0vcmVxdWlyZS1tYWluLWZpbGVuYW1lLTEuMC4xLnRneiIsCisgICAgICAiaW50ZWdy
aXR5IjogInNoYTEtbC9jWHRwMUllRTlmVW1wc1dxai8zYUJWcE5FPSIsCisgICAgICAiZGV2Ijog
dHJ1ZQorICAgIH0sCisgICAgInJlcXVpcmVzLXBvcnQiOiB7CisgICAgICAidmVyc2lvbiI6ICIx
LjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcmVx
dWlyZXMtcG9ydC8tL3JlcXVpcmVzLXBvcnQtMS4wLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1rbDBtQWRPYXhJWGdrYzhOcGNibWxOdzl5djg9IiwKKyAgICAgICJkZXYiOiB0cnVl
CisgICAgfSwKKyAgICAicmVzb2x2ZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuNC4wIiwKKyAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZXNvbHZlLy0vcmVz
b2x2ZS0xLjQuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGE1MTItYVc3c1ZLUHVmeUhx
T215eUx6Zy9KKzg2MDZ2NW5ldkJnYWxpSWxWN25VcFZNc0Rub0JHVi9jYlNMTmpaQWc5cTBDZmQv
K2Vhc0tWS1E4dk91OGZuMVE9PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJl
cyI6IHsKKyAgICAgICAgInBhdGgtcGFyc2UiOiAiMS4wLjUiCisgICAgICB9CisgICAgfSwKKyAg
ICAicmVzdG9yZS1jdXJzb3IiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjAuMCIsCisgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcmVzdG9yZS1jdXJzb3IvLS9y
ZXN0b3JlLWN1cnNvci0yLjAuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLW4zN2lo
L2d2MHliVS9SWXBJOVloS2U3ZzM2OD0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVx
dWlyZXMiOiB7CisgICAgICAgICJvbmV0aW1lIjogIjIuMC4xIiwKKyAgICAgICAgInNpZ25hbC1l
eGl0IjogIjMuMC4yIgorICAgICAgfQorICAgIH0sCisgICAgInJpZ2h0LWFsaWduIjogeworICAg
ICAgInZlcnNpb24iOiAiMC4xLjMiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL3JpZ2h0LWFsaWduLy0vcmlnaHQtYWxpZ24tMC4xLjMudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1ZVE9iY2kvbW8xRldpU0VOSk9GTWxoU0dFKzg9IiwKKyAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYWxpZ24tdGV4dCI6
ICIwLjEuNCIKKyAgICAgIH0KKyAgICB9LAorICAgICJyaW1yYWYiOiB7CisgICAgICAidmVyc2lv
biI6ICIyLjYuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvcmltcmFmLy0vcmltcmFmLTIuNi4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
d2pPT3hrUGZlaHQvNWNWUHFHOVhRb3BWOHowPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAg
ICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImdsb2IiOiAiNy4xLjIiCisgICAgICB9LAorICAgICAg
ImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAgImdsb2IiOiB7CisgICAgICAgICAgInZlcnNpb24i
OiAiNy4xLjIiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9nbG9iLy0vZ2xvYi03LjEuMi50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hh
NTEyLU1KVFVnMWtqdUxlUUNKK2NjRTRWcGE2a0tWWGtQWUoybU9DUXlVdUtMY0xRc2RyTUNwQlBV
aThxVkU2K1l1YUprb3plQTlOdXNUQXczaExyOFhlNUVRPT0iLAorICAgICAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJmcy5yZWFscGF0aCI6
ICIxLjAuMCIsCisgICAgICAgICAgICAiaW5mbGlnaHQiOiAiMS4wLjYiLAorICAgICAgICAgICAg
ImluaGVyaXRzIjogIjIuMC4zIiwKKyAgICAgICAgICAgICJtaW5pbWF0Y2giOiAiMy4wLjQiLAor
ICAgICAgICAgICAgIm9uY2UiOiAiMS40LjAiLAorICAgICAgICAgICAgInBhdGgtaXMtYWJzb2x1
dGUiOiAiMS4wLjEiCisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAg
ICAicmlwZW1kMTYwIjogeworICAgICAgInZlcnNpb24iOiAiMi4wLjEiLAorICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3JpcGVtZDE2MC8tL3JpcGVtZDE2MC0y
LjAuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUQwV0VLVnhUbzJLSzkrYlhtc29o
emxmUnh1Yz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAg
ICAgICJoYXNoLWJhc2UiOiAiMi4wLjIiLAorICAgICAgICAiaW5oZXJpdHMiOiAiMi4wLjMiCisg
ICAgICB9CisgICAgfSwKKyAgICAic2FmZS1idWZmZXIiOiB7CisgICAgICAidmVyc2lvbiI6ICI1
LjEuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc2Fm
ZS1idWZmZXIvLS9zYWZlLWJ1ZmZlci01LjEuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGE1MTIta0t2TkpuNk1tOTNnQWN6V1ZKZzd3SCt3R1lXTnJESGRXdnBVbUh5RXNnQ3RJd3dvM2Jx
UHRWNHRSNXR1UGFVaFRPby9rdmhWd2Q4WHd3T2xsR1lrYmc9PSIsCisgICAgICAiZGV2IjogdHJ1
ZQorICAgIH0sCisgICAgInNheCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMi40IiwKKyAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zYXgvLS9zYXgtMS4yLjQu
dGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLU5xVkR2OVRwQU5VakZtME44dU01R3hM
MzZVZ0tpOS9hdFp3K3g3WUZuUThja3dGR0tybDR4WDR5V3RyZXkzVUptNW5QMWtVYm5ZZ0xvcHFX
TlNSaFd3PT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJzY2hlbWEtdXRpbHMi
OiB7CisgICAgICAidmVyc2lvbiI6ICIwLjMuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc2NoZW1hLXV0aWxzLy0vc2NoZW1hLXV0aWxzLTAuMy4wLnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtOVlkeUlzNCtreDdhNERueGZyTnhibkUzK004
PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImFq
diI6ICI1LjIuMiIKKyAgICAgIH0KKyAgICB9LAorICAgICJzZW12ZXIiOiB7CisgICAgICAidmVy
c2lvbiI6ICI1LjQuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvc2VtdmVyLy0vc2VtdmVyLTUuNC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNo
YTUxMi1XZkcvWDkrb0FUaDgxWHRsbElvL0k4Z09pWTlFWFJkdjFjUWR5eWtlWEsxN1ljVVczRVhV
QWkyVG80cGNINm5adEpQcjdaT3BNNU9NeVdKWm0rOFJzZz09IiwKKyAgICAgICJkZXYiOiB0cnVl
CisgICAgfSwKKyAgICAic2VuZCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMTUuNCIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc2VuZC8tL3NlbmQtMC4x
NS40LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtbUYrcVBpaExBblBIa3paS05jWnpl
OWs1QmJrPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAg
ICAgImRlYnVnIjogIjIuNi44IiwKKyAgICAgICAgImRlcGQiOiAiMS4xLjEiLAorICAgICAgICAi
ZGVzdHJveSI6ICIxLjAuNCIsCisgICAgICAgICJlbmNvZGV1cmwiOiAiMS4wLjEiLAorICAgICAg
ICAiZXNjYXBlLWh0bWwiOiAiMS4wLjMiLAorICAgICAgICAiZXRhZyI6ICIxLjguMCIsCisgICAg
ICAgICJmcmVzaCI6ICIwLjUuMCIsCisgICAgICAgICJodHRwLWVycm9ycyI6ICIxLjYuMiIsCisg
ICAgICAgICJtaW1lIjogIjEuMy40IiwKKyAgICAgICAgIm1zIjogIjIuMC4wIiwKKyAgICAgICAg
Im9uLWZpbmlzaGVkIjogIjIuMy4wIiwKKyAgICAgICAgInJhbmdlLXBhcnNlciI6ICIxLjIuMCIs
CisgICAgICAgICJzdGF0dXNlcyI6ICIxLjMuMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJzZXJ2
ZS1zdGF0aWMiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjEyLjQiLAorICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3NlcnZlLXN0YXRpYy8tL3NlcnZlLXN0YXRp
Yy0xLjEyLjQudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1tMnFwanV0eVU4VHUzRXdm
Yjl2S1lKa0JxV0U9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogewor
ICAgICAgICAiZW5jb2RldXJsIjogIjEuMC4xIiwKKyAgICAgICAgImVzY2FwZS1odG1sIjogIjEu
MC4zIiwKKyAgICAgICAgInBhcnNldXJsIjogIjEuMy4xIiwKKyAgICAgICAgInNlbmQiOiAiMC4x
NS40IgorICAgICAgfQorICAgIH0sCisgICAgInNldC1ibG9ja2luZyI6IHsKKyAgICAgICJ2ZXJz
aW9uIjogIjIuMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9zZXQtYmxvY2tpbmcvLS9zZXQtYmxvY2tpbmctMi4wLjAudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1CRitYZ3RBUnJwcG9BOTNUZ3JKRGtyUFlrUGM9IiwKKyAgICAgICJkZXYi
OiB0cnVlCisgICAgfSwKKyAgICAic2V0LWltbWVkaWF0ZS1zaGltIjogeworICAgICAgInZlcnNp
b24iOiAiMS4wLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL3NldC1pbW1lZGlhdGUtc2hpbS8tL3NldC1pbW1lZGlhdGUtc2hpbS0xLjAuMS50Z3oiLAor
ICAgICAgImludGVncml0eSI6ICJzaGExLVN5c2JKK3VBaXArTnpFZ2FXT1hsYjFtZlAyRT0iLAor
ICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJzZXRpbW1lZGlhdGUiOiB7CisgICAgICAi
dmVyc2lvbiI6ICIxLjAuNSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvc2V0aW1tZWRpYXRlLy0vc2V0aW1tZWRpYXRlLTEuMC41LnRneiIsCisgICAgICAi
aW50ZWdyaXR5IjogInNoYTEtS1F5N0l5NHdhVUxYMStxYmczTXF0NFZ2Z29VPSIsCisgICAgICAi
ZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInNldHByb3RvdHlwZW9mIjogeworICAgICAgInZlcnNp
b24iOiAiMS4wLjMiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL3NldHByb3RvdHlwZW9mLy0vc2V0cHJvdG90eXBlb2YtMS4wLjMudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1abForTndRKzYwOEUyUnZXV01ETDc3VmJqZ1E9IiwKKyAgICAgICJk
ZXYiOiB0cnVlCisgICAgfSwKKyAgICAic2hhLmpzIjogeworICAgICAgInZlcnNpb24iOiAiMi40
LjgiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3NoYS5q
cy8tL3NoYS5qcy0yLjQuOC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLU53YU1MRWRy
YTY5QUxSU2tuR2YxbDVJZlkwOD0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWly
ZXMiOiB7CisgICAgICAgICJpbmhlcml0cyI6ICIyLjAuMyIKKyAgICAgIH0KKyAgICB9LAorICAg
ICJzaGVsbGpzIjogeworICAgICAgInZlcnNpb24iOiAiMC43LjgiLAorICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3NoZWxsanMvLS9zaGVsbGpzLTAuNy44LnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtM3N2UGgwc05IbCszTGhTeFpLbG9NRWpwckxN
PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImds
b2IiOiAiNy4xLjIiLAorICAgICAgICAiaW50ZXJwcmV0IjogIjEuMC4zIiwKKyAgICAgICAgInJl
Y2hvaXIiOiAiMC42LjIiCisgICAgICB9LAorICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAg
ICAgImdsb2IiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiNy4xLjIiLAorICAgICAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9nbG9iLy0vZ2xvYi03LjEuMi50
Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLU1KVFVnMWtqdUxlUUNKK2NjRTRW
cGE2a0tWWGtQWUoybU9DUXlVdUtMY0xRc2RyTUNwQlBVaThxVkU2K1l1YUprb3plQTlOdXNUQXcz
aExyOFhlNUVRPT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJl
cyI6IHsKKyAgICAgICAgICAgICJmcy5yZWFscGF0aCI6ICIxLjAuMCIsCisgICAgICAgICAgICAi
aW5mbGlnaHQiOiAiMS4wLjYiLAorICAgICAgICAgICAgImluaGVyaXRzIjogIjIuMC4zIiwKKyAg
ICAgICAgICAgICJtaW5pbWF0Y2giOiAiMy4wLjQiLAorICAgICAgICAgICAgIm9uY2UiOiAiMS40
LjAiLAorICAgICAgICAgICAgInBhdGgtaXMtYWJzb2x1dGUiOiAiMS4wLjEiCisgICAgICAgICAg
fQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAgICAic2lnbXVuZCI6IHsKKyAgICAgICJ2
ZXJzaW9uIjogIjEuMC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9zaWdtdW5kLy0vc2lnbXVuZC0xLjAuMS50Z3oiLAorICAgICAgImludGVncml0eSI6
ICJzaGExLVAvSWZHWXl0SVhYNTg3ZUJoVC9aVFEwWnRaQT0iLAorICAgICAgImRldiI6IHRydWUK
KyAgICB9LAorICAgICJzaWduYWwtZXhpdCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjMuMC4yIiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zaWduYWwtZXhp
dC8tL3NpZ25hbC1leGl0LTMuMC4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtdGYz
QWp4S0g2aEY0WW81QlhpVVRLM05rYkcwPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisg
ICAgInNsYXNoIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAorICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3NsYXNoLy0vc2xhc2gtMS4wLjAudGd6IiwK
KyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS14Qjh2YkRuOEZ0SE5GNjFMWFlsaEZLNUhEVlU9IiwK
KyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAic29ydC1rZXlzIjogeworICAgICAgInZl
cnNpb24iOiAiMS4xLjIiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL3NvcnQta2V5cy8tL3NvcnQta2V5cy0xLjEuMi50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGExLVJCdHRUVFJubVBHMDVKNkpJSzM3b09WRCthMD0iLAorICAgICAgImRldiI6IHRy
dWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJpcy1wbGFpbi1vYmoiOiAiMS4xLjAi
CisgICAgICB9CisgICAgfSwKKyAgICAic291cmNlLWxpc3QtbWFwIjogeworICAgICAgInZlcnNp
b24iOiAiMC4xLjgiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL3NvdXJjZS1saXN0LW1hcC8tL3NvdXJjZS1saXN0LW1hcC0wLjEuOC50Z3oiLAorICAgICAg
ImludGVncml0eSI6ICJzaGExLXhWQ3lxMVFuOXJQeUgxcityWWpFOVZoN0lRWT0iLAorICAgICAg
ImRldiI6IHRydWUKKyAgICB9LAorICAgICJzb3VyY2UtbWFwIjogeworICAgICAgInZlcnNpb24i
OiAiMC41LjYiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L3NvdXJjZS1tYXAvLS9zb3VyY2UtbWFwLTAuNS42LnRneiIsCisgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtZGM0NDlTdndjenhhZnd3UmpZRXpTaXUxOUJJPSIsCisgICAgICAiZGV2IjogdHJ1ZQor
ICAgIH0sCisgICAgInNvdXJjZS1tYXAtc3VwcG9ydCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAu
NC4xNSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc291
cmNlLW1hcC1zdXBwb3J0Ly0vc291cmNlLW1hcC1zdXBwb3J0LTAuNC4xNS50Z3oiLAorICAgICAg
ImludGVncml0eSI6ICJzaGExLUF5QXQ5bHdHMHIyTWZzSTJLaGt3VnY3NDA3RT0iLAorICAgICAg
ImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJzb3VyY2UtbWFwIjog
IjAuNS42IgorICAgICAgfQorICAgIH0sCisgICAgInNwZHgtY29ycmVjdCI6IHsKKyAgICAgICJ2
ZXJzaW9uIjogIjEuMC4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9zcGR4LWNvcnJlY3QvLS9zcGR4LWNvcnJlY3QtMS4wLjIudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1TekJ6MlRQL1VmT1JMd09zVlJsSmlrRlEyMEE9IiwKKyAgICAgICJk
ZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAic3BkeC1saWNlbnNlLWlk
cyI6ICIxLjIuMiIKKyAgICAgIH0KKyAgICB9LAorICAgICJzcGR4LWV4cHJlc3Npb24tcGFyc2Ui
OiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuNCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc3BkeC1leHByZXNzaW9uLXBhcnNlLy0vc3BkeC1leHByZXNz
aW9uLXBhcnNlLTEuMC40LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtbTk4dklPSDBE
dFJIKytKekptR1IvTzFSWW13PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInNw
ZHgtbGljZW5zZS1pZHMiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjIuMiIsCisgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc3BkeC1saWNlbnNlLWlkcy8tL3Nw
ZHgtbGljZW5zZS1pZHMtMS4yLjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS15ZDk2
TkNSWlN0NXIwUmtBMVpacGJjQnJyRmM9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAg
ICAic3ByaW50Zi1qcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4zIiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zcHJpbnRmLWpzLy0vc3ByaW50Zi1q
cy0xLjAuMy50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUJPYVNiMllvbFRWUFBkQVZJ
RFl6dUZjcGZpdz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJzdGFja2ZyYW1l
IjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjQiLAorICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL3N0YWNrZnJhbWUvLS9zdGFja2ZyYW1lLTEuMC40LnRneiIs
CisgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi10bzdvQURJbmlhWXdTM01odENhL3NRaHJ4aWRD
Q1FpRi9xcDQvbTVpTjNpcGYwWTdYbHJpMGY2ZUcyOXIwOGFMN0pZbDhuMzJBRjNRNUdZQlo3Szh2
dz09IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAic3RhdHVzZXMiOiB7CisgICAg
ICAidmVyc2lvbiI6ICIxLjMuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvc3RhdHVzZXMvLS9zdGF0dXNlcy0xLjMuMS50Z3oiLAorICAgICAgImludGVn
cml0eSI6ICJzaGExLSt2VWJucmRLcnZPenJQU3RYMkdyOGt5M3VUND0iLAorICAgICAgImRldiI6
IHRydWUKKyAgICB9LAorICAgICJzdHJlYW0tYnJvd3NlcmlmeSI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjIuMC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9zdHJlYW0tYnJvd3NlcmlmeS8tL3N0cmVhbS1icm93c2VyaWZ5LTIuMC4xLnRneiIsCisgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtWmladTVmbTl1WlFLVGtVVXl2dER1M0hseWRzPSIsCisgICAg
ICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImluaGVyaXRzIjog
IjIuMC4zIiwKKyAgICAgICAgInJlYWRhYmxlLXN0cmVhbSI6ICIyLjMuMyIKKyAgICAgIH0sCisg
ICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAgICAiaXNhcnJheSI6IHsKKyAgICAgICAgICAi
dmVyc2lvbiI6ICIxLjAuMCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2lzYXJyYXkvLS9pc2FycmF5LTEuMC4wLnRneiIsCisgICAgICAgICAgImlu
dGVncml0eSI6ICJzaGExLXU1TmRTRmdzdWhhTUJvTkpWNlZLUGdjU1R4RT0iLAorICAgICAgICAg
ICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJyZWFkYWJsZS1zdHJlYW0iOiB7Cisg
ICAgICAgICAgInZlcnNpb24iOiAiMi4zLjMiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZWFkYWJsZS1zdHJlYW0vLS9yZWFkYWJsZS1zdHJlYW0t
Mi4zLjMudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1tK3F6emNuN0tVeEVt
ZDFnTWJjaEYrWTJlSVViaWVVYXhrV3RwdHlIeXdyWDByRThRRVlxUEMwN1Z1eTRXbTMyL3hFMTZO
Y2RCY3RiOFMwWGUvNUllUT09IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAi
cmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiY29yZS11dGlsLWlzIjogIjEuMC4yIiwKKyAgICAg
ICAgICAgICJpbmhlcml0cyI6ICIyLjAuMyIsCisgICAgICAgICAgICAiaXNhcnJheSI6ICIxLjAu
MCIsCisgICAgICAgICAgICAicHJvY2Vzcy1uZXh0aWNrLWFyZ3MiOiAiMS4wLjciLAorICAgICAg
ICAgICAgInNhZmUtYnVmZmVyIjogIjUuMS4xIiwKKyAgICAgICAgICAgICJzdHJpbmdfZGVjb2Rl
ciI6ICIxLjAuMyIsCisgICAgICAgICAgICAidXRpbC1kZXByZWNhdGUiOiAiMS4wLjIiCisgICAg
ICAgICAgfQorICAgICAgICB9LAorICAgICAgICAic3RyaW5nX2RlY29kZXIiOiB7CisgICAgICAg
ICAgInZlcnNpb24iOiAiMS4wLjMiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9zdHJpbmdfZGVjb2Rlci8tL3N0cmluZ19kZWNvZGVyLTEuMC4zLnRn
eiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGE1MTItNEFINlo1ZnpOTkJjSCs2WERNZkEv
QlR0ODdza3hxSmxPMGxBaDNEa2VyNXpUaGNBeEc2bUt6K2lHdTMwOFVLb1BQUThEY3F4LzRKaHVq
emx0UmEraFE9PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVz
IjogeworICAgICAgICAgICAgInNhZmUtYnVmZmVyIjogIjUuMS4xIgorICAgICAgICAgIH0KKyAg
ICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAgInN0cmVhbS1odHRwIjogeworICAgICAgInZl
cnNpb24iOiAiMi43LjIiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL3N0cmVhbS1odHRwLy0vc3RyZWFtLWh0dHAtMi43LjIudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhNTEyLWMweVREMnJiUXpYdFNzRlNWaHRwdlkvdlM2dTA2NlBjWE9YOWtCQjNt
U083NlJpVVF6TDM0MHVKa0dCV25sQmc0L0haenFpVVh0YVZBN3djUmNKZ0V3PT0iLAorICAgICAg
ImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJidWlsdGluLXN0YXR1
cy1jb2RlcyI6ICIzLjAuMCIsCisgICAgICAgICJpbmhlcml0cyI6ICIyLjAuMyIsCisgICAgICAg
ICJyZWFkYWJsZS1zdHJlYW0iOiAiMi4zLjMiLAorICAgICAgICAidG8tYXJyYXlidWZmZXIiOiAi
MS4wLjEiLAorICAgICAgICAieHRlbmQiOiAiNC4wLjEiCisgICAgICB9LAorICAgICAgImRlcGVu
ZGVuY2llcyI6IHsKKyAgICAgICAgImlzYXJyYXkiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAi
MS4wLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9pc2FycmF5Ly0vaXNhcnJheS0xLjAuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS11NU5kU0Znc3VoYU1Cb05KVjZWS1BnY1NUeEU9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1
ZQorICAgICAgICB9LAorICAgICAgICAicmVhZGFibGUtc3RyZWFtIjogeworICAgICAgICAgICJ2
ZXJzaW9uIjogIjIuMy4zIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvcmVhZGFibGUtc3RyZWFtLy0vcmVhZGFibGUtc3RyZWFtLTIuMy4zLnRneiIs
CisgICAgICAgICAgImludGVncml0eSI6ICJzaGE1MTItbStxenpjbjdLVXhFbWQxZ01iY2hGK1ky
ZUlVYmllVWF4a1d0cHR5SHl3clgwckU4UUVZcVBDMDdWdXk0V20zMi94RTE2TmNkQmN0YjhTMFhl
LzVJZVE9PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjog
eworICAgICAgICAgICAgImNvcmUtdXRpbC1pcyI6ICIxLjAuMiIsCisgICAgICAgICAgICAiaW5o
ZXJpdHMiOiAiMi4wLjMiLAorICAgICAgICAgICAgImlzYXJyYXkiOiAiMS4wLjAiLAorICAgICAg
ICAgICAgInByb2Nlc3MtbmV4dGljay1hcmdzIjogIjEuMC43IiwKKyAgICAgICAgICAgICJzYWZl
LWJ1ZmZlciI6ICI1LjEuMSIsCisgICAgICAgICAgICAic3RyaW5nX2RlY29kZXIiOiAiMS4wLjMi
LAorICAgICAgICAgICAgInV0aWwtZGVwcmVjYXRlIjogIjEuMC4yIgorICAgICAgICAgIH0KKyAg
ICAgICAgfSwKKyAgICAgICAgInN0cmluZ19kZWNvZGVyIjogeworICAgICAgICAgICJ2ZXJzaW9u
IjogIjEuMC4zIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvc3RyaW5nX2RlY29kZXIvLS9zdHJpbmdfZGVjb2Rlci0xLjAuMy50Z3oiLAorICAgICAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLTRBSDZaNWZ6Tk5CY0grNlhETWZBL0JUdDg3c2t4cUps
TzBsQWgzRGtlcjV6VGhjQXhHNm1LeitpR3UzMDhVS29QUFE4RGNxeC80Smh1anpsdFJhK2hRPT0i
LAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAg
ICAgICAgICJzYWZlLWJ1ZmZlciI6ICI1LjEuMSIKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAg
ICAgIH0KKyAgICB9LAorICAgICJzdHJpY3QtdXJpLWVuY29kZSI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjEuMS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9zdHJpY3QtdXJpLWVuY29kZS8tL3N0cmljdC11cmktZW5jb2RlLTEuMS4wLnRneiIsCisgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtSjVzaVhmSFZnckgxVG1XdDNVTlM0WStxQnhNPSIsCisgICAg
ICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInN0cmluZ19kZWNvZGVyIjogeworICAgICAgInZl
cnNpb24iOiAiMC4xMC4zMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvc3RyaW5nX2RlY29kZXIvLS9zdHJpbmdfZGVjb2Rlci0wLjEwLjMxLnRneiIsCisg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtWXVJRHZFRjJiR3dveWZ5RU1CMnJIRk1RK3BRPSIsCisg
ICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInN0cmluZy1sZW5ndGgiOiB7CisgICAgICAi
dmVyc2lvbiI6ICIxLjAuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvc3RyaW5nLWxlbmd0aC8tL3N0cmluZy1sZW5ndGgtMS4wLjEudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1WcGNQc2NPRldPbm5DM0tMODk0bW1zUmEzNnc9IiwKKyAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAic3RyaXAtYW5zaSI6
ICIzLjAuMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJzdHJpbmctd2lkdGgiOiB7CisgICAgICAi
dmVyc2lvbiI6ICIxLjAuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvc3RyaW5nLXdpZHRoLy0vc3RyaW5nLXdpZHRoLTEuMC4yLnRneiIsCisgICAgICAi
aW50ZWdyaXR5IjogInNoYTEtRVl2Zlc0emNVYUtuNXcwaEhnZmlzTG14QjlNPSIsCisgICAgICAi
ZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImNvZGUtcG9pbnQtYXQi
OiAiMS4xLjAiLAorICAgICAgICAiaXMtZnVsbHdpZHRoLWNvZGUtcG9pbnQiOiAiMS4wLjAiLAor
ICAgICAgICAic3RyaXAtYW5zaSI6ICIzLjAuMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJzdHJp
cC1hbnNpIjogeworICAgICAgInZlcnNpb24iOiAiMy4wLjEiLAorICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3N0cmlwLWFuc2kvLS9zdHJpcC1hbnNpLTMuMC4x
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtYWpoZnVJVTlsUzFmOEYwT2lxK1VKNDNH
UGM4PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAg
ImFuc2ktcmVnZXgiOiAiMi4xLjEiCisgICAgICB9CisgICAgfSwKKyAgICAic3RyaXAtYm9tIjog
eworICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL3N0cmlwLWJvbS8tL3N0cmlwLWJvbS0yLjAuMC50Z3oiLAorICAg
ICAgImludGVncml0eSI6ICJzaGExLVlobW9WaFpTQkpIelY0aTl2eFJIcVp4K2F3ND0iLAorICAg
ICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJpcy11dGY4Ijog
IjAuMi4xIgorICAgICAgfQorICAgIH0sCisgICAgInN1cHBvcnRzLWNvbG9yIjogeworICAgICAg
InZlcnNpb24iOiAiMy4yLjMiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL3N1cHBvcnRzLWNvbG9yLy0vc3VwcG9ydHMtY29sb3ItMy4yLjMudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1aYXdGQkxPVlFYSFlwa2xHc3E0OHU0cGZWUFk9IiwKKyAg
ICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiaGFzLWZsYWci
OiAiMS4wLjAiCisgICAgICB9CisgICAgfSwKKyAgICAic3ZnbyI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjAuNy4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9zdmdvLy0vc3Znby0wLjcuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLW4xZHlR
VGxTRTF4djc3OUFyK2FrK3FpTFM3VT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVx
dWlyZXMiOiB7CisgICAgICAgICJjb2EiOiAiMS4wLjQiLAorICAgICAgICAiY29sb3JzIjogIjEu
MS4yIiwKKyAgICAgICAgImNzc28iOiAiMi4zLjIiLAorICAgICAgICAianMteWFtbCI6ICIzLjcu
MCIsCisgICAgICAgICJta2RpcnAiOiAiMC41LjEiLAorICAgICAgICAic2F4IjogIjEuMi40IiwK
KyAgICAgICAgIndoZXQuZXh0ZW5kIjogIjAuOS45IgorICAgICAgfQorICAgIH0sCisgICAgInRh
cGFibGUiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjIuOCIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvdGFwYWJsZS8tL3RhcGFibGUtMC4yLjgudGd6IiwK
KyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1tVGNxWEptYjh0OFdDdndOZEw3VTlIbEl6U0k9IiwK
KyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAidGltZS1zdGFtcCI6IHsKKyAgICAgICJ2
ZXJzaW9uIjogIjIuMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy90aW1lLXN0YW1wLy0vdGltZS1zdGFtcC0yLjAuMC50Z3oiLAorICAgICAgImludGVn
cml0eSI6ICJzaGExLWxjYWtSVERoVzZqVzlLUHN1TU9qK3NSdG8xYz0iLAorICAgICAgImRldiI6
IHRydWUKKyAgICB9LAorICAgICJ0aW1lcnMtYnJvd3NlcmlmeSI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjIuMC40IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy90aW1lcnMtYnJvd3NlcmlmeS8tL3RpbWVycy1icm93c2VyaWZ5LTIuMC40LnRneiIsCisgICAg
ICAiaW50ZWdyaXR5IjogInNoYTUxMi11WlloeVUzRVg4TzdIUVArSjlmVFZZd3NxOTBWcjY4eFBF
Rm83eXJWSW1JeFl2SGd1a0JFZ09CL1NnR29vcldWVHpHTS8zWit3VU5uYm9BNE04aldyZz09IiwK
KyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAic2V0aW1t
ZWRpYXRlIjogIjEuMC41IgorICAgICAgfQorICAgIH0sCisgICAgInRvLWFycmF5YnVmZmVyIjog
eworICAgICAgInZlcnNpb24iOiAiMS4wLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL3RvLWFycmF5YnVmZmVyLy0vdG8tYXJyYXlidWZmZXItMS4wLjEu
dGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1mU0tiSDh4amZrWnNvSUVZQ0RhbnFyLzRQ
ME09IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAidG8tZmFzdC1wcm9wZXJ0aWVz
IjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjMiLAorICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL3RvLWZhc3QtcHJvcGVydGllcy8tL3RvLWZhc3QtcHJvcGVy
dGllcy0xLjAuMy50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXVEVngrazJNSmJndUl4
c0c0Nk1GWGVUS0drYz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJ0b3Bvc29y
dCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4zIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy90b3Bvc29ydC8tL3RvcG9zb3J0LTEuMC4zLnRneiIsCisg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtOEN6WXAwdll2aS9BNllZUnc3ckxsYUZ4aHB3PSIsCisg
ICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInRyaW0tcmlnaHQiOiB7CisgICAgICAidmVy
c2lvbiI6ICIxLjAuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvdHJpbS1yaWdodC8tL3RyaW0tcmlnaHQtMS4wLjEudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS15eTRTQXdaK0RJM2g5aFFKUzUva1Z3VHFZQU09IiwKKyAgICAgICJkZXYiOiB0
cnVlCisgICAgfSwKKyAgICAidHR5LWJyb3dzZXJpZnkiOiB7CisgICAgICAidmVyc2lvbiI6ICIw
LjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvdHR5
LWJyb3dzZXJpZnkvLS90dHktYnJvd3NlcmlmeS0wLjAuMC50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGExLW9WZTZRQzJpVHB2NVYvbXFhZFVrN3RRcEFhWT0iLAorICAgICAgImRldiI6IHRy
dWUKKyAgICB9LAorICAgICJ0eXBlLWlzIjogeworICAgICAgInZlcnNpb24iOiAiMS42LjE1IiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy90eXBlLWlzLy0v
dHlwZS1pcy0xLjYuMTUudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS15ckVQdEpDZVJC
eUNoQzZ2NGExa2JJR0FSQkE9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVz
IjogeworICAgICAgICAibWVkaWEtdHlwZXIiOiAiMC4zLjAiLAorICAgICAgICAibWltZS10eXBl
cyI6ICIyLjEuMTYiCisgICAgICB9CisgICAgfSwKKyAgICAidWdsaWZ5LWpzIjogeworICAgICAg
InZlcnNpb24iOiAiMy4wLjI3IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy91Z2xpZnktanMvLS91Z2xpZnktanMtMy4wLjI3LnRneiIsCisgICAgICAiaW50
ZWdyaXR5IjogInNoYTUxMi1IRDhDbXhQWFVJNjJ2NXR3ZWl1bE1jUC9hcEF0eDFEWEdjTlpraEtR
WnlDK01UclRzb0NCYjh5UEF3VnJidnBndzNFcFJVNzZiUmU2YXhqSWlDWWNRZz09IiwKKyAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiY29tbWFuZGVyIjog
IjIuMTEuMCIsCisgICAgICAgICJzb3VyY2UtbWFwIjogIjAuNS42IgorICAgICAgfQorICAgIH0s
CisgICAgInVnbGlmeS10by1icm93c2VyaWZ5IjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjIi
LAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3VnbGlmeS10
by1icm93c2VyaWZ5Ly0vdWdsaWZ5LXRvLWJyb3dzZXJpZnktMS4wLjIudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1iZ2trMXIybXRhL2pTZU9hYldNb1VLRDRncmM9IiwKKyAgICAgICJk
ZXYiOiB0cnVlLAorICAgICAgIm9wdGlvbmFsIjogdHJ1ZQorICAgIH0sCisgICAgInVsdHJvbiI6
IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy91bHRyb24vLS91bHRyb24tMS4xLjAudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1zSG91YWxRYWdWL0dvMHpOUlRPNjdEQjhxR1E9IiwKKyAgICAgICJk
ZXYiOiB0cnVlCisgICAgfSwKKyAgICAidW5kZXJzY29yZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjog
IjEuOC4zIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy91
bmRlcnNjb3JlLy0vdW5kZXJzY29yZS0xLjguMy50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLVR6KzFPeEJ1WUpmOCtjdEJDZktsNmIzNlVDST0iLAorICAgICAgImRldiI6IHRydWUKKyAg
ICB9LAorICAgICJ1bmlxIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjEiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3VuaXEvLS91bmlxLTEuMC4xLnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtc3h4YTZDVklSS09vS0JWQnppc0V1R1duTlA4
PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInVuaXFpZCI6IHsKKyAgICAgICJ2
ZXJzaW9uIjogIjQuMS4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy91bmlxaWQvLS91bmlxaWQtNC4xLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1pU0lOMzJ0MUd1VXJYM0pJU0dOU2haYTdoTUU9IiwKKyAgICAgICJkZXYiOiB0cnVlLAor
ICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAibWFjYWRkcmVzcyI6ICIwLjIuOCIKKyAgICAg
IH0KKyAgICB9LAorICAgICJ1bmlxcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMC4wIiwKKyAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy91bmlxcy8tL3VuaXFz
LTIuMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtLysza3Myc2xLUWFXNXVGbDFL
V2UyNW1PYXdJPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInVucGlwZSI6IHsK
KyAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy91bnBpcGUvLS91bnBpcGUtMS4wLjAudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1zcjlPNkZGS3JtRmx0SUY0S2RJYkx2U1pCT3c9IiwKKyAgICAgICJkZXYi
OiB0cnVlCisgICAgfSwKKyAgICAidXBwZXItY2FzZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEu
MS4zIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy91cHBl
ci1jYXNlLy0vdXBwZXItY2FzZS0xLjEuMy50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGEx
LTlyUlFIQzdFemRKcnA0dm5JaWxoM25kaUZaZz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9
LAorICAgICJ1cmwiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjExLjAiLAorICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3VybC8tL3VybC0wLjExLjAudGd6IiwK
KyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1PRGpwZlB4Z1VoNjNQRkphamxXLzNaNHVLUEU9IiwK
KyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAicHVueWNv
ZGUiOiAiMS4zLjIiLAorICAgICAgICAicXVlcnlzdHJpbmciOiAiMC4yLjAiCisgICAgICB9LAor
ICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAgInB1bnljb2RlIjogeworICAgICAgICAg
ICJ2ZXJzaW9uIjogIjEuMy4yIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvcHVueWNvZGUvLS9wdW55Y29kZS0xLjMuMi50Z3oiLAorICAgICAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1sbE9nTnZ0OEh1UWpRdkl5WE03djZqa214STA9IiwKKyAgICAg
ICAgICAiZGV2IjogdHJ1ZQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAgICAidXJsLWxv
YWRlciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuNS45IiwKKyAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy91cmwtbG9hZGVyLy0vdXJsLWxvYWRlci0wLjUuOS50
Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGE1MTItQjdRWUZ5dnYrZk9CcUJWZWVmc3h2Nmtv
V1d0am1IYU1GVDZLWld0aTRLUnc4WVVEL2hPVSszQUVDdlh1enlWYXdJQngzejd6UVJlalhDRFNP
NWtrMVE9PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAg
ICAgImxvYWRlci11dGlscyI6ICIxLjEuMCIsCisgICAgICAgICJtaW1lIjogIjEuMy40IgorICAg
ICAgfSwKKyAgICAgICJkZXBlbmRlbmNpZXMiOiB7CisgICAgICAgICJsb2FkZXItdXRpbHMiOiB7
CisgICAgICAgICAgInZlcnNpb24iOiAiMS4xLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9sb2FkZXItdXRpbHMvLS9sb2FkZXItdXRpbHMtMS4x
LjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEteVlydlNJdk03YUwvdGVMZVpH
MXFkVVFwOWMwPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVz
IjogeworICAgICAgICAgICAgImJpZy5qcyI6ICIzLjEuMyIsCisgICAgICAgICAgICAiZW1vamlz
LWxpc3QiOiAiMi4xLjAiLAorICAgICAgICAgICAgImpzb241IjogIjAuNS4xIgorICAgICAgICAg
IH0KKyAgICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAgInV0aWwiOiB7CisgICAgICAidmVy
c2lvbiI6ICIwLjEwLjMiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL3V0aWwvLS91dGlsLTAuMTAuMy50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGEx
LWV2c2EvbENBVWtaSW5qMjMvZzdUZVROcXdQaz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAg
ICAicmVxdWlyZXMiOiB7CisgICAgICAgICJpbmhlcml0cyI6ICIyLjAuMSIKKyAgICAgIH0sCisg
ICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAgICAiaW5oZXJpdHMiOiB7CisgICAgICAgICAg
InZlcnNpb24iOiAiMi4wLjEiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9pbmhlcml0cy8tL2luaGVyaXRzLTIuMC4xLnRneiIsCisgICAgICAgICAg
ImludGVncml0eSI6ICJzaGExLXNYMEkweWEwUWo1V2p2OXhuNUd3c2N2ZmFmRT0iLAorICAgICAg
ICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9LAorICAgICJ1dGlsLWRl
cHJlY2F0ZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4yIiwKKyAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy91dGlsLWRlcHJlY2F0ZS8tL3V0aWwtZGVwcmVj
YXRlLTEuMC4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtUlExTnlmcHczbk1uWXZ2
UzFLS0pnVUdhRE04PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInV0aWxhIjog
eworICAgICAgInZlcnNpb24iOiAiMC40LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL3V0aWxhLy0vdXRpbGEtMC40LjAudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1paGFnWFVSV1Y2T3VwZTdNV3hLaytsTjVkeXc9IiwKKyAgICAgICJkZXYi
OiB0cnVlCisgICAgfSwKKyAgICAidXRpbHMtbWVyZ2UiOiB7CisgICAgICAidmVyc2lvbiI6ICIx
LjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvdXRp
bHMtbWVyZ2UvLS91dGlscy1tZXJnZS0xLjAuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLUFwVDdraXU1TjFGVFZCeFBjSllqSHloOGl2Zz0iLAorICAgICAgImRldiI6IHRydWUKKyAg
ICB9LAorICAgICJ2YWxpZGF0ZS1ucG0tcGFja2FnZS1saWNlbnNlIjogeworICAgICAgInZlcnNp
b24iOiAiMy4wLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL3ZhbGlkYXRlLW5wbS1wYWNrYWdlLWxpY2Vuc2UvLS92YWxpZGF0ZS1ucG0tcGFja2FnZS1s
aWNlbnNlLTMuMC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtS0FTNnZuRXEwemVV
V2F6NzRrZEdxeXd3UDd3PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6
IHsKKyAgICAgICAgInNwZHgtY29ycmVjdCI6ICIxLjAuMiIsCisgICAgICAgICJzcGR4LWV4cHJl
c3Npb24tcGFyc2UiOiAiMS4wLjQiCisgICAgICB9CisgICAgfSwKKyAgICAidmFyeSI6IHsKKyAg
ICAgICJ2ZXJzaW9uIjogIjEuMS4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy92YXJ5Ly0vdmFyeS0xLjEuMS50Z3oiLAorICAgICAgImludGVncml0eSI6
ICJzaGExLVoxTmV1MmxNSFZJbGRGZVlSbVV5UDFoK2pUYz0iLAorICAgICAgImRldiI6IHRydWUK
KyAgICB9LAorICAgICJ2ZW5kb3JzIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjEiLAorICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3ZlbmRvcnMvLS92ZW5k
b3JzLTEuMC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtTjYxenlPNUJmN1BWZ09l
Rk1TTUgwblNFZnlJPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInZtLWJyb3dz
ZXJpZnkiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjAuNCIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvdm0tYnJvd3NlcmlmeS8tL3ZtLWJyb3dzZXJpZnkt
MC4wLjQudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1YWDZrVzc3NTVLYi9aZmxVT09D
b2ZEVjlXbk09IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAg
ICAgICAiaW5kZXhvZiI6ICIwLjAuMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJ2dWUiOiB7Cisg
ICAgICAidmVyc2lvbiI6ICIyLjQuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvdnVlLy0vdnVlLTIuNC4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5Ijog
InNoYTUxMi1HQjVyK0NzckNISUIxUG9YdDR3Z0JpZW5qRjNXR1lPSWFUSzI3dERrOTZzWnhwTDVS
d1Jyc2k5STNFQ3dGdDh4OHFBbXhUMnhrMXZzWTJWcGNuOW5Jdz09IgorICAgIH0sCisgICAgInZ1
ZS1ob3QtcmVsb2FkLWFwaSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMS4wIiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy92dWUtaG90LXJlbG9hZC1hcGkv
LS92dWUtaG90LXJlbG9hZC1hcGktMi4xLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1uS1dLYmczNUI0VlV6aGNJYUl0bGVIVk5odDQ9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAg
fSwKKyAgICAidnVlLWxvYWRlciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEyLjIuMiIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvdnVlLWxvYWRlci8tL3Z1
ZS1sb2FkZXItMTIuMi4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1ERCtzWWFX
UTFlc1lML3RFd0pwb0VHRS9QRlV1MzJmcDdpT3VNZjRTcmEzZGd4cXI0aGFUT2tWYW0yVlkwLzVE
NExHOGVBY0I5NHJ1WEtlUVcyL2lrdz09IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJl
cXVpcmVzIjogeworICAgICAgICAiY29uc29saWRhdGUiOiAiMC4xNC41IiwKKyAgICAgICAgImhh
c2gtc3VtIjogIjEuMC4yIiwKKyAgICAgICAgImpzLWJlYXV0aWZ5IjogIjEuNi4xNCIsCisgICAg
ICAgICJsb2FkZXItdXRpbHMiOiAiMS4xLjAiLAorICAgICAgICAibHJ1LWNhY2hlIjogIjQuMS4x
IiwKKyAgICAgICAgInBvc3Rjc3MiOiAiNS4yLjE3IiwKKyAgICAgICAgInBvc3Rjc3MtbG9hZC1j
b25maWciOiAiMS4yLjAiLAorICAgICAgICAicG9zdGNzcy1zZWxlY3Rvci1wYXJzZXIiOiAiMi4y
LjMiLAorICAgICAgICAicmVzb2x2ZSI6ICIxLjQuMCIsCisgICAgICAgICJzb3VyY2UtbWFwIjog
IjAuNS42IiwKKyAgICAgICAgInZ1ZS1ob3QtcmVsb2FkLWFwaSI6ICIyLjEuMCIsCisgICAgICAg
ICJ2dWUtc3R5bGUtbG9hZGVyIjogIjMuMC4xIiwKKyAgICAgICAgInZ1ZS10ZW1wbGF0ZS1lczIw
MTUtY29tcGlsZXIiOiAiMS41LjMiCisgICAgICB9LAorICAgICAgImRlcGVuZGVuY2llcyI6IHsK
KyAgICAgICAgImxvYWRlci11dGlscyI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjEuMCIs
CisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2xvYWRl
ci11dGlscy8tL2xvYWRlci11dGlscy0xLjEuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS15WXJ2U0l2TTdhTC90ZUxlWkcxcWRVUXA5YzA9IiwKKyAgICAgICAgICAiZGV2Ijog
dHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiYmlnLmpzIjogIjMu
MS4zIiwKKyAgICAgICAgICAgICJlbW9qaXMtbGlzdCI6ICIyLjEuMCIsCisgICAgICAgICAgICAi
anNvbjUiOiAiMC41LjEiCisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgfSwK
KyAgICAidnVlLXN0eWxlLWxvYWRlciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjMuMC4xIiwKKyAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy92dWUtc3R5bGUtbG9h
ZGVyLy0vdnVlLXN0eWxlLWxvYWRlci0zLjAuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLXlMWTV1eThrdXZuWGduVGNGK1R5Wk1IZTJnZz0iLAorICAgICAgImRldiI6IHRydWUsCisg
ICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJoYXNoLXN1bSI6ICIxLjAuMiIsCisgICAgICAg
ICJsb2FkZXItdXRpbHMiOiAiMS4xLjAiCisgICAgICB9LAorICAgICAgImRlcGVuZGVuY2llcyI6
IHsKKyAgICAgICAgImxvYWRlci11dGlscyI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjEu
MCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2xv
YWRlci11dGlscy8tL2xvYWRlci11dGlscy0xLjEuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS15WXJ2U0l2TTdhTC90ZUxlWkcxcWRVUXA5YzA9IiwKKyAgICAgICAgICAiZGV2
IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiYmlnLmpzIjog
IjMuMS4zIiwKKyAgICAgICAgICAgICJlbW9qaXMtbGlzdCI6ICIyLjEuMCIsCisgICAgICAgICAg
ICAianNvbjUiOiAiMC41LjEiCisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAg
fSwKKyAgICAidnVlLXRlbXBsYXRlLWNvbXBpbGVyIjogeworICAgICAgInZlcnNpb24iOiAiMi40
LjIiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Z1ZS10
ZW1wbGF0ZS1jb21waWxlci8tL3Z1ZS10ZW1wbGF0ZS1jb21waWxlci0yLjQuMi50Z3oiLAorICAg
ICAgImludGVncml0eSI6ICJzaGE1MTItc0thMkJkdmgrajZWOWVRU3lKUnhzZjhmYWswRnRRa0Na
MTQ1YVlGRFZ3WkJoSE9UdDF2S3JPRExvNFJlbEkxZFVjektsRENwNWFaOU1EN3VKT1p3dnc9PSIs
CisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImRlLWlu
ZGVudCI6ICIxLjAuMiIsCisgICAgICAgICJoZSI6ICIxLjEuMSIKKyAgICAgIH0KKyAgICB9LAor
ICAgICJ2dWUtdGVtcGxhdGUtZXMyMDE1LWNvbXBpbGVyIjogeworICAgICAgInZlcnNpb24iOiAi
MS41LjMiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Z1
ZS10ZW1wbGF0ZS1lczIwMTUtY29tcGlsZXIvLS92dWUtdGVtcGxhdGUtZXMyMDE1LWNvbXBpbGVy
LTEuNS4zLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1qM1RCRHRqcXo3cEM5WFV6
ZVNlcUY1b2VrcVBhaHh5VUhzZEcra1pLREgvVi9EVGV4cTVpbllkTEdzdG5xQ1Vsam9MQzlMVGoz
SC81aG15VG9lU2QxQT09IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAid2F0Y2hw
YWNrIjogeworICAgICAgInZlcnNpb24iOiAiMS40LjAiLAorICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3dhdGNocGFjay8tL3dhdGNocGFjay0xLjQuMC50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLVNoUnl2THVWSzlDcHUwQTJnQitWVGZzNStxdz0i
LAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJhc3lu
YyI6ICIyLjUuMCIsCisgICAgICAgICJjaG9raWRhciI6ICIxLjcuMCIsCisgICAgICAgICJncmFj
ZWZ1bC1mcyI6ICI0LjEuMTEiCisgICAgICB9CisgICAgfSwKKyAgICAid2VicGFjayI6IHsKKyAg
ICAgICJ2ZXJzaW9uIjogIjIuNy4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy93ZWJwYWNrLy0vd2VicGFjay0yLjcuMC50Z3oiLAorICAgICAgImludGVn
cml0eSI6ICJzaGE1MTItTWpBQTBacU8xYmE3WlFKUm5vQ2RiTTU2bW1GcGlwT1BVdi92UXB3d2ZT
STQycDVQVkRkb2l1SzJBTDJGd0ZVVmdUODU5SnI0M2JGWlhSZy9MTnNxdmc9PSIsCisgICAgICAi
ZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImFjb3JuIjogIjUuMS4x
IiwKKyAgICAgICAgImFjb3JuLWR5bmFtaWMtaW1wb3J0IjogIjIuMC4yIiwKKyAgICAgICAgImFq
diI6ICI0LjExLjgiLAorICAgICAgICAiYWp2LWtleXdvcmRzIjogIjEuNS4xIiwKKyAgICAgICAg
ImFzeW5jIjogIjIuNS4wIiwKKyAgICAgICAgImVuaGFuY2VkLXJlc29sdmUiOiAiMy40LjEiLAor
ICAgICAgICAiaW50ZXJwcmV0IjogIjEuMC4zIiwKKyAgICAgICAgImpzb24tbG9hZGVyIjogIjAu
NS43IiwKKyAgICAgICAgImpzb241IjogIjAuNS4xIiwKKyAgICAgICAgImxvYWRlci1ydW5uZXIi
OiAiMi4zLjAiLAorICAgICAgICAibG9hZGVyLXV0aWxzIjogIjAuMi4xNyIsCisgICAgICAgICJt
ZW1vcnktZnMiOiAiMC40LjEiLAorICAgICAgICAibWtkaXJwIjogIjAuNS4xIiwKKyAgICAgICAg
Im5vZGUtbGlicy1icm93c2VyIjogIjIuMC4wIiwKKyAgICAgICAgInNvdXJjZS1tYXAiOiAiMC41
LjYiLAorICAgICAgICAic3VwcG9ydHMtY29sb3IiOiAiMy4yLjMiLAorICAgICAgICAidGFwYWJs
ZSI6ICIwLjIuOCIsCisgICAgICAgICJ1Z2xpZnktanMiOiAiMi44LjI5IiwKKyAgICAgICAgIndh
dGNocGFjayI6ICIxLjQuMCIsCisgICAgICAgICJ3ZWJwYWNrLXNvdXJjZXMiOiAiMS4wLjEiLAor
ICAgICAgICAieWFyZ3MiOiAiNi42LjAiCisgICAgICB9LAorICAgICAgImRlcGVuZGVuY2llcyI6
IHsKKyAgICAgICAgImFqdiI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICI0LjExLjgiLAorICAg
ICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9hanYvLS9hanYt
NC4xMS44LnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLWd2K3dLeW5tWXE1VHZj
SUs4VmxIY0djNXhUWT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJyZXF1
aXJlcyI6IHsKKyAgICAgICAgICAgICJjbyI6ICI0LjYuMCIsCisgICAgICAgICAgICAianNvbi1z
dGFibGUtc3RyaW5naWZ5IjogIjEuMC4xIgorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAg
ICAgInVnbGlmeS1qcyI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIyLjguMjkiLAorICAgICAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy91Z2xpZnktanMvLS91
Z2xpZnktanMtMi44LjI5LnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLUtjVnpN
VWdGZTdUaDkxM3pXM3FjdHk1cVdkMD0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
ICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJzb3VyY2UtbWFwIjogIjAuNS42IiwKKyAg
ICAgICAgICAgICJ1Z2xpZnktdG8tYnJvd3NlcmlmeSI6ICIxLjAuMiIsCisgICAgICAgICAgICAi
eWFyZ3MiOiAiMy4xMC4wIgorICAgICAgICAgIH0sCisgICAgICAgICAgImRlcGVuZGVuY2llcyI6
IHsKKyAgICAgICAgICAgICJ5YXJncyI6IHsKKyAgICAgICAgICAgICAgInZlcnNpb24iOiAiMy4x
MC4wIiwKKyAgICAgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL3lhcmdzLy0veWFyZ3MtMy4xMC4wLnRneiIsCisgICAgICAgICAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS05KzU3MkZmZGZCMHRPTURuVHZ2V2dkRkRIOUU9IiwKKyAgICAgICAgICAgICAgImRl
diI6IHRydWUsCisgICAgICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICAgICAi
Y2FtZWxjYXNlIjogIjEuMi4xIiwKKyAgICAgICAgICAgICAgICAiY2xpdWkiOiAiMi4xLjAiLAor
ICAgICAgICAgICAgICAgICJkZWNhbWVsaXplIjogIjEuMi4wIiwKKyAgICAgICAgICAgICAgICAi
d2luZG93LXNpemUiOiAiMC4xLjAiCisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9LAorICAgICJ3ZWJwYWNrLWJ1bmRs
ZS1hbmFseXplciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuOS4wIiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy93ZWJwYWNrLWJ1bmRsZS1hbmFseXplci8t
L3dlYnBhY2stYnVuZGxlLWFuYWx5emVyLTIuOS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtdFl2RFRNTUxKLy9icnowQXZ5ZXJwdm9weHVNPSIsCisgICAgICAiZGV2IjogdHJ1ZSwK
KyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImFjb3JuIjogIjUuMS4xIiwKKyAgICAgICAg
ImNoYWxrIjogIjEuMS4zIiwKKyAgICAgICAgImNvbW1hbmRlciI6ICIyLjExLjAiLAorICAgICAg
ICAiZWpzIjogIjIuNS43IiwKKyAgICAgICAgImV4cHJlc3MiOiAiNC4xNS40IiwKKyAgICAgICAg
ImZpbGVzaXplIjogIjMuNS4xMCIsCisgICAgICAgICJnemlwLXNpemUiOiAiMy4wLjAiLAorICAg
ICAgICAibG9kYXNoIjogIjQuMTcuNCIsCisgICAgICAgICJta2RpcnAiOiAiMC41LjEiLAorICAg
ICAgICAib3BlbmVyIjogIjEuNC4zIiwKKyAgICAgICAgIndzIjogIjIuMy4xIgorICAgICAgfQor
ICAgIH0sCisgICAgIndlYnBhY2stZGV2LW1pZGRsZXdhcmUiOiB7CisgICAgICAidmVyc2lvbiI6
ICIxLjEyLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L3dlYnBhY2stZGV2LW1pZGRsZXdhcmUvLS93ZWJwYWNrLWRldi1taWRkbGV3YXJlLTEuMTIuMC50
Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLTAwNysreTdkcCtIVHRkdmdjb2xSTWhsbEZ3
az0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJt
ZW1vcnktZnMiOiAiMC40LjEiLAorICAgICAgICAibWltZSI6ICIxLjMuNCIsCisgICAgICAgICJw
YXRoLWlzLWFic29sdXRlIjogIjEuMC4xIiwKKyAgICAgICAgInJhbmdlLXBhcnNlciI6ICIxLjIu
MCIsCisgICAgICAgICJ0aW1lLXN0YW1wIjogIjIuMC4wIgorICAgICAgfQorICAgIH0sCisgICAg
IndlYnBhY2staG90LW1pZGRsZXdhcmUiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjE4LjIiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3dlYnBhY2staG90
LW1pZGRsZXdhcmUvLS93ZWJwYWNrLWhvdC1taWRkbGV3YXJlLTIuMTguMi50Z3oiLAorICAgICAg
ImludGVncml0eSI6ICJzaGE1MTItZEI3dU9uVVdzb2paSUFDNk53aTV2M3R1YVFOZDJpN3A0dkY1
THNKUnlvVE9ncjJmUllRZE1LUXhSWklaWmF6MGNUUEJYOHJ2Y1dVMUE2L243SlRJVGc9PSIsCisg
ICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImFuc2ktaHRt
bCI6ICIwLjAuNyIsCisgICAgICAgICJodG1sLWVudGl0aWVzIjogIjEuMi4xIiwKKyAgICAgICAg
InF1ZXJ5c3RyaW5nIjogIjAuMi4wIiwKKyAgICAgICAgInN0cmlwLWFuc2kiOiAiMy4wLjEiCisg
ICAgICB9CisgICAgfSwKKyAgICAid2VicGFjay1tZXJnZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjog
IjQuMS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy93
ZWJwYWNrLW1lcmdlLy0vd2VicGFjay1tZXJnZS00LjEuMC50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGExLWF0Y2lJN1BndURmbE1lUlpmQm1ma0pOaFVSND0iLAorICAgICAgImRldiI6IHRy
dWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJsb2Rhc2giOiAiNC4xNy40IgorICAg
ICAgfQorICAgIH0sCisgICAgIndlYnBhY2stc291cmNlcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjog
IjEuMC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy93
ZWJwYWNrLXNvdXJjZXMvLS93ZWJwYWNrLXNvdXJjZXMtMS4wLjEudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhNTEyLTA1dE14aXBVQ3dIcVlhVlM4eGM3c1lQVGx5OFB6WGF5UkNCNGRUeExo
V1RxbEtVaXdINmV6bUVlME9TcmVMMWMzMExBdUEzWnFtYyt1RUJVR0ZKRGp3PT0iLAorICAgICAg
ImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJzb3VyY2UtbGlzdC1t
YXAiOiAiMi4wLjAiLAorICAgICAgICAic291cmNlLW1hcCI6ICIwLjUuNiIKKyAgICAgIH0sCisg
ICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAgICAic291cmNlLWxpc3QtbWFwIjogeworICAg
ICAgICAgICJ2ZXJzaW9uIjogIjIuMC4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc291cmNlLWxpc3QtbWFwLy0vc291cmNlLWxpc3QtbWFwLTIu
MC4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGE1MTItSTJVbXVKU1JyL1Q4amlz
aVJPTFUzQTNsdHIrc3dwbmlTbU5QSTRNbDNaQ1g2dFZuRHN1WnpLN0YyaGw1alRxYlpCV0NFS2xq
NUhSUWlQRXhYTGdFOEE9PSIsCisgICAgICAgICAgImRldiI6IHRydWUKKyAgICAgICAgfQorICAg
ICAgfQorICAgIH0sCisgICAgIndoZXQuZXh0ZW5kIjogeworICAgICAgInZlcnNpb24iOiAiMC45
LjkiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3doZXQu
ZXh0ZW5kLy0vd2hldC5leHRlbmQtMC45LjkudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS0rSGZWdjJTTWwrV3FWQyt0d1cxcUpadWNFYUU9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAg
fSwKKyAgICAid2hpY2gtbW9kdWxlIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAorICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3doaWNoLW1vZHVsZS8t
L3doaWNoLW1vZHVsZS0xLjAuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXU2WThx
R0dVaVpUL01IYzJDSjQ3bGdKc0trOD0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAg
ICJ3aW5kb3ctc2l6ZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMS4wIiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy93aW5kb3ctc2l6ZS8tL3dpbmRvdy1z
aXplLTAuMS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtVkRqTkxxazdJQzc2T2hu
K2lJZXU1OGxQbkowPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgIndvcmR3cmFw
IjogeworICAgICAgInZlcnNpb24iOiAiMC4wLjIiLAorICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL3dvcmR3cmFwLy0vd29yZHdyYXAtMC4wLjIudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS10NVpwdTBMc3RBbjRQVmc4clZMS0YrcWhaRDg9IiwKKyAg
ICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAid3JhcC1hbnNpIjogeworICAgICAgInZlcnNp
b24iOiAiMi4xLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL3dyYXAtYW5zaS8tL3dyYXAtYW5zaS0yLjEuMC50Z3oiLAorICAgICAgImludGVncml0eSI6
ICJzaGExLTJQdzlLRTNRVjVUK2hKYzhyczNSejRKUDNZVT0iLAorICAgICAgImRldiI6IHRydWUs
CisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJzdHJpbmctd2lkdGgiOiAiMS4wLjIiLAor
ICAgICAgICAic3RyaXAtYW5zaSI6ICIzLjAuMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJ3cmFw
cHkiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvd3JhcHB5Ly0vd3JhcHB5LTEuMC4yLnRneiIsCisgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtdFNROWp6N0Jxalh4TmtZRnZBMFFOdU1LdHA4PSIsCisgICAg
ICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgIndzIjogeworICAgICAgInZlcnNpb24iOiAiMi4z
LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3dzLy0v
d3MtMi4zLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1hNVN6NUVmTGFqWS9lRjZ2
bEs5aldlam9ISUE9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogewor
ICAgICAgICAic2FmZS1idWZmZXIiOiAiNS4wLjEiLAorICAgICAgICAidWx0cm9uIjogIjEuMS4w
IgorICAgICAgfSwKKyAgICAgICJkZXBlbmRlbmNpZXMiOiB7CisgICAgICAgICJzYWZlLWJ1ZmZl
ciI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICI1LjAuMSIsCisgICAgICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3NhZmUtYnVmZmVyLy0vc2FmZS1idWZmZXIt
NS4wLjEudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtMG1QS1ZHbHMyS01HdGNw
bFVla3Q1WGtZKytjPSIsCisgICAgICAgICAgImRldiI6IHRydWUKKyAgICAgICAgfQorICAgICAg
fQorICAgIH0sCisgICAgInhtbC1jaGFyLWNsYXNzZXMiOiB7CisgICAgICAidmVyc2lvbiI6ICIx
LjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcveG1s
LWNoYXItY2xhc3Nlcy8tL3htbC1jaGFyLWNsYXNzZXMtMS4wLjAudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1aR1Y0U0tJUC9GMzFnNlFxMktKM3RGRXJ2RTA9IiwKKyAgICAgICJkZXYi
OiB0cnVlCisgICAgfSwKKyAgICAieHRlbmQiOiB7CisgICAgICAidmVyc2lvbiI6ICI0LjAuMSIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcveHRlbmQvLS94
dGVuZC00LjAuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXBjYlZNcjVsYmlQYmdn
NzdsRG9mQkptTlk2OD0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJ5MThuIjog
eworICAgICAgInZlcnNpb24iOiAiMy4yLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL3kxOG4vLS95MThuLTMuMi4xLnRneiIsCisgICAgICAiaW50ZWdy
aXR5IjogInNoYTEtYlJYN3FJVEFobm5BMTM2STUzV2VnUjRIK2tFPSIsCisgICAgICAiZGV2Ijog
dHJ1ZQorICAgIH0sCisgICAgInlhbGxpc3QiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjEuMiIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcveWFsbGlzdC8t
L3lhbGxpc3QtMi4xLjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1IQkg1SVk4SFlJ
bWtmZFVTK1R4bW1hYW9IVkk9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAieWFy
Z3MiOiB7CisgICAgICAidmVyc2lvbiI6ICI2LjYuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcveWFyZ3MvLS95YXJncy02LjYuMC50Z3oiLAorICAgICAg
ImludGVncml0eSI6ICJzaGExLWVDN0NIdlFETkYrRENvQ01vOVVUcjFZR1VnZz0iLAorICAgICAg
ImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJjYW1lbGNhc2UiOiAi
My4wLjAiLAorICAgICAgICAiY2xpdWkiOiAiMy4yLjAiLAorICAgICAgICAiZGVjYW1lbGl6ZSI6
ICIxLjIuMCIsCisgICAgICAgICJnZXQtY2FsbGVyLWZpbGUiOiAiMS4wLjIiLAorICAgICAgICAi
b3MtbG9jYWxlIjogIjEuNC4wIiwKKyAgICAgICAgInJlYWQtcGtnLXVwIjogIjEuMC4xIiwKKyAg
ICAgICAgInJlcXVpcmUtZGlyZWN0b3J5IjogIjIuMS4xIiwKKyAgICAgICAgInJlcXVpcmUtbWFp
bi1maWxlbmFtZSI6ICIxLjAuMSIsCisgICAgICAgICJzZXQtYmxvY2tpbmciOiAiMi4wLjAiLAor
ICAgICAgICAic3RyaW5nLXdpZHRoIjogIjEuMC4yIiwKKyAgICAgICAgIndoaWNoLW1vZHVsZSI6
ICIxLjAuMCIsCisgICAgICAgICJ5MThuIjogIjMuMi4xIiwKKyAgICAgICAgInlhcmdzLXBhcnNl
ciI6ICI0LjIuMSIKKyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAgICAi
Y2FtZWxjYXNlIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjMuMC4wIiwKKyAgICAgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY2FtZWxjYXNlLy0vY2FtZWxj
YXNlLTMuMC4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLU12eExuODJ2aEYv
TjkrYzd1WHlzSW1Id3F3bz0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisg
ICAgICAgICJjbGl1aSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIzLjIuMCIsCisgICAgICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2NsaXVpLy0vY2xpdWkt
My4yLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtRWdZQlUzcVJiU21VRDVO
Tm83U05XRm81SVQwPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVp
cmVzIjogeworICAgICAgICAgICAgInN0cmluZy13aWR0aCI6ICIxLjAuMiIsCisgICAgICAgICAg
ICAic3RyaXAtYW5zaSI6ICIzLjAuMSIsCisgICAgICAgICAgICAid3JhcC1hbnNpIjogIjIuMS4w
IgorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAgInlhcmdzLXBh
cnNlciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjQuMi4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy95YXJncy1wYXJzZXIvLS95YXJncy1wYXJzZXItNC4y
LjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1LY3pxd054UEE4YkllMHFmSVgzUmpK
OTBoeHc9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAg
ICAiY2FtZWxjYXNlIjogIjMuMC4wIgorICAgICAgfSwKKyAgICAgICJkZXBlbmRlbmNpZXMiOiB7
CisgICAgICAgICJjYW1lbGNhc2UiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMy4wLjAiLAor
ICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jYW1lbGNh
c2UvLS9jYW1lbGNhc2UtMy4wLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
TXZ4TG44MnZoRi9OOStjN3VYeXNJbUh3cXdvPSIsCisgICAgICAgICAgImRldiI6IHRydWUKKyAg
ICAgICAgfQorICAgICAgfQorICAgIH0KKyAgfQorfQpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VU
ZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMv
dnVlanMtY2xpL3BhY2thZ2UuanNvbiBiL1BlcmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIvcmVz
b3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9wYWNrYWdlLmpz
b24KaW5kZXggYzE4YjNmZDQwNmNmMTdlYjMzNTFlNzhkODMwNjNlYWViNmQ1M2RlYi4uN2Y0MDc2
YTcyZTNmODM5OWEwYjYzMTJlNmQ5OTY2MjU2MzFjNTE1YiAxMDA2NDQKLS0tIGEvUGVyZm9ybWFu
Y2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBs
ZXMvdnVlanMtY2xpL3BhY2thZ2UuanNvbgorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21l
dGVyL3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvcGFj
a2FnZS5qc29uCkBAIC0xLDkgKzEsNiBAQAogewotICAibmFtZSI6ICJ2dWUtY2xpLXRvZG9tdmMi
LAotICAidmVyc2lvbiI6ICIxLjAuMCIsCi0gICJkZXNjcmlwdGlvbiI6ICJWdWUuanMgVG9kb01W
QyIsCi0gICJhdXRob3IiOiAiVGhlIFRvZG9NVkMgYXV0aG9ycyIsCiAgICJwcml2YXRlIjogdHJ1
ZSwKKyAgImF1dGhvciI6ICJUaGUgVG9kb01WQyBhdXRob3JzIiwKICAgInNjcmlwdHMiOiB7CiAg
ICAgImRldiI6ICJub2RlIGJ1aWxkL2Rldi1zZXJ2ZXIuanMiLAogICAgICJidWlsZCI6ICJub2Rl
IGJ1aWxkL2J1aWxkLmpzIiwKQEAgLTExLDQ0ICs4LDQzIEBACiAgIH0sCiAgICJkZXBlbmRlbmNp
ZXMiOiB7CiAgICAgImRpcmVjdG9yIjogIl4xLjIuOCIsCi0gICAgInZ1ZSI6ICJeMi4xLjAiCisg
ICAgInZ1ZSI6ICJeMi40LjIiCiAgIH0sCiAgICJkZXZEZXBlbmRlbmNpZXMiOiB7Ci0gICAgImF1
dG9wcmVmaXhlciI6ICJeNi40LjAiLAotICAgICJiYWJlbC1jb3JlIjogIl42LjAuMCIsCi0gICAg
ImJhYmVsLWVzbGludCI6ICJeNy4wLjAiLAotICAgICJiYWJlbC1sb2FkZXIiOiAiXjYuMC4wIiwK
LSAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1ydW50aW1lIjogIl42LjAuMCIsCi0gICAgImJh
YmVsLXByZXNldC1lczIwMTUiOiAiXjYuMC4wIiwKLSAgICAiYmFiZWwtcHJlc2V0LXN0YWdlLTIi
OiAiXjYuMC4wIiwKLSAgICAiYmFiZWwtcmVnaXN0ZXIiOiAiXjYuMC4wIiwKKyAgICAiYXV0b3By
ZWZpeGVyIjogIl42LjcuMiIsCisgICAgImJhYmVsLWNvcmUiOiAiXjYuMjIuMSIsCisgICAgImJh
YmVsLWxvYWRlciI6ICJeNi4yLjEwIiwKKyAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1ydW50
aW1lIjogIl42LjIyLjAiLAorICAgICJiYWJlbC1wcmVzZXQtZW52IjogIl4xLjMuMiIsCisgICAg
ImJhYmVsLXByZXNldC1lczIwMTUiOiAiXjYuMjQuMSIsCisgICAgImJhYmVsLXByZXNldC1zdGFn
ZS0yIjogIl42LjIyLjAiLAorICAgICJiYWJlbC1yZWdpc3RlciI6ICJeNi4yMi4wIiwKICAgICAi
Y2hhbGsiOiAiXjEuMS4zIiwKLSAgICAiY29ubmVjdC1oaXN0b3J5LWFwaS1mYWxsYmFjayI6ICJe
MS4xLjAiLAotICAgICJjc3MtbG9hZGVyIjogIl4wLjI1LjAiLAotICAgICJlc2xpbnQiOiAiXjMu
Ny4xIiwKLSAgICAiZXNsaW50LWZyaWVuZGx5LWZvcm1hdHRlciI6ICJeMi4wLjUiLAotICAgICJl
c2xpbnQtbG9hZGVyIjogIl4xLjUuMCIsCi0gICAgImVzbGludC1wbHVnaW4taHRtbCI6ICJeMS4z
LjAiLAorICAgICJjb25uZWN0LWhpc3RvcnktYXBpLWZhbGxiYWNrIjogIl4xLjMuMCIsCisgICAg
ImNvcHktd2VicGFjay1wbHVnaW4iOiAiXjQuMC4xIiwKKyAgICAiY3NzLWxvYWRlciI6ICJeMC4y
OC4wIiwKICAgICAiZXZlbnRzb3VyY2UtcG9seWZpbGwiOiAiXjAuOS42IiwKLSAgICAiZXhwcmVz
cyI6ICJeNC4xMy4zIiwKLSAgICAiZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luIjogIl4xLjAu
MSIsCi0gICAgImZpbGUtbG9hZGVyIjogIl4wLjkuMCIsCi0gICAgImZ1bmN0aW9uLWJpbmQiOiAi
XjEuMC4yIiwKLSAgICAiaHRtbC13ZWJwYWNrLXBsdWdpbiI6ICJeMi44LjEiLAotICAgICJodHRw
LXByb3h5LW1pZGRsZXdhcmUiOiAiXjAuMTcuMiIsCi0gICAgImpzb24tbG9hZGVyIjogIl4wLjUu
NCIsCi0gICAgInNlbXZlciI6ICJeNS4zLjAiLAorICAgICJleHByZXNzIjogIl40LjE0LjEiLAor
ICAgICJleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW4iOiAiXjIuMC4wIiwKKyAgICAiZmlsZS1s
b2FkZXIiOiAiXjAuMTEuMSIsCisgICAgImZyaWVuZGx5LWVycm9ycy13ZWJwYWNrLXBsdWdpbiI6
ICJeMS4xLjMiLAorICAgICJodG1sLXdlYnBhY2stcGx1Z2luIjogIl4yLjI4LjAiLAorICAgICJo
dHRwLXByb3h5LW1pZGRsZXdhcmUiOiAiXjAuMTcuMyIsCiAgICAgIm9wbiI6ICJeNC4wLjIiLAot
ICAgICJvcmEiOiAiXjAuMy4wIiwKLSAgICAic2hlbGxqcyI6ICJeMC43LjQiLAotICAgICJ1cmwt
bG9hZGVyIjogIl4wLjUuNyIsCi0gICAgInZ1ZS1sb2FkZXIiOiAiXjEwLjAuMCIsCi0gICAgInZ1
ZS1zdHlsZS1sb2FkZXIiOiAiXjEuMC4wIiwKLSAgICAidnVlLXRlbXBsYXRlLWNvbXBpbGVyIjog
Il4yLjEuMCIsCi0gICAgIndlYnBhY2siOiAiXjEuMTMuMiIsCi0gICAgIndlYnBhY2stZGV2LW1p
ZGRsZXdhcmUiOiAiXjEuOC4zIiwKLSAgICAid2VicGFjay1ob3QtbWlkZGxld2FyZSI6ICJeMi4x
Mi4yIiwKLSAgICAid2VicGFjay1tZXJnZSI6ICJeMC4xNC4xIgorICAgICJvcHRpbWl6ZS1jc3Mt
YXNzZXRzLXdlYnBhY2stcGx1Z2luIjogIl4xLjMuMCIsCisgICAgIm9yYSI6ICJeMS4yLjAiLAor
ICAgICJyaW1yYWYiOiAiXjIuNi4wIiwKKyAgICAic2VtdmVyIjogIl41LjMuMCIsCisgICAgInNo
ZWxsanMiOiAiXjAuNy42IiwKKyAgICAidXJsLWxvYWRlciI6ICJeMC41LjgiLAorICAgICJ2dWUt
bG9hZGVyIjogIl4xMi4xLjAiLAorICAgICJ2dWUtc3R5bGUtbG9hZGVyIjogIl4zLjAuMSIsCisg
ICAgInZ1ZS10ZW1wbGF0ZS1jb21waWxlciI6ICJeMi4zLjMiLAorICAgICJ3ZWJwYWNrIjogIl4y
LjYuMSIsCisgICAgIndlYnBhY2stYnVuZGxlLWFuYWx5emVyIjogIl4yLjIuMSIsCisgICAgIndl
YnBhY2stZGV2LW1pZGRsZXdhcmUiOiAiXjEuMTAuMCIsCisgICAgIndlYnBhY2staG90LW1pZGRs
ZXdhcmUiOiAiXjIuMTguMCIsCisgICAgIndlYnBhY2stbWVyZ2UiOiAiXjQuMS4wIgogICB9LAog
ICAiZW5naW5lcyI6IHsKICAgICAibm9kZSI6ICI+PSA0LjAuMCIsCmRpZmYgLS1naXQgYS9QZXJm
b3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1l
eGFtcGxlcy92dWVqcy1jbGkvc3JjL2NvbXBvbmVudHMvVG9kb3MudnVlIGIvUGVyZm9ybWFuY2VU
ZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMv
dnVlanMtY2xpL3NyYy9jb21wb25lbnRzL1RvZG9zLnZ1ZQppbmRleCA4MWY2NzNhMTI3NjVkNzk2
NmVhODBhYTEzNWExOWUyNjI0ZTZlMWQ4Li40YzIwYjRiM2FlNDUxZmY0ZDMwNDNmYjIzNjJhMjc4
MjEwNDBkMTJhIDEwMDY0NAotLS0gYS9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jlc291
cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvc3JjL2NvbXBvbmVu
dHMvVG9kb3MudnVlCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2Vz
L3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9zcmMvY29tcG9uZW50cy9U
b2Rvcy52dWUKQEAgLTE2LDcgKzE2LDcgQEAKICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5
cGU9InRleHQiIGNsYXNzPSJlZGl0IiB2LW1vZGVsPSJ0b2RvLnRpdGxlIiBAa2V5dXAuZW50ZXI9
ImRvbmVFZGl0IiBAYmx1cj0iZG9uZUVkaXQiIHYtdG9kb0ZvY3VzPSJ0b2RvID09PSBlZGl0aW5n
Ij48L2lucHV0PgogICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICA8L3VsPgotICAg
ICAgICA8L2Rpdj4KKyAgICAgICAgPC9zZWN0aW9uPgogICAgICAgICA8Zm9vdGVyIGNsYXNzPSJm
b290ZXIiIHYtc2hvdz0idG9kb3MubGVuZ3RoID4gMCI+CiAgICAgICAgICAgICA8c3BhbiBjbGFz
cz0idG9kby1jb3VudCI+CiAgICAgICAgICAgICA8c3Ryb25nPnt7IHJlbWFpbmluZyB9fTwvc3Ry
b25nPiB7eyByZW1haW5pbmcgfCBwbHVyYWxpemUgfX0gbGVmdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318338</attachid>
            <date>2017-08-17 01:08:12 -0700</date>
            <delta_ts>2017-08-17 21:03:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175660-20170817100809.patch</filename>
            <type>text/plain</type>
            <size>1293862</size>
            <attacher name="Mathias Bynens">mathias</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwODM0CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L0NoYW5nZUxvZyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDcwMDY0ODE0YmY0
MGZjZDU0OWNlZDU1MjgxNDA0M2YzZGZmNjc0YzQuLjIxYjlhOTViNGM1MjE1ZDFlM2Y4YzhhMDVh
MzA3ZGExMDA3MWNiMTEgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCisr
KyBiL1BlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTctMDgt
MTcgIE1hdGhpYXMgQnluZW5zICA8bWF0aGlhc0BxaXdpLmJlPgorCisgICAgICAgIFNwZWVkb21l
dGVyOiBVcGRhdGUgdG8gbW9kZXJuIFZ1ZS5qcyB2ZXJzaW9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU2NjAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNwZWVkb21ldGVyL3Jlc291cmNlcy90b2Rv
bXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvUkVBRE1FLm1kOiBEb2N1bWVudGVk
IGJ1aWxkIHByb2Nlc3MuCisgICAgICAgICogU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMv
YXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9jb25maWcvaW5kZXguanM6IEZvcmNlZCBy
ZWxhdGl2ZSBVUkxzIHRvIGF2b2lkIGJyZWFraW5nIHRoZSBpbnRlcmFjdGl2ZSBydW5uZXIuCisg
ICAgICAgICogU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1w
bGVzL3Z1ZWpzLWNsaS9kaXN0Lyo6IFVwZGF0ZWQgcGVyIGJ1aWxkIHN0ZXBzLgorICAgICAgICAq
IFNwZWVkb21ldGVyL3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVq
cy1jbGkvcGFja2FnZS1sb2NrLmpzb246IEFkZGVkIHRvIHBpbiBkZXBlbmRlbmNpZXMgYW5kIG1h
a2UgYnVpbGRzIGRldGVybWluaXN0aWMuCisgICAgICAgICogU3BlZWRvbWV0ZXIvcmVzb3VyY2Vz
L3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9wYWNrYWdlLmpzb246IFVw
ZGF0ZSB0byBtb2Rlcm4gVnVlLmpzIHZlcnNpb24uCisgICAgICAgICogU3BlZWRvbWV0ZXIvcmVz
b3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9zcmMvY29tcG9u
ZW50cy9Ub2Rvcy52dWU6IEZpeCBtYXJrdXAgZXJyb3IuCisKIDIwMTctMDgtMTYgIE1hdGhpYXMg
QnluZW5zICA8bWF0aGlhc0BxaXdpLmJlPgogCiAgICAgICAgIFNwZWVkb21ldGVyOiBVcGRhdGUg
QW5ndWxhciAxIFRvZG9NVkMgZXhhbXBsZSB0byB2MS42LjUKZGlmZiAtLWdpdCBhL1BlcmZvcm1h
bmNlVGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1w
bGVzL3Z1ZWpzLWNsaS9SRUFETUUubWQgYi9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jl
c291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvUkVBRE1FLm1k
CmluZGV4IGI1MGNlNmVlMmU0YWUyYmQyNDUzNGRiMzkwYjVkZjc4MWI0MWI5YjcuLmEwMjc5ZjRm
M2Y1ZTEzYTk4MTRhMTJmM2Q2MjkyOGYxY2M3ODkzMzQgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNl
VGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVz
L3Z1ZWpzLWNsaS9SRUFETUUubWQKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9y
ZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVlanMtY2xpL1JFQURNRS5t
ZApAQCAtMSwxOCArMSwxMSBAQAotIyB2dWUtY2xpLXRvZG9tdmMKKyMgU3BlZWRvbWV0ZXIgMi4w
OiBWdWUuanMgVG9kb01WQyBleGFtcGxlCiAKLT4gVnVlLmpzIFRvZG9NVkMKKyMjIFRlc3QgbG9j
YWxseQogCi0jIyBCdWlsZCBTZXR1cAorMS4gYG5wbSBpbnN0YWxsYAorMi4gYG5wbSBydW4gZGV2
YCBydW5zIHRoZSBhcHAgaW4gZGV2ZWxvcG1lbnQgbW9kZQorMy4gT3BlbiA8aHR0cDovL2xvY2Fs
aG9zdDo4MDgwLz4gdG8gdmlldyBpdCBpbiB0aGUgYnJvd3Nlci4KIAotYGBgIGJhc2gKLSMgaW5z
dGFsbCBkZXBlbmRlbmNpZXMKLW5wbSBpbnN0YWxsCisjIyBCdWlsZAogCi0jIHNlcnZlIHdpdGgg
aG90IHJlbG9hZCBhdCBsb2NhbGhvc3Q6ODA4MAotbnBtIHJ1biBkZXYKLQotIyBidWlsZCBmb3Ig
cHJvZHVjdGlvbiB3aXRoIG1pbmlmaWNhdGlvbgotbnBtIHJ1biBidWlsZAotYGBgCi0KLUZvciBk
ZXRhaWxlZCBleHBsYW5hdGlvbiBvbiBob3cgdGhpbmdzIHdvcmssIGNoZWNrb3V0IHRoZSBbZ3Vp
ZGVdKGh0dHA6Ly92dWVqcy10ZW1wbGF0ZXMuZ2l0aHViLmlvL3dlYnBhY2svKSBhbmQgW2RvY3Mg
Zm9yIHZ1ZS1sb2FkZXJdKGh0dHA6Ly92dWVqcy5naXRodWIuaW8vdnVlLWxvYWRlcikuCisxLiBg
bnBtIHJ1biBidWlsZGAKZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIv
cmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9jb25maWcv
aW5kZXguanMgYi9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jlc291cmNlcy90b2RvbXZj
L2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvY29uZmlnL2luZGV4LmpzCmluZGV4IDIw
N2RmYmQ0ZTAyZTJmN2QwZDkwMTQxMmIzMTMyY2NhZGVhZjAzZjYuLjEwZDgyZDUyNTBkOWQ2MDky
NjFjMGJiNjA1ZmUzMTc5N2I1MzIxOWYgMTAwNjQ0Ci0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvU3Bl
ZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNs
aS9jb25maWcvaW5kZXguanMKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNv
dXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVlanMtY2xpL2NvbmZpZy9pbmRl
eC5qcwpAQCAtNyw3ICs3LDcgQEAgbW9kdWxlLmV4cG9ydHMgPSB7CiAgICAgaW5kZXg6IHBhdGgu
cmVzb2x2ZShfX2Rpcm5hbWUsICcuLi9kaXN0L2luZGV4Lmh0bWwnKSwKICAgICBhc3NldHNSb290
OiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4vZGlzdCcpLAogICAgIGFzc2V0c1N1YkRpcmVj
dG9yeTogJ3N0YXRpYycsCi0gICAgYXNzZXRzUHVibGljUGF0aDogJy8nLAorICAgIGFzc2V0c1B1
YmxpY1BhdGg6ICcuLycsCiAgICAgcHJvZHVjdGlvblNvdXJjZU1hcDogdHJ1ZSwKICAgICAvLyBH
emlwIG9mZiBieSBkZWZhdWx0IGFzIG1hbnkgcG9wdWxhciBzdGF0aWMgaG9zdHMgc3VjaCBhcwog
ICAgIC8vIFN1cmdlIG9yIE5ldGxpZnkgYWxyZWFkeSBnemlwIGFsbCBzdGF0aWMgYXNzZXRzIGZv
ciB5b3UuCmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jlc291cmNl
cy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvZGlzdC9pbmRleC5odG1s
IGIvUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRl
Y3R1cmUtZXhhbXBsZXMvdnVlanMtY2xpL2Rpc3QvaW5kZXguaHRtbAppbmRleCBhYjBlZTI1ODIz
ZDAzNDQ0NjZmZDZkMGI0MTMxNjdhMjdiOGNhOTUyLi4yYTBjZWRhYWM0YjkzYjJmNWUxNzdhYzJm
NDlkMjA2NWJlYmIzMjdhIDEwMDY0NAotLS0gYS9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVy
L3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvZGlzdC9p
bmRleC5odG1sCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3Rv
ZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9kaXN0L2luZGV4Lmh0bWwKQEAg
LTEsMTQgKzEgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci0KLTxoZWFkPgotICA8bWV0YSBj
aGFyc2V0PXV0Zi04PgotICA8dGl0bGU+dnVlLWNsaS10b2RvbXZjPC90aXRsZT4KLSAgPGxpbmsg
aHJlZj1zdGF0aWMvY3NzL2FwcC42NzdiNDU4NDJkOWY4Yjk2ZTViMjNjMTg5NjkyMzNiNy5jc3Mg
cmVsPXN0eWxlc2hlZXQ+Ci08L2hlYWQ+Ci0KLTxib2R5PgotICA8ZGl2IGlkPWFwcD48L2Rpdj48
c2NyaXB0IHR5cGU9dGV4dC9qYXZhc2NyaXB0IHNyYz1zdGF0aWMvanMvbWFuaWZlc3QuODRiMmI0
ZmNlYjc0YWIxZjkxZjMuanM+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPXRleHQvamF2YXNjcmlwdAot
ICAgIHNyYz1zdGF0aWMvanMvdmVuZG9yLmE1MjUxN2M1YWE5OGU3ZmJlYTJlLmpzPjwvc2NyaXB0
PjxzY3JpcHQgdHlwZT10ZXh0L2phdmFzY3JpcHQgc3JjPXN0YXRpYy9qcy9hcHAuYjBlODM1ODc0
YmM4OTQ5NjcwZDEuanM+PC9zY3JpcHQ+PC9ib2R5PgotCi08L2h0bWw+Cis8IURPQ1RZUEUgaHRt
bD48aHRtbD48aGVhZD48bWV0YSBjaGFyc2V0PXV0Zi04Pjx0aXRsZT52dWUtY2xpLXRvZG9tdmM8
L3RpdGxlPjxsaW5rIGhyZWY9Li9zdGF0aWMvY3NzL2FwcC5kY2E0MjkyYWIzMjJjMWU3ZDUxNTM0
ZTcyOTgxMDMyZS5jc3MgcmVsPXN0eWxlc2hlZXQ+PC9oZWFkPjxib2R5PjxkaXYgaWQ9YXBwPjwv
ZGl2PjxzY3JpcHQgdHlwZT10ZXh0L2phdmFzY3JpcHQgc3JjPS4vc3RhdGljL2pzL21hbmlmZXN0
LmEzMDdjN2Y5YTVkYTVkYzcyYmI1LmpzPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT10ZXh0L2phdmFz
Y3JpcHQgc3JjPS4vc3RhdGljL2pzL3ZlbmRvci4yZTRlOWU1Mjg2NjRmYTc5NmQzYS5qcz48L3Nj
cmlwdD48c2NyaXB0IHR5cGU9dGV4dC9qYXZhc2NyaXB0IHNyYz0uL3N0YXRpYy9qcy9hcHAuZDZl
ZDg5MzU0MzhmNDRlOTg0M2EuanM+PC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVy
L3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvZGlzdC9z
dGF0aWMvY3NzL2FwcC42NzdiNDU4NDJkOWY4Yjk2ZTViMjNjMTg5NjkyMzNiNy5jc3MgYi9QZXJm
b3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1l
eGFtcGxlcy92dWVqcy1jbGkvZGlzdC9zdGF0aWMvY3NzL2FwcC42NzdiNDU4NDJkOWY4Yjk2ZTVi
MjNjMTg5NjkyMzNiNy5jc3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgxZGRmNWE1
MTdkNWUxOTJiMzIxZjg1YTdiNmMxYmNmMzZlYmRhNDQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNv
dXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVlanMtY2xpL2Rpc3Qvc3RhdGlj
L2Nzcy9hcHAuNjc3YjQ1ODQyZDlmOGI5NmU1YjIzYzE4OTY5MjMzYjcuY3NzCisrKyAvZGV2L251
bGwKQEAgLTEsMiArMCwwIEBACi1ib2R5LGJ1dHRvbixodG1se21hcmdpbjowO3BhZGRpbmc6MH1i
dXR0b257Ym9yZGVyOjA7YmFja2dyb3VuZDpub25lO2ZvbnQtc2l6ZToxMDAlO3ZlcnRpY2FsLWFs
aWduOmJhc2VsaW5lO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdDtjb2xv
cjppbmhlcml0Oy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lO2Fw
cGVhcmFuY2U6bm9uZTstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkfWJvZHksYnV0
dG9uey1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX1ib2R5e2ZvbnQ6MTRweCBIZWx2
ZXRpY2EgTmV1ZSxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtsaW5lLWhlaWdodDoxLjRlbTti
YWNrZ3JvdW5kOiNmNWY1ZjU7Y29sb3I6IzRkNGQ0ZDttaW4td2lkdGg6MjMwcHg7bWF4LXdpZHRo
OjU1MHB4O21hcmdpbjowIGF1dG87LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDtm
b250LXdlaWdodDozMDB9OmZvY3Vze291dGxpbmU6MH0uaGlkZGVue2Rpc3BsYXk6bm9uZX0udG9k
b2FwcHtiYWNrZ3JvdW5kOiNmZmY7bWFyZ2luOjEzMHB4IDAgNDBweDtwb3NpdGlvbjpyZWxhdGl2
ZTtib3gtc2hhZG93OjAgMnB4IDRweCAwIHJnYmEoMCwwLDAsLjIpLDAgMjVweCA1MHB4IDAgcmdi
YSgwLDAsMCwuMSl9LnRvZG9hcHAgaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXJ7Zm9u
dC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6MzAwO2NvbG9yOiNlNmU2ZTZ9LnRvZG9hcHAgaW5w
dXQ6Oi1tb3otcGxhY2Vob2xkZXJ7Zm9udC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6MzAwO2Nv
bG9yOiNlNmU2ZTZ9LnRvZG9hcHAgaW5wdXQ6OmlucHV0LXBsYWNlaG9sZGVye2ZvbnQtc3R5bGU6
aXRhbGljO2ZvbnQtd2VpZ2h0OjMwMDtjb2xvcjojZTZlNmU2fS50b2RvYXBwIGgxe3Bvc2l0aW9u
OmFic29sdXRlO3RvcDotMTU1cHg7d2lkdGg6MTAwJTtmb250LXNpemU6MTAwcHg7Zm9udC13ZWln
aHQ6MTAwO3RleHQtYWxpZ246Y2VudGVyO2NvbG9yOnJnYmEoMTc1LDQ3LDQ3LC4xNSk7LXdlYmtp
dC10ZXh0LXJlbmRlcmluZzpvcHRpbWl6ZUxlZ2liaWxpdHk7LW1vei10ZXh0LXJlbmRlcmluZzpv
cHRpbWl6ZUxlZ2liaWxpdHk7dGV4dC1yZW5kZXJpbmc6b3B0aW1pemVMZWdpYmlsaXR5fS5lZGl0
LC5uZXctdG9kb3twb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW46MDt3aWR0aDoxMDAlO2ZvbnQtc2l6
ZToyNHB4O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdDtsaW5lLWhlaWdo
dDoxLjRlbTtib3JkZXI6MDtjb2xvcjppbmhlcml0O3BhZGRpbmc6NnB4O2JvcmRlcjoxcHggc29s
aWQgIzk5OTtib3gtc2hhZG93Omluc2V0IDAgLTFweCA1cHggMCByZ2JhKDAsMCwwLC4yKTtib3gt
c2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96
LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9Lm5ldy10b2Rve3BhZGRpbmc6MTZweCAxNnB4
IDE2cHggNjBweDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjAwMyk7Ym94LXNo
YWRvdzppbnNldCAwIC0ycHggMXB4IHJnYmEoMCwwLDAsLjAzKX0ubWFpbntwb3NpdGlvbjpyZWxh
dGl2ZTt6LWluZGV4OjI7Ym9yZGVyLXRvcDoxcHggc29saWQgI2U2ZTZlNn1sYWJlbFtmb3I9dG9n
Z2xlLWFsbF17ZGlzcGxheTpub25lfS50b2dnbGUtYWxse3Bvc2l0aW9uOmFic29sdXRlO3RvcDot
NTVweDtsZWZ0Oi0xMnB4O3dpZHRoOjYwcHg7aGVpZ2h0OjM0cHg7dGV4dC1hbGlnbjpjZW50ZXI7
Ym9yZGVyOm5vbmV9LnRvZ2dsZS1hbGw6YmVmb3Jle2NvbnRlbnQ6J1wyNzZGJztmb250LXNpemU6
MjJweDtjb2xvcjojZTZlNmU2O3BhZGRpbmc6MTBweCAyN3B4fS50b2dnbGUtYWxsOmNoZWNrZWQ6
YmVmb3Jle2NvbG9yOiM3MzczNzN9LnRvZG8tbGlzdHttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1z
dHlsZTpub25lfS50b2RvLWxpc3QgbGl7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOjI0cHg7
Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2VkZWRlZH0udG9kby1saXN0IGxpOmxhc3QtY2hpbGR7
Ym9yZGVyLWJvdHRvbTpub25lfS50b2RvLWxpc3QgbGkuZWRpdGluZ3tib3JkZXItYm90dG9tOm5v
bmU7cGFkZGluZzowfS50b2RvLWxpc3QgbGkuZWRpdGluZyAuZWRpdHtkaXNwbGF5OmJsb2NrO3dp
ZHRoOjUwNnB4O3BhZGRpbmc6MTJweCAxNnB4O21hcmdpbjowIDAgMCA0M3B4fS50b2RvLWxpc3Qg
bGkuZWRpdGluZyAudmlld3tkaXNwbGF5Om5vbmV9LnRvZG8tbGlzdCBsaSAudG9nZ2xle3RleHQt
YWxpZ246Y2VudGVyO3dpZHRoOjQwcHg7aGVpZ2h0OmF1dG87cG9zaXRpb246YWJzb2x1dGU7dG9w
OjA7Ym90dG9tOjA7bWFyZ2luOmF1dG8gMDtib3JkZXI6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6
bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9LnRvZG8tbGlzdCBsaSAu
dG9nZ2xlOmFmdGVye2NvbnRlbnQ6dXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHht
bG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiB2
aWV3Qm94PSItMTAgLTE4IDEwMCAxMzUiPjxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIHI9IjUwIiBm
aWxsPSJub25lIiBzdHJva2U9IiNlZGVkZWQiIHN0cm9rZS13aWR0aD0iMyIvPjwvc3ZnPicpfS50
b2RvLWxpc3QgbGkgLnRvZ2dsZTpjaGVja2VkOmFmdGVye2NvbnRlbnQ6dXJsKCdkYXRhOmltYWdl
L3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lk
dGg9IjQwIiBoZWlnaHQ9IjQwIiB2aWV3Qm94PSItMTAgLTE4IDEwMCAxMzUiPjxjaXJjbGUgY3g9
IjUwIiBjeT0iNTAiIHI9IjUwIiBmaWxsPSJub25lIiBzdHJva2U9IiNiZGRhZDUiIHN0cm9rZS13
aWR0aD0iMyIvPjxwYXRoIGZpbGw9IiM1ZGMyYWYiIGQ9Ik03MiAyNUw0MiA3MSAyNyA1NmwtNCA0
IDIwIDIwIDM0LTUyeiIvPjwvc3ZnPicpfS50b2RvLWxpc3QgbGkgbGFiZWx7d29yZC1icmVhazpi
cmVhay1hbGw7cGFkZGluZzoxNXB4IDYwcHggMTVweCAxNXB4O21hcmdpbi1sZWZ0OjQ1cHg7ZGlz
cGxheTpibG9jaztsaW5lLWhlaWdodDoxLjI7dHJhbnNpdGlvbjpjb2xvciAuNHN9LnRvZG8tbGlz
dCBsaS5jb21wbGV0ZWQgbGFiZWx7Y29sb3I6I2Q5ZDlkOTt0ZXh0LWRlY29yYXRpb246bGluZS10
aHJvdWdofS50b2RvLWxpc3QgbGkgLmRlc3Ryb3l7ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29s
dXRlO3RvcDowO3JpZ2h0OjEwcHg7Ym90dG9tOjA7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDttYXJn
aW46YXV0byAwO2ZvbnQtc2l6ZTozMHB4O2NvbG9yOiNjYzlhOWE7bWFyZ2luLWJvdHRvbToxMXB4
O3RyYW5zaXRpb246Y29sb3IgLjJzIGVhc2Utb3V0fS50b2RvLWxpc3QgbGkgLmRlc3Ryb3k6aG92
ZXJ7Y29sb3I6I2FmNWI1ZX0udG9kby1saXN0IGxpIC5kZXN0cm95OmFmdGVye2NvbnRlbnQ6J1xE
Nyd9LnRvZG8tbGlzdCBsaTpob3ZlciAuZGVzdHJveXtkaXNwbGF5OmJsb2NrfS50b2RvLWxpc3Qg
bGkgLmVkaXR7ZGlzcGxheTpub25lfS50b2RvLWxpc3QgbGkuZWRpdGluZzpsYXN0LWNoaWxke21h
cmdpbi1ib3R0b206LTFweH0uZm9vdGVye2NvbG9yOiM3Nzc7cGFkZGluZzoxMHB4IDE1cHg7aGVp
Z2h0OjIwcHg7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLXRvcDoxcHggc29saWQgI2U2ZTZlNn0u
Zm9vdGVyOmJlZm9yZXtjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7Ym90dG9t
OjA7bGVmdDowO2hlaWdodDo1MHB4O292ZXJmbG93OmhpZGRlbjtib3gtc2hhZG93OjAgMXB4IDFw
eCByZ2JhKDAsMCwwLC4yKSwwIDhweCAwIC0zcHggI2Y2ZjZmNiwwIDlweCAxcHggLTNweCByZ2Jh
KDAsMCwwLC4yKSwwIDE2cHggMCAtNnB4ICNmNmY2ZjYsMCAxN3B4IDJweCAtNnB4IHJnYmEoMCww
LDAsLjIpfS50b2RvLWNvdW50e2Zsb2F0OmxlZnQ7dGV4dC1hbGlnbjpsZWZ0fS50b2RvLWNvdW50
IHN0cm9uZ3tmb250LXdlaWdodDozMDB9LmZpbHRlcnN7bWFyZ2luOjA7cGFkZGluZzowO2xpc3Qt
c3R5bGU6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2xlZnQ6MH0uZmlsdGVycyBsaXtk
aXNwbGF5OmlubGluZX0uZmlsdGVycyBsaSBhe2NvbG9yOmluaGVyaXQ7bWFyZ2luOjNweDtwYWRk
aW5nOjNweCA3cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3Bh
cmVudDtib3JkZXItcmFkaXVzOjNweH0uZmlsdGVycyBsaSBhOmhvdmVye2JvcmRlci1jb2xvcjpy
Z2JhKDE3NSw0Nyw0NywuMSl9LmZpbHRlcnMgbGkgYS5zZWxlY3RlZHtib3JkZXItY29sb3I6cmdi
YSgxNzUsNDcsNDcsLjIpfS5jbGVhci1jb21wbGV0ZWQsaHRtbCAuY2xlYXItY29tcGxldGVkOmFj
dGl2ZXtmbG9hdDpyaWdodDtwb3NpdGlvbjpyZWxhdGl2ZTtsaW5lLWhlaWdodDoyMHB4O3RleHQt
ZGVjb3JhdGlvbjpub25lO2N1cnNvcjpwb2ludGVyfS5jbGVhci1jb21wbGV0ZWQ6aG92ZXJ7dGV4
dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uaW5mb3ttYXJnaW46NjVweCBhdXRvIDA7Y29sb3I6I2Jm
YmZiZjtmb250LXNpemU6MTBweDt0ZXh0LXNoYWRvdzowIDFweCAwIGhzbGEoMCwwJSwxMDAlLC41
KTt0ZXh0LWFsaWduOmNlbnRlcn0uaW5mbyBwe2xpbmUtaGVpZ2h0OjF9LmluZm8gYXtjb2xvcjpp
bmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25lO2ZvbnQtd2VpZ2h0OjQwMH0uaW5mbyBhOmhvdmVy
e3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9QG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWlu
LWRldmljZS1waXhlbC1yYXRpbzowKXsudG9kby1saXN0IGxpIC50b2dnbGUsLnRvZ2dsZS1hbGx7
YmFja2dyb3VuZDpub25lfS50b2RvLWxpc3QgbGkgLnRvZ2dsZXtoZWlnaHQ6NDBweH0udG9nZ2xl
LWFsbHt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96
LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9fUBtZWRpYSAobWF4LXdpZHRoOjQzMHB4
KXsuZm9vdGVye2hlaWdodDo1MHB4fS5maWx0ZXJze2JvdHRvbToxMHB4fX0KLS8qIyBzb3VyY2VN
YXBwaW5nVVJMPWFwcC42NzdiNDU4NDJkOWY4Yjk2ZTViMjNjMTg5NjkyMzNiNy5jc3MubWFwKi8K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L1NwZWVkb21ldGVyL3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVq
cy1jbGkvZGlzdC9zdGF0aWMvY3NzL2FwcC5kY2E0MjkyYWIzMjJjMWU3ZDUxNTM0ZTcyOTgxMDMy
ZS5jc3MgYi9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jlc291cmNlcy90b2RvbXZjL2Fy
Y2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvZGlzdC9zdGF0aWMvY3NzL2FwcC5kY2E0Mjky
YWIzMjJjMWU3ZDUxNTM0ZTcyOTgxMDMyZS5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWUxMjUwNjQ0MGI0M2Zm
NmI5NjQzOTllNjcxZTE0Y2Y3ZmQ2NWRhYwotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNl
VGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVz
L3Z1ZWpzLWNsaS9kaXN0L3N0YXRpYy9jc3MvYXBwLmRjYTQyOTJhYjMyMmMxZTdkNTE1MzRlNzI5
ODEwMzJlLmNzcwpAQCAtMCwwICsxIEBACitib2R5LGJ1dHRvbixodG1se21hcmdpbjowO3BhZGRp
bmc6MH1idXR0b257Ym9yZGVyOjA7YmFja2dyb3VuZDpub25lO2ZvbnQtc2l6ZToxMDAlO3ZlcnRp
Y2FsLWFsaWduOmJhc2VsaW5lO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJp
dDtjb2xvcjppbmhlcml0Oy13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTst
d2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkfWJvZHksYnV0dG9uey1tb3otb3N4LWZv
bnQtc21vb3RoaW5nOmdyYXlzY2FsZX1ib2R5e2ZvbnQ6MTRweCBIZWx2ZXRpY2EgTmV1ZSxIZWx2
ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtsaW5lLWhlaWdodDoxLjRlbTtiYWNrZ3JvdW5kOiNmNWY1
ZjU7Y29sb3I6IzRkNGQ0ZDttaW4td2lkdGg6MjMwcHg7bWF4LXdpZHRoOjU1MHB4O21hcmdpbjow
IGF1dG87LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDtmb250LXdlaWdodDozMDB9
OmZvY3Vze291dGxpbmU6MH0uaGlkZGVue2Rpc3BsYXk6bm9uZX0udG9kb2FwcHtiYWNrZ3JvdW5k
OiNmZmY7bWFyZ2luOjEzMHB4IDAgNDBweDtwb3NpdGlvbjpyZWxhdGl2ZTtib3gtc2hhZG93OjAg
MnB4IDRweCAwIHJnYmEoMCwwLDAsLjIpLDAgMjVweCA1MHB4IDAgcmdiYSgwLDAsMCwuMSl9LnRv
ZG9hcHAgaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXJ7Zm9udC1zdHlsZTppdGFsaWM7
Zm9udC13ZWlnaHQ6MzAwO2NvbG9yOiNlNmU2ZTZ9LnRvZG9hcHAgaW5wdXQ6Oi1tb3otcGxhY2Vo
b2xkZXJ7Zm9udC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6MzAwO2NvbG9yOiNlNmU2ZTZ9LnRv
ZG9hcHAgaW5wdXQ6OmlucHV0LXBsYWNlaG9sZGVye2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtd2Vp
Z2h0OjMwMDtjb2xvcjojZTZlNmU2fS50b2RvYXBwIGgxe3Bvc2l0aW9uOmFic29sdXRlO3RvcDot
MTU1cHg7d2lkdGg6MTAwJTtmb250LXNpemU6MTAwcHg7Zm9udC13ZWlnaHQ6MTAwO3RleHQtYWxp
Z246Y2VudGVyO2NvbG9yOnJnYmEoMTc1LDQ3LDQ3LC4xNSk7LXdlYmtpdC10ZXh0LXJlbmRlcmlu
ZzpvcHRpbWl6ZUxlZ2liaWxpdHk7LW1vei10ZXh0LXJlbmRlcmluZzpvcHRpbWl6ZUxlZ2liaWxp
dHk7dGV4dC1yZW5kZXJpbmc6b3B0aW1pemVMZWdpYmlsaXR5fS5lZGl0LC5uZXctdG9kb3twb3Np
dGlvbjpyZWxhdGl2ZTttYXJnaW46MDt3aWR0aDoxMDAlO2ZvbnQtc2l6ZToyNHB4O2ZvbnQtZmFt
aWx5OmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdDtsaW5lLWhlaWdodDoxLjRlbTtib3JkZXI6
MDtjb2xvcjppbmhlcml0O3BhZGRpbmc6NnB4O2JvcmRlcjoxcHggc29saWQgIzk5OTtib3gtc2hh
ZG93Omluc2V0IDAgLTFweCA1cHggMCByZ2JhKDAsMCwwLC4yKTtib3gtc2l6aW5nOmJvcmRlci1i
b3g7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290
aGluZzpncmF5c2NhbGV9Lm5ldy10b2Rve3BhZGRpbmc6MTZweCAxNnB4IDE2cHggNjBweDtib3Jk
ZXI6bm9uZTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjAwMyk7Ym94LXNoYWRvdzppbnNldCAwIC0y
cHggMXB4IHJnYmEoMCwwLDAsLjAzKX0ubWFpbntwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7
Ym9yZGVyLXRvcDoxcHggc29saWQgI2U2ZTZlNn1sYWJlbFtmb3I9dG9nZ2xlLWFsbF17ZGlzcGxh
eTpub25lfS50b2dnbGUtYWxse3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNTVweDtsZWZ0Oi0xMnB4
O3dpZHRoOjYwcHg7aGVpZ2h0OjM0cHg7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyOm5vbmV9LnRv
Z2dsZS1hbGw6YmVmb3Jle2NvbnRlbnQ6IlwyNzZGIjtmb250LXNpemU6MjJweDtjb2xvcjojZTZl
NmU2O3BhZGRpbmc6MTBweCAyN3B4fS50b2dnbGUtYWxsOmNoZWNrZWQ6YmVmb3Jle2NvbG9yOiM3
MzczNzN9LnRvZG8tbGlzdHttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lfS50b2Rv
LWxpc3QgbGl7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOjI0cHg7Ym9yZGVyLWJvdHRvbTox
cHggc29saWQgI2VkZWRlZH0udG9kby1saXN0IGxpOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTpu
b25lfS50b2RvLWxpc3QgbGkuZWRpdGluZ3tib3JkZXItYm90dG9tOm5vbmU7cGFkZGluZzowfS50
b2RvLWxpc3QgbGkuZWRpdGluZyAuZWRpdHtkaXNwbGF5OmJsb2NrO3dpZHRoOjUwNnB4O3BhZGRp
bmc6MTJweCAxNnB4O21hcmdpbjowIDAgMCA0M3B4fS50b2RvLWxpc3QgbGkuZWRpdGluZyAudmll
d3tkaXNwbGF5Om5vbmV9LnRvZG8tbGlzdCBsaSAudG9nZ2xle3RleHQtYWxpZ246Y2VudGVyO3dp
ZHRoOjQwcHg7aGVpZ2h0OmF1dG87cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bWFy
Z2luOmF1dG8gMDtib3JkZXI6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNl
Om5vbmV9LnRvZG8tbGlzdCBsaSAudG9nZ2xlOmFmdGVye2NvbnRlbnQ6dXJsKCdkYXRhOmltYWdl
L3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lk
dGg9IjQwIiBoZWlnaHQ9IjQwIiB2aWV3Qm94PSItMTAgLTE4IDEwMCAxMzUiPjxjaXJjbGUgY3g9
IjUwIiBjeT0iNTAiIHI9IjUwIiBmaWxsPSJub25lIiBzdHJva2U9IiNlZGVkZWQiIHN0cm9rZS13
aWR0aD0iMyIvPjwvc3ZnPicpfS50b2RvLWxpc3QgbGkgLnRvZ2dsZTpjaGVja2VkOmFmdGVye2Nv
bnRlbnQ6dXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiB2aWV3Qm94PSItMTAgLTE4
IDEwMCAxMzUiPjxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIHI9IjUwIiBmaWxsPSJub25lIiBzdHJv
a2U9IiNiZGRhZDUiIHN0cm9rZS13aWR0aD0iMyIvPjxwYXRoIGZpbGw9IiM1ZGMyYWYiIGQ9Ik03
MiAyNUw0MiA3MSAyNyA1NmwtNCA0IDIwIDIwIDM0LTUyeiIvPjwvc3ZnPicpfS50b2RvLWxpc3Qg
bGkgbGFiZWx7d29yZC1icmVhazpicmVhay1hbGw7cGFkZGluZzoxNXB4IDYwcHggMTVweCAxNXB4
O21hcmdpbi1sZWZ0OjQ1cHg7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjI7dHJhbnNpdGlv
bjpjb2xvciAuNHN9LnRvZG8tbGlzdCBsaS5jb21wbGV0ZWQgbGFiZWx7Y29sb3I6I2Q5ZDlkOTt0
ZXh0LWRlY29yYXRpb246bGluZS10aHJvdWdofS50b2RvLWxpc3QgbGkgLmRlc3Ryb3l7ZGlzcGxh
eTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjEwcHg7Ym90dG9tOjA7d2lkdGg6
NDBweDtoZWlnaHQ6NDBweDttYXJnaW46YXV0byAwO2ZvbnQtc2l6ZTozMHB4O2NvbG9yOiNjYzlh
OWE7bWFyZ2luLWJvdHRvbToxMXB4O3RyYW5zaXRpb246Y29sb3IgLjJzIGVhc2Utb3V0fS50b2Rv
LWxpc3QgbGkgLmRlc3Ryb3k6aG92ZXJ7Y29sb3I6I2FmNWI1ZX0udG9kby1saXN0IGxpIC5kZXN0
cm95OmFmdGVye2NvbnRlbnQ6IlxENyJ9LnRvZG8tbGlzdCBsaTpob3ZlciAuZGVzdHJveXtkaXNw
bGF5OmJsb2NrfS50b2RvLWxpc3QgbGkgLmVkaXR7ZGlzcGxheTpub25lfS50b2RvLWxpc3QgbGku
ZWRpdGluZzpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206LTFweH0uZm9vdGVye2NvbG9yOiM3Nzc7
cGFkZGluZzoxMHB4IDE1cHg7aGVpZ2h0OjIwcHg7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLXRv
cDoxcHggc29saWQgI2U2ZTZlNn0uZm9vdGVyOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFi
c29sdXRlO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO2hlaWdodDo1MHB4O292ZXJmbG93OmhpZGRl
bjtib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4yKSwwIDhweCAwIC0zcHggI2Y2ZjZm
NiwwIDlweCAxcHggLTNweCByZ2JhKDAsMCwwLC4yKSwwIDE2cHggMCAtNnB4ICNmNmY2ZjYsMCAx
N3B4IDJweCAtNnB4IHJnYmEoMCwwLDAsLjIpfS50b2RvLWNvdW50e2Zsb2F0OmxlZnQ7dGV4dC1h
bGlnbjpsZWZ0fS50b2RvLWNvdW50IHN0cm9uZ3tmb250LXdlaWdodDozMDB9LmZpbHRlcnN7bWFy
Z2luOjA7cGFkZGluZzowO2xpc3Qtc3R5bGU6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDow
O2xlZnQ6MH0uZmlsdGVycyBsaXtkaXNwbGF5OmlubGluZX0uZmlsdGVycyBsaSBhe2NvbG9yOmlu
aGVyaXQ7bWFyZ2luOjNweDtwYWRkaW5nOjNweCA3cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9y
ZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjNweH0uZmlsdGVycyBsaSBh
OmhvdmVye2JvcmRlci1jb2xvcjpyZ2JhKDE3NSw0Nyw0NywuMSl9LmZpbHRlcnMgbGkgYS5zZWxl
Y3RlZHtib3JkZXItY29sb3I6cmdiYSgxNzUsNDcsNDcsLjIpfS5jbGVhci1jb21wbGV0ZWQsaHRt
bCAuY2xlYXItY29tcGxldGVkOmFjdGl2ZXtmbG9hdDpyaWdodDtwb3NpdGlvbjpyZWxhdGl2ZTts
aW5lLWhlaWdodDoyMHB4O3RleHQtZGVjb3JhdGlvbjpub25lO2N1cnNvcjpwb2ludGVyfS5jbGVh
ci1jb21wbGV0ZWQ6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uaW5mb3ttYXJnaW46
NjVweCBhdXRvIDA7Y29sb3I6I2JmYmZiZjtmb250LXNpemU6MTBweDt0ZXh0LXNoYWRvdzowIDFw
eCAwIGhzbGEoMCwwJSwxMDAlLC41KTt0ZXh0LWFsaWduOmNlbnRlcn0uaW5mbyBwe2xpbmUtaGVp
Z2h0OjF9LmluZm8gYXtjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25lO2ZvbnQtd2Vp
Z2h0OjQwMH0uaW5mbyBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9QG1lZGlhIHNj
cmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzowKXsudG9kby1saXN0IGxp
IC50b2dnbGUsLnRvZ2dsZS1hbGx7YmFja2dyb3VuZDpub25lfS50b2RvLWxpc3QgbGkgLnRvZ2ds
ZXtoZWlnaHQ6NDBweH0udG9nZ2xlLWFsbHstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcp
O3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpOy13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFu
Y2U6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6NDMwcHgpey5mb290ZXJ7aGVpZ2h0OjUwcHh9LmZp
bHRlcnN7Ym90dG9tOjEwcHh9fQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL1BlcmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0
ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9kaXN0L3N0YXRpYy9jc3MvYXBwLmRjYTQyOTJhYjMy
MmMxZTdkNTE1MzRlNzI5ODEwMzJlLmNzcy5tYXAgYi9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21l
dGVyL3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvZGlz
dC9zdGF0aWMvY3NzL2FwcC5kY2E0MjkyYWIzMjJjMWU3ZDUxNTM0ZTcyOTgxMDMyZS5jc3MubWFw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjJmMzhmNzMzZDlkYjIxNjk0M2E1ZjBlOWI2MjFiMmQ5YzhhOGRlYjcKLS0t
IC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jlc291cmNlcy90
b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvZGlzdC9zdGF0aWMvY3NzL2Fw
cC5kY2E0MjkyYWIzMjJjMWU3ZDUxNTM0ZTcyOTgxMDMyZS5jc3MubWFwCkBAIC0wLDAgKzEgQEAK
K3sidmVyc2lvbiI6Mywic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvdG9k
by5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsaUJBSEksU0FDQSxTQUFXLENBZ0Jk
LE9BWEcsU0FDQSxnQkFDQSxlQUNBLHdCQUNBLG9CQUNBLG9CQUNBLGNBQ0Esd0JBQ0EsZ0JBQ0Es
a0NBQW9DLENBR3hDLFlBRkksaUNBQW1DLENBYXRDLEtBVkcsb0RBQ0Esa0JBQ0EsbUJBQ0EsY0FD
QSxnQkFDQSxnQkFDQSxjQUNBLG1DQUVBLGVBQWlCLENBRXJCLE9BQ0ksU0FBVyxDQUVmLFFBQ0ks
WUFBYyxDQUVsQixTQUNJLGdCQUNBLG9CQUNBLGtCQUNBLGtFQUM2QyxDQUVqRCwwQ0FDSSxrQkFD
QSxnQkFDQSxhQUFlLENBRW5CLGlDQUNJLGtCQUNBLGdCQUNBLGFBQWUsQ0FFbkIsa0NBQ0ksa0JB
Q0EsZ0JBQ0EsYUFBZSxDQUVuQixZQUNJLGtCQUNBLFdBQ0EsV0FDQSxnQkFDQSxnQkFDQSxrQkFD
QSwwQkFDQSwwQ0FDQSx1Q0FDQSxpQ0FBbUMsQ0FFdkMsZ0JBRUksa0JBQ0EsU0FDQSxXQUNBLGVB
Q0Esb0JBQ0Esb0JBQ0Esa0JBQ0EsU0FDQSxjQUNBLFlBQ0Esc0JBQ0EsNkNBQ0Esc0JBQ0EsbUNB
Q0EsaUNBQW1DLENBRXZDLFVBQ0ksNEJBQ0EsWUFDQSw0QkFDQSwyQ0FBOEMsQ0FFbEQsTUFDSSxr
QkFDQSxVQUNBLDRCQUE4QixDQUVsQyxzQkFDSSxZQUFjLENBRWxCLFlBQ0ksa0JBQ0EsVUFDQSxX
QUNBLFdBQ0EsWUFDQSxrQkFDQSxXQUFhLENBRWpCLG1CQUNJLGdCQUNBLGVBQ0EsY0FDQSxpQkFB
NkIsQ0FFakMsMkJBQ0ksYUFBZSxDQUVuQixXQUNJLFNBQ0EsVUFDQSxlQUFpQixDQUVyQixjQUNJ
LGtCQUNBLGVBQ0EsK0JBQWlDLENBRXJDLHlCQUNJLGtCQUFvQixDQUV4QixzQkFDSSxtQkFDQSxT
QUFXLENBRWYsNEJBQ0ksY0FDQSxZQUNBLGtCQUNBLGlCQUFtQixDQUV2Qiw0QkFDSSxZQUFjLENB
RWxCLHNCQUNJLGtCQUNBLFdBRUEsWUFDQSxrQkFDQSxNQUNBLFNBQ0EsY0FDQSxZQUNBLHdCQUNB
LGVBQWlCLENBRXJCLDRCQUNJLG9OQUFzTixDQUUxTixvQ0FDSSxtUkFBcVIsQ0FFelIsb0JBQ0ks
cUJBQ0EsNEJBQ0EsaUJBQ0EsY0FDQSxnQkFDQSxvQkFBdUIsQ0FFM0IsOEJBQ0ksY0FDQSw0QkFB
OEIsQ0FFbEMsdUJBQ0ksYUFDQSxrQkFDQSxNQUNBLFdBQ0EsU0FDQSxXQUNBLFlBQ0EsY0FDQSxl
QUNBLGNBQ0EsbUJBQ0EsNkJBQWdDLENBRXBDLDZCQUNJLGFBQWUsQ0FFbkIsNkJBQ0ksYUFBYSxD
QUVqQiw2QkFDSSxhQUFlLENBRW5CLG9CQUNJLFlBQWMsQ0FFbEIsaUNBQ0ksa0JBQW9CLENBRXhC
LFFBQ0ksV0FDQSxrQkFDQSxZQUNBLGtCQUNBLDRCQUE4QixDQUVsQyxlQUNJLFdBQ0Esa0JBQ0Es
UUFDQSxTQUNBLE9BQ0EsWUFDQSxnQkFDQSwySUFJK0MsQ0FFbkQsWUFDSSxXQUNBLGVBQWlCLENB
RXJCLG1CQUNJLGVBQWlCLENBRXJCLFNBQ0ksU0FDQSxVQUNBLGdCQUNBLGtCQUNBLFFBQ0EsTUFB
USxDQUVaLFlBQ0ksY0FBZ0IsQ0FFcEIsY0FDSSxjQUNBLFdBQ0EsZ0JBQ0EscUJBQ0EsNkJBQ0Es
aUJBQW1CLENBRXZCLG9CQUNJLCtCQUFxQyxDQUV6Qyx1QkFDSSwrQkFBcUMsQ0FFekMsOENBRUks
WUFDQSxrQkFDQSxpQkFDQSxxQkFDQSxjQUFnQixDQUVwQix1QkFDSSx5QkFBMkIsQ0FFL0IsTUFD
SSxtQkFDQSxjQUNBLGVBQ0EsdUNBQ0EsaUJBQW1CLENBRXZCLFFBQ0ksYUFBZSxDQUVuQixRQUNJ
LGNBQ0EscUJBQ0EsZUFBaUIsQ0FFckIsY0FDSSx5QkFBMkIsQ0FPL0IscURBQ0Esa0NBRVEsZUFB
aUIsQ0FFekIsc0JBQ1EsV0FBYSxDQUVyQixZQUNRLGdDQUNBLHdCQUNBLHdCQUNBLGVBQWlCLENB
Q3hCLENBRUQseUJBQ0EsUUFDUSxXQUFhLENBRXJCLFNBQ1EsV0FBYSxDQUNwQiIsImZpbGUiOiJz
dGF0aWMvY3NzL2FwcC5kY2E0MjkyYWIzMjJjMWU3ZDUxNTM0ZTcyOTgxMDMyZS5jc3MiLCJzb3Vy
Y2VzQ29udGVudCI6WyJcbmh0bWwsXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGlu
ZzogMDtcbn1cbmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAg
Ym9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxMDAlO1xu
ICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtc
biAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAtd2Vi
a2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0
LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGlu
ZzogZ3JheXNjYWxlO1xufVxuYm9keSB7XG4gICAgZm9udDogMTRweCAnSGVsdmV0aWNhIE5ldWUn
LCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtc
biAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAgIGNvbG9yOiAjNGQ0ZDRkO1xuICAgIG1pbi13
aWR0aDogMjMwcHg7XG4gICAgbWF4LXdpZHRoOiA1NTBweDtcbiAgICBtYXJnaW46IDAgYXV0bztc
biAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1m
b250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG46Zm9j
dXMge1xuICAgIG91dGxpbmU6IDA7XG59XG4uaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xu
fVxuLnRvZG9hcHAge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbWFyZ2luOiAxMzBweCAw
IDQwcHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNoYWRvdzogMCAycHgg
NHB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpLFxuICAgICAgICAgICAgICAgIDAgMjVweCA1MHB4IDAg
cmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLnRvZG9hcHAgaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxh
Y2Vob2xkZXIge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogMzAw
O1xuICAgIGNvbG9yOiAjZTZlNmU2O1xufVxuLnRvZG9hcHAgaW5wdXQ6Oi1tb3otcGxhY2Vob2xk
ZXIge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAg
IGNvbG9yOiAjZTZlNmU2O1xufVxuLnRvZG9hcHAgaW5wdXQ6OmlucHV0LXBsYWNlaG9sZGVyIHtc
biAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xv
cjogI2U2ZTZlNjtcbn1cbi50b2RvYXBwIGgxIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4g
ICAgdG9wOiAtMTU1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAxMDBweDtc
biAgICBmb250LXdlaWdodDogMTAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xv
cjogcmdiYSgxNzUsIDQ3LCA0NywgMC4xNSk7XG4gICAgLXdlYmtpdC10ZXh0LXJlbmRlcmluZzog
b3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIC1tb3otdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVn
aWJpbGl0eTtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuLm5l
dy10b2RvLFxuLmVkaXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7
XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtZmFtaWx5
OiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAx
LjRlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgcGFkZGluZzog
NnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQg
MCAtMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXIt
Ym94O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3ot
b3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG4ubmV3LXRvZG8ge1xuICAgIHBhZGRp
bmc6IDE2cHggMTZweCAxNnB4IDYwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91
bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMDMpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTJweCAx
cHggcmdiYSgwLDAsMCwwLjAzKTtcbn1cbi5tYWluIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7
XG4gICAgei1pbmRleDogMjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U2ZTZlNjtcbn1c
bmxhYmVsW2Zvcj0ndG9nZ2xlLWFsbCddIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnRvZ2ds
ZS1hbGwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC01NXB4O1xuICAgIGxl
ZnQ6IC0xMnB4O1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogMzRweDtcbiAgICB0ZXh0
LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyOiBub25lOyAvKiBNb2JpbGUgU2FmYXJpICovXG59
XG4udG9nZ2xlLWFsbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICfina8nO1xuICAgIGZvbnQtc2l6
ZTogMjJweDtcbiAgICBjb2xvcjogI2U2ZTZlNjtcbiAgICBwYWRkaW5nOiAxMHB4IDI3cHggMTBw
eCAyN3B4O1xufVxuLnRvZ2dsZS1hbGw6Y2hlY2tlZDpiZWZvcmUge1xuICAgIGNvbG9yOiAjNzM3
MzczO1xufVxuLnRvZG8tbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4g
ICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi50b2RvLWxpc3QgbGkge1xuICAgIHBvc2l0aW9uOiBy
ZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNv
bGlkICNlZGVkZWQ7XG59XG4udG9kby1saXN0IGxpOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1i
b3R0b206IG5vbmU7XG59XG4udG9kby1saXN0IGxpLmVkaXRpbmcge1xuICAgIGJvcmRlci1ib3R0
b206IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbn1cbi50b2RvLWxpc3QgbGkuZWRpdGluZyAuZWRp
dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDUwNnB4O1xuICAgIHBhZGRpbmc6
IDEycHggMTZweDtcbiAgICBtYXJnaW46IDAgMCAwIDQzcHg7XG59XG4udG9kby1saXN0IGxpLmVk
aXRpbmcgLnZpZXcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4udG9kby1saXN0IGxpIC50b2dn
bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogNDBweDtcbiAgICAvKiBh
dXRvLCBzaW5jZSBub24tV2ViS2l0IGJyb3dzZXJzIGRvZXNuJ3Qgc3VwcG9ydCBpbnB1dCBzdHls
aW5nICovXG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0
b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0byAwO1xuICAgIGJvcmRlcjog
bm9uZTsgLyogTW9iaWxlIFNhZmFyaSAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtc
biAgICBhcHBlYXJhbmNlOiBub25lO1xufVxuLnRvZG8tbGlzdCBsaSAudG9nZ2xlOmFmdGVyIHtc
biAgICBjb250ZW50OiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHZp
ZXdCb3g9XCItMTAgLTE4IDEwMCAxMzVcIj48Y2lyY2xlIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1c
IjUwXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjZWRlZGVkXCIgc3Ryb2tlLXdpZHRoPVwiM1wi
Lz48L3N2Zz4nKTtcbn1cbi50b2RvLWxpc3QgbGkgLnRvZ2dsZTpjaGVja2VkOmFmdGVyIHtcbiAg
ICBjb250ZW50OiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHZpZXdC
b3g9XCItMTAgLTE4IDEwMCAxMzVcIj48Y2lyY2xlIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjUw
XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjYmRkYWQ1XCIgc3Ryb2tlLXdpZHRoPVwiM1wiLz48
cGF0aCBmaWxsPVwiIzVkYzJhZlwiIGQ9XCJNNzIgMjVMNDIgNzEgMjcgNTZsLTQgNCAyMCAyMCAz
NC01MnpcIi8+PC9zdmc+Jyk7XG59XG4udG9kby1saXN0IGxpIGxhYmVsIHtcbiAgICB3b3JkLWJy
ZWFrOiBicmVhay1hbGw7XG4gICAgcGFkZGluZzogMTVweCA2MHB4IDE1cHggMTVweDtcbiAgICBt
YXJnaW4tbGVmdDogNDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDog
MS4yO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNHM7XG59XG4udG9kby1saXN0IGxpLmNvbXBs
ZXRlZCBsYWJlbCB7XG4gICAgY29sb3I6ICNkOWQ5ZDk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBs
aW5lLXRocm91Z2g7XG59XG4udG9kby1saXN0IGxpIC5kZXN0cm95IHtcbiAgICBkaXNwbGF5OiBu
b25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEw
cHg7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtc
biAgICBtYXJnaW46IGF1dG8gMDtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgY29sb3I6ICNj
YzlhOWE7XG4gICAgbWFyZ2luLWJvdHRvbTogMTFweDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAw
LjJzIGVhc2Utb3V0O1xufVxuLnRvZG8tbGlzdCBsaSAuZGVzdHJveTpob3ZlciB7XG4gICAgY29s
b3I6ICNhZjViNWU7XG59XG4udG9kby1saXN0IGxpIC5kZXN0cm95OmFmdGVyIHtcbiAgICBjb250
ZW50OiAnw5cnO1xufVxuLnRvZG8tbGlzdCBsaTpob3ZlciAuZGVzdHJveSB7XG4gICAgZGlzcGxh
eTogYmxvY2s7XG59XG4udG9kby1saXN0IGxpIC5lZGl0IHtcbiAgICBkaXNwbGF5OiBub25lO1xu
fVxuLnRvZG8tbGlzdCBsaS5lZGl0aW5nOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206
IC0xcHg7XG59XG4uZm9vdGVyIHtcbiAgICBjb2xvcjogIzc3NztcbiAgICBwYWRkaW5nOiAxMHB4
IDE1cHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBi
b3JkZXItdG9wOiAxcHggc29saWQgI2U2ZTZlNjtcbn1cbi5mb290ZXI6YmVmb3JlIHtcbiAgICBj
b250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAg
Ym90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIG92ZXJmbG93
OiBoaWRkZW47XG4gICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSxc
biAgICAgICAgICAgICAgICAwIDhweCAwIC0zcHggI2Y2ZjZmNixcbiAgICAgICAgICAgICAgICAw
IDlweCAxcHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksXG4gICAgICAgICAgICAgICAgMCAxNnB4
IDAgLTZweCAjZjZmNmY2LFxuICAgICAgICAgICAgICAgIDAgMTdweCAycHggLTZweCByZ2JhKDAs
IDAsIDAsIDAuMik7XG59XG4udG9kby1jb3VudCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4
dC1hbGlnbjogbGVmdDtcbn1cbi50b2RvLWNvdW50IHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6
IDMwMDtcbn1cbi5maWx0ZXJzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAg
ICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDog
MDtcbiAgICBsZWZ0OiAwO1xufVxuLmZpbHRlcnMgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTtc
bn1cbi5maWx0ZXJzIGxpIGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIG1hcmdpbjogM3B4
O1xuICAgIHBhZGRpbmc6IDNweCA3cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAg
IGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtc
bn1cbi5maWx0ZXJzIGxpIGE6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNzUsIDQ3
LCA0NywgMC4xKTtcbn1cbi5maWx0ZXJzIGxpIGEuc2VsZWN0ZWQge1xuICAgIGJvcmRlci1jb2xv
cjogcmdiYSgxNzUsIDQ3LCA0NywgMC4yKTtcbn1cbi5jbGVhci1jb21wbGV0ZWQsXG5odG1sIC5j
bGVhci1jb21wbGV0ZWQ6YWN0aXZlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcG9zaXRpb246
IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjog
bm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uY2xlYXItY29tcGxldGVkOmhvdmVyIHtc
biAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5pbmZvIHtcbiAgICBtYXJnaW46
IDY1cHggYXV0byAwO1xuICAgIGNvbG9yOiAjYmZiZmJmO1xuICAgIGZvbnQtc2l6ZTogMTBweDtc
biAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAg
dGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmluZm8gcCB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59
XG4uaW5mbyBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5v
bmU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi5pbmZvIGE6aG92ZXIge1xuICAgIHRleHQt
ZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKlxuICAgIEhhY2sgdG8gcmVtb3ZlIGJhY2tn
cm91bmQgZnJvbSBNb2JpbGUgU2FmYXJpLlxuICAgIENhbid0IHVzZSBpdCBnbG9iYWxseSBzaW5j
ZSBpdCBkZXN0cm95cyBjaGVja2JveGVzIGluIEZpcmVmb3hcbiovXG5AbWVkaWEgc2NyZWVuIGFu
ZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjApIHtcbi50b2dnbGUtYWxsLFxuICAg
IC50b2RvLWxpc3QgbGkgLnRvZ2dsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG4u
dG9kby1saXN0IGxpIC50b2dnbGUge1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG59XG4udG9nZ2xl
LWFsbCB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAg
ICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTog
bm9uZTtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbn1cbn1cbkBtZWRpYSAobWF4LXdpZHRo
OiA0MzBweCkge1xuLmZvb3RlciB7XG4gICAgICAgIGhlaWdodDogNTBweDtcbn1cbi5maWx0ZXJz
IHtcbiAgICAgICAgYm90dG9tOiAxMHB4O1xufVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIg
Ly9cbi8vIC4vc3JjL2NvbXBvbmVudHMvdG9kby5jc3MiXSwic291cmNlUm9vdCI6IiJ9ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9TcGVl
ZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVlanMtY2xp
L2Rpc3Qvc3RhdGljL2pzL2FwcC5iMGU4MzU4NzRiYzg5NDk2NzBkMS5qcyBiL1BlcmZvcm1hbmNl
VGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVz
L3Z1ZWpzLWNsaS9kaXN0L3N0YXRpYy9qcy9hcHAuYjBlODM1ODc0YmM4OTQ5NjcwZDEuanMKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjNWE3MzUxZjAxOTZmODlhZWQxYWIyZGY1YTdk
ZTY5ODZjNjE5ZjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRl
Y3R1cmUtZXhhbXBsZXMvdnVlanMtY2xpL2Rpc3Qvc3RhdGljL2pzL2FwcC5iMGU4MzU4NzRiYzg5
NDk2NzBkMS5qcworKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotd2VicGFja0pzb25wKFsx
LDBdLFtmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUm
JmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fXZhciBpPW8oMSksbD1uKGkpLHM9byg2KSxhPW4o
cyksYz1vKDQpLHI9bihjKTt3aW5kb3cuVnVlQXBwPW5ldyBsLmRlZmF1bHQoe2VsOiIjYXBwIixy
ZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoYS5kZWZhdWx0KX19KTt2YXIgZD1uZXcgci5kZWZh
dWx0LlJvdXRlcjtbImFsbCIsImFjdGl2ZSIsImNvbXBsZXRlZCJdLmZvckVhY2goZnVuY3Rpb24o
ZSl7ZC5vbihlLGZ1bmN0aW9uKCl7d2luZG93LlZ1ZUFwcC5maWx0ZXI9ZX0pfSksZC5jb25maWd1
cmUoe25vdGZvdW5kOmZ1bmN0aW9uKCl7d2luZG93LmxvY2F0aW9uLmhhc2g9IiIsd2luZG93LlZ1
ZUFwcC5maWx0ZXI9ImFsbCJ9fSksZC5pbml0KCl9LCxmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJp
Y3QiO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fU9i
amVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgaT1vKDcp
LGw9bihpKTt0LmRlZmF1bHQ9e25hbWU6ImFwcCIsY29tcG9uZW50czp7VG9kb3M6bC5kZWZhdWx0
fX19LGZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZSYm
ZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNN
b2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBpPW8oMSksbD1uKGkpO3QuZGVmYXVsdD17ZGF0YTpmdW5j
dGlvbigpe3JldHVybnt0b2RvczpbXSxuZXdUb2RvOiIiLGZpbHRlcjoiYWxsIixhbGxEb25lOiEx
LGVkaXRpbmc6bnVsbH19LGZpbHRlcnM6e3BsdXJhbGl6ZTpmdW5jdGlvbihlKXtyZXR1cm4gMT09
PWU/Iml0ZW0iOiJpdGVtcyJ9fSxkaXJlY3RpdmVzOnt0b2RvRm9jdXM6ZnVuY3Rpb24oZSx0KXt0
JiZsLmRlZmF1bHQubmV4dFRpY2soZnVuY3Rpb24odCl7ZS5mb2N1cygpfSl9fSxtZXRob2RzOnth
ZGRUb2RvOmZ1bmN0aW9uKCl7dGhpcy50b2Rvcy5wdXNoKHtjb21wbGV0ZWQ6ITEsdGl0bGU6dGhp
cy5uZXdUb2RvfSksdGhpcy5uZXdUb2RvPSIifSxkZWxldGVUb2RvOmZ1bmN0aW9uKGUpe3RoaXMu
dG9kb3M9dGhpcy50b2Rvcy5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQhPT1lfSl9LGRlbGV0
ZUNvbXBsZXRlZDpmdW5jdGlvbigpe3RoaXMudG9kb3M9dGhpcy50b2Rvcy5maWx0ZXIoZnVuY3Rp
b24oZSl7cmV0dXJuIWUuY29tcGxldGVkfSl9LGVkaXRUb2RvOmZ1bmN0aW9uKGUpe3RoaXMuZWRp
dGluZz1lfSxkb25lRWRpdDpmdW5jdGlvbigpe3RoaXMuZWRpdGluZz1udWxsfX0sY29tcHV0ZWQ6
e3JlbWFpbmluZzpmdW5jdGlvbigpe3JldHVybiB0aGlzLnRvZG9zLmZpbHRlcihmdW5jdGlvbihl
KXtyZXR1cm4hZS5jb21wbGV0ZWR9KS5sZW5ndGh9LGNvbXBsZXRlZDpmdW5jdGlvbigpe3JldHVy
biB0aGlzLnRvZG9zLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZS5jb21wbGV0ZWR9KS5sZW5n
dGh9LGZpbHRlcmVkVG9kb3M6ZnVuY3Rpb24oKXtyZXR1cm4iYWN0aXZlIj09PXRoaXMuZmlsdGVy
P3RoaXMudG9kb3MuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiFlLmNvbXBsZXRlZH0pOiJjb21w
bGV0ZWQiPT09dGhpcy5maWx0ZXI/dGhpcy50b2Rvcy5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJu
IGUuY29tcGxldGVkfSk6dGhpcy50b2Rvc30sYWxsRG9uZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJu
IDA9PT10aGlzLnJlbWFpbmluZ30sc2V0OmZ1bmN0aW9uKGUpe3RoaXMudG9kb3MuZm9yRWFjaChm
dW5jdGlvbih0KXt0LmNvbXBsZXRlZD1lfSl9fX19fSwsZnVuY3Rpb24oZSx0KXt9LGZ1bmN0aW9u
KGUsdCxvKXt2YXIgbixpO249bygyKTt2YXIgbD1vKDgpO2k9bj1ufHx7fSwib2JqZWN0IiE9dHlw
ZW9mIG4uZGVmYXVsdCYmImZ1bmN0aW9uIiE9dHlwZW9mIG4uZGVmYXVsdHx8KGk9bj1uLmRlZmF1
bHQpLCJmdW5jdGlvbiI9PXR5cGVvZiBpJiYoaT1pLm9wdGlvbnMpLGkucmVuZGVyPWwucmVuZGVy
LGkuc3RhdGljUmVuZGVyRm5zPWwuc3RhdGljUmVuZGVyRm5zLGUuZXhwb3J0cz1ufSxmdW5jdGlv
bihlLHQsbyl7dmFyIG4saTtvKDUpLG49bygzKTt2YXIgbD1vKDkpO2k9bj1ufHx7fSwib2JqZWN0
IiE9dHlwZW9mIG4uZGVmYXVsdCYmImZ1bmN0aW9uIiE9dHlwZW9mIG4uZGVmYXVsdHx8KGk9bj1u
LmRlZmF1bHQpLCJmdW5jdGlvbiI9PXR5cGVvZiBpJiYoaT1pLm9wdGlvbnMpLGkucmVuZGVyPWwu
cmVuZGVyLGkuc3RhdGljUmVuZGVyRm5zPWwuc3RhdGljUmVuZGVyRm5zLGUuZXhwb3J0cz1ufSxm
dW5jdGlvbihlLHQpe2UuZXhwb3J0cz17cmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUu
JGNyZWF0ZUVsZW1lbnQ7cmV0dXJuIHQoImRpdiIse2F0dHJzOntpZDoiYXBwIn19LFt0KCJUb2Rv
cyIpXSl9LHN0YXRpY1JlbmRlckZuczpbXX19LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPXtyZW5k
ZXI6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS4kY3JlYXRlRWxlbWVudDtyZXR1cm4gdCgic2Vj
dGlvbiIse3N0YXRpY0NsYXNzOiJ0b2RvYXBwIn0sW3QoImhlYWRlciIse3N0YXRpY0NsYXNzOiJo
ZWFkZXIifSxbdCgiaDEiLFsiVG9kb3MiXSksIiAiLHQoImlucHV0Iix7ZGlyZWN0aXZlczpbe25h
bWU6Im1vZGVsIixyYXdOYW1lOiJ2LW1vZGVsIix2YWx1ZTplLm5ld1RvZG8sZXhwcmVzc2lvbjoi
bmV3VG9kbyJ9XSxzdGF0aWNDbGFzczoibmV3LXRvZG8iLGF0dHJzOnt0eXBlOiJ0ZXh0IixhdXRv
Zm9jdXM6IiIsYXV0b2NvbXBsZXRlOiJvZmYiLHBsYWNlaG9sZGVyOiJXaGF0IG5lZWRzIHRvIGJl
IGRvbmU/In0sZG9tUHJvcHM6e3ZhbHVlOmUuX3MoZS5uZXdUb2RvKX0sb246e2tleXVwOmZ1bmN0
aW9uKHQpezEzPT09dC5rZXlDb2RlJiZlLmFkZFRvZG8odCl9LGlucHV0OmZ1bmN0aW9uKHQpe3Qu
dGFyZ2V0LmNvbXBvc2luZ3x8KGUubmV3VG9kbz10LnRhcmdldC52YWx1ZSl9fX0pXSksIiAiLHQo
InNlY3Rpb24iLHtkaXJlY3RpdmVzOlt7bmFtZToic2hvdyIscmF3TmFtZToidi1zaG93Iix2YWx1
ZTplLnRvZG9zLmxlbmd0aCxleHByZXNzaW9uOiJ0b2Rvcy5sZW5ndGgifV0sc3RhdGljQ2xhc3M6
Im1haW4ifSxbdCgiaW5wdXQiLHtkaXJlY3RpdmVzOlt7bmFtZToibW9kZWwiLHJhd05hbWU6InYt
bW9kZWwiLHZhbHVlOmUuYWxsRG9uZSxleHByZXNzaW9uOiJhbGxEb25lIn1dLHN0YXRpY0NsYXNz
OiJ0b2dnbGUtYWxsIixhdHRyczp7dHlwZToiY2hlY2tib3gifSxkb21Qcm9wczp7Y2hlY2tlZDpB
cnJheS5pc0FycmF5KGUuYWxsRG9uZSk/ZS5faShlLmFsbERvbmUsbnVsbCk+LTE6ZS5fcShlLmFs
bERvbmUsITApfSxvbjp7Y2hhbmdlOmZ1bmN0aW9uKHQpe3ZhciBvPWUuYWxsRG9uZSxuPXQudGFy
Z2V0LGk9ISFuLmNoZWNrZWQ7aWYoQXJyYXkuaXNBcnJheShvKSl7dmFyIGw9bnVsbCxzPWUuX2ko
byxsKTtpP3M8MCYmKGUuYWxsRG9uZT1vLmNvbmNhdChsKSk6cz4tMSYmKGUuYWxsRG9uZT1vLnNs
aWNlKDAscykuY29uY2F0KG8uc2xpY2UocysxKSkpfWVsc2UgZS5hbGxEb25lPWl9fX0pLCIgIix0
KCJ1bCIse3N0YXRpY0NsYXNzOiJ0b2RvLWxpc3QifSxbZS5fbChlLmZpbHRlcmVkVG9kb3MsZnVu
Y3Rpb24obyl7cmV0dXJuIHQoImxpIix7c3RhdGljQ2xhc3M6InRvZG8iLGNsYXNzOntjb21wbGV0
ZWQ6by5jb21wbGV0ZWQsZWRpdGluZzpvPT09ZS5lZGl0aW5nfX0sW3QoImRpdiIse3N0YXRpY0Ns
YXNzOiJ2aWV3In0sW3QoImlucHV0Iix7ZGlyZWN0aXZlczpbe25hbWU6Im1vZGVsIixyYXdOYW1l
OiJ2LW1vZGVsIix2YWx1ZTpvLmNvbXBsZXRlZCxleHByZXNzaW9uOiJ0b2RvLmNvbXBsZXRlZCJ9
XSxzdGF0aWNDbGFzczoidG9nZ2xlIixhdHRyczp7dHlwZToiY2hlY2tib3gifSxkb21Qcm9wczp7
Y2hlY2tlZDpBcnJheS5pc0FycmF5KG8uY29tcGxldGVkKT9lLl9pKG8uY29tcGxldGVkLG51bGwp
Pi0xOmUuX3Eoby5jb21wbGV0ZWQsITApfSxvbjp7Y2hhbmdlOmZ1bmN0aW9uKHQpe3ZhciBuPW8u
Y29tcGxldGVkLGk9dC50YXJnZXQsbD0hIWkuY2hlY2tlZDtpZihBcnJheS5pc0FycmF5KG4pKXt2
YXIgcz1udWxsLGE9ZS5faShuLHMpO2w/YTwwJiYoby5jb21wbGV0ZWQ9bi5jb25jYXQocykpOmE+
LTEmJihvLmNvbXBsZXRlZD1uLnNsaWNlKDAsYSkuY29uY2F0KG4uc2xpY2UoYSsxKSkpfWVsc2Ug
by5jb21wbGV0ZWQ9bH19fSksIiAiLHQoImxhYmVsIix7b246e2RibGNsaWNrOmZ1bmN0aW9uKHQp
e2UuZWRpdFRvZG8obyl9fX0sW2UuX3Moby50aXRsZSldKSwiICIsdCgiYnV0dG9uIix7c3RhdGlj
Q2xhc3M6ImRlc3Ryb3kiLG9uOntjbGljazpmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCks
ZS5kZWxldGVUb2RvKG8pfX19KV0pLCIgIix0KCJpbnB1dCIse2RpcmVjdGl2ZXM6W3tuYW1lOiJt
b2RlbCIscmF3TmFtZToidi1tb2RlbCIsdmFsdWU6by50aXRsZSxleHByZXNzaW9uOiJ0b2RvLnRp
dGxlIn0se25hbWU6InRvZG9Gb2N1cyIscmF3TmFtZToidi10b2RvRm9jdXMiLHZhbHVlOm89PT1l
LmVkaXRpbmcsZXhwcmVzc2lvbjoidG9kbyA9PT0gZWRpdGluZyJ9XSxzdGF0aWNDbGFzczoiZWRp
dCIsYXR0cnM6e3R5cGU6InRleHQifSxkb21Qcm9wczp7dmFsdWU6ZS5fcyhvLnRpdGxlKX0sb246
e2tleXVwOmZ1bmN0aW9uKHQpezEzPT09dC5rZXlDb2RlJiZlLmRvbmVFZGl0KHQpfSxibHVyOmUu
ZG9uZUVkaXQsaW5wdXQ6ZnVuY3Rpb24oZSl7ZS50YXJnZXQuY29tcG9zaW5nfHwoby50aXRsZT1l
LnRhcmdldC52YWx1ZSl9fX0pXSl9KV0pLCIgIiwiICIsdCgiZm9vdGVyIix7ZGlyZWN0aXZlczpb
e25hbWU6InNob3ciLHJhd05hbWU6InYtc2hvdyIsdmFsdWU6ZS50b2Rvcy5sZW5ndGg+MCxleHBy
ZXNzaW9uOiJ0b2Rvcy5sZW5ndGggPiAwIn1dLHN0YXRpY0NsYXNzOiJmb290ZXIifSxbdCgic3Bh
biIse3N0YXRpY0NsYXNzOiJ0b2RvLWNvdW50In0sW3QoInN0cm9uZyIsW2UuX3MoZS5yZW1haW5p
bmcpXSksIiAiK2UuX3MoZS5fZigicGx1cmFsaXplIikoZS5yZW1haW5pbmcpKSsiIGxlZnRcbiAg
ICAgICAgIl0pLCIgIix0KCJ1bCIse3N0YXRpY0NsYXNzOiJmaWx0ZXJzIn0sW3QoImxpIixbdCgi
YSIse2NsYXNzOntzZWxlY3RlZDoiYWxsIj09ZS5maWx0ZXJ9LGF0dHJzOntocmVmOiIjL2FsbCJ9
LG9uOntjbGljazpmdW5jdGlvbih0KXtlLmZpbHRlcj0iYWxsIn19fSxbIkFsbCJdKV0pLCIgIix0
KCJsaSIsW3QoImEiLHtjbGFzczp7c2VsZWN0ZWQ6ImFjdGl2ZSI9PWUuZmlsdGVyfSxhdHRyczp7
aHJlZjoiIy9hY3RpdmUifSxvbjp7Y2xpY2s6ZnVuY3Rpb24odCl7ZS5maWx0ZXI9ImFjdGl2ZSJ9
fX0sWyJBY3RpdmUiXSldKSwiICIsdCgibGkiLFt0KCJhIix7Y2xhc3M6e3NlbGVjdGVkOiJjb21w
bGV0ZWQiPT1lLmZpbHRlcn0sYXR0cnM6e2hyZWY6IiMvY29tcGxldGVkIn0sb246e2NsaWNrOmZ1
bmN0aW9uKHQpe2UuZmlsdGVyPSJjb21wbGV0ZWQifX19LFsiQ29tcGxldGVkIl0pXSldKSwiICIs
dCgiYnV0dG9uIix7ZGlyZWN0aXZlczpbe25hbWU6InNob3ciLHJhd05hbWU6InYtc2hvdyIsdmFs
dWU6ZS5jb21wbGV0ZWQsZXhwcmVzc2lvbjoiY29tcGxldGVkIn1dLHN0YXRpY0NsYXNzOiJjbGVh
ci1jb21wbGV0ZWQiLG9uOntjbGljazpmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCksZS5k
ZWxldGVDb21wbGV0ZWQodCl9fX0sWyJDbGVhciBDb21wbGV0ZWQiXSldKV0pXSl9LHN0YXRpY1Jl
bmRlckZuczpbXX19XSk7Ci0vLyMgc291cmNlTWFwcGluZ1VSTD1hcHAuYjBlODM1ODc0YmM4OTQ5
NjcwZDEuanMubWFwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUGVy
Zm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUt
ZXhhbXBsZXMvdnVlanMtY2xpL2Rpc3Qvc3RhdGljL2pzL2FwcC5kNmVkODkzNTQzOGY0NGU5ODQz
YS5qcyBiL1BlcmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJj
aGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9kaXN0L3N0YXRpYy9qcy9hcHAuZDZlZDg5MzU0
MzhmNDRlOTg0M2EuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGJmYWM3YmY3ZDUwM2RjYWU2MDE1M2JiOTBlMzU3
ZWEyYzNhMzE2YwotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0
ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9kaXN0
L3N0YXRpYy9qcy9hcHAuZDZlZDg5MzU0MzhmNDRlOTg0M2EuanMKQEAgLTAsMCArMSwyIEBACit3
ZWJwYWNrSnNvbnAoWzBdLFssLCxmdW5jdGlvbihlLHQsbyl7dmFyIG49bygxKShvKDQpLG8oMTAp
LG51bGwsbnVsbCxudWxsKTtlLmV4cG9ydHM9bi5leHBvcnRzfSxmdW5jdGlvbihlLHQsbyl7InVz
ZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9
KTt2YXIgbj1vKDgpLGw9ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZh
dWx0OmV9fShuKTt0LmRlZmF1bHQ9e25hbWU6ImFwcCIsY29tcG9uZW50czp7VG9kb3M6bC5kZWZh
dWx0fX19LGZ1bmN0aW9uKGUsdCxvKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5
KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPW8oMCksbD1mdW5jdGlvbihlKXtyZXR1
cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19KG4pO3QuZGVmYXVsdD17ZGF0YTpmdW5j
dGlvbigpe3JldHVybnt0b2RvczpbXSxuZXdUb2RvOiIiLGZpbHRlcjoiYWxsIixhbGxEb25lOiEx
LGVkaXRpbmc6bnVsbH19LGZpbHRlcnM6e3BsdXJhbGl6ZTpmdW5jdGlvbihlKXtyZXR1cm4gMT09
PWU/Iml0ZW0iOiJpdGVtcyJ9fSxkaXJlY3RpdmVzOnt0b2RvRm9jdXM6ZnVuY3Rpb24oZSx0KXt0
JiZsLmRlZmF1bHQubmV4dFRpY2soZnVuY3Rpb24odCl7ZS5mb2N1cygpfSl9fSxtZXRob2RzOnth
ZGRUb2RvOmZ1bmN0aW9uKCl7dGhpcy50b2Rvcy5wdXNoKHtjb21wbGV0ZWQ6ITEsdGl0bGU6dGhp
cy5uZXdUb2RvfSksdGhpcy5uZXdUb2RvPSIifSxkZWxldGVUb2RvOmZ1bmN0aW9uKGUpe3RoaXMu
dG9kb3M9dGhpcy50b2Rvcy5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQhPT1lfSl9LGRlbGV0
ZUNvbXBsZXRlZDpmdW5jdGlvbigpe3RoaXMudG9kb3M9dGhpcy50b2Rvcy5maWx0ZXIoZnVuY3Rp
b24oZSl7cmV0dXJuIWUuY29tcGxldGVkfSl9LGVkaXRUb2RvOmZ1bmN0aW9uKGUpe3RoaXMuZWRp
dGluZz1lfSxkb25lRWRpdDpmdW5jdGlvbigpe3RoaXMuZWRpdGluZz1udWxsfX0sY29tcHV0ZWQ6
e3JlbWFpbmluZzpmdW5jdGlvbigpe3JldHVybiB0aGlzLnRvZG9zLmZpbHRlcihmdW5jdGlvbihl
KXtyZXR1cm4hZS5jb21wbGV0ZWR9KS5sZW5ndGh9LGNvbXBsZXRlZDpmdW5jdGlvbigpe3JldHVy
biB0aGlzLnRvZG9zLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZS5jb21wbGV0ZWR9KS5sZW5n
dGh9LGZpbHRlcmVkVG9kb3M6ZnVuY3Rpb24oKXtyZXR1cm4iYWN0aXZlIj09PXRoaXMuZmlsdGVy
P3RoaXMudG9kb3MuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiFlLmNvbXBsZXRlZH0pOiJjb21w
bGV0ZWQiPT09dGhpcy5maWx0ZXI/dGhpcy50b2Rvcy5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJu
IGUuY29tcGxldGVkfSk6dGhpcy50b2Rvc30sYWxsRG9uZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJu
IDA9PT10aGlzLnJlbWFpbmluZ30sc2V0OmZ1bmN0aW9uKGUpe3RoaXMudG9kb3MuZm9yRWFjaChm
dW5jdGlvbih0KXt0LmNvbXBsZXRlZD1lfSl9fX19fSxmdW5jdGlvbihlLHQsbyl7InVzZSBzdHJp
Y3QiO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fXZh
ciBsPW8oMCksaT1uKGwpLHM9bygzKSxjPW4ocyksYT1vKDIpLHI9bihhKTt3aW5kb3cuVnVlQXBw
PW5ldyBpLmRlZmF1bHQoe2VsOiIjYXBwIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoYy5k
ZWZhdWx0KX19KTt2YXIgZD1uZXcgci5kZWZhdWx0LlJvdXRlcjtbImFsbCIsImFjdGl2ZSIsImNv
bXBsZXRlZCJdLmZvckVhY2goZnVuY3Rpb24oZSl7ZC5vbihlLGZ1bmN0aW9uKCl7d2luZG93LlZ1
ZUFwcC5maWx0ZXI9ZX0pfSksZC5jb25maWd1cmUoe25vdGZvdW5kOmZ1bmN0aW9uKCl7d2luZG93
LmxvY2F0aW9uLmhhc2g9IiIsd2luZG93LlZ1ZUFwcC5maWx0ZXI9ImFsbCJ9fSksZC5pbml0KCl9
LGZ1bmN0aW9uKGUsdCl7fSxmdW5jdGlvbihlLHQsbyl7ZnVuY3Rpb24gbihlKXtvKDcpfXZhciBs
PW8oMSkobyg1KSxvKDkpLG4sbnVsbCxudWxsKTtlLmV4cG9ydHM9bC5leHBvcnRzfSxmdW5jdGlv
bihlLHQpe2UuZXhwb3J0cz17cmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuJGNyZWF0
ZUVsZW1lbnQsbz1lLl9zZWxmLl9jfHx0O3JldHVybiBvKCJzZWN0aW9uIix7c3RhdGljQ2xhc3M6
InRvZG9hcHAifSxbbygiaGVhZGVyIix7c3RhdGljQ2xhc3M6ImhlYWRlciJ9LFtvKCJoMSIsW2Uu
X3YoIlRvZG9zIildKSxlLl92KCIgIiksbygiaW5wdXQiLHtkaXJlY3RpdmVzOlt7bmFtZToibW9k
ZWwiLHJhd05hbWU6InYtbW9kZWwiLHZhbHVlOmUubmV3VG9kbyxleHByZXNzaW9uOiJuZXdUb2Rv
In1dLHN0YXRpY0NsYXNzOiJuZXctdG9kbyIsYXR0cnM6e3R5cGU6InRleHQiLGF1dG9mb2N1czoi
IixhdXRvY29tcGxldGU6Im9mZiIscGxhY2Vob2xkZXI6IldoYXQgbmVlZHMgdG8gYmUgZG9uZT8i
fSxkb21Qcm9wczp7dmFsdWU6ZS5uZXdUb2RvfSxvbjp7a2V5dXA6ZnVuY3Rpb24odCl7aWYoISgi
YnV0dG9uImluIHQpJiZlLl9rKHQua2V5Q29kZSwiZW50ZXIiLDEzKSlyZXR1cm4gbnVsbDtlLmFk
ZFRvZG8odCl9LGlucHV0OmZ1bmN0aW9uKHQpe3QudGFyZ2V0LmNvbXBvc2luZ3x8KGUubmV3VG9k
bz10LnRhcmdldC52YWx1ZSl9fX0pXSksZS5fdigiICIpLG8oInNlY3Rpb24iLHtkaXJlY3RpdmVz
Olt7bmFtZToic2hvdyIscmF3TmFtZToidi1zaG93Iix2YWx1ZTplLnRvZG9zLmxlbmd0aCxleHBy
ZXNzaW9uOiJ0b2Rvcy5sZW5ndGgifV0sc3RhdGljQ2xhc3M6Im1haW4ifSxbbygiaW5wdXQiLHtk
aXJlY3RpdmVzOlt7bmFtZToibW9kZWwiLHJhd05hbWU6InYtbW9kZWwiLHZhbHVlOmUuYWxsRG9u
ZSxleHByZXNzaW9uOiJhbGxEb25lIn1dLHN0YXRpY0NsYXNzOiJ0b2dnbGUtYWxsIixhdHRyczp7
dHlwZToiY2hlY2tib3gifSxkb21Qcm9wczp7Y2hlY2tlZDpBcnJheS5pc0FycmF5KGUuYWxsRG9u
ZSk/ZS5faShlLmFsbERvbmUsbnVsbCk+LTE6ZS5hbGxEb25lfSxvbjp7X19jOmZ1bmN0aW9uKHQp
e3ZhciBvPWUuYWxsRG9uZSxuPXQudGFyZ2V0LGw9ISFuLmNoZWNrZWQ7aWYoQXJyYXkuaXNBcnJh
eShvKSl7dmFyIGk9ZS5faShvLG51bGwpO24uY2hlY2tlZD9pPDAmJihlLmFsbERvbmU9by5jb25j
YXQobnVsbCkpOmk+LTEmJihlLmFsbERvbmU9by5zbGljZSgwLGkpLmNvbmNhdChvLnNsaWNlKGkr
MSkpKX1lbHNlIGUuYWxsRG9uZT1sfX19KSxlLl92KCIgIiksbygidWwiLHtzdGF0aWNDbGFzczoi
dG9kby1saXN0In0sZS5fbChlLmZpbHRlcmVkVG9kb3MsZnVuY3Rpb24odCl7cmV0dXJuIG8oImxp
Iix7c3RhdGljQ2xhc3M6InRvZG8iLGNsYXNzOntjb21wbGV0ZWQ6dC5jb21wbGV0ZWQsZWRpdGlu
Zzp0PT09ZS5lZGl0aW5nfX0sW28oImRpdiIse3N0YXRpY0NsYXNzOiJ2aWV3In0sW28oImlucHV0
Iix7ZGlyZWN0aXZlczpbe25hbWU6Im1vZGVsIixyYXdOYW1lOiJ2LW1vZGVsIix2YWx1ZTp0LmNv
bXBsZXRlZCxleHByZXNzaW9uOiJ0b2RvLmNvbXBsZXRlZCJ9XSxzdGF0aWNDbGFzczoidG9nZ2xl
IixhdHRyczp7dHlwZToiY2hlY2tib3gifSxkb21Qcm9wczp7Y2hlY2tlZDpBcnJheS5pc0FycmF5
KHQuY29tcGxldGVkKT9lLl9pKHQuY29tcGxldGVkLG51bGwpPi0xOnQuY29tcGxldGVkfSxvbjp7
X19jOmZ1bmN0aW9uKG8pe3ZhciBuPXQuY29tcGxldGVkLGw9by50YXJnZXQsaT0hIWwuY2hlY2tl
ZDtpZihBcnJheS5pc0FycmF5KG4pKXt2YXIgcz1lLl9pKG4sbnVsbCk7bC5jaGVja2VkP3M8MCYm
KHQuY29tcGxldGVkPW4uY29uY2F0KG51bGwpKTpzPi0xJiYodC5jb21wbGV0ZWQ9bi5zbGljZSgw
LHMpLmNvbmNhdChuLnNsaWNlKHMrMSkpKX1lbHNlIHQuY29tcGxldGVkPWl9fX0pLGUuX3YoIiAi
KSxvKCJsYWJlbCIse29uOntkYmxjbGljazpmdW5jdGlvbihvKXtlLmVkaXRUb2RvKHQpfX19LFtl
Ll92KGUuX3ModC50aXRsZSkpXSksZS5fdigiICIpLG8oImJ1dHRvbiIse3N0YXRpY0NsYXNzOiJk
ZXN0cm95Iixvbjp7Y2xpY2s6ZnVuY3Rpb24obyl7by5wcmV2ZW50RGVmYXVsdCgpLGUuZGVsZXRl
VG9kbyh0KX19fSldKSxlLl92KCIgIiksbygiaW5wdXQiLHtkaXJlY3RpdmVzOlt7bmFtZToibW9k
ZWwiLHJhd05hbWU6InYtbW9kZWwiLHZhbHVlOnQudGl0bGUsZXhwcmVzc2lvbjoidG9kby50aXRs
ZSJ9LHtuYW1lOiJ0b2RvRm9jdXMiLHJhd05hbWU6InYtdG9kb0ZvY3VzIix2YWx1ZTp0PT09ZS5l
ZGl0aW5nLGV4cHJlc3Npb246InRvZG8gPT09IGVkaXRpbmcifV0sc3RhdGljQ2xhc3M6ImVkaXQi
LGF0dHJzOnt0eXBlOiJ0ZXh0In0sZG9tUHJvcHM6e3ZhbHVlOnQudGl0bGV9LG9uOntrZXl1cDpm
dW5jdGlvbih0KXtpZighKCJidXR0b24iaW4gdCkmJmUuX2sodC5rZXlDb2RlLCJlbnRlciIsMTMp
KXJldHVybiBudWxsO2UuZG9uZUVkaXQodCl9LGJsdXI6ZS5kb25lRWRpdCxpbnB1dDpmdW5jdGlv
bihlKXtlLnRhcmdldC5jb21wb3Npbmd8fCh0LnRpdGxlPWUudGFyZ2V0LnZhbHVlKX19fSldKX0p
KV0pLGUuX3YoIiAiKSxvKCJmb290ZXIiLHtkaXJlY3RpdmVzOlt7bmFtZToic2hvdyIscmF3TmFt
ZToidi1zaG93Iix2YWx1ZTplLnRvZG9zLmxlbmd0aD4wLGV4cHJlc3Npb246InRvZG9zLmxlbmd0
aCA+IDAifV0sc3RhdGljQ2xhc3M6ImZvb3RlciJ9LFtvKCJzcGFuIix7c3RhdGljQ2xhc3M6InRv
ZG8tY291bnQifSxbbygic3Ryb25nIixbZS5fdihlLl9zKGUucmVtYWluaW5nKSldKSxlLl92KCIg
IitlLl9zKGUuX2YoInBsdXJhbGl6ZSIpKGUucmVtYWluaW5nKSkrIiBsZWZ0XG4gICAgICAgICIp
XSksZS5fdigiICIpLG8oInVsIix7c3RhdGljQ2xhc3M6ImZpbHRlcnMifSxbbygibGkiLFtvKCJh
Iix7Y2xhc3M6e3NlbGVjdGVkOiJhbGwiPT1lLmZpbHRlcn0sYXR0cnM6e2hyZWY6IiMvYWxsIn0s
b246e2NsaWNrOmZ1bmN0aW9uKHQpe2UuZmlsdGVyPSJhbGwifX19LFtlLl92KCJBbGwiKV0pXSks
ZS5fdigiICIpLG8oImxpIixbbygiYSIse2NsYXNzOntzZWxlY3RlZDoiYWN0aXZlIj09ZS5maWx0
ZXJ9LGF0dHJzOntocmVmOiIjL2FjdGl2ZSJ9LG9uOntjbGljazpmdW5jdGlvbih0KXtlLmZpbHRl
cj0iYWN0aXZlIn19fSxbZS5fdigiQWN0aXZlIildKV0pLGUuX3YoIiAiKSxvKCJsaSIsW28oImEi
LHtjbGFzczp7c2VsZWN0ZWQ6ImNvbXBsZXRlZCI9PWUuZmlsdGVyfSxhdHRyczp7aHJlZjoiIy9j
b21wbGV0ZWQifSxvbjp7Y2xpY2s6ZnVuY3Rpb24odCl7ZS5maWx0ZXI9ImNvbXBsZXRlZCJ9fX0s
W2UuX3YoIkNvbXBsZXRlZCIpXSldKV0pLGUuX3YoIiAiKSxvKCJidXR0b24iLHtkaXJlY3RpdmVz
Olt7bmFtZToic2hvdyIscmF3TmFtZToidi1zaG93Iix2YWx1ZTplLmNvbXBsZXRlZCxleHByZXNz
aW9uOiJjb21wbGV0ZWQifV0sc3RhdGljQ2xhc3M6ImNsZWFyLWNvbXBsZXRlZCIsb246e2NsaWNr
OmZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKSxlLmRlbGV0ZUNvbXBsZXRlZCh0KX19fSxb
ZS5fdigiQ2xlYXIgQ29tcGxldGVkIildKV0pXSl9LHN0YXRpY1JlbmRlckZuczpbXX19LGZ1bmN0
aW9uKGUsdCl7ZS5leHBvcnRzPXtyZW5kZXI6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS4kY3Jl
YXRlRWxlbWVudCxvPWUuX3NlbGYuX2N8fHQ7cmV0dXJuIG8oImRpdiIse2F0dHJzOntpZDoiYXBw
In19LFtvKCJUb2RvcyIpXSwxKX0sc3RhdGljUmVuZGVyRm5zOltdfX1dLFs2XSk7CisvLyMgc291
cmNlTWFwcGluZ1VSTD1hcHAuZDZlZDg5MzU0MzhmNDRlOTg0M2EuanMubWFwClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRl
ci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVlanMtY2xpL2Rpc3Qv
c3RhdGljL2pzL2FwcC5kNmVkODkzNTQzOGY0NGU5ODQzYS5qcy5tYXAgYi9QZXJmb3JtYW5jZVRl
c3RzL1NwZWVkb21ldGVyL3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92
dWVqcy1jbGkvZGlzdC9zdGF0aWMvanMvYXBwLmQ2ZWQ4OTM1NDM4ZjQ0ZTk4NDNhLmpzLm1hcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lOWM1MmNjZTAxMWZmMzM1OTExMWZjNGRlY2MxNGUxMGMzZDExNThlCi0tLSAv
ZGV2L251bGwKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9k
b212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVlanMtY2xpL2Rpc3Qvc3RhdGljL2pzL2FwcC5k
NmVkODkzNTQzOGY0NGU5ODQzYS5qcy5tYXAKQEAgLTAsMCArMSBAQAoreyJ2ZXJzaW9uIjozLCJz
b3VyY2VzIjpbIndlYnBhY2s6Ly8vc3RhdGljL2pzL2FwcC5kNmVkODkzNTQzOGY0NGU5ODQzYS5q
cyIsIndlYnBhY2s6Ly8vLi9zcmMvQXBwLnZ1ZSIsIndlYnBhY2s6Ly8vQXBwLnZ1ZSIsIndlYnBh
Y2s6Ly8vVG9kb3MudnVlIiwid2VicGFjazovLy8uL3NyYy9tYWluLmpzIiwid2VicGFjazovLy8u
L3NyYy9jb21wb25lbnRzL1RvZG9zLnZ1ZSIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9U
b2Rvcy52dWU/Y2I4OSIsIndlYnBhY2s6Ly8vLi9zcmMvQXBwLnZ1ZT8yYjFlIl0sIm5hbWVzIjpb
IndlYnBhY2tKc29ucCIsIm1vZHVsZSIsImV4cG9ydHMiLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwi
Q29tcG9uZW50IiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZSIsIl9Ub2RvcyIsIl9U
b2RvczIiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIm5hbWUiLCJjb21wb25lbnRzIiwi
VG9kb3MiLCJfdnVlIiwiX3Z1ZTIiLCJkYXRhIiwidG9kb3MiLCJuZXdUb2RvIiwiZmlsdGVyIiwi
YWxsRG9uZSIsImVkaXRpbmciLCJmaWx0ZXJzIiwicGx1cmFsaXplIiwibiIsImRpcmVjdGl2ZXMi
LCJ0b2RvRm9jdXMiLCJlbCIsIm5leHRUaWNrIiwiXyIsImZvY3VzIiwibWV0aG9kcyIsImFkZFRv
ZG8iLCJ0aGlzIiwicHVzaCIsImNvbXBsZXRlZCIsInRpdGxlIiwiZGVsZXRlVG9kbyIsInRvZG8i
LCJ0IiwiZGVsZXRlQ29tcGxldGVkIiwiZWRpdFRvZG8iLCJkb25lRWRpdCIsImNvbXB1dGVkIiwi
cmVtYWluaW5nIiwibGVuZ3RoIiwiZmlsdGVyZWRUb2RvcyIsImdldCIsInNldCIsImZvckVhY2gi
LCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0FwcCIsIl9BcHAyIiwiX2RpcmVjdG9yIiwiX2Rp
cmVjdG9yMiIsIndpbmRvdyIsIlZ1ZUFwcCIsInJlbmRlciIsImgiLCJyb3V0ZXIiLCJSb3V0ZXIi
LCJ2aXNpYmlsaXR5Iiwib24iLCJjb25maWd1cmUiLCJub3Rmb3VuZCIsImxvY2F0aW9uIiwiaGFz
aCIsImluaXQiLCJpbmplY3RTdHlsZSIsInNzckNvbnRleHQiLCJfdm0iLCJfaCIsIiRjcmVhdGVF
bGVtZW50IiwiX2MiLCJfc2VsZiIsInN0YXRpY0NsYXNzIiwiX3YiLCJyYXdOYW1lIiwiZXhwcmVz
c2lvbiIsImF0dHJzIiwidHlwZSIsImF1dG9mb2N1cyIsImF1dG9jb21wbGV0ZSIsInBsYWNlaG9s
ZGVyIiwiZG9tUHJvcHMiLCJrZXl1cCIsIiRldmVudCIsIl9rIiwia2V5Q29kZSIsImlucHV0Iiwi
dGFyZ2V0IiwiY29tcG9zaW5nIiwiY2hlY2tlZCIsIkFycmF5IiwiaXNBcnJheSIsIl9pIiwiX19j
IiwiJCRhIiwiJCRlbCIsIiQkYyIsIiQkaSIsImNvbmNhdCIsInNsaWNlIiwiX2wiLCJjbGFzcyIs
ImRibGNsaWNrIiwiX3MiLCJjbGljayIsInByZXZlbnREZWZhdWx0IiwiYmx1ciIsIl9mIiwic2Vs
ZWN0ZWQiLCJocmVmIiwic3RhdGljUmVuZGVyRm5zIiwiaWQiXSwibWFwcGluZ3MiOiJBQUFBQSxj
QUFjLElBQ1AsQ0FDQSxDQUNBLENBRUQsU0FBVUMsRUFBUUMsRUFBU0MsR0NMakMsR0FBQUMsR0FB
QUQsRUFBQSxHQUVBQSxFQUFBLEdBRUFBLEVBQUEsSUFFQSxLQUVBLEtBRUEsS0FHQUYsR0FBQUMs
UUFBQUUsRUFBQUYsU0RZTSxTQUFVRCxFQUFRQyxFQUFTQyxHQUVqQyxZQUdBRSxRQUFPQyxlQUFl
SixFQUFTLGNBQzNCSyxPQUFPLEdFdEJYLElBQUFDLEdBQUFMLEVBQUEsR0YyQklNLEVBRUosU0FB
Z0NDLEdBQU8sTUFBT0EsSUFBT0EsRUFBSUMsV0FBYUQsR0FBUUUsUUFBU0YsSUFGbERGLEVBSXJD
TixHQUFRVSxTQUNKQyxLRTlCSixNRitCSUMsWUU1QkpDLE1BQUFOLEVBQUFHLFdGbUNNLFNBQVVY
LEVBQVFDLEVBQVNDLEdBRWpDLFlBR0FFLFFBQU9DLGVBQWVKLEVBQVMsY0FDM0JLLE9BQU8sR0du
QlgsSUFBQVMsR0FBQWIsRUFBQSxHSHdCSWMsRUFFSixTQUFnQ1AsR0FBTyxNQUFPQSxJQUFPQSxF
QUFJQyxXQUFhRCxHQUFRRSxRQUFTRixJQUZwRE0sRUFJbkNkLEdBQVFVLFNBQ0pNLEtBQU0sV0FD
RixPQUNJQyxTQUNBQyxRRzNCWixHSDRCWUMsT0czQlosTUg0QllDLFNHM0JaLEVINEJZQyxRRzFC
WixPSDhCSUMsU0FDSUMsVUFBVyxTQUFtQkMsR0FDMUIsTUFBYSxLQUFOQSxFQUFVLE9HNUI3QixV
SCtCSUMsWUFDSUMsVUFBVyxTQUFtQkMsRUFBSXRCLEdBQzFCQSxHQUNBVSxFQUFNTCxRQUFRa0Is
U0FBUyxTQUFVQyxHQUM3QkYsRUc1QnBCRyxZSGlDSUMsU0FDSUMsUUFBUyxXQUNMQyxLQUFLaEIs
TUFBTWlCLE1BQ1BDLFdHNUJoQixFSDZCZ0JDLE1BQU9ILEtHM0J2QmYsVUg2QlllLEtBQUtmLFFH
NUJqQixJSDhCUW1CLFdBQVksU0FBb0JDLEdBQzVCTCxLQUFLaEIsTUFBUWdCLEtBQUtoQixNQUFN
RSxPQUFPLFNBQVVvQixHQUNyQyxNQUFPQSxLRzdCdkJELEtIZ0NRRSxnQkFBaUIsV0FDYlAsS0FB
S2hCLE1BQVFnQixLQUFLaEIsTUFBTUUsT0FBTyxTQUFVbUIsR0FDckMsT0FBUUEsRUcvQnhCSCxh
SGtDUU0sU0FBVSxTQUFrQkgsR0FDeEJMLEtBQUtaLFFHaENqQmlCLEdIa0NRSSxTQUFVLFdBQ05U
LEtBQUtaLFFHaENqQixPSG1DSXNCLFVBQ0lDLFVBQVcsV0FDUCxNQUFPWCxNQUFLaEIsTUFBTUUs
T0FBTyxTQUFVbUIsR0FDL0IsT0FBUUEsRUFBS0gsWUdqQzdCVSxRSG9DUVYsVUFBVyxXQUNQLE1B
QU9GLE1BQUtoQixNQUFNRSxPQUFPLFNBQVVtQixHQUMvQixNQUFPQSxHQUFLSCxZR25DNUJVLFFI
c0NRQyxjQUFlLFdBQ1gsTUFBb0IsV0FBaEJiLEtBQUtkLE9BQ0VjLEtBQUtoQixNQUFNRSxPQUFP
LFNBQVVtQixHQUMvQixPQUFRQSxFR3JDNUJILFlIdUN1QyxjQUFoQkYsS0FBS2QsT0FDTGMsS0FB
S2hCLE1BQU1FLE9BQU8sU0FBVW1CLEdBQy9CLE1BQU9BLEdHdkMzQkgsWUgyQ21CRixLR3hDbkJo
QixPSDJDUUcsU0FDSTJCLElBQUssV0FDRCxNR3pDaEIsS0h5Q3VCZCxLQUFLVyxXQUVoQkksSUFB
SyxTQUFhM0MsR0FDZDRCLEtBQUtoQixNQUFNZ0MsUUFBUSxTQUFVWCxHQUN6QkEsRUFBS0gsVUd6
Q3pCOUIsU0hrRE0sU0FBVU4sRUFBUUMsRUFBU0MsR0FFakMsWUFlQSxTQUFTaUQsR0FBdUIxQyxH
QUFPLE1BQU9BLElBQU9BLEVBQUlDLFdBQWFELEdBQVFFLFFBQVNGLEdJekt2RixHQUFBTSxHQUFB
YixFQUFBLEdKK0pJYyxFQUFRbUMsRUFBdUJwQyxHSTlKbkNxQyxFQUFBbEQsRUFBQSxHSmtLSW1E
LEVBQVFGLEVBQXVCQyxHSWpLbkNFLEVBQUFwRCxFQUFBLEdKcUtJcUQsRUFBYUosRUFBdUJHLEVJ
bEt4Q0UsUUFBT0MsT0FBUyxHQUFBekMsR0FBQUwsU0FDWmlCLEdBQUksT0FDSjhCLE9BQVEsU0FB
QUMsR0FBQSxNQUFLQSxnQkFHakIsSUFBTUMsR0FBUyxHQUFJTCxHQUFBNUMsUUFBU2tELFFBRTNC
LE1BQU8sU0FBVSxhQUFhWCxRQUFRLFNBQUFZLEdBQ3JDRixFQUFPRyxHQUFHRCxFQUFZLFdBQ3BC
TixPQUFPQyxPQUFPckMsT0FBUzBDLE1BSTNCRixFQUFPSSxXQUNMQyxTQUFVLFdBQ1JULE9BQU9V
LFNBQVNDLEtBQU8sR0FDdkJYLE9BQU9DLE9BQU9yQyxPQUFTLFNBSTNCd0MsRUFBT1EsUUo0S0Qs
U0FBVXBFLEVBQVFDLEtBTWxCLFNBQVVELEVBQVFDLEVBQVNDLEdLN01qQyxRQUFBbUUsR0FBQUMs
R0FDQXBFLEVBQUEsR0FFQSxHQUFBQyxHQUFBRCxFQUFBLEdBRUFBLEVBQUEsR0FFQUEsRUFBQSxH
QUVBbUUsRUFFQSxLQUVBLEtBR0FyRSxHQUFBQyxRQUFBRSxFQUFBRixTTG9OTSxTQUFVRCxFQUFR
QyxHTXBPeEJELEVBQUFDLFNBQWdCeUQsT0FBQSxXQUFtQixHQUFBYSxHQUFBckMsS0FBYXNDLEVB
QUFELEVBQUFFLGVBQTBCQyxFQUFBSCxFQUFBSSxNQUFBRCxJQUFBRixDQUMxRSxPQUFBRSxHQUFB
LFdBQ0FFLFlBQUEsWUFDR0YsRUFBQSxVQUNIRSxZQUFBLFdBQ0dGLEVBQUEsTUFBQUgsRUFBQU0s
R0FBQSxXQUFBTixFQUFBTSxHQUFBLEtBQUFILEVBQUEsU0FDSGhELGFBQ0FkLEtBQUEsUUFDQWtF
LFFBQUEsVUFDQXhFLE1BQUFpRSxFQUFBLFFBQ0FRLFdBQUEsWUFFQUgsWUFBQSxXQUNBSSxPQUNB
QyxLQUFBLE9BQ0FDLFVBQUEsR0FDQUMsYUFBQSxNQUNBQyxZQUFBLDBCQUVBQyxVQUNBL0UsTUFB
QWlFLEVBQUEsU0FFQVIsSUFDQXVCLE1BQUEsU0FBQUMsR0FDQSxlQUFBQSxLQUFBaEIsRUFBQWlC
LEdBQUFELEVBQUFFLFFBQUEsWUFBMkUsV0FDM0VsQixHQUFBdEMsUUFBQXNELElBRUFHLE1BQUEs
U0FBQUgsR0FDQUEsRUFBQUksT0FBQUMsWUFDQXJCLEVBQUFwRCxRQUFBb0UsRUFBQUksT0FBQXJG
LGFBR0dpRSxFQUFBTSxHQUFBLEtBQUFILEVBQUEsV0FDSGhELGFBQ0FkLEtBQUEsT0FDQWtFLFFB
QUEsU0FDQXhFLE1BQUFpRSxFQUFBckQsTUFBQSxPQUNBNkQsV0FBQSxpQkFFQUgsWUFBQSxTQUNH
RixFQUFBLFNBQ0hoRCxhQUNBZCxLQUFBLFFBQ0FrRSxRQUFBLFVBQ0F4RSxNQUFBaUUsRUFBQSxR
QUNBUSxXQUFBLFlBRUFILFlBQUEsYUFDQUksT0FDQUMsS0FBQSxZQUVBSSxVQUNBUSxRQUFBQyxN
QUFBQyxRQUFBeEIsRUFBQWxELFNBQUFrRCxFQUFBeUIsR0FBQXpCLEVBQUFsRCxRQUFBLFNBQUFr
RCxFQUFBLFNBRUFSLElBQ0FrQyxJQUFBLFNBQUFWLEdBQ0EsR0FBQVcsR0FBQTNCLEVBQUFsRCxR
QUNBOEUsRUFBQVosRUFBQUksT0FDQVMsSUFBQUQsRUFBQU4sT0FDQSxJQUFBQyxNQUFBQyxRQUFB
RyxHQUFBLENBQ0EsR0FDQUcsR0FBQTlCLEVBQUF5QixHQUFBRSxFQURBLEtBRUFDLEdBQUFOLFFB
Q0FRLEVBQUEsSUFBQTlCLEVBQUFsRCxRQUFBNkUsRUFBQUksT0FIQSxPQUtBRCxHQUFBLElBQUE5
QixFQUFBbEQsUUFBQTZFLEVBQUFLLE1BQUEsRUFBQUYsR0FBQUMsT0FBQUosRUFBQUssTUFBQUYs
RUFBQSxTQUdBOUIsR0FBQWxELFFBQUErRSxNQUlHN0IsRUFBQU0sR0FBQSxLQUFBSCxFQUFBLE1B
Q0hFLFlBQUEsYUFDR0wsRUFBQWlDLEdBQUFqQyxFQUFBLHVCQUFBaEMsR0FDSCxNQUFBbUMsR0FB
QSxNQUNBRSxZQUFBLE9BQ0E2QixPQUNBckUsVUFBQUcsRUFBQUgsVUFBQWQsUUFBQWlCLElBQUFn
QyxFQUFBakQsV0FFS29ELEVBQUEsT0FDTEUsWUFBQSxTQUNLRixFQUFBLFNBQ0xoRCxhQUNBZCxL
QUFBLFFBQ0FrRSxRQUFBLFVBQ0F4RSxNQUFBaUMsRUFBQSxVQUNBd0MsV0FBQSxtQkFFQUgsWUFB
QSxTQUNBSSxPQUNBQyxLQUFBLFlBRUFJLFVBQ0FRLFFBQUFDLE1BQUFDLFFBQUF4RCxFQUFBSCxX
QUFBbUMsRUFBQXlCLEdBQUF6RCxFQUFBSCxVQUFBLFNBQUFHLEVBQUEsV0FFQXdCLElBQ0FrQyxJ
QUFBLFNBQUFWLEdBQ0EsR0FBQVcsR0FBQTNELEVBQUFILFVBQ0ErRCxFQUFBWixFQUFBSSxPQUNB
UyxJQUFBRCxFQUFBTixPQUNBLElBQUFDLE1BQUFDLFFBQUFHLEdBQUEsQ0FDQSxHQUNBRyxHQUFB
OUIsRUFBQXlCLEdBQUFFLEVBREEsS0FFQUMsR0FBQU4sUUFDQVEsRUFBQSxJQUFBOUQsRUFBQUgs
VUFBQThELEVBQUFJLE9BSEEsT0FLQUQsR0FBQSxJQUFBOUQsRUFBQUgsVUFBQThELEVBQUFLLE1B
QUEsRUFBQUYsR0FBQUMsT0FBQUosRUFBQUssTUFBQUYsRUFBQSxTQUdBOUQsR0FBQUgsVUFBQWdF
LE1BSUs3QixFQUFBTSxHQUFBLEtBQUFILEVBQUEsU0FDTFgsSUFDQTJDLFNBQUEsU0FBQW5CLEdB
Q0FoQixFQUFBN0IsU0FBQUgsT0FHS2dDLEVBQUFNLEdBQUFOLEVBQUFvQyxHQUFBcEUsRUFBQUYs
VUFBQWtDLEVBQUFNLEdBQUEsS0FBQUgsRUFBQSxVQUNMRSxZQUFBLFVBQ0FiLElBQ0E2QyxNQUFB
LFNBQUFyQixHQUNBQSxFQUFBc0IsaUJBQ0F0QyxFQUFBakMsV0FBQUMsU0FHS2dDLEVBQUFNLEdB
QUEsS0FBQUgsRUFBQSxTQUNMaEQsYUFDQWQsS0FBQSxRQUNBa0UsUUFBQSxVQUNBeEUsTUFBQWlD
LEVBQUEsTUFDQXdDLFdBQUEsZUFFQW5FLEtBQUEsWUFDQWtFLFFBQUEsY0FDQXhFLE1BQUFpQyxJ
QUFBZ0MsRUFBQWpELFFBQ0F5RCxXQUFBLHFCQUVBSCxZQUFBLE9BQ0FJLE9BQ0FDLEtBQUEsUUFF
QUksVUFDQS9FLE1BQUFpQyxFQUFBLE9BRUF3QixJQUNBdUIsTUFBQSxTQUFBQyxHQUNBLGVBQUFB
LEtBQUFoQixFQUFBaUIsR0FBQUQsRUFBQUUsUUFBQSxZQUE2RSxXQUM3RWxCLEdBQUE1QixTQUFB
NEMsSUFFQXVCLEtBQUF2QyxFQUFBNUIsU0FDQStDLE1BQUEsU0FBQUgsR0FDQUEsRUFBQUksT0FB
QUMsWUFDQXJELEVBQUFGLE1BQUFrRCxFQUFBSSxPQUFBckYsa0JBSUdpRSxFQUFBTSxHQUFBLEtB
QUFILEVBQUEsVUFDSGhELGFBQ0FkLEtBQUEsT0FDQWtFLFFBQUEsU0FDQXhFLE1BQUFpRSxFQUFB
ckQsTUFBQTRCLE9BQUEsRUFDQWlDLFdBQUEscUJBRUFILFlBQUEsV0FDR0YsRUFBQSxRQUNIRSxZ
QUFBLGVBQ0dGLEVBQUEsVUFBQUgsRUFBQU0sR0FBQU4sRUFBQW9DLEdBQUFwQyxFQUFBMUIsY0FB
QTBCLEVBQUFNLEdBQUEsSUFBQU4sRUFBQW9DLEdBQUFwQyxFQUFBd0MsR0FBQSxhQUFBeEMsRUFB
QTFCLFlBQUEscUJBQUEwQixFQUFBTSxHQUFBLEtBQUFILEVBQUEsTUFDSEUsWUFBQSxZQUNHRixF
QUFBLE1BQUFBLEVBQUEsS0FDSCtCLE9BQ0FPLFNBQUEsT0FBQXpDLEVBQUFuRCxRQUVBNEQsT0FD
QWlDLEtBQUEsU0FFQWxELElBQ0E2QyxNQUFBLFNBQUFyQixHQUNBaEIsRUFBQW5ELE9BQUEsVUFH
R21ELEVBQUFNLEdBQUEsV0FBQU4sRUFBQU0sR0FBQSxLQUFBSCxFQUFBLE1BQUFBLEVBQUEsS0FD
SCtCLE9BQ0FPLFNBQUEsVUFBQXpDLEVBQUFuRCxRQUVBNEQsT0FDQWlDLEtBQUEsWUFFQWxELElB
Q0E2QyxNQUFBLFNBQUFyQixHQUNBaEIsRUFBQW5ELE9BQUEsYUFHR21ELEVBQUFNLEdBQUEsY0FB
QU4sRUFBQU0sR0FBQSxLQUFBSCxFQUFBLE1BQUFBLEVBQUEsS0FDSCtCLE9BQ0FPLFNBQUEsYUFB
QXpDLEVBQUFuRCxRQUVBNEQsT0FDQWlDLEtBQUEsZUFFQWxELElBQ0E2QyxNQUFBLFNBQUFyQixH
QUNBaEIsRUFBQW5ELE9BQUEsZ0JBR0dtRCxFQUFBTSxHQUFBLG1CQUFBTixFQUFBTSxHQUFBLEtB
QUFILEVBQUEsVUFDSGhELGFBQ0FkLEtBQUEsT0FDQWtFLFFBQUEsU0FDQXhFLE1BQUFpRSxFQUFB
LFVBQ0FRLFdBQUEsY0FFQUgsWUFBQSxrQkFDQWIsSUFDQTZDLE1BQUEsU0FBQXJCLEdBQ0FBLEVB
QUFzQixpQkFDQXRDLEVBQUE5QixnQkFBQThDLE9BR0doQixFQUFBTSxHQUFBLDBCQUNGcUMscUJO
ME9LLFNBQVVsSCxFQUFRQyxHT3hjeEJELEVBQUFDLFNBQWdCeUQsT0FBQSxXQUFtQixHQUFBYSxH
QUFBckMsS0FBYXNDLEVBQUFELEVBQUFFLGVBQTBCQyxFQUFBSCxFQUFBSSxNQUFBRCxJQUFBRixD
QUMxRSxPQUFBRSxHQUFBLE9BQ0FNLE9BQ0FtQyxHQUFBLFNBRUd6QyxFQUFBLGNBQ0Z3Qyx1QlA2
Y0UiLCJmaWxlIjoic3RhdGljL2pzL2FwcC5kNmVkODkzNTQzOGY0NGU5ODQzYS5qcyIsInNvdXJj
ZXNDb250ZW50IjpbIndlYnBhY2tKc29ucChbMF0sW1xuLyogMCAqLyxcbi8qIDEgKi8sXG4vKiAy
ICovLFxuLyogMyAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNr
X3JlcXVpcmVfXykge1xuXG52YXIgQ29tcG9uZW50ID0gX193ZWJwYWNrX3JlcXVpcmVfXygxKShc
biAgLyogc2NyaXB0ICovXG4gIF9fd2VicGFja19yZXF1aXJlX18oNCksXG4gIC8qIHRlbXBsYXRl
ICovXG4gIF9fd2VicGFja19yZXF1aXJlX18oMTApLFxuICAvKiBzdHlsZXMgKi9cbiAgbnVsbCxc
biAgLyogc2NvcGVJZCAqL1xuICBudWxsLFxuICAvKiBtb2R1bGVJZGVudGlmaWVyIChzZXJ2ZXIg
b25seSkgKi9cbiAgbnVsbFxuKVxuXG5tb2R1bGUuZXhwb3J0cyA9IENvbXBvbmVudC5leHBvcnRz
XG5cblxuLyoqKi8gfSksXG4vKiA0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRz
LCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5cbk9iamVjdC5k
ZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVl
XG59KTtcblxudmFyIF9Ub2RvcyA9IF9fd2VicGFja19yZXF1aXJlX18oOCk7XG5cbnZhciBfVG9k
b3MyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfVG9kb3MpO1xuXG5mdW5jdGlvbiBfaW50ZXJv
cFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2Jq
IDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgbmFtZTog
J2FwcCcsXG4gICAgY29tcG9uZW50czoge1xuICAgICAgICBUb2RvczogX1RvZG9zMi5kZWZhdWx0
XG4gICAgfVxufTtcblxuLyoqKi8gfSksXG4vKiA1ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxl
LCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuXG5c
bk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZh
bHVlOiB0cnVlXG59KTtcblxudmFyIF92dWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDApO1xuXG52
YXIgX3Z1ZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF92dWUpO1xuXG5mdW5jdGlvbiBfaW50
ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8g
b2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgZGF0
YTogZnVuY3Rpb24gZGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRvZG9z
OiBbXSxcbiAgICAgICAgICAgIG5ld1RvZG86ICcnLFxuICAgICAgICAgICAgZmlsdGVyOiAnYWxs
JyxcbiAgICAgICAgICAgIGFsbERvbmU6IGZhbHNlLFxuICAgICAgICAgICAgZWRpdGluZzogbnVs
bFxuICAgICAgICB9O1xuICAgIH0sXG5cbiAgICBmaWx0ZXJzOiB7XG4gICAgICAgIHBsdXJhbGl6
ZTogZnVuY3Rpb24gcGx1cmFsaXplKG4pIHtcbiAgICAgICAgICAgIHJldHVybiBuID09PSAxID8g
J2l0ZW0nIDogJ2l0ZW1zJztcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGlyZWN0aXZlczoge1xu
ICAgICAgICB0b2RvRm9jdXM6IGZ1bmN0aW9uIHRvZG9Gb2N1cyhlbCwgdmFsdWUpIHtcbiAgICAg
ICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIF92dWUyLmRlZmF1bHQubmV4dFRp
Y2soZnVuY3Rpb24gKF8pIHtcbiAgICAgICAgICAgICAgICAgICAgZWwuZm9jdXMoKTtcbiAgICAg
ICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgbWV0
aG9kczoge1xuICAgICAgICBhZGRUb2RvOiBmdW5jdGlvbiBhZGRUb2RvKCkge1xuICAgICAgICAg
ICAgdGhpcy50b2Rvcy5wdXNoKHtcbiAgICAgICAgICAgICAgICBjb21wbGV0ZWQ6IGZhbHNlLFxu
ICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLm5ld1RvZG9cbiAgICAgICAgICAgIH0pO1xuICAg
ICAgICAgICAgdGhpcy5uZXdUb2RvID0gJyc7XG4gICAgICAgIH0sXG4gICAgICAgIGRlbGV0ZVRv
ZG86IGZ1bmN0aW9uIGRlbGV0ZVRvZG8odG9kbykge1xuICAgICAgICAgICAgdGhpcy50b2RvcyA9
IHRoaXMudG9kb3MuZmlsdGVyKGZ1bmN0aW9uICh0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJu
IHQgIT09IHRvZG87XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgZGVsZXRl
Q29tcGxldGVkOiBmdW5jdGlvbiBkZWxldGVDb21wbGV0ZWQoKSB7XG4gICAgICAgICAgICB0aGlz
LnRvZG9zID0gdGhpcy50b2Rvcy5maWx0ZXIoZnVuY3Rpb24gKHRvZG8pIHtcbiAgICAgICAgICAg
ICAgICByZXR1cm4gIXRvZG8uY29tcGxldGVkO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0s
XG4gICAgICAgIGVkaXRUb2RvOiBmdW5jdGlvbiBlZGl0VG9kbyh0b2RvKSB7XG4gICAgICAgICAg
ICB0aGlzLmVkaXRpbmcgPSB0b2RvO1xuICAgICAgICB9LFxuICAgICAgICBkb25lRWRpdDogZnVu
Y3Rpb24gZG9uZUVkaXQoKSB7XG4gICAgICAgICAgICB0aGlzLmVkaXRpbmcgPSBudWxsO1xuICAg
ICAgICB9XG4gICAgfSxcbiAgICBjb21wdXRlZDoge1xuICAgICAgICByZW1haW5pbmc6IGZ1bmN0
aW9uIHJlbWFpbmluZygpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRvZG9zLmZpbHRlcihm
dW5jdGlvbiAodG9kbykge1xuICAgICAgICAgICAgICAgIHJldHVybiAhdG9kby5jb21wbGV0ZWQ7
XG4gICAgICAgICAgICB9KS5sZW5ndGg7XG4gICAgICAgIH0sXG4gICAgICAgIGNvbXBsZXRlZDog
ZnVuY3Rpb24gY29tcGxldGVkKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9kb3MuZmls
dGVyKGZ1bmN0aW9uICh0b2RvKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRvZG8uY29tcGxl
dGVkO1xuICAgICAgICAgICAgfSkubGVuZ3RoO1xuICAgICAgICB9LFxuICAgICAgICBmaWx0ZXJl
ZFRvZG9zOiBmdW5jdGlvbiBmaWx0ZXJlZFRvZG9zKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMu
ZmlsdGVyID09PSAnYWN0aXZlJykge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRvZG9z
LmZpbHRlcihmdW5jdGlvbiAodG9kbykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gIXRv
ZG8uY29tcGxldGVkO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIGlm
ICh0aGlzLmZpbHRlciA9PT0gJ2NvbXBsZXRlZCcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4g
dGhpcy50b2Rvcy5maWx0ZXIoZnVuY3Rpb24gKHRvZG8pIHtcbiAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIHRvZG8uY29tcGxldGVkO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAg
fVxuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy50b2RvcztcbiAgICAgICAgfSxcblxuICAgICAg
ICBhbGxEb25lOiB7XG4gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAg
ICAgICAgICByZXR1cm4gdGhpcy5yZW1haW5pbmcgPT09IDA7XG4gICAgICAgICAgICB9LFxuICAg
ICAgICAgICAgc2V0OiBmdW5jdGlvbiBzZXQodmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlz
LnRvZG9zLmZvckVhY2goZnVuY3Rpb24gKHRvZG8pIHtcbiAgICAgICAgICAgICAgICAgICAgdG9k
by5jb21wbGV0ZWQgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1c
biAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKiovIH0pLFxuLyogNiAqL1xuLyoqKi8gKGZ1bmN0
aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJp
Y3RcIjtcblxuXG52YXIgX3Z1ZSA9IF9fd2VicGFja19yZXF1aXJlX18oMCk7XG5cbnZhciBfdnVl
MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3Z1ZSk7XG5cbnZhciBfQXBwID0gX193ZWJwYWNr
X3JlcXVpcmVfXygzKTtcblxudmFyIF9BcHAyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfQXBw
KTtcblxudmFyIF9kaXJlY3RvciA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cbnZhciBfZGly
ZWN0b3IyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGlyZWN0b3IpO1xuXG5mdW5jdGlvbiBf
aW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxl
ID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG53aW5kb3cuVnVlQXBwID0gbmV3IF92dWUy
LmRlZmF1bHQoe1xuICBlbDogJyNhcHAnLFxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoKSB7
XG4gICAgcmV0dXJuIGgoX0FwcDIuZGVmYXVsdCk7XG4gIH1cbn0pO1xuXG52YXIgcm91dGVyID0g
bmV3IF9kaXJlY3RvcjIuZGVmYXVsdC5Sb3V0ZXIoKTtcblxuWydhbGwnLCAnYWN0aXZlJywgJ2Nv
bXBsZXRlZCddLmZvckVhY2goZnVuY3Rpb24gKHZpc2liaWxpdHkpIHtcbiAgcm91dGVyLm9uKHZp
c2liaWxpdHksIGZ1bmN0aW9uICgpIHtcbiAgICB3aW5kb3cuVnVlQXBwLmZpbHRlciA9IHZpc2li
aWxpdHk7XG4gIH0pO1xufSk7XG5cbnJvdXRlci5jb25maWd1cmUoe1xuICBub3Rmb3VuZDogZnVu
Y3Rpb24gbm90Zm91bmQoKSB7XG4gICAgd2luZG93LmxvY2F0aW9uLmhhc2ggPSAnJztcbiAgICB3
aW5kb3cuVnVlQXBwLmZpbHRlciA9ICdhbGwnO1xuICB9XG59KTtcblxucm91dGVyLmluaXQoKTtc
blxuLyoqKi8gfSksXG4vKiA3ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7
XG5cbi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cbi8qKiovIH0p
LFxuLyogOCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3Jl
cXVpcmVfXykge1xuXG5mdW5jdGlvbiBpbmplY3RTdHlsZSAoc3NyQ29udGV4dCkge1xuICBfX3dl
YnBhY2tfcmVxdWlyZV9fKDcpXG59XG52YXIgQ29tcG9uZW50ID0gX193ZWJwYWNrX3JlcXVpcmVf
XygxKShcbiAgLyogc2NyaXB0ICovXG4gIF9fd2VicGFja19yZXF1aXJlX18oNSksXG4gIC8qIHRl
bXBsYXRlICovXG4gIF9fd2VicGFja19yZXF1aXJlX18oOSksXG4gIC8qIHN0eWxlcyAqL1xuICBp
bmplY3RTdHlsZSxcbiAgLyogc2NvcGVJZCAqL1xuICBudWxsLFxuICAvKiBtb2R1bGVJZGVudGlm
aWVyIChzZXJ2ZXIgb25seSkgKi9cbiAgbnVsbFxuKVxuXG5tb2R1bGUuZXhwb3J0cyA9IENvbXBv
bmVudC5leHBvcnRzXG5cblxuLyoqKi8gfSksXG4vKiA5ICovXG4vKioqLyAoZnVuY3Rpb24obW9k
dWxlLCBleHBvcnRzKSB7XG5cbm1vZHVsZS5leHBvcnRzPXtyZW5kZXI6ZnVuY3Rpb24gKCl7dmFy
IF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5fY3x8
X2g7XG4gIHJldHVybiBfYygnc2VjdGlvbicsIHtcbiAgICBzdGF0aWNDbGFzczogXCJ0b2RvYXBw
XCJcbiAgfSwgW19jKCdoZWFkZXInLCB7XG4gICAgc3RhdGljQ2xhc3M6IFwiaGVhZGVyXCJcbiAg
fSwgW19jKCdoMScsIFtfdm0uX3YoXCJUb2Rvc1wiKV0pLCBfdm0uX3YoXCIgXCIpLCBfYygnaW5w
dXQnLCB7XG4gICAgZGlyZWN0aXZlczogW3tcbiAgICAgIG5hbWU6IFwibW9kZWxcIixcbiAgICAg
IHJhd05hbWU6IFwidi1tb2RlbFwiLFxuICAgICAgdmFsdWU6IChfdm0ubmV3VG9kbyksXG4gICAg
ICBleHByZXNzaW9uOiBcIm5ld1RvZG9cIlxuICAgIH1dLFxuICAgIHN0YXRpY0NsYXNzOiBcIm5l
dy10b2RvXCIsXG4gICAgYXR0cnM6IHtcbiAgICAgIFwidHlwZVwiOiBcInRleHRcIixcbiAgICAg
IFwiYXV0b2ZvY3VzXCI6IFwiXCIsXG4gICAgICBcImF1dG9jb21wbGV0ZVwiOiBcIm9mZlwiLFxu
ICAgICAgXCJwbGFjZWhvbGRlclwiOiBcIldoYXQgbmVlZHMgdG8gYmUgZG9uZT9cIlxuICAgIH0s
XG4gICAgZG9tUHJvcHM6IHtcbiAgICAgIFwidmFsdWVcIjogKF92bS5uZXdUb2RvKVxuICAgIH0s
XG4gICAgb246IHtcbiAgICAgIFwia2V5dXBcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAg
IGlmICghKCdidXR0b24nIGluICRldmVudCkgJiYgX3ZtLl9rKCRldmVudC5rZXlDb2RlLCBcImVu
dGVyXCIsIDEzKSkgeyByZXR1cm4gbnVsbDsgfVxuICAgICAgICBfdm0uYWRkVG9kbygkZXZlbnQp
XG4gICAgICB9LFxuICAgICAgXCJpbnB1dFwiOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAg
aWYgKCRldmVudC50YXJnZXQuY29tcG9zaW5nKSB7IHJldHVybjsgfVxuICAgICAgICBfdm0ubmV3
VG9kbyA9ICRldmVudC50YXJnZXQudmFsdWVcbiAgICAgIH1cbiAgICB9XG4gIH0pXSksIF92bS5f
dihcIiBcIiksIF9jKCdzZWN0aW9uJywge1xuICAgIGRpcmVjdGl2ZXM6IFt7XG4gICAgICBuYW1l
OiBcInNob3dcIixcbiAgICAgIHJhd05hbWU6IFwidi1zaG93XCIsXG4gICAgICB2YWx1ZTogKF92
bS50b2Rvcy5sZW5ndGgpLFxuICAgICAgZXhwcmVzc2lvbjogXCJ0b2Rvcy5sZW5ndGhcIlxuICAg
IH1dLFxuICAgIHN0YXRpY0NsYXNzOiBcIm1haW5cIlxuICB9LCBbX2MoJ2lucHV0Jywge1xuICAg
IGRpcmVjdGl2ZXM6IFt7XG4gICAgICBuYW1lOiBcIm1vZGVsXCIsXG4gICAgICByYXdOYW1lOiBc
InYtbW9kZWxcIixcbiAgICAgIHZhbHVlOiAoX3ZtLmFsbERvbmUpLFxuICAgICAgZXhwcmVzc2lv
bjogXCJhbGxEb25lXCJcbiAgICB9XSxcbiAgICBzdGF0aWNDbGFzczogXCJ0b2dnbGUtYWxsXCIs
XG4gICAgYXR0cnM6IHtcbiAgICAgIFwidHlwZVwiOiBcImNoZWNrYm94XCJcbiAgICB9LFxuICAg
IGRvbVByb3BzOiB7XG4gICAgICBcImNoZWNrZWRcIjogQXJyYXkuaXNBcnJheShfdm0uYWxsRG9u
ZSkgPyBfdm0uX2koX3ZtLmFsbERvbmUsIG51bGwpID4gLTEgOiAoX3ZtLmFsbERvbmUpXG4gICAg
fSxcbiAgICBvbjoge1xuICAgICAgXCJfX2NcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAg
IHZhciAkJGEgPSBfdm0uYWxsRG9uZSxcbiAgICAgICAgICAkJGVsID0gJGV2ZW50LnRhcmdldCxc
biAgICAgICAgICAkJGMgPSAkJGVsLmNoZWNrZWQgPyAodHJ1ZSkgOiAoZmFsc2UpO1xuICAgICAg
ICBpZiAoQXJyYXkuaXNBcnJheSgkJGEpKSB7XG4gICAgICAgICAgdmFyICQkdiA9IG51bGwsXG4g
ICAgICAgICAgICAkJGkgPSBfdm0uX2koJCRhLCAkJHYpO1xuICAgICAgICAgIGlmICgkJGVsLmNo
ZWNrZWQpIHtcbiAgICAgICAgICAgICQkaSA8IDAgJiYgKF92bS5hbGxEb25lID0gJCRhLmNvbmNh
dCgkJHYpKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAkJGkgPiAtMSAmJiAoX3Zt
LmFsbERvbmUgPSAkJGEuc2xpY2UoMCwgJCRpKS5jb25jYXQoJCRhLnNsaWNlKCQkaSArIDEpKSlc
biAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgX3ZtLmFsbERvbmUgPSAk
JGNcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSksIF92bS5fdihcIiBcIiksIF9jKCd1
bCcsIHtcbiAgICBzdGF0aWNDbGFzczogXCJ0b2RvLWxpc3RcIlxuICB9LCBfdm0uX2woKF92bS5m
aWx0ZXJlZFRvZG9zKSwgZnVuY3Rpb24odG9kbykge1xuICAgIHJldHVybiBfYygnbGknLCB7XG4g
ICAgICBzdGF0aWNDbGFzczogXCJ0b2RvXCIsXG4gICAgICBjbGFzczoge1xuICAgICAgICBjb21w
bGV0ZWQ6IHRvZG8uY29tcGxldGVkLCBlZGl0aW5nOiB0b2RvID09PSBfdm0uZWRpdGluZ1xuICAg
ICAgfVxuICAgIH0sIFtfYygnZGl2Jywge1xuICAgICAgc3RhdGljQ2xhc3M6IFwidmlld1wiXG4g
ICAgfSwgW19jKCdpbnB1dCcsIHtcbiAgICAgIGRpcmVjdGl2ZXM6IFt7XG4gICAgICAgIG5hbWU6
IFwibW9kZWxcIixcbiAgICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICAgIHZhbHVl
OiAodG9kby5jb21wbGV0ZWQpLFxuICAgICAgICBleHByZXNzaW9uOiBcInRvZG8uY29tcGxldGVk
XCJcbiAgICAgIH1dLFxuICAgICAgc3RhdGljQ2xhc3M6IFwidG9nZ2xlXCIsXG4gICAgICBhdHRy
czoge1xuICAgICAgICBcInR5cGVcIjogXCJjaGVja2JveFwiXG4gICAgICB9LFxuICAgICAgZG9t
UHJvcHM6IHtcbiAgICAgICAgXCJjaGVja2VkXCI6IEFycmF5LmlzQXJyYXkodG9kby5jb21wbGV0
ZWQpID8gX3ZtLl9pKHRvZG8uY29tcGxldGVkLCBudWxsKSA+IC0xIDogKHRvZG8uY29tcGxldGVk
KVxuICAgICAgfSxcbiAgICAgIG9uOiB7XG4gICAgICAgIFwiX19jXCI6IGZ1bmN0aW9uKCRldmVu
dCkge1xuICAgICAgICAgIHZhciAkJGEgPSB0b2RvLmNvbXBsZXRlZCxcbiAgICAgICAgICAgICQk
ZWwgPSAkZXZlbnQudGFyZ2V0LFxuICAgICAgICAgICAgJCRjID0gJCRlbC5jaGVja2VkID8gKHRy
dWUpIDogKGZhbHNlKTtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSgkJGEpKSB7XG4gICAg
ICAgICAgICB2YXIgJCR2ID0gbnVsbCxcbiAgICAgICAgICAgICAgJCRpID0gX3ZtLl9pKCQkYSwg
JCR2KTtcbiAgICAgICAgICAgIGlmICgkJGVsLmNoZWNrZWQpIHtcbiAgICAgICAgICAgICAgJCRp
IDwgMCAmJiAodG9kby5jb21wbGV0ZWQgPSAkJGEuY29uY2F0KCQkdikpXG4gICAgICAgICAgICB9
IGVsc2Uge1xuICAgICAgICAgICAgICAkJGkgPiAtMSAmJiAodG9kby5jb21wbGV0ZWQgPSAkJGEu
c2xpY2UoMCwgJCRpKS5jb25jYXQoJCRhLnNsaWNlKCQkaSArIDEpKSlcbiAgICAgICAgICAgIH1c
biAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdG9kby5jb21wbGV0ZWQgPSAkJGNcbiAg
ICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KSwgX3ZtLl92KFwiIFwiKSwgX2Mo
J2xhYmVsJywge1xuICAgICAgb246IHtcbiAgICAgICAgXCJkYmxjbGlja1wiOiBmdW5jdGlvbigk
ZXZlbnQpIHtcbiAgICAgICAgICBfdm0uZWRpdFRvZG8odG9kbylcbiAgICAgICAgfVxuICAgICAg
fVxuICAgIH0sIFtfdm0uX3YoX3ZtLl9zKHRvZG8udGl0bGUpKV0pLCBfdm0uX3YoXCIgXCIpLCBf
YygnYnV0dG9uJywge1xuICAgICAgc3RhdGljQ2xhc3M6IFwiZGVzdHJveVwiLFxuICAgICAgb246
IHtcbiAgICAgICAgXCJjbGlja1wiOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICAkZXZl
bnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBfdm0uZGVsZXRlVG9kbyh0b2RvKVxuICAg
ICAgICB9XG4gICAgICB9XG4gICAgfSldKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2lucHV0Jywge1xu
ICAgICAgZGlyZWN0aXZlczogW3tcbiAgICAgICAgbmFtZTogXCJtb2RlbFwiLFxuICAgICAgICBy
YXdOYW1lOiBcInYtbW9kZWxcIixcbiAgICAgICAgdmFsdWU6ICh0b2RvLnRpdGxlKSxcbiAgICAg
ICAgZXhwcmVzc2lvbjogXCJ0b2RvLnRpdGxlXCJcbiAgICAgIH0sIHtcbiAgICAgICAgbmFtZTog
XCJ0b2RvRm9jdXNcIixcbiAgICAgICAgcmF3TmFtZTogXCJ2LXRvZG9Gb2N1c1wiLFxuICAgICAg
ICB2YWx1ZTogKHRvZG8gPT09IF92bS5lZGl0aW5nKSxcbiAgICAgICAgZXhwcmVzc2lvbjogXCJ0
b2RvID09PSBlZGl0aW5nXCJcbiAgICAgIH1dLFxuICAgICAgc3RhdGljQ2xhc3M6IFwiZWRpdFwi
LFxuICAgICAgYXR0cnM6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwidGV4dFwiXG4gICAgICB9LFxu
ICAgICAgZG9tUHJvcHM6IHtcbiAgICAgICAgXCJ2YWx1ZVwiOiAodG9kby50aXRsZSlcbiAgICAg
IH0sXG4gICAgICBvbjoge1xuICAgICAgICBcImtleXVwXCI6IGZ1bmN0aW9uKCRldmVudCkge1xu
ICAgICAgICAgIGlmICghKCdidXR0b24nIGluICRldmVudCkgJiYgX3ZtLl9rKCRldmVudC5rZXlD
b2RlLCBcImVudGVyXCIsIDEzKSkgeyByZXR1cm4gbnVsbDsgfVxuICAgICAgICAgIF92bS5kb25l
RWRpdCgkZXZlbnQpXG4gICAgICAgIH0sXG4gICAgICAgIFwiYmx1clwiOiBfdm0uZG9uZUVkaXQs
XG4gICAgICAgIFwiaW5wdXRcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgaWYgKCRl
dmVudC50YXJnZXQuY29tcG9zaW5nKSB7IHJldHVybjsgfVxuICAgICAgICAgIHRvZG8udGl0bGUg
PSAkZXZlbnQudGFyZ2V0LnZhbHVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KV0pXG4gIH0p
KV0pLCBfdm0uX3YoXCIgXCIpLCBfYygnZm9vdGVyJywge1xuICAgIGRpcmVjdGl2ZXM6IFt7XG4g
ICAgICBuYW1lOiBcInNob3dcIixcbiAgICAgIHJhd05hbWU6IFwidi1zaG93XCIsXG4gICAgICB2
YWx1ZTogKF92bS50b2Rvcy5sZW5ndGggPiAwKSxcbiAgICAgIGV4cHJlc3Npb246IFwidG9kb3Mu
bGVuZ3RoID4gMFwiXG4gICAgfV0sXG4gICAgc3RhdGljQ2xhc3M6IFwiZm9vdGVyXCJcbiAgfSwg
W19jKCdzcGFuJywge1xuICAgIHN0YXRpY0NsYXNzOiBcInRvZG8tY291bnRcIlxuICB9LCBbX2Mo
J3N0cm9uZycsIFtfdm0uX3YoX3ZtLl9zKF92bS5yZW1haW5pbmcpKV0pLCBfdm0uX3YoXCIgXCIg
KyBfdm0uX3MoX3ZtLl9mKFwicGx1cmFsaXplXCIpKF92bS5yZW1haW5pbmcpKSArIFwiIGxlZnRc
XG4gICAgICAgIFwiKV0pLCBfdm0uX3YoXCIgXCIpLCBfYygndWwnLCB7XG4gICAgc3RhdGljQ2xh
c3M6IFwiZmlsdGVyc1wiXG4gIH0sIFtfYygnbGknLCBbX2MoJ2EnLCB7XG4gICAgY2xhc3M6IHtc
biAgICAgIHNlbGVjdGVkOiBfdm0uZmlsdGVyID09ICdhbGwnXG4gICAgfSxcbiAgICBhdHRyczog
e1xuICAgICAgXCJocmVmXCI6IFwiIy9hbGxcIlxuICAgIH0sXG4gICAgb246IHtcbiAgICAgIFwi
Y2xpY2tcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgIF92bS5maWx0ZXIgPSAnYWxsJ1xu
ICAgICAgfVxuICAgIH1cbiAgfSwgW192bS5fdihcIkFsbFwiKV0pXSksIF92bS5fdihcIiBcIiks
IF9jKCdsaScsIFtfYygnYScsIHtcbiAgICBjbGFzczoge1xuICAgICAgc2VsZWN0ZWQ6IF92bS5m
aWx0ZXIgPT0gJ2FjdGl2ZSdcbiAgICB9LFxuICAgIGF0dHJzOiB7XG4gICAgICBcImhyZWZcIjog
XCIjL2FjdGl2ZVwiXG4gICAgfSxcbiAgICBvbjoge1xuICAgICAgXCJjbGlja1wiOiBmdW5jdGlv
bigkZXZlbnQpIHtcbiAgICAgICAgX3ZtLmZpbHRlciA9ICdhY3RpdmUnXG4gICAgICB9XG4gICAg
fVxuICB9LCBbX3ZtLl92KFwiQWN0aXZlXCIpXSldKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2xpJywg
W19jKCdhJywge1xuICAgIGNsYXNzOiB7XG4gICAgICBzZWxlY3RlZDogX3ZtLmZpbHRlciA9PSAn
Y29tcGxldGVkJ1xuICAgIH0sXG4gICAgYXR0cnM6IHtcbiAgICAgIFwiaHJlZlwiOiBcIiMvY29t
cGxldGVkXCJcbiAgICB9LFxuICAgIG9uOiB7XG4gICAgICBcImNsaWNrXCI6IGZ1bmN0aW9uKCRl
dmVudCkge1xuICAgICAgICBfdm0uZmlsdGVyID0gJ2NvbXBsZXRlZCdcbiAgICAgIH1cbiAgICB9
XG4gIH0sIFtfdm0uX3YoXCJDb21wbGV0ZWRcIildKV0pXSksIF92bS5fdihcIiBcIiksIF9jKCdi
dXR0b24nLCB7XG4gICAgZGlyZWN0aXZlczogW3tcbiAgICAgIG5hbWU6IFwic2hvd1wiLFxuICAg
ICAgcmF3TmFtZTogXCJ2LXNob3dcIixcbiAgICAgIHZhbHVlOiAoX3ZtLmNvbXBsZXRlZCksXG4g
ICAgICBleHByZXNzaW9uOiBcImNvbXBsZXRlZFwiXG4gICAgfV0sXG4gICAgc3RhdGljQ2xhc3M6
IFwiY2xlYXItY29tcGxldGVkXCIsXG4gICAgb246IHtcbiAgICAgIFwiY2xpY2tcIjogZnVuY3Rp
b24oJGV2ZW50KSB7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBf
dm0uZGVsZXRlQ29tcGxldGVkKCRldmVudClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtfdm0uX3Yo
XCJDbGVhciBDb21wbGV0ZWRcIildKV0pXSlcbn0sc3RhdGljUmVuZGVyRm5zOiBbXX1cblxuLyoq
Ki8gfSksXG4vKiAxMCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5t
b2R1bGUuZXhwb3J0cz17cmVuZGVyOmZ1bmN0aW9uICgpe3ZhciBfdm09dGhpczt2YXIgX2g9X3Zt
LiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO1xuICByZXR1cm4gX2MoJ2Rp
dicsIHtcbiAgICBhdHRyczoge1xuICAgICAgXCJpZFwiOiBcImFwcFwiXG4gICAgfVxuICB9LCBb
X2MoJ1RvZG9zJyldLCAxKVxufSxzdGF0aWNSZW5kZXJGbnM6IFtdfVxuXG4vKioqLyB9KVxuXSxb
Nl0pO1xuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBzdGF0aWMvanMvYXBwLmQ2ZWQ4OTM1
NDM4ZjQ0ZTk4NDNhLmpzIiwidmFyIENvbXBvbmVudCA9IHJlcXVpcmUoXCIhLi4vbm9kZV9tb2R1
bGVzL3Z1ZS1sb2FkZXIvbGliL2NvbXBvbmVudC1ub3JtYWxpemVyXCIpKFxuICAvKiBzY3JpcHQg
Ki9cbiAgcmVxdWlyZShcIiEhYmFiZWwtbG9hZGVyIS4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVy
L2xpYi9zZWxlY3Rvcj90eXBlPXNjcmlwdCZpbmRleD0wIS4vQXBwLnZ1ZVwiKSxcbiAgLyogdGVt
cGxhdGUgKi9cbiAgcmVxdWlyZShcIiEhLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3Rl
bXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRcXFwiOlxcXCJkYXRhLXYtYTI1NmVjNmFcXFwi
LFxcXCJoYXNTY29wZWRcXFwiOmZhbHNlfSEuLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIv
c2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRleD0wIS4vQXBwLnZ1ZVwiKSxcbiAgLyogc3R5bGVz
ICovXG4gIG51bGwsXG4gIC8qIHNjb3BlSWQgKi9cbiAgbnVsbCxcbiAgLyogbW9kdWxlSWRlbnRp
ZmllciAoc2VydmVyIG9ubHkpICovXG4gIG51bGxcbilcblxubW9kdWxlLmV4cG9ydHMgPSBDb21w
b25lbnQuZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RF
UlxuLy8gLi9zcmMvQXBwLnZ1ZVxuLy8gbW9kdWxlIGlkID0gM1xuLy8gbW9kdWxlIGNodW5rcyA9
IDAiLCI8dGVtcGxhdGU+XG4gIDxkaXYgaWQ9XCJhcHBcIj5cbiAgICA8VG9kb3M+PC9Ub2Rvcz5c
biAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IFRvZG9zIGZyb20gJy4v
Y29tcG9uZW50cy9Ub2RvcydcblxuZXhwb3J0IGRlZmF1bHQge1xuICAgIG5hbWU6ICdhcHAnLFxu
ICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgVG9kb3NcbiAgICB9XG59XG48L3NjcmlwdD5cblxu
XG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBBcHAudnVlPzcxYTRlNTE5IiwiPHRlbXBsYXRl
PlxuICAgIDxzZWN0aW9uIGNsYXNzPVwidG9kb2FwcFwiPlxuICAgICAgICA8aGVhZGVyIGNsYXNz
PVwiaGVhZGVyXCI+XG4gICAgICAgICAgICA8aDE+VG9kb3M8L2gxPlxuICAgICAgICAgICAgPGlu
cHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJuZXctdG9kb1wiIGF1dG9mb2N1cyBhdXRvY29tcGxl
dGU9XCJvZmZcIiBwbGFjZWhvbGRlcj1cIldoYXQgbmVlZHMgdG8gYmUgZG9uZT9cIiB2LW1vZGVs
PVwibmV3VG9kb1wiIEBrZXl1cC5lbnRlcj1cImFkZFRvZG9cIiAvPlxuICAgICAgICA8L2hlYWRl
cj5cbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJtYWluXCIgdi1zaG93PVwidG9kb3MubGVuZ3Ro
XCIgdi1jbG9haz5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBjbGFzcz1c
InRvZ2dsZS1hbGxcIiB2LW1vZGVsPVwiYWxsRG9uZVwiPlxuICAgICAgICAgICAgPHVsIGNsYXNz
PVwidG9kby1saXN0XCI+XG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwidG9kb1wiIHYtZm9y
PVwidG9kbyBpbiBmaWx0ZXJlZFRvZG9zXCIgOmNsYXNzPVwie2NvbXBsZXRlZCA6IHRvZG8uY29t
cGxldGVkLCBlZGl0aW5nIDogdG9kbyA9PT0gZWRpdGluZyB9XCI+XG4gICAgICAgICAgICAgICAg
ICAgIDxkaXYgY2xhc3M9XCJ2aWV3XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQg
dHlwZT1cImNoZWNrYm94XCIgdi1tb2RlbD1cInRvZG8uY29tcGxldGVkXCIgY2xhc3M9XCJ0b2dn
bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBAZGJsY2xpY2s9XCJlZGl0VG9k
byh0b2RvKVwiPnt7IHRvZG8udGl0bGUgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAg
ICAgPGJ1dHRvbiBjbGFzcz1cImRlc3Ryb3lcIiBAY2xpY2sucHJldmVudD1cImRlbGV0ZVRvZG8o
dG9kbylcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAg
ICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZWRpdFwiIHYtbW9kZWw9XCJ0
b2RvLnRpdGxlXCIgQGtleXVwLmVudGVyPVwiZG9uZUVkaXRcIiBAYmx1cj1cImRvbmVFZGl0XCIg
di10b2RvRm9jdXM9XCJ0b2RvID09PSBlZGl0aW5nXCI+PC9pbnB1dD5cbiAgICAgICAgICAgICAg
ICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8
Zm9vdGVyIGNsYXNzPVwiZm9vdGVyXCIgdi1zaG93PVwidG9kb3MubGVuZ3RoID4gMFwiPlxuICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b2RvLWNvdW50XCI+XG4gICAgICAgICAgICA8c3Ryb25n
Pnt7IHJlbWFpbmluZyB9fTwvc3Ryb25nPiB7eyByZW1haW5pbmcgfCBwbHVyYWxpemUgfX0gbGVm
dFxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHVsIGNsYXNzPVwiZmlsdGVyc1wi
PlxuICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPVwiIy9hbGxcIiA6Y2xhc3M9XCJ7c2VsZWN0
ZWQ6IGZpbHRlciA9PSAnYWxsJ31cIiBAY2xpY2s9XCJmaWx0ZXIgPSAnYWxsJ1wiPkFsbDwvYT48
L2xpPlxuICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPVwiIy9hY3RpdmVcIiA6Y2xhc3M9XCJ7
c2VsZWN0ZWQ6IGZpbHRlciA9PSAnYWN0aXZlJ31cIiBAY2xpY2s9XCJmaWx0ZXIgPSAnYWN0aXZl
J1wiPkFjdGl2ZTwvYT48L2xpPlxuICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPVwiIy9jb21w
bGV0ZWRcIiA6Y2xhc3M9XCJ7c2VsZWN0ZWQ6IGZpbHRlciA9PSAnY29tcGxldGVkJ31cIiBAY2xp
Y2s9XCJmaWx0ZXIgPSAnY29tcGxldGVkJ1wiPkNvbXBsZXRlZDwvYT48L2xpPlxuICAgICAgICAg
ICAgPC91bD5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjbGVhci1jb21wbGV0ZWRcIiB2
LXNob3c9XCJjb21wbGV0ZWRcIiBAY2xpY2sucHJldmVudD1cImRlbGV0ZUNvbXBsZXRlZFwiPkNs
ZWFyIENvbXBsZXRlZDwvYnV0dG9uPlxuICAgICAgICA8L2Zvb3Rlcj5cbiAgICA8L3NlY3Rpb24+
XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IFZ1ZSBmcm9tICd2dWUnXG5cbmV4cG9y
dCBkZWZhdWx0IHtcbiAgICBkYXRhICgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAg
IHRvZG9zOiBbXSxcbiAgICAgICAgICAgIG5ld1RvZG86ICcnLFxuICAgICAgICAgICAgZmlsdGVy
OiAnYWxsJyxcbiAgICAgICAgICAgIGFsbERvbmU6IGZhbHNlLFxuICAgICAgICAgICAgZWRpdGlu
ZzogbnVsbFxuICAgICAgICB9XG4gICAgfSxcbiAgICBmaWx0ZXJzOiB7XG4gICAgICAgIHBsdXJh
bGl6ZTogZnVuY3Rpb24gKG4pIHtcbiAgICAgICAgcmV0dXJuIG4gPT09IDEgPyAnaXRlbScgOiAn
aXRlbXMnXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRpcmVjdGl2ZXM6IHtcbiAgICAgICAgdG9k
b0ZvY3VzIChlbCwgdmFsdWUpIHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAg
ICAgICAgIFZ1ZS5uZXh0VGljayhfID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZWwuZm9jdXMo
KVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxu
ICAgIG1ldGhvZHM6IHtcbiAgICAgICAgYWRkVG9kbyAoKSB7XG4gICAgICAgICAgICB0aGlzLnRv
ZG9zLnB1c2goe1xuICAgICAgICAgICAgICAgIGNvbXBsZXRlZDogZmFsc2UsXG4gICAgICAgICAg
ICAgICAgdGl0bGU6IHRoaXMubmV3VG9kb1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHRo
aXMubmV3VG9kbyA9ICcnXG4gICAgICAgIH0sXG4gICAgICAgIGRlbGV0ZVRvZG8gKHRvZG8pIHtc
biAgICAgICAgICAgIHRoaXMudG9kb3MgPSB0aGlzLnRvZG9zLmZpbHRlcih0ID0+IHQgIT09IHRv
ZG8pXG4gICAgICAgIH0sXG4gICAgICAgIGRlbGV0ZUNvbXBsZXRlZCAoKSB7XG4gICAgICAgICAg
ICB0aGlzLnRvZG9zID0gdGhpcy50b2Rvcy5maWx0ZXIodG9kbyA9PiAhdG9kby5jb21wbGV0ZWQp
XG4gICAgICAgIH0sXG4gICAgICAgIGVkaXRUb2RvICh0b2RvKSB7XG4gICAgICAgICAgICB0aGlz
LmVkaXRpbmcgPSB0b2RvXG4gICAgICAgIH0sXG4gICAgICAgIGRvbmVFZGl0ICgpIHtcbiAgICAg
ICAgICAgIHRoaXMuZWRpdGluZyA9IG51bGxcbiAgICAgICAgfVxuICAgIH0sXG4gICAgY29tcHV0
ZWQ6IHtcbiAgICAgICAgcmVtYWluaW5nICgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRv
ZG9zLmZpbHRlcih0b2RvID0+ICF0b2RvLmNvbXBsZXRlZCkubGVuZ3RoXG4gICAgICAgIH0sXG4g
ICAgICAgIGNvbXBsZXRlZCAoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50b2Rvcy5maWx0
ZXIodG9kbyA9PiB0b2RvLmNvbXBsZXRlZCkubGVuZ3RoXG4gICAgICAgIH0sXG4gICAgICAgIGZp
bHRlcmVkVG9kb3MgKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmlsdGVyID09PSAnYWN0aXZl
Jykge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRvZG9zLmZpbHRlcih0b2RvID0+ICF0
b2RvLmNvbXBsZXRlZClcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5maWx0ZXIgPT09ICdj
b21wbGV0ZWQnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9kb3MuZmlsdGVyKHRv
ZG8gPT4gdG9kby5jb21wbGV0ZWQpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVy
biB0aGlzLnRvZG9zXG4gICAgICAgIH0sXG4gICAgICAgIGFsbERvbmU6IHtcbiAgICAgICAgICAg
IGdldCAoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVtYWluaW5nID09PSAwXG4g
ICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2V0ICh2YWx1ZSkge1xuICAgICAgICAgICAgICAg
IHRoaXMudG9kb3MuZm9yRWFjaCh0b2RvID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdG9kby5j
b21wbGV0ZWQgPSB2YWx1ZVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAg
ICAgIH1cbiAgICB9XG59XG48L3NjcmlwdD5cblxuPHN0eWxlIHNyYz1cIi4vdG9kby5jc3NcIj48
L3N0eWxlPlxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIFRvZG9zLnZ1ZT8xYWIyMzgy
ZiIsIi8vIFRoZSBWdWUgYnVpbGQgdmVyc2lvbiB0byBsb2FkIHdpdGggdGhlIGBpbXBvcnRgIGNv
bW1hbmRcbi8vIChydW50aW1lLW9ubHkgb3Igc3RhbmRhbG9uZSkgaGFzIGJlZW4gc2V0IGluIHdl
YnBhY2suYmFzZS5jb25mIHdpdGggYW4gYWxpYXMuXG5pbXBvcnQgVnVlIGZyb20gJ3Z1ZSdcbmlt
cG9ydCBBcHAgZnJvbSAnLi9BcHAnXG5pbXBvcnQgRGlyZWN0b3IgZnJvbSAnZGlyZWN0b3IvYnVp
bGQvZGlyZWN0b3InXG5cbi8qIGVzbGludC1kaXNhYmxlIG5vLW5ldyAqL1xud2luZG93LlZ1ZUFw
cCA9IG5ldyBWdWUoe1xuICAgIGVsOiAnI2FwcCcsXG4gICAgcmVuZGVyOiBoID0+IGgoQXBwKVxu
fSlcblxuY29uc3Qgcm91dGVyID0gbmV3IERpcmVjdG9yLlJvdXRlcigpO1xuXG5bJ2FsbCcsICdh
Y3RpdmUnLCAnY29tcGxldGVkJ10uZm9yRWFjaCh2aXNpYmlsaXR5ID0+IHtcbiAgcm91dGVyLm9u
KHZpc2liaWxpdHksICgpID0+IHtcbiAgICB3aW5kb3cuVnVlQXBwLmZpbHRlciA9IHZpc2liaWxp
dHk7XG4gIH0pO1xufSk7XG5cbnJvdXRlci5jb25maWd1cmUoe1xuICBub3Rmb3VuZDogZnVuY3Rp
b24gKCkge1xuICAgIHdpbmRvdy5sb2NhdGlvbi5oYXNoID0gJyc7XG4gICAgd2luZG93LlZ1ZUFw
cC5maWx0ZXIgPSAnYWxsJztcbiAgfVxufSk7XG5cbnJvdXRlci5pbml0KCk7XG5cblxuLy8gV0VC
UEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL21haW4uanMiLCJmdW5jdGlvbiBpbmplY3RTdHlsZSAo
c3NyQ29udGV4dCkge1xuICByZXF1aXJlKFwiISEuLi8uLi9ub2RlX21vZHVsZXMvZXh0cmFjdC10
ZXh0LXdlYnBhY2stcGx1Z2luL2xvYWRlci5qcz97XFxcIm9taXRcXFwiOjEsXFxcInJlbW92ZVxc
XCI6dHJ1ZX0hdnVlLXN0eWxlLWxvYWRlciFjc3MtbG9hZGVyP3tcXFwibWluaW1pemVcXFwiOnRy
dWUsXFxcInNvdXJjZU1hcFxcXCI6dHJ1ZX0hLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIv
bGliL3N0eWxlLWNvbXBpbGVyL2luZGV4P3tcXFwidnVlXFxcIjp0cnVlLFxcXCJpZFxcXCI6XFxc
ImRhdGEtdi03ZDNjYWNiYVxcXCIsXFxcInNjb3BlZFxcXCI6ZmFsc2UsXFxcImhhc0lubGluZUNv
bmZpZ1xcXCI6ZmFsc2V9IS4vdG9kby5jc3NcIilcbn1cbnZhciBDb21wb25lbnQgPSByZXF1aXJl
KFwiIS4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9jb21wb25lbnQtbm9ybWFsaXpl
clwiKShcbiAgLyogc2NyaXB0ICovXG4gIHJlcXVpcmUoXCIhIWJhYmVsLWxvYWRlciEuLi8uLi9u
b2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT1zY3JpcHQmaW5kZXg9MCEu
L1RvZG9zLnZ1ZVwiKSxcbiAgLyogdGVtcGxhdGUgKi9cbiAgcmVxdWlyZShcIiEhLi4vLi4vbm9k
ZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3RlbXBsYXRlLWNvbXBpbGVyL2luZGV4P3tcXFwiaWRc
XFwiOlxcXCJkYXRhLXYtN2QzY2FjYmFcXFwiLFxcXCJoYXNTY29wZWRcXFwiOmZhbHNlfSEuLi8u
Li9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3I/dHlwZT10ZW1wbGF0ZSZpbmRl
eD0wIS4vVG9kb3MudnVlXCIpLFxuICAvKiBzdHlsZXMgKi9cbiAgaW5qZWN0U3R5bGUsXG4gIC8q
IHNjb3BlSWQgKi9cbiAgbnVsbCxcbiAgLyogbW9kdWxlSWRlbnRpZmllciAoc2VydmVyIG9ubHkp
ICovXG4gIG51bGxcbilcblxubW9kdWxlLmV4cG9ydHMgPSBDb21wb25lbnQuZXhwb3J0c1xuXG5c
blxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvY29tcG9u
ZW50cy9Ub2Rvcy52dWVcbi8vIG1vZHVsZSBpZCA9IDhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwi
bW9kdWxlLmV4cG9ydHM9e3JlbmRlcjpmdW5jdGlvbiAoKXt2YXIgX3ZtPXRoaXM7dmFyIF9oPV92
bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxmLl9jfHxfaDtcbiAgcmV0dXJuIF9jKCdz
ZWN0aW9uJywge1xuICAgIHN0YXRpY0NsYXNzOiBcInRvZG9hcHBcIlxuICB9LCBbX2MoJ2hlYWRl
cicsIHtcbiAgICBzdGF0aWNDbGFzczogXCJoZWFkZXJcIlxuICB9LCBbX2MoJ2gxJywgW192bS5f
dihcIlRvZG9zXCIpXSksIF92bS5fdihcIiBcIiksIF9jKCdpbnB1dCcsIHtcbiAgICBkaXJlY3Rp
dmVzOiBbe1xuICAgICAgbmFtZTogXCJtb2RlbFwiLFxuICAgICAgcmF3TmFtZTogXCJ2LW1vZGVs
XCIsXG4gICAgICB2YWx1ZTogKF92bS5uZXdUb2RvKSxcbiAgICAgIGV4cHJlc3Npb246IFwibmV3
VG9kb1wiXG4gICAgfV0sXG4gICAgc3RhdGljQ2xhc3M6IFwibmV3LXRvZG9cIixcbiAgICBhdHRy
czoge1xuICAgICAgXCJ0eXBlXCI6IFwidGV4dFwiLFxuICAgICAgXCJhdXRvZm9jdXNcIjogXCJc
IixcbiAgICAgIFwiYXV0b2NvbXBsZXRlXCI6IFwib2ZmXCIsXG4gICAgICBcInBsYWNlaG9sZGVy
XCI6IFwiV2hhdCBuZWVkcyB0byBiZSBkb25lP1wiXG4gICAgfSxcbiAgICBkb21Qcm9wczoge1xu
ICAgICAgXCJ2YWx1ZVwiOiAoX3ZtLm5ld1RvZG8pXG4gICAgfSxcbiAgICBvbjoge1xuICAgICAg
XCJrZXl1cFwiOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgaWYgKCEoJ2J1dHRvbicgaW4g
JGV2ZW50KSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwiZW50ZXJcIiwgMTMpKSB7IHJldHVy
biBudWxsOyB9XG4gICAgICAgIF92bS5hZGRUb2RvKCRldmVudClcbiAgICAgIH0sXG4gICAgICBc
ImlucHV0XCI6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICBpZiAoJGV2ZW50LnRhcmdldC5j
b21wb3NpbmcpIHsgcmV0dXJuOyB9XG4gICAgICAgIF92bS5uZXdUb2RvID0gJGV2ZW50LnRhcmdl
dC52YWx1ZVxuICAgICAgfVxuICAgIH1cbiAgfSldKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ3NlY3Rp
b24nLCB7XG4gICAgZGlyZWN0aXZlczogW3tcbiAgICAgIG5hbWU6IFwic2hvd1wiLFxuICAgICAg
cmF3TmFtZTogXCJ2LXNob3dcIixcbiAgICAgIHZhbHVlOiAoX3ZtLnRvZG9zLmxlbmd0aCksXG4g
ICAgICBleHByZXNzaW9uOiBcInRvZG9zLmxlbmd0aFwiXG4gICAgfV0sXG4gICAgc3RhdGljQ2xh
c3M6IFwibWFpblwiXG4gIH0sIFtfYygnaW5wdXQnLCB7XG4gICAgZGlyZWN0aXZlczogW3tcbiAg
ICAgIG5hbWU6IFwibW9kZWxcIixcbiAgICAgIHJhd05hbWU6IFwidi1tb2RlbFwiLFxuICAgICAg
dmFsdWU6IChfdm0uYWxsRG9uZSksXG4gICAgICBleHByZXNzaW9uOiBcImFsbERvbmVcIlxuICAg
IH1dLFxuICAgIHN0YXRpY0NsYXNzOiBcInRvZ2dsZS1hbGxcIixcbiAgICBhdHRyczoge1xuICAg
ICAgXCJ0eXBlXCI6IFwiY2hlY2tib3hcIlxuICAgIH0sXG4gICAgZG9tUHJvcHM6IHtcbiAgICAg
IFwiY2hlY2tlZFwiOiBBcnJheS5pc0FycmF5KF92bS5hbGxEb25lKSA/IF92bS5faShfdm0uYWxs
RG9uZSwgbnVsbCkgPiAtMSA6IChfdm0uYWxsRG9uZSlcbiAgICB9LFxuICAgIG9uOiB7XG4gICAg
ICBcIl9fY1wiOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgdmFyICQkYSA9IF92bS5hbGxE
b25lLFxuICAgICAgICAgICQkZWwgPSAkZXZlbnQudGFyZ2V0LFxuICAgICAgICAgICQkYyA9ICQk
ZWwuY2hlY2tlZCA/ICh0cnVlKSA6IChmYWxzZSk7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5
KCQkYSkpIHtcbiAgICAgICAgICB2YXIgJCR2ID0gbnVsbCxcbiAgICAgICAgICAgICQkaSA9IF92
bS5faSgkJGEsICQkdik7XG4gICAgICAgICAgaWYgKCQkZWwuY2hlY2tlZCkge1xuICAgICAgICAg
ICAgJCRpIDwgMCAmJiAoX3ZtLmFsbERvbmUgPSAkJGEuY29uY2F0KCQkdikpXG4gICAgICAgICAg
fSBlbHNlIHtcbiAgICAgICAgICAgICQkaSA+IC0xICYmIChfdm0uYWxsRG9uZSA9ICQkYS5zbGlj
ZSgwLCAkJGkpLmNvbmNhdCgkJGEuc2xpY2UoJCRpICsgMSkpKVxuICAgICAgICAgIH1cbiAgICAg
ICAgfSBlbHNlIHtcbiAgICAgICAgICBfdm0uYWxsRG9uZSA9ICQkY1xuICAgICAgICB9XG4gICAg
ICB9XG4gICAgfVxuICB9KSwgX3ZtLl92KFwiIFwiKSwgX2MoJ3VsJywge1xuICAgIHN0YXRpY0Ns
YXNzOiBcInRvZG8tbGlzdFwiXG4gIH0sIF92bS5fbCgoX3ZtLmZpbHRlcmVkVG9kb3MpLCBmdW5j
dGlvbih0b2RvKSB7XG4gICAgcmV0dXJuIF9jKCdsaScsIHtcbiAgICAgIHN0YXRpY0NsYXNzOiBc
InRvZG9cIixcbiAgICAgIGNsYXNzOiB7XG4gICAgICAgIGNvbXBsZXRlZDogdG9kby5jb21wbGV0
ZWQsIGVkaXRpbmc6IHRvZG8gPT09IF92bS5lZGl0aW5nXG4gICAgICB9XG4gICAgfSwgW19jKCdk
aXYnLCB7XG4gICAgICBzdGF0aWNDbGFzczogXCJ2aWV3XCJcbiAgICB9LCBbX2MoJ2lucHV0Jywg
e1xuICAgICAgZGlyZWN0aXZlczogW3tcbiAgICAgICAgbmFtZTogXCJtb2RlbFwiLFxuICAgICAg
ICByYXdOYW1lOiBcInYtbW9kZWxcIixcbiAgICAgICAgdmFsdWU6ICh0b2RvLmNvbXBsZXRlZCks
XG4gICAgICAgIGV4cHJlc3Npb246IFwidG9kby5jb21wbGV0ZWRcIlxuICAgICAgfV0sXG4gICAg
ICBzdGF0aWNDbGFzczogXCJ0b2dnbGVcIixcbiAgICAgIGF0dHJzOiB7XG4gICAgICAgIFwidHlw
ZVwiOiBcImNoZWNrYm94XCJcbiAgICAgIH0sXG4gICAgICBkb21Qcm9wczoge1xuICAgICAgICBc
ImNoZWNrZWRcIjogQXJyYXkuaXNBcnJheSh0b2RvLmNvbXBsZXRlZCkgPyBfdm0uX2kodG9kby5j
b21wbGV0ZWQsIG51bGwpID4gLTEgOiAodG9kby5jb21wbGV0ZWQpXG4gICAgICB9LFxuICAgICAg
b246IHtcbiAgICAgICAgXCJfX2NcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgdmFy
ICQkYSA9IHRvZG8uY29tcGxldGVkLFxuICAgICAgICAgICAgJCRlbCA9ICRldmVudC50YXJnZXQs
XG4gICAgICAgICAgICAkJGMgPSAkJGVsLmNoZWNrZWQgPyAodHJ1ZSkgOiAoZmFsc2UpO1xuICAg
ICAgICAgIGlmIChBcnJheS5pc0FycmF5KCQkYSkpIHtcbiAgICAgICAgICAgIHZhciAkJHYgPSBu
dWxsLFxuICAgICAgICAgICAgICAkJGkgPSBfdm0uX2koJCRhLCAkJHYpO1xuICAgICAgICAgICAg
aWYgKCQkZWwuY2hlY2tlZCkge1xuICAgICAgICAgICAgICAkJGkgPCAwICYmICh0b2RvLmNvbXBs
ZXRlZCA9ICQkYS5jb25jYXQoJCR2KSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAg
ICAgICQkaSA+IC0xICYmICh0b2RvLmNvbXBsZXRlZCA9ICQkYS5zbGljZSgwLCAkJGkpLmNvbmNh
dCgkJGEuc2xpY2UoJCRpICsgMSkpKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7
XG4gICAgICAgICAgICB0b2RvLmNvbXBsZXRlZCA9ICQkY1xuICAgICAgICAgIH1cbiAgICAgICAg
fVxuICAgICAgfVxuICAgIH0pLCBfdm0uX3YoXCIgXCIpLCBfYygnbGFiZWwnLCB7XG4gICAgICBv
bjoge1xuICAgICAgICBcImRibGNsaWNrXCI6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAg
IF92bS5lZGl0VG9kbyh0b2RvKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgW192bS5fdihf
dm0uX3ModG9kby50aXRsZSkpXSksIF92bS5fdihcIiBcIiksIF9jKCdidXR0b24nLCB7XG4gICAg
ICBzdGF0aWNDbGFzczogXCJkZXN0cm95XCIsXG4gICAgICBvbjoge1xuICAgICAgICBcImNsaWNr
XCI6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgp
O1xuICAgICAgICAgIF92bS5kZWxldGVUb2RvKHRvZG8pXG4gICAgICAgIH1cbiAgICAgIH1cbiAg
ICB9KV0pLCBfdm0uX3YoXCIgXCIpLCBfYygnaW5wdXQnLCB7XG4gICAgICBkaXJlY3RpdmVzOiBb
e1xuICAgICAgICBuYW1lOiBcIm1vZGVsXCIsXG4gICAgICAgIHJhd05hbWU6IFwidi1tb2RlbFwi
LFxuICAgICAgICB2YWx1ZTogKHRvZG8udGl0bGUpLFxuICAgICAgICBleHByZXNzaW9uOiBcInRv
ZG8udGl0bGVcIlxuICAgICAgfSwge1xuICAgICAgICBuYW1lOiBcInRvZG9Gb2N1c1wiLFxuICAg
ICAgICByYXdOYW1lOiBcInYtdG9kb0ZvY3VzXCIsXG4gICAgICAgIHZhbHVlOiAodG9kbyA9PT0g
X3ZtLmVkaXRpbmcpLFxuICAgICAgICBleHByZXNzaW9uOiBcInRvZG8gPT09IGVkaXRpbmdcIlxu
ICAgICAgfV0sXG4gICAgICBzdGF0aWNDbGFzczogXCJlZGl0XCIsXG4gICAgICBhdHRyczoge1xu
ICAgICAgICBcInR5cGVcIjogXCJ0ZXh0XCJcbiAgICAgIH0sXG4gICAgICBkb21Qcm9wczoge1xu
ICAgICAgICBcInZhbHVlXCI6ICh0b2RvLnRpdGxlKVxuICAgICAgfSxcbiAgICAgIG9uOiB7XG4g
ICAgICAgIFwia2V5dXBcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgaWYgKCEoJ2J1
dHRvbicgaW4gJGV2ZW50KSAmJiBfdm0uX2soJGV2ZW50LmtleUNvZGUsIFwiZW50ZXJcIiwgMTMp
KSB7IHJldHVybiBudWxsOyB9XG4gICAgICAgICAgX3ZtLmRvbmVFZGl0KCRldmVudClcbiAgICAg
ICAgfSxcbiAgICAgICAgXCJibHVyXCI6IF92bS5kb25lRWRpdCxcbiAgICAgICAgXCJpbnB1dFwi
OiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAgICAgICBpZiAoJGV2ZW50LnRhcmdldC5jb21wb3Np
bmcpIHsgcmV0dXJuOyB9XG4gICAgICAgICAgdG9kby50aXRsZSA9ICRldmVudC50YXJnZXQudmFs
dWVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXSlcbiAgfSkpXSksIF92bS5fdihcIiBcIiks
IF9jKCdmb290ZXInLCB7XG4gICAgZGlyZWN0aXZlczogW3tcbiAgICAgIG5hbWU6IFwic2hvd1wi
LFxuICAgICAgcmF3TmFtZTogXCJ2LXNob3dcIixcbiAgICAgIHZhbHVlOiAoX3ZtLnRvZG9zLmxl
bmd0aCA+IDApLFxuICAgICAgZXhwcmVzc2lvbjogXCJ0b2Rvcy5sZW5ndGggPiAwXCJcbiAgICB9
XSxcbiAgICBzdGF0aWNDbGFzczogXCJmb290ZXJcIlxuICB9LCBbX2MoJ3NwYW4nLCB7XG4gICAg
c3RhdGljQ2xhc3M6IFwidG9kby1jb3VudFwiXG4gIH0sIFtfYygnc3Ryb25nJywgW192bS5fdihf
dm0uX3MoX3ZtLnJlbWFpbmluZykpXSksIF92bS5fdihcIiBcIiArIF92bS5fcyhfdm0uX2YoXCJw
bHVyYWxpemVcIikoX3ZtLnJlbWFpbmluZykpICsgXCIgbGVmdFxcbiAgICAgICAgXCIpXSksIF92
bS5fdihcIiBcIiksIF9jKCd1bCcsIHtcbiAgICBzdGF0aWNDbGFzczogXCJmaWx0ZXJzXCJcbiAg
fSwgW19jKCdsaScsIFtfYygnYScsIHtcbiAgICBjbGFzczoge1xuICAgICAgc2VsZWN0ZWQ6IF92
bS5maWx0ZXIgPT0gJ2FsbCdcbiAgICB9LFxuICAgIGF0dHJzOiB7XG4gICAgICBcImhyZWZcIjog
XCIjL2FsbFwiXG4gICAgfSxcbiAgICBvbjoge1xuICAgICAgXCJjbGlja1wiOiBmdW5jdGlvbigk
ZXZlbnQpIHtcbiAgICAgICAgX3ZtLmZpbHRlciA9ICdhbGwnXG4gICAgICB9XG4gICAgfVxuICB9
LCBbX3ZtLl92KFwiQWxsXCIpXSldKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2xpJywgW19jKCdhJywg
e1xuICAgIGNsYXNzOiB7XG4gICAgICBzZWxlY3RlZDogX3ZtLmZpbHRlciA9PSAnYWN0aXZlJ1xu
ICAgIH0sXG4gICAgYXR0cnM6IHtcbiAgICAgIFwiaHJlZlwiOiBcIiMvYWN0aXZlXCJcbiAgICB9
LFxuICAgIG9uOiB7XG4gICAgICBcImNsaWNrXCI6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAg
ICBfdm0uZmlsdGVyID0gJ2FjdGl2ZSdcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtfdm0uX3YoXCJB
Y3RpdmVcIildKV0pLCBfdm0uX3YoXCIgXCIpLCBfYygnbGknLCBbX2MoJ2EnLCB7XG4gICAgY2xh
c3M6IHtcbiAgICAgIHNlbGVjdGVkOiBfdm0uZmlsdGVyID09ICdjb21wbGV0ZWQnXG4gICAgfSxc
biAgICBhdHRyczoge1xuICAgICAgXCJocmVmXCI6IFwiIy9jb21wbGV0ZWRcIlxuICAgIH0sXG4g
ICAgb246IHtcbiAgICAgIFwiY2xpY2tcIjogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgIF92
bS5maWx0ZXIgPSAnY29tcGxldGVkJ1xuICAgICAgfVxuICAgIH1cbiAgfSwgW192bS5fdihcIkNv
bXBsZXRlZFwiKV0pXSldKSwgX3ZtLl92KFwiIFwiKSwgX2MoJ2J1dHRvbicsIHtcbiAgICBkaXJl
Y3RpdmVzOiBbe1xuICAgICAgbmFtZTogXCJzaG93XCIsXG4gICAgICByYXdOYW1lOiBcInYtc2hv
d1wiLFxuICAgICAgdmFsdWU6IChfdm0uY29tcGxldGVkKSxcbiAgICAgIGV4cHJlc3Npb246IFwi
Y29tcGxldGVkXCJcbiAgICB9XSxcbiAgICBzdGF0aWNDbGFzczogXCJjbGVhci1jb21wbGV0ZWRc
IixcbiAgICBvbjoge1xuICAgICAgXCJjbGlja1wiOiBmdW5jdGlvbigkZXZlbnQpIHtcbiAgICAg
ICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIF92bS5kZWxldGVDb21wbGV0ZWQo
JGV2ZW50KVxuICAgICAgfVxuICAgIH1cbiAgfSwgW192bS5fdihcIkNsZWFyIENvbXBsZXRlZFwi
KV0pXSldKVxufSxzdGF0aWNSZW5kZXJGbnM6IFtdfVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xu
Ly8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi92dWUtbG9hZGVyL2xpYi90ZW1wbGF0ZS1jb21waWxl
cj97XCJpZFwiOlwiZGF0YS12LTdkM2NhY2JhXCIsXCJoYXNTY29wZWRcIjpmYWxzZX0hLi9+L3Z1
ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9MCEuL3NyYy9jb21w
b25lbnRzL1RvZG9zLnZ1ZVxuLy8gbW9kdWxlIGlkID0gOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAi
LCJtb2R1bGUuZXhwb3J0cz17cmVuZGVyOmZ1bmN0aW9uICgpe3ZhciBfdm09dGhpczt2YXIgX2g9
X3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO1xuICByZXR1cm4gX2Mo
J2RpdicsIHtcbiAgICBhdHRyczoge1xuICAgICAgXCJpZFwiOiBcImFwcFwiXG4gICAgfVxuICB9
LCBbX2MoJ1RvZG9zJyldLCAxKVxufSxzdGF0aWNSZW5kZXJGbnM6IFtdfVxuXG5cbi8vLy8vLy8v
Ly8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi92dWUtbG9hZGVyL2xpYi90ZW1w
bGF0ZS1jb21waWxlcj97XCJpZFwiOlwiZGF0YS12LWEyNTZlYzZhXCIsXCJoYXNTY29wZWRcIjpm
YWxzZX0hLi9+L3Z1ZS1sb2FkZXIvbGliL3NlbGVjdG9yLmpzP3R5cGU9dGVtcGxhdGUmaW5kZXg9
MCEuL3NyYy9BcHAudnVlXG4vLyBtb2R1bGUgaWQgPSAxMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAi
XSwic291cmNlUm9vdCI6IiJ9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRl
Y3R1cmUtZXhhbXBsZXMvdnVlanMtY2xpL2Rpc3Qvc3RhdGljL2pzL21hbmlmZXN0Ljg0YjJiNGZj
ZWI3NGFiMWY5MWYzLmpzIGIvUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMv
dG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVlanMtY2xpL2Rpc3Qvc3RhdGljL2pzL21h
bmlmZXN0Ljg0YjJiNGZjZWI3NGFiMWY5MWYzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiZWZhOTBjMmY4OGRkNmQ1Yjg5ZmU5YjFkMDRlMDUxYjliNDMwZTNjLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1BlcmZvcm1hbmNlVGVzdHMvU3Bl
ZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNs
aS9kaXN0L3N0YXRpYy9qcy9tYW5pZmVzdC44NGIyYjRmY2ViNzRhYjFmOTFmMy5qcworKysgL2Rl
di9udWxsCkBAIC0xLDIgKzAsMCBAQAotIWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoYSl7aWYoblth
XSlyZXR1cm4gblthXS5leHBvcnRzO3ZhciByPW5bYV09e2V4cG9ydHM6e30saWQ6YSxsb2FkZWQ6
ITF9O3JldHVybiBlW2FdLmNhbGwoci5leHBvcnRzLHIsci5leHBvcnRzLHQpLHIubG9hZGVkPSEw
LHIuZXhwb3J0c312YXIgYT13aW5kb3cud2VicGFja0pzb25wO3dpbmRvdy53ZWJwYWNrSnNvbnA9
ZnVuY3Rpb24oYyxvKXtmb3IodmFyIHAscyxsPTAsaT1bXTtsPGMubGVuZ3RoO2wrKylzPWNbbF0s
cltzXSYmaS5wdXNoLmFwcGx5KGkscltzXSkscltzXT0wO2ZvcihwIGluIG8pZVtwXT1vW3BdO2Zv
cihhJiZhKGMsbyk7aS5sZW5ndGg7KWkuc2hpZnQoKS5jYWxsKG51bGwsdCk7aWYob1swXSlyZXR1
cm4gblswXT0wLHQoMCl9O3ZhciBuPXt9LHI9ezA6MH07dC5lPWZ1bmN0aW9uKGUsYSl7aWYoMD09
PXJbZV0pcmV0dXJuIGEuY2FsbChudWxsLHQpO2lmKHZvaWQgMCE9PXJbZV0pcltlXS5wdXNoKGEp
O2Vsc2V7cltlXT1bYV07dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQi
KVswXSxjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2MudHlwZT0idGV4dC9qYXZh
c2NyaXB0IixjLmNoYXJzZXQ9InV0Zi04IixjLmFzeW5jPSEwLGMuc3JjPXQucCsic3RhdGljL2pz
LyIrZSsiLiIrezE6ImIwZTgzNTg3NGJjODk0OTY3MGQxIiwyOiJhNTI1MTdjNWFhOThlN2ZiZWEy
ZSJ9W2VdKyIuanMiLG4uYXBwZW5kQ2hpbGQoYyl9fSx0Lm09ZSx0LmM9bix0LnA9Ii8ifShbXSk7
Ci0vLyMgc291cmNlTWFwcGluZ1VSTD1tYW5pZmVzdC44NGIyYjRmY2ViNzRhYjFmOTFmMy5qcy5t
YXAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRl
c3RzL1NwZWVkb21ldGVyL3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92
dWVqcy1jbGkvZGlzdC9zdGF0aWMvanMvbWFuaWZlc3QuYTMwN2M3ZjlhNWRhNWRjNzJiYjUuanMg
Yi9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVj
dHVyZS1leGFtcGxlcy92dWVqcy1jbGkvZGlzdC9zdGF0aWMvanMvbWFuaWZlc3QuYTMwN2M3Zjlh
NWRhNWRjNzJiYjUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTU3MmM2NTIyNzQzMzdlYmZhMmZhMWU2YTQ4Njkw
YjVkNGE2OTc3MAotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0
ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9kaXN0
L3N0YXRpYy9qcy9tYW5pZmVzdC5hMzA3YzdmOWE1ZGE1ZGM3MmJiNS5qcwpAQCAtMCwwICsxLDIg
QEAKKyFmdW5jdGlvbihlKXtmdW5jdGlvbiBuKHIpe2lmKHRbcl0pcmV0dXJuIHRbcl0uZXhwb3J0
czt2YXIgbz10W3JdPXtpOnIsbDohMSxleHBvcnRzOnt9fTtyZXR1cm4gZVtyXS5jYWxsKG8uZXhw
b3J0cyxvLG8uZXhwb3J0cyxuKSxvLmw9ITAsby5leHBvcnRzfXZhciByPXdpbmRvdy53ZWJwYWNr
SnNvbnA7d2luZG93LndlYnBhY2tKc29ucD1mdW5jdGlvbih0LGEsYyl7Zm9yKHZhciBpLHUsZixz
PTAsbD1bXTtzPHQubGVuZ3RoO3MrKyl1PXRbc10sb1t1XSYmbC5wdXNoKG9bdV1bMF0pLG9bdV09
MDtmb3IoaSBpbiBhKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLGkpJiYo
ZVtpXT1hW2ldKTtmb3IociYmcih0LGEsYyk7bC5sZW5ndGg7KWwuc2hpZnQoKSgpO2lmKGMpZm9y
KHM9MDtzPGMubGVuZ3RoO3MrKylmPW4obi5zPWNbc10pO3JldHVybiBmfTt2YXIgdD17fSxvPXsy
OjB9O24uZT1mdW5jdGlvbihlKXtmdW5jdGlvbiByKCl7aS5vbmVycm9yPWkub25sb2FkPW51bGws
Y2xlYXJUaW1lb3V0KHUpO3ZhciBuPW9bZV07MCE9PW4mJihuJiZuWzFdKG5ldyBFcnJvcigiTG9h
ZGluZyBjaHVuayAiK2UrIiBmYWlsZWQuIikpLG9bZV09dm9pZCAwKX12YXIgdD1vW2VdO2lmKDA9
PT10KXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihlKXtlKCl9KTtpZih0KXJldHVybiB0WzJd
O3ZhciBhPW5ldyBQcm9taXNlKGZ1bmN0aW9uKG4scil7dD1vW2VdPVtuLHJdfSk7dFsyXT1hO3Zh
ciBjPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0saT1kb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJzY3JpcHQiKTtpLnR5cGU9InRleHQvamF2YXNjcmlwdCIsaS5jaGFyc2V0
PSJ1dGYtOCIsaS5hc3luYz0hMCxpLnRpbWVvdXQ9MTJlNCxuLm5jJiZpLnNldEF0dHJpYnV0ZSgi
bm9uY2UiLG4ubmMpLGkuc3JjPW4ucCsic3RhdGljL2pzLyIrZSsiLiIrezA6ImQ2ZWQ4OTM1NDM4
ZjQ0ZTk4NDNhIiwxOiIyZTRlOWU1Mjg2NjRmYTc5NmQzYSJ9W2VdKyIuanMiO3ZhciB1PXNldFRp
bWVvdXQociwxMmU0KTtyZXR1cm4gaS5vbmVycm9yPWkub25sb2FkPXIsYy5hcHBlbmRDaGlsZChp
KSxhfSxuLm09ZSxuLmM9dCxuLmk9ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LG4uZD1mdW5jdGlvbihl
LHIsdCl7bi5vKGUscil8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIse2NvbmZpZ3VyYWJsZToh
MSxlbnVtZXJhYmxlOiEwLGdldDp0fSl9LG4ubj1mdW5jdGlvbihlKXt2YXIgcj1lJiZlLl9fZXNN
b2R1bGU/ZnVuY3Rpb24oKXtyZXR1cm4gZS5kZWZhdWx0fTpmdW5jdGlvbigpe3JldHVybiBlfTty
ZXR1cm4gbi5kKHIsImEiLHIpLHJ9LG4ubz1mdW5jdGlvbihlLG4pe3JldHVybiBPYmplY3QucHJv
dG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxuKX0sbi5wPSIuLyIsbi5vZT1mdW5jdGlvbihl
KXt0aHJvdyBjb25zb2xlLmVycm9yKGUpLGV9fShbXSk7CisvLyMgc291cmNlTWFwcGluZ1VSTD1t
YW5pZmVzdC5hMzA3YzdmOWE1ZGE1ZGM3MmJiNS5qcy5tYXAKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jlc291cmNl
cy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvZGlzdC9zdGF0aWMvanMv
bWFuaWZlc3QuYTMwN2M3ZjlhNWRhNWRjNzJiYjUuanMubWFwIGIvUGVyZm9ybWFuY2VUZXN0cy9T
cGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVlanMt
Y2xpL2Rpc3Qvc3RhdGljL2pzL21hbmlmZXN0LmEzMDdjN2Y5YTVkYTVkYzcyYmI1LmpzLm1hcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMDU0NmFhOGY5Y2ViMDI3NDYzNDEzYTZiZDM2YzFkMmViY2JlOTFmCi0tLSAv
ZGV2L251bGwKKysrIGIvUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9k
b212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVlanMtY2xpL2Rpc3Qvc3RhdGljL2pzL21hbmlm
ZXN0LmEzMDdjN2Y5YTVkYTVkYzcyYmI1LmpzLm1hcApAQCAtMCwwICsxIEBACit7InZlcnNpb24i
OjMsInNvdXJjZXMiOlsid2VicGFjazovLy9zdGF0aWMvanMvbWFuaWZlc3QuYTMwN2M3ZjlhNWRh
NWRjNzJiYjUuanMiLCJ3ZWJwYWNrOi8vL3dlYnBhY2svYm9vdHN0cmFwIGI3YjNkNzkxMWQ0ZjRh
ZTkxNDMxIl0sIm5hbWVzIjpbIm1vZHVsZXMiLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwibW9kdWxl
SWQiLCJpbnN0YWxsZWRNb2R1bGVzIiwiZXhwb3J0cyIsIm1vZHVsZSIsImkiLCJsIiwiY2FsbCIs
InBhcmVudEpzb25wRnVuY3Rpb24iLCJ3aW5kb3ciLCJjaHVua0lkcyIsIm1vcmVNb2R1bGVzIiwi
ZXhlY3V0ZU1vZHVsZXMiLCJjaHVua0lkIiwicmVzdWx0IiwicmVzb2x2ZXMiLCJsZW5ndGgiLCJp
bnN0YWxsZWRDaHVua3MiLCJwdXNoIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVy
dHkiLCJzaGlmdCIsInMiLCIyIiwiZSIsIm9uU2NyaXB0Q29tcGxldGUiLCJzY3JpcHQiLCJvbmVy
cm9yIiwib25sb2FkIiwiY2xlYXJUaW1lb3V0IiwidGltZW91dCIsImNodW5rIiwiRXJyb3IiLCJ1
bmRlZmluZWQiLCJpbnN0YWxsZWRDaHVua0RhdGEiLCJQcm9taXNlIiwicmVzb2x2ZSIsInByb21p
c2UiLCJyZWplY3QiLCJoZWFkIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsImNy
ZWF0ZUVsZW1lbnQiLCJ0eXBlIiwiY2hhcnNldCIsImFzeW5jIiwibmMiLCJzZXRBdHRyaWJ1dGUi
LCJzcmMiLCJwIiwiMCIsIjEiLCJzZXRUaW1lb3V0IiwiYXBwZW5kQ2hpbGQiLCJtIiwiYyIsInZh
bHVlIiwiZCIsIm5hbWUiLCJnZXR0ZXIiLCJvIiwiZGVmaW5lUHJvcGVydHkiLCJjb25maWd1cmFi
bGUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwibiIsIl9fZXNNb2R1bGUiLCJvYmplY3QiLCJwcm9wZXJ0
eSIsIm9lIiwiZXJyIiwiY29uc29sZSIsImVycm9yIl0sIm1hcHBpbmdzIjoiQ0FBUyxTQUFVQSxH
Q3VDbkIsUUFBQUMsR0FBQUMsR0FHQSxHQUFBQyxFQUFBRCxHQUNBLE1BQUFDLEdBQUFELEdBQUFF
LE9BR0EsSUFBQUMsR0FBQUYsRUFBQUQsSUFDQUksRUFBQUosRUFDQUssR0FBQSxFQUNBSCxXQVVB
LE9BTkFKLEdBQUFFLEdBQUFNLEtBQUFILEVBQUFELFFBQUFDLElBQUFELFFBQUFILEdBR0FJLEVB
QUFFLEdBQUEsRUFHQUYsRUFBQUQsUUExREEsR0FBQUssR0FBQUMsT0FBQSxZQUNBQSxRQUFBLHNC
QUFBQyxFQUFBQyxFQUFBQyxHQUlBLElBREEsR0FBQVgsR0FBQVksRUFBQUMsRUFBQVQsRUFBQSxF
QUFBVSxLQUNRVixFQUFBSyxFQUFBTSxPQUFvQlgsSUFDNUJRLEVBQUFILEVBQUFMLEdBQ0FZLEVB
QUFKLElBQ0FFLEVBQUFHLEtBQUFELEVBQUFKLEdBQUEsSUFFQUksRUFBQUosR0FBQSxDQUVBLEtB
QUFaLElBQUFVLEdBQ0FRLE9BQUFDLFVBQUFDLGVBQUFkLEtBQUFJLEVBQUFWLEtBQ0FGLEVBQUFF
LEdBQUFVLEVBQUFWLEdBSUEsS0FEQU8sS0FBQUUsRUFBQUMsRUFBQUMsR0FDQUcsRUFBQUMsUUFD
QUQsRUFBQU8sU0FFQSxJQUFBVixFQUNBLElBQUFQLEVBQUEsRUFBWUEsRUFBQU8sRUFBQUksT0FB
MkJYLElBQ3ZDUyxFQUFBZCxJQUFBdUIsRUFBQVgsRUFBQVAsR0FHQSxPQUFBUyxHQUlBLElBQUFa
LE1BR0FlLEdBQ0FPLEVBQUEsRUE2QkF4QixHQUFBeUIsRUFBQSxTQUFBWixHQStCQSxRQUFBYSxL
QUVBQyxFQUFBQyxRQUFBRCxFQUFBRSxPQUFBLEtBQ0FDLGFBQUFDLEVBQ0EsSUFBQUMsR0FBQWYs
RUFBQUosRUFDQSxLQUFBbUIsSUFDQUEsR0FDQUEsRUFBQSxNQUFBQyxPQUFBLGlCQUFBcEIsRUFB
QSxhQUVBSSxFQUFBSixPQUFBcUIsSUF2Q0EsR0FBQUMsR0FBQWxCLEVBQUFKLEVBQ0EsUUFBQXNC
LEVBQ0EsVUFBQUMsU0FBQSxTQUFBQyxHQUEwQ0EsS0FJMUMsSUFBQUYsRUFDQSxNQUFBQSxHQUFB
LEVBSUEsSUFBQUcsR0FBQSxHQUFBRixTQUFBLFNBQUFDLEVBQUFFLEdBQ0FKLEVBQUFsQixFQUFB
SixJQUFBd0IsRUFBQUUsSUFFQUosR0FBQSxHQUFBRyxDQUdBLElBQUFFLEdBQUFDLFNBQUFDLHFC
QUFBLFdBQ0FmLEVBQUFjLFNBQUFFLGNBQUEsU0FDQWhCLEdBQUFpQixLQUFBLGtCQUNBakIsRUFB
QWtCLFFBQUEsUUFDQWxCLEVBQUFtQixPQUFBLEVBQ0FuQixFQUFBSSxRQUFBLEtBRUEvQixFQUFB
K0MsSUFDQXBCLEVBQUFxQixhQUFBLFFBQUFoRCxFQUFBK0MsSUFFQXBCLEVBQUFzQixJQUFBakQs
RUFBQWtELEVBQUEsYUFBQXJDLEVBQUEsS0FBd0VzQyxFQUFBLHVCQUFBQyxFQUFBLHdCQUFzRHZD
LEdBQUEsS0FDOUgsSUFBQWtCLEdBQUFzQixXQUFBM0IsRUFBQSxLQWdCQSxPQWZBQyxHQUFBQyxR
QUFBRCxFQUFBRSxPQUFBSCxFQWFBYyxFQUFBYyxZQUFBM0IsR0FFQVcsR0FJQXRDLEVBQUF1RCxF
QUFBeEQsRUFHQUMsRUFBQXdELEVBQUF0RCxFQUdBRixFQUFBSyxFQUFBLFNBQUFvRCxHQUEyQyxN
QUFBQSxJQUczQ3pELEVBQUEwRCxFQUFBLFNBQUF2RCxFQUFBd0QsRUFBQUMsR0FDQTVELEVBQUE2
RCxFQUFBMUQsRUFBQXdELElBQ0F4QyxPQUFBMkMsZUFBQTNELEVBQUF3RCxHQUNBSSxjQUFBLEVB
Q0FDLFlBQUEsRUFDQUMsSUFBQUwsS0FNQTVELEVBQUFrRSxFQUFBLFNBQUE5RCxHQUNBLEdBQUF3
RCxHQUFBeEQsS0FBQStELFdBQ0EsV0FBMkIsTUFBQS9ELEdBQUEsU0FDM0IsV0FBaUMsTUFBQUEs
R0FFakMsT0FEQUosR0FBQTBELEVBQUFFLEVBQUEsSUFBQUEsR0FDQUEsR0FJQTVELEVBQUE2RCxF
QUFBLFNBQUFPLEVBQUFDLEdBQXNELE1BQUFsRCxRQUFBQyxVQUFBQyxlQUFBZCxLQUFBNkQsRUFB
QUMsSUFHdERyRSxFQUFBa0QsRUFBQSxLQUdBbEQsRUFBQXNFLEdBQUEsU0FBQUMsR0FBOEQsS0FB
cEJDLFNBQUFDLE1BQUFGLEdBQW9CQSIsImZpbGUiOiJzdGF0aWMvanMvbWFuaWZlc3QuYTMwN2M3
ZjlhNWRhNWRjNzJiYjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqLyAoZnVuY3Rpb24o
bW9kdWxlcykgeyAvLyB3ZWJwYWNrQm9vdHN0cmFwXG4vKioqKioqLyBcdC8vIGluc3RhbGwgYSBK
U09OUCBjYWxsYmFjayBmb3IgY2h1bmsgbG9hZGluZ1xuLyoqKioqKi8gXHR2YXIgcGFyZW50SnNv
bnBGdW5jdGlvbiA9IHdpbmRvd1tcIndlYnBhY2tKc29ucFwiXTtcbi8qKioqKiovIFx0d2luZG93
W1wid2VicGFja0pzb25wXCJdID0gZnVuY3Rpb24gd2VicGFja0pzb25wQ2FsbGJhY2soY2h1bmtJ
ZHMsIG1vcmVNb2R1bGVzLCBleGVjdXRlTW9kdWxlcykge1xuLyoqKioqKi8gXHRcdC8vIGFkZCBc
Im1vcmVNb2R1bGVzXCIgdG8gdGhlIG1vZHVsZXMgb2JqZWN0LFxuLyoqKioqKi8gXHRcdC8vIHRo
ZW4gZmxhZyBhbGwgXCJjaHVua0lkc1wiIGFzIGxvYWRlZCBhbmQgZmlyZSBjYWxsYmFja1xuLyoq
KioqKi8gXHRcdHZhciBtb2R1bGVJZCwgY2h1bmtJZCwgaSA9IDAsIHJlc29sdmVzID0gW10sIHJl
c3VsdDtcbi8qKioqKiovIFx0XHRmb3IoO2kgPCBjaHVua0lkcy5sZW5ndGg7IGkrKykge1xuLyoq
KioqKi8gXHRcdFx0Y2h1bmtJZCA9IGNodW5rSWRzW2ldO1xuLyoqKioqKi8gXHRcdFx0aWYoaW5z
dGFsbGVkQ2h1bmtzW2NodW5rSWRdKSB7XG4vKioqKioqLyBcdFx0XHRcdHJlc29sdmVzLnB1c2go
aW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRdWzBdKTtcbi8qKioqKiovIFx0XHRcdH1cbi8qKioqKiov
IFx0XHRcdGluc3RhbGxlZENodW5rc1tjaHVua0lkXSA9IDA7XG4vKioqKioqLyBcdFx0fVxuLyoq
KioqKi8gXHRcdGZvcihtb2R1bGVJZCBpbiBtb3JlTW9kdWxlcykge1xuLyoqKioqKi8gXHRcdFx0
aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vcmVNb2R1bGVzLCBtb2R1
bGVJZCkpIHtcbi8qKioqKiovIFx0XHRcdFx0bW9kdWxlc1ttb2R1bGVJZF0gPSBtb3JlTW9kdWxl
c1ttb2R1bGVJZF07XG4vKioqKioqLyBcdFx0XHR9XG4vKioqKioqLyBcdFx0fVxuLyoqKioqKi8g
XHRcdGlmKHBhcmVudEpzb25wRnVuY3Rpb24pIHBhcmVudEpzb25wRnVuY3Rpb24oY2h1bmtJZHMs
IG1vcmVNb2R1bGVzLCBleGVjdXRlTW9kdWxlcyk7XG4vKioqKioqLyBcdFx0d2hpbGUocmVzb2x2
ZXMubGVuZ3RoKSB7XG4vKioqKioqLyBcdFx0XHRyZXNvbHZlcy5zaGlmdCgpKCk7XG4vKioqKioq
LyBcdFx0fVxuLyoqKioqKi8gXHRcdGlmKGV4ZWN1dGVNb2R1bGVzKSB7XG4vKioqKioqLyBcdFx0
XHRmb3IoaT0wOyBpIDwgZXhlY3V0ZU1vZHVsZXMubGVuZ3RoOyBpKyspIHtcbi8qKioqKiovIFx0
XHRcdFx0cmVzdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMg
PSBleGVjdXRlTW9kdWxlc1tpXSk7XG4vKioqKioqLyBcdFx0XHR9XG4vKioqKioqLyBcdFx0fVxu
LyoqKioqKi8gXHRcdHJldHVybiByZXN1bHQ7XG4vKioqKioqLyBcdH07XG4vKioqKioqL1xuLyoq
KioqKi8gXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdHZhciBpbnN0YWxsZWRNb2R1
bGVzID0ge307XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBvYmplY3RzIHRvIHN0b3JlIGxvYWRl
ZCBhbmQgbG9hZGluZyBjaHVua3Ncbi8qKioqKiovIFx0dmFyIGluc3RhbGxlZENodW5rcyA9IHtc
bi8qKioqKiovIFx0XHQyOiAwXG4vKioqKioqLyBcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQv
LyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuLyoqKioqKi8gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVx
dWlyZV9fKG1vZHVsZUlkKSB7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIENoZWNrIGlmIG1v
ZHVsZSBpcyBpbiBjYWNoZVxuLyoqKioqKi8gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxl
SWRdKSB7XG4vKioqKioqLyBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0u
ZXhwb3J0cztcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1v
ZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbi8qKioqKiovIFx0XHR2YXIgbW9kdWxl
ID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4vKioqKioqLyBcdFx0XHRpOiBtb2R1
bGVJZCxcbi8qKioqKiovIFx0XHRcdGw6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0ZXhwb3J0czog
e31cbi8qKioqKiovIFx0XHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBFeGVjdXRlIHRo
ZSBtb2R1bGUgZnVuY3Rpb25cbi8qKioqKiovIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1v
ZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9f
KTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxu
LyoqKioqKi8gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8g
UmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbi8qKioqKiovIFx0XHRyZXR1cm4gbW9k
dWxlLmV4cG9ydHM7XG4vKioqKioqLyBcdH1cbi8qKioqKiovXG4vKioqKioqLyBcdC8vIFRoaXMg
ZmlsZSBjb250YWlucyBvbmx5IHRoZSBlbnRyeSBjaHVuay5cbi8qKioqKiovIFx0Ly8gVGhlIGNo
dW5rIGxvYWRpbmcgZnVuY3Rpb24gZm9yIGFkZGl0aW9uYWwgY2h1bmtzXG4vKioqKioqLyBcdF9f
d2VicGFja19yZXF1aXJlX18uZSA9IGZ1bmN0aW9uIHJlcXVpcmVFbnN1cmUoY2h1bmtJZCkge1xu
LyoqKioqKi8gXHRcdHZhciBpbnN0YWxsZWRDaHVua0RhdGEgPSBpbnN0YWxsZWRDaHVua3NbY2h1
bmtJZF07XG4vKioqKioqLyBcdFx0aWYoaW5zdGFsbGVkQ2h1bmtEYXRhID09PSAwKSB7XG4vKioq
KioqLyBcdFx0XHRyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeyByZXNvbHZl
KCk7IH0pO1xuLyoqKioqKi8gXHRcdH1cbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gYSBQcm9t
aXNlIG1lYW5zIFwiY3VycmVudGx5IGxvYWRpbmdcIi5cbi8qKioqKiovIFx0XHRpZihpbnN0YWxs
ZWRDaHVua0RhdGEpIHtcbi8qKioqKiovIFx0XHRcdHJldHVybiBpbnN0YWxsZWRDaHVua0RhdGFb
Ml07XG4vKioqKioqLyBcdFx0fVxuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBzZXR1cCBQcm9t
aXNlIGluIGNodW5rIGNhY2hlXG4vKioqKioqLyBcdFx0dmFyIHByb21pc2UgPSBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHtcbi8qKioqKiovIFx0XHRcdGluc3RhbGxlZENo
dW5rRGF0YSA9IGluc3RhbGxlZENodW5rc1tjaHVua0lkXSA9IFtyZXNvbHZlLCByZWplY3RdO1xu
LyoqKioqKi8gXHRcdH0pO1xuLyoqKioqKi8gXHRcdGluc3RhbGxlZENodW5rRGF0YVsyXSA9IHBy
b21pc2U7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIHN0YXJ0IGNodW5rIGxvYWRpbmdcbi8q
KioqKiovIFx0XHR2YXIgaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFk
JylbMF07XG4vKioqKioqLyBcdFx0dmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J3NjcmlwdCcpO1xuLyoqKioqKi8gXHRcdHNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7
XG4vKioqKioqLyBcdFx0c2NyaXB0LmNoYXJzZXQgPSAndXRmLTgnO1xuLyoqKioqKi8gXHRcdHNj
cmlwdC5hc3luYyA9IHRydWU7XG4vKioqKioqLyBcdFx0c2NyaXB0LnRpbWVvdXQgPSAxMjAwMDA7
XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdGlmIChfX3dlYnBhY2tfcmVxdWlyZV9fLm5jKSB7XG4v
KioqKioqLyBcdFx0XHRzY3JpcHQuc2V0QXR0cmlidXRlKFwibm9uY2VcIiwgX193ZWJwYWNrX3Jl
cXVpcmVfXy5uYyk7XG4vKioqKioqLyBcdFx0fVxuLyoqKioqKi8gXHRcdHNjcmlwdC5zcmMgPSBf
X3dlYnBhY2tfcmVxdWlyZV9fLnAgKyBcInN0YXRpYy9qcy9cIiArIGNodW5rSWQgKyBcIi5cIiAr
IHtcIjBcIjpcImQ2ZWQ4OTM1NDM4ZjQ0ZTk4NDNhXCIsXCIxXCI6XCIyZTRlOWU1Mjg2NjRmYTc5
NmQzYVwifVtjaHVua0lkXSArIFwiLmpzXCI7XG4vKioqKioqLyBcdFx0dmFyIHRpbWVvdXQgPSBz
ZXRUaW1lb3V0KG9uU2NyaXB0Q29tcGxldGUsIDEyMDAwMCk7XG4vKioqKioqLyBcdFx0c2NyaXB0
Lm9uZXJyb3IgPSBzY3JpcHQub25sb2FkID0gb25TY3JpcHRDb21wbGV0ZTtcbi8qKioqKiovIFx0
XHRmdW5jdGlvbiBvblNjcmlwdENvbXBsZXRlKCkge1xuLyoqKioqKi8gXHRcdFx0Ly8gYXZvaWQg
bWVtIGxlYWtzIGluIElFLlxuLyoqKioqKi8gXHRcdFx0c2NyaXB0Lm9uZXJyb3IgPSBzY3JpcHQu
b25sb2FkID0gbnVsbDtcbi8qKioqKiovIFx0XHRcdGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbi8q
KioqKiovIFx0XHRcdHZhciBjaHVuayA9IGluc3RhbGxlZENodW5rc1tjaHVua0lkXTtcbi8qKioq
KiovIFx0XHRcdGlmKGNodW5rICE9PSAwKSB7XG4vKioqKioqLyBcdFx0XHRcdGlmKGNodW5rKSB7
XG4vKioqKioqLyBcdFx0XHRcdFx0Y2h1bmtbMV0obmV3IEVycm9yKCdMb2FkaW5nIGNodW5rICcg
KyBjaHVua0lkICsgJyBmYWlsZWQuJykpO1xuLyoqKioqKi8gXHRcdFx0XHR9XG4vKioqKioqLyBc
dFx0XHRcdGluc3RhbGxlZENodW5rc1tjaHVua0lkXSA9IHVuZGVmaW5lZDtcbi8qKioqKiovIFx0
XHRcdH1cbi8qKioqKiovIFx0XHR9O1xuLyoqKioqKi8gXHRcdGhlYWQuYXBwZW5kQ2hpbGQoc2Ny
aXB0KTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0cmV0dXJuIHByb21pc2U7XG4vKioqKioqLyBc
dH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChf
X3dlYnBhY2tfbW9kdWxlc19fKVxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBt
b2R1bGVzO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVc
bi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcbi8q
KioqKiovXG4vKioqKioqLyBcdC8vIGlkZW50aXR5IGZ1bmN0aW9uIGZvciBjYWxsaW5nIGhhcm1v
bnkgaW1wb3J0cyB3aXRoIHRoZSBjb3JyZWN0IGNvbnRleHRcbi8qKioqKiovIFx0X193ZWJwYWNr
X3JlcXVpcmVfXy5pID0gZnVuY3Rpb24odmFsdWUpIHsgcmV0dXJuIHZhbHVlOyB9O1xuLyoqKioq
Ki9cbi8qKioqKiovIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBv
cnRzXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMs
IG5hbWUsIGdldHRlcikge1xuLyoqKioqKi8gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8o
ZXhwb3J0cywgbmFtZSkpIHtcbi8qKioqKiovIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShl
eHBvcnRzLCBuYW1lLCB7XG4vKioqKioqLyBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4v
KioqKioqLyBcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG4vKioqKioqLyBcdFx0XHRcdGdldDog
Z2V0dGVyXG4vKioqKioqLyBcdFx0XHR9KTtcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdH07
XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBj
b21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuLyoqKioqKi8gXHRfX3dlYnBh
Y2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbi8qKioqKiovIFx0XHR2YXIgZ2V0
dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbi8qKioqKiovIFx0XHRcdGZ1bmN0
aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4vKioqKioq
LyBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xu
LyoqKioqKi8gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtc
bi8qKioqKiovIFx0XHRyZXR1cm4gZ2V0dGVyO1xuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8q
KioqKiovIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4vKioqKioq
LyBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsg
cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3Bl
cnR5KTsgfTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9f
XG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiLi9cIjtcbi8qKioqKiovXG4v
KioqKioqLyBcdC8vIG9uIGVycm9yIGZ1bmN0aW9uIGZvciBhc3luYyBsb2FkaW5nXG4vKioqKioq
LyBcdF9fd2VicGFja19yZXF1aXJlX18ub2UgPSBmdW5jdGlvbihlcnIpIHsgY29uc29sZS5lcnJv
cihlcnIpOyB0aHJvdyBlcnI7IH07XG4vKioqKioqLyB9KVxuLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8q
KioqKiovIChbXSk7XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIHN0YXRpYy9qcy9tYW5p
ZmVzdC5hMzA3YzdmOWE1ZGE1ZGM3MmJiNS5qcyIsIiBcdC8vIGluc3RhbGwgYSBKU09OUCBjYWxs
YmFjayBmb3IgY2h1bmsgbG9hZGluZ1xuIFx0dmFyIHBhcmVudEpzb25wRnVuY3Rpb24gPSB3aW5k
b3dbXCJ3ZWJwYWNrSnNvbnBcIl07XG4gXHR3aW5kb3dbXCJ3ZWJwYWNrSnNvbnBcIl0gPSBmdW5j
dGlvbiB3ZWJwYWNrSnNvbnBDYWxsYmFjayhjaHVua0lkcywgbW9yZU1vZHVsZXMsIGV4ZWN1dGVN
b2R1bGVzKSB7XG4gXHRcdC8vIGFkZCBcIm1vcmVNb2R1bGVzXCIgdG8gdGhlIG1vZHVsZXMgb2Jq
ZWN0LFxuIFx0XHQvLyB0aGVuIGZsYWcgYWxsIFwiY2h1bmtJZHNcIiBhcyBsb2FkZWQgYW5kIGZp
cmUgY2FsbGJhY2tcbiBcdFx0dmFyIG1vZHVsZUlkLCBjaHVua0lkLCBpID0gMCwgcmVzb2x2ZXMg
PSBbXSwgcmVzdWx0O1xuIFx0XHRmb3IoO2kgPCBjaHVua0lkcy5sZW5ndGg7IGkrKykge1xuIFx0
XHRcdGNodW5rSWQgPSBjaHVua0lkc1tpXTtcbiBcdFx0XHRpZihpbnN0YWxsZWRDaHVua3NbY2h1
bmtJZF0pIHtcbiBcdFx0XHRcdHJlc29sdmVzLnB1c2goaW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRd
WzBdKTtcbiBcdFx0XHR9XG4gXHRcdFx0aW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRdID0gMDtcbiBc
dFx0fVxuIFx0XHRmb3IobW9kdWxlSWQgaW4gbW9yZU1vZHVsZXMpIHtcbiBcdFx0XHRpZihPYmpl
Y3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobW9yZU1vZHVsZXMsIG1vZHVsZUlkKSkg
e1xuIFx0XHRcdFx0bW9kdWxlc1ttb2R1bGVJZF0gPSBtb3JlTW9kdWxlc1ttb2R1bGVJZF07XG4g
XHRcdFx0fVxuIFx0XHR9XG4gXHRcdGlmKHBhcmVudEpzb25wRnVuY3Rpb24pIHBhcmVudEpzb25w
RnVuY3Rpb24oY2h1bmtJZHMsIG1vcmVNb2R1bGVzLCBleGVjdXRlTW9kdWxlcyk7XG4gXHRcdHdo
aWxlKHJlc29sdmVzLmxlbmd0aCkge1xuIFx0XHRcdHJlc29sdmVzLnNoaWZ0KCkoKTtcbiBcdFx0
fVxuIFx0XHRpZihleGVjdXRlTW9kdWxlcykge1xuIFx0XHRcdGZvcihpPTA7IGkgPCBleGVjdXRl
TW9kdWxlcy5sZW5ndGg7IGkrKykge1xuIFx0XHRcdFx0cmVzdWx0ID0gX193ZWJwYWNrX3JlcXVp
cmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSBleGVjdXRlTW9kdWxlc1tpXSk7XG4gXHRcdFx0
fVxuIFx0XHR9XG4gXHRcdHJldHVybiByZXN1bHQ7XG4gXHR9O1xuXG4gXHQvLyBUaGUgbW9kdWxl
IGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBvYmplY3RzIHRv
IHN0b3JlIGxvYWRlZCBhbmQgbG9hZGluZyBjaHVua3NcbiBcdHZhciBpbnN0YWxsZWRDaHVua3Mg
PSB7XG4gXHRcdDI6IDBcbiBcdH07XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRm
dW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sg
aWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRd
KSB7XG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4g
XHRcdH1cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBj
YWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xu
IFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9
XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1v
ZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9y
dHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBs
b2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0
cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuIFx0
Ly8gVGhpcyBmaWxlIGNvbnRhaW5zIG9ubHkgdGhlIGVudHJ5IGNodW5rLlxuIFx0Ly8gVGhlIGNo
dW5rIGxvYWRpbmcgZnVuY3Rpb24gZm9yIGFkZGl0aW9uYWwgY2h1bmtzXG4gXHRfX3dlYnBhY2tf
cmVxdWlyZV9fLmUgPSBmdW5jdGlvbiByZXF1aXJlRW5zdXJlKGNodW5rSWQpIHtcbiBcdFx0dmFy
IGluc3RhbGxlZENodW5rRGF0YSA9IGluc3RhbGxlZENodW5rc1tjaHVua0lkXTtcbiBcdFx0aWYo
aW5zdGFsbGVkQ2h1bmtEYXRhID09PSAwKSB7XG4gXHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1
bmN0aW9uKHJlc29sdmUpIHsgcmVzb2x2ZSgpOyB9KTtcbiBcdFx0fVxuXG4gXHRcdC8vIGEgUHJv
bWlzZSBtZWFucyBcImN1cnJlbnRseSBsb2FkaW5nXCIuXG4gXHRcdGlmKGluc3RhbGxlZENodW5r
RGF0YSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRDaHVua0RhdGFbMl07XG4gXHRcdH1cblxu
IFx0XHQvLyBzZXR1cCBQcm9taXNlIGluIGNodW5rIGNhY2hlXG4gXHRcdHZhciBwcm9taXNlID0g
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7XG4gXHRcdFx0aW5zdGFsbGVk
Q2h1bmtEYXRhID0gaW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRdID0gW3Jlc29sdmUsIHJlamVjdF07
XG4gXHRcdH0pO1xuIFx0XHRpbnN0YWxsZWRDaHVua0RhdGFbMl0gPSBwcm9taXNlO1xuXG4gXHRc
dC8vIHN0YXJ0IGNodW5rIGxvYWRpbmdcbiBcdFx0dmFyIGhlYWQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xuIFx0XHR2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gXHRcdHNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlw
dCc7XG4gXHRcdHNjcmlwdC5jaGFyc2V0ID0gJ3V0Zi04JztcbiBcdFx0c2NyaXB0LmFzeW5jID0g
dHJ1ZTtcbiBcdFx0c2NyaXB0LnRpbWVvdXQgPSAxMjAwMDA7XG5cbiBcdFx0aWYgKF9fd2VicGFj
a19yZXF1aXJlX18ubmMpIHtcbiBcdFx0XHRzY3JpcHQuc2V0QXR0cmlidXRlKFwibm9uY2VcIiwg
X193ZWJwYWNrX3JlcXVpcmVfXy5uYyk7XG4gXHRcdH1cbiBcdFx0c2NyaXB0LnNyYyA9IF9fd2Vi
cGFja19yZXF1aXJlX18ucCArIFwic3RhdGljL2pzL1wiICsgY2h1bmtJZCArIFwiLlwiICsge1wi
MFwiOlwiZDZlZDg5MzU0MzhmNDRlOTg0M2FcIixcIjFcIjpcIjJlNGU5ZTUyODY2NGZhNzk2ZDNh
XCJ9W2NodW5rSWRdICsgXCIuanNcIjtcbiBcdFx0dmFyIHRpbWVvdXQgPSBzZXRUaW1lb3V0KG9u
U2NyaXB0Q29tcGxldGUsIDEyMDAwMCk7XG4gXHRcdHNjcmlwdC5vbmVycm9yID0gc2NyaXB0Lm9u
bG9hZCA9IG9uU2NyaXB0Q29tcGxldGU7XG4gXHRcdGZ1bmN0aW9uIG9uU2NyaXB0Q29tcGxldGUo
KSB7XG4gXHRcdFx0Ly8gYXZvaWQgbWVtIGxlYWtzIGluIElFLlxuIFx0XHRcdHNjcmlwdC5vbmVy
cm9yID0gc2NyaXB0Lm9ubG9hZCA9IG51bGw7XG4gXHRcdFx0Y2xlYXJUaW1lb3V0KHRpbWVvdXQp
O1xuIFx0XHRcdHZhciBjaHVuayA9IGluc3RhbGxlZENodW5rc1tjaHVua0lkXTtcbiBcdFx0XHRp
ZihjaHVuayAhPT0gMCkge1xuIFx0XHRcdFx0aWYoY2h1bmspIHtcbiBcdFx0XHRcdFx0Y2h1bmtb
MV0obmV3IEVycm9yKCdMb2FkaW5nIGNodW5rICcgKyBjaHVua0lkICsgJyBmYWlsZWQuJykpO1xu
IFx0XHRcdFx0fVxuIFx0XHRcdFx0aW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRdID0gdW5kZWZpbmVk
O1xuIFx0XHRcdH1cbiBcdFx0fTtcbiBcdFx0aGVhZC5hcHBlbmRDaGlsZChzY3JpcHQpO1xuXG4g
XHRcdHJldHVybiBwcm9taXNlO1xuIFx0fTtcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9i
amVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1v
ZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVx
dWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBpZGVudGl0eSBmdW5jdGlvbiBm
b3IgY2FsbGluZyBoYXJtb255IGltcG9ydHMgd2l0aCB0aGUgY29ycmVjdCBjb250ZXh0XG4gXHRf
X3dlYnBhY2tfcmVxdWlyZV9fLmkgPSBmdW5jdGlvbih2YWx1ZSkgeyByZXR1cm4gdmFsdWU7IH07
XG5cbiBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0
X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7
XG4gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0
XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwge1xuIFx0XHRcdFx0Y29uZmln
dXJhYmxlOiBmYWxzZSxcbiBcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG4gXHRcdFx0XHRnZXQ6
IGdldHRlclxuIFx0XHRcdH0pO1xuIFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhw
b3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xu
IFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBn
ZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdl
dERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rp
b24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNr
X3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xu
IFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRf
X3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVy
biBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7
IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWly
ZV9fLnAgPSBcIi4vXCI7XG5cbiBcdC8vIG9uIGVycm9yIGZ1bmN0aW9uIGZvciBhc3luYyBsb2Fk
aW5nXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm9lID0gZnVuY3Rpb24oZXJyKSB7IGNvbnNvbGUu
ZXJyb3IoZXJyKTsgdGhyb3cgZXJyOyB9O1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8v
IHdlYnBhY2svYm9vdHN0cmFwIGI3YjNkNzkxMWQ0ZjRhZTkxNDMxIl0sInNvdXJjZVJvb3QiOiIi
fQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVz
dHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1
ZWpzLWNsaS9kaXN0L3N0YXRpYy9qcy92ZW5kb3IuMmU0ZTllNTI4NjY0ZmE3OTZkM2EuanMgYi9Q
ZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVy
ZS1leGFtcGxlcy92dWVqcy1jbGkvZGlzdC9zdGF0aWMvanMvdmVuZG9yLjJlNGU5ZTUyODY2NGZh
Nzk2ZDNhLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5ZDEzNjdkNWMyNDZkMjEyMWNiNjA4YTBlNjRjNzkxOGM4
ZWEyOTMKLS0tIC9kZXYvbnVsbAorKysgYi9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jl
c291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvZGlzdC9zdGF0
aWMvanMvdmVuZG9yLjJlNGU5ZTUyODY2NGZhNzk2ZDNhLmpzCkBAIC0wLDAgKzEsNyBAQAord2Vi
cGFja0pzb25wKFsxXSxbZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5l
UHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZnVuY3Rpb24odCl7LyohCisgKiBW
dWUuanMgdjIuNC4yCisgKiAoYykgMjAxNC0yMDE3IEV2YW4gWW91CisgKiBSZWxlYXNlZCB1bmRl
ciB0aGUgTUlUIExpY2Vuc2UuCisgKi8KK2Z1bmN0aW9uIG4odCl7cmV0dXJuIHZvaWQgMD09PXR8
fG51bGw9PT10fWZ1bmN0aW9uIHIodCl7cmV0dXJuIHZvaWQgMCE9PXQmJm51bGwhPT10fWZ1bmN0
aW9uIGkodCl7cmV0dXJuITA9PT10fWZ1bmN0aW9uIG8odCl7cmV0dXJuITE9PT10fWZ1bmN0aW9u
IGEodCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0fHwibnVtYmVyIj09dHlwZW9mIHR8fCJib29s
ZWFuIj09dHlwZW9mIHR9ZnVuY3Rpb24gcyh0KXtyZXR1cm4gbnVsbCE9PXQmJiJvYmplY3QiPT10
eXBlb2YgdH1mdW5jdGlvbiBjKHQpe3JldHVybiJbb2JqZWN0IE9iamVjdF0iPT09UmkuY2FsbCh0
KX1mdW5jdGlvbiB1KHQpe3JldHVybiJbb2JqZWN0IFJlZ0V4cF0iPT09UmkuY2FsbCh0KX1mdW5j
dGlvbiBsKHQpe3ZhciBlPXBhcnNlRmxvYXQodCk7cmV0dXJuIGU+PTAmJk1hdGguZmxvb3IoZSk9
PT1lJiZpc0Zpbml0ZSh0KX1mdW5jdGlvbiBmKHQpe3JldHVybiBudWxsPT10PyIiOiJvYmplY3Qi
PT10eXBlb2YgdD9KU09OLnN0cmluZ2lmeSh0LG51bGwsMik6U3RyaW5nKHQpfWZ1bmN0aW9uIHAo
dCl7dmFyIGU9cGFyc2VGbG9hdCh0KTtyZXR1cm4gaXNOYU4oZSk/dDplfWZ1bmN0aW9uIGQodCxl
KXtmb3IodmFyIG49T2JqZWN0LmNyZWF0ZShudWxsKSxyPXQuc3BsaXQoIiwiKSxpPTA7aTxyLmxl
bmd0aDtpKyspbltyW2ldXT0hMDtyZXR1cm4gZT9mdW5jdGlvbih0KXtyZXR1cm4gblt0LnRvTG93
ZXJDYXNlKCldfTpmdW5jdGlvbih0KXtyZXR1cm4gblt0XX19ZnVuY3Rpb24gdih0LGUpe2lmKHQu
bGVuZ3RoKXt2YXIgbj10LmluZGV4T2YoZSk7aWYobj4tMSlyZXR1cm4gdC5zcGxpY2UobiwxKX19
ZnVuY3Rpb24gaCh0LGUpe3JldHVybiBCaS5jYWxsKHQsZSl9ZnVuY3Rpb24gbSh0KXt2YXIgZT1P
YmplY3QuY3JlYXRlKG51bGwpO3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gZVtuXXx8KGVbbl09
dChuKSl9fWZ1bmN0aW9uIHkodCxlKXtmdW5jdGlvbiBuKG4pe3ZhciByPWFyZ3VtZW50cy5sZW5n
dGg7cmV0dXJuIHI/cj4xP3QuYXBwbHkoZSxhcmd1bWVudHMpOnQuY2FsbChlLG4pOnQuY2FsbChl
KX1yZXR1cm4gbi5fbGVuZ3RoPXQubGVuZ3RoLG59ZnVuY3Rpb24gZyh0LGUpe2U9ZXx8MDtmb3Io
dmFyIG49dC5sZW5ndGgtZSxyPW5ldyBBcnJheShuKTtuLS07KXJbbl09dFtuK2VdO3JldHVybiBy
fWZ1bmN0aW9uIF8odCxlKXtmb3IodmFyIG4gaW4gZSl0W25dPWVbbl07cmV0dXJuIHR9ZnVuY3Rp
b24gYih0KXtmb3IodmFyIGU9e30sbj0wO248dC5sZW5ndGg7bisrKXRbbl0mJl8oZSx0W25dKTty
ZXR1cm4gZX1mdW5jdGlvbiB3KHQsZSxuKXt9ZnVuY3Rpb24gJCh0LGUpe2lmKHQ9PT1lKXJldHVy
biEwO3ZhciBuPXModCkscj1zKGUpO2lmKCFufHwhcilyZXR1cm4hbiYmIXImJlN0cmluZyh0KT09
PVN0cmluZyhlKTt0cnl7dmFyIGk9QXJyYXkuaXNBcnJheSh0KSxvPUFycmF5LmlzQXJyYXkoZSk7
aWYoaSYmbylyZXR1cm4gdC5sZW5ndGg9PT1lLmxlbmd0aCYmdC5ldmVyeShmdW5jdGlvbih0LG4p
e3JldHVybiAkKHQsZVtuXSl9KTtpZihpfHxvKXJldHVybiExO3ZhciBhPU9iamVjdC5rZXlzKHQp
LGM9T2JqZWN0LmtleXMoZSk7cmV0dXJuIGEubGVuZ3RoPT09Yy5sZW5ndGgmJmEuZXZlcnkoZnVu
Y3Rpb24obil7cmV0dXJuICQodFtuXSxlW25dKX0pfWNhdGNoKHQpe3JldHVybiExfX1mdW5jdGlv
biBDKHQsZSl7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspaWYoJCh0W25dLGUpKXJldHVybiBu
O3JldHVybi0xfWZ1bmN0aW9uIHgodCl7dmFyIGU9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7ZXx8KGU9
ITAsdC5hcHBseSh0aGlzLGFyZ3VtZW50cykpfX1mdW5jdGlvbiBBKHQpe3ZhciBlPSh0KyIiKS5j
aGFyQ29kZUF0KDApO3JldHVybiAzNj09PWV8fDk1PT09ZX1mdW5jdGlvbiBrKHQsZSxuLHIpe09i
amVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOm4sZW51bWVyYWJsZTohIXIsd3JpdGFibGU6
ITAsY29uZmlndXJhYmxlOiEwfSl9ZnVuY3Rpb24gTyh0KXtpZighUWkudGVzdCh0KSl7dmFyIGU9
dC5zcGxpdCgiLiIpO3JldHVybiBmdW5jdGlvbih0KXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24r
Kyl7aWYoIXQpcmV0dXJuO3Q9dFtlW25dXX1yZXR1cm4gdH19fWZ1bmN0aW9uIFModCxlLG4pe2lm
KFhpLmVycm9ySGFuZGxlcilYaS5lcnJvckhhbmRsZXIuY2FsbChudWxsLHQsZSxuKTtlbHNle2lm
KCFub3x8InVuZGVmaW5lZCI9PXR5cGVvZiBjb25zb2xlKXRocm93IHQ7Y29uc29sZS5lcnJvcih0
KX19ZnVuY3Rpb24gVCh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdCYmL25hdGl2ZSBjb2Rl
Ly50ZXN0KHQudG9TdHJpbmcoKSl9ZnVuY3Rpb24gRSh0KXt3by50YXJnZXQmJiRvLnB1c2god28u
dGFyZ2V0KSx3by50YXJnZXQ9dH1mdW5jdGlvbiBqKCl7d28udGFyZ2V0PSRvLnBvcCgpfWZ1bmN0
aW9uIE4odCxlLG4pe3QuX19wcm90b19fPWV9ZnVuY3Rpb24gTCh0LGUsbil7Zm9yKHZhciByPTAs
aT1uLmxlbmd0aDtyPGk7cisrKXt2YXIgbz1uW3JdO2sodCxvLGVbb10pfX1mdW5jdGlvbiBNKHQs
ZSl7aWYocyh0KSl7dmFyIG47cmV0dXJuIGgodCwiX19vYl9fIikmJnQuX19vYl9fIGluc3RhbmNl
b2YgT28/bj10Ll9fb2JfXzprby5zaG91bGRDb252ZXJ0JiYhbW8oKSYmKEFycmF5LmlzQXJyYXko
dCl8fGModCkpJiZPYmplY3QuaXNFeHRlbnNpYmxlKHQpJiYhdC5faXNWdWUmJihuPW5ldyBPbyh0
KSksZSYmbiYmbi52bUNvdW50Kyssbn19ZnVuY3Rpb24gSSh0LGUsbixyLGkpe3ZhciBvPW5ldyB3
byxhPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxlKTtpZighYXx8ITEhPT1hLmNv
bmZpZ3VyYWJsZSl7dmFyIHM9YSYmYS5nZXQsYz1hJiZhLnNldCx1PSFpJiZNKG4pO09iamVjdC5k
ZWZpbmVQcm9wZXJ0eSh0LGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLGdldDpmdW5j
dGlvbigpe3ZhciBlPXM/cy5jYWxsKHQpOm47cmV0dXJuIHdvLnRhcmdldCYmKG8uZGVwZW5kKCks
dSYmdS5kZXAuZGVwZW5kKCksQXJyYXkuaXNBcnJheShlKSYmRChlKSksZX0sc2V0OmZ1bmN0aW9u
KGUpe3ZhciByPXM/cy5jYWxsKHQpOm47ZT09PXJ8fGUhPT1lJiZyIT09cnx8KGM/Yy5jYWxsKHQs
ZSk6bj1lLHU9IWkmJk0oZSksby5ub3RpZnkoKSl9fSl9fWZ1bmN0aW9uIFAodCxlLG4pe2lmKEFy
cmF5LmlzQXJyYXkodCkmJmwoZSkpcmV0dXJuIHQubGVuZ3RoPU1hdGgubWF4KHQubGVuZ3RoLGUp
LHQuc3BsaWNlKGUsMSxuKSxuO2lmKGgodCxlKSlyZXR1cm4gdFtlXT1uLG47dmFyIHI9dC5fX29i
X187cmV0dXJuIHQuX2lzVnVlfHxyJiZyLnZtQ291bnQ/bjpyPyhJKHIudmFsdWUsZSxuKSxyLmRl
cC5ub3RpZnkoKSxuKToodFtlXT1uLG4pfWZ1bmN0aW9uIFIodCxlKXtpZihBcnJheS5pc0FycmF5
KHQpJiZsKGUpKXJldHVybiB2b2lkIHQuc3BsaWNlKGUsMSk7dmFyIG49dC5fX29iX187dC5faXNW
dWV8fG4mJm4udm1Db3VudHx8aCh0LGUpJiYoZGVsZXRlIHRbZV0sbiYmbi5kZXAubm90aWZ5KCkp
fWZ1bmN0aW9uIEQodCl7Zm9yKHZhciBlPXZvaWQgMCxuPTAscj10Lmxlbmd0aDtuPHI7bisrKWU9
dFtuXSxlJiZlLl9fb2JfXyYmZS5fX29iX18uZGVwLmRlcGVuZCgpLEFycmF5LmlzQXJyYXkoZSkm
JkQoZSl9ZnVuY3Rpb24gRih0LGUpe2lmKCFlKXJldHVybiB0O2Zvcih2YXIgbixyLGksbz1PYmpl
Y3Qua2V5cyhlKSxhPTA7YTxvLmxlbmd0aDthKyspbj1vW2FdLHI9dFtuXSxpPWVbbl0saCh0LG4p
P2MocikmJmMoaSkmJkYocixpKTpQKHQsbixpKTtyZXR1cm4gdH1mdW5jdGlvbiBCKHQsZSxuKXty
ZXR1cm4gbj90fHxlP2Z1bmN0aW9uKCl7dmFyIHI9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZS5jYWxs
KG4pOmUsaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90LmNhbGwobik6dm9pZCAwO3JldHVybiByP0Yo
cixpKTppfTp2b2lkIDA6ZT90P2Z1bmN0aW9uKCl7cmV0dXJuIEYoImZ1bmN0aW9uIj09dHlwZW9m
IGU/ZS5jYWxsKHRoaXMpOmUsImZ1bmN0aW9uIj09dHlwZW9mIHQ/dC5jYWxsKHRoaXMpOnQpfTpl
OnR9ZnVuY3Rpb24gVSh0LGUpe3JldHVybiBlP3Q/dC5jb25jYXQoZSk6QXJyYXkuaXNBcnJheShl
KT9lOltlXTp0fWZ1bmN0aW9uIEgodCxlKXt2YXIgbj1PYmplY3QuY3JlYXRlKHR8fG51bGwpO3Jl
dHVybiBlP18obixlKTpufWZ1bmN0aW9uIFYodCl7dmFyIGU9dC5wcm9wcztpZihlKXt2YXIgbixy
LGksbz17fTtpZihBcnJheS5pc0FycmF5KGUpKWZvcihuPWUubGVuZ3RoO24tLTspInN0cmluZyI9
PXR5cGVvZihyPWVbbl0pJiYoaT1IaShyKSxvW2ldPXt0eXBlOm51bGx9KTtlbHNlIGlmKGMoZSkp
Zm9yKHZhciBhIGluIGUpcj1lW2FdLGk9SGkoYSksb1tpXT1jKHIpP3I6e3R5cGU6cn07dC5wcm9w
cz1vfX1mdW5jdGlvbiB6KHQpe3ZhciBlPXQuaW5qZWN0O2lmKEFycmF5LmlzQXJyYXkoZSkpZm9y
KHZhciBuPXQuaW5qZWN0PXt9LHI9MDtyPGUubGVuZ3RoO3IrKyluW2Vbcl1dPWVbcl19ZnVuY3Rp
b24gSih0KXt2YXIgZT10LmRpcmVjdGl2ZXM7aWYoZSlmb3IodmFyIG4gaW4gZSl7dmFyIHI9ZVtu
XTsiZnVuY3Rpb24iPT10eXBlb2YgciYmKGVbbl09e2JpbmQ6cix1cGRhdGU6cn0pfX1mdW5jdGlv
biBLKHQsZSxuKXtmdW5jdGlvbiByKHIpe3ZhciBpPVNvW3JdfHxUbztjW3JdPWkodFtyXSxlW3Jd
LG4scil9ImZ1bmN0aW9uIj09dHlwZW9mIGUmJihlPWUub3B0aW9ucyksVihlKSx6KGUpLEooZSk7
dmFyIGk9ZS5leHRlbmRzO2lmKGkmJih0PUsodCxpLG4pKSxlLm1peGlucylmb3IodmFyIG89MCxh
PWUubWl4aW5zLmxlbmd0aDtvPGE7bysrKXQ9Syh0LGUubWl4aW5zW29dLG4pO3ZhciBzLGM9e307
Zm9yKHMgaW4gdClyKHMpO2ZvcihzIGluIGUpaCh0LHMpfHxyKHMpO3JldHVybiBjfWZ1bmN0aW9u
IHEodCxlLG4scil7aWYoInN0cmluZyI9PXR5cGVvZiBuKXt2YXIgaT10W2VdO2lmKGgoaSxuKSly
ZXR1cm4gaVtuXTt2YXIgbz1IaShuKTtpZihoKGksbykpcmV0dXJuIGlbb107dmFyIGE9Vmkobyk7
aWYoaChpLGEpKXJldHVybiBpW2FdO3JldHVybiBpW25dfHxpW29dfHxpW2FdfX1mdW5jdGlvbiBX
KHQsZSxuLHIpe3ZhciBpPWVbdF0sbz0haChuLHQpLGE9blt0XTtpZihYKEJvb2xlYW4saS50eXBl
KSYmKG8mJiFoKGksImRlZmF1bHQiKT9hPSExOlgoU3RyaW5nLGkudHlwZSl8fCIiIT09YSYmYSE9
PUppKHQpfHwoYT0hMCkpLHZvaWQgMD09PWEpe2E9RyhyLGksdCk7dmFyIHM9a28uc2hvdWxkQ29u
dmVydDtrby5zaG91bGRDb252ZXJ0PSEwLE0oYSksa28uc2hvdWxkQ29udmVydD1zfXJldHVybiBh
fWZ1bmN0aW9uIEcodCxlLG4pe2lmKGgoZSwiZGVmYXVsdCIpKXt2YXIgcj1lLmRlZmF1bHQ7cmV0
dXJuIHQmJnQuJG9wdGlvbnMucHJvcHNEYXRhJiZ2b2lkIDA9PT10LiRvcHRpb25zLnByb3BzRGF0
YVtuXSYmdm9pZCAwIT09dC5fcHJvcHNbbl0/dC5fcHJvcHNbbl06ImZ1bmN0aW9uIj09dHlwZW9m
IHImJiJGdW5jdGlvbiIhPT1aKGUudHlwZSk/ci5jYWxsKHQpOnJ9fWZ1bmN0aW9uIFoodCl7dmFy
IGU9dCYmdC50b1N0cmluZygpLm1hdGNoKC9eXHMqZnVuY3Rpb24gKFx3KykvKTtyZXR1cm4gZT9l
WzFdOiIifWZ1bmN0aW9uIFgodCxlKXtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gWihlKT09
PVoodCk7Zm9yKHZhciBuPTAscj1lLmxlbmd0aDtuPHI7bisrKWlmKFooZVtuXSk9PT1aKHQpKXJl
dHVybiEwO3JldHVybiExfWZ1bmN0aW9uIFkodCl7cmV0dXJuIG5ldyBFbyh2b2lkIDAsdm9pZCAw
LHZvaWQgMCxTdHJpbmcodCkpfWZ1bmN0aW9uIFEodCl7dmFyIGU9bmV3IEVvKHQudGFnLHQuZGF0
YSx0LmNoaWxkcmVuLHQudGV4dCx0LmVsbSx0LmNvbnRleHQsdC5jb21wb25lbnRPcHRpb25zLHQu
YXN5bmNGYWN0b3J5KTtyZXR1cm4gZS5ucz10Lm5zLGUuaXNTdGF0aWM9dC5pc1N0YXRpYyxlLmtl
eT10LmtleSxlLmlzQ29tbWVudD10LmlzQ29tbWVudCxlLmlzQ2xvbmVkPSEwLGV9ZnVuY3Rpb24g
dHQodCl7Zm9yKHZhciBlPXQubGVuZ3RoLG49bmV3IEFycmF5KGUpLHI9MDtyPGU7cisrKW5bcl09
USh0W3JdKTtyZXR1cm4gbn1mdW5jdGlvbiBldCh0KXtmdW5jdGlvbiBlKCl7dmFyIHQ9YXJndW1l
bnRzLG49ZS5mbnM7aWYoIUFycmF5LmlzQXJyYXkobikpcmV0dXJuIG4uYXBwbHkobnVsbCxhcmd1
bWVudHMpO2Zvcih2YXIgcj1uLnNsaWNlKCksaT0wO2k8ci5sZW5ndGg7aSsrKXJbaV0uYXBwbHko
bnVsbCx0KX1yZXR1cm4gZS5mbnM9dCxlfWZ1bmN0aW9uIG50KHQsZSxyLGksbyl7dmFyIGEscyxj
LHU7Zm9yKGEgaW4gdClzPXRbYV0sYz1lW2FdLHU9TW8oYSksbihzKXx8KG4oYyk/KG4ocy5mbnMp
JiYocz10W2FdPWV0KHMpKSxyKHUubmFtZSxzLHUub25jZSx1LmNhcHR1cmUsdS5wYXNzaXZlKSk6
cyE9PWMmJihjLmZucz1zLHRbYV09YykpO2ZvcihhIGluIGUpbih0W2FdKSYmKHU9TW8oYSksaSh1
Lm5hbWUsZVthXSx1LmNhcHR1cmUpKX1mdW5jdGlvbiBydCh0LGUsbyl7ZnVuY3Rpb24gYSgpe28u
YXBwbHkodGhpcyxhcmd1bWVudHMpLHYocy5mbnMsYSl9dmFyIHMsYz10W2VdO24oYyk/cz1ldChb
YV0pOnIoYy5mbnMpJiZpKGMubWVyZ2VkKT8ocz1jLHMuZm5zLnB1c2goYSkpOnM9ZXQoW2MsYV0p
LHMubWVyZ2VkPSEwLHRbZV09c31mdW5jdGlvbiBpdCh0LGUsaSl7dmFyIG89ZS5vcHRpb25zLnBy
b3BzO2lmKCFuKG8pKXt2YXIgYT17fSxzPXQuYXR0cnMsYz10LnByb3BzO2lmKHIocyl8fHIoYykp
Zm9yKHZhciB1IGluIG8pe3ZhciBsPUppKHUpO290KGEsYyx1LGwsITApfHxvdChhLHMsdSxsLCEx
KX1yZXR1cm4gYX19ZnVuY3Rpb24gb3QodCxlLG4saSxvKXtpZihyKGUpKXtpZihoKGUsbikpcmV0
dXJuIHRbbl09ZVtuXSxvfHxkZWxldGUgZVtuXSwhMDtpZihoKGUsaSkpcmV0dXJuIHRbbl09ZVtp
XSxvfHxkZWxldGUgZVtpXSwhMH1yZXR1cm4hMX1mdW5jdGlvbiBhdCh0KXtmb3IodmFyIGU9MDtl
PHQubGVuZ3RoO2UrKylpZihBcnJheS5pc0FycmF5KHRbZV0pKXJldHVybiBBcnJheS5wcm90b3R5
cGUuY29uY2F0LmFwcGx5KFtdLHQpO3JldHVybiB0fWZ1bmN0aW9uIHN0KHQpe3JldHVybiBhKHQp
P1tZKHQpXTpBcnJheS5pc0FycmF5KHQpP3V0KHQpOnZvaWQgMH1mdW5jdGlvbiBjdCh0KXtyZXR1
cm4gcih0KSYmcih0LnRleHQpJiZvKHQuaXNDb21tZW50KX1mdW5jdGlvbiB1dCh0LGUpe3ZhciBv
LHMsYyx1PVtdO2ZvcihvPTA7bzx0Lmxlbmd0aDtvKyspcz10W29dLG4ocyl8fCJib29sZWFuIj09
dHlwZW9mIHN8fChjPXVbdS5sZW5ndGgtMV0sQXJyYXkuaXNBcnJheShzKT91LnB1c2guYXBwbHko
dSx1dChzLChlfHwiIikrIl8iK28pKTphKHMpP2N0KGMpP2MudGV4dCs9U3RyaW5nKHMpOiIiIT09
cyYmdS5wdXNoKFkocykpOmN0KHMpJiZjdChjKT91W3UubGVuZ3RoLTFdPVkoYy50ZXh0K3MudGV4
dCk6KGkodC5faXNWTGlzdCkmJnIocy50YWcpJiZuKHMua2V5KSYmcihlKSYmKHMua2V5PSJfX3Zs
aXN0IitlKyJfIitvKyJfXyIpLHUucHVzaChzKSkpO3JldHVybiB1fWZ1bmN0aW9uIGx0KHQsZSl7
cmV0dXJuIHQuX19lc01vZHVsZSYmdC5kZWZhdWx0JiYodD10LmRlZmF1bHQpLHModCk/ZS5leHRl
bmQodCk6dH1mdW5jdGlvbiBmdCh0LGUsbixyLGkpe3ZhciBvPUxvKCk7cmV0dXJuIG8uYXN5bmNG
YWN0b3J5PXQsby5hc3luY01ldGE9e2RhdGE6ZSxjb250ZXh0Om4sY2hpbGRyZW46cix0YWc6aX0s
b31mdW5jdGlvbiBwdCh0LGUsbyl7aWYoaSh0LmVycm9yKSYmcih0LmVycm9yQ29tcCkpcmV0dXJu
IHQuZXJyb3JDb21wO2lmKHIodC5yZXNvbHZlZCkpcmV0dXJuIHQucmVzb2x2ZWQ7aWYoaSh0Lmxv
YWRpbmcpJiZyKHQubG9hZGluZ0NvbXApKXJldHVybiB0LmxvYWRpbmdDb21wO2lmKCFyKHQuY29u
dGV4dHMpKXt2YXIgYT10LmNvbnRleHRzPVtvXSxjPSEwLHU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9
MCxlPWEubGVuZ3RoO3Q8ZTt0KyspYVt0XS4kZm9yY2VVcGRhdGUoKX0sbD14KGZ1bmN0aW9uKG4p
e3QucmVzb2x2ZWQ9bHQobixlKSxjfHx1KCl9KSxmPXgoZnVuY3Rpb24oZSl7cih0LmVycm9yQ29t
cCkmJih0LmVycm9yPSEwLHUoKSl9KSxwPXQobCxmKTtyZXR1cm4gcyhwKSYmKCJmdW5jdGlvbiI9
PXR5cGVvZiBwLnRoZW4/bih0LnJlc29sdmVkKSYmcC50aGVuKGwsZik6cihwLmNvbXBvbmVudCkm
JiJmdW5jdGlvbiI9PXR5cGVvZiBwLmNvbXBvbmVudC50aGVuJiYocC5jb21wb25lbnQudGhlbihs
LGYpLHIocC5lcnJvcikmJih0LmVycm9yQ29tcD1sdChwLmVycm9yLGUpKSxyKHAubG9hZGluZykm
Jih0LmxvYWRpbmdDb21wPWx0KHAubG9hZGluZyxlKSwwPT09cC5kZWxheT90LmxvYWRpbmc9ITA6
c2V0VGltZW91dChmdW5jdGlvbigpe24odC5yZXNvbHZlZCkmJm4odC5lcnJvcikmJih0LmxvYWRp
bmc9ITAsdSgpKX0scC5kZWxheXx8MjAwKSkscihwLnRpbWVvdXQpJiZzZXRUaW1lb3V0KGZ1bmN0
aW9uKCl7bih0LnJlc29sdmVkKSYmZihudWxsKX0scC50aW1lb3V0KSkpLGM9ITEsdC5sb2FkaW5n
P3QubG9hZGluZ0NvbXA6dC5yZXNvbHZlZH10LmNvbnRleHRzLnB1c2gobyl9ZnVuY3Rpb24gZHQo
dCl7aWYoQXJyYXkuaXNBcnJheSh0KSlmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKyl7dmFyIG49
dFtlXTtpZihyKG4pJiZyKG4uY29tcG9uZW50T3B0aW9ucykpcmV0dXJuIG59fWZ1bmN0aW9uIHZ0
KHQpe3QuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLHQuX2hhc0hvb2tFdmVudD0hMTt2YXIg
ZT10LiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnM7ZSYmeXQodCxlKX1mdW5jdGlvbiBodCh0LGUs
bil7bj9Oby4kb25jZSh0LGUpOk5vLiRvbih0LGUpfWZ1bmN0aW9uIG10KHQsZSl7Tm8uJG9mZih0
LGUpfWZ1bmN0aW9uIHl0KHQsZSxuKXtObz10LG50KGUsbnx8e30saHQsbXQsdCl9ZnVuY3Rpb24g
Z3QodCxlKXt2YXIgbj17fTtpZighdClyZXR1cm4gbjtmb3IodmFyIHI9W10saT0wLG89dC5sZW5n
dGg7aTxvO2krKyl7dmFyIGE9dFtpXTtpZihhLmNvbnRleHQhPT1lJiZhLmZ1bmN0aW9uYWxDb250
ZXh0IT09ZXx8IWEuZGF0YXx8bnVsbD09YS5kYXRhLnNsb3Qpci5wdXNoKGEpO2Vsc2V7dmFyIHM9
YS5kYXRhLnNsb3QsYz1uW3NdfHwobltzXT1bXSk7InRlbXBsYXRlIj09PWEudGFnP2MucHVzaC5h
cHBseShjLGEuY2hpbGRyZW4pOmMucHVzaChhKX19cmV0dXJuIHIuZXZlcnkoX3QpfHwobi5kZWZh
dWx0PXIpLG59ZnVuY3Rpb24gX3QodCl7cmV0dXJuIHQuaXNDb21tZW50fHwiICI9PT10LnRleHR9
ZnVuY3Rpb24gYnQodCxlKXtlPWV8fHt9O2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKUFycmF5
LmlzQXJyYXkodFtuXSk/YnQodFtuXSxlKTplW3Rbbl0ua2V5XT10W25dLmZuO3JldHVybiBlfWZ1
bmN0aW9uIHd0KHQpe3ZhciBlPXQuJG9wdGlvbnMsbj1lLnBhcmVudDtpZihuJiYhZS5hYnN0cmFj
dCl7Zm9yKDtuLiRvcHRpb25zLmFic3RyYWN0JiZuLiRwYXJlbnQ7KW49bi4kcGFyZW50O24uJGNo
aWxkcmVuLnB1c2godCl9dC4kcGFyZW50PW4sdC4kcm9vdD1uP24uJHJvb3Q6dCx0LiRjaGlsZHJl
bj1bXSx0LiRyZWZzPXt9LHQuX3dhdGNoZXI9bnVsbCx0Ll9pbmFjdGl2ZT1udWxsLHQuX2RpcmVj
dEluYWN0aXZlPSExLHQuX2lzTW91bnRlZD0hMSx0Ll9pc0Rlc3Ryb3llZD0hMSx0Ll9pc0JlaW5n
RGVzdHJveWVkPSExfWZ1bmN0aW9uICR0KHQsZSxuKXt0LiRlbD1lLHQuJG9wdGlvbnMucmVuZGVy
fHwodC4kb3B0aW9ucy5yZW5kZXI9TG8pLE90KHQsImJlZm9yZU1vdW50Iik7dmFyIHI7cmV0dXJu
IHI9ZnVuY3Rpb24oKXt0Ll91cGRhdGUodC5fcmVuZGVyKCksbil9LHQuX3dhdGNoZXI9bmV3IFZv
KHQscix3KSxuPSExLG51bGw9PXQuJHZub2RlJiYodC5faXNNb3VudGVkPSEwLE90KHQsIm1vdW50
ZWQiKSksdH1mdW5jdGlvbiBDdCh0LGUsbixyLGkpe3ZhciBvPSEhKGl8fHQuJG9wdGlvbnMuX3Jl
bmRlckNoaWxkcmVufHxyLmRhdGEuc2NvcGVkU2xvdHN8fHQuJHNjb3BlZFNsb3RzIT09WWkpO2lm
KHQuJG9wdGlvbnMuX3BhcmVudFZub2RlPXIsdC4kdm5vZGU9cix0Ll92bm9kZSYmKHQuX3Zub2Rl
LnBhcmVudD1yKSx0LiRvcHRpb25zLl9yZW5kZXJDaGlsZHJlbj1pLHQuJGF0dHJzPXIuZGF0YSYm
ci5kYXRhLmF0dHJzLHQuJGxpc3RlbmVycz1uLGUmJnQuJG9wdGlvbnMucHJvcHMpe2tvLnNob3Vs
ZENvbnZlcnQ9ITE7Zm9yKHZhciBhPXQuX3Byb3BzLHM9dC4kb3B0aW9ucy5fcHJvcEtleXN8fFtd
LGM9MDtjPHMubGVuZ3RoO2MrKyl7dmFyIHU9c1tjXTthW3VdPVcodSx0LiRvcHRpb25zLnByb3Bz
LGUsdCl9a28uc2hvdWxkQ29udmVydD0hMCx0LiRvcHRpb25zLnByb3BzRGF0YT1lfWlmKG4pe3Zh
ciBsPXQuJG9wdGlvbnMuX3BhcmVudExpc3RlbmVyczt0LiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5l
cnM9bix5dCh0LG4sbCl9byYmKHQuJHNsb3RzPWd0KGksci5jb250ZXh0KSx0LiRmb3JjZVVwZGF0
ZSgpKX1mdW5jdGlvbiB4dCh0KXtmb3IoO3QmJih0PXQuJHBhcmVudCk7KWlmKHQuX2luYWN0aXZl
KXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIEF0KHQsZSl7aWYoZSl7aWYodC5fZGlyZWN0SW5h
Y3RpdmU9ITEseHQodCkpcmV0dXJufWVsc2UgaWYodC5fZGlyZWN0SW5hY3RpdmUpcmV0dXJuO2lm
KHQuX2luYWN0aXZlfHxudWxsPT09dC5faW5hY3RpdmUpe3QuX2luYWN0aXZlPSExO2Zvcih2YXIg
bj0wO248dC4kY2hpbGRyZW4ubGVuZ3RoO24rKylBdCh0LiRjaGlsZHJlbltuXSk7T3QodCwiYWN0
aXZhdGVkIil9fWZ1bmN0aW9uIGt0KHQsZSl7aWYoIShlJiYodC5fZGlyZWN0SW5hY3RpdmU9ITAs
eHQodCkpfHx0Ll9pbmFjdGl2ZSkpe3QuX2luYWN0aXZlPSEwO2Zvcih2YXIgbj0wO248dC4kY2hp
bGRyZW4ubGVuZ3RoO24rKylrdCh0LiRjaGlsZHJlbltuXSk7T3QodCwiZGVhY3RpdmF0ZWQiKX19
ZnVuY3Rpb24gT3QodCxlKXt2YXIgbj10LiRvcHRpb25zW2VdO2lmKG4pZm9yKHZhciByPTAsaT1u
Lmxlbmd0aDtyPGk7cisrKXRyeXtuW3JdLmNhbGwodCl9Y2F0Y2gobil7UyhuLHQsZSsiIGhvb2si
KX10Ll9oYXNIb29rRXZlbnQmJnQuJGVtaXQoImhvb2s6IitlKX1mdW5jdGlvbiBTdCgpe1VvPVBv
Lmxlbmd0aD1Sby5sZW5ndGg9MCxEbz17fSxGbz1Cbz0hMX1mdW5jdGlvbiBUdCgpe0JvPSEwO3Zh
ciB0LGU7Zm9yKFBvLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5pZC1lLmlkfSksVW89MDtV
bzxQby5sZW5ndGg7VW8rKyl0PVBvW1VvXSxlPXQuaWQsRG9bZV09bnVsbCx0LnJ1bigpO3ZhciBu
PVJvLnNsaWNlKCkscj1Qby5zbGljZSgpO1N0KCksTnQobiksRXQocikseW8mJlhpLmRldnRvb2xz
JiZ5by5lbWl0KCJmbHVzaCIpfWZ1bmN0aW9uIEV0KHQpe2Zvcih2YXIgZT10Lmxlbmd0aDtlLS07
KXt2YXIgbj10W2VdLHI9bi52bTtyLl93YXRjaGVyPT09biYmci5faXNNb3VudGVkJiZPdChyLCJ1
cGRhdGVkIil9fWZ1bmN0aW9uIGp0KHQpe3QuX2luYWN0aXZlPSExLFJvLnB1c2godCl9ZnVuY3Rp
b24gTnQodCl7Zm9yKHZhciBlPTA7ZTx0Lmxlbmd0aDtlKyspdFtlXS5faW5hY3RpdmU9ITAsQXQo
dFtlXSwhMCl9ZnVuY3Rpb24gTHQodCl7dmFyIGU9dC5pZDtpZihudWxsPT1Eb1tlXSl7aWYoRG9b
ZV09ITAsQm8pe2Zvcih2YXIgbj1Qby5sZW5ndGgtMTtuPlVvJiZQb1tuXS5pZD50LmlkOyluLS07
UG8uc3BsaWNlKG4rMSwwLHQpfWVsc2UgUG8ucHVzaCh0KTtGb3x8KEZvPSEwLF9vKFR0KSl9fWZ1
bmN0aW9uIE10KHQpe3pvLmNsZWFyKCksSXQodCx6byl9ZnVuY3Rpb24gSXQodCxlKXt2YXIgbixy
LGk9QXJyYXkuaXNBcnJheSh0KTtpZigoaXx8cyh0KSkmJk9iamVjdC5pc0V4dGVuc2libGUodCkp
e2lmKHQuX19vYl9fKXt2YXIgbz10Ll9fb2JfXy5kZXAuaWQ7aWYoZS5oYXMobykpcmV0dXJuO2Uu
YWRkKG8pfWlmKGkpZm9yKG49dC5sZW5ndGg7bi0tOylJdCh0W25dLGUpO2Vsc2UgZm9yKHI9T2Jq
ZWN0LmtleXModCksbj1yLmxlbmd0aDtuLS07KUl0KHRbcltuXV0sZSl9fWZ1bmN0aW9uIFB0KHQs
ZSxuKXtKby5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1tlXVtuXX0sSm8uc2V0PWZ1bmN0aW9u
KHQpe3RoaXNbZV1bbl09dH0sT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsbixKbyl9ZnVuY3Rpb24g
UnQodCl7dC5fd2F0Y2hlcnM9W107dmFyIGU9dC4kb3B0aW9ucztlLnByb3BzJiZEdCh0LGUucHJv
cHMpLGUubWV0aG9kcyYmenQodCxlLm1ldGhvZHMpLGUuZGF0YT9GdCh0KTpNKHQuX2RhdGE9e30s
ITApLGUuY29tcHV0ZWQmJlV0KHQsZS5jb21wdXRlZCksZS53YXRjaCYmZS53YXRjaCE9PWxvJiZK
dCh0LGUud2F0Y2gpfWZ1bmN0aW9uIER0KHQsZSl7dmFyIG49dC4kb3B0aW9ucy5wcm9wc0RhdGF8
fHt9LHI9dC5fcHJvcHM9e30saT10LiRvcHRpb25zLl9wcm9wS2V5cz1bXSxvPSF0LiRwYXJlbnQ7
a28uc2hvdWxkQ29udmVydD1vO2Zvcih2YXIgYSBpbiBlKSFmdW5jdGlvbihvKXtpLnB1c2gobyk7
dmFyIGE9VyhvLGUsbix0KTtJKHIsbyxhKSxvIGluIHR8fFB0KHQsIl9wcm9wcyIsbyl9KGEpO2tv
LnNob3VsZENvbnZlcnQ9ITB9ZnVuY3Rpb24gRnQodCl7dmFyIGU9dC4kb3B0aW9ucy5kYXRhO2U9
dC5fZGF0YT0iZnVuY3Rpb24iPT10eXBlb2YgZT9CdChlLHQpOmV8fHt9LGMoZSl8fChlPXt9KTtm
b3IodmFyIG49T2JqZWN0LmtleXMoZSkscj10LiRvcHRpb25zLnByb3BzLGk9KHQuJG9wdGlvbnMu
bWV0aG9kcyxuLmxlbmd0aCk7aS0tOyl7dmFyIG89bltpXTtyJiZoKHIsbyl8fEEobyl8fFB0KHQs
Il9kYXRhIixvKX1NKGUsITApfWZ1bmN0aW9uIEJ0KHQsZSl7dHJ5e3JldHVybiB0LmNhbGwoZSl9
Y2F0Y2godCl7cmV0dXJuIFModCxlLCJkYXRhKCkiKSx7fX19ZnVuY3Rpb24gVXQodCxlKXt2YXIg
bj10Ll9jb21wdXRlZFdhdGNoZXJzPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKHZhciByIGluIGUp
e3ZhciBpPWVbcl0sbz0iZnVuY3Rpb24iPT10eXBlb2YgaT9pOmkuZ2V0O25bcl09bmV3IFZvKHQs
b3x8dyx3LEtvKSxyIGluIHR8fEh0KHQscixpKX19ZnVuY3Rpb24gSHQodCxlLG4peyJmdW5jdGlv
biI9PXR5cGVvZiBuPyhKby5nZXQ9VnQoZSksSm8uc2V0PXcpOihKby5nZXQ9bi5nZXQ/ITEhPT1u
LmNhY2hlP1Z0KGUpOm4uZ2V0OncsSm8uc2V0PW4uc2V0P24uc2V0OncpLE9iamVjdC5kZWZpbmVQ
cm9wZXJ0eSh0LGUsSm8pfWZ1bmN0aW9uIFZ0KHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXRo
aXMuX2NvbXB1dGVkV2F0Y2hlcnMmJnRoaXMuX2NvbXB1dGVkV2F0Y2hlcnNbdF07aWYoZSlyZXR1
cm4gZS5kaXJ0eSYmZS5ldmFsdWF0ZSgpLHdvLnRhcmdldCYmZS5kZXBlbmQoKSxlLnZhbHVlfX1m
dW5jdGlvbiB6dCh0LGUpe3QuJG9wdGlvbnMucHJvcHM7Zm9yKHZhciBuIGluIGUpdFtuXT1udWxs
PT1lW25dP3c6eShlW25dLHQpfWZ1bmN0aW9uIEp0KHQsZSl7Zm9yKHZhciBuIGluIGUpe3ZhciBy
PWVbbl07aWYoQXJyYXkuaXNBcnJheShyKSlmb3IodmFyIGk9MDtpPHIubGVuZ3RoO2krKylLdCh0
LG4scltpXSk7ZWxzZSBLdCh0LG4scil9fWZ1bmN0aW9uIEt0KHQsZSxuLHIpe3JldHVybiBjKG4p
JiYocj1uLG49bi5oYW5kbGVyKSwic3RyaW5nIj09dHlwZW9mIG4mJihuPXRbbl0pLHQuJHdhdGNo
KGUsbixyKX1mdW5jdGlvbiBxdCh0KXt2YXIgZT10LiRvcHRpb25zLnByb3ZpZGU7ZSYmKHQuX3By
b3ZpZGVkPSJmdW5jdGlvbiI9PXR5cGVvZiBlP2UuY2FsbCh0KTplKX1mdW5jdGlvbiBXdCh0KXt2
YXIgZT1HdCh0LiRvcHRpb25zLmluamVjdCx0KTtlJiYoa28uc2hvdWxkQ29udmVydD0hMSxPYmpl
Y3Qua2V5cyhlKS5mb3JFYWNoKGZ1bmN0aW9uKG4pe0kodCxuLGVbbl0pfSksa28uc2hvdWxkQ29u
dmVydD0hMCl9ZnVuY3Rpb24gR3QodCxlKXtpZih0KXtmb3IodmFyIG49T2JqZWN0LmNyZWF0ZShu
dWxsKSxyPWdvP1JlZmxlY3Qub3duS2V5cyh0KTpPYmplY3Qua2V5cyh0KSxpPTA7aTxyLmxlbmd0
aDtpKyspZm9yKHZhciBvPXJbaV0sYT10W29dLHM9ZTtzOyl7aWYocy5fcHJvdmlkZWQmJmEgaW4g
cy5fcHJvdmlkZWQpe25bb109cy5fcHJvdmlkZWRbYV07YnJlYWt9cz1zLiRwYXJlbnR9cmV0dXJu
IG59fWZ1bmN0aW9uIFp0KHQsZSxuLGksbyl7dmFyIGE9e30scz10Lm9wdGlvbnMucHJvcHM7aWYo
cihzKSlmb3IodmFyIGMgaW4gcylhW2NdPVcoYyxzLGV8fHt9KTtlbHNlIHIobi5hdHRycykmJlh0
KGEsbi5hdHRycykscihuLnByb3BzKSYmWHQoYSxuLnByb3BzKTt2YXIgdT1PYmplY3QuY3JlYXRl
KGkpLGw9ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuIHJlKHUsdCxlLG4sciwhMCl9LGY9dC5vcHRp
b25zLnJlbmRlci5jYWxsKG51bGwsbCx7ZGF0YTpuLHByb3BzOmEsY2hpbGRyZW46byxwYXJlbnQ6
aSxsaXN0ZW5lcnM6bi5vbnx8e30saW5qZWN0aW9uczpHdCh0Lm9wdGlvbnMuaW5qZWN0LGkpLHNs
b3RzOmZ1bmN0aW9uKCl7cmV0dXJuIGd0KG8saSl9fSk7cmV0dXJuIGYgaW5zdGFuY2VvZiBFbyYm
KGYuZnVuY3Rpb25hbENvbnRleHQ9aSxmLmZ1bmN0aW9uYWxPcHRpb25zPXQub3B0aW9ucyxuLnNs
b3QmJigoZi5kYXRhfHwoZi5kYXRhPXt9KSkuc2xvdD1uLnNsb3QpKSxmfWZ1bmN0aW9uIFh0KHQs
ZSl7Zm9yKHZhciBuIGluIGUpdFtIaShuKV09ZVtuXX1mdW5jdGlvbiBZdCh0LGUsbyxhLGMpe2lm
KCFuKHQpKXt2YXIgdT1vLiRvcHRpb25zLl9iYXNlO2lmKHModCkmJih0PXUuZXh0ZW5kKHQpKSwi
ZnVuY3Rpb24iPT10eXBlb2YgdCl7dmFyIGw7aWYobih0LmNpZCkmJihsPXQsdm9pZCAwPT09KHQ9
cHQobCx1LG8pKSkpcmV0dXJuIGZ0KGwsZSxvLGEsYyk7ZT1lfHx7fSxnZSh0KSxyKGUubW9kZWwp
JiZuZSh0Lm9wdGlvbnMsZSk7dmFyIGY9aXQoZSx0LGMpO2lmKGkodC5vcHRpb25zLmZ1bmN0aW9u
YWwpKXJldHVybiBadCh0LGYsZSxvLGEpO3ZhciBwPWUub247aWYoZS5vbj1lLm5hdGl2ZU9uLGko
dC5vcHRpb25zLmFic3RyYWN0KSl7dmFyIGQ9ZS5zbG90O2U9e30sZCYmKGUuc2xvdD1kKX10ZShl
KTt2YXIgdj10Lm9wdGlvbnMubmFtZXx8YztyZXR1cm4gbmV3IEVvKCJ2dWUtY29tcG9uZW50LSIr
dC5jaWQrKHY/Ii0iK3Y6IiIpLGUsdm9pZCAwLHZvaWQgMCx2b2lkIDAsbyx7Q3Rvcjp0LHByb3Bz
RGF0YTpmLGxpc3RlbmVyczpwLHRhZzpjLGNoaWxkcmVuOmF9LGwpfX19ZnVuY3Rpb24gUXQodCxl
LG4saSl7dmFyIG89dC5jb21wb25lbnRPcHRpb25zLGE9e19pc0NvbXBvbmVudDohMCxwYXJlbnQ6
ZSxwcm9wc0RhdGE6by5wcm9wc0RhdGEsX2NvbXBvbmVudFRhZzpvLnRhZyxfcGFyZW50Vm5vZGU6
dCxfcGFyZW50TGlzdGVuZXJzOm8ubGlzdGVuZXJzLF9yZW5kZXJDaGlsZHJlbjpvLmNoaWxkcmVu
LF9wYXJlbnRFbG06bnx8bnVsbCxfcmVmRWxtOml8fG51bGx9LHM9dC5kYXRhLmlubGluZVRlbXBs
YXRlO3JldHVybiByKHMpJiYoYS5yZW5kZXI9cy5yZW5kZXIsYS5zdGF0aWNSZW5kZXJGbnM9cy5z
dGF0aWNSZW5kZXJGbnMpLG5ldyBvLkN0b3IoYSl9ZnVuY3Rpb24gdGUodCl7dC5ob29rfHwodC5o
b29rPXt9KTtmb3IodmFyIGU9MDtlPFdvLmxlbmd0aDtlKyspe3ZhciBuPVdvW2VdLHI9dC5ob29r
W25dLGk9cW9bbl07dC5ob29rW25dPXI/ZWUoaSxyKTppfX1mdW5jdGlvbiBlZSh0LGUpe3JldHVy
biBmdW5jdGlvbihuLHIsaSxvKXt0KG4scixpLG8pLGUobixyLGksbyl9fWZ1bmN0aW9uIG5lKHQs
ZSl7dmFyIG49dC5tb2RlbCYmdC5tb2RlbC5wcm9wfHwidmFsdWUiLGk9dC5tb2RlbCYmdC5tb2Rl
bC5ldmVudHx8ImlucHV0IjsoZS5wcm9wc3x8KGUucHJvcHM9e30pKVtuXT1lLm1vZGVsLnZhbHVl
O3ZhciBvPWUub258fChlLm9uPXt9KTtyKG9baV0pP29baV09W2UubW9kZWwuY2FsbGJhY2tdLmNv
bmNhdChvW2ldKTpvW2ldPWUubW9kZWwuY2FsbGJhY2t9ZnVuY3Rpb24gcmUodCxlLG4scixvLHMp
e3JldHVybihBcnJheS5pc0FycmF5KG4pfHxhKG4pKSYmKG89cixyPW4sbj12b2lkIDApLGkocykm
JihvPVpvKSxpZSh0LGUsbixyLG8pfWZ1bmN0aW9uIGllKHQsZSxuLGksbyl7aWYocihuKSYmcihu
Ll9fb2JfXykpcmV0dXJuIExvKCk7aWYocihuKSYmcihuLmlzKSYmKGU9bi5pcyksIWUpcmV0dXJu
IExvKCk7QXJyYXkuaXNBcnJheShpKSYmImZ1bmN0aW9uIj09dHlwZW9mIGlbMF0mJihuPW58fHt9
LG4uc2NvcGVkU2xvdHM9e2RlZmF1bHQ6aVswXX0saS5sZW5ndGg9MCksbz09PVpvP2k9c3QoaSk6
bz09PUdvJiYoaT1hdChpKSk7dmFyIGEscztpZigic3RyaW5nIj09dHlwZW9mIGUpe3ZhciBjO3M9
WGkuZ2V0VGFnTmFtZXNwYWNlKGUpLGE9WGkuaXNSZXNlcnZlZFRhZyhlKT9uZXcgRW8oWGkucGFy
c2VQbGF0Zm9ybVRhZ05hbWUoZSksbixpLHZvaWQgMCx2b2lkIDAsdCk6cihjPXEodC4kb3B0aW9u
cywiY29tcG9uZW50cyIsZSkpP1l0KGMsbix0LGksZSk6bmV3IEVvKGUsbixpLHZvaWQgMCx2b2lk
IDAsdCl9ZWxzZSBhPVl0KGUsbix0LGkpO3JldHVybiByKGEpPyhzJiZvZShhLHMpLGEpOkxvKCl9
ZnVuY3Rpb24gb2UodCxlKXtpZih0Lm5zPWUsImZvcmVpZ25PYmplY3QiIT09dC50YWcmJnIodC5j
aGlsZHJlbikpZm9yKHZhciBpPTAsbz10LmNoaWxkcmVuLmxlbmd0aDtpPG87aSsrKXt2YXIgYT10
LmNoaWxkcmVuW2ldO3IoYS50YWcpJiZuKGEubnMpJiZvZShhLGUpfX1mdW5jdGlvbiBhZSh0LGUp
e3ZhciBuLGksbyxhLGM7aWYoQXJyYXkuaXNBcnJheSh0KXx8InN0cmluZyI9PXR5cGVvZiB0KWZv
cihuPW5ldyBBcnJheSh0Lmxlbmd0aCksaT0wLG89dC5sZW5ndGg7aTxvO2krKyluW2ldPWUodFtp
XSxpKTtlbHNlIGlmKCJudW1iZXIiPT10eXBlb2YgdClmb3Iobj1uZXcgQXJyYXkodCksaT0wO2k8
dDtpKyspbltpXT1lKGkrMSxpKTtlbHNlIGlmKHModCkpZm9yKGE9T2JqZWN0LmtleXModCksbj1u
ZXcgQXJyYXkoYS5sZW5ndGgpLGk9MCxvPWEubGVuZ3RoO2k8bztpKyspYz1hW2ldLG5baV09ZSh0
W2NdLGMsaSk7cmV0dXJuIHIobikmJihuLl9pc1ZMaXN0PSEwKSxufWZ1bmN0aW9uIHNlKHQsZSxu
LHIpe3ZhciBpPXRoaXMuJHNjb3BlZFNsb3RzW3RdO2lmKGkpcmV0dXJuIG49bnx8e30sciYmKG49
XyhfKHt9LHIpLG4pKSxpKG4pfHxlO3ZhciBvPXRoaXMuJHNsb3RzW3RdO3JldHVybiBvfHxlfWZ1
bmN0aW9uIGNlKHQpe3JldHVybiBxKHRoaXMuJG9wdGlvbnMsImZpbHRlcnMiLHQsITApfHxxaX1m
dW5jdGlvbiB1ZSh0LGUsbil7dmFyIHI9WGkua2V5Q29kZXNbZV18fG47cmV0dXJuIEFycmF5Lmlz
QXJyYXkocik/LTE9PT1yLmluZGV4T2YodCk6ciE9PXR9ZnVuY3Rpb24gbGUodCxlLG4scixpKXtp
ZihuKWlmKHMobikpe0FycmF5LmlzQXJyYXkobikmJihuPWIobikpO3ZhciBvO2Zvcih2YXIgYSBp
biBuKSFmdW5jdGlvbihhKXtpZigiY2xhc3MiPT09YXx8InN0eWxlIj09PWF8fEZpKGEpKW89dDtl
bHNle3ZhciBzPXQuYXR0cnMmJnQuYXR0cnMudHlwZTtvPXJ8fFhpLm11c3RVc2VQcm9wKGUscyxh
KT90LmRvbVByb3BzfHwodC5kb21Qcm9wcz17fSk6dC5hdHRyc3x8KHQuYXR0cnM9e30pfWlmKCEo
YSBpbiBvKSYmKG9bYV09blthXSxpKSl7KHQub258fCh0Lm9uPXt9KSlbInVwZGF0ZToiK2FdPWZ1
bmN0aW9uKHQpe25bYV09dH19fShhKX1lbHNlO3JldHVybiB0fWZ1bmN0aW9uIGZlKHQsZSl7dmFy
IG49dGhpcy5fc3RhdGljVHJlZXNbdF07cmV0dXJuIG4mJiFlP0FycmF5LmlzQXJyYXkobik/dHQo
bik6UShuKToobj10aGlzLl9zdGF0aWNUcmVlc1t0XT10aGlzLiRvcHRpb25zLnN0YXRpY1JlbmRl
ckZuc1t0XS5jYWxsKHRoaXMuX3JlbmRlclByb3h5KSxkZShuLCJfX3N0YXRpY19fIit0LCExKSxu
KX1mdW5jdGlvbiBwZSh0LGUsbil7cmV0dXJuIGRlKHQsIl9fb25jZV9fIitlKyhuPyJfIituOiIi
KSwhMCksdH1mdW5jdGlvbiBkZSh0LGUsbil7aWYoQXJyYXkuaXNBcnJheSh0KSlmb3IodmFyIHI9
MDtyPHQubGVuZ3RoO3IrKyl0W3JdJiYic3RyaW5nIiE9dHlwZW9mIHRbcl0mJnZlKHRbcl0sZSsi
XyIrcixuKTtlbHNlIHZlKHQsZSxuKX1mdW5jdGlvbiB2ZSh0LGUsbil7dC5pc1N0YXRpYz0hMCx0
LmtleT1lLHQuaXNPbmNlPW59ZnVuY3Rpb24gaGUodCxlKXtpZihlKWlmKGMoZSkpe3ZhciBuPXQu
b249dC5vbj9fKHt9LHQub24pOnt9O2Zvcih2YXIgciBpbiBlKXt2YXIgaT1uW3JdLG89ZVtyXTtu
W3JdPWk/W10uY29uY2F0KG8saSk6b319ZWxzZTtyZXR1cm4gdH1mdW5jdGlvbiBtZSh0KXt0Ll92
bm9kZT1udWxsLHQuX3N0YXRpY1RyZWVzPW51bGw7dmFyIGU9dC4kdm5vZGU9dC4kb3B0aW9ucy5f
cGFyZW50Vm5vZGUsbj1lJiZlLmNvbnRleHQ7dC4kc2xvdHM9Z3QodC4kb3B0aW9ucy5fcmVuZGVy
Q2hpbGRyZW4sbiksdC4kc2NvcGVkU2xvdHM9WWksdC5fYz1mdW5jdGlvbihlLG4scixpKXtyZXR1
cm4gcmUodCxlLG4scixpLCExKX0sdC4kY3JlYXRlRWxlbWVudD1mdW5jdGlvbihlLG4scixpKXty
ZXR1cm4gcmUodCxlLG4scixpLCEwKX07dmFyIHI9ZSYmZS5kYXRhO0kodCwiJGF0dHJzIixyJiZy
LmF0dHJzLG51bGwsITApLEkodCwiJGxpc3RlbmVycyIsdC4kb3B0aW9ucy5fcGFyZW50TGlzdGVu
ZXJzLG51bGwsITApfWZ1bmN0aW9uIHllKHQsZSl7dmFyIG49dC4kb3B0aW9ucz1PYmplY3QuY3Jl
YXRlKHQuY29uc3RydWN0b3Iub3B0aW9ucyk7bi5wYXJlbnQ9ZS5wYXJlbnQsbi5wcm9wc0RhdGE9
ZS5wcm9wc0RhdGEsbi5fcGFyZW50Vm5vZGU9ZS5fcGFyZW50Vm5vZGUsbi5fcGFyZW50TGlzdGVu
ZXJzPWUuX3BhcmVudExpc3RlbmVycyxuLl9yZW5kZXJDaGlsZHJlbj1lLl9yZW5kZXJDaGlsZHJl
bixuLl9jb21wb25lbnRUYWc9ZS5fY29tcG9uZW50VGFnLG4uX3BhcmVudEVsbT1lLl9wYXJlbnRF
bG0sbi5fcmVmRWxtPWUuX3JlZkVsbSxlLnJlbmRlciYmKG4ucmVuZGVyPWUucmVuZGVyLG4uc3Rh
dGljUmVuZGVyRm5zPWUuc3RhdGljUmVuZGVyRm5zKX1mdW5jdGlvbiBnZSh0KXt2YXIgZT10Lm9w
dGlvbnM7aWYodC5zdXBlcil7dmFyIG49Z2UodC5zdXBlcik7aWYobiE9PXQuc3VwZXJPcHRpb25z
KXt0LnN1cGVyT3B0aW9ucz1uO3ZhciByPV9lKHQpO3ImJl8odC5leHRlbmRPcHRpb25zLHIpLGU9
dC5vcHRpb25zPUsobix0LmV4dGVuZE9wdGlvbnMpLGUubmFtZSYmKGUuY29tcG9uZW50c1tlLm5h
bWVdPXQpfX1yZXR1cm4gZX1mdW5jdGlvbiBfZSh0KXt2YXIgZSxuPXQub3B0aW9ucyxyPXQuZXh0
ZW5kT3B0aW9ucyxpPXQuc2VhbGVkT3B0aW9ucztmb3IodmFyIG8gaW4gbiluW29dIT09aVtvXSYm
KGV8fChlPXt9KSxlW29dPWJlKG5bb10scltvXSxpW29dKSk7cmV0dXJuIGV9ZnVuY3Rpb24gYmUo
dCxlLG4pe2lmKEFycmF5LmlzQXJyYXkodCkpe3ZhciByPVtdO249QXJyYXkuaXNBcnJheShuKT9u
OltuXSxlPUFycmF5LmlzQXJyYXkoZSk/ZTpbZV07Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKysp
KGUuaW5kZXhPZih0W2ldKT49MHx8bi5pbmRleE9mKHRbaV0pPDApJiZyLnB1c2godFtpXSk7cmV0
dXJuIHJ9cmV0dXJuIHR9ZnVuY3Rpb24gd2UodCl7dGhpcy5faW5pdCh0KX1mdW5jdGlvbiAkZSh0
KXt0LnVzZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9pbnN0YWxsZWRQbHVnaW5zfHwodGhpcy5f
aW5zdGFsbGVkUGx1Z2lucz1bXSk7aWYoZS5pbmRleE9mKHQpPi0xKXJldHVybiB0aGlzO3ZhciBu
PWcoYXJndW1lbnRzLDEpO3JldHVybiBuLnVuc2hpZnQodGhpcyksImZ1bmN0aW9uIj09dHlwZW9m
IHQuaW5zdGFsbD90Lmluc3RhbGwuYXBwbHkodCxuKToiZnVuY3Rpb24iPT10eXBlb2YgdCYmdC5h
cHBseShudWxsLG4pLGUucHVzaCh0KSx0aGlzfX1mdW5jdGlvbiBDZSh0KXt0Lm1peGluPWZ1bmN0
aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnM9Syh0aGlzLm9wdGlvbnMsdCksdGhpc319ZnVuY3Rp
b24geGUodCl7dC5jaWQ9MDt2YXIgZT0xO3QuZXh0ZW5kPWZ1bmN0aW9uKHQpe3Q9dHx8e307dmFy
IG49dGhpcyxyPW4uY2lkLGk9dC5fQ3Rvcnx8KHQuX0N0b3I9e30pO2lmKGlbcl0pcmV0dXJuIGlb
cl07dmFyIG89dC5uYW1lfHxuLm9wdGlvbnMubmFtZSxhPWZ1bmN0aW9uKHQpe3RoaXMuX2luaXQo
dCl9O3JldHVybiBhLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG4ucHJvdG90eXBlKSxhLnByb3Rv
dHlwZS5jb25zdHJ1Y3Rvcj1hLGEuY2lkPWUrKyxhLm9wdGlvbnM9SyhuLm9wdGlvbnMsdCksYS5z
dXBlcj1uLGEub3B0aW9ucy5wcm9wcyYmQWUoYSksYS5vcHRpb25zLmNvbXB1dGVkJiZrZShhKSxh
LmV4dGVuZD1uLmV4dGVuZCxhLm1peGluPW4ubWl4aW4sYS51c2U9bi51c2UsR2kuZm9yRWFjaChm
dW5jdGlvbih0KXthW3RdPW5bdF19KSxvJiYoYS5vcHRpb25zLmNvbXBvbmVudHNbb109YSksYS5z
dXBlck9wdGlvbnM9bi5vcHRpb25zLGEuZXh0ZW5kT3B0aW9ucz10LGEuc2VhbGVkT3B0aW9ucz1f
KHt9LGEub3B0aW9ucyksaVtyXT1hLGF9fWZ1bmN0aW9uIEFlKHQpe3ZhciBlPXQub3B0aW9ucy5w
cm9wcztmb3IodmFyIG4gaW4gZSlQdCh0LnByb3RvdHlwZSwiX3Byb3BzIixuKX1mdW5jdGlvbiBr
ZSh0KXt2YXIgZT10Lm9wdGlvbnMuY29tcHV0ZWQ7Zm9yKHZhciBuIGluIGUpSHQodC5wcm90b3R5
cGUsbixlW25dKX1mdW5jdGlvbiBPZSh0KXtHaS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3RbZV09ZnVu
Y3Rpb24odCxuKXtyZXR1cm4gbj8oImNvbXBvbmVudCI9PT1lJiZjKG4pJiYobi5uYW1lPW4ubmFt
ZXx8dCxuPXRoaXMub3B0aW9ucy5fYmFzZS5leHRlbmQobikpLCJkaXJlY3RpdmUiPT09ZSYmImZ1
bmN0aW9uIj09dHlwZW9mIG4mJihuPXtiaW5kOm4sdXBkYXRlOm59KSx0aGlzLm9wdGlvbnNbZSsi
cyJdW3RdPW4sbik6dGhpcy5vcHRpb25zW2UrInMiXVt0XX19KX1mdW5jdGlvbiBTZSh0KXtyZXR1
cm4gdCYmKHQuQ3Rvci5vcHRpb25zLm5hbWV8fHQudGFnKX1mdW5jdGlvbiBUZSh0LGUpe3JldHVy
biBBcnJheS5pc0FycmF5KHQpP3QuaW5kZXhPZihlKT4tMToic3RyaW5nIj09dHlwZW9mIHQ/dC5z
cGxpdCgiLCIpLmluZGV4T2YoZSk+LTE6ISF1KHQpJiZ0LnRlc3QoZSl9ZnVuY3Rpb24gRWUodCxl
LG4pe2Zvcih2YXIgciBpbiB0KXt2YXIgaT10W3JdO2lmKGkpe3ZhciBvPVNlKGkuY29tcG9uZW50
T3B0aW9ucyk7byYmIW4obykmJihpIT09ZSYmamUoaSksdFtyXT1udWxsKX19fWZ1bmN0aW9uIGpl
KHQpe3QmJnQuY29tcG9uZW50SW5zdGFuY2UuJGRlc3Ryb3koKX1mdW5jdGlvbiBOZSh0KXtmb3Io
dmFyIGU9dC5kYXRhLG49dCxpPXQ7cihpLmNvbXBvbmVudEluc3RhbmNlKTspaT1pLmNvbXBvbmVu
dEluc3RhbmNlLl92bm9kZSxpLmRhdGEmJihlPUxlKGkuZGF0YSxlKSk7Zm9yKDtyKG49bi5wYXJl
bnQpOyluLmRhdGEmJihlPUxlKGUsbi5kYXRhKSk7cmV0dXJuIE1lKGUuc3RhdGljQ2xhc3MsZS5j
bGFzcyl9ZnVuY3Rpb24gTGUodCxlKXtyZXR1cm57c3RhdGljQ2xhc3M6SWUodC5zdGF0aWNDbGFz
cyxlLnN0YXRpY0NsYXNzKSxjbGFzczpyKHQuY2xhc3MpP1t0LmNsYXNzLGUuY2xhc3NdOmUuY2xh
c3N9fWZ1bmN0aW9uIE1lKHQsZSl7cmV0dXJuIHIodCl8fHIoZSk/SWUodCxQZShlKSk6IiJ9ZnVu
Y3Rpb24gSWUodCxlKXtyZXR1cm4gdD9lP3QrIiAiK2U6dDplfHwiIn1mdW5jdGlvbiBQZSh0KXty
ZXR1cm4gQXJyYXkuaXNBcnJheSh0KT9SZSh0KTpzKHQpP0RlKHQpOiJzdHJpbmciPT10eXBlb2Yg
dD90OiIifWZ1bmN0aW9uIFJlKHQpe2Zvcih2YXIgZSxuPSIiLGk9MCxvPXQubGVuZ3RoO2k8bztp
KyspcihlPVBlKHRbaV0pKSYmIiIhPT1lJiYobiYmKG4rPSIgIiksbis9ZSk7cmV0dXJuIG59ZnVu
Y3Rpb24gRGUodCl7dmFyIGU9IiI7Zm9yKHZhciBuIGluIHQpdFtuXSYmKGUmJihlKz0iICIpLGUr
PW4pO3JldHVybiBlfWZ1bmN0aW9uIEZlKHQpe3JldHVybiB3YSh0KT8ic3ZnIjoibWF0aCI9PT10
PyJtYXRoIjp2b2lkIDB9ZnVuY3Rpb24gQmUodCl7aWYoIW5vKXJldHVybiEwO2lmKENhKHQpKXJl
dHVybiExO2lmKHQ9dC50b0xvd2VyQ2FzZSgpLG51bGwhPXhhW3RdKXJldHVybiB4YVt0XTt2YXIg
ZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHQpO3JldHVybiB0LmluZGV4T2YoIi0iKT4tMT94YVt0
XT1lLmNvbnN0cnVjdG9yPT09d2luZG93LkhUTUxVbmtub3duRWxlbWVudHx8ZS5jb25zdHJ1Y3Rv
cj09PXdpbmRvdy5IVE1MRWxlbWVudDp4YVt0XT0vSFRNTFVua25vd25FbGVtZW50Ly50ZXN0KGUu
dG9TdHJpbmcoKSl9ZnVuY3Rpb24gVWUodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXt2YXIgZT1k
b2N1bWVudC5xdWVyeVNlbGVjdG9yKHQpO3JldHVybiBlfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKX1yZXR1cm4gdH1mdW5jdGlvbiBIZSh0LGUpe3ZhciBuPWRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodCk7cmV0dXJuInNlbGVjdCIhPT10P246KGUuZGF0YSYmZS5kYXRhLmF0dHJzJiZ2b2lk
IDAhPT1lLmRhdGEuYXR0cnMubXVsdGlwbGUmJm4uc2V0QXR0cmlidXRlKCJtdWx0aXBsZSIsIm11
bHRpcGxlIiksbil9ZnVuY3Rpb24gVmUodCxlKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dE5TKF9hW3RdLGUpfWZ1bmN0aW9uIHplKHQpe3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9k
ZSh0KX1mdW5jdGlvbiBKZSh0KXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudCh0KX1mdW5j
dGlvbiBLZSh0LGUsbil7dC5pbnNlcnRCZWZvcmUoZSxuKX1mdW5jdGlvbiBxZSh0LGUpe3QucmVt
b3ZlQ2hpbGQoZSl9ZnVuY3Rpb24gV2UodCxlKXt0LmFwcGVuZENoaWxkKGUpfWZ1bmN0aW9uIEdl
KHQpe3JldHVybiB0LnBhcmVudE5vZGV9ZnVuY3Rpb24gWmUodCl7cmV0dXJuIHQubmV4dFNpYmxp
bmd9ZnVuY3Rpb24gWGUodCl7cmV0dXJuIHQudGFnTmFtZX1mdW5jdGlvbiBZZSh0LGUpe3QudGV4
dENvbnRlbnQ9ZX1mdW5jdGlvbiBRZSh0LGUsbil7dC5zZXRBdHRyaWJ1dGUoZSxuKX1mdW5jdGlv
biB0bih0LGUpe3ZhciBuPXQuZGF0YS5yZWY7aWYobil7dmFyIHI9dC5jb250ZXh0LGk9dC5jb21w
b25lbnRJbnN0YW5jZXx8dC5lbG0sbz1yLiRyZWZzO2U/QXJyYXkuaXNBcnJheShvW25dKT92KG9b
bl0saSk6b1tuXT09PWkmJihvW25dPXZvaWQgMCk6dC5kYXRhLnJlZkluRm9yP0FycmF5LmlzQXJy
YXkob1tuXSk/b1tuXS5pbmRleE9mKGkpPDAmJm9bbl0ucHVzaChpKTpvW25dPVtpXTpvW25dPWl9
fWZ1bmN0aW9uIGVuKHQsZSl7cmV0dXJuIHQua2V5PT09ZS5rZXkmJih0LnRhZz09PWUudGFnJiZ0
LmlzQ29tbWVudD09PWUuaXNDb21tZW50JiZyKHQuZGF0YSk9PT1yKGUuZGF0YSkmJm5uKHQsZSl8
fGkodC5pc0FzeW5jUGxhY2Vob2xkZXIpJiZ0LmFzeW5jRmFjdG9yeT09PWUuYXN5bmNGYWN0b3J5
JiZuKGUuYXN5bmNGYWN0b3J5LmVycm9yKSl9ZnVuY3Rpb24gbm4odCxlKXtpZigiaW5wdXQiIT09
dC50YWcpcmV0dXJuITA7dmFyIG47cmV0dXJuKHIobj10LmRhdGEpJiZyKG49bi5hdHRycykmJm4u
dHlwZSk9PT0ocihuPWUuZGF0YSkmJnIobj1uLmF0dHJzKSYmbi50eXBlKX1mdW5jdGlvbiBybih0
LGUsbil7dmFyIGksbyxhPXt9O2ZvcihpPWU7aTw9bjsrK2kpbz10W2ldLmtleSxyKG8pJiYoYVtv
XT1pKTtyZXR1cm4gYX1mdW5jdGlvbiBvbih0LGUpeyh0LmRhdGEuZGlyZWN0aXZlc3x8ZS5kYXRh
LmRpcmVjdGl2ZXMpJiZhbih0LGUpfWZ1bmN0aW9uIGFuKHQsZSl7dmFyIG4scixpLG89dD09PU9h
LGE9ZT09PU9hLHM9c24odC5kYXRhLmRpcmVjdGl2ZXMsdC5jb250ZXh0KSxjPXNuKGUuZGF0YS5k
aXJlY3RpdmVzLGUuY29udGV4dCksdT1bXSxsPVtdO2ZvcihuIGluIGMpcj1zW25dLGk9Y1tuXSxy
PyhpLm9sZFZhbHVlPXIudmFsdWUsdW4oaSwidXBkYXRlIixlLHQpLGkuZGVmJiZpLmRlZi5jb21w
b25lbnRVcGRhdGVkJiZsLnB1c2goaSkpOih1bihpLCJiaW5kIixlLHQpLGkuZGVmJiZpLmRlZi5p
bnNlcnRlZCYmdS5wdXNoKGkpKTtpZih1Lmxlbmd0aCl7dmFyIGY9ZnVuY3Rpb24oKXtmb3IodmFy
IG49MDtuPHUubGVuZ3RoO24rKyl1bih1W25dLCJpbnNlcnRlZCIsZSx0KX07bz9ydChlLmRhdGEu
aG9va3x8KGUuZGF0YS5ob29rPXt9KSwiaW5zZXJ0IixmKTpmKCl9aWYobC5sZW5ndGgmJnJ0KGUu
ZGF0YS5ob29rfHwoZS5kYXRhLmhvb2s9e30pLCJwb3N0cGF0Y2giLGZ1bmN0aW9uKCl7Zm9yKHZh
ciBuPTA7bjxsLmxlbmd0aDtuKyspdW4obFtuXSwiY29tcG9uZW50VXBkYXRlZCIsZSx0KX0pLCFv
KWZvcihuIGluIHMpY1tuXXx8dW4oc1tuXSwidW5iaW5kIix0LHQsYSl9ZnVuY3Rpb24gc24odCxl
KXt2YXIgbj1PYmplY3QuY3JlYXRlKG51bGwpO2lmKCF0KXJldHVybiBuO3ZhciByLGk7Zm9yKHI9
MDtyPHQubGVuZ3RoO3IrKylpPXRbcl0saS5tb2RpZmllcnN8fChpLm1vZGlmaWVycz1FYSksbltj
bihpKV09aSxpLmRlZj1xKGUuJG9wdGlvbnMsImRpcmVjdGl2ZXMiLGkubmFtZSwhMCk7cmV0dXJu
IG59ZnVuY3Rpb24gY24odCl7cmV0dXJuIHQucmF3TmFtZXx8dC5uYW1lKyIuIitPYmplY3Qua2V5
cyh0Lm1vZGlmaWVyc3x8e30pLmpvaW4oIi4iKX1mdW5jdGlvbiB1bih0LGUsbixyLGkpe3ZhciBv
PXQuZGVmJiZ0LmRlZltlXTtpZihvKXRyeXtvKG4uZWxtLHQsbixyLGkpfWNhdGNoKHIpe1Mocixu
LmNvbnRleHQsImRpcmVjdGl2ZSAiK3QubmFtZSsiICIrZSsiIGhvb2siKX19ZnVuY3Rpb24gbG4o
dCxlKXt2YXIgaT1lLmNvbXBvbmVudE9wdGlvbnM7aWYoIShyKGkpJiYhMT09PWkuQ3Rvci5vcHRp
b25zLmluaGVyaXRBdHRyc3x8bih0LmRhdGEuYXR0cnMpJiZuKGUuZGF0YS5hdHRycykpKXt2YXIg
byxhLHM9ZS5lbG0sYz10LmRhdGEuYXR0cnN8fHt9LHU9ZS5kYXRhLmF0dHJzfHx7fTtyKHUuX19v
Yl9fKSYmKHU9ZS5kYXRhLmF0dHJzPV8oe30sdSkpO2ZvcihvIGluIHUpYT11W29dLGNbb10hPT1h
JiZmbihzLG8sYSk7b28mJnUudmFsdWUhPT1jLnZhbHVlJiZmbihzLCJ2YWx1ZSIsdS52YWx1ZSk7
Zm9yKG8gaW4gYyluKHVbb10pJiYobWEobyk/cy5yZW1vdmVBdHRyaWJ1dGVOUyhoYSx5YShvKSk6
ZGEobyl8fHMucmVtb3ZlQXR0cmlidXRlKG8pKX19ZnVuY3Rpb24gZm4odCxlLG4pe3ZhKGUpP2dh
KG4pP3QucmVtb3ZlQXR0cmlidXRlKGUpOnQuc2V0QXR0cmlidXRlKGUsZSk6ZGEoZSk/dC5zZXRB
dHRyaWJ1dGUoZSxnYShuKXx8ImZhbHNlIj09PW4/ImZhbHNlIjoidHJ1ZSIpOm1hKGUpP2dhKG4p
P3QucmVtb3ZlQXR0cmlidXRlTlMoaGEseWEoZSkpOnQuc2V0QXR0cmlidXRlTlMoaGEsZSxuKTpn
YShuKT90LnJlbW92ZUF0dHJpYnV0ZShlKTp0LnNldEF0dHJpYnV0ZShlLG4pfWZ1bmN0aW9uIHBu
KHQsZSl7dmFyIGk9ZS5lbG0sbz1lLmRhdGEsYT10LmRhdGE7aWYoIShuKG8uc3RhdGljQ2xhc3Mp
JiZuKG8uY2xhc3MpJiYobihhKXx8bihhLnN0YXRpY0NsYXNzKSYmbihhLmNsYXNzKSkpKXt2YXIg
cz1OZShlKSxjPWkuX3RyYW5zaXRpb25DbGFzc2VzO3IoYykmJihzPUllKHMsUGUoYykpKSxzIT09
aS5fcHJldkNsYXNzJiYoaS5zZXRBdHRyaWJ1dGUoImNsYXNzIixzKSxpLl9wcmV2Q2xhc3M9cyl9
fWZ1bmN0aW9uIGRuKHQpe2Z1bmN0aW9uIGUoKXsoYXx8KGE9W10pKS5wdXNoKHQuc2xpY2Uodixp
KS50cmltKCkpLHY9aSsxfXZhciBuLHIsaSxvLGEscz0hMSxjPSExLHU9ITEsbD0hMSxmPTAscD0w
LGQ9MCx2PTA7Zm9yKGk9MDtpPHQubGVuZ3RoO2krKylpZihyPW4sbj10LmNoYXJDb2RlQXQoaSks
cykzOT09PW4mJjkyIT09ciYmKHM9ITEpO2Vsc2UgaWYoYykzND09PW4mJjkyIT09ciYmKGM9ITEp
O2Vsc2UgaWYodSk5Nj09PW4mJjkyIT09ciYmKHU9ITEpO2Vsc2UgaWYobCk0Nz09PW4mJjkyIT09
ciYmKGw9ITEpO2Vsc2UgaWYoMTI0IT09bnx8MTI0PT09dC5jaGFyQ29kZUF0KGkrMSl8fDEyND09
PXQuY2hhckNvZGVBdChpLTEpfHxmfHxwfHxkKXtzd2l0Y2gobil7Y2FzZSAzNDpjPSEwO2JyZWFr
O2Nhc2UgMzk6cz0hMDticmVhaztjYXNlIDk2OnU9ITA7YnJlYWs7Y2FzZSA0MDpkKys7YnJlYWs7
Y2FzZSA0MTpkLS07YnJlYWs7Y2FzZSA5MTpwKys7YnJlYWs7Y2FzZSA5MzpwLS07YnJlYWs7Y2Fz
ZSAxMjM6ZisrO2JyZWFrO2Nhc2UgMTI1OmYtLX1pZig0Nz09PW4pe2Zvcih2YXIgaD1pLTEsbT12
b2lkIDA7aD49MCYmIiAiPT09KG09dC5jaGFyQXQoaCkpO2gtLSk7bSYmTWEudGVzdChtKXx8KGw9
ITApfX1lbHNlIHZvaWQgMD09PW8/KHY9aSsxLG89dC5zbGljZSgwLGkpLnRyaW0oKSk6ZSgpO2lm
KHZvaWQgMD09PW8/bz10LnNsaWNlKDAsaSkudHJpbSgpOjAhPT12JiZlKCksYSlmb3IoaT0wO2k8
YS5sZW5ndGg7aSsrKW89dm4obyxhW2ldKTtyZXR1cm4gb31mdW5jdGlvbiB2bih0LGUpe3ZhciBu
PWUuaW5kZXhPZigiKCIpO3JldHVybiBuPDA/J19mKCInK2UrJyIpKCcrdCsiKSI6J19mKCInK2Uu
c2xpY2UoMCxuKSsnIikoJyt0KyIsIitlLnNsaWNlKG4rMSl9ZnVuY3Rpb24gaG4odCl7Y29uc29s
ZS5lcnJvcigiW1Z1ZSBjb21waWxlcl06ICIrdCl9ZnVuY3Rpb24gbW4odCxlKXtyZXR1cm4gdD90
Lm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdFtlXX0pLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4g
dH0pOltdfWZ1bmN0aW9uIHluKHQsZSxuKXsodC5wcm9wc3x8KHQucHJvcHM9W10pKS5wdXNoKHtu
YW1lOmUsdmFsdWU6bn0pfWZ1bmN0aW9uIGduKHQsZSxuKXsodC5hdHRyc3x8KHQuYXR0cnM9W10p
KS5wdXNoKHtuYW1lOmUsdmFsdWU6bn0pfWZ1bmN0aW9uIF9uKHQsZSxuLHIsaSxvKXsodC5kaXJl
Y3RpdmVzfHwodC5kaXJlY3RpdmVzPVtdKSkucHVzaCh7bmFtZTplLHJhd05hbWU6bix2YWx1ZTpy
LGFyZzppLG1vZGlmaWVyczpvfSl9ZnVuY3Rpb24gYm4odCxlLG4scixpLG8pe3ImJnIuY2FwdHVy
ZSYmKGRlbGV0ZSByLmNhcHR1cmUsZT0iISIrZSksciYmci5vbmNlJiYoZGVsZXRlIHIub25jZSxl
PSJ+IitlKSxyJiZyLnBhc3NpdmUmJihkZWxldGUgci5wYXNzaXZlLGU9IiYiK2UpO3ZhciBhO3Im
JnIubmF0aXZlPyhkZWxldGUgci5uYXRpdmUsYT10Lm5hdGl2ZUV2ZW50c3x8KHQubmF0aXZlRXZl
bnRzPXt9KSk6YT10LmV2ZW50c3x8KHQuZXZlbnRzPXt9KTt2YXIgcz17dmFsdWU6bixtb2RpZmll
cnM6cn0sYz1hW2VdO0FycmF5LmlzQXJyYXkoYyk/aT9jLnVuc2hpZnQocyk6Yy5wdXNoKHMpOmFb
ZV09Yz9pP1tzLGNdOltjLHNdOnN9ZnVuY3Rpb24gd24odCxlLG4pe3ZhciByPSRuKHQsIjoiK2Up
fHwkbih0LCJ2LWJpbmQ6IitlKTtpZihudWxsIT1yKXJldHVybiBkbihyKTtpZighMSE9PW4pe3Zh
ciBpPSRuKHQsZSk7aWYobnVsbCE9aSlyZXR1cm4gSlNPTi5zdHJpbmdpZnkoaSl9fWZ1bmN0aW9u
ICRuKHQsZSl7dmFyIG47aWYobnVsbCE9KG49dC5hdHRyc01hcFtlXSkpZm9yKHZhciByPXQuYXR0
cnNMaXN0LGk9MCxvPXIubGVuZ3RoO2k8bztpKyspaWYocltpXS5uYW1lPT09ZSl7ci5zcGxpY2Uo
aSwxKTticmVha31yZXR1cm4gbn1mdW5jdGlvbiBDbih0LGUsbil7dmFyIHI9bnx8e30saT1yLm51
bWJlcixvPXIudHJpbSxhPSIkJHYiO28mJihhPSIodHlwZW9mICQkdiA9PT0gJ3N0cmluZyc/ICQk
di50cmltKCk6ICQkdikiKSxpJiYoYT0iX24oIithKyIpIik7dmFyIHM9eG4oZSxhKTt0Lm1vZGVs
PXt2YWx1ZToiKCIrZSsiKSIsZXhwcmVzc2lvbjonIicrZSsnIicsY2FsbGJhY2s6ImZ1bmN0aW9u
ICgkJHYpIHsiK3MrIn0ifX1mdW5jdGlvbiB4bih0LGUpe3ZhciBuPUFuKHQpO3JldHVybiBudWxs
PT09bi5pZHg/dCsiPSIrZToiJHNldCgiK24uZXhwKyIsICIrbi5pZHgrIiwgIitlKyIpIn1mdW5j
dGlvbiBBbih0KXtpZihuYT10LGVhPW5hLmxlbmd0aCxpYT1vYT1hYT0wLHQuaW5kZXhPZigiWyIp
PDB8fHQubGFzdEluZGV4T2YoIl0iKTxlYS0xKXJldHVybntleHA6dCxpZHg6bnVsbH07Zm9yKDsh
T24oKTspcmE9a24oKSxTbihyYSk/RW4ocmEpOjkxPT09cmEmJlRuKHJhKTtyZXR1cm57ZXhwOnQu
c3Vic3RyaW5nKDAsb2EpLGlkeDp0LnN1YnN0cmluZyhvYSsxLGFhKX19ZnVuY3Rpb24ga24oKXty
ZXR1cm4gbmEuY2hhckNvZGVBdCgrK2lhKX1mdW5jdGlvbiBPbigpe3JldHVybiBpYT49ZWF9ZnVu
Y3Rpb24gU24odCl7cmV0dXJuIDM0PT09dHx8Mzk9PT10fWZ1bmN0aW9uIFRuKHQpe3ZhciBlPTE7
Zm9yKG9hPWlhOyFPbigpOylpZih0PWtuKCksU24odCkpRW4odCk7ZWxzZSBpZig5MT09PXQmJmUr
Kyw5Mz09PXQmJmUtLSwwPT09ZSl7YWE9aWE7YnJlYWt9fWZ1bmN0aW9uIEVuKHQpe2Zvcih2YXIg
ZT10OyFPbigpJiYodD1rbigpKSE9PWU7KTt9ZnVuY3Rpb24gam4odCxlLG4pe3NhPW47dmFyIHI9
ZS52YWx1ZSxpPWUubW9kaWZpZXJzLG89dC50YWcsYT10LmF0dHJzTWFwLnR5cGU7aWYodC5jb21w
b25lbnQpcmV0dXJuIENuKHQscixpKSwhMTtpZigic2VsZWN0Ij09PW8pTW4odCxyLGkpO2Vsc2Ug
aWYoImlucHV0Ij09PW8mJiJjaGVja2JveCI9PT1hKU5uKHQscixpKTtlbHNlIGlmKCJpbnB1dCI9
PT1vJiYicmFkaW8iPT09YSlMbih0LHIsaSk7ZWxzZSBpZigiaW5wdXQiPT09b3x8InRleHRhcmVh
Ij09PW8pSW4odCxyLGkpO2Vsc2UgaWYoIVhpLmlzUmVzZXJ2ZWRUYWcobykpcmV0dXJuIENuKHQs
cixpKSwhMTtyZXR1cm4hMH1mdW5jdGlvbiBObih0LGUsbil7dmFyIHI9biYmbi5udW1iZXIsaT13
bih0LCJ2YWx1ZSIpfHwibnVsbCIsbz13bih0LCJ0cnVlLXZhbHVlIil8fCJ0cnVlIixhPXduKHQs
ImZhbHNlLXZhbHVlIil8fCJmYWxzZSI7eW4odCwiY2hlY2tlZCIsIkFycmF5LmlzQXJyYXkoIitl
KyIpP19pKCIrZSsiLCIraSsiKT4tMSIrKCJ0cnVlIj09PW8/IjooIitlKyIpIjoiOl9xKCIrZSsi
LCIrbysiKSIpKSxibih0LFBhLCJ2YXIgJCRhPSIrZSsiLCQkZWw9JGV2ZW50LnRhcmdldCwkJGM9
JCRlbC5jaGVja2VkPygiK28rIik6KCIrYSsiKTtpZihBcnJheS5pc0FycmF5KCQkYSkpe3ZhciAk
JHY9Iisocj8iX24oIitpKyIpIjppKSsiLCQkaT1faSgkJGEsJCR2KTtpZigkJGVsLmNoZWNrZWQp
eyQkaTwwJiYoIitlKyI9JCRhLmNvbmNhdCgkJHYpKX1lbHNleyQkaT4tMSYmKCIrZSsiPSQkYS5z
bGljZSgwLCQkaSkuY29uY2F0KCQkYS5zbGljZSgkJGkrMSkpKX19ZWxzZXsiK3huKGUsIiQkYyIp
KyJ9IixudWxsLCEwKX1mdW5jdGlvbiBMbih0LGUsbil7dmFyIHI9biYmbi5udW1iZXIsaT13bih0
LCJ2YWx1ZSIpfHwibnVsbCI7aT1yPyJfbigiK2krIikiOmkseW4odCwiY2hlY2tlZCIsIl9xKCIr
ZSsiLCIraSsiKSIpLGJuKHQsUGEseG4oZSxpKSxudWxsLCEwKX1mdW5jdGlvbiBNbih0LGUsbil7
dmFyIHI9biYmbi5udW1iZXIsaT0nQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKCRldmVudC50
YXJnZXQub3B0aW9ucyxmdW5jdGlvbihvKXtyZXR1cm4gby5zZWxlY3RlZH0pLm1hcChmdW5jdGlv
bihvKXt2YXIgdmFsID0gIl92YWx1ZSIgaW4gbyA/IG8uX3ZhbHVlIDogby52YWx1ZTtyZXR1cm4g
Jysocj8iX24odmFsKSI6InZhbCIpKyJ9KSIsbz0idmFyICQkc2VsZWN0ZWRWYWwgPSAiK2krIjsi
O289bysiICIreG4oZSwiJGV2ZW50LnRhcmdldC5tdWx0aXBsZSA/ICQkc2VsZWN0ZWRWYWwgOiAk
JHNlbGVjdGVkVmFsWzBdIiksYm4odCwiY2hhbmdlIixvLG51bGwsITApfWZ1bmN0aW9uIEluKHQs
ZSxuKXt2YXIgcj10LmF0dHJzTWFwLnR5cGUsaT1ufHx7fSxvPWkubGF6eSxhPWkubnVtYmVyLHM9
aS50cmltLGM9IW8mJiJyYW5nZSIhPT1yLHU9bz8iY2hhbmdlIjoicmFuZ2UiPT09cj9JYToiaW5w
dXQiLGw9IiRldmVudC50YXJnZXQudmFsdWUiO3MmJihsPSIkZXZlbnQudGFyZ2V0LnZhbHVlLnRy
aW0oKSIpLGEmJihsPSJfbigiK2wrIikiKTt2YXIgZj14bihlLGwpO2MmJihmPSJpZigkZXZlbnQu
dGFyZ2V0LmNvbXBvc2luZylyZXR1cm47IitmKSx5bih0LCJ2YWx1ZSIsIigiK2UrIikiKSxibih0
LHUsZixudWxsLCEwKSwoc3x8YSkmJmJuKHQsImJsdXIiLCIkZm9yY2VVcGRhdGUoKSIpfWZ1bmN0
aW9uIFBuKHQpe3ZhciBlO3IodFtJYV0pJiYoZT1pbz8iY2hhbmdlIjoiaW5wdXQiLHRbZV09W10u
Y29uY2F0KHRbSWFdLHRbZV18fFtdKSxkZWxldGUgdFtJYV0pLHIodFtQYV0pJiYoZT11bz8iY2xp
Y2siOiJjaGFuZ2UiLHRbZV09W10uY29uY2F0KHRbUGFdLHRbZV18fFtdKSxkZWxldGUgdFtQYV0p
fWZ1bmN0aW9uIFJuKHQsZSxuLHIsaSl7aWYobil7dmFyIG89ZSxhPWNhO2U9ZnVuY3Rpb24obil7
bnVsbCE9PSgxPT09YXJndW1lbnRzLmxlbmd0aD9vKG4pOm8uYXBwbHkobnVsbCxhcmd1bWVudHMp
KSYmRG4odCxlLHIsYSl9fWNhLmFkZEV2ZW50TGlzdGVuZXIodCxlLGZvP3tjYXB0dXJlOnIscGFz
c2l2ZTppfTpyKX1mdW5jdGlvbiBEbih0LGUsbixyKXsocnx8Y2EpLnJlbW92ZUV2ZW50TGlzdGVu
ZXIodCxlLG4pfWZ1bmN0aW9uIEZuKHQsZSl7aWYoIW4odC5kYXRhLm9uKXx8IW4oZS5kYXRhLm9u
KSl7dmFyIHI9ZS5kYXRhLm9ufHx7fSxpPXQuZGF0YS5vbnx8e307Y2E9ZS5lbG0sUG4ociksbnQo
cixpLFJuLERuLGUuY29udGV4dCl9fWZ1bmN0aW9uIEJuKHQsZSl7aWYoIW4odC5kYXRhLmRvbVBy
b3BzKXx8IW4oZS5kYXRhLmRvbVByb3BzKSl7dmFyIGksbyxhPWUuZWxtLHM9dC5kYXRhLmRvbVBy
b3BzfHx7fSxjPWUuZGF0YS5kb21Qcm9wc3x8e307cihjLl9fb2JfXykmJihjPWUuZGF0YS5kb21Q
cm9wcz1fKHt9LGMpKTtmb3IoaSBpbiBzKW4oY1tpXSkmJihhW2ldPSIiKTtmb3IoaSBpbiBjKWlm
KG89Y1tpXSwidGV4dENvbnRlbnQiIT09aSYmImlubmVySFRNTCIhPT1pfHwoZS5jaGlsZHJlbiYm
KGUuY2hpbGRyZW4ubGVuZ3RoPTApLG8hPT1zW2ldKSlpZigidmFsdWUiPT09aSl7YS5fdmFsdWU9
bzt2YXIgdT1uKG8pPyIiOlN0cmluZyhvKTtVbihhLGUsdSkmJihhLnZhbHVlPXUpfWVsc2UgYVtp
XT1vfX1mdW5jdGlvbiBVbih0LGUsbil7cmV0dXJuIXQuY29tcG9zaW5nJiYoIm9wdGlvbiI9PT1l
LnRhZ3x8SG4odCxuKXx8Vm4odCxuKSl9ZnVuY3Rpb24gSG4odCxlKXt2YXIgbj0hMDt0cnl7bj1k
b2N1bWVudC5hY3RpdmVFbGVtZW50IT09dH1jYXRjaCh0KXt9cmV0dXJuIG4mJnQudmFsdWUhPT1l
fWZ1bmN0aW9uIFZuKHQsZSl7dmFyIG49dC52YWx1ZSxpPXQuX3ZNb2RpZmllcnM7cmV0dXJuIHIo
aSkmJmkubnVtYmVyP3AobikhPT1wKGUpOnIoaSkmJmkudHJpbT9uLnRyaW0oKSE9PWUudHJpbSgp
Om4hPT1lfWZ1bmN0aW9uIHpuKHQpe3ZhciBlPUpuKHQuc3R5bGUpO3JldHVybiB0LnN0YXRpY1N0
eWxlP18odC5zdGF0aWNTdHlsZSxlKTplfWZ1bmN0aW9uIEpuKHQpe3JldHVybiBBcnJheS5pc0Fy
cmF5KHQpP2IodCk6InN0cmluZyI9PXR5cGVvZiB0P0ZhKHQpOnR9ZnVuY3Rpb24gS24odCxlKXt2
YXIgbixyPXt9O2lmKGUpZm9yKHZhciBpPXQ7aS5jb21wb25lbnRJbnN0YW5jZTspaT1pLmNvbXBv
bmVudEluc3RhbmNlLl92bm9kZSxpLmRhdGEmJihuPXpuKGkuZGF0YSkpJiZfKHIsbik7KG49em4o
dC5kYXRhKSkmJl8ocixuKTtmb3IodmFyIG89dDtvPW8ucGFyZW50OylvLmRhdGEmJihuPXpuKG8u
ZGF0YSkpJiZfKHIsbik7cmV0dXJuIHJ9ZnVuY3Rpb24gcW4odCxlKXt2YXIgaT1lLmRhdGEsbz10
LmRhdGE7aWYoIShuKGkuc3RhdGljU3R5bGUpJiZuKGkuc3R5bGUpJiZuKG8uc3RhdGljU3R5bGUp
JiZuKG8uc3R5bGUpKSl7dmFyIGEscyxjPWUuZWxtLHU9by5zdGF0aWNTdHlsZSxsPW8ubm9ybWFs
aXplZFN0eWxlfHxvLnN0eWxlfHx7fSxmPXV8fGwscD1KbihlLmRhdGEuc3R5bGUpfHx7fTtlLmRh
dGEubm9ybWFsaXplZFN0eWxlPXIocC5fX29iX18pP18oe30scCk6cDt2YXIgZD1LbihlLCEwKTtm
b3IocyBpbiBmKW4oZFtzXSkmJkhhKGMscywiIik7Zm9yKHMgaW4gZCkoYT1kW3NdKSE9PWZbc10m
JkhhKGMscyxudWxsPT1hPyIiOmEpfX1mdW5jdGlvbiBXbih0LGUpe2lmKGUmJihlPWUudHJpbSgp
KSlpZih0LmNsYXNzTGlzdCllLmluZGV4T2YoIiAiKT4tMT9lLnNwbGl0KC9ccysvKS5mb3JFYWNo
KGZ1bmN0aW9uKGUpe3JldHVybiB0LmNsYXNzTGlzdC5hZGQoZSl9KTp0LmNsYXNzTGlzdC5hZGQo
ZSk7ZWxzZXt2YXIgbj0iICIrKHQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIikrIiAiO24uaW5k
ZXhPZigiICIrZSsiICIpPDAmJnQuc2V0QXR0cmlidXRlKCJjbGFzcyIsKG4rZSkudHJpbSgpKX19
ZnVuY3Rpb24gR24odCxlKXtpZihlJiYoZT1lLnRyaW0oKSkpaWYodC5jbGFzc0xpc3QpZS5pbmRl
eE9mKCIgIik+LTE/ZS5zcGxpdCgvXHMrLykuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gdC5j
bGFzc0xpc3QucmVtb3ZlKGUpfSk6dC5jbGFzc0xpc3QucmVtb3ZlKGUpLHQuY2xhc3NMaXN0Lmxl
bmd0aHx8dC5yZW1vdmVBdHRyaWJ1dGUoImNsYXNzIik7ZWxzZXtmb3IodmFyIG49IiAiKyh0Lmdl
dEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIpKyIgIixyPSIgIitlKyIgIjtuLmluZGV4T2Yocik+PTA7
KW49bi5yZXBsYWNlKHIsIiAiKTtuPW4udHJpbSgpLG4/dC5zZXRBdHRyaWJ1dGUoImNsYXNzIixu
KTp0LnJlbW92ZUF0dHJpYnV0ZSgiY2xhc3MiKX19ZnVuY3Rpb24gWm4odCl7aWYodCl7aWYoIm9i
amVjdCI9PXR5cGVvZiB0KXt2YXIgZT17fTtyZXR1cm4hMSE9PXQuY3NzJiZfKGUsS2EodC5uYW1l
fHwidiIpKSxfKGUsdCksZX1yZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/S2EodCk6dm9pZCAwfX1m
dW5jdGlvbiBYbih0KXt0cyhmdW5jdGlvbigpe3RzKHQpfSl9ZnVuY3Rpb24gWW4odCxlKXt2YXIg
bj10Ll90cmFuc2l0aW9uQ2xhc3Nlc3x8KHQuX3RyYW5zaXRpb25DbGFzc2VzPVtdKTtuLmluZGV4
T2YoZSk8MCYmKG4ucHVzaChlKSxXbih0LGUpKX1mdW5jdGlvbiBRbih0LGUpe3QuX3RyYW5zaXRp
b25DbGFzc2VzJiZ2KHQuX3RyYW5zaXRpb25DbGFzc2VzLGUpLEduKHQsZSl9ZnVuY3Rpb24gdHIo
dCxlLG4pe3ZhciByPWVyKHQsZSksaT1yLnR5cGUsbz1yLnRpbWVvdXQsYT1yLnByb3BDb3VudDtp
ZighaSlyZXR1cm4gbigpO3ZhciBzPWk9PT1XYT9YYTpRYSxjPTAsdT1mdW5jdGlvbigpe3QucmVt
b3ZlRXZlbnRMaXN0ZW5lcihzLGwpLG4oKX0sbD1mdW5jdGlvbihlKXtlLnRhcmdldD09PXQmJisr
Yz49YSYmdSgpfTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YzxhJiZ1KCl9LG8rMSksdC5hZGRFdmVu
dExpc3RlbmVyKHMsbCl9ZnVuY3Rpb24gZXIodCxlKXt2YXIgbixyPXdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKHQpLGk9cltaYSsiRGVsYXkiXS5zcGxpdCgiLCAiKSxvPXJbWmErIkR1cmF0aW9uIl0u
c3BsaXQoIiwgIiksYT1ucihpLG8pLHM9cltZYSsiRGVsYXkiXS5zcGxpdCgiLCAiKSxjPXJbWWEr
IkR1cmF0aW9uIl0uc3BsaXQoIiwgIiksdT1ucihzLGMpLGw9MCxmPTA7cmV0dXJuIGU9PT1XYT9h
PjAmJihuPVdhLGw9YSxmPW8ubGVuZ3RoKTplPT09R2E/dT4wJiYobj1HYSxsPXUsZj1jLmxlbmd0
aCk6KGw9TWF0aC5tYXgoYSx1KSxuPWw+MD9hPnU/V2E6R2E6bnVsbCxmPW4/bj09PVdhP28ubGVu
Z3RoOmMubGVuZ3RoOjApLHt0eXBlOm4sdGltZW91dDpsLHByb3BDb3VudDpmLGhhc1RyYW5zZm9y
bTpuPT09V2EmJmVzLnRlc3QocltaYSsiUHJvcGVydHkiXSl9fWZ1bmN0aW9uIG5yKHQsZSl7Zm9y
KDt0Lmxlbmd0aDxlLmxlbmd0aDspdD10LmNvbmNhdCh0KTtyZXR1cm4gTWF0aC5tYXguYXBwbHko
bnVsbCxlLm1hcChmdW5jdGlvbihlLG4pe3JldHVybiBycihlKStycih0W25dKX0pKX1mdW5jdGlv
biBycih0KXtyZXR1cm4gMWUzKk51bWJlcih0LnNsaWNlKDAsLTEpKX1mdW5jdGlvbiBpcih0LGUp
e3ZhciBpPXQuZWxtO3IoaS5fbGVhdmVDYikmJihpLl9sZWF2ZUNiLmNhbmNlbGxlZD0hMCxpLl9s
ZWF2ZUNiKCkpO3ZhciBvPVpuKHQuZGF0YS50cmFuc2l0aW9uKTtpZighbihvKSYmIXIoaS5fZW50
ZXJDYikmJjE9PT1pLm5vZGVUeXBlKXtmb3IodmFyIGE9by5jc3MsYz1vLnR5cGUsdT1vLmVudGVy
Q2xhc3MsbD1vLmVudGVyVG9DbGFzcyxmPW8uZW50ZXJBY3RpdmVDbGFzcyxkPW8uYXBwZWFyQ2xh
c3Msdj1vLmFwcGVhclRvQ2xhc3MsaD1vLmFwcGVhckFjdGl2ZUNsYXNzLG09by5iZWZvcmVFbnRl
cix5PW8uZW50ZXIsZz1vLmFmdGVyRW50ZXIsXz1vLmVudGVyQ2FuY2VsbGVkLGI9by5iZWZvcmVB
cHBlYXIsdz1vLmFwcGVhciwkPW8uYWZ0ZXJBcHBlYXIsQz1vLmFwcGVhckNhbmNlbGxlZCxBPW8u
ZHVyYXRpb24saz1JbyxPPUlvLiR2bm9kZTtPJiZPLnBhcmVudDspTz1PLnBhcmVudCxrPU8uY29u
dGV4dDt2YXIgUz0hay5faXNNb3VudGVkfHwhdC5pc1Jvb3RJbnNlcnQ7aWYoIVN8fHd8fCIiPT09
dyl7dmFyIFQ9UyYmZD9kOnUsRT1TJiZoP2g6ZixqPVMmJnY/djpsLE49Uz9ifHxtOm0sTD1TJiYi
ZnVuY3Rpb24iPT10eXBlb2Ygdz93OnksTT1TPyR8fGc6ZyxJPVM/Q3x8XzpfLFA9cChzKEEpP0Eu
ZW50ZXI6QSksUj0hMSE9PWEmJiFvbyxEPXNyKEwpLEY9aS5fZW50ZXJDYj14KGZ1bmN0aW9uKCl7
UiYmKFFuKGksaiksUW4oaSxFKSksRi5jYW5jZWxsZWQ/KFImJlFuKGksVCksSSYmSShpKSk6TSYm
TShpKSxpLl9lbnRlckNiPW51bGx9KTt0LmRhdGEuc2hvd3x8cnQodC5kYXRhLmhvb2t8fCh0LmRh
dGEuaG9vaz17fSksImluc2VydCIsZnVuY3Rpb24oKXt2YXIgZT1pLnBhcmVudE5vZGUsbj1lJiZl
Ll9wZW5kaW5nJiZlLl9wZW5kaW5nW3Qua2V5XTtuJiZuLnRhZz09PXQudGFnJiZuLmVsbS5fbGVh
dmVDYiYmbi5lbG0uX2xlYXZlQ2IoKSxMJiZMKGksRil9KSxOJiZOKGkpLFImJihZbihpLFQpLFlu
KGksRSksWG4oZnVuY3Rpb24oKXtZbihpLGopLFFuKGksVCksRi5jYW5jZWxsZWR8fER8fChhcihQ
KT9zZXRUaW1lb3V0KEYsUCk6dHIoaSxjLEYpKX0pKSx0LmRhdGEuc2hvdyYmKGUmJmUoKSxMJiZM
KGksRikpLFJ8fER8fEYoKX19fWZ1bmN0aW9uIG9yKHQsZSl7ZnVuY3Rpb24gaSgpe0MuY2FuY2Vs
bGVkfHwodC5kYXRhLnNob3d8fCgoby5wYXJlbnROb2RlLl9wZW5kaW5nfHwoby5wYXJlbnROb2Rl
Ll9wZW5kaW5nPXt9KSlbdC5rZXldPXQpLHYmJnYobyksYiYmKFluKG8sbCksWW4obyxkKSxYbihm
dW5jdGlvbigpe1luKG8sZiksUW4obyxsKSxDLmNhbmNlbGxlZHx8d3x8KGFyKCQpP3NldFRpbWVv
dXQoQywkKTp0cihvLHUsQykpfSkpLGgmJmgobyxDKSxifHx3fHxDKCkpfXZhciBvPXQuZWxtO3Io
by5fZW50ZXJDYikmJihvLl9lbnRlckNiLmNhbmNlbGxlZD0hMCxvLl9lbnRlckNiKCkpO3ZhciBh
PVpuKHQuZGF0YS50cmFuc2l0aW9uKTtpZihuKGEpKXJldHVybiBlKCk7aWYoIXIoby5fbGVhdmVD
YikmJjE9PT1vLm5vZGVUeXBlKXt2YXIgYz1hLmNzcyx1PWEudHlwZSxsPWEubGVhdmVDbGFzcyxm
PWEubGVhdmVUb0NsYXNzLGQ9YS5sZWF2ZUFjdGl2ZUNsYXNzLHY9YS5iZWZvcmVMZWF2ZSxoPWEu
bGVhdmUsbT1hLmFmdGVyTGVhdmUseT1hLmxlYXZlQ2FuY2VsbGVkLGc9YS5kZWxheUxlYXZlLF89
YS5kdXJhdGlvbixiPSExIT09YyYmIW9vLHc9c3IoaCksJD1wKHMoXyk/Xy5sZWF2ZTpfKSxDPW8u
X2xlYXZlQ2I9eChmdW5jdGlvbigpe28ucGFyZW50Tm9kZSYmby5wYXJlbnROb2RlLl9wZW5kaW5n
JiYoby5wYXJlbnROb2RlLl9wZW5kaW5nW3Qua2V5XT1udWxsKSxiJiYoUW4obyxmKSxRbihvLGQp
KSxDLmNhbmNlbGxlZD8oYiYmUW4obyxsKSx5JiZ5KG8pKTooZSgpLG0mJm0obykpLG8uX2xlYXZl
Q2I9bnVsbH0pO2c/ZyhpKTppKCl9fWZ1bmN0aW9uIGFyKHQpe3JldHVybiJudW1iZXIiPT10eXBl
b2YgdCYmIWlzTmFOKHQpfWZ1bmN0aW9uIHNyKHQpe2lmKG4odCkpcmV0dXJuITE7dmFyIGU9dC5m
bnM7cmV0dXJuIHIoZSk/c3IoQXJyYXkuaXNBcnJheShlKT9lWzBdOmUpOih0Ll9sZW5ndGh8fHQu
bGVuZ3RoKT4xfWZ1bmN0aW9uIGNyKHQsZSl7ITAhPT1lLmRhdGEuc2hvdyYmaXIoZSl9ZnVuY3Rp
b24gdXIodCxlLG4pe3ZhciByPWUudmFsdWUsaT10Lm11bHRpcGxlO2lmKCFpfHxBcnJheS5pc0Fy
cmF5KHIpKXtmb3IodmFyIG8sYSxzPTAsYz10Lm9wdGlvbnMubGVuZ3RoO3M8YztzKyspaWYoYT10
Lm9wdGlvbnNbc10saSlvPUMocixscihhKSk+LTEsYS5zZWxlY3RlZCE9PW8mJihhLnNlbGVjdGVk
PW8pO2Vsc2UgaWYoJChscihhKSxyKSlyZXR1cm4gdm9pZCh0LnNlbGVjdGVkSW5kZXghPT1zJiYo
dC5zZWxlY3RlZEluZGV4PXMpKTtpfHwodC5zZWxlY3RlZEluZGV4PS0xKX19ZnVuY3Rpb24gbHIo
dCl7cmV0dXJuIl92YWx1ZSJpbiB0P3QuX3ZhbHVlOnQudmFsdWV9ZnVuY3Rpb24gZnIodCl7dC50
YXJnZXQuY29tcG9zaW5nPSEwfWZ1bmN0aW9uIHByKHQpe3QudGFyZ2V0LmNvbXBvc2luZyYmKHQu
dGFyZ2V0LmNvbXBvc2luZz0hMSxkcih0LnRhcmdldCwiaW5wdXQiKSl9ZnVuY3Rpb24gZHIodCxl
KXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFdmVudCgiSFRNTEV2ZW50cyIpO24uaW5pdEV2ZW50KGUs
ITAsITApLHQuZGlzcGF0Y2hFdmVudChuKX1mdW5jdGlvbiB2cih0KXtyZXR1cm4hdC5jb21wb25l
bnRJbnN0YW5jZXx8dC5kYXRhJiZ0LmRhdGEudHJhbnNpdGlvbj90OnZyKHQuY29tcG9uZW50SW5z
dGFuY2UuX3Zub2RlKX1mdW5jdGlvbiBocih0KXt2YXIgZT10JiZ0LmNvbXBvbmVudE9wdGlvbnM7
cmV0dXJuIGUmJmUuQ3Rvci5vcHRpb25zLmFic3RyYWN0P2hyKGR0KGUuY2hpbGRyZW4pKTp0fWZ1
bmN0aW9uIG1yKHQpe3ZhciBlPXt9LG49dC4kb3B0aW9ucztmb3IodmFyIHIgaW4gbi5wcm9wc0Rh
dGEpZVtyXT10W3JdO3ZhciBpPW4uX3BhcmVudExpc3RlbmVycztmb3IodmFyIG8gaW4gaSllW0hp
KG8pXT1pW29dO3JldHVybiBlfWZ1bmN0aW9uIHlyKHQsZSl7aWYoL1xkLWtlZXAtYWxpdmUkLy50
ZXN0KGUudGFnKSlyZXR1cm4gdCgia2VlcC1hbGl2ZSIse3Byb3BzOmUuY29tcG9uZW50T3B0aW9u
cy5wcm9wc0RhdGF9KX1mdW5jdGlvbiBncih0KXtmb3IoO3Q9dC5wYXJlbnQ7KWlmKHQuZGF0YS50
cmFuc2l0aW9uKXJldHVybiEwfWZ1bmN0aW9uIF9yKHQsZSl7cmV0dXJuIGUua2V5PT09dC5rZXkm
JmUudGFnPT09dC50YWd9ZnVuY3Rpb24gYnIodCl7cmV0dXJuIHQuaXNDb21tZW50JiZ0LmFzeW5j
RmFjdG9yeX1mdW5jdGlvbiB3cih0KXt0LmVsbS5fbW92ZUNiJiZ0LmVsbS5fbW92ZUNiKCksdC5l
bG0uX2VudGVyQ2ImJnQuZWxtLl9lbnRlckNiKCl9ZnVuY3Rpb24gJHIodCl7dC5kYXRhLm5ld1Bv
cz10LmVsbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1mdW5jdGlvbiBDcih0KXt2YXIgZT10LmRh
dGEucG9zLG49dC5kYXRhLm5ld1BvcyxyPWUubGVmdC1uLmxlZnQsaT1lLnRvcC1uLnRvcDtpZihy
fHxpKXt0LmRhdGEubW92ZWQ9ITA7dmFyIG89dC5lbG0uc3R5bGU7by50cmFuc2Zvcm09by5XZWJr
aXRUcmFuc2Zvcm09InRyYW5zbGF0ZSgiK3IrInB4LCIraSsicHgpIixvLnRyYW5zaXRpb25EdXJh
dGlvbj0iMHMifX1mdW5jdGlvbiB4cih0LGUpe3ZhciBuPWU/X3MoZSk6eXM7aWYobi50ZXN0KHQp
KXtmb3IodmFyIHIsaSxvPVtdLGE9bi5sYXN0SW5kZXg9MDtyPW4uZXhlYyh0KTspe2k9ci5pbmRl
eCxpPmEmJm8ucHVzaChKU09OLnN0cmluZ2lmeSh0LnNsaWNlKGEsaSkpKTt2YXIgcz1kbihyWzFd
LnRyaW0oKSk7by5wdXNoKCJfcygiK3MrIikiKSxhPWkrclswXS5sZW5ndGh9cmV0dXJuIGE8dC5s
ZW5ndGgmJm8ucHVzaChKU09OLnN0cmluZ2lmeSh0LnNsaWNlKGEpKSksby5qb2luKCIrIil9fWZ1
bmN0aW9uIEFyKHQsZSl7dmFyIG49KGUud2Fybiwkbih0LCJjbGFzcyIpKTtuJiYodC5zdGF0aWND
bGFzcz1KU09OLnN0cmluZ2lmeShuKSk7dmFyIHI9d24odCwiY2xhc3MiLCExKTtyJiYodC5jbGFz
c0JpbmRpbmc9cil9ZnVuY3Rpb24ga3IodCl7dmFyIGU9IiI7cmV0dXJuIHQuc3RhdGljQ2xhc3Mm
JihlKz0ic3RhdGljQ2xhc3M6Iit0LnN0YXRpY0NsYXNzKyIsIiksdC5jbGFzc0JpbmRpbmcmJihl
Kz0iY2xhc3M6Iit0LmNsYXNzQmluZGluZysiLCIpLGV9ZnVuY3Rpb24gT3IodCxlKXt2YXIgbj0o
ZS53YXJuLCRuKHQsInN0eWxlIikpO2lmKG4pe3Quc3RhdGljU3R5bGU9SlNPTi5zdHJpbmdpZnko
RmEobikpfXZhciByPXduKHQsInN0eWxlIiwhMSk7ciYmKHQuc3R5bGVCaW5kaW5nPXIpfWZ1bmN0
aW9uIFNyKHQpe3ZhciBlPSIiO3JldHVybiB0LnN0YXRpY1N0eWxlJiYoZSs9InN0YXRpY1N0eWxl
OiIrdC5zdGF0aWNTdHlsZSsiLCIpLHQuc3R5bGVCaW5kaW5nJiYoZSs9InN0eWxlOigiK3Quc3R5
bGVCaW5kaW5nKyIpLCIpLGV9ZnVuY3Rpb24gVHIodCxlKXtlLnZhbHVlJiZ5bih0LCJ0ZXh0Q29u
dGVudCIsIl9zKCIrZS52YWx1ZSsiKSIpfWZ1bmN0aW9uIEVyKHQsZSl7ZS52YWx1ZSYmeW4odCwi
aW5uZXJIVE1MIiwiX3MoIitlLnZhbHVlKyIpIil9ZnVuY3Rpb24ganIodCxlKXt2YXIgbj1lP25j
OmVjO3JldHVybiB0LnJlcGxhY2UobixmdW5jdGlvbih0KXtyZXR1cm4gdGNbdF19KX1mdW5jdGlv
biBOcih0LGUpe2Z1bmN0aW9uIG4oZSl7bCs9ZSx0PXQuc3Vic3RyaW5nKGUpfWZ1bmN0aW9uIHIo
dCxuLHIpe3ZhciBpLHM7aWYobnVsbD09biYmKG49bCksbnVsbD09ciYmKHI9bCksdCYmKHM9dC50
b0xvd2VyQ2FzZSgpKSx0KWZvcihpPWEubGVuZ3RoLTE7aT49MCYmYVtpXS5sb3dlckNhc2VkVGFn
IT09cztpLS0pO2Vsc2UgaT0wO2lmKGk+PTApe2Zvcih2YXIgYz1hLmxlbmd0aC0xO2M+PWk7Yy0t
KWUuZW5kJiZlLmVuZChhW2NdLnRhZyxuLHIpO2EubGVuZ3RoPWksbz1pJiZhW2ktMV0udGFnfWVs
c2UiYnIiPT09cz9lLnN0YXJ0JiZlLnN0YXJ0KHQsW10sITAsbixyKToicCI9PT1zJiYoZS5zdGFy
dCYmZS5zdGFydCh0LFtdLCExLG4sciksZS5lbmQmJmUuZW5kKHQsbixyKSl9Zm9yKHZhciBpLG8s
YT1bXSxzPWUuZXhwZWN0SFRNTCxjPWUuaXNVbmFyeVRhZ3x8S2ksdT1lLmNhbkJlTGVmdE9wZW5U
YWd8fEtpLGw9MDt0Oyl7aWYoaT10LG8mJllzKG8pKXt2YXIgZj0wLHA9by50b0xvd2VyQ2FzZSgp
LGQ9UXNbcF18fChRc1twXT1uZXcgUmVnRXhwKCIoW1xcc1xcU10qPykoPC8iK3ArIltePl0qPiki
LCJpIikpLHY9dC5yZXBsYWNlKGQsZnVuY3Rpb24odCxuLHIpe3JldHVybiBmPXIubGVuZ3RoLFlz
KHApfHwibm9zY3JpcHQiPT09cHx8KG49bi5yZXBsYWNlKC88IS0tKFtcc1xTXSo/KS0tPi9nLCIk
MSIpLnJlcGxhY2UoLzwhXFtDREFUQVxbKFtcc1xTXSo/KV1dPi9nLCIkMSIpKSxpYyhwLG4pJiYo
bj1uLnNsaWNlKDEpKSxlLmNoYXJzJiZlLmNoYXJzKG4pLCIifSk7bCs9dC5sZW5ndGgtdi5sZW5n
dGgsdD12LHIocCxsLWYsbCl9ZWxzZXt2YXIgaD10LmluZGV4T2YoIjwiKTtpZigwPT09aCl7aWYo
RnMudGVzdCh0KSl7dmFyIG09dC5pbmRleE9mKCItLVx4M2UiKTtpZihtPj0wKXtlLnNob3VsZEtl
ZXBDb21tZW50JiZlLmNvbW1lbnQodC5zdWJzdHJpbmcoNCxtKSksbihtKzMpO2NvbnRpbnVlfX1p
ZihCcy50ZXN0KHQpKXt2YXIgeT10LmluZGV4T2YoIl0+Iik7aWYoeT49MCl7bih5KzIpO2NvbnRp
bnVlfX12YXIgZz10Lm1hdGNoKERzKTtpZihnKXtuKGdbMF0ubGVuZ3RoKTtjb250aW51ZX12YXIg
Xz10Lm1hdGNoKFJzKTtpZihfKXt2YXIgYj1sO24oX1swXS5sZW5ndGgpLHIoX1sxXSxiLGwpO2Nv
bnRpbnVlfXZhciB3PWZ1bmN0aW9uKCl7dmFyIGU9dC5tYXRjaChJcyk7aWYoZSl7dmFyIHI9e3Rh
Z05hbWU6ZVsxXSxhdHRyczpbXSxzdGFydDpsfTtuKGVbMF0ubGVuZ3RoKTtmb3IodmFyIGksbzsh
KGk9dC5tYXRjaChQcykpJiYobz10Lm1hdGNoKE5zKSk7KW4ob1swXS5sZW5ndGgpLHIuYXR0cnMu
cHVzaChvKTtpZihpKXJldHVybiByLnVuYXJ5U2xhc2g9aVsxXSxuKGlbMF0ubGVuZ3RoKSxyLmVu
ZD1sLHJ9fSgpO2lmKHcpeyFmdW5jdGlvbih0KXt2YXIgbj10LnRhZ05hbWUsaT10LnVuYXJ5U2xh
c2g7cyYmKCJwIj09PW8mJmtzKG4pJiZyKG8pLHUobikmJm89PT1uJiZyKG4pKTtmb3IodmFyIGw9
YyhuKXx8ISFpLGY9dC5hdHRycy5sZW5ndGgscD1uZXcgQXJyYXkoZiksZD0wO2Q8ZjtkKyspe3Zh
ciB2PXQuYXR0cnNbZF07VXMmJi0xPT09dlswXS5pbmRleE9mKCciIicpJiYoIiI9PT12WzNdJiZk
ZWxldGUgdlszXSwiIj09PXZbNF0mJmRlbGV0ZSB2WzRdLCIiPT09dls1XSYmZGVsZXRlIHZbNV0p
O3ZhciBoPXZbM118fHZbNF18fHZbNV18fCIiO3BbZF09e25hbWU6dlsxXSx2YWx1ZTpqcihoLGUu
c2hvdWxkRGVjb2RlTmV3bGluZXMpfX1sfHwoYS5wdXNoKHt0YWc6bixsb3dlckNhc2VkVGFnOm4u
dG9Mb3dlckNhc2UoKSxhdHRyczpwfSksbz1uKSxlLnN0YXJ0JiZlLnN0YXJ0KG4scCxsLHQuc3Rh
cnQsdC5lbmQpfSh3KSxpYyhvLHQpJiZuKDEpO2NvbnRpbnVlfX12YXIgJD12b2lkIDAsQz12b2lk
IDAseD12b2lkIDA7aWYoaD49MCl7Zm9yKEM9dC5zbGljZShoKTshKFJzLnRlc3QoQyl8fElzLnRl
c3QoQyl8fEZzLnRlc3QoQyl8fEJzLnRlc3QoQyl8fCh4PUMuaW5kZXhPZigiPCIsMSkpPDApOylo
Kz14LEM9dC5zbGljZShoKTskPXQuc3Vic3RyaW5nKDAsaCksbihoKX1oPDAmJigkPXQsdD0iIiks
ZS5jaGFycyYmJCYmZS5jaGFycygkKX1pZih0PT09aSl7ZS5jaGFycyYmZS5jaGFycyh0KTticmVh
a319cigpfWZ1bmN0aW9uIExyKHQsZSl7ZnVuY3Rpb24gbih0KXt0LnByZSYmKHM9ITEpLHFzKHQu
dGFnKSYmKGM9ITEpfUhzPWUud2Fybnx8aG4scXM9ZS5pc1ByZVRhZ3x8S2ksV3M9ZS5tdXN0VXNl
UHJvcHx8S2ksR3M9ZS5nZXRUYWdOYW1lc3BhY2V8fEtpLHpzPW1uKGUubW9kdWxlcywidHJhbnNm
b3JtTm9kZSIpLEpzPW1uKGUubW9kdWxlcywicHJlVHJhbnNmb3JtTm9kZSIpLEtzPW1uKGUubW9k
dWxlcywicG9zdFRyYW5zZm9ybU5vZGUiKSxWcz1lLmRlbGltaXRlcnM7dmFyIHIsaSxvPVtdLGE9
ITEhPT1lLnByZXNlcnZlV2hpdGVzcGFjZSxzPSExLGM9ITE7cmV0dXJuIE5yKHQse3dhcm46SHMs
ZXhwZWN0SFRNTDplLmV4cGVjdEhUTUwsaXNVbmFyeVRhZzplLmlzVW5hcnlUYWcsY2FuQmVMZWZ0
T3BlblRhZzplLmNhbkJlTGVmdE9wZW5UYWcsc2hvdWxkRGVjb2RlTmV3bGluZXM6ZS5zaG91bGRE
ZWNvZGVOZXdsaW5lcyxzaG91bGRLZWVwQ29tbWVudDplLmNvbW1lbnRzLHN0YXJ0OmZ1bmN0aW9u
KHQsYSx1KXt2YXIgbD1pJiZpLm5zfHxHcyh0KTtpbyYmInN2ZyI9PT1sJiYoYT1ZcihhKSk7dmFy
IGY9e3R5cGU6MSx0YWc6dCxhdHRyc0xpc3Q6YSxhdHRyc01hcDpHcihhKSxwYXJlbnQ6aSxjaGls
ZHJlbjpbXX07bCYmKGYubnM9bCksWHIoZikmJiFtbygpJiYoZi5mb3JiaWRkZW49ITApO2Zvcih2
YXIgcD0wO3A8SnMubGVuZ3RoO3ArKylKc1twXShmLGUpO2lmKHN8fChNcihmKSxmLnByZSYmKHM9
ITApKSxxcyhmLnRhZykmJihjPSEwKSxzKUlyKGYpO2Vsc2V7RHIoZiksRnIoZiksVnIoZiksUHIo
ZiksZi5wbGFpbj0hZi5rZXkmJiFhLmxlbmd0aCxScihmKSx6cihmKSxKcihmKTtmb3IodmFyIGQ9
MDtkPHpzLmxlbmd0aDtkKyspenNbZF0oZixlKTtLcihmKX1pZihyP28ubGVuZ3RofHxyLmlmJiYo
Zi5lbHNlaWZ8fGYuZWxzZSkmJkhyKHIse2V4cDpmLmVsc2VpZixibG9jazpmfSk6cj1mLGkmJiFm
LmZvcmJpZGRlbilpZihmLmVsc2VpZnx8Zi5lbHNlKUJyKGYsaSk7ZWxzZSBpZihmLnNsb3RTY29w
ZSl7aS5wbGFpbj0hMTt2YXIgdj1mLnNsb3RUYXJnZXR8fCciZGVmYXVsdCInOyhpLnNjb3BlZFNs
b3RzfHwoaS5zY29wZWRTbG90cz17fSkpW3ZdPWZ9ZWxzZSBpLmNoaWxkcmVuLnB1c2goZiksZi5w
YXJlbnQ9aTt1P24oZik6KGk9ZixvLnB1c2goZikpO2Zvcih2YXIgaD0wO2g8S3MubGVuZ3RoO2gr
KylLc1toXShmLGUpfSxlbmQ6ZnVuY3Rpb24oKXt2YXIgdD1vW28ubGVuZ3RoLTFdLGU9dC5jaGls
ZHJlblt0LmNoaWxkcmVuLmxlbmd0aC0xXTtlJiYzPT09ZS50eXBlJiYiICI9PT1lLnRleHQmJiFj
JiZ0LmNoaWxkcmVuLnBvcCgpLG8ubGVuZ3RoLT0xLGk9b1tvLmxlbmd0aC0xXSxuKHQpfSxjaGFy
czpmdW5jdGlvbih0KXtpZihpJiYoIWlvfHwidGV4dGFyZWEiIT09aS50YWd8fGkuYXR0cnNNYXAu
cGxhY2Vob2xkZXIhPT10KSl7dmFyIGU9aS5jaGlsZHJlbjtpZih0PWN8fHQudHJpbSgpP1pyKGkp
P3Q6cGModCk6YSYmZS5sZW5ndGg/IiAiOiIiKXt2YXIgbjshcyYmIiAiIT09dCYmKG49eHIodCxW
cykpP2UucHVzaCh7dHlwZToyLGV4cHJlc3Npb246bix0ZXh0OnR9KToiICI9PT10JiZlLmxlbmd0
aCYmIiAiPT09ZVtlLmxlbmd0aC0xXS50ZXh0fHxlLnB1c2goe3R5cGU6Myx0ZXh0OnR9KX19fSxj
b21tZW50OmZ1bmN0aW9uKHQpe2kuY2hpbGRyZW4ucHVzaCh7dHlwZTozLHRleHQ6dCxpc0NvbW1l
bnQ6ITB9KX19KSxyfWZ1bmN0aW9uIE1yKHQpe251bGwhPSRuKHQsInYtcHJlIikmJih0LnByZT0h
MCl9ZnVuY3Rpb24gSXIodCl7dmFyIGU9dC5hdHRyc0xpc3QubGVuZ3RoO2lmKGUpZm9yKHZhciBu
PXQuYXR0cnM9bmV3IEFycmF5KGUpLHI9MDtyPGU7cisrKW5bcl09e25hbWU6dC5hdHRyc0xpc3Rb
cl0ubmFtZSx2YWx1ZTpKU09OLnN0cmluZ2lmeSh0LmF0dHJzTGlzdFtyXS52YWx1ZSl9O2Vsc2Ug
dC5wcmV8fCh0LnBsYWluPSEwKX1mdW5jdGlvbiBQcih0KXt2YXIgZT13bih0LCJrZXkiKTtlJiYo
dC5rZXk9ZSl9ZnVuY3Rpb24gUnIodCl7dmFyIGU9d24odCwicmVmIik7ZSYmKHQucmVmPWUsdC5y
ZWZJbkZvcj1xcih0KSl9ZnVuY3Rpb24gRHIodCl7dmFyIGU7aWYoZT0kbih0LCJ2LWZvciIpKXt2
YXIgbj1lLm1hdGNoKHNjKTtpZighbilyZXR1cm47dC5mb3I9blsyXS50cmltKCk7dmFyIHI9blsx
XS50cmltKCksaT1yLm1hdGNoKGNjKTtpPyh0LmFsaWFzPWlbMV0udHJpbSgpLHQuaXRlcmF0b3Ix
PWlbMl0udHJpbSgpLGlbM10mJih0Lml0ZXJhdG9yMj1pWzNdLnRyaW0oKSkpOnQuYWxpYXM9cn19
ZnVuY3Rpb24gRnIodCl7dmFyIGU9JG4odCwidi1pZiIpO2lmKGUpdC5pZj1lLEhyKHQse2V4cDpl
LGJsb2NrOnR9KTtlbHNle251bGwhPSRuKHQsInYtZWxzZSIpJiYodC5lbHNlPSEwKTt2YXIgbj0k
bih0LCJ2LWVsc2UtaWYiKTtuJiYodC5lbHNlaWY9bil9fWZ1bmN0aW9uIEJyKHQsZSl7dmFyIG49
VXIoZS5jaGlsZHJlbik7biYmbi5pZiYmSHIobix7ZXhwOnQuZWxzZWlmLGJsb2NrOnR9KX1mdW5j
dGlvbiBVcih0KXtmb3IodmFyIGU9dC5sZW5ndGg7ZS0tOyl7aWYoMT09PXRbZV0udHlwZSlyZXR1
cm4gdFtlXTt0LnBvcCgpfX1mdW5jdGlvbiBIcih0LGUpe3QuaWZDb25kaXRpb25zfHwodC5pZkNv
bmRpdGlvbnM9W10pLHQuaWZDb25kaXRpb25zLnB1c2goZSl9ZnVuY3Rpb24gVnIodCl7bnVsbCE9
JG4odCwidi1vbmNlIikmJih0Lm9uY2U9ITApfWZ1bmN0aW9uIHpyKHQpe2lmKCJzbG90Ij09PXQu
dGFnKXQuc2xvdE5hbWU9d24odCwibmFtZSIpO2Vsc2V7dmFyIGU9d24odCwic2xvdCIpO2UmJih0
LnNsb3RUYXJnZXQ9JyIiJz09PWU/JyJkZWZhdWx0Iic6ZSksInRlbXBsYXRlIj09PXQudGFnJiYo
dC5zbG90U2NvcGU9JG4odCwic2NvcGUiKSl9fWZ1bmN0aW9uIEpyKHQpe3ZhciBlOyhlPXduKHQs
ImlzIikpJiYodC5jb21wb25lbnQ9ZSksbnVsbCE9JG4odCwiaW5saW5lLXRlbXBsYXRlIikmJih0
LmlubGluZVRlbXBsYXRlPSEwKX1mdW5jdGlvbiBLcih0KXt2YXIgZSxuLHIsaSxvLGEscyxjPXQu
YXR0cnNMaXN0O2ZvcihlPTAsbj1jLmxlbmd0aDtlPG47ZSsrKWlmKHI9aT1jW2VdLm5hbWUsbz1j
W2VdLnZhbHVlLGFjLnRlc3QocikpaWYodC5oYXNCaW5kaW5ncz0hMCxhPVdyKHIpLGEmJihyPXIu
cmVwbGFjZShmYywiIikpLGxjLnRlc3Qocikpcj1yLnJlcGxhY2UobGMsIiIpLG89ZG4obykscz0h
MSxhJiYoYS5wcm9wJiYocz0hMCwiaW5uZXJIdG1sIj09PShyPUhpKHIpKSYmKHI9ImlubmVySFRN
TCIpKSxhLmNhbWVsJiYocj1IaShyKSksYS5zeW5jJiZibih0LCJ1cGRhdGU6IitIaShyKSx4bihv
LCIkZXZlbnQiKSkpLHN8fCF0LmNvbXBvbmVudCYmV3ModC50YWcsdC5hdHRyc01hcC50eXBlLHIp
P3luKHQscixvKTpnbih0LHIsbyk7ZWxzZSBpZihvYy50ZXN0KHIpKXI9ci5yZXBsYWNlKG9jLCIi
KSxibih0LHIsbyxhLCExLEhzKTtlbHNle3I9ci5yZXBsYWNlKGFjLCIiKTt2YXIgdT1yLm1hdGNo
KHVjKSxsPXUmJnVbMV07bCYmKHI9ci5zbGljZSgwLC0obC5sZW5ndGgrMSkpKSxfbih0LHIsaSxv
LGwsYSl9ZWxzZXtnbih0LHIsSlNPTi5zdHJpbmdpZnkobykpfX1mdW5jdGlvbiBxcih0KXtmb3Io
dmFyIGU9dDtlOyl7aWYodm9pZCAwIT09ZS5mb3IpcmV0dXJuITA7ZT1lLnBhcmVudH1yZXR1cm4h
MX1mdW5jdGlvbiBXcih0KXt2YXIgZT10Lm1hdGNoKGZjKTtpZihlKXt2YXIgbj17fTtyZXR1cm4g
ZS5mb3JFYWNoKGZ1bmN0aW9uKHQpe25bdC5zbGljZSgxKV09ITB9KSxufX1mdW5jdGlvbiBHcih0
KXtmb3IodmFyIGU9e30sbj0wLHI9dC5sZW5ndGg7bjxyO24rKyllW3Rbbl0ubmFtZV09dFtuXS52
YWx1ZTtyZXR1cm4gZX1mdW5jdGlvbiBacih0KXtyZXR1cm4ic2NyaXB0Ij09PXQudGFnfHwic3R5
bGUiPT09dC50YWd9ZnVuY3Rpb24gWHIodCl7cmV0dXJuInN0eWxlIj09PXQudGFnfHwic2NyaXB0
Ij09PXQudGFnJiYoIXQuYXR0cnNNYXAudHlwZXx8InRleHQvamF2YXNjcmlwdCI9PT10LmF0dHJz
TWFwLnR5cGUpfWZ1bmN0aW9uIFlyKHQpe2Zvcih2YXIgZT1bXSxuPTA7bjx0Lmxlbmd0aDtuKysp
e3ZhciByPXRbbl07ZGMudGVzdChyLm5hbWUpfHwoci5uYW1lPXIubmFtZS5yZXBsYWNlKHZjLCIi
KSxlLnB1c2gocikpfXJldHVybiBlfWZ1bmN0aW9uIFFyKHQsZSl7dCYmKFpzPWhjKGUuc3RhdGlj
S2V5c3x8IiIpLFhzPWUuaXNSZXNlcnZlZFRhZ3x8S2ksZWkodCksbmkodCwhMSkpfWZ1bmN0aW9u
IHRpKHQpe3JldHVybiBkKCJ0eXBlLHRhZyxhdHRyc0xpc3QsYXR0cnNNYXAscGxhaW4scGFyZW50
LGNoaWxkcmVuLGF0dHJzIisodD8iLCIrdDoiIikpfWZ1bmN0aW9uIGVpKHQpe2lmKHQuc3RhdGlj
PXJpKHQpLDE9PT10LnR5cGUpe2lmKCFYcyh0LnRhZykmJiJzbG90IiE9PXQudGFnJiZudWxsPT10
LmF0dHJzTWFwWyJpbmxpbmUtdGVtcGxhdGUiXSlyZXR1cm47Zm9yKHZhciBlPTAsbj10LmNoaWxk
cmVuLmxlbmd0aDtlPG47ZSsrKXt2YXIgcj10LmNoaWxkcmVuW2VdO2VpKHIpLHIuc3RhdGljfHwo
dC5zdGF0aWM9ITEpfWlmKHQuaWZDb25kaXRpb25zKWZvcih2YXIgaT0xLG89dC5pZkNvbmRpdGlv
bnMubGVuZ3RoO2k8bztpKyspe3ZhciBhPXQuaWZDb25kaXRpb25zW2ldLmJsb2NrO2VpKGEpLGEu
c3RhdGljfHwodC5zdGF0aWM9ITEpfX19ZnVuY3Rpb24gbmkodCxlKXtpZigxPT09dC50eXBlKXtp
ZigodC5zdGF0aWN8fHQub25jZSkmJih0LnN0YXRpY0luRm9yPWUpLHQuc3RhdGljJiZ0LmNoaWxk
cmVuLmxlbmd0aCYmKDEhPT10LmNoaWxkcmVuLmxlbmd0aHx8MyE9PXQuY2hpbGRyZW5bMF0udHlw
ZSkpcmV0dXJuIHZvaWQodC5zdGF0aWNSb290PSEwKTtpZih0LnN0YXRpY1Jvb3Q9ITEsdC5jaGls
ZHJlbilmb3IodmFyIG49MCxyPXQuY2hpbGRyZW4ubGVuZ3RoO248cjtuKyspbmkodC5jaGlsZHJl
bltuXSxlfHwhIXQuZm9yKTtpZih0LmlmQ29uZGl0aW9ucylmb3IodmFyIGk9MSxvPXQuaWZDb25k
aXRpb25zLmxlbmd0aDtpPG87aSsrKW5pKHQuaWZDb25kaXRpb25zW2ldLmJsb2NrLGUpfX1mdW5j
dGlvbiByaSh0KXtyZXR1cm4gMiE9PXQudHlwZSYmKDM9PT10LnR5cGV8fCEoIXQucHJlJiYodC5o
YXNCaW5kaW5nc3x8dC5pZnx8dC5mb3J8fERpKHQudGFnKXx8IVhzKHQudGFnKXx8aWkodCl8fCFP
YmplY3Qua2V5cyh0KS5ldmVyeShacykpKSl9ZnVuY3Rpb24gaWkodCl7Zm9yKDt0LnBhcmVudDsp
e2lmKHQ9dC5wYXJlbnQsInRlbXBsYXRlIiE9PXQudGFnKXJldHVybiExO2lmKHQuZm9yKXJldHVy
biEwfXJldHVybiExfWZ1bmN0aW9uIG9pKHQsZSxuKXt2YXIgcj1lPyJuYXRpdmVPbjp7Ijoib246
eyI7Zm9yKHZhciBpIGluIHQpe3IrPSciJytpKyciOicrYWkoaSx0W2ldKSsiLCJ9cmV0dXJuIHIu
c2xpY2UoMCwtMSkrIn0ifWZ1bmN0aW9uIGFpKHQsZSl7aWYoIWUpcmV0dXJuImZ1bmN0aW9uKCl7
fSI7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4iWyIrZS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJu
IGFpKHQsZSl9KS5qb2luKCIsIikrIl0iO3ZhciBuPXljLnRlc3QoZS52YWx1ZSkscj1tYy50ZXN0
KGUudmFsdWUpO2lmKGUubW9kaWZpZXJzKXt2YXIgaT0iIixvPSIiLGE9W107Zm9yKHZhciBzIGlu
IGUubW9kaWZpZXJzKWJjW3NdPyhvKz1iY1tzXSxnY1tzXSYmYS5wdXNoKHMpKTphLnB1c2gocyk7
YS5sZW5ndGgmJihpKz1zaShhKSksbyYmKGkrPW8pO3JldHVybiJmdW5jdGlvbigkZXZlbnQpeyIr
aSsobj9lLnZhbHVlKyIoJGV2ZW50KSI6cj8iKCIrZS52YWx1ZSsiKSgkZXZlbnQpIjplLnZhbHVl
KSsifSJ9cmV0dXJuIG58fHI/ZS52YWx1ZToiZnVuY3Rpb24oJGV2ZW50KXsiK2UudmFsdWUrIn0i
fWZ1bmN0aW9uIHNpKHQpe3JldHVybiJpZighKCdidXR0b24nIGluICRldmVudCkmJiIrdC5tYXAo
Y2kpLmpvaW4oIiYmIikrIilyZXR1cm4gbnVsbDsifWZ1bmN0aW9uIGNpKHQpe3ZhciBlPXBhcnNl
SW50KHQsMTApO2lmKGUpcmV0dXJuIiRldmVudC5rZXlDb2RlIT09IitlO3ZhciBuPWdjW3RdO3Jl
dHVybiJfaygkZXZlbnQua2V5Q29kZSwiK0pTT04uc3RyaW5naWZ5KHQpKyhuPyIsIitKU09OLnN0
cmluZ2lmeShuKToiIikrIikifWZ1bmN0aW9uIHVpKHQsZSl7dC53cmFwTGlzdGVuZXJzPWZ1bmN0
aW9uKHQpe3JldHVybiJfZygiK3QrIiwiK2UudmFsdWUrIikifX1mdW5jdGlvbiBsaSh0LGUpe3Qu
d3JhcERhdGE9ZnVuY3Rpb24obil7cmV0dXJuIl9iKCIrbisiLCciK3QudGFnKyInLCIrZS52YWx1
ZSsiLCIrKGUubW9kaWZpZXJzJiZlLm1vZGlmaWVycy5wcm9wPyJ0cnVlIjoiZmFsc2UiKSsoZS5t
b2RpZmllcnMmJmUubW9kaWZpZXJzLnN5bmM/Iix0cnVlIjoiIikrIikifX1mdW5jdGlvbiBmaSh0
LGUpe3ZhciBuPW5ldyAkYyhlKTtyZXR1cm57cmVuZGVyOiJ3aXRoKHRoaXMpe3JldHVybiAiKyh0
P3BpKHQsbik6J19jKCJkaXYiKScpKyJ9IixzdGF0aWNSZW5kZXJGbnM6bi5zdGF0aWNSZW5kZXJG
bnN9fWZ1bmN0aW9uIHBpKHQsZSl7aWYodC5zdGF0aWNSb290JiYhdC5zdGF0aWNQcm9jZXNzZWQp
cmV0dXJuIGRpKHQsZSk7aWYodC5vbmNlJiYhdC5vbmNlUHJvY2Vzc2VkKXJldHVybiB2aSh0LGUp
O2lmKHQuZm9yJiYhdC5mb3JQcm9jZXNzZWQpcmV0dXJuIHlpKHQsZSk7aWYodC5pZiYmIXQuaWZQ
cm9jZXNzZWQpcmV0dXJuIGhpKHQsZSk7aWYoInRlbXBsYXRlIiE9PXQudGFnfHx0LnNsb3RUYXJn
ZXQpe2lmKCJzbG90Ij09PXQudGFnKXJldHVybiBFaSh0LGUpO3ZhciBuO2lmKHQuY29tcG9uZW50
KW49amkodC5jb21wb25lbnQsdCxlKTtlbHNle3ZhciByPXQucGxhaW4/dm9pZCAwOmdpKHQsZSks
aT10LmlubGluZVRlbXBsYXRlP251bGw6eGkodCxlLCEwKTtuPSJfYygnIit0LnRhZysiJyIrKHI/
IiwiK3I6IiIpKyhpPyIsIitpOiIiKSsiKSJ9Zm9yKHZhciBvPTA7bzxlLnRyYW5zZm9ybXMubGVu
Z3RoO28rKyluPWUudHJhbnNmb3Jtc1tvXSh0LG4pO3JldHVybiBufXJldHVybiB4aSh0LGUpfHwi
dm9pZCAwIn1mdW5jdGlvbiBkaSh0LGUpe3JldHVybiB0LnN0YXRpY1Byb2Nlc3NlZD0hMCxlLnN0
YXRpY1JlbmRlckZucy5wdXNoKCJ3aXRoKHRoaXMpe3JldHVybiAiK3BpKHQsZSkrIn0iKSwiX20o
IisoZS5zdGF0aWNSZW5kZXJGbnMubGVuZ3RoLTEpKyh0LnN0YXRpY0luRm9yPyIsdHJ1ZSI6IiIp
KyIpIn1mdW5jdGlvbiB2aSh0LGUpe2lmKHQub25jZVByb2Nlc3NlZD0hMCx0LmlmJiYhdC5pZlBy
b2Nlc3NlZClyZXR1cm4gaGkodCxlKTtpZih0LnN0YXRpY0luRm9yKXtmb3IodmFyIG49IiIscj10
LnBhcmVudDtyOyl7aWYoci5mb3Ipe249ci5rZXk7YnJlYWt9cj1yLnBhcmVudH1yZXR1cm4gbj8i
X28oIitwaSh0LGUpKyIsIitlLm9uY2VJZCsrKyhuPyIsIituOiIiKSsiKSI6cGkodCxlKX1yZXR1
cm4gZGkodCxlKX1mdW5jdGlvbiBoaSh0LGUsbixyKXtyZXR1cm4gdC5pZlByb2Nlc3NlZD0hMCxt
aSh0LmlmQ29uZGl0aW9ucy5zbGljZSgpLGUsbixyKX1mdW5jdGlvbiBtaSh0LGUsbixyKXtmdW5j
dGlvbiBpKHQpe3JldHVybiBuP24odCxlKTp0Lm9uY2U/dmkodCxlKTpwaSh0LGUpfWlmKCF0Lmxl
bmd0aClyZXR1cm4gcnx8Il9lKCkiO3ZhciBvPXQuc2hpZnQoKTtyZXR1cm4gby5leHA/IigiK28u
ZXhwKyIpPyIraShvLmJsb2NrKSsiOiIrbWkodCxlLG4scik6IiIraShvLmJsb2NrKX1mdW5jdGlv
biB5aSh0LGUsbixyKXt2YXIgaT10LmZvcixvPXQuYWxpYXMsYT10Lml0ZXJhdG9yMT8iLCIrdC5p
dGVyYXRvcjE6IiIscz10Lml0ZXJhdG9yMj8iLCIrdC5pdGVyYXRvcjI6IiI7cmV0dXJuIHQuZm9y
UHJvY2Vzc2VkPSEwLChyfHwiX2wiKSsiKCgiK2krIiksZnVuY3Rpb24oIitvK2ErcysiKXtyZXR1
cm4gIisobnx8cGkpKHQsZSkrIn0pIn1mdW5jdGlvbiBnaSh0LGUpe3ZhciBuPSJ7IixyPV9pKHQs
ZSk7ciYmKG4rPXIrIiwiKSx0LmtleSYmKG4rPSJrZXk6Iit0LmtleSsiLCIpLHQucmVmJiYobis9
InJlZjoiK3QucmVmKyIsIiksdC5yZWZJbkZvciYmKG4rPSJyZWZJbkZvcjp0cnVlLCIpLHQucHJl
JiYobis9InByZTp0cnVlLCIpLHQuY29tcG9uZW50JiYobis9J3RhZzoiJyt0LnRhZysnIiwnKTtm
b3IodmFyIGk9MDtpPGUuZGF0YUdlbkZucy5sZW5ndGg7aSsrKW4rPWUuZGF0YUdlbkZuc1tpXSh0
KTtpZih0LmF0dHJzJiYobis9ImF0dHJzOnsiK05pKHQuYXR0cnMpKyJ9LCIpLHQucHJvcHMmJihu
Kz0iZG9tUHJvcHM6eyIrTmkodC5wcm9wcykrIn0sIiksdC5ldmVudHMmJihuKz1vaSh0LmV2ZW50
cywhMSxlLndhcm4pKyIsIiksdC5uYXRpdmVFdmVudHMmJihuKz1vaSh0Lm5hdGl2ZUV2ZW50cywh
MCxlLndhcm4pKyIsIiksdC5zbG90VGFyZ2V0JiYobis9InNsb3Q6Iit0LnNsb3RUYXJnZXQrIiwi
KSx0LnNjb3BlZFNsb3RzJiYobis9d2kodC5zY29wZWRTbG90cyxlKSsiLCIpLHQubW9kZWwmJihu
Kz0ibW9kZWw6e3ZhbHVlOiIrdC5tb2RlbC52YWx1ZSsiLGNhbGxiYWNrOiIrdC5tb2RlbC5jYWxs
YmFjaysiLGV4cHJlc3Npb246Iit0Lm1vZGVsLmV4cHJlc3Npb24rIn0sIiksdC5pbmxpbmVUZW1w
bGF0ZSl7dmFyIG89YmkodCxlKTtvJiYobis9bysiLCIpfXJldHVybiBuPW4ucmVwbGFjZSgvLCQv
LCIiKSsifSIsdC53cmFwRGF0YSYmKG49dC53cmFwRGF0YShuKSksdC53cmFwTGlzdGVuZXJzJiYo
bj10LndyYXBMaXN0ZW5lcnMobikpLG59ZnVuY3Rpb24gX2kodCxlKXt2YXIgbj10LmRpcmVjdGl2
ZXM7aWYobil7dmFyIHIsaSxvLGEscz0iZGlyZWN0aXZlczpbIixjPSExO2ZvcihyPTAsaT1uLmxl
bmd0aDtyPGk7cisrKXtvPW5bcl0sYT0hMDt2YXIgdT1lLmRpcmVjdGl2ZXNbby5uYW1lXTt1JiYo
YT0hIXUodCxvLGUud2FybikpLGEmJihjPSEwLHMrPSd7bmFtZToiJytvLm5hbWUrJyIscmF3TmFt
ZToiJytvLnJhd05hbWUrJyInKyhvLnZhbHVlPyIsdmFsdWU6KCIrby52YWx1ZSsiKSxleHByZXNz
aW9uOiIrSlNPTi5zdHJpbmdpZnkoby52YWx1ZSk6IiIpKyhvLmFyZz8nLGFyZzoiJytvLmFyZysn
Iic6IiIpKyhvLm1vZGlmaWVycz8iLG1vZGlmaWVyczoiK0pTT04uc3RyaW5naWZ5KG8ubW9kaWZp
ZXJzKToiIikrIn0sIil9cmV0dXJuIGM/cy5zbGljZSgwLC0xKSsiXSI6dm9pZCAwfX1mdW5jdGlv
biBiaSh0LGUpe3ZhciBuPXQuY2hpbGRyZW5bMF07aWYoMT09PW4udHlwZSl7dmFyIHI9Zmkobixl
Lm9wdGlvbnMpO3JldHVybiJpbmxpbmVUZW1wbGF0ZTp7cmVuZGVyOmZ1bmN0aW9uKCl7IityLnJl
bmRlcisifSxzdGF0aWNSZW5kZXJGbnM6WyIrci5zdGF0aWNSZW5kZXJGbnMubWFwKGZ1bmN0aW9u
KHQpe3JldHVybiJmdW5jdGlvbigpeyIrdCsifSJ9KS5qb2luKCIsIikrIl19In19ZnVuY3Rpb24g
d2kodCxlKXtyZXR1cm4ic2NvcGVkU2xvdHM6X3UoWyIrT2JqZWN0LmtleXModCkubWFwKGZ1bmN0
aW9uKG4pe3JldHVybiAkaShuLHRbbl0sZSl9KS5qb2luKCIsIikrIl0pIn1mdW5jdGlvbiAkaSh0
LGUsbil7cmV0dXJuIGUuZm9yJiYhZS5mb3JQcm9jZXNzZWQ/Q2kodCxlLG4pOiJ7a2V5OiIrdCsi
LGZuOmZ1bmN0aW9uKCIrU3RyaW5nKGUuYXR0cnNNYXAuc2NvcGUpKyIpe3JldHVybiAiKygidGVt
cGxhdGUiPT09ZS50YWc/eGkoZSxuKXx8InZvaWQgMCI6cGkoZSxuKSkrIn19In1mdW5jdGlvbiBD
aSh0LGUsbil7dmFyIHI9ZS5mb3IsaT1lLmFsaWFzLG89ZS5pdGVyYXRvcjE/IiwiK2UuaXRlcmF0
b3IxOiIiLGE9ZS5pdGVyYXRvcjI/IiwiK2UuaXRlcmF0b3IyOiIiO3JldHVybiBlLmZvclByb2Nl
c3NlZD0hMCwiX2woKCIrcisiKSxmdW5jdGlvbigiK2krbythKyIpe3JldHVybiAiKyRpKHQsZSxu
KSsifSkifWZ1bmN0aW9uIHhpKHQsZSxuLHIsaSl7dmFyIG89dC5jaGlsZHJlbjtpZihvLmxlbmd0
aCl7dmFyIGE9b1swXTtpZigxPT09by5sZW5ndGgmJmEuZm9yJiYidGVtcGxhdGUiIT09YS50YWcm
JiJzbG90IiE9PWEudGFnKXJldHVybihyfHxwaSkoYSxlKTt2YXIgcz1uP0FpKG8sZS5tYXliZUNv
bXBvbmVudCk6MCxjPWl8fE9pO3JldHVybiJbIitvLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gYyh0
LGUpfSkuam9pbigiLCIpKyJdIisocz8iLCIrczoiIil9fWZ1bmN0aW9uIEFpKHQsZSl7Zm9yKHZh
ciBuPTAscj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgaT10W3JdO2lmKDE9PT1pLnR5cGUpe2lmKGtp
KGkpfHxpLmlmQ29uZGl0aW9ucyYmaS5pZkNvbmRpdGlvbnMuc29tZShmdW5jdGlvbih0KXtyZXR1
cm4ga2kodC5ibG9jayl9KSl7bj0yO2JyZWFrfShlKGkpfHxpLmlmQ29uZGl0aW9ucyYmaS5pZkNv
bmRpdGlvbnMuc29tZShmdW5jdGlvbih0KXtyZXR1cm4gZSh0LmJsb2NrKX0pKSYmKG49MSl9fXJl
dHVybiBufWZ1bmN0aW9uIGtpKHQpe3JldHVybiB2b2lkIDAhPT10LmZvcnx8InRlbXBsYXRlIj09
PXQudGFnfHwic2xvdCI9PT10LnRhZ31mdW5jdGlvbiBPaSh0LGUpe3JldHVybiAxPT09dC50eXBl
P3BpKHQsZSk6Mz09PXQudHlwZSYmdC5pc0NvbW1lbnQ/VGkodCk6U2kodCl9ZnVuY3Rpb24gU2ko
dCl7cmV0dXJuIl92KCIrKDI9PT10LnR5cGU/dC5leHByZXNzaW9uOkxpKEpTT04uc3RyaW5naWZ5
KHQudGV4dCkpKSsiKSJ9ZnVuY3Rpb24gVGkodCl7cmV0dXJuIl9lKCIrSlNPTi5zdHJpbmdpZnko
dC50ZXh0KSsiKSJ9ZnVuY3Rpb24gRWkodCxlKXt2YXIgbj10LnNsb3ROYW1lfHwnImRlZmF1bHQi
JyxyPXhpKHQsZSksaT0iX3QoIituKyhyPyIsIityOiIiKSxvPXQuYXR0cnMmJiJ7Iit0LmF0dHJz
Lm1hcChmdW5jdGlvbih0KXtyZXR1cm4gSGkodC5uYW1lKSsiOiIrdC52YWx1ZX0pLmpvaW4oIiwi
KSsifSIsYT10LmF0dHJzTWFwWyJ2LWJpbmQiXTtyZXR1cm4hbyYmIWF8fHJ8fChpKz0iLG51bGwi
KSxvJiYoaSs9IiwiK28pLGEmJihpKz0obz8iIjoiLG51bGwiKSsiLCIrYSksaSsiKSJ9ZnVuY3Rp
b24gamkodCxlLG4pe3ZhciByPWUuaW5saW5lVGVtcGxhdGU/bnVsbDp4aShlLG4sITApO3JldHVy
biJfYygiK3QrIiwiK2dpKGUsbikrKHI/IiwiK3I6IiIpKyIpIn1mdW5jdGlvbiBOaSh0KXtmb3Io
dmFyIGU9IiIsbj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO2UrPSciJytyLm5hbWUrJyI6
JytMaShyLnZhbHVlKSsiLCJ9cmV0dXJuIGUuc2xpY2UoMCwtMSl9ZnVuY3Rpb24gTGkodCl7cmV0
dXJuIHQucmVwbGFjZSgvXHUyMDI4L2csIlxcdTIwMjgiKS5yZXBsYWNlKC9cdTIwMjkvZywiXFx1
MjAyOSIpfWZ1bmN0aW9uIE1pKHQsZSl7dHJ5e3JldHVybiBuZXcgRnVuY3Rpb24odCl9Y2F0Y2go
bil7cmV0dXJuIGUucHVzaCh7ZXJyOm4sY29kZTp0fSksd319ZnVuY3Rpb24gSWkodCl7dmFyIGU9
T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gZnVuY3Rpb24obixyLGkpe3I9cnx8e307dmFyIG89
ci5kZWxpbWl0ZXJzP1N0cmluZyhyLmRlbGltaXRlcnMpK246bjtpZihlW29dKXJldHVybiBlW29d
O3ZhciBhPXQobixyKSxzPXt9LGM9W107cmV0dXJuIHMucmVuZGVyPU1pKGEucmVuZGVyLGMpLHMu
c3RhdGljUmVuZGVyRm5zPWEuc3RhdGljUmVuZGVyRm5zLm1hcChmdW5jdGlvbih0KXtyZXR1cm4g
TWkodCxjKX0pLGVbb109c319ZnVuY3Rpb24gUGkodCl7aWYodC5vdXRlckhUTUwpcmV0dXJuIHQu
b3V0ZXJIVE1MO3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBlLmFw
cGVuZENoaWxkKHQuY2xvbmVOb2RlKCEwKSksZS5pbm5lckhUTUx9dmFyIFJpPU9iamVjdC5wcm90
b3R5cGUudG9TdHJpbmcsRGk9ZCgic2xvdCxjb21wb25lbnQiLCEwKSxGaT1kKCJrZXkscmVmLHNs
b3QsaXMiKSxCaT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LFVpPS8tKFx3KS9nLEhp
PW0oZnVuY3Rpb24odCl7cmV0dXJuIHQucmVwbGFjZShVaSxmdW5jdGlvbih0LGUpe3JldHVybiBl
P2UudG9VcHBlckNhc2UoKToiIn0pfSksVmk9bShmdW5jdGlvbih0KXtyZXR1cm4gdC5jaGFyQXQo
MCkudG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpfSksemk9LyhbXi1dKShbQS1aXSkvZyxKaT1tKGZ1
bmN0aW9uKHQpe3JldHVybiB0LnJlcGxhY2UoemksIiQxLSQyIikucmVwbGFjZSh6aSwiJDEtJDIi
KS50b0xvd2VyQ2FzZSgpfSksS2k9ZnVuY3Rpb24odCxlLG4pe3JldHVybiExfSxxaT1mdW5jdGlv
bih0KXtyZXR1cm4gdH0sV2k9ImRhdGEtc2VydmVyLXJlbmRlcmVkIixHaT1bImNvbXBvbmVudCIs
ImRpcmVjdGl2ZSIsImZpbHRlciJdLFppPVsiYmVmb3JlQ3JlYXRlIiwiY3JlYXRlZCIsImJlZm9y
ZU1vdW50IiwibW91bnRlZCIsImJlZm9yZVVwZGF0ZSIsInVwZGF0ZWQiLCJiZWZvcmVEZXN0cm95
IiwiZGVzdHJveWVkIiwiYWN0aXZhdGVkIiwiZGVhY3RpdmF0ZWQiXSxYaT17b3B0aW9uTWVyZ2VT
dHJhdGVnaWVzOk9iamVjdC5jcmVhdGUobnVsbCksc2lsZW50OiExLHByb2R1Y3Rpb25UaXA6ITEs
ZGV2dG9vbHM6ITEscGVyZm9ybWFuY2U6ITEsZXJyb3JIYW5kbGVyOm51bGwsd2FybkhhbmRsZXI6
bnVsbCxpZ25vcmVkRWxlbWVudHM6W10sa2V5Q29kZXM6T2JqZWN0LmNyZWF0ZShudWxsKSxpc1Jl
c2VydmVkVGFnOktpLGlzUmVzZXJ2ZWRBdHRyOktpLGlzVW5rbm93bkVsZW1lbnQ6S2ksZ2V0VGFn
TmFtZXNwYWNlOncscGFyc2VQbGF0Zm9ybVRhZ05hbWU6cWksbXVzdFVzZVByb3A6S2ksX2xpZmVj
eWNsZUhvb2tzOlppfSxZaT1PYmplY3QuZnJlZXplKHt9KSxRaT0vW15cdy4kXS8sdG89dyxlbz0i
X19wcm90b19fImlue30sbm89InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cscm89bm8mJndpbmRv
dy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCksaW89cm8mJi9tc2llfHRyaWRlbnQv
LnRlc3Qocm8pLG9vPXJvJiZyby5pbmRleE9mKCJtc2llIDkuMCIpPjAsYW89cm8mJnJvLmluZGV4
T2YoImVkZ2UvIik+MCxzbz1ybyYmcm8uaW5kZXhPZigiYW5kcm9pZCIpPjAsY289cm8mJi9pcGhv
bmV8aXBhZHxpcG9kfGlvcy8udGVzdChybyksdW89cm8mJi9jaHJvbWVcL1xkKy8udGVzdChybykm
JiFhbyxsbz17fS53YXRjaCxmbz0hMTtpZihubyl0cnl7dmFyIHBvPXt9O09iamVjdC5kZWZpbmVQ
cm9wZXJ0eShwbywicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe2ZvPSEwfX0pLHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCJ0ZXN0LXBhc3NpdmUiLG51bGwscG8pfWNhdGNoKHQpe312YXIgdm8saG8s
bW89ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwPT09dm8mJih2bz0hbm8mJnZvaWQgMCE9PXQmJiJz
ZXJ2ZXIiPT09dC5wcm9jZXNzLmVudi5WVUVfRU5WKSx2b30seW89bm8mJndpbmRvdy5fX1ZVRV9E
RVZUT09MU19HTE9CQUxfSE9PS19fLGdvPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZUKFN5
bWJvbCkmJiJ1bmRlZmluZWQiIT10eXBlb2YgUmVmbGVjdCYmVChSZWZsZWN0Lm93bktleXMpLF9v
PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3I9ITE7dmFyIHQ9bi5zbGljZSgwKTtuLmxlbmd0aD0w
O2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0oKX12YXIgZSxuPVtdLHI9ITE7aWYoInVu
ZGVmaW5lZCIhPXR5cGVvZiBQcm9taXNlJiZUKFByb21pc2UpKXt2YXIgaT1Qcm9taXNlLnJlc29s
dmUoKSxvPWZ1bmN0aW9uKHQpe2NvbnNvbGUuZXJyb3IodCl9O2U9ZnVuY3Rpb24oKXtpLnRoZW4o
dCkuY2F0Y2gobyksY28mJnNldFRpbWVvdXQodyl9fWVsc2UgaWYoInVuZGVmaW5lZCI9PXR5cGVv
ZiBNdXRhdGlvbk9ic2VydmVyfHwhVChNdXRhdGlvbk9ic2VydmVyKSYmIltvYmplY3QgTXV0YXRp
b25PYnNlcnZlckNvbnN0cnVjdG9yXSIhPT1NdXRhdGlvbk9ic2VydmVyLnRvU3RyaW5nKCkpZT1m
dW5jdGlvbigpe3NldFRpbWVvdXQodCwwKX07ZWxzZXt2YXIgYT0xLHM9bmV3IE11dGF0aW9uT2Jz
ZXJ2ZXIodCksYz1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoYSkpO3Mub2JzZXJ2ZShj
LHtjaGFyYWN0ZXJEYXRhOiEwfSksZT1mdW5jdGlvbigpe2E9KGErMSklMixjLmRhdGE9U3RyaW5n
KGEpfX1yZXR1cm4gZnVuY3Rpb24odCxpKXt2YXIgbztpZihuLnB1c2goZnVuY3Rpb24oKXtpZih0
KXRyeXt0LmNhbGwoaSl9Y2F0Y2godCl7Uyh0LGksIm5leHRUaWNrIil9ZWxzZSBvJiZvKGkpfSks
cnx8KHI9ITAsZSgpKSwhdCYmInVuZGVmaW5lZCIhPXR5cGVvZiBQcm9taXNlKXJldHVybiBuZXcg
UHJvbWlzZShmdW5jdGlvbih0LGUpe289dH0pfX0oKTtobz0idW5kZWZpbmVkIiE9dHlwZW9mIFNl
dCYmVChTZXQpP1NldDpmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLnNldD1PYmplY3QuY3Jl
YXRlKG51bGwpfXJldHVybiB0LnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7cmV0dXJuITA9PT10
aGlzLnNldFt0XX0sdC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHQpe3RoaXMuc2V0W3RdPSEwfSx0
LnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuc2V0PU9iamVjdC5jcmVhdGUobnVsbCl9
LHR9KCk7dmFyIGJvPTAsd289ZnVuY3Rpb24oKXt0aGlzLmlkPWJvKyssdGhpcy5zdWJzPVtdfTt3
by5wcm90b3R5cGUuYWRkU3ViPWZ1bmN0aW9uKHQpe3RoaXMuc3Vicy5wdXNoKHQpfSx3by5wcm90
b3R5cGUucmVtb3ZlU3ViPWZ1bmN0aW9uKHQpe3YodGhpcy5zdWJzLHQpfSx3by5wcm90b3R5cGUu
ZGVwZW5kPWZ1bmN0aW9uKCl7d28udGFyZ2V0JiZ3by50YXJnZXQuYWRkRGVwKHRoaXMpfSx3by5w
cm90b3R5cGUubm90aWZ5PWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuc3Vicy5zbGljZSgpLGU9
MCxuPXQubGVuZ3RoO2U8bjtlKyspdFtlXS51cGRhdGUoKX0sd28udGFyZ2V0PW51bGw7dmFyICRv
PVtdLENvPUFycmF5LnByb3RvdHlwZSx4bz1PYmplY3QuY3JlYXRlKENvKTtbInB1c2giLCJwb3Ai
LCJzaGlmdCIsInVuc2hpZnQiLCJzcGxpY2UiLCJzb3J0IiwicmV2ZXJzZSJdLmZvckVhY2goZnVu
Y3Rpb24odCl7dmFyIGU9Q29bdF07ayh4byx0LGZ1bmN0aW9uKCl7Zm9yKHZhciBuPVtdLHI9YXJn
dW1lbnRzLmxlbmd0aDtyLS07KW5bcl09YXJndW1lbnRzW3JdO3ZhciBpLG89ZS5hcHBseSh0aGlz
LG4pLGE9dGhpcy5fX29iX187c3dpdGNoKHQpe2Nhc2UicHVzaCI6Y2FzZSJ1bnNoaWZ0IjppPW47
YnJlYWs7Y2FzZSJzcGxpY2UiOmk9bi5zbGljZSgyKX1yZXR1cm4gaSYmYS5vYnNlcnZlQXJyYXko
aSksYS5kZXAubm90aWZ5KCksb30pfSk7dmFyIEFvPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVz
KHhvKSxrbz17c2hvdWxkQ29udmVydDohMH0sT289ZnVuY3Rpb24odCl7aWYodGhpcy52YWx1ZT10
LHRoaXMuZGVwPW5ldyB3byx0aGlzLnZtQ291bnQ9MCxrKHQsIl9fb2JfXyIsdGhpcyksQXJyYXku
aXNBcnJheSh0KSl7KGVvP046TCkodCx4byxBbyksdGhpcy5vYnNlcnZlQXJyYXkodCl9ZWxzZSB0
aGlzLndhbGsodCl9O09vLnByb3RvdHlwZS53YWxrPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1PYmpl
Y3Qua2V5cyh0KSxuPTA7bjxlLmxlbmd0aDtuKyspSSh0LGVbbl0sdFtlW25dXSl9LE9vLnByb3Rv
dHlwZS5vYnNlcnZlQXJyYXk9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAsbj10Lmxlbmd0aDtlPG47
ZSsrKU0odFtlXSl9O3ZhciBTbz1YaS5vcHRpb25NZXJnZVN0cmF0ZWdpZXM7U28uZGF0YT1mdW5j
dGlvbih0LGUsbil7cmV0dXJuIG4/Qih0LGUsbik6ZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGU/dDpC
LmNhbGwodGhpcyx0LGUpfSxaaS5mb3JFYWNoKGZ1bmN0aW9uKHQpe1NvW3RdPVV9KSxHaS5mb3JF
YWNoKGZ1bmN0aW9uKHQpe1NvW3QrInMiXT1IfSksU28ud2F0Y2g9ZnVuY3Rpb24odCxlKXtpZih0
PT09bG8mJih0PXZvaWQgMCksZT09PWxvJiYoZT12b2lkIDApLCFlKXJldHVybiBPYmplY3QuY3Jl
YXRlKHR8fG51bGwpO2lmKCF0KXJldHVybiBlO3ZhciBuPXt9O18obix0KTtmb3IodmFyIHIgaW4g
ZSl7dmFyIGk9bltyXSxvPWVbcl07aSYmIUFycmF5LmlzQXJyYXkoaSkmJihpPVtpXSksbltyXT1p
P2kuY29uY2F0KG8pOkFycmF5LmlzQXJyYXkobyk/bzpbb119cmV0dXJuIG59LFNvLnByb3BzPVNv
Lm1ldGhvZHM9U28uaW5qZWN0PVNvLmNvbXB1dGVkPWZ1bmN0aW9uKHQsZSl7aWYoIXQpcmV0dXJu
IGU7dmFyIG49T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gXyhuLHQpLGUmJl8obixlKSxufSxT
by5wcm92aWRlPUI7dmFyIFRvPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMD09PWU/dDplfSxF
bz1mdW5jdGlvbih0LGUsbixyLGksbyxhLHMpe3RoaXMudGFnPXQsdGhpcy5kYXRhPWUsdGhpcy5j
aGlsZHJlbj1uLHRoaXMudGV4dD1yLHRoaXMuZWxtPWksdGhpcy5ucz12b2lkIDAsdGhpcy5jb250
ZXh0PW8sdGhpcy5mdW5jdGlvbmFsQ29udGV4dD12b2lkIDAsdGhpcy5rZXk9ZSYmZS5rZXksdGhp
cy5jb21wb25lbnRPcHRpb25zPWEsdGhpcy5jb21wb25lbnRJbnN0YW5jZT12b2lkIDAsdGhpcy5w
YXJlbnQ9dm9pZCAwLHRoaXMucmF3PSExLHRoaXMuaXNTdGF0aWM9ITEsdGhpcy5pc1Jvb3RJbnNl
cnQ9ITAsdGhpcy5pc0NvbW1lbnQ9ITEsdGhpcy5pc0Nsb25lZD0hMSx0aGlzLmlzT25jZT0hMSx0
aGlzLmFzeW5jRmFjdG9yeT1zLHRoaXMuYXN5bmNNZXRhPXZvaWQgMCx0aGlzLmlzQXN5bmNQbGFj
ZWhvbGRlcj0hMX0sam89e2NoaWxkOnt9fTtqby5jaGlsZC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4g
dGhpcy5jb21wb25lbnRJbnN0YW5jZX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoRW8ucHJvdG90
eXBlLGpvKTt2YXIgTm8sTG89ZnVuY3Rpb24odCl7dm9pZCAwPT09dCYmKHQ9IiIpO3ZhciBlPW5l
dyBFbztyZXR1cm4gZS50ZXh0PXQsZS5pc0NvbW1lbnQ9ITAsZX0sTW89bShmdW5jdGlvbih0KXt2
YXIgZT0iJiI9PT10LmNoYXJBdCgwKTt0PWU/dC5zbGljZSgxKTp0O3ZhciBuPSJ+Ij09PXQuY2hh
ckF0KDApO3Q9bj90LnNsaWNlKDEpOnQ7dmFyIHI9IiEiPT09dC5jaGFyQXQoMCk7cmV0dXJuIHQ9
cj90LnNsaWNlKDEpOnQse25hbWU6dCxvbmNlOm4sY2FwdHVyZTpyLHBhc3NpdmU6ZX19KSxJbz1u
dWxsLFBvPVtdLFJvPVtdLERvPXt9LEZvPSExLEJvPSExLFVvPTAsSG89MCxWbz1mdW5jdGlvbih0
LGUsbixyKXt0aGlzLnZtPXQsdC5fd2F0Y2hlcnMucHVzaCh0aGlzKSxyPyh0aGlzLmRlZXA9ISFy
LmRlZXAsdGhpcy51c2VyPSEhci51c2VyLHRoaXMubGF6eT0hIXIubGF6eSx0aGlzLnN5bmM9ISFy
LnN5bmMpOnRoaXMuZGVlcD10aGlzLnVzZXI9dGhpcy5sYXp5PXRoaXMuc3luYz0hMSx0aGlzLmNi
PW4sdGhpcy5pZD0rK0hvLHRoaXMuYWN0aXZlPSEwLHRoaXMuZGlydHk9dGhpcy5sYXp5LHRoaXMu
ZGVwcz1bXSx0aGlzLm5ld0RlcHM9W10sdGhpcy5kZXBJZHM9bmV3IGhvLHRoaXMubmV3RGVwSWRz
PW5ldyBobyx0aGlzLmV4cHJlc3Npb249IiIsImZ1bmN0aW9uIj09dHlwZW9mIGU/dGhpcy5nZXR0
ZXI9ZToodGhpcy5nZXR0ZXI9TyhlKSx0aGlzLmdldHRlcnx8KHRoaXMuZ2V0dGVyPWZ1bmN0aW9u
KCl7fSkpLHRoaXMudmFsdWU9dGhpcy5sYXp5P3ZvaWQgMDp0aGlzLmdldCgpfTtWby5wcm90b3R5
cGUuZ2V0PWZ1bmN0aW9uKCl7RSh0aGlzKTt2YXIgdCxlPXRoaXMudm07dHJ5e3Q9dGhpcy5nZXR0
ZXIuY2FsbChlLGUpfWNhdGNoKHQpe2lmKCF0aGlzLnVzZXIpdGhyb3cgdDtTKHQsZSwnZ2V0dGVy
IGZvciB3YXRjaGVyICInK3RoaXMuZXhwcmVzc2lvbisnIicpfWZpbmFsbHl7dGhpcy5kZWVwJiZN
dCh0KSxqKCksdGhpcy5jbGVhbnVwRGVwcygpfXJldHVybiB0fSxWby5wcm90b3R5cGUuYWRkRGVw
PWZ1bmN0aW9uKHQpe3ZhciBlPXQuaWQ7dGhpcy5uZXdEZXBJZHMuaGFzKGUpfHwodGhpcy5uZXdE
ZXBJZHMuYWRkKGUpLHRoaXMubmV3RGVwcy5wdXNoKHQpLHRoaXMuZGVwSWRzLmhhcyhlKXx8dC5h
ZGRTdWIodGhpcykpfSxWby5wcm90b3R5cGUuY2xlYW51cERlcHM9ZnVuY3Rpb24oKXtmb3IodmFy
IHQ9dGhpcyxlPXRoaXMuZGVwcy5sZW5ndGg7ZS0tOyl7dmFyIG49dC5kZXBzW2VdO3QubmV3RGVw
SWRzLmhhcyhuLmlkKXx8bi5yZW1vdmVTdWIodCl9dmFyIHI9dGhpcy5kZXBJZHM7dGhpcy5kZXBJ
ZHM9dGhpcy5uZXdEZXBJZHMsdGhpcy5uZXdEZXBJZHM9cix0aGlzLm5ld0RlcElkcy5jbGVhcigp
LHI9dGhpcy5kZXBzLHRoaXMuZGVwcz10aGlzLm5ld0RlcHMsdGhpcy5uZXdEZXBzPXIsdGhpcy5u
ZXdEZXBzLmxlbmd0aD0wfSxWby5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKCl7dGhpcy5sYXp5
P3RoaXMuZGlydHk9ITA6dGhpcy5zeW5jP3RoaXMucnVuKCk6THQodGhpcyl9LFZvLnByb3RvdHlw
ZS5ydW49ZnVuY3Rpb24oKXtpZih0aGlzLmFjdGl2ZSl7dmFyIHQ9dGhpcy5nZXQoKTtpZih0IT09
dGhpcy52YWx1ZXx8cyh0KXx8dGhpcy5kZWVwKXt2YXIgZT10aGlzLnZhbHVlO2lmKHRoaXMudmFs
dWU9dCx0aGlzLnVzZXIpdHJ5e3RoaXMuY2IuY2FsbCh0aGlzLnZtLHQsZSl9Y2F0Y2godCl7Uyh0
LHRoaXMudm0sJ2NhbGxiYWNrIGZvciB3YXRjaGVyICInK3RoaXMuZXhwcmVzc2lvbisnIicpfWVs
c2UgdGhpcy5jYi5jYWxsKHRoaXMudm0sdCxlKX19fSxWby5wcm90b3R5cGUuZXZhbHVhdGU9ZnVu
Y3Rpb24oKXt0aGlzLnZhbHVlPXRoaXMuZ2V0KCksdGhpcy5kaXJ0eT0hMX0sVm8ucHJvdG90eXBl
LmRlcGVuZD1mdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLGU9dGhpcy5kZXBzLmxlbmd0aDtlLS07
KXQuZGVwc1tlXS5kZXBlbmQoKX0sVm8ucHJvdG90eXBlLnRlYXJkb3duPWZ1bmN0aW9uKCl7dmFy
IHQ9dGhpcztpZih0aGlzLmFjdGl2ZSl7dGhpcy52bS5faXNCZWluZ0Rlc3Ryb3llZHx8dih0aGlz
LnZtLl93YXRjaGVycyx0aGlzKTtmb3IodmFyIGU9dGhpcy5kZXBzLmxlbmd0aDtlLS07KXQuZGVw
c1tlXS5yZW1vdmVTdWIodCk7dGhpcy5hY3RpdmU9ITF9fTt2YXIgem89bmV3IGhvLEpvPXtlbnVt
ZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6dyxzZXQ6d30sS289e2xhenk6ITB9LHFvPXtp
bml0OmZ1bmN0aW9uKHQsZSxuLHIpe2lmKCF0LmNvbXBvbmVudEluc3RhbmNlfHx0LmNvbXBvbmVu
dEluc3RhbmNlLl9pc0Rlc3Ryb3llZCl7KHQuY29tcG9uZW50SW5zdGFuY2U9UXQodCxJbyxuLHIp
KS4kbW91bnQoZT90LmVsbTp2b2lkIDAsZSl9ZWxzZSBpZih0LmRhdGEua2VlcEFsaXZlKXt2YXIg
aT10O3FvLnByZXBhdGNoKGksaSl9fSxwcmVwYXRjaDpmdW5jdGlvbih0LGUpe3ZhciBuPWUuY29t
cG9uZW50T3B0aW9ucztDdChlLmNvbXBvbmVudEluc3RhbmNlPXQuY29tcG9uZW50SW5zdGFuY2Us
bi5wcm9wc0RhdGEsbi5saXN0ZW5lcnMsZSxuLmNoaWxkcmVuKX0saW5zZXJ0OmZ1bmN0aW9uKHQp
e3ZhciBlPXQuY29udGV4dCxuPXQuY29tcG9uZW50SW5zdGFuY2U7bi5faXNNb3VudGVkfHwobi5f
aXNNb3VudGVkPSEwLE90KG4sIm1vdW50ZWQiKSksdC5kYXRhLmtlZXBBbGl2ZSYmKGUuX2lzTW91
bnRlZD9qdChuKTpBdChuLCEwKSl9LGRlc3Ryb3k6ZnVuY3Rpb24odCl7dmFyIGU9dC5jb21wb25l
bnRJbnN0YW5jZTtlLl9pc0Rlc3Ryb3llZHx8KHQuZGF0YS5rZWVwQWxpdmU/a3QoZSwhMCk6ZS4k
ZGVzdHJveSgpKX19LFdvPU9iamVjdC5rZXlzKHFvKSxHbz0xLFpvPTIsWG89MDshZnVuY3Rpb24o
dCl7dC5wcm90b3R5cGUuX2luaXQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztlLl91aWQ9WG8rKyxl
Ll9pc1Z1ZT0hMCx0JiZ0Ll9pc0NvbXBvbmVudD95ZShlLHQpOmUuJG9wdGlvbnM9SyhnZShlLmNv
bnN0cnVjdG9yKSx0fHx7fSxlKSxlLl9yZW5kZXJQcm94eT1lLGUuX3NlbGY9ZSx3dChlKSx2dChl
KSxtZShlKSxPdChlLCJiZWZvcmVDcmVhdGUiKSxXdChlKSxSdChlKSxxdChlKSxPdChlLCJjcmVh
dGVkIiksZS4kb3B0aW9ucy5lbCYmZS4kbW91bnQoZS4kb3B0aW9ucy5lbCl9fSh3ZSksZnVuY3Rp
b24odCl7dmFyIGU9e307ZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGF0YX07dmFyIG49
e307bi5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcHJvcHN9LE9iamVjdC5kZWZpbmVQcm9w
ZXJ0eSh0LnByb3RvdHlwZSwiJGRhdGEiLGUpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3Rv
dHlwZSwiJHByb3BzIixuKSx0LnByb3RvdHlwZS4kc2V0PVAsdC5wcm90b3R5cGUuJGRlbGV0ZT1S
LHQucHJvdG90eXBlLiR3YXRjaD1mdW5jdGlvbih0LGUsbil7dmFyIHI9dGhpcztpZihjKGUpKXJl
dHVybiBLdChyLHQsZSxuKTtuPW58fHt9LG4udXNlcj0hMDt2YXIgaT1uZXcgVm8ocix0LGUsbik7
cmV0dXJuIG4uaW1tZWRpYXRlJiZlLmNhbGwocixpLnZhbHVlKSxmdW5jdGlvbigpe2kudGVhcmRv
d24oKX19fSh3ZSksZnVuY3Rpb24odCl7dmFyIGU9L15ob29rOi87dC5wcm90b3R5cGUuJG9uPWZ1
bmN0aW9uKHQsbil7dmFyIHI9dGhpcyxpPXRoaXM7aWYoQXJyYXkuaXNBcnJheSh0KSlmb3IodmFy
IG89MCxhPXQubGVuZ3RoO288YTtvKyspci4kb24odFtvXSxuKTtlbHNlKGkuX2V2ZW50c1t0XXx8
KGkuX2V2ZW50c1t0XT1bXSkpLnB1c2gobiksZS50ZXN0KHQpJiYoaS5faGFzSG9va0V2ZW50PSEw
KTtyZXR1cm4gaX0sdC5wcm90b3R5cGUuJG9uY2U9ZnVuY3Rpb24odCxlKXtmdW5jdGlvbiBuKCl7
ci4kb2ZmKHQsbiksZS5hcHBseShyLGFyZ3VtZW50cyl9dmFyIHI9dGhpcztyZXR1cm4gbi5mbj1l
LHIuJG9uKHQsbikscn0sdC5wcm90b3R5cGUuJG9mZj1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMs
cj10aGlzO2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiByLl9ldmVudHM9T2JqZWN0LmNyZWF0
ZShudWxsKSxyO2lmKEFycmF5LmlzQXJyYXkodCkpe2Zvcih2YXIgaT0wLG89dC5sZW5ndGg7aTxv
O2krKyluLiRvZmYodFtpXSxlKTtyZXR1cm4gcn12YXIgYT1yLl9ldmVudHNbdF07aWYoIWEpcmV0
dXJuIHI7aWYoMT09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHIuX2V2ZW50c1t0XT1udWxsLHI7
Zm9yKHZhciBzLGM9YS5sZW5ndGg7Yy0tOylpZigocz1hW2NdKT09PWV8fHMuZm49PT1lKXthLnNw
bGljZShjLDEpO2JyZWFrfXJldHVybiByfSx0LnByb3RvdHlwZS4kZW1pdD1mdW5jdGlvbih0KXt2
YXIgZT10aGlzLG49ZS5fZXZlbnRzW3RdO2lmKG4pe249bi5sZW5ndGg+MT9nKG4pOm47Zm9yKHZh
ciByPWcoYXJndW1lbnRzLDEpLGk9MCxvPW4ubGVuZ3RoO2k8bztpKyspdHJ5e25baV0uYXBwbHko
ZSxyKX1jYXRjaChuKXtTKG4sZSwnZXZlbnQgaGFuZGxlciBmb3IgIicrdCsnIicpfX1yZXR1cm4g
ZX19KHdlKSxmdW5jdGlvbih0KXt0LnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQsZSl7dmFy
IG49dGhpcztuLl9pc01vdW50ZWQmJk90KG4sImJlZm9yZVVwZGF0ZSIpO3ZhciByPW4uJGVsLGk9
bi5fdm5vZGUsbz1JbztJbz1uLG4uX3Zub2RlPXQsaT9uLiRlbD1uLl9fcGF0Y2hfXyhpLHQpOihu
LiRlbD1uLl9fcGF0Y2hfXyhuLiRlbCx0LGUsITEsbi4kb3B0aW9ucy5fcGFyZW50RWxtLG4uJG9w
dGlvbnMuX3JlZkVsbSksbi4kb3B0aW9ucy5fcGFyZW50RWxtPW4uJG9wdGlvbnMuX3JlZkVsbT1u
dWxsKSxJbz1vLHImJihyLl9fdnVlX189bnVsbCksbi4kZWwmJihuLiRlbC5fX3Z1ZV9fPW4pLG4u
JHZub2RlJiZuLiRwYXJlbnQmJm4uJHZub2RlPT09bi4kcGFyZW50Ll92bm9kZSYmKG4uJHBhcmVu
dC4kZWw9bi4kZWwpfSx0LnByb3RvdHlwZS4kZm9yY2VVcGRhdGU9ZnVuY3Rpb24oKXt2YXIgdD10
aGlzO3QuX3dhdGNoZXImJnQuX3dhdGNoZXIudXBkYXRlKCl9LHQucHJvdG90eXBlLiRkZXN0cm95
PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztpZighdC5faXNCZWluZ0Rlc3Ryb3llZCl7T3QodCwiYmVm
b3JlRGVzdHJveSIpLHQuX2lzQmVpbmdEZXN0cm95ZWQ9ITA7dmFyIGU9dC4kcGFyZW50OyFlfHxl
Ll9pc0JlaW5nRGVzdHJveWVkfHx0LiRvcHRpb25zLmFic3RyYWN0fHx2KGUuJGNoaWxkcmVuLHQp
LHQuX3dhdGNoZXImJnQuX3dhdGNoZXIudGVhcmRvd24oKTtmb3IodmFyIG49dC5fd2F0Y2hlcnMu
bGVuZ3RoO24tLTspdC5fd2F0Y2hlcnNbbl0udGVhcmRvd24oKTt0Ll9kYXRhLl9fb2JfXyYmdC5f
ZGF0YS5fX29iX18udm1Db3VudC0tLHQuX2lzRGVzdHJveWVkPSEwLHQuX19wYXRjaF9fKHQuX3Zu
b2RlLG51bGwpLE90KHQsImRlc3Ryb3llZCIpLHQuJG9mZigpLHQuJGVsJiYodC4kZWwuX192dWVf
Xz1udWxsKX19fSh3ZSksZnVuY3Rpb24odCl7dC5wcm90b3R5cGUuJG5leHRUaWNrPWZ1bmN0aW9u
KHQpe3JldHVybiBfbyh0LHRoaXMpfSx0LnByb3RvdHlwZS5fcmVuZGVyPWZ1bmN0aW9uKCl7dmFy
IHQ9dGhpcyxlPXQuJG9wdGlvbnMsbj1lLnJlbmRlcixyPWUuc3RhdGljUmVuZGVyRm5zLGk9ZS5f
cGFyZW50Vm5vZGU7aWYodC5faXNNb3VudGVkKWZvcih2YXIgbyBpbiB0LiRzbG90cyl0LiRzbG90
c1tvXT10dCh0LiRzbG90c1tvXSk7dC4kc2NvcGVkU2xvdHM9aSYmaS5kYXRhLnNjb3BlZFNsb3Rz
fHxZaSxyJiYhdC5fc3RhdGljVHJlZXMmJih0Ll9zdGF0aWNUcmVlcz1bXSksdC4kdm5vZGU9aTt2
YXIgYTt0cnl7YT1uLmNhbGwodC5fcmVuZGVyUHJveHksdC4kY3JlYXRlRWxlbWVudCl9Y2F0Y2go
ZSl7UyhlLHQsInJlbmRlciBmdW5jdGlvbiIpLGE9dC5fdm5vZGV9cmV0dXJuIGEgaW5zdGFuY2Vv
ZiBFb3x8KGE9TG8oKSksYS5wYXJlbnQ9aSxhfSx0LnByb3RvdHlwZS5fbz1wZSx0LnByb3RvdHlw
ZS5fbj1wLHQucHJvdG90eXBlLl9zPWYsdC5wcm90b3R5cGUuX2w9YWUsdC5wcm90b3R5cGUuX3Q9
c2UsdC5wcm90b3R5cGUuX3E9JCx0LnByb3RvdHlwZS5faT1DLHQucHJvdG90eXBlLl9tPWZlLHQu
cHJvdG90eXBlLl9mPWNlLHQucHJvdG90eXBlLl9rPXVlLHQucHJvdG90eXBlLl9iPWxlLHQucHJv
dG90eXBlLl92PVksdC5wcm90b3R5cGUuX2U9TG8sdC5wcm90b3R5cGUuX3U9YnQsdC5wcm90b3R5
cGUuX2c9aGV9KHdlKTt2YXIgWW89W1N0cmluZyxSZWdFeHAsQXJyYXldLFFvPXtuYW1lOiJrZWVw
LWFsaXZlIixhYnN0cmFjdDohMCxwcm9wczp7aW5jbHVkZTpZbyxleGNsdWRlOllvfSxjcmVhdGVk
OmZ1bmN0aW9uKCl7dGhpcy5jYWNoZT1PYmplY3QuY3JlYXRlKG51bGwpfSxkZXN0cm95ZWQ6ZnVu
Y3Rpb24oKXt2YXIgdD10aGlzO2Zvcih2YXIgZSBpbiB0LmNhY2hlKWplKHQuY2FjaGVbZV0pfSx3
YXRjaDp7aW5jbHVkZTpmdW5jdGlvbih0KXtFZSh0aGlzLmNhY2hlLHRoaXMuX3Zub2RlLGZ1bmN0
aW9uKGUpe3JldHVybiBUZSh0LGUpfSl9LGV4Y2x1ZGU6ZnVuY3Rpb24odCl7RWUodGhpcy5jYWNo
ZSx0aGlzLl92bm9kZSxmdW5jdGlvbihlKXtyZXR1cm4hVGUodCxlKX0pfX0scmVuZGVyOmZ1bmN0
aW9uKCl7dmFyIHQ9ZHQodGhpcy4kc2xvdHMuZGVmYXVsdCksZT10JiZ0LmNvbXBvbmVudE9wdGlv
bnM7aWYoZSl7dmFyIG49U2UoZSk7aWYobiYmKHRoaXMuaW5jbHVkZSYmIVRlKHRoaXMuaW5jbHVk
ZSxuKXx8dGhpcy5leGNsdWRlJiZUZSh0aGlzLmV4Y2x1ZGUsbikpKXJldHVybiB0O3ZhciByPW51
bGw9PXQua2V5P2UuQ3Rvci5jaWQrKGUudGFnPyI6OiIrZS50YWc6IiIpOnQua2V5O3RoaXMuY2Fj
aGVbcl0/dC5jb21wb25lbnRJbnN0YW5jZT10aGlzLmNhY2hlW3JdLmNvbXBvbmVudEluc3RhbmNl
OnRoaXMuY2FjaGVbcl09dCx0LmRhdGEua2VlcEFsaXZlPSEwfXJldHVybiB0fX0sdGE9e0tlZXBB
bGl2ZTpRb307IWZ1bmN0aW9uKHQpe3ZhciBlPXt9O2UuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIFhp
fSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiY29uZmlnIixlKSx0LnV0aWw9e3dhcm46dG8sZXh0
ZW5kOl8sbWVyZ2VPcHRpb25zOkssZGVmaW5lUmVhY3RpdmU6SX0sdC5zZXQ9UCx0LmRlbGV0ZT1S
LHQubmV4dFRpY2s9X28sdC5vcHRpb25zPU9iamVjdC5jcmVhdGUobnVsbCksR2kuZm9yRWFjaChm
dW5jdGlvbihlKXt0Lm9wdGlvbnNbZSsicyJdPU9iamVjdC5jcmVhdGUobnVsbCl9KSx0Lm9wdGlv
bnMuX2Jhc2U9dCxfKHQub3B0aW9ucy5jb21wb25lbnRzLHRhKSwkZSh0KSxDZSh0KSx4ZSh0KSxP
ZSh0KX0od2UpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3ZS5wcm90b3R5cGUsIiRpc1NlcnZlciIs
e2dldDptb30pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3ZS5wcm90b3R5cGUsIiRzc3JDb250ZXh0
Iix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJHZub2RlJiZ0aGlzLiR2bm9kZS5zc3JDb250
ZXh0fX0pLHdlLnZlcnNpb249IjIuNC4yIjt2YXIgZWEsbmEscmEsaWEsb2EsYWEsc2EsY2EsdWEs
bGE9ZCgic3R5bGUsY2xhc3MiKSxmYT1kKCJpbnB1dCx0ZXh0YXJlYSxvcHRpb24sc2VsZWN0Iiks
cGE9ZnVuY3Rpb24odCxlLG4pe3JldHVybiJ2YWx1ZSI9PT1uJiZmYSh0KSYmImJ1dHRvbiIhPT1l
fHwic2VsZWN0ZWQiPT09biYmIm9wdGlvbiI9PT10fHwiY2hlY2tlZCI9PT1uJiYiaW5wdXQiPT09
dHx8Im11dGVkIj09PW4mJiJ2aWRlbyI9PT10fSxkYT1kKCJjb250ZW50ZWRpdGFibGUsZHJhZ2dh
YmxlLHNwZWxsY2hlY2siKSx2YT1kKCJhbGxvd2Z1bGxzY3JlZW4sYXN5bmMsYXV0b2ZvY3VzLGF1
dG9wbGF5LGNoZWNrZWQsY29tcGFjdCxjb250cm9scyxkZWNsYXJlLGRlZmF1bHQsZGVmYXVsdGNo
ZWNrZWQsZGVmYXVsdG11dGVkLGRlZmF1bHRzZWxlY3RlZCxkZWZlcixkaXNhYmxlZCxlbmFibGVk
LGZvcm1ub3ZhbGlkYXRlLGhpZGRlbixpbmRldGVybWluYXRlLGluZXJ0LGlzbWFwLGl0ZW1zY29w
ZSxsb29wLG11bHRpcGxlLG11dGVkLG5vaHJlZixub3Jlc2l6ZSxub3NoYWRlLG5vdmFsaWRhdGUs
bm93cmFwLG9wZW4scGF1c2VvbmV4aXQscmVhZG9ubHkscmVxdWlyZWQscmV2ZXJzZWQsc2NvcGVk
LHNlYW1sZXNzLHNlbGVjdGVkLHNvcnRhYmxlLHRyYW5zbGF0ZSx0cnVlc3BlZWQsdHlwZW11c3Rt
YXRjaCx2aXNpYmxlIiksaGE9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLG1hPWZ1bmN0
aW9uKHQpe3JldHVybiI6Ij09PXQuY2hhckF0KDUpJiYieGxpbmsiPT09dC5zbGljZSgwLDUpfSx5
YT1mdW5jdGlvbih0KXtyZXR1cm4gbWEodCk/dC5zbGljZSg2LHQubGVuZ3RoKToiIn0sZ2E9ZnVu
Y3Rpb24odCl7cmV0dXJuIG51bGw9PXR8fCExPT09dH0sX2E9e3N2ZzoiaHR0cDovL3d3dy53My5v
cmcvMjAwMC9zdmciLG1hdGg6Imh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwifSxi
YT1kKCJodG1sLGJvZHksYmFzZSxoZWFkLGxpbmssbWV0YSxzdHlsZSx0aXRsZSxhZGRyZXNzLGFy
dGljbGUsYXNpZGUsZm9vdGVyLGhlYWRlcixoMSxoMixoMyxoNCxoNSxoNixoZ3JvdXAsbmF2LHNl
Y3Rpb24sZGl2LGRkLGRsLGR0LGZpZ2NhcHRpb24sZmlndXJlLHBpY3R1cmUsaHIsaW1nLGxpLG1h
aW4sb2wscCxwcmUsdWwsYSxiLGFiYnIsYmRpLGJkbyxicixjaXRlLGNvZGUsZGF0YSxkZm4sZW0s
aSxrYmQsbWFyayxxLHJwLHJ0LHJ0YyxydWJ5LHMsc2FtcCxzbWFsbCxzcGFuLHN0cm9uZyxzdWIs
c3VwLHRpbWUsdSx2YXIsd2JyLGFyZWEsYXVkaW8sbWFwLHRyYWNrLHZpZGVvLGVtYmVkLG9iamVj
dCxwYXJhbSxzb3VyY2UsY2FudmFzLHNjcmlwdCxub3NjcmlwdCxkZWwsaW5zLGNhcHRpb24sY29s
LGNvbGdyb3VwLHRhYmxlLHRoZWFkLHRib2R5LHRkLHRoLHRyLGJ1dHRvbixkYXRhbGlzdCxmaWVs
ZHNldCxmb3JtLGlucHV0LGxhYmVsLGxlZ2VuZCxtZXRlcixvcHRncm91cCxvcHRpb24sb3V0cHV0
LHByb2dyZXNzLHNlbGVjdCx0ZXh0YXJlYSxkZXRhaWxzLGRpYWxvZyxtZW51LG1lbnVpdGVtLHN1
bW1hcnksY29udGVudCxlbGVtZW50LHNoYWRvdyx0ZW1wbGF0ZSxibG9ja3F1b3RlLGlmcmFtZSx0
Zm9vdCIpLHdhPWQoInN2ZyxhbmltYXRlLGNpcmNsZSxjbGlwcGF0aCxjdXJzb3IsZGVmcyxkZXNj
LGVsbGlwc2UsZmlsdGVyLGZvbnQtZmFjZSxmb3JlaWduT2JqZWN0LGcsZ2x5cGgsaW1hZ2UsbGlu
ZSxtYXJrZXIsbWFzayxtaXNzaW5nLWdseXBoLHBhdGgscGF0dGVybixwb2x5Z29uLHBvbHlsaW5l
LHJlY3Qsc3dpdGNoLHN5bWJvbCx0ZXh0LHRleHRwYXRoLHRzcGFuLHVzZSx2aWV3IiwhMCksJGE9
ZnVuY3Rpb24odCl7cmV0dXJuInByZSI9PT10fSxDYT1mdW5jdGlvbih0KXtyZXR1cm4gYmEodCl8
fHdhKHQpfSx4YT1PYmplY3QuY3JlYXRlKG51bGwpLEFhPU9iamVjdC5mcmVlemUoe2NyZWF0ZUVs
ZW1lbnQ6SGUsY3JlYXRlRWxlbWVudE5TOlZlLGNyZWF0ZVRleHROb2RlOnplLGNyZWF0ZUNvbW1l
bnQ6SmUsaW5zZXJ0QmVmb3JlOktlLHJlbW92ZUNoaWxkOnFlLGFwcGVuZENoaWxkOldlLHBhcmVu
dE5vZGU6R2UsbmV4dFNpYmxpbmc6WmUsdGFnTmFtZTpYZSxzZXRUZXh0Q29udGVudDpZZSxzZXRB
dHRyaWJ1dGU6UWV9KSxrYT17Y3JlYXRlOmZ1bmN0aW9uKHQsZSl7dG4oZSl9LHVwZGF0ZTpmdW5j
dGlvbih0LGUpe3QuZGF0YS5yZWYhPT1lLmRhdGEucmVmJiYodG4odCwhMCksdG4oZSkpfSxkZXN0
cm95OmZ1bmN0aW9uKHQpe3RuKHQsITApfX0sT2E9bmV3IEVvKCIiLHt9LFtdKSxTYT1bImNyZWF0
ZSIsImFjdGl2YXRlIiwidXBkYXRlIiwicmVtb3ZlIiwiZGVzdHJveSJdLFRhPXtjcmVhdGU6b24s
dXBkYXRlOm9uLGRlc3Ryb3k6ZnVuY3Rpb24odCl7b24odCxPYSl9fSxFYT1PYmplY3QuY3JlYXRl
KG51bGwpLGphPVtrYSxUYV0sTmE9e2NyZWF0ZTpsbix1cGRhdGU6bG59LExhPXtjcmVhdGU6cG4s
dXBkYXRlOnBufSxNYT0vW1x3KS4rXC1fJFxdXS8sSWE9Il9fciIsUGE9Il9fYyIsUmE9e2NyZWF0
ZTpGbix1cGRhdGU6Rm59LERhPXtjcmVhdGU6Qm4sdXBkYXRlOkJufSxGYT1tKGZ1bmN0aW9uKHQp
e3ZhciBlPXt9LG49LzsoPyFbXihdKlwpKS9nLHI9LzooLispLztyZXR1cm4gdC5zcGxpdChuKS5m
b3JFYWNoKGZ1bmN0aW9uKHQpe2lmKHQpe3ZhciBuPXQuc3BsaXQocik7bi5sZW5ndGg+MSYmKGVb
blswXS50cmltKCldPW5bMV0udHJpbSgpKX19KSxlfSksQmE9L14tLS8sVWE9L1xzKiFpbXBvcnRh
bnQkLyxIYT1mdW5jdGlvbih0LGUsbil7aWYoQmEudGVzdChlKSl0LnN0eWxlLnNldFByb3BlcnR5
KGUsbik7ZWxzZSBpZihVYS50ZXN0KG4pKXQuc3R5bGUuc2V0UHJvcGVydHkoZSxuLnJlcGxhY2Uo
VWEsIiIpLCJpbXBvcnRhbnQiKTtlbHNle3ZhciByPXphKGUpO2lmKEFycmF5LmlzQXJyYXkobikp
Zm9yKHZhciBpPTAsbz1uLmxlbmd0aDtpPG87aSsrKXQuc3R5bGVbcl09bltpXTtlbHNlIHQuc3R5
bGVbcl09bn19LFZhPVsiV2Via2l0IiwiTW96IiwibXMiXSx6YT1tKGZ1bmN0aW9uKHQpe2lmKHVh
PXVhfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSwiZmlsdGVyIiE9PSh0PUhp
KHQpKSYmdCBpbiB1YSlyZXR1cm4gdDtmb3IodmFyIGU9dC5jaGFyQXQoMCkudG9VcHBlckNhc2Uo
KSt0LnNsaWNlKDEpLG49MDtuPFZhLmxlbmd0aDtuKyspe3ZhciByPVZhW25dK2U7aWYociBpbiB1
YSlyZXR1cm4gcn19KSxKYT17Y3JlYXRlOnFuLHVwZGF0ZTpxbn0sS2E9bShmdW5jdGlvbih0KXty
ZXR1cm57ZW50ZXJDbGFzczp0KyItZW50ZXIiLGVudGVyVG9DbGFzczp0KyItZW50ZXItdG8iLGVu
dGVyQWN0aXZlQ2xhc3M6dCsiLWVudGVyLWFjdGl2ZSIsbGVhdmVDbGFzczp0KyItbGVhdmUiLGxl
YXZlVG9DbGFzczp0KyItbGVhdmUtdG8iLGxlYXZlQWN0aXZlQ2xhc3M6dCsiLWxlYXZlLWFjdGl2
ZSJ9fSkscWE9bm8mJiFvbyxXYT0idHJhbnNpdGlvbiIsR2E9ImFuaW1hdGlvbiIsWmE9InRyYW5z
aXRpb24iLFhhPSJ0cmFuc2l0aW9uZW5kIixZYT0iYW5pbWF0aW9uIixRYT0iYW5pbWF0aW9uZW5k
IjtxYSYmKHZvaWQgMD09PXdpbmRvdy5vbnRyYW5zaXRpb25lbmQmJnZvaWQgMCE9PXdpbmRvdy5v
bndlYmtpdHRyYW5zaXRpb25lbmQmJihaYT0iV2Via2l0VHJhbnNpdGlvbiIsWGE9IndlYmtpdFRy
YW5zaXRpb25FbmQiKSx2b2lkIDA9PT13aW5kb3cub25hbmltYXRpb25lbmQmJnZvaWQgMCE9PXdp
bmRvdy5vbndlYmtpdGFuaW1hdGlvbmVuZCYmKFlhPSJXZWJraXRBbmltYXRpb24iLFFhPSJ3ZWJr
aXRBbmltYXRpb25FbmQiKSk7dmFyIHRzPW5vJiZ3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1l
P3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUuYmluZCh3aW5kb3cpOnNldFRpbWVvdXQsZXM9
L1xiKHRyYW5zZm9ybXxhbGwpKCx8JCkvLG5zPW5vP3tjcmVhdGU6Y3IsYWN0aXZhdGU6Y3IscmVt
b3ZlOmZ1bmN0aW9uKHQsZSl7ITAhPT10LmRhdGEuc2hvdz9vcih0LGUpOmUoKX19Ont9LHJzPVtO
YSxMYSxSYSxEYSxKYSxuc10saXM9cnMuY29uY2F0KGphKSxvcz1mdW5jdGlvbih0KXtmdW5jdGlv
biBlKHQpe3JldHVybiBuZXcgRW8oRS50YWdOYW1lKHQpLnRvTG93ZXJDYXNlKCkse30sW10sdm9p
ZCAwLHQpfWZ1bmN0aW9uIG8odCxlKXtmdW5jdGlvbiBuKCl7MD09LS1uLmxpc3RlbmVycyYmcyh0
KX1yZXR1cm4gbi5saXN0ZW5lcnM9ZSxufWZ1bmN0aW9uIHModCl7dmFyIGU9RS5wYXJlbnROb2Rl
KHQpO3IoZSkmJkUucmVtb3ZlQ2hpbGQoZSx0KX1mdW5jdGlvbiBjKHQsZSxuLG8sYSl7aWYodC5p
c1Jvb3RJbnNlcnQ9IWEsIXUodCxlLG4sbykpe3ZhciBzPXQuZGF0YSxjPXQuY2hpbGRyZW4sbD10
LnRhZztyKGwpPyh0LmVsbT10Lm5zP0UuY3JlYXRlRWxlbWVudE5TKHQubnMsbCk6RS5jcmVhdGVF
bGVtZW50KGwsdCkseSh0KSx2KHQsYyxlKSxyKHMpJiZtKHQsZSkscChuLHQuZWxtLG8pKTppKHQu
aXNDb21tZW50KT8odC5lbG09RS5jcmVhdGVDb21tZW50KHQudGV4dCkscChuLHQuZWxtLG8pKToo
dC5lbG09RS5jcmVhdGVUZXh0Tm9kZSh0LnRleHQpLHAobix0LmVsbSxvKSl9fWZ1bmN0aW9uIHUo
dCxlLG4sbyl7dmFyIGE9dC5kYXRhO2lmKHIoYSkpe3ZhciBzPXIodC5jb21wb25lbnRJbnN0YW5j
ZSkmJmEua2VlcEFsaXZlO2lmKHIoYT1hLmhvb2spJiZyKGE9YS5pbml0KSYmYSh0LCExLG4sbyks
cih0LmNvbXBvbmVudEluc3RhbmNlKSlyZXR1cm4gbCh0LGUpLGkocykmJmYodCxlLG4sbyksITB9
fWZ1bmN0aW9uIGwodCxlKXtyKHQuZGF0YS5wZW5kaW5nSW5zZXJ0KSYmKGUucHVzaC5hcHBseShl
LHQuZGF0YS5wZW5kaW5nSW5zZXJ0KSx0LmRhdGEucGVuZGluZ0luc2VydD1udWxsKSx0LmVsbT10
LmNvbXBvbmVudEluc3RhbmNlLiRlbCxoKHQpPyhtKHQsZSkseSh0KSk6KHRuKHQpLGUucHVzaCh0
KSl9ZnVuY3Rpb24gZih0LGUsbixpKXtmb3IodmFyIG8sYT10O2EuY29tcG9uZW50SW5zdGFuY2U7
KWlmKGE9YS5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGUscihvPWEuZGF0YSkmJnIobz1vLnRyYW5z
aXRpb24pKXtmb3Iobz0wO288Uy5hY3RpdmF0ZS5sZW5ndGg7KytvKVMuYWN0aXZhdGVbb10oT2Es
YSk7ZS5wdXNoKGEpO2JyZWFrfXAobix0LmVsbSxpKX1mdW5jdGlvbiBwKHQsZSxuKXtyKHQpJiYo
cihuKT9uLnBhcmVudE5vZGU9PT10JiZFLmluc2VydEJlZm9yZSh0LGUsbik6RS5hcHBlbmRDaGls
ZCh0LGUpKX1mdW5jdGlvbiB2KHQsZSxuKXtpZihBcnJheS5pc0FycmF5KGUpKWZvcih2YXIgcj0w
O3I8ZS5sZW5ndGg7KytyKWMoZVtyXSxuLHQuZWxtLG51bGwsITApO2Vsc2UgYSh0LnRleHQpJiZF
LmFwcGVuZENoaWxkKHQuZWxtLEUuY3JlYXRlVGV4dE5vZGUodC50ZXh0KSl9ZnVuY3Rpb24gaCh0
KXtmb3IoO3QuY29tcG9uZW50SW5zdGFuY2U7KXQ9dC5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGU7
cmV0dXJuIHIodC50YWcpfWZ1bmN0aW9uIG0odCxlKXtmb3IodmFyIG49MDtuPFMuY3JlYXRlLmxl
bmd0aDsrK24pUy5jcmVhdGVbbl0oT2EsdCk7az10LmRhdGEuaG9vayxyKGspJiYocihrLmNyZWF0
ZSkmJmsuY3JlYXRlKE9hLHQpLHIoay5pbnNlcnQpJiZlLnB1c2godCkpfWZ1bmN0aW9uIHkodCl7
Zm9yKHZhciBlLG49dDtuOylyKGU9bi5jb250ZXh0KSYmcihlPWUuJG9wdGlvbnMuX3Njb3BlSWQp
JiZFLnNldEF0dHJpYnV0ZSh0LmVsbSxlLCIiKSxuPW4ucGFyZW50O3IoZT1JbykmJmUhPT10LmNv
bnRleHQmJnIoZT1lLiRvcHRpb25zLl9zY29wZUlkKSYmRS5zZXRBdHRyaWJ1dGUodC5lbG0sZSwi
Iil9ZnVuY3Rpb24gZyh0LGUsbixyLGksbyl7Zm9yKDtyPD1pOysrciljKG5bcl0sbyx0LGUpfWZ1
bmN0aW9uIF8odCl7dmFyIGUsbixpPXQuZGF0YTtpZihyKGkpKWZvcihyKGU9aS5ob29rKSYmcihl
PWUuZGVzdHJveSkmJmUodCksZT0wO2U8Uy5kZXN0cm95Lmxlbmd0aDsrK2UpUy5kZXN0cm95W2Vd
KHQpO2lmKHIoZT10LmNoaWxkcmVuKSlmb3Iobj0wO248dC5jaGlsZHJlbi5sZW5ndGg7KytuKV8o
dC5jaGlsZHJlbltuXSl9ZnVuY3Rpb24gYih0LGUsbixpKXtmb3IoO248PWk7KytuKXt2YXIgbz1l
W25dO3IobykmJihyKG8udGFnKT8odyhvKSxfKG8pKTpzKG8uZWxtKSl9fWZ1bmN0aW9uIHcodCxl
KXtpZihyKGUpfHxyKHQuZGF0YSkpe3ZhciBuLGk9Uy5yZW1vdmUubGVuZ3RoKzE7Zm9yKHIoZSk/
ZS5saXN0ZW5lcnMrPWk6ZT1vKHQuZWxtLGkpLHIobj10LmNvbXBvbmVudEluc3RhbmNlKSYmcihu
PW4uX3Zub2RlKSYmcihuLmRhdGEpJiZ3KG4sZSksbj0wO248Uy5yZW1vdmUubGVuZ3RoOysrbilT
LnJlbW92ZVtuXSh0LGUpO3Iobj10LmRhdGEuaG9vaykmJnIobj1uLnJlbW92ZSk/bih0LGUpOmUo
KX1lbHNlIHModC5lbG0pfWZ1bmN0aW9uICQodCxlLGksbyxhKXtmb3IodmFyIHMsdSxsLGYscD0w
LGQ9MCx2PWUubGVuZ3RoLTEsaD1lWzBdLG09ZVt2XSx5PWkubGVuZ3RoLTEsXz1pWzBdLHc9aVt5
XSwkPSFhO3A8PXYmJmQ8PXk7KW4oaCk/aD1lWysrcF06bihtKT9tPWVbLS12XTplbihoLF8pPyhD
KGgsXyxvKSxoPWVbKytwXSxfPWlbKytkXSk6ZW4obSx3KT8oQyhtLHcsbyksbT1lWy0tdl0sdz1p
Wy0teV0pOmVuKGgsdyk/KEMoaCx3LG8pLCQmJkUuaW5zZXJ0QmVmb3JlKHQsaC5lbG0sRS5uZXh0
U2libGluZyhtLmVsbSkpLGg9ZVsrK3BdLHc9aVstLXldKTplbihtLF8pPyhDKG0sXyxvKSwkJiZF
Lmluc2VydEJlZm9yZSh0LG0uZWxtLGguZWxtKSxtPWVbLS12XSxfPWlbKytkXSk6KG4ocykmJihz
PXJuKGUscCx2KSksdT1yKF8ua2V5KT9zW18ua2V5XTpudWxsLG4odSk/KGMoXyxvLHQsaC5lbG0p
LF89aVsrK2RdKToobD1lW3VdLGVuKGwsXyk/KEMobCxfLG8pLGVbdV09dm9pZCAwLCQmJkUuaW5z
ZXJ0QmVmb3JlKHQsbC5lbG0saC5lbG0pLF89aVsrK2RdKTooYyhfLG8sdCxoLmVsbSksXz1pWysr
ZF0pKSk7cD52PyhmPW4oaVt5KzFdKT9udWxsOmlbeSsxXS5lbG0sZyh0LGYsaSxkLHksbykpOmQ+
eSYmYih0LGUscCx2KX1mdW5jdGlvbiBDKHQsZSxvLGEpe2lmKHQhPT1lKXt2YXIgcz1lLmVsbT10
LmVsbTtpZihpKHQuaXNBc3luY1BsYWNlaG9sZGVyKSlyZXR1cm4gdm9pZChyKGUuYXN5bmNGYWN0
b3J5LnJlc29sdmVkKT9BKHQuZWxtLGUsbyk6ZS5pc0FzeW5jUGxhY2Vob2xkZXI9ITApO2lmKGko
ZS5pc1N0YXRpYykmJmkodC5pc1N0YXRpYykmJmUua2V5PT09dC5rZXkmJihpKGUuaXNDbG9uZWQp
fHxpKGUuaXNPbmNlKSkpcmV0dXJuIHZvaWQoZS5jb21wb25lbnRJbnN0YW5jZT10LmNvbXBvbmVu
dEluc3RhbmNlKTt2YXIgYyx1PWUuZGF0YTtyKHUpJiZyKGM9dS5ob29rKSYmcihjPWMucHJlcGF0
Y2gpJiZjKHQsZSk7dmFyIGw9dC5jaGlsZHJlbixmPWUuY2hpbGRyZW47aWYocih1KSYmaChlKSl7
Zm9yKGM9MDtjPFMudXBkYXRlLmxlbmd0aDsrK2MpUy51cGRhdGVbY10odCxlKTtyKGM9dS5ob29r
KSYmcihjPWMudXBkYXRlKSYmYyh0LGUpfW4oZS50ZXh0KT9yKGwpJiZyKGYpP2whPT1mJiYkKHMs
bCxmLG8sYSk6cihmKT8ocih0LnRleHQpJiZFLnNldFRleHRDb250ZW50KHMsIiIpLGcocyxudWxs
LGYsMCxmLmxlbmd0aC0xLG8pKTpyKGwpP2IocyxsLDAsbC5sZW5ndGgtMSk6cih0LnRleHQpJiZF
LnNldFRleHRDb250ZW50KHMsIiIpOnQudGV4dCE9PWUudGV4dCYmRS5zZXRUZXh0Q29udGVudChz
LGUudGV4dCkscih1KSYmcihjPXUuaG9vaykmJnIoYz1jLnBvc3RwYXRjaCkmJmModCxlKX19ZnVu
Y3Rpb24geCh0LGUsbil7aWYoaShuKSYmcih0LnBhcmVudCkpdC5wYXJlbnQuZGF0YS5wZW5kaW5n
SW5zZXJ0PWU7ZWxzZSBmb3IodmFyIG89MDtvPGUubGVuZ3RoOysrbyllW29dLmRhdGEuaG9vay5p
bnNlcnQoZVtvXSl9ZnVuY3Rpb24gQSh0LGUsbil7aWYoaShlLmlzQ29tbWVudCkmJnIoZS5hc3lu
Y0ZhY3RvcnkpKXJldHVybiBlLmVsbT10LGUuaXNBc3luY1BsYWNlaG9sZGVyPSEwLCEwO2UuZWxt
PXQ7dmFyIG89ZS50YWcsYT1lLmRhdGEscz1lLmNoaWxkcmVuO2lmKHIoYSkmJihyKGs9YS5ob29r
KSYmcihrPWsuaW5pdCkmJmsoZSwhMCkscihrPWUuY29tcG9uZW50SW5zdGFuY2UpKSlyZXR1cm4g
bChlLG4pLCEwO2lmKHIobykpe2lmKHIocykpaWYodC5oYXNDaGlsZE5vZGVzKCkpe2Zvcih2YXIg
Yz0hMCx1PXQuZmlyc3RDaGlsZCxmPTA7ZjxzLmxlbmd0aDtmKyspe2lmKCF1fHwhQSh1LHNbZl0s
bikpe2M9ITE7YnJlYWt9dT11Lm5leHRTaWJsaW5nfWlmKCFjfHx1KXJldHVybiExfWVsc2Ugdihl
LHMsbik7aWYocihhKSlmb3IodmFyIHAgaW4gYSlpZighaihwKSl7bShlLG4pO2JyZWFrfX1lbHNl
IHQuZGF0YSE9PWUudGV4dCYmKHQuZGF0YT1lLnRleHQpO3JldHVybiEwfXZhciBrLE8sUz17fSxU
PXQubW9kdWxlcyxFPXQubm9kZU9wcztmb3Ioaz0wO2s8U2EubGVuZ3RoOysraylmb3IoU1tTYVtr
XV09W10sTz0wO088VC5sZW5ndGg7KytPKXIoVFtPXVtTYVtrXV0pJiZTW1NhW2tdXS5wdXNoKFRb
T11bU2Fba11dKTt2YXIgaj1kKCJhdHRycyxzdHlsZSxjbGFzcyxzdGF0aWNDbGFzcyxzdGF0aWNT
dHlsZSxrZXkiKTtyZXR1cm4gZnVuY3Rpb24odCxvLGEscyx1LGwpe2lmKG4obykpcmV0dXJuIHZv
aWQocih0KSYmXyh0KSk7dmFyIGY9ITEscD1bXTtpZihuKHQpKWY9ITAsYyhvLHAsdSxsKTtlbHNl
e3ZhciBkPXIodC5ub2RlVHlwZSk7aWYoIWQmJmVuKHQsbykpQyh0LG8scCxzKTtlbHNle2lmKGQp
e2lmKDE9PT10Lm5vZGVUeXBlJiZ0Lmhhc0F0dHJpYnV0ZShXaSkmJih0LnJlbW92ZUF0dHJpYnV0
ZShXaSksYT0hMCksaShhKSYmQSh0LG8scCkpcmV0dXJuIHgobyxwLCEwKSx0O3Q9ZSh0KX12YXIg
dj10LmVsbSxtPUUucGFyZW50Tm9kZSh2KTtpZihjKG8scCx2Ll9sZWF2ZUNiP251bGw6bSxFLm5l
eHRTaWJsaW5nKHYpKSxyKG8ucGFyZW50KSl7Zm9yKHZhciB5PW8ucGFyZW50O3k7KXkuZWxtPW8u
ZWxtLHk9eS5wYXJlbnQ7aWYoaChvKSlmb3IodmFyIGc9MDtnPFMuY3JlYXRlLmxlbmd0aDsrK2cp
Uy5jcmVhdGVbZ10oT2Esby5wYXJlbnQpfXIobSk/YihtLFt0XSwwLDApOnIodC50YWcpJiZfKHQp
fX1yZXR1cm4geChvLHAsZiksby5lbG19fSh7bm9kZU9wczpBYSxtb2R1bGVzOmlzfSksYXM9ZCgi
dGV4dCxudW1iZXIscGFzc3dvcmQsc2VhcmNoLGVtYWlsLHRlbCx1cmwiKTtvbyYmZG9jdW1lbnQu
YWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIixmdW5jdGlvbigpe3ZhciB0PWRvY3Vt
ZW50LmFjdGl2ZUVsZW1lbnQ7dCYmdC52bW9kZWwmJmRyKHQsImlucHV0Iil9KTt2YXIgc3M9e2lu
c2VydGVkOmZ1bmN0aW9uKHQsZSxuKXtpZigic2VsZWN0Ij09PW4udGFnKXt2YXIgcj1mdW5jdGlv
bigpe3VyKHQsZSxuLmNvbnRleHQpfTtyKCksKGlvfHxhbykmJnNldFRpbWVvdXQociwwKSx0Ll92
T3B0aW9ucz1bXS5tYXAuY2FsbCh0Lm9wdGlvbnMsbHIpfWVsc2UoInRleHRhcmVhIj09PW4udGFn
fHxhcyh0LnR5cGUpKSYmKHQuX3ZNb2RpZmllcnM9ZS5tb2RpZmllcnMsZS5tb2RpZmllcnMubGF6
eXx8KHQuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixwciksc298fCh0LmFkZEV2ZW50TGlzdGVu
ZXIoImNvbXBvc2l0aW9uc3RhcnQiLGZyKSx0LmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9u
ZW5kIixwcikpLG9vJiYodC52bW9kZWw9ITApKSl9LGNvbXBvbmVudFVwZGF0ZWQ6ZnVuY3Rpb24o
dCxlLG4pe2lmKCJzZWxlY3QiPT09bi50YWcpe3VyKHQsZSxuLmNvbnRleHQpO3ZhciByPXQuX3ZP
cHRpb25zOyh0Ll92T3B0aW9ucz1bXS5tYXAuY2FsbCh0Lm9wdGlvbnMsbHIpKS5zb21lKGZ1bmN0
aW9uKHQsZSl7cmV0dXJuISQodCxyW2VdKX0pJiZkcih0LCJjaGFuZ2UiKX19fSxjcz17YmluZDpm
dW5jdGlvbih0LGUsbil7dmFyIHI9ZS52YWx1ZTtuPXZyKG4pO3ZhciBpPW4uZGF0YSYmbi5kYXRh
LnRyYW5zaXRpb24sbz10Ll9fdk9yaWdpbmFsRGlzcGxheT0ibm9uZSI9PT10LnN0eWxlLmRpc3Bs
YXk/IiI6dC5zdHlsZS5kaXNwbGF5O3ImJmk/KG4uZGF0YS5zaG93PSEwLGlyKG4sZnVuY3Rpb24o
KXt0LnN0eWxlLmRpc3BsYXk9b30pKTp0LnN0eWxlLmRpc3BsYXk9cj9vOiJub25lIn0sdXBkYXRl
OmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1lLnZhbHVlO3IhPT1lLm9sZFZhbHVlJiYobj12cihuKSxu
LmRhdGEmJm4uZGF0YS50cmFuc2l0aW9uPyhuLmRhdGEuc2hvdz0hMCxyP2lyKG4sZnVuY3Rpb24o
KXt0LnN0eWxlLmRpc3BsYXk9dC5fX3ZPcmlnaW5hbERpc3BsYXl9KTpvcihuLGZ1bmN0aW9uKCl7
dC5zdHlsZS5kaXNwbGF5PSJub25lIn0pKTp0LnN0eWxlLmRpc3BsYXk9cj90Ll9fdk9yaWdpbmFs
RGlzcGxheToibm9uZSIpfSx1bmJpbmQ6ZnVuY3Rpb24odCxlLG4scixpKXtpfHwodC5zdHlsZS5k
aXNwbGF5PXQuX192T3JpZ2luYWxEaXNwbGF5KX19LHVzPXttb2RlbDpzcyxzaG93OmNzfSxscz17
bmFtZTpTdHJpbmcsYXBwZWFyOkJvb2xlYW4sY3NzOkJvb2xlYW4sbW9kZTpTdHJpbmcsdHlwZTpT
dHJpbmcsZW50ZXJDbGFzczpTdHJpbmcsbGVhdmVDbGFzczpTdHJpbmcsZW50ZXJUb0NsYXNzOlN0
cmluZyxsZWF2ZVRvQ2xhc3M6U3RyaW5nLGVudGVyQWN0aXZlQ2xhc3M6U3RyaW5nLGxlYXZlQWN0
aXZlQ2xhc3M6U3RyaW5nLGFwcGVhckNsYXNzOlN0cmluZyxhcHBlYXJBY3RpdmVDbGFzczpTdHJp
bmcsYXBwZWFyVG9DbGFzczpTdHJpbmcsZHVyYXRpb246W051bWJlcixTdHJpbmcsT2JqZWN0XX0s
ZnM9e25hbWU6InRyYW5zaXRpb24iLHByb3BzOmxzLGFic3RyYWN0OiEwLHJlbmRlcjpmdW5jdGlv
bih0KXt2YXIgZT10aGlzLG49dGhpcy4kb3B0aW9ucy5fcmVuZGVyQ2hpbGRyZW47aWYobiYmKG49
bi5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQudGFnfHxicih0KX0pLG4ubGVuZ3RoKSl7dmFy
IHI9dGhpcy5tb2RlLGk9blswXTtpZihncih0aGlzLiR2bm9kZSkpcmV0dXJuIGk7dmFyIG89aHIo
aSk7aWYoIW8pcmV0dXJuIGk7aWYodGhpcy5fbGVhdmluZylyZXR1cm4geXIodCxpKTt2YXIgcz0i
X190cmFuc2l0aW9uLSIrdGhpcy5fdWlkKyItIjtvLmtleT1udWxsPT1vLmtleT9vLmlzQ29tbWVu
dD9zKyJjb21tZW50IjpzK28udGFnOmEoby5rZXkpPzA9PT1TdHJpbmcoby5rZXkpLmluZGV4T2Yo
cyk/by5rZXk6cytvLmtleTpvLmtleTt2YXIgYz0oby5kYXRhfHwoby5kYXRhPXt9KSkudHJhbnNp
dGlvbj1tcih0aGlzKSx1PXRoaXMuX3Zub2RlLGw9aHIodSk7aWYoby5kYXRhLmRpcmVjdGl2ZXMm
Jm8uZGF0YS5kaXJlY3RpdmVzLnNvbWUoZnVuY3Rpb24odCl7cmV0dXJuInNob3ciPT09dC5uYW1l
fSkmJihvLmRhdGEuc2hvdz0hMCksbCYmbC5kYXRhJiYhX3IobyxsKSYmIWJyKGwpKXt2YXIgZj1s
JiYobC5kYXRhLnRyYW5zaXRpb249Xyh7fSxjKSk7aWYoIm91dC1pbiI9PT1yKXJldHVybiB0aGlz
Ll9sZWF2aW5nPSEwLHJ0KGYsImFmdGVyTGVhdmUiLGZ1bmN0aW9uKCl7ZS5fbGVhdmluZz0hMSxl
LiRmb3JjZVVwZGF0ZSgpfSkseXIodCxpKTtpZigiaW4tb3V0Ij09PXIpe2lmKGJyKG8pKXJldHVy
biB1O3ZhciBwLGQ9ZnVuY3Rpb24oKXtwKCl9O3J0KGMsImFmdGVyRW50ZXIiLGQpLHJ0KGMsImVu
dGVyQ2FuY2VsbGVkIixkKSxydChmLCJkZWxheUxlYXZlIixmdW5jdGlvbih0KXtwPXR9KX19cmV0
dXJuIGl9fX0scHM9Xyh7dGFnOlN0cmluZyxtb3ZlQ2xhc3M6U3RyaW5nfSxscyk7ZGVsZXRlIHBz
Lm1vZGU7dmFyIGRzPXtwcm9wczpwcyxyZW5kZXI6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMu
dGFnfHx0aGlzLiR2bm9kZS5kYXRhLnRhZ3x8InNwYW4iLG49T2JqZWN0LmNyZWF0ZShudWxsKSxy
PXRoaXMucHJldkNoaWxkcmVuPXRoaXMuY2hpbGRyZW4saT10aGlzLiRzbG90cy5kZWZhdWx0fHxb
XSxvPXRoaXMuY2hpbGRyZW49W10sYT1tcih0aGlzKSxzPTA7czxpLmxlbmd0aDtzKyspe3ZhciBj
PWlbc107aWYoYy50YWcpaWYobnVsbCE9Yy5rZXkmJjAhPT1TdHJpbmcoYy5rZXkpLmluZGV4T2Yo
Il9fdmxpc3QiKSlvLnB1c2goYyksbltjLmtleV09YywoYy5kYXRhfHwoYy5kYXRhPXt9KSkudHJh
bnNpdGlvbj1hO2Vsc2U7fWlmKHIpe2Zvcih2YXIgdT1bXSxsPVtdLGY9MDtmPHIubGVuZ3RoO2Yr
Kyl7dmFyIHA9cltmXTtwLmRhdGEudHJhbnNpdGlvbj1hLHAuZGF0YS5wb3M9cC5lbG0uZ2V0Qm91
bmRpbmdDbGllbnRSZWN0KCksbltwLmtleV0/dS5wdXNoKHApOmwucHVzaChwKX10aGlzLmtlcHQ9
dChlLG51bGwsdSksdGhpcy5yZW1vdmVkPWx9cmV0dXJuIHQoZSxudWxsLG8pfSxiZWZvcmVVcGRh
dGU6ZnVuY3Rpb24oKXt0aGlzLl9fcGF0Y2hfXyh0aGlzLl92bm9kZSx0aGlzLmtlcHQsITEsITAp
LHRoaXMuX3Zub2RlPXRoaXMua2VwdH0sdXBkYXRlZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMucHJl
dkNoaWxkcmVuLGU9dGhpcy5tb3ZlQ2xhc3N8fCh0aGlzLm5hbWV8fCJ2IikrIi1tb3ZlIjtpZih0
Lmxlbmd0aCYmdGhpcy5oYXNNb3ZlKHRbMF0uZWxtLGUpKXt0LmZvckVhY2god3IpLHQuZm9yRWFj
aCgkciksdC5mb3JFYWNoKENyKTt2YXIgbj1kb2N1bWVudC5ib2R5O24ub2Zmc2V0SGVpZ2h0O3Qu
Zm9yRWFjaChmdW5jdGlvbih0KXtpZih0LmRhdGEubW92ZWQpe3ZhciBuPXQuZWxtLHI9bi5zdHls
ZTtZbihuLGUpLHIudHJhbnNmb3JtPXIuV2Via2l0VHJhbnNmb3JtPXIudHJhbnNpdGlvbkR1cmF0
aW9uPSIiLG4uYWRkRXZlbnRMaXN0ZW5lcihYYSxuLl9tb3ZlQ2I9ZnVuY3Rpb24gdChyKXtyJiYh
L3RyYW5zZm9ybSQvLnRlc3Qoci5wcm9wZXJ0eU5hbWUpfHwobi5yZW1vdmVFdmVudExpc3RlbmVy
KFhhLHQpLG4uX21vdmVDYj1udWxsLFFuKG4sZSkpfSl9fSl9fSxtZXRob2RzOntoYXNNb3ZlOmZ1
bmN0aW9uKHQsZSl7aWYoIXFhKXJldHVybiExO2lmKHRoaXMuX2hhc01vdmUpcmV0dXJuIHRoaXMu
X2hhc01vdmU7dmFyIG49dC5jbG9uZU5vZGUoKTt0Ll90cmFuc2l0aW9uQ2xhc3NlcyYmdC5fdHJh
bnNpdGlvbkNsYXNzZXMuZm9yRWFjaChmdW5jdGlvbih0KXtHbihuLHQpfSksV24obixlKSxuLnN0
eWxlLmRpc3BsYXk9Im5vbmUiLHRoaXMuJGVsLmFwcGVuZENoaWxkKG4pO3ZhciByPWVyKG4pO3Jl
dHVybiB0aGlzLiRlbC5yZW1vdmVDaGlsZChuKSx0aGlzLl9oYXNNb3ZlPXIuaGFzVHJhbnNmb3Jt
fX19LHZzPXtUcmFuc2l0aW9uOmZzLFRyYW5zaXRpb25Hcm91cDpkc307d2UuY29uZmlnLm11c3RV
c2VQcm9wPXBhLHdlLmNvbmZpZy5pc1Jlc2VydmVkVGFnPUNhLHdlLmNvbmZpZy5pc1Jlc2VydmVk
QXR0cj1sYSx3ZS5jb25maWcuZ2V0VGFnTmFtZXNwYWNlPUZlLHdlLmNvbmZpZy5pc1Vua25vd25F
bGVtZW50PUJlLF8od2Uub3B0aW9ucy5kaXJlY3RpdmVzLHVzKSxfKHdlLm9wdGlvbnMuY29tcG9u
ZW50cyx2cyksd2UucHJvdG90eXBlLl9fcGF0Y2hfXz1ubz9vczp3LHdlLnByb3RvdHlwZS4kbW91
bnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD10JiZubz9VZSh0KTp2b2lkIDAsJHQodGhpcyx0LGUp
fSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7WGkuZGV2dG9vbHMmJnlvJiZ5by5lbWl0KCJpbml0Iix3
ZSl9LDApO3ZhciBocyxtcz0hIW5vJiZmdW5jdGlvbih0LGUpe3ZhciBuPWRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImRpdiIpO3JldHVybiBuLmlubmVySFRNTD0nPGRpdiBhPSInK3QrJyIvPicsbi5p
bm5lckhUTUwuaW5kZXhPZihlKT4wfSgiXG4iLCImIzEwOyIpLHlzPS9ce1x7KCg/Oi58XG4pKz8p
XH1cfS9nLGdzPS9bLS4qKz9eJHt9KCl8W1xdXC9cXF0vZyxfcz1tKGZ1bmN0aW9uKHQpe3ZhciBl
PXRbMF0ucmVwbGFjZShncywiXFwkJiIpLG49dFsxXS5yZXBsYWNlKGdzLCJcXCQmIik7cmV0dXJu
IG5ldyBSZWdFeHAoZSsiKCg/Oi58XFxuKSs/KSIrbiwiZyIpfSksYnM9e3N0YXRpY0tleXM6WyJz
dGF0aWNDbGFzcyJdLHRyYW5zZm9ybU5vZGU6QXIsZ2VuRGF0YTprcn0sd3M9e3N0YXRpY0tleXM6
WyJzdGF0aWNTdHlsZSJdLHRyYW5zZm9ybU5vZGU6T3IsZ2VuRGF0YTpTcn0sJHM9W2JzLHdzXSxD
cz17bW9kZWw6am4sdGV4dDpUcixodG1sOkVyfSx4cz1kKCJhcmVhLGJhc2UsYnIsY29sLGVtYmVk
LGZyYW1lLGhyLGltZyxpbnB1dCxpc2luZGV4LGtleWdlbixsaW5rLG1ldGEscGFyYW0sc291cmNl
LHRyYWNrLHdiciIpLEFzPWQoImNvbGdyb3VwLGRkLGR0LGxpLG9wdGlvbnMscCx0ZCx0Zm9vdCx0
aCx0aGVhZCx0cixzb3VyY2UiKSxrcz1kKCJhZGRyZXNzLGFydGljbGUsYXNpZGUsYmFzZSxibG9j
a3F1b3RlLGJvZHksY2FwdGlvbixjb2wsY29sZ3JvdXAsZGQsZGV0YWlscyxkaWFsb2csZGl2LGRs
LGR0LGZpZWxkc2V0LGZpZ2NhcHRpb24sZmlndXJlLGZvb3Rlcixmb3JtLGgxLGgyLGgzLGg0LGg1
LGg2LGhlYWQsaGVhZGVyLGhncm91cCxocixodG1sLGxlZ2VuZCxsaSxtZW51aXRlbSxtZXRhLG9w
dGdyb3VwLG9wdGlvbixwYXJhbSxycCxydCxzb3VyY2Usc3R5bGUsc3VtbWFyeSx0Ym9keSx0ZCx0
Zm9vdCx0aCx0aGVhZCx0aXRsZSx0cix0cmFjayIpLE9zPXtleHBlY3RIVE1MOiEwLG1vZHVsZXM6
JHMsZGlyZWN0aXZlczpDcyxpc1ByZVRhZzokYSxpc1VuYXJ5VGFnOnhzLG11c3RVc2VQcm9wOnBh
LGNhbkJlTGVmdE9wZW5UYWc6QXMsaXNSZXNlcnZlZFRhZzpDYSxnZXRUYWdOYW1lc3BhY2U6RmUs
c3RhdGljS2V5czpmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWR1Y2UoZnVuY3Rpb24odCxlKXtyZXR1
cm4gdC5jb25jYXQoZS5zdGF0aWNLZXlzfHxbXSl9LFtdKS5qb2luKCIsIil9KCRzKX0sU3M9e2Rl
Y29kZTpmdW5jdGlvbih0KXtyZXR1cm4gaHM9aHN8fGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpLGhzLmlubmVySFRNTD10LGhzLnRleHRDb250ZW50fX0sVHM9LyhbXlxzIic8PlwvPV0rKS8s
RXM9Lyg/Oj0pLyxqcz1bLyIoW14iXSopIisvLnNvdXJjZSwvJyhbXiddKiknKy8uc291cmNlLC8o
W15ccyInPTw+YF0rKS8uc291cmNlXSxOcz1uZXcgUmVnRXhwKCJeXFxzKiIrVHMuc291cmNlKyIo
PzpcXHMqKCIrRXMuc291cmNlKyIpXFxzKig/OiIranMuam9pbigifCIpKyIpKT8iKSxMcz0iW2Et
ekEtWl9dW1xcd1xcLVxcLl0qIixNcz0iKCg/OiIrTHMrIlxcOik/IitMcysiKSIsSXM9bmV3IFJl
Z0V4cCgiXjwiK01zKSxQcz0vXlxzKihcLz8pPi8sUnM9bmV3IFJlZ0V4cCgiXjxcXC8iK01zKyJb
Xj5dKj4iKSxEcz0vXjwhRE9DVFlQRSBbXj5dKz4vaSxGcz0vXjwhLS0vLEJzPS9ePCFcWy8sVXM9
ITE7IngiLnJlcGxhY2UoL3goLik/L2csZnVuY3Rpb24odCxlKXtVcz0iIj09PWV9KTt2YXIgSHMs
VnMsenMsSnMsS3MscXMsV3MsR3MsWnMsWHMsWXM9ZCgic2NyaXB0LHN0eWxlLHRleHRhcmVhIiwh
MCksUXM9e30sdGM9eyImbHQ7IjoiPCIsIiZndDsiOiI+IiwiJnF1b3Q7IjonIicsIiZhbXA7Ijoi
JiIsIiYjMTA7IjoiXG4ifSxlYz0vJig/Omx0fGd0fHF1b3R8YW1wKTsvZyxuYz0vJig/Omx0fGd0
fHF1b3R8YW1wfCMxMCk7L2cscmM9ZCgicHJlLHRleHRhcmVhIiwhMCksaWM9ZnVuY3Rpb24odCxl
KXtyZXR1cm4gdCYmcmModCkmJiJcbiI9PT1lWzBdfSxvYz0vXkB8XnYtb246LyxhYz0vXnYtfF5A
fF46LyxzYz0vKC4qPylccysoPzppbnxvZilccysoLiopLyxjYz0vXCgoXHtbXn1dKlx9fFteLF0q
KSwoW14sXSopKD86LChbXixdKikpP1wpLyx1Yz0vOiguKikkLyxsYz0vXjp8XnYtYmluZDovLGZj
PS9cLlteLl0rL2cscGM9bShTcy5kZWNvZGUpLGRjPS9eeG1sbnM6TlNcZCsvLHZjPS9eTlNcZCs6
LyxoYz1tKHRpKSxtYz0vXlxzKihbXHckX10rfFwoW14pXSo/XCkpXHMqPT58XmZ1bmN0aW9uXHMq
XCgvLHljPS9eXHMqW0EtWmEtel8kXVtcdyRdKig/OlwuW0EtWmEtel8kXVtcdyRdKnxcWycuKj8n
XXxcWyIuKj8iXXxcW1xkK118XFtbQS1aYS16XyRdW1x3JF0qXSkqXHMqJC8sZ2M9e2VzYzoyNyx0
YWI6OSxlbnRlcjoxMyxzcGFjZTozMix1cDozOCxsZWZ0OjM3LHJpZ2h0OjM5LGRvd246NDAsZGVs
ZXRlOls4LDQ2XX0sX2M9ZnVuY3Rpb24odCl7cmV0dXJuImlmKCIrdCsiKXJldHVybiBudWxsOyJ9
LGJjPXtzdG9wOiIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IixwcmV2ZW50OiIkZXZlbnQucHJl
dmVudERlZmF1bHQoKTsiLHNlbGY6X2MoIiRldmVudC50YXJnZXQgIT09ICRldmVudC5jdXJyZW50
VGFyZ2V0IiksY3RybDpfYygiISRldmVudC5jdHJsS2V5Iiksc2hpZnQ6X2MoIiEkZXZlbnQuc2hp
ZnRLZXkiKSxhbHQ6X2MoIiEkZXZlbnQuYWx0S2V5IiksbWV0YTpfYygiISRldmVudC5tZXRhS2V5
IiksbGVmdDpfYygiJ2J1dHRvbicgaW4gJGV2ZW50ICYmICRldmVudC5idXR0b24gIT09IDAiKSxt
aWRkbGU6X2MoIididXR0b24nIGluICRldmVudCAmJiAkZXZlbnQuYnV0dG9uICE9PSAxIikscmln
aHQ6X2MoIididXR0b24nIGluICRldmVudCAmJiAkZXZlbnQuYnV0dG9uICE9PSAyIil9LHdjPXtv
bjp1aSxiaW5kOmxpLGNsb2FrOnd9LCRjPWZ1bmN0aW9uKHQpe3RoaXMub3B0aW9ucz10LHRoaXMu
d2Fybj10Lndhcm58fGhuLHRoaXMudHJhbnNmb3Jtcz1tbih0Lm1vZHVsZXMsInRyYW5zZm9ybUNv
ZGUiKSx0aGlzLmRhdGFHZW5GbnM9bW4odC5tb2R1bGVzLCJnZW5EYXRhIiksdGhpcy5kaXJlY3Rp
dmVzPV8oXyh7fSx3YyksdC5kaXJlY3RpdmVzKTt2YXIgZT10LmlzUmVzZXJ2ZWRUYWd8fEtpO3Ro
aXMubWF5YmVDb21wb25lbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIWUodC50YWcpfSx0aGlzLm9uY2VJ
ZD0wLHRoaXMuc3RhdGljUmVuZGVyRm5zPVtdfSxDYz0obmV3IFJlZ0V4cCgiXFxiIisiZG8saWYs
Zm9yLGxldCxuZXcsdHJ5LHZhcixjYXNlLGVsc2Usd2l0aCxhd2FpdCxicmVhayxjYXRjaCxjbGFz
cyxjb25zdCxzdXBlcix0aHJvdyx3aGlsZSx5aWVsZCxkZWxldGUsZXhwb3J0LGltcG9ydCxyZXR1
cm4sc3dpdGNoLGRlZmF1bHQsZXh0ZW5kcyxmaW5hbGx5LGNvbnRpbnVlLGRlYnVnZ2VyLGZ1bmN0
aW9uLGFyZ3VtZW50cyIuc3BsaXQoIiwiKS5qb2luKCJcXGJ8XFxiIikrIlxcYiIpLG5ldyBSZWdF
eHAoIlxcYiIrImRlbGV0ZSx0eXBlb2Ysdm9pZCIuc3BsaXQoIiwiKS5qb2luKCJcXHMqXFwoW15c
XCldKlxcKXxcXGIiKSsiXFxzKlxcKFteXFwpXSpcXCkiKSxmdW5jdGlvbih0KXtyZXR1cm4gZnVu
Y3Rpb24oZSl7ZnVuY3Rpb24gbihuLHIpe3ZhciBpPU9iamVjdC5jcmVhdGUoZSksbz1bXSxhPVtd
O2lmKGkud2Fybj1mdW5jdGlvbih0LGUpeyhlP2E6bykucHVzaCh0KX0scil7ci5tb2R1bGVzJiYo
aS5tb2R1bGVzPShlLm1vZHVsZXN8fFtdKS5jb25jYXQoci5tb2R1bGVzKSksci5kaXJlY3RpdmVz
JiYoaS5kaXJlY3RpdmVzPV8oT2JqZWN0LmNyZWF0ZShlLmRpcmVjdGl2ZXMpLHIuZGlyZWN0aXZl
cykpO2Zvcih2YXIgcyBpbiByKSJtb2R1bGVzIiE9PXMmJiJkaXJlY3RpdmVzIiE9PXMmJihpW3Nd
PXJbc10pfXZhciBjPXQobixpKTtyZXR1cm4gYy5lcnJvcnM9byxjLnRpcHM9YSxjfXJldHVybntj
b21waWxlOm4sY29tcGlsZVRvRnVuY3Rpb25zOklpKG4pfX19KGZ1bmN0aW9uKHQsZSl7dmFyIG49
THIodC50cmltKCksZSk7UXIobixlKTt2YXIgcj1maShuLGUpO3JldHVybnthc3Q6bixyZW5kZXI6
ci5yZW5kZXIsc3RhdGljUmVuZGVyRm5zOnIuc3RhdGljUmVuZGVyRm5zfX0pKSx4Yz1DYyhPcyks
QWM9eGMuY29tcGlsZVRvRnVuY3Rpb25zLGtjPW0oZnVuY3Rpb24odCl7dmFyIGU9VWUodCk7cmV0
dXJuIGUmJmUuaW5uZXJIVE1MfSksT2M9d2UucHJvdG90eXBlLiRtb3VudDt3ZS5wcm90b3R5cGUu
JG1vdW50PWZ1bmN0aW9uKHQsZSl7aWYoKHQ9dCYmVWUodCkpPT09ZG9jdW1lbnQuYm9keXx8dD09
PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudClyZXR1cm4gdGhpczt2YXIgbj10aGlzLiRvcHRpb25z
O2lmKCFuLnJlbmRlcil7dmFyIHI9bi50ZW1wbGF0ZTtpZihyKWlmKCJzdHJpbmciPT10eXBlb2Yg
cikiIyI9PT1yLmNoYXJBdCgwKSYmKHI9a2MocikpO2Vsc2V7aWYoIXIubm9kZVR5cGUpcmV0dXJu
IHRoaXM7cj1yLmlubmVySFRNTH1lbHNlIHQmJihyPVBpKHQpKTtpZihyKXt2YXIgaT1BYyhyLHtz
aG91bGREZWNvZGVOZXdsaW5lczptcyxkZWxpbWl0ZXJzOm4uZGVsaW1pdGVycyxjb21tZW50czpu
LmNvbW1lbnRzfSx0aGlzKSxvPWkucmVuZGVyLGE9aS5zdGF0aWNSZW5kZXJGbnM7bi5yZW5kZXI9
byxuLnN0YXRpY1JlbmRlckZucz1hfX1yZXR1cm4gT2MuY2FsbCh0aGlzLHQsZSl9LHdlLmNvbXBp
bGU9QWMsZS5kZWZhdWx0PXdlfS5jYWxsKGUsbigxMikpfSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0
cz1mdW5jdGlvbih0LGUsbixyLGkpe3ZhciBvLGE9dD10fHx7fSxzPXR5cGVvZiB0LmRlZmF1bHQ7
Im9iamVjdCIhPT1zJiYiZnVuY3Rpb24iIT09c3x8KG89dCxhPXQuZGVmYXVsdCk7dmFyIGM9ImZ1
bmN0aW9uIj09dHlwZW9mIGE/YS5vcHRpb25zOmE7ZSYmKGMucmVuZGVyPWUucmVuZGVyLGMuc3Rh
dGljUmVuZGVyRm5zPWUuc3RhdGljUmVuZGVyRm5zKSxyJiYoYy5fc2NvcGVJZD1yKTt2YXIgdTtp
ZihpPyh1PWZ1bmN0aW9uKHQpe3Q9dHx8dGhpcy4kdm5vZGUmJnRoaXMuJHZub2RlLnNzckNvbnRl
eHR8fHRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC4kdm5vZGUmJnRoaXMucGFyZW50LiR2bm9kZS5z
c3JDb250ZXh0LHR8fCJ1bmRlZmluZWQiPT10eXBlb2YgX19WVUVfU1NSX0NPTlRFWFRfX3x8KHQ9
X19WVUVfU1NSX0NPTlRFWFRfXyksbiYmbi5jYWxsKHRoaXMsdCksdCYmdC5fcmVnaXN0ZXJlZENv
bXBvbmVudHMmJnQuX3JlZ2lzdGVyZWRDb21wb25lbnRzLmFkZChpKX0sYy5fc3NyUmVnaXN0ZXI9
dSk6biYmKHU9biksdSl7dmFyIGw9Yy5mdW5jdGlvbmFsLGY9bD9jLnJlbmRlcjpjLmJlZm9yZUNy
ZWF0ZTtsP2MucmVuZGVyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHUuY2FsbChlKSxmKHQsZSl9OmMu
YmVmb3JlQ3JlYXRlPWY/W10uY29uY2F0KGYsdSk6W3VdfXJldHVybntlc01vZHVsZTpvLGV4cG9y
dHM6YSxvcHRpb25zOmN9fX0sZnVuY3Rpb24odCxlLG4peyFmdW5jdGlvbih0KXtmdW5jdGlvbiBl
KCl7cmV0dXJuIiI9PT11Lmhhc2h8fCIjIj09PXUuaGFzaH1mdW5jdGlvbiBuKHQsZSl7Zm9yKHZh
ciBuPTA7bjx0Lmxlbmd0aDtuKz0xKWlmKCExPT09ZSh0W25dLG4sdCkpcmV0dXJufWZ1bmN0aW9u
IHIodCl7Zm9yKHZhciBlPVtdLG49MCxyPXQubGVuZ3RoO248cjtuKyspZT1lLmNvbmNhdCh0W25d
KTtyZXR1cm4gZX1mdW5jdGlvbiBpKHQsZSxuKXtpZighdC5sZW5ndGgpcmV0dXJuIG4oKTt2YXIg
cj0wOyFmdW5jdGlvbiBpKCl7ZSh0W3JdLGZ1bmN0aW9uKGUpe2V8fCExPT09ZT8obihlKSxuPWZ1
bmN0aW9uKCl7fSk6KHIrPTEscj09PXQubGVuZ3RoP24oKTppKCkpfSl9KCl9ZnVuY3Rpb24gbyh0
LGUsbil7bj10O2Zvcih2YXIgciBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkocikmJihuPWVbcl0o
dCkpIT09dClicmVhaztyZXR1cm4gbj09PXQ/IihbLl9hLXpBLVowLTktJSgpXSspIjpufWZ1bmN0
aW9uIGEodCxlKXtmb3IodmFyIG4scj0wLGk9IiI7bj10LnN1YnN0cihyKS5tYXRjaCgvW15cd1xk
XC0gJUAmXSpcKlteXHdcZFwtICVAJl0qLyk7KXI9bi5pbmRleCtuWzBdLmxlbmd0aCxuWzBdPW5b
MF0ucmVwbGFjZSgvXlwqLywiKFtfLigpIVxcICVAJmEtekEtWjAtOS1dKykiKSxpKz10LnN1YnN0
cigwLG4uaW5kZXgpK25bMF07dD1pKz10LnN1YnN0cihyKTt2YXIgYSxzLGM9dC5tYXRjaCgvOihb
XlwvXSspL2dpKTtpZihjKXtzPWMubGVuZ3RoO2Zvcih2YXIgdT0wO3U8czt1KyspYT1jW3VdLHQ9
Ijo6Ij09PWEuc2xpY2UoMCwyKT9hLnNsaWNlKDEpOnQucmVwbGFjZShhLG8oYSxlKSl9cmV0dXJu
IHR9ZnVuY3Rpb24gYyh0LGUsbixyKXt2YXIgaSxvPTAsYT0wLHM9MCxuPShufHwiKCIpLnRvU3Ry
aW5nKCkscj0ocnx8IikiKS50b1N0cmluZygpO2ZvcihpPTA7aTx0Lmxlbmd0aDtpKyspe3ZhciBj
PXRbaV07aWYoYy5pbmRleE9mKG4sbyk+Yy5pbmRleE9mKHIsbyl8fH5jLmluZGV4T2YobixvKSYm
IX5jLmluZGV4T2YocixvKXx8IX5jLmluZGV4T2YobixvKSYmfmMuaW5kZXhPZihyLG8pKXtpZihh
PWMuaW5kZXhPZihuLG8pLHM9Yy5pbmRleE9mKHIsbyksfmEmJiF+c3x8IX5hJiZ+cyl7dD1bdC5z
bGljZSgwLChpfHwxKSsxKS5qb2luKGUpXS5jb25jYXQodC5zbGljZSgoaXx8MSkrMSkpfW89KHM+
YT9zOmEpKzEsaT0wfWVsc2Ugbz0wfXJldHVybiB0fXZhciB1PWRvY3VtZW50LmxvY2F0aW9uLGw9
e21vZGU6Im1vZGVybiIsaGFzaDp1Lmhhc2gsaGlzdG9yeTohMSxjaGVjazpmdW5jdGlvbigpe3Zh
ciB0PXUuaGFzaDt0IT10aGlzLmhhc2gmJih0aGlzLmhhc2g9dCx0aGlzLm9uSGFzaENoYW5nZWQo
KSl9LGZpcmU6ZnVuY3Rpb24oKXsibW9kZXJuIj09PXRoaXMubW9kZT8hMD09PXRoaXMuaGlzdG9y
eT93aW5kb3cub25wb3BzdGF0ZSgpOndpbmRvdy5vbmhhc2hjaGFuZ2UoKTp0aGlzLm9uSGFzaENo
YW5nZWQoKX0saW5pdDpmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIG4odCl7Zm9yKHZhciBlPTAsbj1m
Lmxpc3RlbmVycy5sZW5ndGg7ZTxuO2UrKylmLmxpc3RlbmVyc1tlXSh0KX12YXIgcj10aGlzO2lm
KHRoaXMuaGlzdG9yeT1lLGYubGlzdGVuZXJzfHwoZi5saXN0ZW5lcnM9W10pLCJvbmhhc2hjaGFu
Z2UiaW4gd2luZG93JiYodm9pZCAwPT09ZG9jdW1lbnQuZG9jdW1lbnRNb2RlfHxkb2N1bWVudC5k
b2N1bWVudE1vZGU+NykpITA9PT10aGlzLmhpc3Rvcnk/c2V0VGltZW91dChmdW5jdGlvbigpe3dp
bmRvdy5vbnBvcHN0YXRlPW59LDUwMCk6d2luZG93Lm9uaGFzaGNoYW5nZT1uLHRoaXMubW9kZT0i
bW9kZXJuIjtlbHNle3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpO2kuaWQ9
InN0YXRlLWZyYW1lIixpLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoaSksdGhpcy53cml0ZUZyYW1lKCIiKSwib25wcm9wZXJ0eWNoYW5nZSJpbiBkb2N1bWVu
dCYmImF0dGFjaEV2ZW50ImluIGRvY3VtZW50JiZkb2N1bWVudC5hdHRhY2hFdmVudCgib25wcm9w
ZXJ0eWNoYW5nZSIsZnVuY3Rpb24oKXsibG9jYXRpb24iPT09ZXZlbnQucHJvcGVydHlOYW1lJiZy
LmNoZWNrKCl9KSx3aW5kb3cuc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtyLmNoZWNrKCl9LDUwKSx0
aGlzLm9uSGFzaENoYW5nZWQ9bix0aGlzLm1vZGU9ImxlZ2FjeSJ9cmV0dXJuIGYubGlzdGVuZXJz
LnB1c2godCksdGhpcy5tb2RlfSxkZXN0cm95OmZ1bmN0aW9uKHQpe2lmKGYmJmYubGlzdGVuZXJz
KWZvcih2YXIgZT1mLmxpc3RlbmVycyxuPWUubGVuZ3RoLTE7bj49MDtuLS0pZVtuXT09PXQmJmUu
c3BsaWNlKG4sMSl9LHNldEhhc2g6ZnVuY3Rpb24odCl7cmV0dXJuImxlZ2FjeSI9PT10aGlzLm1v
ZGUmJnRoaXMud3JpdGVGcmFtZSh0KSwhMD09PXRoaXMuaGlzdG9yeT8od2luZG93Lmhpc3Rvcnku
cHVzaFN0YXRlKHt9LGRvY3VtZW50LnRpdGxlLHQpLHRoaXMuZmlyZSgpKTp1Lmhhc2g9Ii8iPT09
dFswXT90OiIvIit0LHRoaXN9LHdyaXRlRnJhbWU6ZnVuY3Rpb24odCl7dmFyIGU9ZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInN0YXRlLWZyYW1lIiksbj1lLmNvbnRlbnREb2N1bWVudHx8ZS5jb250
ZW50V2luZG93LmRvY3VtZW50O24ub3BlbigpLG4ud3JpdGUoIjxzY3JpcHQ+X2hhc2ggPSAnIit0
KyInOyBvbmxvYWQgPSBwYXJlbnQubGlzdGVuZXIuc3luY0hhc2g7PHNjcmlwdD4iKSxuLmNsb3Nl
KCl9LHN5bmNIYXNoOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5faGFzaDtyZXR1cm4gdCE9dS5oYXNo
JiYodS5oYXNoPXQpLHRoaXN9LG9uSGFzaENoYW5nZWQ6ZnVuY3Rpb24oKXt9fSxmPXQuUm91dGVy
PWZ1bmN0aW9uKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGYpKXJldHVybiBuZXcgZih0KTt0aGlz
LnBhcmFtcz17fSx0aGlzLnJvdXRlcz17fSx0aGlzLm1ldGhvZHM9WyJvbiIsIm9uY2UiLCJhZnRl
ciIsImJlZm9yZSJdLHRoaXMuc2NvcGU9W10sdGhpcy5fbWV0aG9kcz17fSx0aGlzLl9pbnNlcnQ9
dGhpcy5pbnNlcnQsdGhpcy5pbnNlcnQ9dGhpcy5pbnNlcnRFeCx0aGlzLmhpc3RvcnlTdXBwb3J0
PW51bGwhPShudWxsIT13aW5kb3cuaGlzdG9yeT93aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGU6bnVs
bCksdGhpcy5jb25maWd1cmUoKSx0aGlzLm1vdW50KHR8fHt9KX07Zi5wcm90b3R5cGUuaW5pdD1m
dW5jdGlvbih0KXt2YXIgbixyPXRoaXM7cmV0dXJuIHRoaXMuaGFuZGxlcj1mdW5jdGlvbih0KXt2
YXIgZT10JiZ0Lm5ld1VSTHx8d2luZG93LmxvY2F0aW9uLmhhc2gsbj0hMD09PXIuaGlzdG9yeT9y
LmdldFBhdGgoKTplLnJlcGxhY2UoLy4qIy8sIiIpO3IuZGlzcGF0Y2goIm9uIiwiLyI9PT1uLmNo
YXJBdCgwKT9uOiIvIituKX0sbC5pbml0KHRoaXMuaGFuZGxlcix0aGlzLmhpc3RvcnkpLCExPT09
dGhpcy5oaXN0b3J5P2UoKSYmdD91Lmhhc2g9dDplKCl8fHIuZGlzcGF0Y2goIm9uIiwiLyIrdS5o
YXNoLnJlcGxhY2UoL14oI1wvfCN8XC8pLywiIikpOih0aGlzLmNvbnZlcnRfaGFzaF9pbl9pbml0
PyhuPWUoKSYmdD90OmUoKT9udWxsOnUuaGFzaC5yZXBsYWNlKC9eIy8sIiIpKSYmd2luZG93Lmhp
c3RvcnkucmVwbGFjZVN0YXRlKHt9LGRvY3VtZW50LnRpdGxlLG4pOm49dGhpcy5nZXRQYXRoKCks
KG58fCEwPT09dGhpcy5ydW5faW5faW5pdCkmJnRoaXMuaGFuZGxlcigpKSx0aGlzfSxmLnByb3Rv
dHlwZS5leHBsb2RlPWZ1bmN0aW9uKCl7dmFyIHQ9ITA9PT10aGlzLmhpc3Rvcnk/dGhpcy5nZXRQ
YXRoKCk6dS5oYXNoO3JldHVybiIvIj09PXQuY2hhckF0KDEpJiYodD10LnNsaWNlKDEpKSx0LnNs
aWNlKDEsdC5sZW5ndGgpLnNwbGl0KCIvIil9LGYucHJvdG90eXBlLnNldFJvdXRlPWZ1bmN0aW9u
KHQsZSxuKXt2YXIgcj10aGlzLmV4cGxvZGUoKTtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQmJiJz
dHJpbmciPT10eXBlb2YgZT9yW3RdPWU6InN0cmluZyI9PXR5cGVvZiBuP3Iuc3BsaWNlKHQsZSxz
KTpyPVt0XSxsLnNldEhhc2goci5qb2luKCIvIikpLHJ9LGYucHJvdG90eXBlLmluc2VydEV4PWZ1
bmN0aW9uKHQsZSxuLHIpe3JldHVybiJvbmNlIj09PXQmJih0PSJvbiIsbj1mdW5jdGlvbih0KXt2
YXIgZT0hMTtyZXR1cm4gZnVuY3Rpb24oKXtpZighZSlyZXR1cm4gZT0hMCx0LmFwcGx5KHRoaXMs
YXJndW1lbnRzKX19KG4pKSx0aGlzLl9pbnNlcnQodCxlLG4scil9LGYucHJvdG90eXBlLmdldFJv
dXRlPWZ1bmN0aW9uKHQpe3ZhciBlPXQ7aWYoIm51bWJlciI9PXR5cGVvZiB0KWU9dGhpcy5leHBs
b2RlKClbdF07ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIHQpe3ZhciBuPXRoaXMuZXhwbG9kZSgp
O2U9bi5pbmRleE9mKHQpfWVsc2UgZT10aGlzLmV4cGxvZGUoKTtyZXR1cm4gZX0sZi5wcm90b3R5
cGUuZGVzdHJveT1mdW5jdGlvbigpe3JldHVybiBsLmRlc3Ryb3kodGhpcy5oYW5kbGVyKSx0aGlz
fSxmLnByb3RvdHlwZS5nZXRQYXRoPWZ1bmN0aW9uKCl7dmFyIHQ9d2luZG93LmxvY2F0aW9uLnBh
dGhuYW1lO3JldHVybiIvIiE9PXQuc3Vic3RyKDAsMSkmJih0PSIvIit0KSx0fTt2YXIgcD0vXD8u
Ki87Zi5wcm90b3R5cGUuY29uZmlndXJlPWZ1bmN0aW9uKHQpe3Q9dHx8e307Zm9yKHZhciBlPTA7
ZTx0aGlzLm1ldGhvZHMubGVuZ3RoO2UrKyl0aGlzLl9tZXRob2RzW3RoaXMubWV0aG9kc1tlXV09
ITA7cmV0dXJuIHRoaXMucmVjdXJzZT10LnJlY3Vyc2V8fHRoaXMucmVjdXJzZXx8ITEsdGhpcy5h
c3luYz10LmFzeW5jfHwhMSx0aGlzLmRlbGltaXRlcj10LmRlbGltaXRlcnx8Ii8iLHRoaXMuc3Ry
aWN0PXZvaWQgMD09PXQuc3RyaWN0fHx0LnN0cmljdCx0aGlzLm5vdGZvdW5kPXQubm90Zm91bmQs
dGhpcy5yZXNvdXJjZT10LnJlc291cmNlLHRoaXMuaGlzdG9yeT10Lmh0bWw1aGlzdG9yeSYmdGhp
cy5oaXN0b3J5U3VwcG9ydHx8ITEsdGhpcy5ydW5faW5faW5pdD0hMD09PXRoaXMuaGlzdG9yeSYm
ITEhPT10LnJ1bl9oYW5kbGVyX2luX2luaXQsdGhpcy5jb252ZXJ0X2hhc2hfaW5faW5pdD0hMD09
PXRoaXMuaGlzdG9yeSYmITEhPT10LmNvbnZlcnRfaGFzaF9pbl9pbml0LHRoaXMuZXZlcnk9e2Fm
dGVyOnQuYWZ0ZXJ8fG51bGwsYmVmb3JlOnQuYmVmb3JlfHxudWxsLG9uOnQub258fG51bGx9LHRo
aXN9LGYucHJvdG90eXBlLnBhcmFtPWZ1bmN0aW9uKHQsZSl7IjoiIT09dFswXSYmKHQ9IjoiK3Qp
O3ZhciBuPW5ldyBSZWdFeHAodCwiZyIpO3JldHVybiB0aGlzLnBhcmFtc1t0XT1mdW5jdGlvbih0
KXtyZXR1cm4gdC5yZXBsYWNlKG4sZS5zb3VyY2V8fGUpfSx0aGlzfSxmLnByb3RvdHlwZS5vbj1m
LnByb3RvdHlwZS5yb3V0ZT1mdW5jdGlvbih0LGUsbil7dmFyIHI9dGhpcztyZXR1cm4gbnx8ImZ1
bmN0aW9uIiE9dHlwZW9mIGV8fChuPWUsZT10LHQ9Im9uIiksQXJyYXkuaXNBcnJheShlKT9lLmZv
ckVhY2goZnVuY3Rpb24oZSl7ci5vbih0LGUsbil9KTooZS5zb3VyY2UmJihlPWUuc291cmNlLnJl
cGxhY2UoL1xcXC8vZ2ksIi8iKSksQXJyYXkuaXNBcnJheSh0KT90LmZvckVhY2goZnVuY3Rpb24o
dCl7ci5vbih0LnRvTG93ZXJDYXNlKCksZSxuKX0pOihlPWUuc3BsaXQobmV3IFJlZ0V4cCh0aGlz
LmRlbGltaXRlcikpLGU9YyhlLHRoaXMuZGVsaW1pdGVyKSx2b2lkIHRoaXMuaW5zZXJ0KHQsdGhp
cy5zY29wZS5jb25jYXQoZSksbikpKX0sZi5wcm90b3R5cGUucGF0aD1mdW5jdGlvbih0LGUpe3Zh
ciBuPXRoaXMuc2NvcGUubGVuZ3RoO3Quc291cmNlJiYodD10LnNvdXJjZS5yZXBsYWNlKC9cXFwv
L2dpLCIvIikpLHQ9dC5zcGxpdChuZXcgUmVnRXhwKHRoaXMuZGVsaW1pdGVyKSksdD1jKHQsdGhp
cy5kZWxpbWl0ZXIpLHRoaXMuc2NvcGU9dGhpcy5zY29wZS5jb25jYXQodCksZS5jYWxsKHRoaXMs
dGhpcyksdGhpcy5zY29wZS5zcGxpY2Uobix0Lmxlbmd0aCl9LGYucHJvdG90eXBlLmRpc3BhdGNo
PWZ1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7by5sYXN0PWEuYWZ0ZXIsby5pbnZva2Uoby5y
dW5saXN0KGEpLG8sbil9dmFyIGksbz10aGlzLGE9dGhpcy50cmF2ZXJzZSh0LGUucmVwbGFjZShw
LCIiKSx0aGlzLnJvdXRlcywiIikscz10aGlzLl9pbnZva2VkO3JldHVybiB0aGlzLl9pbnZva2Vk
PSEwLGEmJjAhPT1hLmxlbmd0aD8oImZvcndhcmQiPT09dGhpcy5yZWN1cnNlJiYoYT1hLnJldmVy
c2UoKSksKGk9dGhpcy5ldmVyeSYmdGhpcy5ldmVyeS5hZnRlcj9bdGhpcy5ldmVyeS5hZnRlcl0u
Y29uY2F0KHRoaXMubGFzdCk6W3RoaXMubGFzdF0pJiZpLmxlbmd0aD4wJiZzPyh0aGlzLmFzeW5j
P3RoaXMuaW52b2tlKGksdGhpcyxyKToodGhpcy5pbnZva2UoaSx0aGlzKSxyKCkpLCEwKToocigp
LCEwKSk6KHRoaXMubGFzdD1bXSwiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5ub3Rmb3VuZCYmdGhp
cy5pbnZva2UoW3RoaXMubm90Zm91bmRdLHttZXRob2Q6dCxwYXRoOmV9LG4pLCExKX0sZi5wcm90
b3R5cGUuaW52b2tlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbyxhPXRoaXM7dGhpcy5hc3luYz8obz1m
dW5jdGlvbihuLHIpe2lmKEFycmF5LmlzQXJyYXkobikpcmV0dXJuIGkobixvLHIpOyJmdW5jdGlv
biI9PXR5cGVvZiBuJiZuLmFwcGx5KGUsKHQuY2FwdHVyZXN8fFtdKS5jb25jYXQocikpfSxpKHQs
byxmdW5jdGlvbigpe3ImJnIuYXBwbHkoZSxhcmd1bWVudHMpfSkpOihvPWZ1bmN0aW9uKHIpe3Jl
dHVybiBBcnJheS5pc0FycmF5KHIpP24ocixvKToiZnVuY3Rpb24iPT10eXBlb2Ygcj9yLmFwcGx5
KGUsdC5jYXB0dXJlc3x8W10pOnZvaWQoInN0cmluZyI9PXR5cGVvZiByJiZhLnJlc291cmNlJiZh
LnJlc291cmNlW3JdLmFwcGx5KGUsdC5jYXB0dXJlc3x8W10pKX0sbih0LG8pKX0sZi5wcm90b3R5
cGUudHJhdmVyc2U9ZnVuY3Rpb24odCxlLG4scixpKXtmdW5jdGlvbiBvKHQpe2Z1bmN0aW9uIGUo
dCl7Zm9yKHZhciBuPVtdLHI9MDtyPHQubGVuZ3RoO3IrKyluW3JdPUFycmF5LmlzQXJyYXkodFty
XSk/ZSh0W3JdKTp0W3JdO3JldHVybiBufWZ1bmN0aW9uIG4odCl7Zm9yKHZhciBlPXQubGVuZ3Ro
LTE7ZT49MDtlLS0pQXJyYXkuaXNBcnJheSh0W2VdKT8obih0W2VdKSwwPT09dFtlXS5sZW5ndGgm
JnQuc3BsaWNlKGUsMSkpOmkodFtlXSl8fHQuc3BsaWNlKGUsMSl9aWYoIWkpcmV0dXJuIHQ7dmFy
IHI9ZSh0KTtyZXR1cm4gci5tYXRjaGVkPXQubWF0Y2hlZCxyLmNhcHR1cmVzPXQuY2FwdHVyZXMs
ci5hZnRlcj10LmFmdGVyLmZpbHRlcihpKSxuKHIpLHJ9dmFyIGEscyxjLHUsbD1bXTtpZihlPT09
dGhpcy5kZWxpbWl0ZXImJm5bdF0pcmV0dXJuIHU9W1tuLmJlZm9yZSxuW3RdXS5maWx0ZXIoQm9v
bGVhbildLHUuYWZ0ZXI9W24uYWZ0ZXJdLmZpbHRlcihCb29sZWFuKSx1Lm1hdGNoZWQ9ITAsdS5j
YXB0dXJlcz1bXSxvKHUpO2Zvcih2YXIgZiBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkoZikmJigh
dGhpcy5fbWV0aG9kc1tmXXx8dGhpcy5fbWV0aG9kc1tmXSYmIm9iamVjdCI9PXR5cGVvZiBuW2Zd
JiYhQXJyYXkuaXNBcnJheShuW2ZdKSkpe2lmKGE9cz1yK3RoaXMuZGVsaW1pdGVyK2YsdGhpcy5z
dHJpY3R8fChzKz0iWyIrdGhpcy5kZWxpbWl0ZXIrIl0/IiksIShjPWUubWF0Y2gobmV3IFJlZ0V4
cCgiXiIrcykpKSljb250aW51ZTtpZihjWzBdJiZjWzBdPT1lJiZuW2ZdW3RdKXJldHVybiB1PVtb
bltmXS5iZWZvcmUsbltmXVt0XV0uZmlsdGVyKEJvb2xlYW4pXSx1LmFmdGVyPVtuW2ZdLmFmdGVy
XS5maWx0ZXIoQm9vbGVhbiksdS5tYXRjaGVkPSEwLHUuY2FwdHVyZXM9Yy5zbGljZSgxKSx0aGlz
LnJlY3Vyc2UmJm49PT10aGlzLnJvdXRlcyYmKHUucHVzaChbbi5iZWZvcmUsbi5vbl0uZmlsdGVy
KEJvb2xlYW4pKSx1LmFmdGVyPXUuYWZ0ZXIuY29uY2F0KFtuLmFmdGVyXS5maWx0ZXIoQm9vbGVh
bikpKSxvKHUpO2lmKHU9dGhpcy50cmF2ZXJzZSh0LGUsbltmXSxhKSx1Lm1hdGNoZWQpcmV0dXJu
IHUubGVuZ3RoPjAmJihsPWwuY29uY2F0KHUpKSx0aGlzLnJlY3Vyc2UmJihsLnB1c2goW25bZl0u
YmVmb3JlLG5bZl0ub25dLmZpbHRlcihCb29sZWFuKSksdS5hZnRlcj11LmFmdGVyLmNvbmNhdChb
bltmXS5hZnRlcl0uZmlsdGVyKEJvb2xlYW4pKSxuPT09dGhpcy5yb3V0ZXMmJihsLnB1c2goW24u
YmVmb3JlLG4ub25dLmZpbHRlcihCb29sZWFuKSksdS5hZnRlcj11LmFmdGVyLmNvbmNhdChbbi5h
ZnRlcl0uZmlsdGVyKEJvb2xlYW4pKSkpLGwubWF0Y2hlZD0hMCxsLmNhcHR1cmVzPXUuY2FwdHVy
ZXMsbC5hZnRlcj11LmFmdGVyLG8obCl9cmV0dXJuITF9LGYucHJvdG90eXBlLmluc2VydD1mdW5j
dGlvbih0LGUsbixyKXt2YXIgaSxvLHMsYztpZihlPWUuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVy
biB0JiZ0Lmxlbmd0aD4wfSkscj1yfHx0aGlzLnJvdXRlcyxjPWUuc2hpZnQoKSwvXDp8XCovLnRl
c3QoYykmJiEvXFxkfFxcdy8udGVzdChjKSYmKGM9YShjLHRoaXMucGFyYW1zKSksZS5sZW5ndGg+
MClyZXR1cm4gcltjXT1yW2NdfHx7fSx0aGlzLmluc2VydCh0LGUsbixyW2NdKTtpZihjfHxlLmxl
bmd0aHx8ciE9PXRoaXMucm91dGVzKXtpZihpPXR5cGVvZiByW2NdLG89QXJyYXkuaXNBcnJheShy
W2NdKSxyW2NdJiYhbyYmIm9iamVjdCI9PWkpc3dpdGNoKHR5cGVvZiByW2NdW3RdKXtjYXNlImZ1
bmN0aW9uIjpyZXR1cm4gdm9pZChyW2NdW3RdPVtyW2NdW3RdLG5dKTtjYXNlIm9iamVjdCI6cmV0
dXJuIHZvaWQgcltjXVt0XS5wdXNoKG4pO2Nhc2UidW5kZWZpbmVkIjpyZXR1cm4gdm9pZChyW2Nd
W3RdPW4pfWVsc2UgaWYoInVuZGVmaW5lZCI9PWkpcmV0dXJuIHM9e30sc1t0XT1uLHZvaWQocltj
XT1zKTt0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgcm91dGUgY29udGV4dDogIitpKX1zd2l0Y2go
dHlwZW9mIHJbdF0pe2Nhc2UiZnVuY3Rpb24iOnJldHVybiB2b2lkKHJbdF09W3JbdF0sbl0pO2Nh
c2Uib2JqZWN0IjpyZXR1cm4gdm9pZCByW3RdLnB1c2gobik7Y2FzZSJ1bmRlZmluZWQiOnJldHVy
biB2b2lkKHJbdF09bil9fSxmLnByb3RvdHlwZS5leHRlbmQ9ZnVuY3Rpb24odCl7dmFyIGUsbj10
aGlzLHI9dC5sZW5ndGg7Zm9yKGU9MDtlPHI7ZSsrKSFmdW5jdGlvbih0KXtuLl9tZXRob2RzW3Rd
PSEwLG5bdF09ZnVuY3Rpb24oKXt2YXIgZT0xPT09YXJndW1lbnRzLmxlbmd0aD9bdCwiIl06W3Rd
O24ub24uYXBwbHkobixlLmNvbmNhdChBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVu
dHMpKSl9fSh0W2VdKX0sZi5wcm90b3R5cGUucnVubGlzdD1mdW5jdGlvbih0KXt2YXIgZT10aGlz
LmV2ZXJ5JiZ0aGlzLmV2ZXJ5LmJlZm9yZT9bdGhpcy5ldmVyeS5iZWZvcmVdLmNvbmNhdChyKHQp
KTpyKHQpO3JldHVybiB0aGlzLmV2ZXJ5JiZ0aGlzLmV2ZXJ5Lm9uJiZlLnB1c2godGhpcy5ldmVy
eS5vbiksZS5jYXB0dXJlcz10LmNhcHR1cmVzLGUuc291cmNlPXQuc291cmNlLGV9LGYucHJvdG90
eXBlLm1vdW50PWZ1bmN0aW9uKHQsZSl7aWYodCYmIm9iamVjdCI9PXR5cGVvZiB0JiYhQXJyYXku
aXNBcnJheSh0KSl7dmFyIG49dGhpcztlPWV8fFtdLEFycmF5LmlzQXJyYXkoZSl8fChlPWUuc3Bs
aXQobi5kZWxpbWl0ZXIpKTtmb3IodmFyIHIgaW4gdCl0Lmhhc093blByb3BlcnR5KHIpJiZmdW5j
dGlvbihlLHIpe3ZhciBpPWUsbz1lLnNwbGl0KG4uZGVsaW1pdGVyKSxhPXR5cGVvZiB0W2VdLHM9
IiI9PT1vWzBdfHwhbi5fbWV0aG9kc1tvWzBdXSx1PXM/Im9uIjppO2lmKHMmJihpPWkuc2xpY2Uo
KGkubWF0Y2gobmV3IFJlZ0V4cCgiXiIrbi5kZWxpbWl0ZXIpKXx8WyIiXSlbMF0ubGVuZ3RoKSxv
LnNoaWZ0KCkpLHMmJiJvYmplY3QiPT09YSYmIUFycmF5LmlzQXJyYXkodFtlXSkpcmV0dXJuIHI9
ci5jb25jYXQobyksdm9pZCBuLm1vdW50KHRbZV0scik7cyYmKHI9ci5jb25jYXQoaS5zcGxpdChu
LmRlbGltaXRlcikpLHI9YyhyLG4uZGVsaW1pdGVyKSksbi5pbnNlcnQodSxyLHRbZV0pfShyLGUu
c2xpY2UoMCkpfX19KGUpfSwsLCwsLCwsLGZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9u
KHQsZSl7Zm9yKHZhciBuPVtdLHI9e30saT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgbz1lW2ldLGE9
b1swXSxzPW9bMV0sYz1vWzJdLHU9b1szXSxsPXtpZDp0KyI6IitpLGNzczpzLG1lZGlhOmMsc291
cmNlTWFwOnV9O3JbYV0/clthXS5wYXJ0cy5wdXNoKGwpOm4ucHVzaChyW2FdPXtpZDphLHBhcnRz
OltsXX0pfXJldHVybiBufX0sZnVuY3Rpb24odCxlKXt2YXIgbjtuPWZ1bmN0aW9uKCl7cmV0dXJu
IHRoaXN9KCk7dHJ5e249bnx8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKXx8KDAsZXZhbCkoInRo
aXMiKX1jYXRjaCh0KXsib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmKG49d2luZG93KX10LmV4cG9y
dHM9bn0sZnVuY3Rpb24odCxlKXtmdW5jdGlvbiBuKHQsZSl7dmFyIG49dFsxXXx8IiIsaT10WzNd
O2lmKCFpKXJldHVybiBuO2lmKGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBidG9hKXt2YXIgbz1yKGkp
O3JldHVybltuXS5jb25jYXQoaS5zb3VyY2VzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4iLyojIHNv
dXJjZVVSTD0iK2kuc291cmNlUm9vdCt0KyIgKi8ifSkpLmNvbmNhdChbb10pLmpvaW4oIlxuIil9
cmV0dXJuW25dLmpvaW4oIlxuIil9ZnVuY3Rpb24gcih0KXtyZXR1cm4iLyojIHNvdXJjZU1hcHBp
bmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LCIrYnRvYSh1
bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkodCkpKSkrIiAqLyJ9dC5l
eHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO3JldHVybiBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7
cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKGUpe3ZhciByPW4oZSx0KTtyZXR1cm4gZVsyXT8iQG1l
ZGlhICIrZVsyXSsieyIrcisifSI6cn0pLmpvaW4oIiIpfSxlLmk9ZnVuY3Rpb24odCxuKXsic3Ry
aW5nIj09dHlwZW9mIHQmJih0PVtbbnVsbCx0LCIiXV0pO2Zvcih2YXIgcj17fSxpPTA7aTx0aGlz
Lmxlbmd0aDtpKyspe3ZhciBvPXRoaXNbaV1bMF07Im51bWJlciI9PXR5cGVvZiBvJiYocltvXT0h
MCl9Zm9yKGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIGE9dFtpXTsibnVtYmVyIj09dHlwZW9mIGFb
MF0mJnJbYVswXV18fChuJiYhYVsyXT9hWzJdPW46biYmKGFbMl09IigiK2FbMl0rIikgYW5kICgi
K24rIikiKSxlLnB1c2goYSkpfX0sZX19LGZ1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe2Zv
cih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKXt2YXIgbj10W2VdLHI9bFtuLmlkXTtpZihyKXtyLnJl
ZnMrKztmb3IodmFyIGk9MDtpPHIucGFydHMubGVuZ3RoO2krKylyLnBhcnRzW2ldKG4ucGFydHNb
aV0pO2Zvcig7aTxuLnBhcnRzLmxlbmd0aDtpKyspci5wYXJ0cy5wdXNoKG8obi5wYXJ0c1tpXSkp
O3IucGFydHMubGVuZ3RoPm4ucGFydHMubGVuZ3RoJiYoci5wYXJ0cy5sZW5ndGg9bi5wYXJ0cy5s
ZW5ndGgpfWVsc2V7Zm9yKHZhciBhPVtdLGk9MDtpPG4ucGFydHMubGVuZ3RoO2krKylhLnB1c2go
byhuLnBhcnRzW2ldKSk7bFtuLmlkXT17aWQ6bi5pZCxyZWZzOjEscGFydHM6YX19fX1mdW5jdGlv
biBpKCl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtyZXR1cm4gdC50eXBl
PSJ0ZXh0L2NzcyIsZi5hcHBlbmRDaGlsZCh0KSx0fWZ1bmN0aW9uIG8odCl7dmFyIGUsbixyPWRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3N0eWxlW2RhdGEtdnVlLXNzci1pZH49IicrdC5pZCsnIl0n
KTtpZihyKXtpZih2KXJldHVybiBoO3IucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChyKX1pZihtKXt2
YXIgbz1kKys7cj1wfHwocD1pKCkpLGU9YS5iaW5kKG51bGwscixvLCExKSxuPWEuYmluZChudWxs
LHIsbywhMCl9ZWxzZSByPWkoKSxlPXMuYmluZChudWxsLHIpLG49ZnVuY3Rpb24oKXtyLnBhcmVu
dE5vZGUucmVtb3ZlQ2hpbGQocil9O3JldHVybiBlKHQpLGZ1bmN0aW9uKHIpe2lmKHIpe2lmKHIu
Y3NzPT09dC5jc3MmJnIubWVkaWE9PT10Lm1lZGlhJiZyLnNvdXJjZU1hcD09PXQuc291cmNlTWFw
KXJldHVybjtlKHQ9cil9ZWxzZSBuKCl9fWZ1bmN0aW9uIGEodCxlLG4scil7dmFyIGk9bj8iIjpy
LmNzcztpZih0LnN0eWxlU2hlZXQpdC5zdHlsZVNoZWV0LmNzc1RleHQ9eShlLGkpO2Vsc2V7dmFy
IG89ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoaSksYT10LmNoaWxkTm9kZXM7YVtlXSYmdC5yZW1v
dmVDaGlsZChhW2VdKSxhLmxlbmd0aD90Lmluc2VydEJlZm9yZShvLGFbZV0pOnQuYXBwZW5kQ2hp
bGQobyl9fWZ1bmN0aW9uIHModCxlKXt2YXIgbj1lLmNzcyxyPWUubWVkaWEsaT1lLnNvdXJjZU1h
cDtpZihyJiZ0LnNldEF0dHJpYnV0ZSgibWVkaWEiLHIpLGkmJihuKz0iXG4vKiMgc291cmNlVVJM
PSIraS5zb3VyY2VzWzBdKyIgKi8iLG4rPSJcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBw
bGljYXRpb24vanNvbjtiYXNlNjQsIitidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChK
U09OLnN0cmluZ2lmeShpKSkpKSsiICovIiksdC5zdHlsZVNoZWV0KXQuc3R5bGVTaGVldC5jc3NU
ZXh0PW47ZWxzZXtmb3IoO3QuZmlyc3RDaGlsZDspdC5yZW1vdmVDaGlsZCh0LmZpcnN0Q2hpbGQp
O3QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobikpfX12YXIgYz0idW5kZWZp
bmVkIiE9dHlwZW9mIGRvY3VtZW50O2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgREVCVUcmJkRFQlVH
JiYhYyl0aHJvdyBuZXcgRXJyb3IoInZ1ZS1zdHlsZS1sb2FkZXIgY2Fubm90IGJlIHVzZWQgaW4g
YSBub24tYnJvd3NlciBlbnZpcm9ubWVudC4gVXNlIHsgdGFyZ2V0OiAnbm9kZScgfSBpbiB5b3Vy
IFdlYnBhY2sgY29uZmlnIHRvIGluZGljYXRlIGEgc2VydmVyLXJlbmRlcmluZyBlbnZpcm9ubWVu
dC4iKTt2YXIgdT1uKDExKSxsPXt9LGY9YyYmKGRvY3VtZW50LmhlYWR8fGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0pLHA9bnVsbCxkPTAsdj0hMSxoPWZ1bmN0aW9uKCl7
fSxtPSJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiYvbXNpZSBbNi05XVxiLy50ZXN0KG5h
dmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKSk7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxu
KXt2PW47dmFyIGk9dSh0LGUpO3JldHVybiByKGkpLGZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1bXSxv
PTA7bzxpLmxlbmd0aDtvKyspe3ZhciBhPWlbb10scz1sW2EuaWRdO3MucmVmcy0tLG4ucHVzaChz
KX1lPyhpPXUodCxlKSxyKGkpKTppPVtdO2Zvcih2YXIgbz0wO288bi5sZW5ndGg7bysrKXt2YXIg
cz1uW29dO2lmKDA9PT1zLnJlZnMpe2Zvcih2YXIgYz0wO2M8cy5wYXJ0cy5sZW5ndGg7YysrKXMu
cGFydHNbY10oKTtkZWxldGUgbFtzLmlkXX19fX07dmFyIHk9ZnVuY3Rpb24oKXt2YXIgdD1bXTty
ZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gdFtlXT1uLHQuZmlsdGVyKEJvb2xlYW4pLmpvaW4o
IlxuIil9fSgpfV0pOworLy8jIHNvdXJjZU1hcHBpbmdVUkw9dmVuZG9yLjJlNGU5ZTUyODY2NGZh
Nzk2ZDNhLmpzLm1hcApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Bl
cmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJl
LWV4YW1wbGVzL3Z1ZWpzLWNsaS9kaXN0L3N0YXRpYy9qcy92ZW5kb3IuMmU0ZTllNTI4NjY0ZmE3
OTZkM2EuanMubWFwIGIvUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9k
b212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVlanMtY2xpL2Rpc3Qvc3RhdGljL2pzL3ZlbmRv
ci4yZTRlOWU1Mjg2NjRmYTc5NmQzYS5qcy5tYXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGI1NzQ4OTU4MDRjMWY2
OTZkYzI4MzQ1MjY0OWViNDgwZDI2NTI2ZgotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNl
VGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVz
L3Z1ZWpzLWNsaS9kaXN0L3N0YXRpYy9qcy92ZW5kb3IuMmU0ZTllNTI4NjY0ZmE3OTZkM2EuanMu
bWFwCkBAIC0wLDAgKzEgQEAKK3sidmVyc2lvbiI6Mywic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3N0
YXRpYy9qcy92ZW5kb3IuMmU0ZTllNTI4NjY0ZmE3OTZkM2EuanMiLCJ3ZWJwYWNrOi8vLy4vfi92
dWUvZGlzdC92dWUuZXNtLmpzIiwid2VicGFjazovLy8uL34vdnVlLWxvYWRlci9saWIvY29tcG9u
ZW50LW5vcm1hbGl6ZXIuanMiLCJ3ZWJwYWNrOi8vLy4vfi9kaXJlY3Rvci9idWlsZC9kaXJlY3Rv
ci5qcyIsIndlYnBhY2s6Ly8vLi9+L3Z1ZS1zdHlsZS1sb2FkZXIvbGliL2xpc3RUb1N0eWxlcy5q
cyIsIndlYnBhY2s6Ly8vKHdlYnBhY2spL2J1aWxkaW4vZ2xvYmFsLmpzIiwid2VicGFjazovLy8u
L34vY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanMiLCJ3ZWJwYWNrOi8vLy4vfi92dWUtc3R5bGUt
bG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanMiXSwibmFtZXMiOlsid2VicGFja0pzb25wIiwi
bW9kdWxlIiwiX193ZWJwYWNrX2V4cG9ydHNfXyIsIl9fd2VicGFja19yZXF1aXJlX18iLCJPYmpl
Y3QiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiZ2xvYmFsIiwiaXNVbmRlZiIsInYiLCJ1bmRl
ZmluZWQiLCJpc0RlZiIsImlzVHJ1ZSIsImlzRmFsc2UiLCJpc1ByaW1pdGl2ZSIsImlzT2JqZWN0
Iiwib2JqIiwiaXNQbGFpbk9iamVjdCIsIl90b1N0cmluZyIsImNhbGwiLCJpc1JlZ0V4cCIsImlz
VmFsaWRBcnJheUluZGV4IiwidmFsIiwibiIsInBhcnNlRmxvYXQiLCJNYXRoIiwiZmxvb3IiLCJp
c0Zpbml0ZSIsInRvU3RyaW5nIiwiSlNPTiIsInN0cmluZ2lmeSIsIlN0cmluZyIsInRvTnVtYmVy
IiwiaXNOYU4iLCJtYWtlTWFwIiwic3RyIiwiZXhwZWN0c0xvd2VyQ2FzZSIsIm1hcCIsImNyZWF0
ZSIsImxpc3QiLCJzcGxpdCIsImkiLCJsZW5ndGgiLCJ0b0xvd2VyQ2FzZSIsInJlbW92ZSIsImFy
ciIsIml0ZW0iLCJpbmRleCIsImluZGV4T2YiLCJzcGxpY2UiLCJoYXNPd24iLCJrZXkiLCJoYXNP
d25Qcm9wZXJ0eSIsImNhY2hlZCIsImZuIiwiY2FjaGUiLCJiaW5kIiwiY3R4IiwiYm91bmRGbiIs
ImEiLCJsIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfbGVuZ3RoIiwidG9BcnJheSIsInN0YXJ0Iiwi
cmV0IiwiQXJyYXkiLCJleHRlbmQiLCJ0byIsIl9mcm9tIiwidG9PYmplY3QiLCJyZXMiLCJub29w
IiwiYiIsImMiLCJsb29zZUVxdWFsIiwiaXNPYmplY3RBIiwiaXNPYmplY3RCIiwiaXNBcnJheUEi
LCJpc0FycmF5IiwiaXNBcnJheUIiLCJldmVyeSIsImUiLCJrZXlzQSIsImtleXMiLCJrZXlzQiIs
Imxvb3NlSW5kZXhPZiIsIm9uY2UiLCJjYWxsZWQiLCJ0aGlzIiwiaXNSZXNlcnZlZCIsImNoYXJD
b2RlQXQiLCJkZWYiLCJlbnVtZXJhYmxlIiwid3JpdGFibGUiLCJjb25maWd1cmFibGUiLCJwYXJz
ZVBhdGgiLCJwYXRoIiwiYmFpbFJFIiwidGVzdCIsInNlZ21lbnRzIiwiaGFuZGxlRXJyb3IiLCJl
cnIiLCJ2bSIsImluZm8iLCJjb25maWciLCJlcnJvckhhbmRsZXIiLCJpbkJyb3dzZXIiLCJjb25z
b2xlIiwiZXJyb3IiLCJpc05hdGl2ZSIsIkN0b3IiLCJwdXNoVGFyZ2V0IiwiX3RhcmdldCIsIkRl
cCIsInRhcmdldCIsInRhcmdldFN0YWNrIiwicHVzaCIsInBvcFRhcmdldCIsInBvcCIsInByb3Rv
QXVnbWVudCIsInNyYyIsIl9fcHJvdG9fXyIsImNvcHlBdWdtZW50Iiwib2JzZXJ2ZSIsImFzUm9v
dERhdGEiLCJvYiIsIl9fb2JfXyIsIk9ic2VydmVyIiwib2JzZXJ2ZXJTdGF0ZSIsInNob3VsZENv
bnZlcnQiLCJpc1NlcnZlclJlbmRlcmluZyIsImlzRXh0ZW5zaWJsZSIsIl9pc1Z1ZSIsInZtQ291
bnQiLCJkZWZpbmVSZWFjdGl2ZSQkMSIsImN1c3RvbVNldHRlciIsInNoYWxsb3ciLCJkZXAiLCJw
cm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImdldHRlciIsImdldCIsInNldHRl
ciIsInNldCIsImNoaWxkT2IiLCJkZXBlbmQiLCJkZXBlbmRBcnJheSIsIm5ld1ZhbCIsIm5vdGlm
eSIsIm1heCIsImRlbCIsIm1lcmdlRGF0YSIsImZyb20iLCJ0b1ZhbCIsImZyb21WYWwiLCJtZXJn
ZURhdGFPckZuIiwicGFyZW50VmFsIiwiY2hpbGRWYWwiLCJpbnN0YW5jZURhdGEiLCJkZWZhdWx0
RGF0YSIsIm1lcmdlSG9vayIsImNvbmNhdCIsIm1lcmdlQXNzZXRzIiwibm9ybWFsaXplUHJvcHMi
LCJvcHRpb25zIiwicHJvcHMiLCJuYW1lIiwiY2FtZWxpemUiLCJ0eXBlIiwibm9ybWFsaXplSW5q
ZWN0IiwiaW5qZWN0Iiwibm9ybWFsaXplZCIsIm5vcm1hbGl6ZURpcmVjdGl2ZXMiLCJkaXJzIiwi
ZGlyZWN0aXZlcyIsInVwZGF0ZSIsIm1lcmdlT3B0aW9ucyIsInBhcmVudCIsImNoaWxkIiwibWVy
Z2VGaWVsZCIsInN0cmF0Iiwic3RyYXRzIiwiZGVmYXVsdFN0cmF0IiwiZXh0ZW5kc0Zyb20iLCJl
eHRlbmRzIiwibWl4aW5zIiwicmVzb2x2ZUFzc2V0IiwiaWQiLCJ3YXJuTWlzc2luZyIsImFzc2V0
cyIsImNhbWVsaXplZElkIiwiUGFzY2FsQ2FzZUlkIiwiY2FwaXRhbGl6ZSIsInZhbGlkYXRlUHJv
cCIsInByb3BPcHRpb25zIiwicHJvcHNEYXRhIiwicHJvcCIsImFic2VudCIsImlzVHlwZSIsIkJv
b2xlYW4iLCJoeXBoZW5hdGUiLCJnZXRQcm9wRGVmYXVsdFZhbHVlIiwicHJldlNob3VsZENvbnZl
cnQiLCJkZWZhdWx0IiwiJG9wdGlvbnMiLCJfcHJvcHMiLCJnZXRUeXBlIiwibWF0Y2giLCJsZW4i
LCJjcmVhdGVUZXh0Vk5vZGUiLCJWTm9kZSIsImNsb25lVk5vZGUiLCJ2bm9kZSIsImNsb25lZCIs
InRhZyIsImRhdGEiLCJjaGlsZHJlbiIsInRleHQiLCJlbG0iLCJjb250ZXh0IiwiY29tcG9uZW50
T3B0aW9ucyIsImFzeW5jRmFjdG9yeSIsIm5zIiwiaXNTdGF0aWMiLCJpc0NvbW1lbnQiLCJpc0Ns
b25lZCIsImNsb25lVk5vZGVzIiwidm5vZGVzIiwiY3JlYXRlRm5JbnZva2VyIiwiZm5zIiwiaW52
b2tlciIsImFyZ3VtZW50cyQxIiwic2xpY2UiLCJ1cGRhdGVMaXN0ZW5lcnMiLCJvbiIsIm9sZE9u
IiwiYWRkIiwicmVtb3ZlJCQxIiwiY3VyIiwib2xkIiwiZXZlbnQiLCJub3JtYWxpemVFdmVudCIs
ImNhcHR1cmUiLCJwYXNzaXZlIiwibWVyZ2VWTm9kZUhvb2siLCJob29rS2V5IiwiaG9vayIsIndy
YXBwZWRIb29rIiwib2xkSG9vayIsIm1lcmdlZCIsImV4dHJhY3RQcm9wc0Zyb21WTm9kZURhdGEi
LCJhdHRycyIsImFsdEtleSIsImNoZWNrUHJvcCIsImhhc2giLCJwcmVzZXJ2ZSIsInNpbXBsZU5v
cm1hbGl6ZUNoaWxkcmVuIiwicHJvdG90eXBlIiwibm9ybWFsaXplQ2hpbGRyZW4iLCJub3JtYWxp
emVBcnJheUNoaWxkcmVuIiwiaXNUZXh0Tm9kZSIsIm5vZGUiLCJuZXN0ZWRJbmRleCIsImxhc3Qi
LCJfaXNWTGlzdCIsImVuc3VyZUN0b3IiLCJjb21wIiwiYmFzZSIsIl9fZXNNb2R1bGUiLCJjcmVh
dGVBc3luY1BsYWNlaG9sZGVyIiwiZmFjdG9yeSIsImNyZWF0ZUVtcHR5Vk5vZGUiLCJhc3luY01l
dGEiLCJyZXNvbHZlQXN5bmNDb21wb25lbnQiLCJiYXNlQ3RvciIsImVycm9yQ29tcCIsInJlc29s
dmVkIiwibG9hZGluZyIsImxvYWRpbmdDb21wIiwiY29udGV4dHMiLCJzeW5jIiwiZm9yY2VSZW5k
ZXIiLCIkZm9yY2VVcGRhdGUiLCJyZXNvbHZlIiwicmVqZWN0IiwicmVhc29uIiwidGhlbiIsImNv
bXBvbmVudCIsImRlbGF5Iiwic2V0VGltZW91dCIsInRpbWVvdXQiLCJnZXRGaXJzdENvbXBvbmVu
dENoaWxkIiwiaW5pdEV2ZW50cyIsIl9ldmVudHMiLCJfaGFzSG9va0V2ZW50IiwibGlzdGVuZXJz
IiwiX3BhcmVudExpc3RlbmVycyIsInVwZGF0ZUNvbXBvbmVudExpc3RlbmVycyIsIm9uY2UkJDEi
LCIkb25jZSIsIiRvbiIsInJlbW92ZSQxIiwiJG9mZiIsIm9sZExpc3RlbmVycyIsInJlc29sdmVT
bG90cyIsInNsb3RzIiwiZGVmYXVsdFNsb3QiLCJmdW5jdGlvbmFsQ29udGV4dCIsInNsb3QiLCJp
c1doaXRlc3BhY2UiLCJyZXNvbHZlU2NvcGVkU2xvdHMiLCJpbml0TGlmZWN5Y2xlIiwiYWJzdHJh
Y3QiLCIkcGFyZW50IiwiJGNoaWxkcmVuIiwiJHJvb3QiLCIkcmVmcyIsIl93YXRjaGVyIiwiX2lu
YWN0aXZlIiwiX2RpcmVjdEluYWN0aXZlIiwiX2lzTW91bnRlZCIsIl9pc0Rlc3Ryb3llZCIsIl9p
c0JlaW5nRGVzdHJveWVkIiwibW91bnRDb21wb25lbnQiLCJlbCIsImh5ZHJhdGluZyIsIiRlbCIs
InJlbmRlciIsImNhbGxIb29rIiwidXBkYXRlQ29tcG9uZW50IiwiX3VwZGF0ZSIsIl9yZW5kZXIi
LCJXYXRjaGVyIiwiJHZub2RlIiwidXBkYXRlQ2hpbGRDb21wb25lbnQiLCJwYXJlbnRWbm9kZSIs
InJlbmRlckNoaWxkcmVuIiwiaGFzQ2hpbGRyZW4iLCJfcmVuZGVyQ2hpbGRyZW4iLCJzY29wZWRT
bG90cyIsIiRzY29wZWRTbG90cyIsImVtcHR5T2JqZWN0IiwiX3BhcmVudFZub2RlIiwiX3Zub2Rl
IiwiJGF0dHJzIiwiJGxpc3RlbmVycyIsInByb3BLZXlzIiwiX3Byb3BLZXlzIiwiJHNsb3RzIiwi
aXNJbkluYWN0aXZlVHJlZSIsImFjdGl2YXRlQ2hpbGRDb21wb25lbnQiLCJkaXJlY3QiLCJkZWFj
dGl2YXRlQ2hpbGRDb21wb25lbnQiLCJoYW5kbGVycyIsImoiLCIkZW1pdCIsInJlc2V0U2NoZWR1
bGVyU3RhdGUiLCJxdWV1ZSIsImFjdGl2YXRlZENoaWxkcmVuIiwiaGFzIiwid2FpdGluZyIsImZs
dXNoaW5nIiwiZmx1c2hTY2hlZHVsZXJRdWV1ZSIsIndhdGNoZXIiLCJzb3J0IiwicnVuIiwiYWN0
aXZhdGVkUXVldWUiLCJ1cGRhdGVkUXVldWUiLCJjYWxsQWN0aXZhdGVkSG9va3MiLCJjYWxsVXBk
YXRlZEhvb2tzIiwiZGV2dG9vbHMiLCJlbWl0IiwicXVldWVBY3RpdmF0ZWRDb21wb25lbnQiLCJx
dWV1ZVdhdGNoZXIiLCJuZXh0VGljayIsInRyYXZlcnNlIiwic2Vlbk9iamVjdHMiLCJjbGVhciIs
Il90cmF2ZXJzZSIsInNlZW4iLCJpc0EiLCJkZXBJZCIsInByb3h5Iiwic291cmNlS2V5Iiwic2hh
cmVkUHJvcGVydHlEZWZpbml0aW9uIiwiaW5pdFN0YXRlIiwiX3dhdGNoZXJzIiwib3B0cyIsImlu
aXRQcm9wcyIsIm1ldGhvZHMiLCJpbml0TWV0aG9kcyIsImluaXREYXRhIiwiX2RhdGEiLCJjb21w
dXRlZCIsImluaXRDb21wdXRlZCIsIndhdGNoIiwibmF0aXZlV2F0Y2giLCJpbml0V2F0Y2giLCJw
cm9wc09wdGlvbnMiLCJpc1Jvb3QiLCJnZXREYXRhIiwid2F0Y2hlcnMiLCJfY29tcHV0ZWRXYXRj
aGVycyIsInVzZXJEZWYiLCJjb21wdXRlZFdhdGNoZXJPcHRpb25zIiwiZGVmaW5lQ29tcHV0ZWQi
LCJjcmVhdGVDb21wdXRlZEdldHRlciIsImRpcnR5IiwiZXZhbHVhdGUiLCJoYW5kbGVyIiwiY3Jl
YXRlV2F0Y2hlciIsImtleU9yRm4iLCIkd2F0Y2giLCJpbml0UHJvdmlkZSIsInByb3ZpZGUiLCJf
cHJvdmlkZWQiLCJpbml0SW5qZWN0aW9ucyIsInJlc3VsdCIsInJlc29sdmVJbmplY3QiLCJmb3JF
YWNoIiwiaGFzU3ltYm9sIiwiUmVmbGVjdCIsIm93bktleXMiLCJwcm92aWRlS2V5Iiwic291cmNl
IiwiY3JlYXRlRnVuY3Rpb25hbENvbXBvbmVudCIsIm1lcmdlUHJvcHMiLCJfY29udGV4dCIsImgi
LCJkIiwiY3JlYXRlRWxlbWVudCIsImluamVjdGlvbnMiLCJmdW5jdGlvbmFsT3B0aW9ucyIsImNy
ZWF0ZUNvbXBvbmVudCIsIl9iYXNlIiwiY2lkIiwicmVzb2x2ZUNvbnN0cnVjdG9yT3B0aW9ucyIs
Im1vZGVsIiwidHJhbnNmb3JtTW9kZWwiLCJmdW5jdGlvbmFsIiwibmF0aXZlT24iLCJtZXJnZUhv
b2tzIiwiY3JlYXRlQ29tcG9uZW50SW5zdGFuY2VGb3JWbm9kZSIsInBhcmVudEVsbSIsInJlZkVs
bSIsInZub2RlQ29tcG9uZW50T3B0aW9ucyIsIl9pc0NvbXBvbmVudCIsIl9jb21wb25lbnRUYWci
LCJfcGFyZW50RWxtIiwiX3JlZkVsbSIsImlubGluZVRlbXBsYXRlIiwic3RhdGljUmVuZGVyRm5z
IiwiaG9va3NUb01lcmdlIiwiZnJvbVBhcmVudCIsIm91cnMiLCJjb21wb25lbnRWTm9kZUhvb2tz
IiwibWVyZ2VIb29rJDEiLCJvbmUiLCJ0d28iLCJjYWxsYmFjayIsIm5vcm1hbGl6YXRpb25UeXBl
IiwiYWx3YXlzTm9ybWFsaXplIiwiQUxXQVlTX05PUk1BTElaRSIsIl9jcmVhdGVFbGVtZW50Iiwi
aXMiLCJTSU1QTEVfTk9STUFMSVpFIiwiZ2V0VGFnTmFtZXNwYWNlIiwiaXNSZXNlcnZlZFRhZyIs
InBhcnNlUGxhdGZvcm1UYWdOYW1lIiwiYXBwbHlOUyIsInJlbmRlckxpc3QiLCJyZW5kZXJTbG90
IiwiZmFsbGJhY2siLCJiaW5kT2JqZWN0Iiwic2NvcGVkU2xvdEZuIiwic2xvdE5vZGVzIiwicmVz
b2x2ZUZpbHRlciIsImlkZW50aXR5IiwiY2hlY2tLZXlDb2RlcyIsImV2ZW50S2V5Q29kZSIsImJ1
aWx0SW5BbGlhcyIsImtleUNvZGVzIiwiYmluZE9iamVjdFByb3BzIiwiYXNQcm9wIiwiaXNTeW5j
IiwiaXNSZXNlcnZlZEF0dHJpYnV0ZSIsIm11c3RVc2VQcm9wIiwiZG9tUHJvcHMiLCIkZXZlbnQi
LCJyZW5kZXJTdGF0aWMiLCJpc0luRm9yIiwidHJlZSIsIl9zdGF0aWNUcmVlcyIsIl9yZW5kZXJQ
cm94eSIsIm1hcmtTdGF0aWMiLCJtYXJrT25jZSIsImlzT25jZSIsIm1hcmtTdGF0aWNOb2RlIiwi
YmluZE9iamVjdExpc3RlbmVycyIsImV4aXN0aW5nIiwiaW5pdFJlbmRlciIsInJlbmRlckNvbnRl
eHQiLCJfYyIsIiRjcmVhdGVFbGVtZW50IiwicGFyZW50RGF0YSIsImluaXRJbnRlcm5hbENvbXBv
bmVudCIsImNvbnN0cnVjdG9yIiwic3VwZXIiLCJzdXBlck9wdGlvbnMiLCJtb2RpZmllZE9wdGlv
bnMiLCJyZXNvbHZlTW9kaWZpZWRPcHRpb25zIiwiZXh0ZW5kT3B0aW9ucyIsImNvbXBvbmVudHMi
LCJtb2RpZmllZCIsImxhdGVzdCIsImV4dGVuZGVkIiwic2VhbGVkIiwic2VhbGVkT3B0aW9ucyIs
ImRlZHVwZSIsIlZ1ZSQzIiwiX2luaXQiLCJpbml0VXNlIiwiVnVlIiwidXNlIiwicGx1Z2luIiwi
aW5zdGFsbGVkUGx1Z2lucyIsIl9pbnN0YWxsZWRQbHVnaW5zIiwiYXJncyIsInVuc2hpZnQiLCJp
bnN0YWxsIiwiaW5pdE1peGluJDEiLCJtaXhpbiIsImluaXRFeHRlbmQiLCJTdXBlciIsIlN1cGVy
SWQiLCJjYWNoZWRDdG9ycyIsIl9DdG9yIiwiU3ViIiwiaW5pdFByb3BzJDEiLCJpbml0Q29tcHV0
ZWQkMSIsIkFTU0VUX1RZUEVTIiwiQ29tcCIsImluaXRBc3NldFJlZ2lzdGVycyIsImRlZmluaXRp
b24iLCJnZXRDb21wb25lbnROYW1lIiwibWF0Y2hlcyIsInBhdHRlcm4iLCJwcnVuZUNhY2hlIiwi
Y3VycmVudCIsImZpbHRlciIsImNhY2hlZE5vZGUiLCJwcnVuZUNhY2hlRW50cnkiLCJjb21wb25l
bnRJbnN0YW5jZSIsIiRkZXN0cm95IiwiZ2VuQ2xhc3NGb3JWbm9kZSIsInBhcmVudE5vZGUiLCJj
aGlsZE5vZGUiLCJtZXJnZUNsYXNzRGF0YSIsInJlbmRlckNsYXNzIiwic3RhdGljQ2xhc3MiLCJj
bGFzcyIsImR5bmFtaWNDbGFzcyIsInN0cmluZ2lmeUNsYXNzIiwic3RyaW5naWZ5QXJyYXkiLCJz
dHJpbmdpZnlPYmplY3QiLCJzdHJpbmdpZmllZCIsImlzU1ZHIiwiaXNVbmtub3duRWxlbWVudCIs
InVua25vd25FbGVtZW50Q2FjaGUiLCJkb2N1bWVudCIsIndpbmRvdyIsIkhUTUxVbmtub3duRWxl
bWVudCIsIkhUTUxFbGVtZW50IiwicXVlcnkiLCJzZWxlY3RlZCIsInF1ZXJ5U2VsZWN0b3IiLCJj
cmVhdGVFbGVtZW50JDEiLCJ0YWdOYW1lIiwibXVsdGlwbGUiLCJzZXRBdHRyaWJ1dGUiLCJjcmVh
dGVFbGVtZW50TlMiLCJuYW1lc3BhY2UiLCJuYW1lc3BhY2VNYXAiLCJjcmVhdGVUZXh0Tm9kZSIs
ImNyZWF0ZUNvbW1lbnQiLCJpbnNlcnRCZWZvcmUiLCJuZXdOb2RlIiwicmVmZXJlbmNlTm9kZSIs
InJlbW92ZUNoaWxkIiwiYXBwZW5kQ2hpbGQiLCJuZXh0U2libGluZyIsInNldFRleHRDb250ZW50
IiwidGV4dENvbnRlbnQiLCJyZWdpc3RlclJlZiIsImlzUmVtb3ZhbCIsInJlZiIsInJlZnMiLCJy
ZWZJbkZvciIsInNhbWVWbm9kZSIsInNhbWVJbnB1dFR5cGUiLCJpc0FzeW5jUGxhY2Vob2xkZXIi
LCJjcmVhdGVLZXlUb09sZElkeCIsImJlZ2luSWR4IiwiZW5kSWR4IiwidXBkYXRlRGlyZWN0aXZl
cyIsIm9sZFZub2RlIiwib2xkRGlyIiwiZGlyIiwiaXNDcmVhdGUiLCJlbXB0eU5vZGUiLCJpc0Rl
c3Ryb3kiLCJvbGREaXJzIiwibm9ybWFsaXplRGlyZWN0aXZlcyQxIiwibmV3RGlycyIsImRpcnNX
aXRoSW5zZXJ0IiwiZGlyc1dpdGhQb3N0cGF0Y2giLCJvbGRWYWx1ZSIsImNhbGxIb29rJDEiLCJj
b21wb25lbnRVcGRhdGVkIiwiaW5zZXJ0ZWQiLCJjYWxsSW5zZXJ0IiwibW9kaWZpZXJzIiwiZW1w
dHlNb2RpZmllcnMiLCJnZXRSYXdEaXJOYW1lIiwicmF3TmFtZSIsImpvaW4iLCJ1cGRhdGVBdHRy
cyIsImluaGVyaXRBdHRycyIsIm9sZEF0dHJzIiwic2V0QXR0ciIsImlzSUU5IiwiaXNYbGluayIs
InJlbW92ZUF0dHJpYnV0ZU5TIiwieGxpbmtOUyIsImdldFhsaW5rUHJvcCIsImlzRW51bWVyYXRl
ZEF0dHIiLCJyZW1vdmVBdHRyaWJ1dGUiLCJpc0Jvb2xlYW5BdHRyIiwiaXNGYWxzeUF0dHJWYWx1
ZSIsInNldEF0dHJpYnV0ZU5TIiwidXBkYXRlQ2xhc3MiLCJvbGREYXRhIiwiY2xzIiwidHJhbnNp
dGlvbkNsYXNzIiwiX3RyYW5zaXRpb25DbGFzc2VzIiwiX3ByZXZDbGFzcyIsInBhcnNlRmlsdGVy
cyIsImV4cCIsInB1c2hGaWx0ZXIiLCJmaWx0ZXJzIiwibGFzdEZpbHRlckluZGV4IiwidHJpbSIs
InByZXYiLCJleHByZXNzaW9uIiwiaW5TaW5nbGUiLCJpbkRvdWJsZSIsImluVGVtcGxhdGVTdHJp
bmciLCJpblJlZ2V4IiwiY3VybHkiLCJzcXVhcmUiLCJwYXJlbiIsInAiLCJjaGFyQXQiLCJ2YWxp
ZERpdmlzaW9uQ2hhclJFIiwid3JhcEZpbHRlciIsImJhc2VXYXJuIiwibXNnIiwicGx1Y2tNb2R1
bGVGdW5jdGlvbiIsIm1vZHVsZXMiLCJtIiwiXyIsImFkZFByb3AiLCJhZGRBdHRyIiwiYWRkRGly
ZWN0aXZlIiwiYXJnIiwiYWRkSGFuZGxlciIsImltcG9ydGFudCIsIndhcm4iLCJldmVudHMiLCJu
YXRpdmUiLCJuYXRpdmVFdmVudHMiLCJuZXdIYW5kbGVyIiwiZ2V0QmluZGluZ0F0dHIiLCJnZXRT
dGF0aWMiLCJkeW5hbWljVmFsdWUiLCJnZXRBbmRSZW1vdmVBdHRyIiwic3RhdGljVmFsdWUiLCJh
dHRyc01hcCIsImF0dHJzTGlzdCIsImdlbkNvbXBvbmVudE1vZGVsIiwibnVtYmVyIiwidmFsdWVF
eHByZXNzaW9uIiwiYXNzaWdubWVudCIsImdlbkFzc2lnbm1lbnRDb2RlIiwibW9kZWxScyIsInBh
cnNlTW9kZWwiLCJpZHgiLCJpbmRleCQxIiwiZXhwcmVzc2lvblBvcyIsImV4cHJlc3Npb25FbmRQ
b3MiLCJsYXN0SW5kZXhPZiIsImVvZiIsImNociIsIm5leHQiLCJpc1N0cmluZ1N0YXJ0IiwicGFy
c2VTdHJpbmciLCJwYXJzZUJyYWNrZXQiLCJzdWJzdHJpbmciLCJpbkJyYWNrZXQiLCJzdHJpbmdR
dW90ZSIsIl93YXJuIiwid2FybiQxIiwiZ2VuU2VsZWN0IiwiZ2VuQ2hlY2tib3hNb2RlbCIsImdl
blJhZGlvTW9kZWwiLCJnZW5EZWZhdWx0TW9kZWwiLCJ2YWx1ZUJpbmRpbmciLCJ0cnVlVmFsdWVC
aW5kaW5nIiwiZmFsc2VWYWx1ZUJpbmRpbmciLCJDSEVDS0JPWF9SQURJT19UT0tFTiIsInNlbGVj
dGVkVmFsIiwiY29kZSIsImxhenkiLCJuZWVkQ29tcG9zaXRpb25HdWFyZCIsIlJBTkdFX1RPS0VO
Iiwibm9ybWFsaXplRXZlbnRzIiwiaXNJRSIsImlzQ2hyb21lIiwiYWRkJDEiLCJvbGRIYW5kbGVy
IiwidGFyZ2V0JDEiLCJldiIsInJlbW92ZSQyIiwiYWRkRXZlbnRMaXN0ZW5lciIsInN1cHBvcnRz
UGFzc2l2ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJ1cGRhdGVET01MaXN0ZW5lcnMiLCJ1cGRh
dGVET01Qcm9wcyIsIm9sZFByb3BzIiwiX3ZhbHVlIiwic3RyQ3VyIiwic2hvdWxkVXBkYXRlVmFs
dWUiLCJjaGVja1ZhbCIsImNvbXBvc2luZyIsImlzRGlydHkiLCJpc0lucHV0Q2hhbmdlZCIsIm5v
dEluRm9jdXMiLCJhY3RpdmVFbGVtZW50IiwiX3ZNb2RpZmllcnMiLCJub3JtYWxpemVTdHlsZURh
dGEiLCJzdHlsZSIsIm5vcm1hbGl6ZVN0eWxlQmluZGluZyIsInN0YXRpY1N0eWxlIiwiYmluZGlu
Z1N0eWxlIiwicGFyc2VTdHlsZVRleHQiLCJnZXRTdHlsZSIsImNoZWNrQ2hpbGQiLCJzdHlsZURh
dGEiLCJ1cGRhdGVTdHlsZSIsIm9sZFN0YXRpY1N0eWxlIiwib2xkU3R5bGVCaW5kaW5nIiwibm9y
bWFsaXplZFN0eWxlIiwib2xkU3R5bGUiLCJuZXdTdHlsZSIsInNldFByb3AiLCJhZGRDbGFzcyIs
ImNsYXNzTGlzdCIsImdldEF0dHJpYnV0ZSIsInJlbW92ZUNsYXNzIiwidGFyIiwicmVwbGFjZSIs
InJlc29sdmVUcmFuc2l0aW9uIiwiZGVmJCQxIiwiY3NzIiwiYXV0b0Nzc1RyYW5zaXRpb24iLCJu
ZXh0RnJhbWUiLCJyYWYiLCJhZGRUcmFuc2l0aW9uQ2xhc3MiLCJ0cmFuc2l0aW9uQ2xhc3NlcyIs
InJlbW92ZVRyYW5zaXRpb25DbGFzcyIsIndoZW5UcmFuc2l0aW9uRW5kcyIsImV4cGVjdGVkVHlw
ZSIsImNiIiwiZ2V0VHJhbnNpdGlvbkluZm8iLCJwcm9wQ291bnQiLCJUUkFOU0lUSU9OIiwidHJh
bnNpdGlvbkVuZEV2ZW50IiwiYW5pbWF0aW9uRW5kRXZlbnQiLCJlbmRlZCIsImVuZCIsIm9uRW5k
Iiwic3R5bGVzIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsInRyYW5zaXRpb25EZWxheXMiLCJ0cmFuc2l0
aW9uUHJvcCIsInRyYW5zaXRpb25EdXJhdGlvbnMiLCJ0cmFuc2l0aW9uVGltZW91dCIsImdldFRp
bWVvdXQiLCJhbmltYXRpb25EZWxheXMiLCJhbmltYXRpb25Qcm9wIiwiYW5pbWF0aW9uRHVyYXRp
b25zIiwiYW5pbWF0aW9uVGltZW91dCIsIkFOSU1BVElPTiIsImhhc1RyYW5zZm9ybSIsInRyYW5z
Zm9ybVJFIiwiZGVsYXlzIiwiZHVyYXRpb25zIiwidG9NcyIsInMiLCJOdW1iZXIiLCJlbnRlciIs
InRvZ2dsZURpc3BsYXkiLCJfbGVhdmVDYiIsImNhbmNlbGxlZCIsInRyYW5zaXRpb24iLCJfZW50
ZXJDYiIsIm5vZGVUeXBlIiwiZW50ZXJDbGFzcyIsImVudGVyVG9DbGFzcyIsImVudGVyQWN0aXZl
Q2xhc3MiLCJhcHBlYXJDbGFzcyIsImFwcGVhclRvQ2xhc3MiLCJhcHBlYXJBY3RpdmVDbGFzcyIs
ImJlZm9yZUVudGVyIiwiYWZ0ZXJFbnRlciIsImVudGVyQ2FuY2VsbGVkIiwiYmVmb3JlQXBwZWFy
IiwiYXBwZWFyIiwiYWZ0ZXJBcHBlYXIiLCJhcHBlYXJDYW5jZWxsZWQiLCJkdXJhdGlvbiIsImFj
dGl2ZUluc3RhbmNlIiwidHJhbnNpdGlvbk5vZGUiLCJpc0FwcGVhciIsImlzUm9vdEluc2VydCIs
InN0YXJ0Q2xhc3MiLCJhY3RpdmVDbGFzcyIsInRvQ2xhc3MiLCJiZWZvcmVFbnRlckhvb2siLCJl
bnRlckhvb2siLCJhZnRlckVudGVySG9vayIsImVudGVyQ2FuY2VsbGVkSG9vayIsImV4cGxpY2l0
RW50ZXJEdXJhdGlvbiIsImV4cGVjdHNDU1MiLCJ1c2VyV2FudHNDb250cm9sIiwiZ2V0SG9va0Fy
Z3VtZW50c0xlbmd0aCIsInNob3ciLCJwZW5kaW5nTm9kZSIsIl9wZW5kaW5nIiwiaXNWYWxpZER1
cmF0aW9uIiwibGVhdmUiLCJybSIsInBlcmZvcm1MZWF2ZSIsImJlZm9yZUxlYXZlIiwibGVhdmVD
bGFzcyIsImxlYXZlQWN0aXZlQ2xhc3MiLCJsZWF2ZVRvQ2xhc3MiLCJleHBsaWNpdExlYXZlRHVy
YXRpb24iLCJhZnRlckxlYXZlIiwibGVhdmVDYW5jZWxsZWQiLCJkZWxheUxlYXZlIiwiaW52b2tl
ckZucyIsIl9lbnRlciIsInNldFNlbGVjdGVkIiwiYmluZGluZyIsImlzTXVsdGlwbGUiLCJvcHRp
b24iLCJnZXRWYWx1ZSIsInNlbGVjdGVkSW5kZXgiLCJvbkNvbXBvc2l0aW9uU3RhcnQiLCJvbkNv
bXBvc2l0aW9uRW5kIiwidHJpZ2dlciIsImNyZWF0ZUV2ZW50IiwiaW5pdEV2ZW50IiwiZGlzcGF0
Y2hFdmVudCIsImxvY2F0ZU5vZGUiLCJnZXRSZWFsQ2hpbGQiLCJjb21wT3B0aW9ucyIsImV4dHJh
Y3RUcmFuc2l0aW9uRGF0YSIsImtleSQxIiwicGxhY2Vob2xkZXIiLCJyYXdDaGlsZCIsImhhc1Bh
cmVudFRyYW5zaXRpb24iLCJpc1NhbWVDaGlsZCIsIm9sZENoaWxkIiwiY2FsbFBlbmRpbmdDYnMi
LCJfbW92ZUNiIiwicmVjb3JkUG9zaXRpb24iLCJuZXdQb3MiLCJnZXRCb3VuZGluZ0NsaWVudFJl
Y3QiLCJhcHBseVRyYW5zbGF0aW9uIiwib2xkUG9zIiwicG9zIiwiZHgiLCJsZWZ0IiwiZHkiLCJ0
b3AiLCJtb3ZlZCIsInRyYW5zZm9ybSIsIldlYmtpdFRyYW5zZm9ybSIsInRyYW5zaXRpb25EdXJh
dGlvbiIsInBhcnNlVGV4dCIsImRlbGltaXRlcnMiLCJ0YWdSRSIsImJ1aWxkUmVnZXgiLCJkZWZh
dWx0VGFnUkUiLCJ0b2tlbnMiLCJsYXN0SW5kZXgiLCJleGVjIiwidHJhbnNmb3JtTm9kZSIsImNs
YXNzQmluZGluZyIsImdlbkRhdGEiLCJ0cmFuc2Zvcm1Ob2RlJDEiLCJzdHlsZUJpbmRpbmciLCJn
ZW5EYXRhJDEiLCJodG1sIiwiZGVjb2RlQXR0ciIsInNob3VsZERlY29kZU5ld2xpbmVzIiwicmUi
LCJlbmNvZGVkQXR0cldpdGhOZXdMaW5lcyIsImVuY29kZWRBdHRyIiwiZGVjb2RpbmdNYXAiLCJw
YXJzZUhUTUwiLCJhZHZhbmNlIiwicGFyc2VFbmRUYWciLCJsb3dlckNhc2VkVGFnTmFtZSIsInN0
YWNrIiwibG93ZXJDYXNlZFRhZyIsImxhc3RUYWciLCJleHBlY3RIVE1MIiwiaXNVbmFyeVRhZyQk
MSIsImlzVW5hcnlUYWciLCJubyIsImNhbkJlTGVmdE9wZW5UYWckJDEiLCJjYW5CZUxlZnRPcGVu
VGFnIiwiaXNQbGFpblRleHRFbGVtZW50IiwiZW5kVGFnTGVuZ3RoIiwic3RhY2tlZFRhZyIsInJl
U3RhY2tlZFRhZyIsInJlQ2FjaGUiLCJSZWdFeHAiLCJyZXN0JDEiLCJhbGwiLCJlbmRUYWciLCJz
aG91bGRJZ25vcmVGaXJzdE5ld2xpbmUiLCJjaGFycyIsInRleHRFbmQiLCJjb21tZW50IiwiY29t
bWVudEVuZCIsInNob3VsZEtlZXBDb21tZW50IiwiY29uZGl0aW9uYWxDb21tZW50IiwiY29uZGl0
aW9uYWxFbmQiLCJkb2N0eXBlTWF0Y2giLCJkb2N0eXBlIiwiZW5kVGFnTWF0Y2giLCJjdXJJbmRl
eCIsInN0YXJ0VGFnTWF0Y2giLCJzdGFydFRhZ09wZW4iLCJhdHRyIiwic3RhcnRUYWdDbG9zZSIs
ImF0dHJpYnV0ZSIsInVuYXJ5U2xhc2giLCJpc05vblBocmFzaW5nVGFnIiwidW5hcnkiLCJJU19S
RUdFWF9DQVBUVVJJTkdfQlJPS0VOIiwicmVzdCIsInBhcnNlIiwidGVtcGxhdGUiLCJlbmRQcmUi
LCJlbGVtZW50IiwicHJlIiwiaW5WUHJlIiwicGxhdGZvcm1Jc1ByZVRhZyIsImluUHJlIiwid2Fy
biQyIiwiaXNQcmVUYWciLCJwbGF0Zm9ybU11c3RVc2VQcm9wIiwicGxhdGZvcm1HZXRUYWdOYW1l
c3BhY2UiLCJ0cmFuc2Zvcm1zIiwicHJlVHJhbnNmb3JtcyIsInBvc3RUcmFuc2Zvcm1zIiwicm9v
dCIsImN1cnJlbnRQYXJlbnQiLCJwcmVzZXJ2ZVdoaXRlc3BhY2UiLCJjb21tZW50cyIsImd1YXJk
SUVTVkdCdWciLCJtYWtlQXR0cnNNYXAiLCJpc0ZvcmJpZGRlblRhZyIsImZvcmJpZGRlbiIsInBy
b2Nlc3NQcmUiLCJwcm9jZXNzUmF3QXR0cnMiLCJwcm9jZXNzRm9yIiwicHJvY2Vzc0lmIiwicHJv
Y2Vzc09uY2UiLCJwcm9jZXNzS2V5IiwicGxhaW4iLCJwcm9jZXNzUmVmIiwicHJvY2Vzc1Nsb3Qi
LCJwcm9jZXNzQ29tcG9uZW50IiwiaSQxIiwicHJvY2Vzc0F0dHJzIiwiaWYiLCJlbHNlaWYiLCJl
bHNlIiwiYWRkSWZDb25kaXRpb24iLCJibG9jayIsInByb2Nlc3NJZkNvbmRpdGlvbnMiLCJzbG90
U2NvcGUiLCJzbG90VGFyZ2V0IiwiaSQyIiwibGFzdE5vZGUiLCJpc1RleHRUYWciLCJkZWNvZGVI
VE1MQ2FjaGVkIiwiY2hlY2tJbkZvciIsImluTWF0Y2giLCJmb3JBbGlhc1JFIiwiZm9yIiwiYWxp
YXMiLCJpdGVyYXRvck1hdGNoIiwiZm9ySXRlcmF0b3JSRSIsIml0ZXJhdG9yMSIsIml0ZXJhdG9y
MiIsImZpbmRQcmV2RWxlbWVudCIsImNvbmRpdGlvbiIsImlmQ29uZGl0aW9ucyIsInNsb3ROYW1l
IiwiaXNQcm9wIiwiZGlyUkUiLCJoYXNCaW5kaW5ncyIsInBhcnNlTW9kaWZpZXJzIiwibW9kaWZp
ZXJSRSIsImJpbmRSRSIsImNhbWVsIiwib25SRSIsImFyZ01hdGNoIiwiYXJnUkUiLCJpZU5TQnVn
IiwiaWVOU1ByZWZpeCIsIm9wdGltaXplIiwiaXNTdGF0aWNLZXkiLCJnZW5TdGF0aWNLZXlzQ2Fj
aGVkIiwic3RhdGljS2V5cyIsImlzUGxhdGZvcm1SZXNlcnZlZFRhZyIsIm1hcmtTdGF0aWMkMSIs
Im1hcmtTdGF0aWNSb290cyIsImdlblN0YXRpY0tleXMkMSIsInN0YXRpYyIsImwkMSIsInN0YXRp
Y0luRm9yIiwic3RhdGljUm9vdCIsImlzQnVpbHRJblRhZyIsImlzRGlyZWN0Q2hpbGRPZlRlbXBs
YXRlRm9yIiwiZ2VuSGFuZGxlcnMiLCJnZW5IYW5kbGVyIiwiaXNNZXRob2RQYXRoIiwic2ltcGxl
UGF0aFJFIiwiaXNGdW5jdGlvbkV4cHJlc3Npb24iLCJmbkV4cFJFIiwiZ2VuTW9kaWZpZXJDb2Rl
IiwibW9kaWZpZXJDb2RlIiwiZ2VuS2V5RmlsdGVyIiwiZ2VuRmlsdGVyQ29kZSIsImtleVZhbCIs
InBhcnNlSW50Iiwid3JhcExpc3RlbmVycyIsImJpbmQkMSIsIndyYXBEYXRhIiwiZ2VuZXJhdGUi
LCJhc3QiLCJzdGF0ZSIsIkNvZGVnZW5TdGF0ZSIsImdlbkVsZW1lbnQiLCJzdGF0aWNQcm9jZXNz
ZWQiLCJnZW5TdGF0aWMiLCJvbmNlUHJvY2Vzc2VkIiwiZ2VuT25jZSIsImZvclByb2Nlc3NlZCIs
ImdlbkZvciIsImlmUHJvY2Vzc2VkIiwiZ2VuSWYiLCJnZW5TbG90IiwiZ2VuQ29tcG9uZW50Iiwi
Z2VuRGF0YSQyIiwiZ2VuQ2hpbGRyZW4iLCJvbmNlSWQiLCJhbHRHZW4iLCJhbHRFbXB0eSIsImdl
bklmQ29uZGl0aW9ucyIsImNvbmRpdGlvbnMiLCJnZW5UZXJuYXJ5RXhwIiwic2hpZnQiLCJhbHRI
ZWxwZXIiLCJnZW5EaXJlY3RpdmVzIiwiZGF0YUdlbkZucyIsImdlblByb3BzIiwiZ2VuU2NvcGVk
U2xvdHMiLCJnZW5JbmxpbmVUZW1wbGF0ZSIsIm5lZWRSdW50aW1lIiwiaGFzUnVudGltZSIsImdl
biIsImlubGluZVJlbmRlckZucyIsImdlblNjb3BlZFNsb3QiLCJnZW5Gb3JTY29wZWRTbG90Iiwi
c2NvcGUiLCJjaGVja1NraXAiLCJhbHRHZW5FbGVtZW50IiwiYWx0R2VuTm9kZSIsImVsJDEiLCJn
ZXROb3JtYWxpemF0aW9uVHlwZSIsIm1heWJlQ29tcG9uZW50IiwiZ2VuTm9kZSIsIm5lZWRzTm9y
bWFsaXphdGlvbiIsInNvbWUiLCJnZW5Db21tZW50IiwiZ2VuVGV4dCIsInRyYW5zZm9ybVNwZWNp
YWxOZXdsaW5lcyIsImJpbmQkJDEiLCJjb21wb25lbnROYW1lIiwiY3JlYXRlRnVuY3Rpb24iLCJl
cnJvcnMiLCJGdW5jdGlvbiIsImNyZWF0ZUNvbXBpbGVUb0Z1bmN0aW9uRm4iLCJjb21waWxlIiwi
Y29tcGlsZWQiLCJmbkdlbkVycm9ycyIsImdldE91dGVySFRNTCIsIm91dGVySFRNTCIsImNvbnRh
aW5lciIsImNsb25lTm9kZSIsImlubmVySFRNTCIsImNhbWVsaXplUkUiLCJ0b1VwcGVyQ2FzZSIs
Imh5cGhlbmF0ZVJFIiwiU1NSX0FUVFIiLCJMSUZFQ1lDTEVfSE9PS1MiLCJvcHRpb25NZXJnZVN0
cmF0ZWdpZXMiLCJzaWxlbnQiLCJwcm9kdWN0aW9uVGlwIiwicGVyZm9ybWFuY2UiLCJ3YXJuSGFu
ZGxlciIsImlnbm9yZWRFbGVtZW50cyIsImlzUmVzZXJ2ZWRBdHRyIiwiX2xpZmVjeWNsZUhvb2tz
IiwiZnJlZXplIiwiaGFzUHJvdG8iLCJVQSIsIm5hdmlnYXRvciIsInVzZXJBZ2VudCIsImlzRWRn
ZSIsImlzQW5kcm9pZCIsImlzSU9TIiwiX2lzU2VydmVyIiwiX1NldCIsImVudiIsIlZVRV9FTlYi
LCJfX1ZVRV9ERVZUT09MU19HTE9CQUxfSE9PS19fIiwiU3ltYm9sIiwibmV4dFRpY2tIYW5kbGVy
IiwicGVuZGluZyIsImNvcGllcyIsImNhbGxiYWNrcyIsInRpbWVyRnVuYyIsIlByb21pc2UiLCJs
b2dFcnJvciIsImNhdGNoIiwiTXV0YXRpb25PYnNlcnZlciIsImNvdW50ZXIiLCJvYnNlcnZlciIs
InRleHROb2RlIiwiY2hhcmFjdGVyRGF0YSIsIl9yZXNvbHZlIiwiU2V0IiwidWlkIiwic3VicyIs
ImFkZFN1YiIsInN1YiIsInJlbW92ZVN1YiIsImFkZERlcCIsImFycmF5UHJvdG8iLCJhcnJheU1l
dGhvZHMiLCJtZXRob2QiLCJvcmlnaW5hbCIsIm9ic2VydmVBcnJheSIsImFycmF5S2V5cyIsImdl
dE93blByb3BlcnR5TmFtZXMiLCJ3YWxrIiwiaXRlbXMiLCJyYXciLCJwcm90b3R5cGVBY2Nlc3Nv
cnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwidWlkJDIiLCJleHBPckZuIiwiZGVlcCIsInVzZXIiLCJh
Y3RpdmUiLCJkZXBzIiwibmV3RGVwcyIsImRlcElkcyIsIm5ld0RlcElkcyIsImNsZWFudXBEZXBz
IiwidGhpcyQxIiwidG1wIiwidGVhcmRvd24iLCJpbml0IiwiJG1vdW50Iiwia2VlcEFsaXZlIiwi
bW91bnRlZE5vZGUiLCJwcmVwYXRjaCIsImluc2VydCIsImRlc3Ryb3kiLCJ1aWQkMSIsIl91aWQi
LCJfc2VsZiIsImRhdGFEZWYiLCJwcm9wc0RlZiIsIiRzZXQiLCIkZGVsZXRlIiwiaW1tZWRpYXRl
IiwiaG9va1JFIiwiY2JzIiwicHJldkVsIiwicHJldlZub2RlIiwicHJldkFjdGl2ZUluc3RhbmNl
IiwiX19wYXRjaF9fIiwiX192dWVfXyIsIiRuZXh0VGljayIsIl9vIiwiX24iLCJfcyIsIl9sIiwi
X3QiLCJfcSIsIl9pIiwiX20iLCJfZiIsIl9rIiwiX2IiLCJfdiIsIl9lIiwiX3UiLCJfZyIsInBh
dHRlcm5UeXBlcyIsIktlZXBBbGl2ZSIsImluY2x1ZGUiLCJleGNsdWRlIiwiY3JlYXRlZCIsImRl
c3Ryb3llZCIsImJ1aWx0SW5Db21wb25lbnRzIiwiY29uZmlnRGVmIiwidXRpbCIsImRlZmluZVJl
YWN0aXZlIiwiZGVsZXRlIiwic3NyQ29udGV4dCIsInZlcnNpb24iLCJlbXB0eVN0eWxlIiwiYWNj
ZXB0VmFsdWUiLCJzdmciLCJtYXRoIiwiaXNIVE1MVGFnIiwibm9kZU9wcyIsImhvb2tzIiwiYmFz
ZU1vZHVsZXMiLCJrbGFzcyIsImNzc1RleHQiLCJsaXN0RGVsaW1pdGVyIiwicHJvcGVydHlEZWxp
bWl0ZXIiLCJjc3NWYXJSRSIsImltcG9ydGFudFJFIiwic2V0UHJvcGVydHkiLCJub3JtYWxpemVk
TmFtZSIsIm5vcm1hbGl6ZSIsInZlbmRvck5hbWVzIiwiY2FwTmFtZSIsImhhc1RyYW5zaXRpb24i
LCJvbnRyYW5zaXRpb25lbmQiLCJvbndlYmtpdHRyYW5zaXRpb25lbmQiLCJvbmFuaW1hdGlvbmVu
ZCIsIm9ud2Via2l0YW5pbWF0aW9uZW5kIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiYWN0aXZh
dGUiLCJwbGF0Zm9ybU1vZHVsZXMiLCJwYXRjaCIsImJhY2tlbmQiLCJlbXB0eU5vZGVBdCIsImNy
ZWF0ZVJtQ2IiLCJjaGlsZEVsbSIsInJlbW92ZU5vZGUiLCJjcmVhdGVFbG0iLCJpbnNlcnRlZFZu
b2RlUXVldWUiLCJuZXN0ZWQiLCJzZXRTY29wZSIsImNyZWF0ZUNoaWxkcmVuIiwiaW52b2tlQ3Jl
YXRlSG9va3MiLCJpc1JlYWN0aXZhdGVkIiwiaW5pdENvbXBvbmVudCIsInJlYWN0aXZhdGVDb21w
b25lbnQiLCJwZW5kaW5nSW5zZXJ0IiwiaXNQYXRjaGFibGUiLCJpbm5lck5vZGUiLCJyZWYkJDEi
LCJhbmNlc3RvciIsIl9zY29wZUlkIiwiYWRkVm5vZGVzIiwic3RhcnRJZHgiLCJpbnZva2VEZXN0
cm95SG9vayIsInJlbW92ZVZub2RlcyIsImNoIiwicmVtb3ZlQW5kSW52b2tlUmVtb3ZlSG9vayIs
InVwZGF0ZUNoaWxkcmVuIiwib2xkQ2giLCJuZXdDaCIsInJlbW92ZU9ubHkiLCJvbGRLZXlUb0lk
eCIsImlkeEluT2xkIiwiZWxtVG9Nb3ZlIiwib2xkU3RhcnRJZHgiLCJuZXdTdGFydElkeCIsIm9s
ZEVuZElkeCIsIm9sZFN0YXJ0Vm5vZGUiLCJvbGRFbmRWbm9kZSIsIm5ld0VuZElkeCIsIm5ld1N0
YXJ0Vm5vZGUiLCJuZXdFbmRWbm9kZSIsImNhbk1vdmUiLCJwYXRjaFZub2RlIiwiaHlkcmF0ZSIs
InBvc3RwYXRjaCIsImludm9rZUluc2VydEhvb2siLCJpbml0aWFsIiwiaGFzQ2hpbGROb2RlcyIs
ImNoaWxkcmVuTWF0Y2giLCJmaXJzdENoaWxkIiwiaXNSZW5kZXJlZE1vZHVsZSIsImlzSW5pdGlh
bFBhdGNoIiwiaXNSZWFsRWxlbWVudCIsImhhc0F0dHJpYnV0ZSIsIm9sZEVsbSIsInBhcmVudEVs
bSQxIiwiaXNUZXh0SW5wdXRUeXBlIiwidm1vZGVsIiwibW9kZWwkMSIsIl92T3B0aW9ucyIsInBy
ZXZPcHRpb25zIiwibyIsInRyYW5zaXRpb24kJDEiLCJvcmlnaW5hbERpc3BsYXkiLCJfX3ZPcmln
aW5hbERpc3BsYXkiLCJkaXNwbGF5IiwidW5iaW5kIiwicGxhdGZvcm1EaXJlY3RpdmVzIiwidHJh
bnNpdGlvblByb3BzIiwibW9kZSIsIlRyYW5zaXRpb24iLCJfbGVhdmluZyIsIm9sZFJhd0NoaWxk
IiwiZGVsYXllZExlYXZlIiwibW92ZUNsYXNzIiwiVHJhbnNpdGlvbkdyb3VwIiwicHJldkNoaWxk
cmVuIiwicmF3Q2hpbGRyZW4iLCJ0cmFuc2l0aW9uRGF0YSIsImtlcHQiLCJyZW1vdmVkIiwiYyQx
IiwiYmVmb3JlVXBkYXRlIiwidXBkYXRlZCIsImhhc01vdmUiLCJib2R5Iiwib2Zmc2V0SGVpZ2h0
IiwicHJvcGVydHlOYW1lIiwiX2hhc01vdmUiLCJjbG9uZSIsInBsYXRmb3JtQ29tcG9uZW50cyIs
ImRlY29kZXIiLCJjb250ZW50IiwiZW5jb2RlZCIsImRpdiIsInJlZ2V4RXNjYXBlUkUiLCJvcGVu
IiwiY2xvc2UiLCJrbGFzcyQxIiwic3R5bGUkMSIsIm1vZHVsZXMkMSIsImRpcmVjdGl2ZXMkMSIs
ImJhc2VPcHRpb25zIiwicmVkdWNlIiwiaGUiLCJkZWNvZGUiLCJzaW5nbGVBdHRySWRlbnRpZmll
ciIsInNpbmdsZUF0dHJBc3NpZ24iLCJzaW5nbGVBdHRyVmFsdWVzIiwibmNuYW1lIiwicW5hbWVD
YXB0dXJlIiwiZyIsIiZsdDsiLCImZ3Q7IiwiJnF1b3Q7IiwiJmFtcDsiLCImIzEwOyIsImlzSWdu
b3JlTmV3bGluZVRhZyIsImVzYyIsInRhYiIsInNwYWNlIiwidXAiLCJyaWdodCIsImRvd24iLCJn
ZW5HdWFyZCIsInN0b3AiLCJwcmV2ZW50Iiwic2VsZiIsImN0cmwiLCJhbHQiLCJtZXRhIiwibWlk
ZGxlIiwiYmFzZURpcmVjdGl2ZXMiLCJjbG9hayIsImNyZWF0ZUNvbXBpbGVyIiwiYmFzZUNvbXBp
bGUiLCJmaW5hbE9wdGlvbnMiLCJ0aXBzIiwidGlwIiwiY29tcGlsZVRvRnVuY3Rpb25zIiwicmVm
JDEiLCJpZFRvVGVtcGxhdGUiLCJtb3VudCIsImRvY3VtZW50RWxlbWVudCIsImV4cG9ydHMiLCJy
YXdTY3JpcHRFeHBvcnRzIiwiY29tcGlsZWRUZW1wbGF0ZSIsImluamVjdFN0eWxlcyIsInNjb3Bl
SWQiLCJtb2R1bGVJZGVudGlmaWVyIiwiZXNNb2R1bGUiLCJzY3JpcHRFeHBvcnRzIiwiX19WVUVf
U1NSX0NPTlRFWFRfXyIsIl9yZWdpc3RlcmVkQ29tcG9uZW50cyIsIl9zc3JSZWdpc3RlciIsImJl
Zm9yZUNyZWF0ZSIsImRsb2NIYXNoRW1wdHkiLCJkbG9jIiwiX2V2ZXJ5IiwiaXRlcmF0b3IiLCJf
ZmxhdHRlbiIsImZsYXQiLCJfYXN5bmNFdmVyeVNlcmllcyIsImNvbXBsZXRlZCIsIml0ZXJhdGUi
LCJwYXJhbWlmeVN0cmluZyIsInBhcmFtcyIsIm1vZCIsInBhcmFtIiwicmVnaWZ5U3RyaW5nIiwi
b3V0Iiwic3Vic3RyIiwiY2FwdHVyZXMiLCJ0ZXJtaW5hdG9yIiwicm91dGVzIiwiZGVsaW1pdGVy
IiwiY2h1bmsiLCJsb2NhdGlvbiIsImxpc3RlbmVyIiwiaGlzdG9yeSIsImNoZWNrIiwib25IYXNo
Q2hhbmdlZCIsImZpcmUiLCJvbnBvcHN0YXRlIiwib25oYXNoY2hhbmdlIiwib25jaGFuZ2UiLCJv
bkNoYW5nZUV2ZW50IiwiUm91dGVyIiwiZG9jdW1lbnRNb2RlIiwiZnJhbWUiLCJ3cml0ZUZyYW1l
IiwiYXR0YWNoRXZlbnQiLCJzZXRJbnRlcnZhbCIsInNldEhhc2giLCJwdXNoU3RhdGUiLCJ0aXRs
ZSIsImYiLCJnZXRFbGVtZW50QnlJZCIsImNvbnRlbnREb2N1bWVudCIsImNvbnRlbnRXaW5kb3ci
LCJ3cml0ZSIsInN5bmNIYXNoIiwiX2hhc2giLCJfbWV0aG9kcyIsIl9pbnNlcnQiLCJpbnNlcnRF
eCIsImhpc3RvcnlTdXBwb3J0IiwiY29uZmlndXJlIiwiciIsInJvdXRlVG8iLCJuZXdVUkwiLCJ1
cmwiLCJnZXRQYXRoIiwiZGlzcGF0Y2giLCJjb252ZXJ0X2hhc2hfaW5faW5pdCIsInJlcGxhY2VT
dGF0ZSIsInJ1bl9pbl9pbml0IiwiZXhwbG9kZSIsInNldFJvdXRlIiwicm91dGUiLCJnZXRSb3V0
ZSIsInBhdGhuYW1lIiwiUVVFUllfU0VQQVJBVE9SIiwicmVjdXJzZSIsImFzeW5jIiwic3RyaWN0
Iiwibm90Zm91bmQiLCJyZXNvdXJjZSIsImh0bWw1aGlzdG9yeSIsInJ1bl9oYW5kbGVyX2luX2lu
aXQiLCJhZnRlciIsImJlZm9yZSIsInRva2VuIiwibWF0Y2hlciIsInJvdXRlc0ZuIiwidXBkYXRl
QW5kSW52b2tlIiwiaW52b2tlIiwicnVubGlzdCIsImludm9rZWQiLCJfaW52b2tlZCIsInJldmVy
c2UiLCJ0aGlzQXJnIiwicmVnZXhwIiwiZmlsdGVyUm91dGVzIiwiZGVlcENvcHkiLCJhcHBseUZp
bHRlciIsIm5ld1JvdXRlcyIsIm1hdGNoZWQiLCJleGFjdCIsInBhcmVudFR5cGUiLCJwYXJ0Iiwi
RXJyb3IiLCJleHRyYSIsImxvY2FsIiwicmVuYW1lIiwicGFydHMiLCJyb3V0ZVR5cGUiLCJpc1Jv
dXRlIiwicGFyZW50SWQiLCJuZXdTdHlsZXMiLCJtZWRpYSIsInNvdXJjZU1hcCIsImV2YWwiLCJj
c3NXaXRoTWFwcGluZ1RvU3RyaW5nIiwidXNlU291cmNlTWFwIiwiY3NzTWFwcGluZyIsImJ0b2Ei
LCJzb3VyY2VNYXBwaW5nIiwidG9Db21tZW50Iiwic291cmNlcyIsInNvdXJjZVJvb3QiLCJ1bmVz
Y2FwZSIsImVuY29kZVVSSUNvbXBvbmVudCIsIm1lZGlhUXVlcnkiLCJhbHJlYWR5SW1wb3J0ZWRN
b2R1bGVzIiwiYWRkU3R5bGVzVG9Eb20iLCJkb21TdHlsZSIsInN0eWxlc0luRG9tIiwiYWRkU3R5
bGUiLCJjcmVhdGVTdHlsZUVsZW1lbnQiLCJzdHlsZUVsZW1lbnQiLCJoZWFkIiwiaXNQcm9kdWN0
aW9uIiwiaXNPbGRJRSIsInN0eWxlSW5kZXgiLCJzaW5nbGV0b25Db3VudGVyIiwic2luZ2xldG9u
RWxlbWVudCIsImFwcGx5VG9TaW5nbGV0b25UYWciLCJhcHBseVRvVGFnIiwibmV3T2JqIiwic3R5
bGVTaGVldCIsInJlcGxhY2VUZXh0IiwiY3NzTm9kZSIsImNoaWxkTm9kZXMiLCJoYXNEb2N1bWVu
dCIsIkRFQlVHIiwibGlzdFRvU3R5bGVzIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJfaXNQcm9k
dWN0aW9uIiwibmV3TGlzdCIsIm1heVJlbW92ZSIsInRleHRTdG9yZSIsInJlcGxhY2VtZW50Il0s
Im1hcHBpbmdzIjoiQUFBQUEsY0FBYyxJQUVSLFNBQVVDLEVBQVFDLEVBQXFCQyxHQUU3QyxZQUNB
QyxRQUFPQyxlQUFlSCxFQUFxQixjQUFnQkksT0FBTyxJQ0xsRSxTQUFBQzs7Ozs7QUFTQSxRQUFB
QyxHQUFBQyxHQUNBLFdBQUFDLEtBQUFELEdBQUEsT0FBQUEsRUFHQSxRQUFBRSxHQUFBRixHQUNB
LFdBQUFDLEtBQUFELEdBQUEsT0FBQUEsRUFHQSxRQUFBRyxHQUFBSCxHQUNBLFdBQUFBLEVBR0Es
UUFBQUksR0FBQUosR0FDQSxXQUFBQSxFQU1BLFFBQUFLLEdBQUFSLEdBQ0EsTUFDQSxnQkFBQUEs
SUFDQSxnQkFBQUEsSUFDQSxpQkFBQUEsR0FTQSxRQUFBUyxHQUFBQyxHQUNBLGNBQUFBLEdBQUEs
Z0JBQUFBLEdBU0EsUUFBQUMsR0FBQUQsR0FDQSwwQkFBQUUsR0FBQUMsS0FBQUgsR0FHQSxRQUFB
SSxHQUFBWCxHQUNBLDBCQUFBUyxHQUFBQyxLQUFBVixHQU1BLFFBQUFZLEdBQUFDLEdBQ0EsR0FB
QUMsR0FBQUMsV0FBQUYsRUFDQSxPQUFBQyxJQUFBLEdBQUFFLEtBQUFDLE1BQUFILFFBQUFJLFNB
QUFMLEdBTUEsUUFBQU0sR0FBQU4sR0FDQSxhQUFBQSxFQUNBLEdBQ0EsZ0JBQUFBLEdBQ0FPLEtB
QUFDLFVBQUFSLEVBQUEsUUFDQVMsT0FBQVQsR0FPQSxRQUFBVSxHQUFBVixHQUNBLEdBQUFDLEdB
QUFDLFdBQUFGLEVBQ0EsT0FBQVcsT0FBQVYsR0FBQUQsRUFBQUMsRUFPQSxRQUFBVyxHQUNBQyxF
QUNBQyxHQUlBLE9BRkFDLEdBQUFqQyxPQUFBa0MsT0FBQSxNQUNBQyxFQUFBSixFQUFBSyxNQUFB
LEtBQ0FDLEVBQUEsRUFBaUJBLEVBQUFGLEVBQUFHLE9BQWlCRCxJQUNsQ0osRUFBQUUsRUFBQUUs
S0FBQSxDQUVBLE9BQUFMLEdBQ0EsU0FBQWQsR0FBc0IsTUFBQWUsR0FBQWYsRUFBQXFCLGdCQUN0
QixTQUFBckIsR0FBc0IsTUFBQWUsR0FBQWYsSUFnQnRCLFFBQUFzQixHQUFBQyxFQUFBQyxHQUNB
LEdBQUFELEVBQUFILE9BQUEsQ0FDQSxHQUFBSyxHQUFBRixFQUFBRyxRQUFBRixFQUNBLElBQUFD
LEdBQUEsRUFDQSxNQUFBRixHQUFBSSxPQUFBRixFQUFBLElBU0EsUUFBQUcsR0FBQWxDLEVBQUFt
QyxHQUNBLE1BQUFDLElBQUFqQyxLQUFBSCxFQUFBbUMsR0FNQSxRQUFBRSxHQUFBQyxHQUNBLEdB
QUFDLEdBQUFuRCxPQUFBa0MsT0FBQSxLQUNBLGlCQUFBSCxHQUVBLE1BREFvQixHQUFBcEIsS0FD
QW9CLEVBQUFwQixHQUFBbUIsRUFBQW5CLEtBaUNBLFFBQUFxQixHQUFBRixFQUFBRyxHQUNBLFFB
QUFDLEdBQUFDLEdBQ0EsR0FBQUMsR0FBQUMsVUFBQW5CLE1BQ0EsT0FBQWtCLEdBQ0FBLEVBQUEs
RUFDQU4sRUFBQVEsTUFBQUwsRUFBQUksV0FDQVAsRUFBQW5DLEtBQUFzQyxFQUFBRSxHQUNBTCxF
QUFBbkMsS0FBQXNDLEdBSUEsTUFEQUMsR0FBQUssUUFBQVQsRUFBQVosT0FDQWdCLEVBTUEsUUFB
QU0sR0FBQXpCLEVBQUEwQixHQUNBQSxLQUFBLENBR0EsS0FGQSxHQUFBeEIsR0FBQUYsRUFBQUcs
T0FBQXVCLEVBQ0FDLEVBQUEsR0FBQUMsT0FBQTFCLEdBQ0FBLEtBQ0F5QixFQUFBekIsR0FBQUYs
RUFBQUUsRUFBQXdCLEVBRUEsT0FBQUMsR0FNQSxRQUFBRSxHQUFBQyxFQUFBQyxHQUNBLE9BQUFu
QixLQUFBbUIsR0FDQUQsRUFBQWxCLEdBQUFtQixFQUFBbkIsRUFFQSxPQUFBa0IsR0FNQSxRQUFB
RSxHQUFBMUIsR0FFQSxPQURBMkIsTUFDQS9CLEVBQUEsRUFBaUJBLEVBQUFJLEVBQUFILE9BQWdC
RCxJQUNqQ0ksRUFBQUosSUFDQTJCLEVBQUFJLEVBQUEzQixFQUFBSixHQUdBLE9BQUErQixHQVFB
LFFBQUFDLEdBQUFkLEVBQUFlLEVBQUFDLElBeUJBLFFBQUFDLEdBQUFqQixFQUFBZSxHQUNBLEdB
QUFmLElBQUFlLEVBQWdCLFFBQ2hCLElBQUFHLEdBQUE5RCxFQUFBNEMsR0FDQW1CLEVBQUEvRCxF
QUFBMkQsRUFDQSxLQUFBRyxJQUFBQyxFQXNCRyxPQUFBRCxJQUFBQyxHQUNIL0MsT0FBQTRCLEtB
QUE1QixPQUFBMkMsRUF0QkEsS0FDQSxHQUFBSyxHQUFBWixNQUFBYSxRQUFBckIsR0FDQXNCLEVB
QUFkLE1BQUFhLFFBQUFOLEVBQ0EsSUFBQUssR0FBQUUsRUFDQSxNQUFBdEIsR0FBQWpCLFNBQUFn
QyxFQUFBaEMsUUFBQWlCLEVBQUF1QixNQUFBLFNBQUFDLEVBQUExQyxHQUNBLE1BQUFtQyxHQUFB
TyxFQUFBVCxFQUFBakMsS0FFTyxJQUFBc0MsR0FBQUUsRUFRUCxRQVBBLElBQUFHLEdBQUFoRixP
QUFBaUYsS0FBQTFCLEdBQ0EyQixFQUFBbEYsT0FBQWlGLEtBQUFYLEVBQ0EsT0FBQVUsR0FBQTFD
LFNBQUE0QyxFQUFBNUMsUUFBQTBDLEVBQUFGLE1BQUEsU0FBQS9CLEdBQ0EsTUFBQXlCLEdBQUFq
QixFQUFBUixHQUFBdUIsRUFBQXZCLE1BTUssTUFBQWdDLEdBRUwsVUFTQSxRQUFBSSxHQUFBMUMs
RUFBQXZCLEdBQ0EsT0FBQW1CLEdBQUEsRUFBaUJBLEVBQUFJLEVBQUFILE9BQWdCRCxJQUNqQyxH
QUFBbUMsRUFBQS9CLEVBQUFKLEdBQUFuQixHQUFrQyxNQUFBbUIsRUFFbEMsVUFNQSxRQUFBK0Ms
R0FBQWxDLEdBQ0EsR0FBQW1DLElBQUEsQ0FDQSxtQkFDQUEsSUFDQUEsR0FBQSxFQUNBbkMsRUFB
QVEsTUFBQTRCLEtBQUE3QixhQXlIQSxRQUFBOEIsR0FBQXhELEdBQ0EsR0FBQXdDLElBQUF4QyxF
QUFBLElBQUF5RCxXQUFBLEVBQ0EsYUFBQWpCLEdBQUEsS0FBQUEsRUFNQSxRQUFBa0IsR0FBQTdF
LEVBQUFtQyxFQUFBN0IsRUFBQXdFLEdBQ0ExRixPQUFBQyxlQUFBVyxFQUFBbUMsR0FDQTdDLE1B
QUFnQixFQUNBd0UsZUFDQUMsVUFBQSxFQUNBQyxjQUFBLElBUUEsUUFBQUMsR0FBQUMsR0FDQSxJ
QUFBQyxHQUFBQyxLQUFBRixHQUFBLENBR0EsR0FBQUcsR0FBQUgsRUFBQTFELE1BQUEsSUFDQSxp
QkFBQXhCLEdBQ0EsT0FBQXlCLEdBQUEsRUFBbUJBLEVBQUE0RCxFQUFBM0QsT0FBcUJELElBQUEs
Q0FDeEMsSUFBQXpCLEVBQWlCLE1BQ2pCQSxLQUFBcUYsRUFBQTVELElBRUEsTUFBQXpCLEtBcUdB
LFFBQUFzRixHQUFBQyxFQUFBQyxFQUFBQyxHQUNBLEdBQUFDLEdBQUFDLGFBQ0FELEdBQUFDLGFB
QUF4RixLQUFBLEtBQUFvRixFQUFBQyxFQUFBQyxPQUNHLENBS0gsSUFBQUcsSUFBQSxtQkFBQUMs
U0FHQSxLQUFBTixFQUZBTSxTQUFBQyxNQUFBUCxJQTZEQSxRQUFBUSxHQUFBQyxHQUNBLHdCQUFB
QSxJQUFBLGNBQUFaLEtBQUFZLEVBQUFwRixZQWdLQSxRQUFBcUYsR0FBQUMsR0FDQUMsR0FBQUMs
UUFBbUJDLEdBQUFDLEtBQUFILEdBQUFDLFFBQ25CRCxHQUFBQyxPQUFBRixFQUdBLFFBQUFLLEtB
Q0FKLEdBQUFDLE9BQUFDLEdBQUFHLE1BMkdBLFFBQUFDLEdBQUFMLEVBQUFNLEVBQUFyQyxHQUVB
K0IsRUFBQU8sVUFBQUQsRUFTQSxRQUFBRSxHQUFBUixFQUFBTSxFQUFBckMsR0FDQSxPQUFBNUMs
R0FBQSxFQUFBbUIsRUFBQXlCLEVBQUEzQyxPQUFrQ0QsRUFBQW1CLEVBQU9uQixJQUFBLENBQ3pD
LEdBQUFVLEdBQUFrQyxFQUFBNUMsRUFDQW9ELEdBQUF1QixFQUFBakUsRUFBQXVFLEVBQUF2RSxL
QVNBLFFBQUEwRSxHQUFBdkgsRUFBQXdILEdBQ0EsR0FBQS9HLEVBQUFULEdBQUEsQ0FHQSxHQUFB
eUgsRUFlQSxPQWRBN0UsR0FBQTVDLEVBQUEsV0FBQUEsRUFBQTBILGlCQUFBQyxJQUNBRixFQUFB
ekgsRUFBQTBILE9BRUFFLEdBQUFDLGdCQUNBQyxPQUNBakUsTUFBQWEsUUFBQTFFLElBQUFXLEVB
QUFYLEtBQ0FGLE9BQUFpSSxhQUFBL0gsS0FDQUEsRUFBQWdJLFNBRUFQLEVBQUEsR0FBQUUsSUFB
QTNILElBRUF3SCxHQUFBQyxHQUNBQSxFQUFBUSxVQUVBUixHQU1BLFFBQUFTLEdBQ0F4SCxFQUNB
bUMsRUFDQTdCLEVBQ0FtSCxFQUNBQyxHQUVBLEdBQUFDLEdBQUEsR0FBQXhCLElBRUF5QixFQUFB
eEksT0FBQXlJLHlCQUFBN0gsRUFBQW1DLEVBQ0EsS0FBQXlGLElBQUEsSUFBQUEsRUFBQTVDLGFB
QUEsQ0FLQSxHQUFBOEMsR0FBQUYsS0FBQUcsSUFDQUMsRUFBQUosS0FBQUssSUFFQUMsR0FBQVIs
R0FBQWIsRUFBQXZHLEVBQ0FsQixRQUFBQyxlQUFBVyxFQUFBbUMsR0FDQTJDLFlBQUEsRUFDQUUs
Y0FBQSxFQUNBK0MsSUFBQSxXQUNBLEdBQUF6SSxHQUFBd0ksSUFBQTNILEtBQUFILEdBQUFNLENB
VUEsT0FUQTZGLElBQUFDLFNBQ0F1QixFQUFBUSxTQUNBRCxHQUNBQSxFQUFBUCxJQUFBUSxTQUVB
aEYsTUFBQWEsUUFBQTFFLElBQ0E4SSxFQUFBOUksSUFHQUEsR0FFQTJJLElBQUEsU0FBQUksR0FD
QSxHQUFBL0ksR0FBQXdJLElBQUEzSCxLQUFBSCxHQUFBTSxDQUVBK0gsS0FBQS9JLEdBQUErSSxP
QUFBL0ksUUFPQTBJLEVBQ0FBLEVBQUE3SCxLQUFBSCxFQUFBcUksR0FFQS9ILEVBQUErSCxFQUVB
SCxHQUFBUixHQUFBYixFQUFBd0IsR0FDQVYsRUFBQVcsY0FVQSxRQUFBTCxHQUFBN0IsRUFBQWpF
LEVBQUE3QixHQUNBLEdBQUE2QyxNQUFBYSxRQUFBb0MsSUFBQS9GLEVBQUE4QixHQUdBLE1BRkFp
RSxHQUFBMUUsT0FBQWpCLEtBQUE4SCxJQUFBbkMsRUFBQTFFLE9BQUFTLEdBQ0FpRSxFQUFBbkUs
T0FBQUUsRUFBQSxFQUFBN0IsR0FDQUEsQ0FFQSxJQUFBNEIsRUFBQWtFLEVBQUFqRSxHQUVBLE1B
REFpRSxHQUFBakUsR0FBQTdCLEVBQ0FBLENBRUEsSUFBQXlHLEdBQUEsRUFBQUMsTUFDQSxPQUFB
WixHQUFBa0IsUUFBQVAsS0FBQVEsUUFLQWpILEVBRUF5RyxHQUlBUyxFQUFBVCxFQUFBekgsTUFB
QTZDLEVBQUE3QixHQUNBeUcsRUFBQVksSUFBQVcsU0FDQWhJLElBTEE4RixFQUFBakUsR0FBQTdC
LEVBQ0FBLEdBVUEsUUFBQWtJLEdBQUFwQyxFQUFBakUsR0FDQSxHQUFBZ0IsTUFBQWEsUUFBQW9D
LElBQUEvRixFQUFBOEIsR0FFQSxXQURBaUUsR0FBQW5FLE9BQUFFLEVBQUEsRUFHQSxJQUFBNEUs
R0FBQSxFQUFBQyxNQUNBWixHQUFBa0IsUUFBQVAsS0FBQVEsU0FPQXJGLEVBQUFrRSxFQUFBakUs
V0FHQWlFLEdBQUFqRSxHQUNBNEUsR0FHQUEsRUFBQVksSUFBQVcsVUFPQSxRQUFBRixHQUFBOUks
R0FDQSxPQUFBNkUsT0FBQSxHQUFBMUMsRUFBQSxFQUFBbUIsRUFBQXRELEVBQUFvQyxPQUFpREQs
RUFBQW1CLEVBQU9uQixJQUN4RDBDLEVBQUE3RSxFQUFBbUMsR0FDQTBDLEtBQUE2QyxRQUFBN0Ms
RUFBQTZDLE9BQUFXLElBQUFRLFNBQ0FoRixNQUFBYSxRQUFBRyxJQUNBaUUsRUFBQWpFLEdBZ0NB
LFFBQUFzRSxHQUFBcEYsRUFBQXFGLEdBQ0EsSUFBQUEsRUFBYyxNQUFBckYsRUFHZCxRQUZBbEIs
R0FBQXdHLEVBQUFDLEVBQ0F2RSxFQUFBakYsT0FBQWlGLEtBQUFxRSxHQUNBakgsRUFBQSxFQUFp
QkEsRUFBQTRDLEVBQUEzQyxPQUFpQkQsSUFDbENVLEVBQUFrQyxFQUFBNUMsR0FDQWtILEVBQUF0
RixFQUFBbEIsR0FDQXlHLEVBQUFGLEVBQUF2RyxHQUNBRCxFQUFBbUIsRUFBQWxCLEdBRUtsQyxF
QUFBMEksSUFBQTFJLEVBQUEySSxJQUNMSCxFQUFBRSxFQUFBQyxHQUZBWCxFQUFBNUUsRUFBQWxC
LEVBQUF5RyxFQUtBLE9BQUF2RixHQU1BLFFBQUF3RixHQUNBQyxFQUNBQyxFQUNBdkQsR0FFQSxN
QUFBQSxHQW1CR3NELEdBQUFDLEVBQ0gsV0FFQSxHQUFBQyxHQUFBLGtCQUFBRCxHQUNBQSxFQUFB
NUksS0FBQXFGLEdBQ0F1RCxFQUNBRSxFQUFBLGtCQUFBSCxHQUNBQSxFQUFBM0ksS0FBQXFGLE9B
Q0E5RixFQUNBLE9BQUFzSixHQUNBUCxFQUFBTyxFQUFBQyxHQUVBQSxPQVpHLEdBakJIRixFQUdB
RCxFQVFBLFdBQ0EsTUFBQUwsR0FDQSxrQkFBQU0sS0FBQTVJLEtBQUF1RSxNQUFBcUUsRUFDQSxr
QkFBQUQsS0FBQTNJLEtBQUF1RSxNQUFBb0UsSUFWQUMsRUFIQUQsRUEyREEsUUFBQUksR0FDQUos
RUFDQUMsR0FFQSxNQUFBQSxHQUNBRCxFQUNBQSxFQUFBSyxPQUFBSixHQUNBNUYsTUFBQWEsUUFB
QStFLEdBQ0FBLEdBQ0FBLEdBQ0FELEVBY0EsUUFBQU0sR0FBQU4sRUFBQUMsR0FDQSxHQUFBdkYs
R0FBQXBFLE9BQUFrQyxPQUFBd0gsR0FBQSxLQUNBLE9BQUFDLEdBQ0EzRixFQUFBSSxFQUFBdUYs
R0FDQXZGLEVBOEVBLFFBQUE2RixHQUFBQyxHQUNBLEdBQUFDLEdBQUFELEVBQUFDLEtBQ0EsSUFB
QUEsRUFBQSxDQUNBLEdBQ0E5SCxHQUFBbkIsRUFBQWtKLEVBREFoRyxJQUVBLElBQUFMLE1BQUFh
LFFBQUF1RixHQUVBLElBREE5SCxFQUFBOEgsRUFBQTdILE9BQ0FELEtBRUEsaUJBREFuQixFQUFB
aUosRUFBQTlILE1BRUErSCxFQUFBQyxHQUFBbkosR0FDQWtELEVBQUFnRyxJQUFxQkUsS0FBQSxX
QUtsQixJQUFBekosRUFBQXNKLEdBQ0gsT0FBQXBILEtBQUFvSCxHQUNBakosRUFBQWlKLEVBQUFw
SCxHQUNBcUgsRUFBQUMsR0FBQXRILEdBQ0FxQixFQUFBZ0csR0FBQXZKLEVBQUFLLEdBQ0FBLEdB
Q1dvSixLQUFBcEosRUFHWGdKLEdBQUFDLE1BQUEvRixHQU1BLFFBQUFtRyxHQUFBTCxHQUNBLEdB
QUFNLEdBQUFOLEVBQUFNLE1BQ0EsSUFBQXpHLE1BQUFhLFFBQUE0RixHQUVBLE9BREFDLEdBQUFQ
LEVBQUFNLFVBQ0FuSSxFQUFBLEVBQW1CQSxFQUFBbUksRUFBQWxJLE9BQW1CRCxJQUN0Q29JLEVB
QUFELEVBQUFuSSxJQUFBbUksRUFBQW5JLEdBUUEsUUFBQXFJLEdBQUFSLEdBQ0EsR0FBQVMsR0FB
QVQsRUFBQVUsVUFDQSxJQUFBRCxFQUNBLE9BQUE1SCxLQUFBNEgsR0FBQSxDQUNBLEdBQUFsRixH
QUFBa0YsRUFBQTVILEVBQ0EsbUJBQUEwQyxLQUNBa0YsRUFBQTVILElBQXFCSyxLQUFBcUMsRUFB
QW9GLE9BQUFwRixLQVVyQixRQUFBcUYsR0FDQUMsRUFDQUMsRUFDQTVFLEdBZ0NBLFFBQUE2RSxH
QUFBbEksR0FDQSxHQUFBbUksR0FBQUMsR0FBQXBJLElBQUFxSSxFQUNBbEIsR0FBQW5ILEdBQUFt
SSxFQUFBSCxFQUFBaEksR0FBQWlJLEVBQUFqSSxHQUFBcUQsRUFBQXJELEdBNUJBLGtCQUFBaUks
S0FDQUEsSUFBQWQsU0FHQUQsRUFBQWUsR0FDQVQsRUFBQVMsR0FDQU4sRUFBQU0sRUFDQSxJQUFB
SyxHQUFBTCxFQUFBTSxPQUlBLElBSEFELElBQ0FOLEVBQUFELEVBQUFDLEVBQUFNLEVBQUFqRixJ
QUVBNEUsRUFBQU8sT0FDQSxPQUFBbEosR0FBQSxFQUFBbUIsRUFBQXdILEVBQUFPLE9BQUFqSixP
QUE0Q0QsRUFBQW1CLEVBQU9uQixJQUNuRDBJLEVBQUFELEVBQUFDLEVBQUFDLEVBQUFPLE9BQUFs
SixHQUFBK0QsRUFHQSxJQUNBckQsR0FEQW1ILElBRUEsS0FBQW5ILElBQUFnSSxHQUNBRSxFQUFB
bEksRUFFQSxLQUFBQSxJQUFBaUksR0FDQWxJLEVBQUFpSSxFQUFBaEksSUFDQWtJLEVBQUFsSSxF
QU9BLE9BQUFtSCxHQVFBLFFBQUFzQixHQUNBdEIsRUFDQUksRUFDQW1CLEVBQ0FDLEdBR0EsbUJB
QUFELEdBQUEsQ0FHQSxHQUFBRSxHQUFBekIsRUFBQUksRUFFQSxJQUFBeEgsRUFBQTZJLEVBQUFG
LEdBQTJCLE1BQUFFLEdBQUFGLEVBQzNCLElBQUFHLEdBQUF2QixHQUFBb0IsRUFDQSxJQUFBM0ks
RUFBQTZJLEVBQUFDLEdBQW9DLE1BQUFELEdBQUFDLEVBQ3BDLElBQUFDLEdBQUFDLEdBQUFGLEVB
Q0EsSUFBQTlJLEVBQUE2SSxFQUFBRSxHQUFxQyxNQUFBRixHQUFBRSxFQVNyQyxPQVBBRixHQUFB
RixJQUFBRSxFQUFBQyxJQUFBRCxFQUFBRSxJQVlBLFFBQUFFLEdBQ0FoSixFQUNBaUosRUFDQUMs
RUFDQTdGLEdBRUEsR0FBQThGLEdBQUFGLEVBQUFqSixHQUNBb0osR0FBQXJKLEVBQUFtSixFQUFB
bEosR0FDQTdDLEVBQUErTCxFQUFBbEosRUFVQSxJQVJBcUosRUFBQUMsUUFBQUgsRUFBQTVCLFFB
Q0E2QixJQUFBckosRUFBQW9KLEVBQUEsV0FDQWhNLEdBQUEsRUFDS2tNLEVBQUF6SyxPQUFBdUss
RUFBQTVCLE9BQUEsS0FBQXBLLE9BQUFvTSxHQUFBdkosS0FDTDdDLEdBQUEsUUFJQUksS0FBQUos
RUFBQSxDQUNBQSxFQUFBcU0sRUFBQW5HLEVBQUE4RixFQUFBbkosRUFHQSxJQUFBeUosR0FBQTFF
LEdBQUFDLGFBQ0FELElBQUFDLGVBQUEsRUFDQU4sRUFBQXZILEdBQ0E0SCxHQUFBQyxjQUFBeUUs
RUFLQSxNQUFBdE0sR0FNQSxRQUFBcU0sR0FBQW5HLEVBQUE4RixFQUFBbkosR0FFQSxHQUFBRCxF
QUFBb0osRUFBQSxZQUdBLEdBQUF6RyxHQUFBeUcsRUFBQU8sT0FZQSxPQUFBckcsTUFBQXNHLFNB
QUFULGVBQ0EzTCxLQUFBOEYsRUFBQXNHLFNBQUFULFVBQUFsSixRQUNBekMsS0FBQThGLEVBQUF1
RyxPQUFBNUosR0FFQXFELEVBQUF1RyxPQUFBNUosR0FJQSxrQkFBQTBDLElBQUEsYUFBQW1ILEVB
QUFWLEVBQUE1QixNQUNBN0UsRUFBQTFFLEtBQUFxRixHQUNBWCxHQWlGQSxRQUFBbUgsR0FBQTFK
LEdBQ0EsR0FBQTJKLEdBQUEzSixLQUFBMUIsV0FBQXFMLE1BQUEscUJBQ0EsT0FBQUEsS0FBQSxN
QUdBLFFBQUFULEdBQUE5QixFQUFBcEgsR0FDQSxJQUFBYSxNQUFBYSxRQUFBMUIsR0FDQSxNQUFB
MEosR0FBQTFKLEtBQUEwSixFQUFBdEMsRUFFQSxRQUFBakksR0FBQSxFQUFBeUssRUFBQTVKLEVB
QUFaLE9BQWtDRCxFQUFBeUssRUFBU3pLLElBQzNDLEdBQUF1SyxFQUFBMUosRUFBQWIsTUFBQXVL
LEVBQUF0QyxHQUNBLFFBSUEsVUE0SkEsUUFBQXlDLEdBQUE3TCxHQUNBLFVBQUE4TCxRQUFBMU0s
aUJBQUFxQixPQUFBVCxJQU9BLFFBQUErTCxHQUFBQyxHQUNBLEdBQUFDLEdBQUEsR0FBQUgsSUFD
QUUsRUFBQUUsSUFDQUYsRUFBQUcsS0FDQUgsRUFBQUksU0FDQUosRUFBQUssS0FDQUwsRUFBQU0s
SUFDQU4sRUFBQU8sUUFDQVAsRUFBQVEsaUJBQ0FSLEVBQUFTLGFBT0EsT0FMQVIsR0FBQVMsR0FB
QVYsRUFBQVUsR0FDQVQsRUFBQVUsU0FBQVgsRUFBQVcsU0FDQVYsRUFBQXBLLElBQUFtSyxFQUFB
bkssSUFDQW9LLEVBQUFXLFVBQUFaLEVBQUFZLFVBQ0FYLEVBQUFZLFVBQUEsRUFDQVosRUFHQSxR
QUFBYSxJQUFBQyxHQUdBLE9BRkFuQixHQUFBbUIsRUFBQTNMLE9BQ0E4QixFQUFBLEdBQUFMLE9B
QUErSSxHQUNBekssRUFBQSxFQUFpQkEsRUFBQXlLLEVBQVN6SyxJQUMxQitCLEVBQUEvQixHQUFB
NEssRUFBQWdCLEVBQUE1TCxHQUVBLE9BQUErQixHQW9CQSxRQUFBOEosSUFBQUMsR0FDQSxRQUFB
QyxLQUNBLEdBQUFDLEdBQUE1SyxVQUVBMEssRUFBQUMsRUFBQUQsR0FDQSxLQUFBcEssTUFBQWEs
UUFBQXVKLEdBT0EsTUFBQUEsR0FBQXpLLE1BQUEsS0FBQUQsVUFMQSxRQURBMEosR0FBQWdCLEVB
QUFHLFFBQ0FqTSxFQUFBLEVBQXFCQSxFQUFBOEssRUFBQTdLLE9BQW1CRCxJQUN4QzhLLEVBQUE5
SyxHQUFBcUIsTUFBQSxLQUFBMkssR0FRQSxNQURBRCxHQUFBRCxNQUNBQyxFQUdBLFFBQUFHLElB
Q0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0F2SSxHQUVBLEdBQUFnRSxHQUFBd0UsRUFBQUMsRUFB
QUMsQ0FDQSxLQUFBMUUsSUFBQW9FLEdBQ0FJLEVBQUFKLEVBQUFwRSxHQUNBeUUsRUFBQUosRUFB
QXJFLEdBQ0EwRSxFQUFBQyxHQUFBM0UsR0FDQWhLLEVBQUF3TyxLQUtLeE8sRUFBQXlPLElBQ0x6
TyxFQUFBd08sRUFBQVQsT0FDQVMsRUFBQUosRUFBQXBFLEdBQUE4RCxHQUFBVSxJQUVBRixFQUFB
SSxFQUFBMUUsS0FBQXdFLEVBQUFFLEVBQUExSixLQUFBMEosRUFBQUUsUUFBQUYsRUFBQUcsVUFD
S0wsSUFBQUMsSUFDTEEsRUFBQVYsSUFBQVMsRUFDQUosRUFBQXBFLEdBQUF5RSxHQUdBLEtBQUF6
RSxJQUFBcUUsR0FDQXJPLEVBQUFvTyxFQUFBcEUsTUFDQTBFLEVBQUFDLEdBQUEzRSxHQUNBdUUs
RUFBQUcsRUFBQTFFLEtBQUFxRSxFQUFBckUsR0FBQTBFLEVBQUFFLFVBT0EsUUFBQUUsSUFBQXpK
LEVBQUEwSixFQUFBQyxHQUlBLFFBQUFDLEtBQ0FELEVBQUExTCxNQUFBNEIsS0FBQTdCLFdBR0Fq
QixFQUFBNEwsRUFBQUQsSUFBQWtCLEdBUEEsR0FBQWpCLEdBQ0FrQixFQUFBN0osRUFBQTBKLEVB
U0EvTyxHQUFBa1AsR0FFQWxCLEVBQUFGLElBQUFtQixJQUdBOU8sRUFBQStPLEVBQUFuQixNQUFB
M04sRUFBQThPLEVBQUFDLFNBRUFuQixFQUFBa0IsRUFDQWxCLEVBQUFELElBQUFqSCxLQUFBbUks
SUFHQWpCLEVBQUFGLElBQUFvQixFQUFBRCxJQUlBakIsRUFBQW1CLFFBQUEsRUFDQTlKLEVBQUEw
SixHQUFBZixFQUtBLFFBQUFvQixJQUNBbkMsRUFDQXpHLEVBQ0F3RyxHQUtBLEdBQUFwQixHQUFB
cEYsRUFBQXNELFFBQUFDLEtBQ0EsS0FBQS9KLEVBQUE0TCxHQUFBLENBR0EsR0FBQTVILE1BQ0Fx
TCxFQUFBcEMsRUFBQW9DLE1BQ0F0RixFQUFBa0QsRUFBQWxELEtBQ0EsSUFBQTVKLEVBQUFrUCxJ
QUFBbFAsRUFBQTRKLEdBQ0EsT0FBQXBILEtBQUFpSixHQUFBLENBQ0EsR0FBQTBELEdBQUFwRCxH
QUFBdkosRUFpQkE0TSxJQUFBdkwsRUFBQStGLEVBQUFwSCxFQUFBMk0sR0FBQSxJQUNBQyxHQUFB
dkwsRUFBQXFMLEVBQUExTSxFQUFBMk0sR0FBQSxHQUdBLE1BQUF0TCxJQUdBLFFBQUF1TCxJQUNB
dkwsRUFDQXdMLEVBQ0E3TSxFQUNBMk0sRUFDQUcsR0FFQSxHQUFBdFAsRUFBQXFQLEdBQUEsQ0FD
QSxHQUFBOU0sRUFBQThNLEVBQUE3TSxHQUtBLE1BSkFxQixHQUFBckIsR0FBQTZNLEVBQUE3TSxH
QUNBOE0sU0FDQUQsR0FBQTdNLElBRUEsQ0FDSyxJQUFBRCxFQUFBOE0sRUFBQUYsR0FLTCxNQUpB
dEwsR0FBQXJCLEdBQUE2TSxFQUFBRixHQUNBRyxTQUNBRCxHQUFBRixJQUVBLEVBR0EsU0FpQkEs
UUFBQUksSUFBQXhDLEdBQ0EsT0FBQWpMLEdBQUEsRUFBaUJBLEVBQUFpTCxFQUFBaEwsT0FBcUJE
LElBQ3RDLEdBQUEwQixNQUFBYSxRQUFBMEksRUFBQWpMLElBQ0EsTUFBQTBCLE9BQUFnTSxVQUFB
aEcsT0FBQXJHLFNBQUE0SixFQUdBLE9BQUFBLEdBT0EsUUFBQTBDLElBQUExQyxHQUNBLE1BQUE1
TSxHQUFBNE0sSUFDQVAsRUFBQU8sSUFDQXZKLE1BQUFhLFFBQUEwSSxHQUNBMkMsR0FBQTNDLE9B
Q0FoTixHQUdBLFFBQUE0UCxJQUFBQyxHQUNBLE1BQUE1UCxHQUFBNFAsSUFBQTVQLEVBQUE0UCxF
QUFBNUMsT0FBQTlNLEVBQUEwUCxFQUFBckMsV0FHQSxRQUFBbUMsSUFBQTNDLEVBQUE4QyxHQUNB
LEdBQ0EvTixHQUFBa0MsRUFBQThMLEVBREFqTSxJQUVBLEtBQUEvQixFQUFBLEVBQWFBLEVBQUFp
TCxFQUFBaEwsT0FBcUJELElBQ2xDa0MsRUFBQStJLEVBQUFqTCxHQUNBakMsRUFBQW1FLElBQUEs
aUJBQUFBLEtBQ0E4TCxFQUFBak0sSUFBQTlCLE9BQUEsR0FFQXlCLE1BQUFhLFFBQUFMLEdBQ0FI
LEVBQUE4QyxLQUFBeEQsTUFBQVUsRUFBQTZMLEdBQUExTCxHQUFBNkwsR0FBQSxRQUFBL04sSUFD
SzNCLEVBQUE2RCxHQUNMMkwsR0FBQUcsR0FJQSxFQUFBOUMsTUFBQTVMLE9BQUE0QyxHQUNPLEtB
QUFBLEdBRVBILEVBQUE4QyxLQUFBNkYsRUFBQXhJLElBR0EyTCxHQUFBM0wsSUFBQTJMLEdBQUFH
LEdBRUFqTSxJQUFBOUIsT0FBQSxHQUFBeUssRUFBQXNELEVBQUE5QyxLQUFBaEosRUFBQWdKLE9B
R0EvTSxFQUFBOE0sRUFBQWdELFdBQ0EvUCxFQUFBZ0UsRUFBQTZJLE1BQ0FoTixFQUFBbUUsRUFB
QXhCLE1BQ0F4QyxFQUFBNlAsS0FDQTdMLEVBQUF4QixJQUFBLFVBQUFxTixFQUFBLElBQUEvTixF
QUFBLE1BRUErQixFQUFBOEMsS0FBQTNDLElBSUEsT0FBQUgsR0FLQSxRQUFBbU0sSUFBQUMsRUFB
QUMsR0FJQSxNQUhBRCxHQUFBRSxZQUFBRixFQUFBL0QsVUFDQStELElBQUEvRCxTQUVBOUwsRUFB
QTZQLEdBQ0FDLEVBQUF6TSxPQUFBd00sR0FDQUEsRUFHQSxRQUFBRyxJQUNBQyxFQUNBdkQsRUFD
QUksRUFDQUgsRUFDQUYsR0FFQSxHQUFBK0MsR0FBQVUsSUFHQSxPQUZBVixHQUFBeEMsYUFBQWlE
LEVBQ0FULEVBQUFXLFdBQW9CekQsT0FBQUksVUFBQUgsV0FBQUYsT0FDcEIrQyxFQUdBLFFBQUFZ
LElBQ0FILEVBQ0FJLEVBQ0F2RCxHQUVBLEdBQUFqTixFQUFBb1EsRUFBQWxLLFFBQUFuRyxFQUFB
cVEsRUFBQUssV0FDQSxNQUFBTCxHQUFBSyxTQUdBLElBQUExUSxFQUFBcVEsRUFBQU0sVUFDQSxN
QUFBTixHQUFBTSxRQUdBLElBQUExUSxFQUFBb1EsRUFBQU8sVUFBQTVRLEVBQUFxUSxFQUFBUSxh
QUNBLE1BQUFSLEdBQUFRLFdBR0EsS0FBQTdRLEVBQUFxUSxFQUFBUyxVQUdHLENBQ0gsR0FBQUEs
R0FBQVQsRUFBQVMsVUFBQTVELEdBQ0E2RCxHQUFBLEVBRUFDLEVBQUEsV0FDQSxPQUFBbFAsR0FB
QSxFQUFBbUIsRUFBQTZOLEVBQUEvTyxPQUEwQ0QsRUFBQW1CLEVBQU9uQixJQUNqRGdQLEVBQUFo
UCxHQUFBbVAsZ0JBSUFDLEVBQUFyTSxFQUFBLFNBQUFoQixHQUVBd00sRUFBQU0sU0FBQVgsR0FB
QW5NLEVBQUE0TSxHQUdBTSxHQUNBQyxNQUlBRyxFQUFBdE0sRUFBQSxTQUFBdU0sR0FLQXBSLEVB
QUFxUSxFQUFBSyxhQUNBTCxFQUFBbEssT0FBQSxFQUNBNkssT0FJQW5OLEVBQUF3TSxFQUFBYSxF
QUFBQyxFQTZDQSxPQTNDQS9RLEdBQUF5RCxLQUNBLGtCQUFBQSxHQUFBd04sS0FFQXhSLEVBQUF3
USxFQUFBTSxXQUNBOU0sRUFBQXdOLEtBQUFILEVBQUFDLEdBRU9uUixFQUFBNkQsRUFBQXlOLFlB
QUEsa0JBQUF6TixHQUFBeU4sVUFBQUQsT0FDUHhOLEVBQUF5TixVQUFBRCxLQUFBSCxFQUFBQyxH
QUVBblIsRUFBQTZELEVBQUFzQyxTQUNBa0ssRUFBQUssVUFBQVYsR0FBQW5NLEVBQUFzQyxNQUFB
c0ssSUFHQXpRLEVBQUE2RCxFQUFBK00sV0FDQVAsRUFBQVEsWUFBQWIsR0FBQW5NLEVBQUErTSxR
QUFBSCxHQUNBLElBQUE1TSxFQUFBME4sTUFDQWxCLEVBQUFPLFNBQUEsRUFFQVksV0FBQSxXQUNB
M1IsRUFBQXdRLEVBQUFNLFdBQUE5USxFQUFBd1EsRUFBQWxLLFNBQ0FrSyxFQUFBTyxTQUFBLEVB
Q0FJLE1BRWFuTixFQUFBME4sT0FBQSxNQUlidlIsRUFBQTZELEVBQUE0TixVQUNBRCxXQUFBLFdB
Q0EzUixFQUFBd1EsRUFBQU0sV0FDQVEsRUFHQSxPQUdXdE4sRUFBQTROLFdBS1hWLEdBQUEsRUFF
QVYsRUFBQU8sUUFDQVAsRUFBQVEsWUFDQVIsRUFBQU0sU0EvRUFOLEVBQUFTLFNBQUFuSyxLQUFB
dUcsR0FxRkEsUUFBQXdFLElBQUEzRSxHQUNBLEdBQUF2SixNQUFBYSxRQUFBMEksR0FDQSxPQUFB
akwsR0FBQSxFQUFtQkEsRUFBQWlMLEVBQUFoTCxPQUFxQkQsSUFBQSxDQUN4QyxHQUFBa0MsR0FB
QStJLEVBQUFqTCxFQUNBLElBQUE5QixFQUFBZ0UsSUFBQWhFLEVBQUFnRSxFQUFBbUosa0JBQ0Es
TUFBQW5KLElBVUEsUUFBQTJOLElBQUE5TCxHQUNBQSxFQUFBK0wsUUFBQW5TLE9BQUFrQyxPQUFB
LE1BQ0FrRSxFQUFBZ00sZUFBQSxDQUVBLElBQUFDLEdBQUFqTSxFQUFBc0csU0FBQTRGLGdCQUNB
RCxJQUNBRSxHQUFBbk0sRUFBQWlNLEdBTUEsUUFBQTNELElBQUFJLEVBQUE1TCxFQUFBc1AsR0FD
QUEsRUFDQXhMLEdBQUF5TCxNQUFBM0QsRUFBQTVMLEdBRUE4RCxHQUFBMEwsSUFBQTVELEVBQUE1
TCxHQUlBLFFBQUF5UCxJQUFBN0QsRUFBQTVMLEdBQ0E4RCxHQUFBNEwsS0FBQTlELEVBQUE1TCxH
QUdBLFFBQUFxUCxJQUNBbk0sRUFDQWlNLEVBQ0FRLEdBRUE3TCxHQUFBWixFQUNBbUksR0FBQThE
LEVBQUFRLE1BQStDbkUsR0FBQWlFLEdBQUF2TSxHQTRHL0MsUUFBQTBNLElBQ0F4RixFQUNBRyxH
QUVBLEdBQUFzRixLQUNBLEtBQUF6RixFQUNBLE1BQUF5RixFQUdBLFFBREFDLE1BQ0EzUSxFQUFB
LEVBQUFtQixFQUFBOEosRUFBQWhMLE9BQXNDRCxFQUFBbUIsRUFBT25CLElBQUEsQ0FDN0MsR0FB
QTJJLEdBQUFzQyxFQUFBakwsRUFHQSxJQUFBMkksRUFBQXlDLGFBQUF6QyxFQUFBaUksb0JBQUF4
RixJQUNBekMsRUFBQXFDLE1BQUEsTUFBQXJDLEVBQUFxQyxLQUFBNkYsS0FVQUYsRUFBQTlMLEtB
QUE4RCxPQVRBLENBQ0EsR0FBQVosR0FBQVksRUFBQXFDLEtBQUE2RixLQUNBQSxFQUFBSCxFQUFB
M0ksS0FBQTJJLEVBQUEzSSxNQUNBLGNBQUFZLEVBQUFvQyxJQUNBOEYsRUFBQWhNLEtBQUF4RCxN
QUFBd1AsRUFBQWxJLEVBQUFzQyxVQUVBNEYsRUFBQWhNLEtBQUE4RCxJQVVBLE1BSEFnSSxHQUFB
bE8sTUFBQXFPLE1BQ0FKLEVBQUF0RyxRQUFBdUcsR0FFQUQsRUFHQSxRQUFBSSxJQUFBaEQsR0FD
QSxNQUFBQSxHQUFBckMsV0FBQSxNQUFBcUMsRUFBQTVDLEtBR0EsUUFBQTZGLElBQ0FqRixFQUNB
L0osR0FFQUEsT0FDQSxRQUFBL0IsR0FBQSxFQUFpQkEsRUFBQThMLEVBQUE3TCxPQUFnQkQsSUFD
akMwQixNQUFBYSxRQUFBdUosRUFBQTlMLElBQ0ErUSxHQUFBakYsRUFBQTlMLEdBQUErQixHQUVB
QSxFQUFBK0osRUFBQTlMLEdBQUFVLEtBQUFvTCxFQUFBOUwsR0FBQWEsRUFHQSxPQUFBa0IsR0FR
QSxRQUFBaVAsSUFBQWpOLEdBQ0EsR0FBQThELEdBQUE5RCxFQUFBc0csU0FHQTNCLEVBQUFiLEVB
QUFhLE1BQ0EsSUFBQUEsSUFBQWIsRUFBQW9KLFNBQUEsQ0FDQSxLQUFBdkksRUFBQTJCLFNBQUE0
RyxVQUFBdkksRUFBQXdJLFNBQ0F4SSxJQUFBd0ksT0FFQXhJLEdBQUF5SSxVQUFBdE0sS0FBQWQs
R0FHQUEsRUFBQW1OLFFBQUF4SSxFQUNBM0UsRUFBQXFOLE1BQUExSSxJQUFBMEksTUFBQXJOLEVB
RUFBLEVBQUFvTixhQUNBcE4sRUFBQXNOLFNBRUF0TixFQUFBdU4sU0FBQSxLQUNBdk4sRUFBQXdO
LFVBQUEsS0FDQXhOLEVBQUF5TixpQkFBQSxFQUNBek4sRUFBQTBOLFlBQUEsRUFDQTFOLEVBQUEy
TixjQUFBLEVBQ0EzTixFQUFBNE4sbUJBQUEsRUE2RkEsUUFBQUMsSUFDQTdOLEVBQ0E4TixFQUNB
QyxHQUVBL04sRUFBQWdPLElBQUFGLEVBQ0E5TixFQUFBc0csU0FBQTJILFNBQ0FqTyxFQUFBc0cs
U0FBQTJILE9BQUF4RCxJQW1CQXlELEdBQUFsTyxFQUFBLGNBRUEsSUFBQW1PLEVBa0NBLE9BZEFB
LEdBQUEsV0FDQW5PLEVBQUFvTyxRQUFBcE8sRUFBQXFPLFVBQUFOLElBSUEvTixFQUFBdU4sU0FB
QSxHQUFBZSxJQUFBdE8sRUFBQW1PLEVBQUFsUSxHQUNBOFAsR0FBQSxFQUlBLE1BQUEvTixFQUFB
dU8sU0FDQXZPLEVBQUEwTixZQUFBLEVBQ0FRLEdBQUFsTyxFQUFBLFlBRUFBLEVBR0EsUUFBQXdP
LElBQ0F4TyxFQUNBNkYsRUFDQW9HLEVBQ0F3QyxFQUNBQyxHQVFBLEdBQUFDLE1BQ0FELEdBQ0Ex
TyxFQUFBc0csU0FBQXNJLGlCQUNBSCxFQUFBeEgsS0FBQTRILGFBQ0E3TyxFQUFBOE8sZUFBQUMs
R0FrQkEsSUFmQS9PLEVBQUFzRyxTQUFBMEksYUFBQVAsRUFDQXpPLEVBQUF1TyxPQUFBRSxFQUVB
ek8sRUFBQWlQLFNBQ0FqUCxFQUFBaVAsT0FBQXRLLE9BQUE4SixHQUVBek8sRUFBQXNHLFNBQUFz
SSxnQkFBQUYsRUFLQTFPLEVBQUFrUCxPQUFBVCxFQUFBeEgsTUFBQXdILEVBQUF4SCxLQUFBb0Ms
TUFDQXJKLEVBQUFtUCxXQUFBbEQsRUFHQXBHLEdBQUE3RixFQUFBc0csU0FBQXZDLE1BQUEsQ0FD
QXJDLEdBQUFDLGVBQUEsQ0FHQSxRQUZBb0MsR0FBQS9ELEVBQUF1RyxPQUNBNkksRUFBQXBQLEVB
QUFzRyxTQUFBK0ksY0FDQXBULEVBQUEsRUFBbUJBLEVBQUFtVCxFQUFBbFQsT0FBcUJELElBQUEs
Q0FDeEMsR0FBQVUsR0FBQXlTLEVBQUFuVCxFQUNBOEgsR0FBQXBILEdBQUFnSixFQUFBaEosRUFB
QXFELEVBQUFzRyxTQUFBdkMsTUFBQThCLEVBQUE3RixHQUVBMEIsR0FBQUMsZUFBQSxFQUVBM0Is
RUFBQXNHLFNBQUFULFlBSUEsR0FBQW9HLEVBQUEsQ0FDQSxHQUFBUSxHQUFBek0sRUFBQXNHLFNB
QUE0RixnQkFDQWxNLEdBQUFzRyxTQUFBNEYsaUJBQUFELEVBQ0FFLEdBQUFuTSxFQUFBaU0sRUFB
QVEsR0FHQWtDLElBQ0EzTyxFQUFBc1AsT0FBQTVDLEdBQUFnQyxFQUFBRCxFQUFBcEgsU0FDQXJI
LEVBQUFvTCxnQkFRQSxRQUFBbUUsSUFBQXZQLEdBQ0EsS0FBQUEsUUFBQW1OLFVBQ0EsR0FBQW5O
LEVBQUF3TixVQUF1QixRQUV2QixVQUdBLFFBQUFnQyxJQUFBeFAsRUFBQXlQLEdBQ0EsR0FBQUEs
R0FFQSxHQURBelAsRUFBQXlOLGlCQUFBLEVBQ0E4QixHQUFBdlAsR0FDQSxXQUVHLElBQUFBLEVB
QUF5TixnQkFDSCxNQUVBLElBQUF6TixFQUFBd04sV0FBQSxPQUFBeE4sRUFBQXdOLFVBQUEsQ0FD
QXhOLEVBQUF3TixXQUFBLENBQ0EsUUFBQXZSLEdBQUEsRUFBbUJBLEVBQUErRCxFQUFBb04sVUFB
QWxSLE9BQXlCRCxJQUM1Q3VULEdBQUF4UCxFQUFBb04sVUFBQW5SLEdBRUFpUyxJQUFBbE8sRUFB
QSxjQUlBLFFBQUEwUCxJQUFBMVAsRUFBQXlQLEdBQ0EsS0FBQUEsSUFDQXpQLEVBQUF5TixpQkFB
QSxFQUNBOEIsR0FBQXZQLEtBSUFBLEVBQUF3TixXQUFBLENBQ0F4TixFQUFBd04sV0FBQSxDQUNB
LFFBQUF2UixHQUFBLEVBQW1CQSxFQUFBK0QsRUFBQW9OLFVBQUFsUixPQUF5QkQsSUFDNUN5VCxH
QUFBMVAsRUFBQW9OLFVBQUFuUixHQUVBaVMsSUFBQWxPLEVBQUEsZ0JBSUEsUUFBQWtPLElBQUFs
TyxFQUFBZ0osR0FDQSxHQUFBMkcsR0FBQTNQLEVBQUFzRyxTQUFBMEMsRUFDQSxJQUFBMkcsRUFD
QSxPQUFBMVQsR0FBQSxFQUFBMlQsRUFBQUQsRUFBQXpULE9BQXdDRCxFQUFBMlQsRUFBTzNULElB
Qy9DLElBQ0EwVCxFQUFBMVQsR0FBQXRCLEtBQUFxRixHQUNPLE1BQUFyQixHQUNQbUIsRUFBQW5C
LEVBQUFxQixFQUFBZ0osRUFBQSxTQUlBaEosRUFBQWdNLGVBQ0FoTSxFQUFBNlAsTUFBQSxRQUFB
N0csR0FvQkEsUUFBQThHLE1BQ0F2VCxHQUFBd1QsR0FBQTdULE9BQUE4VCxHQUFBOVQsT0FBQSxF
QUNBK1QsTUFJQUMsR0FBQUMsSUFBQSxFQU1BLFFBQUFDLE1BQ0FELElBQUEsQ0FDQSxJQUFBRSxH
QUFBaEwsQ0FjQSxLQUpBMEssR0FBQU8sS0FBQSxTQUFBblQsRUFBQWUsR0FBOEIsTUFBQWYsR0FB
QWtJLEdBQUFuSCxFQUFBbUgsS0FJOUI5SSxHQUFBLEVBQWlCQSxHQUFBd1QsR0FBQTdULE9BQXNC
SyxLQUN2QzhULEVBQUFOLEdBQUF4VCxJQUNBOEksRUFBQWdMLEVBQUFoTCxHQUNBNEssR0FBQTVL
LEdBQUEsS0FDQWdMLEVBQUFFLEtBbUJBLElBQUFDLEdBQUFSLEdBQUE5SCxRQUNBdUksRUFBQVYs
R0FBQTdILE9BRUE0SCxNQUdBWSxHQUFBRixHQUNBRyxHQUFBRixHQUlBRyxJQUFBMVEsR0FBQTBR
LFVBQ0FBLEdBQUFDLEtBQUEsU0FJQSxRQUFBRixJQUFBWixHQUVBLElBREEsR0FBQTlULEdBQUE4
VCxFQUFBN1QsT0FDQUQsS0FBQSxDQUNBLEdBQUFvVSxHQUFBTixFQUFBOVQsR0FDQStELEVBQUFx
USxFQUFBclEsRUFDQUEsR0FBQXVOLFdBQUE4QyxHQUFBclEsRUFBQTBOLFlBQ0FRLEdBQUFsTyxF
QUFBLFlBU0EsUUFBQThRLElBQUE5USxHQUdBQSxFQUFBd04sV0FBQSxFQUNBd0MsR0FBQWxQLEtB
QUFkLEdBR0EsUUFBQTBRLElBQUFYLEdBQ0EsT0FBQTlULEdBQUEsRUFBaUJBLEVBQUE4VCxFQUFB
N1QsT0FBa0JELElBQ25DOFQsRUFBQTlULEdBQUF1UixXQUFBLEVBQ0FnQyxHQUFBTyxFQUFBOVQs
SUFBQSxHQVNBLFFBQUE4VSxJQUFBVixHQUNBLEdBQUFoTCxHQUFBZ0wsRUFBQWhMLEVBQ0EsVUFB
QTRLLEdBQUE1SyxHQUFBLENBRUEsR0FEQTRLLEdBQUE1SyxJQUFBLEVBQ0E4SyxHQUVLLENBSUws
SUFEQSxHQUFBbFUsR0FBQThULEdBQUE3VCxPQUFBLEVBQ0FELEVBQUFNLElBQUF3VCxHQUFBOVQs
R0FBQW9KLEdBQUFnTCxFQUFBaEwsSUFDQXBKLEdBRUE4VCxJQUFBdFQsT0FBQVIsRUFBQSxJQUFB
b1UsT0FSQU4sSUFBQWpQLEtBQUF1UCxFQVdBSCxNQUNBQSxJQUFBLEVBQ0FjLEdBQUFaLE1BNE5B
LFFBQUFhLElBQUFuVyxHQUNBb1csR0FBQUMsUUFDQUMsR0FBQXRXLEVBQUFvVyxJQUdBLFFBQUFF
LElBQUF0VyxFQUFBdVcsR0FDQSxHQUFBcFYsR0FBQTRDLEVBQ0F5UyxFQUFBM1QsTUFBQWEsUUFB
QTFELEVBQ0EsS0FBQXdXLEdBQUEvVyxFQUFBTyxLQUFBbEIsT0FBQWlJLGFBQUEvRyxHQUFBLENB
R0EsR0FBQUEsRUFBQTBHLE9BQUEsQ0FDQSxHQUFBK1AsR0FBQXpXLEVBQUEwRyxPQUFBVyxJQUFB
a0QsRUFDQSxJQUFBZ00sRUFBQXBCLElBQUFzQixHQUNBLE1BRUFGLEdBQUEvSSxJQUFBaUosR0FF
QSxHQUFBRCxFQUVBLElBREFyVixFQUFBbkIsRUFBQW9CLE9BQ0FELEtBQWlCbVYsR0FBQXRXLEVB
QUFtQixHQUFBb1YsT0FJakIsS0FGQXhTLEVBQUFqRixPQUFBaUYsS0FBQS9ELEdBQ0FtQixFQUFB
NEMsRUFBQTNDLE9BQ0FELEtBQWlCbVYsR0FBQXRXLEVBQUErRCxFQUFBNUMsSUFBQW9WLElBYWpC
LFFBQUFHLElBQUE1USxFQUFBNlEsRUFBQTlVLEdBQ0ErVSxHQUFBblAsSUFBQSxXQUNBLE1BQUFy
RCxNQUFBdVMsR0FBQTlVLElBRUErVSxHQUFBalAsSUFBQSxTQUFBM0gsR0FDQW9FLEtBQUF1UyxH
QUFBOVUsR0FBQTdCLEdBRUFsQixPQUFBQyxlQUFBK0csRUFBQWpFLEVBQUErVSxJQUdBLFFBQUFD
LElBQUEzUixHQUNBQSxFQUFBNFIsWUFDQSxJQUFBQyxHQUFBN1IsRUFBQXNHLFFBQ0F1TCxHQUFB
OU4sT0FBbUIrTixHQUFBOVIsRUFBQTZSLEVBQUE5TixPQUNuQjhOLEVBQUFFLFNBQXFCQyxHQUFB
aFMsRUFBQTZSLEVBQUFFLFNBQ3JCRixFQUFBNUssS0FDQWdMLEdBQUFqUyxHQUVBcUIsRUFBQXJC
LEVBQUFrUyxVQUF5QixHQUV6QkwsRUFBQU0sVUFBc0JDLEdBQUFwUyxFQUFBNlIsRUFBQU0sVUFD
dEJOLEVBQUFRLE9BQUFSLEVBQUFRLFFBQUFDLElBQ0FDLEdBQUF2UyxFQUFBNlIsRUFBQVEsT0Fj
QSxRQUFBUCxJQUFBOVIsRUFBQXdTLEdBQ0EsR0FBQTNNLEdBQUE3RixFQUFBc0csU0FBQVQsY0FD
QTlCLEVBQUEvRCxFQUFBdUcsVUFHQTFILEVBQUFtQixFQUFBc0csU0FBQStJLGFBQ0FvRCxHQUFB
elMsRUFBQW1OLE9BRUF6TCxJQUFBQyxjQUFBOFEsQ0FrQ0EsUUFBQTlWLEtBQUE2VixJQWpDQSxT
QUFBN1YsR0FDQWtDLEVBQUFpQyxLQUFBbkUsRUFDQSxJQUFBN0MsR0FBQTZMLEVBQUFoSixFQUFB
NlYsRUFBQTNNLEVBQUE3RixFQXFCQWdDLEdBQUErQixFQUFBcEgsRUFBQTdDLEdBS0E2QyxJQUFB
cUQsSUFDQXdSLEdBQUF4UixFQUFBLFNBQUFyRCxJQUlBQSxFQUNBK0UsSUFBQUMsZUFBQSxFQUdB
LFFBQUFzUSxJQUFBalMsR0FDQSxHQUFBaUgsR0FBQWpILEVBQUFzRyxTQUFBVyxJQUNBQSxHQUFB
akgsRUFBQWtTLE1BQUEsa0JBQUFqTCxHQUNBeUwsR0FBQXpMLEVBQUFqSCxHQUNBaUgsTUFDQXhN
LEVBQUF3TSxLQUNBQSxLQVlBLEtBSkEsR0FBQXBJLEdBQUFqRixPQUFBaUYsS0FBQW9JLEdBQ0Fs
RCxFQUFBL0QsRUFBQXNHLFNBQUF2QyxNQUVBOUgsR0FEQStELEVBQUFzRyxTQUFBeUwsUUFDQWxU
LEVBQUEzQyxRQUNBRCxLQUFBLENBQ0EsR0FBQVUsR0FBQWtDLEVBQUE1QyxFQVNBOEgsSUFBQXJI
LEVBQUFxSCxFQUFBcEgsSUFNS3dDLEVBQUF4QyxJQUNMNlUsR0FBQXhSLEVBQUEsUUFBQXJELEdB
SUEwRSxFQUFBNEYsR0FBQSxHQUdBLFFBQUF5TCxJQUFBekwsRUFBQWpILEdBQ0EsSUFDQSxNQUFB
aUgsR0FBQXRNLEtBQUFxRixHQUNHLE1BQUFyQixHQUVILE1BREFtQixHQUFBbkIsRUFBQXFCLEVB
QUEsY0FPQSxRQUFBb1MsSUFBQXBTLEVBQUFtUyxHQUVBLEdBQUFRLEdBQUEzUyxFQUFBNFMsa0JB
QUFoWixPQUFBa0MsT0FBQSxLQUVBLFFBQUFhLEtBQUF3VixHQUFBLENBQ0EsR0FBQVUsR0FBQVYs
RUFBQXhWLEdBQ0EyRixFQUFBLGtCQUFBdVEsT0FBQXRRLEdBUUFvUSxHQUFBaFcsR0FBQSxHQUFB
MlIsSUFBQXRPLEVBQUFzQyxHQUFBckUsSUFBQTZVLElBS0FuVyxJQUFBcUQsSUFDQStTLEdBQUEv
UyxFQUFBckQsRUFBQWtXLElBV0EsUUFBQUUsSUFBQW5TLEVBQUFqRSxFQUFBa1csR0FDQSxrQkFB
QUEsSUFDQW5CLEdBQUFuUCxJQUFBeVEsR0FBQXJXLEdBQ0ErVSxHQUFBalAsSUFBQXhFLElBRUF5
VCxHQUFBblAsSUFBQXNRLEVBQUF0USxLQUNBLElBQUFzUSxFQUFBOVYsTUFDQWlXLEdBQUFyVyxH
QUNBa1csRUFBQXRRLElBQ0F0RSxFQUNBeVQsR0FBQWpQLElBQUFvUSxFQUFBcFEsSUFDQW9RLEVB
QUFwUSxJQUNBeEUsR0FXQXJFLE9BQUFDLGVBQUErRyxFQUFBakUsRUFBQStVLElBR0EsUUFBQXNC
LElBQUFyVyxHQUNBLGtCQUNBLEdBQUEwVCxHQUFBblIsS0FBQTBULG1CQUFBMVQsS0FBQTBULGtC
QUFBalcsRUFDQSxJQUFBMFQsRUFPQSxNQU5BQSxHQUFBNEMsT0FDQTVDLEVBQUE2QyxXQUVBdlMs
R0FBQUMsUUFDQXlQLEVBQUExTixTQUVBME4sRUFBQXZXLE9BS0EsUUFBQWtZLElBQUFoUyxFQUFB
K1IsR0FFQS9SLEVBQUFzRyxTQUFBdkMsS0FDQSxRQUFBcEgsS0FBQW9WLEdBQ0EvUixFQUFBckQs
R0FBQSxNQUFBb1YsRUFBQXBWLEdBQUFzQixFQUFBakIsRUFBQStVLEVBQUFwVixHQUFBcUQsR0Ft
QkEsUUFBQXVTLElBQUF2UyxFQUFBcVMsR0FFQSxPQUFBMVYsS0FBQTBWLEdBQUEsQ0FDQSxHQUFB
YyxHQUFBZCxFQUFBMVYsRUFDQSxJQUFBZ0IsTUFBQWEsUUFBQTJVLEdBQ0EsT0FBQWxYLEdBQUEs
RUFBcUJBLEVBQUFrWCxFQUFBalgsT0FBb0JELElBQ3pDbVgsR0FBQXBULEVBQUFyRCxFQUFBd1cs
RUFBQWxYLFFBR0FtWCxJQUFBcFQsRUFBQXJELEVBQUF3VyxJQUtBLFFBQUFDLElBQ0FwVCxFQUNB
cVQsRUFDQUYsRUFDQXJQLEdBU0EsTUFQQXJKLEdBQUEwWSxLQUNBclAsRUFBQXFQLEVBQ0FBLGFB
RUEsZ0JBQUFBLEtBQ0FBLEVBQUFuVCxFQUFBbVQsSUFFQW5ULEVBQUFzVCxPQUFBRCxFQUFBRixF
QUFBclAsR0FvREEsUUFBQXlQLElBQUF2VCxHQUNBLEdBQUF3VCxHQUFBeFQsRUFBQXNHLFNBQUFr
TixPQUNBQSxLQUNBeFQsRUFBQXlULFVBQUEsa0JBQUFELEdBQ0FBLEVBQUE3WSxLQUFBcUYsR0FD
QXdULEdBSUEsUUFBQUUsSUFBQTFULEdBQ0EsR0FBQTJULEdBQUFDLEdBQUE1VCxFQUFBc0csU0FB
QWxDLE9BQUFwRSxFQUNBMlQsS0FDQWpTLEdBQUFDLGVBQUEsRUFDQS9ILE9BQUFpRixLQUFBOFUs
R0FBQUUsUUFBQSxTQUFBbFgsR0FZQXFGLEVBQUFoQyxFQUFBckQsRUFBQWdYLEVBQUFoWCxNQUdB
K0UsR0FBQUMsZUFBQSxHQUlBLFFBQUFpUyxJQUFBeFAsRUFBQXBFLEdBQ0EsR0FBQW9FLEVBQUEs
Q0FPQSxPQUxBdVAsR0FBQS9aLE9BQUFrQyxPQUFBLE1BQ0ErQyxFQUFBaVYsR0FDQUMsUUFBQUMs
UUFBQTVQLEdBQ0F4SyxPQUFBaUYsS0FBQXVGLEdBRUFuSSxFQUFBLEVBQW1CQSxFQUFBNEMsRUFB
QTNDLE9BQWlCRCxJQUlwQyxJQUhBLEdBQUFVLEdBQUFrQyxFQUFBNUMsR0FDQWdZLEVBQUE3UCxF
QUFBekgsR0FDQXVYLEVBQUFsVSxFQUNBa1UsR0FBQSxDQUNBLEdBQUFBLEVBQUFULFdBQUFRLElB
QUFDLEdBQUFULFVBQUEsQ0FDQUUsRUFBQWhYLEdBQUF1WCxFQUFBVCxVQUFBUSxFQUNBLE9BRUFD
LElBQUEvRyxRQU1BLE1BQUF3RyxJQU1BLFFBQUFRLElBQ0EzVCxFQUNBcUYsRUFDQW9CLEVBQ0FJ
LEVBQ0FILEdBRUEsR0FBQW5ELE1BQ0E2QixFQUFBcEYsRUFBQXNELFFBQUFDLEtBQ0EsSUFBQTVK
LEVBQUF5TCxHQUNBLE9BQUFqSixLQUFBaUosR0FDQTdCLEVBQUFwSCxHQUFBZ0osRUFBQWhKLEVB
QUFpSixFQUFBQyxXQUdBMUwsR0FBQThNLEVBQUFvQyxRQUE0QitLLEdBQUFyUSxFQUFBa0QsRUFB
QW9DLE9BQzVCbFAsRUFBQThNLEVBQUFsRCxRQUE0QnFRLEdBQUFyUSxFQUFBa0QsRUFBQWxELE1B
STVCLElBQUFzUSxHQUFBemEsT0FBQWtDLE9BQUF1TCxHQUNBaU4sRUFBQSxTQUFBblgsRUFBQWUs
RUFBQUMsRUFBQW9XLEdBQWlDLE1BQUFDLElBQUFILEVBQUFsWCxFQUFBZSxFQUFBQyxFQUFBb1cs
R0FBQSxJQUNqQ3pOLEVBQUF0RyxFQUFBc0QsUUFBQW1LLE9BQUF0VCxLQUFBLEtBQUEyWixHQUNB
ck4sT0FDQWxELFFBQ0FtRCxXQUNBdkMsT0FBQTBDLEVBQ0E0RSxVQUFBaEYsRUFBQW1CLE9BQ0Fx
TSxXQUFBYixHQUFBcFQsRUFBQXNELFFBQUFNLE9BQUFpRCxHQUNBc0YsTUFBQSxXQUF3QixNQUFB
RCxJQUFBeEYsRUFBQUcsS0FTeEIsT0FQQVAsYUFBQUYsTUFDQUUsRUFBQStGLGtCQUFBeEYsRUFD
QVAsRUFBQTROLGtCQUFBbFUsRUFBQXNELFFBQ0FtRCxFQUFBNkYsUUFDQWhHLEVBQUFHLE9BQUFI
LEVBQUFHLFVBQXFDNkYsS0FBQTdGLEVBQUE2RixPQUdyQ2hHLEVBR0EsUUFBQXNOLElBQUF2VyxF
QUFBcUYsR0FDQSxPQUFBdkcsS0FBQXVHLEdBQ0FyRixFQUFBb0csR0FBQXRILElBQUF1RyxFQUFB
dkcsR0E0RUEsUUFBQWdZLElBQ0FuVSxFQUNBeUcsRUFDQUksRUFDQUgsRUFDQUYsR0FFQSxJQUFB
aE4sRUFBQXdHLEdBQUEsQ0FJQSxHQUFBb0ssR0FBQXZELEVBQUFmLFNBQUFzTyxLQVNBLElBTkFy
YSxFQUFBaUcsS0FDQUEsRUFBQW9LLEVBQUFoTixPQUFBNEMsSUFLQSxrQkFBQUEsR0FBQSxDQVFB
LEdBQUErRyxFQUNBLElBQUF2TixFQUFBd0csRUFBQXFVLE9BQ0F0TixFQUFBL0csTUFFQXRHLE1B
REFzRyxFQUFBbUssR0FBQXBELEVBQUFxRCxFQUFBdkQsS0FLQSxNQUFBa0QsSUFDQWhELEVBQ0FO
LEVBQ0FJLEVBQ0FILEVBQ0FGLEVBS0FDLFNBSUE2TixHQUFBdFUsR0FHQXJHLEVBQUE4TSxFQUFB
OE4sUUFDQUMsR0FBQXhVLEVBQUFzRCxRQUFBbUQsRUFJQSxJQUFBcEIsR0FBQXVELEdBQUFuQyxF
QUFBekcsRUFBQXdHLEVBR0EsSUFBQTVNLEVBQUFvRyxFQUFBc0QsUUFBQW1SLFlBQ0EsTUFBQWQs
SUFBQTNULEVBQUFxRixFQUFBb0IsRUFBQUksRUFBQUgsRUFLQSxJQUFBK0UsR0FBQWhGLEVBQUFt
QixFQUtBLElBRkFuQixFQUFBbUIsR0FBQW5CLEVBQUFpTyxTQUVBOWEsRUFBQW9HLEVBQUFzRCxR
QUFBb0osVUFBQSxDQUtBLEdBQUFKLEdBQUE3RixFQUFBNkYsSUFDQTdGLE1BQ0E2RixJQUNBN0Ys
RUFBQTZGLFFBS0FxSSxHQUFBbE8sRUFHQSxJQUFBakQsR0FBQXhELEVBQUFzRCxRQUFBRSxNQUFB
Z0QsQ0FPQSxPQU5BLElBQUFKLElBQ0EsaUJBQUFwRyxFQUFBLEtBQUF3RCxFQUFBLElBQUFBLEVB
QUEsSUFDQWlELE1BQUEvTSxpQkFBQW1OLEdBQ0s3RyxPQUFBcUYsWUFBQW9HLFlBQUFqRixNQUFB
RSxZQUNMSyxLQUtBLFFBQUE2TixJQUNBdE8sRUFDQW5DLEVBQ0EwUSxFQUNBQyxHQUVBLEdBQUFD
LEdBQUF6TyxFQUFBUSxpQkFDQXhELEdBQ0EwUixjQUFBLEVBQ0E3USxTQUNBa0IsVUFBQTBQLEVB
QUExUCxVQUNBNFAsY0FBQUYsRUFBQXZPLElBQ0FnSSxhQUFBbEksRUFDQW9GLGlCQUFBcUosRUFB
QXRKLFVBQ0EyQyxnQkFBQTJHLEVBQUFyTyxTQUNBd08sV0FBQUwsR0FBQSxLQUNBTSxRQUFBTCxH
QUFBLE1BR0FNLEVBQUE5TyxFQUFBRyxLQUFBMk8sY0FLQSxPQUpBemIsR0FBQXliLEtBQ0E5UixF
QUFBbUssT0FBQTJILEVBQUEzSCxPQUNBbkssRUFBQStSLGdCQUFBRCxFQUFBQyxpQkFFQSxHQUFB
TixHQUFBL1UsS0FBQXNELEdBR0EsUUFBQXFSLElBQUFsTyxHQUNBQSxFQUFBK0IsT0FDQS9CLEVB
QUErQixRQUVBLFFBQUEvTSxHQUFBLEVBQWlCQSxFQUFBNlosR0FBQTVaLE9BQXlCRCxJQUFBLENB
QzFDLEdBQUFVLEdBQUFtWixHQUFBN1osR0FDQThaLEVBQUE5TyxFQUFBK0IsS0FBQXJNLEdBQ0Fx
WixFQUFBQyxHQUFBdFosRUFDQXNLLEdBQUErQixLQUFBck0sR0FBQW9aLEVBQUFHLEdBQUFGLEVB
QUFELEdBQUFDLEdBSUEsUUFBQUUsSUFBQUMsRUFBQUMsR0FDQSxnQkFBQWpaLEVBQUFlLEVBQUFD
LEVBQUFvVyxHQUNBNEIsRUFBQWhaLEVBQUFlLEVBQUFDLEVBQUFvVyxHQUNBNkIsRUFBQWpaLEVB
QUFlLEVBQUFDLEVBQUFvVyxJQU1BLFFBQUFTLElBQUFsUixFQUFBbUQsR0FDQSxHQUFBbkIsR0FB
QWhDLEVBQUFpUixPQUFBalIsRUFBQWlSLE1BQUFqUCxNQUFBLFFBQ0E0QyxFQUFBNUUsRUFBQWlS
LE9BQUFqUixFQUFBaVIsTUFBQXJNLE9BQUEsU0FBZ0V6QixFQUFBbEQsUUFBQWtELEVBQUFsRCxX
QUErQitCLEdBQUFtQixFQUFBOE4sTUFBQWpiLEtBQy9GLElBQUFzTyxHQUFBbkIsRUFBQW1CLEtB
QUFuQixFQUFBbUIsTUFDQWpPLEdBQUFpTyxFQUFBTSxJQUNBTixFQUFBTSxJQUFBekIsRUFBQThO
LE1BQUFzQixVQUFBMVMsT0FBQXlFLEVBQUFNLElBRUFOLEVBQUFNLEdBQUF6QixFQUFBOE4sTUFB
QXNCLFNBV0EsUUFBQTdCLElBQ0FuTixFQUNBTCxFQUNBQyxFQUNBQyxFQUNBb1AsRUFDQUMsR0FV
QSxPQVJBNVksTUFBQWEsUUFBQXlJLElBQUEzTSxFQUFBMk0sTUFDQXFQLEVBQUFwUCxFQUNBQSxF
QUFBRCxFQUNBQSxNQUFBL00sSUFFQUUsRUFBQW1jLEtBQ0FELEVBQUFFLElBRUFDLEdBQUFwUCxF
QUFBTCxFQUFBQyxFQUFBQyxFQUFBb1AsR0FHQSxRQUFBRyxJQUNBcFAsRUFDQUwsRUFDQUMsRUFD
QUMsRUFDQW9QLEdBRUEsR0FBQW5jLEVBQUE4TSxJQUFBOU0sRUFBQSxFQUFBcUgsUUFNQSxNQUFB
aUosS0FNQSxJQUhBdFEsRUFBQThNLElBQUE5TSxFQUFBOE0sRUFBQXlQLE1BQ0ExUCxFQUFBQyxF
QUFBeVAsS0FFQTFQLEVBRUEsTUFBQXlELEtBYUE5TSxPQUFBYSxRQUFBMEksSUFDQSxrQkFBQUEs
R0FBQSxLQUVBRCxRQUNBQSxFQUFBNEgsYUFBd0J4SSxRQUFBYSxFQUFBLElBQ3hCQSxFQUFBaEws
T0FBQSxHQUVBb2EsSUFBQUUsR0FDQXRQLEVBQUEwQyxHQUFBMUMsR0FDR29QLElBQUFLLEtBQ0h6
UCxFQUFBd0MsR0FBQXhDLEdBRUEsSUFBQUosR0FBQVUsQ0FDQSxvQkFBQVIsR0FBQSxDQUNBLEdB
QUF4RyxFQUNBZ0gsR0FBQXRILEdBQUEwVyxnQkFBQTVQLEdBR0FGLEVBRkE1RyxHQUFBMlcsY0FB
QTdQLEdBRUEsR0FBQUosSUFDQTFHLEdBQUE0VyxxQkFBQTlQLEdBQUFDLEVBQUFDLE1BQ0FoTixV
QUFBbU4sR0FFS2xOLEVBQUFxRyxFQUFBNEUsRUFBQWlDLEVBQUFmLFNBQUEsYUFBQVUsSUFFTDJO
LEdBQUFuVSxFQUFBeUcsRUFBQUksRUFBQUgsRUFBQUYsR0FLQSxHQUFBSixJQUNBSSxFQUFBQyxF
QUFBQyxNQUNBaE4sVUFBQW1OLE9BS0FQLEdBQUE2TixHQUFBM04sRUFBQUMsRUFBQUksRUFBQUgs
RUFFQSxPQUFBL00sR0FBQTJNLElBQ0FVLEdBQWF1UCxHQUFBalEsRUFBQVUsR0FDYlYsR0FFQTJE
LEtBSUEsUUFBQXNNLElBQUFqUSxFQUFBVSxHQUVBLEdBREFWLEVBQUFVLEtBQ0Esa0JBQUFWLEVB
QUFFLEtBSUE3TSxFQUFBMk0sRUFBQUksVUFDQSxPQUFBakwsR0FBQSxFQUFBbUIsRUFBQTBKLEVB
QUFJLFNBQUFoTCxPQUE4Q0QsRUFBQW1CLEVBQU9uQixJQUFBLENBQ3JELEdBQUEySSxHQUFBa0Ms
RUFBQUksU0FBQWpMLEVBQ0E5QixHQUFBeUssRUFBQW9DLE1BQUFoTixFQUFBNEssRUFBQTRDLEtB
Q0F1UCxHQUFBblMsRUFBQTRDLElBV0EsUUFBQXdQLElBQ0FsYyxFQUNBbVQsR0FFQSxHQUFBdlEs
R0FBQXpCLEVBQUFtQixFQUFBeUIsRUFBQWxDLENBQ0EsSUFBQWdCLE1BQUFhLFFBQUExRCxJQUFB
LGdCQUFBQSxHQUVBLElBREE0QyxFQUFBLEdBQUFDLE9BQUE3QyxFQUFBb0IsUUFDQUQsRUFBQSxF
QUFBbUIsRUFBQXRDLEVBQUFvQixPQUErQkQsRUFBQW1CLEVBQU9uQixJQUN0Q3lCLEVBQUF6QixH
QUFBZ1MsRUFBQW5ULEVBQUFtQixVQUVHLG9CQUFBbkIsR0FFSCxJQURBNEMsRUFBQSxHQUFBQyxP
QUFBN0MsR0FDQW1CLEVBQUEsRUFBZUEsRUFBQW5CLEVBQVNtQixJQUN4QnlCLEVBQUF6QixHQUFB
Z1MsRUFBQWhTLEVBQUEsRUFBQUEsT0FFRyxJQUFBMUIsRUFBQU8sR0FHSCxJQUZBK0QsRUFBQWpG
LE9BQUFpRixLQUFBL0QsR0FDQTRDLEVBQUEsR0FBQUMsT0FBQWtCLEVBQUEzQyxRQUNBRCxFQUFB
LEVBQUFtQixFQUFBeUIsRUFBQTNDLE9BQWdDRCxFQUFBbUIsRUFBT25CLElBQ3ZDVSxFQUFBa0Ms
RUFBQTVDLEdBQ0F5QixFQUFBekIsR0FBQWdTLEVBQUFuVCxFQUFBNkIsS0FBQVYsRUFNQSxPQUhB
OUIsR0FBQXVELEtBQ0EsRUFBQXdNLFVBQUEsR0FFQXhNLEVBUUEsUUFBQXVaLElBQ0FqVCxFQUNB
a1QsRUFDQW5ULEVBQ0FvVCxHQUVBLEdBQUFDLEdBQUFsWSxLQUFBNFAsYUFBQTlLLEVBQ0EsSUFB
QW9ULEVBS0EsTUFKQXJULFNBQ0FvVCxJQUNBcFQsRUFBQW5HLE9BQThCdVosR0FBQXBULElBRTlC
cVQsRUFBQXJULElBQUFtVCxDQUVBLElBQUFHLEdBQUFuWSxLQUFBb1EsT0FBQXRMLEVBVUEsT0FB
QXFULElBQUFILEVBU0EsUUFBQUksSUFBQWpTLEdBQ0EsTUFBQUQsR0FBQWxHLEtBQUFvSCxTQUFB
LFVBQUFqQixHQUFBLElBQUFrUyxHQVFBLFFBQUFDLElBQ0FDLEVBQ0E5YSxFQUNBK2EsR0FFQSxH
QUFBQyxHQUFBelgsR0FBQXlYLFNBQUFoYixJQUFBK2EsQ0FDQSxPQUFBL1osT0FBQWEsUUFBQW1a
LElBQ0EsSUFBQUEsRUFBQW5iLFFBQUFpYixHQUVBRSxJQUFBRixFQVNBLFFBQUFHLElBQ0EzUSxF
QUNBRCxFQUNBbE4sRUFDQStkLEVBQ0FDLEdBRUEsR0FBQWhlLEVBQ0EsR0FBQVMsRUFBQVQsR0FL
SyxDQUNMNkQsTUFBQWEsUUFBQTFFLEtBQ0FBLEVBQUFpRSxFQUFBakUsR0FFQSxJQUFBMFAsRUEw
QkEsUUFBQTdNLEtBQUE3QyxJQXpCQSxTQUFBNkMsR0FDQSxHQUNBLFVBQUFBLEdBQ0EsVUFBQUEs
R0FDQW9iLEdBQUFwYixHQUVBNk0sRUFBQXZDLE1BQ1MsQ0FDVCxHQUFBL0MsR0FBQStDLEVBQUFv
QyxPQUFBcEMsRUFBQW9DLE1BQUFuRixJQUNBc0YsR0FBQXFPLEdBQUEzWCxHQUFBOFgsWUFBQWhS
LEVBQUE5QyxFQUFBdkgsR0FDQXNLLEVBQUFnUixXQUFBaFIsRUFBQWdSLGFBQ0FoUixFQUFBb0Ms
UUFBQXBDLEVBQUFvQyxVQUVBLEtBQUExTSxJQUFBNk0sTUFDQUEsRUFBQTdNLEdBQUE3QyxFQUFB
NkMsR0FFQW1iLEdBQUEsRUFDQTdRLEVBQUFtQixLQUFBbkIsRUFBQW1CLFFBQ0EsVUFBQXpMLEdB
QUEsU0FBQXViLEdBQ0FwZSxFQUFBNkMsR0FBQXViLEtBTUF2YixRQUdBLE1BQUFzSyxHQVFBLFFB
QUFrUixJQUNBNWIsRUFDQTZiLEdBRUEsR0FBQUMsR0FBQW5aLEtBQUFvWixhQUFBL2IsRUFHQSxP
QUFBOGIsS0FBQUQsRUFDQXphLE1BQUFhLFFBQUE2WixHQUNBelEsR0FBQXlRLEdBQ0F4UixFQUFB
d1IsSUFHQUEsRUFBQW5aLEtBQUFvWixhQUFBL2IsR0FDQTJDLEtBQUFvSCxTQUFBdVAsZ0JBQUF0
WixHQUFBNUIsS0FBQXVFLEtBQUFxWixjQUNBQyxHQUFBSCxFQUFBLGFBQUE5YixHQUFBLEdBQ0E4
YixHQU9BLFFBQUFJLElBQ0FKLEVBQ0E5YixFQUNBSSxHQUdBLE1BREE2YixJQUFBSCxFQUFBLFdB
QUE5YixHQUFBSSxFQUFBLElBQUFBLEVBQUEsUUFDQTBiLEVBR0EsUUFBQUcsSUFDQUgsRUFDQTFi
LEVBQ0ErYixHQUVBLEdBQUEvYSxNQUFBYSxRQUFBNlosR0FDQSxPQUFBcGMsR0FBQSxFQUFtQkEs
RUFBQW9jLEVBQUFuYyxPQUFpQkQsSUFDcENvYyxFQUFBcGMsSUFBQSxnQkFBQW9jLEdBQUFwYyxJ
QUNBMGMsR0FBQU4sRUFBQXBjLEdBQUFVLEVBQUEsSUFBQVYsRUFBQXljLE9BSUFDLElBQUFOLEVB
QUExYixFQUFBK2IsR0FJQSxRQUFBQyxJQUFBNU8sRUFBQXBOLEVBQUErYixHQUNBM08sRUFBQXRD
LFVBQUEsRUFDQXNDLEVBQUFwTixNQUNBb04sRUFBQTJPLFNBS0EsUUFBQUUsSUFBQTNSLEVBQUFu
TixHQUNBLEdBQUFBLEVBQ0EsR0FBQVcsRUFBQVgsR0FLSyxDQUNMLEdBQUFzTyxHQUFBbkIsRUFB
QW1CLEdBQUFuQixFQUFBbUIsR0FBQXhLLEtBQTRDcUosRUFBQW1CLE1BQzVDLFFBQUF6TCxLQUFB
N0MsR0FBQSxDQUNBLEdBQUErZSxHQUFBelEsRUFBQXpMLEdBQ0FxWixFQUFBbGMsRUFBQTZDLEVB
Q0F5TCxHQUFBekwsR0FBQWtjLEtBQUFsVixPQUFBcVMsRUFBQTZDLEdBQUE3QyxRQUlBLE1BQUEv
TyxHQUtBLFFBQUE2UixJQUFBOVksR0FDQUEsRUFBQWlQLE9BQUEsS0FDQWpQLEVBQUFzWSxhQUFB
LElBQ0EsSUFBQTdKLEdBQUF6TyxFQUFBdU8sT0FBQXZPLEVBQUFzRyxTQUFBMEksYUFDQStKLEVB
QUF0SyxLQUFBcEgsT0FDQXJILEdBQUFzUCxPQUFBNUMsR0FBQTFNLEVBQUFzRyxTQUFBc0ksZ0JB
QUFtSyxHQUNBL1ksRUFBQThPLGFBQUFDLEdBS0EvTyxFQUFBZ1osR0FBQSxTQUFBN2IsRUFBQWUs
RUFBQUMsRUFBQW9XLEdBQWlDLE1BQUFDLElBQUF4VSxFQUFBN0MsRUFBQWUsRUFBQUMsRUFBQW9X
LEdBQUEsSUFHakN2VSxFQUFBaVosZUFBQSxTQUFBOWIsRUFBQWUsRUFBQUMsRUFBQW9XLEdBQTZD
LE1BQUFDLElBQUF4VSxFQUFBN0MsRUFBQWUsRUFBQUMsRUFBQW9XLEdBQUEsR0FJN0MsSUFBQTJF
LEdBQUF6SyxLQUFBeEgsSUFVQWpGLEdBQUFoQyxFQUFBLFNBQUFrWixLQUFBN1AsTUFBQSxTQUNB
ckgsRUFBQWhDLEVBQUEsYUFBQUEsRUFBQXNHLFNBQUE0RixpQkFBQSxTQW1KQSxRQUFBaU4sSUFB
QW5aLEVBQUE4RCxHQUNBLEdBQUErTixHQUFBN1IsRUFBQXNHLFNBQUExTSxPQUFBa0MsT0FBQWtF
LEVBQUFvWixZQUFBdFYsUUFFQStOLEdBQUFsTixPQUFBYixFQUFBYSxPQUNBa04sRUFBQWhNLFVB
QUEvQixFQUFBK0IsVUFDQWdNLEVBQUE3QyxhQUFBbEwsRUFBQWtMLGFBQ0E2QyxFQUFBM0YsaUJB
QUFwSSxFQUFBb0ksaUJBQ0EyRixFQUFBakQsZ0JBQUE5SyxFQUFBOEssZ0JBQ0FpRCxFQUFBNEQs
Y0FBQTNSLEVBQUEyUixjQUNBNUQsRUFBQTZELFdBQUE1UixFQUFBNFIsV0FDQTdELEVBQUE4RCxR
QUFBN1IsRUFBQTZSLFFBQ0E3UixFQUFBbUssU0FDQTRELEVBQUE1RCxPQUFBbkssRUFBQW1LLE9B
Q0E0RCxFQUFBZ0UsZ0JBQUEvUixFQUFBK1IsaUJBSUEsUUFBQWYsSUFBQXRVLEdBQ0EsR0FBQXNE
LEdBQUF0RCxFQUFBc0QsT0FDQSxJQUFBdEQsRUFBQTZZLE1BQUEsQ0FDQSxHQUFBQyxHQUFBeEUs
R0FBQXRVLEVBQUE2WSxNQUVBLElBQUFDLElBREE5WSxFQUFBOFksYUFDQSxDQUdBOVksRUFBQThZ
LGNBRUEsSUFBQUMsR0FBQUMsR0FBQWhaLEVBRUErWSxJQUNBM2IsRUFBQTRDLEVBQUFpWixjQUFB
RixHQUVBelYsRUFBQXRELEVBQUFzRCxRQUFBWSxFQUFBNFUsRUFBQTlZLEVBQUFpWixlQUNBM1Ys
RUFBQUUsT0FDQUYsRUFBQTRWLFdBQUE1VixFQUFBRSxNQUFBeEQsSUFJQSxNQUFBc0QsR0FHQSxR
QUFBMFYsSUFBQWhaLEdBQ0EsR0FBQW1aLEdBQ0FDLEVBQUFwWixFQUFBc0QsUUFDQStWLEVBQUFy
WixFQUFBaVosY0FDQUssRUFBQXRaLEVBQUF1WixhQUNBLFFBQUFwZCxLQUFBaWQsR0FDQUEsRUFB
QWpkLEtBQUFtZCxFQUFBbmQsS0FDQWdkLElBQXNCQSxNQUN0QkEsRUFBQWhkLEdBQUFxZCxHQUFB
SixFQUFBamQsR0FBQWtkLEVBQUFsZCxHQUFBbWQsRUFBQW5kLElBR0EsT0FBQWdkLEdBR0EsUUFB
QUssSUFBQUosRUFBQUMsRUFBQUMsR0FHQSxHQUFBbmMsTUFBQWEsUUFBQW9iLEdBQUEsQ0FDQSxH
QUFBNWIsS0FDQThiLEdBQUFuYyxNQUFBYSxRQUFBc2IsU0FDQUQsRUFBQWxjLE1BQUFhLFFBQUFx
YixRQUNBLFFBQUE1ZCxHQUFBLEVBQW1CQSxFQUFBMmQsRUFBQTFkLE9BQW1CRCxLQUV0QzRkLEVB
QUFyZCxRQUFBb2QsRUFBQTNkLEtBQUEsR0FBQTZkLEVBQUF0ZCxRQUFBb2QsRUFBQTNkLElBQUEs
SUFDQStCLEVBQUE4QyxLQUFBOFksRUFBQTNkLEdBR0EsT0FBQStCLEdBRUEsTUFBQTRiLEdBSUEs
UUFBQUssSUFBQW5XLEdBTUE1RSxLQUFBZ2IsTUFBQXBXLEdBV0EsUUFBQXFXLElBQUFDLEdBQ0FB
LEVBQUFDLElBQUEsU0FBQUMsR0FDQSxHQUFBQyxHQUFBcmIsS0FBQXNiLG9CQUFBdGIsS0FBQXNi
LHFCQUNBLElBQUFELEVBQUEvZCxRQUFBOGQsSUFBQSxFQUNBLE1BQUFwYixLQUlBLElBQUF1YixH
QUFBamQsRUFBQUgsVUFBQSxFQVFBLE9BUEFvZCxHQUFBQyxRQUFBeGIsTUFDQSxrQkFBQW9iLEdB
QUFLLFFBQ0FMLEVBQUFLLFFBQUFyZCxNQUFBZ2QsRUFBQUcsR0FDSyxrQkFBQUgsSUFDTEEsRUFB
QWhkLE1BQUEsS0FBQW1kLEdBRUFGLEVBQUF6WixLQUFBd1osR0FDQXBiLE1BTUEsUUFBQTBiLElB
QUFSLEdBQ0FBLEVBQUFTLE1BQUEsU0FBQUEsR0FFQSxNQURBM2IsTUFBQTRFLFFBQUFZLEVBQUF4
RixLQUFBNEUsUUFBQStXLEdBQ0EzYixNQU1BLFFBQUE0YixJQUFBVixHQU1BQSxFQUFBdkYsSUFB
QSxDQUNBLElBQUFBLEdBQUEsQ0FLQXVGLEdBQUF4YyxPQUFBLFNBQUE2YixHQUNBQSxPQUNBLElB
QUFzQixHQUFBN2IsS0FDQThiLEVBQUFELEVBQUFsRyxJQUNBb0csRUFBQXhCLEVBQUF5QixRQUFB
ekIsRUFBQXlCLFNBQ0EsSUFBQUQsRUFBQUQsR0FDQSxNQUFBQyxHQUFBRCxFQUdBLElBQUFoWCxH
QUFBeVYsRUFBQXpWLE1BQUErVyxFQUFBalgsUUFBQUUsS0FXQW1YLEVBQUEsU0FBQXJYLEdBQ0E1
RSxLQUFBZ2IsTUFBQXBXLEdBNkNBLE9BM0NBcVgsR0FBQXhSLFVBQUEvUCxPQUFBa0MsT0FBQWlm
LEVBQUFwUixXQUNBd1IsRUFBQXhSLFVBQUF5UCxZQUFBK0IsRUFDQUEsRUFBQXRHLFFBQ0FzRyxF
QUFBclgsUUFBQVksRUFDQXFXLEVBQUFqWCxRQUNBMlYsR0FFQTBCLEVBQUEsTUFBQUosRUFLQUks
RUFBQXJYLFFBQUFDLE9BQ0FxWCxHQUFBRCxHQUVBQSxFQUFBclgsUUFBQXFPLFVBQ0FrSixHQUFB
RixHQUlBQSxFQUFBdmQsT0FBQW1kLEVBQUFuZCxPQUNBdWQsRUFBQU4sTUFBQUUsRUFBQUYsTUFD
QU0sRUFBQWQsSUFBQVUsRUFBQVYsSUFJQWlCLEdBQUF6SCxRQUFBLFNBQUEzUCxHQUNBaVgsRUFB
QWpYLEdBQUE2VyxFQUFBN1csS0FHQUYsSUFDQW1YLEVBQUFyWCxRQUFBNFYsV0FBQTFWLEdBQUFt
WCxHQU1BQSxFQUFBN0IsYUFBQXlCLEVBQUFqWCxRQUNBcVgsRUFBQTFCLGdCQUNBMEIsRUFBQXBC
LGNBQUFuYyxLQUFpQ3VkLEVBQUFyWCxTQUdqQ21YLEVBQUFELEdBQUFHLEVBQ0FBLEdBSUEsUUFB
QUMsSUFBQUcsR0FDQSxHQUFBeFgsR0FBQXdYLEVBQUF6WCxRQUFBQyxLQUNBLFFBQUFwSCxLQUFB
b0gsR0FDQXlOLEdBQUErSixFQUFBNVIsVUFBQSxTQUFBaE4sR0FJQSxRQUFBMGUsSUFBQUUsR0FD
QSxHQUFBcEosR0FBQW9KLEVBQUF6WCxRQUFBcU8sUUFDQSxRQUFBeFYsS0FBQXdWLEdBQ0FZLEdB
QUF3SSxFQUFBNVIsVUFBQWhOLEVBQUF3VixFQUFBeFYsSUFNQSxRQUFBNmUsSUFBQXBCLEdBSUFr
QixHQUFBekgsUUFBQSxTQUFBM1AsR0FDQWtXLEVBQUFsVyxHQUFBLFNBQ0FtQixFQUNBb1csR0FF
QSxNQUFBQSxJQVlBLGNBQUF2WCxHQUFBekosRUFBQWdoQixLQUNBQSxFQUFBelgsS0FBQXlYLEVB
QUF6WCxNQUFBcUIsRUFDQW9XLEVBQUF2YyxLQUFBNEUsUUFBQThRLE1BQUFoWCxPQUFBNmQsSUFF
QSxjQUFBdlgsR0FBQSxrQkFBQXVYLEtBQ0FBLEdBQXdCemUsS0FBQXllLEVBQUFoWCxPQUFBZ1gs
SUFFeEJ2YyxLQUFBNEUsUUFBQUksRUFBQSxLQUFBbUIsR0FBQW9XLEVBQ0FBLEdBbkJBdmMsS0FB
QTRFLFFBQUFJLEVBQUEsS0FBQW1CLE1BNkJBLFFBQUFxVyxJQUFBN0osR0FDQSxNQUFBQSxPQUFB
clIsS0FBQXNELFFBQUFFLE1BQUE2TixFQUFBN0ssS0FHQSxRQUFBMlUsSUFBQUMsRUFBQTVYLEdB
Q0EsTUFBQXJHLE9BQUFhLFFBQUFvZCxHQUNBQSxFQUFBcGYsUUFBQXdILElBQUEsRUFDRyxnQkFB
QTRYLEdBQ0hBLEVBQUE1ZixNQUFBLEtBQUFRLFFBQUF3SCxJQUFBLElBQ0dwSixFQUFBZ2hCLElB
Q0hBLEVBQUFoYyxLQUFBb0UsR0FNQSxRQUFBNlgsSUFBQTllLEVBQUErZSxFQUFBQyxHQUNBLE9B
QUFwZixLQUFBSSxHQUFBLENBQ0EsR0FBQWlmLEdBQUFqZixFQUFBSixFQUNBLElBQUFxZixFQUFB
LENBQ0EsR0FBQWhZLEdBQUEwWCxHQUFBTSxFQUFBMVUsaUJBQ0F0RCxLQUFBK1gsRUFBQS9YLEtB
Q0FnWSxJQUFBRixHQUNBRyxHQUFBRCxHQUVBamYsRUFBQUosR0FBQSxRQU1BLFFBQUFzZixJQUFB
blYsR0FDQUEsR0FDQUEsRUFBQW9WLGtCQUFBQyxXQTJLQSxRQUFBQyxJQUFBdFYsR0FJQSxJQUhB
LEdBQUFHLEdBQUFILEVBQUFHLEtBQ0FvVixFQUFBdlYsRUFDQXdWLEVBQUF4VixFQUNBM00sRUFB
QW1pQixFQUFBSixvQkFDQUksSUFBQUosa0JBQUFqTixPQUNBcU4sRUFBQXJWLE9BQ0FBLEVBQUFz
VixHQUFBRCxFQUFBclYsUUFHQSxNQUFBOU0sRUFBQWtpQixJQUFBMVgsU0FDQTBYLEVBQUFwVixP
QUNBQSxFQUFBc1YsR0FBQXRWLEVBQUFvVixFQUFBcFYsTUFHQSxPQUFBdVYsSUFBQXZWLEVBQUF3
VixZQUFBeFYsRUFBQXlWLE9BR0EsUUFBQUgsSUFBQTNYLEVBQUFELEdBQ0EsT0FDQThYLFlBQUE5
WSxHQUFBaUIsRUFBQTZYLFlBQUE5WCxFQUFBOFgsYUFDQUMsTUFBQXZpQixFQUFBeUssRUFBQThY
LFFBQ0E5WCxFQUFBOFgsTUFBQS9YLEVBQUErWCxPQUNBL1gsRUFBQStYLE9BSUEsUUFBQUYsSUFD
QUMsRUFDQUUsR0FFQSxNQUFBeGlCLEdBQUFzaUIsSUFBQXRpQixFQUFBd2lCLEdBQ0FoWixHQUFB
OFksRUFBQUcsR0FBQUQsSUFHQSxHQUdBLFFBQUFoWixJQUFBeEcsRUFBQWUsR0FDQSxNQUFBZixH
QUFBZSxFQUFBZixFQUFBLElBQUFlLEVBQUFmLEVBQUFlLEdBQUEsR0FHQSxRQUFBMGUsSUFBQTlp
QixHQUNBLE1BQUE2RCxPQUFBYSxRQUFBMUUsR0FDQStpQixHQUFBL2lCLEdBRUFTLEVBQUFULEdB
Q0FnakIsR0FBQWhqQixHQUVBLGdCQUFBQSxHQUNBQSxFQUdBLEdBR0EsUUFBQStpQixJQUFBL2lC
LEdBR0EsT0FEQWlqQixHQURBL2UsRUFBQSxHQUVBL0IsRUFBQSxFQUFBbUIsRUFBQXRELEVBQUFv
QyxPQUFtQ0QsRUFBQW1CLEVBQU9uQixJQUMxQzlCLEVBQUE0aUIsRUFBQUgsR0FBQTlpQixFQUFB
bUMsTUFBQSxLQUFBOGdCLElBQ0EvZSxJQUFnQkEsR0FBQSxLQUNoQkEsR0FBQStlLEVBR0EsT0FB
QS9lLEdBR0EsUUFBQThlLElBQUFoakIsR0FDQSxHQUFBa0UsR0FBQSxFQUNBLFFBQUFyQixLQUFB
N0MsR0FDQUEsRUFBQTZDLEtBQ0FxQixJQUFnQkEsR0FBQSxLQUNoQkEsR0FBQXJCLEVBR0EsT0FB
QXFCLEdBdUNBLFFBQUE0WSxJQUFBNVAsR0FDQSxNQUFBZ1csSUFBQWhXLEdBQ0EsTUFJQSxTQUFB
QSxFQUNBLFdBREEsR0FNQSxRQUFBaVcsSUFBQWpXLEdBRUEsSUFBQTVHLEdBQ0EsUUFFQSxJQUFB
eVcsR0FBQTdQLEdBQ0EsUUFJQSxJQUZBQSxJQUFBN0ssY0FFQSxNQUFBK2dCLEdBQUFsVyxHQUNB
LE1BQUFrVyxJQUFBbFcsRUFFQSxJQUFBOEcsR0FBQXFQLFNBQUEzSSxjQUFBeE4sRUFDQSxPQUFB
QSxHQUFBeEssUUFBQSxRQUVBMGdCLEdBQUFsVyxHQUNBOEcsRUFBQXNMLGNBQUFnRSxPQUFBQyxv
QkFDQXZQLEVBQUFzTCxjQUFBZ0UsT0FBQUUsWUFHQUosR0FBQWxXLEdBQUEscUJBQUFwSCxLQUFB
a08sRUFBQTFTLFlBU0EsUUFBQW1pQixJQUFBelAsR0FDQSxtQkFBQUEsR0FBQSxDQUNBLEdBQUEw
UCxHQUFBTCxTQUFBTSxjQUFBM1AsRUFDQSxPQUFBMFAsSUFJQUwsU0FBQTNJLGNBQUEsT0FJQSxN
QUFBMUcsR0FNQSxRQUFBNFAsSUFBQUMsRUFBQTdXLEdBQ0EsR0FBQU0sR0FBQStWLFNBQUEzSSxj
QUFBbUosRUFDQSxrQkFBQUEsRUFDQXZXLEdBR0FOLEVBQUFHLE1BQUFILEVBQUFHLEtBQUFvQyxX
QUFBblAsS0FBQTRNLEVBQUFHLEtBQUFvQyxNQUFBdVUsVUFDQXhXLEVBQUF5VyxhQUFBLHVCQUVB
elcsR0FHQSxRQUFBMFcsSUFBQUMsRUFBQUosR0FDQSxNQUFBUixVQUFBVyxnQkFBQUUsR0FBQUQs
R0FBQUosR0FHQSxRQUFBTSxJQUFBOVcsR0FDQSxNQUFBZ1csVUFBQWMsZUFBQTlXLEdBR0EsUUFB
QStXLElBQUEvVyxHQUNBLE1BQUFnVyxVQUFBZSxjQUFBL1csR0FHQSxRQUFBZ1gsSUFBQTlCLEVB
QUErQixFQUFBQyxHQUNBaEMsRUFBQThCLGFBQUFDLEVBQUFDLEdBR0EsUUFBQUMsSUFBQXZVLEVB
QUFuRixHQUNBbUYsRUFBQXVVLFlBQUExWixHQUdBLFFBQUEyWixJQUFBeFUsRUFBQW5GLEdBQ0Ft
RixFQUFBd1UsWUFBQTNaLEdBR0EsUUFBQXlYLElBQUF0UyxHQUNBLE1BQUFBLEdBQUFzUyxXQUdB
LFFBQUFtQyxJQUFBelUsR0FDQSxNQUFBQSxHQUFBeVUsWUFHQSxRQUFBYixJQUFBNVQsR0FDQSxN
QUFBQSxHQUFBNFQsUUFHQSxRQUFBYyxJQUFBMVUsRUFBQTVDLEdBQ0E0QyxFQUFBMlUsWUFBQXZY
LEVBR0EsUUFBQTBXLElBQUE5VCxFQUFBcE4sRUFBQTdCLEdBQ0FpUCxFQUFBOFQsYUFBQWxoQixF
QUFBN0IsR0FvQ0EsUUFBQTZqQixJQUFBN1gsRUFBQThYLEdBQ0EsR0FBQWppQixHQUFBbUssRUFB
QUcsS0FBQTRYLEdBQ0EsSUFBQWxpQixFQUFBLENBRUEsR0FBQXFELEdBQUE4RyxFQUFBTyxRQUNB
d1gsRUFBQS9YLEVBQUFvVixtQkFBQXBWLEVBQUFNLElBQ0EwWCxFQUFBOWUsRUFBQXNOLEtBQ0Fz
UixHQUNBamhCLE1BQUFhLFFBQUFzZ0IsRUFBQW5pQixJQUNBUCxFQUFBMGlCLEVBQUFuaUIsR0FB
QWtpQixHQUNLQyxFQUFBbmlCLEtBQUFraUIsSUFDTEMsRUFBQW5pQixPQUFBekMsSUFHQTRNLEVB
QUFHLEtBQUE4WCxTQUNBcGhCLE1BQUFhLFFBQUFzZ0IsRUFBQW5pQixJQUVPbWlCLEVBQUFuaUIs
R0FBQUgsUUFBQXFpQixHQUFBLEdBRVBDLEVBQUFuaUIsR0FBQW1FLEtBQUErZCxHQUhBQyxFQUFB
bmlCLElBQUFraUIsR0FNQUMsRUFBQW5pQixHQUFBa2lCLEdBdUJBLFFBQUFHLElBQUE3aEIsRUFB
QWUsR0FDQSxNQUNBZixHQUFBUixNQUFBdUIsRUFBQXZCLE1BRUFRLEVBQUE2SixNQUFBOUksRUFB
QThJLEtBQ0E3SixFQUFBdUssWUFBQXhKLEVBQUF3SixXQUNBdk4sRUFBQWdELEVBQUE4SixRQUFB
OU0sRUFBQStELEVBQUErSSxPQUNBZ1ksR0FBQTloQixFQUFBZSxJQUVBOUQsRUFBQStDLEVBQUEr
aEIscUJBQ0EvaEIsRUFBQW9LLGVBQUFySixFQUFBcUosY0FDQXZOLEVBQUFrRSxFQUFBcUosYUFB
QWpILFFBUUEsUUFBQTJlLElBQUE5aEIsRUFBQWUsR0FDQSxhQUFBZixFQUFBNkosSUFBMEIsUUFD
MUIsSUFBQS9LLEVBR0EsUUFGQTlCLEVBQUE4QixFQUFBa0IsRUFBQThKLE9BQUE5TSxFQUFBOEIs
SUFBQW9OLFFBQUFwTixFQUFBaUksU0FDQS9KLEVBQUE4QixFQUFBaUMsRUFBQStJLE9BQUE5TSxF
QUFBOEIsSUFBQW9OLFFBQUFwTixFQUFBaUksTUFJQSxRQUFBaWIsSUFBQWpZLEVBQUFrWSxFQUFB
QyxHQUNBLEdBQUFwakIsR0FBQVUsRUFDQWQsSUFDQSxLQUFBSSxFQUFBbWpCLEVBQW9CbmpCLEdB
QUFvakIsSUFBYXBqQixFQUNqQ1UsRUFBQXVLLEVBQUFqTCxHQUFBVSxJQUNBeEMsRUFBQXdDLEtB
QXFCZCxFQUFBYyxHQUFBVixFQUVyQixPQUFBSixHQWdtQkEsUUFBQXlqQixJQUFBQyxFQUFBelks
SUFDQXlZLEVBQUF0WSxLQUFBekMsWUFBQXNDLEVBQUFHLEtBQUF6QyxhQUNBNEosR0FBQW1SLEVB
QUF6WSxHQUlBLFFBQUFzSCxJQUFBbVIsRUFBQXpZLEdBQ0EsR0FRQW5LLEdBQUE2aUIsRUFBQUMs
RUFSQUMsRUFBQUgsSUFBQUksR0FDQUMsRUFBQTlZLElBQUE2WSxHQUNBRSxFQUFBQyxHQUFBUCxF
QUFBdFksS0FBQXpDLFdBQUErYSxFQUFBbFksU0FDQTBZLEVBQUFELEdBQUFoWixFQUFBRyxLQUFB
ekMsV0FBQXNDLEVBQUFPLFNBRUEyWSxLQUNBQyxJQUdBLEtBQUF0akIsSUFBQW9qQixHQUNBUCxF
QUFBSyxFQUFBbGpCLEdBQ0E4aUIsRUFBQU0sRUFBQXBqQixHQUNBNmlCLEdBUUFDLEVBQUFTLFNB
QUFWLEVBQUExbEIsTUFDQXFtQixHQUFBVixFQUFBLFNBQUEzWSxFQUFBeVksR0FDQUUsRUFBQXBn
QixLQUFBb2dCLEVBQUFwZ0IsSUFBQStnQixrQkFDQUgsRUFBQW5mLEtBQUEyZSxLQVRBVSxHQUFB
VixFQUFBLE9BQUEzWSxFQUFBeVksR0FDQUUsRUFBQXBnQixLQUFBb2dCLEVBQUFwZ0IsSUFBQWdo
QixVQUNBTCxFQUFBbGYsS0FBQTJlLEdBWUEsSUFBQU8sRUFBQTlqQixPQUFBLENBQ0EsR0FBQW9r
QixHQUFBLFdBQ0EsT0FBQXJrQixHQUFBLEVBQXFCQSxFQUFBK2pCLEVBQUE5akIsT0FBMkJELElB
Q2hEa2tCLEdBQUFILEVBQUEvakIsR0FBQSxXQUFBNkssRUFBQXlZLEdBR0FHLEdBQ0E1VyxHQUFB
aEMsRUFBQUcsS0FBQStCLE9BQUFsQyxFQUFBRyxLQUFBK0IsU0FBNkQsU0FBQXNYLEdBRTdEQSxJ
QVlBLEdBUkFMLEVBQUEvakIsUUFDQTRNLEdBQUFoQyxFQUFBRyxLQUFBK0IsT0FBQWxDLEVBQUFH
LEtBQUErQixTQUEyRCx1QkFDM0QsT0FBQS9NLEdBQUEsRUFBcUJBLEVBQUFna0IsRUFBQS9qQixP
QUE4QkQsSUFDbkRra0IsR0FBQUYsRUFBQWhrQixHQUFBLG1CQUFBNkssRUFBQXlZLE1BS0FHLEVB
Q0EsSUFBQS9pQixJQUFBa2pCLEdBQ0FFLEVBQUFwakIsSUFFQXdqQixHQUFBTixFQUFBbGpCLEdB
QUEsU0FBQTRpQixJQUFBSyxHQVFBLFFBQUFFLElBQ0F2YixFQUNBdkUsR0FFQSxHQUFBaEMsR0FB
QXBFLE9BQUFrQyxPQUFBLEtBQ0EsS0FBQXlJLEVBQ0EsTUFBQXZHLEVBRUEsSUFBQS9CLEdBQUF3
akIsQ0FDQSxLQUFBeGpCLEVBQUEsRUFBYUEsRUFBQXNJLEVBQUFySSxPQUFpQkQsSUFDOUJ3akIs
RUFBQWxiLEVBQUF0SSxHQUNBd2pCLEVBQUFjLFlBQ0FkLEVBQUFjLFVBQUFDLElBRUF4aUIsRUFB
QXlpQixHQUFBaEIsTUFDQUEsRUFBQXBnQixJQUFBK0YsRUFBQXBGLEVBQUFzRyxTQUFBLGFBQUFt
WixFQUFBemIsTUFBQSxFQUVBLE9BQUFoRyxHQUdBLFFBQUF5aUIsSUFBQWhCLEdBQ0EsTUFBQUEs
R0FBQWlCLFNBQUFqQixFQUFBLFNBQUE3bEIsT0FBQWlGLEtBQUE0Z0IsRUFBQWMsZUFBNEVJLEtB
QUEsS0FHNUUsUUFBQVIsSUFBQVYsRUFBQXpXLEVBQUFsQyxFQUFBeVksRUFBQUssR0FDQSxHQUFB
OWlCLEdBQUEyaUIsRUFBQXBnQixLQUFBb2dCLEVBQUFwZ0IsSUFBQTJKLEVBQ0EsSUFBQWxNLEVB
Q0EsSUFDQUEsRUFBQWdLLEVBQUFNLElBQUFxWSxFQUFBM1ksRUFBQXlZLEVBQUFLLEdBQ0ssTUFB
QWpoQixHQUNMbUIsRUFBQW5CLEVBQUFtSSxFQUFBTyxRQUFBLGFBQUFvWSxFQUFBLFNBQUF6VyxF
QUFBLFVBWUEsUUFBQTRYLElBQUFyQixFQUFBelksR0FDQSxHQUFBK0ssR0FBQS9LLEVBQUFRLGdC
QUNBLE1BQUFuTixFQUFBMFgsS0FBQSxJQUFBQSxFQUFBclIsS0FBQXNELFFBQUErYyxjQUdBN21C
LEVBQUF1bEIsRUFBQXRZLEtBQUFvQyxRQUFBclAsRUFBQThNLEVBQUFHLEtBQUFvQyxRQUFBLENB
R0EsR0FBQTFNLEdBQUE2TCxFQUNBcEIsRUFBQU4sRUFBQU0sSUFDQTBaLEVBQUF2QixFQUFBdFks
S0FBQW9DLFVBQ0FBLEVBQUF2QyxFQUFBRyxLQUFBb0MsU0FFQWxQLEdBQUFrUCxFQUFBN0gsVUFD
QTZILEVBQUF2QyxFQUFBRyxLQUFBb0MsTUFBQXpMLEtBQXdDeUwsR0FHeEMsS0FBQTFNLElBQUEw
TSxHQUNBYixFQUFBYSxFQUFBMU0sR0FDQW1rQixFQUFBbmtCLEtBQ0E2TCxHQUNBdVksR0FBQTNa
LEVBQUF6SyxFQUFBNkwsRUFLQXdZLEtBQUEzWCxFQUFBdlAsUUFBQWduQixFQUFBaG5CLE9BQ0Fp
bkIsR0FBQTNaLEVBQUEsUUFBQWlDLEVBQUF2UCxNQUVBLEtBQUE2QyxJQUFBbWtCLEdBQ0E5bUIs
RUFBQXFQLEVBQUExTSxNQUNBc2tCLEdBQUF0a0IsR0FDQXlLLEVBQUE4WixrQkFBQUMsR0FBQUMs
R0FBQXprQixJQUNPMGtCLEdBQUExa0IsSUFDUHlLLEVBQUFrYSxnQkFBQTNrQixLQU1BLFFBQUFv
a0IsSUFBQWpULEVBQUFuUixFQUFBN0MsR0FDQXluQixHQUFBNWtCLEdBR0E2a0IsR0FBQTFuQixH
QUNBZ1UsRUFBQXdULGdCQUFBM2tCLEdBRUFtUixFQUFBK1AsYUFBQWxoQixLQUVHMGtCLEdBQUEx
a0IsR0FDSG1SLEVBQUErUCxhQUFBbGhCLEVBQUE2a0IsR0FBQTFuQixJQUFBLFVBQUFBLEVBQUEs
Z0JBQ0dtbkIsR0FBQXRrQixHQUNINmtCLEdBQUExbkIsR0FDQWdVLEVBQUFvVCxrQkFBQUMsR0FB
QUMsR0FBQXprQixJQUVBbVIsRUFBQTJULGVBQUFOLEdBQUF4a0IsRUFBQTdDLEdBR0EwbkIsR0FB
QTFuQixHQUNBZ1UsRUFBQXdULGdCQUFBM2tCLEdBRUFtUixFQUFBK1AsYUFBQWxoQixFQUFBN0Ms
R0FZQSxRQUFBNG5CLElBQUFuQyxFQUFBelksR0FDQSxHQUFBZ0gsR0FBQWhILEVBQUFNLElBQ0FI
LEVBQUFILEVBQUFHLEtBQ0EwYSxFQUFBcEMsRUFBQXRZLElBQ0EsTUFDQWpOLEVBQUFpTixFQUFB
d1YsY0FDQXppQixFQUFBaU4sRUFBQXlWLFNBQ0ExaUIsRUFBQTJuQixJQUNBM25CLEVBQUEybkIs
RUFBQWxGLGNBQ0F6aUIsRUFBQTJuQixFQUFBakYsU0FMQSxDQVlBLEdBQUFrRixHQUFBeEYsR0FB
QXRWLEdBR0ErYSxFQUFBL1QsRUFBQWdVLGtCQUNBM25CLEdBQUEwbkIsS0FDQUQsRUFBQWplLEdB
QUFpZSxFQUFBaEYsR0FBQWlGLEtBSUFELElBQUE5VCxFQUFBaVUsYUFDQWpVLEVBQUErUCxhQUFB
LFFBQUErRCxHQUNBOVQsRUFBQWlVLFdBQUFILElBYUEsUUFBQUksSUFBQUMsR0FvRUEsUUFBQUMs
TUFDQUMsV0FBQXJoQixLQUFBbWhCLEVBQUEvWixNQUFBa2EsRUFBQW5tQixHQUFBb21CLFFBQ0FE
LEVBQUFubUIsRUFBQSxFQXJFQSxHQVFBa0MsR0FBQW1rQixFQUFBcm1CLEVBQUFzbUIsRUFBQUos
RUFSQUssR0FBQSxFQUNBQyxHQUFBLEVBQ0FDLEdBQUEsRUFDQUMsR0FBQSxFQUNBQyxFQUFBLEVB
Q0FDLEVBQUEsRUFDQUMsRUFBQSxFQUNBVixFQUFBLENBR0EsS0FBQW5tQixFQUFBLEVBQWFBLEVB
QUFnbUIsRUFBQS9sQixPQUFnQkQsSUFHN0IsR0FGQXFtQixFQUFBbmtCLEVBQ0FBLEVBQUE4akIs
RUFBQTdpQixXQUFBbkQsR0FDQXVtQixFQUNBLEtBQUFya0IsR0FBQSxLQUFBbWtCLElBQXdDRSxH
QUFBLE9BQ25DLElBQUFDLEVBQ0wsS0FBQXRrQixHQUFBLEtBQUFta0IsSUFBd0NHLEdBQUEsT0FD
bkMsSUFBQUMsRUFDTCxLQUFBdmtCLEdBQUEsS0FBQW1rQixJQUF3Q0ksR0FBQSxPQUNuQyxJQUFB
QyxFQUNMLEtBQUF4a0IsR0FBQSxLQUFBbWtCLElBQXdDSyxHQUFBLE9BQ25DLElBQ0wsTUFBQXhr
QixHQUNBLE1BQUE4akIsRUFBQTdpQixXQUFBbkQsRUFBQSxJQUNBLE1BQUFnbUIsRUFBQTdpQixX
QUFBbkQsRUFBQSxJQUNBMm1CLEdBQUFDLEdBQUFDLEVBU0ssQ0FDTCxPQUFBM2tCLEdBQ0EsUUFB
QXNrQixHQUFBLENBQW1DLE1BQ25DLFNBQUFELEdBQUEsQ0FBbUMsTUFDbkMsU0FBQUUsR0FBQSxD
QUEyQyxNQUMzQyxTQUFBSSxHQUEyQixNQUMzQixTQUFBQSxHQUEyQixNQUMzQixTQUFBRCxHQUE0
QixNQUM1QixTQUFBQSxHQUE0QixNQUM1QixVQUFBRCxHQUEyQixNQUMzQixVQUFBQSxJQUVBLFFB
QUF6a0IsRUFBQSxDQUlBLElBSEEsR0FBQXlSLEdBQUEzVCxFQUFBLEVBQ0E4bUIsTUFBQSxHQUVj
blQsR0FBQSxHQUVkLE9BREFtVCxFQUFBZCxFQUFBZSxPQUFBcFQsSUFEc0JBLEtBSXRCbVQsR0FB
QUUsR0FBQXJqQixLQUFBbWpCLEtBQ0FKLEdBQUEsYUE1QkF6b0IsS0FBQXFvQixHQUVBSCxFQUFB
bm1CLEVBQUEsRUFDQXNtQixFQUFBTixFQUFBL1osTUFBQSxFQUFBak0sR0FBQW9tQixRQUVBSCxH
QXdDQSxRQVhBaG9CLEtBQUFxb0IsRUFDQUEsRUFBQU4sRUFBQS9aLE1BQUEsRUFBQWpNLEdBQUFv
bUIsT0FDRyxJQUFBRCxHQUNIRixJQVFBQyxFQUNBLElBQUFsbUIsRUFBQSxFQUFlQSxFQUFBa21C
LEVBQUFqbUIsT0FBb0JELElBQ25Dc21CLEVBQUFXLEdBQUFYLEVBQUFKLEVBQUFsbUIsR0FJQSxP
QUFBc21CLEdBR0EsUUFBQVcsSUFBQWpCLEVBQUFsRyxHQUNBLEdBQUE5ZixHQUFBOGYsRUFBQXZm
LFFBQUEsSUFDQSxPQUFBUCxHQUFBLEVBRUEsT0FBQThmLEVBQUEsTUFBQWtHLEVBQUEsSUFJQSxP
QUZBbEcsRUFBQTdULE1BQUEsRUFBQWpNLEdBRUEsTUFBQWdtQixFQUFBLElBREFsRyxFQUFBN1Qs
TUFBQWpNLEVBQUEsR0FPQSxRQUFBa25CLElBQUFDLEdBQ0EvaUIsUUFBQUMsTUFBQSxtQkFBQThp
QixHQUdBLFFBQUFDLElBQ0FDLEVBQ0EzbUIsR0FFQSxNQUFBMm1CLEdBQ0FBLEVBQUF6bkIsSUFB
QSxTQUFBMG5CLEdBQWdDLE1BQUFBLEdBQUE1bUIsS0FBaUJvZixPQUFBLFNBQUF5SCxHQUF1QixN
QUFBQSxRQUl4RSxRQUFBQyxJQUFBM1YsRUFBQTlKLEVBQUFsSyxJQUNBZ1UsRUFBQS9KLFFBQUEr
SixFQUFBL0osV0FBQWpELE1BQXNDa0QsT0FBQWxLLFVBR3RDLFFBQUE0cEIsSUFBQTVWLEVBQUE5
SixFQUFBbEssSUFDQWdVLEVBQUF6RSxRQUFBeUUsRUFBQXpFLFdBQUF2SSxNQUFzQ2tELE9BQUFs
SyxVQUd0QyxRQUFBNnBCLElBQ0E3VixFQUNBOUosRUFDQTBjLEVBQ0E1bUIsRUFDQThwQixFQUNB
ckQsSUFFQXpTLEVBQUF0SixhQUFBc0osRUFBQXRKLGdCQUFBMUQsTUFBZ0RrRCxPQUFBMGMsVUFB
QTVtQixRQUFBOHBCLE1BQUFyRCxjQUdoRCxRQUFBc0QsSUFDQS9WLEVBQ0E5SixFQUNBbEssRUFD
QXltQixFQUNBdUQsRUFDQUMsR0FjQXhELEtBQUEzWCxnQkFDQTJYLEdBQUEzWCxRQUNBNUUsRUFB
QSxJQUFBQSxHQUVBdWMsS0FBQXZoQixhQUNBdWhCLEdBQUF2aEIsS0FDQWdGLEVBQUEsSUFBQUEs
R0FHQXVjLEtBQUExWCxnQkFDQTBYLEdBQUExWCxRQUNBN0UsRUFBQSxJQUFBQSxFQUVBLElBQUFn
Z0IsRUFDQXpELE1BQUEwRCxjQUNBMUQsR0FBQTBELE9BQ0FELEVBQUFsVyxFQUFBb1csZUFBQXBX
LEVBQUFvVyxrQkFFQUYsRUFBQWxXLEVBQUFrVyxTQUFBbFcsRUFBQWtXLFVBRUEsSUFBQUcsSUFB
b0JycUIsUUFBQXltQixhQUNwQjVRLEVBQUFxVSxFQUFBaGdCLEVBRUFyRyxPQUFBYSxRQUFBbVIs
R0FDQW1VLEVBQUFuVSxFQUFBK0ssUUFBQXlKLEdBQUF4VSxFQUFBN08sS0FBQXFqQixHQUVBSCxF
QUFBaGdCLEdBREcyTCxFQUNIbVUsR0FBQUssRUFBQXhVLE1BQUF3VSxHQUVBQSxFQUlBLFFBQUFD
LElBQ0F0VyxFQUNBOUosRUFDQXFnQixHQUVBLEdBQUFDLEdBQ0FDLEdBQUF6VyxFQUFBLElBQUE5
SixJQUNBdWdCLEdBQUF6VyxFQUFBLFVBQUE5SixFQUNBLFVBQUFzZ0IsRUFDQSxNQUFBdEMsSUFB
QXNDLEVBQ0csU0FBQUQsRUFBQSxDQUNILEdBQUFHLEdBQUFELEdBQUF6VyxFQUFBOUosRUFDQSxV
QUFBd2dCLEVBQ0EsTUFBQW5wQixNQUFBQyxVQUFBa3BCLElBS0EsUUFBQUQsSUFBQXpXLEVBQUE5
SixHQUNBLEdBQUFsSixFQUNBLFdBQUFBLEVBQUFnVCxFQUFBMlcsU0FBQXpnQixJQUVBLE9BREFq
SSxHQUFBK1IsRUFBQTRXLFVBQ0F6b0IsRUFBQSxFQUFBbUIsRUFBQXJCLEVBQUFHLE9BQW9DRCxF
QUFBbUIsRUFBT25CLElBQzNDLEdBQUFGLEVBQUFFLEdBQUErSCxTQUFBLENBQ0FqSSxFQUFBVSxP
QUFBUixFQUFBLEVBQ0EsT0FJQSxNQUFBbkIsR0FRQSxRQUFBNnBCLElBQ0E3VyxFQUNBaFUsRUFD
QXltQixHQUVBLEdBQUExQixHQUFBMEIsTUFDQXFFLEVBQUEvRixFQUFBK0YsT0FDQXZDLEVBQUF4
RCxFQUFBd0QsS0FHQXdDLEVBREEsS0FFQXhDLEtBQ0F3QyxFQUNBLDhDQUlBRCxJQUNBQyxFQUFB
LE1BQUFBLEVBQUEsSUFFQSxJQUFBQyxHQUFBQyxHQUFBanJCLEVBQUErcUIsRUFFQS9XLEdBQUFp
SCxPQUNBamIsTUFBQSxJQUFBQSxFQUFBLElBQ0F5b0IsV0FBQSxJQUFBem9CLEVBQUEsSUFDQXVj
LFNBQUEsbUJBQXdEeU8sRUFBQSxLQU94RCxRQUFBQyxJQUNBanJCLEVBQ0FnckIsR0FFQSxHQUFB
RSxHQUFBQyxHQUFBbnJCLEVBQ0EsZUFBQWtyQixFQUFBRSxJQUNBcHJCLEVBQUEsSUFBQWdyQixF
QUVBLFFBQUFFLEVBQUEsU0FBQUEsRUFBQSxTQUFBRixFQUFBLElBeUJBLFFBQUFHLElBQUFucUIs
R0FLQSxHQUpBYSxHQUFBYixFQUNBNEwsR0FBQS9LLEdBQUFPLE9BQ0FpcEIsR0FBQUMsR0FBQUMs
R0FBQSxFQUVBdnFCLEVBQUEwQixRQUFBLFFBQUExQixFQUFBd3FCLFlBQUEsS0FBQTVlLEdBQUEs
RUFDQSxPQUNBdWIsSUFBQW5uQixFQUNBb3FCLElBQUEsS0FJQSxPQUFBSyxNQUNBQyxHQUFBQyxL
QUVBQyxHQUFBRixJQUNBRyxHQUFBSCxJQUNLLEtBQUFBLElBQ0xJLEdBQUFKLEdBSUEsUUFDQXZE
LElBQUFubkIsRUFBQStxQixVQUFBLEVBQUFULElBQ0FGLElBQUFwcUIsRUFBQStxQixVQUFBVCxH
QUFBLEVBQUFDLEtBSUEsUUFBQUksTUFDQSxNQUFBOXBCLElBQUF5RCxhQUFBK2xCLElBR0EsUUFB
QUksTUFDQSxNQUFBSixLQUFBemUsR0FHQSxRQUFBZ2YsSUFBQUYsR0FDQSxZQUFBQSxHQUFBLEtB
QUFBLEVBR0EsUUFBQUksSUFBQUosR0FDQSxHQUFBTSxHQUFBLENBRUEsS0FEQVYsR0FBQUQsSUFD
QUksTUFFQSxHQURBQyxFQUFBQyxLQUNBQyxHQUFBRixHQUNBRyxHQUFBSCxPQUtBLElBRkEsS0FB
QUEsR0FBdUJNLElBQ3ZCLEtBQUFOLEdBQXVCTSxJQUN2QixJQUFBQSxFQUFBLENBQ0FULEdBQUFG
LEVBQ0EsUUFLQSxRQUFBUSxJQUFBSCxHQUVBLElBREEsR0FBQU8sR0FBQVAsR0FDQUQsT0FDQUMs
RUFBQUMsUUFDQU0sS0FlQSxRQUFBaFIsSUFDQWpILEVBQ0EyUixFQUNBdUcsR0FFQUMsR0FBQUQs
Q0FDQSxJQUFBbHNCLEdBQUEybEIsRUFBQTNsQixNQUNBeW1CLEVBQUFkLEVBQUFjLFVBQ0F2WixF
QUFBOEcsRUFBQTlHLElBQ0E5QyxFQUFBNEosRUFBQTJXLFNBQUF2Z0IsSUFvQkEsSUFBQTRKLEVB
QUFyQyxVQUdBLE1BRkFrWixJQUFBN1csRUFBQWhVLEVBQUF5bUIsSUFFQSxDQUNHLGVBQUF2WixF
QUNIa2YsR0FBQXBZLEVBQUFoVSxFQUFBeW1CLE9BQ0csY0FBQXZaLEdBQUEsYUFBQTlDLEVBQ0hp
aUIsR0FBQXJZLEVBQUFoVSxFQUFBeW1CLE9BQ0csY0FBQXZaLEdBQUEsVUFBQTlDLEVBQ0hraUIs
R0FBQXRZLEVBQUFoVSxFQUFBeW1CLE9BQ0csY0FBQXZaLEdBQUEsYUFBQUEsRUFDSHFmLEdBQUF2
WSxFQUFBaFUsRUFBQXltQixPQUNHLEtBQUFyZ0IsR0FBQTJXLGNBQUE3UCxHQUdILE1BRkEyZCxJ
QUFBN1csRUFBQWhVLEVBQUF5bUIsSUFFQSxDQVdBLFVBR0EsUUFBQTRGLElBQ0FyWSxFQUNBaFUs
RUFDQXltQixHQUVBLEdBQUFxRSxHQUFBckUsS0FBQXFFLE9BQ0EwQixFQUFBbEMsR0FBQXRXLEVB
QUEsaUJBQ0F5WSxFQUFBbkMsR0FBQXRXLEVBQUEsc0JBQ0EwWSxFQUFBcEMsR0FBQXRXLEVBQUEs
dUJBQ0EyVixJQUFBM1YsRUFBQSxVQUNBLGlCQUFBaFUsRUFBQSxRQUNBQSxFQUFBLElBQUF3c0Is
RUFBQSxRQUNBLFNBQUFDLEVBQ0EsS0FBQXpzQixFQUFBLElBQ0EsT0FBQUEsRUFBQSxJQUFBeXNC
LEVBQUEsTUFHQTFDLEdBQUEvVixFQUFBMlksR0FDQSxXQUFBM3NCLEVBQUEseUNBRUF5c0IsRUFB
QSxNQUFBQyxFQUFBLHFDQUVBNUIsRUFBQSxNQUFBMEIsRUFBQSxJQUFBQSxHQUFBLDZDQUV3Qnhz
QixFQUFBLG1DQUNaQSxFQUFBLHFEQUNEaXJCLEdBQUFqckIsRUFBQSxXQUNYLFNBSUEsUUFBQXNz
QixJQUNBdFksRUFDQWhVLEVBQ0F5bUIsR0FFQSxHQUFBcUUsR0FBQXJFLEtBQUFxRSxPQUNBMEIs
RUFBQWxDLEdBQUF0VyxFQUFBLGdCQUNBd1ksR0FBQTFCLEVBQUEsTUFBQTBCLEVBQUEsSUFBQUEs
RUFDQTdDLEdBQUEzVixFQUFBLGdCQUFBaFUsRUFBQSxJQUFBd3NCLEVBQUEsS0FDQXpDLEdBQUEv
VixFQUFBMlksR0FBQTFCLEdBQUFqckIsRUFBQXdzQixHQUFBLFNBR0EsUUFBQUosSUFDQXBZLEVB
Q0FoVSxFQUNBeW1CLEdBRUEsR0FBQXFFLEdBQUFyRSxLQUFBcUUsT0FDQThCLEVBQUEsMEpBR0E5
QixFQUFBLHNCQUdBK0IsRUFBQSx1QkFBQUQsRUFBQSxHQUNBQyxLQUFBLElBQUE1QixHQUFBanJC
LEVBRkEsNkRBR0ErcEIsR0FBQS9WLEVBQUEsU0FBQTZZLEVBQUEsU0FHQSxRQUFBTixJQUNBdlks
RUFDQWhVLEVBQ0F5bUIsR0FFQSxHQUFBcmMsR0FBQTRKLEVBQUEyVyxTQUFBdmdCLEtBQ0EyYSxF
QUFBMEIsTUFDQXFHLEVBQUEvSCxFQUFBK0gsS0FDQWhDLEVBQUEvRixFQUFBK0YsT0FDQXZDLEVB
QUF4RCxFQUFBd0QsS0FDQXdFLEdBQUFELEdBQUEsVUFBQTFpQixFQUNBd0UsRUFBQWtlLEVBQ0Es
U0FDQSxVQUFBMWlCLEVBQ0E0aUIsR0FDQSxRQUVBakMsRUFBQSxxQkFDQXhDLEtBQ0F3QyxFQUFB
LDhCQUVBRCxJQUNBQyxFQUFBLE1BQUFBLEVBQUEsSUFHQSxJQUFBOEIsR0FBQTVCLEdBQUFqckIs
RUFBQStxQixFQUNBZ0MsS0FDQUYsRUFBQSxxQ0FBOENBLEdBRzlDbEQsR0FBQTNWLEVBQUEsWUFB
QWhVLEVBQUEsS0FDQStwQixHQUFBL1YsRUFBQXBGLEVBQUFpZSxFQUFBLFVBQ0F0RSxHQUFBdUMs
SUFDQWYsR0FBQS9WLEVBQUEseUJBVUEsUUFBQWlaLElBQUEzZSxHQUNBLEdBQUFNLEVBRUF2TyxH
QUFBaU8sRUFBQTBlLE9BRUFwZSxFQUFBc2UsR0FBQSxpQkFDQTVlLEVBQUFNLE1BQUEvRSxPQUFB
eUUsRUFBQTBlLElBQUExZSxFQUFBTSxjQUNBTixHQUFBMGUsS0FFQTNzQixFQUFBaU8sRUFBQXFl
LE9BRUEvZCxFQUFBdWUsR0FBQSxpQkFDQTdlLEVBQUFNLE1BQUEvRSxPQUFBeUUsRUFBQXFlLElB
QUFyZSxFQUFBTSxjQUNBTixHQUFBcWUsS0FNQSxRQUFBUyxJQUNBeGUsRUFDQXlLLEVBQ0EvRyxF
QUNBeEQsRUFDQUMsR0FFQSxHQUFBdUQsRUFBQSxDQUNBLEdBQUErYSxHQUFBaFUsRUFDQXpTLEVB
QUEwbUIsRUFDQWpVLEdBQUEsU0FBQWtVLEdBSUEsUUFIQSxJQUFBaHFCLFVBQUFuQixPQUNBaXJC
LEVBQUFFLEdBQ0FGLEVBQUE3cEIsTUFBQSxLQUFBRCxhQUVBaXFCLEdBQUE1ZSxFQUFBeUssRUFB
QXZLLEVBQUFsSSxJQUlBMG1CLEdBQUFHLGlCQUNBN2UsRUFDQXlLLEVBQ0FxVSxJQUNTNWUsVUFB
QUMsV0FDVEQsR0FJQSxRQUFBMGUsSUFDQTVlLEVBQ0F5SyxFQUNBdkssRUFDQWxJLElBRUFBLEdB
QUEwbUIsSUFBQUssb0JBQUEvZSxFQUFBeUssRUFBQXZLLEdBR0EsUUFBQThlLElBQUFuSSxFQUFB
elksR0FDQSxJQUFBOU0sRUFBQXVsQixFQUFBdFksS0FBQW1CLE1BQUFwTyxFQUFBOE0sRUFBQUcs
S0FBQW1CLElBQUEsQ0FHQSxHQUFBQSxHQUFBdEIsRUFBQUcsS0FBQW1CLE9BQ0FDLEVBQUFrWCxF
QUFBdFksS0FBQW1CLE1BQ0FnZixJQUFBdGdCLEVBQUFNLElBQ0EyZixHQUFBM2UsR0FDQUQsR0FB
QUMsRUFBQUMsRUFBQTZlLEdBQUFJLEdBQUF4Z0IsRUFBQU8sVUFVQSxRQUFBc2dCLElBQUFwSSxF
QUFBelksR0FDQSxJQUFBOU0sRUFBQXVsQixFQUFBdFksS0FBQWdSLFlBQUFqZSxFQUFBOE0sRUFB
QUcsS0FBQWdSLFVBQUEsQ0FHQSxHQUFBdGIsR0FBQTZMLEVBQ0FwQixFQUFBTixFQUFBTSxJQUNB
d2dCLEVBQUFySSxFQUFBdFksS0FBQWdSLGFBQ0FsVSxFQUFBK0MsRUFBQUcsS0FBQWdSLFlBRUE5
ZCxHQUFBNEosRUFBQXZDLFVBQ0F1QyxFQUFBK0MsRUFBQUcsS0FBQWdSLFNBQUFyYSxLQUEyQ21H
LEdBRzNDLEtBQUFwSCxJQUFBaXJCLEdBQ0E1dEIsRUFBQStKLEVBQUFwSCxNQUNBeUssRUFBQXpL
LEdBQUEsR0FHQSxLQUFBQSxJQUFBb0gsR0FLQSxHQUpBeUUsRUFBQXpFLEVBQUFwSCxHQUlBLGdC
QUFBQSxHQUFBLGNBQUFBLElBQ0FtSyxFQUFBSSxXQUEyQkosRUFBQUksU0FBQWhMLE9BQUEsR0FD
M0JzTSxJQUFBb2YsRUFBQWpyQixJQUdBLGFBQUFBLEVBQUEsQ0FHQXlLLEVBQUF5Z0IsT0FBQXJm
LENBRUEsSUFBQXNmLEdBQUE5dEIsRUFBQXdPLEdBQUEsR0FBQWpOLE9BQUFpTixFQUNBdWYsSUFB
QTNnQixFQUFBTixFQUFBZ2hCLEtBQ0ExZ0IsRUFBQXROLE1BQUFndUIsT0FHQTFnQixHQUFBekss
R0FBQTZMLEdBUUEsUUFBQXVmLElBQ0EzZ0IsRUFDQU4sRUFDQWtoQixHQUVBLE9BQUE1Z0IsRUFB
QTZnQixZQUNBLFdBQUFuaEIsRUFBQUUsS0FDQWtoQixHQUFBOWdCLEVBQUE0Z0IsSUFDQUcsR0FB
QS9nQixFQUFBNGdCLElBSUEsUUFBQUUsSUFBQTlnQixFQUFBNGdCLEdBR0EsR0FBQUksSUFBQSxD
QUdBLEtBQU9BLEVBQUFqTCxTQUFBa0wsZ0JBQUFqaEIsRUFBK0MsTUFBQXpJLElBQ3RELE1BQUF5
cEIsSUFBQWhoQixFQUFBdE4sUUFBQWt1QixFQUdBLFFBQUFHLElBQUEvZ0IsRUFBQXZFLEdBQ0Es
R0FBQS9JLEdBQUFzTixFQUFBdE4sTUFDQXltQixFQUFBblosRUFBQWtoQixXQUNBLE9BQUFudUIs
R0FBQW9tQixNQUFBcUUsT0FDQXBwQixFQUFBMUIsS0FBQTBCLEVBQUFxSCxHQUVBMUksRUFBQW9t
QixNQUFBOEIsS0FDQXZvQixFQUFBdW9CLFNBQUF4ZixFQUFBd2YsT0FFQXZvQixJQUFBK0ksRUF3
QkEsUUFBQTBsQixJQUFBdGhCLEdBQ0EsR0FBQXVoQixHQUFBQyxHQUFBeGhCLEVBQUF1aEIsTUFH
QSxPQUFBdmhCLEdBQUF5aEIsWUFDQTlxQixFQUFBcUosRUFBQXloQixZQUFBRixHQUNBQSxFQUlB
LFFBQUFDLElBQUFFLEdBQ0EsTUFBQWhyQixPQUFBYSxRQUFBbXFCLEdBQ0E1cUIsRUFBQTRxQixH
QUVBLGdCQUFBQSxHQUNBQyxHQUFBRCxHQUVBQSxFQU9BLFFBQUFFLElBQUEvaEIsRUFBQWdpQixH
QUNBLEdBQ0FDLEdBREEvcUIsSUFHQSxJQUFBOHFCLEVBRUEsSUFEQSxHQUFBeE0sR0FBQXhWLEVB
Q0F3VixFQUFBSixtQkFDQUksSUFBQUosa0JBQUFqTixPQUNBcU4sRUFBQXJWLE9BQUE4aEIsRUFB
QVIsR0FBQWpNLEVBQUFyVixRQUNBckosRUFBQUksRUFBQStxQixJQUtBQSxFQUFBUixHQUFBemhC
LEVBQUFHLFFBQ0FySixFQUFBSSxFQUFBK3FCLEVBSUEsS0FEQSxHQUFBMU0sR0FBQXZWLEVBQ0F1
VixJQUFBMVgsUUFDQTBYLEVBQUFwVixPQUFBOGhCLEVBQUFSLEdBQUFsTSxFQUFBcFYsUUFDQXJK
LEVBQUFJLEVBQUErcUIsRUFHQSxPQUFBL3FCLEdBOENBLFFBQUFnckIsSUFBQXpKLEVBQUF6WSxH
QUNBLEdBQUFHLEdBQUFILEVBQUFHLEtBQ0EwYSxFQUFBcEMsRUFBQXRZLElBRUEsTUFBQWpOLEVB
QUFpTixFQUFBeWhCLGNBQUExdUIsRUFBQWlOLEVBQUF1aEIsUUFDQXh1QixFQUFBMm5CLEVBQUEr
RyxjQUFBMXVCLEVBQUEybkIsRUFBQTZHLFFBREEsQ0FNQSxHQUFBaGdCLEdBQUF4RSxFQUNBOEos
RUFBQWhILEVBQUFNLElBQ0E2aEIsRUFBQXRILEVBQUErRyxZQUNBUSxFQUFBdkgsRUFBQXdILGlC
QUFBeEgsRUFBQTZHLFVBR0FZLEVBQUFILEdBQUFDLEVBRUFWLEVBQUFDLEdBQUEzaEIsRUFBQUcs
S0FBQXVoQixVQUtBMWhCLEdBQUFHLEtBQUFraUIsZ0JBQUFodkIsRUFBQXF1QixFQUFBaG5CLFFB
Q0E1RCxLQUFlNHFCLEdBQ2ZBLENBRUEsSUFBQWEsR0FBQVIsR0FBQS9oQixHQUFBLEVBRUEsS0FB
QTlDLElBQUFvbEIsR0FDQXB2QixFQUFBcXZCLEVBQUFybEIsS0FDQXNsQixHQUFBeGIsRUFBQTlK
LEVBQUEsR0FHQSxLQUFBQSxJQUFBcWxCLElBQ0E3Z0IsRUFBQTZnQixFQUFBcmxCLE1BQ0FvbEIs
RUFBQXBsQixJQUVBc2xCLEdBQUF4YixFQUFBOUosRUFBQSxNQUFBd0UsRUFBQSxHQUFBQSxJQWdC
QSxRQUFBK2dCLElBQUF6YixFQUFBOFQsR0FFQSxHQUFBQSxRQUFBUyxRQUtBLEdBQUF2VSxFQUFB
MGIsVUFDQTVILEVBQUFwbEIsUUFBQSxRQUNBb2xCLEVBQUE1bEIsTUFBQSxPQUFBNlgsUUFBQSxT
QUFBMVYsR0FBNkMsTUFBQTJQLEdBQUEwYixVQUFBbGhCLElBQUFuSyxLQUU3QzJQLEVBQUEwYixV
QUFBbGhCLElBQUFzWixPQUVHLENBQ0gsR0FBQXBaLEdBQUEsS0FBQXNGLEVBQUEyYixhQUFBLGlC
QUNBamhCLEdBQUFoTSxRQUFBLElBQUFvbEIsRUFBQSxRQUNBOVQsRUFBQStQLGFBQUEsU0FBQXJW
LEVBQUFvWixHQUFBUyxTQVNBLFFBQUFxSCxJQUFBNWIsRUFBQThULEdBRUEsR0FBQUEsUUFBQVMs
UUFLQSxHQUFBdlUsRUFBQTBiLFVBQ0E1SCxFQUFBcGxCLFFBQUEsUUFDQW9sQixFQUFBNWxCLE1B
QUEsT0FBQTZYLFFBQUEsU0FBQTFWLEdBQTZDLE1BQUEyUCxHQUFBMGIsVUFBQXB0QixPQUFBK0Is
S0FFN0MyUCxFQUFBMGIsVUFBQXB0QixPQUFBd2xCLEdBRUE5VCxFQUFBMGIsVUFBQXR0QixRQUNB
NFIsRUFBQXdULGdCQUFBLGFBRUcsQ0FHSCxJQUZBLEdBQUE5WSxHQUFBLEtBQUFzRixFQUFBMmIs
YUFBQSxrQkFDQUUsRUFBQSxJQUFBL0gsRUFBQSxJQUNBcFosRUFBQWhNLFFBQUFtdEIsSUFBQSxH
QUNBbmhCLElBQUFvaEIsUUFBQUQsRUFBQSxJQUVBbmhCLEtBQUE2WixPQUNBN1osRUFDQXNGLEVB
QUErUCxhQUFBLFFBQUFyVixHQUVBc0YsRUFBQXdULGdCQUFBLFVBT0EsUUFBQXVJLElBQUFDLEdB
Q0EsR0FBQUEsRUFBQSxDQUlBLG1CQUFBQSxHQUFBLENBQ0EsR0FBQTlyQixLQUtBLFFBSkEsSUFB
QThyQixFQUFBQyxLQUNBbnNCLEVBQUFJLEVBQUFnc0IsR0FBQUYsRUFBQTlsQixNQUFBLE1BRUFw
RyxFQUFBSSxFQUFBOHJCLEdBQ0E5ckIsRUFDRyxzQkFBQThyQixHQUNIRSxHQUFBRixPQURHLElB
OENILFFBQUFHLElBQUFudEIsR0FDQW90QixHQUFBLFdBQ0FBLEdBQUFwdEIsS0FJQSxRQUFBcXRC
LElBQUFyYyxFQUFBOFQsR0FDQSxHQUFBd0ksR0FBQXRjLEVBQUFnVSxxQkFBQWhVLEVBQUFnVSxz
QkFDQXNJLEdBQUE1dEIsUUFBQW9sQixHQUFBLElBQ0F3SSxFQUFBdHBCLEtBQUE4Z0IsR0FDQTJI
LEdBQUF6YixFQUFBOFQsSUFJQSxRQUFBeUksSUFBQXZjLEVBQUE4VCxHQUNBOVQsRUFBQWdVLG9C
QUNBMWxCLEVBQUEwUixFQUFBZ1UsbUJBQUFGLEdBRUE4SCxHQUFBNWIsRUFBQThULEdBR0EsUUFB
QTBJLElBQ0F4YyxFQUNBeWMsRUFDQUMsR0FFQSxHQUFBM0wsR0FBQTRMLEdBQUEzYyxFQUFBeWMs
R0FDQXJtQixFQUFBMmEsRUFBQTNhLEtBQ0EwSCxFQUFBaVQsRUFBQWpULFFBQ0E4ZSxFQUFBN0ws
RUFBQTZMLFNBQ0EsS0FBQXhtQixFQUFjLE1BQUFzbUIsSUFDZCxJQUFBOWhCLEdBQUF4RSxJQUFB
eW1CLEdBQUFDLEdBQUFDLEdBQ0FDLEVBQUEsRUFDQUMsRUFBQSxXQUNBamQsRUFBQTJaLG9CQUFB
L2UsRUFBQXNpQixHQUNBUixLQUVBUSxFQUFBLFNBQUFyc0IsR0FDQUEsRUFBQWlDLFNBQUFrTixL
QUNBZ2QsR0FBQUosR0FDQUssSUFJQXBmLFlBQUEsV0FDQW1mLEVBQUFKLEdBQ0FLLEtBRUduZixF
QUFBLEdBQ0hrQyxFQUFBeVosaUJBQUE3ZSxFQUFBc2lCLEdBS0EsUUFBQVAsSUFBQTNjLEVBQUF5
YyxHQUNBLEdBUUFybUIsR0FSQSttQixFQUFBN04sT0FBQThOLGlCQUFBcGQsR0FDQXFkLEVBQUFG
LEVBQUFHLEdBQUEsU0FBQXB2QixNQUFBLE1BQ0FxdkIsRUFBQUosRUFBQUcsR0FBQSxZQUFBcHZC
LE1BQUEsTUFDQXN2QixFQUFBQyxHQUFBSixFQUFBRSxHQUNBRyxFQUFBUCxFQUFBUSxHQUFBLFNB
QUF6dkIsTUFBQSxNQUNBMHZCLEVBQUFULEVBQUFRLEdBQUEsWUFBQXp2QixNQUFBLE1BQ0EydkIs
RUFBQUosR0FBQUMsRUFBQUUsR0FHQTlmLEVBQUEsRUFDQThlLEVBQUEsQ0E4QkEsT0E1QkFILEtB
QUFJLEdBQ0FXLEVBQUEsSUFDQXBuQixFQUFBeW1CLEdBQ0EvZSxFQUFBMGYsRUFDQVosRUFBQVcs
RUFBQW52QixRQUVHcXVCLElBQUFxQixHQUNIRCxFQUFBLElBQ0F6bkIsRUFBQTBuQixHQUNBaGdC
LEVBQUErZixFQUNBakIsRUFBQWdCLEVBQUF4dkIsU0FHQTBQLEVBQUEzUSxLQUFBOEgsSUFBQXVv
QixFQUFBSyxHQUNBem5CLEVBQUEwSCxFQUFBLEVBQ0EwZixFQUFBSyxFQUNBaEIsR0FDQWlCLEdB
Q0EsS0FDQWxCLEVBQUF4bUIsRUFDQUEsSUFBQXltQixHQUNBVSxFQUFBbnZCLE9BQ0F3dkIsRUFB
QXh2QixPQUNBLElBTUFnSSxPQUNBMEgsVUFDQThlLFlBQ0FtQixhQU5BM25CLElBQUF5bUIsSUFD
QW1CLEdBQUFsc0IsS0FBQXFyQixFQUFBRyxHQUFBLGNBU0EsUUFBQUcsSUFBQVEsRUFBQUMsR0FF
QSxLQUFBRCxFQUFBN3ZCLE9BQUE4dkIsRUFBQTl2QixRQUNBNnZCLElBQUFwb0IsT0FBQW9vQixF
QUdBLE9BQUE5d0IsTUFBQThILElBQUF6RixNQUFBLEtBQUEwdUIsRUFBQW53QixJQUFBLFNBQUEw
WSxFQUFBdFksR0FDQSxNQUFBZ3dCLElBQUExWCxHQUFBMFgsR0FBQUYsRUFBQTl2QixPQUlBLFFB
QUFnd0IsSUFBQUMsR0FDQSxXQUFBQyxPQUFBRCxFQUFBaGtCLE1BQUEsT0FLQSxRQUFBa2tCLElB
QUF0bEIsRUFBQXVsQixHQUNBLEdBQUF2ZSxHQUFBaEgsRUFBQU0sR0FHQWpOLEdBQUEyVCxFQUFB
d2UsWUFDQXhlLEVBQUF3ZSxTQUFBQyxXQUFBLEVBQ0F6ZSxFQUFBd2UsV0FHQSxJQUFBcmxCLEdB
QUE0aUIsR0FBQS9pQixFQUFBRyxLQUFBdWxCLFdBQ0EsS0FBQXh5QixFQUFBaU4sS0FLQTlNLEVB
QUEyVCxFQUFBMmUsV0FBQSxJQUFBM2UsRUFBQTRlLFNBQUEsQ0E0QkEsSUF4QkEsR0FBQTNDLEdB
QUE5aUIsRUFBQThpQixJQUNBN2xCLEVBQUErQyxFQUFBL0MsS0FDQXlvQixFQUFBMWxCLEVBQUEw
bEIsV0FDQUMsRUFBQTNsQixFQUFBMmxCLGFBQ0FDLEVBQUE1bEIsRUFBQTRsQixpQkFDQUMsRUFB
QTdsQixFQUFBNmxCLFlBQ0FDLEVBQUE5bEIsRUFBQThsQixjQUNBQyxFQUFBL2xCLEVBQUErbEIs
a0JBQ0FDLEVBQUFobUIsRUFBQWdtQixZQUNBYixFQUFBbmxCLEVBQUFtbEIsTUFDQWMsRUFBQWpt
QixFQUFBaW1CLFdBQ0FDLEVBQUFsbUIsRUFBQWttQixlQUNBQyxFQUFBbm1CLEVBQUFtbUIsYUFD
QUMsRUFBQXBtQixFQUFBb21CLE9BQ0FDLEVBQUFybUIsRUFBQXFtQixZQUNBQyxFQUFBdG1CLEVB
QUFzbUIsZ0JBQ0FDLEVBQUF2bUIsRUFBQXVtQixTQU1Bbm1CLEVBQUFvbUIsR0FDQUMsRUFBQUQs
R0FBQWxmLE9BQ0FtZixLQUFBL29CLFFBQ0Erb0IsSUFBQS9vQixPQUNBMEMsRUFBQXFtQixFQUFB
cm1CLE9BR0EsSUFBQXNtQixJQUFBdG1CLEVBQUFxRyxhQUFBNUcsRUFBQThtQixZQUVBLEtBQUFE
LEdBQUFOLEdBQUEsS0FBQUEsRUFBQSxDQUlBLEdBQUFRLEdBQUFGLEdBQUFiLEVBQ0FBLEVBQ0FI
LEVBQ0FtQixFQUFBSCxHQUFBWCxFQUNBQSxFQUNBSCxFQUNBa0IsRUFBQUosR0FBQVosRUFDQUEs
RUFDQUgsRUFFQW9CLEVBQUFMLEVBQ0FQLEdBQUFILEVBQ0FBLEVBQ0FnQixFQUFBTixHQUNBLGtC
QUFBTixLQUNBakIsRUFDQThCLEVBQUFQLEVBQ0FMLEdBQUFKLEVBQ0FBLEVBQ0FpQixFQUFBUixF
QUNBSixHQUFBSixFQUNBQSxFQUVBaUIsRUFBQTV5QixFQUNBakIsRUFBQWl6QixHQUNBQSxFQUFB
cEIsTUFDQW9CLEdBT0FhLEdBQUEsSUFBQXRFLElBQUEvSSxHQUNBc04sRUFBQUMsR0FBQU4sR0FF
QXpELEVBQUExYyxFQUFBMmUsU0FBQXp0QixFQUFBLFdBQ0FxdkIsSUFDQWhFLEdBQUF2YyxFQUFB
aWdCLEdBQ0ExRCxHQUFBdmMsRUFBQWdnQixJQUVBdEQsRUFBQStCLFdBQ0E4QixHQUNBaEUsR0FB
QXZjLEVBQUErZixHQUVBTSxLQUFBcmdCLElBRUFvZ0IsS0FBQXBnQixHQUVBQSxFQUFBMmUsU0FB
QSxNQUdBM2xCLEdBQUFHLEtBQUF1bkIsTUFFQTFsQixHQUFBaEMsRUFBQUcsS0FBQStCLE9BQUFs
QyxFQUFBRyxLQUFBK0IsU0FBMkQsb0JBQzNELEdBQUFyRSxHQUFBbUosRUFBQXVPLFdBQ0FvUyxF
QUFBOXBCLEtBQUErcEIsVUFBQS9wQixFQUFBK3BCLFNBQUE1bkIsRUFBQW5LLElBQ0E4eEIsSUFD
QUEsRUFBQXpuQixNQUFBRixFQUFBRSxLQUNBeW5CLEVBQUFybkIsSUFBQWtsQixVQUVBbUMsRUFB
QXJuQixJQUFBa2xCLFdBRUEyQixLQUFBbmdCLEVBQUEwYyxLQUtBd0QsS0FBQWxnQixHQUNBdWdC
LElBQ0FsRSxHQUFBcmMsRUFBQStmLEdBQ0ExRCxHQUFBcmMsRUFBQWdnQixHQUNBN0QsR0FBQSxX
QUNBRSxHQUFBcmMsRUFBQWlnQixHQUNBMUQsR0FBQXZjLEVBQUErZixHQUNBckQsRUFBQStCLFdB
QUErQixJQUNBSyxHQUFBUCxHQUNBemlCLFdBQUE2ZSxFQUFBNEQsR0FFQTlELEdBQUF4YyxFQUFB
NUosRUFBQXNtQixPQU1BMWpCLEVBQUFHLEtBQUF1bkIsT0FDQW5DLE9BQ0E0QixLQUFBbmdCLEVB
QUEwYyxJQUdBNkQsR0FBQUMsR0FDQTlELE1BSUEsUUFBQW9FLElBQUE5bkIsRUFBQStuQixHQXNF
QSxRQUFBQyxLQUVBdEUsRUFBQStCLFlBSUF6bEIsRUFBQUcsS0FBQXVuQixRQUNBMWdCLEVBQUF1
TyxXQUFBcVMsV0FBQTVnQixFQUFBdU8sV0FBQXFTLGNBQTZENW5CLEVBQUEsS0FBQUEsR0FFN0Rp
b0IsS0FBQWpoQixHQUNBdWdCLElBQ0FsRSxHQUFBcmMsRUFBQWtoQixHQUNBN0UsR0FBQXJjLEVB
QUFtaEIsR0FDQWhGLEdBQUEsV0FDQUUsR0FBQXJjLEVBQUFvaEIsR0FDQTdFLEdBQUF2YyxFQUFB
a2hCLEdBQ0F4RSxFQUFBK0IsV0FBQStCLElBQ0FLLEdBQUFRLEdBQ0F4akIsV0FBQTZlLEVBQUEy
RSxHQUVBN0UsR0FBQXhjLEVBQUE1SixFQUFBc21CLE9BS0FvRSxLQUFBOWdCLEVBQUEwYyxHQUNB
NkQsR0FBQUMsR0FDQTlELEtBaEdBLEdBQUExYyxHQUFBaEgsRUFBQU0sR0FHQWpOLEdBQUEyVCxF
QUFBMmUsWUFDQTNlLEVBQUEyZSxTQUFBRixXQUFBLEVBQ0F6ZSxFQUFBMmUsV0FHQSxJQUFBeGxC
LEdBQUE0aUIsR0FBQS9pQixFQUFBRyxLQUFBdWxCLFdBQ0EsSUFBQXh5QixFQUFBaU4sR0FDQSxN
QUFBNG5CLElBSUEsS0FBQTEwQixFQUFBMlQsRUFBQXdlLFdBQUEsSUFBQXhlLEVBQUE0ZSxTQUFB
LENBSUEsR0FBQTNDLEdBQUE5aUIsRUFBQThpQixJQUNBN2xCLEVBQUErQyxFQUFBL0MsS0FDQThx
QixFQUFBL25CLEVBQUErbkIsV0FDQUUsRUFBQWpvQixFQUFBaW9CLGFBQ0FELEVBQUFob0IsRUFB
QWdvQixpQkFDQUYsRUFBQTluQixFQUFBOG5CLFlBQ0FILEVBQUEzbkIsRUFBQTJuQixNQUNBUSxF
QUFBbm9CLEVBQUFtb0IsV0FDQUMsRUFBQXBvQixFQUFBb29CLGVBQ0FDLEVBQUFyb0IsRUFBQXFv
QixXQUNBOUIsRUFBQXZtQixFQUFBdW1CLFNBRUFhLEdBQUEsSUFBQXRFLElBQUEvSSxHQUNBc04s
RUFBQUMsR0FBQUssR0FFQU8sRUFBQTN6QixFQUNBakIsRUFBQWl6QixHQUNBQSxFQUFBb0IsTUFD
QXBCLEdBT0FoRCxFQUFBMWMsRUFBQXdlLFNBQUF0dEIsRUFBQSxXQUNBOE8sRUFBQXVPLFlBQUF2
TyxFQUFBdU8sV0FBQXFTLFdBQ0E1Z0IsRUFBQXVPLFdBQUFxUyxTQUFBNW5CLEVBQUFuSyxLQUFB
LE1BRUEweEIsSUFDQWhFLEdBQUF2YyxFQUFBb2hCLEdBQ0E3RSxHQUFBdmMsRUFBQW1oQixJQUVB
ekUsRUFBQStCLFdBQ0E4QixHQUNBaEUsR0FBQXZjLEVBQUFraEIsR0FFQUssS0FBQXZoQixLQUVB
K2dCLElBQ0FPLEtBQUF0aEIsSUFFQUEsRUFBQXdlLFNBQUEsTUFHQWdELEdBQ0FBLEVBQUFSLEdB
RUFBLEtBb0RBLFFBQUFILElBQUE3ekIsR0FDQSxzQkFBQUEsS0FBQVcsTUFBQVgsR0FTQSxRQUFB
eXpCLElBQUF6eEIsR0FDQSxHQUFBOUMsRUFBQThDLEdBQ0EsUUFFQSxJQUFBeXlCLEdBQUF6eUIs
RUFBQWlMLEdBQ0EsT0FBQTVOLEdBQUFvMUIsR0FFQWhCLEdBQ0E1d0IsTUFBQWEsUUFBQSt3QixH
QUNBQSxFQUFBLEdBQ0FBLElBR0F6eUIsRUFBQVMsU0FBQVQsRUFBQVosUUFBQSxFQUlBLFFBQUFz
ekIsSUFBQWhNLEVBQUExYyxJQUNBLElBQUFBLEVBQUFHLEtBQUF1bkIsTUFDQXBDLEdBQUF0bEIs
R0FtR0EsUUFBQTJvQixJQUFBM2hCLEVBQUE0aEIsRUFBQTF2QixHQUNBLEdBQUFsRyxHQUFBNDFC
LEVBQUE1MUIsTUFDQTYxQixFQUFBN2hCLEVBQUE4UCxRQUNBLEtBQUErUixHQUFBaHlCLE1BQUFh
LFFBQUExRSxHQUFBLENBU0EsT0FEQTBqQixHQUFBb1MsRUFDQTN6QixFQUFBLEVBQUFtQixFQUFB
MFEsRUFBQWhLLFFBQUE1SCxPQUF3Q0QsRUFBQW1CLEVBQU9uQixJQUUvQyxHQURBMnpCLEVBQUE5
aEIsRUFBQWhLLFFBQUE3SCxHQUNBMHpCLEVBQ0FuUyxFQUFBemUsRUFBQWpGLEVBQUErMUIsR0FB
QUQsS0FBQSxFQUNBQSxFQUFBcFMsZUFDQW9TLEVBQUFwUyxnQkFHQSxJQUFBcGYsRUFBQXl4QixH
QUFBRCxHQUFBOTFCLEdBSUEsWUFIQWdVLEVBQUFnaUIsZ0JBQUE3ekIsSUFDQTZSLEVBQUFnaUIs
Y0FBQTd6QixHQU1BMHpCLEtBQ0E3aEIsRUFBQWdpQixlQUFBLElBSUEsUUFBQUQsSUFBQUQsR0FD
QSxnQkFBQUEsR0FDQUEsRUFBQS9ILE9BQ0ErSCxFQUFBOTFCLE1BR0EsUUFBQWkyQixJQUFBcHhC
LEdBQ0FBLEVBQUFpQyxPQUFBcW5CLFdBQUEsRUFHQSxRQUFBK0gsSUFBQXJ4QixHQUVBQSxFQUFB
aUMsT0FBQXFuQixZQUNBdHBCLEVBQUFpQyxPQUFBcW5CLFdBQUEsRUFDQWdJLEdBQUF0eEIsRUFB
QWlDLE9BQUEsVUFHQSxRQUFBcXZCLElBQUFuaUIsRUFBQTVKLEdBQ0EsR0FBQXZGLEdBQUF3ZSxT
QUFBK1MsWUFBQSxhQUNBdnhCLEdBQUF3eEIsVUFBQWpzQixHQUFBLE1BQ0E0SixFQUFBc2lCLGNB
QUF6eEIsR0FNQSxRQUFBMHhCLElBQUF2cEIsR0FDQSxPQUFBQSxFQUFBb1YsbUJBQUFwVixFQUFB
RyxNQUFBSCxFQUFBRyxLQUFBdWxCLFdBRUExbEIsRUFEQXVwQixHQUFBdnBCLEVBQUFvVixrQkFB
QWpOLFFBeUZBLFFBQUFxaEIsSUFBQXhwQixHQUNBLEdBQUF5cEIsR0FBQXpwQixLQUFBUSxnQkFD
QSxPQUFBaXBCLE1BQUEvdkIsS0FBQXNELFFBQUFvSixTQUNBb2pCLEdBQUF6a0IsR0FBQTBrQixF
QUFBcnBCLFdBRUFKLEVBSUEsUUFBQTBwQixJQUFBcG1CLEdBQ0EsR0FBQW5ELE1BQ0FuRCxFQUFB
c0csRUFBQTlELFFBRUEsUUFBQTNKLEtBQUFtSCxHQUFBK0IsVUFDQW9CLEVBQUF0SyxHQUFBeU4s
RUFBQXpOLEVBSUEsSUFBQXNQLEdBQUFuSSxFQUFBb0ksZ0JBQ0EsUUFBQXVrQixLQUFBeGtCLEdB
Q0FoRixFQUFBaEQsR0FBQXdzQixJQUFBeGtCLEVBQUF3a0IsRUFFQSxPQUFBeHBCLEdBR0EsUUFB
QXlwQixJQUFBcGMsRUFBQXFjLEdBQ0Esb0JBQUEvd0IsS0FBQSt3QixFQUFBM3BCLEtBQ0EsTUFB
QXNOLEdBQUEsY0FDQXZRLE1BQUE0c0IsRUFBQXJwQixpQkFBQXpCLFlBS0EsUUFBQStxQixJQUFB
OXBCLEdBQ0EsS0FBQUEsSUFBQW5DLFFBQ0EsR0FBQW1DLEVBQUFHLEtBQUF1bEIsV0FDQSxTQUtB
LFFBQUFxRSxJQUFBanNCLEVBQUFrc0IsR0FDQSxNQUFBQSxHQUFBbjBCLE1BQUFpSSxFQUFBakks
S0FBQW0wQixFQUFBOXBCLE1BQUFwQyxFQUFBb0MsSUFHQSxRQUFBa1ksSUFBQW5WLEdBQ0EsTUFB
QUEsR0FBQXJDLFdBQUFxQyxFQUFBeEMsYUFvUUEsUUFBQXdwQixJQUFBNXlCLEdBRUFBLEVBQUFp
SixJQUFBNHBCLFNBQ0E3eUIsRUFBQWlKLElBQUE0cEIsVUFHQTd5QixFQUFBaUosSUFBQXFsQixV
QUNBdHVCLEVBQUFpSixJQUFBcWxCLFdBSUEsUUFBQXdFLElBQUE5eUIsR0FDQUEsRUFBQThJLEtB
QUFpcUIsT0FBQS95QixFQUFBaUosSUFBQStwQix3QkFHQSxRQUFBQyxJQUFBanpCLEdBQ0EsR0FB
QWt6QixHQUFBbHpCLEVBQUE4SSxLQUFBcXFCLElBQ0FKLEVBQUEveUIsRUFBQThJLEtBQUFpcUIs
T0FDQUssRUFBQUYsRUFBQUcsS0FBQU4sRUFBQU0sS0FDQUMsRUFBQUosRUFBQUssSUFBQVIsRUFB
QVEsR0FDQSxJQUFBSCxHQUFBRSxFQUFBLENBQ0F0ekIsRUFBQThJLEtBQUEwcUIsT0FBQSxDQUNB
LElBQUF6RixHQUFBL3RCLEVBQUFpSixJQUFBb2hCLEtBQ0EwRCxHQUFBMEYsVUFBQTFGLEVBQUEy
RixnQkFBQSxhQUFBTixFQUFBLE1BQUFFLEVBQUEsTUFDQXZGLEVBQUE0RixtQkFBQSxNQW1GQSxR
QUFBQyxJQUNBNXFCLEVBQ0E2cUIsR0FFQSxHQUFBQyxHQUFBRCxFQUFBRSxHQUFBRixHQUFBRyxF
QUNBLElBQUFGLEVBQUFyeUIsS0FBQXVILEdBQUEsQ0FNQSxJQUhBLEdBRUFWLEdBQUFsSyxFQUZB
NjFCLEtBQ0FDLEVBQUFKLEVBQUFJLFVBQUEsRUFFQTVyQixFQUFBd3JCLEVBQUFLLEtBQUFuckIs
SUFBQSxDQUNBNUssRUFBQWtLLEVBQUFsSyxNQUVBQSxFQUFBODFCLEdBQ0FELEVBQUF0eEIsS0FB
QXpGLEtBQUFDLFVBQUE2TCxFQUFBZSxNQUFBbXFCLEVBQUE5MUIsSUFHQSxJQUFBMGxCLEdBQUFE
LEdBQUF2YixFQUFBLEdBQUE0YixPQUNBK1AsR0FBQXR4QixLQUFBLE1BQUFtaEIsRUFBQSxLQUNB
b1EsRUFBQTkxQixFQUFBa0ssRUFBQSxHQUFBdkssT0FLQSxNQUhBbTJCLEdBQUFsckIsRUFBQWpM
LFFBQ0FrMkIsRUFBQXR4QixLQUFBekYsS0FBQUMsVUFBQTZMLEVBQUFlLE1BQUFtcUIsS0FFQUQs
RUFBQXpSLEtBQUEsTUFLQSxRQUFBNFIsSUFBQXprQixFQUFBaEssR0FDQSxHQUNBMlksSUFEQTNZ
LEVBQUFpZ0IsS0FDQVEsR0FBQXpXLEVBQUEsU0FZQTJPLEtBQ0EzTyxFQUFBMk8sWUFBQXBoQixL
QUFBQyxVQUFBbWhCLEdBRUEsSUFBQStWLEdBQUFwTyxHQUFBdFcsRUFBQSxXQUNBMGtCLEtBQ0Ex
a0IsRUFBQTBrQixnQkFJQSxRQUFBQyxJQUFBM2tCLEdBQ0EsR0FBQTdHLEdBQUEsRUFPQSxPQU5B
NkcsR0FBQTJPLGNBQ0F4VixHQUFBLGVBQUE2RyxFQUFBLGlCQUVBQSxFQUFBMGtCLGVBQ0F2ckIs
R0FBQSxTQUFBNkcsRUFBQSxrQkFFQTdHLEVBV0EsUUFBQXlyQixJQUFBNWtCLEVBQUFoSyxHQUNB
LEdBQ0E0a0IsSUFEQTVrQixFQUFBaWdCLEtBQ0FRLEdBQUF6VyxFQUFBLFNBQ0EsSUFBQTRhLEVB
QUEsQ0FhQTVhLEVBQUE0YSxZQUFBcnRCLEtBQUFDLFVBQUFzdEIsR0FBQUYsSUFHQSxHQUFBaUss
R0FBQXZPLEdBQUF0VyxFQUFBLFdBQ0E2a0IsS0FDQTdrQixFQUFBNmtCLGdCQUlBLFFBQUFDLElB
QUE5a0IsR0FDQSxHQUFBN0csR0FBQSxFQU9BLE9BTkE2RyxHQUFBNGEsY0FDQXpoQixHQUFBLGVB
QUE2RyxFQUFBLGlCQUVBQSxFQUFBNmtCLGVBQ0ExckIsR0FBQSxVQUFBNkcsRUFBQSxtQkFFQTdH
LEVBZ0JBLFFBQUFFLElBQUEyRyxFQUFBMlIsR0FDQUEsRUFBQTNsQixPQUNBMnBCLEdBQUEzVixF
QUFBLG9CQUFBMlIsRUFBQSxXQU1BLFFBQUFvVCxJQUFBL2tCLEVBQUEyUixHQUNBQSxFQUFBM2xC
LE9BQ0EycEIsR0FBQTNWLEVBQUEsa0JBQUEyUixFQUFBLFdBMEhBLFFBQUFxVCxJQUFBaDVCLEVB
QUFpNUIsR0FDQSxHQUFBQyxHQUFBRCxFQUFBRSxHQUFBQyxFQUNBLE9BQUFwNUIsR0FBQTh2QixR
QUFBb0osRUFBQSxTQUFBdnNCLEdBQTZDLE1BQUEwc0IsSUFBQTFzQixLQUc3QyxRQUFBMnNCLElB
QUFQLEVBQUEvdUIsR0E4SEEsUUFBQXV2QixHQUFBdDRCLEdBQ0F3QixHQUFBeEIsRUFDQTgzQixJ
QUFBaE4sVUFBQTlxQixHQXVFQSxRQUFBdTRCLEdBQUEzVixFQUFBbGdCLEVBQUFzdEIsR0FDQSxH
QUFBdUcsR0FBQWlDLENBU0EsSUFSQSxNQUFBOTFCLElBQXdCQSxFQUFBbEIsR0FDeEIsTUFBQXd1
QixJQUFzQkEsRUFBQXh1QixHQUV0Qm9oQixJQUNBNFYsRUFBQTVWLEVBQUF4aEIsZUFJQXdoQixF
QUNBLElBQUEyVCxFQUFBa0MsRUFBQXQzQixPQUFBLEVBQWtDbzFCLEdBQUEsR0FDbENrQyxFQUFB
bEMsR0FBQW1DLGdCQUFBRixFQUQ0Q2pDLFNBTzVDQSxHQUFBLENBR0EsSUFBQUEsR0FBQSxHQUVB
LE9BQUFyMUIsR0FBQXUzQixFQUFBdDNCLE9BQUEsRUFBb0NELEdBQUFxMUIsRUFBVXIxQixJQVM5
QzZILEVBQUFpbkIsS0FDQWpuQixFQUFBaW5CLElBQUF5SSxFQUFBdjNCLEdBQUErSyxJQUFBdkos
RUFBQXN0QixFQUtBeUksR0FBQXQzQixPQUFBbzFCLEVBQ0FvQyxFQUFBcEMsR0FBQWtDLEVBQUFs
QyxFQUFBLEdBQUF0cUIsUUFDSyxPQUFBdXNCLEVBQ0x6dkIsRUFBQXJHLE9BQ0FxRyxFQUFBckcs
TUFBQWtnQixNQUFBLEVBQUFsZ0IsRUFBQXN0QixHQUVLLE1BQUF3SSxJQUNMenZCLEVBQUFyRyxP
QUNBcUcsRUFBQXJHLE1BQUFrZ0IsTUFBQSxFQUFBbGdCLEVBQUFzdEIsR0FFQWpuQixFQUFBaW5C
LEtBQ0FqbkIsRUFBQWluQixJQUFBcE4sRUFBQWxnQixFQUFBc3RCLElBalBBLElBTkEsR0FLQTln
QixHQUFBeXBCLEVBTEFGLEtBQ0FHLEVBQUE3dkIsRUFBQTZ2QixXQUNBQyxFQUFBOXZCLEVBQUEr
dkIsWUFBQUMsR0FDQUMsRUFBQWp3QixFQUFBa3dCLGtCQUFBRixHQUNBdjNCLEVBQUEsRUFFQXMy
QixHQUFBLENBR0EsR0FGQTVvQixFQUFBNG9CLEVBRUFhLEdBQUFPLEdBQUFQLEdBZ0ZLLENBQ0ws
R0FBQVEsR0FBQSxFQUNBQyxFQUFBVCxFQUFBdjNCLGNBQ0FpNEIsRUFBQUMsR0FBQUYsS0FBQUUs
R0FBQUYsR0FBQSxHQUFBRyxRQUFBLGtCQUFBSCxFQUFBLGdCQUNBSSxFQUFBMUIsRUFBQWpKLFFB
QUF3SyxFQUFBLFNBQUFJLEVBQUFydEIsRUFBQXN0QixHQWFBLE1BWkFQLEdBQUFPLEVBQUF2NEIs
T0FDQSszQixHQUFBRSxJQUFBLGFBQUFBLElBQ0FodEIsSUFDQXlpQixRQUFBLDJCQUNBQSxRQUFB
LG1DQUVBOEssR0FBQVAsRUFBQWh0QixLQUNBQSxJQUFBZSxNQUFBLElBRUFwRSxFQUFBNndCLE9B
Q0E3d0IsRUFBQTZ3QixNQUFBeHRCLEdBRUEsSUFFQTVLLElBQUFzMkIsRUFBQTMyQixPQUFBcTRC
LEVBQUFyNEIsT0FDQTIyQixFQUFBMEIsRUFDQWpCLEVBQUFhLEVBQUE1M0IsRUFBQTIzQixFQUFB
MzNCLE9BckdBLENBQ0EsR0FBQXE0QixHQUFBL0IsRUFBQXIyQixRQUFBLElBQ0EsUUFBQW80QixF
QUFBLENBRUEsR0FBQUMsR0FBQWoxQixLQUFBaXpCLEdBQUEsQ0FDQSxHQUFBaUMsR0FBQWpDLEVB
QUFyMkIsUUFBQSxTQUVBLElBQUFzNEIsR0FBQSxHQUNBaHhCLEVBQUFpeEIsbUJBQ0FqeEIsRUFB
QSt3QixRQUFBaEMsRUFBQWhOLFVBQUEsRUFBQWlQLElBRUF6QixFQUFBeUIsRUFBQSxFQUNBLFdB
S0EsR0FBQUUsR0FBQXAxQixLQUFBaXpCLEdBQUEsQ0FDQSxHQUFBb0MsR0FBQXBDLEVBQUFyMkIs
UUFBQSxLQUVBLElBQUF5NEIsR0FBQSxHQUNBNUIsRUFBQTRCLEVBQUEsRUFDQSxXQUtBLEdBQUFD
LEdBQUFyQyxFQUFBcHNCLE1BQUEwdUIsR0FDQSxJQUFBRCxFQUFBLENBQ0E3QixFQUFBNkIsRUFB
QSxHQUFBaDVCLE9BQ0EsVUFJQSxHQUFBazVCLEdBQUF2QyxFQUFBcHNCLE1BQUFndUIsR0FDQSxJ
QUFBVyxFQUFBLENBQ0EsR0FBQUMsR0FBQTk0QixDQUNBODJCLEdBQUErQixFQUFBLEdBQUFsNUIs
UUFDQW8zQixFQUFBOEIsRUFBQSxHQUFBQyxFQUFBOTRCLEVBQ0EsVUFJQSxHQUFBKzRCLEdBOEVB
LFdBQ0EsR0FBQTczQixHQUFBbzFCLEVBQUFwc0IsTUFBQTh1QixHQUNBLElBQUE5M0IsRUFBQSxD
QUNBLEdBQUFnSixJQUNBa1gsUUFBQWxnQixFQUFBLEdBQ0E0TCxTQUNBNUwsTUFBQWxCLEVBRUE4
MkIsR0FBQTUxQixFQUFBLEdBQUF2QixPQUVBLEtBREEsR0FBQTZ1QixHQUFBeUssSUFDQXpLLEVB
QUE4SCxFQUFBcHNCLE1BQUFndkIsT0FBQUQsRUFBQTNDLEVBQUFwc0IsTUFBQWl2QixNQUNBckMs
RUFBQW1DLEVBQUEsR0FBQXQ1QixRQUNBdUssRUFBQTRDLE1BQUF2SSxLQUFBMDBCLEVBRUEsSUFB
QXpLLEVBSUEsTUFIQXRrQixHQUFBa3ZCLFdBQUE1SyxFQUFBLEdBQ0FzSSxFQUFBdEksRUFBQSxH
QUFBN3VCLFFBQ0F1SyxFQUFBc2tCLElBQUF4dUIsRUFDQWtLLEtBL0ZBLElBQUE2dUIsRUFBQSxF
QW9HQSxTQUFBN3VCLEdBQ0EsR0FBQWtYLEdBQUFsWCxFQUFBa1gsUUFDQWdZLEVBQUFsdkIsRUFB
QWt2QixVQUVBaEMsS0FDQSxNQUFBRCxHQUFBa0MsR0FBQWpZLElBQ0EyVixFQUFBSSxHQUVBSyxF
QUFBcFcsSUFBQStWLElBQUEvVixHQUNBMlYsRUFBQTNWLEdBUUEsUUFKQWtZLEdBQUFqQyxFQUFB
alcsTUFBQWdZLEVBRUF2NEIsRUFBQXFKLEVBQUE0QyxNQUFBbk4sT0FDQW1OLEVBQUEsR0FBQTFM
LE9BQUFQLEdBQ0FuQixFQUFBLEVBQW1CQSxFQUFBbUIsRUFBT25CLElBQUEsQ0FDMUIsR0FBQXdl
LEdBQUFoVSxFQUFBNEMsTUFBQXBOLEVBRUE2NUIsTUFBQSxJQUFBcmIsRUFBQSxHQUFBamUsUUFB
QSxRQUNBLEtBQUFpZSxFQUFBLFVBQTZCQSxHQUFBLEdBQzdCLEtBQUFBLEVBQUEsVUFBNkJBLEdB
QUEsR0FDN0IsS0FBQUEsRUFBQSxVQUE2QkEsR0FBQSxHQUU3QixJQUFBM2dCLEdBQUEyZ0IsRUFB
QSxJQUFBQSxFQUFBLElBQUFBLEVBQUEsTUFDQXBSLEdBQUFwTixJQUNBK0gsS0FBQXlXLEVBQUEs
R0FDQTNnQixNQUFBZzVCLEdBQ0FoNUIsRUFDQWdLLEVBQUFpdkIsdUJBS0E4QyxJQUNBckMsRUFB
QTF5QixNQUFrQmtHLElBQUEyVyxFQUFBOFYsY0FBQTlWLEVBQUF4aEIsY0FBQWtOLFVBQ2xCcXFC
LEVBQUEvVixHQUdBN1osRUFBQXJHLE9BQ0FxRyxFQUFBckcsTUFBQWtnQixFQUFBdFUsRUFBQXdz
QixFQUFBcHZCLEVBQUFoSixNQUFBZ0osRUFBQXNrQixNQTVJQXVLLEdBQ0FaLEdBQUFoQixFQUFB
YixJQUNBUSxFQUFBLEVBRUEsV0FJQSxHQUFBbHNCLE9BQUEsR0FBQTR1QixNQUFBLEdBQUF0USxN
QUFBLEVBQ0EsSUFBQW1QLEdBQUEsR0FFQSxJQURBbUIsRUFBQWxELEVBQUEzcUIsTUFBQTBzQixL
QUVBSCxHQUFBNzBCLEtBQUFtMkIsSUFDQVIsR0FBQTMxQixLQUFBbTJCLElBQ0FsQixHQUFBajFC
LEtBQUFtMkIsSUFDQWYsR0FBQXAxQixLQUFBbTJCLEtBR0F0USxFQUFBc1EsRUFBQXY1QixRQUFB
LFFBQ0EsSUFDQW80QixHQUFBblAsRUFDQXNRLEVBQUFsRCxFQUFBM3FCLE1BQUEwc0IsRUFFQXp0
QixHQUFBMHJCLEVBQUFoTixVQUFBLEVBQUErTyxHQUNBdkIsRUFBQXVCLEdBR0FBLEVBQUEsSUFD
QXp0QixFQUFBMHJCLEVBQ0FBLEVBQUEsSUFHQS91QixFQUFBNndCLE9BQUF4dEIsR0FDQXJELEVB
QUE2d0IsTUFBQXh0QixHQTBCQSxHQUFBMHJCLElBQUE1b0IsRUFBQSxDQUNBbkcsRUFBQTZ3QixP
QUFBN3dCLEVBQUE2d0IsTUFBQTlCLEVBSUEsUUFLQVMsSUE0SkEsUUFBQTBDLElBQ0FDLEVBQ0Fu
eUIsR0E2QkEsUUFBQW95QixHQUFBQyxHQUVBQSxFQUFBQyxNQUNBQyxHQUFBLEdBRUFDLEdBQUFI
LEVBQUFudkIsT0FDQXV2QixHQUFBLEdBakNBQyxHQUFBMXlCLEVBQUFpZ0IsTUFBQVosR0FFQW1U
LEdBQUF4eUIsRUFBQTJ5QixVQUFBM0MsR0FDQTRDLEdBQUE1eUIsRUFBQWtVLGFBQUE4YixHQUNB
NkMsR0FBQTd5QixFQUFBOFMsaUJBQUFrZCxHQUVBOEMsR0FBQXZULEdBQUF2ZixFQUFBd2YsUUFB
QSxpQkFDQXVULEdBQUF4VCxHQUFBdmYsRUFBQXdmLFFBQUEsb0JBQ0F3VCxHQUFBelQsR0FBQXZm
LEVBQUF3ZixRQUFBLHFCQUVBME8sR0FBQWx1QixFQUFBa3VCLFVBRUEsSUFFQStFLEdBQ0FDLEVB
SEF4RCxLQUNBeUQsR0FBQSxJQUFBbnpCLEVBQUFtekIsbUJBR0FaLEdBQUEsRUFDQUUsR0FBQSxD
QTJOQSxPQXZNQW5ELElBQUE2QyxHQUNBbFMsS0FBQXlTLEdBQ0E3QyxXQUFBN3ZCLEVBQUE2dkIs
V0FDQUUsV0FBQS92QixFQUFBK3ZCLFdBQ0FHLGlCQUFBbHdCLEVBQUFrd0IsaUJBQ0FqQixxQkFB
QWp2QixFQUFBaXZCLHFCQUNBZ0Msa0JBQUFqeEIsRUFBQW96QixTQUNBejVCLE1BQUEsU0FBQXVK
LEVBQUFxQyxFQUFBd3NCLEdBR0EsR0FBQXJ1QixHQUFBd3ZCLEtBQUF4dkIsSUFBQW12QixHQUFB
M3ZCLEVBSUFnZ0IsS0FBQSxRQUFBeGYsSUFDQTZCLEVBQUE4dEIsR0FBQTl0QixHQUdBLElBQUE4
c0IsSUFDQWp5QixLQUFBLEVBQ0E4QyxNQUNBMGQsVUFBQXJiLEVBQ0FvYixTQUFBMlMsR0FBQS90
QixHQUNBMUUsT0FBQXF5QixFQUNBOXZCLFlBRUFNLEtBQ0EydUIsRUFBQTN1QixNQUdBNnZCLEdB
QUFsQixLQUFBdjBCLE9BQ0F1MEIsRUFBQW1CLFdBQUEsRUFTQSxRQUFBcjdCLEdBQUEsRUFBcUJB
LEVBQUE0NkIsR0FBQTM2QixPQUEwQkQsSUFDL0M0NkIsR0FBQTU2QixHQUFBazZCLEVBQUFyeUIs
RUFZQSxJQVRBdXlCLElBQ0FrQixHQUFBcEIsR0FDQUEsRUFBQUMsTUFDQUMsR0FBQSxJQUdBQyxH
QUFBSCxFQUFBbnZCLE9BQ0F1dkIsR0FBQSxHQUVBRixFQUNBbUIsR0FBQXJCLE9BQ08sQ0FDUHNC
LEdBQUF0QixHQUNBdUIsR0FBQXZCLEdBQ0F3QixHQUFBeEIsR0FDQXlCLEdBQUF6QixHQUlBQSxF
QUFBMEIsT0FBQTFCLEVBQUF4NUIsTUFBQTBNLEVBQUFuTixPQUVBNDdCLEdBQUEzQixHQUNBNEIs
R0FBQTVCLEdBQ0E2QixHQUFBN0IsRUFDQSxRQUFBOEIsR0FBQSxFQUF5QkEsRUFBQXJCLEdBQUEx
NkIsT0FBeUIrN0IsSUFDbERyQixHQUFBcUIsR0FBQTlCLEVBQUFyeUIsRUFFQW8wQixJQUFBL0Is
R0F3Q0EsR0FuQkFZLEVBR092RCxFQUFBdDNCLFFBRVA2NkIsRUFBQW9CLEtBQUFoQyxFQUFBaUMs
UUFBQWpDLEVBQUFrQyxPQUVBQyxHQUFBdkIsR0FDQTlVLElBQUFrVSxFQUFBaUMsT0FDQUcsTUFB
QXBDLElBUkFZLEVBQUFaLEVBa0JBYSxJQUFBYixFQUFBbUIsVUFDQSxHQUFBbkIsRUFBQWlDLFFB
QUFqQyxFQUFBa0MsS0FDQUcsR0FBQXJDLEVBQUFhLE9BQ1MsSUFBQWIsRUFBQXNDLFVBQUEsQ0FD
VHpCLEVBQUFhLE9BQUEsQ0FDQSxJQUFBN3pCLEdBQUFteUIsRUFBQXVDLFlBQUEsYUFBdUQxQixF
QUFBbm9CLGNBQUFtb0IsRUFBQW5vQixpQkFBNkQ3SyxHQUFBbXlCLE1BRXBIYSxHQUFBOXZCLFNB
QUFwRyxLQUFBcTFCLEdBQ0FBLEVBQUF4eEIsT0FBQXF5QixDQUdBbkIsR0FJQUssRUFBQUMsSUFI
QWEsRUFBQWIsRUFDQTNDLEVBQUExeUIsS0FBQXExQixHQUtBLFFBQUF3QyxHQUFBLEVBQXVCQSxF
QUFBN0IsR0FBQTU2QixPQUE2Qnk4QixJQUNwRDdCLEdBQUE2QixHQUFBeEMsRUFBQXJ5QixJQUlB
aW5CLElBQUEsV0FFQSxHQUFBb0wsR0FBQTNDLElBQUF0M0IsT0FBQSxHQUNBMDhCLEVBQUF6QyxF
QUFBanZCLFNBQUFpdkIsRUFBQWp2QixTQUFBaEwsT0FBQSxFQUNBMDhCLElBQUEsSUFBQUEsRUFB
QTEwQixNQUFBLE1BQUEwMEIsRUFBQXp4QixPQUFBb3ZCLEdBQ0FKLEVBQUFqdkIsU0FBQWxHLE1B
R0F3eUIsRUFBQXQzQixRQUFBLEVBQ0E4NkIsRUFBQXhELElBQUF0M0IsT0FBQSxHQUNBZzZCLEVB
QUFDLElBR0F4QixNQUFBLFNBQUF4dEIsR0FDQSxHQUFBNnZCLEtBZ0JBaFEsSUFDQSxhQUFBZ1Es
RUFBQWh3QixLQUNBZ3dCLEVBQUF2UyxTQUFBaU0sY0FBQXZwQixHQUZBLENBTUEsR0FBQUQsR0FB
QTh2QixFQUFBOXZCLFFBS0EsSUFKQUMsRUFBQW92QixHQUFBcHZCLEVBQUFrYixPQUNBd1csR0FB
QTdCLEdBQUE3dkIsRUFBQTJ4QixHQUFBM3hCLEdBRUE4dkIsR0FBQS92QixFQUFBaEwsT0FBQSxP
QUNBLENBQ0EsR0FBQXFtQixJQUNBOFQsR0FBQSxNQUFBbHZCLElBQUFvYixFQUFBd1AsR0FBQTVx
QixFQUFBNnFCLEtBQ0E5cUIsRUFBQXBHLE1BQ0FvRCxLQUFBLEVBQ0FxZSxhQUNBcGIsU0FFUyxN
QUFBQSxHQUFBRCxFQUFBaEwsUUFBQSxNQUFBZ0wsSUFBQWhMLE9BQUEsR0FBQWlMLE1BQ1RELEVB
QUFwRyxNQUNBb0QsS0FBQSxFQUNBaUQsWUFLQTB0QixRQUFBLFNBQUExdEIsR0FDQTZ2QixFQUFB
OXZCLFNBQUFwRyxNQUNBb0QsS0FBQSxFQUNBaUQsT0FDQU8sV0FBQSxPQUlBcXZCLEVBR0EsUUFB
QVEsSUFBQXpwQixHQUNBLE1BQUF5VyxHQUFBelcsRUFBQSxXQUNBQSxFQUFBc29CLEtBQUEsR0FJ
QSxRQUFBb0IsSUFBQTFwQixHQUNBLEdBQUExUSxHQUFBMFEsRUFBQTRXLFVBQUF4b0IsTUFDQSxJ
QUFBa0IsRUFFQSxPQURBaU0sR0FBQXlFLEVBQUF6RSxNQUFBLEdBQUExTCxPQUFBUCxHQUNBbkIs
RUFBQSxFQUFtQkEsRUFBQW1CLEVBQU9uQixJQUMxQm9OLEVBQUFwTixJQUNBK0gsS0FBQThKLEVB
QUE0VyxVQUFBem9CLEdBQUErSCxLQUNBbEssTUFBQXVCLEtBQUFDLFVBQUF3UyxFQUFBNFcsVUFB
QXpvQixHQUFBbkMsWUFHR2dVLEdBQUFzb0IsTUFFSHRvQixFQUFBK3BCLE9BQUEsR0FJQSxRQUFB
RCxJQUFBOXBCLEdBQ0EsR0FBQW1VLEdBQUFtQyxHQUFBdFcsRUFBQSxNQUNBbVUsS0FJQW5VLEVB
QUFuUixJQUFBc2xCLEdBSUEsUUFBQTZWLElBQUFocUIsR0FDQSxHQUFBK1EsR0FBQXVGLEdBQUF0
VyxFQUFBLE1BQ0ErUSxLQUNBL1EsRUFBQStRLE1BQ0EvUSxFQUFBaVIsU0FBQWdhLEdBQUFqckIs
SUFJQSxRQUFBMnBCLElBQUEzcEIsR0FDQSxHQUFBbVUsRUFDQSxJQUFBQSxFQUFBc0MsR0FBQXpX
LEVBQUEsVUFDQSxHQUFBa3JCLEdBQUEvVyxFQUFBeGIsTUFBQXd5QixHQUNBLEtBQUFELEVBSUEs
TUFFQWxyQixHQUFBb3JCLElBQUFGLEVBQUEsR0FBQTNXLE1BQ0EsSUFBQThXLEdBQUFILEVBQUEs
R0FBQTNXLE9BQ0ErVyxFQUFBRCxFQUFBMXlCLE1BQUE0eUIsR0FDQUQsSUFDQXRyQixFQUFBcXJC
LE1BQUFDLEVBQUEsR0FBQS9XLE9BQ0F2VSxFQUFBd3JCLFVBQUFGLEVBQUEsR0FBQS9XLE9BQ0Er
VyxFQUFBLEtBQ0F0ckIsRUFBQXlyQixVQUFBSCxFQUFBLEdBQUEvVyxTQUdBdlUsRUFBQXFyQixT
QUtBLFFBQUF6QixJQUFBNXBCLEdBQ0EsR0FBQW1VLEdBQUFzQyxHQUFBelcsRUFBQSxPQUNBLElB
QUFtVSxFQUNBblUsRUFBQXFxQixHQUFBbFcsRUFDQXFXLEdBQUF4cUIsR0FDQW1VLE1BQ0FzVyxN
QUFBenFCLFFBRUcsQ0FDSCxNQUFBeVcsR0FBQXpXLEVBQUEsWUFDQUEsRUFBQXVxQixNQUFBLEVB
RUEsSUFBQUQsR0FBQTdULEdBQUF6VyxFQUFBLFlBQ0FzcUIsS0FDQXRxQixFQUFBc3FCLFdBS0Es
UUFBQUksSUFBQTFxQixFQUFBbkosR0FDQSxHQUFBMmQsR0FBQWtYLEdBQUE3MEIsRUFBQXVDLFNB
Q0FvYixNQUFBNlYsSUFDQUcsR0FBQWhXLEdBQ0FMLElBQUFuVSxFQUFBc3FCLE9BQ0FHLE1BQUF6
cUIsSUFVQSxRQUFBMHJCLElBQUF0eUIsR0FFQSxJQURBLEdBQUFqTCxHQUFBaUwsRUFBQWhMLE9B
Q0FELEtBQUEsQ0FDQSxPQUFBaUwsRUFBQWpMLEdBQUFpSSxLQUNBLE1BQUFnRCxHQUFBakwsRUFR
QWlMLEdBQUFsRyxPQUtBLFFBQUFzM0IsSUFBQXhxQixFQUFBMnJCLEdBQ0EzckIsRUFBQTRyQixl
QUNBNXJCLEVBQUE0ckIsaUJBRUE1ckIsRUFBQTRyQixhQUFBNTRCLEtBQUEyNEIsR0FHQSxRQUFB
OUIsSUFBQTdwQixHQUVBLE1BREF5VyxHQUFBelcsRUFBQSxZQUVBQSxFQUFBOU8sTUFBQSxHQUlB
LFFBQUErNEIsSUFBQWpxQixHQUNBLFlBQUFBLEVBQUE5RyxJQUNBOEcsRUFBQTZyQixTQUFBdlYs
R0FBQXRXLEVBQUEsWUFRRyxDQUNILEdBQUE0cUIsR0FBQXRVLEdBQUF0VyxFQUFBLE9BQ0E0cUIs
S0FDQTVxQixFQUFBNHFCLFdBQUEsT0FBQUEsRUFBQSxZQUFBQSxHQUVBLGFBQUE1cUIsRUFBQTlH
LE1BQ0E4RyxFQUFBMnFCLFVBQUFsVSxHQUFBelcsRUFBQSxXQUtBLFFBQUFrcUIsSUFBQWxxQixH
QUNBLEdBQUE0aEIsSUFDQUEsRUFBQXRMLEdBQUF0VyxFQUFBLFNBQ0FBLEVBQUFyQyxVQUFBaWtC
LEdBRUEsTUFBQW5MLEdBQUF6VyxFQUFBLHFCQUNBQSxFQUFBOEgsZ0JBQUEsR0FJQSxRQUFBc2lC
LElBQUFwcUIsR0FDQSxHQUNBN1IsR0FBQW1CLEVBQUE0RyxFQUFBMGMsRUFBQTVtQixFQUFBeW1C
LEVBQUFxWixFQURBNzlCLEVBQUErUixFQUFBNFcsU0FFQSxLQUFBem9CLEVBQUEsRUFBQW1CLEVB
QUFyQixFQUFBRyxPQUE4QkQsRUFBQW1CLEVBQU9uQixJQUdyQyxHQUZBK0gsRUFBQTBjLEVBQUEz
a0IsRUFBQUUsR0FBQStILEtBQ0FsSyxFQUFBaUMsRUFBQUUsR0FBQW5DLE1BQ0ErL0IsR0FBQWo2
QixLQUFBb0UsR0FRQSxHQU5BOEosRUFBQWdzQixhQUFBLEVBRUF2WixFQUFBd1osR0FBQS8xQixH
QUNBdWMsSUFDQXZjLElBQUE0bEIsUUFBQW9RLEdBQUEsS0FFQUMsR0FBQXI2QixLQUFBb0UsR0FD
QUEsSUFBQTRsQixRQUFBcVEsR0FBQSxJQUNBbmdDLEVBQUFrb0IsR0FBQWxvQixHQUNBOC9CLEdB
QUEsRUFDQXJaLElBQ0FBLEVBQUF6YSxPQUNBOHpCLEdBQUEsRUFFQSxlQURBNTFCLEVBQUFDLEdB
QUFELE1BQ3VDQSxFQUFBLGNBRXZDdWMsRUFBQTJaLFFBQ0FsMkIsRUFBQUMsR0FBQUQsSUFFQXVj
LEVBQUFyVixNQUNBMlksR0FDQS9WLEVBQ0EsVUFBQTdKLEdBQUFELEdBQ0ErZ0IsR0FBQWpyQixF
QUFBLFlBSUE4L0IsSUFDQTlyQixFQUFBckMsV0FBQWlyQixHQUFBNW9CLEVBQUE5RyxJQUFBOEcs
RUFBQTJXLFNBQUF2Z0IsS0FBQUYsR0FFQXlmLEdBQUEzVixFQUFBOUosRUFBQWxLLEdBRUE0cEIs
R0FBQTVWLEVBQUE5SixFQUFBbEssT0FFTyxJQUFBcWdDLEdBQUF2NkIsS0FBQW9FLEdBQ1BBLElB
QUE0bEIsUUFBQXVRLEdBQUEsSUFDQXRXLEdBQUEvVixFQUFBOUosRUFBQWxLLEVBQUF5bUIsR0FB
QSxFQUFBaVcsUUFDTyxDQUNQeHlCLElBQUE0bEIsUUFBQWlRLEdBQUEsR0FFQSxJQUFBTyxHQUFB
cDJCLEVBQUF5QyxNQUFBNHpCLElBQ0F6VyxFQUFBd1csS0FBQSxFQUNBeFcsS0FDQTVmLElBQUFr
RSxNQUFBLElBQUEwYixFQUFBMW5CLE9BQUEsS0FFQXluQixHQUFBN1YsRUFBQTlKLEVBQUEwYyxF
QUFBNW1CLEVBQUE4cEIsRUFBQXJELE9BS0ssQ0FhTG1ELEdBQUE1VixFQUFBOUosRUFBQTNJLEtB
QUFDLFVBQUF4QixLQUtBLFFBQUFpL0IsSUFBQWpyQixHQUVBLElBREEsR0FBQW5KLEdBQUFtSixF
QUNBbkosR0FBQSxDQUNBLE9BQUF6SyxLQUFBeUssRUFBQXUwQixJQUNBLFFBRUF2MEIsWUFFQSxT
QUdBLFFBQUFvMUIsSUFBQS8xQixHQUNBLEdBQUF5QyxHQUFBekMsRUFBQXlDLE1BQUF1ekIsR0FD
QSxJQUFBdnpCLEVBQUEsQ0FDQSxHQUFBL0ksS0FFQSxPQURBK0ksR0FBQW9OLFFBQUEsU0FBQTBQ
LEdBQWdDN2xCLEVBQUE2bEIsRUFBQXJiLE1BQUEsU0FDaEN4SyxHQUlBLFFBQUEwNUIsSUFBQS90
QixHQUVBLE9BREF4TixNQUNBSSxFQUFBLEVBQUFtQixFQUFBaU0sRUFBQW5OLE9BQW1DRCxFQUFB
bUIsRUFBT25CLElBTzFDSixFQUFBd04sRUFBQXBOLEdBQUErSCxNQUFBcUYsRUFBQXBOLEdBQUFu
QyxLQUVBLE9BQUErQixHQUlBLFFBQUFnOUIsSUFBQS9xQixHQUNBLGlCQUFBQSxFQUFBOUcsS0FB
QSxVQUFBOEcsRUFBQTlHLElBR0EsUUFBQXF3QixJQUFBdnBCLEdBQ0EsTUFDQSxVQUFBQSxFQUFB
OUcsS0FDQSxXQUFBOEcsRUFBQTlHLE9BQ0E4RyxFQUFBMlcsU0FBQXZnQixNQUNBLG9CQUFBNEos
RUFBQTJXLFNBQUF2Z0IsTUFTQSxRQUFBaXpCLElBQUE5dEIsR0FFQSxPQURBckwsTUFDQS9CLEVB
QUEsRUFBaUJBLEVBQUFvTixFQUFBbk4sT0FBa0JELElBQUEsQ0FDbkMsR0FBQXU1QixHQUFBbnNC
LEVBQUFwTixFQUNBcStCLElBQUExNkIsS0FBQTQxQixFQUFBeHhCLFFBQ0F3eEIsRUFBQXh4QixL
QUFBd3hCLEVBQUF4eEIsS0FBQTRsQixRQUFBMlEsR0FBQSxJQUNBdjhCLEVBQUE4QyxLQUFBMDBC
LElBR0EsTUFBQXgzQixHQXFDQSxRQUFBdzhCLElBQUF6RCxFQUFBanpCLEdBQ0FpekIsSUFDQTBE
LEdBQUFDLEdBQUE1MkIsRUFBQTYyQixZQUFBLElBQ0FDLEdBQUE5MkIsRUFBQStTLGVBQUFpZCxH
QUVBK0csR0FBQTlELEdBRUErRCxHQUFBL0QsR0FBQSxJQUdBLFFBQUFnRSxJQUFBbDhCLEdBQ0Es
TUFBQW5ELEdBQ0EsMkRBQ0FtRCxFQUFBLElBQUFBLEVBQUEsS0FJQSxRQUFBZzhCLElBQUE5d0Is
R0FFQSxHQURBQSxFQUFBaXhCLE9BQUF2ekIsR0FBQXNDLEdBQ0EsSUFBQUEsRUFBQTdGLEtBQUEs
Q0FJQSxJQUNBMDJCLEdBQUE3d0IsRUFBQS9DLE1BQ0EsU0FBQStDLEVBQUEvQyxLQUNBLE1BQUEr
QyxFQUFBMGEsU0FBQSxtQkFFQSxNQUVBLFFBQUF4b0IsR0FBQSxFQUFBbUIsRUFBQTJNLEVBQUE3
QyxTQUFBaEwsT0FBNkNELEVBQUFtQixFQUFPbkIsSUFBQSxDQUNwRCxHQUFBMkksR0FBQW1GLEVB
QUE3QyxTQUFBakwsRUFDQTQrQixJQUFBajJCLEdBQ0FBLEVBQUFvMkIsU0FDQWp4QixFQUFBaXhC
LFFBQUEsR0FHQSxHQUFBanhCLEVBQUEydkIsYUFDQSxPQUFBekIsR0FBQSxFQUFBZ0QsRUFBQWx4
QixFQUFBMnZCLGFBQUF4OUIsT0FBdUQrN0IsRUFBQWdELEVBQVdoRCxJQUFBLENBQ2xFLEdBQUFN
LEdBQUF4dUIsRUFBQTJ2QixhQUFBekIsR0FBQU0sS0FDQXNDLElBQUF0QyxHQUNBQSxFQUFBeUMs
U0FDQWp4QixFQUFBaXhCLFFBQUEsS0FPQSxRQUFBRixJQUFBL3dCLEVBQUFxTyxHQUNBLE9BQUFy
TyxFQUFBN0YsS0FBQSxDQU9BLElBTkE2RixFQUFBaXhCLFFBQUFqeEIsRUFBQS9LLFFBQ0ErSyxF
QUFBbXhCLFlBQUE5aUIsR0FLQXJPLEVBQUFpeEIsUUFBQWp4QixFQUFBN0MsU0FBQWhMLFNBQ0Es
SUFBQTZOLEVBQUE3QyxTQUFBaEwsUUFDQSxJQUFBNk4sRUFBQTdDLFNBQUEsR0FBQWhELE1BR0Es
WUFEQTZGLEVBQUFveEIsWUFBQSxFQUtBLElBRkFweEIsRUFBQW94QixZQUFBLEVBRUFweEIsRUFB
QTdDLFNBQ0EsT0FBQWpMLEdBQUEsRUFBQW1CLEVBQUEyTSxFQUFBN0MsU0FBQWhMLE9BQStDRCxF
QUFBbUIsRUFBT25CLElBQ3RENitCLEdBQUEvd0IsRUFBQTdDLFNBQUFqTCxHQUFBbWMsS0FBQXJP
LEVBQUFtdkIsSUFHQSxJQUFBbnZCLEVBQUEydkIsYUFDQSxPQUFBekIsR0FBQSxFQUFBZ0QsRUFB
QWx4QixFQUFBMnZCLGFBQUF4OUIsT0FBdUQrN0IsRUFBQWdELEVBQVdoRCxJQUNsRTZDLEdBQUEv
d0IsRUFBQTJ2QixhQUFBekIsR0FBQU0sTUFBQW5nQixJQU1BLFFBQUEzUSxJQUFBc0MsR0FDQSxX
QUFBQSxFQUFBN0YsT0FHQSxJQUFBNkYsRUFBQTdGLFNBR0E2RixFQUFBcXNCLE1BQ0Fyc0IsRUFB
QSt2QixhQUNBL3ZCLEVBQUFvdUIsSUFBQXB1QixFQUFBbXZCLEtBQ0FrQyxHQUFBcnhCLEVBQUEv
QyxPQUNBNHpCLEdBQUE3d0IsRUFBQS9DLE1BQ0FxMEIsR0FBQXR4QixLQUNBblEsT0FBQWlGLEtB
QUFrTCxHQUFBckwsTUFBQSs3QixPQUlBLFFBQUFZLElBQUF0eEIsR0FDQSxLQUFBQSxFQUFBcEYs
UUFBQSxDQUVBLEdBREFvRixJQUFBcEYsT0FDQSxhQUFBb0YsRUFBQS9DLElBQ0EsUUFFQSxJQUFB
K0MsRUFBQW12QixJQUNBLFNBR0EsU0F1Q0EsUUFBQW9DLElBQ0F0WCxFQUNBempCLEVBQ0F3akIs
R0FFQSxHQUFBL2xCLEdBQUF1QyxFQUFBLGFBQWtDLE1BQ2xDLFFBQUF5RCxLQUFBZ2dCLEdBQUEs
Q0FZQWhtQixHQUFBLElBQUFnRyxFQUFBLEtBQUF1M0IsR0FBQXYzQixFQVhBZ2dCLEVBQUFoZ0Is
SUFXQSxJQUVBLE1BQUFoRyxHQUFBa0ssTUFBQSxVQUdBLFFBQUFxekIsSUFDQXYzQixFQUNBbVAs
R0FFQSxJQUFBQSxFQUNBLG9CQUdBLElBQUF4VixNQUFBYSxRQUFBMlUsR0FDQSxVQUFBQSxFQUFB
dFgsSUFBQSxTQUFBc1gsR0FBbUQsTUFBQW9vQixJQUFBdjNCLEVBQUFtUCxLQUFvQ3dOLEtBQUEs
UUFHdkYsSUFBQTZhLEdBQUFDLEdBQUE3N0IsS0FBQXVULEVBQUFyWixPQUNBNGhDLEVBQUFDLEdB
QUEvN0IsS0FBQXVULEVBQUFyWixNQUVBLElBQUFxWixFQUFBb04sVUFJRyxDQUNILEdBQUFvRyxH
QUFBLEdBQ0FpVixFQUFBLEdBQ0EvOEIsSUFDQSxRQUFBbEMsS0FBQXdXLEdBQUFvTixVQUNBc2Is
R0FBQWwvQixJQUNBaS9CLEdBQUFDLEdBQUFsL0IsR0FFQWdiLEdBQUFoYixJQUNBa0MsRUFBQWlD
LEtBQUFuRSxJQUdBa0MsRUFBQWlDLEtBQUFuRSxFQUdBa0MsR0FBQTNDLFNBQ0F5cUIsR0FBQW1W
LEdBQUFqOUIsSUFHQSs4QixJQUNBalYsR0FBQWlWLEVBT0EsMkJBQThCalYsR0FMOUI2VSxFQUNB
cm9CLEVBQUFyWixNQUFBLFdBQ0E0aEMsRUFDQSxJQUFBdm9CLEVBQUEsa0JBQ0FBLEVBQUFyWixP
QUM4QixJQTlCOUIsTUFBQTBoQyxJQUFBRSxFQUNBdm9CLEVBQUFyWixNQUNBLG9CQUEyQnFaLEVB
QUEsVUFnQzNCLFFBQUEyb0IsSUFBQWo5QixHQUNBLG1DQUFBQSxFQUFBaEQsSUFBQWtnQyxJQUFB
cGIsS0FBQSxzQkFHQSxRQUFBb2IsSUFBQXAvQixHQUNBLEdBQUFxL0IsR0FBQUMsU0FBQXQvQixF
QUFBLEdBQ0EsSUFBQXEvQixFQUNBLDBCQUFBQSxDQUVBLElBQUE3QyxHQUFBeGhCLEdBQUFoYixF
QUNBLDRCQUFBdEIsS0FBQUMsVUFBQXFCLElBQUF3OEIsRUFBQSxJQUFBOTlCLEtBQUFDLFVBQUE2
OUIsR0FBQSxRQUtBLFFBQUEvd0IsSUFBQTBGLEVBQUEyUixHQUlBM1IsRUFBQW91QixjQUFBLFNB
QUF2VixHQUFzQyxZQUFBQSxFQUFBLElBQUFsSCxFQUFBLFdBS3RDLFFBQUEwYyxJQUFBcnVCLEVB
QUEyUixHQUNBM1IsRUFBQXN1QixTQUFBLFNBQUF6VixHQUNBLFlBQUFBLEVBQUEsS0FBQTdZLEVB
QUEsU0FBQTJSLEVBQUEsV0FBQUEsRUFBQWMsV0FBQWQsRUFBQWMsVUFBQXphLEtBQUEsaUJBQUEy
WixFQUFBYyxXQUFBZCxFQUFBYyxVQUFBclYsS0FBQSxpQkE0QkEsUUFBQW14QixJQUNBQyxFQUNB
eDRCLEdBRUEsR0FBQXk0QixHQUFBLEdBQUFDLElBQUExNEIsRUFFQSxRQUNBbUssT0FBQSxzQkFG
QXF1QixFQUFBRyxHQUFBSCxFQUFBQyxHQUFBLGFBRXlCLElBQ3pCMW1CLGdCQUFBMG1CLEVBQUEx
bUIsaUJBSUEsUUFBQTRtQixJQUFBM3VCLEVBQUF5dUIsR0FDQSxHQUFBenVCLEVBQUFxdEIsYUFB
QXJ0QixFQUFBNHVCLGdCQUNBLE1BQUFDLElBQUE3dUIsRUFBQXl1QixFQUNHLElBQUF6dUIsRUFB
QTlPLE9BQUE4TyxFQUFBOHVCLGNBQ0gsTUFBQUMsSUFBQS91QixFQUFBeXVCLEVBQ0csSUFBQXp1
QixFQUFBb3JCLE1BQUFwckIsRUFBQWd2QixhQUNILE1BQUFDLElBQUFqdkIsRUFBQXl1QixFQUNH
LElBQUF6dUIsRUFBQXFxQixLQUFBcnFCLEVBQUFrdkIsWUFDSCxNQUFBQyxJQUFBbnZCLEVBQUF5
dUIsRUFDRyxpQkFBQXp1QixFQUFBOUcsS0FBQThHLEVBQUE0cUIsV0FFQSxhQUFBNXFCLEVBQUE5
RyxJQUNILE1BQUFrMkIsSUFBQXB2QixFQUFBeXVCLEVBR0EsSUFBQTVWLEVBQ0EsSUFBQTdZLEVB
QUFyQyxVQUNBa2IsRUFBQXdXLEdBQUFydkIsRUFBQXJDLFVBQUFxQyxFQUFBeXVCLE9BQ0ssQ0FD
TCxHQUFBdDFCLEdBQUE2RyxFQUFBK3BCLFVBQUEzOUIsR0FBQWtqQyxHQUFBdHZCLEVBQUF5dUIs
R0FFQXIxQixFQUFBNEcsRUFBQThILGVBQUEsS0FBQXluQixHQUFBdnZCLEVBQUF5dUIsR0FBQSxF
QUNBNVYsR0FBQSxPQUFBN1ksRUFBQSxTQUFBN0csRUFBQSxJQUFBQSxFQUFBLEtBQUFDLEVBQUEs
SUFBQUEsRUFBQSxRQUdBLE9BQUFqTCxHQUFBLEVBQW1CQSxFQUFBc2dDLEVBQUEzRixXQUFBMTZC
LE9BQTZCRCxJQUNoRDBxQixFQUFBNFYsRUFBQTNGLFdBQUEzNkIsR0FBQTZSLEVBQUE2WSxFQUVB
LE9BQUFBLEdBbEJBLE1BQUEwVyxJQUFBdnZCLEVBQUF5dUIsSUFBQSxTQXVCQSxRQUFBSSxJQUFB
N3VCLEVBQUF5dUIsR0FHQSxNQUZBenVCLEdBQUE0dUIsaUJBQUEsRUFDQUgsRUFBQTFtQixnQkFB
QS9VLEtBQUEscUJBQTBDMjdCLEdBQUEzdUIsRUFBQXl1QixHQUFBLEtBQzFDLE9BQUFBLEVBQUEx
bUIsZ0JBQUEzWixPQUFBLElBQUE0UixFQUFBb3RCLFlBQUEsZ0JBSUEsUUFBQTJCLElBQUEvdUIs
RUFBQXl1QixHQUVBLEdBREF6dUIsRUFBQTh1QixlQUFBLEVBQ0E5dUIsRUFBQXFxQixLQUFBcnFC
LEVBQUFrdkIsWUFDQSxNQUFBQyxJQUFBbnZCLEVBQUF5dUIsRUFDRyxJQUFBenVCLEVBQUFvdEIs
WUFBQSxDQUdILElBRkEsR0FBQXYrQixHQUFBLEdBQ0FnSSxFQUFBbUosRUFBQW5KLE9BQ0FBLEdB
QUEsQ0FDQSxHQUFBQSxFQUFBdTBCLElBQUEsQ0FDQXY4QixFQUFBZ0ksRUFBQWhJLEdBQ0EsT0FF
QWdJLFdBRUEsTUFBQWhJLEdBTUEsTUFBQTgvQixHQUFBM3VCLEVBQUF5dUIsR0FBQSxJQUFBQSxF
QUFBZSxVQUFBM2dDLEVBQUEsSUFBQUEsRUFBQSxRQUZBOC9CLEdBQUEzdUIsRUFBQXl1QixHQUlB
LE1BQUFJLElBQUE3dUIsRUFBQXl1QixHQUlBLFFBQUFVLElBQ0FudkIsRUFDQXl1QixFQUNBZ0Is
RUFDQUMsR0FHQSxNQURBMXZCLEdBQUFrdkIsYUFBQSxFQUNBUyxHQUFBM3ZCLEVBQUE0ckIsYUFB
QXh4QixRQUFBcTBCLEVBQUFnQixFQUFBQyxHQUdBLFFBQUFDLElBQ0FDLEVBQ0FuQixFQUNBZ0Is
RUFDQUMsR0FjQSxRQUFBRyxHQUFBN3ZCLEdBQ0EsTUFBQXl2QixHQUNBQSxFQUFBenZCLEVBQUF5
dUIsR0FDQXp1QixFQUFBOU8sS0FDQTY5QixHQUFBL3VCLEVBQUF5dUIsR0FDQUUsR0FBQTN1QixF
QUFBeXVCLEdBakJBLElBQUFtQixFQUFBeGhDLE9BQ0EsTUFBQXNoQyxJQUFBLE1BR0EsSUFBQS9E
LEdBQUFpRSxFQUFBRSxPQUNBLE9BQUFuRSxHQUFBeFgsSUFDQSxJQUFBd1gsRUFBQSxTQUFBa0Us
RUFBQWxFLEVBQUFsQixPQUFBLElBQUFrRixHQUFBQyxFQUFBbkIsRUFBQWdCLEVBQUFDLEdBRUEs
R0FBQUcsRUFBQWxFLEVBQUFsQixPQWFBLFFBQUF3RSxJQUNBanZCLEVBQ0F5dUIsRUFDQWdCLEVB
Q0FNLEdBRUEsR0FBQTViLEdBQUFuVSxFQUFBb3JCLElBQ0FDLEVBQUFyckIsRUFBQXFyQixNQUNB
RyxFQUFBeHJCLEVBQUF3ckIsVUFBQSxJQUFBeHJCLEVBQUEsYUFDQXlyQixFQUFBenJCLEVBQUF5
ckIsVUFBQSxJQUFBenJCLEVBQUEsWUFpQkEsT0FEQUEsR0FBQWd2QixjQUFBLEdBQ0FlLEdBQUEs
V0FBQTViLEVBQUEsY0FDQWtYLEVBQUFHLEVBQUFDLEVBQUEsYUFDQWdFLEdBQUFkLElBQUEzdUIs
RUFBQXl1QixHQUNBLEtBR0EsUUFBQWEsSUFBQXR2QixFQUFBeXVCLEdBQ0EsR0FBQXQxQixHQUFB
LElBSUExQyxFQUFBdTVCLEdBQUFod0IsRUFBQXl1QixFQUNBaDRCLEtBQWEwQyxHQUFBMUMsRUFB
QSxLQUdidUosRUFBQW5SLE1BQ0FzSyxHQUFBLE9BQUE2RyxFQUFBLFNBR0FBLEVBQUErUSxNQUNB
NVgsR0FBQSxPQUFBNkcsRUFBQSxTQUVBQSxFQUFBaVIsV0FDQTlYLEdBQUEsa0JBR0E2RyxFQUFB
c29CLE1BQ0FudkIsR0FBQSxhQUdBNkcsRUFBQXJDLFlBQ0F4RSxHQUFBLFFBQUE2RyxFQUFBLFNB
R0EsUUFBQTdSLEdBQUEsRUFBaUJBLEVBQUFzZ0MsRUFBQXdCLFdBQUE3aEMsT0FBNkJELElBQzlD
Z0wsR0FBQXMxQixFQUFBd0IsV0FBQTloQyxHQUFBNlIsRUE4QkEsSUEzQkFBLEVBQUF6RSxRQUNB
cEMsR0FBQSxVQUFvQisyQixHQUFBbHdCLEVBQUF6RSxPQUFBLE1BR3BCeUUsRUFBQS9KLFFBQ0Fr
RCxHQUFBLGFBQXVCKzJCLEdBQUFsd0IsRUFBQS9KLE9BQUEsTUFHdkIrSixFQUFBa1csU0FDQS9j
LEdBQUFxMEIsR0FBQXh0QixFQUFBa1csUUFBQSxFQUFBdVksRUFBQXhZLE1BQUEsS0FFQWpXLEVB
QUFvVyxlQUNBamQsR0FBQXEwQixHQUFBeHRCLEVBQUFvVyxjQUFBLEVBQUFxWSxFQUFBeFksTUFB
QSxLQUdBalcsRUFBQTRxQixhQUNBenhCLEdBQUEsUUFBQTZHLEVBQUEsZ0JBR0FBLEVBQUFlLGNB
Q0E1SCxHQUFBZzNCLEdBQUFud0IsRUFBQWUsWUFBQTB0QixHQUFBLEtBR0F6dUIsRUFBQWlILFFB
Q0E5TixHQUFBLGdCQUFvQjZHLEVBQUFpSCxNQUFBLG1CQUFBakgsRUFBQWlILE1BQUEsd0JBQUFq
SCxFQUFBaUgsTUFBQSxpQkFHcEJqSCxFQUFBOEgsZUFBQSxDQUNBLEdBQUFBLEdBQUFzb0IsR0FB
QXB3QixFQUFBeXVCLEVBQ0EzbUIsS0FDQTNPLEdBQUEyTyxFQUFBLEtBWUEsTUFUQTNPLEtBQUEy
aUIsUUFBQSxhQUVBOWIsRUFBQXN1QixXQUNBbjFCLEVBQUE2RyxFQUFBc3VCLFNBQUFuMUIsSUFH
QTZHLEVBQUFvdUIsZ0JBQ0FqMUIsRUFBQTZHLEVBQUFvdUIsY0FBQWoxQixJQUVBQSxFQUdBLFFB
QUE2MkIsSUFBQWh3QixFQUFBeXVCLEdBQ0EsR0FBQWg0QixHQUFBdUosRUFBQXRKLFVBQ0EsSUFB
QUQsRUFBQSxDQUNBLEdBRUF0SSxHQUFBbUIsRUFBQXFpQixFQUFBMGUsRUFGQW5nQyxFQUFBLGVB
Q0FvZ0MsR0FBQSxDQUVBLEtBQUFuaUMsRUFBQSxFQUFBbUIsRUFBQW1ILEVBQUFySSxPQUE4QkQs
RUFBQW1CLEVBQU9uQixJQUFBLENBQ3JDd2pCLEVBQUFsYixFQUFBdEksR0FDQWtpQyxHQUFBLENB
Q0EsSUFBQUUsR0FBQTlCLEVBQUEvM0IsV0FBQWliLEVBQUF6YixLQUNBcTZCLEtBR0FGLElBQUFF
LEVBQUF2d0IsRUFBQTJSLEVBQUE4YyxFQUFBeFksT0FFQW9hLElBQ0FDLEdBQUEsRUFDQXBnQyxH
QUFBLFVBQWV5aEIsRUFBQSxtQkFBQUEsRUFBQSxhQUFBQSxFQUFBM2xCLE1BQUEsV0FBQTJsQixF
QUFBLHNCQUFBcGtCLEtBQUFDLFVBQUFta0IsRUFBQTNsQixPQUFBLEtBQUEybEIsRUFBQW1FLElB
QUEsU0FBQW5FLEVBQUEsYUFBQUEsRUFBQWMsVUFBQSxjQUFBbGxCLEtBQUFDLFVBQUFta0IsRUFB
QWMsV0FBQSxVQUdmLE1BQUE2ZCxHQUNBcGdDLEVBQUFrSyxNQUFBLGNBREEsSUFLQSxRQUFBZzJC
LElBQUFwd0IsRUFBQXl1QixHQUNBLEdBQUFELEdBQUF4dUIsRUFBQTVHLFNBQUEsRUFNQSxRQUFB
bzFCLEVBQUFwNEIsS0FBQSxDQUNBLEdBQUFvNkIsR0FBQWpDLEdBQUFDLEVBQUFDLEVBQUF6NEIs
UUFDQSw0Q0FBK0N3NkIsRUFBQSw2QkFBaUNBLEVBQUF6b0IsZ0JBQUFoYSxJQUFBLFNBQUE4cUIs
R0FBNEUsb0JBQXFCQSxFQUFBLE1BQWtCaEcsS0FBQSxXQUluTSxRQUFBc2QsSUFDQXR4QixFQUNB
NHZCLEdBRUEseUJBQUEzaUMsT0FBQWlGLEtBQUE4TixHQUFBOVEsSUFBQSxTQUFBYyxHQUNBLE1B
QUE0aEMsSUFBQTVoQyxFQUFBZ1EsRUFBQWhRLEdBQUE0L0IsS0FDSzViLEtBQUEsVUFHTCxRQUFB
NGQsSUFDQTVoQyxFQUNBbVIsRUFDQXl1QixHQUVBLE1BQUF6dUIsR0FBQW9yQixNQUFBcHJCLEVB
QUFndkIsYUFDQTBCLEdBQUE3aEMsRUFBQW1SLEVBQUF5dUIsR0FFQSxRQUFXNS9CLEVBQUEsZ0JB
QUFwQixPQUFBdVMsRUFBQTJXLFNBQUFnYSxPQUFBLGFBQ1gsYUFBQTN3QixFQUFBOUcsSUFDQXEy
QixHQUFBdnZCLEVBQUF5dUIsSUFBQSxTQUNBRSxHQUFBM3VCLEVBQUF5dUIsSUFBQSxLQUdBLFFB
QUFpQyxJQUNBN2hDLEVBQ0FtUixFQUNBeXVCLEdBRUEsR0FBQXRhLEdBQUFuVSxFQUFBb3JCLElB
Q0FDLEVBQUFyckIsRUFBQXFyQixNQUNBRyxFQUFBeHJCLEVBQUF3ckIsVUFBQSxJQUFBeHJCLEVB
QUEsYUFDQXlyQixFQUFBenJCLEVBQUF5ckIsVUFBQSxJQUFBenJCLEVBQUEsWUFFQSxPQURBQSxH
QUFBZ3ZCLGNBQUEsRUFDQSxPQUFBN2EsRUFBQSxjQUNBa1gsRUFBQUcsRUFBQUMsRUFBQSxZQUNB
Z0YsR0FBQTVoQyxFQUFBbVIsRUFBQXl1QixHQUNBLEtBR0EsUUFBQWMsSUFDQXZ2QixFQUNBeXVC
LEVBQ0FtQyxFQUNBQyxFQUNBQyxHQUVBLEdBQUExM0IsR0FBQTRHLEVBQUE1RyxRQUNBLElBQUFB
LEVBQUFoTCxPQUFBLENBQ0EsR0FBQTJpQyxHQUFBMzNCLEVBQUEsRUFFQSxRQUFBQSxFQUFBaEws
UUFDQTJpQyxFQUFBM0YsS0FDQSxhQUFBMkYsRUFBQTczQixLQUNBLFNBQUE2M0IsRUFBQTczQixJ
QUVBLE9BQUEyM0IsR0FBQWxDLElBQUFvQyxFQUFBdEMsRUFFQSxJQUFBam1CLEdBQUFvb0IsRUFD
QUksR0FBQTUzQixFQUFBcTFCLEVBQUF3QyxnQkFDQSxFQUNBVixFQUFBTyxHQUFBSSxFQUNBLFdB
QUE5M0IsRUFBQXJMLElBQUEsU0FBQXNDLEdBQThDLE1BQUFrZ0MsR0FBQWxnQyxFQUFBbytCLEtB
QXdCNWIsS0FBQSxVQUFBckssRUFBQSxJQUFBQSxFQUFBLEtBUXRFLFFBQUF3b0IsSUFDQTUzQixF
QUNBNjNCLEdBR0EsT0FEQS9nQyxHQUFBLEVBQ0EvQixFQUFBLEVBQWlCQSxFQUFBaUwsRUFBQWhM
LE9BQXFCRCxJQUFBLENBQ3RDLEdBQUE2UixHQUFBNUcsRUFBQWpMLEVBQ0EsUUFBQTZSLEVBQUE1
SixLQUFBLENBR0EsR0FBQSs2QixHQUFBbnhCLElBQ0FBLEVBQUE0ckIsY0FBQTVyQixFQUFBNHJC
LGFBQUF3RixLQUFBLFNBQUEvZ0MsR0FBK0QsTUFBQThnQyxJQUFBOWdDLEVBQUFvNkIsU0FBc0Ms
Q0FDckd2NkIsRUFBQSxDQUNBLFFBRUErZ0MsRUFBQWp4QixJQUNBQSxFQUFBNHJCLGNBQUE1ckIs
RUFBQTRyQixhQUFBd0YsS0FBQSxTQUFBL2dDLEdBQStELE1BQUE0Z0MsR0FBQTVnQyxFQUFBbzZC
LFlBQy9EdjZCLEVBQUEsSUFHQSxNQUFBQSxHQUdBLFFBQUFpaEMsSUFBQW54QixHQUNBLFdBQUE1
VCxLQUFBNFQsRUFBQW9yQixLQUFBLGFBQUFwckIsRUFBQTlHLEtBQUEsU0FBQThHLEVBQUE5RyxJ
QUdBLFFBQUFnNEIsSUFBQWoxQixFQUFBd3lCLEdBQ0EsV0FBQXh5QixFQUFBN0YsS0FDQXU0QixH
QUFBMXlCLEVBQUF3eUIsR0FDRyxJQUFBeHlCLEVBQUE3RixNQUFBNkYsRUFBQXJDLFVBQ0h5M0Is
R0FBQXAxQixHQUVBcTFCLEdBQUFyMUIsR0FJQSxRQUFBcTFCLElBQUFqNEIsR0FDQSxpQkFBQUEs
RUFBQWpELEtBQ0FpRCxFQUFBb2IsV0FDQThjLEdBQUFoa0MsS0FBQUMsVUFBQTZMLFVBQUEsSUFH
QSxRQUFBZzRCLElBQUF0SyxHQUNBLFlBQUF4NUIsS0FBQUMsVUFBQXU1QixFQUFBMXRCLE1BQUEs
SUFHQSxRQUFBKzFCLElBQUFwdkIsRUFBQXl1QixHQUNBLEdBQUE1QyxHQUFBN3JCLEVBQUE2ckIs
VUFBQSxZQUNBenlCLEVBQUFtMkIsR0FBQXZ2QixFQUFBeXVCLEdBQ0F2K0IsRUFBQSxNQUFBMjdC
LEdBQUF6eUIsRUFBQSxJQUFBQSxFQUFBLElBQ0FtQyxFQUFBeUUsRUFBQXpFLE9BQUEsSUFBNkJ5
RSxFQUFBekUsTUFBQXhOLElBQUEsU0FBQXNCLEdBQWdDLE1BQUE4RyxJQUFBOUcsRUFBQTZHLE1B
QUEsSUFBQTdHLEVBQUEsUUFBaUR3akIsS0FBQSxTQUM5RzJlLEVBQUF4eEIsRUFBQTJXLFNBQUEs
U0FVQSxRQVRBcGIsSUFBQWkyQixHQUFBcDRCLElBQ0FsSixHQUFBLFNBRUFxTCxJQUNBckwsR0FB
QSxJQUFBcUwsR0FFQWkyQixJQUNBdGhDLElBQUFxTCxFQUFBLGdCQUFBaTJCLEdBRUF0aEMsRUFB
QSxJQUlBLFFBQUFtL0IsSUFDQW9DLEVBQ0F6eEIsRUFDQXl1QixHQUVBLEdBQUFyMUIsR0FBQTRH
LEVBQUE4SCxlQUFBLEtBQUF5bkIsR0FBQXZ2QixFQUFBeXVCLEdBQUEsRUFDQSxhQUFBZ0QsRUFB
QSxJQUFBbkMsR0FBQXR2QixFQUFBeXVCLElBQUFyMUIsRUFBQSxJQUFBQSxFQUFBLFFBR0EsUUFB
QTgyQixJQUFBajZCLEdBRUEsT0FEQS9GLEdBQUEsR0FDQS9CLEVBQUEsRUFBaUJBLEVBQUE4SCxF
QUFBN0gsT0FBa0JELElBQUEsQ0FDbkMsR0FBQTZKLEdBQUEvQixFQUFBOUgsRUFDQStCLElBQUEs
SUFBQThILEVBQUEsVUFBQXU1QixHQUFBdjVCLEVBQUFoTSxPQUFBLElBRUEsTUFBQWtFLEdBQUFr
SyxNQUFBLE1BSUEsUUFBQW0zQixJQUFBbDRCLEdBQ0EsTUFBQUEsR0FDQXlpQixRQUFBLHFCQUNB
QSxRQUFBLHFCQXNHQSxRQUFBNFYsSUFBQTdZLEVBQUE4WSxHQUNBLElBQ0EsVUFBQUMsVUFBQS9Z
LEdBQ0csTUFBQTVtQixHQUVILE1BREEwL0IsR0FBQTMrQixNQUFpQmYsTUFBQTRtQixTQUNqQjFv
QixHQUlBLFFBQUEwaEMsSUFBQUMsR0FDQSxHQUFBN2lDLEdBQUFuRCxPQUFBa0MsT0FBQSxLQUVB
LGlCQUNBbTZCLEVBQ0FueUIsRUFDQTlELEdBRUE4RCxPQXFCQSxJQUFBbkgsR0FBQW1ILEVBQUFr
dUIsV0FDQXoyQixPQUFBdUksRUFBQWt1QixZQUFBaUUsRUFDQUEsQ0FDQSxJQUFBbDVCLEVBQUFK
LEdBQ0EsTUFBQUksR0FBQUosRUFJQSxJQUFBa2pDLEdBQUFELEVBQUEzSixFQUFBbnlCLEdBaUJB
OUYsS0FDQThoQyxJQXlCQSxPQXhCQTloQyxHQUFBaVEsT0FBQXV4QixHQUFBSyxFQUFBNXhCLE9B
QUE2eEIsR0FDQTloQyxFQUFBNlgsZ0JBQUFncUIsRUFBQWhxQixnQkFBQWhhLElBQUEsU0FBQThx
QixHQUNBLE1BQUE2WSxJQUFBN1ksRUFBQW1aLEtBc0JBL2lDLEVBQUFKLEdBQUFxQixHQStKQSxR
QUFBK2hDLElBQUFqeUIsR0FDQSxHQUFBQSxFQUFBa3lCLFVBQ0EsTUFBQWx5QixHQUFBa3lCLFNB
RUEsSUFBQUMsR0FBQTlpQixTQUFBM0ksY0FBQSxNQUVBLE9BREF5ckIsR0FBQTFoQixZQUFBelEs
RUFBQW95QixXQUFBLElBQ0FELEVBQUFFLFVBanpUQSxHQUFBemxDLElBQUFkLE9BQUErUCxVQUFB
dk8sU0ErREFnZ0MsR0FBQTEvQixFQUFBLHFCQUtBcWMsR0FBQXJjLEVBQUEsbUJBaUJBa0IsR0FB
QWhELE9BQUErUCxVQUFBL00sZUFtQkF3akMsR0FBQSxTQUNBbjhCLEdBQUFwSCxFQUFBLFNBQUFs
QixHQUNBLE1BQUFBLEdBQUFpdUIsUUFBQXdXLEdBQUEsU0FBQTVjLEVBQUFybEIsR0FBa0QsTUFB
QUEsS0FBQWtpQyxjQUFBLE9BTWxEMzZCLEdBQUE3SSxFQUFBLFNBQUFsQixHQUNBLE1BQUFBLEdB
QUFxbkIsT0FBQSxHQUFBcWQsY0FBQTFrQyxFQUFBdU0sTUFBQSxLQU1BbzRCLEdBQUEsaUJBQ0Fw
NkIsR0FBQXJKLEVBQUEsU0FBQWxCLEdBQ0EsTUFBQUEsR0FDQWl1QixRQUFBMFcsR0FBQSxTQUNB
MVcsUUFBQTBXLEdBQUEsU0FDQW5rQyxnQkFrRUEyM0IsR0FBQSxTQUFBMzJCLEVBQUFlLEVBQUFD
LEdBQTZCLFVBSzdCb1osR0FBQSxTQUFBaU0sR0FBNkIsTUFBQUEsSUFvRTdCK2MsR0FBQSx1QkFF
QWpsQixJQUNBLFlBQ0EsWUFDQSxVQUdBa2xCLElBQ0EsZUFDQSxVQUNBLGNBQ0EsVUFDQSxlQUNB
LFVBQ0EsZ0JBQ0EsWUFDQSxZQUNBLGVBS0F0Z0MsSUFJQXVnQyxzQkFBQTdtQyxPQUFBa0MsT0FB
QSxNQUtBNGtDLFFBQUEsRUFLQUMsZUFBQSxFQUtBL3ZCLFVBQUEsRUFLQWd3QixhQUFBLEVBS0F6
Z0MsYUFBQSxLQUtBMGdDLFlBQUEsS0FLQUMsbUJBS0FucEIsU0FBQS9kLE9BQUFrQyxPQUFBLE1B
TUErYSxjQUFBaWQsR0FNQWlOLGVBQUFqTixHQU1BN1csaUJBQUE2VyxHQUtBbGQsZ0JBQUEzWSxF
QUtBNlkscUJBQUFTLEdBTUFTLFlBQUE4YixHQUtBa04sZ0JBQUFSLElBS0F6eEIsR0FBQW5WLE9B
QUFxbkMsV0F5QkF0aEMsR0FBQSxVQWlCQW9rQixHQUFBOWxCLEVBbUhBaWpDLEdBQUEsZ0JBR0E5
Z0MsR0FBQSxtQkFBQWdkLFFBQ0ErakIsR0FBQS9nQyxJQUFBZ2QsT0FBQWdrQixVQUFBQyxVQUFB
bGxDLGNBQ0E2cUIsR0FBQW1hLElBQUEsZUFBQXZoQyxLQUFBdWhDLElBQ0FuZ0IsR0FBQW1nQixP
QUFBM2tDLFFBQUEsY0FDQThrQyxHQUFBSCxPQUFBM2tDLFFBQUEsV0FDQStrQyxHQUFBSixPQUFB
M2tDLFFBQUEsYUFDQWdsQyxHQUFBTCxJQUFBLHVCQUFBdmhDLEtBQUF1aEMsSUFDQWxhLEdBQUFr
YSxJQUFBLGNBQUF2aEMsS0FBQXVoQyxNQUFBRyxHQUdBaHZCLE1BQXFCRCxNQUVyQm1WLElBQUEs
Q0FDQSxJQUFBcG5CLEdBQ0EsSUFDQSxHQUFBeVIsTUFDQWpZLFFBQUFDLGVBQUFnWSxHQUFBLFdB
Q0F0UCxJQUFBLFdBRUFpbEIsSUFBQSxLQUdBcEssT0FBQW1LLGlCQUFBLG9CQUFBMVYsSUFDRyxN
QUFBbFQsSUFLSCxHQUFBOGlDLElBaUhBQyxHQWhIQTkvQixHQUFBLFdBV0EsV0FWQTFILEtBQUF1
bkMsS0FPQUEsSUFMQXJoQyxRQUFBLEtBQUFyRyxHQUdBLFdBQUFBLEVBQUEsUUFBQTRuQyxJQUFB
QyxTQUtBSCxJQUlBN3dCLEdBQUF4USxJQUFBZ2QsT0FBQXlrQiw2QkFPQS90QixHQUNBLG1CQUFB
Z3VCLFNBQUF2aEMsRUFBQXVoQyxTQUNBLG1CQUFBL3RCLFVBQUF4VCxFQUFBd1QsUUFBQUMsU0FL
QWhELEdBQUEsV0FLQSxRQUFBK3dCLEtBQ0FDLEdBQUEsQ0FDQSxJQUFBQyxHQUFBQyxFQUFBaDZC
LE1BQUEsRUFDQWc2QixHQUFBaG1DLE9BQUEsQ0FDQSxRQUFBRCxHQUFBLEVBQW1CQSxFQUFBZ21D
LEVBQUEvbEMsT0FBbUJELElBQ3RDZ21DLEVBQUFobUMsS0FUQSxHQUVBa21DLEdBRkFELEtBQ0FG
LEdBQUEsQ0FtQkEsdUJBQUFJLFVBQUE3aEMsRUFBQTZoQyxTQUFBLENBQ0EsR0FBQXJmLEdBQUFx
ZixRQUFBLzJCLFVBQ0FnM0IsRUFBQSxTQUFBdGlDLEdBQW1DTSxRQUFBQyxNQUFBUCxHQUNuQ29p
QyxHQUFBLFdBQ0FwZixFQUFBdlgsS0FBQXUyQixHQUFBTyxNQUFBRCxHQU1BYixJQUFrQjcxQixX
QUFBMU4sUUFFZix1QkFBQXNrQyxvQkFDSGhpQyxFQUFBZ2lDLG1CQUVBLHlDQUFBQSxpQkFBQW5u
QyxXQWlCQSttQyxFQUFBLFdBQ0F4MkIsV0FBQW8yQixFQUFBLFFBakJBLENBR0EsR0FBQVMsR0FB
QSxFQUNBQyxFQUFBLEdBQUFGLGtCQUFBUixHQUNBVyxFQUFBdmxCLFNBQUFjLGVBQUExaUIsT0FB
QWluQyxHQUNBQyxHQUFBcGhDLFFBQUFxaEMsR0FDQUMsZUFBQSxJQUVBUixFQUFBLFdBQ0FLLEtB
QUEsS0FDQUUsRUFBQXo3QixLQUFBMUwsT0FBQWluQyxJQVVBLGdCQUFBaFksRUFBQXZ0QixHQUNB
LEdBQUEybEMsRUFnQkEsSUFmQVYsRUFBQXBoQyxLQUFBLFdBQ0EsR0FBQTBwQixFQUNBLElBQ0FB
LEVBQUE3dkIsS0FBQXNDLEdBQ1MsTUFBQTBCLEdBQ1RtQixFQUFBbkIsRUFBQTFCLEVBQUEsZ0JB
RU8ybEMsSUFDUEEsRUFBQTNsQyxLQUdBK2tDLElBQ0FBLEdBQUEsRUFDQUcsTUFFQTNYLEdBQUEs
bUJBQUE0WCxTQUNBLFVBQUFBLFNBQUEsU0FBQS8yQixFQUFBQyxHQUNBczNCLEVBQUF2M0IsT0FV
QXEyQixJQUZBLG1CQUFBbUIsTUFBQXRpQyxFQUFBc2lDLEtBRUFBLElBR0EsV0FDQSxRQUFBQSxL
QUNBM2pDLEtBQUF1RCxJQUFBN0ksT0FBQWtDLE9BQUEsTUFZQSxNQVZBK21DLEdBQUFsNUIsVUFB
QXNHLElBQUEsU0FBQXRULEdBQ0EsV0FBQXVDLEtBQUF1RCxJQUFBOUYsSUFFQWttQyxFQUFBbDVC
LFVBQUFyQixJQUFBLFNBQUEzTCxHQUNBdUMsS0FBQXVELElBQUE5RixJQUFBLEdBRUFrbUMsRUFB
QWw1QixVQUFBd0gsTUFBQSxXQUNBalMsS0FBQXVELElBQUE3SSxPQUFBa0MsT0FBQSxPQUdBK21D
LElBT0EsSUFBQUMsSUFBQSxFQU1BbmlDLEdBQUEsV0FDQXpCLEtBQUFtRyxHQUFBeTlCLEtBQ0E1
akMsS0FBQTZqQyxRQUdBcGlDLElBQUFnSixVQUFBcTVCLE9BQUEsU0FBQUMsR0FDQS9qQyxLQUFB
NmpDLEtBQUFqaUMsS0FBQW1pQyxJQUdBdGlDLEdBQUFnSixVQUFBdTVCLFVBQUEsU0FBQUQsR0FD
QTdtQyxFQUFBOEMsS0FBQTZqQyxLQUFBRSxJQUdBdGlDLEdBQUFnSixVQUFBaEgsT0FBQSxXQUNB
aEMsR0FBQUMsUUFDQUQsR0FBQUMsT0FBQXVpQyxPQUFBamtDLE9BSUF5QixHQUFBZ0osVUFBQTdH
LE9BQUEsV0FHQSxPQURBaWdDLEdBQUE3akMsS0FBQTZqQyxLQUFBNzZCLFFBQ0FqTSxFQUFBLEVB
QUFtQixFQUFBMmxDLEVBQUE3bUMsT0FBa0NELEVBQUFtQixFQUFPbkIsSUFDekM4bUMsRUFBQTlt
QyxHQUFBd0ksVUFPQTlELEdBQUFDLE9BQUEsSUFDQSxJQUFBQyxPQWdCQXVpQyxHQUFBemxDLE1B
QUFnTSxVQUNBMDVCLEdBQUF6cEMsT0FBQWtDLE9BQUFzbkMsS0FDQSxPQUNBLE1BQ0EsUUFDQSxV
QUNBLFNBQ0EsT0FDQSxXQUVBdnZCLFFBQUEsU0FBQXl2QixHQUVBLEdBQUFDLEdBQUFILEdBQUFF
LEVBQ0Fqa0MsR0FBQWdrQyxHQUFBQyxFQUFBLFdBRUEsSUFEQSxHQUFBN29CLE1BQUEvVCxFQUFB
ckosVUFBQW5CLE9BQ0F3SyxLQUFBK1QsRUFBQS9ULEdBQUFySixVQUFBcUosRUFFQSxJQUVBMlos
R0FGQTFNLEVBQUE0dkIsRUFBQWptQyxNQUFBNEIsS0FBQXViLEdBQ0FsWixFQUFBckMsS0FBQXND
LE1BRUEsUUFBQThoQyxHQUNBLFdBQ0EsY0FDQWpqQixFQUFBNUYsQ0FDQSxNQUNBLGNBQ0E0RixF
QUFBNUYsRUFBQXZTLE1BQUEsR0FNQSxNQUhBbVksSUFBbUI5ZSxFQUFBaWlDLGFBQUFuakIsR0FF
bkI5ZSxFQUFBWSxJQUFBVyxTQUNBNlEsS0FNQSxJQUFBOHZCLElBQUE3cEMsT0FBQThwQyxvQkFB
QUwsSUFRQTNoQyxJQUNBQyxlQUFBLEdBU0FGLEdBQUEsU0FBQTNILEdBS0EsR0FKQW9GLEtBQUFw
RixRQUNBb0YsS0FBQWlELElBQUEsR0FBQXhCLElBQ0F6QixLQUFBNkMsUUFBQSxFQUNBMUMsRUFB
QXZGLEVBQUEsU0FBQW9GLE1BQ0F2QixNQUFBYSxRQUFBMUUsR0FBQSxFQUNBb25DLEdBQ0FqZ0Ms
RUFDQUcsR0FDQXRILEVBQUF1cEMsR0FBQUksSUFDQXZrQyxLQUFBc2tDLGFBQUExcEMsT0FFQW9G
LE1BQUF5a0MsS0FBQTdwQyxHQVNBMkgsSUFBQWtJLFVBQUFnNkIsS0FBQSxTQUFBbnBDLEdBRUEs
T0FEQXFFLEdBQUFqRixPQUFBaUYsS0FBQXJFLEdBQ0F5QixFQUFBLEVBQWlCQSxFQUFBNEMsRUFB
QTNDLE9BQWlCRCxJQUNsQytGLEVBQUF4SCxFQUFBcUUsRUFBQTVDLEdBQUF6QixFQUFBcUUsRUFB
QTVDLE1BT0F3RixHQUFBa0ksVUFBQTY1QixhQUFBLFNBQUFJLEdBQ0EsT0FBQTNuQyxHQUFBLEVB
QUFtQixFQUFBd21DLEVBQUExbkMsT0FBbUNELEVBQUFtQixFQUFPbkIsSUFDMUNvRixFQUFBdWlD
LEVBQUEzbkMsSUFpTUEsSUFBQThJLElBQUE3RSxHQUFBdWdDLHFCQWtGQTE3QixJQUFBa0MsS0FB
QSxTQUNBM0QsRUFDQUMsRUFDQXZELEdBRUEsTUFBQUEsR0FjQXFELEVBQUFDLEVBQUFDLEVBQUF2
RCxHQWJBdUQsR0FBQSxrQkFBQUEsR0FRQUQsRUFFQUQsRUFBQTFJLEtBQUF1RSxLQUFBb0UsRUFB
QUMsSUFzQkFpOUIsR0FBQTNzQixRQUFBLFNBQUE3SyxHQUNBakUsR0FBQWlFLEdBQUF0RixJQWlC
QTRYLEdBQUF6SCxRQUFBLFNBQUEzUCxHQUNBYSxHQUFBYixFQUFBLEtBQUFOLElBU0FtQixHQUFB
c04sTUFBQSxTQUFBL08sRUFBQUMsR0FLQSxHQUhBRCxJQUFBZ1AsS0FBa0NoUCxNQUFBcEosSUFD
bENxSixJQUFBK08sS0FBaUMvTyxNQUFBckosS0FFakNxSixFQUFrQixNQUFBM0osUUFBQWtDLE9B
QUF3SCxHQUFBLEtBQ2xCLEtBQUFBLEVBQW1CLE1BQUFDLEVBQ25CLElBQUE3RixLQUNBRSxHQUFB
RixFQUFBNEYsRUFDQSxRQUFBM0csS0FBQTRHLEdBQUEsQ0FDQSxHQUFBb0IsR0FBQWpILEVBQUFm
LEdBQ0FpSSxFQUFBckIsRUFBQTVHLEVBQ0FnSSxLQUFBaEgsTUFBQWEsUUFBQW1HLEtBQ0FBLE9B
RUFqSCxFQUFBZixHQUFBZ0ksRUFDQUEsRUFBQWhCLE9BQUFpQixHQUNBakgsTUFBQWEsUUFBQW9H
LFNBRUEsTUFBQWxILElBTUFxSCxHQUFBaEIsTUFDQWdCLEdBQUFnTixRQUNBaE4sR0FBQVgsT0FD
QVcsR0FBQW9OLFNBQUEsU0FBQTdPLEVBQUFDLEdBQ0EsSUFBQUQsRUFBbUIsTUFBQUMsRUFDbkIs
SUFBQTdGLEdBQUE5RCxPQUFBa0MsT0FBQSxLQUdBLE9BRkE4QixHQUFBRixFQUFBNEYsR0FDQUMs
R0FBaUIzRixFQUFBRixFQUFBNkYsR0FDakI3RixHQUVBcUgsR0FBQXlPLFFBQUFuUSxDQUtBLElB
QUEyQixJQUFBLFNBQUExQixFQUFBQyxHQUNBLFdBQUFySixLQUFBcUosRUFDQUQsRUFDQUMsR0Fz
YUFxRCxHQUFBLFNBQ0FJLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FDLEVBQ0FD
LEdBRUFySSxLQUFBOEgsTUFDQTlILEtBQUErSCxPQUNBL0gsS0FBQWdJLFdBQ0FoSSxLQUFBaUks
T0FDQWpJLEtBQUFrSSxNQUNBbEksS0FBQXNJLE9BQUF0TixHQUNBZ0YsS0FBQW1JLFVBQ0FuSSxL
QUFBMk4sc0JBQUEzUyxHQUNBZ0YsS0FBQXZDLElBQUFzSyxLQUFBdEssSUFDQXVDLEtBQUFvSSxt
QkFDQXBJLEtBQUFnZCxzQkFBQWhpQixHQUNBZ0YsS0FBQXlGLFdBQUF6SyxHQUNBZ0YsS0FBQTJr
QyxLQUFBLEVBQ0Eza0MsS0FBQXVJLFVBQUEsRUFDQXZJLEtBQUEwdUIsY0FBQSxFQUNBMXVCLEtB
QUF3SSxXQUFBLEVBQ0F4SSxLQUFBeUksVUFBQSxFQUNBekksS0FBQXdaLFFBQUEsRUFDQXhaLEtB
QUFxSSxlQUNBckksS0FBQXdMLGNBQUF4USxHQUNBZ0YsS0FBQWdnQixvQkFBQSxHQUdBNGtCLElB
QTBCbC9CLFNBSTFCay9CLElBQUFsL0IsTUFBQXJDLElBQUEsV0FDQSxNQUFBckQsTUFBQWdkLG1C
QUdBdGlCLE9BQUFtcUMsaUJBQUFuOUIsR0FBQStDLFVBQUFtNkIsR0FFQSxJQStiQWxqQyxJQS9i
QTZKLEdBQUEsU0FBQXRELE9BQ0EsS0FBQUEsTUFBQSxHQUVBLElBQUE0QyxHQUFBLEdBQUFuRCxH
QUdBLE9BRkFtRCxHQUFBNUMsT0FDQTRDLEVBQUFyQyxXQUFBLEVBQ0FxQyxHQXlDQXBCLEdBQUE5
TCxFQUFBLFNBQUFtSCxHQUNBLEdBQUE2RSxHQUFBLE1BQUE3RSxFQUFBZ2YsT0FBQSxFQUNBaGYs
R0FBQTZFLEVBQUE3RSxFQUFBa0UsTUFBQSxHQUFBbEUsQ0FDQSxJQUFBb0ksR0FBQSxNQUFBcEks
RUFBQWdmLE9BQUEsRUFDQWhmLEdBQUFvSSxFQUFBcEksRUFBQWtFLE1BQUEsR0FBQWxFLENBQ0Es
SUFBQTRFLEdBQUEsTUFBQTVFLEVBQUFnZixPQUFBLEVBRUEsT0FEQWhmLEdBQUE0RSxFQUFBNUUs
RUFBQWtFLE1BQUEsR0FBQWxFLEdBRUFBLE9BQ0FoRixLQUFBb04sRUFDQXhELFVBQ0FDLGFBNGpC
QTRrQixHQUFBLEtBdVRBMWQsTUFDQUMsTUFDQUMsTUFFQUMsSUFBQSxFQUNBQyxJQUFBLEVBQ0E1
VCxHQUFBLEVBbUlBeW5DLEdBQUEsRUFPQTExQixHQUFBLFNBQ0F0TyxFQUNBaWtDLEVBQ0F6WixF
QUNBMW1CLEdBRUE1RSxLQUFBYyxLQUNBQSxFQUFBNFIsVUFBQTlRLEtBQUE1QixNQUVBNEUsR0FD
QTVFLEtBQUFnbEMsT0FBQXBnQyxFQUFBb2dDLEtBQ0FobEMsS0FBQWlsQyxPQUFBcmdDLEVBQUFx
Z0MsS0FDQWpsQyxLQUFBMG5CLE9BQUE5aUIsRUFBQThpQixLQUNBMW5CLEtBQUFnTSxPQUFBcEgs
RUFBQW9ILE1BRUFoTSxLQUFBZ2xDLEtBQUFobEMsS0FBQWlsQyxLQUFBamxDLEtBQUEwbkIsS0FB
QTFuQixLQUFBZ00sTUFBQSxFQUVBaE0sS0FBQXNyQixLQUNBdHJCLEtBQUFtRyxLQUFBMitCLEdB
Q0E5a0MsS0FBQWtsQyxRQUFBLEVBQ0FsbEMsS0FBQStULE1BQUEvVCxLQUFBMG5CLEtBQ0ExbkIs
S0FBQW1sQyxRQUNBbmxDLEtBQUFvbEMsV0FDQXBsQyxLQUFBcWxDLE9BQUEsR0FBQTdDLElBQ0F4
aUMsS0FBQXNsQyxVQUFBLEdBQUE5QyxJQUNBeGlDLEtBQUFxakIsV0FFQSxHQUVBLGtCQUFBMGhC
LEdBQ0Eva0MsS0FBQW9ELE9BQUEyaEMsR0FFQS9rQyxLQUFBb0QsT0FBQTdDLEVBQUF3a0MsR0FD
QS9rQyxLQUFBb0QsU0FDQXBELEtBQUFvRCxPQUFBLGVBU0FwRCxLQUFBcEYsTUFBQW9GLEtBQUEw
bkIsU0FDQTFzQixHQUNBZ0YsS0FBQXFELE1BTUErTCxJQUFBM0UsVUFBQXBILElBQUEsV0FDQTlC
LEVBQUF2QixLQUNBLElBQUFwRixHQUNBa0csRUFBQWQsS0FBQWMsRUFDQSxLQUNBbEcsRUFBQW9G
LEtBQUFvRCxPQUFBM0gsS0FBQXFGLEtBQ0csTUFBQXJCLEdBQ0gsSUFBQU8sS0FBQWlsQyxLQUdB
LEtBQUF4bEMsRUFGQW1CLEdBQUFuQixFQUFBcUIsRUFBQSx1QkFBQWQsS0FBQSxnQkFJRyxRQUdI
QSxLQUFBZ2xDLE1BQ0FqekIsR0FBQW5YLEdBRUFpSCxJQUNBN0IsS0FBQXVsQyxjQUVBLE1BQUEz
cUMsSUFNQXdVLEdBQUEzRSxVQUFBdzVCLE9BQUEsU0FBQWhoQyxHQUNBLEdBQUFrRCxHQUFBbEQs
RUFBQWtELEVBQ0FuRyxNQUFBc2xDLFVBQUF2MEIsSUFBQTVLLEtBQ0FuRyxLQUFBc2xDLFVBQUFs
OEIsSUFBQWpELEdBQ0FuRyxLQUFBb2xDLFFBQUF4akMsS0FBQXFCLEdBQ0FqRCxLQUFBcWxDLE9B
QUF0MEIsSUFBQTVLLElBQ0FsRCxFQUFBNmdDLE9BQUE5akMsUUFRQW9QLEdBQUEzRSxVQUFBODZC
LFlBQUEsV0FJQSxJQUhBLEdBQUFDLEdBQUF4bEMsS0FFQWpELEVBQUFpRCxLQUFBbWxDLEtBQUFu
b0MsT0FDQUQsS0FBQSxDQUNBLEdBQUFrRyxHQUFBdWlDLEVBQUFMLEtBQUFwb0MsRUFDQXlvQyxH
QUFBRixVQUFBdjBCLElBQUE5TixFQUFBa0QsS0FDQWxELEVBQUErZ0MsVUFBQXdCLEdBR0EsR0FB
QUMsR0FBQXpsQyxLQUFBcWxDLE1BQ0FybEMsTUFBQXFsQyxPQUFBcmxDLEtBQUFzbEMsVUFDQXRs
QyxLQUFBc2xDLFVBQUFHLEVBQ0F6bEMsS0FBQXNsQyxVQUFBcnpCLFFBQ0F3ekIsRUFBQXpsQyxL
QUFBbWxDLEtBQ0FubEMsS0FBQW1sQyxLQUFBbmxDLEtBQUFvbEMsUUFDQXBsQyxLQUFBb2xDLFFB
QUFLLEVBQ0F6bEMsS0FBQW9sQyxRQUFBcG9DLE9BQUEsR0FPQW9TLEdBQUEzRSxVQUFBbEYsT0FB
QSxXQUVBdkYsS0FBQTBuQixLQUNBMW5CLEtBQUErVCxPQUFBLEVBQ0cvVCxLQUFBZ00sS0FDSGhN
LEtBQUFxUixNQUVBUSxHQUFBN1IsT0FRQW9QLEdBQUEzRSxVQUFBNEcsSUFBQSxXQUNBLEdBQUFy
UixLQUFBa2xDLE9BQUEsQ0FDQSxHQUFBdHFDLEdBQUFvRixLQUFBcUQsS0FDQSxJQUNBekksSUFB
QW9GLEtBQUFwRixPQUlBUyxFQUFBVCxJQUNBb0YsS0FBQWdsQyxLQUNBLENBRUEsR0FBQWhrQixH
QUFBaGhCLEtBQUFwRixLQUVBLElBREFvRixLQUFBcEYsUUFDQW9GLEtBQUFpbEMsS0FDQSxJQUNB
amxDLEtBQUFzckIsR0FBQTd2QixLQUFBdUUsS0FBQWMsR0FBQWxHLEVBQUFvbUIsR0FDUyxNQUFB
dmhCLEdBQ1RtQixFQUFBbkIsRUFBQU8sS0FBQWMsR0FBQSx5QkFBQWQsS0FBQSxvQkFHQUEsTUFB
QXNyQixHQUFBN3ZCLEtBQUF1RSxLQUFBYyxHQUFBbEcsRUFBQW9tQixNQVVBNVIsR0FBQTNFLFVB
QUF1SixTQUFBLFdBQ0FoVSxLQUFBcEYsTUFBQW9GLEtBQUFxRCxNQUNBckQsS0FBQStULE9BQUEs
R0FNQTNFLEdBQUEzRSxVQUFBaEgsT0FBQSxXQUlBLElBSEEsR0FBQStoQyxHQUFBeGxDLEtBRUFq
RCxFQUFBaUQsS0FBQW1sQyxLQUFBbm9DLE9BQ0FELEtBQ0F5b0MsRUFBQUwsS0FBQXBvQyxHQUFB
MEcsVUFPQTJMLEdBQUEzRSxVQUFBaTdCLFNBQUEsV0FDQSxHQUFBRixHQUFBeGxDLElBRUEsSUFB
QUEsS0FBQWtsQyxPQUFBLENBSUFsbEMsS0FBQWMsR0FBQTROLG1CQUNBeFIsRUFBQThDLEtBQUFj
LEdBQUE0UixVQUFBMVMsS0FHQSxLQURBLEdBQUFqRCxHQUFBaUQsS0FBQW1sQyxLQUFBbm9DLE9B
Q0FELEtBQ0F5b0MsRUFBQUwsS0FBQXBvQyxHQUFBaW5DLFVBQUF3QixFQUVBeGxDLE1BQUFrbEMs
UUFBQSxHQVNBLElBQUFsekIsSUFBQSxHQUFBd3dCLElBK0JBaHdCLElBQ0FwUyxZQUFBLEVBQ0FF
LGNBQUEsRUFDQStDLElBQUF0RSxFQUNBd0UsSUFBQXhFLEdBd0lBNlUsSUFBOEI4VCxNQUFBLEdB
OFI5QjNRLElBQ0E0dUIsS0FBQSxTQUNBLzlCLEVBQ0FpSCxFQUNBc0gsRUFDQUMsR0FFQSxJQUFB
eE8sRUFBQW9WLG1CQUFBcFYsRUFBQW9WLGtCQUFBdk8sYUFBQSxFQUNBN0csRUFBQW9WLGtCQUFB
OUcsR0FDQXRPLEVBQ0EybUIsR0FDQXBZLEVBQ0FDLElBRUF3dkIsT0FBQS8yQixFQUFBakgsRUFB
QU0sUUFBQWxOLEdBQUE2VCxPQUNLLElBQUFqSCxFQUFBRyxLQUFBODlCLFVBQUEsQ0FFTCxHQUFB
QyxHQUFBbCtCLENBQ0FtUCxJQUFBZ3ZCLFNBQUFELE9BSUFDLFNBQUEsU0FBQTFsQixFQUFBelks
R0FDQSxHQUFBaEQsR0FBQWdELEVBQUFRLGdCQUVBa0gsSUFEQTFILEVBQUFvVixrQkFBQXFELEVB
QUFyRCxrQkFHQXBZLEVBQUErQixVQUNBL0IsRUFBQW1JLFVBQ0FuRixFQUNBaEQsRUFBQW9ELFdB
SUFnK0IsT0FBQSxTQUFBcCtCLEdBQ0EsR0FBQU8sR0FBQVAsRUFBQU8sUUFDQTZVLEVBQUFwVixF
QUFBb1YsaUJBQ0FBLEdBQUF4TyxhQUNBd08sRUFBQXhPLFlBQUEsRUFDQVEsR0FBQWdPLEVBQUEs
WUFFQXBWLEVBQUFHLEtBQUE4OUIsWUFDQTE5QixFQUFBcUcsV0FNQW9ELEdBQUFvTCxHQUVBMU0s
R0FBQTBNLEdBQUEsS0FLQWlwQixRQUFBLFNBQUFyK0IsR0FDQSxHQUFBb1YsR0FBQXBWLEVBQUFv
VixpQkFDQUEsR0FBQXZPLGVBQ0E3RyxFQUFBRyxLQUFBODlCLFVBR0FyMUIsR0FBQXdNLEdBQUEs
R0FGQUEsRUFBQUMsY0FRQXJHLEdBQUFsYyxPQUFBaUYsS0FBQW9YLElBaUtBVSxHQUFBLEVBQ0FI
LEdBQUEsRUFnZEE0dUIsR0FBQSxHQUVBLFNBQUFockIsR0FDQUEsRUFBQXpRLFVBQUF1USxNQUFB
LFNBQUFwVyxHQUNBLEdBQUE5RCxHQUFBZCxJQUVBYyxHQUFBcWxDLEtBQUFELEtBV0FwbEMsRUFB
QThCLFFBQUEsRUFFQWdDLEtBQUEwUixhQUlBMkQsR0FBQW5aLEVBQUE4RCxHQUVBOUQsRUFBQXNH
LFNBQUE1QixFQUNBb1EsR0FBQTlVLEVBQUFvWixhQUNBdFYsTUFDQTlELEdBT0FBLEVBQUF1WSxh
QUFBdlksRUFHQUEsRUFBQXNsQyxNQUFBdGxDLEVBQ0FpTixHQUFBak4sR0FDQThMLEdBQUE5TCxH
QUNBOFksR0FBQTlZLEdBQ0FrTyxHQUFBbE8sRUFBQSxnQkFDQTBULEdBQUExVCxHQUNBMlIsR0FB
QTNSLEdBQ0F1VCxHQUFBdlQsR0FDQWtPLEdBQUFsTyxFQUFBLFdBU0FBLEVBQUFzRyxTQUFBd0gs
SUFDQTlOLEVBQUE4a0MsT0FBQTlrQyxFQUFBc0csU0FBQXdILE1Bd0ZBbU0sSUFwK0JBLFNBQUFH
LEdBSUEsR0FBQW1yQixLQUNBQSxHQUFBaGpDLElBQUEsV0FBNkIsTUFBQXJELE1BQUFnVCxNQUM3
QixJQUFBc3pCLEtBQ0FBLEdBQUFqakMsSUFBQSxXQUE4QixNQUFBckQsTUFBQXFILFFBYTlCM00s
T0FBQUMsZUFBQXVnQixFQUFBelEsVUFBQSxRQUFBNDdCLEdBQ0EzckMsT0FBQUMsZUFBQXVnQixF
QUFBelEsVUFBQSxTQUFBNjdCLEdBRUFwckIsRUFBQXpRLFVBQUE4N0IsS0FBQWhqQyxFQUNBMlgs
RUFBQXpRLFVBQUErN0IsUUFBQTFpQyxFQUVBb1gsRUFBQXpRLFVBQUEySixPQUFBLFNBQ0Eyd0Is
RUFDQXpaLEVBQ0ExbUIsR0FFQSxHQUFBOUQsR0FBQWQsSUFDQSxJQUFBekUsRUFBQSt2QixHQUNB
LE1BQUFwWCxJQUFBcFQsRUFBQWlrQyxFQUFBelosRUFBQTFtQixFQUVBQSxTQUNBQSxFQUFBcWdD
LE1BQUEsQ0FDQSxJQUFBOXpCLEdBQUEsR0FBQS9CLElBQUF0TyxFQUFBaWtDLEVBQUF6WixFQUFB
MW1CLEVBSUEsT0FIQUEsR0FBQTZoQyxXQUNBbmIsRUFBQTd2QixLQUFBcUYsRUFBQXFRLEVBQUF2
VyxPQUVBLFdBQ0F1VyxFQUFBdTBCLGNBMjdCQTNxQixJQW5rRUEsU0FBQUcsR0FDQSxHQUFBd3JC
LEdBQUEsUUFDQXhyQixHQUFBelEsVUFBQTJDLElBQUEsU0FBQTVELEVBQUE1TCxHQUNBLEdBQUE0
bkMsR0FBQXhsQyxLQUVBYyxFQUFBZCxJQUNBLElBQUF2QixNQUFBYSxRQUFBa0ssR0FDQSxPQUFB
ek0sR0FBQSxFQUFBbUIsRUFBQXNMLEVBQUF4TSxPQUF1Q0QsRUFBQW1CLEVBQU9uQixJQUM5Q3lv
QyxFQUFBcDRCLElBQUE1RCxFQUFBek0sR0FBQWEsUUFHQWtELEVBQUErTCxRQUFBckQsS0FBQTFJ
LEVBQUErTCxRQUFBckQsUUFBQTVILEtBQUFoRSxHQUdBOG9DLEVBQUFobUMsS0FBQThJLEtBQ0Ex
SSxFQUFBZ00sZUFBQSxFQUdBLE9BQUFoTSxJQUdBb2EsRUFBQXpRLFVBQUEwQyxNQUFBLFNBQUEz
RCxFQUFBNUwsR0FFQSxRQUFBc0wsS0FDQXBJLEVBQUF3TSxLQUFBOUQsRUFBQU4sR0FDQXRMLEVB
QUFRLE1BQUEwQyxFQUFBM0MsV0FIQSxHQUFBMkMsR0FBQWQsSUFPQSxPQUZBa0osR0FBQXRMLEtB
Q0FrRCxFQUFBc00sSUFBQTVELEVBQUFOLEdBQ0FwSSxHQUdBb2EsRUFBQXpRLFVBQUE2QyxLQUFB
LFNBQUE5RCxFQUFBNUwsR0FDQSxHQUFBNG5DLEdBQUF4bEMsS0FFQWMsRUFBQWQsSUFFQSxLQUFB
N0IsVUFBQW5CLE9BRUEsTUFEQThELEdBQUErTCxRQUFBblMsT0FBQWtDLE9BQUEsTUFDQWtFLENB
R0EsSUFBQXJDLE1BQUFhLFFBQUFrSyxHQUFBLENBQ0EsT0FBQXV2QixHQUFBLEVBQUE3NkIsRUFB
QXNMLEVBQUF4TSxPQUF5Qys3QixFQUFBNzZCLEVBQVM2NkIsSUFDbER5TSxFQUFBbDRCLEtBQUE5
RCxFQUFBdXZCLEdBQUFuN0IsRUFFQSxPQUFBa0QsR0FHQSxHQUFBNmxDLEdBQUE3bEMsRUFBQStM
LFFBQUFyRCxFQUNBLEtBQUFtOUIsRUFDQSxNQUFBN2xDLEVBRUEsUUFBQTNDLFVBQUFuQixPQUVB
LE1BREE4RCxHQUFBK0wsUUFBQXJELEdBQUEsS0FDQTFJLENBS0EsS0FGQSxHQUFBd3FCLEdBQ0F2
dUIsRUFBQTRwQyxFQUFBM3BDLE9BQ0FELEtBRUEsSUFEQXV1QixFQUFBcWIsRUFBQTVwQyxNQUNB
YSxHQUFBMHRCLEVBQUExdEIsT0FBQSxDQUNBK29DLEVBQUFwcEMsT0FBQVIsRUFBQSxFQUNBLE9B
R0EsTUFBQStELElBR0FvYSxFQUFBelEsVUFBQWtHLE1BQUEsU0FBQW5ILEdBQ0EsR0FBQTFJLEdB
QUFkLEtBYUEybUMsRUFBQTdsQyxFQUFBK0wsUUFBQXJELEVBQ0EsSUFBQW05QixFQUFBLENBQ0FB
LElBQUEzcEMsT0FBQSxFQUFBc0IsRUFBQXFvQyxJQUVBLFFBREFwckIsR0FBQWpkLEVBQUFILFVB
QUEsR0FDQXBCLEVBQUEsRUFBQW1CLEVBQUF5b0MsRUFBQTNwQyxPQUFxQ0QsRUFBQW1CLEVBQU9u
QixJQUM1QyxJQUNBNHBDLEVBQUE1cEMsR0FBQXFCLE1BQUEwQyxFQUFBeWEsR0FDUyxNQUFBOWIs
R0FDVG1CLEVBQUFuQixFQUFBcUIsRUFBQSxzQkFBQTBJLEVBQUEsTUFJQSxNQUFBMUksS0FvK0RB
aWEsSUF2NERBLFNBQUFHLEdBQ0FBLEVBQUF6USxVQUFBeUUsUUFBQSxTQUFBdEgsRUFBQWlILEdB
Q0EsR0FBQS9OLEdBQUFkLElBQ0FjLEdBQUEwTixZQUNBUSxHQUFBbE8sRUFBQSxlQUVBLElBQUE4
bEMsR0FBQTlsQyxFQUFBZ08sSUFDQSszQixFQUFBL2xDLEVBQUFpUCxPQUNBKzJCLEVBQUF2WSxF
QUNBQSxJQUFBenRCLEVBQ0FBLEVBQUFpUCxPQUFBbkksRUFHQWkvQixFQVlBL2xDLEVBQUFnTyxJ
QUFBaE8sRUFBQWltQyxVQUFBRixFQUFBai9CLElBVkE5RyxFQUFBZ08sSUFBQWhPLEVBQUFpbUMs
VUFDQWptQyxFQUFBZ08sSUFBQWxILEVBQUFpSCxHQUFBLEVBQ0EvTixFQUFBc0csU0FBQW9QLFdB
Q0ExVixFQUFBc0csU0FBQXFQLFNBSUEzVixFQUFBc0csU0FBQW9QLFdBQUExVixFQUFBc0csU0FB
QXFQLFFBQUEsTUFLQThYLEdBQUF1WSxFQUVBRixJQUNBQSxFQUFBSSxRQUFBLE1BRUFsbUMsRUFB
QWdPLE1BQ0FoTyxFQUFBZ08sSUFBQWs0QixRQUFBbG1DLEdBR0FBLEVBQUF1TyxRQUFBdk8sRUFB
QW1OLFNBQUFuTixFQUFBdU8sU0FBQXZPLEVBQUFtTixRQUFBOEIsU0FDQWpQLEVBQUFtTixRQUFB
YSxJQUFBaE8sRUFBQWdPLE1BTUFvTSxFQUFBelEsVUFBQXlCLGFBQUEsV0FDQSxHQUFBcEwsR0FB
QWQsSUFDQWMsR0FBQXVOLFVBQ0F2TixFQUFBdU4sU0FBQTlJLFVBSUEyVixFQUFBelEsVUFBQXdT
LFNBQUEsV0FDQSxHQUFBbmMsR0FBQWQsSUFDQSxLQUFBYyxFQUFBNE4sa0JBQUEsQ0FHQU0sR0FB
QWxPLEVBQUEsaUJBQ0FBLEVBQUE0TixtQkFBQSxDQUVBLElBQUFqSixHQUFBM0UsRUFBQW1OLFNB
Q0F4SSxLQUFBaUosbUJBQUE1TixFQUFBc0csU0FBQTRHLFVBQ0E5USxFQUFBdUksRUFBQXlJLFVB
QUFwTixHQUdBQSxFQUFBdU4sVUFDQXZOLEVBQUF1TixTQUFBcTNCLFVBR0EsS0FEQSxHQUFBM29D
LEdBQUErRCxFQUFBNFIsVUFBQTFWLE9BQ0FELEtBQ0ErRCxFQUFBNFIsVUFBQTNWLEdBQUEyb0Ms
VUFJQTVrQyxHQUFBa1MsTUFBQTFRLFFBQ0F4QixFQUFBa1MsTUFBQTFRLE9BQUFPLFVBR0EvQixF
QUFBMk4sY0FBQSxFQUVBM04sRUFBQWltQyxVQUFBam1DLEVBQUFpUCxPQUFBLE1BRUFmLEdBQUFs
TyxFQUFBLGFBRUFBLEVBQUF3TSxPQUVBeE0sRUFBQWdPLE1BQ0FoTyxFQUFBZ08sSUFBQWs0QixR
QUFBLFNBbXpEQWpzQixJQXJPQSxTQUFBRyxHQUNBQSxFQUFBelEsVUFBQXc4QixVQUFBLFNBQUFy
cEMsR0FDQSxNQUFBa1UsSUFBQWxVLEVBQUFvQyxPQUdBa2IsRUFBQXpRLFVBQUEwRSxRQUFBLFdB
Q0EsR0FBQXJPLEdBQUFkLEtBQ0EyZixFQUFBN2UsRUFBQXNHLFNBQ0EySCxFQUFBNFEsRUFBQTVR
LE9BQ0E0SCxFQUFBZ0osRUFBQWhKLGdCQUNBN0csRUFBQTZQLEVBQUE3UCxZQUVBLElBQUFoUCxF
QUFBME4sV0FFQSxPQUFBL1EsS0FBQXFELEdBQUFzUCxPQUNBdFAsRUFBQXNQLE9BQUEzUyxHQUFB
aUwsR0FBQTVILEVBQUFzUCxPQUFBM1MsR0FJQXFELEdBQUE4TyxhQUFBRSxLQUFBL0gsS0FBQTRI
LGFBQUFFLEdBRUE4RyxJQUFBN1YsRUFBQXNZLGVBQ0F0WSxFQUFBc1ksaUJBSUF0WSxFQUFBdU8s
T0FBQVMsQ0FFQSxJQUFBbEksRUFDQSxLQUNBQSxFQUFBbUgsRUFBQXRULEtBQUFxRixFQUFBdVks
YUFBQXZZLEVBQUFpWixnQkFDSyxNQUFBdGEsR0FDTG1CLEVBQUFuQixFQUFBcUIsRUFBQSxtQkFT
QThHLEVBQUE5RyxFQUFBaVAsT0FnQkEsTUFaQW5JLGFBQUFGLE1BUUFFLEVBQUEyRCxNQUdBM0Qs
RUFBQW5DLE9BQUFxSyxFQUNBbEksR0FNQXNULEVBQUF6USxVQUFBeThCLEdBQUEzdEIsR0FDQTJC
LEVBQUF6USxVQUFBMDhCLEdBQUE3cUMsRUFDQTRlLEVBQUF6USxVQUFBMjhCLEdBQUFsckMsRUFD
QWdmLEVBQUF6USxVQUFBNDhCLEdBQUF2dkIsR0FDQW9ELEVBQUF6USxVQUFBNjhCLEdBQUF2dkIs
R0FDQW1ELEVBQUF6USxVQUFBODhCLEdBQUFyb0MsRUFDQWdjLEVBQUF6USxVQUFBKzhCLEdBQUEz
bkMsRUFDQXFiLEVBQUF6USxVQUFBZzlCLEdBQUF4dUIsR0FDQWlDLEVBQUF6USxVQUFBaTlCLEdB
QUF0dkIsR0FDQThDLEVBQUF6USxVQUFBazlCLEdBQUFydkIsR0FDQTRDLEVBQUF6USxVQUFBbTlC
LEdBQUFsdkIsR0FDQXdDLEVBQUF6USxVQUFBbzlCLEdBQUFwZ0MsRUFDQXlULEVBQUF6USxVQUFB
cTlCLEdBQUF2OEIsR0FDQTJQLEVBQUF6USxVQUFBczlCLEdBQUFqNkIsR0FDQW9OLEVBQUF6USxV
QUFBdTlCLEdBQUF0dUIsSUF5SkFxQixHQTBLQSxJQUFBa3RCLEtBQUE1ckMsT0FBQSs0QixPQUFB
MzJCLE9BdUNBeXBDLElBQ0FwakMsS0FBQSxhQUNBa0osVUFBQSxFQUVBbkosT0FDQXNqQyxRQUFB
RixHQUNBRyxRQUFBSCxJQUdBSSxRQUFBLFdBQ0Fyb0MsS0FBQW5DLE1BQUFuRCxPQUFBa0MsT0FB
QSxPQUdBMHJDLFVBQUEsV0FDQSxHQUFBOUMsR0FBQXhsQyxJQUVBLFFBQUF2QyxLQUFBK25DLEdB
QUEzbkMsTUFDQWtmLEdBQUF5b0IsRUFBQTNuQyxNQUFBSixLQUlBMFYsT0FDQWcxQixRQUFBLFNB
QUF2c0MsR0FDQStnQixHQUFBM2MsS0FBQW5DLE1BQUFtQyxLQUFBK1AsT0FBQSxTQUFBakwsR0FB
MkQsTUFBQTJYLElBQUE3Z0IsRUFBQWtKLE1BRTNEc2pDLFFBQUEsU0FBQXhzQyxHQUNBK2dCLEdB
QUEzYyxLQUFBbkMsTUFBQW1DLEtBQUErUCxPQUFBLFNBQUFqTCxHQUEyRCxPQUFBMlgsR0FBQTdn
QixFQUFBa0osT0FJM0RpSyxPQUFBLFdBQ0EsR0FBQW5ILEdBQUErRSxHQUFBM00sS0FBQW9RLE9B
QUFqSixTQUNBaUIsRUFBQVIsS0FBQVEsZ0JBQ0EsSUFBQUEsRUFBQSxDQUVBLEdBQUF0RCxHQUFB
MFgsR0FBQXBVLEVBQ0EsSUFBQXRELElBQ0E5RSxLQUFBbW9DLFVBQUExckIsR0FBQXpjLEtBQUFt
b0MsUUFBQXJqQyxJQUNBOUUsS0FBQW9vQyxTQUFBM3JCLEdBQUF6YyxLQUFBb29DLFFBQUF0akMs
SUFFQSxNQUFBOEMsRUFFQSxJQUFBbkssR0FBQSxNQUFBbUssRUFBQW5LLElBR0EySyxFQUFBOUcs
S0FBQXFVLEtBQUF2TixFQUFBTixJQUFBLEtBQUFNLEVBQUEsUUFDQVIsRUFBQW5LLEdBQ0F1QyxN
QUFBbkMsTUFBQUosR0FDQW1LLEVBQUFvVixrQkFBQWhkLEtBQUFuQyxNQUFBSixHQUFBdWYsa0JB
RUFoZCxLQUFBbkMsTUFBQUosR0FBQW1LLEVBRUFBLEVBQUFHLEtBQUE4OUIsV0FBQSxFQUVBLE1B
QUFqK0IsS0FJQTJnQyxJQUNBTCxlQUtBLFNBQUFodEIsR0FFQSxHQUFBc3RCLEtBQ0FBLEdBQUFu
bEMsSUFBQSxXQUErQixNQUFBckMsS0FRL0J0RyxPQUFBQyxlQUFBdWdCLEVBQUEsU0FBQXN0QixH
QUtBdHRCLEVBQUF1dEIsTUFDQTVqQixRQUNBbm1CLFNBQ0E4RyxlQUNBa2pDLGVBQUE1bEMsR0FH
QW9ZLEVBQUEzWCxNQUNBMlgsRUFBQXl0QixPQUFBN2tDLEVBQ0FvWCxFQUFBcEosWUFFQW9KLEVB
QUF0VyxRQUFBbEssT0FBQWtDLE9BQUEsTUFDQXdmLEdBQUF6SCxRQUFBLFNBQUEzUCxHQUNBa1cs
RUFBQXRXLFFBQUFJLEVBQUEsS0FBQXRLLE9BQUFrQyxPQUFBLFFBS0FzZSxFQUFBdFcsUUFBQThR
LE1BQUF3RixFQUVBeGMsRUFBQXdjLEVBQUF0VyxRQUFBNFYsV0FBQSt0QixJQUVBdHRCLEdBQUFD
LEdBQ0FRLEdBQUFSLEdBQ0FVLEdBQUFWLEdBQ0FvQixHQUFBcEIsSUFHQUgsSUFFQXJnQixPQUFB
QyxlQUFBb2dCLEdBQUF0USxVQUFBLGFBQ0FwSCxJQUFBWCxLQUdBaEksT0FBQUMsZUFBQW9nQixH
QUFBdFEsVUFBQSxlQUNBcEgsSUFBQSxXQUVBLE1BQUFyRCxNQUFBcVAsUUFBQXJQLEtBQUFxUCxP
QUFBdTVCLGNBSUE3dEIsR0FBQTh0QixRQUFBLE9BTUEsSUFnOUNBcmhDLElBQ0EvSyxHQUNBNnBC
LEdBQ0FMLEdBQ0FDLEdBQ0FDLEdBd0VBWSxHQXlMQW1CLEdBNE9BNGdCLEdBbDhEQWpILEdBQUFy
bEMsRUFBQSxlQUdBdXNDLEdBQUF2c0MsRUFBQSxnQ0FDQXNjLEdBQUEsU0FBQWhSLEVBQUE5QyxF
QUFBc3hCLEdBQ0EsTUFDQSxVQUFBQSxHQUFBeVMsR0FBQWpoQyxJQUFBLFdBQUE5QyxHQUNBLGFB
QUFzeEIsR0FBQSxXQUFBeHVCLEdBQ0EsWUFBQXd1QixHQUFBLFVBQUF4dUIsR0FDQSxVQUFBd3VC
LEdBQUEsVUFBQXh1QixHQUlBcWEsR0FBQTNsQixFQUFBLHdDQUVBNmxCLEdBQUE3bEIsRUFDQSx3
WUFRQXlsQixHQUFBLCtCQUVBRixHQUFBLFNBQUFqZCxHQUNBLFlBQUFBLEVBQUFnZixPQUFBLGNB
QUFoZixFQUFBa0UsTUFBQSxNQUdBa1osR0FBQSxTQUFBcGQsR0FDQSxNQUFBaWQsSUFBQWpkLEtB
QUFrRSxNQUFBLEVBQUFsRSxFQUFBOUgsUUFBQSxJQUdBc2xCLEdBQUEsU0FBQTFtQixHQUNBLGFB
QUFBLElBQUEsSUFBQUEsR0FzRkFrakIsSUFDQWtxQixJQUFBLDZCQUNBQyxLQUFBLHNDQUdBQyxH
QUFBMXNDLEVBQ0Esc25CQWVBc2hCLEdBQUF0aEIsRUFDQSxrTkFHQSxHQUdBKzZCLEdBQUEsU0FB
QXp2QixHQUErQixjQUFBQSxHQUUvQjZQLEdBQUEsU0FBQTdQLEdBQ0EsTUFBQW9oQyxJQUFBcGhD
LElBQUFnVyxHQUFBaFcsSUFjQWtXLEdBQUF0akIsT0FBQWtDLE9BQUEsTUF5R0F1c0MsR0FBQXp1
QyxPQUFBcW5DLFFBQ0F6c0IsY0FBQWtKLEdBQ0FJLG1CQUNBRyxrQkFDQUMsaUJBQ0FDLGdCQUNB
RyxlQUNBQyxlQUNBbEMsY0FDQW1DLGVBQ0FiLFdBQ0FjLGtCQUNBWixrQkFLQWdCLElBQ0EvaUIs
T0FBQSxTQUFBMG5CLEVBQUExYyxHQUNBNlgsR0FBQTdYLElBRUFyQyxPQUFBLFNBQUE4YSxFQUFB
elksR0FDQXlZLEVBQUF0WSxLQUFBNFgsTUFBQS9YLEVBQUFHLEtBQUE0WCxNQUNBRixHQUFBWSxH
QUFBLEdBQ0FaLEdBQUE3WCxLQUdBcStCLFFBQUEsU0FBQXIrQixHQUNBNlgsR0FBQTdYLEdBQUEs
S0E2Q0E2WSxHQUFBLEdBQUEvWSxJQUFBLFVBRUEwaEMsSUFBQSxpREE0bkJBOWpDLElBQ0ExSSxP
QUFBd2pCLEdBQ0E3YSxPQUFBNmEsR0FDQTZsQixRQUFBLFNBQUFyK0IsR0FDQXdZLEdBQUF4WSxF
QUFBNlksTUFzRUFhLEdBQUE1bUIsT0FBQWtDLE9BQUEsTUFxQ0F5c0MsSUFDQTFwQixHQUNBcmEs
SUF1RUE2RSxJQUNBdk4sT0FBQThrQixHQUNBbmMsT0FBQW1jLElBb0NBNG5CLElBQ0Exc0MsT0FB
QTRsQixHQUNBamQsT0FBQWlkLElBS0F1QixHQUFBLGdCQXNXQTZELEdBQUEsTUFDQUwsR0FBQSxN
QXNPQXpDLElBQ0Fsb0IsT0FBQTRyQixHQUNBampCLE9BQUFpakIsSUFxRkF6UCxJQUNBbmMsT0FB
QTZyQixHQUNBbGpCLE9BQUFrakIsSUFLQWlCLEdBQUEvckIsRUFBQSxTQUFBNHJDLEdBQ0EsR0FB
QXpxQyxNQUNBMHFDLEVBQUEsZ0JBQ0FDLEVBQUEsT0FPQSxPQU5BRixHQUFBenNDLE1BQUEwc0Ms
R0FBQTcwQixRQUFBLFNBQUF2WCxHQUNBLEdBQUFBLEVBQUEsQ0FDQSxHQUFBcW9DLEdBQUFyb0Ms
RUFBQU4sTUFBQTJzQyxFQUNBaEUsR0FBQXpvQyxPQUFBLElBQUE4QixFQUFBMm1DLEVBQUEsR0FB
QXRpQixRQUFBc2lCLEVBQUEsR0FBQXRpQixXQUdBcmtCLElBeURBNHFDLEdBQUEsTUFDQUMsR0FB
QSxpQkFDQXZmLEdBQUEsU0FBQXhiLEVBQUE5SixFQUFBbEosR0FFQSxHQUFBOHRDLEdBQUFocEMs
S0FBQW9FLEdBQ0E4SixFQUFBMGEsTUFBQXNnQixZQUFBOWtDLEVBQUFsSixPQUNHLElBQUErdEMs
R0FBQWpwQyxLQUFBOUUsR0FDSGdULEVBQUEwYSxNQUFBc2dCLFlBQUE5a0MsRUFBQWxKLEVBQUE4
dUIsUUFBQWlmLEdBQUEscUJBQ0csQ0FDSCxHQUFBRSxHQUFBQyxHQUFBaGxDLEVBQ0EsSUFBQXJH
LE1BQUFhLFFBQUExRCxHQUlBLE9BQUFtQixHQUFBLEVBQUF5SyxFQUFBNUwsRUFBQW9CLE9BQXVD
RCxFQUFBeUssRUFBU3pLLElBQ2hENlIsRUFBQTBhLE1BQUF1Z0IsR0FBQWp1QyxFQUFBbUIsT0FH
QTZSLEdBQUEwYSxNQUFBdWdCLEdBQUFqdUMsSUFLQW11QyxJQUFBLHFCQUdBRCxHQUFBbnNDLEVB
QUEsU0FBQWlKLEdBR0EsR0FGQWtpQyxPQUFBN3FCLFNBQUEzSSxjQUFBLE9BQUFnVSxNQUVBLFlB
REExaUIsRUFBQTdCLEdBQUE2QixLQUNBQSxJQUFBa2lDLElBQ0EsTUFBQWxpQyxFQUdBLFFBREFv
akMsR0FBQXBqQyxFQUFBa2QsT0FBQSxHQUFBcWQsY0FBQXY2QixFQUFBb0MsTUFBQSxHQUNBak0s
RUFBQSxFQUFpQkEsRUFBQWd0QyxHQUFBL3NDLE9BQXdCRCxJQUFBLENBQ3pDLEdBQUErSCxHQUFB
aWxDLEdBQUFodEMsR0FBQWl0QyxDQUNBLElBQUFsbEMsSUFBQWdrQyxJQUNBLE1BQUFoa0MsTUFn
REF3a0IsSUFDQTFzQixPQUFBa3RCLEdBQ0F2a0IsT0FBQXVrQixJQW9GQWdCLEdBQUFudEIsRUFB
QSxTQUFBbUgsR0FDQSxPQUNBMm9CLFdBQUEzb0IsRUFBQSxTQUNBNG9CLGFBQUE1b0IsRUFBQSxZ
QUNBNm9CLGlCQUFBN29CLEVBQUEsZ0JBQ0FnckIsV0FBQWhyQixFQUFBLFNBQ0FrckIsYUFBQWxy
QixFQUFBLFlBQ0FpckIsaUJBQUFqckIsRUFBQSxtQkFJQW1sQyxHQUFBL29DLEtBQUE0Z0IsR0FD
QTJKLEdBQUEsYUFDQWlCLEdBQUEsWUFHQVIsR0FBQSxhQUNBUixHQUFBLGdCQUNBYSxHQUFBLFlB
Q0FaLEdBQUEsY0FDQXNlLFVBRUFqdkMsS0FBQWtqQixPQUFBZ3NCLHFCQUNBbHZDLEtBQUFrakIs
T0FBQWlzQix3QkFFQWplLEdBQUEsbUJBQ0FSLEdBQUEsMkJBRUExd0IsS0FBQWtqQixPQUFBa3NC
LG9CQUNBcHZDLEtBQUFrakIsT0FBQW1zQix1QkFFQTlkLEdBQUEsa0JBQ0FaLEdBQUEsc0JBS0Es
SUFBQVgsSUFBQTlwQixJQUFBZ2QsT0FBQW9zQixzQkFDQXBzQixPQUFBb3NCLHNCQUFBeHNDLEtB
QUFvZ0IsUUFDQXpSLFdBc0RBbWdCLEdBQUEseUJBaVhBVSxHQUFBcHNCLElBQ0F0RSxPQUFBMHpC
LEdBQ0FpYSxTQUFBamEsR0FDQXB6QixPQUFBLFNBQUEwSyxFQUFBK25CLElBRUEsSUFBQS9uQixF
QUFBRyxLQUFBdW5CLEtBQ0FJLEdBQUE5bkIsRUFBQStuQixHQUVBQSxTQUtBNmEsSUFDQXJnQyxH
QUNBbS9CLEdBQ0F4a0IsR0FDQS9MLEdBQ0F1USxHQUNBZ0UsSUFPQWxKLEdBQUFvbUIsR0FBQS9s
QyxPQUFBNGtDLElBRUFvQixHQTVyRUEsU0FBQUMsR0FnQkEsUUFBQUMsR0FBQXppQyxHQUNBLFVB
QUFSLElBQUF5aEMsRUFBQTFxQixRQUFBdlcsR0FBQWpMLHdCQUEyRGpDLEdBQUFrTixHQUczRCxR
QUFBMGlDLEdBQUFDLEVBQUE5OUIsR0FDQSxRQUFBMUQsS0FDQSxLQUFBQSxFQUFBMEQsV0FDQSs5
QixFQUFBRCxHQUlBLE1BREF4aEMsR0FBQTBELFlBQ0ExRCxFQUdBLFFBQUF5aEMsR0FBQWw4QixH
QUNBLEdBQUFuSixHQUFBMGpDLEVBQUFoc0IsV0FBQXZPLEVBRUEzVCxHQUFBd0ssSUFDQTBqQyxF
QUFBL3BCLFlBQUEzWixFQUFBbUosR0FLQSxRQUFBbThCLEdBQUFuakMsRUFBQW9qQyxFQUFBNzBC
LEVBQUFDLEVBQUE2MEIsR0FFQSxHQURBcmpDLEVBQUE4bUIsY0FBQXVjLEdBQ0F4MUIsRUFBQTdO
LEVBQUFvakMsRUFBQTcwQixFQUFBQyxHQUFBLENBSUEsR0FBQXJPLEdBQUFILEVBQUFHLEtBQ0FD
LEVBQUFKLEVBQUFJLFNBQ0FGLEVBQUFGLEVBQUFFLEdBQ0E3TSxHQUFBNk0sSUFtQkFGLEVBQUFN
LElBQUFOLEVBQUFVLEdBQ0E2Z0MsRUFBQXZxQixnQkFBQWhYLEVBQUFVLEdBQUFSLEdBQ0FxaEMs
RUFBQTd6QixjQUFBeE4sRUFBQUYsR0FDQXNqQyxFQUFBdGpDLEdBSUF1akMsRUFBQXZqQyxFQUFB
SSxFQUFBZ2pDLEdBQ0EvdkMsRUFBQThNLElBQ0FxakMsRUFBQXhqQyxFQUFBb2pDLEdBRUFoRixF
QUFBN3ZCLEVBQUF2TyxFQUFBTSxJQUFBa08sSUFNS2xiLEVBQUEwTSxFQUFBWSxZQUNMWixFQUFB
TSxJQUFBaWhDLEVBQUFucUIsY0FBQXBYLEVBQUFLLE1BQ0ErOUIsRUFBQTd2QixFQUFBdk8sRUFB
QU0sSUFBQWtPLEtBRUF4TyxFQUFBTSxJQUFBaWhDLEVBQUFwcUIsZUFBQW5YLEVBQUFLLE1BQ0Er
OUIsRUFBQTd2QixFQUFBdk8sRUFBQU0sSUFBQWtPLEtBSUEsUUFBQVgsR0FBQTdOLEVBQUFvakMs
RUFBQTcwQixFQUFBQyxHQUNBLEdBQUFyWixHQUFBNkssRUFBQUcsSUFDQSxJQUFBOU0sRUFBQThC
LEdBQUEsQ0FDQSxHQUFBc3VDLEdBQUFwd0MsRUFBQTJNLEVBQUFvVixvQkFBQWpnQixFQUFBOG9D
LFNBUUEsSUFQQTVxQyxFQUFBOEIsSUFBQStNLE9BQUE3TyxFQUFBOEIsSUFBQTRvQyxPQUNBNW9D
LEVBQUE2SyxHQUFBLEVBQUF1TyxFQUFBQyxHQU1BbmIsRUFBQTJNLEVBQUFvVixtQkFLQSxNQUpB
c3VCLEdBQUExakMsRUFBQW9qQyxHQUNBOXZDLEVBQUFtd0MsSUFDQUUsRUFBQTNqQyxFQUFBb2pD
LEVBQUE3MEIsRUFBQUMsSUFFQSxHQUtBLFFBQUFrMUIsR0FBQTFqQyxFQUFBb2pDLEdBQ0EvdkMs
RUFBQTJNLEVBQUFHLEtBQUF5akMsaUJBQ0FSLEVBQUFwcEMsS0FBQXhELE1BQUE0c0MsRUFBQXBq
QyxFQUFBRyxLQUFBeWpDLGVBQ0E1akMsRUFBQUcsS0FBQXlqQyxjQUFBLE1BRUE1akMsRUFBQU0s
SUFBQU4sRUFBQW9WLGtCQUFBbE8sSUFDQTI4QixFQUFBN2pDLElBQ0F3akMsRUFBQXhqQyxFQUFB
b2pDLEdBQ0FFLEVBQUF0akMsS0FJQTZYLEdBQUE3WCxHQUVBb2pDLEVBQUFwcEMsS0FBQWdHLElB
SUEsUUFBQTJqQyxHQUFBM2pDLEVBQUFvakMsRUFBQTcwQixFQUFBQyxHQU9BLElBTkEsR0FBQXJa
LEdBS0EydUMsRUFBQTlqQyxFQUNBOGpDLEVBQUExdUIsbUJBRUEsR0FEQTB1QixJQUFBMXVCLGtC
QUFBak4sT0FDQTlVLEVBQUE4QixFQUFBMnVDLEVBQUEzakMsT0FBQTlNLEVBQUE4QixJQUFBdXdC
LFlBQUEsQ0FDQSxJQUFBdndCLEVBQUEsRUFBbUJBLEVBQUE0cEMsRUFBQTRELFNBQUF2dEMsU0FB
eUJELEVBQzVDNHBDLEVBQUE0RCxTQUFBeHRDLEdBQUEwakIsR0FBQWlyQixFQUVBVixHQUFBcHBD
LEtBQUE4cEMsRUFDQSxPQUtBMUYsRUFBQTd2QixFQUFBdk8sRUFBQU0sSUFBQWtPLEdBR0EsUUFB
QTR2QixHQUFBdmdDLEVBQUF5QyxFQUFBeWpDLEdBQ0Exd0MsRUFBQXdLLEtBQ0F4SyxFQUFBMHdD
LEdBQ0FBLEVBQUF4dUIsYUFBQTFYLEdBQ0EwakMsRUFBQWxxQixhQUFBeFosRUFBQXlDLEVBQUF5
akMsR0FHQXhDLEVBQUE5cEIsWUFBQTVaLEVBQUF5QyxJQUtBLFFBQUFpakMsR0FBQXZqQyxFQUFB
SSxFQUFBZ2pDLEdBQ0EsR0FBQXZzQyxNQUFBYSxRQUFBMEksR0FDQSxPQUFBakwsR0FBQSxFQUFx
QkEsRUFBQWlMLEVBQUFoTCxTQUFxQkQsRUFDMUNndUMsRUFBQS9pQyxFQUFBakwsR0FBQWl1QyxF
QUFBcGpDLEVBQUFNLElBQUEsYUFFSzlNLEdBQUF3TSxFQUFBSyxPQUNMa2hDLEVBQUE5cEIsWUFB
QXpYLEVBQUFNLElBQUFpaEMsRUFBQXBxQixlQUFBblgsRUFBQUssT0FJQSxRQUFBd2pDLEdBQUE3
akMsR0FDQSxLQUFBQSxFQUFBb1YsbUJBQ0FwVixJQUFBb1Ysa0JBQUFqTixNQUVBLE9BQUE5VSxH
QUFBMk0sRUFBQUUsS0FHQSxRQUFBc2pDLEdBQUF4akMsRUFBQW9qQyxHQUNBLE9BQUFqUyxHQUFB
LEVBQXFCQSxFQUFBNE4sRUFBQS9wQyxPQUFBSSxTQUF5Qis3QixFQUM5QzROLEVBQUEvcEMsT0FB
QW04QixHQUFBdFksR0FBQTdZLEVBRUE3SyxHQUFBNkssRUFBQUcsS0FBQStCLEtBQ0E3TyxFQUFB
OEIsS0FDQTlCLEVBQUE4QixFQUFBSCxTQUE0QkcsRUFBQUgsT0FBQTZqQixHQUFBN1ksR0FDNUIz
TSxFQUFBOEIsRUFBQWlwQyxTQUE0QmdGLEVBQUFwcEMsS0FBQWdHLElBTzVCLFFBQUFzakMsR0FB
QXRqQyxHQUdBLElBRkEsR0FBQTdLLEdBQ0E2dUMsRUFBQWhrQyxFQUNBZ2tDLEdBQ0Ezd0MsRUFB
QThCLEVBQUE2dUMsRUFBQXpqQyxVQUFBbE4sRUFBQThCLElBQUFxSyxTQUFBeWtDLFdBQ0ExQyxF
QUFBeHFCLGFBQUEvVyxFQUFBTSxJQUFBbkwsRUFBQSxJQUVBNnVDLElBQUFubUMsTUFHQXhLLEdB
QUE4QixFQUFBd3hCLEtBQ0F4eEIsSUFBQTZLLEVBQUFPLFNBQ0FsTixFQUFBOEIsSUFBQXFLLFNB
QUF5a0MsV0FFQTFDLEVBQUF4cUIsYUFBQS9XLEVBQUFNLElBQUFuTCxFQUFBLElBSUEsUUFBQSt1
QyxHQUFBMzFCLEVBQUFDLEVBQUF6TixFQUFBb2pDLEVBQUE1ckIsRUFBQTZxQixHQUNBLEtBQVVl
LEdBQUE1ckIsSUFBb0I0ckIsRUFDOUJoQixFQUFBcGlDLEVBQUFvakMsR0FBQWYsRUFBQTcwQixF
QUFBQyxHQUlBLFFBQUE0MUIsR0FBQXBrQyxHQUNBLEdBQUE3SyxHQUFBMlQsRUFDQTNJLEVBQUFI
LEVBQUFHLElBQ0EsSUFBQTlNLEVBQUE4TSxHQUVBLElBREE5TSxFQUFBOEIsRUFBQWdMLEVBQUEr
QixPQUFBN08sRUFBQThCLElBQUFrcEMsVUFBeURscEMsRUFBQTZLLEdBQ3pEN0ssRUFBQSxFQUFp
QkEsRUFBQTRwQyxFQUFBVixRQUFBanBDLFNBQXdCRCxFQUFPNHBDLEVBQUFWLFFBQUFscEMsR0FB
QTZLLEVBRWhELElBQUEzTSxFQUFBOEIsRUFBQTZLLEVBQUFJLFVBQ0EsSUFBQTBJLEVBQUEsRUFB
aUJBLEVBQUE5SSxFQUFBSSxTQUFBaEwsU0FBMkIwVCxFQUM1Q3M3QixFQUFBcGtDLEVBQUFJLFNB
QUEwSSxJQUtBLFFBQUF1N0IsR0FBQTkxQixFQUFBeE4sRUFBQW9qQyxFQUFBNXJCLEdBQ0EsS0FB
VTRyQixHQUFBNXJCLElBQW9CNHJCLEVBQUEsQ0FDOUIsR0FBQUcsR0FBQXZqQyxFQUFBb2pDLEVB
Q0E5d0MsR0FBQWl4QyxLQUNBanhDLEVBQUFpeEMsRUFBQXBrQyxNQUNBcWtDLEVBQUFELEdBQ0FG
LEVBQUFFLElBRUFwQixFQUFBb0IsRUFBQWhrQyxPQU1BLFFBQUFpa0MsR0FBQXZrQyxFQUFBK25C
LEdBQ0EsR0FBQTEwQixFQUFBMDBCLElBQUExMEIsRUFBQTJNLEVBQUFHLE1BQUEsQ0FDQSxHQUFB
aEwsR0FDQWdRLEVBQUE0NUIsRUFBQXpwQyxPQUFBRixPQUFBLENBYUEsS0FaQS9CLEVBQUEwMEIs
R0FHQUEsRUFBQTVpQixhQUdBNGlCLEVBQUFpYixFQUFBaGpDLEVBQUFNLElBQUE2RSxHQUdBOVIs
RUFBQThCLEVBQUE2SyxFQUFBb1Ysb0JBQUEvaEIsRUFBQThCLElBQUFnVCxTQUFBOVUsRUFBQThC
LEVBQUFnTCxPQUNBb2tDLEVBQUFwdkMsRUFBQTR5QixHQUVBNXlCLEVBQUEsRUFBaUJBLEVBQUE0
cEMsRUFBQXpwQyxPQUFBRixTQUF1QkQsRUFDeEM0cEMsRUFBQXpwQyxPQUFBSCxHQUFBNkssRUFB
QStuQixFQUVBMTBCLEdBQUE4QixFQUFBNkssRUFBQUcsS0FBQStCLE9BQUE3TyxFQUFBOEIsSUFB
QUcsUUFDQUgsRUFBQTZLLEVBQUErbkIsR0FFQUEsUUFHQW1iLEdBQUFsakMsRUFBQU0sS0FJQSxR
QUFBa2tDLEdBQUFqMkIsRUFBQWsyQixFQUFBQyxFQUFBdEIsRUFBQXVCLEdBZ0JBLElBZkEsR0FR
QUMsR0FBQUMsRUFBQUMsRUFBQXQyQixFQVJBdTJCLEVBQUEsRUFDQUMsRUFBQSxFQUNBQyxFQUFB
UixFQUFBcnZDLE9BQUEsRUFDQTh2QyxFQUFBVCxFQUFBLEdBQ0FVLEVBQUFWLEVBQUFRLEdBQ0FH
LEVBQUFWLEVBQUF0dkMsT0FBQSxFQUNBaXdDLEVBQUFYLEVBQUEsR0FDQVksRUFBQVosRUFBQVUs
R0FNQUcsR0FBQVosRUFFQUksR0FBQUUsR0FBQUQsR0FBQUksR0FDQWx5QyxFQUFBZ3lDLEdBQ0FB
LEVBQUFULElBQUFNLEdBQ083eEMsRUFBQWl5QyxHQUNQQSxFQUFBVixJQUFBUSxHQUNPL3NCLEdB
QUFndEIsRUFBQUcsSUFDUEcsRUFBQU4sRUFBQUcsRUFBQWpDLEdBQ0E4QixFQUFBVCxJQUFBTSxH
QUNBTSxFQUFBWCxJQUFBTSxJQUNPOXNCLEdBQUFpdEIsRUFBQUcsSUFDUEUsRUFBQUwsRUFBQUcs
RUFBQWxDLEdBQ0ErQixFQUFBVixJQUFBUSxHQUNBSyxFQUFBWixJQUFBVSxJQUNPbHRCLEdBQUFn
dEIsRUFBQUksSUFDUEUsRUFBQU4sRUFBQUksRUFBQWxDLEdBQ0FtQyxHQUFBaEUsRUFBQWxxQixh
QUFBOUksRUFBQTIyQixFQUFBNWtDLElBQUFpaEMsRUFBQTdwQixZQUFBeXRCLEVBQUE3a0MsTUFD
QTRrQyxFQUFBVCxJQUFBTSxHQUNBTyxFQUFBWixJQUFBVSxJQUNPbHRCLEdBQUFpdEIsRUFBQUUs
SUFDUEcsRUFBQUwsRUFBQUUsRUFBQWpDLEdBQ0FtQyxHQUFBaEUsRUFBQWxxQixhQUFBOUksRUFB
QTQyQixFQUFBN2tDLElBQUE0a0MsRUFBQTVrQyxLQUNBNmtDLEVBQUFWLElBQUFRLEdBQ0FJLEVB
QUFYLElBQUFNLEtBRUE5eEMsRUFBQTB4QyxLQUFtQ0EsRUFBQXZzQixHQUFBb3NCLEVBQUFNLEVB
QUFFLElBQ25DSixFQUFBeHhDLEVBQUFneUMsRUFBQXh2QyxLQUFBK3VDLEVBQUFTLEVBQUF4dkMs
S0FBQSxLQUNBM0MsRUFBQTJ4QyxJQUNBMUIsRUFBQWtDLEVBQUFqQyxFQUFBNzBCLEVBQUEyMkIs
RUFBQTVrQyxLQUNBK2tDLEVBQUFYLElBQUFNLEtBRUFGLEVBQUFMLEVBQUFJLEdBUUEzc0IsR0FB
QTRzQixFQUFBTyxJQUNBRyxFQUFBVixFQUFBTyxFQUFBakMsR0FDQXFCLEVBQUFJLE9BQUF6eEMs
R0FDQW15QyxHQUFBaEUsRUFBQWxxQixhQUFBOUksRUFBQXUyQixFQUFBeGtDLElBQUE0a0MsRUFB
QTVrQyxLQUNBK2tDLEVBQUFYLElBQUFNLEtBR0E3QixFQUFBa0MsRUFBQWpDLEVBQUE3MEIsRUFB
QTIyQixFQUFBNWtDLEtBQ0Era0MsRUFBQVgsSUFBQU0sS0FLQUQsR0FBQUUsR0FDQXoyQixFQUFB
dGIsRUFBQXd4QyxFQUFBVSxFQUFBLFNBQUFWLEVBQUFVLEVBQUEsR0FBQTlrQyxJQUNBNGpDLEVB
QUEzMUIsRUFBQUMsRUFBQWsyQixFQUFBTSxFQUFBSSxFQUFBaEMsSUFDSzRCLEVBQUFJLEdBQ0xm
LEVBQUE5MUIsRUFBQWsyQixFQUFBTSxFQUFBRSxHQUlBLFFBQUFPLEdBQUEvc0IsRUFBQXpZLEVB
QUFvakMsRUFBQXVCLEdBQ0EsR0FBQWxzQixJQUFBelksRUFBQSxDQUlBLEdBQUFNLEdBQUFOLEVB
QUFNLElBQUFtWSxFQUFBblksR0FFQSxJQUFBaE4sRUFBQW1sQixFQUFBTCxvQkFNQSxZQUxBL2tC
LEVBQUEyTSxFQUFBUyxhQUFBdUQsVUFDQXloQyxFQUFBaHRCLEVBQUFuWSxJQUFBTixFQUFBb2pD
LEdBRUFwakMsRUFBQW9ZLG9CQUFBLEVBU0EsSUFBQTlrQixFQUFBME0sRUFBQVcsV0FDQXJOLEVB
QUFtbEIsRUFBQTlYLFdBQ0FYLEVBQUFuSyxNQUFBNGlCLEVBQUE1aUIsTUFDQXZDLEVBQUEwTSxF
QUFBYSxXQUFBdk4sRUFBQTBNLEVBQUE0UixTQUdBLFlBREE1UixFQUFBb1Ysa0JBQUFxRCxFQUFB
ckQsa0JBSUEsSUFBQWpnQixHQUNBZ0wsRUFBQUgsRUFBQUcsSUFDQTlNLEdBQUE4TSxJQUFBOU0s
RUFBQThCLEVBQUFnTCxFQUFBK0IsT0FBQTdPLEVBQUE4QixJQUFBZ3BDLFdBQ0FocEMsRUFBQXNq
QixFQUFBelksRUFHQSxJQUFBeWtDLEdBQUFoc0IsRUFBQXJZLFNBQ0Fra0MsRUFBQXRrQyxFQUFB
SSxRQUNBLElBQUEvTSxFQUFBOE0sSUFBQTBqQyxFQUFBN2pDLEdBQUEsQ0FDQSxJQUFBN0ssRUFB
QSxFQUFpQkEsRUFBQTRwQyxFQUFBcGhDLE9BQUF2SSxTQUF1QkQsRUFBTzRwQyxFQUFBcGhDLE9B
QUF4SSxHQUFBc2pCLEVBQUF6WSxFQUMvQzNNLEdBQUE4QixFQUFBZ0wsRUFBQStCLE9BQUE3TyxF
QUFBOEIsSUFBQXdJLFNBQXdEeEksRUFBQXNqQixFQUFBelksR0FFeEQ5TSxFQUFBOE0sRUFBQUss
TUFDQWhOLEVBQUFveEMsSUFBQXB4QyxFQUFBaXhDLEdBQ0FHLElBQUFILEdBQTJCRSxFQUFBbGtD
LEVBQUFta0MsRUFBQUgsRUFBQWxCLEVBQUF1QixHQUNwQnR4QyxFQUFBaXhDLElBQ1BqeEMsRUFB
QW9sQixFQUFBcFksT0FBbUNraEMsRUFBQTVwQixlQUFBclgsRUFBQSxJQUNuQzRqQyxFQUFBNWpD
LEVBQUEsS0FBQWdrQyxFQUFBLEVBQUFBLEVBQUFsdkMsT0FBQSxFQUFBZ3VDLElBQ08vdkMsRUFB
QW94QyxHQUNQSixFQUFBL2pDLEVBQUFta0MsRUFBQSxFQUFBQSxFQUFBcnZDLE9BQUEsR0FDTy9C
LEVBQUFvbEIsRUFBQXBZLE9BQ1BraEMsRUFBQTVwQixlQUFBclgsRUFBQSxJQUVLbVksRUFBQXBZ
LE9BQUFMLEVBQUFLLE1BQ0xraEMsRUFBQTVwQixlQUFBclgsRUFBQU4sRUFBQUssTUFFQWhOLEVB
QUE4TSxJQUNBOU0sRUFBQThCLEVBQUFnTCxFQUFBK0IsT0FBQTdPLEVBQUE4QixJQUFBdXdDLFlB
QTJEdndDLEVBQUFzakIsRUFBQXpZLElBSTNELFFBQUEybEMsR0FBQTNsQyxFQUFBaUosRUFBQTI4
QixHQUdBLEdBQUF0eUMsRUFBQXN5QyxJQUFBdnlDLEVBQUEyTSxFQUFBbkMsUUFDQW1DLEVBQUFu
QyxPQUFBc0MsS0FBQXlqQyxjQUFBMzZCLE1BRUEsUUFBQTlULEdBQUEsRUFBcUJBLEVBQUE4VCxF
QUFBN1QsU0FBa0JELEVBQ3ZDOFQsRUFBQTlULEdBQUFnTCxLQUFBK0IsS0FBQWs4QixPQUFBbjFC
LEVBQUE5VCxJQVdBLFFBQUFzd0MsR0FBQW5sQyxFQUFBTixFQUFBb2pDLEdBQ0EsR0FBQTl2QyxF
QUFBME0sRUFBQVksWUFBQXZOLEVBQUEyTSxFQUFBUyxjQUdBLE1BRkFULEdBQUFNLE1BQ0FOLEVB
QUFvWSxvQkFBQSxHQUNBLENBT0FwWSxHQUFBTSxLQUNBLElBQUFKLEdBQUFGLEVBQUFFLElBQ0FD
LEVBQUFILEVBQUFHLEtBQ0FDLEVBQUFKLEVBQUFJLFFBQ0EsSUFBQS9NLEVBQUE4TSxLQUNBOU0s
RUFBQThCLEVBQUFnTCxFQUFBK0IsT0FBQTdPLEVBQUE4QixJQUFBNG9DLE9BQXNENW9DLEVBQUE2
SyxHQUFBLEdBQ3REM00sRUFBQThCLEVBQUE2SyxFQUFBb1Ysb0JBR0EsTUFEQXN1QixHQUFBMWpD
LEVBQUFvakMsSUFDQSxDQUdBLElBQUEvdkMsRUFBQTZNLEdBQUEsQ0FDQSxHQUFBN00sRUFBQStN
LEdBRUEsR0FBQUUsRUFBQXVsQyxnQkFFUyxDQUdULE9BRkFDLElBQUEsRUFDQXR3QixFQUFBbFYs
RUFBQXlsQyxXQUNBNVUsRUFBQSxFQUEyQkEsRUFBQS93QixFQUFBaEwsT0FBdUIrN0IsSUFBQSxD
QUNsRCxJQUFBM2IsSUFBQWl3QixFQUFBandCLEVBQUFwVixFQUFBK3dCLEdBQUFpUyxHQUFBLENB
Q0EwQyxHQUFBLENBQ0EsT0FFQXR3QixJQUFBa0MsWUFJQSxJQUFBb3VCLEdBQUF0d0IsRUFTQSxh
QXRCQSt0QixHQUFBdmpDLEVBQUFJLEVBQUFnakMsRUEwQkEsSUFBQS92QyxFQUFBOE0sR0FDQSxP
QUFBdEssS0FBQXNLLEdBQ0EsSUFBQTZsQyxFQUFBbndDLEdBQUEsQ0FDQTJ0QyxFQUFBeGpDLEVB
QUFvakMsRUFDQSxZQUlLOWlDLEdBQUFILE9BQUFILEVBQUFLLE9BQ0xDLEVBQUFILEtBQUFILEVB
QUFLLEtBRUEsVUE5ZUEsR0FBQWxMLEdBQUEyVCxFQUNBaTJCLEtBRUF2aUIsRUFBQXNtQixFQUFB
dG1CLFFBQ0Era0IsRUFBQXVCLEVBQUF2QixPQUVBLEtBQUFwc0MsRUFBQSxFQUFhQSxFQUFBcXND
LEdBQUFwc0MsU0FBa0JELEVBRS9CLElBREE0cEMsRUFBQXlDLEdBQUFyc0MsT0FDQTJULEVBQUEs
RUFBZUEsRUFBQTBULEVBQUFwbkIsU0FBb0IwVCxFQUNuQ3pWLEVBQUFtcEIsRUFBQTFULEdBQUEw
NEIsR0FBQXJzQyxNQUNBNHBDLEVBQUF5QyxHQUFBcnNDLElBQUE2RSxLQUFBd2lCLEVBQUExVCxH
QUFBMDRCLEdBQUFyc0MsSUEyQkEsSUFzWUE2d0MsR0FBQXB4QyxFQUFBLGdEQWlGQSxpQkFBQTZq
QixFQUFBelksRUFBQWlILEVBQUEwOUIsRUFBQXAyQixFQUFBQyxHQUNBLEdBQUF0YixFQUFBOE0s
R0FFQSxZQURBM00sRUFBQW9sQixJQUE0QjJyQixFQUFBM3JCLEdBSTVCLElBQUF3dEIsSUFBQSxF
QUNBN0MsSUFFQSxJQUFBbHdDLEVBQUF1bEIsR0FFQXd0QixHQUFBLEVBQ0E5QyxFQUFBbmpDLEVB
QUFvakMsRUFBQTcwQixFQUFBQyxPQUNLLENBQ0wsR0FBQTAzQixHQUFBN3lDLEVBQUFvbEIsRUFB
QW1OLFNBQ0EsS0FBQXNnQixHQUFBaHVCLEdBQUFPLEVBQUF6WSxHQUVBd2xDLEVBQUEvc0IsRUFB
QXpZLEVBQUFvakMsRUFBQXVCLE9BQ08sQ0FDUCxHQUFBdUIsRUFBQSxDQVFBLEdBSkEsSUFBQXp0
QixFQUFBbU4sVUFBQW5OLEVBQUEwdEIsYUFBQTFNLE1BQ0FoaEIsRUFBQStCLGdCQUFBaWYsSUFD
QXh5QixHQUFBLEdBRUEzVCxFQUFBMlQsSUFDQXcrQixFQUFBaHRCLEVBQUF6WSxFQUFBb2pDLEdB
RUEsTUFEQXVDLEdBQUEzbEMsRUFBQW9qQyxHQUFBLEdBQ0EzcUIsQ0FhQUEsR0FBQXNxQixFQUFB
dHFCLEdBR0EsR0FBQTJ0QixHQUFBM3RCLEVBQUFuWSxJQUNBK2xDLEVBQUE5RSxFQUFBaHNCLFdB
QUE2d0IsRUFXQSxJQVZBakQsRUFDQW5qQyxFQUNBb2pDLEVBSUFnRCxFQUFBNWdCLFNBQUEsS0FB
QTZnQixFQUNBOUUsRUFBQTdwQixZQUFBMHVCLElBR0EveUMsRUFBQTJNLEVBQUFuQyxRQUFBLENB
SUEsSUFEQSxHQUFBbW1DLEdBQUFoa0MsRUFBQW5DLE9BQ0FtbUMsR0FDQUEsRUFBQTFqQyxJQUFB
TixFQUFBTSxJQUNBMGpDLElBQUFubUMsTUFFQSxJQUFBZ21DLEVBQUE3akMsR0FDQSxPQUFBN0ss
R0FBQSxFQUEyQkEsRUFBQTRwQyxFQUFBL3BDLE9BQUFJLFNBQXVCRCxFQUNsRDRwQyxFQUFBL3BD
LE9BQUFHLEdBQUEwakIsR0FBQTdZLEVBQUFuQyxRQUtBeEssRUFBQWd6QyxHQUNBaEMsRUFBQWdD
LEdBQUE1dEIsR0FBQSxLQUNTcGxCLEVBQUFvbEIsRUFBQXZZLE1BQ1Rra0MsRUFBQTNyQixJQU1B
LE1BREFrdEIsR0FBQTNsQyxFQUFBb2pDLEVBQUE2QyxHQUNBam1DLEVBQUFNLE9BNm1EaUNpaEMs
V0FBQS9rQixhQU9qQzhwQixHQUFBMXhDLEVBQUEsNENBR0FzbEIsS0FFQTdELFNBQUFvSyxpQkFB
QSw2QkFDQSxHQUFBelosR0FBQXFQLFNBQUFrTCxhQUNBdmEsTUFBQXUvQixRQUNBcGQsR0FBQW5p
QixFQUFBLFVBS0EsSUFBQXcvQixLQUNBanRCLFNBQUEsU0FBQXZTLEVBQUE0aEIsRUFBQTVvQixH
QUNBLGNBQUFBLEVBQUFFLElBQUEsQ0FDQSxHQUFBd2pCLEdBQUEsV0FDQWlGLEdBQUEzaEIsRUFB
QTRoQixFQUFBNW9CLEVBQUFPLFNBRUFtakIsTUFFQXhELElBQUFzYSxLQUNBMzFCLFdBQUE2ZSxF
QUFBLEdBRUExYyxFQUFBeS9CLGFBQUExeEMsSUFBQWxCLEtBQUFtVCxFQUFBaEssUUFBQStyQixT
QUNLLGFBQUEvb0IsRUFBQUUsS0FBQW9tQyxHQUFBdC9CLEVBQUE1SixTQUNMNEosRUFBQXdhLFlB
QUFvSCxFQUFBblAsVUFDQW1QLEVBQUFuUCxVQUFBcUcsT0FLQTlZLEVBQUF5WixpQkFBQSxTQUFB
eUksSUFDQXVSLEtBQ0F6ekIsRUFBQXlaLGlCQUFBLG1CQUFBd0ksSUFDQWppQixFQUFBeVosaUJB
QUEsaUJBQUF5SSxLQUdBaFAsS0FDQWxULEVBQUF1L0IsUUFBQSxNQUtBanRCLGlCQUFBLFNBQUF0
UyxFQUFBNGhCLEVBQUE1b0IsR0FDQSxjQUFBQSxFQUFBRSxJQUFBLENBQ0F5b0IsR0FBQTNoQixF
QUFBNGhCLEVBQUE1b0IsRUFBQU8sUUFLQSxJQUFBbW1DLEdBQUExL0IsRUFBQXkvQixXQUNBei9C
LEVBQUF5L0IsYUFBQTF4QyxJQUFBbEIsS0FBQW1ULEVBQUFoSyxRQUFBK3JCLEtBQ0FxUCxLQUFB
LFNBQUF1TyxFQUFBeHhDLEdBQTJDLE9BQUFtQyxFQUFBcXZDLEVBQUFELEVBQUF2eEMsT0FDM0Nn
MEIsR0FBQW5pQixFQUFBLGFBdUVBMGdCLElBQ0F4eEIsS0FBQSxTQUFBOFEsRUFBQStRLEVBQUEv
WCxHQUNBLEdBQUFoTixHQUFBK2tCLEVBQUEva0IsS0FFQWdOLEdBQUF1cEIsR0FBQXZwQixFQUNB
LElBQUE0bUMsR0FBQTVtQyxFQUFBRyxNQUFBSCxFQUFBRyxLQUFBdWxCLFdBQ0FtaEIsRUFBQTcv
QixFQUFBOC9CLG1CQUNBLFNBQUE5L0IsRUFBQTBhLE1BQUFxbEIsUUFBQSxHQUFBLy9CLEVBQUEw
YSxNQUFBcWxCLE9BQ0EvekMsSUFBQTR6QyxHQUNBNW1DLEVBQUFHLEtBQUF1bkIsTUFBQSxFQUNB
cEMsR0FBQXRsQixFQUFBLFdBQ0FnSCxFQUFBMGEsTUFBQXFsQixRQUFBRixLQUdBNy9CLEVBQUEw
YSxNQUFBcWxCLFFBQUEvekMsRUFBQTZ6QyxFQUFBLFFBSUFscEMsT0FBQSxTQUFBcUosRUFBQStR
LEVBQUEvWCxHQUNBLEdBQUFoTixHQUFBK2tCLEVBQUEva0IsS0FJQUEsS0FIQStrQixFQUFBcUIs
V0FJQXBaLEVBQUF1cEIsR0FBQXZwQixHQUNBQSxFQUFBRyxNQUFBSCxFQUFBRyxLQUFBdWxCLFlB
RUExbEIsRUFBQUcsS0FBQXVuQixNQUFBLEVBQ0ExMEIsRUFDQXN5QixHQUFBdGxCLEVBQUEsV0FD
QWdILEVBQUEwYSxNQUFBcWxCLFFBQUEvL0IsRUFBQTgvQixxQkFHQWhmLEdBQUE5bkIsRUFBQSxX
QUNBZ0gsRUFBQTBhLE1BQUFxbEIsUUFBQSxVQUlBLy9CLEVBQUEwYSxNQUFBcWxCLFFBQUEvekMs
RUFBQWdVLEVBQUE4L0IsbUJBQUEsU0FJQUUsT0FBQSxTQUNBaGdDLEVBQ0E0aEIsRUFDQTVvQixF
QUNBeVksRUFDQUssR0FFQUEsSUFDQTlSLEVBQUEwYSxNQUFBcWxCLFFBQUEvL0IsRUFBQTgvQixz
QkFLQUcsSUFDQWg1QixNQUFBdTRCLEdBQ0E5ZSxTQVFBd2YsSUFDQWhxQyxLQUFBekksT0FDQTh4
QixPQUFBcG5CLFFBQ0E4akIsSUFBQTlqQixRQUNBZ29DLEtBQUExeUMsT0FDQTJJLEtBQUEzSSxP
QUNBb3hCLFdBQUFweEIsT0FDQXl6QixXQUFBenpCLE9BQ0FxeEIsYUFBQXJ4QixPQUNBMnpCLGFB
QUEzekIsT0FDQXN4QixpQkFBQXR4QixPQUNBMHpCLGlCQUFBMXpCLE9BQ0F1eEIsWUFBQXZ4QixP
QUNBeXhCLGtCQUFBenhCLE9BQ0F3eEIsY0FBQXh4QixPQUNBaXlCLFVBQUFyQixPQUFBNXdCLE9B
QUEzQixTQXNEQXMwQyxJQUNBbHFDLEtBQUEsYUFDQUQsTUFBQWlxQyxHQUNBOWdDLFVBQUEsRUFF
QWUsT0FBQSxTQUFBcUcsR0FDQSxHQUFBb3dCLEdBQUF4bEMsS0FFQWdJLEVBQUFoSSxLQUFBb0gs
U0FBQXNJLGVBQ0EsSUFBQTFILElBS0FBLElBQUE2VSxPQUFBLFNBQUE1ZCxHQUE2QyxNQUFBQSxH
QUFBNkksS0FBQWtZLEdBQUEvZ0IsS0FFN0MrSSxFQUFBaEwsUUFBQSxDQWFBLEdBQUEreEMsR0FB
QS91QyxLQUFBK3VDLEtBWUF0ZCxFQUFBenBCLEVBQUEsRUFJQSxJQUFBMHBCLEdBQUExeEIsS0FB
QXFQLFFBQ0EsTUFBQW9pQixFQUtBLElBQUEvckIsR0FBQTByQixHQUFBSyxFQUVBLEtBQUEvckIs
RUFDQSxNQUFBK3JCLEVBR0EsSUFBQXp4QixLQUFBaXZDLFNBQ0EsTUFBQXpkLElBQUFwYyxFQUFB
cWMsRUFNQSxJQUFBdHJCLEdBQUEsZ0JBQUFuRyxLQUFBLFFBQ0EwRixHQUFBakksSUFBQSxNQUFB
aUksRUFBQWpJLElBQ0FpSSxFQUFBOEMsVUFDQXJDLEVBQUEsVUFDQUEsRUFBQVQsRUFBQW9DLElB
Q0ExTSxFQUFBc0ssRUFBQWpJLEtBQ0EsSUFBQXBCLE9BQUFxSixFQUFBakksS0FBQUgsUUFBQTZJ
LEdBQUFULEVBQUFqSSxJQUFBMEksRUFBQVQsRUFBQWpJLElBQ0FpSSxFQUFBakksR0FFQSxJQUFB
c0ssSUFBQXJDLEVBQUFxQyxPQUFBckMsRUFBQXFDLFVBQThDdWxCLFdBQUFnRSxHQUFBdHhCLE1B
QzlDa3ZDLEVBQUFsdkMsS0FBQStQLE9BQ0E2aEIsRUFBQVIsR0FBQThkLEVBUUEsSUFKQXhwQyxF
QUFBcUMsS0FBQXpDLFlBQUFJLEVBQUFxQyxLQUFBekMsV0FBQTA2QixLQUFBLFNBQUEzcUIsR0FB
MEUsZUFBQUEsRUFBQXZRLFNBQzFFWSxFQUFBcUMsS0FBQXVuQixNQUFBLEdBSUFzQyxHQUNBQSxF
QUFBN3BCLE9BQ0E0cEIsR0FBQWpzQixFQUFBa3NCLEtBQ0E1UixHQUFBNFIsR0FDQSxDQUdBLEdB
QUFuUCxHQUFBbVAsTUFBQTdwQixLQUFBdWxCLFdBQUE1dUIsS0FBcUVxSixHQUVyRSxlQUFBZ25D
LEVBT0EsTUFMQS91QyxNQUFBaXZDLFVBQUEsRUFDQXJsQyxHQUFBNlksRUFBQSx3QkFDQStpQixF
QUFBeUosVUFBQSxFQUNBekosRUFBQXQ1QixpQkFFQXNsQixHQUFBcGMsRUFBQXFjLEVBQ08sZUFB
QXNkLEVBQUEsQ0FDUCxHQUFBL3VCLEdBQUF0YSxHQUNBLE1BQUF3cEMsRUFFQSxJQUFBQyxHQUNB
dmYsRUFBQSxXQUF3Q3VmLElBQ3hDdmxDLElBQUE3QixFQUFBLGFBQUE2bkIsR0FDQWhtQixHQUFB
N0IsRUFBQSxpQkFBQTZuQixHQUNBaG1CLEdBQUE2WSxFQUFBLHNCQUFBaU4sR0FBZ0V5ZixFQUFB
emYsS0FJaEUsTUFBQStCLE1BaUJBNXNCLEdBQUFuRyxHQUNBb0osSUFBQXpMLE9BQ0EreUMsVUFB
QS95QyxRQUNDeXlDLFVBRURqcUMsSUFBQWtxQyxJQUVBLElBQUFNLEtBQ0F4cUMsU0FFQWtLLE9B
QUEsU0FBQXFHLEdBUUEsT0FQQXROLEdBQUE5SCxLQUFBOEgsS0FBQTlILEtBQUFxUCxPQUFBdEgs
S0FBQUQsS0FBQSxPQUNBbkwsRUFBQWpDLE9BQUFrQyxPQUFBLE1BQ0EweUMsRUFBQXR2QyxLQUFB
c3ZDLGFBQUF0dkMsS0FBQWdJLFNBQ0F1bkMsRUFBQXZ2QyxLQUFBb1EsT0FBQWpKLFlBQ0FhLEVB
QUFoSSxLQUFBZ0ksWUFDQXduQyxFQUFBbGUsR0FBQXR4QixNQUVBakQsRUFBQSxFQUFtQkEsRUFB
QXd5QyxFQUFBdnlDLE9BQXdCRCxJQUFBLENBQzNDLEdBQUFrQyxHQUFBc3dDLEVBQUF4eUMsRUFD
QSxJQUFBa0MsRUFBQTZJLElBQ0EsU0FBQTdJLEVBQUF4QixLQUFBLElBQUFwQixPQUFBNEMsRUFB
QXhCLEtBQUFILFFBQUEsV0FDQTBLLEVBQUFwRyxLQUFBM0MsR0FDQXRDLEVBQUFzQyxFQUFBeEIs
S0FBQXdCLEdBQ1dBLEVBQUE4SSxPQUFBOUksRUFBQThJLFVBQXVCdWxCLFdBQUFraUIsUUFTbEMs
R0FBQUYsRUFBQSxDQUdBLE9BRkFHLE1BQ0FDLEtBQ0EzVyxFQUFBLEVBQXVCQSxFQUFBdVcsRUFB
QXR5QyxPQUEyQis3QixJQUFBLENBQ2xELEdBQUE0VyxHQUFBTCxFQUFBdlcsRUFDQTRXLEdBQUE1
bkMsS0FBQXVsQixXQUFBa2lCLEVBQ0FHLEVBQUE1bkMsS0FBQXFxQixJQUFBdWQsRUFBQXpuQyxJ
QUFBK3BCLHdCQUNBdDFCLEVBQUFnekMsRUFBQWx5QyxLQUNBZ3lDLEVBQUE3dEMsS0FBQSt0QyxH
QUVBRCxFQUFBOXRDLEtBQUErdEMsR0FHQTN2QyxLQUFBeXZDLEtBQUFyNkIsRUFBQXROLEVBQUEs
S0FBQTJuQyxHQUNBenZDLEtBQUEwdkMsVUFHQSxNQUFBdDZCLEdBQUF0TixFQUFBLEtBQUFFLElB
R0E0bkMsYUFBQSxXQUVBNXZDLEtBQUErbUMsVUFDQS9tQyxLQUFBK1AsT0FDQS9QLEtBQUF5dkMs
TUFDQSxHQUNBLEdBRUF6dkMsS0FBQStQLE9BQUEvUCxLQUFBeXZDLE1BR0FJLFFBQUEsV0FDQSxH
QUFBN25DLEdBQUFoSSxLQUFBc3ZDLGFBQ0FGLEVBQUFwdkMsS0FBQW92QyxZQUFBcHZDLEtBQUE4
RSxNQUFBLFlBQ0EsSUFBQWtELEVBQUFoTCxRQUFBZ0QsS0FBQTh2QyxRQUFBOW5DLEVBQUEsR0FB
QUUsSUFBQWtuQyxHQUFBLENBTUFwbkMsRUFBQTJNLFFBQUFrZCxJQUNBN3BCLEVBQUEyTSxRQUFB
b2QsSUFDQS9wQixFQUFBMk0sUUFBQXVkLEdBR0EsSUFBQTZkLEdBQUE5eEIsU0FBQTh4QixJQUNB
QSxHQUFBQyxZQUVBaG9DLEdBQUEyTSxRQUFBLFNBQUExVixHQUNBLEdBQUFBLEVBQUE4SSxLQUFB
MHFCLE1BQUEsQ0FDQSxHQUFBN2pCLEdBQUEzUCxFQUFBaUosSUFDQThrQixFQUFBcGUsRUFBQTBh
LEtBQ0EyQixJQUFBcmMsRUFBQXdnQyxHQUNBcGlCLEVBQUEwRixVQUFBMUYsRUFBQTJGLGdCQUFB
M0YsRUFBQTRGLG1CQUFBLEdBQ0Foa0IsRUFBQXlaLGlCQUFBcUQsR0FBQTljLEVBQUFrakIsUUFB
QSxRQUFBeEcsR0FBQTdyQixHQUNBQSxJQUFBLGFBQUFpQixLQUFBakIsRUFBQXd3QyxnQkFDQXJo
QyxFQUFBMlosb0JBQUFtRCxHQUFBSixHQUNBMWMsRUFBQWtqQixRQUFBLEtBQ0EzRyxHQUFBdmMs
RUFBQXdnQyxXQU9BdjhCLFNBQ0FpOUIsUUFBQSxTQUFBbGhDLEVBQUF3Z0MsR0FFQSxJQUFBbkYs
R0FDQSxRQUdBLElBQUFqcUMsS0FBQWt3QyxTQUNBLE1BQUFsd0MsTUFBQWt3QyxRQU9BLElBQUFD
LEdBQUF2aEMsRUFBQW95QixXQUNBcHlCLEdBQUFnVSxvQkFDQWhVLEVBQUFnVSxtQkFBQWpPLFFB
QUEsU0FBQStOLEdBQXNEOEgsR0FBQTJsQixFQUFBenRCLEtBRXREMkgsR0FBQThsQixFQUFBZixH
QUNBZSxFQUFBN21CLE1BQUFxbEIsUUFBQSxPQUNBM3VDLEtBQUE4TyxJQUFBdVEsWUFBQTh3QixF
QUNBLElBQUFwdkMsR0FBQXdxQixHQUFBNGtCLEVBRUEsT0FEQW53QyxNQUFBOE8sSUFBQXNRLFlB
QUErd0IsR0FDQW53QyxLQUFBa3dDLFNBQUFudkMsRUFBQTRyQixnQkFpQ0F5akIsSUFDQXBCLGNB
Q0FLLG1CQU1BdDBCLElBQUEvWixPQUFBOFgsZUFDQWlDLEdBQUEvWixPQUFBMlcsaUJBQ0FvRCxH
QUFBL1osT0FBQTZnQyxrQkFDQTltQixHQUFBL1osT0FBQTBXLG1CQUNBcUQsR0FBQS9aLE9BQUEr
YyxvQkFHQXJmLEVBQUFxYyxHQUFBblcsUUFBQVUsV0FBQXVwQyxJQUNBbndDLEVBQUFxYyxHQUFB
blcsUUFBQTRWLFdBQUE0MUIsSUFHQXIxQixHQUFBdFEsVUFBQXM4QixVQUFBN2xDLEdBQUF1cEMs
R0FBQTFyQyxFQUdBZ2MsR0FBQXRRLFVBQUFtN0IsT0FBQSxTQUNBaDNCLEVBQ0FDLEdBR0EsTUFE
QUQsTUFBQTFOLEdBQUFtZCxHQUFBelAsT0FBQTVULEdBQ0EyVCxHQUFBM08sS0FBQTRPLEVBQUFD
LElBS0FwQyxXQUFBLFdBQ0F6TCxHQUFBMFEsVUFDQUEsSUFDQUEsR0FBQUMsS0FBQSxPQUFBb0os
S0FrQkMsRUFhRCxJQWtNQXMxQixJQWxNQXhjLEtBQUEzeUIsSUFSQSxTQUFBb3ZDLEVBQUFDLEdB
Q0EsR0FBQUMsR0FBQXZ5QixTQUFBM0ksY0FBQSxNQUVBLE9BREFrN0IsR0FBQXZQLFVBQUEsV0FB
QXFQLEVBQUEsTUFDQUUsRUFBQXZQLFVBQUEzakMsUUFBQWl6QyxHQUFBLEdBS0EsY0FJQXRkLEdB
QUEsd0JBQ0F3ZCxHQUFBLHlCQUVBemQsR0FBQXIxQixFQUFBLFNBQUFtMUIsR0FDQSxHQUFBNGQs
R0FBQTVkLEVBQUEsR0FBQXBJLFFBQUErbEIsR0FBQSxRQUNBRSxFQUFBN2QsRUFBQSxHQUFBcEks
UUFBQStsQixHQUFBLE9BQ0EsV0FBQXJiLFFBQUFzYixFQUFBLGdCQUFBQyxFQUFBLE9BbUVBQyxJ
QUNBblYsWUFBQSxlQUNBcEksaUJBQ0FFLFlBeUNBc2QsSUFDQXBWLFlBQUEsZUFDQXBJLGNBQUFH
LEdBQ0FELFFBQUFHLElBR0FvZCxJQUNBRixHQUNBQyxJQW1CQUUsSUFDQWw3QixTQUNBNU4sUUFD
QTByQixTQUtBZ0IsR0FBQW40QixFQUNBLDZGQU1BczRCLEdBQUF0NEIsRUFDQSwyREFLQWs2QixH
QUFBbDZCLEVBQ0EsbVNBU0F3MEMsSUFDQXZjLFlBQUEsRUFDQXJRLFFBQUEwc0IsR0FDQXhyQyxX
QUFBeXJDLEdBQ0F4WixZQUNBNUMsY0FDQTdiLGVBQ0FnYyxvQkFDQW5kLGlCQUNBRCxtQkFDQStq
QixXQXJxUEEsU0FBQXJYLEdBQ0EsTUFBQUEsR0FBQTZzQixPQUFBLFNBQUF0eEMsRUFBQTBrQixH
QUNBLE1BQUExa0IsR0FBQThFLE9BQUE0ZixFQUFBb1gscUJBQ0doYSxLQUFBLE1Ba3FQSHF2QixL
QU9BSSxJQUNBQyxPQUFBLFNBQUF4ZCxHQUdBLE1BRkEwYyxRQUFBcHlCLFNBQUEzSSxjQUFBLE9B
Q0ErNkIsR0FBQXBQLFVBQUF0TixFQUNBMGMsR0FBQTd3QixjQWdCQTR4QixHQUFBLGtCQUNBQyxH
QUFBLFFBQ0FDLElBRUEsYUFBQXQ4QixPQUVBLGFBQUFBLE9BRUEsaUJBQUFBLFFBRUF3aEIsR0FB
QSxHQUFBcEIsUUFDQSxRQUFBZ2MsR0FBQXA4QixPQUNBLFdBQUFxOEIsR0FBQXI4QixPQUFBLFdB
Q0FzOEIsR0FBQTd2QixLQUFBLFlBS0E4dkIsR0FBQSx3QkFDQUMsR0FBQSxPQUFBRCxHQUFBLFFB
QUFBLEdBQUEsSUFDQWxiLEdBQUEsR0FBQWpCLFFBQUEsS0FBQW9jLElBQ0FqYixHQUFBLGFBQ0Fo
QixHQUFBLEdBQUFILFFBQUEsUUFBQW9jLEdBQUEsVUFDQXZiLEdBQUEscUJBQ0FOLEdBQUEsUUFD
QUcsR0FBQSxRQUVBYyxJQUFBLENBQ0EsS0FBQWxNLFFBQUEsa0JBQUFyRyxFQUFBb3RCLEdBQ0E3
YSxHQUFBLEtBQUE2YSxHQUlBLElBa1NBbmEsSUFDQXhFLEdBQ0E0RSxHQUNBQyxHQUNBQyxHQUNB
UixHQUNBSSxHQUNBQyxHQXdqQkE4RCxHQUNBRyxHQWwyQkEzRyxHQUFBdjRCLEVBQUEsNEJBQ0Ey
NEIsTUFFQWxCLElBQ0F5ZCxPQUFPLElBQ1BDLE9BQU8sSUFDUEMsU0FBUyxJQUNUQyxRQUFRLElB
Q1JDLFFBQVEsTUFFUjlkLEdBQUEsd0JBQ0FELEdBQUEsNEJBR0FnZSxHQUFBdjFDLEVBQUEsbUJB
Q0FnNUIsR0FBQSxTQUFBMXRCLEVBQUE2ckIsR0FBcUQsTUFBQTdyQixJQUFBaXFDLEdBQUFqcUMs
SUFBQSxPQUFBNnJCLEVBQUEsSUF1UXJEc0gsR0FBQSxZQUNBTixHQUFBLFlBQ0FaLEdBQUEsMkJB
Q0FJLEdBQUEsNkNBRUFnQixHQUFBLFNBQ0FKLEdBQUEsY0FDQUQsR0FBQSxXQUVBbEIsR0FBQWo4
QixFQUFBdXpDLEdBQUFDLFFBZ2lCQS9WLEdBQUEsZUFDQUMsR0FBQSxVQW9DQUcsR0FBQTc5QixF
QUFBaytCLElBNEhBWSxHQUFBLCtDQUNBRixHQUFBLCtGQUdBOWpCLElBQ0F1NUIsSUFBQSxHQUNB
QyxJQUFBLEVBQ0Eva0IsTUFBQSxHQUNBZ2xCLE1BQUEsR0FDQUMsR0FBQSxHQUNBN2YsS0FBQSxH
QUNBOGYsTUFBQSxHQUNBQyxLQUFBLEdBQ0ExSixRQUFBLE9BTUEySixHQUFBLFNBQUEvWCxHQUFx
QyxZQUFBQSxFQUFBLGlCQUVyQ29DLElBQ0E0VixLQUFBLDRCQUNBQyxRQUFBLDJCQUNBQyxLQUFB
SCxHQUFBLDBDQUNBSSxLQUFBSixHQUFBLG1CQUNBNVQsTUFBQTRULEdBQUEsb0JBQ0FLLElBQUFM
LEdBQUEsa0JBQ0FNLEtBQUFOLEdBQUEsbUJBQ0FoZ0IsS0FBQWdnQixHQUFBLDZDQUNBTyxPQUFB
UCxHQUFBLDZDQUNBRixNQUFBRSxHQUFBLDhDQTRHQVEsSUFDQTVwQyxNQUNBcEwsS0FBQW0vQixH
QUNBOFYsTUFBQWgwQyxHQUtBdStCLEdBQUEsU0FBQTE0QixHQUNBNUUsS0FBQTRFLFVBQ0E1RSxL
QUFBNmtCLEtBQUFqZ0IsRUFBQWlnQixNQUFBWixHQUNBamtCLEtBQUEwM0IsV0FBQXZULEdBQUF2
ZixFQUFBd2YsUUFBQSxpQkFDQXBrQixLQUFBNitCLFdBQUExYSxHQUFBdmYsRUFBQXdmLFFBQUEs
V0FDQXBrQixLQUFBc0YsV0FBQTVHLE9BQW9DbzBDLElBQUFsdUMsRUFBQVUsV0FDcEMsSUFBQXFT
LEdBQUEvUyxFQUFBK1MsZUFBQWlkLEVBQ0E1MEIsTUFBQTYvQixlQUFBLFNBQUFqeEIsR0FBdUMs
T0FBQStJLEVBQUEvSSxFQUFBOUcsTUFDdkM5SCxLQUFBbytCLE9BQUEsRUFDQXArQixLQUFBMlcs
b0JBb3FCQXE4QixJQXJQQSxHQUFBNWQsUUFBQSx1TUFJQXQ0QixNQUFBLEtBQUEya0IsS0FBQSxr
QkFHQSxHQUFBMlQsUUFBQSwyQkFFQXQ0QixNQUFBLEtBQUEya0IsS0FBQSw4Q0FxTEEsU0FBQXd4
QixHQUNBLGdCQUFBakMsR0FDQSxRQUFBdFEsR0FDQTNKLEVBQ0FueUIsR0FFQSxHQUFBc3VDLEdB
QUF4NEMsT0FBQWtDLE9BQUFvMEMsR0FDQXpRLEtBQ0E0UyxJQUtBLElBSkFELEVBQUFydUIsS0FB
QSxTQUFBWCxFQUFBa3ZCLElBQ0FBLEVBQUFELEVBQUE1UyxHQUFBMytCLEtBQUFzaUIsSUFHQXRm
LEVBQUEsQ0FFQUEsRUFBQXdmLFVBQ0E4dUIsRUFBQTl1QixTQUNBNHNCLEVBQUE1c0IsYUFBQTNm
LE9BQUFHLEVBQUF3ZixVQUdBeGYsRUFBQVUsYUFDQTR0QyxFQUFBNXRDLFdBQUE1RyxFQUNBaEUs
T0FBQWtDLE9BQUFvMEMsRUFBQTFyQyxZQUNBVixFQUFBVSxZQUlBLFFBQUE3SCxLQUFBbUgsR0FD
QSxZQUFBbkgsR0FBQSxlQUFBQSxJQUNBeTFDLEVBQUF6MUMsR0FBQW1ILEVBQUFuSCxJQUtBLEdB
QUFrakMsR0FBQXNTLEVBQUFsYyxFQUFBbWMsRUFNQSxPQUZBdlMsR0FBQUosU0FDQUksRUFBQXdT
LE9BQ0F4UyxFQUdBLE9BQ0FELFVBQ0EyUyxtQkFBQTVTLEdBQUFDLE1BVUEsU0FDQTNKLEVBQ0Fu
eUIsR0FFQSxHQUFBdzRCLEdBQUF0RyxHQUFBQyxFQUFBNVQsT0FBQXZlLEVBQ0EwMkIsSUFBQThC
LEVBQUF4NEIsRUFDQSxJQUFBNmlCLEdBQUEwVixHQUFBQyxFQUFBeDRCLEVBQ0EsUUFDQXc0QixN
QUNBcnVCLE9BQUEwWSxFQUFBMVksT0FDQTRILGdCQUFBOFEsRUFBQTlRLG9CQU1BMjhCLEdBQUFO
LEdBQUFoQyxJQUNBcUMsR0FBQUMsR0FBQUQsbUJBSUFFLEdBQUE1MUMsRUFBQSxTQUFBd0ksR0FD
QSxHQUFBeUksR0FBQXlQLEdBQUFsWSxFQUNBLE9BQUF5SSxNQUFBcXlCLFlBR0F1UyxHQUFBejRC
LEdBQUF0USxVQUFBbTdCLE1BQ0E3cUIsSUFBQXRRLFVBQUFtN0IsT0FBQSxTQUNBaDNCLEVBQ0FD
LEdBS0EsSUFIQUQsS0FBQXlQLEdBQUF6UCxNQUdBcVAsU0FBQTh4QixNQUFBbmhDLElBQUFxUCxT
QUFBdzFCLGdCQUlBLE1BQUF6ekMsS0FHQSxJQUFBNEUsR0FBQTVFLEtBQUFvSCxRQUVBLEtBQUF4
QyxFQUFBbUssT0FBQSxDQUNBLEdBQUFnb0IsR0FBQW55QixFQUFBbXlCLFFBQ0EsSUFBQUEsRUFD
QSxtQkFBQUEsR0FDQSxNQUFBQSxFQUFBalQsT0FBQSxLQUNBaVQsRUFBQXdjLEdBQUF4YyxRQVNP
LEtBQUFBLEVBQUF2SixTQU1QLE1BQUF4dEIsS0FMQSsyQixLQUFBa0ssY0FPS3J5QixLQUNMbW9C
LEVBQUE4SixHQUFBanlCLEdBRUEsSUFBQW1vQixFQUFBLENBTUEsR0FBQXBYLEdBQUEwekIsR0FB
QXRjLEdBQ0FsRCx3QkFDQWYsV0FBQWx1QixFQUFBa3VCLFdBQ0FrRixTQUFBcHpCLEVBQUFvekIs
VUFDT2g0QixNQUNQK08sRUFBQTRRLEVBQUE1USxPQUNBNEgsRUFBQWdKLEVBQUFoSixlQUNBL1Is
R0FBQW1LLFNBQ0FuSyxFQUFBK1IsbUJBU0EsTUFBQTY4QixJQUFBLzNDLEtBQUF1RSxLQUFBNE8s
RUFBQUMsSUFpQkFrTSxHQUFBMmxCLFFBQUEyUyxHQUVBNzRDLEVBQUEsWURaNkJpQixLQUFLakIs
RUFBcUJDLEVBQW9CLE1BSXJFLFNBQVVGLEVBQVFtNUMsR0V2MVR4Qm41QyxFQUFBbTVDLFFBQUEs
U0FDQUMsRUFDQUMsRUFDQUMsRUFDQUMsRUFDQUMsR0FFQSxHQUFBQyxHQUNBQyxFQUFBTixRQUdB
M3VDLFFBQUEydUMsR0FBQXhzQyxPQUNBLFlBQUFuQyxHQUFBLGFBQUFBLElBQ0FndkMsRUFBQUws
RUFDQU0sRUFBQU4sRUFBQXhzQyxRQUlBLElBQUF2QyxHQUFBLGtCQUFBcXZDLEdBQ0FBLEVBQUFy
dkMsUUFDQXF2QyxDQUdBTCxLQUNBaHZDLEVBQUFtSyxPQUFBNmtDLEVBQUE3a0MsT0FDQW5LLEVB
QUErUixnQkFBQWk5QixFQUFBajlCLGlCQUlBbTlCLElBQ0FsdkMsRUFBQWluQyxTQUFBaUksRUFH
QSxJQUFBaHFDLEVBNEJBLElBM0JBaXFDLEdBQ0FqcUMsRUFBQSxTQUFBM0IsR0FFQUEsRUFDQUEs
R0FDQW5JLEtBQUFxUCxRQUFBclAsS0FBQXFQLE9BQUF1NUIsWUFDQTVvQyxLQUFBeUYsUUFBQXpG
LEtBQUF5RixPQUFBNEosUUFBQXJQLEtBQUF5RixPQUFBNEosT0FBQXU1QixXQUVBemdDLEdBQUEs
bUJBQUErckMsdUJBQ0EvckMsRUFBQStyQyxxQkFHQUwsR0FDQUEsRUFBQXA0QyxLQUFBdUUsS0FB
QW1JLEdBR0FBLEtBQUFnc0MsdUJBQ0Foc0MsRUFBQWdzQyxzQkFBQS9xQyxJQUFBMnFDLElBS0Fu
dkMsRUFBQXd2QyxhQUFBdHFDLEdBQ0crcEMsSUFDSC9wQyxFQUFBK3BDLEdBR0EvcEMsRUFBQSxD
QUNBLEdBQUFpTSxHQUFBblIsRUFBQW1SLFdBQ0E0RCxFQUFBNUQsRUFDQW5SLEVBQUFtSyxPQUNB
bkssRUFBQXl2QyxZQUNBdCtCLEdBT0FuUixFQUFBbUssT0FBQSxTQUFBcUcsRUFBQWpOLEdBRUEs
TUFEQTJCLEdBQUFyTyxLQUFBME0sR0FDQXdSLEVBQUF2RSxFQUFBak4sSUFQQXZELEVBQUF5dkMs
YUFBQTE2QixLQUNBbFYsT0FBQWtWLEVBQUE3UCxJQUNBQSxHQVVBLE9BQ0FrcUMsV0FDQU4sUUFB
QU8sRUFDQXJ2QyxhRnEyVE0sU0FBVXJLLEVBQVFtNUMsRUFBU2o1QyxJR3Q3VGpDLFNBQUFpNUMs
R0FZQSxRQUFBWSxLQUdBLFdBQUFDLEVBQUFqcUMsTUFBQSxNQUFBaXFDLEVBQUFqcUMsS0FpUkEs
UUFBQWtxQyxHQUFBcjNDLEVBQUFzM0MsR0FDQSxPQUFBMTNDLEdBQUEsRUFBaUJBLEVBQUFJLEVB
QUFILE9BQWdCRCxHQUFBLEVBQ2pDLFFBQUEwM0MsRUFBQXQzQyxFQUFBSixLQUFBSSxHQUNBLE9B
S0EsUUFBQXUzQyxHQUFBdjNDLEdBRUEsT0FEQXczQyxNQUNBNTNDLEVBQUEsRUFBQWxCLEVBQUFz
QixFQUFBSCxPQUFpQ0QsRUFBQWxCLEVBQU9rQixJQUN4QzQzQyxJQUFBbHdDLE9BQUF0SCxFQUFB
SixHQUVBLE9BQUE0M0MsR0FHQSxRQUFBQyxHQUFBejNDLEVBQUFzM0MsRUFBQXQ5QixHQUNBLElB
QUFoYSxFQUFBSCxPQUNBLE1BQUFtYSxJQUVBLElBQUEwOUIsR0FBQSxHQUNBLFFBQUFDLEtBQ0FM
LEVBQUF0M0MsRUFBQTAzQyxHQUFBLFNBQUFoMEMsR0FDQUEsSUFBQSxJQUFBQSxHQUNBc1csRUFB
QXRXLEdBQ0FzVyxFQUFBLGVBRUEwOUIsR0FBQSxFQUNBQSxJQUFBMTNDLEVBQUFILE9BQ0FtYSxJ
QUVBMjlCLFVBT0EsUUFBQUMsR0FBQXQ0QyxFQUFBdTRDLEVBQUFDLEdBQ0FBLEVBQUF4NEMsQ0FD
QSxRQUFBeTRDLEtBQUFGLEdBQ0EsR0FBQUEsRUFBQXQzQyxlQUFBdzNDLEtBQ0FELEVBQUFELEVB
QUFFLEdBQUF6NEMsTUFDQUEsRUFDQSxLQUlBLE9BQUF3NEMsS0FBQXg0QyxFQUFBLHVCQUFBdzRD
LEVBR0EsUUFBQUUsR0FBQTE0QyxFQUFBdTRDLEdBRUEsSUFEQSxHQUFBdjRCLEdBQUExUixFQUFB
LEVBQUFxcUMsRUFBQSxHQUNBMzRCLEVBQUFoZ0IsRUFBQTQ0QyxPQUFBdHFDLEdBQUF4RCxNQUFB
LG1DQUNBd0QsRUFBQTBSLEVBQUFwZixNQUFBb2YsRUFBQSxHQUFBemYsT0FDQXlmLEVBQUEsR0FB
QUEsRUFBQSxHQUFBaU8sUUFBQSxvQ0FDQTBxQixHQUFBMzRDLEVBQUE0NEMsT0FBQSxFQUFBNTRC
LEVBQUFwZixPQUFBb2YsRUFBQSxFQUVBaGdCLEdBQUEyNEMsR0FBQTM0QyxFQUFBNDRDLE9BQUF0
cUMsRUFDQSxJQUFBckIsR0FBQTFNLEVBQUFzNEMsRUFBQTc0QyxFQUFBOEssTUFBQSxjQUNBLElB
QUErdEMsRUFBQSxDQUNBdDRDLEVBQUFzNEMsRUFBQXQ0QyxNQUNBLFFBQUFELEdBQUEsRUFBbUJB
LEVBQUFDLEVBQVlELElBQy9CMk0sRUFBQTRyQyxFQUFBdjRDLEdBRUFOLEVBREEsT0FBQWlOLEVB
QUFWLE1BQUEsS0FDQVUsRUFBQVYsTUFBQSxHQUVBdk0sRUFBQWl1QixRQUFBaGhCLEVBQUFxckMs
RUFBQXJyQyxFQUFBc3JDLElBSUEsTUFBQXY0QyxHQUdBLFFBQUE4NEMsR0FBQUMsRUFBQUMsRUFB
QWwzQyxFQUFBZzBDLEdBQ0EsR0FBQXgxQyxHQUFBZ08sRUFBQSxFQUFBdW5CLEVBQUEsRUFBQThm
LEVBQUEsRUFBQTd6QyxNQUFBLEtBQUFyQyxXQUFBcTJDLE1BQUEsS0FBQXIyQyxVQUNBLEtBQUFh
LEVBQUEsRUFBYUEsRUFBQXk0QyxFQUFBeDRDLE9BQW1CRCxJQUFBLENBQ2hDLEdBQUEyNEMsR0FB
QUYsRUFBQXo0QyxFQUNBLElBQUEyNEMsRUFBQXA0QyxRQUFBaUIsRUFBQXdNLEdBQUEycUMsRUFB
QXA0QyxRQUFBaTFDLEVBQUF4bkMsS0FBQTJxQyxFQUFBcDRDLFFBQUFpQixFQUFBd00sTUFBQTJx
QyxFQUFBcDRDLFFBQUFpMUMsRUFBQXhuQyxNQUFBMnFDLEVBQUFwNEMsUUFBQWlCLEVBQUF3TSxL
QUFBMnFDLEVBQUFwNEMsUUFBQWkxQyxFQUFBeG5DLEdBQUEsQ0FHQSxHQUZBdW5CLEVBQUFvakIs
RUFBQXA0QyxRQUFBaUIsRUFBQXdNLEdBQ0FxbkMsRUFBQXNELEVBQUFwNEMsUUFBQWkxQyxFQUFB
eG5DLElBQ0F1bkIsS0FBQThmLEtBQUE5ZixJQUFBOGYsRUFBQSxDQUVBb0QsR0FEQUEsRUFBQXhz
QyxNQUFBLEdBQUFqTSxHQUFBLE1BQUEwa0IsS0FBQWcwQixJQUNBaHhDLE9BQUErd0MsRUFBQXhz
QyxPQUFBak0sR0FBQSxPQUVBZ08sR0FBQXFuQyxFQUFBOWYsRUFBQThmLEVBQUE5ZixHQUFBLEVB
Q0F2MUIsRUFBQSxNQUVBZ08sR0FBQSxFQUdBLE1BQUF5cUMsR0FqWEEsR0FBQWpCLEdBQUF0MkIs
U0FBQTAzQixTQVFBQyxHQUNBN0csS0FBQSxTQUNBemtDLEtBQUFpcUMsRUFBQWpxQyxLQUNBdXJD
LFNBQUEsRUFFQUMsTUFBQSxXQUNBLEdBQUExZ0MsR0FBQW0vQixFQUFBanFDLElBQ0E4SyxJQUFB
cFYsS0FBQXNLLE9BQ0F0SyxLQUFBc0ssS0FBQThLLEVBQ0FwVixLQUFBKzFDLGtCQUlBQyxLQUFB
LFdBQ0EsV0FBQWgyQyxLQUFBK3VDLE1BQ0EsSUFBQS91QyxLQUFBNjFDLFFBQUEzM0IsT0FBQSsz
QixhQUFBLzNCLE9BQUFnNEIsZUFHQWwyQyxLQUFBKzFDLGlCQUlBcFEsS0FBQSxTQUFBL25DLEVB
QUFpNEMsR0FRQSxRQUFBTSxHQUFBQyxHQUNBLE9BQUFyNUMsR0FBQSxFQUFBbUIsRUFBQW00QyxF
QUFBdHBDLFVBQUEvUCxPQUFrREQsRUFBQW1CLEVBQU9uQixJQUN6RHM1QyxFQUFBdHBDLFVBQUFo
USxHQUFBcTVDLEdBVEEsR0FBQTNELEdBQUF6eUMsSUFjQSxJQWJBQSxLQUFBNjFDLFVBRUFRLEVB
QUF0cEMsWUFDQXNwQyxFQUFBdHBDLGNBVUEsZ0JBQUFtUixjQUFBbGpCLEtBQUFpakIsU0FBQXE0
QixjQUNBcjRCLFNBQUFxNEIsYUFBQSxJQUVBLElBQUF0MkMsS0FBQTYxQyxRQU1BcHBDLFdBQUEs
V0FDQXlSLE9BQUErM0IsV0FBQUUsR0FDUyxLQUdUajRCLE9BQUFnNEIsYUFBQUMsRUFFQW4yQyxL
QUFBK3VDLEtBQUEsYUFFQSxDQUlBLEdBQUF3SCxHQUFBdDRCLFNBQUEzSSxjQUFBLFNBQ0FpaEMs
R0FBQXB3QyxHQUFBLGNBQ0Fvd0MsRUFBQWp0QixNQUFBcWxCLFFBQUEsT0FDQTF3QixTQUFBOHhC
LEtBQUExd0IsWUFBQWszQixHQUNBdjJDLEtBQUF3MkMsV0FBQSxJQUVBLG9CQUFBdjRCLFdBQUEs
ZUFBQUEsV0FDQUEsU0FBQXc0QixZQUFBLDhCQUNBLGFBQUFqdEMsTUFBQXltQyxjQUNBd0MsRUFB
QXFELFVBS0E1M0IsT0FBQXc0QixZQUFBLFdBQXNDakUsRUFBQXFELFNBQWdCLElBRXREOTFDLEtB
QUErMUMsY0FBQUksRUFDQW4yQyxLQUFBK3VDLEtBQUEsU0FLQSxNQUZBc0gsR0FBQXRwQyxVQUFB
bkwsS0FBQWhFLEdBRUFvQyxLQUFBK3VDLE1BR0E5SSxRQUFBLFNBQUFyb0MsR0FDQSxHQUFBeTRD
LEtBQUF0cEMsVUFNQSxPQUZBQSxHQUFBc3BDLEVBQUF0cEMsVUFFQWhRLEVBQUFnUSxFQUFBL1As
T0FBQSxFQUFzQ0QsR0FBQSxFQUFRQSxJQUM5Q2dRLEVBQUFoUSxLQUFBYSxHQUNBbVAsRUFBQXhQ
LE9BQUFSLEVBQUEsSUFLQTQ1QyxRQUFBLFNBQUEzcEIsR0FjQSxNQVpBLFdBQUFodEIsS0FBQSt1
QyxNQUNBL3VDLEtBQUF3MkMsV0FBQXhwQixJQUdBLElBQUFodEIsS0FBQTYxQyxTQUNBMzNCLE9B
QUEyM0IsUUFBQWUsYUFBaUMzNEIsU0FBQTQ0QixNQUFBN3BCLEdBR2pDaHRCLEtBQUFnMkMsUUFF
QXpCLEVBQUFqcUMsS0FBQSxNQUFBMGlCLEVBQUEsR0FBQUEsRUFBQSxJQUFBQSxFQUVBaHRCLE1B
R0F3MkMsV0FBQSxTQUFBeHBCLEdBRUEsR0FBQThwQixHQUFBNzRCLFNBQUE4NEIsZUFBQSxlQUNB
MWhDLEVBQUF5aEMsRUFBQUUsaUJBQUFGLEVBQUFHLGNBQUFoNUIsUUFDQTVJLEdBQUFxN0IsT0FD
QXI3QixFQUFBNmhDLE1BQUEsb0JBQUFscUIsRUFBQSxpREFDQTNYLEVBQUFzN0IsU0FHQXdHLFNB
QUEsV0FFQSxHQUFBbnFCLEdBQUFodEIsS0FBQW8zQyxLQUlBLE9BSEFwcUIsSUFBQXVuQixFQUFB
anFDLE9BQ0FpcUMsRUFBQWpxQyxLQUFBMGlCLEdBRUFodEIsTUFHQSsxQyxjQUFBLGNBR0FNLEVB
QUEzQyxFQUFBMkMsT0FBQSxTQUFBYixHQUNBLEtBQUF4MUMsZUFBQXEyQyxJQUFBLFVBQUFBLEdB
QUFiLEVBRUF4MUMsTUFBQWcxQyxVQUNBaDFDLEtBQUF3MUMsVUFDQXgxQyxLQUFBNlMsU0FBQSw4
QkFDQTdTLEtBQUF1L0IsU0FDQXYvQixLQUFBcTNDLFlBRUFyM0MsS0FBQXMzQyxRQUFBdDNDLEtB
QUFnbUMsT0FDQWhtQyxLQUFBZ21DLE9BQUFobUMsS0FBQXUzQyxTQUVBdjNDLEtBQUF3M0MsZUFB
QSxhQUFBdDVCLE9BQUEyM0IsUUFBQTMzQixPQUFBMjNCLFFBQUFlLFVBQUEsTUFFQTUyQyxLQUFB
eTNDLFlBQ0F6M0MsS0FBQXd6QyxNQUFBZ0MsT0FHQWEsR0FBQTVyQyxVQUFBazdCLEtBQUEsU0FB
QStSLEdBQ0EsR0FDQUMsR0FEQWxGLEVBQUF6eUMsSUFxQ0EsT0FuQ0FBLE1BQUFpVSxRQUFBLFNB
QUFtaUMsR0FDQSxHQUFBd0IsR0FBQXhCLEtBQUF3QixRQUFBMTVCLE9BQUF5M0IsU0FBQXJyQyxL
QUNBdXRDLEdBQUEsSUFBQXBGLEVBQUFvRCxRQUFBcEQsRUFBQXFGLFVBQUFGLEVBQUFsdEIsUUFB
QSxTQUNBK25CLEdBQUFzRixTQUFBLFdBQUFGLEVBQUEvekIsT0FBQSxHQUFBK3pCLEVBQUEsSUFB
QUEsSUFHQWpDLEVBQUFqUSxLQUFBM2xDLEtBQUFpVSxRQUFBalUsS0FBQTYxQyxVQUVBLElBQUE3
MUMsS0FBQTYxQyxRQUNBdkIsS0FBQW9ELEVBQ0FuRCxFQUFBanFDLEtBQUFvdEMsRUFDS3BELEtB
Q0w3QixFQUFBc0YsU0FBQSxTQUFBeEQsRUFBQWpxQyxLQUFBb2dCLFFBQUEsb0JBSUExcUIsS0FB
QWc0QyxzQkFFQUwsRUFBQXJELEtBQUFvRCxJQUFBcEQsSUFBQSxLQUFBQyxFQUFBanFDLEtBQUFv
Z0IsUUFBQSxXQUVBeE0sT0FBQTIzQixRQUFBb0MsZ0JBQXNDaDZCLFNBQUE0NEIsTUFBQWMsR0FL
dENBLEVBQUEzM0MsS0FBQTgzQyxXQUtBSCxJQUFBLElBQUEzM0MsS0FBQWs0QyxjQUNBbDRDLEtB
QUFpVSxXQUlBalUsTUFHQXEyQyxFQUFBNXJDLFVBQUEwdEMsUUFBQSxXQUNBLEdBQUFwOUMsSUFB
QSxJQUFBaUYsS0FBQTYxQyxRQUFBNzFDLEtBQUE4M0MsVUFBQXZELEVBQUFqcUMsSUFFQSxPQURB
LE1BQUF2UCxFQUFBK29CLE9BQUEsS0FBNEIvb0IsSUFBQWlPLE1BQUEsSUFDNUJqTyxFQUFBaU8s
TUFBQSxFQUFBak8sRUFBQWlDLFFBQUFGLE1BQUEsTUFHQXU1QyxFQUFBNXJDLFVBQUEydEMsU0FB
QSxTQUFBcjdDLEVBQUFoQyxFQUFBYSxHQUNBLEdBQUFpOEMsR0FBQTczQyxLQUFBbTRDLFNBYUEs
T0FYQSxnQkFBQXA3QyxJQUFBLGdCQUFBaEMsR0FDQTg4QyxFQUFBOTZDLEdBQUFoQyxFQUVBLGdC
QUFBYSxHQUNBaThDLEVBQUF0NkMsT0FBQVIsRUFBQWhDLEVBQUFpeUIsR0FHQTZxQixHQUFBOTZD
LEdBR0E2NEMsRUFBQWUsUUFBQWtCLEVBQUFwMkIsS0FBQSxNQUNBbzJCLEdBV0F4QixFQUFBNXJD
LFVBQUE4c0MsU0FBQSxTQUFBblQsRUFBQTVqQyxFQUFBNjNDLEVBQUE1eUMsR0FZQSxNQVhBLFNB
QUEyK0IsSUFDQUEsRUFBQSxLQUNBaVUsRUFBQSxTQUFBQSxHQUNBLEdBQUF2NEMsSUFBQSxDQUNB
LG1CQUNBLElBQUFBLEVBRUEsTUFEQUEsSUFBQSxFQUNBdTRDLEVBQUFqNkMsTUFBQTRCLEtBQUE3
QixhQUVLazZDLElBRUxyNEMsS0FBQXMzQyxRQUFBbFQsRUFBQTVqQyxFQUFBNjNDLEVBQUE1eUMs
SUFHQTR3QyxFQUFBNXJDLFVBQUE2dEMsU0FBQSxTQUFBdjlDLEdBQ0EsR0FBQXlELEdBQUF6RCxD
QUVBLG9CQUFBQSxHQUNBeUQsRUFBQXdCLEtBQUFtNEMsVUFBQXA5QyxPQUVBLG9CQUFBQSxHQUFB
LENBQ0EsR0FBQXFhLEdBQUFwVixLQUFBbTRDLFNBQ0EzNUMsR0FBQTRXLEVBQUE5WCxRQUFBdkMs
T0FHQXlELEdBQUF3QixLQUFBbTRDLFNBR0EsT0FBQTM1QyxJQUdBNjNDLEVBQUE1ckMsVUFBQXc3
QixRQUFBLFdBRUEsTUFEQTJQLEdBQUEzUCxRQUFBam1DLEtBQUFpVSxTQUNBalUsTUFHQXEyQyxF
QUFBNXJDLFVBQUFxdEMsUUFBQSxXQUNBLEdBQUF0M0MsR0FBQTBkLE9BQUF5M0IsU0FBQTRDLFFB
SUEsT0FIQSxNQUFBLzNDLEVBQUE2MEMsT0FBQSxPQUNBNzBDLEVBQUEsSUFBQUEsR0FFQUEsRUFn
R0EsSUFBQWc0QyxHQUFBLE1BRUFuQyxHQUFBNXJDLFVBQUFndEMsVUFBQSxTQUFBN3lDLEdBQ0FB
LE9BQ0EsUUFBQTdILEdBQUEsRUFBaUJBLEVBQUFpRCxLQUFBNlMsUUFBQTdWLE9BQXlCRCxJQUMx
Q2lELEtBQUFxM0MsU0FBQXIzQyxLQUFBNlMsUUFBQTlWLEtBQUEsQ0FnQkEsT0FkQWlELE1BQUF5
NEMsUUFBQTd6QyxFQUFBNnpDLFNBQUF6NEMsS0FBQXk0QyxVQUFBLEVBQ0F6NEMsS0FBQTA0QyxN
QUFBOXpDLEVBQUE4ekMsUUFBQSxFQUNBMTRDLEtBQUF5MUMsVUFBQTd3QyxFQUFBNndDLFdBQUEs
SUFDQXoxQyxLQUFBMjRDLFdBQUEsS0FBQS96QyxFQUFBK3pDLFFBQUEvekMsRUFBQSt6QyxPQUNB
MzRDLEtBQUE0NEMsU0FBQWgwQyxFQUFBZzBDLFNBQ0E1NEMsS0FBQTY0QyxTQUFBajBDLEVBQUFp
MEMsU0FDQTc0QyxLQUFBNjFDLFFBQUFqeEMsRUFBQWswQyxjQUFBOTRDLEtBQUF3M0MsaUJBQUEs
RUFDQXgzQyxLQUFBazRDLGFBQUEsSUFBQWw0QyxLQUFBNjFDLFVBQUEsSUFBQWp4QyxFQUFBbTBD
LG9CQUNBLzRDLEtBQUFnNEMsc0JBQUEsSUFBQWg0QyxLQUFBNjFDLFVBQUEsSUFBQWp4QyxFQUFB
b3pDLHFCQUNBaDRDLEtBQUFSLE9BQ0F3NUMsTUFBQXAwQyxFQUFBbzBDLE9BQUEsS0FDQUMsT0FB
QXIwQyxFQUFBcTBDLFFBQUEsS0FDQS92QyxHQUFBdEUsRUFBQXNFLElBQUEsTUFFQWxKLE1BR0Fx
MkMsRUFBQTVyQyxVQUFBeXFDLE1BQUEsU0FBQWdFLEVBQUFDLEdBQ0EsTUFBQUQsRUFBQSxLQUNB
QSxFQUFBLElBQUFBLEVBRUEsSUFBQXZZLEdBQUEsR0FBQXZMLFFBQUE4akIsRUFBQSxJQUlBLE9B
SEFsNUMsTUFBQWcxQyxPQUFBa0UsR0FBQSxTQUFBejhDLEdBQ0EsTUFBQUEsR0FBQWl1QixRQUFB
aVcsRUFBQXdZLEVBQUFua0MsUUFBQW1rQyxJQUVBbjVDLE1BR0FxMkMsRUFBQTVyQyxVQUFBdkIs
R0FBQW10QyxFQUFBNXJDLFVBQUE0dEMsTUFBQSxTQUFBalUsRUFBQTVqQyxFQUFBNjNDLEdBQ0Es
R0FBQTVGLEdBQUF6eUMsSUFNQSxPQUxBcTRDLElBQUEsa0JBQUE3M0MsS0FDQTYzQyxFQUFBNzND
LEVBQ0FBLEVBQUE0akMsRUFDQUEsRUFBQSxNQUVBM2xDLE1BQUFhLFFBQUFrQixHQUNBQSxFQUFB
bVUsUUFBQSxTQUFBa1AsR0FDQTR1QixFQUFBdnBDLEdBQUFrN0IsRUFBQXZnQixFQUFBdzBCLE1B
R0E3M0MsRUFBQXdVLFNBQ0F4VSxJQUFBd1UsT0FBQTBWLFFBQUEsZUFFQWpzQixNQUFBYSxRQUFB
OGtDLEdBQ0FBLEVBQUF6dkIsUUFBQSxTQUFBMFAsR0FDQW91QixFQUFBdnBDLEdBQUFtYixFQUFB
cG5CLGNBQUF1RCxFQUFBNjNDLE1BR0E3M0MsSUFBQTFELE1BQUEsR0FBQXM0QixRQUFBcDFCLEtB
QUF5MUMsWUFDQWoxQyxFQUFBKzBDLEVBQUEvMEMsRUFBQVIsS0FBQXkxQyxlQUNBejFDLE1BQUFn
bUMsT0FBQTVCLEVBQUFwa0MsS0FBQXUvQixNQUFBOTZCLE9BQUFqRSxHQUFBNjNDLE1BR0FoQyxF
QUFBNXJDLFVBQUFqSyxLQUFBLFNBQUFBLEVBQUE0NEMsR0FDQSxHQUFBcDhDLEdBQUFnRCxLQUFB
dS9CLE1BQUF2aUMsTUFDQXdELEdBQUF3VSxTQUNBeFUsSUFBQXdVLE9BQUEwVixRQUFBLGVBRUFs
cUIsSUFBQTFELE1BQUEsR0FBQXM0QixRQUFBcDFCLEtBQUF5MUMsWUFDQWoxQyxFQUFBKzBDLEVB
QUEvMEMsRUFBQVIsS0FBQXkxQyxXQUNBejFDLEtBQUF1L0IsTUFBQXYvQixLQUFBdS9CLE1BQUE5
NkIsT0FBQWpFLEdBQ0E0NEMsRUFBQTM5QyxLQUFBdUUsV0FDQUEsS0FBQXUvQixNQUFBaGlDLE9B
QUFQLEVBQUF3RCxFQUFBeEQsU0FHQXE1QyxFQUFBNXJDLFVBQUFzdEMsU0FBQSxTQUFBM1QsRUFB
QTVqQyxFQUFBMlcsR0FnQkEsUUFBQWtpQyxLQUNBNUcsRUFBQTFuQyxLQUFBbEMsRUFBQW13QyxN
QUNBdkcsRUFBQTZHLE9BQUE3RyxFQUFBOEcsUUFBQTF3QyxHQUFBNHBDLEVBQUF0N0IsR0FqQkEs
R0FBQTZoQyxHQUFBdkcsRUFBQXp5QyxLQUFBNkksRUFBQTdJLEtBQUErUixTQUFBcXlCLEVBQUE1
akMsRUFBQWtxQixRQUFBOHRCLEVBQUEsSUFBQXg0QyxLQUFBdzFDLE9BQUEsSUFBQWdFLEVBQUF4
NUMsS0FBQXk1QyxRQUVBLE9BREF6NUMsTUFBQXk1QyxVQUFBLEVBQ0E1d0MsR0FBQSxJQUFBQSxF
QUFBN0wsUUFVQSxZQUFBZ0QsS0FBQXk0QyxVQUNBNXZDLElBQUE2d0MsWUFNQVYsRUFBQWg1QyxL
QUFBUixPQUFBUSxLQUFBUixNQUFBdzVDLE9BQUFoNUMsS0FBQVIsTUFBQXc1QyxPQUFBdjBDLE9B
QUF6RSxLQUFBK0ssT0FBQS9LLEtBQUErSyxRQUNBaXVDLEVBQUFoOEMsT0FBQSxHQUFBdzhDLEdB
Q0F4NUMsS0FBQTA0QyxNQUNBMTRDLEtBQUFzNUMsT0FBQU4sRUFBQWg1QyxLQUFBcTVDLElBRUFy
NUMsS0FBQXM1QyxPQUFBTixFQUFBaDVDLE1BQ0FxNUMsTUFFQSxJQUVBQSxLQUNBLEtBM0JBcjVD
LEtBQUErSyxRQUNBLGtCQUFBL0ssTUFBQTQ0QyxVQUNBNTRDLEtBQUFzNUMsUUFBQXQ1QyxLQUFB
NDRDLFdBQ0F4VSxTQUNBNWpDLFFBQ08yVyxJQUVQLElBdUJBay9CLEVBQUE1ckMsVUFBQTZ1QyxP
QUFBLFNBQUF6d0MsRUFBQTh3QyxFQUFBeGlDLEdBQ0EsR0FDQS9ZLEdBREFxMEMsRUFBQXp5QyxJ
QUVBQSxNQUFBMDRDLE9BQ0F0NkMsRUFBQSxTQUFBUixFQUFBMm9CLEdBQ0EsR0FBQTluQixNQUFB
YSxRQUFBMUIsR0FDQSxNQUFBZzNDLEdBQUFoM0MsRUFBQVEsRUFBQW1vQixFQUNPLG1CQUFBM29C
LElBQ1BBLEVBQUFRLE1BQUF1N0MsR0FBQTl3QyxFQUFBeXNDLGNBQUE3d0MsT0FBQThoQixLQUdB
cXVCLEVBQUEvckMsRUFBQXpLLEVBQUEsV0FDQStZLEdBQ0FBLEVBQUEvWSxNQUFBdTdDLEVBQUF4
N0MsZUFJQUMsRUFBQSxTQUFBUixHQUNBLE1BQUFhLE9BQUFhLFFBQUExQixHQUNBNDJDLEVBQUE1
MkMsRUFBQVEsR0FDTyxrQkFBQVIsR0FDUEEsRUFBQVEsTUFBQXU3QyxFQUFBOXdDLEVBQUF5c0Ms
bUJBQ08sZ0JBQUExM0MsSUFBQTYwQyxFQUFBb0csVUFDUHBHLEVBQUFvRyxTQUFBajdDLEdBQUFR
LE1BQUF1N0MsRUFBQTl3QyxFQUFBeXNDLGdCQUdBZCxFQUFBM3JDLEVBQUF6SyxLQUlBaTRDLEVB
QUE1ckMsVUFBQXNILFNBQUEsU0FBQXF5QixFQUFBNWpDLEVBQUFnMUMsRUFBQW9FLEVBQUEvOEIs
R0FFQSxRQUFBZzlCLEdBQUFyRSxHQUlBLFFBQUFzRSxHQUFBOWtDLEdBRUEsT0FEQVAsTUFDQTFY
LEVBQUEsRUFBcUJBLEVBQUFpWSxFQUFBaFksT0FBbUJELElBQ3hDMFgsRUFBQTFYLEdBQUEwQixN
QUFBYSxRQUFBMFYsRUFBQWpZLElBQUErOEMsRUFBQTlrQyxFQUFBalksSUFBQWlZLEVBQUFqWSxF
QUVBLE9BQUEwWCxHQUVBLFFBQUFzbEMsR0FBQWx4QyxHQUNBLE9BQUE5TCxHQUFBOEwsRUFBQTdM
LE9BQUEsRUFBa0NELEdBQUEsRUFBUUEsSUFDMUMwQixNQUFBYSxRQUFBdUosRUFBQTlMLEtBQ0Fn
OUMsRUFBQWx4QyxFQUFBOUwsSUFDQSxJQUFBOEwsRUFBQTlMLEdBQUFDLFFBQ0E2TCxFQUFBdEws
T0FBQVIsRUFBQSxJQUdBOGYsRUFBQWhVLEVBQUE5TCxLQUNBOEwsRUFBQXRMLE9BQUFSLEVBQUEs
R0FuQkEsSUFBQThmLEVBQ0EsTUFBQTI0QixFQXVCQSxJQUFBd0UsR0FBQUYsRUFBQXRFLEVBS0Es
T0FKQXdFLEdBQUFDLFFBQUF6RSxFQUFBeUUsUUFDQUQsRUFBQTFFLFNBQUFFLEVBQUFGLFNBQ0Ew
RSxFQUFBaEIsTUFBQXhELEVBQUF3RCxNQUFBbjhCLFVBQ0FrOUIsRUFBQUMsR0FDQUEsRUEvQkEs
R0FBQXA5QixHQUFBczlCLEVBQUEzeUMsRUFBQWdmLEVBQUExZCxJQWlDQSxJQUFBckksSUFBQVIs
S0FBQXkxQyxXQUFBRCxFQUFBcFIsR0FLQSxNQUpBN2QsS0FBQWl2QixFQUFBeUQsT0FBQXpELEVB
QUFwUixJQUFBdm5CLE9BQUE5VixVQUNBd2YsRUFBQXl5QixPQUFBeEQsRUFBQXdELE9BQUFuOEIs
T0FBQTlWLFNBQ0F3ZixFQUFBMHpCLFNBQUEsRUFDQTF6QixFQUFBK3VCLFlBQ0F1RSxFQUFBdHpC
LEVBRUEsUUFBQW14QixLQUFBbEMsR0FDQSxHQUFBQSxFQUFBOTNDLGVBQUFnNkMsTUFBQTEzQyxL
QUFBcTNDLFNBQUFLLElBQUExM0MsS0FBQXEzQyxTQUFBSyxJQUFBLGdCQUFBbEMsR0FBQWtDLEtB
QUFqNUMsTUFBQWEsUUFBQWsyQyxFQUFBa0MsS0FBQSxDQU1BLEdBTEE5NkIsRUFBQXM5QixFQUFB
TixFQUFBNTVDLEtBQUF5MUMsVUFBQWlDLEVBQ0ExM0MsS0FBQTI0QyxTQUNBdUIsR0FBQSxJQUFB
bDZDLEtBQUF5MUMsVUFBQSxRQUVBbHVDLEVBQUEvRyxFQUFBK0csTUFBQSxHQUFBNnRCLFFBQUEs
SUFBQThrQixLQUVBLFFBRUEsSUFBQTN5QyxFQUFBLElBQUFBLEVBQUEsSUFBQS9HLEdBQUFnMUMs
RUFBQWtDLEdBQUF0VCxHQVNBLE1BUkE3ZCxLQUFBaXZCLEVBQUFrQyxHQUFBdUIsT0FBQXpELEVB
QUFrQyxHQUFBdFQsSUFBQXZuQixPQUFBOVYsVUFDQXdmLEVBQUF5eUIsT0FBQXhELEVBQUFrQyxH
QUFBc0IsT0FBQW44QixPQUFBOVYsU0FDQXdmLEVBQUEwekIsU0FBQSxFQUNBMXpCLEVBQUErdUIs
U0FBQS90QyxFQUFBeUIsTUFBQSxHQUNBaEosS0FBQXk0QyxTQUFBakQsSUFBQXgxQyxLQUFBdzFD
LFNBQ0FqdkIsRUFBQTNrQixNQUFBNHpDLEVBQUF5RCxPQUFBekQsRUFBQXRzQyxJQUFBMlQsT0FB
QTlWLFVBQ0F3ZixFQUFBeXlCLE1BQUF6eUIsRUFBQXl5QixNQUFBdjBDLFFBQUErd0MsRUFBQXdE
LE9BQUFuOEIsT0FBQTlWLFdBRUE4eUMsRUFBQXR6QixFQUdBLElBREFBLEVBQUF2bUIsS0FBQStS
LFNBQUFxeUIsRUFBQTVqQyxFQUFBZzFDLEVBQUFrQyxHQUFBOTZCLEdBQ0EySixFQUFBMHpCLFFB
ZUEsTUFkQTF6QixHQUFBdnBCLE9BQUEsSUFDQTZMLElBQUFwRSxPQUFBOGhCLElBRUF2bUIsS0FB
QXk0QyxVQUNBNXZDLEVBQUFqSCxNQUFBNHpDLEVBQUFrQyxHQUFBdUIsT0FBQXpELEVBQUFrQyxH
QUFBeHVDLElBQUEyVCxPQUFBOVYsVUFDQXdmLEVBQUF5eUIsTUFBQXp5QixFQUFBeXlCLE1BQUF2
MEMsUUFBQSt3QyxFQUFBa0MsR0FBQXNCLE9BQUFuOEIsT0FBQTlWLFVBQ0F5dUMsSUFBQXgxQyxL
QUFBdzFDLFNBQ0Ezc0MsRUFBQWpILE1BQUE0ekMsRUFBQSxPQUFBQSxFQUFBLElBQUEzNEIsT0FB
QTlWLFVBQ0F3ZixFQUFBeXlCLE1BQUF6eUIsRUFBQXl5QixNQUFBdjBDLFFBQUErd0MsRUFBQSxP
QUFBMzRCLE9BQUE5VixZQUdBOEIsRUFBQW94QyxTQUFBLEVBQ0FweEMsRUFBQXlzQyxTQUFBL3VC
LEVBQUErdUIsU0FDQXpzQyxFQUFBbXdDLE1BQUF6eUIsRUFBQXl5QixNQUNBYSxFQUFBaHhDLEdB
SUEsVUFHQXd0QyxFQUFBNXJDLFVBQUF1N0IsT0FBQSxTQUFBNUIsRUFBQTVqQyxFQUFBNjNDLEVB
QUE1eUMsR0FDQSxHQUFBMDBDLEdBQUE3NkMsRUFBQTJyQyxFQUFBbVAsQ0FTQSxJQVJBNTVDLElB
QUFxYyxPQUFBLFNBQUFnSCxHQUNBLE1BQUFBLE1BQUE3bUIsT0FBQSxJQUVBeUksS0FBQXpGLEtB
QUF3MUMsT0FDQTRFLEVBQUE1NUMsRUFBQWsrQixRQUNBLFFBQUFoK0IsS0FBQTA1QyxLQUFBLFVB
QUExNUMsS0FBQTA1QyxLQUNBQSxFQUFBakYsRUFBQWlGLEVBQUFwNkMsS0FBQWcxQyxTQUVBeDBD
LEVBQUF4RCxPQUFBLEVBRUEsTUFEQXlJLEdBQUEyMEMsR0FBQTMwQyxFQUFBMjBDLE9BQ0FwNkMs
S0FBQWdtQyxPQUFBNUIsRUFBQTVqQyxFQUFBNjNDLEVBQUE1eUMsRUFBQTIwQyxHQUVBLElBQUFB
LEdBQUE1NUMsRUFBQXhELFFBQUF5SSxJQUFBekYsS0FBQXcxQyxPQUFBLENBaUJBLEdBRkEyRSxR
QUFBMTBDLEdBQUEyMEMsR0FDQTk2QyxFQUFBYixNQUFBYSxRQUFBbUcsRUFBQTIwQyxJQUNBMzBD
LEVBQUEyMEMsS0FBQTk2QyxHQUFBLFVBQUE2NkMsRUFFQSxhQURBMTBDLEdBQUEyMEMsR0FBQWhX
LElBRUEsZUFFQSxZQURBMytCLEVBQUEyMEMsR0FBQWhXLElBQUEzK0IsRUFBQTIwQyxHQUFBaFcs
R0FBQWlVLEdBRUEsY0FFQSxXQURBNXlDLEdBQUEyMEMsR0FBQWhXLEdBQUF4aUMsS0FBQXkyQyxF
QUVBLGlCQUVBLFlBREE1eUMsRUFBQTIwQyxHQUFBaFcsR0FBQWlVLE9BR0csaUJBQUE4QixFQUlI
LE1BSEFsUCxNQUNBQSxFQUFBN0csR0FBQWlVLE9BQ0E1eUMsRUFBQTIwQyxHQUFBblAsRUFHQSxV
QUFBb1AsT0FBQSwwQkFBQUYsR0FsQ0EsYUFEQTEwQyxHQUFBMitCLElBRUEsZUFFQSxZQURBMytC
LEVBQUEyK0IsSUFBQTMrQixFQUFBMitCLEdBQUFpVSxHQUVBLGNBRUEsV0FEQTV5QyxHQUFBMitC
LEdBQUF4aUMsS0FBQXkyQyxFQUVBLGlCQUVBLFlBREE1eUMsRUFBQTIrQixHQUFBaVUsS0ErQkFo
QyxFQUFBNXJDLFVBQUEvTCxPQUFBLFNBQUFtVSxHQUNBLEdBQUE5VixHQUFBMDFDLEVBQUF6eUMs
S0FBQXdILEVBQUFxTCxFQUFBN1YsTUFRQSxLQUFBRCxFQUFBLEVBQWFBLEVBQUF5SyxFQUFTekss
S0FQdEIsU0FBQXFuQyxHQUNBcU8sRUFBQTRFLFNBQUFqVCxJQUFBLEVBQ0FxTyxFQUFBck8sR0FB
QSxXQUNBLEdBQUFrVyxHQUFBLElBQUFuOEMsVUFBQW5CLFFBQUFvbkMsRUFBQSxLQUFBQSxFQUNB
cU8sR0FBQXZwQyxHQUFBOUssTUFBQXEwQyxFQUFBNkgsRUFBQTcxQyxPQUFBaEcsTUFBQWdNLFVB
QUF6QixNQUFBdk4sS0FBQTBDLGVBSUEwVSxFQUFBOVYsS0FJQXM1QyxFQUFBNXJDLFVBQUE4dUMs
UUFBQSxTQUFBMXdDLEdBQ0EsR0FBQTB3QyxHQUFBdjVDLEtBQUFSLE9BQUFRLEtBQUFSLE1BQUF5
NUMsUUFBQWo1QyxLQUFBUixNQUFBeTVDLFFBQUF4MEMsT0FBQWl3QyxFQUFBN3JDLElBQUE2ckMs
RUFBQTdyQyxFQU1BLE9BTEE3SSxNQUFBUixPQUFBUSxLQUFBUixNQUFBMEosSUFDQXF3QyxFQUFB
MzNDLEtBQUE1QixLQUFBUixNQUFBMEosSUFFQXF3QyxFQUFBakUsU0FBQXpzQyxFQUFBeXNDLFNB
Q0FpRSxFQUFBdmtDLE9BQUFuTSxFQUFBbU0sT0FDQXVrQyxHQUdBbEQsRUFBQTVyQyxVQUFBK29D
LE1BQUEsU0FBQWdDLEVBQUFoMUMsR0FDQSxHQUFBZzFDLEdBQUEsZ0JBQUFBLEtBQUEvMkMsTUFB
QWEsUUFBQWsyQyxHQUFBLENBR0EsR0FBQS9DLEdBQUF6eUMsSUFDQVEsU0FDQS9CLE1BQUFhLFFB
QUFrQixLQUNBQSxJQUFBMUQsTUFBQTIxQyxFQUFBZ0QsV0FtQkEsUUFBQTRDLEtBQUE3QyxHQUNB
QSxFQUFBOTNDLGVBQUEyNkMsSUFsQkEsU0FBQUEsRUFBQWtDLEdBQ0EsR0FBQUMsR0FBQW5DLEVB
QUFvQyxFQUFBcEMsRUFBQXY3QyxNQUFBMjFDLEVBQUFnRCxXQUFBaUYsUUFBQWxGLEdBQUE2QyxH
QUFBc0MsRUFBQSxLQUFBRixFQUFBLEtBQUFoSSxFQUFBNEUsU0FBQW9ELEVBQUEsSUFBQWp4QyxF
QUFBbXhDLEVBQUEsS0FBQUgsQ0FLQSxJQUpBRyxJQUNBSCxJQUFBeHhDLE9BQUF3eEMsRUFBQWp6
QyxNQUFBLEdBQUE2dEIsUUFBQSxJQUFBcWQsRUFBQWdELGNBQUEsUUFBQXo0QyxRQUNBeTlDLEVB
QUEvYixTQUVBaWMsR0FBQSxXQUFBRCxJQUFBajhDLE1BQUFhLFFBQUFrMkMsRUFBQTZDLElBR0Es
TUFGQWtDLEtBQUE5MUMsT0FBQWcyQyxPQUNBaEksR0FBQWUsTUFBQWdDLEVBQUE2QyxHQUFBa0Ms
RUFHQUksS0FDQUosSUFBQTkxQyxPQUFBKzFDLEVBQUExOUMsTUFBQTIxQyxFQUFBZ0QsWUFDQThF
LEVBQUFoRixFQUFBZ0YsRUFBQTlILEVBQUFnRCxZQUVBaEQsRUFBQXpNLE9BQUF4OEIsRUFBQSt3
QyxFQUFBL0UsRUFBQTZDLEtBSUFBLEVBQUE3M0MsRUFBQXdJLE1BQUEsT0FPQzBxQyxJSGs4VE0s
Q0FDQSxDQUNBLENBQ0EsQ0FDQSxDQUNBLENBQ0EsQ0FDQyxDQUVGLFNBQVVuNUMsRUFBUW01QyxH
STNwVnhCbjVDLEVBQUFtNUMsUUFBQSxTQUFBa0gsRUFBQS85QyxHQUdBLE9BRkFrdkIsTUFDQTh1
QixLQUNBOTlDLEVBQUEsRUFBaUJBLEVBQUFGLEVBQUFHLE9BQWlCRCxJQUFBLENBQ2xDLEdBQUFL
LEdBQUFQLEVBQUFFLEdBQ0FvSixFQUFBL0ksRUFBQSxHQUNBeXRCLEVBQUF6dEIsRUFBQSxHQUNB
MDlDLEVBQUExOUMsRUFBQSxHQUNBMjlDLEVBQUEzOUMsRUFBQSxHQUNBZzlDLEdBQ0FqMEMsR0FB
QXkwQyxFQUFBLElBQUE3OUMsRUFDQTh0QixNQUNBaXdCLFFBQ0FDLFlBRUFGLEdBQUExMEMsR0FH
QTAwQyxFQUFBMTBDLEdBQUFzMEMsTUFBQTc0QyxLQUFBdzRDLEdBRkFydUIsRUFBQW5xQixLQUFB
aTVDLEVBQUExMEMsSUFBbUNBLEtBQUFzMEMsT0FBQUwsS0FLbkMsTUFBQXJ1QixLSnVxVk0sU0FB
VXh4QixFQUFRbTVDLEdLaHNWeEIsR0FBQWpDLEVBR0FBLEdBQUEsV0FDQSxNQUFBenhDLFFBR0Es
S0FFQXl4QyxLQUFBalIsU0FBQSxxQkFBQXdhLE1BQUEsUUFDQyxNQUFBdjdDLEdBRUQsZ0JBQUF5
ZSxVQUNBdXpCLEVBQUF2ekIsUUFPQTNqQixFQUFBbTVDLFFBQUFqQyxHTHVzVk0sU0FBVWwzQyxF
QUFRbTVDLEdNMXFWeEIsUUFBQXVILEdBQUE3OUMsRUFBQTg5QyxHQUNBLEdBQUE1SyxHQUFBbHpD
LEVBQUEsT0FDQSs5QyxFQUFBLzlDLEVBQUEsRUFDQSxLQUFBKzlDLEVBQ0EsTUFBQTdLLEVBR0Es
SUFBQTRLLEdBQUEsa0JBQUFFLE1BQUEsQ0FDQSxHQUFBQyxHQUFBQyxFQUFBSCxFQUtBLFFBQUE3
SyxHQUFBN3JDLE9BSkEwMkMsRUFBQUksUUFBQTUrQyxJQUFBLFNBQUFxWSxHQUNBLHVCQUFBbW1D
LEVBQUFLLFdBQUF4bUMsRUFBQSxTQUdBdlEsUUFBQTQyQyxJQUFBNTVCLEtBQUEsTUFHQSxPQUFB
NnVCLEdBQUE3dUIsS0FBQSxNQUlBLFFBQUE2NUIsR0FBQVAsR0FLQSx5RUFIQUssS0FBQUssU0FB
QUMsbUJBQUF2L0MsS0FBQUMsVUFBQTIrQyxNQUdBLE1BckVBeGdELEVBQUFtNUMsUUFBQSxTQUFB
d0gsR0FDQSxHQUFBcitDLEtBd0NBLE9BckNBQSxHQUFBWCxTQUFBLFdBQ0EsTUFBQThELE1BQUFy
RCxJQUFBLFNBQUFTLEdBQ0EsR0FBQWt6QyxHQUFBMkssRUFBQTc5QyxFQUFBODlDLEVBQ0EsT0FB
QTk5QyxHQUFBLEdBQ0EsVUFBQUEsRUFBQSxPQUFtQ2t6QyxFQUFBLElBRW5DQSxJQUVHN3VCLEtB
QUEsS0FJSDVrQixFQUFBRSxFQUFBLFNBQUFxbkIsRUFBQXUzQixHQUNBLGdCQUFBdjNCLEtBQ0FB
LElBQUEsS0FBQUEsRUFBQSxLQUVBLFFBREF3M0IsTUFDQTcrQyxFQUFBLEVBQWdCQSxFQUFBaUQs
S0FBQWhELE9BQWlCRCxJQUFBLENBQ2pDLEdBQUFvSixHQUFBbkcsS0FBQWpELEdBQUEsRUFDQSxp
QkFBQW9KLEtBQ0F5MUMsRUFBQXoxQyxJQUFBLEdBRUEsSUFBQXBKLEVBQUEsRUFBWUEsRUFBQXFu
QixFQUFBcG5CLE9BQW9CRCxJQUFBLENBQ2hDLEdBQUFLLEdBQUFnbkIsRUFBQXJuQixFQUtBLGlC
QUFBSyxHQUFBLElBQUF3K0MsRUFBQXgrQyxFQUFBLE1BQ0F1K0MsSUFBQXYrQyxFQUFBLEdBQ0FB
LEVBQUEsR0FBQXUrQyxFQUNLQSxJQUNMditDLEVBQUEsT0FBQUEsRUFBQSxhQUFBdStDLEVBQUEs
S0FFQTkrQyxFQUFBK0UsS0FBQXhFLE1BSUFQLElOK3ZWTSxTQUFVdEMsRUFBUW01QyxFQUFTajVD
LEdPNXRWakMsUUFBQW9oRCxHQUFBOXZCLEdBQ0EsT0FBQWh2QixHQUFBLEVBQWlCQSxFQUFBZ3ZC
LEVBQUEvdUIsT0FBbUJELElBQUEsQ0FDcEMsR0FBQUssR0FBQTJ1QixFQUFBaHZCLEdBQ0ErK0Ms
RUFBQUMsRUFBQTMrQyxFQUFBK0ksR0FDQSxJQUFBMjFDLEVBQUEsQ0FDQUEsRUFBQWw4QixNQUNB
LFFBQUFsUCxHQUFBLEVBQXFCQSxFQUFBb3JDLEVBQUFyQixNQUFBejlDLE9BQTJCMFQsSUFDaERv
ckMsRUFBQXJCLE1BQUEvcEMsR0FBQXRULEVBQUFxOUMsTUFBQS9wQyxHQUVBLE1BQVlBLEVBQUF0
VCxFQUFBcTlDLE1BQUF6OUMsT0FBdUIwVCxJQUNuQ29yQyxFQUFBckIsTUFBQTc0QyxLQUFBbzZD
LEVBQUE1K0MsRUFBQXE5QyxNQUFBL3BDLElBRUFvckMsR0FBQXJCLE1BQUF6OUMsT0FBQUksRUFB
QXE5QyxNQUFBejlDLFNBQ0E4K0MsRUFBQXJCLE1BQUF6OUMsT0FBQUksRUFBQXE5QyxNQUFBejlD
LFlBRUssQ0FFTCxPQURBeTlDLE1BQ0EvcEMsRUFBQSxFQUFxQkEsRUFBQXRULEVBQUFxOUMsTUFB
QXo5QyxPQUF1QjBULElBQzVDK3BDLEVBQUE3NEMsS0FBQW82QyxFQUFBNStDLEVBQUFxOUMsTUFB
QS9wQyxJQUVBcXJDLEdBQUEzK0MsRUFBQStJLEtBQThCQSxHQUFBL0ksRUFBQStJLEdBQUF5WixL
QUFBLEVBQUE2NkIsV0FLOUIsUUFBQXdCLEtBQ0EsR0FBQUMsR0FBQWorQixTQUFBM0ksY0FBQSxR
QUdBLE9BRkE0bUMsR0FBQWwzQyxLQUFBLFdBQ0FtM0MsRUFBQTk4QixZQUFBNjhCLEdBQ0FBLEVB
R0EsUUFBQUYsR0FBQTFnRCxHQUNBLEdBQUFpSyxHQUFBckksRUFDQWcvQyxFQUFBaitCLFNBQUFN
LGNBQUEsMkJBQUFqakIsRUFBQTZLLEdBQUEsS0FFQSxJQUFBKzFDLEVBQUEsQ0FDQSxHQUFBRSxF
QUdBLE1BQUFyOUMsRUFPQW05QyxHQUFBLytCLFdBQUFpQyxZQUFBODhCLEdBSUEsR0FBQUcsRUFB
QSxDQUVBLEdBQUFDLEdBQUFDLEdBQ0FMLEdBQUFNLE1BQUFQLEtBQ0ExMkMsRUFBQWszQyxFQUFB
MytDLEtBQUEsS0FBQW8rQyxFQUFBSSxHQUFBLEdBQ0FwL0MsRUFBQXUvQyxFQUFBMytDLEtBQUEs
S0FBQW8rQyxFQUFBSSxHQUFBLE9BR0FKLEdBQUFELElBQ0ExMkMsRUFBQW0zQyxFQUFBNStDLEtB
QUEsS0FBQW8rQyxHQUNBaC9DLEVBQUEsV0FDQWcvQyxFQUFBLytCLFdBQUFpQyxZQUFBODhCLEdB
TUEsT0FGQTMyQyxHQUFBakssR0FFQSxTQUFBcWhELEdBQ0EsR0FBQUEsRUFBQSxDQUNBLEdBQUFB
LEVBQUE5eEIsTUFBQXZ2QixFQUFBdXZCLEtBQ0E4eEIsRUFBQTdCLFFBQUF4L0MsRUFBQXcvQyxP
QUNBNkIsRUFBQTVCLFlBQUF6L0MsRUFBQXkvQyxVQUNBLE1BRUF4MUMsR0FBQWpLLEVBQUFxaEQs
T0FFQXovQyxNQWNBLFFBQUF1L0MsR0FBQVAsRUFBQTcrQyxFQUFBSCxFQUFBNUIsR0FDQSxHQUFB
dXZCLEdBQUEzdEIsRUFBQSxHQUFBNUIsRUFBQXV2QixHQUVBLElBQUFxeEIsRUFBQVUsV0FDQVYs
RUFBQVUsV0FBQXJULFFBQUFzVCxFQUFBeC9DLEVBQUF3dEIsT0FDRyxDQUNILEdBQUFpeUIsR0FB
QTcrQixTQUFBYyxlQUFBOEwsR0FDQWt5QixFQUFBYixFQUFBYSxVQUNBQSxHQUFBMS9DLElBQUE2
K0MsRUFBQTk4QixZQUFBMjlCLEVBQUExL0MsSUFDQTAvQyxFQUFBLy9DLE9BQ0FrL0MsRUFBQWo5
QixhQUFBNjlCLEVBQUFDLEVBQUExL0MsSUFFQTYrQyxFQUFBNzhCLFlBQUF5OUIsSUFLQSxRQUFB
SixHQUFBUixFQUFBNWdELEdBQ0EsR0FBQXV2QixHQUFBdnZCLEVBQUF1dkIsSUFDQWl3QixFQUFB
eC9DLEVBQUF3L0MsTUFDQUMsRUFBQXovQyxFQUFBeS9DLFNBY0EsSUFaQUQsR0FDQW9CLEVBQUF2
OUIsYUFBQSxRQUFBbThCLEdBR0FDLElBR0Fsd0IsR0FBQSxtQkFBQWt3QixFQUFBUSxRQUFBLFNB
RUExd0IsR0FBQSx1REFBeUR1d0IsS0FBQUssU0FBQUMsbUJBQUF2L0MsS0FBQUMsVUFBQTIrQyxN
QUFBLE9BR3pEbUIsRUFBQVUsV0FDQVYsRUFBQVUsV0FBQXJULFFBQUExZSxNQUNHLENBQ0gsS0FB
QXF4QixFQUFBdk8sWUFDQXVPLEVBQUE5OEIsWUFBQTg4QixFQUFBdk8sV0FFQXVPLEdBQUE3OEIs
WUFBQXBCLFNBQUFjLGVBQUE4TCxLQTlNQSxHQUFBbXlCLEdBQUEsbUJBQUEvK0IsU0FFQSx1QkFB
QWcvQixnQkFDQUQsRUFDQSxTQUFBM0MsT0FDQSwwSkFLQSxJQUFBNkMsR0FBQXppRCxFQUFBLElB
ZUFzaEQsS0FRQUksRUFBQWEsSUFBQS8rQixTQUFBaytCLE1BQUFsK0IsU0FBQWsvQixxQkFBQSxZ
QUNBWCxFQUFBLEtBQ0FELEVBQUEsRUFDQUgsR0FBQSxFQUNBcjlDLEVBQUEsYUFJQXM5QyxFQUFB
LG1CQUFBbmEsWUFBQSxlQUFBeGhDLEtBQUF3aEMsVUFBQUMsVUFBQWxsQyxjQUVBMUMsR0FBQW01
QyxRQUFBLFNBQUFrSCxFQUFBLzlDLEVBQUF1Z0QsR0FDQWhCLEVBQUFnQixDQUVBLElBQUFyeEIs
R0FBQW14QixFQUFBdEMsRUFBQS85QyxFQUdBLE9BRkFnL0MsR0FBQTl2QixHQUVBLFNBQUFzeEIs
R0FFQSxPQURBQyxNQUNBdmdELEVBQUEsRUFBbUJBLEVBQUFndkIsRUFBQS91QixPQUFtQkQsSUFB
QSxDQUN0QyxHQUFBSyxHQUFBMnVCLEVBQUFodkIsR0FDQSsrQyxFQUFBQyxFQUFBMytDLEVBQUEr
SSxHQUNBMjFDLEdBQUFsOEIsT0FDQTA5QixFQUFBMTdDLEtBQUFrNkMsR0FFQXVCLEdBQ0F0eEIs
RUFBQW14QixFQUFBdEMsRUFBQXlDLEdBQ0F4QixFQUFBOXZCLElBRUFBLElBRUEsUUFBQWh2QixH
QUFBLEVBQW1CQSxFQUFBdWdELEVBQUF0Z0QsT0FBc0JELElBQUEsQ0FDekMsR0FBQSsrQyxHQUFB
d0IsRUFBQXZnRCxFQUNBLFFBQUErK0MsRUFBQWw4QixLQUFBLENBQ0EsT0FBQWxQLEdBQUEsRUFB
dUJBLEVBQUFvckMsRUFBQXJCLE1BQUF6OUMsT0FBMkIwVCxJQUNsRG9yQyxFQUFBckIsTUFBQS9w
QyxXQUVBcXJDLEdBQUFELEVBQUEzMUMsT0F3RkEsSUFBQTAyQyxHQUFBLFdBQ0EsR0FBQVUsS0FF
QSxpQkFBQWxnRCxFQUFBbWdELEdBRUEsTUFEQUQsR0FBQWxnRCxHQUFBbWdELEVBQ0FELEVBQUEx
Z0MsT0FBQTlWLFNBQUEwYSxLQUFBIiwiZmlsZSI6InN0YXRpYy9qcy92ZW5kb3IuMmU0ZTllNTI4
NjY0ZmE3OTZkM2EuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ3ZWJwYWNrSnNvbnAoWzFdLFtcbi8q
IDAgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2Vi
cGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVy
dHkoX193ZWJwYWNrX2V4cG9ydHNfXywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7
XG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24oZ2xvYmFsKSB7LyohXG4gKiBW
dWUuanMgdjIuNC4yXG4gKiAoYykgMjAxNC0yMDE3IEV2YW4gWW91XG4gKiBSZWxlYXNlZCB1bmRl
ciB0aGUgTUlUIExpY2Vuc2UuXG4gKi9cbi8qICAqL1xuXG4vLyB0aGVzZSBoZWxwZXJzIHByb2R1
Y2VzIGJldHRlciB2bSBjb2RlIGluIEpTIGVuZ2luZXMgZHVlIHRvIHRoZWlyXG4vLyBleHBsaWNp
dG5lc3MgYW5kIGZ1bmN0aW9uIGlubGluaW5nXG5mdW5jdGlvbiBpc1VuZGVmICh2KSB7XG4gIHJl
dHVybiB2ID09PSB1bmRlZmluZWQgfHwgdiA9PT0gbnVsbFxufVxuXG5mdW5jdGlvbiBpc0RlZiAo
dikge1xuICByZXR1cm4gdiAhPT0gdW5kZWZpbmVkICYmIHYgIT09IG51bGxcbn1cblxuZnVuY3Rp
b24gaXNUcnVlICh2KSB7XG4gIHJldHVybiB2ID09PSB0cnVlXG59XG5cbmZ1bmN0aW9uIGlzRmFs
c2UgKHYpIHtcbiAgcmV0dXJuIHYgPT09IGZhbHNlXG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdmFs
dWUgaXMgcHJpbWl0aXZlXG4gKi9cbmZ1bmN0aW9uIGlzUHJpbWl0aXZlICh2YWx1ZSkge1xuICBy
ZXR1cm4gKFxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHxcbiAgICB0eXBlb2YgdmFs
dWUgPT09ICdudW1iZXInIHx8XG4gICAgdHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbidcbiAgKVxu
fVxuXG4vKipcbiAqIFF1aWNrIG9iamVjdCBjaGVjayAtIHRoaXMgaXMgcHJpbWFyaWx5IHVzZWQg
dG8gdGVsbFxuICogT2JqZWN0cyBmcm9tIHByaW1pdGl2ZSB2YWx1ZXMgd2hlbiB3ZSBrbm93IHRo
ZSB2YWx1ZVxuICogaXMgYSBKU09OLWNvbXBsaWFudCB0eXBlLlxuICovXG5mdW5jdGlvbiBpc09i
amVjdCAob2JqKSB7XG4gIHJldHVybiBvYmogIT09IG51bGwgJiYgdHlwZW9mIG9iaiA9PT0gJ29i
amVjdCdcbn1cblxudmFyIF90b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG5c
bi8qKlxuICogU3RyaWN0IG9iamVjdCB0eXBlIGNoZWNrLiBPbmx5IHJldHVybnMgdHJ1ZVxuICog
Zm9yIHBsYWluIEphdmFTY3JpcHQgb2JqZWN0cy5cbiAqL1xuZnVuY3Rpb24gaXNQbGFpbk9iamVj
dCAob2JqKSB7XG4gIHJldHVybiBfdG9TdHJpbmcuY2FsbChvYmopID09PSAnW29iamVjdCBPYmpl
Y3RdJ1xufVxuXG5mdW5jdGlvbiBpc1JlZ0V4cCAodikge1xuICByZXR1cm4gX3RvU3RyaW5nLmNh
bGwodikgPT09ICdbb2JqZWN0IFJlZ0V4cF0nXG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdmFsIGlz
IGEgdmFsaWQgYXJyYXkgaW5kZXguXG4gKi9cbmZ1bmN0aW9uIGlzVmFsaWRBcnJheUluZGV4ICh2
YWwpIHtcbiAgdmFyIG4gPSBwYXJzZUZsb2F0KHZhbCk7XG4gIHJldHVybiBuID49IDAgJiYgTWF0
aC5mbG9vcihuKSA9PT0gbiAmJiBpc0Zpbml0ZSh2YWwpXG59XG5cbi8qKlxuICogQ29udmVydCBh
IHZhbHVlIHRvIGEgc3RyaW5nIHRoYXQgaXMgYWN0dWFsbHkgcmVuZGVyZWQuXG4gKi9cbmZ1bmN0
aW9uIHRvU3RyaW5nICh2YWwpIHtcbiAgcmV0dXJuIHZhbCA9PSBudWxsXG4gICAgPyAnJ1xuICAg
IDogdHlwZW9mIHZhbCA9PT0gJ29iamVjdCdcbiAgICAgID8gSlNPTi5zdHJpbmdpZnkodmFsLCBu
dWxsLCAyKVxuICAgICAgOiBTdHJpbmcodmFsKVxufVxuXG4vKipcbiAqIENvbnZlcnQgYSBpbnB1
dCB2YWx1ZSB0byBhIG51bWJlciBmb3IgcGVyc2lzdGVuY2UuXG4gKiBJZiB0aGUgY29udmVyc2lv
biBmYWlscywgcmV0dXJuIG9yaWdpbmFsIHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gdG9OdW1iZXIg
KHZhbCkge1xuICB2YXIgbiA9IHBhcnNlRmxvYXQodmFsKTtcbiAgcmV0dXJuIGlzTmFOKG4pID8g
dmFsIDogblxufVxuXG4vKipcbiAqIE1ha2UgYSBtYXAgYW5kIHJldHVybiBhIGZ1bmN0aW9uIGZv
ciBjaGVja2luZyBpZiBhIGtleVxuICogaXMgaW4gdGhhdCBtYXAuXG4gKi9cbmZ1bmN0aW9uIG1h
a2VNYXAgKFxuICBzdHIsXG4gIGV4cGVjdHNMb3dlckNhc2Vcbikge1xuICB2YXIgbWFwID0gT2Jq
ZWN0LmNyZWF0ZShudWxsKTtcbiAgdmFyIGxpc3QgPSBzdHIuc3BsaXQoJywnKTtcbiAgZm9yICh2
YXIgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgbWFwW2xpc3RbaV1dID0gdHJ1
ZTtcbiAgfVxuICByZXR1cm4gZXhwZWN0c0xvd2VyQ2FzZVxuICAgID8gZnVuY3Rpb24gKHZhbCkg
eyByZXR1cm4gbWFwW3ZhbC50b0xvd2VyQ2FzZSgpXTsgfVxuICAgIDogZnVuY3Rpb24gKHZhbCkg
eyByZXR1cm4gbWFwW3ZhbF07IH1cbn1cblxuLyoqXG4gKiBDaGVjayBpZiBhIHRhZyBpcyBhIGJ1
aWx0LWluIHRhZy5cbiAqL1xudmFyIGlzQnVpbHRJblRhZyA9IG1ha2VNYXAoJ3Nsb3QsY29tcG9u
ZW50JywgdHJ1ZSk7XG5cbi8qKlxuICogQ2hlY2sgaWYgYSBhdHRyaWJ1dGUgaXMgYSByZXNlcnZl
ZCBhdHRyaWJ1dGUuXG4gKi9cbnZhciBpc1Jlc2VydmVkQXR0cmlidXRlID0gbWFrZU1hcCgna2V5
LHJlZixzbG90LGlzJyk7XG5cbi8qKlxuICogUmVtb3ZlIGFuIGl0ZW0gZnJvbSBhbiBhcnJheVxu
ICovXG5mdW5jdGlvbiByZW1vdmUgKGFyciwgaXRlbSkge1xuICBpZiAoYXJyLmxlbmd0aCkge1xu
ICAgIHZhciBpbmRleCA9IGFyci5pbmRleE9mKGl0ZW0pO1xuICAgIGlmIChpbmRleCA+IC0xKSB7
XG4gICAgICByZXR1cm4gYXJyLnNwbGljZShpbmRleCwgMSlcbiAgICB9XG4gIH1cbn1cblxuLyoq
XG4gKiBDaGVjayB3aGV0aGVyIHRoZSBvYmplY3QgaGFzIHRoZSBwcm9wZXJ0eS5cbiAqL1xudmFy
IGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbmZ1bmN0
aW9uIGhhc093biAob2JqLCBrZXkpIHtcbiAgcmV0dXJuIGhhc093blByb3BlcnR5LmNhbGwob2Jq
LCBrZXkpXG59XG5cbi8qKlxuICogQ3JlYXRlIGEgY2FjaGVkIHZlcnNpb24gb2YgYSBwdXJlIGZ1
bmN0aW9uLlxuICovXG5mdW5jdGlvbiBjYWNoZWQgKGZuKSB7XG4gIHZhciBjYWNoZSA9IE9iamVj
dC5jcmVhdGUobnVsbCk7XG4gIHJldHVybiAoZnVuY3Rpb24gY2FjaGVkRm4gKHN0cikge1xuICAg
IHZhciBoaXQgPSBjYWNoZVtzdHJdO1xuICAgIHJldHVybiBoaXQgfHwgKGNhY2hlW3N0cl0gPSBm
bihzdHIpKVxuICB9KVxufVxuXG4vKipcbiAqIENhbWVsaXplIGEgaHlwaGVuLWRlbGltaXRlZCBz
dHJpbmcuXG4gKi9cbnZhciBjYW1lbGl6ZVJFID0gLy0oXFx3KS9nO1xudmFyIGNhbWVsaXplID0g
Y2FjaGVkKGZ1bmN0aW9uIChzdHIpIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKGNhbWVsaXplUkUs
IGZ1bmN0aW9uIChfLCBjKSB7IHJldHVybiBjID8gYy50b1VwcGVyQ2FzZSgpIDogJyc7IH0pXG59
KTtcblxuLyoqXG4gKiBDYXBpdGFsaXplIGEgc3RyaW5nLlxuICovXG52YXIgY2FwaXRhbGl6ZSA9
IGNhY2hlZChmdW5jdGlvbiAoc3RyKSB7XG4gIHJldHVybiBzdHIuY2hhckF0KDApLnRvVXBwZXJD
YXNlKCkgKyBzdHIuc2xpY2UoMSlcbn0pO1xuXG4vKipcbiAqIEh5cGhlbmF0ZSBhIGNhbWVsQ2Fz
ZSBzdHJpbmcuXG4gKi9cbnZhciBoeXBoZW5hdGVSRSA9IC8oW14tXSkoW0EtWl0pL2c7XG52YXIg
aHlwaGVuYXRlID0gY2FjaGVkKGZ1bmN0aW9uIChzdHIpIHtcbiAgcmV0dXJuIHN0clxuICAgIC5y
ZXBsYWNlKGh5cGhlbmF0ZVJFLCAnJDEtJDInKVxuICAgIC5yZXBsYWNlKGh5cGhlbmF0ZVJFLCAn
JDEtJDInKVxuICAgIC50b0xvd2VyQ2FzZSgpXG59KTtcblxuLyoqXG4gKiBTaW1wbGUgYmluZCwg
ZmFzdGVyIHRoYW4gbmF0aXZlXG4gKi9cbmZ1bmN0aW9uIGJpbmQgKGZuLCBjdHgpIHtcbiAgZnVu
Y3Rpb24gYm91bmRGbiAoYSkge1xuICAgIHZhciBsID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgICBy
ZXR1cm4gbFxuICAgICAgPyBsID4gMVxuICAgICAgICA/IGZuLmFwcGx5KGN0eCwgYXJndW1lbnRz
KVxuICAgICAgICA6IGZuLmNhbGwoY3R4LCBhKVxuICAgICAgOiBmbi5jYWxsKGN0eClcbiAgfVxu
ICAvLyByZWNvcmQgb3JpZ2luYWwgZm4gbGVuZ3RoXG4gIGJvdW5kRm4uX2xlbmd0aCA9IGZuLmxl
bmd0aDtcbiAgcmV0dXJuIGJvdW5kRm5cbn1cblxuLyoqXG4gKiBDb252ZXJ0IGFuIEFycmF5LWxp
a2Ugb2JqZWN0IHRvIGEgcmVhbCBBcnJheS5cbiAqL1xuZnVuY3Rpb24gdG9BcnJheSAobGlzdCwg
c3RhcnQpIHtcbiAgc3RhcnQgPSBzdGFydCB8fCAwO1xuICB2YXIgaSA9IGxpc3QubGVuZ3RoIC0g
c3RhcnQ7XG4gIHZhciByZXQgPSBuZXcgQXJyYXkoaSk7XG4gIHdoaWxlIChpLS0pIHtcbiAgICBy
ZXRbaV0gPSBsaXN0W2kgKyBzdGFydF07XG4gIH1cbiAgcmV0dXJuIHJldFxufVxuXG4vKipcbiAq
IE1peCBwcm9wZXJ0aWVzIGludG8gdGFyZ2V0IG9iamVjdC5cbiAqL1xuZnVuY3Rpb24gZXh0ZW5k
ICh0bywgX2Zyb20pIHtcbiAgZm9yICh2YXIga2V5IGluIF9mcm9tKSB7XG4gICAgdG9ba2V5XSA9
IF9mcm9tW2tleV07XG4gIH1cbiAgcmV0dXJuIHRvXG59XG5cbi8qKlxuICogTWVyZ2UgYW4gQXJy
YXkgb2YgT2JqZWN0cyBpbnRvIGEgc2luZ2xlIE9iamVjdC5cbiAqL1xuZnVuY3Rpb24gdG9PYmpl
Y3QgKGFycikge1xuICB2YXIgcmVzID0ge307XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyLmxl
bmd0aDsgaSsrKSB7XG4gICAgaWYgKGFycltpXSkge1xuICAgICAgZXh0ZW5kKHJlcywgYXJyW2ld
KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG4vKipcbiAqIFBlcmZvcm0gbm8gb3Bl
cmF0aW9uLlxuICogU3R1YmJpbmcgYXJncyB0byBtYWtlIEZsb3cgaGFwcHkgd2l0aG91dCBsZWF2
aW5nIHVzZWxlc3MgdHJhbnNwaWxlZCBjb2RlXG4gKiB3aXRoIC4uLnJlc3QgKGh0dHBzOi8vZmxv
dy5vcmcvYmxvZy8yMDE3LzA1LzA3L1N0cmljdC1GdW5jdGlvbi1DYWxsLUFyaXR5LylcbiAqL1xu
ZnVuY3Rpb24gbm9vcCAoYSwgYiwgYykge31cblxuLyoqXG4gKiBBbHdheXMgcmV0dXJuIGZhbHNl
LlxuICovXG52YXIgbm8gPSBmdW5jdGlvbiAoYSwgYiwgYykgeyByZXR1cm4gZmFsc2U7IH07XG5c
bi8qKlxuICogUmV0dXJuIHNhbWUgdmFsdWVcbiAqL1xudmFyIGlkZW50aXR5ID0gZnVuY3Rpb24g
KF8pIHsgcmV0dXJuIF87IH07XG5cbi8qKlxuICogR2VuZXJhdGUgYSBzdGF0aWMga2V5cyBzdHJp
bmcgZnJvbSBjb21waWxlciBtb2R1bGVzLlxuICovXG5mdW5jdGlvbiBnZW5TdGF0aWNLZXlzICht
b2R1bGVzKSB7XG4gIHJldHVybiBtb2R1bGVzLnJlZHVjZShmdW5jdGlvbiAoa2V5cywgbSkge1xu
ICAgIHJldHVybiBrZXlzLmNvbmNhdChtLnN0YXRpY0tleXMgfHwgW10pXG4gIH0sIFtdKS5qb2lu
KCcsJylcbn1cblxuLyoqXG4gKiBDaGVjayBpZiB0d28gdmFsdWVzIGFyZSBsb29zZWx5IGVxdWFs
IC0gdGhhdCBpcyxcbiAqIGlmIHRoZXkgYXJlIHBsYWluIG9iamVjdHMsIGRvIHRoZXkgaGF2ZSB0
aGUgc2FtZSBzaGFwZT9cbiAqL1xuZnVuY3Rpb24gbG9vc2VFcXVhbCAoYSwgYikge1xuICBpZiAo
YSA9PT0gYikgeyByZXR1cm4gdHJ1ZSB9XG4gIHZhciBpc09iamVjdEEgPSBpc09iamVjdChhKTtc
biAgdmFyIGlzT2JqZWN0QiA9IGlzT2JqZWN0KGIpO1xuICBpZiAoaXNPYmplY3RBICYmIGlzT2Jq
ZWN0Qikge1xuICAgIHRyeSB7XG4gICAgICB2YXIgaXNBcnJheUEgPSBBcnJheS5pc0FycmF5KGEp
O1xuICAgICAgdmFyIGlzQXJyYXlCID0gQXJyYXkuaXNBcnJheShiKTtcbiAgICAgIGlmIChpc0Fy
cmF5QSAmJiBpc0FycmF5Qikge1xuICAgICAgICByZXR1cm4gYS5sZW5ndGggPT09IGIubGVuZ3Ro
ICYmIGEuZXZlcnkoZnVuY3Rpb24gKGUsIGkpIHtcbiAgICAgICAgICByZXR1cm4gbG9vc2VFcXVh
bChlLCBiW2ldKVxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIGlmICghaXNBcnJheUEgJiYgIWlz
QXJyYXlCKSB7XG4gICAgICAgIHZhciBrZXlzQSA9IE9iamVjdC5rZXlzKGEpO1xuICAgICAgICB2
YXIga2V5c0IgPSBPYmplY3Qua2V5cyhiKTtcbiAgICAgICAgcmV0dXJuIGtleXNBLmxlbmd0aCA9
PT0ga2V5c0IubGVuZ3RoICYmIGtleXNBLmV2ZXJ5KGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAg
ICByZXR1cm4gbG9vc2VFcXVhbChhW2tleV0sIGJba2V5XSlcbiAgICAgICAgfSlcbiAgICAgIH0g
ZWxzZSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIHJldHVy
biBmYWxzZVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8qIGlzdGFuYnVsIGln
bm9yZSBuZXh0ICovXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gIH0gZWxzZSBpZiAoIWlz
T2JqZWN0QSAmJiAhaXNPYmplY3RCKSB7XG4gICAgcmV0dXJuIFN0cmluZyhhKSA9PT0gU3RyaW5n
KGIpXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbn1cblxuZnVuY3Rpb24gbG9v
c2VJbmRleE9mIChhcnIsIHZhbCkge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGFyci5sZW5ndGg7
IGkrKykge1xuICAgIGlmIChsb29zZUVxdWFsKGFycltpXSwgdmFsKSkgeyByZXR1cm4gaSB9XG4g
IH1cbiAgcmV0dXJuIC0xXG59XG5cbi8qKlxuICogRW5zdXJlIGEgZnVuY3Rpb24gaXMgY2FsbGVk
IG9ubHkgb25jZS5cbiAqL1xuZnVuY3Rpb24gb25jZSAoZm4pIHtcbiAgdmFyIGNhbGxlZCA9IGZh
bHNlO1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIGlmICghY2FsbGVkKSB7XG4gICAgICBj
YWxsZWQgPSB0cnVlO1xuICAgICAgZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9XG4g
IH1cbn1cblxudmFyIFNTUl9BVFRSID0gJ2RhdGEtc2VydmVyLXJlbmRlcmVkJztcblxudmFyIEFT
U0VUX1RZUEVTID0gW1xuICAnY29tcG9uZW50JyxcbiAgJ2RpcmVjdGl2ZScsXG4gICdmaWx0ZXIn
XG5dO1xuXG52YXIgTElGRUNZQ0xFX0hPT0tTID0gW1xuICAnYmVmb3JlQ3JlYXRlJyxcbiAgJ2Ny
ZWF0ZWQnLFxuICAnYmVmb3JlTW91bnQnLFxuICAnbW91bnRlZCcsXG4gICdiZWZvcmVVcGRhdGUn
LFxuICAndXBkYXRlZCcsXG4gICdiZWZvcmVEZXN0cm95JyxcbiAgJ2Rlc3Ryb3llZCcsXG4gICdh
Y3RpdmF0ZWQnLFxuICAnZGVhY3RpdmF0ZWQnXG5dO1xuXG4vKiAgKi9cblxudmFyIGNvbmZpZyA9
ICh7XG4gIC8qKlxuICAgKiBPcHRpb24gbWVyZ2Ugc3RyYXRlZ2llcyAodXNlZCBpbiBjb3JlL3V0
aWwvb3B0aW9ucylcbiAgICovXG4gIG9wdGlvbk1lcmdlU3RyYXRlZ2llczogT2JqZWN0LmNyZWF0
ZShudWxsKSxcblxuICAvKipcbiAgICogV2hldGhlciB0byBzdXBwcmVzcyB3YXJuaW5ncy5cbiAg
ICovXG4gIHNpbGVudDogZmFsc2UsXG5cbiAgLyoqXG4gICAqIFNob3cgcHJvZHVjdGlvbiBtb2Rl
IHRpcCBtZXNzYWdlIG9uIGJvb3Q/XG4gICAqL1xuICBwcm9kdWN0aW9uVGlwOiBcInByb2R1Y3Rp
b25cIiAhPT0gJ3Byb2R1Y3Rpb24nLFxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSBk
ZXZ0b29sc1xuICAgKi9cbiAgZGV2dG9vbHM6IFwicHJvZHVjdGlvblwiICE9PSAncHJvZHVjdGlv
bicsXG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmVjb3JkIHBlcmZcbiAgICovXG4gIHBlcmZv
cm1hbmNlOiBmYWxzZSxcblxuICAvKipcbiAgICogRXJyb3IgaGFuZGxlciBmb3Igd2F0Y2hlciBl
cnJvcnNcbiAgICovXG4gIGVycm9ySGFuZGxlcjogbnVsbCxcblxuICAvKipcbiAgICogV2FybiBo
YW5kbGVyIGZvciB3YXRjaGVyIHdhcm5zXG4gICAqL1xuICB3YXJuSGFuZGxlcjogbnVsbCxcblxu
ICAvKipcbiAgICogSWdub3JlIGNlcnRhaW4gY3VzdG9tIGVsZW1lbnRzXG4gICAqL1xuICBpZ25v
cmVkRWxlbWVudHM6IFtdLFxuXG4gIC8qKlxuICAgKiBDdXN0b20gdXNlciBrZXkgYWxpYXNlcyBm
b3Igdi1vblxuICAgKi9cbiAga2V5Q29kZXM6IE9iamVjdC5jcmVhdGUobnVsbCksXG5cbiAgLyoq
XG4gICAqIENoZWNrIGlmIGEgdGFnIGlzIHJlc2VydmVkIHNvIHRoYXQgaXQgY2Fubm90IGJlIHJl
Z2lzdGVyZWQgYXMgYVxuICAgKiBjb21wb25lbnQuIFRoaXMgaXMgcGxhdGZvcm0tZGVwZW5kZW50
IGFuZCBtYXkgYmUgb3ZlcndyaXR0ZW4uXG4gICAqL1xuICBpc1Jlc2VydmVkVGFnOiBubyxcblxu
ICAvKipcbiAgICogQ2hlY2sgaWYgYW4gYXR0cmlidXRlIGlzIHJlc2VydmVkIHNvIHRoYXQgaXQg
Y2Fubm90IGJlIHVzZWQgYXMgYSBjb21wb25lbnRcbiAgICogcHJvcC4gVGhpcyBpcyBwbGF0Zm9y
bS1kZXBlbmRlbnQgYW5kIG1heSBiZSBvdmVyd3JpdHRlbi5cbiAgICovXG4gIGlzUmVzZXJ2ZWRB
dHRyOiBubyxcblxuICAvKipcbiAgICogQ2hlY2sgaWYgYSB0YWcgaXMgYW4gdW5rbm93biBlbGVt
ZW50LlxuICAgKiBQbGF0Zm9ybS1kZXBlbmRlbnQuXG4gICAqL1xuICBpc1Vua25vd25FbGVtZW50
OiBubyxcblxuICAvKipcbiAgICogR2V0IHRoZSBuYW1lc3BhY2Ugb2YgYW4gZWxlbWVudFxuICAg
Ki9cbiAgZ2V0VGFnTmFtZXNwYWNlOiBub29wLFxuXG4gIC8qKlxuICAgKiBQYXJzZSB0aGUgcmVh
bCB0YWcgbmFtZSBmb3IgdGhlIHNwZWNpZmljIHBsYXRmb3JtLlxuICAgKi9cbiAgcGFyc2VQbGF0
Zm9ybVRhZ05hbWU6IGlkZW50aXR5LFxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhbiBhdHRyaWJ1
dGUgbXVzdCBiZSBib3VuZCB1c2luZyBwcm9wZXJ0eSwgZS5nLiB2YWx1ZVxuICAgKiBQbGF0Zm9y
bS1kZXBlbmRlbnQuXG4gICAqL1xuICBtdXN0VXNlUHJvcDogbm8sXG5cbiAgLyoqXG4gICAqIEV4
cG9zZWQgZm9yIGxlZ2FjeSByZWFzb25zXG4gICAqL1xuICBfbGlmZWN5Y2xlSG9va3M6IExJRkVD
WUNMRV9IT09LU1xufSk7XG5cbi8qICAqL1xuXG52YXIgZW1wdHlPYmplY3QgPSBPYmplY3QuZnJl
ZXplKHt9KTtcblxuLyoqXG4gKiBDaGVjayBpZiBhIHN0cmluZyBzdGFydHMgd2l0aCAkIG9yIF9c
biAqL1xuZnVuY3Rpb24gaXNSZXNlcnZlZCAoc3RyKSB7XG4gIHZhciBjID0gKHN0ciArICcnKS5j
aGFyQ29kZUF0KDApO1xuICByZXR1cm4gYyA9PT0gMHgyNCB8fCBjID09PSAweDVGXG59XG5cbi8q
KlxuICogRGVmaW5lIGEgcHJvcGVydHkuXG4gKi9cbmZ1bmN0aW9uIGRlZiAob2JqLCBrZXksIHZh
bCwgZW51bWVyYWJsZSkge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHtcbiAg
ICB2YWx1ZTogdmFsLFxuICAgIGVudW1lcmFibGU6ICEhZW51bWVyYWJsZSxcbiAgICB3cml0YWJs
ZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWVcbiAgfSk7XG59XG5cbi8qKlxuICogUGFy
c2Ugc2ltcGxlIHBhdGguXG4gKi9cbnZhciBiYWlsUkUgPSAvW15cXHcuJF0vO1xuZnVuY3Rpb24g
cGFyc2VQYXRoIChwYXRoKSB7XG4gIGlmIChiYWlsUkUudGVzdChwYXRoKSkge1xuICAgIHJldHVy
blxuICB9XG4gIHZhciBzZWdtZW50cyA9IHBhdGguc3BsaXQoJy4nKTtcbiAgcmV0dXJuIGZ1bmN0
aW9uIChvYmopIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNlZ21lbnRzLmxlbmd0aDsgaSsr
KSB7XG4gICAgICBpZiAoIW9iaikgeyByZXR1cm4gfVxuICAgICAgb2JqID0gb2JqW3NlZ21lbnRz
W2ldXTtcbiAgICB9XG4gICAgcmV0dXJuIG9ialxuICB9XG59XG5cbi8qICAqL1xuXG52YXIgd2Fy
biA9IG5vb3A7XG52YXIgdGlwID0gbm9vcDtcbnZhciBmb3JtYXRDb21wb25lbnROYW1lID0gKG51
bGwpOyAvLyB3b3JrIGFyb3VuZCBmbG93IGNoZWNrXG5cbmlmIChmYWxzZSkge1xuICB2YXIgaGFz
Q29uc29sZSA9IHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJztcbiAgdmFyIGNsYXNzaWZ5
UkUgPSAvKD86XnxbLV9dKShcXHcpL2c7XG4gIHZhciBjbGFzc2lmeSA9IGZ1bmN0aW9uIChzdHIp
IHsgcmV0dXJuIHN0clxuICAgIC5yZXBsYWNlKGNsYXNzaWZ5UkUsIGZ1bmN0aW9uIChjKSB7IHJl
dHVybiBjLnRvVXBwZXJDYXNlKCk7IH0pXG4gICAgLnJlcGxhY2UoL1stX10vZywgJycpOyB9O1xu
XG4gIHdhcm4gPSBmdW5jdGlvbiAobXNnLCB2bSkge1xuICAgIHZhciB0cmFjZSA9IHZtID8gZ2Vu
ZXJhdGVDb21wb25lbnRUcmFjZSh2bSkgOiAnJztcblxuICAgIGlmIChjb25maWcud2FybkhhbmRs
ZXIpIHtcbiAgICAgIGNvbmZpZy53YXJuSGFuZGxlci5jYWxsKG51bGwsIG1zZywgdm0sIHRyYWNl
KTtcbiAgICB9IGVsc2UgaWYgKGhhc0NvbnNvbGUgJiYgKCFjb25maWcuc2lsZW50KSkge1xuICAg
ICAgY29uc29sZS5lcnJvcigoXCJbVnVlIHdhcm5dOiBcIiArIG1zZyArIHRyYWNlKSk7XG4gICAg
fVxuICB9O1xuXG4gIHRpcCA9IGZ1bmN0aW9uIChtc2csIHZtKSB7XG4gICAgaWYgKGhhc0NvbnNv
bGUgJiYgKCFjb25maWcuc2lsZW50KSkge1xuICAgICAgY29uc29sZS53YXJuKFwiW1Z1ZSB0aXBd
OiBcIiArIG1zZyArIChcbiAgICAgICAgdm0gPyBnZW5lcmF0ZUNvbXBvbmVudFRyYWNlKHZtKSA6
ICcnXG4gICAgICApKTtcbiAgICB9XG4gIH07XG5cbiAgZm9ybWF0Q29tcG9uZW50TmFtZSA9IGZ1
bmN0aW9uICh2bSwgaW5jbHVkZUZpbGUpIHtcbiAgICBpZiAodm0uJHJvb3QgPT09IHZtKSB7XG4g
ICAgICByZXR1cm4gJzxSb290PidcbiAgICB9XG4gICAgdmFyIG5hbWUgPSB0eXBlb2Ygdm0gPT09
ICdzdHJpbmcnXG4gICAgICA/IHZtXG4gICAgICA6IHR5cGVvZiB2bSA9PT0gJ2Z1bmN0aW9uJyAm
JiB2bS5vcHRpb25zXG4gICAgICAgID8gdm0ub3B0aW9ucy5uYW1lXG4gICAgICAgIDogdm0uX2lz
VnVlXG4gICAgICAgICAgPyB2bS4kb3B0aW9ucy5uYW1lIHx8IHZtLiRvcHRpb25zLl9jb21wb25l
bnRUYWdcbiAgICAgICAgICA6IHZtLm5hbWU7XG5cbiAgICB2YXIgZmlsZSA9IHZtLl9pc1Z1ZSAm
JiB2bS4kb3B0aW9ucy5fX2ZpbGU7XG4gICAgaWYgKCFuYW1lICYmIGZpbGUpIHtcbiAgICAgIHZh
ciBtYXRjaCA9IGZpbGUubWF0Y2goLyhbXi9cXFxcXSspXFwudnVlJC8pO1xuICAgICAgbmFtZSA9
IG1hdGNoICYmIG1hdGNoWzFdO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICAobmFtZSA/
IChcIjxcIiArIChjbGFzc2lmeShuYW1lKSkgKyBcIj5cIikgOiBcIjxBbm9ueW1vdXM+XCIpICtc
biAgICAgIChmaWxlICYmIGluY2x1ZGVGaWxlICE9PSBmYWxzZSA/IChcIiBhdCBcIiArIGZpbGUp
IDogJycpXG4gICAgKVxuICB9O1xuXG4gIHZhciByZXBlYXQgPSBmdW5jdGlvbiAoc3RyLCBuKSB7
XG4gICAgdmFyIHJlcyA9ICcnO1xuICAgIHdoaWxlIChuKSB7XG4gICAgICBpZiAobiAlIDIgPT09
IDEpIHsgcmVzICs9IHN0cjsgfVxuICAgICAgaWYgKG4gPiAxKSB7IHN0ciArPSBzdHI7IH1cbiAg
ICAgIG4gPj49IDE7XG4gICAgfVxuICAgIHJldHVybiByZXNcbiAgfTtcblxuICB2YXIgZ2VuZXJh
dGVDb21wb25lbnRUcmFjZSA9IGZ1bmN0aW9uICh2bSkge1xuICAgIGlmICh2bS5faXNWdWUgJiYg
dm0uJHBhcmVudCkge1xuICAgICAgdmFyIHRyZWUgPSBbXTtcbiAgICAgIHZhciBjdXJyZW50UmVj
dXJzaXZlU2VxdWVuY2UgPSAwO1xuICAgICAgd2hpbGUgKHZtKSB7XG4gICAgICAgIGlmICh0cmVl
Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB2YXIgbGFzdCA9IHRyZWVbdHJlZS5sZW5ndGggLSAx
XTtcbiAgICAgICAgICBpZiAobGFzdC5jb25zdHJ1Y3RvciA9PT0gdm0uY29uc3RydWN0b3IpIHtc
biAgICAgICAgICAgIGN1cnJlbnRSZWN1cnNpdmVTZXF1ZW5jZSsrO1xuICAgICAgICAgICAgdm0g
PSB2bS4kcGFyZW50O1xuICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICB9IGVsc2UgaWYg
KGN1cnJlbnRSZWN1cnNpdmVTZXF1ZW5jZSA+IDApIHtcbiAgICAgICAgICAgIHRyZWVbdHJlZS5s
ZW5ndGggLSAxXSA9IFtsYXN0LCBjdXJyZW50UmVjdXJzaXZlU2VxdWVuY2VdO1xuICAgICAgICAg
ICAgY3VycmVudFJlY3Vyc2l2ZVNlcXVlbmNlID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1c
biAgICAgICAgdHJlZS5wdXNoKHZtKTtcbiAgICAgICAgdm0gPSB2bS4kcGFyZW50O1xuICAgICAg
fVxuICAgICAgcmV0dXJuICdcXG5cXG5mb3VuZCBpblxcblxcbicgKyB0cmVlXG4gICAgICAgIC5t
YXAoZnVuY3Rpb24gKHZtLCBpKSB7IHJldHVybiAoXCJcIiArIChpID09PSAwID8gJy0tLT4gJyA6
IHJlcGVhdCgnICcsIDUgKyBpICogMikpICsgKEFycmF5LmlzQXJyYXkodm0pXG4gICAgICAgICAg
ICA/ICgoZm9ybWF0Q29tcG9uZW50TmFtZSh2bVswXSkpICsgXCIuLi4gKFwiICsgKHZtWzFdKSAr
IFwiIHJlY3Vyc2l2ZSBjYWxscylcIilcbiAgICAgICAgICAgIDogZm9ybWF0Q29tcG9uZW50TmFt
ZSh2bSkpKTsgfSlcbiAgICAgICAgLmpvaW4oJ1xcbicpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJl
dHVybiAoXCJcXG5cXG4oZm91bmQgaW4gXCIgKyAoZm9ybWF0Q29tcG9uZW50TmFtZSh2bSkpICsg
XCIpXCIpXG4gICAgfVxuICB9O1xufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gaGFuZGxlRXJyb3Ig
KGVyciwgdm0sIGluZm8pIHtcbiAgaWYgKGNvbmZpZy5lcnJvckhhbmRsZXIpIHtcbiAgICBjb25m
aWcuZXJyb3JIYW5kbGVyLmNhbGwobnVsbCwgZXJyLCB2bSwgaW5mbyk7XG4gIH0gZWxzZSB7XG4g
ICAgaWYgKGZhbHNlKSB7XG4gICAgICB3YXJuKChcIkVycm9yIGluIFwiICsgaW5mbyArIFwiOiBc
XFwiXCIgKyAoZXJyLnRvU3RyaW5nKCkpICsgXCJcXFwiXCIpLCB2bSk7XG4gICAgfVxuICAgIC8q
IGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGluQnJvd3NlciAmJiB0eXBlb2YgY29u
c29sZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICB9
IGVsc2Uge1xuICAgICAgdGhyb3cgZXJyXG4gICAgfVxuICB9XG59XG5cbi8qICAqL1xuLyogZ2xv
YmFscyBNdXRhdGlvbk9ic2VydmVyICovXG5cbi8vIGNhbiB3ZSB1c2UgX19wcm90b19fP1xudmFy
IGhhc1Byb3RvID0gJ19fcHJvdG9fXycgaW4ge307XG5cbi8vIEJyb3dzZXIgZW52aXJvbm1lbnQg
c25pZmZpbmdcbnZhciBpbkJyb3dzZXIgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJztc
bnZhciBVQSA9IGluQnJvd3NlciAmJiB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2Vy
Q2FzZSgpO1xudmFyIGlzSUUgPSBVQSAmJiAvbXNpZXx0cmlkZW50Ly50ZXN0KFVBKTtcbnZhciBp
c0lFOSA9IFVBICYmIFVBLmluZGV4T2YoJ21zaWUgOS4wJykgPiAwO1xudmFyIGlzRWRnZSA9IFVB
ICYmIFVBLmluZGV4T2YoJ2VkZ2UvJykgPiAwO1xudmFyIGlzQW5kcm9pZCA9IFVBICYmIFVBLmlu
ZGV4T2YoJ2FuZHJvaWQnKSA+IDA7XG52YXIgaXNJT1MgPSBVQSAmJiAvaXBob25lfGlwYWR8aXBv
ZHxpb3MvLnRlc3QoVUEpO1xudmFyIGlzQ2hyb21lID0gVUEgJiYgL2Nocm9tZVxcL1xcZCsvLnRl
c3QoVUEpICYmICFpc0VkZ2U7XG5cbi8vIEZpcmVmaXggaGFzIGEgXCJ3YXRjaFwiIGZ1bmN0aW9u
IG9uIE9iamVjdC5wcm90b3R5cGUuLi5cbnZhciBuYXRpdmVXYXRjaCA9ICh7fSkud2F0Y2g7XG5c
bnZhciBzdXBwb3J0c1Bhc3NpdmUgPSBmYWxzZTtcbmlmIChpbkJyb3dzZXIpIHtcbiAgdHJ5IHtc
biAgICB2YXIgb3B0cyA9IHt9O1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvcHRzLCAncGFz
c2l2ZScsICh7XG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCAoKSB7XG4gICAgICAgIC8qIGlzdGFu
YnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIHN1cHBvcnRzUGFzc2l2ZSA9IHRydWU7XG4gICAg
ICB9XG4gICAgfSkpOyAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svZmxvdy9pc3N1ZXMv
Mjg1XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QtcGFzc2l2ZScsIG51bGwsIG9w
dHMpO1xuICB9IGNhdGNoIChlKSB7fVxufVxuXG4vLyB0aGlzIG5lZWRzIHRvIGJlIGxhenktZXZh
bGVkIGJlY2F1c2UgdnVlIG1heSBiZSByZXF1aXJlZCBiZWZvcmVcbi8vIHZ1ZS1zZXJ2ZXItcmVu
ZGVyZXIgY2FuIHNldCBWVUVfRU5WXG52YXIgX2lzU2VydmVyO1xudmFyIGlzU2VydmVyUmVuZGVy
aW5nID0gZnVuY3Rpb24gKCkge1xuICBpZiAoX2lzU2VydmVyID09PSB1bmRlZmluZWQpIHtcbiAg
ICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIWluQnJvd3NlciAmJiB0eXBlb2Yg
Z2xvYmFsICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgLy8gZGV0ZWN0IHByZXNlbmNlIG9mIHZ1
ZS1zZXJ2ZXItcmVuZGVyZXIgYW5kIGF2b2lkXG4gICAgICAvLyBXZWJwYWNrIHNoaW1taW5nIHRo
ZSBwcm9jZXNzXG4gICAgICBfaXNTZXJ2ZXIgPSBnbG9iYWxbJ3Byb2Nlc3MnXS5lbnYuVlVFX0VO
ViA9PT0gJ3NlcnZlcic7XG4gICAgfSBlbHNlIHtcbiAgICAgIF9pc1NlcnZlciA9IGZhbHNlO1xu
ICAgIH1cbiAgfVxuICByZXR1cm4gX2lzU2VydmVyXG59O1xuXG4vLyBkZXRlY3QgZGV2dG9vbHNc
bnZhciBkZXZ0b29scyA9IGluQnJvd3NlciAmJiB3aW5kb3cuX19WVUVfREVWVE9PTFNfR0xPQkFM
X0hPT0tfXztcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmZ1bmN0aW9uIGlzTmF0aXZl
IChDdG9yKSB7XG4gIHJldHVybiB0eXBlb2YgQ3RvciA9PT0gJ2Z1bmN0aW9uJyAmJiAvbmF0aXZl
IGNvZGUvLnRlc3QoQ3Rvci50b1N0cmluZygpKVxufVxuXG52YXIgaGFzU3ltYm9sID1cbiAgdHlw
ZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgaXNOYXRpdmUoU3ltYm9sKSAmJlxuICB0eXBl
b2YgUmVmbGVjdCAhPT0gJ3VuZGVmaW5lZCcgJiYgaXNOYXRpdmUoUmVmbGVjdC5vd25LZXlzKTtc
blxuLyoqXG4gKiBEZWZlciBhIHRhc2sgdG8gZXhlY3V0ZSBpdCBhc3luY2hyb25vdXNseS5cbiAq
L1xudmFyIG5leHRUaWNrID0gKGZ1bmN0aW9uICgpIHtcbiAgdmFyIGNhbGxiYWNrcyA9IFtdO1xu
ICB2YXIgcGVuZGluZyA9IGZhbHNlO1xuICB2YXIgdGltZXJGdW5jO1xuXG4gIGZ1bmN0aW9uIG5l
eHRUaWNrSGFuZGxlciAoKSB7XG4gICAgcGVuZGluZyA9IGZhbHNlO1xuICAgIHZhciBjb3BpZXMg
PSBjYWxsYmFja3Muc2xpY2UoMCk7XG4gICAgY2FsbGJhY2tzLmxlbmd0aCA9IDA7XG4gICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBjb3BpZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvcGllc1tpXSgp
O1xuICAgIH1cbiAgfVxuXG4gIC8vIHRoZSBuZXh0VGljayBiZWhhdmlvciBsZXZlcmFnZXMgdGhl
IG1pY3JvdGFzayBxdWV1ZSwgd2hpY2ggY2FuIGJlIGFjY2Vzc2VkXG4gIC8vIHZpYSBlaXRoZXIg
bmF0aXZlIFByb21pc2UudGhlbiBvciBNdXRhdGlvbk9ic2VydmVyLlxuICAvLyBNdXRhdGlvbk9i
c2VydmVyIGhhcyB3aWRlciBzdXBwb3J0LCBob3dldmVyIGl0IGlzIHNlcmlvdXNseSBidWdnZWQg
aW5cbiAgLy8gVUlXZWJWaWV3IGluIGlPUyA+PSA5LjMuMyB3aGVuIHRyaWdnZXJlZCBpbiB0b3Vj
aCBldmVudCBoYW5kbGVycy4gSXRcbiAgLy8gY29tcGxldGVseSBzdG9wcyB3b3JraW5nIGFmdGVy
IHRyaWdnZXJpbmcgYSBmZXcgdGltZXMuLi4gc28sIGlmIG5hdGl2ZVxuICAvLyBQcm9taXNlIGlz
IGF2YWlsYWJsZSwgd2Ugd2lsbCB1c2UgaXQ6XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xu
ICBpZiAodHlwZW9mIFByb21pc2UgIT09ICd1bmRlZmluZWQnICYmIGlzTmF0aXZlKFByb21pc2Up
KSB7XG4gICAgdmFyIHAgPSBQcm9taXNlLnJlc29sdmUoKTtcbiAgICB2YXIgbG9nRXJyb3IgPSBm
dW5jdGlvbiAoZXJyKSB7IGNvbnNvbGUuZXJyb3IoZXJyKTsgfTtcbiAgICB0aW1lckZ1bmMgPSBm
dW5jdGlvbiAoKSB7XG4gICAgICBwLnRoZW4obmV4dFRpY2tIYW5kbGVyKS5jYXRjaChsb2dFcnJv
cik7XG4gICAgICAvLyBpbiBwcm9ibGVtYXRpYyBVSVdlYlZpZXdzLCBQcm9taXNlLnRoZW4gZG9l
c24ndCBjb21wbGV0ZWx5IGJyZWFrLCBidXRcbiAgICAgIC8vIGl0IGNhbiBnZXQgc3R1Y2sgaW4g
YSB3ZWlyZCBzdGF0ZSB3aGVyZSBjYWxsYmFja3MgYXJlIHB1c2hlZCBpbnRvIHRoZVxuICAgICAg
Ly8gbWljcm90YXNrIHF1ZXVlIGJ1dCB0aGUgcXVldWUgaXNuJ3QgYmVpbmcgZmx1c2hlZCwgdW50
aWwgdGhlIGJyb3dzZXJcbiAgICAgIC8vIG5lZWRzIHRvIGRvIHNvbWUgb3RoZXIgd29yaywgZS5n
LiBoYW5kbGUgYSB0aW1lci4gVGhlcmVmb3JlIHdlIGNhblxuICAgICAgLy8gXCJmb3JjZVwiIHRo
ZSBtaWNyb3Rhc2sgcXVldWUgdG8gYmUgZmx1c2hlZCBieSBhZGRpbmcgYW4gZW1wdHkgdGltZXIu
XG4gICAgICBpZiAoaXNJT1MpIHsgc2V0VGltZW91dChub29wKTsgfVxuICAgIH07XG4gIH0gZWxz
ZSBpZiAodHlwZW9mIE11dGF0aW9uT2JzZXJ2ZXIgIT09ICd1bmRlZmluZWQnICYmIChcbiAgICBp
c05hdGl2ZShNdXRhdGlvbk9ic2VydmVyKSB8fFxuICAgIC8vIFBoYW50b21KUyBhbmQgaU9TIDcu
eFxuICAgIE11dGF0aW9uT2JzZXJ2ZXIudG9TdHJpbmcoKSA9PT0gJ1tvYmplY3QgTXV0YXRpb25P
YnNlcnZlckNvbnN0cnVjdG9yXSdcbiAgKSkge1xuICAgIC8vIHVzZSBNdXRhdGlvbk9ic2VydmVy
IHdoZXJlIG5hdGl2ZSBQcm9taXNlIGlzIG5vdCBhdmFpbGFibGUsXG4gICAgLy8gZS5nLiBQaGFu
dG9tSlMgSUUxMSwgaU9TNywgQW5kcm9pZCA0LjRcbiAgICB2YXIgY291bnRlciA9IDE7XG4gICAg
dmFyIG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIobmV4dFRpY2tIYW5kbGVyKTtcbiAg
ICB2YXIgdGV4dE5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoY291bnRlcikp
O1xuICAgIG9ic2VydmVyLm9ic2VydmUodGV4dE5vZGUsIHtcbiAgICAgIGNoYXJhY3RlckRhdGE6
IHRydWVcbiAgICB9KTtcbiAgICB0aW1lckZ1bmMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBjb3Vu
dGVyID0gKGNvdW50ZXIgKyAxKSAlIDI7XG4gICAgICB0ZXh0Tm9kZS5kYXRhID0gU3RyaW5nKGNv
dW50ZXIpO1xuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgLy8gZmFsbGJhY2sgdG8gc2V0VGltZW91
dFxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgdGltZXJGdW5jID0gZnVuY3Rp
b24gKCkge1xuICAgICAgc2V0VGltZW91dChuZXh0VGlja0hhbmRsZXIsIDApO1xuICAgIH07XG4g
IH1cblxuICByZXR1cm4gZnVuY3Rpb24gcXVldWVOZXh0VGljayAoY2IsIGN0eCkge1xuICAgIHZh
ciBfcmVzb2x2ZTtcbiAgICBjYWxsYmFja3MucHVzaChmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAo
Y2IpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjYi5jYWxsKGN0eCk7XG4gICAgICAgIH0g
Y2F0Y2ggKGUpIHtcbiAgICAgICAgICBoYW5kbGVFcnJvcihlLCBjdHgsICduZXh0VGljaycpO1xu
ICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKF9yZXNvbHZlKSB7XG4gICAgICAgIF9yZXNvbHZl
KGN0eCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKCFwZW5kaW5nKSB7XG4gICAgICBwZW5k
aW5nID0gdHJ1ZTtcbiAgICAgIHRpbWVyRnVuYygpO1xuICAgIH1cbiAgICBpZiAoIWNiICYmIHR5
cGVvZiBQcm9taXNlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNl
KGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgX3Jlc29sdmUgPSByZXNvbHZl
O1xuICAgICAgfSlcbiAgICB9XG4gIH1cbn0pKCk7XG5cbnZhciBfU2V0O1xuLyogaXN0YW5idWwg
aWdub3JlIGlmICovXG5pZiAodHlwZW9mIFNldCAhPT0gJ3VuZGVmaW5lZCcgJiYgaXNOYXRpdmUo
U2V0KSkge1xuICAvLyB1c2UgbmF0aXZlIFNldCB3aGVuIGF2YWlsYWJsZS5cbiAgX1NldCA9IFNl
dDtcbn0gZWxzZSB7XG4gIC8vIGEgbm9uLXN0YW5kYXJkIFNldCBwb2x5ZmlsbCB0aGF0IG9ubHkg
d29ya3Mgd2l0aCBwcmltaXRpdmUga2V5cy5cbiAgX1NldCA9IChmdW5jdGlvbiAoKSB7XG4gICAg
ZnVuY3Rpb24gU2V0ICgpIHtcbiAgICAgIHRoaXMuc2V0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtc
biAgICB9XG4gICAgU2V0LnByb3RvdHlwZS5oYXMgPSBmdW5jdGlvbiBoYXMgKGtleSkge1xuICAg
ICAgcmV0dXJuIHRoaXMuc2V0W2tleV0gPT09IHRydWVcbiAgICB9O1xuICAgIFNldC5wcm90b3R5
cGUuYWRkID0gZnVuY3Rpb24gYWRkIChrZXkpIHtcbiAgICAgIHRoaXMuc2V0W2tleV0gPSB0cnVl
O1xuICAgIH07XG4gICAgU2V0LnByb3RvdHlwZS5jbGVhciA9IGZ1bmN0aW9uIGNsZWFyICgpIHtc
biAgICAgIHRoaXMuc2V0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICB9O1xuXG4gICAgcmV0
dXJuIFNldDtcbiAgfSgpKTtcbn1cblxuLyogICovXG5cblxudmFyIHVpZCA9IDA7XG5cbi8qKlxu
ICogQSBkZXAgaXMgYW4gb2JzZXJ2YWJsZSB0aGF0IGNhbiBoYXZlIG11bHRpcGxlXG4gKiBkaXJl
Y3RpdmVzIHN1YnNjcmliaW5nIHRvIGl0LlxuICovXG52YXIgRGVwID0gZnVuY3Rpb24gRGVwICgp
IHtcbiAgdGhpcy5pZCA9IHVpZCsrO1xuICB0aGlzLnN1YnMgPSBbXTtcbn07XG5cbkRlcC5wcm90
b3R5cGUuYWRkU3ViID0gZnVuY3Rpb24gYWRkU3ViIChzdWIpIHtcbiAgdGhpcy5zdWJzLnB1c2go
c3ViKTtcbn07XG5cbkRlcC5wcm90b3R5cGUucmVtb3ZlU3ViID0gZnVuY3Rpb24gcmVtb3ZlU3Vi
IChzdWIpIHtcbiAgcmVtb3ZlKHRoaXMuc3Vicywgc3ViKTtcbn07XG5cbkRlcC5wcm90b3R5cGUu
ZGVwZW5kID0gZnVuY3Rpb24gZGVwZW5kICgpIHtcbiAgaWYgKERlcC50YXJnZXQpIHtcbiAgICBE
ZXAudGFyZ2V0LmFkZERlcCh0aGlzKTtcbiAgfVxufTtcblxuRGVwLnByb3RvdHlwZS5ub3RpZnkg
PSBmdW5jdGlvbiBub3RpZnkgKCkge1xuICAvLyBzdGFiaWxpemUgdGhlIHN1YnNjcmliZXIgbGlz
dCBmaXJzdFxuICB2YXIgc3VicyA9IHRoaXMuc3Vicy5zbGljZSgpO1xuICBmb3IgKHZhciBpID0g
MCwgbCA9IHN1YnMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgc3Vic1tpXS51cGRhdGUoKTtc
biAgfVxufTtcblxuLy8gdGhlIGN1cnJlbnQgdGFyZ2V0IHdhdGNoZXIgYmVpbmcgZXZhbHVhdGVk
LlxuLy8gdGhpcyBpcyBnbG9iYWxseSB1bmlxdWUgYmVjYXVzZSB0aGVyZSBjb3VsZCBiZSBvbmx5
IG9uZVxuLy8gd2F0Y2hlciBiZWluZyBldmFsdWF0ZWQgYXQgYW55IHRpbWUuXG5EZXAudGFyZ2V0
ID0gbnVsbDtcbnZhciB0YXJnZXRTdGFjayA9IFtdO1xuXG5mdW5jdGlvbiBwdXNoVGFyZ2V0IChf
dGFyZ2V0KSB7XG4gIGlmIChEZXAudGFyZ2V0KSB7IHRhcmdldFN0YWNrLnB1c2goRGVwLnRhcmdl
dCk7IH1cbiAgRGVwLnRhcmdldCA9IF90YXJnZXQ7XG59XG5cbmZ1bmN0aW9uIHBvcFRhcmdldCAo
KSB7XG4gIERlcC50YXJnZXQgPSB0YXJnZXRTdGFjay5wb3AoKTtcbn1cblxuLypcbiAqIG5vdCB0
eXBlIGNoZWNraW5nIHRoaXMgZmlsZSBiZWNhdXNlIGZsb3cgZG9lc24ndCBwbGF5IHdlbGwgd2l0
aFxuICogZHluYW1pY2FsbHkgYWNjZXNzaW5nIG1ldGhvZHMgb24gQXJyYXkgcHJvdG90eXBlXG4g
Ki9cblxudmFyIGFycmF5UHJvdG8gPSBBcnJheS5wcm90b3R5cGU7XG52YXIgYXJyYXlNZXRob2Rz
ID0gT2JqZWN0LmNyZWF0ZShhcnJheVByb3RvKTtbXG4gICdwdXNoJyxcbiAgJ3BvcCcsXG4gICdz
aGlmdCcsXG4gICd1bnNoaWZ0JyxcbiAgJ3NwbGljZScsXG4gICdzb3J0JyxcbiAgJ3JldmVyc2Un
XG5dXG4uZm9yRWFjaChmdW5jdGlvbiAobWV0aG9kKSB7XG4gIC8vIGNhY2hlIG9yaWdpbmFsIG1l
dGhvZFxuICB2YXIgb3JpZ2luYWwgPSBhcnJheVByb3RvW21ldGhvZF07XG4gIGRlZihhcnJheU1l
dGhvZHMsIG1ldGhvZCwgZnVuY3Rpb24gbXV0YXRvciAoKSB7XG4gICAgdmFyIGFyZ3MgPSBbXSwg
bGVuID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgICB3aGlsZSAoIGxlbi0tICkgYXJnc1sgbGVuIF0g
PSBhcmd1bWVudHNbIGxlbiBdO1xuXG4gICAgdmFyIHJlc3VsdCA9IG9yaWdpbmFsLmFwcGx5KHRo
aXMsIGFyZ3MpO1xuICAgIHZhciBvYiA9IHRoaXMuX19vYl9fO1xuICAgIHZhciBpbnNlcnRlZDtc
biAgICBzd2l0Y2ggKG1ldGhvZCkge1xuICAgICAgY2FzZSAncHVzaCc6XG4gICAgICBjYXNlICd1
bnNoaWZ0JzpcbiAgICAgICAgaW5zZXJ0ZWQgPSBhcmdzO1xuICAgICAgICBicmVha1xuICAgICAg
Y2FzZSAnc3BsaWNlJzpcbiAgICAgICAgaW5zZXJ0ZWQgPSBhcmdzLnNsaWNlKDIpO1xuICAgICAg
ICBicmVha1xuICAgIH1cbiAgICBpZiAoaW5zZXJ0ZWQpIHsgb2Iub2JzZXJ2ZUFycmF5KGluc2Vy
dGVkKTsgfVxuICAgIC8vIG5vdGlmeSBjaGFuZ2VcbiAgICBvYi5kZXAubm90aWZ5KCk7XG4gICAg
cmV0dXJuIHJlc3VsdFxuICB9KTtcbn0pO1xuXG4vKiAgKi9cblxudmFyIGFycmF5S2V5cyA9IE9i
amVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGFycmF5TWV0aG9kcyk7XG5cbi8qKlxuICogQnkgZGVm
YXVsdCwgd2hlbiBhIHJlYWN0aXZlIHByb3BlcnR5IGlzIHNldCwgdGhlIG5ldyB2YWx1ZSBpc1xu
ICogYWxzbyBjb252ZXJ0ZWQgdG8gYmVjb21lIHJlYWN0aXZlLiBIb3dldmVyIHdoZW4gcGFzc2lu
ZyBkb3duIHByb3BzLFxuICogd2UgZG9uJ3Qgd2FudCB0byBmb3JjZSBjb252ZXJzaW9uIGJlY2F1
c2UgdGhlIHZhbHVlIG1heSBiZSBhIG5lc3RlZCB2YWx1ZVxuICogdW5kZXIgYSBmcm96ZW4gZGF0
YSBzdHJ1Y3R1cmUuIENvbnZlcnRpbmcgaXQgd291bGQgZGVmZWF0IHRoZSBvcHRpbWl6YXRpb24u
XG4gKi9cbnZhciBvYnNlcnZlclN0YXRlID0ge1xuICBzaG91bGRDb252ZXJ0OiB0cnVlXG59O1xu
XG4vKipcbiAqIE9ic2VydmVyIGNsYXNzIHRoYXQgYXJlIGF0dGFjaGVkIHRvIGVhY2ggb2JzZXJ2
ZWRcbiAqIG9iamVjdC4gT25jZSBhdHRhY2hlZCwgdGhlIG9ic2VydmVyIGNvbnZlcnRzIHRhcmdl
dFxuICogb2JqZWN0J3MgcHJvcGVydHkga2V5cyBpbnRvIGdldHRlci9zZXR0ZXJzIHRoYXRcbiAq
IGNvbGxlY3QgZGVwZW5kZW5jaWVzIGFuZCBkaXNwYXRjaGVzIHVwZGF0ZXMuXG4gKi9cbnZhciBP
YnNlcnZlciA9IGZ1bmN0aW9uIE9ic2VydmVyICh2YWx1ZSkge1xuICB0aGlzLnZhbHVlID0gdmFs
dWU7XG4gIHRoaXMuZGVwID0gbmV3IERlcCgpO1xuICB0aGlzLnZtQ291bnQgPSAwO1xuICBkZWYo
dmFsdWUsICdfX29iX18nLCB0aGlzKTtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4g
ICAgdmFyIGF1Z21lbnQgPSBoYXNQcm90b1xuICAgICAgPyBwcm90b0F1Z21lbnRcbiAgICAgIDog
Y29weUF1Z21lbnQ7XG4gICAgYXVnbWVudCh2YWx1ZSwgYXJyYXlNZXRob2RzLCBhcnJheUtleXMp
O1xuICAgIHRoaXMub2JzZXJ2ZUFycmF5KHZhbHVlKTtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLndh
bGsodmFsdWUpO1xuICB9XG59O1xuXG4vKipcbiAqIFdhbGsgdGhyb3VnaCBlYWNoIHByb3BlcnR5
IGFuZCBjb252ZXJ0IHRoZW0gaW50b1xuICogZ2V0dGVyL3NldHRlcnMuIFRoaXMgbWV0aG9kIHNo
b3VsZCBvbmx5IGJlIGNhbGxlZCB3aGVuXG4gKiB2YWx1ZSB0eXBlIGlzIE9iamVjdC5cbiAqL1xu
T2JzZXJ2ZXIucHJvdG90eXBlLndhbGsgPSBmdW5jdGlvbiB3YWxrIChvYmopIHtcbiAgdmFyIGtl
eXMgPSBPYmplY3Qua2V5cyhvYmopO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3Ro
OyBpKyspIHtcbiAgICBkZWZpbmVSZWFjdGl2ZSQkMShvYmosIGtleXNbaV0sIG9ialtrZXlzW2ld
XSk7XG4gIH1cbn07XG5cbi8qKlxuICogT2JzZXJ2ZSBhIGxpc3Qgb2YgQXJyYXkgaXRlbXMuXG4g
Ki9cbk9ic2VydmVyLnByb3RvdHlwZS5vYnNlcnZlQXJyYXkgPSBmdW5jdGlvbiBvYnNlcnZlQXJy
YXkgKGl0ZW1zKSB7XG4gIGZvciAodmFyIGkgPSAwLCBsID0gaXRlbXMubGVuZ3RoOyBpIDwgbDsg
aSsrKSB7XG4gICAgb2JzZXJ2ZShpdGVtc1tpXSk7XG4gIH1cbn07XG5cbi8vIGhlbHBlcnNcblxu
LyoqXG4gKiBBdWdtZW50IGFuIHRhcmdldCBPYmplY3Qgb3IgQXJyYXkgYnkgaW50ZXJjZXB0aW5n
XG4gKiB0aGUgcHJvdG90eXBlIGNoYWluIHVzaW5nIF9fcHJvdG9fX1xuICovXG5mdW5jdGlvbiBw
cm90b0F1Z21lbnQgKHRhcmdldCwgc3JjLCBrZXlzKSB7XG4gIC8qIGVzbGludC1kaXNhYmxlIG5v
LXByb3RvICovXG4gIHRhcmdldC5fX3Byb3RvX18gPSBzcmM7XG4gIC8qIGVzbGludC1lbmFibGUg
bm8tcHJvdG8gKi9cbn1cblxuLyoqXG4gKiBBdWdtZW50IGFuIHRhcmdldCBPYmplY3Qgb3IgQXJy
YXkgYnkgZGVmaW5pbmdcbiAqIGhpZGRlbiBwcm9wZXJ0aWVzLlxuICovXG4vKiBpc3RhbmJ1bCBp
Z25vcmUgbmV4dCAqL1xuZnVuY3Rpb24gY29weUF1Z21lbnQgKHRhcmdldCwgc3JjLCBrZXlzKSB7
XG4gIGZvciAodmFyIGkgPSAwLCBsID0ga2V5cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICB2
YXIga2V5ID0ga2V5c1tpXTtcbiAgICBkZWYodGFyZ2V0LCBrZXksIHNyY1trZXldKTtcbiAgfVxu
fVxuXG4vKipcbiAqIEF0dGVtcHQgdG8gY3JlYXRlIGFuIG9ic2VydmVyIGluc3RhbmNlIGZvciBh
IHZhbHVlLFxuICogcmV0dXJucyB0aGUgbmV3IG9ic2VydmVyIGlmIHN1Y2Nlc3NmdWxseSBvYnNl
cnZlZCxcbiAqIG9yIHRoZSBleGlzdGluZyBvYnNlcnZlciBpZiB0aGUgdmFsdWUgYWxyZWFkeSBo
YXMgb25lLlxuICovXG5mdW5jdGlvbiBvYnNlcnZlICh2YWx1ZSwgYXNSb290RGF0YSkge1xuICBp
ZiAoIWlzT2JqZWN0KHZhbHVlKSkge1xuICAgIHJldHVyblxuICB9XG4gIHZhciBvYjtcbiAgaWYg
KGhhc093bih2YWx1ZSwgJ19fb2JfXycpICYmIHZhbHVlLl9fb2JfXyBpbnN0YW5jZW9mIE9ic2Vy
dmVyKSB7XG4gICAgb2IgPSB2YWx1ZS5fX29iX187XG4gIH0gZWxzZSBpZiAoXG4gICAgb2JzZXJ2
ZXJTdGF0ZS5zaG91bGRDb252ZXJ0ICYmXG4gICAgIWlzU2VydmVyUmVuZGVyaW5nKCkgJiZcbiAg
ICAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHwgaXNQbGFpbk9iamVjdCh2YWx1ZSkpICYmXG4gICAg
T2JqZWN0LmlzRXh0ZW5zaWJsZSh2YWx1ZSkgJiZcbiAgICAhdmFsdWUuX2lzVnVlXG4gICkge1xu
ICAgIG9iID0gbmV3IE9ic2VydmVyKHZhbHVlKTtcbiAgfVxuICBpZiAoYXNSb290RGF0YSAmJiBv
Yikge1xuICAgIG9iLnZtQ291bnQrKztcbiAgfVxuICByZXR1cm4gb2Jcbn1cblxuLyoqXG4gKiBE
ZWZpbmUgYSByZWFjdGl2ZSBwcm9wZXJ0eSBvbiBhbiBPYmplY3QuXG4gKi9cbmZ1bmN0aW9uIGRl
ZmluZVJlYWN0aXZlJCQxIChcbiAgb2JqLFxuICBrZXksXG4gIHZhbCxcbiAgY3VzdG9tU2V0dGVy
LFxuICBzaGFsbG93XG4pIHtcbiAgdmFyIGRlcCA9IG5ldyBEZXAoKTtcblxuICB2YXIgcHJvcGVy
dHkgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwga2V5KTtcbiAgaWYgKHBy
b3BlcnR5ICYmIHByb3BlcnR5LmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHtcbiAgICByZXR1cm5c
biAgfVxuXG4gIC8vIGNhdGVyIGZvciBwcmUtZGVmaW5lZCBnZXR0ZXIvc2V0dGVyc1xuICB2YXIg
Z2V0dGVyID0gcHJvcGVydHkgJiYgcHJvcGVydHkuZ2V0O1xuICB2YXIgc2V0dGVyID0gcHJvcGVy
dHkgJiYgcHJvcGVydHkuc2V0O1xuXG4gIHZhciBjaGlsZE9iID0gIXNoYWxsb3cgJiYgb2JzZXJ2
ZSh2YWwpO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHtcbiAgICBlbnVtZXJh
YmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uIHJl
YWN0aXZlR2V0dGVyICgpIHtcbiAgICAgIHZhciB2YWx1ZSA9IGdldHRlciA/IGdldHRlci5jYWxs
KG9iaikgOiB2YWw7XG4gICAgICBpZiAoRGVwLnRhcmdldCkge1xuICAgICAgICBkZXAuZGVwZW5k
KCk7XG4gICAgICAgIGlmIChjaGlsZE9iKSB7XG4gICAgICAgICAgY2hpbGRPYi5kZXAuZGVwZW5k
KCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAg
ICAgICAgZGVwZW5kQXJyYXkodmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1
cm4gdmFsdWVcbiAgICB9LFxuICAgIHNldDogZnVuY3Rpb24gcmVhY3RpdmVTZXR0ZXIgKG5ld1Zh
bCkge1xuICAgICAgdmFyIHZhbHVlID0gZ2V0dGVyID8gZ2V0dGVyLmNhbGwob2JqKSA6IHZhbDtc
biAgICAgIC8qIGVzbGludC1kaXNhYmxlIG5vLXNlbGYtY29tcGFyZSAqL1xuICAgICAgaWYgKG5l
d1ZhbCA9PT0gdmFsdWUgfHwgKG5ld1ZhbCAhPT0gbmV3VmFsICYmIHZhbHVlICE9PSB2YWx1ZSkp
IHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIG5vLXNl
bGYtY29tcGFyZSAqL1xuICAgICAgaWYgKGZhbHNlKSB7XG4gICAgICAgIGN1c3RvbVNldHRlcigp
O1xuICAgICAgfVxuICAgICAgaWYgKHNldHRlcikge1xuICAgICAgICBzZXR0ZXIuY2FsbChvYmos
IG5ld1ZhbCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWwgPSBuZXdWYWw7XG4gICAgICB9
XG4gICAgICBjaGlsZE9iID0gIXNoYWxsb3cgJiYgb2JzZXJ2ZShuZXdWYWwpO1xuICAgICAgZGVw
Lm5vdGlmeSgpO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogU2V0IGEgcHJvcGVydHkgb24g
YW4gb2JqZWN0LiBBZGRzIHRoZSBuZXcgcHJvcGVydHkgYW5kXG4gKiB0cmlnZ2VycyBjaGFuZ2Ug
bm90aWZpY2F0aW9uIGlmIHRoZSBwcm9wZXJ0eSBkb2Vzbid0XG4gKiBhbHJlYWR5IGV4aXN0Llxu
ICovXG5mdW5jdGlvbiBzZXQgKHRhcmdldCwga2V5LCB2YWwpIHtcbiAgaWYgKEFycmF5LmlzQXJy
YXkodGFyZ2V0KSAmJiBpc1ZhbGlkQXJyYXlJbmRleChrZXkpKSB7XG4gICAgdGFyZ2V0Lmxlbmd0
aCA9IE1hdGgubWF4KHRhcmdldC5sZW5ndGgsIGtleSk7XG4gICAgdGFyZ2V0LnNwbGljZShrZXks
IDEsIHZhbCk7XG4gICAgcmV0dXJuIHZhbFxuICB9XG4gIGlmIChoYXNPd24odGFyZ2V0LCBrZXkp
KSB7XG4gICAgdGFyZ2V0W2tleV0gPSB2YWw7XG4gICAgcmV0dXJuIHZhbFxuICB9XG4gIHZhciBv
YiA9ICh0YXJnZXQpLl9fb2JfXztcbiAgaWYgKHRhcmdldC5faXNWdWUgfHwgKG9iICYmIG9iLnZt
Q291bnQpKSB7XG4gICAgXCJwcm9kdWN0aW9uXCIgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxu
ICAgICAgJ0F2b2lkIGFkZGluZyByZWFjdGl2ZSBwcm9wZXJ0aWVzIHRvIGEgVnVlIGluc3RhbmNl
IG9yIGl0cyByb290ICRkYXRhICcgK1xuICAgICAgJ2F0IHJ1bnRpbWUgLSBkZWNsYXJlIGl0IHVw
ZnJvbnQgaW4gdGhlIGRhdGEgb3B0aW9uLidcbiAgICApO1xuICAgIHJldHVybiB2YWxcbiAgfVxu
ICBpZiAoIW9iKSB7XG4gICAgdGFyZ2V0W2tleV0gPSB2YWw7XG4gICAgcmV0dXJuIHZhbFxuICB9
XG4gIGRlZmluZVJlYWN0aXZlJCQxKG9iLnZhbHVlLCBrZXksIHZhbCk7XG4gIG9iLmRlcC5ub3Rp
ZnkoKTtcbiAgcmV0dXJuIHZhbFxufVxuXG4vKipcbiAqIERlbGV0ZSBhIHByb3BlcnR5IGFuZCB0
cmlnZ2VyIGNoYW5nZSBpZiBuZWNlc3NhcnkuXG4gKi9cbmZ1bmN0aW9uIGRlbCAodGFyZ2V0LCBr
ZXkpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodGFyZ2V0KSAmJiBpc1ZhbGlkQXJyYXlJbmRleChr
ZXkpKSB7XG4gICAgdGFyZ2V0LnNwbGljZShrZXksIDEpO1xuICAgIHJldHVyblxuICB9XG4gIHZh
ciBvYiA9ICh0YXJnZXQpLl9fb2JfXztcbiAgaWYgKHRhcmdldC5faXNWdWUgfHwgKG9iICYmIG9i
LnZtQ291bnQpKSB7XG4gICAgXCJwcm9kdWN0aW9uXCIgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJu
KFxuICAgICAgJ0F2b2lkIGRlbGV0aW5nIHByb3BlcnRpZXMgb24gYSBWdWUgaW5zdGFuY2Ugb3Ig
aXRzIHJvb3QgJGRhdGEgJyArXG4gICAgICAnLSBqdXN0IHNldCBpdCB0byBudWxsLidcbiAgICAp
O1xuICAgIHJldHVyblxuICB9XG4gIGlmICghaGFzT3duKHRhcmdldCwga2V5KSkge1xuICAgIHJl
dHVyblxuICB9XG4gIGRlbGV0ZSB0YXJnZXRba2V5XTtcbiAgaWYgKCFvYikge1xuICAgIHJldHVy
blxuICB9XG4gIG9iLmRlcC5ub3RpZnkoKTtcbn1cblxuLyoqXG4gKiBDb2xsZWN0IGRlcGVuZGVu
Y2llcyBvbiBhcnJheSBlbGVtZW50cyB3aGVuIHRoZSBhcnJheSBpcyB0b3VjaGVkLCBzaW5jZVxu
ICogd2UgY2Fubm90IGludGVyY2VwdCBhcnJheSBlbGVtZW50IGFjY2VzcyBsaWtlIHByb3BlcnR5
IGdldHRlcnMuXG4gKi9cbmZ1bmN0aW9uIGRlcGVuZEFycmF5ICh2YWx1ZSkge1xuICBmb3IgKHZh
ciBlID0gKHZvaWQgMCksIGkgPSAwLCBsID0gdmFsdWUubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4g
ICAgZSA9IHZhbHVlW2ldO1xuICAgIGUgJiYgZS5fX29iX18gJiYgZS5fX29iX18uZGVwLmRlcGVu
ZCgpO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGUpKSB7XG4gICAgICBkZXBlbmRBcnJheShlKTtc
biAgICB9XG4gIH1cbn1cblxuLyogICovXG5cbi8qKlxuICogT3B0aW9uIG92ZXJ3cml0aW5nIHN0
cmF0ZWdpZXMgYXJlIGZ1bmN0aW9ucyB0aGF0IGhhbmRsZVxuICogaG93IHRvIG1lcmdlIGEgcGFy
ZW50IG9wdGlvbiB2YWx1ZSBhbmQgYSBjaGlsZCBvcHRpb25cbiAqIHZhbHVlIGludG8gdGhlIGZp
bmFsIHZhbHVlLlxuICovXG52YXIgc3RyYXRzID0gY29uZmlnLm9wdGlvbk1lcmdlU3RyYXRlZ2ll
cztcblxuLyoqXG4gKiBPcHRpb25zIHdpdGggcmVzdHJpY3Rpb25zXG4gKi9cbmlmIChmYWxzZSkg
e1xuICBzdHJhdHMuZWwgPSBzdHJhdHMucHJvcHNEYXRhID0gZnVuY3Rpb24gKHBhcmVudCwgY2hp
bGQsIHZtLCBrZXkpIHtcbiAgICBpZiAoIXZtKSB7XG4gICAgICB3YXJuKFxuICAgICAgICBcIm9w
dGlvbiBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgY2FuIG9ubHkgYmUgdXNlZCBkdXJpbmcgaW5zdGFu
Y2UgXCIgK1xuICAgICAgICAnY3JlYXRpb24gd2l0aCB0aGUgYG5ld2Aga2V5d29yZC4nXG4gICAg
ICApO1xuICAgIH1cbiAgICByZXR1cm4gZGVmYXVsdFN0cmF0KHBhcmVudCwgY2hpbGQpXG4gIH07
XG59XG5cbi8qKlxuICogSGVscGVyIHRoYXQgcmVjdXJzaXZlbHkgbWVyZ2VzIHR3byBkYXRhIG9i
amVjdHMgdG9nZXRoZXIuXG4gKi9cbmZ1bmN0aW9uIG1lcmdlRGF0YSAodG8sIGZyb20pIHtcbiAg
aWYgKCFmcm9tKSB7IHJldHVybiB0byB9XG4gIHZhciBrZXksIHRvVmFsLCBmcm9tVmFsO1xuICB2
YXIga2V5cyA9IE9iamVjdC5rZXlzKGZyb20pO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMu
bGVuZ3RoOyBpKyspIHtcbiAgICBrZXkgPSBrZXlzW2ldO1xuICAgIHRvVmFsID0gdG9ba2V5XTtc
biAgICBmcm9tVmFsID0gZnJvbVtrZXldO1xuICAgIGlmICghaGFzT3duKHRvLCBrZXkpKSB7XG4g
ICAgICBzZXQodG8sIGtleSwgZnJvbVZhbCk7XG4gICAgfSBlbHNlIGlmIChpc1BsYWluT2JqZWN0
KHRvVmFsKSAmJiBpc1BsYWluT2JqZWN0KGZyb21WYWwpKSB7XG4gICAgICBtZXJnZURhdGEodG9W
YWwsIGZyb21WYWwpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdG9cbn1cblxuLyoqXG4gKiBEYXRh
XG4gKi9cbmZ1bmN0aW9uIG1lcmdlRGF0YU9yRm4gKFxuICBwYXJlbnRWYWwsXG4gIGNoaWxkVmFs
LFxuICB2bVxuKSB7XG4gIGlmICghdm0pIHtcbiAgICAvLyBpbiBhIFZ1ZS5leHRlbmQgbWVyZ2Us
IGJvdGggc2hvdWxkIGJlIGZ1bmN0aW9uc1xuICAgIGlmICghY2hpbGRWYWwpIHtcbiAgICAgIHJl
dHVybiBwYXJlbnRWYWxcbiAgICB9XG4gICAgaWYgKCFwYXJlbnRWYWwpIHtcbiAgICAgIHJldHVy
biBjaGlsZFZhbFxuICAgIH1cbiAgICAvLyB3aGVuIHBhcmVudFZhbCAmIGNoaWxkVmFsIGFyZSBi
b3RoIHByZXNlbnQsXG4gICAgLy8gd2UgbmVlZCB0byByZXR1cm4gYSBmdW5jdGlvbiB0aGF0IHJl
dHVybnMgdGhlXG4gICAgLy8gbWVyZ2VkIHJlc3VsdCBvZiBib3RoIGZ1bmN0aW9ucy4uLiBubyBu
ZWVkIHRvXG4gICAgLy8gY2hlY2sgaWYgcGFyZW50VmFsIGlzIGEgZnVuY3Rpb24gaGVyZSBiZWNh
dXNlXG4gICAgLy8gaXQgaGFzIHRvIGJlIGEgZnVuY3Rpb24gdG8gcGFzcyBwcmV2aW91cyBtZXJn
ZXMuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIG1lcmdlZERhdGFGbiAoKSB7XG4gICAgICByZXR1cm4g
bWVyZ2VEYXRhKFxuICAgICAgICB0eXBlb2YgY2hpbGRWYWwgPT09ICdmdW5jdGlvbicgPyBjaGls
ZFZhbC5jYWxsKHRoaXMpIDogY2hpbGRWYWwsXG4gICAgICAgIHR5cGVvZiBwYXJlbnRWYWwgPT09
ICdmdW5jdGlvbicgPyBwYXJlbnRWYWwuY2FsbCh0aGlzKSA6IHBhcmVudFZhbFxuICAgICAgKVxu
ICAgIH1cbiAgfSBlbHNlIGlmIChwYXJlbnRWYWwgfHwgY2hpbGRWYWwpIHtcbiAgICByZXR1cm4g
ZnVuY3Rpb24gbWVyZ2VkSW5zdGFuY2VEYXRhRm4gKCkge1xuICAgICAgLy8gaW5zdGFuY2UgbWVy
Z2VcbiAgICAgIHZhciBpbnN0YW5jZURhdGEgPSB0eXBlb2YgY2hpbGRWYWwgPT09ICdmdW5jdGlv
bidcbiAgICAgICAgPyBjaGlsZFZhbC5jYWxsKHZtKVxuICAgICAgICA6IGNoaWxkVmFsO1xuICAg
ICAgdmFyIGRlZmF1bHREYXRhID0gdHlwZW9mIHBhcmVudFZhbCA9PT0gJ2Z1bmN0aW9uJ1xuICAg
ICAgICA/IHBhcmVudFZhbC5jYWxsKHZtKVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIGlm
IChpbnN0YW5jZURhdGEpIHtcbiAgICAgICAgcmV0dXJuIG1lcmdlRGF0YShpbnN0YW5jZURhdGEs
IGRlZmF1bHREYXRhKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHREYXRh
XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnN0cmF0cy5kYXRhID0gZnVuY3Rpb24gKFxuICBw
YXJlbnRWYWwsXG4gIGNoaWxkVmFsLFxuICB2bVxuKSB7XG4gIGlmICghdm0pIHtcbiAgICBpZiAo
Y2hpbGRWYWwgJiYgdHlwZW9mIGNoaWxkVmFsICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICBcInBy
b2R1Y3Rpb25cIiAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4oXG4gICAgICAgICdUaGUgXCJkYXRh
XCIgb3B0aW9uIHNob3VsZCBiZSBhIGZ1bmN0aW9uICcgK1xuICAgICAgICAndGhhdCByZXR1cm5z
IGEgcGVyLWluc3RhbmNlIHZhbHVlIGluIGNvbXBvbmVudCAnICtcbiAgICAgICAgJ2RlZmluaXRp
b25zLicsXG4gICAgICAgIHZtXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gcGFyZW50VmFsXG4g
ICAgfVxuICAgIHJldHVybiBtZXJnZURhdGFPckZuLmNhbGwodGhpcywgcGFyZW50VmFsLCBjaGls
ZFZhbClcbiAgfVxuXG4gIHJldHVybiBtZXJnZURhdGFPckZuKHBhcmVudFZhbCwgY2hpbGRWYWws
IHZtKVxufTtcblxuLyoqXG4gKiBIb29rcyBhbmQgcHJvcHMgYXJlIG1lcmdlZCBhcyBhcnJheXMu
XG4gKi9cbmZ1bmN0aW9uIG1lcmdlSG9vayAoXG4gIHBhcmVudFZhbCxcbiAgY2hpbGRWYWxcbikg
e1xuICByZXR1cm4gY2hpbGRWYWxcbiAgICA/IHBhcmVudFZhbFxuICAgICAgPyBwYXJlbnRWYWwu
Y29uY2F0KGNoaWxkVmFsKVxuICAgICAgOiBBcnJheS5pc0FycmF5KGNoaWxkVmFsKVxuICAgICAg
ICA/IGNoaWxkVmFsXG4gICAgICAgIDogW2NoaWxkVmFsXVxuICAgIDogcGFyZW50VmFsXG59XG5c
bkxJRkVDWUNMRV9IT09LUy5mb3JFYWNoKGZ1bmN0aW9uIChob29rKSB7XG4gIHN0cmF0c1tob29r
XSA9IG1lcmdlSG9vaztcbn0pO1xuXG4vKipcbiAqIEFzc2V0c1xuICpcbiAqIFdoZW4gYSB2bSBp
cyBwcmVzZW50IChpbnN0YW5jZSBjcmVhdGlvbiksIHdlIG5lZWQgdG8gZG9cbiAqIGEgdGhyZWUt
d2F5IG1lcmdlIGJldHdlZW4gY29uc3RydWN0b3Igb3B0aW9ucywgaW5zdGFuY2VcbiAqIG9wdGlv
bnMgYW5kIHBhcmVudCBvcHRpb25zLlxuICovXG5mdW5jdGlvbiBtZXJnZUFzc2V0cyAocGFyZW50
VmFsLCBjaGlsZFZhbCkge1xuICB2YXIgcmVzID0gT2JqZWN0LmNyZWF0ZShwYXJlbnRWYWwgfHwg
bnVsbCk7XG4gIHJldHVybiBjaGlsZFZhbFxuICAgID8gZXh0ZW5kKHJlcywgY2hpbGRWYWwpXG4g
ICAgOiByZXNcbn1cblxuQVNTRVRfVFlQRVMuZm9yRWFjaChmdW5jdGlvbiAodHlwZSkge1xuICBz
dHJhdHNbdHlwZSArICdzJ10gPSBtZXJnZUFzc2V0cztcbn0pO1xuXG4vKipcbiAqIFdhdGNoZXJz
LlxuICpcbiAqIFdhdGNoZXJzIGhhc2hlcyBzaG91bGQgbm90IG92ZXJ3cml0ZSBvbmVcbiAqIGFu
b3RoZXIsIHNvIHdlIG1lcmdlIHRoZW0gYXMgYXJyYXlzLlxuICovXG5zdHJhdHMud2F0Y2ggPSBm
dW5jdGlvbiAocGFyZW50VmFsLCBjaGlsZFZhbCkge1xuICAvLyB3b3JrIGFyb3VuZCBGaXJlZm94
J3MgT2JqZWN0LnByb3RvdHlwZS53YXRjaC4uLlxuICBpZiAocGFyZW50VmFsID09PSBuYXRpdmVX
YXRjaCkgeyBwYXJlbnRWYWwgPSB1bmRlZmluZWQ7IH1cbiAgaWYgKGNoaWxkVmFsID09PSBuYXRp
dmVXYXRjaCkgeyBjaGlsZFZhbCA9IHVuZGVmaW5lZDsgfVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUg
aWYgKi9cbiAgaWYgKCFjaGlsZFZhbCkgeyByZXR1cm4gT2JqZWN0LmNyZWF0ZShwYXJlbnRWYWwg
fHwgbnVsbCkgfVxuICBpZiAoIXBhcmVudFZhbCkgeyByZXR1cm4gY2hpbGRWYWwgfVxuICB2YXIg
cmV0ID0ge307XG4gIGV4dGVuZChyZXQsIHBhcmVudFZhbCk7XG4gIGZvciAodmFyIGtleSBpbiBj
aGlsZFZhbCkge1xuICAgIHZhciBwYXJlbnQgPSByZXRba2V5XTtcbiAgICB2YXIgY2hpbGQgPSBj
aGlsZFZhbFtrZXldO1xuICAgIGlmIChwYXJlbnQgJiYgIUFycmF5LmlzQXJyYXkocGFyZW50KSkg
e1xuICAgICAgcGFyZW50ID0gW3BhcmVudF07XG4gICAgfVxuICAgIHJldFtrZXldID0gcGFyZW50
XG4gICAgICA/IHBhcmVudC5jb25jYXQoY2hpbGQpXG4gICAgICA6IEFycmF5LmlzQXJyYXkoY2hp
bGQpID8gY2hpbGQgOiBbY2hpbGRdO1xuICB9XG4gIHJldHVybiByZXRcbn07XG5cbi8qKlxuICog
T3RoZXIgb2JqZWN0IGhhc2hlcy5cbiAqL1xuc3RyYXRzLnByb3BzID1cbnN0cmF0cy5tZXRob2Rz
ID1cbnN0cmF0cy5pbmplY3QgPVxuc3RyYXRzLmNvbXB1dGVkID0gZnVuY3Rpb24gKHBhcmVudFZh
bCwgY2hpbGRWYWwpIHtcbiAgaWYgKCFwYXJlbnRWYWwpIHsgcmV0dXJuIGNoaWxkVmFsIH1cbiAg
dmFyIHJldCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIGV4dGVuZChyZXQsIHBhcmVudFZhbCk7
XG4gIGlmIChjaGlsZFZhbCkgeyBleHRlbmQocmV0LCBjaGlsZFZhbCk7IH1cbiAgcmV0dXJuIHJl
dFxufTtcbnN0cmF0cy5wcm92aWRlID0gbWVyZ2VEYXRhT3JGbjtcblxuLyoqXG4gKiBEZWZhdWx0
IHN0cmF0ZWd5LlxuICovXG52YXIgZGVmYXVsdFN0cmF0ID0gZnVuY3Rpb24gKHBhcmVudFZhbCwg
Y2hpbGRWYWwpIHtcbiAgcmV0dXJuIGNoaWxkVmFsID09PSB1bmRlZmluZWRcbiAgICA/IHBhcmVu
dFZhbFxuICAgIDogY2hpbGRWYWxcbn07XG5cbi8qKlxuICogVmFsaWRhdGUgY29tcG9uZW50IG5h
bWVzXG4gKi9cbmZ1bmN0aW9uIGNoZWNrQ29tcG9uZW50cyAob3B0aW9ucykge1xuICBmb3IgKHZh
ciBrZXkgaW4gb3B0aW9ucy5jb21wb25lbnRzKSB7XG4gICAgdmFyIGxvd2VyID0ga2V5LnRvTG93
ZXJDYXNlKCk7XG4gICAgaWYgKGlzQnVpbHRJblRhZyhsb3dlcikgfHwgY29uZmlnLmlzUmVzZXJ2
ZWRUYWcobG93ZXIpKSB7XG4gICAgICB3YXJuKFxuICAgICAgICAnRG8gbm90IHVzZSBidWlsdC1p
biBvciByZXNlcnZlZCBIVE1MIGVsZW1lbnRzIGFzIGNvbXBvbmVudCAnICtcbiAgICAgICAgJ2lk
OiAnICsga2V5XG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEVuc3VyZSBhbGwg
cHJvcHMgb3B0aW9uIHN5bnRheCBhcmUgbm9ybWFsaXplZCBpbnRvIHRoZVxuICogT2JqZWN0LWJh
c2VkIGZvcm1hdC5cbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplUHJvcHMgKG9wdGlvbnMpIHtcbiAg
dmFyIHByb3BzID0gb3B0aW9ucy5wcm9wcztcbiAgaWYgKCFwcm9wcykgeyByZXR1cm4gfVxuICB2
YXIgcmVzID0ge307XG4gIHZhciBpLCB2YWwsIG5hbWU7XG4gIGlmIChBcnJheS5pc0FycmF5KHBy
b3BzKSkge1xuICAgIGkgPSBwcm9wcy5sZW5ndGg7XG4gICAgd2hpbGUgKGktLSkge1xuICAgICAg
dmFsID0gcHJvcHNbaV07XG4gICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcbiAg
ICAgICAgbmFtZSA9IGNhbWVsaXplKHZhbCk7XG4gICAgICAgIHJlc1tuYW1lXSA9IHsgdHlwZTog
bnVsbCB9O1xuICAgICAgfSBlbHNlIGlmIChmYWxzZSkge1xuICAgICAgICB3YXJuKCdwcm9wcyBt
dXN0IGJlIHN0cmluZ3Mgd2hlbiB1c2luZyBhcnJheSBzeW50YXguJyk7XG4gICAgICB9XG4gICAg
fVxuICB9IGVsc2UgaWYgKGlzUGxhaW5PYmplY3QocHJvcHMpKSB7XG4gICAgZm9yICh2YXIga2V5
IGluIHByb3BzKSB7XG4gICAgICB2YWwgPSBwcm9wc1trZXldO1xuICAgICAgbmFtZSA9IGNhbWVs
aXplKGtleSk7XG4gICAgICByZXNbbmFtZV0gPSBpc1BsYWluT2JqZWN0KHZhbClcbiAgICAgICAg
PyB2YWxcbiAgICAgICAgOiB7IHR5cGU6IHZhbCB9O1xuICAgIH1cbiAgfVxuICBvcHRpb25zLnBy
b3BzID0gcmVzO1xufVxuXG4vKipcbiAqIE5vcm1hbGl6ZSBhbGwgaW5qZWN0aW9ucyBpbnRvIE9i
amVjdC1iYXNlZCBmb3JtYXRcbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplSW5qZWN0IChvcHRpb25z
KSB7XG4gIHZhciBpbmplY3QgPSBvcHRpb25zLmluamVjdDtcbiAgaWYgKEFycmF5LmlzQXJyYXko
aW5qZWN0KSkge1xuICAgIHZhciBub3JtYWxpemVkID0gb3B0aW9ucy5pbmplY3QgPSB7fTtcbiAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IGluamVjdC5sZW5ndGg7IGkrKykge1xuICAgICAgbm9ybWFs
aXplZFtpbmplY3RbaV1dID0gaW5qZWN0W2ldO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIE5v
cm1hbGl6ZSByYXcgZnVuY3Rpb24gZGlyZWN0aXZlcyBpbnRvIG9iamVjdCBmb3JtYXQuXG4gKi9c
bmZ1bmN0aW9uIG5vcm1hbGl6ZURpcmVjdGl2ZXMgKG9wdGlvbnMpIHtcbiAgdmFyIGRpcnMgPSBv
cHRpb25zLmRpcmVjdGl2ZXM7XG4gIGlmIChkaXJzKSB7XG4gICAgZm9yICh2YXIga2V5IGluIGRp
cnMpIHtcbiAgICAgIHZhciBkZWYgPSBkaXJzW2tleV07XG4gICAgICBpZiAodHlwZW9mIGRlZiA9
PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBkaXJzW2tleV0gPSB7IGJpbmQ6IGRlZiwgdXBkYXRl
OiBkZWYgfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBNZXJnZSB0d28gb3B0
aW9uIG9iamVjdHMgaW50byBhIG5ldyBvbmUuXG4gKiBDb3JlIHV0aWxpdHkgdXNlZCBpbiBib3Ro
IGluc3RhbnRpYXRpb24gYW5kIGluaGVyaXRhbmNlLlxuICovXG5mdW5jdGlvbiBtZXJnZU9wdGlv
bnMgKFxuICBwYXJlbnQsXG4gIGNoaWxkLFxuICB2bVxuKSB7XG4gIGlmIChmYWxzZSkge1xuICAg
IGNoZWNrQ29tcG9uZW50cyhjaGlsZCk7XG4gIH1cblxuICBpZiAodHlwZW9mIGNoaWxkID09PSAn
ZnVuY3Rpb24nKSB7XG4gICAgY2hpbGQgPSBjaGlsZC5vcHRpb25zO1xuICB9XG5cbiAgbm9ybWFs
aXplUHJvcHMoY2hpbGQpO1xuICBub3JtYWxpemVJbmplY3QoY2hpbGQpO1xuICBub3JtYWxpemVE
aXJlY3RpdmVzKGNoaWxkKTtcbiAgdmFyIGV4dGVuZHNGcm9tID0gY2hpbGQuZXh0ZW5kcztcbiAg
aWYgKGV4dGVuZHNGcm9tKSB7XG4gICAgcGFyZW50ID0gbWVyZ2VPcHRpb25zKHBhcmVudCwgZXh0
ZW5kc0Zyb20sIHZtKTtcbiAgfVxuICBpZiAoY2hpbGQubWl4aW5zKSB7XG4gICAgZm9yICh2YXIg
aSA9IDAsIGwgPSBjaGlsZC5taXhpbnMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBwYXJl
bnQgPSBtZXJnZU9wdGlvbnMocGFyZW50LCBjaGlsZC5taXhpbnNbaV0sIHZtKTtcbiAgICB9XG4g
IH1cbiAgdmFyIG9wdGlvbnMgPSB7fTtcbiAgdmFyIGtleTtcbiAgZm9yIChrZXkgaW4gcGFyZW50
KSB7XG4gICAgbWVyZ2VGaWVsZChrZXkpO1xuICB9XG4gIGZvciAoa2V5IGluIGNoaWxkKSB7XG4g
ICAgaWYgKCFoYXNPd24ocGFyZW50LCBrZXkpKSB7XG4gICAgICBtZXJnZUZpZWxkKGtleSk7XG4g
ICAgfVxuICB9XG4gIGZ1bmN0aW9uIG1lcmdlRmllbGQgKGtleSkge1xuICAgIHZhciBzdHJhdCA9
IHN0cmF0c1trZXldIHx8IGRlZmF1bHRTdHJhdDtcbiAgICBvcHRpb25zW2tleV0gPSBzdHJhdChw
YXJlbnRba2V5XSwgY2hpbGRba2V5XSwgdm0sIGtleSk7XG4gIH1cbiAgcmV0dXJuIG9wdGlvbnNc
bn1cblxuLyoqXG4gKiBSZXNvbHZlIGFuIGFzc2V0LlxuICogVGhpcyBmdW5jdGlvbiBpcyB1c2Vk
IGJlY2F1c2UgY2hpbGQgaW5zdGFuY2VzIG5lZWQgYWNjZXNzXG4gKiB0byBhc3NldHMgZGVmaW5l
ZCBpbiBpdHMgYW5jZXN0b3IgY2hhaW4uXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVBc3NldCAoXG4g
IG9wdGlvbnMsXG4gIHR5cGUsXG4gIGlkLFxuICB3YXJuTWlzc2luZ1xuKSB7XG4gIC8qIGlzdGFu
YnVsIGlnbm9yZSBpZiAqL1xuICBpZiAodHlwZW9mIGlkICE9PSAnc3RyaW5nJykge1xuICAgIHJl
dHVyblxuICB9XG4gIHZhciBhc3NldHMgPSBvcHRpb25zW3R5cGVdO1xuICAvLyBjaGVjayBsb2Nh
bCByZWdpc3RyYXRpb24gdmFyaWF0aW9ucyBmaXJzdFxuICBpZiAoaGFzT3duKGFzc2V0cywgaWQp
KSB7IHJldHVybiBhc3NldHNbaWRdIH1cbiAgdmFyIGNhbWVsaXplZElkID0gY2FtZWxpemUoaWQp
O1xuICBpZiAoaGFzT3duKGFzc2V0cywgY2FtZWxpemVkSWQpKSB7IHJldHVybiBhc3NldHNbY2Ft
ZWxpemVkSWRdIH1cbiAgdmFyIFBhc2NhbENhc2VJZCA9IGNhcGl0YWxpemUoY2FtZWxpemVkSWQp
O1xuICBpZiAoaGFzT3duKGFzc2V0cywgUGFzY2FsQ2FzZUlkKSkgeyByZXR1cm4gYXNzZXRzW1Bh
c2NhbENhc2VJZF0gfVxuICAvLyBmYWxsYmFjayB0byBwcm90b3R5cGUgY2hhaW5cbiAgdmFyIHJl
cyA9IGFzc2V0c1tpZF0gfHwgYXNzZXRzW2NhbWVsaXplZElkXSB8fCBhc3NldHNbUGFzY2FsQ2Fz
ZUlkXTtcbiAgaWYgKGZhbHNlKSB7XG4gICAgd2FybihcbiAgICAgICdGYWlsZWQgdG8gcmVzb2x2
ZSAnICsgdHlwZS5zbGljZSgwLCAtMSkgKyAnOiAnICsgaWQsXG4gICAgICBvcHRpb25zXG4gICAg
KTtcbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiB2YWxpZGF0ZVBy
b3AgKFxuICBrZXksXG4gIHByb3BPcHRpb25zLFxuICBwcm9wc0RhdGEsXG4gIHZtXG4pIHtcbiAg
dmFyIHByb3AgPSBwcm9wT3B0aW9uc1trZXldO1xuICB2YXIgYWJzZW50ID0gIWhhc093bihwcm9w
c0RhdGEsIGtleSk7XG4gIHZhciB2YWx1ZSA9IHByb3BzRGF0YVtrZXldO1xuICAvLyBoYW5kbGUg
Ym9vbGVhbiBwcm9wc1xuICBpZiAoaXNUeXBlKEJvb2xlYW4sIHByb3AudHlwZSkpIHtcbiAgICBp
ZiAoYWJzZW50ICYmICFoYXNPd24ocHJvcCwgJ2RlZmF1bHQnKSkge1xuICAgICAgdmFsdWUgPSBm
YWxzZTtcbiAgICB9IGVsc2UgaWYgKCFpc1R5cGUoU3RyaW5nLCBwcm9wLnR5cGUpICYmICh2YWx1
ZSA9PT0gJycgfHwgdmFsdWUgPT09IGh5cGhlbmF0ZShrZXkpKSkge1xuICAgICAgdmFsdWUgPSB0
cnVlO1xuICAgIH1cbiAgfVxuICAvLyBjaGVjayBkZWZhdWx0IHZhbHVlXG4gIGlmICh2YWx1ZSA9
PT0gdW5kZWZpbmVkKSB7XG4gICAgdmFsdWUgPSBnZXRQcm9wRGVmYXVsdFZhbHVlKHZtLCBwcm9w
LCBrZXkpO1xuICAgIC8vIHNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlIGlzIGEgZnJlc2ggY29weSxc
biAgICAvLyBtYWtlIHN1cmUgdG8gb2JzZXJ2ZSBpdC5cbiAgICB2YXIgcHJldlNob3VsZENvbnZl
cnQgPSBvYnNlcnZlclN0YXRlLnNob3VsZENvbnZlcnQ7XG4gICAgb2JzZXJ2ZXJTdGF0ZS5zaG91
bGRDb252ZXJ0ID0gdHJ1ZTtcbiAgICBvYnNlcnZlKHZhbHVlKTtcbiAgICBvYnNlcnZlclN0YXRl
LnNob3VsZENvbnZlcnQgPSBwcmV2U2hvdWxkQ29udmVydDtcbiAgfVxuICBpZiAoZmFsc2UpIHtc
biAgICBhc3NlcnRQcm9wKHByb3AsIGtleSwgdmFsdWUsIHZtLCBhYnNlbnQpO1xuICB9XG4gIHJl
dHVybiB2YWx1ZVxufVxuXG4vKipcbiAqIEdldCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiBhIHByb3Au
XG4gKi9cbmZ1bmN0aW9uIGdldFByb3BEZWZhdWx0VmFsdWUgKHZtLCBwcm9wLCBrZXkpIHtcbiAg
Ly8gbm8gZGVmYXVsdCwgcmV0dXJuIHVuZGVmaW5lZFxuICBpZiAoIWhhc093bihwcm9wLCAnZGVm
YXVsdCcpKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG4gIHZhciBkZWYgPSBwcm9wLmRl
ZmF1bHQ7XG4gIC8vIHdhcm4gYWdhaW5zdCBub24tZmFjdG9yeSBkZWZhdWx0cyBmb3IgT2JqZWN0
ICYgQXJyYXlcbiAgaWYgKGZhbHNlKSB7XG4gICAgd2FybihcbiAgICAgICdJbnZhbGlkIGRlZmF1
bHQgdmFsdWUgZm9yIHByb3AgXCInICsga2V5ICsgJ1wiOiAnICtcbiAgICAgICdQcm9wcyB3aXRo
IHR5cGUgT2JqZWN0L0FycmF5IG11c3QgdXNlIGEgZmFjdG9yeSBmdW5jdGlvbiAnICtcbiAgICAg
ICd0byByZXR1cm4gdGhlIGRlZmF1bHQgdmFsdWUuJyxcbiAgICAgIHZtXG4gICAgKTtcbiAgfVxu
ICAvLyB0aGUgcmF3IHByb3AgdmFsdWUgd2FzIGFsc28gdW5kZWZpbmVkIGZyb20gcHJldmlvdXMg
cmVuZGVyLFxuICAvLyByZXR1cm4gcHJldmlvdXMgZGVmYXVsdCB2YWx1ZSB0byBhdm9pZCB1bm5l
Y2Vzc2FyeSB3YXRjaGVyIHRyaWdnZXJcbiAgaWYgKHZtICYmIHZtLiRvcHRpb25zLnByb3BzRGF0
YSAmJlxuICAgIHZtLiRvcHRpb25zLnByb3BzRGF0YVtrZXldID09PSB1bmRlZmluZWQgJiZcbiAg
ICB2bS5fcHJvcHNba2V5XSAhPT0gdW5kZWZpbmVkXG4gICkge1xuICAgIHJldHVybiB2bS5fcHJv
cHNba2V5XVxuICB9XG4gIC8vIGNhbGwgZmFjdG9yeSBmdW5jdGlvbiBmb3Igbm9uLUZ1bmN0aW9u
IHR5cGVzXG4gIC8vIGEgdmFsdWUgaXMgRnVuY3Rpb24gaWYgaXRzIHByb3RvdHlwZSBpcyBmdW5j
dGlvbiBldmVuIGFjcm9zcyBkaWZmZXJlbnQgZXhlY3V0aW9uIGNvbnRleHRcbiAgcmV0dXJuIHR5
cGVvZiBkZWYgPT09ICdmdW5jdGlvbicgJiYgZ2V0VHlwZShwcm9wLnR5cGUpICE9PSAnRnVuY3Rp
b24nXG4gICAgPyBkZWYuY2FsbCh2bSlcbiAgICA6IGRlZlxufVxuXG4vKipcbiAqIEFzc2VydCB3
aGV0aGVyIGEgcHJvcCBpcyB2YWxpZC5cbiAqL1xuZnVuY3Rpb24gYXNzZXJ0UHJvcCAoXG4gIHBy
b3AsXG4gIG5hbWUsXG4gIHZhbHVlLFxuICB2bSxcbiAgYWJzZW50XG4pIHtcbiAgaWYgKHByb3Au
cmVxdWlyZWQgJiYgYWJzZW50KSB7XG4gICAgd2FybihcbiAgICAgICdNaXNzaW5nIHJlcXVpcmVk
IHByb3A6IFwiJyArIG5hbWUgKyAnXCInLFxuICAgICAgdm1cbiAgICApO1xuICAgIHJldHVyblxu
ICB9XG4gIGlmICh2YWx1ZSA9PSBudWxsICYmICFwcm9wLnJlcXVpcmVkKSB7XG4gICAgcmV0dXJu
XG4gIH1cbiAgdmFyIHR5cGUgPSBwcm9wLnR5cGU7XG4gIHZhciB2YWxpZCA9ICF0eXBlIHx8IHR5
cGUgPT09IHRydWU7XG4gIHZhciBleHBlY3RlZFR5cGVzID0gW107XG4gIGlmICh0eXBlKSB7XG4g
ICAgaWYgKCFBcnJheS5pc0FycmF5KHR5cGUpKSB7XG4gICAgICB0eXBlID0gW3R5cGVdO1xuICAg
IH1cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHR5cGUubGVuZ3RoICYmICF2YWxpZDsgaSsrKSB7
XG4gICAgICB2YXIgYXNzZXJ0ZWRUeXBlID0gYXNzZXJ0VHlwZSh2YWx1ZSwgdHlwZVtpXSk7XG4g
ICAgICBleHBlY3RlZFR5cGVzLnB1c2goYXNzZXJ0ZWRUeXBlLmV4cGVjdGVkVHlwZSB8fCAnJyk7
XG4gICAgICB2YWxpZCA9IGFzc2VydGVkVHlwZS52YWxpZDtcbiAgICB9XG4gIH1cbiAgaWYgKCF2
YWxpZCkge1xuICAgIHdhcm4oXG4gICAgICAnSW52YWxpZCBwcm9wOiB0eXBlIGNoZWNrIGZhaWxl
ZCBmb3IgcHJvcCBcIicgKyBuYW1lICsgJ1wiLicgK1xuICAgICAgJyBFeHBlY3RlZCAnICsgZXhw
ZWN0ZWRUeXBlcy5tYXAoY2FwaXRhbGl6ZSkuam9pbignLCAnKSArXG4gICAgICAnLCBnb3QgJyAr
IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSkuc2xpY2UoOCwgLTEpICsgJy4n
LFxuICAgICAgdm1cbiAgICApO1xuICAgIHJldHVyblxuICB9XG4gIHZhciB2YWxpZGF0b3IgPSBw
cm9wLnZhbGlkYXRvcjtcbiAgaWYgKHZhbGlkYXRvcikge1xuICAgIGlmICghdmFsaWRhdG9yKHZh
bHVlKSkge1xuICAgICAgd2FybihcbiAgICAgICAgJ0ludmFsaWQgcHJvcDogY3VzdG9tIHZhbGlk
YXRvciBjaGVjayBmYWlsZWQgZm9yIHByb3AgXCInICsgbmFtZSArICdcIi4nLFxuICAgICAgICB2
bVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIHNpbXBsZUNoZWNrUkUgPSAvXihTdHJp
bmd8TnVtYmVyfEJvb2xlYW58RnVuY3Rpb258U3ltYm9sKSQvO1xuXG5mdW5jdGlvbiBhc3NlcnRU
eXBlICh2YWx1ZSwgdHlwZSkge1xuICB2YXIgdmFsaWQ7XG4gIHZhciBleHBlY3RlZFR5cGUgPSBn
ZXRUeXBlKHR5cGUpO1xuICBpZiAoc2ltcGxlQ2hlY2tSRS50ZXN0KGV4cGVjdGVkVHlwZSkpIHtc
biAgICB2YWxpZCA9IHR5cGVvZiB2YWx1ZSA9PT0gZXhwZWN0ZWRUeXBlLnRvTG93ZXJDYXNlKCk7
XG4gIH0gZWxzZSBpZiAoZXhwZWN0ZWRUeXBlID09PSAnT2JqZWN0Jykge1xuICAgIHZhbGlkID0g
aXNQbGFpbk9iamVjdCh2YWx1ZSk7XG4gIH0gZWxzZSBpZiAoZXhwZWN0ZWRUeXBlID09PSAnQXJy
YXknKSB7XG4gICAgdmFsaWQgPSBBcnJheS5pc0FycmF5KHZhbHVlKTtcbiAgfSBlbHNlIHtcbiAg
ICB2YWxpZCA9IHZhbHVlIGluc3RhbmNlb2YgdHlwZTtcbiAgfVxuICByZXR1cm4ge1xuICAgIHZh
bGlkOiB2YWxpZCxcbiAgICBleHBlY3RlZFR5cGU6IGV4cGVjdGVkVHlwZVxuICB9XG59XG5cbi8q
KlxuICogVXNlIGZ1bmN0aW9uIHN0cmluZyBuYW1lIHRvIGNoZWNrIGJ1aWx0LWluIHR5cGVzLFxu
ICogYmVjYXVzZSBhIHNpbXBsZSBlcXVhbGl0eSBjaGVjayB3aWxsIGZhaWwgd2hlbiBydW5uaW5n
XG4gKiBhY3Jvc3MgZGlmZmVyZW50IHZtcyAvIGlmcmFtZXMuXG4gKi9cbmZ1bmN0aW9uIGdldFR5
cGUgKGZuKSB7XG4gIHZhciBtYXRjaCA9IGZuICYmIGZuLnRvU3RyaW5nKCkubWF0Y2goL15cXHMq
ZnVuY3Rpb24gKFxcdyspLyk7XG4gIHJldHVybiBtYXRjaCA/IG1hdGNoWzFdIDogJydcbn1cblxu
ZnVuY3Rpb24gaXNUeXBlICh0eXBlLCBmbikge1xuICBpZiAoIUFycmF5LmlzQXJyYXkoZm4pKSB7
XG4gICAgcmV0dXJuIGdldFR5cGUoZm4pID09PSBnZXRUeXBlKHR5cGUpXG4gIH1cbiAgZm9yICh2
YXIgaSA9IDAsIGxlbiA9IGZuLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgaWYgKGdldFR5
cGUoZm5baV0pID09PSBnZXRUeXBlKHR5cGUpKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1c
biAgfVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICByZXR1cm4gZmFsc2Vcbn1cblxu
LyogICovXG5cbnZhciBtYXJrO1xudmFyIG1lYXN1cmU7XG5cbmlmIChmYWxzZSkge1xuICB2YXIg
cGVyZiA9IGluQnJvd3NlciAmJiB3aW5kb3cucGVyZm9ybWFuY2U7XG4gIC8qIGlzdGFuYnVsIGln
bm9yZSBpZiAqL1xuICBpZiAoXG4gICAgcGVyZiAmJlxuICAgIHBlcmYubWFyayAmJlxuICAgIHBl
cmYubWVhc3VyZSAmJlxuICAgIHBlcmYuY2xlYXJNYXJrcyAmJlxuICAgIHBlcmYuY2xlYXJNZWFz
dXJlc1xuICApIHtcbiAgICBtYXJrID0gZnVuY3Rpb24gKHRhZykgeyByZXR1cm4gcGVyZi5tYXJr
KHRhZyk7IH07XG4gICAgbWVhc3VyZSA9IGZ1bmN0aW9uIChuYW1lLCBzdGFydFRhZywgZW5kVGFn
KSB7XG4gICAgICBwZXJmLm1lYXN1cmUobmFtZSwgc3RhcnRUYWcsIGVuZFRhZyk7XG4gICAgICBw
ZXJmLmNsZWFyTWFya3Moc3RhcnRUYWcpO1xuICAgICAgcGVyZi5jbGVhck1hcmtzKGVuZFRhZyk7
XG4gICAgICBwZXJmLmNsZWFyTWVhc3VyZXMobmFtZSk7XG4gICAgfTtcbiAgfVxufVxuXG4vKiBu
b3QgdHlwZSBjaGVja2luZyB0aGlzIGZpbGUgYmVjYXVzZSBmbG93IGRvZXNuJ3QgcGxheSB3ZWxs
IHdpdGggUHJveHkgKi9cblxudmFyIGluaXRQcm94eTtcblxuaWYgKGZhbHNlKSB7XG4gIHZhciBh
bGxvd2VkR2xvYmFscyA9IG1ha2VNYXAoXG4gICAgJ0luZmluaXR5LHVuZGVmaW5lZCxOYU4saXNG
aW5pdGUsaXNOYU4sJyArXG4gICAgJ3BhcnNlRmxvYXQscGFyc2VJbnQsZGVjb2RlVVJJLGRlY29k
ZVVSSUNvbXBvbmVudCxlbmNvZGVVUkksZW5jb2RlVVJJQ29tcG9uZW50LCcgK1xuICAgICdNYXRo
LE51bWJlcixEYXRlLEFycmF5LE9iamVjdCxCb29sZWFuLFN0cmluZyxSZWdFeHAsTWFwLFNldCxK
U09OLEludGwsJyArXG4gICAgJ3JlcXVpcmUnIC8vIGZvciBXZWJwYWNrL0Jyb3dzZXJpZnlcbiAg
KTtcblxuICB2YXIgd2Fybk5vblByZXNlbnQgPSBmdW5jdGlvbiAodGFyZ2V0LCBrZXkpIHtcbiAg
ICB3YXJuKFxuICAgICAgXCJQcm9wZXJ0eSBvciBtZXRob2QgXFxcIlwiICsga2V5ICsgXCJcXFwi
IGlzIG5vdCBkZWZpbmVkIG9uIHRoZSBpbnN0YW5jZSBidXQgXCIgK1xuICAgICAgXCJyZWZlcmVu
Y2VkIGR1cmluZyByZW5kZXIuIE1ha2Ugc3VyZSB0byBkZWNsYXJlIHJlYWN0aXZlIGRhdGEgXCIg
K1xuICAgICAgXCJwcm9wZXJ0aWVzIGluIHRoZSBkYXRhIG9wdGlvbi5cIixcbiAgICAgIHRhcmdl
dFxuICAgICk7XG4gIH07XG5cbiAgdmFyIGhhc1Byb3h5ID1cbiAgICB0eXBlb2YgUHJveHkgIT09
ICd1bmRlZmluZWQnICYmXG4gICAgUHJveHkudG9TdHJpbmcoKS5tYXRjaCgvbmF0aXZlIGNvZGUv
KTtcblxuICBpZiAoaGFzUHJveHkpIHtcbiAgICB2YXIgaXNCdWlsdEluTW9kaWZpZXIgPSBtYWtl
TWFwKCdzdG9wLHByZXZlbnQsc2VsZixjdHJsLHNoaWZ0LGFsdCxtZXRhJyk7XG4gICAgY29uZmln
LmtleUNvZGVzID0gbmV3IFByb3h5KGNvbmZpZy5rZXlDb2Rlcywge1xuICAgICAgc2V0OiBmdW5j
dGlvbiBzZXQgKHRhcmdldCwga2V5LCB2YWx1ZSkge1xuICAgICAgICBpZiAoaXNCdWlsdEluTW9k
aWZpZXIoa2V5KSkge1xuICAgICAgICAgIHdhcm4oKFwiQXZvaWQgb3ZlcndyaXRpbmcgYnVpbHQt
aW4gbW9kaWZpZXIgaW4gY29uZmlnLmtleUNvZGVzOiAuXCIgKyBrZXkpKTtcbiAgICAgICAgICBy
ZXR1cm4gZmFsc2VcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0YXJnZXRba2V5XSA9IHZh
bHVlO1xuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtc
biAgfVxuXG4gIHZhciBoYXNIYW5kbGVyID0ge1xuICAgIGhhczogZnVuY3Rpb24gaGFzICh0YXJn
ZXQsIGtleSkge1xuICAgICAgdmFyIGhhcyA9IGtleSBpbiB0YXJnZXQ7XG4gICAgICB2YXIgaXNB
bGxvd2VkID0gYWxsb3dlZEdsb2JhbHMoa2V5KSB8fCBrZXkuY2hhckF0KDApID09PSAnXyc7XG4g
ICAgICBpZiAoIWhhcyAmJiAhaXNBbGxvd2VkKSB7XG4gICAgICAgIHdhcm5Ob25QcmVzZW50KHRh
cmdldCwga2V5KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBoYXMgfHwgIWlzQWxsb3dlZFxuICAg
IH1cbiAgfTtcblxuICB2YXIgZ2V0SGFuZGxlciA9IHtcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCAo
dGFyZ2V0LCBrZXkpIHtcbiAgICAgIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyAmJiAhKGtl
eSBpbiB0YXJnZXQpKSB7XG4gICAgICAgIHdhcm5Ob25QcmVzZW50KHRhcmdldCwga2V5KTtcbiAg
ICAgIH1cbiAgICAgIHJldHVybiB0YXJnZXRba2V5XVxuICAgIH1cbiAgfTtcblxuICBpbml0UHJv
eHkgPSBmdW5jdGlvbiBpbml0UHJveHkgKHZtKSB7XG4gICAgaWYgKGhhc1Byb3h5KSB7XG4gICAg
ICAvLyBkZXRlcm1pbmUgd2hpY2ggcHJveHkgaGFuZGxlciB0byB1c2VcbiAgICAgIHZhciBvcHRp
b25zID0gdm0uJG9wdGlvbnM7XG4gICAgICB2YXIgaGFuZGxlcnMgPSBvcHRpb25zLnJlbmRlciAm
JiBvcHRpb25zLnJlbmRlci5fd2l0aFN0cmlwcGVkXG4gICAgICAgID8gZ2V0SGFuZGxlclxuICAg
ICAgICA6IGhhc0hhbmRsZXI7XG4gICAgICB2bS5fcmVuZGVyUHJveHkgPSBuZXcgUHJveHkodm0s
IGhhbmRsZXJzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdm0uX3JlbmRlclByb3h5ID0gdm07XG4g
ICAgfVxuICB9O1xufVxuXG4vKiAgKi9cblxudmFyIFZOb2RlID0gZnVuY3Rpb24gVk5vZGUgKFxu
ICB0YWcsXG4gIGRhdGEsXG4gIGNoaWxkcmVuLFxuICB0ZXh0LFxuICBlbG0sXG4gIGNvbnRleHQs
XG4gIGNvbXBvbmVudE9wdGlvbnMsXG4gIGFzeW5jRmFjdG9yeVxuKSB7XG4gIHRoaXMudGFnID0g
dGFnO1xuICB0aGlzLmRhdGEgPSBkYXRhO1xuICB0aGlzLmNoaWxkcmVuID0gY2hpbGRyZW47XG4g
IHRoaXMudGV4dCA9IHRleHQ7XG4gIHRoaXMuZWxtID0gZWxtO1xuICB0aGlzLm5zID0gdW5kZWZp
bmVkO1xuICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICB0aGlzLmZ1bmN0aW9uYWxDb250ZXh0
ID0gdW5kZWZpbmVkO1xuICB0aGlzLmtleSA9IGRhdGEgJiYgZGF0YS5rZXk7XG4gIHRoaXMuY29t
cG9uZW50T3B0aW9ucyA9IGNvbXBvbmVudE9wdGlvbnM7XG4gIHRoaXMuY29tcG9uZW50SW5zdGFu
Y2UgPSB1bmRlZmluZWQ7XG4gIHRoaXMucGFyZW50ID0gdW5kZWZpbmVkO1xuICB0aGlzLnJhdyA9
IGZhbHNlO1xuICB0aGlzLmlzU3RhdGljID0gZmFsc2U7XG4gIHRoaXMuaXNSb290SW5zZXJ0ID0g
dHJ1ZTtcbiAgdGhpcy5pc0NvbW1lbnQgPSBmYWxzZTtcbiAgdGhpcy5pc0Nsb25lZCA9IGZhbHNl
O1xuICB0aGlzLmlzT25jZSA9IGZhbHNlO1xuICB0aGlzLmFzeW5jRmFjdG9yeSA9IGFzeW5jRmFj
dG9yeTtcbiAgdGhpcy5hc3luY01ldGEgPSB1bmRlZmluZWQ7XG4gIHRoaXMuaXNBc3luY1BsYWNl
aG9sZGVyID0gZmFsc2U7XG59O1xuXG52YXIgcHJvdG90eXBlQWNjZXNzb3JzID0geyBjaGlsZDog
e30gfTtcblxuLy8gREVQUkVDQVRFRDogYWxpYXMgZm9yIGNvbXBvbmVudEluc3RhbmNlIGZvciBi
YWNrd2FyZHMgY29tcGF0LlxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbnByb3RvdHlwZUFj
Y2Vzc29ycy5jaGlsZC5nZXQgPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiB0aGlzLmNvbXBvbmVu
dEluc3RhbmNlXG59O1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydGllcyggVk5vZGUucHJvdG90eXBl
LCBwcm90b3R5cGVBY2Nlc3NvcnMgKTtcblxudmFyIGNyZWF0ZUVtcHR5Vk5vZGUgPSBmdW5jdGlv
biAodGV4dCkge1xuICBpZiAoIHRleHQgPT09IHZvaWQgMCApIHRleHQgPSAnJztcblxuICB2YXIg
bm9kZSA9IG5ldyBWTm9kZSgpO1xuICBub2RlLnRleHQgPSB0ZXh0O1xuICBub2RlLmlzQ29tbWVu
dCA9IHRydWU7XG4gIHJldHVybiBub2RlXG59O1xuXG5mdW5jdGlvbiBjcmVhdGVUZXh0Vk5vZGUg
KHZhbCkge1xuICByZXR1cm4gbmV3IFZOb2RlKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmlu
ZWQsIFN0cmluZyh2YWwpKVxufVxuXG4vLyBvcHRpbWl6ZWQgc2hhbGxvdyBjbG9uZVxuLy8gdXNl
ZCBmb3Igc3RhdGljIG5vZGVzIGFuZCBzbG90IG5vZGVzIGJlY2F1c2UgdGhleSBtYXkgYmUgcmV1
c2VkIGFjcm9zc1xuLy8gbXVsdGlwbGUgcmVuZGVycywgY2xvbmluZyB0aGVtIGF2b2lkcyBlcnJv
cnMgd2hlbiBET00gbWFuaXB1bGF0aW9ucyByZWx5XG4vLyBvbiB0aGVpciBlbG0gcmVmZXJlbmNl
LlxuZnVuY3Rpb24gY2xvbmVWTm9kZSAodm5vZGUpIHtcbiAgdmFyIGNsb25lZCA9IG5ldyBWTm9k
ZShcbiAgICB2bm9kZS50YWcsXG4gICAgdm5vZGUuZGF0YSxcbiAgICB2bm9kZS5jaGlsZHJlbixc
biAgICB2bm9kZS50ZXh0LFxuICAgIHZub2RlLmVsbSxcbiAgICB2bm9kZS5jb250ZXh0LFxuICAg
IHZub2RlLmNvbXBvbmVudE9wdGlvbnMsXG4gICAgdm5vZGUuYXN5bmNGYWN0b3J5XG4gICk7XG4g
IGNsb25lZC5ucyA9IHZub2RlLm5zO1xuICBjbG9uZWQuaXNTdGF0aWMgPSB2bm9kZS5pc1N0YXRp
YztcbiAgY2xvbmVkLmtleSA9IHZub2RlLmtleTtcbiAgY2xvbmVkLmlzQ29tbWVudCA9IHZub2Rl
LmlzQ29tbWVudDtcbiAgY2xvbmVkLmlzQ2xvbmVkID0gdHJ1ZTtcbiAgcmV0dXJuIGNsb25lZFxu
fVxuXG5mdW5jdGlvbiBjbG9uZVZOb2RlcyAodm5vZGVzKSB7XG4gIHZhciBsZW4gPSB2bm9kZXMu
bGVuZ3RoO1xuICB2YXIgcmVzID0gbmV3IEFycmF5KGxlbik7XG4gIGZvciAodmFyIGkgPSAwOyBp
IDwgbGVuOyBpKyspIHtcbiAgICByZXNbaV0gPSBjbG9uZVZOb2RlKHZub2Rlc1tpXSk7XG4gIH1c
biAgcmV0dXJuIHJlc1xufVxuXG4vKiAgKi9cblxudmFyIG5vcm1hbGl6ZUV2ZW50ID0gY2FjaGVk
KGZ1bmN0aW9uIChuYW1lKSB7XG4gIHZhciBwYXNzaXZlID0gbmFtZS5jaGFyQXQoMCkgPT09ICcm
JztcbiAgbmFtZSA9IHBhc3NpdmUgPyBuYW1lLnNsaWNlKDEpIDogbmFtZTtcbiAgdmFyIG9uY2Uk
JDEgPSBuYW1lLmNoYXJBdCgwKSA9PT0gJ34nOyAvLyBQcmVmaXhlZCBsYXN0LCBjaGVja2VkIGZp
cnN0XG4gIG5hbWUgPSBvbmNlJCQxID8gbmFtZS5zbGljZSgxKSA6IG5hbWU7XG4gIHZhciBjYXB0
dXJlID0gbmFtZS5jaGFyQXQoMCkgPT09ICchJztcbiAgbmFtZSA9IGNhcHR1cmUgPyBuYW1lLnNs
aWNlKDEpIDogbmFtZTtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBuYW1lLFxuICAgIG9uY2U6IG9u
Y2UkJDEsXG4gICAgY2FwdHVyZTogY2FwdHVyZSxcbiAgICBwYXNzaXZlOiBwYXNzaXZlXG4gIH1c
bn0pO1xuXG5mdW5jdGlvbiBjcmVhdGVGbkludm9rZXIgKGZucykge1xuICBmdW5jdGlvbiBpbnZv
a2VyICgpIHtcbiAgICB2YXIgYXJndW1lbnRzJDEgPSBhcmd1bWVudHM7XG5cbiAgICB2YXIgZm5z
ID0gaW52b2tlci5mbnM7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZm5zKSkge1xuICAgICAgdmFy
IGNsb25lZCA9IGZucy5zbGljZSgpO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjbG9uZWQu
bGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY2xvbmVkW2ldLmFwcGx5KG51bGwsIGFyZ3VtZW50cyQx
KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gcmV0dXJuIGhhbmRsZXIgcmV0dXJu
IHZhbHVlIGZvciBzaW5nbGUgaGFuZGxlcnNcbiAgICAgIHJldHVybiBmbnMuYXBwbHkobnVsbCwg
YXJndW1lbnRzKVxuICAgIH1cbiAgfVxuICBpbnZva2VyLmZucyA9IGZucztcbiAgcmV0dXJuIGlu
dm9rZXJcbn1cblxuZnVuY3Rpb24gdXBkYXRlTGlzdGVuZXJzIChcbiAgb24sXG4gIG9sZE9uLFxu
ICBhZGQsXG4gIHJlbW92ZSQkMSxcbiAgdm1cbikge1xuICB2YXIgbmFtZSwgY3VyLCBvbGQsIGV2
ZW50O1xuICBmb3IgKG5hbWUgaW4gb24pIHtcbiAgICBjdXIgPSBvbltuYW1lXTtcbiAgICBvbGQg
PSBvbGRPbltuYW1lXTtcbiAgICBldmVudCA9IG5vcm1hbGl6ZUV2ZW50KG5hbWUpO1xuICAgIGlm
IChpc1VuZGVmKGN1cikpIHtcbiAgICAgIFwicHJvZHVjdGlvblwiICE9PSAncHJvZHVjdGlvbicg
JiYgd2FybihcbiAgICAgICAgXCJJbnZhbGlkIGhhbmRsZXIgZm9yIGV2ZW50IFxcXCJcIiArIChl
dmVudC5uYW1lKSArIFwiXFxcIjogZ290IFwiICsgU3RyaW5nKGN1ciksXG4gICAgICAgIHZtXG4g
ICAgICApO1xuICAgIH0gZWxzZSBpZiAoaXNVbmRlZihvbGQpKSB7XG4gICAgICBpZiAoaXNVbmRl
ZihjdXIuZm5zKSkge1xuICAgICAgICBjdXIgPSBvbltuYW1lXSA9IGNyZWF0ZUZuSW52b2tlcihj
dXIpO1xuICAgICAgfVxuICAgICAgYWRkKGV2ZW50Lm5hbWUsIGN1ciwgZXZlbnQub25jZSwgZXZl
bnQuY2FwdHVyZSwgZXZlbnQucGFzc2l2ZSk7XG4gICAgfSBlbHNlIGlmIChjdXIgIT09IG9sZCkg
e1xuICAgICAgb2xkLmZucyA9IGN1cjtcbiAgICAgIG9uW25hbWVdID0gb2xkO1xuICAgIH1cbiAg
fVxuICBmb3IgKG5hbWUgaW4gb2xkT24pIHtcbiAgICBpZiAoaXNVbmRlZihvbltuYW1lXSkpIHtc
biAgICAgIGV2ZW50ID0gbm9ybWFsaXplRXZlbnQobmFtZSk7XG4gICAgICByZW1vdmUkJDEoZXZl
bnQubmFtZSwgb2xkT25bbmFtZV0sIGV2ZW50LmNhcHR1cmUpO1xuICAgIH1cbiAgfVxufVxuXG4v
KiAgKi9cblxuZnVuY3Rpb24gbWVyZ2VWTm9kZUhvb2sgKGRlZiwgaG9va0tleSwgaG9vaykge1xu
ICB2YXIgaW52b2tlcjtcbiAgdmFyIG9sZEhvb2sgPSBkZWZbaG9va0tleV07XG5cbiAgZnVuY3Rp
b24gd3JhcHBlZEhvb2sgKCkge1xuICAgIGhvb2suYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAg
ICAvLyBpbXBvcnRhbnQ6IHJlbW92ZSBtZXJnZWQgaG9vayB0byBlbnN1cmUgaXQncyBjYWxsZWQg
b25seSBvbmNlXG4gICAgLy8gYW5kIHByZXZlbnQgbWVtb3J5IGxlYWtcbiAgICByZW1vdmUoaW52
b2tlci5mbnMsIHdyYXBwZWRIb29rKTtcbiAgfVxuXG4gIGlmIChpc1VuZGVmKG9sZEhvb2spKSB7
XG4gICAgLy8gbm8gZXhpc3RpbmcgaG9va1xuICAgIGludm9rZXIgPSBjcmVhdGVGbkludm9rZXIo
W3dyYXBwZWRIb29rXSk7XG4gIH0gZWxzZSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICov
XG4gICAgaWYgKGlzRGVmKG9sZEhvb2suZm5zKSAmJiBpc1RydWUob2xkSG9vay5tZXJnZWQpKSB7
XG4gICAgICAvLyBhbHJlYWR5IGEgbWVyZ2VkIGludm9rZXJcbiAgICAgIGludm9rZXIgPSBvbGRI
b29rO1xuICAgICAgaW52b2tlci5mbnMucHVzaCh3cmFwcGVkSG9vayk7XG4gICAgfSBlbHNlIHtc
biAgICAgIC8vIGV4aXN0aW5nIHBsYWluIGhvb2tcbiAgICAgIGludm9rZXIgPSBjcmVhdGVGbklu
dm9rZXIoW29sZEhvb2ssIHdyYXBwZWRIb29rXSk7XG4gICAgfVxuICB9XG5cbiAgaW52b2tlci5t
ZXJnZWQgPSB0cnVlO1xuICBkZWZbaG9va0tleV0gPSBpbnZva2VyO1xufVxuXG4vKiAgKi9cblxu
ZnVuY3Rpb24gZXh0cmFjdFByb3BzRnJvbVZOb2RlRGF0YSAoXG4gIGRhdGEsXG4gIEN0b3IsXG4g
IHRhZ1xuKSB7XG4gIC8vIHdlIGFyZSBvbmx5IGV4dHJhY3RpbmcgcmF3IHZhbHVlcyBoZXJlLlxu
ICAvLyB2YWxpZGF0aW9uIGFuZCBkZWZhdWx0IHZhbHVlcyBhcmUgaGFuZGxlZCBpbiB0aGUgY2hp
bGRcbiAgLy8gY29tcG9uZW50IGl0c2VsZi5cbiAgdmFyIHByb3BPcHRpb25zID0gQ3Rvci5vcHRp
b25zLnByb3BzO1xuICBpZiAoaXNVbmRlZihwcm9wT3B0aW9ucykpIHtcbiAgICByZXR1cm5cbiAg
fVxuICB2YXIgcmVzID0ge307XG4gIHZhciBhdHRycyA9IGRhdGEuYXR0cnM7XG4gIHZhciBwcm9w
cyA9IGRhdGEucHJvcHM7XG4gIGlmIChpc0RlZihhdHRycykgfHwgaXNEZWYocHJvcHMpKSB7XG4g
ICAgZm9yICh2YXIga2V5IGluIHByb3BPcHRpb25zKSB7XG4gICAgICB2YXIgYWx0S2V5ID0gaHlw
aGVuYXRlKGtleSk7XG4gICAgICBpZiAoZmFsc2UpIHtcbiAgICAgICAgdmFyIGtleUluTG93ZXJD
YXNlID0ga2V5LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBrZXkgIT09
IGtleUluTG93ZXJDYXNlICYmXG4gICAgICAgICAgYXR0cnMgJiYgaGFzT3duKGF0dHJzLCBrZXlJ
bkxvd2VyQ2FzZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGlwKFxuICAgICAgICAgICAgXCJQ
cm9wIFxcXCJcIiArIGtleUluTG93ZXJDYXNlICsgXCJcXFwiIGlzIHBhc3NlZCB0byBjb21wb25l
bnQgXCIgK1xuICAgICAgICAgICAgKGZvcm1hdENvbXBvbmVudE5hbWUodGFnIHx8IEN0b3IpKSAr
IFwiLCBidXQgdGhlIGRlY2xhcmVkIHByb3AgbmFtZSBpc1wiICtcbiAgICAgICAgICAgIFwiIFxc
XCJcIiArIGtleSArIFwiXFxcIi4gXCIgK1xuICAgICAgICAgICAgXCJOb3RlIHRoYXQgSFRNTCBh
dHRyaWJ1dGVzIGFyZSBjYXNlLWluc2Vuc2l0aXZlIGFuZCBjYW1lbENhc2VkIFwiICtcbiAgICAg
ICAgICAgIFwicHJvcHMgbmVlZCB0byB1c2UgdGhlaXIga2ViYWItY2FzZSBlcXVpdmFsZW50cyB3
aGVuIHVzaW5nIGluLURPTSBcIiArXG4gICAgICAgICAgICBcInRlbXBsYXRlcy4gWW91IHNob3Vs
ZCBwcm9iYWJseSB1c2UgXFxcIlwiICsgYWx0S2V5ICsgXCJcXFwiIGluc3RlYWQgb2YgXFxcIlwi
ICsga2V5ICsgXCJcXFwiLlwiXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAg
ICAgY2hlY2tQcm9wKHJlcywgcHJvcHMsIGtleSwgYWx0S2V5LCB0cnVlKSB8fFxuICAgICAgY2hl
Y2tQcm9wKHJlcywgYXR0cnMsIGtleSwgYWx0S2V5LCBmYWxzZSk7XG4gICAgfVxuICB9XG4gIHJl
dHVybiByZXNcbn1cblxuZnVuY3Rpb24gY2hlY2tQcm9wIChcbiAgcmVzLFxuICBoYXNoLFxuICBr
ZXksXG4gIGFsdEtleSxcbiAgcHJlc2VydmVcbikge1xuICBpZiAoaXNEZWYoaGFzaCkpIHtcbiAg
ICBpZiAoaGFzT3duKGhhc2gsIGtleSkpIHtcbiAgICAgIHJlc1trZXldID0gaGFzaFtrZXldO1xu
ICAgICAgaWYgKCFwcmVzZXJ2ZSkge1xuICAgICAgICBkZWxldGUgaGFzaFtrZXldO1xuICAgICAg
fVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGVsc2UgaWYgKGhhc093bihoYXNoLCBhbHRLZXkp
KSB7XG4gICAgICByZXNba2V5XSA9IGhhc2hbYWx0S2V5XTtcbiAgICAgIGlmICghcHJlc2VydmUp
IHtcbiAgICAgICAgZGVsZXRlIGhhc2hbYWx0S2V5XTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0
cnVlXG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG4vKiAgKi9cblxuLy8gVGhlIHRl
bXBsYXRlIGNvbXBpbGVyIGF0dGVtcHRzIHRvIG1pbmltaXplIHRoZSBuZWVkIGZvciBub3JtYWxp
emF0aW9uIGJ5XG4vLyBzdGF0aWNhbGx5IGFuYWx5emluZyB0aGUgdGVtcGxhdGUgYXQgY29tcGls
ZSB0aW1lLlxuLy9cbi8vIEZvciBwbGFpbiBIVE1MIG1hcmt1cCwgbm9ybWFsaXphdGlvbiBjYW4g
YmUgY29tcGxldGVseSBza2lwcGVkIGJlY2F1c2UgdGhlXG4vLyBnZW5lcmF0ZWQgcmVuZGVyIGZ1
bmN0aW9uIGlzIGd1YXJhbnRlZWQgdG8gcmV0dXJuIEFycmF5PFZOb2RlPi4gVGhlcmUgYXJlXG4v
LyB0d28gY2FzZXMgd2hlcmUgZXh0cmEgbm9ybWFsaXphdGlvbiBpcyBuZWVkZWQ6XG5cbi8vIDEu
IFdoZW4gdGhlIGNoaWxkcmVuIGNvbnRhaW5zIGNvbXBvbmVudHMgLSBiZWNhdXNlIGEgZnVuY3Rp
b25hbCBjb21wb25lbnRcbi8vIG1heSByZXR1cm4gYW4gQXJyYXkgaW5zdGVhZCBvZiBhIHNpbmds
ZSByb290LiBJbiB0aGlzIGNhc2UsIGp1c3QgYSBzaW1wbGVcbi8vIG5vcm1hbGl6YXRpb24gaXMg
bmVlZGVkIC0gaWYgYW55IGNoaWxkIGlzIGFuIEFycmF5LCB3ZSBmbGF0dGVuIHRoZSB3aG9sZVxu
Ly8gdGhpbmcgd2l0aCBBcnJheS5wcm90b3R5cGUuY29uY2F0LiBJdCBpcyBndWFyYW50ZWVkIHRv
IGJlIG9ubHkgMS1sZXZlbCBkZWVwXG4vLyBiZWNhdXNlIGZ1bmN0aW9uYWwgY29tcG9uZW50cyBh
bHJlYWR5IG5vcm1hbGl6ZSB0aGVpciBvd24gY2hpbGRyZW4uXG5mdW5jdGlvbiBzaW1wbGVOb3Jt
YWxpemVDaGlsZHJlbiAoY2hpbGRyZW4pIHtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJl
bi5sZW5ndGg7IGkrKykge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuW2ldKSkge1xu
ICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sIGNoaWxkcmVuKVxu
ICAgIH1cbiAgfVxuICByZXR1cm4gY2hpbGRyZW5cbn1cblxuLy8gMi4gV2hlbiB0aGUgY2hpbGRy
ZW4gY29udGFpbnMgY29uc3RydWN0cyB0aGF0IGFsd2F5cyBnZW5lcmF0ZWQgbmVzdGVkIEFycmF5
cyxcbi8vIGUuZy4gPHRlbXBsYXRlPiwgPHNsb3Q+LCB2LWZvciwgb3Igd2hlbiB0aGUgY2hpbGRy
ZW4gaXMgcHJvdmlkZWQgYnkgdXNlclxuLy8gd2l0aCBoYW5kLXdyaXR0ZW4gcmVuZGVyIGZ1bmN0
aW9ucyAvIEpTWC4gSW4gc3VjaCBjYXNlcyBhIGZ1bGwgbm9ybWFsaXphdGlvblxuLy8gaXMgbmVl
ZGVkIHRvIGNhdGVyIHRvIGFsbCBwb3NzaWJsZSB0eXBlcyBvZiBjaGlsZHJlbiB2YWx1ZXMuXG5m
dW5jdGlvbiBub3JtYWxpemVDaGlsZHJlbiAoY2hpbGRyZW4pIHtcbiAgcmV0dXJuIGlzUHJpbWl0
aXZlKGNoaWxkcmVuKVxuICAgID8gW2NyZWF0ZVRleHRWTm9kZShjaGlsZHJlbildXG4gICAgOiBB
cnJheS5pc0FycmF5KGNoaWxkcmVuKVxuICAgICAgPyBub3JtYWxpemVBcnJheUNoaWxkcmVuKGNo
aWxkcmVuKVxuICAgICAgOiB1bmRlZmluZWRcbn1cblxuZnVuY3Rpb24gaXNUZXh0Tm9kZSAobm9k
ZSkge1xuICByZXR1cm4gaXNEZWYobm9kZSkgJiYgaXNEZWYobm9kZS50ZXh0KSAmJiBpc0ZhbHNl
KG5vZGUuaXNDb21tZW50KVxufVxuXG5mdW5jdGlvbiBub3JtYWxpemVBcnJheUNoaWxkcmVuIChj
aGlsZHJlbiwgbmVzdGVkSW5kZXgpIHtcbiAgdmFyIHJlcyA9IFtdO1xuICB2YXIgaSwgYywgbGFz
dDtcbiAgZm9yIChpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgYyA9IGNo
aWxkcmVuW2ldO1xuICAgIGlmIChpc1VuZGVmKGMpIHx8IHR5cGVvZiBjID09PSAnYm9vbGVhbicp
IHsgY29udGludWUgfVxuICAgIGxhc3QgPSByZXNbcmVzLmxlbmd0aCAtIDFdO1xuICAgIC8vICBu
ZXN0ZWRcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjKSkge1xuICAgICAgcmVzLnB1c2guYXBwbHko
cmVzLCBub3JtYWxpemVBcnJheUNoaWxkcmVuKGMsICgobmVzdGVkSW5kZXggfHwgJycpICsgXCJf
XCIgKyBpKSkpO1xuICAgIH0gZWxzZSBpZiAoaXNQcmltaXRpdmUoYykpIHtcbiAgICAgIGlmIChp
c1RleHROb2RlKGxhc3QpKSB7XG4gICAgICAgIC8vIG1lcmdlIGFkamFjZW50IHRleHQgbm9kZXNc
biAgICAgICAgLy8gdGhpcyBpcyBuZWNlc3NhcnkgZm9yIFNTUiBoeWRyYXRpb24gYmVjYXVzZSB0
ZXh0IG5vZGVzIGFyZVxuICAgICAgICAvLyBlc3NlbnRpYWxseSBtZXJnZWQgd2hlbiByZW5kZXJl
ZCB0byBIVE1MIHN0cmluZ3NcbiAgICAgICAgKGxhc3QpLnRleHQgKz0gU3RyaW5nKGMpO1xuICAg
ICAgfSBlbHNlIGlmIChjICE9PSAnJykge1xuICAgICAgICAvLyBjb252ZXJ0IHByaW1pdGl2ZSB0
byB2bm9kZVxuICAgICAgICByZXMucHVzaChjcmVhdGVUZXh0Vk5vZGUoYykpO1xuICAgICAgfVxu
ICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaXNUZXh0Tm9kZShjKSAmJiBpc1RleHROb2RlKGxhc3Qp
KSB7XG4gICAgICAgIC8vIG1lcmdlIGFkamFjZW50IHRleHQgbm9kZXNcbiAgICAgICAgcmVzW3Jl
cy5sZW5ndGggLSAxXSA9IGNyZWF0ZVRleHRWTm9kZShsYXN0LnRleHQgKyBjLnRleHQpO1xuICAg
ICAgfSBlbHNlIHtcbiAgICAgICAgLy8gZGVmYXVsdCBrZXkgZm9yIG5lc3RlZCBhcnJheSBjaGls
ZHJlbiAobGlrZWx5IGdlbmVyYXRlZCBieSB2LWZvcilcbiAgICAgICAgaWYgKGlzVHJ1ZShjaGls
ZHJlbi5faXNWTGlzdCkgJiZcbiAgICAgICAgICBpc0RlZihjLnRhZykgJiZcbiAgICAgICAgICBp
c1VuZGVmKGMua2V5KSAmJlxuICAgICAgICAgIGlzRGVmKG5lc3RlZEluZGV4KSkge1xuICAgICAg
ICAgIGMua2V5ID0gXCJfX3ZsaXN0XCIgKyBuZXN0ZWRJbmRleCArIFwiX1wiICsgaSArIFwiX19c
IjtcbiAgICAgICAgfVxuICAgICAgICByZXMucHVzaChjKTtcbiAgICAgIH1cbiAgICB9XG4gIH1c
biAgcmV0dXJuIHJlc1xufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gZW5zdXJlQ3RvciAoY29tcCwg
YmFzZSkge1xuICBpZiAoY29tcC5fX2VzTW9kdWxlICYmIGNvbXAuZGVmYXVsdCkge1xuICAgIGNv
bXAgPSBjb21wLmRlZmF1bHQ7XG4gIH1cbiAgcmV0dXJuIGlzT2JqZWN0KGNvbXApXG4gICAgPyBi
YXNlLmV4dGVuZChjb21wKVxuICAgIDogY29tcFxufVxuXG5mdW5jdGlvbiBjcmVhdGVBc3luY1Bs
YWNlaG9sZGVyIChcbiAgZmFjdG9yeSxcbiAgZGF0YSxcbiAgY29udGV4dCxcbiAgY2hpbGRyZW4s
XG4gIHRhZ1xuKSB7XG4gIHZhciBub2RlID0gY3JlYXRlRW1wdHlWTm9kZSgpO1xuICBub2RlLmFz
eW5jRmFjdG9yeSA9IGZhY3Rvcnk7XG4gIG5vZGUuYXN5bmNNZXRhID0geyBkYXRhOiBkYXRhLCBj
b250ZXh0OiBjb250ZXh0LCBjaGlsZHJlbjogY2hpbGRyZW4sIHRhZzogdGFnIH07XG4gIHJldHVy
biBub2RlXG59XG5cbmZ1bmN0aW9uIHJlc29sdmVBc3luY0NvbXBvbmVudCAoXG4gIGZhY3Rvcnks
XG4gIGJhc2VDdG9yLFxuICBjb250ZXh0XG4pIHtcbiAgaWYgKGlzVHJ1ZShmYWN0b3J5LmVycm9y
KSAmJiBpc0RlZihmYWN0b3J5LmVycm9yQ29tcCkpIHtcbiAgICByZXR1cm4gZmFjdG9yeS5lcnJv
ckNvbXBcbiAgfVxuXG4gIGlmIChpc0RlZihmYWN0b3J5LnJlc29sdmVkKSkge1xuICAgIHJldHVy
biBmYWN0b3J5LnJlc29sdmVkXG4gIH1cblxuICBpZiAoaXNUcnVlKGZhY3RvcnkubG9hZGluZykg
JiYgaXNEZWYoZmFjdG9yeS5sb2FkaW5nQ29tcCkpIHtcbiAgICByZXR1cm4gZmFjdG9yeS5sb2Fk
aW5nQ29tcFxuICB9XG5cbiAgaWYgKGlzRGVmKGZhY3RvcnkuY29udGV4dHMpKSB7XG4gICAgLy8g
YWxyZWFkeSBwZW5kaW5nXG4gICAgZmFjdG9yeS5jb250ZXh0cy5wdXNoKGNvbnRleHQpO1xuICB9
IGVsc2Uge1xuICAgIHZhciBjb250ZXh0cyA9IGZhY3RvcnkuY29udGV4dHMgPSBbY29udGV4dF07
XG4gICAgdmFyIHN5bmMgPSB0cnVlO1xuXG4gICAgdmFyIGZvcmNlUmVuZGVyID0gZnVuY3Rpb24g
KCkge1xuICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBjb250ZXh0cy5sZW5ndGg7IGkgPCBsOyBp
KyspIHtcbiAgICAgICAgY29udGV4dHNbaV0uJGZvcmNlVXBkYXRlKCk7XG4gICAgICB9XG4gICAg
fTtcblxuICAgIHZhciByZXNvbHZlID0gb25jZShmdW5jdGlvbiAocmVzKSB7XG4gICAgICAvLyBj
YWNoZSByZXNvbHZlZFxuICAgICAgZmFjdG9yeS5yZXNvbHZlZCA9IGVuc3VyZUN0b3IocmVzLCBi
YXNlQ3Rvcik7XG4gICAgICAvLyBpbnZva2UgY2FsbGJhY2tzIG9ubHkgaWYgdGhpcyBpcyBub3Qg
YSBzeW5jaHJvbm91cyByZXNvbHZlXG4gICAgICAvLyAoYXN5bmMgcmVzb2x2ZXMgYXJlIHNoaW1t
ZWQgYXMgc3luY2hyb25vdXMgZHVyaW5nIFNTUilcbiAgICAgIGlmICghc3luYykge1xuICAgICAg
ICBmb3JjZVJlbmRlcigpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdmFyIHJlamVjdCA9IG9u
Y2UoZnVuY3Rpb24gKHJlYXNvbikge1xuICAgICAgXCJwcm9kdWN0aW9uXCIgIT09ICdwcm9kdWN0
aW9uJyAmJiB3YXJuKFxuICAgICAgICBcIkZhaWxlZCB0byByZXNvbHZlIGFzeW5jIGNvbXBvbmVu
dDogXCIgKyAoU3RyaW5nKGZhY3RvcnkpKSArXG4gICAgICAgIChyZWFzb24gPyAoXCJcXG5SZWFz
b246IFwiICsgcmVhc29uKSA6ICcnKVxuICAgICAgKTtcbiAgICAgIGlmIChpc0RlZihmYWN0b3J5
LmVycm9yQ29tcCkpIHtcbiAgICAgICAgZmFjdG9yeS5lcnJvciA9IHRydWU7XG4gICAgICAgIGZv
cmNlUmVuZGVyKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB2YXIgcmVzID0gZmFjdG9yeShy
ZXNvbHZlLCByZWplY3QpO1xuXG4gICAgaWYgKGlzT2JqZWN0KHJlcykpIHtcbiAgICAgIGlmICh0
eXBlb2YgcmVzLnRoZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gKCkgPT4gUHJvbWlz
ZVxuICAgICAgICBpZiAoaXNVbmRlZihmYWN0b3J5LnJlc29sdmVkKSkge1xuICAgICAgICAgIHJl
cy50aGVuKHJlc29sdmUsIHJlamVjdCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaXNE
ZWYocmVzLmNvbXBvbmVudCkgJiYgdHlwZW9mIHJlcy5jb21wb25lbnQudGhlbiA9PT0gJ2Z1bmN0
aW9uJykge1xuICAgICAgICByZXMuY29tcG9uZW50LnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTtcblxu
ICAgICAgICBpZiAoaXNEZWYocmVzLmVycm9yKSkge1xuICAgICAgICAgIGZhY3RvcnkuZXJyb3JD
b21wID0gZW5zdXJlQ3RvcihyZXMuZXJyb3IsIGJhc2VDdG9yKTtcbiAgICAgICAgfVxuXG4gICAg
ICAgIGlmIChpc0RlZihyZXMubG9hZGluZykpIHtcbiAgICAgICAgICBmYWN0b3J5LmxvYWRpbmdD
b21wID0gZW5zdXJlQ3RvcihyZXMubG9hZGluZywgYmFzZUN0b3IpO1xuICAgICAgICAgIGlmIChy
ZXMuZGVsYXkgPT09IDApIHtcbiAgICAgICAgICAgIGZhY3RvcnkubG9hZGluZyA9IHRydWU7XG4g
ICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xu
ICAgICAgICAgICAgICBpZiAoaXNVbmRlZihmYWN0b3J5LnJlc29sdmVkKSAmJiBpc1VuZGVmKGZh
Y3RvcnkuZXJyb3IpKSB7XG4gICAgICAgICAgICAgICAgZmFjdG9yeS5sb2FkaW5nID0gdHJ1ZTtc
biAgICAgICAgICAgICAgICBmb3JjZVJlbmRlcigpO1xuICAgICAgICAgICAgICB9XG4gICAgICAg
ICAgICB9LCByZXMuZGVsYXkgfHwgMjAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAg
ICAgICBpZiAoaXNEZWYocmVzLnRpbWVvdXQpKSB7XG4gICAgICAgICAgc2V0VGltZW91dChmdW5j
dGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoaXNVbmRlZihmYWN0b3J5LnJlc29sdmVkKSkge1xu
ICAgICAgICAgICAgICByZWplY3QoXG4gICAgICAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICAg
ICAgICAgICA/IChcInRpbWVvdXQgKFwiICsgKHJlcy50aW1lb3V0KSArIFwibXMpXCIpXG4gICAg
ICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAg
ICAgICAgICB9LCByZXMudGltZW91dCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAg
ICBzeW5jID0gZmFsc2U7XG4gICAgLy8gcmV0dXJuIGluIGNhc2UgcmVzb2x2ZWQgc3luY2hyb25v
dXNseVxuICAgIHJldHVybiBmYWN0b3J5LmxvYWRpbmdcbiAgICAgID8gZmFjdG9yeS5sb2FkaW5n
Q29tcFxuICAgICAgOiBmYWN0b3J5LnJlc29sdmVkXG4gIH1cbn1cblxuLyogICovXG5cbmZ1bmN0
aW9uIGdldEZpcnN0Q29tcG9uZW50Q2hpbGQgKGNoaWxkcmVuKSB7XG4gIGlmIChBcnJheS5pc0Fy
cmF5KGNoaWxkcmVuKSkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3Ro
OyBpKyspIHtcbiAgICAgIHZhciBjID0gY2hpbGRyZW5baV07XG4gICAgICBpZiAoaXNEZWYoYykg
JiYgaXNEZWYoYy5jb21wb25lbnRPcHRpb25zKSkge1xuICAgICAgICByZXR1cm4gY1xuICAgICAg
fVxuICAgIH1cbiAgfVxufVxuXG4vKiAgKi9cblxuLyogICovXG5cbmZ1bmN0aW9uIGluaXRFdmVu
dHMgKHZtKSB7XG4gIHZtLl9ldmVudHMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICB2bS5faGFz
SG9va0V2ZW50ID0gZmFsc2U7XG4gIC8vIGluaXQgcGFyZW50IGF0dGFjaGVkIGV2ZW50c1xuICB2
YXIgbGlzdGVuZXJzID0gdm0uJG9wdGlvbnMuX3BhcmVudExpc3RlbmVycztcbiAgaWYgKGxpc3Rl
bmVycykge1xuICAgIHVwZGF0ZUNvbXBvbmVudExpc3RlbmVycyh2bSwgbGlzdGVuZXJzKTtcbiAg
fVxufVxuXG52YXIgdGFyZ2V0O1xuXG5mdW5jdGlvbiBhZGQgKGV2ZW50LCBmbiwgb25jZSQkMSkg
e1xuICBpZiAob25jZSQkMSkge1xuICAgIHRhcmdldC4kb25jZShldmVudCwgZm4pO1xuICB9IGVs
c2Uge1xuICAgIHRhcmdldC4kb24oZXZlbnQsIGZuKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZW1v
dmUkMSAoZXZlbnQsIGZuKSB7XG4gIHRhcmdldC4kb2ZmKGV2ZW50LCBmbik7XG59XG5cbmZ1bmN0
aW9uIHVwZGF0ZUNvbXBvbmVudExpc3RlbmVycyAoXG4gIHZtLFxuICBsaXN0ZW5lcnMsXG4gIG9s
ZExpc3RlbmVyc1xuKSB7XG4gIHRhcmdldCA9IHZtO1xuICB1cGRhdGVMaXN0ZW5lcnMobGlzdGVu
ZXJzLCBvbGRMaXN0ZW5lcnMgfHwge30sIGFkZCwgcmVtb3ZlJDEsIHZtKTtcbn1cblxuZnVuY3Rp
b24gZXZlbnRzTWl4aW4gKFZ1ZSkge1xuICB2YXIgaG9va1JFID0gL15ob29rOi87XG4gIFZ1ZS5w
cm90b3R5cGUuJG9uID0gZnVuY3Rpb24gKGV2ZW50LCBmbikge1xuICAgIHZhciB0aGlzJDEgPSB0
aGlzO1xuXG4gICAgdmFyIHZtID0gdGhpcztcbiAgICBpZiAoQXJyYXkuaXNBcnJheShldmVudCkp
IHtcbiAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gZXZlbnQubGVuZ3RoOyBpIDwgbDsgaSsrKSB7
XG4gICAgICAgIHRoaXMkMS4kb24oZXZlbnRbaV0sIGZuKTtcbiAgICAgIH1cbiAgICB9IGVsc2Ug
e1xuICAgICAgKHZtLl9ldmVudHNbZXZlbnRdIHx8ICh2bS5fZXZlbnRzW2V2ZW50XSA9IFtdKSku
cHVzaChmbik7XG4gICAgICAvLyBvcHRpbWl6ZSBob29rOmV2ZW50IGNvc3QgYnkgdXNpbmcgYSBi
b29sZWFuIGZsYWcgbWFya2VkIGF0IHJlZ2lzdHJhdGlvblxuICAgICAgLy8gaW5zdGVhZCBvZiBh
IGhhc2ggbG9va3VwXG4gICAgICBpZiAoaG9va1JFLnRlc3QoZXZlbnQpKSB7XG4gICAgICAgIHZt
Ll9oYXNIb29rRXZlbnQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdm1cbiAg
fTtcblxuICBWdWUucHJvdG90eXBlLiRvbmNlID0gZnVuY3Rpb24gKGV2ZW50LCBmbikge1xuICAg
IHZhciB2bSA9IHRoaXM7XG4gICAgZnVuY3Rpb24gb24gKCkge1xuICAgICAgdm0uJG9mZihldmVu
dCwgb24pO1xuICAgICAgZm4uYXBwbHkodm0sIGFyZ3VtZW50cyk7XG4gICAgfVxuICAgIG9uLmZu
ID0gZm47XG4gICAgdm0uJG9uKGV2ZW50LCBvbik7XG4gICAgcmV0dXJuIHZtXG4gIH07XG5cbiAg
VnVlLnByb3RvdHlwZS4kb2ZmID0gZnVuY3Rpb24gKGV2ZW50LCBmbikge1xuICAgIHZhciB0aGlz
JDEgPSB0aGlzO1xuXG4gICAgdmFyIHZtID0gdGhpcztcbiAgICAvLyBhbGxcbiAgICBpZiAoIWFy
Z3VtZW50cy5sZW5ndGgpIHtcbiAgICAgIHZtLl9ldmVudHMgPSBPYmplY3QuY3JlYXRlKG51bGwp
O1xuICAgICAgcmV0dXJuIHZtXG4gICAgfVxuICAgIC8vIGFycmF5IG9mIGV2ZW50c1xuICAgIGlm
IChBcnJheS5pc0FycmF5KGV2ZW50KSkge1xuICAgICAgZm9yICh2YXIgaSQxID0gMCwgbCA9IGV2
ZW50Lmxlbmd0aDsgaSQxIDwgbDsgaSQxKyspIHtcbiAgICAgICAgdGhpcyQxLiRvZmYoZXZlbnRb
aSQxXSwgZm4pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZtXG4gICAgfVxuICAgIC8vIHNwZWNp
ZmljIGV2ZW50XG4gICAgdmFyIGNicyA9IHZtLl9ldmVudHNbZXZlbnRdO1xuICAgIGlmICghY2Jz
KSB7XG4gICAgICByZXR1cm4gdm1cbiAgICB9XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09
IDEpIHtcbiAgICAgIHZtLl9ldmVudHNbZXZlbnRdID0gbnVsbDtcbiAgICAgIHJldHVybiB2bVxu
ICAgIH1cbiAgICAvLyBzcGVjaWZpYyBoYW5kbGVyXG4gICAgdmFyIGNiO1xuICAgIHZhciBpID0g
Y2JzLmxlbmd0aDtcbiAgICB3aGlsZSAoaS0tKSB7XG4gICAgICBjYiA9IGNic1tpXTtcbiAgICAg
IGlmIChjYiA9PT0gZm4gfHwgY2IuZm4gPT09IGZuKSB7XG4gICAgICAgIGNicy5zcGxpY2UoaSwg
MSk7XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB2bVxuICB9O1xu
XG4gIFZ1ZS5wcm90b3R5cGUuJGVtaXQgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICB2YXIgdm0g
PSB0aGlzO1xuICAgIGlmIChmYWxzZSkge1xuICAgICAgdmFyIGxvd2VyQ2FzZUV2ZW50ID0gZXZl
bnQudG9Mb3dlckNhc2UoKTtcbiAgICAgIGlmIChsb3dlckNhc2VFdmVudCAhPT0gZXZlbnQgJiYg
dm0uX2V2ZW50c1tsb3dlckNhc2VFdmVudF0pIHtcbiAgICAgICAgdGlwKFxuICAgICAgICAgIFwi
RXZlbnQgXFxcIlwiICsgbG93ZXJDYXNlRXZlbnQgKyBcIlxcXCIgaXMgZW1pdHRlZCBpbiBjb21w
b25lbnQgXCIgK1xuICAgICAgICAgIChmb3JtYXRDb21wb25lbnROYW1lKHZtKSkgKyBcIiBidXQg
dGhlIGhhbmRsZXIgaXMgcmVnaXN0ZXJlZCBmb3IgXFxcIlwiICsgZXZlbnQgKyBcIlxcXCIuIFwi
ICtcbiAgICAgICAgICBcIk5vdGUgdGhhdCBIVE1MIGF0dHJpYnV0ZXMgYXJlIGNhc2UtaW5zZW5z
aXRpdmUgYW5kIHlvdSBjYW5ub3QgdXNlIFwiICtcbiAgICAgICAgICBcInYtb24gdG8gbGlzdGVu
IHRvIGNhbWVsQ2FzZSBldmVudHMgd2hlbiB1c2luZyBpbi1ET00gdGVtcGxhdGVzLiBcIiArXG4g
ICAgICAgICAgXCJZb3Ugc2hvdWxkIHByb2JhYmx5IHVzZSBcXFwiXCIgKyAoaHlwaGVuYXRlKGV2
ZW50KSkgKyBcIlxcXCIgaW5zdGVhZCBvZiBcXFwiXCIgKyBldmVudCArIFwiXFxcIi5cIlxuICAg
ICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICB2YXIgY2JzID0gdm0uX2V2ZW50c1tldmVudF07
XG4gICAgaWYgKGNicykge1xuICAgICAgY2JzID0gY2JzLmxlbmd0aCA+IDEgPyB0b0FycmF5KGNi
cykgOiBjYnM7XG4gICAgICB2YXIgYXJncyA9IHRvQXJyYXkoYXJndW1lbnRzLCAxKTtcbiAgICAg
IGZvciAodmFyIGkgPSAwLCBsID0gY2JzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICB0
cnkge1xuICAgICAgICAgIGNic1tpXS5hcHBseSh2bSwgYXJncyk7XG4gICAgICAgIH0gY2F0Y2gg
KGUpIHtcbiAgICAgICAgICBoYW5kbGVFcnJvcihlLCB2bSwgKFwiZXZlbnQgaGFuZGxlciBmb3Ig
XFxcIlwiICsgZXZlbnQgKyBcIlxcXCJcIikpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxu
ICAgIHJldHVybiB2bVxuICB9O1xufVxuXG4vKiAgKi9cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBl
ciBmb3IgcmVzb2x2aW5nIHJhdyBjaGlsZHJlbiBWTm9kZXMgaW50byBhIHNsb3Qgb2JqZWN0Llxu
ICovXG5mdW5jdGlvbiByZXNvbHZlU2xvdHMgKFxuICBjaGlsZHJlbixcbiAgY29udGV4dFxuKSB7
XG4gIHZhciBzbG90cyA9IHt9O1xuICBpZiAoIWNoaWxkcmVuKSB7XG4gICAgcmV0dXJuIHNsb3Rz
XG4gIH1cbiAgdmFyIGRlZmF1bHRTbG90ID0gW107XG4gIGZvciAodmFyIGkgPSAwLCBsID0gY2hp
bGRyZW4ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgdmFyIGNoaWxkID0gY2hpbGRyZW5baV07
XG4gICAgLy8gbmFtZWQgc2xvdHMgc2hvdWxkIG9ubHkgYmUgcmVzcGVjdGVkIGlmIHRoZSB2bm9k
ZSB3YXMgcmVuZGVyZWQgaW4gdGhlXG4gICAgLy8gc2FtZSBjb250ZXh0LlxuICAgIGlmICgoY2hp
bGQuY29udGV4dCA9PT0gY29udGV4dCB8fCBjaGlsZC5mdW5jdGlvbmFsQ29udGV4dCA9PT0gY29u
dGV4dCkgJiZcbiAgICAgIGNoaWxkLmRhdGEgJiYgY2hpbGQuZGF0YS5zbG90ICE9IG51bGxcbiAg
ICApIHtcbiAgICAgIHZhciBuYW1lID0gY2hpbGQuZGF0YS5zbG90O1xuICAgICAgdmFyIHNsb3Qg
PSAoc2xvdHNbbmFtZV0gfHwgKHNsb3RzW25hbWVdID0gW10pKTtcbiAgICAgIGlmIChjaGlsZC50
YWcgPT09ICd0ZW1wbGF0ZScpIHtcbiAgICAgICAgc2xvdC5wdXNoLmFwcGx5KHNsb3QsIGNoaWxk
LmNoaWxkcmVuKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNsb3QucHVzaChjaGlsZCk7XG4g
ICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlZmF1bHRTbG90LnB1c2goY2hpbGQpO1xuICAg
IH1cbiAgfVxuICAvLyBpZ25vcmUgd2hpdGVzcGFjZVxuICBpZiAoIWRlZmF1bHRTbG90LmV2ZXJ5
KGlzV2hpdGVzcGFjZSkpIHtcbiAgICBzbG90cy5kZWZhdWx0ID0gZGVmYXVsdFNsb3Q7XG4gIH1c
biAgcmV0dXJuIHNsb3RzXG59XG5cbmZ1bmN0aW9uIGlzV2hpdGVzcGFjZSAobm9kZSkge1xuICBy
ZXR1cm4gbm9kZS5pc0NvbW1lbnQgfHwgbm9kZS50ZXh0ID09PSAnICdcbn1cblxuZnVuY3Rpb24g
cmVzb2x2ZVNjb3BlZFNsb3RzIChcbiAgZm5zLCAvLyBzZWUgZmxvdy92bm9kZVxuICByZXNcbikg
e1xuICByZXMgPSByZXMgfHwge307XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgZm5zLmxlbmd0aDsg
aSsrKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZm5zW2ldKSkge1xuICAgICAgcmVzb2x2ZVNj
b3BlZFNsb3RzKGZuc1tpXSwgcmVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzW2Zuc1tpXS5r
ZXldID0gZm5zW2ldLmZuO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbi8qICAqL1xu
XG52YXIgYWN0aXZlSW5zdGFuY2UgPSBudWxsO1xudmFyIGlzVXBkYXRpbmdDaGlsZENvbXBvbmVu
dCA9IGZhbHNlO1xuXG5mdW5jdGlvbiBpbml0TGlmZWN5Y2xlICh2bSkge1xuICB2YXIgb3B0aW9u
cyA9IHZtLiRvcHRpb25zO1xuXG4gIC8vIGxvY2F0ZSBmaXJzdCBub24tYWJzdHJhY3QgcGFyZW50
XG4gIHZhciBwYXJlbnQgPSBvcHRpb25zLnBhcmVudDtcbiAgaWYgKHBhcmVudCAmJiAhb3B0aW9u
cy5hYnN0cmFjdCkge1xuICAgIHdoaWxlIChwYXJlbnQuJG9wdGlvbnMuYWJzdHJhY3QgJiYgcGFy
ZW50LiRwYXJlbnQpIHtcbiAgICAgIHBhcmVudCA9IHBhcmVudC4kcGFyZW50O1xuICAgIH1cbiAg
ICBwYXJlbnQuJGNoaWxkcmVuLnB1c2godm0pO1xuICB9XG5cbiAgdm0uJHBhcmVudCA9IHBhcmVu
dDtcbiAgdm0uJHJvb3QgPSBwYXJlbnQgPyBwYXJlbnQuJHJvb3QgOiB2bTtcblxuICB2bS4kY2hp
bGRyZW4gPSBbXTtcbiAgdm0uJHJlZnMgPSB7fTtcblxuICB2bS5fd2F0Y2hlciA9IG51bGw7XG4g
IHZtLl9pbmFjdGl2ZSA9IG51bGw7XG4gIHZtLl9kaXJlY3RJbmFjdGl2ZSA9IGZhbHNlO1xuICB2
bS5faXNNb3VudGVkID0gZmFsc2U7XG4gIHZtLl9pc0Rlc3Ryb3llZCA9IGZhbHNlO1xuICB2bS5f
aXNCZWluZ0Rlc3Ryb3llZCA9IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBsaWZlY3ljbGVNaXhpbiAo
VnVlKSB7XG4gIFZ1ZS5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uICh2bm9kZSwgaHlkcmF0
aW5nKSB7XG4gICAgdmFyIHZtID0gdGhpcztcbiAgICBpZiAodm0uX2lzTW91bnRlZCkge1xuICAg
ICAgY2FsbEhvb2sodm0sICdiZWZvcmVVcGRhdGUnKTtcbiAgICB9XG4gICAgdmFyIHByZXZFbCA9
IHZtLiRlbDtcbiAgICB2YXIgcHJldlZub2RlID0gdm0uX3Zub2RlO1xuICAgIHZhciBwcmV2QWN0
aXZlSW5zdGFuY2UgPSBhY3RpdmVJbnN0YW5jZTtcbiAgICBhY3RpdmVJbnN0YW5jZSA9IHZtO1xu
ICAgIHZtLl92bm9kZSA9IHZub2RlO1xuICAgIC8vIFZ1ZS5wcm90b3R5cGUuX19wYXRjaF9fIGlz
IGluamVjdGVkIGluIGVudHJ5IHBvaW50c1xuICAgIC8vIGJhc2VkIG9uIHRoZSByZW5kZXJpbmcg
YmFja2VuZCB1c2VkLlxuICAgIGlmICghcHJldlZub2RlKSB7XG4gICAgICAvLyBpbml0aWFsIHJl
bmRlclxuICAgICAgdm0uJGVsID0gdm0uX19wYXRjaF9fKFxuICAgICAgICB2bS4kZWwsIHZub2Rl
LCBoeWRyYXRpbmcsIGZhbHNlIC8qIHJlbW92ZU9ubHkgKi8sXG4gICAgICAgIHZtLiRvcHRpb25z
Ll9wYXJlbnRFbG0sXG4gICAgICAgIHZtLiRvcHRpb25zLl9yZWZFbG1cbiAgICAgICk7XG4gICAg
ICAvLyBubyBuZWVkIGZvciB0aGUgcmVmIG5vZGVzIGFmdGVyIGluaXRpYWwgcGF0Y2hcbiAgICAg
IC8vIHRoaXMgcHJldmVudHMga2VlcGluZyBhIGRldGFjaGVkIERPTSB0cmVlIGluIG1lbW9yeSAo
IzU4NTEpXG4gICAgICB2bS4kb3B0aW9ucy5fcGFyZW50RWxtID0gdm0uJG9wdGlvbnMuX3JlZkVs
bSA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHVwZGF0ZXNcbiAgICAgIHZtLiRlbCA9
IHZtLl9fcGF0Y2hfXyhwcmV2Vm5vZGUsIHZub2RlKTtcbiAgICB9XG4gICAgYWN0aXZlSW5zdGFu
Y2UgPSBwcmV2QWN0aXZlSW5zdGFuY2U7XG4gICAgLy8gdXBkYXRlIF9fdnVlX18gcmVmZXJlbmNl
XG4gICAgaWYgKHByZXZFbCkge1xuICAgICAgcHJldkVsLl9fdnVlX18gPSBudWxsO1xuICAgIH1c
biAgICBpZiAodm0uJGVsKSB7XG4gICAgICB2bS4kZWwuX192dWVfXyA9IHZtO1xuICAgIH1cbiAg
ICAvLyBpZiBwYXJlbnQgaXMgYW4gSE9DLCB1cGRhdGUgaXRzICRlbCBhcyB3ZWxsXG4gICAgaWYg
KHZtLiR2bm9kZSAmJiB2bS4kcGFyZW50ICYmIHZtLiR2bm9kZSA9PT0gdm0uJHBhcmVudC5fdm5v
ZGUpIHtcbiAgICAgIHZtLiRwYXJlbnQuJGVsID0gdm0uJGVsO1xuICAgIH1cbiAgICAvLyB1cGRh
dGVkIGhvb2sgaXMgY2FsbGVkIGJ5IHRoZSBzY2hlZHVsZXIgdG8gZW5zdXJlIHRoYXQgY2hpbGRy
ZW4gYXJlXG4gICAgLy8gdXBkYXRlZCBpbiBhIHBhcmVudCdzIHVwZGF0ZWQgaG9vay5cbiAgfTtc
blxuICBWdWUucHJvdG90eXBlLiRmb3JjZVVwZGF0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIg
dm0gPSB0aGlzO1xuICAgIGlmICh2bS5fd2F0Y2hlcikge1xuICAgICAgdm0uX3dhdGNoZXIudXBk
YXRlKCk7XG4gICAgfVxuICB9O1xuXG4gIFZ1ZS5wcm90b3R5cGUuJGRlc3Ryb3kgPSBmdW5jdGlv
biAoKSB7XG4gICAgdmFyIHZtID0gdGhpcztcbiAgICBpZiAodm0uX2lzQmVpbmdEZXN0cm95ZWQp
IHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjYWxsSG9vayh2bSwgJ2JlZm9yZURlc3Ryb3kn
KTtcbiAgICB2bS5faXNCZWluZ0Rlc3Ryb3llZCA9IHRydWU7XG4gICAgLy8gcmVtb3ZlIHNlbGYg
ZnJvbSBwYXJlbnRcbiAgICB2YXIgcGFyZW50ID0gdm0uJHBhcmVudDtcbiAgICBpZiAocGFyZW50
ICYmICFwYXJlbnQuX2lzQmVpbmdEZXN0cm95ZWQgJiYgIXZtLiRvcHRpb25zLmFic3RyYWN0KSB7
XG4gICAgICByZW1vdmUocGFyZW50LiRjaGlsZHJlbiwgdm0pO1xuICAgIH1cbiAgICAvLyB0ZWFy
ZG93biB3YXRjaGVyc1xuICAgIGlmICh2bS5fd2F0Y2hlcikge1xuICAgICAgdm0uX3dhdGNoZXIu
dGVhcmRvd24oKTtcbiAgICB9XG4gICAgdmFyIGkgPSB2bS5fd2F0Y2hlcnMubGVuZ3RoO1xuICAg
IHdoaWxlIChpLS0pIHtcbiAgICAgIHZtLl93YXRjaGVyc1tpXS50ZWFyZG93bigpO1xuICAgIH1c
biAgICAvLyByZW1vdmUgcmVmZXJlbmNlIGZyb20gZGF0YSBvYlxuICAgIC8vIGZyb3plbiBvYmpl
Y3QgbWF5IG5vdCBoYXZlIG9ic2VydmVyLlxuICAgIGlmICh2bS5fZGF0YS5fX29iX18pIHtcbiAg
ICAgIHZtLl9kYXRhLl9fb2JfXy52bUNvdW50LS07XG4gICAgfVxuICAgIC8vIGNhbGwgdGhlIGxh
c3QgaG9vay4uLlxuICAgIHZtLl9pc0Rlc3Ryb3llZCA9IHRydWU7XG4gICAgLy8gaW52b2tlIGRl
c3Ryb3kgaG9va3Mgb24gY3VycmVudCByZW5kZXJlZCB0cmVlXG4gICAgdm0uX19wYXRjaF9fKHZt
Ll92bm9kZSwgbnVsbCk7XG4gICAgLy8gZmlyZSBkZXN0cm95ZWQgaG9va1xuICAgIGNhbGxIb29r
KHZtLCAnZGVzdHJveWVkJyk7XG4gICAgLy8gdHVybiBvZmYgYWxsIGluc3RhbmNlIGxpc3RlbmVy
cy5cbiAgICB2bS4kb2ZmKCk7XG4gICAgLy8gcmVtb3ZlIF9fdnVlX18gcmVmZXJlbmNlXG4gICAg
aWYgKHZtLiRlbCkge1xuICAgICAgdm0uJGVsLl9fdnVlX18gPSBudWxsO1xuICAgIH1cbiAgfTtc
bn1cblxuZnVuY3Rpb24gbW91bnRDb21wb25lbnQgKFxuICB2bSxcbiAgZWwsXG4gIGh5ZHJhdGlu
Z1xuKSB7XG4gIHZtLiRlbCA9IGVsO1xuICBpZiAoIXZtLiRvcHRpb25zLnJlbmRlcikge1xuICAg
IHZtLiRvcHRpb25zLnJlbmRlciA9IGNyZWF0ZUVtcHR5Vk5vZGU7XG4gICAgaWYgKGZhbHNlKSB7
XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlmICgodm0uJG9wdGlvbnMu
dGVtcGxhdGUgJiYgdm0uJG9wdGlvbnMudGVtcGxhdGUuY2hhckF0KDApICE9PSAnIycpIHx8XG4g
ICAgICAgIHZtLiRvcHRpb25zLmVsIHx8IGVsKSB7XG4gICAgICAgIHdhcm4oXG4gICAgICAgICAg
J1lvdSBhcmUgdXNpbmcgdGhlIHJ1bnRpbWUtb25seSBidWlsZCBvZiBWdWUgd2hlcmUgdGhlIHRl
bXBsYXRlICcgK1xuICAgICAgICAgICdjb21waWxlciBpcyBub3QgYXZhaWxhYmxlLiBFaXRoZXIg
cHJlLWNvbXBpbGUgdGhlIHRlbXBsYXRlcyBpbnRvICcgK1xuICAgICAgICAgICdyZW5kZXIgZnVu
Y3Rpb25zLCBvciB1c2UgdGhlIGNvbXBpbGVyLWluY2x1ZGVkIGJ1aWxkLicsXG4gICAgICAgICAg
dm1cbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHdhcm4oXG4gICAgICAgICAg
J0ZhaWxlZCB0byBtb3VudCBjb21wb25lbnQ6IHRlbXBsYXRlIG9yIHJlbmRlciBmdW5jdGlvbiBu
b3QgZGVmaW5lZC4nLFxuICAgICAgICAgIHZtXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxu
ICB9XG4gIGNhbGxIb29rKHZtLCAnYmVmb3JlTW91bnQnKTtcblxuICB2YXIgdXBkYXRlQ29tcG9u
ZW50O1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKGZhbHNlKSB7XG4gICAgdXBk
YXRlQ29tcG9uZW50ID0gZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIG5hbWUgPSB2bS5fbmFtZTtc
biAgICAgIHZhciBpZCA9IHZtLl91aWQ7XG4gICAgICB2YXIgc3RhcnRUYWcgPSBcInZ1ZS1wZXJm
LXN0YXJ0OlwiICsgaWQ7XG4gICAgICB2YXIgZW5kVGFnID0gXCJ2dWUtcGVyZi1lbmQ6XCIgKyBp
ZDtcblxuICAgICAgbWFyayhzdGFydFRhZyk7XG4gICAgICB2YXIgdm5vZGUgPSB2bS5fcmVuZGVy
KCk7XG4gICAgICBtYXJrKGVuZFRhZyk7XG4gICAgICBtZWFzdXJlKChuYW1lICsgXCIgcmVuZGVy
XCIpLCBzdGFydFRhZywgZW5kVGFnKTtcblxuICAgICAgbWFyayhzdGFydFRhZyk7XG4gICAgICB2
bS5fdXBkYXRlKHZub2RlLCBoeWRyYXRpbmcpO1xuICAgICAgbWFyayhlbmRUYWcpO1xuICAgICAg
bWVhc3VyZSgobmFtZSArIFwiIHBhdGNoXCIpLCBzdGFydFRhZywgZW5kVGFnKTtcbiAgICB9O1xu
ICB9IGVsc2Uge1xuICAgIHVwZGF0ZUNvbXBvbmVudCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZt
Ll91cGRhdGUodm0uX3JlbmRlcigpLCBoeWRyYXRpbmcpO1xuICAgIH07XG4gIH1cblxuICB2bS5f
d2F0Y2hlciA9IG5ldyBXYXRjaGVyKHZtLCB1cGRhdGVDb21wb25lbnQsIG5vb3ApO1xuICBoeWRy
YXRpbmcgPSBmYWxzZTtcblxuICAvLyBtYW51YWxseSBtb3VudGVkIGluc3RhbmNlLCBjYWxsIG1v
dW50ZWQgb24gc2VsZlxuICAvLyBtb3VudGVkIGlzIGNhbGxlZCBmb3IgcmVuZGVyLWNyZWF0ZWQg
Y2hpbGQgY29tcG9uZW50cyBpbiBpdHMgaW5zZXJ0ZWQgaG9va1xuICBpZiAodm0uJHZub2RlID09
IG51bGwpIHtcbiAgICB2bS5faXNNb3VudGVkID0gdHJ1ZTtcbiAgICBjYWxsSG9vayh2bSwgJ21v
dW50ZWQnKTtcbiAgfVxuICByZXR1cm4gdm1cbn1cblxuZnVuY3Rpb24gdXBkYXRlQ2hpbGRDb21w
b25lbnQgKFxuICB2bSxcbiAgcHJvcHNEYXRhLFxuICBsaXN0ZW5lcnMsXG4gIHBhcmVudFZub2Rl
LFxuICByZW5kZXJDaGlsZHJlblxuKSB7XG4gIGlmIChmYWxzZSkge1xuICAgIGlzVXBkYXRpbmdD
aGlsZENvbXBvbmVudCA9IHRydWU7XG4gIH1cblxuICAvLyBkZXRlcm1pbmUgd2hldGhlciBjb21w
b25lbnQgaGFzIHNsb3QgY2hpbGRyZW5cbiAgLy8gd2UgbmVlZCB0byBkbyB0aGlzIGJlZm9yZSBv
dmVyd3JpdGluZyAkb3B0aW9ucy5fcmVuZGVyQ2hpbGRyZW5cbiAgdmFyIGhhc0NoaWxkcmVuID0g
ISEoXG4gICAgcmVuZGVyQ2hpbGRyZW4gfHwgICAgICAgICAgICAgICAvLyBoYXMgbmV3IHN0YXRp
YyBzbG90c1xuICAgIHZtLiRvcHRpb25zLl9yZW5kZXJDaGlsZHJlbiB8fCAgLy8gaGFzIG9sZCBz
dGF0aWMgc2xvdHNcbiAgICBwYXJlbnRWbm9kZS5kYXRhLnNjb3BlZFNsb3RzIHx8IC8vIGhhcyBu
ZXcgc2NvcGVkIHNsb3RzXG4gICAgdm0uJHNjb3BlZFNsb3RzICE9PSBlbXB0eU9iamVjdCAvLyBo
YXMgb2xkIHNjb3BlZCBzbG90c1xuICApO1xuXG4gIHZtLiRvcHRpb25zLl9wYXJlbnRWbm9kZSA9
IHBhcmVudFZub2RlO1xuICB2bS4kdm5vZGUgPSBwYXJlbnRWbm9kZTsgLy8gdXBkYXRlIHZtJ3Mg
cGxhY2Vob2xkZXIgbm9kZSB3aXRob3V0IHJlLXJlbmRlclxuXG4gIGlmICh2bS5fdm5vZGUpIHsg
Ly8gdXBkYXRlIGNoaWxkIHRyZWUncyBwYXJlbnRcbiAgICB2bS5fdm5vZGUucGFyZW50ID0gcGFy
ZW50Vm5vZGU7XG4gIH1cbiAgdm0uJG9wdGlvbnMuX3JlbmRlckNoaWxkcmVuID0gcmVuZGVyQ2hp
bGRyZW47XG5cbiAgLy8gdXBkYXRlICRhdHRycyBhbmQgJGxpc3RlbnNlcnMgaGFzaFxuICAvLyB0
aGVzZSBhcmUgYWxzbyByZWFjdGl2ZSBzbyB0aGV5IG1heSB0cmlnZ2VyIGNoaWxkIHVwZGF0ZSBp
ZiB0aGUgY2hpbGRcbiAgLy8gdXNlZCB0aGVtIGR1cmluZyByZW5kZXJcbiAgdm0uJGF0dHJzID0g
cGFyZW50Vm5vZGUuZGF0YSAmJiBwYXJlbnRWbm9kZS5kYXRhLmF0dHJzO1xuICB2bS4kbGlzdGVu
ZXJzID0gbGlzdGVuZXJzO1xuXG4gIC8vIHVwZGF0ZSBwcm9wc1xuICBpZiAocHJvcHNEYXRhICYm
IHZtLiRvcHRpb25zLnByb3BzKSB7XG4gICAgb2JzZXJ2ZXJTdGF0ZS5zaG91bGRDb252ZXJ0ID0g
ZmFsc2U7XG4gICAgdmFyIHByb3BzID0gdm0uX3Byb3BzO1xuICAgIHZhciBwcm9wS2V5cyA9IHZt
LiRvcHRpb25zLl9wcm9wS2V5cyB8fCBbXTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BL
ZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0gcHJvcEtleXNbaV07XG4gICAgICBw
cm9wc1trZXldID0gdmFsaWRhdGVQcm9wKGtleSwgdm0uJG9wdGlvbnMucHJvcHMsIHByb3BzRGF0
YSwgdm0pO1xuICAgIH1cbiAgICBvYnNlcnZlclN0YXRlLnNob3VsZENvbnZlcnQgPSB0cnVlO1xu
ICAgIC8vIGtlZXAgYSBjb3B5IG9mIHJhdyBwcm9wc0RhdGFcbiAgICB2bS4kb3B0aW9ucy5wcm9w
c0RhdGEgPSBwcm9wc0RhdGE7XG4gIH1cblxuICAvLyB1cGRhdGUgbGlzdGVuZXJzXG4gIGlmIChs
aXN0ZW5lcnMpIHtcbiAgICB2YXIgb2xkTGlzdGVuZXJzID0gdm0uJG9wdGlvbnMuX3BhcmVudExp
c3RlbmVycztcbiAgICB2bS4kb3B0aW9ucy5fcGFyZW50TGlzdGVuZXJzID0gbGlzdGVuZXJzO1xu
ICAgIHVwZGF0ZUNvbXBvbmVudExpc3RlbmVycyh2bSwgbGlzdGVuZXJzLCBvbGRMaXN0ZW5lcnMp
O1xuICB9XG4gIC8vIHJlc29sdmUgc2xvdHMgKyBmb3JjZSB1cGRhdGUgaWYgaGFzIGNoaWxkcmVu
XG4gIGlmIChoYXNDaGlsZHJlbikge1xuICAgIHZtLiRzbG90cyA9IHJlc29sdmVTbG90cyhyZW5k
ZXJDaGlsZHJlbiwgcGFyZW50Vm5vZGUuY29udGV4dCk7XG4gICAgdm0uJGZvcmNlVXBkYXRlKCk7
XG4gIH1cblxuICBpZiAoZmFsc2UpIHtcbiAgICBpc1VwZGF0aW5nQ2hpbGRDb21wb25lbnQgPSBm
YWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0luSW5hY3RpdmVUcmVlICh2bSkge1xuICB3aGls
ZSAodm0gJiYgKHZtID0gdm0uJHBhcmVudCkpIHtcbiAgICBpZiAodm0uX2luYWN0aXZlKSB7IHJl
dHVybiB0cnVlIH1cbiAgfVxuICByZXR1cm4gZmFsc2Vcbn1cblxuZnVuY3Rpb24gYWN0aXZhdGVD
aGlsZENvbXBvbmVudCAodm0sIGRpcmVjdCkge1xuICBpZiAoZGlyZWN0KSB7XG4gICAgdm0uX2Rp
cmVjdEluYWN0aXZlID0gZmFsc2U7XG4gICAgaWYgKGlzSW5JbmFjdGl2ZVRyZWUodm0pKSB7XG4g
ICAgICByZXR1cm5cbiAgICB9XG4gIH0gZWxzZSBpZiAodm0uX2RpcmVjdEluYWN0aXZlKSB7XG4g
ICAgcmV0dXJuXG4gIH1cbiAgaWYgKHZtLl9pbmFjdGl2ZSB8fCB2bS5faW5hY3RpdmUgPT09IG51
bGwpIHtcbiAgICB2bS5faW5hY3RpdmUgPSBmYWxzZTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHZtLiRjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgYWN0aXZhdGVDaGlsZENvbXBvbmVu
dCh2bS4kY2hpbGRyZW5baV0pO1xuICAgIH1cbiAgICBjYWxsSG9vayh2bSwgJ2FjdGl2YXRlZCcp
O1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlYWN0aXZhdGVDaGlsZENvbXBvbmVudCAodm0sIGRpcmVj
dCkge1xuICBpZiAoZGlyZWN0KSB7XG4gICAgdm0uX2RpcmVjdEluYWN0aXZlID0gdHJ1ZTtcbiAg
ICBpZiAoaXNJbkluYWN0aXZlVHJlZSh2bSkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgfVxu
ICBpZiAoIXZtLl9pbmFjdGl2ZSkge1xuICAgIHZtLl9pbmFjdGl2ZSA9IHRydWU7XG4gICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCB2bS4kY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgIGRlYWN0
aXZhdGVDaGlsZENvbXBvbmVudCh2bS4kY2hpbGRyZW5baV0pO1xuICAgIH1cbiAgICBjYWxsSG9v
ayh2bSwgJ2RlYWN0aXZhdGVkJyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2FsbEhvb2sgKHZtLCBo
b29rKSB7XG4gIHZhciBoYW5kbGVycyA9IHZtLiRvcHRpb25zW2hvb2tdO1xuICBpZiAoaGFuZGxl
cnMpIHtcbiAgICBmb3IgKHZhciBpID0gMCwgaiA9IGhhbmRsZXJzLmxlbmd0aDsgaSA8IGo7IGkr
Kykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaGFuZGxlcnNbaV0uY2FsbCh2bSk7XG4gICAgICB9
IGNhdGNoIChlKSB7XG4gICAgICAgIGhhbmRsZUVycm9yKGUsIHZtLCAoaG9vayArIFwiIGhvb2tc
IikpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBpZiAodm0uX2hhc0hvb2tFdmVudCkge1xuICAg
IHZtLiRlbWl0KCdob29rOicgKyBob29rKTtcbiAgfVxufVxuXG4vKiAgKi9cblxuXG52YXIgTUFY
X1VQREFURV9DT1VOVCA9IDEwMDtcblxudmFyIHF1ZXVlID0gW107XG52YXIgYWN0aXZhdGVkQ2hp
bGRyZW4gPSBbXTtcbnZhciBoYXMgPSB7fTtcbnZhciBjaXJjdWxhciA9IHt9O1xudmFyIHdhaXRp
bmcgPSBmYWxzZTtcbnZhciBmbHVzaGluZyA9IGZhbHNlO1xudmFyIGluZGV4ID0gMDtcblxuLyoq
XG4gKiBSZXNldCB0aGUgc2NoZWR1bGVyJ3Mgc3RhdGUuXG4gKi9cbmZ1bmN0aW9uIHJlc2V0U2No
ZWR1bGVyU3RhdGUgKCkge1xuICBpbmRleCA9IHF1ZXVlLmxlbmd0aCA9IGFjdGl2YXRlZENoaWxk
cmVuLmxlbmd0aCA9IDA7XG4gIGhhcyA9IHt9O1xuICBpZiAoZmFsc2UpIHtcbiAgICBjaXJjdWxh
ciA9IHt9O1xuICB9XG4gIHdhaXRpbmcgPSBmbHVzaGluZyA9IGZhbHNlO1xufVxuXG4vKipcbiAq
IEZsdXNoIGJvdGggcXVldWVzIGFuZCBydW4gdGhlIHdhdGNoZXJzLlxuICovXG5mdW5jdGlvbiBm
bHVzaFNjaGVkdWxlclF1ZXVlICgpIHtcbiAgZmx1c2hpbmcgPSB0cnVlO1xuICB2YXIgd2F0Y2hl
ciwgaWQ7XG5cbiAgLy8gU29ydCBxdWV1ZSBiZWZvcmUgZmx1c2guXG4gIC8vIFRoaXMgZW5zdXJl
cyB0aGF0OlxuICAvLyAxLiBDb21wb25lbnRzIGFyZSB1cGRhdGVkIGZyb20gcGFyZW50IHRvIGNo
aWxkLiAoYmVjYXVzZSBwYXJlbnQgaXMgYWx3YXlzXG4gIC8vICAgIGNyZWF0ZWQgYmVmb3JlIHRo
ZSBjaGlsZClcbiAgLy8gMi4gQSBjb21wb25lbnQncyB1c2VyIHdhdGNoZXJzIGFyZSBydW4gYmVm
b3JlIGl0cyByZW5kZXIgd2F0Y2hlciAoYmVjYXVzZVxuICAvLyAgICB1c2VyIHdhdGNoZXJzIGFy
ZSBjcmVhdGVkIGJlZm9yZSB0aGUgcmVuZGVyIHdhdGNoZXIpXG4gIC8vIDMuIElmIGEgY29tcG9u
ZW50IGlzIGRlc3Ryb3llZCBkdXJpbmcgYSBwYXJlbnQgY29tcG9uZW50J3Mgd2F0Y2hlciBydW4s
XG4gIC8vICAgIGl0cyB3YXRjaGVycyBjYW4gYmUgc2tpcHBlZC5cbiAgcXVldWUuc29ydChmdW5j
dGlvbiAoYSwgYikgeyByZXR1cm4gYS5pZCAtIGIuaWQ7IH0pO1xuXG4gIC8vIGRvIG5vdCBjYWNo
ZSBsZW5ndGggYmVjYXVzZSBtb3JlIHdhdGNoZXJzIG1pZ2h0IGJlIHB1c2hlZFxuICAvLyBhcyB3
ZSBydW4gZXhpc3Rpbmcgd2F0Y2hlcnNcbiAgZm9yIChpbmRleCA9IDA7IGluZGV4IDwgcXVldWUu
bGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgd2F0Y2hlciA9IHF1ZXVlW2luZGV4XTtcbiAgICBpZCA9
IHdhdGNoZXIuaWQ7XG4gICAgaGFzW2lkXSA9IG51bGw7XG4gICAgd2F0Y2hlci5ydW4oKTtcbiAg
ICAvLyBpbiBkZXYgYnVpbGQsIGNoZWNrIGFuZCBzdG9wIGNpcmN1bGFyIHVwZGF0ZXMuXG4gICAg
aWYgKGZhbHNlKSB7XG4gICAgICBjaXJjdWxhcltpZF0gPSAoY2lyY3VsYXJbaWRdIHx8IDApICsg
MTtcbiAgICAgIGlmIChjaXJjdWxhcltpZF0gPiBNQVhfVVBEQVRFX0NPVU5UKSB7XG4gICAgICAg
IHdhcm4oXG4gICAgICAgICAgJ1lvdSBtYXkgaGF2ZSBhbiBpbmZpbml0ZSB1cGRhdGUgbG9vcCAn
ICsgKFxuICAgICAgICAgICAgd2F0Y2hlci51c2VyXG4gICAgICAgICAgICAgID8gKFwiaW4gd2F0
Y2hlciB3aXRoIGV4cHJlc3Npb24gXFxcIlwiICsgKHdhdGNoZXIuZXhwcmVzc2lvbikgKyBcIlxc
XCJcIilcbiAgICAgICAgICAgICAgOiBcImluIGEgY29tcG9uZW50IHJlbmRlciBmdW5jdGlvbi5c
IlxuICAgICAgICAgICksXG4gICAgICAgICAgd2F0Y2hlci52bVxuICAgICAgICApO1xuICAgICAg
ICBicmVha1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGtlZXAgY29waWVzIG9mIHBvc3Qg
cXVldWVzIGJlZm9yZSByZXNldHRpbmcgc3RhdGVcbiAgdmFyIGFjdGl2YXRlZFF1ZXVlID0gYWN0
aXZhdGVkQ2hpbGRyZW4uc2xpY2UoKTtcbiAgdmFyIHVwZGF0ZWRRdWV1ZSA9IHF1ZXVlLnNsaWNl
KCk7XG5cbiAgcmVzZXRTY2hlZHVsZXJTdGF0ZSgpO1xuXG4gIC8vIGNhbGwgY29tcG9uZW50IHVw
ZGF0ZWQgYW5kIGFjdGl2YXRlZCBob29rc1xuICBjYWxsQWN0aXZhdGVkSG9va3MoYWN0aXZhdGVk
UXVldWUpO1xuICBjYWxsVXBkYXRlZEhvb2tzKHVwZGF0ZWRRdWV1ZSk7XG5cbiAgLy8gZGV2dG9v
bCBob29rXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoZGV2dG9vbHMgJiYgY29u
ZmlnLmRldnRvb2xzKSB7XG4gICAgZGV2dG9vbHMuZW1pdCgnZmx1c2gnKTtcbiAgfVxufVxuXG5m
dW5jdGlvbiBjYWxsVXBkYXRlZEhvb2tzIChxdWV1ZSkge1xuICB2YXIgaSA9IHF1ZXVlLmxlbmd0
aDtcbiAgd2hpbGUgKGktLSkge1xuICAgIHZhciB3YXRjaGVyID0gcXVldWVbaV07XG4gICAgdmFy
IHZtID0gd2F0Y2hlci52bTtcbiAgICBpZiAodm0uX3dhdGNoZXIgPT09IHdhdGNoZXIgJiYgdm0u
X2lzTW91bnRlZCkge1xuICAgICAgY2FsbEhvb2sodm0sICd1cGRhdGVkJyk7XG4gICAgfVxuICB9
XG59XG5cbi8qKlxuICogUXVldWUgYSBrZXB0LWFsaXZlIGNvbXBvbmVudCB0aGF0IHdhcyBhY3Rp
dmF0ZWQgZHVyaW5nIHBhdGNoLlxuICogVGhlIHF1ZXVlIHdpbGwgYmUgcHJvY2Vzc2VkIGFmdGVy
IHRoZSBlbnRpcmUgdHJlZSBoYXMgYmVlbiBwYXRjaGVkLlxuICovXG5mdW5jdGlvbiBxdWV1ZUFj
dGl2YXRlZENvbXBvbmVudCAodm0pIHtcbiAgLy8gc2V0dGluZyBfaW5hY3RpdmUgdG8gZmFsc2Ug
aGVyZSBzbyB0aGF0IGEgcmVuZGVyIGZ1bmN0aW9uIGNhblxuICAvLyByZWx5IG9uIGNoZWNraW5n
IHdoZXRoZXIgaXQncyBpbiBhbiBpbmFjdGl2ZSB0cmVlIChlLmcuIHJvdXRlci12aWV3KVxuICB2
bS5faW5hY3RpdmUgPSBmYWxzZTtcbiAgYWN0aXZhdGVkQ2hpbGRyZW4ucHVzaCh2bSk7XG59XG5c
bmZ1bmN0aW9uIGNhbGxBY3RpdmF0ZWRIb29rcyAocXVldWUpIHtcbiAgZm9yICh2YXIgaSA9IDA7
IGkgPCBxdWV1ZS5sZW5ndGg7IGkrKykge1xuICAgIHF1ZXVlW2ldLl9pbmFjdGl2ZSA9IHRydWU7
XG4gICAgYWN0aXZhdGVDaGlsZENvbXBvbmVudChxdWV1ZVtpXSwgdHJ1ZSAvKiB0cnVlICovKTtc
biAgfVxufVxuXG4vKipcbiAqIFB1c2ggYSB3YXRjaGVyIGludG8gdGhlIHdhdGNoZXIgcXVldWUu
XG4gKiBKb2JzIHdpdGggZHVwbGljYXRlIElEcyB3aWxsIGJlIHNraXBwZWQgdW5sZXNzIGl0J3Nc
biAqIHB1c2hlZCB3aGVuIHRoZSBxdWV1ZSBpcyBiZWluZyBmbHVzaGVkLlxuICovXG5mdW5jdGlv
biBxdWV1ZVdhdGNoZXIgKHdhdGNoZXIpIHtcbiAgdmFyIGlkID0gd2F0Y2hlci5pZDtcbiAgaWYg
KGhhc1tpZF0gPT0gbnVsbCkge1xuICAgIGhhc1tpZF0gPSB0cnVlO1xuICAgIGlmICghZmx1c2hp
bmcpIHtcbiAgICAgIHF1ZXVlLnB1c2god2F0Y2hlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8v
IGlmIGFscmVhZHkgZmx1c2hpbmcsIHNwbGljZSB0aGUgd2F0Y2hlciBiYXNlZCBvbiBpdHMgaWRc
biAgICAgIC8vIGlmIGFscmVhZHkgcGFzdCBpdHMgaWQsIGl0IHdpbGwgYmUgcnVuIG5leHQgaW1t
ZWRpYXRlbHkuXG4gICAgICB2YXIgaSA9IHF1ZXVlLmxlbmd0aCAtIDE7XG4gICAgICB3aGlsZSAo
aSA+IGluZGV4ICYmIHF1ZXVlW2ldLmlkID4gd2F0Y2hlci5pZCkge1xuICAgICAgICBpLS07XG4g
ICAgICB9XG4gICAgICBxdWV1ZS5zcGxpY2UoaSArIDEsIDAsIHdhdGNoZXIpO1xuICAgIH1cbiAg
ICAvLyBxdWV1ZSB0aGUgZmx1c2hcbiAgICBpZiAoIXdhaXRpbmcpIHtcbiAgICAgIHdhaXRpbmcg
PSB0cnVlO1xuICAgICAgbmV4dFRpY2soZmx1c2hTY2hlZHVsZXJRdWV1ZSk7XG4gICAgfVxuICB9
XG59XG5cbi8qICAqL1xuXG52YXIgdWlkJDIgPSAwO1xuXG4vKipcbiAqIEEgd2F0Y2hlciBwYXJz
ZXMgYW4gZXhwcmVzc2lvbiwgY29sbGVjdHMgZGVwZW5kZW5jaWVzLFxuICogYW5kIGZpcmVzIGNh
bGxiYWNrIHdoZW4gdGhlIGV4cHJlc3Npb24gdmFsdWUgY2hhbmdlcy5cbiAqIFRoaXMgaXMgdXNl
ZCBmb3IgYm90aCB0aGUgJHdhdGNoKCkgYXBpIGFuZCBkaXJlY3RpdmVzLlxuICovXG52YXIgV2F0
Y2hlciA9IGZ1bmN0aW9uIFdhdGNoZXIgKFxuICB2bSxcbiAgZXhwT3JGbixcbiAgY2IsXG4gIG9w
dGlvbnNcbikge1xuICB0aGlzLnZtID0gdm07XG4gIHZtLl93YXRjaGVycy5wdXNoKHRoaXMpO1xu
ICAvLyBvcHRpb25zXG4gIGlmIChvcHRpb25zKSB7XG4gICAgdGhpcy5kZWVwID0gISFvcHRpb25z
LmRlZXA7XG4gICAgdGhpcy51c2VyID0gISFvcHRpb25zLnVzZXI7XG4gICAgdGhpcy5sYXp5ID0g
ISFvcHRpb25zLmxhenk7XG4gICAgdGhpcy5zeW5jID0gISFvcHRpb25zLnN5bmM7XG4gIH0gZWxz
ZSB7XG4gICAgdGhpcy5kZWVwID0gdGhpcy51c2VyID0gdGhpcy5sYXp5ID0gdGhpcy5zeW5jID0g
ZmFsc2U7XG4gIH1cbiAgdGhpcy5jYiA9IGNiO1xuICB0aGlzLmlkID0gKyt1aWQkMjsgLy8gdWlk
IGZvciBiYXRjaGluZ1xuICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gIHRoaXMuZGlydHkgPSB0aGlz
Lmxhenk7IC8vIGZvciBsYXp5IHdhdGNoZXJzXG4gIHRoaXMuZGVwcyA9IFtdO1xuICB0aGlzLm5l
d0RlcHMgPSBbXTtcbiAgdGhpcy5kZXBJZHMgPSBuZXcgX1NldCgpO1xuICB0aGlzLm5ld0RlcElk
cyA9IG5ldyBfU2V0KCk7XG4gIHRoaXMuZXhwcmVzc2lvbiA9ICBmYWxzZVxuICAgID8gZXhwT3JG
bi50b1N0cmluZygpXG4gICAgOiAnJztcbiAgLy8gcGFyc2UgZXhwcmVzc2lvbiBmb3IgZ2V0dGVy
XG4gIGlmICh0eXBlb2YgZXhwT3JGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHRoaXMuZ2V0dGVy
ID0gZXhwT3JGbjtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLmdldHRlciA9IHBhcnNlUGF0aChleHBP
ckZuKTtcbiAgICBpZiAoIXRoaXMuZ2V0dGVyKSB7XG4gICAgICB0aGlzLmdldHRlciA9IGZ1bmN0
aW9uICgpIHt9O1xuICAgICAgXCJwcm9kdWN0aW9uXCIgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJu
KFxuICAgICAgICBcIkZhaWxlZCB3YXRjaGluZyBwYXRoOiBcXFwiXCIgKyBleHBPckZuICsgXCJc
XFwiIFwiICtcbiAgICAgICAgJ1dhdGNoZXIgb25seSBhY2NlcHRzIHNpbXBsZSBkb3QtZGVsaW1p
dGVkIHBhdGhzLiAnICtcbiAgICAgICAgJ0ZvciBmdWxsIGNvbnRyb2wsIHVzZSBhIGZ1bmN0aW9u
IGluc3RlYWQuJyxcbiAgICAgICAgdm1cbiAgICAgICk7XG4gICAgfVxuICB9XG4gIHRoaXMudmFs
dWUgPSB0aGlzLmxhenlcbiAgICA/IHVuZGVmaW5lZFxuICAgIDogdGhpcy5nZXQoKTtcbn07XG5c
bi8qKlxuICogRXZhbHVhdGUgdGhlIGdldHRlciwgYW5kIHJlLWNvbGxlY3QgZGVwZW5kZW5jaWVz
LlxuICovXG5XYXRjaGVyLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiBnZXQgKCkge1xuICBwdXNo
VGFyZ2V0KHRoaXMpO1xuICB2YXIgdmFsdWU7XG4gIHZhciB2bSA9IHRoaXMudm07XG4gIHRyeSB7
XG4gICAgdmFsdWUgPSB0aGlzLmdldHRlci5jYWxsKHZtLCB2bSk7XG4gIH0gY2F0Y2ggKGUpIHtc
biAgICBpZiAodGhpcy51c2VyKSB7XG4gICAgICBoYW5kbGVFcnJvcihlLCB2bSwgKFwiZ2V0dGVy
IGZvciB3YXRjaGVyIFxcXCJcIiArICh0aGlzLmV4cHJlc3Npb24pICsgXCJcXFwiXCIpKTtcbiAg
ICB9IGVsc2Uge1xuICAgICAgdGhyb3cgZVxuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICAvLyBc
InRvdWNoXCIgZXZlcnkgcHJvcGVydHkgc28gdGhleSBhcmUgYWxsIHRyYWNrZWQgYXNcbiAgICAv
LyBkZXBlbmRlbmNpZXMgZm9yIGRlZXAgd2F0Y2hpbmdcbiAgICBpZiAodGhpcy5kZWVwKSB7XG4g
ICAgICB0cmF2ZXJzZSh2YWx1ZSk7XG4gICAgfVxuICAgIHBvcFRhcmdldCgpO1xuICAgIHRoaXMu
Y2xlYW51cERlcHMoKTtcbiAgfVxuICByZXR1cm4gdmFsdWVcbn07XG5cbi8qKlxuICogQWRkIGEg
ZGVwZW5kZW5jeSB0byB0aGlzIGRpcmVjdGl2ZS5cbiAqL1xuV2F0Y2hlci5wcm90b3R5cGUuYWRk
RGVwID0gZnVuY3Rpb24gYWRkRGVwIChkZXApIHtcbiAgdmFyIGlkID0gZGVwLmlkO1xuICBpZiAo
IXRoaXMubmV3RGVwSWRzLmhhcyhpZCkpIHtcbiAgICB0aGlzLm5ld0RlcElkcy5hZGQoaWQpO1xu
ICAgIHRoaXMubmV3RGVwcy5wdXNoKGRlcCk7XG4gICAgaWYgKCF0aGlzLmRlcElkcy5oYXMoaWQp
KSB7XG4gICAgICBkZXAuYWRkU3ViKHRoaXMpO1xuICAgIH1cbiAgfVxufTtcblxuLyoqXG4gKiBD
bGVhbiB1cCBmb3IgZGVwZW5kZW5jeSBjb2xsZWN0aW9uLlxuICovXG5XYXRjaGVyLnByb3RvdHlw
ZS5jbGVhbnVwRGVwcyA9IGZ1bmN0aW9uIGNsZWFudXBEZXBzICgpIHtcbiAgICB2YXIgdGhpcyQx
ID0gdGhpcztcblxuICB2YXIgaSA9IHRoaXMuZGVwcy5sZW5ndGg7XG4gIHdoaWxlIChpLS0pIHtc
biAgICB2YXIgZGVwID0gdGhpcyQxLmRlcHNbaV07XG4gICAgaWYgKCF0aGlzJDEubmV3RGVwSWRz
LmhhcyhkZXAuaWQpKSB7XG4gICAgICBkZXAucmVtb3ZlU3ViKHRoaXMkMSk7XG4gICAgfVxuICB9
XG4gIHZhciB0bXAgPSB0aGlzLmRlcElkcztcbiAgdGhpcy5kZXBJZHMgPSB0aGlzLm5ld0RlcElk
cztcbiAgdGhpcy5uZXdEZXBJZHMgPSB0bXA7XG4gIHRoaXMubmV3RGVwSWRzLmNsZWFyKCk7XG4g
IHRtcCA9IHRoaXMuZGVwcztcbiAgdGhpcy5kZXBzID0gdGhpcy5uZXdEZXBzO1xuICB0aGlzLm5l
d0RlcHMgPSB0bXA7XG4gIHRoaXMubmV3RGVwcy5sZW5ndGggPSAwO1xufTtcblxuLyoqXG4gKiBT
dWJzY3JpYmVyIGludGVyZmFjZS5cbiAqIFdpbGwgYmUgY2FsbGVkIHdoZW4gYSBkZXBlbmRlbmN5
IGNoYW5nZXMuXG4gKi9cbldhdGNoZXIucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIHVwZGF0
ZSAoKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gIGlmICh0aGlzLmxhenkpIHtc
biAgICB0aGlzLmRpcnR5ID0gdHJ1ZTtcbiAgfSBlbHNlIGlmICh0aGlzLnN5bmMpIHtcbiAgICB0
aGlzLnJ1bigpO1xuICB9IGVsc2Uge1xuICAgIHF1ZXVlV2F0Y2hlcih0aGlzKTtcbiAgfVxufTtc
blxuLyoqXG4gKiBTY2hlZHVsZXIgam9iIGludGVyZmFjZS5cbiAqIFdpbGwgYmUgY2FsbGVkIGJ5
IHRoZSBzY2hlZHVsZXIuXG4gKi9cbldhdGNoZXIucHJvdG90eXBlLnJ1biA9IGZ1bmN0aW9uIHJ1
biAoKSB7XG4gIGlmICh0aGlzLmFjdGl2ZSkge1xuICAgIHZhciB2YWx1ZSA9IHRoaXMuZ2V0KCk7
XG4gICAgaWYgKFxuICAgICAgdmFsdWUgIT09IHRoaXMudmFsdWUgfHxcbiAgICAgIC8vIERlZXAg
d2F0Y2hlcnMgYW5kIHdhdGNoZXJzIG9uIE9iamVjdC9BcnJheXMgc2hvdWxkIGZpcmUgZXZlblxu
ICAgICAgLy8gd2hlbiB0aGUgdmFsdWUgaXMgdGhlIHNhbWUsIGJlY2F1c2UgdGhlIHZhbHVlIG1h
eVxuICAgICAgLy8gaGF2ZSBtdXRhdGVkLlxuICAgICAgaXNPYmplY3QodmFsdWUpIHx8XG4gICAg
ICB0aGlzLmRlZXBcbiAgICApIHtcbiAgICAgIC8vIHNldCBuZXcgdmFsdWVcbiAgICAgIHZhciBv
bGRWYWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICBp
ZiAodGhpcy51c2VyKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdGhpcy5jYi5jYWxsKHRo
aXMudm0sIHZhbHVlLCBvbGRWYWx1ZSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAg
ICBoYW5kbGVFcnJvcihlLCB0aGlzLnZtLCAoXCJjYWxsYmFjayBmb3Igd2F0Y2hlciBcXFwiXCIg
KyAodGhpcy5leHByZXNzaW9uKSArIFwiXFxcIlwiKSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxz
ZSB7XG4gICAgICAgIHRoaXMuY2IuY2FsbCh0aGlzLnZtLCB2YWx1ZSwgb2xkVmFsdWUpO1xuICAg
ICAgfVxuICAgIH1cbiAgfVxufTtcblxuLyoqXG4gKiBFdmFsdWF0ZSB0aGUgdmFsdWUgb2YgdGhl
IHdhdGNoZXIuXG4gKiBUaGlzIG9ubHkgZ2V0cyBjYWxsZWQgZm9yIGxhenkgd2F0Y2hlcnMuXG4g
Ki9cbldhdGNoZXIucHJvdG90eXBlLmV2YWx1YXRlID0gZnVuY3Rpb24gZXZhbHVhdGUgKCkge1xu
ICB0aGlzLnZhbHVlID0gdGhpcy5nZXQoKTtcbiAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xufTtcblxu
LyoqXG4gKiBEZXBlbmQgb24gYWxsIGRlcHMgY29sbGVjdGVkIGJ5IHRoaXMgd2F0Y2hlci5cbiAq
L1xuV2F0Y2hlci5wcm90b3R5cGUuZGVwZW5kID0gZnVuY3Rpb24gZGVwZW5kICgpIHtcbiAgICB2
YXIgdGhpcyQxID0gdGhpcztcblxuICB2YXIgaSA9IHRoaXMuZGVwcy5sZW5ndGg7XG4gIHdoaWxl
IChpLS0pIHtcbiAgICB0aGlzJDEuZGVwc1tpXS5kZXBlbmQoKTtcbiAgfVxufTtcblxuLyoqXG4g
KiBSZW1vdmUgc2VsZiBmcm9tIGFsbCBkZXBlbmRlbmNpZXMnIHN1YnNjcmliZXIgbGlzdC5cbiAq
L1xuV2F0Y2hlci5wcm90b3R5cGUudGVhcmRvd24gPSBmdW5jdGlvbiB0ZWFyZG93biAoKSB7XG4g
ICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgaWYgKHRoaXMuYWN0aXZlKSB7XG4gICAgLy8gcmVt
b3ZlIHNlbGYgZnJvbSB2bSdzIHdhdGNoZXIgbGlzdFxuICAgIC8vIHRoaXMgaXMgYSBzb21ld2hh
dCBleHBlbnNpdmUgb3BlcmF0aW9uIHNvIHdlIHNraXAgaXRcbiAgICAvLyBpZiB0aGUgdm0gaXMg
YmVpbmcgZGVzdHJveWVkLlxuICAgIGlmICghdGhpcy52bS5faXNCZWluZ0Rlc3Ryb3llZCkge1xu
ICAgICAgcmVtb3ZlKHRoaXMudm0uX3dhdGNoZXJzLCB0aGlzKTtcbiAgICB9XG4gICAgdmFyIGkg
PSB0aGlzLmRlcHMubGVuZ3RoO1xuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgIHRoaXMkMS5kZXBz
W2ldLnJlbW92ZVN1Yih0aGlzJDEpO1xuICAgIH1cbiAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xu
ICB9XG59O1xuXG4vKipcbiAqIFJlY3Vyc2l2ZWx5IHRyYXZlcnNlIGFuIG9iamVjdCB0byBldm9r
ZSBhbGwgY29udmVydGVkXG4gKiBnZXR0ZXJzLCBzbyB0aGF0IGV2ZXJ5IG5lc3RlZCBwcm9wZXJ0
eSBpbnNpZGUgdGhlIG9iamVjdFxuICogaXMgY29sbGVjdGVkIGFzIGEgXCJkZWVwXCIgZGVwZW5k
ZW5jeS5cbiAqL1xudmFyIHNlZW5PYmplY3RzID0gbmV3IF9TZXQoKTtcbmZ1bmN0aW9uIHRyYXZl
cnNlICh2YWwpIHtcbiAgc2Vlbk9iamVjdHMuY2xlYXIoKTtcbiAgX3RyYXZlcnNlKHZhbCwgc2Vl
bk9iamVjdHMpO1xufVxuXG5mdW5jdGlvbiBfdHJhdmVyc2UgKHZhbCwgc2Vlbikge1xuICB2YXIg
aSwga2V5cztcbiAgdmFyIGlzQSA9IEFycmF5LmlzQXJyYXkodmFsKTtcbiAgaWYgKCghaXNBICYm
ICFpc09iamVjdCh2YWwpKSB8fCAhT2JqZWN0LmlzRXh0ZW5zaWJsZSh2YWwpKSB7XG4gICAgcmV0
dXJuXG4gIH1cbiAgaWYgKHZhbC5fX29iX18pIHtcbiAgICB2YXIgZGVwSWQgPSB2YWwuX19vYl9f
LmRlcC5pZDtcbiAgICBpZiAoc2Vlbi5oYXMoZGVwSWQpKSB7XG4gICAgICByZXR1cm5cbiAgICB9
XG4gICAgc2Vlbi5hZGQoZGVwSWQpO1xuICB9XG4gIGlmIChpc0EpIHtcbiAgICBpID0gdmFsLmxl
bmd0aDtcbiAgICB3aGlsZSAoaS0tKSB7IF90cmF2ZXJzZSh2YWxbaV0sIHNlZW4pOyB9XG4gIH0g
ZWxzZSB7XG4gICAga2V5cyA9IE9iamVjdC5rZXlzKHZhbCk7XG4gICAgaSA9IGtleXMubGVuZ3Ro
O1xuICAgIHdoaWxlIChpLS0pIHsgX3RyYXZlcnNlKHZhbFtrZXlzW2ldXSwgc2Vlbik7IH1cbiAg
fVxufVxuXG4vKiAgKi9cblxudmFyIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbiA9IHtcbiAgZW51
bWVyYWJsZTogdHJ1ZSxcbiAgY29uZmlndXJhYmxlOiB0cnVlLFxuICBnZXQ6IG5vb3AsXG4gIHNl
dDogbm9vcFxufTtcblxuZnVuY3Rpb24gcHJveHkgKHRhcmdldCwgc291cmNlS2V5LCBrZXkpIHtc
biAgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uLmdldCA9IGZ1bmN0aW9uIHByb3h5R2V0dGVyICgp
IHtcbiAgICByZXR1cm4gdGhpc1tzb3VyY2VLZXldW2tleV1cbiAgfTtcbiAgc2hhcmVkUHJvcGVy
dHlEZWZpbml0aW9uLnNldCA9IGZ1bmN0aW9uIHByb3h5U2V0dGVyICh2YWwpIHtcbiAgICB0aGlz
W3NvdXJjZUtleV1ba2V5XSA9IHZhbDtcbiAgfTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRh
cmdldCwga2V5LCBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24pO1xufVxuXG5mdW5jdGlvbiBpbml0
U3RhdGUgKHZtKSB7XG4gIHZtLl93YXRjaGVycyA9IFtdO1xuICB2YXIgb3B0cyA9IHZtLiRvcHRp
b25zO1xuICBpZiAob3B0cy5wcm9wcykgeyBpbml0UHJvcHModm0sIG9wdHMucHJvcHMpOyB9XG4g
IGlmIChvcHRzLm1ldGhvZHMpIHsgaW5pdE1ldGhvZHModm0sIG9wdHMubWV0aG9kcyk7IH1cbiAg
aWYgKG9wdHMuZGF0YSkge1xuICAgIGluaXREYXRhKHZtKTtcbiAgfSBlbHNlIHtcbiAgICBvYnNl
cnZlKHZtLl9kYXRhID0ge30sIHRydWUgLyogYXNSb290RGF0YSAqLyk7XG4gIH1cbiAgaWYgKG9w
dHMuY29tcHV0ZWQpIHsgaW5pdENvbXB1dGVkKHZtLCBvcHRzLmNvbXB1dGVkKTsgfVxuICBpZiAo
b3B0cy53YXRjaCAmJiBvcHRzLndhdGNoICE9PSBuYXRpdmVXYXRjaCkge1xuICAgIGluaXRXYXRj
aCh2bSwgb3B0cy53YXRjaCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tPcHRpb25UeXBlICh2
bSwgbmFtZSkge1xuICB2YXIgb3B0aW9uID0gdm0uJG9wdGlvbnNbbmFtZV07XG4gIGlmICghaXNQ
bGFpbk9iamVjdChvcHRpb24pKSB7XG4gICAgd2FybihcbiAgICAgIChcImNvbXBvbmVudCBvcHRp
b24gXFxcIlwiICsgbmFtZSArIFwiXFxcIiBzaG91bGQgYmUgYW4gb2JqZWN0LlwiKSxcbiAgICAg
IHZtXG4gICAgKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0UHJvcHMgKHZtLCBwcm9wc09wdGlv
bnMpIHtcbiAgdmFyIHByb3BzRGF0YSA9IHZtLiRvcHRpb25zLnByb3BzRGF0YSB8fCB7fTtcbiAg
dmFyIHByb3BzID0gdm0uX3Byb3BzID0ge307XG4gIC8vIGNhY2hlIHByb3Aga2V5cyBzbyB0aGF0
IGZ1dHVyZSBwcm9wcyB1cGRhdGVzIGNhbiBpdGVyYXRlIHVzaW5nIEFycmF5XG4gIC8vIGluc3Rl
YWQgb2YgZHluYW1pYyBvYmplY3Qga2V5IGVudW1lcmF0aW9uLlxuICB2YXIga2V5cyA9IHZtLiRv
cHRpb25zLl9wcm9wS2V5cyA9IFtdO1xuICB2YXIgaXNSb290ID0gIXZtLiRwYXJlbnQ7XG4gIC8v
IHJvb3QgaW5zdGFuY2UgcHJvcHMgc2hvdWxkIGJlIGNvbnZlcnRlZFxuICBvYnNlcnZlclN0YXRl
LnNob3VsZENvbnZlcnQgPSBpc1Jvb3Q7XG4gIHZhciBsb29wID0gZnVuY3Rpb24gKCBrZXkgKSB7
XG4gICAga2V5cy5wdXNoKGtleSk7XG4gICAgdmFyIHZhbHVlID0gdmFsaWRhdGVQcm9wKGtleSwg
cHJvcHNPcHRpb25zLCBwcm9wc0RhdGEsIHZtKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxz
ZSAqL1xuICAgIGlmIChmYWxzZSkge1xuICAgICAgaWYgKGlzUmVzZXJ2ZWRBdHRyaWJ1dGUoa2V5
KSB8fCBjb25maWcuaXNSZXNlcnZlZEF0dHIoa2V5KSkge1xuICAgICAgICB3YXJuKFxuICAgICAg
ICAgIChcIlxcXCJcIiArIGtleSArIFwiXFxcIiBpcyBhIHJlc2VydmVkIGF0dHJpYnV0ZSBhbmQg
Y2Fubm90IGJlIHVzZWQgYXMgY29tcG9uZW50IHByb3AuXCIpLFxuICAgICAgICAgIHZtXG4gICAg
ICAgICk7XG4gICAgICB9XG4gICAgICBkZWZpbmVSZWFjdGl2ZSQkMShwcm9wcywga2V5LCB2YWx1
ZSwgZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodm0uJHBhcmVudCAmJiAhaXNVcGRhdGluZ0No
aWxkQ29tcG9uZW50KSB7XG4gICAgICAgICAgd2FybihcbiAgICAgICAgICAgIFwiQXZvaWQgbXV0
YXRpbmcgYSBwcm9wIGRpcmVjdGx5IHNpbmNlIHRoZSB2YWx1ZSB3aWxsIGJlIFwiICtcbiAgICAg
ICAgICAgIFwib3ZlcndyaXR0ZW4gd2hlbmV2ZXIgdGhlIHBhcmVudCBjb21wb25lbnQgcmUtcmVu
ZGVycy4gXCIgK1xuICAgICAgICAgICAgXCJJbnN0ZWFkLCB1c2UgYSBkYXRhIG9yIGNvbXB1dGVk
IHByb3BlcnR5IGJhc2VkIG9uIHRoZSBwcm9wJ3MgXCIgK1xuICAgICAgICAgICAgXCJ2YWx1ZS4g
UHJvcCBiZWluZyBtdXRhdGVkOiBcXFwiXCIgKyBrZXkgKyBcIlxcXCJcIixcbiAgICAgICAgICAg
IHZtXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAg
ICAgIGRlZmluZVJlYWN0aXZlJCQxKHByb3BzLCBrZXksIHZhbHVlKTtcbiAgICB9XG4gICAgLy8g
c3RhdGljIHByb3BzIGFyZSBhbHJlYWR5IHByb3hpZWQgb24gdGhlIGNvbXBvbmVudCdzIHByb3Rv
dHlwZVxuICAgIC8vIGR1cmluZyBWdWUuZXh0ZW5kKCkuIFdlIG9ubHkgbmVlZCB0byBwcm94eSBw
cm9wcyBkZWZpbmVkIGF0XG4gICAgLy8gaW5zdGFudGlhdGlvbiBoZXJlLlxuICAgIGlmICghKGtl
eSBpbiB2bSkpIHtcbiAgICAgIHByb3h5KHZtLCBcIl9wcm9wc1wiLCBrZXkpO1xuICAgIH1cbiAg
fTtcblxuICBmb3IgKHZhciBrZXkgaW4gcHJvcHNPcHRpb25zKSBsb29wKCBrZXkgKTtcbiAgb2Jz
ZXJ2ZXJTdGF0ZS5zaG91bGRDb252ZXJ0ID0gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gaW5pdERhdGEg
KHZtKSB7XG4gIHZhciBkYXRhID0gdm0uJG9wdGlvbnMuZGF0YTtcbiAgZGF0YSA9IHZtLl9kYXRh
ID0gdHlwZW9mIGRhdGEgPT09ICdmdW5jdGlvbidcbiAgICA/IGdldERhdGEoZGF0YSwgdm0pXG4g
ICAgOiBkYXRhIHx8IHt9O1xuICBpZiAoIWlzUGxhaW5PYmplY3QoZGF0YSkpIHtcbiAgICBkYXRh
ID0ge307XG4gICAgXCJwcm9kdWN0aW9uXCIgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAg
ICAgJ2RhdGEgZnVuY3Rpb25zIHNob3VsZCByZXR1cm4gYW4gb2JqZWN0OlxcbicgK1xuICAgICAg
J2h0dHBzOi8vdnVlanMub3JnL3YyL2d1aWRlL2NvbXBvbmVudHMuaHRtbCNkYXRhLU11c3QtQmUt
YS1GdW5jdGlvbicsXG4gICAgICB2bVxuICAgICk7XG4gIH1cbiAgLy8gcHJveHkgZGF0YSBvbiBp
bnN0YW5jZVxuICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKGRhdGEpO1xuICB2YXIgcHJvcHMgPSB2
bS4kb3B0aW9ucy5wcm9wcztcbiAgdmFyIG1ldGhvZHMgPSB2bS4kb3B0aW9ucy5tZXRob2RzO1xu
ICB2YXIgaSA9IGtleXMubGVuZ3RoO1xuICB3aGlsZSAoaS0tKSB7XG4gICAgdmFyIGtleSA9IGtl
eXNbaV07XG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICBpZiAobWV0aG9kcyAmJiBoYXNPd24obWV0
aG9kcywga2V5KSkge1xuICAgICAgICB3YXJuKFxuICAgICAgICAgIChcIm1ldGhvZCBcXFwiXCIg
KyBrZXkgKyBcIlxcXCIgaGFzIGFscmVhZHkgYmVlbiBkZWZpbmVkIGFzIGEgZGF0YSBwcm9wZXJ0
eS5cIiksXG4gICAgICAgICAgdm1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYg
KHByb3BzICYmIGhhc093bihwcm9wcywga2V5KSkge1xuICAgICAgXCJwcm9kdWN0aW9uXCIgIT09
ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgICBcIlRoZSBkYXRhIHByb3BlcnR5IFxcXCJc
IiArIGtleSArIFwiXFxcIiBpcyBhbHJlYWR5IGRlY2xhcmVkIGFzIGEgcHJvcC4gXCIgK1xuICAg
ICAgICBcIlVzZSBwcm9wIGRlZmF1bHQgdmFsdWUgaW5zdGVhZC5cIixcbiAgICAgICAgdm1cbiAg
ICAgICk7XG4gICAgfSBlbHNlIGlmICghaXNSZXNlcnZlZChrZXkpKSB7XG4gICAgICBwcm94eSh2
bSwgXCJfZGF0YVwiLCBrZXkpO1xuICAgIH1cbiAgfVxuICAvLyBvYnNlcnZlIGRhdGFcbiAgb2Jz
ZXJ2ZShkYXRhLCB0cnVlIC8qIGFzUm9vdERhdGEgKi8pO1xufVxuXG5mdW5jdGlvbiBnZXREYXRh
IChkYXRhLCB2bSkge1xuICB0cnkge1xuICAgIHJldHVybiBkYXRhLmNhbGwodm0pXG4gIH0gY2F0
Y2ggKGUpIHtcbiAgICBoYW5kbGVFcnJvcihlLCB2bSwgXCJkYXRhKClcIik7XG4gICAgcmV0dXJu
IHt9XG4gIH1cbn1cblxudmFyIGNvbXB1dGVkV2F0Y2hlck9wdGlvbnMgPSB7IGxhenk6IHRydWUg
fTtcblxuZnVuY3Rpb24gaW5pdENvbXB1dGVkICh2bSwgY29tcHV0ZWQpIHtcbiAgXCJwcm9kdWN0
aW9uXCIgIT09ICdwcm9kdWN0aW9uJyAmJiBjaGVja09wdGlvblR5cGUodm0sICdjb21wdXRlZCcp
O1xuICB2YXIgd2F0Y2hlcnMgPSB2bS5fY29tcHV0ZWRXYXRjaGVycyA9IE9iamVjdC5jcmVhdGUo
bnVsbCk7XG5cbiAgZm9yICh2YXIga2V5IGluIGNvbXB1dGVkKSB7XG4gICAgdmFyIHVzZXJEZWYg
PSBjb21wdXRlZFtrZXldO1xuICAgIHZhciBnZXR0ZXIgPSB0eXBlb2YgdXNlckRlZiA9PT0gJ2Z1
bmN0aW9uJyA/IHVzZXJEZWYgOiB1c2VyRGVmLmdldDtcbiAgICBpZiAoZmFsc2UpIHtcbiAgICAg
IHdhcm4oXG4gICAgICAgIChcIkdldHRlciBpcyBtaXNzaW5nIGZvciBjb21wdXRlZCBwcm9wZXJ0
eSBcXFwiXCIgKyBrZXkgKyBcIlxcXCIuXCIpLFxuICAgICAgICB2bVxuICAgICAgKTtcbiAgICB9
XG4gICAgLy8gY3JlYXRlIGludGVybmFsIHdhdGNoZXIgZm9yIHRoZSBjb21wdXRlZCBwcm9wZXJ0
eS5cbiAgICB3YXRjaGVyc1trZXldID0gbmV3IFdhdGNoZXIodm0sIGdldHRlciB8fCBub29wLCBu
b29wLCBjb21wdXRlZFdhdGNoZXJPcHRpb25zKTtcblxuICAgIC8vIGNvbXBvbmVudC1kZWZpbmVk
IGNvbXB1dGVkIHByb3BlcnRpZXMgYXJlIGFscmVhZHkgZGVmaW5lZCBvbiB0aGVcbiAgICAvLyBj
b21wb25lbnQgcHJvdG90eXBlLiBXZSBvbmx5IG5lZWQgdG8gZGVmaW5lIGNvbXB1dGVkIHByb3Bl
cnRpZXMgZGVmaW5lZFxuICAgIC8vIGF0IGluc3RhbnRpYXRpb24gaGVyZS5cbiAgICBpZiAoIShr
ZXkgaW4gdm0pKSB7XG4gICAgICBkZWZpbmVDb21wdXRlZCh2bSwga2V5LCB1c2VyRGVmKTtcbiAg
ICB9IGVsc2UgaWYgKGZhbHNlKSB7XG4gICAgICBpZiAoa2V5IGluIHZtLiRkYXRhKSB7XG4gICAg
ICAgIHdhcm4oKFwiVGhlIGNvbXB1dGVkIHByb3BlcnR5IFxcXCJcIiArIGtleSArIFwiXFxcIiBp
cyBhbHJlYWR5IGRlZmluZWQgaW4gZGF0YS5cIiksIHZtKTtcbiAgICAgIH0gZWxzZSBpZiAodm0u
JG9wdGlvbnMucHJvcHMgJiYga2V5IGluIHZtLiRvcHRpb25zLnByb3BzKSB7XG4gICAgICAgIHdh
cm4oKFwiVGhlIGNvbXB1dGVkIHByb3BlcnR5IFxcXCJcIiArIGtleSArIFwiXFxcIiBpcyBhbHJl
YWR5IGRlZmluZWQgYXMgYSBwcm9wLlwiKSwgdm0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxu
XG5mdW5jdGlvbiBkZWZpbmVDb21wdXRlZCAodGFyZ2V0LCBrZXksIHVzZXJEZWYpIHtcbiAgaWYg
KHR5cGVvZiB1c2VyRGVmID09PSAnZnVuY3Rpb24nKSB7XG4gICAgc2hhcmVkUHJvcGVydHlEZWZp
bml0aW9uLmdldCA9IGNyZWF0ZUNvbXB1dGVkR2V0dGVyKGtleSk7XG4gICAgc2hhcmVkUHJvcGVy
dHlEZWZpbml0aW9uLnNldCA9IG5vb3A7XG4gIH0gZWxzZSB7XG4gICAgc2hhcmVkUHJvcGVydHlE
ZWZpbml0aW9uLmdldCA9IHVzZXJEZWYuZ2V0XG4gICAgICA/IHVzZXJEZWYuY2FjaGUgIT09IGZh
bHNlXG4gICAgICAgID8gY3JlYXRlQ29tcHV0ZWRHZXR0ZXIoa2V5KVxuICAgICAgICA6IHVzZXJE
ZWYuZ2V0XG4gICAgICA6IG5vb3A7XG4gICAgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uLnNldCA9
IHVzZXJEZWYuc2V0XG4gICAgICA/IHVzZXJEZWYuc2V0XG4gICAgICA6IG5vb3A7XG4gIH1cbiAg
aWYgKGZhbHNlKSB7XG4gICAgc2hhcmVkUHJvcGVydHlEZWZpbml0aW9uLnNldCA9IGZ1bmN0aW9u
ICgpIHtcbiAgICAgIHdhcm4oXG4gICAgICAgIChcIkNvbXB1dGVkIHByb3BlcnR5IFxcXCJcIiAr
IGtleSArIFwiXFxcIiB3YXMgYXNzaWduZWQgdG8gYnV0IGl0IGhhcyBubyBzZXR0ZXIuXCIpLFxu
ICAgICAgICB0aGlzXG4gICAgICApO1xuICAgIH07XG4gIH1cbiAgT2JqZWN0LmRlZmluZVByb3Bl
cnR5KHRhcmdldCwga2V5LCBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24pO1xufVxuXG5mdW5jdGlv
biBjcmVhdGVDb21wdXRlZEdldHRlciAoa2V5KSB7XG4gIHJldHVybiBmdW5jdGlvbiBjb21wdXRl
ZEdldHRlciAoKSB7XG4gICAgdmFyIHdhdGNoZXIgPSB0aGlzLl9jb21wdXRlZFdhdGNoZXJzICYm
IHRoaXMuX2NvbXB1dGVkV2F0Y2hlcnNba2V5XTtcbiAgICBpZiAod2F0Y2hlcikge1xuICAgICAg
aWYgKHdhdGNoZXIuZGlydHkpIHtcbiAgICAgICAgd2F0Y2hlci5ldmFsdWF0ZSgpO1xuICAgICAg
fVxuICAgICAgaWYgKERlcC50YXJnZXQpIHtcbiAgICAgICAgd2F0Y2hlci5kZXBlbmQoKTtcbiAg
ICAgIH1cbiAgICAgIHJldHVybiB3YXRjaGVyLnZhbHVlXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0
aW9uIGluaXRNZXRob2RzICh2bSwgbWV0aG9kcykge1xuICBcInByb2R1Y3Rpb25cIiAhPT0gJ3By
b2R1Y3Rpb24nICYmIGNoZWNrT3B0aW9uVHlwZSh2bSwgJ21ldGhvZHMnKTtcbiAgdmFyIHByb3Bz
ID0gdm0uJG9wdGlvbnMucHJvcHM7XG4gIGZvciAodmFyIGtleSBpbiBtZXRob2RzKSB7XG4gICAg
dm1ba2V5XSA9IG1ldGhvZHNba2V5XSA9PSBudWxsID8gbm9vcCA6IGJpbmQobWV0aG9kc1trZXld
LCB2bSk7XG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICBpZiAobWV0aG9kc1trZXldID09IG51bGwp
IHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICBcIm1ldGhvZCBcXFwiXCIgKyBrZXkgKyBcIlxc
XCIgaGFzIGFuIHVuZGVmaW5lZCB2YWx1ZSBpbiB0aGUgY29tcG9uZW50IGRlZmluaXRpb24uIFwi
ICtcbiAgICAgICAgICBcIkRpZCB5b3UgcmVmZXJlbmNlIHRoZSBmdW5jdGlvbiBjb3JyZWN0bHk/
XCIsXG4gICAgICAgICAgdm1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcyAm
JiBoYXNPd24ocHJvcHMsIGtleSkpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICAoXCJtZXRo
b2QgXFxcIlwiICsga2V5ICsgXCJcXFwiIGhhcyBhbHJlYWR5IGJlZW4gZGVmaW5lZCBhcyBhIHBy
b3AuXCIpLFxuICAgICAgICAgIHZtXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG59
XG5cbmZ1bmN0aW9uIGluaXRXYXRjaCAodm0sIHdhdGNoKSB7XG4gIFwicHJvZHVjdGlvblwiICE9
PSAncHJvZHVjdGlvbicgJiYgY2hlY2tPcHRpb25UeXBlKHZtLCAnd2F0Y2gnKTtcbiAgZm9yICh2
YXIga2V5IGluIHdhdGNoKSB7XG4gICAgdmFyIGhhbmRsZXIgPSB3YXRjaFtrZXldO1xuICAgIGlm
IChBcnJheS5pc0FycmF5KGhhbmRsZXIpKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGhh
bmRsZXIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY3JlYXRlV2F0Y2hlcih2bSwga2V5LCBoYW5k
bGVyW2ldKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY3JlYXRlV2F0Y2hlcih2bSwg
a2V5LCBoYW5kbGVyKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlV2F0Y2hlciAo
XG4gIHZtLFxuICBrZXlPckZuLFxuICBoYW5kbGVyLFxuICBvcHRpb25zXG4pIHtcbiAgaWYgKGlz
UGxhaW5PYmplY3QoaGFuZGxlcikpIHtcbiAgICBvcHRpb25zID0gaGFuZGxlcjtcbiAgICBoYW5k
bGVyID0gaGFuZGxlci5oYW5kbGVyO1xuICB9XG4gIGlmICh0eXBlb2YgaGFuZGxlciA9PT0gJ3N0
cmluZycpIHtcbiAgICBoYW5kbGVyID0gdm1baGFuZGxlcl07XG4gIH1cbiAgcmV0dXJuIHZtLiR3
YXRjaChrZXlPckZuLCBoYW5kbGVyLCBvcHRpb25zKVxufVxuXG5mdW5jdGlvbiBzdGF0ZU1peGlu
IChWdWUpIHtcbiAgLy8gZmxvdyBzb21laG93IGhhcyBwcm9ibGVtcyB3aXRoIGRpcmVjdGx5IGRl
Y2xhcmVkIGRlZmluaXRpb24gb2JqZWN0XG4gIC8vIHdoZW4gdXNpbmcgT2JqZWN0LmRlZmluZVBy
b3BlcnR5LCBzbyB3ZSBoYXZlIHRvIHByb2NlZHVyYWxseSBidWlsZCB1cFxuICAvLyB0aGUgb2Jq
ZWN0IGhlcmUuXG4gIHZhciBkYXRhRGVmID0ge307XG4gIGRhdGFEZWYuZ2V0ID0gZnVuY3Rpb24g
KCkgeyByZXR1cm4gdGhpcy5fZGF0YSB9O1xuICB2YXIgcHJvcHNEZWYgPSB7fTtcbiAgcHJvcHNE
ZWYuZ2V0ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpcy5fcHJvcHMgfTtcbiAgaWYgKGZhbHNl
KSB7XG4gICAgZGF0YURlZi5zZXQgPSBmdW5jdGlvbiAobmV3RGF0YSkge1xuICAgICAgd2Fybihc
biAgICAgICAgJ0F2b2lkIHJlcGxhY2luZyBpbnN0YW5jZSByb290ICRkYXRhLiAnICtcbiAgICAg
ICAgJ1VzZSBuZXN0ZWQgZGF0YSBwcm9wZXJ0aWVzIGluc3RlYWQuJyxcbiAgICAgICAgdGhpc1xu
ICAgICAgKTtcbiAgICB9O1xuICAgIHByb3BzRGVmLnNldCA9IGZ1bmN0aW9uICgpIHtcbiAgICAg
IHdhcm4oXCIkcHJvcHMgaXMgcmVhZG9ubHkuXCIsIHRoaXMpO1xuICAgIH07XG4gIH1cbiAgT2Jq
ZWN0LmRlZmluZVByb3BlcnR5KFZ1ZS5wcm90b3R5cGUsICckZGF0YScsIGRhdGFEZWYpO1xuICBP
YmplY3QuZGVmaW5lUHJvcGVydHkoVnVlLnByb3RvdHlwZSwgJyRwcm9wcycsIHByb3BzRGVmKTtc
blxuICBWdWUucHJvdG90eXBlLiRzZXQgPSBzZXQ7XG4gIFZ1ZS5wcm90b3R5cGUuJGRlbGV0ZSA9
IGRlbDtcblxuICBWdWUucHJvdG90eXBlLiR3YXRjaCA9IGZ1bmN0aW9uIChcbiAgICBleHBPckZu
LFxuICAgIGNiLFxuICAgIG9wdGlvbnNcbiAgKSB7XG4gICAgdmFyIHZtID0gdGhpcztcbiAgICBp
ZiAoaXNQbGFpbk9iamVjdChjYikpIHtcbiAgICAgIHJldHVybiBjcmVhdGVXYXRjaGVyKHZtLCBl
eHBPckZuLCBjYiwgb3B0aW9ucylcbiAgICB9XG4gICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307
XG4gICAgb3B0aW9ucy51c2VyID0gdHJ1ZTtcbiAgICB2YXIgd2F0Y2hlciA9IG5ldyBXYXRjaGVy
KHZtLCBleHBPckZuLCBjYiwgb3B0aW9ucyk7XG4gICAgaWYgKG9wdGlvbnMuaW1tZWRpYXRlKSB7
XG4gICAgICBjYi5jYWxsKHZtLCB3YXRjaGVyLnZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIGZ1
bmN0aW9uIHVud2F0Y2hGbiAoKSB7XG4gICAgICB3YXRjaGVyLnRlYXJkb3duKCk7XG4gICAgfVxu
ICB9O1xufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gaW5pdFByb3ZpZGUgKHZtKSB7XG4gIHZhciBw
cm92aWRlID0gdm0uJG9wdGlvbnMucHJvdmlkZTtcbiAgaWYgKHByb3ZpZGUpIHtcbiAgICB2bS5f
cHJvdmlkZWQgPSB0eXBlb2YgcHJvdmlkZSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgPyBwcm92aWRl
LmNhbGwodm0pXG4gICAgICA6IHByb3ZpZGU7XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5pdEluamVj
dGlvbnMgKHZtKSB7XG4gIHZhciByZXN1bHQgPSByZXNvbHZlSW5qZWN0KHZtLiRvcHRpb25zLmlu
amVjdCwgdm0pO1xuICBpZiAocmVzdWx0KSB7XG4gICAgb2JzZXJ2ZXJTdGF0ZS5zaG91bGRDb252
ZXJ0ID0gZmFsc2U7XG4gICAgT2JqZWN0LmtleXMocmVzdWx0KS5mb3JFYWNoKGZ1bmN0aW9uIChr
ZXkpIHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoZmFsc2Up
IHtcbiAgICAgICAgZGVmaW5lUmVhY3RpdmUkJDEodm0sIGtleSwgcmVzdWx0W2tleV0sIGZ1bmN0
aW9uICgpIHtcbiAgICAgICAgICB3YXJuKFxuICAgICAgICAgICAgXCJBdm9pZCBtdXRhdGluZyBh
biBpbmplY3RlZCB2YWx1ZSBkaXJlY3RseSBzaW5jZSB0aGUgY2hhbmdlcyB3aWxsIGJlIFwiICtc
biAgICAgICAgICAgIFwib3ZlcndyaXR0ZW4gd2hlbmV2ZXIgdGhlIHByb3ZpZGVkIGNvbXBvbmVu
dCByZS1yZW5kZXJzLiBcIiArXG4gICAgICAgICAgICBcImluamVjdGlvbiBiZWluZyBtdXRhdGVk
OiBcXFwiXCIgKyBrZXkgKyBcIlxcXCJcIixcbiAgICAgICAgICAgIHZtXG4gICAgICAgICAgKTtc
biAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWZpbmVSZWFjdGl2ZSQkMSh2
bSwga2V5LCByZXN1bHRba2V5XSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgb2JzZXJ2ZXJTdGF0
ZS5zaG91bGRDb252ZXJ0ID0gdHJ1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNvbHZlSW5qZWN0
IChpbmplY3QsIHZtKSB7XG4gIGlmIChpbmplY3QpIHtcbiAgICAvLyBpbmplY3QgaXMgOmFueSBi
ZWNhdXNlIGZsb3cgaXMgbm90IHNtYXJ0IGVub3VnaCB0byBmaWd1cmUgb3V0IGNhY2hlZFxuICAg
IHZhciByZXN1bHQgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgIHZhciBrZXlzID0gaGFzU3lt
Ym9sXG4gICAgICAgID8gUmVmbGVjdC5vd25LZXlzKGluamVjdClcbiAgICAgICAgOiBPYmplY3Qu
a2V5cyhpbmplY3QpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsr
KSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcbiAgICAgIHZhciBwcm92aWRlS2V5ID0gaW5q
ZWN0W2tleV07XG4gICAgICB2YXIgc291cmNlID0gdm07XG4gICAgICB3aGlsZSAoc291cmNlKSB7
XG4gICAgICAgIGlmIChzb3VyY2UuX3Byb3ZpZGVkICYmIHByb3ZpZGVLZXkgaW4gc291cmNlLl9w
cm92aWRlZCkge1xuICAgICAgICAgIHJlc3VsdFtrZXldID0gc291cmNlLl9wcm92aWRlZFtwcm92
aWRlS2V5XTtcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICAgIHNvdXJjZSA9IHNv
dXJjZS4kcGFyZW50O1xuICAgICAgfVxuICAgICAgaWYgKGZhbHNlKSB7XG4gICAgICAgIHdhcm4o
KFwiSW5qZWN0aW9uIFxcXCJcIiArIGtleSArIFwiXFxcIiBub3QgZm91bmRcIiksIHZtKTtcbiAg
ICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG59XG5cbi8qICAqL1xuXG5mdW5j
dGlvbiBjcmVhdGVGdW5jdGlvbmFsQ29tcG9uZW50IChcbiAgQ3RvcixcbiAgcHJvcHNEYXRhLFxu
ICBkYXRhLFxuICBjb250ZXh0LFxuICBjaGlsZHJlblxuKSB7XG4gIHZhciBwcm9wcyA9IHt9O1xu
ICB2YXIgcHJvcE9wdGlvbnMgPSBDdG9yLm9wdGlvbnMucHJvcHM7XG4gIGlmIChpc0RlZihwcm9w
T3B0aW9ucykpIHtcbiAgICBmb3IgKHZhciBrZXkgaW4gcHJvcE9wdGlvbnMpIHtcbiAgICAgIHBy
b3BzW2tleV0gPSB2YWxpZGF0ZVByb3Aoa2V5LCBwcm9wT3B0aW9ucywgcHJvcHNEYXRhIHx8IHt9
KTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGlzRGVmKGRhdGEuYXR0cnMpKSB7IG1lcmdl
UHJvcHMocHJvcHMsIGRhdGEuYXR0cnMpOyB9XG4gICAgaWYgKGlzRGVmKGRhdGEucHJvcHMpKSB7
IG1lcmdlUHJvcHMocHJvcHMsIGRhdGEucHJvcHMpOyB9XG4gIH1cbiAgLy8gZW5zdXJlIHRoZSBj
cmVhdGVFbGVtZW50IGZ1bmN0aW9uIGluIGZ1bmN0aW9uYWwgY29tcG9uZW50c1xuICAvLyBnZXRz
IGEgdW5pcXVlIGNvbnRleHQgLSB0aGlzIGlzIG5lY2Vzc2FyeSBmb3IgY29ycmVjdCBuYW1lZCBz
bG90IGNoZWNrXG4gIHZhciBfY29udGV4dCA9IE9iamVjdC5jcmVhdGUoY29udGV4dCk7XG4gIHZh
ciBoID0gZnVuY3Rpb24gKGEsIGIsIGMsIGQpIHsgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoX2NvbnRl
eHQsIGEsIGIsIGMsIGQsIHRydWUpOyB9O1xuICB2YXIgdm5vZGUgPSBDdG9yLm9wdGlvbnMucmVu
ZGVyLmNhbGwobnVsbCwgaCwge1xuICAgIGRhdGE6IGRhdGEsXG4gICAgcHJvcHM6IHByb3BzLFxu
ICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcbiAgICBwYXJlbnQ6IGNvbnRleHQsXG4gICAgbGlzdGVu
ZXJzOiBkYXRhLm9uIHx8IHt9LFxuICAgIGluamVjdGlvbnM6IHJlc29sdmVJbmplY3QoQ3Rvci5v
cHRpb25zLmluamVjdCwgY29udGV4dCksXG4gICAgc2xvdHM6IGZ1bmN0aW9uICgpIHsgcmV0dXJu
IHJlc29sdmVTbG90cyhjaGlsZHJlbiwgY29udGV4dCk7IH1cbiAgfSk7XG4gIGlmICh2bm9kZSBp
bnN0YW5jZW9mIFZOb2RlKSB7XG4gICAgdm5vZGUuZnVuY3Rpb25hbENvbnRleHQgPSBjb250ZXh0
O1xuICAgIHZub2RlLmZ1bmN0aW9uYWxPcHRpb25zID0gQ3Rvci5vcHRpb25zO1xuICAgIGlmIChk
YXRhLnNsb3QpIHtcbiAgICAgICh2bm9kZS5kYXRhIHx8ICh2bm9kZS5kYXRhID0ge30pKS5zbG90
ID0gZGF0YS5zbG90O1xuICAgIH1cbiAgfVxuICByZXR1cm4gdm5vZGVcbn1cblxuZnVuY3Rpb24g
bWVyZ2VQcm9wcyAodG8sIGZyb20pIHtcbiAgZm9yICh2YXIga2V5IGluIGZyb20pIHtcbiAgICB0
b1tjYW1lbGl6ZShrZXkpXSA9IGZyb21ba2V5XTtcbiAgfVxufVxuXG4vKiAgKi9cblxuLy8gaG9v
a3MgdG8gYmUgaW52b2tlZCBvbiBjb21wb25lbnQgVk5vZGVzIGR1cmluZyBwYXRjaFxudmFyIGNv
bXBvbmVudFZOb2RlSG9va3MgPSB7XG4gIGluaXQ6IGZ1bmN0aW9uIGluaXQgKFxuICAgIHZub2Rl
LFxuICAgIGh5ZHJhdGluZyxcbiAgICBwYXJlbnRFbG0sXG4gICAgcmVmRWxtXG4gICkge1xuICAg
IGlmICghdm5vZGUuY29tcG9uZW50SW5zdGFuY2UgfHwgdm5vZGUuY29tcG9uZW50SW5zdGFuY2Uu
X2lzRGVzdHJveWVkKSB7XG4gICAgICB2YXIgY2hpbGQgPSB2bm9kZS5jb21wb25lbnRJbnN0YW5j
ZSA9IGNyZWF0ZUNvbXBvbmVudEluc3RhbmNlRm9yVm5vZGUoXG4gICAgICAgIHZub2RlLFxuICAg
ICAgICBhY3RpdmVJbnN0YW5jZSxcbiAgICAgICAgcGFyZW50RWxtLFxuICAgICAgICByZWZFbG1c
biAgICAgICk7XG4gICAgICBjaGlsZC4kbW91bnQoaHlkcmF0aW5nID8gdm5vZGUuZWxtIDogdW5k
ZWZpbmVkLCBoeWRyYXRpbmcpO1xuICAgIH0gZWxzZSBpZiAodm5vZGUuZGF0YS5rZWVwQWxpdmUp
IHtcbiAgICAgIC8vIGtlcHQtYWxpdmUgY29tcG9uZW50cywgdHJlYXQgYXMgYSBwYXRjaFxuICAg
ICAgdmFyIG1vdW50ZWROb2RlID0gdm5vZGU7IC8vIHdvcmsgYXJvdW5kIGZsb3dcbiAgICAgIGNv
bXBvbmVudFZOb2RlSG9va3MucHJlcGF0Y2gobW91bnRlZE5vZGUsIG1vdW50ZWROb2RlKTtcbiAg
ICB9XG4gIH0sXG5cbiAgcHJlcGF0Y2g6IGZ1bmN0aW9uIHByZXBhdGNoIChvbGRWbm9kZSwgdm5v
ZGUpIHtcbiAgICB2YXIgb3B0aW9ucyA9IHZub2RlLmNvbXBvbmVudE9wdGlvbnM7XG4gICAgdmFy
IGNoaWxkID0gdm5vZGUuY29tcG9uZW50SW5zdGFuY2UgPSBvbGRWbm9kZS5jb21wb25lbnRJbnN0
YW5jZTtcbiAgICB1cGRhdGVDaGlsZENvbXBvbmVudChcbiAgICAgIGNoaWxkLFxuICAgICAgb3B0
aW9ucy5wcm9wc0RhdGEsIC8vIHVwZGF0ZWQgcHJvcHNcbiAgICAgIG9wdGlvbnMubGlzdGVuZXJz
LCAvLyB1cGRhdGVkIGxpc3RlbmVyc1xuICAgICAgdm5vZGUsIC8vIG5ldyBwYXJlbnQgdm5vZGVc
biAgICAgIG9wdGlvbnMuY2hpbGRyZW4gLy8gbmV3IGNoaWxkcmVuXG4gICAgKTtcbiAgfSxcblxu
ICBpbnNlcnQ6IGZ1bmN0aW9uIGluc2VydCAodm5vZGUpIHtcbiAgICB2YXIgY29udGV4dCA9IHZu
b2RlLmNvbnRleHQ7XG4gICAgdmFyIGNvbXBvbmVudEluc3RhbmNlID0gdm5vZGUuY29tcG9uZW50
SW5zdGFuY2U7XG4gICAgaWYgKCFjb21wb25lbnRJbnN0YW5jZS5faXNNb3VudGVkKSB7XG4gICAg
ICBjb21wb25lbnRJbnN0YW5jZS5faXNNb3VudGVkID0gdHJ1ZTtcbiAgICAgIGNhbGxIb29rKGNv
bXBvbmVudEluc3RhbmNlLCAnbW91bnRlZCcpO1xuICAgIH1cbiAgICBpZiAodm5vZGUuZGF0YS5r
ZWVwQWxpdmUpIHtcbiAgICAgIGlmIChjb250ZXh0Ll9pc01vdW50ZWQpIHtcbiAgICAgICAgLy8g
dnVlLXJvdXRlciMxMjEyXG4gICAgICAgIC8vIER1cmluZyB1cGRhdGVzLCBhIGtlcHQtYWxpdmUg
Y29tcG9uZW50J3MgY2hpbGQgY29tcG9uZW50cyBtYXlcbiAgICAgICAgLy8gY2hhbmdlLCBzbyBk
aXJlY3RseSB3YWxraW5nIHRoZSB0cmVlIGhlcmUgbWF5IGNhbGwgYWN0aXZhdGVkIGhvb2tzXG4g
ICAgICAgIC8vIG9uIGluY29ycmVjdCBjaGlsZHJlbi4gSW5zdGVhZCB3ZSBwdXNoIHRoZW0gaW50
byBhIHF1ZXVlIHdoaWNoIHdpbGxcbiAgICAgICAgLy8gYmUgcHJvY2Vzc2VkIGFmdGVyIHRoZSB3
aG9sZSBwYXRjaCBwcm9jZXNzIGVuZGVkLlxuICAgICAgICBxdWV1ZUFjdGl2YXRlZENvbXBvbmVu
dChjb21wb25lbnRJbnN0YW5jZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhY3RpdmF0ZUNo
aWxkQ29tcG9uZW50KGNvbXBvbmVudEluc3RhbmNlLCB0cnVlIC8qIGRpcmVjdCAqLyk7XG4gICAg
ICB9XG4gICAgfVxuICB9LFxuXG4gIGRlc3Ryb3k6IGZ1bmN0aW9uIGRlc3Ryb3kgKHZub2RlKSB7
XG4gICAgdmFyIGNvbXBvbmVudEluc3RhbmNlID0gdm5vZGUuY29tcG9uZW50SW5zdGFuY2U7XG4g
ICAgaWYgKCFjb21wb25lbnRJbnN0YW5jZS5faXNEZXN0cm95ZWQpIHtcbiAgICAgIGlmICghdm5v
ZGUuZGF0YS5rZWVwQWxpdmUpIHtcbiAgICAgICAgY29tcG9uZW50SW5zdGFuY2UuJGRlc3Ryb3ko
KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlYWN0aXZhdGVDaGlsZENvbXBvbmVudChjb21w
b25lbnRJbnN0YW5jZSwgdHJ1ZSAvKiBkaXJlY3QgKi8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxu
fTtcblxudmFyIGhvb2tzVG9NZXJnZSA9IE9iamVjdC5rZXlzKGNvbXBvbmVudFZOb2RlSG9va3Mp
O1xuXG5mdW5jdGlvbiBjcmVhdGVDb21wb25lbnQgKFxuICBDdG9yLFxuICBkYXRhLFxuICBjb250
ZXh0LFxuICBjaGlsZHJlbixcbiAgdGFnXG4pIHtcbiAgaWYgKGlzVW5kZWYoQ3RvcikpIHtcbiAg
ICByZXR1cm5cbiAgfVxuXG4gIHZhciBiYXNlQ3RvciA9IGNvbnRleHQuJG9wdGlvbnMuX2Jhc2U7
XG5cbiAgLy8gcGxhaW4gb3B0aW9ucyBvYmplY3Q6IHR1cm4gaXQgaW50byBhIGNvbnN0cnVjdG9y
XG4gIGlmIChpc09iamVjdChDdG9yKSkge1xuICAgIEN0b3IgPSBiYXNlQ3Rvci5leHRlbmQoQ3Rv
cik7XG4gIH1cblxuICAvLyBpZiBhdCB0aGlzIHN0YWdlIGl0J3Mgbm90IGEgY29uc3RydWN0b3Ig
b3IgYW4gYXN5bmMgY29tcG9uZW50IGZhY3RvcnksXG4gIC8vIHJlamVjdC5cbiAgaWYgKHR5cGVv
ZiBDdG9yICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICB3YXJuKChc
IkludmFsaWQgQ29tcG9uZW50IGRlZmluaXRpb246IFwiICsgKFN0cmluZyhDdG9yKSkpLCBjb250
ZXh0KTtcbiAgICB9XG4gICAgcmV0dXJuXG4gIH1cblxuICAvLyBhc3luYyBjb21wb25lbnRcbiAg
dmFyIGFzeW5jRmFjdG9yeTtcbiAgaWYgKGlzVW5kZWYoQ3Rvci5jaWQpKSB7XG4gICAgYXN5bmNG
YWN0b3J5ID0gQ3RvcjtcbiAgICBDdG9yID0gcmVzb2x2ZUFzeW5jQ29tcG9uZW50KGFzeW5jRmFj
dG9yeSwgYmFzZUN0b3IsIGNvbnRleHQpO1xuICAgIGlmIChDdG9yID09PSB1bmRlZmluZWQpIHtc
biAgICAgIC8vIHJldHVybiBhIHBsYWNlaG9sZGVyIG5vZGUgZm9yIGFzeW5jIGNvbXBvbmVudCwg
d2hpY2ggaXMgcmVuZGVyZWRcbiAgICAgIC8vIGFzIGEgY29tbWVudCBub2RlIGJ1dCBwcmVzZXJ2
ZXMgYWxsIHRoZSByYXcgaW5mb3JtYXRpb24gZm9yIHRoZSBub2RlLlxuICAgICAgLy8gdGhlIGlu
Zm9ybWF0aW9uIHdpbGwgYmUgdXNlZCBmb3IgYXN5bmMgc2VydmVyLXJlbmRlcmluZyBhbmQgaHlk
cmF0aW9uLlxuICAgICAgcmV0dXJuIGNyZWF0ZUFzeW5jUGxhY2Vob2xkZXIoXG4gICAgICAgIGFz
eW5jRmFjdG9yeSxcbiAgICAgICAgZGF0YSxcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgY2hp
bGRyZW4sXG4gICAgICAgIHRhZ1xuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIGRhdGEgPSBkYXRh
IHx8IHt9O1xuXG4gIC8vIHJlc29sdmUgY29uc3RydWN0b3Igb3B0aW9ucyBpbiBjYXNlIGdsb2Jh
bCBtaXhpbnMgYXJlIGFwcGxpZWQgYWZ0ZXJcbiAgLy8gY29tcG9uZW50IGNvbnN0cnVjdG9yIGNy
ZWF0aW9uXG4gIHJlc29sdmVDb25zdHJ1Y3Rvck9wdGlvbnMoQ3Rvcik7XG5cbiAgLy8gdHJhbnNm
b3JtIGNvbXBvbmVudCB2LW1vZGVsIGRhdGEgaW50byBwcm9wcyAmIGV2ZW50c1xuICBpZiAoaXNE
ZWYoZGF0YS5tb2RlbCkpIHtcbiAgICB0cmFuc2Zvcm1Nb2RlbChDdG9yLm9wdGlvbnMsIGRhdGEp
O1xuICB9XG5cbiAgLy8gZXh0cmFjdCBwcm9wc1xuICB2YXIgcHJvcHNEYXRhID0gZXh0cmFjdFBy
b3BzRnJvbVZOb2RlRGF0YShkYXRhLCBDdG9yLCB0YWcpO1xuXG4gIC8vIGZ1bmN0aW9uYWwgY29t
cG9uZW50XG4gIGlmIChpc1RydWUoQ3Rvci5vcHRpb25zLmZ1bmN0aW9uYWwpKSB7XG4gICAgcmV0
dXJuIGNyZWF0ZUZ1bmN0aW9uYWxDb21wb25lbnQoQ3RvciwgcHJvcHNEYXRhLCBkYXRhLCBjb250
ZXh0LCBjaGlsZHJlbilcbiAgfVxuXG4gIC8vIGV4dHJhY3QgbGlzdGVuZXJzLCBzaW5jZSB0aGVz
ZSBuZWVkcyB0byBiZSB0cmVhdGVkIGFzXG4gIC8vIGNoaWxkIGNvbXBvbmVudCBsaXN0ZW5lcnMg
aW5zdGVhZCBvZiBET00gbGlzdGVuZXJzXG4gIHZhciBsaXN0ZW5lcnMgPSBkYXRhLm9uO1xuICAv
LyByZXBsYWNlIHdpdGggbGlzdGVuZXJzIHdpdGggLm5hdGl2ZSBtb2RpZmllclxuICAvLyBzbyBp
dCBnZXRzIHByb2Nlc3NlZCBkdXJpbmcgcGFyZW50IGNvbXBvbmVudCBwYXRjaC5cbiAgZGF0YS5v
biA9IGRhdGEubmF0aXZlT247XG5cbiAgaWYgKGlzVHJ1ZShDdG9yLm9wdGlvbnMuYWJzdHJhY3Qp
KSB7XG4gICAgLy8gYWJzdHJhY3QgY29tcG9uZW50cyBkbyBub3Qga2VlcCBhbnl0aGluZ1xuICAg
IC8vIG90aGVyIHRoYW4gcHJvcHMgJiBsaXN0ZW5lcnMgJiBzbG90XG5cbiAgICAvLyB3b3JrIGFy
b3VuZCBmbG93XG4gICAgdmFyIHNsb3QgPSBkYXRhLnNsb3Q7XG4gICAgZGF0YSA9IHt9O1xuICAg
IGlmIChzbG90KSB7XG4gICAgICBkYXRhLnNsb3QgPSBzbG90O1xuICAgIH1cbiAgfVxuXG4gIC8v
IG1lcmdlIGNvbXBvbmVudCBtYW5hZ2VtZW50IGhvb2tzIG9udG8gdGhlIHBsYWNlaG9sZGVyIG5v
ZGVcbiAgbWVyZ2VIb29rcyhkYXRhKTtcblxuICAvLyByZXR1cm4gYSBwbGFjZWhvbGRlciB2bm9k
ZVxuICB2YXIgbmFtZSA9IEN0b3Iub3B0aW9ucy5uYW1lIHx8IHRhZztcbiAgdmFyIHZub2RlID0g
bmV3IFZOb2RlKFxuICAgIChcInZ1ZS1jb21wb25lbnQtXCIgKyAoQ3Rvci5jaWQpICsgKG5hbWUg
PyAoXCItXCIgKyBuYW1lKSA6ICcnKSksXG4gICAgZGF0YSwgdW5kZWZpbmVkLCB1bmRlZmluZWQs
IHVuZGVmaW5lZCwgY29udGV4dCxcbiAgICB7IEN0b3I6IEN0b3IsIHByb3BzRGF0YTogcHJvcHNE
YXRhLCBsaXN0ZW5lcnM6IGxpc3RlbmVycywgdGFnOiB0YWcsIGNoaWxkcmVuOiBjaGlsZHJlbiB9
LFxuICAgIGFzeW5jRmFjdG9yeVxuICApO1xuICByZXR1cm4gdm5vZGVcbn1cblxuZnVuY3Rpb24g
Y3JlYXRlQ29tcG9uZW50SW5zdGFuY2VGb3JWbm9kZSAoXG4gIHZub2RlLCAvLyB3ZSBrbm93IGl0
J3MgTW91bnRlZENvbXBvbmVudFZOb2RlIGJ1dCBmbG93IGRvZXNuJ3RcbiAgcGFyZW50LCAvLyBh
Y3RpdmVJbnN0YW5jZSBpbiBsaWZlY3ljbGUgc3RhdGVcbiAgcGFyZW50RWxtLFxuICByZWZFbG1c
bikge1xuICB2YXIgdm5vZGVDb21wb25lbnRPcHRpb25zID0gdm5vZGUuY29tcG9uZW50T3B0aW9u
cztcbiAgdmFyIG9wdGlvbnMgPSB7XG4gICAgX2lzQ29tcG9uZW50OiB0cnVlLFxuICAgIHBhcmVu
dDogcGFyZW50LFxuICAgIHByb3BzRGF0YTogdm5vZGVDb21wb25lbnRPcHRpb25zLnByb3BzRGF0
YSxcbiAgICBfY29tcG9uZW50VGFnOiB2bm9kZUNvbXBvbmVudE9wdGlvbnMudGFnLFxuICAgIF9w
YXJlbnRWbm9kZTogdm5vZGUsXG4gICAgX3BhcmVudExpc3RlbmVyczogdm5vZGVDb21wb25lbnRP
cHRpb25zLmxpc3RlbmVycyxcbiAgICBfcmVuZGVyQ2hpbGRyZW46IHZub2RlQ29tcG9uZW50T3B0
aW9ucy5jaGlsZHJlbixcbiAgICBfcGFyZW50RWxtOiBwYXJlbnRFbG0gfHwgbnVsbCxcbiAgICBf
cmVmRWxtOiByZWZFbG0gfHwgbnVsbFxuICB9O1xuICAvLyBjaGVjayBpbmxpbmUtdGVtcGxhdGUg
cmVuZGVyIGZ1bmN0aW9uc1xuICB2YXIgaW5saW5lVGVtcGxhdGUgPSB2bm9kZS5kYXRhLmlubGlu
ZVRlbXBsYXRlO1xuICBpZiAoaXNEZWYoaW5saW5lVGVtcGxhdGUpKSB7XG4gICAgb3B0aW9ucy5y
ZW5kZXIgPSBpbmxpbmVUZW1wbGF0ZS5yZW5kZXI7XG4gICAgb3B0aW9ucy5zdGF0aWNSZW5kZXJG
bnMgPSBpbmxpbmVUZW1wbGF0ZS5zdGF0aWNSZW5kZXJGbnM7XG4gIH1cbiAgcmV0dXJuIG5ldyB2
bm9kZUNvbXBvbmVudE9wdGlvbnMuQ3RvcihvcHRpb25zKVxufVxuXG5mdW5jdGlvbiBtZXJnZUhv
b2tzIChkYXRhKSB7XG4gIGlmICghZGF0YS5ob29rKSB7XG4gICAgZGF0YS5ob29rID0ge307XG4g
IH1cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBob29rc1RvTWVyZ2UubGVuZ3RoOyBpKyspIHtcbiAg
ICB2YXIga2V5ID0gaG9va3NUb01lcmdlW2ldO1xuICAgIHZhciBmcm9tUGFyZW50ID0gZGF0YS5o
b29rW2tleV07XG4gICAgdmFyIG91cnMgPSBjb21wb25lbnRWTm9kZUhvb2tzW2tleV07XG4gICAg
ZGF0YS5ob29rW2tleV0gPSBmcm9tUGFyZW50ID8gbWVyZ2VIb29rJDEob3VycywgZnJvbVBhcmVu
dCkgOiBvdXJzO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1lcmdlSG9vayQxIChvbmUsIHR3bykge1xu
ICByZXR1cm4gZnVuY3Rpb24gKGEsIGIsIGMsIGQpIHtcbiAgICBvbmUoYSwgYiwgYywgZCk7XG4g
ICAgdHdvKGEsIGIsIGMsIGQpO1xuICB9XG59XG5cbi8vIHRyYW5zZm9ybSBjb21wb25lbnQgdi1t
b2RlbCBpbmZvICh2YWx1ZSBhbmQgY2FsbGJhY2spIGludG9cbi8vIHByb3AgYW5kIGV2ZW50IGhh
bmRsZXIgcmVzcGVjdGl2ZWx5LlxuZnVuY3Rpb24gdHJhbnNmb3JtTW9kZWwgKG9wdGlvbnMsIGRh
dGEpIHtcbiAgdmFyIHByb3AgPSAob3B0aW9ucy5tb2RlbCAmJiBvcHRpb25zLm1vZGVsLnByb3Ap
IHx8ICd2YWx1ZSc7XG4gIHZhciBldmVudCA9IChvcHRpb25zLm1vZGVsICYmIG9wdGlvbnMubW9k
ZWwuZXZlbnQpIHx8ICdpbnB1dCc7KGRhdGEucHJvcHMgfHwgKGRhdGEucHJvcHMgPSB7fSkpW3By
b3BdID0gZGF0YS5tb2RlbC52YWx1ZTtcbiAgdmFyIG9uID0gZGF0YS5vbiB8fCAoZGF0YS5vbiA9
IHt9KTtcbiAgaWYgKGlzRGVmKG9uW2V2ZW50XSkpIHtcbiAgICBvbltldmVudF0gPSBbZGF0YS5t
b2RlbC5jYWxsYmFja10uY29uY2F0KG9uW2V2ZW50XSk7XG4gIH0gZWxzZSB7XG4gICAgb25bZXZl
bnRdID0gZGF0YS5tb2RlbC5jYWxsYmFjaztcbiAgfVxufVxuXG4vKiAgKi9cblxudmFyIFNJTVBM
RV9OT1JNQUxJWkUgPSAxO1xudmFyIEFMV0FZU19OT1JNQUxJWkUgPSAyO1xuXG4vLyB3cmFwcGVy
IGZ1bmN0aW9uIGZvciBwcm92aWRpbmcgYSBtb3JlIGZsZXhpYmxlIGludGVyZmFjZVxuLy8gd2l0
aG91dCBnZXR0aW5nIHllbGxlZCBhdCBieSBmbG93XG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50IChc
biAgY29udGV4dCxcbiAgdGFnLFxuICBkYXRhLFxuICBjaGlsZHJlbixcbiAgbm9ybWFsaXphdGlv
blR5cGUsXG4gIGFsd2F5c05vcm1hbGl6ZVxuKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGRhdGEp
IHx8IGlzUHJpbWl0aXZlKGRhdGEpKSB7XG4gICAgbm9ybWFsaXphdGlvblR5cGUgPSBjaGlsZHJl
bjtcbiAgICBjaGlsZHJlbiA9IGRhdGE7XG4gICAgZGF0YSA9IHVuZGVmaW5lZDtcbiAgfVxuICBp
ZiAoaXNUcnVlKGFsd2F5c05vcm1hbGl6ZSkpIHtcbiAgICBub3JtYWxpemF0aW9uVHlwZSA9IEFM
V0FZU19OT1JNQUxJWkU7XG4gIH1cbiAgcmV0dXJuIF9jcmVhdGVFbGVtZW50KGNvbnRleHQsIHRh
ZywgZGF0YSwgY2hpbGRyZW4sIG5vcm1hbGl6YXRpb25UeXBlKVxufVxuXG5mdW5jdGlvbiBfY3Jl
YXRlRWxlbWVudCAoXG4gIGNvbnRleHQsXG4gIHRhZyxcbiAgZGF0YSxcbiAgY2hpbGRyZW4sXG4g
IG5vcm1hbGl6YXRpb25UeXBlXG4pIHtcbiAgaWYgKGlzRGVmKGRhdGEpICYmIGlzRGVmKChkYXRh
KS5fX29iX18pKSB7XG4gICAgXCJwcm9kdWN0aW9uXCIgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJu
KFxuICAgICAgXCJBdm9pZCB1c2luZyBvYnNlcnZlZCBkYXRhIG9iamVjdCBhcyB2bm9kZSBkYXRh
OiBcIiArIChKU09OLnN0cmluZ2lmeShkYXRhKSkgKyBcIlxcblwiICtcbiAgICAgICdBbHdheXMg
Y3JlYXRlIGZyZXNoIHZub2RlIGRhdGEgb2JqZWN0cyBpbiBlYWNoIHJlbmRlciEnLFxuICAgICAg
Y29udGV4dFxuICAgICk7XG4gICAgcmV0dXJuIGNyZWF0ZUVtcHR5Vk5vZGUoKVxuICB9XG4gIC8v
IG9iamVjdCBzeW50YXggaW4gdi1iaW5kXG4gIGlmIChpc0RlZihkYXRhKSAmJiBpc0RlZihkYXRh
LmlzKSkge1xuICAgIHRhZyA9IGRhdGEuaXM7XG4gIH1cbiAgaWYgKCF0YWcpIHtcbiAgICAvLyBp
biBjYXNlIG9mIGNvbXBvbmVudCA6aXMgc2V0IHRvIGZhbHN5IHZhbHVlXG4gICAgcmV0dXJuIGNy
ZWF0ZUVtcHR5Vk5vZGUoKVxuICB9XG4gIC8vIHdhcm4gYWdhaW5zdCBub24tcHJpbWl0aXZlIGtl
eVxuICBpZiAoZmFsc2VcbiAgKSB7XG4gICAgd2FybihcbiAgICAgICdBdm9pZCB1c2luZyBub24t
cHJpbWl0aXZlIHZhbHVlIGFzIGtleSwgJyArXG4gICAgICAndXNlIHN0cmluZy9udW1iZXIgdmFs
dWUgaW5zdGVhZC4nLFxuICAgICAgY29udGV4dFxuICAgICk7XG4gIH1cbiAgLy8gc3VwcG9ydCBz
aW5nbGUgZnVuY3Rpb24gY2hpbGRyZW4gYXMgZGVmYXVsdCBzY29wZWQgc2xvdFxuICBpZiAoQXJy
YXkuaXNBcnJheShjaGlsZHJlbikgJiZcbiAgICB0eXBlb2YgY2hpbGRyZW5bMF0gPT09ICdmdW5j
dGlvbidcbiAgKSB7XG4gICAgZGF0YSA9IGRhdGEgfHwge307XG4gICAgZGF0YS5zY29wZWRTbG90
cyA9IHsgZGVmYXVsdDogY2hpbGRyZW5bMF0gfTtcbiAgICBjaGlsZHJlbi5sZW5ndGggPSAwO1xu
ICB9XG4gIGlmIChub3JtYWxpemF0aW9uVHlwZSA9PT0gQUxXQVlTX05PUk1BTElaRSkge1xuICAg
IGNoaWxkcmVuID0gbm9ybWFsaXplQ2hpbGRyZW4oY2hpbGRyZW4pO1xuICB9IGVsc2UgaWYgKG5v
cm1hbGl6YXRpb25UeXBlID09PSBTSU1QTEVfTk9STUFMSVpFKSB7XG4gICAgY2hpbGRyZW4gPSBz
aW1wbGVOb3JtYWxpemVDaGlsZHJlbihjaGlsZHJlbik7XG4gIH1cbiAgdmFyIHZub2RlLCBucztc
biAgaWYgKHR5cGVvZiB0YWcgPT09ICdzdHJpbmcnKSB7XG4gICAgdmFyIEN0b3I7XG4gICAgbnMg
PSBjb25maWcuZ2V0VGFnTmFtZXNwYWNlKHRhZyk7XG4gICAgaWYgKGNvbmZpZy5pc1Jlc2VydmVk
VGFnKHRhZykpIHtcbiAgICAgIC8vIHBsYXRmb3JtIGJ1aWx0LWluIGVsZW1lbnRzXG4gICAgICB2
bm9kZSA9IG5ldyBWTm9kZShcbiAgICAgICAgY29uZmlnLnBhcnNlUGxhdGZvcm1UYWdOYW1lKHRh
ZyksIGRhdGEsIGNoaWxkcmVuLFxuICAgICAgICB1bmRlZmluZWQsIHVuZGVmaW5lZCwgY29udGV4
dFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGlzRGVmKEN0b3IgPSByZXNvbHZlQXNzZXQoY29u
dGV4dC4kb3B0aW9ucywgJ2NvbXBvbmVudHMnLCB0YWcpKSkge1xuICAgICAgLy8gY29tcG9uZW50
XG4gICAgICB2bm9kZSA9IGNyZWF0ZUNvbXBvbmVudChDdG9yLCBkYXRhLCBjb250ZXh0LCBjaGls
ZHJlbiwgdGFnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdW5rbm93biBvciB1bmxpc3RlZCBu
YW1lc3BhY2VkIGVsZW1lbnRzXG4gICAgICAvLyBjaGVjayBhdCBydW50aW1lIGJlY2F1c2UgaXQg
bWF5IGdldCBhc3NpZ25lZCBhIG5hbWVzcGFjZSB3aGVuIGl0c1xuICAgICAgLy8gcGFyZW50IG5v
cm1hbGl6ZXMgY2hpbGRyZW5cbiAgICAgIHZub2RlID0gbmV3IFZOb2RlKFxuICAgICAgICB0YWcs
IGRhdGEsIGNoaWxkcmVuLFxuICAgICAgICB1bmRlZmluZWQsIHVuZGVmaW5lZCwgY29udGV4dFxu
ICAgICAgKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgLy8gZGlyZWN0IGNvbXBvbmVudCBvcHRp
b25zIC8gY29uc3RydWN0b3JcbiAgICB2bm9kZSA9IGNyZWF0ZUNvbXBvbmVudCh0YWcsIGRhdGEs
IGNvbnRleHQsIGNoaWxkcmVuKTtcbiAgfVxuICBpZiAoaXNEZWYodm5vZGUpKSB7XG4gICAgaWYg
KG5zKSB7IGFwcGx5TlModm5vZGUsIG5zKTsgfVxuICAgIHJldHVybiB2bm9kZVxuICB9IGVsc2Ug
e1xuICAgIHJldHVybiBjcmVhdGVFbXB0eVZOb2RlKClcbiAgfVxufVxuXG5mdW5jdGlvbiBhcHBs
eU5TICh2bm9kZSwgbnMpIHtcbiAgdm5vZGUubnMgPSBucztcbiAgaWYgKHZub2RlLnRhZyA9PT0g
J2ZvcmVpZ25PYmplY3QnKSB7XG4gICAgLy8gdXNlIGRlZmF1bHQgbmFtZXNwYWNlIGluc2lkZSBm
b3JlaWduT2JqZWN0XG4gICAgcmV0dXJuXG4gIH1cbiAgaWYgKGlzRGVmKHZub2RlLmNoaWxkcmVu
KSkge1xuICAgIGZvciAodmFyIGkgPSAwLCBsID0gdm5vZGUuY2hpbGRyZW4ubGVuZ3RoOyBpIDwg
bDsgaSsrKSB7XG4gICAgICB2YXIgY2hpbGQgPSB2bm9kZS5jaGlsZHJlbltpXTtcbiAgICAgIGlm
IChpc0RlZihjaGlsZC50YWcpICYmIGlzVW5kZWYoY2hpbGQubnMpKSB7XG4gICAgICAgIGFwcGx5
TlMoY2hpbGQsIG5zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogICovXG5cbi8qKlxu
ICogUnVudGltZSBoZWxwZXIgZm9yIHJlbmRlcmluZyB2LWZvciBsaXN0cy5cbiAqL1xuZnVuY3Rp
b24gcmVuZGVyTGlzdCAoXG4gIHZhbCxcbiAgcmVuZGVyXG4pIHtcbiAgdmFyIHJldCwgaSwgbCwg
a2V5cywga2V5O1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWwpIHx8IHR5cGVvZiB2YWwgPT09ICdz
dHJpbmcnKSB7XG4gICAgcmV0ID0gbmV3IEFycmF5KHZhbC5sZW5ndGgpO1xuICAgIGZvciAoaSA9
IDAsIGwgPSB2YWwubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICByZXRbaV0gPSByZW5kZXIo
dmFsW2ldLCBpKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAodHlwZW9mIHZhbCA9PT0gJ251bWJlcicp
IHtcbiAgICByZXQgPSBuZXcgQXJyYXkodmFsKTtcbiAgICBmb3IgKGkgPSAwOyBpIDwgdmFsOyBp
KyspIHtcbiAgICAgIHJldFtpXSA9IHJlbmRlcihpICsgMSwgaSk7XG4gICAgfVxuICB9IGVsc2Ug
aWYgKGlzT2JqZWN0KHZhbCkpIHtcbiAgICBrZXlzID0gT2JqZWN0LmtleXModmFsKTtcbiAgICBy
ZXQgPSBuZXcgQXJyYXkoa2V5cy5sZW5ndGgpO1xuICAgIGZvciAoaSA9IDAsIGwgPSBrZXlzLmxl
bmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAga2V5ID0ga2V5c1tpXTtcbiAgICAgIHJldFtpXSA9
IHJlbmRlcih2YWxba2V5XSwga2V5LCBpKTtcbiAgICB9XG4gIH1cbiAgaWYgKGlzRGVmKHJldCkp
IHtcbiAgICAocmV0KS5faXNWTGlzdCA9IHRydWU7XG4gIH1cbiAgcmV0dXJuIHJldFxufVxuXG4v
KiAgKi9cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3IgcmVuZGVyaW5nIDxzbG90PlxuICov
XG5mdW5jdGlvbiByZW5kZXJTbG90IChcbiAgbmFtZSxcbiAgZmFsbGJhY2ssXG4gIHByb3BzLFxu
ICBiaW5kT2JqZWN0XG4pIHtcbiAgdmFyIHNjb3BlZFNsb3RGbiA9IHRoaXMuJHNjb3BlZFNsb3Rz
W25hbWVdO1xuICBpZiAoc2NvcGVkU2xvdEZuKSB7IC8vIHNjb3BlZCBzbG90XG4gICAgcHJvcHMg
PSBwcm9wcyB8fCB7fTtcbiAgICBpZiAoYmluZE9iamVjdCkge1xuICAgICAgcHJvcHMgPSBleHRl
bmQoZXh0ZW5kKHt9LCBiaW5kT2JqZWN0KSwgcHJvcHMpO1xuICAgIH1cbiAgICByZXR1cm4gc2Nv
cGVkU2xvdEZuKHByb3BzKSB8fCBmYWxsYmFja1xuICB9IGVsc2Uge1xuICAgIHZhciBzbG90Tm9k
ZXMgPSB0aGlzLiRzbG90c1tuYW1lXTtcbiAgICAvLyB3YXJuIGR1cGxpY2F0ZSBzbG90IHVzYWdl
XG4gICAgaWYgKHNsb3ROb2RlcyAmJiBcInByb2R1Y3Rpb25cIiAhPT0gJ3Byb2R1Y3Rpb24nKSB7
XG4gICAgICBzbG90Tm9kZXMuX3JlbmRlcmVkICYmIHdhcm4oXG4gICAgICAgIFwiRHVwbGljYXRl
IHByZXNlbmNlIG9mIHNsb3QgXFxcIlwiICsgbmFtZSArIFwiXFxcIiBmb3VuZCBpbiB0aGUgc2Ft
ZSByZW5kZXIgdHJlZSBcIiArXG4gICAgICAgIFwiLSB0aGlzIHdpbGwgbGlrZWx5IGNhdXNlIHJl
bmRlciBlcnJvcnMuXCIsXG4gICAgICAgIHRoaXNcbiAgICAgICk7XG4gICAgICBzbG90Tm9kZXMu
X3JlbmRlcmVkID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHNsb3ROb2RlcyB8fCBmYWxsYmFj
a1xuICB9XG59XG5cbi8qICAqL1xuXG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciByZXNvbHZp
bmcgZmlsdGVyc1xuICovXG5mdW5jdGlvbiByZXNvbHZlRmlsdGVyIChpZCkge1xuICByZXR1cm4g
cmVzb2x2ZUFzc2V0KHRoaXMuJG9wdGlvbnMsICdmaWx0ZXJzJywgaWQsIHRydWUpIHx8IGlkZW50
aXR5XG59XG5cbi8qICAqL1xuXG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciBjaGVja2luZyBr
ZXlDb2RlcyBmcm9tIGNvbmZpZy5cbiAqL1xuZnVuY3Rpb24gY2hlY2tLZXlDb2RlcyAoXG4gIGV2
ZW50S2V5Q29kZSxcbiAga2V5LFxuICBidWlsdEluQWxpYXNcbikge1xuICB2YXIga2V5Q29kZXMg
PSBjb25maWcua2V5Q29kZXNba2V5XSB8fCBidWlsdEluQWxpYXM7XG4gIGlmIChBcnJheS5pc0Fy
cmF5KGtleUNvZGVzKSkge1xuICAgIHJldHVybiBrZXlDb2Rlcy5pbmRleE9mKGV2ZW50S2V5Q29k
ZSkgPT09IC0xXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGtleUNvZGVzICE9PSBldmVudEtleUNv
ZGVcbiAgfVxufVxuXG4vKiAgKi9cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3IgbWVyZ2lu
ZyB2LWJpbmQ9XCJvYmplY3RcIiBpbnRvIGEgVk5vZGUncyBkYXRhLlxuICovXG5mdW5jdGlvbiBi
aW5kT2JqZWN0UHJvcHMgKFxuICBkYXRhLFxuICB0YWcsXG4gIHZhbHVlLFxuICBhc1Byb3AsXG4g
IGlzU3luY1xuKSB7XG4gIGlmICh2YWx1ZSkge1xuICAgIGlmICghaXNPYmplY3QodmFsdWUpKSB7
XG4gICAgICBcInByb2R1Y3Rpb25cIiAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4oXG4gICAgICAg
ICd2LWJpbmQgd2l0aG91dCBhcmd1bWVudCBleHBlY3RzIGFuIE9iamVjdCBvciBBcnJheSB2YWx1
ZScsXG4gICAgICAgIHRoaXNcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChBcnJh
eS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICB2YWx1ZSA9IHRvT2JqZWN0KHZhbHVlKTtcbiAg
ICAgIH1cbiAgICAgIHZhciBoYXNoO1xuICAgICAgdmFyIGxvb3AgPSBmdW5jdGlvbiAoIGtleSAp
IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGtleSA9PT0gJ2NsYXNzJyB8fFxuICAgICAgICAg
IGtleSA9PT0gJ3N0eWxlJyB8fFxuICAgICAgICAgIGlzUmVzZXJ2ZWRBdHRyaWJ1dGUoa2V5KVxu
ICAgICAgICApIHtcbiAgICAgICAgICBoYXNoID0gZGF0YTtcbiAgICAgICAgfSBlbHNlIHtcbiAg
ICAgICAgICB2YXIgdHlwZSA9IGRhdGEuYXR0cnMgJiYgZGF0YS5hdHRycy50eXBlO1xuICAgICAg
ICAgIGhhc2ggPSBhc1Byb3AgfHwgY29uZmlnLm11c3RVc2VQcm9wKHRhZywgdHlwZSwga2V5KVxu
ICAgICAgICAgICAgPyBkYXRhLmRvbVByb3BzIHx8IChkYXRhLmRvbVByb3BzID0ge30pXG4gICAg
ICAgICAgICA6IGRhdGEuYXR0cnMgfHwgKGRhdGEuYXR0cnMgPSB7fSk7XG4gICAgICAgIH1cbiAg
ICAgICAgaWYgKCEoa2V5IGluIGhhc2gpKSB7XG4gICAgICAgICAgaGFzaFtrZXldID0gdmFsdWVb
a2V5XTtcblxuICAgICAgICAgIGlmIChpc1N5bmMpIHtcbiAgICAgICAgICAgIHZhciBvbiA9IGRh
dGEub24gfHwgKGRhdGEub24gPSB7fSk7XG4gICAgICAgICAgICBvblsoXCJ1cGRhdGU6XCIgKyBr
ZXkpXSA9IGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgICAgICAgdmFsdWVba2V5XSA9ICRl
dmVudDtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9O1xu
XG4gICAgICBmb3IgKHZhciBrZXkgaW4gdmFsdWUpIGxvb3AoIGtleSApO1xuICAgIH1cbiAgfVxu
ICByZXR1cm4gZGF0YVxufVxuXG4vKiAgKi9cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3Ig
cmVuZGVyaW5nIHN0YXRpYyB0cmVlcy5cbiAqL1xuZnVuY3Rpb24gcmVuZGVyU3RhdGljIChcbiAg
aW5kZXgsXG4gIGlzSW5Gb3Jcbikge1xuICB2YXIgdHJlZSA9IHRoaXMuX3N0YXRpY1RyZWVzW2lu
ZGV4XTtcbiAgLy8gaWYgaGFzIGFscmVhZHktcmVuZGVyZWQgc3RhdGljIHRyZWUgYW5kIG5vdCBp
bnNpZGUgdi1mb3IsXG4gIC8vIHdlIGNhbiByZXVzZSB0aGUgc2FtZSB0cmVlIGJ5IGRvaW5nIGEg
c2hhbGxvdyBjbG9uZS5cbiAgaWYgKHRyZWUgJiYgIWlzSW5Gb3IpIHtcbiAgICByZXR1cm4gQXJy
YXkuaXNBcnJheSh0cmVlKVxuICAgICAgPyBjbG9uZVZOb2Rlcyh0cmVlKVxuICAgICAgOiBjbG9u
ZVZOb2RlKHRyZWUpXG4gIH1cbiAgLy8gb3RoZXJ3aXNlLCByZW5kZXIgYSBmcmVzaCB0cmVlLlxu
ICB0cmVlID0gdGhpcy5fc3RhdGljVHJlZXNbaW5kZXhdID1cbiAgICB0aGlzLiRvcHRpb25zLnN0
YXRpY1JlbmRlckZuc1tpbmRleF0uY2FsbCh0aGlzLl9yZW5kZXJQcm94eSk7XG4gIG1hcmtTdGF0
aWModHJlZSwgKFwiX19zdGF0aWNfX1wiICsgaW5kZXgpLCBmYWxzZSk7XG4gIHJldHVybiB0cmVl
XG59XG5cbi8qKlxuICogUnVudGltZSBoZWxwZXIgZm9yIHYtb25jZS5cbiAqIEVmZmVjdGl2ZWx5
IGl0IG1lYW5zIG1hcmtpbmcgdGhlIG5vZGUgYXMgc3RhdGljIHdpdGggYSB1bmlxdWUga2V5Llxu
ICovXG5mdW5jdGlvbiBtYXJrT25jZSAoXG4gIHRyZWUsXG4gIGluZGV4LFxuICBrZXlcbikge1xu
ICBtYXJrU3RhdGljKHRyZWUsIChcIl9fb25jZV9fXCIgKyBpbmRleCArIChrZXkgPyAoXCJfXCIg
KyBrZXkpIDogXCJcIikpLCB0cnVlKTtcbiAgcmV0dXJuIHRyZWVcbn1cblxuZnVuY3Rpb24gbWFy
a1N0YXRpYyAoXG4gIHRyZWUsXG4gIGtleSxcbiAgaXNPbmNlXG4pIHtcbiAgaWYgKEFycmF5Lmlz
QXJyYXkodHJlZSkpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRyZWUubGVuZ3RoOyBpKysp
IHtcbiAgICAgIGlmICh0cmVlW2ldICYmIHR5cGVvZiB0cmVlW2ldICE9PSAnc3RyaW5nJykge1xu
ICAgICAgICBtYXJrU3RhdGljTm9kZSh0cmVlW2ldLCAoa2V5ICsgXCJfXCIgKyBpKSwgaXNPbmNl
KTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbWFya1N0YXRpY05vZGUodHJlZSwg
a2V5LCBpc09uY2UpO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcmtTdGF0aWNOb2RlIChub2RlLCBr
ZXksIGlzT25jZSkge1xuICBub2RlLmlzU3RhdGljID0gdHJ1ZTtcbiAgbm9kZS5rZXkgPSBrZXk7
XG4gIG5vZGUuaXNPbmNlID0gaXNPbmNlO1xufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gYmluZE9i
amVjdExpc3RlbmVycyAoZGF0YSwgdmFsdWUpIHtcbiAgaWYgKHZhbHVlKSB7XG4gICAgaWYgKCFp
c1BsYWluT2JqZWN0KHZhbHVlKSkge1xuICAgICAgXCJwcm9kdWN0aW9uXCIgIT09ICdwcm9kdWN0
aW9uJyAmJiB3YXJuKFxuICAgICAgICAndi1vbiB3aXRob3V0IGFyZ3VtZW50IGV4cGVjdHMgYW4g
T2JqZWN0IHZhbHVlJyxcbiAgICAgICAgdGhpc1xuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAg
ICAgdmFyIG9uID0gZGF0YS5vbiA9IGRhdGEub24gPyBleHRlbmQoe30sIGRhdGEub24pIDoge307
XG4gICAgICBmb3IgKHZhciBrZXkgaW4gdmFsdWUpIHtcbiAgICAgICAgdmFyIGV4aXN0aW5nID0g
b25ba2V5XTtcbiAgICAgICAgdmFyIG91cnMgPSB2YWx1ZVtrZXldO1xuICAgICAgICBvbltrZXld
ID0gZXhpc3RpbmcgPyBbXS5jb25jYXQob3VycywgZXhpc3RpbmcpIDogb3VycztcbiAgICAgIH1c
biAgICB9XG4gIH1cbiAgcmV0dXJuIGRhdGFcbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGluaXRS
ZW5kZXIgKHZtKSB7XG4gIHZtLl92bm9kZSA9IG51bGw7IC8vIHRoZSByb290IG9mIHRoZSBjaGls
ZCB0cmVlXG4gIHZtLl9zdGF0aWNUcmVlcyA9IG51bGw7XG4gIHZhciBwYXJlbnRWbm9kZSA9IHZt
LiR2bm9kZSA9IHZtLiRvcHRpb25zLl9wYXJlbnRWbm9kZTsgLy8gdGhlIHBsYWNlaG9sZGVyIG5v
ZGUgaW4gcGFyZW50IHRyZWVcbiAgdmFyIHJlbmRlckNvbnRleHQgPSBwYXJlbnRWbm9kZSAmJiBw
YXJlbnRWbm9kZS5jb250ZXh0O1xuICB2bS4kc2xvdHMgPSByZXNvbHZlU2xvdHModm0uJG9wdGlv
bnMuX3JlbmRlckNoaWxkcmVuLCByZW5kZXJDb250ZXh0KTtcbiAgdm0uJHNjb3BlZFNsb3RzID0g
ZW1wdHlPYmplY3Q7XG4gIC8vIGJpbmQgdGhlIGNyZWF0ZUVsZW1lbnQgZm4gdG8gdGhpcyBpbnN0
YW5jZVxuICAvLyBzbyB0aGF0IHdlIGdldCBwcm9wZXIgcmVuZGVyIGNvbnRleHQgaW5zaWRlIGl0
LlxuICAvLyBhcmdzIG9yZGVyOiB0YWcsIGRhdGEsIGNoaWxkcmVuLCBub3JtYWxpemF0aW9uVHlw
ZSwgYWx3YXlzTm9ybWFsaXplXG4gIC8vIGludGVybmFsIHZlcnNpb24gaXMgdXNlZCBieSByZW5k
ZXIgZnVuY3Rpb25zIGNvbXBpbGVkIGZyb20gdGVtcGxhdGVzXG4gIHZtLl9jID0gZnVuY3Rpb24g
KGEsIGIsIGMsIGQpIHsgcmV0dXJuIGNyZWF0ZUVsZW1lbnQodm0sIGEsIGIsIGMsIGQsIGZhbHNl
KTsgfTtcbiAgLy8gbm9ybWFsaXphdGlvbiBpcyBhbHdheXMgYXBwbGllZCBmb3IgdGhlIHB1Ymxp
YyB2ZXJzaW9uLCB1c2VkIGluXG4gIC8vIHVzZXItd3JpdHRlbiByZW5kZXIgZnVuY3Rpb25zLlxu
ICB2bS4kY3JlYXRlRWxlbWVudCA9IGZ1bmN0aW9uIChhLCBiLCBjLCBkKSB7IHJldHVybiBjcmVh
dGVFbGVtZW50KHZtLCBhLCBiLCBjLCBkLCB0cnVlKTsgfTtcblxuICAvLyAkYXR0cnMgJiAkbGlz
dGVuZXJzIGFyZSBleHBvc2VkIGZvciBlYXNpZXIgSE9DIGNyZWF0aW9uLlxuICAvLyB0aGV5IG5l
ZWQgdG8gYmUgcmVhY3RpdmUgc28gdGhhdCBIT0NzIHVzaW5nIHRoZW0gYXJlIGFsd2F5cyB1cGRh
dGVkXG4gIHZhciBwYXJlbnREYXRhID0gcGFyZW50Vm5vZGUgJiYgcGFyZW50Vm5vZGUuZGF0YTtc
biAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKGZhbHNlKSB7XG4gICAgZGVmaW5l
UmVhY3RpdmUkJDEodm0sICckYXR0cnMnLCBwYXJlbnREYXRhICYmIHBhcmVudERhdGEuYXR0cnMs
IGZ1bmN0aW9uICgpIHtcbiAgICAgICFpc1VwZGF0aW5nQ2hpbGRDb21wb25lbnQgJiYgd2Fybihc
IiRhdHRycyBpcyByZWFkb25seS5cIiwgdm0pO1xuICAgIH0sIHRydWUpO1xuICAgIGRlZmluZVJl
YWN0aXZlJCQxKHZtLCAnJGxpc3RlbmVycycsIHZtLiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnMs
IGZ1bmN0aW9uICgpIHtcbiAgICAgICFpc1VwZGF0aW5nQ2hpbGRDb21wb25lbnQgJiYgd2Fybihc
IiRsaXN0ZW5lcnMgaXMgcmVhZG9ubHkuXCIsIHZtKTtcbiAgICB9LCB0cnVlKTtcbiAgfSBlbHNl
IHtcbiAgICBkZWZpbmVSZWFjdGl2ZSQkMSh2bSwgJyRhdHRycycsIHBhcmVudERhdGEgJiYgcGFy
ZW50RGF0YS5hdHRycywgbnVsbCwgdHJ1ZSk7XG4gICAgZGVmaW5lUmVhY3RpdmUkJDEodm0sICck
bGlzdGVuZXJzJywgdm0uJG9wdGlvbnMuX3BhcmVudExpc3RlbmVycywgbnVsbCwgdHJ1ZSk7XG4g
IH1cbn1cblxuZnVuY3Rpb24gcmVuZGVyTWl4aW4gKFZ1ZSkge1xuICBWdWUucHJvdG90eXBlLiRu
ZXh0VGljayA9IGZ1bmN0aW9uIChmbikge1xuICAgIHJldHVybiBuZXh0VGljayhmbiwgdGhpcylc
biAgfTtcblxuICBWdWUucHJvdG90eXBlLl9yZW5kZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFy
IHZtID0gdGhpcztcbiAgICB2YXIgcmVmID0gdm0uJG9wdGlvbnM7XG4gICAgdmFyIHJlbmRlciA9
IHJlZi5yZW5kZXI7XG4gICAgdmFyIHN0YXRpY1JlbmRlckZucyA9IHJlZi5zdGF0aWNSZW5kZXJG
bnM7XG4gICAgdmFyIF9wYXJlbnRWbm9kZSA9IHJlZi5fcGFyZW50Vm5vZGU7XG5cbiAgICBpZiAo
dm0uX2lzTW91bnRlZCkge1xuICAgICAgLy8gY2xvbmUgc2xvdCBub2RlcyBvbiByZS1yZW5kZXJz
XG4gICAgICBmb3IgKHZhciBrZXkgaW4gdm0uJHNsb3RzKSB7XG4gICAgICAgIHZtLiRzbG90c1tr
ZXldID0gY2xvbmVWTm9kZXModm0uJHNsb3RzW2tleV0pO1xuICAgICAgfVxuICAgIH1cblxuICAg
IHZtLiRzY29wZWRTbG90cyA9IChfcGFyZW50Vm5vZGUgJiYgX3BhcmVudFZub2RlLmRhdGEuc2Nv
cGVkU2xvdHMpIHx8IGVtcHR5T2JqZWN0O1xuXG4gICAgaWYgKHN0YXRpY1JlbmRlckZucyAmJiAh
dm0uX3N0YXRpY1RyZWVzKSB7XG4gICAgICB2bS5fc3RhdGljVHJlZXMgPSBbXTtcbiAgICB9XG4g
ICAgLy8gc2V0IHBhcmVudCB2bm9kZS4gdGhpcyBhbGxvd3MgcmVuZGVyIGZ1bmN0aW9ucyB0byBo
YXZlIGFjY2Vzc1xuICAgIC8vIHRvIHRoZSBkYXRhIG9uIHRoZSBwbGFjZWhvbGRlciBub2RlLlxu
ICAgIHZtLiR2bm9kZSA9IF9wYXJlbnRWbm9kZTtcbiAgICAvLyByZW5kZXIgc2VsZlxuICAgIHZh
ciB2bm9kZTtcbiAgICB0cnkge1xuICAgICAgdm5vZGUgPSByZW5kZXIuY2FsbCh2bS5fcmVuZGVy
UHJveHksIHZtLiRjcmVhdGVFbGVtZW50KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBoYW5k
bGVFcnJvcihlLCB2bSwgXCJyZW5kZXIgZnVuY3Rpb25cIik7XG4gICAgICAvLyByZXR1cm4gZXJy
b3IgcmVuZGVyIHJlc3VsdCxcbiAgICAgIC8vIG9yIHByZXZpb3VzIHZub2RlIHRvIHByZXZlbnQg
cmVuZGVyIGVycm9yIGNhdXNpbmcgYmxhbmsgY29tcG9uZW50XG4gICAgICAvKiBpc3RhbmJ1bCBp
Z25vcmUgZWxzZSAqL1xuICAgICAgaWYgKGZhbHNlKSB7XG4gICAgICAgIHZub2RlID0gdm0uJG9w
dGlvbnMucmVuZGVyRXJyb3JcbiAgICAgICAgICA/IHZtLiRvcHRpb25zLnJlbmRlckVycm9yLmNh
bGwodm0uX3JlbmRlclByb3h5LCB2bS4kY3JlYXRlRWxlbWVudCwgZSlcbiAgICAgICAgICA6IHZt
Ll92bm9kZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZub2RlID0gdm0uX3Zub2RlO1xuICAg
ICAgfVxuICAgIH1cbiAgICAvLyByZXR1cm4gZW1wdHkgdm5vZGUgaW4gY2FzZSB0aGUgcmVuZGVy
IGZ1bmN0aW9uIGVycm9yZWQgb3V0XG4gICAgaWYgKCEodm5vZGUgaW5zdGFuY2VvZiBWTm9kZSkp
IHtcbiAgICAgIGlmIChmYWxzZSkge1xuICAgICAgICB3YXJuKFxuICAgICAgICAgICdNdWx0aXBs
ZSByb290IG5vZGVzIHJldHVybmVkIGZyb20gcmVuZGVyIGZ1bmN0aW9uLiBSZW5kZXIgZnVuY3Rp
b24gJyArXG4gICAgICAgICAgJ3Nob3VsZCByZXR1cm4gYSBzaW5nbGUgcm9vdCBub2RlLicsXG4g
ICAgICAgICAgdm1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHZub2RlID0gY3JlYXRlRW1w
dHlWTm9kZSgpO1xuICAgIH1cbiAgICAvLyBzZXQgcGFyZW50XG4gICAgdm5vZGUucGFyZW50ID0g
X3BhcmVudFZub2RlO1xuICAgIHJldHVybiB2bm9kZVxuICB9O1xuXG4gIC8vIGludGVybmFsIHJl
bmRlciBoZWxwZXJzLlxuICAvLyB0aGVzZSBhcmUgZXhwb3NlZCBvbiB0aGUgaW5zdGFuY2UgcHJv
dG90eXBlIHRvIHJlZHVjZSBnZW5lcmF0ZWQgcmVuZGVyXG4gIC8vIGNvZGUgc2l6ZS5cbiAgVnVl
LnByb3RvdHlwZS5fbyA9IG1hcmtPbmNlO1xuICBWdWUucHJvdG90eXBlLl9uID0gdG9OdW1iZXI7
XG4gIFZ1ZS5wcm90b3R5cGUuX3MgPSB0b1N0cmluZztcbiAgVnVlLnByb3RvdHlwZS5fbCA9IHJl
bmRlckxpc3Q7XG4gIFZ1ZS5wcm90b3R5cGUuX3QgPSByZW5kZXJTbG90O1xuICBWdWUucHJvdG90
eXBlLl9xID0gbG9vc2VFcXVhbDtcbiAgVnVlLnByb3RvdHlwZS5faSA9IGxvb3NlSW5kZXhPZjtc
biAgVnVlLnByb3RvdHlwZS5fbSA9IHJlbmRlclN0YXRpYztcbiAgVnVlLnByb3RvdHlwZS5fZiA9
IHJlc29sdmVGaWx0ZXI7XG4gIFZ1ZS5wcm90b3R5cGUuX2sgPSBjaGVja0tleUNvZGVzO1xuICBW
dWUucHJvdG90eXBlLl9iID0gYmluZE9iamVjdFByb3BzO1xuICBWdWUucHJvdG90eXBlLl92ID0g
Y3JlYXRlVGV4dFZOb2RlO1xuICBWdWUucHJvdG90eXBlLl9lID0gY3JlYXRlRW1wdHlWTm9kZTtc
biAgVnVlLnByb3RvdHlwZS5fdSA9IHJlc29sdmVTY29wZWRTbG90cztcbiAgVnVlLnByb3RvdHlw
ZS5fZyA9IGJpbmRPYmplY3RMaXN0ZW5lcnM7XG59XG5cbi8qICAqL1xuXG52YXIgdWlkJDEgPSAw
O1xuXG5mdW5jdGlvbiBpbml0TWl4aW4gKFZ1ZSkge1xuICBWdWUucHJvdG90eXBlLl9pbml0ID0g
ZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgICB2YXIgdm0gPSB0aGlzO1xuICAgIC8vIGEgdWlkXG4g
ICAgdm0uX3VpZCA9IHVpZCQxKys7XG5cbiAgICB2YXIgc3RhcnRUYWcsIGVuZFRhZztcbiAgICAv
KiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIHN0YXJ0VGFn
ID0gXCJ2dWUtcGVyZi1pbml0OlwiICsgKHZtLl91aWQpO1xuICAgICAgZW5kVGFnID0gXCJ2dWUt
cGVyZi1lbmQ6XCIgKyAodm0uX3VpZCk7XG4gICAgICBtYXJrKHN0YXJ0VGFnKTtcbiAgICB9XG5c
biAgICAvLyBhIGZsYWcgdG8gYXZvaWQgdGhpcyBiZWluZyBvYnNlcnZlZFxuICAgIHZtLl9pc1Z1
ZSA9IHRydWU7XG4gICAgLy8gbWVyZ2Ugb3B0aW9uc1xuICAgIGlmIChvcHRpb25zICYmIG9wdGlv
bnMuX2lzQ29tcG9uZW50KSB7XG4gICAgICAvLyBvcHRpbWl6ZSBpbnRlcm5hbCBjb21wb25lbnQg
aW5zdGFudGlhdGlvblxuICAgICAgLy8gc2luY2UgZHluYW1pYyBvcHRpb25zIG1lcmdpbmcgaXMg
cHJldHR5IHNsb3csIGFuZCBub25lIG9mIHRoZVxuICAgICAgLy8gaW50ZXJuYWwgY29tcG9uZW50
IG9wdGlvbnMgbmVlZHMgc3BlY2lhbCB0cmVhdG1lbnQuXG4gICAgICBpbml0SW50ZXJuYWxDb21w
b25lbnQodm0sIG9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2bS4kb3B0aW9ucyA9IG1l
cmdlT3B0aW9ucyhcbiAgICAgICAgcmVzb2x2ZUNvbnN0cnVjdG9yT3B0aW9ucyh2bS5jb25zdHJ1
Y3RvciksXG4gICAgICAgIG9wdGlvbnMgfHwge30sXG4gICAgICAgIHZtXG4gICAgICApO1xuICAg
IH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChmYWxzZSkge1xuICAg
ICAgaW5pdFByb3h5KHZtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdm0uX3JlbmRlclByb3h5ID0g
dm07XG4gICAgfVxuICAgIC8vIGV4cG9zZSByZWFsIHNlbGZcbiAgICB2bS5fc2VsZiA9IHZtO1xu
ICAgIGluaXRMaWZlY3ljbGUodm0pO1xuICAgIGluaXRFdmVudHModm0pO1xuICAgIGluaXRSZW5k
ZXIodm0pO1xuICAgIGNhbGxIb29rKHZtLCAnYmVmb3JlQ3JlYXRlJyk7XG4gICAgaW5pdEluamVj
dGlvbnModm0pOyAvLyByZXNvbHZlIGluamVjdGlvbnMgYmVmb3JlIGRhdGEvcHJvcHNcbiAgICBp
bml0U3RhdGUodm0pO1xuICAgIGluaXRQcm92aWRlKHZtKTsgLy8gcmVzb2x2ZSBwcm92aWRlIGFm
dGVyIGRhdGEvcHJvcHNcbiAgICBjYWxsSG9vayh2bSwgJ2NyZWF0ZWQnKTtcblxuICAgIC8qIGlz
dGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChmYWxzZSkge1xuICAgICAgdm0uX25hbWUgPSBm
b3JtYXRDb21wb25lbnROYW1lKHZtLCBmYWxzZSk7XG4gICAgICBtYXJrKGVuZFRhZyk7XG4gICAg
ICBtZWFzdXJlKCgodm0uX25hbWUpICsgXCIgaW5pdFwiKSwgc3RhcnRUYWcsIGVuZFRhZyk7XG4g
ICAgfVxuXG4gICAgaWYgKHZtLiRvcHRpb25zLmVsKSB7XG4gICAgICB2bS4kbW91bnQodm0uJG9w
dGlvbnMuZWwpO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gaW5pdEludGVybmFsQ29tcG9u
ZW50ICh2bSwgb3B0aW9ucykge1xuICB2YXIgb3B0cyA9IHZtLiRvcHRpb25zID0gT2JqZWN0LmNy
ZWF0ZSh2bS5jb25zdHJ1Y3Rvci5vcHRpb25zKTtcbiAgLy8gZG9pbmcgdGhpcyBiZWNhdXNlIGl0
J3MgZmFzdGVyIHRoYW4gZHluYW1pYyBlbnVtZXJhdGlvbi5cbiAgb3B0cy5wYXJlbnQgPSBvcHRp
b25zLnBhcmVudDtcbiAgb3B0cy5wcm9wc0RhdGEgPSBvcHRpb25zLnByb3BzRGF0YTtcbiAgb3B0
cy5fcGFyZW50Vm5vZGUgPSBvcHRpb25zLl9wYXJlbnRWbm9kZTtcbiAgb3B0cy5fcGFyZW50TGlz
dGVuZXJzID0gb3B0aW9ucy5fcGFyZW50TGlzdGVuZXJzO1xuICBvcHRzLl9yZW5kZXJDaGlsZHJl
biA9IG9wdGlvbnMuX3JlbmRlckNoaWxkcmVuO1xuICBvcHRzLl9jb21wb25lbnRUYWcgPSBvcHRp
b25zLl9jb21wb25lbnRUYWc7XG4gIG9wdHMuX3BhcmVudEVsbSA9IG9wdGlvbnMuX3BhcmVudEVs
bTtcbiAgb3B0cy5fcmVmRWxtID0gb3B0aW9ucy5fcmVmRWxtO1xuICBpZiAob3B0aW9ucy5yZW5k
ZXIpIHtcbiAgICBvcHRzLnJlbmRlciA9IG9wdGlvbnMucmVuZGVyO1xuICAgIG9wdHMuc3RhdGlj
UmVuZGVyRm5zID0gb3B0aW9ucy5zdGF0aWNSZW5kZXJGbnM7XG4gIH1cbn1cblxuZnVuY3Rpb24g
cmVzb2x2ZUNvbnN0cnVjdG9yT3B0aW9ucyAoQ3Rvcikge1xuICB2YXIgb3B0aW9ucyA9IEN0b3Iu
b3B0aW9ucztcbiAgaWYgKEN0b3Iuc3VwZXIpIHtcbiAgICB2YXIgc3VwZXJPcHRpb25zID0gcmVz
b2x2ZUNvbnN0cnVjdG9yT3B0aW9ucyhDdG9yLnN1cGVyKTtcbiAgICB2YXIgY2FjaGVkU3VwZXJP
cHRpb25zID0gQ3Rvci5zdXBlck9wdGlvbnM7XG4gICAgaWYgKHN1cGVyT3B0aW9ucyAhPT0gY2Fj
aGVkU3VwZXJPcHRpb25zKSB7XG4gICAgICAvLyBzdXBlciBvcHRpb24gY2hhbmdlZCxcbiAgICAg
IC8vIG5lZWQgdG8gcmVzb2x2ZSBuZXcgb3B0aW9ucy5cbiAgICAgIEN0b3Iuc3VwZXJPcHRpb25z
ID0gc3VwZXJPcHRpb25zO1xuICAgICAgLy8gY2hlY2sgaWYgdGhlcmUgYXJlIGFueSBsYXRlLW1v
ZGlmaWVkL2F0dGFjaGVkIG9wdGlvbnMgKCM0OTc2KVxuICAgICAgdmFyIG1vZGlmaWVkT3B0aW9u
cyA9IHJlc29sdmVNb2RpZmllZE9wdGlvbnMoQ3Rvcik7XG4gICAgICAvLyB1cGRhdGUgYmFzZSBl
eHRlbmQgb3B0aW9uc1xuICAgICAgaWYgKG1vZGlmaWVkT3B0aW9ucykge1xuICAgICAgICBleHRl
bmQoQ3Rvci5leHRlbmRPcHRpb25zLCBtb2RpZmllZE9wdGlvbnMpO1xuICAgICAgfVxuICAgICAg
b3B0aW9ucyA9IEN0b3Iub3B0aW9ucyA9IG1lcmdlT3B0aW9ucyhzdXBlck9wdGlvbnMsIEN0b3Iu
ZXh0ZW5kT3B0aW9ucyk7XG4gICAgICBpZiAob3B0aW9ucy5uYW1lKSB7XG4gICAgICAgIG9wdGlv
bnMuY29tcG9uZW50c1tvcHRpb25zLm5hbWVdID0gQ3RvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1c
biAgcmV0dXJuIG9wdGlvbnNcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZU1vZGlmaWVkT3B0aW9ucyAo
Q3Rvcikge1xuICB2YXIgbW9kaWZpZWQ7XG4gIHZhciBsYXRlc3QgPSBDdG9yLm9wdGlvbnM7XG4g
IHZhciBleHRlbmRlZCA9IEN0b3IuZXh0ZW5kT3B0aW9ucztcbiAgdmFyIHNlYWxlZCA9IEN0b3Iu
c2VhbGVkT3B0aW9ucztcbiAgZm9yICh2YXIga2V5IGluIGxhdGVzdCkge1xuICAgIGlmIChsYXRl
c3Rba2V5XSAhPT0gc2VhbGVkW2tleV0pIHtcbiAgICAgIGlmICghbW9kaWZpZWQpIHsgbW9kaWZp
ZWQgPSB7fTsgfVxuICAgICAgbW9kaWZpZWRba2V5XSA9IGRlZHVwZShsYXRlc3Rba2V5XSwgZXh0
ZW5kZWRba2V5XSwgc2VhbGVkW2tleV0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbW9kaWZpZWRc
bn1cblxuZnVuY3Rpb24gZGVkdXBlIChsYXRlc3QsIGV4dGVuZGVkLCBzZWFsZWQpIHtcbiAgLy8g
Y29tcGFyZSBsYXRlc3QgYW5kIHNlYWxlZCB0byBlbnN1cmUgbGlmZWN5Y2xlIGhvb2tzIHdvbid0
IGJlIGR1cGxpY2F0ZWRcbiAgLy8gYmV0d2VlbiBtZXJnZXNcbiAgaWYgKEFycmF5LmlzQXJyYXko
bGF0ZXN0KSkge1xuICAgIHZhciByZXMgPSBbXTtcbiAgICBzZWFsZWQgPSBBcnJheS5pc0FycmF5
KHNlYWxlZCkgPyBzZWFsZWQgOiBbc2VhbGVkXTtcbiAgICBleHRlbmRlZCA9IEFycmF5LmlzQXJy
YXkoZXh0ZW5kZWQpID8gZXh0ZW5kZWQgOiBbZXh0ZW5kZWRdO1xuICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgbGF0ZXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAvLyBwdXNoIG9yaWdpbmFsIG9wdGlv
bnMgYW5kIG5vdCBzZWFsZWQgb3B0aW9ucyB0byBleGNsdWRlIGR1cGxpY2F0ZWQgb3B0aW9uc1xu
ICAgICAgaWYgKGV4dGVuZGVkLmluZGV4T2YobGF0ZXN0W2ldKSA+PSAwIHx8IHNlYWxlZC5pbmRl
eE9mKGxhdGVzdFtpXSkgPCAwKSB7XG4gICAgICAgIHJlcy5wdXNoKGxhdGVzdFtpXSk7XG4gICAg
ICB9XG4gICAgfVxuICAgIHJldHVybiByZXNcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbGF0ZXN0
XG4gIH1cbn1cblxuZnVuY3Rpb24gVnVlJDMgKG9wdGlvbnMpIHtcbiAgaWYgKGZhbHNlXG4gICkg
e1xuICAgIHdhcm4oJ1Z1ZSBpcyBhIGNvbnN0cnVjdG9yIGFuZCBzaG91bGQgYmUgY2FsbGVkIHdp
dGggdGhlIGBuZXdgIGtleXdvcmQnKTtcbiAgfVxuICB0aGlzLl9pbml0KG9wdGlvbnMpO1xufVxu
XG5pbml0TWl4aW4oVnVlJDMpO1xuc3RhdGVNaXhpbihWdWUkMyk7XG5ldmVudHNNaXhpbihWdWUk
Myk7XG5saWZlY3ljbGVNaXhpbihWdWUkMyk7XG5yZW5kZXJNaXhpbihWdWUkMyk7XG5cbi8qICAq
L1xuXG5mdW5jdGlvbiBpbml0VXNlIChWdWUpIHtcbiAgVnVlLnVzZSA9IGZ1bmN0aW9uIChwbHVn
aW4pIHtcbiAgICB2YXIgaW5zdGFsbGVkUGx1Z2lucyA9ICh0aGlzLl9pbnN0YWxsZWRQbHVnaW5z
IHx8ICh0aGlzLl9pbnN0YWxsZWRQbHVnaW5zID0gW10pKTtcbiAgICBpZiAoaW5zdGFsbGVkUGx1
Z2lucy5pbmRleE9mKHBsdWdpbikgPiAtMSkge1xuICAgICAgcmV0dXJuIHRoaXNcbiAgICB9XG5c
biAgICAvLyBhZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICB2YXIgYXJncyA9IHRvQXJyYXkoYXJn
dW1lbnRzLCAxKTtcbiAgICBhcmdzLnVuc2hpZnQodGhpcyk7XG4gICAgaWYgKHR5cGVvZiBwbHVn
aW4uaW5zdGFsbCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcGx1Z2luLmluc3RhbGwuYXBwbHko
cGx1Z2luLCBhcmdzKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBwbHVnaW4gPT09ICdmdW5jdGlv
bicpIHtcbiAgICAgIHBsdWdpbi5hcHBseShudWxsLCBhcmdzKTtcbiAgICB9XG4gICAgaW5zdGFs
bGVkUGx1Z2lucy5wdXNoKHBsdWdpbik7XG4gICAgcmV0dXJuIHRoaXNcbiAgfTtcbn1cblxuLyog
ICovXG5cbmZ1bmN0aW9uIGluaXRNaXhpbiQxIChWdWUpIHtcbiAgVnVlLm1peGluID0gZnVuY3Rp
b24gKG1peGluKSB7XG4gICAgdGhpcy5vcHRpb25zID0gbWVyZ2VPcHRpb25zKHRoaXMub3B0aW9u
cywgbWl4aW4pO1xuICAgIHJldHVybiB0aGlzXG4gIH07XG59XG5cbi8qICAqL1xuXG5mdW5jdGlv
biBpbml0RXh0ZW5kIChWdWUpIHtcbiAgLyoqXG4gICAqIEVhY2ggaW5zdGFuY2UgY29uc3RydWN0
b3IsIGluY2x1ZGluZyBWdWUsIGhhcyBhIHVuaXF1ZVxuICAgKiBjaWQuIFRoaXMgZW5hYmxlcyB1
cyB0byBjcmVhdGUgd3JhcHBlZCBcImNoaWxkXG4gICAqIGNvbnN0cnVjdG9yc1wiIGZvciBwcm90
b3R5cGFsIGluaGVyaXRhbmNlIGFuZCBjYWNoZSB0aGVtLlxuICAgKi9cbiAgVnVlLmNpZCA9IDA7
XG4gIHZhciBjaWQgPSAxO1xuXG4gIC8qKlxuICAgKiBDbGFzcyBpbmhlcml0YW5jZVxuICAgKi9c
biAgVnVlLmV4dGVuZCA9IGZ1bmN0aW9uIChleHRlbmRPcHRpb25zKSB7XG4gICAgZXh0ZW5kT3B0
aW9ucyA9IGV4dGVuZE9wdGlvbnMgfHwge307XG4gICAgdmFyIFN1cGVyID0gdGhpcztcbiAgICB2
YXIgU3VwZXJJZCA9IFN1cGVyLmNpZDtcbiAgICB2YXIgY2FjaGVkQ3RvcnMgPSBleHRlbmRPcHRp
b25zLl9DdG9yIHx8IChleHRlbmRPcHRpb25zLl9DdG9yID0ge30pO1xuICAgIGlmIChjYWNoZWRD
dG9yc1tTdXBlcklkXSkge1xuICAgICAgcmV0dXJuIGNhY2hlZEN0b3JzW1N1cGVySWRdXG4gICAg
fVxuXG4gICAgdmFyIG5hbWUgPSBleHRlbmRPcHRpb25zLm5hbWUgfHwgU3VwZXIub3B0aW9ucy5u
YW1lO1xuICAgIGlmIChmYWxzZSkge1xuICAgICAgaWYgKCEvXlthLXpBLVpdW1xcdy1dKiQvLnRl
c3QobmFtZSkpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICAnSW52YWxpZCBjb21wb25lbnQg
bmFtZTogXCInICsgbmFtZSArICdcIi4gQ29tcG9uZW50IG5hbWVzICcgK1xuICAgICAgICAgICdj
YW4gb25seSBjb250YWluIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGFuZCB0aGUgaHlwaGVuLCAn
ICtcbiAgICAgICAgICAnYW5kIG11c3Qgc3RhcnQgd2l0aCBhIGxldHRlci4nXG4gICAgICAgICk7
XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIFN1YiA9IGZ1bmN0aW9uIFZ1ZUNvbXBvbmVudCAo
b3B0aW9ucykge1xuICAgICAgdGhpcy5faW5pdChvcHRpb25zKTtcbiAgICB9O1xuICAgIFN1Yi5w
cm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKFN1cGVyLnByb3RvdHlwZSk7XG4gICAgU3ViLnByb3Rv
dHlwZS5jb25zdHJ1Y3RvciA9IFN1YjtcbiAgICBTdWIuY2lkID0gY2lkKys7XG4gICAgU3ViLm9w
dGlvbnMgPSBtZXJnZU9wdGlvbnMoXG4gICAgICBTdXBlci5vcHRpb25zLFxuICAgICAgZXh0ZW5k
T3B0aW9uc1xuICAgICk7XG4gICAgU3ViWydzdXBlciddID0gU3VwZXI7XG5cbiAgICAvLyBGb3Ig
cHJvcHMgYW5kIGNvbXB1dGVkIHByb3BlcnRpZXMsIHdlIGRlZmluZSB0aGUgcHJveHkgZ2V0dGVy
cyBvblxuICAgIC8vIHRoZSBWdWUgaW5zdGFuY2VzIGF0IGV4dGVuc2lvbiB0aW1lLCBvbiB0aGUg
ZXh0ZW5kZWQgcHJvdG90eXBlLiBUaGlzXG4gICAgLy8gYXZvaWRzIE9iamVjdC5kZWZpbmVQcm9w
ZXJ0eSBjYWxscyBmb3IgZWFjaCBpbnN0YW5jZSBjcmVhdGVkLlxuICAgIGlmIChTdWIub3B0aW9u
cy5wcm9wcykge1xuICAgICAgaW5pdFByb3BzJDEoU3ViKTtcbiAgICB9XG4gICAgaWYgKFN1Yi5v
cHRpb25zLmNvbXB1dGVkKSB7XG4gICAgICBpbml0Q29tcHV0ZWQkMShTdWIpO1xuICAgIH1cblxu
ICAgIC8vIGFsbG93IGZ1cnRoZXIgZXh0ZW5zaW9uL21peGluL3BsdWdpbiB1c2FnZVxuICAgIFN1
Yi5leHRlbmQgPSBTdXBlci5leHRlbmQ7XG4gICAgU3ViLm1peGluID0gU3VwZXIubWl4aW47XG4g
ICAgU3ViLnVzZSA9IFN1cGVyLnVzZTtcblxuICAgIC8vIGNyZWF0ZSBhc3NldCByZWdpc3RlcnMs
IHNvIGV4dGVuZGVkIGNsYXNzZXNcbiAgICAvLyBjYW4gaGF2ZSB0aGVpciBwcml2YXRlIGFzc2V0
cyB0b28uXG4gICAgQVNTRVRfVFlQRVMuZm9yRWFjaChmdW5jdGlvbiAodHlwZSkge1xuICAgICAg
U3ViW3R5cGVdID0gU3VwZXJbdHlwZV07XG4gICAgfSk7XG4gICAgLy8gZW5hYmxlIHJlY3Vyc2l2
ZSBzZWxmLWxvb2t1cFxuICAgIGlmIChuYW1lKSB7XG4gICAgICBTdWIub3B0aW9ucy5jb21wb25l
bnRzW25hbWVdID0gU3ViO1xuICAgIH1cblxuICAgIC8vIGtlZXAgYSByZWZlcmVuY2UgdG8gdGhl
IHN1cGVyIG9wdGlvbnMgYXQgZXh0ZW5zaW9uIHRpbWUuXG4gICAgLy8gbGF0ZXIgYXQgaW5zdGFu
dGlhdGlvbiB3ZSBjYW4gY2hlY2sgaWYgU3VwZXIncyBvcHRpb25zIGhhdmVcbiAgICAvLyBiZWVu
IHVwZGF0ZWQuXG4gICAgU3ViLnN1cGVyT3B0aW9ucyA9IFN1cGVyLm9wdGlvbnM7XG4gICAgU3Vi
LmV4dGVuZE9wdGlvbnMgPSBleHRlbmRPcHRpb25zO1xuICAgIFN1Yi5zZWFsZWRPcHRpb25zID0g
ZXh0ZW5kKHt9LCBTdWIub3B0aW9ucyk7XG5cbiAgICAvLyBjYWNoZSBjb25zdHJ1Y3RvclxuICAg
IGNhY2hlZEN0b3JzW1N1cGVySWRdID0gU3ViO1xuICAgIHJldHVybiBTdWJcbiAgfTtcbn1cblxu
ZnVuY3Rpb24gaW5pdFByb3BzJDEgKENvbXApIHtcbiAgdmFyIHByb3BzID0gQ29tcC5vcHRpb25z
LnByb3BzO1xuICBmb3IgKHZhciBrZXkgaW4gcHJvcHMpIHtcbiAgICBwcm94eShDb21wLnByb3Rv
dHlwZSwgXCJfcHJvcHNcIiwga2V5KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0Q29tcHV0ZWQk
MSAoQ29tcCkge1xuICB2YXIgY29tcHV0ZWQgPSBDb21wLm9wdGlvbnMuY29tcHV0ZWQ7XG4gIGZv
ciAodmFyIGtleSBpbiBjb21wdXRlZCkge1xuICAgIGRlZmluZUNvbXB1dGVkKENvbXAucHJvdG90
eXBlLCBrZXksIGNvbXB1dGVkW2tleV0pO1xuICB9XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBp
bml0QXNzZXRSZWdpc3RlcnMgKFZ1ZSkge1xuICAvKipcbiAgICogQ3JlYXRlIGFzc2V0IHJlZ2lz
dHJhdGlvbiBtZXRob2RzLlxuICAgKi9cbiAgQVNTRVRfVFlQRVMuZm9yRWFjaChmdW5jdGlvbiAo
dHlwZSkge1xuICAgIFZ1ZVt0eXBlXSA9IGZ1bmN0aW9uIChcbiAgICAgIGlkLFxuICAgICAgZGVm
aW5pdGlvblxuICAgICkge1xuICAgICAgaWYgKCFkZWZpbml0aW9uKSB7XG4gICAgICAgIHJldHVy
biB0aGlzLm9wdGlvbnNbdHlwZSArICdzJ11baWRdXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAv
KiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgICAgaWYgKGZhbHNlKSB7XG4gICAgICAgICAg
aWYgKHR5cGUgPT09ICdjb21wb25lbnQnICYmIGNvbmZpZy5pc1Jlc2VydmVkVGFnKGlkKSkge1xu
ICAgICAgICAgICAgd2FybihcbiAgICAgICAgICAgICAgJ0RvIG5vdCB1c2UgYnVpbHQtaW4gb3Ig
cmVzZXJ2ZWQgSFRNTCBlbGVtZW50cyBhcyBjb21wb25lbnQgJyArXG4gICAgICAgICAgICAgICdp
ZDogJyArIGlkXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAg
ICBpZiAodHlwZSA9PT0gJ2NvbXBvbmVudCcgJiYgaXNQbGFpbk9iamVjdChkZWZpbml0aW9uKSkg
e1xuICAgICAgICAgIGRlZmluaXRpb24ubmFtZSA9IGRlZmluaXRpb24ubmFtZSB8fCBpZDtcbiAg
ICAgICAgICBkZWZpbml0aW9uID0gdGhpcy5vcHRpb25zLl9iYXNlLmV4dGVuZChkZWZpbml0aW9u
KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZSA9PT0gJ2RpcmVjdGl2ZScgJiYgdHlwZW9m
IGRlZmluaXRpb24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBkZWZpbml0aW9uID0geyBi
aW5kOiBkZWZpbml0aW9uLCB1cGRhdGU6IGRlZmluaXRpb24gfTtcbiAgICAgICAgfVxuICAgICAg
ICB0aGlzLm9wdGlvbnNbdHlwZSArICdzJ11baWRdID0gZGVmaW5pdGlvbjtcbiAgICAgICAgcmV0
dXJuIGRlZmluaXRpb25cbiAgICAgIH1cbiAgICB9O1xuICB9KTtcbn1cblxuLyogICovXG5cbnZh
ciBwYXR0ZXJuVHlwZXMgPSBbU3RyaW5nLCBSZWdFeHAsIEFycmF5XTtcblxuZnVuY3Rpb24gZ2V0
Q29tcG9uZW50TmFtZSAob3B0cykge1xuICByZXR1cm4gb3B0cyAmJiAob3B0cy5DdG9yLm9wdGlv
bnMubmFtZSB8fCBvcHRzLnRhZylcbn1cblxuZnVuY3Rpb24gbWF0Y2hlcyAocGF0dGVybiwgbmFt
ZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheShwYXR0ZXJuKSkge1xuICAgIHJldHVybiBwYXR0ZXJu
LmluZGV4T2YobmFtZSkgPiAtMVxuICB9IGVsc2UgaWYgKHR5cGVvZiBwYXR0ZXJuID09PSAnc3Ry
aW5nJykge1xuICAgIHJldHVybiBwYXR0ZXJuLnNwbGl0KCcsJykuaW5kZXhPZihuYW1lKSA+IC0x
XG4gIH0gZWxzZSBpZiAoaXNSZWdFeHAocGF0dGVybikpIHtcbiAgICByZXR1cm4gcGF0dGVybi50
ZXN0KG5hbWUpXG4gIH1cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcmV0dXJuIGZh
bHNlXG59XG5cbmZ1bmN0aW9uIHBydW5lQ2FjaGUgKGNhY2hlLCBjdXJyZW50LCBmaWx0ZXIpIHtc
biAgZm9yICh2YXIga2V5IGluIGNhY2hlKSB7XG4gICAgdmFyIGNhY2hlZE5vZGUgPSBjYWNoZVtr
ZXldO1xuICAgIGlmIChjYWNoZWROb2RlKSB7XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVu
dE5hbWUoY2FjaGVkTm9kZS5jb21wb25lbnRPcHRpb25zKTtcbiAgICAgIGlmIChuYW1lICYmICFm
aWx0ZXIobmFtZSkpIHtcbiAgICAgICAgaWYgKGNhY2hlZE5vZGUgIT09IGN1cnJlbnQpIHtcbiAg
ICAgICAgICBwcnVuZUNhY2hlRW50cnkoY2FjaGVkTm9kZSk7XG4gICAgICAgIH1cbiAgICAgICAg
Y2FjaGVba2V5XSA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHBy
dW5lQ2FjaGVFbnRyeSAodm5vZGUpIHtcbiAgaWYgKHZub2RlKSB7XG4gICAgdm5vZGUuY29tcG9u
ZW50SW5zdGFuY2UuJGRlc3Ryb3koKTtcbiAgfVxufVxuXG52YXIgS2VlcEFsaXZlID0ge1xuICBu
YW1lOiAna2VlcC1hbGl2ZScsXG4gIGFic3RyYWN0OiB0cnVlLFxuXG4gIHByb3BzOiB7XG4gICAg
aW5jbHVkZTogcGF0dGVyblR5cGVzLFxuICAgIGV4Y2x1ZGU6IHBhdHRlcm5UeXBlc1xuICB9LFxu
XG4gIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQgKCkge1xuICAgIHRoaXMuY2FjaGUgPSBPYmpl
Y3QuY3JlYXRlKG51bGwpO1xuICB9LFxuXG4gIGRlc3Ryb3llZDogZnVuY3Rpb24gZGVzdHJveWVk
ICgpIHtcbiAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIGZvciAodmFyIGtleSBpbiB0aGlz
JDEuY2FjaGUpIHtcbiAgICAgIHBydW5lQ2FjaGVFbnRyeSh0aGlzJDEuY2FjaGVba2V5XSk7XG4g
ICAgfVxuICB9LFxuXG4gIHdhdGNoOiB7XG4gICAgaW5jbHVkZTogZnVuY3Rpb24gaW5jbHVkZSAo
dmFsKSB7XG4gICAgICBwcnVuZUNhY2hlKHRoaXMuY2FjaGUsIHRoaXMuX3Zub2RlLCBmdW5jdGlv
biAobmFtZSkgeyByZXR1cm4gbWF0Y2hlcyh2YWwsIG5hbWUpOyB9KTtcbiAgICB9LFxuICAgIGV4
Y2x1ZGU6IGZ1bmN0aW9uIGV4Y2x1ZGUgKHZhbCkge1xuICAgICAgcHJ1bmVDYWNoZSh0aGlzLmNh
Y2hlLCB0aGlzLl92bm9kZSwgZnVuY3Rpb24gKG5hbWUpIHsgcmV0dXJuICFtYXRjaGVzKHZhbCwg
bmFtZSk7IH0pO1xuICAgIH1cbiAgfSxcblxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlciAoKSB7
XG4gICAgdmFyIHZub2RlID0gZ2V0Rmlyc3RDb21wb25lbnRDaGlsZCh0aGlzLiRzbG90cy5kZWZh
dWx0KTtcbiAgICB2YXIgY29tcG9uZW50T3B0aW9ucyA9IHZub2RlICYmIHZub2RlLmNvbXBvbmVu
dE9wdGlvbnM7XG4gICAgaWYgKGNvbXBvbmVudE9wdGlvbnMpIHtcbiAgICAgIC8vIGNoZWNrIHBh
dHRlcm5cbiAgICAgIHZhciBuYW1lID0gZ2V0Q29tcG9uZW50TmFtZShjb21wb25lbnRPcHRpb25z
KTtcbiAgICAgIGlmIChuYW1lICYmIChcbiAgICAgICAgKHRoaXMuaW5jbHVkZSAmJiAhbWF0Y2hl
cyh0aGlzLmluY2x1ZGUsIG5hbWUpKSB8fFxuICAgICAgICAodGhpcy5leGNsdWRlICYmIG1hdGNo
ZXModGhpcy5leGNsdWRlLCBuYW1lKSlcbiAgICAgICkpIHtcbiAgICAgICAgcmV0dXJuIHZub2Rl
XG4gICAgICB9XG4gICAgICB2YXIga2V5ID0gdm5vZGUua2V5ID09IG51bGxcbiAgICAgICAgLy8g
c2FtZSBjb25zdHJ1Y3RvciBtYXkgZ2V0IHJlZ2lzdGVyZWQgYXMgZGlmZmVyZW50IGxvY2FsIGNv
bXBvbmVudHNcbiAgICAgICAgLy8gc28gY2lkIGFsb25lIGlzIG5vdCBlbm91Z2ggKCMzMjY5KVxu
ICAgICAgICA/IGNvbXBvbmVudE9wdGlvbnMuQ3Rvci5jaWQgKyAoY29tcG9uZW50T3B0aW9ucy50
YWcgPyAoXCI6OlwiICsgKGNvbXBvbmVudE9wdGlvbnMudGFnKSkgOiAnJylcbiAgICAgICAgOiB2
bm9kZS5rZXk7XG4gICAgICBpZiAodGhpcy5jYWNoZVtrZXldKSB7XG4gICAgICAgIHZub2RlLmNv
bXBvbmVudEluc3RhbmNlID0gdGhpcy5jYWNoZVtrZXldLmNvbXBvbmVudEluc3RhbmNlO1xuICAg
ICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jYWNoZVtrZXldID0gdm5vZGU7XG4gICAgICB9XG4g
ICAgICB2bm9kZS5kYXRhLmtlZXBBbGl2ZSA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiB2bm9k
ZVxuICB9XG59O1xuXG52YXIgYnVpbHRJbkNvbXBvbmVudHMgPSB7XG4gIEtlZXBBbGl2ZTogS2Vl
cEFsaXZlXG59O1xuXG4vKiAgKi9cblxuZnVuY3Rpb24gaW5pdEdsb2JhbEFQSSAoVnVlKSB7XG4g
IC8vIGNvbmZpZ1xuICB2YXIgY29uZmlnRGVmID0ge307XG4gIGNvbmZpZ0RlZi5nZXQgPSBmdW5j
dGlvbiAoKSB7IHJldHVybiBjb25maWc7IH07XG4gIGlmIChmYWxzZSkge1xuICAgIGNvbmZpZ0Rl
Zi5zZXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICB3YXJuKFxuICAgICAgICAnRG8gbm90IHJlcGxh
Y2UgdGhlIFZ1ZS5jb25maWcgb2JqZWN0LCBzZXQgaW5kaXZpZHVhbCBmaWVsZHMgaW5zdGVhZC4n
XG4gICAgICApO1xuICAgIH07XG4gIH1cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFZ1ZSwgJ2Nv
bmZpZycsIGNvbmZpZ0RlZik7XG5cbiAgLy8gZXhwb3NlZCB1dGlsIG1ldGhvZHMuXG4gIC8vIE5P
VEU6IHRoZXNlIGFyZSBub3QgY29uc2lkZXJlZCBwYXJ0IG9mIHRoZSBwdWJsaWMgQVBJIC0gYXZv
aWQgcmVseWluZyBvblxuICAvLyB0aGVtIHVubGVzcyB5b3UgYXJlIGF3YXJlIG9mIHRoZSByaXNr
LlxuICBWdWUudXRpbCA9IHtcbiAgICB3YXJuOiB3YXJuLFxuICAgIGV4dGVuZDogZXh0ZW5kLFxu
ICAgIG1lcmdlT3B0aW9uczogbWVyZ2VPcHRpb25zLFxuICAgIGRlZmluZVJlYWN0aXZlOiBkZWZp
bmVSZWFjdGl2ZSQkMVxuICB9O1xuXG4gIFZ1ZS5zZXQgPSBzZXQ7XG4gIFZ1ZS5kZWxldGUgPSBk
ZWw7XG4gIFZ1ZS5uZXh0VGljayA9IG5leHRUaWNrO1xuXG4gIFZ1ZS5vcHRpb25zID0gT2JqZWN0
LmNyZWF0ZShudWxsKTtcbiAgQVNTRVRfVFlQRVMuZm9yRWFjaChmdW5jdGlvbiAodHlwZSkge1xu
ICAgIFZ1ZS5vcHRpb25zW3R5cGUgKyAncyddID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgfSk7
XG5cbiAgLy8gdGhpcyBpcyB1c2VkIHRvIGlkZW50aWZ5IHRoZSBcImJhc2VcIiBjb25zdHJ1Y3Rv
ciB0byBleHRlbmQgYWxsIHBsYWluLW9iamVjdFxuICAvLyBjb21wb25lbnRzIHdpdGggaW4gV2Vl
eCdzIG11bHRpLWluc3RhbmNlIHNjZW5hcmlvcy5cbiAgVnVlLm9wdGlvbnMuX2Jhc2UgPSBWdWU7
XG5cbiAgZXh0ZW5kKFZ1ZS5vcHRpb25zLmNvbXBvbmVudHMsIGJ1aWx0SW5Db21wb25lbnRzKTtc
blxuICBpbml0VXNlKFZ1ZSk7XG4gIGluaXRNaXhpbiQxKFZ1ZSk7XG4gIGluaXRFeHRlbmQoVnVl
KTtcbiAgaW5pdEFzc2V0UmVnaXN0ZXJzKFZ1ZSk7XG59XG5cbmluaXRHbG9iYWxBUEkoVnVlJDMp
O1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoVnVlJDMucHJvdG90eXBlLCAnJGlzU2VydmVyJywg
e1xuICBnZXQ6IGlzU2VydmVyUmVuZGVyaW5nXG59KTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5
KFZ1ZSQzLnByb3RvdHlwZSwgJyRzc3JDb250ZXh0Jywge1xuICBnZXQ6IGZ1bmN0aW9uIGdldCAo
KSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gdGhpcy4kdm5v
ZGUgJiYgdGhpcy4kdm5vZGUuc3NyQ29udGV4dFxuICB9XG59KTtcblxuVnVlJDMudmVyc2lvbiA9
ICcyLjQuMic7XG5cbi8qICAqL1xuXG4vLyB0aGVzZSBhcmUgcmVzZXJ2ZWQgZm9yIHdlYiBiZWNh
dXNlIHRoZXkgYXJlIGRpcmVjdGx5IGNvbXBpbGVkIGF3YXlcbi8vIGR1cmluZyB0ZW1wbGF0ZSBj
b21waWxhdGlvblxudmFyIGlzUmVzZXJ2ZWRBdHRyID0gbWFrZU1hcCgnc3R5bGUsY2xhc3MnKTtc
blxuLy8gYXR0cmlidXRlcyB0aGF0IHNob3VsZCBiZSB1c2luZyBwcm9wcyBmb3IgYmluZGluZ1xu
dmFyIGFjY2VwdFZhbHVlID0gbWFrZU1hcCgnaW5wdXQsdGV4dGFyZWEsb3B0aW9uLHNlbGVjdCcp
O1xudmFyIG11c3RVc2VQcm9wID0gZnVuY3Rpb24gKHRhZywgdHlwZSwgYXR0cikge1xuICByZXR1
cm4gKFxuICAgIChhdHRyID09PSAndmFsdWUnICYmIGFjY2VwdFZhbHVlKHRhZykpICYmIHR5cGUg
IT09ICdidXR0b24nIHx8XG4gICAgKGF0dHIgPT09ICdzZWxlY3RlZCcgJiYgdGFnID09PSAnb3B0
aW9uJykgfHxcbiAgICAoYXR0ciA9PT0gJ2NoZWNrZWQnICYmIHRhZyA9PT0gJ2lucHV0JykgfHxc
biAgICAoYXR0ciA9PT0gJ211dGVkJyAmJiB0YWcgPT09ICd2aWRlbycpXG4gIClcbn07XG5cbnZh
ciBpc0VudW1lcmF0ZWRBdHRyID0gbWFrZU1hcCgnY29udGVudGVkaXRhYmxlLGRyYWdnYWJsZSxz
cGVsbGNoZWNrJyk7XG5cbnZhciBpc0Jvb2xlYW5BdHRyID0gbWFrZU1hcChcbiAgJ2FsbG93ZnVs
bHNjcmVlbixhc3luYyxhdXRvZm9jdXMsYXV0b3BsYXksY2hlY2tlZCxjb21wYWN0LGNvbnRyb2xz
LGRlY2xhcmUsJyArXG4gICdkZWZhdWx0LGRlZmF1bHRjaGVja2VkLGRlZmF1bHRtdXRlZCxkZWZh
dWx0c2VsZWN0ZWQsZGVmZXIsZGlzYWJsZWQsJyArXG4gICdlbmFibGVkLGZvcm1ub3ZhbGlkYXRl
LGhpZGRlbixpbmRldGVybWluYXRlLGluZXJ0LGlzbWFwLGl0ZW1zY29wZSxsb29wLG11bHRpcGxl
LCcgK1xuICAnbXV0ZWQsbm9ocmVmLG5vcmVzaXplLG5vc2hhZGUsbm92YWxpZGF0ZSxub3dyYXAs
b3BlbixwYXVzZW9uZXhpdCxyZWFkb25seSwnICtcbiAgJ3JlcXVpcmVkLHJldmVyc2VkLHNjb3Bl
ZCxzZWFtbGVzcyxzZWxlY3RlZCxzb3J0YWJsZSx0cmFuc2xhdGUsJyArXG4gICd0cnVlc3BlZWQs
dHlwZW11c3RtYXRjaCx2aXNpYmxlJ1xuKTtcblxudmFyIHhsaW5rTlMgPSAnaHR0cDovL3d3dy53
My5vcmcvMTk5OS94bGluayc7XG5cbnZhciBpc1hsaW5rID0gZnVuY3Rpb24gKG5hbWUpIHtcbiAg
cmV0dXJuIG5hbWUuY2hhckF0KDUpID09PSAnOicgJiYgbmFtZS5zbGljZSgwLCA1KSA9PT0gJ3hs
aW5rJ1xufTtcblxudmFyIGdldFhsaW5rUHJvcCA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gIHJldHVy
biBpc1hsaW5rKG5hbWUpID8gbmFtZS5zbGljZSg2LCBuYW1lLmxlbmd0aCkgOiAnJ1xufTtcblxu
dmFyIGlzRmFsc3lBdHRyVmFsdWUgPSBmdW5jdGlvbiAodmFsKSB7XG4gIHJldHVybiB2YWwgPT0g
bnVsbCB8fCB2YWwgPT09IGZhbHNlXG59O1xuXG4vKiAgKi9cblxuZnVuY3Rpb24gZ2VuQ2xhc3NG
b3JWbm9kZSAodm5vZGUpIHtcbiAgdmFyIGRhdGEgPSB2bm9kZS5kYXRhO1xuICB2YXIgcGFyZW50
Tm9kZSA9IHZub2RlO1xuICB2YXIgY2hpbGROb2RlID0gdm5vZGU7XG4gIHdoaWxlIChpc0RlZihj
aGlsZE5vZGUuY29tcG9uZW50SW5zdGFuY2UpKSB7XG4gICAgY2hpbGROb2RlID0gY2hpbGROb2Rl
LmNvbXBvbmVudEluc3RhbmNlLl92bm9kZTtcbiAgICBpZiAoY2hpbGROb2RlLmRhdGEpIHtcbiAg
ICAgIGRhdGEgPSBtZXJnZUNsYXNzRGF0YShjaGlsZE5vZGUuZGF0YSwgZGF0YSk7XG4gICAgfVxu
ICB9XG4gIHdoaWxlIChpc0RlZihwYXJlbnROb2RlID0gcGFyZW50Tm9kZS5wYXJlbnQpKSB7XG4g
ICAgaWYgKHBhcmVudE5vZGUuZGF0YSkge1xuICAgICAgZGF0YSA9IG1lcmdlQ2xhc3NEYXRhKGRh
dGEsIHBhcmVudE5vZGUuZGF0YSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZW5kZXJDbGFzcyhk
YXRhLnN0YXRpY0NsYXNzLCBkYXRhLmNsYXNzKVxufVxuXG5mdW5jdGlvbiBtZXJnZUNsYXNzRGF0
YSAoY2hpbGQsIHBhcmVudCkge1xuICByZXR1cm4ge1xuICAgIHN0YXRpY0NsYXNzOiBjb25jYXQo
Y2hpbGQuc3RhdGljQ2xhc3MsIHBhcmVudC5zdGF0aWNDbGFzcyksXG4gICAgY2xhc3M6IGlzRGVm
KGNoaWxkLmNsYXNzKVxuICAgICAgPyBbY2hpbGQuY2xhc3MsIHBhcmVudC5jbGFzc11cbiAgICAg
IDogcGFyZW50LmNsYXNzXG4gIH1cbn1cblxuZnVuY3Rpb24gcmVuZGVyQ2xhc3MgKFxuICBzdGF0
aWNDbGFzcyxcbiAgZHluYW1pY0NsYXNzXG4pIHtcbiAgaWYgKGlzRGVmKHN0YXRpY0NsYXNzKSB8
fCBpc0RlZihkeW5hbWljQ2xhc3MpKSB7XG4gICAgcmV0dXJuIGNvbmNhdChzdGF0aWNDbGFzcywg
c3RyaW5naWZ5Q2xhc3MoZHluYW1pY0NsYXNzKSlcbiAgfVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUg
bmV4dCAqL1xuICByZXR1cm4gJydcbn1cblxuZnVuY3Rpb24gY29uY2F0IChhLCBiKSB7XG4gIHJl
dHVybiBhID8gYiA/IChhICsgJyAnICsgYikgOiBhIDogKGIgfHwgJycpXG59XG5cbmZ1bmN0aW9u
IHN0cmluZ2lmeUNsYXNzICh2YWx1ZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtc
biAgICByZXR1cm4gc3RyaW5naWZ5QXJyYXkodmFsdWUpXG4gIH1cbiAgaWYgKGlzT2JqZWN0KHZh
bHVlKSkge1xuICAgIHJldHVybiBzdHJpbmdpZnlPYmplY3QodmFsdWUpXG4gIH1cbiAgaWYgKHR5
cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gdmFsdWVcbiAgfVxuICAvKiBp
c3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICByZXR1cm4gJydcbn1cblxuZnVuY3Rpb24gc3RyaW5n
aWZ5QXJyYXkgKHZhbHVlKSB7XG4gIHZhciByZXMgPSAnJztcbiAgdmFyIHN0cmluZ2lmaWVkO1xu
ICBmb3IgKHZhciBpID0gMCwgbCA9IHZhbHVlLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIGlm
IChpc0RlZihzdHJpbmdpZmllZCA9IHN0cmluZ2lmeUNsYXNzKHZhbHVlW2ldKSkgJiYgc3RyaW5n
aWZpZWQgIT09ICcnKSB7XG4gICAgICBpZiAocmVzKSB7IHJlcyArPSAnICc7IH1cbiAgICAgIHJl
cyArPSBzdHJpbmdpZmllZDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG5mdW5jdGlv
biBzdHJpbmdpZnlPYmplY3QgKHZhbHVlKSB7XG4gIHZhciByZXMgPSAnJztcbiAgZm9yICh2YXIg
a2V5IGluIHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlW2tleV0pIHtcbiAgICAgIGlmIChyZXMpIHsg
cmVzICs9ICcgJzsgfVxuICAgICAgcmVzICs9IGtleTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJl
c1xufVxuXG4vKiAgKi9cblxudmFyIG5hbWVzcGFjZU1hcCA9IHtcbiAgc3ZnOiAnaHR0cDovL3d3
dy53My5vcmcvMjAwMC9zdmcnLFxuICBtYXRoOiAnaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRo
L01hdGhNTCdcbn07XG5cbnZhciBpc0hUTUxUYWcgPSBtYWtlTWFwKFxuICAnaHRtbCxib2R5LGJh
c2UsaGVhZCxsaW5rLG1ldGEsc3R5bGUsdGl0bGUsJyArXG4gICdhZGRyZXNzLGFydGljbGUsYXNp
ZGUsZm9vdGVyLGhlYWRlcixoMSxoMixoMyxoNCxoNSxoNixoZ3JvdXAsbmF2LHNlY3Rpb24sJyAr
XG4gICdkaXYsZGQsZGwsZHQsZmlnY2FwdGlvbixmaWd1cmUscGljdHVyZSxocixpbWcsbGksbWFp
bixvbCxwLHByZSx1bCwnICtcbiAgJ2EsYixhYmJyLGJkaSxiZG8sYnIsY2l0ZSxjb2RlLGRhdGEs
ZGZuLGVtLGksa2JkLG1hcmsscSxycCxydCxydGMscnVieSwnICtcbiAgJ3Msc2FtcCxzbWFsbCxz
cGFuLHN0cm9uZyxzdWIsc3VwLHRpbWUsdSx2YXIsd2JyLGFyZWEsYXVkaW8sbWFwLHRyYWNrLHZp
ZGVvLCcgK1xuICAnZW1iZWQsb2JqZWN0LHBhcmFtLHNvdXJjZSxjYW52YXMsc2NyaXB0LG5vc2Ny
aXB0LGRlbCxpbnMsJyArXG4gICdjYXB0aW9uLGNvbCxjb2xncm91cCx0YWJsZSx0aGVhZCx0Ym9k
eSx0ZCx0aCx0ciwnICtcbiAgJ2J1dHRvbixkYXRhbGlzdCxmaWVsZHNldCxmb3JtLGlucHV0LGxh
YmVsLGxlZ2VuZCxtZXRlcixvcHRncm91cCxvcHRpb24sJyArXG4gICdvdXRwdXQscHJvZ3Jlc3Ms
c2VsZWN0LHRleHRhcmVhLCcgK1xuICAnZGV0YWlscyxkaWFsb2csbWVudSxtZW51aXRlbSxzdW1t
YXJ5LCcgK1xuICAnY29udGVudCxlbGVtZW50LHNoYWRvdyx0ZW1wbGF0ZSxibG9ja3F1b3RlLGlm
cmFtZSx0Zm9vdCdcbik7XG5cbi8vIHRoaXMgbWFwIGlzIGludGVudGlvbmFsbHkgc2VsZWN0aXZl
LCBvbmx5IGNvdmVyaW5nIFNWRyBlbGVtZW50cyB0aGF0IG1heVxuLy8gY29udGFpbiBjaGlsZCBl
bGVtZW50cy5cbnZhciBpc1NWRyA9IG1ha2VNYXAoXG4gICdzdmcsYW5pbWF0ZSxjaXJjbGUsY2xp
cHBhdGgsY3Vyc29yLGRlZnMsZGVzYyxlbGxpcHNlLGZpbHRlcixmb250LWZhY2UsJyArXG4gICdm
b3JlaWduT2JqZWN0LGcsZ2x5cGgsaW1hZ2UsbGluZSxtYXJrZXIsbWFzayxtaXNzaW5nLWdseXBo
LHBhdGgscGF0dGVybiwnICtcbiAgJ3BvbHlnb24scG9seWxpbmUscmVjdCxzd2l0Y2gsc3ltYm9s
LHRleHQsdGV4dHBhdGgsdHNwYW4sdXNlLHZpZXcnLFxuICB0cnVlXG4pO1xuXG52YXIgaXNQcmVU
YWcgPSBmdW5jdGlvbiAodGFnKSB7IHJldHVybiB0YWcgPT09ICdwcmUnOyB9O1xuXG52YXIgaXNS
ZXNlcnZlZFRhZyA9IGZ1bmN0aW9uICh0YWcpIHtcbiAgcmV0dXJuIGlzSFRNTFRhZyh0YWcpIHx8
IGlzU1ZHKHRhZylcbn07XG5cbmZ1bmN0aW9uIGdldFRhZ05hbWVzcGFjZSAodGFnKSB7XG4gIGlm
IChpc1NWRyh0YWcpKSB7XG4gICAgcmV0dXJuICdzdmcnXG4gIH1cbiAgLy8gYmFzaWMgc3VwcG9y
dCBmb3IgTWF0aE1MXG4gIC8vIG5vdGUgaXQgZG9lc24ndCBzdXBwb3J0IG90aGVyIE1hdGhNTCBl
bGVtZW50cyBiZWluZyBjb21wb25lbnQgcm9vdHNcbiAgaWYgKHRhZyA9PT0gJ21hdGgnKSB7XG4g
ICAgcmV0dXJuICdtYXRoJ1xuICB9XG59XG5cbnZhciB1bmtub3duRWxlbWVudENhY2hlID0gT2Jq
ZWN0LmNyZWF0ZShudWxsKTtcbmZ1bmN0aW9uIGlzVW5rbm93bkVsZW1lbnQgKHRhZykge1xuICAv
KiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKCFpbkJyb3dzZXIpIHtcbiAgICByZXR1cm4g
dHJ1ZVxuICB9XG4gIGlmIChpc1Jlc2VydmVkVGFnKHRhZykpIHtcbiAgICByZXR1cm4gZmFsc2Vc
biAgfVxuICB0YWcgPSB0YWcudG9Mb3dlckNhc2UoKTtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlm
ICovXG4gIGlmICh1bmtub3duRWxlbWVudENhY2hlW3RhZ10gIT0gbnVsbCkge1xuICAgIHJldHVy
biB1bmtub3duRWxlbWVudENhY2hlW3RhZ11cbiAgfVxuICB2YXIgZWwgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHRhZyk7XG4gIGlmICh0YWcuaW5kZXhPZignLScpID4gLTEpIHtcbiAgICAvLyBo
dHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8yODIxMDM2NC8xMDcwMjQ0XG4gICAgcmV0dXJuICh1
bmtub3duRWxlbWVudENhY2hlW3RhZ10gPSAoXG4gICAgICBlbC5jb25zdHJ1Y3RvciA9PT0gd2lu
ZG93LkhUTUxVbmtub3duRWxlbWVudCB8fFxuICAgICAgZWwuY29uc3RydWN0b3IgPT09IHdpbmRv
dy5IVE1MRWxlbWVudFxuICAgICkpXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuICh1bmtub3duRWxl
bWVudENhY2hlW3RhZ10gPSAvSFRNTFVua25vd25FbGVtZW50Ly50ZXN0KGVsLnRvU3RyaW5nKCkp
KVxuICB9XG59XG5cbi8qICAqL1xuXG4vKipcbiAqIFF1ZXJ5IGFuIGVsZW1lbnQgc2VsZWN0b3Ig
aWYgaXQncyBub3QgYW4gZWxlbWVudCBhbHJlYWR5LlxuICovXG5mdW5jdGlvbiBxdWVyeSAoZWwp
IHtcbiAgaWYgKHR5cGVvZiBlbCA9PT0gJ3N0cmluZycpIHtcbiAgICB2YXIgc2VsZWN0ZWQgPSBk
b2N1bWVudC5xdWVyeVNlbGVjdG9yKGVsKTtcbiAgICBpZiAoIXNlbGVjdGVkKSB7XG4gICAgICBc
InByb2R1Y3Rpb25cIiAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4oXG4gICAgICAgICdDYW5ub3Qg
ZmluZCBlbGVtZW50OiAnICsgZWxcbiAgICAgICk7XG4gICAgICByZXR1cm4gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2JylcbiAgICB9XG4gICAgcmV0dXJuIHNlbGVjdGVkXG4gIH0gZWxzZSB7
XG4gICAgcmV0dXJuIGVsXG4gIH1cbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGNyZWF0ZUVsZW1l
bnQkMSAodGFnTmFtZSwgdm5vZGUpIHtcbiAgdmFyIGVsbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodGFnTmFtZSk7XG4gIGlmICh0YWdOYW1lICE9PSAnc2VsZWN0Jykge1xuICAgIHJldHVybiBl
bG1cbiAgfVxuICAvLyBmYWxzZSBvciBudWxsIHdpbGwgcmVtb3ZlIHRoZSBhdHRyaWJ1dGUgYnV0
IHVuZGVmaW5lZCB3aWxsIG5vdFxuICBpZiAodm5vZGUuZGF0YSAmJiB2bm9kZS5kYXRhLmF0dHJz
ICYmIHZub2RlLmRhdGEuYXR0cnMubXVsdGlwbGUgIT09IHVuZGVmaW5lZCkge1xuICAgIGVsbS5z
ZXRBdHRyaWJ1dGUoJ211bHRpcGxlJywgJ211bHRpcGxlJyk7XG4gIH1cbiAgcmV0dXJuIGVsbVxu
fVxuXG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50TlMgKG5hbWVzcGFjZSwgdGFnTmFtZSkge1xuICBy
ZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKG5hbWVzcGFjZU1hcFtuYW1lc3BhY2VdLCB0
YWdOYW1lKVxufVxuXG5mdW5jdGlvbiBjcmVhdGVUZXh0Tm9kZSAodGV4dCkge1xuICByZXR1cm4g
ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGV4dClcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ29tbWVu
dCAodGV4dCkge1xuICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudCh0ZXh0KVxufVxuXG5m
dW5jdGlvbiBpbnNlcnRCZWZvcmUgKHBhcmVudE5vZGUsIG5ld05vZGUsIHJlZmVyZW5jZU5vZGUp
IHtcbiAgcGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobmV3Tm9kZSwgcmVmZXJlbmNlTm9kZSk7XG59
XG5cbmZ1bmN0aW9uIHJlbW92ZUNoaWxkIChub2RlLCBjaGlsZCkge1xuICBub2RlLnJlbW92ZUNo
aWxkKGNoaWxkKTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kQ2hpbGQgKG5vZGUsIGNoaWxkKSB7XG4g
IG5vZGUuYXBwZW5kQ2hpbGQoY2hpbGQpO1xufVxuXG5mdW5jdGlvbiBwYXJlbnROb2RlIChub2Rl
KSB7XG4gIHJldHVybiBub2RlLnBhcmVudE5vZGVcbn1cblxuZnVuY3Rpb24gbmV4dFNpYmxpbmcg
KG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUubmV4dFNpYmxpbmdcbn1cblxuZnVuY3Rpb24gdGFnTmFt
ZSAobm9kZSkge1xuICByZXR1cm4gbm9kZS50YWdOYW1lXG59XG5cbmZ1bmN0aW9uIHNldFRleHRD
b250ZW50IChub2RlLCB0ZXh0KSB7XG4gIG5vZGUudGV4dENvbnRlbnQgPSB0ZXh0O1xufVxuXG5m
dW5jdGlvbiBzZXRBdHRyaWJ1dGUgKG5vZGUsIGtleSwgdmFsKSB7XG4gIG5vZGUuc2V0QXR0cmli
dXRlKGtleSwgdmFsKTtcbn1cblxuXG52YXIgbm9kZU9wcyA9IE9iamVjdC5mcmVlemUoe1xuXHRj
cmVhdGVFbGVtZW50OiBjcmVhdGVFbGVtZW50JDEsXG5cdGNyZWF0ZUVsZW1lbnROUzogY3JlYXRl
RWxlbWVudE5TLFxuXHRjcmVhdGVUZXh0Tm9kZTogY3JlYXRlVGV4dE5vZGUsXG5cdGNyZWF0ZUNv
bW1lbnQ6IGNyZWF0ZUNvbW1lbnQsXG5cdGluc2VydEJlZm9yZTogaW5zZXJ0QmVmb3JlLFxuXHRy
ZW1vdmVDaGlsZDogcmVtb3ZlQ2hpbGQsXG5cdGFwcGVuZENoaWxkOiBhcHBlbmRDaGlsZCxcblx0
cGFyZW50Tm9kZTogcGFyZW50Tm9kZSxcblx0bmV4dFNpYmxpbmc6IG5leHRTaWJsaW5nLFxuXHR0
YWdOYW1lOiB0YWdOYW1lLFxuXHRzZXRUZXh0Q29udGVudDogc2V0VGV4dENvbnRlbnQsXG5cdHNl
dEF0dHJpYnV0ZTogc2V0QXR0cmlidXRlXG59KTtcblxuLyogICovXG5cbnZhciByZWYgPSB7XG4g
IGNyZWF0ZTogZnVuY3Rpb24gY3JlYXRlIChfLCB2bm9kZSkge1xuICAgIHJlZ2lzdGVyUmVmKHZu
b2RlKTtcbiAgfSxcbiAgdXBkYXRlOiBmdW5jdGlvbiB1cGRhdGUgKG9sZFZub2RlLCB2bm9kZSkg
e1xuICAgIGlmIChvbGRWbm9kZS5kYXRhLnJlZiAhPT0gdm5vZGUuZGF0YS5yZWYpIHtcbiAgICAg
IHJlZ2lzdGVyUmVmKG9sZFZub2RlLCB0cnVlKTtcbiAgICAgIHJlZ2lzdGVyUmVmKHZub2RlKTtc
biAgICB9XG4gIH0sXG4gIGRlc3Ryb3k6IGZ1bmN0aW9uIGRlc3Ryb3kgKHZub2RlKSB7XG4gICAg
cmVnaXN0ZXJSZWYodm5vZGUsIHRydWUpO1xuICB9XG59O1xuXG5mdW5jdGlvbiByZWdpc3RlclJl
ZiAodm5vZGUsIGlzUmVtb3ZhbCkge1xuICB2YXIga2V5ID0gdm5vZGUuZGF0YS5yZWY7XG4gIGlm
ICgha2V5KSB7IHJldHVybiB9XG5cbiAgdmFyIHZtID0gdm5vZGUuY29udGV4dDtcbiAgdmFyIHJl
ZiA9IHZub2RlLmNvbXBvbmVudEluc3RhbmNlIHx8IHZub2RlLmVsbTtcbiAgdmFyIHJlZnMgPSB2
bS4kcmVmcztcbiAgaWYgKGlzUmVtb3ZhbCkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHJlZnNb
a2V5XSkpIHtcbiAgICAgIHJlbW92ZShyZWZzW2tleV0sIHJlZik7XG4gICAgfSBlbHNlIGlmIChy
ZWZzW2tleV0gPT09IHJlZikge1xuICAgICAgcmVmc1trZXldID0gdW5kZWZpbmVkO1xuICAgIH1c
biAgfSBlbHNlIHtcbiAgICBpZiAodm5vZGUuZGF0YS5yZWZJbkZvcikge1xuICAgICAgaWYgKCFB
cnJheS5pc0FycmF5KHJlZnNba2V5XSkpIHtcbiAgICAgICAgcmVmc1trZXldID0gW3JlZl07XG4g
ICAgICB9IGVsc2UgaWYgKHJlZnNba2V5XS5pbmRleE9mKHJlZikgPCAwKSB7XG4gICAgICAgIC8v
ICRmbG93LWRpc2FibGUtbGluZVxuICAgICAgICByZWZzW2tleV0ucHVzaChyZWYpO1xuICAgICAg
fVxuICAgIH0gZWxzZSB7XG4gICAgICByZWZzW2tleV0gPSByZWY7XG4gICAgfVxuICB9XG59XG5c
bi8qKlxuICogVmlydHVhbCBET00gcGF0Y2hpbmcgYWxnb3JpdGhtIGJhc2VkIG9uIFNuYWJiZG9t
IGJ5XG4gKiBTaW1vbiBGcmlpcyBWaW5kdW0gKEBwYWxkZXBpbmQpXG4gKiBMaWNlbnNlZCB1bmRl
ciB0aGUgTUlUIExpY2Vuc2VcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxkZXBpbmQvc25hYmJk
b20vYmxvYi9tYXN0ZXIvTElDRU5TRVxuICpcbiAqIG1vZGlmaWVkIGJ5IEV2YW4gWW91IChAeXl4
OTkwODAzKVxuICpcblxuLypcbiAqIE5vdCB0eXBlLWNoZWNraW5nIHRoaXMgYmVjYXVzZSB0aGlz
IGZpbGUgaXMgcGVyZi1jcml0aWNhbCBhbmQgdGhlIGNvc3RcbiAqIG9mIG1ha2luZyBmbG93IHVu
ZGVyc3RhbmQgaXQgaXMgbm90IHdvcnRoIGl0LlxuICovXG5cbnZhciBlbXB0eU5vZGUgPSBuZXcg
Vk5vZGUoJycsIHt9LCBbXSk7XG5cbnZhciBob29rcyA9IFsnY3JlYXRlJywgJ2FjdGl2YXRlJywg
J3VwZGF0ZScsICdyZW1vdmUnLCAnZGVzdHJveSddO1xuXG5mdW5jdGlvbiBzYW1lVm5vZGUgKGEs
IGIpIHtcbiAgcmV0dXJuIChcbiAgICBhLmtleSA9PT0gYi5rZXkgJiYgKFxuICAgICAgKFxuICAg
ICAgICBhLnRhZyA9PT0gYi50YWcgJiZcbiAgICAgICAgYS5pc0NvbW1lbnQgPT09IGIuaXNDb21t
ZW50ICYmXG4gICAgICAgIGlzRGVmKGEuZGF0YSkgPT09IGlzRGVmKGIuZGF0YSkgJiZcbiAgICAg
ICAgc2FtZUlucHV0VHlwZShhLCBiKVxuICAgICAgKSB8fCAoXG4gICAgICAgIGlzVHJ1ZShhLmlz
QXN5bmNQbGFjZWhvbGRlcikgJiZcbiAgICAgICAgYS5hc3luY0ZhY3RvcnkgPT09IGIuYXN5bmNG
YWN0b3J5ICYmXG4gICAgICAgIGlzVW5kZWYoYi5hc3luY0ZhY3RvcnkuZXJyb3IpXG4gICAgICAp
XG4gICAgKVxuICApXG59XG5cbi8vIFNvbWUgYnJvd3NlcnMgZG8gbm90IHN1cHBvcnQgZHluYW1p
Y2FsbHkgY2hhbmdpbmcgdHlwZSBmb3IgPGlucHV0PlxuLy8gc28gdGhleSBuZWVkIHRvIGJlIHRy
ZWF0ZWQgYXMgZGlmZmVyZW50IG5vZGVzXG5mdW5jdGlvbiBzYW1lSW5wdXRUeXBlIChhLCBiKSB7
XG4gIGlmIChhLnRhZyAhPT0gJ2lucHV0JykgeyByZXR1cm4gdHJ1ZSB9XG4gIHZhciBpO1xuICB2
YXIgdHlwZUEgPSBpc0RlZihpID0gYS5kYXRhKSAmJiBpc0RlZihpID0gaS5hdHRycykgJiYgaS50
eXBlO1xuICB2YXIgdHlwZUIgPSBpc0RlZihpID0gYi5kYXRhKSAmJiBpc0RlZihpID0gaS5hdHRy
cykgJiYgaS50eXBlO1xuICByZXR1cm4gdHlwZUEgPT09IHR5cGVCXG59XG5cbmZ1bmN0aW9uIGNy
ZWF0ZUtleVRvT2xkSWR4IChjaGlsZHJlbiwgYmVnaW5JZHgsIGVuZElkeCkge1xuICB2YXIgaSwg
a2V5O1xuICB2YXIgbWFwID0ge307XG4gIGZvciAoaSA9IGJlZ2luSWR4OyBpIDw9IGVuZElkeDsg
KytpKSB7XG4gICAga2V5ID0gY2hpbGRyZW5baV0ua2V5O1xuICAgIGlmIChpc0RlZihrZXkpKSB7
IG1hcFtrZXldID0gaTsgfVxuICB9XG4gIHJldHVybiBtYXBcbn1cblxuZnVuY3Rpb24gY3JlYXRl
UGF0Y2hGdW5jdGlvbiAoYmFja2VuZCkge1xuICB2YXIgaSwgajtcbiAgdmFyIGNicyA9IHt9O1xu
XG4gIHZhciBtb2R1bGVzID0gYmFja2VuZC5tb2R1bGVzO1xuICB2YXIgbm9kZU9wcyA9IGJhY2tl
bmQubm9kZU9wcztcblxuICBmb3IgKGkgPSAwOyBpIDwgaG9va3MubGVuZ3RoOyArK2kpIHtcbiAg
ICBjYnNbaG9va3NbaV1dID0gW107XG4gICAgZm9yIChqID0gMDsgaiA8IG1vZHVsZXMubGVuZ3Ro
OyArK2opIHtcbiAgICAgIGlmIChpc0RlZihtb2R1bGVzW2pdW2hvb2tzW2ldXSkpIHtcbiAgICAg
ICAgY2JzW2hvb2tzW2ldXS5wdXNoKG1vZHVsZXNbal1baG9va3NbaV1dKTtcbiAgICAgIH1cbiAg
ICB9XG4gIH1cblxuICBmdW5jdGlvbiBlbXB0eU5vZGVBdCAoZWxtKSB7XG4gICAgcmV0dXJuIG5l
dyBWTm9kZShub2RlT3BzLnRhZ05hbWUoZWxtKS50b0xvd2VyQ2FzZSgpLCB7fSwgW10sIHVuZGVm
aW5lZCwgZWxtKVxuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlUm1DYiAoY2hpbGRFbG0sIGxpc3Rl
bmVycykge1xuICAgIGZ1bmN0aW9uIHJlbW92ZSQkMSAoKSB7XG4gICAgICBpZiAoLS1yZW1vdmUk
JDEubGlzdGVuZXJzID09PSAwKSB7XG4gICAgICAgIHJlbW92ZU5vZGUoY2hpbGRFbG0pO1xuICAg
ICAgfVxuICAgIH1cbiAgICByZW1vdmUkJDEubGlzdGVuZXJzID0gbGlzdGVuZXJzO1xuICAgIHJl
dHVybiByZW1vdmUkJDFcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlbW92ZU5vZGUgKGVsKSB7XG4gICAg
dmFyIHBhcmVudCA9IG5vZGVPcHMucGFyZW50Tm9kZShlbCk7XG4gICAgLy8gZWxlbWVudCBtYXkg
aGF2ZSBhbHJlYWR5IGJlZW4gcmVtb3ZlZCBkdWUgdG8gdi1odG1sIC8gdi10ZXh0XG4gICAgaWYg
KGlzRGVmKHBhcmVudCkpIHtcbiAgICAgIG5vZGVPcHMucmVtb3ZlQ2hpbGQocGFyZW50LCBlbCk7
XG4gICAgfVxuICB9XG5cbiAgdmFyIGluUHJlID0gMDtcbiAgZnVuY3Rpb24gY3JlYXRlRWxtICh2
bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIHJlZkVsbSwgbmVzdGVkKSB7XG4g
ICAgdm5vZGUuaXNSb290SW5zZXJ0ID0gIW5lc3RlZDsgLy8gZm9yIHRyYW5zaXRpb24gZW50ZXIg
Y2hlY2tcbiAgICBpZiAoY3JlYXRlQ29tcG9uZW50KHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUs
IHBhcmVudEVsbSwgcmVmRWxtKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdmFyIGRh
dGEgPSB2bm9kZS5kYXRhO1xuICAgIHZhciBjaGlsZHJlbiA9IHZub2RlLmNoaWxkcmVuO1xuICAg
IHZhciB0YWcgPSB2bm9kZS50YWc7XG4gICAgaWYgKGlzRGVmKHRhZykpIHtcbiAgICAgIGlmIChm
YWxzZSkge1xuICAgICAgICBpZiAoZGF0YSAmJiBkYXRhLnByZSkge1xuICAgICAgICAgIGluUHJl
Kys7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICFpblByZSAmJlxuICAgICAg
ICAgICF2bm9kZS5ucyAmJlxuICAgICAgICAgICEoY29uZmlnLmlnbm9yZWRFbGVtZW50cy5sZW5n
dGggJiYgY29uZmlnLmlnbm9yZWRFbGVtZW50cy5pbmRleE9mKHRhZykgPiAtMSkgJiZcbiAgICAg
ICAgICBjb25maWcuaXNVbmtub3duRWxlbWVudCh0YWcpXG4gICAgICAgICkge1xuICAgICAgICAg
IHdhcm4oXG4gICAgICAgICAgICAnVW5rbm93biBjdXN0b20gZWxlbWVudDogPCcgKyB0YWcgKyAn
PiAtIGRpZCB5b3UgJyArXG4gICAgICAgICAgICAncmVnaXN0ZXIgdGhlIGNvbXBvbmVudCBjb3Jy
ZWN0bHk/IEZvciByZWN1cnNpdmUgY29tcG9uZW50cywgJyArXG4gICAgICAgICAgICAnbWFrZSBz
dXJlIHRvIHByb3ZpZGUgdGhlIFwibmFtZVwiIG9wdGlvbi4nLFxuICAgICAgICAgICAgdm5vZGUu
Y29udGV4dFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHZub2RlLmVs
bSA9IHZub2RlLm5zXG4gICAgICAgID8gbm9kZU9wcy5jcmVhdGVFbGVtZW50TlModm5vZGUubnMs
IHRhZylcbiAgICAgICAgOiBub2RlT3BzLmNyZWF0ZUVsZW1lbnQodGFnLCB2bm9kZSk7XG4gICAg
ICBzZXRTY29wZSh2bm9kZSk7XG5cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAg
ICAge1xuICAgICAgICBjcmVhdGVDaGlsZHJlbih2bm9kZSwgY2hpbGRyZW4sIGluc2VydGVkVm5v
ZGVRdWV1ZSk7XG4gICAgICAgIGlmIChpc0RlZihkYXRhKSkge1xuICAgICAgICAgIGludm9rZUNy
ZWF0ZUhvb2tzKHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICB9XG4gICAgICAg
IGluc2VydChwYXJlbnRFbG0sIHZub2RlLmVsbSwgcmVmRWxtKTtcbiAgICAgIH1cblxuICAgICAg
aWYgKGZhbHNlKSB7XG4gICAgICAgIGluUHJlLS07XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChp
c1RydWUodm5vZGUuaXNDb21tZW50KSkge1xuICAgICAgdm5vZGUuZWxtID0gbm9kZU9wcy5jcmVh
dGVDb21tZW50KHZub2RlLnRleHQpO1xuICAgICAgaW5zZXJ0KHBhcmVudEVsbSwgdm5vZGUuZWxt
LCByZWZFbG0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB2bm9kZS5lbG0gPSBub2RlT3BzLmNyZWF0
ZVRleHROb2RlKHZub2RlLnRleHQpO1xuICAgICAgaW5zZXJ0KHBhcmVudEVsbSwgdm5vZGUuZWxt
LCByZWZFbG0pO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZUNvbXBvbmVudCAodm5v
ZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCByZWZFbG0pIHtcbiAgICB2YXIgaSA9
IHZub2RlLmRhdGE7XG4gICAgaWYgKGlzRGVmKGkpKSB7XG4gICAgICB2YXIgaXNSZWFjdGl2YXRl
ZCA9IGlzRGVmKHZub2RlLmNvbXBvbmVudEluc3RhbmNlKSAmJiBpLmtlZXBBbGl2ZTtcbiAgICAg
IGlmIChpc0RlZihpID0gaS5ob29rKSAmJiBpc0RlZihpID0gaS5pbml0KSkge1xuICAgICAgICBp
KHZub2RlLCBmYWxzZSAvKiBoeWRyYXRpbmcgKi8sIHBhcmVudEVsbSwgcmVmRWxtKTtcbiAgICAg
IH1cbiAgICAgIC8vIGFmdGVyIGNhbGxpbmcgdGhlIGluaXQgaG9vaywgaWYgdGhlIHZub2RlIGlz
IGEgY2hpbGQgY29tcG9uZW50XG4gICAgICAvLyBpdCBzaG91bGQndmUgY3JlYXRlZCBhIGNoaWxk
IGluc3RhbmNlIGFuZCBtb3VudGVkIGl0LiB0aGUgY2hpbGRcbiAgICAgIC8vIGNvbXBvbmVudCBh
bHNvIGhhcyBzZXQgdGhlIHBsYWNlaG9sZGVyIHZub2RlJ3MgZWxtLlxuICAgICAgLy8gaW4gdGhh
dCBjYXNlIHdlIGNhbiBqdXN0IHJldHVybiB0aGUgZWxlbWVudCBhbmQgYmUgZG9uZS5cbiAgICAg
IGlmIChpc0RlZih2bm9kZS5jb21wb25lbnRJbnN0YW5jZSkpIHtcbiAgICAgICAgaW5pdENvbXBv
bmVudCh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgaWYgKGlzVHJ1ZShpc1Jl
YWN0aXZhdGVkKSkge1xuICAgICAgICAgIHJlYWN0aXZhdGVDb21wb25lbnQodm5vZGUsIGluc2Vy
dGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCByZWZFbG0pO1xuICAgICAgICB9XG4gICAgICAgIHJl
dHVybiB0cnVlXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gaW5pdENvbXBvbmVu
dCAodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSkge1xuICAgIGlmIChpc0RlZih2bm9kZS5kYXRh
LnBlbmRpbmdJbnNlcnQpKSB7XG4gICAgICBpbnNlcnRlZFZub2RlUXVldWUucHVzaC5hcHBseShp
bnNlcnRlZFZub2RlUXVldWUsIHZub2RlLmRhdGEucGVuZGluZ0luc2VydCk7XG4gICAgICB2bm9k
ZS5kYXRhLnBlbmRpbmdJbnNlcnQgPSBudWxsO1xuICAgIH1cbiAgICB2bm9kZS5lbG0gPSB2bm9k
ZS5jb21wb25lbnRJbnN0YW5jZS4kZWw7XG4gICAgaWYgKGlzUGF0Y2hhYmxlKHZub2RlKSkge1xu
ICAgICAgaW52b2tlQ3JlYXRlSG9va3Modm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAg
ICBzZXRTY29wZSh2bm9kZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGVtcHR5IGNvbXBvbmVu
dCByb290LlxuICAgICAgLy8gc2tpcCBhbGwgZWxlbWVudC1yZWxhdGVkIG1vZHVsZXMgZXhjZXB0
IGZvciByZWYgKCMzNDU1KVxuICAgICAgcmVnaXN0ZXJSZWYodm5vZGUpO1xuICAgICAgLy8gbWFr
ZSBzdXJlIHRvIGludm9rZSB0aGUgaW5zZXJ0IGhvb2tcbiAgICAgIGluc2VydGVkVm5vZGVRdWV1
ZS5wdXNoKHZub2RlKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiByZWFjdGl2YXRlQ29tcG9u
ZW50ICh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIHJlZkVsbSkge1xuICAg
IHZhciBpO1xuICAgIC8vIGhhY2sgZm9yICM0MzM5OiBhIHJlYWN0aXZhdGVkIGNvbXBvbmVudCB3
aXRoIGlubmVyIHRyYW5zaXRpb25cbiAgICAvLyBkb2VzIG5vdCB0cmlnZ2VyIGJlY2F1c2UgdGhl
IGlubmVyIG5vZGUncyBjcmVhdGVkIGhvb2tzIGFyZSBub3QgY2FsbGVkXG4gICAgLy8gYWdhaW4u
IEl0J3Mgbm90IGlkZWFsIHRvIGludm9sdmUgbW9kdWxlLXNwZWNpZmljIGxvZ2ljIGluIGhlcmUg
YnV0XG4gICAgLy8gdGhlcmUgZG9lc24ndCBzZWVtIHRvIGJlIGEgYmV0dGVyIHdheSB0byBkbyBp
dC5cbiAgICB2YXIgaW5uZXJOb2RlID0gdm5vZGU7XG4gICAgd2hpbGUgKGlubmVyTm9kZS5jb21w
b25lbnRJbnN0YW5jZSkge1xuICAgICAgaW5uZXJOb2RlID0gaW5uZXJOb2RlLmNvbXBvbmVudElu
c3RhbmNlLl92bm9kZTtcbiAgICAgIGlmIChpc0RlZihpID0gaW5uZXJOb2RlLmRhdGEpICYmIGlz
RGVmKGkgPSBpLnRyYW5zaXRpb24pKSB7XG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCBjYnMuYWN0
aXZhdGUubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICBjYnMuYWN0aXZhdGVbaV0oZW1wdHlOb2Rl
LCBpbm5lck5vZGUpO1xuICAgICAgICB9XG4gICAgICAgIGluc2VydGVkVm5vZGVRdWV1ZS5wdXNo
KGlubmVyTm9kZSk7XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICAgIC8vIHVubGlr
ZSBhIG5ld2x5IGNyZWF0ZWQgY29tcG9uZW50LFxuICAgIC8vIGEgcmVhY3RpdmF0ZWQga2VlcC1h
bGl2ZSBjb21wb25lbnQgZG9lc24ndCBpbnNlcnQgaXRzZWxmXG4gICAgaW5zZXJ0KHBhcmVudEVs
bSwgdm5vZGUuZWxtLCByZWZFbG0pO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5zZXJ0IChwYXJlbnQs
IGVsbSwgcmVmJCQxKSB7XG4gICAgaWYgKGlzRGVmKHBhcmVudCkpIHtcbiAgICAgIGlmIChpc0Rl
ZihyZWYkJDEpKSB7XG4gICAgICAgIGlmIChyZWYkJDEucGFyZW50Tm9kZSA9PT0gcGFyZW50KSB7
XG4gICAgICAgICAgbm9kZU9wcy5pbnNlcnRCZWZvcmUocGFyZW50LCBlbG0sIHJlZiQkMSk7XG4g
ICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vZGVPcHMuYXBwZW5kQ2hpbGQocGFy
ZW50LCBlbG0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZUNoaWxk
cmVuICh2bm9kZSwgY2hpbGRyZW4sIGluc2VydGVkVm5vZGVRdWV1ZSkge1xuICAgIGlmIChBcnJh
eS5pc0FycmF5KGNoaWxkcmVuKSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJl
bi5sZW5ndGg7ICsraSkge1xuICAgICAgICBjcmVhdGVFbG0oY2hpbGRyZW5baV0sIGluc2VydGVk
Vm5vZGVRdWV1ZSwgdm5vZGUuZWxtLCBudWxsLCB0cnVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Ug
aWYgKGlzUHJpbWl0aXZlKHZub2RlLnRleHQpKSB7XG4gICAgICBub2RlT3BzLmFwcGVuZENoaWxk
KHZub2RlLmVsbSwgbm9kZU9wcy5jcmVhdGVUZXh0Tm9kZSh2bm9kZS50ZXh0KSk7XG4gICAgfVxu
ICB9XG5cbiAgZnVuY3Rpb24gaXNQYXRjaGFibGUgKHZub2RlKSB7XG4gICAgd2hpbGUgKHZub2Rl
LmNvbXBvbmVudEluc3RhbmNlKSB7XG4gICAgICB2bm9kZSA9IHZub2RlLmNvbXBvbmVudEluc3Rh
bmNlLl92bm9kZTtcbiAgICB9XG4gICAgcmV0dXJuIGlzRGVmKHZub2RlLnRhZylcbiAgfVxuXG4g
IGZ1bmN0aW9uIGludm9rZUNyZWF0ZUhvb2tzICh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKSB7
XG4gICAgZm9yICh2YXIgaSQxID0gMDsgaSQxIDwgY2JzLmNyZWF0ZS5sZW5ndGg7ICsraSQxKSB7
XG4gICAgICBjYnMuY3JlYXRlW2kkMV0oZW1wdHlOb2RlLCB2bm9kZSk7XG4gICAgfVxuICAgIGkg
PSB2bm9kZS5kYXRhLmhvb2s7IC8vIFJldXNlIHZhcmlhYmxlXG4gICAgaWYgKGlzRGVmKGkpKSB7
XG4gICAgICBpZiAoaXNEZWYoaS5jcmVhdGUpKSB7IGkuY3JlYXRlKGVtcHR5Tm9kZSwgdm5vZGUp
OyB9XG4gICAgICBpZiAoaXNEZWYoaS5pbnNlcnQpKSB7IGluc2VydGVkVm5vZGVRdWV1ZS5wdXNo
KHZub2RlKTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHNldCBzY29wZSBpZCBhdHRyaWJ1dGUgZm9y
IHNjb3BlZCBDU1MuXG4gIC8vIHRoaXMgaXMgaW1wbGVtZW50ZWQgYXMgYSBzcGVjaWFsIGNhc2Ug
dG8gYXZvaWQgdGhlIG92ZXJoZWFkXG4gIC8vIG9mIGdvaW5nIHRocm91Z2ggdGhlIG5vcm1hbCBh
dHRyaWJ1dGUgcGF0Y2hpbmcgcHJvY2Vzcy5cbiAgZnVuY3Rpb24gc2V0U2NvcGUgKHZub2RlKSB7
XG4gICAgdmFyIGk7XG4gICAgdmFyIGFuY2VzdG9yID0gdm5vZGU7XG4gICAgd2hpbGUgKGFuY2Vz
dG9yKSB7XG4gICAgICBpZiAoaXNEZWYoaSA9IGFuY2VzdG9yLmNvbnRleHQpICYmIGlzRGVmKGkg
PSBpLiRvcHRpb25zLl9zY29wZUlkKSkge1xuICAgICAgICBub2RlT3BzLnNldEF0dHJpYnV0ZSh2
bm9kZS5lbG0sIGksICcnKTtcbiAgICAgIH1cbiAgICAgIGFuY2VzdG9yID0gYW5jZXN0b3IucGFy
ZW50O1xuICAgIH1cbiAgICAvLyBmb3Igc2xvdCBjb250ZW50IHRoZXkgc2hvdWxkIGFsc28gZ2V0
IHRoZSBzY29wZUlkIGZyb20gdGhlIGhvc3QgaW5zdGFuY2UuXG4gICAgaWYgKGlzRGVmKGkgPSBh
Y3RpdmVJbnN0YW5jZSkgJiZcbiAgICAgIGkgIT09IHZub2RlLmNvbnRleHQgJiZcbiAgICAgIGlz
RGVmKGkgPSBpLiRvcHRpb25zLl9zY29wZUlkKVxuICAgICkge1xuICAgICAgbm9kZU9wcy5zZXRB
dHRyaWJ1dGUodm5vZGUuZWxtLCBpLCAnJyk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gYWRk
Vm5vZGVzIChwYXJlbnRFbG0sIHJlZkVsbSwgdm5vZGVzLCBzdGFydElkeCwgZW5kSWR4LCBpbnNl
cnRlZFZub2RlUXVldWUpIHtcbiAgICBmb3IgKDsgc3RhcnRJZHggPD0gZW5kSWR4OyArK3N0YXJ0
SWR4KSB7XG4gICAgICBjcmVhdGVFbG0odm5vZGVzW3N0YXJ0SWR4XSwgaW5zZXJ0ZWRWbm9kZVF1
ZXVlLCBwYXJlbnRFbG0sIHJlZkVsbSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gaW52b2tl
RGVzdHJveUhvb2sgKHZub2RlKSB7XG4gICAgdmFyIGksIGo7XG4gICAgdmFyIGRhdGEgPSB2bm9k
ZS5kYXRhO1xuICAgIGlmIChpc0RlZihkYXRhKSkge1xuICAgICAgaWYgKGlzRGVmKGkgPSBkYXRh
Lmhvb2spICYmIGlzRGVmKGkgPSBpLmRlc3Ryb3kpKSB7IGkodm5vZGUpOyB9XG4gICAgICBmb3Ig
KGkgPSAwOyBpIDwgY2JzLmRlc3Ryb3kubGVuZ3RoOyArK2kpIHsgY2JzLmRlc3Ryb3lbaV0odm5v
ZGUpOyB9XG4gICAgfVxuICAgIGlmIChpc0RlZihpID0gdm5vZGUuY2hpbGRyZW4pKSB7XG4gICAg
ICBmb3IgKGogPSAwOyBqIDwgdm5vZGUuY2hpbGRyZW4ubGVuZ3RoOyArK2opIHtcbiAgICAgICAg
aW52b2tlRGVzdHJveUhvb2sodm5vZGUuY2hpbGRyZW5bal0pO1xuICAgICAgfVxuICAgIH1cbiAg
fVxuXG4gIGZ1bmN0aW9uIHJlbW92ZVZub2RlcyAocGFyZW50RWxtLCB2bm9kZXMsIHN0YXJ0SWR4
LCBlbmRJZHgpIHtcbiAgICBmb3IgKDsgc3RhcnRJZHggPD0gZW5kSWR4OyArK3N0YXJ0SWR4KSB7
XG4gICAgICB2YXIgY2ggPSB2bm9kZXNbc3RhcnRJZHhdO1xuICAgICAgaWYgKGlzRGVmKGNoKSkg
e1xuICAgICAgICBpZiAoaXNEZWYoY2gudGFnKSkge1xuICAgICAgICAgIHJlbW92ZUFuZEludm9r
ZVJlbW92ZUhvb2soY2gpO1xuICAgICAgICAgIGludm9rZURlc3Ryb3lIb29rKGNoKTtcbiAgICAg
ICAgfSBlbHNlIHsgLy8gVGV4dCBub2RlXG4gICAgICAgICAgcmVtb3ZlTm9kZShjaC5lbG0pO1xu
ICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gcmVtb3ZlQW5kSW52
b2tlUmVtb3ZlSG9vayAodm5vZGUsIHJtKSB7XG4gICAgaWYgKGlzRGVmKHJtKSB8fCBpc0RlZih2
bm9kZS5kYXRhKSkge1xuICAgICAgdmFyIGk7XG4gICAgICB2YXIgbGlzdGVuZXJzID0gY2JzLnJl
bW92ZS5sZW5ndGggKyAxO1xuICAgICAgaWYgKGlzRGVmKHJtKSkge1xuICAgICAgICAvLyB3ZSBo
YXZlIGEgcmVjdXJzaXZlbHkgcGFzc2VkIGRvd24gcm0gY2FsbGJhY2tcbiAgICAgICAgLy8gaW5j
cmVhc2UgdGhlIGxpc3RlbmVycyBjb3VudFxuICAgICAgICBybS5saXN0ZW5lcnMgKz0gbGlzdGVu
ZXJzO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gZGlyZWN0bHkgcmVtb3ZpbmdcbiAgICAg
ICAgcm0gPSBjcmVhdGVSbUNiKHZub2RlLmVsbSwgbGlzdGVuZXJzKTtcbiAgICAgIH1cbiAgICAg
IC8vIHJlY3Vyc2l2ZWx5IGludm9rZSBob29rcyBvbiBjaGlsZCBjb21wb25lbnQgcm9vdCBub2Rl
XG4gICAgICBpZiAoaXNEZWYoaSA9IHZub2RlLmNvbXBvbmVudEluc3RhbmNlKSAmJiBpc0RlZihp
ID0gaS5fdm5vZGUpICYmIGlzRGVmKGkuZGF0YSkpIHtcbiAgICAgICAgcmVtb3ZlQW5kSW52b2tl
UmVtb3ZlSG9vayhpLCBybSk7XG4gICAgICB9XG4gICAgICBmb3IgKGkgPSAwOyBpIDwgY2JzLnJl
bW92ZS5sZW5ndGg7ICsraSkge1xuICAgICAgICBjYnMucmVtb3ZlW2ldKHZub2RlLCBybSk7XG4g
ICAgICB9XG4gICAgICBpZiAoaXNEZWYoaSA9IHZub2RlLmRhdGEuaG9vaykgJiYgaXNEZWYoaSA9
IGkucmVtb3ZlKSkge1xuICAgICAgICBpKHZub2RlLCBybSk7XG4gICAgICB9IGVsc2Uge1xuICAg
ICAgICBybSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZW1vdmVOb2RlKHZub2Rl
LmVsbSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlQ2hpbGRyZW4gKHBhcmVudEVs
bSwgb2xkQ2gsIG5ld0NoLCBpbnNlcnRlZFZub2RlUXVldWUsIHJlbW92ZU9ubHkpIHtcbiAgICB2
YXIgb2xkU3RhcnRJZHggPSAwO1xuICAgIHZhciBuZXdTdGFydElkeCA9IDA7XG4gICAgdmFyIG9s
ZEVuZElkeCA9IG9sZENoLmxlbmd0aCAtIDE7XG4gICAgdmFyIG9sZFN0YXJ0Vm5vZGUgPSBvbGRD
aFswXTtcbiAgICB2YXIgb2xkRW5kVm5vZGUgPSBvbGRDaFtvbGRFbmRJZHhdO1xuICAgIHZhciBu
ZXdFbmRJZHggPSBuZXdDaC5sZW5ndGggLSAxO1xuICAgIHZhciBuZXdTdGFydFZub2RlID0gbmV3
Q2hbMF07XG4gICAgdmFyIG5ld0VuZFZub2RlID0gbmV3Q2hbbmV3RW5kSWR4XTtcbiAgICB2YXIg
b2xkS2V5VG9JZHgsIGlkeEluT2xkLCBlbG1Ub01vdmUsIHJlZkVsbTtcblxuICAgIC8vIHJlbW92
ZU9ubHkgaXMgYSBzcGVjaWFsIGZsYWcgdXNlZCBvbmx5IGJ5IDx0cmFuc2l0aW9uLWdyb3VwPlxu
ICAgIC8vIHRvIGVuc3VyZSByZW1vdmVkIGVsZW1lbnRzIHN0YXkgaW4gY29ycmVjdCByZWxhdGl2
ZSBwb3NpdGlvbnNcbiAgICAvLyBkdXJpbmcgbGVhdmluZyB0cmFuc2l0aW9uc1xuICAgIHZhciBj
YW5Nb3ZlID0gIXJlbW92ZU9ubHk7XG5cbiAgICB3aGlsZSAob2xkU3RhcnRJZHggPD0gb2xkRW5k
SWR4ICYmIG5ld1N0YXJ0SWR4IDw9IG5ld0VuZElkeCkge1xuICAgICAgaWYgKGlzVW5kZWYob2xk
U3RhcnRWbm9kZSkpIHtcbiAgICAgICAgb2xkU3RhcnRWbm9kZSA9IG9sZENoWysrb2xkU3RhcnRJ
ZHhdOyAvLyBWbm9kZSBoYXMgYmVlbiBtb3ZlZCBsZWZ0XG4gICAgICB9IGVsc2UgaWYgKGlzVW5k
ZWYob2xkRW5kVm5vZGUpKSB7XG4gICAgICAgIG9sZEVuZFZub2RlID0gb2xkQ2hbLS1vbGRFbmRJ
ZHhdO1xuICAgICAgfSBlbHNlIGlmIChzYW1lVm5vZGUob2xkU3RhcnRWbm9kZSwgbmV3U3RhcnRW
bm9kZSkpIHtcbiAgICAgICAgcGF0Y2hWbm9kZShvbGRTdGFydFZub2RlLCBuZXdTdGFydFZub2Rl
LCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICBvbGRTdGFydFZub2RlID0gb2xkQ2hbKytv
bGRTdGFydElkeF07XG4gICAgICAgIG5ld1N0YXJ0Vm5vZGUgPSBuZXdDaFsrK25ld1N0YXJ0SWR4
XTtcbiAgICAgIH0gZWxzZSBpZiAoc2FtZVZub2RlKG9sZEVuZFZub2RlLCBuZXdFbmRWbm9kZSkp
IHtcbiAgICAgICAgcGF0Y2hWbm9kZShvbGRFbmRWbm9kZSwgbmV3RW5kVm5vZGUsIGluc2VydGVk
Vm5vZGVRdWV1ZSk7XG4gICAgICAgIG9sZEVuZFZub2RlID0gb2xkQ2hbLS1vbGRFbmRJZHhdO1xu
ICAgICAgICBuZXdFbmRWbm9kZSA9IG5ld0NoWy0tbmV3RW5kSWR4XTtcbiAgICAgIH0gZWxzZSBp
ZiAoc2FtZVZub2RlKG9sZFN0YXJ0Vm5vZGUsIG5ld0VuZFZub2RlKSkgeyAvLyBWbm9kZSBtb3Zl
ZCByaWdodFxuICAgICAgICBwYXRjaFZub2RlKG9sZFN0YXJ0Vm5vZGUsIG5ld0VuZFZub2RlLCBp
bnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICBjYW5Nb3ZlICYmIG5vZGVPcHMuaW5zZXJ0QmVm
b3JlKHBhcmVudEVsbSwgb2xkU3RhcnRWbm9kZS5lbG0sIG5vZGVPcHMubmV4dFNpYmxpbmcob2xk
RW5kVm5vZGUuZWxtKSk7XG4gICAgICAgIG9sZFN0YXJ0Vm5vZGUgPSBvbGRDaFsrK29sZFN0YXJ0
SWR4XTtcbiAgICAgICAgbmV3RW5kVm5vZGUgPSBuZXdDaFstLW5ld0VuZElkeF07XG4gICAgICB9
IGVsc2UgaWYgKHNhbWVWbm9kZShvbGRFbmRWbm9kZSwgbmV3U3RhcnRWbm9kZSkpIHsgLy8gVm5v
ZGUgbW92ZWQgbGVmdFxuICAgICAgICBwYXRjaFZub2RlKG9sZEVuZFZub2RlLCBuZXdTdGFydFZu
b2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICBjYW5Nb3ZlICYmIG5vZGVPcHMuaW5z
ZXJ0QmVmb3JlKHBhcmVudEVsbSwgb2xkRW5kVm5vZGUuZWxtLCBvbGRTdGFydFZub2RlLmVsbSk7
XG4gICAgICAgIG9sZEVuZFZub2RlID0gb2xkQ2hbLS1vbGRFbmRJZHhdO1xuICAgICAgICBuZXdT
dGFydFZub2RlID0gbmV3Q2hbKytuZXdTdGFydElkeF07XG4gICAgICB9IGVsc2Uge1xuICAgICAg
ICBpZiAoaXNVbmRlZihvbGRLZXlUb0lkeCkpIHsgb2xkS2V5VG9JZHggPSBjcmVhdGVLZXlUb09s
ZElkeChvbGRDaCwgb2xkU3RhcnRJZHgsIG9sZEVuZElkeCk7IH1cbiAgICAgICAgaWR4SW5PbGQg
PSBpc0RlZihuZXdTdGFydFZub2RlLmtleSkgPyBvbGRLZXlUb0lkeFtuZXdTdGFydFZub2RlLmtl
eV0gOiBudWxsO1xuICAgICAgICBpZiAoaXNVbmRlZihpZHhJbk9sZCkpIHsgLy8gTmV3IGVsZW1l
bnRcbiAgICAgICAgICBjcmVhdGVFbG0obmV3U3RhcnRWbm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVl
LCBwYXJlbnRFbG0sIG9sZFN0YXJ0Vm5vZGUuZWxtKTtcbiAgICAgICAgICBuZXdTdGFydFZub2Rl
ID0gbmV3Q2hbKytuZXdTdGFydElkeF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZWxt
VG9Nb3ZlID0gb2xkQ2hbaWR4SW5PbGRdO1xuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBp
ZiAqL1xuICAgICAgICAgIGlmIChmYWxzZSkge1xuICAgICAgICAgICAgd2FybihcbiAgICAgICAg
ICAgICAgJ0l0IHNlZW1zIHRoZXJlIGFyZSBkdXBsaWNhdGUga2V5cyB0aGF0IGlzIGNhdXNpbmcg
YW4gdXBkYXRlIGVycm9yLiAnICtcbiAgICAgICAgICAgICAgJ01ha2Ugc3VyZSBlYWNoIHYtZm9y
IGl0ZW0gaGFzIGEgdW5pcXVlIGtleS4nXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAg
ICAgICAgICBpZiAoc2FtZVZub2RlKGVsbVRvTW92ZSwgbmV3U3RhcnRWbm9kZSkpIHtcbiAgICAg
ICAgICAgIHBhdGNoVm5vZGUoZWxtVG9Nb3ZlLCBuZXdTdGFydFZub2RlLCBpbnNlcnRlZFZub2Rl
UXVldWUpO1xuICAgICAgICAgICAgb2xkQ2hbaWR4SW5PbGRdID0gdW5kZWZpbmVkO1xuICAgICAg
ICAgICAgY2FuTW92ZSAmJiBub2RlT3BzLmluc2VydEJlZm9yZShwYXJlbnRFbG0sIGVsbVRvTW92
ZS5lbG0sIG9sZFN0YXJ0Vm5vZGUuZWxtKTtcbiAgICAgICAgICAgIG5ld1N0YXJ0Vm5vZGUgPSBu
ZXdDaFsrK25ld1N0YXJ0SWR4XTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8g
c2FtZSBrZXkgYnV0IGRpZmZlcmVudCBlbGVtZW50LiB0cmVhdCBhcyBuZXcgZWxlbWVudFxuICAg
ICAgICAgICAgY3JlYXRlRWxtKG5ld1N0YXJ0Vm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFy
ZW50RWxtLCBvbGRTdGFydFZub2RlLmVsbSk7XG4gICAgICAgICAgICBuZXdTdGFydFZub2RlID0g
bmV3Q2hbKytuZXdTdGFydElkeF07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4g
ICAgfVxuICAgIGlmIChvbGRTdGFydElkeCA+IG9sZEVuZElkeCkge1xuICAgICAgcmVmRWxtID0g
aXNVbmRlZihuZXdDaFtuZXdFbmRJZHggKyAxXSkgPyBudWxsIDogbmV3Q2hbbmV3RW5kSWR4ICsg
MV0uZWxtO1xuICAgICAgYWRkVm5vZGVzKHBhcmVudEVsbSwgcmVmRWxtLCBuZXdDaCwgbmV3U3Rh
cnRJZHgsIG5ld0VuZElkeCwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICB9IGVsc2UgaWYgKG5l
d1N0YXJ0SWR4ID4gbmV3RW5kSWR4KSB7XG4gICAgICByZW1vdmVWbm9kZXMocGFyZW50RWxtLCBv
bGRDaCwgb2xkU3RhcnRJZHgsIG9sZEVuZElkeCk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24g
cGF0Y2hWbm9kZSAob2xkVm5vZGUsIHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIHJlbW92ZU9u
bHkpIHtcbiAgICBpZiAob2xkVm5vZGUgPT09IHZub2RlKSB7XG4gICAgICByZXR1cm5cbiAgICB9
XG5cbiAgICB2YXIgZWxtID0gdm5vZGUuZWxtID0gb2xkVm5vZGUuZWxtO1xuXG4gICAgaWYgKGlz
VHJ1ZShvbGRWbm9kZS5pc0FzeW5jUGxhY2Vob2xkZXIpKSB7XG4gICAgICBpZiAoaXNEZWYodm5v
ZGUuYXN5bmNGYWN0b3J5LnJlc29sdmVkKSkge1xuICAgICAgICBoeWRyYXRlKG9sZFZub2RlLmVs
bSwgdm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2
bm9kZS5pc0FzeW5jUGxhY2Vob2xkZXIgPSB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuXG4g
ICAgfVxuXG4gICAgLy8gcmV1c2UgZWxlbWVudCBmb3Igc3RhdGljIHRyZWVzLlxuICAgIC8vIG5v
dGUgd2Ugb25seSBkbyB0aGlzIGlmIHRoZSB2bm9kZSBpcyBjbG9uZWQgLVxuICAgIC8vIGlmIHRo
ZSBuZXcgbm9kZSBpcyBub3QgY2xvbmVkIGl0IG1lYW5zIHRoZSByZW5kZXIgZnVuY3Rpb25zIGhh
dmUgYmVlblxuICAgIC8vIHJlc2V0IGJ5IHRoZSBob3QtcmVsb2FkLWFwaSBhbmQgd2UgbmVlZCB0
byBkbyBhIHByb3BlciByZS1yZW5kZXIuXG4gICAgaWYgKGlzVHJ1ZSh2bm9kZS5pc1N0YXRpYykg
JiZcbiAgICAgIGlzVHJ1ZShvbGRWbm9kZS5pc1N0YXRpYykgJiZcbiAgICAgIHZub2RlLmtleSA9
PT0gb2xkVm5vZGUua2V5ICYmXG4gICAgICAoaXNUcnVlKHZub2RlLmlzQ2xvbmVkKSB8fCBpc1Ry
dWUodm5vZGUuaXNPbmNlKSlcbiAgICApIHtcbiAgICAgIHZub2RlLmNvbXBvbmVudEluc3RhbmNl
ID0gb2xkVm5vZGUuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAg
ICB2YXIgaTtcbiAgICB2YXIgZGF0YSA9IHZub2RlLmRhdGE7XG4gICAgaWYgKGlzRGVmKGRhdGEp
ICYmIGlzRGVmKGkgPSBkYXRhLmhvb2spICYmIGlzRGVmKGkgPSBpLnByZXBhdGNoKSkge1xuICAg
ICAgaShvbGRWbm9kZSwgdm5vZGUpO1xuICAgIH1cblxuICAgIHZhciBvbGRDaCA9IG9sZFZub2Rl
LmNoaWxkcmVuO1xuICAgIHZhciBjaCA9IHZub2RlLmNoaWxkcmVuO1xuICAgIGlmIChpc0RlZihk
YXRhKSAmJiBpc1BhdGNoYWJsZSh2bm9kZSkpIHtcbiAgICAgIGZvciAoaSA9IDA7IGkgPCBjYnMu
dXBkYXRlLmxlbmd0aDsgKytpKSB7IGNicy51cGRhdGVbaV0ob2xkVm5vZGUsIHZub2RlKTsgfVxu
ICAgICAgaWYgKGlzRGVmKGkgPSBkYXRhLmhvb2spICYmIGlzRGVmKGkgPSBpLnVwZGF0ZSkpIHsg
aShvbGRWbm9kZSwgdm5vZGUpOyB9XG4gICAgfVxuICAgIGlmIChpc1VuZGVmKHZub2RlLnRleHQp
KSB7XG4gICAgICBpZiAoaXNEZWYob2xkQ2gpICYmIGlzRGVmKGNoKSkge1xuICAgICAgICBpZiAo
b2xkQ2ggIT09IGNoKSB7IHVwZGF0ZUNoaWxkcmVuKGVsbSwgb2xkQ2gsIGNoLCBpbnNlcnRlZFZu
b2RlUXVldWUsIHJlbW92ZU9ubHkpOyB9XG4gICAgICB9IGVsc2UgaWYgKGlzRGVmKGNoKSkge1xu
ICAgICAgICBpZiAoaXNEZWYob2xkVm5vZGUudGV4dCkpIHsgbm9kZU9wcy5zZXRUZXh0Q29udGVu
dChlbG0sICcnKTsgfVxuICAgICAgICBhZGRWbm9kZXMoZWxtLCBudWxsLCBjaCwgMCwgY2gubGVu
Z3RoIC0gMSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgIH0gZWxzZSBpZiAoaXNEZWYob2xk
Q2gpKSB7XG4gICAgICAgIHJlbW92ZVZub2RlcyhlbG0sIG9sZENoLCAwLCBvbGRDaC5sZW5ndGgg
LSAxKTtcbiAgICAgIH0gZWxzZSBpZiAoaXNEZWYob2xkVm5vZGUudGV4dCkpIHtcbiAgICAgICAg
bm9kZU9wcy5zZXRUZXh0Q29udGVudChlbG0sICcnKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYg
KG9sZFZub2RlLnRleHQgIT09IHZub2RlLnRleHQpIHtcbiAgICAgIG5vZGVPcHMuc2V0VGV4dENv
bnRlbnQoZWxtLCB2bm9kZS50ZXh0KTtcbiAgICB9XG4gICAgaWYgKGlzRGVmKGRhdGEpKSB7XG4g
ICAgICBpZiAoaXNEZWYoaSA9IGRhdGEuaG9vaykgJiYgaXNEZWYoaSA9IGkucG9zdHBhdGNoKSkg
eyBpKG9sZFZub2RlLCB2bm9kZSk7IH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBpbnZva2VJ
bnNlcnRIb29rICh2bm9kZSwgcXVldWUsIGluaXRpYWwpIHtcbiAgICAvLyBkZWxheSBpbnNlcnQg
aG9va3MgZm9yIGNvbXBvbmVudCByb290IG5vZGVzLCBpbnZva2UgdGhlbSBhZnRlciB0aGVcbiAg
ICAvLyBlbGVtZW50IGlzIHJlYWxseSBpbnNlcnRlZFxuICAgIGlmIChpc1RydWUoaW5pdGlhbCkg
JiYgaXNEZWYodm5vZGUucGFyZW50KSkge1xuICAgICAgdm5vZGUucGFyZW50LmRhdGEucGVuZGlu
Z0luc2VydCA9IHF1ZXVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHF1ZXVlLmxlbmd0aDsgKytpKSB7XG4gICAgICAgIHF1ZXVlW2ldLmRhdGEuaG9vay5pbnNlcnQo
cXVldWVbaV0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBiYWlsZWQgPSBmYWxzZTtc
biAgLy8gbGlzdCBvZiBtb2R1bGVzIHRoYXQgY2FuIHNraXAgY3JlYXRlIGhvb2sgZHVyaW5nIGh5
ZHJhdGlvbiBiZWNhdXNlIHRoZXlcbiAgLy8gYXJlIGFscmVhZHkgcmVuZGVyZWQgb24gdGhlIGNs
aWVudCBvciBoYXMgbm8gbmVlZCBmb3IgaW5pdGlhbGl6YXRpb25cbiAgdmFyIGlzUmVuZGVyZWRN
b2R1bGUgPSBtYWtlTWFwKCdhdHRycyxzdHlsZSxjbGFzcyxzdGF0aWNDbGFzcyxzdGF0aWNTdHls
ZSxrZXknKTtcblxuICAvLyBOb3RlOiB0aGlzIGlzIGEgYnJvd3Nlci1vbmx5IGZ1bmN0aW9uIHNv
IHdlIGNhbiBhc3N1bWUgZWxtcyBhcmUgRE9NIG5vZGVzLlxuICBmdW5jdGlvbiBoeWRyYXRlIChl
bG0sIHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpIHtcbiAgICBpZiAoaXNUcnVlKHZub2RlLmlz
Q29tbWVudCkgJiYgaXNEZWYodm5vZGUuYXN5bmNGYWN0b3J5KSkge1xuICAgICAgdm5vZGUuZWxt
ID0gZWxtO1xuICAgICAgdm5vZGUuaXNBc3luY1BsYWNlaG9sZGVyID0gdHJ1ZTtcbiAgICAgIHJl
dHVybiB0cnVlXG4gICAgfVxuICAgIGlmIChmYWxzZSkge1xuICAgICAgaWYgKCFhc3NlcnROb2Rl
TWF0Y2goZWxtLCB2bm9kZSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4gICAg
fVxuICAgIHZub2RlLmVsbSA9IGVsbTtcbiAgICB2YXIgdGFnID0gdm5vZGUudGFnO1xuICAgIHZh
ciBkYXRhID0gdm5vZGUuZGF0YTtcbiAgICB2YXIgY2hpbGRyZW4gPSB2bm9kZS5jaGlsZHJlbjtc
biAgICBpZiAoaXNEZWYoZGF0YSkpIHtcbiAgICAgIGlmIChpc0RlZihpID0gZGF0YS5ob29rKSAm
JiBpc0RlZihpID0gaS5pbml0KSkgeyBpKHZub2RlLCB0cnVlIC8qIGh5ZHJhdGluZyAqLyk7IH1c
biAgICAgIGlmIChpc0RlZihpID0gdm5vZGUuY29tcG9uZW50SW5zdGFuY2UpKSB7XG4gICAgICAg
IC8vIGNoaWxkIGNvbXBvbmVudC4gaXQgc2hvdWxkIGhhdmUgaHlkcmF0ZWQgaXRzIG93biB0cmVl
LlxuICAgICAgICBpbml0Q29tcG9uZW50KHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAg
ICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaXNEZWYodGFnKSkge1xu
ICAgICAgaWYgKGlzRGVmKGNoaWxkcmVuKSkge1xuICAgICAgICAvLyBlbXB0eSBlbGVtZW50LCBh
bGxvdyBjbGllbnQgdG8gcGljayB1cCBhbmQgcG9wdWxhdGUgY2hpbGRyZW5cbiAgICAgICAgaWYg
KCFlbG0uaGFzQ2hpbGROb2RlcygpKSB7XG4gICAgICAgICAgY3JlYXRlQ2hpbGRyZW4odm5vZGUs
IGNoaWxkcmVuLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAg
ICAgIHZhciBjaGlsZHJlbk1hdGNoID0gdHJ1ZTtcbiAgICAgICAgICB2YXIgY2hpbGROb2RlID0g
ZWxtLmZpcnN0Q2hpbGQ7XG4gICAgICAgICAgZm9yICh2YXIgaSQxID0gMDsgaSQxIDwgY2hpbGRy
ZW4ubGVuZ3RoOyBpJDErKykge1xuICAgICAgICAgICAgaWYgKCFjaGlsZE5vZGUgfHwgIWh5ZHJh
dGUoY2hpbGROb2RlLCBjaGlsZHJlbltpJDFdLCBpbnNlcnRlZFZub2RlUXVldWUpKSB7XG4gICAg
ICAgICAgICAgIGNoaWxkcmVuTWF0Y2ggPSBmYWxzZTtcbiAgICAgICAgICAgICAgYnJlYWtcbiAg
ICAgICAgICAgIH1cbiAgICAgICAgICAgIGNoaWxkTm9kZSA9IGNoaWxkTm9kZS5uZXh0U2libGlu
ZztcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gaWYgY2hpbGROb2RlIGlzIG5vdCBudWxsLCBp
dCBtZWFucyB0aGUgYWN0dWFsIGNoaWxkTm9kZXMgbGlzdCBpc1xuICAgICAgICAgIC8vIGxvbmdl
ciB0aGFuIHRoZSB2aXJ0dWFsIGNoaWxkcmVuIGxpc3QuXG4gICAgICAgICAgaWYgKCFjaGlsZHJl
bk1hdGNoIHx8IGNoaWxkTm9kZSkge1xuICAgICAgICAgICAgaWYgKGZhbHNlXG4gICAgICAgICAg
ICApIHtcbiAgICAgICAgICAgICAgYmFpbGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgY29uc29s
ZS53YXJuKCdQYXJlbnQ6ICcsIGVsbSk7XG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybignTWlz
bWF0Y2hpbmcgY2hpbGROb2RlcyB2cy4gVk5vZGVzOiAnLCBlbG0uY2hpbGROb2RlcywgY2hpbGRy
ZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAg
fVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoaXNEZWYoZGF0YSkpIHtcbiAgICAgICAg
Zm9yICh2YXIga2V5IGluIGRhdGEpIHtcbiAgICAgICAgICBpZiAoIWlzUmVuZGVyZWRNb2R1bGUo
a2V5KSkge1xuICAgICAgICAgICAgaW52b2tlQ3JlYXRlSG9va3Modm5vZGUsIGluc2VydGVkVm5v
ZGVRdWV1ZSk7XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAg
ICAgfVxuICAgIH0gZWxzZSBpZiAoZWxtLmRhdGEgIT09IHZub2RlLnRleHQpIHtcbiAgICAgIGVs
bS5kYXRhID0gdm5vZGUudGV4dDtcbiAgICB9XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIGZ1
bmN0aW9uIGFzc2VydE5vZGVNYXRjaCAobm9kZSwgdm5vZGUpIHtcbiAgICBpZiAoaXNEZWYodm5v
ZGUudGFnKSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgdm5vZGUudGFnLmluZGV4T2YoJ3Z1
ZS1jb21wb25lbnQnKSA9PT0gMCB8fFxuICAgICAgICB2bm9kZS50YWcudG9Mb3dlckNhc2UoKSA9
PT0gKG5vZGUudGFnTmFtZSAmJiBub2RlLnRhZ05hbWUudG9Mb3dlckNhc2UoKSlcbiAgICAgIClc
biAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5vZGUubm9kZVR5cGUgPT09ICh2bm9kZS5pc0Nv
bW1lbnQgPyA4IDogMylcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24gcGF0Y2ggKG9s
ZFZub2RlLCB2bm9kZSwgaHlkcmF0aW5nLCByZW1vdmVPbmx5LCBwYXJlbnRFbG0sIHJlZkVsbSkg
e1xuICAgIGlmIChpc1VuZGVmKHZub2RlKSkge1xuICAgICAgaWYgKGlzRGVmKG9sZFZub2RlKSkg
eyBpbnZva2VEZXN0cm95SG9vayhvbGRWbm9kZSk7IH1cbiAgICAgIHJldHVyblxuICAgIH1cblxu
ICAgIHZhciBpc0luaXRpYWxQYXRjaCA9IGZhbHNlO1xuICAgIHZhciBpbnNlcnRlZFZub2RlUXVl
dWUgPSBbXTtcblxuICAgIGlmIChpc1VuZGVmKG9sZFZub2RlKSkge1xuICAgICAgLy8gZW1wdHkg
bW91bnQgKGxpa2VseSBhcyBjb21wb25lbnQpLCBjcmVhdGUgbmV3IHJvb3QgZWxlbWVudFxuICAg
ICAgaXNJbml0aWFsUGF0Y2ggPSB0cnVlO1xuICAgICAgY3JlYXRlRWxtKHZub2RlLCBpbnNlcnRl
ZFZub2RlUXVldWUsIHBhcmVudEVsbSwgcmVmRWxtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFy
IGlzUmVhbEVsZW1lbnQgPSBpc0RlZihvbGRWbm9kZS5ub2RlVHlwZSk7XG4gICAgICBpZiAoIWlz
UmVhbEVsZW1lbnQgJiYgc2FtZVZub2RlKG9sZFZub2RlLCB2bm9kZSkpIHtcbiAgICAgICAgLy8g
cGF0Y2ggZXhpc3Rpbmcgcm9vdCBub2RlXG4gICAgICAgIHBhdGNoVm5vZGUob2xkVm5vZGUsIHZu
b2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIHJlbW92ZU9ubHkpO1xuICAgICAgfSBlbHNlIHtcbiAg
ICAgICAgaWYgKGlzUmVhbEVsZW1lbnQpIHtcbiAgICAgICAgICAvLyBtb3VudGluZyB0byBhIHJl
YWwgZWxlbWVudFxuICAgICAgICAgIC8vIGNoZWNrIGlmIHRoaXMgaXMgc2VydmVyLXJlbmRlcmVk
IGNvbnRlbnQgYW5kIGlmIHdlIGNhbiBwZXJmb3JtXG4gICAgICAgICAgLy8gYSBzdWNjZXNzZnVs
IGh5ZHJhdGlvbi5cbiAgICAgICAgICBpZiAob2xkVm5vZGUubm9kZVR5cGUgPT09IDEgJiYgb2xk
Vm5vZGUuaGFzQXR0cmlidXRlKFNTUl9BVFRSKSkge1xuICAgICAgICAgICAgb2xkVm5vZGUucmVt
b3ZlQXR0cmlidXRlKFNTUl9BVFRSKTtcbiAgICAgICAgICAgIGh5ZHJhdGluZyA9IHRydWU7XG4g
ICAgICAgICAgfVxuICAgICAgICAgIGlmIChpc1RydWUoaHlkcmF0aW5nKSkge1xuICAgICAgICAg
ICAgaWYgKGh5ZHJhdGUob2xkVm5vZGUsIHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpKSB7XG4g
ICAgICAgICAgICAgIGludm9rZUluc2VydEhvb2sodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwg
dHJ1ZSk7XG4gICAgICAgICAgICAgIHJldHVybiBvbGRWbm9kZVxuICAgICAgICAgICAgfSBlbHNl
IGlmIChmYWxzZSkge1xuICAgICAgICAgICAgICB3YXJuKFxuICAgICAgICAgICAgICAgICdUaGUg
Y2xpZW50LXNpZGUgcmVuZGVyZWQgdmlydHVhbCBET00gdHJlZSBpcyBub3QgbWF0Y2hpbmcgJyAr
XG4gICAgICAgICAgICAgICAgJ3NlcnZlci1yZW5kZXJlZCBjb250ZW50LiBUaGlzIGlzIGxpa2Vs
eSBjYXVzZWQgYnkgaW5jb3JyZWN0ICcgK1xuICAgICAgICAgICAgICAgICdIVE1MIG1hcmt1cCwg
Zm9yIGV4YW1wbGUgbmVzdGluZyBibG9jay1sZXZlbCBlbGVtZW50cyBpbnNpZGUgJyArXG4gICAg
ICAgICAgICAgICAgJzxwPiwgb3IgbWlzc2luZyA8dGJvZHk+LiBCYWlsaW5nIGh5ZHJhdGlvbiBh
bmQgcGVyZm9ybWluZyAnICtcbiAgICAgICAgICAgICAgICAnZnVsbCBjbGllbnQtc2lkZSByZW5k
ZXIuJ1xuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAg
ICAgICAvLyBlaXRoZXIgbm90IHNlcnZlci1yZW5kZXJlZCwgb3IgaHlkcmF0aW9uIGZhaWxlZC5c
biAgICAgICAgICAvLyBjcmVhdGUgYW4gZW1wdHkgbm9kZSBhbmQgcmVwbGFjZSBpdFxuICAgICAg
ICAgIG9sZFZub2RlID0gZW1wdHlOb2RlQXQob2xkVm5vZGUpO1xuICAgICAgICB9XG4gICAgICAg
IC8vIHJlcGxhY2luZyBleGlzdGluZyBlbGVtZW50XG4gICAgICAgIHZhciBvbGRFbG0gPSBvbGRW
bm9kZS5lbG07XG4gICAgICAgIHZhciBwYXJlbnRFbG0kMSA9IG5vZGVPcHMucGFyZW50Tm9kZShv
bGRFbG0pO1xuICAgICAgICBjcmVhdGVFbG0oXG4gICAgICAgICAgdm5vZGUsXG4gICAgICAgICAg
aW5zZXJ0ZWRWbm9kZVF1ZXVlLFxuICAgICAgICAgIC8vIGV4dHJlbWVseSByYXJlIGVkZ2UgY2Fz
ZTogZG8gbm90IGluc2VydCBpZiBvbGQgZWxlbWVudCBpcyBpbiBhXG4gICAgICAgICAgLy8gbGVh
dmluZyB0cmFuc2l0aW9uLiBPbmx5IGhhcHBlbnMgd2hlbiBjb21iaW5pbmcgdHJhbnNpdGlvbiAr
XG4gICAgICAgICAgLy8ga2VlcC1hbGl2ZSArIEhPQ3MuICgjNDU5MClcbiAgICAgICAgICBvbGRF
bG0uX2xlYXZlQ2IgPyBudWxsIDogcGFyZW50RWxtJDEsXG4gICAgICAgICAgbm9kZU9wcy5uZXh0
U2libGluZyhvbGRFbG0pXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGlzRGVmKHZub2RlLnBh
cmVudCkpIHtcbiAgICAgICAgICAvLyBjb21wb25lbnQgcm9vdCBlbGVtZW50IHJlcGxhY2VkLlxu
ICAgICAgICAgIC8vIHVwZGF0ZSBwYXJlbnQgcGxhY2Vob2xkZXIgbm9kZSBlbGVtZW50LCByZWN1
cnNpdmVseVxuICAgICAgICAgIHZhciBhbmNlc3RvciA9IHZub2RlLnBhcmVudDtcbiAgICAgICAg
ICB3aGlsZSAoYW5jZXN0b3IpIHtcbiAgICAgICAgICAgIGFuY2VzdG9yLmVsbSA9IHZub2RlLmVs
bTtcbiAgICAgICAgICAgIGFuY2VzdG9yID0gYW5jZXN0b3IucGFyZW50O1xuICAgICAgICAgIH1c
biAgICAgICAgICBpZiAoaXNQYXRjaGFibGUodm5vZGUpKSB7XG4gICAgICAgICAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IGNicy5jcmVhdGUubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgICAgY2Jz
LmNyZWF0ZVtpXShlbXB0eU5vZGUsIHZub2RlLnBhcmVudCk7XG4gICAgICAgICAgICB9XG4gICAg
ICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzRGVmKHBhcmVudEVsbSQxKSkge1xu
ICAgICAgICAgIHJlbW92ZVZub2RlcyhwYXJlbnRFbG0kMSwgW29sZFZub2RlXSwgMCwgMCk7XG4g
ICAgICAgIH0gZWxzZSBpZiAoaXNEZWYob2xkVm5vZGUudGFnKSkge1xuICAgICAgICAgIGludm9r
ZURlc3Ryb3lIb29rKG9sZFZub2RlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAg
IGludm9rZUluc2VydEhvb2sodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgaXNJbml0aWFsUGF0
Y2gpO1xuICAgIHJldHVybiB2bm9kZS5lbG1cbiAgfVxufVxuXG4vKiAgKi9cblxudmFyIGRpcmVj
dGl2ZXMgPSB7XG4gIGNyZWF0ZTogdXBkYXRlRGlyZWN0aXZlcyxcbiAgdXBkYXRlOiB1cGRhdGVE
aXJlY3RpdmVzLFxuICBkZXN0cm95OiBmdW5jdGlvbiB1bmJpbmREaXJlY3RpdmVzICh2bm9kZSkg
e1xuICAgIHVwZGF0ZURpcmVjdGl2ZXModm5vZGUsIGVtcHR5Tm9kZSk7XG4gIH1cbn07XG5cbmZ1
bmN0aW9uIHVwZGF0ZURpcmVjdGl2ZXMgKG9sZFZub2RlLCB2bm9kZSkge1xuICBpZiAob2xkVm5v
ZGUuZGF0YS5kaXJlY3RpdmVzIHx8IHZub2RlLmRhdGEuZGlyZWN0aXZlcykge1xuICAgIF91cGRh
dGUob2xkVm5vZGUsIHZub2RlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBfdXBkYXRlIChvbGRWbm9k
ZSwgdm5vZGUpIHtcbiAgdmFyIGlzQ3JlYXRlID0gb2xkVm5vZGUgPT09IGVtcHR5Tm9kZTtcbiAg
dmFyIGlzRGVzdHJveSA9IHZub2RlID09PSBlbXB0eU5vZGU7XG4gIHZhciBvbGREaXJzID0gbm9y
bWFsaXplRGlyZWN0aXZlcyQxKG9sZFZub2RlLmRhdGEuZGlyZWN0aXZlcywgb2xkVm5vZGUuY29u
dGV4dCk7XG4gIHZhciBuZXdEaXJzID0gbm9ybWFsaXplRGlyZWN0aXZlcyQxKHZub2RlLmRhdGEu
ZGlyZWN0aXZlcywgdm5vZGUuY29udGV4dCk7XG5cbiAgdmFyIGRpcnNXaXRoSW5zZXJ0ID0gW107
XG4gIHZhciBkaXJzV2l0aFBvc3RwYXRjaCA9IFtdO1xuXG4gIHZhciBrZXksIG9sZERpciwgZGly
O1xuICBmb3IgKGtleSBpbiBuZXdEaXJzKSB7XG4gICAgb2xkRGlyID0gb2xkRGlyc1trZXldO1xu
ICAgIGRpciA9IG5ld0RpcnNba2V5XTtcbiAgICBpZiAoIW9sZERpcikge1xuICAgICAgLy8gbmV3
IGRpcmVjdGl2ZSwgYmluZFxuICAgICAgY2FsbEhvb2skMShkaXIsICdiaW5kJywgdm5vZGUsIG9s
ZFZub2RlKTtcbiAgICAgIGlmIChkaXIuZGVmICYmIGRpci5kZWYuaW5zZXJ0ZWQpIHtcbiAgICAg
ICAgZGlyc1dpdGhJbnNlcnQucHVzaChkaXIpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAg
ICAvLyBleGlzdGluZyBkaXJlY3RpdmUsIHVwZGF0ZVxuICAgICAgZGlyLm9sZFZhbHVlID0gb2xk
RGlyLnZhbHVlO1xuICAgICAgY2FsbEhvb2skMShkaXIsICd1cGRhdGUnLCB2bm9kZSwgb2xkVm5v
ZGUpO1xuICAgICAgaWYgKGRpci5kZWYgJiYgZGlyLmRlZi5jb21wb25lbnRVcGRhdGVkKSB7XG4g
ICAgICAgIGRpcnNXaXRoUG9zdHBhdGNoLnB1c2goZGlyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1c
blxuICBpZiAoZGlyc1dpdGhJbnNlcnQubGVuZ3RoKSB7XG4gICAgdmFyIGNhbGxJbnNlcnQgPSBm
dW5jdGlvbiAoKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRpcnNXaXRoSW5zZXJ0Lmxl
bmd0aDsgaSsrKSB7XG4gICAgICAgIGNhbGxIb29rJDEoZGlyc1dpdGhJbnNlcnRbaV0sICdpbnNl
cnRlZCcsIHZub2RlLCBvbGRWbm9kZSk7XG4gICAgICB9XG4gICAgfTtcbiAgICBpZiAoaXNDcmVh
dGUpIHtcbiAgICAgIG1lcmdlVk5vZGVIb29rKHZub2RlLmRhdGEuaG9vayB8fCAodm5vZGUuZGF0
YS5ob29rID0ge30pLCAnaW5zZXJ0JywgY2FsbEluc2VydCk7XG4gICAgfSBlbHNlIHtcbiAgICAg
IGNhbGxJbnNlcnQoKTtcbiAgICB9XG4gIH1cblxuICBpZiAoZGlyc1dpdGhQb3N0cGF0Y2gubGVu
Z3RoKSB7XG4gICAgbWVyZ2VWTm9kZUhvb2sodm5vZGUuZGF0YS5ob29rIHx8ICh2bm9kZS5kYXRh
Lmhvb2sgPSB7fSksICdwb3N0cGF0Y2gnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IGRpcnNXaXRoUG9zdHBhdGNoLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNhbGxI
b29rJDEoZGlyc1dpdGhQb3N0cGF0Y2hbaV0sICdjb21wb25lbnRVcGRhdGVkJywgdm5vZGUsIG9s
ZFZub2RlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGlmICghaXNDcmVhdGUpIHtcbiAg
ICBmb3IgKGtleSBpbiBvbGREaXJzKSB7XG4gICAgICBpZiAoIW5ld0RpcnNba2V5XSkge1xuICAg
ICAgICAvLyBubyBsb25nZXIgcHJlc2VudCwgdW5iaW5kXG4gICAgICAgIGNhbGxIb29rJDEob2xk
RGlyc1trZXldLCAndW5iaW5kJywgb2xkVm5vZGUsIG9sZFZub2RlLCBpc0Rlc3Ryb3kpO1xuICAg
ICAgfVxuICAgIH1cbiAgfVxufVxuXG52YXIgZW1wdHlNb2RpZmllcnMgPSBPYmplY3QuY3JlYXRl
KG51bGwpO1xuXG5mdW5jdGlvbiBub3JtYWxpemVEaXJlY3RpdmVzJDEgKFxuICBkaXJzLFxuICB2
bVxuKSB7XG4gIHZhciByZXMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICBpZiAoIWRpcnMpIHtc
biAgICByZXR1cm4gcmVzXG4gIH1cbiAgdmFyIGksIGRpcjtcbiAgZm9yIChpID0gMDsgaSA8IGRp
cnMubGVuZ3RoOyBpKyspIHtcbiAgICBkaXIgPSBkaXJzW2ldO1xuICAgIGlmICghZGlyLm1vZGlm
aWVycykge1xuICAgICAgZGlyLm1vZGlmaWVycyA9IGVtcHR5TW9kaWZpZXJzO1xuICAgIH1cbiAg
ICByZXNbZ2V0UmF3RGlyTmFtZShkaXIpXSA9IGRpcjtcbiAgICBkaXIuZGVmID0gcmVzb2x2ZUFz
c2V0KHZtLiRvcHRpb25zLCAnZGlyZWN0aXZlcycsIGRpci5uYW1lLCB0cnVlKTtcbiAgfVxuICBy
ZXR1cm4gcmVzXG59XG5cbmZ1bmN0aW9uIGdldFJhd0Rpck5hbWUgKGRpcikge1xuICByZXR1cm4g
ZGlyLnJhd05hbWUgfHwgKChkaXIubmFtZSkgKyBcIi5cIiArIChPYmplY3Qua2V5cyhkaXIubW9k
aWZpZXJzIHx8IHt9KS5qb2luKCcuJykpKVxufVxuXG5mdW5jdGlvbiBjYWxsSG9vayQxIChkaXIs
IGhvb2ssIHZub2RlLCBvbGRWbm9kZSwgaXNEZXN0cm95KSB7XG4gIHZhciBmbiA9IGRpci5kZWYg
JiYgZGlyLmRlZltob29rXTtcbiAgaWYgKGZuKSB7XG4gICAgdHJ5IHtcbiAgICAgIGZuKHZub2Rl
LmVsbSwgZGlyLCB2bm9kZSwgb2xkVm5vZGUsIGlzRGVzdHJveSk7XG4gICAgfSBjYXRjaCAoZSkg
e1xuICAgICAgaGFuZGxlRXJyb3IoZSwgdm5vZGUuY29udGV4dCwgKFwiZGlyZWN0aXZlIFwiICsg
KGRpci5uYW1lKSArIFwiIFwiICsgaG9vayArIFwiIGhvb2tcIikpO1xuICAgIH1cbiAgfVxufVxu
XG52YXIgYmFzZU1vZHVsZXMgPSBbXG4gIHJlZixcbiAgZGlyZWN0aXZlc1xuXTtcblxuLyogICov
XG5cbmZ1bmN0aW9uIHVwZGF0ZUF0dHJzIChvbGRWbm9kZSwgdm5vZGUpIHtcbiAgdmFyIG9wdHMg
PSB2bm9kZS5jb21wb25lbnRPcHRpb25zO1xuICBpZiAoaXNEZWYob3B0cykgJiYgb3B0cy5DdG9y
Lm9wdGlvbnMuaW5oZXJpdEF0dHJzID09PSBmYWxzZSkge1xuICAgIHJldHVyblxuICB9XG4gIGlm
IChpc1VuZGVmKG9sZFZub2RlLmRhdGEuYXR0cnMpICYmIGlzVW5kZWYodm5vZGUuZGF0YS5hdHRy
cykpIHtcbiAgICByZXR1cm5cbiAgfVxuICB2YXIga2V5LCBjdXIsIG9sZDtcbiAgdmFyIGVsbSA9
IHZub2RlLmVsbTtcbiAgdmFyIG9sZEF0dHJzID0gb2xkVm5vZGUuZGF0YS5hdHRycyB8fCB7fTtc
biAgdmFyIGF0dHJzID0gdm5vZGUuZGF0YS5hdHRycyB8fCB7fTtcbiAgLy8gY2xvbmUgb2JzZXJ2
ZWQgb2JqZWN0cywgYXMgdGhlIHVzZXIgcHJvYmFibHkgd2FudHMgdG8gbXV0YXRlIGl0XG4gIGlm
IChpc0RlZihhdHRycy5fX29iX18pKSB7XG4gICAgYXR0cnMgPSB2bm9kZS5kYXRhLmF0dHJzID0g
ZXh0ZW5kKHt9LCBhdHRycyk7XG4gIH1cblxuICBmb3IgKGtleSBpbiBhdHRycykge1xuICAgIGN1
ciA9IGF0dHJzW2tleV07XG4gICAgb2xkID0gb2xkQXR0cnNba2V5XTtcbiAgICBpZiAob2xkICE9
PSBjdXIpIHtcbiAgICAgIHNldEF0dHIoZWxtLCBrZXksIGN1cik7XG4gICAgfVxuICB9XG4gIC8v
ICM0MzkxOiBpbiBJRTksIHNldHRpbmcgdHlwZSBjYW4gcmVzZXQgdmFsdWUgZm9yIGlucHV0W3R5
cGU9cmFkaW9dXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoaXNJRTkgJiYgYXR0
cnMudmFsdWUgIT09IG9sZEF0dHJzLnZhbHVlKSB7XG4gICAgc2V0QXR0cihlbG0sICd2YWx1ZScs
IGF0dHJzLnZhbHVlKTtcbiAgfVxuICBmb3IgKGtleSBpbiBvbGRBdHRycykge1xuICAgIGlmIChp
c1VuZGVmKGF0dHJzW2tleV0pKSB7XG4gICAgICBpZiAoaXNYbGluayhrZXkpKSB7XG4gICAgICAg
IGVsbS5yZW1vdmVBdHRyaWJ1dGVOUyh4bGlua05TLCBnZXRYbGlua1Byb3Aoa2V5KSk7XG4gICAg
ICB9IGVsc2UgaWYgKCFpc0VudW1lcmF0ZWRBdHRyKGtleSkpIHtcbiAgICAgICAgZWxtLnJlbW92
ZUF0dHJpYnV0ZShrZXkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzZXRB
dHRyIChlbCwga2V5LCB2YWx1ZSkge1xuICBpZiAoaXNCb29sZWFuQXR0cihrZXkpKSB7XG4gICAg
Ly8gc2V0IGF0dHJpYnV0ZSBmb3IgYmxhbmsgdmFsdWVcbiAgICAvLyBlLmcuIDxvcHRpb24gZGlz
YWJsZWQ+U2VsZWN0IG9uZTwvb3B0aW9uPlxuICAgIGlmIChpc0ZhbHN5QXR0clZhbHVlKHZhbHVl
KSkge1xuICAgICAgZWwucmVtb3ZlQXR0cmlidXRlKGtleSk7XG4gICAgfSBlbHNlIHtcbiAgICAg
IGVsLnNldEF0dHJpYnV0ZShrZXksIGtleSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKGlzRW51bWVy
YXRlZEF0dHIoa2V5KSkge1xuICAgIGVsLnNldEF0dHJpYnV0ZShrZXksIGlzRmFsc3lBdHRyVmFs
dWUodmFsdWUpIHx8IHZhbHVlID09PSAnZmFsc2UnID8gJ2ZhbHNlJyA6ICd0cnVlJyk7XG4gIH0g
ZWxzZSBpZiAoaXNYbGluayhrZXkpKSB7XG4gICAgaWYgKGlzRmFsc3lBdHRyVmFsdWUodmFsdWUp
KSB7XG4gICAgICBlbC5yZW1vdmVBdHRyaWJ1dGVOUyh4bGlua05TLCBnZXRYbGlua1Byb3Aoa2V5
KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsLnNldEF0dHJpYnV0ZU5TKHhsaW5rTlMsIGtleSwg
dmFsdWUpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAoaXNGYWxzeUF0dHJWYWx1ZSh2YWx1
ZSkpIHtcbiAgICAgIGVsLnJlbW92ZUF0dHJpYnV0ZShrZXkpO1xuICAgIH0gZWxzZSB7XG4gICAg
ICBlbC5zZXRBdHRyaWJ1dGUoa2V5LCB2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbnZhciBhdHRy
cyA9IHtcbiAgY3JlYXRlOiB1cGRhdGVBdHRycyxcbiAgdXBkYXRlOiB1cGRhdGVBdHRyc1xufTtc
blxuLyogICovXG5cbmZ1bmN0aW9uIHVwZGF0ZUNsYXNzIChvbGRWbm9kZSwgdm5vZGUpIHtcbiAg
dmFyIGVsID0gdm5vZGUuZWxtO1xuICB2YXIgZGF0YSA9IHZub2RlLmRhdGE7XG4gIHZhciBvbGRE
YXRhID0gb2xkVm5vZGUuZGF0YTtcbiAgaWYgKFxuICAgIGlzVW5kZWYoZGF0YS5zdGF0aWNDbGFz
cykgJiZcbiAgICBpc1VuZGVmKGRhdGEuY2xhc3MpICYmIChcbiAgICAgIGlzVW5kZWYob2xkRGF0
YSkgfHwgKFxuICAgICAgICBpc1VuZGVmKG9sZERhdGEuc3RhdGljQ2xhc3MpICYmXG4gICAgICAg
IGlzVW5kZWYob2xkRGF0YS5jbGFzcylcbiAgICAgIClcbiAgICApXG4gICkge1xuICAgIHJldHVy
blxuICB9XG5cbiAgdmFyIGNscyA9IGdlbkNsYXNzRm9yVm5vZGUodm5vZGUpO1xuXG4gIC8vIGhh
bmRsZSB0cmFuc2l0aW9uIGNsYXNzZXNcbiAgdmFyIHRyYW5zaXRpb25DbGFzcyA9IGVsLl90cmFu
c2l0aW9uQ2xhc3NlcztcbiAgaWYgKGlzRGVmKHRyYW5zaXRpb25DbGFzcykpIHtcbiAgICBjbHMg
PSBjb25jYXQoY2xzLCBzdHJpbmdpZnlDbGFzcyh0cmFuc2l0aW9uQ2xhc3MpKTtcbiAgfVxuXG4g
IC8vIHNldCB0aGUgY2xhc3NcbiAgaWYgKGNscyAhPT0gZWwuX3ByZXZDbGFzcykge1xuICAgIGVs
LnNldEF0dHJpYnV0ZSgnY2xhc3MnLCBjbHMpO1xuICAgIGVsLl9wcmV2Q2xhc3MgPSBjbHM7XG4g
IH1cbn1cblxudmFyIGtsYXNzID0ge1xuICBjcmVhdGU6IHVwZGF0ZUNsYXNzLFxuICB1cGRhdGU6
IHVwZGF0ZUNsYXNzXG59O1xuXG4vKiAgKi9cblxudmFyIHZhbGlkRGl2aXNpb25DaGFyUkUgPSAv
W1xcdykuK1xcLV8kXFxdXS87XG5cbmZ1bmN0aW9uIHBhcnNlRmlsdGVycyAoZXhwKSB7XG4gIHZh
ciBpblNpbmdsZSA9IGZhbHNlO1xuICB2YXIgaW5Eb3VibGUgPSBmYWxzZTtcbiAgdmFyIGluVGVt
cGxhdGVTdHJpbmcgPSBmYWxzZTtcbiAgdmFyIGluUmVnZXggPSBmYWxzZTtcbiAgdmFyIGN1cmx5
ID0gMDtcbiAgdmFyIHNxdWFyZSA9IDA7XG4gIHZhciBwYXJlbiA9IDA7XG4gIHZhciBsYXN0Rmls
dGVySW5kZXggPSAwO1xuICB2YXIgYywgcHJldiwgaSwgZXhwcmVzc2lvbiwgZmlsdGVycztcblxu
ICBmb3IgKGkgPSAwOyBpIDwgZXhwLmxlbmd0aDsgaSsrKSB7XG4gICAgcHJldiA9IGM7XG4gICAg
YyA9IGV4cC5jaGFyQ29kZUF0KGkpO1xuICAgIGlmIChpblNpbmdsZSkge1xuICAgICAgaWYgKGMg
PT09IDB4MjcgJiYgcHJldiAhPT0gMHg1QykgeyBpblNpbmdsZSA9IGZhbHNlOyB9XG4gICAgfSBl
bHNlIGlmIChpbkRvdWJsZSkge1xuICAgICAgaWYgKGMgPT09IDB4MjIgJiYgcHJldiAhPT0gMHg1
QykgeyBpbkRvdWJsZSA9IGZhbHNlOyB9XG4gICAgfSBlbHNlIGlmIChpblRlbXBsYXRlU3RyaW5n
KSB7XG4gICAgICBpZiAoYyA9PT0gMHg2MCAmJiBwcmV2ICE9PSAweDVDKSB7IGluVGVtcGxhdGVT
dHJpbmcgPSBmYWxzZTsgfVxuICAgIH0gZWxzZSBpZiAoaW5SZWdleCkge1xuICAgICAgaWYgKGMg
PT09IDB4MmYgJiYgcHJldiAhPT0gMHg1QykgeyBpblJlZ2V4ID0gZmFsc2U7IH1cbiAgICB9IGVs
c2UgaWYgKFxuICAgICAgYyA9PT0gMHg3QyAmJiAvLyBwaXBlXG4gICAgICBleHAuY2hhckNvZGVB
dChpICsgMSkgIT09IDB4N0MgJiZcbiAgICAgIGV4cC5jaGFyQ29kZUF0KGkgLSAxKSAhPT0gMHg3
QyAmJlxuICAgICAgIWN1cmx5ICYmICFzcXVhcmUgJiYgIXBhcmVuXG4gICAgKSB7XG4gICAgICBp
ZiAoZXhwcmVzc2lvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIC8vIGZpcnN0IGZpbHRlciwg
ZW5kIG9mIGV4cHJlc3Npb25cbiAgICAgICAgbGFzdEZpbHRlckluZGV4ID0gaSArIDE7XG4gICAg
ICAgIGV4cHJlc3Npb24gPSBleHAuc2xpY2UoMCwgaSkudHJpbSgpO1xuICAgICAgfSBlbHNlIHtc
biAgICAgICAgcHVzaEZpbHRlcigpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzd2l0
Y2ggKGMpIHtcbiAgICAgICAgY2FzZSAweDIyOiBpbkRvdWJsZSA9IHRydWU7IGJyZWFrICAgICAg
ICAgLy8gXCJcbiAgICAgICAgY2FzZSAweDI3OiBpblNpbmdsZSA9IHRydWU7IGJyZWFrICAgICAg
ICAgLy8gJ1xuICAgICAgICBjYXNlIDB4NjA6IGluVGVtcGxhdGVTdHJpbmcgPSB0cnVlOyBicmVh
ayAvLyBgXG4gICAgICAgIGNhc2UgMHgyODogcGFyZW4rKzsgYnJlYWsgICAgICAgICAgICAgICAg
IC8vIChcbiAgICAgICAgY2FzZSAweDI5OiBwYXJlbi0tOyBicmVhayAgICAgICAgICAgICAgICAg
Ly8gKVxuICAgICAgICBjYXNlIDB4NUI6IHNxdWFyZSsrOyBicmVhayAgICAgICAgICAgICAgICAv
LyBbXG4gICAgICAgIGNhc2UgMHg1RDogc3F1YXJlLS07IGJyZWFrICAgICAgICAgICAgICAgIC8v
IF1cbiAgICAgICAgY2FzZSAweDdCOiBjdXJseSsrOyBicmVhayAgICAgICAgICAgICAgICAgLy8g
e1xuICAgICAgICBjYXNlIDB4N0Q6IGN1cmx5LS07IGJyZWFrICAgICAgICAgICAgICAgICAvLyB9
XG4gICAgICB9XG4gICAgICBpZiAoYyA9PT0gMHgyZikgeyAvLyAvXG4gICAgICAgIHZhciBqID0g
aSAtIDE7XG4gICAgICAgIHZhciBwID0gKHZvaWQgMCk7XG4gICAgICAgIC8vIGZpbmQgZmlyc3Qg
bm9uLXdoaXRlc3BhY2UgcHJldiBjaGFyXG4gICAgICAgIGZvciAoOyBqID49IDA7IGotLSkge1xu
ICAgICAgICAgIHAgPSBleHAuY2hhckF0KGopO1xuICAgICAgICAgIGlmIChwICE9PSAnICcpIHsg
YnJlYWsgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghcCB8fCAhdmFsaWREaXZpc2lvbkNoYXJS
RS50ZXN0KHApKSB7XG4gICAgICAgICAgaW5SZWdleCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAg
IH1cbiAgICB9XG4gIH1cblxuICBpZiAoZXhwcmVzc2lvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAg
ZXhwcmVzc2lvbiA9IGV4cC5zbGljZSgwLCBpKS50cmltKCk7XG4gIH0gZWxzZSBpZiAobGFzdEZp
bHRlckluZGV4ICE9PSAwKSB7XG4gICAgcHVzaEZpbHRlcigpO1xuICB9XG5cbiAgZnVuY3Rpb24g
cHVzaEZpbHRlciAoKSB7XG4gICAgKGZpbHRlcnMgfHwgKGZpbHRlcnMgPSBbXSkpLnB1c2goZXhw
LnNsaWNlKGxhc3RGaWx0ZXJJbmRleCwgaSkudHJpbSgpKTtcbiAgICBsYXN0RmlsdGVySW5kZXgg
PSBpICsgMTtcbiAgfVxuXG4gIGlmIChmaWx0ZXJzKSB7XG4gICAgZm9yIChpID0gMDsgaSA8IGZp
bHRlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGV4cHJlc3Npb24gPSB3cmFwRmlsdGVyKGV4cHJl
c3Npb24sIGZpbHRlcnNbaV0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBleHByZXNzaW9uXG59
XG5cbmZ1bmN0aW9uIHdyYXBGaWx0ZXIgKGV4cCwgZmlsdGVyKSB7XG4gIHZhciBpID0gZmlsdGVy
LmluZGV4T2YoJygnKTtcbiAgaWYgKGkgPCAwKSB7XG4gICAgLy8gX2Y6IHJlc29sdmVGaWx0ZXJc
biAgICByZXR1cm4gKFwiX2YoXFxcIlwiICsgZmlsdGVyICsgXCJcXFwiKShcIiArIGV4cCArIFwi
KVwiKVxuICB9IGVsc2Uge1xuICAgIHZhciBuYW1lID0gZmlsdGVyLnNsaWNlKDAsIGkpO1xuICAg
IHZhciBhcmdzID0gZmlsdGVyLnNsaWNlKGkgKyAxKTtcbiAgICByZXR1cm4gKFwiX2YoXFxcIlwi
ICsgbmFtZSArIFwiXFxcIikoXCIgKyBleHAgKyBcIixcIiArIGFyZ3MpXG4gIH1cbn1cblxuLyog
ICovXG5cbmZ1bmN0aW9uIGJhc2VXYXJuIChtc2cpIHtcbiAgY29uc29sZS5lcnJvcigoXCJbVnVl
IGNvbXBpbGVyXTogXCIgKyBtc2cpKTtcbn1cblxuZnVuY3Rpb24gcGx1Y2tNb2R1bGVGdW5jdGlv
biAoXG4gIG1vZHVsZXMsXG4gIGtleVxuKSB7XG4gIHJldHVybiBtb2R1bGVzXG4gICAgPyBtb2R1
bGVzLm1hcChmdW5jdGlvbiAobSkgeyByZXR1cm4gbVtrZXldOyB9KS5maWx0ZXIoZnVuY3Rpb24g
KF8pIHsgcmV0dXJuIF87IH0pXG4gICAgOiBbXVxufVxuXG5mdW5jdGlvbiBhZGRQcm9wIChlbCwg
bmFtZSwgdmFsdWUpIHtcbiAgKGVsLnByb3BzIHx8IChlbC5wcm9wcyA9IFtdKSkucHVzaCh7IG5h
bWU6IG5hbWUsIHZhbHVlOiB2YWx1ZSB9KTtcbn1cblxuZnVuY3Rpb24gYWRkQXR0ciAoZWwsIG5h
bWUsIHZhbHVlKSB7XG4gIChlbC5hdHRycyB8fCAoZWwuYXR0cnMgPSBbXSkpLnB1c2goeyBuYW1l
OiBuYW1lLCB2YWx1ZTogdmFsdWUgfSk7XG59XG5cbmZ1bmN0aW9uIGFkZERpcmVjdGl2ZSAoXG4g
IGVsLFxuICBuYW1lLFxuICByYXdOYW1lLFxuICB2YWx1ZSxcbiAgYXJnLFxuICBtb2RpZmllcnNc
bikge1xuICAoZWwuZGlyZWN0aXZlcyB8fCAoZWwuZGlyZWN0aXZlcyA9IFtdKSkucHVzaCh7IG5h
bWU6IG5hbWUsIHJhd05hbWU6IHJhd05hbWUsIHZhbHVlOiB2YWx1ZSwgYXJnOiBhcmcsIG1vZGlm
aWVyczogbW9kaWZpZXJzIH0pO1xufVxuXG5mdW5jdGlvbiBhZGRIYW5kbGVyIChcbiAgZWwsXG4g
IG5hbWUsXG4gIHZhbHVlLFxuICBtb2RpZmllcnMsXG4gIGltcG9ydGFudCxcbiAgd2FyblxuKSB7
XG4gIC8vIHdhcm4gcHJldmVudCBhbmQgcGFzc2l2ZSBtb2RpZmllclxuICAvKiBpc3RhbmJ1bCBp
Z25vcmUgaWYgKi9cbiAgaWYgKFxuICAgIGZhbHNlXG4gICkge1xuICAgIHdhcm4oXG4gICAgICAn
cGFzc2l2ZSBhbmQgcHJldmVudCBjYW5cXCd0IGJlIHVzZWQgdG9nZXRoZXIuICcgK1xuICAgICAg
J1Bhc3NpdmUgaGFuZGxlciBjYW5cXCd0IHByZXZlbnQgZGVmYXVsdCBldmVudC4nXG4gICAgKTtc
biAgfVxuICAvLyBjaGVjayBjYXB0dXJlIG1vZGlmaWVyXG4gIGlmIChtb2RpZmllcnMgJiYgbW9k
aWZpZXJzLmNhcHR1cmUpIHtcbiAgICBkZWxldGUgbW9kaWZpZXJzLmNhcHR1cmU7XG4gICAgbmFt
ZSA9ICchJyArIG5hbWU7IC8vIG1hcmsgdGhlIGV2ZW50IGFzIGNhcHR1cmVkXG4gIH1cbiAgaWYg
KG1vZGlmaWVycyAmJiBtb2RpZmllcnMub25jZSkge1xuICAgIGRlbGV0ZSBtb2RpZmllcnMub25j
ZTtcbiAgICBuYW1lID0gJ34nICsgbmFtZTsgLy8gbWFyayB0aGUgZXZlbnQgYXMgb25jZVxuICB9
XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAobW9kaWZpZXJzICYmIG1vZGlmaWVy
cy5wYXNzaXZlKSB7XG4gICAgZGVsZXRlIG1vZGlmaWVycy5wYXNzaXZlO1xuICAgIG5hbWUgPSAn
JicgKyBuYW1lOyAvLyBtYXJrIHRoZSBldmVudCBhcyBwYXNzaXZlXG4gIH1cbiAgdmFyIGV2ZW50
cztcbiAgaWYgKG1vZGlmaWVycyAmJiBtb2RpZmllcnMubmF0aXZlKSB7XG4gICAgZGVsZXRlIG1v
ZGlmaWVycy5uYXRpdmU7XG4gICAgZXZlbnRzID0gZWwubmF0aXZlRXZlbnRzIHx8IChlbC5uYXRp
dmVFdmVudHMgPSB7fSk7XG4gIH0gZWxzZSB7XG4gICAgZXZlbnRzID0gZWwuZXZlbnRzIHx8IChl
bC5ldmVudHMgPSB7fSk7XG4gIH1cbiAgdmFyIG5ld0hhbmRsZXIgPSB7IHZhbHVlOiB2YWx1ZSwg
bW9kaWZpZXJzOiBtb2RpZmllcnMgfTtcbiAgdmFyIGhhbmRsZXJzID0gZXZlbnRzW25hbWVdO1xu
ICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKEFycmF5LmlzQXJyYXkoaGFuZGxlcnMp
KSB7XG4gICAgaW1wb3J0YW50ID8gaGFuZGxlcnMudW5zaGlmdChuZXdIYW5kbGVyKSA6IGhhbmRs
ZXJzLnB1c2gobmV3SGFuZGxlcik7XG4gIH0gZWxzZSBpZiAoaGFuZGxlcnMpIHtcbiAgICBldmVu
dHNbbmFtZV0gPSBpbXBvcnRhbnQgPyBbbmV3SGFuZGxlciwgaGFuZGxlcnNdIDogW2hhbmRsZXJz
LCBuZXdIYW5kbGVyXTtcbiAgfSBlbHNlIHtcbiAgICBldmVudHNbbmFtZV0gPSBuZXdIYW5kbGVy
O1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldEJpbmRpbmdBdHRyIChcbiAgZWwsXG4gIG5hbWUsXG4g
IGdldFN0YXRpY1xuKSB7XG4gIHZhciBkeW5hbWljVmFsdWUgPVxuICAgIGdldEFuZFJlbW92ZUF0
dHIoZWwsICc6JyArIG5hbWUpIHx8XG4gICAgZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3YtYmluZDon
ICsgbmFtZSk7XG4gIGlmIChkeW5hbWljVmFsdWUgIT0gbnVsbCkge1xuICAgIHJldHVybiBwYXJz
ZUZpbHRlcnMoZHluYW1pY1ZhbHVlKVxuICB9IGVsc2UgaWYgKGdldFN0YXRpYyAhPT0gZmFsc2Up
IHtcbiAgICB2YXIgc3RhdGljVmFsdWUgPSBnZXRBbmRSZW1vdmVBdHRyKGVsLCBuYW1lKTtcbiAg
ICBpZiAoc3RhdGljVmFsdWUgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5
KHN0YXRpY1ZhbHVlKVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRBbmRSZW1vdmVBdHRy
IChlbCwgbmFtZSkge1xuICB2YXIgdmFsO1xuICBpZiAoKHZhbCA9IGVsLmF0dHJzTWFwW25hbWVd
KSAhPSBudWxsKSB7XG4gICAgdmFyIGxpc3QgPSBlbC5hdHRyc0xpc3Q7XG4gICAgZm9yICh2YXIg
aSA9IDAsIGwgPSBsaXN0Lmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKGxpc3RbaV0u
bmFtZSA9PT0gbmFtZSkge1xuICAgICAgICBsaXN0LnNwbGljZShpLCAxKTtcbiAgICAgICAgYnJl
YWtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHZhbFxufVxuXG4vKiAgKi9cblxuLyoq
XG4gKiBDcm9zcy1wbGF0Zm9ybSBjb2RlIGdlbmVyYXRpb24gZm9yIGNvbXBvbmVudCB2LW1vZGVs
XG4gKi9cbmZ1bmN0aW9uIGdlbkNvbXBvbmVudE1vZGVsIChcbiAgZWwsXG4gIHZhbHVlLFxuICBt
b2RpZmllcnNcbikge1xuICB2YXIgcmVmID0gbW9kaWZpZXJzIHx8IHt9O1xuICB2YXIgbnVtYmVy
ID0gcmVmLm51bWJlcjtcbiAgdmFyIHRyaW0gPSByZWYudHJpbTtcblxuICB2YXIgYmFzZVZhbHVl
RXhwcmVzc2lvbiA9ICckJHYnO1xuICB2YXIgdmFsdWVFeHByZXNzaW9uID0gYmFzZVZhbHVlRXhw
cmVzc2lvbjtcbiAgaWYgKHRyaW0pIHtcbiAgICB2YWx1ZUV4cHJlc3Npb24gPVxuICAgICAgXCIo
dHlwZW9mIFwiICsgYmFzZVZhbHVlRXhwcmVzc2lvbiArIFwiID09PSAnc3RyaW5nJ1wiICtcbiAg
ICAgICAgXCI/IFwiICsgYmFzZVZhbHVlRXhwcmVzc2lvbiArIFwiLnRyaW0oKVwiICtcbiAgICAg
ICAgXCI6IFwiICsgYmFzZVZhbHVlRXhwcmVzc2lvbiArIFwiKVwiO1xuICB9XG4gIGlmIChudW1i
ZXIpIHtcbiAgICB2YWx1ZUV4cHJlc3Npb24gPSBcIl9uKFwiICsgdmFsdWVFeHByZXNzaW9uICsg
XCIpXCI7XG4gIH1cbiAgdmFyIGFzc2lnbm1lbnQgPSBnZW5Bc3NpZ25tZW50Q29kZSh2YWx1ZSwg
dmFsdWVFeHByZXNzaW9uKTtcblxuICBlbC5tb2RlbCA9IHtcbiAgICB2YWx1ZTogKFwiKFwiICsg
dmFsdWUgKyBcIilcIiksXG4gICAgZXhwcmVzc2lvbjogKFwiXFxcIlwiICsgdmFsdWUgKyBcIlxc
XCJcIiksXG4gICAgY2FsbGJhY2s6IChcImZ1bmN0aW9uIChcIiArIGJhc2VWYWx1ZUV4cHJlc3Np
b24gKyBcIikge1wiICsgYXNzaWdubWVudCArIFwifVwiKVxuICB9O1xufVxuXG4vKipcbiAqIENy
b3NzLXBsYXRmb3JtIGNvZGVnZW4gaGVscGVyIGZvciBnZW5lcmF0aW5nIHYtbW9kZWwgdmFsdWUg
YXNzaWdubWVudCBjb2RlLlxuICovXG5mdW5jdGlvbiBnZW5Bc3NpZ25tZW50Q29kZSAoXG4gIHZh
bHVlLFxuICBhc3NpZ25tZW50XG4pIHtcbiAgdmFyIG1vZGVsUnMgPSBwYXJzZU1vZGVsKHZhbHVl
KTtcbiAgaWYgKG1vZGVsUnMuaWR4ID09PSBudWxsKSB7XG4gICAgcmV0dXJuICh2YWx1ZSArIFwi
PVwiICsgYXNzaWdubWVudClcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gKFwiJHNldChcIiArICht
b2RlbFJzLmV4cCkgKyBcIiwgXCIgKyAobW9kZWxScy5pZHgpICsgXCIsIFwiICsgYXNzaWdubWVu
dCArIFwiKVwiKVxuICB9XG59XG5cbi8qKlxuICogcGFyc2UgZGlyZWN0aXZlIG1vZGVsIHRvIGRv
IHRoZSBhcnJheSB1cGRhdGUgdHJhbnNmb3JtLiBhW2lkeF0gPSB2YWwgPT4gJCRhLnNwbGljZSgk
JGlkeCwgMSwgdmFsKVxuICpcbiAqIGZvciBsb29wIHBvc3NpYmxlIGNhc2VzOlxuICpcbiAqIC0g
dGVzdFxuICogLSB0ZXN0W2lkeF1cbiAqIC0gdGVzdFt0ZXN0MVtpZHhdXVxuICogLSB0ZXN0W1wi
YVwiXVtpZHhdXG4gKiAtIHh4eC50ZXN0W2FbYV0udGVzdDFbaWR4XV1cbiAqIC0gdGVzdC54eHgu
YVtcImFzYVwiXVt0ZXN0MVtpZHhdXVxuICpcbiAqL1xuXG52YXIgbGVuO1xudmFyIHN0cjtcbnZh
ciBjaHI7XG52YXIgaW5kZXgkMTtcbnZhciBleHByZXNzaW9uUG9zO1xudmFyIGV4cHJlc3Npb25F
bmRQb3M7XG5cbmZ1bmN0aW9uIHBhcnNlTW9kZWwgKHZhbCkge1xuICBzdHIgPSB2YWw7XG4gIGxl
biA9IHN0ci5sZW5ndGg7XG4gIGluZGV4JDEgPSBleHByZXNzaW9uUG9zID0gZXhwcmVzc2lvbkVu
ZFBvcyA9IDA7XG5cbiAgaWYgKHZhbC5pbmRleE9mKCdbJykgPCAwIHx8IHZhbC5sYXN0SW5kZXhP
ZignXScpIDwgbGVuIC0gMSkge1xuICAgIHJldHVybiB7XG4gICAgICBleHA6IHZhbCxcbiAgICAg
IGlkeDogbnVsbFxuICAgIH1cbiAgfVxuXG4gIHdoaWxlICghZW9mKCkpIHtcbiAgICBjaHIgPSBu
ZXh0KCk7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKGlzU3RyaW5nU3Rh
cnQoY2hyKSkge1xuICAgICAgcGFyc2VTdHJpbmcoY2hyKTtcbiAgICB9IGVsc2UgaWYgKGNociA9
PT0gMHg1Qikge1xuICAgICAgcGFyc2VCcmFja2V0KGNocik7XG4gICAgfVxuICB9XG5cbiAgcmV0
dXJuIHtcbiAgICBleHA6IHZhbC5zdWJzdHJpbmcoMCwgZXhwcmVzc2lvblBvcyksXG4gICAgaWR4
OiB2YWwuc3Vic3RyaW5nKGV4cHJlc3Npb25Qb3MgKyAxLCBleHByZXNzaW9uRW5kUG9zKVxuICB9
XG59XG5cbmZ1bmN0aW9uIG5leHQgKCkge1xuICByZXR1cm4gc3RyLmNoYXJDb2RlQXQoKytpbmRl
eCQxKVxufVxuXG5mdW5jdGlvbiBlb2YgKCkge1xuICByZXR1cm4gaW5kZXgkMSA+PSBsZW5cbn1c
blxuZnVuY3Rpb24gaXNTdHJpbmdTdGFydCAoY2hyKSB7XG4gIHJldHVybiBjaHIgPT09IDB4MjIg
fHwgY2hyID09PSAweDI3XG59XG5cbmZ1bmN0aW9uIHBhcnNlQnJhY2tldCAoY2hyKSB7XG4gIHZh
ciBpbkJyYWNrZXQgPSAxO1xuICBleHByZXNzaW9uUG9zID0gaW5kZXgkMTtcbiAgd2hpbGUgKCFl
b2YoKSkge1xuICAgIGNociA9IG5leHQoKTtcbiAgICBpZiAoaXNTdHJpbmdTdGFydChjaHIpKSB7
XG4gICAgICBwYXJzZVN0cmluZyhjaHIpO1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgaWYg
KGNociA9PT0gMHg1QikgeyBpbkJyYWNrZXQrKzsgfVxuICAgIGlmIChjaHIgPT09IDB4NUQpIHsg
aW5CcmFja2V0LS07IH1cbiAgICBpZiAoaW5CcmFja2V0ID09PSAwKSB7XG4gICAgICBleHByZXNz
aW9uRW5kUG9zID0gaW5kZXgkMTtcbiAgICAgIGJyZWFrXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0
aW9uIHBhcnNlU3RyaW5nIChjaHIpIHtcbiAgdmFyIHN0cmluZ1F1b3RlID0gY2hyO1xuICB3aGls
ZSAoIWVvZigpKSB7XG4gICAgY2hyID0gbmV4dCgpO1xuICAgIGlmIChjaHIgPT09IHN0cmluZ1F1
b3RlKSB7XG4gICAgICBicmVha1xuICAgIH1cbiAgfVxufVxuXG4vKiAgKi9cblxudmFyIHdhcm4k
MTtcblxuLy8gaW4gc29tZSBjYXNlcywgdGhlIGV2ZW50IHVzZWQgaGFzIHRvIGJlIGRldGVybWlu
ZWQgYXQgcnVudGltZVxuLy8gc28gd2UgdXNlZCBzb21lIHJlc2VydmVkIHRva2VucyBkdXJpbmcg
Y29tcGlsZS5cbnZhciBSQU5HRV9UT0tFTiA9ICdfX3InO1xudmFyIENIRUNLQk9YX1JBRElPX1RP
S0VOID0gJ19fYyc7XG5cbmZ1bmN0aW9uIG1vZGVsIChcbiAgZWwsXG4gIGRpcixcbiAgX3dhcm5c
bikge1xuICB3YXJuJDEgPSBfd2FybjtcbiAgdmFyIHZhbHVlID0gZGlyLnZhbHVlO1xuICB2YXIg
bW9kaWZpZXJzID0gZGlyLm1vZGlmaWVycztcbiAgdmFyIHRhZyA9IGVsLnRhZztcbiAgdmFyIHR5
cGUgPSBlbC5hdHRyc01hcC50eXBlO1xuXG4gIGlmIChmYWxzZSkge1xuICAgIHZhciBkeW5hbWlj
VHlwZSA9IGVsLmF0dHJzTWFwWyd2LWJpbmQ6dHlwZSddIHx8IGVsLmF0dHJzTWFwWyc6dHlwZSdd
O1xuICAgIGlmICh0YWcgPT09ICdpbnB1dCcgJiYgZHluYW1pY1R5cGUpIHtcbiAgICAgIHdhcm4k
MShcbiAgICAgICAgXCI8aW5wdXQgOnR5cGU9XFxcIlwiICsgZHluYW1pY1R5cGUgKyBcIlxcXCIg
di1tb2RlbD1cXFwiXCIgKyB2YWx1ZSArIFwiXFxcIj46XFxuXCIgK1xuICAgICAgICBcInYtbW9k
ZWwgZG9lcyBub3Qgc3VwcG9ydCBkeW5hbWljIGlucHV0IHR5cGVzLiBVc2Ugdi1pZiBicmFuY2hl
cyBpbnN0ZWFkLlwiXG4gICAgICApO1xuICAgIH1cbiAgICAvLyBpbnB1dHMgd2l0aCB0eXBlPVwi
ZmlsZVwiIGFyZSByZWFkIG9ubHkgYW5kIHNldHRpbmcgdGhlIGlucHV0J3NcbiAgICAvLyB2YWx1
ZSB3aWxsIHRocm93IGFuIGVycm9yLlxuICAgIGlmICh0YWcgPT09ICdpbnB1dCcgJiYgdHlwZSA9
PT0gJ2ZpbGUnKSB7XG4gICAgICB3YXJuJDEoXG4gICAgICAgIFwiPFwiICsgKGVsLnRhZykgKyBc
IiB2LW1vZGVsPVxcXCJcIiArIHZhbHVlICsgXCJcXFwiIHR5cGU9XFxcImZpbGVcXFwiPjpcXG5c
IiArXG4gICAgICAgIFwiRmlsZSBpbnB1dHMgYXJlIHJlYWQgb25seS4gVXNlIGEgdi1vbjpjaGFu
Z2UgbGlzdGVuZXIgaW5zdGVhZC5cIlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBpZiAoZWwu
Y29tcG9uZW50KSB7XG4gICAgZ2VuQ29tcG9uZW50TW9kZWwoZWwsIHZhbHVlLCBtb2RpZmllcnMp
O1xuICAgIC8vIGNvbXBvbmVudCB2LW1vZGVsIGRvZXNuJ3QgbmVlZCBleHRyYSBydW50aW1lXG4g
ICAgcmV0dXJuIGZhbHNlXG4gIH0gZWxzZSBpZiAodGFnID09PSAnc2VsZWN0Jykge1xuICAgIGdl
blNlbGVjdChlbCwgdmFsdWUsIG1vZGlmaWVycyk7XG4gIH0gZWxzZSBpZiAodGFnID09PSAnaW5w
dXQnICYmIHR5cGUgPT09ICdjaGVja2JveCcpIHtcbiAgICBnZW5DaGVja2JveE1vZGVsKGVsLCB2
YWx1ZSwgbW9kaWZpZXJzKTtcbiAgfSBlbHNlIGlmICh0YWcgPT09ICdpbnB1dCcgJiYgdHlwZSA9
PT0gJ3JhZGlvJykge1xuICAgIGdlblJhZGlvTW9kZWwoZWwsIHZhbHVlLCBtb2RpZmllcnMpO1xu
ICB9IGVsc2UgaWYgKHRhZyA9PT0gJ2lucHV0JyB8fCB0YWcgPT09ICd0ZXh0YXJlYScpIHtcbiAg
ICBnZW5EZWZhdWx0TW9kZWwoZWwsIHZhbHVlLCBtb2RpZmllcnMpO1xuICB9IGVsc2UgaWYgKCFj
b25maWcuaXNSZXNlcnZlZFRhZyh0YWcpKSB7XG4gICAgZ2VuQ29tcG9uZW50TW9kZWwoZWwsIHZh
bHVlLCBtb2RpZmllcnMpO1xuICAgIC8vIGNvbXBvbmVudCB2LW1vZGVsIGRvZXNuJ3QgbmVlZCBl
eHRyYSBydW50aW1lXG4gICAgcmV0dXJuIGZhbHNlXG4gIH0gZWxzZSBpZiAoZmFsc2UpIHtcbiAg
ICB3YXJuJDEoXG4gICAgICBcIjxcIiArIChlbC50YWcpICsgXCIgdi1tb2RlbD1cXFwiXCIgKyB2
YWx1ZSArIFwiXFxcIj46IFwiICtcbiAgICAgIFwidi1tb2RlbCBpcyBub3Qgc3VwcG9ydGVkIG9u
IHRoaXMgZWxlbWVudCB0eXBlLiBcIiArXG4gICAgICAnSWYgeW91IGFyZSB3b3JraW5nIHdpdGgg
Y29udGVudGVkaXRhYmxlLCBpdFxcJ3MgcmVjb21tZW5kZWQgdG8gJyArXG4gICAgICAnd3JhcCBh
IGxpYnJhcnkgZGVkaWNhdGVkIGZvciB0aGF0IHB1cnBvc2UgaW5zaWRlIGEgY3VzdG9tIGNvbXBv
bmVudC4nXG4gICAgKTtcbiAgfVxuXG4gIC8vIGVuc3VyZSBydW50aW1lIGRpcmVjdGl2ZSBtZXRh
ZGF0YVxuICByZXR1cm4gdHJ1ZVxufVxuXG5mdW5jdGlvbiBnZW5DaGVja2JveE1vZGVsIChcbiAg
ZWwsXG4gIHZhbHVlLFxuICBtb2RpZmllcnNcbikge1xuICB2YXIgbnVtYmVyID0gbW9kaWZpZXJz
ICYmIG1vZGlmaWVycy5udW1iZXI7XG4gIHZhciB2YWx1ZUJpbmRpbmcgPSBnZXRCaW5kaW5nQXR0
cihlbCwgJ3ZhbHVlJykgfHwgJ251bGwnO1xuICB2YXIgdHJ1ZVZhbHVlQmluZGluZyA9IGdldEJp
bmRpbmdBdHRyKGVsLCAndHJ1ZS12YWx1ZScpIHx8ICd0cnVlJztcbiAgdmFyIGZhbHNlVmFsdWVC
aW5kaW5nID0gZ2V0QmluZGluZ0F0dHIoZWwsICdmYWxzZS12YWx1ZScpIHx8ICdmYWxzZSc7XG4g
IGFkZFByb3AoZWwsICdjaGVja2VkJyxcbiAgICBcIkFycmF5LmlzQXJyYXkoXCIgKyB2YWx1ZSAr
IFwiKVwiICtcbiAgICAgIFwiP19pKFwiICsgdmFsdWUgKyBcIixcIiArIHZhbHVlQmluZGluZyAr
IFwiKT4tMVwiICsgKFxuICAgICAgICB0cnVlVmFsdWVCaW5kaW5nID09PSAndHJ1ZSdcbiAgICAg
ICAgICA/IChcIjooXCIgKyB2YWx1ZSArIFwiKVwiKVxuICAgICAgICAgIDogKFwiOl9xKFwiICsg
dmFsdWUgKyBcIixcIiArIHRydWVWYWx1ZUJpbmRpbmcgKyBcIilcIilcbiAgICAgIClcbiAgKTtc
biAgYWRkSGFuZGxlcihlbCwgQ0hFQ0tCT1hfUkFESU9fVE9LRU4sXG4gICAgXCJ2YXIgJCRhPVwi
ICsgdmFsdWUgKyBcIixcIiArXG4gICAgICAgICckJGVsPSRldmVudC50YXJnZXQsJyArXG4gICAg
ICAgIFwiJCRjPSQkZWwuY2hlY2tlZD8oXCIgKyB0cnVlVmFsdWVCaW5kaW5nICsgXCIpOihcIiAr
IGZhbHNlVmFsdWVCaW5kaW5nICsgXCIpO1wiICtcbiAgICAnaWYoQXJyYXkuaXNBcnJheSgkJGEp
KXsnICtcbiAgICAgIFwidmFyICQkdj1cIiArIChudW1iZXIgPyAnX24oJyArIHZhbHVlQmluZGlu
ZyArICcpJyA6IHZhbHVlQmluZGluZykgKyBcIixcIiArXG4gICAgICAgICAgJyQkaT1faSgkJGEs
JCR2KTsnICtcbiAgICAgIFwiaWYoJCRlbC5jaGVja2VkKXskJGk8MCYmKFwiICsgdmFsdWUgKyBc
Ij0kJGEuY29uY2F0KCQkdikpfVwiICtcbiAgICAgIFwiZWxzZXskJGk+LTEmJihcIiArIHZhbHVl
ICsgXCI9JCRhLnNsaWNlKDAsJCRpKS5jb25jYXQoJCRhLnNsaWNlKCQkaSsxKSkpfVwiICtcbiAg
ICBcIn1lbHNle1wiICsgKGdlbkFzc2lnbm1lbnRDb2RlKHZhbHVlLCAnJCRjJykpICsgXCJ9XCIs
XG4gICAgbnVsbCwgdHJ1ZVxuICApO1xufVxuXG5mdW5jdGlvbiBnZW5SYWRpb01vZGVsIChcbiAg
ICBlbCxcbiAgICB2YWx1ZSxcbiAgICBtb2RpZmllcnNcbikge1xuICB2YXIgbnVtYmVyID0gbW9k
aWZpZXJzICYmIG1vZGlmaWVycy5udW1iZXI7XG4gIHZhciB2YWx1ZUJpbmRpbmcgPSBnZXRCaW5k
aW5nQXR0cihlbCwgJ3ZhbHVlJykgfHwgJ251bGwnO1xuICB2YWx1ZUJpbmRpbmcgPSBudW1iZXIg
PyAoXCJfbihcIiArIHZhbHVlQmluZGluZyArIFwiKVwiKSA6IHZhbHVlQmluZGluZztcbiAgYWRk
UHJvcChlbCwgJ2NoZWNrZWQnLCAoXCJfcShcIiArIHZhbHVlICsgXCIsXCIgKyB2YWx1ZUJpbmRp
bmcgKyBcIilcIikpO1xuICBhZGRIYW5kbGVyKGVsLCBDSEVDS0JPWF9SQURJT19UT0tFTiwgZ2Vu
QXNzaWdubWVudENvZGUodmFsdWUsIHZhbHVlQmluZGluZyksIG51bGwsIHRydWUpO1xufVxuXG5m
dW5jdGlvbiBnZW5TZWxlY3QgKFxuICAgIGVsLFxuICAgIHZhbHVlLFxuICAgIG1vZGlmaWVyc1xu
KSB7XG4gIHZhciBudW1iZXIgPSBtb2RpZmllcnMgJiYgbW9kaWZpZXJzLm51bWJlcjtcbiAgdmFy
IHNlbGVjdGVkVmFsID0gXCJBcnJheS5wcm90b3R5cGUuZmlsdGVyXCIgK1xuICAgIFwiLmNhbGwo
JGV2ZW50LnRhcmdldC5vcHRpb25zLGZ1bmN0aW9uKG8pe3JldHVybiBvLnNlbGVjdGVkfSlcIiAr
XG4gICAgXCIubWFwKGZ1bmN0aW9uKG8pe3ZhciB2YWwgPSBcXFwiX3ZhbHVlXFxcIiBpbiBvID8g
by5fdmFsdWUgOiBvLnZhbHVlO1wiICtcbiAgICBcInJldHVybiBcIiArIChudW1iZXIgPyAnX24o
dmFsKScgOiAndmFsJykgKyBcIn0pXCI7XG5cbiAgdmFyIGFzc2lnbm1lbnQgPSAnJGV2ZW50LnRh
cmdldC5tdWx0aXBsZSA/ICQkc2VsZWN0ZWRWYWwgOiAkJHNlbGVjdGVkVmFsWzBdJztcbiAgdmFy
IGNvZGUgPSBcInZhciAkJHNlbGVjdGVkVmFsID0gXCIgKyBzZWxlY3RlZFZhbCArIFwiO1wiO1xu
ICBjb2RlID0gY29kZSArIFwiIFwiICsgKGdlbkFzc2lnbm1lbnRDb2RlKHZhbHVlLCBhc3NpZ25t
ZW50KSk7XG4gIGFkZEhhbmRsZXIoZWwsICdjaGFuZ2UnLCBjb2RlLCBudWxsLCB0cnVlKTtcbn1c
blxuZnVuY3Rpb24gZ2VuRGVmYXVsdE1vZGVsIChcbiAgZWwsXG4gIHZhbHVlLFxuICBtb2RpZmll
cnNcbikge1xuICB2YXIgdHlwZSA9IGVsLmF0dHJzTWFwLnR5cGU7XG4gIHZhciByZWYgPSBtb2Rp
ZmllcnMgfHwge307XG4gIHZhciBsYXp5ID0gcmVmLmxhenk7XG4gIHZhciBudW1iZXIgPSByZWYu
bnVtYmVyO1xuICB2YXIgdHJpbSA9IHJlZi50cmltO1xuICB2YXIgbmVlZENvbXBvc2l0aW9uR3Vh
cmQgPSAhbGF6eSAmJiB0eXBlICE9PSAncmFuZ2UnO1xuICB2YXIgZXZlbnQgPSBsYXp5XG4gICAg
PyAnY2hhbmdlJ1xuICAgIDogdHlwZSA9PT0gJ3JhbmdlJ1xuICAgICAgPyBSQU5HRV9UT0tFTlxu
ICAgICAgOiAnaW5wdXQnO1xuXG4gIHZhciB2YWx1ZUV4cHJlc3Npb24gPSAnJGV2ZW50LnRhcmdl
dC52YWx1ZSc7XG4gIGlmICh0cmltKSB7XG4gICAgdmFsdWVFeHByZXNzaW9uID0gXCIkZXZlbnQu
dGFyZ2V0LnZhbHVlLnRyaW0oKVwiO1xuICB9XG4gIGlmIChudW1iZXIpIHtcbiAgICB2YWx1ZUV4
cHJlc3Npb24gPSBcIl9uKFwiICsgdmFsdWVFeHByZXNzaW9uICsgXCIpXCI7XG4gIH1cblxuICB2
YXIgY29kZSA9IGdlbkFzc2lnbm1lbnRDb2RlKHZhbHVlLCB2YWx1ZUV4cHJlc3Npb24pO1xuICBp
ZiAobmVlZENvbXBvc2l0aW9uR3VhcmQpIHtcbiAgICBjb2RlID0gXCJpZigkZXZlbnQudGFyZ2V0
LmNvbXBvc2luZylyZXR1cm47XCIgKyBjb2RlO1xuICB9XG5cbiAgYWRkUHJvcChlbCwgJ3ZhbHVl
JywgKFwiKFwiICsgdmFsdWUgKyBcIilcIikpO1xuICBhZGRIYW5kbGVyKGVsLCBldmVudCwgY29k
ZSwgbnVsbCwgdHJ1ZSk7XG4gIGlmICh0cmltIHx8IG51bWJlcikge1xuICAgIGFkZEhhbmRsZXIo
ZWwsICdibHVyJywgJyRmb3JjZVVwZGF0ZSgpJyk7XG4gIH1cbn1cblxuLyogICovXG5cbi8vIG5v
cm1hbGl6ZSB2LW1vZGVsIGV2ZW50IHRva2VucyB0aGF0IGNhbiBvbmx5IGJlIGRldGVybWluZWQg
YXQgcnVudGltZS5cbi8vIGl0J3MgaW1wb3J0YW50IHRvIHBsYWNlIHRoZSBldmVudCBhcyB0aGUg
Zmlyc3QgaW4gdGhlIGFycmF5IGJlY2F1c2Vcbi8vIHRoZSB3aG9sZSBwb2ludCBpcyBlbnN1cmlu
ZyB0aGUgdi1tb2RlbCBjYWxsYmFjayBnZXRzIGNhbGxlZCBiZWZvcmVcbi8vIHVzZXItYXR0YWNo
ZWQgaGFuZGxlcnMuXG5mdW5jdGlvbiBub3JtYWxpemVFdmVudHMgKG9uKSB7XG4gIHZhciBldmVu
dDtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmIChpc0RlZihvbltSQU5HRV9UT0tF
Tl0pKSB7XG4gICAgLy8gSUUgaW5wdXRbdHlwZT1yYW5nZV0gb25seSBzdXBwb3J0cyBgY2hhbmdl
YCBldmVudFxuICAgIGV2ZW50ID0gaXNJRSA/ICdjaGFuZ2UnIDogJ2lucHV0JztcbiAgICBvbltl
dmVudF0gPSBbXS5jb25jYXQob25bUkFOR0VfVE9LRU5dLCBvbltldmVudF0gfHwgW10pO1xuICAg
IGRlbGV0ZSBvbltSQU5HRV9UT0tFTl07XG4gIH1cbiAgaWYgKGlzRGVmKG9uW0NIRUNLQk9YX1JB
RElPX1RPS0VOXSkpIHtcbiAgICAvLyBDaHJvbWUgZmlyZXMgbWljcm90YXNrcyBpbiBiZXR3ZWVu
IGNsaWNrL2NoYW5nZSwgbGVhZHMgdG8gIzQ1MjFcbiAgICBldmVudCA9IGlzQ2hyb21lID8gJ2Ns
aWNrJyA6ICdjaGFuZ2UnO1xuICAgIG9uW2V2ZW50XSA9IFtdLmNvbmNhdChvbltDSEVDS0JPWF9S
QURJT19UT0tFTl0sIG9uW2V2ZW50XSB8fCBbXSk7XG4gICAgZGVsZXRlIG9uW0NIRUNLQk9YX1JB
RElPX1RPS0VOXTtcbiAgfVxufVxuXG52YXIgdGFyZ2V0JDE7XG5cbmZ1bmN0aW9uIGFkZCQxIChc
biAgZXZlbnQsXG4gIGhhbmRsZXIsXG4gIG9uY2UkJDEsXG4gIGNhcHR1cmUsXG4gIHBhc3NpdmVc
bikge1xuICBpZiAob25jZSQkMSkge1xuICAgIHZhciBvbGRIYW5kbGVyID0gaGFuZGxlcjtcbiAg
ICB2YXIgX3RhcmdldCA9IHRhcmdldCQxOyAvLyBzYXZlIGN1cnJlbnQgdGFyZ2V0IGVsZW1lbnQg
aW4gY2xvc3VyZVxuICAgIGhhbmRsZXIgPSBmdW5jdGlvbiAoZXYpIHtcbiAgICAgIHZhciByZXMg
PSBhcmd1bWVudHMubGVuZ3RoID09PSAxXG4gICAgICAgID8gb2xkSGFuZGxlcihldilcbiAgICAg
ICAgOiBvbGRIYW5kbGVyLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7XG4gICAgICBpZiAocmVzICE9
PSBudWxsKSB7XG4gICAgICAgIHJlbW92ZSQyKGV2ZW50LCBoYW5kbGVyLCBjYXB0dXJlLCBfdGFy
Z2V0KTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG4gIHRhcmdldCQxLmFkZEV2ZW50TGlzdGVuZXIo
XG4gICAgZXZlbnQsXG4gICAgaGFuZGxlcixcbiAgICBzdXBwb3J0c1Bhc3NpdmVcbiAgICAgID8g
eyBjYXB0dXJlOiBjYXB0dXJlLCBwYXNzaXZlOiBwYXNzaXZlIH1cbiAgICAgIDogY2FwdHVyZVxu
ICApO1xufVxuXG5mdW5jdGlvbiByZW1vdmUkMiAoXG4gIGV2ZW50LFxuICBoYW5kbGVyLFxuICBj
YXB0dXJlLFxuICBfdGFyZ2V0XG4pIHtcbiAgKF90YXJnZXQgfHwgdGFyZ2V0JDEpLnJlbW92ZUV2
ZW50TGlzdGVuZXIoZXZlbnQsIGhhbmRsZXIsIGNhcHR1cmUpO1xufVxuXG5mdW5jdGlvbiB1cGRh
dGVET01MaXN0ZW5lcnMgKG9sZFZub2RlLCB2bm9kZSkge1xuICBpZiAoaXNVbmRlZihvbGRWbm9k
ZS5kYXRhLm9uKSAmJiBpc1VuZGVmKHZub2RlLmRhdGEub24pKSB7XG4gICAgcmV0dXJuXG4gIH1c
biAgdmFyIG9uID0gdm5vZGUuZGF0YS5vbiB8fCB7fTtcbiAgdmFyIG9sZE9uID0gb2xkVm5vZGUu
ZGF0YS5vbiB8fCB7fTtcbiAgdGFyZ2V0JDEgPSB2bm9kZS5lbG07XG4gIG5vcm1hbGl6ZUV2ZW50
cyhvbik7XG4gIHVwZGF0ZUxpc3RlbmVycyhvbiwgb2xkT24sIGFkZCQxLCByZW1vdmUkMiwgdm5v
ZGUuY29udGV4dCk7XG59XG5cbnZhciBldmVudHMgPSB7XG4gIGNyZWF0ZTogdXBkYXRlRE9NTGlz
dGVuZXJzLFxuICB1cGRhdGU6IHVwZGF0ZURPTUxpc3RlbmVyc1xufTtcblxuLyogICovXG5cbmZ1
bmN0aW9uIHVwZGF0ZURPTVByb3BzIChvbGRWbm9kZSwgdm5vZGUpIHtcbiAgaWYgKGlzVW5kZWYo
b2xkVm5vZGUuZGF0YS5kb21Qcm9wcykgJiYgaXNVbmRlZih2bm9kZS5kYXRhLmRvbVByb3BzKSkg
e1xuICAgIHJldHVyblxuICB9XG4gIHZhciBrZXksIGN1cjtcbiAgdmFyIGVsbSA9IHZub2RlLmVs
bTtcbiAgdmFyIG9sZFByb3BzID0gb2xkVm5vZGUuZGF0YS5kb21Qcm9wcyB8fCB7fTtcbiAgdmFy
IHByb3BzID0gdm5vZGUuZGF0YS5kb21Qcm9wcyB8fCB7fTtcbiAgLy8gY2xvbmUgb2JzZXJ2ZWQg
b2JqZWN0cywgYXMgdGhlIHVzZXIgcHJvYmFibHkgd2FudHMgdG8gbXV0YXRlIGl0XG4gIGlmIChp
c0RlZihwcm9wcy5fX29iX18pKSB7XG4gICAgcHJvcHMgPSB2bm9kZS5kYXRhLmRvbVByb3BzID0g
ZXh0ZW5kKHt9LCBwcm9wcyk7XG4gIH1cblxuICBmb3IgKGtleSBpbiBvbGRQcm9wcykge1xuICAg
IGlmIChpc1VuZGVmKHByb3BzW2tleV0pKSB7XG4gICAgICBlbG1ba2V5XSA9ICcnO1xuICAgIH1c
biAgfVxuICBmb3IgKGtleSBpbiBwcm9wcykge1xuICAgIGN1ciA9IHByb3BzW2tleV07XG4gICAg
Ly8gaWdub3JlIGNoaWxkcmVuIGlmIHRoZSBub2RlIGhhcyB0ZXh0Q29udGVudCBvciBpbm5lckhU
TUwsXG4gICAgLy8gYXMgdGhlc2Ugd2lsbCB0aHJvdyBhd2F5IGV4aXN0aW5nIERPTSBub2RlcyBh
bmQgY2F1c2UgcmVtb3ZhbCBlcnJvcnNcbiAgICAvLyBvbiBzdWJzZXF1ZW50IHBhdGNoZXMgKCMz
MzYwKVxuICAgIGlmIChrZXkgPT09ICd0ZXh0Q29udGVudCcgfHwga2V5ID09PSAnaW5uZXJIVE1M
Jykge1xuICAgICAgaWYgKHZub2RlLmNoaWxkcmVuKSB7IHZub2RlLmNoaWxkcmVuLmxlbmd0aCA9
IDA7IH1cbiAgICAgIGlmIChjdXIgPT09IG9sZFByb3BzW2tleV0pIHsgY29udGludWUgfVxuICAg
IH1cblxuICAgIGlmIChrZXkgPT09ICd2YWx1ZScpIHtcbiAgICAgIC8vIHN0b3JlIHZhbHVlIGFz
IF92YWx1ZSBhcyB3ZWxsIHNpbmNlXG4gICAgICAvLyBub24tc3RyaW5nIHZhbHVlcyB3aWxsIGJl
IHN0cmluZ2lmaWVkXG4gICAgICBlbG0uX3ZhbHVlID0gY3VyO1xuICAgICAgLy8gYXZvaWQgcmVz
ZXR0aW5nIGN1cnNvciBwb3NpdGlvbiB3aGVuIHZhbHVlIGlzIHRoZSBzYW1lXG4gICAgICB2YXIg
c3RyQ3VyID0gaXNVbmRlZihjdXIpID8gJycgOiBTdHJpbmcoY3VyKTtcbiAgICAgIGlmIChzaG91
bGRVcGRhdGVWYWx1ZShlbG0sIHZub2RlLCBzdHJDdXIpKSB7XG4gICAgICAgIGVsbS52YWx1ZSA9
IHN0ckN1cjtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZWxtW2tleV0gPSBjdXI7XG4g
ICAgfVxuICB9XG59XG5cbi8vIGNoZWNrIHBsYXRmb3Jtcy93ZWIvdXRpbC9hdHRycy5qcyBhY2Nl
cHRWYWx1ZVxuXG5cbmZ1bmN0aW9uIHNob3VsZFVwZGF0ZVZhbHVlIChcbiAgZWxtLFxuICB2bm9k
ZSxcbiAgY2hlY2tWYWxcbikge1xuICByZXR1cm4gKCFlbG0uY29tcG9zaW5nICYmIChcbiAgICB2
bm9kZS50YWcgPT09ICdvcHRpb24nIHx8XG4gICAgaXNEaXJ0eShlbG0sIGNoZWNrVmFsKSB8fFxu
ICAgIGlzSW5wdXRDaGFuZ2VkKGVsbSwgY2hlY2tWYWwpXG4gICkpXG59XG5cbmZ1bmN0aW9uIGlz
RGlydHkgKGVsbSwgY2hlY2tWYWwpIHtcbiAgLy8gcmV0dXJuIHRydWUgd2hlbiB0ZXh0Ym94ICgu
bnVtYmVyIGFuZCAudHJpbSkgbG9zZXMgZm9jdXMgYW5kIGl0cyB2YWx1ZSBpc1xuICAvLyBub3Qg
ZXF1YWwgdG8gdGhlIHVwZGF0ZWQgdmFsdWVcbiAgdmFyIG5vdEluRm9jdXMgPSB0cnVlO1xuICAv
LyAjNjE1N1xuICAvLyB3b3JrIGFyb3VuZCBJRSBidWcgd2hlbiBhY2Nlc3NpbmcgZG9jdW1lbnQu
YWN0aXZlRWxlbWVudCBpbiBhbiBpZnJhbWVcbiAgdHJ5IHsgbm90SW5Gb2N1cyA9IGRvY3VtZW50
LmFjdGl2ZUVsZW1lbnQgIT09IGVsbTsgfSBjYXRjaCAoZSkge31cbiAgcmV0dXJuIG5vdEluRm9j
dXMgJiYgZWxtLnZhbHVlICE9PSBjaGVja1ZhbFxufVxuXG5mdW5jdGlvbiBpc0lucHV0Q2hhbmdl
ZCAoZWxtLCBuZXdWYWwpIHtcbiAgdmFyIHZhbHVlID0gZWxtLnZhbHVlO1xuICB2YXIgbW9kaWZp
ZXJzID0gZWxtLl92TW9kaWZpZXJzOyAvLyBpbmplY3RlZCBieSB2LW1vZGVsIHJ1bnRpbWVcbiAg
aWYgKGlzRGVmKG1vZGlmaWVycykgJiYgbW9kaWZpZXJzLm51bWJlcikge1xuICAgIHJldHVybiB0
b051bWJlcih2YWx1ZSkgIT09IHRvTnVtYmVyKG5ld1ZhbClcbiAgfVxuICBpZiAoaXNEZWYobW9k
aWZpZXJzKSAmJiBtb2RpZmllcnMudHJpbSkge1xuICAgIHJldHVybiB2YWx1ZS50cmltKCkgIT09
IG5ld1ZhbC50cmltKClcbiAgfVxuICByZXR1cm4gdmFsdWUgIT09IG5ld1ZhbFxufVxuXG52YXIg
ZG9tUHJvcHMgPSB7XG4gIGNyZWF0ZTogdXBkYXRlRE9NUHJvcHMsXG4gIHVwZGF0ZTogdXBkYXRl
RE9NUHJvcHNcbn07XG5cbi8qICAqL1xuXG52YXIgcGFyc2VTdHlsZVRleHQgPSBjYWNoZWQoZnVu
Y3Rpb24gKGNzc1RleHQpIHtcbiAgdmFyIHJlcyA9IHt9O1xuICB2YXIgbGlzdERlbGltaXRlciA9
IC87KD8hW14oXSpcXCkpL2c7XG4gIHZhciBwcm9wZXJ0eURlbGltaXRlciA9IC86KC4rKS87XG4g
IGNzc1RleHQuc3BsaXQobGlzdERlbGltaXRlcikuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkge1xu
ICAgIGlmIChpdGVtKSB7XG4gICAgICB2YXIgdG1wID0gaXRlbS5zcGxpdChwcm9wZXJ0eURlbGlt
aXRlcik7XG4gICAgICB0bXAubGVuZ3RoID4gMSAmJiAocmVzW3RtcFswXS50cmltKCldID0gdG1w
WzFdLnRyaW0oKSk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHJlc1xufSk7XG5cbi8vIG1lcmdl
IHN0YXRpYyBhbmQgZHluYW1pYyBzdHlsZSBkYXRhIG9uIHRoZSBzYW1lIHZub2RlXG5mdW5jdGlv
biBub3JtYWxpemVTdHlsZURhdGEgKGRhdGEpIHtcbiAgdmFyIHN0eWxlID0gbm9ybWFsaXplU3R5
bGVCaW5kaW5nKGRhdGEuc3R5bGUpO1xuICAvLyBzdGF0aWMgc3R5bGUgaXMgcHJlLXByb2Nlc3Nl
ZCBpbnRvIGFuIG9iamVjdCBkdXJpbmcgY29tcGlsYXRpb25cbiAgLy8gYW5kIGlzIGFsd2F5cyBh
IGZyZXNoIG9iamVjdCwgc28gaXQncyBzYWZlIHRvIG1lcmdlIGludG8gaXRcbiAgcmV0dXJuIGRh
dGEuc3RhdGljU3R5bGVcbiAgICA/IGV4dGVuZChkYXRhLnN0YXRpY1N0eWxlLCBzdHlsZSlcbiAg
ICA6IHN0eWxlXG59XG5cbi8vIG5vcm1hbGl6ZSBwb3NzaWJsZSBhcnJheSAvIHN0cmluZyB2YWx1
ZXMgaW50byBPYmplY3RcbmZ1bmN0aW9uIG5vcm1hbGl6ZVN0eWxlQmluZGluZyAoYmluZGluZ1N0
eWxlKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGJpbmRpbmdTdHlsZSkpIHtcbiAgICByZXR1cm4g
dG9PYmplY3QoYmluZGluZ1N0eWxlKVxuICB9XG4gIGlmICh0eXBlb2YgYmluZGluZ1N0eWxlID09
PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBwYXJzZVN0eWxlVGV4dChiaW5kaW5nU3R5bGUpXG4g
IH1cbiAgcmV0dXJuIGJpbmRpbmdTdHlsZVxufVxuXG4vKipcbiAqIHBhcmVudCBjb21wb25lbnQg
c3R5bGUgc2hvdWxkIGJlIGFmdGVyIGNoaWxkJ3NcbiAqIHNvIHRoYXQgcGFyZW50IGNvbXBvbmVu
dCdzIHN0eWxlIGNvdWxkIG92ZXJyaWRlIGl0XG4gKi9cbmZ1bmN0aW9uIGdldFN0eWxlICh2bm9k
ZSwgY2hlY2tDaGlsZCkge1xuICB2YXIgcmVzID0ge307XG4gIHZhciBzdHlsZURhdGE7XG5cbiAg
aWYgKGNoZWNrQ2hpbGQpIHtcbiAgICB2YXIgY2hpbGROb2RlID0gdm5vZGU7XG4gICAgd2hpbGUg
KGNoaWxkTm9kZS5jb21wb25lbnRJbnN0YW5jZSkge1xuICAgICAgY2hpbGROb2RlID0gY2hpbGRO
b2RlLmNvbXBvbmVudEluc3RhbmNlLl92bm9kZTtcbiAgICAgIGlmIChjaGlsZE5vZGUuZGF0YSAm
JiAoc3R5bGVEYXRhID0gbm9ybWFsaXplU3R5bGVEYXRhKGNoaWxkTm9kZS5kYXRhKSkpIHtcbiAg
ICAgICAgZXh0ZW5kKHJlcywgc3R5bGVEYXRhKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBp
ZiAoKHN0eWxlRGF0YSA9IG5vcm1hbGl6ZVN0eWxlRGF0YSh2bm9kZS5kYXRhKSkpIHtcbiAgICBl
eHRlbmQocmVzLCBzdHlsZURhdGEpO1xuICB9XG5cbiAgdmFyIHBhcmVudE5vZGUgPSB2bm9kZTtc
biAgd2hpbGUgKChwYXJlbnROb2RlID0gcGFyZW50Tm9kZS5wYXJlbnQpKSB7XG4gICAgaWYgKHBh
cmVudE5vZGUuZGF0YSAmJiAoc3R5bGVEYXRhID0gbm9ybWFsaXplU3R5bGVEYXRhKHBhcmVudE5v
ZGUuZGF0YSkpKSB7XG4gICAgICBleHRlbmQocmVzLCBzdHlsZURhdGEpO1xuICAgIH1cbiAgfVxu
ICByZXR1cm4gcmVzXG59XG5cbi8qICAqL1xuXG52YXIgY3NzVmFyUkUgPSAvXi0tLztcbnZhciBp
bXBvcnRhbnRSRSA9IC9cXHMqIWltcG9ydGFudCQvO1xudmFyIHNldFByb3AgPSBmdW5jdGlvbiAo
ZWwsIG5hbWUsIHZhbCkge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKGNzc1Zh
clJFLnRlc3QobmFtZSkpIHtcbiAgICBlbC5zdHlsZS5zZXRQcm9wZXJ0eShuYW1lLCB2YWwpO1xu
ICB9IGVsc2UgaWYgKGltcG9ydGFudFJFLnRlc3QodmFsKSkge1xuICAgIGVsLnN0eWxlLnNldFBy
b3BlcnR5KG5hbWUsIHZhbC5yZXBsYWNlKGltcG9ydGFudFJFLCAnJyksICdpbXBvcnRhbnQnKTtc
biAgfSBlbHNlIHtcbiAgICB2YXIgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemUobmFtZSk7XG4g
ICAgaWYgKEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgLy8gU3VwcG9ydCB2YWx1ZXMgYXJy
YXkgY3JlYXRlZCBieSBhdXRvcHJlZml4ZXIsIGUuZy5cbiAgICAgIC8vIHtkaXNwbGF5OiBbXCIt
d2Via2l0LWJveFwiLCBcIi1tcy1mbGV4Ym94XCIsIFwiZmxleFwiXX1cbiAgICAgIC8vIFNldCB0
aGVtIG9uZSBieSBvbmUsIGFuZCB0aGUgYnJvd3NlciB3aWxsIG9ubHkgc2V0IHRob3NlIGl0IGNh
biByZWNvZ25pemVcbiAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSB2YWwubGVuZ3RoOyBpIDwg
bGVuOyBpKyspIHtcbiAgICAgICAgZWwuc3R5bGVbbm9ybWFsaXplZE5hbWVdID0gdmFsW2ldO1xu
ICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBlbC5zdHlsZVtub3JtYWxpemVkTmFtZV0gPSB2
YWw7XG4gICAgfVxuICB9XG59O1xuXG52YXIgdmVuZG9yTmFtZXMgPSBbJ1dlYmtpdCcsICdNb3on
LCAnbXMnXTtcblxudmFyIGVtcHR5U3R5bGU7XG52YXIgbm9ybWFsaXplID0gY2FjaGVkKGZ1bmN0
aW9uIChwcm9wKSB7XG4gIGVtcHR5U3R5bGUgPSBlbXB0eVN0eWxlIHx8IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2RpdicpLnN0eWxlO1xuICBwcm9wID0gY2FtZWxpemUocHJvcCk7XG4gIGlmIChw
cm9wICE9PSAnZmlsdGVyJyAmJiAocHJvcCBpbiBlbXB0eVN0eWxlKSkge1xuICAgIHJldHVybiBw
cm9wXG4gIH1cbiAgdmFyIGNhcE5hbWUgPSBwcm9wLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsg
cHJvcC5zbGljZSgxKTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCB2ZW5kb3JOYW1lcy5sZW5ndGg7
IGkrKykge1xuICAgIHZhciBuYW1lID0gdmVuZG9yTmFtZXNbaV0gKyBjYXBOYW1lO1xuICAgIGlm
IChuYW1lIGluIGVtcHR5U3R5bGUpIHtcbiAgICAgIHJldHVybiBuYW1lXG4gICAgfVxuICB9XG59
KTtcblxuZnVuY3Rpb24gdXBkYXRlU3R5bGUgKG9sZFZub2RlLCB2bm9kZSkge1xuICB2YXIgZGF0
YSA9IHZub2RlLmRhdGE7XG4gIHZhciBvbGREYXRhID0gb2xkVm5vZGUuZGF0YTtcblxuICBpZiAo
aXNVbmRlZihkYXRhLnN0YXRpY1N0eWxlKSAmJiBpc1VuZGVmKGRhdGEuc3R5bGUpICYmXG4gICAg
aXNVbmRlZihvbGREYXRhLnN0YXRpY1N0eWxlKSAmJiBpc1VuZGVmKG9sZERhdGEuc3R5bGUpXG4g
ICkge1xuICAgIHJldHVyblxuICB9XG5cbiAgdmFyIGN1ciwgbmFtZTtcbiAgdmFyIGVsID0gdm5v
ZGUuZWxtO1xuICB2YXIgb2xkU3RhdGljU3R5bGUgPSBvbGREYXRhLnN0YXRpY1N0eWxlO1xuICB2
YXIgb2xkU3R5bGVCaW5kaW5nID0gb2xkRGF0YS5ub3JtYWxpemVkU3R5bGUgfHwgb2xkRGF0YS5z
dHlsZSB8fCB7fTtcblxuICAvLyBpZiBzdGF0aWMgc3R5bGUgZXhpc3RzLCBzdHlsZWJpbmRpbmcg
YWxyZWFkeSBtZXJnZWQgaW50byBpdCB3aGVuIGRvaW5nIG5vcm1hbGl6ZVN0eWxlRGF0YVxuICB2
YXIgb2xkU3R5bGUgPSBvbGRTdGF0aWNTdHlsZSB8fCBvbGRTdHlsZUJpbmRpbmc7XG5cbiAgdmFy
IHN0eWxlID0gbm9ybWFsaXplU3R5bGVCaW5kaW5nKHZub2RlLmRhdGEuc3R5bGUpIHx8IHt9O1xu
XG4gIC8vIHN0b3JlIG5vcm1hbGl6ZWQgc3R5bGUgdW5kZXIgYSBkaWZmZXJlbnQga2V5IGZvciBu
ZXh0IGRpZmZcbiAgLy8gbWFrZSBzdXJlIHRvIGNsb25lIGl0IGlmIGl0J3MgcmVhY3RpdmUsIHNp
bmNlIHRoZSB1c2VyIGxpa2xleSB3YW50c1xuICAvLyB0byBtdXRhdGUgaXQuXG4gIHZub2RlLmRh
dGEubm9ybWFsaXplZFN0eWxlID0gaXNEZWYoc3R5bGUuX19vYl9fKVxuICAgID8gZXh0ZW5kKHt9
LCBzdHlsZSlcbiAgICA6IHN0eWxlO1xuXG4gIHZhciBuZXdTdHlsZSA9IGdldFN0eWxlKHZub2Rl
LCB0cnVlKTtcblxuICBmb3IgKG5hbWUgaW4gb2xkU3R5bGUpIHtcbiAgICBpZiAoaXNVbmRlZihu
ZXdTdHlsZVtuYW1lXSkpIHtcbiAgICAgIHNldFByb3AoZWwsIG5hbWUsICcnKTtcbiAgICB9XG4g
IH1cbiAgZm9yIChuYW1lIGluIG5ld1N0eWxlKSB7XG4gICAgY3VyID0gbmV3U3R5bGVbbmFtZV07
XG4gICAgaWYgKGN1ciAhPT0gb2xkU3R5bGVbbmFtZV0pIHtcbiAgICAgIC8vIGllOSBzZXR0aW5n
IHRvIG51bGwgaGFzIG5vIGVmZmVjdCwgbXVzdCB1c2UgZW1wdHkgc3RyaW5nXG4gICAgICBzZXRQ
cm9wKGVsLCBuYW1lLCBjdXIgPT0gbnVsbCA/ICcnIDogY3VyKTtcbiAgICB9XG4gIH1cbn1cblxu
dmFyIHN0eWxlID0ge1xuICBjcmVhdGU6IHVwZGF0ZVN0eWxlLFxuICB1cGRhdGU6IHVwZGF0ZVN0
eWxlXG59O1xuXG4vKiAgKi9cblxuLyoqXG4gKiBBZGQgY2xhc3Mgd2l0aCBjb21wYXRpYmlsaXR5
IGZvciBTVkcgc2luY2UgY2xhc3NMaXN0IGlzIG5vdCBzdXBwb3J0ZWQgb25cbiAqIFNWRyBlbGVt
ZW50cyBpbiBJRVxuICovXG5mdW5jdGlvbiBhZGRDbGFzcyAoZWwsIGNscykge1xuICAvKiBpc3Rh
bmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKCFjbHMgfHwgIShjbHMgPSBjbHMudHJpbSgpKSkge1xu
ICAgIHJldHVyblxuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKGVs
LmNsYXNzTGlzdCkge1xuICAgIGlmIChjbHMuaW5kZXhPZignICcpID4gLTEpIHtcbiAgICAgIGNs
cy5zcGxpdCgvXFxzKy8pLmZvckVhY2goZnVuY3Rpb24gKGMpIHsgcmV0dXJuIGVsLmNsYXNzTGlz
dC5hZGQoYyk7IH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbC5jbGFzc0xpc3QuYWRkKGNscyk7
XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHZhciBjdXIgPSBcIiBcIiArIChlbC5nZXRBdHRyaWJ1
dGUoJ2NsYXNzJykgfHwgJycpICsgXCIgXCI7XG4gICAgaWYgKGN1ci5pbmRleE9mKCcgJyArIGNs
cyArICcgJykgPCAwKSB7XG4gICAgICBlbC5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgKGN1ciArIGNs
cykudHJpbSgpKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSZW1vdmUgY2xhc3Mgd2l0aCBj
b21wYXRpYmlsaXR5IGZvciBTVkcgc2luY2UgY2xhc3NMaXN0IGlzIG5vdCBzdXBwb3J0ZWQgb25c
biAqIFNWRyBlbGVtZW50cyBpbiBJRVxuICovXG5mdW5jdGlvbiByZW1vdmVDbGFzcyAoZWwsIGNs
cykge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKCFjbHMgfHwgIShjbHMgPSBj
bHMudHJpbSgpKSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGVs
c2UgKi9cbiAgaWYgKGVsLmNsYXNzTGlzdCkge1xuICAgIGlmIChjbHMuaW5kZXhPZignICcpID4g
LTEpIHtcbiAgICAgIGNscy5zcGxpdCgvXFxzKy8pLmZvckVhY2goZnVuY3Rpb24gKGMpIHsgcmV0
dXJuIGVsLmNsYXNzTGlzdC5yZW1vdmUoYyk7IH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbC5j
bGFzc0xpc3QucmVtb3ZlKGNscyk7XG4gICAgfVxuICAgIGlmICghZWwuY2xhc3NMaXN0Lmxlbmd0
aCkge1xuICAgICAgZWwucmVtb3ZlQXR0cmlidXRlKCdjbGFzcycpO1xuICAgIH1cbiAgfSBlbHNl
IHtcbiAgICB2YXIgY3VyID0gXCIgXCIgKyAoZWwuZ2V0QXR0cmlidXRlKCdjbGFzcycpIHx8ICcn
KSArIFwiIFwiO1xuICAgIHZhciB0YXIgPSAnICcgKyBjbHMgKyAnICc7XG4gICAgd2hpbGUgKGN1
ci5pbmRleE9mKHRhcikgPj0gMCkge1xuICAgICAgY3VyID0gY3VyLnJlcGxhY2UodGFyLCAnICcp
O1xuICAgIH1cbiAgICBjdXIgPSBjdXIudHJpbSgpO1xuICAgIGlmIChjdXIpIHtcbiAgICAgIGVs
LnNldEF0dHJpYnV0ZSgnY2xhc3MnLCBjdXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbC5yZW1v
dmVBdHRyaWJ1dGUoJ2NsYXNzJyk7XG4gICAgfVxuICB9XG59XG5cbi8qICAqL1xuXG5mdW5jdGlv
biByZXNvbHZlVHJhbnNpdGlvbiAoZGVmJCQxKSB7XG4gIGlmICghZGVmJCQxKSB7XG4gICAgcmV0
dXJuXG4gIH1cbiAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKHR5cGVvZiBkZWYk
JDEgPT09ICdvYmplY3QnKSB7XG4gICAgdmFyIHJlcyA9IHt9O1xuICAgIGlmIChkZWYkJDEuY3Nz
ICE9PSBmYWxzZSkge1xuICAgICAgZXh0ZW5kKHJlcywgYXV0b0Nzc1RyYW5zaXRpb24oZGVmJCQx
Lm5hbWUgfHwgJ3YnKSk7XG4gICAgfVxuICAgIGV4dGVuZChyZXMsIGRlZiQkMSk7XG4gICAgcmV0
dXJuIHJlc1xuICB9IGVsc2UgaWYgKHR5cGVvZiBkZWYkJDEgPT09ICdzdHJpbmcnKSB7XG4gICAg
cmV0dXJuIGF1dG9Dc3NUcmFuc2l0aW9uKGRlZiQkMSlcbiAgfVxufVxuXG52YXIgYXV0b0Nzc1Ry
YW5zaXRpb24gPSBjYWNoZWQoZnVuY3Rpb24gKG5hbWUpIHtcbiAgcmV0dXJuIHtcbiAgICBlbnRl
ckNsYXNzOiAobmFtZSArIFwiLWVudGVyXCIpLFxuICAgIGVudGVyVG9DbGFzczogKG5hbWUgKyBc
Ii1lbnRlci10b1wiKSxcbiAgICBlbnRlckFjdGl2ZUNsYXNzOiAobmFtZSArIFwiLWVudGVyLWFj
dGl2ZVwiKSxcbiAgICBsZWF2ZUNsYXNzOiAobmFtZSArIFwiLWxlYXZlXCIpLFxuICAgIGxlYXZl
VG9DbGFzczogKG5hbWUgKyBcIi1sZWF2ZS10b1wiKSxcbiAgICBsZWF2ZUFjdGl2ZUNsYXNzOiAo
bmFtZSArIFwiLWxlYXZlLWFjdGl2ZVwiKVxuICB9XG59KTtcblxudmFyIGhhc1RyYW5zaXRpb24g
PSBpbkJyb3dzZXIgJiYgIWlzSUU5O1xudmFyIFRSQU5TSVRJT04gPSAndHJhbnNpdGlvbic7XG52
YXIgQU5JTUFUSU9OID0gJ2FuaW1hdGlvbic7XG5cbi8vIFRyYW5zaXRpb24gcHJvcGVydHkvZXZl
bnQgc25pZmZpbmdcbnZhciB0cmFuc2l0aW9uUHJvcCA9ICd0cmFuc2l0aW9uJztcbnZhciB0cmFu
c2l0aW9uRW5kRXZlbnQgPSAndHJhbnNpdGlvbmVuZCc7XG52YXIgYW5pbWF0aW9uUHJvcCA9ICdh
bmltYXRpb24nO1xudmFyIGFuaW1hdGlvbkVuZEV2ZW50ID0gJ2FuaW1hdGlvbmVuZCc7XG5pZiAo
aGFzVHJhbnNpdGlvbikge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKHdpbmRv
dy5vbnRyYW5zaXRpb25lbmQgPT09IHVuZGVmaW5lZCAmJlxuICAgIHdpbmRvdy5vbndlYmtpdHRy
YW5zaXRpb25lbmQgIT09IHVuZGVmaW5lZFxuICApIHtcbiAgICB0cmFuc2l0aW9uUHJvcCA9ICdX
ZWJraXRUcmFuc2l0aW9uJztcbiAgICB0cmFuc2l0aW9uRW5kRXZlbnQgPSAnd2Via2l0VHJhbnNp
dGlvbkVuZCc7XG4gIH1cbiAgaWYgKHdpbmRvdy5vbmFuaW1hdGlvbmVuZCA9PT0gdW5kZWZpbmVk
ICYmXG4gICAgd2luZG93Lm9ud2Via2l0YW5pbWF0aW9uZW5kICE9PSB1bmRlZmluZWRcbiAgKSB7
XG4gICAgYW5pbWF0aW9uUHJvcCA9ICdXZWJraXRBbmltYXRpb24nO1xuICAgIGFuaW1hdGlvbkVu
ZEV2ZW50ID0gJ3dlYmtpdEFuaW1hdGlvbkVuZCc7XG4gIH1cbn1cblxuLy8gYmluZGluZyB0byB3
aW5kb3cgaXMgbmVjZXNzYXJ5IHRvIG1ha2UgaG90IHJlbG9hZCB3b3JrIGluIElFIGluIHN0cmlj
dCBtb2RlXG52YXIgcmFmID0gaW5Ccm93c2VyICYmIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJh
bWVcbiAgPyB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lLmJpbmQod2luZG93KVxuICA6IHNl
dFRpbWVvdXQ7XG5cbmZ1bmN0aW9uIG5leHRGcmFtZSAoZm4pIHtcbiAgcmFmKGZ1bmN0aW9uICgp
IHtcbiAgICByYWYoZm4pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRkVHJhbnNpdGlvbkNsYXNz
IChlbCwgY2xzKSB7XG4gIHZhciB0cmFuc2l0aW9uQ2xhc3NlcyA9IGVsLl90cmFuc2l0aW9uQ2xh
c3NlcyB8fCAoZWwuX3RyYW5zaXRpb25DbGFzc2VzID0gW10pO1xuICBpZiAodHJhbnNpdGlvbkNs
YXNzZXMuaW5kZXhPZihjbHMpIDwgMCkge1xuICAgIHRyYW5zaXRpb25DbGFzc2VzLnB1c2goY2xz
KTtcbiAgICBhZGRDbGFzcyhlbCwgY2xzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZW1vdmVUcmFu
c2l0aW9uQ2xhc3MgKGVsLCBjbHMpIHtcbiAgaWYgKGVsLl90cmFuc2l0aW9uQ2xhc3Nlcykge1xu
ICAgIHJlbW92ZShlbC5fdHJhbnNpdGlvbkNsYXNzZXMsIGNscyk7XG4gIH1cbiAgcmVtb3ZlQ2xh
c3MoZWwsIGNscyk7XG59XG5cbmZ1bmN0aW9uIHdoZW5UcmFuc2l0aW9uRW5kcyAoXG4gIGVsLFxu
ICBleHBlY3RlZFR5cGUsXG4gIGNiXG4pIHtcbiAgdmFyIHJlZiA9IGdldFRyYW5zaXRpb25JbmZv
KGVsLCBleHBlY3RlZFR5cGUpO1xuICB2YXIgdHlwZSA9IHJlZi50eXBlO1xuICB2YXIgdGltZW91
dCA9IHJlZi50aW1lb3V0O1xuICB2YXIgcHJvcENvdW50ID0gcmVmLnByb3BDb3VudDtcbiAgaWYg
KCF0eXBlKSB7IHJldHVybiBjYigpIH1cbiAgdmFyIGV2ZW50ID0gdHlwZSA9PT0gVFJBTlNJVElP
TiA/IHRyYW5zaXRpb25FbmRFdmVudCA6IGFuaW1hdGlvbkVuZEV2ZW50O1xuICB2YXIgZW5kZWQg
PSAwO1xuICB2YXIgZW5kID0gZnVuY3Rpb24gKCkge1xuICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVu
ZXIoZXZlbnQsIG9uRW5kKTtcbiAgICBjYigpO1xuICB9O1xuICB2YXIgb25FbmQgPSBmdW5jdGlv
biAoZSkge1xuICAgIGlmIChlLnRhcmdldCA9PT0gZWwpIHtcbiAgICAgIGlmICgrK2VuZGVkID49
IHByb3BDb3VudCkge1xuICAgICAgICBlbmQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG4gIHNl
dFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgIGlmIChlbmRlZCA8IHByb3BDb3VudCkge1xuICAg
ICAgZW5kKCk7XG4gICAgfVxuICB9LCB0aW1lb3V0ICsgMSk7XG4gIGVsLmFkZEV2ZW50TGlzdGVu
ZXIoZXZlbnQsIG9uRW5kKTtcbn1cblxudmFyIHRyYW5zZm9ybVJFID0gL1xcYih0cmFuc2Zvcm18
YWxsKSgsfCQpLztcblxuZnVuY3Rpb24gZ2V0VHJhbnNpdGlvbkluZm8gKGVsLCBleHBlY3RlZFR5
cGUpIHtcbiAgdmFyIHN0eWxlcyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsKTtcbiAgdmFy
IHRyYW5zaXRpb25EZWxheXMgPSBzdHlsZXNbdHJhbnNpdGlvblByb3AgKyAnRGVsYXknXS5zcGxp
dCgnLCAnKTtcbiAgdmFyIHRyYW5zaXRpb25EdXJhdGlvbnMgPSBzdHlsZXNbdHJhbnNpdGlvblBy
b3AgKyAnRHVyYXRpb24nXS5zcGxpdCgnLCAnKTtcbiAgdmFyIHRyYW5zaXRpb25UaW1lb3V0ID0g
Z2V0VGltZW91dCh0cmFuc2l0aW9uRGVsYXlzLCB0cmFuc2l0aW9uRHVyYXRpb25zKTtcbiAgdmFy
IGFuaW1hdGlvbkRlbGF5cyA9IHN0eWxlc1thbmltYXRpb25Qcm9wICsgJ0RlbGF5J10uc3BsaXQo
JywgJyk7XG4gIHZhciBhbmltYXRpb25EdXJhdGlvbnMgPSBzdHlsZXNbYW5pbWF0aW9uUHJvcCAr
ICdEdXJhdGlvbiddLnNwbGl0KCcsICcpO1xuICB2YXIgYW5pbWF0aW9uVGltZW91dCA9IGdldFRp
bWVvdXQoYW5pbWF0aW9uRGVsYXlzLCBhbmltYXRpb25EdXJhdGlvbnMpO1xuXG4gIHZhciB0eXBl
O1xuICB2YXIgdGltZW91dCA9IDA7XG4gIHZhciBwcm9wQ291bnQgPSAwO1xuICAvKiBpc3RhbmJ1
bCBpZ25vcmUgaWYgKi9cbiAgaWYgKGV4cGVjdGVkVHlwZSA9PT0gVFJBTlNJVElPTikge1xuICAg
IGlmICh0cmFuc2l0aW9uVGltZW91dCA+IDApIHtcbiAgICAgIHR5cGUgPSBUUkFOU0lUSU9OO1xu
ICAgICAgdGltZW91dCA9IHRyYW5zaXRpb25UaW1lb3V0O1xuICAgICAgcHJvcENvdW50ID0gdHJh
bnNpdGlvbkR1cmF0aW9ucy5sZW5ndGg7XG4gICAgfVxuICB9IGVsc2UgaWYgKGV4cGVjdGVkVHlw
ZSA9PT0gQU5JTUFUSU9OKSB7XG4gICAgaWYgKGFuaW1hdGlvblRpbWVvdXQgPiAwKSB7XG4gICAg
ICB0eXBlID0gQU5JTUFUSU9OO1xuICAgICAgdGltZW91dCA9IGFuaW1hdGlvblRpbWVvdXQ7XG4g
ICAgICBwcm9wQ291bnQgPSBhbmltYXRpb25EdXJhdGlvbnMubGVuZ3RoO1xuICAgIH1cbiAgfSBl
bHNlIHtcbiAgICB0aW1lb3V0ID0gTWF0aC5tYXgodHJhbnNpdGlvblRpbWVvdXQsIGFuaW1hdGlv
blRpbWVvdXQpO1xuICAgIHR5cGUgPSB0aW1lb3V0ID4gMFxuICAgICAgPyB0cmFuc2l0aW9uVGlt
ZW91dCA+IGFuaW1hdGlvblRpbWVvdXRcbiAgICAgICAgPyBUUkFOU0lUSU9OXG4gICAgICAgIDog
QU5JTUFUSU9OXG4gICAgICA6IG51bGw7XG4gICAgcHJvcENvdW50ID0gdHlwZVxuICAgICAgPyB0
eXBlID09PSBUUkFOU0lUSU9OXG4gICAgICAgID8gdHJhbnNpdGlvbkR1cmF0aW9ucy5sZW5ndGhc
biAgICAgICAgOiBhbmltYXRpb25EdXJhdGlvbnMubGVuZ3RoXG4gICAgICA6IDA7XG4gIH1cbiAg
dmFyIGhhc1RyYW5zZm9ybSA9XG4gICAgdHlwZSA9PT0gVFJBTlNJVElPTiAmJlxuICAgIHRyYW5z
Zm9ybVJFLnRlc3Qoc3R5bGVzW3RyYW5zaXRpb25Qcm9wICsgJ1Byb3BlcnR5J10pO1xuICByZXR1
cm4ge1xuICAgIHR5cGU6IHR5cGUsXG4gICAgdGltZW91dDogdGltZW91dCxcbiAgICBwcm9wQ291
bnQ6IHByb3BDb3VudCxcbiAgICBoYXNUcmFuc2Zvcm06IGhhc1RyYW5zZm9ybVxuICB9XG59XG5c
bmZ1bmN0aW9uIGdldFRpbWVvdXQgKGRlbGF5cywgZHVyYXRpb25zKSB7XG4gIC8qIGlzdGFuYnVs
IGlnbm9yZSBuZXh0ICovXG4gIHdoaWxlIChkZWxheXMubGVuZ3RoIDwgZHVyYXRpb25zLmxlbmd0
aCkge1xuICAgIGRlbGF5cyA9IGRlbGF5cy5jb25jYXQoZGVsYXlzKTtcbiAgfVxuXG4gIHJldHVy
biBNYXRoLm1heC5hcHBseShudWxsLCBkdXJhdGlvbnMubWFwKGZ1bmN0aW9uIChkLCBpKSB7XG4g
ICAgcmV0dXJuIHRvTXMoZCkgKyB0b01zKGRlbGF5c1tpXSlcbiAgfSkpXG59XG5cbmZ1bmN0aW9u
IHRvTXMgKHMpIHtcbiAgcmV0dXJuIE51bWJlcihzLnNsaWNlKDAsIC0xKSkgKiAxMDAwXG59XG5c
bi8qICAqL1xuXG5mdW5jdGlvbiBlbnRlciAodm5vZGUsIHRvZ2dsZURpc3BsYXkpIHtcbiAgdmFy
IGVsID0gdm5vZGUuZWxtO1xuXG4gIC8vIGNhbGwgbGVhdmUgY2FsbGJhY2sgbm93XG4gIGlmIChp
c0RlZihlbC5fbGVhdmVDYikpIHtcbiAgICBlbC5fbGVhdmVDYi5jYW5jZWxsZWQgPSB0cnVlO1xu
ICAgIGVsLl9sZWF2ZUNiKCk7XG4gIH1cblxuICB2YXIgZGF0YSA9IHJlc29sdmVUcmFuc2l0aW9u
KHZub2RlLmRhdGEudHJhbnNpdGlvbik7XG4gIGlmIChpc1VuZGVmKGRhdGEpKSB7XG4gICAgcmV0
dXJuXG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKGlzRGVmKGVsLl9l
bnRlckNiKSB8fCBlbC5ub2RlVHlwZSAhPT0gMSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgdmFy
IGNzcyA9IGRhdGEuY3NzO1xuICB2YXIgdHlwZSA9IGRhdGEudHlwZTtcbiAgdmFyIGVudGVyQ2xh
c3MgPSBkYXRhLmVudGVyQ2xhc3M7XG4gIHZhciBlbnRlclRvQ2xhc3MgPSBkYXRhLmVudGVyVG9D
bGFzcztcbiAgdmFyIGVudGVyQWN0aXZlQ2xhc3MgPSBkYXRhLmVudGVyQWN0aXZlQ2xhc3M7XG4g
IHZhciBhcHBlYXJDbGFzcyA9IGRhdGEuYXBwZWFyQ2xhc3M7XG4gIHZhciBhcHBlYXJUb0NsYXNz
ID0gZGF0YS5hcHBlYXJUb0NsYXNzO1xuICB2YXIgYXBwZWFyQWN0aXZlQ2xhc3MgPSBkYXRhLmFw
cGVhckFjdGl2ZUNsYXNzO1xuICB2YXIgYmVmb3JlRW50ZXIgPSBkYXRhLmJlZm9yZUVudGVyO1xu
ICB2YXIgZW50ZXIgPSBkYXRhLmVudGVyO1xuICB2YXIgYWZ0ZXJFbnRlciA9IGRhdGEuYWZ0ZXJF
bnRlcjtcbiAgdmFyIGVudGVyQ2FuY2VsbGVkID0gZGF0YS5lbnRlckNhbmNlbGxlZDtcbiAgdmFy
IGJlZm9yZUFwcGVhciA9IGRhdGEuYmVmb3JlQXBwZWFyO1xuICB2YXIgYXBwZWFyID0gZGF0YS5h
cHBlYXI7XG4gIHZhciBhZnRlckFwcGVhciA9IGRhdGEuYWZ0ZXJBcHBlYXI7XG4gIHZhciBhcHBl
YXJDYW5jZWxsZWQgPSBkYXRhLmFwcGVhckNhbmNlbGxlZDtcbiAgdmFyIGR1cmF0aW9uID0gZGF0
YS5kdXJhdGlvbjtcblxuICAvLyBhY3RpdmVJbnN0YW5jZSB3aWxsIGFsd2F5cyBiZSB0aGUgPHRy
YW5zaXRpb24+IGNvbXBvbmVudCBtYW5hZ2luZyB0aGlzXG4gIC8vIHRyYW5zaXRpb24uIE9uZSBl
ZGdlIGNhc2UgdG8gY2hlY2sgaXMgd2hlbiB0aGUgPHRyYW5zaXRpb24+IGlzIHBsYWNlZFxuICAv
LyBhcyB0aGUgcm9vdCBub2RlIG9mIGEgY2hpbGQgY29tcG9uZW50LiBJbiB0aGF0IGNhc2Ugd2Ug
bmVlZCB0byBjaGVja1xuICAvLyA8dHJhbnNpdGlvbj4ncyBwYXJlbnQgZm9yIGFwcGVhciBjaGVj
ay5cbiAgdmFyIGNvbnRleHQgPSBhY3RpdmVJbnN0YW5jZTtcbiAgdmFyIHRyYW5zaXRpb25Ob2Rl
ID0gYWN0aXZlSW5zdGFuY2UuJHZub2RlO1xuICB3aGlsZSAodHJhbnNpdGlvbk5vZGUgJiYgdHJh
bnNpdGlvbk5vZGUucGFyZW50KSB7XG4gICAgdHJhbnNpdGlvbk5vZGUgPSB0cmFuc2l0aW9uTm9k
ZS5wYXJlbnQ7XG4gICAgY29udGV4dCA9IHRyYW5zaXRpb25Ob2RlLmNvbnRleHQ7XG4gIH1cblxu
ICB2YXIgaXNBcHBlYXIgPSAhY29udGV4dC5faXNNb3VudGVkIHx8ICF2bm9kZS5pc1Jvb3RJbnNl
cnQ7XG5cbiAgaWYgKGlzQXBwZWFyICYmICFhcHBlYXIgJiYgYXBwZWFyICE9PSAnJykge1xuICAg
IHJldHVyblxuICB9XG5cbiAgdmFyIHN0YXJ0Q2xhc3MgPSBpc0FwcGVhciAmJiBhcHBlYXJDbGFz
c1xuICAgID8gYXBwZWFyQ2xhc3NcbiAgICA6IGVudGVyQ2xhc3M7XG4gIHZhciBhY3RpdmVDbGFz
cyA9IGlzQXBwZWFyICYmIGFwcGVhckFjdGl2ZUNsYXNzXG4gICAgPyBhcHBlYXJBY3RpdmVDbGFz
c1xuICAgIDogZW50ZXJBY3RpdmVDbGFzcztcbiAgdmFyIHRvQ2xhc3MgPSBpc0FwcGVhciAmJiBh
cHBlYXJUb0NsYXNzXG4gICAgPyBhcHBlYXJUb0NsYXNzXG4gICAgOiBlbnRlclRvQ2xhc3M7XG5c
biAgdmFyIGJlZm9yZUVudGVySG9vayA9IGlzQXBwZWFyXG4gICAgPyAoYmVmb3JlQXBwZWFyIHx8
IGJlZm9yZUVudGVyKVxuICAgIDogYmVmb3JlRW50ZXI7XG4gIHZhciBlbnRlckhvb2sgPSBpc0Fw
cGVhclxuICAgID8gKHR5cGVvZiBhcHBlYXIgPT09ICdmdW5jdGlvbicgPyBhcHBlYXIgOiBlbnRl
cilcbiAgICA6IGVudGVyO1xuICB2YXIgYWZ0ZXJFbnRlckhvb2sgPSBpc0FwcGVhclxuICAgID8g
KGFmdGVyQXBwZWFyIHx8IGFmdGVyRW50ZXIpXG4gICAgOiBhZnRlckVudGVyO1xuICB2YXIgZW50
ZXJDYW5jZWxsZWRIb29rID0gaXNBcHBlYXJcbiAgICA/IChhcHBlYXJDYW5jZWxsZWQgfHwgZW50
ZXJDYW5jZWxsZWQpXG4gICAgOiBlbnRlckNhbmNlbGxlZDtcblxuICB2YXIgZXhwbGljaXRFbnRl
ckR1cmF0aW9uID0gdG9OdW1iZXIoXG4gICAgaXNPYmplY3QoZHVyYXRpb24pXG4gICAgICA/IGR1
cmF0aW9uLmVudGVyXG4gICAgICA6IGR1cmF0aW9uXG4gICk7XG5cbiAgaWYgKGZhbHNlKSB7XG4g
ICAgY2hlY2tEdXJhdGlvbihleHBsaWNpdEVudGVyRHVyYXRpb24sICdlbnRlcicsIHZub2RlKTtc
biAgfVxuXG4gIHZhciBleHBlY3RzQ1NTID0gY3NzICE9PSBmYWxzZSAmJiAhaXNJRTk7XG4gIHZh
ciB1c2VyV2FudHNDb250cm9sID0gZ2V0SG9va0FyZ3VtZW50c0xlbmd0aChlbnRlckhvb2spO1xu
XG4gIHZhciBjYiA9IGVsLl9lbnRlckNiID0gb25jZShmdW5jdGlvbiAoKSB7XG4gICAgaWYgKGV4
cGVjdHNDU1MpIHtcbiAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgdG9DbGFzcyk7XG4g
ICAgICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIGFjdGl2ZUNsYXNzKTtcbiAgICB9XG4gICAg
aWYgKGNiLmNhbmNlbGxlZCkge1xuICAgICAgaWYgKGV4cGVjdHNDU1MpIHtcbiAgICAgICAgcmVt
b3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBzdGFydENsYXNzKTtcbiAgICAgIH1cbiAgICAgIGVudGVy
Q2FuY2VsbGVkSG9vayAmJiBlbnRlckNhbmNlbGxlZEhvb2soZWwpO1xuICAgIH0gZWxzZSB7XG4g
ICAgICBhZnRlckVudGVySG9vayAmJiBhZnRlckVudGVySG9vayhlbCk7XG4gICAgfVxuICAgIGVs
Ll9lbnRlckNiID0gbnVsbDtcbiAgfSk7XG5cbiAgaWYgKCF2bm9kZS5kYXRhLnNob3cpIHtcbiAg
ICAvLyByZW1vdmUgcGVuZGluZyBsZWF2ZSBlbGVtZW50IG9uIGVudGVyIGJ5IGluamVjdGluZyBh
biBpbnNlcnQgaG9va1xuICAgIG1lcmdlVk5vZGVIb29rKHZub2RlLmRhdGEuaG9vayB8fCAodm5v
ZGUuZGF0YS5ob29rID0ge30pLCAnaW5zZXJ0JywgZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIHBh
cmVudCA9IGVsLnBhcmVudE5vZGU7XG4gICAgICB2YXIgcGVuZGluZ05vZGUgPSBwYXJlbnQgJiYg
cGFyZW50Ll9wZW5kaW5nICYmIHBhcmVudC5fcGVuZGluZ1t2bm9kZS5rZXldO1xuICAgICAgaWYg
KHBlbmRpbmdOb2RlICYmXG4gICAgICAgIHBlbmRpbmdOb2RlLnRhZyA9PT0gdm5vZGUudGFnICYm
XG4gICAgICAgIHBlbmRpbmdOb2RlLmVsbS5fbGVhdmVDYlxuICAgICAgKSB7XG4gICAgICAgIHBl
bmRpbmdOb2RlLmVsbS5fbGVhdmVDYigpO1xuICAgICAgfVxuICAgICAgZW50ZXJIb29rICYmIGVu
dGVySG9vayhlbCwgY2IpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gc3RhcnQgZW50ZXIgdHJhbnNp
dGlvblxuICBiZWZvcmVFbnRlckhvb2sgJiYgYmVmb3JlRW50ZXJIb29rKGVsKTtcbiAgaWYgKGV4
cGVjdHNDU1MpIHtcbiAgICBhZGRUcmFuc2l0aW9uQ2xhc3MoZWwsIHN0YXJ0Q2xhc3MpO1xuICAg
IGFkZFRyYW5zaXRpb25DbGFzcyhlbCwgYWN0aXZlQ2xhc3MpO1xuICAgIG5leHRGcmFtZShmdW5j
dGlvbiAoKSB7XG4gICAgICBhZGRUcmFuc2l0aW9uQ2xhc3MoZWwsIHRvQ2xhc3MpO1xuICAgICAg
cmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBzdGFydENsYXNzKTtcbiAgICAgIGlmICghY2IuY2Fu
Y2VsbGVkICYmICF1c2VyV2FudHNDb250cm9sKSB7XG4gICAgICAgIGlmIChpc1ZhbGlkRHVyYXRp
b24oZXhwbGljaXRFbnRlckR1cmF0aW9uKSkge1xuICAgICAgICAgIHNldFRpbWVvdXQoY2IsIGV4
cGxpY2l0RW50ZXJEdXJhdGlvbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgd2hlblRy
YW5zaXRpb25FbmRzKGVsLCB0eXBlLCBjYik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtc
biAgfVxuXG4gIGlmICh2bm9kZS5kYXRhLnNob3cpIHtcbiAgICB0b2dnbGVEaXNwbGF5ICYmIHRv
Z2dsZURpc3BsYXkoKTtcbiAgICBlbnRlckhvb2sgJiYgZW50ZXJIb29rKGVsLCBjYik7XG4gIH1c
blxuICBpZiAoIWV4cGVjdHNDU1MgJiYgIXVzZXJXYW50c0NvbnRyb2wpIHtcbiAgICBjYigpO1xu
ICB9XG59XG5cbmZ1bmN0aW9uIGxlYXZlICh2bm9kZSwgcm0pIHtcbiAgdmFyIGVsID0gdm5vZGUu
ZWxtO1xuXG4gIC8vIGNhbGwgZW50ZXIgY2FsbGJhY2sgbm93XG4gIGlmIChpc0RlZihlbC5fZW50
ZXJDYikpIHtcbiAgICBlbC5fZW50ZXJDYi5jYW5jZWxsZWQgPSB0cnVlO1xuICAgIGVsLl9lbnRl
ckNiKCk7XG4gIH1cblxuICB2YXIgZGF0YSA9IHJlc29sdmVUcmFuc2l0aW9uKHZub2RlLmRhdGEu
dHJhbnNpdGlvbik7XG4gIGlmIChpc1VuZGVmKGRhdGEpKSB7XG4gICAgcmV0dXJuIHJtKClcbiAg
fVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoaXNEZWYoZWwuX2xlYXZlQ2Ip
IHx8IGVsLm5vZGVUeXBlICE9PSAxKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICB2YXIgY3NzID0g
ZGF0YS5jc3M7XG4gIHZhciB0eXBlID0gZGF0YS50eXBlO1xuICB2YXIgbGVhdmVDbGFzcyA9IGRh
dGEubGVhdmVDbGFzcztcbiAgdmFyIGxlYXZlVG9DbGFzcyA9IGRhdGEubGVhdmVUb0NsYXNzO1xu
ICB2YXIgbGVhdmVBY3RpdmVDbGFzcyA9IGRhdGEubGVhdmVBY3RpdmVDbGFzcztcbiAgdmFyIGJl
Zm9yZUxlYXZlID0gZGF0YS5iZWZvcmVMZWF2ZTtcbiAgdmFyIGxlYXZlID0gZGF0YS5sZWF2ZTtc
biAgdmFyIGFmdGVyTGVhdmUgPSBkYXRhLmFmdGVyTGVhdmU7XG4gIHZhciBsZWF2ZUNhbmNlbGxl
ZCA9IGRhdGEubGVhdmVDYW5jZWxsZWQ7XG4gIHZhciBkZWxheUxlYXZlID0gZGF0YS5kZWxheUxl
YXZlO1xuICB2YXIgZHVyYXRpb24gPSBkYXRhLmR1cmF0aW9uO1xuXG4gIHZhciBleHBlY3RzQ1NT
ID0gY3NzICE9PSBmYWxzZSAmJiAhaXNJRTk7XG4gIHZhciB1c2VyV2FudHNDb250cm9sID0gZ2V0
SG9va0FyZ3VtZW50c0xlbmd0aChsZWF2ZSk7XG5cbiAgdmFyIGV4cGxpY2l0TGVhdmVEdXJhdGlv
biA9IHRvTnVtYmVyKFxuICAgIGlzT2JqZWN0KGR1cmF0aW9uKVxuICAgICAgPyBkdXJhdGlvbi5s
ZWF2ZVxuICAgICAgOiBkdXJhdGlvblxuICApO1xuXG4gIGlmIChmYWxzZSkge1xuICAgIGNoZWNr
RHVyYXRpb24oZXhwbGljaXRMZWF2ZUR1cmF0aW9uLCAnbGVhdmUnLCB2bm9kZSk7XG4gIH1cblxu
ICB2YXIgY2IgPSBlbC5fbGVhdmVDYiA9IG9uY2UoZnVuY3Rpb24gKCkge1xuICAgIGlmIChlbC5w
YXJlbnROb2RlICYmIGVsLnBhcmVudE5vZGUuX3BlbmRpbmcpIHtcbiAgICAgIGVsLnBhcmVudE5v
ZGUuX3BlbmRpbmdbdm5vZGUua2V5XSA9IG51bGw7XG4gICAgfVxuICAgIGlmIChleHBlY3RzQ1NT
KSB7XG4gICAgICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIGxlYXZlVG9DbGFzcyk7XG4gICAg
ICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIGxlYXZlQWN0aXZlQ2xhc3MpO1xuICAgIH1cbiAg
ICBpZiAoY2IuY2FuY2VsbGVkKSB7XG4gICAgICBpZiAoZXhwZWN0c0NTUykge1xuICAgICAgICBy
ZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIGxlYXZlQ2xhc3MpO1xuICAgICAgfVxuICAgICAgbGVh
dmVDYW5jZWxsZWQgJiYgbGVhdmVDYW5jZWxsZWQoZWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBy
bSgpO1xuICAgICAgYWZ0ZXJMZWF2ZSAmJiBhZnRlckxlYXZlKGVsKTtcbiAgICB9XG4gICAgZWwu
X2xlYXZlQ2IgPSBudWxsO1xuICB9KTtcblxuICBpZiAoZGVsYXlMZWF2ZSkge1xuICAgIGRlbGF5
TGVhdmUocGVyZm9ybUxlYXZlKTtcbiAgfSBlbHNlIHtcbiAgICBwZXJmb3JtTGVhdmUoKTtcbiAg
fVxuXG4gIGZ1bmN0aW9uIHBlcmZvcm1MZWF2ZSAoKSB7XG4gICAgLy8gdGhlIGRlbGF5ZWQgbGVh
dmUgbWF5IGhhdmUgYWxyZWFkeSBiZWVuIGNhbmNlbGxlZFxuICAgIGlmIChjYi5jYW5jZWxsZWQp
IHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICAvLyByZWNvcmQgbGVhdmluZyBlbGVtZW50XG4g
ICAgaWYgKCF2bm9kZS5kYXRhLnNob3cpIHtcbiAgICAgIChlbC5wYXJlbnROb2RlLl9wZW5kaW5n
IHx8IChlbC5wYXJlbnROb2RlLl9wZW5kaW5nID0ge30pKVsodm5vZGUua2V5KV0gPSB2bm9kZTtc
biAgICB9XG4gICAgYmVmb3JlTGVhdmUgJiYgYmVmb3JlTGVhdmUoZWwpO1xuICAgIGlmIChleHBl
Y3RzQ1NTKSB7XG4gICAgICBhZGRUcmFuc2l0aW9uQ2xhc3MoZWwsIGxlYXZlQ2xhc3MpO1xuICAg
ICAgYWRkVHJhbnNpdGlvbkNsYXNzKGVsLCBsZWF2ZUFjdGl2ZUNsYXNzKTtcbiAgICAgIG5leHRG
cmFtZShmdW5jdGlvbiAoKSB7XG4gICAgICAgIGFkZFRyYW5zaXRpb25DbGFzcyhlbCwgbGVhdmVU
b0NsYXNzKTtcbiAgICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBsZWF2ZUNsYXNzKTtc
biAgICAgICAgaWYgKCFjYi5jYW5jZWxsZWQgJiYgIXVzZXJXYW50c0NvbnRyb2wpIHtcbiAgICAg
ICAgICBpZiAoaXNWYWxpZER1cmF0aW9uKGV4cGxpY2l0TGVhdmVEdXJhdGlvbikpIHtcbiAgICAg
ICAgICAgIHNldFRpbWVvdXQoY2IsIGV4cGxpY2l0TGVhdmVEdXJhdGlvbik7XG4gICAgICAgICAg
fSBlbHNlIHtcbiAgICAgICAgICAgIHdoZW5UcmFuc2l0aW9uRW5kcyhlbCwgdHlwZSwgY2IpO1xu
ICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIGxlYXZlICYmIGxl
YXZlKGVsLCBjYik7XG4gICAgaWYgKCFleHBlY3RzQ1NTICYmICF1c2VyV2FudHNDb250cm9sKSB7
XG4gICAgICBjYigpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBvbmx5IHVzZWQgaW4gZGV2IG1vZGVc
bmZ1bmN0aW9uIGNoZWNrRHVyYXRpb24gKHZhbCwgbmFtZSwgdm5vZGUpIHtcbiAgaWYgKHR5cGVv
ZiB2YWwgIT09ICdudW1iZXInKSB7XG4gICAgd2FybihcbiAgICAgIFwiPHRyYW5zaXRpb24+IGV4
cGxpY2l0IFwiICsgbmFtZSArIFwiIGR1cmF0aW9uIGlzIG5vdCBhIHZhbGlkIG51bWJlciAtIFwi
ICtcbiAgICAgIFwiZ290IFwiICsgKEpTT04uc3RyaW5naWZ5KHZhbCkpICsgXCIuXCIsXG4gICAg
ICB2bm9kZS5jb250ZXh0XG4gICAgKTtcbiAgfSBlbHNlIGlmIChpc05hTih2YWwpKSB7XG4gICAg
d2FybihcbiAgICAgIFwiPHRyYW5zaXRpb24+IGV4cGxpY2l0IFwiICsgbmFtZSArIFwiIGR1cmF0
aW9uIGlzIE5hTiAtIFwiICtcbiAgICAgICd0aGUgZHVyYXRpb24gZXhwcmVzc2lvbiBtaWdodCBi
ZSBpbmNvcnJlY3QuJyxcbiAgICAgIHZub2RlLmNvbnRleHRcbiAgICApO1xuICB9XG59XG5cbmZ1
bmN0aW9uIGlzVmFsaWREdXJhdGlvbiAodmFsKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsID09PSAn
bnVtYmVyJyAmJiAhaXNOYU4odmFsKVxufVxuXG4vKipcbiAqIE5vcm1hbGl6ZSBhIHRyYW5zaXRp
b24gaG9vaydzIGFyZ3VtZW50IGxlbmd0aC4gVGhlIGhvb2sgbWF5IGJlOlxuICogLSBhIG1lcmdl
ZCBob29rIChpbnZva2VyKSB3aXRoIHRoZSBvcmlnaW5hbCBpbiAuZm5zXG4gKiAtIGEgd3JhcHBl
ZCBjb21wb25lbnQgbWV0aG9kIChjaGVjayAuX2xlbmd0aClcbiAqIC0gYSBwbGFpbiBmdW5jdGlv
biAoLmxlbmd0aClcbiAqL1xuZnVuY3Rpb24gZ2V0SG9va0FyZ3VtZW50c0xlbmd0aCAoZm4pIHtc
biAgaWYgKGlzVW5kZWYoZm4pKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgdmFyIGludm9r
ZXJGbnMgPSBmbi5mbnM7XG4gIGlmIChpc0RlZihpbnZva2VyRm5zKSkge1xuICAgIC8vIGludm9r
ZXJcbiAgICByZXR1cm4gZ2V0SG9va0FyZ3VtZW50c0xlbmd0aChcbiAgICAgIEFycmF5LmlzQXJy
YXkoaW52b2tlckZucylcbiAgICAgICAgPyBpbnZva2VyRm5zWzBdXG4gICAgICAgIDogaW52b2tl
ckZuc1xuICAgIClcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gKGZuLl9sZW5ndGggfHwgZm4ubGVu
Z3RoKSA+IDFcbiAgfVxufVxuXG5mdW5jdGlvbiBfZW50ZXIgKF8sIHZub2RlKSB7XG4gIGlmICh2
bm9kZS5kYXRhLnNob3cgIT09IHRydWUpIHtcbiAgICBlbnRlcih2bm9kZSk7XG4gIH1cbn1cblxu
dmFyIHRyYW5zaXRpb24gPSBpbkJyb3dzZXIgPyB7XG4gIGNyZWF0ZTogX2VudGVyLFxuICBhY3Rp
dmF0ZTogX2VudGVyLFxuICByZW1vdmU6IGZ1bmN0aW9uIHJlbW92ZSQkMSAodm5vZGUsIHJtKSB7
XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodm5vZGUuZGF0YS5zaG93
ICE9PSB0cnVlKSB7XG4gICAgICBsZWF2ZSh2bm9kZSwgcm0pO1xuICAgIH0gZWxzZSB7XG4gICAg
ICBybSgpO1xuICAgIH1cbiAgfVxufSA6IHt9O1xuXG52YXIgcGxhdGZvcm1Nb2R1bGVzID0gW1xu
ICBhdHRycyxcbiAga2xhc3MsXG4gIGV2ZW50cyxcbiAgZG9tUHJvcHMsXG4gIHN0eWxlLFxuICB0
cmFuc2l0aW9uXG5dO1xuXG4vKiAgKi9cblxuLy8gdGhlIGRpcmVjdGl2ZSBtb2R1bGUgc2hvdWxk
IGJlIGFwcGxpZWQgbGFzdCwgYWZ0ZXIgYWxsXG4vLyBidWlsdC1pbiBtb2R1bGVzIGhhdmUgYmVl
biBhcHBsaWVkLlxudmFyIG1vZHVsZXMgPSBwbGF0Zm9ybU1vZHVsZXMuY29uY2F0KGJhc2VNb2R1
bGVzKTtcblxudmFyIHBhdGNoID0gY3JlYXRlUGF0Y2hGdW5jdGlvbih7IG5vZGVPcHM6IG5vZGVP
cHMsIG1vZHVsZXM6IG1vZHVsZXMgfSk7XG5cbi8qKlxuICogTm90IHR5cGUgY2hlY2tpbmcgdGhp
cyBmaWxlIGJlY2F1c2UgZmxvdyBkb2Vzbid0IGxpa2UgYXR0YWNoaW5nXG4gKiBwcm9wZXJ0aWVz
IHRvIEVsZW1lbnRzLlxuICovXG5cbnZhciBpc1RleHRJbnB1dFR5cGUgPSBtYWtlTWFwKCd0ZXh0
LG51bWJlcixwYXNzd29yZCxzZWFyY2gsZW1haWwsdGVsLHVybCcpO1xuXG4vKiBpc3RhbmJ1bCBp
Z25vcmUgaWYgKi9cbmlmIChpc0lFOSkge1xuICAvLyBodHRwOi8vd3d3Lm1hdHRzNDExLmNvbS9w
b3N0L2ludGVybmV0LWV4cGxvcmVyLTktb25pbnB1dC9cbiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0
ZW5lcignc2VsZWN0aW9uY2hhbmdlJywgZnVuY3Rpb24gKCkge1xuICAgIHZhciBlbCA9IGRvY3Vt
ZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKGVsICYmIGVsLnZtb2RlbCkge1xuICAgICAgdHJp
Z2dlcihlbCwgJ2lucHV0Jyk7XG4gICAgfVxuICB9KTtcbn1cblxudmFyIG1vZGVsJDEgPSB7XG4g
IGluc2VydGVkOiBmdW5jdGlvbiBpbnNlcnRlZCAoZWwsIGJpbmRpbmcsIHZub2RlKSB7XG4gICAg
aWYgKHZub2RlLnRhZyA9PT0gJ3NlbGVjdCcpIHtcbiAgICAgIHZhciBjYiA9IGZ1bmN0aW9uICgp
IHtcbiAgICAgICAgc2V0U2VsZWN0ZWQoZWwsIGJpbmRpbmcsIHZub2RlLmNvbnRleHQpO1xuICAg
ICAgfTtcbiAgICAgIGNiKCk7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAg
IGlmIChpc0lFIHx8IGlzRWRnZSkge1xuICAgICAgICBzZXRUaW1lb3V0KGNiLCAwKTtcbiAgICAg
IH1cbiAgICAgIGVsLl92T3B0aW9ucyA9IFtdLm1hcC5jYWxsKGVsLm9wdGlvbnMsIGdldFZhbHVl
KTtcbiAgICB9IGVsc2UgaWYgKHZub2RlLnRhZyA9PT0gJ3RleHRhcmVhJyB8fCBpc1RleHRJbnB1
dFR5cGUoZWwudHlwZSkpIHtcbiAgICAgIGVsLl92TW9kaWZpZXJzID0gYmluZGluZy5tb2RpZmll
cnM7XG4gICAgICBpZiAoIWJpbmRpbmcubW9kaWZpZXJzLmxhenkpIHtcbiAgICAgICAgLy8gU2Fm
YXJpIDwgMTAuMiAmIFVJV2ViVmlldyBkb2Vzbid0IGZpcmUgY29tcG9zaXRpb25lbmQgd2hlblxu
ICAgICAgICAvLyBzd2l0Y2hpbmcgZm9jdXMgYmVmb3JlIGNvbmZpcm1pbmcgY29tcG9zaXRpb24g
Y2hvaWNlXG4gICAgICAgIC8vIHRoaXMgYWxzbyBmaXhlcyB0aGUgaXNzdWUgd2hlcmUgc29tZSBi
cm93c2VycyBlLmcuIGlPUyBDaHJvbWVcbiAgICAgICAgLy8gZmlyZXMgXCJjaGFuZ2VcIiBpbnN0
ZWFkIG9mIFwiaW5wdXRcIiBvbiBhdXRvY29tcGxldGUuXG4gICAgICAgIGVsLmFkZEV2ZW50TGlz
dGVuZXIoJ2NoYW5nZScsIG9uQ29tcG9zaXRpb25FbmQpO1xuICAgICAgICBpZiAoIWlzQW5kcm9p
ZCkge1xuICAgICAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NvbXBvc2l0aW9uc3RhcnQnLCBv
bkNvbXBvc2l0aW9uU3RhcnQpO1xuICAgICAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NvbXBv
c2l0aW9uZW5kJywgb25Db21wb3NpdGlvbkVuZCk7XG4gICAgICAgIH1cbiAgICAgICAgLyogaXN0
YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgIGlmIChpc0lFOSkge1xuICAgICAgICAgIGVsLnZt
b2RlbCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIGNvbXBvbmVu
dFVwZGF0ZWQ6IGZ1bmN0aW9uIGNvbXBvbmVudFVwZGF0ZWQgKGVsLCBiaW5kaW5nLCB2bm9kZSkg
e1xuICAgIGlmICh2bm9kZS50YWcgPT09ICdzZWxlY3QnKSB7XG4gICAgICBzZXRTZWxlY3RlZChl
bCwgYmluZGluZywgdm5vZGUuY29udGV4dCk7XG4gICAgICAvLyBpbiBjYXNlIHRoZSBvcHRpb25z
IHJlbmRlcmVkIGJ5IHYtZm9yIGhhdmUgY2hhbmdlZCxcbiAgICAgIC8vIGl0J3MgcG9zc2libGUg
dGhhdCB0aGUgdmFsdWUgaXMgb3V0LW9mLXN5bmMgd2l0aCB0aGUgcmVuZGVyZWQgb3B0aW9ucy5c
biAgICAgIC8vIGRldGVjdCBzdWNoIGNhc2VzIGFuZCBmaWx0ZXIgb3V0IHZhbHVlcyB0aGF0IG5v
IGxvbmdlciBoYXMgYSBtYXRjaGluZ1xuICAgICAgLy8gb3B0aW9uIGluIHRoZSBET00uXG4gICAg
ICB2YXIgcHJldk9wdGlvbnMgPSBlbC5fdk9wdGlvbnM7XG4gICAgICB2YXIgY3VyT3B0aW9ucyA9
IGVsLl92T3B0aW9ucyA9IFtdLm1hcC5jYWxsKGVsLm9wdGlvbnMsIGdldFZhbHVlKTtcbiAgICAg
IGlmIChjdXJPcHRpb25zLnNvbWUoZnVuY3Rpb24gKG8sIGkpIHsgcmV0dXJuICFsb29zZUVxdWFs
KG8sIHByZXZPcHRpb25zW2ldKTsgfSkpIHtcbiAgICAgICAgdHJpZ2dlcihlbCwgJ2NoYW5nZScp
O1xuICAgICAgfVxuICAgIH1cbiAgfVxufTtcblxuZnVuY3Rpb24gc2V0U2VsZWN0ZWQgKGVsLCBi
aW5kaW5nLCB2bSkge1xuICB2YXIgdmFsdWUgPSBiaW5kaW5nLnZhbHVlO1xuICB2YXIgaXNNdWx0
aXBsZSA9IGVsLm11bHRpcGxlO1xuICBpZiAoaXNNdWx0aXBsZSAmJiAhQXJyYXkuaXNBcnJheSh2
YWx1ZSkpIHtcbiAgICBcInByb2R1Y3Rpb25cIiAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4oXG4g
ICAgICBcIjxzZWxlY3QgbXVsdGlwbGUgdi1tb2RlbD1cXFwiXCIgKyAoYmluZGluZy5leHByZXNz
aW9uKSArIFwiXFxcIj4gXCIgK1xuICAgICAgXCJleHBlY3RzIGFuIEFycmF5IHZhbHVlIGZvciBp
dHMgYmluZGluZywgYnV0IGdvdCBcIiArIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwo
dmFsdWUpLnNsaWNlKDgsIC0xKSksXG4gICAgICB2bVxuICAgICk7XG4gICAgcmV0dXJuXG4gIH1c
biAgdmFyIHNlbGVjdGVkLCBvcHRpb247XG4gIGZvciAodmFyIGkgPSAwLCBsID0gZWwub3B0aW9u
cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBvcHRpb24gPSBlbC5vcHRpb25zW2ldO1xuICAg
IGlmIChpc011bHRpcGxlKSB7XG4gICAgICBzZWxlY3RlZCA9IGxvb3NlSW5kZXhPZih2YWx1ZSwg
Z2V0VmFsdWUob3B0aW9uKSkgPiAtMTtcbiAgICAgIGlmIChvcHRpb24uc2VsZWN0ZWQgIT09IHNl
bGVjdGVkKSB7XG4gICAgICAgIG9wdGlvbi5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgfVxu
ICAgIH0gZWxzZSB7XG4gICAgICBpZiAobG9vc2VFcXVhbChnZXRWYWx1ZShvcHRpb24pLCB2YWx1
ZSkpIHtcbiAgICAgICAgaWYgKGVsLnNlbGVjdGVkSW5kZXggIT09IGkpIHtcbiAgICAgICAgICBl
bC5zZWxlY3RlZEluZGV4ID0gaTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm5cbiAgICAgIH1c
biAgICB9XG4gIH1cbiAgaWYgKCFpc011bHRpcGxlKSB7XG4gICAgZWwuc2VsZWN0ZWRJbmRleCA9
IC0xO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFZhbHVlIChvcHRpb24pIHtcbiAgcmV0dXJuICdf
dmFsdWUnIGluIG9wdGlvblxuICAgID8gb3B0aW9uLl92YWx1ZVxuICAgIDogb3B0aW9uLnZhbHVl
XG59XG5cbmZ1bmN0aW9uIG9uQ29tcG9zaXRpb25TdGFydCAoZSkge1xuICBlLnRhcmdldC5jb21w
b3NpbmcgPSB0cnVlO1xufVxuXG5mdW5jdGlvbiBvbkNvbXBvc2l0aW9uRW5kIChlKSB7XG4gIC8v
IHByZXZlbnQgdHJpZ2dlcmluZyBhbiBpbnB1dCBldmVudCBmb3Igbm8gcmVhc29uXG4gIGlmICgh
ZS50YXJnZXQuY29tcG9zaW5nKSB7IHJldHVybiB9XG4gIGUudGFyZ2V0LmNvbXBvc2luZyA9IGZh
bHNlO1xuICB0cmlnZ2VyKGUudGFyZ2V0LCAnaW5wdXQnKTtcbn1cblxuZnVuY3Rpb24gdHJpZ2dl
ciAoZWwsIHR5cGUpIHtcbiAgdmFyIGUgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnSFRNTEV2ZW50
cycpO1xuICBlLmluaXRFdmVudCh0eXBlLCB0cnVlLCB0cnVlKTtcbiAgZWwuZGlzcGF0Y2hFdmVu
dChlKTtcbn1cblxuLyogICovXG5cbi8vIHJlY3Vyc2l2ZWx5IHNlYXJjaCBmb3IgcG9zc2libGUg
dHJhbnNpdGlvbiBkZWZpbmVkIGluc2lkZSB0aGUgY29tcG9uZW50IHJvb3RcbmZ1bmN0aW9uIGxv
Y2F0ZU5vZGUgKHZub2RlKSB7XG4gIHJldHVybiB2bm9kZS5jb21wb25lbnRJbnN0YW5jZSAmJiAo
IXZub2RlLmRhdGEgfHwgIXZub2RlLmRhdGEudHJhbnNpdGlvbilcbiAgICA/IGxvY2F0ZU5vZGUo
dm5vZGUuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlKVxuICAgIDogdm5vZGVcbn1cblxudmFyIHNo
b3cgPSB7XG4gIGJpbmQ6IGZ1bmN0aW9uIGJpbmQgKGVsLCByZWYsIHZub2RlKSB7XG4gICAgdmFy
IHZhbHVlID0gcmVmLnZhbHVlO1xuXG4gICAgdm5vZGUgPSBsb2NhdGVOb2RlKHZub2RlKTtcbiAg
ICB2YXIgdHJhbnNpdGlvbiQkMSA9IHZub2RlLmRhdGEgJiYgdm5vZGUuZGF0YS50cmFuc2l0aW9u
O1xuICAgIHZhciBvcmlnaW5hbERpc3BsYXkgPSBlbC5fX3ZPcmlnaW5hbERpc3BsYXkgPVxuICAg
ICAgZWwuc3R5bGUuZGlzcGxheSA9PT0gJ25vbmUnID8gJycgOiBlbC5zdHlsZS5kaXNwbGF5O1xu
ICAgIGlmICh2YWx1ZSAmJiB0cmFuc2l0aW9uJCQxKSB7XG4gICAgICB2bm9kZS5kYXRhLnNob3cg
PSB0cnVlO1xuICAgICAgZW50ZXIodm5vZGUsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZWwuc3R5
bGUuZGlzcGxheSA9IG9yaWdpbmFsRGlzcGxheTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4g
ICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gdmFsdWUgPyBvcmlnaW5hbERpc3BsYXkgOiAnbm9uZSc7
XG4gICAgfVxuICB9LFxuXG4gIHVwZGF0ZTogZnVuY3Rpb24gdXBkYXRlIChlbCwgcmVmLCB2bm9k
ZSkge1xuICAgIHZhciB2YWx1ZSA9IHJlZi52YWx1ZTtcbiAgICB2YXIgb2xkVmFsdWUgPSByZWYu
b2xkVmFsdWU7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAodmFsdWUg
PT09IG9sZFZhbHVlKSB7IHJldHVybiB9XG4gICAgdm5vZGUgPSBsb2NhdGVOb2RlKHZub2RlKTtc
biAgICB2YXIgdHJhbnNpdGlvbiQkMSA9IHZub2RlLmRhdGEgJiYgdm5vZGUuZGF0YS50cmFuc2l0
aW9uO1xuICAgIGlmICh0cmFuc2l0aW9uJCQxKSB7XG4gICAgICB2bm9kZS5kYXRhLnNob3cgPSB0
cnVlO1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIGVudGVyKHZub2RlLCBmdW5jdGlvbiAo
KSB7XG4gICAgICAgICAgZWwuc3R5bGUuZGlzcGxheSA9IGVsLl9fdk9yaWdpbmFsRGlzcGxheTtc
biAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZWF2ZSh2bm9kZSwgZnVuY3Rp
b24gKCkge1xuICAgICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgIH0p
O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gdmFsdWUg
PyBlbC5fX3ZPcmlnaW5hbERpc3BsYXkgOiAnbm9uZSc7XG4gICAgfVxuICB9LFxuXG4gIHVuYmlu
ZDogZnVuY3Rpb24gdW5iaW5kIChcbiAgICBlbCxcbiAgICBiaW5kaW5nLFxuICAgIHZub2RlLFxu
ICAgIG9sZFZub2RlLFxuICAgIGlzRGVzdHJveVxuICApIHtcbiAgICBpZiAoIWlzRGVzdHJveSkg
e1xuICAgICAgZWwuc3R5bGUuZGlzcGxheSA9IGVsLl9fdk9yaWdpbmFsRGlzcGxheTtcbiAgICB9
XG4gIH1cbn07XG5cbnZhciBwbGF0Zm9ybURpcmVjdGl2ZXMgPSB7XG4gIG1vZGVsOiBtb2RlbCQx
LFxuICBzaG93OiBzaG93XG59O1xuXG4vKiAgKi9cblxuLy8gUHJvdmlkZXMgdHJhbnNpdGlvbiBz
dXBwb3J0IGZvciBhIHNpbmdsZSBlbGVtZW50L2NvbXBvbmVudC5cbi8vIHN1cHBvcnRzIHRyYW5z
aXRpb24gbW9kZSAob3V0LWluIC8gaW4tb3V0KVxuXG52YXIgdHJhbnNpdGlvblByb3BzID0ge1xu
ICBuYW1lOiBTdHJpbmcsXG4gIGFwcGVhcjogQm9vbGVhbixcbiAgY3NzOiBCb29sZWFuLFxuICBt
b2RlOiBTdHJpbmcsXG4gIHR5cGU6IFN0cmluZyxcbiAgZW50ZXJDbGFzczogU3RyaW5nLFxuICBs
ZWF2ZUNsYXNzOiBTdHJpbmcsXG4gIGVudGVyVG9DbGFzczogU3RyaW5nLFxuICBsZWF2ZVRvQ2xh
c3M6IFN0cmluZyxcbiAgZW50ZXJBY3RpdmVDbGFzczogU3RyaW5nLFxuICBsZWF2ZUFjdGl2ZUNs
YXNzOiBTdHJpbmcsXG4gIGFwcGVhckNsYXNzOiBTdHJpbmcsXG4gIGFwcGVhckFjdGl2ZUNsYXNz
OiBTdHJpbmcsXG4gIGFwcGVhclRvQ2xhc3M6IFN0cmluZyxcbiAgZHVyYXRpb246IFtOdW1iZXIs
IFN0cmluZywgT2JqZWN0XVxufTtcblxuLy8gaW4gY2FzZSB0aGUgY2hpbGQgaXMgYWxzbyBhbiBh
YnN0cmFjdCBjb21wb25lbnQsIGUuZy4gPGtlZXAtYWxpdmU+XG4vLyB3ZSB3YW50IHRvIHJlY3Vy
c2l2ZWx5IHJldHJpZXZlIHRoZSByZWFsIGNvbXBvbmVudCB0byBiZSByZW5kZXJlZFxuZnVuY3Rp
b24gZ2V0UmVhbENoaWxkICh2bm9kZSkge1xuICB2YXIgY29tcE9wdGlvbnMgPSB2bm9kZSAmJiB2
bm9kZS5jb21wb25lbnRPcHRpb25zO1xuICBpZiAoY29tcE9wdGlvbnMgJiYgY29tcE9wdGlvbnMu
Q3Rvci5vcHRpb25zLmFic3RyYWN0KSB7XG4gICAgcmV0dXJuIGdldFJlYWxDaGlsZChnZXRGaXJz
dENvbXBvbmVudENoaWxkKGNvbXBPcHRpb25zLmNoaWxkcmVuKSlcbiAgfSBlbHNlIHtcbiAgICBy
ZXR1cm4gdm5vZGVcbiAgfVxufVxuXG5mdW5jdGlvbiBleHRyYWN0VHJhbnNpdGlvbkRhdGEgKGNv
bXApIHtcbiAgdmFyIGRhdGEgPSB7fTtcbiAgdmFyIG9wdGlvbnMgPSBjb21wLiRvcHRpb25zO1xu
ICAvLyBwcm9wc1xuICBmb3IgKHZhciBrZXkgaW4gb3B0aW9ucy5wcm9wc0RhdGEpIHtcbiAgICBk
YXRhW2tleV0gPSBjb21wW2tleV07XG4gIH1cbiAgLy8gZXZlbnRzLlxuICAvLyBleHRyYWN0IGxp
c3RlbmVycyBhbmQgcGFzcyB0aGVtIGRpcmVjdGx5IHRvIHRoZSB0cmFuc2l0aW9uIG1ldGhvZHNc
biAgdmFyIGxpc3RlbmVycyA9IG9wdGlvbnMuX3BhcmVudExpc3RlbmVycztcbiAgZm9yICh2YXIg
a2V5JDEgaW4gbGlzdGVuZXJzKSB7XG4gICAgZGF0YVtjYW1lbGl6ZShrZXkkMSldID0gbGlzdGVu
ZXJzW2tleSQxXTtcbiAgfVxuICByZXR1cm4gZGF0YVxufVxuXG5mdW5jdGlvbiBwbGFjZWhvbGRl
ciAoaCwgcmF3Q2hpbGQpIHtcbiAgaWYgKC9cXGQta2VlcC1hbGl2ZSQvLnRlc3QocmF3Q2hpbGQu
dGFnKSkge1xuICAgIHJldHVybiBoKCdrZWVwLWFsaXZlJywge1xuICAgICAgcHJvcHM6IHJhd0No
aWxkLmNvbXBvbmVudE9wdGlvbnMucHJvcHNEYXRhXG4gICAgfSlcbiAgfVxufVxuXG5mdW5jdGlv
biBoYXNQYXJlbnRUcmFuc2l0aW9uICh2bm9kZSkge1xuICB3aGlsZSAoKHZub2RlID0gdm5vZGUu
cGFyZW50KSkge1xuICAgIGlmICh2bm9kZS5kYXRhLnRyYW5zaXRpb24pIHtcbiAgICAgIHJldHVy
biB0cnVlXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzU2FtZUNoaWxkIChjaGlsZCwgb2xk
Q2hpbGQpIHtcbiAgcmV0dXJuIG9sZENoaWxkLmtleSA9PT0gY2hpbGQua2V5ICYmIG9sZENoaWxk
LnRhZyA9PT0gY2hpbGQudGFnXG59XG5cbmZ1bmN0aW9uIGlzQXN5bmNQbGFjZWhvbGRlciAobm9k
ZSkge1xuICByZXR1cm4gbm9kZS5pc0NvbW1lbnQgJiYgbm9kZS5hc3luY0ZhY3Rvcnlcbn1cblxu
dmFyIFRyYW5zaXRpb24gPSB7XG4gIG5hbWU6ICd0cmFuc2l0aW9uJyxcbiAgcHJvcHM6IHRyYW5z
aXRpb25Qcm9wcyxcbiAgYWJzdHJhY3Q6IHRydWUsXG5cbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5k
ZXIgKGgpIHtcbiAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIHZhciBjaGlsZHJlbiA9IHRo
aXMuJG9wdGlvbnMuX3JlbmRlckNoaWxkcmVuO1xuICAgIGlmICghY2hpbGRyZW4pIHtcbiAgICAg
IHJldHVyblxuICAgIH1cblxuICAgIC8vIGZpbHRlciBvdXQgdGV4dCBub2RlcyAocG9zc2libGUg
d2hpdGVzcGFjZXMpXG4gICAgY2hpbGRyZW4gPSBjaGlsZHJlbi5maWx0ZXIoZnVuY3Rpb24gKGMp
IHsgcmV0dXJuIGMudGFnIHx8IGlzQXN5bmNQbGFjZWhvbGRlcihjKTsgfSk7XG4gICAgLyogaXN0
YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCFjaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgIHJl
dHVyblxuICAgIH1cblxuICAgIC8vIHdhcm4gbXVsdGlwbGUgZWxlbWVudHNcbiAgICBpZiAoZmFs
c2UpIHtcbiAgICAgIHdhcm4oXG4gICAgICAgICc8dHJhbnNpdGlvbj4gY2FuIG9ubHkgYmUgdXNl
ZCBvbiBhIHNpbmdsZSBlbGVtZW50LiBVc2UgJyArXG4gICAgICAgICc8dHJhbnNpdGlvbi1ncm91
cD4gZm9yIGxpc3RzLicsXG4gICAgICAgIHRoaXMuJHBhcmVudFxuICAgICAgKTtcbiAgICB9XG5c
biAgICB2YXIgbW9kZSA9IHRoaXMubW9kZTtcblxuICAgIC8vIHdhcm4gaW52YWxpZCBtb2RlXG4g
ICAgaWYgKGZhbHNlXG4gICAgKSB7XG4gICAgICB3YXJuKFxuICAgICAgICAnaW52YWxpZCA8dHJh
bnNpdGlvbj4gbW9kZTogJyArIG1vZGUsXG4gICAgICAgIHRoaXMuJHBhcmVudFxuICAgICAgKTtc
biAgICB9XG5cbiAgICB2YXIgcmF3Q2hpbGQgPSBjaGlsZHJlblswXTtcblxuICAgIC8vIGlmIHRo
aXMgaXMgYSBjb21wb25lbnQgcm9vdCBub2RlIGFuZCB0aGUgY29tcG9uZW50J3NcbiAgICAvLyBw
YXJlbnQgY29udGFpbmVyIG5vZGUgYWxzbyBoYXMgdHJhbnNpdGlvbiwgc2tpcC5cbiAgICBpZiAo
aGFzUGFyZW50VHJhbnNpdGlvbih0aGlzLiR2bm9kZSkpIHtcbiAgICAgIHJldHVybiByYXdDaGls
ZFxuICAgIH1cblxuICAgIC8vIGFwcGx5IHRyYW5zaXRpb24gZGF0YSB0byBjaGlsZFxuICAgIC8v
IHVzZSBnZXRSZWFsQ2hpbGQoKSB0byBpZ25vcmUgYWJzdHJhY3QgY29tcG9uZW50cyBlLmcuIGtl
ZXAtYWxpdmVcbiAgICB2YXIgY2hpbGQgPSBnZXRSZWFsQ2hpbGQocmF3Q2hpbGQpO1xuICAgIC8q
IGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghY2hpbGQpIHtcbiAgICAgIHJldHVybiBy
YXdDaGlsZFxuICAgIH1cblxuICAgIGlmICh0aGlzLl9sZWF2aW5nKSB7XG4gICAgICByZXR1cm4g
cGxhY2Vob2xkZXIoaCwgcmF3Q2hpbGQpXG4gICAgfVxuXG4gICAgLy8gZW5zdXJlIGEga2V5IHRo
YXQgaXMgdW5pcXVlIHRvIHRoZSB2bm9kZSB0eXBlIGFuZCB0byB0aGlzIHRyYW5zaXRpb25cbiAg
ICAvLyBjb21wb25lbnQgaW5zdGFuY2UuIFRoaXMga2V5IHdpbGwgYmUgdXNlZCB0byByZW1vdmUg
cGVuZGluZyBsZWF2aW5nIG5vZGVzXG4gICAgLy8gZHVyaW5nIGVudGVyaW5nLlxuICAgIHZhciBp
ZCA9IFwiX190cmFuc2l0aW9uLVwiICsgKHRoaXMuX3VpZCkgKyBcIi1cIjtcbiAgICBjaGlsZC5r
ZXkgPSBjaGlsZC5rZXkgPT0gbnVsbFxuICAgICAgPyBjaGlsZC5pc0NvbW1lbnRcbiAgICAgICAg
PyBpZCArICdjb21tZW50J1xuICAgICAgICA6IGlkICsgY2hpbGQudGFnXG4gICAgICA6IGlzUHJp
bWl0aXZlKGNoaWxkLmtleSlcbiAgICAgICAgPyAoU3RyaW5nKGNoaWxkLmtleSkuaW5kZXhPZihp
ZCkgPT09IDAgPyBjaGlsZC5rZXkgOiBpZCArIGNoaWxkLmtleSlcbiAgICAgICAgOiBjaGlsZC5r
ZXk7XG5cbiAgICB2YXIgZGF0YSA9IChjaGlsZC5kYXRhIHx8IChjaGlsZC5kYXRhID0ge30pKS50
cmFuc2l0aW9uID0gZXh0cmFjdFRyYW5zaXRpb25EYXRhKHRoaXMpO1xuICAgIHZhciBvbGRSYXdD
aGlsZCA9IHRoaXMuX3Zub2RlO1xuICAgIHZhciBvbGRDaGlsZCA9IGdldFJlYWxDaGlsZChvbGRS
YXdDaGlsZCk7XG5cbiAgICAvLyBtYXJrIHYtc2hvd1xuICAgIC8vIHNvIHRoYXQgdGhlIHRyYW5z
aXRpb24gbW9kdWxlIGNhbiBoYW5kIG92ZXIgdGhlIGNvbnRyb2wgdG8gdGhlIGRpcmVjdGl2ZVxu
ICAgIGlmIChjaGlsZC5kYXRhLmRpcmVjdGl2ZXMgJiYgY2hpbGQuZGF0YS5kaXJlY3RpdmVzLnNv
bWUoZnVuY3Rpb24gKGQpIHsgcmV0dXJuIGQubmFtZSA9PT0gJ3Nob3cnOyB9KSkge1xuICAgICAg
Y2hpbGQuZGF0YS5zaG93ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBvbGRDaGls
ZCAmJlxuICAgICAgb2xkQ2hpbGQuZGF0YSAmJlxuICAgICAgIWlzU2FtZUNoaWxkKGNoaWxkLCBv
bGRDaGlsZCkgJiZcbiAgICAgICFpc0FzeW5jUGxhY2Vob2xkZXIob2xkQ2hpbGQpXG4gICAgKSB7
XG4gICAgICAvLyByZXBsYWNlIG9sZCBjaGlsZCB0cmFuc2l0aW9uIGRhdGEgd2l0aCBmcmVzaCBv
bmVcbiAgICAgIC8vIGltcG9ydGFudCBmb3IgZHluYW1pYyB0cmFuc2l0aW9ucyFcbiAgICAgIHZh
ciBvbGREYXRhID0gb2xkQ2hpbGQgJiYgKG9sZENoaWxkLmRhdGEudHJhbnNpdGlvbiA9IGV4dGVu
ZCh7fSwgZGF0YSkpO1xuICAgICAgLy8gaGFuZGxlIHRyYW5zaXRpb24gbW9kZVxuICAgICAgaWYg
KG1vZGUgPT09ICdvdXQtaW4nKSB7XG4gICAgICAgIC8vIHJldHVybiBwbGFjZWhvbGRlciBub2Rl
IGFuZCBxdWV1ZSB1cGRhdGUgd2hlbiBsZWF2ZSBmaW5pc2hlc1xuICAgICAgICB0aGlzLl9sZWF2
aW5nID0gdHJ1ZTtcbiAgICAgICAgbWVyZ2VWTm9kZUhvb2sob2xkRGF0YSwgJ2FmdGVyTGVhdmUn
LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgdGhpcyQxLl9sZWF2aW5nID0gZmFsc2U7XG4gICAg
ICAgICAgdGhpcyQxLiRmb3JjZVVwZGF0ZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJu
IHBsYWNlaG9sZGVyKGgsIHJhd0NoaWxkKVxuICAgICAgfSBlbHNlIGlmIChtb2RlID09PSAnaW4t
b3V0Jykge1xuICAgICAgICBpZiAoaXNBc3luY1BsYWNlaG9sZGVyKGNoaWxkKSkge1xuICAgICAg
ICAgIHJldHVybiBvbGRSYXdDaGlsZFxuICAgICAgICB9XG4gICAgICAgIHZhciBkZWxheWVkTGVh
dmU7XG4gICAgICAgIHZhciBwZXJmb3JtTGVhdmUgPSBmdW5jdGlvbiAoKSB7IGRlbGF5ZWRMZWF2
ZSgpOyB9O1xuICAgICAgICBtZXJnZVZOb2RlSG9vayhkYXRhLCAnYWZ0ZXJFbnRlcicsIHBlcmZv
cm1MZWF2ZSk7XG4gICAgICAgIG1lcmdlVk5vZGVIb29rKGRhdGEsICdlbnRlckNhbmNlbGxlZCcs
IHBlcmZvcm1MZWF2ZSk7XG4gICAgICAgIG1lcmdlVk5vZGVIb29rKG9sZERhdGEsICdkZWxheUxl
YXZlJywgZnVuY3Rpb24gKGxlYXZlKSB7IGRlbGF5ZWRMZWF2ZSA9IGxlYXZlOyB9KTtcbiAgICAg
IH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmF3Q2hpbGRcbiAgfVxufTtcblxuLyogICovXG5cbi8v
IFByb3ZpZGVzIHRyYW5zaXRpb24gc3VwcG9ydCBmb3IgbGlzdCBpdGVtcy5cbi8vIHN1cHBvcnRz
IG1vdmUgdHJhbnNpdGlvbnMgdXNpbmcgdGhlIEZMSVAgdGVjaG5pcXVlLlxuXG4vLyBCZWNhdXNl
IHRoZSB2ZG9tJ3MgY2hpbGRyZW4gdXBkYXRlIGFsZ29yaXRobSBpcyBcInVuc3RhYmxlXCIgLSBp
LmUuXG4vLyBpdCBkb2Vzbid0IGd1YXJhbnRlZSB0aGUgcmVsYXRpdmUgcG9zaXRpb25pbmcgb2Yg
cmVtb3ZlZCBlbGVtZW50cyxcbi8vIHdlIGZvcmNlIHRyYW5zaXRpb24tZ3JvdXAgdG8gdXBkYXRl
IGl0cyBjaGlsZHJlbiBpbnRvIHR3byBwYXNzZXM6XG4vLyBpbiB0aGUgZmlyc3QgcGFzcywgd2Ug
cmVtb3ZlIGFsbCBub2RlcyB0aGF0IG5lZWQgdG8gYmUgcmVtb3ZlZCxcbi8vIHRyaWdnZXJpbmcg
dGhlaXIgbGVhdmluZyB0cmFuc2l0aW9uOyBpbiB0aGUgc2Vjb25kIHBhc3MsIHdlIGluc2VydC9t
b3ZlXG4vLyBpbnRvIHRoZSBmaW5hbCBkZXNpcmVkIHN0YXRlLiBUaGlzIHdheSBpbiB0aGUgc2Vj
b25kIHBhc3MgcmVtb3ZlZFxuLy8gbm9kZXMgd2lsbCByZW1haW4gd2hlcmUgdGhleSBzaG91bGQg
YmUuXG5cbnZhciBwcm9wcyA9IGV4dGVuZCh7XG4gIHRhZzogU3RyaW5nLFxuICBtb3ZlQ2xhc3M6
IFN0cmluZ1xufSwgdHJhbnNpdGlvblByb3BzKTtcblxuZGVsZXRlIHByb3BzLm1vZGU7XG5cbnZh
ciBUcmFuc2l0aW9uR3JvdXAgPSB7XG4gIHByb3BzOiBwcm9wcyxcblxuICByZW5kZXI6IGZ1bmN0
aW9uIHJlbmRlciAoaCkge1xuICAgIHZhciB0YWcgPSB0aGlzLnRhZyB8fCB0aGlzLiR2bm9kZS5k
YXRhLnRhZyB8fCAnc3Bhbic7XG4gICAgdmFyIG1hcCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4g
ICAgdmFyIHByZXZDaGlsZHJlbiA9IHRoaXMucHJldkNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbjtc
biAgICB2YXIgcmF3Q2hpbGRyZW4gPSB0aGlzLiRzbG90cy5kZWZhdWx0IHx8IFtdO1xuICAgIHZh
ciBjaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW4gPSBbXTtcbiAgICB2YXIgdHJhbnNpdGlvbkRhdGEg
PSBleHRyYWN0VHJhbnNpdGlvbkRhdGEodGhpcyk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHJhd0NoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgYyA9IHJhd0NoaWxkcmVuW2ld
O1xuICAgICAgaWYgKGMudGFnKSB7XG4gICAgICAgIGlmIChjLmtleSAhPSBudWxsICYmIFN0cmlu
ZyhjLmtleSkuaW5kZXhPZignX192bGlzdCcpICE9PSAwKSB7XG4gICAgICAgICAgY2hpbGRyZW4u
cHVzaChjKTtcbiAgICAgICAgICBtYXBbYy5rZXldID0gY1xuICAgICAgICAgIDsoYy5kYXRhIHx8
IChjLmRhdGEgPSB7fSkpLnRyYW5zaXRpb24gPSB0cmFuc2l0aW9uRGF0YTtcbiAgICAgICAgfSBl
bHNlIGlmIChmYWxzZSkge1xuICAgICAgICAgIHZhciBvcHRzID0gYy5jb21wb25lbnRPcHRpb25z
O1xuICAgICAgICAgIHZhciBuYW1lID0gb3B0cyA/IChvcHRzLkN0b3Iub3B0aW9ucy5uYW1lIHx8
IG9wdHMudGFnIHx8ICcnKSA6IGMudGFnO1xuICAgICAgICAgIHdhcm4oKFwiPHRyYW5zaXRpb24t
Z3JvdXA+IGNoaWxkcmVuIG11c3QgYmUga2V5ZWQ6IDxcIiArIG5hbWUgKyBcIj5cIikpO1xuICAg
ICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHByZXZDaGlsZHJlbikge1xuICAgICAg
dmFyIGtlcHQgPSBbXTtcbiAgICAgIHZhciByZW1vdmVkID0gW107XG4gICAgICBmb3IgKHZhciBp
JDEgPSAwOyBpJDEgPCBwcmV2Q2hpbGRyZW4ubGVuZ3RoOyBpJDErKykge1xuICAgICAgICB2YXIg
YyQxID0gcHJldkNoaWxkcmVuW2kkMV07XG4gICAgICAgIGMkMS5kYXRhLnRyYW5zaXRpb24gPSB0
cmFuc2l0aW9uRGF0YTtcbiAgICAgICAgYyQxLmRhdGEucG9zID0gYyQxLmVsbS5nZXRCb3VuZGlu
Z0NsaWVudFJlY3QoKTtcbiAgICAgICAgaWYgKG1hcFtjJDEua2V5XSkge1xuICAgICAgICAgIGtl
cHQucHVzaChjJDEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlbW92ZWQucHVzaChj
JDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmtlcHQgPSBoKHRhZywgbnVsbCwg
a2VwdCk7XG4gICAgICB0aGlzLnJlbW92ZWQgPSByZW1vdmVkO1xuICAgIH1cblxuICAgIHJldHVy
biBoKHRhZywgbnVsbCwgY2hpbGRyZW4pXG4gIH0sXG5cbiAgYmVmb3JlVXBkYXRlOiBmdW5jdGlv
biBiZWZvcmVVcGRhdGUgKCkge1xuICAgIC8vIGZvcmNlIHJlbW92aW5nIHBhc3NcbiAgICB0aGlz
Ll9fcGF0Y2hfXyhcbiAgICAgIHRoaXMuX3Zub2RlLFxuICAgICAgdGhpcy5rZXB0LFxuICAgICAg
ZmFsc2UsIC8vIGh5ZHJhdGluZ1xuICAgICAgdHJ1ZSAvLyByZW1vdmVPbmx5ICghaW1wb3J0YW50
LCBhdm9pZHMgdW5uZWNlc3NhcnkgbW92ZXMpXG4gICAgKTtcbiAgICB0aGlzLl92bm9kZSA9IHRo
aXMua2VwdDtcbiAgfSxcblxuICB1cGRhdGVkOiBmdW5jdGlvbiB1cGRhdGVkICgpIHtcbiAgICB2
YXIgY2hpbGRyZW4gPSB0aGlzLnByZXZDaGlsZHJlbjtcbiAgICB2YXIgbW92ZUNsYXNzID0gdGhp
cy5tb3ZlQ2xhc3MgfHwgKCh0aGlzLm5hbWUgfHwgJ3YnKSArICctbW92ZScpO1xuICAgIGlmICgh
Y2hpbGRyZW4ubGVuZ3RoIHx8ICF0aGlzLmhhc01vdmUoY2hpbGRyZW5bMF0uZWxtLCBtb3ZlQ2xh
c3MpKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyB3ZSBkaXZpZGUgdGhlIHdvcmsg
aW50byB0aHJlZSBsb29wcyB0byBhdm9pZCBtaXhpbmcgRE9NIHJlYWRzIGFuZCB3cml0ZXNcbiAg
ICAvLyBpbiBlYWNoIGl0ZXJhdGlvbiAtIHdoaWNoIGhlbHBzIHByZXZlbnQgbGF5b3V0IHRocmFz
aGluZy5cbiAgICBjaGlsZHJlbi5mb3JFYWNoKGNhbGxQZW5kaW5nQ2JzKTtcbiAgICBjaGlsZHJl
bi5mb3JFYWNoKHJlY29yZFBvc2l0aW9uKTtcbiAgICBjaGlsZHJlbi5mb3JFYWNoKGFwcGx5VHJh
bnNsYXRpb24pO1xuXG4gICAgLy8gZm9yY2UgcmVmbG93IHRvIHB1dCBldmVyeXRoaW5nIGluIHBv
c2l0aW9uXG4gICAgdmFyIGJvZHkgPSBkb2N1bWVudC5ib2R5O1xuICAgIHZhciBmID0gYm9keS5v
ZmZzZXRIZWlnaHQ7IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcblxuICAgIGNoaWxkcmVuLmZvckVh
Y2goZnVuY3Rpb24gKGMpIHtcbiAgICAgIGlmIChjLmRhdGEubW92ZWQpIHtcbiAgICAgICAgdmFy
IGVsID0gYy5lbG07XG4gICAgICAgIHZhciBzID0gZWwuc3R5bGU7XG4gICAgICAgIGFkZFRyYW5z
aXRpb25DbGFzcyhlbCwgbW92ZUNsYXNzKTtcbiAgICAgICAgcy50cmFuc2Zvcm0gPSBzLldlYmtp
dFRyYW5zZm9ybSA9IHMudHJhbnNpdGlvbkR1cmF0aW9uID0gJyc7XG4gICAgICAgIGVsLmFkZEV2
ZW50TGlzdGVuZXIodHJhbnNpdGlvbkVuZEV2ZW50LCBlbC5fbW92ZUNiID0gZnVuY3Rpb24gY2Ig
KGUpIHtcbiAgICAgICAgICBpZiAoIWUgfHwgL3RyYW5zZm9ybSQvLnRlc3QoZS5wcm9wZXJ0eU5h
bWUpKSB7XG4gICAgICAgICAgICBlbC5yZW1vdmVFdmVudExpc3RlbmVyKHRyYW5zaXRpb25FbmRF
dmVudCwgY2IpO1xuICAgICAgICAgICAgZWwuX21vdmVDYiA9IG51bGw7XG4gICAgICAgICAgICBy
ZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIG1vdmVDbGFzcyk7XG4gICAgICAgICAgfVxuICAgICAg
ICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSxcblxuICBtZXRob2RzOiB7XG4gICAgaGFzTW92
ZTogZnVuY3Rpb24gaGFzTW92ZSAoZWwsIG1vdmVDbGFzcykge1xuICAgICAgLyogaXN0YW5idWwg
aWdub3JlIGlmICovXG4gICAgICBpZiAoIWhhc1RyYW5zaXRpb24pIHtcbiAgICAgICAgcmV0dXJu
IGZhbHNlXG4gICAgICB9XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlm
ICh0aGlzLl9oYXNNb3ZlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oYXNNb3ZlXG4gICAgICB9
XG4gICAgICAvLyBEZXRlY3Qgd2hldGhlciBhbiBlbGVtZW50IHdpdGggdGhlIG1vdmUgY2xhc3Mg
YXBwbGllZCBoYXNcbiAgICAgIC8vIENTUyB0cmFuc2l0aW9ucy4gU2luY2UgdGhlIGVsZW1lbnQg
bWF5IGJlIGluc2lkZSBhbiBlbnRlcmluZ1xuICAgICAgLy8gdHJhbnNpdGlvbiBhdCB0aGlzIHZl
cnkgbW9tZW50LCB3ZSBtYWtlIGEgY2xvbmUgb2YgaXQgYW5kIHJlbW92ZVxuICAgICAgLy8gYWxs
IG90aGVyIHRyYW5zaXRpb24gY2xhc3NlcyBhcHBsaWVkIHRvIGVuc3VyZSBvbmx5IHRoZSBtb3Zl
IGNsYXNzXG4gICAgICAvLyBpcyBhcHBsaWVkLlxuICAgICAgdmFyIGNsb25lID0gZWwuY2xvbmVO
b2RlKCk7XG4gICAgICBpZiAoZWwuX3RyYW5zaXRpb25DbGFzc2VzKSB7XG4gICAgICAgIGVsLl90
cmFuc2l0aW9uQ2xhc3Nlcy5mb3JFYWNoKGZ1bmN0aW9uIChjbHMpIHsgcmVtb3ZlQ2xhc3MoY2xv
bmUsIGNscyk7IH0pO1xuICAgICAgfVxuICAgICAgYWRkQ2xhc3MoY2xvbmUsIG1vdmVDbGFzcyk7
XG4gICAgICBjbG9uZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgdGhpcy4kZWwuYXBw
ZW5kQ2hpbGQoY2xvbmUpO1xuICAgICAgdmFyIGluZm8gPSBnZXRUcmFuc2l0aW9uSW5mbyhjbG9u
ZSk7XG4gICAgICB0aGlzLiRlbC5yZW1vdmVDaGlsZChjbG9uZSk7XG4gICAgICByZXR1cm4gKHRo
aXMuX2hhc01vdmUgPSBpbmZvLmhhc1RyYW5zZm9ybSlcbiAgICB9XG4gIH1cbn07XG5cbmZ1bmN0
aW9uIGNhbGxQZW5kaW5nQ2JzIChjKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBp
ZiAoYy5lbG0uX21vdmVDYikge1xuICAgIGMuZWxtLl9tb3ZlQ2IoKTtcbiAgfVxuICAvKiBpc3Rh
bmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKGMuZWxtLl9lbnRlckNiKSB7XG4gICAgYy5lbG0uX2Vu
dGVyQ2IoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZWNvcmRQb3NpdGlvbiAoYykge1xuICBjLmRh
dGEubmV3UG9zID0gYy5lbG0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG59XG5cbmZ1bmN0aW9u
IGFwcGx5VHJhbnNsYXRpb24gKGMpIHtcbiAgdmFyIG9sZFBvcyA9IGMuZGF0YS5wb3M7XG4gIHZh
ciBuZXdQb3MgPSBjLmRhdGEubmV3UG9zO1xuICB2YXIgZHggPSBvbGRQb3MubGVmdCAtIG5ld1Bv
cy5sZWZ0O1xuICB2YXIgZHkgPSBvbGRQb3MudG9wIC0gbmV3UG9zLnRvcDtcbiAgaWYgKGR4IHx8
IGR5KSB7XG4gICAgYy5kYXRhLm1vdmVkID0gdHJ1ZTtcbiAgICB2YXIgcyA9IGMuZWxtLnN0eWxl
O1xuICAgIHMudHJhbnNmb3JtID0gcy5XZWJraXRUcmFuc2Zvcm0gPSBcInRyYW5zbGF0ZShcIiAr
IGR4ICsgXCJweCxcIiArIGR5ICsgXCJweClcIjtcbiAgICBzLnRyYW5zaXRpb25EdXJhdGlvbiA9
ICcwcyc7XG4gIH1cbn1cblxudmFyIHBsYXRmb3JtQ29tcG9uZW50cyA9IHtcbiAgVHJhbnNpdGlv
bjogVHJhbnNpdGlvbixcbiAgVHJhbnNpdGlvbkdyb3VwOiBUcmFuc2l0aW9uR3JvdXBcbn07XG5c
bi8qICAqL1xuXG4vLyBpbnN0YWxsIHBsYXRmb3JtIHNwZWNpZmljIHV0aWxzXG5WdWUkMy5jb25m
aWcubXVzdFVzZVByb3AgPSBtdXN0VXNlUHJvcDtcblZ1ZSQzLmNvbmZpZy5pc1Jlc2VydmVkVGFn
ID0gaXNSZXNlcnZlZFRhZztcblZ1ZSQzLmNvbmZpZy5pc1Jlc2VydmVkQXR0ciA9IGlzUmVzZXJ2
ZWRBdHRyO1xuVnVlJDMuY29uZmlnLmdldFRhZ05hbWVzcGFjZSA9IGdldFRhZ05hbWVzcGFjZTtc
blZ1ZSQzLmNvbmZpZy5pc1Vua25vd25FbGVtZW50ID0gaXNVbmtub3duRWxlbWVudDtcblxuLy8g
aW5zdGFsbCBwbGF0Zm9ybSBydW50aW1lIGRpcmVjdGl2ZXMgJiBjb21wb25lbnRzXG5leHRlbmQo
VnVlJDMub3B0aW9ucy5kaXJlY3RpdmVzLCBwbGF0Zm9ybURpcmVjdGl2ZXMpO1xuZXh0ZW5kKFZ1
ZSQzLm9wdGlvbnMuY29tcG9uZW50cywgcGxhdGZvcm1Db21wb25lbnRzKTtcblxuLy8gaW5zdGFs
bCBwbGF0Zm9ybSBwYXRjaCBmdW5jdGlvblxuVnVlJDMucHJvdG90eXBlLl9fcGF0Y2hfXyA9IGlu
QnJvd3NlciA/IHBhdGNoIDogbm9vcDtcblxuLy8gcHVibGljIG1vdW50IG1ldGhvZFxuVnVlJDMu
cHJvdG90eXBlLiRtb3VudCA9IGZ1bmN0aW9uIChcbiAgZWwsXG4gIGh5ZHJhdGluZ1xuKSB7XG4g
IGVsID0gZWwgJiYgaW5Ccm93c2VyID8gcXVlcnkoZWwpIDogdW5kZWZpbmVkO1xuICByZXR1cm4g
bW91bnRDb21wb25lbnQodGhpcywgZWwsIGh5ZHJhdGluZylcbn07XG5cbi8vIGRldnRvb2xzIGds
b2JhbCBob29rXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuc2V0VGltZW91dChmdW5jdGlv
biAoKSB7XG4gIGlmIChjb25maWcuZGV2dG9vbHMpIHtcbiAgICBpZiAoZGV2dG9vbHMpIHtcbiAg
ICAgIGRldnRvb2xzLmVtaXQoJ2luaXQnLCBWdWUkMyk7XG4gICAgfSBlbHNlIGlmIChmYWxzZSkg
e1xuICAgICAgY29uc29sZVtjb25zb2xlLmluZm8gPyAnaW5mbycgOiAnbG9nJ10oXG4gICAgICAg
ICdEb3dubG9hZCB0aGUgVnVlIERldnRvb2xzIGV4dGVuc2lvbiBmb3IgYSBiZXR0ZXIgZGV2ZWxv
cG1lbnQgZXhwZXJpZW5jZTpcXG4nICtcbiAgICAgICAgJ2h0dHBzOi8vZ2l0aHViLmNvbS92dWVq
cy92dWUtZGV2dG9vbHMnXG4gICAgICApO1xuICAgIH1cbiAgfVxuICBpZiAoZmFsc2VcbiAgKSB7
XG4gICAgY29uc29sZVtjb25zb2xlLmluZm8gPyAnaW5mbycgOiAnbG9nJ10oXG4gICAgICBcIllv
dSBhcmUgcnVubmluZyBWdWUgaW4gZGV2ZWxvcG1lbnQgbW9kZS5cXG5cIiArXG4gICAgICBcIk1h
a2Ugc3VyZSB0byB0dXJuIG9uIHByb2R1Y3Rpb24gbW9kZSB3aGVuIGRlcGxveWluZyBmb3IgcHJv
ZHVjdGlvbi5cXG5cIiArXG4gICAgICBcIlNlZSBtb3JlIHRpcHMgYXQgaHR0cHM6Ly92dWVqcy5v
cmcvZ3VpZGUvZGVwbG95bWVudC5odG1sXCJcbiAgICApO1xuICB9XG59LCAwKTtcblxuLyogICov
XG5cbi8vIGNoZWNrIHdoZXRoZXIgY3VycmVudCBicm93c2VyIGVuY29kZXMgYSBjaGFyIGluc2lk
ZSBhdHRyaWJ1dGUgdmFsdWVzXG5mdW5jdGlvbiBzaG91bGREZWNvZGUgKGNvbnRlbnQsIGVuY29k
ZWQpIHtcbiAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICBkaXYu
aW5uZXJIVE1MID0gXCI8ZGl2IGE9XFxcIlwiICsgY29udGVudCArIFwiXFxcIi8+XCI7XG4gIHJl
dHVybiBkaXYuaW5uZXJIVE1MLmluZGV4T2YoZW5jb2RlZCkgPiAwXG59XG5cbi8vICMzNjYzXG4v
LyBJRSBlbmNvZGVzIG5ld2xpbmVzIGluc2lkZSBhdHRyaWJ1dGUgdmFsdWVzIHdoaWxlIG90aGVy
IGJyb3dzZXJzIGRvbid0XG52YXIgc2hvdWxkRGVjb2RlTmV3bGluZXMgPSBpbkJyb3dzZXIgPyBz
aG91bGREZWNvZGUoJ1xcbicsICcmIzEwOycpIDogZmFsc2U7XG5cbi8qICAqL1xuXG52YXIgZGVm
YXVsdFRhZ1JFID0gL1xce1xceygoPzoufFxcbikrPylcXH1cXH0vZztcbnZhciByZWdleEVzY2Fw
ZVJFID0gL1stLiorP14ke30oKXxbXFxdXFwvXFxcXF0vZztcblxudmFyIGJ1aWxkUmVnZXggPSBj
YWNoZWQoZnVuY3Rpb24gKGRlbGltaXRlcnMpIHtcbiAgdmFyIG9wZW4gPSBkZWxpbWl0ZXJzWzBd
LnJlcGxhY2UocmVnZXhFc2NhcGVSRSwgJ1xcXFwkJicpO1xuICB2YXIgY2xvc2UgPSBkZWxpbWl0
ZXJzWzFdLnJlcGxhY2UocmVnZXhFc2NhcGVSRSwgJ1xcXFwkJicpO1xuICByZXR1cm4gbmV3IFJl
Z0V4cChvcGVuICsgJygoPzoufFxcXFxuKSs/KScgKyBjbG9zZSwgJ2cnKVxufSk7XG5cbmZ1bmN0
aW9uIHBhcnNlVGV4dCAoXG4gIHRleHQsXG4gIGRlbGltaXRlcnNcbikge1xuICB2YXIgdGFnUkUg
PSBkZWxpbWl0ZXJzID8gYnVpbGRSZWdleChkZWxpbWl0ZXJzKSA6IGRlZmF1bHRUYWdSRTtcbiAg
aWYgKCF0YWdSRS50ZXN0KHRleHQpKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIHRva2VucyA9
IFtdO1xuICB2YXIgbGFzdEluZGV4ID0gdGFnUkUubGFzdEluZGV4ID0gMDtcbiAgdmFyIG1hdGNo
LCBpbmRleDtcbiAgd2hpbGUgKChtYXRjaCA9IHRhZ1JFLmV4ZWModGV4dCkpKSB7XG4gICAgaW5k
ZXggPSBtYXRjaC5pbmRleDtcbiAgICAvLyBwdXNoIHRleHQgdG9rZW5cbiAgICBpZiAoaW5kZXgg
PiBsYXN0SW5kZXgpIHtcbiAgICAgIHRva2Vucy5wdXNoKEpTT04uc3RyaW5naWZ5KHRleHQuc2xp
Y2UobGFzdEluZGV4LCBpbmRleCkpKTtcbiAgICB9XG4gICAgLy8gdGFnIHRva2VuXG4gICAgdmFy
IGV4cCA9IHBhcnNlRmlsdGVycyhtYXRjaFsxXS50cmltKCkpO1xuICAgIHRva2Vucy5wdXNoKChc
Il9zKFwiICsgZXhwICsgXCIpXCIpKTtcbiAgICBsYXN0SW5kZXggPSBpbmRleCArIG1hdGNoWzBd
Lmxlbmd0aDtcbiAgfVxuICBpZiAobGFzdEluZGV4IDwgdGV4dC5sZW5ndGgpIHtcbiAgICB0b2tl
bnMucHVzaChKU09OLnN0cmluZ2lmeSh0ZXh0LnNsaWNlKGxhc3RJbmRleCkpKTtcbiAgfVxuICBy
ZXR1cm4gdG9rZW5zLmpvaW4oJysnKVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gdHJhbnNmb3Jt
Tm9kZSAoZWwsIG9wdGlvbnMpIHtcbiAgdmFyIHdhcm4gPSBvcHRpb25zLndhcm4gfHwgYmFzZVdh
cm47XG4gIHZhciBzdGF0aWNDbGFzcyA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICdjbGFzcycpO1xu
ICBpZiAoZmFsc2UpIHtcbiAgICB2YXIgZXhwcmVzc2lvbiA9IHBhcnNlVGV4dChzdGF0aWNDbGFz
cywgb3B0aW9ucy5kZWxpbWl0ZXJzKTtcbiAgICBpZiAoZXhwcmVzc2lvbikge1xuICAgICAgd2Fy
bihcbiAgICAgICAgXCJjbGFzcz1cXFwiXCIgKyBzdGF0aWNDbGFzcyArIFwiXFxcIjogXCIgK1xu
ICAgICAgICAnSW50ZXJwb2xhdGlvbiBpbnNpZGUgYXR0cmlidXRlcyBoYXMgYmVlbiByZW1vdmVk
LiAnICtcbiAgICAgICAgJ1VzZSB2LWJpbmQgb3IgdGhlIGNvbG9uIHNob3J0aGFuZCBpbnN0ZWFk
LiBGb3IgZXhhbXBsZSwgJyArXG4gICAgICAgICdpbnN0ZWFkIG9mIDxkaXYgY2xhc3M9XCJ7eyB2
YWwgfX1cIj4sIHVzZSA8ZGl2IDpjbGFzcz1cInZhbFwiPi4nXG4gICAgICApO1xuICAgIH1cbiAg
fVxuICBpZiAoc3RhdGljQ2xhc3MpIHtcbiAgICBlbC5zdGF0aWNDbGFzcyA9IEpTT04uc3RyaW5n
aWZ5KHN0YXRpY0NsYXNzKTtcbiAgfVxuICB2YXIgY2xhc3NCaW5kaW5nID0gZ2V0QmluZGluZ0F0
dHIoZWwsICdjbGFzcycsIGZhbHNlIC8qIGdldFN0YXRpYyAqLyk7XG4gIGlmIChjbGFzc0JpbmRp
bmcpIHtcbiAgICBlbC5jbGFzc0JpbmRpbmcgPSBjbGFzc0JpbmRpbmc7XG4gIH1cbn1cblxuZnVu
Y3Rpb24gZ2VuRGF0YSAoZWwpIHtcbiAgdmFyIGRhdGEgPSAnJztcbiAgaWYgKGVsLnN0YXRpY0Ns
YXNzKSB7XG4gICAgZGF0YSArPSBcInN0YXRpY0NsYXNzOlwiICsgKGVsLnN0YXRpY0NsYXNzKSAr
IFwiLFwiO1xuICB9XG4gIGlmIChlbC5jbGFzc0JpbmRpbmcpIHtcbiAgICBkYXRhICs9IFwiY2xh
c3M6XCIgKyAoZWwuY2xhc3NCaW5kaW5nKSArIFwiLFwiO1xuICB9XG4gIHJldHVybiBkYXRhXG59
XG5cbnZhciBrbGFzcyQxID0ge1xuICBzdGF0aWNLZXlzOiBbJ3N0YXRpY0NsYXNzJ10sXG4gIHRy
YW5zZm9ybU5vZGU6IHRyYW5zZm9ybU5vZGUsXG4gIGdlbkRhdGE6IGdlbkRhdGFcbn07XG5cbi8q
ICAqL1xuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Ob2RlJDEgKGVsLCBvcHRpb25zKSB7XG4gIHZhciB3
YXJuID0gb3B0aW9ucy53YXJuIHx8IGJhc2VXYXJuO1xuICB2YXIgc3RhdGljU3R5bGUgPSBnZXRB
bmRSZW1vdmVBdHRyKGVsLCAnc3R5bGUnKTtcbiAgaWYgKHN0YXRpY1N0eWxlKSB7XG4gICAgLyog
aXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICB2YXIgZXhwcmVz
c2lvbiA9IHBhcnNlVGV4dChzdGF0aWNTdHlsZSwgb3B0aW9ucy5kZWxpbWl0ZXJzKTtcbiAgICAg
IGlmIChleHByZXNzaW9uKSB7XG4gICAgICAgIHdhcm4oXG4gICAgICAgICAgXCJzdHlsZT1cXFwi
XCIgKyBzdGF0aWNTdHlsZSArIFwiXFxcIjogXCIgK1xuICAgICAgICAgICdJbnRlcnBvbGF0aW9u
IGluc2lkZSBhdHRyaWJ1dGVzIGhhcyBiZWVuIHJlbW92ZWQuICcgK1xuICAgICAgICAgICdVc2Ug
di1iaW5kIG9yIHRoZSBjb2xvbiBzaG9ydGhhbmQgaW5zdGVhZC4gRm9yIGV4YW1wbGUsICcgK1xu
ICAgICAgICAgICdpbnN0ZWFkIG9mIDxkaXYgc3R5bGU9XCJ7eyB2YWwgfX1cIj4sIHVzZSA8ZGl2
IDpzdHlsZT1cInZhbFwiPi4nXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIGVsLnN0
YXRpY1N0eWxlID0gSlNPTi5zdHJpbmdpZnkocGFyc2VTdHlsZVRleHQoc3RhdGljU3R5bGUpKTtc
biAgfVxuXG4gIHZhciBzdHlsZUJpbmRpbmcgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ3N0eWxlJywg
ZmFsc2UgLyogZ2V0U3RhdGljICovKTtcbiAgaWYgKHN0eWxlQmluZGluZykge1xuICAgIGVsLnN0
eWxlQmluZGluZyA9IHN0eWxlQmluZGluZztcbiAgfVxufVxuXG5mdW5jdGlvbiBnZW5EYXRhJDEg
KGVsKSB7XG4gIHZhciBkYXRhID0gJyc7XG4gIGlmIChlbC5zdGF0aWNTdHlsZSkge1xuICAgIGRh
dGEgKz0gXCJzdGF0aWNTdHlsZTpcIiArIChlbC5zdGF0aWNTdHlsZSkgKyBcIixcIjtcbiAgfVxu
ICBpZiAoZWwuc3R5bGVCaW5kaW5nKSB7XG4gICAgZGF0YSArPSBcInN0eWxlOihcIiArIChlbC5z
dHlsZUJpbmRpbmcpICsgXCIpLFwiO1xuICB9XG4gIHJldHVybiBkYXRhXG59XG5cbnZhciBzdHls
ZSQxID0ge1xuICBzdGF0aWNLZXlzOiBbJ3N0YXRpY1N0eWxlJ10sXG4gIHRyYW5zZm9ybU5vZGU6
IHRyYW5zZm9ybU5vZGUkMSxcbiAgZ2VuRGF0YTogZ2VuRGF0YSQxXG59O1xuXG52YXIgbW9kdWxl
cyQxID0gW1xuICBrbGFzcyQxLFxuICBzdHlsZSQxXG5dO1xuXG4vKiAgKi9cblxuZnVuY3Rpb24g
dGV4dCAoZWwsIGRpcikge1xuICBpZiAoZGlyLnZhbHVlKSB7XG4gICAgYWRkUHJvcChlbCwgJ3Rl
eHRDb250ZW50JywgKFwiX3MoXCIgKyAoZGlyLnZhbHVlKSArIFwiKVwiKSk7XG4gIH1cbn1cblxu
LyogICovXG5cbmZ1bmN0aW9uIGh0bWwgKGVsLCBkaXIpIHtcbiAgaWYgKGRpci52YWx1ZSkge1xu
ICAgIGFkZFByb3AoZWwsICdpbm5lckhUTUwnLCAoXCJfcyhcIiArIChkaXIudmFsdWUpICsgXCIp
XCIpKTtcbiAgfVxufVxuXG52YXIgZGlyZWN0aXZlcyQxID0ge1xuICBtb2RlbDogbW9kZWwsXG4g
IHRleHQ6IHRleHQsXG4gIGh0bWw6IGh0bWxcbn07XG5cbi8qICAqL1xuXG52YXIgaXNVbmFyeVRh
ZyA9IG1ha2VNYXAoXG4gICdhcmVhLGJhc2UsYnIsY29sLGVtYmVkLGZyYW1lLGhyLGltZyxpbnB1
dCxpc2luZGV4LGtleWdlbiwnICtcbiAgJ2xpbmssbWV0YSxwYXJhbSxzb3VyY2UsdHJhY2ssd2Jy
J1xuKTtcblxuLy8gRWxlbWVudHMgdGhhdCB5b3UgY2FuLCBpbnRlbnRpb25hbGx5LCBsZWF2ZSBv
cGVuXG4vLyAoYW5kIHdoaWNoIGNsb3NlIHRoZW1zZWx2ZXMpXG52YXIgY2FuQmVMZWZ0T3BlblRh
ZyA9IG1ha2VNYXAoXG4gICdjb2xncm91cCxkZCxkdCxsaSxvcHRpb25zLHAsdGQsdGZvb3QsdGgs
dGhlYWQsdHIsc291cmNlJ1xuKTtcblxuLy8gSFRNTDUgdGFncyBodHRwczovL2h0bWwuc3BlYy53
aGF0d2cub3JnL211bHRpcGFnZS9pbmRpY2VzLmh0bWwjZWxlbWVudHMtM1xuLy8gUGhyYXNpbmcg
Q29udGVudCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9kb20uaHRtbCNw
aHJhc2luZy1jb250ZW50XG52YXIgaXNOb25QaHJhc2luZ1RhZyA9IG1ha2VNYXAoXG4gICdhZGRy
ZXNzLGFydGljbGUsYXNpZGUsYmFzZSxibG9ja3F1b3RlLGJvZHksY2FwdGlvbixjb2wsY29sZ3Jv
dXAsZGQsJyArXG4gICdkZXRhaWxzLGRpYWxvZyxkaXYsZGwsZHQsZmllbGRzZXQsZmlnY2FwdGlv
bixmaWd1cmUsZm9vdGVyLGZvcm0sJyArXG4gICdoMSxoMixoMyxoNCxoNSxoNixoZWFkLGhlYWRl
cixoZ3JvdXAsaHIsaHRtbCxsZWdlbmQsbGksbWVudWl0ZW0sbWV0YSwnICtcbiAgJ29wdGdyb3Vw
LG9wdGlvbixwYXJhbSxycCxydCxzb3VyY2Usc3R5bGUsc3VtbWFyeSx0Ym9keSx0ZCx0Zm9vdCx0
aCx0aGVhZCwnICtcbiAgJ3RpdGxlLHRyLHRyYWNrJ1xuKTtcblxuLyogICovXG5cbnZhciBiYXNl
T3B0aW9ucyA9IHtcbiAgZXhwZWN0SFRNTDogdHJ1ZSxcbiAgbW9kdWxlczogbW9kdWxlcyQxLFxu
ICBkaXJlY3RpdmVzOiBkaXJlY3RpdmVzJDEsXG4gIGlzUHJlVGFnOiBpc1ByZVRhZyxcbiAgaXNV
bmFyeVRhZzogaXNVbmFyeVRhZyxcbiAgbXVzdFVzZVByb3A6IG11c3RVc2VQcm9wLFxuICBjYW5C
ZUxlZnRPcGVuVGFnOiBjYW5CZUxlZnRPcGVuVGFnLFxuICBpc1Jlc2VydmVkVGFnOiBpc1Jlc2Vy
dmVkVGFnLFxuICBnZXRUYWdOYW1lc3BhY2U6IGdldFRhZ05hbWVzcGFjZSxcbiAgc3RhdGljS2V5
czogZ2VuU3RhdGljS2V5cyhtb2R1bGVzJDEpXG59O1xuXG4vKiAgKi9cblxudmFyIGRlY29kZXI7
XG5cbnZhciBoZSA9IHtcbiAgZGVjb2RlOiBmdW5jdGlvbiBkZWNvZGUgKGh0bWwpIHtcbiAgICBk
ZWNvZGVyID0gZGVjb2RlciB8fCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBk
ZWNvZGVyLmlubmVySFRNTCA9IGh0bWw7XG4gICAgcmV0dXJuIGRlY29kZXIudGV4dENvbnRlbnRc
biAgfVxufTtcblxuLyoqXG4gKiBOb3QgdHlwZS1jaGVja2luZyB0aGlzIGZpbGUgYmVjYXVzZSBp
dCdzIG1vc3RseSB2ZW5kb3IgY29kZS5cbiAqL1xuXG4vKiFcbiAqIEhUTUwgUGFyc2VyIEJ5IEpv
aG4gUmVzaWcgKGVqb2huLm9yZylcbiAqIE1vZGlmaWVkIGJ5IEp1cml5IFwia2FuZ2F4XCIgWmF5
dHNldlxuICogT3JpZ2luYWwgY29kZSBieSBFcmlrIEFydmlkc3NvbiwgTW96aWxsYSBQdWJsaWMg
TGljZW5zZVxuICogaHR0cDovL2VyaWsuZWFlLm5ldC9zaW1wbGVodG1scGFyc2VyL3NpbXBsZWh0
bWxwYXJzZXIuanNcbiAqL1xuXG4vLyBSZWd1bGFyIEV4cHJlc3Npb25zIGZvciBwYXJzaW5nIHRh
Z3MgYW5kIGF0dHJpYnV0ZXNcbnZhciBzaW5nbGVBdHRySWRlbnRpZmllciA9IC8oW15cXHNcIic8
Pi89XSspLztcbnZhciBzaW5nbGVBdHRyQXNzaWduID0gLyg/Oj0pLztcbnZhciBzaW5nbGVBdHRy
VmFsdWVzID0gW1xuICAvLyBhdHRyIHZhbHVlIGRvdWJsZSBxdW90ZXNcbiAgL1wiKFteXCJdKilc
IisvLnNvdXJjZSxcbiAgLy8gYXR0ciB2YWx1ZSwgc2luZ2xlIHF1b3Rlc1xuICAvJyhbXiddKikn
Ky8uc291cmNlLFxuICAvLyBhdHRyIHZhbHVlLCBubyBxdW90ZXNcbiAgLyhbXlxcc1wiJz08PmBd
KykvLnNvdXJjZVxuXTtcbnZhciBhdHRyaWJ1dGUgPSBuZXcgUmVnRXhwKFxuICAnXlxcXFxzKicg
KyBzaW5nbGVBdHRySWRlbnRpZmllci5zb3VyY2UgK1xuICAnKD86XFxcXHMqKCcgKyBzaW5nbGVB
dHRyQXNzaWduLnNvdXJjZSArICcpJyArXG4gICdcXFxccyooPzonICsgc2luZ2xlQXR0clZhbHVl
cy5qb2luKCd8JykgKyAnKSk/J1xuKTtcblxuLy8gY291bGQgdXNlIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi8xOTk5L1JFQy14bWwtbmFtZXMtMTk5OTAxMTQvI05ULVFOYW1lXG4vLyBidXQgZm9yIFZ1
ZSB0ZW1wbGF0ZXMgd2UgY2FuIGVuZm9yY2UgYSBzaW1wbGUgY2hhcnNldFxudmFyIG5jbmFtZSA9
ICdbYS16QS1aX11bXFxcXHdcXFxcLVxcXFwuXSonO1xudmFyIHFuYW1lQ2FwdHVyZSA9ICcoKD86
JyArIG5jbmFtZSArICdcXFxcOik/JyArIG5jbmFtZSArICcpJztcbnZhciBzdGFydFRhZ09wZW4g
PSBuZXcgUmVnRXhwKCdePCcgKyBxbmFtZUNhcHR1cmUpO1xudmFyIHN0YXJ0VGFnQ2xvc2UgPSAv
XlxccyooXFwvPyk+LztcbnZhciBlbmRUYWcgPSBuZXcgUmVnRXhwKCdePFxcXFwvJyArIHFuYW1l
Q2FwdHVyZSArICdbXj5dKj4nKTtcbnZhciBkb2N0eXBlID0gL148IURPQ1RZUEUgW14+XSs+L2k7
XG52YXIgY29tbWVudCA9IC9ePCEtLS87XG52YXIgY29uZGl0aW9uYWxDb21tZW50ID0gL148IVxc
Wy87XG5cbnZhciBJU19SRUdFWF9DQVBUVVJJTkdfQlJPS0VOID0gZmFsc2U7XG4neCcucmVwbGFj
ZSgveCguKT8vZywgZnVuY3Rpb24gKG0sIGcpIHtcbiAgSVNfUkVHRVhfQ0FQVFVSSU5HX0JST0tF
TiA9IGcgPT09ICcnO1xufSk7XG5cbi8vIFNwZWNpYWwgRWxlbWVudHMgKGNhbiBjb250YWluIGFu
eXRoaW5nKVxudmFyIGlzUGxhaW5UZXh0RWxlbWVudCA9IG1ha2VNYXAoJ3NjcmlwdCxzdHlsZSx0
ZXh0YXJlYScsIHRydWUpO1xudmFyIHJlQ2FjaGUgPSB7fTtcblxudmFyIGRlY29kaW5nTWFwID0g
e1xuICAnJmx0Oyc6ICc8JyxcbiAgJyZndDsnOiAnPicsXG4gICcmcXVvdDsnOiAnXCInLFxuICAn
JmFtcDsnOiAnJicsXG4gICcmIzEwOyc6ICdcXG4nXG59O1xudmFyIGVuY29kZWRBdHRyID0gLyYo
PzpsdHxndHxxdW90fGFtcCk7L2c7XG52YXIgZW5jb2RlZEF0dHJXaXRoTmV3TGluZXMgPSAvJig/
Omx0fGd0fHF1b3R8YW1wfCMxMCk7L2c7XG5cbi8vICM1OTkyXG52YXIgaXNJZ25vcmVOZXdsaW5l
VGFnID0gbWFrZU1hcCgncHJlLHRleHRhcmVhJywgdHJ1ZSk7XG52YXIgc2hvdWxkSWdub3JlRmly
c3ROZXdsaW5lID0gZnVuY3Rpb24gKHRhZywgaHRtbCkgeyByZXR1cm4gdGFnICYmIGlzSWdub3Jl
TmV3bGluZVRhZyh0YWcpICYmIGh0bWxbMF0gPT09ICdcXG4nOyB9O1xuXG5mdW5jdGlvbiBkZWNv
ZGVBdHRyICh2YWx1ZSwgc2hvdWxkRGVjb2RlTmV3bGluZXMpIHtcbiAgdmFyIHJlID0gc2hvdWxk
RGVjb2RlTmV3bGluZXMgPyBlbmNvZGVkQXR0cldpdGhOZXdMaW5lcyA6IGVuY29kZWRBdHRyO1xu
ICByZXR1cm4gdmFsdWUucmVwbGFjZShyZSwgZnVuY3Rpb24gKG1hdGNoKSB7IHJldHVybiBkZWNv
ZGluZ01hcFttYXRjaF07IH0pXG59XG5cbmZ1bmN0aW9uIHBhcnNlSFRNTCAoaHRtbCwgb3B0aW9u
cykge1xuICB2YXIgc3RhY2sgPSBbXTtcbiAgdmFyIGV4cGVjdEhUTUwgPSBvcHRpb25zLmV4cGVj
dEhUTUw7XG4gIHZhciBpc1VuYXJ5VGFnJCQxID0gb3B0aW9ucy5pc1VuYXJ5VGFnIHx8IG5vO1xu
ICB2YXIgY2FuQmVMZWZ0T3BlblRhZyQkMSA9IG9wdGlvbnMuY2FuQmVMZWZ0T3BlblRhZyB8fCBu
bztcbiAgdmFyIGluZGV4ID0gMDtcbiAgdmFyIGxhc3QsIGxhc3RUYWc7XG4gIHdoaWxlIChodG1s
KSB7XG4gICAgbGFzdCA9IGh0bWw7XG4gICAgLy8gTWFrZSBzdXJlIHdlJ3JlIG5vdCBpbiBhIHBs
YWludGV4dCBjb250ZW50IGVsZW1lbnQgbGlrZSBzY3JpcHQvc3R5bGVcbiAgICBpZiAoIWxhc3RU
YWcgfHwgIWlzUGxhaW5UZXh0RWxlbWVudChsYXN0VGFnKSkge1xuICAgICAgdmFyIHRleHRFbmQg
PSBodG1sLmluZGV4T2YoJzwnKTtcbiAgICAgIGlmICh0ZXh0RW5kID09PSAwKSB7XG4gICAgICAg
IC8vIENvbW1lbnQ6XG4gICAgICAgIGlmIChjb21tZW50LnRlc3QoaHRtbCkpIHtcbiAgICAgICAg
ICB2YXIgY29tbWVudEVuZCA9IGh0bWwuaW5kZXhPZignLS0+Jyk7XG5cbiAgICAgICAgICBpZiAo
Y29tbWVudEVuZCA+PSAwKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5zaG91bGRLZWVwQ29t
bWVudCkge1xuICAgICAgICAgICAgICBvcHRpb25zLmNvbW1lbnQoaHRtbC5zdWJzdHJpbmcoNCwg
Y29tbWVudEVuZCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYWR2YW5jZShjb21tZW50
RW5kICsgMyk7XG4gICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxu
XG4gICAgICAgIC8vIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ29uZGl0aW9uYWxfY29t
bWVudCNEb3dubGV2ZWwtcmV2ZWFsZWRfY29uZGl0aW9uYWxfY29tbWVudFxuICAgICAgICBpZiAo
Y29uZGl0aW9uYWxDb21tZW50LnRlc3QoaHRtbCkpIHtcbiAgICAgICAgICB2YXIgY29uZGl0aW9u
YWxFbmQgPSBodG1sLmluZGV4T2YoJ10+Jyk7XG5cbiAgICAgICAgICBpZiAoY29uZGl0aW9uYWxF
bmQgPj0gMCkge1xuICAgICAgICAgICAgYWR2YW5jZShjb25kaXRpb25hbEVuZCArIDIpO1xuICAg
ICAgICAgICAgY29udGludWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBE
b2N0eXBlOlxuICAgICAgICB2YXIgZG9jdHlwZU1hdGNoID0gaHRtbC5tYXRjaChkb2N0eXBlKTtc
biAgICAgICAgaWYgKGRvY3R5cGVNYXRjaCkge1xuICAgICAgICAgIGFkdmFuY2UoZG9jdHlwZU1h
dGNoWzBdLmxlbmd0aCk7XG4gICAgICAgICAgY29udGludWVcbiAgICAgICAgfVxuXG4gICAgICAg
IC8vIEVuZCB0YWc6XG4gICAgICAgIHZhciBlbmRUYWdNYXRjaCA9IGh0bWwubWF0Y2goZW5kVGFn
KTtcbiAgICAgICAgaWYgKGVuZFRhZ01hdGNoKSB7XG4gICAgICAgICAgdmFyIGN1ckluZGV4ID0g
aW5kZXg7XG4gICAgICAgICAgYWR2YW5jZShlbmRUYWdNYXRjaFswXS5sZW5ndGgpO1xuICAgICAg
ICAgIHBhcnNlRW5kVGFnKGVuZFRhZ01hdGNoWzFdLCBjdXJJbmRleCwgaW5kZXgpO1xuICAgICAg
ICAgIGNvbnRpbnVlXG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdGFydCB0YWc6XG4gICAgICAg
IHZhciBzdGFydFRhZ01hdGNoID0gcGFyc2VTdGFydFRhZygpO1xuICAgICAgICBpZiAoc3RhcnRU
YWdNYXRjaCkge1xuICAgICAgICAgIGhhbmRsZVN0YXJ0VGFnKHN0YXJ0VGFnTWF0Y2gpO1xuICAg
ICAgICAgIGlmIChzaG91bGRJZ25vcmVGaXJzdE5ld2xpbmUobGFzdFRhZywgaHRtbCkpIHtcbiAg
ICAgICAgICAgIGFkdmFuY2UoMSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnRpbnVlXG4g
ICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIHRleHQgPSAodm9pZCAwKSwgcmVzdCA9ICh2
b2lkIDApLCBuZXh0ID0gKHZvaWQgMCk7XG4gICAgICBpZiAodGV4dEVuZCA+PSAwKSB7XG4gICAg
ICAgIHJlc3QgPSBodG1sLnNsaWNlKHRleHRFbmQpO1xuICAgICAgICB3aGlsZSAoXG4gICAgICAg
ICAgIWVuZFRhZy50ZXN0KHJlc3QpICYmXG4gICAgICAgICAgIXN0YXJ0VGFnT3Blbi50ZXN0KHJl
c3QpICYmXG4gICAgICAgICAgIWNvbW1lbnQudGVzdChyZXN0KSAmJlxuICAgICAgICAgICFjb25k
aXRpb25hbENvbW1lbnQudGVzdChyZXN0KVxuICAgICAgICApIHtcbiAgICAgICAgICAvLyA8IGlu
IHBsYWluIHRleHQsIGJlIGZvcmdpdmluZyBhbmQgdHJlYXQgaXQgYXMgdGV4dFxuICAgICAgICAg
IG5leHQgPSByZXN0LmluZGV4T2YoJzwnLCAxKTtcbiAgICAgICAgICBpZiAobmV4dCA8IDApIHsg
YnJlYWsgfVxuICAgICAgICAgIHRleHRFbmQgKz0gbmV4dDtcbiAgICAgICAgICByZXN0ID0gaHRt
bC5zbGljZSh0ZXh0RW5kKTtcbiAgICAgICAgfVxuICAgICAgICB0ZXh0ID0gaHRtbC5zdWJzdHJp
bmcoMCwgdGV4dEVuZCk7XG4gICAgICAgIGFkdmFuY2UodGV4dEVuZCk7XG4gICAgICB9XG5cbiAg
ICAgIGlmICh0ZXh0RW5kIDwgMCkge1xuICAgICAgICB0ZXh0ID0gaHRtbDtcbiAgICAgICAgaHRt
bCA9ICcnO1xuICAgICAgfVxuXG4gICAgICBpZiAob3B0aW9ucy5jaGFycyAmJiB0ZXh0KSB7XG4g
ICAgICAgIG9wdGlvbnMuY2hhcnModGV4dCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAg
IHZhciBlbmRUYWdMZW5ndGggPSAwO1xuICAgICAgdmFyIHN0YWNrZWRUYWcgPSBsYXN0VGFnLnRv
TG93ZXJDYXNlKCk7XG4gICAgICB2YXIgcmVTdGFja2VkVGFnID0gcmVDYWNoZVtzdGFja2VkVGFn
XSB8fCAocmVDYWNoZVtzdGFja2VkVGFnXSA9IG5ldyBSZWdFeHAoJyhbXFxcXHNcXFxcU10qPyko
PC8nICsgc3RhY2tlZFRhZyArICdbXj5dKj4pJywgJ2knKSk7XG4gICAgICB2YXIgcmVzdCQxID0g
aHRtbC5yZXBsYWNlKHJlU3RhY2tlZFRhZywgZnVuY3Rpb24gKGFsbCwgdGV4dCwgZW5kVGFnKSB7
XG4gICAgICAgIGVuZFRhZ0xlbmd0aCA9IGVuZFRhZy5sZW5ndGg7XG4gICAgICAgIGlmICghaXNQ
bGFpblRleHRFbGVtZW50KHN0YWNrZWRUYWcpICYmIHN0YWNrZWRUYWcgIT09ICdub3NjcmlwdCcp
IHtcbiAgICAgICAgICB0ZXh0ID0gdGV4dFxuICAgICAgICAgICAgLnJlcGxhY2UoLzwhLS0oW1xc
c1xcU10qPyktLT4vZywgJyQxJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC88IVxcW0NEQVRBXFxb
KFtcXHNcXFNdKj8pXV0+L2csICckMScpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzaG91bGRJ
Z25vcmVGaXJzdE5ld2xpbmUoc3RhY2tlZFRhZywgdGV4dCkpIHtcbiAgICAgICAgICB0ZXh0ID0g
dGV4dC5zbGljZSgxKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9ucy5jaGFycykge1xu
ICAgICAgICAgIG9wdGlvbnMuY2hhcnModGV4dCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJu
ICcnXG4gICAgICB9KTtcbiAgICAgIGluZGV4ICs9IGh0bWwubGVuZ3RoIC0gcmVzdCQxLmxlbmd0
aDtcbiAgICAgIGh0bWwgPSByZXN0JDE7XG4gICAgICBwYXJzZUVuZFRhZyhzdGFja2VkVGFnLCBp
bmRleCAtIGVuZFRhZ0xlbmd0aCwgaW5kZXgpO1xuICAgIH1cblxuICAgIGlmIChodG1sID09PSBs
YXN0KSB7XG4gICAgICBvcHRpb25zLmNoYXJzICYmIG9wdGlvbnMuY2hhcnMoaHRtbCk7XG4gICAg
ICBpZiAoZmFsc2UpIHtcbiAgICAgICAgb3B0aW9ucy53YXJuKChcIk1hbC1mb3JtYXR0ZWQgdGFn
IGF0IGVuZCBvZiB0ZW1wbGF0ZTogXFxcIlwiICsgaHRtbCArIFwiXFxcIlwiKSk7XG4gICAgICB9
XG4gICAgICBicmVha1xuICAgIH1cbiAgfVxuXG4gIC8vIENsZWFuIHVwIGFueSByZW1haW5pbmcg
dGFnc1xuICBwYXJzZUVuZFRhZygpO1xuXG4gIGZ1bmN0aW9uIGFkdmFuY2UgKG4pIHtcbiAgICBp
bmRleCArPSBuO1xuICAgIGh0bWwgPSBodG1sLnN1YnN0cmluZyhuKTtcbiAgfVxuXG4gIGZ1bmN0
aW9uIHBhcnNlU3RhcnRUYWcgKCkge1xuICAgIHZhciBzdGFydCA9IGh0bWwubWF0Y2goc3RhcnRU
YWdPcGVuKTtcbiAgICBpZiAoc3RhcnQpIHtcbiAgICAgIHZhciBtYXRjaCA9IHtcbiAgICAgICAg
dGFnTmFtZTogc3RhcnRbMV0sXG4gICAgICAgIGF0dHJzOiBbXSxcbiAgICAgICAgc3RhcnQ6IGlu
ZGV4XG4gICAgICB9O1xuICAgICAgYWR2YW5jZShzdGFydFswXS5sZW5ndGgpO1xuICAgICAgdmFy
IGVuZCwgYXR0cjtcbiAgICAgIHdoaWxlICghKGVuZCA9IGh0bWwubWF0Y2goc3RhcnRUYWdDbG9z
ZSkpICYmIChhdHRyID0gaHRtbC5tYXRjaChhdHRyaWJ1dGUpKSkge1xuICAgICAgICBhZHZhbmNl
KGF0dHJbMF0ubGVuZ3RoKTtcbiAgICAgICAgbWF0Y2guYXR0cnMucHVzaChhdHRyKTtcbiAgICAg
IH1cbiAgICAgIGlmIChlbmQpIHtcbiAgICAgICAgbWF0Y2gudW5hcnlTbGFzaCA9IGVuZFsxXTtc
biAgICAgICAgYWR2YW5jZShlbmRbMF0ubGVuZ3RoKTtcbiAgICAgICAgbWF0Y2guZW5kID0gaW5k
ZXg7XG4gICAgICAgIHJldHVybiBtYXRjaFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0
aW9uIGhhbmRsZVN0YXJ0VGFnIChtYXRjaCkge1xuICAgIHZhciB0YWdOYW1lID0gbWF0Y2gudGFn
TmFtZTtcbiAgICB2YXIgdW5hcnlTbGFzaCA9IG1hdGNoLnVuYXJ5U2xhc2g7XG5cbiAgICBpZiAo
ZXhwZWN0SFRNTCkge1xuICAgICAgaWYgKGxhc3RUYWcgPT09ICdwJyAmJiBpc05vblBocmFzaW5n
VGFnKHRhZ05hbWUpKSB7XG4gICAgICAgIHBhcnNlRW5kVGFnKGxhc3RUYWcpO1xuICAgICAgfVxu
ICAgICAgaWYgKGNhbkJlTGVmdE9wZW5UYWckJDEodGFnTmFtZSkgJiYgbGFzdFRhZyA9PT0gdGFn
TmFtZSkge1xuICAgICAgICBwYXJzZUVuZFRhZyh0YWdOYW1lKTtcbiAgICAgIH1cbiAgICB9XG5c
biAgICB2YXIgdW5hcnkgPSBpc1VuYXJ5VGFnJCQxKHRhZ05hbWUpIHx8ICEhdW5hcnlTbGFzaDtc
blxuICAgIHZhciBsID0gbWF0Y2guYXR0cnMubGVuZ3RoO1xuICAgIHZhciBhdHRycyA9IG5ldyBB
cnJheShsKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgdmFyIGFy
Z3MgPSBtYXRjaC5hdHRyc1tpXTtcbiAgICAgIC8vIGhhY2tpc2ggd29yayBhcm91bmQgRkYgYnVn
IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTM2OTc3OFxuICAg
ICAgaWYgKElTX1JFR0VYX0NBUFRVUklOR19CUk9LRU4gJiYgYXJnc1swXS5pbmRleE9mKCdcIlwi
JykgPT09IC0xKSB7XG4gICAgICAgIGlmIChhcmdzWzNdID09PSAnJykgeyBkZWxldGUgYXJnc1sz
XTsgfVxuICAgICAgICBpZiAoYXJnc1s0XSA9PT0gJycpIHsgZGVsZXRlIGFyZ3NbNF07IH1cbiAg
ICAgICAgaWYgKGFyZ3NbNV0gPT09ICcnKSB7IGRlbGV0ZSBhcmdzWzVdOyB9XG4gICAgICB9XG4g
ICAgICB2YXIgdmFsdWUgPSBhcmdzWzNdIHx8IGFyZ3NbNF0gfHwgYXJnc1s1XSB8fCAnJztcbiAg
ICAgIGF0dHJzW2ldID0ge1xuICAgICAgICBuYW1lOiBhcmdzWzFdLFxuICAgICAgICB2YWx1ZTog
ZGVjb2RlQXR0cihcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICBvcHRpb25zLnNob3VsZERl
Y29kZU5ld2xpbmVzXG4gICAgICAgIClcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKCF1bmFy
eSkge1xuICAgICAgc3RhY2sucHVzaCh7IHRhZzogdGFnTmFtZSwgbG93ZXJDYXNlZFRhZzogdGFn
TmFtZS50b0xvd2VyQ2FzZSgpLCBhdHRyczogYXR0cnMgfSk7XG4gICAgICBsYXN0VGFnID0gdGFn
TmFtZTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5zdGFydCkge1xuICAgICAgb3B0aW9ucy5z
dGFydCh0YWdOYW1lLCBhdHRycywgdW5hcnksIG1hdGNoLnN0YXJ0LCBtYXRjaC5lbmQpO1xuICAg
IH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHBhcnNlRW5kVGFnICh0YWdOYW1lLCBzdGFydCwgZW5kKSB7
XG4gICAgdmFyIHBvcywgbG93ZXJDYXNlZFRhZ05hbWU7XG4gICAgaWYgKHN0YXJ0ID09IG51bGwp
IHsgc3RhcnQgPSBpbmRleDsgfVxuICAgIGlmIChlbmQgPT0gbnVsbCkgeyBlbmQgPSBpbmRleDsg
fVxuXG4gICAgaWYgKHRhZ05hbWUpIHtcbiAgICAgIGxvd2VyQ2FzZWRUYWdOYW1lID0gdGFnTmFt
ZS50b0xvd2VyQ2FzZSgpO1xuICAgIH1cblxuICAgIC8vIEZpbmQgdGhlIGNsb3Nlc3Qgb3BlbmVk
IHRhZyBvZiB0aGUgc2FtZSB0eXBlXG4gICAgaWYgKHRhZ05hbWUpIHtcbiAgICAgIGZvciAocG9z
ID0gc3RhY2subGVuZ3RoIC0gMTsgcG9zID49IDA7IHBvcy0tKSB7XG4gICAgICAgIGlmIChzdGFj
a1twb3NdLmxvd2VyQ2FzZWRUYWcgPT09IGxvd2VyQ2FzZWRUYWdOYW1lKSB7XG4gICAgICAgICAg
YnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJZiBubyB0
YWcgbmFtZSBpcyBwcm92aWRlZCwgY2xlYW4gc2hvcFxuICAgICAgcG9zID0gMDtcbiAgICB9XG5c
biAgICBpZiAocG9zID49IDApIHtcbiAgICAgIC8vIENsb3NlIGFsbCB0aGUgb3BlbiBlbGVtZW50
cywgdXAgdGhlIHN0YWNrXG4gICAgICBmb3IgKHZhciBpID0gc3RhY2subGVuZ3RoIC0gMTsgaSA+
PSBwb3M7IGktLSkge1xuICAgICAgICBpZiAoZmFsc2VcbiAgICAgICAgKSB7XG4gICAgICAgICAg
b3B0aW9ucy53YXJuKFxuICAgICAgICAgICAgKFwidGFnIDxcIiArIChzdGFja1tpXS50YWcpICsg
XCI+IGhhcyBubyBtYXRjaGluZyBlbmQgdGFnLlwiKVxuICAgICAgICAgICk7XG4gICAgICAgIH1c
biAgICAgICAgaWYgKG9wdGlvbnMuZW5kKSB7XG4gICAgICAgICAgb3B0aW9ucy5lbmQoc3RhY2tb
aV0udGFnLCBzdGFydCwgZW5kKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZW1v
dmUgdGhlIG9wZW4gZWxlbWVudHMgZnJvbSB0aGUgc3RhY2tcbiAgICAgIHN0YWNrLmxlbmd0aCA9
IHBvcztcbiAgICAgIGxhc3RUYWcgPSBwb3MgJiYgc3RhY2tbcG9zIC0gMV0udGFnO1xuICAgIH0g
ZWxzZSBpZiAobG93ZXJDYXNlZFRhZ05hbWUgPT09ICdicicpIHtcbiAgICAgIGlmIChvcHRpb25z
LnN0YXJ0KSB7XG4gICAgICAgIG9wdGlvbnMuc3RhcnQodGFnTmFtZSwgW10sIHRydWUsIHN0YXJ0
LCBlbmQpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobG93ZXJDYXNlZFRhZ05hbWUgPT09ICdw
Jykge1xuICAgICAgaWYgKG9wdGlvbnMuc3RhcnQpIHtcbiAgICAgICAgb3B0aW9ucy5zdGFydCh0
YWdOYW1lLCBbXSwgZmFsc2UsIHN0YXJ0LCBlbmQpO1xuICAgICAgfVxuICAgICAgaWYgKG9wdGlv
bnMuZW5kKSB7XG4gICAgICAgIG9wdGlvbnMuZW5kKHRhZ05hbWUsIHN0YXJ0LCBlbmQpO1xuICAg
ICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiAgKi9cblxudmFyIG9uUkUgPSAvXkB8XnYtb246Lztc
bnZhciBkaXJSRSA9IC9edi18XkB8XjovO1xudmFyIGZvckFsaWFzUkUgPSAvKC4qPylcXHMrKD86
aW58b2YpXFxzKyguKikvO1xudmFyIGZvckl0ZXJhdG9yUkUgPSAvXFwoKFxce1tefV0qXFx9fFte
LF0qKSwoW14sXSopKD86LChbXixdKikpP1xcKS87XG5cbnZhciBhcmdSRSA9IC86KC4qKSQvO1xu
dmFyIGJpbmRSRSA9IC9eOnxedi1iaW5kOi87XG52YXIgbW9kaWZpZXJSRSA9IC9cXC5bXi5dKy9n
O1xuXG52YXIgZGVjb2RlSFRNTENhY2hlZCA9IGNhY2hlZChoZS5kZWNvZGUpO1xuXG4vLyBjb25m
aWd1cmFibGUgc3RhdGVcbnZhciB3YXJuJDI7XG52YXIgZGVsaW1pdGVycztcbnZhciB0cmFuc2Zv
cm1zO1xudmFyIHByZVRyYW5zZm9ybXM7XG52YXIgcG9zdFRyYW5zZm9ybXM7XG52YXIgcGxhdGZv
cm1Jc1ByZVRhZztcbnZhciBwbGF0Zm9ybU11c3RVc2VQcm9wO1xudmFyIHBsYXRmb3JtR2V0VGFn
TmFtZXNwYWNlO1xuXG4vKipcbiAqIENvbnZlcnQgSFRNTCBzdHJpbmcgdG8gQVNULlxuICovXG5m
dW5jdGlvbiBwYXJzZSAoXG4gIHRlbXBsYXRlLFxuICBvcHRpb25zXG4pIHtcbiAgd2FybiQyID0g
b3B0aW9ucy53YXJuIHx8IGJhc2VXYXJuO1xuXG4gIHBsYXRmb3JtSXNQcmVUYWcgPSBvcHRpb25z
LmlzUHJlVGFnIHx8IG5vO1xuICBwbGF0Zm9ybU11c3RVc2VQcm9wID0gb3B0aW9ucy5tdXN0VXNl
UHJvcCB8fCBubztcbiAgcGxhdGZvcm1HZXRUYWdOYW1lc3BhY2UgPSBvcHRpb25zLmdldFRhZ05h
bWVzcGFjZSB8fCBubztcblxuICB0cmFuc2Zvcm1zID0gcGx1Y2tNb2R1bGVGdW5jdGlvbihvcHRp
b25zLm1vZHVsZXMsICd0cmFuc2Zvcm1Ob2RlJyk7XG4gIHByZVRyYW5zZm9ybXMgPSBwbHVja01v
ZHVsZUZ1bmN0aW9uKG9wdGlvbnMubW9kdWxlcywgJ3ByZVRyYW5zZm9ybU5vZGUnKTtcbiAgcG9z
dFRyYW5zZm9ybXMgPSBwbHVja01vZHVsZUZ1bmN0aW9uKG9wdGlvbnMubW9kdWxlcywgJ3Bvc3RU
cmFuc2Zvcm1Ob2RlJyk7XG5cbiAgZGVsaW1pdGVycyA9IG9wdGlvbnMuZGVsaW1pdGVycztcblxu
ICB2YXIgc3RhY2sgPSBbXTtcbiAgdmFyIHByZXNlcnZlV2hpdGVzcGFjZSA9IG9wdGlvbnMucHJl
c2VydmVXaGl0ZXNwYWNlICE9PSBmYWxzZTtcbiAgdmFyIHJvb3Q7XG4gIHZhciBjdXJyZW50UGFy
ZW50O1xuICB2YXIgaW5WUHJlID0gZmFsc2U7XG4gIHZhciBpblByZSA9IGZhbHNlO1xuICB2YXIg
d2FybmVkID0gZmFsc2U7XG5cbiAgZnVuY3Rpb24gd2Fybk9uY2UgKG1zZykge1xuICAgIGlmICgh
d2FybmVkKSB7XG4gICAgICB3YXJuZWQgPSB0cnVlO1xuICAgICAgd2FybiQyKG1zZyk7XG4gICAg
fVxuICB9XG5cbiAgZnVuY3Rpb24gZW5kUHJlIChlbGVtZW50KSB7XG4gICAgLy8gY2hlY2sgcHJl
IHN0YXRlXG4gICAgaWYgKGVsZW1lbnQucHJlKSB7XG4gICAgICBpblZQcmUgPSBmYWxzZTtcbiAg
ICB9XG4gICAgaWYgKHBsYXRmb3JtSXNQcmVUYWcoZWxlbWVudC50YWcpKSB7XG4gICAgICBpblBy
ZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHBhcnNlSFRNTCh0ZW1wbGF0ZSwge1xuICAgIHdh
cm46IHdhcm4kMixcbiAgICBleHBlY3RIVE1MOiBvcHRpb25zLmV4cGVjdEhUTUwsXG4gICAgaXNV
bmFyeVRhZzogb3B0aW9ucy5pc1VuYXJ5VGFnLFxuICAgIGNhbkJlTGVmdE9wZW5UYWc6IG9wdGlv
bnMuY2FuQmVMZWZ0T3BlblRhZyxcbiAgICBzaG91bGREZWNvZGVOZXdsaW5lczogb3B0aW9ucy5z
aG91bGREZWNvZGVOZXdsaW5lcyxcbiAgICBzaG91bGRLZWVwQ29tbWVudDogb3B0aW9ucy5jb21t
ZW50cyxcbiAgICBzdGFydDogZnVuY3Rpb24gc3RhcnQgKHRhZywgYXR0cnMsIHVuYXJ5KSB7XG4g
ICAgICAvLyBjaGVjayBuYW1lc3BhY2UuXG4gICAgICAvLyBpbmhlcml0IHBhcmVudCBucyBpZiB0
aGVyZSBpcyBvbmVcbiAgICAgIHZhciBucyA9IChjdXJyZW50UGFyZW50ICYmIGN1cnJlbnRQYXJl
bnQubnMpIHx8IHBsYXRmb3JtR2V0VGFnTmFtZXNwYWNlKHRhZyk7XG5cbiAgICAgIC8vIGhhbmRs
ZSBJRSBzdmcgYnVnXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlmIChp
c0lFICYmIG5zID09PSAnc3ZnJykge1xuICAgICAgICBhdHRycyA9IGd1YXJkSUVTVkdCdWcoYXR0
cnMpO1xuICAgICAgfVxuXG4gICAgICB2YXIgZWxlbWVudCA9IHtcbiAgICAgICAgdHlwZTogMSxc
biAgICAgICAgdGFnOiB0YWcsXG4gICAgICAgIGF0dHJzTGlzdDogYXR0cnMsXG4gICAgICAgIGF0
dHJzTWFwOiBtYWtlQXR0cnNNYXAoYXR0cnMpLFxuICAgICAgICBwYXJlbnQ6IGN1cnJlbnRQYXJl
bnQsXG4gICAgICAgIGNoaWxkcmVuOiBbXVxuICAgICAgfTtcbiAgICAgIGlmIChucykge1xuICAg
ICAgICBlbGVtZW50Lm5zID0gbnM7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0ZvcmJpZGRlblRh
ZyhlbGVtZW50KSAmJiAhaXNTZXJ2ZXJSZW5kZXJpbmcoKSkge1xuICAgICAgICBlbGVtZW50LmZv
cmJpZGRlbiA9IHRydWU7XG4gICAgICAgIFwicHJvZHVjdGlvblwiICE9PSAncHJvZHVjdGlvbicg
JiYgd2FybiQyKFxuICAgICAgICAgICdUZW1wbGF0ZXMgc2hvdWxkIG9ubHkgYmUgcmVzcG9uc2li
bGUgZm9yIG1hcHBpbmcgdGhlIHN0YXRlIHRvIHRoZSAnICtcbiAgICAgICAgICAnVUkuIEF2b2lk
IHBsYWNpbmcgdGFncyB3aXRoIHNpZGUtZWZmZWN0cyBpbiB5b3VyIHRlbXBsYXRlcywgc3VjaCBh
cyAnICtcbiAgICAgICAgICBcIjxcIiArIHRhZyArIFwiPlwiICsgJywgYXMgdGhleSB3aWxsIG5v
dCBiZSBwYXJzZWQuJ1xuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBhcHBseSBwcmUt
dHJhbnNmb3Jtc1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcmVUcmFuc2Zvcm1zLmxlbmd0
aDsgaSsrKSB7XG4gICAgICAgIHByZVRyYW5zZm9ybXNbaV0oZWxlbWVudCwgb3B0aW9ucyk7XG4g
ICAgICB9XG5cbiAgICAgIGlmICghaW5WUHJlKSB7XG4gICAgICAgIHByb2Nlc3NQcmUoZWxlbWVu
dCk7XG4gICAgICAgIGlmIChlbGVtZW50LnByZSkge1xuICAgICAgICAgIGluVlByZSA9IHRydWU7
XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChwbGF0Zm9ybUlzUHJlVGFnKGVsZW1lbnQu
dGFnKSkge1xuICAgICAgICBpblByZSA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAoaW5WUHJl
KSB7XG4gICAgICAgIHByb2Nlc3NSYXdBdHRycyhlbGVtZW50KTtcbiAgICAgIH0gZWxzZSB7XG4g
ICAgICAgIHByb2Nlc3NGb3IoZWxlbWVudCk7XG4gICAgICAgIHByb2Nlc3NJZihlbGVtZW50KTtc
biAgICAgICAgcHJvY2Vzc09uY2UoZWxlbWVudCk7XG4gICAgICAgIHByb2Nlc3NLZXkoZWxlbWVu
dCk7XG5cbiAgICAgICAgLy8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhpcyBpcyBhIHBsYWluIGVsZW1l
bnQgYWZ0ZXJcbiAgICAgICAgLy8gcmVtb3Zpbmcgc3RydWN0dXJhbCBhdHRyaWJ1dGVzXG4gICAg
ICAgIGVsZW1lbnQucGxhaW4gPSAhZWxlbWVudC5rZXkgJiYgIWF0dHJzLmxlbmd0aDtcblxuICAg
ICAgICBwcm9jZXNzUmVmKGVsZW1lbnQpO1xuICAgICAgICBwcm9jZXNzU2xvdChlbGVtZW50KTtc
biAgICAgICAgcHJvY2Vzc0NvbXBvbmVudChlbGVtZW50KTtcbiAgICAgICAgZm9yICh2YXIgaSQx
ID0gMDsgaSQxIDwgdHJhbnNmb3Jtcy5sZW5ndGg7IGkkMSsrKSB7XG4gICAgICAgICAgdHJhbnNm
b3Jtc1tpJDFdKGVsZW1lbnQsIG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIHByb2Nlc3NB
dHRycyhlbGVtZW50KTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gY2hlY2tSb290Q29uc3Ry
YWludHMgKGVsKSB7XG4gICAgICAgIGlmIChmYWxzZSkge1xuICAgICAgICAgIGlmIChlbC50YWcg
PT09ICdzbG90JyB8fCBlbC50YWcgPT09ICd0ZW1wbGF0ZScpIHtcbiAgICAgICAgICAgIHdhcm5P
bmNlKFxuICAgICAgICAgICAgICBcIkNhbm5vdCB1c2UgPFwiICsgKGVsLnRhZykgKyBcIj4gYXMg
Y29tcG9uZW50IHJvb3QgZWxlbWVudCBiZWNhdXNlIGl0IG1heSBcIiArXG4gICAgICAgICAgICAg
ICdjb250YWluIG11bHRpcGxlIG5vZGVzLidcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxu
ICAgICAgICAgIGlmIChlbC5hdHRyc01hcC5oYXNPd25Qcm9wZXJ0eSgndi1mb3InKSkge1xuICAg
ICAgICAgICAgd2Fybk9uY2UoXG4gICAgICAgICAgICAgICdDYW5ub3QgdXNlIHYtZm9yIG9uIHN0
YXRlZnVsIGNvbXBvbmVudCByb290IGVsZW1lbnQgYmVjYXVzZSAnICtcbiAgICAgICAgICAgICAg
J2l0IHJlbmRlcnMgbXVsdGlwbGUgZWxlbWVudHMuJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAg
ICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gdHJlZSBtYW5hZ2VtZW50XG4gICAg
ICBpZiAoIXJvb3QpIHtcbiAgICAgICAgcm9vdCA9IGVsZW1lbnQ7XG4gICAgICAgIGNoZWNrUm9v
dENvbnN0cmFpbnRzKHJvb3QpO1xuICAgICAgfSBlbHNlIGlmICghc3RhY2subGVuZ3RoKSB7XG4g
ICAgICAgIC8vIGFsbG93IHJvb3QgZWxlbWVudHMgd2l0aCB2LWlmLCB2LWVsc2UtaWYgYW5kIHYt
ZWxzZVxuICAgICAgICBpZiAocm9vdC5pZiAmJiAoZWxlbWVudC5lbHNlaWYgfHwgZWxlbWVudC5l
bHNlKSkge1xuICAgICAgICAgIGNoZWNrUm9vdENvbnN0cmFpbnRzKGVsZW1lbnQpO1xuICAgICAg
ICAgIGFkZElmQ29uZGl0aW9uKHJvb3QsIHtcbiAgICAgICAgICAgIGV4cDogZWxlbWVudC5lbHNl
aWYsXG4gICAgICAgICAgICBibG9jazogZWxlbWVudFxuICAgICAgICAgIH0pO1xuICAgICAgICB9
IGVsc2UgaWYgKGZhbHNlKSB7XG4gICAgICAgICAgd2Fybk9uY2UoXG4gICAgICAgICAgICBcIkNv
bXBvbmVudCB0ZW1wbGF0ZSBzaG91bGQgY29udGFpbiBleGFjdGx5IG9uZSByb290IGVsZW1lbnQu
IFwiICtcbiAgICAgICAgICAgIFwiSWYgeW91IGFyZSB1c2luZyB2LWlmIG9uIG11bHRpcGxlIGVs
ZW1lbnRzLCBcIiArXG4gICAgICAgICAgICBcInVzZSB2LWVsc2UtaWYgdG8gY2hhaW4gdGhlbSBp
bnN0ZWFkLlwiXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGN1
cnJlbnRQYXJlbnQgJiYgIWVsZW1lbnQuZm9yYmlkZGVuKSB7XG4gICAgICAgIGlmIChlbGVtZW50
LmVsc2VpZiB8fCBlbGVtZW50LmVsc2UpIHtcbiAgICAgICAgICBwcm9jZXNzSWZDb25kaXRpb25z
KGVsZW1lbnQsIGN1cnJlbnRQYXJlbnQpO1xuICAgICAgICB9IGVsc2UgaWYgKGVsZW1lbnQuc2xv
dFNjb3BlKSB7IC8vIHNjb3BlZCBzbG90XG4gICAgICAgICAgY3VycmVudFBhcmVudC5wbGFpbiA9
IGZhbHNlO1xuICAgICAgICAgIHZhciBuYW1lID0gZWxlbWVudC5zbG90VGFyZ2V0IHx8ICdcImRl
ZmF1bHRcIic7KGN1cnJlbnRQYXJlbnQuc2NvcGVkU2xvdHMgfHwgKGN1cnJlbnRQYXJlbnQuc2Nv
cGVkU2xvdHMgPSB7fSkpW25hbWVdID0gZWxlbWVudDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAg
ICAgICBjdXJyZW50UGFyZW50LmNoaWxkcmVuLnB1c2goZWxlbWVudCk7XG4gICAgICAgICAgZWxl
bWVudC5wYXJlbnQgPSBjdXJyZW50UGFyZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBp
ZiAoIXVuYXJ5KSB7XG4gICAgICAgIGN1cnJlbnRQYXJlbnQgPSBlbGVtZW50O1xuICAgICAgICBz
dGFjay5wdXNoKGVsZW1lbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZW5kUHJlKGVsZW1l
bnQpO1xuICAgICAgfVxuICAgICAgLy8gYXBwbHkgcG9zdC10cmFuc2Zvcm1zXG4gICAgICBmb3Ig
KHZhciBpJDIgPSAwOyBpJDIgPCBwb3N0VHJhbnNmb3Jtcy5sZW5ndGg7IGkkMisrKSB7XG4gICAg
ICAgIHBvc3RUcmFuc2Zvcm1zW2kkMl0oZWxlbWVudCwgb3B0aW9ucyk7XG4gICAgICB9XG4gICAg
fSxcblxuICAgIGVuZDogZnVuY3Rpb24gZW5kICgpIHtcbiAgICAgIC8vIHJlbW92ZSB0cmFpbGlu
ZyB3aGl0ZXNwYWNlXG4gICAgICB2YXIgZWxlbWVudCA9IHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFd
O1xuICAgICAgdmFyIGxhc3ROb2RlID0gZWxlbWVudC5jaGlsZHJlbltlbGVtZW50LmNoaWxkcmVu
Lmxlbmd0aCAtIDFdO1xuICAgICAgaWYgKGxhc3ROb2RlICYmIGxhc3ROb2RlLnR5cGUgPT09IDMg
JiYgbGFzdE5vZGUudGV4dCA9PT0gJyAnICYmICFpblByZSkge1xuICAgICAgICBlbGVtZW50LmNo
aWxkcmVuLnBvcCgpO1xuICAgICAgfVxuICAgICAgLy8gcG9wIHN0YWNrXG4gICAgICBzdGFjay5s
ZW5ndGggLT0gMTtcbiAgICAgIGN1cnJlbnRQYXJlbnQgPSBzdGFja1tzdGFjay5sZW5ndGggLSAx
XTtcbiAgICAgIGVuZFByZShlbGVtZW50KTtcbiAgICB9LFxuXG4gICAgY2hhcnM6IGZ1bmN0aW9u
IGNoYXJzICh0ZXh0KSB7XG4gICAgICBpZiAoIWN1cnJlbnRQYXJlbnQpIHtcbiAgICAgICAgaWYg
KGZhbHNlKSB7XG4gICAgICAgICAgaWYgKHRleHQgPT09IHRlbXBsYXRlKSB7XG4gICAgICAgICAg
ICB3YXJuT25jZShcbiAgICAgICAgICAgICAgJ0NvbXBvbmVudCB0ZW1wbGF0ZSByZXF1aXJlcyBh
IHJvb3QgZWxlbWVudCwgcmF0aGVyIHRoYW4ganVzdCB0ZXh0LidcbiAgICAgICAgICAgICk7XG4g
ICAgICAgICAgfSBlbHNlIGlmICgodGV4dCA9IHRleHQudHJpbSgpKSkge1xuICAgICAgICAgICAg
d2Fybk9uY2UoXG4gICAgICAgICAgICAgIChcInRleHQgXFxcIlwiICsgdGV4dCArIFwiXFxcIiBv
dXRzaWRlIHJvb3QgZWxlbWVudCB3aWxsIGJlIGlnbm9yZWQuXCIpXG4gICAgICAgICAgICApO1xu
ICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIC8v
IElFIHRleHRhcmVhIHBsYWNlaG9sZGVyIGJ1Z1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlm
ICovXG4gICAgICBpZiAoaXNJRSAmJlxuICAgICAgICBjdXJyZW50UGFyZW50LnRhZyA9PT0gJ3Rl
eHRhcmVhJyAmJlxuICAgICAgICBjdXJyZW50UGFyZW50LmF0dHJzTWFwLnBsYWNlaG9sZGVyID09
PSB0ZXh0XG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICB2YXIgY2hp
bGRyZW4gPSBjdXJyZW50UGFyZW50LmNoaWxkcmVuO1xuICAgICAgdGV4dCA9IGluUHJlIHx8IHRl
eHQudHJpbSgpXG4gICAgICAgID8gaXNUZXh0VGFnKGN1cnJlbnRQYXJlbnQpID8gdGV4dCA6IGRl
Y29kZUhUTUxDYWNoZWQodGV4dClcbiAgICAgICAgLy8gb25seSBwcmVzZXJ2ZSB3aGl0ZXNwYWNl
IGlmIGl0cyBub3QgcmlnaHQgYWZ0ZXIgYSBzdGFydGluZyB0YWdcbiAgICAgICAgOiBwcmVzZXJ2
ZVdoaXRlc3BhY2UgJiYgY2hpbGRyZW4ubGVuZ3RoID8gJyAnIDogJyc7XG4gICAgICBpZiAodGV4
dCkge1xuICAgICAgICB2YXIgZXhwcmVzc2lvbjtcbiAgICAgICAgaWYgKCFpblZQcmUgJiYgdGV4
dCAhPT0gJyAnICYmIChleHByZXNzaW9uID0gcGFyc2VUZXh0KHRleHQsIGRlbGltaXRlcnMpKSkg
e1xuICAgICAgICAgIGNoaWxkcmVuLnB1c2goe1xuICAgICAgICAgICAgdHlwZTogMixcbiAgICAg
ICAgICAgIGV4cHJlc3Npb246IGV4cHJlc3Npb24sXG4gICAgICAgICAgICB0ZXh0OiB0ZXh0XG4g
ICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGV4dCAhPT0gJyAnIHx8ICFjaGlsZHJl
bi5sZW5ndGggfHwgY2hpbGRyZW5bY2hpbGRyZW4ubGVuZ3RoIC0gMV0udGV4dCAhPT0gJyAnKSB7
XG4gICAgICAgICAgY2hpbGRyZW4ucHVzaCh7XG4gICAgICAgICAgICB0eXBlOiAzLFxuICAgICAg
ICAgICAgdGV4dDogdGV4dFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAg
fSxcbiAgICBjb21tZW50OiBmdW5jdGlvbiBjb21tZW50ICh0ZXh0KSB7XG4gICAgICBjdXJyZW50
UGFyZW50LmNoaWxkcmVuLnB1c2goe1xuICAgICAgICB0eXBlOiAzLFxuICAgICAgICB0ZXh0OiB0
ZXh0LFxuICAgICAgICBpc0NvbW1lbnQ6IHRydWVcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG4g
IHJldHVybiByb290XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NQcmUgKGVsKSB7XG4gIGlmIChnZXRB
bmRSZW1vdmVBdHRyKGVsLCAndi1wcmUnKSAhPSBudWxsKSB7XG4gICAgZWwucHJlID0gdHJ1ZTtc
biAgfVxufVxuXG5mdW5jdGlvbiBwcm9jZXNzUmF3QXR0cnMgKGVsKSB7XG4gIHZhciBsID0gZWwu
YXR0cnNMaXN0Lmxlbmd0aDtcbiAgaWYgKGwpIHtcbiAgICB2YXIgYXR0cnMgPSBlbC5hdHRycyA9
IG5ldyBBcnJheShsKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAg
YXR0cnNbaV0gPSB7XG4gICAgICAgIG5hbWU6IGVsLmF0dHJzTGlzdFtpXS5uYW1lLFxuICAgICAg
ICB2YWx1ZTogSlNPTi5zdHJpbmdpZnkoZWwuYXR0cnNMaXN0W2ldLnZhbHVlKVxuICAgICAgfTtc
biAgICB9XG4gIH0gZWxzZSBpZiAoIWVsLnByZSkge1xuICAgIC8vIG5vbiByb290IG5vZGUgaW4g
cHJlIGJsb2NrcyB3aXRoIG5vIGF0dHJpYnV0ZXNcbiAgICBlbC5wbGFpbiA9IHRydWU7XG4gIH1c
bn1cblxuZnVuY3Rpb24gcHJvY2Vzc0tleSAoZWwpIHtcbiAgdmFyIGV4cCA9IGdldEJpbmRpbmdB
dHRyKGVsLCAna2V5Jyk7XG4gIGlmIChleHApIHtcbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIHdh
cm4kMihcIjx0ZW1wbGF0ZT4gY2Fubm90IGJlIGtleWVkLiBQbGFjZSB0aGUga2V5IG9uIHJlYWwg
ZWxlbWVudHMgaW5zdGVhZC5cIik7XG4gICAgfVxuICAgIGVsLmtleSA9IGV4cDtcbiAgfVxufVxu
XG5mdW5jdGlvbiBwcm9jZXNzUmVmIChlbCkge1xuICB2YXIgcmVmID0gZ2V0QmluZGluZ0F0dHIo
ZWwsICdyZWYnKTtcbiAgaWYgKHJlZikge1xuICAgIGVsLnJlZiA9IHJlZjtcbiAgICBlbC5yZWZJ
bkZvciA9IGNoZWNrSW5Gb3IoZWwpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NGb3IgKGVs
KSB7XG4gIHZhciBleHA7XG4gIGlmICgoZXhwID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3YtZm9y
JykpKSB7XG4gICAgdmFyIGluTWF0Y2ggPSBleHAubWF0Y2goZm9yQWxpYXNSRSk7XG4gICAgaWYg
KCFpbk1hdGNoKSB7XG4gICAgICBcInByb2R1Y3Rpb25cIiAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdh
cm4kMihcbiAgICAgICAgKFwiSW52YWxpZCB2LWZvciBleHByZXNzaW9uOiBcIiArIGV4cClcbiAg
ICAgICk7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgZWwuZm9yID0gaW5NYXRjaFsyXS50cmlt
KCk7XG4gICAgdmFyIGFsaWFzID0gaW5NYXRjaFsxXS50cmltKCk7XG4gICAgdmFyIGl0ZXJhdG9y
TWF0Y2ggPSBhbGlhcy5tYXRjaChmb3JJdGVyYXRvclJFKTtcbiAgICBpZiAoaXRlcmF0b3JNYXRj
aCkge1xuICAgICAgZWwuYWxpYXMgPSBpdGVyYXRvck1hdGNoWzFdLnRyaW0oKTtcbiAgICAgIGVs
Lml0ZXJhdG9yMSA9IGl0ZXJhdG9yTWF0Y2hbMl0udHJpbSgpO1xuICAgICAgaWYgKGl0ZXJhdG9y
TWF0Y2hbM10pIHtcbiAgICAgICAgZWwuaXRlcmF0b3IyID0gaXRlcmF0b3JNYXRjaFszXS50cmlt
KCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsLmFsaWFzID0gYWxpYXM7XG4gICAg
fVxuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NJZiAoZWwpIHtcbiAgdmFyIGV4cCA9IGdldEFu
ZFJlbW92ZUF0dHIoZWwsICd2LWlmJyk7XG4gIGlmIChleHApIHtcbiAgICBlbC5pZiA9IGV4cDtc
biAgICBhZGRJZkNvbmRpdGlvbihlbCwge1xuICAgICAgZXhwOiBleHAsXG4gICAgICBibG9jazog
ZWxcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3Yt
ZWxzZScpICE9IG51bGwpIHtcbiAgICAgIGVsLmVsc2UgPSB0cnVlO1xuICAgIH1cbiAgICB2YXIg
ZWxzZWlmID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3YtZWxzZS1pZicpO1xuICAgIGlmIChlbHNl
aWYpIHtcbiAgICAgIGVsLmVsc2VpZiA9IGVsc2VpZjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rp
b24gcHJvY2Vzc0lmQ29uZGl0aW9ucyAoZWwsIHBhcmVudCkge1xuICB2YXIgcHJldiA9IGZpbmRQ
cmV2RWxlbWVudChwYXJlbnQuY2hpbGRyZW4pO1xuICBpZiAocHJldiAmJiBwcmV2LmlmKSB7XG4g
ICAgYWRkSWZDb25kaXRpb24ocHJldiwge1xuICAgICAgZXhwOiBlbC5lbHNlaWYsXG4gICAgICBi
bG9jazogZWxcbiAgICB9KTtcbiAgfSBlbHNlIGlmIChmYWxzZSkge1xuICAgIHdhcm4kMihcbiAg
ICAgIFwidi1cIiArIChlbC5lbHNlaWYgPyAoJ2Vsc2UtaWY9XCInICsgZWwuZWxzZWlmICsgJ1wi
JykgOiAnZWxzZScpICsgXCIgXCIgK1xuICAgICAgXCJ1c2VkIG9uIGVsZW1lbnQgPFwiICsgKGVs
LnRhZykgKyBcIj4gd2l0aG91dCBjb3JyZXNwb25kaW5nIHYtaWYuXCJcbiAgICApO1xuICB9XG59
XG5cbmZ1bmN0aW9uIGZpbmRQcmV2RWxlbWVudCAoY2hpbGRyZW4pIHtcbiAgdmFyIGkgPSBjaGls
ZHJlbi5sZW5ndGg7XG4gIHdoaWxlIChpLS0pIHtcbiAgICBpZiAoY2hpbGRyZW5baV0udHlwZSA9
PT0gMSkge1xuICAgICAgcmV0dXJuIGNoaWxkcmVuW2ldXG4gICAgfSBlbHNlIHtcbiAgICAgIGlm
IChmYWxzZSkge1xuICAgICAgICB3YXJuJDIoXG4gICAgICAgICAgXCJ0ZXh0IFxcXCJcIiArIChj
aGlsZHJlbltpXS50ZXh0LnRyaW0oKSkgKyBcIlxcXCIgYmV0d2VlbiB2LWlmIGFuZCB2LWVsc2Uo
LWlmKSBcIiArXG4gICAgICAgICAgXCJ3aWxsIGJlIGlnbm9yZWQuXCJcbiAgICAgICAgKTtcbiAg
ICAgIH1cbiAgICAgIGNoaWxkcmVuLnBvcCgpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBh
ZGRJZkNvbmRpdGlvbiAoZWwsIGNvbmRpdGlvbikge1xuICBpZiAoIWVsLmlmQ29uZGl0aW9ucykg
e1xuICAgIGVsLmlmQ29uZGl0aW9ucyA9IFtdO1xuICB9XG4gIGVsLmlmQ29uZGl0aW9ucy5wdXNo
KGNvbmRpdGlvbik7XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NPbmNlIChlbCkge1xuICB2YXIgb25j
ZSQkMSA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICd2LW9uY2UnKTtcbiAgaWYgKG9uY2UkJDEgIT0g
bnVsbCkge1xuICAgIGVsLm9uY2UgPSB0cnVlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NT
bG90IChlbCkge1xuICBpZiAoZWwudGFnID09PSAnc2xvdCcpIHtcbiAgICBlbC5zbG90TmFtZSA9
IGdldEJpbmRpbmdBdHRyKGVsLCAnbmFtZScpO1xuICAgIGlmIChmYWxzZSkge1xuICAgICAgd2Fy
biQyKFxuICAgICAgICBcImBrZXlgIGRvZXMgbm90IHdvcmsgb24gPHNsb3Q+IGJlY2F1c2Ugc2xv
dHMgYXJlIGFic3RyYWN0IG91dGxldHMgXCIgK1xuICAgICAgICBcImFuZCBjYW4gcG9zc2libHkg
ZXhwYW5kIGludG8gbXVsdGlwbGUgZWxlbWVudHMuIFwiICtcbiAgICAgICAgXCJVc2UgdGhlIGtl
eSBvbiBhIHdyYXBwaW5nIGVsZW1lbnQgaW5zdGVhZC5cIlxuICAgICAgKTtcbiAgICB9XG4gIH0g
ZWxzZSB7XG4gICAgdmFyIHNsb3RUYXJnZXQgPSBnZXRCaW5kaW5nQXR0cihlbCwgJ3Nsb3QnKTtc
biAgICBpZiAoc2xvdFRhcmdldCkge1xuICAgICAgZWwuc2xvdFRhcmdldCA9IHNsb3RUYXJnZXQg
PT09ICdcIlwiJyA/ICdcImRlZmF1bHRcIicgOiBzbG90VGFyZ2V0O1xuICAgIH1cbiAgICBpZiAo
ZWwudGFnID09PSAndGVtcGxhdGUnKSB7XG4gICAgICBlbC5zbG90U2NvcGUgPSBnZXRBbmRSZW1v
dmVBdHRyKGVsLCAnc2NvcGUnKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0Nv
bXBvbmVudCAoZWwpIHtcbiAgdmFyIGJpbmRpbmc7XG4gIGlmICgoYmluZGluZyA9IGdldEJpbmRp
bmdBdHRyKGVsLCAnaXMnKSkpIHtcbiAgICBlbC5jb21wb25lbnQgPSBiaW5kaW5nO1xuICB9XG4g
IGlmIChnZXRBbmRSZW1vdmVBdHRyKGVsLCAnaW5saW5lLXRlbXBsYXRlJykgIT0gbnVsbCkge1xu
ICAgIGVsLmlubGluZVRlbXBsYXRlID0gdHJ1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwcm9jZXNz
QXR0cnMgKGVsKSB7XG4gIHZhciBsaXN0ID0gZWwuYXR0cnNMaXN0O1xuICB2YXIgaSwgbCwgbmFt
ZSwgcmF3TmFtZSwgdmFsdWUsIG1vZGlmaWVycywgaXNQcm9wO1xuICBmb3IgKGkgPSAwLCBsID0g
bGlzdC5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBuYW1lID0gcmF3TmFtZSA9IGxpc3RbaV0u
bmFtZTtcbiAgICB2YWx1ZSA9IGxpc3RbaV0udmFsdWU7XG4gICAgaWYgKGRpclJFLnRlc3QobmFt
ZSkpIHtcbiAgICAgIC8vIG1hcmsgZWxlbWVudCBhcyBkeW5hbWljXG4gICAgICBlbC5oYXNCaW5k
aW5ncyA9IHRydWU7XG4gICAgICAvLyBtb2RpZmllcnNcbiAgICAgIG1vZGlmaWVycyA9IHBhcnNl
TW9kaWZpZXJzKG5hbWUpO1xuICAgICAgaWYgKG1vZGlmaWVycykge1xuICAgICAgICBuYW1lID0g
bmFtZS5yZXBsYWNlKG1vZGlmaWVyUkUsICcnKTtcbiAgICAgIH1cbiAgICAgIGlmIChiaW5kUkUu
dGVzdChuYW1lKSkgeyAvLyB2LWJpbmRcbiAgICAgICAgbmFtZSA9IG5hbWUucmVwbGFjZShiaW5k
UkUsICcnKTtcbiAgICAgICAgdmFsdWUgPSBwYXJzZUZpbHRlcnModmFsdWUpO1xuICAgICAgICBp
c1Byb3AgPSBmYWxzZTtcbiAgICAgICAgaWYgKG1vZGlmaWVycykge1xuICAgICAgICAgIGlmICht
b2RpZmllcnMucHJvcCkge1xuICAgICAgICAgICAgaXNQcm9wID0gdHJ1ZTtcbiAgICAgICAgICAg
IG5hbWUgPSBjYW1lbGl6ZShuYW1lKTtcbiAgICAgICAgICAgIGlmIChuYW1lID09PSAnaW5uZXJI
dG1sJykgeyBuYW1lID0gJ2lubmVySFRNTCc7IH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYg
KG1vZGlmaWVycy5jYW1lbCkge1xuICAgICAgICAgICAgbmFtZSA9IGNhbWVsaXplKG5hbWUpO1xu
ICAgICAgICAgIH1cbiAgICAgICAgICBpZiAobW9kaWZpZXJzLnN5bmMpIHtcbiAgICAgICAgICAg
IGFkZEhhbmRsZXIoXG4gICAgICAgICAgICAgIGVsLFxuICAgICAgICAgICAgICAoXCJ1cGRhdGU6
XCIgKyAoY2FtZWxpemUobmFtZSkpKSxcbiAgICAgICAgICAgICAgZ2VuQXNzaWdubWVudENvZGUo
dmFsdWUsIFwiJGV2ZW50XCIpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAg
fVxuICAgICAgICBpZiAoaXNQcm9wIHx8IChcbiAgICAgICAgICAhZWwuY29tcG9uZW50ICYmIHBs
YXRmb3JtTXVzdFVzZVByb3AoZWwudGFnLCBlbC5hdHRyc01hcC50eXBlLCBuYW1lKVxuICAgICAg
ICApKSB7XG4gICAgICAgICAgYWRkUHJvcChlbCwgbmFtZSwgdmFsdWUpO1xuICAgICAgICB9IGVs
c2Uge1xuICAgICAgICAgIGFkZEF0dHIoZWwsIG5hbWUsIHZhbHVlKTtcbiAgICAgICAgfVxuICAg
ICAgfSBlbHNlIGlmIChvblJFLnRlc3QobmFtZSkpIHsgLy8gdi1vblxuICAgICAgICBuYW1lID0g
bmFtZS5yZXBsYWNlKG9uUkUsICcnKTtcbiAgICAgICAgYWRkSGFuZGxlcihlbCwgbmFtZSwgdmFs
dWUsIG1vZGlmaWVycywgZmFsc2UsIHdhcm4kMik7XG4gICAgICB9IGVsc2UgeyAvLyBub3JtYWwg
ZGlyZWN0aXZlc1xuICAgICAgICBuYW1lID0gbmFtZS5yZXBsYWNlKGRpclJFLCAnJyk7XG4gICAg
ICAgIC8vIHBhcnNlIGFyZ1xuICAgICAgICB2YXIgYXJnTWF0Y2ggPSBuYW1lLm1hdGNoKGFyZ1JF
KTtcbiAgICAgICAgdmFyIGFyZyA9IGFyZ01hdGNoICYmIGFyZ01hdGNoWzFdO1xuICAgICAgICBp
ZiAoYXJnKSB7XG4gICAgICAgICAgbmFtZSA9IG5hbWUuc2xpY2UoMCwgLShhcmcubGVuZ3RoICsg
MSkpO1xuICAgICAgICB9XG4gICAgICAgIGFkZERpcmVjdGl2ZShlbCwgbmFtZSwgcmF3TmFtZSwg
dmFsdWUsIGFyZywgbW9kaWZpZXJzKTtcbiAgICAgICAgaWYgKGZhbHNlKSB7XG4gICAgICAgICAg
Y2hlY2tGb3JBbGlhc01vZGVsKGVsLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9
IGVsc2Uge1xuICAgICAgLy8gbGl0ZXJhbCBhdHRyaWJ1dGVcbiAgICAgIGlmIChmYWxzZSkge1xu
ICAgICAgICB2YXIgZXhwcmVzc2lvbiA9IHBhcnNlVGV4dCh2YWx1ZSwgZGVsaW1pdGVycyk7XG4g
ICAgICAgIGlmIChleHByZXNzaW9uKSB7XG4gICAgICAgICAgd2FybiQyKFxuICAgICAgICAgICAg
bmFtZSArIFwiPVxcXCJcIiArIHZhbHVlICsgXCJcXFwiOiBcIiArXG4gICAgICAgICAgICAnSW50
ZXJwb2xhdGlvbiBpbnNpZGUgYXR0cmlidXRlcyBoYXMgYmVlbiByZW1vdmVkLiAnICtcbiAgICAg
ICAgICAgICdVc2Ugdi1iaW5kIG9yIHRoZSBjb2xvbiBzaG9ydGhhbmQgaW5zdGVhZC4gRm9yIGV4
YW1wbGUsICcgK1xuICAgICAgICAgICAgJ2luc3RlYWQgb2YgPGRpdiBpZD1cInt7IHZhbCB9fVwi
PiwgdXNlIDxkaXYgOmlkPVwidmFsXCI+LidcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAg
ICB9XG4gICAgICBhZGRBdHRyKGVsLCBuYW1lLCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xuICAg
IH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjaGVja0luRm9yIChlbCkge1xuICB2YXIgcGFyZW50ID0g
ZWw7XG4gIHdoaWxlIChwYXJlbnQpIHtcbiAgICBpZiAocGFyZW50LmZvciAhPT0gdW5kZWZpbmVk
KSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICBwYXJlbnQgPSBwYXJlbnQucGFyZW50
O1xuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG5mdW5jdGlvbiBwYXJzZU1vZGlmaWVycyAobmFt
ZSkge1xuICB2YXIgbWF0Y2ggPSBuYW1lLm1hdGNoKG1vZGlmaWVyUkUpO1xuICBpZiAobWF0Y2gp
IHtcbiAgICB2YXIgcmV0ID0ge307XG4gICAgbWF0Y2guZm9yRWFjaChmdW5jdGlvbiAobSkgeyBy
ZXRbbS5zbGljZSgxKV0gPSB0cnVlOyB9KTtcbiAgICByZXR1cm4gcmV0XG4gIH1cbn1cblxuZnVu
Y3Rpb24gbWFrZUF0dHJzTWFwIChhdHRycykge1xuICB2YXIgbWFwID0ge307XG4gIGZvciAodmFy
IGkgPSAwLCBsID0gYXR0cnMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgaWYgKFxuICAgICAg
ZmFsc2VcbiAgICApIHtcbiAgICAgIHdhcm4kMignZHVwbGljYXRlIGF0dHJpYnV0ZTogJyArIGF0
dHJzW2ldLm5hbWUpO1xuICAgIH1cbiAgICBtYXBbYXR0cnNbaV0ubmFtZV0gPSBhdHRyc1tpXS52
YWx1ZTtcbiAgfVxuICByZXR1cm4gbWFwXG59XG5cbi8vIGZvciBzY3JpcHQgKGUuZy4gdHlwZT1c
IngvdGVtcGxhdGVcIikgb3Igc3R5bGUsIGRvIG5vdCBkZWNvZGUgY29udGVudFxuZnVuY3Rpb24g
aXNUZXh0VGFnIChlbCkge1xuICByZXR1cm4gZWwudGFnID09PSAnc2NyaXB0JyB8fCBlbC50YWcg
PT09ICdzdHlsZSdcbn1cblxuZnVuY3Rpb24gaXNGb3JiaWRkZW5UYWcgKGVsKSB7XG4gIHJldHVy
biAoXG4gICAgZWwudGFnID09PSAnc3R5bGUnIHx8XG4gICAgKGVsLnRhZyA9PT0gJ3NjcmlwdCcg
JiYgKFxuICAgICAgIWVsLmF0dHJzTWFwLnR5cGUgfHxcbiAgICAgIGVsLmF0dHJzTWFwLnR5cGUg
PT09ICd0ZXh0L2phdmFzY3JpcHQnXG4gICAgKSlcbiAgKVxufVxuXG52YXIgaWVOU0J1ZyA9IC9e
eG1sbnM6TlNcXGQrLztcbnZhciBpZU5TUHJlZml4ID0gL15OU1xcZCs6LztcblxuLyogaXN0YW5i
dWwgaWdub3JlIG5leHQgKi9cbmZ1bmN0aW9uIGd1YXJkSUVTVkdCdWcgKGF0dHJzKSB7XG4gIHZh
ciByZXMgPSBbXTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBhdHRycy5sZW5ndGg7IGkrKykge1xu
ICAgIHZhciBhdHRyID0gYXR0cnNbaV07XG4gICAgaWYgKCFpZU5TQnVnLnRlc3QoYXR0ci5uYW1l
KSkge1xuICAgICAgYXR0ci5uYW1lID0gYXR0ci5uYW1lLnJlcGxhY2UoaWVOU1ByZWZpeCwgJycp
O1xuICAgICAgcmVzLnB1c2goYXR0cik7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNcbn1cblxu
ZnVuY3Rpb24gY2hlY2tGb3JBbGlhc01vZGVsIChlbCwgdmFsdWUpIHtcbiAgdmFyIF9lbCA9IGVs
O1xuICB3aGlsZSAoX2VsKSB7XG4gICAgaWYgKF9lbC5mb3IgJiYgX2VsLmFsaWFzID09PSB2YWx1
ZSkge1xuICAgICAgd2FybiQyKFxuICAgICAgICBcIjxcIiArIChlbC50YWcpICsgXCIgdi1tb2Rl
bD1cXFwiXCIgKyB2YWx1ZSArIFwiXFxcIj46IFwiICtcbiAgICAgICAgXCJZb3UgYXJlIGJpbmRp
bmcgdi1tb2RlbCBkaXJlY3RseSB0byBhIHYtZm9yIGl0ZXJhdGlvbiBhbGlhcy4gXCIgK1xuICAg
ICAgICBcIlRoaXMgd2lsbCBub3QgYmUgYWJsZSB0byBtb2RpZnkgdGhlIHYtZm9yIHNvdXJjZSBh
cnJheSBiZWNhdXNlIFwiICtcbiAgICAgICAgXCJ3cml0aW5nIHRvIHRoZSBhbGlhcyBpcyBsaWtl
IG1vZGlmeWluZyBhIGZ1bmN0aW9uIGxvY2FsIHZhcmlhYmxlLiBcIiArXG4gICAgICAgIFwiQ29u
c2lkZXIgdXNpbmcgYW4gYXJyYXkgb2Ygb2JqZWN0cyBhbmQgdXNlIHYtbW9kZWwgb24gYW4gb2Jq
ZWN0IHByb3BlcnR5IGluc3RlYWQuXCJcbiAgICAgICk7XG4gICAgfVxuICAgIF9lbCA9IF9lbC5w
YXJlbnQ7XG4gIH1cbn1cblxuLyogICovXG5cbnZhciBpc1N0YXRpY0tleTtcbnZhciBpc1BsYXRm
b3JtUmVzZXJ2ZWRUYWc7XG5cbnZhciBnZW5TdGF0aWNLZXlzQ2FjaGVkID0gY2FjaGVkKGdlblN0
YXRpY0tleXMkMSk7XG5cbi8qKlxuICogR29hbCBvZiB0aGUgb3B0aW1pemVyOiB3YWxrIHRoZSBn
ZW5lcmF0ZWQgdGVtcGxhdGUgQVNUIHRyZWVcbiAqIGFuZCBkZXRlY3Qgc3ViLXRyZWVzIHRoYXQg
YXJlIHB1cmVseSBzdGF0aWMsIGkuZS4gcGFydHMgb2ZcbiAqIHRoZSBET00gdGhhdCBuZXZlciBu
ZWVkcyB0byBjaGFuZ2UuXG4gKlxuICogT25jZSB3ZSBkZXRlY3QgdGhlc2Ugc3ViLXRyZWVzLCB3
ZSBjYW46XG4gKlxuICogMS4gSG9pc3QgdGhlbSBpbnRvIGNvbnN0YW50cywgc28gdGhhdCB3ZSBu
byBsb25nZXIgbmVlZCB0b1xuICogICAgY3JlYXRlIGZyZXNoIG5vZGVzIGZvciB0aGVtIG9uIGVh
Y2ggcmUtcmVuZGVyO1xuICogMi4gQ29tcGxldGVseSBza2lwIHRoZW0gaW4gdGhlIHBhdGNoaW5n
IHByb2Nlc3MuXG4gKi9cbmZ1bmN0aW9uIG9wdGltaXplIChyb290LCBvcHRpb25zKSB7XG4gIGlm
ICghcm9vdCkgeyByZXR1cm4gfVxuICBpc1N0YXRpY0tleSA9IGdlblN0YXRpY0tleXNDYWNoZWQo
b3B0aW9ucy5zdGF0aWNLZXlzIHx8ICcnKTtcbiAgaXNQbGF0Zm9ybVJlc2VydmVkVGFnID0gb3B0
aW9ucy5pc1Jlc2VydmVkVGFnIHx8IG5vO1xuICAvLyBmaXJzdCBwYXNzOiBtYXJrIGFsbCBub24t
c3RhdGljIG5vZGVzLlxuICBtYXJrU3RhdGljJDEocm9vdCk7XG4gIC8vIHNlY29uZCBwYXNzOiBt
YXJrIHN0YXRpYyByb290cy5cbiAgbWFya1N0YXRpY1Jvb3RzKHJvb3QsIGZhbHNlKTtcbn1cblxu
ZnVuY3Rpb24gZ2VuU3RhdGljS2V5cyQxIChrZXlzKSB7XG4gIHJldHVybiBtYWtlTWFwKFxuICAg
ICd0eXBlLHRhZyxhdHRyc0xpc3QsYXR0cnNNYXAscGxhaW4scGFyZW50LGNoaWxkcmVuLGF0dHJz
JyArXG4gICAgKGtleXMgPyAnLCcgKyBrZXlzIDogJycpXG4gIClcbn1cblxuZnVuY3Rpb24gbWFy
a1N0YXRpYyQxIChub2RlKSB7XG4gIG5vZGUuc3RhdGljID0gaXNTdGF0aWMobm9kZSk7XG4gIGlm
IChub2RlLnR5cGUgPT09IDEpIHtcbiAgICAvLyBkbyBub3QgbWFrZSBjb21wb25lbnQgc2xvdCBj
b250ZW50IHN0YXRpYy4gdGhpcyBhdm9pZHNcbiAgICAvLyAxLiBjb21wb25lbnRzIG5vdCBhYmxl
IHRvIG11dGF0ZSBzbG90IG5vZGVzXG4gICAgLy8gMi4gc3RhdGljIHNsb3QgY29udGVudCBmYWls
cyBmb3IgaG90LXJlbG9hZGluZ1xuICAgIGlmIChcbiAgICAgICFpc1BsYXRmb3JtUmVzZXJ2ZWRU
YWcobm9kZS50YWcpICYmXG4gICAgICBub2RlLnRhZyAhPT0gJ3Nsb3QnICYmXG4gICAgICBub2Rl
LmF0dHJzTWFwWydpbmxpbmUtdGVtcGxhdGUnXSA9PSBudWxsXG4gICAgKSB7XG4gICAgICByZXR1
cm5cbiAgICB9XG4gICAgZm9yICh2YXIgaSA9IDAsIGwgPSBub2RlLmNoaWxkcmVuLmxlbmd0aDsg
aSA8IGw7IGkrKykge1xuICAgICAgdmFyIGNoaWxkID0gbm9kZS5jaGlsZHJlbltpXTtcbiAgICAg
IG1hcmtTdGF0aWMkMShjaGlsZCk7XG4gICAgICBpZiAoIWNoaWxkLnN0YXRpYykge1xuICAgICAg
ICBub2RlLnN0YXRpYyA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAobm9kZS5pZkNv
bmRpdGlvbnMpIHtcbiAgICAgIGZvciAodmFyIGkkMSA9IDEsIGwkMSA9IG5vZGUuaWZDb25kaXRp
b25zLmxlbmd0aDsgaSQxIDwgbCQxOyBpJDErKykge1xuICAgICAgICB2YXIgYmxvY2sgPSBub2Rl
LmlmQ29uZGl0aW9uc1tpJDFdLmJsb2NrO1xuICAgICAgICBtYXJrU3RhdGljJDEoYmxvY2spO1xu
ICAgICAgICBpZiAoIWJsb2NrLnN0YXRpYykge1xuICAgICAgICAgIG5vZGUuc3RhdGljID0gZmFs
c2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFya1N0
YXRpY1Jvb3RzIChub2RlLCBpc0luRm9yKSB7XG4gIGlmIChub2RlLnR5cGUgPT09IDEpIHtcbiAg
ICBpZiAobm9kZS5zdGF0aWMgfHwgbm9kZS5vbmNlKSB7XG4gICAgICBub2RlLnN0YXRpY0luRm9y
ID0gaXNJbkZvcjtcbiAgICB9XG4gICAgLy8gRm9yIGEgbm9kZSB0byBxdWFsaWZ5IGFzIGEgc3Rh
dGljIHJvb3QsIGl0IHNob3VsZCBoYXZlIGNoaWxkcmVuIHRoYXRcbiAgICAvLyBhcmUgbm90IGp1
c3Qgc3RhdGljIHRleHQuIE90aGVyd2lzZSB0aGUgY29zdCBvZiBob2lzdGluZyBvdXQgd2lsbFxu
ICAgIC8vIG91dHdlaWdoIHRoZSBiZW5lZml0cyBhbmQgaXQncyBiZXR0ZXIgb2ZmIHRvIGp1c3Qg
YWx3YXlzIHJlbmRlciBpdCBmcmVzaC5cbiAgICBpZiAobm9kZS5zdGF0aWMgJiYgbm9kZS5jaGls
ZHJlbi5sZW5ndGggJiYgIShcbiAgICAgIG5vZGUuY2hpbGRyZW4ubGVuZ3RoID09PSAxICYmXG4g
ICAgICBub2RlLmNoaWxkcmVuWzBdLnR5cGUgPT09IDNcbiAgICApKSB7XG4gICAgICBub2RlLnN0
YXRpY1Jvb3QgPSB0cnVlO1xuICAgICAgcmV0dXJuXG4gICAgfSBlbHNlIHtcbiAgICAgIG5vZGUu
c3RhdGljUm9vdCA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAobm9kZS5jaGlsZHJlbikge1xuICAg
ICAgZm9yICh2YXIgaSA9IDAsIGwgPSBub2RlLmNoaWxkcmVuLmxlbmd0aDsgaSA8IGw7IGkrKykg
e1xuICAgICAgICBtYXJrU3RhdGljUm9vdHMobm9kZS5jaGlsZHJlbltpXSwgaXNJbkZvciB8fCAh
IW5vZGUuZm9yKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKG5vZGUuaWZDb25kaXRpb25zKSB7
XG4gICAgICBmb3IgKHZhciBpJDEgPSAxLCBsJDEgPSBub2RlLmlmQ29uZGl0aW9ucy5sZW5ndGg7
IGkkMSA8IGwkMTsgaSQxKyspIHtcbiAgICAgICAgbWFya1N0YXRpY1Jvb3RzKG5vZGUuaWZDb25k
aXRpb25zW2kkMV0uYmxvY2ssIGlzSW5Gb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5m
dW5jdGlvbiBpc1N0YXRpYyAobm9kZSkge1xuICBpZiAobm9kZS50eXBlID09PSAyKSB7IC8vIGV4
cHJlc3Npb25cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBpZiAobm9kZS50eXBlID09PSAzKSB7
IC8vIHRleHRcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG4gIHJldHVybiAhIShub2RlLnByZSB8fCAo
XG4gICAgIW5vZGUuaGFzQmluZGluZ3MgJiYgLy8gbm8gZHluYW1pYyBiaW5kaW5nc1xuICAgICFu
b2RlLmlmICYmICFub2RlLmZvciAmJiAvLyBub3Qgdi1pZiBvciB2LWZvciBvciB2LWVsc2VcbiAg
ICAhaXNCdWlsdEluVGFnKG5vZGUudGFnKSAmJiAvLyBub3QgYSBidWlsdC1pblxuICAgIGlzUGxh
dGZvcm1SZXNlcnZlZFRhZyhub2RlLnRhZykgJiYgLy8gbm90IGEgY29tcG9uZW50XG4gICAgIWlz
RGlyZWN0Q2hpbGRPZlRlbXBsYXRlRm9yKG5vZGUpICYmXG4gICAgT2JqZWN0LmtleXMobm9kZSku
ZXZlcnkoaXNTdGF0aWNLZXkpXG4gICkpXG59XG5cbmZ1bmN0aW9uIGlzRGlyZWN0Q2hpbGRPZlRl
bXBsYXRlRm9yIChub2RlKSB7XG4gIHdoaWxlIChub2RlLnBhcmVudCkge1xuICAgIG5vZGUgPSBu
b2RlLnBhcmVudDtcbiAgICBpZiAobm9kZS50YWcgIT09ICd0ZW1wbGF0ZScpIHtcbiAgICAgIHJl
dHVybiBmYWxzZVxuICAgIH1cbiAgICBpZiAobm9kZS5mb3IpIHtcbiAgICAgIHJldHVybiB0cnVl
XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG4vKiAgKi9cblxudmFyIGZuRXhwUkUg
PSAvXlxccyooW1xcdyRfXSt8XFwoW14pXSo/XFwpKVxccyo9PnxeZnVuY3Rpb25cXHMqXFwoLztc
bnZhciBzaW1wbGVQYXRoUkUgPSAvXlxccypbQS1aYS16XyRdW1xcdyRdKig/OlxcLltBLVphLXpf
JF1bXFx3JF0qfFxcWycuKj8nXXxcXFtcIi4qP1wiXXxcXFtcXGQrXXxcXFtbQS1aYS16XyRdW1xc
dyRdKl0pKlxccyokLztcblxuLy8ga2V5Q29kZSBhbGlhc2VzXG52YXIga2V5Q29kZXMgPSB7XG4g
IGVzYzogMjcsXG4gIHRhYjogOSxcbiAgZW50ZXI6IDEzLFxuICBzcGFjZTogMzIsXG4gIHVwOiAz
OCxcbiAgbGVmdDogMzcsXG4gIHJpZ2h0OiAzOSxcbiAgZG93bjogNDAsXG4gICdkZWxldGUnOiBb
OCwgNDZdXG59O1xuXG4vLyAjNDg2ODogbW9kaWZpZXJzIHRoYXQgcHJldmVudCB0aGUgZXhlY3V0
aW9uIG9mIHRoZSBsaXN0ZW5lclxuLy8gbmVlZCB0byBleHBsaWNpdGx5IHJldHVybiBudWxsIHNv
IHRoYXQgd2UgY2FuIGRldGVybWluZSB3aGV0aGVyIHRvIHJlbW92ZVxuLy8gdGhlIGxpc3RlbmVy
IGZvciAub25jZVxudmFyIGdlbkd1YXJkID0gZnVuY3Rpb24gKGNvbmRpdGlvbikgeyByZXR1cm4g
KFwiaWYoXCIgKyBjb25kaXRpb24gKyBcIilyZXR1cm4gbnVsbDtcIik7IH07XG5cbnZhciBtb2Rp
ZmllckNvZGUgPSB7XG4gIHN0b3A6ICckZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7JyxcbiAgcHJl
dmVudDogJyRldmVudC5wcmV2ZW50RGVmYXVsdCgpOycsXG4gIHNlbGY6IGdlbkd1YXJkKFwiJGV2
ZW50LnRhcmdldCAhPT0gJGV2ZW50LmN1cnJlbnRUYXJnZXRcIiksXG4gIGN0cmw6IGdlbkd1YXJk
KFwiISRldmVudC5jdHJsS2V5XCIpLFxuICBzaGlmdDogZ2VuR3VhcmQoXCIhJGV2ZW50LnNoaWZ0
S2V5XCIpLFxuICBhbHQ6IGdlbkd1YXJkKFwiISRldmVudC5hbHRLZXlcIiksXG4gIG1ldGE6IGdl
bkd1YXJkKFwiISRldmVudC5tZXRhS2V5XCIpLFxuICBsZWZ0OiBnZW5HdWFyZChcIididXR0b24n
IGluICRldmVudCAmJiAkZXZlbnQuYnV0dG9uICE9PSAwXCIpLFxuICBtaWRkbGU6IGdlbkd1YXJk
KFwiJ2J1dHRvbicgaW4gJGV2ZW50ICYmICRldmVudC5idXR0b24gIT09IDFcIiksXG4gIHJpZ2h0
OiBnZW5HdWFyZChcIididXR0b24nIGluICRldmVudCAmJiAkZXZlbnQuYnV0dG9uICE9PSAyXCIp
XG59O1xuXG5mdW5jdGlvbiBnZW5IYW5kbGVycyAoXG4gIGV2ZW50cyxcbiAgaXNOYXRpdmUsXG4g
IHdhcm5cbikge1xuICB2YXIgcmVzID0gaXNOYXRpdmUgPyAnbmF0aXZlT246eycgOiAnb246eyc7
XG4gIGZvciAodmFyIG5hbWUgaW4gZXZlbnRzKSB7XG4gICAgdmFyIGhhbmRsZXIgPSBldmVudHNb
bmFtZV07XG4gICAgLy8gIzUzMzA6IHdhcm4gY2xpY2sucmlnaHQsIHNpbmNlIHJpZ2h0IGNsaWNr
cyBkbyBub3QgYWN0dWFsbHkgZmlyZSBjbGljayBldmVudHMuXG4gICAgaWYgKGZhbHNlXG4gICAg
KSB7XG4gICAgICB3YXJuKFxuICAgICAgICBcIlVzZSBcXFwiY29udGV4dG1lbnVcXFwiIGluc3Rl
YWQgb2YgXFxcImNsaWNrLnJpZ2h0XFxcIiBzaW5jZSByaWdodCBjbGlja3MgXCIgK1xuICAgICAg
ICBcImRvIG5vdCBhY3R1YWxseSBmaXJlIFxcXCJjbGlja1xcXCIgZXZlbnRzLlwiXG4gICAgICAp
O1xuICAgIH1cbiAgICByZXMgKz0gXCJcXFwiXCIgKyBuYW1lICsgXCJcXFwiOlwiICsgKGdlbkhh
bmRsZXIobmFtZSwgaGFuZGxlcikpICsgXCIsXCI7XG4gIH1cbiAgcmV0dXJuIHJlcy5zbGljZSgw
LCAtMSkgKyAnfSdcbn1cblxuZnVuY3Rpb24gZ2VuSGFuZGxlciAoXG4gIG5hbWUsXG4gIGhhbmRs
ZXJcbikge1xuICBpZiAoIWhhbmRsZXIpIHtcbiAgICByZXR1cm4gJ2Z1bmN0aW9uKCl7fSdcbiAg
fVxuXG4gIGlmIChBcnJheS5pc0FycmF5KGhhbmRsZXIpKSB7XG4gICAgcmV0dXJuIChcIltcIiAr
IChoYW5kbGVyLm1hcChmdW5jdGlvbiAoaGFuZGxlcikgeyByZXR1cm4gZ2VuSGFuZGxlcihuYW1l
LCBoYW5kbGVyKTsgfSkuam9pbignLCcpKSArIFwiXVwiKVxuICB9XG5cbiAgdmFyIGlzTWV0aG9k
UGF0aCA9IHNpbXBsZVBhdGhSRS50ZXN0KGhhbmRsZXIudmFsdWUpO1xuICB2YXIgaXNGdW5jdGlv
bkV4cHJlc3Npb24gPSBmbkV4cFJFLnRlc3QoaGFuZGxlci52YWx1ZSk7XG5cbiAgaWYgKCFoYW5k
bGVyLm1vZGlmaWVycykge1xuICAgIHJldHVybiBpc01ldGhvZFBhdGggfHwgaXNGdW5jdGlvbkV4
cHJlc3Npb25cbiAgICAgID8gaGFuZGxlci52YWx1ZVxuICAgICAgOiAoXCJmdW5jdGlvbigkZXZl
bnQpe1wiICsgKGhhbmRsZXIudmFsdWUpICsgXCJ9XCIpIC8vIGlubGluZSBzdGF0ZW1lbnRcbiAg
fSBlbHNlIHtcbiAgICB2YXIgY29kZSA9ICcnO1xuICAgIHZhciBnZW5Nb2RpZmllckNvZGUgPSAn
JztcbiAgICB2YXIga2V5cyA9IFtdO1xuICAgIGZvciAodmFyIGtleSBpbiBoYW5kbGVyLm1vZGlm
aWVycykge1xuICAgICAgaWYgKG1vZGlmaWVyQ29kZVtrZXldKSB7XG4gICAgICAgIGdlbk1vZGlm
aWVyQ29kZSArPSBtb2RpZmllckNvZGVba2V5XTtcbiAgICAgICAgLy8gbGVmdC9yaWdodFxuICAg
ICAgICBpZiAoa2V5Q29kZXNba2V5XSkge1xuICAgICAgICAgIGtleXMucHVzaChrZXkpO1xuICAg
ICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBrZXlzLnB1c2goa2V5KTtcbiAgICAgIH1c
biAgICB9XG4gICAgaWYgKGtleXMubGVuZ3RoKSB7XG4gICAgICBjb2RlICs9IGdlbktleUZpbHRl
cihrZXlzKTtcbiAgICB9XG4gICAgLy8gTWFrZSBzdXJlIG1vZGlmaWVycyBsaWtlIHByZXZlbnQg
YW5kIHN0b3AgZ2V0IGV4ZWN1dGVkIGFmdGVyIGtleSBmaWx0ZXJpbmdcbiAgICBpZiAoZ2VuTW9k
aWZpZXJDb2RlKSB7XG4gICAgICBjb2RlICs9IGdlbk1vZGlmaWVyQ29kZTtcbiAgICB9XG4gICAg
dmFyIGhhbmRsZXJDb2RlID0gaXNNZXRob2RQYXRoXG4gICAgICA/IGhhbmRsZXIudmFsdWUgKyAn
KCRldmVudCknXG4gICAgICA6IGlzRnVuY3Rpb25FeHByZXNzaW9uXG4gICAgICAgID8gKFwiKFwi
ICsgKGhhbmRsZXIudmFsdWUpICsgXCIpKCRldmVudClcIilcbiAgICAgICAgOiBoYW5kbGVyLnZh
bHVlO1xuICAgIHJldHVybiAoXCJmdW5jdGlvbigkZXZlbnQpe1wiICsgY29kZSArIGhhbmRsZXJD
b2RlICsgXCJ9XCIpXG4gIH1cbn1cblxuZnVuY3Rpb24gZ2VuS2V5RmlsdGVyIChrZXlzKSB7XG4g
IHJldHVybiAoXCJpZighKCdidXR0b24nIGluICRldmVudCkmJlwiICsgKGtleXMubWFwKGdlbkZp
bHRlckNvZGUpLmpvaW4oJyYmJykpICsgXCIpcmV0dXJuIG51bGw7XCIpXG59XG5cbmZ1bmN0aW9u
IGdlbkZpbHRlckNvZGUgKGtleSkge1xuICB2YXIga2V5VmFsID0gcGFyc2VJbnQoa2V5LCAxMCk7
XG4gIGlmIChrZXlWYWwpIHtcbiAgICByZXR1cm4gKFwiJGV2ZW50LmtleUNvZGUhPT1cIiArIGtl
eVZhbClcbiAgfVxuICB2YXIgYWxpYXMgPSBrZXlDb2Rlc1trZXldO1xuICByZXR1cm4gKFwiX2so
JGV2ZW50LmtleUNvZGUsXCIgKyAoSlNPTi5zdHJpbmdpZnkoa2V5KSkgKyAoYWxpYXMgPyAnLCcg
KyBKU09OLnN0cmluZ2lmeShhbGlhcykgOiAnJykgKyBcIilcIilcbn1cblxuLyogICovXG5cbmZ1
bmN0aW9uIG9uIChlbCwgZGlyKSB7XG4gIGlmIChmYWxzZSkge1xuICAgIHdhcm4oXCJ2LW9uIHdp
dGhvdXQgYXJndW1lbnQgZG9lcyBub3Qgc3VwcG9ydCBtb2RpZmllcnMuXCIpO1xuICB9XG4gIGVs
LndyYXBMaXN0ZW5lcnMgPSBmdW5jdGlvbiAoY29kZSkgeyByZXR1cm4gKFwiX2coXCIgKyBjb2Rl
ICsgXCIsXCIgKyAoZGlyLnZhbHVlKSArIFwiKVwiKTsgfTtcbn1cblxuLyogICovXG5cbmZ1bmN0
aW9uIGJpbmQkMSAoZWwsIGRpcikge1xuICBlbC53cmFwRGF0YSA9IGZ1bmN0aW9uIChjb2RlKSB7
XG4gICAgcmV0dXJuIChcIl9iKFwiICsgY29kZSArIFwiLCdcIiArIChlbC50YWcpICsgXCInLFwi
ICsgKGRpci52YWx1ZSkgKyBcIixcIiArIChkaXIubW9kaWZpZXJzICYmIGRpci5tb2RpZmllcnMu
cHJvcCA/ICd0cnVlJyA6ICdmYWxzZScpICsgKGRpci5tb2RpZmllcnMgJiYgZGlyLm1vZGlmaWVy
cy5zeW5jID8gJyx0cnVlJyA6ICcnKSArIFwiKVwiKVxuICB9O1xufVxuXG4vKiAgKi9cblxudmFy
IGJhc2VEaXJlY3RpdmVzID0ge1xuICBvbjogb24sXG4gIGJpbmQ6IGJpbmQkMSxcbiAgY2xvYWs6
IG5vb3Bcbn07XG5cbi8qICAqL1xuXG52YXIgQ29kZWdlblN0YXRlID0gZnVuY3Rpb24gQ29kZWdl
blN0YXRlIChvcHRpb25zKSB7XG4gIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gIHRoaXMud2Fy
biA9IG9wdGlvbnMud2FybiB8fCBiYXNlV2FybjtcbiAgdGhpcy50cmFuc2Zvcm1zID0gcGx1Y2tN
b2R1bGVGdW5jdGlvbihvcHRpb25zLm1vZHVsZXMsICd0cmFuc2Zvcm1Db2RlJyk7XG4gIHRoaXMu
ZGF0YUdlbkZucyA9IHBsdWNrTW9kdWxlRnVuY3Rpb24ob3B0aW9ucy5tb2R1bGVzLCAnZ2VuRGF0
YScpO1xuICB0aGlzLmRpcmVjdGl2ZXMgPSBleHRlbmQoZXh0ZW5kKHt9LCBiYXNlRGlyZWN0aXZl
cyksIG9wdGlvbnMuZGlyZWN0aXZlcyk7XG4gIHZhciBpc1Jlc2VydmVkVGFnID0gb3B0aW9ucy5p
c1Jlc2VydmVkVGFnIHx8IG5vO1xuICB0aGlzLm1heWJlQ29tcG9uZW50ID0gZnVuY3Rpb24gKGVs
KSB7IHJldHVybiAhaXNSZXNlcnZlZFRhZyhlbC50YWcpOyB9O1xuICB0aGlzLm9uY2VJZCA9IDA7
XG4gIHRoaXMuc3RhdGljUmVuZGVyRm5zID0gW107XG59O1xuXG5cblxuZnVuY3Rpb24gZ2VuZXJh
dGUgKFxuICBhc3QsXG4gIG9wdGlvbnNcbikge1xuICB2YXIgc3RhdGUgPSBuZXcgQ29kZWdlblN0
YXRlKG9wdGlvbnMpO1xuICB2YXIgY29kZSA9IGFzdCA/IGdlbkVsZW1lbnQoYXN0LCBzdGF0ZSkg
OiAnX2MoXCJkaXZcIiknO1xuICByZXR1cm4ge1xuICAgIHJlbmRlcjogKFwid2l0aCh0aGlzKXty
ZXR1cm4gXCIgKyBjb2RlICsgXCJ9XCIpLFxuICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGUuc3Rh
dGljUmVuZGVyRm5zXG4gIH1cbn1cblxuZnVuY3Rpb24gZ2VuRWxlbWVudCAoZWwsIHN0YXRlKSB7
XG4gIGlmIChlbC5zdGF0aWNSb290ICYmICFlbC5zdGF0aWNQcm9jZXNzZWQpIHtcbiAgICByZXR1
cm4gZ2VuU3RhdGljKGVsLCBzdGF0ZSlcbiAgfSBlbHNlIGlmIChlbC5vbmNlICYmICFlbC5vbmNl
UHJvY2Vzc2VkKSB7XG4gICAgcmV0dXJuIGdlbk9uY2UoZWwsIHN0YXRlKVxuICB9IGVsc2UgaWYg
KGVsLmZvciAmJiAhZWwuZm9yUHJvY2Vzc2VkKSB7XG4gICAgcmV0dXJuIGdlbkZvcihlbCwgc3Rh
dGUpXG4gIH0gZWxzZSBpZiAoZWwuaWYgJiYgIWVsLmlmUHJvY2Vzc2VkKSB7XG4gICAgcmV0dXJu
IGdlbklmKGVsLCBzdGF0ZSlcbiAgfSBlbHNlIGlmIChlbC50YWcgPT09ICd0ZW1wbGF0ZScgJiYg
IWVsLnNsb3RUYXJnZXQpIHtcbiAgICByZXR1cm4gZ2VuQ2hpbGRyZW4oZWwsIHN0YXRlKSB8fCAn
dm9pZCAwJ1xuICB9IGVsc2UgaWYgKGVsLnRhZyA9PT0gJ3Nsb3QnKSB7XG4gICAgcmV0dXJuIGdl
blNsb3QoZWwsIHN0YXRlKVxuICB9IGVsc2Uge1xuICAgIC8vIGNvbXBvbmVudCBvciBlbGVtZW50
XG4gICAgdmFyIGNvZGU7XG4gICAgaWYgKGVsLmNvbXBvbmVudCkge1xuICAgICAgY29kZSA9IGdl
bkNvbXBvbmVudChlbC5jb21wb25lbnQsIGVsLCBzdGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAg
IHZhciBkYXRhID0gZWwucGxhaW4gPyB1bmRlZmluZWQgOiBnZW5EYXRhJDIoZWwsIHN0YXRlKTtc
blxuICAgICAgdmFyIGNoaWxkcmVuID0gZWwuaW5saW5lVGVtcGxhdGUgPyBudWxsIDogZ2VuQ2hp
bGRyZW4oZWwsIHN0YXRlLCB0cnVlKTtcbiAgICAgIGNvZGUgPSBcIl9jKCdcIiArIChlbC50YWcp
ICsgXCInXCIgKyAoZGF0YSA/IChcIixcIiArIGRhdGEpIDogJycpICsgKGNoaWxkcmVuID8gKFwi
LFwiICsgY2hpbGRyZW4pIDogJycpICsgXCIpXCI7XG4gICAgfVxuICAgIC8vIG1vZHVsZSB0cmFu
c2Zvcm1zXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdGF0ZS50cmFuc2Zvcm1zLmxlbmd0aDsg
aSsrKSB7XG4gICAgICBjb2RlID0gc3RhdGUudHJhbnNmb3Jtc1tpXShlbCwgY29kZSk7XG4gICAg
fVxuICAgIHJldHVybiBjb2RlXG4gIH1cbn1cblxuLy8gaG9pc3Qgc3RhdGljIHN1Yi10cmVlcyBv
dXRcbmZ1bmN0aW9uIGdlblN0YXRpYyAoZWwsIHN0YXRlKSB7XG4gIGVsLnN0YXRpY1Byb2Nlc3Nl
ZCA9IHRydWU7XG4gIHN0YXRlLnN0YXRpY1JlbmRlckZucy5wdXNoKChcIndpdGgodGhpcyl7cmV0
dXJuIFwiICsgKGdlbkVsZW1lbnQoZWwsIHN0YXRlKSkgKyBcIn1cIikpO1xuICByZXR1cm4gKFwi
X20oXCIgKyAoc3RhdGUuc3RhdGljUmVuZGVyRm5zLmxlbmd0aCAtIDEpICsgKGVsLnN0YXRpY0lu
Rm9yID8gJyx0cnVlJyA6ICcnKSArIFwiKVwiKVxufVxuXG4vLyB2LW9uY2VcbmZ1bmN0aW9uIGdl
bk9uY2UgKGVsLCBzdGF0ZSkge1xuICBlbC5vbmNlUHJvY2Vzc2VkID0gdHJ1ZTtcbiAgaWYgKGVs
LmlmICYmICFlbC5pZlByb2Nlc3NlZCkge1xuICAgIHJldHVybiBnZW5JZihlbCwgc3RhdGUpXG4g
IH0gZWxzZSBpZiAoZWwuc3RhdGljSW5Gb3IpIHtcbiAgICB2YXIga2V5ID0gJyc7XG4gICAgdmFy
IHBhcmVudCA9IGVsLnBhcmVudDtcbiAgICB3aGlsZSAocGFyZW50KSB7XG4gICAgICBpZiAocGFy
ZW50LmZvcikge1xuICAgICAgICBrZXkgPSBwYXJlbnQua2V5O1xuICAgICAgICBicmVha1xuICAg
ICAgfVxuICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudDtcbiAgICB9XG4gICAgaWYgKCFrZXkp
IHtcbiAgICAgIFwicHJvZHVjdGlvblwiICE9PSAncHJvZHVjdGlvbicgJiYgc3RhdGUud2Fybihc
biAgICAgICAgXCJ2LW9uY2UgY2FuIG9ubHkgYmUgdXNlZCBpbnNpZGUgdi1mb3IgdGhhdCBpcyBr
ZXllZC4gXCJcbiAgICAgICk7XG4gICAgICByZXR1cm4gZ2VuRWxlbWVudChlbCwgc3RhdGUpXG4g
ICAgfVxuICAgIHJldHVybiAoXCJfbyhcIiArIChnZW5FbGVtZW50KGVsLCBzdGF0ZSkpICsgXCIs
XCIgKyAoc3RhdGUub25jZUlkKyspICsgKGtleSA/IChcIixcIiArIGtleSkgOiBcIlwiKSArIFwi
KVwiKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBnZW5TdGF0aWMoZWwsIHN0YXRlKVxuICB9XG59
XG5cbmZ1bmN0aW9uIGdlbklmIChcbiAgZWwsXG4gIHN0YXRlLFxuICBhbHRHZW4sXG4gIGFsdEVt
cHR5XG4pIHtcbiAgZWwuaWZQcm9jZXNzZWQgPSB0cnVlOyAvLyBhdm9pZCByZWN1cnNpb25cbiAg
cmV0dXJuIGdlbklmQ29uZGl0aW9ucyhlbC5pZkNvbmRpdGlvbnMuc2xpY2UoKSwgc3RhdGUsIGFs
dEdlbiwgYWx0RW1wdHkpXG59XG5cbmZ1bmN0aW9uIGdlbklmQ29uZGl0aW9ucyAoXG4gIGNvbmRp
dGlvbnMsXG4gIHN0YXRlLFxuICBhbHRHZW4sXG4gIGFsdEVtcHR5XG4pIHtcbiAgaWYgKCFjb25k
aXRpb25zLmxlbmd0aCkge1xuICAgIHJldHVybiBhbHRFbXB0eSB8fCAnX2UoKSdcbiAgfVxuXG4g
IHZhciBjb25kaXRpb24gPSBjb25kaXRpb25zLnNoaWZ0KCk7XG4gIGlmIChjb25kaXRpb24uZXhw
KSB7XG4gICAgcmV0dXJuIChcIihcIiArIChjb25kaXRpb24uZXhwKSArIFwiKT9cIiArIChnZW5U
ZXJuYXJ5RXhwKGNvbmRpdGlvbi5ibG9jaykpICsgXCI6XCIgKyAoZ2VuSWZDb25kaXRpb25zKGNv
bmRpdGlvbnMsIHN0YXRlLCBhbHRHZW4sIGFsdEVtcHR5KSkpXG4gIH0gZWxzZSB7XG4gICAgcmV0
dXJuIChcIlwiICsgKGdlblRlcm5hcnlFeHAoY29uZGl0aW9uLmJsb2NrKSkpXG4gIH1cblxuICAv
LyB2LWlmIHdpdGggdi1vbmNlIHNob3VsZCBnZW5lcmF0ZSBjb2RlIGxpa2UgKGEpP19tKDApOl9t
KDEpXG4gIGZ1bmN0aW9uIGdlblRlcm5hcnlFeHAgKGVsKSB7XG4gICAgcmV0dXJuIGFsdEdlblxu
ICAgICAgPyBhbHRHZW4oZWwsIHN0YXRlKVxuICAgICAgOiBlbC5vbmNlXG4gICAgICAgID8gZ2Vu
T25jZShlbCwgc3RhdGUpXG4gICAgICAgIDogZ2VuRWxlbWVudChlbCwgc3RhdGUpXG4gIH1cbn1c
blxuZnVuY3Rpb24gZ2VuRm9yIChcbiAgZWwsXG4gIHN0YXRlLFxuICBhbHRHZW4sXG4gIGFsdEhl
bHBlclxuKSB7XG4gIHZhciBleHAgPSBlbC5mb3I7XG4gIHZhciBhbGlhcyA9IGVsLmFsaWFzO1xu
ICB2YXIgaXRlcmF0b3IxID0gZWwuaXRlcmF0b3IxID8gKFwiLFwiICsgKGVsLml0ZXJhdG9yMSkp
IDogJyc7XG4gIHZhciBpdGVyYXRvcjIgPSBlbC5pdGVyYXRvcjIgPyAoXCIsXCIgKyAoZWwuaXRl
cmF0b3IyKSkgOiAnJztcblxuICBpZiAoZmFsc2VcbiAgKSB7XG4gICAgc3RhdGUud2FybihcbiAg
ICAgIFwiPFwiICsgKGVsLnRhZykgKyBcIiB2LWZvcj1cXFwiXCIgKyBhbGlhcyArIFwiIGluIFwi
ICsgZXhwICsgXCJcXFwiPjogY29tcG9uZW50IGxpc3RzIHJlbmRlcmVkIHdpdGggXCIgK1xuICAg
ICAgXCJ2LWZvciBzaG91bGQgaGF2ZSBleHBsaWNpdCBrZXlzLiBcIiArXG4gICAgICBcIlNlZSBo
dHRwczovL3Z1ZWpzLm9yZy9ndWlkZS9saXN0Lmh0bWwja2V5IGZvciBtb3JlIGluZm8uXCIsXG4g
ICAgICB0cnVlIC8qIHRpcCAqL1xuICAgICk7XG4gIH1cblxuICBlbC5mb3JQcm9jZXNzZWQgPSB0
cnVlOyAvLyBhdm9pZCByZWN1cnNpb25cbiAgcmV0dXJuIChhbHRIZWxwZXIgfHwgJ19sJykgKyBc
IigoXCIgKyBleHAgKyBcIiksXCIgK1xuICAgIFwiZnVuY3Rpb24oXCIgKyBhbGlhcyArIGl0ZXJh
dG9yMSArIGl0ZXJhdG9yMiArIFwiKXtcIiArXG4gICAgICBcInJldHVybiBcIiArICgoYWx0R2Vu
IHx8IGdlbkVsZW1lbnQpKGVsLCBzdGF0ZSkpICtcbiAgICAnfSknXG59XG5cbmZ1bmN0aW9uIGdl
bkRhdGEkMiAoZWwsIHN0YXRlKSB7XG4gIHZhciBkYXRhID0gJ3snO1xuXG4gIC8vIGRpcmVjdGl2
ZXMgZmlyc3QuXG4gIC8vIGRpcmVjdGl2ZXMgbWF5IG11dGF0ZSB0aGUgZWwncyBvdGhlciBwcm9w
ZXJ0aWVzIGJlZm9yZSB0aGV5IGFyZSBnZW5lcmF0ZWQuXG4gIHZhciBkaXJzID0gZ2VuRGlyZWN0
aXZlcyhlbCwgc3RhdGUpO1xuICBpZiAoZGlycykgeyBkYXRhICs9IGRpcnMgKyAnLCc7IH1cblxu
ICAvLyBrZXlcbiAgaWYgKGVsLmtleSkge1xuICAgIGRhdGEgKz0gXCJrZXk6XCIgKyAoZWwua2V5
KSArIFwiLFwiO1xuICB9XG4gIC8vIHJlZlxuICBpZiAoZWwucmVmKSB7XG4gICAgZGF0YSArPSBc
InJlZjpcIiArIChlbC5yZWYpICsgXCIsXCI7XG4gIH1cbiAgaWYgKGVsLnJlZkluRm9yKSB7XG4g
ICAgZGF0YSArPSBcInJlZkluRm9yOnRydWUsXCI7XG4gIH1cbiAgLy8gcHJlXG4gIGlmIChlbC5w
cmUpIHtcbiAgICBkYXRhICs9IFwicHJlOnRydWUsXCI7XG4gIH1cbiAgLy8gcmVjb3JkIG9yaWdp
bmFsIHRhZyBuYW1lIGZvciBjb21wb25lbnRzIHVzaW5nIFwiaXNcIiBhdHRyaWJ1dGVcbiAgaWYg
KGVsLmNvbXBvbmVudCkge1xuICAgIGRhdGEgKz0gXCJ0YWc6XFxcIlwiICsgKGVsLnRhZykgKyBc
IlxcXCIsXCI7XG4gIH1cbiAgLy8gbW9kdWxlIGRhdGEgZ2VuZXJhdGlvbiBmdW5jdGlvbnNcbiAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBzdGF0ZS5kYXRhR2VuRm5zLmxlbmd0aDsgaSsrKSB7XG4gICAg
ZGF0YSArPSBzdGF0ZS5kYXRhR2VuRm5zW2ldKGVsKTtcbiAgfVxuICAvLyBhdHRyaWJ1dGVzXG4g
IGlmIChlbC5hdHRycykge1xuICAgIGRhdGEgKz0gXCJhdHRyczp7XCIgKyAoZ2VuUHJvcHMoZWwu
YXR0cnMpKSArIFwifSxcIjtcbiAgfVxuICAvLyBET00gcHJvcHNcbiAgaWYgKGVsLnByb3BzKSB7
XG4gICAgZGF0YSArPSBcImRvbVByb3BzOntcIiArIChnZW5Qcm9wcyhlbC5wcm9wcykpICsgXCJ9
LFwiO1xuICB9XG4gIC8vIGV2ZW50IGhhbmRsZXJzXG4gIGlmIChlbC5ldmVudHMpIHtcbiAgICBk
YXRhICs9IChnZW5IYW5kbGVycyhlbC5ldmVudHMsIGZhbHNlLCBzdGF0ZS53YXJuKSkgKyBcIixc
IjtcbiAgfVxuICBpZiAoZWwubmF0aXZlRXZlbnRzKSB7XG4gICAgZGF0YSArPSAoZ2VuSGFuZGxl
cnMoZWwubmF0aXZlRXZlbnRzLCB0cnVlLCBzdGF0ZS53YXJuKSkgKyBcIixcIjtcbiAgfVxuICAv
LyBzbG90IHRhcmdldFxuICBpZiAoZWwuc2xvdFRhcmdldCkge1xuICAgIGRhdGEgKz0gXCJzbG90
OlwiICsgKGVsLnNsb3RUYXJnZXQpICsgXCIsXCI7XG4gIH1cbiAgLy8gc2NvcGVkIHNsb3RzXG4g
IGlmIChlbC5zY29wZWRTbG90cykge1xuICAgIGRhdGEgKz0gKGdlblNjb3BlZFNsb3RzKGVsLnNj
b3BlZFNsb3RzLCBzdGF0ZSkpICsgXCIsXCI7XG4gIH1cbiAgLy8gY29tcG9uZW50IHYtbW9kZWxc
biAgaWYgKGVsLm1vZGVsKSB7XG4gICAgZGF0YSArPSBcIm1vZGVsOnt2YWx1ZTpcIiArIChlbC5t
b2RlbC52YWx1ZSkgKyBcIixjYWxsYmFjazpcIiArIChlbC5tb2RlbC5jYWxsYmFjaykgKyBcIixl
eHByZXNzaW9uOlwiICsgKGVsLm1vZGVsLmV4cHJlc3Npb24pICsgXCJ9LFwiO1xuICB9XG4gIC8v
IGlubGluZS10ZW1wbGF0ZVxuICBpZiAoZWwuaW5saW5lVGVtcGxhdGUpIHtcbiAgICB2YXIgaW5s
aW5lVGVtcGxhdGUgPSBnZW5JbmxpbmVUZW1wbGF0ZShlbCwgc3RhdGUpO1xuICAgIGlmIChpbmxp
bmVUZW1wbGF0ZSkge1xuICAgICAgZGF0YSArPSBpbmxpbmVUZW1wbGF0ZSArIFwiLFwiO1xuICAg
IH1cbiAgfVxuICBkYXRhID0gZGF0YS5yZXBsYWNlKC8sJC8sICcnKSArICd9JztcbiAgLy8gdi1i
aW5kIGRhdGEgd3JhcFxuICBpZiAoZWwud3JhcERhdGEpIHtcbiAgICBkYXRhID0gZWwud3JhcERh
dGEoZGF0YSk7XG4gIH1cbiAgLy8gdi1vbiBkYXRhIHdyYXBcbiAgaWYgKGVsLndyYXBMaXN0ZW5l
cnMpIHtcbiAgICBkYXRhID0gZWwud3JhcExpc3RlbmVycyhkYXRhKTtcbiAgfVxuICByZXR1cm4g
ZGF0YVxufVxuXG5mdW5jdGlvbiBnZW5EaXJlY3RpdmVzIChlbCwgc3RhdGUpIHtcbiAgdmFyIGRp
cnMgPSBlbC5kaXJlY3RpdmVzO1xuICBpZiAoIWRpcnMpIHsgcmV0dXJuIH1cbiAgdmFyIHJlcyA9
ICdkaXJlY3RpdmVzOlsnO1xuICB2YXIgaGFzUnVudGltZSA9IGZhbHNlO1xuICB2YXIgaSwgbCwg
ZGlyLCBuZWVkUnVudGltZTtcbiAgZm9yIChpID0gMCwgbCA9IGRpcnMubGVuZ3RoOyBpIDwgbDsg
aSsrKSB7XG4gICAgZGlyID0gZGlyc1tpXTtcbiAgICBuZWVkUnVudGltZSA9IHRydWU7XG4gICAg
dmFyIGdlbiA9IHN0YXRlLmRpcmVjdGl2ZXNbZGlyLm5hbWVdO1xuICAgIGlmIChnZW4pIHtcbiAg
ICAgIC8vIGNvbXBpbGUtdGltZSBkaXJlY3RpdmUgdGhhdCBtYW5pcHVsYXRlcyBBU1QuXG4gICAg
ICAvLyByZXR1cm5zIHRydWUgaWYgaXQgYWxzbyBuZWVkcyBhIHJ1bnRpbWUgY291bnRlcnBhcnQu
XG4gICAgICBuZWVkUnVudGltZSA9ICEhZ2VuKGVsLCBkaXIsIHN0YXRlLndhcm4pO1xuICAgIH1c
biAgICBpZiAobmVlZFJ1bnRpbWUpIHtcbiAgICAgIGhhc1J1bnRpbWUgPSB0cnVlO1xuICAgICAg
cmVzICs9IFwie25hbWU6XFxcIlwiICsgKGRpci5uYW1lKSArIFwiXFxcIixyYXdOYW1lOlxcXCJc
IiArIChkaXIucmF3TmFtZSkgKyBcIlxcXCJcIiArIChkaXIudmFsdWUgPyAoXCIsdmFsdWU6KFwi
ICsgKGRpci52YWx1ZSkgKyBcIiksZXhwcmVzc2lvbjpcIiArIChKU09OLnN0cmluZ2lmeShkaXIu
dmFsdWUpKSkgOiAnJykgKyAoZGlyLmFyZyA/IChcIixhcmc6XFxcIlwiICsgKGRpci5hcmcpICsg
XCJcXFwiXCIpIDogJycpICsgKGRpci5tb2RpZmllcnMgPyAoXCIsbW9kaWZpZXJzOlwiICsgKEpT
T04uc3RyaW5naWZ5KGRpci5tb2RpZmllcnMpKSkgOiAnJykgKyBcIn0sXCI7XG4gICAgfVxuICB9
XG4gIGlmIChoYXNSdW50aW1lKSB7XG4gICAgcmV0dXJuIHJlcy5zbGljZSgwLCAtMSkgKyAnXSdc
biAgfVxufVxuXG5mdW5jdGlvbiBnZW5JbmxpbmVUZW1wbGF0ZSAoZWwsIHN0YXRlKSB7XG4gIHZh
ciBhc3QgPSBlbC5jaGlsZHJlblswXTtcbiAgaWYgKGZhbHNlKSB7XG4gICAgc3RhdGUud2Fybign
SW5saW5lLXRlbXBsYXRlIGNvbXBvbmVudHMgbXVzdCBoYXZlIGV4YWN0bHkgb25lIGNoaWxkIGVs
ZW1lbnQuJyk7XG4gIH1cbiAgaWYgKGFzdC50eXBlID09PSAxKSB7XG4gICAgdmFyIGlubGluZVJl
bmRlckZucyA9IGdlbmVyYXRlKGFzdCwgc3RhdGUub3B0aW9ucyk7XG4gICAgcmV0dXJuIChcImlu
bGluZVRlbXBsYXRlOntyZW5kZXI6ZnVuY3Rpb24oKXtcIiArIChpbmxpbmVSZW5kZXJGbnMucmVu
ZGVyKSArIFwifSxzdGF0aWNSZW5kZXJGbnM6W1wiICsgKGlubGluZVJlbmRlckZucy5zdGF0aWNS
ZW5kZXJGbnMubWFwKGZ1bmN0aW9uIChjb2RlKSB7IHJldHVybiAoXCJmdW5jdGlvbigpe1wiICsg
Y29kZSArIFwifVwiKTsgfSkuam9pbignLCcpKSArIFwiXX1cIilcbiAgfVxufVxuXG5mdW5jdGlv
biBnZW5TY29wZWRTbG90cyAoXG4gIHNsb3RzLFxuICBzdGF0ZVxuKSB7XG4gIHJldHVybiAoXCJz
Y29wZWRTbG90czpfdShbXCIgKyAoT2JqZWN0LmtleXMoc2xvdHMpLm1hcChmdW5jdGlvbiAoa2V5
KSB7XG4gICAgICByZXR1cm4gZ2VuU2NvcGVkU2xvdChrZXksIHNsb3RzW2tleV0sIHN0YXRlKVxu
ICAgIH0pLmpvaW4oJywnKSkgKyBcIl0pXCIpXG59XG5cbmZ1bmN0aW9uIGdlblNjb3BlZFNsb3Qg
KFxuICBrZXksXG4gIGVsLFxuICBzdGF0ZVxuKSB7XG4gIGlmIChlbC5mb3IgJiYgIWVsLmZvclBy
b2Nlc3NlZCkge1xuICAgIHJldHVybiBnZW5Gb3JTY29wZWRTbG90KGtleSwgZWwsIHN0YXRlKVxu
ICB9XG4gIHJldHVybiBcIntrZXk6XCIgKyBrZXkgKyBcIixmbjpmdW5jdGlvbihcIiArIChTdHJp
bmcoZWwuYXR0cnNNYXAuc2NvcGUpKSArIFwiKXtcIiArXG4gICAgXCJyZXR1cm4gXCIgKyAoZWwu
dGFnID09PSAndGVtcGxhdGUnXG4gICAgICA/IGdlbkNoaWxkcmVuKGVsLCBzdGF0ZSkgfHwgJ3Zv
aWQgMCdcbiAgICAgIDogZ2VuRWxlbWVudChlbCwgc3RhdGUpKSArIFwifX1cIlxufVxuXG5mdW5j
dGlvbiBnZW5Gb3JTY29wZWRTbG90IChcbiAga2V5LFxuICBlbCxcbiAgc3RhdGVcbikge1xuICB2
YXIgZXhwID0gZWwuZm9yO1xuICB2YXIgYWxpYXMgPSBlbC5hbGlhcztcbiAgdmFyIGl0ZXJhdG9y
MSA9IGVsLml0ZXJhdG9yMSA/IChcIixcIiArIChlbC5pdGVyYXRvcjEpKSA6ICcnO1xuICB2YXIg
aXRlcmF0b3IyID0gZWwuaXRlcmF0b3IyID8gKFwiLFwiICsgKGVsLml0ZXJhdG9yMikpIDogJyc7
XG4gIGVsLmZvclByb2Nlc3NlZCA9IHRydWU7IC8vIGF2b2lkIHJlY3Vyc2lvblxuICByZXR1cm4g
XCJfbCgoXCIgKyBleHAgKyBcIiksXCIgK1xuICAgIFwiZnVuY3Rpb24oXCIgKyBhbGlhcyArIGl0
ZXJhdG9yMSArIGl0ZXJhdG9yMiArIFwiKXtcIiArXG4gICAgICBcInJldHVybiBcIiArIChnZW5T
Y29wZWRTbG90KGtleSwgZWwsIHN0YXRlKSkgK1xuICAgICd9KSdcbn1cblxuZnVuY3Rpb24gZ2Vu
Q2hpbGRyZW4gKFxuICBlbCxcbiAgc3RhdGUsXG4gIGNoZWNrU2tpcCxcbiAgYWx0R2VuRWxlbWVu
dCxcbiAgYWx0R2VuTm9kZVxuKSB7XG4gIHZhciBjaGlsZHJlbiA9IGVsLmNoaWxkcmVuO1xuICBp
ZiAoY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgdmFyIGVsJDEgPSBjaGlsZHJlblswXTtcbiAgICAv
LyBvcHRpbWl6ZSBzaW5nbGUgdi1mb3JcbiAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoID09PSAxICYm
XG4gICAgICBlbCQxLmZvciAmJlxuICAgICAgZWwkMS50YWcgIT09ICd0ZW1wbGF0ZScgJiZcbiAg
ICAgIGVsJDEudGFnICE9PSAnc2xvdCdcbiAgICApIHtcbiAgICAgIHJldHVybiAoYWx0R2VuRWxl
bWVudCB8fCBnZW5FbGVtZW50KShlbCQxLCBzdGF0ZSlcbiAgICB9XG4gICAgdmFyIG5vcm1hbGl6
YXRpb25UeXBlID0gY2hlY2tTa2lwXG4gICAgICA/IGdldE5vcm1hbGl6YXRpb25UeXBlKGNoaWxk
cmVuLCBzdGF0ZS5tYXliZUNvbXBvbmVudClcbiAgICAgIDogMDtcbiAgICB2YXIgZ2VuID0gYWx0
R2VuTm9kZSB8fCBnZW5Ob2RlO1xuICAgIHJldHVybiAoXCJbXCIgKyAoY2hpbGRyZW4ubWFwKGZ1
bmN0aW9uIChjKSB7IHJldHVybiBnZW4oYywgc3RhdGUpOyB9KS5qb2luKCcsJykpICsgXCJdXCIg
KyAobm9ybWFsaXphdGlvblR5cGUgPyAoXCIsXCIgKyBub3JtYWxpemF0aW9uVHlwZSkgOiAnJykp
XG4gIH1cbn1cblxuLy8gZGV0ZXJtaW5lIHRoZSBub3JtYWxpemF0aW9uIG5lZWRlZCBmb3IgdGhl
IGNoaWxkcmVuIGFycmF5LlxuLy8gMDogbm8gbm9ybWFsaXphdGlvbiBuZWVkZWRcbi8vIDE6IHNp
bXBsZSBub3JtYWxpemF0aW9uIG5lZWRlZCAocG9zc2libGUgMS1sZXZlbCBkZWVwIG5lc3RlZCBh
cnJheSlcbi8vIDI6IGZ1bGwgbm9ybWFsaXphdGlvbiBuZWVkZWRcbmZ1bmN0aW9uIGdldE5vcm1h
bGl6YXRpb25UeXBlIChcbiAgY2hpbGRyZW4sXG4gIG1heWJlQ29tcG9uZW50XG4pIHtcbiAgdmFy
IHJlcyA9IDA7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtc
biAgICB2YXIgZWwgPSBjaGlsZHJlbltpXTtcbiAgICBpZiAoZWwudHlwZSAhPT0gMSkge1xuICAg
ICAgY29udGludWVcbiAgICB9XG4gICAgaWYgKG5lZWRzTm9ybWFsaXphdGlvbihlbCkgfHxcbiAg
ICAgICAgKGVsLmlmQ29uZGl0aW9ucyAmJiBlbC5pZkNvbmRpdGlvbnMuc29tZShmdW5jdGlvbiAo
YykgeyByZXR1cm4gbmVlZHNOb3JtYWxpemF0aW9uKGMuYmxvY2spOyB9KSkpIHtcbiAgICAgIHJl
cyA9IDI7XG4gICAgICBicmVha1xuICAgIH1cbiAgICBpZiAobWF5YmVDb21wb25lbnQoZWwpIHx8
XG4gICAgICAgIChlbC5pZkNvbmRpdGlvbnMgJiYgZWwuaWZDb25kaXRpb25zLnNvbWUoZnVuY3Rp
b24gKGMpIHsgcmV0dXJuIG1heWJlQ29tcG9uZW50KGMuYmxvY2spOyB9KSkpIHtcbiAgICAgIHJl
cyA9IDE7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNcbn1cblxuZnVuY3Rpb24gbmVlZHNOb3Jt
YWxpemF0aW9uIChlbCkge1xuICByZXR1cm4gZWwuZm9yICE9PSB1bmRlZmluZWQgfHwgZWwudGFn
ID09PSAndGVtcGxhdGUnIHx8IGVsLnRhZyA9PT0gJ3Nsb3QnXG59XG5cbmZ1bmN0aW9uIGdlbk5v
ZGUgKG5vZGUsIHN0YXRlKSB7XG4gIGlmIChub2RlLnR5cGUgPT09IDEpIHtcbiAgICByZXR1cm4g
Z2VuRWxlbWVudChub2RlLCBzdGF0ZSlcbiAgfSBpZiAobm9kZS50eXBlID09PSAzICYmIG5vZGUu
aXNDb21tZW50KSB7XG4gICAgcmV0dXJuIGdlbkNvbW1lbnQobm9kZSlcbiAgfSBlbHNlIHtcbiAg
ICByZXR1cm4gZ2VuVGV4dChub2RlKVxuICB9XG59XG5cbmZ1bmN0aW9uIGdlblRleHQgKHRleHQp
IHtcbiAgcmV0dXJuIChcIl92KFwiICsgKHRleHQudHlwZSA9PT0gMlxuICAgID8gdGV4dC5leHBy
ZXNzaW9uIC8vIG5vIG5lZWQgZm9yICgpIGJlY2F1c2UgYWxyZWFkeSB3cmFwcGVkIGluIF9zKClc
biAgICA6IHRyYW5zZm9ybVNwZWNpYWxOZXdsaW5lcyhKU09OLnN0cmluZ2lmeSh0ZXh0LnRleHQp
KSkgKyBcIilcIilcbn1cblxuZnVuY3Rpb24gZ2VuQ29tbWVudCAoY29tbWVudCkge1xuICByZXR1
cm4gKFwiX2UoXCIgKyAoSlNPTi5zdHJpbmdpZnkoY29tbWVudC50ZXh0KSkgKyBcIilcIilcbn1c
blxuZnVuY3Rpb24gZ2VuU2xvdCAoZWwsIHN0YXRlKSB7XG4gIHZhciBzbG90TmFtZSA9IGVsLnNs
b3ROYW1lIHx8ICdcImRlZmF1bHRcIic7XG4gIHZhciBjaGlsZHJlbiA9IGdlbkNoaWxkcmVuKGVs
LCBzdGF0ZSk7XG4gIHZhciByZXMgPSBcIl90KFwiICsgc2xvdE5hbWUgKyAoY2hpbGRyZW4gPyAo
XCIsXCIgKyBjaGlsZHJlbikgOiAnJyk7XG4gIHZhciBhdHRycyA9IGVsLmF0dHJzICYmIChcIntc
IiArIChlbC5hdHRycy5tYXAoZnVuY3Rpb24gKGEpIHsgcmV0dXJuICgoY2FtZWxpemUoYS5uYW1l
KSkgKyBcIjpcIiArIChhLnZhbHVlKSk7IH0pLmpvaW4oJywnKSkgKyBcIn1cIik7XG4gIHZhciBi
aW5kJCQxID0gZWwuYXR0cnNNYXBbJ3YtYmluZCddO1xuICBpZiAoKGF0dHJzIHx8IGJpbmQkJDEp
ICYmICFjaGlsZHJlbikge1xuICAgIHJlcyArPSBcIixudWxsXCI7XG4gIH1cbiAgaWYgKGF0dHJz
KSB7XG4gICAgcmVzICs9IFwiLFwiICsgYXR0cnM7XG4gIH1cbiAgaWYgKGJpbmQkJDEpIHtcbiAg
ICByZXMgKz0gKGF0dHJzID8gJycgOiAnLG51bGwnKSArIFwiLFwiICsgYmluZCQkMTtcbiAgfVxu
ICByZXR1cm4gcmVzICsgJyknXG59XG5cbi8vIGNvbXBvbmVudE5hbWUgaXMgZWwuY29tcG9uZW50
LCB0YWtlIGl0IGFzIGFyZ3VtZW50IHRvIHNodW4gZmxvdydzIHBlc3NpbWlzdGljIHJlZmluZW1l
bnRcbmZ1bmN0aW9uIGdlbkNvbXBvbmVudCAoXG4gIGNvbXBvbmVudE5hbWUsXG4gIGVsLFxuICBz
dGF0ZVxuKSB7XG4gIHZhciBjaGlsZHJlbiA9IGVsLmlubGluZVRlbXBsYXRlID8gbnVsbCA6IGdl
bkNoaWxkcmVuKGVsLCBzdGF0ZSwgdHJ1ZSk7XG4gIHJldHVybiAoXCJfYyhcIiArIGNvbXBvbmVu
dE5hbWUgKyBcIixcIiArIChnZW5EYXRhJDIoZWwsIHN0YXRlKSkgKyAoY2hpbGRyZW4gPyAoXCIs
XCIgKyBjaGlsZHJlbikgOiAnJykgKyBcIilcIilcbn1cblxuZnVuY3Rpb24gZ2VuUHJvcHMgKHBy
b3BzKSB7XG4gIHZhciByZXMgPSAnJztcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5n
dGg7IGkrKykge1xuICAgIHZhciBwcm9wID0gcHJvcHNbaV07XG4gICAgcmVzICs9IFwiXFxcIlwi
ICsgKHByb3AubmFtZSkgKyBcIlxcXCI6XCIgKyAodHJhbnNmb3JtU3BlY2lhbE5ld2xpbmVzKHBy
b3AudmFsdWUpKSArIFwiLFwiO1xuICB9XG4gIHJldHVybiByZXMuc2xpY2UoMCwgLTEpXG59XG5c
bi8vICMzODk1LCAjNDI2OFxuZnVuY3Rpb24gdHJhbnNmb3JtU3BlY2lhbE5ld2xpbmVzICh0ZXh0
KSB7XG4gIHJldHVybiB0ZXh0XG4gICAgLnJlcGxhY2UoL1xcdTIwMjgvZywgJ1xcXFx1MjAyOCcp
XG4gICAgLnJlcGxhY2UoL1xcdTIwMjkvZywgJ1xcXFx1MjAyOScpXG59XG5cbi8qICAqL1xuXG4v
LyB0aGVzZSBrZXl3b3JkcyBzaG91bGQgbm90IGFwcGVhciBpbnNpZGUgZXhwcmVzc2lvbnMsIGJ1
dCBvcGVyYXRvcnMgbGlrZVxuLy8gdHlwZW9mLCBpbnN0YW5jZW9mIGFuZCBpbiBhcmUgYWxsb3dl
ZFxudmFyIHByb2hpYml0ZWRLZXl3b3JkUkUgPSBuZXcgUmVnRXhwKCdcXFxcYicgKyAoXG4gICdk
byxpZixmb3IsbGV0LG5ldyx0cnksdmFyLGNhc2UsZWxzZSx3aXRoLGF3YWl0LGJyZWFrLGNhdGNo
LGNsYXNzLGNvbnN0LCcgK1xuICAnc3VwZXIsdGhyb3csd2hpbGUseWllbGQsZGVsZXRlLGV4cG9y
dCxpbXBvcnQscmV0dXJuLHN3aXRjaCxkZWZhdWx0LCcgK1xuICAnZXh0ZW5kcyxmaW5hbGx5LGNv
bnRpbnVlLGRlYnVnZ2VyLGZ1bmN0aW9uLGFyZ3VtZW50cydcbikuc3BsaXQoJywnKS5qb2luKCdc
XFxcYnxcXFxcYicpICsgJ1xcXFxiJyk7XG5cbi8vIHRoZXNlIHVuYXJ5IG9wZXJhdG9ycyBzaG91
bGQgbm90IGJlIHVzZWQgYXMgcHJvcGVydHkvbWV0aG9kIG5hbWVzXG52YXIgdW5hcnlPcGVyYXRv
cnNSRSA9IG5ldyBSZWdFeHAoJ1xcXFxiJyArIChcbiAgJ2RlbGV0ZSx0eXBlb2Ysdm9pZCdcbiku
c3BsaXQoJywnKS5qb2luKCdcXFxccypcXFxcKFteXFxcXCldKlxcXFwpfFxcXFxiJykgKyAnXFxc
XHMqXFxcXChbXlxcXFwpXSpcXFxcKScpO1xuXG4vLyBjaGVjayB2YWxpZCBpZGVudGlmaWVyIGZv
ciB2LWZvclxudmFyIGlkZW50UkUgPSAvW0EtWmEtel8kXVtcXHckXSovO1xuXG4vLyBzdHJpcCBz
dHJpbmdzIGluIGV4cHJlc3Npb25zXG52YXIgc3RyaXBTdHJpbmdSRSA9IC8nKD86W14nXFxcXF18
XFxcXC4pKid8XCIoPzpbXlwiXFxcXF18XFxcXC4pKlwifGAoPzpbXmBcXFxcXXxcXFxcLikqXFwk
XFx7fFxcfSg/OlteYFxcXFxdfFxcXFwuKSpgfGAoPzpbXmBcXFxcXXxcXFxcLikqYC9nO1xuXG4v
LyBkZXRlY3QgcHJvYmxlbWF0aWMgZXhwcmVzc2lvbnMgaW4gYSB0ZW1wbGF0ZVxuZnVuY3Rpb24g
ZGV0ZWN0RXJyb3JzIChhc3QpIHtcbiAgdmFyIGVycm9ycyA9IFtdO1xuICBpZiAoYXN0KSB7XG4g
ICAgY2hlY2tOb2RlKGFzdCwgZXJyb3JzKTtcbiAgfVxuICByZXR1cm4gZXJyb3JzXG59XG5cbmZ1
bmN0aW9uIGNoZWNrTm9kZSAobm9kZSwgZXJyb3JzKSB7XG4gIGlmIChub2RlLnR5cGUgPT09IDEp
IHtcbiAgICBmb3IgKHZhciBuYW1lIGluIG5vZGUuYXR0cnNNYXApIHtcbiAgICAgIGlmIChkaXJS
RS50ZXN0KG5hbWUpKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IG5vZGUuYXR0cnNNYXBbbmFtZV07
XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIGlmIChuYW1lID09PSAndi1mb3InKSB7
XG4gICAgICAgICAgICBjaGVja0Zvcihub2RlLCAoXCJ2LWZvcj1cXFwiXCIgKyB2YWx1ZSArIFwi
XFxcIlwiKSwgZXJyb3JzKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKG9uUkUudGVzdChuYW1lKSkg
e1xuICAgICAgICAgICAgY2hlY2tFdmVudCh2YWx1ZSwgKG5hbWUgKyBcIj1cXFwiXCIgKyB2YWx1
ZSArIFwiXFxcIlwiKSwgZXJyb3JzKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAg
Y2hlY2tFeHByZXNzaW9uKHZhbHVlLCAobmFtZSArIFwiPVxcXCJcIiArIHZhbHVlICsgXCJcXFwi
XCIpLCBlcnJvcnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAg
ICBpZiAobm9kZS5jaGlsZHJlbikge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmNo
aWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNoZWNrTm9kZShub2RlLmNoaWxkcmVuW2ld
LCBlcnJvcnMpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIGlmIChub2RlLnR5cGUgPT09IDIp
IHtcbiAgICBjaGVja0V4cHJlc3Npb24obm9kZS5leHByZXNzaW9uLCBub2RlLnRleHQsIGVycm9y
cyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2hlY2tFdmVudCAoZXhwLCB0ZXh0LCBlcnJvcnMpIHtc
biAgdmFyIHN0aXBwZWQgPSBleHAucmVwbGFjZShzdHJpcFN0cmluZ1JFLCAnJyk7XG4gIHZhciBr
ZXl3b3JkTWF0Y2ggPSBzdGlwcGVkLm1hdGNoKHVuYXJ5T3BlcmF0b3JzUkUpO1xuICBpZiAoa2V5
d29yZE1hdGNoICYmIHN0aXBwZWQuY2hhckF0KGtleXdvcmRNYXRjaC5pbmRleCAtIDEpICE9PSAn
JCcpIHtcbiAgICBlcnJvcnMucHVzaChcbiAgICAgIFwiYXZvaWQgdXNpbmcgSmF2YVNjcmlwdCB1
bmFyeSBvcGVyYXRvciBhcyBwcm9wZXJ0eSBuYW1lOiBcIiArXG4gICAgICBcIlxcXCJcIiArIChr
ZXl3b3JkTWF0Y2hbMF0pICsgXCJcXFwiIGluIGV4cHJlc3Npb24gXCIgKyAodGV4dC50cmltKCkp
XG4gICAgKTtcbiAgfVxuICBjaGVja0V4cHJlc3Npb24oZXhwLCB0ZXh0LCBlcnJvcnMpO1xufVxu
XG5mdW5jdGlvbiBjaGVja0ZvciAobm9kZSwgdGV4dCwgZXJyb3JzKSB7XG4gIGNoZWNrRXhwcmVz
c2lvbihub2RlLmZvciB8fCAnJywgdGV4dCwgZXJyb3JzKTtcbiAgY2hlY2tJZGVudGlmaWVyKG5v
ZGUuYWxpYXMsICd2LWZvciBhbGlhcycsIHRleHQsIGVycm9ycyk7XG4gIGNoZWNrSWRlbnRpZmll
cihub2RlLml0ZXJhdG9yMSwgJ3YtZm9yIGl0ZXJhdG9yJywgdGV4dCwgZXJyb3JzKTtcbiAgY2hl
Y2tJZGVudGlmaWVyKG5vZGUuaXRlcmF0b3IyLCAndi1mb3IgaXRlcmF0b3InLCB0ZXh0LCBlcnJv
cnMpO1xufVxuXG5mdW5jdGlvbiBjaGVja0lkZW50aWZpZXIgKGlkZW50LCB0eXBlLCB0ZXh0LCBl
cnJvcnMpIHtcbiAgaWYgKHR5cGVvZiBpZGVudCA9PT0gJ3N0cmluZycgJiYgIWlkZW50UkUudGVz
dChpZGVudCkpIHtcbiAgICBlcnJvcnMucHVzaCgoXCJpbnZhbGlkIFwiICsgdHlwZSArIFwiIFxc
XCJcIiArIGlkZW50ICsgXCJcXFwiIGluIGV4cHJlc3Npb246IFwiICsgKHRleHQudHJpbSgpKSkp
O1xuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrRXhwcmVzc2lvbiAoZXhwLCB0ZXh0LCBlcnJvcnMp
IHtcbiAgdHJ5IHtcbiAgICBuZXcgRnVuY3Rpb24oKFwicmV0dXJuIFwiICsgZXhwKSk7XG4gIH0g
Y2F0Y2ggKGUpIHtcbiAgICB2YXIga2V5d29yZE1hdGNoID0gZXhwLnJlcGxhY2Uoc3RyaXBTdHJp
bmdSRSwgJycpLm1hdGNoKHByb2hpYml0ZWRLZXl3b3JkUkUpO1xuICAgIGlmIChrZXl3b3JkTWF0
Y2gpIHtcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICBcImF2b2lkIHVzaW5nIEphdmFTY3Jp
cHQga2V5d29yZCBhcyBwcm9wZXJ0eSBuYW1lOiBcIiArXG4gICAgICAgIFwiXFxcIlwiICsgKGtl
eXdvcmRNYXRjaFswXSkgKyBcIlxcXCIgaW4gZXhwcmVzc2lvbiBcIiArICh0ZXh0LnRyaW0oKSlc
biAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVycm9ycy5wdXNoKChcImludmFsaWQgZXhw
cmVzc2lvbjogXCIgKyAodGV4dC50cmltKCkpKSk7XG4gICAgfVxuICB9XG59XG5cbi8qICAqL1xu
XG5mdW5jdGlvbiBjcmVhdGVGdW5jdGlvbiAoY29kZSwgZXJyb3JzKSB7XG4gIHRyeSB7XG4gICAg
cmV0dXJuIG5ldyBGdW5jdGlvbihjb2RlKVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICBlcnJvcnMu
cHVzaCh7IGVycjogZXJyLCBjb2RlOiBjb2RlIH0pO1xuICAgIHJldHVybiBub29wXG4gIH1cbn1c
blxuZnVuY3Rpb24gY3JlYXRlQ29tcGlsZVRvRnVuY3Rpb25GbiAoY29tcGlsZSkge1xuICB2YXIg
Y2FjaGUgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuXG4gIHJldHVybiBmdW5jdGlvbiBjb21waWxl
VG9GdW5jdGlvbnMgKFxuICAgIHRlbXBsYXRlLFxuICAgIG9wdGlvbnMsXG4gICAgdm1cbiAgKSB7
XG4gICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUg
aWYgKi9cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vIGRldGVjdCBwb3NzaWJsZSBDU1AgcmVz
dHJpY3Rpb25cbiAgICAgIHRyeSB7XG4gICAgICAgIG5ldyBGdW5jdGlvbigncmV0dXJuIDEnKTtc
biAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgaWYgKGUudG9TdHJpbmcoKS5tYXRjaCgvdW5z
YWZlLWV2YWx8Q1NQLykpIHtcbiAgICAgICAgICB3YXJuKFxuICAgICAgICAgICAgJ0l0IHNlZW1z
IHlvdSBhcmUgdXNpbmcgdGhlIHN0YW5kYWxvbmUgYnVpbGQgb2YgVnVlLmpzIGluIGFuICcgK1xu
ICAgICAgICAgICAgJ2Vudmlyb25tZW50IHdpdGggQ29udGVudCBTZWN1cml0eSBQb2xpY3kgdGhh
dCBwcm9oaWJpdHMgdW5zYWZlLWV2YWwuICcgK1xuICAgICAgICAgICAgJ1RoZSB0ZW1wbGF0ZSBj
b21waWxlciBjYW5ub3Qgd29yayBpbiB0aGlzIGVudmlyb25tZW50LiBDb25zaWRlciAnICtcbiAg
ICAgICAgICAgICdyZWxheGluZyB0aGUgcG9saWN5IHRvIGFsbG93IHVuc2FmZS1ldmFsIG9yIHBy
ZS1jb21waWxpbmcgeW91ciAnICtcbiAgICAgICAgICAgICd0ZW1wbGF0ZXMgaW50byByZW5kZXIg
ZnVuY3Rpb25zLidcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4g
ICAgLy8gY2hlY2sgY2FjaGVcbiAgICB2YXIga2V5ID0gb3B0aW9ucy5kZWxpbWl0ZXJzXG4gICAg
ICA/IFN0cmluZyhvcHRpb25zLmRlbGltaXRlcnMpICsgdGVtcGxhdGVcbiAgICAgIDogdGVtcGxh
dGU7XG4gICAgaWYgKGNhY2hlW2tleV0pIHtcbiAgICAgIHJldHVybiBjYWNoZVtrZXldXG4gICAg
fVxuXG4gICAgLy8gY29tcGlsZVxuICAgIHZhciBjb21waWxlZCA9IGNvbXBpbGUodGVtcGxhdGUs
IG9wdGlvbnMpO1xuXG4gICAgLy8gY2hlY2sgY29tcGlsYXRpb24gZXJyb3JzL3RpcHNcbiAgICBp
ZiAoZmFsc2UpIHtcbiAgICAgIGlmIChjb21waWxlZC5lcnJvcnMgJiYgY29tcGlsZWQuZXJyb3Jz
Lmxlbmd0aCkge1xuICAgICAgICB3YXJuKFxuICAgICAgICAgIFwiRXJyb3IgY29tcGlsaW5nIHRl
bXBsYXRlOlxcblxcblwiICsgdGVtcGxhdGUgKyBcIlxcblxcblwiICtcbiAgICAgICAgICBjb21w
aWxlZC5lcnJvcnMubWFwKGZ1bmN0aW9uIChlKSB7IHJldHVybiAoXCItIFwiICsgZSk7IH0pLmpv
aW4oJ1xcbicpICsgJ1xcbicsXG4gICAgICAgICAgdm1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAg
ICAgIGlmIChjb21waWxlZC50aXBzICYmIGNvbXBpbGVkLnRpcHMubGVuZ3RoKSB7XG4gICAgICAg
IGNvbXBpbGVkLnRpcHMuZm9yRWFjaChmdW5jdGlvbiAobXNnKSB7IHJldHVybiB0aXAobXNnLCB2
bSk7IH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHR1cm4gY29kZSBpbnRvIGZ1bmN0aW9u
c1xuICAgIHZhciByZXMgPSB7fTtcbiAgICB2YXIgZm5HZW5FcnJvcnMgPSBbXTtcbiAgICByZXMu
cmVuZGVyID0gY3JlYXRlRnVuY3Rpb24oY29tcGlsZWQucmVuZGVyLCBmbkdlbkVycm9ycyk7XG4g
ICAgcmVzLnN0YXRpY1JlbmRlckZucyA9IGNvbXBpbGVkLnN0YXRpY1JlbmRlckZucy5tYXAoZnVu
Y3Rpb24gKGNvZGUpIHtcbiAgICAgIHJldHVybiBjcmVhdGVGdW5jdGlvbihjb2RlLCBmbkdlbkVy
cm9ycylcbiAgICB9KTtcblxuICAgIC8vIGNoZWNrIGZ1bmN0aW9uIGdlbmVyYXRpb24gZXJyb3Jz
LlxuICAgIC8vIHRoaXMgc2hvdWxkIG9ubHkgaGFwcGVuIGlmIHRoZXJlIGlzIGEgYnVnIGluIHRo
ZSBjb21waWxlciBpdHNlbGYuXG4gICAgLy8gbW9zdGx5IGZvciBjb2RlZ2VuIGRldmVsb3BtZW50
IHVzZVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChmYWxzZSkge1xuICAg
ICAgaWYgKCghY29tcGlsZWQuZXJyb3JzIHx8ICFjb21waWxlZC5lcnJvcnMubGVuZ3RoKSAmJiBm
bkdlbkVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICBcIkZhaWxlZCB0
byBnZW5lcmF0ZSByZW5kZXIgZnVuY3Rpb246XFxuXFxuXCIgK1xuICAgICAgICAgIGZuR2VuRXJy
b3JzLm1hcChmdW5jdGlvbiAocmVmKSB7XG4gICAgICAgICAgICB2YXIgZXJyID0gcmVmLmVycjtc
biAgICAgICAgICAgIHZhciBjb2RlID0gcmVmLmNvZGU7XG5cbiAgICAgICAgICAgIHJldHVybiAo
KGVyci50b1N0cmluZygpKSArIFwiIGluXFxuXFxuXCIgKyBjb2RlICsgXCJcXG5cIik7XG4gICAg
ICAgIH0pLmpvaW4oJ1xcbicpLFxuICAgICAgICAgIHZtXG4gICAgICAgICk7XG4gICAgICB9XG4g
ICAgfVxuXG4gICAgcmV0dXJuIChjYWNoZVtrZXldID0gcmVzKVxuICB9XG59XG5cbi8qICAqL1xu
XG5mdW5jdGlvbiBjcmVhdGVDb21waWxlckNyZWF0b3IgKGJhc2VDb21waWxlKSB7XG4gIHJldHVy
biBmdW5jdGlvbiBjcmVhdGVDb21waWxlciAoYmFzZU9wdGlvbnMpIHtcbiAgICBmdW5jdGlvbiBj
b21waWxlIChcbiAgICAgIHRlbXBsYXRlLFxuICAgICAgb3B0aW9uc1xuICAgICkge1xuICAgICAg
dmFyIGZpbmFsT3B0aW9ucyA9IE9iamVjdC5jcmVhdGUoYmFzZU9wdGlvbnMpO1xuICAgICAgdmFy
IGVycm9ycyA9IFtdO1xuICAgICAgdmFyIHRpcHMgPSBbXTtcbiAgICAgIGZpbmFsT3B0aW9ucy53
YXJuID0gZnVuY3Rpb24gKG1zZywgdGlwKSB7XG4gICAgICAgICh0aXAgPyB0aXBzIDogZXJyb3Jz
KS5wdXNoKG1zZyk7XG4gICAgICB9O1xuXG4gICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAv
LyBtZXJnZSBjdXN0b20gbW9kdWxlc1xuICAgICAgICBpZiAob3B0aW9ucy5tb2R1bGVzKSB7XG4g
ICAgICAgICAgZmluYWxPcHRpb25zLm1vZHVsZXMgPVxuICAgICAgICAgICAgKGJhc2VPcHRpb25z
Lm1vZHVsZXMgfHwgW10pLmNvbmNhdChvcHRpb25zLm1vZHVsZXMpO1xuICAgICAgICB9XG4gICAg
ICAgIC8vIG1lcmdlIGN1c3RvbSBkaXJlY3RpdmVzXG4gICAgICAgIGlmIChvcHRpb25zLmRpcmVj
dGl2ZXMpIHtcbiAgICAgICAgICBmaW5hbE9wdGlvbnMuZGlyZWN0aXZlcyA9IGV4dGVuZChcbiAg
ICAgICAgICAgIE9iamVjdC5jcmVhdGUoYmFzZU9wdGlvbnMuZGlyZWN0aXZlcyksXG4gICAgICAg
ICAgICBvcHRpb25zLmRpcmVjdGl2ZXNcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAg
IC8vIGNvcHkgb3RoZXIgb3B0aW9uc1xuICAgICAgICBmb3IgKHZhciBrZXkgaW4gb3B0aW9ucykg
e1xuICAgICAgICAgIGlmIChrZXkgIT09ICdtb2R1bGVzJyAmJiBrZXkgIT09ICdkaXJlY3RpdmVz
Jykge1xuICAgICAgICAgICAgZmluYWxPcHRpb25zW2tleV0gPSBvcHRpb25zW2tleV07XG4gICAg
ICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHZhciBjb21waWxlZCA9IGJhc2VD
b21waWxlKHRlbXBsYXRlLCBmaW5hbE9wdGlvbnMpO1xuICAgICAgaWYgKGZhbHNlKSB7XG4gICAg
ICAgIGVycm9ycy5wdXNoLmFwcGx5KGVycm9ycywgZGV0ZWN0RXJyb3JzKGNvbXBpbGVkLmFzdCkp
O1xuICAgICAgfVxuICAgICAgY29tcGlsZWQuZXJyb3JzID0gZXJyb3JzO1xuICAgICAgY29tcGls
ZWQudGlwcyA9IHRpcHM7XG4gICAgICByZXR1cm4gY29tcGlsZWRcbiAgICB9XG5cbiAgICByZXR1
cm4ge1xuICAgICAgY29tcGlsZTogY29tcGlsZSxcbiAgICAgIGNvbXBpbGVUb0Z1bmN0aW9uczog
Y3JlYXRlQ29tcGlsZVRvRnVuY3Rpb25Gbihjb21waWxlKVxuICAgIH1cbiAgfVxufVxuXG4vKiAg
Ki9cblxuLy8gYGNyZWF0ZUNvbXBpbGVyQ3JlYXRvcmAgYWxsb3dzIGNyZWF0aW5nIGNvbXBpbGVy
cyB0aGF0IHVzZSBhbHRlcm5hdGl2ZVxuLy8gcGFyc2VyL29wdGltaXplci9jb2RlZ2VuLCBlLmcg
dGhlIFNTUiBvcHRpbWl6aW5nIGNvbXBpbGVyLlxuLy8gSGVyZSB3ZSBqdXN0IGV4cG9ydCBhIGRl
ZmF1bHQgY29tcGlsZXIgdXNpbmcgdGhlIGRlZmF1bHQgcGFydHMuXG52YXIgY3JlYXRlQ29tcGls
ZXIgPSBjcmVhdGVDb21waWxlckNyZWF0b3IoZnVuY3Rpb24gYmFzZUNvbXBpbGUgKFxuICB0ZW1w
bGF0ZSxcbiAgb3B0aW9uc1xuKSB7XG4gIHZhciBhc3QgPSBwYXJzZSh0ZW1wbGF0ZS50cmltKCks
IG9wdGlvbnMpO1xuICBvcHRpbWl6ZShhc3QsIG9wdGlvbnMpO1xuICB2YXIgY29kZSA9IGdlbmVy
YXRlKGFzdCwgb3B0aW9ucyk7XG4gIHJldHVybiB7XG4gICAgYXN0OiBhc3QsXG4gICAgcmVuZGVy
OiBjb2RlLnJlbmRlcixcbiAgICBzdGF0aWNSZW5kZXJGbnM6IGNvZGUuc3RhdGljUmVuZGVyRm5z
XG4gIH1cbn0pO1xuXG4vKiAgKi9cblxudmFyIHJlZiQxID0gY3JlYXRlQ29tcGlsZXIoYmFzZU9w
dGlvbnMpO1xudmFyIGNvbXBpbGVUb0Z1bmN0aW9ucyA9IHJlZiQxLmNvbXBpbGVUb0Z1bmN0aW9u
cztcblxuLyogICovXG5cbnZhciBpZFRvVGVtcGxhdGUgPSBjYWNoZWQoZnVuY3Rpb24gKGlkKSB7
XG4gIHZhciBlbCA9IHF1ZXJ5KGlkKTtcbiAgcmV0dXJuIGVsICYmIGVsLmlubmVySFRNTFxufSk7
XG5cbnZhciBtb3VudCA9IFZ1ZSQzLnByb3RvdHlwZS4kbW91bnQ7XG5WdWUkMy5wcm90b3R5cGUu
JG1vdW50ID0gZnVuY3Rpb24gKFxuICBlbCxcbiAgaHlkcmF0aW5nXG4pIHtcbiAgZWwgPSBlbCAm
JiBxdWVyeShlbCk7XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmIChlbCA9PT0g
ZG9jdW1lbnQuYm9keSB8fCBlbCA9PT0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSB7XG4gICAg
XCJwcm9kdWN0aW9uXCIgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgXCJEbyBub3Qg
bW91bnQgVnVlIHRvIDxodG1sPiBvciA8Ym9keT4gLSBtb3VudCB0byBub3JtYWwgZWxlbWVudHMg
aW5zdGVhZC5cIlxuICAgICk7XG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIHZhciBvcHRpb25z
ID0gdGhpcy4kb3B0aW9ucztcbiAgLy8gcmVzb2x2ZSB0ZW1wbGF0ZS9lbCBhbmQgY29udmVydCB0
byByZW5kZXIgZnVuY3Rpb25cbiAgaWYgKCFvcHRpb25zLnJlbmRlcikge1xuICAgIHZhciB0ZW1w
bGF0ZSA9IG9wdGlvbnMudGVtcGxhdGU7XG4gICAgaWYgKHRlbXBsYXRlKSB7XG4gICAgICBpZiAo
dHlwZW9mIHRlbXBsYXRlID09PSAnc3RyaW5nJykge1xuICAgICAgICBpZiAodGVtcGxhdGUuY2hh
ckF0KDApID09PSAnIycpIHtcbiAgICAgICAgICB0ZW1wbGF0ZSA9IGlkVG9UZW1wbGF0ZSh0ZW1w
bGF0ZSk7XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgICAgaWYg
KGZhbHNlKSB7XG4gICAgICAgICAgICB3YXJuKFxuICAgICAgICAgICAgICAoXCJUZW1wbGF0ZSBl
bGVtZW50IG5vdCBmb3VuZCBvciBpcyBlbXB0eTogXCIgKyAob3B0aW9ucy50ZW1wbGF0ZSkpLFxu
ICAgICAgICAgICAgICB0aGlzXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAg
fVxuICAgICAgfSBlbHNlIGlmICh0ZW1wbGF0ZS5ub2RlVHlwZSkge1xuICAgICAgICB0ZW1wbGF0
ZSA9IHRlbXBsYXRlLmlubmVySFRNTDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChmYWxz
ZSkge1xuICAgICAgICAgIHdhcm4oJ2ludmFsaWQgdGVtcGxhdGUgb3B0aW9uOicgKyB0ZW1wbGF0
ZSwgdGhpcyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXNcbiAgICAgIH1cbiAgICB9
IGVsc2UgaWYgKGVsKSB7XG4gICAgICB0ZW1wbGF0ZSA9IGdldE91dGVySFRNTChlbCk7XG4gICAg
fVxuICAgIGlmICh0ZW1wbGF0ZSkge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4g
ICAgICBpZiAoZmFsc2UpIHtcbiAgICAgICAgbWFyaygnY29tcGlsZScpO1xuICAgICAgfVxuXG4g
ICAgICB2YXIgcmVmID0gY29tcGlsZVRvRnVuY3Rpb25zKHRlbXBsYXRlLCB7XG4gICAgICAgIHNo
b3VsZERlY29kZU5ld2xpbmVzOiBzaG91bGREZWNvZGVOZXdsaW5lcyxcbiAgICAgICAgZGVsaW1p
dGVyczogb3B0aW9ucy5kZWxpbWl0ZXJzLFxuICAgICAgICBjb21tZW50czogb3B0aW9ucy5jb21t
ZW50c1xuICAgICAgfSwgdGhpcyk7XG4gICAgICB2YXIgcmVuZGVyID0gcmVmLnJlbmRlcjtcbiAg
ICAgIHZhciBzdGF0aWNSZW5kZXJGbnMgPSByZWYuc3RhdGljUmVuZGVyRm5zO1xuICAgICAgb3B0
aW9ucy5yZW5kZXIgPSByZW5kZXI7XG4gICAgICBvcHRpb25zLnN0YXRpY1JlbmRlckZucyA9IHN0
YXRpY1JlbmRlckZucztcblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBp
ZiAoZmFsc2UpIHtcbiAgICAgICAgbWFyaygnY29tcGlsZSBlbmQnKTtcbiAgICAgICAgbWVhc3Vy
ZSgoKHRoaXMuX25hbWUpICsgXCIgY29tcGlsZVwiKSwgJ2NvbXBpbGUnLCAnY29tcGlsZSBlbmQn
KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIG1vdW50LmNhbGwodGhpcywgZWwsIGh5
ZHJhdGluZylcbn07XG5cbi8qKlxuICogR2V0IG91dGVySFRNTCBvZiBlbGVtZW50cywgdGFraW5n
IGNhcmVcbiAqIG9mIFNWRyBlbGVtZW50cyBpbiBJRSBhcyB3ZWxsLlxuICovXG5mdW5jdGlvbiBn
ZXRPdXRlckhUTUwgKGVsKSB7XG4gIGlmIChlbC5vdXRlckhUTUwpIHtcbiAgICByZXR1cm4gZWwu
b3V0ZXJIVE1MXG4gIH0gZWxzZSB7XG4gICAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChlbC5jbG9uZU5vZGUo
dHJ1ZSkpO1xuICAgIHJldHVybiBjb250YWluZXIuaW5uZXJIVE1MXG4gIH1cbn1cblxuVnVlJDMu
Y29tcGlsZSA9IGNvbXBpbGVUb0Z1bmN0aW9ucztcblxuLyogaGFybW9ueSBkZWZhdWx0IGV4cG9y
dCAqLyBfX3dlYnBhY2tfZXhwb3J0c19fW1wiZGVmYXVsdFwiXSA9IChWdWUkMyk7XG5cbi8qIFdF
QlBBQ0sgVkFSIElOSkVDVElPTiAqL30uY2FsbChfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBh
Y2tfcmVxdWlyZV9fKDEyKSkpXG5cbi8qKiovIH0pLFxuLyogMSAqL1xuLyoqKi8gKGZ1bmN0aW9u
KG1vZHVsZSwgZXhwb3J0cykge1xuXG4vKiBnbG9iYWxzIF9fVlVFX1NTUl9DT05URVhUX18gKi9c
blxuLy8gdGhpcyBtb2R1bGUgaXMgYSBydW50aW1lIHV0aWxpdHkgZm9yIGNsZWFuZXIgY29tcG9u
ZW50IG1vZHVsZSBvdXRwdXQgYW5kIHdpbGxcbi8vIGJlIGluY2x1ZGVkIGluIHRoZSBmaW5hbCB3
ZWJwYWNrIHVzZXIgYnVuZGxlXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gbm9ybWFsaXpl
Q29tcG9uZW50IChcbiAgcmF3U2NyaXB0RXhwb3J0cyxcbiAgY29tcGlsZWRUZW1wbGF0ZSxcbiAg
aW5qZWN0U3R5bGVzLFxuICBzY29wZUlkLFxuICBtb2R1bGVJZGVudGlmaWVyIC8qIHNlcnZlciBv
bmx5ICovXG4pIHtcbiAgdmFyIGVzTW9kdWxlXG4gIHZhciBzY3JpcHRFeHBvcnRzID0gcmF3U2Ny
aXB0RXhwb3J0cyA9IHJhd1NjcmlwdEV4cG9ydHMgfHwge31cblxuICAvLyBFUzYgbW9kdWxlcyBp
bnRlcm9wXG4gIHZhciB0eXBlID0gdHlwZW9mIHJhd1NjcmlwdEV4cG9ydHMuZGVmYXVsdFxuICBp
ZiAodHlwZSA9PT0gJ29iamVjdCcgfHwgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGVzTW9k
dWxlID0gcmF3U2NyaXB0RXhwb3J0c1xuICAgIHNjcmlwdEV4cG9ydHMgPSByYXdTY3JpcHRFeHBv
cnRzLmRlZmF1bHRcbiAgfVxuXG4gIC8vIFZ1ZS5leHRlbmQgY29uc3RydWN0b3IgZXhwb3J0IGlu
dGVyb3BcbiAgdmFyIG9wdGlvbnMgPSB0eXBlb2Ygc2NyaXB0RXhwb3J0cyA9PT0gJ2Z1bmN0aW9u
J1xuICAgID8gc2NyaXB0RXhwb3J0cy5vcHRpb25zXG4gICAgOiBzY3JpcHRFeHBvcnRzXG5cbiAg
Ly8gcmVuZGVyIGZ1bmN0aW9uc1xuICBpZiAoY29tcGlsZWRUZW1wbGF0ZSkge1xuICAgIG9wdGlv
bnMucmVuZGVyID0gY29tcGlsZWRUZW1wbGF0ZS5yZW5kZXJcbiAgICBvcHRpb25zLnN0YXRpY1Jl
bmRlckZucyA9IGNvbXBpbGVkVGVtcGxhdGUuc3RhdGljUmVuZGVyRm5zXG4gIH1cblxuICAvLyBz
Y29wZWRJZFxuICBpZiAoc2NvcGVJZCkge1xuICAgIG9wdGlvbnMuX3Njb3BlSWQgPSBzY29wZUlk
XG4gIH1cblxuICB2YXIgaG9va1xuICBpZiAobW9kdWxlSWRlbnRpZmllcikgeyAvLyBzZXJ2ZXIg
YnVpbGRcbiAgICBob29rID0gZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIC8vIDIuMyBpbmpl
Y3Rpb25cbiAgICAgIGNvbnRleHQgPVxuICAgICAgICBjb250ZXh0IHx8IC8vIGNhY2hlZCBjYWxs
XG4gICAgICAgICh0aGlzLiR2bm9kZSAmJiB0aGlzLiR2bm9kZS5zc3JDb250ZXh0KSB8fCAvLyBz
dGF0ZWZ1bFxuICAgICAgICAodGhpcy5wYXJlbnQgJiYgdGhpcy5wYXJlbnQuJHZub2RlICYmIHRo
aXMucGFyZW50LiR2bm9kZS5zc3JDb250ZXh0KSAvLyBmdW5jdGlvbmFsXG4gICAgICAvLyAyLjIg
d2l0aCBydW5Jbk5ld0NvbnRleHQ6IHRydWVcbiAgICAgIGlmICghY29udGV4dCAmJiB0eXBlb2Yg
X19WVUVfU1NSX0NPTlRFWFRfXyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgY29udGV4dCA9
IF9fVlVFX1NTUl9DT05URVhUX19cbiAgICAgIH1cbiAgICAgIC8vIGluamVjdCBjb21wb25lbnQg
c3R5bGVzXG4gICAgICBpZiAoaW5qZWN0U3R5bGVzKSB7XG4gICAgICAgIGluamVjdFN0eWxlcy5j
YWxsKHRoaXMsIGNvbnRleHQpXG4gICAgICB9XG4gICAgICAvLyByZWdpc3RlciBjb21wb25lbnQg
bW9kdWxlIGlkZW50aWZpZXIgZm9yIGFzeW5jIGNodW5rIGluZmVycmVuY2VcbiAgICAgIGlmIChj
b250ZXh0ICYmIGNvbnRleHQuX3JlZ2lzdGVyZWRDb21wb25lbnRzKSB7XG4gICAgICAgIGNvbnRl
eHQuX3JlZ2lzdGVyZWRDb21wb25lbnRzLmFkZChtb2R1bGVJZGVudGlmaWVyKVxuICAgICAgfVxu
ICAgIH1cbiAgICAvLyB1c2VkIGJ5IHNzciBpbiBjYXNlIGNvbXBvbmVudCBpcyBjYWNoZWQgYW5k
IGJlZm9yZUNyZWF0ZVxuICAgIC8vIG5ldmVyIGdldHMgY2FsbGVkXG4gICAgb3B0aW9ucy5fc3Ny
UmVnaXN0ZXIgPSBob29rXG4gIH0gZWxzZSBpZiAoaW5qZWN0U3R5bGVzKSB7XG4gICAgaG9vayA9
IGluamVjdFN0eWxlc1xuICB9XG5cbiAgaWYgKGhvb2spIHtcbiAgICB2YXIgZnVuY3Rpb25hbCA9
IG9wdGlvbnMuZnVuY3Rpb25hbFxuICAgIHZhciBleGlzdGluZyA9IGZ1bmN0aW9uYWxcbiAgICAg
ID8gb3B0aW9ucy5yZW5kZXJcbiAgICAgIDogb3B0aW9ucy5iZWZvcmVDcmVhdGVcbiAgICBpZiAo
IWZ1bmN0aW9uYWwpIHtcbiAgICAgIC8vIGluamVjdCBjb21wb25lbnQgcmVnaXN0cmF0aW9uIGFz
IGJlZm9yZUNyZWF0ZSBob29rXG4gICAgICBvcHRpb25zLmJlZm9yZUNyZWF0ZSA9IGV4aXN0aW5n
XG4gICAgICAgID8gW10uY29uY2F0KGV4aXN0aW5nLCBob29rKVxuICAgICAgICA6IFtob29rXVxu
ICAgIH0gZWxzZSB7XG4gICAgICAvLyByZWdpc3RlciBmb3IgZnVuY3Rpb2FsIGNvbXBvbmVudCBp
biB2dWUgZmlsZVxuICAgICAgb3B0aW9ucy5yZW5kZXIgPSBmdW5jdGlvbiByZW5kZXJXaXRoU3R5
bGVJbmplY3Rpb24gKGgsIGNvbnRleHQpIHtcbiAgICAgICAgaG9vay5jYWxsKGNvbnRleHQpXG4g
ICAgICAgIHJldHVybiBleGlzdGluZyhoLCBjb250ZXh0KVxuICAgICAgfVxuICAgIH1cbiAgfVxu
XG4gIHJldHVybiB7XG4gICAgZXNNb2R1bGU6IGVzTW9kdWxlLFxuICAgIGV4cG9ydHM6IHNjcmlw
dEV4cG9ydHMsXG4gICAgb3B0aW9uczogb3B0aW9uc1xuICB9XG59XG5cblxuLyoqKi8gfSksXG4v
KiAyICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWly
ZV9fKSB7XG5cblxuXG4vL1xuLy8gR2VuZXJhdGVkIG9uIFR1ZSBEZWMgMTYgMjAxNCAxMjoxMzo0
NyBHTVQrMDEwMCAoQ0VUKSBieSBDaGFybGllIFJvYmJpbnMsIFBhb2xvIEZyYWdvbWVuaSAmIHRo
ZSBDb250cmlidXRvcnMgKFVzaW5nIENvZGVzdXJnZW9uKS5cbi8vIFZlcnNpb24gMS4yLjZcbi8v
XG5cbihmdW5jdGlvbiAoZXhwb3J0cykge1xuXG4vKlxuICogYnJvd3Nlci5qczogQnJvd3NlciBz
cGVjaWZpYyBmdW5jdGlvbmFsaXR5IGZvciBkaXJlY3Rvci5cbiAqXG4gKiAoQykgMjAxMSwgQ2hh
cmxpZSBSb2JiaW5zLCBQYW9sbyBGcmFnb21lbmksICYgdGhlIENvbnRyaWJ1dG9ycy5cbiAqIE1J
VCBMSUNFTlNFXG4gKlxuICovXG5cbnZhciBkbG9jID0gZG9jdW1lbnQubG9jYXRpb247XG5cbmZ1
bmN0aW9uIGRsb2NIYXNoRW1wdHkoKSB7XG4gIC8vIE5vbi1JRSBicm93c2VycyByZXR1cm4gJycg
d2hlbiB0aGUgYWRkcmVzcyBiYXIgc2hvd3MgJyMnOyBEaXJlY3RvcidzIGxvZ2ljXG4gIC8vIGFz
c3VtZXMgYm90aCBtZWFuIGVtcHR5LlxuICByZXR1cm4gZGxvYy5oYXNoID09PSAnJyB8fCBkbG9j
Lmhhc2ggPT09ICcjJztcbn1cblxudmFyIGxpc3RlbmVyID0ge1xuICBtb2RlOiAnbW9kZXJuJyxc
biAgaGFzaDogZGxvYy5oYXNoLFxuICBoaXN0b3J5OiBmYWxzZSxcblxuICBjaGVjazogZnVuY3Rp
b24gKCkge1xuICAgIHZhciBoID0gZGxvYy5oYXNoO1xuICAgIGlmIChoICE9IHRoaXMuaGFzaCkg
e1xuICAgICAgdGhpcy5oYXNoID0gaDtcbiAgICAgIHRoaXMub25IYXNoQ2hhbmdlZCgpO1xuICAg
IH1cbiAgfSxcblxuICBmaXJlOiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0g
J21vZGVybicpIHtcbiAgICAgIHRoaXMuaGlzdG9yeSA9PT0gdHJ1ZSA/IHdpbmRvdy5vbnBvcHN0
YXRlKCkgOiB3aW5kb3cub25oYXNoY2hhbmdlKCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAg
dGhpcy5vbkhhc2hDaGFuZ2VkKCk7XG4gICAgfVxuICB9LFxuXG4gIGluaXQ6IGZ1bmN0aW9uIChm
biwgaGlzdG9yeSkge1xuICAgIHZhciBzZWxmID0gdGhpcztcbiAgICB0aGlzLmhpc3RvcnkgPSBo
aXN0b3J5O1xuXG4gICAgaWYgKCFSb3V0ZXIubGlzdGVuZXJzKSB7XG4gICAgICBSb3V0ZXIubGlz
dGVuZXJzID0gW107XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gb25jaGFuZ2Uob25DaGFuZ2VFdmVu
dCkge1xuICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBSb3V0ZXIubGlzdGVuZXJzLmxlbmd0aDsg
aSA8IGw7IGkrKykge1xuICAgICAgICBSb3V0ZXIubGlzdGVuZXJzW2ldKG9uQ2hhbmdlRXZlbnQp
O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vbm90ZSBJRTggaXMgYmVpbmcgY291bnRlZCBhcyAn
bW9kZXJuJyBiZWNhdXNlIGl0IGhhcyB0aGUgaGFzaGNoYW5nZSBldmVudFxuICAgIGlmICgnb25o
YXNoY2hhbmdlJyBpbiB3aW5kb3cgJiYgKGRvY3VtZW50LmRvY3VtZW50TW9kZSA9PT0gdW5kZWZp
bmVkXG4gICAgICB8fCBkb2N1bWVudC5kb2N1bWVudE1vZGUgPiA3KSkge1xuICAgICAgLy8gQXQg
bGVhc3QgZm9yIG5vdyBIVE1MNSBoaXN0b3J5IGlzIGF2YWlsYWJsZSBmb3IgJ21vZGVybicgYnJv
d3NlcnMgb25seVxuICAgICAgaWYgKHRoaXMuaGlzdG9yeSA9PT0gdHJ1ZSkge1xuICAgICAgICAv
LyBUaGVyZSBpcyBhbiBvbGQgYnVnIGluIENocm9tZSB0aGF0IGNhdXNlcyBvbnBvcHN0YXRlIHRv
IGZpcmUgZXZlblxuICAgICAgICAvLyB1cG9uIGluaXRpYWwgcGFnZSBsb2FkLiBTaW5jZSB0aGUg
aGFuZGxlciBpcyBydW4gbWFudWFsbHkgaW4gaW5pdCgpLFxuICAgICAgICAvLyB0aGlzIHdvdWxk
IGNhdXNlIENocm9tZSB0byBydW4gaXQgdHdpc2UuIEN1cnJlbnRseSB0aGUgb25seVxuICAgICAg
ICAvLyB3b3JrYXJvdW5kIHNlZW1zIHRvIGJlIHRvIHNldCB0aGUgaGFuZGxlciBhZnRlciB0aGUg
aW5pdGlhbCBwYWdlIGxvYWRcbiAgICAgICAgLy8gaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2No
cm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NjMwNDBcbiAgICAgICAgc2V0VGltZW91dChmdW5jdGlv
bigpIHtcbiAgICAgICAgICB3aW5kb3cub25wb3BzdGF0ZSA9IG9uY2hhbmdlO1xuICAgICAgICB9
LCA1MDApO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHdpbmRvdy5vbmhhc2hjaGFu
Z2UgPSBvbmNoYW5nZTtcbiAgICAgIH1cbiAgICAgIHRoaXMubW9kZSA9ICdtb2Rlcm4nO1xuICAg
IH1cbiAgICBlbHNlIHtcbiAgICAgIC8vXG4gICAgICAvLyBJRSBzdXBwb3J0LCBiYXNlZCBvbiBh
IGNvbmNlcHQgYnkgRXJpayBBcnZpZHNvbiAuLi5cbiAgICAgIC8vXG4gICAgICB2YXIgZnJhbWUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTtcbiAgICAgIGZyYW1lLmlkID0gJ3N0
YXRlLWZyYW1lJztcbiAgICAgIGZyYW1lLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZyYW1lKTtcbiAgICAgIHRoaXMud3JpdGVGcmFtZSgn
Jyk7XG5cbiAgICAgIGlmICgnb25wcm9wZXJ0eWNoYW5nZScgaW4gZG9jdW1lbnQgJiYgJ2F0dGFj
aEV2ZW50JyBpbiBkb2N1bWVudCkge1xuICAgICAgICBkb2N1bWVudC5hdHRhY2hFdmVudCgnb25w
cm9wZXJ0eWNoYW5nZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBpZiAoZXZlbnQucHJvcGVy
dHlOYW1lID09PSAnbG9jYXRpb24nKSB7XG4gICAgICAgICAgICBzZWxmLmNoZWNrKCk7XG4gICAg
ICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgd2luZG93LnNldEludGVydmFs
KGZ1bmN0aW9uICgpIHsgc2VsZi5jaGVjaygpOyB9LCA1MCk7XG5cbiAgICAgIHRoaXMub25IYXNo
Q2hhbmdlZCA9IG9uY2hhbmdlO1xuICAgICAgdGhpcy5tb2RlID0gJ2xlZ2FjeSc7XG4gICAgfVxu
XG4gICAgUm91dGVyLmxpc3RlbmVycy5wdXNoKGZuKTtcblxuICAgIHJldHVybiB0aGlzLm1vZGU7
XG4gIH0sXG5cbiAgZGVzdHJveTogZnVuY3Rpb24gKGZuKSB7XG4gICAgaWYgKCFSb3V0ZXIgfHwg
IVJvdXRlci5saXN0ZW5lcnMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgbGlz
dGVuZXJzID0gUm91dGVyLmxpc3RlbmVycztcblxuICAgIGZvciAodmFyIGkgPSBsaXN0ZW5lcnMu
bGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIGlmIChsaXN0ZW5lcnNbaV0gPT09IGZu
KSB7XG4gICAgICAgIGxpc3RlbmVycy5zcGxpY2UoaSwgMSk7XG4gICAgICB9XG4gICAgfVxuICB9
LFxuXG4gIHNldEhhc2g6IGZ1bmN0aW9uIChzKSB7XG4gICAgLy8gTW96aWxsYSBhbHdheXMgYWRk
cyBhbiBlbnRyeSB0byB0aGUgaGlzdG9yeVxuICAgIGlmICh0aGlzLm1vZGUgPT09ICdsZWdhY3kn
KSB7XG4gICAgICB0aGlzLndyaXRlRnJhbWUocyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGlz
dG9yeSA9PT0gdHJ1ZSkge1xuICAgICAgd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKHt9LCBkb2N1
bWVudC50aXRsZSwgcyk7XG4gICAgICAvLyBGaXJlIGFuIG9ucG9wc3RhdGUgZXZlbnQgbWFudWFs
bHkgc2luY2UgcHVzaGluZyBkb2VzIG5vdCBvYnZpb3VzbHlcbiAgICAgIC8vIHRyaWdnZXIgdGhl
IHBvcCBldmVudC5cbiAgICAgIHRoaXMuZmlyZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkbG9j
Lmhhc2ggPSAoc1swXSA9PT0gJy8nKSA/IHMgOiAnLycgKyBzO1xuICAgIH1cbiAgICByZXR1cm4g
dGhpcztcbiAgfSxcblxuICB3cml0ZUZyYW1lOiBmdW5jdGlvbiAocykge1xuICAgIC8vIElFIHN1
cHBvcnQuLi5cbiAgICB2YXIgZiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGF0ZS1mcmFt
ZScpO1xuICAgIHZhciBkID0gZi5jb250ZW50RG9jdW1lbnQgfHwgZi5jb250ZW50V2luZG93LmRv
Y3VtZW50O1xuICAgIGQub3BlbigpO1xuICAgIGQud3JpdGUoXCI8c2NyaXB0Pl9oYXNoID0gJ1wi
ICsgcyArIFwiJzsgb25sb2FkID0gcGFyZW50Lmxpc3RlbmVyLnN5bmNIYXNoOzxzY3JpcHQ+XCIp
O1xuICAgIGQuY2xvc2UoKTtcbiAgfSxcblxuICBzeW5jSGFzaDogZnVuY3Rpb24gKCkge1xuICAg
IC8vIElFIHN1cHBvcnQuLi5cbiAgICB2YXIgcyA9IHRoaXMuX2hhc2g7XG4gICAgaWYgKHMgIT0g
ZGxvYy5oYXNoKSB7XG4gICAgICBkbG9jLmhhc2ggPSBzO1xuICAgIH1cbiAgICByZXR1cm4gdGhp
cztcbiAgfSxcblxuICBvbkhhc2hDaGFuZ2VkOiBmdW5jdGlvbiAoKSB7fVxufTtcblxudmFyIFJv
dXRlciA9IGV4cG9ydHMuUm91dGVyID0gZnVuY3Rpb24gKHJvdXRlcykge1xuICBpZiAoISh0aGlz
IGluc3RhbmNlb2YgUm91dGVyKSkgcmV0dXJuIG5ldyBSb3V0ZXIocm91dGVzKTtcblxuICB0aGlz
LnBhcmFtcyAgID0ge307XG4gIHRoaXMucm91dGVzICAgPSB7fTtcbiAgdGhpcy5tZXRob2RzICA9
IFsnb24nLCAnb25jZScsICdhZnRlcicsICdiZWZvcmUnXTtcbiAgdGhpcy5zY29wZSAgICA9IFtd
O1xuICB0aGlzLl9tZXRob2RzID0ge307XG5cbiAgdGhpcy5faW5zZXJ0ID0gdGhpcy5pbnNlcnQ7
XG4gIHRoaXMuaW5zZXJ0ID0gdGhpcy5pbnNlcnRFeDtcblxuICB0aGlzLmhpc3RvcnlTdXBwb3J0
ID0gKHdpbmRvdy5oaXN0b3J5ICE9IG51bGwgPyB3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUgOiBu
dWxsKSAhPSBudWxsXG5cbiAgdGhpcy5jb25maWd1cmUoKTtcbiAgdGhpcy5tb3VudChyb3V0ZXMg
fHwge30pO1xufTtcblxuUm91dGVyLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKHIpIHtcbiAg
dmFyIHNlbGYgPSB0aGlzXG4gICAgLCByb3V0ZVRvO1xuICB0aGlzLmhhbmRsZXIgPSBmdW5jdGlv
bihvbkNoYW5nZUV2ZW50KSB7XG4gICAgdmFyIG5ld1VSTCA9IG9uQ2hhbmdlRXZlbnQgJiYgb25D
aGFuZ2VFdmVudC5uZXdVUkwgfHwgd2luZG93LmxvY2F0aW9uLmhhc2g7XG4gICAgdmFyIHVybCA9
IHNlbGYuaGlzdG9yeSA9PT0gdHJ1ZSA/IHNlbGYuZ2V0UGF0aCgpIDogbmV3VVJMLnJlcGxhY2Uo
Ly4qIy8sICcnKTtcbiAgICBzZWxmLmRpc3BhdGNoKCdvbicsIHVybC5jaGFyQXQoMCkgPT09ICcv
JyA/IHVybCA6ICcvJyArIHVybCk7XG4gIH07XG5cbiAgbGlzdGVuZXIuaW5pdCh0aGlzLmhhbmRs
ZXIsIHRoaXMuaGlzdG9yeSk7XG5cbiAgaWYgKHRoaXMuaGlzdG9yeSA9PT0gZmFsc2UpIHtcbiAg
ICBpZiAoZGxvY0hhc2hFbXB0eSgpICYmIHIpIHtcbiAgICAgIGRsb2MuaGFzaCA9IHI7XG4gICAg
fSBlbHNlIGlmICghZGxvY0hhc2hFbXB0eSgpKSB7XG4gICAgICBzZWxmLmRpc3BhdGNoKCdvbics
ICcvJyArIGRsb2MuaGFzaC5yZXBsYWNlKC9eKCNcXC98I3xcXC8pLywgJycpKTtcbiAgICB9XG4g
IH1cbiAgZWxzZSB7XG4gICAgaWYgKHRoaXMuY29udmVydF9oYXNoX2luX2luaXQpIHtcbiAgICAg
IC8vIFVzZSBoYXNoIGFzIHJvdXRlXG4gICAgICByb3V0ZVRvID0gZGxvY0hhc2hFbXB0eSgpICYm
IHIgPyByIDogIWRsb2NIYXNoRW1wdHkoKSA/IGRsb2MuaGFzaC5yZXBsYWNlKC9eIy8sICcnKSA6
IG51bGw7XG4gICAgICBpZiAocm91dGVUbykge1xuICAgICAgICB3aW5kb3cuaGlzdG9yeS5yZXBs
YWNlU3RhdGUoe30sIGRvY3VtZW50LnRpdGxlLCByb3V0ZVRvKTtcbiAgICAgIH1cbiAgICB9XG4g
ICAgZWxzZSB7XG4gICAgICAvLyBVc2UgY2Fub25pY2FsIHVybFxuICAgICAgcm91dGVUbyA9IHRo
aXMuZ2V0UGF0aCgpO1xuICAgIH1cblxuICAgIC8vIFJvdXRlciBoYXMgYmVlbiBpbml0aWFsaXpl
ZCwgYnV0IGR1ZSB0byB0aGUgY2hyb21lIGJ1ZyBpdCB3aWxsIG5vdFxuICAgIC8vIHlldCBhY3R1
YWxseSByb3V0ZSBIVE1MNSBoaXN0b3J5IHN0YXRlIGNoYW5nZXMuIFRodXMsIGRlY2lkZSBpZiBz
aG91bGQgcm91dGUuXG4gICAgaWYgKHJvdXRlVG8gfHwgdGhpcy5ydW5faW5faW5pdCA9PT0gdHJ1
ZSkge1xuICAgICAgdGhpcy5oYW5kbGVyKCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRoaXM7
XG59O1xuXG5Sb3V0ZXIucHJvdG90eXBlLmV4cGxvZGUgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciB2
ID0gdGhpcy5oaXN0b3J5ID09PSB0cnVlID8gdGhpcy5nZXRQYXRoKCkgOiBkbG9jLmhhc2g7XG4g
IGlmICh2LmNoYXJBdCgxKSA9PT0gJy8nKSB7IHY9di5zbGljZSgxKSB9XG4gIHJldHVybiB2LnNs
aWNlKDEsIHYubGVuZ3RoKS5zcGxpdChcIi9cIik7XG59O1xuXG5Sb3V0ZXIucHJvdG90eXBlLnNl
dFJvdXRlID0gZnVuY3Rpb24gKGksIHYsIHZhbCkge1xuICB2YXIgdXJsID0gdGhpcy5leHBsb2Rl
KCk7XG5cbiAgaWYgKHR5cGVvZiBpID09PSAnbnVtYmVyJyAmJiB0eXBlb2YgdiA9PT0gJ3N0cmlu
ZycpIHtcbiAgICB1cmxbaV0gPSB2O1xuICB9XG4gIGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09ICdz
dHJpbmcnKSB7XG4gICAgdXJsLnNwbGljZShpLCB2LCBzKTtcbiAgfVxuICBlbHNlIHtcbiAgICB1
cmwgPSBbaV07XG4gIH1cblxuICBsaXN0ZW5lci5zZXRIYXNoKHVybC5qb2luKCcvJykpO1xuICBy
ZXR1cm4gdXJsO1xufTtcblxuLy9cbi8vICMjIyBmdW5jdGlvbiBpbnNlcnRFeChtZXRob2QsIHBh
dGgsIHJvdXRlLCBwYXJlbnQpXG4vLyAjIyMjIEBtZXRob2Qge3N0cmluZ30gTWV0aG9kIHRvIGlu
c2VydCB0aGUgc3BlY2lmaWMgYHJvdXRlYC5cbi8vICMjIyMgQHBhdGgge0FycmF5fSBQYXJzZWQg
cGF0aCB0byBpbnNlcnQgdGhlIGByb3V0ZWAgYXQuXG4vLyAjIyMjIEByb3V0ZSB7QXJyYXl8ZnVu
Y3Rpb259IFJvdXRlIGhhbmRsZXJzIHRvIGluc2VydC5cbi8vICMjIyMgQHBhcmVudCB7T2JqZWN0
fSAqKk9wdGlvbmFsKiogUGFyZW50IFwicm91dGVzXCIgdG8gaW5zZXJ0IGludG8uXG4vLyBpbnNl
cnQgYSBjYWxsYmFjayB0aGF0IHdpbGwgb25seSBvY2N1ciBvbmNlIHBlciB0aGUgbWF0Y2hlZCBy
b3V0ZS5cbi8vXG5Sb3V0ZXIucHJvdG90eXBlLmluc2VydEV4ID0gZnVuY3Rpb24obWV0aG9kLCBw
YXRoLCByb3V0ZSwgcGFyZW50KSB7XG4gIGlmIChtZXRob2QgPT09IFwib25jZVwiKSB7XG4gICAg
bWV0aG9kID0gXCJvblwiO1xuICAgIHJvdXRlID0gZnVuY3Rpb24ocm91dGUpIHtcbiAgICAgIHZh
ciBvbmNlID0gZmFsc2U7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICAgIGlmIChv
bmNlKSByZXR1cm47XG4gICAgICAgIG9uY2UgPSB0cnVlO1xuICAgICAgICByZXR1cm4gcm91dGUu
YXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgIH07XG4gICAgfShyb3V0ZSk7XG4gIH1cbiAg
cmV0dXJuIHRoaXMuX2luc2VydChtZXRob2QsIHBhdGgsIHJvdXRlLCBwYXJlbnQpO1xufTtcblxu
Um91dGVyLnByb3RvdHlwZS5nZXRSb3V0ZSA9IGZ1bmN0aW9uICh2KSB7XG4gIHZhciByZXQgPSB2
O1xuXG4gIGlmICh0eXBlb2YgdiA9PT0gXCJudW1iZXJcIikge1xuICAgIHJldCA9IHRoaXMuZXhw
bG9kZSgpW3ZdO1xuICB9XG4gIGVsc2UgaWYgKHR5cGVvZiB2ID09PSBcInN0cmluZ1wiKXtcbiAg
ICB2YXIgaCA9IHRoaXMuZXhwbG9kZSgpO1xuICAgIHJldCA9IGguaW5kZXhPZih2KTtcbiAgfVxu
ICBlbHNlIHtcbiAgICByZXQgPSB0aGlzLmV4cGxvZGUoKTtcbiAgfVxuXG4gIHJldHVybiByZXQ7
XG59O1xuXG5Sb3V0ZXIucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbiAoKSB7XG4gIGxpc3Rl
bmVyLmRlc3Ryb3kodGhpcy5oYW5kbGVyKTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG5Sb3V0ZXIu
cHJvdG90eXBlLmdldFBhdGggPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBwYXRoID0gd2luZG93Lmxv
Y2F0aW9uLnBhdGhuYW1lO1xuICBpZiAocGF0aC5zdWJzdHIoMCwgMSkgIT09ICcvJykge1xuICAg
IHBhdGggPSAnLycgKyBwYXRoO1xuICB9XG4gIHJldHVybiBwYXRoO1xufTtcbmZ1bmN0aW9uIF9l
dmVyeShhcnIsIGl0ZXJhdG9yKSB7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsg
aSArPSAxKSB7XG4gICAgaWYgKGl0ZXJhdG9yKGFycltpXSwgaSwgYXJyKSA9PT0gZmFsc2UpIHtc
biAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gX2ZsYXR0ZW4oYXJyKSB7
XG4gIHZhciBmbGF0ID0gW107XG4gIGZvciAodmFyIGkgPSAwLCBuID0gYXJyLmxlbmd0aDsgaSA8
IG47IGkrKykge1xuICAgIGZsYXQgPSBmbGF0LmNvbmNhdChhcnJbaV0pO1xuICB9XG4gIHJldHVy
biBmbGF0O1xufVxuXG5mdW5jdGlvbiBfYXN5bmNFdmVyeVNlcmllcyhhcnIsIGl0ZXJhdG9yLCBj
YWxsYmFjaykge1xuICBpZiAoIWFyci5sZW5ndGgpIHtcbiAgICByZXR1cm4gY2FsbGJhY2soKTtc
biAgfVxuICB2YXIgY29tcGxldGVkID0gMDtcbiAgKGZ1bmN0aW9uIGl0ZXJhdGUoKSB7XG4gICAg
aXRlcmF0b3IoYXJyW2NvbXBsZXRlZF0sIGZ1bmN0aW9uKGVycikge1xuICAgICAgaWYgKGVyciB8
fCBlcnIgPT09IGZhbHNlKSB7XG4gICAgICAgIGNhbGxiYWNrKGVycik7XG4gICAgICAgIGNhbGxi
YWNrID0gZnVuY3Rpb24oKSB7fTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbXBsZXRlZCAr
PSAxO1xuICAgICAgICBpZiAoY29tcGxldGVkID09PSBhcnIubGVuZ3RoKSB7XG4gICAgICAgICAg
Y2FsbGJhY2soKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVyYXRlKCk7XG4gICAg
ICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfSkoKTtcbn1cblxuZnVuY3Rpb24gcGFyYW1pZnlT
dHJpbmcoc3RyLCBwYXJhbXMsIG1vZCkge1xuICBtb2QgPSBzdHI7XG4gIGZvciAodmFyIHBhcmFt
IGluIHBhcmFtcykge1xuICAgIGlmIChwYXJhbXMuaGFzT3duUHJvcGVydHkocGFyYW0pKSB7XG4g
ICAgICBtb2QgPSBwYXJhbXNbcGFyYW1dKHN0cik7XG4gICAgICBpZiAobW9kICE9PSBzdHIpIHtc
biAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBtb2QgPT09IHN0
ciA/IFwiKFsuX2EtekEtWjAtOS0lKCldKylcIiA6IG1vZDtcbn1cblxuZnVuY3Rpb24gcmVnaWZ5
U3RyaW5nKHN0ciwgcGFyYW1zKSB7XG4gIHZhciBtYXRjaGVzLCBsYXN0ID0gMCwgb3V0ID0gXCJc
IjtcbiAgd2hpbGUgKG1hdGNoZXMgPSBzdHIuc3Vic3RyKGxhc3QpLm1hdGNoKC9bXlxcd1xcZFxc
LSAlQCZdKlxcKlteXFx3XFxkXFwtICVAJl0qLykpIHtcbiAgICBsYXN0ID0gbWF0Y2hlcy5pbmRl
eCArIG1hdGNoZXNbMF0ubGVuZ3RoO1xuICAgIG1hdGNoZXNbMF0gPSBtYXRjaGVzWzBdLnJlcGxh
Y2UoL15cXCovLCBcIihbXy4oKSFcXFxcICVAJmEtekEtWjAtOS1dKylcIik7XG4gICAgb3V0ICs9
IHN0ci5zdWJzdHIoMCwgbWF0Y2hlcy5pbmRleCkgKyBtYXRjaGVzWzBdO1xuICB9XG4gIHN0ciA9
IG91dCArPSBzdHIuc3Vic3RyKGxhc3QpO1xuICB2YXIgY2FwdHVyZXMgPSBzdHIubWF0Y2goLzoo
W15cXC9dKykvaWcpLCBjYXB0dXJlLCBsZW5ndGg7XG4gIGlmIChjYXB0dXJlcykge1xuICAgIGxl
bmd0aCA9IGNhcHR1cmVzLmxlbmd0aDtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsg
aSsrKSB7XG4gICAgICBjYXB0dXJlID0gY2FwdHVyZXNbaV07XG4gICAgICBpZiAoY2FwdHVyZS5z
bGljZSgwLCAyKSA9PT0gXCI6OlwiKSB7XG4gICAgICAgIHN0ciA9IGNhcHR1cmUuc2xpY2UoMSk7
XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdHIgPSBzdHIucmVwbGFjZShjYXB0dXJlLCBwYXJh
bWlmeVN0cmluZyhjYXB0dXJlLCBwYXJhbXMpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0
dXJuIHN0cjtcbn1cblxuZnVuY3Rpb24gdGVybWluYXRvcihyb3V0ZXMsIGRlbGltaXRlciwgc3Rh
cnQsIHN0b3ApIHtcbiAgdmFyIGxhc3QgPSAwLCBsZWZ0ID0gMCwgcmlnaHQgPSAwLCBzdGFydCA9
IChzdGFydCB8fCBcIihcIikudG9TdHJpbmcoKSwgc3RvcCA9IChzdG9wIHx8IFwiKVwiKS50b1N0
cmluZygpLCBpO1xuICBmb3IgKGkgPSAwOyBpIDwgcm91dGVzLmxlbmd0aDsgaSsrKSB7XG4gICAg
dmFyIGNodW5rID0gcm91dGVzW2ldO1xuICAgIGlmIChjaHVuay5pbmRleE9mKHN0YXJ0LCBsYXN0
KSA+IGNodW5rLmluZGV4T2Yoc3RvcCwgbGFzdCkgfHwgfmNodW5rLmluZGV4T2Yoc3RhcnQsIGxh
c3QpICYmICF+Y2h1bmsuaW5kZXhPZihzdG9wLCBsYXN0KSB8fCAhfmNodW5rLmluZGV4T2Yoc3Rh
cnQsIGxhc3QpICYmIH5jaHVuay5pbmRleE9mKHN0b3AsIGxhc3QpKSB7XG4gICAgICBsZWZ0ID0g
Y2h1bmsuaW5kZXhPZihzdGFydCwgbGFzdCk7XG4gICAgICByaWdodCA9IGNodW5rLmluZGV4T2Yo
c3RvcCwgbGFzdCk7XG4gICAgICBpZiAofmxlZnQgJiYgIX5yaWdodCB8fCAhfmxlZnQgJiYgfnJp
Z2h0KSB7XG4gICAgICAgIHZhciB0bXAgPSByb3V0ZXMuc2xpY2UoMCwgKGkgfHwgMSkgKyAxKS5q
b2luKGRlbGltaXRlcik7XG4gICAgICAgIHJvdXRlcyA9IFsgdG1wIF0uY29uY2F0KHJvdXRlcy5z
bGljZSgoaSB8fCAxKSArIDEpKTtcbiAgICAgIH1cbiAgICAgIGxhc3QgPSAocmlnaHQgPiBsZWZ0
ID8gcmlnaHQgOiBsZWZ0KSArIDE7XG4gICAgICBpID0gMDtcbiAgICB9IGVsc2Uge1xuICAgICAg
bGFzdCA9IDA7XG4gICAgfVxuICB9XG4gIHJldHVybiByb3V0ZXM7XG59XG5cbnZhciBRVUVSWV9T
RVBBUkFUT1IgPSAvXFw/LiovO1xuXG5Sb3V0ZXIucHJvdG90eXBlLmNvbmZpZ3VyZSA9IGZ1bmN0
aW9uKG9wdGlvbnMpIHtcbiAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gIGZvciAodmFyIGkg
PSAwOyBpIDwgdGhpcy5tZXRob2RzLmxlbmd0aDsgaSsrKSB7XG4gICAgdGhpcy5fbWV0aG9kc1t0
aGlzLm1ldGhvZHNbaV1dID0gdHJ1ZTtcbiAgfVxuICB0aGlzLnJlY3Vyc2UgPSBvcHRpb25zLnJl
Y3Vyc2UgfHwgdGhpcy5yZWN1cnNlIHx8IGZhbHNlO1xuICB0aGlzLmFzeW5jID0gb3B0aW9ucy5h
c3luYyB8fCBmYWxzZTtcbiAgdGhpcy5kZWxpbWl0ZXIgPSBvcHRpb25zLmRlbGltaXRlciB8fCBc
Ii9cIjtcbiAgdGhpcy5zdHJpY3QgPSB0eXBlb2Ygb3B0aW9ucy5zdHJpY3QgPT09IFwidW5kZWZp
bmVkXCIgPyB0cnVlIDogb3B0aW9ucy5zdHJpY3Q7XG4gIHRoaXMubm90Zm91bmQgPSBvcHRpb25z
Lm5vdGZvdW5kO1xuICB0aGlzLnJlc291cmNlID0gb3B0aW9ucy5yZXNvdXJjZTtcbiAgdGhpcy5o
aXN0b3J5ID0gb3B0aW9ucy5odG1sNWhpc3RvcnkgJiYgdGhpcy5oaXN0b3J5U3VwcG9ydCB8fCBm
YWxzZTtcbiAgdGhpcy5ydW5faW5faW5pdCA9IHRoaXMuaGlzdG9yeSA9PT0gdHJ1ZSAmJiBvcHRp
b25zLnJ1bl9oYW5kbGVyX2luX2luaXQgIT09IGZhbHNlO1xuICB0aGlzLmNvbnZlcnRfaGFzaF9p
bl9pbml0ID0gdGhpcy5oaXN0b3J5ID09PSB0cnVlICYmIG9wdGlvbnMuY29udmVydF9oYXNoX2lu
X2luaXQgIT09IGZhbHNlO1xuICB0aGlzLmV2ZXJ5ID0ge1xuICAgIGFmdGVyOiBvcHRpb25zLmFm
dGVyIHx8IG51bGwsXG4gICAgYmVmb3JlOiBvcHRpb25zLmJlZm9yZSB8fCBudWxsLFxuICAgIG9u
OiBvcHRpb25zLm9uIHx8IG51bGxcbiAgfTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG5Sb3V0ZXIu
cHJvdG90eXBlLnBhcmFtID0gZnVuY3Rpb24odG9rZW4sIG1hdGNoZXIpIHtcbiAgaWYgKHRva2Vu
WzBdICE9PSBcIjpcIikge1xuICAgIHRva2VuID0gXCI6XCIgKyB0b2tlbjtcbiAgfVxuICB2YXIg
Y29tcGlsZWQgPSBuZXcgUmVnRXhwKHRva2VuLCBcImdcIik7XG4gIHRoaXMucGFyYW1zW3Rva2Vu
XSA9IGZ1bmN0aW9uKHN0cikge1xuICAgIHJldHVybiBzdHIucmVwbGFjZShjb21waWxlZCwgbWF0
Y2hlci5zb3VyY2UgfHwgbWF0Y2hlcik7XG4gIH07XG4gIHJldHVybiB0aGlzO1xufTtcblxuUm91
dGVyLnByb3RvdHlwZS5vbiA9IFJvdXRlci5wcm90b3R5cGUucm91dGUgPSBmdW5jdGlvbihtZXRo
b2QsIHBhdGgsIHJvdXRlKSB7XG4gIHZhciBzZWxmID0gdGhpcztcbiAgaWYgKCFyb3V0ZSAmJiB0
eXBlb2YgcGF0aCA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICByb3V0ZSA9IHBhdGg7XG4gICAgcGF0
aCA9IG1ldGhvZDtcbiAgICBtZXRob2QgPSBcIm9uXCI7XG4gIH1cbiAgaWYgKEFycmF5LmlzQXJy
YXkocGF0aCkpIHtcbiAgICByZXR1cm4gcGF0aC5mb3JFYWNoKGZ1bmN0aW9uKHApIHtcbiAgICAg
IHNlbGYub24obWV0aG9kLCBwLCByb3V0ZSk7XG4gICAgfSk7XG4gIH1cbiAgaWYgKHBhdGguc291
cmNlKSB7XG4gICAgcGF0aCA9IHBhdGguc291cmNlLnJlcGxhY2UoL1xcXFxcXC8vaWcsIFwiL1wi
KTtcbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheShtZXRob2QpKSB7XG4gICAgcmV0dXJuIG1ldGhv
ZC5mb3JFYWNoKGZ1bmN0aW9uKG0pIHtcbiAgICAgIHNlbGYub24obS50b0xvd2VyQ2FzZSgpLCBw
YXRoLCByb3V0ZSk7XG4gICAgfSk7XG4gIH1cbiAgcGF0aCA9IHBhdGguc3BsaXQobmV3IFJlZ0V4
cCh0aGlzLmRlbGltaXRlcikpO1xuICBwYXRoID0gdGVybWluYXRvcihwYXRoLCB0aGlzLmRlbGlt
aXRlcik7XG4gIHRoaXMuaW5zZXJ0KG1ldGhvZCwgdGhpcy5zY29wZS5jb25jYXQocGF0aCksIHJv
dXRlKTtcbn07XG5cblJvdXRlci5wcm90b3R5cGUucGF0aCA9IGZ1bmN0aW9uKHBhdGgsIHJvdXRl
c0ZuKSB7XG4gIHZhciBzZWxmID0gdGhpcywgbGVuZ3RoID0gdGhpcy5zY29wZS5sZW5ndGg7XG4g
IGlmIChwYXRoLnNvdXJjZSkge1xuICAgIHBhdGggPSBwYXRoLnNvdXJjZS5yZXBsYWNlKC9cXFxc
XFwvL2lnLCBcIi9cIik7XG4gIH1cbiAgcGF0aCA9IHBhdGguc3BsaXQobmV3IFJlZ0V4cCh0aGlz
LmRlbGltaXRlcikpO1xuICBwYXRoID0gdGVybWluYXRvcihwYXRoLCB0aGlzLmRlbGltaXRlcik7
XG4gIHRoaXMuc2NvcGUgPSB0aGlzLnNjb3BlLmNvbmNhdChwYXRoKTtcbiAgcm91dGVzRm4uY2Fs
bCh0aGlzLCB0aGlzKTtcbiAgdGhpcy5zY29wZS5zcGxpY2UobGVuZ3RoLCBwYXRoLmxlbmd0aCk7
XG59O1xuXG5Sb3V0ZXIucHJvdG90eXBlLmRpc3BhdGNoID0gZnVuY3Rpb24obWV0aG9kLCBwYXRo
LCBjYWxsYmFjaykge1xuICB2YXIgc2VsZiA9IHRoaXMsIGZucyA9IHRoaXMudHJhdmVyc2UobWV0
aG9kLCBwYXRoLnJlcGxhY2UoUVVFUllfU0VQQVJBVE9SLCBcIlwiKSwgdGhpcy5yb3V0ZXMsIFwi
XCIpLCBpbnZva2VkID0gdGhpcy5faW52b2tlZCwgYWZ0ZXI7XG4gIHRoaXMuX2ludm9rZWQgPSB0
cnVlO1xuICBpZiAoIWZucyB8fCBmbnMubGVuZ3RoID09PSAwKSB7XG4gICAgdGhpcy5sYXN0ID0g
W107XG4gICAgaWYgKHR5cGVvZiB0aGlzLm5vdGZvdW5kID09PSBcImZ1bmN0aW9uXCIpIHtcbiAg
ICAgIHRoaXMuaW52b2tlKFsgdGhpcy5ub3Rmb3VuZCBdLCB7XG4gICAgICAgIG1ldGhvZDogbWV0
aG9kLFxuICAgICAgICBwYXRoOiBwYXRoXG4gICAgICB9LCBjYWxsYmFjayk7XG4gICAgfVxuICAg
IHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAodGhpcy5yZWN1cnNlID09PSBcImZvcndhcmRcIikg
e1xuICAgIGZucyA9IGZucy5yZXZlcnNlKCk7XG4gIH1cbiAgZnVuY3Rpb24gdXBkYXRlQW5kSW52
b2tlKCkge1xuICAgIHNlbGYubGFzdCA9IGZucy5hZnRlcjtcbiAgICBzZWxmLmludm9rZShzZWxm
LnJ1bmxpc3QoZm5zKSwgc2VsZiwgY2FsbGJhY2spO1xuICB9XG4gIGFmdGVyID0gdGhpcy5ldmVy
eSAmJiB0aGlzLmV2ZXJ5LmFmdGVyID8gWyB0aGlzLmV2ZXJ5LmFmdGVyIF0uY29uY2F0KHRoaXMu
bGFzdCkgOiBbIHRoaXMubGFzdCBdO1xuICBpZiAoYWZ0ZXIgJiYgYWZ0ZXIubGVuZ3RoID4gMCAm
JiBpbnZva2VkKSB7XG4gICAgaWYgKHRoaXMuYXN5bmMpIHtcbiAgICAgIHRoaXMuaW52b2tlKGFm
dGVyLCB0aGlzLCB1cGRhdGVBbmRJbnZva2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlu
dm9rZShhZnRlciwgdGhpcyk7XG4gICAgICB1cGRhdGVBbmRJbnZva2UoKTtcbiAgICB9XG4gICAg
cmV0dXJuIHRydWU7XG4gIH1cbiAgdXBkYXRlQW5kSW52b2tlKCk7XG4gIHJldHVybiB0cnVlO1xu
fTtcblxuUm91dGVyLnByb3RvdHlwZS5pbnZva2UgPSBmdW5jdGlvbihmbnMsIHRoaXNBcmcsIGNh
bGxiYWNrKSB7XG4gIHZhciBzZWxmID0gdGhpcztcbiAgdmFyIGFwcGx5O1xuICBpZiAodGhpcy5h
c3luYykge1xuICAgIGFwcGx5ID0gZnVuY3Rpb24oZm4sIG5leHQpIHtcbiAgICAgIGlmIChBcnJh
eS5pc0FycmF5KGZuKSkge1xuICAgICAgICByZXR1cm4gX2FzeW5jRXZlcnlTZXJpZXMoZm4sIGFw
cGx5LCBuZXh0KTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGZuID09IFwiZnVuY3Rpb25cIikg
e1xuICAgICAgICBmbi5hcHBseSh0aGlzQXJnLCAoZm5zLmNhcHR1cmVzIHx8IFtdKS5jb25jYXQo
bmV4dCkpO1xuICAgICAgfVxuICAgIH07XG4gICAgX2FzeW5jRXZlcnlTZXJpZXMoZm5zLCBhcHBs
eSwgZnVuY3Rpb24oKSB7XG4gICAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgICAgY2FsbGJhY2su
YXBwbHkodGhpc0FyZywgYXJndW1lbnRzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSBlbHNlIHtc
biAgICBhcHBseSA9IGZ1bmN0aW9uKGZuKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShmbikp
IHtcbiAgICAgICAgcmV0dXJuIF9ldmVyeShmbiwgYXBwbHkpO1xuICAgICAgfSBlbHNlIGlmICh0
eXBlb2YgZm4gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICByZXR1cm4gZm4uYXBwbHkodGhp
c0FyZywgZm5zLmNhcHR1cmVzIHx8IFtdKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGZuID09
PSBcInN0cmluZ1wiICYmIHNlbGYucmVzb3VyY2UpIHtcbiAgICAgICAgc2VsZi5yZXNvdXJjZVtm
bl0uYXBwbHkodGhpc0FyZywgZm5zLmNhcHR1cmVzIHx8IFtdKTtcbiAgICAgIH1cbiAgICB9O1xu
ICAgIF9ldmVyeShmbnMsIGFwcGx5KTtcbiAgfVxufTtcblxuUm91dGVyLnByb3RvdHlwZS50cmF2
ZXJzZSA9IGZ1bmN0aW9uKG1ldGhvZCwgcGF0aCwgcm91dGVzLCByZWdleHAsIGZpbHRlcikge1xu
ICB2YXIgZm5zID0gW10sIGN1cnJlbnQsIGV4YWN0LCBtYXRjaCwgbmV4dCwgdGhhdDtcbiAgZnVu
Y3Rpb24gZmlsdGVyUm91dGVzKHJvdXRlcykge1xuICAgIGlmICghZmlsdGVyKSB7XG4gICAgICBy
ZXR1cm4gcm91dGVzO1xuICAgIH1cbiAgICBmdW5jdGlvbiBkZWVwQ29weShzb3VyY2UpIHtcbiAg
ICAgIHZhciByZXN1bHQgPSBbXTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc291cmNlLmxl
bmd0aDsgaSsrKSB7XG4gICAgICAgIHJlc3VsdFtpXSA9IEFycmF5LmlzQXJyYXkoc291cmNlW2ld
KSA/IGRlZXBDb3B5KHNvdXJjZVtpXSkgOiBzb3VyY2VbaV07XG4gICAgICB9XG4gICAgICByZXR1
cm4gcmVzdWx0O1xuICAgIH1cbiAgICBmdW5jdGlvbiBhcHBseUZpbHRlcihmbnMpIHtcbiAgICAg
IGZvciAodmFyIGkgPSBmbnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgaWYg
KEFycmF5LmlzQXJyYXkoZm5zW2ldKSkge1xuICAgICAgICAgIGFwcGx5RmlsdGVyKGZuc1tpXSk7
XG4gICAgICAgICAgaWYgKGZuc1tpXS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGZucy5z
cGxpY2UoaSwgMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlm
ICghZmlsdGVyKGZuc1tpXSkpIHtcbiAgICAgICAgICAgIGZucy5zcGxpY2UoaSwgMSk7XG4gICAg
ICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHZhciBuZXdSb3V0ZXMgPSBk
ZWVwQ29weShyb3V0ZXMpO1xuICAgIG5ld1JvdXRlcy5tYXRjaGVkID0gcm91dGVzLm1hdGNoZWQ7
XG4gICAgbmV3Um91dGVzLmNhcHR1cmVzID0gcm91dGVzLmNhcHR1cmVzO1xuICAgIG5ld1JvdXRl
cy5hZnRlciA9IHJvdXRlcy5hZnRlci5maWx0ZXIoZmlsdGVyKTtcbiAgICBhcHBseUZpbHRlcihu
ZXdSb3V0ZXMpO1xuICAgIHJldHVybiBuZXdSb3V0ZXM7XG4gIH1cbiAgaWYgKHBhdGggPT09IHRo
aXMuZGVsaW1pdGVyICYmIHJvdXRlc1ttZXRob2RdKSB7XG4gICAgbmV4dCA9IFsgWyByb3V0ZXMu
YmVmb3JlLCByb3V0ZXNbbWV0aG9kXSBdLmZpbHRlcihCb29sZWFuKSBdO1xuICAgIG5leHQuYWZ0
ZXIgPSBbIHJvdXRlcy5hZnRlciBdLmZpbHRlcihCb29sZWFuKTtcbiAgICBuZXh0Lm1hdGNoZWQg
PSB0cnVlO1xuICAgIG5leHQuY2FwdHVyZXMgPSBbXTtcbiAgICByZXR1cm4gZmlsdGVyUm91dGVz
KG5leHQpO1xuICB9XG4gIGZvciAodmFyIHIgaW4gcm91dGVzKSB7XG4gICAgaWYgKHJvdXRlcy5o
YXNPd25Qcm9wZXJ0eShyKSAmJiAoIXRoaXMuX21ldGhvZHNbcl0gfHwgdGhpcy5fbWV0aG9kc1ty
XSAmJiB0eXBlb2Ygcm91dGVzW3JdID09PSBcIm9iamVjdFwiICYmICFBcnJheS5pc0FycmF5KHJv
dXRlc1tyXSkpKSB7XG4gICAgICBjdXJyZW50ID0gZXhhY3QgPSByZWdleHAgKyB0aGlzLmRlbGlt
aXRlciArIHI7XG4gICAgICBpZiAoIXRoaXMuc3RyaWN0KSB7XG4gICAgICAgIGV4YWN0ICs9IFwi
W1wiICsgdGhpcy5kZWxpbWl0ZXIgKyBcIl0/XCI7XG4gICAgICB9XG4gICAgICBtYXRjaCA9IHBh
dGgubWF0Y2gobmV3IFJlZ0V4cChcIl5cIiArIGV4YWN0KSk7XG4gICAgICBpZiAoIW1hdGNoKSB7
XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKG1hdGNoWzBdICYmIG1hdGNo
WzBdID09IHBhdGggJiYgcm91dGVzW3JdW21ldGhvZF0pIHtcbiAgICAgICAgbmV4dCA9IFsgWyBy
b3V0ZXNbcl0uYmVmb3JlLCByb3V0ZXNbcl1bbWV0aG9kXSBdLmZpbHRlcihCb29sZWFuKSBdO1xu
ICAgICAgICBuZXh0LmFmdGVyID0gWyByb3V0ZXNbcl0uYWZ0ZXIgXS5maWx0ZXIoQm9vbGVhbik7
XG4gICAgICAgIG5leHQubWF0Y2hlZCA9IHRydWU7XG4gICAgICAgIG5leHQuY2FwdHVyZXMgPSBt
YXRjaC5zbGljZSgxKTtcbiAgICAgICAgaWYgKHRoaXMucmVjdXJzZSAmJiByb3V0ZXMgPT09IHRo
aXMucm91dGVzKSB7XG4gICAgICAgICAgbmV4dC5wdXNoKFsgcm91dGVzLmJlZm9yZSwgcm91dGVz
Lm9uIF0uZmlsdGVyKEJvb2xlYW4pKTtcbiAgICAgICAgICBuZXh0LmFmdGVyID0gbmV4dC5hZnRl
ci5jb25jYXQoWyByb3V0ZXMuYWZ0ZXIgXS5maWx0ZXIoQm9vbGVhbikpO1xuICAgICAgICB9XG4g
ICAgICAgIHJldHVybiBmaWx0ZXJSb3V0ZXMobmV4dCk7XG4gICAgICB9XG4gICAgICBuZXh0ID0g
dGhpcy50cmF2ZXJzZShtZXRob2QsIHBhdGgsIHJvdXRlc1tyXSwgY3VycmVudCk7XG4gICAgICBp
ZiAobmV4dC5tYXRjaGVkKSB7XG4gICAgICAgIGlmIChuZXh0Lmxlbmd0aCA+IDApIHtcbiAgICAg
ICAgICBmbnMgPSBmbnMuY29uY2F0KG5leHQpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlz
LnJlY3Vyc2UpIHtcbiAgICAgICAgICBmbnMucHVzaChbIHJvdXRlc1tyXS5iZWZvcmUsIHJvdXRl
c1tyXS5vbiBdLmZpbHRlcihCb29sZWFuKSk7XG4gICAgICAgICAgbmV4dC5hZnRlciA9IG5leHQu
YWZ0ZXIuY29uY2F0KFsgcm91dGVzW3JdLmFmdGVyIF0uZmlsdGVyKEJvb2xlYW4pKTtcbiAgICAg
ICAgICBpZiAocm91dGVzID09PSB0aGlzLnJvdXRlcykge1xuICAgICAgICAgICAgZm5zLnB1c2go
WyByb3V0ZXNbXCJiZWZvcmVcIl0sIHJvdXRlc1tcIm9uXCJdIF0uZmlsdGVyKEJvb2xlYW4pKTtc
biAgICAgICAgICAgIG5leHQuYWZ0ZXIgPSBuZXh0LmFmdGVyLmNvbmNhdChbIHJvdXRlc1tcImFm
dGVyXCJdIF0uZmlsdGVyKEJvb2xlYW4pKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAg
ICAgZm5zLm1hdGNoZWQgPSB0cnVlO1xuICAgICAgICBmbnMuY2FwdHVyZXMgPSBuZXh0LmNhcHR1
cmVzO1xuICAgICAgICBmbnMuYWZ0ZXIgPSBuZXh0LmFmdGVyO1xuICAgICAgICByZXR1cm4gZmls
dGVyUm91dGVzKGZucyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn07
XG5cblJvdXRlci5wcm90b3R5cGUuaW5zZXJ0ID0gZnVuY3Rpb24obWV0aG9kLCBwYXRoLCByb3V0
ZSwgcGFyZW50KSB7XG4gIHZhciBtZXRob2RUeXBlLCBwYXJlbnRUeXBlLCBpc0FycmF5LCBuZXN0
ZWQsIHBhcnQ7XG4gIHBhdGggPSBwYXRoLmZpbHRlcihmdW5jdGlvbihwKSB7XG4gICAgcmV0dXJu
IHAgJiYgcC5sZW5ndGggPiAwO1xuICB9KTtcbiAgcGFyZW50ID0gcGFyZW50IHx8IHRoaXMucm91
dGVzO1xuICBwYXJ0ID0gcGF0aC5zaGlmdCgpO1xuICBpZiAoL1xcOnxcXCovLnRlc3QocGFydCkg
JiYgIS9cXFxcZHxcXFxcdy8udGVzdChwYXJ0KSkge1xuICAgIHBhcnQgPSByZWdpZnlTdHJpbmco
cGFydCwgdGhpcy5wYXJhbXMpO1xuICB9XG4gIGlmIChwYXRoLmxlbmd0aCA+IDApIHtcbiAgICBw
YXJlbnRbcGFydF0gPSBwYXJlbnRbcGFydF0gfHwge307XG4gICAgcmV0dXJuIHRoaXMuaW5zZXJ0
KG1ldGhvZCwgcGF0aCwgcm91dGUsIHBhcmVudFtwYXJ0XSk7XG4gIH1cbiAgaWYgKCFwYXJ0ICYm
ICFwYXRoLmxlbmd0aCAmJiBwYXJlbnQgPT09IHRoaXMucm91dGVzKSB7XG4gICAgbWV0aG9kVHlw
ZSA9IHR5cGVvZiBwYXJlbnRbbWV0aG9kXTtcbiAgICBzd2l0Y2ggKG1ldGhvZFR5cGUpIHtcbiAg
ICAgY2FzZSBcImZ1bmN0aW9uXCI6XG4gICAgICBwYXJlbnRbbWV0aG9kXSA9IFsgcGFyZW50W21l
dGhvZF0sIHJvdXRlIF07XG4gICAgICByZXR1cm47XG4gICAgIGNhc2UgXCJvYmplY3RcIjpcbiAg
ICAgIHBhcmVudFttZXRob2RdLnB1c2gocm91dGUpO1xuICAgICAgcmV0dXJuO1xuICAgICBjYXNl
IFwidW5kZWZpbmVkXCI6XG4gICAgICBwYXJlbnRbbWV0aG9kXSA9IHJvdXRlO1xuICAgICAgcmV0
dXJuO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cbiAgcGFyZW50VHlwZSA9IHR5cGVvZiBwYXJl
bnRbcGFydF07XG4gIGlzQXJyYXkgPSBBcnJheS5pc0FycmF5KHBhcmVudFtwYXJ0XSk7XG4gIGlm
IChwYXJlbnRbcGFydF0gJiYgIWlzQXJyYXkgJiYgcGFyZW50VHlwZSA9PSBcIm9iamVjdFwiKSB7
XG4gICAgbWV0aG9kVHlwZSA9IHR5cGVvZiBwYXJlbnRbcGFydF1bbWV0aG9kXTtcbiAgICBzd2l0
Y2ggKG1ldGhvZFR5cGUpIHtcbiAgICAgY2FzZSBcImZ1bmN0aW9uXCI6XG4gICAgICBwYXJlbnRb
cGFydF1bbWV0aG9kXSA9IFsgcGFyZW50W3BhcnRdW21ldGhvZF0sIHJvdXRlIF07XG4gICAgICBy
ZXR1cm47XG4gICAgIGNhc2UgXCJvYmplY3RcIjpcbiAgICAgIHBhcmVudFtwYXJ0XVttZXRob2Rd
LnB1c2gocm91dGUpO1xuICAgICAgcmV0dXJuO1xuICAgICBjYXNlIFwidW5kZWZpbmVkXCI6XG4g
ICAgICBwYXJlbnRbcGFydF1bbWV0aG9kXSA9IHJvdXRlO1xuICAgICAgcmV0dXJuO1xuICAgIH1c
biAgfSBlbHNlIGlmIChwYXJlbnRUeXBlID09IFwidW5kZWZpbmVkXCIpIHtcbiAgICBuZXN0ZWQg
PSB7fTtcbiAgICBuZXN0ZWRbbWV0aG9kXSA9IHJvdXRlO1xuICAgIHBhcmVudFtwYXJ0XSA9IG5l
c3RlZDtcbiAgICByZXR1cm47XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCByb3V0
ZSBjb250ZXh0OiBcIiArIHBhcmVudFR5cGUpO1xufTtcblxuXG5cblJvdXRlci5wcm90b3R5cGUu
ZXh0ZW5kID0gZnVuY3Rpb24obWV0aG9kcykge1xuICB2YXIgc2VsZiA9IHRoaXMsIGxlbiA9IG1l
dGhvZHMubGVuZ3RoLCBpO1xuICBmdW5jdGlvbiBleHRlbmQobWV0aG9kKSB7XG4gICAgc2VsZi5f
bWV0aG9kc1ttZXRob2RdID0gdHJ1ZTtcbiAgICBzZWxmW21ldGhvZF0gPSBmdW5jdGlvbigpIHtc
biAgICAgIHZhciBleHRyYSA9IGFyZ3VtZW50cy5sZW5ndGggPT09IDEgPyBbIG1ldGhvZCwgXCJc
IiBdIDogWyBtZXRob2QgXTtcbiAgICAgIHNlbGYub24uYXBwbHkoc2VsZiwgZXh0cmEuY29uY2F0
KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cykpKTtcbiAgICB9O1xuICB9XG4g
IGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgIGV4dGVuZChtZXRob2RzW2ldKTtcbiAg
fVxufTtcblxuUm91dGVyLnByb3RvdHlwZS5ydW5saXN0ID0gZnVuY3Rpb24oZm5zKSB7XG4gIHZh
ciBydW5saXN0ID0gdGhpcy5ldmVyeSAmJiB0aGlzLmV2ZXJ5LmJlZm9yZSA/IFsgdGhpcy5ldmVy
eS5iZWZvcmUgXS5jb25jYXQoX2ZsYXR0ZW4oZm5zKSkgOiBfZmxhdHRlbihmbnMpO1xuICBpZiAo
dGhpcy5ldmVyeSAmJiB0aGlzLmV2ZXJ5Lm9uKSB7XG4gICAgcnVubGlzdC5wdXNoKHRoaXMuZXZl
cnkub24pO1xuICB9XG4gIHJ1bmxpc3QuY2FwdHVyZXMgPSBmbnMuY2FwdHVyZXM7XG4gIHJ1bmxp
c3Quc291cmNlID0gZm5zLnNvdXJjZTtcbiAgcmV0dXJuIHJ1bmxpc3Q7XG59O1xuXG5Sb3V0ZXIu
cHJvdG90eXBlLm1vdW50ID0gZnVuY3Rpb24ocm91dGVzLCBwYXRoKSB7XG4gIGlmICghcm91dGVz
IHx8IHR5cGVvZiByb3V0ZXMgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheShyb3V0ZXMp
KSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIHZhciBzZWxmID0gdGhpcztcbiAgcGF0aCA9IHBhdGgg
fHwgW107XG4gIGlmICghQXJyYXkuaXNBcnJheShwYXRoKSkge1xuICAgIHBhdGggPSBwYXRoLnNw
bGl0KHNlbGYuZGVsaW1pdGVyKTtcbiAgfVxuICBmdW5jdGlvbiBpbnNlcnRPck1vdW50KHJvdXRl
LCBsb2NhbCkge1xuICAgIHZhciByZW5hbWUgPSByb3V0ZSwgcGFydHMgPSByb3V0ZS5zcGxpdChz
ZWxmLmRlbGltaXRlciksIHJvdXRlVHlwZSA9IHR5cGVvZiByb3V0ZXNbcm91dGVdLCBpc1JvdXRl
ID0gcGFydHNbMF0gPT09IFwiXCIgfHwgIXNlbGYuX21ldGhvZHNbcGFydHNbMF1dLCBldmVudCA9
IGlzUm91dGUgPyBcIm9uXCIgOiByZW5hbWU7XG4gICAgaWYgKGlzUm91dGUpIHtcbiAgICAgIHJl
bmFtZSA9IHJlbmFtZS5zbGljZSgocmVuYW1lLm1hdGNoKG5ldyBSZWdFeHAoXCJeXCIgKyBzZWxm
LmRlbGltaXRlcikpIHx8IFsgXCJcIiBdKVswXS5sZW5ndGgpO1xuICAgICAgcGFydHMuc2hpZnQo
KTtcbiAgICB9XG4gICAgaWYgKGlzUm91dGUgJiYgcm91dGVUeXBlID09PSBcIm9iamVjdFwiICYm
ICFBcnJheS5pc0FycmF5KHJvdXRlc1tyb3V0ZV0pKSB7XG4gICAgICBsb2NhbCA9IGxvY2FsLmNv
bmNhdChwYXJ0cyk7XG4gICAgICBzZWxmLm1vdW50KHJvdXRlc1tyb3V0ZV0sIGxvY2FsKTtcbiAg
ICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGlzUm91dGUpIHtcbiAgICAgIGxvY2FsID0gbG9j
YWwuY29uY2F0KHJlbmFtZS5zcGxpdChzZWxmLmRlbGltaXRlcikpO1xuICAgICAgbG9jYWwgPSB0
ZXJtaW5hdG9yKGxvY2FsLCBzZWxmLmRlbGltaXRlcik7XG4gICAgfVxuICAgIHNlbGYuaW5zZXJ0
KGV2ZW50LCBsb2NhbCwgcm91dGVzW3JvdXRlXSk7XG4gIH1cbiAgZm9yICh2YXIgcm91dGUgaW4g
cm91dGVzKSB7XG4gICAgaWYgKHJvdXRlcy5oYXNPd25Qcm9wZXJ0eShyb3V0ZSkpIHtcbiAgICAg
IGluc2VydE9yTW91bnQocm91dGUsIHBhdGguc2xpY2UoMCkpO1xuICAgIH1cbiAgfVxufTtcblxu
XG5cbn0oIHRydWUgPyBleHBvcnRzIDogd2luZG93KSk7XG5cbi8qKiovIH0pLFxuLyogMyAqLyxc
bi8qIDQgKi8sXG4vKiA1ICovLFxuLyogNiAqLyxcbi8qIDcgKi8sXG4vKiA4ICovLFxuLyogOSAq
Lyxcbi8qIDEwICovLFxuLyogMTEgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMp
IHtcblxuLyoqXG4gKiBUcmFuc2xhdGVzIHRoZSBsaXN0IGZvcm1hdCBwcm9kdWNlZCBieSBjc3Mt
bG9hZGVyIGludG8gc29tZXRoaW5nXG4gKiBlYXNpZXIgdG8gbWFuaXB1bGF0ZS5cbiAqL1xubW9k
dWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBsaXN0VG9TdHlsZXMgKHBhcmVudElkLCBsaXN0KSB7XG4g
IHZhciBzdHlsZXMgPSBbXVxuICB2YXIgbmV3U3R5bGVzID0ge31cbiAgZm9yICh2YXIgaSA9IDA7
IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGl0ZW0gPSBsaXN0W2ldXG4gICAgdmFy
IGlkID0gaXRlbVswXVxuICAgIHZhciBjc3MgPSBpdGVtWzFdXG4gICAgdmFyIG1lZGlhID0gaXRl
bVsyXVxuICAgIHZhciBzb3VyY2VNYXAgPSBpdGVtWzNdXG4gICAgdmFyIHBhcnQgPSB7XG4gICAg
ICBpZDogcGFyZW50SWQgKyAnOicgKyBpLFxuICAgICAgY3NzOiBjc3MsXG4gICAgICBtZWRpYTog
bWVkaWEsXG4gICAgICBzb3VyY2VNYXA6IHNvdXJjZU1hcFxuICAgIH1cbiAgICBpZiAoIW5ld1N0
eWxlc1tpZF0pIHtcbiAgICAgIHN0eWxlcy5wdXNoKG5ld1N0eWxlc1tpZF0gPSB7IGlkOiBpZCwg
cGFydHM6IFtwYXJ0XSB9KVxuICAgIH0gZWxzZSB7XG4gICAgICBuZXdTdHlsZXNbaWRdLnBhcnRz
LnB1c2gocGFydClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHN0eWxlc1xufVxuXG5cbi8qKiovIH0p
LFxuLyogMTIgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxudmFyIGc7
XHJcblxyXG4vLyBUaGlzIHdvcmtzIGluIG5vbi1zdHJpY3QgbW9kZVxyXG5nID0gKGZ1bmN0aW9u
KCkge1xyXG5cdHJldHVybiB0aGlzO1xyXG59KSgpO1xyXG5cclxudHJ5IHtcclxuXHQvLyBUaGlz
IHdvcmtzIGlmIGV2YWwgaXMgYWxsb3dlZCAoc2VlIENTUClcclxuXHRnID0gZyB8fCBGdW5jdGlv
bihcInJldHVybiB0aGlzXCIpKCkgfHwgKDEsZXZhbCkoXCJ0aGlzXCIpO1xyXG59IGNhdGNoKGUp
IHtcclxuXHQvLyBUaGlzIHdvcmtzIGlmIHRoZSB3aW5kb3cgcmVmZXJlbmNlIGlzIGF2YWlsYWJs
ZVxyXG5cdGlmKHR5cGVvZiB3aW5kb3cgPT09IFwib2JqZWN0XCIpXHJcblx0XHRnID0gd2luZG93
O1xyXG59XHJcblxyXG4vLyBnIGNhbiBzdGlsbCBiZSB1bmRlZmluZWQsIGJ1dCBub3RoaW5nIHRv
IGRvIGFib3V0IGl0Li4uXHJcbi8vIFdlIHJldHVybiB1bmRlZmluZWQsIGluc3RlYWQgb2Ygbm90
aGluZyBoZXJlLCBzbyBpdCdzXHJcbi8vIGVhc2llciB0byBoYW5kbGUgdGhpcyBjYXNlLiBpZigh
Z2xvYmFsKSB7IC4uLn1cclxuXHJcbm1vZHVsZS5leHBvcnRzID0gZztcclxuXG5cbi8qKiovIH0p
LFxuLyogMTMgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuLypcblx0
TUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5z
ZS5waHBcblx0QXV0aG9yIFRvYmlhcyBLb3BwZXJzIEBzb2tyYVxuKi9cbi8vIGNzcyBiYXNlIGNv
ZGUsIGluamVjdGVkIGJ5IHRoZSBjc3MtbG9hZGVyXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9u
KHVzZVNvdXJjZU1hcCkge1xuXHR2YXIgbGlzdCA9IFtdO1xuXG5cdC8vIHJldHVybiB0aGUgbGlz
dCBvZiBtb2R1bGVzIGFzIGNzcyBzdHJpbmdcblx0bGlzdC50b1N0cmluZyA9IGZ1bmN0aW9uIHRv
U3RyaW5nKCkge1xuXHRcdHJldHVybiB0aGlzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuXHRcdFx0
dmFyIGNvbnRlbnQgPSBjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKGl0ZW0sIHVzZVNvdXJjZU1hcCk7
XG5cdFx0XHRpZihpdGVtWzJdKSB7XG5cdFx0XHRcdHJldHVybiBcIkBtZWRpYSBcIiArIGl0ZW1b
Ml0gKyBcIntcIiArIGNvbnRlbnQgKyBcIn1cIjtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJl
dHVybiBjb250ZW50O1xuXHRcdFx0fVxuXHRcdH0pLmpvaW4oXCJcIik7XG5cdH07XG5cblx0Ly8g
aW1wb3J0IGEgbGlzdCBvZiBtb2R1bGVzIGludG8gdGhlIGxpc3Rcblx0bGlzdC5pID0gZnVuY3Rp
b24obW9kdWxlcywgbWVkaWFRdWVyeSkge1xuXHRcdGlmKHR5cGVvZiBtb2R1bGVzID09PSBcInN0
cmluZ1wiKVxuXHRcdFx0bW9kdWxlcyA9IFtbbnVsbCwgbW9kdWxlcywgXCJcIl1dO1xuXHRcdHZh
ciBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzID0ge307XG5cdFx0Zm9yKHZhciBpID0gMDsgaSA8IHRo
aXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdHZhciBpZCA9IHRoaXNbaV1bMF07XG5cdFx0XHRpZih0
eXBlb2YgaWQgPT09IFwibnVtYmVyXCIpXG5cdFx0XHRcdGFscmVhZHlJbXBvcnRlZE1vZHVsZXNb
aWRdID0gdHJ1ZTtcblx0XHR9XG5cdFx0Zm9yKGkgPSAwOyBpIDwgbW9kdWxlcy5sZW5ndGg7IGkr
Kykge1xuXHRcdFx0dmFyIGl0ZW0gPSBtb2R1bGVzW2ldO1xuXHRcdFx0Ly8gc2tpcCBhbHJlYWR5
IGltcG9ydGVkIG1vZHVsZVxuXHRcdFx0Ly8gdGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBub3QgMTAw
JSBwZXJmZWN0IGZvciB3ZWlyZCBtZWRpYSBxdWVyeSBjb21iaW5hdGlvbnNcblx0XHRcdC8vICB3
aGVuIGEgbW9kdWxlIGlzIGltcG9ydGVkIG11bHRpcGxlIHRpbWVzIHdpdGggZGlmZmVyZW50IG1l
ZGlhIHF1ZXJpZXMuXG5cdFx0XHQvLyAgSSBob3BlIHRoaXMgd2lsbCBuZXZlciBvY2N1ciAoSGV5
IHRoaXMgd2F5IHdlIGhhdmUgc21hbGxlciBidW5kbGVzKVxuXHRcdFx0aWYodHlwZW9mIGl0ZW1b
MF0gIT09IFwibnVtYmVyXCIgfHwgIWFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaXRlbVswXV0pIHtc
blx0XHRcdFx0aWYobWVkaWFRdWVyeSAmJiAhaXRlbVsyXSkge1xuXHRcdFx0XHRcdGl0ZW1bMl0g
PSBtZWRpYVF1ZXJ5O1xuXHRcdFx0XHR9IGVsc2UgaWYobWVkaWFRdWVyeSkge1xuXHRcdFx0XHRc
dGl0ZW1bMl0gPSBcIihcIiArIGl0ZW1bMl0gKyBcIikgYW5kIChcIiArIG1lZGlhUXVlcnkgKyBc
IilcIjtcblx0XHRcdFx0fVxuXHRcdFx0XHRsaXN0LnB1c2goaXRlbSk7XG5cdFx0XHR9XG5cdFx0
fVxuXHR9O1xuXHRyZXR1cm4gbGlzdDtcbn07XG5cbmZ1bmN0aW9uIGNzc1dpdGhNYXBwaW5nVG9T
dHJpbmcoaXRlbSwgdXNlU291cmNlTWFwKSB7XG5cdHZhciBjb250ZW50ID0gaXRlbVsxXSB8fCAn
Jztcblx0dmFyIGNzc01hcHBpbmcgPSBpdGVtWzNdO1xuXHRpZiAoIWNzc01hcHBpbmcpIHtcblx0
XHRyZXR1cm4gY29udGVudDtcblx0fVxuXG5cdGlmICh1c2VTb3VyY2VNYXAgJiYgdHlwZW9mIGJ0
b2EgPT09ICdmdW5jdGlvbicpIHtcblx0XHR2YXIgc291cmNlTWFwcGluZyA9IHRvQ29tbWVudChj
c3NNYXBwaW5nKTtcblx0XHR2YXIgc291cmNlVVJMcyA9IGNzc01hcHBpbmcuc291cmNlcy5tYXAo
ZnVuY3Rpb24gKHNvdXJjZSkge1xuXHRcdFx0cmV0dXJuICcvKiMgc291cmNlVVJMPScgKyBjc3NN
YXBwaW5nLnNvdXJjZVJvb3QgKyBzb3VyY2UgKyAnICovJ1xuXHRcdH0pO1xuXG5cdFx0cmV0dXJu
IFtjb250ZW50XS5jb25jYXQoc291cmNlVVJMcykuY29uY2F0KFtzb3VyY2VNYXBwaW5nXSkuam9p
bignXFxuJyk7XG5cdH1cblxuXHRyZXR1cm4gW2NvbnRlbnRdLmpvaW4oJ1xcbicpO1xufVxuXG4v
LyBBZGFwdGVkIGZyb20gY29udmVydC1zb3VyY2UtbWFwIChNSVQpXG5mdW5jdGlvbiB0b0NvbW1l
bnQoc291cmNlTWFwKSB7XG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxu
XHR2YXIgYmFzZTY0ID0gYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJp
bmdpZnkoc291cmNlTWFwKSkpKTtcblx0dmFyIGRhdGEgPSAnc291cmNlTWFwcGluZ1VSTD1kYXRh
OmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsJyArIGJhc2U2NDtcblxuXHRy
ZXR1cm4gJy8qIyAnICsgZGF0YSArICcgKi8nO1xufVxuXG5cbi8qKiovIH0pLFxuLyogMTQgKi9c
bi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtc
blxuLypcbiAgTUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9t
aXQtbGljZW5zZS5waHBcbiAgQXV0aG9yIFRvYmlhcyBLb3BwZXJzIEBzb2tyYVxuICBNb2RpZmll
ZCBieSBFdmFuIFlvdSBAeXl4OTkwODAzXG4qL1xuXG52YXIgaGFzRG9jdW1lbnQgPSB0eXBlb2Yg
ZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnXG5cbmlmICh0eXBlb2YgREVCVUcgIT09ICd1bmRlZmlu
ZWQnICYmIERFQlVHKSB7XG4gIGlmICghaGFzRG9jdW1lbnQpIHtcbiAgICB0aHJvdyBuZXcgRXJy
b3IoXG4gICAgJ3Z1ZS1zdHlsZS1sb2FkZXIgY2Fubm90IGJlIHVzZWQgaW4gYSBub24tYnJvd3Nl
ciBlbnZpcm9ubWVudC4gJyArXG4gICAgXCJVc2UgeyB0YXJnZXQ6ICdub2RlJyB9IGluIHlvdXIg
V2VicGFjayBjb25maWcgdG8gaW5kaWNhdGUgYSBzZXJ2ZXItcmVuZGVyaW5nIGVudmlyb25tZW50
LlwiXG4gICkgfVxufVxuXG52YXIgbGlzdFRvU3R5bGVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygx
MSlcblxuLypcbnR5cGUgU3R5bGVPYmplY3QgPSB7XG4gIGlkOiBudW1iZXI7XG4gIHBhcnRzOiBB
cnJheTxTdHlsZU9iamVjdFBhcnQ+XG59XG5cbnR5cGUgU3R5bGVPYmplY3RQYXJ0ID0ge1xuICBj
c3M6IHN0cmluZztcbiAgbWVkaWE6IHN0cmluZztcbiAgc291cmNlTWFwOiA/c3RyaW5nXG59XG4q
L1xuXG52YXIgc3R5bGVzSW5Eb20gPSB7LypcbiAgW2lkOiBudW1iZXJdOiB7XG4gICAgaWQ6IG51
bWJlcixcbiAgICByZWZzOiBudW1iZXIsXG4gICAgcGFydHM6IEFycmF5PChvYmo/OiBTdHlsZU9i
amVjdFBhcnQpID0+IHZvaWQ+XG4gIH1cbiovfVxuXG52YXIgaGVhZCA9IGhhc0RvY3VtZW50ICYm
IChkb2N1bWVudC5oZWFkIHx8IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylb
MF0pXG52YXIgc2luZ2xldG9uRWxlbWVudCA9IG51bGxcbnZhciBzaW5nbGV0b25Db3VudGVyID0g
MFxudmFyIGlzUHJvZHVjdGlvbiA9IGZhbHNlXG52YXIgbm9vcCA9IGZ1bmN0aW9uICgpIHt9XG5c
bi8vIEZvcmNlIHNpbmdsZS10YWcgc29sdXRpb24gb24gSUU2LTksIHdoaWNoIGhhcyBhIGhhcmQg
bGltaXQgb24gdGhlICMgb2YgPHN0eWxlPlxuLy8gdGFncyBpdCB3aWxsIGFsbG93IG9uIGEgcGFn
ZVxudmFyIGlzT2xkSUUgPSB0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiAvbXNp
ZSBbNi05XVxcYi8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkpXG5cbm1v
ZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKHBhcmVudElkLCBsaXN0LCBfaXNQcm9kdWN0aW9uKSB7
XG4gIGlzUHJvZHVjdGlvbiA9IF9pc1Byb2R1Y3Rpb25cblxuICB2YXIgc3R5bGVzID0gbGlzdFRv
U3R5bGVzKHBhcmVudElkLCBsaXN0KVxuICBhZGRTdHlsZXNUb0RvbShzdHlsZXMpXG5cbiAgcmV0
dXJuIGZ1bmN0aW9uIHVwZGF0ZSAobmV3TGlzdCkge1xuICAgIHZhciBtYXlSZW1vdmUgPSBbXVxu
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3R5bGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIg
aXRlbSA9IHN0eWxlc1tpXVxuICAgICAgdmFyIGRvbVN0eWxlID0gc3R5bGVzSW5Eb21baXRlbS5p
ZF1cbiAgICAgIGRvbVN0eWxlLnJlZnMtLVxuICAgICAgbWF5UmVtb3ZlLnB1c2goZG9tU3R5bGUp
XG4gICAgfVxuICAgIGlmIChuZXdMaXN0KSB7XG4gICAgICBzdHlsZXMgPSBsaXN0VG9TdHlsZXMo
cGFyZW50SWQsIG5ld0xpc3QpXG4gICAgICBhZGRTdHlsZXNUb0RvbShzdHlsZXMpXG4gICAgfSBl
bHNlIHtcbiAgICAgIHN0eWxlcyA9IFtdXG4gICAgfVxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
bWF5UmVtb3ZlLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgZG9tU3R5bGUgPSBtYXlSZW1vdmVb
aV1cbiAgICAgIGlmIChkb21TdHlsZS5yZWZzID09PSAwKSB7XG4gICAgICAgIGZvciAodmFyIGog
PSAwOyBqIDwgZG9tU3R5bGUucGFydHMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICBkb21TdHls
ZS5wYXJ0c1tqXSgpXG4gICAgICAgIH1cbiAgICAgICAgZGVsZXRlIHN0eWxlc0luRG9tW2RvbVN0
eWxlLmlkXVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBhZGRTdHlsZXNUb0Rv
bSAoc3R5bGVzIC8qIEFycmF5PFN0eWxlT2JqZWN0PiAqLykge1xuICBmb3IgKHZhciBpID0gMDsg
aSA8IHN0eWxlcy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBpdGVtID0gc3R5bGVzW2ldXG4gICAg
dmFyIGRvbVN0eWxlID0gc3R5bGVzSW5Eb21baXRlbS5pZF1cbiAgICBpZiAoZG9tU3R5bGUpIHtc
biAgICAgIGRvbVN0eWxlLnJlZnMrK1xuICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBkb21TdHls
ZS5wYXJ0cy5sZW5ndGg7IGorKykge1xuICAgICAgICBkb21TdHlsZS5wYXJ0c1tqXShpdGVtLnBh
cnRzW2pdKVxuICAgICAgfVxuICAgICAgZm9yICg7IGogPCBpdGVtLnBhcnRzLmxlbmd0aDsgaisr
KSB7XG4gICAgICAgIGRvbVN0eWxlLnBhcnRzLnB1c2goYWRkU3R5bGUoaXRlbS5wYXJ0c1tqXSkp
XG4gICAgICB9XG4gICAgICBpZiAoZG9tU3R5bGUucGFydHMubGVuZ3RoID4gaXRlbS5wYXJ0cy5s
ZW5ndGgpIHtcbiAgICAgICAgZG9tU3R5bGUucGFydHMubGVuZ3RoID0gaXRlbS5wYXJ0cy5sZW5n
dGhcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIHBhcnRzID0gW11cbiAgICAgIGZv
ciAodmFyIGogPSAwOyBqIDwgaXRlbS5wYXJ0cy5sZW5ndGg7IGorKykge1xuICAgICAgICBwYXJ0
cy5wdXNoKGFkZFN0eWxlKGl0ZW0ucGFydHNbal0pKVxuICAgICAgfVxuICAgICAgc3R5bGVzSW5E
b21baXRlbS5pZF0gPSB7IGlkOiBpdGVtLmlkLCByZWZzOiAxLCBwYXJ0czogcGFydHMgfVxuICAg
IH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVTdHlsZUVsZW1lbnQgKCkge1xuICB2YXIgc3R5
bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKVxuICBzdHlsZUVsZW1l
bnQudHlwZSA9ICd0ZXh0L2NzcydcbiAgaGVhZC5hcHBlbmRDaGlsZChzdHlsZUVsZW1lbnQpXG4g
IHJldHVybiBzdHlsZUVsZW1lbnRcbn1cblxuZnVuY3Rpb24gYWRkU3R5bGUgKG9iaiAvKiBTdHls
ZU9iamVjdFBhcnQgKi8pIHtcbiAgdmFyIHVwZGF0ZSwgcmVtb3ZlXG4gIHZhciBzdHlsZUVsZW1l
bnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzdHlsZVtkYXRhLXZ1ZS1zc3ItaWR+PVwiJyAr
IG9iai5pZCArICdcIl0nKVxuXG4gIGlmIChzdHlsZUVsZW1lbnQpIHtcbiAgICBpZiAoaXNQcm9k
dWN0aW9uKSB7XG4gICAgICAvLyBoYXMgU1NSIHN0eWxlcyBhbmQgaW4gcHJvZHVjdGlvbiBtb2Rl
LlxuICAgICAgLy8gc2ltcGx5IGRvIG5vdGhpbmcuXG4gICAgICByZXR1cm4gbm9vcFxuICAgIH0g
ZWxzZSB7XG4gICAgICAvLyBoYXMgU1NSIHN0eWxlcyBidXQgaW4gZGV2IG1vZGUuXG4gICAgICAv
LyBmb3Igc29tZSByZWFzb24gQ2hyb21lIGNhbid0IGhhbmRsZSBzb3VyY2UgbWFwIGluIHNlcnZl
ci1yZW5kZXJlZFxuICAgICAgLy8gc3R5bGUgdGFncyAtIHNvdXJjZSBtYXBzIGluIDxzdHlsZT4g
b25seSB3b3JrcyBpZiB0aGUgc3R5bGUgdGFnIGlzXG4gICAgICAvLyBjcmVhdGVkIGFuZCBpbnNl
cnRlZCBkeW5hbWljYWxseS4gU28gd2UgcmVtb3ZlIHRoZSBzZXJ2ZXIgcmVuZGVyZWRcbiAgICAg
IC8vIHN0eWxlcyBhbmQgaW5qZWN0IG5ldyBvbmVzLlxuICAgICAgc3R5bGVFbGVtZW50LnBhcmVu
dE5vZGUucmVtb3ZlQ2hpbGQoc3R5bGVFbGVtZW50KVxuICAgIH1cbiAgfVxuXG4gIGlmIChpc09s
ZElFKSB7XG4gICAgLy8gdXNlIHNpbmdsZXRvbiBtb2RlIGZvciBJRTkuXG4gICAgdmFyIHN0eWxl
SW5kZXggPSBzaW5nbGV0b25Db3VudGVyKytcbiAgICBzdHlsZUVsZW1lbnQgPSBzaW5nbGV0b25F
bGVtZW50IHx8IChzaW5nbGV0b25FbGVtZW50ID0gY3JlYXRlU3R5bGVFbGVtZW50KCkpXG4gICAg
dXBkYXRlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlRWxlbWVudCwgc3R5
bGVJbmRleCwgZmFsc2UpXG4gICAgcmVtb3ZlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51
bGwsIHN0eWxlRWxlbWVudCwgc3R5bGVJbmRleCwgdHJ1ZSlcbiAgfSBlbHNlIHtcbiAgICAvLyB1
c2UgbXVsdGktc3R5bGUtdGFnIG1vZGUgaW4gYWxsIG90aGVyIGNhc2VzXG4gICAgc3R5bGVFbGVt
ZW50ID0gY3JlYXRlU3R5bGVFbGVtZW50KClcbiAgICB1cGRhdGUgPSBhcHBseVRvVGFnLmJpbmQo
bnVsbCwgc3R5bGVFbGVtZW50KVxuICAgIHJlbW92ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHN0
eWxlRWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHN0eWxlRWxlbWVudClcbiAgICB9XG4g
IH1cblxuICB1cGRhdGUob2JqKVxuXG4gIHJldHVybiBmdW5jdGlvbiB1cGRhdGVTdHlsZSAobmV3
T2JqIC8qIFN0eWxlT2JqZWN0UGFydCAqLykge1xuICAgIGlmIChuZXdPYmopIHtcbiAgICAgIGlm
IChuZXdPYmouY3NzID09PSBvYmouY3NzICYmXG4gICAgICAgICAgbmV3T2JqLm1lZGlhID09PSBv
YmoubWVkaWEgJiZcbiAgICAgICAgICBuZXdPYmouc291cmNlTWFwID09PSBvYmouc291cmNlTWFw
KSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgdXBkYXRlKG9iaiA9IG5ld09iailc
biAgICB9IGVsc2Uge1xuICAgICAgcmVtb3ZlKClcbiAgICB9XG4gIH1cbn1cblxudmFyIHJlcGxh
Y2VUZXh0ID0gKGZ1bmN0aW9uICgpIHtcbiAgdmFyIHRleHRTdG9yZSA9IFtdXG5cbiAgcmV0dXJu
IGZ1bmN0aW9uIChpbmRleCwgcmVwbGFjZW1lbnQpIHtcbiAgICB0ZXh0U3RvcmVbaW5kZXhdID0g
cmVwbGFjZW1lbnRcbiAgICByZXR1cm4gdGV4dFN0b3JlLmZpbHRlcihCb29sZWFuKS5qb2luKCdc
XG4nKVxuICB9XG59KSgpXG5cbmZ1bmN0aW9uIGFwcGx5VG9TaW5nbGV0b25UYWcgKHN0eWxlRWxl
bWVudCwgaW5kZXgsIHJlbW92ZSwgb2JqKSB7XG4gIHZhciBjc3MgPSByZW1vdmUgPyAnJyA6IG9i
ai5jc3NcblxuICBpZiAoc3R5bGVFbGVtZW50LnN0eWxlU2hlZXQpIHtcbiAgICBzdHlsZUVsZW1l
bnQuc3R5bGVTaGVldC5jc3NUZXh0ID0gcmVwbGFjZVRleHQoaW5kZXgsIGNzcylcbiAgfSBlbHNl
IHtcbiAgICB2YXIgY3NzTm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcylcbiAgICB2
YXIgY2hpbGROb2RlcyA9IHN0eWxlRWxlbWVudC5jaGlsZE5vZGVzXG4gICAgaWYgKGNoaWxkTm9k
ZXNbaW5kZXhdKSBzdHlsZUVsZW1lbnQucmVtb3ZlQ2hpbGQoY2hpbGROb2Rlc1tpbmRleF0pXG4g
ICAgaWYgKGNoaWxkTm9kZXMubGVuZ3RoKSB7XG4gICAgICBzdHlsZUVsZW1lbnQuaW5zZXJ0QmVm
b3JlKGNzc05vZGUsIGNoaWxkTm9kZXNbaW5kZXhdKVxuICAgIH0gZWxzZSB7XG4gICAgICBzdHls
ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoY3NzTm9kZSlcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24g
YXBwbHlUb1RhZyAoc3R5bGVFbGVtZW50LCBvYmopIHtcbiAgdmFyIGNzcyA9IG9iai5jc3NcbiAg
dmFyIG1lZGlhID0gb2JqLm1lZGlhXG4gIHZhciBzb3VyY2VNYXAgPSBvYmouc291cmNlTWFwXG5c
biAgaWYgKG1lZGlhKSB7XG4gICAgc3R5bGVFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWVkaWEnLCBt
ZWRpYSlcbiAgfVxuXG4gIGlmIChzb3VyY2VNYXApIHtcbiAgICAvLyBodHRwczovL2RldmVsb3Bl
ci5jaHJvbWUuY29tL2RldnRvb2xzL2RvY3MvamF2YXNjcmlwdC1kZWJ1Z2dpbmdcbiAgICAvLyB0
aGlzIG1ha2VzIHNvdXJjZSBtYXBzIGluc2lkZSBzdHlsZSB0YWdzIHdvcmsgcHJvcGVybHkgaW4g
Q2hyb21lXG4gICAgY3NzICs9ICdcXG4vKiMgc291cmNlVVJMPScgKyBzb3VyY2VNYXAuc291cmNl
c1swXSArICcgKi8nXG4gICAgLy8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjY2MDM4NzVc
biAgICBjc3MgKz0gJ1xcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNv
bjtiYXNlNjQsJyArIGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5n
aWZ5KHNvdXJjZU1hcCkpKSkgKyAnICovJ1xuICB9XG5cbiAgaWYgKHN0eWxlRWxlbWVudC5zdHls
ZVNoZWV0KSB7XG4gICAgc3R5bGVFbGVtZW50LnN0eWxlU2hlZXQuY3NzVGV4dCA9IGNzc1xuICB9
IGVsc2Uge1xuICAgIHdoaWxlIChzdHlsZUVsZW1lbnQuZmlyc3RDaGlsZCkge1xuICAgICAgc3R5
bGVFbGVtZW50LnJlbW92ZUNoaWxkKHN0eWxlRWxlbWVudC5maXJzdENoaWxkKVxuICAgIH1cbiAg
ICBzdHlsZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKSlc
biAgfVxufVxuXG5cbi8qKiovIH0pXG5dKTtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8g
c3RhdGljL2pzL3ZlbmRvci4yZTRlOWU1Mjg2NjRmYTc5NmQzYS5qcyIsIi8qIVxuICogVnVlLmpz
IHYyLjQuMlxuICogKGMpIDIwMTQtMjAxNyBFdmFuIFlvdVxuICogUmVsZWFzZWQgdW5kZXIgdGhl
IE1JVCBMaWNlbnNlLlxuICovXG4vKiAgKi9cblxuLy8gdGhlc2UgaGVscGVycyBwcm9kdWNlcyBi
ZXR0ZXIgdm0gY29kZSBpbiBKUyBlbmdpbmVzIGR1ZSB0byB0aGVpclxuLy8gZXhwbGljaXRuZXNz
IGFuZCBmdW5jdGlvbiBpbmxpbmluZ1xuZnVuY3Rpb24gaXNVbmRlZiAodikge1xuICByZXR1cm4g
diA9PT0gdW5kZWZpbmVkIHx8IHYgPT09IG51bGxcbn1cblxuZnVuY3Rpb24gaXNEZWYgKHYpIHtc
biAgcmV0dXJuIHYgIT09IHVuZGVmaW5lZCAmJiB2ICE9PSBudWxsXG59XG5cbmZ1bmN0aW9uIGlz
VHJ1ZSAodikge1xuICByZXR1cm4gdiA9PT0gdHJ1ZVxufVxuXG5mdW5jdGlvbiBpc0ZhbHNlICh2
KSB7XG4gIHJldHVybiB2ID09PSBmYWxzZVxufVxuXG4vKipcbiAqIENoZWNrIGlmIHZhbHVlIGlz
IHByaW1pdGl2ZVxuICovXG5mdW5jdGlvbiBpc1ByaW1pdGl2ZSAodmFsdWUpIHtcbiAgcmV0dXJu
IChcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8XG4gICAgdHlwZW9mIHZhbHVlID09
PSAnbnVtYmVyJyB8fFxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nXG4gIClcbn1cblxu
LyoqXG4gKiBRdWljayBvYmplY3QgY2hlY2sgLSB0aGlzIGlzIHByaW1hcmlseSB1c2VkIHRvIHRl
bGxcbiAqIE9iamVjdHMgZnJvbSBwcmltaXRpdmUgdmFsdWVzIHdoZW4gd2Uga25vdyB0aGUgdmFs
dWVcbiAqIGlzIGEgSlNPTi1jb21wbGlhbnQgdHlwZS5cbiAqL1xuZnVuY3Rpb24gaXNPYmplY3Qg
KG9iaikge1xuICByZXR1cm4gb2JqICE9PSBudWxsICYmIHR5cGVvZiBvYmogPT09ICdvYmplY3Qn
XG59XG5cbnZhciBfdG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO1xuXG4vKipc
biAqIFN0cmljdCBvYmplY3QgdHlwZSBjaGVjay4gT25seSByZXR1cm5zIHRydWVcbiAqIGZvciBw
bGFpbiBKYXZhU2NyaXB0IG9iamVjdHMuXG4gKi9cbmZ1bmN0aW9uIGlzUGxhaW5PYmplY3QgKG9i
aikge1xuICByZXR1cm4gX3RvU3RyaW5nLmNhbGwob2JqKSA9PT0gJ1tvYmplY3QgT2JqZWN0XSdc
bn1cblxuZnVuY3Rpb24gaXNSZWdFeHAgKHYpIHtcbiAgcmV0dXJuIF90b1N0cmluZy5jYWxsKHYp
ID09PSAnW29iamVjdCBSZWdFeHBdJ1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHZhbCBpcyBhIHZh
bGlkIGFycmF5IGluZGV4LlxuICovXG5mdW5jdGlvbiBpc1ZhbGlkQXJyYXlJbmRleCAodmFsKSB7
XG4gIHZhciBuID0gcGFyc2VGbG9hdCh2YWwpO1xuICByZXR1cm4gbiA+PSAwICYmIE1hdGguZmxv
b3IobikgPT09IG4gJiYgaXNGaW5pdGUodmFsKVxufVxuXG4vKipcbiAqIENvbnZlcnQgYSB2YWx1
ZSB0byBhIHN0cmluZyB0aGF0IGlzIGFjdHVhbGx5IHJlbmRlcmVkLlxuICovXG5mdW5jdGlvbiB0
b1N0cmluZyAodmFsKSB7XG4gIHJldHVybiB2YWwgPT0gbnVsbFxuICAgID8gJydcbiAgICA6IHR5
cGVvZiB2YWwgPT09ICdvYmplY3QnXG4gICAgICA/IEpTT04uc3RyaW5naWZ5KHZhbCwgbnVsbCwg
MilcbiAgICAgIDogU3RyaW5nKHZhbClcbn1cblxuLyoqXG4gKiBDb252ZXJ0IGEgaW5wdXQgdmFs
dWUgdG8gYSBudW1iZXIgZm9yIHBlcnNpc3RlbmNlLlxuICogSWYgdGhlIGNvbnZlcnNpb24gZmFp
bHMsIHJldHVybiBvcmlnaW5hbCBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIHRvTnVtYmVyICh2YWwp
IHtcbiAgdmFyIG4gPSBwYXJzZUZsb2F0KHZhbCk7XG4gIHJldHVybiBpc05hTihuKSA/IHZhbCA6
IG5cbn1cblxuLyoqXG4gKiBNYWtlIGEgbWFwIGFuZCByZXR1cm4gYSBmdW5jdGlvbiBmb3IgY2hl
Y2tpbmcgaWYgYSBrZXlcbiAqIGlzIGluIHRoYXQgbWFwLlxuICovXG5mdW5jdGlvbiBtYWtlTWFw
IChcbiAgc3RyLFxuICBleHBlY3RzTG93ZXJDYXNlXG4pIHtcbiAgdmFyIG1hcCA9IE9iamVjdC5j
cmVhdGUobnVsbCk7XG4gIHZhciBsaXN0ID0gc3RyLnNwbGl0KCcsJyk7XG4gIGZvciAodmFyIGkg
PSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xuICAgIG1hcFtsaXN0W2ldXSA9IHRydWU7XG4g
IH1cbiAgcmV0dXJuIGV4cGVjdHNMb3dlckNhc2VcbiAgICA/IGZ1bmN0aW9uICh2YWwpIHsgcmV0
dXJuIG1hcFt2YWwudG9Mb3dlckNhc2UoKV07IH1cbiAgICA6IGZ1bmN0aW9uICh2YWwpIHsgcmV0
dXJuIG1hcFt2YWxdOyB9XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgYSB0YWcgaXMgYSBidWlsdC1p
biB0YWcuXG4gKi9cbnZhciBpc0J1aWx0SW5UYWcgPSBtYWtlTWFwKCdzbG90LGNvbXBvbmVudCcs
IHRydWUpO1xuXG4vKipcbiAqIENoZWNrIGlmIGEgYXR0cmlidXRlIGlzIGEgcmVzZXJ2ZWQgYXR0
cmlidXRlLlxuICovXG52YXIgaXNSZXNlcnZlZEF0dHJpYnV0ZSA9IG1ha2VNYXAoJ2tleSxyZWYs
c2xvdCxpcycpO1xuXG4vKipcbiAqIFJlbW92ZSBhbiBpdGVtIGZyb20gYW4gYXJyYXlcbiAqL1xu
ZnVuY3Rpb24gcmVtb3ZlIChhcnIsIGl0ZW0pIHtcbiAgaWYgKGFyci5sZW5ndGgpIHtcbiAgICB2
YXIgaW5kZXggPSBhcnIuaW5kZXhPZihpdGVtKTtcbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAg
ICAgcmV0dXJuIGFyci5zcGxpY2UoaW5kZXgsIDEpXG4gICAgfVxuICB9XG59XG5cbi8qKlxuICog
Q2hlY2sgd2hldGhlciB0aGUgb2JqZWN0IGhhcyB0aGUgcHJvcGVydHkuXG4gKi9cbnZhciBoYXNP
d25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG5mdW5jdGlvbiBo
YXNPd24gKG9iaiwga2V5KSB7XG4gIHJldHVybiBoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5
KVxufVxuXG4vKipcbiAqIENyZWF0ZSBhIGNhY2hlZCB2ZXJzaW9uIG9mIGEgcHVyZSBmdW5jdGlv
bi5cbiAqL1xuZnVuY3Rpb24gY2FjaGVkIChmbikge1xuICB2YXIgY2FjaGUgPSBPYmplY3QuY3Jl
YXRlKG51bGwpO1xuICByZXR1cm4gKGZ1bmN0aW9uIGNhY2hlZEZuIChzdHIpIHtcbiAgICB2YXIg
aGl0ID0gY2FjaGVbc3RyXTtcbiAgICByZXR1cm4gaGl0IHx8IChjYWNoZVtzdHJdID0gZm4oc3Ry
KSlcbiAgfSlcbn1cblxuLyoqXG4gKiBDYW1lbGl6ZSBhIGh5cGhlbi1kZWxpbWl0ZWQgc3RyaW5n
LlxuICovXG52YXIgY2FtZWxpemVSRSA9IC8tKFxcdykvZztcbnZhciBjYW1lbGl6ZSA9IGNhY2hl
ZChmdW5jdGlvbiAoc3RyKSB7XG4gIHJldHVybiBzdHIucmVwbGFjZShjYW1lbGl6ZVJFLCBmdW5j
dGlvbiAoXywgYykgeyByZXR1cm4gYyA/IGMudG9VcHBlckNhc2UoKSA6ICcnOyB9KVxufSk7XG5c
bi8qKlxuICogQ2FwaXRhbGl6ZSBhIHN0cmluZy5cbiAqL1xudmFyIGNhcGl0YWxpemUgPSBjYWNo
ZWQoZnVuY3Rpb24gKHN0cikge1xuICByZXR1cm4gc3RyLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgp
ICsgc3RyLnNsaWNlKDEpXG59KTtcblxuLyoqXG4gKiBIeXBoZW5hdGUgYSBjYW1lbENhc2Ugc3Ry
aW5nLlxuICovXG52YXIgaHlwaGVuYXRlUkUgPSAvKFteLV0pKFtBLVpdKS9nO1xudmFyIGh5cGhl
bmF0ZSA9IGNhY2hlZChmdW5jdGlvbiAoc3RyKSB7XG4gIHJldHVybiBzdHJcbiAgICAucmVwbGFj
ZShoeXBoZW5hdGVSRSwgJyQxLSQyJylcbiAgICAucmVwbGFjZShoeXBoZW5hdGVSRSwgJyQxLSQy
JylcbiAgICAudG9Mb3dlckNhc2UoKVxufSk7XG5cbi8qKlxuICogU2ltcGxlIGJpbmQsIGZhc3Rl
ciB0aGFuIG5hdGl2ZVxuICovXG5mdW5jdGlvbiBiaW5kIChmbiwgY3R4KSB7XG4gIGZ1bmN0aW9u
IGJvdW5kRm4gKGEpIHtcbiAgICB2YXIgbCA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gICAgcmV0dXJu
IGxcbiAgICAgID8gbCA+IDFcbiAgICAgICAgPyBmbi5hcHBseShjdHgsIGFyZ3VtZW50cylcbiAg
ICAgICAgOiBmbi5jYWxsKGN0eCwgYSlcbiAgICAgIDogZm4uY2FsbChjdHgpXG4gIH1cbiAgLy8g
cmVjb3JkIG9yaWdpbmFsIGZuIGxlbmd0aFxuICBib3VuZEZuLl9sZW5ndGggPSBmbi5sZW5ndGg7
XG4gIHJldHVybiBib3VuZEZuXG59XG5cbi8qKlxuICogQ29udmVydCBhbiBBcnJheS1saWtlIG9i
amVjdCB0byBhIHJlYWwgQXJyYXkuXG4gKi9cbmZ1bmN0aW9uIHRvQXJyYXkgKGxpc3QsIHN0YXJ0
KSB7XG4gIHN0YXJ0ID0gc3RhcnQgfHwgMDtcbiAgdmFyIGkgPSBsaXN0Lmxlbmd0aCAtIHN0YXJ0
O1xuICB2YXIgcmV0ID0gbmV3IEFycmF5KGkpO1xuICB3aGlsZSAoaS0tKSB7XG4gICAgcmV0W2ld
ID0gbGlzdFtpICsgc3RhcnRdO1xuICB9XG4gIHJldHVybiByZXRcbn1cblxuLyoqXG4gKiBNaXgg
cHJvcGVydGllcyBpbnRvIHRhcmdldCBvYmplY3QuXG4gKi9cbmZ1bmN0aW9uIGV4dGVuZCAodG8s
IF9mcm9tKSB7XG4gIGZvciAodmFyIGtleSBpbiBfZnJvbSkge1xuICAgIHRvW2tleV0gPSBfZnJv
bVtrZXldO1xuICB9XG4gIHJldHVybiB0b1xufVxuXG4vKipcbiAqIE1lcmdlIGFuIEFycmF5IG9m
IE9iamVjdHMgaW50byBhIHNpbmdsZSBPYmplY3QuXG4gKi9cbmZ1bmN0aW9uIHRvT2JqZWN0IChh
cnIpIHtcbiAgdmFyIHJlcyA9IHt9O1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGFyci5sZW5ndGg7
IGkrKykge1xuICAgIGlmIChhcnJbaV0pIHtcbiAgICAgIGV4dGVuZChyZXMsIGFycltpXSk7XG4g
ICAgfVxuICB9XG4gIHJldHVybiByZXNcbn1cblxuLyoqXG4gKiBQZXJmb3JtIG5vIG9wZXJhdGlv
bi5cbiAqIFN0dWJiaW5nIGFyZ3MgdG8gbWFrZSBGbG93IGhhcHB5IHdpdGhvdXQgbGVhdmluZyB1
c2VsZXNzIHRyYW5zcGlsZWQgY29kZVxuICogd2l0aCAuLi5yZXN0IChodHRwczovL2Zsb3cub3Jn
L2Jsb2cvMjAxNy8wNS8wNy9TdHJpY3QtRnVuY3Rpb24tQ2FsbC1Bcml0eS8pXG4gKi9cbmZ1bmN0
aW9uIG5vb3AgKGEsIGIsIGMpIHt9XG5cbi8qKlxuICogQWx3YXlzIHJldHVybiBmYWxzZS5cbiAq
L1xudmFyIG5vID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsgcmV0dXJuIGZhbHNlOyB9O1xuXG4vKipc
biAqIFJldHVybiBzYW1lIHZhbHVlXG4gKi9cbnZhciBpZGVudGl0eSA9IGZ1bmN0aW9uIChfKSB7
IHJldHVybiBfOyB9O1xuXG4vKipcbiAqIEdlbmVyYXRlIGEgc3RhdGljIGtleXMgc3RyaW5nIGZy
b20gY29tcGlsZXIgbW9kdWxlcy5cbiAqL1xuZnVuY3Rpb24gZ2VuU3RhdGljS2V5cyAobW9kdWxl
cykge1xuICByZXR1cm4gbW9kdWxlcy5yZWR1Y2UoZnVuY3Rpb24gKGtleXMsIG0pIHtcbiAgICBy
ZXR1cm4ga2V5cy5jb25jYXQobS5zdGF0aWNLZXlzIHx8IFtdKVxuICB9LCBbXSkuam9pbignLCcp
XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdHdvIHZhbHVlcyBhcmUgbG9vc2VseSBlcXVhbCAtIHRo
YXQgaXMsXG4gKiBpZiB0aGV5IGFyZSBwbGFpbiBvYmplY3RzLCBkbyB0aGV5IGhhdmUgdGhlIHNh
bWUgc2hhcGU/XG4gKi9cbmZ1bmN0aW9uIGxvb3NlRXF1YWwgKGEsIGIpIHtcbiAgaWYgKGEgPT09
IGIpIHsgcmV0dXJuIHRydWUgfVxuICB2YXIgaXNPYmplY3RBID0gaXNPYmplY3QoYSk7XG4gIHZh
ciBpc09iamVjdEIgPSBpc09iamVjdChiKTtcbiAgaWYgKGlzT2JqZWN0QSAmJiBpc09iamVjdEIp
IHtcbiAgICB0cnkge1xuICAgICAgdmFyIGlzQXJyYXlBID0gQXJyYXkuaXNBcnJheShhKTtcbiAg
ICAgIHZhciBpc0FycmF5QiA9IEFycmF5LmlzQXJyYXkoYik7XG4gICAgICBpZiAoaXNBcnJheUEg
JiYgaXNBcnJheUIpIHtcbiAgICAgICAgcmV0dXJuIGEubGVuZ3RoID09PSBiLmxlbmd0aCAmJiBh
LmV2ZXJ5KGZ1bmN0aW9uIChlLCBpKSB7XG4gICAgICAgICAgcmV0dXJuIGxvb3NlRXF1YWwoZSwg
YltpXSlcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSBpZiAoIWlzQXJyYXlBICYmICFpc0FycmF5
Qikge1xuICAgICAgICB2YXIga2V5c0EgPSBPYmplY3Qua2V5cyhhKTtcbiAgICAgICAgdmFyIGtl
eXNCID0gT2JqZWN0LmtleXMoYik7XG4gICAgICAgIHJldHVybiBrZXlzQS5sZW5ndGggPT09IGtl
eXNCLmxlbmd0aCAmJiBrZXlzQS5ldmVyeShmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgcmV0
dXJuIGxvb3NlRXF1YWwoYVtrZXldLCBiW2tleV0pXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2Ug
e1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICByZXR1cm4gZmFs
c2VcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUg
bmV4dCAqL1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICB9IGVsc2UgaWYgKCFpc09iamVj
dEEgJiYgIWlzT2JqZWN0Qikge1xuICAgIHJldHVybiBTdHJpbmcoYSkgPT09IFN0cmluZyhiKVxu
ICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG5cbmZ1bmN0aW9uIGxvb3NlSW5k
ZXhPZiAoYXJyLCB2YWwpIHtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKysp
IHtcbiAgICBpZiAobG9vc2VFcXVhbChhcnJbaV0sIHZhbCkpIHsgcmV0dXJuIGkgfVxuICB9XG4g
IHJldHVybiAtMVxufVxuXG4vKipcbiAqIEVuc3VyZSBhIGZ1bmN0aW9uIGlzIGNhbGxlZCBvbmx5
IG9uY2UuXG4gKi9cbmZ1bmN0aW9uIG9uY2UgKGZuKSB7XG4gIHZhciBjYWxsZWQgPSBmYWxzZTtc
biAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoIWNhbGxlZCkge1xuICAgICAgY2FsbGVk
ID0gdHJ1ZTtcbiAgICAgIGZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgfVxuICB9XG59
XG5cbnZhciBTU1JfQVRUUiA9ICdkYXRhLXNlcnZlci1yZW5kZXJlZCc7XG5cbnZhciBBU1NFVF9U
WVBFUyA9IFtcbiAgJ2NvbXBvbmVudCcsXG4gICdkaXJlY3RpdmUnLFxuICAnZmlsdGVyJ1xuXTtc
blxudmFyIExJRkVDWUNMRV9IT09LUyA9IFtcbiAgJ2JlZm9yZUNyZWF0ZScsXG4gICdjcmVhdGVk
JyxcbiAgJ2JlZm9yZU1vdW50JyxcbiAgJ21vdW50ZWQnLFxuICAnYmVmb3JlVXBkYXRlJyxcbiAg
J3VwZGF0ZWQnLFxuICAnYmVmb3JlRGVzdHJveScsXG4gICdkZXN0cm95ZWQnLFxuICAnYWN0aXZh
dGVkJyxcbiAgJ2RlYWN0aXZhdGVkJ1xuXTtcblxuLyogICovXG5cbnZhciBjb25maWcgPSAoe1xu
ICAvKipcbiAgICogT3B0aW9uIG1lcmdlIHN0cmF0ZWdpZXMgKHVzZWQgaW4gY29yZS91dGlsL29w
dGlvbnMpXG4gICAqL1xuICBvcHRpb25NZXJnZVN0cmF0ZWdpZXM6IE9iamVjdC5jcmVhdGUobnVs
bCksXG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc3VwcHJlc3Mgd2FybmluZ3MuXG4gICAqL1xu
ICBzaWxlbnQ6IGZhbHNlLFxuXG4gIC8qKlxuICAgKiBTaG93IHByb2R1Y3Rpb24gbW9kZSB0aXAg
bWVzc2FnZSBvbiBib290P1xuICAgKi9cbiAgcHJvZHVjdGlvblRpcDogcHJvY2Vzcy5lbnYuTk9E
RV9FTlYgIT09ICdwcm9kdWN0aW9uJyxcblxuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUg
ZGV2dG9vbHNcbiAgICovXG4gIGRldnRvb2xzOiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3By
b2R1Y3Rpb24nLFxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlY29yZCBwZXJmXG4gICAqL1xu
ICBwZXJmb3JtYW5jZTogZmFsc2UsXG5cbiAgLyoqXG4gICAqIEVycm9yIGhhbmRsZXIgZm9yIHdh
dGNoZXIgZXJyb3JzXG4gICAqL1xuICBlcnJvckhhbmRsZXI6IG51bGwsXG5cbiAgLyoqXG4gICAq
IFdhcm4gaGFuZGxlciBmb3Igd2F0Y2hlciB3YXJuc1xuICAgKi9cbiAgd2FybkhhbmRsZXI6IG51
bGwsXG5cbiAgLyoqXG4gICAqIElnbm9yZSBjZXJ0YWluIGN1c3RvbSBlbGVtZW50c1xuICAgKi9c
biAgaWdub3JlZEVsZW1lbnRzOiBbXSxcblxuICAvKipcbiAgICogQ3VzdG9tIHVzZXIga2V5IGFs
aWFzZXMgZm9yIHYtb25cbiAgICovXG4gIGtleUNvZGVzOiBPYmplY3QuY3JlYXRlKG51bGwpLFxu
XG4gIC8qKlxuICAgKiBDaGVjayBpZiBhIHRhZyBpcyByZXNlcnZlZCBzbyB0aGF0IGl0IGNhbm5v
dCBiZSByZWdpc3RlcmVkIGFzIGFcbiAgICogY29tcG9uZW50LiBUaGlzIGlzIHBsYXRmb3JtLWRl
cGVuZGVudCBhbmQgbWF5IGJlIG92ZXJ3cml0dGVuLlxuICAgKi9cbiAgaXNSZXNlcnZlZFRhZzog
bm8sXG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGFuIGF0dHJpYnV0ZSBpcyByZXNlcnZlZCBzbyB0
aGF0IGl0IGNhbm5vdCBiZSB1c2VkIGFzIGEgY29tcG9uZW50XG4gICAqIHByb3AuIFRoaXMgaXMg
cGxhdGZvcm0tZGVwZW5kZW50IGFuZCBtYXkgYmUgb3ZlcndyaXR0ZW4uXG4gICAqL1xuICBpc1Jl
c2VydmVkQXR0cjogbm8sXG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGEgdGFnIGlzIGFuIHVua25v
d24gZWxlbWVudC5cbiAgICogUGxhdGZvcm0tZGVwZW5kZW50LlxuICAgKi9cbiAgaXNVbmtub3du
RWxlbWVudDogbm8sXG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbmFtZXNwYWNlIG9mIGFuIGVsZW1l
bnRcbiAgICovXG4gIGdldFRhZ05hbWVzcGFjZTogbm9vcCxcblxuICAvKipcbiAgICogUGFyc2Ug
dGhlIHJlYWwgdGFnIG5hbWUgZm9yIHRoZSBzcGVjaWZpYyBwbGF0Zm9ybS5cbiAgICovXG4gIHBh
cnNlUGxhdGZvcm1UYWdOYW1lOiBpZGVudGl0eSxcblxuICAvKipcbiAgICogQ2hlY2sgaWYgYW4g
YXR0cmlidXRlIG11c3QgYmUgYm91bmQgdXNpbmcgcHJvcGVydHksIGUuZy4gdmFsdWVcbiAgICog
UGxhdGZvcm0tZGVwZW5kZW50LlxuICAgKi9cbiAgbXVzdFVzZVByb3A6IG5vLFxuXG4gIC8qKlxu
ICAgKiBFeHBvc2VkIGZvciBsZWdhY3kgcmVhc29uc1xuICAgKi9cbiAgX2xpZmVjeWNsZUhvb2tz
OiBMSUZFQ1lDTEVfSE9PS1Ncbn0pO1xuXG4vKiAgKi9cblxudmFyIGVtcHR5T2JqZWN0ID0gT2Jq
ZWN0LmZyZWV6ZSh7fSk7XG5cbi8qKlxuICogQ2hlY2sgaWYgYSBzdHJpbmcgc3RhcnRzIHdpdGgg
JCBvciBfXG4gKi9cbmZ1bmN0aW9uIGlzUmVzZXJ2ZWQgKHN0cikge1xuICB2YXIgYyA9IChzdHIg
KyAnJykuY2hhckNvZGVBdCgwKTtcbiAgcmV0dXJuIGMgPT09IDB4MjQgfHwgYyA9PT0gMHg1Rlxu
fVxuXG4vKipcbiAqIERlZmluZSBhIHByb3BlcnR5LlxuICovXG5mdW5jdGlvbiBkZWYgKG9iaiwg
a2V5LCB2YWwsIGVudW1lcmFibGUpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5
LCB7XG4gICAgdmFsdWU6IHZhbCxcbiAgICBlbnVtZXJhYmxlOiAhIWVudW1lcmFibGUsXG4gICAg
d3JpdGFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXG4gIH0pO1xufVxuXG4vKipc
biAqIFBhcnNlIHNpbXBsZSBwYXRoLlxuICovXG52YXIgYmFpbFJFID0gL1teXFx3LiRdLztcbmZ1
bmN0aW9uIHBhcnNlUGF0aCAocGF0aCkge1xuICBpZiAoYmFpbFJFLnRlc3QocGF0aCkpIHtcbiAg
ICByZXR1cm5cbiAgfVxuICB2YXIgc2VnbWVudHMgPSBwYXRoLnNwbGl0KCcuJyk7XG4gIHJldHVy
biBmdW5jdGlvbiAob2JqKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWdtZW50cy5sZW5n
dGg7IGkrKykge1xuICAgICAgaWYgKCFvYmopIHsgcmV0dXJuIH1cbiAgICAgIG9iaiA9IG9ialtz
ZWdtZW50c1tpXV07XG4gICAgfVxuICAgIHJldHVybiBvYmpcbiAgfVxufVxuXG4vKiAgKi9cblxu
dmFyIHdhcm4gPSBub29wO1xudmFyIHRpcCA9IG5vb3A7XG52YXIgZm9ybWF0Q29tcG9uZW50TmFt
ZSA9IChudWxsKTsgLy8gd29yayBhcm91bmQgZmxvdyBjaGVja1xuXG5pZiAocHJvY2Vzcy5lbnYu
Tk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICB2YXIgaGFzQ29uc29sZSA9IHR5cGVvZiBj
b25zb2xlICE9PSAndW5kZWZpbmVkJztcbiAgdmFyIGNsYXNzaWZ5UkUgPSAvKD86XnxbLV9dKShc
XHcpL2c7XG4gIHZhciBjbGFzc2lmeSA9IGZ1bmN0aW9uIChzdHIpIHsgcmV0dXJuIHN0clxuICAg
IC5yZXBsYWNlKGNsYXNzaWZ5UkUsIGZ1bmN0aW9uIChjKSB7IHJldHVybiBjLnRvVXBwZXJDYXNl
KCk7IH0pXG4gICAgLnJlcGxhY2UoL1stX10vZywgJycpOyB9O1xuXG4gIHdhcm4gPSBmdW5jdGlv
biAobXNnLCB2bSkge1xuICAgIHZhciB0cmFjZSA9IHZtID8gZ2VuZXJhdGVDb21wb25lbnRUcmFj
ZSh2bSkgOiAnJztcblxuICAgIGlmIChjb25maWcud2FybkhhbmRsZXIpIHtcbiAgICAgIGNvbmZp
Zy53YXJuSGFuZGxlci5jYWxsKG51bGwsIG1zZywgdm0sIHRyYWNlKTtcbiAgICB9IGVsc2UgaWYg
KGhhc0NvbnNvbGUgJiYgKCFjb25maWcuc2lsZW50KSkge1xuICAgICAgY29uc29sZS5lcnJvcigo
XCJbVnVlIHdhcm5dOiBcIiArIG1zZyArIHRyYWNlKSk7XG4gICAgfVxuICB9O1xuXG4gIHRpcCA9
IGZ1bmN0aW9uIChtc2csIHZtKSB7XG4gICAgaWYgKGhhc0NvbnNvbGUgJiYgKCFjb25maWcuc2ls
ZW50KSkge1xuICAgICAgY29uc29sZS53YXJuKFwiW1Z1ZSB0aXBdOiBcIiArIG1zZyArIChcbiAg
ICAgICAgdm0gPyBnZW5lcmF0ZUNvbXBvbmVudFRyYWNlKHZtKSA6ICcnXG4gICAgICApKTtcbiAg
ICB9XG4gIH07XG5cbiAgZm9ybWF0Q29tcG9uZW50TmFtZSA9IGZ1bmN0aW9uICh2bSwgaW5jbHVk
ZUZpbGUpIHtcbiAgICBpZiAodm0uJHJvb3QgPT09IHZtKSB7XG4gICAgICByZXR1cm4gJzxSb290
PidcbiAgICB9XG4gICAgdmFyIG5hbWUgPSB0eXBlb2Ygdm0gPT09ICdzdHJpbmcnXG4gICAgICA/
IHZtXG4gICAgICA6IHR5cGVvZiB2bSA9PT0gJ2Z1bmN0aW9uJyAmJiB2bS5vcHRpb25zXG4gICAg
ICAgID8gdm0ub3B0aW9ucy5uYW1lXG4gICAgICAgIDogdm0uX2lzVnVlXG4gICAgICAgICAgPyB2
bS4kb3B0aW9ucy5uYW1lIHx8IHZtLiRvcHRpb25zLl9jb21wb25lbnRUYWdcbiAgICAgICAgICA6
IHZtLm5hbWU7XG5cbiAgICB2YXIgZmlsZSA9IHZtLl9pc1Z1ZSAmJiB2bS4kb3B0aW9ucy5fX2Zp
bGU7XG4gICAgaWYgKCFuYW1lICYmIGZpbGUpIHtcbiAgICAgIHZhciBtYXRjaCA9IGZpbGUubWF0
Y2goLyhbXi9cXFxcXSspXFwudnVlJC8pO1xuICAgICAgbmFtZSA9IG1hdGNoICYmIG1hdGNoWzFd
O1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICAobmFtZSA/IChcIjxcIiArIChjbGFzc2lm
eShuYW1lKSkgKyBcIj5cIikgOiBcIjxBbm9ueW1vdXM+XCIpICtcbiAgICAgIChmaWxlICYmIGlu
Y2x1ZGVGaWxlICE9PSBmYWxzZSA/IChcIiBhdCBcIiArIGZpbGUpIDogJycpXG4gICAgKVxuICB9
O1xuXG4gIHZhciByZXBlYXQgPSBmdW5jdGlvbiAoc3RyLCBuKSB7XG4gICAgdmFyIHJlcyA9ICcn
O1xuICAgIHdoaWxlIChuKSB7XG4gICAgICBpZiAobiAlIDIgPT09IDEpIHsgcmVzICs9IHN0cjsg
fVxuICAgICAgaWYgKG4gPiAxKSB7IHN0ciArPSBzdHI7IH1cbiAgICAgIG4gPj49IDE7XG4gICAg
fVxuICAgIHJldHVybiByZXNcbiAgfTtcblxuICB2YXIgZ2VuZXJhdGVDb21wb25lbnRUcmFjZSA9
IGZ1bmN0aW9uICh2bSkge1xuICAgIGlmICh2bS5faXNWdWUgJiYgdm0uJHBhcmVudCkge1xuICAg
ICAgdmFyIHRyZWUgPSBbXTtcbiAgICAgIHZhciBjdXJyZW50UmVjdXJzaXZlU2VxdWVuY2UgPSAw
O1xuICAgICAgd2hpbGUgKHZtKSB7XG4gICAgICAgIGlmICh0cmVlLmxlbmd0aCA+IDApIHtcbiAg
ICAgICAgICB2YXIgbGFzdCA9IHRyZWVbdHJlZS5sZW5ndGggLSAxXTtcbiAgICAgICAgICBpZiAo
bGFzdC5jb25zdHJ1Y3RvciA9PT0gdm0uY29uc3RydWN0b3IpIHtcbiAgICAgICAgICAgIGN1cnJl
bnRSZWN1cnNpdmVTZXF1ZW5jZSsrO1xuICAgICAgICAgICAgdm0gPSB2bS4kcGFyZW50O1xuICAg
ICAgICAgICAgY29udGludWVcbiAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRSZWN1cnNpdmVT
ZXF1ZW5jZSA+IDApIHtcbiAgICAgICAgICAgIHRyZWVbdHJlZS5sZW5ndGggLSAxXSA9IFtsYXN0
LCBjdXJyZW50UmVjdXJzaXZlU2VxdWVuY2VdO1xuICAgICAgICAgICAgY3VycmVudFJlY3Vyc2l2
ZVNlcXVlbmNlID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdHJlZS5wdXNo
KHZtKTtcbiAgICAgICAgdm0gPSB2bS4kcGFyZW50O1xuICAgICAgfVxuICAgICAgcmV0dXJuICdc
XG5cXG5mb3VuZCBpblxcblxcbicgKyB0cmVlXG4gICAgICAgIC5tYXAoZnVuY3Rpb24gKHZtLCBp
KSB7IHJldHVybiAoXCJcIiArIChpID09PSAwID8gJy0tLT4gJyA6IHJlcGVhdCgnICcsIDUgKyBp
ICogMikpICsgKEFycmF5LmlzQXJyYXkodm0pXG4gICAgICAgICAgICA/ICgoZm9ybWF0Q29tcG9u
ZW50TmFtZSh2bVswXSkpICsgXCIuLi4gKFwiICsgKHZtWzFdKSArIFwiIHJlY3Vyc2l2ZSBjYWxs
cylcIilcbiAgICAgICAgICAgIDogZm9ybWF0Q29tcG9uZW50TmFtZSh2bSkpKTsgfSlcbiAgICAg
ICAgLmpvaW4oJ1xcbicpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAoXCJcXG5cXG4oZm91
bmQgaW4gXCIgKyAoZm9ybWF0Q29tcG9uZW50TmFtZSh2bSkpICsgXCIpXCIpXG4gICAgfVxuICB9
O1xufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gaGFuZGxlRXJyb3IgKGVyciwgdm0sIGluZm8pIHtc
biAgaWYgKGNvbmZpZy5lcnJvckhhbmRsZXIpIHtcbiAgICBjb25maWcuZXJyb3JIYW5kbGVyLmNh
bGwobnVsbCwgZXJyLCB2bSwgaW5mbyk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb2Nlc3MuZW52
Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIHdhcm4oKFwiRXJyb3IgaW4gXCIg
KyBpbmZvICsgXCI6IFxcXCJcIiArIChlcnIudG9TdHJpbmcoKSkgKyBcIlxcXCJcIiksIHZtKTtc
biAgICB9XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoaW5Ccm93c2Vy
ICYmIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uc29sZS5lcnJv
cihlcnIpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBlcnJcbiAgICB9XG4gIH1cbn1cblxu
LyogICovXG4vKiBnbG9iYWxzIE11dGF0aW9uT2JzZXJ2ZXIgKi9cblxuLy8gY2FuIHdlIHVzZSBf
X3Byb3RvX18/XG52YXIgaGFzUHJvdG8gPSAnX19wcm90b19fJyBpbiB7fTtcblxuLy8gQnJvd3Nl
ciBlbnZpcm9ubWVudCBzbmlmZmluZ1xudmFyIGluQnJvd3NlciA9IHR5cGVvZiB3aW5kb3cgIT09
ICd1bmRlZmluZWQnO1xudmFyIFVBID0gaW5Ccm93c2VyICYmIHdpbmRvdy5uYXZpZ2F0b3IudXNl
ckFnZW50LnRvTG93ZXJDYXNlKCk7XG52YXIgaXNJRSA9IFVBICYmIC9tc2llfHRyaWRlbnQvLnRl
c3QoVUEpO1xudmFyIGlzSUU5ID0gVUEgJiYgVUEuaW5kZXhPZignbXNpZSA5LjAnKSA+IDA7XG52
YXIgaXNFZGdlID0gVUEgJiYgVUEuaW5kZXhPZignZWRnZS8nKSA+IDA7XG52YXIgaXNBbmRyb2lk
ID0gVUEgJiYgVUEuaW5kZXhPZignYW5kcm9pZCcpID4gMDtcbnZhciBpc0lPUyA9IFVBICYmIC9p
cGhvbmV8aXBhZHxpcG9kfGlvcy8udGVzdChVQSk7XG52YXIgaXNDaHJvbWUgPSBVQSAmJiAvY2hy
b21lXFwvXFxkKy8udGVzdChVQSkgJiYgIWlzRWRnZTtcblxuLy8gRmlyZWZpeCBoYXMgYSBcIndh
dGNoXCIgZnVuY3Rpb24gb24gT2JqZWN0LnByb3RvdHlwZS4uLlxudmFyIG5hdGl2ZVdhdGNoID0g
KHt9KS53YXRjaDtcblxudmFyIHN1cHBvcnRzUGFzc2l2ZSA9IGZhbHNlO1xuaWYgKGluQnJvd3Nl
cikge1xuICB0cnkge1xuICAgIHZhciBvcHRzID0ge307XG4gICAgT2JqZWN0LmRlZmluZVByb3Bl
cnR5KG9wdHMsICdwYXNzaXZlJywgKHtcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0ICgpIHtcbiAg
ICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgc3VwcG9ydHNQYXNzaXZl
ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KSk7IC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9v
ay9mbG93L2lzc3Vlcy8yODVcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndGVzdC1wYXNz
aXZlJywgbnVsbCwgb3B0cyk7XG4gIH0gY2F0Y2ggKGUpIHt9XG59XG5cbi8vIHRoaXMgbmVlZHMg
dG8gYmUgbGF6eS1ldmFsZWQgYmVjYXVzZSB2dWUgbWF5IGJlIHJlcXVpcmVkIGJlZm9yZVxuLy8g
dnVlLXNlcnZlci1yZW5kZXJlciBjYW4gc2V0IFZVRV9FTlZcbnZhciBfaXNTZXJ2ZXI7XG52YXIg
aXNTZXJ2ZXJSZW5kZXJpbmcgPSBmdW5jdGlvbiAoKSB7XG4gIGlmIChfaXNTZXJ2ZXIgPT09IHVu
ZGVmaW5lZCkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghaW5Ccm93
c2VyICYmIHR5cGVvZiBnbG9iYWwgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAvLyBkZXRlY3Qg
cHJlc2VuY2Ugb2YgdnVlLXNlcnZlci1yZW5kZXJlciBhbmQgYXZvaWRcbiAgICAgIC8vIFdlYnBh
Y2sgc2hpbW1pbmcgdGhlIHByb2Nlc3NcbiAgICAgIF9pc1NlcnZlciA9IGdsb2JhbFsncHJvY2Vz
cyddLmVudi5WVUVfRU5WID09PSAnc2VydmVyJztcbiAgICB9IGVsc2Uge1xuICAgICAgX2lzU2Vy
dmVyID0gZmFsc2U7XG4gICAgfVxuICB9XG4gIHJldHVybiBfaXNTZXJ2ZXJcbn07XG5cbi8vIGRl
dGVjdCBkZXZ0b29sc1xudmFyIGRldnRvb2xzID0gaW5Ccm93c2VyICYmIHdpbmRvdy5fX1ZVRV9E
RVZUT09MU19HTE9CQUxfSE9PS19fO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZnVu
Y3Rpb24gaXNOYXRpdmUgKEN0b3IpIHtcbiAgcmV0dXJuIHR5cGVvZiBDdG9yID09PSAnZnVuY3Rp
b24nICYmIC9uYXRpdmUgY29kZS8udGVzdChDdG9yLnRvU3RyaW5nKCkpXG59XG5cbnZhciBoYXNT
eW1ib2wgPVxuICB0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBpc05hdGl2ZShTeW1i
b2wpICYmXG4gIHR5cGVvZiBSZWZsZWN0ICE9PSAndW5kZWZpbmVkJyAmJiBpc05hdGl2ZShSZWZs
ZWN0Lm93bktleXMpO1xuXG4vKipcbiAqIERlZmVyIGEgdGFzayB0byBleGVjdXRlIGl0IGFzeW5j
aHJvbm91c2x5LlxuICovXG52YXIgbmV4dFRpY2sgPSAoZnVuY3Rpb24gKCkge1xuICB2YXIgY2Fs
bGJhY2tzID0gW107XG4gIHZhciBwZW5kaW5nID0gZmFsc2U7XG4gIHZhciB0aW1lckZ1bmM7XG5c
biAgZnVuY3Rpb24gbmV4dFRpY2tIYW5kbGVyICgpIHtcbiAgICBwZW5kaW5nID0gZmFsc2U7XG4g
ICAgdmFyIGNvcGllcyA9IGNhbGxiYWNrcy5zbGljZSgwKTtcbiAgICBjYWxsYmFja3MubGVuZ3Ro
ID0gMDtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvcGllcy5sZW5ndGg7IGkrKykge1xuICAg
ICAgY29waWVzW2ldKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gdGhlIG5leHRUaWNrIGJlaGF2aW9y
IGxldmVyYWdlcyB0aGUgbWljcm90YXNrIHF1ZXVlLCB3aGljaCBjYW4gYmUgYWNjZXNzZWRcbiAg
Ly8gdmlhIGVpdGhlciBuYXRpdmUgUHJvbWlzZS50aGVuIG9yIE11dGF0aW9uT2JzZXJ2ZXIuXG4g
IC8vIE11dGF0aW9uT2JzZXJ2ZXIgaGFzIHdpZGVyIHN1cHBvcnQsIGhvd2V2ZXIgaXQgaXMgc2Vy
aW91c2x5IGJ1Z2dlZCBpblxuICAvLyBVSVdlYlZpZXcgaW4gaU9TID49IDkuMy4zIHdoZW4gdHJp
Z2dlcmVkIGluIHRvdWNoIGV2ZW50IGhhbmRsZXJzLiBJdFxuICAvLyBjb21wbGV0ZWx5IHN0b3Bz
IHdvcmtpbmcgYWZ0ZXIgdHJpZ2dlcmluZyBhIGZldyB0aW1lcy4uLiBzbywgaWYgbmF0aXZlXG4g
IC8vIFByb21pc2UgaXMgYXZhaWxhYmxlLCB3ZSB3aWxsIHVzZSBpdDpcbiAgLyogaXN0YW5idWwg
aWdub3JlIGlmICovXG4gIGlmICh0eXBlb2YgUHJvbWlzZSAhPT0gJ3VuZGVmaW5lZCcgJiYgaXNO
YXRpdmUoUHJvbWlzZSkpIHtcbiAgICB2YXIgcCA9IFByb21pc2UucmVzb2x2ZSgpO1xuICAgIHZh
ciBsb2dFcnJvciA9IGZ1bmN0aW9uIChlcnIpIHsgY29uc29sZS5lcnJvcihlcnIpOyB9O1xuICAg
IHRpbWVyRnVuYyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHAudGhlbihuZXh0VGlja0hhbmRsZXIp
LmNhdGNoKGxvZ0Vycm9yKTtcbiAgICAgIC8vIGluIHByb2JsZW1hdGljIFVJV2ViVmlld3MsIFBy
b21pc2UudGhlbiBkb2Vzbid0IGNvbXBsZXRlbHkgYnJlYWssIGJ1dFxuICAgICAgLy8gaXQgY2Fu
IGdldCBzdHVjayBpbiBhIHdlaXJkIHN0YXRlIHdoZXJlIGNhbGxiYWNrcyBhcmUgcHVzaGVkIGlu
dG8gdGhlXG4gICAgICAvLyBtaWNyb3Rhc2sgcXVldWUgYnV0IHRoZSBxdWV1ZSBpc24ndCBiZWlu
ZyBmbHVzaGVkLCB1bnRpbCB0aGUgYnJvd3NlclxuICAgICAgLy8gbmVlZHMgdG8gZG8gc29tZSBv
dGhlciB3b3JrLCBlLmcuIGhhbmRsZSBhIHRpbWVyLiBUaGVyZWZvcmUgd2UgY2FuXG4gICAgICAv
LyBcImZvcmNlXCIgdGhlIG1pY3JvdGFzayBxdWV1ZSB0byBiZSBmbHVzaGVkIGJ5IGFkZGluZyBh
biBlbXB0eSB0aW1lci5cbiAgICAgIGlmIChpc0lPUykgeyBzZXRUaW1lb3V0KG5vb3ApOyB9XG4g
ICAgfTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgTXV0YXRpb25PYnNlcnZlciAhPT0gJ3VuZGVmaW5l
ZCcgJiYgKFxuICAgIGlzTmF0aXZlKE11dGF0aW9uT2JzZXJ2ZXIpIHx8XG4gICAgLy8gUGhhbnRv
bUpTIGFuZCBpT1MgNy54XG4gICAgTXV0YXRpb25PYnNlcnZlci50b1N0cmluZygpID09PSAnW29i
amVjdCBNdXRhdGlvbk9ic2VydmVyQ29uc3RydWN0b3JdJ1xuICApKSB7XG4gICAgLy8gdXNlIE11
dGF0aW9uT2JzZXJ2ZXIgd2hlcmUgbmF0aXZlIFByb21pc2UgaXMgbm90IGF2YWlsYWJsZSxcbiAg
ICAvLyBlLmcuIFBoYW50b21KUyBJRTExLCBpT1M3LCBBbmRyb2lkIDQuNFxuICAgIHZhciBjb3Vu
dGVyID0gMTtcbiAgICB2YXIgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihuZXh0VGlj
a0hhbmRsZXIpO1xuICAgIHZhciB0ZXh0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKFN0
cmluZyhjb3VudGVyKSk7XG4gICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0ZXh0Tm9kZSwge1xuICAgICAg
Y2hhcmFjdGVyRGF0YTogdHJ1ZVxuICAgIH0pO1xuICAgIHRpbWVyRnVuYyA9IGZ1bmN0aW9uICgp
IHtcbiAgICAgIGNvdW50ZXIgPSAoY291bnRlciArIDEpICUgMjtcbiAgICAgIHRleHROb2RlLmRh
dGEgPSBTdHJpbmcoY291bnRlcik7XG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICAvLyBmYWxsYmFj
ayB0byBzZXRUaW1lb3V0XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB0aW1l
ckZ1bmMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBzZXRUaW1lb3V0KG5leHRUaWNrSGFuZGxlciwg
MCk7XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBmdW5jdGlvbiBxdWV1ZU5leHRUaWNrIChjYiwg
Y3R4KSB7XG4gICAgdmFyIF9yZXNvbHZlO1xuICAgIGNhbGxiYWNrcy5wdXNoKGZ1bmN0aW9uICgp
IHtcbiAgICAgIGlmIChjYikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNiLmNhbGwoY3R4
KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGhhbmRsZUVycm9yKGUsIGN0eCwg
J25leHRUaWNrJyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoX3Jlc29sdmUpIHtcbiAg
ICAgICAgX3Jlc29sdmUoY3R4KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoIXBlbmRpbmcp
IHtcbiAgICAgIHBlbmRpbmcgPSB0cnVlO1xuICAgICAgdGltZXJGdW5jKCk7XG4gICAgfVxuICAg
IGlmICghY2IgJiYgdHlwZW9mIFByb21pc2UgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1
cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBfcmVz
b2x2ZSA9IHJlc29sdmU7XG4gICAgICB9KVxuICAgIH1cbiAgfVxufSkoKTtcblxudmFyIF9TZXQ7
XG4vKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbmlmICh0eXBlb2YgU2V0ICE9PSAndW5kZWZpbmVk
JyAmJiBpc05hdGl2ZShTZXQpKSB7XG4gIC8vIHVzZSBuYXRpdmUgU2V0IHdoZW4gYXZhaWxhYmxl
LlxuICBfU2V0ID0gU2V0O1xufSBlbHNlIHtcbiAgLy8gYSBub24tc3RhbmRhcmQgU2V0IHBvbHlm
aWxsIHRoYXQgb25seSB3b3JrcyB3aXRoIHByaW1pdGl2ZSBrZXlzLlxuICBfU2V0ID0gKGZ1bmN0
aW9uICgpIHtcbiAgICBmdW5jdGlvbiBTZXQgKCkge1xuICAgICAgdGhpcy5zZXQgPSBPYmplY3Qu
Y3JlYXRlKG51bGwpO1xuICAgIH1cbiAgICBTZXQucHJvdG90eXBlLmhhcyA9IGZ1bmN0aW9uIGhh
cyAoa2V5KSB7XG4gICAgICByZXR1cm4gdGhpcy5zZXRba2V5XSA9PT0gdHJ1ZVxuICAgIH07XG4g
ICAgU2V0LnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQgKGtleSkge1xuICAgICAgdGhpcy5z
ZXRba2V5XSA9IHRydWU7XG4gICAgfTtcbiAgICBTZXQucHJvdG90eXBlLmNsZWFyID0gZnVuY3Rp
b24gY2xlYXIgKCkge1xuICAgICAgdGhpcy5zZXQgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAg
IH07XG5cbiAgICByZXR1cm4gU2V0O1xuICB9KCkpO1xufVxuXG4vKiAgKi9cblxuXG52YXIgdWlk
ID0gMDtcblxuLyoqXG4gKiBBIGRlcCBpcyBhbiBvYnNlcnZhYmxlIHRoYXQgY2FuIGhhdmUgbXVs
dGlwbGVcbiAqIGRpcmVjdGl2ZXMgc3Vic2NyaWJpbmcgdG8gaXQuXG4gKi9cbnZhciBEZXAgPSBm
dW5jdGlvbiBEZXAgKCkge1xuICB0aGlzLmlkID0gdWlkKys7XG4gIHRoaXMuc3VicyA9IFtdO1xu
fTtcblxuRGVwLnByb3RvdHlwZS5hZGRTdWIgPSBmdW5jdGlvbiBhZGRTdWIgKHN1Yikge1xuICB0
aGlzLnN1YnMucHVzaChzdWIpO1xufTtcblxuRGVwLnByb3RvdHlwZS5yZW1vdmVTdWIgPSBmdW5j
dGlvbiByZW1vdmVTdWIgKHN1Yikge1xuICByZW1vdmUodGhpcy5zdWJzLCBzdWIpO1xufTtcblxu
RGVwLnByb3RvdHlwZS5kZXBlbmQgPSBmdW5jdGlvbiBkZXBlbmQgKCkge1xuICBpZiAoRGVwLnRh
cmdldCkge1xuICAgIERlcC50YXJnZXQuYWRkRGVwKHRoaXMpO1xuICB9XG59O1xuXG5EZXAucHJv
dG90eXBlLm5vdGlmeSA9IGZ1bmN0aW9uIG5vdGlmeSAoKSB7XG4gIC8vIHN0YWJpbGl6ZSB0aGUg
c3Vic2NyaWJlciBsaXN0IGZpcnN0XG4gIHZhciBzdWJzID0gdGhpcy5zdWJzLnNsaWNlKCk7XG4g
IGZvciAodmFyIGkgPSAwLCBsID0gc3Vicy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBzdWJz
W2ldLnVwZGF0ZSgpO1xuICB9XG59O1xuXG4vLyB0aGUgY3VycmVudCB0YXJnZXQgd2F0Y2hlciBi
ZWluZyBldmFsdWF0ZWQuXG4vLyB0aGlzIGlzIGdsb2JhbGx5IHVuaXF1ZSBiZWNhdXNlIHRoZXJl
IGNvdWxkIGJlIG9ubHkgb25lXG4vLyB3YXRjaGVyIGJlaW5nIGV2YWx1YXRlZCBhdCBhbnkgdGlt
ZS5cbkRlcC50YXJnZXQgPSBudWxsO1xudmFyIHRhcmdldFN0YWNrID0gW107XG5cbmZ1bmN0aW9u
IHB1c2hUYXJnZXQgKF90YXJnZXQpIHtcbiAgaWYgKERlcC50YXJnZXQpIHsgdGFyZ2V0U3RhY2su
cHVzaChEZXAudGFyZ2V0KTsgfVxuICBEZXAudGFyZ2V0ID0gX3RhcmdldDtcbn1cblxuZnVuY3Rp
b24gcG9wVGFyZ2V0ICgpIHtcbiAgRGVwLnRhcmdldCA9IHRhcmdldFN0YWNrLnBvcCgpO1xufVxu
XG4vKlxuICogbm90IHR5cGUgY2hlY2tpbmcgdGhpcyBmaWxlIGJlY2F1c2UgZmxvdyBkb2Vzbid0
IHBsYXkgd2VsbCB3aXRoXG4gKiBkeW5hbWljYWxseSBhY2Nlc3NpbmcgbWV0aG9kcyBvbiBBcnJh
eSBwcm90b3R5cGVcbiAqL1xuXG52YXIgYXJyYXlQcm90byA9IEFycmF5LnByb3RvdHlwZTtcbnZh
ciBhcnJheU1ldGhvZHMgPSBPYmplY3QuY3JlYXRlKGFycmF5UHJvdG8pO1tcbiAgJ3B1c2gnLFxu
ICAncG9wJyxcbiAgJ3NoaWZ0JyxcbiAgJ3Vuc2hpZnQnLFxuICAnc3BsaWNlJyxcbiAgJ3NvcnQn
LFxuICAncmV2ZXJzZSdcbl1cbi5mb3JFYWNoKGZ1bmN0aW9uIChtZXRob2QpIHtcbiAgLy8gY2Fj
aGUgb3JpZ2luYWwgbWV0aG9kXG4gIHZhciBvcmlnaW5hbCA9IGFycmF5UHJvdG9bbWV0aG9kXTtc
biAgZGVmKGFycmF5TWV0aG9kcywgbWV0aG9kLCBmdW5jdGlvbiBtdXRhdG9yICgpIHtcbiAgICB2
YXIgYXJncyA9IFtdLCBsZW4gPSBhcmd1bWVudHMubGVuZ3RoO1xuICAgIHdoaWxlICggbGVuLS0g
KSBhcmdzWyBsZW4gXSA9IGFyZ3VtZW50c1sgbGVuIF07XG5cbiAgICB2YXIgcmVzdWx0ID0gb3Jp
Z2luYWwuYXBwbHkodGhpcywgYXJncyk7XG4gICAgdmFyIG9iID0gdGhpcy5fX29iX187XG4gICAg
dmFyIGluc2VydGVkO1xuICAgIHN3aXRjaCAobWV0aG9kKSB7XG4gICAgICBjYXNlICdwdXNoJzpc
biAgICAgIGNhc2UgJ3Vuc2hpZnQnOlxuICAgICAgICBpbnNlcnRlZCA9IGFyZ3M7XG4gICAgICAg
IGJyZWFrXG4gICAgICBjYXNlICdzcGxpY2UnOlxuICAgICAgICBpbnNlcnRlZCA9IGFyZ3Muc2xp
Y2UoMik7XG4gICAgICAgIGJyZWFrXG4gICAgfVxuICAgIGlmIChpbnNlcnRlZCkgeyBvYi5vYnNl
cnZlQXJyYXkoaW5zZXJ0ZWQpOyB9XG4gICAgLy8gbm90aWZ5IGNoYW5nZVxuICAgIG9iLmRlcC5u
b3RpZnkoKTtcbiAgICByZXR1cm4gcmVzdWx0XG4gIH0pO1xufSk7XG5cbi8qICAqL1xuXG52YXIg
YXJyYXlLZXlzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoYXJyYXlNZXRob2RzKTtcblxu
LyoqXG4gKiBCeSBkZWZhdWx0LCB3aGVuIGEgcmVhY3RpdmUgcHJvcGVydHkgaXMgc2V0LCB0aGUg
bmV3IHZhbHVlIGlzXG4gKiBhbHNvIGNvbnZlcnRlZCB0byBiZWNvbWUgcmVhY3RpdmUuIEhvd2V2
ZXIgd2hlbiBwYXNzaW5nIGRvd24gcHJvcHMsXG4gKiB3ZSBkb24ndCB3YW50IHRvIGZvcmNlIGNv
bnZlcnNpb24gYmVjYXVzZSB0aGUgdmFsdWUgbWF5IGJlIGEgbmVzdGVkIHZhbHVlXG4gKiB1bmRl
ciBhIGZyb3plbiBkYXRhIHN0cnVjdHVyZS4gQ29udmVydGluZyBpdCB3b3VsZCBkZWZlYXQgdGhl
IG9wdGltaXphdGlvbi5cbiAqL1xudmFyIG9ic2VydmVyU3RhdGUgPSB7XG4gIHNob3VsZENvbnZl
cnQ6IHRydWVcbn07XG5cbi8qKlxuICogT2JzZXJ2ZXIgY2xhc3MgdGhhdCBhcmUgYXR0YWNoZWQg
dG8gZWFjaCBvYnNlcnZlZFxuICogb2JqZWN0LiBPbmNlIGF0dGFjaGVkLCB0aGUgb2JzZXJ2ZXIg
Y29udmVydHMgdGFyZ2V0XG4gKiBvYmplY3QncyBwcm9wZXJ0eSBrZXlzIGludG8gZ2V0dGVyL3Nl
dHRlcnMgdGhhdFxuICogY29sbGVjdCBkZXBlbmRlbmNpZXMgYW5kIGRpc3BhdGNoZXMgdXBkYXRl
cy5cbiAqL1xudmFyIE9ic2VydmVyID0gZnVuY3Rpb24gT2JzZXJ2ZXIgKHZhbHVlKSB7XG4gIHRo
aXMudmFsdWUgPSB2YWx1ZTtcbiAgdGhpcy5kZXAgPSBuZXcgRGVwKCk7XG4gIHRoaXMudm1Db3Vu
dCA9IDA7XG4gIGRlZih2YWx1ZSwgJ19fb2JfXycsIHRoaXMpO1xuICBpZiAoQXJyYXkuaXNBcnJh
eSh2YWx1ZSkpIHtcbiAgICB2YXIgYXVnbWVudCA9IGhhc1Byb3RvXG4gICAgICA/IHByb3RvQXVn
bWVudFxuICAgICAgOiBjb3B5QXVnbWVudDtcbiAgICBhdWdtZW50KHZhbHVlLCBhcnJheU1ldGhv
ZHMsIGFycmF5S2V5cyk7XG4gICAgdGhpcy5vYnNlcnZlQXJyYXkodmFsdWUpO1xuICB9IGVsc2Ug
e1xuICAgIHRoaXMud2Fsayh2YWx1ZSk7XG4gIH1cbn07XG5cbi8qKlxuICogV2FsayB0aHJvdWdo
IGVhY2ggcHJvcGVydHkgYW5kIGNvbnZlcnQgdGhlbSBpbnRvXG4gKiBnZXR0ZXIvc2V0dGVycy4g
VGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIHdoZW5cbiAqIHZhbHVlIHR5cGUgaXMg
T2JqZWN0LlxuICovXG5PYnNlcnZlci5wcm90b3R5cGUud2FsayA9IGZ1bmN0aW9uIHdhbGsgKG9i
aikge1xuICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iaik7XG4gIGZvciAodmFyIGkgPSAwOyBp
IDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgIGRlZmluZVJlYWN0aXZlJCQxKG9iaiwga2V5c1tp
XSwgb2JqW2tleXNbaV1dKTtcbiAgfVxufTtcblxuLyoqXG4gKiBPYnNlcnZlIGEgbGlzdCBvZiBB
cnJheSBpdGVtcy5cbiAqL1xuT2JzZXJ2ZXIucHJvdG90eXBlLm9ic2VydmVBcnJheSA9IGZ1bmN0
aW9uIG9ic2VydmVBcnJheSAoaXRlbXMpIHtcbiAgZm9yICh2YXIgaSA9IDAsIGwgPSBpdGVtcy5s
ZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBvYnNlcnZlKGl0ZW1zW2ldKTtcbiAgfVxufTtcblxu
Ly8gaGVscGVyc1xuXG4vKipcbiAqIEF1Z21lbnQgYW4gdGFyZ2V0IE9iamVjdCBvciBBcnJheSBi
eSBpbnRlcmNlcHRpbmdcbiAqIHRoZSBwcm90b3R5cGUgY2hhaW4gdXNpbmcgX19wcm90b19fXG4g
Ki9cbmZ1bmN0aW9uIHByb3RvQXVnbWVudCAodGFyZ2V0LCBzcmMsIGtleXMpIHtcbiAgLyogZXNs
aW50LWRpc2FibGUgbm8tcHJvdG8gKi9cbiAgdGFyZ2V0Ll9fcHJvdG9fXyA9IHNyYztcbiAgLyog
ZXNsaW50LWVuYWJsZSBuby1wcm90byAqL1xufVxuXG4vKipcbiAqIEF1Z21lbnQgYW4gdGFyZ2V0
IE9iamVjdCBvciBBcnJheSBieSBkZWZpbmluZ1xuICogaGlkZGVuIHByb3BlcnRpZXMuXG4gKi9c
bi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5mdW5jdGlvbiBjb3B5QXVnbWVudCAodGFyZ2V0
LCBzcmMsIGtleXMpIHtcbiAgZm9yICh2YXIgaSA9IDAsIGwgPSBrZXlzLmxlbmd0aDsgaSA8IGw7
IGkrKykge1xuICAgIHZhciBrZXkgPSBrZXlzW2ldO1xuICAgIGRlZih0YXJnZXQsIGtleSwgc3Jj
W2tleV0pO1xuICB9XG59XG5cbi8qKlxuICogQXR0ZW1wdCB0byBjcmVhdGUgYW4gb2JzZXJ2ZXIg
aW5zdGFuY2UgZm9yIGEgdmFsdWUsXG4gKiByZXR1cm5zIHRoZSBuZXcgb2JzZXJ2ZXIgaWYgc3Vj
Y2Vzc2Z1bGx5IG9ic2VydmVkLFxuICogb3IgdGhlIGV4aXN0aW5nIG9ic2VydmVyIGlmIHRoZSB2
YWx1ZSBhbHJlYWR5IGhhcyBvbmUuXG4gKi9cbmZ1bmN0aW9uIG9ic2VydmUgKHZhbHVlLCBhc1Jv
b3REYXRhKSB7XG4gIGlmICghaXNPYmplY3QodmFsdWUpKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAg
dmFyIG9iO1xuICBpZiAoaGFzT3duKHZhbHVlLCAnX19vYl9fJykgJiYgdmFsdWUuX19vYl9fIGlu
c3RhbmNlb2YgT2JzZXJ2ZXIpIHtcbiAgICBvYiA9IHZhbHVlLl9fb2JfXztcbiAgfSBlbHNlIGlm
IChcbiAgICBvYnNlcnZlclN0YXRlLnNob3VsZENvbnZlcnQgJiZcbiAgICAhaXNTZXJ2ZXJSZW5k
ZXJpbmcoKSAmJlxuICAgIChBcnJheS5pc0FycmF5KHZhbHVlKSB8fCBpc1BsYWluT2JqZWN0KHZh
bHVlKSkgJiZcbiAgICBPYmplY3QuaXNFeHRlbnNpYmxlKHZhbHVlKSAmJlxuICAgICF2YWx1ZS5f
aXNWdWVcbiAgKSB7XG4gICAgb2IgPSBuZXcgT2JzZXJ2ZXIodmFsdWUpO1xuICB9XG4gIGlmIChh
c1Jvb3REYXRhICYmIG9iKSB7XG4gICAgb2Iudm1Db3VudCsrO1xuICB9XG4gIHJldHVybiBvYlxu
fVxuXG4vKipcbiAqIERlZmluZSBhIHJlYWN0aXZlIHByb3BlcnR5IG9uIGFuIE9iamVjdC5cbiAq
L1xuZnVuY3Rpb24gZGVmaW5lUmVhY3RpdmUkJDEgKFxuICBvYmosXG4gIGtleSxcbiAgdmFsLFxu
ICBjdXN0b21TZXR0ZXIsXG4gIHNoYWxsb3dcbikge1xuICB2YXIgZGVwID0gbmV3IERlcCgpO1xu
XG4gIHZhciBwcm9wZXJ0eSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBr
ZXkpO1xuICBpZiAocHJvcGVydHkgJiYgcHJvcGVydHkuY29uZmlndXJhYmxlID09PSBmYWxzZSkg
e1xuICAgIHJldHVyblxuICB9XG5cbiAgLy8gY2F0ZXIgZm9yIHByZS1kZWZpbmVkIGdldHRlci9z
ZXR0ZXJzXG4gIHZhciBnZXR0ZXIgPSBwcm9wZXJ0eSAmJiBwcm9wZXJ0eS5nZXQ7XG4gIHZhciBz
ZXR0ZXIgPSBwcm9wZXJ0eSAmJiBwcm9wZXJ0eS5zZXQ7XG5cbiAgdmFyIGNoaWxkT2IgPSAhc2hh
bGxvdyAmJiBvYnNlcnZlKHZhbCk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwg
e1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIGdl
dDogZnVuY3Rpb24gcmVhY3RpdmVHZXR0ZXIgKCkge1xuICAgICAgdmFyIHZhbHVlID0gZ2V0dGVy
ID8gZ2V0dGVyLmNhbGwob2JqKSA6IHZhbDtcbiAgICAgIGlmIChEZXAudGFyZ2V0KSB7XG4gICAg
ICAgIGRlcC5kZXBlbmQoKTtcbiAgICAgICAgaWYgKGNoaWxkT2IpIHtcbiAgICAgICAgICBjaGls
ZE9iLmRlcC5kZXBlbmQoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2
YWx1ZSkpIHtcbiAgICAgICAgICBkZXBlbmRBcnJheSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAg
IH1cbiAgICAgIHJldHVybiB2YWx1ZVxuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiByZWFjdGl2
ZVNldHRlciAobmV3VmFsKSB7XG4gICAgICB2YXIgdmFsdWUgPSBnZXR0ZXIgPyBnZXR0ZXIuY2Fs
bChvYmopIDogdmFsO1xuICAgICAgLyogZXNsaW50LWRpc2FibGUgbm8tc2VsZi1jb21wYXJlICov
XG4gICAgICBpZiAobmV3VmFsID09PSB2YWx1ZSB8fCAobmV3VmFsICE9PSBuZXdWYWwgJiYgdmFs
dWUgIT09IHZhbHVlKSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIC8qIGVzbGlu
dC1lbmFibGUgbm8tc2VsZi1jb21wYXJlICovXG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9F
TlYgIT09ICdwcm9kdWN0aW9uJyAmJiBjdXN0b21TZXR0ZXIpIHtcbiAgICAgICAgY3VzdG9tU2V0
dGVyKCk7XG4gICAgICB9XG4gICAgICBpZiAoc2V0dGVyKSB7XG4gICAgICAgIHNldHRlci5jYWxs
KG9iaiwgbmV3VmFsKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhbCA9IG5ld1ZhbDtcbiAg
ICAgIH1cbiAgICAgIGNoaWxkT2IgPSAhc2hhbGxvdyAmJiBvYnNlcnZlKG5ld1ZhbCk7XG4gICAg
ICBkZXAubm90aWZ5KCk7XG4gICAgfVxuICB9KTtcbn1cblxuLyoqXG4gKiBTZXQgYSBwcm9wZXJ0
eSBvbiBhbiBvYmplY3QuIEFkZHMgdGhlIG5ldyBwcm9wZXJ0eSBhbmRcbiAqIHRyaWdnZXJzIGNo
YW5nZSBub3RpZmljYXRpb24gaWYgdGhlIHByb3BlcnR5IGRvZXNuJ3RcbiAqIGFscmVhZHkgZXhp
c3QuXG4gKi9cbmZ1bmN0aW9uIHNldCAodGFyZ2V0LCBrZXksIHZhbCkge1xuICBpZiAoQXJyYXku
aXNBcnJheSh0YXJnZXQpICYmIGlzVmFsaWRBcnJheUluZGV4KGtleSkpIHtcbiAgICB0YXJnZXQu
bGVuZ3RoID0gTWF0aC5tYXgodGFyZ2V0Lmxlbmd0aCwga2V5KTtcbiAgICB0YXJnZXQuc3BsaWNl
KGtleSwgMSwgdmFsKTtcbiAgICByZXR1cm4gdmFsXG4gIH1cbiAgaWYgKGhhc093bih0YXJnZXQs
IGtleSkpIHtcbiAgICB0YXJnZXRba2V5XSA9IHZhbDtcbiAgICByZXR1cm4gdmFsXG4gIH1cbiAg
dmFyIG9iID0gKHRhcmdldCkuX19vYl9fO1xuICBpZiAodGFyZ2V0Ll9pc1Z1ZSB8fCAob2IgJiYg
b2Iudm1Db3VudCkpIHtcbiAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24n
ICYmIHdhcm4oXG4gICAgICAnQXZvaWQgYWRkaW5nIHJlYWN0aXZlIHByb3BlcnRpZXMgdG8gYSBW
dWUgaW5zdGFuY2Ugb3IgaXRzIHJvb3QgJGRhdGEgJyArXG4gICAgICAnYXQgcnVudGltZSAtIGRl
Y2xhcmUgaXQgdXBmcm9udCBpbiB0aGUgZGF0YSBvcHRpb24uJ1xuICAgICk7XG4gICAgcmV0dXJu
IHZhbFxuICB9XG4gIGlmICghb2IpIHtcbiAgICB0YXJnZXRba2V5XSA9IHZhbDtcbiAgICByZXR1
cm4gdmFsXG4gIH1cbiAgZGVmaW5lUmVhY3RpdmUkJDEob2IudmFsdWUsIGtleSwgdmFsKTtcbiAg
b2IuZGVwLm5vdGlmeSgpO1xuICByZXR1cm4gdmFsXG59XG5cbi8qKlxuICogRGVsZXRlIGEgcHJv
cGVydHkgYW5kIHRyaWdnZXIgY2hhbmdlIGlmIG5lY2Vzc2FyeS5cbiAqL1xuZnVuY3Rpb24gZGVs
ICh0YXJnZXQsIGtleSkge1xuICBpZiAoQXJyYXkuaXNBcnJheSh0YXJnZXQpICYmIGlzVmFsaWRB
cnJheUluZGV4KGtleSkpIHtcbiAgICB0YXJnZXQuc3BsaWNlKGtleSwgMSk7XG4gICAgcmV0dXJu
XG4gIH1cbiAgdmFyIG9iID0gKHRhcmdldCkuX19vYl9fO1xuICBpZiAodGFyZ2V0Ll9pc1Z1ZSB8
fCAob2IgJiYgb2Iudm1Db3VudCkpIHtcbiAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3By
b2R1Y3Rpb24nICYmIHdhcm4oXG4gICAgICAnQXZvaWQgZGVsZXRpbmcgcHJvcGVydGllcyBvbiBh
IFZ1ZSBpbnN0YW5jZSBvciBpdHMgcm9vdCAkZGF0YSAnICtcbiAgICAgICctIGp1c3Qgc2V0IGl0
IHRvIG51bGwuJ1xuICAgICk7XG4gICAgcmV0dXJuXG4gIH1cbiAgaWYgKCFoYXNPd24odGFyZ2V0
LCBrZXkpKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgZGVsZXRlIHRhcmdldFtrZXldO1xuICBpZiAo
IW9iKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgb2IuZGVwLm5vdGlmeSgpO1xufVxuXG4vKipcbiAq
IENvbGxlY3QgZGVwZW5kZW5jaWVzIG9uIGFycmF5IGVsZW1lbnRzIHdoZW4gdGhlIGFycmF5IGlz
IHRvdWNoZWQsIHNpbmNlXG4gKiB3ZSBjYW5ub3QgaW50ZXJjZXB0IGFycmF5IGVsZW1lbnQgYWNj
ZXNzIGxpa2UgcHJvcGVydHkgZ2V0dGVycy5cbiAqL1xuZnVuY3Rpb24gZGVwZW5kQXJyYXkgKHZh
bHVlKSB7XG4gIGZvciAodmFyIGUgPSAodm9pZCAwKSwgaSA9IDAsIGwgPSB2YWx1ZS5sZW5ndGg7
IGkgPCBsOyBpKyspIHtcbiAgICBlID0gdmFsdWVbaV07XG4gICAgZSAmJiBlLl9fb2JfXyAmJiBl
Ll9fb2JfXy5kZXAuZGVwZW5kKCk7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZSkpIHtcbiAgICAg
IGRlcGVuZEFycmF5KGUpO1xuICAgIH1cbiAgfVxufVxuXG4vKiAgKi9cblxuLyoqXG4gKiBPcHRp
b24gb3ZlcndyaXRpbmcgc3RyYXRlZ2llcyBhcmUgZnVuY3Rpb25zIHRoYXQgaGFuZGxlXG4gKiBo
b3cgdG8gbWVyZ2UgYSBwYXJlbnQgb3B0aW9uIHZhbHVlIGFuZCBhIGNoaWxkIG9wdGlvblxuICog
dmFsdWUgaW50byB0aGUgZmluYWwgdmFsdWUuXG4gKi9cbnZhciBzdHJhdHMgPSBjb25maWcub3B0
aW9uTWVyZ2VTdHJhdGVnaWVzO1xuXG4vKipcbiAqIE9wdGlvbnMgd2l0aCByZXN0cmljdGlvbnNc
biAqL1xuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgc3Ry
YXRzLmVsID0gc3RyYXRzLnByb3BzRGF0YSA9IGZ1bmN0aW9uIChwYXJlbnQsIGNoaWxkLCB2bSwg
a2V5KSB7XG4gICAgaWYgKCF2bSkge1xuICAgICAgd2FybihcbiAgICAgICAgXCJvcHRpb24gXFxc
IlwiICsga2V5ICsgXCJcXFwiIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIGluc3RhbmNlIFwiICtc
biAgICAgICAgJ2NyZWF0aW9uIHdpdGggdGhlIGBuZXdgIGtleXdvcmQuJ1xuICAgICAgKTtcbiAg
ICB9XG4gICAgcmV0dXJuIGRlZmF1bHRTdHJhdChwYXJlbnQsIGNoaWxkKVxuICB9O1xufVxuXG4v
KipcbiAqIEhlbHBlciB0aGF0IHJlY3Vyc2l2ZWx5IG1lcmdlcyB0d28gZGF0YSBvYmplY3RzIHRv
Z2V0aGVyLlxuICovXG5mdW5jdGlvbiBtZXJnZURhdGEgKHRvLCBmcm9tKSB7XG4gIGlmICghZnJv
bSkgeyByZXR1cm4gdG8gfVxuICB2YXIga2V5LCB0b1ZhbCwgZnJvbVZhbDtcbiAgdmFyIGtleXMg
PSBPYmplY3Qua2V5cyhmcm9tKTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsg
aSsrKSB7XG4gICAga2V5ID0ga2V5c1tpXTtcbiAgICB0b1ZhbCA9IHRvW2tleV07XG4gICAgZnJv
bVZhbCA9IGZyb21ba2V5XTtcbiAgICBpZiAoIWhhc093bih0bywga2V5KSkge1xuICAgICAgc2V0
KHRvLCBrZXksIGZyb21WYWwpO1xuICAgIH0gZWxzZSBpZiAoaXNQbGFpbk9iamVjdCh0b1ZhbCkg
JiYgaXNQbGFpbk9iamVjdChmcm9tVmFsKSkge1xuICAgICAgbWVyZ2VEYXRhKHRvVmFsLCBmcm9t
VmFsKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRvXG59XG5cbi8qKlxuICogRGF0YVxuICovXG5m
dW5jdGlvbiBtZXJnZURhdGFPckZuIChcbiAgcGFyZW50VmFsLFxuICBjaGlsZFZhbCxcbiAgdm1c
bikge1xuICBpZiAoIXZtKSB7XG4gICAgLy8gaW4gYSBWdWUuZXh0ZW5kIG1lcmdlLCBib3RoIHNo
b3VsZCBiZSBmdW5jdGlvbnNcbiAgICBpZiAoIWNoaWxkVmFsKSB7XG4gICAgICByZXR1cm4gcGFy
ZW50VmFsXG4gICAgfVxuICAgIGlmICghcGFyZW50VmFsKSB7XG4gICAgICByZXR1cm4gY2hpbGRW
YWxcbiAgICB9XG4gICAgLy8gd2hlbiBwYXJlbnRWYWwgJiBjaGlsZFZhbCBhcmUgYm90aCBwcmVz
ZW50LFxuICAgIC8vIHdlIG5lZWQgdG8gcmV0dXJuIGEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRo
ZVxuICAgIC8vIG1lcmdlZCByZXN1bHQgb2YgYm90aCBmdW5jdGlvbnMuLi4gbm8gbmVlZCB0b1xu
ICAgIC8vIGNoZWNrIGlmIHBhcmVudFZhbCBpcyBhIGZ1bmN0aW9uIGhlcmUgYmVjYXVzZVxuICAg
IC8vIGl0IGhhcyB0byBiZSBhIGZ1bmN0aW9uIHRvIHBhc3MgcHJldmlvdXMgbWVyZ2VzLlxuICAg
IHJldHVybiBmdW5jdGlvbiBtZXJnZWREYXRhRm4gKCkge1xuICAgICAgcmV0dXJuIG1lcmdlRGF0
YShcbiAgICAgICAgdHlwZW9mIGNoaWxkVmFsID09PSAnZnVuY3Rpb24nID8gY2hpbGRWYWwuY2Fs
bCh0aGlzKSA6IGNoaWxkVmFsLFxuICAgICAgICB0eXBlb2YgcGFyZW50VmFsID09PSAnZnVuY3Rp
b24nID8gcGFyZW50VmFsLmNhbGwodGhpcykgOiBwYXJlbnRWYWxcbiAgICAgIClcbiAgICB9XG4g
IH0gZWxzZSBpZiAocGFyZW50VmFsIHx8IGNoaWxkVmFsKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9u
IG1lcmdlZEluc3RhbmNlRGF0YUZuICgpIHtcbiAgICAgIC8vIGluc3RhbmNlIG1lcmdlXG4gICAg
ICB2YXIgaW5zdGFuY2VEYXRhID0gdHlwZW9mIGNoaWxkVmFsID09PSAnZnVuY3Rpb24nXG4gICAg
ICAgID8gY2hpbGRWYWwuY2FsbCh2bSlcbiAgICAgICAgOiBjaGlsZFZhbDtcbiAgICAgIHZhciBk
ZWZhdWx0RGF0YSA9IHR5cGVvZiBwYXJlbnRWYWwgPT09ICdmdW5jdGlvbidcbiAgICAgICAgPyBw
YXJlbnRWYWwuY2FsbCh2bSlcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICBpZiAoaW5zdGFu
Y2VEYXRhKSB7XG4gICAgICAgIHJldHVybiBtZXJnZURhdGEoaW5zdGFuY2VEYXRhLCBkZWZhdWx0
RGF0YSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0RGF0YVxuICAgICAg
fVxuICAgIH1cbiAgfVxufVxuXG5zdHJhdHMuZGF0YSA9IGZ1bmN0aW9uIChcbiAgcGFyZW50VmFs
LFxuICBjaGlsZFZhbCxcbiAgdm1cbikge1xuICBpZiAoIXZtKSB7XG4gICAgaWYgKGNoaWxkVmFs
ICYmIHR5cGVvZiBjaGlsZFZhbCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcHJvY2Vzcy5lbnYu
Tk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgICAnVGhlIFwiZGF0YVwi
IG9wdGlvbiBzaG91bGQgYmUgYSBmdW5jdGlvbiAnICtcbiAgICAgICAgJ3RoYXQgcmV0dXJucyBh
IHBlci1pbnN0YW5jZSB2YWx1ZSBpbiBjb21wb25lbnQgJyArXG4gICAgICAgICdkZWZpbml0aW9u
cy4nLFxuICAgICAgICB2bVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIHBhcmVudFZhbFxuICAg
IH1cbiAgICByZXR1cm4gbWVyZ2VEYXRhT3JGbi5jYWxsKHRoaXMsIHBhcmVudFZhbCwgY2hpbGRW
YWwpXG4gIH1cblxuICByZXR1cm4gbWVyZ2VEYXRhT3JGbihwYXJlbnRWYWwsIGNoaWxkVmFsLCB2
bSlcbn07XG5cbi8qKlxuICogSG9va3MgYW5kIHByb3BzIGFyZSBtZXJnZWQgYXMgYXJyYXlzLlxu
ICovXG5mdW5jdGlvbiBtZXJnZUhvb2sgKFxuICBwYXJlbnRWYWwsXG4gIGNoaWxkVmFsXG4pIHtc
biAgcmV0dXJuIGNoaWxkVmFsXG4gICAgPyBwYXJlbnRWYWxcbiAgICAgID8gcGFyZW50VmFsLmNv
bmNhdChjaGlsZFZhbClcbiAgICAgIDogQXJyYXkuaXNBcnJheShjaGlsZFZhbClcbiAgICAgICAg
PyBjaGlsZFZhbFxuICAgICAgICA6IFtjaGlsZFZhbF1cbiAgICA6IHBhcmVudFZhbFxufVxuXG5M
SUZFQ1lDTEVfSE9PS1MuZm9yRWFjaChmdW5jdGlvbiAoaG9vaykge1xuICBzdHJhdHNbaG9va10g
PSBtZXJnZUhvb2s7XG59KTtcblxuLyoqXG4gKiBBc3NldHNcbiAqXG4gKiBXaGVuIGEgdm0gaXMg
cHJlc2VudCAoaW5zdGFuY2UgY3JlYXRpb24pLCB3ZSBuZWVkIHRvIGRvXG4gKiBhIHRocmVlLXdh
eSBtZXJnZSBiZXR3ZWVuIGNvbnN0cnVjdG9yIG9wdGlvbnMsIGluc3RhbmNlXG4gKiBvcHRpb25z
IGFuZCBwYXJlbnQgb3B0aW9ucy5cbiAqL1xuZnVuY3Rpb24gbWVyZ2VBc3NldHMgKHBhcmVudFZh
bCwgY2hpbGRWYWwpIHtcbiAgdmFyIHJlcyA9IE9iamVjdC5jcmVhdGUocGFyZW50VmFsIHx8IG51
bGwpO1xuICByZXR1cm4gY2hpbGRWYWxcbiAgICA/IGV4dGVuZChyZXMsIGNoaWxkVmFsKVxuICAg
IDogcmVzXG59XG5cbkFTU0VUX1RZUEVTLmZvckVhY2goZnVuY3Rpb24gKHR5cGUpIHtcbiAgc3Ry
YXRzW3R5cGUgKyAncyddID0gbWVyZ2VBc3NldHM7XG59KTtcblxuLyoqXG4gKiBXYXRjaGVycy5c
biAqXG4gKiBXYXRjaGVycyBoYXNoZXMgc2hvdWxkIG5vdCBvdmVyd3JpdGUgb25lXG4gKiBhbm90
aGVyLCBzbyB3ZSBtZXJnZSB0aGVtIGFzIGFycmF5cy5cbiAqL1xuc3RyYXRzLndhdGNoID0gZnVu
Y3Rpb24gKHBhcmVudFZhbCwgY2hpbGRWYWwpIHtcbiAgLy8gd29yayBhcm91bmQgRmlyZWZveCdz
IE9iamVjdC5wcm90b3R5cGUud2F0Y2guLi5cbiAgaWYgKHBhcmVudFZhbCA9PT0gbmF0aXZlV2F0
Y2gpIHsgcGFyZW50VmFsID0gdW5kZWZpbmVkOyB9XG4gIGlmIChjaGlsZFZhbCA9PT0gbmF0aXZl
V2F0Y2gpIHsgY2hpbGRWYWwgPSB1bmRlZmluZWQ7IH1cbiAgLyogaXN0YW5idWwgaWdub3JlIGlm
ICovXG4gIGlmICghY2hpbGRWYWwpIHsgcmV0dXJuIE9iamVjdC5jcmVhdGUocGFyZW50VmFsIHx8
IG51bGwpIH1cbiAgaWYgKCFwYXJlbnRWYWwpIHsgcmV0dXJuIGNoaWxkVmFsIH1cbiAgdmFyIHJl
dCA9IHt9O1xuICBleHRlbmQocmV0LCBwYXJlbnRWYWwpO1xuICBmb3IgKHZhciBrZXkgaW4gY2hp
bGRWYWwpIHtcbiAgICB2YXIgcGFyZW50ID0gcmV0W2tleV07XG4gICAgdmFyIGNoaWxkID0gY2hp
bGRWYWxba2V5XTtcbiAgICBpZiAocGFyZW50ICYmICFBcnJheS5pc0FycmF5KHBhcmVudCkpIHtc
biAgICAgIHBhcmVudCA9IFtwYXJlbnRdO1xuICAgIH1cbiAgICByZXRba2V5XSA9IHBhcmVudFxu
ICAgICAgPyBwYXJlbnQuY29uY2F0KGNoaWxkKVxuICAgICAgOiBBcnJheS5pc0FycmF5KGNoaWxk
KSA/IGNoaWxkIDogW2NoaWxkXTtcbiAgfVxuICByZXR1cm4gcmV0XG59O1xuXG4vKipcbiAqIE90
aGVyIG9iamVjdCBoYXNoZXMuXG4gKi9cbnN0cmF0cy5wcm9wcyA9XG5zdHJhdHMubWV0aG9kcyA9
XG5zdHJhdHMuaW5qZWN0ID1cbnN0cmF0cy5jb21wdXRlZCA9IGZ1bmN0aW9uIChwYXJlbnRWYWws
IGNoaWxkVmFsKSB7XG4gIGlmICghcGFyZW50VmFsKSB7IHJldHVybiBjaGlsZFZhbCB9XG4gIHZh
ciByZXQgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICBleHRlbmQocmV0LCBwYXJlbnRWYWwpO1xu
ICBpZiAoY2hpbGRWYWwpIHsgZXh0ZW5kKHJldCwgY2hpbGRWYWwpOyB9XG4gIHJldHVybiByZXRc
bn07XG5zdHJhdHMucHJvdmlkZSA9IG1lcmdlRGF0YU9yRm47XG5cbi8qKlxuICogRGVmYXVsdCBz
dHJhdGVneS5cbiAqL1xudmFyIGRlZmF1bHRTdHJhdCA9IGZ1bmN0aW9uIChwYXJlbnRWYWwsIGNo
aWxkVmFsKSB7XG4gIHJldHVybiBjaGlsZFZhbCA9PT0gdW5kZWZpbmVkXG4gICAgPyBwYXJlbnRW
YWxcbiAgICA6IGNoaWxkVmFsXG59O1xuXG4vKipcbiAqIFZhbGlkYXRlIGNvbXBvbmVudCBuYW1l
c1xuICovXG5mdW5jdGlvbiBjaGVja0NvbXBvbmVudHMgKG9wdGlvbnMpIHtcbiAgZm9yICh2YXIg
a2V5IGluIG9wdGlvbnMuY29tcG9uZW50cykge1xuICAgIHZhciBsb3dlciA9IGtleS50b0xvd2Vy
Q2FzZSgpO1xuICAgIGlmIChpc0J1aWx0SW5UYWcobG93ZXIpIHx8IGNvbmZpZy5pc1Jlc2VydmVk
VGFnKGxvd2VyKSkge1xuICAgICAgd2FybihcbiAgICAgICAgJ0RvIG5vdCB1c2UgYnVpbHQtaW4g
b3IgcmVzZXJ2ZWQgSFRNTCBlbGVtZW50cyBhcyBjb21wb25lbnQgJyArXG4gICAgICAgICdpZDog
JyArIGtleVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBFbnN1cmUgYWxsIHBy
b3BzIG9wdGlvbiBzeW50YXggYXJlIG5vcm1hbGl6ZWQgaW50byB0aGVcbiAqIE9iamVjdC1iYXNl
ZCBmb3JtYXQuXG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZVByb3BzIChvcHRpb25zKSB7XG4gIHZh
ciBwcm9wcyA9IG9wdGlvbnMucHJvcHM7XG4gIGlmICghcHJvcHMpIHsgcmV0dXJuIH1cbiAgdmFy
IHJlcyA9IHt9O1xuICB2YXIgaSwgdmFsLCBuYW1lO1xuICBpZiAoQXJyYXkuaXNBcnJheShwcm9w
cykpIHtcbiAgICBpID0gcHJvcHMubGVuZ3RoO1xuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgIHZh
bCA9IHByb3BzW2ldO1xuICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XG4gICAg
ICAgIG5hbWUgPSBjYW1lbGl6ZSh2YWwpO1xuICAgICAgICByZXNbbmFtZV0gPSB7IHR5cGU6IG51
bGwgfTtcbiAgICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0
aW9uJykge1xuICAgICAgICB3YXJuKCdwcm9wcyBtdXN0IGJlIHN0cmluZ3Mgd2hlbiB1c2luZyBh
cnJheSBzeW50YXguJyk7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2UgaWYgKGlzUGxhaW5PYmpl
Y3QocHJvcHMpKSB7XG4gICAgZm9yICh2YXIga2V5IGluIHByb3BzKSB7XG4gICAgICB2YWwgPSBw
cm9wc1trZXldO1xuICAgICAgbmFtZSA9IGNhbWVsaXplKGtleSk7XG4gICAgICByZXNbbmFtZV0g
PSBpc1BsYWluT2JqZWN0KHZhbClcbiAgICAgICAgPyB2YWxcbiAgICAgICAgOiB7IHR5cGU6IHZh
bCB9O1xuICAgIH1cbiAgfVxuICBvcHRpb25zLnByb3BzID0gcmVzO1xufVxuXG4vKipcbiAqIE5v
cm1hbGl6ZSBhbGwgaW5qZWN0aW9ucyBpbnRvIE9iamVjdC1iYXNlZCBmb3JtYXRcbiAqL1xuZnVu
Y3Rpb24gbm9ybWFsaXplSW5qZWN0IChvcHRpb25zKSB7XG4gIHZhciBpbmplY3QgPSBvcHRpb25z
LmluamVjdDtcbiAgaWYgKEFycmF5LmlzQXJyYXkoaW5qZWN0KSkge1xuICAgIHZhciBub3JtYWxp
emVkID0gb3B0aW9ucy5pbmplY3QgPSB7fTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGluamVj
dC5sZW5ndGg7IGkrKykge1xuICAgICAgbm9ybWFsaXplZFtpbmplY3RbaV1dID0gaW5qZWN0W2ld
O1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIE5vcm1hbGl6ZSByYXcgZnVuY3Rpb24gZGlyZWN0
aXZlcyBpbnRvIG9iamVjdCBmb3JtYXQuXG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZURpcmVjdGl2
ZXMgKG9wdGlvbnMpIHtcbiAgdmFyIGRpcnMgPSBvcHRpb25zLmRpcmVjdGl2ZXM7XG4gIGlmIChk
aXJzKSB7XG4gICAgZm9yICh2YXIga2V5IGluIGRpcnMpIHtcbiAgICAgIHZhciBkZWYgPSBkaXJz
W2tleV07XG4gICAgICBpZiAodHlwZW9mIGRlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBk
aXJzW2tleV0gPSB7IGJpbmQ6IGRlZiwgdXBkYXRlOiBkZWYgfTtcbiAgICAgIH1cbiAgICB9XG4g
IH1cbn1cblxuLyoqXG4gKiBNZXJnZSB0d28gb3B0aW9uIG9iamVjdHMgaW50byBhIG5ldyBvbmUu
XG4gKiBDb3JlIHV0aWxpdHkgdXNlZCBpbiBib3RoIGluc3RhbnRpYXRpb24gYW5kIGluaGVyaXRh
bmNlLlxuICovXG5mdW5jdGlvbiBtZXJnZU9wdGlvbnMgKFxuICBwYXJlbnQsXG4gIGNoaWxkLFxu
ICB2bVxuKSB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7
XG4gICAgY2hlY2tDb21wb25lbnRzKGNoaWxkKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgY2hpbGQg
PT09ICdmdW5jdGlvbicpIHtcbiAgICBjaGlsZCA9IGNoaWxkLm9wdGlvbnM7XG4gIH1cblxuICBu
b3JtYWxpemVQcm9wcyhjaGlsZCk7XG4gIG5vcm1hbGl6ZUluamVjdChjaGlsZCk7XG4gIG5vcm1h
bGl6ZURpcmVjdGl2ZXMoY2hpbGQpO1xuICB2YXIgZXh0ZW5kc0Zyb20gPSBjaGlsZC5leHRlbmRz
O1xuICBpZiAoZXh0ZW5kc0Zyb20pIHtcbiAgICBwYXJlbnQgPSBtZXJnZU9wdGlvbnMocGFyZW50
LCBleHRlbmRzRnJvbSwgdm0pO1xuICB9XG4gIGlmIChjaGlsZC5taXhpbnMpIHtcbiAgICBmb3Ig
KHZhciBpID0gMCwgbCA9IGNoaWxkLm1peGlucy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAg
IHBhcmVudCA9IG1lcmdlT3B0aW9ucyhwYXJlbnQsIGNoaWxkLm1peGluc1tpXSwgdm0pO1xuICAg
IH1cbiAgfVxuICB2YXIgb3B0aW9ucyA9IHt9O1xuICB2YXIga2V5O1xuICBmb3IgKGtleSBpbiBw
YXJlbnQpIHtcbiAgICBtZXJnZUZpZWxkKGtleSk7XG4gIH1cbiAgZm9yIChrZXkgaW4gY2hpbGQp
IHtcbiAgICBpZiAoIWhhc093bihwYXJlbnQsIGtleSkpIHtcbiAgICAgIG1lcmdlRmllbGQoa2V5
KTtcbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gbWVyZ2VGaWVsZCAoa2V5KSB7XG4gICAgdmFyIHN0
cmF0ID0gc3RyYXRzW2tleV0gfHwgZGVmYXVsdFN0cmF0O1xuICAgIG9wdGlvbnNba2V5XSA9IHN0
cmF0KHBhcmVudFtrZXldLCBjaGlsZFtrZXldLCB2bSwga2V5KTtcbiAgfVxuICByZXR1cm4gb3B0
aW9uc1xufVxuXG4vKipcbiAqIFJlc29sdmUgYW4gYXNzZXQuXG4gKiBUaGlzIGZ1bmN0aW9uIGlz
IHVzZWQgYmVjYXVzZSBjaGlsZCBpbnN0YW5jZXMgbmVlZCBhY2Nlc3NcbiAqIHRvIGFzc2V0cyBk
ZWZpbmVkIGluIGl0cyBhbmNlc3RvciBjaGFpbi5cbiAqL1xuZnVuY3Rpb24gcmVzb2x2ZUFzc2V0
IChcbiAgb3B0aW9ucyxcbiAgdHlwZSxcbiAgaWQsXG4gIHdhcm5NaXNzaW5nXG4pIHtcbiAgLyog
aXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmICh0eXBlb2YgaWQgIT09ICdzdHJpbmcnKSB7XG4g
ICAgcmV0dXJuXG4gIH1cbiAgdmFyIGFzc2V0cyA9IG9wdGlvbnNbdHlwZV07XG4gIC8vIGNoZWNr
IGxvY2FsIHJlZ2lzdHJhdGlvbiB2YXJpYXRpb25zIGZpcnN0XG4gIGlmIChoYXNPd24oYXNzZXRz
LCBpZCkpIHsgcmV0dXJuIGFzc2V0c1tpZF0gfVxuICB2YXIgY2FtZWxpemVkSWQgPSBjYW1lbGl6
ZShpZCk7XG4gIGlmIChoYXNPd24oYXNzZXRzLCBjYW1lbGl6ZWRJZCkpIHsgcmV0dXJuIGFzc2V0
c1tjYW1lbGl6ZWRJZF0gfVxuICB2YXIgUGFzY2FsQ2FzZUlkID0gY2FwaXRhbGl6ZShjYW1lbGl6
ZWRJZCk7XG4gIGlmIChoYXNPd24oYXNzZXRzLCBQYXNjYWxDYXNlSWQpKSB7IHJldHVybiBhc3Nl
dHNbUGFzY2FsQ2FzZUlkXSB9XG4gIC8vIGZhbGxiYWNrIHRvIHByb3RvdHlwZSBjaGFpblxuICB2
YXIgcmVzID0gYXNzZXRzW2lkXSB8fCBhc3NldHNbY2FtZWxpemVkSWRdIHx8IGFzc2V0c1tQYXNj
YWxDYXNlSWRdO1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAm
JiB3YXJuTWlzc2luZyAmJiAhcmVzKSB7XG4gICAgd2FybihcbiAgICAgICdGYWlsZWQgdG8gcmVz
b2x2ZSAnICsgdHlwZS5zbGljZSgwLCAtMSkgKyAnOiAnICsgaWQsXG4gICAgICBvcHRpb25zXG4g
ICAgKTtcbiAgfVxuICByZXR1cm4gcmVzXG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiB2YWxpZGF0
ZVByb3AgKFxuICBrZXksXG4gIHByb3BPcHRpb25zLFxuICBwcm9wc0RhdGEsXG4gIHZtXG4pIHtc
biAgdmFyIHByb3AgPSBwcm9wT3B0aW9uc1trZXldO1xuICB2YXIgYWJzZW50ID0gIWhhc093bihw
cm9wc0RhdGEsIGtleSk7XG4gIHZhciB2YWx1ZSA9IHByb3BzRGF0YVtrZXldO1xuICAvLyBoYW5k
bGUgYm9vbGVhbiBwcm9wc1xuICBpZiAoaXNUeXBlKEJvb2xlYW4sIHByb3AudHlwZSkpIHtcbiAg
ICBpZiAoYWJzZW50ICYmICFoYXNPd24ocHJvcCwgJ2RlZmF1bHQnKSkge1xuICAgICAgdmFsdWUg
PSBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKCFpc1R5cGUoU3RyaW5nLCBwcm9wLnR5cGUpICYmICh2
YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT09IGh5cGhlbmF0ZShrZXkpKSkge1xuICAgICAgdmFsdWUg
PSB0cnVlO1xuICAgIH1cbiAgfVxuICAvLyBjaGVjayBkZWZhdWx0IHZhbHVlXG4gIGlmICh2YWx1
ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdmFsdWUgPSBnZXRQcm9wRGVmYXVsdFZhbHVlKHZtLCBw
cm9wLCBrZXkpO1xuICAgIC8vIHNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlIGlzIGEgZnJlc2ggY29w
eSxcbiAgICAvLyBtYWtlIHN1cmUgdG8gb2JzZXJ2ZSBpdC5cbiAgICB2YXIgcHJldlNob3VsZENv
bnZlcnQgPSBvYnNlcnZlclN0YXRlLnNob3VsZENvbnZlcnQ7XG4gICAgb2JzZXJ2ZXJTdGF0ZS5z
aG91bGRDb252ZXJ0ID0gdHJ1ZTtcbiAgICBvYnNlcnZlKHZhbHVlKTtcbiAgICBvYnNlcnZlclN0
YXRlLnNob3VsZENvbnZlcnQgPSBwcmV2U2hvdWxkQ29udmVydDtcbiAgfVxuICBpZiAocHJvY2Vz
cy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIGFzc2VydFByb3AocHJvcCwg
a2V5LCB2YWx1ZSwgdm0sIGFic2VudCk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlXG59XG5cbi8qKlxu
ICogR2V0IHRoZSBkZWZhdWx0IHZhbHVlIG9mIGEgcHJvcC5cbiAqL1xuZnVuY3Rpb24gZ2V0UHJv
cERlZmF1bHRWYWx1ZSAodm0sIHByb3AsIGtleSkge1xuICAvLyBubyBkZWZhdWx0LCByZXR1cm4g
dW5kZWZpbmVkXG4gIGlmICghaGFzT3duKHByb3AsICdkZWZhdWx0JykpIHtcbiAgICByZXR1cm4g
dW5kZWZpbmVkXG4gIH1cbiAgdmFyIGRlZiA9IHByb3AuZGVmYXVsdDtcbiAgLy8gd2FybiBhZ2Fp
bnN0IG5vbi1mYWN0b3J5IGRlZmF1bHRzIGZvciBPYmplY3QgJiBBcnJheVxuICBpZiAocHJvY2Vz
cy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBpc09iamVjdChkZWYpKSB7XG4gICAg
d2FybihcbiAgICAgICdJbnZhbGlkIGRlZmF1bHQgdmFsdWUgZm9yIHByb3AgXCInICsga2V5ICsg
J1wiOiAnICtcbiAgICAgICdQcm9wcyB3aXRoIHR5cGUgT2JqZWN0L0FycmF5IG11c3QgdXNlIGEg
ZmFjdG9yeSBmdW5jdGlvbiAnICtcbiAgICAgICd0byByZXR1cm4gdGhlIGRlZmF1bHQgdmFsdWUu
JyxcbiAgICAgIHZtXG4gICAgKTtcbiAgfVxuICAvLyB0aGUgcmF3IHByb3AgdmFsdWUgd2FzIGFs
c28gdW5kZWZpbmVkIGZyb20gcHJldmlvdXMgcmVuZGVyLFxuICAvLyByZXR1cm4gcHJldmlvdXMg
ZGVmYXVsdCB2YWx1ZSB0byBhdm9pZCB1bm5lY2Vzc2FyeSB3YXRjaGVyIHRyaWdnZXJcbiAgaWYg
KHZtICYmIHZtLiRvcHRpb25zLnByb3BzRGF0YSAmJlxuICAgIHZtLiRvcHRpb25zLnByb3BzRGF0
YVtrZXldID09PSB1bmRlZmluZWQgJiZcbiAgICB2bS5fcHJvcHNba2V5XSAhPT0gdW5kZWZpbmVk
XG4gICkge1xuICAgIHJldHVybiB2bS5fcHJvcHNba2V5XVxuICB9XG4gIC8vIGNhbGwgZmFjdG9y
eSBmdW5jdGlvbiBmb3Igbm9uLUZ1bmN0aW9uIHR5cGVzXG4gIC8vIGEgdmFsdWUgaXMgRnVuY3Rp
b24gaWYgaXRzIHByb3RvdHlwZSBpcyBmdW5jdGlvbiBldmVuIGFjcm9zcyBkaWZmZXJlbnQgZXhl
Y3V0aW9uIGNvbnRleHRcbiAgcmV0dXJuIHR5cGVvZiBkZWYgPT09ICdmdW5jdGlvbicgJiYgZ2V0
VHlwZShwcm9wLnR5cGUpICE9PSAnRnVuY3Rpb24nXG4gICAgPyBkZWYuY2FsbCh2bSlcbiAgICA6
IGRlZlxufVxuXG4vKipcbiAqIEFzc2VydCB3aGV0aGVyIGEgcHJvcCBpcyB2YWxpZC5cbiAqL1xu
ZnVuY3Rpb24gYXNzZXJ0UHJvcCAoXG4gIHByb3AsXG4gIG5hbWUsXG4gIHZhbHVlLFxuICB2bSxc
biAgYWJzZW50XG4pIHtcbiAgaWYgKHByb3AucmVxdWlyZWQgJiYgYWJzZW50KSB7XG4gICAgd2Fy
bihcbiAgICAgICdNaXNzaW5nIHJlcXVpcmVkIHByb3A6IFwiJyArIG5hbWUgKyAnXCInLFxuICAg
ICAgdm1cbiAgICApO1xuICAgIHJldHVyblxuICB9XG4gIGlmICh2YWx1ZSA9PSBudWxsICYmICFw
cm9wLnJlcXVpcmVkKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIHR5cGUgPSBwcm9wLnR5cGU7
XG4gIHZhciB2YWxpZCA9ICF0eXBlIHx8IHR5cGUgPT09IHRydWU7XG4gIHZhciBleHBlY3RlZFR5
cGVzID0gW107XG4gIGlmICh0eXBlKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHR5cGUpKSB7
XG4gICAgICB0eXBlID0gW3R5cGVdO1xuICAgIH1cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHR5
cGUubGVuZ3RoICYmICF2YWxpZDsgaSsrKSB7XG4gICAgICB2YXIgYXNzZXJ0ZWRUeXBlID0gYXNz
ZXJ0VHlwZSh2YWx1ZSwgdHlwZVtpXSk7XG4gICAgICBleHBlY3RlZFR5cGVzLnB1c2goYXNzZXJ0
ZWRUeXBlLmV4cGVjdGVkVHlwZSB8fCAnJyk7XG4gICAgICB2YWxpZCA9IGFzc2VydGVkVHlwZS52
YWxpZDtcbiAgICB9XG4gIH1cbiAgaWYgKCF2YWxpZCkge1xuICAgIHdhcm4oXG4gICAgICAnSW52
YWxpZCBwcm9wOiB0eXBlIGNoZWNrIGZhaWxlZCBmb3IgcHJvcCBcIicgKyBuYW1lICsgJ1wiLicg
K1xuICAgICAgJyBFeHBlY3RlZCAnICsgZXhwZWN0ZWRUeXBlcy5tYXAoY2FwaXRhbGl6ZSkuam9p
bignLCAnKSArXG4gICAgICAnLCBnb3QgJyArIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2Fs
bCh2YWx1ZSkuc2xpY2UoOCwgLTEpICsgJy4nLFxuICAgICAgdm1cbiAgICApO1xuICAgIHJldHVy
blxuICB9XG4gIHZhciB2YWxpZGF0b3IgPSBwcm9wLnZhbGlkYXRvcjtcbiAgaWYgKHZhbGlkYXRv
cikge1xuICAgIGlmICghdmFsaWRhdG9yKHZhbHVlKSkge1xuICAgICAgd2FybihcbiAgICAgICAg
J0ludmFsaWQgcHJvcDogY3VzdG9tIHZhbGlkYXRvciBjaGVjayBmYWlsZWQgZm9yIHByb3AgXCIn
ICsgbmFtZSArICdcIi4nLFxuICAgICAgICB2bVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxu
dmFyIHNpbXBsZUNoZWNrUkUgPSAvXihTdHJpbmd8TnVtYmVyfEJvb2xlYW58RnVuY3Rpb258U3lt
Ym9sKSQvO1xuXG5mdW5jdGlvbiBhc3NlcnRUeXBlICh2YWx1ZSwgdHlwZSkge1xuICB2YXIgdmFs
aWQ7XG4gIHZhciBleHBlY3RlZFR5cGUgPSBnZXRUeXBlKHR5cGUpO1xuICBpZiAoc2ltcGxlQ2hl
Y2tSRS50ZXN0KGV4cGVjdGVkVHlwZSkpIHtcbiAgICB2YWxpZCA9IHR5cGVvZiB2YWx1ZSA9PT0g
ZXhwZWN0ZWRUeXBlLnRvTG93ZXJDYXNlKCk7XG4gIH0gZWxzZSBpZiAoZXhwZWN0ZWRUeXBlID09
PSAnT2JqZWN0Jykge1xuICAgIHZhbGlkID0gaXNQbGFpbk9iamVjdCh2YWx1ZSk7XG4gIH0gZWxz
ZSBpZiAoZXhwZWN0ZWRUeXBlID09PSAnQXJyYXknKSB7XG4gICAgdmFsaWQgPSBBcnJheS5pc0Fy
cmF5KHZhbHVlKTtcbiAgfSBlbHNlIHtcbiAgICB2YWxpZCA9IHZhbHVlIGluc3RhbmNlb2YgdHlw
ZTtcbiAgfVxuICByZXR1cm4ge1xuICAgIHZhbGlkOiB2YWxpZCxcbiAgICBleHBlY3RlZFR5cGU6
IGV4cGVjdGVkVHlwZVxuICB9XG59XG5cbi8qKlxuICogVXNlIGZ1bmN0aW9uIHN0cmluZyBuYW1l
IHRvIGNoZWNrIGJ1aWx0LWluIHR5cGVzLFxuICogYmVjYXVzZSBhIHNpbXBsZSBlcXVhbGl0eSBj
aGVjayB3aWxsIGZhaWwgd2hlbiBydW5uaW5nXG4gKiBhY3Jvc3MgZGlmZmVyZW50IHZtcyAvIGlm
cmFtZXMuXG4gKi9cbmZ1bmN0aW9uIGdldFR5cGUgKGZuKSB7XG4gIHZhciBtYXRjaCA9IGZuICYm
IGZuLnRvU3RyaW5nKCkubWF0Y2goL15cXHMqZnVuY3Rpb24gKFxcdyspLyk7XG4gIHJldHVybiBt
YXRjaCA/IG1hdGNoWzFdIDogJydcbn1cblxuZnVuY3Rpb24gaXNUeXBlICh0eXBlLCBmbikge1xu
ICBpZiAoIUFycmF5LmlzQXJyYXkoZm4pKSB7XG4gICAgcmV0dXJuIGdldFR5cGUoZm4pID09PSBn
ZXRUeXBlKHR5cGUpXG4gIH1cbiAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGZuLmxlbmd0aDsgaSA8
IGxlbjsgaSsrKSB7XG4gICAgaWYgKGdldFR5cGUoZm5baV0pID09PSBnZXRUeXBlKHR5cGUpKSB7
XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgfVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4
dCAqL1xuICByZXR1cm4gZmFsc2Vcbn1cblxuLyogICovXG5cbnZhciBtYXJrO1xudmFyIG1lYXN1
cmU7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIHZh
ciBwZXJmID0gaW5Ccm93c2VyICYmIHdpbmRvdy5wZXJmb3JtYW5jZTtcbiAgLyogaXN0YW5idWwg
aWdub3JlIGlmICovXG4gIGlmIChcbiAgICBwZXJmICYmXG4gICAgcGVyZi5tYXJrICYmXG4gICAg
cGVyZi5tZWFzdXJlICYmXG4gICAgcGVyZi5jbGVhck1hcmtzICYmXG4gICAgcGVyZi5jbGVhck1l
YXN1cmVzXG4gICkge1xuICAgIG1hcmsgPSBmdW5jdGlvbiAodGFnKSB7IHJldHVybiBwZXJmLm1h
cmsodGFnKTsgfTtcbiAgICBtZWFzdXJlID0gZnVuY3Rpb24gKG5hbWUsIHN0YXJ0VGFnLCBlbmRU
YWcpIHtcbiAgICAgIHBlcmYubWVhc3VyZShuYW1lLCBzdGFydFRhZywgZW5kVGFnKTtcbiAgICAg
IHBlcmYuY2xlYXJNYXJrcyhzdGFydFRhZyk7XG4gICAgICBwZXJmLmNsZWFyTWFya3MoZW5kVGFn
KTtcbiAgICAgIHBlcmYuY2xlYXJNZWFzdXJlcyhuYW1lKTtcbiAgICB9O1xuICB9XG59XG5cbi8q
IG5vdCB0eXBlIGNoZWNraW5nIHRoaXMgZmlsZSBiZWNhdXNlIGZsb3cgZG9lc24ndCBwbGF5IHdl
bGwgd2l0aCBQcm94eSAqL1xuXG52YXIgaW5pdFByb3h5O1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9E
RV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICB2YXIgYWxsb3dlZEdsb2JhbHMgPSBtYWtlTWFw
KFxuICAgICdJbmZpbml0eSx1bmRlZmluZWQsTmFOLGlzRmluaXRlLGlzTmFOLCcgK1xuICAgICdw
YXJzZUZsb2F0LHBhcnNlSW50LGRlY29kZVVSSSxkZWNvZGVVUklDb21wb25lbnQsZW5jb2RlVVJJ
LGVuY29kZVVSSUNvbXBvbmVudCwnICtcbiAgICAnTWF0aCxOdW1iZXIsRGF0ZSxBcnJheSxPYmpl
Y3QsQm9vbGVhbixTdHJpbmcsUmVnRXhwLE1hcCxTZXQsSlNPTixJbnRsLCcgK1xuICAgICdyZXF1
aXJlJyAvLyBmb3IgV2VicGFjay9Ccm93c2VyaWZ5XG4gICk7XG5cbiAgdmFyIHdhcm5Ob25QcmVz
ZW50ID0gZnVuY3Rpb24gKHRhcmdldCwga2V5KSB7XG4gICAgd2FybihcbiAgICAgIFwiUHJvcGVy
dHkgb3IgbWV0aG9kIFxcXCJcIiArIGtleSArIFwiXFxcIiBpcyBub3QgZGVmaW5lZCBvbiB0aGUg
aW5zdGFuY2UgYnV0IFwiICtcbiAgICAgIFwicmVmZXJlbmNlZCBkdXJpbmcgcmVuZGVyLiBNYWtl
IHN1cmUgdG8gZGVjbGFyZSByZWFjdGl2ZSBkYXRhIFwiICtcbiAgICAgIFwicHJvcGVydGllcyBp
biB0aGUgZGF0YSBvcHRpb24uXCIsXG4gICAgICB0YXJnZXRcbiAgICApO1xuICB9O1xuXG4gIHZh
ciBoYXNQcm94eSA9XG4gICAgdHlwZW9mIFByb3h5ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgIFBy
b3h5LnRvU3RyaW5nKCkubWF0Y2goL25hdGl2ZSBjb2RlLyk7XG5cbiAgaWYgKGhhc1Byb3h5KSB7
XG4gICAgdmFyIGlzQnVpbHRJbk1vZGlmaWVyID0gbWFrZU1hcCgnc3RvcCxwcmV2ZW50LHNlbGYs
Y3RybCxzaGlmdCxhbHQsbWV0YScpO1xuICAgIGNvbmZpZy5rZXlDb2RlcyA9IG5ldyBQcm94eShj
b25maWcua2V5Q29kZXMsIHtcbiAgICAgIHNldDogZnVuY3Rpb24gc2V0ICh0YXJnZXQsIGtleSwg
dmFsdWUpIHtcbiAgICAgICAgaWYgKGlzQnVpbHRJbk1vZGlmaWVyKGtleSkpIHtcbiAgICAgICAg
ICB3YXJuKChcIkF2b2lkIG92ZXJ3cml0aW5nIGJ1aWx0LWluIG1vZGlmaWVyIGluIGNvbmZpZy5r
ZXlDb2RlczogLlwiICsga2V5KSk7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH0g
ZWxzZSB7XG4gICAgICAgICAgdGFyZ2V0W2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICByZXR1cm4g
dHJ1ZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB2YXIgaGFzSGFuZGxl
ciA9IHtcbiAgICBoYXM6IGZ1bmN0aW9uIGhhcyAodGFyZ2V0LCBrZXkpIHtcbiAgICAgIHZhciBo
YXMgPSBrZXkgaW4gdGFyZ2V0O1xuICAgICAgdmFyIGlzQWxsb3dlZCA9IGFsbG93ZWRHbG9iYWxz
KGtleSkgfHwga2V5LmNoYXJBdCgwKSA9PT0gJ18nO1xuICAgICAgaWYgKCFoYXMgJiYgIWlzQWxs
b3dlZCkge1xuICAgICAgICB3YXJuTm9uUHJlc2VudCh0YXJnZXQsIGtleSk7XG4gICAgICB9XG4g
ICAgICByZXR1cm4gaGFzIHx8ICFpc0FsbG93ZWRcbiAgICB9XG4gIH07XG5cbiAgdmFyIGdldEhh
bmRsZXIgPSB7XG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQgKHRhcmdldCwga2V5KSB7XG4gICAgICBp
ZiAodHlwZW9mIGtleSA9PT0gJ3N0cmluZycgJiYgIShrZXkgaW4gdGFyZ2V0KSkge1xuICAgICAg
ICB3YXJuTm9uUHJlc2VudCh0YXJnZXQsIGtleSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGFy
Z2V0W2tleV1cbiAgICB9XG4gIH07XG5cbiAgaW5pdFByb3h5ID0gZnVuY3Rpb24gaW5pdFByb3h5
ICh2bSkge1xuICAgIGlmIChoYXNQcm94eSkge1xuICAgICAgLy8gZGV0ZXJtaW5lIHdoaWNoIHBy
b3h5IGhhbmRsZXIgdG8gdXNlXG4gICAgICB2YXIgb3B0aW9ucyA9IHZtLiRvcHRpb25zO1xuICAg
ICAgdmFyIGhhbmRsZXJzID0gb3B0aW9ucy5yZW5kZXIgJiYgb3B0aW9ucy5yZW5kZXIuX3dpdGhT
dHJpcHBlZFxuICAgICAgICA/IGdldEhhbmRsZXJcbiAgICAgICAgOiBoYXNIYW5kbGVyO1xuICAg
ICAgdm0uX3JlbmRlclByb3h5ID0gbmV3IFByb3h5KHZtLCBoYW5kbGVycyk7XG4gICAgfSBlbHNl
IHtcbiAgICAgIHZtLl9yZW5kZXJQcm94eSA9IHZtO1xuICAgIH1cbiAgfTtcbn1cblxuLyogICov
XG5cbnZhciBWTm9kZSA9IGZ1bmN0aW9uIFZOb2RlIChcbiAgdGFnLFxuICBkYXRhLFxuICBjaGls
ZHJlbixcbiAgdGV4dCxcbiAgZWxtLFxuICBjb250ZXh0LFxuICBjb21wb25lbnRPcHRpb25zLFxu
ICBhc3luY0ZhY3Rvcnlcbikge1xuICB0aGlzLnRhZyA9IHRhZztcbiAgdGhpcy5kYXRhID0gZGF0
YTtcbiAgdGhpcy5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICB0aGlzLnRleHQgPSB0ZXh0O1xuICB0
aGlzLmVsbSA9IGVsbTtcbiAgdGhpcy5ucyA9IHVuZGVmaW5lZDtcbiAgdGhpcy5jb250ZXh0ID0g
Y29udGV4dDtcbiAgdGhpcy5mdW5jdGlvbmFsQ29udGV4dCA9IHVuZGVmaW5lZDtcbiAgdGhpcy5r
ZXkgPSBkYXRhICYmIGRhdGEua2V5O1xuICB0aGlzLmNvbXBvbmVudE9wdGlvbnMgPSBjb21wb25l
bnRPcHRpb25zO1xuICB0aGlzLmNvbXBvbmVudEluc3RhbmNlID0gdW5kZWZpbmVkO1xuICB0aGlz
LnBhcmVudCA9IHVuZGVmaW5lZDtcbiAgdGhpcy5yYXcgPSBmYWxzZTtcbiAgdGhpcy5pc1N0YXRp
YyA9IGZhbHNlO1xuICB0aGlzLmlzUm9vdEluc2VydCA9IHRydWU7XG4gIHRoaXMuaXNDb21tZW50
ID0gZmFsc2U7XG4gIHRoaXMuaXNDbG9uZWQgPSBmYWxzZTtcbiAgdGhpcy5pc09uY2UgPSBmYWxz
ZTtcbiAgdGhpcy5hc3luY0ZhY3RvcnkgPSBhc3luY0ZhY3Rvcnk7XG4gIHRoaXMuYXN5bmNNZXRh
ID0gdW5kZWZpbmVkO1xuICB0aGlzLmlzQXN5bmNQbGFjZWhvbGRlciA9IGZhbHNlO1xufTtcblxu
dmFyIHByb3RvdHlwZUFjY2Vzc29ycyA9IHsgY2hpbGQ6IHt9IH07XG5cbi8vIERFUFJFQ0FURUQ6
IGFsaWFzIGZvciBjb21wb25lbnRJbnN0YW5jZSBmb3IgYmFja3dhcmRzIGNvbXBhdC5cbi8qIGlz
dGFuYnVsIGlnbm9yZSBuZXh0ICovXG5wcm90b3R5cGVBY2Nlc3NvcnMuY2hpbGQuZ2V0ID0gZnVu
Y3Rpb24gKCkge1xuICByZXR1cm4gdGhpcy5jb21wb25lbnRJbnN0YW5jZVxufTtcblxuT2JqZWN0
LmRlZmluZVByb3BlcnRpZXMoIFZOb2RlLnByb3RvdHlwZSwgcHJvdG90eXBlQWNjZXNzb3JzICk7
XG5cbnZhciBjcmVhdGVFbXB0eVZOb2RlID0gZnVuY3Rpb24gKHRleHQpIHtcbiAgaWYgKCB0ZXh0
ID09PSB2b2lkIDAgKSB0ZXh0ID0gJyc7XG5cbiAgdmFyIG5vZGUgPSBuZXcgVk5vZGUoKTtcbiAg
bm9kZS50ZXh0ID0gdGV4dDtcbiAgbm9kZS5pc0NvbW1lbnQgPSB0cnVlO1xuICByZXR1cm4gbm9k
ZVxufTtcblxuZnVuY3Rpb24gY3JlYXRlVGV4dFZOb2RlICh2YWwpIHtcbiAgcmV0dXJuIG5ldyBW
Tm9kZSh1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBTdHJpbmcodmFsKSlcbn1cblxu
Ly8gb3B0aW1pemVkIHNoYWxsb3cgY2xvbmVcbi8vIHVzZWQgZm9yIHN0YXRpYyBub2RlcyBhbmQg
c2xvdCBub2RlcyBiZWNhdXNlIHRoZXkgbWF5IGJlIHJldXNlZCBhY3Jvc3Ncbi8vIG11bHRpcGxl
IHJlbmRlcnMsIGNsb25pbmcgdGhlbSBhdm9pZHMgZXJyb3JzIHdoZW4gRE9NIG1hbmlwdWxhdGlv
bnMgcmVseVxuLy8gb24gdGhlaXIgZWxtIHJlZmVyZW5jZS5cbmZ1bmN0aW9uIGNsb25lVk5vZGUg
KHZub2RlKSB7XG4gIHZhciBjbG9uZWQgPSBuZXcgVk5vZGUoXG4gICAgdm5vZGUudGFnLFxuICAg
IHZub2RlLmRhdGEsXG4gICAgdm5vZGUuY2hpbGRyZW4sXG4gICAgdm5vZGUudGV4dCxcbiAgICB2
bm9kZS5lbG0sXG4gICAgdm5vZGUuY29udGV4dCxcbiAgICB2bm9kZS5jb21wb25lbnRPcHRpb25z
LFxuICAgIHZub2RlLmFzeW5jRmFjdG9yeVxuICApO1xuICBjbG9uZWQubnMgPSB2bm9kZS5ucztc
biAgY2xvbmVkLmlzU3RhdGljID0gdm5vZGUuaXNTdGF0aWM7XG4gIGNsb25lZC5rZXkgPSB2bm9k
ZS5rZXk7XG4gIGNsb25lZC5pc0NvbW1lbnQgPSB2bm9kZS5pc0NvbW1lbnQ7XG4gIGNsb25lZC5p
c0Nsb25lZCA9IHRydWU7XG4gIHJldHVybiBjbG9uZWRcbn1cblxuZnVuY3Rpb24gY2xvbmVWTm9k
ZXMgKHZub2Rlcykge1xuICB2YXIgbGVuID0gdm5vZGVzLmxlbmd0aDtcbiAgdmFyIHJlcyA9IG5l
dyBBcnJheShsZW4pO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgcmVz
W2ldID0gY2xvbmVWTm9kZSh2bm9kZXNbaV0pO1xuICB9XG4gIHJldHVybiByZXNcbn1cblxuLyog
ICovXG5cbnZhciBub3JtYWxpemVFdmVudCA9IGNhY2hlZChmdW5jdGlvbiAobmFtZSkge1xuICB2
YXIgcGFzc2l2ZSA9IG5hbWUuY2hhckF0KDApID09PSAnJic7XG4gIG5hbWUgPSBwYXNzaXZlID8g
bmFtZS5zbGljZSgxKSA6IG5hbWU7XG4gIHZhciBvbmNlJCQxID0gbmFtZS5jaGFyQXQoMCkgPT09
ICd+JzsgLy8gUHJlZml4ZWQgbGFzdCwgY2hlY2tlZCBmaXJzdFxuICBuYW1lID0gb25jZSQkMSA/
IG5hbWUuc2xpY2UoMSkgOiBuYW1lO1xuICB2YXIgY2FwdHVyZSA9IG5hbWUuY2hhckF0KDApID09
PSAnISc7XG4gIG5hbWUgPSBjYXB0dXJlID8gbmFtZS5zbGljZSgxKSA6IG5hbWU7XG4gIHJldHVy
biB7XG4gICAgbmFtZTogbmFtZSxcbiAgICBvbmNlOiBvbmNlJCQxLFxuICAgIGNhcHR1cmU6IGNh
cHR1cmUsXG4gICAgcGFzc2l2ZTogcGFzc2l2ZVxuICB9XG59KTtcblxuZnVuY3Rpb24gY3JlYXRl
Rm5JbnZva2VyIChmbnMpIHtcbiAgZnVuY3Rpb24gaW52b2tlciAoKSB7XG4gICAgdmFyIGFyZ3Vt
ZW50cyQxID0gYXJndW1lbnRzO1xuXG4gICAgdmFyIGZucyA9IGludm9rZXIuZm5zO1xuICAgIGlm
IChBcnJheS5pc0FycmF5KGZucykpIHtcbiAgICAgIHZhciBjbG9uZWQgPSBmbnMuc2xpY2UoKTtc
biAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2xvbmVkLmxlbmd0aDsgaSsrKSB7XG4gICAgICAg
IGNsb25lZFtpXS5hcHBseShudWxsLCBhcmd1bWVudHMkMSk7XG4gICAgICB9XG4gICAgfSBlbHNl
IHtcbiAgICAgIC8vIHJldHVybiBoYW5kbGVyIHJldHVybiB2YWx1ZSBmb3Igc2luZ2xlIGhhbmRs
ZXJzXG4gICAgICByZXR1cm4gZm5zLmFwcGx5KG51bGwsIGFyZ3VtZW50cylcbiAgICB9XG4gIH1c
biAgaW52b2tlci5mbnMgPSBmbnM7XG4gIHJldHVybiBpbnZva2VyXG59XG5cbmZ1bmN0aW9uIHVw
ZGF0ZUxpc3RlbmVycyAoXG4gIG9uLFxuICBvbGRPbixcbiAgYWRkLFxuICByZW1vdmUkJDEsXG4g
IHZtXG4pIHtcbiAgdmFyIG5hbWUsIGN1ciwgb2xkLCBldmVudDtcbiAgZm9yIChuYW1lIGluIG9u
KSB7XG4gICAgY3VyID0gb25bbmFtZV07XG4gICAgb2xkID0gb2xkT25bbmFtZV07XG4gICAgZXZl
bnQgPSBub3JtYWxpemVFdmVudChuYW1lKTtcbiAgICBpZiAoaXNVbmRlZihjdXIpKSB7XG4gICAg
ICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4oXG4gICAgICAg
IFwiSW52YWxpZCBoYW5kbGVyIGZvciBldmVudCBcXFwiXCIgKyAoZXZlbnQubmFtZSkgKyBcIlxc
XCI6IGdvdCBcIiArIFN0cmluZyhjdXIpLFxuICAgICAgICB2bVxuICAgICAgKTtcbiAgICB9IGVs
c2UgaWYgKGlzVW5kZWYob2xkKSkge1xuICAgICAgaWYgKGlzVW5kZWYoY3VyLmZucykpIHtcbiAg
ICAgICAgY3VyID0gb25bbmFtZV0gPSBjcmVhdGVGbkludm9rZXIoY3VyKTtcbiAgICAgIH1cbiAg
ICAgIGFkZChldmVudC5uYW1lLCBjdXIsIGV2ZW50Lm9uY2UsIGV2ZW50LmNhcHR1cmUsIGV2ZW50
LnBhc3NpdmUpO1xuICAgIH0gZWxzZSBpZiAoY3VyICE9PSBvbGQpIHtcbiAgICAgIG9sZC5mbnMg
PSBjdXI7XG4gICAgICBvbltuYW1lXSA9IG9sZDtcbiAgICB9XG4gIH1cbiAgZm9yIChuYW1lIGlu
IG9sZE9uKSB7XG4gICAgaWYgKGlzVW5kZWYob25bbmFtZV0pKSB7XG4gICAgICBldmVudCA9IG5v
cm1hbGl6ZUV2ZW50KG5hbWUpO1xuICAgICAgcmVtb3ZlJCQxKGV2ZW50Lm5hbWUsIG9sZE9uW25h
bWVdLCBldmVudC5jYXB0dXJlKTtcbiAgICB9XG4gIH1cbn1cblxuLyogICovXG5cbmZ1bmN0aW9u
IG1lcmdlVk5vZGVIb29rIChkZWYsIGhvb2tLZXksIGhvb2spIHtcbiAgdmFyIGludm9rZXI7XG4g
IHZhciBvbGRIb29rID0gZGVmW2hvb2tLZXldO1xuXG4gIGZ1bmN0aW9uIHdyYXBwZWRIb29rICgp
IHtcbiAgICBob29rLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgLy8gaW1wb3J0YW50OiBy
ZW1vdmUgbWVyZ2VkIGhvb2sgdG8gZW5zdXJlIGl0J3MgY2FsbGVkIG9ubHkgb25jZVxuICAgIC8v
IGFuZCBwcmV2ZW50IG1lbW9yeSBsZWFrXG4gICAgcmVtb3ZlKGludm9rZXIuZm5zLCB3cmFwcGVk
SG9vayk7XG4gIH1cblxuICBpZiAoaXNVbmRlZihvbGRIb29rKSkge1xuICAgIC8vIG5vIGV4aXN0
aW5nIGhvb2tcbiAgICBpbnZva2VyID0gY3JlYXRlRm5JbnZva2VyKFt3cmFwcGVkSG9va10pO1xu
ICB9IGVsc2Uge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChpc0RlZihv
bGRIb29rLmZucykgJiYgaXNUcnVlKG9sZEhvb2subWVyZ2VkKSkge1xuICAgICAgLy8gYWxyZWFk
eSBhIG1lcmdlZCBpbnZva2VyXG4gICAgICBpbnZva2VyID0gb2xkSG9vaztcbiAgICAgIGludm9r
ZXIuZm5zLnB1c2god3JhcHBlZEhvb2spO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBleGlzdGlu
ZyBwbGFpbiBob29rXG4gICAgICBpbnZva2VyID0gY3JlYXRlRm5JbnZva2VyKFtvbGRIb29rLCB3
cmFwcGVkSG9va10pO1xuICAgIH1cbiAgfVxuXG4gIGludm9rZXIubWVyZ2VkID0gdHJ1ZTtcbiAg
ZGVmW2hvb2tLZXldID0gaW52b2tlcjtcbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGV4dHJhY3RQ
cm9wc0Zyb21WTm9kZURhdGEgKFxuICBkYXRhLFxuICBDdG9yLFxuICB0YWdcbikge1xuICAvLyB3
ZSBhcmUgb25seSBleHRyYWN0aW5nIHJhdyB2YWx1ZXMgaGVyZS5cbiAgLy8gdmFsaWRhdGlvbiBh
bmQgZGVmYXVsdCB2YWx1ZXMgYXJlIGhhbmRsZWQgaW4gdGhlIGNoaWxkXG4gIC8vIGNvbXBvbmVu
dCBpdHNlbGYuXG4gIHZhciBwcm9wT3B0aW9ucyA9IEN0b3Iub3B0aW9ucy5wcm9wcztcbiAgaWYg
KGlzVW5kZWYocHJvcE9wdGlvbnMpKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIHJlcyA9IHt9
O1xuICB2YXIgYXR0cnMgPSBkYXRhLmF0dHJzO1xuICB2YXIgcHJvcHMgPSBkYXRhLnByb3BzO1xu
ICBpZiAoaXNEZWYoYXR0cnMpIHx8IGlzRGVmKHByb3BzKSkge1xuICAgIGZvciAodmFyIGtleSBp
biBwcm9wT3B0aW9ucykge1xuICAgICAgdmFyIGFsdEtleSA9IGh5cGhlbmF0ZShrZXkpO1xuICAg
ICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAg
dmFyIGtleUluTG93ZXJDYXNlID0ga2V5LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmIChcbiAg
ICAgICAgICBrZXkgIT09IGtleUluTG93ZXJDYXNlICYmXG4gICAgICAgICAgYXR0cnMgJiYgaGFz
T3duKGF0dHJzLCBrZXlJbkxvd2VyQ2FzZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGlwKFxu
ICAgICAgICAgICAgXCJQcm9wIFxcXCJcIiArIGtleUluTG93ZXJDYXNlICsgXCJcXFwiIGlzIHBh
c3NlZCB0byBjb21wb25lbnQgXCIgK1xuICAgICAgICAgICAgKGZvcm1hdENvbXBvbmVudE5hbWUo
dGFnIHx8IEN0b3IpKSArIFwiLCBidXQgdGhlIGRlY2xhcmVkIHByb3AgbmFtZSBpc1wiICtcbiAg
ICAgICAgICAgIFwiIFxcXCJcIiArIGtleSArIFwiXFxcIi4gXCIgK1xuICAgICAgICAgICAgXCJO
b3RlIHRoYXQgSFRNTCBhdHRyaWJ1dGVzIGFyZSBjYXNlLWluc2Vuc2l0aXZlIGFuZCBjYW1lbENh
c2VkIFwiICtcbiAgICAgICAgICAgIFwicHJvcHMgbmVlZCB0byB1c2UgdGhlaXIga2ViYWItY2Fz
ZSBlcXVpdmFsZW50cyB3aGVuIHVzaW5nIGluLURPTSBcIiArXG4gICAgICAgICAgICBcInRlbXBs
YXRlcy4gWW91IHNob3VsZCBwcm9iYWJseSB1c2UgXFxcIlwiICsgYWx0S2V5ICsgXCJcXFwiIGlu
c3RlYWQgb2YgXFxcIlwiICsga2V5ICsgXCJcXFwiLlwiXG4gICAgICAgICAgKTtcbiAgICAgICAg
fVxuICAgICAgfVxuICAgICAgY2hlY2tQcm9wKHJlcywgcHJvcHMsIGtleSwgYWx0S2V5LCB0cnVl
KSB8fFxuICAgICAgY2hlY2tQcm9wKHJlcywgYXR0cnMsIGtleSwgYWx0S2V5LCBmYWxzZSk7XG4g
ICAgfVxuICB9XG4gIHJldHVybiByZXNcbn1cblxuZnVuY3Rpb24gY2hlY2tQcm9wIChcbiAgcmVz
LFxuICBoYXNoLFxuICBrZXksXG4gIGFsdEtleSxcbiAgcHJlc2VydmVcbikge1xuICBpZiAoaXNE
ZWYoaGFzaCkpIHtcbiAgICBpZiAoaGFzT3duKGhhc2gsIGtleSkpIHtcbiAgICAgIHJlc1trZXld
ID0gaGFzaFtrZXldO1xuICAgICAgaWYgKCFwcmVzZXJ2ZSkge1xuICAgICAgICBkZWxldGUgaGFz
aFtrZXldO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGVsc2UgaWYgKGhhc093
bihoYXNoLCBhbHRLZXkpKSB7XG4gICAgICByZXNba2V5XSA9IGhhc2hbYWx0S2V5XTtcbiAgICAg
IGlmICghcHJlc2VydmUpIHtcbiAgICAgICAgZGVsZXRlIGhhc2hbYWx0S2V5XTtcbiAgICAgIH1c
biAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG4vKiAg
Ki9cblxuLy8gVGhlIHRlbXBsYXRlIGNvbXBpbGVyIGF0dGVtcHRzIHRvIG1pbmltaXplIHRoZSBu
ZWVkIGZvciBub3JtYWxpemF0aW9uIGJ5XG4vLyBzdGF0aWNhbGx5IGFuYWx5emluZyB0aGUgdGVt
cGxhdGUgYXQgY29tcGlsZSB0aW1lLlxuLy9cbi8vIEZvciBwbGFpbiBIVE1MIG1hcmt1cCwgbm9y
bWFsaXphdGlvbiBjYW4gYmUgY29tcGxldGVseSBza2lwcGVkIGJlY2F1c2UgdGhlXG4vLyBnZW5l
cmF0ZWQgcmVuZGVyIGZ1bmN0aW9uIGlzIGd1YXJhbnRlZWQgdG8gcmV0dXJuIEFycmF5PFZOb2Rl
Pi4gVGhlcmUgYXJlXG4vLyB0d28gY2FzZXMgd2hlcmUgZXh0cmEgbm9ybWFsaXphdGlvbiBpcyBu
ZWVkZWQ6XG5cbi8vIDEuIFdoZW4gdGhlIGNoaWxkcmVuIGNvbnRhaW5zIGNvbXBvbmVudHMgLSBi
ZWNhdXNlIGEgZnVuY3Rpb25hbCBjb21wb25lbnRcbi8vIG1heSByZXR1cm4gYW4gQXJyYXkgaW5z
dGVhZCBvZiBhIHNpbmdsZSByb290LiBJbiB0aGlzIGNhc2UsIGp1c3QgYSBzaW1wbGVcbi8vIG5v
cm1hbGl6YXRpb24gaXMgbmVlZGVkIC0gaWYgYW55IGNoaWxkIGlzIGFuIEFycmF5LCB3ZSBmbGF0
dGVuIHRoZSB3aG9sZVxuLy8gdGhpbmcgd2l0aCBBcnJheS5wcm90b3R5cGUuY29uY2F0LiBJdCBp
cyBndWFyYW50ZWVkIHRvIGJlIG9ubHkgMS1sZXZlbCBkZWVwXG4vLyBiZWNhdXNlIGZ1bmN0aW9u
YWwgY29tcG9uZW50cyBhbHJlYWR5IG5vcm1hbGl6ZSB0aGVpciBvd24gY2hpbGRyZW4uXG5mdW5j
dGlvbiBzaW1wbGVOb3JtYWxpemVDaGlsZHJlbiAoY2hpbGRyZW4pIHtcbiAgZm9yICh2YXIgaSA9
IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGNo
aWxkcmVuW2ldKSkge1xuICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHko
W10sIGNoaWxkcmVuKVxuICAgIH1cbiAgfVxuICByZXR1cm4gY2hpbGRyZW5cbn1cblxuLy8gMi4g
V2hlbiB0aGUgY2hpbGRyZW4gY29udGFpbnMgY29uc3RydWN0cyB0aGF0IGFsd2F5cyBnZW5lcmF0
ZWQgbmVzdGVkIEFycmF5cyxcbi8vIGUuZy4gPHRlbXBsYXRlPiwgPHNsb3Q+LCB2LWZvciwgb3Ig
d2hlbiB0aGUgY2hpbGRyZW4gaXMgcHJvdmlkZWQgYnkgdXNlclxuLy8gd2l0aCBoYW5kLXdyaXR0
ZW4gcmVuZGVyIGZ1bmN0aW9ucyAvIEpTWC4gSW4gc3VjaCBjYXNlcyBhIGZ1bGwgbm9ybWFsaXph
dGlvblxuLy8gaXMgbmVlZGVkIHRvIGNhdGVyIHRvIGFsbCBwb3NzaWJsZSB0eXBlcyBvZiBjaGls
ZHJlbiB2YWx1ZXMuXG5mdW5jdGlvbiBub3JtYWxpemVDaGlsZHJlbiAoY2hpbGRyZW4pIHtcbiAg
cmV0dXJuIGlzUHJpbWl0aXZlKGNoaWxkcmVuKVxuICAgID8gW2NyZWF0ZVRleHRWTm9kZShjaGls
ZHJlbildXG4gICAgOiBBcnJheS5pc0FycmF5KGNoaWxkcmVuKVxuICAgICAgPyBub3JtYWxpemVB
cnJheUNoaWxkcmVuKGNoaWxkcmVuKVxuICAgICAgOiB1bmRlZmluZWRcbn1cblxuZnVuY3Rpb24g
aXNUZXh0Tm9kZSAobm9kZSkge1xuICByZXR1cm4gaXNEZWYobm9kZSkgJiYgaXNEZWYobm9kZS50
ZXh0KSAmJiBpc0ZhbHNlKG5vZGUuaXNDb21tZW50KVxufVxuXG5mdW5jdGlvbiBub3JtYWxpemVB
cnJheUNoaWxkcmVuIChjaGlsZHJlbiwgbmVzdGVkSW5kZXgpIHtcbiAgdmFyIHJlcyA9IFtdO1xu
ICB2YXIgaSwgYywgbGFzdDtcbiAgZm9yIChpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsr
KSB7XG4gICAgYyA9IGNoaWxkcmVuW2ldO1xuICAgIGlmIChpc1VuZGVmKGMpIHx8IHR5cGVvZiBj
ID09PSAnYm9vbGVhbicpIHsgY29udGludWUgfVxuICAgIGxhc3QgPSByZXNbcmVzLmxlbmd0aCAt
IDFdO1xuICAgIC8vICBuZXN0ZWRcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjKSkge1xuICAgICAg
cmVzLnB1c2guYXBwbHkocmVzLCBub3JtYWxpemVBcnJheUNoaWxkcmVuKGMsICgobmVzdGVkSW5k
ZXggfHwgJycpICsgXCJfXCIgKyBpKSkpO1xuICAgIH0gZWxzZSBpZiAoaXNQcmltaXRpdmUoYykp
IHtcbiAgICAgIGlmIChpc1RleHROb2RlKGxhc3QpKSB7XG4gICAgICAgIC8vIG1lcmdlIGFkamFj
ZW50IHRleHQgbm9kZXNcbiAgICAgICAgLy8gdGhpcyBpcyBuZWNlc3NhcnkgZm9yIFNTUiBoeWRy
YXRpb24gYmVjYXVzZSB0ZXh0IG5vZGVzIGFyZVxuICAgICAgICAvLyBlc3NlbnRpYWxseSBtZXJn
ZWQgd2hlbiByZW5kZXJlZCB0byBIVE1MIHN0cmluZ3NcbiAgICAgICAgKGxhc3QpLnRleHQgKz0g
U3RyaW5nKGMpO1xuICAgICAgfSBlbHNlIGlmIChjICE9PSAnJykge1xuICAgICAgICAvLyBjb252
ZXJ0IHByaW1pdGl2ZSB0byB2bm9kZVxuICAgICAgICByZXMucHVzaChjcmVhdGVUZXh0Vk5vZGUo
YykpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaXNUZXh0Tm9kZShjKSAmJiBp
c1RleHROb2RlKGxhc3QpKSB7XG4gICAgICAgIC8vIG1lcmdlIGFkamFjZW50IHRleHQgbm9kZXNc
biAgICAgICAgcmVzW3Jlcy5sZW5ndGggLSAxXSA9IGNyZWF0ZVRleHRWTm9kZShsYXN0LnRleHQg
KyBjLnRleHQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gZGVmYXVsdCBrZXkgZm9yIG5l
c3RlZCBhcnJheSBjaGlsZHJlbiAobGlrZWx5IGdlbmVyYXRlZCBieSB2LWZvcilcbiAgICAgICAg
aWYgKGlzVHJ1ZShjaGlsZHJlbi5faXNWTGlzdCkgJiZcbiAgICAgICAgICBpc0RlZihjLnRhZykg
JiZcbiAgICAgICAgICBpc1VuZGVmKGMua2V5KSAmJlxuICAgICAgICAgIGlzRGVmKG5lc3RlZElu
ZGV4KSkge1xuICAgICAgICAgIGMua2V5ID0gXCJfX3ZsaXN0XCIgKyBuZXN0ZWRJbmRleCArIFwi
X1wiICsgaSArIFwiX19cIjtcbiAgICAgICAgfVxuICAgICAgICByZXMucHVzaChjKTtcbiAgICAg
IH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gZW5z
dXJlQ3RvciAoY29tcCwgYmFzZSkge1xuICBpZiAoY29tcC5fX2VzTW9kdWxlICYmIGNvbXAuZGVm
YXVsdCkge1xuICAgIGNvbXAgPSBjb21wLmRlZmF1bHQ7XG4gIH1cbiAgcmV0dXJuIGlzT2JqZWN0
KGNvbXApXG4gICAgPyBiYXNlLmV4dGVuZChjb21wKVxuICAgIDogY29tcFxufVxuXG5mdW5jdGlv
biBjcmVhdGVBc3luY1BsYWNlaG9sZGVyIChcbiAgZmFjdG9yeSxcbiAgZGF0YSxcbiAgY29udGV4
dCxcbiAgY2hpbGRyZW4sXG4gIHRhZ1xuKSB7XG4gIHZhciBub2RlID0gY3JlYXRlRW1wdHlWTm9k
ZSgpO1xuICBub2RlLmFzeW5jRmFjdG9yeSA9IGZhY3Rvcnk7XG4gIG5vZGUuYXN5bmNNZXRhID0g
eyBkYXRhOiBkYXRhLCBjb250ZXh0OiBjb250ZXh0LCBjaGlsZHJlbjogY2hpbGRyZW4sIHRhZzog
dGFnIH07XG4gIHJldHVybiBub2RlXG59XG5cbmZ1bmN0aW9uIHJlc29sdmVBc3luY0NvbXBvbmVu
dCAoXG4gIGZhY3RvcnksXG4gIGJhc2VDdG9yLFxuICBjb250ZXh0XG4pIHtcbiAgaWYgKGlzVHJ1
ZShmYWN0b3J5LmVycm9yKSAmJiBpc0RlZihmYWN0b3J5LmVycm9yQ29tcCkpIHtcbiAgICByZXR1
cm4gZmFjdG9yeS5lcnJvckNvbXBcbiAgfVxuXG4gIGlmIChpc0RlZihmYWN0b3J5LnJlc29sdmVk
KSkge1xuICAgIHJldHVybiBmYWN0b3J5LnJlc29sdmVkXG4gIH1cblxuICBpZiAoaXNUcnVlKGZh
Y3RvcnkubG9hZGluZykgJiYgaXNEZWYoZmFjdG9yeS5sb2FkaW5nQ29tcCkpIHtcbiAgICByZXR1
cm4gZmFjdG9yeS5sb2FkaW5nQ29tcFxuICB9XG5cbiAgaWYgKGlzRGVmKGZhY3RvcnkuY29udGV4
dHMpKSB7XG4gICAgLy8gYWxyZWFkeSBwZW5kaW5nXG4gICAgZmFjdG9yeS5jb250ZXh0cy5wdXNo
KGNvbnRleHQpO1xuICB9IGVsc2Uge1xuICAgIHZhciBjb250ZXh0cyA9IGZhY3RvcnkuY29udGV4
dHMgPSBbY29udGV4dF07XG4gICAgdmFyIHN5bmMgPSB0cnVlO1xuXG4gICAgdmFyIGZvcmNlUmVu
ZGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBjb250ZXh0cy5s
ZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgY29udGV4dHNbaV0uJGZvcmNlVXBkYXRlKCk7
XG4gICAgICB9XG4gICAgfTtcblxuICAgIHZhciByZXNvbHZlID0gb25jZShmdW5jdGlvbiAocmVz
KSB7XG4gICAgICAvLyBjYWNoZSByZXNvbHZlZFxuICAgICAgZmFjdG9yeS5yZXNvbHZlZCA9IGVu
c3VyZUN0b3IocmVzLCBiYXNlQ3Rvcik7XG4gICAgICAvLyBpbnZva2UgY2FsbGJhY2tzIG9ubHkg
aWYgdGhpcyBpcyBub3QgYSBzeW5jaHJvbm91cyByZXNvbHZlXG4gICAgICAvLyAoYXN5bmMgcmVz
b2x2ZXMgYXJlIHNoaW1tZWQgYXMgc3luY2hyb25vdXMgZHVyaW5nIFNTUilcbiAgICAgIGlmICgh
c3luYykge1xuICAgICAgICBmb3JjZVJlbmRlcigpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAg
dmFyIHJlamVjdCA9IG9uY2UoZnVuY3Rpb24gKHJlYXNvbikge1xuICAgICAgcHJvY2Vzcy5lbnYu
Tk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgICBcIkZhaWxlZCB0byBy
ZXNvbHZlIGFzeW5jIGNvbXBvbmVudDogXCIgKyAoU3RyaW5nKGZhY3RvcnkpKSArXG4gICAgICAg
IChyZWFzb24gPyAoXCJcXG5SZWFzb246IFwiICsgcmVhc29uKSA6ICcnKVxuICAgICAgKTtcbiAg
ICAgIGlmIChpc0RlZihmYWN0b3J5LmVycm9yQ29tcCkpIHtcbiAgICAgICAgZmFjdG9yeS5lcnJv
ciA9IHRydWU7XG4gICAgICAgIGZvcmNlUmVuZGVyKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAg
ICB2YXIgcmVzID0gZmFjdG9yeShyZXNvbHZlLCByZWplY3QpO1xuXG4gICAgaWYgKGlzT2JqZWN0
KHJlcykpIHtcbiAgICAgIGlmICh0eXBlb2YgcmVzLnRoZW4gPT09ICdmdW5jdGlvbicpIHtcbiAg
ICAgICAgLy8gKCkgPT4gUHJvbWlzZVxuICAgICAgICBpZiAoaXNVbmRlZihmYWN0b3J5LnJlc29s
dmVkKSkge1xuICAgICAgICAgIHJlcy50aGVuKHJlc29sdmUsIHJlamVjdCk7XG4gICAgICAgIH1c
biAgICAgIH0gZWxzZSBpZiAoaXNEZWYocmVzLmNvbXBvbmVudCkgJiYgdHlwZW9mIHJlcy5jb21w
b25lbnQudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXMuY29tcG9uZW50LnRoZW4o
cmVzb2x2ZSwgcmVqZWN0KTtcblxuICAgICAgICBpZiAoaXNEZWYocmVzLmVycm9yKSkge1xuICAg
ICAgICAgIGZhY3RvcnkuZXJyb3JDb21wID0gZW5zdXJlQ3RvcihyZXMuZXJyb3IsIGJhc2VDdG9y
KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc0RlZihyZXMubG9hZGluZykpIHtcbiAgICAg
ICAgICBmYWN0b3J5LmxvYWRpbmdDb21wID0gZW5zdXJlQ3RvcihyZXMubG9hZGluZywgYmFzZUN0
b3IpO1xuICAgICAgICAgIGlmIChyZXMuZGVsYXkgPT09IDApIHtcbiAgICAgICAgICAgIGZhY3Rv
cnkubG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNldFRp
bWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICBpZiAoaXNVbmRlZihmYWN0b3J5LnJl
c29sdmVkKSAmJiBpc1VuZGVmKGZhY3RvcnkuZXJyb3IpKSB7XG4gICAgICAgICAgICAgICAgZmFj
dG9yeS5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBmb3JjZVJlbmRlcigpO1xuICAg
ICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCByZXMuZGVsYXkgfHwgMjAwKTtcbiAgICAgICAg
ICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNEZWYocmVzLnRpbWVvdXQpKSB7XG4gICAg
ICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoaXNVbmRlZihm
YWN0b3J5LnJlc29sdmVkKSkge1xuICAgICAgICAgICAgICByZWplY3QoXG4gICAgICAgICAgICAg
ICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJ1xuICAgICAgICAgICAgICAg
ICAgPyAoXCJ0aW1lb3V0IChcIiArIChyZXMudGltZW91dCkgKyBcIm1zKVwiKVxuICAgICAgICAg
ICAgICAgICAgOiBudWxsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAg
ICAgfSwgcmVzLnRpbWVvdXQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3lu
YyA9IGZhbHNlO1xuICAgIC8vIHJldHVybiBpbiBjYXNlIHJlc29sdmVkIHN5bmNocm9ub3VzbHlc
biAgICByZXR1cm4gZmFjdG9yeS5sb2FkaW5nXG4gICAgICA/IGZhY3RvcnkubG9hZGluZ0NvbXBc
biAgICAgIDogZmFjdG9yeS5yZXNvbHZlZFxuICB9XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBn
ZXRGaXJzdENvbXBvbmVudENoaWxkIChjaGlsZHJlbikge1xuICBpZiAoQXJyYXkuaXNBcnJheShj
aGlsZHJlbikpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsr
KSB7XG4gICAgICB2YXIgYyA9IGNoaWxkcmVuW2ldO1xuICAgICAgaWYgKGlzRGVmKGMpICYmIGlz
RGVmKGMuY29tcG9uZW50T3B0aW9ucykpIHtcbiAgICAgICAgcmV0dXJuIGNcbiAgICAgIH1cbiAg
ICB9XG4gIH1cbn1cblxuLyogICovXG5cbi8qICAqL1xuXG5mdW5jdGlvbiBpbml0RXZlbnRzICh2
bSkge1xuICB2bS5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgdm0uX2hhc0hvb2tF
dmVudCA9IGZhbHNlO1xuICAvLyBpbml0IHBhcmVudCBhdHRhY2hlZCBldmVudHNcbiAgdmFyIGxp
c3RlbmVycyA9IHZtLiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnM7XG4gIGlmIChsaXN0ZW5lcnMp
IHtcbiAgICB1cGRhdGVDb21wb25lbnRMaXN0ZW5lcnModm0sIGxpc3RlbmVycyk7XG4gIH1cbn1c
blxudmFyIHRhcmdldDtcblxuZnVuY3Rpb24gYWRkIChldmVudCwgZm4sIG9uY2UkJDEpIHtcbiAg
aWYgKG9uY2UkJDEpIHtcbiAgICB0YXJnZXQuJG9uY2UoZXZlbnQsIGZuKTtcbiAgfSBlbHNlIHtc
biAgICB0YXJnZXQuJG9uKGV2ZW50LCBmbik7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVtb3ZlJDEg
KGV2ZW50LCBmbikge1xuICB0YXJnZXQuJG9mZihldmVudCwgZm4pO1xufVxuXG5mdW5jdGlvbiB1
cGRhdGVDb21wb25lbnRMaXN0ZW5lcnMgKFxuICB2bSxcbiAgbGlzdGVuZXJzLFxuICBvbGRMaXN0
ZW5lcnNcbikge1xuICB0YXJnZXQgPSB2bTtcbiAgdXBkYXRlTGlzdGVuZXJzKGxpc3RlbmVycywg
b2xkTGlzdGVuZXJzIHx8IHt9LCBhZGQsIHJlbW92ZSQxLCB2bSk7XG59XG5cbmZ1bmN0aW9uIGV2
ZW50c01peGluIChWdWUpIHtcbiAgdmFyIGhvb2tSRSA9IC9eaG9vazovO1xuICBWdWUucHJvdG90
eXBlLiRvbiA9IGZ1bmN0aW9uIChldmVudCwgZm4pIHtcbiAgICB2YXIgdGhpcyQxID0gdGhpcztc
blxuICAgIHZhciB2bSA9IHRoaXM7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZXZlbnQpKSB7XG4g
ICAgICBmb3IgKHZhciBpID0gMCwgbCA9IGV2ZW50Lmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAg
ICAgICB0aGlzJDEuJG9uKGV2ZW50W2ldLCBmbik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAg
ICAgICh2bS5fZXZlbnRzW2V2ZW50XSB8fCAodm0uX2V2ZW50c1tldmVudF0gPSBbXSkpLnB1c2go
Zm4pO1xuICAgICAgLy8gb3B0aW1pemUgaG9vazpldmVudCBjb3N0IGJ5IHVzaW5nIGEgYm9vbGVh
biBmbGFnIG1hcmtlZCBhdCByZWdpc3RyYXRpb25cbiAgICAgIC8vIGluc3RlYWQgb2YgYSBoYXNo
IGxvb2t1cFxuICAgICAgaWYgKGhvb2tSRS50ZXN0KGV2ZW50KSkge1xuICAgICAgICB2bS5faGFz
SG9va0V2ZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZtXG4gIH07XG5c
biAgVnVlLnByb3RvdHlwZS4kb25jZSA9IGZ1bmN0aW9uIChldmVudCwgZm4pIHtcbiAgICB2YXIg
dm0gPSB0aGlzO1xuICAgIGZ1bmN0aW9uIG9uICgpIHtcbiAgICAgIHZtLiRvZmYoZXZlbnQsIG9u
KTtcbiAgICAgIGZuLmFwcGx5KHZtLCBhcmd1bWVudHMpO1xuICAgIH1cbiAgICBvbi5mbiA9IGZu
O1xuICAgIHZtLiRvbihldmVudCwgb24pO1xuICAgIHJldHVybiB2bVxuICB9O1xuXG4gIFZ1ZS5w
cm90b3R5cGUuJG9mZiA9IGZ1bmN0aW9uIChldmVudCwgZm4pIHtcbiAgICB2YXIgdGhpcyQxID0g
dGhpcztcblxuICAgIHZhciB2bSA9IHRoaXM7XG4gICAgLy8gYWxsXG4gICAgaWYgKCFhcmd1bWVu
dHMubGVuZ3RoKSB7XG4gICAgICB2bS5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAg
ICAgIHJldHVybiB2bVxuICAgIH1cbiAgICAvLyBhcnJheSBvZiBldmVudHNcbiAgICBpZiAoQXJy
YXkuaXNBcnJheShldmVudCkpIHtcbiAgICAgIGZvciAodmFyIGkkMSA9IDAsIGwgPSBldmVudC5s
ZW5ndGg7IGkkMSA8IGw7IGkkMSsrKSB7XG4gICAgICAgIHRoaXMkMS4kb2ZmKGV2ZW50W2kkMV0s
IGZuKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2bVxuICAgIH1cbiAgICAvLyBzcGVjaWZpYyBl
dmVudFxuICAgIHZhciBjYnMgPSB2bS5fZXZlbnRzW2V2ZW50XTtcbiAgICBpZiAoIWNicykge1xu
ICAgICAgcmV0dXJuIHZtXG4gICAgfVxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxKSB7
XG4gICAgICB2bS5fZXZlbnRzW2V2ZW50XSA9IG51bGw7XG4gICAgICByZXR1cm4gdm1cbiAgICB9
XG4gICAgLy8gc3BlY2lmaWMgaGFuZGxlclxuICAgIHZhciBjYjtcbiAgICB2YXIgaSA9IGNicy5s
ZW5ndGg7XG4gICAgd2hpbGUgKGktLSkge1xuICAgICAgY2IgPSBjYnNbaV07XG4gICAgICBpZiAo
Y2IgPT09IGZuIHx8IGNiLmZuID09PSBmbikge1xuICAgICAgICBjYnMuc3BsaWNlKGksIDEpO1xu
ICAgICAgICBicmVha1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdm1cbiAgfTtcblxuICBW
dWUucHJvdG90eXBlLiRlbWl0ID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgdmFyIHZtID0gdGhp
cztcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAg
ICAgdmFyIGxvd2VyQ2FzZUV2ZW50ID0gZXZlbnQudG9Mb3dlckNhc2UoKTtcbiAgICAgIGlmIChs
b3dlckNhc2VFdmVudCAhPT0gZXZlbnQgJiYgdm0uX2V2ZW50c1tsb3dlckNhc2VFdmVudF0pIHtc
biAgICAgICAgdGlwKFxuICAgICAgICAgIFwiRXZlbnQgXFxcIlwiICsgbG93ZXJDYXNlRXZlbnQg
KyBcIlxcXCIgaXMgZW1pdHRlZCBpbiBjb21wb25lbnQgXCIgK1xuICAgICAgICAgIChmb3JtYXRD
b21wb25lbnROYW1lKHZtKSkgKyBcIiBidXQgdGhlIGhhbmRsZXIgaXMgcmVnaXN0ZXJlZCBmb3Ig
XFxcIlwiICsgZXZlbnQgKyBcIlxcXCIuIFwiICtcbiAgICAgICAgICBcIk5vdGUgdGhhdCBIVE1M
IGF0dHJpYnV0ZXMgYXJlIGNhc2UtaW5zZW5zaXRpdmUgYW5kIHlvdSBjYW5ub3QgdXNlIFwiICtc
biAgICAgICAgICBcInYtb24gdG8gbGlzdGVuIHRvIGNhbWVsQ2FzZSBldmVudHMgd2hlbiB1c2lu
ZyBpbi1ET00gdGVtcGxhdGVzLiBcIiArXG4gICAgICAgICAgXCJZb3Ugc2hvdWxkIHByb2JhYmx5
IHVzZSBcXFwiXCIgKyAoaHlwaGVuYXRlKGV2ZW50KSkgKyBcIlxcXCIgaW5zdGVhZCBvZiBcXFwi
XCIgKyBldmVudCArIFwiXFxcIi5cIlxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICB2
YXIgY2JzID0gdm0uX2V2ZW50c1tldmVudF07XG4gICAgaWYgKGNicykge1xuICAgICAgY2JzID0g
Y2JzLmxlbmd0aCA+IDEgPyB0b0FycmF5KGNicykgOiBjYnM7XG4gICAgICB2YXIgYXJncyA9IHRv
QXJyYXkoYXJndW1lbnRzLCAxKTtcbiAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gY2JzLmxlbmd0
aDsgaSA8IGw7IGkrKykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNic1tpXS5hcHBseSh2
bSwgYXJncyk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBoYW5kbGVFcnJvcihl
LCB2bSwgKFwiZXZlbnQgaGFuZGxlciBmb3IgXFxcIlwiICsgZXZlbnQgKyBcIlxcXCJcIikpO1xu
ICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB2bVxuICB9O1xufVxuXG4vKiAg
Ki9cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3IgcmVzb2x2aW5nIHJhdyBjaGlsZHJlbiBW
Tm9kZXMgaW50byBhIHNsb3Qgb2JqZWN0LlxuICovXG5mdW5jdGlvbiByZXNvbHZlU2xvdHMgKFxu
ICBjaGlsZHJlbixcbiAgY29udGV4dFxuKSB7XG4gIHZhciBzbG90cyA9IHt9O1xuICBpZiAoIWNo
aWxkcmVuKSB7XG4gICAgcmV0dXJuIHNsb3RzXG4gIH1cbiAgdmFyIGRlZmF1bHRTbG90ID0gW107
XG4gIGZvciAodmFyIGkgPSAwLCBsID0gY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4g
ICAgdmFyIGNoaWxkID0gY2hpbGRyZW5baV07XG4gICAgLy8gbmFtZWQgc2xvdHMgc2hvdWxkIG9u
bHkgYmUgcmVzcGVjdGVkIGlmIHRoZSB2bm9kZSB3YXMgcmVuZGVyZWQgaW4gdGhlXG4gICAgLy8g
c2FtZSBjb250ZXh0LlxuICAgIGlmICgoY2hpbGQuY29udGV4dCA9PT0gY29udGV4dCB8fCBjaGls
ZC5mdW5jdGlvbmFsQ29udGV4dCA9PT0gY29udGV4dCkgJiZcbiAgICAgIGNoaWxkLmRhdGEgJiYg
Y2hpbGQuZGF0YS5zbG90ICE9IG51bGxcbiAgICApIHtcbiAgICAgIHZhciBuYW1lID0gY2hpbGQu
ZGF0YS5zbG90O1xuICAgICAgdmFyIHNsb3QgPSAoc2xvdHNbbmFtZV0gfHwgKHNsb3RzW25hbWVd
ID0gW10pKTtcbiAgICAgIGlmIChjaGlsZC50YWcgPT09ICd0ZW1wbGF0ZScpIHtcbiAgICAgICAg
c2xvdC5wdXNoLmFwcGx5KHNsb3QsIGNoaWxkLmNoaWxkcmVuKTtcbiAgICAgIH0gZWxzZSB7XG4g
ICAgICAgIHNsb3QucHVzaChjaGlsZCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGRl
ZmF1bHRTbG90LnB1c2goY2hpbGQpO1xuICAgIH1cbiAgfVxuICAvLyBpZ25vcmUgd2hpdGVzcGFj
ZVxuICBpZiAoIWRlZmF1bHRTbG90LmV2ZXJ5KGlzV2hpdGVzcGFjZSkpIHtcbiAgICBzbG90cy5k
ZWZhdWx0ID0gZGVmYXVsdFNsb3Q7XG4gIH1cbiAgcmV0dXJuIHNsb3RzXG59XG5cbmZ1bmN0aW9u
IGlzV2hpdGVzcGFjZSAobm9kZSkge1xuICByZXR1cm4gbm9kZS5pc0NvbW1lbnQgfHwgbm9kZS50
ZXh0ID09PSAnICdcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVNjb3BlZFNsb3RzIChcbiAgZm5zLCAv
LyBzZWUgZmxvdy92bm9kZVxuICByZXNcbikge1xuICByZXMgPSByZXMgfHwge307XG4gIGZvciAo
dmFyIGkgPSAwOyBpIDwgZm5zLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXko
Zm5zW2ldKSkge1xuICAgICAgcmVzb2x2ZVNjb3BlZFNsb3RzKGZuc1tpXSwgcmVzKTtcbiAgICB9
IGVsc2Uge1xuICAgICAgcmVzW2Zuc1tpXS5rZXldID0gZm5zW2ldLmZuO1xuICAgIH1cbiAgfVxu
ICByZXR1cm4gcmVzXG59XG5cbi8qICAqL1xuXG52YXIgYWN0aXZlSW5zdGFuY2UgPSBudWxsO1xu
dmFyIGlzVXBkYXRpbmdDaGlsZENvbXBvbmVudCA9IGZhbHNlO1xuXG5mdW5jdGlvbiBpbml0TGlm
ZWN5Y2xlICh2bSkge1xuICB2YXIgb3B0aW9ucyA9IHZtLiRvcHRpb25zO1xuXG4gIC8vIGxvY2F0
ZSBmaXJzdCBub24tYWJzdHJhY3QgcGFyZW50XG4gIHZhciBwYXJlbnQgPSBvcHRpb25zLnBhcmVu
dDtcbiAgaWYgKHBhcmVudCAmJiAhb3B0aW9ucy5hYnN0cmFjdCkge1xuICAgIHdoaWxlIChwYXJl
bnQuJG9wdGlvbnMuYWJzdHJhY3QgJiYgcGFyZW50LiRwYXJlbnQpIHtcbiAgICAgIHBhcmVudCA9
IHBhcmVudC4kcGFyZW50O1xuICAgIH1cbiAgICBwYXJlbnQuJGNoaWxkcmVuLnB1c2godm0pO1xu
ICB9XG5cbiAgdm0uJHBhcmVudCA9IHBhcmVudDtcbiAgdm0uJHJvb3QgPSBwYXJlbnQgPyBwYXJl
bnQuJHJvb3QgOiB2bTtcblxuICB2bS4kY2hpbGRyZW4gPSBbXTtcbiAgdm0uJHJlZnMgPSB7fTtc
blxuICB2bS5fd2F0Y2hlciA9IG51bGw7XG4gIHZtLl9pbmFjdGl2ZSA9IG51bGw7XG4gIHZtLl9k
aXJlY3RJbmFjdGl2ZSA9IGZhbHNlO1xuICB2bS5faXNNb3VudGVkID0gZmFsc2U7XG4gIHZtLl9p
c0Rlc3Ryb3llZCA9IGZhbHNlO1xuICB2bS5faXNCZWluZ0Rlc3Ryb3llZCA9IGZhbHNlO1xufVxu
XG5mdW5jdGlvbiBsaWZlY3ljbGVNaXhpbiAoVnVlKSB7XG4gIFZ1ZS5wcm90b3R5cGUuX3VwZGF0
ZSA9IGZ1bmN0aW9uICh2bm9kZSwgaHlkcmF0aW5nKSB7XG4gICAgdmFyIHZtID0gdGhpcztcbiAg
ICBpZiAodm0uX2lzTW91bnRlZCkge1xuICAgICAgY2FsbEhvb2sodm0sICdiZWZvcmVVcGRhdGUn
KTtcbiAgICB9XG4gICAgdmFyIHByZXZFbCA9IHZtLiRlbDtcbiAgICB2YXIgcHJldlZub2RlID0g
dm0uX3Zub2RlO1xuICAgIHZhciBwcmV2QWN0aXZlSW5zdGFuY2UgPSBhY3RpdmVJbnN0YW5jZTtc
biAgICBhY3RpdmVJbnN0YW5jZSA9IHZtO1xuICAgIHZtLl92bm9kZSA9IHZub2RlO1xuICAgIC8v
IFZ1ZS5wcm90b3R5cGUuX19wYXRjaF9fIGlzIGluamVjdGVkIGluIGVudHJ5IHBvaW50c1xuICAg
IC8vIGJhc2VkIG9uIHRoZSByZW5kZXJpbmcgYmFja2VuZCB1c2VkLlxuICAgIGlmICghcHJldlZu
b2RlKSB7XG4gICAgICAvLyBpbml0aWFsIHJlbmRlclxuICAgICAgdm0uJGVsID0gdm0uX19wYXRj
aF9fKFxuICAgICAgICB2bS4kZWwsIHZub2RlLCBoeWRyYXRpbmcsIGZhbHNlIC8qIHJlbW92ZU9u
bHkgKi8sXG4gICAgICAgIHZtLiRvcHRpb25zLl9wYXJlbnRFbG0sXG4gICAgICAgIHZtLiRvcHRp
b25zLl9yZWZFbG1cbiAgICAgICk7XG4gICAgICAvLyBubyBuZWVkIGZvciB0aGUgcmVmIG5vZGVz
IGFmdGVyIGluaXRpYWwgcGF0Y2hcbiAgICAgIC8vIHRoaXMgcHJldmVudHMga2VlcGluZyBhIGRl
dGFjaGVkIERPTSB0cmVlIGluIG1lbW9yeSAoIzU4NTEpXG4gICAgICB2bS4kb3B0aW9ucy5fcGFy
ZW50RWxtID0gdm0uJG9wdGlvbnMuX3JlZkVsbSA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAg
IC8vIHVwZGF0ZXNcbiAgICAgIHZtLiRlbCA9IHZtLl9fcGF0Y2hfXyhwcmV2Vm5vZGUsIHZub2Rl
KTtcbiAgICB9XG4gICAgYWN0aXZlSW5zdGFuY2UgPSBwcmV2QWN0aXZlSW5zdGFuY2U7XG4gICAg
Ly8gdXBkYXRlIF9fdnVlX18gcmVmZXJlbmNlXG4gICAgaWYgKHByZXZFbCkge1xuICAgICAgcHJl
dkVsLl9fdnVlX18gPSBudWxsO1xuICAgIH1cbiAgICBpZiAodm0uJGVsKSB7XG4gICAgICB2bS4k
ZWwuX192dWVfXyA9IHZtO1xuICAgIH1cbiAgICAvLyBpZiBwYXJlbnQgaXMgYW4gSE9DLCB1cGRh
dGUgaXRzICRlbCBhcyB3ZWxsXG4gICAgaWYgKHZtLiR2bm9kZSAmJiB2bS4kcGFyZW50ICYmIHZt
LiR2bm9kZSA9PT0gdm0uJHBhcmVudC5fdm5vZGUpIHtcbiAgICAgIHZtLiRwYXJlbnQuJGVsID0g
dm0uJGVsO1xuICAgIH1cbiAgICAvLyB1cGRhdGVkIGhvb2sgaXMgY2FsbGVkIGJ5IHRoZSBzY2hl
ZHVsZXIgdG8gZW5zdXJlIHRoYXQgY2hpbGRyZW4gYXJlXG4gICAgLy8gdXBkYXRlZCBpbiBhIHBh
cmVudCdzIHVwZGF0ZWQgaG9vay5cbiAgfTtcblxuICBWdWUucHJvdG90eXBlLiRmb3JjZVVwZGF0
ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgdm0gPSB0aGlzO1xuICAgIGlmICh2bS5fd2F0Y2hl
cikge1xuICAgICAgdm0uX3dhdGNoZXIudXBkYXRlKCk7XG4gICAgfVxuICB9O1xuXG4gIFZ1ZS5w
cm90b3R5cGUuJGRlc3Ryb3kgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHZtID0gdGhpcztcbiAg
ICBpZiAodm0uX2lzQmVpbmdEZXN0cm95ZWQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBj
YWxsSG9vayh2bSwgJ2JlZm9yZURlc3Ryb3knKTtcbiAgICB2bS5faXNCZWluZ0Rlc3Ryb3llZCA9
IHRydWU7XG4gICAgLy8gcmVtb3ZlIHNlbGYgZnJvbSBwYXJlbnRcbiAgICB2YXIgcGFyZW50ID0g
dm0uJHBhcmVudDtcbiAgICBpZiAocGFyZW50ICYmICFwYXJlbnQuX2lzQmVpbmdEZXN0cm95ZWQg
JiYgIXZtLiRvcHRpb25zLmFic3RyYWN0KSB7XG4gICAgICByZW1vdmUocGFyZW50LiRjaGlsZHJl
biwgdm0pO1xuICAgIH1cbiAgICAvLyB0ZWFyZG93biB3YXRjaGVyc1xuICAgIGlmICh2bS5fd2F0
Y2hlcikge1xuICAgICAgdm0uX3dhdGNoZXIudGVhcmRvd24oKTtcbiAgICB9XG4gICAgdmFyIGkg
PSB2bS5fd2F0Y2hlcnMubGVuZ3RoO1xuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgIHZtLl93YXRj
aGVyc1tpXS50ZWFyZG93bigpO1xuICAgIH1cbiAgICAvLyByZW1vdmUgcmVmZXJlbmNlIGZyb20g
ZGF0YSBvYlxuICAgIC8vIGZyb3plbiBvYmplY3QgbWF5IG5vdCBoYXZlIG9ic2VydmVyLlxuICAg
IGlmICh2bS5fZGF0YS5fX29iX18pIHtcbiAgICAgIHZtLl9kYXRhLl9fb2JfXy52bUNvdW50LS07
XG4gICAgfVxuICAgIC8vIGNhbGwgdGhlIGxhc3QgaG9vay4uLlxuICAgIHZtLl9pc0Rlc3Ryb3ll
ZCA9IHRydWU7XG4gICAgLy8gaW52b2tlIGRlc3Ryb3kgaG9va3Mgb24gY3VycmVudCByZW5kZXJl
ZCB0cmVlXG4gICAgdm0uX19wYXRjaF9fKHZtLl92bm9kZSwgbnVsbCk7XG4gICAgLy8gZmlyZSBk
ZXN0cm95ZWQgaG9va1xuICAgIGNhbGxIb29rKHZtLCAnZGVzdHJveWVkJyk7XG4gICAgLy8gdHVy
biBvZmYgYWxsIGluc3RhbmNlIGxpc3RlbmVycy5cbiAgICB2bS4kb2ZmKCk7XG4gICAgLy8gcmVt
b3ZlIF9fdnVlX18gcmVmZXJlbmNlXG4gICAgaWYgKHZtLiRlbCkge1xuICAgICAgdm0uJGVsLl9f
dnVlX18gPSBudWxsO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gbW91bnRDb21wb25lbnQg
KFxuICB2bSxcbiAgZWwsXG4gIGh5ZHJhdGluZ1xuKSB7XG4gIHZtLiRlbCA9IGVsO1xuICBpZiAo
IXZtLiRvcHRpb25zLnJlbmRlcikge1xuICAgIHZtLiRvcHRpb25zLnJlbmRlciA9IGNyZWF0ZUVt
cHR5Vk5vZGU7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicp
IHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgaWYgKCh2bS4kb3B0aW9u
cy50ZW1wbGF0ZSAmJiB2bS4kb3B0aW9ucy50ZW1wbGF0ZS5jaGFyQXQoMCkgIT09ICcjJykgfHxc
biAgICAgICAgdm0uJG9wdGlvbnMuZWwgfHwgZWwpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAg
ICAnWW91IGFyZSB1c2luZyB0aGUgcnVudGltZS1vbmx5IGJ1aWxkIG9mIFZ1ZSB3aGVyZSB0aGUg
dGVtcGxhdGUgJyArXG4gICAgICAgICAgJ2NvbXBpbGVyIGlzIG5vdCBhdmFpbGFibGUuIEVpdGhl
ciBwcmUtY29tcGlsZSB0aGUgdGVtcGxhdGVzIGludG8gJyArXG4gICAgICAgICAgJ3JlbmRlciBm
dW5jdGlvbnMsIG9yIHVzZSB0aGUgY29tcGlsZXItaW5jbHVkZWQgYnVpbGQuJyxcbiAgICAgICAg
ICB2bVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgd2FybihcbiAgICAgICAg
ICAnRmFpbGVkIHRvIG1vdW50IGNvbXBvbmVudDogdGVtcGxhdGUgb3IgcmVuZGVyIGZ1bmN0aW9u
IG5vdCBkZWZpbmVkLicsXG4gICAgICAgICAgdm1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9
XG4gIH1cbiAgY2FsbEhvb2sodm0sICdiZWZvcmVNb3VudCcpO1xuXG4gIHZhciB1cGRhdGVDb21w
b25lbnQ7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAocHJvY2Vzcy5lbnYuTk9E
RV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBjb25maWcucGVyZm9ybWFuY2UgJiYgbWFyaykge1xu
ICAgIHVwZGF0ZUNvbXBvbmVudCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBuYW1lID0gdm0u
X25hbWU7XG4gICAgICB2YXIgaWQgPSB2bS5fdWlkO1xuICAgICAgdmFyIHN0YXJ0VGFnID0gXCJ2
dWUtcGVyZi1zdGFydDpcIiArIGlkO1xuICAgICAgdmFyIGVuZFRhZyA9IFwidnVlLXBlcmYtZW5k
OlwiICsgaWQ7XG5cbiAgICAgIG1hcmsoc3RhcnRUYWcpO1xuICAgICAgdmFyIHZub2RlID0gdm0u
X3JlbmRlcigpO1xuICAgICAgbWFyayhlbmRUYWcpO1xuICAgICAgbWVhc3VyZSgobmFtZSArIFwi
IHJlbmRlclwiKSwgc3RhcnRUYWcsIGVuZFRhZyk7XG5cbiAgICAgIG1hcmsoc3RhcnRUYWcpO1xu
ICAgICAgdm0uX3VwZGF0ZSh2bm9kZSwgaHlkcmF0aW5nKTtcbiAgICAgIG1hcmsoZW5kVGFnKTtc
biAgICAgIG1lYXN1cmUoKG5hbWUgKyBcIiBwYXRjaFwiKSwgc3RhcnRUYWcsIGVuZFRhZyk7XG4g
ICAgfTtcbiAgfSBlbHNlIHtcbiAgICB1cGRhdGVDb21wb25lbnQgPSBmdW5jdGlvbiAoKSB7XG4g
ICAgICB2bS5fdXBkYXRlKHZtLl9yZW5kZXIoKSwgaHlkcmF0aW5nKTtcbiAgICB9O1xuICB9XG5c
biAgdm0uX3dhdGNoZXIgPSBuZXcgV2F0Y2hlcih2bSwgdXBkYXRlQ29tcG9uZW50LCBub29wKTtc
biAgaHlkcmF0aW5nID0gZmFsc2U7XG5cbiAgLy8gbWFudWFsbHkgbW91bnRlZCBpbnN0YW5jZSwg
Y2FsbCBtb3VudGVkIG9uIHNlbGZcbiAgLy8gbW91bnRlZCBpcyBjYWxsZWQgZm9yIHJlbmRlci1j
cmVhdGVkIGNoaWxkIGNvbXBvbmVudHMgaW4gaXRzIGluc2VydGVkIGhvb2tcbiAgaWYgKHZtLiR2
bm9kZSA9PSBudWxsKSB7XG4gICAgdm0uX2lzTW91bnRlZCA9IHRydWU7XG4gICAgY2FsbEhvb2so
dm0sICdtb3VudGVkJyk7XG4gIH1cbiAgcmV0dXJuIHZtXG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUNo
aWxkQ29tcG9uZW50IChcbiAgdm0sXG4gIHByb3BzRGF0YSxcbiAgbGlzdGVuZXJzLFxuICBwYXJl
bnRWbm9kZSxcbiAgcmVuZGVyQ2hpbGRyZW5cbikge1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9F
TlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIGlzVXBkYXRpbmdDaGlsZENvbXBvbmVudCA9IHRy
dWU7XG4gIH1cblxuICAvLyBkZXRlcm1pbmUgd2hldGhlciBjb21wb25lbnQgaGFzIHNsb3QgY2hp
bGRyZW5cbiAgLy8gd2UgbmVlZCB0byBkbyB0aGlzIGJlZm9yZSBvdmVyd3JpdGluZyAkb3B0aW9u
cy5fcmVuZGVyQ2hpbGRyZW5cbiAgdmFyIGhhc0NoaWxkcmVuID0gISEoXG4gICAgcmVuZGVyQ2hp
bGRyZW4gfHwgICAgICAgICAgICAgICAvLyBoYXMgbmV3IHN0YXRpYyBzbG90c1xuICAgIHZtLiRv
cHRpb25zLl9yZW5kZXJDaGlsZHJlbiB8fCAgLy8gaGFzIG9sZCBzdGF0aWMgc2xvdHNcbiAgICBw
YXJlbnRWbm9kZS5kYXRhLnNjb3BlZFNsb3RzIHx8IC8vIGhhcyBuZXcgc2NvcGVkIHNsb3RzXG4g
ICAgdm0uJHNjb3BlZFNsb3RzICE9PSBlbXB0eU9iamVjdCAvLyBoYXMgb2xkIHNjb3BlZCBzbG90
c1xuICApO1xuXG4gIHZtLiRvcHRpb25zLl9wYXJlbnRWbm9kZSA9IHBhcmVudFZub2RlO1xuICB2
bS4kdm5vZGUgPSBwYXJlbnRWbm9kZTsgLy8gdXBkYXRlIHZtJ3MgcGxhY2Vob2xkZXIgbm9kZSB3
aXRob3V0IHJlLXJlbmRlclxuXG4gIGlmICh2bS5fdm5vZGUpIHsgLy8gdXBkYXRlIGNoaWxkIHRy
ZWUncyBwYXJlbnRcbiAgICB2bS5fdm5vZGUucGFyZW50ID0gcGFyZW50Vm5vZGU7XG4gIH1cbiAg
dm0uJG9wdGlvbnMuX3JlbmRlckNoaWxkcmVuID0gcmVuZGVyQ2hpbGRyZW47XG5cbiAgLy8gdXBk
YXRlICRhdHRycyBhbmQgJGxpc3RlbnNlcnMgaGFzaFxuICAvLyB0aGVzZSBhcmUgYWxzbyByZWFj
dGl2ZSBzbyB0aGV5IG1heSB0cmlnZ2VyIGNoaWxkIHVwZGF0ZSBpZiB0aGUgY2hpbGRcbiAgLy8g
dXNlZCB0aGVtIGR1cmluZyByZW5kZXJcbiAgdm0uJGF0dHJzID0gcGFyZW50Vm5vZGUuZGF0YSAm
JiBwYXJlbnRWbm9kZS5kYXRhLmF0dHJzO1xuICB2bS4kbGlzdGVuZXJzID0gbGlzdGVuZXJzO1xu
XG4gIC8vIHVwZGF0ZSBwcm9wc1xuICBpZiAocHJvcHNEYXRhICYmIHZtLiRvcHRpb25zLnByb3Bz
KSB7XG4gICAgb2JzZXJ2ZXJTdGF0ZS5zaG91bGRDb252ZXJ0ID0gZmFsc2U7XG4gICAgdmFyIHBy
b3BzID0gdm0uX3Byb3BzO1xuICAgIHZhciBwcm9wS2V5cyA9IHZtLiRvcHRpb25zLl9wcm9wS2V5
cyB8fCBbXTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BLZXlzLmxlbmd0aDsgaSsrKSB7
XG4gICAgICB2YXIga2V5ID0gcHJvcEtleXNbaV07XG4gICAgICBwcm9wc1trZXldID0gdmFsaWRh
dGVQcm9wKGtleSwgdm0uJG9wdGlvbnMucHJvcHMsIHByb3BzRGF0YSwgdm0pO1xuICAgIH1cbiAg
ICBvYnNlcnZlclN0YXRlLnNob3VsZENvbnZlcnQgPSB0cnVlO1xuICAgIC8vIGtlZXAgYSBjb3B5
IG9mIHJhdyBwcm9wc0RhdGFcbiAgICB2bS4kb3B0aW9ucy5wcm9wc0RhdGEgPSBwcm9wc0RhdGE7
XG4gIH1cblxuICAvLyB1cGRhdGUgbGlzdGVuZXJzXG4gIGlmIChsaXN0ZW5lcnMpIHtcbiAgICB2
YXIgb2xkTGlzdGVuZXJzID0gdm0uJG9wdGlvbnMuX3BhcmVudExpc3RlbmVycztcbiAgICB2bS4k
b3B0aW9ucy5fcGFyZW50TGlzdGVuZXJzID0gbGlzdGVuZXJzO1xuICAgIHVwZGF0ZUNvbXBvbmVu
dExpc3RlbmVycyh2bSwgbGlzdGVuZXJzLCBvbGRMaXN0ZW5lcnMpO1xuICB9XG4gIC8vIHJlc29s
dmUgc2xvdHMgKyBmb3JjZSB1cGRhdGUgaWYgaGFzIGNoaWxkcmVuXG4gIGlmIChoYXNDaGlsZHJl
bikge1xuICAgIHZtLiRzbG90cyA9IHJlc29sdmVTbG90cyhyZW5kZXJDaGlsZHJlbiwgcGFyZW50
Vm5vZGUuY29udGV4dCk7XG4gICAgdm0uJGZvcmNlVXBkYXRlKCk7XG4gIH1cblxuICBpZiAocHJv
Y2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIGlzVXBkYXRpbmdDaGls
ZENvbXBvbmVudCA9IGZhbHNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzSW5JbmFjdGl2ZVRyZWUg
KHZtKSB7XG4gIHdoaWxlICh2bSAmJiAodm0gPSB2bS4kcGFyZW50KSkge1xuICAgIGlmICh2bS5f
aW5hY3RpdmUpIHsgcmV0dXJuIHRydWUgfVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG5mdW5j
dGlvbiBhY3RpdmF0ZUNoaWxkQ29tcG9uZW50ICh2bSwgZGlyZWN0KSB7XG4gIGlmIChkaXJlY3Qp
IHtcbiAgICB2bS5fZGlyZWN0SW5hY3RpdmUgPSBmYWxzZTtcbiAgICBpZiAoaXNJbkluYWN0aXZl
VHJlZSh2bSkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgfSBlbHNlIGlmICh2bS5fZGlyZWN0
SW5hY3RpdmUpIHtcbiAgICByZXR1cm5cbiAgfVxuICBpZiAodm0uX2luYWN0aXZlIHx8IHZtLl9p
bmFjdGl2ZSA9PT0gbnVsbCkge1xuICAgIHZtLl9pbmFjdGl2ZSA9IGZhbHNlO1xuICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgdm0uJGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICBhY3RpdmF0
ZUNoaWxkQ29tcG9uZW50KHZtLiRjaGlsZHJlbltpXSk7XG4gICAgfVxuICAgIGNhbGxIb29rKHZt
LCAnYWN0aXZhdGVkJyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVhY3RpdmF0ZUNoaWxkQ29tcG9u
ZW50ICh2bSwgZGlyZWN0KSB7XG4gIGlmIChkaXJlY3QpIHtcbiAgICB2bS5fZGlyZWN0SW5hY3Rp
dmUgPSB0cnVlO1xuICAgIGlmIChpc0luSW5hY3RpdmVUcmVlKHZtKSkge1xuICAgICAgcmV0dXJu
XG4gICAgfVxuICB9XG4gIGlmICghdm0uX2luYWN0aXZlKSB7XG4gICAgdm0uX2luYWN0aXZlID0g
dHJ1ZTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZtLiRjaGlsZHJlbi5sZW5ndGg7IGkrKykg
e1xuICAgICAgZGVhY3RpdmF0ZUNoaWxkQ29tcG9uZW50KHZtLiRjaGlsZHJlbltpXSk7XG4gICAg
fVxuICAgIGNhbGxIb29rKHZtLCAnZGVhY3RpdmF0ZWQnKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBj
YWxsSG9vayAodm0sIGhvb2spIHtcbiAgdmFyIGhhbmRsZXJzID0gdm0uJG9wdGlvbnNbaG9va107
XG4gIGlmIChoYW5kbGVycykge1xuICAgIGZvciAodmFyIGkgPSAwLCBqID0gaGFuZGxlcnMubGVu
Z3RoOyBpIDwgajsgaSsrKSB7XG4gICAgICB0cnkge1xuICAgICAgICBoYW5kbGVyc1tpXS5jYWxs
KHZtKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgaGFuZGxlRXJyb3IoZSwgdm0sICho
b29rICsgXCIgaG9va1wiKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGlmICh2bS5faGFzSG9v
a0V2ZW50KSB7XG4gICAgdm0uJGVtaXQoJ2hvb2s6JyArIGhvb2spO1xuICB9XG59XG5cbi8qICAq
L1xuXG5cbnZhciBNQVhfVVBEQVRFX0NPVU5UID0gMTAwO1xuXG52YXIgcXVldWUgPSBbXTtcbnZh
ciBhY3RpdmF0ZWRDaGlsZHJlbiA9IFtdO1xudmFyIGhhcyA9IHt9O1xudmFyIGNpcmN1bGFyID0g
e307XG52YXIgd2FpdGluZyA9IGZhbHNlO1xudmFyIGZsdXNoaW5nID0gZmFsc2U7XG52YXIgaW5k
ZXggPSAwO1xuXG4vKipcbiAqIFJlc2V0IHRoZSBzY2hlZHVsZXIncyBzdGF0ZS5cbiAqL1xuZnVu
Y3Rpb24gcmVzZXRTY2hlZHVsZXJTdGF0ZSAoKSB7XG4gIGluZGV4ID0gcXVldWUubGVuZ3RoID0g
YWN0aXZhdGVkQ2hpbGRyZW4ubGVuZ3RoID0gMDtcbiAgaGFzID0ge307XG4gIGlmIChwcm9jZXNz
LmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgY2lyY3VsYXIgPSB7fTtcbiAg
fVxuICB3YWl0aW5nID0gZmx1c2hpbmcgPSBmYWxzZTtcbn1cblxuLyoqXG4gKiBGbHVzaCBib3Ro
IHF1ZXVlcyBhbmQgcnVuIHRoZSB3YXRjaGVycy5cbiAqL1xuZnVuY3Rpb24gZmx1c2hTY2hlZHVs
ZXJRdWV1ZSAoKSB7XG4gIGZsdXNoaW5nID0gdHJ1ZTtcbiAgdmFyIHdhdGNoZXIsIGlkO1xuXG4g
IC8vIFNvcnQgcXVldWUgYmVmb3JlIGZsdXNoLlxuICAvLyBUaGlzIGVuc3VyZXMgdGhhdDpcbiAg
Ly8gMS4gQ29tcG9uZW50cyBhcmUgdXBkYXRlZCBmcm9tIHBhcmVudCB0byBjaGlsZC4gKGJlY2F1
c2UgcGFyZW50IGlzIGFsd2F5c1xuICAvLyAgICBjcmVhdGVkIGJlZm9yZSB0aGUgY2hpbGQpXG4g
IC8vIDIuIEEgY29tcG9uZW50J3MgdXNlciB3YXRjaGVycyBhcmUgcnVuIGJlZm9yZSBpdHMgcmVu
ZGVyIHdhdGNoZXIgKGJlY2F1c2VcbiAgLy8gICAgdXNlciB3YXRjaGVycyBhcmUgY3JlYXRlZCBi
ZWZvcmUgdGhlIHJlbmRlciB3YXRjaGVyKVxuICAvLyAzLiBJZiBhIGNvbXBvbmVudCBpcyBkZXN0
cm95ZWQgZHVyaW5nIGEgcGFyZW50IGNvbXBvbmVudCdzIHdhdGNoZXIgcnVuLFxuICAvLyAgICBp
dHMgd2F0Y2hlcnMgY2FuIGJlIHNraXBwZWQuXG4gIHF1ZXVlLnNvcnQoZnVuY3Rpb24gKGEsIGIp
IHsgcmV0dXJuIGEuaWQgLSBiLmlkOyB9KTtcblxuICAvLyBkbyBub3QgY2FjaGUgbGVuZ3RoIGJl
Y2F1c2UgbW9yZSB3YXRjaGVycyBtaWdodCBiZSBwdXNoZWRcbiAgLy8gYXMgd2UgcnVuIGV4aXN0
aW5nIHdhdGNoZXJzXG4gIGZvciAoaW5kZXggPSAwOyBpbmRleCA8IHF1ZXVlLmxlbmd0aDsgaW5k
ZXgrKykge1xuICAgIHdhdGNoZXIgPSBxdWV1ZVtpbmRleF07XG4gICAgaWQgPSB3YXRjaGVyLmlk
O1xuICAgIGhhc1tpZF0gPSBudWxsO1xuICAgIHdhdGNoZXIucnVuKCk7XG4gICAgLy8gaW4gZGV2
IGJ1aWxkLCBjaGVjayBhbmQgc3RvcCBjaXJjdWxhciB1cGRhdGVzLlxuICAgIGlmIChwcm9jZXNz
LmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGhhc1tpZF0gIT0gbnVsbCkge1xuICAg
ICAgY2lyY3VsYXJbaWRdID0gKGNpcmN1bGFyW2lkXSB8fCAwKSArIDE7XG4gICAgICBpZiAoY2ly
Y3VsYXJbaWRdID4gTUFYX1VQREFURV9DT1VOVCkge1xuICAgICAgICB3YXJuKFxuICAgICAgICAg
ICdZb3UgbWF5IGhhdmUgYW4gaW5maW5pdGUgdXBkYXRlIGxvb3AgJyArIChcbiAgICAgICAgICAg
IHdhdGNoZXIudXNlclxuICAgICAgICAgICAgICA/IChcImluIHdhdGNoZXIgd2l0aCBleHByZXNz
aW9uIFxcXCJcIiArICh3YXRjaGVyLmV4cHJlc3Npb24pICsgXCJcXFwiXCIpXG4gICAgICAgICAg
ICAgIDogXCJpbiBhIGNvbXBvbmVudCByZW5kZXIgZnVuY3Rpb24uXCJcbiAgICAgICAgICApLFxu
ICAgICAgICAgIHdhdGNoZXIudm1cbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWtcbiAgICAgIH1c
biAgICB9XG4gIH1cblxuICAvLyBrZWVwIGNvcGllcyBvZiBwb3N0IHF1ZXVlcyBiZWZvcmUgcmVz
ZXR0aW5nIHN0YXRlXG4gIHZhciBhY3RpdmF0ZWRRdWV1ZSA9IGFjdGl2YXRlZENoaWxkcmVuLnNs
aWNlKCk7XG4gIHZhciB1cGRhdGVkUXVldWUgPSBxdWV1ZS5zbGljZSgpO1xuXG4gIHJlc2V0U2No
ZWR1bGVyU3RhdGUoKTtcblxuICAvLyBjYWxsIGNvbXBvbmVudCB1cGRhdGVkIGFuZCBhY3RpdmF0
ZWQgaG9va3NcbiAgY2FsbEFjdGl2YXRlZEhvb2tzKGFjdGl2YXRlZFF1ZXVlKTtcbiAgY2FsbFVw
ZGF0ZWRIb29rcyh1cGRhdGVkUXVldWUpO1xuXG4gIC8vIGRldnRvb2wgaG9va1xuICAvKiBpc3Rh
bmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKGRldnRvb2xzICYmIGNvbmZpZy5kZXZ0b29scykge1xu
ICAgIGRldnRvb2xzLmVtaXQoJ2ZsdXNoJyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2FsbFVwZGF0
ZWRIb29rcyAocXVldWUpIHtcbiAgdmFyIGkgPSBxdWV1ZS5sZW5ndGg7XG4gIHdoaWxlIChpLS0p
IHtcbiAgICB2YXIgd2F0Y2hlciA9IHF1ZXVlW2ldO1xuICAgIHZhciB2bSA9IHdhdGNoZXIudm07
XG4gICAgaWYgKHZtLl93YXRjaGVyID09PSB3YXRjaGVyICYmIHZtLl9pc01vdW50ZWQpIHtcbiAg
ICAgIGNhbGxIb29rKHZtLCAndXBkYXRlZCcpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFF1
ZXVlIGEga2VwdC1hbGl2ZSBjb21wb25lbnQgdGhhdCB3YXMgYWN0aXZhdGVkIGR1cmluZyBwYXRj
aC5cbiAqIFRoZSBxdWV1ZSB3aWxsIGJlIHByb2Nlc3NlZCBhZnRlciB0aGUgZW50aXJlIHRyZWUg
aGFzIGJlZW4gcGF0Y2hlZC5cbiAqL1xuZnVuY3Rpb24gcXVldWVBY3RpdmF0ZWRDb21wb25lbnQg
KHZtKSB7XG4gIC8vIHNldHRpbmcgX2luYWN0aXZlIHRvIGZhbHNlIGhlcmUgc28gdGhhdCBhIHJl
bmRlciBmdW5jdGlvbiBjYW5cbiAgLy8gcmVseSBvbiBjaGVja2luZyB3aGV0aGVyIGl0J3MgaW4g
YW4gaW5hY3RpdmUgdHJlZSAoZS5nLiByb3V0ZXItdmlldylcbiAgdm0uX2luYWN0aXZlID0gZmFs
c2U7XG4gIGFjdGl2YXRlZENoaWxkcmVuLnB1c2godm0pO1xufVxuXG5mdW5jdGlvbiBjYWxsQWN0
aXZhdGVkSG9va3MgKHF1ZXVlKSB7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcXVldWUubGVuZ3Ro
OyBpKyspIHtcbiAgICBxdWV1ZVtpXS5faW5hY3RpdmUgPSB0cnVlO1xuICAgIGFjdGl2YXRlQ2hp
bGRDb21wb25lbnQocXVldWVbaV0sIHRydWUgLyogdHJ1ZSAqLyk7XG4gIH1cbn1cblxuLyoqXG4g
KiBQdXNoIGEgd2F0Y2hlciBpbnRvIHRoZSB3YXRjaGVyIHF1ZXVlLlxuICogSm9icyB3aXRoIGR1
cGxpY2F0ZSBJRHMgd2lsbCBiZSBza2lwcGVkIHVubGVzcyBpdCdzXG4gKiBwdXNoZWQgd2hlbiB0
aGUgcXVldWUgaXMgYmVpbmcgZmx1c2hlZC5cbiAqL1xuZnVuY3Rpb24gcXVldWVXYXRjaGVyICh3
YXRjaGVyKSB7XG4gIHZhciBpZCA9IHdhdGNoZXIuaWQ7XG4gIGlmIChoYXNbaWRdID09IG51bGwp
IHtcbiAgICBoYXNbaWRdID0gdHJ1ZTtcbiAgICBpZiAoIWZsdXNoaW5nKSB7XG4gICAgICBxdWV1
ZS5wdXNoKHdhdGNoZXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBpZiBhbHJlYWR5IGZsdXNo
aW5nLCBzcGxpY2UgdGhlIHdhdGNoZXIgYmFzZWQgb24gaXRzIGlkXG4gICAgICAvLyBpZiBhbHJl
YWR5IHBhc3QgaXRzIGlkLCBpdCB3aWxsIGJlIHJ1biBuZXh0IGltbWVkaWF0ZWx5LlxuICAgICAg
dmFyIGkgPSBxdWV1ZS5sZW5ndGggLSAxO1xuICAgICAgd2hpbGUgKGkgPiBpbmRleCAmJiBxdWV1
ZVtpXS5pZCA+IHdhdGNoZXIuaWQpIHtcbiAgICAgICAgaS0tO1xuICAgICAgfVxuICAgICAgcXVl
dWUuc3BsaWNlKGkgKyAxLCAwLCB3YXRjaGVyKTtcbiAgICB9XG4gICAgLy8gcXVldWUgdGhlIGZs
dXNoXG4gICAgaWYgKCF3YWl0aW5nKSB7XG4gICAgICB3YWl0aW5nID0gdHJ1ZTtcbiAgICAgIG5l
eHRUaWNrKGZsdXNoU2NoZWR1bGVyUXVldWUpO1xuICAgIH1cbiAgfVxufVxuXG4vKiAgKi9cblxu
dmFyIHVpZCQyID0gMDtcblxuLyoqXG4gKiBBIHdhdGNoZXIgcGFyc2VzIGFuIGV4cHJlc3Npb24s
IGNvbGxlY3RzIGRlcGVuZGVuY2llcyxcbiAqIGFuZCBmaXJlcyBjYWxsYmFjayB3aGVuIHRoZSBl
eHByZXNzaW9uIHZhbHVlIGNoYW5nZXMuXG4gKiBUaGlzIGlzIHVzZWQgZm9yIGJvdGggdGhlICR3
YXRjaCgpIGFwaSBhbmQgZGlyZWN0aXZlcy5cbiAqL1xudmFyIFdhdGNoZXIgPSBmdW5jdGlvbiBX
YXRjaGVyIChcbiAgdm0sXG4gIGV4cE9yRm4sXG4gIGNiLFxuICBvcHRpb25zXG4pIHtcbiAgdGhp
cy52bSA9IHZtO1xuICB2bS5fd2F0Y2hlcnMucHVzaCh0aGlzKTtcbiAgLy8gb3B0aW9uc1xuICBp
ZiAob3B0aW9ucykge1xuICAgIHRoaXMuZGVlcCA9ICEhb3B0aW9ucy5kZWVwO1xuICAgIHRoaXMu
dXNlciA9ICEhb3B0aW9ucy51c2VyO1xuICAgIHRoaXMubGF6eSA9ICEhb3B0aW9ucy5sYXp5O1xu
ICAgIHRoaXMuc3luYyA9ICEhb3B0aW9ucy5zeW5jO1xuICB9IGVsc2Uge1xuICAgIHRoaXMuZGVl
cCA9IHRoaXMudXNlciA9IHRoaXMubGF6eSA9IHRoaXMuc3luYyA9IGZhbHNlO1xuICB9XG4gIHRo
aXMuY2IgPSBjYjtcbiAgdGhpcy5pZCA9ICsrdWlkJDI7IC8vIHVpZCBmb3IgYmF0Y2hpbmdcbiAg
dGhpcy5hY3RpdmUgPSB0cnVlO1xuICB0aGlzLmRpcnR5ID0gdGhpcy5sYXp5OyAvLyBmb3IgbGF6
eSB3YXRjaGVyc1xuICB0aGlzLmRlcHMgPSBbXTtcbiAgdGhpcy5uZXdEZXBzID0gW107XG4gIHRo
aXMuZGVwSWRzID0gbmV3IF9TZXQoKTtcbiAgdGhpcy5uZXdEZXBJZHMgPSBuZXcgX1NldCgpO1xu
ICB0aGlzLmV4cHJlc3Npb24gPSBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24n
XG4gICAgPyBleHBPckZuLnRvU3RyaW5nKClcbiAgICA6ICcnO1xuICAvLyBwYXJzZSBleHByZXNz
aW9uIGZvciBnZXR0ZXJcbiAgaWYgKHR5cGVvZiBleHBPckZuID09PSAnZnVuY3Rpb24nKSB7XG4g
ICAgdGhpcy5nZXR0ZXIgPSBleHBPckZuO1xuICB9IGVsc2Uge1xuICAgIHRoaXMuZ2V0dGVyID0g
cGFyc2VQYXRoKGV4cE9yRm4pO1xuICAgIGlmICghdGhpcy5nZXR0ZXIpIHtcbiAgICAgIHRoaXMu
Z2V0dGVyID0gZnVuY3Rpb24gKCkge307XG4gICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0g
J3Byb2R1Y3Rpb24nICYmIHdhcm4oXG4gICAgICAgIFwiRmFpbGVkIHdhdGNoaW5nIHBhdGg6IFxc
XCJcIiArIGV4cE9yRm4gKyBcIlxcXCIgXCIgK1xuICAgICAgICAnV2F0Y2hlciBvbmx5IGFjY2Vw
dHMgc2ltcGxlIGRvdC1kZWxpbWl0ZWQgcGF0aHMuICcgK1xuICAgICAgICAnRm9yIGZ1bGwgY29u
dHJvbCwgdXNlIGEgZnVuY3Rpb24gaW5zdGVhZC4nLFxuICAgICAgICB2bVxuICAgICAgKTtcbiAg
ICB9XG4gIH1cbiAgdGhpcy52YWx1ZSA9IHRoaXMubGF6eVxuICAgID8gdW5kZWZpbmVkXG4gICAg
OiB0aGlzLmdldCgpO1xufTtcblxuLyoqXG4gKiBFdmFsdWF0ZSB0aGUgZ2V0dGVyLCBhbmQgcmUt
Y29sbGVjdCBkZXBlbmRlbmNpZXMuXG4gKi9cbldhdGNoZXIucHJvdG90eXBlLmdldCA9IGZ1bmN0
aW9uIGdldCAoKSB7XG4gIHB1c2hUYXJnZXQodGhpcyk7XG4gIHZhciB2YWx1ZTtcbiAgdmFyIHZt
ID0gdGhpcy52bTtcbiAgdHJ5IHtcbiAgICB2YWx1ZSA9IHRoaXMuZ2V0dGVyLmNhbGwodm0sIHZt
KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmICh0aGlzLnVzZXIpIHtcbiAgICAgIGhhbmRsZUVy
cm9yKGUsIHZtLCAoXCJnZXR0ZXIgZm9yIHdhdGNoZXIgXFxcIlwiICsgKHRoaXMuZXhwcmVzc2lv
bikgKyBcIlxcXCJcIikpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBlXG4gICAgfVxuICB9
IGZpbmFsbHkge1xuICAgIC8vIFwidG91Y2hcIiBldmVyeSBwcm9wZXJ0eSBzbyB0aGV5IGFyZSBh
bGwgdHJhY2tlZCBhc1xuICAgIC8vIGRlcGVuZGVuY2llcyBmb3IgZGVlcCB3YXRjaGluZ1xuICAg
IGlmICh0aGlzLmRlZXApIHtcbiAgICAgIHRyYXZlcnNlKHZhbHVlKTtcbiAgICB9XG4gICAgcG9w
VGFyZ2V0KCk7XG4gICAgdGhpcy5jbGVhbnVwRGVwcygpO1xuICB9XG4gIHJldHVybiB2YWx1ZVxu
fTtcblxuLyoqXG4gKiBBZGQgYSBkZXBlbmRlbmN5IHRvIHRoaXMgZGlyZWN0aXZlLlxuICovXG5X
YXRjaGVyLnByb3RvdHlwZS5hZGREZXAgPSBmdW5jdGlvbiBhZGREZXAgKGRlcCkge1xuICB2YXIg
aWQgPSBkZXAuaWQ7XG4gIGlmICghdGhpcy5uZXdEZXBJZHMuaGFzKGlkKSkge1xuICAgIHRoaXMu
bmV3RGVwSWRzLmFkZChpZCk7XG4gICAgdGhpcy5uZXdEZXBzLnB1c2goZGVwKTtcbiAgICBpZiAo
IXRoaXMuZGVwSWRzLmhhcyhpZCkpIHtcbiAgICAgIGRlcC5hZGRTdWIodGhpcyk7XG4gICAgfVxu
ICB9XG59O1xuXG4vKipcbiAqIENsZWFuIHVwIGZvciBkZXBlbmRlbmN5IGNvbGxlY3Rpb24uXG4g
Ki9cbldhdGNoZXIucHJvdG90eXBlLmNsZWFudXBEZXBzID0gZnVuY3Rpb24gY2xlYW51cERlcHMg
KCkge1xuICAgIHZhciB0aGlzJDEgPSB0aGlzO1xuXG4gIHZhciBpID0gdGhpcy5kZXBzLmxlbmd0
aDtcbiAgd2hpbGUgKGktLSkge1xuICAgIHZhciBkZXAgPSB0aGlzJDEuZGVwc1tpXTtcbiAgICBp
ZiAoIXRoaXMkMS5uZXdEZXBJZHMuaGFzKGRlcC5pZCkpIHtcbiAgICAgIGRlcC5yZW1vdmVTdWIo
dGhpcyQxKTtcbiAgICB9XG4gIH1cbiAgdmFyIHRtcCA9IHRoaXMuZGVwSWRzO1xuICB0aGlzLmRl
cElkcyA9IHRoaXMubmV3RGVwSWRzO1xuICB0aGlzLm5ld0RlcElkcyA9IHRtcDtcbiAgdGhpcy5u
ZXdEZXBJZHMuY2xlYXIoKTtcbiAgdG1wID0gdGhpcy5kZXBzO1xuICB0aGlzLmRlcHMgPSB0aGlz
Lm5ld0RlcHM7XG4gIHRoaXMubmV3RGVwcyA9IHRtcDtcbiAgdGhpcy5uZXdEZXBzLmxlbmd0aCA9
IDA7XG59O1xuXG4vKipcbiAqIFN1YnNjcmliZXIgaW50ZXJmYWNlLlxuICogV2lsbCBiZSBjYWxs
ZWQgd2hlbiBhIGRlcGVuZGVuY3kgY2hhbmdlcy5cbiAqL1xuV2F0Y2hlci5wcm90b3R5cGUudXBk
YXRlID0gZnVuY3Rpb24gdXBkYXRlICgpIHtcbiAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9c
biAgaWYgKHRoaXMubGF6eSkge1xuICAgIHRoaXMuZGlydHkgPSB0cnVlO1xuICB9IGVsc2UgaWYg
KHRoaXMuc3luYykge1xuICAgIHRoaXMucnVuKCk7XG4gIH0gZWxzZSB7XG4gICAgcXVldWVXYXRj
aGVyKHRoaXMpO1xuICB9XG59O1xuXG4vKipcbiAqIFNjaGVkdWxlciBqb2IgaW50ZXJmYWNlLlxu
ICogV2lsbCBiZSBjYWxsZWQgYnkgdGhlIHNjaGVkdWxlci5cbiAqL1xuV2F0Y2hlci5wcm90b3R5
cGUucnVuID0gZnVuY3Rpb24gcnVuICgpIHtcbiAgaWYgKHRoaXMuYWN0aXZlKSB7XG4gICAgdmFy
IHZhbHVlID0gdGhpcy5nZXQoKTtcbiAgICBpZiAoXG4gICAgICB2YWx1ZSAhPT0gdGhpcy52YWx1
ZSB8fFxuICAgICAgLy8gRGVlcCB3YXRjaGVycyBhbmQgd2F0Y2hlcnMgb24gT2JqZWN0L0FycmF5
cyBzaG91bGQgZmlyZSBldmVuXG4gICAgICAvLyB3aGVuIHRoZSB2YWx1ZSBpcyB0aGUgc2FtZSwg
YmVjYXVzZSB0aGUgdmFsdWUgbWF5XG4gICAgICAvLyBoYXZlIG11dGF0ZWQuXG4gICAgICBpc09i
amVjdCh2YWx1ZSkgfHxcbiAgICAgIHRoaXMuZGVlcFxuICAgICkge1xuICAgICAgLy8gc2V0IG5l
dyB2YWx1ZVxuICAgICAgdmFyIG9sZFZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgIHRoaXMudmFs
dWUgPSB2YWx1ZTtcbiAgICAgIGlmICh0aGlzLnVzZXIpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAg
ICAgICB0aGlzLmNiLmNhbGwodGhpcy52bSwgdmFsdWUsIG9sZFZhbHVlKTtcbiAgICAgICAgfSBj
YXRjaCAoZSkge1xuICAgICAgICAgIGhhbmRsZUVycm9yKGUsIHRoaXMudm0sIChcImNhbGxiYWNr
IGZvciB3YXRjaGVyIFxcXCJcIiArICh0aGlzLmV4cHJlc3Npb24pICsgXCJcXFwiXCIpKTtcbiAg
ICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jYi5jYWxsKHRoaXMudm0sIHZh
bHVlLCBvbGRWYWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIEV2YWx1
YXRlIHRoZSB2YWx1ZSBvZiB0aGUgd2F0Y2hlci5cbiAqIFRoaXMgb25seSBnZXRzIGNhbGxlZCBm
b3IgbGF6eSB3YXRjaGVycy5cbiAqL1xuV2F0Y2hlci5wcm90b3R5cGUuZXZhbHVhdGUgPSBmdW5j
dGlvbiBldmFsdWF0ZSAoKSB7XG4gIHRoaXMudmFsdWUgPSB0aGlzLmdldCgpO1xuICB0aGlzLmRp
cnR5ID0gZmFsc2U7XG59O1xuXG4vKipcbiAqIERlcGVuZCBvbiBhbGwgZGVwcyBjb2xsZWN0ZWQg
YnkgdGhpcyB3YXRjaGVyLlxuICovXG5XYXRjaGVyLnByb3RvdHlwZS5kZXBlbmQgPSBmdW5jdGlv
biBkZXBlbmQgKCkge1xuICAgIHZhciB0aGlzJDEgPSB0aGlzO1xuXG4gIHZhciBpID0gdGhpcy5k
ZXBzLmxlbmd0aDtcbiAgd2hpbGUgKGktLSkge1xuICAgIHRoaXMkMS5kZXBzW2ldLmRlcGVuZCgp
O1xuICB9XG59O1xuXG4vKipcbiAqIFJlbW92ZSBzZWxmIGZyb20gYWxsIGRlcGVuZGVuY2llcycg
c3Vic2NyaWJlciBsaXN0LlxuICovXG5XYXRjaGVyLnByb3RvdHlwZS50ZWFyZG93biA9IGZ1bmN0
aW9uIHRlYXJkb3duICgpIHtcbiAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICBpZiAodGhpcy5h
Y3RpdmUpIHtcbiAgICAvLyByZW1vdmUgc2VsZiBmcm9tIHZtJ3Mgd2F0Y2hlciBsaXN0XG4gICAg
Ly8gdGhpcyBpcyBhIHNvbWV3aGF0IGV4cGVuc2l2ZSBvcGVyYXRpb24gc28gd2Ugc2tpcCBpdFxu
ICAgIC8vIGlmIHRoZSB2bSBpcyBiZWluZyBkZXN0cm95ZWQuXG4gICAgaWYgKCF0aGlzLnZtLl9p
c0JlaW5nRGVzdHJveWVkKSB7XG4gICAgICByZW1vdmUodGhpcy52bS5fd2F0Y2hlcnMsIHRoaXMp
O1xuICAgIH1cbiAgICB2YXIgaSA9IHRoaXMuZGVwcy5sZW5ndGg7XG4gICAgd2hpbGUgKGktLSkg
e1xuICAgICAgdGhpcyQxLmRlcHNbaV0ucmVtb3ZlU3ViKHRoaXMkMSk7XG4gICAgfVxuICAgIHRo
aXMuYWN0aXZlID0gZmFsc2U7XG4gIH1cbn07XG5cbi8qKlxuICogUmVjdXJzaXZlbHkgdHJhdmVy
c2UgYW4gb2JqZWN0IHRvIGV2b2tlIGFsbCBjb252ZXJ0ZWRcbiAqIGdldHRlcnMsIHNvIHRoYXQg
ZXZlcnkgbmVzdGVkIHByb3BlcnR5IGluc2lkZSB0aGUgb2JqZWN0XG4gKiBpcyBjb2xsZWN0ZWQg
YXMgYSBcImRlZXBcIiBkZXBlbmRlbmN5LlxuICovXG52YXIgc2Vlbk9iamVjdHMgPSBuZXcgX1Nl
dCgpO1xuZnVuY3Rpb24gdHJhdmVyc2UgKHZhbCkge1xuICBzZWVuT2JqZWN0cy5jbGVhcigpO1xu
ICBfdHJhdmVyc2UodmFsLCBzZWVuT2JqZWN0cyk7XG59XG5cbmZ1bmN0aW9uIF90cmF2ZXJzZSAo
dmFsLCBzZWVuKSB7XG4gIHZhciBpLCBrZXlzO1xuICB2YXIgaXNBID0gQXJyYXkuaXNBcnJheSh2
YWwpO1xuICBpZiAoKCFpc0EgJiYgIWlzT2JqZWN0KHZhbCkpIHx8ICFPYmplY3QuaXNFeHRlbnNp
YmxlKHZhbCkpIHtcbiAgICByZXR1cm5cbiAgfVxuICBpZiAodmFsLl9fb2JfXykge1xuICAgIHZh
ciBkZXBJZCA9IHZhbC5fX29iX18uZGVwLmlkO1xuICAgIGlmIChzZWVuLmhhcyhkZXBJZCkpIHtc
biAgICAgIHJldHVyblxuICAgIH1cbiAgICBzZWVuLmFkZChkZXBJZCk7XG4gIH1cbiAgaWYgKGlz
QSkge1xuICAgIGkgPSB2YWwubGVuZ3RoO1xuICAgIHdoaWxlIChpLS0pIHsgX3RyYXZlcnNlKHZh
bFtpXSwgc2Vlbik7IH1cbiAgfSBlbHNlIHtcbiAgICBrZXlzID0gT2JqZWN0LmtleXModmFsKTtc
biAgICBpID0ga2V5cy5sZW5ndGg7XG4gICAgd2hpbGUgKGktLSkgeyBfdHJhdmVyc2UodmFsW2tl
eXNbaV1dLCBzZWVuKTsgfVxuICB9XG59XG5cbi8qICAqL1xuXG52YXIgc2hhcmVkUHJvcGVydHlE
ZWZpbml0aW9uID0ge1xuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBjb25maWd1cmFibGU6IHRydWUs
XG4gIGdldDogbm9vcCxcbiAgc2V0OiBub29wXG59O1xuXG5mdW5jdGlvbiBwcm94eSAodGFyZ2V0
LCBzb3VyY2VLZXksIGtleSkge1xuICBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24uZ2V0ID0gZnVu
Y3Rpb24gcHJveHlHZXR0ZXIgKCkge1xuICAgIHJldHVybiB0aGlzW3NvdXJjZUtleV1ba2V5XVxu
ICB9O1xuICBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24uc2V0ID0gZnVuY3Rpb24gcHJveHlTZXR0
ZXIgKHZhbCkge1xuICAgIHRoaXNbc291cmNlS2V5XVtrZXldID0gdmFsO1xuICB9O1xuICBPYmpl
Y3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbik7
XG59XG5cbmZ1bmN0aW9uIGluaXRTdGF0ZSAodm0pIHtcbiAgdm0uX3dhdGNoZXJzID0gW107XG4g
IHZhciBvcHRzID0gdm0uJG9wdGlvbnM7XG4gIGlmIChvcHRzLnByb3BzKSB7IGluaXRQcm9wcyh2
bSwgb3B0cy5wcm9wcyk7IH1cbiAgaWYgKG9wdHMubWV0aG9kcykgeyBpbml0TWV0aG9kcyh2bSwg
b3B0cy5tZXRob2RzKTsgfVxuICBpZiAob3B0cy5kYXRhKSB7XG4gICAgaW5pdERhdGEodm0pO1xu
ICB9IGVsc2Uge1xuICAgIG9ic2VydmUodm0uX2RhdGEgPSB7fSwgdHJ1ZSAvKiBhc1Jvb3REYXRh
ICovKTtcbiAgfVxuICBpZiAob3B0cy5jb21wdXRlZCkgeyBpbml0Q29tcHV0ZWQodm0sIG9wdHMu
Y29tcHV0ZWQpOyB9XG4gIGlmIChvcHRzLndhdGNoICYmIG9wdHMud2F0Y2ggIT09IG5hdGl2ZVdh
dGNoKSB7XG4gICAgaW5pdFdhdGNoKHZtLCBvcHRzLndhdGNoKTtcbiAgfVxufVxuXG5mdW5jdGlv
biBjaGVja09wdGlvblR5cGUgKHZtLCBuYW1lKSB7XG4gIHZhciBvcHRpb24gPSB2bS4kb3B0aW9u
c1tuYW1lXTtcbiAgaWYgKCFpc1BsYWluT2JqZWN0KG9wdGlvbikpIHtcbiAgICB3YXJuKFxuICAg
ICAgKFwiY29tcG9uZW50IG9wdGlvbiBcXFwiXCIgKyBuYW1lICsgXCJcXFwiIHNob3VsZCBiZSBh
biBvYmplY3QuXCIpLFxuICAgICAgdm1cbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGluaXRQ
cm9wcyAodm0sIHByb3BzT3B0aW9ucykge1xuICB2YXIgcHJvcHNEYXRhID0gdm0uJG9wdGlvbnMu
cHJvcHNEYXRhIHx8IHt9O1xuICB2YXIgcHJvcHMgPSB2bS5fcHJvcHMgPSB7fTtcbiAgLy8gY2Fj
aGUgcHJvcCBrZXlzIHNvIHRoYXQgZnV0dXJlIHByb3BzIHVwZGF0ZXMgY2FuIGl0ZXJhdGUgdXNp
bmcgQXJyYXlcbiAgLy8gaW5zdGVhZCBvZiBkeW5hbWljIG9iamVjdCBrZXkgZW51bWVyYXRpb24u
XG4gIHZhciBrZXlzID0gdm0uJG9wdGlvbnMuX3Byb3BLZXlzID0gW107XG4gIHZhciBpc1Jvb3Qg
PSAhdm0uJHBhcmVudDtcbiAgLy8gcm9vdCBpbnN0YW5jZSBwcm9wcyBzaG91bGQgYmUgY29udmVy
dGVkXG4gIG9ic2VydmVyU3RhdGUuc2hvdWxkQ29udmVydCA9IGlzUm9vdDtcbiAgdmFyIGxvb3Ag
PSBmdW5jdGlvbiAoIGtleSApIHtcbiAgICBrZXlzLnB1c2goa2V5KTtcbiAgICB2YXIgdmFsdWUg
PSB2YWxpZGF0ZVByb3Aoa2V5LCBwcm9wc09wdGlvbnMsIHByb3BzRGF0YSwgdm0pO1xuICAgIC8q
IGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9
PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIGlmIChpc1Jlc2VydmVkQXR0cmlidXRlKGtleSkgfHwg
Y29uZmlnLmlzUmVzZXJ2ZWRBdHRyKGtleSkpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICAo
XCJcXFwiXCIgKyBrZXkgKyBcIlxcXCIgaXMgYSByZXNlcnZlZCBhdHRyaWJ1dGUgYW5kIGNhbm5v
dCBiZSB1c2VkIGFzIGNvbXBvbmVudCBwcm9wLlwiKSxcbiAgICAgICAgICB2bVxuICAgICAgICAp
O1xuICAgICAgfVxuICAgICAgZGVmaW5lUmVhY3RpdmUkJDEocHJvcHMsIGtleSwgdmFsdWUsIGZ1
bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKHZtLiRwYXJlbnQgJiYgIWlzVXBkYXRpbmdDaGlsZENv
bXBvbmVudCkge1xuICAgICAgICAgIHdhcm4oXG4gICAgICAgICAgICBcIkF2b2lkIG11dGF0aW5n
IGEgcHJvcCBkaXJlY3RseSBzaW5jZSB0aGUgdmFsdWUgd2lsbCBiZSBcIiArXG4gICAgICAgICAg
ICBcIm92ZXJ3cml0dGVuIHdoZW5ldmVyIHRoZSBwYXJlbnQgY29tcG9uZW50IHJlLXJlbmRlcnMu
IFwiICtcbiAgICAgICAgICAgIFwiSW5zdGVhZCwgdXNlIGEgZGF0YSBvciBjb21wdXRlZCBwcm9w
ZXJ0eSBiYXNlZCBvbiB0aGUgcHJvcCdzIFwiICtcbiAgICAgICAgICAgIFwidmFsdWUuIFByb3Ag
YmVpbmcgbXV0YXRlZDogXFxcIlwiICsga2V5ICsgXCJcXFwiXCIsXG4gICAgICAgICAgICB2bVxu
ICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBk
ZWZpbmVSZWFjdGl2ZSQkMShwcm9wcywga2V5LCB2YWx1ZSk7XG4gICAgfVxuICAgIC8vIHN0YXRp
YyBwcm9wcyBhcmUgYWxyZWFkeSBwcm94aWVkIG9uIHRoZSBjb21wb25lbnQncyBwcm90b3R5cGVc
biAgICAvLyBkdXJpbmcgVnVlLmV4dGVuZCgpLiBXZSBvbmx5IG5lZWQgdG8gcHJveHkgcHJvcHMg
ZGVmaW5lZCBhdFxuICAgIC8vIGluc3RhbnRpYXRpb24gaGVyZS5cbiAgICBpZiAoIShrZXkgaW4g
dm0pKSB7XG4gICAgICBwcm94eSh2bSwgXCJfcHJvcHNcIiwga2V5KTtcbiAgICB9XG4gIH07XG5c
biAgZm9yICh2YXIga2V5IGluIHByb3BzT3B0aW9ucykgbG9vcCgga2V5ICk7XG4gIG9ic2VydmVy
U3RhdGUuc2hvdWxkQ29udmVydCA9IHRydWU7XG59XG5cbmZ1bmN0aW9uIGluaXREYXRhICh2bSkg
e1xuICB2YXIgZGF0YSA9IHZtLiRvcHRpb25zLmRhdGE7XG4gIGRhdGEgPSB2bS5fZGF0YSA9IHR5
cGVvZiBkYXRhID09PSAnZnVuY3Rpb24nXG4gICAgPyBnZXREYXRhKGRhdGEsIHZtKVxuICAgIDog
ZGF0YSB8fCB7fTtcbiAgaWYgKCFpc1BsYWluT2JqZWN0KGRhdGEpKSB7XG4gICAgZGF0YSA9IHt9
O1xuICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgd2FybihcbiAg
ICAgICdkYXRhIGZ1bmN0aW9ucyBzaG91bGQgcmV0dXJuIGFuIG9iamVjdDpcXG4nICtcbiAgICAg
ICdodHRwczovL3Z1ZWpzLm9yZy92Mi9ndWlkZS9jb21wb25lbnRzLmh0bWwjZGF0YS1NdXN0LUJl
LWEtRnVuY3Rpb24nLFxuICAgICAgdm1cbiAgICApO1xuICB9XG4gIC8vIHByb3h5IGRhdGEgb24g
aW5zdGFuY2VcbiAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhkYXRhKTtcbiAgdmFyIHByb3BzID0g
dm0uJG9wdGlvbnMucHJvcHM7XG4gIHZhciBtZXRob2RzID0gdm0uJG9wdGlvbnMubWV0aG9kcztc
biAgdmFyIGkgPSBrZXlzLmxlbmd0aDtcbiAgd2hpbGUgKGktLSkge1xuICAgIHZhciBrZXkgPSBr
ZXlzW2ldO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7
XG4gICAgICBpZiAobWV0aG9kcyAmJiBoYXNPd24obWV0aG9kcywga2V5KSkge1xuICAgICAgICB3
YXJuKFxuICAgICAgICAgIChcIm1ldGhvZCBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgaGFzIGFscmVh
ZHkgYmVlbiBkZWZpbmVkIGFzIGEgZGF0YSBwcm9wZXJ0eS5cIiksXG4gICAgICAgICAgdm1cbiAg
ICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzICYmIGhhc093bihwcm9wcywg
a2V5KSkge1xuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3
YXJuKFxuICAgICAgICBcIlRoZSBkYXRhIHByb3BlcnR5IFxcXCJcIiArIGtleSArIFwiXFxcIiBp
cyBhbHJlYWR5IGRlY2xhcmVkIGFzIGEgcHJvcC4gXCIgK1xuICAgICAgICBcIlVzZSBwcm9wIGRl
ZmF1bHQgdmFsdWUgaW5zdGVhZC5cIixcbiAgICAgICAgdm1cbiAgICAgICk7XG4gICAgfSBlbHNl
IGlmICghaXNSZXNlcnZlZChrZXkpKSB7XG4gICAgICBwcm94eSh2bSwgXCJfZGF0YVwiLCBrZXkp
O1xuICAgIH1cbiAgfVxuICAvLyBvYnNlcnZlIGRhdGFcbiAgb2JzZXJ2ZShkYXRhLCB0cnVlIC8q
IGFzUm9vdERhdGEgKi8pO1xufVxuXG5mdW5jdGlvbiBnZXREYXRhIChkYXRhLCB2bSkge1xuICB0
cnkge1xuICAgIHJldHVybiBkYXRhLmNhbGwodm0pXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBoYW5k
bGVFcnJvcihlLCB2bSwgXCJkYXRhKClcIik7XG4gICAgcmV0dXJuIHt9XG4gIH1cbn1cblxudmFy
IGNvbXB1dGVkV2F0Y2hlck9wdGlvbnMgPSB7IGxhenk6IHRydWUgfTtcblxuZnVuY3Rpb24gaW5p
dENvbXB1dGVkICh2bSwgY29tcHV0ZWQpIHtcbiAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdw
cm9kdWN0aW9uJyAmJiBjaGVja09wdGlvblR5cGUodm0sICdjb21wdXRlZCcpO1xuICB2YXIgd2F0
Y2hlcnMgPSB2bS5fY29tcHV0ZWRXYXRjaGVycyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG5cbiAg
Zm9yICh2YXIga2V5IGluIGNvbXB1dGVkKSB7XG4gICAgdmFyIHVzZXJEZWYgPSBjb21wdXRlZFtr
ZXldO1xuICAgIHZhciBnZXR0ZXIgPSB0eXBlb2YgdXNlckRlZiA9PT0gJ2Z1bmN0aW9uJyA/IHVz
ZXJEZWYgOiB1c2VyRGVmLmdldDtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdw
cm9kdWN0aW9uJyAmJiBnZXR0ZXIgPT0gbnVsbCkge1xuICAgICAgd2FybihcbiAgICAgICAgKFwi
R2V0dGVyIGlzIG1pc3NpbmcgZm9yIGNvbXB1dGVkIHByb3BlcnR5IFxcXCJcIiArIGtleSArIFwi
XFxcIi5cIiksXG4gICAgICAgIHZtXG4gICAgICApO1xuICAgIH1cbiAgICAvLyBjcmVhdGUgaW50
ZXJuYWwgd2F0Y2hlciBmb3IgdGhlIGNvbXB1dGVkIHByb3BlcnR5LlxuICAgIHdhdGNoZXJzW2tl
eV0gPSBuZXcgV2F0Y2hlcih2bSwgZ2V0dGVyIHx8IG5vb3AsIG5vb3AsIGNvbXB1dGVkV2F0Y2hl
ck9wdGlvbnMpO1xuXG4gICAgLy8gY29tcG9uZW50LWRlZmluZWQgY29tcHV0ZWQgcHJvcGVydGll
cyBhcmUgYWxyZWFkeSBkZWZpbmVkIG9uIHRoZVxuICAgIC8vIGNvbXBvbmVudCBwcm90b3R5cGUu
IFdlIG9ubHkgbmVlZCB0byBkZWZpbmUgY29tcHV0ZWQgcHJvcGVydGllcyBkZWZpbmVkXG4gICAg
Ly8gYXQgaW5zdGFudGlhdGlvbiBoZXJlLlxuICAgIGlmICghKGtleSBpbiB2bSkpIHtcbiAgICAg
IGRlZmluZUNvbXB1dGVkKHZtLCBrZXksIHVzZXJEZWYpO1xuICAgIH0gZWxzZSBpZiAocHJvY2Vz
cy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgaWYgKGtleSBpbiB2bS4k
ZGF0YSkge1xuICAgICAgICB3YXJuKChcIlRoZSBjb21wdXRlZCBwcm9wZXJ0eSBcXFwiXCIgKyBr
ZXkgKyBcIlxcXCIgaXMgYWxyZWFkeSBkZWZpbmVkIGluIGRhdGEuXCIpLCB2bSk7XG4gICAgICB9
IGVsc2UgaWYgKHZtLiRvcHRpb25zLnByb3BzICYmIGtleSBpbiB2bS4kb3B0aW9ucy5wcm9wcykg
e1xuICAgICAgICB3YXJuKChcIlRoZSBjb21wdXRlZCBwcm9wZXJ0eSBcXFwiXCIgKyBrZXkgKyBc
IlxcXCIgaXMgYWxyZWFkeSBkZWZpbmVkIGFzIGEgcHJvcC5cIiksIHZtKTtcbiAgICAgIH1cbiAg
ICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVmaW5lQ29tcHV0ZWQgKHRhcmdldCwga2V5LCB1c2Vy
RGVmKSB7XG4gIGlmICh0eXBlb2YgdXNlckRlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHNoYXJl
ZFByb3BlcnR5RGVmaW5pdGlvbi5nZXQgPSBjcmVhdGVDb21wdXRlZEdldHRlcihrZXkpO1xuICAg
IHNoYXJlZFByb3BlcnR5RGVmaW5pdGlvbi5zZXQgPSBub29wO1xuICB9IGVsc2Uge1xuICAgIHNo
YXJlZFByb3BlcnR5RGVmaW5pdGlvbi5nZXQgPSB1c2VyRGVmLmdldFxuICAgICAgPyB1c2VyRGVm
LmNhY2hlICE9PSBmYWxzZVxuICAgICAgICA/IGNyZWF0ZUNvbXB1dGVkR2V0dGVyKGtleSlcbiAg
ICAgICAgOiB1c2VyRGVmLmdldFxuICAgICAgOiBub29wO1xuICAgIHNoYXJlZFByb3BlcnR5RGVm
aW5pdGlvbi5zZXQgPSB1c2VyRGVmLnNldFxuICAgICAgPyB1c2VyRGVmLnNldFxuICAgICAgOiBu
b29wO1xuICB9XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYm
XG4gICAgICBzaGFyZWRQcm9wZXJ0eURlZmluaXRpb24uc2V0ID09PSBub29wKSB7XG4gICAgc2hh
cmVkUHJvcGVydHlEZWZpbml0aW9uLnNldCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHdhcm4oXG4g
ICAgICAgIChcIkNvbXB1dGVkIHByb3BlcnR5IFxcXCJcIiArIGtleSArIFwiXFxcIiB3YXMgYXNz
aWduZWQgdG8gYnV0IGl0IGhhcyBubyBzZXR0ZXIuXCIpLFxuICAgICAgICB0aGlzXG4gICAgICAp
O1xuICAgIH07XG4gIH1cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzaGFy
ZWRQcm9wZXJ0eURlZmluaXRpb24pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVDb21wdXRlZEdldHRl
ciAoa2V5KSB7XG4gIHJldHVybiBmdW5jdGlvbiBjb21wdXRlZEdldHRlciAoKSB7XG4gICAgdmFy
IHdhdGNoZXIgPSB0aGlzLl9jb21wdXRlZFdhdGNoZXJzICYmIHRoaXMuX2NvbXB1dGVkV2F0Y2hl
cnNba2V5XTtcbiAgICBpZiAod2F0Y2hlcikge1xuICAgICAgaWYgKHdhdGNoZXIuZGlydHkpIHtc
biAgICAgICAgd2F0Y2hlci5ldmFsdWF0ZSgpO1xuICAgICAgfVxuICAgICAgaWYgKERlcC50YXJn
ZXQpIHtcbiAgICAgICAgd2F0Y2hlci5kZXBlbmQoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB3
YXRjaGVyLnZhbHVlXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGluaXRNZXRob2RzICh2bSwg
bWV0aG9kcykge1xuICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIGNo
ZWNrT3B0aW9uVHlwZSh2bSwgJ21ldGhvZHMnKTtcbiAgdmFyIHByb3BzID0gdm0uJG9wdGlvbnMu
cHJvcHM7XG4gIGZvciAodmFyIGtleSBpbiBtZXRob2RzKSB7XG4gICAgdm1ba2V5XSA9IG1ldGhv
ZHNba2V5XSA9PSBudWxsID8gbm9vcCA6IGJpbmQobWV0aG9kc1trZXldLCB2bSk7XG4gICAgaWYg
KHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIGlmIChtZXRo
b2RzW2tleV0gPT0gbnVsbCkge1xuICAgICAgICB3YXJuKFxuICAgICAgICAgIFwibWV0aG9kIFxc
XCJcIiArIGtleSArIFwiXFxcIiBoYXMgYW4gdW5kZWZpbmVkIHZhbHVlIGluIHRoZSBjb21wb25l
bnQgZGVmaW5pdGlvbi4gXCIgK1xuICAgICAgICAgIFwiRGlkIHlvdSByZWZlcmVuY2UgdGhlIGZ1
bmN0aW9uIGNvcnJlY3RseT9cIixcbiAgICAgICAgICB2bVxuICAgICAgICApO1xuICAgICAgfVxu
ICAgICAgaWYgKHByb3BzICYmIGhhc093bihwcm9wcywga2V5KSkge1xuICAgICAgICB3YXJuKFxu
ICAgICAgICAgIChcIm1ldGhvZCBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgaGFzIGFscmVhZHkgYmVl
biBkZWZpbmVkIGFzIGEgcHJvcC5cIiksXG4gICAgICAgICAgdm1cbiAgICAgICAgKTtcbiAgICAg
IH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5pdFdhdGNoICh2bSwgd2F0Y2gpIHtcbiAg
cHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBjaGVja09wdGlvblR5cGUo
dm0sICd3YXRjaCcpO1xuICBmb3IgKHZhciBrZXkgaW4gd2F0Y2gpIHtcbiAgICB2YXIgaGFuZGxl
ciA9IHdhdGNoW2tleV07XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaGFuZGxlcikpIHtcbiAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgaGFuZGxlci5sZW5ndGg7IGkrKykge1xuICAgICAgICBjcmVh
dGVXYXRjaGVyKHZtLCBrZXksIGhhbmRsZXJbaV0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4g
ICAgICBjcmVhdGVXYXRjaGVyKHZtLCBrZXksIGhhbmRsZXIpO1xuICAgIH1cbiAgfVxufVxuXG5m
dW5jdGlvbiBjcmVhdGVXYXRjaGVyIChcbiAgdm0sXG4gIGtleU9yRm4sXG4gIGhhbmRsZXIsXG4g
IG9wdGlvbnNcbikge1xuICBpZiAoaXNQbGFpbk9iamVjdChoYW5kbGVyKSkge1xuICAgIG9wdGlv
bnMgPSBoYW5kbGVyO1xuICAgIGhhbmRsZXIgPSBoYW5kbGVyLmhhbmRsZXI7XG4gIH1cbiAgaWYg
KHR5cGVvZiBoYW5kbGVyID09PSAnc3RyaW5nJykge1xuICAgIGhhbmRsZXIgPSB2bVtoYW5kbGVy
XTtcbiAgfVxuICByZXR1cm4gdm0uJHdhdGNoKGtleU9yRm4sIGhhbmRsZXIsIG9wdGlvbnMpXG59
XG5cbmZ1bmN0aW9uIHN0YXRlTWl4aW4gKFZ1ZSkge1xuICAvLyBmbG93IHNvbWVob3cgaGFzIHBy
b2JsZW1zIHdpdGggZGlyZWN0bHkgZGVjbGFyZWQgZGVmaW5pdGlvbiBvYmplY3RcbiAgLy8gd2hl
biB1c2luZyBPYmplY3QuZGVmaW5lUHJvcGVydHksIHNvIHdlIGhhdmUgdG8gcHJvY2VkdXJhbGx5
IGJ1aWxkIHVwXG4gIC8vIHRoZSBvYmplY3QgaGVyZS5cbiAgdmFyIGRhdGFEZWYgPSB7fTtcbiAg
ZGF0YURlZi5nZXQgPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzLl9kYXRhIH07XG4gIHZhciBw
cm9wc0RlZiA9IHt9O1xuICBwcm9wc0RlZi5nZXQgPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlz
Ll9wcm9wcyB9O1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykg
e1xuICAgIGRhdGFEZWYuc2V0ID0gZnVuY3Rpb24gKG5ld0RhdGEpIHtcbiAgICAgIHdhcm4oXG4g
ICAgICAgICdBdm9pZCByZXBsYWNpbmcgaW5zdGFuY2Ugcm9vdCAkZGF0YS4gJyArXG4gICAgICAg
ICdVc2UgbmVzdGVkIGRhdGEgcHJvcGVydGllcyBpbnN0ZWFkLicsXG4gICAgICAgIHRoaXNcbiAg
ICAgICk7XG4gICAgfTtcbiAgICBwcm9wc0RlZi5zZXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICB3
YXJuKFwiJHByb3BzIGlzIHJlYWRvbmx5LlwiLCB0aGlzKTtcbiAgICB9O1xuICB9XG4gIE9iamVj
dC5kZWZpbmVQcm9wZXJ0eShWdWUucHJvdG90eXBlLCAnJGRhdGEnLCBkYXRhRGVmKTtcbiAgT2Jq
ZWN0LmRlZmluZVByb3BlcnR5KFZ1ZS5wcm90b3R5cGUsICckcHJvcHMnLCBwcm9wc0RlZik7XG5c
biAgVnVlLnByb3RvdHlwZS4kc2V0ID0gc2V0O1xuICBWdWUucHJvdG90eXBlLiRkZWxldGUgPSBk
ZWw7XG5cbiAgVnVlLnByb3RvdHlwZS4kd2F0Y2ggPSBmdW5jdGlvbiAoXG4gICAgZXhwT3JGbixc
biAgICBjYixcbiAgICBvcHRpb25zXG4gICkge1xuICAgIHZhciB2bSA9IHRoaXM7XG4gICAgaWYg
KGlzUGxhaW5PYmplY3QoY2IpKSB7XG4gICAgICByZXR1cm4gY3JlYXRlV2F0Y2hlcih2bSwgZXhw
T3JGbiwgY2IsIG9wdGlvbnMpXG4gICAgfVxuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xu
ICAgIG9wdGlvbnMudXNlciA9IHRydWU7XG4gICAgdmFyIHdhdGNoZXIgPSBuZXcgV2F0Y2hlcih2
bSwgZXhwT3JGbiwgY2IsIG9wdGlvbnMpO1xuICAgIGlmIChvcHRpb25zLmltbWVkaWF0ZSkge1xu
ICAgICAgY2IuY2FsbCh2bSwgd2F0Y2hlci52YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiBmdW5j
dGlvbiB1bndhdGNoRm4gKCkge1xuICAgICAgd2F0Y2hlci50ZWFyZG93bigpO1xuICAgIH1cbiAg
fTtcbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGluaXRQcm92aWRlICh2bSkge1xuICB2YXIgcHJv
dmlkZSA9IHZtLiRvcHRpb25zLnByb3ZpZGU7XG4gIGlmIChwcm92aWRlKSB7XG4gICAgdm0uX3By
b3ZpZGVkID0gdHlwZW9mIHByb3ZpZGUgPT09ICdmdW5jdGlvbidcbiAgICAgID8gcHJvdmlkZS5j
YWxsKHZtKVxuICAgICAgOiBwcm92aWRlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGluaXRJbmplY3Rp
b25zICh2bSkge1xuICB2YXIgcmVzdWx0ID0gcmVzb2x2ZUluamVjdCh2bS4kb3B0aW9ucy5pbmpl
Y3QsIHZtKTtcbiAgaWYgKHJlc3VsdCkge1xuICAgIG9ic2VydmVyU3RhdGUuc2hvdWxkQ29udmVy
dCA9IGZhbHNlO1xuICAgIE9iamVjdC5rZXlzKHJlc3VsdCkuZm9yRWFjaChmdW5jdGlvbiAoa2V5
KSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKHByb2Nlc3Mu
ZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgZGVmaW5lUmVhY3RpdmUk
JDEodm0sIGtleSwgcmVzdWx0W2tleV0sIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB3YXJuKFxu
ICAgICAgICAgICAgXCJBdm9pZCBtdXRhdGluZyBhbiBpbmplY3RlZCB2YWx1ZSBkaXJlY3RseSBz
aW5jZSB0aGUgY2hhbmdlcyB3aWxsIGJlIFwiICtcbiAgICAgICAgICAgIFwib3ZlcndyaXR0ZW4g
d2hlbmV2ZXIgdGhlIHByb3ZpZGVkIGNvbXBvbmVudCByZS1yZW5kZXJzLiBcIiArXG4gICAgICAg
ICAgICBcImluamVjdGlvbiBiZWluZyBtdXRhdGVkOiBcXFwiXCIgKyBrZXkgKyBcIlxcXCJcIixc
biAgICAgICAgICAgIHZtXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Ug
e1xuICAgICAgICBkZWZpbmVSZWFjdGl2ZSQkMSh2bSwga2V5LCByZXN1bHRba2V5XSk7XG4gICAg
ICB9XG4gICAgfSk7XG4gICAgb2JzZXJ2ZXJTdGF0ZS5zaG91bGRDb252ZXJ0ID0gdHJ1ZTtcbiAg
fVxufVxuXG5mdW5jdGlvbiByZXNvbHZlSW5qZWN0IChpbmplY3QsIHZtKSB7XG4gIGlmIChpbmpl
Y3QpIHtcbiAgICAvLyBpbmplY3QgaXMgOmFueSBiZWNhdXNlIGZsb3cgaXMgbm90IHNtYXJ0IGVu
b3VnaCB0byBmaWd1cmUgb3V0IGNhY2hlZFxuICAgIHZhciByZXN1bHQgPSBPYmplY3QuY3JlYXRl
KG51bGwpO1xuICAgIHZhciBrZXlzID0gaGFzU3ltYm9sXG4gICAgICAgID8gUmVmbGVjdC5vd25L
ZXlzKGluamVjdClcbiAgICAgICAgOiBPYmplY3Qua2V5cyhpbmplY3QpO1xuXG4gICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tp
XTtcbiAgICAgIHZhciBwcm92aWRlS2V5ID0gaW5qZWN0W2tleV07XG4gICAgICB2YXIgc291cmNl
ID0gdm07XG4gICAgICB3aGlsZSAoc291cmNlKSB7XG4gICAgICAgIGlmIChzb3VyY2UuX3Byb3Zp
ZGVkICYmIHByb3ZpZGVLZXkgaW4gc291cmNlLl9wcm92aWRlZCkge1xuICAgICAgICAgIHJlc3Vs
dFtrZXldID0gc291cmNlLl9wcm92aWRlZFtwcm92aWRlS2V5XTtcbiAgICAgICAgICBicmVha1xu
ICAgICAgICB9XG4gICAgICAgIHNvdXJjZSA9IHNvdXJjZS4kcGFyZW50O1xuICAgICAgfVxuICAg
ICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgIXNvdXJjZSkg
e1xuICAgICAgICB3YXJuKChcIkluamVjdGlvbiBcXFwiXCIgKyBrZXkgKyBcIlxcXCIgbm90IGZv
dW5kXCIpLCB2bSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHRcbiAgfVxufVxu
XG4vKiAgKi9cblxuZnVuY3Rpb24gY3JlYXRlRnVuY3Rpb25hbENvbXBvbmVudCAoXG4gIEN0b3Is
XG4gIHByb3BzRGF0YSxcbiAgZGF0YSxcbiAgY29udGV4dCxcbiAgY2hpbGRyZW5cbikge1xuICB2
YXIgcHJvcHMgPSB7fTtcbiAgdmFyIHByb3BPcHRpb25zID0gQ3Rvci5vcHRpb25zLnByb3BzO1xu
ICBpZiAoaXNEZWYocHJvcE9wdGlvbnMpKSB7XG4gICAgZm9yICh2YXIga2V5IGluIHByb3BPcHRp
b25zKSB7XG4gICAgICBwcm9wc1trZXldID0gdmFsaWRhdGVQcm9wKGtleSwgcHJvcE9wdGlvbnMs
IHByb3BzRGF0YSB8fCB7fSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChpc0RlZihkYXRh
LmF0dHJzKSkgeyBtZXJnZVByb3BzKHByb3BzLCBkYXRhLmF0dHJzKTsgfVxuICAgIGlmIChpc0Rl
ZihkYXRhLnByb3BzKSkgeyBtZXJnZVByb3BzKHByb3BzLCBkYXRhLnByb3BzKTsgfVxuICB9XG4g
IC8vIGVuc3VyZSB0aGUgY3JlYXRlRWxlbWVudCBmdW5jdGlvbiBpbiBmdW5jdGlvbmFsIGNvbXBv
bmVudHNcbiAgLy8gZ2V0cyBhIHVuaXF1ZSBjb250ZXh0IC0gdGhpcyBpcyBuZWNlc3NhcnkgZm9y
IGNvcnJlY3QgbmFtZWQgc2xvdCBjaGVja1xuICB2YXIgX2NvbnRleHQgPSBPYmplY3QuY3JlYXRl
KGNvbnRleHQpO1xuICB2YXIgaCA9IGZ1bmN0aW9uIChhLCBiLCBjLCBkKSB7IHJldHVybiBjcmVh
dGVFbGVtZW50KF9jb250ZXh0LCBhLCBiLCBjLCBkLCB0cnVlKTsgfTtcbiAgdmFyIHZub2RlID0g
Q3Rvci5vcHRpb25zLnJlbmRlci5jYWxsKG51bGwsIGgsIHtcbiAgICBkYXRhOiBkYXRhLFxuICAg
IHByb3BzOiBwcm9wcyxcbiAgICBjaGlsZHJlbjogY2hpbGRyZW4sXG4gICAgcGFyZW50OiBjb250
ZXh0LFxuICAgIGxpc3RlbmVyczogZGF0YS5vbiB8fCB7fSxcbiAgICBpbmplY3Rpb25zOiByZXNv
bHZlSW5qZWN0KEN0b3Iub3B0aW9ucy5pbmplY3QsIGNvbnRleHQpLFxuICAgIHNsb3RzOiBmdW5j
dGlvbiAoKSB7IHJldHVybiByZXNvbHZlU2xvdHMoY2hpbGRyZW4sIGNvbnRleHQpOyB9XG4gIH0p
O1xuICBpZiAodm5vZGUgaW5zdGFuY2VvZiBWTm9kZSkge1xuICAgIHZub2RlLmZ1bmN0aW9uYWxD
b250ZXh0ID0gY29udGV4dDtcbiAgICB2bm9kZS5mdW5jdGlvbmFsT3B0aW9ucyA9IEN0b3Iub3B0
aW9ucztcbiAgICBpZiAoZGF0YS5zbG90KSB7XG4gICAgICAodm5vZGUuZGF0YSB8fCAodm5vZGUu
ZGF0YSA9IHt9KSkuc2xvdCA9IGRhdGEuc2xvdDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHZub2Rl
XG59XG5cbmZ1bmN0aW9uIG1lcmdlUHJvcHMgKHRvLCBmcm9tKSB7XG4gIGZvciAodmFyIGtleSBp
biBmcm9tKSB7XG4gICAgdG9bY2FtZWxpemUoa2V5KV0gPSBmcm9tW2tleV07XG4gIH1cbn1cblxu
LyogICovXG5cbi8vIGhvb2tzIHRvIGJlIGludm9rZWQgb24gY29tcG9uZW50IFZOb2RlcyBkdXJp
bmcgcGF0Y2hcbnZhciBjb21wb25lbnRWTm9kZUhvb2tzID0ge1xuICBpbml0OiBmdW5jdGlvbiBp
bml0IChcbiAgICB2bm9kZSxcbiAgICBoeWRyYXRpbmcsXG4gICAgcGFyZW50RWxtLFxuICAgIHJl
ZkVsbVxuICApIHtcbiAgICBpZiAoIXZub2RlLmNvbXBvbmVudEluc3RhbmNlIHx8IHZub2RlLmNv
bXBvbmVudEluc3RhbmNlLl9pc0Rlc3Ryb3llZCkge1xuICAgICAgdmFyIGNoaWxkID0gdm5vZGUu
Y29tcG9uZW50SW5zdGFuY2UgPSBjcmVhdGVDb21wb25lbnRJbnN0YW5jZUZvclZub2RlKFxuICAg
ICAgICB2bm9kZSxcbiAgICAgICAgYWN0aXZlSW5zdGFuY2UsXG4gICAgICAgIHBhcmVudEVsbSxc
biAgICAgICAgcmVmRWxtXG4gICAgICApO1xuICAgICAgY2hpbGQuJG1vdW50KGh5ZHJhdGluZyA/
IHZub2RlLmVsbSA6IHVuZGVmaW5lZCwgaHlkcmF0aW5nKTtcbiAgICB9IGVsc2UgaWYgKHZub2Rl
LmRhdGEua2VlcEFsaXZlKSB7XG4gICAgICAvLyBrZXB0LWFsaXZlIGNvbXBvbmVudHMsIHRyZWF0
IGFzIGEgcGF0Y2hcbiAgICAgIHZhciBtb3VudGVkTm9kZSA9IHZub2RlOyAvLyB3b3JrIGFyb3Vu
ZCBmbG93XG4gICAgICBjb21wb25lbnRWTm9kZUhvb2tzLnByZXBhdGNoKG1vdW50ZWROb2RlLCBt
b3VudGVkTm9kZSk7XG4gICAgfVxuICB9LFxuXG4gIHByZXBhdGNoOiBmdW5jdGlvbiBwcmVwYXRj
aCAob2xkVm5vZGUsIHZub2RlKSB7XG4gICAgdmFyIG9wdGlvbnMgPSB2bm9kZS5jb21wb25lbnRP
cHRpb25zO1xuICAgIHZhciBjaGlsZCA9IHZub2RlLmNvbXBvbmVudEluc3RhbmNlID0gb2xkVm5v
ZGUuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgdXBkYXRlQ2hpbGRDb21wb25lbnQoXG4gICAgICBj
aGlsZCxcbiAgICAgIG9wdGlvbnMucHJvcHNEYXRhLCAvLyB1cGRhdGVkIHByb3BzXG4gICAgICBv
cHRpb25zLmxpc3RlbmVycywgLy8gdXBkYXRlZCBsaXN0ZW5lcnNcbiAgICAgIHZub2RlLCAvLyBu
ZXcgcGFyZW50IHZub2RlXG4gICAgICBvcHRpb25zLmNoaWxkcmVuIC8vIG5ldyBjaGlsZHJlblxu
ICAgICk7XG4gIH0sXG5cbiAgaW5zZXJ0OiBmdW5jdGlvbiBpbnNlcnQgKHZub2RlKSB7XG4gICAg
dmFyIGNvbnRleHQgPSB2bm9kZS5jb250ZXh0O1xuICAgIHZhciBjb21wb25lbnRJbnN0YW5jZSA9
IHZub2RlLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIGlmICghY29tcG9uZW50SW5zdGFuY2UuX2lz
TW91bnRlZCkge1xuICAgICAgY29tcG9uZW50SW5zdGFuY2UuX2lzTW91bnRlZCA9IHRydWU7XG4g
ICAgICBjYWxsSG9vayhjb21wb25lbnRJbnN0YW5jZSwgJ21vdW50ZWQnKTtcbiAgICB9XG4gICAg
aWYgKHZub2RlLmRhdGEua2VlcEFsaXZlKSB7XG4gICAgICBpZiAoY29udGV4dC5faXNNb3VudGVk
KSB7XG4gICAgICAgIC8vIHZ1ZS1yb3V0ZXIjMTIxMlxuICAgICAgICAvLyBEdXJpbmcgdXBkYXRl
cywgYSBrZXB0LWFsaXZlIGNvbXBvbmVudCdzIGNoaWxkIGNvbXBvbmVudHMgbWF5XG4gICAgICAg
IC8vIGNoYW5nZSwgc28gZGlyZWN0bHkgd2Fsa2luZyB0aGUgdHJlZSBoZXJlIG1heSBjYWxsIGFj
dGl2YXRlZCBob29rc1xuICAgICAgICAvLyBvbiBpbmNvcnJlY3QgY2hpbGRyZW4uIEluc3RlYWQg
d2UgcHVzaCB0aGVtIGludG8gYSBxdWV1ZSB3aGljaCB3aWxsXG4gICAgICAgIC8vIGJlIHByb2Nl
c3NlZCBhZnRlciB0aGUgd2hvbGUgcGF0Y2ggcHJvY2VzcyBlbmRlZC5cbiAgICAgICAgcXVldWVB
Y3RpdmF0ZWRDb21wb25lbnQoY29tcG9uZW50SW5zdGFuY2UpO1xuICAgICAgfSBlbHNlIHtcbiAg
ICAgICAgYWN0aXZhdGVDaGlsZENvbXBvbmVudChjb21wb25lbnRJbnN0YW5jZSwgdHJ1ZSAvKiBk
aXJlY3QgKi8pO1xuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICBkZXN0cm95OiBmdW5jdGlvbiBk
ZXN0cm95ICh2bm9kZSkge1xuICAgIHZhciBjb21wb25lbnRJbnN0YW5jZSA9IHZub2RlLmNvbXBv
bmVudEluc3RhbmNlO1xuICAgIGlmICghY29tcG9uZW50SW5zdGFuY2UuX2lzRGVzdHJveWVkKSB7
XG4gICAgICBpZiAoIXZub2RlLmRhdGEua2VlcEFsaXZlKSB7XG4gICAgICAgIGNvbXBvbmVudElu
c3RhbmNlLiRkZXN0cm95KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWFjdGl2YXRlQ2hp
bGRDb21wb25lbnQoY29tcG9uZW50SW5zdGFuY2UsIHRydWUgLyogZGlyZWN0ICovKTtcbiAgICAg
IH1cbiAgICB9XG4gIH1cbn07XG5cbnZhciBob29rc1RvTWVyZ2UgPSBPYmplY3Qua2V5cyhjb21w
b25lbnRWTm9kZUhvb2tzKTtcblxuZnVuY3Rpb24gY3JlYXRlQ29tcG9uZW50IChcbiAgQ3Rvcixc
biAgZGF0YSxcbiAgY29udGV4dCxcbiAgY2hpbGRyZW4sXG4gIHRhZ1xuKSB7XG4gIGlmIChpc1Vu
ZGVmKEN0b3IpKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICB2YXIgYmFzZUN0b3IgPSBjb250ZXh0
LiRvcHRpb25zLl9iYXNlO1xuXG4gIC8vIHBsYWluIG9wdGlvbnMgb2JqZWN0OiB0dXJuIGl0IGlu
dG8gYSBjb25zdHJ1Y3RvclxuICBpZiAoaXNPYmplY3QoQ3RvcikpIHtcbiAgICBDdG9yID0gYmFz
ZUN0b3IuZXh0ZW5kKEN0b3IpO1xuICB9XG5cbiAgLy8gaWYgYXQgdGhpcyBzdGFnZSBpdCdzIG5v
dCBhIGNvbnN0cnVjdG9yIG9yIGFuIGFzeW5jIGNvbXBvbmVudCBmYWN0b3J5LFxuICAvLyByZWpl
Y3QuXG4gIGlmICh0eXBlb2YgQ3RvciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIGlmIChwcm9jZXNz
LmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICB3YXJuKChcIkludmFsaWQg
Q29tcG9uZW50IGRlZmluaXRpb246IFwiICsgKFN0cmluZyhDdG9yKSkpLCBjb250ZXh0KTtcbiAg
ICB9XG4gICAgcmV0dXJuXG4gIH1cblxuICAvLyBhc3luYyBjb21wb25lbnRcbiAgdmFyIGFzeW5j
RmFjdG9yeTtcbiAgaWYgKGlzVW5kZWYoQ3Rvci5jaWQpKSB7XG4gICAgYXN5bmNGYWN0b3J5ID0g
Q3RvcjtcbiAgICBDdG9yID0gcmVzb2x2ZUFzeW5jQ29tcG9uZW50KGFzeW5jRmFjdG9yeSwgYmFz
ZUN0b3IsIGNvbnRleHQpO1xuICAgIGlmIChDdG9yID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8v
IHJldHVybiBhIHBsYWNlaG9sZGVyIG5vZGUgZm9yIGFzeW5jIGNvbXBvbmVudCwgd2hpY2ggaXMg
cmVuZGVyZWRcbiAgICAgIC8vIGFzIGEgY29tbWVudCBub2RlIGJ1dCBwcmVzZXJ2ZXMgYWxsIHRo
ZSByYXcgaW5mb3JtYXRpb24gZm9yIHRoZSBub2RlLlxuICAgICAgLy8gdGhlIGluZm9ybWF0aW9u
IHdpbGwgYmUgdXNlZCBmb3IgYXN5bmMgc2VydmVyLXJlbmRlcmluZyBhbmQgaHlkcmF0aW9uLlxu
ICAgICAgcmV0dXJuIGNyZWF0ZUFzeW5jUGxhY2Vob2xkZXIoXG4gICAgICAgIGFzeW5jRmFjdG9y
eSxcbiAgICAgICAgZGF0YSxcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgY2hpbGRyZW4sXG4g
ICAgICAgIHRhZ1xuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIGRhdGEgPSBkYXRhIHx8IHt9O1xu
XG4gIC8vIHJlc29sdmUgY29uc3RydWN0b3Igb3B0aW9ucyBpbiBjYXNlIGdsb2JhbCBtaXhpbnMg
YXJlIGFwcGxpZWQgYWZ0ZXJcbiAgLy8gY29tcG9uZW50IGNvbnN0cnVjdG9yIGNyZWF0aW9uXG4g
IHJlc29sdmVDb25zdHJ1Y3Rvck9wdGlvbnMoQ3Rvcik7XG5cbiAgLy8gdHJhbnNmb3JtIGNvbXBv
bmVudCB2LW1vZGVsIGRhdGEgaW50byBwcm9wcyAmIGV2ZW50c1xuICBpZiAoaXNEZWYoZGF0YS5t
b2RlbCkpIHtcbiAgICB0cmFuc2Zvcm1Nb2RlbChDdG9yLm9wdGlvbnMsIGRhdGEpO1xuICB9XG5c
biAgLy8gZXh0cmFjdCBwcm9wc1xuICB2YXIgcHJvcHNEYXRhID0gZXh0cmFjdFByb3BzRnJvbVZO
b2RlRGF0YShkYXRhLCBDdG9yLCB0YWcpO1xuXG4gIC8vIGZ1bmN0aW9uYWwgY29tcG9uZW50XG4g
IGlmIChpc1RydWUoQ3Rvci5vcHRpb25zLmZ1bmN0aW9uYWwpKSB7XG4gICAgcmV0dXJuIGNyZWF0
ZUZ1bmN0aW9uYWxDb21wb25lbnQoQ3RvciwgcHJvcHNEYXRhLCBkYXRhLCBjb250ZXh0LCBjaGls
ZHJlbilcbiAgfVxuXG4gIC8vIGV4dHJhY3QgbGlzdGVuZXJzLCBzaW5jZSB0aGVzZSBuZWVkcyB0
byBiZSB0cmVhdGVkIGFzXG4gIC8vIGNoaWxkIGNvbXBvbmVudCBsaXN0ZW5lcnMgaW5zdGVhZCBv
ZiBET00gbGlzdGVuZXJzXG4gIHZhciBsaXN0ZW5lcnMgPSBkYXRhLm9uO1xuICAvLyByZXBsYWNl
IHdpdGggbGlzdGVuZXJzIHdpdGggLm5hdGl2ZSBtb2RpZmllclxuICAvLyBzbyBpdCBnZXRzIHBy
b2Nlc3NlZCBkdXJpbmcgcGFyZW50IGNvbXBvbmVudCBwYXRjaC5cbiAgZGF0YS5vbiA9IGRhdGEu
bmF0aXZlT247XG5cbiAgaWYgKGlzVHJ1ZShDdG9yLm9wdGlvbnMuYWJzdHJhY3QpKSB7XG4gICAg
Ly8gYWJzdHJhY3QgY29tcG9uZW50cyBkbyBub3Qga2VlcCBhbnl0aGluZ1xuICAgIC8vIG90aGVy
IHRoYW4gcHJvcHMgJiBsaXN0ZW5lcnMgJiBzbG90XG5cbiAgICAvLyB3b3JrIGFyb3VuZCBmbG93
XG4gICAgdmFyIHNsb3QgPSBkYXRhLnNsb3Q7XG4gICAgZGF0YSA9IHt9O1xuICAgIGlmIChzbG90
KSB7XG4gICAgICBkYXRhLnNsb3QgPSBzbG90O1xuICAgIH1cbiAgfVxuXG4gIC8vIG1lcmdlIGNv
bXBvbmVudCBtYW5hZ2VtZW50IGhvb2tzIG9udG8gdGhlIHBsYWNlaG9sZGVyIG5vZGVcbiAgbWVy
Z2VIb29rcyhkYXRhKTtcblxuICAvLyByZXR1cm4gYSBwbGFjZWhvbGRlciB2bm9kZVxuICB2YXIg
bmFtZSA9IEN0b3Iub3B0aW9ucy5uYW1lIHx8IHRhZztcbiAgdmFyIHZub2RlID0gbmV3IFZOb2Rl
KFxuICAgIChcInZ1ZS1jb21wb25lbnQtXCIgKyAoQ3Rvci5jaWQpICsgKG5hbWUgPyAoXCItXCIg
KyBuYW1lKSA6ICcnKSksXG4gICAgZGF0YSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5l
ZCwgY29udGV4dCxcbiAgICB7IEN0b3I6IEN0b3IsIHByb3BzRGF0YTogcHJvcHNEYXRhLCBsaXN0
ZW5lcnM6IGxpc3RlbmVycywgdGFnOiB0YWcsIGNoaWxkcmVuOiBjaGlsZHJlbiB9LFxuICAgIGFz
eW5jRmFjdG9yeVxuICApO1xuICByZXR1cm4gdm5vZGVcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ29t
cG9uZW50SW5zdGFuY2VGb3JWbm9kZSAoXG4gIHZub2RlLCAvLyB3ZSBrbm93IGl0J3MgTW91bnRl
ZENvbXBvbmVudFZOb2RlIGJ1dCBmbG93IGRvZXNuJ3RcbiAgcGFyZW50LCAvLyBhY3RpdmVJbnN0
YW5jZSBpbiBsaWZlY3ljbGUgc3RhdGVcbiAgcGFyZW50RWxtLFxuICByZWZFbG1cbikge1xuICB2
YXIgdm5vZGVDb21wb25lbnRPcHRpb25zID0gdm5vZGUuY29tcG9uZW50T3B0aW9ucztcbiAgdmFy
IG9wdGlvbnMgPSB7XG4gICAgX2lzQ29tcG9uZW50OiB0cnVlLFxuICAgIHBhcmVudDogcGFyZW50
LFxuICAgIHByb3BzRGF0YTogdm5vZGVDb21wb25lbnRPcHRpb25zLnByb3BzRGF0YSxcbiAgICBf
Y29tcG9uZW50VGFnOiB2bm9kZUNvbXBvbmVudE9wdGlvbnMudGFnLFxuICAgIF9wYXJlbnRWbm9k
ZTogdm5vZGUsXG4gICAgX3BhcmVudExpc3RlbmVyczogdm5vZGVDb21wb25lbnRPcHRpb25zLmxp
c3RlbmVycyxcbiAgICBfcmVuZGVyQ2hpbGRyZW46IHZub2RlQ29tcG9uZW50T3B0aW9ucy5jaGls
ZHJlbixcbiAgICBfcGFyZW50RWxtOiBwYXJlbnRFbG0gfHwgbnVsbCxcbiAgICBfcmVmRWxtOiBy
ZWZFbG0gfHwgbnVsbFxuICB9O1xuICAvLyBjaGVjayBpbmxpbmUtdGVtcGxhdGUgcmVuZGVyIGZ1
bmN0aW9uc1xuICB2YXIgaW5saW5lVGVtcGxhdGUgPSB2bm9kZS5kYXRhLmlubGluZVRlbXBsYXRl
O1xuICBpZiAoaXNEZWYoaW5saW5lVGVtcGxhdGUpKSB7XG4gICAgb3B0aW9ucy5yZW5kZXIgPSBp
bmxpbmVUZW1wbGF0ZS5yZW5kZXI7XG4gICAgb3B0aW9ucy5zdGF0aWNSZW5kZXJGbnMgPSBpbmxp
bmVUZW1wbGF0ZS5zdGF0aWNSZW5kZXJGbnM7XG4gIH1cbiAgcmV0dXJuIG5ldyB2bm9kZUNvbXBv
bmVudE9wdGlvbnMuQ3RvcihvcHRpb25zKVxufVxuXG5mdW5jdGlvbiBtZXJnZUhvb2tzIChkYXRh
KSB7XG4gIGlmICghZGF0YS5ob29rKSB7XG4gICAgZGF0YS5ob29rID0ge307XG4gIH1cbiAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBob29rc1RvTWVyZ2UubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIga2V5
ID0gaG9va3NUb01lcmdlW2ldO1xuICAgIHZhciBmcm9tUGFyZW50ID0gZGF0YS5ob29rW2tleV07
XG4gICAgdmFyIG91cnMgPSBjb21wb25lbnRWTm9kZUhvb2tzW2tleV07XG4gICAgZGF0YS5ob29r
W2tleV0gPSBmcm9tUGFyZW50ID8gbWVyZ2VIb29rJDEob3VycywgZnJvbVBhcmVudCkgOiBvdXJz
O1xuICB9XG59XG5cbmZ1bmN0aW9uIG1lcmdlSG9vayQxIChvbmUsIHR3bykge1xuICByZXR1cm4g
ZnVuY3Rpb24gKGEsIGIsIGMsIGQpIHtcbiAgICBvbmUoYSwgYiwgYywgZCk7XG4gICAgdHdvKGEs
IGIsIGMsIGQpO1xuICB9XG59XG5cbi8vIHRyYW5zZm9ybSBjb21wb25lbnQgdi1tb2RlbCBpbmZv
ICh2YWx1ZSBhbmQgY2FsbGJhY2spIGludG9cbi8vIHByb3AgYW5kIGV2ZW50IGhhbmRsZXIgcmVz
cGVjdGl2ZWx5LlxuZnVuY3Rpb24gdHJhbnNmb3JtTW9kZWwgKG9wdGlvbnMsIGRhdGEpIHtcbiAg
dmFyIHByb3AgPSAob3B0aW9ucy5tb2RlbCAmJiBvcHRpb25zLm1vZGVsLnByb3ApIHx8ICd2YWx1
ZSc7XG4gIHZhciBldmVudCA9IChvcHRpb25zLm1vZGVsICYmIG9wdGlvbnMubW9kZWwuZXZlbnQp
IHx8ICdpbnB1dCc7KGRhdGEucHJvcHMgfHwgKGRhdGEucHJvcHMgPSB7fSkpW3Byb3BdID0gZGF0
YS5tb2RlbC52YWx1ZTtcbiAgdmFyIG9uID0gZGF0YS5vbiB8fCAoZGF0YS5vbiA9IHt9KTtcbiAg
aWYgKGlzRGVmKG9uW2V2ZW50XSkpIHtcbiAgICBvbltldmVudF0gPSBbZGF0YS5tb2RlbC5jYWxs
YmFja10uY29uY2F0KG9uW2V2ZW50XSk7XG4gIH0gZWxzZSB7XG4gICAgb25bZXZlbnRdID0gZGF0
YS5tb2RlbC5jYWxsYmFjaztcbiAgfVxufVxuXG4vKiAgKi9cblxudmFyIFNJTVBMRV9OT1JNQUxJ
WkUgPSAxO1xudmFyIEFMV0FZU19OT1JNQUxJWkUgPSAyO1xuXG4vLyB3cmFwcGVyIGZ1bmN0aW9u
IGZvciBwcm92aWRpbmcgYSBtb3JlIGZsZXhpYmxlIGludGVyZmFjZVxuLy8gd2l0aG91dCBnZXR0
aW5nIHllbGxlZCBhdCBieSBmbG93XG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50IChcbiAgY29udGV4
dCxcbiAgdGFnLFxuICBkYXRhLFxuICBjaGlsZHJlbixcbiAgbm9ybWFsaXphdGlvblR5cGUsXG4g
IGFsd2F5c05vcm1hbGl6ZVxuKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGRhdGEpIHx8IGlzUHJp
bWl0aXZlKGRhdGEpKSB7XG4gICAgbm9ybWFsaXphdGlvblR5cGUgPSBjaGlsZHJlbjtcbiAgICBj
aGlsZHJlbiA9IGRhdGE7XG4gICAgZGF0YSA9IHVuZGVmaW5lZDtcbiAgfVxuICBpZiAoaXNUcnVl
KGFsd2F5c05vcm1hbGl6ZSkpIHtcbiAgICBub3JtYWxpemF0aW9uVHlwZSA9IEFMV0FZU19OT1JN
QUxJWkU7XG4gIH1cbiAgcmV0dXJuIF9jcmVhdGVFbGVtZW50KGNvbnRleHQsIHRhZywgZGF0YSwg
Y2hpbGRyZW4sIG5vcm1hbGl6YXRpb25UeXBlKVxufVxuXG5mdW5jdGlvbiBfY3JlYXRlRWxlbWVu
dCAoXG4gIGNvbnRleHQsXG4gIHRhZyxcbiAgZGF0YSxcbiAgY2hpbGRyZW4sXG4gIG5vcm1hbGl6
YXRpb25UeXBlXG4pIHtcbiAgaWYgKGlzRGVmKGRhdGEpICYmIGlzRGVmKChkYXRhKS5fX29iX18p
KSB7XG4gICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxu
ICAgICAgXCJBdm9pZCB1c2luZyBvYnNlcnZlZCBkYXRhIG9iamVjdCBhcyB2bm9kZSBkYXRhOiBc
IiArIChKU09OLnN0cmluZ2lmeShkYXRhKSkgKyBcIlxcblwiICtcbiAgICAgICdBbHdheXMgY3Jl
YXRlIGZyZXNoIHZub2RlIGRhdGEgb2JqZWN0cyBpbiBlYWNoIHJlbmRlciEnLFxuICAgICAgY29u
dGV4dFxuICAgICk7XG4gICAgcmV0dXJuIGNyZWF0ZUVtcHR5Vk5vZGUoKVxuICB9XG4gIC8vIG9i
amVjdCBzeW50YXggaW4gdi1iaW5kXG4gIGlmIChpc0RlZihkYXRhKSAmJiBpc0RlZihkYXRhLmlz
KSkge1xuICAgIHRhZyA9IGRhdGEuaXM7XG4gIH1cbiAgaWYgKCF0YWcpIHtcbiAgICAvLyBpbiBj
YXNlIG9mIGNvbXBvbmVudCA6aXMgc2V0IHRvIGZhbHN5IHZhbHVlXG4gICAgcmV0dXJuIGNyZWF0
ZUVtcHR5Vk5vZGUoKVxuICB9XG4gIC8vIHdhcm4gYWdhaW5zdCBub24tcHJpbWl0aXZlIGtleVxu
ICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJlxuICAgIGlzRGVm
KGRhdGEpICYmIGlzRGVmKGRhdGEua2V5KSAmJiAhaXNQcmltaXRpdmUoZGF0YS5rZXkpXG4gICkg
e1xuICAgIHdhcm4oXG4gICAgICAnQXZvaWQgdXNpbmcgbm9uLXByaW1pdGl2ZSB2YWx1ZSBhcyBr
ZXksICcgK1xuICAgICAgJ3VzZSBzdHJpbmcvbnVtYmVyIHZhbHVlIGluc3RlYWQuJyxcbiAgICAg
IGNvbnRleHRcbiAgICApO1xuICB9XG4gIC8vIHN1cHBvcnQgc2luZ2xlIGZ1bmN0aW9uIGNoaWxk
cmVuIGFzIGRlZmF1bHQgc2NvcGVkIHNsb3RcbiAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4p
ICYmXG4gICAgdHlwZW9mIGNoaWxkcmVuWzBdID09PSAnZnVuY3Rpb24nXG4gICkge1xuICAgIGRh
dGEgPSBkYXRhIHx8IHt9O1xuICAgIGRhdGEuc2NvcGVkU2xvdHMgPSB7IGRlZmF1bHQ6IGNoaWxk
cmVuWzBdIH07XG4gICAgY2hpbGRyZW4ubGVuZ3RoID0gMDtcbiAgfVxuICBpZiAobm9ybWFsaXph
dGlvblR5cGUgPT09IEFMV0FZU19OT1JNQUxJWkUpIHtcbiAgICBjaGlsZHJlbiA9IG5vcm1hbGl6
ZUNoaWxkcmVuKGNoaWxkcmVuKTtcbiAgfSBlbHNlIGlmIChub3JtYWxpemF0aW9uVHlwZSA9PT0g
U0lNUExFX05PUk1BTElaRSkge1xuICAgIGNoaWxkcmVuID0gc2ltcGxlTm9ybWFsaXplQ2hpbGRy
ZW4oY2hpbGRyZW4pO1xuICB9XG4gIHZhciB2bm9kZSwgbnM7XG4gIGlmICh0eXBlb2YgdGFnID09
PSAnc3RyaW5nJykge1xuICAgIHZhciBDdG9yO1xuICAgIG5zID0gY29uZmlnLmdldFRhZ05hbWVz
cGFjZSh0YWcpO1xuICAgIGlmIChjb25maWcuaXNSZXNlcnZlZFRhZyh0YWcpKSB7XG4gICAgICAv
LyBwbGF0Zm9ybSBidWlsdC1pbiBlbGVtZW50c1xuICAgICAgdm5vZGUgPSBuZXcgVk5vZGUoXG4g
ICAgICAgIGNvbmZpZy5wYXJzZVBsYXRmb3JtVGFnTmFtZSh0YWcpLCBkYXRhLCBjaGlsZHJlbixc
biAgICAgICAgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGNvbnRleHRcbiAgICAgICk7XG4gICAgfSBl
bHNlIGlmIChpc0RlZihDdG9yID0gcmVzb2x2ZUFzc2V0KGNvbnRleHQuJG9wdGlvbnMsICdjb21w
b25lbnRzJywgdGFnKSkpIHtcbiAgICAgIC8vIGNvbXBvbmVudFxuICAgICAgdm5vZGUgPSBjcmVh
dGVDb21wb25lbnQoQ3RvciwgZGF0YSwgY29udGV4dCwgY2hpbGRyZW4sIHRhZyk7XG4gICAgfSBl
bHNlIHtcbiAgICAgIC8vIHVua25vd24gb3IgdW5saXN0ZWQgbmFtZXNwYWNlZCBlbGVtZW50c1xu
ICAgICAgLy8gY2hlY2sgYXQgcnVudGltZSBiZWNhdXNlIGl0IG1heSBnZXQgYXNzaWduZWQgYSBu
YW1lc3BhY2Ugd2hlbiBpdHNcbiAgICAgIC8vIHBhcmVudCBub3JtYWxpemVzIGNoaWxkcmVuXG4g
ICAgICB2bm9kZSA9IG5ldyBWTm9kZShcbiAgICAgICAgdGFnLCBkYXRhLCBjaGlsZHJlbixcbiAg
ICAgICAgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGNvbnRleHRcbiAgICAgICk7XG4gICAgfVxuICB9
IGVsc2Uge1xuICAgIC8vIGRpcmVjdCBjb21wb25lbnQgb3B0aW9ucyAvIGNvbnN0cnVjdG9yXG4g
ICAgdm5vZGUgPSBjcmVhdGVDb21wb25lbnQodGFnLCBkYXRhLCBjb250ZXh0LCBjaGlsZHJlbik7
XG4gIH1cbiAgaWYgKGlzRGVmKHZub2RlKSkge1xuICAgIGlmIChucykgeyBhcHBseU5TKHZub2Rl
LCBucyk7IH1cbiAgICByZXR1cm4gdm5vZGVcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gY3JlYXRl
RW1wdHlWTm9kZSgpXG4gIH1cbn1cblxuZnVuY3Rpb24gYXBwbHlOUyAodm5vZGUsIG5zKSB7XG4g
IHZub2RlLm5zID0gbnM7XG4gIGlmICh2bm9kZS50YWcgPT09ICdmb3JlaWduT2JqZWN0Jykge1xu
ICAgIC8vIHVzZSBkZWZhdWx0IG5hbWVzcGFjZSBpbnNpZGUgZm9yZWlnbk9iamVjdFxuICAgIHJl
dHVyblxuICB9XG4gIGlmIChpc0RlZih2bm9kZS5jaGlsZHJlbikpIHtcbiAgICBmb3IgKHZhciBp
ID0gMCwgbCA9IHZub2RlLmNoaWxkcmVuLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgdmFy
IGNoaWxkID0gdm5vZGUuY2hpbGRyZW5baV07XG4gICAgICBpZiAoaXNEZWYoY2hpbGQudGFnKSAm
JiBpc1VuZGVmKGNoaWxkLm5zKSkge1xuICAgICAgICBhcHBseU5TKGNoaWxkLCBucyk7XG4gICAg
ICB9XG4gICAgfVxuICB9XG59XG5cbi8qICAqL1xuXG4vKipcbiAqIFJ1bnRpbWUgaGVscGVyIGZv
ciByZW5kZXJpbmcgdi1mb3IgbGlzdHMuXG4gKi9cbmZ1bmN0aW9uIHJlbmRlckxpc3QgKFxuICB2
YWwsXG4gIHJlbmRlclxuKSB7XG4gIHZhciByZXQsIGksIGwsIGtleXMsIGtleTtcbiAgaWYgKEFy
cmF5LmlzQXJyYXkodmFsKSB8fCB0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgIHJldCA9
IG5ldyBBcnJheSh2YWwubGVuZ3RoKTtcbiAgICBmb3IgKGkgPSAwLCBsID0gdmFsLmxlbmd0aDsg
aSA8IGw7IGkrKykge1xuICAgICAgcmV0W2ldID0gcmVuZGVyKHZhbFtpXSwgaSk7XG4gICAgfVxu
ICB9IGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XG4gICAgcmV0ID0gbmV3IEFy
cmF5KHZhbCk7XG4gICAgZm9yIChpID0gMDsgaSA8IHZhbDsgaSsrKSB7XG4gICAgICByZXRbaV0g
PSByZW5kZXIoaSArIDEsIGkpO1xuICAgIH1cbiAgfSBlbHNlIGlmIChpc09iamVjdCh2YWwpKSB7
XG4gICAga2V5cyA9IE9iamVjdC5rZXlzKHZhbCk7XG4gICAgcmV0ID0gbmV3IEFycmF5KGtleXMu
bGVuZ3RoKTtcbiAgICBmb3IgKGkgPSAwLCBsID0ga2V5cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtc
biAgICAgIGtleSA9IGtleXNbaV07XG4gICAgICByZXRbaV0gPSByZW5kZXIodmFsW2tleV0sIGtl
eSwgaSk7XG4gICAgfVxuICB9XG4gIGlmIChpc0RlZihyZXQpKSB7XG4gICAgKHJldCkuX2lzVkxp
c3QgPSB0cnVlO1xuICB9XG4gIHJldHVybiByZXRcbn1cblxuLyogICovXG5cbi8qKlxuICogUnVu
dGltZSBoZWxwZXIgZm9yIHJlbmRlcmluZyA8c2xvdD5cbiAqL1xuZnVuY3Rpb24gcmVuZGVyU2xv
dCAoXG4gIG5hbWUsXG4gIGZhbGxiYWNrLFxuICBwcm9wcyxcbiAgYmluZE9iamVjdFxuKSB7XG4g
IHZhciBzY29wZWRTbG90Rm4gPSB0aGlzLiRzY29wZWRTbG90c1tuYW1lXTtcbiAgaWYgKHNjb3Bl
ZFNsb3RGbikgeyAvLyBzY29wZWQgc2xvdFxuICAgIHByb3BzID0gcHJvcHMgfHwge307XG4gICAg
aWYgKGJpbmRPYmplY3QpIHtcbiAgICAgIHByb3BzID0gZXh0ZW5kKGV4dGVuZCh7fSwgYmluZE9i
amVjdCksIHByb3BzKTtcbiAgICB9XG4gICAgcmV0dXJuIHNjb3BlZFNsb3RGbihwcm9wcykgfHwg
ZmFsbGJhY2tcbiAgfSBlbHNlIHtcbiAgICB2YXIgc2xvdE5vZGVzID0gdGhpcy4kc2xvdHNbbmFt
ZV07XG4gICAgLy8gd2FybiBkdXBsaWNhdGUgc2xvdCB1c2FnZVxuICAgIGlmIChzbG90Tm9kZXMg
JiYgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgc2xvdE5v
ZGVzLl9yZW5kZXJlZCAmJiB3YXJuKFxuICAgICAgICBcIkR1cGxpY2F0ZSBwcmVzZW5jZSBvZiBz
bG90IFxcXCJcIiArIG5hbWUgKyBcIlxcXCIgZm91bmQgaW4gdGhlIHNhbWUgcmVuZGVyIHRyZWUg
XCIgK1xuICAgICAgICBcIi0gdGhpcyB3aWxsIGxpa2VseSBjYXVzZSByZW5kZXIgZXJyb3JzLlwi
LFxuICAgICAgICB0aGlzXG4gICAgICApO1xuICAgICAgc2xvdE5vZGVzLl9yZW5kZXJlZCA9IHRy
dWU7XG4gICAgfVxuICAgIHJldHVybiBzbG90Tm9kZXMgfHwgZmFsbGJhY2tcbiAgfVxufVxuXG4v
KiAgKi9cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3IgcmVzb2x2aW5nIGZpbHRlcnNcbiAq
L1xuZnVuY3Rpb24gcmVzb2x2ZUZpbHRlciAoaWQpIHtcbiAgcmV0dXJuIHJlc29sdmVBc3NldCh0
aGlzLiRvcHRpb25zLCAnZmlsdGVycycsIGlkLCB0cnVlKSB8fCBpZGVudGl0eVxufVxuXG4vKiAg
Ki9cblxuLyoqXG4gKiBSdW50aW1lIGhlbHBlciBmb3IgY2hlY2tpbmcga2V5Q29kZXMgZnJvbSBj
b25maWcuXG4gKi9cbmZ1bmN0aW9uIGNoZWNrS2V5Q29kZXMgKFxuICBldmVudEtleUNvZGUsXG4g
IGtleSxcbiAgYnVpbHRJbkFsaWFzXG4pIHtcbiAgdmFyIGtleUNvZGVzID0gY29uZmlnLmtleUNv
ZGVzW2tleV0gfHwgYnVpbHRJbkFsaWFzO1xuICBpZiAoQXJyYXkuaXNBcnJheShrZXlDb2Rlcykp
IHtcbiAgICByZXR1cm4ga2V5Q29kZXMuaW5kZXhPZihldmVudEtleUNvZGUpID09PSAtMVxuICB9
IGVsc2Uge1xuICAgIHJldHVybiBrZXlDb2RlcyAhPT0gZXZlbnRLZXlDb2RlXG4gIH1cbn1cblxu
LyogICovXG5cbi8qKlxuICogUnVudGltZSBoZWxwZXIgZm9yIG1lcmdpbmcgdi1iaW5kPVwib2Jq
ZWN0XCIgaW50byBhIFZOb2RlJ3MgZGF0YS5cbiAqL1xuZnVuY3Rpb24gYmluZE9iamVjdFByb3Bz
IChcbiAgZGF0YSxcbiAgdGFnLFxuICB2YWx1ZSxcbiAgYXNQcm9wLFxuICBpc1N5bmNcbikge1xu
ICBpZiAodmFsdWUpIHtcbiAgICBpZiAoIWlzT2JqZWN0KHZhbHVlKSkge1xuICAgICAgcHJvY2Vz
cy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3YXJuKFxuICAgICAgICAndi1iaW5k
IHdpdGhvdXQgYXJndW1lbnQgZXhwZWN0cyBhbiBPYmplY3Qgb3IgQXJyYXkgdmFsdWUnLFxuICAg
ICAgICB0aGlzXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJh
eSh2YWx1ZSkpIHtcbiAgICAgICAgdmFsdWUgPSB0b09iamVjdCh2YWx1ZSk7XG4gICAgICB9XG4g
ICAgICB2YXIgaGFzaDtcbiAgICAgIHZhciBsb29wID0gZnVuY3Rpb24gKCBrZXkgKSB7XG4gICAg
ICAgIGlmIChcbiAgICAgICAgICBrZXkgPT09ICdjbGFzcycgfHxcbiAgICAgICAgICBrZXkgPT09
ICdzdHlsZScgfHxcbiAgICAgICAgICBpc1Jlc2VydmVkQXR0cmlidXRlKGtleSlcbiAgICAgICAg
KSB7XG4gICAgICAgICAgaGFzaCA9IGRhdGE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAg
dmFyIHR5cGUgPSBkYXRhLmF0dHJzICYmIGRhdGEuYXR0cnMudHlwZTtcbiAgICAgICAgICBoYXNo
ID0gYXNQcm9wIHx8IGNvbmZpZy5tdXN0VXNlUHJvcCh0YWcsIHR5cGUsIGtleSlcbiAgICAgICAg
ICAgID8gZGF0YS5kb21Qcm9wcyB8fCAoZGF0YS5kb21Qcm9wcyA9IHt9KVxuICAgICAgICAgICAg
OiBkYXRhLmF0dHJzIHx8IChkYXRhLmF0dHJzID0ge30pO1xuICAgICAgICB9XG4gICAgICAgIGlm
ICghKGtleSBpbiBoYXNoKSkge1xuICAgICAgICAgIGhhc2hba2V5XSA9IHZhbHVlW2tleV07XG5c
biAgICAgICAgICBpZiAoaXNTeW5jKSB7XG4gICAgICAgICAgICB2YXIgb24gPSBkYXRhLm9uIHx8
IChkYXRhLm9uID0ge30pO1xuICAgICAgICAgICAgb25bKFwidXBkYXRlOlwiICsga2V5KV0gPSBm
dW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgICAgICAgIHZhbHVlW2tleV0gPSAkZXZlbnQ7XG4g
ICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAg
Zm9yICh2YXIga2V5IGluIHZhbHVlKSBsb29wKCBrZXkgKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJu
IGRhdGFcbn1cblxuLyogICovXG5cbi8qKlxuICogUnVudGltZSBoZWxwZXIgZm9yIHJlbmRlcmlu
ZyBzdGF0aWMgdHJlZXMuXG4gKi9cbmZ1bmN0aW9uIHJlbmRlclN0YXRpYyAoXG4gIGluZGV4LFxu
ICBpc0luRm9yXG4pIHtcbiAgdmFyIHRyZWUgPSB0aGlzLl9zdGF0aWNUcmVlc1tpbmRleF07XG4g
IC8vIGlmIGhhcyBhbHJlYWR5LXJlbmRlcmVkIHN0YXRpYyB0cmVlIGFuZCBub3QgaW5zaWRlIHYt
Zm9yLFxuICAvLyB3ZSBjYW4gcmV1c2UgdGhlIHNhbWUgdHJlZSBieSBkb2luZyBhIHNoYWxsb3cg
Y2xvbmUuXG4gIGlmICh0cmVlICYmICFpc0luRm9yKSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJy
YXkodHJlZSlcbiAgICAgID8gY2xvbmVWTm9kZXModHJlZSlcbiAgICAgIDogY2xvbmVWTm9kZSh0
cmVlKVxuICB9XG4gIC8vIG90aGVyd2lzZSwgcmVuZGVyIGEgZnJlc2ggdHJlZS5cbiAgdHJlZSA9
IHRoaXMuX3N0YXRpY1RyZWVzW2luZGV4XSA9XG4gICAgdGhpcy4kb3B0aW9ucy5zdGF0aWNSZW5k
ZXJGbnNbaW5kZXhdLmNhbGwodGhpcy5fcmVuZGVyUHJveHkpO1xuICBtYXJrU3RhdGljKHRyZWUs
IChcIl9fc3RhdGljX19cIiArIGluZGV4KSwgZmFsc2UpO1xuICByZXR1cm4gdHJlZVxufVxuXG4v
KipcbiAqIFJ1bnRpbWUgaGVscGVyIGZvciB2LW9uY2UuXG4gKiBFZmZlY3RpdmVseSBpdCBtZWFu
cyBtYXJraW5nIHRoZSBub2RlIGFzIHN0YXRpYyB3aXRoIGEgdW5pcXVlIGtleS5cbiAqL1xuZnVu
Y3Rpb24gbWFya09uY2UgKFxuICB0cmVlLFxuICBpbmRleCxcbiAga2V5XG4pIHtcbiAgbWFya1N0
YXRpYyh0cmVlLCAoXCJfX29uY2VfX1wiICsgaW5kZXggKyAoa2V5ID8gKFwiX1wiICsga2V5KSA6
IFwiXCIpKSwgdHJ1ZSk7XG4gIHJldHVybiB0cmVlXG59XG5cbmZ1bmN0aW9uIG1hcmtTdGF0aWMg
KFxuICB0cmVlLFxuICBrZXksXG4gIGlzT25jZVxuKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHRy
ZWUpKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0cmVlLmxlbmd0aDsgaSsrKSB7XG4gICAg
ICBpZiAodHJlZVtpXSAmJiB0eXBlb2YgdHJlZVtpXSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAg
bWFya1N0YXRpY05vZGUodHJlZVtpXSwgKGtleSArIFwiX1wiICsgaSksIGlzT25jZSk7XG4gICAg
ICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG1hcmtTdGF0aWNOb2RlKHRyZWUsIGtleSwgaXNP
bmNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXJrU3RhdGljTm9kZSAobm9kZSwga2V5LCBpc09u
Y2UpIHtcbiAgbm9kZS5pc1N0YXRpYyA9IHRydWU7XG4gIG5vZGUua2V5ID0ga2V5O1xuICBub2Rl
LmlzT25jZSA9IGlzT25jZTtcbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGJpbmRPYmplY3RMaXN0
ZW5lcnMgKGRhdGEsIHZhbHVlKSB7XG4gIGlmICh2YWx1ZSkge1xuICAgIGlmICghaXNQbGFpbk9i
amVjdCh2YWx1ZSkpIHtcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlv
bicgJiYgd2FybihcbiAgICAgICAgJ3Ytb24gd2l0aG91dCBhcmd1bWVudCBleHBlY3RzIGFuIE9i
amVjdCB2YWx1ZScsXG4gICAgICAgIHRoaXNcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAg
IHZhciBvbiA9IGRhdGEub24gPSBkYXRhLm9uID8gZXh0ZW5kKHt9LCBkYXRhLm9uKSA6IHt9O1xu
ICAgICAgZm9yICh2YXIga2V5IGluIHZhbHVlKSB7XG4gICAgICAgIHZhciBleGlzdGluZyA9IG9u
W2tleV07XG4gICAgICAgIHZhciBvdXJzID0gdmFsdWVba2V5XTtcbiAgICAgICAgb25ba2V5XSA9
IGV4aXN0aW5nID8gW10uY29uY2F0KG91cnMsIGV4aXN0aW5nKSA6IG91cnM7XG4gICAgICB9XG4g
ICAgfVxuICB9XG4gIHJldHVybiBkYXRhXG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBpbml0UmVu
ZGVyICh2bSkge1xuICB2bS5fdm5vZGUgPSBudWxsOyAvLyB0aGUgcm9vdCBvZiB0aGUgY2hpbGQg
dHJlZVxuICB2bS5fc3RhdGljVHJlZXMgPSBudWxsO1xuICB2YXIgcGFyZW50Vm5vZGUgPSB2bS4k
dm5vZGUgPSB2bS4kb3B0aW9ucy5fcGFyZW50Vm5vZGU7IC8vIHRoZSBwbGFjZWhvbGRlciBub2Rl
IGluIHBhcmVudCB0cmVlXG4gIHZhciByZW5kZXJDb250ZXh0ID0gcGFyZW50Vm5vZGUgJiYgcGFy
ZW50Vm5vZGUuY29udGV4dDtcbiAgdm0uJHNsb3RzID0gcmVzb2x2ZVNsb3RzKHZtLiRvcHRpb25z
Ll9yZW5kZXJDaGlsZHJlbiwgcmVuZGVyQ29udGV4dCk7XG4gIHZtLiRzY29wZWRTbG90cyA9IGVt
cHR5T2JqZWN0O1xuICAvLyBiaW5kIHRoZSBjcmVhdGVFbGVtZW50IGZuIHRvIHRoaXMgaW5zdGFu
Y2VcbiAgLy8gc28gdGhhdCB3ZSBnZXQgcHJvcGVyIHJlbmRlciBjb250ZXh0IGluc2lkZSBpdC5c
biAgLy8gYXJncyBvcmRlcjogdGFnLCBkYXRhLCBjaGlsZHJlbiwgbm9ybWFsaXphdGlvblR5cGUs
IGFsd2F5c05vcm1hbGl6ZVxuICAvLyBpbnRlcm5hbCB2ZXJzaW9uIGlzIHVzZWQgYnkgcmVuZGVy
IGZ1bmN0aW9ucyBjb21waWxlZCBmcm9tIHRlbXBsYXRlc1xuICB2bS5fYyA9IGZ1bmN0aW9uIChh
LCBiLCBjLCBkKSB7IHJldHVybiBjcmVhdGVFbGVtZW50KHZtLCBhLCBiLCBjLCBkLCBmYWxzZSk7
IH07XG4gIC8vIG5vcm1hbGl6YXRpb24gaXMgYWx3YXlzIGFwcGxpZWQgZm9yIHRoZSBwdWJsaWMg
dmVyc2lvbiwgdXNlZCBpblxuICAvLyB1c2VyLXdyaXR0ZW4gcmVuZGVyIGZ1bmN0aW9ucy5cbiAg
dm0uJGNyZWF0ZUVsZW1lbnQgPSBmdW5jdGlvbiAoYSwgYiwgYywgZCkgeyByZXR1cm4gY3JlYXRl
RWxlbWVudCh2bSwgYSwgYiwgYywgZCwgdHJ1ZSk7IH07XG5cbiAgLy8gJGF0dHJzICYgJGxpc3Rl
bmVycyBhcmUgZXhwb3NlZCBmb3IgZWFzaWVyIEhPQyBjcmVhdGlvbi5cbiAgLy8gdGhleSBuZWVk
IHRvIGJlIHJlYWN0aXZlIHNvIHRoYXQgSE9DcyB1c2luZyB0aGVtIGFyZSBhbHdheXMgdXBkYXRl
ZFxuICB2YXIgcGFyZW50RGF0YSA9IHBhcmVudFZub2RlICYmIHBhcmVudFZub2RlLmRhdGE7XG4g
IC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAh
PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgZGVmaW5lUmVhY3RpdmUkJDEodm0sICckYXR0cnMnLCBw
YXJlbnREYXRhICYmIHBhcmVudERhdGEuYXR0cnMsIGZ1bmN0aW9uICgpIHtcbiAgICAgICFpc1Vw
ZGF0aW5nQ2hpbGRDb21wb25lbnQgJiYgd2FybihcIiRhdHRycyBpcyByZWFkb25seS5cIiwgdm0p
O1xuICAgIH0sIHRydWUpO1xuICAgIGRlZmluZVJlYWN0aXZlJCQxKHZtLCAnJGxpc3RlbmVycycs
IHZtLiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnMsIGZ1bmN0aW9uICgpIHtcbiAgICAgICFpc1Vw
ZGF0aW5nQ2hpbGRDb21wb25lbnQgJiYgd2FybihcIiRsaXN0ZW5lcnMgaXMgcmVhZG9ubHkuXCIs
IHZtKTtcbiAgICB9LCB0cnVlKTtcbiAgfSBlbHNlIHtcbiAgICBkZWZpbmVSZWFjdGl2ZSQkMSh2
bSwgJyRhdHRycycsIHBhcmVudERhdGEgJiYgcGFyZW50RGF0YS5hdHRycywgbnVsbCwgdHJ1ZSk7
XG4gICAgZGVmaW5lUmVhY3RpdmUkJDEodm0sICckbGlzdGVuZXJzJywgdm0uJG9wdGlvbnMuX3Bh
cmVudExpc3RlbmVycywgbnVsbCwgdHJ1ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVuZGVyTWl4
aW4gKFZ1ZSkge1xuICBWdWUucHJvdG90eXBlLiRuZXh0VGljayA9IGZ1bmN0aW9uIChmbikge1xu
ICAgIHJldHVybiBuZXh0VGljayhmbiwgdGhpcylcbiAgfTtcblxuICBWdWUucHJvdG90eXBlLl9y
ZW5kZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHZtID0gdGhpcztcbiAgICB2YXIgcmVmID0g
dm0uJG9wdGlvbnM7XG4gICAgdmFyIHJlbmRlciA9IHJlZi5yZW5kZXI7XG4gICAgdmFyIHN0YXRp
Y1JlbmRlckZucyA9IHJlZi5zdGF0aWNSZW5kZXJGbnM7XG4gICAgdmFyIF9wYXJlbnRWbm9kZSA9
IHJlZi5fcGFyZW50Vm5vZGU7XG5cbiAgICBpZiAodm0uX2lzTW91bnRlZCkge1xuICAgICAgLy8g
Y2xvbmUgc2xvdCBub2RlcyBvbiByZS1yZW5kZXJzXG4gICAgICBmb3IgKHZhciBrZXkgaW4gdm0u
JHNsb3RzKSB7XG4gICAgICAgIHZtLiRzbG90c1trZXldID0gY2xvbmVWTm9kZXModm0uJHNsb3Rz
W2tleV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZtLiRzY29wZWRTbG90cyA9IChfcGFyZW50
Vm5vZGUgJiYgX3BhcmVudFZub2RlLmRhdGEuc2NvcGVkU2xvdHMpIHx8IGVtcHR5T2JqZWN0O1xu
XG4gICAgaWYgKHN0YXRpY1JlbmRlckZucyAmJiAhdm0uX3N0YXRpY1RyZWVzKSB7XG4gICAgICB2
bS5fc3RhdGljVHJlZXMgPSBbXTtcbiAgICB9XG4gICAgLy8gc2V0IHBhcmVudCB2bm9kZS4gdGhp
cyBhbGxvd3MgcmVuZGVyIGZ1bmN0aW9ucyB0byBoYXZlIGFjY2Vzc1xuICAgIC8vIHRvIHRoZSBk
YXRhIG9uIHRoZSBwbGFjZWhvbGRlciBub2RlLlxuICAgIHZtLiR2bm9kZSA9IF9wYXJlbnRWbm9k
ZTtcbiAgICAvLyByZW5kZXIgc2VsZlxuICAgIHZhciB2bm9kZTtcbiAgICB0cnkge1xuICAgICAg
dm5vZGUgPSByZW5kZXIuY2FsbCh2bS5fcmVuZGVyUHJveHksIHZtLiRjcmVhdGVFbGVtZW50KTtc
biAgICB9IGNhdGNoIChlKSB7XG4gICAgICBoYW5kbGVFcnJvcihlLCB2bSwgXCJyZW5kZXIgZnVu
Y3Rpb25cIik7XG4gICAgICAvLyByZXR1cm4gZXJyb3IgcmVuZGVyIHJlc3VsdCxcbiAgICAgIC8v
IG9yIHByZXZpb3VzIHZub2RlIHRvIHByZXZlbnQgcmVuZGVyIGVycm9yIGNhdXNpbmcgYmxhbmsg
Y29tcG9uZW50XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKHBy
b2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgdm5vZGUgPSB2
bS4kb3B0aW9ucy5yZW5kZXJFcnJvclxuICAgICAgICAgID8gdm0uJG9wdGlvbnMucmVuZGVyRXJy
b3IuY2FsbCh2bS5fcmVuZGVyUHJveHksIHZtLiRjcmVhdGVFbGVtZW50LCBlKVxuICAgICAgICAg
IDogdm0uX3Zub2RlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdm5vZGUgPSB2bS5fdm5vZGU7
XG4gICAgICB9XG4gICAgfVxuICAgIC8vIHJldHVybiBlbXB0eSB2bm9kZSBpbiBjYXNlIHRoZSBy
ZW5kZXIgZnVuY3Rpb24gZXJyb3JlZCBvdXRcbiAgICBpZiAoISh2bm9kZSBpbnN0YW5jZW9mIFZO
b2RlKSkge1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicg
JiYgQXJyYXkuaXNBcnJheSh2bm9kZSkpIHtcbiAgICAgICAgd2FybihcbiAgICAgICAgICAnTXVs
dGlwbGUgcm9vdCBub2RlcyByZXR1cm5lZCBmcm9tIHJlbmRlciBmdW5jdGlvbi4gUmVuZGVyIGZ1
bmN0aW9uICcgK1xuICAgICAgICAgICdzaG91bGQgcmV0dXJuIGEgc2luZ2xlIHJvb3Qgbm9kZS4n
LFxuICAgICAgICAgIHZtXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB2bm9kZSA9IGNyZWF0
ZUVtcHR5Vk5vZGUoKTtcbiAgICB9XG4gICAgLy8gc2V0IHBhcmVudFxuICAgIHZub2RlLnBhcmVu
dCA9IF9wYXJlbnRWbm9kZTtcbiAgICByZXR1cm4gdm5vZGVcbiAgfTtcblxuICAvLyBpbnRlcm5h
bCByZW5kZXIgaGVscGVycy5cbiAgLy8gdGhlc2UgYXJlIGV4cG9zZWQgb24gdGhlIGluc3RhbmNl
IHByb3RvdHlwZSB0byByZWR1Y2UgZ2VuZXJhdGVkIHJlbmRlclxuICAvLyBjb2RlIHNpemUuXG4g
IFZ1ZS5wcm90b3R5cGUuX28gPSBtYXJrT25jZTtcbiAgVnVlLnByb3RvdHlwZS5fbiA9IHRvTnVt
YmVyO1xuICBWdWUucHJvdG90eXBlLl9zID0gdG9TdHJpbmc7XG4gIFZ1ZS5wcm90b3R5cGUuX2wg
PSByZW5kZXJMaXN0O1xuICBWdWUucHJvdG90eXBlLl90ID0gcmVuZGVyU2xvdDtcbiAgVnVlLnBy
b3RvdHlwZS5fcSA9IGxvb3NlRXF1YWw7XG4gIFZ1ZS5wcm90b3R5cGUuX2kgPSBsb29zZUluZGV4
T2Y7XG4gIFZ1ZS5wcm90b3R5cGUuX20gPSByZW5kZXJTdGF0aWM7XG4gIFZ1ZS5wcm90b3R5cGUu
X2YgPSByZXNvbHZlRmlsdGVyO1xuICBWdWUucHJvdG90eXBlLl9rID0gY2hlY2tLZXlDb2Rlcztc
biAgVnVlLnByb3RvdHlwZS5fYiA9IGJpbmRPYmplY3RQcm9wcztcbiAgVnVlLnByb3RvdHlwZS5f
diA9IGNyZWF0ZVRleHRWTm9kZTtcbiAgVnVlLnByb3RvdHlwZS5fZSA9IGNyZWF0ZUVtcHR5Vk5v
ZGU7XG4gIFZ1ZS5wcm90b3R5cGUuX3UgPSByZXNvbHZlU2NvcGVkU2xvdHM7XG4gIFZ1ZS5wcm90
b3R5cGUuX2cgPSBiaW5kT2JqZWN0TGlzdGVuZXJzO1xufVxuXG4vKiAgKi9cblxudmFyIHVpZCQx
ID0gMDtcblxuZnVuY3Rpb24gaW5pdE1peGluIChWdWUpIHtcbiAgVnVlLnByb3RvdHlwZS5faW5p
dCA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XG4gICAgdmFyIHZtID0gdGhpcztcbiAgICAvLyBhIHVp
ZFxuICAgIHZtLl91aWQgPSB1aWQkMSsrO1xuXG4gICAgdmFyIHN0YXJ0VGFnLCBlbmRUYWc7XG4g
ICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5W
ICE9PSAncHJvZHVjdGlvbicgJiYgY29uZmlnLnBlcmZvcm1hbmNlICYmIG1hcmspIHtcbiAgICAg
IHN0YXJ0VGFnID0gXCJ2dWUtcGVyZi1pbml0OlwiICsgKHZtLl91aWQpO1xuICAgICAgZW5kVGFn
ID0gXCJ2dWUtcGVyZi1lbmQ6XCIgKyAodm0uX3VpZCk7XG4gICAgICBtYXJrKHN0YXJ0VGFnKTtc
biAgICB9XG5cbiAgICAvLyBhIGZsYWcgdG8gYXZvaWQgdGhpcyBiZWluZyBvYnNlcnZlZFxuICAg
IHZtLl9pc1Z1ZSA9IHRydWU7XG4gICAgLy8gbWVyZ2Ugb3B0aW9uc1xuICAgIGlmIChvcHRpb25z
ICYmIG9wdGlvbnMuX2lzQ29tcG9uZW50KSB7XG4gICAgICAvLyBvcHRpbWl6ZSBpbnRlcm5hbCBj
b21wb25lbnQgaW5zdGFudGlhdGlvblxuICAgICAgLy8gc2luY2UgZHluYW1pYyBvcHRpb25zIG1l
cmdpbmcgaXMgcHJldHR5IHNsb3csIGFuZCBub25lIG9mIHRoZVxuICAgICAgLy8gaW50ZXJuYWwg
Y29tcG9uZW50IG9wdGlvbnMgbmVlZHMgc3BlY2lhbCB0cmVhdG1lbnQuXG4gICAgICBpbml0SW50
ZXJuYWxDb21wb25lbnQodm0sIG9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2bS4kb3B0
aW9ucyA9IG1lcmdlT3B0aW9ucyhcbiAgICAgICAgcmVzb2x2ZUNvbnN0cnVjdG9yT3B0aW9ucyh2
bS5jb25zdHJ1Y3RvciksXG4gICAgICAgIG9wdGlvbnMgfHwge30sXG4gICAgICAgIHZtXG4gICAg
ICApO1xuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChwcm9j
ZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBpbml0UHJveHkodm0p
O1xuICAgIH0gZWxzZSB7XG4gICAgICB2bS5fcmVuZGVyUHJveHkgPSB2bTtcbiAgICB9XG4gICAg
Ly8gZXhwb3NlIHJlYWwgc2VsZlxuICAgIHZtLl9zZWxmID0gdm07XG4gICAgaW5pdExpZmVjeWNs
ZSh2bSk7XG4gICAgaW5pdEV2ZW50cyh2bSk7XG4gICAgaW5pdFJlbmRlcih2bSk7XG4gICAgY2Fs
bEhvb2sodm0sICdiZWZvcmVDcmVhdGUnKTtcbiAgICBpbml0SW5qZWN0aW9ucyh2bSk7IC8vIHJl
c29sdmUgaW5qZWN0aW9ucyBiZWZvcmUgZGF0YS9wcm9wc1xuICAgIGluaXRTdGF0ZSh2bSk7XG4g
ICAgaW5pdFByb3ZpZGUodm0pOyAvLyByZXNvbHZlIHByb3ZpZGUgYWZ0ZXIgZGF0YS9wcm9wc1xu
ICAgIGNhbGxIb29rKHZtLCAnY3JlYXRlZCcpO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlm
ICovXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgY29u
ZmlnLnBlcmZvcm1hbmNlICYmIG1hcmspIHtcbiAgICAgIHZtLl9uYW1lID0gZm9ybWF0Q29tcG9u
ZW50TmFtZSh2bSwgZmFsc2UpO1xuICAgICAgbWFyayhlbmRUYWcpO1xuICAgICAgbWVhc3VyZSgo
KHZtLl9uYW1lKSArIFwiIGluaXRcIiksIHN0YXJ0VGFnLCBlbmRUYWcpO1xuICAgIH1cblxuICAg
IGlmICh2bS4kb3B0aW9ucy5lbCkge1xuICAgICAgdm0uJG1vdW50KHZtLiRvcHRpb25zLmVsKTtc
biAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIGluaXRJbnRlcm5hbENvbXBvbmVudCAodm0sIG9w
dGlvbnMpIHtcbiAgdmFyIG9wdHMgPSB2bS4kb3B0aW9ucyA9IE9iamVjdC5jcmVhdGUodm0uY29u
c3RydWN0b3Iub3B0aW9ucyk7XG4gIC8vIGRvaW5nIHRoaXMgYmVjYXVzZSBpdCdzIGZhc3RlciB0
aGFuIGR5bmFtaWMgZW51bWVyYXRpb24uXG4gIG9wdHMucGFyZW50ID0gb3B0aW9ucy5wYXJlbnQ7
XG4gIG9wdHMucHJvcHNEYXRhID0gb3B0aW9ucy5wcm9wc0RhdGE7XG4gIG9wdHMuX3BhcmVudFZu
b2RlID0gb3B0aW9ucy5fcGFyZW50Vm5vZGU7XG4gIG9wdHMuX3BhcmVudExpc3RlbmVycyA9IG9w
dGlvbnMuX3BhcmVudExpc3RlbmVycztcbiAgb3B0cy5fcmVuZGVyQ2hpbGRyZW4gPSBvcHRpb25z
Ll9yZW5kZXJDaGlsZHJlbjtcbiAgb3B0cy5fY29tcG9uZW50VGFnID0gb3B0aW9ucy5fY29tcG9u
ZW50VGFnO1xuICBvcHRzLl9wYXJlbnRFbG0gPSBvcHRpb25zLl9wYXJlbnRFbG07XG4gIG9wdHMu
X3JlZkVsbSA9IG9wdGlvbnMuX3JlZkVsbTtcbiAgaWYgKG9wdGlvbnMucmVuZGVyKSB7XG4gICAg
b3B0cy5yZW5kZXIgPSBvcHRpb25zLnJlbmRlcjtcbiAgICBvcHRzLnN0YXRpY1JlbmRlckZucyA9
IG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVDb25z
dHJ1Y3Rvck9wdGlvbnMgKEN0b3IpIHtcbiAgdmFyIG9wdGlvbnMgPSBDdG9yLm9wdGlvbnM7XG4g
IGlmIChDdG9yLnN1cGVyKSB7XG4gICAgdmFyIHN1cGVyT3B0aW9ucyA9IHJlc29sdmVDb25zdHJ1
Y3Rvck9wdGlvbnMoQ3Rvci5zdXBlcik7XG4gICAgdmFyIGNhY2hlZFN1cGVyT3B0aW9ucyA9IEN0
b3Iuc3VwZXJPcHRpb25zO1xuICAgIGlmIChzdXBlck9wdGlvbnMgIT09IGNhY2hlZFN1cGVyT3B0
aW9ucykge1xuICAgICAgLy8gc3VwZXIgb3B0aW9uIGNoYW5nZWQsXG4gICAgICAvLyBuZWVkIHRv
IHJlc29sdmUgbmV3IG9wdGlvbnMuXG4gICAgICBDdG9yLnN1cGVyT3B0aW9ucyA9IHN1cGVyT3B0
aW9ucztcbiAgICAgIC8vIGNoZWNrIGlmIHRoZXJlIGFyZSBhbnkgbGF0ZS1tb2RpZmllZC9hdHRh
Y2hlZCBvcHRpb25zICgjNDk3NilcbiAgICAgIHZhciBtb2RpZmllZE9wdGlvbnMgPSByZXNvbHZl
TW9kaWZpZWRPcHRpb25zKEN0b3IpO1xuICAgICAgLy8gdXBkYXRlIGJhc2UgZXh0ZW5kIG9wdGlv
bnNcbiAgICAgIGlmIChtb2RpZmllZE9wdGlvbnMpIHtcbiAgICAgICAgZXh0ZW5kKEN0b3IuZXh0
ZW5kT3B0aW9ucywgbW9kaWZpZWRPcHRpb25zKTtcbiAgICAgIH1cbiAgICAgIG9wdGlvbnMgPSBD
dG9yLm9wdGlvbnMgPSBtZXJnZU9wdGlvbnMoc3VwZXJPcHRpb25zLCBDdG9yLmV4dGVuZE9wdGlv
bnMpO1xuICAgICAgaWYgKG9wdGlvbnMubmFtZSkge1xuICAgICAgICBvcHRpb25zLmNvbXBvbmVu
dHNbb3B0aW9ucy5uYW1lXSA9IEN0b3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBv
cHRpb25zXG59XG5cbmZ1bmN0aW9uIHJlc29sdmVNb2RpZmllZE9wdGlvbnMgKEN0b3IpIHtcbiAg
dmFyIG1vZGlmaWVkO1xuICB2YXIgbGF0ZXN0ID0gQ3Rvci5vcHRpb25zO1xuICB2YXIgZXh0ZW5k
ZWQgPSBDdG9yLmV4dGVuZE9wdGlvbnM7XG4gIHZhciBzZWFsZWQgPSBDdG9yLnNlYWxlZE9wdGlv
bnM7XG4gIGZvciAodmFyIGtleSBpbiBsYXRlc3QpIHtcbiAgICBpZiAobGF0ZXN0W2tleV0gIT09
IHNlYWxlZFtrZXldKSB7XG4gICAgICBpZiAoIW1vZGlmaWVkKSB7IG1vZGlmaWVkID0ge307IH1c
biAgICAgIG1vZGlmaWVkW2tleV0gPSBkZWR1cGUobGF0ZXN0W2tleV0sIGV4dGVuZGVkW2tleV0s
IHNlYWxlZFtrZXldKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG1vZGlmaWVkXG59XG5cbmZ1bmN0
aW9uIGRlZHVwZSAobGF0ZXN0LCBleHRlbmRlZCwgc2VhbGVkKSB7XG4gIC8vIGNvbXBhcmUgbGF0
ZXN0IGFuZCBzZWFsZWQgdG8gZW5zdXJlIGxpZmVjeWNsZSBob29rcyB3b24ndCBiZSBkdXBsaWNh
dGVkXG4gIC8vIGJldHdlZW4gbWVyZ2VzXG4gIGlmIChBcnJheS5pc0FycmF5KGxhdGVzdCkpIHtc
biAgICB2YXIgcmVzID0gW107XG4gICAgc2VhbGVkID0gQXJyYXkuaXNBcnJheShzZWFsZWQpID8g
c2VhbGVkIDogW3NlYWxlZF07XG4gICAgZXh0ZW5kZWQgPSBBcnJheS5pc0FycmF5KGV4dGVuZGVk
KSA/IGV4dGVuZGVkIDogW2V4dGVuZGVkXTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxhdGVz
dC5sZW5ndGg7IGkrKykge1xuICAgICAgLy8gcHVzaCBvcmlnaW5hbCBvcHRpb25zIGFuZCBub3Qg
c2VhbGVkIG9wdGlvbnMgdG8gZXhjbHVkZSBkdXBsaWNhdGVkIG9wdGlvbnNcbiAgICAgIGlmIChl
eHRlbmRlZC5pbmRleE9mKGxhdGVzdFtpXSkgPj0gMCB8fCBzZWFsZWQuaW5kZXhPZihsYXRlc3Rb
aV0pIDwgMCkge1xuICAgICAgICByZXMucHVzaChsYXRlc3RbaV0pO1xuICAgICAgfVxuICAgIH1c
biAgICByZXR1cm4gcmVzXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGxhdGVzdFxuICB9XG59XG5c
bmZ1bmN0aW9uIFZ1ZSQzIChvcHRpb25zKSB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAh
PT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAgISh0aGlzIGluc3RhbmNlb2YgVnVlJDMpXG4gICkge1xu
ICAgIHdhcm4oJ1Z1ZSBpcyBhIGNvbnN0cnVjdG9yIGFuZCBzaG91bGQgYmUgY2FsbGVkIHdpdGgg
dGhlIGBuZXdgIGtleXdvcmQnKTtcbiAgfVxuICB0aGlzLl9pbml0KG9wdGlvbnMpO1xufVxuXG5p
bml0TWl4aW4oVnVlJDMpO1xuc3RhdGVNaXhpbihWdWUkMyk7XG5ldmVudHNNaXhpbihWdWUkMyk7
XG5saWZlY3ljbGVNaXhpbihWdWUkMyk7XG5yZW5kZXJNaXhpbihWdWUkMyk7XG5cbi8qICAqL1xu
XG5mdW5jdGlvbiBpbml0VXNlIChWdWUpIHtcbiAgVnVlLnVzZSA9IGZ1bmN0aW9uIChwbHVnaW4p
IHtcbiAgICB2YXIgaW5zdGFsbGVkUGx1Z2lucyA9ICh0aGlzLl9pbnN0YWxsZWRQbHVnaW5zIHx8
ICh0aGlzLl9pbnN0YWxsZWRQbHVnaW5zID0gW10pKTtcbiAgICBpZiAoaW5zdGFsbGVkUGx1Z2lu
cy5pbmRleE9mKHBsdWdpbikgPiAtMSkge1xuICAgICAgcmV0dXJuIHRoaXNcbiAgICB9XG5cbiAg
ICAvLyBhZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICB2YXIgYXJncyA9IHRvQXJyYXkoYXJndW1l
bnRzLCAxKTtcbiAgICBhcmdzLnVuc2hpZnQodGhpcyk7XG4gICAgaWYgKHR5cGVvZiBwbHVnaW4u
aW5zdGFsbCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcGx1Z2luLmluc3RhbGwuYXBwbHkocGx1
Z2luLCBhcmdzKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBwbHVnaW4gPT09ICdmdW5jdGlvbicp
IHtcbiAgICAgIHBsdWdpbi5hcHBseShudWxsLCBhcmdzKTtcbiAgICB9XG4gICAgaW5zdGFsbGVk
UGx1Z2lucy5wdXNoKHBsdWdpbik7XG4gICAgcmV0dXJuIHRoaXNcbiAgfTtcbn1cblxuLyogICov
XG5cbmZ1bmN0aW9uIGluaXRNaXhpbiQxIChWdWUpIHtcbiAgVnVlLm1peGluID0gZnVuY3Rpb24g
KG1peGluKSB7XG4gICAgdGhpcy5vcHRpb25zID0gbWVyZ2VPcHRpb25zKHRoaXMub3B0aW9ucywg
bWl4aW4pO1xuICAgIHJldHVybiB0aGlzXG4gIH07XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBp
bml0RXh0ZW5kIChWdWUpIHtcbiAgLyoqXG4gICAqIEVhY2ggaW5zdGFuY2UgY29uc3RydWN0b3Is
IGluY2x1ZGluZyBWdWUsIGhhcyBhIHVuaXF1ZVxuICAgKiBjaWQuIFRoaXMgZW5hYmxlcyB1cyB0
byBjcmVhdGUgd3JhcHBlZCBcImNoaWxkXG4gICAqIGNvbnN0cnVjdG9yc1wiIGZvciBwcm90b3R5
cGFsIGluaGVyaXRhbmNlIGFuZCBjYWNoZSB0aGVtLlxuICAgKi9cbiAgVnVlLmNpZCA9IDA7XG4g
IHZhciBjaWQgPSAxO1xuXG4gIC8qKlxuICAgKiBDbGFzcyBpbmhlcml0YW5jZVxuICAgKi9cbiAg
VnVlLmV4dGVuZCA9IGZ1bmN0aW9uIChleHRlbmRPcHRpb25zKSB7XG4gICAgZXh0ZW5kT3B0aW9u
cyA9IGV4dGVuZE9wdGlvbnMgfHwge307XG4gICAgdmFyIFN1cGVyID0gdGhpcztcbiAgICB2YXIg
U3VwZXJJZCA9IFN1cGVyLmNpZDtcbiAgICB2YXIgY2FjaGVkQ3RvcnMgPSBleHRlbmRPcHRpb25z
Ll9DdG9yIHx8IChleHRlbmRPcHRpb25zLl9DdG9yID0ge30pO1xuICAgIGlmIChjYWNoZWRDdG9y
c1tTdXBlcklkXSkge1xuICAgICAgcmV0dXJuIGNhY2hlZEN0b3JzW1N1cGVySWRdXG4gICAgfVxu
XG4gICAgdmFyIG5hbWUgPSBleHRlbmRPcHRpb25zLm5hbWUgfHwgU3VwZXIub3B0aW9ucy5uYW1l
O1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAg
ICBpZiAoIS9eW2EtekEtWl1bXFx3LV0qJC8udGVzdChuYW1lKSkge1xuICAgICAgICB3YXJuKFxu
ICAgICAgICAgICdJbnZhbGlkIGNvbXBvbmVudCBuYW1lOiBcIicgKyBuYW1lICsgJ1wiLiBDb21w
b25lbnQgbmFtZXMgJyArXG4gICAgICAgICAgJ2NhbiBvbmx5IGNvbnRhaW4gYWxwaGFudW1lcmlj
IGNoYXJhY3RlcnMgYW5kIHRoZSBoeXBoZW4sICcgK1xuICAgICAgICAgICdhbmQgbXVzdCBzdGFy
dCB3aXRoIGEgbGV0dGVyLidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIg
U3ViID0gZnVuY3Rpb24gVnVlQ29tcG9uZW50IChvcHRpb25zKSB7XG4gICAgICB0aGlzLl9pbml0
KG9wdGlvbnMpO1xuICAgIH07XG4gICAgU3ViLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoU3Vw
ZXIucHJvdG90eXBlKTtcbiAgICBTdWIucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gU3ViO1xuICAg
IFN1Yi5jaWQgPSBjaWQrKztcbiAgICBTdWIub3B0aW9ucyA9IG1lcmdlT3B0aW9ucyhcbiAgICAg
IFN1cGVyLm9wdGlvbnMsXG4gICAgICBleHRlbmRPcHRpb25zXG4gICAgKTtcbiAgICBTdWJbJ3N1
cGVyJ10gPSBTdXBlcjtcblxuICAgIC8vIEZvciBwcm9wcyBhbmQgY29tcHV0ZWQgcHJvcGVydGll
cywgd2UgZGVmaW5lIHRoZSBwcm94eSBnZXR0ZXJzIG9uXG4gICAgLy8gdGhlIFZ1ZSBpbnN0YW5j
ZXMgYXQgZXh0ZW5zaW9uIHRpbWUsIG9uIHRoZSBleHRlbmRlZCBwcm90b3R5cGUuIFRoaXNcbiAg
ICAvLyBhdm9pZHMgT2JqZWN0LmRlZmluZVByb3BlcnR5IGNhbGxzIGZvciBlYWNoIGluc3RhbmNl
IGNyZWF0ZWQuXG4gICAgaWYgKFN1Yi5vcHRpb25zLnByb3BzKSB7XG4gICAgICBpbml0UHJvcHMk
MShTdWIpO1xuICAgIH1cbiAgICBpZiAoU3ViLm9wdGlvbnMuY29tcHV0ZWQpIHtcbiAgICAgIGlu
aXRDb21wdXRlZCQxKFN1Yik7XG4gICAgfVxuXG4gICAgLy8gYWxsb3cgZnVydGhlciBleHRlbnNp
b24vbWl4aW4vcGx1Z2luIHVzYWdlXG4gICAgU3ViLmV4dGVuZCA9IFN1cGVyLmV4dGVuZDtcbiAg
ICBTdWIubWl4aW4gPSBTdXBlci5taXhpbjtcbiAgICBTdWIudXNlID0gU3VwZXIudXNlO1xuXG4g
ICAgLy8gY3JlYXRlIGFzc2V0IHJlZ2lzdGVycywgc28gZXh0ZW5kZWQgY2xhc3Nlc1xuICAgIC8v
IGNhbiBoYXZlIHRoZWlyIHByaXZhdGUgYXNzZXRzIHRvby5cbiAgICBBU1NFVF9UWVBFUy5mb3JF
YWNoKGZ1bmN0aW9uICh0eXBlKSB7XG4gICAgICBTdWJbdHlwZV0gPSBTdXBlclt0eXBlXTtcbiAg
ICB9KTtcbiAgICAvLyBlbmFibGUgcmVjdXJzaXZlIHNlbGYtbG9va3VwXG4gICAgaWYgKG5hbWUp
IHtcbiAgICAgIFN1Yi5vcHRpb25zLmNvbXBvbmVudHNbbmFtZV0gPSBTdWI7XG4gICAgfVxuXG4g
ICAgLy8ga2VlcCBhIHJlZmVyZW5jZSB0byB0aGUgc3VwZXIgb3B0aW9ucyBhdCBleHRlbnNpb24g
dGltZS5cbiAgICAvLyBsYXRlciBhdCBpbnN0YW50aWF0aW9uIHdlIGNhbiBjaGVjayBpZiBTdXBl
cidzIG9wdGlvbnMgaGF2ZVxuICAgIC8vIGJlZW4gdXBkYXRlZC5cbiAgICBTdWIuc3VwZXJPcHRp
b25zID0gU3VwZXIub3B0aW9ucztcbiAgICBTdWIuZXh0ZW5kT3B0aW9ucyA9IGV4dGVuZE9wdGlv
bnM7XG4gICAgU3ViLnNlYWxlZE9wdGlvbnMgPSBleHRlbmQoe30sIFN1Yi5vcHRpb25zKTtcblxu
ICAgIC8vIGNhY2hlIGNvbnN0cnVjdG9yXG4gICAgY2FjaGVkQ3RvcnNbU3VwZXJJZF0gPSBTdWI7
XG4gICAgcmV0dXJuIFN1YlxuICB9O1xufVxuXG5mdW5jdGlvbiBpbml0UHJvcHMkMSAoQ29tcCkg
e1xuICB2YXIgcHJvcHMgPSBDb21wLm9wdGlvbnMucHJvcHM7XG4gIGZvciAodmFyIGtleSBpbiBw
cm9wcykge1xuICAgIHByb3h5KENvbXAucHJvdG90eXBlLCBcIl9wcm9wc1wiLCBrZXkpO1xuICB9
XG59XG5cbmZ1bmN0aW9uIGluaXRDb21wdXRlZCQxIChDb21wKSB7XG4gIHZhciBjb21wdXRlZCA9
IENvbXAub3B0aW9ucy5jb21wdXRlZDtcbiAgZm9yICh2YXIga2V5IGluIGNvbXB1dGVkKSB7XG4g
ICAgZGVmaW5lQ29tcHV0ZWQoQ29tcC5wcm90b3R5cGUsIGtleSwgY29tcHV0ZWRba2V5XSk7XG4g
IH1cbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGluaXRBc3NldFJlZ2lzdGVycyAoVnVlKSB7XG4g
IC8qKlxuICAgKiBDcmVhdGUgYXNzZXQgcmVnaXN0cmF0aW9uIG1ldGhvZHMuXG4gICAqL1xuICBB
U1NFVF9UWVBFUy5mb3JFYWNoKGZ1bmN0aW9uICh0eXBlKSB7XG4gICAgVnVlW3R5cGVdID0gZnVu
Y3Rpb24gKFxuICAgICAgaWQsXG4gICAgICBkZWZpbml0aW9uXG4gICAgKSB7XG4gICAgICBpZiAo
IWRlZmluaXRpb24pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uc1t0eXBlICsgJ3MnXVtp
ZF1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAg
ICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAg
ICAgIGlmICh0eXBlID09PSAnY29tcG9uZW50JyAmJiBjb25maWcuaXNSZXNlcnZlZFRhZyhpZCkp
IHtcbiAgICAgICAgICAgIHdhcm4oXG4gICAgICAgICAgICAgICdEbyBub3QgdXNlIGJ1aWx0LWlu
IG9yIHJlc2VydmVkIEhUTUwgZWxlbWVudHMgYXMgY29tcG9uZW50ICcgK1xuICAgICAgICAgICAg
ICAnaWQ6ICcgKyBpZFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAg
ICAgICAgaWYgKHR5cGUgPT09ICdjb21wb25lbnQnICYmIGlzUGxhaW5PYmplY3QoZGVmaW5pdGlv
bikpIHtcbiAgICAgICAgICBkZWZpbml0aW9uLm5hbWUgPSBkZWZpbml0aW9uLm5hbWUgfHwgaWQ7
XG4gICAgICAgICAgZGVmaW5pdGlvbiA9IHRoaXMub3B0aW9ucy5fYmFzZS5leHRlbmQoZGVmaW5p
dGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGUgPT09ICdkaXJlY3RpdmUnICYmIHR5
cGVvZiBkZWZpbml0aW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgZGVmaW5pdGlvbiA9
IHsgYmluZDogZGVmaW5pdGlvbiwgdXBkYXRlOiBkZWZpbml0aW9uIH07XG4gICAgICAgIH1cbiAg
ICAgICAgdGhpcy5vcHRpb25zW3R5cGUgKyAncyddW2lkXSA9IGRlZmluaXRpb247XG4gICAgICAg
IHJldHVybiBkZWZpbml0aW9uXG4gICAgICB9XG4gICAgfTtcbiAgfSk7XG59XG5cbi8qICAqL1xu
XG52YXIgcGF0dGVyblR5cGVzID0gW1N0cmluZywgUmVnRXhwLCBBcnJheV07XG5cbmZ1bmN0aW9u
IGdldENvbXBvbmVudE5hbWUgKG9wdHMpIHtcbiAgcmV0dXJuIG9wdHMgJiYgKG9wdHMuQ3Rvci5v
cHRpb25zLm5hbWUgfHwgb3B0cy50YWcpXG59XG5cbmZ1bmN0aW9uIG1hdGNoZXMgKHBhdHRlcm4s
IG5hbWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkocGF0dGVybikpIHtcbiAgICByZXR1cm4gcGF0
dGVybi5pbmRleE9mKG5hbWUpID4gLTFcbiAgfSBlbHNlIGlmICh0eXBlb2YgcGF0dGVybiA9PT0g
J3N0cmluZycpIHtcbiAgICByZXR1cm4gcGF0dGVybi5zcGxpdCgnLCcpLmluZGV4T2YobmFtZSkg
PiAtMVxuICB9IGVsc2UgaWYgKGlzUmVnRXhwKHBhdHRlcm4pKSB7XG4gICAgcmV0dXJuIHBhdHRl
cm4udGVzdChuYW1lKVxuICB9XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHJldHVy
biBmYWxzZVxufVxuXG5mdW5jdGlvbiBwcnVuZUNhY2hlIChjYWNoZSwgY3VycmVudCwgZmlsdGVy
KSB7XG4gIGZvciAodmFyIGtleSBpbiBjYWNoZSkge1xuICAgIHZhciBjYWNoZWROb2RlID0gY2Fj
aGVba2V5XTtcbiAgICBpZiAoY2FjaGVkTm9kZSkge1xuICAgICAgdmFyIG5hbWUgPSBnZXRDb21w
b25lbnROYW1lKGNhY2hlZE5vZGUuY29tcG9uZW50T3B0aW9ucyk7XG4gICAgICBpZiAobmFtZSAm
JiAhZmlsdGVyKG5hbWUpKSB7XG4gICAgICAgIGlmIChjYWNoZWROb2RlICE9PSBjdXJyZW50KSB7
XG4gICAgICAgICAgcHJ1bmVDYWNoZUVudHJ5KGNhY2hlZE5vZGUpO1xuICAgICAgICB9XG4gICAg
ICAgIGNhY2hlW2tleV0gPSBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlv
biBwcnVuZUNhY2hlRW50cnkgKHZub2RlKSB7XG4gIGlmICh2bm9kZSkge1xuICAgIHZub2RlLmNv
bXBvbmVudEluc3RhbmNlLiRkZXN0cm95KCk7XG4gIH1cbn1cblxudmFyIEtlZXBBbGl2ZSA9IHtc
biAgbmFtZTogJ2tlZXAtYWxpdmUnLFxuICBhYnN0cmFjdDogdHJ1ZSxcblxuICBwcm9wczoge1xu
ICAgIGluY2x1ZGU6IHBhdHRlcm5UeXBlcyxcbiAgICBleGNsdWRlOiBwYXR0ZXJuVHlwZXNcbiAg
fSxcblxuICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkICgpIHtcbiAgICB0aGlzLmNhY2hlID0g
T2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgfSxcblxuICBkZXN0cm95ZWQ6IGZ1bmN0aW9uIGRlc3Ry
b3llZCAoKSB7XG4gICAgdmFyIHRoaXMkMSA9IHRoaXM7XG5cbiAgICBmb3IgKHZhciBrZXkgaW4g
dGhpcyQxLmNhY2hlKSB7XG4gICAgICBwcnVuZUNhY2hlRW50cnkodGhpcyQxLmNhY2hlW2tleV0p
O1xuICAgIH1cbiAgfSxcblxuICB3YXRjaDoge1xuICAgIGluY2x1ZGU6IGZ1bmN0aW9uIGluY2x1
ZGUgKHZhbCkge1xuICAgICAgcHJ1bmVDYWNoZSh0aGlzLmNhY2hlLCB0aGlzLl92bm9kZSwgZnVu
Y3Rpb24gKG5hbWUpIHsgcmV0dXJuIG1hdGNoZXModmFsLCBuYW1lKTsgfSk7XG4gICAgfSxcbiAg
ICBleGNsdWRlOiBmdW5jdGlvbiBleGNsdWRlICh2YWwpIHtcbiAgICAgIHBydW5lQ2FjaGUodGhp
cy5jYWNoZSwgdGhpcy5fdm5vZGUsIGZ1bmN0aW9uIChuYW1lKSB7IHJldHVybiAhbWF0Y2hlcyh2
YWwsIG5hbWUpOyB9KTtcbiAgICB9XG4gIH0sXG5cbiAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIg
KCkge1xuICAgIHZhciB2bm9kZSA9IGdldEZpcnN0Q29tcG9uZW50Q2hpbGQodGhpcy4kc2xvdHMu
ZGVmYXVsdCk7XG4gICAgdmFyIGNvbXBvbmVudE9wdGlvbnMgPSB2bm9kZSAmJiB2bm9kZS5jb21w
b25lbnRPcHRpb25zO1xuICAgIGlmIChjb21wb25lbnRPcHRpb25zKSB7XG4gICAgICAvLyBjaGVj
ayBwYXR0ZXJuXG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWUoY29tcG9uZW50T3B0
aW9ucyk7XG4gICAgICBpZiAobmFtZSAmJiAoXG4gICAgICAgICh0aGlzLmluY2x1ZGUgJiYgIW1h
dGNoZXModGhpcy5pbmNsdWRlLCBuYW1lKSkgfHxcbiAgICAgICAgKHRoaXMuZXhjbHVkZSAmJiBt
YXRjaGVzKHRoaXMuZXhjbHVkZSwgbmFtZSkpXG4gICAgICApKSB7XG4gICAgICAgIHJldHVybiB2
bm9kZVxuICAgICAgfVxuICAgICAgdmFyIGtleSA9IHZub2RlLmtleSA9PSBudWxsXG4gICAgICAg
IC8vIHNhbWUgY29uc3RydWN0b3IgbWF5IGdldCByZWdpc3RlcmVkIGFzIGRpZmZlcmVudCBsb2Nh
bCBjb21wb25lbnRzXG4gICAgICAgIC8vIHNvIGNpZCBhbG9uZSBpcyBub3QgZW5vdWdoICgjMzI2
OSlcbiAgICAgICAgPyBjb21wb25lbnRPcHRpb25zLkN0b3IuY2lkICsgKGNvbXBvbmVudE9wdGlv
bnMudGFnID8gKFwiOjpcIiArIChjb21wb25lbnRPcHRpb25zLnRhZykpIDogJycpXG4gICAgICAg
IDogdm5vZGUua2V5O1xuICAgICAgaWYgKHRoaXMuY2FjaGVba2V5XSkge1xuICAgICAgICB2bm9k
ZS5jb21wb25lbnRJbnN0YW5jZSA9IHRoaXMuY2FjaGVba2V5XS5jb21wb25lbnRJbnN0YW5jZTtc
biAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2FjaGVba2V5XSA9IHZub2RlO1xuICAgICAg
fVxuICAgICAgdm5vZGUuZGF0YS5rZWVwQWxpdmUgPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4g
dm5vZGVcbiAgfVxufTtcblxudmFyIGJ1aWx0SW5Db21wb25lbnRzID0ge1xuICBLZWVwQWxpdmU6
IEtlZXBBbGl2ZVxufTtcblxuLyogICovXG5cbmZ1bmN0aW9uIGluaXRHbG9iYWxBUEkgKFZ1ZSkg
e1xuICAvLyBjb25maWdcbiAgdmFyIGNvbmZpZ0RlZiA9IHt9O1xuICBjb25maWdEZWYuZ2V0ID0g
ZnVuY3Rpb24gKCkgeyByZXR1cm4gY29uZmlnOyB9O1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9F
TlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIGNvbmZpZ0RlZi5zZXQgPSBmdW5jdGlvbiAoKSB7
XG4gICAgICB3YXJuKFxuICAgICAgICAnRG8gbm90IHJlcGxhY2UgdGhlIFZ1ZS5jb25maWcgb2Jq
ZWN0LCBzZXQgaW5kaXZpZHVhbCBmaWVsZHMgaW5zdGVhZC4nXG4gICAgICApO1xuICAgIH07XG4g
IH1cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFZ1ZSwgJ2NvbmZpZycsIGNvbmZpZ0RlZik7XG5c
biAgLy8gZXhwb3NlZCB1dGlsIG1ldGhvZHMuXG4gIC8vIE5PVEU6IHRoZXNlIGFyZSBub3QgY29u
c2lkZXJlZCBwYXJ0IG9mIHRoZSBwdWJsaWMgQVBJIC0gYXZvaWQgcmVseWluZyBvblxuICAvLyB0
aGVtIHVubGVzcyB5b3UgYXJlIGF3YXJlIG9mIHRoZSByaXNrLlxuICBWdWUudXRpbCA9IHtcbiAg
ICB3YXJuOiB3YXJuLFxuICAgIGV4dGVuZDogZXh0ZW5kLFxuICAgIG1lcmdlT3B0aW9uczogbWVy
Z2VPcHRpb25zLFxuICAgIGRlZmluZVJlYWN0aXZlOiBkZWZpbmVSZWFjdGl2ZSQkMVxuICB9O1xu
XG4gIFZ1ZS5zZXQgPSBzZXQ7XG4gIFZ1ZS5kZWxldGUgPSBkZWw7XG4gIFZ1ZS5uZXh0VGljayA9
IG5leHRUaWNrO1xuXG4gIFZ1ZS5vcHRpb25zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgQVNT
RVRfVFlQRVMuZm9yRWFjaChmdW5jdGlvbiAodHlwZSkge1xuICAgIFZ1ZS5vcHRpb25zW3R5cGUg
KyAncyddID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgfSk7XG5cbiAgLy8gdGhpcyBpcyB1c2Vk
IHRvIGlkZW50aWZ5IHRoZSBcImJhc2VcIiBjb25zdHJ1Y3RvciB0byBleHRlbmQgYWxsIHBsYWlu
LW9iamVjdFxuICAvLyBjb21wb25lbnRzIHdpdGggaW4gV2VleCdzIG11bHRpLWluc3RhbmNlIHNj
ZW5hcmlvcy5cbiAgVnVlLm9wdGlvbnMuX2Jhc2UgPSBWdWU7XG5cbiAgZXh0ZW5kKFZ1ZS5vcHRp
b25zLmNvbXBvbmVudHMsIGJ1aWx0SW5Db21wb25lbnRzKTtcblxuICBpbml0VXNlKFZ1ZSk7XG4g
IGluaXRNaXhpbiQxKFZ1ZSk7XG4gIGluaXRFeHRlbmQoVnVlKTtcbiAgaW5pdEFzc2V0UmVnaXN0
ZXJzKFZ1ZSk7XG59XG5cbmluaXRHbG9iYWxBUEkoVnVlJDMpO1xuXG5PYmplY3QuZGVmaW5lUHJv
cGVydHkoVnVlJDMucHJvdG90eXBlLCAnJGlzU2VydmVyJywge1xuICBnZXQ6IGlzU2VydmVyUmVu
ZGVyaW5nXG59KTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFZ1ZSQzLnByb3RvdHlwZSwgJyRz
c3JDb250ZXh0Jywge1xuICBnZXQ6IGZ1bmN0aW9uIGdldCAoKSB7XG4gICAgLyogaXN0YW5idWwg
aWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gdGhpcy4kdm5vZGUgJiYgdGhpcy4kdm5vZGUuc3Ny
Q29udGV4dFxuICB9XG59KTtcblxuVnVlJDMudmVyc2lvbiA9ICcyLjQuMic7XG5cbi8qICAqL1xu
XG4vLyB0aGVzZSBhcmUgcmVzZXJ2ZWQgZm9yIHdlYiBiZWNhdXNlIHRoZXkgYXJlIGRpcmVjdGx5
IGNvbXBpbGVkIGF3YXlcbi8vIGR1cmluZyB0ZW1wbGF0ZSBjb21waWxhdGlvblxudmFyIGlzUmVz
ZXJ2ZWRBdHRyID0gbWFrZU1hcCgnc3R5bGUsY2xhc3MnKTtcblxuLy8gYXR0cmlidXRlcyB0aGF0
IHNob3VsZCBiZSB1c2luZyBwcm9wcyBmb3IgYmluZGluZ1xudmFyIGFjY2VwdFZhbHVlID0gbWFr
ZU1hcCgnaW5wdXQsdGV4dGFyZWEsb3B0aW9uLHNlbGVjdCcpO1xudmFyIG11c3RVc2VQcm9wID0g
ZnVuY3Rpb24gKHRhZywgdHlwZSwgYXR0cikge1xuICByZXR1cm4gKFxuICAgIChhdHRyID09PSAn
dmFsdWUnICYmIGFjY2VwdFZhbHVlKHRhZykpICYmIHR5cGUgIT09ICdidXR0b24nIHx8XG4gICAg
KGF0dHIgPT09ICdzZWxlY3RlZCcgJiYgdGFnID09PSAnb3B0aW9uJykgfHxcbiAgICAoYXR0ciA9
PT0gJ2NoZWNrZWQnICYmIHRhZyA9PT0gJ2lucHV0JykgfHxcbiAgICAoYXR0ciA9PT0gJ211dGVk
JyAmJiB0YWcgPT09ICd2aWRlbycpXG4gIClcbn07XG5cbnZhciBpc0VudW1lcmF0ZWRBdHRyID0g
bWFrZU1hcCgnY29udGVudGVkaXRhYmxlLGRyYWdnYWJsZSxzcGVsbGNoZWNrJyk7XG5cbnZhciBp
c0Jvb2xlYW5BdHRyID0gbWFrZU1hcChcbiAgJ2FsbG93ZnVsbHNjcmVlbixhc3luYyxhdXRvZm9j
dXMsYXV0b3BsYXksY2hlY2tlZCxjb21wYWN0LGNvbnRyb2xzLGRlY2xhcmUsJyArXG4gICdkZWZh
dWx0LGRlZmF1bHRjaGVja2VkLGRlZmF1bHRtdXRlZCxkZWZhdWx0c2VsZWN0ZWQsZGVmZXIsZGlz
YWJsZWQsJyArXG4gICdlbmFibGVkLGZvcm1ub3ZhbGlkYXRlLGhpZGRlbixpbmRldGVybWluYXRl
LGluZXJ0LGlzbWFwLGl0ZW1zY29wZSxsb29wLG11bHRpcGxlLCcgK1xuICAnbXV0ZWQsbm9ocmVm
LG5vcmVzaXplLG5vc2hhZGUsbm92YWxpZGF0ZSxub3dyYXAsb3BlbixwYXVzZW9uZXhpdCxyZWFk
b25seSwnICtcbiAgJ3JlcXVpcmVkLHJldmVyc2VkLHNjb3BlZCxzZWFtbGVzcyxzZWxlY3RlZCxz
b3J0YWJsZSx0cmFuc2xhdGUsJyArXG4gICd0cnVlc3BlZWQsdHlwZW11c3RtYXRjaCx2aXNpYmxl
J1xuKTtcblxudmFyIHhsaW5rTlMgPSAnaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayc7XG5c
bnZhciBpc1hsaW5rID0gZnVuY3Rpb24gKG5hbWUpIHtcbiAgcmV0dXJuIG5hbWUuY2hhckF0KDUp
ID09PSAnOicgJiYgbmFtZS5zbGljZSgwLCA1KSA9PT0gJ3hsaW5rJ1xufTtcblxudmFyIGdldFhs
aW5rUHJvcCA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gIHJldHVybiBpc1hsaW5rKG5hbWUpID8gbmFt
ZS5zbGljZSg2LCBuYW1lLmxlbmd0aCkgOiAnJ1xufTtcblxudmFyIGlzRmFsc3lBdHRyVmFsdWUg
PSBmdW5jdGlvbiAodmFsKSB7XG4gIHJldHVybiB2YWwgPT0gbnVsbCB8fCB2YWwgPT09IGZhbHNl
XG59O1xuXG4vKiAgKi9cblxuZnVuY3Rpb24gZ2VuQ2xhc3NGb3JWbm9kZSAodm5vZGUpIHtcbiAg
dmFyIGRhdGEgPSB2bm9kZS5kYXRhO1xuICB2YXIgcGFyZW50Tm9kZSA9IHZub2RlO1xuICB2YXIg
Y2hpbGROb2RlID0gdm5vZGU7XG4gIHdoaWxlIChpc0RlZihjaGlsZE5vZGUuY29tcG9uZW50SW5z
dGFuY2UpKSB7XG4gICAgY2hpbGROb2RlID0gY2hpbGROb2RlLmNvbXBvbmVudEluc3RhbmNlLl92
bm9kZTtcbiAgICBpZiAoY2hpbGROb2RlLmRhdGEpIHtcbiAgICAgIGRhdGEgPSBtZXJnZUNsYXNz
RGF0YShjaGlsZE5vZGUuZGF0YSwgZGF0YSk7XG4gICAgfVxuICB9XG4gIHdoaWxlIChpc0RlZihw
YXJlbnROb2RlID0gcGFyZW50Tm9kZS5wYXJlbnQpKSB7XG4gICAgaWYgKHBhcmVudE5vZGUuZGF0
YSkge1xuICAgICAgZGF0YSA9IG1lcmdlQ2xhc3NEYXRhKGRhdGEsIHBhcmVudE5vZGUuZGF0YSk7
XG4gICAgfVxuICB9XG4gIHJldHVybiByZW5kZXJDbGFzcyhkYXRhLnN0YXRpY0NsYXNzLCBkYXRh
LmNsYXNzKVxufVxuXG5mdW5jdGlvbiBtZXJnZUNsYXNzRGF0YSAoY2hpbGQsIHBhcmVudCkge1xu
ICByZXR1cm4ge1xuICAgIHN0YXRpY0NsYXNzOiBjb25jYXQoY2hpbGQuc3RhdGljQ2xhc3MsIHBh
cmVudC5zdGF0aWNDbGFzcyksXG4gICAgY2xhc3M6IGlzRGVmKGNoaWxkLmNsYXNzKVxuICAgICAg
PyBbY2hpbGQuY2xhc3MsIHBhcmVudC5jbGFzc11cbiAgICAgIDogcGFyZW50LmNsYXNzXG4gIH1c
bn1cblxuZnVuY3Rpb24gcmVuZGVyQ2xhc3MgKFxuICBzdGF0aWNDbGFzcyxcbiAgZHluYW1pY0Ns
YXNzXG4pIHtcbiAgaWYgKGlzRGVmKHN0YXRpY0NsYXNzKSB8fCBpc0RlZihkeW5hbWljQ2xhc3Mp
KSB7XG4gICAgcmV0dXJuIGNvbmNhdChzdGF0aWNDbGFzcywgc3RyaW5naWZ5Q2xhc3MoZHluYW1p
Y0NsYXNzKSlcbiAgfVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICByZXR1cm4gJydc
bn1cblxuZnVuY3Rpb24gY29uY2F0IChhLCBiKSB7XG4gIHJldHVybiBhID8gYiA/IChhICsgJyAn
ICsgYikgOiBhIDogKGIgfHwgJycpXG59XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeUNsYXNzICh2YWx1
ZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gc3RyaW5naWZ5
QXJyYXkodmFsdWUpXG4gIH1cbiAgaWYgKGlzT2JqZWN0KHZhbHVlKSkge1xuICAgIHJldHVybiBz
dHJpbmdpZnlPYmplY3QodmFsdWUpXG4gIH1cbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmlu
ZycpIHtcbiAgICByZXR1cm4gdmFsdWVcbiAgfVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAq
L1xuICByZXR1cm4gJydcbn1cblxuZnVuY3Rpb24gc3RyaW5naWZ5QXJyYXkgKHZhbHVlKSB7XG4g
IHZhciByZXMgPSAnJztcbiAgdmFyIHN0cmluZ2lmaWVkO1xuICBmb3IgKHZhciBpID0gMCwgbCA9
IHZhbHVlLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIGlmIChpc0RlZihzdHJpbmdpZmllZCA9
IHN0cmluZ2lmeUNsYXNzKHZhbHVlW2ldKSkgJiYgc3RyaW5naWZpZWQgIT09ICcnKSB7XG4gICAg
ICBpZiAocmVzKSB7IHJlcyArPSAnICc7IH1cbiAgICAgIHJlcyArPSBzdHJpbmdpZmllZDtcbiAg
ICB9XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG5mdW5jdGlvbiBzdHJpbmdpZnlPYmplY3QgKHZh
bHVlKSB7XG4gIHZhciByZXMgPSAnJztcbiAgZm9yICh2YXIga2V5IGluIHZhbHVlKSB7XG4gICAg
aWYgKHZhbHVlW2tleV0pIHtcbiAgICAgIGlmIChyZXMpIHsgcmVzICs9ICcgJzsgfVxuICAgICAg
cmVzICs9IGtleTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG4vKiAgKi9cblxudmFy
IG5hbWVzcGFjZU1hcCA9IHtcbiAgc3ZnOiAnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLFxu
ICBtYXRoOiAnaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCdcbn07XG5cbnZhciBp
c0hUTUxUYWcgPSBtYWtlTWFwKFxuICAnaHRtbCxib2R5LGJhc2UsaGVhZCxsaW5rLG1ldGEsc3R5
bGUsdGl0bGUsJyArXG4gICdhZGRyZXNzLGFydGljbGUsYXNpZGUsZm9vdGVyLGhlYWRlcixoMSxo
MixoMyxoNCxoNSxoNixoZ3JvdXAsbmF2LHNlY3Rpb24sJyArXG4gICdkaXYsZGQsZGwsZHQsZmln
Y2FwdGlvbixmaWd1cmUscGljdHVyZSxocixpbWcsbGksbWFpbixvbCxwLHByZSx1bCwnICtcbiAg
J2EsYixhYmJyLGJkaSxiZG8sYnIsY2l0ZSxjb2RlLGRhdGEsZGZuLGVtLGksa2JkLG1hcmsscSxy
cCxydCxydGMscnVieSwnICtcbiAgJ3Msc2FtcCxzbWFsbCxzcGFuLHN0cm9uZyxzdWIsc3VwLHRp
bWUsdSx2YXIsd2JyLGFyZWEsYXVkaW8sbWFwLHRyYWNrLHZpZGVvLCcgK1xuICAnZW1iZWQsb2Jq
ZWN0LHBhcmFtLHNvdXJjZSxjYW52YXMsc2NyaXB0LG5vc2NyaXB0LGRlbCxpbnMsJyArXG4gICdj
YXB0aW9uLGNvbCxjb2xncm91cCx0YWJsZSx0aGVhZCx0Ym9keSx0ZCx0aCx0ciwnICtcbiAgJ2J1
dHRvbixkYXRhbGlzdCxmaWVsZHNldCxmb3JtLGlucHV0LGxhYmVsLGxlZ2VuZCxtZXRlcixvcHRn
cm91cCxvcHRpb24sJyArXG4gICdvdXRwdXQscHJvZ3Jlc3Msc2VsZWN0LHRleHRhcmVhLCcgK1xu
ICAnZGV0YWlscyxkaWFsb2csbWVudSxtZW51aXRlbSxzdW1tYXJ5LCcgK1xuICAnY29udGVudCxl
bGVtZW50LHNoYWRvdyx0ZW1wbGF0ZSxibG9ja3F1b3RlLGlmcmFtZSx0Zm9vdCdcbik7XG5cbi8v
IHRoaXMgbWFwIGlzIGludGVudGlvbmFsbHkgc2VsZWN0aXZlLCBvbmx5IGNvdmVyaW5nIFNWRyBl
bGVtZW50cyB0aGF0IG1heVxuLy8gY29udGFpbiBjaGlsZCBlbGVtZW50cy5cbnZhciBpc1NWRyA9
IG1ha2VNYXAoXG4gICdzdmcsYW5pbWF0ZSxjaXJjbGUsY2xpcHBhdGgsY3Vyc29yLGRlZnMsZGVz
YyxlbGxpcHNlLGZpbHRlcixmb250LWZhY2UsJyArXG4gICdmb3JlaWduT2JqZWN0LGcsZ2x5cGgs
aW1hZ2UsbGluZSxtYXJrZXIsbWFzayxtaXNzaW5nLWdseXBoLHBhdGgscGF0dGVybiwnICtcbiAg
J3BvbHlnb24scG9seWxpbmUscmVjdCxzd2l0Y2gsc3ltYm9sLHRleHQsdGV4dHBhdGgsdHNwYW4s
dXNlLHZpZXcnLFxuICB0cnVlXG4pO1xuXG52YXIgaXNQcmVUYWcgPSBmdW5jdGlvbiAodGFnKSB7
IHJldHVybiB0YWcgPT09ICdwcmUnOyB9O1xuXG52YXIgaXNSZXNlcnZlZFRhZyA9IGZ1bmN0aW9u
ICh0YWcpIHtcbiAgcmV0dXJuIGlzSFRNTFRhZyh0YWcpIHx8IGlzU1ZHKHRhZylcbn07XG5cbmZ1
bmN0aW9uIGdldFRhZ05hbWVzcGFjZSAodGFnKSB7XG4gIGlmIChpc1NWRyh0YWcpKSB7XG4gICAg
cmV0dXJuICdzdmcnXG4gIH1cbiAgLy8gYmFzaWMgc3VwcG9ydCBmb3IgTWF0aE1MXG4gIC8vIG5v
dGUgaXQgZG9lc24ndCBzdXBwb3J0IG90aGVyIE1hdGhNTCBlbGVtZW50cyBiZWluZyBjb21wb25l
bnQgcm9vdHNcbiAgaWYgKHRhZyA9PT0gJ21hdGgnKSB7XG4gICAgcmV0dXJuICdtYXRoJ1xuICB9
XG59XG5cbnZhciB1bmtub3duRWxlbWVudENhY2hlID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbmZ1
bmN0aW9uIGlzVW5rbm93bkVsZW1lbnQgKHRhZykge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYg
Ki9cbiAgaWYgKCFpbkJyb3dzZXIpIHtcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG4gIGlmIChpc1Jl
c2VydmVkVGFnKHRhZykpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICB0YWcgPSB0YWcudG9M
b3dlckNhc2UoKTtcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmICh1bmtub3duRWxl
bWVudENhY2hlW3RhZ10gIT0gbnVsbCkge1xuICAgIHJldHVybiB1bmtub3duRWxlbWVudENhY2hl
W3RhZ11cbiAgfVxuICB2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZyk7XG4gIGlm
ICh0YWcuaW5kZXhPZignLScpID4gLTEpIHtcbiAgICAvLyBodHRwOi8vc3RhY2tvdmVyZmxvdy5j
b20vYS8yODIxMDM2NC8xMDcwMjQ0XG4gICAgcmV0dXJuICh1bmtub3duRWxlbWVudENhY2hlW3Rh
Z10gPSAoXG4gICAgICBlbC5jb25zdHJ1Y3RvciA9PT0gd2luZG93LkhUTUxVbmtub3duRWxlbWVu
dCB8fFxuICAgICAgZWwuY29uc3RydWN0b3IgPT09IHdpbmRvdy5IVE1MRWxlbWVudFxuICAgICkp
XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuICh1bmtub3duRWxlbWVudENhY2hlW3RhZ10gPSAvSFRN
TFVua25vd25FbGVtZW50Ly50ZXN0KGVsLnRvU3RyaW5nKCkpKVxuICB9XG59XG5cbi8qICAqL1xu
XG4vKipcbiAqIFF1ZXJ5IGFuIGVsZW1lbnQgc2VsZWN0b3IgaWYgaXQncyBub3QgYW4gZWxlbWVu
dCBhbHJlYWR5LlxuICovXG5mdW5jdGlvbiBxdWVyeSAoZWwpIHtcbiAgaWYgKHR5cGVvZiBlbCA9
PT0gJ3N0cmluZycpIHtcbiAgICB2YXIgc2VsZWN0ZWQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
KGVsKTtcbiAgICBpZiAoIXNlbGVjdGVkKSB7XG4gICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAh
PT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4oXG4gICAgICAgICdDYW5ub3QgZmluZCBlbGVtZW50OiAn
ICsgZWxcbiAgICAgICk7XG4gICAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2
JylcbiAgICB9XG4gICAgcmV0dXJuIHNlbGVjdGVkXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGVs
XG4gIH1cbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQkMSAodGFnTmFtZSwg
dm5vZGUpIHtcbiAgdmFyIGVsbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7XG4g
IGlmICh0YWdOYW1lICE9PSAnc2VsZWN0Jykge1xuICAgIHJldHVybiBlbG1cbiAgfVxuICAvLyBm
YWxzZSBvciBudWxsIHdpbGwgcmVtb3ZlIHRoZSBhdHRyaWJ1dGUgYnV0IHVuZGVmaW5lZCB3aWxs
IG5vdFxuICBpZiAodm5vZGUuZGF0YSAmJiB2bm9kZS5kYXRhLmF0dHJzICYmIHZub2RlLmRhdGEu
YXR0cnMubXVsdGlwbGUgIT09IHVuZGVmaW5lZCkge1xuICAgIGVsbS5zZXRBdHRyaWJ1dGUoJ211
bHRpcGxlJywgJ211bHRpcGxlJyk7XG4gIH1cbiAgcmV0dXJuIGVsbVxufVxuXG5mdW5jdGlvbiBj
cmVhdGVFbGVtZW50TlMgKG5hbWVzcGFjZSwgdGFnTmFtZSkge1xuICByZXR1cm4gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudE5TKG5hbWVzcGFjZU1hcFtuYW1lc3BhY2VdLCB0YWdOYW1lKVxufVxuXG5m
dW5jdGlvbiBjcmVhdGVUZXh0Tm9kZSAodGV4dCkge1xuICByZXR1cm4gZG9jdW1lbnQuY3JlYXRl
VGV4dE5vZGUodGV4dClcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ29tbWVudCAodGV4dCkge1xuICBy
ZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudCh0ZXh0KVxufVxuXG5mdW5jdGlvbiBpbnNlcnRC
ZWZvcmUgKHBhcmVudE5vZGUsIG5ld05vZGUsIHJlZmVyZW5jZU5vZGUpIHtcbiAgcGFyZW50Tm9k
ZS5pbnNlcnRCZWZvcmUobmV3Tm9kZSwgcmVmZXJlbmNlTm9kZSk7XG59XG5cbmZ1bmN0aW9uIHJl
bW92ZUNoaWxkIChub2RlLCBjaGlsZCkge1xuICBub2RlLnJlbW92ZUNoaWxkKGNoaWxkKTtcbn1c
blxuZnVuY3Rpb24gYXBwZW5kQ2hpbGQgKG5vZGUsIGNoaWxkKSB7XG4gIG5vZGUuYXBwZW5kQ2hp
bGQoY2hpbGQpO1xufVxuXG5mdW5jdGlvbiBwYXJlbnROb2RlIChub2RlKSB7XG4gIHJldHVybiBu
b2RlLnBhcmVudE5vZGVcbn1cblxuZnVuY3Rpb24gbmV4dFNpYmxpbmcgKG5vZGUpIHtcbiAgcmV0
dXJuIG5vZGUubmV4dFNpYmxpbmdcbn1cblxuZnVuY3Rpb24gdGFnTmFtZSAobm9kZSkge1xuICBy
ZXR1cm4gbm9kZS50YWdOYW1lXG59XG5cbmZ1bmN0aW9uIHNldFRleHRDb250ZW50IChub2RlLCB0
ZXh0KSB7XG4gIG5vZGUudGV4dENvbnRlbnQgPSB0ZXh0O1xufVxuXG5mdW5jdGlvbiBzZXRBdHRy
aWJ1dGUgKG5vZGUsIGtleSwgdmFsKSB7XG4gIG5vZGUuc2V0QXR0cmlidXRlKGtleSwgdmFsKTtc
bn1cblxuXG52YXIgbm9kZU9wcyA9IE9iamVjdC5mcmVlemUoe1xuXHRjcmVhdGVFbGVtZW50OiBj
cmVhdGVFbGVtZW50JDEsXG5cdGNyZWF0ZUVsZW1lbnROUzogY3JlYXRlRWxlbWVudE5TLFxuXHRj
cmVhdGVUZXh0Tm9kZTogY3JlYXRlVGV4dE5vZGUsXG5cdGNyZWF0ZUNvbW1lbnQ6IGNyZWF0ZUNv
bW1lbnQsXG5cdGluc2VydEJlZm9yZTogaW5zZXJ0QmVmb3JlLFxuXHRyZW1vdmVDaGlsZDogcmVt
b3ZlQ2hpbGQsXG5cdGFwcGVuZENoaWxkOiBhcHBlbmRDaGlsZCxcblx0cGFyZW50Tm9kZTogcGFy
ZW50Tm9kZSxcblx0bmV4dFNpYmxpbmc6IG5leHRTaWJsaW5nLFxuXHR0YWdOYW1lOiB0YWdOYW1l
LFxuXHRzZXRUZXh0Q29udGVudDogc2V0VGV4dENvbnRlbnQsXG5cdHNldEF0dHJpYnV0ZTogc2V0
QXR0cmlidXRlXG59KTtcblxuLyogICovXG5cbnZhciByZWYgPSB7XG4gIGNyZWF0ZTogZnVuY3Rp
b24gY3JlYXRlIChfLCB2bm9kZSkge1xuICAgIHJlZ2lzdGVyUmVmKHZub2RlKTtcbiAgfSxcbiAg
dXBkYXRlOiBmdW5jdGlvbiB1cGRhdGUgKG9sZFZub2RlLCB2bm9kZSkge1xuICAgIGlmIChvbGRW
bm9kZS5kYXRhLnJlZiAhPT0gdm5vZGUuZGF0YS5yZWYpIHtcbiAgICAgIHJlZ2lzdGVyUmVmKG9s
ZFZub2RlLCB0cnVlKTtcbiAgICAgIHJlZ2lzdGVyUmVmKHZub2RlKTtcbiAgICB9XG4gIH0sXG4g
IGRlc3Ryb3k6IGZ1bmN0aW9uIGRlc3Ryb3kgKHZub2RlKSB7XG4gICAgcmVnaXN0ZXJSZWYodm5v
ZGUsIHRydWUpO1xuICB9XG59O1xuXG5mdW5jdGlvbiByZWdpc3RlclJlZiAodm5vZGUsIGlzUmVt
b3ZhbCkge1xuICB2YXIga2V5ID0gdm5vZGUuZGF0YS5yZWY7XG4gIGlmICgha2V5KSB7IHJldHVy
biB9XG5cbiAgdmFyIHZtID0gdm5vZGUuY29udGV4dDtcbiAgdmFyIHJlZiA9IHZub2RlLmNvbXBv
bmVudEluc3RhbmNlIHx8IHZub2RlLmVsbTtcbiAgdmFyIHJlZnMgPSB2bS4kcmVmcztcbiAgaWYg
KGlzUmVtb3ZhbCkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHJlZnNba2V5XSkpIHtcbiAgICAg
IHJlbW92ZShyZWZzW2tleV0sIHJlZik7XG4gICAgfSBlbHNlIGlmIChyZWZzW2tleV0gPT09IHJl
Zikge1xuICAgICAgcmVmc1trZXldID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAg
ICBpZiAodm5vZGUuZGF0YS5yZWZJbkZvcikge1xuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHJl
ZnNba2V5XSkpIHtcbiAgICAgICAgcmVmc1trZXldID0gW3JlZl07XG4gICAgICB9IGVsc2UgaWYg
KHJlZnNba2V5XS5pbmRleE9mKHJlZikgPCAwKSB7XG4gICAgICAgIC8vICRmbG93LWRpc2FibGUt
bGluZVxuICAgICAgICByZWZzW2tleV0ucHVzaChyZWYpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7
XG4gICAgICByZWZzW2tleV0gPSByZWY7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVmlydHVh
bCBET00gcGF0Y2hpbmcgYWxnb3JpdGhtIGJhc2VkIG9uIFNuYWJiZG9tIGJ5XG4gKiBTaW1vbiBG
cmlpcyBWaW5kdW0gKEBwYWxkZXBpbmQpXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vu
c2VcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxkZXBpbmQvc25hYmJkb20vYmxvYi9tYXN0ZXIv
TElDRU5TRVxuICpcbiAqIG1vZGlmaWVkIGJ5IEV2YW4gWW91IChAeXl4OTkwODAzKVxuICpcblxu
LypcbiAqIE5vdCB0eXBlLWNoZWNraW5nIHRoaXMgYmVjYXVzZSB0aGlzIGZpbGUgaXMgcGVyZi1j
cml0aWNhbCBhbmQgdGhlIGNvc3RcbiAqIG9mIG1ha2luZyBmbG93IHVuZGVyc3RhbmQgaXQgaXMg
bm90IHdvcnRoIGl0LlxuICovXG5cbnZhciBlbXB0eU5vZGUgPSBuZXcgVk5vZGUoJycsIHt9LCBb
XSk7XG5cbnZhciBob29rcyA9IFsnY3JlYXRlJywgJ2FjdGl2YXRlJywgJ3VwZGF0ZScsICdyZW1v
dmUnLCAnZGVzdHJveSddO1xuXG5mdW5jdGlvbiBzYW1lVm5vZGUgKGEsIGIpIHtcbiAgcmV0dXJu
IChcbiAgICBhLmtleSA9PT0gYi5rZXkgJiYgKFxuICAgICAgKFxuICAgICAgICBhLnRhZyA9PT0g
Yi50YWcgJiZcbiAgICAgICAgYS5pc0NvbW1lbnQgPT09IGIuaXNDb21tZW50ICYmXG4gICAgICAg
IGlzRGVmKGEuZGF0YSkgPT09IGlzRGVmKGIuZGF0YSkgJiZcbiAgICAgICAgc2FtZUlucHV0VHlw
ZShhLCBiKVxuICAgICAgKSB8fCAoXG4gICAgICAgIGlzVHJ1ZShhLmlzQXN5bmNQbGFjZWhvbGRl
cikgJiZcbiAgICAgICAgYS5hc3luY0ZhY3RvcnkgPT09IGIuYXN5bmNGYWN0b3J5ICYmXG4gICAg
ICAgIGlzVW5kZWYoYi5hc3luY0ZhY3RvcnkuZXJyb3IpXG4gICAgICApXG4gICAgKVxuICApXG59
XG5cbi8vIFNvbWUgYnJvd3NlcnMgZG8gbm90IHN1cHBvcnQgZHluYW1pY2FsbHkgY2hhbmdpbmcg
dHlwZSBmb3IgPGlucHV0PlxuLy8gc28gdGhleSBuZWVkIHRvIGJlIHRyZWF0ZWQgYXMgZGlmZmVy
ZW50IG5vZGVzXG5mdW5jdGlvbiBzYW1lSW5wdXRUeXBlIChhLCBiKSB7XG4gIGlmIChhLnRhZyAh
PT0gJ2lucHV0JykgeyByZXR1cm4gdHJ1ZSB9XG4gIHZhciBpO1xuICB2YXIgdHlwZUEgPSBpc0Rl
ZihpID0gYS5kYXRhKSAmJiBpc0RlZihpID0gaS5hdHRycykgJiYgaS50eXBlO1xuICB2YXIgdHlw
ZUIgPSBpc0RlZihpID0gYi5kYXRhKSAmJiBpc0RlZihpID0gaS5hdHRycykgJiYgaS50eXBlO1xu
ICByZXR1cm4gdHlwZUEgPT09IHR5cGVCXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUtleVRvT2xkSWR4
IChjaGlsZHJlbiwgYmVnaW5JZHgsIGVuZElkeCkge1xuICB2YXIgaSwga2V5O1xuICB2YXIgbWFw
ID0ge307XG4gIGZvciAoaSA9IGJlZ2luSWR4OyBpIDw9IGVuZElkeDsgKytpKSB7XG4gICAga2V5
ID0gY2hpbGRyZW5baV0ua2V5O1xuICAgIGlmIChpc0RlZihrZXkpKSB7IG1hcFtrZXldID0gaTsg
fVxuICB9XG4gIHJldHVybiBtYXBcbn1cblxuZnVuY3Rpb24gY3JlYXRlUGF0Y2hGdW5jdGlvbiAo
YmFja2VuZCkge1xuICB2YXIgaSwgajtcbiAgdmFyIGNicyA9IHt9O1xuXG4gIHZhciBtb2R1bGVz
ID0gYmFja2VuZC5tb2R1bGVzO1xuICB2YXIgbm9kZU9wcyA9IGJhY2tlbmQubm9kZU9wcztcblxu
ICBmb3IgKGkgPSAwOyBpIDwgaG9va3MubGVuZ3RoOyArK2kpIHtcbiAgICBjYnNbaG9va3NbaV1d
ID0gW107XG4gICAgZm9yIChqID0gMDsgaiA8IG1vZHVsZXMubGVuZ3RoOyArK2opIHtcbiAgICAg
IGlmIChpc0RlZihtb2R1bGVzW2pdW2hvb2tzW2ldXSkpIHtcbiAgICAgICAgY2JzW2hvb2tzW2ld
XS5wdXNoKG1vZHVsZXNbal1baG9va3NbaV1dKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBm
dW5jdGlvbiBlbXB0eU5vZGVBdCAoZWxtKSB7XG4gICAgcmV0dXJuIG5ldyBWTm9kZShub2RlT3Bz
LnRhZ05hbWUoZWxtKS50b0xvd2VyQ2FzZSgpLCB7fSwgW10sIHVuZGVmaW5lZCwgZWxtKVxuICB9
XG5cbiAgZnVuY3Rpb24gY3JlYXRlUm1DYiAoY2hpbGRFbG0sIGxpc3RlbmVycykge1xuICAgIGZ1
bmN0aW9uIHJlbW92ZSQkMSAoKSB7XG4gICAgICBpZiAoLS1yZW1vdmUkJDEubGlzdGVuZXJzID09
PSAwKSB7XG4gICAgICAgIHJlbW92ZU5vZGUoY2hpbGRFbG0pO1xuICAgICAgfVxuICAgIH1cbiAg
ICByZW1vdmUkJDEubGlzdGVuZXJzID0gbGlzdGVuZXJzO1xuICAgIHJldHVybiByZW1vdmUkJDFc
biAgfVxuXG4gIGZ1bmN0aW9uIHJlbW92ZU5vZGUgKGVsKSB7XG4gICAgdmFyIHBhcmVudCA9IG5v
ZGVPcHMucGFyZW50Tm9kZShlbCk7XG4gICAgLy8gZWxlbWVudCBtYXkgaGF2ZSBhbHJlYWR5IGJl
ZW4gcmVtb3ZlZCBkdWUgdG8gdi1odG1sIC8gdi10ZXh0XG4gICAgaWYgKGlzRGVmKHBhcmVudCkp
IHtcbiAgICAgIG5vZGVPcHMucmVtb3ZlQ2hpbGQocGFyZW50LCBlbCk7XG4gICAgfVxuICB9XG5c
biAgdmFyIGluUHJlID0gMDtcbiAgZnVuY3Rpb24gY3JlYXRlRWxtICh2bm9kZSwgaW5zZXJ0ZWRW
bm9kZVF1ZXVlLCBwYXJlbnRFbG0sIHJlZkVsbSwgbmVzdGVkKSB7XG4gICAgdm5vZGUuaXNSb290
SW5zZXJ0ID0gIW5lc3RlZDsgLy8gZm9yIHRyYW5zaXRpb24gZW50ZXIgY2hlY2tcbiAgICBpZiAo
Y3JlYXRlQ29tcG9uZW50KHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIHBhcmVudEVsbSwgcmVm
RWxtKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdmFyIGRhdGEgPSB2bm9kZS5kYXRh
O1xuICAgIHZhciBjaGlsZHJlbiA9IHZub2RlLmNoaWxkcmVuO1xuICAgIHZhciB0YWcgPSB2bm9k
ZS50YWc7XG4gICAgaWYgKGlzRGVmKHRhZykpIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RF
X0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIGlmIChkYXRhICYmIGRhdGEucHJlKSB7
XG4gICAgICAgICAgaW5QcmUrKztcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAg
IWluUHJlICYmXG4gICAgICAgICAgIXZub2RlLm5zICYmXG4gICAgICAgICAgIShjb25maWcuaWdu
b3JlZEVsZW1lbnRzLmxlbmd0aCAmJiBjb25maWcuaWdub3JlZEVsZW1lbnRzLmluZGV4T2YodGFn
KSA+IC0xKSAmJlxuICAgICAgICAgIGNvbmZpZy5pc1Vua25vd25FbGVtZW50KHRhZylcbiAgICAg
ICAgKSB7XG4gICAgICAgICAgd2FybihcbiAgICAgICAgICAgICdVbmtub3duIGN1c3RvbSBlbGVt
ZW50OiA8JyArIHRhZyArICc+IC0gZGlkIHlvdSAnICtcbiAgICAgICAgICAgICdyZWdpc3RlciB0
aGUgY29tcG9uZW50IGNvcnJlY3RseT8gRm9yIHJlY3Vyc2l2ZSBjb21wb25lbnRzLCAnICtcbiAg
ICAgICAgICAgICdtYWtlIHN1cmUgdG8gcHJvdmlkZSB0aGUgXCJuYW1lXCIgb3B0aW9uLicsXG4g
ICAgICAgICAgICB2bm9kZS5jb250ZXh0XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAg
fVxuICAgICAgdm5vZGUuZWxtID0gdm5vZGUubnNcbiAgICAgICAgPyBub2RlT3BzLmNyZWF0ZUVs
ZW1lbnROUyh2bm9kZS5ucywgdGFnKVxuICAgICAgICA6IG5vZGVPcHMuY3JlYXRlRWxlbWVudCh0
YWcsIHZub2RlKTtcbiAgICAgIHNldFNjb3BlKHZub2RlKTtcblxuICAgICAgLyogaXN0YW5idWwg
aWdub3JlIGlmICovXG4gICAgICB7XG4gICAgICAgIGNyZWF0ZUNoaWxkcmVuKHZub2RlLCBjaGls
ZHJlbiwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgaWYgKGlzRGVmKGRhdGEpKSB7XG4g
ICAgICAgICAgaW52b2tlQ3JlYXRlSG9va3Modm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4g
ICAgICAgIH1cbiAgICAgICAgaW5zZXJ0KHBhcmVudEVsbSwgdm5vZGUuZWxtLCByZWZFbG0pO1xu
ICAgICAgfVxuXG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9u
JyAmJiBkYXRhICYmIGRhdGEucHJlKSB7XG4gICAgICAgIGluUHJlLS07XG4gICAgICB9XG4gICAg
fSBlbHNlIGlmIChpc1RydWUodm5vZGUuaXNDb21tZW50KSkge1xuICAgICAgdm5vZGUuZWxtID0g
bm9kZU9wcy5jcmVhdGVDb21tZW50KHZub2RlLnRleHQpO1xuICAgICAgaW5zZXJ0KHBhcmVudEVs
bSwgdm5vZGUuZWxtLCByZWZFbG0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB2bm9kZS5lbG0gPSBu
b2RlT3BzLmNyZWF0ZVRleHROb2RlKHZub2RlLnRleHQpO1xuICAgICAgaW5zZXJ0KHBhcmVudEVs
bSwgdm5vZGUuZWxtLCByZWZFbG0pO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNyZWF0ZUNv
bXBvbmVudCAodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCByZWZFbG0pIHtc
biAgICB2YXIgaSA9IHZub2RlLmRhdGE7XG4gICAgaWYgKGlzRGVmKGkpKSB7XG4gICAgICB2YXIg
aXNSZWFjdGl2YXRlZCA9IGlzRGVmKHZub2RlLmNvbXBvbmVudEluc3RhbmNlKSAmJiBpLmtlZXBB
bGl2ZTtcbiAgICAgIGlmIChpc0RlZihpID0gaS5ob29rKSAmJiBpc0RlZihpID0gaS5pbml0KSkg
e1xuICAgICAgICBpKHZub2RlLCBmYWxzZSAvKiBoeWRyYXRpbmcgKi8sIHBhcmVudEVsbSwgcmVm
RWxtKTtcbiAgICAgIH1cbiAgICAgIC8vIGFmdGVyIGNhbGxpbmcgdGhlIGluaXQgaG9vaywgaWYg
dGhlIHZub2RlIGlzIGEgY2hpbGQgY29tcG9uZW50XG4gICAgICAvLyBpdCBzaG91bGQndmUgY3Jl
YXRlZCBhIGNoaWxkIGluc3RhbmNlIGFuZCBtb3VudGVkIGl0LiB0aGUgY2hpbGRcbiAgICAgIC8v
IGNvbXBvbmVudCBhbHNvIGhhcyBzZXQgdGhlIHBsYWNlaG9sZGVyIHZub2RlJ3MgZWxtLlxuICAg
ICAgLy8gaW4gdGhhdCBjYXNlIHdlIGNhbiBqdXN0IHJldHVybiB0aGUgZWxlbWVudCBhbmQgYmUg
ZG9uZS5cbiAgICAgIGlmIChpc0RlZih2bm9kZS5jb21wb25lbnRJbnN0YW5jZSkpIHtcbiAgICAg
ICAgaW5pdENvbXBvbmVudCh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgaWYg
KGlzVHJ1ZShpc1JlYWN0aXZhdGVkKSkge1xuICAgICAgICAgIHJlYWN0aXZhdGVDb21wb25lbnQo
dm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCByZWZFbG0pO1xuICAgICAgICB9
XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24g
aW5pdENvbXBvbmVudCAodm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSkge1xuICAgIGlmIChpc0Rl
Zih2bm9kZS5kYXRhLnBlbmRpbmdJbnNlcnQpKSB7XG4gICAgICBpbnNlcnRlZFZub2RlUXVldWUu
cHVzaC5hcHBseShpbnNlcnRlZFZub2RlUXVldWUsIHZub2RlLmRhdGEucGVuZGluZ0luc2VydCk7
XG4gICAgICB2bm9kZS5kYXRhLnBlbmRpbmdJbnNlcnQgPSBudWxsO1xuICAgIH1cbiAgICB2bm9k
ZS5lbG0gPSB2bm9kZS5jb21wb25lbnRJbnN0YW5jZS4kZWw7XG4gICAgaWYgKGlzUGF0Y2hhYmxl
KHZub2RlKSkge1xuICAgICAgaW52b2tlQ3JlYXRlSG9va3Modm5vZGUsIGluc2VydGVkVm5vZGVR
dWV1ZSk7XG4gICAgICBzZXRTY29wZSh2bm9kZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGVt
cHR5IGNvbXBvbmVudCByb290LlxuICAgICAgLy8gc2tpcCBhbGwgZWxlbWVudC1yZWxhdGVkIG1v
ZHVsZXMgZXhjZXB0IGZvciByZWYgKCMzNDU1KVxuICAgICAgcmVnaXN0ZXJSZWYodm5vZGUpO1xu
ICAgICAgLy8gbWFrZSBzdXJlIHRvIGludm9rZSB0aGUgaW5zZXJ0IGhvb2tcbiAgICAgIGluc2Vy
dGVkVm5vZGVRdWV1ZS5wdXNoKHZub2RlKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiByZWFj
dGl2YXRlQ29tcG9uZW50ICh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIHJl
ZkVsbSkge1xuICAgIHZhciBpO1xuICAgIC8vIGhhY2sgZm9yICM0MzM5OiBhIHJlYWN0aXZhdGVk
IGNvbXBvbmVudCB3aXRoIGlubmVyIHRyYW5zaXRpb25cbiAgICAvLyBkb2VzIG5vdCB0cmlnZ2Vy
IGJlY2F1c2UgdGhlIGlubmVyIG5vZGUncyBjcmVhdGVkIGhvb2tzIGFyZSBub3QgY2FsbGVkXG4g
ICAgLy8gYWdhaW4uIEl0J3Mgbm90IGlkZWFsIHRvIGludm9sdmUgbW9kdWxlLXNwZWNpZmljIGxv
Z2ljIGluIGhlcmUgYnV0XG4gICAgLy8gdGhlcmUgZG9lc24ndCBzZWVtIHRvIGJlIGEgYmV0dGVy
IHdheSB0byBkbyBpdC5cbiAgICB2YXIgaW5uZXJOb2RlID0gdm5vZGU7XG4gICAgd2hpbGUgKGlu
bmVyTm9kZS5jb21wb25lbnRJbnN0YW5jZSkge1xuICAgICAgaW5uZXJOb2RlID0gaW5uZXJOb2Rl
LmNvbXBvbmVudEluc3RhbmNlLl92bm9kZTtcbiAgICAgIGlmIChpc0RlZihpID0gaW5uZXJOb2Rl
LmRhdGEpICYmIGlzRGVmKGkgPSBpLnRyYW5zaXRpb24pKSB7XG4gICAgICAgIGZvciAoaSA9IDA7
IGkgPCBjYnMuYWN0aXZhdGUubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICBjYnMuYWN0aXZhdGVb
aV0oZW1wdHlOb2RlLCBpbm5lck5vZGUpO1xuICAgICAgICB9XG4gICAgICAgIGluc2VydGVkVm5v
ZGVRdWV1ZS5wdXNoKGlubmVyTm9kZSk7XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxu
ICAgIC8vIHVubGlrZSBhIG5ld2x5IGNyZWF0ZWQgY29tcG9uZW50LFxuICAgIC8vIGEgcmVhY3Rp
dmF0ZWQga2VlcC1hbGl2ZSBjb21wb25lbnQgZG9lc24ndCBpbnNlcnQgaXRzZWxmXG4gICAgaW5z
ZXJ0KHBhcmVudEVsbSwgdm5vZGUuZWxtLCByZWZFbG0pO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5z
ZXJ0IChwYXJlbnQsIGVsbSwgcmVmJCQxKSB7XG4gICAgaWYgKGlzRGVmKHBhcmVudCkpIHtcbiAg
ICAgIGlmIChpc0RlZihyZWYkJDEpKSB7XG4gICAgICAgIGlmIChyZWYkJDEucGFyZW50Tm9kZSA9
PT0gcGFyZW50KSB7XG4gICAgICAgICAgbm9kZU9wcy5pbnNlcnRCZWZvcmUocGFyZW50LCBlbG0s
IHJlZiQkMSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vZGVPcHMuYXBw
ZW5kQ2hpbGQocGFyZW50LCBlbG0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9u
IGNyZWF0ZUNoaWxkcmVuICh2bm9kZSwgY2hpbGRyZW4sIGluc2VydGVkVm5vZGVRdWV1ZSkge1xu
ICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCBjaGlsZHJlbi5sZW5ndGg7ICsraSkge1xuICAgICAgICBjcmVhdGVFbG0oY2hpbGRyZW5b
aV0sIGluc2VydGVkVm5vZGVRdWV1ZSwgdm5vZGUuZWxtLCBudWxsLCB0cnVlKTtcbiAgICAgIH1c
biAgICB9IGVsc2UgaWYgKGlzUHJpbWl0aXZlKHZub2RlLnRleHQpKSB7XG4gICAgICBub2RlT3Bz
LmFwcGVuZENoaWxkKHZub2RlLmVsbSwgbm9kZU9wcy5jcmVhdGVUZXh0Tm9kZSh2bm9kZS50ZXh0
KSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gaXNQYXRjaGFibGUgKHZub2RlKSB7XG4gICAg
d2hpbGUgKHZub2RlLmNvbXBvbmVudEluc3RhbmNlKSB7XG4gICAgICB2bm9kZSA9IHZub2RlLmNv
bXBvbmVudEluc3RhbmNlLl92bm9kZTtcbiAgICB9XG4gICAgcmV0dXJuIGlzRGVmKHZub2RlLnRh
ZylcbiAgfVxuXG4gIGZ1bmN0aW9uIGludm9rZUNyZWF0ZUhvb2tzICh2bm9kZSwgaW5zZXJ0ZWRW
bm9kZVF1ZXVlKSB7XG4gICAgZm9yICh2YXIgaSQxID0gMDsgaSQxIDwgY2JzLmNyZWF0ZS5sZW5n
dGg7ICsraSQxKSB7XG4gICAgICBjYnMuY3JlYXRlW2kkMV0oZW1wdHlOb2RlLCB2bm9kZSk7XG4g
ICAgfVxuICAgIGkgPSB2bm9kZS5kYXRhLmhvb2s7IC8vIFJldXNlIHZhcmlhYmxlXG4gICAgaWYg
KGlzRGVmKGkpKSB7XG4gICAgICBpZiAoaXNEZWYoaS5jcmVhdGUpKSB7IGkuY3JlYXRlKGVtcHR5
Tm9kZSwgdm5vZGUpOyB9XG4gICAgICBpZiAoaXNEZWYoaS5pbnNlcnQpKSB7IGluc2VydGVkVm5v
ZGVRdWV1ZS5wdXNoKHZub2RlKTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHNldCBzY29wZSBpZCBh
dHRyaWJ1dGUgZm9yIHNjb3BlZCBDU1MuXG4gIC8vIHRoaXMgaXMgaW1wbGVtZW50ZWQgYXMgYSBz
cGVjaWFsIGNhc2UgdG8gYXZvaWQgdGhlIG92ZXJoZWFkXG4gIC8vIG9mIGdvaW5nIHRocm91Z2gg
dGhlIG5vcm1hbCBhdHRyaWJ1dGUgcGF0Y2hpbmcgcHJvY2Vzcy5cbiAgZnVuY3Rpb24gc2V0U2Nv
cGUgKHZub2RlKSB7XG4gICAgdmFyIGk7XG4gICAgdmFyIGFuY2VzdG9yID0gdm5vZGU7XG4gICAg
d2hpbGUgKGFuY2VzdG9yKSB7XG4gICAgICBpZiAoaXNEZWYoaSA9IGFuY2VzdG9yLmNvbnRleHQp
ICYmIGlzRGVmKGkgPSBpLiRvcHRpb25zLl9zY29wZUlkKSkge1xuICAgICAgICBub2RlT3BzLnNl
dEF0dHJpYnV0ZSh2bm9kZS5lbG0sIGksICcnKTtcbiAgICAgIH1cbiAgICAgIGFuY2VzdG9yID0g
YW5jZXN0b3IucGFyZW50O1xuICAgIH1cbiAgICAvLyBmb3Igc2xvdCBjb250ZW50IHRoZXkgc2hv
dWxkIGFsc28gZ2V0IHRoZSBzY29wZUlkIGZyb20gdGhlIGhvc3QgaW5zdGFuY2UuXG4gICAgaWYg
KGlzRGVmKGkgPSBhY3RpdmVJbnN0YW5jZSkgJiZcbiAgICAgIGkgIT09IHZub2RlLmNvbnRleHQg
JiZcbiAgICAgIGlzRGVmKGkgPSBpLiRvcHRpb25zLl9zY29wZUlkKVxuICAgICkge1xuICAgICAg
bm9kZU9wcy5zZXRBdHRyaWJ1dGUodm5vZGUuZWxtLCBpLCAnJyk7XG4gICAgfVxuICB9XG5cbiAg
ZnVuY3Rpb24gYWRkVm5vZGVzIChwYXJlbnRFbG0sIHJlZkVsbSwgdm5vZGVzLCBzdGFydElkeCwg
ZW5kSWR4LCBpbnNlcnRlZFZub2RlUXVldWUpIHtcbiAgICBmb3IgKDsgc3RhcnRJZHggPD0gZW5k
SWR4OyArK3N0YXJ0SWR4KSB7XG4gICAgICBjcmVhdGVFbG0odm5vZGVzW3N0YXJ0SWR4XSwgaW5z
ZXJ0ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIHJlZkVsbSk7XG4gICAgfVxuICB9XG5cbiAgZnVu
Y3Rpb24gaW52b2tlRGVzdHJveUhvb2sgKHZub2RlKSB7XG4gICAgdmFyIGksIGo7XG4gICAgdmFy
IGRhdGEgPSB2bm9kZS5kYXRhO1xuICAgIGlmIChpc0RlZihkYXRhKSkge1xuICAgICAgaWYgKGlz
RGVmKGkgPSBkYXRhLmhvb2spICYmIGlzRGVmKGkgPSBpLmRlc3Ryb3kpKSB7IGkodm5vZGUpOyB9
XG4gICAgICBmb3IgKGkgPSAwOyBpIDwgY2JzLmRlc3Ryb3kubGVuZ3RoOyArK2kpIHsgY2JzLmRl
c3Ryb3lbaV0odm5vZGUpOyB9XG4gICAgfVxuICAgIGlmIChpc0RlZihpID0gdm5vZGUuY2hpbGRy
ZW4pKSB7XG4gICAgICBmb3IgKGogPSAwOyBqIDwgdm5vZGUuY2hpbGRyZW4ubGVuZ3RoOyArK2op
IHtcbiAgICAgICAgaW52b2tlRGVzdHJveUhvb2sodm5vZGUuY2hpbGRyZW5bal0pO1xuICAgICAg
fVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHJlbW92ZVZub2RlcyAocGFyZW50RWxtLCB2bm9k
ZXMsIHN0YXJ0SWR4LCBlbmRJZHgpIHtcbiAgICBmb3IgKDsgc3RhcnRJZHggPD0gZW5kSWR4OyAr
K3N0YXJ0SWR4KSB7XG4gICAgICB2YXIgY2ggPSB2bm9kZXNbc3RhcnRJZHhdO1xuICAgICAgaWYg
KGlzRGVmKGNoKSkge1xuICAgICAgICBpZiAoaXNEZWYoY2gudGFnKSkge1xuICAgICAgICAgIHJl
bW92ZUFuZEludm9rZVJlbW92ZUhvb2soY2gpO1xuICAgICAgICAgIGludm9rZURlc3Ryb3lIb29r
KGNoKTtcbiAgICAgICAgfSBlbHNlIHsgLy8gVGV4dCBub2RlXG4gICAgICAgICAgcmVtb3ZlTm9k
ZShjaC5lbG0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24g
cmVtb3ZlQW5kSW52b2tlUmVtb3ZlSG9vayAodm5vZGUsIHJtKSB7XG4gICAgaWYgKGlzRGVmKHJt
KSB8fCBpc0RlZih2bm9kZS5kYXRhKSkge1xuICAgICAgdmFyIGk7XG4gICAgICB2YXIgbGlzdGVu
ZXJzID0gY2JzLnJlbW92ZS5sZW5ndGggKyAxO1xuICAgICAgaWYgKGlzRGVmKHJtKSkge1xuICAg
ICAgICAvLyB3ZSBoYXZlIGEgcmVjdXJzaXZlbHkgcGFzc2VkIGRvd24gcm0gY2FsbGJhY2tcbiAg
ICAgICAgLy8gaW5jcmVhc2UgdGhlIGxpc3RlbmVycyBjb3VudFxuICAgICAgICBybS5saXN0ZW5l
cnMgKz0gbGlzdGVuZXJzO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gZGlyZWN0bHkgcmVt
b3ZpbmdcbiAgICAgICAgcm0gPSBjcmVhdGVSbUNiKHZub2RlLmVsbSwgbGlzdGVuZXJzKTtcbiAg
ICAgIH1cbiAgICAgIC8vIHJlY3Vyc2l2ZWx5IGludm9rZSBob29rcyBvbiBjaGlsZCBjb21wb25l
bnQgcm9vdCBub2RlXG4gICAgICBpZiAoaXNEZWYoaSA9IHZub2RlLmNvbXBvbmVudEluc3RhbmNl
KSAmJiBpc0RlZihpID0gaS5fdm5vZGUpICYmIGlzRGVmKGkuZGF0YSkpIHtcbiAgICAgICAgcmVt
b3ZlQW5kSW52b2tlUmVtb3ZlSG9vayhpLCBybSk7XG4gICAgICB9XG4gICAgICBmb3IgKGkgPSAw
OyBpIDwgY2JzLnJlbW92ZS5sZW5ndGg7ICsraSkge1xuICAgICAgICBjYnMucmVtb3ZlW2ldKHZu
b2RlLCBybSk7XG4gICAgICB9XG4gICAgICBpZiAoaXNEZWYoaSA9IHZub2RlLmRhdGEuaG9vaykg
JiYgaXNEZWYoaSA9IGkucmVtb3ZlKSkge1xuICAgICAgICBpKHZub2RlLCBybSk7XG4gICAgICB9
IGVsc2Uge1xuICAgICAgICBybSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZW1v
dmVOb2RlKHZub2RlLmVsbSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlQ2hpbGRy
ZW4gKHBhcmVudEVsbSwgb2xkQ2gsIG5ld0NoLCBpbnNlcnRlZFZub2RlUXVldWUsIHJlbW92ZU9u
bHkpIHtcbiAgICB2YXIgb2xkU3RhcnRJZHggPSAwO1xuICAgIHZhciBuZXdTdGFydElkeCA9IDA7
XG4gICAgdmFyIG9sZEVuZElkeCA9IG9sZENoLmxlbmd0aCAtIDE7XG4gICAgdmFyIG9sZFN0YXJ0
Vm5vZGUgPSBvbGRDaFswXTtcbiAgICB2YXIgb2xkRW5kVm5vZGUgPSBvbGRDaFtvbGRFbmRJZHhd
O1xuICAgIHZhciBuZXdFbmRJZHggPSBuZXdDaC5sZW5ndGggLSAxO1xuICAgIHZhciBuZXdTdGFy
dFZub2RlID0gbmV3Q2hbMF07XG4gICAgdmFyIG5ld0VuZFZub2RlID0gbmV3Q2hbbmV3RW5kSWR4
XTtcbiAgICB2YXIgb2xkS2V5VG9JZHgsIGlkeEluT2xkLCBlbG1Ub01vdmUsIHJlZkVsbTtcblxu
ICAgIC8vIHJlbW92ZU9ubHkgaXMgYSBzcGVjaWFsIGZsYWcgdXNlZCBvbmx5IGJ5IDx0cmFuc2l0
aW9uLWdyb3VwPlxuICAgIC8vIHRvIGVuc3VyZSByZW1vdmVkIGVsZW1lbnRzIHN0YXkgaW4gY29y
cmVjdCByZWxhdGl2ZSBwb3NpdGlvbnNcbiAgICAvLyBkdXJpbmcgbGVhdmluZyB0cmFuc2l0aW9u
c1xuICAgIHZhciBjYW5Nb3ZlID0gIXJlbW92ZU9ubHk7XG5cbiAgICB3aGlsZSAob2xkU3RhcnRJ
ZHggPD0gb2xkRW5kSWR4ICYmIG5ld1N0YXJ0SWR4IDw9IG5ld0VuZElkeCkge1xuICAgICAgaWYg
KGlzVW5kZWYob2xkU3RhcnRWbm9kZSkpIHtcbiAgICAgICAgb2xkU3RhcnRWbm9kZSA9IG9sZENo
Wysrb2xkU3RhcnRJZHhdOyAvLyBWbm9kZSBoYXMgYmVlbiBtb3ZlZCBsZWZ0XG4gICAgICB9IGVs
c2UgaWYgKGlzVW5kZWYob2xkRW5kVm5vZGUpKSB7XG4gICAgICAgIG9sZEVuZFZub2RlID0gb2xk
Q2hbLS1vbGRFbmRJZHhdO1xuICAgICAgfSBlbHNlIGlmIChzYW1lVm5vZGUob2xkU3RhcnRWbm9k
ZSwgbmV3U3RhcnRWbm9kZSkpIHtcbiAgICAgICAgcGF0Y2hWbm9kZShvbGRTdGFydFZub2RlLCBu
ZXdTdGFydFZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICBvbGRTdGFydFZub2Rl
ID0gb2xkQ2hbKytvbGRTdGFydElkeF07XG4gICAgICAgIG5ld1N0YXJ0Vm5vZGUgPSBuZXdDaFsr
K25ld1N0YXJ0SWR4XTtcbiAgICAgIH0gZWxzZSBpZiAoc2FtZVZub2RlKG9sZEVuZFZub2RlLCBu
ZXdFbmRWbm9kZSkpIHtcbiAgICAgICAgcGF0Y2hWbm9kZShvbGRFbmRWbm9kZSwgbmV3RW5kVm5v
ZGUsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgICAgIG9sZEVuZFZub2RlID0gb2xkQ2hbLS1v
bGRFbmRJZHhdO1xuICAgICAgICBuZXdFbmRWbm9kZSA9IG5ld0NoWy0tbmV3RW5kSWR4XTtcbiAg
ICAgIH0gZWxzZSBpZiAoc2FtZVZub2RlKG9sZFN0YXJ0Vm5vZGUsIG5ld0VuZFZub2RlKSkgeyAv
LyBWbm9kZSBtb3ZlZCByaWdodFxuICAgICAgICBwYXRjaFZub2RlKG9sZFN0YXJ0Vm5vZGUsIG5l
d0VuZFZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICBjYW5Nb3ZlICYmIG5vZGVP
cHMuaW5zZXJ0QmVmb3JlKHBhcmVudEVsbSwgb2xkU3RhcnRWbm9kZS5lbG0sIG5vZGVPcHMubmV4
dFNpYmxpbmcob2xkRW5kVm5vZGUuZWxtKSk7XG4gICAgICAgIG9sZFN0YXJ0Vm5vZGUgPSBvbGRD
aFsrK29sZFN0YXJ0SWR4XTtcbiAgICAgICAgbmV3RW5kVm5vZGUgPSBuZXdDaFstLW5ld0VuZElk
eF07XG4gICAgICB9IGVsc2UgaWYgKHNhbWVWbm9kZShvbGRFbmRWbm9kZSwgbmV3U3RhcnRWbm9k
ZSkpIHsgLy8gVm5vZGUgbW92ZWQgbGVmdFxuICAgICAgICBwYXRjaFZub2RlKG9sZEVuZFZub2Rl
LCBuZXdTdGFydFZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICBjYW5Nb3ZlICYm
IG5vZGVPcHMuaW5zZXJ0QmVmb3JlKHBhcmVudEVsbSwgb2xkRW5kVm5vZGUuZWxtLCBvbGRTdGFy
dFZub2RlLmVsbSk7XG4gICAgICAgIG9sZEVuZFZub2RlID0gb2xkQ2hbLS1vbGRFbmRJZHhdO1xu
ICAgICAgICBuZXdTdGFydFZub2RlID0gbmV3Q2hbKytuZXdTdGFydElkeF07XG4gICAgICB9IGVs
c2Uge1xuICAgICAgICBpZiAoaXNVbmRlZihvbGRLZXlUb0lkeCkpIHsgb2xkS2V5VG9JZHggPSBj
cmVhdGVLZXlUb09sZElkeChvbGRDaCwgb2xkU3RhcnRJZHgsIG9sZEVuZElkeCk7IH1cbiAgICAg
ICAgaWR4SW5PbGQgPSBpc0RlZihuZXdTdGFydFZub2RlLmtleSkgPyBvbGRLZXlUb0lkeFtuZXdT
dGFydFZub2RlLmtleV0gOiBudWxsO1xuICAgICAgICBpZiAoaXNVbmRlZihpZHhJbk9sZCkpIHsg
Ly8gTmV3IGVsZW1lbnRcbiAgICAgICAgICBjcmVhdGVFbG0obmV3U3RhcnRWbm9kZSwgaW5zZXJ0
ZWRWbm9kZVF1ZXVlLCBwYXJlbnRFbG0sIG9sZFN0YXJ0Vm5vZGUuZWxtKTtcbiAgICAgICAgICBu
ZXdTdGFydFZub2RlID0gbmV3Q2hbKytuZXdTdGFydElkeF07XG4gICAgICAgIH0gZWxzZSB7XG4g
ICAgICAgICAgZWxtVG9Nb3ZlID0gb2xkQ2hbaWR4SW5PbGRdO1xuICAgICAgICAgIC8qIGlzdGFu
YnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0g
J3Byb2R1Y3Rpb24nICYmICFlbG1Ub01vdmUpIHtcbiAgICAgICAgICAgIHdhcm4oXG4gICAgICAg
ICAgICAgICdJdCBzZWVtcyB0aGVyZSBhcmUgZHVwbGljYXRlIGtleXMgdGhhdCBpcyBjYXVzaW5n
IGFuIHVwZGF0ZSBlcnJvci4gJyArXG4gICAgICAgICAgICAgICdNYWtlIHN1cmUgZWFjaCB2LWZv
ciBpdGVtIGhhcyBhIHVuaXF1ZSBrZXkuJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4g
ICAgICAgICAgaWYgKHNhbWVWbm9kZShlbG1Ub01vdmUsIG5ld1N0YXJ0Vm5vZGUpKSB7XG4gICAg
ICAgICAgICBwYXRjaFZub2RlKGVsbVRvTW92ZSwgbmV3U3RhcnRWbm9kZSwgaW5zZXJ0ZWRWbm9k
ZVF1ZXVlKTtcbiAgICAgICAgICAgIG9sZENoW2lkeEluT2xkXSA9IHVuZGVmaW5lZDtcbiAgICAg
ICAgICAgIGNhbk1vdmUgJiYgbm9kZU9wcy5pbnNlcnRCZWZvcmUocGFyZW50RWxtLCBlbG1Ub01v
dmUuZWxtLCBvbGRTdGFydFZub2RlLmVsbSk7XG4gICAgICAgICAgICBuZXdTdGFydFZub2RlID0g
bmV3Q2hbKytuZXdTdGFydElkeF07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8v
IHNhbWUga2V5IGJ1dCBkaWZmZXJlbnQgZWxlbWVudC4gdHJlYXQgYXMgbmV3IGVsZW1lbnRcbiAg
ICAgICAgICAgIGNyZWF0ZUVsbShuZXdTdGFydFZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIHBh
cmVudEVsbSwgb2xkU3RhcnRWbm9kZS5lbG0pO1xuICAgICAgICAgICAgbmV3U3RhcnRWbm9kZSA9
IG5ld0NoWysrbmV3U3RhcnRJZHhdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxu
ICAgIH1cbiAgICBpZiAob2xkU3RhcnRJZHggPiBvbGRFbmRJZHgpIHtcbiAgICAgIHJlZkVsbSA9
IGlzVW5kZWYobmV3Q2hbbmV3RW5kSWR4ICsgMV0pID8gbnVsbCA6IG5ld0NoW25ld0VuZElkeCAr
IDFdLmVsbTtcbiAgICAgIGFkZFZub2RlcyhwYXJlbnRFbG0sIHJlZkVsbSwgbmV3Q2gsIG5ld1N0
YXJ0SWR4LCBuZXdFbmRJZHgsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgfSBlbHNlIGlmIChu
ZXdTdGFydElkeCA+IG5ld0VuZElkeCkge1xuICAgICAgcmVtb3ZlVm5vZGVzKHBhcmVudEVsbSwg
b2xkQ2gsIG9sZFN0YXJ0SWR4LCBvbGRFbmRJZHgpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9u
IHBhdGNoVm5vZGUgKG9sZFZub2RlLCB2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCByZW1vdmVP
bmx5KSB7XG4gICAgaWYgKG9sZFZub2RlID09PSB2bm9kZSkge1xuICAgICAgcmV0dXJuXG4gICAg
fVxuXG4gICAgdmFyIGVsbSA9IHZub2RlLmVsbSA9IG9sZFZub2RlLmVsbTtcblxuICAgIGlmIChp
c1RydWUob2xkVm5vZGUuaXNBc3luY1BsYWNlaG9sZGVyKSkge1xuICAgICAgaWYgKGlzRGVmKHZu
b2RlLmFzeW5jRmFjdG9yeS5yZXNvbHZlZCkpIHtcbiAgICAgICAgaHlkcmF0ZShvbGRWbm9kZS5l
bG0sIHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAg
dm5vZGUuaXNBc3luY1BsYWNlaG9sZGVyID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVyblxu
ICAgIH1cblxuICAgIC8vIHJldXNlIGVsZW1lbnQgZm9yIHN0YXRpYyB0cmVlcy5cbiAgICAvLyBu
b3RlIHdlIG9ubHkgZG8gdGhpcyBpZiB0aGUgdm5vZGUgaXMgY2xvbmVkIC1cbiAgICAvLyBpZiB0
aGUgbmV3IG5vZGUgaXMgbm90IGNsb25lZCBpdCBtZWFucyB0aGUgcmVuZGVyIGZ1bmN0aW9ucyBo
YXZlIGJlZW5cbiAgICAvLyByZXNldCBieSB0aGUgaG90LXJlbG9hZC1hcGkgYW5kIHdlIG5lZWQg
dG8gZG8gYSBwcm9wZXIgcmUtcmVuZGVyLlxuICAgIGlmIChpc1RydWUodm5vZGUuaXNTdGF0aWMp
ICYmXG4gICAgICBpc1RydWUob2xkVm5vZGUuaXNTdGF0aWMpICYmXG4gICAgICB2bm9kZS5rZXkg
PT09IG9sZFZub2RlLmtleSAmJlxuICAgICAgKGlzVHJ1ZSh2bm9kZS5pc0Nsb25lZCkgfHwgaXNU
cnVlKHZub2RlLmlzT25jZSkpXG4gICAgKSB7XG4gICAgICB2bm9kZS5jb21wb25lbnRJbnN0YW5j
ZSA9IG9sZFZub2RlLmNvbXBvbmVudEluc3RhbmNlO1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4g
ICAgdmFyIGk7XG4gICAgdmFyIGRhdGEgPSB2bm9kZS5kYXRhO1xuICAgIGlmIChpc0RlZihkYXRh
KSAmJiBpc0RlZihpID0gZGF0YS5ob29rKSAmJiBpc0RlZihpID0gaS5wcmVwYXRjaCkpIHtcbiAg
ICAgIGkob2xkVm5vZGUsIHZub2RlKTtcbiAgICB9XG5cbiAgICB2YXIgb2xkQ2ggPSBvbGRWbm9k
ZS5jaGlsZHJlbjtcbiAgICB2YXIgY2ggPSB2bm9kZS5jaGlsZHJlbjtcbiAgICBpZiAoaXNEZWYo
ZGF0YSkgJiYgaXNQYXRjaGFibGUodm5vZGUpKSB7XG4gICAgICBmb3IgKGkgPSAwOyBpIDwgY2Jz
LnVwZGF0ZS5sZW5ndGg7ICsraSkgeyBjYnMudXBkYXRlW2ldKG9sZFZub2RlLCB2bm9kZSk7IH1c
biAgICAgIGlmIChpc0RlZihpID0gZGF0YS5ob29rKSAmJiBpc0RlZihpID0gaS51cGRhdGUpKSB7
IGkob2xkVm5vZGUsIHZub2RlKTsgfVxuICAgIH1cbiAgICBpZiAoaXNVbmRlZih2bm9kZS50ZXh0
KSkge1xuICAgICAgaWYgKGlzRGVmKG9sZENoKSAmJiBpc0RlZihjaCkpIHtcbiAgICAgICAgaWYg
KG9sZENoICE9PSBjaCkgeyB1cGRhdGVDaGlsZHJlbihlbG0sIG9sZENoLCBjaCwgaW5zZXJ0ZWRW
bm9kZVF1ZXVlLCByZW1vdmVPbmx5KTsgfVxuICAgICAgfSBlbHNlIGlmIChpc0RlZihjaCkpIHtc
biAgICAgICAgaWYgKGlzRGVmKG9sZFZub2RlLnRleHQpKSB7IG5vZGVPcHMuc2V0VGV4dENvbnRl
bnQoZWxtLCAnJyk7IH1cbiAgICAgICAgYWRkVm5vZGVzKGVsbSwgbnVsbCwgY2gsIDAsIGNoLmxl
bmd0aCAtIDEsIGluc2VydGVkVm5vZGVRdWV1ZSk7XG4gICAgICB9IGVsc2UgaWYgKGlzRGVmKG9s
ZENoKSkge1xuICAgICAgICByZW1vdmVWbm9kZXMoZWxtLCBvbGRDaCwgMCwgb2xkQ2gubGVuZ3Ro
IC0gMSk7XG4gICAgICB9IGVsc2UgaWYgKGlzRGVmKG9sZFZub2RlLnRleHQpKSB7XG4gICAgICAg
IG5vZGVPcHMuc2V0VGV4dENvbnRlbnQoZWxtLCAnJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlm
IChvbGRWbm9kZS50ZXh0ICE9PSB2bm9kZS50ZXh0KSB7XG4gICAgICBub2RlT3BzLnNldFRleHRD
b250ZW50KGVsbSwgdm5vZGUudGV4dCk7XG4gICAgfVxuICAgIGlmIChpc0RlZihkYXRhKSkge1xu
ICAgICAgaWYgKGlzRGVmKGkgPSBkYXRhLmhvb2spICYmIGlzRGVmKGkgPSBpLnBvc3RwYXRjaCkp
IHsgaShvbGRWbm9kZSwgdm5vZGUpOyB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gaW52b2tl
SW5zZXJ0SG9vayAodm5vZGUsIHF1ZXVlLCBpbml0aWFsKSB7XG4gICAgLy8gZGVsYXkgaW5zZXJ0
IGhvb2tzIGZvciBjb21wb25lbnQgcm9vdCBub2RlcywgaW52b2tlIHRoZW0gYWZ0ZXIgdGhlXG4g
ICAgLy8gZWxlbWVudCBpcyByZWFsbHkgaW5zZXJ0ZWRcbiAgICBpZiAoaXNUcnVlKGluaXRpYWwp
ICYmIGlzRGVmKHZub2RlLnBhcmVudCkpIHtcbiAgICAgIHZub2RlLnBhcmVudC5kYXRhLnBlbmRp
bmdJbnNlcnQgPSBxdWV1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBxdWV1ZS5sZW5ndGg7ICsraSkge1xuICAgICAgICBxdWV1ZVtpXS5kYXRhLmhvb2suaW5zZXJ0
KHF1ZXVlW2ldKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgYmFpbGVkID0gZmFsc2U7
XG4gIC8vIGxpc3Qgb2YgbW9kdWxlcyB0aGF0IGNhbiBza2lwIGNyZWF0ZSBob29rIGR1cmluZyBo
eWRyYXRpb24gYmVjYXVzZSB0aGV5XG4gIC8vIGFyZSBhbHJlYWR5IHJlbmRlcmVkIG9uIHRoZSBj
bGllbnQgb3IgaGFzIG5vIG5lZWQgZm9yIGluaXRpYWxpemF0aW9uXG4gIHZhciBpc1JlbmRlcmVk
TW9kdWxlID0gbWFrZU1hcCgnYXR0cnMsc3R5bGUsY2xhc3Msc3RhdGljQ2xhc3Msc3RhdGljU3R5
bGUsa2V5Jyk7XG5cbiAgLy8gTm90ZTogdGhpcyBpcyBhIGJyb3dzZXItb25seSBmdW5jdGlvbiBz
byB3ZSBjYW4gYXNzdW1lIGVsbXMgYXJlIERPTSBub2Rlcy5cbiAgZnVuY3Rpb24gaHlkcmF0ZSAo
ZWxtLCB2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKSB7XG4gICAgaWYgKGlzVHJ1ZSh2bm9kZS5p
c0NvbW1lbnQpICYmIGlzRGVmKHZub2RlLmFzeW5jRmFjdG9yeSkpIHtcbiAgICAgIHZub2RlLmVs
bSA9IGVsbTtcbiAgICAgIHZub2RlLmlzQXN5bmNQbGFjZWhvbGRlciA9IHRydWU7XG4gICAgICBy
ZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9k
dWN0aW9uJykge1xuICAgICAgaWYgKCFhc3NlcnROb2RlTWF0Y2goZWxtLCB2bm9kZSkpIHtcbiAg
ICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4gICAgfVxuICAgIHZub2RlLmVsbSA9IGVsbTtc
biAgICB2YXIgdGFnID0gdm5vZGUudGFnO1xuICAgIHZhciBkYXRhID0gdm5vZGUuZGF0YTtcbiAg
ICB2YXIgY2hpbGRyZW4gPSB2bm9kZS5jaGlsZHJlbjtcbiAgICBpZiAoaXNEZWYoZGF0YSkpIHtc
biAgICAgIGlmIChpc0RlZihpID0gZGF0YS5ob29rKSAmJiBpc0RlZihpID0gaS5pbml0KSkgeyBp
KHZub2RlLCB0cnVlIC8qIGh5ZHJhdGluZyAqLyk7IH1cbiAgICAgIGlmIChpc0RlZihpID0gdm5v
ZGUuY29tcG9uZW50SW5zdGFuY2UpKSB7XG4gICAgICAgIC8vIGNoaWxkIGNvbXBvbmVudC4gaXQg
c2hvdWxkIGhhdmUgaHlkcmF0ZWQgaXRzIG93biB0cmVlLlxuICAgICAgICBpbml0Q29tcG9uZW50
KHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUpO1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAg
fVxuICAgIH1cbiAgICBpZiAoaXNEZWYodGFnKSkge1xuICAgICAgaWYgKGlzRGVmKGNoaWxkcmVu
KSkge1xuICAgICAgICAvLyBlbXB0eSBlbGVtZW50LCBhbGxvdyBjbGllbnQgdG8gcGljayB1cCBh
bmQgcG9wdWxhdGUgY2hpbGRyZW5cbiAgICAgICAgaWYgKCFlbG0uaGFzQ2hpbGROb2RlcygpKSB7
XG4gICAgICAgICAgY3JlYXRlQ2hpbGRyZW4odm5vZGUsIGNoaWxkcmVuLCBpbnNlcnRlZFZub2Rl
UXVldWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhciBjaGlsZHJlbk1hdGNoID0g
dHJ1ZTtcbiAgICAgICAgICB2YXIgY2hpbGROb2RlID0gZWxtLmZpcnN0Q2hpbGQ7XG4gICAgICAg
ICAgZm9yICh2YXIgaSQxID0gMDsgaSQxIDwgY2hpbGRyZW4ubGVuZ3RoOyBpJDErKykge1xuICAg
ICAgICAgICAgaWYgKCFjaGlsZE5vZGUgfHwgIWh5ZHJhdGUoY2hpbGROb2RlLCBjaGlsZHJlbltp
JDFdLCBpbnNlcnRlZFZub2RlUXVldWUpKSB7XG4gICAgICAgICAgICAgIGNoaWxkcmVuTWF0Y2gg
PSBmYWxzZTtcbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAg
IGNoaWxkTm9kZSA9IGNoaWxkTm9kZS5uZXh0U2libGluZztcbiAgICAgICAgICB9XG4gICAgICAg
ICAgLy8gaWYgY2hpbGROb2RlIGlzIG5vdCBudWxsLCBpdCBtZWFucyB0aGUgYWN0dWFsIGNoaWxk
Tm9kZXMgbGlzdCBpc1xuICAgICAgICAgIC8vIGxvbmdlciB0aGFuIHRoZSB2aXJ0dWFsIGNoaWxk
cmVuIGxpc3QuXG4gICAgICAgICAgaWYgKCFjaGlsZHJlbk1hdGNoIHx8IGNoaWxkTm9kZSkge1xu
ICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZc
biAgICAgICAgICAgICAgdHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAg
ICAgICAgICFiYWlsZWRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICBiYWlsZWQgPSB0
cnVlO1xuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ1BhcmVudDogJywgZWxtKTtcbiAgICAg
ICAgICAgICAgY29uc29sZS53YXJuKCdNaXNtYXRjaGluZyBjaGlsZE5vZGVzIHZzLiBWTm9kZXM6
ICcsIGVsbS5jaGlsZE5vZGVzLCBjaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAg
ICByZXR1cm4gZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlm
IChpc0RlZihkYXRhKSkge1xuICAgICAgICBmb3IgKHZhciBrZXkgaW4gZGF0YSkge1xuICAgICAg
ICAgIGlmICghaXNSZW5kZXJlZE1vZHVsZShrZXkpKSB7XG4gICAgICAgICAgICBpbnZva2VDcmVh
dGVIb29rcyh2bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlKTtcbiAgICAgICAgICAgIGJyZWFrXG4g
ICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChlbG0uZGF0YSAh
PT0gdm5vZGUudGV4dCkge1xuICAgICAgZWxtLmRhdGEgPSB2bm9kZS50ZXh0O1xuICAgIH1cbiAg
ICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgZnVuY3Rpb24gYXNzZXJ0Tm9kZU1hdGNoIChub2RlLCB2
bm9kZSkge1xuICAgIGlmIChpc0RlZih2bm9kZS50YWcpKSB7XG4gICAgICByZXR1cm4gKFxuICAg
ICAgICB2bm9kZS50YWcuaW5kZXhPZigndnVlLWNvbXBvbmVudCcpID09PSAwIHx8XG4gICAgICAg
IHZub2RlLnRhZy50b0xvd2VyQ2FzZSgpID09PSAobm9kZS50YWdOYW1lICYmIG5vZGUudGFnTmFt
ZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbm9k
ZS5ub2RlVHlwZSA9PT0gKHZub2RlLmlzQ29tbWVudCA/IDggOiAzKVxuICAgIH1cbiAgfVxuXG4g
IHJldHVybiBmdW5jdGlvbiBwYXRjaCAob2xkVm5vZGUsIHZub2RlLCBoeWRyYXRpbmcsIHJlbW92
ZU9ubHksIHBhcmVudEVsbSwgcmVmRWxtKSB7XG4gICAgaWYgKGlzVW5kZWYodm5vZGUpKSB7XG4g
ICAgICBpZiAoaXNEZWYob2xkVm5vZGUpKSB7IGludm9rZURlc3Ryb3lIb29rKG9sZFZub2RlKTsg
fVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdmFyIGlzSW5pdGlhbFBhdGNoID0gZmFsc2U7
XG4gICAgdmFyIGluc2VydGVkVm5vZGVRdWV1ZSA9IFtdO1xuXG4gICAgaWYgKGlzVW5kZWYob2xk
Vm5vZGUpKSB7XG4gICAgICAvLyBlbXB0eSBtb3VudCAobGlrZWx5IGFzIGNvbXBvbmVudCksIGNy
ZWF0ZSBuZXcgcm9vdCBlbGVtZW50XG4gICAgICBpc0luaXRpYWxQYXRjaCA9IHRydWU7XG4gICAg
ICBjcmVhdGVFbG0odm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgcGFyZW50RWxtLCByZWZFbG0p
O1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgaXNSZWFsRWxlbWVudCA9IGlzRGVmKG9sZFZub2Rl
Lm5vZGVUeXBlKTtcbiAgICAgIGlmICghaXNSZWFsRWxlbWVudCAmJiBzYW1lVm5vZGUob2xkVm5v
ZGUsIHZub2RlKSkge1xuICAgICAgICAvLyBwYXRjaCBleGlzdGluZyByb290IG5vZGVcbiAgICAg
ICAgcGF0Y2hWbm9kZShvbGRWbm9kZSwgdm5vZGUsIGluc2VydGVkVm5vZGVRdWV1ZSwgcmVtb3Zl
T25seSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoaXNSZWFsRWxlbWVudCkge1xuICAg
ICAgICAgIC8vIG1vdW50aW5nIHRvIGEgcmVhbCBlbGVtZW50XG4gICAgICAgICAgLy8gY2hlY2sg
aWYgdGhpcyBpcyBzZXJ2ZXItcmVuZGVyZWQgY29udGVudCBhbmQgaWYgd2UgY2FuIHBlcmZvcm1c
biAgICAgICAgICAvLyBhIHN1Y2Nlc3NmdWwgaHlkcmF0aW9uLlxuICAgICAgICAgIGlmIChvbGRW
bm9kZS5ub2RlVHlwZSA9PT0gMSAmJiBvbGRWbm9kZS5oYXNBdHRyaWJ1dGUoU1NSX0FUVFIpKSB7
XG4gICAgICAgICAgICBvbGRWbm9kZS5yZW1vdmVBdHRyaWJ1dGUoU1NSX0FUVFIpO1xuICAgICAg
ICAgICAgaHlkcmF0aW5nID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGlzVHJ1
ZShoeWRyYXRpbmcpKSB7XG4gICAgICAgICAgICBpZiAoaHlkcmF0ZShvbGRWbm9kZSwgdm5vZGUs
IGluc2VydGVkVm5vZGVRdWV1ZSkpIHtcbiAgICAgICAgICAgICAgaW52b2tlSW5zZXJ0SG9vayh2
bm9kZSwgaW5zZXJ0ZWRWbm9kZVF1ZXVlLCB0cnVlKTtcbiAgICAgICAgICAgICAgcmV0dXJuIG9s
ZFZub2RlXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAn
cHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgICAgd2FybihcbiAgICAgICAgICAgICAgICAnVGhl
IGNsaWVudC1zaWRlIHJlbmRlcmVkIHZpcnR1YWwgRE9NIHRyZWUgaXMgbm90IG1hdGNoaW5nICcg
K1xuICAgICAgICAgICAgICAgICdzZXJ2ZXItcmVuZGVyZWQgY29udGVudC4gVGhpcyBpcyBsaWtl
bHkgY2F1c2VkIGJ5IGluY29ycmVjdCAnICtcbiAgICAgICAgICAgICAgICAnSFRNTCBtYXJrdXAs
IGZvciBleGFtcGxlIG5lc3RpbmcgYmxvY2stbGV2ZWwgZWxlbWVudHMgaW5zaWRlICcgK1xuICAg
ICAgICAgICAgICAgICc8cD4sIG9yIG1pc3NpbmcgPHRib2R5Pi4gQmFpbGluZyBoeWRyYXRpb24g
YW5kIHBlcmZvcm1pbmcgJyArXG4gICAgICAgICAgICAgICAgJ2Z1bGwgY2xpZW50LXNpZGUgcmVu
ZGVyLidcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAg
ICAgICAgLy8gZWl0aGVyIG5vdCBzZXJ2ZXItcmVuZGVyZWQsIG9yIGh5ZHJhdGlvbiBmYWlsZWQu
XG4gICAgICAgICAgLy8gY3JlYXRlIGFuIGVtcHR5IG5vZGUgYW5kIHJlcGxhY2UgaXRcbiAgICAg
ICAgICBvbGRWbm9kZSA9IGVtcHR5Tm9kZUF0KG9sZFZub2RlKTtcbiAgICAgICAgfVxuICAgICAg
ICAvLyByZXBsYWNpbmcgZXhpc3RpbmcgZWxlbWVudFxuICAgICAgICB2YXIgb2xkRWxtID0gb2xk
Vm5vZGUuZWxtO1xuICAgICAgICB2YXIgcGFyZW50RWxtJDEgPSBub2RlT3BzLnBhcmVudE5vZGUo
b2xkRWxtKTtcbiAgICAgICAgY3JlYXRlRWxtKFxuICAgICAgICAgIHZub2RlLFxuICAgICAgICAg
IGluc2VydGVkVm5vZGVRdWV1ZSxcbiAgICAgICAgICAvLyBleHRyZW1lbHkgcmFyZSBlZGdlIGNh
c2U6IGRvIG5vdCBpbnNlcnQgaWYgb2xkIGVsZW1lbnQgaXMgaW4gYVxuICAgICAgICAgIC8vIGxl
YXZpbmcgdHJhbnNpdGlvbi4gT25seSBoYXBwZW5zIHdoZW4gY29tYmluaW5nIHRyYW5zaXRpb24g
K1xuICAgICAgICAgIC8vIGtlZXAtYWxpdmUgKyBIT0NzLiAoIzQ1OTApXG4gICAgICAgICAgb2xk
RWxtLl9sZWF2ZUNiID8gbnVsbCA6IHBhcmVudEVsbSQxLFxuICAgICAgICAgIG5vZGVPcHMubmV4
dFNpYmxpbmcob2xkRWxtKVxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChpc0RlZih2bm9kZS5w
YXJlbnQpKSB7XG4gICAgICAgICAgLy8gY29tcG9uZW50IHJvb3QgZWxlbWVudCByZXBsYWNlZC5c
biAgICAgICAgICAvLyB1cGRhdGUgcGFyZW50IHBsYWNlaG9sZGVyIG5vZGUgZWxlbWVudCwgcmVj
dXJzaXZlbHlcbiAgICAgICAgICB2YXIgYW5jZXN0b3IgPSB2bm9kZS5wYXJlbnQ7XG4gICAgICAg
ICAgd2hpbGUgKGFuY2VzdG9yKSB7XG4gICAgICAgICAgICBhbmNlc3Rvci5lbG0gPSB2bm9kZS5l
bG07XG4gICAgICAgICAgICBhbmNlc3RvciA9IGFuY2VzdG9yLnBhcmVudDtcbiAgICAgICAgICB9
XG4gICAgICAgICAgaWYgKGlzUGF0Y2hhYmxlKHZub2RlKSkge1xuICAgICAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBjYnMuY3JlYXRlLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgIGNi
cy5jcmVhdGVbaV0oZW1wdHlOb2RlLCB2bm9kZS5wYXJlbnQpO1xuICAgICAgICAgICAgfVxuICAg
ICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc0RlZihwYXJlbnRFbG0kMSkpIHtc
biAgICAgICAgICByZW1vdmVWbm9kZXMocGFyZW50RWxtJDEsIFtvbGRWbm9kZV0sIDAsIDApO1xu
ICAgICAgICB9IGVsc2UgaWYgKGlzRGVmKG9sZFZub2RlLnRhZykpIHtcbiAgICAgICAgICBpbnZv
a2VEZXN0cm95SG9vayhvbGRWbm9kZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAg
ICBpbnZva2VJbnNlcnRIb29rKHZub2RlLCBpbnNlcnRlZFZub2RlUXVldWUsIGlzSW5pdGlhbFBh
dGNoKTtcbiAgICByZXR1cm4gdm5vZGUuZWxtXG4gIH1cbn1cblxuLyogICovXG5cbnZhciBkaXJl
Y3RpdmVzID0ge1xuICBjcmVhdGU6IHVwZGF0ZURpcmVjdGl2ZXMsXG4gIHVwZGF0ZTogdXBkYXRl
RGlyZWN0aXZlcyxcbiAgZGVzdHJveTogZnVuY3Rpb24gdW5iaW5kRGlyZWN0aXZlcyAodm5vZGUp
IHtcbiAgICB1cGRhdGVEaXJlY3RpdmVzKHZub2RlLCBlbXB0eU5vZGUpO1xuICB9XG59O1xuXG5m
dW5jdGlvbiB1cGRhdGVEaXJlY3RpdmVzIChvbGRWbm9kZSwgdm5vZGUpIHtcbiAgaWYgKG9sZFZu
b2RlLmRhdGEuZGlyZWN0aXZlcyB8fCB2bm9kZS5kYXRhLmRpcmVjdGl2ZXMpIHtcbiAgICBfdXBk
YXRlKG9sZFZub2RlLCB2bm9kZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gX3VwZGF0ZSAob2xkVm5v
ZGUsIHZub2RlKSB7XG4gIHZhciBpc0NyZWF0ZSA9IG9sZFZub2RlID09PSBlbXB0eU5vZGU7XG4g
IHZhciBpc0Rlc3Ryb3kgPSB2bm9kZSA9PT0gZW1wdHlOb2RlO1xuICB2YXIgb2xkRGlycyA9IG5v
cm1hbGl6ZURpcmVjdGl2ZXMkMShvbGRWbm9kZS5kYXRhLmRpcmVjdGl2ZXMsIG9sZFZub2RlLmNv
bnRleHQpO1xuICB2YXIgbmV3RGlycyA9IG5vcm1hbGl6ZURpcmVjdGl2ZXMkMSh2bm9kZS5kYXRh
LmRpcmVjdGl2ZXMsIHZub2RlLmNvbnRleHQpO1xuXG4gIHZhciBkaXJzV2l0aEluc2VydCA9IFtd
O1xuICB2YXIgZGlyc1dpdGhQb3N0cGF0Y2ggPSBbXTtcblxuICB2YXIga2V5LCBvbGREaXIsIGRp
cjtcbiAgZm9yIChrZXkgaW4gbmV3RGlycykge1xuICAgIG9sZERpciA9IG9sZERpcnNba2V5XTtc
biAgICBkaXIgPSBuZXdEaXJzW2tleV07XG4gICAgaWYgKCFvbGREaXIpIHtcbiAgICAgIC8vIG5l
dyBkaXJlY3RpdmUsIGJpbmRcbiAgICAgIGNhbGxIb29rJDEoZGlyLCAnYmluZCcsIHZub2RlLCBv
bGRWbm9kZSk7XG4gICAgICBpZiAoZGlyLmRlZiAmJiBkaXIuZGVmLmluc2VydGVkKSB7XG4gICAg
ICAgIGRpcnNXaXRoSW5zZXJ0LnB1c2goZGlyKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAg
ICAgLy8gZXhpc3RpbmcgZGlyZWN0aXZlLCB1cGRhdGVcbiAgICAgIGRpci5vbGRWYWx1ZSA9IG9s
ZERpci52YWx1ZTtcbiAgICAgIGNhbGxIb29rJDEoZGlyLCAndXBkYXRlJywgdm5vZGUsIG9sZFZu
b2RlKTtcbiAgICAgIGlmIChkaXIuZGVmICYmIGRpci5kZWYuY29tcG9uZW50VXBkYXRlZCkge1xu
ICAgICAgICBkaXJzV2l0aFBvc3RwYXRjaC5wdXNoKGRpcik7XG4gICAgICB9XG4gICAgfVxuICB9
XG5cbiAgaWYgKGRpcnNXaXRoSW5zZXJ0Lmxlbmd0aCkge1xuICAgIHZhciBjYWxsSW5zZXJ0ID0g
ZnVuY3Rpb24gKCkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkaXJzV2l0aEluc2VydC5s
ZW5ndGg7IGkrKykge1xuICAgICAgICBjYWxsSG9vayQxKGRpcnNXaXRoSW5zZXJ0W2ldLCAnaW5z
ZXJ0ZWQnLCB2bm9kZSwgb2xkVm5vZGUpO1xuICAgICAgfVxuICAgIH07XG4gICAgaWYgKGlzQ3Jl
YXRlKSB7XG4gICAgICBtZXJnZVZOb2RlSG9vayh2bm9kZS5kYXRhLmhvb2sgfHwgKHZub2RlLmRh
dGEuaG9vayA9IHt9KSwgJ2luc2VydCcsIGNhbGxJbnNlcnQpO1xuICAgIH0gZWxzZSB7XG4gICAg
ICBjYWxsSW5zZXJ0KCk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGRpcnNXaXRoUG9zdHBhdGNoLmxl
bmd0aCkge1xuICAgIG1lcmdlVk5vZGVIb29rKHZub2RlLmRhdGEuaG9vayB8fCAodm5vZGUuZGF0
YS5ob29rID0ge30pLCAncG9zdHBhdGNoJywgZnVuY3Rpb24gKCkge1xuICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBkaXJzV2l0aFBvc3RwYXRjaC5sZW5ndGg7IGkrKykge1xuICAgICAgICBjYWxs
SG9vayQxKGRpcnNXaXRoUG9zdHBhdGNoW2ldLCAnY29tcG9uZW50VXBkYXRlZCcsIHZub2RlLCBv
bGRWbm9kZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBpZiAoIWlzQ3JlYXRlKSB7XG4g
ICAgZm9yIChrZXkgaW4gb2xkRGlycykge1xuICAgICAgaWYgKCFuZXdEaXJzW2tleV0pIHtcbiAg
ICAgICAgLy8gbm8gbG9uZ2VyIHByZXNlbnQsIHVuYmluZFxuICAgICAgICBjYWxsSG9vayQxKG9s
ZERpcnNba2V5XSwgJ3VuYmluZCcsIG9sZFZub2RlLCBvbGRWbm9kZSwgaXNEZXN0cm95KTtcbiAg
ICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIGVtcHR5TW9kaWZpZXJzID0gT2JqZWN0LmNyZWF0
ZShudWxsKTtcblxuZnVuY3Rpb24gbm9ybWFsaXplRGlyZWN0aXZlcyQxIChcbiAgZGlycyxcbiAg
dm1cbikge1xuICB2YXIgcmVzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgaWYgKCFkaXJzKSB7
XG4gICAgcmV0dXJuIHJlc1xuICB9XG4gIHZhciBpLCBkaXI7XG4gIGZvciAoaSA9IDA7IGkgPCBk
aXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgZGlyID0gZGlyc1tpXTtcbiAgICBpZiAoIWRpci5tb2Rp
ZmllcnMpIHtcbiAgICAgIGRpci5tb2RpZmllcnMgPSBlbXB0eU1vZGlmaWVycztcbiAgICB9XG4g
ICAgcmVzW2dldFJhd0Rpck5hbWUoZGlyKV0gPSBkaXI7XG4gICAgZGlyLmRlZiA9IHJlc29sdmVB
c3NldCh2bS4kb3B0aW9ucywgJ2RpcmVjdGl2ZXMnLCBkaXIubmFtZSwgdHJ1ZSk7XG4gIH1cbiAg
cmV0dXJuIHJlc1xufVxuXG5mdW5jdGlvbiBnZXRSYXdEaXJOYW1lIChkaXIpIHtcbiAgcmV0dXJu
IGRpci5yYXdOYW1lIHx8ICgoZGlyLm5hbWUpICsgXCIuXCIgKyAoT2JqZWN0LmtleXMoZGlyLm1v
ZGlmaWVycyB8fCB7fSkuam9pbignLicpKSlcbn1cblxuZnVuY3Rpb24gY2FsbEhvb2skMSAoZGly
LCBob29rLCB2bm9kZSwgb2xkVm5vZGUsIGlzRGVzdHJveSkge1xuICB2YXIgZm4gPSBkaXIuZGVm
ICYmIGRpci5kZWZbaG9va107XG4gIGlmIChmbikge1xuICAgIHRyeSB7XG4gICAgICBmbih2bm9k
ZS5lbG0sIGRpciwgdm5vZGUsIG9sZFZub2RlLCBpc0Rlc3Ryb3kpO1xuICAgIH0gY2F0Y2ggKGUp
IHtcbiAgICAgIGhhbmRsZUVycm9yKGUsIHZub2RlLmNvbnRleHQsIChcImRpcmVjdGl2ZSBcIiAr
IChkaXIubmFtZSkgKyBcIiBcIiArIGhvb2sgKyBcIiBob29rXCIpKTtcbiAgICB9XG4gIH1cbn1c
blxudmFyIGJhc2VNb2R1bGVzID0gW1xuICByZWYsXG4gIGRpcmVjdGl2ZXNcbl07XG5cbi8qICAq
L1xuXG5mdW5jdGlvbiB1cGRhdGVBdHRycyAob2xkVm5vZGUsIHZub2RlKSB7XG4gIHZhciBvcHRz
ID0gdm5vZGUuY29tcG9uZW50T3B0aW9ucztcbiAgaWYgKGlzRGVmKG9wdHMpICYmIG9wdHMuQ3Rv
ci5vcHRpb25zLmluaGVyaXRBdHRycyA9PT0gZmFsc2UpIHtcbiAgICByZXR1cm5cbiAgfVxuICBp
ZiAoaXNVbmRlZihvbGRWbm9kZS5kYXRhLmF0dHJzKSAmJiBpc1VuZGVmKHZub2RlLmRhdGEuYXR0
cnMpKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFyIGtleSwgY3VyLCBvbGQ7XG4gIHZhciBlbG0g
PSB2bm9kZS5lbG07XG4gIHZhciBvbGRBdHRycyA9IG9sZFZub2RlLmRhdGEuYXR0cnMgfHwge307
XG4gIHZhciBhdHRycyA9IHZub2RlLmRhdGEuYXR0cnMgfHwge307XG4gIC8vIGNsb25lIG9ic2Vy
dmVkIG9iamVjdHMsIGFzIHRoZSB1c2VyIHByb2JhYmx5IHdhbnRzIHRvIG11dGF0ZSBpdFxuICBp
ZiAoaXNEZWYoYXR0cnMuX19vYl9fKSkge1xuICAgIGF0dHJzID0gdm5vZGUuZGF0YS5hdHRycyA9
IGV4dGVuZCh7fSwgYXR0cnMpO1xuICB9XG5cbiAgZm9yIChrZXkgaW4gYXR0cnMpIHtcbiAgICBj
dXIgPSBhdHRyc1trZXldO1xuICAgIG9sZCA9IG9sZEF0dHJzW2tleV07XG4gICAgaWYgKG9sZCAh
PT0gY3VyKSB7XG4gICAgICBzZXRBdHRyKGVsbSwga2V5LCBjdXIpO1xuICAgIH1cbiAgfVxuICAv
LyAjNDM5MTogaW4gSUU5LCBzZXR0aW5nIHR5cGUgY2FuIHJlc2V0IHZhbHVlIGZvciBpbnB1dFt0
eXBlPXJhZGlvXVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKGlzSUU5ICYmIGF0
dHJzLnZhbHVlICE9PSBvbGRBdHRycy52YWx1ZSkge1xuICAgIHNldEF0dHIoZWxtLCAndmFsdWUn
LCBhdHRycy52YWx1ZSk7XG4gIH1cbiAgZm9yIChrZXkgaW4gb2xkQXR0cnMpIHtcbiAgICBpZiAo
aXNVbmRlZihhdHRyc1trZXldKSkge1xuICAgICAgaWYgKGlzWGxpbmsoa2V5KSkge1xuICAgICAg
ICBlbG0ucmVtb3ZlQXR0cmlidXRlTlMoeGxpbmtOUywgZ2V0WGxpbmtQcm9wKGtleSkpO1xuICAg
ICAgfSBlbHNlIGlmICghaXNFbnVtZXJhdGVkQXR0cihrZXkpKSB7XG4gICAgICAgIGVsbS5yZW1v
dmVBdHRyaWJ1dGUoa2V5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gc2V0
QXR0ciAoZWwsIGtleSwgdmFsdWUpIHtcbiAgaWYgKGlzQm9vbGVhbkF0dHIoa2V5KSkge1xuICAg
IC8vIHNldCBhdHRyaWJ1dGUgZm9yIGJsYW5rIHZhbHVlXG4gICAgLy8gZS5nLiA8b3B0aW9uIGRp
c2FibGVkPlNlbGVjdCBvbmU8L29wdGlvbj5cbiAgICBpZiAoaXNGYWxzeUF0dHJWYWx1ZSh2YWx1
ZSkpIHtcbiAgICAgIGVsLnJlbW92ZUF0dHJpYnV0ZShrZXkpO1xuICAgIH0gZWxzZSB7XG4gICAg
ICBlbC5zZXRBdHRyaWJ1dGUoa2V5LCBrZXkpO1xuICAgIH1cbiAgfSBlbHNlIGlmIChpc0VudW1l
cmF0ZWRBdHRyKGtleSkpIHtcbiAgICBlbC5zZXRBdHRyaWJ1dGUoa2V5LCBpc0ZhbHN5QXR0clZh
bHVlKHZhbHVlKSB8fCB2YWx1ZSA9PT0gJ2ZhbHNlJyA/ICdmYWxzZScgOiAndHJ1ZScpO1xuICB9
IGVsc2UgaWYgKGlzWGxpbmsoa2V5KSkge1xuICAgIGlmIChpc0ZhbHN5QXR0clZhbHVlKHZhbHVl
KSkge1xuICAgICAgZWwucmVtb3ZlQXR0cmlidXRlTlMoeGxpbmtOUywgZ2V0WGxpbmtQcm9wKGtl
eSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbC5zZXRBdHRyaWJ1dGVOUyh4bGlua05TLCBrZXks
IHZhbHVlKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGlzRmFsc3lBdHRyVmFsdWUodmFs
dWUpKSB7XG4gICAgICBlbC5yZW1vdmVBdHRyaWJ1dGUoa2V5KTtcbiAgICB9IGVsc2Uge1xuICAg
ICAgZWwuc2V0QXR0cmlidXRlKGtleSwgdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgYXR0
cnMgPSB7XG4gIGNyZWF0ZTogdXBkYXRlQXR0cnMsXG4gIHVwZGF0ZTogdXBkYXRlQXR0cnNcbn07
XG5cbi8qICAqL1xuXG5mdW5jdGlvbiB1cGRhdGVDbGFzcyAob2xkVm5vZGUsIHZub2RlKSB7XG4g
IHZhciBlbCA9IHZub2RlLmVsbTtcbiAgdmFyIGRhdGEgPSB2bm9kZS5kYXRhO1xuICB2YXIgb2xk
RGF0YSA9IG9sZFZub2RlLmRhdGE7XG4gIGlmIChcbiAgICBpc1VuZGVmKGRhdGEuc3RhdGljQ2xh
c3MpICYmXG4gICAgaXNVbmRlZihkYXRhLmNsYXNzKSAmJiAoXG4gICAgICBpc1VuZGVmKG9sZERh
dGEpIHx8IChcbiAgICAgICAgaXNVbmRlZihvbGREYXRhLnN0YXRpY0NsYXNzKSAmJlxuICAgICAg
ICBpc1VuZGVmKG9sZERhdGEuY2xhc3MpXG4gICAgICApXG4gICAgKVxuICApIHtcbiAgICByZXR1
cm5cbiAgfVxuXG4gIHZhciBjbHMgPSBnZW5DbGFzc0ZvclZub2RlKHZub2RlKTtcblxuICAvLyBo
YW5kbGUgdHJhbnNpdGlvbiBjbGFzc2VzXG4gIHZhciB0cmFuc2l0aW9uQ2xhc3MgPSBlbC5fdHJh
bnNpdGlvbkNsYXNzZXM7XG4gIGlmIChpc0RlZih0cmFuc2l0aW9uQ2xhc3MpKSB7XG4gICAgY2xz
ID0gY29uY2F0KGNscywgc3RyaW5naWZ5Q2xhc3ModHJhbnNpdGlvbkNsYXNzKSk7XG4gIH1cblxu
ICAvLyBzZXQgdGhlIGNsYXNzXG4gIGlmIChjbHMgIT09IGVsLl9wcmV2Q2xhc3MpIHtcbiAgICBl
bC5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgY2xzKTtcbiAgICBlbC5fcHJldkNsYXNzID0gY2xzO1xu
ICB9XG59XG5cbnZhciBrbGFzcyA9IHtcbiAgY3JlYXRlOiB1cGRhdGVDbGFzcyxcbiAgdXBkYXRl
OiB1cGRhdGVDbGFzc1xufTtcblxuLyogICovXG5cbnZhciB2YWxpZERpdmlzaW9uQ2hhclJFID0g
L1tcXHcpLitcXC1fJFxcXV0vO1xuXG5mdW5jdGlvbiBwYXJzZUZpbHRlcnMgKGV4cCkge1xuICB2
YXIgaW5TaW5nbGUgPSBmYWxzZTtcbiAgdmFyIGluRG91YmxlID0gZmFsc2U7XG4gIHZhciBpblRl
bXBsYXRlU3RyaW5nID0gZmFsc2U7XG4gIHZhciBpblJlZ2V4ID0gZmFsc2U7XG4gIHZhciBjdXJs
eSA9IDA7XG4gIHZhciBzcXVhcmUgPSAwO1xuICB2YXIgcGFyZW4gPSAwO1xuICB2YXIgbGFzdEZp
bHRlckluZGV4ID0gMDtcbiAgdmFyIGMsIHByZXYsIGksIGV4cHJlc3Npb24sIGZpbHRlcnM7XG5c
biAgZm9yIChpID0gMDsgaSA8IGV4cC5sZW5ndGg7IGkrKykge1xuICAgIHByZXYgPSBjO1xuICAg
IGMgPSBleHAuY2hhckNvZGVBdChpKTtcbiAgICBpZiAoaW5TaW5nbGUpIHtcbiAgICAgIGlmIChj
ID09PSAweDI3ICYmIHByZXYgIT09IDB4NUMpIHsgaW5TaW5nbGUgPSBmYWxzZTsgfVxuICAgIH0g
ZWxzZSBpZiAoaW5Eb3VibGUpIHtcbiAgICAgIGlmIChjID09PSAweDIyICYmIHByZXYgIT09IDB4
NUMpIHsgaW5Eb3VibGUgPSBmYWxzZTsgfVxuICAgIH0gZWxzZSBpZiAoaW5UZW1wbGF0ZVN0cmlu
Zykge1xuICAgICAgaWYgKGMgPT09IDB4NjAgJiYgcHJldiAhPT0gMHg1QykgeyBpblRlbXBsYXRl
U3RyaW5nID0gZmFsc2U7IH1cbiAgICB9IGVsc2UgaWYgKGluUmVnZXgpIHtcbiAgICAgIGlmIChj
ID09PSAweDJmICYmIHByZXYgIT09IDB4NUMpIHsgaW5SZWdleCA9IGZhbHNlOyB9XG4gICAgfSBl
bHNlIGlmIChcbiAgICAgIGMgPT09IDB4N0MgJiYgLy8gcGlwZVxuICAgICAgZXhwLmNoYXJDb2Rl
QXQoaSArIDEpICE9PSAweDdDICYmXG4gICAgICBleHAuY2hhckNvZGVBdChpIC0gMSkgIT09IDB4
N0MgJiZcbiAgICAgICFjdXJseSAmJiAhc3F1YXJlICYmICFwYXJlblxuICAgICkge1xuICAgICAg
aWYgKGV4cHJlc3Npb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAvLyBmaXJzdCBmaWx0ZXIs
IGVuZCBvZiBleHByZXNzaW9uXG4gICAgICAgIGxhc3RGaWx0ZXJJbmRleCA9IGkgKyAxO1xuICAg
ICAgICBleHByZXNzaW9uID0gZXhwLnNsaWNlKDAsIGkpLnRyaW0oKTtcbiAgICAgIH0gZWxzZSB7
XG4gICAgICAgIHB1c2hGaWx0ZXIoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc3dp
dGNoIChjKSB7XG4gICAgICAgIGNhc2UgMHgyMjogaW5Eb3VibGUgPSB0cnVlOyBicmVhayAgICAg
ICAgIC8vIFwiXG4gICAgICAgIGNhc2UgMHgyNzogaW5TaW5nbGUgPSB0cnVlOyBicmVhayAgICAg
ICAgIC8vICdcbiAgICAgICAgY2FzZSAweDYwOiBpblRlbXBsYXRlU3RyaW5nID0gdHJ1ZTsgYnJl
YWsgLy8gYFxuICAgICAgICBjYXNlIDB4Mjg6IHBhcmVuKys7IGJyZWFrICAgICAgICAgICAgICAg
ICAvLyAoXG4gICAgICAgIGNhc2UgMHgyOTogcGFyZW4tLTsgYnJlYWsgICAgICAgICAgICAgICAg
IC8vIClcbiAgICAgICAgY2FzZSAweDVCOiBzcXVhcmUrKzsgYnJlYWsgICAgICAgICAgICAgICAg
Ly8gW1xuICAgICAgICBjYXNlIDB4NUQ6IHNxdWFyZS0tOyBicmVhayAgICAgICAgICAgICAgICAv
LyBdXG4gICAgICAgIGNhc2UgMHg3QjogY3VybHkrKzsgYnJlYWsgICAgICAgICAgICAgICAgIC8v
IHtcbiAgICAgICAgY2FzZSAweDdEOiBjdXJseS0tOyBicmVhayAgICAgICAgICAgICAgICAgLy8g
fVxuICAgICAgfVxuICAgICAgaWYgKGMgPT09IDB4MmYpIHsgLy8gL1xuICAgICAgICB2YXIgaiA9
IGkgLSAxO1xuICAgICAgICB2YXIgcCA9ICh2b2lkIDApO1xuICAgICAgICAvLyBmaW5kIGZpcnN0
IG5vbi13aGl0ZXNwYWNlIHByZXYgY2hhclxuICAgICAgICBmb3IgKDsgaiA+PSAwOyBqLS0pIHtc
biAgICAgICAgICBwID0gZXhwLmNoYXJBdChqKTtcbiAgICAgICAgICBpZiAocCAhPT0gJyAnKSB7
IGJyZWFrIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIXAgfHwgIXZhbGlkRGl2aXNpb25DaGFy
UkUudGVzdChwKSkge1xuICAgICAgICAgIGluUmVnZXggPSB0cnVlO1xuICAgICAgICB9XG4gICAg
ICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKGV4cHJlc3Npb24gPT09IHVuZGVmaW5lZCkge1xuICAg
IGV4cHJlc3Npb24gPSBleHAuc2xpY2UoMCwgaSkudHJpbSgpO1xuICB9IGVsc2UgaWYgKGxhc3RG
aWx0ZXJJbmRleCAhPT0gMCkge1xuICAgIHB1c2hGaWx0ZXIoKTtcbiAgfVxuXG4gIGZ1bmN0aW9u
IHB1c2hGaWx0ZXIgKCkge1xuICAgIChmaWx0ZXJzIHx8IChmaWx0ZXJzID0gW10pKS5wdXNoKGV4
cC5zbGljZShsYXN0RmlsdGVySW5kZXgsIGkpLnRyaW0oKSk7XG4gICAgbGFzdEZpbHRlckluZGV4
ID0gaSArIDE7XG4gIH1cblxuICBpZiAoZmlsdGVycykge1xuICAgIGZvciAoaSA9IDA7IGkgPCBm
aWx0ZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBleHByZXNzaW9uID0gd3JhcEZpbHRlcihleHBy
ZXNzaW9uLCBmaWx0ZXJzW2ldKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZXhwcmVzc2lvblxu
fVxuXG5mdW5jdGlvbiB3cmFwRmlsdGVyIChleHAsIGZpbHRlcikge1xuICB2YXIgaSA9IGZpbHRl
ci5pbmRleE9mKCcoJyk7XG4gIGlmIChpIDwgMCkge1xuICAgIC8vIF9mOiByZXNvbHZlRmlsdGVy
XG4gICAgcmV0dXJuIChcIl9mKFxcXCJcIiArIGZpbHRlciArIFwiXFxcIikoXCIgKyBleHAgKyBc
IilcIilcbiAgfSBlbHNlIHtcbiAgICB2YXIgbmFtZSA9IGZpbHRlci5zbGljZSgwLCBpKTtcbiAg
ICB2YXIgYXJncyA9IGZpbHRlci5zbGljZShpICsgMSk7XG4gICAgcmV0dXJuIChcIl9mKFxcXCJc
IiArIG5hbWUgKyBcIlxcXCIpKFwiICsgZXhwICsgXCIsXCIgKyBhcmdzKVxuICB9XG59XG5cbi8q
ICAqL1xuXG5mdW5jdGlvbiBiYXNlV2FybiAobXNnKSB7XG4gIGNvbnNvbGUuZXJyb3IoKFwiW1Z1
ZSBjb21waWxlcl06IFwiICsgbXNnKSk7XG59XG5cbmZ1bmN0aW9uIHBsdWNrTW9kdWxlRnVuY3Rp
b24gKFxuICBtb2R1bGVzLFxuICBrZXlcbikge1xuICByZXR1cm4gbW9kdWxlc1xuICAgID8gbW9k
dWxlcy5tYXAoZnVuY3Rpb24gKG0pIHsgcmV0dXJuIG1ba2V5XTsgfSkuZmlsdGVyKGZ1bmN0aW9u
IChfKSB7IHJldHVybiBfOyB9KVxuICAgIDogW11cbn1cblxuZnVuY3Rpb24gYWRkUHJvcCAoZWws
IG5hbWUsIHZhbHVlKSB7XG4gIChlbC5wcm9wcyB8fCAoZWwucHJvcHMgPSBbXSkpLnB1c2goeyBu
YW1lOiBuYW1lLCB2YWx1ZTogdmFsdWUgfSk7XG59XG5cbmZ1bmN0aW9uIGFkZEF0dHIgKGVsLCBu
YW1lLCB2YWx1ZSkge1xuICAoZWwuYXR0cnMgfHwgKGVsLmF0dHJzID0gW10pKS5wdXNoKHsgbmFt
ZTogbmFtZSwgdmFsdWU6IHZhbHVlIH0pO1xufVxuXG5mdW5jdGlvbiBhZGREaXJlY3RpdmUgKFxu
ICBlbCxcbiAgbmFtZSxcbiAgcmF3TmFtZSxcbiAgdmFsdWUsXG4gIGFyZyxcbiAgbW9kaWZpZXJz
XG4pIHtcbiAgKGVsLmRpcmVjdGl2ZXMgfHwgKGVsLmRpcmVjdGl2ZXMgPSBbXSkpLnB1c2goeyBu
YW1lOiBuYW1lLCByYXdOYW1lOiByYXdOYW1lLCB2YWx1ZTogdmFsdWUsIGFyZzogYXJnLCBtb2Rp
ZmllcnM6IG1vZGlmaWVycyB9KTtcbn1cblxuZnVuY3Rpb24gYWRkSGFuZGxlciAoXG4gIGVsLFxu
ICBuYW1lLFxuICB2YWx1ZSxcbiAgbW9kaWZpZXJzLFxuICBpbXBvcnRhbnQsXG4gIHdhcm5cbikg
e1xuICAvLyB3YXJuIHByZXZlbnQgYW5kIHBhc3NpdmUgbW9kaWZpZXJcbiAgLyogaXN0YW5idWwg
aWdub3JlIGlmICovXG4gIGlmIChcbiAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1
Y3Rpb24nICYmIHdhcm4gJiZcbiAgICBtb2RpZmllcnMgJiYgbW9kaWZpZXJzLnByZXZlbnQgJiYg
bW9kaWZpZXJzLnBhc3NpdmVcbiAgKSB7XG4gICAgd2FybihcbiAgICAgICdwYXNzaXZlIGFuZCBw
cmV2ZW50IGNhblxcJ3QgYmUgdXNlZCB0b2dldGhlci4gJyArXG4gICAgICAnUGFzc2l2ZSBoYW5k
bGVyIGNhblxcJ3QgcHJldmVudCBkZWZhdWx0IGV2ZW50LidcbiAgICApO1xuICB9XG4gIC8vIGNo
ZWNrIGNhcHR1cmUgbW9kaWZpZXJcbiAgaWYgKG1vZGlmaWVycyAmJiBtb2RpZmllcnMuY2FwdHVy
ZSkge1xuICAgIGRlbGV0ZSBtb2RpZmllcnMuY2FwdHVyZTtcbiAgICBuYW1lID0gJyEnICsgbmFt
ZTsgLy8gbWFyayB0aGUgZXZlbnQgYXMgY2FwdHVyZWRcbiAgfVxuICBpZiAobW9kaWZpZXJzICYm
IG1vZGlmaWVycy5vbmNlKSB7XG4gICAgZGVsZXRlIG1vZGlmaWVycy5vbmNlO1xuICAgIG5hbWUg
PSAnficgKyBuYW1lOyAvLyBtYXJrIHRoZSBldmVudCBhcyBvbmNlXG4gIH1cbiAgLyogaXN0YW5i
dWwgaWdub3JlIGlmICovXG4gIGlmIChtb2RpZmllcnMgJiYgbW9kaWZpZXJzLnBhc3NpdmUpIHtc
biAgICBkZWxldGUgbW9kaWZpZXJzLnBhc3NpdmU7XG4gICAgbmFtZSA9ICcmJyArIG5hbWU7IC8v
IG1hcmsgdGhlIGV2ZW50IGFzIHBhc3NpdmVcbiAgfVxuICB2YXIgZXZlbnRzO1xuICBpZiAobW9k
aWZpZXJzICYmIG1vZGlmaWVycy5uYXRpdmUpIHtcbiAgICBkZWxldGUgbW9kaWZpZXJzLm5hdGl2
ZTtcbiAgICBldmVudHMgPSBlbC5uYXRpdmVFdmVudHMgfHwgKGVsLm5hdGl2ZUV2ZW50cyA9IHt9
KTtcbiAgfSBlbHNlIHtcbiAgICBldmVudHMgPSBlbC5ldmVudHMgfHwgKGVsLmV2ZW50cyA9IHt9
KTtcbiAgfVxuICB2YXIgbmV3SGFuZGxlciA9IHsgdmFsdWU6IHZhbHVlLCBtb2RpZmllcnM6IG1v
ZGlmaWVycyB9O1xuICB2YXIgaGFuZGxlcnMgPSBldmVudHNbbmFtZV07XG4gIC8qIGlzdGFuYnVs
IGlnbm9yZSBpZiAqL1xuICBpZiAoQXJyYXkuaXNBcnJheShoYW5kbGVycykpIHtcbiAgICBpbXBv
cnRhbnQgPyBoYW5kbGVycy51bnNoaWZ0KG5ld0hhbmRsZXIpIDogaGFuZGxlcnMucHVzaChuZXdI
YW5kbGVyKTtcbiAgfSBlbHNlIGlmIChoYW5kbGVycykge1xuICAgIGV2ZW50c1tuYW1lXSA9IGlt
cG9ydGFudCA/IFtuZXdIYW5kbGVyLCBoYW5kbGVyc10gOiBbaGFuZGxlcnMsIG5ld0hhbmRsZXJd
O1xuICB9IGVsc2Uge1xuICAgIGV2ZW50c1tuYW1lXSA9IG5ld0hhbmRsZXI7XG4gIH1cbn1cblxu
ZnVuY3Rpb24gZ2V0QmluZGluZ0F0dHIgKFxuICBlbCxcbiAgbmFtZSxcbiAgZ2V0U3RhdGljXG4p
IHtcbiAgdmFyIGR5bmFtaWNWYWx1ZSA9XG4gICAgZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJzonICsg
bmFtZSkgfHxcbiAgICBnZXRBbmRSZW1vdmVBdHRyKGVsLCAndi1iaW5kOicgKyBuYW1lKTtcbiAg
aWYgKGR5bmFtaWNWYWx1ZSAhPSBudWxsKSB7XG4gICAgcmV0dXJuIHBhcnNlRmlsdGVycyhkeW5h
bWljVmFsdWUpXG4gIH0gZWxzZSBpZiAoZ2V0U3RhdGljICE9PSBmYWxzZSkge1xuICAgIHZhciBz
dGF0aWNWYWx1ZSA9IGdldEFuZFJlbW92ZUF0dHIoZWwsIG5hbWUpO1xuICAgIGlmIChzdGF0aWNW
YWx1ZSAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoc3RhdGljVmFsdWUp
XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldEFuZFJlbW92ZUF0dHIgKGVsLCBuYW1lKSB7
XG4gIHZhciB2YWw7XG4gIGlmICgodmFsID0gZWwuYXR0cnNNYXBbbmFtZV0pICE9IG51bGwpIHtc
biAgICB2YXIgbGlzdCA9IGVsLmF0dHJzTGlzdDtcbiAgICBmb3IgKHZhciBpID0gMCwgbCA9IGxp
c3QubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBpZiAobGlzdFtpXS5uYW1lID09PSBuYW1l
KSB7XG4gICAgICAgIGxpc3Quc3BsaWNlKGksIDEpO1xuICAgICAgICBicmVha1xuICAgICAgfVxu
ICAgIH1cbiAgfVxuICByZXR1cm4gdmFsXG59XG5cbi8qICAqL1xuXG4vKipcbiAqIENyb3NzLXBs
YXRmb3JtIGNvZGUgZ2VuZXJhdGlvbiBmb3IgY29tcG9uZW50IHYtbW9kZWxcbiAqL1xuZnVuY3Rp
b24gZ2VuQ29tcG9uZW50TW9kZWwgKFxuICBlbCxcbiAgdmFsdWUsXG4gIG1vZGlmaWVyc1xuKSB7
XG4gIHZhciByZWYgPSBtb2RpZmllcnMgfHwge307XG4gIHZhciBudW1iZXIgPSByZWYubnVtYmVy
O1xuICB2YXIgdHJpbSA9IHJlZi50cmltO1xuXG4gIHZhciBiYXNlVmFsdWVFeHByZXNzaW9uID0g
JyQkdic7XG4gIHZhciB2YWx1ZUV4cHJlc3Npb24gPSBiYXNlVmFsdWVFeHByZXNzaW9uO1xuICBp
ZiAodHJpbSkge1xuICAgIHZhbHVlRXhwcmVzc2lvbiA9XG4gICAgICBcIih0eXBlb2YgXCIgKyBi
YXNlVmFsdWVFeHByZXNzaW9uICsgXCIgPT09ICdzdHJpbmcnXCIgK1xuICAgICAgICBcIj8gXCIg
KyBiYXNlVmFsdWVFeHByZXNzaW9uICsgXCIudHJpbSgpXCIgK1xuICAgICAgICBcIjogXCIgKyBi
YXNlVmFsdWVFeHByZXNzaW9uICsgXCIpXCI7XG4gIH1cbiAgaWYgKG51bWJlcikge1xuICAgIHZh
bHVlRXhwcmVzc2lvbiA9IFwiX24oXCIgKyB2YWx1ZUV4cHJlc3Npb24gKyBcIilcIjtcbiAgfVxu
ICB2YXIgYXNzaWdubWVudCA9IGdlbkFzc2lnbm1lbnRDb2RlKHZhbHVlLCB2YWx1ZUV4cHJlc3Np
b24pO1xuXG4gIGVsLm1vZGVsID0ge1xuICAgIHZhbHVlOiAoXCIoXCIgKyB2YWx1ZSArIFwiKVwi
KSxcbiAgICBleHByZXNzaW9uOiAoXCJcXFwiXCIgKyB2YWx1ZSArIFwiXFxcIlwiKSxcbiAgICBj
YWxsYmFjazogKFwiZnVuY3Rpb24gKFwiICsgYmFzZVZhbHVlRXhwcmVzc2lvbiArIFwiKSB7XCIg
KyBhc3NpZ25tZW50ICsgXCJ9XCIpXG4gIH07XG59XG5cbi8qKlxuICogQ3Jvc3MtcGxhdGZvcm0g
Y29kZWdlbiBoZWxwZXIgZm9yIGdlbmVyYXRpbmcgdi1tb2RlbCB2YWx1ZSBhc3NpZ25tZW50IGNv
ZGUuXG4gKi9cbmZ1bmN0aW9uIGdlbkFzc2lnbm1lbnRDb2RlIChcbiAgdmFsdWUsXG4gIGFzc2ln
bm1lbnRcbikge1xuICB2YXIgbW9kZWxScyA9IHBhcnNlTW9kZWwodmFsdWUpO1xuICBpZiAobW9k
ZWxScy5pZHggPT09IG51bGwpIHtcbiAgICByZXR1cm4gKHZhbHVlICsgXCI9XCIgKyBhc3NpZ25t
ZW50KVxuICB9IGVsc2Uge1xuICAgIHJldHVybiAoXCIkc2V0KFwiICsgKG1vZGVsUnMuZXhwKSAr
IFwiLCBcIiArIChtb2RlbFJzLmlkeCkgKyBcIiwgXCIgKyBhc3NpZ25tZW50ICsgXCIpXCIpXG4g
IH1cbn1cblxuLyoqXG4gKiBwYXJzZSBkaXJlY3RpdmUgbW9kZWwgdG8gZG8gdGhlIGFycmF5IHVw
ZGF0ZSB0cmFuc2Zvcm0uIGFbaWR4XSA9IHZhbCA9PiAkJGEuc3BsaWNlKCQkaWR4LCAxLCB2YWwp
XG4gKlxuICogZm9yIGxvb3AgcG9zc2libGUgY2FzZXM6XG4gKlxuICogLSB0ZXN0XG4gKiAtIHRl
c3RbaWR4XVxuICogLSB0ZXN0W3Rlc3QxW2lkeF1dXG4gKiAtIHRlc3RbXCJhXCJdW2lkeF1cbiAq
IC0geHh4LnRlc3RbYVthXS50ZXN0MVtpZHhdXVxuICogLSB0ZXN0Lnh4eC5hW1wiYXNhXCJdW3Rl
c3QxW2lkeF1dXG4gKlxuICovXG5cbnZhciBsZW47XG52YXIgc3RyO1xudmFyIGNocjtcbnZhciBp
bmRleCQxO1xudmFyIGV4cHJlc3Npb25Qb3M7XG52YXIgZXhwcmVzc2lvbkVuZFBvcztcblxuZnVu
Y3Rpb24gcGFyc2VNb2RlbCAodmFsKSB7XG4gIHN0ciA9IHZhbDtcbiAgbGVuID0gc3RyLmxlbmd0
aDtcbiAgaW5kZXgkMSA9IGV4cHJlc3Npb25Qb3MgPSBleHByZXNzaW9uRW5kUG9zID0gMDtcblxu
ICBpZiAodmFsLmluZGV4T2YoJ1snKSA8IDAgfHwgdmFsLmxhc3RJbmRleE9mKCddJykgPCBsZW4g
LSAxKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGV4cDogdmFsLFxuICAgICAgaWR4OiBudWxsXG4g
ICAgfVxuICB9XG5cbiAgd2hpbGUgKCFlb2YoKSkge1xuICAgIGNociA9IG5leHQoKTtcbiAgICAv
KiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoaXNTdHJpbmdTdGFydChjaHIpKSB7XG4g
ICAgICBwYXJzZVN0cmluZyhjaHIpO1xuICAgIH0gZWxzZSBpZiAoY2hyID09PSAweDVCKSB7XG4g
ICAgICBwYXJzZUJyYWNrZXQoY2hyKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGV4
cDogdmFsLnN1YnN0cmluZygwLCBleHByZXNzaW9uUG9zKSxcbiAgICBpZHg6IHZhbC5zdWJzdHJp
bmcoZXhwcmVzc2lvblBvcyArIDEsIGV4cHJlc3Npb25FbmRQb3MpXG4gIH1cbn1cblxuZnVuY3Rp
b24gbmV4dCAoKSB7XG4gIHJldHVybiBzdHIuY2hhckNvZGVBdCgrK2luZGV4JDEpXG59XG5cbmZ1
bmN0aW9uIGVvZiAoKSB7XG4gIHJldHVybiBpbmRleCQxID49IGxlblxufVxuXG5mdW5jdGlvbiBp
c1N0cmluZ1N0YXJ0IChjaHIpIHtcbiAgcmV0dXJuIGNociA9PT0gMHgyMiB8fCBjaHIgPT09IDB4
Mjdcbn1cblxuZnVuY3Rpb24gcGFyc2VCcmFja2V0IChjaHIpIHtcbiAgdmFyIGluQnJhY2tldCA9
IDE7XG4gIGV4cHJlc3Npb25Qb3MgPSBpbmRleCQxO1xuICB3aGlsZSAoIWVvZigpKSB7XG4gICAg
Y2hyID0gbmV4dCgpO1xuICAgIGlmIChpc1N0cmluZ1N0YXJ0KGNocikpIHtcbiAgICAgIHBhcnNl
U3RyaW5nKGNocik7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBpZiAoY2hyID09PSAweDVC
KSB7IGluQnJhY2tldCsrOyB9XG4gICAgaWYgKGNociA9PT0gMHg1RCkgeyBpbkJyYWNrZXQtLTsg
fVxuICAgIGlmIChpbkJyYWNrZXQgPT09IDApIHtcbiAgICAgIGV4cHJlc3Npb25FbmRQb3MgPSBp
bmRleCQxO1xuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcGFyc2VTdHJp
bmcgKGNocikge1xuICB2YXIgc3RyaW5nUXVvdGUgPSBjaHI7XG4gIHdoaWxlICghZW9mKCkpIHtc
biAgICBjaHIgPSBuZXh0KCk7XG4gICAgaWYgKGNociA9PT0gc3RyaW5nUXVvdGUpIHtcbiAgICAg
IGJyZWFrXG4gICAgfVxuICB9XG59XG5cbi8qICAqL1xuXG52YXIgd2FybiQxO1xuXG4vLyBpbiBz
b21lIGNhc2VzLCB0aGUgZXZlbnQgdXNlZCBoYXMgdG8gYmUgZGV0ZXJtaW5lZCBhdCBydW50aW1l
XG4vLyBzbyB3ZSB1c2VkIHNvbWUgcmVzZXJ2ZWQgdG9rZW5zIGR1cmluZyBjb21waWxlLlxudmFy
IFJBTkdFX1RPS0VOID0gJ19fcic7XG52YXIgQ0hFQ0tCT1hfUkFESU9fVE9LRU4gPSAnX19jJztc
blxuZnVuY3Rpb24gbW9kZWwgKFxuICBlbCxcbiAgZGlyLFxuICBfd2FyblxuKSB7XG4gIHdhcm4k
MSA9IF93YXJuO1xuICB2YXIgdmFsdWUgPSBkaXIudmFsdWU7XG4gIHZhciBtb2RpZmllcnMgPSBk
aXIubW9kaWZpZXJzO1xuICB2YXIgdGFnID0gZWwudGFnO1xuICB2YXIgdHlwZSA9IGVsLmF0dHJz
TWFwLnR5cGU7XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicp
IHtcbiAgICB2YXIgZHluYW1pY1R5cGUgPSBlbC5hdHRyc01hcFsndi1iaW5kOnR5cGUnXSB8fCBl
bC5hdHRyc01hcFsnOnR5cGUnXTtcbiAgICBpZiAodGFnID09PSAnaW5wdXQnICYmIGR5bmFtaWNU
eXBlKSB7XG4gICAgICB3YXJuJDEoXG4gICAgICAgIFwiPGlucHV0IDp0eXBlPVxcXCJcIiArIGR5
bmFtaWNUeXBlICsgXCJcXFwiIHYtbW9kZWw9XFxcIlwiICsgdmFsdWUgKyBcIlxcXCI+Olxcblwi
ICtcbiAgICAgICAgXCJ2LW1vZGVsIGRvZXMgbm90IHN1cHBvcnQgZHluYW1pYyBpbnB1dCB0eXBl
cy4gVXNlIHYtaWYgYnJhbmNoZXMgaW5zdGVhZC5cIlxuICAgICAgKTtcbiAgICB9XG4gICAgLy8g
aW5wdXRzIHdpdGggdHlwZT1cImZpbGVcIiBhcmUgcmVhZCBvbmx5IGFuZCBzZXR0aW5nIHRoZSBp
bnB1dCdzXG4gICAgLy8gdmFsdWUgd2lsbCB0aHJvdyBhbiBlcnJvci5cbiAgICBpZiAodGFnID09
PSAnaW5wdXQnICYmIHR5cGUgPT09ICdmaWxlJykge1xuICAgICAgd2FybiQxKFxuICAgICAgICBc
IjxcIiArIChlbC50YWcpICsgXCIgdi1tb2RlbD1cXFwiXCIgKyB2YWx1ZSArIFwiXFxcIiB0eXBl
PVxcXCJmaWxlXFxcIj46XFxuXCIgK1xuICAgICAgICBcIkZpbGUgaW5wdXRzIGFyZSByZWFkIG9u
bHkuIFVzZSBhIHYtb246Y2hhbmdlIGxpc3RlbmVyIGluc3RlYWQuXCJcbiAgICAgICk7XG4gICAg
fVxuICB9XG5cbiAgaWYgKGVsLmNvbXBvbmVudCkge1xuICAgIGdlbkNvbXBvbmVudE1vZGVsKGVs
LCB2YWx1ZSwgbW9kaWZpZXJzKTtcbiAgICAvLyBjb21wb25lbnQgdi1tb2RlbCBkb2Vzbid0IG5l
ZWQgZXh0cmEgcnVudGltZVxuICAgIHJldHVybiBmYWxzZVxuICB9IGVsc2UgaWYgKHRhZyA9PT0g
J3NlbGVjdCcpIHtcbiAgICBnZW5TZWxlY3QoZWwsIHZhbHVlLCBtb2RpZmllcnMpO1xuICB9IGVs
c2UgaWYgKHRhZyA9PT0gJ2lucHV0JyAmJiB0eXBlID09PSAnY2hlY2tib3gnKSB7XG4gICAgZ2Vu
Q2hlY2tib3hNb2RlbChlbCwgdmFsdWUsIG1vZGlmaWVycyk7XG4gIH0gZWxzZSBpZiAodGFnID09
PSAnaW5wdXQnICYmIHR5cGUgPT09ICdyYWRpbycpIHtcbiAgICBnZW5SYWRpb01vZGVsKGVsLCB2
YWx1ZSwgbW9kaWZpZXJzKTtcbiAgfSBlbHNlIGlmICh0YWcgPT09ICdpbnB1dCcgfHwgdGFnID09
PSAndGV4dGFyZWEnKSB7XG4gICAgZ2VuRGVmYXVsdE1vZGVsKGVsLCB2YWx1ZSwgbW9kaWZpZXJz
KTtcbiAgfSBlbHNlIGlmICghY29uZmlnLmlzUmVzZXJ2ZWRUYWcodGFnKSkge1xuICAgIGdlbkNv
bXBvbmVudE1vZGVsKGVsLCB2YWx1ZSwgbW9kaWZpZXJzKTtcbiAgICAvLyBjb21wb25lbnQgdi1t
b2RlbCBkb2Vzbid0IG5lZWQgZXh0cmEgcnVudGltZVxuICAgIHJldHVybiBmYWxzZVxuICB9IGVs
c2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICB3YXJu
JDEoXG4gICAgICBcIjxcIiArIChlbC50YWcpICsgXCIgdi1tb2RlbD1cXFwiXCIgKyB2YWx1ZSAr
IFwiXFxcIj46IFwiICtcbiAgICAgIFwidi1tb2RlbCBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoaXMg
ZWxlbWVudCB0eXBlLiBcIiArXG4gICAgICAnSWYgeW91IGFyZSB3b3JraW5nIHdpdGggY29udGVu
dGVkaXRhYmxlLCBpdFxcJ3MgcmVjb21tZW5kZWQgdG8gJyArXG4gICAgICAnd3JhcCBhIGxpYnJh
cnkgZGVkaWNhdGVkIGZvciB0aGF0IHB1cnBvc2UgaW5zaWRlIGEgY3VzdG9tIGNvbXBvbmVudC4n
XG4gICAgKTtcbiAgfVxuXG4gIC8vIGVuc3VyZSBydW50aW1lIGRpcmVjdGl2ZSBtZXRhZGF0YVxu
ICByZXR1cm4gdHJ1ZVxufVxuXG5mdW5jdGlvbiBnZW5DaGVja2JveE1vZGVsIChcbiAgZWwsXG4g
IHZhbHVlLFxuICBtb2RpZmllcnNcbikge1xuICB2YXIgbnVtYmVyID0gbW9kaWZpZXJzICYmIG1v
ZGlmaWVycy5udW1iZXI7XG4gIHZhciB2YWx1ZUJpbmRpbmcgPSBnZXRCaW5kaW5nQXR0cihlbCwg
J3ZhbHVlJykgfHwgJ251bGwnO1xuICB2YXIgdHJ1ZVZhbHVlQmluZGluZyA9IGdldEJpbmRpbmdB
dHRyKGVsLCAndHJ1ZS12YWx1ZScpIHx8ICd0cnVlJztcbiAgdmFyIGZhbHNlVmFsdWVCaW5kaW5n
ID0gZ2V0QmluZGluZ0F0dHIoZWwsICdmYWxzZS12YWx1ZScpIHx8ICdmYWxzZSc7XG4gIGFkZFBy
b3AoZWwsICdjaGVja2VkJyxcbiAgICBcIkFycmF5LmlzQXJyYXkoXCIgKyB2YWx1ZSArIFwiKVwi
ICtcbiAgICAgIFwiP19pKFwiICsgdmFsdWUgKyBcIixcIiArIHZhbHVlQmluZGluZyArIFwiKT4t
MVwiICsgKFxuICAgICAgICB0cnVlVmFsdWVCaW5kaW5nID09PSAndHJ1ZSdcbiAgICAgICAgICA/
IChcIjooXCIgKyB2YWx1ZSArIFwiKVwiKVxuICAgICAgICAgIDogKFwiOl9xKFwiICsgdmFsdWUg
KyBcIixcIiArIHRydWVWYWx1ZUJpbmRpbmcgKyBcIilcIilcbiAgICAgIClcbiAgKTtcbiAgYWRk
SGFuZGxlcihlbCwgQ0hFQ0tCT1hfUkFESU9fVE9LRU4sXG4gICAgXCJ2YXIgJCRhPVwiICsgdmFs
dWUgKyBcIixcIiArXG4gICAgICAgICckJGVsPSRldmVudC50YXJnZXQsJyArXG4gICAgICAgIFwi
JCRjPSQkZWwuY2hlY2tlZD8oXCIgKyB0cnVlVmFsdWVCaW5kaW5nICsgXCIpOihcIiArIGZhbHNl
VmFsdWVCaW5kaW5nICsgXCIpO1wiICtcbiAgICAnaWYoQXJyYXkuaXNBcnJheSgkJGEpKXsnICtc
biAgICAgIFwidmFyICQkdj1cIiArIChudW1iZXIgPyAnX24oJyArIHZhbHVlQmluZGluZyArICcp
JyA6IHZhbHVlQmluZGluZykgKyBcIixcIiArXG4gICAgICAgICAgJyQkaT1faSgkJGEsJCR2KTsn
ICtcbiAgICAgIFwiaWYoJCRlbC5jaGVja2VkKXskJGk8MCYmKFwiICsgdmFsdWUgKyBcIj0kJGEu
Y29uY2F0KCQkdikpfVwiICtcbiAgICAgIFwiZWxzZXskJGk+LTEmJihcIiArIHZhbHVlICsgXCI9
JCRhLnNsaWNlKDAsJCRpKS5jb25jYXQoJCRhLnNsaWNlKCQkaSsxKSkpfVwiICtcbiAgICBcIn1l
bHNle1wiICsgKGdlbkFzc2lnbm1lbnRDb2RlKHZhbHVlLCAnJCRjJykpICsgXCJ9XCIsXG4gICAg
bnVsbCwgdHJ1ZVxuICApO1xufVxuXG5mdW5jdGlvbiBnZW5SYWRpb01vZGVsIChcbiAgICBlbCxc
biAgICB2YWx1ZSxcbiAgICBtb2RpZmllcnNcbikge1xuICB2YXIgbnVtYmVyID0gbW9kaWZpZXJz
ICYmIG1vZGlmaWVycy5udW1iZXI7XG4gIHZhciB2YWx1ZUJpbmRpbmcgPSBnZXRCaW5kaW5nQXR0
cihlbCwgJ3ZhbHVlJykgfHwgJ251bGwnO1xuICB2YWx1ZUJpbmRpbmcgPSBudW1iZXIgPyAoXCJf
bihcIiArIHZhbHVlQmluZGluZyArIFwiKVwiKSA6IHZhbHVlQmluZGluZztcbiAgYWRkUHJvcChl
bCwgJ2NoZWNrZWQnLCAoXCJfcShcIiArIHZhbHVlICsgXCIsXCIgKyB2YWx1ZUJpbmRpbmcgKyBc
IilcIikpO1xuICBhZGRIYW5kbGVyKGVsLCBDSEVDS0JPWF9SQURJT19UT0tFTiwgZ2VuQXNzaWdu
bWVudENvZGUodmFsdWUsIHZhbHVlQmluZGluZyksIG51bGwsIHRydWUpO1xufVxuXG5mdW5jdGlv
biBnZW5TZWxlY3QgKFxuICAgIGVsLFxuICAgIHZhbHVlLFxuICAgIG1vZGlmaWVyc1xuKSB7XG4g
IHZhciBudW1iZXIgPSBtb2RpZmllcnMgJiYgbW9kaWZpZXJzLm51bWJlcjtcbiAgdmFyIHNlbGVj
dGVkVmFsID0gXCJBcnJheS5wcm90b3R5cGUuZmlsdGVyXCIgK1xuICAgIFwiLmNhbGwoJGV2ZW50
LnRhcmdldC5vcHRpb25zLGZ1bmN0aW9uKG8pe3JldHVybiBvLnNlbGVjdGVkfSlcIiArXG4gICAg
XCIubWFwKGZ1bmN0aW9uKG8pe3ZhciB2YWwgPSBcXFwiX3ZhbHVlXFxcIiBpbiBvID8gby5fdmFs
dWUgOiBvLnZhbHVlO1wiICtcbiAgICBcInJldHVybiBcIiArIChudW1iZXIgPyAnX24odmFsKScg
OiAndmFsJykgKyBcIn0pXCI7XG5cbiAgdmFyIGFzc2lnbm1lbnQgPSAnJGV2ZW50LnRhcmdldC5t
dWx0aXBsZSA/ICQkc2VsZWN0ZWRWYWwgOiAkJHNlbGVjdGVkVmFsWzBdJztcbiAgdmFyIGNvZGUg
PSBcInZhciAkJHNlbGVjdGVkVmFsID0gXCIgKyBzZWxlY3RlZFZhbCArIFwiO1wiO1xuICBjb2Rl
ID0gY29kZSArIFwiIFwiICsgKGdlbkFzc2lnbm1lbnRDb2RlKHZhbHVlLCBhc3NpZ25tZW50KSk7
XG4gIGFkZEhhbmRsZXIoZWwsICdjaGFuZ2UnLCBjb2RlLCBudWxsLCB0cnVlKTtcbn1cblxuZnVu
Y3Rpb24gZ2VuRGVmYXVsdE1vZGVsIChcbiAgZWwsXG4gIHZhbHVlLFxuICBtb2RpZmllcnNcbikg
e1xuICB2YXIgdHlwZSA9IGVsLmF0dHJzTWFwLnR5cGU7XG4gIHZhciByZWYgPSBtb2RpZmllcnMg
fHwge307XG4gIHZhciBsYXp5ID0gcmVmLmxhenk7XG4gIHZhciBudW1iZXIgPSByZWYubnVtYmVy
O1xuICB2YXIgdHJpbSA9IHJlZi50cmltO1xuICB2YXIgbmVlZENvbXBvc2l0aW9uR3VhcmQgPSAh
bGF6eSAmJiB0eXBlICE9PSAncmFuZ2UnO1xuICB2YXIgZXZlbnQgPSBsYXp5XG4gICAgPyAnY2hh
bmdlJ1xuICAgIDogdHlwZSA9PT0gJ3JhbmdlJ1xuICAgICAgPyBSQU5HRV9UT0tFTlxuICAgICAg
OiAnaW5wdXQnO1xuXG4gIHZhciB2YWx1ZUV4cHJlc3Npb24gPSAnJGV2ZW50LnRhcmdldC52YWx1
ZSc7XG4gIGlmICh0cmltKSB7XG4gICAgdmFsdWVFeHByZXNzaW9uID0gXCIkZXZlbnQudGFyZ2V0
LnZhbHVlLnRyaW0oKVwiO1xuICB9XG4gIGlmIChudW1iZXIpIHtcbiAgICB2YWx1ZUV4cHJlc3Np
b24gPSBcIl9uKFwiICsgdmFsdWVFeHByZXNzaW9uICsgXCIpXCI7XG4gIH1cblxuICB2YXIgY29k
ZSA9IGdlbkFzc2lnbm1lbnRDb2RlKHZhbHVlLCB2YWx1ZUV4cHJlc3Npb24pO1xuICBpZiAobmVl
ZENvbXBvc2l0aW9uR3VhcmQpIHtcbiAgICBjb2RlID0gXCJpZigkZXZlbnQudGFyZ2V0LmNvbXBv
c2luZylyZXR1cm47XCIgKyBjb2RlO1xuICB9XG5cbiAgYWRkUHJvcChlbCwgJ3ZhbHVlJywgKFwi
KFwiICsgdmFsdWUgKyBcIilcIikpO1xuICBhZGRIYW5kbGVyKGVsLCBldmVudCwgY29kZSwgbnVs
bCwgdHJ1ZSk7XG4gIGlmICh0cmltIHx8IG51bWJlcikge1xuICAgIGFkZEhhbmRsZXIoZWwsICdi
bHVyJywgJyRmb3JjZVVwZGF0ZSgpJyk7XG4gIH1cbn1cblxuLyogICovXG5cbi8vIG5vcm1hbGl6
ZSB2LW1vZGVsIGV2ZW50IHRva2VucyB0aGF0IGNhbiBvbmx5IGJlIGRldGVybWluZWQgYXQgcnVu
dGltZS5cbi8vIGl0J3MgaW1wb3J0YW50IHRvIHBsYWNlIHRoZSBldmVudCBhcyB0aGUgZmlyc3Qg
aW4gdGhlIGFycmF5IGJlY2F1c2Vcbi8vIHRoZSB3aG9sZSBwb2ludCBpcyBlbnN1cmluZyB0aGUg
di1tb2RlbCBjYWxsYmFjayBnZXRzIGNhbGxlZCBiZWZvcmVcbi8vIHVzZXItYXR0YWNoZWQgaGFu
ZGxlcnMuXG5mdW5jdGlvbiBub3JtYWxpemVFdmVudHMgKG9uKSB7XG4gIHZhciBldmVudDtcbiAg
LyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmIChpc0RlZihvbltSQU5HRV9UT0tFTl0pKSB7
XG4gICAgLy8gSUUgaW5wdXRbdHlwZT1yYW5nZV0gb25seSBzdXBwb3J0cyBgY2hhbmdlYCBldmVu
dFxuICAgIGV2ZW50ID0gaXNJRSA/ICdjaGFuZ2UnIDogJ2lucHV0JztcbiAgICBvbltldmVudF0g
PSBbXS5jb25jYXQob25bUkFOR0VfVE9LRU5dLCBvbltldmVudF0gfHwgW10pO1xuICAgIGRlbGV0
ZSBvbltSQU5HRV9UT0tFTl07XG4gIH1cbiAgaWYgKGlzRGVmKG9uW0NIRUNLQk9YX1JBRElPX1RP
S0VOXSkpIHtcbiAgICAvLyBDaHJvbWUgZmlyZXMgbWljcm90YXNrcyBpbiBiZXR3ZWVuIGNsaWNr
L2NoYW5nZSwgbGVhZHMgdG8gIzQ1MjFcbiAgICBldmVudCA9IGlzQ2hyb21lID8gJ2NsaWNrJyA6
ICdjaGFuZ2UnO1xuICAgIG9uW2V2ZW50XSA9IFtdLmNvbmNhdChvbltDSEVDS0JPWF9SQURJT19U
T0tFTl0sIG9uW2V2ZW50XSB8fCBbXSk7XG4gICAgZGVsZXRlIG9uW0NIRUNLQk9YX1JBRElPX1RP
S0VOXTtcbiAgfVxufVxuXG52YXIgdGFyZ2V0JDE7XG5cbmZ1bmN0aW9uIGFkZCQxIChcbiAgZXZl
bnQsXG4gIGhhbmRsZXIsXG4gIG9uY2UkJDEsXG4gIGNhcHR1cmUsXG4gIHBhc3NpdmVcbikge1xu
ICBpZiAob25jZSQkMSkge1xuICAgIHZhciBvbGRIYW5kbGVyID0gaGFuZGxlcjtcbiAgICB2YXIg
X3RhcmdldCA9IHRhcmdldCQxOyAvLyBzYXZlIGN1cnJlbnQgdGFyZ2V0IGVsZW1lbnQgaW4gY2xv
c3VyZVxuICAgIGhhbmRsZXIgPSBmdW5jdGlvbiAoZXYpIHtcbiAgICAgIHZhciByZXMgPSBhcmd1
bWVudHMubGVuZ3RoID09PSAxXG4gICAgICAgID8gb2xkSGFuZGxlcihldilcbiAgICAgICAgOiBv
bGRIYW5kbGVyLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7XG4gICAgICBpZiAocmVzICE9PSBudWxs
KSB7XG4gICAgICAgIHJlbW92ZSQyKGV2ZW50LCBoYW5kbGVyLCBjYXB0dXJlLCBfdGFyZ2V0KTtc
biAgICAgIH1cbiAgICB9O1xuICB9XG4gIHRhcmdldCQxLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAg
ZXZlbnQsXG4gICAgaGFuZGxlcixcbiAgICBzdXBwb3J0c1Bhc3NpdmVcbiAgICAgID8geyBjYXB0
dXJlOiBjYXB0dXJlLCBwYXNzaXZlOiBwYXNzaXZlIH1cbiAgICAgIDogY2FwdHVyZVxuICApO1xu
fVxuXG5mdW5jdGlvbiByZW1vdmUkMiAoXG4gIGV2ZW50LFxuICBoYW5kbGVyLFxuICBjYXB0dXJl
LFxuICBfdGFyZ2V0XG4pIHtcbiAgKF90YXJnZXQgfHwgdGFyZ2V0JDEpLnJlbW92ZUV2ZW50TGlz
dGVuZXIoZXZlbnQsIGhhbmRsZXIsIGNhcHR1cmUpO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVET01M
aXN0ZW5lcnMgKG9sZFZub2RlLCB2bm9kZSkge1xuICBpZiAoaXNVbmRlZihvbGRWbm9kZS5kYXRh
Lm9uKSAmJiBpc1VuZGVmKHZub2RlLmRhdGEub24pKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgdmFy
IG9uID0gdm5vZGUuZGF0YS5vbiB8fCB7fTtcbiAgdmFyIG9sZE9uID0gb2xkVm5vZGUuZGF0YS5v
biB8fCB7fTtcbiAgdGFyZ2V0JDEgPSB2bm9kZS5lbG07XG4gIG5vcm1hbGl6ZUV2ZW50cyhvbik7
XG4gIHVwZGF0ZUxpc3RlbmVycyhvbiwgb2xkT24sIGFkZCQxLCByZW1vdmUkMiwgdm5vZGUuY29u
dGV4dCk7XG59XG5cbnZhciBldmVudHMgPSB7XG4gIGNyZWF0ZTogdXBkYXRlRE9NTGlzdGVuZXJz
LFxuICB1cGRhdGU6IHVwZGF0ZURPTUxpc3RlbmVyc1xufTtcblxuLyogICovXG5cbmZ1bmN0aW9u
IHVwZGF0ZURPTVByb3BzIChvbGRWbm9kZSwgdm5vZGUpIHtcbiAgaWYgKGlzVW5kZWYob2xkVm5v
ZGUuZGF0YS5kb21Qcm9wcykgJiYgaXNVbmRlZih2bm9kZS5kYXRhLmRvbVByb3BzKSkge1xuICAg
IHJldHVyblxuICB9XG4gIHZhciBrZXksIGN1cjtcbiAgdmFyIGVsbSA9IHZub2RlLmVsbTtcbiAg
dmFyIG9sZFByb3BzID0gb2xkVm5vZGUuZGF0YS5kb21Qcm9wcyB8fCB7fTtcbiAgdmFyIHByb3Bz
ID0gdm5vZGUuZGF0YS5kb21Qcm9wcyB8fCB7fTtcbiAgLy8gY2xvbmUgb2JzZXJ2ZWQgb2JqZWN0
cywgYXMgdGhlIHVzZXIgcHJvYmFibHkgd2FudHMgdG8gbXV0YXRlIGl0XG4gIGlmIChpc0RlZihw
cm9wcy5fX29iX18pKSB7XG4gICAgcHJvcHMgPSB2bm9kZS5kYXRhLmRvbVByb3BzID0gZXh0ZW5k
KHt9LCBwcm9wcyk7XG4gIH1cblxuICBmb3IgKGtleSBpbiBvbGRQcm9wcykge1xuICAgIGlmIChp
c1VuZGVmKHByb3BzW2tleV0pKSB7XG4gICAgICBlbG1ba2V5XSA9ICcnO1xuICAgIH1cbiAgfVxu
ICBmb3IgKGtleSBpbiBwcm9wcykge1xuICAgIGN1ciA9IHByb3BzW2tleV07XG4gICAgLy8gaWdu
b3JlIGNoaWxkcmVuIGlmIHRoZSBub2RlIGhhcyB0ZXh0Q29udGVudCBvciBpbm5lckhUTUwsXG4g
ICAgLy8gYXMgdGhlc2Ugd2lsbCB0aHJvdyBhd2F5IGV4aXN0aW5nIERPTSBub2RlcyBhbmQgY2F1
c2UgcmVtb3ZhbCBlcnJvcnNcbiAgICAvLyBvbiBzdWJzZXF1ZW50IHBhdGNoZXMgKCMzMzYwKVxu
ICAgIGlmIChrZXkgPT09ICd0ZXh0Q29udGVudCcgfHwga2V5ID09PSAnaW5uZXJIVE1MJykge1xu
ICAgICAgaWYgKHZub2RlLmNoaWxkcmVuKSB7IHZub2RlLmNoaWxkcmVuLmxlbmd0aCA9IDA7IH1c
biAgICAgIGlmIChjdXIgPT09IG9sZFByb3BzW2tleV0pIHsgY29udGludWUgfVxuICAgIH1cblxu
ICAgIGlmIChrZXkgPT09ICd2YWx1ZScpIHtcbiAgICAgIC8vIHN0b3JlIHZhbHVlIGFzIF92YWx1
ZSBhcyB3ZWxsIHNpbmNlXG4gICAgICAvLyBub24tc3RyaW5nIHZhbHVlcyB3aWxsIGJlIHN0cmlu
Z2lmaWVkXG4gICAgICBlbG0uX3ZhbHVlID0gY3VyO1xuICAgICAgLy8gYXZvaWQgcmVzZXR0aW5n
IGN1cnNvciBwb3NpdGlvbiB3aGVuIHZhbHVlIGlzIHRoZSBzYW1lXG4gICAgICB2YXIgc3RyQ3Vy
ID0gaXNVbmRlZihjdXIpID8gJycgOiBTdHJpbmcoY3VyKTtcbiAgICAgIGlmIChzaG91bGRVcGRh
dGVWYWx1ZShlbG0sIHZub2RlLCBzdHJDdXIpKSB7XG4gICAgICAgIGVsbS52YWx1ZSA9IHN0ckN1
cjtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZWxtW2tleV0gPSBjdXI7XG4gICAgfVxu
ICB9XG59XG5cbi8vIGNoZWNrIHBsYXRmb3Jtcy93ZWIvdXRpbC9hdHRycy5qcyBhY2NlcHRWYWx1
ZVxuXG5cbmZ1bmN0aW9uIHNob3VsZFVwZGF0ZVZhbHVlIChcbiAgZWxtLFxuICB2bm9kZSxcbiAg
Y2hlY2tWYWxcbikge1xuICByZXR1cm4gKCFlbG0uY29tcG9zaW5nICYmIChcbiAgICB2bm9kZS50
YWcgPT09ICdvcHRpb24nIHx8XG4gICAgaXNEaXJ0eShlbG0sIGNoZWNrVmFsKSB8fFxuICAgIGlz
SW5wdXRDaGFuZ2VkKGVsbSwgY2hlY2tWYWwpXG4gICkpXG59XG5cbmZ1bmN0aW9uIGlzRGlydHkg
KGVsbSwgY2hlY2tWYWwpIHtcbiAgLy8gcmV0dXJuIHRydWUgd2hlbiB0ZXh0Ym94ICgubnVtYmVy
IGFuZCAudHJpbSkgbG9zZXMgZm9jdXMgYW5kIGl0cyB2YWx1ZSBpc1xuICAvLyBub3QgZXF1YWwg
dG8gdGhlIHVwZGF0ZWQgdmFsdWVcbiAgdmFyIG5vdEluRm9jdXMgPSB0cnVlO1xuICAvLyAjNjE1
N1xuICAvLyB3b3JrIGFyb3VuZCBJRSBidWcgd2hlbiBhY2Nlc3NpbmcgZG9jdW1lbnQuYWN0aXZl
RWxlbWVudCBpbiBhbiBpZnJhbWVcbiAgdHJ5IHsgbm90SW5Gb2N1cyA9IGRvY3VtZW50LmFjdGl2
ZUVsZW1lbnQgIT09IGVsbTsgfSBjYXRjaCAoZSkge31cbiAgcmV0dXJuIG5vdEluRm9jdXMgJiYg
ZWxtLnZhbHVlICE9PSBjaGVja1ZhbFxufVxuXG5mdW5jdGlvbiBpc0lucHV0Q2hhbmdlZCAoZWxt
LCBuZXdWYWwpIHtcbiAgdmFyIHZhbHVlID0gZWxtLnZhbHVlO1xuICB2YXIgbW9kaWZpZXJzID0g
ZWxtLl92TW9kaWZpZXJzOyAvLyBpbmplY3RlZCBieSB2LW1vZGVsIHJ1bnRpbWVcbiAgaWYgKGlz
RGVmKG1vZGlmaWVycykgJiYgbW9kaWZpZXJzLm51bWJlcikge1xuICAgIHJldHVybiB0b051bWJl
cih2YWx1ZSkgIT09IHRvTnVtYmVyKG5ld1ZhbClcbiAgfVxuICBpZiAoaXNEZWYobW9kaWZpZXJz
KSAmJiBtb2RpZmllcnMudHJpbSkge1xuICAgIHJldHVybiB2YWx1ZS50cmltKCkgIT09IG5ld1Zh
bC50cmltKClcbiAgfVxuICByZXR1cm4gdmFsdWUgIT09IG5ld1ZhbFxufVxuXG52YXIgZG9tUHJv
cHMgPSB7XG4gIGNyZWF0ZTogdXBkYXRlRE9NUHJvcHMsXG4gIHVwZGF0ZTogdXBkYXRlRE9NUHJv
cHNcbn07XG5cbi8qICAqL1xuXG52YXIgcGFyc2VTdHlsZVRleHQgPSBjYWNoZWQoZnVuY3Rpb24g
KGNzc1RleHQpIHtcbiAgdmFyIHJlcyA9IHt9O1xuICB2YXIgbGlzdERlbGltaXRlciA9IC87KD8h
W14oXSpcXCkpL2c7XG4gIHZhciBwcm9wZXJ0eURlbGltaXRlciA9IC86KC4rKS87XG4gIGNzc1Rl
eHQuc3BsaXQobGlzdERlbGltaXRlcikuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkge1xuICAgIGlm
IChpdGVtKSB7XG4gICAgICB2YXIgdG1wID0gaXRlbS5zcGxpdChwcm9wZXJ0eURlbGltaXRlcik7
XG4gICAgICB0bXAubGVuZ3RoID4gMSAmJiAocmVzW3RtcFswXS50cmltKCldID0gdG1wWzFdLnRy
aW0oKSk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHJlc1xufSk7XG5cbi8vIG1lcmdlIHN0YXRp
YyBhbmQgZHluYW1pYyBzdHlsZSBkYXRhIG9uIHRoZSBzYW1lIHZub2RlXG5mdW5jdGlvbiBub3Jt
YWxpemVTdHlsZURhdGEgKGRhdGEpIHtcbiAgdmFyIHN0eWxlID0gbm9ybWFsaXplU3R5bGVCaW5k
aW5nKGRhdGEuc3R5bGUpO1xuICAvLyBzdGF0aWMgc3R5bGUgaXMgcHJlLXByb2Nlc3NlZCBpbnRv
IGFuIG9iamVjdCBkdXJpbmcgY29tcGlsYXRpb25cbiAgLy8gYW5kIGlzIGFsd2F5cyBhIGZyZXNo
IG9iamVjdCwgc28gaXQncyBzYWZlIHRvIG1lcmdlIGludG8gaXRcbiAgcmV0dXJuIGRhdGEuc3Rh
dGljU3R5bGVcbiAgICA/IGV4dGVuZChkYXRhLnN0YXRpY1N0eWxlLCBzdHlsZSlcbiAgICA6IHN0
eWxlXG59XG5cbi8vIG5vcm1hbGl6ZSBwb3NzaWJsZSBhcnJheSAvIHN0cmluZyB2YWx1ZXMgaW50
byBPYmplY3RcbmZ1bmN0aW9uIG5vcm1hbGl6ZVN0eWxlQmluZGluZyAoYmluZGluZ1N0eWxlKSB7
XG4gIGlmIChBcnJheS5pc0FycmF5KGJpbmRpbmdTdHlsZSkpIHtcbiAgICByZXR1cm4gdG9PYmpl
Y3QoYmluZGluZ1N0eWxlKVxuICB9XG4gIGlmICh0eXBlb2YgYmluZGluZ1N0eWxlID09PSAnc3Ry
aW5nJykge1xuICAgIHJldHVybiBwYXJzZVN0eWxlVGV4dChiaW5kaW5nU3R5bGUpXG4gIH1cbiAg
cmV0dXJuIGJpbmRpbmdTdHlsZVxufVxuXG4vKipcbiAqIHBhcmVudCBjb21wb25lbnQgc3R5bGUg
c2hvdWxkIGJlIGFmdGVyIGNoaWxkJ3NcbiAqIHNvIHRoYXQgcGFyZW50IGNvbXBvbmVudCdzIHN0
eWxlIGNvdWxkIG92ZXJyaWRlIGl0XG4gKi9cbmZ1bmN0aW9uIGdldFN0eWxlICh2bm9kZSwgY2hl
Y2tDaGlsZCkge1xuICB2YXIgcmVzID0ge307XG4gIHZhciBzdHlsZURhdGE7XG5cbiAgaWYgKGNo
ZWNrQ2hpbGQpIHtcbiAgICB2YXIgY2hpbGROb2RlID0gdm5vZGU7XG4gICAgd2hpbGUgKGNoaWxk
Tm9kZS5jb21wb25lbnRJbnN0YW5jZSkge1xuICAgICAgY2hpbGROb2RlID0gY2hpbGROb2RlLmNv
bXBvbmVudEluc3RhbmNlLl92bm9kZTtcbiAgICAgIGlmIChjaGlsZE5vZGUuZGF0YSAmJiAoc3R5
bGVEYXRhID0gbm9ybWFsaXplU3R5bGVEYXRhKGNoaWxkTm9kZS5kYXRhKSkpIHtcbiAgICAgICAg
ZXh0ZW5kKHJlcywgc3R5bGVEYXRhKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoKHN0
eWxlRGF0YSA9IG5vcm1hbGl6ZVN0eWxlRGF0YSh2bm9kZS5kYXRhKSkpIHtcbiAgICBleHRlbmQo
cmVzLCBzdHlsZURhdGEpO1xuICB9XG5cbiAgdmFyIHBhcmVudE5vZGUgPSB2bm9kZTtcbiAgd2hp
bGUgKChwYXJlbnROb2RlID0gcGFyZW50Tm9kZS5wYXJlbnQpKSB7XG4gICAgaWYgKHBhcmVudE5v
ZGUuZGF0YSAmJiAoc3R5bGVEYXRhID0gbm9ybWFsaXplU3R5bGVEYXRhKHBhcmVudE5vZGUuZGF0
YSkpKSB7XG4gICAgICBleHRlbmQocmVzLCBzdHlsZURhdGEpO1xuICAgIH1cbiAgfVxuICByZXR1
cm4gcmVzXG59XG5cbi8qICAqL1xuXG52YXIgY3NzVmFyUkUgPSAvXi0tLztcbnZhciBpbXBvcnRh
bnRSRSA9IC9cXHMqIWltcG9ydGFudCQvO1xudmFyIHNldFByb3AgPSBmdW5jdGlvbiAoZWwsIG5h
bWUsIHZhbCkge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKGNzc1ZhclJFLnRl
c3QobmFtZSkpIHtcbiAgICBlbC5zdHlsZS5zZXRQcm9wZXJ0eShuYW1lLCB2YWwpO1xuICB9IGVs
c2UgaWYgKGltcG9ydGFudFJFLnRlc3QodmFsKSkge1xuICAgIGVsLnN0eWxlLnNldFByb3BlcnR5
KG5hbWUsIHZhbC5yZXBsYWNlKGltcG9ydGFudFJFLCAnJyksICdpbXBvcnRhbnQnKTtcbiAgfSBl
bHNlIHtcbiAgICB2YXIgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemUobmFtZSk7XG4gICAgaWYg
KEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgLy8gU3VwcG9ydCB2YWx1ZXMgYXJyYXkgY3Jl
YXRlZCBieSBhdXRvcHJlZml4ZXIsIGUuZy5cbiAgICAgIC8vIHtkaXNwbGF5OiBbXCItd2Via2l0
LWJveFwiLCBcIi1tcy1mbGV4Ym94XCIsIFwiZmxleFwiXX1cbiAgICAgIC8vIFNldCB0aGVtIG9u
ZSBieSBvbmUsIGFuZCB0aGUgYnJvd3NlciB3aWxsIG9ubHkgc2V0IHRob3NlIGl0IGNhbiByZWNv
Z25pemVcbiAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSB2YWwubGVuZ3RoOyBpIDwgbGVuOyBp
KyspIHtcbiAgICAgICAgZWwuc3R5bGVbbm9ybWFsaXplZE5hbWVdID0gdmFsW2ldO1xuICAgICAg
fVxuICAgIH0gZWxzZSB7XG4gICAgICBlbC5zdHlsZVtub3JtYWxpemVkTmFtZV0gPSB2YWw7XG4g
ICAgfVxuICB9XG59O1xuXG52YXIgdmVuZG9yTmFtZXMgPSBbJ1dlYmtpdCcsICdNb3onLCAnbXMn
XTtcblxudmFyIGVtcHR5U3R5bGU7XG52YXIgbm9ybWFsaXplID0gY2FjaGVkKGZ1bmN0aW9uIChw
cm9wKSB7XG4gIGVtcHR5U3R5bGUgPSBlbXB0eVN0eWxlIHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpLnN0eWxlO1xuICBwcm9wID0gY2FtZWxpemUocHJvcCk7XG4gIGlmIChwcm9wICE9
PSAnZmlsdGVyJyAmJiAocHJvcCBpbiBlbXB0eVN0eWxlKSkge1xuICAgIHJldHVybiBwcm9wXG4g
IH1cbiAgdmFyIGNhcE5hbWUgPSBwcm9wLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgcHJvcC5z
bGljZSgxKTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCB2ZW5kb3JOYW1lcy5sZW5ndGg7IGkrKykg
e1xuICAgIHZhciBuYW1lID0gdmVuZG9yTmFtZXNbaV0gKyBjYXBOYW1lO1xuICAgIGlmIChuYW1l
IGluIGVtcHR5U3R5bGUpIHtcbiAgICAgIHJldHVybiBuYW1lXG4gICAgfVxuICB9XG59KTtcblxu
ZnVuY3Rpb24gdXBkYXRlU3R5bGUgKG9sZFZub2RlLCB2bm9kZSkge1xuICB2YXIgZGF0YSA9IHZu
b2RlLmRhdGE7XG4gIHZhciBvbGREYXRhID0gb2xkVm5vZGUuZGF0YTtcblxuICBpZiAoaXNVbmRl
ZihkYXRhLnN0YXRpY1N0eWxlKSAmJiBpc1VuZGVmKGRhdGEuc3R5bGUpICYmXG4gICAgaXNVbmRl
ZihvbGREYXRhLnN0YXRpY1N0eWxlKSAmJiBpc1VuZGVmKG9sZERhdGEuc3R5bGUpXG4gICkge1xu
ICAgIHJldHVyblxuICB9XG5cbiAgdmFyIGN1ciwgbmFtZTtcbiAgdmFyIGVsID0gdm5vZGUuZWxt
O1xuICB2YXIgb2xkU3RhdGljU3R5bGUgPSBvbGREYXRhLnN0YXRpY1N0eWxlO1xuICB2YXIgb2xk
U3R5bGVCaW5kaW5nID0gb2xkRGF0YS5ub3JtYWxpemVkU3R5bGUgfHwgb2xkRGF0YS5zdHlsZSB8
fCB7fTtcblxuICAvLyBpZiBzdGF0aWMgc3R5bGUgZXhpc3RzLCBzdHlsZWJpbmRpbmcgYWxyZWFk
eSBtZXJnZWQgaW50byBpdCB3aGVuIGRvaW5nIG5vcm1hbGl6ZVN0eWxlRGF0YVxuICB2YXIgb2xk
U3R5bGUgPSBvbGRTdGF0aWNTdHlsZSB8fCBvbGRTdHlsZUJpbmRpbmc7XG5cbiAgdmFyIHN0eWxl
ID0gbm9ybWFsaXplU3R5bGVCaW5kaW5nKHZub2RlLmRhdGEuc3R5bGUpIHx8IHt9O1xuXG4gIC8v
IHN0b3JlIG5vcm1hbGl6ZWQgc3R5bGUgdW5kZXIgYSBkaWZmZXJlbnQga2V5IGZvciBuZXh0IGRp
ZmZcbiAgLy8gbWFrZSBzdXJlIHRvIGNsb25lIGl0IGlmIGl0J3MgcmVhY3RpdmUsIHNpbmNlIHRo
ZSB1c2VyIGxpa2xleSB3YW50c1xuICAvLyB0byBtdXRhdGUgaXQuXG4gIHZub2RlLmRhdGEubm9y
bWFsaXplZFN0eWxlID0gaXNEZWYoc3R5bGUuX19vYl9fKVxuICAgID8gZXh0ZW5kKHt9LCBzdHls
ZSlcbiAgICA6IHN0eWxlO1xuXG4gIHZhciBuZXdTdHlsZSA9IGdldFN0eWxlKHZub2RlLCB0cnVl
KTtcblxuICBmb3IgKG5hbWUgaW4gb2xkU3R5bGUpIHtcbiAgICBpZiAoaXNVbmRlZihuZXdTdHls
ZVtuYW1lXSkpIHtcbiAgICAgIHNldFByb3AoZWwsIG5hbWUsICcnKTtcbiAgICB9XG4gIH1cbiAg
Zm9yIChuYW1lIGluIG5ld1N0eWxlKSB7XG4gICAgY3VyID0gbmV3U3R5bGVbbmFtZV07XG4gICAg
aWYgKGN1ciAhPT0gb2xkU3R5bGVbbmFtZV0pIHtcbiAgICAgIC8vIGllOSBzZXR0aW5nIHRvIG51
bGwgaGFzIG5vIGVmZmVjdCwgbXVzdCB1c2UgZW1wdHkgc3RyaW5nXG4gICAgICBzZXRQcm9wKGVs
LCBuYW1lLCBjdXIgPT0gbnVsbCA/ICcnIDogY3VyKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIHN0
eWxlID0ge1xuICBjcmVhdGU6IHVwZGF0ZVN0eWxlLFxuICB1cGRhdGU6IHVwZGF0ZVN0eWxlXG59
O1xuXG4vKiAgKi9cblxuLyoqXG4gKiBBZGQgY2xhc3Mgd2l0aCBjb21wYXRpYmlsaXR5IGZvciBT
Vkcgc2luY2UgY2xhc3NMaXN0IGlzIG5vdCBzdXBwb3J0ZWQgb25cbiAqIFNWRyBlbGVtZW50cyBp
biBJRVxuICovXG5mdW5jdGlvbiBhZGRDbGFzcyAoZWwsIGNscykge1xuICAvKiBpc3RhbmJ1bCBp
Z25vcmUgaWYgKi9cbiAgaWYgKCFjbHMgfHwgIShjbHMgPSBjbHMudHJpbSgpKSkge1xuICAgIHJl
dHVyblxuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKGVsLmNsYXNz
TGlzdCkge1xuICAgIGlmIChjbHMuaW5kZXhPZignICcpID4gLTEpIHtcbiAgICAgIGNscy5zcGxp
dCgvXFxzKy8pLmZvckVhY2goZnVuY3Rpb24gKGMpIHsgcmV0dXJuIGVsLmNsYXNzTGlzdC5hZGQo
Yyk7IH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbC5jbGFzc0xpc3QuYWRkKGNscyk7XG4gICAg
fVxuICB9IGVsc2Uge1xuICAgIHZhciBjdXIgPSBcIiBcIiArIChlbC5nZXRBdHRyaWJ1dGUoJ2Ns
YXNzJykgfHwgJycpICsgXCIgXCI7XG4gICAgaWYgKGN1ci5pbmRleE9mKCcgJyArIGNscyArICcg
JykgPCAwKSB7XG4gICAgICBlbC5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgKGN1ciArIGNscykudHJp
bSgpKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSZW1vdmUgY2xhc3Mgd2l0aCBjb21wYXRp
YmlsaXR5IGZvciBTVkcgc2luY2UgY2xhc3NMaXN0IGlzIG5vdCBzdXBwb3J0ZWQgb25cbiAqIFNW
RyBlbGVtZW50cyBpbiBJRVxuICovXG5mdW5jdGlvbiByZW1vdmVDbGFzcyAoZWwsIGNscykge1xu
ICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKCFjbHMgfHwgIShjbHMgPSBjbHMudHJp
bSgpKSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9c
biAgaWYgKGVsLmNsYXNzTGlzdCkge1xuICAgIGlmIChjbHMuaW5kZXhPZignICcpID4gLTEpIHtc
biAgICAgIGNscy5zcGxpdCgvXFxzKy8pLmZvckVhY2goZnVuY3Rpb24gKGMpIHsgcmV0dXJuIGVs
LmNsYXNzTGlzdC5yZW1vdmUoYyk7IH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbC5jbGFzc0xp
c3QucmVtb3ZlKGNscyk7XG4gICAgfVxuICAgIGlmICghZWwuY2xhc3NMaXN0Lmxlbmd0aCkge1xu
ICAgICAgZWwucmVtb3ZlQXR0cmlidXRlKCdjbGFzcycpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAg
ICB2YXIgY3VyID0gXCIgXCIgKyAoZWwuZ2V0QXR0cmlidXRlKCdjbGFzcycpIHx8ICcnKSArIFwi
IFwiO1xuICAgIHZhciB0YXIgPSAnICcgKyBjbHMgKyAnICc7XG4gICAgd2hpbGUgKGN1ci5pbmRl
eE9mKHRhcikgPj0gMCkge1xuICAgICAgY3VyID0gY3VyLnJlcGxhY2UodGFyLCAnICcpO1xuICAg
IH1cbiAgICBjdXIgPSBjdXIudHJpbSgpO1xuICAgIGlmIChjdXIpIHtcbiAgICAgIGVsLnNldEF0
dHJpYnV0ZSgnY2xhc3MnLCBjdXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbC5yZW1vdmVBdHRy
aWJ1dGUoJ2NsYXNzJyk7XG4gICAgfVxuICB9XG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiByZXNv
bHZlVHJhbnNpdGlvbiAoZGVmJCQxKSB7XG4gIGlmICghZGVmJCQxKSB7XG4gICAgcmV0dXJuXG4g
IH1cbiAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgaWYgKHR5cGVvZiBkZWYkJDEgPT09
ICdvYmplY3QnKSB7XG4gICAgdmFyIHJlcyA9IHt9O1xuICAgIGlmIChkZWYkJDEuY3NzICE9PSBm
YWxzZSkge1xuICAgICAgZXh0ZW5kKHJlcywgYXV0b0Nzc1RyYW5zaXRpb24oZGVmJCQxLm5hbWUg
fHwgJ3YnKSk7XG4gICAgfVxuICAgIGV4dGVuZChyZXMsIGRlZiQkMSk7XG4gICAgcmV0dXJuIHJl
c1xuICB9IGVsc2UgaWYgKHR5cGVvZiBkZWYkJDEgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJu
IGF1dG9Dc3NUcmFuc2l0aW9uKGRlZiQkMSlcbiAgfVxufVxuXG52YXIgYXV0b0Nzc1RyYW5zaXRp
b24gPSBjYWNoZWQoZnVuY3Rpb24gKG5hbWUpIHtcbiAgcmV0dXJuIHtcbiAgICBlbnRlckNsYXNz
OiAobmFtZSArIFwiLWVudGVyXCIpLFxuICAgIGVudGVyVG9DbGFzczogKG5hbWUgKyBcIi1lbnRl
ci10b1wiKSxcbiAgICBlbnRlckFjdGl2ZUNsYXNzOiAobmFtZSArIFwiLWVudGVyLWFjdGl2ZVwi
KSxcbiAgICBsZWF2ZUNsYXNzOiAobmFtZSArIFwiLWxlYXZlXCIpLFxuICAgIGxlYXZlVG9DbGFz
czogKG5hbWUgKyBcIi1sZWF2ZS10b1wiKSxcbiAgICBsZWF2ZUFjdGl2ZUNsYXNzOiAobmFtZSAr
IFwiLWxlYXZlLWFjdGl2ZVwiKVxuICB9XG59KTtcblxudmFyIGhhc1RyYW5zaXRpb24gPSBpbkJy
b3dzZXIgJiYgIWlzSUU5O1xudmFyIFRSQU5TSVRJT04gPSAndHJhbnNpdGlvbic7XG52YXIgQU5J
TUFUSU9OID0gJ2FuaW1hdGlvbic7XG5cbi8vIFRyYW5zaXRpb24gcHJvcGVydHkvZXZlbnQgc25p
ZmZpbmdcbnZhciB0cmFuc2l0aW9uUHJvcCA9ICd0cmFuc2l0aW9uJztcbnZhciB0cmFuc2l0aW9u
RW5kRXZlbnQgPSAndHJhbnNpdGlvbmVuZCc7XG52YXIgYW5pbWF0aW9uUHJvcCA9ICdhbmltYXRp
b24nO1xudmFyIGFuaW1hdGlvbkVuZEV2ZW50ID0gJ2FuaW1hdGlvbmVuZCc7XG5pZiAoaGFzVHJh
bnNpdGlvbikge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKHdpbmRvdy5vbnRy
YW5zaXRpb25lbmQgPT09IHVuZGVmaW5lZCAmJlxuICAgIHdpbmRvdy5vbndlYmtpdHRyYW5zaXRp
b25lbmQgIT09IHVuZGVmaW5lZFxuICApIHtcbiAgICB0cmFuc2l0aW9uUHJvcCA9ICdXZWJraXRU
cmFuc2l0aW9uJztcbiAgICB0cmFuc2l0aW9uRW5kRXZlbnQgPSAnd2Via2l0VHJhbnNpdGlvbkVu
ZCc7XG4gIH1cbiAgaWYgKHdpbmRvdy5vbmFuaW1hdGlvbmVuZCA9PT0gdW5kZWZpbmVkICYmXG4g
ICAgd2luZG93Lm9ud2Via2l0YW5pbWF0aW9uZW5kICE9PSB1bmRlZmluZWRcbiAgKSB7XG4gICAg
YW5pbWF0aW9uUHJvcCA9ICdXZWJraXRBbmltYXRpb24nO1xuICAgIGFuaW1hdGlvbkVuZEV2ZW50
ID0gJ3dlYmtpdEFuaW1hdGlvbkVuZCc7XG4gIH1cbn1cblxuLy8gYmluZGluZyB0byB3aW5kb3cg
aXMgbmVjZXNzYXJ5IHRvIG1ha2UgaG90IHJlbG9hZCB3b3JrIGluIElFIGluIHN0cmljdCBtb2Rl
XG52YXIgcmFmID0gaW5Ccm93c2VyICYmIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVcbiAg
PyB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lLmJpbmQod2luZG93KVxuICA6IHNldFRpbWVv
dXQ7XG5cbmZ1bmN0aW9uIG5leHRGcmFtZSAoZm4pIHtcbiAgcmFmKGZ1bmN0aW9uICgpIHtcbiAg
ICByYWYoZm4pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRkVHJhbnNpdGlvbkNsYXNzIChlbCwg
Y2xzKSB7XG4gIHZhciB0cmFuc2l0aW9uQ2xhc3NlcyA9IGVsLl90cmFuc2l0aW9uQ2xhc3NlcyB8
fCAoZWwuX3RyYW5zaXRpb25DbGFzc2VzID0gW10pO1xuICBpZiAodHJhbnNpdGlvbkNsYXNzZXMu
aW5kZXhPZihjbHMpIDwgMCkge1xuICAgIHRyYW5zaXRpb25DbGFzc2VzLnB1c2goY2xzKTtcbiAg
ICBhZGRDbGFzcyhlbCwgY2xzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZW1vdmVUcmFuc2l0aW9u
Q2xhc3MgKGVsLCBjbHMpIHtcbiAgaWYgKGVsLl90cmFuc2l0aW9uQ2xhc3Nlcykge1xuICAgIHJl
bW92ZShlbC5fdHJhbnNpdGlvbkNsYXNzZXMsIGNscyk7XG4gIH1cbiAgcmVtb3ZlQ2xhc3MoZWws
IGNscyk7XG59XG5cbmZ1bmN0aW9uIHdoZW5UcmFuc2l0aW9uRW5kcyAoXG4gIGVsLFxuICBleHBl
Y3RlZFR5cGUsXG4gIGNiXG4pIHtcbiAgdmFyIHJlZiA9IGdldFRyYW5zaXRpb25JbmZvKGVsLCBl
eHBlY3RlZFR5cGUpO1xuICB2YXIgdHlwZSA9IHJlZi50eXBlO1xuICB2YXIgdGltZW91dCA9IHJl
Zi50aW1lb3V0O1xuICB2YXIgcHJvcENvdW50ID0gcmVmLnByb3BDb3VudDtcbiAgaWYgKCF0eXBl
KSB7IHJldHVybiBjYigpIH1cbiAgdmFyIGV2ZW50ID0gdHlwZSA9PT0gVFJBTlNJVElPTiA/IHRy
YW5zaXRpb25FbmRFdmVudCA6IGFuaW1hdGlvbkVuZEV2ZW50O1xuICB2YXIgZW5kZWQgPSAwO1xu
ICB2YXIgZW5kID0gZnVuY3Rpb24gKCkge1xuICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZl
bnQsIG9uRW5kKTtcbiAgICBjYigpO1xuICB9O1xuICB2YXIgb25FbmQgPSBmdW5jdGlvbiAoZSkg
e1xuICAgIGlmIChlLnRhcmdldCA9PT0gZWwpIHtcbiAgICAgIGlmICgrK2VuZGVkID49IHByb3BD
b3VudCkge1xuICAgICAgICBlbmQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG4gIHNldFRpbWVv
dXQoZnVuY3Rpb24gKCkge1xuICAgIGlmIChlbmRlZCA8IHByb3BDb3VudCkge1xuICAgICAgZW5k
KCk7XG4gICAgfVxuICB9LCB0aW1lb3V0ICsgMSk7XG4gIGVsLmFkZEV2ZW50TGlzdGVuZXIoZXZl
bnQsIG9uRW5kKTtcbn1cblxudmFyIHRyYW5zZm9ybVJFID0gL1xcYih0cmFuc2Zvcm18YWxsKSgs
fCQpLztcblxuZnVuY3Rpb24gZ2V0VHJhbnNpdGlvbkluZm8gKGVsLCBleHBlY3RlZFR5cGUpIHtc
biAgdmFyIHN0eWxlcyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsKTtcbiAgdmFyIHRyYW5z
aXRpb25EZWxheXMgPSBzdHlsZXNbdHJhbnNpdGlvblByb3AgKyAnRGVsYXknXS5zcGxpdCgnLCAn
KTtcbiAgdmFyIHRyYW5zaXRpb25EdXJhdGlvbnMgPSBzdHlsZXNbdHJhbnNpdGlvblByb3AgKyAn
RHVyYXRpb24nXS5zcGxpdCgnLCAnKTtcbiAgdmFyIHRyYW5zaXRpb25UaW1lb3V0ID0gZ2V0VGlt
ZW91dCh0cmFuc2l0aW9uRGVsYXlzLCB0cmFuc2l0aW9uRHVyYXRpb25zKTtcbiAgdmFyIGFuaW1h
dGlvbkRlbGF5cyA9IHN0eWxlc1thbmltYXRpb25Qcm9wICsgJ0RlbGF5J10uc3BsaXQoJywgJyk7
XG4gIHZhciBhbmltYXRpb25EdXJhdGlvbnMgPSBzdHlsZXNbYW5pbWF0aW9uUHJvcCArICdEdXJh
dGlvbiddLnNwbGl0KCcsICcpO1xuICB2YXIgYW5pbWF0aW9uVGltZW91dCA9IGdldFRpbWVvdXQo
YW5pbWF0aW9uRGVsYXlzLCBhbmltYXRpb25EdXJhdGlvbnMpO1xuXG4gIHZhciB0eXBlO1xuICB2
YXIgdGltZW91dCA9IDA7XG4gIHZhciBwcm9wQ291bnQgPSAwO1xuICAvKiBpc3RhbmJ1bCBpZ25v
cmUgaWYgKi9cbiAgaWYgKGV4cGVjdGVkVHlwZSA9PT0gVFJBTlNJVElPTikge1xuICAgIGlmICh0
cmFuc2l0aW9uVGltZW91dCA+IDApIHtcbiAgICAgIHR5cGUgPSBUUkFOU0lUSU9OO1xuICAgICAg
dGltZW91dCA9IHRyYW5zaXRpb25UaW1lb3V0O1xuICAgICAgcHJvcENvdW50ID0gdHJhbnNpdGlv
bkR1cmF0aW9ucy5sZW5ndGg7XG4gICAgfVxuICB9IGVsc2UgaWYgKGV4cGVjdGVkVHlwZSA9PT0g
QU5JTUFUSU9OKSB7XG4gICAgaWYgKGFuaW1hdGlvblRpbWVvdXQgPiAwKSB7XG4gICAgICB0eXBl
ID0gQU5JTUFUSU9OO1xuICAgICAgdGltZW91dCA9IGFuaW1hdGlvblRpbWVvdXQ7XG4gICAgICBw
cm9wQ291bnQgPSBhbmltYXRpb25EdXJhdGlvbnMubGVuZ3RoO1xuICAgIH1cbiAgfSBlbHNlIHtc
biAgICB0aW1lb3V0ID0gTWF0aC5tYXgodHJhbnNpdGlvblRpbWVvdXQsIGFuaW1hdGlvblRpbWVv
dXQpO1xuICAgIHR5cGUgPSB0aW1lb3V0ID4gMFxuICAgICAgPyB0cmFuc2l0aW9uVGltZW91dCA+
IGFuaW1hdGlvblRpbWVvdXRcbiAgICAgICAgPyBUUkFOU0lUSU9OXG4gICAgICAgIDogQU5JTUFU
SU9OXG4gICAgICA6IG51bGw7XG4gICAgcHJvcENvdW50ID0gdHlwZVxuICAgICAgPyB0eXBlID09
PSBUUkFOU0lUSU9OXG4gICAgICAgID8gdHJhbnNpdGlvbkR1cmF0aW9ucy5sZW5ndGhcbiAgICAg
ICAgOiBhbmltYXRpb25EdXJhdGlvbnMubGVuZ3RoXG4gICAgICA6IDA7XG4gIH1cbiAgdmFyIGhh
c1RyYW5zZm9ybSA9XG4gICAgdHlwZSA9PT0gVFJBTlNJVElPTiAmJlxuICAgIHRyYW5zZm9ybVJF
LnRlc3Qoc3R5bGVzW3RyYW5zaXRpb25Qcm9wICsgJ1Byb3BlcnR5J10pO1xuICByZXR1cm4ge1xu
ICAgIHR5cGU6IHR5cGUsXG4gICAgdGltZW91dDogdGltZW91dCxcbiAgICBwcm9wQ291bnQ6IHBy
b3BDb3VudCxcbiAgICBoYXNUcmFuc2Zvcm06IGhhc1RyYW5zZm9ybVxuICB9XG59XG5cbmZ1bmN0
aW9uIGdldFRpbWVvdXQgKGRlbGF5cywgZHVyYXRpb25zKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9y
ZSBuZXh0ICovXG4gIHdoaWxlIChkZWxheXMubGVuZ3RoIDwgZHVyYXRpb25zLmxlbmd0aCkge1xu
ICAgIGRlbGF5cyA9IGRlbGF5cy5jb25jYXQoZGVsYXlzKTtcbiAgfVxuXG4gIHJldHVybiBNYXRo
Lm1heC5hcHBseShudWxsLCBkdXJhdGlvbnMubWFwKGZ1bmN0aW9uIChkLCBpKSB7XG4gICAgcmV0
dXJuIHRvTXMoZCkgKyB0b01zKGRlbGF5c1tpXSlcbiAgfSkpXG59XG5cbmZ1bmN0aW9uIHRvTXMg
KHMpIHtcbiAgcmV0dXJuIE51bWJlcihzLnNsaWNlKDAsIC0xKSkgKiAxMDAwXG59XG5cbi8qICAq
L1xuXG5mdW5jdGlvbiBlbnRlciAodm5vZGUsIHRvZ2dsZURpc3BsYXkpIHtcbiAgdmFyIGVsID0g
dm5vZGUuZWxtO1xuXG4gIC8vIGNhbGwgbGVhdmUgY2FsbGJhY2sgbm93XG4gIGlmIChpc0RlZihl
bC5fbGVhdmVDYikpIHtcbiAgICBlbC5fbGVhdmVDYi5jYW5jZWxsZWQgPSB0cnVlO1xuICAgIGVs
Ll9sZWF2ZUNiKCk7XG4gIH1cblxuICB2YXIgZGF0YSA9IHJlc29sdmVUcmFuc2l0aW9uKHZub2Rl
LmRhdGEudHJhbnNpdGlvbik7XG4gIGlmIChpc1VuZGVmKGRhdGEpKSB7XG4gICAgcmV0dXJuXG4g
IH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgaWYgKGlzRGVmKGVsLl9lbnRlckNi
KSB8fCBlbC5ub2RlVHlwZSAhPT0gMSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgdmFyIGNzcyA9
IGRhdGEuY3NzO1xuICB2YXIgdHlwZSA9IGRhdGEudHlwZTtcbiAgdmFyIGVudGVyQ2xhc3MgPSBk
YXRhLmVudGVyQ2xhc3M7XG4gIHZhciBlbnRlclRvQ2xhc3MgPSBkYXRhLmVudGVyVG9DbGFzcztc
biAgdmFyIGVudGVyQWN0aXZlQ2xhc3MgPSBkYXRhLmVudGVyQWN0aXZlQ2xhc3M7XG4gIHZhciBh
cHBlYXJDbGFzcyA9IGRhdGEuYXBwZWFyQ2xhc3M7XG4gIHZhciBhcHBlYXJUb0NsYXNzID0gZGF0
YS5hcHBlYXJUb0NsYXNzO1xuICB2YXIgYXBwZWFyQWN0aXZlQ2xhc3MgPSBkYXRhLmFwcGVhckFj
dGl2ZUNsYXNzO1xuICB2YXIgYmVmb3JlRW50ZXIgPSBkYXRhLmJlZm9yZUVudGVyO1xuICB2YXIg
ZW50ZXIgPSBkYXRhLmVudGVyO1xuICB2YXIgYWZ0ZXJFbnRlciA9IGRhdGEuYWZ0ZXJFbnRlcjtc
biAgdmFyIGVudGVyQ2FuY2VsbGVkID0gZGF0YS5lbnRlckNhbmNlbGxlZDtcbiAgdmFyIGJlZm9y
ZUFwcGVhciA9IGRhdGEuYmVmb3JlQXBwZWFyO1xuICB2YXIgYXBwZWFyID0gZGF0YS5hcHBlYXI7
XG4gIHZhciBhZnRlckFwcGVhciA9IGRhdGEuYWZ0ZXJBcHBlYXI7XG4gIHZhciBhcHBlYXJDYW5j
ZWxsZWQgPSBkYXRhLmFwcGVhckNhbmNlbGxlZDtcbiAgdmFyIGR1cmF0aW9uID0gZGF0YS5kdXJh
dGlvbjtcblxuICAvLyBhY3RpdmVJbnN0YW5jZSB3aWxsIGFsd2F5cyBiZSB0aGUgPHRyYW5zaXRp
b24+IGNvbXBvbmVudCBtYW5hZ2luZyB0aGlzXG4gIC8vIHRyYW5zaXRpb24uIE9uZSBlZGdlIGNh
c2UgdG8gY2hlY2sgaXMgd2hlbiB0aGUgPHRyYW5zaXRpb24+IGlzIHBsYWNlZFxuICAvLyBhcyB0
aGUgcm9vdCBub2RlIG9mIGEgY2hpbGQgY29tcG9uZW50LiBJbiB0aGF0IGNhc2Ugd2UgbmVlZCB0
byBjaGVja1xuICAvLyA8dHJhbnNpdGlvbj4ncyBwYXJlbnQgZm9yIGFwcGVhciBjaGVjay5cbiAg
dmFyIGNvbnRleHQgPSBhY3RpdmVJbnN0YW5jZTtcbiAgdmFyIHRyYW5zaXRpb25Ob2RlID0gYWN0
aXZlSW5zdGFuY2UuJHZub2RlO1xuICB3aGlsZSAodHJhbnNpdGlvbk5vZGUgJiYgdHJhbnNpdGlv
bk5vZGUucGFyZW50KSB7XG4gICAgdHJhbnNpdGlvbk5vZGUgPSB0cmFuc2l0aW9uTm9kZS5wYXJl
bnQ7XG4gICAgY29udGV4dCA9IHRyYW5zaXRpb25Ob2RlLmNvbnRleHQ7XG4gIH1cblxuICB2YXIg
aXNBcHBlYXIgPSAhY29udGV4dC5faXNNb3VudGVkIHx8ICF2bm9kZS5pc1Jvb3RJbnNlcnQ7XG5c
biAgaWYgKGlzQXBwZWFyICYmICFhcHBlYXIgJiYgYXBwZWFyICE9PSAnJykge1xuICAgIHJldHVy
blxuICB9XG5cbiAgdmFyIHN0YXJ0Q2xhc3MgPSBpc0FwcGVhciAmJiBhcHBlYXJDbGFzc1xuICAg
ID8gYXBwZWFyQ2xhc3NcbiAgICA6IGVudGVyQ2xhc3M7XG4gIHZhciBhY3RpdmVDbGFzcyA9IGlz
QXBwZWFyICYmIGFwcGVhckFjdGl2ZUNsYXNzXG4gICAgPyBhcHBlYXJBY3RpdmVDbGFzc1xuICAg
IDogZW50ZXJBY3RpdmVDbGFzcztcbiAgdmFyIHRvQ2xhc3MgPSBpc0FwcGVhciAmJiBhcHBlYXJU
b0NsYXNzXG4gICAgPyBhcHBlYXJUb0NsYXNzXG4gICAgOiBlbnRlclRvQ2xhc3M7XG5cbiAgdmFy
IGJlZm9yZUVudGVySG9vayA9IGlzQXBwZWFyXG4gICAgPyAoYmVmb3JlQXBwZWFyIHx8IGJlZm9y
ZUVudGVyKVxuICAgIDogYmVmb3JlRW50ZXI7XG4gIHZhciBlbnRlckhvb2sgPSBpc0FwcGVhclxu
ICAgID8gKHR5cGVvZiBhcHBlYXIgPT09ICdmdW5jdGlvbicgPyBhcHBlYXIgOiBlbnRlcilcbiAg
ICA6IGVudGVyO1xuICB2YXIgYWZ0ZXJFbnRlckhvb2sgPSBpc0FwcGVhclxuICAgID8gKGFmdGVy
QXBwZWFyIHx8IGFmdGVyRW50ZXIpXG4gICAgOiBhZnRlckVudGVyO1xuICB2YXIgZW50ZXJDYW5j
ZWxsZWRIb29rID0gaXNBcHBlYXJcbiAgICA/IChhcHBlYXJDYW5jZWxsZWQgfHwgZW50ZXJDYW5j
ZWxsZWQpXG4gICAgOiBlbnRlckNhbmNlbGxlZDtcblxuICB2YXIgZXhwbGljaXRFbnRlckR1cmF0
aW9uID0gdG9OdW1iZXIoXG4gICAgaXNPYmplY3QoZHVyYXRpb24pXG4gICAgICA/IGR1cmF0aW9u
LmVudGVyXG4gICAgICA6IGR1cmF0aW9uXG4gICk7XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVf
RU5WICE9PSAncHJvZHVjdGlvbicgJiYgZXhwbGljaXRFbnRlckR1cmF0aW9uICE9IG51bGwpIHtc
biAgICBjaGVja0R1cmF0aW9uKGV4cGxpY2l0RW50ZXJEdXJhdGlvbiwgJ2VudGVyJywgdm5vZGUp
O1xuICB9XG5cbiAgdmFyIGV4cGVjdHNDU1MgPSBjc3MgIT09IGZhbHNlICYmICFpc0lFOTtcbiAg
dmFyIHVzZXJXYW50c0NvbnRyb2wgPSBnZXRIb29rQXJndW1lbnRzTGVuZ3RoKGVudGVySG9vayk7
XG5cbiAgdmFyIGNiID0gZWwuX2VudGVyQ2IgPSBvbmNlKGZ1bmN0aW9uICgpIHtcbiAgICBpZiAo
ZXhwZWN0c0NTUykge1xuICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCB0b0NsYXNzKTtc
biAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgYWN0aXZlQ2xhc3MpO1xuICAgIH1cbiAg
ICBpZiAoY2IuY2FuY2VsbGVkKSB7XG4gICAgICBpZiAoZXhwZWN0c0NTUykge1xuICAgICAgICBy
ZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIHN0YXJ0Q2xhc3MpO1xuICAgICAgfVxuICAgICAgZW50
ZXJDYW5jZWxsZWRIb29rICYmIGVudGVyQ2FuY2VsbGVkSG9vayhlbCk7XG4gICAgfSBlbHNlIHtc
biAgICAgIGFmdGVyRW50ZXJIb29rICYmIGFmdGVyRW50ZXJIb29rKGVsKTtcbiAgICB9XG4gICAg
ZWwuX2VudGVyQ2IgPSBudWxsO1xuICB9KTtcblxuICBpZiAoIXZub2RlLmRhdGEuc2hvdykge1xu
ICAgIC8vIHJlbW92ZSBwZW5kaW5nIGxlYXZlIGVsZW1lbnQgb24gZW50ZXIgYnkgaW5qZWN0aW5n
IGFuIGluc2VydCBob29rXG4gICAgbWVyZ2VWTm9kZUhvb2sodm5vZGUuZGF0YS5ob29rIHx8ICh2
bm9kZS5kYXRhLmhvb2sgPSB7fSksICdpbnNlcnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIg
cGFyZW50ID0gZWwucGFyZW50Tm9kZTtcbiAgICAgIHZhciBwZW5kaW5nTm9kZSA9IHBhcmVudCAm
JiBwYXJlbnQuX3BlbmRpbmcgJiYgcGFyZW50Ll9wZW5kaW5nW3Zub2RlLmtleV07XG4gICAgICBp
ZiAocGVuZGluZ05vZGUgJiZcbiAgICAgICAgcGVuZGluZ05vZGUudGFnID09PSB2bm9kZS50YWcg
JiZcbiAgICAgICAgcGVuZGluZ05vZGUuZWxtLl9sZWF2ZUNiXG4gICAgICApIHtcbiAgICAgICAg
cGVuZGluZ05vZGUuZWxtLl9sZWF2ZUNiKCk7XG4gICAgICB9XG4gICAgICBlbnRlckhvb2sgJiYg
ZW50ZXJIb29rKGVsLCBjYik7XG4gICAgfSk7XG4gIH1cblxuICAvLyBzdGFydCBlbnRlciB0cmFu
c2l0aW9uXG4gIGJlZm9yZUVudGVySG9vayAmJiBiZWZvcmVFbnRlckhvb2soZWwpO1xuICBpZiAo
ZXhwZWN0c0NTUykge1xuICAgIGFkZFRyYW5zaXRpb25DbGFzcyhlbCwgc3RhcnRDbGFzcyk7XG4g
ICAgYWRkVHJhbnNpdGlvbkNsYXNzKGVsLCBhY3RpdmVDbGFzcyk7XG4gICAgbmV4dEZyYW1lKGZ1
bmN0aW9uICgpIHtcbiAgICAgIGFkZFRyYW5zaXRpb25DbGFzcyhlbCwgdG9DbGFzcyk7XG4gICAg
ICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIHN0YXJ0Q2xhc3MpO1xuICAgICAgaWYgKCFjYi5j
YW5jZWxsZWQgJiYgIXVzZXJXYW50c0NvbnRyb2wpIHtcbiAgICAgICAgaWYgKGlzVmFsaWREdXJh
dGlvbihleHBsaWNpdEVudGVyRHVyYXRpb24pKSB7XG4gICAgICAgICAgc2V0VGltZW91dChjYiwg
ZXhwbGljaXRFbnRlckR1cmF0aW9uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB3aGVu
VHJhbnNpdGlvbkVuZHMoZWwsIHR5cGUsIGNiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0p
O1xuICB9XG5cbiAgaWYgKHZub2RlLmRhdGEuc2hvdykge1xuICAgIHRvZ2dsZURpc3BsYXkgJiYg
dG9nZ2xlRGlzcGxheSgpO1xuICAgIGVudGVySG9vayAmJiBlbnRlckhvb2soZWwsIGNiKTtcbiAg
fVxuXG4gIGlmICghZXhwZWN0c0NTUyAmJiAhdXNlcldhbnRzQ29udHJvbCkge1xuICAgIGNiKCk7
XG4gIH1cbn1cblxuZnVuY3Rpb24gbGVhdmUgKHZub2RlLCBybSkge1xuICB2YXIgZWwgPSB2bm9k
ZS5lbG07XG5cbiAgLy8gY2FsbCBlbnRlciBjYWxsYmFjayBub3dcbiAgaWYgKGlzRGVmKGVsLl9l
bnRlckNiKSkge1xuICAgIGVsLl9lbnRlckNiLmNhbmNlbGxlZCA9IHRydWU7XG4gICAgZWwuX2Vu
dGVyQ2IoKTtcbiAgfVxuXG4gIHZhciBkYXRhID0gcmVzb2x2ZVRyYW5zaXRpb24odm5vZGUuZGF0
YS50cmFuc2l0aW9uKTtcbiAgaWYgKGlzVW5kZWYoZGF0YSkpIHtcbiAgICByZXR1cm4gcm0oKVxu
ICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gIGlmIChpc0RlZihlbC5fbGVhdmVD
YikgfHwgZWwubm9kZVR5cGUgIT09IDEpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIHZhciBjc3Mg
PSBkYXRhLmNzcztcbiAgdmFyIHR5cGUgPSBkYXRhLnR5cGU7XG4gIHZhciBsZWF2ZUNsYXNzID0g
ZGF0YS5sZWF2ZUNsYXNzO1xuICB2YXIgbGVhdmVUb0NsYXNzID0gZGF0YS5sZWF2ZVRvQ2xhc3M7
XG4gIHZhciBsZWF2ZUFjdGl2ZUNsYXNzID0gZGF0YS5sZWF2ZUFjdGl2ZUNsYXNzO1xuICB2YXIg
YmVmb3JlTGVhdmUgPSBkYXRhLmJlZm9yZUxlYXZlO1xuICB2YXIgbGVhdmUgPSBkYXRhLmxlYXZl
O1xuICB2YXIgYWZ0ZXJMZWF2ZSA9IGRhdGEuYWZ0ZXJMZWF2ZTtcbiAgdmFyIGxlYXZlQ2FuY2Vs
bGVkID0gZGF0YS5sZWF2ZUNhbmNlbGxlZDtcbiAgdmFyIGRlbGF5TGVhdmUgPSBkYXRhLmRlbGF5
TGVhdmU7XG4gIHZhciBkdXJhdGlvbiA9IGRhdGEuZHVyYXRpb247XG5cbiAgdmFyIGV4cGVjdHND
U1MgPSBjc3MgIT09IGZhbHNlICYmICFpc0lFOTtcbiAgdmFyIHVzZXJXYW50c0NvbnRyb2wgPSBn
ZXRIb29rQXJndW1lbnRzTGVuZ3RoKGxlYXZlKTtcblxuICB2YXIgZXhwbGljaXRMZWF2ZUR1cmF0
aW9uID0gdG9OdW1iZXIoXG4gICAgaXNPYmplY3QoZHVyYXRpb24pXG4gICAgICA/IGR1cmF0aW9u
LmxlYXZlXG4gICAgICA6IGR1cmF0aW9uXG4gICk7XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVf
RU5WICE9PSAncHJvZHVjdGlvbicgJiYgaXNEZWYoZXhwbGljaXRMZWF2ZUR1cmF0aW9uKSkge1xu
ICAgIGNoZWNrRHVyYXRpb24oZXhwbGljaXRMZWF2ZUR1cmF0aW9uLCAnbGVhdmUnLCB2bm9kZSk7
XG4gIH1cblxuICB2YXIgY2IgPSBlbC5fbGVhdmVDYiA9IG9uY2UoZnVuY3Rpb24gKCkge1xuICAg
IGlmIChlbC5wYXJlbnROb2RlICYmIGVsLnBhcmVudE5vZGUuX3BlbmRpbmcpIHtcbiAgICAgIGVs
LnBhcmVudE5vZGUuX3BlbmRpbmdbdm5vZGUua2V5XSA9IG51bGw7XG4gICAgfVxuICAgIGlmIChl
eHBlY3RzQ1NTKSB7XG4gICAgICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIGxlYXZlVG9DbGFz
cyk7XG4gICAgICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIGxlYXZlQWN0aXZlQ2xhc3MpO1xu
ICAgIH1cbiAgICBpZiAoY2IuY2FuY2VsbGVkKSB7XG4gICAgICBpZiAoZXhwZWN0c0NTUykge1xu
ICAgICAgICByZW1vdmVUcmFuc2l0aW9uQ2xhc3MoZWwsIGxlYXZlQ2xhc3MpO1xuICAgICAgfVxu
ICAgICAgbGVhdmVDYW5jZWxsZWQgJiYgbGVhdmVDYW5jZWxsZWQoZWwpO1xuICAgIH0gZWxzZSB7
XG4gICAgICBybSgpO1xuICAgICAgYWZ0ZXJMZWF2ZSAmJiBhZnRlckxlYXZlKGVsKTtcbiAgICB9
XG4gICAgZWwuX2xlYXZlQ2IgPSBudWxsO1xuICB9KTtcblxuICBpZiAoZGVsYXlMZWF2ZSkge1xu
ICAgIGRlbGF5TGVhdmUocGVyZm9ybUxlYXZlKTtcbiAgfSBlbHNlIHtcbiAgICBwZXJmb3JtTGVh
dmUoKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBlcmZvcm1MZWF2ZSAoKSB7XG4gICAgLy8gdGhlIGRl
bGF5ZWQgbGVhdmUgbWF5IGhhdmUgYWxyZWFkeSBiZWVuIGNhbmNlbGxlZFxuICAgIGlmIChjYi5j
YW5jZWxsZWQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICAvLyByZWNvcmQgbGVhdmluZyBl
bGVtZW50XG4gICAgaWYgKCF2bm9kZS5kYXRhLnNob3cpIHtcbiAgICAgIChlbC5wYXJlbnROb2Rl
Ll9wZW5kaW5nIHx8IChlbC5wYXJlbnROb2RlLl9wZW5kaW5nID0ge30pKVsodm5vZGUua2V5KV0g
PSB2bm9kZTtcbiAgICB9XG4gICAgYmVmb3JlTGVhdmUgJiYgYmVmb3JlTGVhdmUoZWwpO1xuICAg
IGlmIChleHBlY3RzQ1NTKSB7XG4gICAgICBhZGRUcmFuc2l0aW9uQ2xhc3MoZWwsIGxlYXZlQ2xh
c3MpO1xuICAgICAgYWRkVHJhbnNpdGlvbkNsYXNzKGVsLCBsZWF2ZUFjdGl2ZUNsYXNzKTtcbiAg
ICAgIG5leHRGcmFtZShmdW5jdGlvbiAoKSB7XG4gICAgICAgIGFkZFRyYW5zaXRpb25DbGFzcyhl
bCwgbGVhdmVUb0NsYXNzKTtcbiAgICAgICAgcmVtb3ZlVHJhbnNpdGlvbkNsYXNzKGVsLCBsZWF2
ZUNsYXNzKTtcbiAgICAgICAgaWYgKCFjYi5jYW5jZWxsZWQgJiYgIXVzZXJXYW50c0NvbnRyb2wp
IHtcbiAgICAgICAgICBpZiAoaXNWYWxpZER1cmF0aW9uKGV4cGxpY2l0TGVhdmVEdXJhdGlvbikp
IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoY2IsIGV4cGxpY2l0TGVhdmVEdXJhdGlvbik7XG4g
ICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHdoZW5UcmFuc2l0aW9uRW5kcyhlbCwgdHlw
ZSwgY2IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIGxl
YXZlICYmIGxlYXZlKGVsLCBjYik7XG4gICAgaWYgKCFleHBlY3RzQ1NTICYmICF1c2VyV2FudHND
b250cm9sKSB7XG4gICAgICBjYigpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBvbmx5IHVzZWQgaW4g
ZGV2IG1vZGVcbmZ1bmN0aW9uIGNoZWNrRHVyYXRpb24gKHZhbCwgbmFtZSwgdm5vZGUpIHtcbiAg
aWYgKHR5cGVvZiB2YWwgIT09ICdudW1iZXInKSB7XG4gICAgd2FybihcbiAgICAgIFwiPHRyYW5z
aXRpb24+IGV4cGxpY2l0IFwiICsgbmFtZSArIFwiIGR1cmF0aW9uIGlzIG5vdCBhIHZhbGlkIG51
bWJlciAtIFwiICtcbiAgICAgIFwiZ290IFwiICsgKEpTT04uc3RyaW5naWZ5KHZhbCkpICsgXCIu
XCIsXG4gICAgICB2bm9kZS5jb250ZXh0XG4gICAgKTtcbiAgfSBlbHNlIGlmIChpc05hTih2YWwp
KSB7XG4gICAgd2FybihcbiAgICAgIFwiPHRyYW5zaXRpb24+IGV4cGxpY2l0IFwiICsgbmFtZSAr
IFwiIGR1cmF0aW9uIGlzIE5hTiAtIFwiICtcbiAgICAgICd0aGUgZHVyYXRpb24gZXhwcmVzc2lv
biBtaWdodCBiZSBpbmNvcnJlY3QuJyxcbiAgICAgIHZub2RlLmNvbnRleHRcbiAgICApO1xuICB9
XG59XG5cbmZ1bmN0aW9uIGlzVmFsaWREdXJhdGlvbiAodmFsKSB7XG4gIHJldHVybiB0eXBlb2Yg
dmFsID09PSAnbnVtYmVyJyAmJiAhaXNOYU4odmFsKVxufVxuXG4vKipcbiAqIE5vcm1hbGl6ZSBh
IHRyYW5zaXRpb24gaG9vaydzIGFyZ3VtZW50IGxlbmd0aC4gVGhlIGhvb2sgbWF5IGJlOlxuICog
LSBhIG1lcmdlZCBob29rIChpbnZva2VyKSB3aXRoIHRoZSBvcmlnaW5hbCBpbiAuZm5zXG4gKiAt
IGEgd3JhcHBlZCBjb21wb25lbnQgbWV0aG9kIChjaGVjayAuX2xlbmd0aClcbiAqIC0gYSBwbGFp
biBmdW5jdGlvbiAoLmxlbmd0aClcbiAqL1xuZnVuY3Rpb24gZ2V0SG9va0FyZ3VtZW50c0xlbmd0
aCAoZm4pIHtcbiAgaWYgKGlzVW5kZWYoZm4pKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAg
dmFyIGludm9rZXJGbnMgPSBmbi5mbnM7XG4gIGlmIChpc0RlZihpbnZva2VyRm5zKSkge1xuICAg
IC8vIGludm9rZXJcbiAgICByZXR1cm4gZ2V0SG9va0FyZ3VtZW50c0xlbmd0aChcbiAgICAgIEFy
cmF5LmlzQXJyYXkoaW52b2tlckZucylcbiAgICAgICAgPyBpbnZva2VyRm5zWzBdXG4gICAgICAg
IDogaW52b2tlckZuc1xuICAgIClcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gKGZuLl9sZW5ndGgg
fHwgZm4ubGVuZ3RoKSA+IDFcbiAgfVxufVxuXG5mdW5jdGlvbiBfZW50ZXIgKF8sIHZub2RlKSB7
XG4gIGlmICh2bm9kZS5kYXRhLnNob3cgIT09IHRydWUpIHtcbiAgICBlbnRlcih2bm9kZSk7XG4g
IH1cbn1cblxudmFyIHRyYW5zaXRpb24gPSBpbkJyb3dzZXIgPyB7XG4gIGNyZWF0ZTogX2VudGVy
LFxuICBhY3RpdmF0ZTogX2VudGVyLFxuICByZW1vdmU6IGZ1bmN0aW9uIHJlbW92ZSQkMSAodm5v
ZGUsIHJtKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodm5vZGUu
ZGF0YS5zaG93ICE9PSB0cnVlKSB7XG4gICAgICBsZWF2ZSh2bm9kZSwgcm0pO1xuICAgIH0gZWxz
ZSB7XG4gICAgICBybSgpO1xuICAgIH1cbiAgfVxufSA6IHt9O1xuXG52YXIgcGxhdGZvcm1Nb2R1
bGVzID0gW1xuICBhdHRycyxcbiAga2xhc3MsXG4gIGV2ZW50cyxcbiAgZG9tUHJvcHMsXG4gIHN0
eWxlLFxuICB0cmFuc2l0aW9uXG5dO1xuXG4vKiAgKi9cblxuLy8gdGhlIGRpcmVjdGl2ZSBtb2R1
bGUgc2hvdWxkIGJlIGFwcGxpZWQgbGFzdCwgYWZ0ZXIgYWxsXG4vLyBidWlsdC1pbiBtb2R1bGVz
IGhhdmUgYmVlbiBhcHBsaWVkLlxudmFyIG1vZHVsZXMgPSBwbGF0Zm9ybU1vZHVsZXMuY29uY2F0
KGJhc2VNb2R1bGVzKTtcblxudmFyIHBhdGNoID0gY3JlYXRlUGF0Y2hGdW5jdGlvbih7IG5vZGVP
cHM6IG5vZGVPcHMsIG1vZHVsZXM6IG1vZHVsZXMgfSk7XG5cbi8qKlxuICogTm90IHR5cGUgY2hl
Y2tpbmcgdGhpcyBmaWxlIGJlY2F1c2UgZmxvdyBkb2Vzbid0IGxpa2UgYXR0YWNoaW5nXG4gKiBw
cm9wZXJ0aWVzIHRvIEVsZW1lbnRzLlxuICovXG5cbnZhciBpc1RleHRJbnB1dFR5cGUgPSBtYWtl
TWFwKCd0ZXh0LG51bWJlcixwYXNzd29yZCxzZWFyY2gsZW1haWwsdGVsLHVybCcpO1xuXG4vKiBp
c3RhbmJ1bCBpZ25vcmUgaWYgKi9cbmlmIChpc0lFOSkge1xuICAvLyBodHRwOi8vd3d3Lm1hdHRz
NDExLmNvbS9wb3N0L2ludGVybmV0LWV4cGxvcmVyLTktb25pbnB1dC9cbiAgZG9jdW1lbnQuYWRk
RXZlbnRMaXN0ZW5lcignc2VsZWN0aW9uY2hhbmdlJywgZnVuY3Rpb24gKCkge1xuICAgIHZhciBl
bCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKGVsICYmIGVsLnZtb2RlbCkge1xu
ICAgICAgdHJpZ2dlcihlbCwgJ2lucHV0Jyk7XG4gICAgfVxuICB9KTtcbn1cblxudmFyIG1vZGVs
JDEgPSB7XG4gIGluc2VydGVkOiBmdW5jdGlvbiBpbnNlcnRlZCAoZWwsIGJpbmRpbmcsIHZub2Rl
KSB7XG4gICAgaWYgKHZub2RlLnRhZyA9PT0gJ3NlbGVjdCcpIHtcbiAgICAgIHZhciBjYiA9IGZ1
bmN0aW9uICgpIHtcbiAgICAgICAgc2V0U2VsZWN0ZWQoZWwsIGJpbmRpbmcsIHZub2RlLmNvbnRl
eHQpO1xuICAgICAgfTtcbiAgICAgIGNiKCk7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYg
Ki9cbiAgICAgIGlmIChpc0lFIHx8IGlzRWRnZSkge1xuICAgICAgICBzZXRUaW1lb3V0KGNiLCAw
KTtcbiAgICAgIH1cbiAgICAgIGVsLl92T3B0aW9ucyA9IFtdLm1hcC5jYWxsKGVsLm9wdGlvbnMs
IGdldFZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKHZub2RlLnRhZyA9PT0gJ3RleHRhcmVhJyB8fCBp
c1RleHRJbnB1dFR5cGUoZWwudHlwZSkpIHtcbiAgICAgIGVsLl92TW9kaWZpZXJzID0gYmluZGlu
Zy5tb2RpZmllcnM7XG4gICAgICBpZiAoIWJpbmRpbmcubW9kaWZpZXJzLmxhenkpIHtcbiAgICAg
ICAgLy8gU2FmYXJpIDwgMTAuMiAmIFVJV2ViVmlldyBkb2Vzbid0IGZpcmUgY29tcG9zaXRpb25l
bmQgd2hlblxuICAgICAgICAvLyBzd2l0Y2hpbmcgZm9jdXMgYmVmb3JlIGNvbmZpcm1pbmcgY29t
cG9zaXRpb24gY2hvaWNlXG4gICAgICAgIC8vIHRoaXMgYWxzbyBmaXhlcyB0aGUgaXNzdWUgd2hl
cmUgc29tZSBicm93c2VycyBlLmcuIGlPUyBDaHJvbWVcbiAgICAgICAgLy8gZmlyZXMgXCJjaGFu
Z2VcIiBpbnN0ZWFkIG9mIFwiaW5wdXRcIiBvbiBhdXRvY29tcGxldGUuXG4gICAgICAgIGVsLmFk
ZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIG9uQ29tcG9zaXRpb25FbmQpO1xuICAgICAgICBpZiAo
IWlzQW5kcm9pZCkge1xuICAgICAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NvbXBvc2l0aW9u
c3RhcnQnLCBvbkNvbXBvc2l0aW9uU3RhcnQpO1xuICAgICAgICAgIGVsLmFkZEV2ZW50TGlzdGVu
ZXIoJ2NvbXBvc2l0aW9uZW5kJywgb25Db21wb3NpdGlvbkVuZCk7XG4gICAgICAgIH1cbiAgICAg
ICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgIGlmIChpc0lFOSkge1xuICAgICAg
ICAgIGVsLnZtb2RlbCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4g
IGNvbXBvbmVudFVwZGF0ZWQ6IGZ1bmN0aW9uIGNvbXBvbmVudFVwZGF0ZWQgKGVsLCBiaW5kaW5n
LCB2bm9kZSkge1xuICAgIGlmICh2bm9kZS50YWcgPT09ICdzZWxlY3QnKSB7XG4gICAgICBzZXRT
ZWxlY3RlZChlbCwgYmluZGluZywgdm5vZGUuY29udGV4dCk7XG4gICAgICAvLyBpbiBjYXNlIHRo
ZSBvcHRpb25zIHJlbmRlcmVkIGJ5IHYtZm9yIGhhdmUgY2hhbmdlZCxcbiAgICAgIC8vIGl0J3Mg
cG9zc2libGUgdGhhdCB0aGUgdmFsdWUgaXMgb3V0LW9mLXN5bmMgd2l0aCB0aGUgcmVuZGVyZWQg
b3B0aW9ucy5cbiAgICAgIC8vIGRldGVjdCBzdWNoIGNhc2VzIGFuZCBmaWx0ZXIgb3V0IHZhbHVl
cyB0aGF0IG5vIGxvbmdlciBoYXMgYSBtYXRjaGluZ1xuICAgICAgLy8gb3B0aW9uIGluIHRoZSBE
T00uXG4gICAgICB2YXIgcHJldk9wdGlvbnMgPSBlbC5fdk9wdGlvbnM7XG4gICAgICB2YXIgY3Vy
T3B0aW9ucyA9IGVsLl92T3B0aW9ucyA9IFtdLm1hcC5jYWxsKGVsLm9wdGlvbnMsIGdldFZhbHVl
KTtcbiAgICAgIGlmIChjdXJPcHRpb25zLnNvbWUoZnVuY3Rpb24gKG8sIGkpIHsgcmV0dXJuICFs
b29zZUVxdWFsKG8sIHByZXZPcHRpb25zW2ldKTsgfSkpIHtcbiAgICAgICAgdHJpZ2dlcihlbCwg
J2NoYW5nZScpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufTtcblxuZnVuY3Rpb24gc2V0U2VsZWN0
ZWQgKGVsLCBiaW5kaW5nLCB2bSkge1xuICB2YXIgdmFsdWUgPSBiaW5kaW5nLnZhbHVlO1xuICB2
YXIgaXNNdWx0aXBsZSA9IGVsLm11bHRpcGxlO1xuICBpZiAoaXNNdWx0aXBsZSAmJiAhQXJyYXku
aXNBcnJheSh2YWx1ZSkpIHtcbiAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rp
b24nICYmIHdhcm4oXG4gICAgICBcIjxzZWxlY3QgbXVsdGlwbGUgdi1tb2RlbD1cXFwiXCIgKyAo
YmluZGluZy5leHByZXNzaW9uKSArIFwiXFxcIj4gXCIgK1xuICAgICAgXCJleHBlY3RzIGFuIEFy
cmF5IHZhbHVlIGZvciBpdHMgYmluZGluZywgYnV0IGdvdCBcIiArIChPYmplY3QucHJvdG90eXBl
LnRvU3RyaW5nLmNhbGwodmFsdWUpLnNsaWNlKDgsIC0xKSksXG4gICAgICB2bVxuICAgICk7XG4g
ICAgcmV0dXJuXG4gIH1cbiAgdmFyIHNlbGVjdGVkLCBvcHRpb247XG4gIGZvciAodmFyIGkgPSAw
LCBsID0gZWwub3B0aW9ucy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBvcHRpb24gPSBlbC5v
cHRpb25zW2ldO1xuICAgIGlmIChpc011bHRpcGxlKSB7XG4gICAgICBzZWxlY3RlZCA9IGxvb3Nl
SW5kZXhPZih2YWx1ZSwgZ2V0VmFsdWUob3B0aW9uKSkgPiAtMTtcbiAgICAgIGlmIChvcHRpb24u
c2VsZWN0ZWQgIT09IHNlbGVjdGVkKSB7XG4gICAgICAgIG9wdGlvbi5zZWxlY3RlZCA9IHNlbGVj
dGVkO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobG9vc2VFcXVhbChnZXRWYWx1
ZShvcHRpb24pLCB2YWx1ZSkpIHtcbiAgICAgICAgaWYgKGVsLnNlbGVjdGVkSW5kZXggIT09IGkp
IHtcbiAgICAgICAgICBlbC5zZWxlY3RlZEluZGV4ID0gaTtcbiAgICAgICAgfVxuICAgICAgICBy
ZXR1cm5cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaWYgKCFpc011bHRpcGxlKSB7XG4gICAgZWwu
c2VsZWN0ZWRJbmRleCA9IC0xO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFZhbHVlIChvcHRpb24p
IHtcbiAgcmV0dXJuICdfdmFsdWUnIGluIG9wdGlvblxuICAgID8gb3B0aW9uLl92YWx1ZVxuICAg
IDogb3B0aW9uLnZhbHVlXG59XG5cbmZ1bmN0aW9uIG9uQ29tcG9zaXRpb25TdGFydCAoZSkge1xu
ICBlLnRhcmdldC5jb21wb3NpbmcgPSB0cnVlO1xufVxuXG5mdW5jdGlvbiBvbkNvbXBvc2l0aW9u
RW5kIChlKSB7XG4gIC8vIHByZXZlbnQgdHJpZ2dlcmluZyBhbiBpbnB1dCBldmVudCBmb3Igbm8g
cmVhc29uXG4gIGlmICghZS50YXJnZXQuY29tcG9zaW5nKSB7IHJldHVybiB9XG4gIGUudGFyZ2V0
LmNvbXBvc2luZyA9IGZhbHNlO1xuICB0cmlnZ2VyKGUudGFyZ2V0LCAnaW5wdXQnKTtcbn1cblxu
ZnVuY3Rpb24gdHJpZ2dlciAoZWwsIHR5cGUpIHtcbiAgdmFyIGUgPSBkb2N1bWVudC5jcmVhdGVF
dmVudCgnSFRNTEV2ZW50cycpO1xuICBlLmluaXRFdmVudCh0eXBlLCB0cnVlLCB0cnVlKTtcbiAg
ZWwuZGlzcGF0Y2hFdmVudChlKTtcbn1cblxuLyogICovXG5cbi8vIHJlY3Vyc2l2ZWx5IHNlYXJj
aCBmb3IgcG9zc2libGUgdHJhbnNpdGlvbiBkZWZpbmVkIGluc2lkZSB0aGUgY29tcG9uZW50IHJv
b3RcbmZ1bmN0aW9uIGxvY2F0ZU5vZGUgKHZub2RlKSB7XG4gIHJldHVybiB2bm9kZS5jb21wb25l
bnRJbnN0YW5jZSAmJiAoIXZub2RlLmRhdGEgfHwgIXZub2RlLmRhdGEudHJhbnNpdGlvbilcbiAg
ICA/IGxvY2F0ZU5vZGUodm5vZGUuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlKVxuICAgIDogdm5v
ZGVcbn1cblxudmFyIHNob3cgPSB7XG4gIGJpbmQ6IGZ1bmN0aW9uIGJpbmQgKGVsLCByZWYsIHZu
b2RlKSB7XG4gICAgdmFyIHZhbHVlID0gcmVmLnZhbHVlO1xuXG4gICAgdm5vZGUgPSBsb2NhdGVO
b2RlKHZub2RlKTtcbiAgICB2YXIgdHJhbnNpdGlvbiQkMSA9IHZub2RlLmRhdGEgJiYgdm5vZGUu
ZGF0YS50cmFuc2l0aW9uO1xuICAgIHZhciBvcmlnaW5hbERpc3BsYXkgPSBlbC5fX3ZPcmlnaW5h
bERpc3BsYXkgPVxuICAgICAgZWwuc3R5bGUuZGlzcGxheSA9PT0gJ25vbmUnID8gJycgOiBlbC5z
dHlsZS5kaXNwbGF5O1xuICAgIGlmICh2YWx1ZSAmJiB0cmFuc2l0aW9uJCQxKSB7XG4gICAgICB2
bm9kZS5kYXRhLnNob3cgPSB0cnVlO1xuICAgICAgZW50ZXIodm5vZGUsIGZ1bmN0aW9uICgpIHtc
biAgICAgICAgZWwuc3R5bGUuZGlzcGxheSA9IG9yaWdpbmFsRGlzcGxheTtcbiAgICAgIH0pO1xu
ICAgIH0gZWxzZSB7XG4gICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gdmFsdWUgPyBvcmlnaW5hbERp
c3BsYXkgOiAnbm9uZSc7XG4gICAgfVxuICB9LFxuXG4gIHVwZGF0ZTogZnVuY3Rpb24gdXBkYXRl
IChlbCwgcmVmLCB2bm9kZSkge1xuICAgIHZhciB2YWx1ZSA9IHJlZi52YWx1ZTtcbiAgICB2YXIg
b2xkVmFsdWUgPSByZWYub2xkVmFsdWU7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9c
biAgICBpZiAodmFsdWUgPT09IG9sZFZhbHVlKSB7IHJldHVybiB9XG4gICAgdm5vZGUgPSBsb2Nh
dGVOb2RlKHZub2RlKTtcbiAgICB2YXIgdHJhbnNpdGlvbiQkMSA9IHZub2RlLmRhdGEgJiYgdm5v
ZGUuZGF0YS50cmFuc2l0aW9uO1xuICAgIGlmICh0cmFuc2l0aW9uJCQxKSB7XG4gICAgICB2bm9k
ZS5kYXRhLnNob3cgPSB0cnVlO1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIGVudGVyKHZu
b2RlLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgZWwuc3R5bGUuZGlzcGxheSA9IGVsLl9fdk9y
aWdpbmFsRGlzcGxheTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZWF2
ZSh2bm9kZSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSAnbm9u
ZSc7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBlbC5zdHlsZS5k
aXNwbGF5ID0gdmFsdWUgPyBlbC5fX3ZPcmlnaW5hbERpc3BsYXkgOiAnbm9uZSc7XG4gICAgfVxu
ICB9LFxuXG4gIHVuYmluZDogZnVuY3Rpb24gdW5iaW5kIChcbiAgICBlbCxcbiAgICBiaW5kaW5n
LFxuICAgIHZub2RlLFxuICAgIG9sZFZub2RlLFxuICAgIGlzRGVzdHJveVxuICApIHtcbiAgICBp
ZiAoIWlzRGVzdHJveSkge1xuICAgICAgZWwuc3R5bGUuZGlzcGxheSA9IGVsLl9fdk9yaWdpbmFs
RGlzcGxheTtcbiAgICB9XG4gIH1cbn07XG5cbnZhciBwbGF0Zm9ybURpcmVjdGl2ZXMgPSB7XG4g
IG1vZGVsOiBtb2RlbCQxLFxuICBzaG93OiBzaG93XG59O1xuXG4vKiAgKi9cblxuLy8gUHJvdmlk
ZXMgdHJhbnNpdGlvbiBzdXBwb3J0IGZvciBhIHNpbmdsZSBlbGVtZW50L2NvbXBvbmVudC5cbi8v
IHN1cHBvcnRzIHRyYW5zaXRpb24gbW9kZSAob3V0LWluIC8gaW4tb3V0KVxuXG52YXIgdHJhbnNp
dGlvblByb3BzID0ge1xuICBuYW1lOiBTdHJpbmcsXG4gIGFwcGVhcjogQm9vbGVhbixcbiAgY3Nz
OiBCb29sZWFuLFxuICBtb2RlOiBTdHJpbmcsXG4gIHR5cGU6IFN0cmluZyxcbiAgZW50ZXJDbGFz
czogU3RyaW5nLFxuICBsZWF2ZUNsYXNzOiBTdHJpbmcsXG4gIGVudGVyVG9DbGFzczogU3RyaW5n
LFxuICBsZWF2ZVRvQ2xhc3M6IFN0cmluZyxcbiAgZW50ZXJBY3RpdmVDbGFzczogU3RyaW5nLFxu
ICBsZWF2ZUFjdGl2ZUNsYXNzOiBTdHJpbmcsXG4gIGFwcGVhckNsYXNzOiBTdHJpbmcsXG4gIGFw
cGVhckFjdGl2ZUNsYXNzOiBTdHJpbmcsXG4gIGFwcGVhclRvQ2xhc3M6IFN0cmluZyxcbiAgZHVy
YXRpb246IFtOdW1iZXIsIFN0cmluZywgT2JqZWN0XVxufTtcblxuLy8gaW4gY2FzZSB0aGUgY2hp
bGQgaXMgYWxzbyBhbiBhYnN0cmFjdCBjb21wb25lbnQsIGUuZy4gPGtlZXAtYWxpdmU+XG4vLyB3
ZSB3YW50IHRvIHJlY3Vyc2l2ZWx5IHJldHJpZXZlIHRoZSByZWFsIGNvbXBvbmVudCB0byBiZSBy
ZW5kZXJlZFxuZnVuY3Rpb24gZ2V0UmVhbENoaWxkICh2bm9kZSkge1xuICB2YXIgY29tcE9wdGlv
bnMgPSB2bm9kZSAmJiB2bm9kZS5jb21wb25lbnRPcHRpb25zO1xuICBpZiAoY29tcE9wdGlvbnMg
JiYgY29tcE9wdGlvbnMuQ3Rvci5vcHRpb25zLmFic3RyYWN0KSB7XG4gICAgcmV0dXJuIGdldFJl
YWxDaGlsZChnZXRGaXJzdENvbXBvbmVudENoaWxkKGNvbXBPcHRpb25zLmNoaWxkcmVuKSlcbiAg
fSBlbHNlIHtcbiAgICByZXR1cm4gdm5vZGVcbiAgfVxufVxuXG5mdW5jdGlvbiBleHRyYWN0VHJh
bnNpdGlvbkRhdGEgKGNvbXApIHtcbiAgdmFyIGRhdGEgPSB7fTtcbiAgdmFyIG9wdGlvbnMgPSBj
b21wLiRvcHRpb25zO1xuICAvLyBwcm9wc1xuICBmb3IgKHZhciBrZXkgaW4gb3B0aW9ucy5wcm9w
c0RhdGEpIHtcbiAgICBkYXRhW2tleV0gPSBjb21wW2tleV07XG4gIH1cbiAgLy8gZXZlbnRzLlxu
ICAvLyBleHRyYWN0IGxpc3RlbmVycyBhbmQgcGFzcyB0aGVtIGRpcmVjdGx5IHRvIHRoZSB0cmFu
c2l0aW9uIG1ldGhvZHNcbiAgdmFyIGxpc3RlbmVycyA9IG9wdGlvbnMuX3BhcmVudExpc3RlbmVy
cztcbiAgZm9yICh2YXIga2V5JDEgaW4gbGlzdGVuZXJzKSB7XG4gICAgZGF0YVtjYW1lbGl6ZShr
ZXkkMSldID0gbGlzdGVuZXJzW2tleSQxXTtcbiAgfVxuICByZXR1cm4gZGF0YVxufVxuXG5mdW5j
dGlvbiBwbGFjZWhvbGRlciAoaCwgcmF3Q2hpbGQpIHtcbiAgaWYgKC9cXGQta2VlcC1hbGl2ZSQv
LnRlc3QocmF3Q2hpbGQudGFnKSkge1xuICAgIHJldHVybiBoKCdrZWVwLWFsaXZlJywge1xuICAg
ICAgcHJvcHM6IHJhd0NoaWxkLmNvbXBvbmVudE9wdGlvbnMucHJvcHNEYXRhXG4gICAgfSlcbiAg
fVxufVxuXG5mdW5jdGlvbiBoYXNQYXJlbnRUcmFuc2l0aW9uICh2bm9kZSkge1xuICB3aGlsZSAo
KHZub2RlID0gdm5vZGUucGFyZW50KSkge1xuICAgIGlmICh2bm9kZS5kYXRhLnRyYW5zaXRpb24p
IHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzU2FtZUNo
aWxkIChjaGlsZCwgb2xkQ2hpbGQpIHtcbiAgcmV0dXJuIG9sZENoaWxkLmtleSA9PT0gY2hpbGQu
a2V5ICYmIG9sZENoaWxkLnRhZyA9PT0gY2hpbGQudGFnXG59XG5cbmZ1bmN0aW9uIGlzQXN5bmNQ
bGFjZWhvbGRlciAobm9kZSkge1xuICByZXR1cm4gbm9kZS5pc0NvbW1lbnQgJiYgbm9kZS5hc3lu
Y0ZhY3Rvcnlcbn1cblxudmFyIFRyYW5zaXRpb24gPSB7XG4gIG5hbWU6ICd0cmFuc2l0aW9uJyxc
biAgcHJvcHM6IHRyYW5zaXRpb25Qcm9wcyxcbiAgYWJzdHJhY3Q6IHRydWUsXG5cbiAgcmVuZGVy
OiBmdW5jdGlvbiByZW5kZXIgKGgpIHtcbiAgICB2YXIgdGhpcyQxID0gdGhpcztcblxuICAgIHZh
ciBjaGlsZHJlbiA9IHRoaXMuJG9wdGlvbnMuX3JlbmRlckNoaWxkcmVuO1xuICAgIGlmICghY2hp
bGRyZW4pIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8vIGZpbHRlciBvdXQgdGV4dCBu
b2RlcyAocG9zc2libGUgd2hpdGVzcGFjZXMpXG4gICAgY2hpbGRyZW4gPSBjaGlsZHJlbi5maWx0
ZXIoZnVuY3Rpb24gKGMpIHsgcmV0dXJuIGMudGFnIHx8IGlzQXN5bmNQbGFjZWhvbGRlcihjKTsg
fSk7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCFjaGlsZHJlbi5sZW5n
dGgpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8vIHdhcm4gbXVsdGlwbGUgZWxlbWVu
dHNcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBjaGls
ZHJlbi5sZW5ndGggPiAxKSB7XG4gICAgICB3YXJuKFxuICAgICAgICAnPHRyYW5zaXRpb24+IGNh
biBvbmx5IGJlIHVzZWQgb24gYSBzaW5nbGUgZWxlbWVudC4gVXNlICcgK1xuICAgICAgICAnPHRy
YW5zaXRpb24tZ3JvdXA+IGZvciBsaXN0cy4nLFxuICAgICAgICB0aGlzLiRwYXJlbnRcbiAgICAg
ICk7XG4gICAgfVxuXG4gICAgdmFyIG1vZGUgPSB0aGlzLm1vZGU7XG5cbiAgICAvLyB3YXJuIGlu
dmFsaWQgbW9kZVxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24n
ICYmXG4gICAgICBtb2RlICYmIG1vZGUgIT09ICdpbi1vdXQnICYmIG1vZGUgIT09ICdvdXQtaW4n
XG4gICAgKSB7XG4gICAgICB3YXJuKFxuICAgICAgICAnaW52YWxpZCA8dHJhbnNpdGlvbj4gbW9k
ZTogJyArIG1vZGUsXG4gICAgICAgIHRoaXMuJHBhcmVudFxuICAgICAgKTtcbiAgICB9XG5cbiAg
ICB2YXIgcmF3Q2hpbGQgPSBjaGlsZHJlblswXTtcblxuICAgIC8vIGlmIHRoaXMgaXMgYSBjb21w
b25lbnQgcm9vdCBub2RlIGFuZCB0aGUgY29tcG9uZW50J3NcbiAgICAvLyBwYXJlbnQgY29udGFp
bmVyIG5vZGUgYWxzbyBoYXMgdHJhbnNpdGlvbiwgc2tpcC5cbiAgICBpZiAoaGFzUGFyZW50VHJh
bnNpdGlvbih0aGlzLiR2bm9kZSkpIHtcbiAgICAgIHJldHVybiByYXdDaGlsZFxuICAgIH1cblxu
ICAgIC8vIGFwcGx5IHRyYW5zaXRpb24gZGF0YSB0byBjaGlsZFxuICAgIC8vIHVzZSBnZXRSZWFs
Q2hpbGQoKSB0byBpZ25vcmUgYWJzdHJhY3QgY29tcG9uZW50cyBlLmcuIGtlZXAtYWxpdmVcbiAg
ICB2YXIgY2hpbGQgPSBnZXRSZWFsQ2hpbGQocmF3Q2hpbGQpO1xuICAgIC8qIGlzdGFuYnVsIGln
bm9yZSBpZiAqL1xuICAgIGlmICghY2hpbGQpIHtcbiAgICAgIHJldHVybiByYXdDaGlsZFxuICAg
IH1cblxuICAgIGlmICh0aGlzLl9sZWF2aW5nKSB7XG4gICAgICByZXR1cm4gcGxhY2Vob2xkZXIo
aCwgcmF3Q2hpbGQpXG4gICAgfVxuXG4gICAgLy8gZW5zdXJlIGEga2V5IHRoYXQgaXMgdW5pcXVl
IHRvIHRoZSB2bm9kZSB0eXBlIGFuZCB0byB0aGlzIHRyYW5zaXRpb25cbiAgICAvLyBjb21wb25l
bnQgaW5zdGFuY2UuIFRoaXMga2V5IHdpbGwgYmUgdXNlZCB0byByZW1vdmUgcGVuZGluZyBsZWF2
aW5nIG5vZGVzXG4gICAgLy8gZHVyaW5nIGVudGVyaW5nLlxuICAgIHZhciBpZCA9IFwiX190cmFu
c2l0aW9uLVwiICsgKHRoaXMuX3VpZCkgKyBcIi1cIjtcbiAgICBjaGlsZC5rZXkgPSBjaGlsZC5r
ZXkgPT0gbnVsbFxuICAgICAgPyBjaGlsZC5pc0NvbW1lbnRcbiAgICAgICAgPyBpZCArICdjb21t
ZW50J1xuICAgICAgICA6IGlkICsgY2hpbGQudGFnXG4gICAgICA6IGlzUHJpbWl0aXZlKGNoaWxk
LmtleSlcbiAgICAgICAgPyAoU3RyaW5nKGNoaWxkLmtleSkuaW5kZXhPZihpZCkgPT09IDAgPyBj
aGlsZC5rZXkgOiBpZCArIGNoaWxkLmtleSlcbiAgICAgICAgOiBjaGlsZC5rZXk7XG5cbiAgICB2
YXIgZGF0YSA9IChjaGlsZC5kYXRhIHx8IChjaGlsZC5kYXRhID0ge30pKS50cmFuc2l0aW9uID0g
ZXh0cmFjdFRyYW5zaXRpb25EYXRhKHRoaXMpO1xuICAgIHZhciBvbGRSYXdDaGlsZCA9IHRoaXMu
X3Zub2RlO1xuICAgIHZhciBvbGRDaGlsZCA9IGdldFJlYWxDaGlsZChvbGRSYXdDaGlsZCk7XG5c
biAgICAvLyBtYXJrIHYtc2hvd1xuICAgIC8vIHNvIHRoYXQgdGhlIHRyYW5zaXRpb24gbW9kdWxl
IGNhbiBoYW5kIG92ZXIgdGhlIGNvbnRyb2wgdG8gdGhlIGRpcmVjdGl2ZVxuICAgIGlmIChjaGls
ZC5kYXRhLmRpcmVjdGl2ZXMgJiYgY2hpbGQuZGF0YS5kaXJlY3RpdmVzLnNvbWUoZnVuY3Rpb24g
KGQpIHsgcmV0dXJuIGQubmFtZSA9PT0gJ3Nob3cnOyB9KSkge1xuICAgICAgY2hpbGQuZGF0YS5z
aG93ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBvbGRDaGlsZCAmJlxuICAgICAg
b2xkQ2hpbGQuZGF0YSAmJlxuICAgICAgIWlzU2FtZUNoaWxkKGNoaWxkLCBvbGRDaGlsZCkgJiZc
biAgICAgICFpc0FzeW5jUGxhY2Vob2xkZXIob2xkQ2hpbGQpXG4gICAgKSB7XG4gICAgICAvLyBy
ZXBsYWNlIG9sZCBjaGlsZCB0cmFuc2l0aW9uIGRhdGEgd2l0aCBmcmVzaCBvbmVcbiAgICAgIC8v
IGltcG9ydGFudCBmb3IgZHluYW1pYyB0cmFuc2l0aW9ucyFcbiAgICAgIHZhciBvbGREYXRhID0g
b2xkQ2hpbGQgJiYgKG9sZENoaWxkLmRhdGEudHJhbnNpdGlvbiA9IGV4dGVuZCh7fSwgZGF0YSkp
O1xuICAgICAgLy8gaGFuZGxlIHRyYW5zaXRpb24gbW9kZVxuICAgICAgaWYgKG1vZGUgPT09ICdv
dXQtaW4nKSB7XG4gICAgICAgIC8vIHJldHVybiBwbGFjZWhvbGRlciBub2RlIGFuZCBxdWV1ZSB1
cGRhdGUgd2hlbiBsZWF2ZSBmaW5pc2hlc1xuICAgICAgICB0aGlzLl9sZWF2aW5nID0gdHJ1ZTtc
biAgICAgICAgbWVyZ2VWTm9kZUhvb2sob2xkRGF0YSwgJ2FmdGVyTGVhdmUnLCBmdW5jdGlvbiAo
KSB7XG4gICAgICAgICAgdGhpcyQxLl9sZWF2aW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcyQx
LiRmb3JjZVVwZGF0ZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHBsYWNlaG9sZGVy
KGgsIHJhd0NoaWxkKVxuICAgICAgfSBlbHNlIGlmIChtb2RlID09PSAnaW4tb3V0Jykge1xuICAg
ICAgICBpZiAoaXNBc3luY1BsYWNlaG9sZGVyKGNoaWxkKSkge1xuICAgICAgICAgIHJldHVybiBv
bGRSYXdDaGlsZFxuICAgICAgICB9XG4gICAgICAgIHZhciBkZWxheWVkTGVhdmU7XG4gICAgICAg
IHZhciBwZXJmb3JtTGVhdmUgPSBmdW5jdGlvbiAoKSB7IGRlbGF5ZWRMZWF2ZSgpOyB9O1xuICAg
ICAgICBtZXJnZVZOb2RlSG9vayhkYXRhLCAnYWZ0ZXJFbnRlcicsIHBlcmZvcm1MZWF2ZSk7XG4g
ICAgICAgIG1lcmdlVk5vZGVIb29rKGRhdGEsICdlbnRlckNhbmNlbGxlZCcsIHBlcmZvcm1MZWF2
ZSk7XG4gICAgICAgIG1lcmdlVk5vZGVIb29rKG9sZERhdGEsICdkZWxheUxlYXZlJywgZnVuY3Rp
b24gKGxlYXZlKSB7IGRlbGF5ZWRMZWF2ZSA9IGxlYXZlOyB9KTtcbiAgICAgIH1cbiAgICB9XG5c
biAgICByZXR1cm4gcmF3Q2hpbGRcbiAgfVxufTtcblxuLyogICovXG5cbi8vIFByb3ZpZGVzIHRy
YW5zaXRpb24gc3VwcG9ydCBmb3IgbGlzdCBpdGVtcy5cbi8vIHN1cHBvcnRzIG1vdmUgdHJhbnNp
dGlvbnMgdXNpbmcgdGhlIEZMSVAgdGVjaG5pcXVlLlxuXG4vLyBCZWNhdXNlIHRoZSB2ZG9tJ3Mg
Y2hpbGRyZW4gdXBkYXRlIGFsZ29yaXRobSBpcyBcInVuc3RhYmxlXCIgLSBpLmUuXG4vLyBpdCBk
b2Vzbid0IGd1YXJhbnRlZSB0aGUgcmVsYXRpdmUgcG9zaXRpb25pbmcgb2YgcmVtb3ZlZCBlbGVt
ZW50cyxcbi8vIHdlIGZvcmNlIHRyYW5zaXRpb24tZ3JvdXAgdG8gdXBkYXRlIGl0cyBjaGlsZHJl
biBpbnRvIHR3byBwYXNzZXM6XG4vLyBpbiB0aGUgZmlyc3QgcGFzcywgd2UgcmVtb3ZlIGFsbCBu
b2RlcyB0aGF0IG5lZWQgdG8gYmUgcmVtb3ZlZCxcbi8vIHRyaWdnZXJpbmcgdGhlaXIgbGVhdmlu
ZyB0cmFuc2l0aW9uOyBpbiB0aGUgc2Vjb25kIHBhc3MsIHdlIGluc2VydC9tb3ZlXG4vLyBpbnRv
IHRoZSBmaW5hbCBkZXNpcmVkIHN0YXRlLiBUaGlzIHdheSBpbiB0aGUgc2Vjb25kIHBhc3MgcmVt
b3ZlZFxuLy8gbm9kZXMgd2lsbCByZW1haW4gd2hlcmUgdGhleSBzaG91bGQgYmUuXG5cbnZhciBw
cm9wcyA9IGV4dGVuZCh7XG4gIHRhZzogU3RyaW5nLFxuICBtb3ZlQ2xhc3M6IFN0cmluZ1xufSwg
dHJhbnNpdGlvblByb3BzKTtcblxuZGVsZXRlIHByb3BzLm1vZGU7XG5cbnZhciBUcmFuc2l0aW9u
R3JvdXAgPSB7XG4gIHByb3BzOiBwcm9wcyxcblxuICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlciAo
aCkge1xuICAgIHZhciB0YWcgPSB0aGlzLnRhZyB8fCB0aGlzLiR2bm9kZS5kYXRhLnRhZyB8fCAn
c3Bhbic7XG4gICAgdmFyIG1hcCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgdmFyIHByZXZD
aGlsZHJlbiA9IHRoaXMucHJldkNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbjtcbiAgICB2YXIgcmF3
Q2hpbGRyZW4gPSB0aGlzLiRzbG90cy5kZWZhdWx0IHx8IFtdO1xuICAgIHZhciBjaGlsZHJlbiA9
IHRoaXMuY2hpbGRyZW4gPSBbXTtcbiAgICB2YXIgdHJhbnNpdGlvbkRhdGEgPSBleHRyYWN0VHJh
bnNpdGlvbkRhdGEodGhpcyk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJhd0NoaWxkcmVu
Lmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgYyA9IHJhd0NoaWxkcmVuW2ldO1xuICAgICAgaWYg
KGMudGFnKSB7XG4gICAgICAgIGlmIChjLmtleSAhPSBudWxsICYmIFN0cmluZyhjLmtleSkuaW5k
ZXhPZignX192bGlzdCcpICE9PSAwKSB7XG4gICAgICAgICAgY2hpbGRyZW4ucHVzaChjKTtcbiAg
ICAgICAgICBtYXBbYy5rZXldID0gY1xuICAgICAgICAgIDsoYy5kYXRhIHx8IChjLmRhdGEgPSB7
fSkpLnRyYW5zaXRpb24gPSB0cmFuc2l0aW9uRGF0YTtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9j
ZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgdmFyIG9wdHMg
PSBjLmNvbXBvbmVudE9wdGlvbnM7XG4gICAgICAgICAgdmFyIG5hbWUgPSBvcHRzID8gKG9wdHMu
Q3Rvci5vcHRpb25zLm5hbWUgfHwgb3B0cy50YWcgfHwgJycpIDogYy50YWc7XG4gICAgICAgICAg
d2FybigoXCI8dHJhbnNpdGlvbi1ncm91cD4gY2hpbGRyZW4gbXVzdCBiZSBrZXllZDogPFwiICsg
bmFtZSArIFwiPlwiKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocHJl
dkNoaWxkcmVuKSB7XG4gICAgICB2YXIga2VwdCA9IFtdO1xuICAgICAgdmFyIHJlbW92ZWQgPSBb
XTtcbiAgICAgIGZvciAodmFyIGkkMSA9IDA7IGkkMSA8IHByZXZDaGlsZHJlbi5sZW5ndGg7IGkk
MSsrKSB7XG4gICAgICAgIHZhciBjJDEgPSBwcmV2Q2hpbGRyZW5baSQxXTtcbiAgICAgICAgYyQx
LmRhdGEudHJhbnNpdGlvbiA9IHRyYW5zaXRpb25EYXRhO1xuICAgICAgICBjJDEuZGF0YS5wb3Mg
PSBjJDEuZWxtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBpZiAobWFwW2MkMS5r
ZXldKSB7XG4gICAgICAgICAga2VwdC5wdXNoKGMkMSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAg
ICAgICAgcmVtb3ZlZC5wdXNoKGMkMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMu
a2VwdCA9IGgodGFnLCBudWxsLCBrZXB0KTtcbiAgICAgIHRoaXMucmVtb3ZlZCA9IHJlbW92ZWQ7
XG4gICAgfVxuXG4gICAgcmV0dXJuIGgodGFnLCBudWxsLCBjaGlsZHJlbilcbiAgfSxcblxuICBi
ZWZvcmVVcGRhdGU6IGZ1bmN0aW9uIGJlZm9yZVVwZGF0ZSAoKSB7XG4gICAgLy8gZm9yY2UgcmVt
b3ZpbmcgcGFzc1xuICAgIHRoaXMuX19wYXRjaF9fKFxuICAgICAgdGhpcy5fdm5vZGUsXG4gICAg
ICB0aGlzLmtlcHQsXG4gICAgICBmYWxzZSwgLy8gaHlkcmF0aW5nXG4gICAgICB0cnVlIC8vIHJl
bW92ZU9ubHkgKCFpbXBvcnRhbnQsIGF2b2lkcyB1bm5lY2Vzc2FyeSBtb3ZlcylcbiAgICApO1xu
ICAgIHRoaXMuX3Zub2RlID0gdGhpcy5rZXB0O1xuICB9LFxuXG4gIHVwZGF0ZWQ6IGZ1bmN0aW9u
IHVwZGF0ZWQgKCkge1xuICAgIHZhciBjaGlsZHJlbiA9IHRoaXMucHJldkNoaWxkcmVuO1xuICAg
IHZhciBtb3ZlQ2xhc3MgPSB0aGlzLm1vdmVDbGFzcyB8fCAoKHRoaXMubmFtZSB8fCAndicpICsg
Jy1tb3ZlJyk7XG4gICAgaWYgKCFjaGlsZHJlbi5sZW5ndGggfHwgIXRoaXMuaGFzTW92ZShjaGls
ZHJlblswXS5lbG0sIG1vdmVDbGFzcykpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8v
IHdlIGRpdmlkZSB0aGUgd29yayBpbnRvIHRocmVlIGxvb3BzIHRvIGF2b2lkIG1peGluZyBET00g
cmVhZHMgYW5kIHdyaXRlc1xuICAgIC8vIGluIGVhY2ggaXRlcmF0aW9uIC0gd2hpY2ggaGVscHMg
cHJldmVudCBsYXlvdXQgdGhyYXNoaW5nLlxuICAgIGNoaWxkcmVuLmZvckVhY2goY2FsbFBlbmRp
bmdDYnMpO1xuICAgIGNoaWxkcmVuLmZvckVhY2gocmVjb3JkUG9zaXRpb24pO1xuICAgIGNoaWxk
cmVuLmZvckVhY2goYXBwbHlUcmFuc2xhdGlvbik7XG5cbiAgICAvLyBmb3JjZSByZWZsb3cgdG8g
cHV0IGV2ZXJ5dGhpbmcgaW4gcG9zaXRpb25cbiAgICB2YXIgYm9keSA9IGRvY3VtZW50LmJvZHk7
XG4gICAgdmFyIGYgPSBib2R5Lm9mZnNldEhlaWdodDsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxu
XG4gICAgY2hpbGRyZW4uZm9yRWFjaChmdW5jdGlvbiAoYykge1xuICAgICAgaWYgKGMuZGF0YS5t
b3ZlZCkge1xuICAgICAgICB2YXIgZWwgPSBjLmVsbTtcbiAgICAgICAgdmFyIHMgPSBlbC5zdHls
ZTtcbiAgICAgICAgYWRkVHJhbnNpdGlvbkNsYXNzKGVsLCBtb3ZlQ2xhc3MpO1xuICAgICAgICBz
LnRyYW5zZm9ybSA9IHMuV2Via2l0VHJhbnNmb3JtID0gcy50cmFuc2l0aW9uRHVyYXRpb24gPSAn
JztcbiAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcih0cmFuc2l0aW9uRW5kRXZlbnQsIGVsLl9t
b3ZlQ2IgPSBmdW5jdGlvbiBjYiAoZSkge1xuICAgICAgICAgIGlmICghZSB8fCAvdHJhbnNmb3Jt
JC8udGVzdChlLnByb3BlcnR5TmFtZSkpIHtcbiAgICAgICAgICAgIGVsLnJlbW92ZUV2ZW50TGlz
dGVuZXIodHJhbnNpdGlvbkVuZEV2ZW50LCBjYik7XG4gICAgICAgICAgICBlbC5fbW92ZUNiID0g
bnVsbDtcbiAgICAgICAgICAgIHJlbW92ZVRyYW5zaXRpb25DbGFzcyhlbCwgbW92ZUNsYXNzKTtc
biAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9LFxuXG4gIG1l
dGhvZHM6IHtcbiAgICBoYXNNb3ZlOiBmdW5jdGlvbiBoYXNNb3ZlIChlbCwgbW92ZUNsYXNzKSB7
XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlmICghaGFzVHJhbnNpdGlv
bikge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICAgIC8qIGlzdGFuYnVsIGln
bm9yZSBpZiAqL1xuICAgICAgaWYgKHRoaXMuX2hhc01vdmUpIHtcbiAgICAgICAgcmV0dXJuIHRo
aXMuX2hhc01vdmVcbiAgICAgIH1cbiAgICAgIC8vIERldGVjdCB3aGV0aGVyIGFuIGVsZW1lbnQg
d2l0aCB0aGUgbW92ZSBjbGFzcyBhcHBsaWVkIGhhc1xuICAgICAgLy8gQ1NTIHRyYW5zaXRpb25z
LiBTaW5jZSB0aGUgZWxlbWVudCBtYXkgYmUgaW5zaWRlIGFuIGVudGVyaW5nXG4gICAgICAvLyB0
cmFuc2l0aW9uIGF0IHRoaXMgdmVyeSBtb21lbnQsIHdlIG1ha2UgYSBjbG9uZSBvZiBpdCBhbmQg
cmVtb3ZlXG4gICAgICAvLyBhbGwgb3RoZXIgdHJhbnNpdGlvbiBjbGFzc2VzIGFwcGxpZWQgdG8g
ZW5zdXJlIG9ubHkgdGhlIG1vdmUgY2xhc3NcbiAgICAgIC8vIGlzIGFwcGxpZWQuXG4gICAgICB2
YXIgY2xvbmUgPSBlbC5jbG9uZU5vZGUoKTtcbiAgICAgIGlmIChlbC5fdHJhbnNpdGlvbkNsYXNz
ZXMpIHtcbiAgICAgICAgZWwuX3RyYW5zaXRpb25DbGFzc2VzLmZvckVhY2goZnVuY3Rpb24gKGNs
cykgeyByZW1vdmVDbGFzcyhjbG9uZSwgY2xzKTsgfSk7XG4gICAgICB9XG4gICAgICBhZGRDbGFz
cyhjbG9uZSwgbW92ZUNsYXNzKTtcbiAgICAgIGNsb25lLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7
XG4gICAgICB0aGlzLiRlbC5hcHBlbmRDaGlsZChjbG9uZSk7XG4gICAgICB2YXIgaW5mbyA9IGdl
dFRyYW5zaXRpb25JbmZvKGNsb25lKTtcbiAgICAgIHRoaXMuJGVsLnJlbW92ZUNoaWxkKGNsb25l
KTtcbiAgICAgIHJldHVybiAodGhpcy5faGFzTW92ZSA9IGluZm8uaGFzVHJhbnNmb3JtKVxuICAg
IH1cbiAgfVxufTtcblxuZnVuY3Rpb24gY2FsbFBlbmRpbmdDYnMgKGMpIHtcbiAgLyogaXN0YW5i
dWwgaWdub3JlIGlmICovXG4gIGlmIChjLmVsbS5fbW92ZUNiKSB7XG4gICAgYy5lbG0uX21vdmVD
YigpO1xuICB9XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoYy5lbG0uX2VudGVy
Q2IpIHtcbiAgICBjLmVsbS5fZW50ZXJDYigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlY29yZFBv
c2l0aW9uIChjKSB7XG4gIGMuZGF0YS5uZXdQb3MgPSBjLmVsbS5nZXRCb3VuZGluZ0NsaWVudFJl
Y3QoKTtcbn1cblxuZnVuY3Rpb24gYXBwbHlUcmFuc2xhdGlvbiAoYykge1xuICB2YXIgb2xkUG9z
ID0gYy5kYXRhLnBvcztcbiAgdmFyIG5ld1BvcyA9IGMuZGF0YS5uZXdQb3M7XG4gIHZhciBkeCA9
IG9sZFBvcy5sZWZ0IC0gbmV3UG9zLmxlZnQ7XG4gIHZhciBkeSA9IG9sZFBvcy50b3AgLSBuZXdQ
b3MudG9wO1xuICBpZiAoZHggfHwgZHkpIHtcbiAgICBjLmRhdGEubW92ZWQgPSB0cnVlO1xuICAg
IHZhciBzID0gYy5lbG0uc3R5bGU7XG4gICAgcy50cmFuc2Zvcm0gPSBzLldlYmtpdFRyYW5zZm9y
bSA9IFwidHJhbnNsYXRlKFwiICsgZHggKyBcInB4LFwiICsgZHkgKyBcInB4KVwiO1xuICAgIHMu
dHJhbnNpdGlvbkR1cmF0aW9uID0gJzBzJztcbiAgfVxufVxuXG52YXIgcGxhdGZvcm1Db21wb25l
bnRzID0ge1xuICBUcmFuc2l0aW9uOiBUcmFuc2l0aW9uLFxuICBUcmFuc2l0aW9uR3JvdXA6IFRy
YW5zaXRpb25Hcm91cFxufTtcblxuLyogICovXG5cbi8vIGluc3RhbGwgcGxhdGZvcm0gc3BlY2lm
aWMgdXRpbHNcblZ1ZSQzLmNvbmZpZy5tdXN0VXNlUHJvcCA9IG11c3RVc2VQcm9wO1xuVnVlJDMu
Y29uZmlnLmlzUmVzZXJ2ZWRUYWcgPSBpc1Jlc2VydmVkVGFnO1xuVnVlJDMuY29uZmlnLmlzUmVz
ZXJ2ZWRBdHRyID0gaXNSZXNlcnZlZEF0dHI7XG5WdWUkMy5jb25maWcuZ2V0VGFnTmFtZXNwYWNl
ID0gZ2V0VGFnTmFtZXNwYWNlO1xuVnVlJDMuY29uZmlnLmlzVW5rbm93bkVsZW1lbnQgPSBpc1Vu
a25vd25FbGVtZW50O1xuXG4vLyBpbnN0YWxsIHBsYXRmb3JtIHJ1bnRpbWUgZGlyZWN0aXZlcyAm
IGNvbXBvbmVudHNcbmV4dGVuZChWdWUkMy5vcHRpb25zLmRpcmVjdGl2ZXMsIHBsYXRmb3JtRGly
ZWN0aXZlcyk7XG5leHRlbmQoVnVlJDMub3B0aW9ucy5jb21wb25lbnRzLCBwbGF0Zm9ybUNvbXBv
bmVudHMpO1xuXG4vLyBpbnN0YWxsIHBsYXRmb3JtIHBhdGNoIGZ1bmN0aW9uXG5WdWUkMy5wcm90
b3R5cGUuX19wYXRjaF9fID0gaW5Ccm93c2VyID8gcGF0Y2ggOiBub29wO1xuXG4vLyBwdWJsaWMg
bW91bnQgbWV0aG9kXG5WdWUkMy5wcm90b3R5cGUuJG1vdW50ID0gZnVuY3Rpb24gKFxuICBlbCxc
biAgaHlkcmF0aW5nXG4pIHtcbiAgZWwgPSBlbCAmJiBpbkJyb3dzZXIgPyBxdWVyeShlbCkgOiB1
bmRlZmluZWQ7XG4gIHJldHVybiBtb3VudENvbXBvbmVudCh0aGlzLCBlbCwgaHlkcmF0aW5nKVxu
fTtcblxuLy8gZGV2dG9vbHMgZ2xvYmFsIGhvb2tcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICov
XG5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgaWYgKGNvbmZpZy5kZXZ0b29scykge1xuICAg
IGlmIChkZXZ0b29scykge1xuICAgICAgZGV2dG9vbHMuZW1pdCgnaW5pdCcsIFZ1ZSQzKTtcbiAg
ICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgaXND
aHJvbWUpIHtcbiAgICAgIGNvbnNvbGVbY29uc29sZS5pbmZvID8gJ2luZm8nIDogJ2xvZyddKFxu
ICAgICAgICAnRG93bmxvYWQgdGhlIFZ1ZSBEZXZ0b29scyBleHRlbnNpb24gZm9yIGEgYmV0dGVy
IGRldmVsb3BtZW50IGV4cGVyaWVuY2U6XFxuJyArXG4gICAgICAgICdodHRwczovL2dpdGh1Yi5j
b20vdnVlanMvdnVlLWRldnRvb2xzJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgaWYgKHByb2Nl
c3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZcbiAgICBjb25maWcucHJvZHVjdGlv
blRpcCAhPT0gZmFsc2UgJiZcbiAgICBpbkJyb3dzZXIgJiYgdHlwZW9mIGNvbnNvbGUgIT09ICd1
bmRlZmluZWQnXG4gICkge1xuICAgIGNvbnNvbGVbY29uc29sZS5pbmZvID8gJ2luZm8nIDogJ2xv
ZyddKFxuICAgICAgXCJZb3UgYXJlIHJ1bm5pbmcgVnVlIGluIGRldmVsb3BtZW50IG1vZGUuXFxu
XCIgK1xuICAgICAgXCJNYWtlIHN1cmUgdG8gdHVybiBvbiBwcm9kdWN0aW9uIG1vZGUgd2hlbiBk
ZXBsb3lpbmcgZm9yIHByb2R1Y3Rpb24uXFxuXCIgK1xuICAgICAgXCJTZWUgbW9yZSB0aXBzIGF0
IGh0dHBzOi8vdnVlanMub3JnL2d1aWRlL2RlcGxveW1lbnQuaHRtbFwiXG4gICAgKTtcbiAgfVxu
fSwgMCk7XG5cbi8qICAqL1xuXG4vLyBjaGVjayB3aGV0aGVyIGN1cnJlbnQgYnJvd3NlciBlbmNv
ZGVzIGEgY2hhciBpbnNpZGUgYXR0cmlidXRlIHZhbHVlc1xuZnVuY3Rpb24gc2hvdWxkRGVjb2Rl
IChjb250ZW50LCBlbmNvZGVkKSB7XG4gIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdkaXYnKTtcbiAgZGl2LmlubmVySFRNTCA9IFwiPGRpdiBhPVxcXCJcIiArIGNvbnRlbnQgKyBc
IlxcXCIvPlwiO1xuICByZXR1cm4gZGl2LmlubmVySFRNTC5pbmRleE9mKGVuY29kZWQpID4gMFxu
fVxuXG4vLyAjMzY2M1xuLy8gSUUgZW5jb2RlcyBuZXdsaW5lcyBpbnNpZGUgYXR0cmlidXRlIHZh
bHVlcyB3aGlsZSBvdGhlciBicm93c2VycyBkb24ndFxudmFyIHNob3VsZERlY29kZU5ld2xpbmVz
ID0gaW5Ccm93c2VyID8gc2hvdWxkRGVjb2RlKCdcXG4nLCAnJiMxMDsnKSA6IGZhbHNlO1xuXG4v
KiAgKi9cblxudmFyIGRlZmF1bHRUYWdSRSA9IC9cXHtcXHsoKD86LnxcXG4pKz8pXFx9XFx9L2c7
XG52YXIgcmVnZXhFc2NhcGVSRSA9IC9bLS4qKz9eJHt9KCl8W1xcXVxcL1xcXFxdL2c7XG5cbnZh
ciBidWlsZFJlZ2V4ID0gY2FjaGVkKGZ1bmN0aW9uIChkZWxpbWl0ZXJzKSB7XG4gIHZhciBvcGVu
ID0gZGVsaW1pdGVyc1swXS5yZXBsYWNlKHJlZ2V4RXNjYXBlUkUsICdcXFxcJCYnKTtcbiAgdmFy
IGNsb3NlID0gZGVsaW1pdGVyc1sxXS5yZXBsYWNlKHJlZ2V4RXNjYXBlUkUsICdcXFxcJCYnKTtc
biAgcmV0dXJuIG5ldyBSZWdFeHAob3BlbiArICcoKD86LnxcXFxcbikrPyknICsgY2xvc2UsICdn
Jylcbn0pO1xuXG5mdW5jdGlvbiBwYXJzZVRleHQgKFxuICB0ZXh0LFxuICBkZWxpbWl0ZXJzXG4p
IHtcbiAgdmFyIHRhZ1JFID0gZGVsaW1pdGVycyA/IGJ1aWxkUmVnZXgoZGVsaW1pdGVycykgOiBk
ZWZhdWx0VGFnUkU7XG4gIGlmICghdGFnUkUudGVzdCh0ZXh0KSkge1xuICAgIHJldHVyblxuICB9
XG4gIHZhciB0b2tlbnMgPSBbXTtcbiAgdmFyIGxhc3RJbmRleCA9IHRhZ1JFLmxhc3RJbmRleCA9
IDA7XG4gIHZhciBtYXRjaCwgaW5kZXg7XG4gIHdoaWxlICgobWF0Y2ggPSB0YWdSRS5leGVjKHRl
eHQpKSkge1xuICAgIGluZGV4ID0gbWF0Y2guaW5kZXg7XG4gICAgLy8gcHVzaCB0ZXh0IHRva2Vu
XG4gICAgaWYgKGluZGV4ID4gbGFzdEluZGV4KSB7XG4gICAgICB0b2tlbnMucHVzaChKU09OLnN0
cmluZ2lmeSh0ZXh0LnNsaWNlKGxhc3RJbmRleCwgaW5kZXgpKSk7XG4gICAgfVxuICAgIC8vIHRh
ZyB0b2tlblxuICAgIHZhciBleHAgPSBwYXJzZUZpbHRlcnMobWF0Y2hbMV0udHJpbSgpKTtcbiAg
ICB0b2tlbnMucHVzaCgoXCJfcyhcIiArIGV4cCArIFwiKVwiKSk7XG4gICAgbGFzdEluZGV4ID0g
aW5kZXggKyBtYXRjaFswXS5sZW5ndGg7XG4gIH1cbiAgaWYgKGxhc3RJbmRleCA8IHRleHQubGVu
Z3RoKSB7XG4gICAgdG9rZW5zLnB1c2goSlNPTi5zdHJpbmdpZnkodGV4dC5zbGljZShsYXN0SW5k
ZXgpKSk7XG4gIH1cbiAgcmV0dXJuIHRva2Vucy5qb2luKCcrJylcbn1cblxuLyogICovXG5cbmZ1
bmN0aW9uIHRyYW5zZm9ybU5vZGUgKGVsLCBvcHRpb25zKSB7XG4gIHZhciB3YXJuID0gb3B0aW9u
cy53YXJuIHx8IGJhc2VXYXJuO1xuICB2YXIgc3RhdGljQ2xhc3MgPSBnZXRBbmRSZW1vdmVBdHRy
KGVsLCAnY2xhc3MnKTtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlv
bicgJiYgc3RhdGljQ2xhc3MpIHtcbiAgICB2YXIgZXhwcmVzc2lvbiA9IHBhcnNlVGV4dChzdGF0
aWNDbGFzcywgb3B0aW9ucy5kZWxpbWl0ZXJzKTtcbiAgICBpZiAoZXhwcmVzc2lvbikge1xuICAg
ICAgd2FybihcbiAgICAgICAgXCJjbGFzcz1cXFwiXCIgKyBzdGF0aWNDbGFzcyArIFwiXFxcIjog
XCIgK1xuICAgICAgICAnSW50ZXJwb2xhdGlvbiBpbnNpZGUgYXR0cmlidXRlcyBoYXMgYmVlbiBy
ZW1vdmVkLiAnICtcbiAgICAgICAgJ1VzZSB2LWJpbmQgb3IgdGhlIGNvbG9uIHNob3J0aGFuZCBp
bnN0ZWFkLiBGb3IgZXhhbXBsZSwgJyArXG4gICAgICAgICdpbnN0ZWFkIG9mIDxkaXYgY2xhc3M9
XCJ7eyB2YWwgfX1cIj4sIHVzZSA8ZGl2IDpjbGFzcz1cInZhbFwiPi4nXG4gICAgICApO1xuICAg
IH1cbiAgfVxuICBpZiAoc3RhdGljQ2xhc3MpIHtcbiAgICBlbC5zdGF0aWNDbGFzcyA9IEpTT04u
c3RyaW5naWZ5KHN0YXRpY0NsYXNzKTtcbiAgfVxuICB2YXIgY2xhc3NCaW5kaW5nID0gZ2V0Qmlu
ZGluZ0F0dHIoZWwsICdjbGFzcycsIGZhbHNlIC8qIGdldFN0YXRpYyAqLyk7XG4gIGlmIChjbGFz
c0JpbmRpbmcpIHtcbiAgICBlbC5jbGFzc0JpbmRpbmcgPSBjbGFzc0JpbmRpbmc7XG4gIH1cbn1c
blxuZnVuY3Rpb24gZ2VuRGF0YSAoZWwpIHtcbiAgdmFyIGRhdGEgPSAnJztcbiAgaWYgKGVsLnN0
YXRpY0NsYXNzKSB7XG4gICAgZGF0YSArPSBcInN0YXRpY0NsYXNzOlwiICsgKGVsLnN0YXRpY0Ns
YXNzKSArIFwiLFwiO1xuICB9XG4gIGlmIChlbC5jbGFzc0JpbmRpbmcpIHtcbiAgICBkYXRhICs9
IFwiY2xhc3M6XCIgKyAoZWwuY2xhc3NCaW5kaW5nKSArIFwiLFwiO1xuICB9XG4gIHJldHVybiBk
YXRhXG59XG5cbnZhciBrbGFzcyQxID0ge1xuICBzdGF0aWNLZXlzOiBbJ3N0YXRpY0NsYXNzJ10s
XG4gIHRyYW5zZm9ybU5vZGU6IHRyYW5zZm9ybU5vZGUsXG4gIGdlbkRhdGE6IGdlbkRhdGFcbn07
XG5cbi8qICAqL1xuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Ob2RlJDEgKGVsLCBvcHRpb25zKSB7XG4g
IHZhciB3YXJuID0gb3B0aW9ucy53YXJuIHx8IGJhc2VXYXJuO1xuICB2YXIgc3RhdGljU3R5bGUg
PSBnZXRBbmRSZW1vdmVBdHRyKGVsLCAnc3R5bGUnKTtcbiAgaWYgKHN0YXRpY1N0eWxlKSB7XG4g
ICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5W
ICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIHZhciBleHByZXNzaW9uID0gcGFyc2VUZXh0KHN0
YXRpY1N0eWxlLCBvcHRpb25zLmRlbGltaXRlcnMpO1xuICAgICAgaWYgKGV4cHJlc3Npb24pIHtc
biAgICAgICAgd2FybihcbiAgICAgICAgICBcInN0eWxlPVxcXCJcIiArIHN0YXRpY1N0eWxlICsg
XCJcXFwiOiBcIiArXG4gICAgICAgICAgJ0ludGVycG9sYXRpb24gaW5zaWRlIGF0dHJpYnV0ZXMg
aGFzIGJlZW4gcmVtb3ZlZC4gJyArXG4gICAgICAgICAgJ1VzZSB2LWJpbmQgb3IgdGhlIGNvbG9u
IHNob3J0aGFuZCBpbnN0ZWFkLiBGb3IgZXhhbXBsZSwgJyArXG4gICAgICAgICAgJ2luc3RlYWQg
b2YgPGRpdiBzdHlsZT1cInt7IHZhbCB9fVwiPiwgdXNlIDxkaXYgOnN0eWxlPVwidmFsXCI+Lidc
biAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZWwuc3RhdGljU3R5bGUgPSBKU09OLnN0
cmluZ2lmeShwYXJzZVN0eWxlVGV4dChzdGF0aWNTdHlsZSkpO1xuICB9XG5cbiAgdmFyIHN0eWxl
QmluZGluZyA9IGdldEJpbmRpbmdBdHRyKGVsLCAnc3R5bGUnLCBmYWxzZSAvKiBnZXRTdGF0aWMg
Ki8pO1xuICBpZiAoc3R5bGVCaW5kaW5nKSB7XG4gICAgZWwuc3R5bGVCaW5kaW5nID0gc3R5bGVC
aW5kaW5nO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdlbkRhdGEkMSAoZWwpIHtcbiAgdmFyIGRhdGEg
PSAnJztcbiAgaWYgKGVsLnN0YXRpY1N0eWxlKSB7XG4gICAgZGF0YSArPSBcInN0YXRpY1N0eWxl
OlwiICsgKGVsLnN0YXRpY1N0eWxlKSArIFwiLFwiO1xuICB9XG4gIGlmIChlbC5zdHlsZUJpbmRp
bmcpIHtcbiAgICBkYXRhICs9IFwic3R5bGU6KFwiICsgKGVsLnN0eWxlQmluZGluZykgKyBcIiks
XCI7XG4gIH1cbiAgcmV0dXJuIGRhdGFcbn1cblxudmFyIHN0eWxlJDEgPSB7XG4gIHN0YXRpY0tl
eXM6IFsnc3RhdGljU3R5bGUnXSxcbiAgdHJhbnNmb3JtTm9kZTogdHJhbnNmb3JtTm9kZSQxLFxu
ICBnZW5EYXRhOiBnZW5EYXRhJDFcbn07XG5cbnZhciBtb2R1bGVzJDEgPSBbXG4gIGtsYXNzJDEs
XG4gIHN0eWxlJDFcbl07XG5cbi8qICAqL1xuXG5mdW5jdGlvbiB0ZXh0IChlbCwgZGlyKSB7XG4g
IGlmIChkaXIudmFsdWUpIHtcbiAgICBhZGRQcm9wKGVsLCAndGV4dENvbnRlbnQnLCAoXCJfcyhc
IiArIChkaXIudmFsdWUpICsgXCIpXCIpKTtcbiAgfVxufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24g
aHRtbCAoZWwsIGRpcikge1xuICBpZiAoZGlyLnZhbHVlKSB7XG4gICAgYWRkUHJvcChlbCwgJ2lu
bmVySFRNTCcsIChcIl9zKFwiICsgKGRpci52YWx1ZSkgKyBcIilcIikpO1xuICB9XG59XG5cbnZh
ciBkaXJlY3RpdmVzJDEgPSB7XG4gIG1vZGVsOiBtb2RlbCxcbiAgdGV4dDogdGV4dCxcbiAgaHRt
bDogaHRtbFxufTtcblxuLyogICovXG5cbnZhciBpc1VuYXJ5VGFnID0gbWFrZU1hcChcbiAgJ2Fy
ZWEsYmFzZSxicixjb2wsZW1iZWQsZnJhbWUsaHIsaW1nLGlucHV0LGlzaW5kZXgsa2V5Z2VuLCcg
K1xuICAnbGluayxtZXRhLHBhcmFtLHNvdXJjZSx0cmFjayx3YnInXG4pO1xuXG4vLyBFbGVtZW50
cyB0aGF0IHlvdSBjYW4sIGludGVudGlvbmFsbHksIGxlYXZlIG9wZW5cbi8vIChhbmQgd2hpY2gg
Y2xvc2UgdGhlbXNlbHZlcylcbnZhciBjYW5CZUxlZnRPcGVuVGFnID0gbWFrZU1hcChcbiAgJ2Nv
bGdyb3VwLGRkLGR0LGxpLG9wdGlvbnMscCx0ZCx0Zm9vdCx0aCx0aGVhZCx0cixzb3VyY2UnXG4p
O1xuXG4vLyBIVE1MNSB0YWdzIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdl
L2luZGljZXMuaHRtbCNlbGVtZW50cy0zXG4vLyBQaHJhc2luZyBDb250ZW50IGh0dHBzOi8vaHRt
bC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2RvbS5odG1sI3BocmFzaW5nLWNvbnRlbnRcbnZh
ciBpc05vblBocmFzaW5nVGFnID0gbWFrZU1hcChcbiAgJ2FkZHJlc3MsYXJ0aWNsZSxhc2lkZSxi
YXNlLGJsb2NrcXVvdGUsYm9keSxjYXB0aW9uLGNvbCxjb2xncm91cCxkZCwnICtcbiAgJ2RldGFp
bHMsZGlhbG9nLGRpdixkbCxkdCxmaWVsZHNldCxmaWdjYXB0aW9uLGZpZ3VyZSxmb290ZXIsZm9y
bSwnICtcbiAgJ2gxLGgyLGgzLGg0LGg1LGg2LGhlYWQsaGVhZGVyLGhncm91cCxocixodG1sLGxl
Z2VuZCxsaSxtZW51aXRlbSxtZXRhLCcgK1xuICAnb3B0Z3JvdXAsb3B0aW9uLHBhcmFtLHJwLHJ0
LHNvdXJjZSxzdHlsZSxzdW1tYXJ5LHRib2R5LHRkLHRmb290LHRoLHRoZWFkLCcgK1xuICAndGl0
bGUsdHIsdHJhY2snXG4pO1xuXG4vKiAgKi9cblxudmFyIGJhc2VPcHRpb25zID0ge1xuICBleHBl
Y3RIVE1MOiB0cnVlLFxuICBtb2R1bGVzOiBtb2R1bGVzJDEsXG4gIGRpcmVjdGl2ZXM6IGRpcmVj
dGl2ZXMkMSxcbiAgaXNQcmVUYWc6IGlzUHJlVGFnLFxuICBpc1VuYXJ5VGFnOiBpc1VuYXJ5VGFn
LFxuICBtdXN0VXNlUHJvcDogbXVzdFVzZVByb3AsXG4gIGNhbkJlTGVmdE9wZW5UYWc6IGNhbkJl
TGVmdE9wZW5UYWcsXG4gIGlzUmVzZXJ2ZWRUYWc6IGlzUmVzZXJ2ZWRUYWcsXG4gIGdldFRhZ05h
bWVzcGFjZTogZ2V0VGFnTmFtZXNwYWNlLFxuICBzdGF0aWNLZXlzOiBnZW5TdGF0aWNLZXlzKG1v
ZHVsZXMkMSlcbn07XG5cbi8qICAqL1xuXG52YXIgZGVjb2RlcjtcblxudmFyIGhlID0ge1xuICBk
ZWNvZGU6IGZ1bmN0aW9uIGRlY29kZSAoaHRtbCkge1xuICAgIGRlY29kZXIgPSBkZWNvZGVyIHx8
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGRlY29kZXIuaW5uZXJIVE1MID0g
aHRtbDtcbiAgICByZXR1cm4gZGVjb2Rlci50ZXh0Q29udGVudFxuICB9XG59O1xuXG4vKipcbiAq
IE5vdCB0eXBlLWNoZWNraW5nIHRoaXMgZmlsZSBiZWNhdXNlIGl0J3MgbW9zdGx5IHZlbmRvciBj
b2RlLlxuICovXG5cbi8qIVxuICogSFRNTCBQYXJzZXIgQnkgSm9obiBSZXNpZyAoZWpvaG4ub3Jn
KVxuICogTW9kaWZpZWQgYnkgSnVyaXkgXCJrYW5nYXhcIiBaYXl0c2V2XG4gKiBPcmlnaW5hbCBj
b2RlIGJ5IEVyaWsgQXJ2aWRzc29uLCBNb3ppbGxhIFB1YmxpYyBMaWNlbnNlXG4gKiBodHRwOi8v
ZXJpay5lYWUubmV0L3NpbXBsZWh0bWxwYXJzZXIvc2ltcGxlaHRtbHBhcnNlci5qc1xuICovXG5c
bi8vIFJlZ3VsYXIgRXhwcmVzc2lvbnMgZm9yIHBhcnNpbmcgdGFncyBhbmQgYXR0cmlidXRlc1xu
dmFyIHNpbmdsZUF0dHJJZGVudGlmaWVyID0gLyhbXlxcc1wiJzw+Lz1dKykvO1xudmFyIHNpbmds
ZUF0dHJBc3NpZ24gPSAvKD86PSkvO1xudmFyIHNpbmdsZUF0dHJWYWx1ZXMgPSBbXG4gIC8vIGF0
dHIgdmFsdWUgZG91YmxlIHF1b3Rlc1xuICAvXCIoW15cIl0qKVwiKy8uc291cmNlLFxuICAvLyBh
dHRyIHZhbHVlLCBzaW5nbGUgcXVvdGVzXG4gIC8nKFteJ10qKScrLy5zb3VyY2UsXG4gIC8vIGF0
dHIgdmFsdWUsIG5vIHF1b3Rlc1xuICAvKFteXFxzXCInPTw+YF0rKS8uc291cmNlXG5dO1xudmFy
IGF0dHJpYnV0ZSA9IG5ldyBSZWdFeHAoXG4gICdeXFxcXHMqJyArIHNpbmdsZUF0dHJJZGVudGlm
aWVyLnNvdXJjZSArXG4gICcoPzpcXFxccyooJyArIHNpbmdsZUF0dHJBc3NpZ24uc291cmNlICsg
JyknICtcbiAgJ1xcXFxzKig/OicgKyBzaW5nbGVBdHRyVmFsdWVzLmpvaW4oJ3wnKSArICcpKT8n
XG4pO1xuXG4vLyBjb3VsZCB1c2UgaHR0cHM6Ly93d3cudzMub3JnL1RSLzE5OTkvUkVDLXhtbC1u
YW1lcy0xOTk5MDExNC8jTlQtUU5hbWVcbi8vIGJ1dCBmb3IgVnVlIHRlbXBsYXRlcyB3ZSBjYW4g
ZW5mb3JjZSBhIHNpbXBsZSBjaGFyc2V0XG52YXIgbmNuYW1lID0gJ1thLXpBLVpfXVtcXFxcd1xc
XFwtXFxcXC5dKic7XG52YXIgcW5hbWVDYXB0dXJlID0gJygoPzonICsgbmNuYW1lICsgJ1xcXFw6
KT8nICsgbmNuYW1lICsgJyknO1xudmFyIHN0YXJ0VGFnT3BlbiA9IG5ldyBSZWdFeHAoJ148JyAr
IHFuYW1lQ2FwdHVyZSk7XG52YXIgc3RhcnRUYWdDbG9zZSA9IC9eXFxzKihcXC8/KT4vO1xudmFy
IGVuZFRhZyA9IG5ldyBSZWdFeHAoJ148XFxcXC8nICsgcW5hbWVDYXB0dXJlICsgJ1tePl0qPicp
O1xudmFyIGRvY3R5cGUgPSAvXjwhRE9DVFlQRSBbXj5dKz4vaTtcbnZhciBjb21tZW50ID0gL148
IS0tLztcbnZhciBjb25kaXRpb25hbENvbW1lbnQgPSAvXjwhXFxbLztcblxudmFyIElTX1JFR0VY
X0NBUFRVUklOR19CUk9LRU4gPSBmYWxzZTtcbid4Jy5yZXBsYWNlKC94KC4pPy9nLCBmdW5jdGlv
biAobSwgZykge1xuICBJU19SRUdFWF9DQVBUVVJJTkdfQlJPS0VOID0gZyA9PT0gJyc7XG59KTtc
blxuLy8gU3BlY2lhbCBFbGVtZW50cyAoY2FuIGNvbnRhaW4gYW55dGhpbmcpXG52YXIgaXNQbGFp
blRleHRFbGVtZW50ID0gbWFrZU1hcCgnc2NyaXB0LHN0eWxlLHRleHRhcmVhJywgdHJ1ZSk7XG52
YXIgcmVDYWNoZSA9IHt9O1xuXG52YXIgZGVjb2RpbmdNYXAgPSB7XG4gICcmbHQ7JzogJzwnLFxu
ICAnJmd0Oyc6ICc+JyxcbiAgJyZxdW90Oyc6ICdcIicsXG4gICcmYW1wOyc6ICcmJyxcbiAgJyYj
MTA7JzogJ1xcbidcbn07XG52YXIgZW5jb2RlZEF0dHIgPSAvJig/Omx0fGd0fHF1b3R8YW1wKTsv
ZztcbnZhciBlbmNvZGVkQXR0cldpdGhOZXdMaW5lcyA9IC8mKD86bHR8Z3R8cXVvdHxhbXB8IzEw
KTsvZztcblxuLy8gIzU5OTJcbnZhciBpc0lnbm9yZU5ld2xpbmVUYWcgPSBtYWtlTWFwKCdwcmUs
dGV4dGFyZWEnLCB0cnVlKTtcbnZhciBzaG91bGRJZ25vcmVGaXJzdE5ld2xpbmUgPSBmdW5jdGlv
biAodGFnLCBodG1sKSB7IHJldHVybiB0YWcgJiYgaXNJZ25vcmVOZXdsaW5lVGFnKHRhZykgJiYg
aHRtbFswXSA9PT0gJ1xcbic7IH07XG5cbmZ1bmN0aW9uIGRlY29kZUF0dHIgKHZhbHVlLCBzaG91
bGREZWNvZGVOZXdsaW5lcykge1xuICB2YXIgcmUgPSBzaG91bGREZWNvZGVOZXdsaW5lcyA/IGVu
Y29kZWRBdHRyV2l0aE5ld0xpbmVzIDogZW5jb2RlZEF0dHI7XG4gIHJldHVybiB2YWx1ZS5yZXBs
YWNlKHJlLCBmdW5jdGlvbiAobWF0Y2gpIHsgcmV0dXJuIGRlY29kaW5nTWFwW21hdGNoXTsgfSlc
bn1cblxuZnVuY3Rpb24gcGFyc2VIVE1MIChodG1sLCBvcHRpb25zKSB7XG4gIHZhciBzdGFjayA9
IFtdO1xuICB2YXIgZXhwZWN0SFRNTCA9IG9wdGlvbnMuZXhwZWN0SFRNTDtcbiAgdmFyIGlzVW5h
cnlUYWckJDEgPSBvcHRpb25zLmlzVW5hcnlUYWcgfHwgbm87XG4gIHZhciBjYW5CZUxlZnRPcGVu
VGFnJCQxID0gb3B0aW9ucy5jYW5CZUxlZnRPcGVuVGFnIHx8IG5vO1xuICB2YXIgaW5kZXggPSAw
O1xuICB2YXIgbGFzdCwgbGFzdFRhZztcbiAgd2hpbGUgKGh0bWwpIHtcbiAgICBsYXN0ID0gaHRt
bDtcbiAgICAvLyBNYWtlIHN1cmUgd2UncmUgbm90IGluIGEgcGxhaW50ZXh0IGNvbnRlbnQgZWxl
bWVudCBsaWtlIHNjcmlwdC9zdHlsZVxuICAgIGlmICghbGFzdFRhZyB8fCAhaXNQbGFpblRleHRF
bGVtZW50KGxhc3RUYWcpKSB7XG4gICAgICB2YXIgdGV4dEVuZCA9IGh0bWwuaW5kZXhPZignPCcp
O1xuICAgICAgaWYgKHRleHRFbmQgPT09IDApIHtcbiAgICAgICAgLy8gQ29tbWVudDpcbiAgICAg
ICAgaWYgKGNvbW1lbnQudGVzdChodG1sKSkge1xuICAgICAgICAgIHZhciBjb21tZW50RW5kID0g
aHRtbC5pbmRleE9mKCctLT4nKTtcblxuICAgICAgICAgIGlmIChjb21tZW50RW5kID49IDApIHtc
biAgICAgICAgICAgIGlmIChvcHRpb25zLnNob3VsZEtlZXBDb21tZW50KSB7XG4gICAgICAgICAg
ICAgIG9wdGlvbnMuY29tbWVudChodG1sLnN1YnN0cmluZyg0LCBjb21tZW50RW5kKSk7XG4gICAg
ICAgICAgICB9XG4gICAgICAgICAgICBhZHZhbmNlKGNvbW1lbnRFbmQgKyAzKTtcbiAgICAgICAg
ICAgIGNvbnRpbnVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gaHR0cDov
L2VuLndpa2lwZWRpYS5vcmcvd2lraS9Db25kaXRpb25hbF9jb21tZW50I0Rvd25sZXZlbC1yZXZl
YWxlZF9jb25kaXRpb25hbF9jb21tZW50XG4gICAgICAgIGlmIChjb25kaXRpb25hbENvbW1lbnQu
dGVzdChodG1sKSkge1xuICAgICAgICAgIHZhciBjb25kaXRpb25hbEVuZCA9IGh0bWwuaW5kZXhP
ZignXT4nKTtcblxuICAgICAgICAgIGlmIChjb25kaXRpb25hbEVuZCA+PSAwKSB7XG4gICAgICAg
ICAgICBhZHZhbmNlKGNvbmRpdGlvbmFsRW5kICsgMik7XG4gICAgICAgICAgICBjb250aW51ZVxu
ICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERvY3R5cGU6XG4gICAgICAgIHZh
ciBkb2N0eXBlTWF0Y2ggPSBodG1sLm1hdGNoKGRvY3R5cGUpO1xuICAgICAgICBpZiAoZG9jdHlw
ZU1hdGNoKSB7XG4gICAgICAgICAgYWR2YW5jZShkb2N0eXBlTWF0Y2hbMF0ubGVuZ3RoKTtcbiAg
ICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRW5kIHRhZzpcbiAgICAg
ICAgdmFyIGVuZFRhZ01hdGNoID0gaHRtbC5tYXRjaChlbmRUYWcpO1xuICAgICAgICBpZiAoZW5k
VGFnTWF0Y2gpIHtcbiAgICAgICAgICB2YXIgY3VySW5kZXggPSBpbmRleDtcbiAgICAgICAgICBh
ZHZhbmNlKGVuZFRhZ01hdGNoWzBdLmxlbmd0aCk7XG4gICAgICAgICAgcGFyc2VFbmRUYWcoZW5k
VGFnTWF0Y2hbMV0sIGN1ckluZGV4LCBpbmRleCk7XG4gICAgICAgICAgY29udGludWVcbiAgICAg
ICAgfVxuXG4gICAgICAgIC8vIFN0YXJ0IHRhZzpcbiAgICAgICAgdmFyIHN0YXJ0VGFnTWF0Y2gg
PSBwYXJzZVN0YXJ0VGFnKCk7XG4gICAgICAgIGlmIChzdGFydFRhZ01hdGNoKSB7XG4gICAgICAg
ICAgaGFuZGxlU3RhcnRUYWcoc3RhcnRUYWdNYXRjaCk7XG4gICAgICAgICAgaWYgKHNob3VsZEln
bm9yZUZpcnN0TmV3bGluZShsYXN0VGFnLCBodG1sKSkge1xuICAgICAgICAgICAgYWR2YW5jZSgx
KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29udGludWVcbiAgICAgICAgfVxuICAgICAgfVxu
XG4gICAgICB2YXIgdGV4dCA9ICh2b2lkIDApLCByZXN0ID0gKHZvaWQgMCksIG5leHQgPSAodm9p
ZCAwKTtcbiAgICAgIGlmICh0ZXh0RW5kID49IDApIHtcbiAgICAgICAgcmVzdCA9IGh0bWwuc2xp
Y2UodGV4dEVuZCk7XG4gICAgICAgIHdoaWxlIChcbiAgICAgICAgICAhZW5kVGFnLnRlc3QocmVz
dCkgJiZcbiAgICAgICAgICAhc3RhcnRUYWdPcGVuLnRlc3QocmVzdCkgJiZcbiAgICAgICAgICAh
Y29tbWVudC50ZXN0KHJlc3QpICYmXG4gICAgICAgICAgIWNvbmRpdGlvbmFsQ29tbWVudC50ZXN0
KHJlc3QpXG4gICAgICAgICkge1xuICAgICAgICAgIC8vIDwgaW4gcGxhaW4gdGV4dCwgYmUgZm9y
Z2l2aW5nIGFuZCB0cmVhdCBpdCBhcyB0ZXh0XG4gICAgICAgICAgbmV4dCA9IHJlc3QuaW5kZXhP
ZignPCcsIDEpO1xuICAgICAgICAgIGlmIChuZXh0IDwgMCkgeyBicmVhayB9XG4gICAgICAgICAg
dGV4dEVuZCArPSBuZXh0O1xuICAgICAgICAgIHJlc3QgPSBodG1sLnNsaWNlKHRleHRFbmQpO1xu
ICAgICAgICB9XG4gICAgICAgIHRleHQgPSBodG1sLnN1YnN0cmluZygwLCB0ZXh0RW5kKTtcbiAg
ICAgICAgYWR2YW5jZSh0ZXh0RW5kKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRleHRFbmQgPCAw
KSB7XG4gICAgICAgIHRleHQgPSBodG1sO1xuICAgICAgICBodG1sID0gJyc7XG4gICAgICB9XG5c
biAgICAgIGlmIChvcHRpb25zLmNoYXJzICYmIHRleHQpIHtcbiAgICAgICAgb3B0aW9ucy5jaGFy
cyh0ZXh0KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGVuZFRhZ0xlbmd0aCA9
IDA7XG4gICAgICB2YXIgc3RhY2tlZFRhZyA9IGxhc3RUYWcudG9Mb3dlckNhc2UoKTtcbiAgICAg
IHZhciByZVN0YWNrZWRUYWcgPSByZUNhY2hlW3N0YWNrZWRUYWddIHx8IChyZUNhY2hlW3N0YWNr
ZWRUYWddID0gbmV3IFJlZ0V4cCgnKFtcXFxcc1xcXFxTXSo/KSg8LycgKyBzdGFja2VkVGFnICsg
J1tePl0qPiknLCAnaScpKTtcbiAgICAgIHZhciByZXN0JDEgPSBodG1sLnJlcGxhY2UocmVTdGFj
a2VkVGFnLCBmdW5jdGlvbiAoYWxsLCB0ZXh0LCBlbmRUYWcpIHtcbiAgICAgICAgZW5kVGFnTGVu
Z3RoID0gZW5kVGFnLmxlbmd0aDtcbiAgICAgICAgaWYgKCFpc1BsYWluVGV4dEVsZW1lbnQoc3Rh
Y2tlZFRhZykgJiYgc3RhY2tlZFRhZyAhPT0gJ25vc2NyaXB0Jykge1xuICAgICAgICAgIHRleHQg
PSB0ZXh0XG4gICAgICAgICAgICAucmVwbGFjZSgvPCEtLShbXFxzXFxTXSo/KS0tPi9nLCAnJDEn
KVxuICAgICAgICAgICAgLnJlcGxhY2UoLzwhXFxbQ0RBVEFcXFsoW1xcc1xcU10qPyldXT4vZywg
JyQxJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNob3VsZElnbm9yZUZpcnN0TmV3bGluZShz
dGFja2VkVGFnLCB0ZXh0KSkge1xuICAgICAgICAgIHRleHQgPSB0ZXh0LnNsaWNlKDEpO1xuICAg
ICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zLmNoYXJzKSB7XG4gICAgICAgICAgb3B0aW9ucy5j
aGFycyh0ZXh0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJydcbiAgICAgIH0pO1xuICAg
ICAgaW5kZXggKz0gaHRtbC5sZW5ndGggLSByZXN0JDEubGVuZ3RoO1xuICAgICAgaHRtbCA9IHJl
c3QkMTtcbiAgICAgIHBhcnNlRW5kVGFnKHN0YWNrZWRUYWcsIGluZGV4IC0gZW5kVGFnTGVuZ3Ro
LCBpbmRleCk7XG4gICAgfVxuXG4gICAgaWYgKGh0bWwgPT09IGxhc3QpIHtcbiAgICAgIG9wdGlv
bnMuY2hhcnMgJiYgb3B0aW9ucy5jaGFycyhodG1sKTtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5O
T0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmICFzdGFjay5sZW5ndGggJiYgb3B0aW9ucy53YXJu
KSB7XG4gICAgICAgIG9wdGlvbnMud2FybigoXCJNYWwtZm9ybWF0dGVkIHRhZyBhdCBlbmQgb2Yg
dGVtcGxhdGU6IFxcXCJcIiArIGh0bWwgKyBcIlxcXCJcIikpO1xuICAgICAgfVxuICAgICAgYnJl
YWtcbiAgICB9XG4gIH1cblxuICAvLyBDbGVhbiB1cCBhbnkgcmVtYWluaW5nIHRhZ3NcbiAgcGFy
c2VFbmRUYWcoKTtcblxuICBmdW5jdGlvbiBhZHZhbmNlIChuKSB7XG4gICAgaW5kZXggKz0gbjtc
biAgICBodG1sID0gaHRtbC5zdWJzdHJpbmcobik7XG4gIH1cblxuICBmdW5jdGlvbiBwYXJzZVN0
YXJ0VGFnICgpIHtcbiAgICB2YXIgc3RhcnQgPSBodG1sLm1hdGNoKHN0YXJ0VGFnT3Blbik7XG4g
ICAgaWYgKHN0YXJ0KSB7XG4gICAgICB2YXIgbWF0Y2ggPSB7XG4gICAgICAgIHRhZ05hbWU6IHN0
YXJ0WzFdLFxuICAgICAgICBhdHRyczogW10sXG4gICAgICAgIHN0YXJ0OiBpbmRleFxuICAgICAg
fTtcbiAgICAgIGFkdmFuY2Uoc3RhcnRbMF0ubGVuZ3RoKTtcbiAgICAgIHZhciBlbmQsIGF0dHI7
XG4gICAgICB3aGlsZSAoIShlbmQgPSBodG1sLm1hdGNoKHN0YXJ0VGFnQ2xvc2UpKSAmJiAoYXR0
ciA9IGh0bWwubWF0Y2goYXR0cmlidXRlKSkpIHtcbiAgICAgICAgYWR2YW5jZShhdHRyWzBdLmxl
bmd0aCk7XG4gICAgICAgIG1hdGNoLmF0dHJzLnB1c2goYXR0cik7XG4gICAgICB9XG4gICAgICBp
ZiAoZW5kKSB7XG4gICAgICAgIG1hdGNoLnVuYXJ5U2xhc2ggPSBlbmRbMV07XG4gICAgICAgIGFk
dmFuY2UoZW5kWzBdLmxlbmd0aCk7XG4gICAgICAgIG1hdGNoLmVuZCA9IGluZGV4O1xuICAgICAg
ICByZXR1cm4gbWF0Y2hcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVT
dGFydFRhZyAobWF0Y2gpIHtcbiAgICB2YXIgdGFnTmFtZSA9IG1hdGNoLnRhZ05hbWU7XG4gICAg
dmFyIHVuYXJ5U2xhc2ggPSBtYXRjaC51bmFyeVNsYXNoO1xuXG4gICAgaWYgKGV4cGVjdEhUTUwp
IHtcbiAgICAgIGlmIChsYXN0VGFnID09PSAncCcgJiYgaXNOb25QaHJhc2luZ1RhZyh0YWdOYW1l
KSkge1xuICAgICAgICBwYXJzZUVuZFRhZyhsYXN0VGFnKTtcbiAgICAgIH1cbiAgICAgIGlmIChj
YW5CZUxlZnRPcGVuVGFnJCQxKHRhZ05hbWUpICYmIGxhc3RUYWcgPT09IHRhZ05hbWUpIHtcbiAg
ICAgICAgcGFyc2VFbmRUYWcodGFnTmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHVu
YXJ5ID0gaXNVbmFyeVRhZyQkMSh0YWdOYW1lKSB8fCAhIXVuYXJ5U2xhc2g7XG5cbiAgICB2YXIg
bCA9IG1hdGNoLmF0dHJzLmxlbmd0aDtcbiAgICB2YXIgYXR0cnMgPSBuZXcgQXJyYXkobCk7XG4g
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgIHZhciBhcmdzID0gbWF0Y2gu
YXR0cnNbaV07XG4gICAgICAvLyBoYWNraXNoIHdvcmsgYXJvdW5kIEZGIGJ1ZyBodHRwczovL2J1
Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjk3NzhcbiAgICAgIGlmIChJU19S
RUdFWF9DQVBUVVJJTkdfQlJPS0VOICYmIGFyZ3NbMF0uaW5kZXhPZignXCJcIicpID09PSAtMSkg
e1xuICAgICAgICBpZiAoYXJnc1szXSA9PT0gJycpIHsgZGVsZXRlIGFyZ3NbM107IH1cbiAgICAg
ICAgaWYgKGFyZ3NbNF0gPT09ICcnKSB7IGRlbGV0ZSBhcmdzWzRdOyB9XG4gICAgICAgIGlmIChh
cmdzWzVdID09PSAnJykgeyBkZWxldGUgYXJnc1s1XTsgfVxuICAgICAgfVxuICAgICAgdmFyIHZh
bHVlID0gYXJnc1szXSB8fCBhcmdzWzRdIHx8IGFyZ3NbNV0gfHwgJyc7XG4gICAgICBhdHRyc1tp
XSA9IHtcbiAgICAgICAgbmFtZTogYXJnc1sxXSxcbiAgICAgICAgdmFsdWU6IGRlY29kZUF0dHIo
XG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgb3B0aW9ucy5zaG91bGREZWNvZGVOZXdsaW5l
c1xuICAgICAgICApXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICghdW5hcnkpIHtcbiAgICAg
IHN0YWNrLnB1c2goeyB0YWc6IHRhZ05hbWUsIGxvd2VyQ2FzZWRUYWc6IHRhZ05hbWUudG9Mb3dl
ckNhc2UoKSwgYXR0cnM6IGF0dHJzIH0pO1xuICAgICAgbGFzdFRhZyA9IHRhZ05hbWU7XG4gICAg
fVxuXG4gICAgaWYgKG9wdGlvbnMuc3RhcnQpIHtcbiAgICAgIG9wdGlvbnMuc3RhcnQodGFnTmFt
ZSwgYXR0cnMsIHVuYXJ5LCBtYXRjaC5zdGFydCwgbWF0Y2guZW5kKTtcbiAgICB9XG4gIH1cblxu
ICBmdW5jdGlvbiBwYXJzZUVuZFRhZyAodGFnTmFtZSwgc3RhcnQsIGVuZCkge1xuICAgIHZhciBw
b3MsIGxvd2VyQ2FzZWRUYWdOYW1lO1xuICAgIGlmIChzdGFydCA9PSBudWxsKSB7IHN0YXJ0ID0g
aW5kZXg7IH1cbiAgICBpZiAoZW5kID09IG51bGwpIHsgZW5kID0gaW5kZXg7IH1cblxuICAgIGlm
ICh0YWdOYW1lKSB7XG4gICAgICBsb3dlckNhc2VkVGFnTmFtZSA9IHRhZ05hbWUudG9Mb3dlckNh
c2UoKTtcbiAgICB9XG5cbiAgICAvLyBGaW5kIHRoZSBjbG9zZXN0IG9wZW5lZCB0YWcgb2YgdGhl
IHNhbWUgdHlwZVxuICAgIGlmICh0YWdOYW1lKSB7XG4gICAgICBmb3IgKHBvcyA9IHN0YWNrLmxl
bmd0aCAtIDE7IHBvcyA+PSAwOyBwb3MtLSkge1xuICAgICAgICBpZiAoc3RhY2tbcG9zXS5sb3dl
ckNhc2VkVGFnID09PSBsb3dlckNhc2VkVGFnTmFtZSkge1xuICAgICAgICAgIGJyZWFrXG4gICAg
ICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgbm8gdGFnIG5hbWUgaXMg
cHJvdmlkZWQsIGNsZWFuIHNob3BcbiAgICAgIHBvcyA9IDA7XG4gICAgfVxuXG4gICAgaWYgKHBv
cyA+PSAwKSB7XG4gICAgICAvLyBDbG9zZSBhbGwgdGhlIG9wZW4gZWxlbWVudHMsIHVwIHRoZSBz
dGFja1xuICAgICAgZm9yICh2YXIgaSA9IHN0YWNrLmxlbmd0aCAtIDE7IGkgPj0gcG9zOyBpLS0p
IHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiZc
biAgICAgICAgICAoaSA+IHBvcyB8fCAhdGFnTmFtZSkgJiZcbiAgICAgICAgICBvcHRpb25zLndh
cm5cbiAgICAgICAgKSB7XG4gICAgICAgICAgb3B0aW9ucy53YXJuKFxuICAgICAgICAgICAgKFwi
dGFnIDxcIiArIChzdGFja1tpXS50YWcpICsgXCI+IGhhcyBubyBtYXRjaGluZyBlbmQgdGFnLlwi
KVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdGlvbnMuZW5kKSB7XG4g
ICAgICAgICAgb3B0aW9ucy5lbmQoc3RhY2tbaV0udGFnLCBzdGFydCwgZW5kKTtcbiAgICAgICAg
fVxuICAgICAgfVxuXG4gICAgICAvLyBSZW1vdmUgdGhlIG9wZW4gZWxlbWVudHMgZnJvbSB0aGUg
c3RhY2tcbiAgICAgIHN0YWNrLmxlbmd0aCA9IHBvcztcbiAgICAgIGxhc3RUYWcgPSBwb3MgJiYg
c3RhY2tbcG9zIC0gMV0udGFnO1xuICAgIH0gZWxzZSBpZiAobG93ZXJDYXNlZFRhZ05hbWUgPT09
ICdicicpIHtcbiAgICAgIGlmIChvcHRpb25zLnN0YXJ0KSB7XG4gICAgICAgIG9wdGlvbnMuc3Rh
cnQodGFnTmFtZSwgW10sIHRydWUsIHN0YXJ0LCBlbmQpO1xuICAgICAgfVxuICAgIH0gZWxzZSBp
ZiAobG93ZXJDYXNlZFRhZ05hbWUgPT09ICdwJykge1xuICAgICAgaWYgKG9wdGlvbnMuc3RhcnQp
IHtcbiAgICAgICAgb3B0aW9ucy5zdGFydCh0YWdOYW1lLCBbXSwgZmFsc2UsIHN0YXJ0LCBlbmQp
O1xuICAgICAgfVxuICAgICAgaWYgKG9wdGlvbnMuZW5kKSB7XG4gICAgICAgIG9wdGlvbnMuZW5k
KHRhZ05hbWUsIHN0YXJ0LCBlbmQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiAgKi9c
blxudmFyIG9uUkUgPSAvXkB8XnYtb246LztcbnZhciBkaXJSRSA9IC9edi18XkB8XjovO1xudmFy
IGZvckFsaWFzUkUgPSAvKC4qPylcXHMrKD86aW58b2YpXFxzKyguKikvO1xudmFyIGZvckl0ZXJh
dG9yUkUgPSAvXFwoKFxce1tefV0qXFx9fFteLF0qKSwoW14sXSopKD86LChbXixdKikpP1xcKS87
XG5cbnZhciBhcmdSRSA9IC86KC4qKSQvO1xudmFyIGJpbmRSRSA9IC9eOnxedi1iaW5kOi87XG52
YXIgbW9kaWZpZXJSRSA9IC9cXC5bXi5dKy9nO1xuXG52YXIgZGVjb2RlSFRNTENhY2hlZCA9IGNh
Y2hlZChoZS5kZWNvZGUpO1xuXG4vLyBjb25maWd1cmFibGUgc3RhdGVcbnZhciB3YXJuJDI7XG52
YXIgZGVsaW1pdGVycztcbnZhciB0cmFuc2Zvcm1zO1xudmFyIHByZVRyYW5zZm9ybXM7XG52YXIg
cG9zdFRyYW5zZm9ybXM7XG52YXIgcGxhdGZvcm1Jc1ByZVRhZztcbnZhciBwbGF0Zm9ybU11c3RV
c2VQcm9wO1xudmFyIHBsYXRmb3JtR2V0VGFnTmFtZXNwYWNlO1xuXG4vKipcbiAqIENvbnZlcnQg
SFRNTCBzdHJpbmcgdG8gQVNULlxuICovXG5mdW5jdGlvbiBwYXJzZSAoXG4gIHRlbXBsYXRlLFxu
ICBvcHRpb25zXG4pIHtcbiAgd2FybiQyID0gb3B0aW9ucy53YXJuIHx8IGJhc2VXYXJuO1xuXG4g
IHBsYXRmb3JtSXNQcmVUYWcgPSBvcHRpb25zLmlzUHJlVGFnIHx8IG5vO1xuICBwbGF0Zm9ybU11
c3RVc2VQcm9wID0gb3B0aW9ucy5tdXN0VXNlUHJvcCB8fCBubztcbiAgcGxhdGZvcm1HZXRUYWdO
YW1lc3BhY2UgPSBvcHRpb25zLmdldFRhZ05hbWVzcGFjZSB8fCBubztcblxuICB0cmFuc2Zvcm1z
ID0gcGx1Y2tNb2R1bGVGdW5jdGlvbihvcHRpb25zLm1vZHVsZXMsICd0cmFuc2Zvcm1Ob2RlJyk7
XG4gIHByZVRyYW5zZm9ybXMgPSBwbHVja01vZHVsZUZ1bmN0aW9uKG9wdGlvbnMubW9kdWxlcywg
J3ByZVRyYW5zZm9ybU5vZGUnKTtcbiAgcG9zdFRyYW5zZm9ybXMgPSBwbHVja01vZHVsZUZ1bmN0
aW9uKG9wdGlvbnMubW9kdWxlcywgJ3Bvc3RUcmFuc2Zvcm1Ob2RlJyk7XG5cbiAgZGVsaW1pdGVy
cyA9IG9wdGlvbnMuZGVsaW1pdGVycztcblxuICB2YXIgc3RhY2sgPSBbXTtcbiAgdmFyIHByZXNl
cnZlV2hpdGVzcGFjZSA9IG9wdGlvbnMucHJlc2VydmVXaGl0ZXNwYWNlICE9PSBmYWxzZTtcbiAg
dmFyIHJvb3Q7XG4gIHZhciBjdXJyZW50UGFyZW50O1xuICB2YXIgaW5WUHJlID0gZmFsc2U7XG4g
IHZhciBpblByZSA9IGZhbHNlO1xuICB2YXIgd2FybmVkID0gZmFsc2U7XG5cbiAgZnVuY3Rpb24g
d2Fybk9uY2UgKG1zZykge1xuICAgIGlmICghd2FybmVkKSB7XG4gICAgICB3YXJuZWQgPSB0cnVl
O1xuICAgICAgd2FybiQyKG1zZyk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gZW5kUHJlIChl
bGVtZW50KSB7XG4gICAgLy8gY2hlY2sgcHJlIHN0YXRlXG4gICAgaWYgKGVsZW1lbnQucHJlKSB7
XG4gICAgICBpblZQcmUgPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHBsYXRmb3JtSXNQcmVUYWco
ZWxlbWVudC50YWcpKSB7XG4gICAgICBpblByZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHBh
cnNlSFRNTCh0ZW1wbGF0ZSwge1xuICAgIHdhcm46IHdhcm4kMixcbiAgICBleHBlY3RIVE1MOiBv
cHRpb25zLmV4cGVjdEhUTUwsXG4gICAgaXNVbmFyeVRhZzogb3B0aW9ucy5pc1VuYXJ5VGFnLFxu
ICAgIGNhbkJlTGVmdE9wZW5UYWc6IG9wdGlvbnMuY2FuQmVMZWZ0T3BlblRhZyxcbiAgICBzaG91
bGREZWNvZGVOZXdsaW5lczogb3B0aW9ucy5zaG91bGREZWNvZGVOZXdsaW5lcyxcbiAgICBzaG91
bGRLZWVwQ29tbWVudDogb3B0aW9ucy5jb21tZW50cyxcbiAgICBzdGFydDogZnVuY3Rpb24gc3Rh
cnQgKHRhZywgYXR0cnMsIHVuYXJ5KSB7XG4gICAgICAvLyBjaGVjayBuYW1lc3BhY2UuXG4gICAg
ICAvLyBpbmhlcml0IHBhcmVudCBucyBpZiB0aGVyZSBpcyBvbmVcbiAgICAgIHZhciBucyA9IChj
dXJyZW50UGFyZW50ICYmIGN1cnJlbnRQYXJlbnQubnMpIHx8IHBsYXRmb3JtR2V0VGFnTmFtZXNw
YWNlKHRhZyk7XG5cbiAgICAgIC8vIGhhbmRsZSBJRSBzdmcgYnVnXG4gICAgICAvKiBpc3RhbmJ1
bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlmIChpc0lFICYmIG5zID09PSAnc3ZnJykge1xuICAgICAg
ICBhdHRycyA9IGd1YXJkSUVTVkdCdWcoYXR0cnMpO1xuICAgICAgfVxuXG4gICAgICB2YXIgZWxl
bWVudCA9IHtcbiAgICAgICAgdHlwZTogMSxcbiAgICAgICAgdGFnOiB0YWcsXG4gICAgICAgIGF0
dHJzTGlzdDogYXR0cnMsXG4gICAgICAgIGF0dHJzTWFwOiBtYWtlQXR0cnNNYXAoYXR0cnMpLFxu
ICAgICAgICBwYXJlbnQ6IGN1cnJlbnRQYXJlbnQsXG4gICAgICAgIGNoaWxkcmVuOiBbXVxuICAg
ICAgfTtcbiAgICAgIGlmIChucykge1xuICAgICAgICBlbGVtZW50Lm5zID0gbnM7XG4gICAgICB9
XG5cbiAgICAgIGlmIChpc0ZvcmJpZGRlblRhZyhlbGVtZW50KSAmJiAhaXNTZXJ2ZXJSZW5kZXJp
bmcoKSkge1xuICAgICAgICBlbGVtZW50LmZvcmJpZGRlbiA9IHRydWU7XG4gICAgICAgIHByb2Nl
c3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgd2FybiQyKFxuICAgICAgICAgICdU
ZW1wbGF0ZXMgc2hvdWxkIG9ubHkgYmUgcmVzcG9uc2libGUgZm9yIG1hcHBpbmcgdGhlIHN0YXRl
IHRvIHRoZSAnICtcbiAgICAgICAgICAnVUkuIEF2b2lkIHBsYWNpbmcgdGFncyB3aXRoIHNpZGUt
ZWZmZWN0cyBpbiB5b3VyIHRlbXBsYXRlcywgc3VjaCBhcyAnICtcbiAgICAgICAgICBcIjxcIiAr
IHRhZyArIFwiPlwiICsgJywgYXMgdGhleSB3aWxsIG5vdCBiZSBwYXJzZWQuJ1xuICAgICAgICAp
O1xuICAgICAgfVxuXG4gICAgICAvLyBhcHBseSBwcmUtdHJhbnNmb3Jtc1xuICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBwcmVUcmFuc2Zvcm1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHByZVRy
YW5zZm9ybXNbaV0oZWxlbWVudCwgb3B0aW9ucyk7XG4gICAgICB9XG5cbiAgICAgIGlmICghaW5W
UHJlKSB7XG4gICAgICAgIHByb2Nlc3NQcmUoZWxlbWVudCk7XG4gICAgICAgIGlmIChlbGVtZW50
LnByZSkge1xuICAgICAgICAgIGluVlByZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAg
ICAgIGlmIChwbGF0Zm9ybUlzUHJlVGFnKGVsZW1lbnQudGFnKSkge1xuICAgICAgICBpblByZSA9
IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAoaW5WUHJlKSB7XG4gICAgICAgIHByb2Nlc3NSYXdB
dHRycyhlbGVtZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByb2Nlc3NGb3IoZWxlbWVu
dCk7XG4gICAgICAgIHByb2Nlc3NJZihlbGVtZW50KTtcbiAgICAgICAgcHJvY2Vzc09uY2UoZWxl
bWVudCk7XG4gICAgICAgIHByb2Nlc3NLZXkoZWxlbWVudCk7XG5cbiAgICAgICAgLy8gZGV0ZXJt
aW5lIHdoZXRoZXIgdGhpcyBpcyBhIHBsYWluIGVsZW1lbnQgYWZ0ZXJcbiAgICAgICAgLy8gcmVt
b3Zpbmcgc3RydWN0dXJhbCBhdHRyaWJ1dGVzXG4gICAgICAgIGVsZW1lbnQucGxhaW4gPSAhZWxl
bWVudC5rZXkgJiYgIWF0dHJzLmxlbmd0aDtcblxuICAgICAgICBwcm9jZXNzUmVmKGVsZW1lbnQp
O1xuICAgICAgICBwcm9jZXNzU2xvdChlbGVtZW50KTtcbiAgICAgICAgcHJvY2Vzc0NvbXBvbmVu
dChlbGVtZW50KTtcbiAgICAgICAgZm9yICh2YXIgaSQxID0gMDsgaSQxIDwgdHJhbnNmb3Jtcy5s
ZW5ndGg7IGkkMSsrKSB7XG4gICAgICAgICAgdHJhbnNmb3Jtc1tpJDFdKGVsZW1lbnQsIG9wdGlv
bnMpO1xuICAgICAgICB9XG4gICAgICAgIHByb2Nlc3NBdHRycyhlbGVtZW50KTtcbiAgICAgIH1c
blxuICAgICAgZnVuY3Rpb24gY2hlY2tSb290Q29uc3RyYWludHMgKGVsKSB7XG4gICAgICAgIGlm
IChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgaWYg
KGVsLnRhZyA9PT0gJ3Nsb3QnIHx8IGVsLnRhZyA9PT0gJ3RlbXBsYXRlJykge1xuICAgICAgICAg
ICAgd2Fybk9uY2UoXG4gICAgICAgICAgICAgIFwiQ2Fubm90IHVzZSA8XCIgKyAoZWwudGFnKSAr
IFwiPiBhcyBjb21wb25lbnQgcm9vdCBlbGVtZW50IGJlY2F1c2UgaXQgbWF5IFwiICtcbiAgICAg
ICAgICAgICAgJ2NvbnRhaW4gbXVsdGlwbGUgbm9kZXMuJ1xuICAgICAgICAgICAgKTtcbiAgICAg
ICAgICB9XG4gICAgICAgICAgaWYgKGVsLmF0dHJzTWFwLmhhc093blByb3BlcnR5KCd2LWZvcicp
KSB7XG4gICAgICAgICAgICB3YXJuT25jZShcbiAgICAgICAgICAgICAgJ0Nhbm5vdCB1c2Ugdi1m
b3Igb24gc3RhdGVmdWwgY29tcG9uZW50IHJvb3QgZWxlbWVudCBiZWNhdXNlICcgK1xuICAgICAg
ICAgICAgICAnaXQgcmVuZGVycyBtdWx0aXBsZSBlbGVtZW50cy4nXG4gICAgICAgICAgICApO1xu
ICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyB0cmVlIG1hbmFnZW1l
bnRcbiAgICAgIGlmICghcm9vdCkge1xuICAgICAgICByb290ID0gZWxlbWVudDtcbiAgICAgICAg
Y2hlY2tSb290Q29uc3RyYWludHMocm9vdCk7XG4gICAgICB9IGVsc2UgaWYgKCFzdGFjay5sZW5n
dGgpIHtcbiAgICAgICAgLy8gYWxsb3cgcm9vdCBlbGVtZW50cyB3aXRoIHYtaWYsIHYtZWxzZS1p
ZiBhbmQgdi1lbHNlXG4gICAgICAgIGlmIChyb290LmlmICYmIChlbGVtZW50LmVsc2VpZiB8fCBl
bGVtZW50LmVsc2UpKSB7XG4gICAgICAgICAgY2hlY2tSb290Q29uc3RyYWludHMoZWxlbWVudCk7
XG4gICAgICAgICAgYWRkSWZDb25kaXRpb24ocm9vdCwge1xuICAgICAgICAgICAgZXhwOiBlbGVt
ZW50LmVsc2VpZixcbiAgICAgICAgICAgIGJsb2NrOiBlbGVtZW50XG4gICAgICAgICAgfSk7XG4g
ICAgICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykg
e1xuICAgICAgICAgIHdhcm5PbmNlKFxuICAgICAgICAgICAgXCJDb21wb25lbnQgdGVtcGxhdGUg
c2hvdWxkIGNvbnRhaW4gZXhhY3RseSBvbmUgcm9vdCBlbGVtZW50LiBcIiArXG4gICAgICAgICAg
ICBcIklmIHlvdSBhcmUgdXNpbmcgdi1pZiBvbiBtdWx0aXBsZSBlbGVtZW50cywgXCIgK1xuICAg
ICAgICAgICAgXCJ1c2Ugdi1lbHNlLWlmIHRvIGNoYWluIHRoZW0gaW5zdGVhZC5cIlxuICAgICAg
ICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChjdXJyZW50UGFyZW50ICYmICFl
bGVtZW50LmZvcmJpZGRlbikge1xuICAgICAgICBpZiAoZWxlbWVudC5lbHNlaWYgfHwgZWxlbWVu
dC5lbHNlKSB7XG4gICAgICAgICAgcHJvY2Vzc0lmQ29uZGl0aW9ucyhlbGVtZW50LCBjdXJyZW50
UGFyZW50KTtcbiAgICAgICAgfSBlbHNlIGlmIChlbGVtZW50LnNsb3RTY29wZSkgeyAvLyBzY29w
ZWQgc2xvdFxuICAgICAgICAgIGN1cnJlbnRQYXJlbnQucGxhaW4gPSBmYWxzZTtcbiAgICAgICAg
ICB2YXIgbmFtZSA9IGVsZW1lbnQuc2xvdFRhcmdldCB8fCAnXCJkZWZhdWx0XCInOyhjdXJyZW50
UGFyZW50LnNjb3BlZFNsb3RzIHx8IChjdXJyZW50UGFyZW50LnNjb3BlZFNsb3RzID0ge30pKVtu
YW1lXSA9IGVsZW1lbnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY3VycmVudFBhcmVu
dC5jaGlsZHJlbi5wdXNoKGVsZW1lbnQpO1xuICAgICAgICAgIGVsZW1lbnQucGFyZW50ID0gY3Vy
cmVudFBhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCF1bmFyeSkge1xuICAg
ICAgICBjdXJyZW50UGFyZW50ID0gZWxlbWVudDtcbiAgICAgICAgc3RhY2sucHVzaChlbGVtZW50
KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVuZFByZShlbGVtZW50KTtcbiAgICAgIH1cbiAg
ICAgIC8vIGFwcGx5IHBvc3QtdHJhbnNmb3Jtc1xuICAgICAgZm9yICh2YXIgaSQyID0gMDsgaSQy
IDwgcG9zdFRyYW5zZm9ybXMubGVuZ3RoOyBpJDIrKykge1xuICAgICAgICBwb3N0VHJhbnNmb3Jt
c1tpJDJdKGVsZW1lbnQsIG9wdGlvbnMpO1xuICAgICAgfVxuICAgIH0sXG5cbiAgICBlbmQ6IGZ1
bmN0aW9uIGVuZCAoKSB7XG4gICAgICAvLyByZW1vdmUgdHJhaWxpbmcgd2hpdGVzcGFjZVxuICAg
ICAgdmFyIGVsZW1lbnQgPSBzdGFja1tzdGFjay5sZW5ndGggLSAxXTtcbiAgICAgIHZhciBsYXN0
Tm9kZSA9IGVsZW1lbnQuY2hpbGRyZW5bZWxlbWVudC5jaGlsZHJlbi5sZW5ndGggLSAxXTtcbiAg
ICAgIGlmIChsYXN0Tm9kZSAmJiBsYXN0Tm9kZS50eXBlID09PSAzICYmIGxhc3ROb2RlLnRleHQg
PT09ICcgJyAmJiAhaW5QcmUpIHtcbiAgICAgICAgZWxlbWVudC5jaGlsZHJlbi5wb3AoKTtcbiAg
ICAgIH1cbiAgICAgIC8vIHBvcCBzdGFja1xuICAgICAgc3RhY2subGVuZ3RoIC09IDE7XG4gICAg
ICBjdXJyZW50UGFyZW50ID0gc3RhY2tbc3RhY2subGVuZ3RoIC0gMV07XG4gICAgICBlbmRQcmUo
ZWxlbWVudCk7XG4gICAgfSxcblxuICAgIGNoYXJzOiBmdW5jdGlvbiBjaGFycyAodGV4dCkge1xu
ICAgICAgaWYgKCFjdXJyZW50UGFyZW50KSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RF
X0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgaWYgKHRleHQgPT09IHRlbXBsYXRl
KSB7XG4gICAgICAgICAgICB3YXJuT25jZShcbiAgICAgICAgICAgICAgJ0NvbXBvbmVudCB0ZW1w
bGF0ZSByZXF1aXJlcyBhIHJvb3QgZWxlbWVudCwgcmF0aGVyIHRoYW4ganVzdCB0ZXh0LidcbiAg
ICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIGlmICgodGV4dCA9IHRleHQudHJpbSgpKSkg
e1xuICAgICAgICAgICAgd2Fybk9uY2UoXG4gICAgICAgICAgICAgIChcInRleHQgXFxcIlwiICsg
dGV4dCArIFwiXFxcIiBvdXRzaWRlIHJvb3QgZWxlbWVudCB3aWxsIGJlIGlnbm9yZWQuXCIpXG4g
ICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm5cbiAg
ICAgIH1cbiAgICAgIC8vIElFIHRleHRhcmVhIHBsYWNlaG9sZGVyIGJ1Z1xuICAgICAgLyogaXN0
YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAoaXNJRSAmJlxuICAgICAgICBjdXJyZW50UGFy
ZW50LnRhZyA9PT0gJ3RleHRhcmVhJyAmJlxuICAgICAgICBjdXJyZW50UGFyZW50LmF0dHJzTWFw
LnBsYWNlaG9sZGVyID09PSB0ZXh0XG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9
XG4gICAgICB2YXIgY2hpbGRyZW4gPSBjdXJyZW50UGFyZW50LmNoaWxkcmVuO1xuICAgICAgdGV4
dCA9IGluUHJlIHx8IHRleHQudHJpbSgpXG4gICAgICAgID8gaXNUZXh0VGFnKGN1cnJlbnRQYXJl
bnQpID8gdGV4dCA6IGRlY29kZUhUTUxDYWNoZWQodGV4dClcbiAgICAgICAgLy8gb25seSBwcmVz
ZXJ2ZSB3aGl0ZXNwYWNlIGlmIGl0cyBub3QgcmlnaHQgYWZ0ZXIgYSBzdGFydGluZyB0YWdcbiAg
ICAgICAgOiBwcmVzZXJ2ZVdoaXRlc3BhY2UgJiYgY2hpbGRyZW4ubGVuZ3RoID8gJyAnIDogJyc7
XG4gICAgICBpZiAodGV4dCkge1xuICAgICAgICB2YXIgZXhwcmVzc2lvbjtcbiAgICAgICAgaWYg
KCFpblZQcmUgJiYgdGV4dCAhPT0gJyAnICYmIChleHByZXNzaW9uID0gcGFyc2VUZXh0KHRleHQs
IGRlbGltaXRlcnMpKSkge1xuICAgICAgICAgIGNoaWxkcmVuLnB1c2goe1xuICAgICAgICAgICAg
dHlwZTogMixcbiAgICAgICAgICAgIGV4cHJlc3Npb246IGV4cHJlc3Npb24sXG4gICAgICAgICAg
ICB0ZXh0OiB0ZXh0XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGV4dCAhPT0g
JyAnIHx8ICFjaGlsZHJlbi5sZW5ndGggfHwgY2hpbGRyZW5bY2hpbGRyZW4ubGVuZ3RoIC0gMV0u
dGV4dCAhPT0gJyAnKSB7XG4gICAgICAgICAgY2hpbGRyZW4ucHVzaCh7XG4gICAgICAgICAgICB0
eXBlOiAzLFxuICAgICAgICAgICAgdGV4dDogdGV4dFxuICAgICAgICAgIH0pO1xuICAgICAgICB9
XG4gICAgICB9XG4gICAgfSxcbiAgICBjb21tZW50OiBmdW5jdGlvbiBjb21tZW50ICh0ZXh0KSB7
XG4gICAgICBjdXJyZW50UGFyZW50LmNoaWxkcmVuLnB1c2goe1xuICAgICAgICB0eXBlOiAzLFxu
ICAgICAgICB0ZXh0OiB0ZXh0LFxuICAgICAgICBpc0NvbW1lbnQ6IHRydWVcbiAgICAgIH0pO1xu
ICAgIH1cbiAgfSk7XG4gIHJldHVybiByb290XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NQcmUgKGVs
KSB7XG4gIGlmIChnZXRBbmRSZW1vdmVBdHRyKGVsLCAndi1wcmUnKSAhPSBudWxsKSB7XG4gICAg
ZWwucHJlID0gdHJ1ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwcm9jZXNzUmF3QXR0cnMgKGVsKSB7
XG4gIHZhciBsID0gZWwuYXR0cnNMaXN0Lmxlbmd0aDtcbiAgaWYgKGwpIHtcbiAgICB2YXIgYXR0
cnMgPSBlbC5hdHRycyA9IG5ldyBBcnJheShsKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGw7
IGkrKykge1xuICAgICAgYXR0cnNbaV0gPSB7XG4gICAgICAgIG5hbWU6IGVsLmF0dHJzTGlzdFtp
XS5uYW1lLFxuICAgICAgICB2YWx1ZTogSlNPTi5zdHJpbmdpZnkoZWwuYXR0cnNMaXN0W2ldLnZh
bHVlKVxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoIWVsLnByZSkge1xuICAgIC8vIG5v
biByb290IG5vZGUgaW4gcHJlIGJsb2NrcyB3aXRoIG5vIGF0dHJpYnV0ZXNcbiAgICBlbC5wbGFp
biA9IHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0tleSAoZWwpIHtcbiAgdmFyIGV4
cCA9IGdldEJpbmRpbmdBdHRyKGVsLCAna2V5Jyk7XG4gIGlmIChleHApIHtcbiAgICBpZiAocHJv
Y2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBlbC50YWcgPT09ICd0ZW1wbGF0
ZScpIHtcbiAgICAgIHdhcm4kMihcIjx0ZW1wbGF0ZT4gY2Fubm90IGJlIGtleWVkLiBQbGFjZSB0
aGUga2V5IG9uIHJlYWwgZWxlbWVudHMgaW5zdGVhZC5cIik7XG4gICAgfVxuICAgIGVsLmtleSA9
IGV4cDtcbiAgfVxufVxuXG5mdW5jdGlvbiBwcm9jZXNzUmVmIChlbCkge1xuICB2YXIgcmVmID0g
Z2V0QmluZGluZ0F0dHIoZWwsICdyZWYnKTtcbiAgaWYgKHJlZikge1xuICAgIGVsLnJlZiA9IHJl
ZjtcbiAgICBlbC5yZWZJbkZvciA9IGNoZWNrSW5Gb3IoZWwpO1xuICB9XG59XG5cbmZ1bmN0aW9u
IHByb2Nlc3NGb3IgKGVsKSB7XG4gIHZhciBleHA7XG4gIGlmICgoZXhwID0gZ2V0QW5kUmVtb3Zl
QXR0cihlbCwgJ3YtZm9yJykpKSB7XG4gICAgdmFyIGluTWF0Y2ggPSBleHAubWF0Y2goZm9yQWxp
YXNSRSk7XG4gICAgaWYgKCFpbk1hdGNoKSB7XG4gICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAh
PT0gJ3Byb2R1Y3Rpb24nICYmIHdhcm4kMihcbiAgICAgICAgKFwiSW52YWxpZCB2LWZvciBleHBy
ZXNzaW9uOiBcIiArIGV4cClcbiAgICAgICk7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgZWwu
Zm9yID0gaW5NYXRjaFsyXS50cmltKCk7XG4gICAgdmFyIGFsaWFzID0gaW5NYXRjaFsxXS50cmlt
KCk7XG4gICAgdmFyIGl0ZXJhdG9yTWF0Y2ggPSBhbGlhcy5tYXRjaChmb3JJdGVyYXRvclJFKTtc
biAgICBpZiAoaXRlcmF0b3JNYXRjaCkge1xuICAgICAgZWwuYWxpYXMgPSBpdGVyYXRvck1hdGNo
WzFdLnRyaW0oKTtcbiAgICAgIGVsLml0ZXJhdG9yMSA9IGl0ZXJhdG9yTWF0Y2hbMl0udHJpbSgp
O1xuICAgICAgaWYgKGl0ZXJhdG9yTWF0Y2hbM10pIHtcbiAgICAgICAgZWwuaXRlcmF0b3IyID0g
aXRlcmF0b3JNYXRjaFszXS50cmltKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGVs
LmFsaWFzID0gYWxpYXM7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NJZiAoZWwp
IHtcbiAgdmFyIGV4cCA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICd2LWlmJyk7XG4gIGlmIChleHAp
IHtcbiAgICBlbC5pZiA9IGV4cDtcbiAgICBhZGRJZkNvbmRpdGlvbihlbCwge1xuICAgICAgZXhw
OiBleHAsXG4gICAgICBibG9jazogZWxcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoZ2V0
QW5kUmVtb3ZlQXR0cihlbCwgJ3YtZWxzZScpICE9IG51bGwpIHtcbiAgICAgIGVsLmVsc2UgPSB0
cnVlO1xuICAgIH1cbiAgICB2YXIgZWxzZWlmID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3YtZWxz
ZS1pZicpO1xuICAgIGlmIChlbHNlaWYpIHtcbiAgICAgIGVsLmVsc2VpZiA9IGVsc2VpZjtcbiAg
ICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0lmQ29uZGl0aW9ucyAoZWwsIHBhcmVudCkg
e1xuICB2YXIgcHJldiA9IGZpbmRQcmV2RWxlbWVudChwYXJlbnQuY2hpbGRyZW4pO1xuICBpZiAo
cHJldiAmJiBwcmV2LmlmKSB7XG4gICAgYWRkSWZDb25kaXRpb24ocHJldiwge1xuICAgICAgZXhw
OiBlbC5lbHNlaWYsXG4gICAgICBibG9jazogZWxcbiAgICB9KTtcbiAgfSBlbHNlIGlmIChwcm9j
ZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgd2FybiQyKFxuICAgICAg
XCJ2LVwiICsgKGVsLmVsc2VpZiA/ICgnZWxzZS1pZj1cIicgKyBlbC5lbHNlaWYgKyAnXCInKSA6
ICdlbHNlJykgKyBcIiBcIiArXG4gICAgICBcInVzZWQgb24gZWxlbWVudCA8XCIgKyAoZWwudGFn
KSArIFwiPiB3aXRob3V0IGNvcnJlc3BvbmRpbmcgdi1pZi5cIlxuICAgICk7XG4gIH1cbn1cblxu
ZnVuY3Rpb24gZmluZFByZXZFbGVtZW50IChjaGlsZHJlbikge1xuICB2YXIgaSA9IGNoaWxkcmVu
Lmxlbmd0aDtcbiAgd2hpbGUgKGktLSkge1xuICAgIGlmIChjaGlsZHJlbltpXS50eXBlID09PSAx
KSB7XG4gICAgICByZXR1cm4gY2hpbGRyZW5baV1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHBy
b2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgY2hpbGRyZW5baV0udGV4dCAh
PT0gJyAnKSB7XG4gICAgICAgIHdhcm4kMihcbiAgICAgICAgICBcInRleHQgXFxcIlwiICsgKGNo
aWxkcmVuW2ldLnRleHQudHJpbSgpKSArIFwiXFxcIiBiZXR3ZWVuIHYtaWYgYW5kIHYtZWxzZSgt
aWYpIFwiICtcbiAgICAgICAgICBcIndpbGwgYmUgaWdub3JlZC5cIlxuICAgICAgICApO1xuICAg
ICAgfVxuICAgICAgY2hpbGRyZW4ucG9wKCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFk
ZElmQ29uZGl0aW9uIChlbCwgY29uZGl0aW9uKSB7XG4gIGlmICghZWwuaWZDb25kaXRpb25zKSB7
XG4gICAgZWwuaWZDb25kaXRpb25zID0gW107XG4gIH1cbiAgZWwuaWZDb25kaXRpb25zLnB1c2go
Y29uZGl0aW9uKTtcbn1cblxuZnVuY3Rpb24gcHJvY2Vzc09uY2UgKGVsKSB7XG4gIHZhciBvbmNl
JCQxID0gZ2V0QW5kUmVtb3ZlQXR0cihlbCwgJ3Ytb25jZScpO1xuICBpZiAob25jZSQkMSAhPSBu
dWxsKSB7XG4gICAgZWwub25jZSA9IHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvY2Vzc1Ns
b3QgKGVsKSB7XG4gIGlmIChlbC50YWcgPT09ICdzbG90Jykge1xuICAgIGVsLnNsb3ROYW1lID0g
Z2V0QmluZGluZ0F0dHIoZWwsICduYW1lJyk7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5W
ICE9PSAncHJvZHVjdGlvbicgJiYgZWwua2V5KSB7XG4gICAgICB3YXJuJDIoXG4gICAgICAgIFwi
YGtleWAgZG9lcyBub3Qgd29yayBvbiA8c2xvdD4gYmVjYXVzZSBzbG90cyBhcmUgYWJzdHJhY3Qg
b3V0bGV0cyBcIiArXG4gICAgICAgIFwiYW5kIGNhbiBwb3NzaWJseSBleHBhbmQgaW50byBtdWx0
aXBsZSBlbGVtZW50cy4gXCIgK1xuICAgICAgICBcIlVzZSB0aGUga2V5IG9uIGEgd3JhcHBpbmcg
ZWxlbWVudCBpbnN0ZWFkLlwiXG4gICAgICApO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB2YXIg
c2xvdFRhcmdldCA9IGdldEJpbmRpbmdBdHRyKGVsLCAnc2xvdCcpO1xuICAgIGlmIChzbG90VGFy
Z2V0KSB7XG4gICAgICBlbC5zbG90VGFyZ2V0ID0gc2xvdFRhcmdldCA9PT0gJ1wiXCInID8gJ1wi
ZGVmYXVsdFwiJyA6IHNsb3RUYXJnZXQ7XG4gICAgfVxuICAgIGlmIChlbC50YWcgPT09ICd0ZW1w
bGF0ZScpIHtcbiAgICAgIGVsLnNsb3RTY29wZSA9IGdldEFuZFJlbW92ZUF0dHIoZWwsICdzY29w
ZScpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBwcm9jZXNzQ29tcG9uZW50IChlbCkge1xu
ICB2YXIgYmluZGluZztcbiAgaWYgKChiaW5kaW5nID0gZ2V0QmluZGluZ0F0dHIoZWwsICdpcycp
KSkge1xuICAgIGVsLmNvbXBvbmVudCA9IGJpbmRpbmc7XG4gIH1cbiAgaWYgKGdldEFuZFJlbW92
ZUF0dHIoZWwsICdpbmxpbmUtdGVtcGxhdGUnKSAhPSBudWxsKSB7XG4gICAgZWwuaW5saW5lVGVt
cGxhdGUgPSB0cnVlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NBdHRycyAoZWwpIHtcbiAg
dmFyIGxpc3QgPSBlbC5hdHRyc0xpc3Q7XG4gIHZhciBpLCBsLCBuYW1lLCByYXdOYW1lLCB2YWx1
ZSwgbW9kaWZpZXJzLCBpc1Byb3A7XG4gIGZvciAoaSA9IDAsIGwgPSBsaXN0Lmxlbmd0aDsgaSA8
IGw7IGkrKykge1xuICAgIG5hbWUgPSByYXdOYW1lID0gbGlzdFtpXS5uYW1lO1xuICAgIHZhbHVl
ID0gbGlzdFtpXS52YWx1ZTtcbiAgICBpZiAoZGlyUkUudGVzdChuYW1lKSkge1xuICAgICAgLy8g
bWFyayBlbGVtZW50IGFzIGR5bmFtaWNcbiAgICAgIGVsLmhhc0JpbmRpbmdzID0gdHJ1ZTtcbiAg
ICAgIC8vIG1vZGlmaWVyc1xuICAgICAgbW9kaWZpZXJzID0gcGFyc2VNb2RpZmllcnMobmFtZSk7
XG4gICAgICBpZiAobW9kaWZpZXJzKSB7XG4gICAgICAgIG5hbWUgPSBuYW1lLnJlcGxhY2UobW9k
aWZpZXJSRSwgJycpO1xuICAgICAgfVxuICAgICAgaWYgKGJpbmRSRS50ZXN0KG5hbWUpKSB7IC8v
IHYtYmluZFxuICAgICAgICBuYW1lID0gbmFtZS5yZXBsYWNlKGJpbmRSRSwgJycpO1xuICAgICAg
ICB2YWx1ZSA9IHBhcnNlRmlsdGVycyh2YWx1ZSk7XG4gICAgICAgIGlzUHJvcCA9IGZhbHNlO1xu
ICAgICAgICBpZiAobW9kaWZpZXJzKSB7XG4gICAgICAgICAgaWYgKG1vZGlmaWVycy5wcm9wKSB7
XG4gICAgICAgICAgICBpc1Byb3AgPSB0cnVlO1xuICAgICAgICAgICAgbmFtZSA9IGNhbWVsaXpl
KG5hbWUpO1xuICAgICAgICAgICAgaWYgKG5hbWUgPT09ICdpbm5lckh0bWwnKSB7IG5hbWUgPSAn
aW5uZXJIVE1MJzsgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAobW9kaWZpZXJzLmNhbWVs
KSB7XG4gICAgICAgICAgICBuYW1lID0gY2FtZWxpemUobmFtZSk7XG4gICAgICAgICAgfVxuICAg
ICAgICAgIGlmIChtb2RpZmllcnMuc3luYykge1xuICAgICAgICAgICAgYWRkSGFuZGxlcihcbiAg
ICAgICAgICAgICAgZWwsXG4gICAgICAgICAgICAgIChcInVwZGF0ZTpcIiArIChjYW1lbGl6ZShu
YW1lKSkpLFxuICAgICAgICAgICAgICBnZW5Bc3NpZ25tZW50Q29kZSh2YWx1ZSwgXCIkZXZlbnRc
IilcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChp
c1Byb3AgfHwgKFxuICAgICAgICAgICFlbC5jb21wb25lbnQgJiYgcGxhdGZvcm1NdXN0VXNlUHJv
cChlbC50YWcsIGVsLmF0dHJzTWFwLnR5cGUsIG5hbWUpXG4gICAgICAgICkpIHtcbiAgICAgICAg
ICBhZGRQcm9wKGVsLCBuYW1lLCB2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAg
YWRkQXR0cihlbCwgbmFtZSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKG9u
UkUudGVzdChuYW1lKSkgeyAvLyB2LW9uXG4gICAgICAgIG5hbWUgPSBuYW1lLnJlcGxhY2Uob25S
RSwgJycpO1xuICAgICAgICBhZGRIYW5kbGVyKGVsLCBuYW1lLCB2YWx1ZSwgbW9kaWZpZXJzLCBm
YWxzZSwgd2FybiQyKTtcbiAgICAgIH0gZWxzZSB7IC8vIG5vcm1hbCBkaXJlY3RpdmVzXG4gICAg
ICAgIG5hbWUgPSBuYW1lLnJlcGxhY2UoZGlyUkUsICcnKTtcbiAgICAgICAgLy8gcGFyc2UgYXJn
XG4gICAgICAgIHZhciBhcmdNYXRjaCA9IG5hbWUubWF0Y2goYXJnUkUpO1xuICAgICAgICB2YXIg
YXJnID0gYXJnTWF0Y2ggJiYgYXJnTWF0Y2hbMV07XG4gICAgICAgIGlmIChhcmcpIHtcbiAgICAg
ICAgICBuYW1lID0gbmFtZS5zbGljZSgwLCAtKGFyZy5sZW5ndGggKyAxKSk7XG4gICAgICAgIH1c
biAgICAgICAgYWRkRGlyZWN0aXZlKGVsLCBuYW1lLCByYXdOYW1lLCB2YWx1ZSwgYXJnLCBtb2Rp
ZmllcnMpO1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9u
JyAmJiBuYW1lID09PSAnbW9kZWwnKSB7XG4gICAgICAgICAgY2hlY2tGb3JBbGlhc01vZGVsKGVs
LCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gbGl0
ZXJhbCBhdHRyaWJ1dGVcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1
Y3Rpb24nKSB7XG4gICAgICAgIHZhciBleHByZXNzaW9uID0gcGFyc2VUZXh0KHZhbHVlLCBkZWxp
bWl0ZXJzKTtcbiAgICAgICAgaWYgKGV4cHJlc3Npb24pIHtcbiAgICAgICAgICB3YXJuJDIoXG4g
ICAgICAgICAgICBuYW1lICsgXCI9XFxcIlwiICsgdmFsdWUgKyBcIlxcXCI6IFwiICtcbiAgICAg
ICAgICAgICdJbnRlcnBvbGF0aW9uIGluc2lkZSBhdHRyaWJ1dGVzIGhhcyBiZWVuIHJlbW92ZWQu
ICcgK1xuICAgICAgICAgICAgJ1VzZSB2LWJpbmQgb3IgdGhlIGNvbG9uIHNob3J0aGFuZCBpbnN0
ZWFkLiBGb3IgZXhhbXBsZSwgJyArXG4gICAgICAgICAgICAnaW5zdGVhZCBvZiA8ZGl2IGlkPVwi
e3sgdmFsIH19XCI+LCB1c2UgPGRpdiA6aWQ9XCJ2YWxcIj4uJ1xuICAgICAgICAgICk7XG4gICAg
ICAgIH1cbiAgICAgIH1cbiAgICAgIGFkZEF0dHIoZWwsIG5hbWUsIEpTT04uc3RyaW5naWZ5KHZh
bHVlKSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrSW5Gb3IgKGVsKSB7XG4gIHZh
ciBwYXJlbnQgPSBlbDtcbiAgd2hpbGUgKHBhcmVudCkge1xuICAgIGlmIChwYXJlbnQuZm9yICE9
PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIHBhcmVudCA9IHBh
cmVudC5wYXJlbnQ7XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmZ1bmN0aW9uIHBhcnNlTW9k
aWZpZXJzIChuYW1lKSB7XG4gIHZhciBtYXRjaCA9IG5hbWUubWF0Y2gobW9kaWZpZXJSRSk7XG4g
IGlmIChtYXRjaCkge1xuICAgIHZhciByZXQgPSB7fTtcbiAgICBtYXRjaC5mb3JFYWNoKGZ1bmN0
aW9uIChtKSB7IHJldFttLnNsaWNlKDEpXSA9IHRydWU7IH0pO1xuICAgIHJldHVybiByZXRcbiAg
fVxufVxuXG5mdW5jdGlvbiBtYWtlQXR0cnNNYXAgKGF0dHJzKSB7XG4gIHZhciBtYXAgPSB7fTtc
biAgZm9yICh2YXIgaSA9IDAsIGwgPSBhdHRycy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBp
ZiAoXG4gICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAg
ICBtYXBbYXR0cnNbaV0ubmFtZV0gJiYgIWlzSUUgJiYgIWlzRWRnZVxuICAgICkge1xuICAgICAg
d2FybiQyKCdkdXBsaWNhdGUgYXR0cmlidXRlOiAnICsgYXR0cnNbaV0ubmFtZSk7XG4gICAgfVxu
ICAgIG1hcFthdHRyc1tpXS5uYW1lXSA9IGF0dHJzW2ldLnZhbHVlO1xuICB9XG4gIHJldHVybiBt
YXBcbn1cblxuLy8gZm9yIHNjcmlwdCAoZS5nLiB0eXBlPVwieC90ZW1wbGF0ZVwiKSBvciBzdHls
ZSwgZG8gbm90IGRlY29kZSBjb250ZW50XG5mdW5jdGlvbiBpc1RleHRUYWcgKGVsKSB7XG4gIHJl
dHVybiBlbC50YWcgPT09ICdzY3JpcHQnIHx8IGVsLnRhZyA9PT0gJ3N0eWxlJ1xufVxuXG5mdW5j
dGlvbiBpc0ZvcmJpZGRlblRhZyAoZWwpIHtcbiAgcmV0dXJuIChcbiAgICBlbC50YWcgPT09ICdz
dHlsZScgfHxcbiAgICAoZWwudGFnID09PSAnc2NyaXB0JyAmJiAoXG4gICAgICAhZWwuYXR0cnNN
YXAudHlwZSB8fFxuICAgICAgZWwuYXR0cnNNYXAudHlwZSA9PT0gJ3RleHQvamF2YXNjcmlwdCdc
biAgICApKVxuICApXG59XG5cbnZhciBpZU5TQnVnID0gL154bWxuczpOU1xcZCsvO1xudmFyIGll
TlNQcmVmaXggPSAvXk5TXFxkKzovO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuZnVu
Y3Rpb24gZ3VhcmRJRVNWR0J1ZyAoYXR0cnMpIHtcbiAgdmFyIHJlcyA9IFtdO1xuICBmb3IgKHZh
ciBpID0gMDsgaSA8IGF0dHJzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGF0dHIgPSBhdHRyc1tp
XTtcbiAgICBpZiAoIWllTlNCdWcudGVzdChhdHRyLm5hbWUpKSB7XG4gICAgICBhdHRyLm5hbWUg
PSBhdHRyLm5hbWUucmVwbGFjZShpZU5TUHJlZml4LCAnJyk7XG4gICAgICByZXMucHVzaChhdHRy
KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG5mdW5jdGlvbiBjaGVja0ZvckFsaWFz
TW9kZWwgKGVsLCB2YWx1ZSkge1xuICB2YXIgX2VsID0gZWw7XG4gIHdoaWxlIChfZWwpIHtcbiAg
ICBpZiAoX2VsLmZvciAmJiBfZWwuYWxpYXMgPT09IHZhbHVlKSB7XG4gICAgICB3YXJuJDIoXG4g
ICAgICAgIFwiPFwiICsgKGVsLnRhZykgKyBcIiB2LW1vZGVsPVxcXCJcIiArIHZhbHVlICsgXCJc
XFwiPjogXCIgK1xuICAgICAgICBcIllvdSBhcmUgYmluZGluZyB2LW1vZGVsIGRpcmVjdGx5IHRv
IGEgdi1mb3IgaXRlcmF0aW9uIGFsaWFzLiBcIiArXG4gICAgICAgIFwiVGhpcyB3aWxsIG5vdCBi
ZSBhYmxlIHRvIG1vZGlmeSB0aGUgdi1mb3Igc291cmNlIGFycmF5IGJlY2F1c2UgXCIgK1xuICAg
ICAgICBcIndyaXRpbmcgdG8gdGhlIGFsaWFzIGlzIGxpa2UgbW9kaWZ5aW5nIGEgZnVuY3Rpb24g
bG9jYWwgdmFyaWFibGUuIFwiICtcbiAgICAgICAgXCJDb25zaWRlciB1c2luZyBhbiBhcnJheSBv
ZiBvYmplY3RzIGFuZCB1c2Ugdi1tb2RlbCBvbiBhbiBvYmplY3QgcHJvcGVydHkgaW5zdGVhZC5c
IlxuICAgICAgKTtcbiAgICB9XG4gICAgX2VsID0gX2VsLnBhcmVudDtcbiAgfVxufVxuXG4vKiAg
Ki9cblxudmFyIGlzU3RhdGljS2V5O1xudmFyIGlzUGxhdGZvcm1SZXNlcnZlZFRhZztcblxudmFy
IGdlblN0YXRpY0tleXNDYWNoZWQgPSBjYWNoZWQoZ2VuU3RhdGljS2V5cyQxKTtcblxuLyoqXG4g
KiBHb2FsIG9mIHRoZSBvcHRpbWl6ZXI6IHdhbGsgdGhlIGdlbmVyYXRlZCB0ZW1wbGF0ZSBBU1Qg
dHJlZVxuICogYW5kIGRldGVjdCBzdWItdHJlZXMgdGhhdCBhcmUgcHVyZWx5IHN0YXRpYywgaS5l
LiBwYXJ0cyBvZlxuICogdGhlIERPTSB0aGF0IG5ldmVyIG5lZWRzIHRvIGNoYW5nZS5cbiAqXG4g
KiBPbmNlIHdlIGRldGVjdCB0aGVzZSBzdWItdHJlZXMsIHdlIGNhbjpcbiAqXG4gKiAxLiBIb2lz
dCB0aGVtIGludG8gY29uc3RhbnRzLCBzbyB0aGF0IHdlIG5vIGxvbmdlciBuZWVkIHRvXG4gKiAg
ICBjcmVhdGUgZnJlc2ggbm9kZXMgZm9yIHRoZW0gb24gZWFjaCByZS1yZW5kZXI7XG4gKiAyLiBD
b21wbGV0ZWx5IHNraXAgdGhlbSBpbiB0aGUgcGF0Y2hpbmcgcHJvY2Vzcy5cbiAqL1xuZnVuY3Rp
b24gb3B0aW1pemUgKHJvb3QsIG9wdGlvbnMpIHtcbiAgaWYgKCFyb290KSB7IHJldHVybiB9XG4g
IGlzU3RhdGljS2V5ID0gZ2VuU3RhdGljS2V5c0NhY2hlZChvcHRpb25zLnN0YXRpY0tleXMgfHwg
JycpO1xuICBpc1BsYXRmb3JtUmVzZXJ2ZWRUYWcgPSBvcHRpb25zLmlzUmVzZXJ2ZWRUYWcgfHwg
bm87XG4gIC8vIGZpcnN0IHBhc3M6IG1hcmsgYWxsIG5vbi1zdGF0aWMgbm9kZXMuXG4gIG1hcmtT
dGF0aWMkMShyb290KTtcbiAgLy8gc2Vjb25kIHBhc3M6IG1hcmsgc3RhdGljIHJvb3RzLlxuICBt
YXJrU3RhdGljUm9vdHMocm9vdCwgZmFsc2UpO1xufVxuXG5mdW5jdGlvbiBnZW5TdGF0aWNLZXlz
JDEgKGtleXMpIHtcbiAgcmV0dXJuIG1ha2VNYXAoXG4gICAgJ3R5cGUsdGFnLGF0dHJzTGlzdCxh
dHRyc01hcCxwbGFpbixwYXJlbnQsY2hpbGRyZW4sYXR0cnMnICtcbiAgICAoa2V5cyA/ICcsJyAr
IGtleXMgOiAnJylcbiAgKVxufVxuXG5mdW5jdGlvbiBtYXJrU3RhdGljJDEgKG5vZGUpIHtcbiAg
bm9kZS5zdGF0aWMgPSBpc1N0YXRpYyhub2RlKTtcbiAgaWYgKG5vZGUudHlwZSA9PT0gMSkge1xu
ICAgIC8vIGRvIG5vdCBtYWtlIGNvbXBvbmVudCBzbG90IGNvbnRlbnQgc3RhdGljLiB0aGlzIGF2
b2lkc1xuICAgIC8vIDEuIGNvbXBvbmVudHMgbm90IGFibGUgdG8gbXV0YXRlIHNsb3Qgbm9kZXNc
biAgICAvLyAyLiBzdGF0aWMgc2xvdCBjb250ZW50IGZhaWxzIGZvciBob3QtcmVsb2FkaW5nXG4g
ICAgaWYgKFxuICAgICAgIWlzUGxhdGZvcm1SZXNlcnZlZFRhZyhub2RlLnRhZykgJiZcbiAgICAg
IG5vZGUudGFnICE9PSAnc2xvdCcgJiZcbiAgICAgIG5vZGUuYXR0cnNNYXBbJ2lubGluZS10ZW1w
bGF0ZSddID09IG51bGxcbiAgICApIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBmb3IgKHZh
ciBpID0gMCwgbCA9IG5vZGUuY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICB2
YXIgY2hpbGQgPSBub2RlLmNoaWxkcmVuW2ldO1xuICAgICAgbWFya1N0YXRpYyQxKGNoaWxkKTtc
biAgICAgIGlmICghY2hpbGQuc3RhdGljKSB7XG4gICAgICAgIG5vZGUuc3RhdGljID0gZmFsc2U7
XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChub2RlLmlmQ29uZGl0aW9ucykge1xuICAgICAgZm9y
ICh2YXIgaSQxID0gMSwgbCQxID0gbm9kZS5pZkNvbmRpdGlvbnMubGVuZ3RoOyBpJDEgPCBsJDE7
IGkkMSsrKSB7XG4gICAgICAgIHZhciBibG9jayA9IG5vZGUuaWZDb25kaXRpb25zW2kkMV0uYmxv
Y2s7XG4gICAgICAgIG1hcmtTdGF0aWMkMShibG9jayk7XG4gICAgICAgIGlmICghYmxvY2suc3Rh
dGljKSB7XG4gICAgICAgICAgbm9kZS5zdGF0aWMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAg
fVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBtYXJrU3RhdGljUm9vdHMgKG5vZGUsIGlzSW5G
b3IpIHtcbiAgaWYgKG5vZGUudHlwZSA9PT0gMSkge1xuICAgIGlmIChub2RlLnN0YXRpYyB8fCBu
b2RlLm9uY2UpIHtcbiAgICAgIG5vZGUuc3RhdGljSW5Gb3IgPSBpc0luRm9yO1xuICAgIH1cbiAg
ICAvLyBGb3IgYSBub2RlIHRvIHF1YWxpZnkgYXMgYSBzdGF0aWMgcm9vdCwgaXQgc2hvdWxkIGhh
dmUgY2hpbGRyZW4gdGhhdFxuICAgIC8vIGFyZSBub3QganVzdCBzdGF0aWMgdGV4dC4gT3RoZXJ3
aXNlIHRoZSBjb3N0IG9mIGhvaXN0aW5nIG91dCB3aWxsXG4gICAgLy8gb3V0d2VpZ2ggdGhlIGJl
bmVmaXRzIGFuZCBpdCdzIGJldHRlciBvZmYgdG8ganVzdCBhbHdheXMgcmVuZGVyIGl0IGZyZXNo
LlxuICAgIGlmIChub2RlLnN0YXRpYyAmJiBub2RlLmNoaWxkcmVuLmxlbmd0aCAmJiAhKFxuICAg
ICAgbm9kZS5jaGlsZHJlbi5sZW5ndGggPT09IDEgJiZcbiAgICAgIG5vZGUuY2hpbGRyZW5bMF0u
dHlwZSA9PT0gM1xuICAgICkpIHtcbiAgICAgIG5vZGUuc3RhdGljUm9vdCA9IHRydWU7XG4gICAg
ICByZXR1cm5cbiAgICB9IGVsc2Uge1xuICAgICAgbm9kZS5zdGF0aWNSb290ID0gZmFsc2U7XG4g
ICAgfVxuICAgIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgICBmb3IgKHZhciBpID0gMCwgbCA9
IG5vZGUuY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIG1hcmtTdGF0aWNS
b290cyhub2RlLmNoaWxkcmVuW2ldLCBpc0luRm9yIHx8ICEhbm9kZS5mb3IpO1xuICAgICAgfVxu
ICAgIH1cbiAgICBpZiAobm9kZS5pZkNvbmRpdGlvbnMpIHtcbiAgICAgIGZvciAodmFyIGkkMSA9
IDEsIGwkMSA9IG5vZGUuaWZDb25kaXRpb25zLmxlbmd0aDsgaSQxIDwgbCQxOyBpJDErKykge1xu
ICAgICAgICBtYXJrU3RhdGljUm9vdHMobm9kZS5pZkNvbmRpdGlvbnNbaSQxXS5ibG9jaywgaXNJ
bkZvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzU3RhdGljIChub2Rl
KSB7XG4gIGlmIChub2RlLnR5cGUgPT09IDIpIHsgLy8gZXhwcmVzc2lvblxuICAgIHJldHVybiBm
YWxzZVxuICB9XG4gIGlmIChub2RlLnR5cGUgPT09IDMpIHsgLy8gdGV4dFxuICAgIHJldHVybiB0
cnVlXG4gIH1cbiAgcmV0dXJuICEhKG5vZGUucHJlIHx8IChcbiAgICAhbm9kZS5oYXNCaW5kaW5n
cyAmJiAvLyBubyBkeW5hbWljIGJpbmRpbmdzXG4gICAgIW5vZGUuaWYgJiYgIW5vZGUuZm9yICYm
IC8vIG5vdCB2LWlmIG9yIHYtZm9yIG9yIHYtZWxzZVxuICAgICFpc0J1aWx0SW5UYWcobm9kZS50
YWcpICYmIC8vIG5vdCBhIGJ1aWx0LWluXG4gICAgaXNQbGF0Zm9ybVJlc2VydmVkVGFnKG5vZGUu
dGFnKSAmJiAvLyBub3QgYSBjb21wb25lbnRcbiAgICAhaXNEaXJlY3RDaGlsZE9mVGVtcGxhdGVG
b3Iobm9kZSkgJiZcbiAgICBPYmplY3Qua2V5cyhub2RlKS5ldmVyeShpc1N0YXRpY0tleSlcbiAg
KSlcbn1cblxuZnVuY3Rpb24gaXNEaXJlY3RDaGlsZE9mVGVtcGxhdGVGb3IgKG5vZGUpIHtcbiAg
d2hpbGUgKG5vZGUucGFyZW50KSB7XG4gICAgbm9kZSA9IG5vZGUucGFyZW50O1xuICAgIGlmIChu
b2RlLnRhZyAhPT0gJ3RlbXBsYXRlJykge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAg
IGlmIChub2RlLmZvcikge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH1cbiAgcmV0dXJu
IGZhbHNlXG59XG5cbi8qICAqL1xuXG52YXIgZm5FeHBSRSA9IC9eXFxzKihbXFx3JF9dK3xcXChb
XildKj9cXCkpXFxzKj0+fF5mdW5jdGlvblxccypcXCgvO1xudmFyIHNpbXBsZVBhdGhSRSA9IC9e
XFxzKltBLVphLXpfJF1bXFx3JF0qKD86XFwuW0EtWmEtel8kXVtcXHckXSp8XFxbJy4qPyddfFxc
W1wiLio/XCJdfFxcW1xcZCtdfFxcW1tBLVphLXpfJF1bXFx3JF0qXSkqXFxzKiQvO1xuXG4vLyBr
ZXlDb2RlIGFsaWFzZXNcbnZhciBrZXlDb2RlcyA9IHtcbiAgZXNjOiAyNyxcbiAgdGFiOiA5LFxu
ICBlbnRlcjogMTMsXG4gIHNwYWNlOiAzMixcbiAgdXA6IDM4LFxuICBsZWZ0OiAzNyxcbiAgcmln
aHQ6IDM5LFxuICBkb3duOiA0MCxcbiAgJ2RlbGV0ZSc6IFs4LCA0Nl1cbn07XG5cbi8vICM0ODY4
OiBtb2RpZmllcnMgdGhhdCBwcmV2ZW50IHRoZSBleGVjdXRpb24gb2YgdGhlIGxpc3RlbmVyXG4v
LyBuZWVkIHRvIGV4cGxpY2l0bHkgcmV0dXJuIG51bGwgc28gdGhhdCB3ZSBjYW4gZGV0ZXJtaW5l
IHdoZXRoZXIgdG8gcmVtb3ZlXG4vLyB0aGUgbGlzdGVuZXIgZm9yIC5vbmNlXG52YXIgZ2VuR3Vh
cmQgPSBmdW5jdGlvbiAoY29uZGl0aW9uKSB7IHJldHVybiAoXCJpZihcIiArIGNvbmRpdGlvbiAr
IFwiKXJldHVybiBudWxsO1wiKTsgfTtcblxudmFyIG1vZGlmaWVyQ29kZSA9IHtcbiAgc3RvcDog
JyRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsnLFxuICBwcmV2ZW50OiAnJGV2ZW50LnByZXZlbnRE
ZWZhdWx0KCk7JyxcbiAgc2VsZjogZ2VuR3VhcmQoXCIkZXZlbnQudGFyZ2V0ICE9PSAkZXZlbnQu
Y3VycmVudFRhcmdldFwiKSxcbiAgY3RybDogZ2VuR3VhcmQoXCIhJGV2ZW50LmN0cmxLZXlcIiks
XG4gIHNoaWZ0OiBnZW5HdWFyZChcIiEkZXZlbnQuc2hpZnRLZXlcIiksXG4gIGFsdDogZ2VuR3Vh
cmQoXCIhJGV2ZW50LmFsdEtleVwiKSxcbiAgbWV0YTogZ2VuR3VhcmQoXCIhJGV2ZW50Lm1ldGFL
ZXlcIiksXG4gIGxlZnQ6IGdlbkd1YXJkKFwiJ2J1dHRvbicgaW4gJGV2ZW50ICYmICRldmVudC5i
dXR0b24gIT09IDBcIiksXG4gIG1pZGRsZTogZ2VuR3VhcmQoXCInYnV0dG9uJyBpbiAkZXZlbnQg
JiYgJGV2ZW50LmJ1dHRvbiAhPT0gMVwiKSxcbiAgcmlnaHQ6IGdlbkd1YXJkKFwiJ2J1dHRvbicg
aW4gJGV2ZW50ICYmICRldmVudC5idXR0b24gIT09IDJcIilcbn07XG5cbmZ1bmN0aW9uIGdlbkhh
bmRsZXJzIChcbiAgZXZlbnRzLFxuICBpc05hdGl2ZSxcbiAgd2FyblxuKSB7XG4gIHZhciByZXMg
PSBpc05hdGl2ZSA/ICduYXRpdmVPbjp7JyA6ICdvbjp7JztcbiAgZm9yICh2YXIgbmFtZSBpbiBl
dmVudHMpIHtcbiAgICB2YXIgaGFuZGxlciA9IGV2ZW50c1tuYW1lXTtcbiAgICAvLyAjNTMzMDog
d2FybiBjbGljay5yaWdodCwgc2luY2UgcmlnaHQgY2xpY2tzIGRvIG5vdCBhY3R1YWxseSBmaXJl
IGNsaWNrIGV2ZW50cy5cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0
aW9uJyAmJlxuICAgICAgbmFtZSA9PT0gJ2NsaWNrJyAmJlxuICAgICAgaGFuZGxlciAmJiBoYW5k
bGVyLm1vZGlmaWVycyAmJiBoYW5kbGVyLm1vZGlmaWVycy5yaWdodFxuICAgICkge1xuICAgICAg
d2FybihcbiAgICAgICAgXCJVc2UgXFxcImNvbnRleHRtZW51XFxcIiBpbnN0ZWFkIG9mIFxcXCJj
bGljay5yaWdodFxcXCIgc2luY2UgcmlnaHQgY2xpY2tzIFwiICtcbiAgICAgICAgXCJkbyBub3Qg
YWN0dWFsbHkgZmlyZSBcXFwiY2xpY2tcXFwiIGV2ZW50cy5cIlxuICAgICAgKTtcbiAgICB9XG4g
ICAgcmVzICs9IFwiXFxcIlwiICsgbmFtZSArIFwiXFxcIjpcIiArIChnZW5IYW5kbGVyKG5hbWUs
IGhhbmRsZXIpKSArIFwiLFwiO1xuICB9XG4gIHJldHVybiByZXMuc2xpY2UoMCwgLTEpICsgJ30n
XG59XG5cbmZ1bmN0aW9uIGdlbkhhbmRsZXIgKFxuICBuYW1lLFxuICBoYW5kbGVyXG4pIHtcbiAg
aWYgKCFoYW5kbGVyKSB7XG4gICAgcmV0dXJuICdmdW5jdGlvbigpe30nXG4gIH1cblxuICBpZiAo
QXJyYXkuaXNBcnJheShoYW5kbGVyKSkge1xuICAgIHJldHVybiAoXCJbXCIgKyAoaGFuZGxlci5t
YXAoZnVuY3Rpb24gKGhhbmRsZXIpIHsgcmV0dXJuIGdlbkhhbmRsZXIobmFtZSwgaGFuZGxlcik7
IH0pLmpvaW4oJywnKSkgKyBcIl1cIilcbiAgfVxuXG4gIHZhciBpc01ldGhvZFBhdGggPSBzaW1w
bGVQYXRoUkUudGVzdChoYW5kbGVyLnZhbHVlKTtcbiAgdmFyIGlzRnVuY3Rpb25FeHByZXNzaW9u
ID0gZm5FeHBSRS50ZXN0KGhhbmRsZXIudmFsdWUpO1xuXG4gIGlmICghaGFuZGxlci5tb2RpZmll
cnMpIHtcbiAgICByZXR1cm4gaXNNZXRob2RQYXRoIHx8IGlzRnVuY3Rpb25FeHByZXNzaW9uXG4g
ICAgICA/IGhhbmRsZXIudmFsdWVcbiAgICAgIDogKFwiZnVuY3Rpb24oJGV2ZW50KXtcIiArICho
YW5kbGVyLnZhbHVlKSArIFwifVwiKSAvLyBpbmxpbmUgc3RhdGVtZW50XG4gIH0gZWxzZSB7XG4g
ICAgdmFyIGNvZGUgPSAnJztcbiAgICB2YXIgZ2VuTW9kaWZpZXJDb2RlID0gJyc7XG4gICAgdmFy
IGtleXMgPSBbXTtcbiAgICBmb3IgKHZhciBrZXkgaW4gaGFuZGxlci5tb2RpZmllcnMpIHtcbiAg
ICAgIGlmIChtb2RpZmllckNvZGVba2V5XSkge1xuICAgICAgICBnZW5Nb2RpZmllckNvZGUgKz0g
bW9kaWZpZXJDb2RlW2tleV07XG4gICAgICAgIC8vIGxlZnQvcmlnaHRcbiAgICAgICAgaWYgKGtl
eUNvZGVzW2tleV0pIHtcbiAgICAgICAgICBrZXlzLnB1c2goa2V5KTtcbiAgICAgICAgfVxuICAg
ICAgfSBlbHNlIHtcbiAgICAgICAga2V5cy5wdXNoKGtleSk7XG4gICAgICB9XG4gICAgfVxuICAg
IGlmIChrZXlzLmxlbmd0aCkge1xuICAgICAgY29kZSArPSBnZW5LZXlGaWx0ZXIoa2V5cyk7XG4g
ICAgfVxuICAgIC8vIE1ha2Ugc3VyZSBtb2RpZmllcnMgbGlrZSBwcmV2ZW50IGFuZCBzdG9wIGdl
dCBleGVjdXRlZCBhZnRlciBrZXkgZmlsdGVyaW5nXG4gICAgaWYgKGdlbk1vZGlmaWVyQ29kZSkg
e1xuICAgICAgY29kZSArPSBnZW5Nb2RpZmllckNvZGU7XG4gICAgfVxuICAgIHZhciBoYW5kbGVy
Q29kZSA9IGlzTWV0aG9kUGF0aFxuICAgICAgPyBoYW5kbGVyLnZhbHVlICsgJygkZXZlbnQpJ1xu
ICAgICAgOiBpc0Z1bmN0aW9uRXhwcmVzc2lvblxuICAgICAgICA/IChcIihcIiArIChoYW5kbGVy
LnZhbHVlKSArIFwiKSgkZXZlbnQpXCIpXG4gICAgICAgIDogaGFuZGxlci52YWx1ZTtcbiAgICBy
ZXR1cm4gKFwiZnVuY3Rpb24oJGV2ZW50KXtcIiArIGNvZGUgKyBoYW5kbGVyQ29kZSArIFwifVwi
KVxuICB9XG59XG5cbmZ1bmN0aW9uIGdlbktleUZpbHRlciAoa2V5cykge1xuICByZXR1cm4gKFwi
aWYoISgnYnV0dG9uJyBpbiAkZXZlbnQpJiZcIiArIChrZXlzLm1hcChnZW5GaWx0ZXJDb2RlKS5q
b2luKCcmJicpKSArIFwiKXJldHVybiBudWxsO1wiKVxufVxuXG5mdW5jdGlvbiBnZW5GaWx0ZXJD
b2RlIChrZXkpIHtcbiAgdmFyIGtleVZhbCA9IHBhcnNlSW50KGtleSwgMTApO1xuICBpZiAoa2V5
VmFsKSB7XG4gICAgcmV0dXJuIChcIiRldmVudC5rZXlDb2RlIT09XCIgKyBrZXlWYWwpXG4gIH1c
biAgdmFyIGFsaWFzID0ga2V5Q29kZXNba2V5XTtcbiAgcmV0dXJuIChcIl9rKCRldmVudC5rZXlD
b2RlLFwiICsgKEpTT04uc3RyaW5naWZ5KGtleSkpICsgKGFsaWFzID8gJywnICsgSlNPTi5zdHJp
bmdpZnkoYWxpYXMpIDogJycpICsgXCIpXCIpXG59XG5cbi8qICAqL1xuXG5mdW5jdGlvbiBvbiAo
ZWwsIGRpcikge1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAm
JiBkaXIubW9kaWZpZXJzKSB7XG4gICAgd2FybihcInYtb24gd2l0aG91dCBhcmd1bWVudCBkb2Vz
IG5vdCBzdXBwb3J0IG1vZGlmaWVycy5cIik7XG4gIH1cbiAgZWwud3JhcExpc3RlbmVycyA9IGZ1
bmN0aW9uIChjb2RlKSB7IHJldHVybiAoXCJfZyhcIiArIGNvZGUgKyBcIixcIiArIChkaXIudmFs
dWUpICsgXCIpXCIpOyB9O1xufVxuXG4vKiAgKi9cblxuZnVuY3Rpb24gYmluZCQxIChlbCwgZGly
KSB7XG4gIGVsLndyYXBEYXRhID0gZnVuY3Rpb24gKGNvZGUpIHtcbiAgICByZXR1cm4gKFwiX2Io
XCIgKyBjb2RlICsgXCIsJ1wiICsgKGVsLnRhZykgKyBcIicsXCIgKyAoZGlyLnZhbHVlKSArIFwi
LFwiICsgKGRpci5tb2RpZmllcnMgJiYgZGlyLm1vZGlmaWVycy5wcm9wID8gJ3RydWUnIDogJ2Zh
bHNlJykgKyAoZGlyLm1vZGlmaWVycyAmJiBkaXIubW9kaWZpZXJzLnN5bmMgPyAnLHRydWUnIDog
JycpICsgXCIpXCIpXG4gIH07XG59XG5cbi8qICAqL1xuXG52YXIgYmFzZURpcmVjdGl2ZXMgPSB7
XG4gIG9uOiBvbixcbiAgYmluZDogYmluZCQxLFxuICBjbG9hazogbm9vcFxufTtcblxuLyogICov
XG5cbnZhciBDb2RlZ2VuU3RhdGUgPSBmdW5jdGlvbiBDb2RlZ2VuU3RhdGUgKG9wdGlvbnMpIHtc
biAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgdGhpcy53YXJuID0gb3B0aW9ucy53YXJuIHx8
IGJhc2VXYXJuO1xuICB0aGlzLnRyYW5zZm9ybXMgPSBwbHVja01vZHVsZUZ1bmN0aW9uKG9wdGlv
bnMubW9kdWxlcywgJ3RyYW5zZm9ybUNvZGUnKTtcbiAgdGhpcy5kYXRhR2VuRm5zID0gcGx1Y2tN
b2R1bGVGdW5jdGlvbihvcHRpb25zLm1vZHVsZXMsICdnZW5EYXRhJyk7XG4gIHRoaXMuZGlyZWN0
aXZlcyA9IGV4dGVuZChleHRlbmQoe30sIGJhc2VEaXJlY3RpdmVzKSwgb3B0aW9ucy5kaXJlY3Rp
dmVzKTtcbiAgdmFyIGlzUmVzZXJ2ZWRUYWcgPSBvcHRpb25zLmlzUmVzZXJ2ZWRUYWcgfHwgbm87
XG4gIHRoaXMubWF5YmVDb21wb25lbnQgPSBmdW5jdGlvbiAoZWwpIHsgcmV0dXJuICFpc1Jlc2Vy
dmVkVGFnKGVsLnRhZyk7IH07XG4gIHRoaXMub25jZUlkID0gMDtcbiAgdGhpcy5zdGF0aWNSZW5k
ZXJGbnMgPSBbXTtcbn07XG5cblxuXG5mdW5jdGlvbiBnZW5lcmF0ZSAoXG4gIGFzdCxcbiAgb3B0
aW9uc1xuKSB7XG4gIHZhciBzdGF0ZSA9IG5ldyBDb2RlZ2VuU3RhdGUob3B0aW9ucyk7XG4gIHZh
ciBjb2RlID0gYXN0ID8gZ2VuRWxlbWVudChhc3QsIHN0YXRlKSA6ICdfYyhcImRpdlwiKSc7XG4g
IHJldHVybiB7XG4gICAgcmVuZGVyOiAoXCJ3aXRoKHRoaXMpe3JldHVybiBcIiArIGNvZGUgKyBc
In1cIiksXG4gICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0ZS5zdGF0aWNSZW5kZXJGbnNcbiAgfVxu
fVxuXG5mdW5jdGlvbiBnZW5FbGVtZW50IChlbCwgc3RhdGUpIHtcbiAgaWYgKGVsLnN0YXRpY1Jv
b3QgJiYgIWVsLnN0YXRpY1Byb2Nlc3NlZCkge1xuICAgIHJldHVybiBnZW5TdGF0aWMoZWwsIHN0
YXRlKVxuICB9IGVsc2UgaWYgKGVsLm9uY2UgJiYgIWVsLm9uY2VQcm9jZXNzZWQpIHtcbiAgICBy
ZXR1cm4gZ2VuT25jZShlbCwgc3RhdGUpXG4gIH0gZWxzZSBpZiAoZWwuZm9yICYmICFlbC5mb3JQ
cm9jZXNzZWQpIHtcbiAgICByZXR1cm4gZ2VuRm9yKGVsLCBzdGF0ZSlcbiAgfSBlbHNlIGlmIChl
bC5pZiAmJiAhZWwuaWZQcm9jZXNzZWQpIHtcbiAgICByZXR1cm4gZ2VuSWYoZWwsIHN0YXRlKVxu
ICB9IGVsc2UgaWYgKGVsLnRhZyA9PT0gJ3RlbXBsYXRlJyAmJiAhZWwuc2xvdFRhcmdldCkge1xu
ICAgIHJldHVybiBnZW5DaGlsZHJlbihlbCwgc3RhdGUpIHx8ICd2b2lkIDAnXG4gIH0gZWxzZSBp
ZiAoZWwudGFnID09PSAnc2xvdCcpIHtcbiAgICByZXR1cm4gZ2VuU2xvdChlbCwgc3RhdGUpXG4g
IH0gZWxzZSB7XG4gICAgLy8gY29tcG9uZW50IG9yIGVsZW1lbnRcbiAgICB2YXIgY29kZTtcbiAg
ICBpZiAoZWwuY29tcG9uZW50KSB7XG4gICAgICBjb2RlID0gZ2VuQ29tcG9uZW50KGVsLmNvbXBv
bmVudCwgZWwsIHN0YXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGRhdGEgPSBlbC5wbGFp
biA/IHVuZGVmaW5lZCA6IGdlbkRhdGEkMihlbCwgc3RhdGUpO1xuXG4gICAgICB2YXIgY2hpbGRy
ZW4gPSBlbC5pbmxpbmVUZW1wbGF0ZSA/IG51bGwgOiBnZW5DaGlsZHJlbihlbCwgc3RhdGUsIHRy
dWUpO1xuICAgICAgY29kZSA9IFwiX2MoJ1wiICsgKGVsLnRhZykgKyBcIidcIiArIChkYXRhID8g
KFwiLFwiICsgZGF0YSkgOiAnJykgKyAoY2hpbGRyZW4gPyAoXCIsXCIgKyBjaGlsZHJlbikgOiAn
JykgKyBcIilcIjtcbiAgICB9XG4gICAgLy8gbW9kdWxlIHRyYW5zZm9ybXNcbiAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IHN0YXRlLnRyYW5zZm9ybXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvZGUg
PSBzdGF0ZS50cmFuc2Zvcm1zW2ldKGVsLCBjb2RlKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvZGVc
biAgfVxufVxuXG4vLyBob2lzdCBzdGF0aWMgc3ViLXRyZWVzIG91dFxuZnVuY3Rpb24gZ2VuU3Rh
dGljIChlbCwgc3RhdGUpIHtcbiAgZWwuc3RhdGljUHJvY2Vzc2VkID0gdHJ1ZTtcbiAgc3RhdGUu
c3RhdGljUmVuZGVyRm5zLnB1c2goKFwid2l0aCh0aGlzKXtyZXR1cm4gXCIgKyAoZ2VuRWxlbWVu
dChlbCwgc3RhdGUpKSArIFwifVwiKSk7XG4gIHJldHVybiAoXCJfbShcIiArIChzdGF0ZS5zdGF0
aWNSZW5kZXJGbnMubGVuZ3RoIC0gMSkgKyAoZWwuc3RhdGljSW5Gb3IgPyAnLHRydWUnIDogJycp
ICsgXCIpXCIpXG59XG5cbi8vIHYtb25jZVxuZnVuY3Rpb24gZ2VuT25jZSAoZWwsIHN0YXRlKSB7
XG4gIGVsLm9uY2VQcm9jZXNzZWQgPSB0cnVlO1xuICBpZiAoZWwuaWYgJiYgIWVsLmlmUHJvY2Vz
c2VkKSB7XG4gICAgcmV0dXJuIGdlbklmKGVsLCBzdGF0ZSlcbiAgfSBlbHNlIGlmIChlbC5zdGF0
aWNJbkZvcikge1xuICAgIHZhciBrZXkgPSAnJztcbiAgICB2YXIgcGFyZW50ID0gZWwucGFyZW50
O1xuICAgIHdoaWxlIChwYXJlbnQpIHtcbiAgICAgIGlmIChwYXJlbnQuZm9yKSB7XG4gICAgICAg
IGtleSA9IHBhcmVudC5rZXk7XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICBwYXJlbnQg
PSBwYXJlbnQucGFyZW50O1xuICAgIH1cbiAgICBpZiAoIWtleSkge1xuICAgICAgcHJvY2Vzcy5l
bnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBzdGF0ZS53YXJuKFxuICAgICAgICBcInYt
b25jZSBjYW4gb25seSBiZSB1c2VkIGluc2lkZSB2LWZvciB0aGF0IGlzIGtleWVkLiBcIlxuICAg
ICAgKTtcbiAgICAgIHJldHVybiBnZW5FbGVtZW50KGVsLCBzdGF0ZSlcbiAgICB9XG4gICAgcmV0
dXJuIChcIl9vKFwiICsgKGdlbkVsZW1lbnQoZWwsIHN0YXRlKSkgKyBcIixcIiArIChzdGF0ZS5v
bmNlSWQrKykgKyAoa2V5ID8gKFwiLFwiICsga2V5KSA6IFwiXCIpICsgXCIpXCIpXG4gIH0gZWxz
ZSB7XG4gICAgcmV0dXJuIGdlblN0YXRpYyhlbCwgc3RhdGUpXG4gIH1cbn1cblxuZnVuY3Rpb24g
Z2VuSWYgKFxuICBlbCxcbiAgc3RhdGUsXG4gIGFsdEdlbixcbiAgYWx0RW1wdHlcbikge1xuICBl
bC5pZlByb2Nlc3NlZCA9IHRydWU7IC8vIGF2b2lkIHJlY3Vyc2lvblxuICByZXR1cm4gZ2VuSWZD
b25kaXRpb25zKGVsLmlmQ29uZGl0aW9ucy5zbGljZSgpLCBzdGF0ZSwgYWx0R2VuLCBhbHRFbXB0
eSlcbn1cblxuZnVuY3Rpb24gZ2VuSWZDb25kaXRpb25zIChcbiAgY29uZGl0aW9ucyxcbiAgc3Rh
dGUsXG4gIGFsdEdlbixcbiAgYWx0RW1wdHlcbikge1xuICBpZiAoIWNvbmRpdGlvbnMubGVuZ3Ro
KSB7XG4gICAgcmV0dXJuIGFsdEVtcHR5IHx8ICdfZSgpJ1xuICB9XG5cbiAgdmFyIGNvbmRpdGlv
biA9IGNvbmRpdGlvbnMuc2hpZnQoKTtcbiAgaWYgKGNvbmRpdGlvbi5leHApIHtcbiAgICByZXR1
cm4gKFwiKFwiICsgKGNvbmRpdGlvbi5leHApICsgXCIpP1wiICsgKGdlblRlcm5hcnlFeHAoY29u
ZGl0aW9uLmJsb2NrKSkgKyBcIjpcIiArIChnZW5JZkNvbmRpdGlvbnMoY29uZGl0aW9ucywgc3Rh
dGUsIGFsdEdlbiwgYWx0RW1wdHkpKSlcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gKFwiXCIgKyAo
Z2VuVGVybmFyeUV4cChjb25kaXRpb24uYmxvY2spKSlcbiAgfVxuXG4gIC8vIHYtaWYgd2l0aCB2
LW9uY2Ugc2hvdWxkIGdlbmVyYXRlIGNvZGUgbGlrZSAoYSk/X20oMCk6X20oMSlcbiAgZnVuY3Rp
b24gZ2VuVGVybmFyeUV4cCAoZWwpIHtcbiAgICByZXR1cm4gYWx0R2VuXG4gICAgICA/IGFsdEdl
bihlbCwgc3RhdGUpXG4gICAgICA6IGVsLm9uY2VcbiAgICAgICAgPyBnZW5PbmNlKGVsLCBzdGF0
ZSlcbiAgICAgICAgOiBnZW5FbGVtZW50KGVsLCBzdGF0ZSlcbiAgfVxufVxuXG5mdW5jdGlvbiBn
ZW5Gb3IgKFxuICBlbCxcbiAgc3RhdGUsXG4gIGFsdEdlbixcbiAgYWx0SGVscGVyXG4pIHtcbiAg
dmFyIGV4cCA9IGVsLmZvcjtcbiAgdmFyIGFsaWFzID0gZWwuYWxpYXM7XG4gIHZhciBpdGVyYXRv
cjEgPSBlbC5pdGVyYXRvcjEgPyAoXCIsXCIgKyAoZWwuaXRlcmF0b3IxKSkgOiAnJztcbiAgdmFy
IGl0ZXJhdG9yMiA9IGVsLml0ZXJhdG9yMiA/IChcIixcIiArIChlbC5pdGVyYXRvcjIpKSA6ICcn
O1xuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmXG4gICAg
c3RhdGUubWF5YmVDb21wb25lbnQoZWwpICYmXG4gICAgZWwudGFnICE9PSAnc2xvdCcgJiZcbiAg
ICBlbC50YWcgIT09ICd0ZW1wbGF0ZScgJiZcbiAgICAhZWwua2V5XG4gICkge1xuICAgIHN0YXRl
Lndhcm4oXG4gICAgICBcIjxcIiArIChlbC50YWcpICsgXCIgdi1mb3I9XFxcIlwiICsgYWxpYXMg
KyBcIiBpbiBcIiArIGV4cCArIFwiXFxcIj46IGNvbXBvbmVudCBsaXN0cyByZW5kZXJlZCB3aXRo
IFwiICtcbiAgICAgIFwidi1mb3Igc2hvdWxkIGhhdmUgZXhwbGljaXQga2V5cy4gXCIgK1xuICAg
ICAgXCJTZWUgaHR0cHM6Ly92dWVqcy5vcmcvZ3VpZGUvbGlzdC5odG1sI2tleSBmb3IgbW9yZSBp
bmZvLlwiLFxuICAgICAgdHJ1ZSAvKiB0aXAgKi9cbiAgICApO1xuICB9XG5cbiAgZWwuZm9yUHJv
Y2Vzc2VkID0gdHJ1ZTsgLy8gYXZvaWQgcmVjdXJzaW9uXG4gIHJldHVybiAoYWx0SGVscGVyIHx8
ICdfbCcpICsgXCIoKFwiICsgZXhwICsgXCIpLFwiICtcbiAgICBcImZ1bmN0aW9uKFwiICsgYWxp
YXMgKyBpdGVyYXRvcjEgKyBpdGVyYXRvcjIgKyBcIil7XCIgK1xuICAgICAgXCJyZXR1cm4gXCIg
KyAoKGFsdEdlbiB8fCBnZW5FbGVtZW50KShlbCwgc3RhdGUpKSArXG4gICAgJ30pJ1xufVxuXG5m
dW5jdGlvbiBnZW5EYXRhJDIgKGVsLCBzdGF0ZSkge1xuICB2YXIgZGF0YSA9ICd7JztcblxuICAv
LyBkaXJlY3RpdmVzIGZpcnN0LlxuICAvLyBkaXJlY3RpdmVzIG1heSBtdXRhdGUgdGhlIGVsJ3Mg
b3RoZXIgcHJvcGVydGllcyBiZWZvcmUgdGhleSBhcmUgZ2VuZXJhdGVkLlxuICB2YXIgZGlycyA9
IGdlbkRpcmVjdGl2ZXMoZWwsIHN0YXRlKTtcbiAgaWYgKGRpcnMpIHsgZGF0YSArPSBkaXJzICsg
JywnOyB9XG5cbiAgLy8ga2V5XG4gIGlmIChlbC5rZXkpIHtcbiAgICBkYXRhICs9IFwia2V5Olwi
ICsgKGVsLmtleSkgKyBcIixcIjtcbiAgfVxuICAvLyByZWZcbiAgaWYgKGVsLnJlZikge1xuICAg
IGRhdGEgKz0gXCJyZWY6XCIgKyAoZWwucmVmKSArIFwiLFwiO1xuICB9XG4gIGlmIChlbC5yZWZJ
bkZvcikge1xuICAgIGRhdGEgKz0gXCJyZWZJbkZvcjp0cnVlLFwiO1xuICB9XG4gIC8vIHByZVxu
ICBpZiAoZWwucHJlKSB7XG4gICAgZGF0YSArPSBcInByZTp0cnVlLFwiO1xuICB9XG4gIC8vIHJl
Y29yZCBvcmlnaW5hbCB0YWcgbmFtZSBmb3IgY29tcG9uZW50cyB1c2luZyBcImlzXCIgYXR0cmli
dXRlXG4gIGlmIChlbC5jb21wb25lbnQpIHtcbiAgICBkYXRhICs9IFwidGFnOlxcXCJcIiArIChl
bC50YWcpICsgXCJcXFwiLFwiO1xuICB9XG4gIC8vIG1vZHVsZSBkYXRhIGdlbmVyYXRpb24gZnVu
Y3Rpb25zXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgc3RhdGUuZGF0YUdlbkZucy5sZW5ndGg7IGkr
Kykge1xuICAgIGRhdGEgKz0gc3RhdGUuZGF0YUdlbkZuc1tpXShlbCk7XG4gIH1cbiAgLy8gYXR0
cmlidXRlc1xuICBpZiAoZWwuYXR0cnMpIHtcbiAgICBkYXRhICs9IFwiYXR0cnM6e1wiICsgKGdl
blByb3BzKGVsLmF0dHJzKSkgKyBcIn0sXCI7XG4gIH1cbiAgLy8gRE9NIHByb3BzXG4gIGlmIChl
bC5wcm9wcykge1xuICAgIGRhdGEgKz0gXCJkb21Qcm9wczp7XCIgKyAoZ2VuUHJvcHMoZWwucHJv
cHMpKSArIFwifSxcIjtcbiAgfVxuICAvLyBldmVudCBoYW5kbGVyc1xuICBpZiAoZWwuZXZlbnRz
KSB7XG4gICAgZGF0YSArPSAoZ2VuSGFuZGxlcnMoZWwuZXZlbnRzLCBmYWxzZSwgc3RhdGUud2Fy
bikpICsgXCIsXCI7XG4gIH1cbiAgaWYgKGVsLm5hdGl2ZUV2ZW50cykge1xuICAgIGRhdGEgKz0g
KGdlbkhhbmRsZXJzKGVsLm5hdGl2ZUV2ZW50cywgdHJ1ZSwgc3RhdGUud2FybikpICsgXCIsXCI7
XG4gIH1cbiAgLy8gc2xvdCB0YXJnZXRcbiAgaWYgKGVsLnNsb3RUYXJnZXQpIHtcbiAgICBkYXRh
ICs9IFwic2xvdDpcIiArIChlbC5zbG90VGFyZ2V0KSArIFwiLFwiO1xuICB9XG4gIC8vIHNjb3Bl
ZCBzbG90c1xuICBpZiAoZWwuc2NvcGVkU2xvdHMpIHtcbiAgICBkYXRhICs9IChnZW5TY29wZWRT
bG90cyhlbC5zY29wZWRTbG90cywgc3RhdGUpKSArIFwiLFwiO1xuICB9XG4gIC8vIGNvbXBvbmVu
dCB2LW1vZGVsXG4gIGlmIChlbC5tb2RlbCkge1xuICAgIGRhdGEgKz0gXCJtb2RlbDp7dmFsdWU6
XCIgKyAoZWwubW9kZWwudmFsdWUpICsgXCIsY2FsbGJhY2s6XCIgKyAoZWwubW9kZWwuY2FsbGJh
Y2spICsgXCIsZXhwcmVzc2lvbjpcIiArIChlbC5tb2RlbC5leHByZXNzaW9uKSArIFwifSxcIjtc
biAgfVxuICAvLyBpbmxpbmUtdGVtcGxhdGVcbiAgaWYgKGVsLmlubGluZVRlbXBsYXRlKSB7XG4g
ICAgdmFyIGlubGluZVRlbXBsYXRlID0gZ2VuSW5saW5lVGVtcGxhdGUoZWwsIHN0YXRlKTtcbiAg
ICBpZiAoaW5saW5lVGVtcGxhdGUpIHtcbiAgICAgIGRhdGEgKz0gaW5saW5lVGVtcGxhdGUgKyBc
IixcIjtcbiAgICB9XG4gIH1cbiAgZGF0YSA9IGRhdGEucmVwbGFjZSgvLCQvLCAnJykgKyAnfSc7
XG4gIC8vIHYtYmluZCBkYXRhIHdyYXBcbiAgaWYgKGVsLndyYXBEYXRhKSB7XG4gICAgZGF0YSA9
IGVsLndyYXBEYXRhKGRhdGEpO1xuICB9XG4gIC8vIHYtb24gZGF0YSB3cmFwXG4gIGlmIChlbC53
cmFwTGlzdGVuZXJzKSB7XG4gICAgZGF0YSA9IGVsLndyYXBMaXN0ZW5lcnMoZGF0YSk7XG4gIH1c
biAgcmV0dXJuIGRhdGFcbn1cblxuZnVuY3Rpb24gZ2VuRGlyZWN0aXZlcyAoZWwsIHN0YXRlKSB7
XG4gIHZhciBkaXJzID0gZWwuZGlyZWN0aXZlcztcbiAgaWYgKCFkaXJzKSB7IHJldHVybiB9XG4g
IHZhciByZXMgPSAnZGlyZWN0aXZlczpbJztcbiAgdmFyIGhhc1J1bnRpbWUgPSBmYWxzZTtcbiAg
dmFyIGksIGwsIGRpciwgbmVlZFJ1bnRpbWU7XG4gIGZvciAoaSA9IDAsIGwgPSBkaXJzLmxlbmd0
aDsgaSA8IGw7IGkrKykge1xuICAgIGRpciA9IGRpcnNbaV07XG4gICAgbmVlZFJ1bnRpbWUgPSB0
cnVlO1xuICAgIHZhciBnZW4gPSBzdGF0ZS5kaXJlY3RpdmVzW2Rpci5uYW1lXTtcbiAgICBpZiAo
Z2VuKSB7XG4gICAgICAvLyBjb21waWxlLXRpbWUgZGlyZWN0aXZlIHRoYXQgbWFuaXB1bGF0ZXMg
QVNULlxuICAgICAgLy8gcmV0dXJucyB0cnVlIGlmIGl0IGFsc28gbmVlZHMgYSBydW50aW1lIGNv
dW50ZXJwYXJ0LlxuICAgICAgbmVlZFJ1bnRpbWUgPSAhIWdlbihlbCwgZGlyLCBzdGF0ZS53YXJu
KTtcbiAgICB9XG4gICAgaWYgKG5lZWRSdW50aW1lKSB7XG4gICAgICBoYXNSdW50aW1lID0gdHJ1
ZTtcbiAgICAgIHJlcyArPSBcIntuYW1lOlxcXCJcIiArIChkaXIubmFtZSkgKyBcIlxcXCIscmF3
TmFtZTpcXFwiXCIgKyAoZGlyLnJhd05hbWUpICsgXCJcXFwiXCIgKyAoZGlyLnZhbHVlID8gKFwi
LHZhbHVlOihcIiArIChkaXIudmFsdWUpICsgXCIpLGV4cHJlc3Npb246XCIgKyAoSlNPTi5zdHJp
bmdpZnkoZGlyLnZhbHVlKSkpIDogJycpICsgKGRpci5hcmcgPyAoXCIsYXJnOlxcXCJcIiArIChk
aXIuYXJnKSArIFwiXFxcIlwiKSA6ICcnKSArIChkaXIubW9kaWZpZXJzID8gKFwiLG1vZGlmaWVy
czpcIiArIChKU09OLnN0cmluZ2lmeShkaXIubW9kaWZpZXJzKSkpIDogJycpICsgXCJ9LFwiO1xu
ICAgIH1cbiAgfVxuICBpZiAoaGFzUnVudGltZSkge1xuICAgIHJldHVybiByZXMuc2xpY2UoMCwg
LTEpICsgJ10nXG4gIH1cbn1cblxuZnVuY3Rpb24gZ2VuSW5saW5lVGVtcGxhdGUgKGVsLCBzdGF0
ZSkge1xuICB2YXIgYXN0ID0gZWwuY2hpbGRyZW5bMF07XG4gIGlmIChwcm9jZXNzLmVudi5OT0RF
X0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIChcbiAgICBlbC5jaGlsZHJlbi5sZW5ndGggPiAxIHx8
IGFzdC50eXBlICE9PSAxXG4gICkpIHtcbiAgICBzdGF0ZS53YXJuKCdJbmxpbmUtdGVtcGxhdGUg
Y29tcG9uZW50cyBtdXN0IGhhdmUgZXhhY3RseSBvbmUgY2hpbGQgZWxlbWVudC4nKTtcbiAgfVxu
ICBpZiAoYXN0LnR5cGUgPT09IDEpIHtcbiAgICB2YXIgaW5saW5lUmVuZGVyRm5zID0gZ2VuZXJh
dGUoYXN0LCBzdGF0ZS5vcHRpb25zKTtcbiAgICByZXR1cm4gKFwiaW5saW5lVGVtcGxhdGU6e3Jl
bmRlcjpmdW5jdGlvbigpe1wiICsgKGlubGluZVJlbmRlckZucy5yZW5kZXIpICsgXCJ9LHN0YXRp
Y1JlbmRlckZuczpbXCIgKyAoaW5saW5lUmVuZGVyRm5zLnN0YXRpY1JlbmRlckZucy5tYXAoZnVu
Y3Rpb24gKGNvZGUpIHsgcmV0dXJuIChcImZ1bmN0aW9uKCl7XCIgKyBjb2RlICsgXCJ9XCIpOyB9
KS5qb2luKCcsJykpICsgXCJdfVwiKVxuICB9XG59XG5cbmZ1bmN0aW9uIGdlblNjb3BlZFNsb3Rz
IChcbiAgc2xvdHMsXG4gIHN0YXRlXG4pIHtcbiAgcmV0dXJuIChcInNjb3BlZFNsb3RzOl91KFtc
IiArIChPYmplY3Qua2V5cyhzbG90cykubWFwKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgIHJldHVy
biBnZW5TY29wZWRTbG90KGtleSwgc2xvdHNba2V5XSwgc3RhdGUpXG4gICAgfSkuam9pbignLCcp
KSArIFwiXSlcIilcbn1cblxuZnVuY3Rpb24gZ2VuU2NvcGVkU2xvdCAoXG4gIGtleSxcbiAgZWws
XG4gIHN0YXRlXG4pIHtcbiAgaWYgKGVsLmZvciAmJiAhZWwuZm9yUHJvY2Vzc2VkKSB7XG4gICAg
cmV0dXJuIGdlbkZvclNjb3BlZFNsb3Qoa2V5LCBlbCwgc3RhdGUpXG4gIH1cbiAgcmV0dXJuIFwi
e2tleTpcIiArIGtleSArIFwiLGZuOmZ1bmN0aW9uKFwiICsgKFN0cmluZyhlbC5hdHRyc01hcC5z
Y29wZSkpICsgXCIpe1wiICtcbiAgICBcInJldHVybiBcIiArIChlbC50YWcgPT09ICd0ZW1wbGF0
ZSdcbiAgICAgID8gZ2VuQ2hpbGRyZW4oZWwsIHN0YXRlKSB8fCAndm9pZCAwJ1xuICAgICAgOiBn
ZW5FbGVtZW50KGVsLCBzdGF0ZSkpICsgXCJ9fVwiXG59XG5cbmZ1bmN0aW9uIGdlbkZvclNjb3Bl
ZFNsb3QgKFxuICBrZXksXG4gIGVsLFxuICBzdGF0ZVxuKSB7XG4gIHZhciBleHAgPSBlbC5mb3I7
XG4gIHZhciBhbGlhcyA9IGVsLmFsaWFzO1xuICB2YXIgaXRlcmF0b3IxID0gZWwuaXRlcmF0b3Ix
ID8gKFwiLFwiICsgKGVsLml0ZXJhdG9yMSkpIDogJyc7XG4gIHZhciBpdGVyYXRvcjIgPSBlbC5p
dGVyYXRvcjIgPyAoXCIsXCIgKyAoZWwuaXRlcmF0b3IyKSkgOiAnJztcbiAgZWwuZm9yUHJvY2Vz
c2VkID0gdHJ1ZTsgLy8gYXZvaWQgcmVjdXJzaW9uXG4gIHJldHVybiBcIl9sKChcIiArIGV4cCAr
IFwiKSxcIiArXG4gICAgXCJmdW5jdGlvbihcIiArIGFsaWFzICsgaXRlcmF0b3IxICsgaXRlcmF0
b3IyICsgXCIpe1wiICtcbiAgICAgIFwicmV0dXJuIFwiICsgKGdlblNjb3BlZFNsb3Qoa2V5LCBl
bCwgc3RhdGUpKSArXG4gICAgJ30pJ1xufVxuXG5mdW5jdGlvbiBnZW5DaGlsZHJlbiAoXG4gIGVs
LFxuICBzdGF0ZSxcbiAgY2hlY2tTa2lwLFxuICBhbHRHZW5FbGVtZW50LFxuICBhbHRHZW5Ob2Rl
XG4pIHtcbiAgdmFyIGNoaWxkcmVuID0gZWwuY2hpbGRyZW47XG4gIGlmIChjaGlsZHJlbi5sZW5n
dGgpIHtcbiAgICB2YXIgZWwkMSA9IGNoaWxkcmVuWzBdO1xuICAgIC8vIG9wdGltaXplIHNpbmds
ZSB2LWZvclxuICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPT09IDEgJiZcbiAgICAgIGVsJDEuZm9y
ICYmXG4gICAgICBlbCQxLnRhZyAhPT0gJ3RlbXBsYXRlJyAmJlxuICAgICAgZWwkMS50YWcgIT09
ICdzbG90J1xuICAgICkge1xuICAgICAgcmV0dXJuIChhbHRHZW5FbGVtZW50IHx8IGdlbkVsZW1l
bnQpKGVsJDEsIHN0YXRlKVxuICAgIH1cbiAgICB2YXIgbm9ybWFsaXphdGlvblR5cGUgPSBjaGVj
a1NraXBcbiAgICAgID8gZ2V0Tm9ybWFsaXphdGlvblR5cGUoY2hpbGRyZW4sIHN0YXRlLm1heWJl
Q29tcG9uZW50KVxuICAgICAgOiAwO1xuICAgIHZhciBnZW4gPSBhbHRHZW5Ob2RlIHx8IGdlbk5v
ZGU7XG4gICAgcmV0dXJuIChcIltcIiArIChjaGlsZHJlbi5tYXAoZnVuY3Rpb24gKGMpIHsgcmV0
dXJuIGdlbihjLCBzdGF0ZSk7IH0pLmpvaW4oJywnKSkgKyBcIl1cIiArIChub3JtYWxpemF0aW9u
VHlwZSA/IChcIixcIiArIG5vcm1hbGl6YXRpb25UeXBlKSA6ICcnKSlcbiAgfVxufVxuXG4vLyBk
ZXRlcm1pbmUgdGhlIG5vcm1hbGl6YXRpb24gbmVlZGVkIGZvciB0aGUgY2hpbGRyZW4gYXJyYXku
XG4vLyAwOiBubyBub3JtYWxpemF0aW9uIG5lZWRlZFxuLy8gMTogc2ltcGxlIG5vcm1hbGl6YXRp
b24gbmVlZGVkIChwb3NzaWJsZSAxLWxldmVsIGRlZXAgbmVzdGVkIGFycmF5KVxuLy8gMjogZnVs
bCBub3JtYWxpemF0aW9uIG5lZWRlZFxuZnVuY3Rpb24gZ2V0Tm9ybWFsaXphdGlvblR5cGUgKFxu
ICBjaGlsZHJlbixcbiAgbWF5YmVDb21wb25lbnRcbikge1xuICB2YXIgcmVzID0gMDtcbiAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgIHZhciBlbCA9IGNo
aWxkcmVuW2ldO1xuICAgIGlmIChlbC50eXBlICE9PSAxKSB7XG4gICAgICBjb250aW51ZVxuICAg
IH1cbiAgICBpZiAobmVlZHNOb3JtYWxpemF0aW9uKGVsKSB8fFxuICAgICAgICAoZWwuaWZDb25k
aXRpb25zICYmIGVsLmlmQ29uZGl0aW9ucy5zb21lKGZ1bmN0aW9uIChjKSB7IHJldHVybiBuZWVk
c05vcm1hbGl6YXRpb24oYy5ibG9jayk7IH0pKSkge1xuICAgICAgcmVzID0gMjtcbiAgICAgIGJy
ZWFrXG4gICAgfVxuICAgIGlmIChtYXliZUNvbXBvbmVudChlbCkgfHxcbiAgICAgICAgKGVsLmlm
Q29uZGl0aW9ucyAmJiBlbC5pZkNvbmRpdGlvbnMuc29tZShmdW5jdGlvbiAoYykgeyByZXR1cm4g
bWF5YmVDb21wb25lbnQoYy5ibG9jayk7IH0pKSkge1xuICAgICAgcmVzID0gMTtcbiAgICB9XG4g
IH1cbiAgcmV0dXJuIHJlc1xufVxuXG5mdW5jdGlvbiBuZWVkc05vcm1hbGl6YXRpb24gKGVsKSB7
XG4gIHJldHVybiBlbC5mb3IgIT09IHVuZGVmaW5lZCB8fCBlbC50YWcgPT09ICd0ZW1wbGF0ZScg
fHwgZWwudGFnID09PSAnc2xvdCdcbn1cblxuZnVuY3Rpb24gZ2VuTm9kZSAobm9kZSwgc3RhdGUp
IHtcbiAgaWYgKG5vZGUudHlwZSA9PT0gMSkge1xuICAgIHJldHVybiBnZW5FbGVtZW50KG5vZGUs
IHN0YXRlKVxuICB9IGlmIChub2RlLnR5cGUgPT09IDMgJiYgbm9kZS5pc0NvbW1lbnQpIHtcbiAg
ICByZXR1cm4gZ2VuQ29tbWVudChub2RlKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBnZW5UZXh0
KG5vZGUpXG4gIH1cbn1cblxuZnVuY3Rpb24gZ2VuVGV4dCAodGV4dCkge1xuICByZXR1cm4gKFwi
X3YoXCIgKyAodGV4dC50eXBlID09PSAyXG4gICAgPyB0ZXh0LmV4cHJlc3Npb24gLy8gbm8gbmVl
ZCBmb3IgKCkgYmVjYXVzZSBhbHJlYWR5IHdyYXBwZWQgaW4gX3MoKVxuICAgIDogdHJhbnNmb3Jt
U3BlY2lhbE5ld2xpbmVzKEpTT04uc3RyaW5naWZ5KHRleHQudGV4dCkpKSArIFwiKVwiKVxufVxu
XG5mdW5jdGlvbiBnZW5Db21tZW50IChjb21tZW50KSB7XG4gIHJldHVybiAoXCJfZShcIiArIChK
U09OLnN0cmluZ2lmeShjb21tZW50LnRleHQpKSArIFwiKVwiKVxufVxuXG5mdW5jdGlvbiBnZW5T
bG90IChlbCwgc3RhdGUpIHtcbiAgdmFyIHNsb3ROYW1lID0gZWwuc2xvdE5hbWUgfHwgJ1wiZGVm
YXVsdFwiJztcbiAgdmFyIGNoaWxkcmVuID0gZ2VuQ2hpbGRyZW4oZWwsIHN0YXRlKTtcbiAgdmFy
IHJlcyA9IFwiX3QoXCIgKyBzbG90TmFtZSArIChjaGlsZHJlbiA/IChcIixcIiArIGNoaWxkcmVu
KSA6ICcnKTtcbiAgdmFyIGF0dHJzID0gZWwuYXR0cnMgJiYgKFwie1wiICsgKGVsLmF0dHJzLm1h
cChmdW5jdGlvbiAoYSkgeyByZXR1cm4gKChjYW1lbGl6ZShhLm5hbWUpKSArIFwiOlwiICsgKGEu
dmFsdWUpKTsgfSkuam9pbignLCcpKSArIFwifVwiKTtcbiAgdmFyIGJpbmQkJDEgPSBlbC5hdHRy
c01hcFsndi1iaW5kJ107XG4gIGlmICgoYXR0cnMgfHwgYmluZCQkMSkgJiYgIWNoaWxkcmVuKSB7
XG4gICAgcmVzICs9IFwiLG51bGxcIjtcbiAgfVxuICBpZiAoYXR0cnMpIHtcbiAgICByZXMgKz0g
XCIsXCIgKyBhdHRycztcbiAgfVxuICBpZiAoYmluZCQkMSkge1xuICAgIHJlcyArPSAoYXR0cnMg
PyAnJyA6ICcsbnVsbCcpICsgXCIsXCIgKyBiaW5kJCQxO1xuICB9XG4gIHJldHVybiByZXMgKyAn
KSdcbn1cblxuLy8gY29tcG9uZW50TmFtZSBpcyBlbC5jb21wb25lbnQsIHRha2UgaXQgYXMgYXJn
dW1lbnQgdG8gc2h1biBmbG93J3MgcGVzc2ltaXN0aWMgcmVmaW5lbWVudFxuZnVuY3Rpb24gZ2Vu
Q29tcG9uZW50IChcbiAgY29tcG9uZW50TmFtZSxcbiAgZWwsXG4gIHN0YXRlXG4pIHtcbiAgdmFy
IGNoaWxkcmVuID0gZWwuaW5saW5lVGVtcGxhdGUgPyBudWxsIDogZ2VuQ2hpbGRyZW4oZWwsIHN0
YXRlLCB0cnVlKTtcbiAgcmV0dXJuIChcIl9jKFwiICsgY29tcG9uZW50TmFtZSArIFwiLFwiICsg
KGdlbkRhdGEkMihlbCwgc3RhdGUpKSArIChjaGlsZHJlbiA/IChcIixcIiArIGNoaWxkcmVuKSA6
ICcnKSArIFwiKVwiKVxufVxuXG5mdW5jdGlvbiBnZW5Qcm9wcyAocHJvcHMpIHtcbiAgdmFyIHJl
cyA9ICcnO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7XG4gICAg
dmFyIHByb3AgPSBwcm9wc1tpXTtcbiAgICByZXMgKz0gXCJcXFwiXCIgKyAocHJvcC5uYW1lKSAr
IFwiXFxcIjpcIiArICh0cmFuc2Zvcm1TcGVjaWFsTmV3bGluZXMocHJvcC52YWx1ZSkpICsgXCIs
XCI7XG4gIH1cbiAgcmV0dXJuIHJlcy5zbGljZSgwLCAtMSlcbn1cblxuLy8gIzM4OTUsICM0MjY4
XG5mdW5jdGlvbiB0cmFuc2Zvcm1TcGVjaWFsTmV3bGluZXMgKHRleHQpIHtcbiAgcmV0dXJuIHRl
eHRcbiAgICAucmVwbGFjZSgvXFx1MjAyOC9nLCAnXFxcXHUyMDI4JylcbiAgICAucmVwbGFjZSgv
XFx1MjAyOS9nLCAnXFxcXHUyMDI5Jylcbn1cblxuLyogICovXG5cbi8vIHRoZXNlIGtleXdvcmRz
IHNob3VsZCBub3QgYXBwZWFyIGluc2lkZSBleHByZXNzaW9ucywgYnV0IG9wZXJhdG9ycyBsaWtl
XG4vLyB0eXBlb2YsIGluc3RhbmNlb2YgYW5kIGluIGFyZSBhbGxvd2VkXG52YXIgcHJvaGliaXRl
ZEtleXdvcmRSRSA9IG5ldyBSZWdFeHAoJ1xcXFxiJyArIChcbiAgJ2RvLGlmLGZvcixsZXQsbmV3
LHRyeSx2YXIsY2FzZSxlbHNlLHdpdGgsYXdhaXQsYnJlYWssY2F0Y2gsY2xhc3MsY29uc3QsJyAr
XG4gICdzdXBlcix0aHJvdyx3aGlsZSx5aWVsZCxkZWxldGUsZXhwb3J0LGltcG9ydCxyZXR1cm4s
c3dpdGNoLGRlZmF1bHQsJyArXG4gICdleHRlbmRzLGZpbmFsbHksY29udGludWUsZGVidWdnZXIs
ZnVuY3Rpb24sYXJndW1lbnRzJ1xuKS5zcGxpdCgnLCcpLmpvaW4oJ1xcXFxifFxcXFxiJykgKyAn
XFxcXGInKTtcblxuLy8gdGhlc2UgdW5hcnkgb3BlcmF0b3JzIHNob3VsZCBub3QgYmUgdXNlZCBh
cyBwcm9wZXJ0eS9tZXRob2QgbmFtZXNcbnZhciB1bmFyeU9wZXJhdG9yc1JFID0gbmV3IFJlZ0V4
cCgnXFxcXGInICsgKFxuICAnZGVsZXRlLHR5cGVvZix2b2lkJ1xuKS5zcGxpdCgnLCcpLmpvaW4o
J1xcXFxzKlxcXFwoW15cXFxcKV0qXFxcXCl8XFxcXGInKSArICdcXFxccypcXFxcKFteXFxcXCld
KlxcXFwpJyk7XG5cbi8vIGNoZWNrIHZhbGlkIGlkZW50aWZpZXIgZm9yIHYtZm9yXG52YXIgaWRl
bnRSRSA9IC9bQS1aYS16XyRdW1xcdyRdKi87XG5cbi8vIHN0cmlwIHN0cmluZ3MgaW4gZXhwcmVz
c2lvbnNcbnZhciBzdHJpcFN0cmluZ1JFID0gLycoPzpbXidcXFxcXXxcXFxcLikqJ3xcIig/Olte
XCJcXFxcXXxcXFxcLikqXCJ8YCg/OlteYFxcXFxdfFxcXFwuKSpcXCRcXHt8XFx9KD86W15gXFxc
XF18XFxcXC4pKmB8YCg/OlteYFxcXFxdfFxcXFwuKSpgL2c7XG5cbi8vIGRldGVjdCBwcm9ibGVt
YXRpYyBleHByZXNzaW9ucyBpbiBhIHRlbXBsYXRlXG5mdW5jdGlvbiBkZXRlY3RFcnJvcnMgKGFz
dCkge1xuICB2YXIgZXJyb3JzID0gW107XG4gIGlmIChhc3QpIHtcbiAgICBjaGVja05vZGUoYXN0
LCBlcnJvcnMpO1xuICB9XG4gIHJldHVybiBlcnJvcnNcbn1cblxuZnVuY3Rpb24gY2hlY2tOb2Rl
IChub2RlLCBlcnJvcnMpIHtcbiAgaWYgKG5vZGUudHlwZSA9PT0gMSkge1xuICAgIGZvciAodmFy
IG5hbWUgaW4gbm9kZS5hdHRyc01hcCkge1xuICAgICAgaWYgKGRpclJFLnRlc3QobmFtZSkpIHtc
biAgICAgICAgdmFyIHZhbHVlID0gbm9kZS5hdHRyc01hcFtuYW1lXTtcbiAgICAgICAgaWYgKHZh
bHVlKSB7XG4gICAgICAgICAgaWYgKG5hbWUgPT09ICd2LWZvcicpIHtcbiAgICAgICAgICAgIGNo
ZWNrRm9yKG5vZGUsIChcInYtZm9yPVxcXCJcIiArIHZhbHVlICsgXCJcXFwiXCIpLCBlcnJvcnMp
O1xuICAgICAgICAgIH0gZWxzZSBpZiAob25SRS50ZXN0KG5hbWUpKSB7XG4gICAgICAgICAgICBj
aGVja0V2ZW50KHZhbHVlLCAobmFtZSArIFwiPVxcXCJcIiArIHZhbHVlICsgXCJcXFwiXCIpLCBl
cnJvcnMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjaGVja0V4cHJlc3Npb24o
dmFsdWUsIChuYW1lICsgXCI9XFxcIlwiICsgdmFsdWUgKyBcIlxcXCJcIiksIGVycm9ycyk7XG4g
ICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChub2RlLmNoaWxk
cmVuKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGUuY2hpbGRyZW4ubGVuZ3RoOyBp
KyspIHtcbiAgICAgICAgY2hlY2tOb2RlKG5vZGUuY2hpbGRyZW5baV0sIGVycm9ycyk7XG4gICAg
ICB9XG4gICAgfVxuICB9IGVsc2UgaWYgKG5vZGUudHlwZSA9PT0gMikge1xuICAgIGNoZWNrRXhw
cmVzc2lvbihub2RlLmV4cHJlc3Npb24sIG5vZGUudGV4dCwgZXJyb3JzKTtcbiAgfVxufVxuXG5m
dW5jdGlvbiBjaGVja0V2ZW50IChleHAsIHRleHQsIGVycm9ycykge1xuICB2YXIgc3RpcHBlZCA9
IGV4cC5yZXBsYWNlKHN0cmlwU3RyaW5nUkUsICcnKTtcbiAgdmFyIGtleXdvcmRNYXRjaCA9IHN0
aXBwZWQubWF0Y2godW5hcnlPcGVyYXRvcnNSRSk7XG4gIGlmIChrZXl3b3JkTWF0Y2ggJiYgc3Rp
cHBlZC5jaGFyQXQoa2V5d29yZE1hdGNoLmluZGV4IC0gMSkgIT09ICckJykge1xuICAgIGVycm9y
cy5wdXNoKFxuICAgICAgXCJhdm9pZCB1c2luZyBKYXZhU2NyaXB0IHVuYXJ5IG9wZXJhdG9yIGFz
IHByb3BlcnR5IG5hbWU6IFwiICtcbiAgICAgIFwiXFxcIlwiICsgKGtleXdvcmRNYXRjaFswXSkg
KyBcIlxcXCIgaW4gZXhwcmVzc2lvbiBcIiArICh0ZXh0LnRyaW0oKSlcbiAgICApO1xuICB9XG4g
IGNoZWNrRXhwcmVzc2lvbihleHAsIHRleHQsIGVycm9ycyk7XG59XG5cbmZ1bmN0aW9uIGNoZWNr
Rm9yIChub2RlLCB0ZXh0LCBlcnJvcnMpIHtcbiAgY2hlY2tFeHByZXNzaW9uKG5vZGUuZm9yIHx8
ICcnLCB0ZXh0LCBlcnJvcnMpO1xuICBjaGVja0lkZW50aWZpZXIobm9kZS5hbGlhcywgJ3YtZm9y
IGFsaWFzJywgdGV4dCwgZXJyb3JzKTtcbiAgY2hlY2tJZGVudGlmaWVyKG5vZGUuaXRlcmF0b3Ix
LCAndi1mb3IgaXRlcmF0b3InLCB0ZXh0LCBlcnJvcnMpO1xuICBjaGVja0lkZW50aWZpZXIobm9k
ZS5pdGVyYXRvcjIsICd2LWZvciBpdGVyYXRvcicsIHRleHQsIGVycm9ycyk7XG59XG5cbmZ1bmN0
aW9uIGNoZWNrSWRlbnRpZmllciAoaWRlbnQsIHR5cGUsIHRleHQsIGVycm9ycykge1xuICBpZiAo
dHlwZW9mIGlkZW50ID09PSAnc3RyaW5nJyAmJiAhaWRlbnRSRS50ZXN0KGlkZW50KSkge1xuICAg
IGVycm9ycy5wdXNoKChcImludmFsaWQgXCIgKyB0eXBlICsgXCIgXFxcIlwiICsgaWRlbnQgKyBc
IlxcXCIgaW4gZXhwcmVzc2lvbjogXCIgKyAodGV4dC50cmltKCkpKSk7XG4gIH1cbn1cblxuZnVu
Y3Rpb24gY2hlY2tFeHByZXNzaW9uIChleHAsIHRleHQsIGVycm9ycykge1xuICB0cnkge1xuICAg
IG5ldyBGdW5jdGlvbigoXCJyZXR1cm4gXCIgKyBleHApKTtcbiAgfSBjYXRjaCAoZSkge1xuICAg
IHZhciBrZXl3b3JkTWF0Y2ggPSBleHAucmVwbGFjZShzdHJpcFN0cmluZ1JFLCAnJykubWF0Y2go
cHJvaGliaXRlZEtleXdvcmRSRSk7XG4gICAgaWYgKGtleXdvcmRNYXRjaCkge1xuICAgICAgZXJy
b3JzLnB1c2goXG4gICAgICAgIFwiYXZvaWQgdXNpbmcgSmF2YVNjcmlwdCBrZXl3b3JkIGFzIHBy
b3BlcnR5IG5hbWU6IFwiICtcbiAgICAgICAgXCJcXFwiXCIgKyAoa2V5d29yZE1hdGNoWzBdKSAr
IFwiXFxcIiBpbiBleHByZXNzaW9uIFwiICsgKHRleHQudHJpbSgpKVxuICAgICAgKTtcbiAgICB9
IGVsc2Uge1xuICAgICAgZXJyb3JzLnB1c2goKFwiaW52YWxpZCBleHByZXNzaW9uOiBcIiArICh0
ZXh0LnRyaW0oKSkpKTtcbiAgICB9XG4gIH1cbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGNyZWF0
ZUZ1bmN0aW9uIChjb2RlLCBlcnJvcnMpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gbmV3IEZ1bmN0
aW9uKGNvZGUpXG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGVycm9ycy5wdXNoKHsgZXJyOiBlcnIs
IGNvZGU6IGNvZGUgfSk7XG4gICAgcmV0dXJuIG5vb3BcbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVh
dGVDb21waWxlVG9GdW5jdGlvbkZuIChjb21waWxlKSB7XG4gIHZhciBjYWNoZSA9IE9iamVjdC5j
cmVhdGUobnVsbCk7XG5cbiAgcmV0dXJuIGZ1bmN0aW9uIGNvbXBpbGVUb0Z1bmN0aW9ucyAoXG4g
ICAgdGVtcGxhdGUsXG4gICAgb3B0aW9ucyxcbiAgICB2bVxuICApIHtcbiAgICBvcHRpb25zID0g
b3B0aW9ucyB8fCB7fTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChw
cm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAvLyBkZXRlY3Qg
cG9zc2libGUgQ1NQIHJlc3RyaWN0aW9uXG4gICAgICB0cnkge1xuICAgICAgICBuZXcgRnVuY3Rp
b24oJ3JldHVybiAxJyk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGlmIChlLnRvU3Ry
aW5nKCkubWF0Y2goL3Vuc2FmZS1ldmFsfENTUC8pKSB7XG4gICAgICAgICAgd2FybihcbiAgICAg
ICAgICAgICdJdCBzZWVtcyB5b3UgYXJlIHVzaW5nIHRoZSBzdGFuZGFsb25lIGJ1aWxkIG9mIFZ1
ZS5qcyBpbiBhbiAnICtcbiAgICAgICAgICAgICdlbnZpcm9ubWVudCB3aXRoIENvbnRlbnQgU2Vj
dXJpdHkgUG9saWN5IHRoYXQgcHJvaGliaXRzIHVuc2FmZS1ldmFsLiAnICtcbiAgICAgICAgICAg
ICdUaGUgdGVtcGxhdGUgY29tcGlsZXIgY2Fubm90IHdvcmsgaW4gdGhpcyBlbnZpcm9ubWVudC4g
Q29uc2lkZXIgJyArXG4gICAgICAgICAgICAncmVsYXhpbmcgdGhlIHBvbGljeSB0byBhbGxvdyB1
bnNhZmUtZXZhbCBvciBwcmUtY29tcGlsaW5nIHlvdXIgJyArXG4gICAgICAgICAgICAndGVtcGxh
dGVzIGludG8gcmVuZGVyIGZ1bmN0aW9ucy4nXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAg
ICAgfVxuICAgIH1cblxuICAgIC8vIGNoZWNrIGNhY2hlXG4gICAgdmFyIGtleSA9IG9wdGlvbnMu
ZGVsaW1pdGVyc1xuICAgICAgPyBTdHJpbmcob3B0aW9ucy5kZWxpbWl0ZXJzKSArIHRlbXBsYXRl
XG4gICAgICA6IHRlbXBsYXRlO1xuICAgIGlmIChjYWNoZVtrZXldKSB7XG4gICAgICByZXR1cm4g
Y2FjaGVba2V5XVxuICAgIH1cblxuICAgIC8vIGNvbXBpbGVcbiAgICB2YXIgY29tcGlsZWQgPSBj
b21waWxlKHRlbXBsYXRlLCBvcHRpb25zKTtcblxuICAgIC8vIGNoZWNrIGNvbXBpbGF0aW9uIGVy
cm9ycy90aXBzXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicp
IHtcbiAgICAgIGlmIChjb21waWxlZC5lcnJvcnMgJiYgY29tcGlsZWQuZXJyb3JzLmxlbmd0aCkg
e1xuICAgICAgICB3YXJuKFxuICAgICAgICAgIFwiRXJyb3IgY29tcGlsaW5nIHRlbXBsYXRlOlxc
blxcblwiICsgdGVtcGxhdGUgKyBcIlxcblxcblwiICtcbiAgICAgICAgICBjb21waWxlZC5lcnJv
cnMubWFwKGZ1bmN0aW9uIChlKSB7IHJldHVybiAoXCItIFwiICsgZSk7IH0pLmpvaW4oJ1xcbicp
ICsgJ1xcbicsXG4gICAgICAgICAgdm1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChj
b21waWxlZC50aXBzICYmIGNvbXBpbGVkLnRpcHMubGVuZ3RoKSB7XG4gICAgICAgIGNvbXBpbGVk
LnRpcHMuZm9yRWFjaChmdW5jdGlvbiAobXNnKSB7IHJldHVybiB0aXAobXNnLCB2bSk7IH0pO1xu
ICAgICAgfVxuICAgIH1cblxuICAgIC8vIHR1cm4gY29kZSBpbnRvIGZ1bmN0aW9uc1xuICAgIHZh
ciByZXMgPSB7fTtcbiAgICB2YXIgZm5HZW5FcnJvcnMgPSBbXTtcbiAgICByZXMucmVuZGVyID0g
Y3JlYXRlRnVuY3Rpb24oY29tcGlsZWQucmVuZGVyLCBmbkdlbkVycm9ycyk7XG4gICAgcmVzLnN0
YXRpY1JlbmRlckZucyA9IGNvbXBpbGVkLnN0YXRpY1JlbmRlckZucy5tYXAoZnVuY3Rpb24gKGNv
ZGUpIHtcbiAgICAgIHJldHVybiBjcmVhdGVGdW5jdGlvbihjb2RlLCBmbkdlbkVycm9ycylcbiAg
ICB9KTtcblxuICAgIC8vIGNoZWNrIGZ1bmN0aW9uIGdlbmVyYXRpb24gZXJyb3JzLlxuICAgIC8v
IHRoaXMgc2hvdWxkIG9ubHkgaGFwcGVuIGlmIHRoZXJlIGlzIGEgYnVnIGluIHRoZSBjb21waWxl
ciBpdHNlbGYuXG4gICAgLy8gbW9zdGx5IGZvciBjb2RlZ2VuIGRldmVsb3BtZW50IHVzZVxuICAg
IC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAh
PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBpZiAoKCFjb21waWxlZC5lcnJvcnMgfHwgIWNvbXBp
bGVkLmVycm9ycy5sZW5ndGgpICYmIGZuR2VuRXJyb3JzLmxlbmd0aCkge1xuICAgICAgICB3YXJu
KFxuICAgICAgICAgIFwiRmFpbGVkIHRvIGdlbmVyYXRlIHJlbmRlciBmdW5jdGlvbjpcXG5cXG5c
IiArXG4gICAgICAgICAgZm5HZW5FcnJvcnMubWFwKGZ1bmN0aW9uIChyZWYpIHtcbiAgICAgICAg
ICAgIHZhciBlcnIgPSByZWYuZXJyO1xuICAgICAgICAgICAgdmFyIGNvZGUgPSByZWYuY29kZTtc
blxuICAgICAgICAgICAgcmV0dXJuICgoZXJyLnRvU3RyaW5nKCkpICsgXCIgaW5cXG5cXG5cIiAr
IGNvZGUgKyBcIlxcblwiKTtcbiAgICAgICAgfSkuam9pbignXFxuJyksXG4gICAgICAgICAgdm1c
biAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gKGNhY2hlW2tleV0gPSBy
ZXMpXG4gIH1cbn1cblxuLyogICovXG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbXBpbGVyQ3JlYXRvciAo
YmFzZUNvbXBpbGUpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGNyZWF0ZUNvbXBpbGVyIChiYXNlT3B0
aW9ucykge1xuICAgIGZ1bmN0aW9uIGNvbXBpbGUgKFxuICAgICAgdGVtcGxhdGUsXG4gICAgICBv
cHRpb25zXG4gICAgKSB7XG4gICAgICB2YXIgZmluYWxPcHRpb25zID0gT2JqZWN0LmNyZWF0ZShi
YXNlT3B0aW9ucyk7XG4gICAgICB2YXIgZXJyb3JzID0gW107XG4gICAgICB2YXIgdGlwcyA9IFtd
O1xuICAgICAgZmluYWxPcHRpb25zLndhcm4gPSBmdW5jdGlvbiAobXNnLCB0aXApIHtcbiAgICAg
ICAgKHRpcCA/IHRpcHMgOiBlcnJvcnMpLnB1c2gobXNnKTtcbiAgICAgIH07XG5cbiAgICAgIGlm
IChvcHRpb25zKSB7XG4gICAgICAgIC8vIG1lcmdlIGN1c3RvbSBtb2R1bGVzXG4gICAgICAgIGlm
IChvcHRpb25zLm1vZHVsZXMpIHtcbiAgICAgICAgICBmaW5hbE9wdGlvbnMubW9kdWxlcyA9XG4g
ICAgICAgICAgICAoYmFzZU9wdGlvbnMubW9kdWxlcyB8fCBbXSkuY29uY2F0KG9wdGlvbnMubW9k
dWxlcyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gbWVyZ2UgY3VzdG9tIGRpcmVjdGl2ZXNcbiAg
ICAgICAgaWYgKG9wdGlvbnMuZGlyZWN0aXZlcykge1xuICAgICAgICAgIGZpbmFsT3B0aW9ucy5k
aXJlY3RpdmVzID0gZXh0ZW5kKFxuICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZShiYXNlT3B0aW9u
cy5kaXJlY3RpdmVzKSxcbiAgICAgICAgICAgIG9wdGlvbnMuZGlyZWN0aXZlc1xuICAgICAgICAg
ICk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gY29weSBvdGhlciBvcHRpb25zXG4gICAgICAgIGZv
ciAodmFyIGtleSBpbiBvcHRpb25zKSB7XG4gICAgICAgICAgaWYgKGtleSAhPT0gJ21vZHVsZXMn
ICYmIGtleSAhPT0gJ2RpcmVjdGl2ZXMnKSB7XG4gICAgICAgICAgICBmaW5hbE9wdGlvbnNba2V5
XSA9IG9wdGlvbnNba2V5XTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAg
ICAgdmFyIGNvbXBpbGVkID0gYmFzZUNvbXBpbGUodGVtcGxhdGUsIGZpbmFsT3B0aW9ucyk7XG4g
ICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAg
ICBlcnJvcnMucHVzaC5hcHBseShlcnJvcnMsIGRldGVjdEVycm9ycyhjb21waWxlZC5hc3QpKTtc
biAgICAgIH1cbiAgICAgIGNvbXBpbGVkLmVycm9ycyA9IGVycm9ycztcbiAgICAgIGNvbXBpbGVk
LnRpcHMgPSB0aXBzO1xuICAgICAgcmV0dXJuIGNvbXBpbGVkXG4gICAgfVxuXG4gICAgcmV0dXJu
IHtcbiAgICAgIGNvbXBpbGU6IGNvbXBpbGUsXG4gICAgICBjb21waWxlVG9GdW5jdGlvbnM6IGNy
ZWF0ZUNvbXBpbGVUb0Z1bmN0aW9uRm4oY29tcGlsZSlcbiAgICB9XG4gIH1cbn1cblxuLyogICov
XG5cbi8vIGBjcmVhdGVDb21waWxlckNyZWF0b3JgIGFsbG93cyBjcmVhdGluZyBjb21waWxlcnMg
dGhhdCB1c2UgYWx0ZXJuYXRpdmVcbi8vIHBhcnNlci9vcHRpbWl6ZXIvY29kZWdlbiwgZS5nIHRo
ZSBTU1Igb3B0aW1pemluZyBjb21waWxlci5cbi8vIEhlcmUgd2UganVzdCBleHBvcnQgYSBkZWZh
dWx0IGNvbXBpbGVyIHVzaW5nIHRoZSBkZWZhdWx0IHBhcnRzLlxudmFyIGNyZWF0ZUNvbXBpbGVy
ID0gY3JlYXRlQ29tcGlsZXJDcmVhdG9yKGZ1bmN0aW9uIGJhc2VDb21waWxlIChcbiAgdGVtcGxh
dGUsXG4gIG9wdGlvbnNcbikge1xuICB2YXIgYXN0ID0gcGFyc2UodGVtcGxhdGUudHJpbSgpLCBv
cHRpb25zKTtcbiAgb3B0aW1pemUoYXN0LCBvcHRpb25zKTtcbiAgdmFyIGNvZGUgPSBnZW5lcmF0
ZShhc3QsIG9wdGlvbnMpO1xuICByZXR1cm4ge1xuICAgIGFzdDogYXN0LFxuICAgIHJlbmRlcjog
Y29kZS5yZW5kZXIsXG4gICAgc3RhdGljUmVuZGVyRm5zOiBjb2RlLnN0YXRpY1JlbmRlckZuc1xu
ICB9XG59KTtcblxuLyogICovXG5cbnZhciByZWYkMSA9IGNyZWF0ZUNvbXBpbGVyKGJhc2VPcHRp
b25zKTtcbnZhciBjb21waWxlVG9GdW5jdGlvbnMgPSByZWYkMS5jb21waWxlVG9GdW5jdGlvbnM7
XG5cbi8qICAqL1xuXG52YXIgaWRUb1RlbXBsYXRlID0gY2FjaGVkKGZ1bmN0aW9uIChpZCkge1xu
ICB2YXIgZWwgPSBxdWVyeShpZCk7XG4gIHJldHVybiBlbCAmJiBlbC5pbm5lckhUTUxcbn0pO1xu
XG52YXIgbW91bnQgPSBWdWUkMy5wcm90b3R5cGUuJG1vdW50O1xuVnVlJDMucHJvdG90eXBlLiRt
b3VudCA9IGZ1bmN0aW9uIChcbiAgZWwsXG4gIGh5ZHJhdGluZ1xuKSB7XG4gIGVsID0gZWwgJiYg
cXVlcnkoZWwpO1xuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAoZWwgPT09IGRv
Y3VtZW50LmJvZHkgfHwgZWwgPT09IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkge1xuICAgIHBy
b2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgd2FybihcbiAgICAgIFwiRG8g
bm90IG1vdW50IFZ1ZSB0byA8aHRtbD4gb3IgPGJvZHk+IC0gbW91bnQgdG8gbm9ybWFsIGVsZW1l
bnRzIGluc3RlYWQuXCJcbiAgICApO1xuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICB2YXIgb3B0
aW9ucyA9IHRoaXMuJG9wdGlvbnM7XG4gIC8vIHJlc29sdmUgdGVtcGxhdGUvZWwgYW5kIGNvbnZl
cnQgdG8gcmVuZGVyIGZ1bmN0aW9uXG4gIGlmICghb3B0aW9ucy5yZW5kZXIpIHtcbiAgICB2YXIg
dGVtcGxhdGUgPSBvcHRpb25zLnRlbXBsYXRlO1xuICAgIGlmICh0ZW1wbGF0ZSkge1xuICAgICAg
aWYgKHR5cGVvZiB0ZW1wbGF0ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgaWYgKHRlbXBsYXRl
LmNoYXJBdCgwKSA9PT0gJyMnKSB7XG4gICAgICAgICAgdGVtcGxhdGUgPSBpZFRvVGVtcGxhdGUo
dGVtcGxhdGUpO1xuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICAg
IGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmICF0ZW1wbGF0ZSkg
e1xuICAgICAgICAgICAgd2FybihcbiAgICAgICAgICAgICAgKFwiVGVtcGxhdGUgZWxlbWVudCBu
b3QgZm91bmQgb3IgaXMgZW1wdHk6IFwiICsgKG9wdGlvbnMudGVtcGxhdGUpKSxcbiAgICAgICAg
ICAgICAgdGhpc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAg
IH0gZWxzZSBpZiAodGVtcGxhdGUubm9kZVR5cGUpIHtcbiAgICAgICAgdGVtcGxhdGUgPSB0ZW1w
bGF0ZS5pbm5lckhUTUw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYu
Tk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgIHdhcm4oJ2ludmFsaWQgdGVt
cGxhdGUgb3B0aW9uOicgKyB0ZW1wbGF0ZSwgdGhpcyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0
dXJuIHRoaXNcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGVsKSB7XG4gICAgICB0ZW1wbGF0ZSA9
IGdldE91dGVySFRNTChlbCk7XG4gICAgfVxuICAgIGlmICh0ZW1wbGF0ZSkge1xuICAgICAgLyog
aXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09
ICdwcm9kdWN0aW9uJyAmJiBjb25maWcucGVyZm9ybWFuY2UgJiYgbWFyaykge1xuICAgICAgICBt
YXJrKCdjb21waWxlJyk7XG4gICAgICB9XG5cbiAgICAgIHZhciByZWYgPSBjb21waWxlVG9GdW5j
dGlvbnModGVtcGxhdGUsIHtcbiAgICAgICAgc2hvdWxkRGVjb2RlTmV3bGluZXM6IHNob3VsZERl
Y29kZU5ld2xpbmVzLFxuICAgICAgICBkZWxpbWl0ZXJzOiBvcHRpb25zLmRlbGltaXRlcnMsXG4g
ICAgICAgIGNvbW1lbnRzOiBvcHRpb25zLmNvbW1lbnRzXG4gICAgICB9LCB0aGlzKTtcbiAgICAg
IHZhciByZW5kZXIgPSByZWYucmVuZGVyO1xuICAgICAgdmFyIHN0YXRpY1JlbmRlckZucyA9IHJl
Zi5zdGF0aWNSZW5kZXJGbnM7XG4gICAgICBvcHRpb25zLnJlbmRlciA9IHJlbmRlcjtcbiAgICAg
IG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zO1xuXG4gICAgICAvKiBp
c3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0g
J3Byb2R1Y3Rpb24nICYmIGNvbmZpZy5wZXJmb3JtYW5jZSAmJiBtYXJrKSB7XG4gICAgICAgIG1h
cmsoJ2NvbXBpbGUgZW5kJyk7XG4gICAgICAgIG1lYXN1cmUoKCh0aGlzLl9uYW1lKSArIFwiIGNv
bXBpbGVcIiksICdjb21waWxlJywgJ2NvbXBpbGUgZW5kJyk7XG4gICAgICB9XG4gICAgfVxuICB9
XG4gIHJldHVybiBtb3VudC5jYWxsKHRoaXMsIGVsLCBoeWRyYXRpbmcpXG59O1xuXG4vKipcbiAq
IEdldCBvdXRlckhUTUwgb2YgZWxlbWVudHMsIHRha2luZyBjYXJlXG4gKiBvZiBTVkcgZWxlbWVu
dHMgaW4gSUUgYXMgd2VsbC5cbiAqL1xuZnVuY3Rpb24gZ2V0T3V0ZXJIVE1MIChlbCkge1xuICBp
ZiAoZWwub3V0ZXJIVE1MKSB7XG4gICAgcmV0dXJuIGVsLm91dGVySFRNTFxuICB9IGVsc2Uge1xu
ICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBj
b250YWluZXIuYXBwZW5kQ2hpbGQoZWwuY2xvbmVOb2RlKHRydWUpKTtcbiAgICByZXR1cm4gY29u
dGFpbmVyLmlubmVySFRNTFxuICB9XG59XG5cblZ1ZSQzLmNvbXBpbGUgPSBjb21waWxlVG9GdW5j
dGlvbnM7XG5cbmV4cG9ydCBkZWZhdWx0IFZ1ZSQzO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8v
XG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L3Z1ZS9kaXN0L3Z1ZS5lc20uanNcbi8vIG1vZHVs
ZSBpZCA9IDBcbi8vIG1vZHVsZSBjaHVua3MgPSAxIiwiLyogZ2xvYmFscyBfX1ZVRV9TU1JfQ09O
VEVYVF9fICovXG5cbi8vIHRoaXMgbW9kdWxlIGlzIGEgcnVudGltZSB1dGlsaXR5IGZvciBjbGVh
bmVyIGNvbXBvbmVudCBtb2R1bGUgb3V0cHV0IGFuZCB3aWxsXG4vLyBiZSBpbmNsdWRlZCBpbiB0
aGUgZmluYWwgd2VicGFjayB1c2VyIGJ1bmRsZVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9u
IG5vcm1hbGl6ZUNvbXBvbmVudCAoXG4gIHJhd1NjcmlwdEV4cG9ydHMsXG4gIGNvbXBpbGVkVGVt
cGxhdGUsXG4gIGluamVjdFN0eWxlcyxcbiAgc2NvcGVJZCxcbiAgbW9kdWxlSWRlbnRpZmllciAv
KiBzZXJ2ZXIgb25seSAqL1xuKSB7XG4gIHZhciBlc01vZHVsZVxuICB2YXIgc2NyaXB0RXhwb3J0
cyA9IHJhd1NjcmlwdEV4cG9ydHMgPSByYXdTY3JpcHRFeHBvcnRzIHx8IHt9XG5cbiAgLy8gRVM2
IG1vZHVsZXMgaW50ZXJvcFxuICB2YXIgdHlwZSA9IHR5cGVvZiByYXdTY3JpcHRFeHBvcnRzLmRl
ZmF1bHRcbiAgaWYgKHR5cGUgPT09ICdvYmplY3QnIHx8IHR5cGUgPT09ICdmdW5jdGlvbicpIHtc
biAgICBlc01vZHVsZSA9IHJhd1NjcmlwdEV4cG9ydHNcbiAgICBzY3JpcHRFeHBvcnRzID0gcmF3
U2NyaXB0RXhwb3J0cy5kZWZhdWx0XG4gIH1cblxuICAvLyBWdWUuZXh0ZW5kIGNvbnN0cnVjdG9y
IGV4cG9ydCBpbnRlcm9wXG4gIHZhciBvcHRpb25zID0gdHlwZW9mIHNjcmlwdEV4cG9ydHMgPT09
ICdmdW5jdGlvbidcbiAgICA/IHNjcmlwdEV4cG9ydHMub3B0aW9uc1xuICAgIDogc2NyaXB0RXhw
b3J0c1xuXG4gIC8vIHJlbmRlciBmdW5jdGlvbnNcbiAgaWYgKGNvbXBpbGVkVGVtcGxhdGUpIHtc
biAgICBvcHRpb25zLnJlbmRlciA9IGNvbXBpbGVkVGVtcGxhdGUucmVuZGVyXG4gICAgb3B0aW9u
cy5zdGF0aWNSZW5kZXJGbnMgPSBjb21waWxlZFRlbXBsYXRlLnN0YXRpY1JlbmRlckZuc1xuICB9
XG5cbiAgLy8gc2NvcGVkSWRcbiAgaWYgKHNjb3BlSWQpIHtcbiAgICBvcHRpb25zLl9zY29wZUlk
ID0gc2NvcGVJZFxuICB9XG5cbiAgdmFyIGhvb2tcbiAgaWYgKG1vZHVsZUlkZW50aWZpZXIpIHsg
Ly8gc2VydmVyIGJ1aWxkXG4gICAgaG9vayA9IGZ1bmN0aW9uIChjb250ZXh0KSB7XG4gICAgICAv
LyAyLjMgaW5qZWN0aW9uXG4gICAgICBjb250ZXh0ID1cbiAgICAgICAgY29udGV4dCB8fCAvLyBj
YWNoZWQgY2FsbFxuICAgICAgICAodGhpcy4kdm5vZGUgJiYgdGhpcy4kdm5vZGUuc3NyQ29udGV4
dCkgfHwgLy8gc3RhdGVmdWxcbiAgICAgICAgKHRoaXMucGFyZW50ICYmIHRoaXMucGFyZW50LiR2
bm9kZSAmJiB0aGlzLnBhcmVudC4kdm5vZGUuc3NyQ29udGV4dCkgLy8gZnVuY3Rpb25hbFxuICAg
ICAgLy8gMi4yIHdpdGggcnVuSW5OZXdDb250ZXh0OiB0cnVlXG4gICAgICBpZiAoIWNvbnRleHQg
JiYgdHlwZW9mIF9fVlVFX1NTUl9DT05URVhUX18gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAg
IGNvbnRleHQgPSBfX1ZVRV9TU1JfQ09OVEVYVF9fXG4gICAgICB9XG4gICAgICAvLyBpbmplY3Qg
Y29tcG9uZW50IHN0eWxlc1xuICAgICAgaWYgKGluamVjdFN0eWxlcykge1xuICAgICAgICBpbmpl
Y3RTdHlsZXMuY2FsbCh0aGlzLCBjb250ZXh0KVxuICAgICAgfVxuICAgICAgLy8gcmVnaXN0ZXIg
Y29tcG9uZW50IG1vZHVsZSBpZGVudGlmaWVyIGZvciBhc3luYyBjaHVuayBpbmZlcnJlbmNlXG4g
ICAgICBpZiAoY29udGV4dCAmJiBjb250ZXh0Ll9yZWdpc3RlcmVkQ29tcG9uZW50cykge1xuICAg
ICAgICBjb250ZXh0Ll9yZWdpc3RlcmVkQ29tcG9uZW50cy5hZGQobW9kdWxlSWRlbnRpZmllcilc
biAgICAgIH1cbiAgICB9XG4gICAgLy8gdXNlZCBieSBzc3IgaW4gY2FzZSBjb21wb25lbnQgaXMg
Y2FjaGVkIGFuZCBiZWZvcmVDcmVhdGVcbiAgICAvLyBuZXZlciBnZXRzIGNhbGxlZFxuICAgIG9w
dGlvbnMuX3NzclJlZ2lzdGVyID0gaG9va1xuICB9IGVsc2UgaWYgKGluamVjdFN0eWxlcykge1xu
ICAgIGhvb2sgPSBpbmplY3RTdHlsZXNcbiAgfVxuXG4gIGlmIChob29rKSB7XG4gICAgdmFyIGZ1
bmN0aW9uYWwgPSBvcHRpb25zLmZ1bmN0aW9uYWxcbiAgICB2YXIgZXhpc3RpbmcgPSBmdW5jdGlv
bmFsXG4gICAgICA/IG9wdGlvbnMucmVuZGVyXG4gICAgICA6IG9wdGlvbnMuYmVmb3JlQ3JlYXRl
XG4gICAgaWYgKCFmdW5jdGlvbmFsKSB7XG4gICAgICAvLyBpbmplY3QgY29tcG9uZW50IHJlZ2lz
dHJhdGlvbiBhcyBiZWZvcmVDcmVhdGUgaG9va1xuICAgICAgb3B0aW9ucy5iZWZvcmVDcmVhdGUg
PSBleGlzdGluZ1xuICAgICAgICA/IFtdLmNvbmNhdChleGlzdGluZywgaG9vaylcbiAgICAgICAg
OiBbaG9va11cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gcmVnaXN0ZXIgZm9yIGZ1bmN0aW9hbCBj
b21wb25lbnQgaW4gdnVlIGZpbGVcbiAgICAgIG9wdGlvbnMucmVuZGVyID0gZnVuY3Rpb24gcmVu
ZGVyV2l0aFN0eWxlSW5qZWN0aW9uIChoLCBjb250ZXh0KSB7XG4gICAgICAgIGhvb2suY2FsbChj
b250ZXh0KVxuICAgICAgICByZXR1cm4gZXhpc3RpbmcoaCwgY29udGV4dClcbiAgICAgIH1cbiAg
ICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGVzTW9kdWxlOiBlc01vZHVsZSxcbiAgICBleHBv
cnRzOiBzY3JpcHRFeHBvcnRzLFxuICAgIG9wdGlvbnM6IG9wdGlvbnNcbiAgfVxufVxuXG5cblxu
Ly8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L3Z1ZS1sb2FkZXIv
bGliL2NvbXBvbmVudC1ub3JtYWxpemVyLmpzXG4vLyBtb2R1bGUgaWQgPSAxXG4vLyBtb2R1bGUg
Y2h1bmtzID0gMSIsIlxuXG4vL1xuLy8gR2VuZXJhdGVkIG9uIFR1ZSBEZWMgMTYgMjAxNCAxMjox
Mzo0NyBHTVQrMDEwMCAoQ0VUKSBieSBDaGFybGllIFJvYmJpbnMsIFBhb2xvIEZyYWdvbWVuaSAm
IHRoZSBDb250cmlidXRvcnMgKFVzaW5nIENvZGVzdXJnZW9uKS5cbi8vIFZlcnNpb24gMS4yLjZc
bi8vXG5cbihmdW5jdGlvbiAoZXhwb3J0cykge1xuXG4vKlxuICogYnJvd3Nlci5qczogQnJvd3Nl
ciBzcGVjaWZpYyBmdW5jdGlvbmFsaXR5IGZvciBkaXJlY3Rvci5cbiAqXG4gKiAoQykgMjAxMSwg
Q2hhcmxpZSBSb2JiaW5zLCBQYW9sbyBGcmFnb21lbmksICYgdGhlIENvbnRyaWJ1dG9ycy5cbiAq
IE1JVCBMSUNFTlNFXG4gKlxuICovXG5cbnZhciBkbG9jID0gZG9jdW1lbnQubG9jYXRpb247XG5c
bmZ1bmN0aW9uIGRsb2NIYXNoRW1wdHkoKSB7XG4gIC8vIE5vbi1JRSBicm93c2VycyByZXR1cm4g
Jycgd2hlbiB0aGUgYWRkcmVzcyBiYXIgc2hvd3MgJyMnOyBEaXJlY3RvcidzIGxvZ2ljXG4gIC8v
IGFzc3VtZXMgYm90aCBtZWFuIGVtcHR5LlxuICByZXR1cm4gZGxvYy5oYXNoID09PSAnJyB8fCBk
bG9jLmhhc2ggPT09ICcjJztcbn1cblxudmFyIGxpc3RlbmVyID0ge1xuICBtb2RlOiAnbW9kZXJu
JyxcbiAgaGFzaDogZGxvYy5oYXNoLFxuICBoaXN0b3J5OiBmYWxzZSxcblxuICBjaGVjazogZnVu
Y3Rpb24gKCkge1xuICAgIHZhciBoID0gZGxvYy5oYXNoO1xuICAgIGlmIChoICE9IHRoaXMuaGFz
aCkge1xuICAgICAgdGhpcy5oYXNoID0gaDtcbiAgICAgIHRoaXMub25IYXNoQ2hhbmdlZCgpO1xu
ICAgIH1cbiAgfSxcblxuICBmaXJlOiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHRoaXMubW9kZSA9
PT0gJ21vZGVybicpIHtcbiAgICAgIHRoaXMuaGlzdG9yeSA9PT0gdHJ1ZSA/IHdpbmRvdy5vbnBv
cHN0YXRlKCkgOiB3aW5kb3cub25oYXNoY2hhbmdlKCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAg
ICAgdGhpcy5vbkhhc2hDaGFuZ2VkKCk7XG4gICAgfVxuICB9LFxuXG4gIGluaXQ6IGZ1bmN0aW9u
IChmbiwgaGlzdG9yeSkge1xuICAgIHZhciBzZWxmID0gdGhpcztcbiAgICB0aGlzLmhpc3Rvcnkg
PSBoaXN0b3J5O1xuXG4gICAgaWYgKCFSb3V0ZXIubGlzdGVuZXJzKSB7XG4gICAgICBSb3V0ZXIu
bGlzdGVuZXJzID0gW107XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gb25jaGFuZ2Uob25DaGFuZ2VF
dmVudCkge1xuICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBSb3V0ZXIubGlzdGVuZXJzLmxlbmd0
aDsgaSA8IGw7IGkrKykge1xuICAgICAgICBSb3V0ZXIubGlzdGVuZXJzW2ldKG9uQ2hhbmdlRXZl
bnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vbm90ZSBJRTggaXMgYmVpbmcgY291bnRlZCBh
cyAnbW9kZXJuJyBiZWNhdXNlIGl0IGhhcyB0aGUgaGFzaGNoYW5nZSBldmVudFxuICAgIGlmICgn
b25oYXNoY2hhbmdlJyBpbiB3aW5kb3cgJiYgKGRvY3VtZW50LmRvY3VtZW50TW9kZSA9PT0gdW5k
ZWZpbmVkXG4gICAgICB8fCBkb2N1bWVudC5kb2N1bWVudE1vZGUgPiA3KSkge1xuICAgICAgLy8g
QXQgbGVhc3QgZm9yIG5vdyBIVE1MNSBoaXN0b3J5IGlzIGF2YWlsYWJsZSBmb3IgJ21vZGVybicg
YnJvd3NlcnMgb25seVxuICAgICAgaWYgKHRoaXMuaGlzdG9yeSA9PT0gdHJ1ZSkge1xuICAgICAg
ICAvLyBUaGVyZSBpcyBhbiBvbGQgYnVnIGluIENocm9tZSB0aGF0IGNhdXNlcyBvbnBvcHN0YXRl
IHRvIGZpcmUgZXZlblxuICAgICAgICAvLyB1cG9uIGluaXRpYWwgcGFnZSBsb2FkLiBTaW5jZSB0
aGUgaGFuZGxlciBpcyBydW4gbWFudWFsbHkgaW4gaW5pdCgpLFxuICAgICAgICAvLyB0aGlzIHdv
dWxkIGNhdXNlIENocm9tZSB0byBydW4gaXQgdHdpc2UuIEN1cnJlbnRseSB0aGUgb25seVxuICAg
ICAgICAvLyB3b3JrYXJvdW5kIHNlZW1zIHRvIGJlIHRvIHNldCB0aGUgaGFuZGxlciBhZnRlciB0
aGUgaW5pdGlhbCBwYWdlIGxvYWRcbiAgICAgICAgLy8gaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9w
L2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NjMwNDBcbiAgICAgICAgc2V0VGltZW91dChmdW5j
dGlvbigpIHtcbiAgICAgICAgICB3aW5kb3cub25wb3BzdGF0ZSA9IG9uY2hhbmdlO1xuICAgICAg
ICB9LCA1MDApO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHdpbmRvdy5vbmhhc2hj
aGFuZ2UgPSBvbmNoYW5nZTtcbiAgICAgIH1cbiAgICAgIHRoaXMubW9kZSA9ICdtb2Rlcm4nO1xu
ICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIC8vXG4gICAgICAvLyBJRSBzdXBwb3J0LCBiYXNlZCBv
biBhIGNvbmNlcHQgYnkgRXJpayBBcnZpZHNvbiAuLi5cbiAgICAgIC8vXG4gICAgICB2YXIgZnJh
bWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTtcbiAgICAgIGZyYW1lLmlkID0g
J3N0YXRlLWZyYW1lJztcbiAgICAgIGZyYW1lLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZyYW1lKTtcbiAgICAgIHRoaXMud3JpdGVGcmFt
ZSgnJyk7XG5cbiAgICAgIGlmICgnb25wcm9wZXJ0eWNoYW5nZScgaW4gZG9jdW1lbnQgJiYgJ2F0
dGFjaEV2ZW50JyBpbiBkb2N1bWVudCkge1xuICAgICAgICBkb2N1bWVudC5hdHRhY2hFdmVudCgn
b25wcm9wZXJ0eWNoYW5nZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBpZiAoZXZlbnQucHJv
cGVydHlOYW1lID09PSAnbG9jYXRpb24nKSB7XG4gICAgICAgICAgICBzZWxmLmNoZWNrKCk7XG4g
ICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgd2luZG93LnNldEludGVy
dmFsKGZ1bmN0aW9uICgpIHsgc2VsZi5jaGVjaygpOyB9LCA1MCk7XG5cbiAgICAgIHRoaXMub25I
YXNoQ2hhbmdlZCA9IG9uY2hhbmdlO1xuICAgICAgdGhpcy5tb2RlID0gJ2xlZ2FjeSc7XG4gICAg
fVxuXG4gICAgUm91dGVyLmxpc3RlbmVycy5wdXNoKGZuKTtcblxuICAgIHJldHVybiB0aGlzLm1v
ZGU7XG4gIH0sXG5cbiAgZGVzdHJveTogZnVuY3Rpb24gKGZuKSB7XG4gICAgaWYgKCFSb3V0ZXIg
fHwgIVJvdXRlci5saXN0ZW5lcnMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIg
bGlzdGVuZXJzID0gUm91dGVyLmxpc3RlbmVycztcblxuICAgIGZvciAodmFyIGkgPSBsaXN0ZW5l
cnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIGlmIChsaXN0ZW5lcnNbaV0gPT09
IGZuKSB7XG4gICAgICAgIGxpc3RlbmVycy5zcGxpY2UoaSwgMSk7XG4gICAgICB9XG4gICAgfVxu
ICB9LFxuXG4gIHNldEhhc2g6IGZ1bmN0aW9uIChzKSB7XG4gICAgLy8gTW96aWxsYSBhbHdheXMg
YWRkcyBhbiBlbnRyeSB0byB0aGUgaGlzdG9yeVxuICAgIGlmICh0aGlzLm1vZGUgPT09ICdsZWdh
Y3knKSB7XG4gICAgICB0aGlzLndyaXRlRnJhbWUocyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMu
aGlzdG9yeSA9PT0gdHJ1ZSkge1xuICAgICAgd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKHt9LCBk
b2N1bWVudC50aXRsZSwgcyk7XG4gICAgICAvLyBGaXJlIGFuIG9ucG9wc3RhdGUgZXZlbnQgbWFu
dWFsbHkgc2luY2UgcHVzaGluZyBkb2VzIG5vdCBvYnZpb3VzbHlcbiAgICAgIC8vIHRyaWdnZXIg
dGhlIHBvcCBldmVudC5cbiAgICAgIHRoaXMuZmlyZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBk
bG9jLmhhc2ggPSAoc1swXSA9PT0gJy8nKSA/IHMgOiAnLycgKyBzO1xuICAgIH1cbiAgICByZXR1
cm4gdGhpcztcbiAgfSxcblxuICB3cml0ZUZyYW1lOiBmdW5jdGlvbiAocykge1xuICAgIC8vIElF
IHN1cHBvcnQuLi5cbiAgICB2YXIgZiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGF0ZS1m
cmFtZScpO1xuICAgIHZhciBkID0gZi5jb250ZW50RG9jdW1lbnQgfHwgZi5jb250ZW50V2luZG93
LmRvY3VtZW50O1xuICAgIGQub3BlbigpO1xuICAgIGQud3JpdGUoXCI8c2NyaXB0Pl9oYXNoID0g
J1wiICsgcyArIFwiJzsgb25sb2FkID0gcGFyZW50Lmxpc3RlbmVyLnN5bmNIYXNoOzxzY3JpcHQ+
XCIpO1xuICAgIGQuY2xvc2UoKTtcbiAgfSxcblxuICBzeW5jSGFzaDogZnVuY3Rpb24gKCkge1xu
ICAgIC8vIElFIHN1cHBvcnQuLi5cbiAgICB2YXIgcyA9IHRoaXMuX2hhc2g7XG4gICAgaWYgKHMg
IT0gZGxvYy5oYXNoKSB7XG4gICAgICBkbG9jLmhhc2ggPSBzO1xuICAgIH1cbiAgICByZXR1cm4g
dGhpcztcbiAgfSxcblxuICBvbkhhc2hDaGFuZ2VkOiBmdW5jdGlvbiAoKSB7fVxufTtcblxudmFy
IFJvdXRlciA9IGV4cG9ydHMuUm91dGVyID0gZnVuY3Rpb24gKHJvdXRlcykge1xuICBpZiAoISh0
aGlzIGluc3RhbmNlb2YgUm91dGVyKSkgcmV0dXJuIG5ldyBSb3V0ZXIocm91dGVzKTtcblxuICB0
aGlzLnBhcmFtcyAgID0ge307XG4gIHRoaXMucm91dGVzICAgPSB7fTtcbiAgdGhpcy5tZXRob2Rz
ICA9IFsnb24nLCAnb25jZScsICdhZnRlcicsICdiZWZvcmUnXTtcbiAgdGhpcy5zY29wZSAgICA9
IFtdO1xuICB0aGlzLl9tZXRob2RzID0ge307XG5cbiAgdGhpcy5faW5zZXJ0ID0gdGhpcy5pbnNl
cnQ7XG4gIHRoaXMuaW5zZXJ0ID0gdGhpcy5pbnNlcnRFeDtcblxuICB0aGlzLmhpc3RvcnlTdXBw
b3J0ID0gKHdpbmRvdy5oaXN0b3J5ICE9IG51bGwgPyB3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUg
OiBudWxsKSAhPSBudWxsXG5cbiAgdGhpcy5jb25maWd1cmUoKTtcbiAgdGhpcy5tb3VudChyb3V0
ZXMgfHwge30pO1xufTtcblxuUm91dGVyLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKHIpIHtc
biAgdmFyIHNlbGYgPSB0aGlzXG4gICAgLCByb3V0ZVRvO1xuICB0aGlzLmhhbmRsZXIgPSBmdW5j
dGlvbihvbkNoYW5nZUV2ZW50KSB7XG4gICAgdmFyIG5ld1VSTCA9IG9uQ2hhbmdlRXZlbnQgJiYg
b25DaGFuZ2VFdmVudC5uZXdVUkwgfHwgd2luZG93LmxvY2F0aW9uLmhhc2g7XG4gICAgdmFyIHVy
bCA9IHNlbGYuaGlzdG9yeSA9PT0gdHJ1ZSA/IHNlbGYuZ2V0UGF0aCgpIDogbmV3VVJMLnJlcGxh
Y2UoLy4qIy8sICcnKTtcbiAgICBzZWxmLmRpc3BhdGNoKCdvbicsIHVybC5jaGFyQXQoMCkgPT09
ICcvJyA/IHVybCA6ICcvJyArIHVybCk7XG4gIH07XG5cbiAgbGlzdGVuZXIuaW5pdCh0aGlzLmhh
bmRsZXIsIHRoaXMuaGlzdG9yeSk7XG5cbiAgaWYgKHRoaXMuaGlzdG9yeSA9PT0gZmFsc2UpIHtc
biAgICBpZiAoZGxvY0hhc2hFbXB0eSgpICYmIHIpIHtcbiAgICAgIGRsb2MuaGFzaCA9IHI7XG4g
ICAgfSBlbHNlIGlmICghZGxvY0hhc2hFbXB0eSgpKSB7XG4gICAgICBzZWxmLmRpc3BhdGNoKCdv
bicsICcvJyArIGRsb2MuaGFzaC5yZXBsYWNlKC9eKCNcXC98I3xcXC8pLywgJycpKTtcbiAgICB9
XG4gIH1cbiAgZWxzZSB7XG4gICAgaWYgKHRoaXMuY29udmVydF9oYXNoX2luX2luaXQpIHtcbiAg
ICAgIC8vIFVzZSBoYXNoIGFzIHJvdXRlXG4gICAgICByb3V0ZVRvID0gZGxvY0hhc2hFbXB0eSgp
ICYmIHIgPyByIDogIWRsb2NIYXNoRW1wdHkoKSA/IGRsb2MuaGFzaC5yZXBsYWNlKC9eIy8sICcn
KSA6IG51bGw7XG4gICAgICBpZiAocm91dGVUbykge1xuICAgICAgICB3aW5kb3cuaGlzdG9yeS5y
ZXBsYWNlU3RhdGUoe30sIGRvY3VtZW50LnRpdGxlLCByb3V0ZVRvKTtcbiAgICAgIH1cbiAgICB9
XG4gICAgZWxzZSB7XG4gICAgICAvLyBVc2UgY2Fub25pY2FsIHVybFxuICAgICAgcm91dGVUbyA9
IHRoaXMuZ2V0UGF0aCgpO1xuICAgIH1cblxuICAgIC8vIFJvdXRlciBoYXMgYmVlbiBpbml0aWFs
aXplZCwgYnV0IGR1ZSB0byB0aGUgY2hyb21lIGJ1ZyBpdCB3aWxsIG5vdFxuICAgIC8vIHlldCBh
Y3R1YWxseSByb3V0ZSBIVE1MNSBoaXN0b3J5IHN0YXRlIGNoYW5nZXMuIFRodXMsIGRlY2lkZSBp
ZiBzaG91bGQgcm91dGUuXG4gICAgaWYgKHJvdXRlVG8gfHwgdGhpcy5ydW5faW5faW5pdCA9PT0g
dHJ1ZSkge1xuICAgICAgdGhpcy5oYW5kbGVyKCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRo
aXM7XG59O1xuXG5Sb3V0ZXIucHJvdG90eXBlLmV4cGxvZGUgPSBmdW5jdGlvbiAoKSB7XG4gIHZh
ciB2ID0gdGhpcy5oaXN0b3J5ID09PSB0cnVlID8gdGhpcy5nZXRQYXRoKCkgOiBkbG9jLmhhc2g7
XG4gIGlmICh2LmNoYXJBdCgxKSA9PT0gJy8nKSB7IHY9di5zbGljZSgxKSB9XG4gIHJldHVybiB2
LnNsaWNlKDEsIHYubGVuZ3RoKS5zcGxpdChcIi9cIik7XG59O1xuXG5Sb3V0ZXIucHJvdG90eXBl
LnNldFJvdXRlID0gZnVuY3Rpb24gKGksIHYsIHZhbCkge1xuICB2YXIgdXJsID0gdGhpcy5leHBs
b2RlKCk7XG5cbiAgaWYgKHR5cGVvZiBpID09PSAnbnVtYmVyJyAmJiB0eXBlb2YgdiA9PT0gJ3N0
cmluZycpIHtcbiAgICB1cmxbaV0gPSB2O1xuICB9XG4gIGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09
ICdzdHJpbmcnKSB7XG4gICAgdXJsLnNwbGljZShpLCB2LCBzKTtcbiAgfVxuICBlbHNlIHtcbiAg
ICB1cmwgPSBbaV07XG4gIH1cblxuICBsaXN0ZW5lci5zZXRIYXNoKHVybC5qb2luKCcvJykpO1xu
ICByZXR1cm4gdXJsO1xufTtcblxuLy9cbi8vICMjIyBmdW5jdGlvbiBpbnNlcnRFeChtZXRob2Qs
IHBhdGgsIHJvdXRlLCBwYXJlbnQpXG4vLyAjIyMjIEBtZXRob2Qge3N0cmluZ30gTWV0aG9kIHRv
IGluc2VydCB0aGUgc3BlY2lmaWMgYHJvdXRlYC5cbi8vICMjIyMgQHBhdGgge0FycmF5fSBQYXJz
ZWQgcGF0aCB0byBpbnNlcnQgdGhlIGByb3V0ZWAgYXQuXG4vLyAjIyMjIEByb3V0ZSB7QXJyYXl8
ZnVuY3Rpb259IFJvdXRlIGhhbmRsZXJzIHRvIGluc2VydC5cbi8vICMjIyMgQHBhcmVudCB7T2Jq
ZWN0fSAqKk9wdGlvbmFsKiogUGFyZW50IFwicm91dGVzXCIgdG8gaW5zZXJ0IGludG8uXG4vLyBp
bnNlcnQgYSBjYWxsYmFjayB0aGF0IHdpbGwgb25seSBvY2N1ciBvbmNlIHBlciB0aGUgbWF0Y2hl
ZCByb3V0ZS5cbi8vXG5Sb3V0ZXIucHJvdG90eXBlLmluc2VydEV4ID0gZnVuY3Rpb24obWV0aG9k
LCBwYXRoLCByb3V0ZSwgcGFyZW50KSB7XG4gIGlmIChtZXRob2QgPT09IFwib25jZVwiKSB7XG4g
ICAgbWV0aG9kID0gXCJvblwiO1xuICAgIHJvdXRlID0gZnVuY3Rpb24ocm91dGUpIHtcbiAgICAg
IHZhciBvbmNlID0gZmFsc2U7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICAgIGlm
IChvbmNlKSByZXR1cm47XG4gICAgICAgIG9uY2UgPSB0cnVlO1xuICAgICAgICByZXR1cm4gcm91
dGUuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgIH07XG4gICAgfShyb3V0ZSk7XG4gIH1c
biAgcmV0dXJuIHRoaXMuX2luc2VydChtZXRob2QsIHBhdGgsIHJvdXRlLCBwYXJlbnQpO1xufTtc
blxuUm91dGVyLnByb3RvdHlwZS5nZXRSb3V0ZSA9IGZ1bmN0aW9uICh2KSB7XG4gIHZhciByZXQg
PSB2O1xuXG4gIGlmICh0eXBlb2YgdiA9PT0gXCJudW1iZXJcIikge1xuICAgIHJldCA9IHRoaXMu
ZXhwbG9kZSgpW3ZdO1xuICB9XG4gIGVsc2UgaWYgKHR5cGVvZiB2ID09PSBcInN0cmluZ1wiKXtc
biAgICB2YXIgaCA9IHRoaXMuZXhwbG9kZSgpO1xuICAgIHJldCA9IGguaW5kZXhPZih2KTtcbiAg
fVxuICBlbHNlIHtcbiAgICByZXQgPSB0aGlzLmV4cGxvZGUoKTtcbiAgfVxuXG4gIHJldHVybiBy
ZXQ7XG59O1xuXG5Sb3V0ZXIucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbiAoKSB7XG4gIGxp
c3RlbmVyLmRlc3Ryb3kodGhpcy5oYW5kbGVyKTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG5Sb3V0
ZXIucHJvdG90eXBlLmdldFBhdGggPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBwYXRoID0gd2luZG93
LmxvY2F0aW9uLnBhdGhuYW1lO1xuICBpZiAocGF0aC5zdWJzdHIoMCwgMSkgIT09ICcvJykge1xu
ICAgIHBhdGggPSAnLycgKyBwYXRoO1xuICB9XG4gIHJldHVybiBwYXRoO1xufTtcbmZ1bmN0aW9u
IF9ldmVyeShhcnIsIGl0ZXJhdG9yKSB7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyLmxlbmd0
aDsgaSArPSAxKSB7XG4gICAgaWYgKGl0ZXJhdG9yKGFycltpXSwgaSwgYXJyKSA9PT0gZmFsc2Up
IHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gX2ZsYXR0ZW4oYXJy
KSB7XG4gIHZhciBmbGF0ID0gW107XG4gIGZvciAodmFyIGkgPSAwLCBuID0gYXJyLmxlbmd0aDsg
aSA8IG47IGkrKykge1xuICAgIGZsYXQgPSBmbGF0LmNvbmNhdChhcnJbaV0pO1xuICB9XG4gIHJl
dHVybiBmbGF0O1xufVxuXG5mdW5jdGlvbiBfYXN5bmNFdmVyeVNlcmllcyhhcnIsIGl0ZXJhdG9y
LCBjYWxsYmFjaykge1xuICBpZiAoIWFyci5sZW5ndGgpIHtcbiAgICByZXR1cm4gY2FsbGJhY2so
KTtcbiAgfVxuICB2YXIgY29tcGxldGVkID0gMDtcbiAgKGZ1bmN0aW9uIGl0ZXJhdGUoKSB7XG4g
ICAgaXRlcmF0b3IoYXJyW2NvbXBsZXRlZF0sIGZ1bmN0aW9uKGVycikge1xuICAgICAgaWYgKGVy
ciB8fCBlcnIgPT09IGZhbHNlKSB7XG4gICAgICAgIGNhbGxiYWNrKGVycik7XG4gICAgICAgIGNh
bGxiYWNrID0gZnVuY3Rpb24oKSB7fTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbXBsZXRl
ZCArPSAxO1xuICAgICAgICBpZiAoY29tcGxldGVkID09PSBhcnIubGVuZ3RoKSB7XG4gICAgICAg
ICAgY2FsbGJhY2soKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVyYXRlKCk7XG4g
ICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfSkoKTtcbn1cblxuZnVuY3Rpb24gcGFyYW1p
ZnlTdHJpbmcoc3RyLCBwYXJhbXMsIG1vZCkge1xuICBtb2QgPSBzdHI7XG4gIGZvciAodmFyIHBh
cmFtIGluIHBhcmFtcykge1xuICAgIGlmIChwYXJhbXMuaGFzT3duUHJvcGVydHkocGFyYW0pKSB7
XG4gICAgICBtb2QgPSBwYXJhbXNbcGFyYW1dKHN0cik7XG4gICAgICBpZiAobW9kICE9PSBzdHIp
IHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBtb2QgPT09
IHN0ciA/IFwiKFsuX2EtekEtWjAtOS0lKCldKylcIiA6IG1vZDtcbn1cblxuZnVuY3Rpb24gcmVn
aWZ5U3RyaW5nKHN0ciwgcGFyYW1zKSB7XG4gIHZhciBtYXRjaGVzLCBsYXN0ID0gMCwgb3V0ID0g
XCJcIjtcbiAgd2hpbGUgKG1hdGNoZXMgPSBzdHIuc3Vic3RyKGxhc3QpLm1hdGNoKC9bXlxcd1xc
ZFxcLSAlQCZdKlxcKlteXFx3XFxkXFwtICVAJl0qLykpIHtcbiAgICBsYXN0ID0gbWF0Y2hlcy5p
bmRleCArIG1hdGNoZXNbMF0ubGVuZ3RoO1xuICAgIG1hdGNoZXNbMF0gPSBtYXRjaGVzWzBdLnJl
cGxhY2UoL15cXCovLCBcIihbXy4oKSFcXFxcICVAJmEtekEtWjAtOS1dKylcIik7XG4gICAgb3V0
ICs9IHN0ci5zdWJzdHIoMCwgbWF0Y2hlcy5pbmRleCkgKyBtYXRjaGVzWzBdO1xuICB9XG4gIHN0
ciA9IG91dCArPSBzdHIuc3Vic3RyKGxhc3QpO1xuICB2YXIgY2FwdHVyZXMgPSBzdHIubWF0Y2go
LzooW15cXC9dKykvaWcpLCBjYXB0dXJlLCBsZW5ndGg7XG4gIGlmIChjYXB0dXJlcykge1xuICAg
IGxlbmd0aCA9IGNhcHR1cmVzLmxlbmd0aDtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0
aDsgaSsrKSB7XG4gICAgICBjYXB0dXJlID0gY2FwdHVyZXNbaV07XG4gICAgICBpZiAoY2FwdHVy
ZS5zbGljZSgwLCAyKSA9PT0gXCI6OlwiKSB7XG4gICAgICAgIHN0ciA9IGNhcHR1cmUuc2xpY2Uo
MSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdHIgPSBzdHIucmVwbGFjZShjYXB0dXJlLCBw
YXJhbWlmeVN0cmluZyhjYXB0dXJlLCBwYXJhbXMpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAg
cmV0dXJuIHN0cjtcbn1cblxuZnVuY3Rpb24gdGVybWluYXRvcihyb3V0ZXMsIGRlbGltaXRlciwg
c3RhcnQsIHN0b3ApIHtcbiAgdmFyIGxhc3QgPSAwLCBsZWZ0ID0gMCwgcmlnaHQgPSAwLCBzdGFy
dCA9IChzdGFydCB8fCBcIihcIikudG9TdHJpbmcoKSwgc3RvcCA9IChzdG9wIHx8IFwiKVwiKS50
b1N0cmluZygpLCBpO1xuICBmb3IgKGkgPSAwOyBpIDwgcm91dGVzLmxlbmd0aDsgaSsrKSB7XG4g
ICAgdmFyIGNodW5rID0gcm91dGVzW2ldO1xuICAgIGlmIChjaHVuay5pbmRleE9mKHN0YXJ0LCBs
YXN0KSA+IGNodW5rLmluZGV4T2Yoc3RvcCwgbGFzdCkgfHwgfmNodW5rLmluZGV4T2Yoc3RhcnQs
IGxhc3QpICYmICF+Y2h1bmsuaW5kZXhPZihzdG9wLCBsYXN0KSB8fCAhfmNodW5rLmluZGV4T2Yo
c3RhcnQsIGxhc3QpICYmIH5jaHVuay5pbmRleE9mKHN0b3AsIGxhc3QpKSB7XG4gICAgICBsZWZ0
ID0gY2h1bmsuaW5kZXhPZihzdGFydCwgbGFzdCk7XG4gICAgICByaWdodCA9IGNodW5rLmluZGV4
T2Yoc3RvcCwgbGFzdCk7XG4gICAgICBpZiAofmxlZnQgJiYgIX5yaWdodCB8fCAhfmxlZnQgJiYg
fnJpZ2h0KSB7XG4gICAgICAgIHZhciB0bXAgPSByb3V0ZXMuc2xpY2UoMCwgKGkgfHwgMSkgKyAx
KS5qb2luKGRlbGltaXRlcik7XG4gICAgICAgIHJvdXRlcyA9IFsgdG1wIF0uY29uY2F0KHJvdXRl
cy5zbGljZSgoaSB8fCAxKSArIDEpKTtcbiAgICAgIH1cbiAgICAgIGxhc3QgPSAocmlnaHQgPiBs
ZWZ0ID8gcmlnaHQgOiBsZWZ0KSArIDE7XG4gICAgICBpID0gMDtcbiAgICB9IGVsc2Uge1xuICAg
ICAgbGFzdCA9IDA7XG4gICAgfVxuICB9XG4gIHJldHVybiByb3V0ZXM7XG59XG5cbnZhciBRVUVS
WV9TRVBBUkFUT1IgPSAvXFw/LiovO1xuXG5Sb3V0ZXIucHJvdG90eXBlLmNvbmZpZ3VyZSA9IGZ1
bmN0aW9uKG9wdGlvbnMpIHtcbiAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gIGZvciAodmFy
IGkgPSAwOyBpIDwgdGhpcy5tZXRob2RzLmxlbmd0aDsgaSsrKSB7XG4gICAgdGhpcy5fbWV0aG9k
c1t0aGlzLm1ldGhvZHNbaV1dID0gdHJ1ZTtcbiAgfVxuICB0aGlzLnJlY3Vyc2UgPSBvcHRpb25z
LnJlY3Vyc2UgfHwgdGhpcy5yZWN1cnNlIHx8IGZhbHNlO1xuICB0aGlzLmFzeW5jID0gb3B0aW9u
cy5hc3luYyB8fCBmYWxzZTtcbiAgdGhpcy5kZWxpbWl0ZXIgPSBvcHRpb25zLmRlbGltaXRlciB8
fCBcIi9cIjtcbiAgdGhpcy5zdHJpY3QgPSB0eXBlb2Ygb3B0aW9ucy5zdHJpY3QgPT09IFwidW5k
ZWZpbmVkXCIgPyB0cnVlIDogb3B0aW9ucy5zdHJpY3Q7XG4gIHRoaXMubm90Zm91bmQgPSBvcHRp
b25zLm5vdGZvdW5kO1xuICB0aGlzLnJlc291cmNlID0gb3B0aW9ucy5yZXNvdXJjZTtcbiAgdGhp
cy5oaXN0b3J5ID0gb3B0aW9ucy5odG1sNWhpc3RvcnkgJiYgdGhpcy5oaXN0b3J5U3VwcG9ydCB8
fCBmYWxzZTtcbiAgdGhpcy5ydW5faW5faW5pdCA9IHRoaXMuaGlzdG9yeSA9PT0gdHJ1ZSAmJiBv
cHRpb25zLnJ1bl9oYW5kbGVyX2luX2luaXQgIT09IGZhbHNlO1xuICB0aGlzLmNvbnZlcnRfaGFz
aF9pbl9pbml0ID0gdGhpcy5oaXN0b3J5ID09PSB0cnVlICYmIG9wdGlvbnMuY29udmVydF9oYXNo
X2luX2luaXQgIT09IGZhbHNlO1xuICB0aGlzLmV2ZXJ5ID0ge1xuICAgIGFmdGVyOiBvcHRpb25z
LmFmdGVyIHx8IG51bGwsXG4gICAgYmVmb3JlOiBvcHRpb25zLmJlZm9yZSB8fCBudWxsLFxuICAg
IG9uOiBvcHRpb25zLm9uIHx8IG51bGxcbiAgfTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG5Sb3V0
ZXIucHJvdG90eXBlLnBhcmFtID0gZnVuY3Rpb24odG9rZW4sIG1hdGNoZXIpIHtcbiAgaWYgKHRv
a2VuWzBdICE9PSBcIjpcIikge1xuICAgIHRva2VuID0gXCI6XCIgKyB0b2tlbjtcbiAgfVxuICB2
YXIgY29tcGlsZWQgPSBuZXcgUmVnRXhwKHRva2VuLCBcImdcIik7XG4gIHRoaXMucGFyYW1zW3Rv
a2VuXSA9IGZ1bmN0aW9uKHN0cikge1xuICAgIHJldHVybiBzdHIucmVwbGFjZShjb21waWxlZCwg
bWF0Y2hlci5zb3VyY2UgfHwgbWF0Y2hlcik7XG4gIH07XG4gIHJldHVybiB0aGlzO1xufTtcblxu
Um91dGVyLnByb3RvdHlwZS5vbiA9IFJvdXRlci5wcm90b3R5cGUucm91dGUgPSBmdW5jdGlvbiht
ZXRob2QsIHBhdGgsIHJvdXRlKSB7XG4gIHZhciBzZWxmID0gdGhpcztcbiAgaWYgKCFyb3V0ZSAm
JiB0eXBlb2YgcGF0aCA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICByb3V0ZSA9IHBhdGg7XG4gICAg
cGF0aCA9IG1ldGhvZDtcbiAgICBtZXRob2QgPSBcIm9uXCI7XG4gIH1cbiAgaWYgKEFycmF5Lmlz
QXJyYXkocGF0aCkpIHtcbiAgICByZXR1cm4gcGF0aC5mb3JFYWNoKGZ1bmN0aW9uKHApIHtcbiAg
ICAgIHNlbGYub24obWV0aG9kLCBwLCByb3V0ZSk7XG4gICAgfSk7XG4gIH1cbiAgaWYgKHBhdGgu
c291cmNlKSB7XG4gICAgcGF0aCA9IHBhdGguc291cmNlLnJlcGxhY2UoL1xcXFxcXC8vaWcsIFwi
L1wiKTtcbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheShtZXRob2QpKSB7XG4gICAgcmV0dXJuIG1l
dGhvZC5mb3JFYWNoKGZ1bmN0aW9uKG0pIHtcbiAgICAgIHNlbGYub24obS50b0xvd2VyQ2FzZSgp
LCBwYXRoLCByb3V0ZSk7XG4gICAgfSk7XG4gIH1cbiAgcGF0aCA9IHBhdGguc3BsaXQobmV3IFJl
Z0V4cCh0aGlzLmRlbGltaXRlcikpO1xuICBwYXRoID0gdGVybWluYXRvcihwYXRoLCB0aGlzLmRl
bGltaXRlcik7XG4gIHRoaXMuaW5zZXJ0KG1ldGhvZCwgdGhpcy5zY29wZS5jb25jYXQocGF0aCks
IHJvdXRlKTtcbn07XG5cblJvdXRlci5wcm90b3R5cGUucGF0aCA9IGZ1bmN0aW9uKHBhdGgsIHJv
dXRlc0ZuKSB7XG4gIHZhciBzZWxmID0gdGhpcywgbGVuZ3RoID0gdGhpcy5zY29wZS5sZW5ndGg7
XG4gIGlmIChwYXRoLnNvdXJjZSkge1xuICAgIHBhdGggPSBwYXRoLnNvdXJjZS5yZXBsYWNlKC9c
XFxcXFwvL2lnLCBcIi9cIik7XG4gIH1cbiAgcGF0aCA9IHBhdGguc3BsaXQobmV3IFJlZ0V4cCh0
aGlzLmRlbGltaXRlcikpO1xuICBwYXRoID0gdGVybWluYXRvcihwYXRoLCB0aGlzLmRlbGltaXRl
cik7XG4gIHRoaXMuc2NvcGUgPSB0aGlzLnNjb3BlLmNvbmNhdChwYXRoKTtcbiAgcm91dGVzRm4u
Y2FsbCh0aGlzLCB0aGlzKTtcbiAgdGhpcy5zY29wZS5zcGxpY2UobGVuZ3RoLCBwYXRoLmxlbmd0
aCk7XG59O1xuXG5Sb3V0ZXIucHJvdG90eXBlLmRpc3BhdGNoID0gZnVuY3Rpb24obWV0aG9kLCBw
YXRoLCBjYWxsYmFjaykge1xuICB2YXIgc2VsZiA9IHRoaXMsIGZucyA9IHRoaXMudHJhdmVyc2Uo
bWV0aG9kLCBwYXRoLnJlcGxhY2UoUVVFUllfU0VQQVJBVE9SLCBcIlwiKSwgdGhpcy5yb3V0ZXMs
IFwiXCIpLCBpbnZva2VkID0gdGhpcy5faW52b2tlZCwgYWZ0ZXI7XG4gIHRoaXMuX2ludm9rZWQg
PSB0cnVlO1xuICBpZiAoIWZucyB8fCBmbnMubGVuZ3RoID09PSAwKSB7XG4gICAgdGhpcy5sYXN0
ID0gW107XG4gICAgaWYgKHR5cGVvZiB0aGlzLm5vdGZvdW5kID09PSBcImZ1bmN0aW9uXCIpIHtc
biAgICAgIHRoaXMuaW52b2tlKFsgdGhpcy5ub3Rmb3VuZCBdLCB7XG4gICAgICAgIG1ldGhvZDog
bWV0aG9kLFxuICAgICAgICBwYXRoOiBwYXRoXG4gICAgICB9LCBjYWxsYmFjayk7XG4gICAgfVxu
ICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAodGhpcy5yZWN1cnNlID09PSBcImZvcndhcmRc
Iikge1xuICAgIGZucyA9IGZucy5yZXZlcnNlKCk7XG4gIH1cbiAgZnVuY3Rpb24gdXBkYXRlQW5k
SW52b2tlKCkge1xuICAgIHNlbGYubGFzdCA9IGZucy5hZnRlcjtcbiAgICBzZWxmLmludm9rZShz
ZWxmLnJ1bmxpc3QoZm5zKSwgc2VsZiwgY2FsbGJhY2spO1xuICB9XG4gIGFmdGVyID0gdGhpcy5l
dmVyeSAmJiB0aGlzLmV2ZXJ5LmFmdGVyID8gWyB0aGlzLmV2ZXJ5LmFmdGVyIF0uY29uY2F0KHRo
aXMubGFzdCkgOiBbIHRoaXMubGFzdCBdO1xuICBpZiAoYWZ0ZXIgJiYgYWZ0ZXIubGVuZ3RoID4g
MCAmJiBpbnZva2VkKSB7XG4gICAgaWYgKHRoaXMuYXN5bmMpIHtcbiAgICAgIHRoaXMuaW52b2tl
KGFmdGVyLCB0aGlzLCB1cGRhdGVBbmRJbnZva2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlz
Lmludm9rZShhZnRlciwgdGhpcyk7XG4gICAgICB1cGRhdGVBbmRJbnZva2UoKTtcbiAgICB9XG4g
ICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgdXBkYXRlQW5kSW52b2tlKCk7XG4gIHJldHVybiB0cnVl
O1xufTtcblxuUm91dGVyLnByb3RvdHlwZS5pbnZva2UgPSBmdW5jdGlvbihmbnMsIHRoaXNBcmcs
IGNhbGxiYWNrKSB7XG4gIHZhciBzZWxmID0gdGhpcztcbiAgdmFyIGFwcGx5O1xuICBpZiAodGhp
cy5hc3luYykge1xuICAgIGFwcGx5ID0gZnVuY3Rpb24oZm4sIG5leHQpIHtcbiAgICAgIGlmIChB
cnJheS5pc0FycmF5KGZuKSkge1xuICAgICAgICByZXR1cm4gX2FzeW5jRXZlcnlTZXJpZXMoZm4s
IGFwcGx5LCBuZXh0KTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGZuID09IFwiZnVuY3Rpb25c
Iikge1xuICAgICAgICBmbi5hcHBseSh0aGlzQXJnLCAoZm5zLmNhcHR1cmVzIHx8IFtdKS5jb25j
YXQobmV4dCkpO1xuICAgICAgfVxuICAgIH07XG4gICAgX2FzeW5jRXZlcnlTZXJpZXMoZm5zLCBh
cHBseSwgZnVuY3Rpb24oKSB7XG4gICAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgICAgY2FsbGJh
Y2suYXBwbHkodGhpc0FyZywgYXJndW1lbnRzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSBlbHNl
IHtcbiAgICBhcHBseSA9IGZ1bmN0aW9uKGZuKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShm
bikpIHtcbiAgICAgICAgcmV0dXJuIF9ldmVyeShmbiwgYXBwbHkpO1xuICAgICAgfSBlbHNlIGlm
ICh0eXBlb2YgZm4gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICByZXR1cm4gZm4uYXBwbHko
dGhpc0FyZywgZm5zLmNhcHR1cmVzIHx8IFtdKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGZu
ID09PSBcInN0cmluZ1wiICYmIHNlbGYucmVzb3VyY2UpIHtcbiAgICAgICAgc2VsZi5yZXNvdXJj
ZVtmbl0uYXBwbHkodGhpc0FyZywgZm5zLmNhcHR1cmVzIHx8IFtdKTtcbiAgICAgIH1cbiAgICB9
O1xuICAgIF9ldmVyeShmbnMsIGFwcGx5KTtcbiAgfVxufTtcblxuUm91dGVyLnByb3RvdHlwZS50
cmF2ZXJzZSA9IGZ1bmN0aW9uKG1ldGhvZCwgcGF0aCwgcm91dGVzLCByZWdleHAsIGZpbHRlcikg
e1xuICB2YXIgZm5zID0gW10sIGN1cnJlbnQsIGV4YWN0LCBtYXRjaCwgbmV4dCwgdGhhdDtcbiAg
ZnVuY3Rpb24gZmlsdGVyUm91dGVzKHJvdXRlcykge1xuICAgIGlmICghZmlsdGVyKSB7XG4gICAg
ICByZXR1cm4gcm91dGVzO1xuICAgIH1cbiAgICBmdW5jdGlvbiBkZWVwQ29weShzb3VyY2UpIHtc
biAgICAgIHZhciByZXN1bHQgPSBbXTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc291cmNl
Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHJlc3VsdFtpXSA9IEFycmF5LmlzQXJyYXkoc291cmNl
W2ldKSA/IGRlZXBDb3B5KHNvdXJjZVtpXSkgOiBzb3VyY2VbaV07XG4gICAgICB9XG4gICAgICBy
ZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICBmdW5jdGlvbiBhcHBseUZpbHRlcihmbnMpIHtcbiAg
ICAgIGZvciAodmFyIGkgPSBmbnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAg
aWYgKEFycmF5LmlzQXJyYXkoZm5zW2ldKSkge1xuICAgICAgICAgIGFwcGx5RmlsdGVyKGZuc1tp
XSk7XG4gICAgICAgICAgaWYgKGZuc1tpXS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGZu
cy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAg
IGlmICghZmlsdGVyKGZuc1tpXSkpIHtcbiAgICAgICAgICAgIGZucy5zcGxpY2UoaSwgMSk7XG4g
ICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHZhciBuZXdSb3V0ZXMg
PSBkZWVwQ29weShyb3V0ZXMpO1xuICAgIG5ld1JvdXRlcy5tYXRjaGVkID0gcm91dGVzLm1hdGNo
ZWQ7XG4gICAgbmV3Um91dGVzLmNhcHR1cmVzID0gcm91dGVzLmNhcHR1cmVzO1xuICAgIG5ld1Jv
dXRlcy5hZnRlciA9IHJvdXRlcy5hZnRlci5maWx0ZXIoZmlsdGVyKTtcbiAgICBhcHBseUZpbHRl
cihuZXdSb3V0ZXMpO1xuICAgIHJldHVybiBuZXdSb3V0ZXM7XG4gIH1cbiAgaWYgKHBhdGggPT09
IHRoaXMuZGVsaW1pdGVyICYmIHJvdXRlc1ttZXRob2RdKSB7XG4gICAgbmV4dCA9IFsgWyByb3V0
ZXMuYmVmb3JlLCByb3V0ZXNbbWV0aG9kXSBdLmZpbHRlcihCb29sZWFuKSBdO1xuICAgIG5leHQu
YWZ0ZXIgPSBbIHJvdXRlcy5hZnRlciBdLmZpbHRlcihCb29sZWFuKTtcbiAgICBuZXh0Lm1hdGNo
ZWQgPSB0cnVlO1xuICAgIG5leHQuY2FwdHVyZXMgPSBbXTtcbiAgICByZXR1cm4gZmlsdGVyUm91
dGVzKG5leHQpO1xuICB9XG4gIGZvciAodmFyIHIgaW4gcm91dGVzKSB7XG4gICAgaWYgKHJvdXRl
cy5oYXNPd25Qcm9wZXJ0eShyKSAmJiAoIXRoaXMuX21ldGhvZHNbcl0gfHwgdGhpcy5fbWV0aG9k
c1tyXSAmJiB0eXBlb2Ygcm91dGVzW3JdID09PSBcIm9iamVjdFwiICYmICFBcnJheS5pc0FycmF5
KHJvdXRlc1tyXSkpKSB7XG4gICAgICBjdXJyZW50ID0gZXhhY3QgPSByZWdleHAgKyB0aGlzLmRl
bGltaXRlciArIHI7XG4gICAgICBpZiAoIXRoaXMuc3RyaWN0KSB7XG4gICAgICAgIGV4YWN0ICs9
IFwiW1wiICsgdGhpcy5kZWxpbWl0ZXIgKyBcIl0/XCI7XG4gICAgICB9XG4gICAgICBtYXRjaCA9
IHBhdGgubWF0Y2gobmV3IFJlZ0V4cChcIl5cIiArIGV4YWN0KSk7XG4gICAgICBpZiAoIW1hdGNo
KSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKG1hdGNoWzBdICYmIG1h
dGNoWzBdID09IHBhdGggJiYgcm91dGVzW3JdW21ldGhvZF0pIHtcbiAgICAgICAgbmV4dCA9IFsg
WyByb3V0ZXNbcl0uYmVmb3JlLCByb3V0ZXNbcl1bbWV0aG9kXSBdLmZpbHRlcihCb29sZWFuKSBd
O1xuICAgICAgICBuZXh0LmFmdGVyID0gWyByb3V0ZXNbcl0uYWZ0ZXIgXS5maWx0ZXIoQm9vbGVh
bik7XG4gICAgICAgIG5leHQubWF0Y2hlZCA9IHRydWU7XG4gICAgICAgIG5leHQuY2FwdHVyZXMg
PSBtYXRjaC5zbGljZSgxKTtcbiAgICAgICAgaWYgKHRoaXMucmVjdXJzZSAmJiByb3V0ZXMgPT09
IHRoaXMucm91dGVzKSB7XG4gICAgICAgICAgbmV4dC5wdXNoKFsgcm91dGVzLmJlZm9yZSwgcm91
dGVzLm9uIF0uZmlsdGVyKEJvb2xlYW4pKTtcbiAgICAgICAgICBuZXh0LmFmdGVyID0gbmV4dC5h
ZnRlci5jb25jYXQoWyByb3V0ZXMuYWZ0ZXIgXS5maWx0ZXIoQm9vbGVhbikpO1xuICAgICAgICB9
XG4gICAgICAgIHJldHVybiBmaWx0ZXJSb3V0ZXMobmV4dCk7XG4gICAgICB9XG4gICAgICBuZXh0
ID0gdGhpcy50cmF2ZXJzZShtZXRob2QsIHBhdGgsIHJvdXRlc1tyXSwgY3VycmVudCk7XG4gICAg
ICBpZiAobmV4dC5tYXRjaGVkKSB7XG4gICAgICAgIGlmIChuZXh0Lmxlbmd0aCA+IDApIHtcbiAg
ICAgICAgICBmbnMgPSBmbnMuY29uY2F0KG5leHQpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0
aGlzLnJlY3Vyc2UpIHtcbiAgICAgICAgICBmbnMucHVzaChbIHJvdXRlc1tyXS5iZWZvcmUsIHJv
dXRlc1tyXS5vbiBdLmZpbHRlcihCb29sZWFuKSk7XG4gICAgICAgICAgbmV4dC5hZnRlciA9IG5l
eHQuYWZ0ZXIuY29uY2F0KFsgcm91dGVzW3JdLmFmdGVyIF0uZmlsdGVyKEJvb2xlYW4pKTtcbiAg
ICAgICAgICBpZiAocm91dGVzID09PSB0aGlzLnJvdXRlcykge1xuICAgICAgICAgICAgZm5zLnB1
c2goWyByb3V0ZXNbXCJiZWZvcmVcIl0sIHJvdXRlc1tcIm9uXCJdIF0uZmlsdGVyKEJvb2xlYW4p
KTtcbiAgICAgICAgICAgIG5leHQuYWZ0ZXIgPSBuZXh0LmFmdGVyLmNvbmNhdChbIHJvdXRlc1tc
ImFmdGVyXCJdIF0uZmlsdGVyKEJvb2xlYW4pKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAg
ICAgICAgZm5zLm1hdGNoZWQgPSB0cnVlO1xuICAgICAgICBmbnMuY2FwdHVyZXMgPSBuZXh0LmNh
cHR1cmVzO1xuICAgICAgICBmbnMuYWZ0ZXIgPSBuZXh0LmFmdGVyO1xuICAgICAgICByZXR1cm4g
ZmlsdGVyUm91dGVzKGZucyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtc
bn07XG5cblJvdXRlci5wcm90b3R5cGUuaW5zZXJ0ID0gZnVuY3Rpb24obWV0aG9kLCBwYXRoLCBy
b3V0ZSwgcGFyZW50KSB7XG4gIHZhciBtZXRob2RUeXBlLCBwYXJlbnRUeXBlLCBpc0FycmF5LCBu
ZXN0ZWQsIHBhcnQ7XG4gIHBhdGggPSBwYXRoLmZpbHRlcihmdW5jdGlvbihwKSB7XG4gICAgcmV0
dXJuIHAgJiYgcC5sZW5ndGggPiAwO1xuICB9KTtcbiAgcGFyZW50ID0gcGFyZW50IHx8IHRoaXMu
cm91dGVzO1xuICBwYXJ0ID0gcGF0aC5zaGlmdCgpO1xuICBpZiAoL1xcOnxcXCovLnRlc3QocGFy
dCkgJiYgIS9cXFxcZHxcXFxcdy8udGVzdChwYXJ0KSkge1xuICAgIHBhcnQgPSByZWdpZnlTdHJp
bmcocGFydCwgdGhpcy5wYXJhbXMpO1xuICB9XG4gIGlmIChwYXRoLmxlbmd0aCA+IDApIHtcbiAg
ICBwYXJlbnRbcGFydF0gPSBwYXJlbnRbcGFydF0gfHwge307XG4gICAgcmV0dXJuIHRoaXMuaW5z
ZXJ0KG1ldGhvZCwgcGF0aCwgcm91dGUsIHBhcmVudFtwYXJ0XSk7XG4gIH1cbiAgaWYgKCFwYXJ0
ICYmICFwYXRoLmxlbmd0aCAmJiBwYXJlbnQgPT09IHRoaXMucm91dGVzKSB7XG4gICAgbWV0aG9k
VHlwZSA9IHR5cGVvZiBwYXJlbnRbbWV0aG9kXTtcbiAgICBzd2l0Y2ggKG1ldGhvZFR5cGUpIHtc
biAgICAgY2FzZSBcImZ1bmN0aW9uXCI6XG4gICAgICBwYXJlbnRbbWV0aG9kXSA9IFsgcGFyZW50
W21ldGhvZF0sIHJvdXRlIF07XG4gICAgICByZXR1cm47XG4gICAgIGNhc2UgXCJvYmplY3RcIjpc
biAgICAgIHBhcmVudFttZXRob2RdLnB1c2gocm91dGUpO1xuICAgICAgcmV0dXJuO1xuICAgICBj
YXNlIFwidW5kZWZpbmVkXCI6XG4gICAgICBwYXJlbnRbbWV0aG9kXSA9IHJvdXRlO1xuICAgICAg
cmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cbiAgcGFyZW50VHlwZSA9IHR5cGVvZiBw
YXJlbnRbcGFydF07XG4gIGlzQXJyYXkgPSBBcnJheS5pc0FycmF5KHBhcmVudFtwYXJ0XSk7XG4g
IGlmIChwYXJlbnRbcGFydF0gJiYgIWlzQXJyYXkgJiYgcGFyZW50VHlwZSA9PSBcIm9iamVjdFwi
KSB7XG4gICAgbWV0aG9kVHlwZSA9IHR5cGVvZiBwYXJlbnRbcGFydF1bbWV0aG9kXTtcbiAgICBz
d2l0Y2ggKG1ldGhvZFR5cGUpIHtcbiAgICAgY2FzZSBcImZ1bmN0aW9uXCI6XG4gICAgICBwYXJl
bnRbcGFydF1bbWV0aG9kXSA9IFsgcGFyZW50W3BhcnRdW21ldGhvZF0sIHJvdXRlIF07XG4gICAg
ICByZXR1cm47XG4gICAgIGNhc2UgXCJvYmplY3RcIjpcbiAgICAgIHBhcmVudFtwYXJ0XVttZXRo
b2RdLnB1c2gocm91dGUpO1xuICAgICAgcmV0dXJuO1xuICAgICBjYXNlIFwidW5kZWZpbmVkXCI6
XG4gICAgICBwYXJlbnRbcGFydF1bbWV0aG9kXSA9IHJvdXRlO1xuICAgICAgcmV0dXJuO1xuICAg
IH1cbiAgfSBlbHNlIGlmIChwYXJlbnRUeXBlID09IFwidW5kZWZpbmVkXCIpIHtcbiAgICBuZXN0
ZWQgPSB7fTtcbiAgICBuZXN0ZWRbbWV0aG9kXSA9IHJvdXRlO1xuICAgIHBhcmVudFtwYXJ0XSA9
IG5lc3RlZDtcbiAgICByZXR1cm47XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBy
b3V0ZSBjb250ZXh0OiBcIiArIHBhcmVudFR5cGUpO1xufTtcblxuXG5cblJvdXRlci5wcm90b3R5
cGUuZXh0ZW5kID0gZnVuY3Rpb24obWV0aG9kcykge1xuICB2YXIgc2VsZiA9IHRoaXMsIGxlbiA9
IG1ldGhvZHMubGVuZ3RoLCBpO1xuICBmdW5jdGlvbiBleHRlbmQobWV0aG9kKSB7XG4gICAgc2Vs
Zi5fbWV0aG9kc1ttZXRob2RdID0gdHJ1ZTtcbiAgICBzZWxmW21ldGhvZF0gPSBmdW5jdGlvbigp
IHtcbiAgICAgIHZhciBleHRyYSA9IGFyZ3VtZW50cy5sZW5ndGggPT09IDEgPyBbIG1ldGhvZCwg
XCJcIiBdIDogWyBtZXRob2QgXTtcbiAgICAgIHNlbGYub24uYXBwbHkoc2VsZiwgZXh0cmEuY29u
Y2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cykpKTtcbiAgICB9O1xuICB9
XG4gIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgIGV4dGVuZChtZXRob2RzW2ldKTtc
biAgfVxufTtcblxuUm91dGVyLnByb3RvdHlwZS5ydW5saXN0ID0gZnVuY3Rpb24oZm5zKSB7XG4g
IHZhciBydW5saXN0ID0gdGhpcy5ldmVyeSAmJiB0aGlzLmV2ZXJ5LmJlZm9yZSA/IFsgdGhpcy5l
dmVyeS5iZWZvcmUgXS5jb25jYXQoX2ZsYXR0ZW4oZm5zKSkgOiBfZmxhdHRlbihmbnMpO1xuICBp
ZiAodGhpcy5ldmVyeSAmJiB0aGlzLmV2ZXJ5Lm9uKSB7XG4gICAgcnVubGlzdC5wdXNoKHRoaXMu
ZXZlcnkub24pO1xuICB9XG4gIHJ1bmxpc3QuY2FwdHVyZXMgPSBmbnMuY2FwdHVyZXM7XG4gIHJ1
bmxpc3Quc291cmNlID0gZm5zLnNvdXJjZTtcbiAgcmV0dXJuIHJ1bmxpc3Q7XG59O1xuXG5Sb3V0
ZXIucHJvdG90eXBlLm1vdW50ID0gZnVuY3Rpb24ocm91dGVzLCBwYXRoKSB7XG4gIGlmICghcm91
dGVzIHx8IHR5cGVvZiByb3V0ZXMgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheShyb3V0
ZXMpKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIHZhciBzZWxmID0gdGhpcztcbiAgcGF0aCA9IHBh
dGggfHwgW107XG4gIGlmICghQXJyYXkuaXNBcnJheShwYXRoKSkge1xuICAgIHBhdGggPSBwYXRo
LnNwbGl0KHNlbGYuZGVsaW1pdGVyKTtcbiAgfVxuICBmdW5jdGlvbiBpbnNlcnRPck1vdW50KHJv
dXRlLCBsb2NhbCkge1xuICAgIHZhciByZW5hbWUgPSByb3V0ZSwgcGFydHMgPSByb3V0ZS5zcGxp
dChzZWxmLmRlbGltaXRlciksIHJvdXRlVHlwZSA9IHR5cGVvZiByb3V0ZXNbcm91dGVdLCBpc1Jv
dXRlID0gcGFydHNbMF0gPT09IFwiXCIgfHwgIXNlbGYuX21ldGhvZHNbcGFydHNbMF1dLCBldmVu
dCA9IGlzUm91dGUgPyBcIm9uXCIgOiByZW5hbWU7XG4gICAgaWYgKGlzUm91dGUpIHtcbiAgICAg
IHJlbmFtZSA9IHJlbmFtZS5zbGljZSgocmVuYW1lLm1hdGNoKG5ldyBSZWdFeHAoXCJeXCIgKyBz
ZWxmLmRlbGltaXRlcikpIHx8IFsgXCJcIiBdKVswXS5sZW5ndGgpO1xuICAgICAgcGFydHMuc2hp
ZnQoKTtcbiAgICB9XG4gICAgaWYgKGlzUm91dGUgJiYgcm91dGVUeXBlID09PSBcIm9iamVjdFwi
ICYmICFBcnJheS5pc0FycmF5KHJvdXRlc1tyb3V0ZV0pKSB7XG4gICAgICBsb2NhbCA9IGxvY2Fs
LmNvbmNhdChwYXJ0cyk7XG4gICAgICBzZWxmLm1vdW50KHJvdXRlc1tyb3V0ZV0sIGxvY2FsKTtc
biAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGlzUm91dGUpIHtcbiAgICAgIGxvY2FsID0g
bG9jYWwuY29uY2F0KHJlbmFtZS5zcGxpdChzZWxmLmRlbGltaXRlcikpO1xuICAgICAgbG9jYWwg
PSB0ZXJtaW5hdG9yKGxvY2FsLCBzZWxmLmRlbGltaXRlcik7XG4gICAgfVxuICAgIHNlbGYuaW5z
ZXJ0KGV2ZW50LCBsb2NhbCwgcm91dGVzW3JvdXRlXSk7XG4gIH1cbiAgZm9yICh2YXIgcm91dGUg
aW4gcm91dGVzKSB7XG4gICAgaWYgKHJvdXRlcy5oYXNPd25Qcm9wZXJ0eShyb3V0ZSkpIHtcbiAg
ICAgIGluc2VydE9yTW91bnQocm91dGUsIHBhdGguc2xpY2UoMCkpO1xuICAgIH1cbiAgfVxufTtc
blxuXG5cbn0odHlwZW9mIGV4cG9ydHMgPT09IFwib2JqZWN0XCIgPyBleHBvcnRzIDogd2luZG93
KSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2Rp
cmVjdG9yL2J1aWxkL2RpcmVjdG9yLmpzXG4vLyBtb2R1bGUgaWQgPSAyXG4vLyBtb2R1bGUgY2h1
bmtzID0gMSIsIi8qKlxuICogVHJhbnNsYXRlcyB0aGUgbGlzdCBmb3JtYXQgcHJvZHVjZWQgYnkg
Y3NzLWxvYWRlciBpbnRvIHNvbWV0aGluZ1xuICogZWFzaWVyIHRvIG1hbmlwdWxhdGUuXG4gKi9c
bm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gbGlzdFRvU3R5bGVzIChwYXJlbnRJZCwgbGlzdCkg
e1xuICB2YXIgc3R5bGVzID0gW11cbiAgdmFyIG5ld1N0eWxlcyA9IHt9XG4gIGZvciAodmFyIGkg
PSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xuICAgIHZhciBpdGVtID0gbGlzdFtpXVxuICAg
IHZhciBpZCA9IGl0ZW1bMF1cbiAgICB2YXIgY3NzID0gaXRlbVsxXVxuICAgIHZhciBtZWRpYSA9
IGl0ZW1bMl1cbiAgICB2YXIgc291cmNlTWFwID0gaXRlbVszXVxuICAgIHZhciBwYXJ0ID0ge1xu
ICAgICAgaWQ6IHBhcmVudElkICsgJzonICsgaSxcbiAgICAgIGNzczogY3NzLFxuICAgICAgbWVk
aWE6IG1lZGlhLFxuICAgICAgc291cmNlTWFwOiBzb3VyY2VNYXBcbiAgICB9XG4gICAgaWYgKCFu
ZXdTdHlsZXNbaWRdKSB7XG4gICAgICBzdHlsZXMucHVzaChuZXdTdHlsZXNbaWRdID0geyBpZDog
aWQsIHBhcnRzOiBbcGFydF0gfSlcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3U3R5bGVzW2lkXS5w
YXJ0cy5wdXNoKHBhcnQpXG4gICAgfVxuICB9XG4gIHJldHVybiBzdHlsZXNcbn1cblxuXG5cbi8v
Ly8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vfi92dWUtc3R5bGUtbG9h
ZGVyL2xpYi9saXN0VG9TdHlsZXMuanNcbi8vIG1vZHVsZSBpZCA9IDExXG4vLyBtb2R1bGUgY2h1
bmtzID0gMSIsInZhciBnO1xyXG5cclxuLy8gVGhpcyB3b3JrcyBpbiBub24tc3RyaWN0IG1vZGVc
clxuZyA9IChmdW5jdGlvbigpIHtcclxuXHRyZXR1cm4gdGhpcztcclxufSkoKTtcclxuXHJcbnRy
eSB7XHJcblx0Ly8gVGhpcyB3b3JrcyBpZiBldmFsIGlzIGFsbG93ZWQgKHNlZSBDU1ApXHJcblx0
ZyA9IGcgfHwgRnVuY3Rpb24oXCJyZXR1cm4gdGhpc1wiKSgpIHx8ICgxLGV2YWwpKFwidGhpc1wi
KTtcclxufSBjYXRjaChlKSB7XHJcblx0Ly8gVGhpcyB3b3JrcyBpZiB0aGUgd2luZG93IHJlZmVy
ZW5jZSBpcyBhdmFpbGFibGVcclxuXHRpZih0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiKVxy
XG5cdFx0ZyA9IHdpbmRvdztcclxufVxyXG5cclxuLy8gZyBjYW4gc3RpbGwgYmUgdW5kZWZpbmVk
LCBidXQgbm90aGluZyB0byBkbyBhYm91dCBpdC4uLlxyXG4vLyBXZSByZXR1cm4gdW5kZWZpbmVk
LCBpbnN0ZWFkIG9mIG5vdGhpbmcgaGVyZSwgc28gaXQnc1xyXG4vLyBlYXNpZXIgdG8gaGFuZGxl
IHRoaXMgY2FzZS4gaWYoIWdsb2JhbCkgeyAuLi59XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IGc7
XHJcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vICh3ZWJw
YWNrKS9idWlsZGluL2dsb2JhbC5qc1xuLy8gbW9kdWxlIGlkID0gMTJcbi8vIG1vZHVsZSBjaHVu
a3MgPSAxIiwiLypcblx0TUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNl
bnNlcy9taXQtbGljZW5zZS5waHBcblx0QXV0aG9yIFRvYmlhcyBLb3BwZXJzIEBzb2tyYVxuKi9c
bi8vIGNzcyBiYXNlIGNvZGUsIGluamVjdGVkIGJ5IHRoZSBjc3MtbG9hZGVyXG5tb2R1bGUuZXhw
b3J0cyA9IGZ1bmN0aW9uKHVzZVNvdXJjZU1hcCkge1xuXHR2YXIgbGlzdCA9IFtdO1xuXG5cdC8v
IHJldHVybiB0aGUgbGlzdCBvZiBtb2R1bGVzIGFzIGNzcyBzdHJpbmdcblx0bGlzdC50b1N0cmlu
ZyA9IGZ1bmN0aW9uIHRvU3RyaW5nKCkge1xuXHRcdHJldHVybiB0aGlzLm1hcChmdW5jdGlvbiAo
aXRlbSkge1xuXHRcdFx0dmFyIGNvbnRlbnQgPSBjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKGl0ZW0s
IHVzZVNvdXJjZU1hcCk7XG5cdFx0XHRpZihpdGVtWzJdKSB7XG5cdFx0XHRcdHJldHVybiBcIkBt
ZWRpYSBcIiArIGl0ZW1bMl0gKyBcIntcIiArIGNvbnRlbnQgKyBcIn1cIjtcblx0XHRcdH0gZWxz
ZSB7XG5cdFx0XHRcdHJldHVybiBjb250ZW50O1xuXHRcdFx0fVxuXHRcdH0pLmpvaW4oXCJcIik7
XG5cdH07XG5cblx0Ly8gaW1wb3J0IGEgbGlzdCBvZiBtb2R1bGVzIGludG8gdGhlIGxpc3Rcblx0
bGlzdC5pID0gZnVuY3Rpb24obW9kdWxlcywgbWVkaWFRdWVyeSkge1xuXHRcdGlmKHR5cGVvZiBt
b2R1bGVzID09PSBcInN0cmluZ1wiKVxuXHRcdFx0bW9kdWxlcyA9IFtbbnVsbCwgbW9kdWxlcywg
XCJcIl1dO1xuXHRcdHZhciBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzID0ge307XG5cdFx0Zm9yKHZh
ciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdHZhciBpZCA9IHRoaXNbaV1b
MF07XG5cdFx0XHRpZih0eXBlb2YgaWQgPT09IFwibnVtYmVyXCIpXG5cdFx0XHRcdGFscmVhZHlJ
bXBvcnRlZE1vZHVsZXNbaWRdID0gdHJ1ZTtcblx0XHR9XG5cdFx0Zm9yKGkgPSAwOyBpIDwgbW9k
dWxlcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGl0ZW0gPSBtb2R1bGVzW2ldO1xuXHRcdFx0
Ly8gc2tpcCBhbHJlYWR5IGltcG9ydGVkIG1vZHVsZVxuXHRcdFx0Ly8gdGhpcyBpbXBsZW1lbnRh
dGlvbiBpcyBub3QgMTAwJSBwZXJmZWN0IGZvciB3ZWlyZCBtZWRpYSBxdWVyeSBjb21iaW5hdGlv
bnNcblx0XHRcdC8vICB3aGVuIGEgbW9kdWxlIGlzIGltcG9ydGVkIG11bHRpcGxlIHRpbWVzIHdp
dGggZGlmZmVyZW50IG1lZGlhIHF1ZXJpZXMuXG5cdFx0XHQvLyAgSSBob3BlIHRoaXMgd2lsbCBu
ZXZlciBvY2N1ciAoSGV5IHRoaXMgd2F5IHdlIGhhdmUgc21hbGxlciBidW5kbGVzKVxuXHRcdFx0
aWYodHlwZW9mIGl0ZW1bMF0gIT09IFwibnVtYmVyXCIgfHwgIWFscmVhZHlJbXBvcnRlZE1vZHVs
ZXNbaXRlbVswXV0pIHtcblx0XHRcdFx0aWYobWVkaWFRdWVyeSAmJiAhaXRlbVsyXSkge1xuXHRc
dFx0XHRcdGl0ZW1bMl0gPSBtZWRpYVF1ZXJ5O1xuXHRcdFx0XHR9IGVsc2UgaWYobWVkaWFRdWVy
eSkge1xuXHRcdFx0XHRcdGl0ZW1bMl0gPSBcIihcIiArIGl0ZW1bMl0gKyBcIikgYW5kIChcIiAr
IG1lZGlhUXVlcnkgKyBcIilcIjtcblx0XHRcdFx0fVxuXHRcdFx0XHRsaXN0LnB1c2goaXRlbSk7
XG5cdFx0XHR9XG5cdFx0fVxuXHR9O1xuXHRyZXR1cm4gbGlzdDtcbn07XG5cbmZ1bmN0aW9uIGNz
c1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSwgdXNlU291cmNlTWFwKSB7XG5cdHZhciBjb250ZW50
ID0gaXRlbVsxXSB8fCAnJztcblx0dmFyIGNzc01hcHBpbmcgPSBpdGVtWzNdO1xuXHRpZiAoIWNz
c01hcHBpbmcpIHtcblx0XHRyZXR1cm4gY29udGVudDtcblx0fVxuXG5cdGlmICh1c2VTb3VyY2VN
YXAgJiYgdHlwZW9mIGJ0b2EgPT09ICdmdW5jdGlvbicpIHtcblx0XHR2YXIgc291cmNlTWFwcGlu
ZyA9IHRvQ29tbWVudChjc3NNYXBwaW5nKTtcblx0XHR2YXIgc291cmNlVVJMcyA9IGNzc01hcHBp
bmcuc291cmNlcy5tYXAoZnVuY3Rpb24gKHNvdXJjZSkge1xuXHRcdFx0cmV0dXJuICcvKiMgc291
cmNlVVJMPScgKyBjc3NNYXBwaW5nLnNvdXJjZVJvb3QgKyBzb3VyY2UgKyAnICovJ1xuXHRcdH0p
O1xuXG5cdFx0cmV0dXJuIFtjb250ZW50XS5jb25jYXQoc291cmNlVVJMcykuY29uY2F0KFtzb3Vy
Y2VNYXBwaW5nXSkuam9pbignXFxuJyk7XG5cdH1cblxuXHRyZXR1cm4gW2NvbnRlbnRdLmpvaW4o
J1xcbicpO1xufVxuXG4vLyBBZGFwdGVkIGZyb20gY29udmVydC1zb3VyY2UtbWFwIChNSVQpXG5m
dW5jdGlvbiB0b0NvbW1lbnQoc291cmNlTWFwKSB7XG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQt
bGluZSBuby11bmRlZlxuXHR2YXIgYmFzZTY0ID0gYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21w
b25lbnQoSlNPTi5zdHJpbmdpZnkoc291cmNlTWFwKSkpKTtcblx0dmFyIGRhdGEgPSAnc291cmNl
TWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsJyAr
IGJhc2U2NDtcblxuXHRyZXR1cm4gJy8qIyAnICsgZGF0YSArICcgKi8nO1xufVxuXG5cblxuLy8v
Ly8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9+L2Nzcy1sb2FkZXIvbGli
L2Nzcy1iYXNlLmpzXG4vLyBtb2R1bGUgaWQgPSAxM1xuLy8gbW9kdWxlIGNodW5rcyA9IDEiLCIv
KlxuICBNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1s
aWNlbnNlLnBocFxuICBBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXG4gIE1vZGlmaWVkIGJ5
IEV2YW4gWW91IEB5eXg5OTA4MDNcbiovXG5cbnZhciBoYXNEb2N1bWVudCA9IHR5cGVvZiBkb2N1
bWVudCAhPT0gJ3VuZGVmaW5lZCdcblxuaWYgKHR5cGVvZiBERUJVRyAhPT0gJ3VuZGVmaW5lZCcg
JiYgREVCVUcpIHtcbiAgaWYgKCFoYXNEb2N1bWVudCkge1xuICAgIHRocm93IG5ldyBFcnJvcihc
biAgICAndnVlLXN0eWxlLWxvYWRlciBjYW5ub3QgYmUgdXNlZCBpbiBhIG5vbi1icm93c2VyIGVu
dmlyb25tZW50LiAnICtcbiAgICBcIlVzZSB7IHRhcmdldDogJ25vZGUnIH0gaW4geW91ciBXZWJw
YWNrIGNvbmZpZyB0byBpbmRpY2F0ZSBhIHNlcnZlci1yZW5kZXJpbmcgZW52aXJvbm1lbnQuXCJc
biAgKSB9XG59XG5cbnZhciBsaXN0VG9TdHlsZXMgPSByZXF1aXJlKCcuL2xpc3RUb1N0eWxlcycp
XG5cbi8qXG50eXBlIFN0eWxlT2JqZWN0ID0ge1xuICBpZDogbnVtYmVyO1xuICBwYXJ0czogQXJy
YXk8U3R5bGVPYmplY3RQYXJ0PlxufVxuXG50eXBlIFN0eWxlT2JqZWN0UGFydCA9IHtcbiAgY3Nz
OiBzdHJpbmc7XG4gIG1lZGlhOiBzdHJpbmc7XG4gIHNvdXJjZU1hcDogP3N0cmluZ1xufVxuKi9c
blxudmFyIHN0eWxlc0luRG9tID0gey8qXG4gIFtpZDogbnVtYmVyXToge1xuICAgIGlkOiBudW1i
ZXIsXG4gICAgcmVmczogbnVtYmVyLFxuICAgIHBhcnRzOiBBcnJheTwob2JqPzogU3R5bGVPYmpl
Y3RQYXJ0KSA9PiB2b2lkPlxuICB9XG4qL31cblxudmFyIGhlYWQgPSBoYXNEb2N1bWVudCAmJiAo
ZG9jdW1lbnQuaGVhZCB8fCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBd
KVxudmFyIHNpbmdsZXRvbkVsZW1lbnQgPSBudWxsXG52YXIgc2luZ2xldG9uQ291bnRlciA9IDBc
bnZhciBpc1Byb2R1Y3Rpb24gPSBmYWxzZVxudmFyIG5vb3AgPSBmdW5jdGlvbiAoKSB7fVxuXG4v
LyBGb3JjZSBzaW5nbGUtdGFnIHNvbHV0aW9uIG9uIElFNi05LCB3aGljaCBoYXMgYSBoYXJkIGxp
bWl0IG9uIHRoZSAjIG9mIDxzdHlsZT5cbi8vIHRhZ3MgaXQgd2lsbCBhbGxvdyBvbiBhIHBhZ2Vc
bnZhciBpc09sZElFID0gdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgL21zaWUg
WzYtOV1cXGIvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKVxuXG5tb2R1
bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChwYXJlbnRJZCwgbGlzdCwgX2lzUHJvZHVjdGlvbikge1xu
ICBpc1Byb2R1Y3Rpb24gPSBfaXNQcm9kdWN0aW9uXG5cbiAgdmFyIHN0eWxlcyA9IGxpc3RUb1N0
eWxlcyhwYXJlbnRJZCwgbGlzdClcbiAgYWRkU3R5bGVzVG9Eb20oc3R5bGVzKVxuXG4gIHJldHVy
biBmdW5jdGlvbiB1cGRhdGUgKG5ld0xpc3QpIHtcbiAgICB2YXIgbWF5UmVtb3ZlID0gW11cbiAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGl0
ZW0gPSBzdHlsZXNbaV1cbiAgICAgIHZhciBkb21TdHlsZSA9IHN0eWxlc0luRG9tW2l0ZW0uaWRd
XG4gICAgICBkb21TdHlsZS5yZWZzLS1cbiAgICAgIG1heVJlbW92ZS5wdXNoKGRvbVN0eWxlKVxu
ICAgIH1cbiAgICBpZiAobmV3TGlzdCkge1xuICAgICAgc3R5bGVzID0gbGlzdFRvU3R5bGVzKHBh
cmVudElkLCBuZXdMaXN0KVxuICAgICAgYWRkU3R5bGVzVG9Eb20oc3R5bGVzKVxuICAgIH0gZWxz
ZSB7XG4gICAgICBzdHlsZXMgPSBbXVxuICAgIH1cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1h
eVJlbW92ZS5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGRvbVN0eWxlID0gbWF5UmVtb3ZlW2ld
XG4gICAgICBpZiAoZG9tU3R5bGUucmVmcyA9PT0gMCkge1xuICAgICAgICBmb3IgKHZhciBqID0g
MDsgaiA8IGRvbVN0eWxlLnBhcnRzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgZG9tU3R5bGUu
cGFydHNbal0oKVxuICAgICAgICB9XG4gICAgICAgIGRlbGV0ZSBzdHlsZXNJbkRvbVtkb21TdHls
ZS5pZF1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYWRkU3R5bGVzVG9Eb20g
KHN0eWxlcyAvKiBBcnJheTxTdHlsZU9iamVjdD4gKi8pIHtcbiAgZm9yICh2YXIgaSA9IDA7IGkg
PCBzdHlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgaXRlbSA9IHN0eWxlc1tpXVxuICAgIHZh
ciBkb21TdHlsZSA9IHN0eWxlc0luRG9tW2l0ZW0uaWRdXG4gICAgaWYgKGRvbVN0eWxlKSB7XG4g
ICAgICBkb21TdHlsZS5yZWZzKytcbiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgZG9tU3R5bGUu
cGFydHMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgZG9tU3R5bGUucGFydHNbal0oaXRlbS5wYXJ0
c1tqXSlcbiAgICAgIH1cbiAgICAgIGZvciAoOyBqIDwgaXRlbS5wYXJ0cy5sZW5ndGg7IGorKykg
e1xuICAgICAgICBkb21TdHlsZS5wYXJ0cy5wdXNoKGFkZFN0eWxlKGl0ZW0ucGFydHNbal0pKVxu
ICAgICAgfVxuICAgICAgaWYgKGRvbVN0eWxlLnBhcnRzLmxlbmd0aCA+IGl0ZW0ucGFydHMubGVu
Z3RoKSB7XG4gICAgICAgIGRvbVN0eWxlLnBhcnRzLmxlbmd0aCA9IGl0ZW0ucGFydHMubGVuZ3Ro
XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBwYXJ0cyA9IFtdXG4gICAgICBmb3Ig
KHZhciBqID0gMDsgaiA8IGl0ZW0ucGFydHMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgcGFydHMu
cHVzaChhZGRTdHlsZShpdGVtLnBhcnRzW2pdKSlcbiAgICAgIH1cbiAgICAgIHN0eWxlc0luRG9t
W2l0ZW0uaWRdID0geyBpZDogaXRlbS5pZCwgcmVmczogMSwgcGFydHM6IHBhcnRzIH1cbiAgICB9
XG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlU3R5bGVFbGVtZW50ICgpIHtcbiAgdmFyIHN0eWxl
RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJylcbiAgc3R5bGVFbGVtZW50
LnR5cGUgPSAndGV4dC9jc3MnXG4gIGhlYWQuYXBwZW5kQ2hpbGQoc3R5bGVFbGVtZW50KVxuICBy
ZXR1cm4gc3R5bGVFbGVtZW50XG59XG5cbmZ1bmN0aW9uIGFkZFN0eWxlIChvYmogLyogU3R5bGVP
YmplY3RQYXJ0ICovKSB7XG4gIHZhciB1cGRhdGUsIHJlbW92ZVxuICB2YXIgc3R5bGVFbGVtZW50
ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc3R5bGVbZGF0YS12dWUtc3NyLWlkfj1cIicgKyBv
YmouaWQgKyAnXCJdJylcblxuICBpZiAoc3R5bGVFbGVtZW50KSB7XG4gICAgaWYgKGlzUHJvZHVj
dGlvbikge1xuICAgICAgLy8gaGFzIFNTUiBzdHlsZXMgYW5kIGluIHByb2R1Y3Rpb24gbW9kZS5c
biAgICAgIC8vIHNpbXBseSBkbyBub3RoaW5nLlxuICAgICAgcmV0dXJuIG5vb3BcbiAgICB9IGVs
c2Uge1xuICAgICAgLy8gaGFzIFNTUiBzdHlsZXMgYnV0IGluIGRldiBtb2RlLlxuICAgICAgLy8g
Zm9yIHNvbWUgcmVhc29uIENocm9tZSBjYW4ndCBoYW5kbGUgc291cmNlIG1hcCBpbiBzZXJ2ZXIt
cmVuZGVyZWRcbiAgICAgIC8vIHN0eWxlIHRhZ3MgLSBzb3VyY2UgbWFwcyBpbiA8c3R5bGU+IG9u
bHkgd29ya3MgaWYgdGhlIHN0eWxlIHRhZyBpc1xuICAgICAgLy8gY3JlYXRlZCBhbmQgaW5zZXJ0
ZWQgZHluYW1pY2FsbHkuIFNvIHdlIHJlbW92ZSB0aGUgc2VydmVyIHJlbmRlcmVkXG4gICAgICAv
LyBzdHlsZXMgYW5kIGluamVjdCBuZXcgb25lcy5cbiAgICAgIHN0eWxlRWxlbWVudC5wYXJlbnRO
b2RlLnJlbW92ZUNoaWxkKHN0eWxlRWxlbWVudClcbiAgICB9XG4gIH1cblxuICBpZiAoaXNPbGRJ
RSkge1xuICAgIC8vIHVzZSBzaW5nbGV0b24gbW9kZSBmb3IgSUU5LlxuICAgIHZhciBzdHlsZUlu
ZGV4ID0gc2luZ2xldG9uQ291bnRlcisrXG4gICAgc3R5bGVFbGVtZW50ID0gc2luZ2xldG9uRWxl
bWVudCB8fCAoc2luZ2xldG9uRWxlbWVudCA9IGNyZWF0ZVN0eWxlRWxlbWVudCgpKVxuICAgIHVw
ZGF0ZSA9IGFwcGx5VG9TaW5nbGV0b25UYWcuYmluZChudWxsLCBzdHlsZUVsZW1lbnQsIHN0eWxl
SW5kZXgsIGZhbHNlKVxuICAgIHJlbW92ZSA9IGFwcGx5VG9TaW5nbGV0b25UYWcuYmluZChudWxs
LCBzdHlsZUVsZW1lbnQsIHN0eWxlSW5kZXgsIHRydWUpXG4gIH0gZWxzZSB7XG4gICAgLy8gdXNl
IG11bHRpLXN0eWxlLXRhZyBtb2RlIGluIGFsbCBvdGhlciBjYXNlc1xuICAgIHN0eWxlRWxlbWVu
dCA9IGNyZWF0ZVN0eWxlRWxlbWVudCgpXG4gICAgdXBkYXRlID0gYXBwbHlUb1RhZy5iaW5kKG51
bGwsIHN0eWxlRWxlbWVudClcbiAgICByZW1vdmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBzdHls
ZUVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzdHlsZUVsZW1lbnQpXG4gICAgfVxuICB9
XG5cbiAgdXBkYXRlKG9iailcblxuICByZXR1cm4gZnVuY3Rpb24gdXBkYXRlU3R5bGUgKG5ld09i
aiAvKiBTdHlsZU9iamVjdFBhcnQgKi8pIHtcbiAgICBpZiAobmV3T2JqKSB7XG4gICAgICBpZiAo
bmV3T2JqLmNzcyA9PT0gb2JqLmNzcyAmJlxuICAgICAgICAgIG5ld09iai5tZWRpYSA9PT0gb2Jq
Lm1lZGlhICYmXG4gICAgICAgICAgbmV3T2JqLnNvdXJjZU1hcCA9PT0gb2JqLnNvdXJjZU1hcCkg
e1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIHVwZGF0ZShvYmogPSBuZXdPYmopXG4g
ICAgfSBlbHNlIHtcbiAgICAgIHJlbW92ZSgpXG4gICAgfVxuICB9XG59XG5cbnZhciByZXBsYWNl
VGV4dCA9IChmdW5jdGlvbiAoKSB7XG4gIHZhciB0ZXh0U3RvcmUgPSBbXVxuXG4gIHJldHVybiBm
dW5jdGlvbiAoaW5kZXgsIHJlcGxhY2VtZW50KSB7XG4gICAgdGV4dFN0b3JlW2luZGV4XSA9IHJl
cGxhY2VtZW50XG4gICAgcmV0dXJuIHRleHRTdG9yZS5maWx0ZXIoQm9vbGVhbikuam9pbignXFxu
JylcbiAgfVxufSkoKVxuXG5mdW5jdGlvbiBhcHBseVRvU2luZ2xldG9uVGFnIChzdHlsZUVsZW1l
bnQsIGluZGV4LCByZW1vdmUsIG9iaikge1xuICB2YXIgY3NzID0gcmVtb3ZlID8gJycgOiBvYmou
Y3NzXG5cbiAgaWYgKHN0eWxlRWxlbWVudC5zdHlsZVNoZWV0KSB7XG4gICAgc3R5bGVFbGVtZW50
LnN0eWxlU2hlZXQuY3NzVGV4dCA9IHJlcGxhY2VUZXh0KGluZGV4LCBjc3MpXG4gIH0gZWxzZSB7
XG4gICAgdmFyIGNzc05vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpXG4gICAgdmFy
IGNoaWxkTm9kZXMgPSBzdHlsZUVsZW1lbnQuY2hpbGROb2Rlc1xuICAgIGlmIChjaGlsZE5vZGVz
W2luZGV4XSkgc3R5bGVFbGVtZW50LnJlbW92ZUNoaWxkKGNoaWxkTm9kZXNbaW5kZXhdKVxuICAg
IGlmIChjaGlsZE5vZGVzLmxlbmd0aCkge1xuICAgICAgc3R5bGVFbGVtZW50Lmluc2VydEJlZm9y
ZShjc3NOb2RlLCBjaGlsZE5vZGVzW2luZGV4XSlcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGVF
bGVtZW50LmFwcGVuZENoaWxkKGNzc05vZGUpXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFw
cGx5VG9UYWcgKHN0eWxlRWxlbWVudCwgb2JqKSB7XG4gIHZhciBjc3MgPSBvYmouY3NzXG4gIHZh
ciBtZWRpYSA9IG9iai5tZWRpYVxuICB2YXIgc291cmNlTWFwID0gb2JqLnNvdXJjZU1hcFxuXG4g
IGlmIChtZWRpYSkge1xuICAgIHN0eWxlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21lZGlhJywgbWVk
aWEpXG4gIH1cblxuICBpZiAoc291cmNlTWFwKSB7XG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIu
Y2hyb21lLmNvbS9kZXZ0b29scy9kb2NzL2phdmFzY3JpcHQtZGVidWdnaW5nXG4gICAgLy8gdGhp
cyBtYWtlcyBzb3VyY2UgbWFwcyBpbnNpZGUgc3R5bGUgdGFncyB3b3JrIHByb3Blcmx5IGluIENo
cm9tZVxuICAgIGNzcyArPSAnXFxuLyojIHNvdXJjZVVSTD0nICsgc291cmNlTWFwLnNvdXJjZXNb
MF0gKyAnICovJ1xuICAgIC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzI2NjAzODc1XG4g
ICAgY3NzICs9ICdcXG4vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247
YmFzZTY0LCcgKyBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lm
eShzb3VyY2VNYXApKSkpICsgJyAqLydcbiAgfVxuXG4gIGlmIChzdHlsZUVsZW1lbnQuc3R5bGVT
aGVldCkge1xuICAgIHN0eWxlRWxlbWVudC5zdHlsZVNoZWV0LmNzc1RleHQgPSBjc3NcbiAgfSBl
bHNlIHtcbiAgICB3aGlsZSAoc3R5bGVFbGVtZW50LmZpcnN0Q2hpbGQpIHtcbiAgICAgIHN0eWxl
RWxlbWVudC5yZW1vdmVDaGlsZChzdHlsZUVsZW1lbnQuZmlyc3RDaGlsZClcbiAgICB9XG4gICAg
c3R5bGVFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcykpXG4g
IH1cbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4v
fi92dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcbi8vIG1vZHVsZSBpZCA9
IDE0XG4vLyBtb2R1bGUgY2h1bmtzID0gMSJdLCJzb3VyY2VSb290IjoiIn0KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVy
L3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvZGlzdC9z
dGF0aWMvanMvdmVuZG9yLmE1MjUxN2M1YWE5OGU3ZmJlYTJlLmpzIGIvUGVyZm9ybWFuY2VUZXN0
cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1cmUtZXhhbXBsZXMvdnVl
anMtY2xpL2Rpc3Qvc3RhdGljL2pzL3ZlbmRvci5hNTI1MTdjNWFhOThlN2ZiZWEyZS5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTZmMjkwNjU2ZmFlNDBmNjZjNzU5ZDYwNTU1OWIz
OWFmMGM3NDIwOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVj
dHVyZS1leGFtcGxlcy92dWVqcy1jbGkvZGlzdC9zdGF0aWMvanMvdmVuZG9yLmE1MjUxN2M1YWE5
OGU3ZmJlYTJlLmpzCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi13ZWJwYWNrSnNvbnAo
WzIsMF0sWyxmdW5jdGlvbihlLHQsbil7KGZ1bmN0aW9uKHQpey8qIQotICAgICAqIFZ1ZS5qcyB2
Mi4xLjMKLSAgICAgKiAoYykgMjAxNC0yMDE2IEV2YW4gWW91Ci0gICAgICogUmVsZWFzZWQgdW5k
ZXIgdGhlIE1JVCBMaWNlbnNlLgotICAgICAqLwotInVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7
cmV0dXJuIG51bGw9PWU/IiI6Im9iamVjdCI9PXR5cGVvZiBlP0pTT04uc3RyaW5naWZ5KGUsbnVs
bCwyKTpTdHJpbmcoZSl9ZnVuY3Rpb24gcihlKXt2YXIgdD1wYXJzZUZsb2F0KGUsMTApO3JldHVy
biB0fHwwPT09dD90OmV9ZnVuY3Rpb24gaShlLHQpe2Zvcih2YXIgbj1PYmplY3QuY3JlYXRlKG51
bGwpLHI9ZS5zcGxpdCgiLCIpLGk9MDtpPHIubGVuZ3RoO2krKyluW3JbaV1dPSEwO3JldHVybiB0
P2Z1bmN0aW9uKGUpe3JldHVybiBuW2UudG9Mb3dlckNhc2UoKV19OmZ1bmN0aW9uKGUpe3JldHVy
biBuW2VdfX1mdW5jdGlvbiBvKGUsdCl7aWYoZS5sZW5ndGgpe3ZhciBuPWUuaW5kZXhPZih0KTtp
ZihuPi0xKXJldHVybiBlLnNwbGljZShuLDEpfX1mdW5jdGlvbiBhKGUsdCl7cmV0dXJuIHpyLmNh
bGwoZSx0KX1mdW5jdGlvbiBzKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZXx8Im51bWJlciI9
PXR5cGVvZiBlfWZ1bmN0aW9uIGMoZSl7dmFyIHQ9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4g
ZnVuY3Rpb24obil7dmFyIHI9dFtuXTtyZXR1cm4gcnx8KHRbbl09ZShuKSl9fWZ1bmN0aW9uIHUo
ZSx0KXtmdW5jdGlvbiBuKG4pe3ZhciByPWFyZ3VtZW50cy5sZW5ndGg7cmV0dXJuIHI/cj4xP2Uu
YXBwbHkodCxhcmd1bWVudHMpOmUuY2FsbCh0LG4pOmUuY2FsbCh0KX1yZXR1cm4gbi5fbGVuZ3Ro
PWUubGVuZ3RoLG59ZnVuY3Rpb24gbChlLHQpe3Q9dHx8MDtmb3IodmFyIG49ZS5sZW5ndGgtdCxy
PW5ldyBBcnJheShuKTtuLS07KXJbbl09ZVtuK3RdO3JldHVybiByfWZ1bmN0aW9uIGYoZSx0KXtm
b3IodmFyIG4gaW4gdCllW25dPXRbbl07cmV0dXJuIGV9ZnVuY3Rpb24gZChlKXtyZXR1cm4gbnVs
bCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZX1mdW5jdGlvbiBwKGUpe3JldHVybiBaci5jYWxsKGUp
PT09R3J9ZnVuY3Rpb24gaChlKXtmb3IodmFyIHQ9e30sbj0wO248ZS5sZW5ndGg7bisrKWVbbl0m
JmYodCxlW25dKTtyZXR1cm4gdH1mdW5jdGlvbiB2KCl7fWZ1bmN0aW9uIG0oZSl7cmV0dXJuIGUu
cmVkdWNlKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuY29uY2F0KHQuc3RhdGljS2V5c3x8W10pfSxb
XSkuam9pbigiLCIpfWZ1bmN0aW9uIGcoZSx0KXtyZXR1cm4gZT09dHx8ISghZChlKXx8IWQodCkp
JiZKU09OLnN0cmluZ2lmeShlKT09PUpTT04uc3RyaW5naWZ5KHQpfWZ1bmN0aW9uIHkoZSx0KXtm
b3IodmFyIG49MDtuPGUubGVuZ3RoO24rKylpZihnKGVbbl0sdCkpcmV0dXJuIG47cmV0dXJuLTF9
ZnVuY3Rpb24gXyhlKXt2YXIgdD0oZSsiIikuY2hhckNvZGVBdCgwKTtyZXR1cm4gMzY9PT10fHw5
NT09PXR9ZnVuY3Rpb24gYihlLHQsbixyKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1
ZTpuLGVudW1lcmFibGU6ISFyLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pfWZ1bmN0aW9u
IHcoZSl7aWYoIVFyLnRlc3QoZSkpe3ZhciB0PWUuc3BsaXQoIi4iKTtyZXR1cm4gZnVuY3Rpb24o
ZSl7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe2lmKCFlKXJldHVybjtlPWVbdFtuXV19cmV0
dXJuIGV9fX1mdW5jdGlvbiB4KGUpe3JldHVybi9uYXRpdmUgY29kZS8udGVzdChlLnRvU3RyaW5n
KCkpfWZ1bmN0aW9uICQoZSl7aGkudGFyZ2V0JiZ2aS5wdXNoKGhpLnRhcmdldCksaGkudGFyZ2V0
PWV9ZnVuY3Rpb24gQygpe2hpLnRhcmdldD12aS5wb3AoKX1mdW5jdGlvbiBBKGUsdCl7ZS5fX3By
b3RvX189dH1mdW5jdGlvbiBrKGUsdCxuKXtmb3IodmFyIHI9MCxpPW4ubGVuZ3RoO3I8aTtyKysp
e3ZhciBvPW5bcl07YihlLG8sdFtvXSl9fWZ1bmN0aW9uIE8oZSl7aWYoZChlKSl7dmFyIHQ7cmV0
dXJuIGEoZSwiX19vYl9fIikmJmUuX19vYl9fIGluc3RhbmNlb2YgYmk/dD1lLl9fb2JfXzpfaS5z
aG91bGRDb252ZXJ0JiYhc2koKSYmKEFycmF5LmlzQXJyYXkoZSl8fHAoZSkpJiZPYmplY3QuaXNF
eHRlbnNpYmxlKGUpJiYhZS5faXNWdWUmJih0PW5ldyBiaShlKSksdH19ZnVuY3Rpb24gUyhlLHQs
bixyKXt2YXIgaT1uZXcgaGksbz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCk7
aWYoIW98fG8uY29uZmlndXJhYmxlIT09ITEpe3ZhciBhPW8mJm8uZ2V0LHM9byYmby5zZXQsYz1P
KG4pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxl
OiEwLGdldDpmdW5jdGlvbigpe3ZhciB0PWE/YS5jYWxsKGUpOm47cmV0dXJuIGhpLnRhcmdldCYm
KGkuZGVwZW5kKCksYyYmYy5kZXAuZGVwZW5kKCksQXJyYXkuaXNBcnJheSh0KSYmaih0KSksdH0s
c2V0OmZ1bmN0aW9uKHQpe3ZhciByPWE/YS5jYWxsKGUpOm47dD09PXJ8fHQhPT10JiZyIT09cnx8
KHM/cy5jYWxsKGUsdCk6bj10LGM9Tyh0KSxpLm5vdGlmeSgpKX19KX19ZnVuY3Rpb24gVChlLHQs
bil7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZS5sZW5ndGg9TWF0aC5tYXgoZS5sZW5ndGgs
dCksZS5zcGxpY2UodCwxLG4pLG47aWYoYShlLHQpKXJldHVybiB2b2lkKGVbdF09bik7dmFyIHI9
ZS5fX29iX187aWYoIShlLl9pc1Z1ZXx8ciYmci52bUNvdW50KSlyZXR1cm4gcj8oUyhyLnZhbHVl
LHQsbiksci5kZXAubm90aWZ5KCksbik6dm9pZChlW3RdPW4pfWZ1bmN0aW9uIEUoZSx0KXt2YXIg
bj1lLl9fb2JfXztlLl9pc1Z1ZXx8biYmbi52bUNvdW50fHxhKGUsdCkmJihkZWxldGUgZVt0XSxu
JiZuLmRlcC5ub3RpZnkoKSl9ZnVuY3Rpb24gaihlKXtmb3IodmFyIHQ9dm9pZCAwLG49MCxyPWUu
bGVuZ3RoO248cjtuKyspdD1lW25dLHQmJnQuX19vYl9fJiZ0Ll9fb2JfXy5kZXAuZGVwZW5kKCks
QXJyYXkuaXNBcnJheSh0KSYmaih0KX1mdW5jdGlvbiBOKGUsdCl7aWYoIXQpcmV0dXJuIGU7Zm9y
KHZhciBuLHIsaSxvPU9iamVjdC5rZXlzKHQpLHM9MDtzPG8ubGVuZ3RoO3MrKyluPW9bc10scj1l
W25dLGk9dFtuXSxhKGUsbik/cChyKSYmcChpKSYmTihyLGkpOlQoZSxuLGkpO3JldHVybiBlfWZ1
bmN0aW9uIEwoZSx0KXtyZXR1cm4gdD9lP2UuY29uY2F0KHQpOkFycmF5LmlzQXJyYXkodCk/dDpb
dF06ZX1mdW5jdGlvbiBNKGUsdCl7dmFyIG49T2JqZWN0LmNyZWF0ZShlfHxudWxsKTtyZXR1cm4g
dD9mKG4sdCk6bn1mdW5jdGlvbiBQKGUpe3ZhciB0PWUucHJvcHM7aWYodCl7dmFyIG4scixpLG89
e307aWYoQXJyYXkuaXNBcnJheSh0KSlmb3Iobj10Lmxlbmd0aDtuLS07KXI9dFtuXSwic3RyaW5n
Ij09dHlwZW9mIHImJihpPUpyKHIpLG9baV09e3R5cGU6bnVsbH0pO2Vsc2UgaWYocCh0KSlmb3Io
dmFyIGEgaW4gdClyPXRbYV0saT1KcihhKSxvW2ldPXAocik/cjp7dHlwZTpyfTtlLnByb3BzPW99
fWZ1bmN0aW9uIEQoZSl7dmFyIHQ9ZS5kaXJlY3RpdmVzO2lmKHQpZm9yKHZhciBuIGluIHQpe3Zh
ciByPXRbbl07ImZ1bmN0aW9uIj09dHlwZW9mIHImJih0W25dPXtiaW5kOnIsdXBkYXRlOnJ9KX19
ZnVuY3Rpb24gUihlLHQsbil7ZnVuY3Rpb24gcihyKXt2YXIgaT13aVtyXXx8eGk7bFtyXT1pKGVb
cl0sdFtyXSxuLHIpfVAodCksRCh0KTt2YXIgaT10LmV4dGVuZHM7aWYoaSYmKGU9ImZ1bmN0aW9u
Ij09dHlwZW9mIGk/UihlLGkub3B0aW9ucyxuKTpSKGUsaSxuKSksdC5taXhpbnMpZm9yKHZhciBv
PTAscz10Lm1peGlucy5sZW5ndGg7bzxzO28rKyl7dmFyIGM9dC5taXhpbnNbb107Yy5wcm90b3R5
cGUgaW5zdGFuY2VvZiBJZSYmKGM9Yy5vcHRpb25zKSxlPVIoZSxjLG4pfXZhciB1LGw9e307Zm9y
KHUgaW4gZSlyKHUpO2Zvcih1IGluIHQpYShlLHUpfHxyKHUpO3JldHVybiBsfWZ1bmN0aW9uIEIo
ZSx0LG4scil7aWYoInN0cmluZyI9PXR5cGVvZiBuKXt2YXIgaT1lW3RdLG89aVtuXXx8aVtKcihu
KV18fGlbcXIoSnIobikpXTtyZXR1cm4gb319ZnVuY3Rpb24gSShlLHQsbixyKXt2YXIgaT10W2Vd
LG89IWEobixlKSxzPW5bZV07aWYoVShpLnR5cGUpJiYobyYmIWEoaSwiZGVmYXVsdCIpP3M9ITE6
IiIhPT1zJiZzIT09V3IoZSl8fChzPSEwKSksdm9pZCAwPT09cyl7cz1IKHIsaSxlKTt2YXIgYz1f
aS5zaG91bGRDb252ZXJ0O19pLnNob3VsZENvbnZlcnQ9ITAsTyhzKSxfaS5zaG91bGRDb252ZXJ0
PWN9cmV0dXJuIHN9ZnVuY3Rpb24gSChlLHQsbil7aWYoYSh0LCJkZWZhdWx0Iikpe3ZhciByPXQu
ZGVmYXVsdDtyZXR1cm4gZChyKSxlJiZlLiRvcHRpb25zLnByb3BzRGF0YSYmdm9pZCAwPT09ZS4k
b3B0aW9ucy5wcm9wc0RhdGFbbl0mJnZvaWQgMCE9PWVbbl0/ZVtuXToiZnVuY3Rpb24iPT10eXBl
b2YgciYmdC50eXBlIT09RnVuY3Rpb24/ci5jYWxsKGUpOnJ9fWZ1bmN0aW9uIEYoZSl7dmFyIHQ9
ZSYmZS50b1N0cmluZygpLm1hdGNoKC9eXHMqZnVuY3Rpb24gKFx3KykvKTtyZXR1cm4gdCYmdFsx
XX1mdW5jdGlvbiBVKGUpe2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiJCb29sZWFuIj09PUYo
ZSk7Zm9yKHZhciB0PTAsbj1lLmxlbmd0aDt0PG47dCsrKWlmKCJCb29sZWFuIj09PUYoZVt0XSkp
cmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24geigpe0NpLmxlbmd0aD0wLEFpPXt9LGtpPU9pPSEx
fWZ1bmN0aW9uIFYoKXtmb3IoT2k9ITAsQ2kuc29ydChmdW5jdGlvbihlLHQpe3JldHVybiBlLmlk
LXQuaWR9KSxTaT0wO1NpPENpLmxlbmd0aDtTaSsrKXt2YXIgZT1DaVtTaV0sdD1lLmlkO0FpW3Rd
PW51bGwsZS5ydW4oKX1jaSYmZmkuZGV2dG9vbHMmJmNpLmVtaXQoImZsdXNoIikseigpfWZ1bmN0
aW9uIEooZSl7dmFyIHQ9ZS5pZDtpZihudWxsPT1BaVt0XSl7aWYoQWlbdF09ITAsT2kpe2Zvcih2
YXIgbj1DaS5sZW5ndGgtMTtuPj0wJiZDaVtuXS5pZD5lLmlkOyluLS07Q2kuc3BsaWNlKE1hdGgu
bWF4KG4sU2kpKzEsMCxlKX1lbHNlIENpLnB1c2goZSk7a2l8fChraT0hMCx1aShWKSl9fWZ1bmN0
aW9uIHEoZSl7amkuY2xlYXIoKSxLKGUsamkpfWZ1bmN0aW9uIEsoZSx0KXt2YXIgbixyLGk9QXJy
YXkuaXNBcnJheShlKTtpZigoaXx8ZChlKSkmJk9iamVjdC5pc0V4dGVuc2libGUoZSkpe2lmKGUu
X19vYl9fKXt2YXIgbz1lLl9fb2JfXy5kZXAuaWQ7aWYodC5oYXMobykpcmV0dXJuO3QuYWRkKG8p
fWlmKGkpZm9yKG49ZS5sZW5ndGg7bi0tOylLKGVbbl0sdCk7ZWxzZSBmb3Iocj1PYmplY3Qua2V5
cyhlKSxuPXIubGVuZ3RoO24tLTspSyhlW3Jbbl1dLHQpfX1mdW5jdGlvbiBXKGUpe2UuX3dhdGNo
ZXJzPVtdLFooZSksRyhlKSxZKGUpLFgoZSksZWUoZSl9ZnVuY3Rpb24gWihlKXt2YXIgdD1lLiRv
cHRpb25zLnByb3BzO2lmKHQpe3ZhciBuPWUuJG9wdGlvbnMucHJvcHNEYXRhfHx7fSxyPWUuJG9w
dGlvbnMuX3Byb3BLZXlzPU9iamVjdC5rZXlzKHQpLGk9IWUuJHBhcmVudDtfaS5zaG91bGRDb252
ZXJ0PWk7Zm9yKHZhciBvPWZ1bmN0aW9uKGkpe3ZhciBvPXJbaV07UyhlLG8sSShvLHQsbixlKSl9
LGE9MDthPHIubGVuZ3RoO2ErKylvKGEpO19pLnNob3VsZENvbnZlcnQ9ITB9fWZ1bmN0aW9uIEco
ZSl7dmFyIHQ9ZS4kb3B0aW9ucy5kYXRhO3Q9ZS5fZGF0YT0iZnVuY3Rpb24iPT10eXBlb2YgdD90
LmNhbGwoZSk6dHx8e30scCh0KXx8KHQ9e30pO2Zvcih2YXIgbj1PYmplY3Qua2V5cyh0KSxyPWUu
JG9wdGlvbnMucHJvcHMsaT1uLmxlbmd0aDtpLS07KXImJmEocixuW2ldKXx8cmUoZSxuW2ldKTtP
KHQpLHQuX19vYl9fJiZ0Ll9fb2JfXy52bUNvdW50Kyt9ZnVuY3Rpb24gWShlKXt2YXIgdD1lLiRv
cHRpb25zLmNvbXB1dGVkO2lmKHQpZm9yKHZhciBuIGluIHQpe3ZhciByPXRbbl07ImZ1bmN0aW9u
Ij09dHlwZW9mIHI/KE5pLmdldD1RKHIsZSksTmkuc2V0PXYpOihOaS5nZXQ9ci5nZXQ/ci5jYWNo
ZSE9PSExP1Eoci5nZXQsZSk6dShyLmdldCxlKTp2LE5pLnNldD1yLnNldD91KHIuc2V0LGUpOnYp
LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4sTmkpfX1mdW5jdGlvbiBRKGUsdCl7dmFyIG49bmV3
IEVpKHQsZSx2LHtsYXp5OiEwfSk7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG4uZGlydHkmJm4u
ZXZhbHVhdGUoKSxoaS50YXJnZXQmJm4uZGVwZW5kKCksbi52YWx1ZX19ZnVuY3Rpb24gWChlKXt2
YXIgdD1lLiRvcHRpb25zLm1ldGhvZHM7aWYodClmb3IodmFyIG4gaW4gdCllW25dPW51bGw9PXRb
bl0/djp1KHRbbl0sZSl9ZnVuY3Rpb24gZWUoZSl7dmFyIHQ9ZS4kb3B0aW9ucy53YXRjaDtpZih0
KWZvcih2YXIgbiBpbiB0KXt2YXIgcj10W25dO2lmKEFycmF5LmlzQXJyYXkocikpZm9yKHZhciBp
PTA7aTxyLmxlbmd0aDtpKyspdGUoZSxuLHJbaV0pO2Vsc2UgdGUoZSxuLHIpfX1mdW5jdGlvbiB0
ZShlLHQsbil7dmFyIHI7cChuKSYmKHI9bixuPW4uaGFuZGxlciksInN0cmluZyI9PXR5cGVvZiBu
JiYobj1lW25dKSxlLiR3YXRjaCh0LG4scil9ZnVuY3Rpb24gbmUoZSl7dmFyIHQ9e307dC5nZXQ9
ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGF0YX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJv
dG90eXBlLCIkZGF0YSIsdCksZS5wcm90b3R5cGUuJHNldD1ULGUucHJvdG90eXBlLiRkZWxldGU9
RSxlLnByb3RvdHlwZS4kd2F0Y2g9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXM7bj1ufHx7fSxu
LnVzZXI9ITA7dmFyIGk9bmV3IEVpKHIsZSx0LG4pO3JldHVybiBuLmltbWVkaWF0ZSYmdC5jYWxs
KHIsaS52YWx1ZSksZnVuY3Rpb24oKXtpLnRlYXJkb3duKCl9fX1mdW5jdGlvbiByZShlLHQpe18o
dCl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxl
OiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBlLl9kYXRhW3RdfSxzZXQ6ZnVuY3Rpb24obil7ZS5f
ZGF0YVt0XT1ufX0pfWZ1bmN0aW9uIGllKGUpe3ZhciB0PW5ldyBMaShlLnRhZyxlLmRhdGEsZS5j
aGlsZHJlbixlLnRleHQsZS5lbG0sZS5ucyxlLmNvbnRleHQsZS5jb21wb25lbnRPcHRpb25zKTty
ZXR1cm4gdC5pc1N0YXRpYz1lLmlzU3RhdGljLHQua2V5PWUua2V5LHQuaXNDbG9uZWQ9ITAsdH1m
dW5jdGlvbiBvZShlKXtmb3IodmFyIHQ9bmV3IEFycmF5KGUubGVuZ3RoKSxuPTA7bjxlLmxlbmd0
aDtuKyspdFtuXT1pZShlW25dKTtyZXR1cm4gdH1mdW5jdGlvbiBhZShlLHQsbixyKXtyKz10O3Zh
ciBpPWUuX19pbmplY3RlZHx8KGUuX19pbmplY3RlZD17fSk7aWYoIWlbcl0pe2lbcl09ITA7dmFy
IG89ZVt0XTtvP2VbdF09ZnVuY3Rpb24oKXtvLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxuLmFwcGx5
KHRoaXMsYXJndW1lbnRzKX06ZVt0XT1ufX1mdW5jdGlvbiBzZShlLHQsbixyLGkpe3ZhciBvLGEs
cyxjLHUsbDtmb3IobyBpbiBlKWlmKGE9ZVtvXSxzPXRbb10sYSlpZihzKXtpZihhIT09cylpZihB
cnJheS5pc0FycmF5KHMpKXtzLmxlbmd0aD1hLmxlbmd0aDtmb3IodmFyIGY9MDtmPHMubGVuZ3Ro
O2YrKylzW2ZdPWFbZl07ZVtvXT1zfWVsc2Ugcy5mbj1hLGVbb109c31lbHNlIGw9IiEiPT09by5j
aGFyQXQoMCksdT1sP28uc2xpY2UoMSk6byxBcnJheS5pc0FycmF5KGEpP24odSxhLmludm9rZXI9
Y2UoYSksbCk6KGEuaW52b2tlcnx8KGM9YSxhPWVbb109e30sYS5mbj1jLGEuaW52b2tlcj11ZShh
KSksbih1LGEuaW52b2tlcixsKSk7ZWxzZTtmb3IobyBpbiB0KWVbb118fCh1PSIhIj09PW8uY2hh
ckF0KDApP28uc2xpY2UoMSk6byxyKHUsdFtvXS5pbnZva2VyKSl9ZnVuY3Rpb24gY2UoZSl7cmV0
dXJuIGZ1bmN0aW9uKHQpe2Zvcih2YXIgbj1hcmd1bWVudHMscj0xPT09YXJndW1lbnRzLmxlbmd0
aCxpPTA7aTxlLmxlbmd0aDtpKyspcj9lW2ldKHQpOmVbaV0uYXBwbHkobnVsbCxuKX19ZnVuY3Rp
b24gdWUoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBuPTE9PT1hcmd1bWVudHMubGVuZ3RoO24/
ZS5mbih0KTplLmZuLmFwcGx5KG51bGwsYXJndW1lbnRzKX19ZnVuY3Rpb24gbGUoZSx0LG4pe2lm
KHMoZSkpcmV0dXJuW2ZlKGUpXTtpZihBcnJheS5pc0FycmF5KGUpKXtmb3IodmFyIHI9W10saT0w
LG89ZS5sZW5ndGg7aTxvO2krKyl7dmFyIGE9ZVtpXSxjPXJbci5sZW5ndGgtMV07QXJyYXkuaXNB
cnJheShhKT9yLnB1c2guYXBwbHkocixsZShhLHQsKG58fCIiKSsiXyIraSkpOnMoYSk/YyYmYy50
ZXh0P2MudGV4dCs9U3RyaW5nKGEpOiIiIT09YSYmci5wdXNoKGZlKGEpKTphIGluc3RhbmNlb2Yg
TGkmJihhLnRleHQmJmMmJmMudGV4dD9jLmlzQ2xvbmVkfHwoYy50ZXh0Kz1hLnRleHQpOih0JiZk
ZShhLHQpLGEudGFnJiZudWxsPT1hLmtleSYmbnVsbCE9biYmKGEua2V5PSJfX3ZsaXN0IituKyJf
IitpKyJfXyIpLHIucHVzaChhKSkpfXJldHVybiByfX1mdW5jdGlvbiBmZShlKXtyZXR1cm4gbmV3
IExpKHZvaWQgMCx2b2lkIDAsdm9pZCAwLFN0cmluZyhlKSl9ZnVuY3Rpb24gZGUoZSx0KXtpZihl
LnRhZyYmIWUubnMmJihlLm5zPXQsZS5jaGlsZHJlbikpZm9yKHZhciBuPTAscj1lLmNoaWxkcmVu
Lmxlbmd0aDtuPHI7bisrKWRlKGUuY2hpbGRyZW5bbl0sdCl9ZnVuY3Rpb24gcGUoZSl7cmV0dXJu
IGUmJmUuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlJiZlLmNvbXBvbmVudE9wdGlvbnN9KVsw
XX1mdW5jdGlvbiBoZShlKXt2YXIgdD1lLiRvcHRpb25zLG49dC5wYXJlbnQ7aWYobiYmIXQuYWJz
dHJhY3Qpe2Zvcig7bi4kb3B0aW9ucy5hYnN0cmFjdCYmbi4kcGFyZW50OyluPW4uJHBhcmVudDtu
LiRjaGlsZHJlbi5wdXNoKGUpfWUuJHBhcmVudD1uLGUuJHJvb3Q9bj9uLiRyb290OmUsZS4kY2hp
bGRyZW49W10sZS4kcmVmcz17fSxlLl93YXRjaGVyPW51bGwsZS5faW5hY3RpdmU9ITEsZS5faXNN
b3VudGVkPSExLGUuX2lzRGVzdHJveWVkPSExLGUuX2lzQmVpbmdEZXN0cm95ZWQ9ITF9ZnVuY3Rp
b24gdmUoZSl7ZS5wcm90b3R5cGUuX21vdW50PWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcztyZXR1
cm4gbi4kZWw9ZSxuLiRvcHRpb25zLnJlbmRlcnx8KG4uJG9wdGlvbnMucmVuZGVyPU1pKSxtZShu
LCJiZWZvcmVNb3VudCIpLG4uX3dhdGNoZXI9bmV3IEVpKG4sZnVuY3Rpb24oKXtuLl91cGRhdGUo
bi5fcmVuZGVyKCksdCl9LHYpLHQ9ITEsbnVsbD09bi4kdm5vZGUmJihuLl9pc01vdW50ZWQ9ITAs
bWUobiwibW91bnRlZCIpKSxufSxlLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKGUsdCl7dmFy
IG49dGhpcztuLl9pc01vdW50ZWQmJm1lKG4sImJlZm9yZVVwZGF0ZSIpO3ZhciByPW4uJGVsLGk9
UGk7UGk9bjt2YXIgbz1uLl92bm9kZTtuLl92bm9kZT1lLG8/bi4kZWw9bi5fX3BhdGNoX18obyxl
KTpuLiRlbD1uLl9fcGF0Y2hfXyhuLiRlbCxlLHQpLFBpPWksciYmKHIuX192dWVfXz1udWxsKSxu
LiRlbCYmKG4uJGVsLl9fdnVlX189biksbi4kdm5vZGUmJm4uJHBhcmVudCYmbi4kdm5vZGU9PT1u
LiRwYXJlbnQuX3Zub2RlJiYobi4kcGFyZW50LiRlbD1uLiRlbCksbi5faXNNb3VudGVkJiZtZShu
LCJ1cGRhdGVkIil9LGUucHJvdG90eXBlLl91cGRhdGVGcm9tUGFyZW50PWZ1bmN0aW9uKGUsdCxu
LHIpe3ZhciBpPXRoaXMsbz0hKCFpLiRvcHRpb25zLl9yZW5kZXJDaGlsZHJlbiYmIXIpO2lmKGku
JG9wdGlvbnMuX3BhcmVudFZub2RlPW4saS4kdm5vZGU9bixpLl92bm9kZSYmKGkuX3Zub2RlLnBh
cmVudD1uKSxpLiRvcHRpb25zLl9yZW5kZXJDaGlsZHJlbj1yLGUmJmkuJG9wdGlvbnMucHJvcHMp
e19pLnNob3VsZENvbnZlcnQ9ITE7Zm9yKHZhciBhPWkuJG9wdGlvbnMuX3Byb3BLZXlzfHxbXSxz
PTA7czxhLmxlbmd0aDtzKyspe3ZhciBjPWFbc107aVtjXT1JKGMsaS4kb3B0aW9ucy5wcm9wcyxl
LGkpfV9pLnNob3VsZENvbnZlcnQ9ITAsaS4kb3B0aW9ucy5wcm9wc0RhdGE9ZX1pZih0KXt2YXIg
dT1pLiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnM7aS4kb3B0aW9ucy5fcGFyZW50TGlzdGVuZXJz
PXQsaS5fdXBkYXRlTGlzdGVuZXJzKHQsdSl9byYmKGkuJHNsb3RzPUxlKHIsaS5fcmVuZGVyQ29u
dGV4dCksaS4kZm9yY2VVcGRhdGUoKSl9LGUucHJvdG90eXBlLiRmb3JjZVVwZGF0ZT1mdW5jdGlv
bigpe3ZhciBlPXRoaXM7ZS5fd2F0Y2hlciYmZS5fd2F0Y2hlci51cGRhdGUoKX0sZS5wcm90b3R5
cGUuJGRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2lmKCFlLl9pc0JlaW5nRGVzdHJveWVk
KXttZShlLCJiZWZvcmVEZXN0cm95IiksZS5faXNCZWluZ0Rlc3Ryb3llZD0hMDt2YXIgdD1lLiRw
YXJlbnQ7IXR8fHQuX2lzQmVpbmdEZXN0cm95ZWR8fGUuJG9wdGlvbnMuYWJzdHJhY3R8fG8odC4k
Y2hpbGRyZW4sZSksZS5fd2F0Y2hlciYmZS5fd2F0Y2hlci50ZWFyZG93bigpO2Zvcih2YXIgbj1l
Ll93YXRjaGVycy5sZW5ndGg7bi0tOyllLl93YXRjaGVyc1tuXS50ZWFyZG93bigpO2UuX2RhdGEu
X19vYl9fJiZlLl9kYXRhLl9fb2JfXy52bUNvdW50LS0sZS5faXNEZXN0cm95ZWQ9ITAsbWUoZSwi
ZGVzdHJveWVkIiksZS4kb2ZmKCksZS4kZWwmJihlLiRlbC5fX3Z1ZV9fPW51bGwpLGUuX19wYXRj
aF9fKGUuX3Zub2RlLG51bGwpfX19ZnVuY3Rpb24gbWUoZSx0KXt2YXIgbj1lLiRvcHRpb25zW3Rd
O2lmKG4pZm9yKHZhciByPTAsaT1uLmxlbmd0aDtyPGk7cisrKW5bcl0uY2FsbChlKTtlLiRlbWl0
KCJob29rOiIrdCl9ZnVuY3Rpb24gZ2UoZSx0LG4scixpKXtpZihlKXt2YXIgbz1uLiRvcHRpb25z
Ll9iYXNlO2lmKGQoZSkmJihlPW8uZXh0ZW5kKGUpKSwiZnVuY3Rpb24iPT10eXBlb2YgZSl7aWYo
IWUuY2lkKWlmKGUucmVzb2x2ZWQpZT1lLnJlc29sdmVkO2Vsc2UgaWYoZT1DZShlLG8sZnVuY3Rp
b24oKXtuLiRmb3JjZVVwZGF0ZSgpfSksIWUpcmV0dXJuO0JlKGUpLHQ9dHx8e307dmFyIGE9QWUo
dCxlKTtpZihlLm9wdGlvbnMuZnVuY3Rpb25hbClyZXR1cm4geWUoZSxhLHQsbixyKTt2YXIgcz10
Lm9uO3Qub249dC5uYXRpdmVPbixlLm9wdGlvbnMuYWJzdHJhY3QmJih0PXt9KSxPZSh0KTt2YXIg
Yz1lLm9wdGlvbnMubmFtZXx8aSx1PW5ldyBMaSgidnVlLWNvbXBvbmVudC0iK2UuY2lkKyhjPyIt
IitjOiIiKSx0LHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxuLHtDdG9yOmUscHJvcHNEYXRh
OmEsbGlzdGVuZXJzOnMsdGFnOmksY2hpbGRyZW46cn0pO3JldHVybiB1fX19ZnVuY3Rpb24geWUo
ZSx0LG4scixpKXt2YXIgbz17fSxhPWUub3B0aW9ucy5wcm9wcztpZihhKWZvcih2YXIgcyBpbiBh
KW9bc109SShzLGEsdCk7dmFyIGM9ZS5vcHRpb25zLnJlbmRlci5jYWxsKG51bGwsdShUZSx7X3Nl
bGY6T2JqZWN0LmNyZWF0ZShyKX0pLHtwcm9wczpvLGRhdGE6bixwYXJlbnQ6cixjaGlsZHJlbjps
ZShpKSxzbG90czpmdW5jdGlvbigpe3JldHVybiBMZShpLHIpfX0pO3JldHVybiBjIGluc3RhbmNl
b2YgTGkmJihjLmZ1bmN0aW9uYWxDb250ZXh0PXIsbi5zbG90JiYoKGMuZGF0YXx8KGMuZGF0YT17
fSkpLnNsb3Q9bi5zbG90KSksY31mdW5jdGlvbiBfZShlLHQpe3ZhciBuPWUuY29tcG9uZW50T3B0
aW9ucyxyPXtfaXNDb21wb25lbnQ6ITAscGFyZW50OnQscHJvcHNEYXRhOm4ucHJvcHNEYXRhLF9j
b21wb25lbnRUYWc6bi50YWcsX3BhcmVudFZub2RlOmUsX3BhcmVudExpc3RlbmVyczpuLmxpc3Rl
bmVycyxfcmVuZGVyQ2hpbGRyZW46bi5jaGlsZHJlbn0saT1lLmRhdGEuaW5saW5lVGVtcGxhdGU7
cmV0dXJuIGkmJihyLnJlbmRlcj1pLnJlbmRlcixyLnN0YXRpY1JlbmRlckZucz1pLnN0YXRpY1Jl
bmRlckZucyksbmV3IG4uQ3RvcihyKX1mdW5jdGlvbiBiZShlLHQpe2lmKCFlLmNoaWxkfHxlLmNo
aWxkLl9pc0Rlc3Ryb3llZCl7dmFyIG49ZS5jaGlsZD1fZShlLFBpKTtuLiRtb3VudCh0P2UuZWxt
OnZvaWQgMCx0KX1lbHNlIGlmKGUuZGF0YS5rZWVwQWxpdmUpe3ZhciByPWU7d2UocixyKX19ZnVu
Y3Rpb24gd2UoZSx0KXt2YXIgbj10LmNvbXBvbmVudE9wdGlvbnMscj10LmNoaWxkPWUuY2hpbGQ7
ci5fdXBkYXRlRnJvbVBhcmVudChuLnByb3BzRGF0YSxuLmxpc3RlbmVycyx0LG4uY2hpbGRyZW4p
fWZ1bmN0aW9uIHhlKGUpe2UuY2hpbGQuX2lzTW91bnRlZHx8KGUuY2hpbGQuX2lzTW91bnRlZD0h
MCxtZShlLmNoaWxkLCJtb3VudGVkIikpLGUuZGF0YS5rZWVwQWxpdmUmJihlLmNoaWxkLl9pbmFj
dGl2ZT0hMSxtZShlLmNoaWxkLCJhY3RpdmF0ZWQiKSl9ZnVuY3Rpb24gJGUoZSl7ZS5jaGlsZC5f
aXNEZXN0cm95ZWR8fChlLmRhdGEua2VlcEFsaXZlPyhlLmNoaWxkLl9pbmFjdGl2ZT0hMCxtZShl
LmNoaWxkLCJkZWFjdGl2YXRlZCIpKTplLmNoaWxkLiRkZXN0cm95KCkpfWZ1bmN0aW9uIENlKGUs
dCxuKXtpZighZS5yZXF1ZXN0ZWQpe2UucmVxdWVzdGVkPSEwO3ZhciByPWUucGVuZGluZ0NhbGxi
YWNrcz1bbl0saT0hMCxvPWZ1bmN0aW9uKG4pe2lmKGQobikmJihuPXQuZXh0ZW5kKG4pKSxlLnJl
c29sdmVkPW4sIWkpZm9yKHZhciBvPTAsYT1yLmxlbmd0aDtvPGE7bysrKXJbb10obil9LGE9ZnVu
Y3Rpb24oZSl7fSxzPWUobyxhKTtyZXR1cm4gcyYmImZ1bmN0aW9uIj09dHlwZW9mIHMudGhlbiYm
IWUucmVzb2x2ZWQmJnMudGhlbihvLGEpLGk9ITEsZS5yZXNvbHZlZH1lLnBlbmRpbmdDYWxsYmFj
a3MucHVzaChuKX1mdW5jdGlvbiBBZShlLHQpe3ZhciBuPXQub3B0aW9ucy5wcm9wcztpZihuKXt2
YXIgcj17fSxpPWUuYXR0cnMsbz1lLnByb3BzLGE9ZS5kb21Qcm9wcztpZihpfHxvfHxhKWZvcih2
YXIgcyBpbiBuKXt2YXIgYz1XcihzKTtrZShyLG8scyxjLCEwKXx8a2UocixpLHMsYyl8fGtlKHIs
YSxzLGMpfXJldHVybiByfX1mdW5jdGlvbiBrZShlLHQsbixyLGkpe2lmKHQpe2lmKGEodCxuKSly
ZXR1cm4gZVtuXT10W25dLGl8fGRlbGV0ZSB0W25dLCEwO2lmKGEodCxyKSlyZXR1cm4gZVtuXT10
W3JdLGl8fGRlbGV0ZSB0W3JdLCEwfXJldHVybiExfWZ1bmN0aW9uIE9lKGUpe2UuaG9va3x8KGUu
aG9vaz17fSk7Zm9yKHZhciB0PTA7dDxSaS5sZW5ndGg7dCsrKXt2YXIgbj1SaVt0XSxyPWUuaG9v
a1tuXSxpPURpW25dO2UuaG9va1tuXT1yP1NlKGkscik6aX19ZnVuY3Rpb24gU2UoZSx0KXtyZXR1
cm4gZnVuY3Rpb24obixyKXtlKG4sciksdChuLHIpfX1mdW5jdGlvbiBUZShlLHQsbil7cmV0dXJu
IHQmJihBcnJheS5pc0FycmF5KHQpfHwib2JqZWN0IiE9dHlwZW9mIHQpJiYobj10LHQ9dm9pZCAw
KSxFZSh0aGlzLl9zZWxmLGUsdCxuKX1mdW5jdGlvbiBFZShlLHQsbixyKXtpZighbnx8IW4uX19v
Yl9fKXtpZighdClyZXR1cm4gTWkoKTtpZihBcnJheS5pc0FycmF5KHIpJiYiZnVuY3Rpb24iPT10
eXBlb2YgclswXSYmKG49bnx8e30sbi5zY29wZWRTbG90cz17ZGVmYXVsdDpyWzBdfSxyLmxlbmd0
aD0wKSwic3RyaW5nIj09dHlwZW9mIHQpe3ZhciBpLG89ZmkuZ2V0VGFnTmFtZXNwYWNlKHQpO2lm
KGZpLmlzUmVzZXJ2ZWRUYWcodCkpcmV0dXJuIG5ldyBMaSh0LG4sbGUocixvKSx2b2lkIDAsdm9p
ZCAwLG8sZSk7aWYoaT1CKGUuJG9wdGlvbnMsImNvbXBvbmVudHMiLHQpKXJldHVybiBnZShpLG4s
ZSxyLHQpO3ZhciBhPSJmb3JlaWduT2JqZWN0Ij09PXQ/InhodG1sIjpvO3JldHVybiBuZXcgTGko
dCxuLGxlKHIsYSksdm9pZCAwLHZvaWQgMCxvLGUpfXJldHVybiBnZSh0LG4sZSxyKX19ZnVuY3Rp
b24gamUoZSl7ZS4kdm5vZGU9bnVsbCxlLl92bm9kZT1udWxsLGUuX3N0YXRpY1RyZWVzPW51bGws
ZS5fcmVuZGVyQ29udGV4dD1lLiRvcHRpb25zLl9wYXJlbnRWbm9kZSYmZS4kb3B0aW9ucy5fcGFy
ZW50Vm5vZGUuY29udGV4dCxlLiRzbG90cz1MZShlLiRvcHRpb25zLl9yZW5kZXJDaGlsZHJlbixl
Ll9yZW5kZXJDb250ZXh0KSxlLiRzY29wZWRTbG90cz17fSxlLiRjcmVhdGVFbGVtZW50PXUoVGUs
ZSksZS4kb3B0aW9ucy5lbCYmZS4kbW91bnQoZS4kb3B0aW9ucy5lbCl9ZnVuY3Rpb24gTmUoZSl7
ZnVuY3Rpb24gdChlLHQsbil7aWYoQXJyYXkuaXNBcnJheShlKSlmb3IodmFyIHI9MDtyPGUubGVu
Z3RoO3IrKyllW3JdJiYic3RyaW5nIiE9dHlwZW9mIGVbcl0mJmkoZVtyXSx0KyJfIityLG4pO2Vs
c2UgaShlLHQsbil9ZnVuY3Rpb24gaShlLHQsbil7ZS5pc1N0YXRpYz0hMCxlLmtleT10LGUuaXNP
bmNlPW59ZS5wcm90b3R5cGUuJG5leHRUaWNrPWZ1bmN0aW9uKGUpe3JldHVybiB1aShlLHRoaXMp
fSxlLnByb3RvdHlwZS5fcmVuZGVyPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuJG9wdGlvbnMs
bj10LnJlbmRlcixyPXQuc3RhdGljUmVuZGVyRm5zLGk9dC5fcGFyZW50Vm5vZGU7aWYoZS5faXNN
b3VudGVkKWZvcih2YXIgbyBpbiBlLiRzbG90cyllLiRzbG90c1tvXT1vZShlLiRzbG90c1tvXSk7
aSYmaS5kYXRhLnNjb3BlZFNsb3RzJiYoZS4kc2NvcGVkU2xvdHM9aS5kYXRhLnNjb3BlZFNsb3Rz
KSxyJiYhZS5fc3RhdGljVHJlZXMmJihlLl9zdGF0aWNUcmVlcz1bXSksZS4kdm5vZGU9aTt2YXIg
YTt0cnl7YT1uLmNhbGwoZS5fcmVuZGVyUHJveHksZS4kY3JlYXRlRWxlbWVudCl9Y2F0Y2godCl7
aWYoZmkuZXJyb3JIYW5kbGVyKWZpLmVycm9ySGFuZGxlci5jYWxsKG51bGwsdCxlKTtlbHNle2lm
KHNpKCkpdGhyb3cgdDtjb25zb2xlLmVycm9yKHQpfWE9ZS5fdm5vZGV9cmV0dXJuIGEgaW5zdGFu
Y2VvZiBMaXx8KGE9TWkoKSksYS5wYXJlbnQ9aSxhfSxlLnByb3RvdHlwZS5faD1UZSxlLnByb3Rv
dHlwZS5fcz1uLGUucHJvdG90eXBlLl9uPXIsZS5wcm90b3R5cGUuX2U9TWksZS5wcm90b3R5cGUu
X3E9ZyxlLnByb3RvdHlwZS5faT15LGUucHJvdG90eXBlLl9tPWZ1bmN0aW9uKGUsbil7dmFyIHI9
dGhpcy5fc3RhdGljVHJlZXNbZV07cmV0dXJuIHImJiFuP0FycmF5LmlzQXJyYXkocik/b2Uocik6
aWUocik6KHI9dGhpcy5fc3RhdGljVHJlZXNbZV09dGhpcy4kb3B0aW9ucy5zdGF0aWNSZW5kZXJG
bnNbZV0uY2FsbCh0aGlzLl9yZW5kZXJQcm94eSksdChyLCJfX3N0YXRpY19fIitlLCExKSxyKX0s
ZS5wcm90b3R5cGUuX289ZnVuY3Rpb24oZSxuLHIpe3JldHVybiB0KGUsIl9fb25jZV9fIituKyhy
PyJfIityOiIiKSwhMCksZX07dmFyIG89ZnVuY3Rpb24oZSl7cmV0dXJuIGV9O2UucHJvdG90eXBl
Ll9mPWZ1bmN0aW9uKGUpe3JldHVybiBCKHRoaXMuJG9wdGlvbnMsImZpbHRlcnMiLGUsITApfHxv
fSxlLnByb3RvdHlwZS5fbD1mdW5jdGlvbihlLHQpe3ZhciBuLHIsaSxvLGE7aWYoQXJyYXkuaXNB
cnJheShlKSlmb3Iobj1uZXcgQXJyYXkoZS5sZW5ndGgpLHI9MCxpPWUubGVuZ3RoO3I8aTtyKysp
bltyXT10KGVbcl0scik7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIGUpZm9yKG49bmV3IEFycmF5
KGUpLHI9MDtyPGU7cisrKW5bcl09dChyKzEscik7ZWxzZSBpZihkKGUpKWZvcihvPU9iamVjdC5r
ZXlzKGUpLG49bmV3IEFycmF5KG8ubGVuZ3RoKSxyPTAsaT1vLmxlbmd0aDtyPGk7cisrKWE9b1ty
XSxuW3JdPXQoZVthXSxhLHIpO3JldHVybiBufSxlLnByb3RvdHlwZS5fdD1mdW5jdGlvbihlLHQs
bil7dmFyIHI9dGhpcy4kc2NvcGVkU2xvdHNbZV07aWYocilyZXR1cm4gcihufHx7fSl8fHQ7dmFy
IGk9dGhpcy4kc2xvdHNbZV07cmV0dXJuIGl8fHR9LGUucHJvdG90eXBlLl9iPWZ1bmN0aW9uKGUs
dCxuLHIpe2lmKG4paWYoZChuKSl7QXJyYXkuaXNBcnJheShuKSYmKG49aChuKSk7Zm9yKHZhciBp
IGluIG4paWYoImNsYXNzIj09PWl8fCJzdHlsZSI9PT1pKWVbaV09bltpXTtlbHNle3ZhciBvPXJ8
fGZpLm11c3RVc2VQcm9wKHQsaSk/ZS5kb21Qcm9wc3x8KGUuZG9tUHJvcHM9e30pOmUuYXR0cnN8
fChlLmF0dHJzPXt9KTtvW2ldPW5baV19fWVsc2U7cmV0dXJuIGV9LGUucHJvdG90eXBlLl9rPWZ1
bmN0aW9uKGUpe3JldHVybiBmaS5rZXlDb2Rlc1tlXX19ZnVuY3Rpb24gTGUoZSx0KXt2YXIgbj17
fTtpZighZSlyZXR1cm4gbjtmb3IodmFyIHIsaSxvPWxlKGUpfHxbXSxhPVtdLHM9MCxjPW8ubGVu
Z3RoO3M8YztzKyspaWYoaT1vW3NdLChpLmNvbnRleHQ9PT10fHxpLmZ1bmN0aW9uYWxDb250ZXh0
PT09dCkmJmkuZGF0YSYmKHI9aS5kYXRhLnNsb3QpKXt2YXIgdT1uW3JdfHwobltyXT1bXSk7InRl
bXBsYXRlIj09PWkudGFnP3UucHVzaC5hcHBseSh1LGkuY2hpbGRyZW4pOnUucHVzaChpKX1lbHNl
IGEucHVzaChpKTtyZXR1cm4gYS5sZW5ndGgmJigxIT09YS5sZW5ndGh8fCIgIiE9PWFbMF0udGV4
dCYmIWFbMF0uaXNDb21tZW50KSYmKG4uZGVmYXVsdD1hKSxufWZ1bmN0aW9uIE1lKGUpe2UuX2V2
ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpO3ZhciB0PWUuJG9wdGlvbnMuX3BhcmVudExpc3RlbmVy
cyxuPXUoZS4kb24sZSkscj11KGUuJG9mZixlKTtlLl91cGRhdGVMaXN0ZW5lcnM9ZnVuY3Rpb24o
dCxpKXtzZSh0LGl8fHt9LG4scixlKX0sdCYmZS5fdXBkYXRlTGlzdGVuZXJzKHQpfWZ1bmN0aW9u
IFBlKGUpe2UucHJvdG90eXBlLiRvbj1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXM7cmV0dXJuKG4u
X2V2ZW50c1tlXXx8KG4uX2V2ZW50c1tlXT1bXSkpLnB1c2godCksbn0sZS5wcm90b3R5cGUuJG9u
Y2U9ZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKCl7ci4kb2ZmKGUsbiksdC5hcHBseShyLGFyZ3Vt
ZW50cyl9dmFyIHI9dGhpcztyZXR1cm4gbi5mbj10LHIuJG9uKGUsbikscn0sZS5wcm90b3R5cGUu
JG9mZj1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXM7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJu
IG4uX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLG47dmFyIHI9bi5fZXZlbnRzW2VdO2lmKCFy
KXJldHVybiBuO2lmKDE9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBuLl9ldmVudHNbZV09bnVs
bCxuO2Zvcih2YXIgaSxvPXIubGVuZ3RoO28tLTspaWYoaT1yW29dLGk9PT10fHxpLmZuPT09dCl7
ci5zcGxpY2UobywxKTticmVha31yZXR1cm4gbn0sZS5wcm90b3R5cGUuJGVtaXQ9ZnVuY3Rpb24o
ZSl7dmFyIHQ9dGhpcyxuPXQuX2V2ZW50c1tlXTtpZihuKXtuPW4ubGVuZ3RoPjE/bChuKTpuO2Zv
cih2YXIgcj1sKGFyZ3VtZW50cywxKSxpPTAsbz1uLmxlbmd0aDtpPG87aSsrKW5baV0uYXBwbHko
dCxyKX1yZXR1cm4gdH19ZnVuY3Rpb24gRGUoZSl7ZS5wcm90b3R5cGUuX2luaXQ9ZnVuY3Rpb24o
ZSl7dmFyIHQ9dGhpczt0Ll91aWQ9QmkrKyx0Ll9pc1Z1ZT0hMCxlJiZlLl9pc0NvbXBvbmVudD9S
ZSh0LGUpOnQuJG9wdGlvbnM9UihCZSh0LmNvbnN0cnVjdG9yKSxlfHx7fSx0KSx0Ll9yZW5kZXJQ
cm94eT10LHQuX3NlbGY9dCxoZSh0KSxNZSh0KSxtZSh0LCJiZWZvcmVDcmVhdGUiKSxXKHQpLG1l
KHQsImNyZWF0ZWQiKSxqZSh0KX19ZnVuY3Rpb24gUmUoZSx0KXt2YXIgbj1lLiRvcHRpb25zPU9i
amVjdC5jcmVhdGUoZS5jb25zdHJ1Y3Rvci5vcHRpb25zKTtuLnBhcmVudD10LnBhcmVudCxuLnBy
b3BzRGF0YT10LnByb3BzRGF0YSxuLl9wYXJlbnRWbm9kZT10Ll9wYXJlbnRWbm9kZSxuLl9wYXJl
bnRMaXN0ZW5lcnM9dC5fcGFyZW50TGlzdGVuZXJzLG4uX3JlbmRlckNoaWxkcmVuPXQuX3JlbmRl
ckNoaWxkcmVuLG4uX2NvbXBvbmVudFRhZz10Ll9jb21wb25lbnRUYWcsdC5yZW5kZXImJihuLnJl
bmRlcj10LnJlbmRlcixuLnN0YXRpY1JlbmRlckZucz10LnN0YXRpY1JlbmRlckZucyl9ZnVuY3Rp
b24gQmUoZSl7dmFyIHQ9ZS5vcHRpb25zO2lmKGUuc3VwZXIpe3ZhciBuPWUuc3VwZXIub3B0aW9u
cyxyPWUuc3VwZXJPcHRpb25zLGk9ZS5leHRlbmRPcHRpb25zO24hPT1yJiYoZS5zdXBlck9wdGlv
bnM9bixpLnJlbmRlcj10LnJlbmRlcixpLnN0YXRpY1JlbmRlckZucz10LnN0YXRpY1JlbmRlckZu
cyxpLl9zY29wZUlkPXQuX3Njb3BlSWQsdD1lLm9wdGlvbnM9UihuLGkpLHQubmFtZSYmKHQuY29t
cG9uZW50c1t0Lm5hbWVdPWUpKX1yZXR1cm4gdH1mdW5jdGlvbiBJZShlKXt0aGlzLl9pbml0KGUp
fWZ1bmN0aW9uIEhlKGUpe2UudXNlPWZ1bmN0aW9uKGUpe2lmKCFlLmluc3RhbGxlZCl7dmFyIHQ9
bChhcmd1bWVudHMsMSk7cmV0dXJuIHQudW5zaGlmdCh0aGlzKSwiZnVuY3Rpb24iPT10eXBlb2Yg
ZS5pbnN0YWxsP2UuaW5zdGFsbC5hcHBseShlLHQpOmUuYXBwbHkobnVsbCx0KSxlLmluc3RhbGxl
ZD0hMCx0aGlzfX19ZnVuY3Rpb24gRmUoZSl7ZS5taXhpbj1mdW5jdGlvbihlKXt0aGlzLm9wdGlv
bnM9Uih0aGlzLm9wdGlvbnMsZSl9fWZ1bmN0aW9uIFVlKGUpe2UuY2lkPTA7dmFyIHQ9MTtlLmV4
dGVuZD1mdW5jdGlvbihlKXtlPWV8fHt9O3ZhciBuPXRoaXMscj1uLmNpZCxpPWUuX0N0b3J8fChl
Ll9DdG9yPXt9KTtpZihpW3JdKXJldHVybiBpW3JdO3ZhciBvPWUubmFtZXx8bi5vcHRpb25zLm5h
bWUsYT1mdW5jdGlvbihlKXt0aGlzLl9pbml0KGUpfTtyZXR1cm4gYS5wcm90b3R5cGU9T2JqZWN0
LmNyZWF0ZShuLnByb3RvdHlwZSksYS5wcm90b3R5cGUuY29uc3RydWN0b3I9YSxhLmNpZD10Kyss
YS5vcHRpb25zPVIobi5vcHRpb25zLGUpLGEuc3VwZXI9bixhLmV4dGVuZD1uLmV4dGVuZCxhLm1p
eGluPW4ubWl4aW4sYS51c2U9bi51c2UsZmkuX2Fzc2V0VHlwZXMuZm9yRWFjaChmdW5jdGlvbihl
KXthW2VdPW5bZV19KSxvJiYoYS5vcHRpb25zLmNvbXBvbmVudHNbb109YSksYS5zdXBlck9wdGlv
bnM9bi5vcHRpb25zLGEuZXh0ZW5kT3B0aW9ucz1lLGlbcl09YSxhfX1mdW5jdGlvbiB6ZShlKXtm
aS5fYXNzZXRUeXBlcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe2VbdF09ZnVuY3Rpb24oZSxuKXtyZXR1
cm4gbj8oImNvbXBvbmVudCI9PT10JiZwKG4pJiYobi5uYW1lPW4ubmFtZXx8ZSxuPXRoaXMub3B0
aW9ucy5fYmFzZS5leHRlbmQobikpLCJkaXJlY3RpdmUiPT09dCYmImZ1bmN0aW9uIj09dHlwZW9m
IG4mJihuPXtiaW5kOm4sdXBkYXRlOm59KSx0aGlzLm9wdGlvbnNbdCsicyJdW2VdPW4sbik6dGhp
cy5vcHRpb25zW3QrInMiXVtlXX19KX1mdW5jdGlvbiBWZShlLHQpe3JldHVybiJzdHJpbmciPT10
eXBlb2YgZT9lLnNwbGl0KCIsIikuaW5kZXhPZih0KT4tMTplLnRlc3QodCl9ZnVuY3Rpb24gSmUo
ZSl7dmFyIHQ9e307dC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gZml9LE9iamVjdC5kZWZpbmVQcm9w
ZXJ0eShlLCJjb25maWciLHQpLGUudXRpbD0kaSxlLnNldD1ULGUuZGVsZXRlPUUsZS5uZXh0VGlj
az11aSxlLm9wdGlvbnM9T2JqZWN0LmNyZWF0ZShudWxsKSxmaS5fYXNzZXRUeXBlcy5mb3JFYWNo
KGZ1bmN0aW9uKHQpe2Uub3B0aW9uc1t0KyJzIl09T2JqZWN0LmNyZWF0ZShudWxsKX0pLGUub3B0
aW9ucy5fYmFzZT1lLGYoZS5vcHRpb25zLmNvbXBvbmVudHMsRmkpLEhlKGUpLEZlKGUpLFVlKGUp
LHplKGUpfWZ1bmN0aW9uIHFlKGUpe2Zvcih2YXIgdD1lLmRhdGEsbj1lLHI9ZTtyLmNoaWxkOyly
PXIuY2hpbGQuX3Zub2RlLHIuZGF0YSYmKHQ9S2Uoci5kYXRhLHQpKTtmb3IoO249bi5wYXJlbnQ7
KW4uZGF0YSYmKHQ9S2UodCxuLmRhdGEpKTtyZXR1cm4gV2UodCl9ZnVuY3Rpb24gS2UoZSx0KXty
ZXR1cm57c3RhdGljQ2xhc3M6WmUoZS5zdGF0aWNDbGFzcyx0LnN0YXRpY0NsYXNzKSxjbGFzczpl
LmNsYXNzP1tlLmNsYXNzLHQuY2xhc3NdOnQuY2xhc3N9fWZ1bmN0aW9uIFdlKGUpe3ZhciB0PWUu
Y2xhc3Msbj1lLnN0YXRpY0NsYXNzO3JldHVybiBufHx0P1plKG4sR2UodCkpOiIifWZ1bmN0aW9u
IFplKGUsdCl7cmV0dXJuIGU/dD9lKyIgIit0OmU6dHx8IiJ9ZnVuY3Rpb24gR2UoZSl7dmFyIHQ9
IiI7aWYoIWUpcmV0dXJuIHQ7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlO2lmKEFycmF5
LmlzQXJyYXkoZSkpe2Zvcih2YXIgbixyPTAsaT1lLmxlbmd0aDtyPGk7cisrKWVbcl0mJihuPUdl
KGVbcl0pKSYmKHQrPW4rIiAiKTtyZXR1cm4gdC5zbGljZSgwLC0xKX1pZihkKGUpKXtmb3IodmFy
IG8gaW4gZSllW29dJiYodCs9bysiICIpO3JldHVybiB0LnNsaWNlKDAsLTEpfXJldHVybiB0fWZ1
bmN0aW9uIFllKGUpe3JldHVybiB0byhlKT8ic3ZnIjoibWF0aCI9PT1lPyJtYXRoIjp2b2lkIDB9
ZnVuY3Rpb24gUWUoZSl7aWYoIWVpKXJldHVybiEwO2lmKHJvKGUpKXJldHVybiExO2lmKGU9ZS50
b0xvd2VyQ2FzZSgpLG51bGwhPWlvW2VdKXJldHVybiBpb1tlXTt2YXIgdD1kb2N1bWVudC5jcmVh
dGVFbGVtZW50KGUpO3JldHVybiBlLmluZGV4T2YoIi0iKT4tMT9pb1tlXT10LmNvbnN0cnVjdG9y
PT09d2luZG93LkhUTUxVbmtub3duRWxlbWVudHx8dC5jb25zdHJ1Y3Rvcj09PXdpbmRvdy5IVE1M
RWxlbWVudDppb1tlXT0vSFRNTFVua25vd25FbGVtZW50Ly50ZXN0KHQudG9TdHJpbmcoKSl9ZnVu
Y3Rpb24gWGUoZSl7aWYoInN0cmluZyI9PXR5cGVvZiBlKXtpZihlPWRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoZSksIWUpcmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpfXJldHVybiBl
fWZ1bmN0aW9uIGV0KGUsdCl7dmFyIG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChlKTtyZXR1cm4i
c2VsZWN0IiE9PWU/bjoodC5kYXRhJiZ0LmRhdGEuYXR0cnMmJiJtdWx0aXBsZSJpbiB0LmRhdGEu
YXR0cnMmJm4uc2V0QXR0cmlidXRlKCJtdWx0aXBsZSIsIm11bHRpcGxlIiksbil9ZnVuY3Rpb24g
dHQoZSx0KXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKEdpW2VdLHQpfWZ1bmN0aW9u
IG50KGUpe3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShlKX1mdW5jdGlvbiBydChlKXty
ZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudChlKX1mdW5jdGlvbiBpdChlLHQsbil7ZS5pbnNl
cnRCZWZvcmUodCxuKX1mdW5jdGlvbiBvdChlLHQpe2UucmVtb3ZlQ2hpbGQodCl9ZnVuY3Rpb24g
YXQoZSx0KXtlLmFwcGVuZENoaWxkKHQpfWZ1bmN0aW9uIHN0KGUpe3JldHVybiBlLnBhcmVudE5v
ZGV9ZnVuY3Rpb24gY3QoZSl7cmV0dXJuIGUubmV4dFNpYmxpbmd9ZnVuY3Rpb24gdXQoZSl7cmV0
dXJuIGUudGFnTmFtZX1mdW5jdGlvbiBsdChlLHQpe2UudGV4dENvbnRlbnQ9dH1mdW5jdGlvbiBm
dChlKXtyZXR1cm4gZS5jaGlsZE5vZGVzfWZ1bmN0aW9uIGR0KGUsdCxuKXtlLnNldEF0dHJpYnV0
ZSh0LG4pfWZ1bmN0aW9uIHB0KGUsdCl7dmFyIG49ZS5kYXRhLnJlZjtpZihuKXt2YXIgcj1lLmNv
bnRleHQsaT1lLmNoaWxkfHxlLmVsbSxhPXIuJHJlZnM7dD9BcnJheS5pc0FycmF5KGFbbl0pP28o
YVtuXSxpKTphW25dPT09aSYmKGFbbl09dm9pZCAwKTplLmRhdGEucmVmSW5Gb3I/QXJyYXkuaXNB
cnJheShhW25dKSYmYVtuXS5pbmRleE9mKGkpPDA/YVtuXS5wdXNoKGkpOmFbbl09W2ldOmFbbl09
aX19ZnVuY3Rpb24gaHQoZSl7cmV0dXJuIG51bGw9PWV9ZnVuY3Rpb24gdnQoZSl7cmV0dXJuIG51
bGwhPWV9ZnVuY3Rpb24gbXQoZSx0KXtyZXR1cm4gZS5rZXk9PT10LmtleSYmZS50YWc9PT10LnRh
ZyYmZS5pc0NvbW1lbnQ9PT10LmlzQ29tbWVudCYmIWUuZGF0YT09IXQuZGF0YX1mdW5jdGlvbiBn
dChlLHQsbil7dmFyIHIsaSxvPXt9O2ZvcihyPXQ7cjw9bjsrK3IpaT1lW3JdLmtleSx2dChpKSYm
KG9baV09cik7cmV0dXJuIG99ZnVuY3Rpb24geXQoZSl7ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3
IExpKCQudGFnTmFtZShlKS50b0xvd2VyQ2FzZSgpLHt9LFtdLHZvaWQgMCxlKX1mdW5jdGlvbiBu
KGUsdCl7ZnVuY3Rpb24gbigpezA9PT0tLW4ubGlzdGVuZXJzJiZyKGUpfXJldHVybiBuLmxpc3Rl
bmVycz10LG59ZnVuY3Rpb24gcihlKXt2YXIgdD0kLnBhcmVudE5vZGUoZSk7dCYmJC5yZW1vdmVD
aGlsZCh0LGUpfWZ1bmN0aW9uIGkoZSx0LG4pe3ZhciByLGk9ZS5kYXRhO2lmKGUuaXNSb290SW5z
ZXJ0PSFuLHZ0KGkpJiYodnQocj1pLmhvb2spJiZ2dChyPXIuaW5pdCkmJnIoZSksdnQocj1lLmNo
aWxkKSkpcmV0dXJuIHUoZSx0KSxlLmVsbTt2YXIgYT1lLmNoaWxkcmVuLHM9ZS50YWc7cmV0dXJu
IHZ0KHMpPyhlLmVsbT1lLm5zPyQuY3JlYXRlRWxlbWVudE5TKGUubnMscyk6JC5jcmVhdGVFbGVt
ZW50KHMsZSksbChlKSxvKGUsYSx0KSx2dChpKSYmYyhlLHQpKTplLmlzQ29tbWVudD9lLmVsbT0k
LmNyZWF0ZUNvbW1lbnQoZS50ZXh0KTplLmVsbT0kLmNyZWF0ZVRleHROb2RlKGUudGV4dCksZS5l
bG19ZnVuY3Rpb24gbyhlLHQsbil7aWYoQXJyYXkuaXNBcnJheSh0KSlmb3IodmFyIHI9MDtyPHQu
bGVuZ3RoOysrcikkLmFwcGVuZENoaWxkKGUuZWxtLGkodFtyXSxuLCEwKSk7ZWxzZSBzKGUudGV4
dCkmJiQuYXBwZW5kQ2hpbGQoZS5lbG0sJC5jcmVhdGVUZXh0Tm9kZShlLnRleHQpKX1mdW5jdGlv
biBhKGUpe2Zvcig7ZS5jaGlsZDspZT1lLmNoaWxkLl92bm9kZTtyZXR1cm4gdnQoZS50YWcpfWZ1
bmN0aW9uIGMoZSx0KXtmb3IodmFyIG49MDtuPHcuY3JlYXRlLmxlbmd0aDsrK24pdy5jcmVhdGVb
bl0oc28sZSk7Xz1lLmRhdGEuaG9vayx2dChfKSYmKF8uY3JlYXRlJiZfLmNyZWF0ZShzbyxlKSxf
Lmluc2VydCYmdC5wdXNoKGUpKX1mdW5jdGlvbiB1KGUsdCl7ZS5kYXRhLnBlbmRpbmdJbnNlcnQm
JnQucHVzaC5hcHBseSh0LGUuZGF0YS5wZW5kaW5nSW5zZXJ0KSxlLmVsbT1lLmNoaWxkLiRlbCxh
KGUpPyhjKGUsdCksbChlKSk6KHB0KGUpLHQucHVzaChlKSl9ZnVuY3Rpb24gbChlKXt2YXIgdDt2
dCh0PWUuY29udGV4dCkmJnZ0KHQ9dC4kb3B0aW9ucy5fc2NvcGVJZCkmJiQuc2V0QXR0cmlidXRl
KGUuZWxtLHQsIiIpLHZ0KHQ9UGkpJiZ0IT09ZS5jb250ZXh0JiZ2dCh0PXQuJG9wdGlvbnMuX3Nj
b3BlSWQpJiYkLnNldEF0dHJpYnV0ZShlLmVsbSx0LCIiKX1mdW5jdGlvbiBmKGUsdCxuLHIsbyxh
KXtmb3IoO3I8PW87KytyKSQuaW5zZXJ0QmVmb3JlKGUsaShuW3JdLGEpLHQpfWZ1bmN0aW9uIGQo
ZSl7dmFyIHQsbixyPWUuZGF0YTtpZih2dChyKSlmb3IodnQodD1yLmhvb2spJiZ2dCh0PXQuZGVz
dHJveSkmJnQoZSksdD0wO3Q8dy5kZXN0cm95Lmxlbmd0aDsrK3Qpdy5kZXN0cm95W3RdKGUpO2lm
KHZ0KHQ9ZS5jaGlsZHJlbikpZm9yKG49MDtuPGUuY2hpbGRyZW4ubGVuZ3RoOysrbilkKGUuY2hp
bGRyZW5bbl0pfWZ1bmN0aW9uIHAoZSx0LG4scil7Zm9yKDtuPD1yOysrbil7dmFyIGk9dFtuXTt2
dChpKSYmKHZ0KGkudGFnKT8oaChpKSxkKGkpKTokLnJlbW92ZUNoaWxkKGUsaS5lbG0pKX19ZnVu
Y3Rpb24gaChlLHQpe2lmKHR8fHZ0KGUuZGF0YSkpe3ZhciBpPXcucmVtb3ZlLmxlbmd0aCsxO2Zv
cih0P3QubGlzdGVuZXJzKz1pOnQ9bihlLmVsbSxpKSx2dChfPWUuY2hpbGQpJiZ2dChfPV8uX3Zu
b2RlKSYmdnQoXy5kYXRhKSYmaChfLHQpLF89MDtfPHcucmVtb3ZlLmxlbmd0aDsrK18pdy5yZW1v
dmVbX10oZSx0KTt2dChfPWUuZGF0YS5ob29rKSYmdnQoXz1fLnJlbW92ZSk/XyhlLHQpOnQoKX1l
bHNlIHIoZS5lbG0pfWZ1bmN0aW9uIHYoZSx0LG4scixvKXtmb3IodmFyIGEscyxjLHUsbD0wLGQ9
MCxoPXQubGVuZ3RoLTEsdj10WzBdLGc9dFtoXSx5PW4ubGVuZ3RoLTEsXz1uWzBdLGI9blt5XSx3
PSFvO2w8PWgmJmQ8PXk7KWh0KHYpP3Y9dFsrK2xdOmh0KGcpP2c9dFstLWhdOm10KHYsXyk/KG0o
dixfLHIpLHY9dFsrK2xdLF89blsrK2RdKTptdChnLGIpPyhtKGcsYixyKSxnPXRbLS1oXSxiPW5b
LS15XSk6bXQodixiKT8obSh2LGIsciksdyYmJC5pbnNlcnRCZWZvcmUoZSx2LmVsbSwkLm5leHRT
aWJsaW5nKGcuZWxtKSksdj10WysrbF0sYj1uWy0teV0pOm10KGcsXyk/KG0oZyxfLHIpLHcmJiQu
aW5zZXJ0QmVmb3JlKGUsZy5lbG0sdi5lbG0pLGc9dFstLWhdLF89blsrK2RdKTooaHQoYSkmJihh
PWd0KHQsbCxoKSkscz12dChfLmtleSk/YVtfLmtleV06bnVsbCxodChzKT8oJC5pbnNlcnRCZWZv
cmUoZSxpKF8sciksdi5lbG0pLF89blsrK2RdKTooYz10W3NdLGMudGFnIT09Xy50YWc/KCQuaW5z
ZXJ0QmVmb3JlKGUsaShfLHIpLHYuZWxtKSxfPW5bKytkXSk6KG0oYyxfLHIpLHRbc109dm9pZCAw
LHcmJiQuaW5zZXJ0QmVmb3JlKGUsXy5lbG0sdi5lbG0pLF89blsrK2RdKSkpO2w+aD8odT1odChu
W3krMV0pP251bGw6blt5KzFdLmVsbSxmKGUsdSxuLGQseSxyKSk6ZD55JiZwKGUsdCxsLGgpfWZ1
bmN0aW9uIG0oZSx0LG4scil7aWYoZSE9PXQpe2lmKHQuaXNTdGF0aWMmJmUuaXNTdGF0aWMmJnQu
a2V5PT09ZS5rZXkmJih0LmlzQ2xvbmVkfHx0LmlzT25jZSkpcmV0dXJuIHQuZWxtPWUuZWxtLHZv
aWQodC5jaGlsZD1lLmNoaWxkKTt2YXIgaSxvPXQuZGF0YSxzPXZ0KG8pO3MmJnZ0KGk9by5ob29r
KSYmdnQoaT1pLnByZXBhdGNoKSYmaShlLHQpO3ZhciBjPXQuZWxtPWUuZWxtLHU9ZS5jaGlsZHJl
bixsPXQuY2hpbGRyZW47aWYocyYmYSh0KSl7Zm9yKGk9MDtpPHcudXBkYXRlLmxlbmd0aDsrK2kp
dy51cGRhdGVbaV0oZSx0KTt2dChpPW8uaG9vaykmJnZ0KGk9aS51cGRhdGUpJiZpKGUsdCl9aHQo
dC50ZXh0KT92dCh1KSYmdnQobCk/dSE9PWwmJnYoYyx1LGwsbixyKTp2dChsKT8odnQoZS50ZXh0
KSYmJC5zZXRUZXh0Q29udGVudChjLCIiKSxmKGMsbnVsbCxsLDAsbC5sZW5ndGgtMSxuKSk6dnQo
dSk/cChjLHUsMCx1Lmxlbmd0aC0xKTp2dChlLnRleHQpJiYkLnNldFRleHRDb250ZW50KGMsIiIp
OmUudGV4dCE9PXQudGV4dCYmJC5zZXRUZXh0Q29udGVudChjLHQudGV4dCkscyYmdnQoaT1vLmhv
b2spJiZ2dChpPWkucG9zdHBhdGNoKSYmaShlLHQpfX1mdW5jdGlvbiBnKGUsdCxuKXtpZihuJiZl
LnBhcmVudCllLnBhcmVudC5kYXRhLnBlbmRpbmdJbnNlcnQ9dDtlbHNlIGZvcih2YXIgcj0wO3I8
dC5sZW5ndGg7KytyKXRbcl0uZGF0YS5ob29rLmluc2VydCh0W3JdKX1mdW5jdGlvbiB5KGUsdCxu
KXt0LmVsbT1lO3ZhciByPXQudGFnLGk9dC5kYXRhLGE9dC5jaGlsZHJlbjtpZih2dChpKSYmKHZ0
KF89aS5ob29rKSYmdnQoXz1fLmluaXQpJiZfKHQsITApLHZ0KF89dC5jaGlsZCkpKXJldHVybiB1
KHQsbiksITA7aWYodnQocikpe2lmKHZ0KGEpKXt2YXIgcz0kLmNoaWxkTm9kZXMoZSk7aWYocy5s
ZW5ndGgpe3ZhciBsPSEwO2lmKHMubGVuZ3RoIT09YS5sZW5ndGgpbD0hMTtlbHNlIGZvcih2YXIg
Zj0wO2Y8YS5sZW5ndGg7ZisrKWlmKCF5KHNbZl0sYVtmXSxuKSl7bD0hMTticmVha31pZighbCly
ZXR1cm4hMX1lbHNlIG8odCxhLG4pfXZ0KGkpJiZjKHQsbil9cmV0dXJuITB9dmFyIF8sYix3PXt9
LHg9ZS5tb2R1bGVzLCQ9ZS5ub2RlT3BzO2ZvcihfPTA7Xzxjby5sZW5ndGg7KytfKWZvcih3W2Nv
W19dXT1bXSxiPTA7Yjx4Lmxlbmd0aDsrK2Ipdm9pZCAwIT09eFtiXVtjb1tfXV0mJndbY29bX11d
LnB1c2goeFtiXVtjb1tfXV0pO3JldHVybiBmdW5jdGlvbihlLG4scixvKXtpZighbilyZXR1cm4g
dm9pZChlJiZkKGUpKTt2YXIgcyxjLHU9ITEsbD1bXTtpZihlKXt2YXIgZj12dChlLm5vZGVUeXBl
KTtpZighZiYmbXQoZSxuKSltKGUsbixsLG8pO2Vsc2V7aWYoZil7aWYoMT09PWUubm9kZVR5cGUm
JmUuaGFzQXR0cmlidXRlKCJzZXJ2ZXItcmVuZGVyZWQiKSYmKGUucmVtb3ZlQXR0cmlidXRlKCJz
ZXJ2ZXItcmVuZGVyZWQiKSxyPSEwKSxyJiZ5KGUsbixsKSlyZXR1cm4gZyhuLGwsITApLGU7ZT10
KGUpfWlmKHM9ZS5lbG0sYz0kLnBhcmVudE5vZGUocyksaShuLGwpLG4ucGFyZW50KXtmb3IodmFy
IGg9bi5wYXJlbnQ7aDspaC5lbG09bi5lbG0saD1oLnBhcmVudDtpZihhKG4pKWZvcih2YXIgdj0w
O3Y8dy5jcmVhdGUubGVuZ3RoOysrdil3LmNyZWF0ZVt2XShzbyxuLnBhcmVudCl9bnVsbCE9PWM/
KCQuaW5zZXJ0QmVmb3JlKGMsbi5lbG0sJC5uZXh0U2libGluZyhzKSkscChjLFtlXSwwLDApKTp2
dChlLnRhZykmJmQoZSl9fWVsc2UgdT0hMCxpKG4sbCk7cmV0dXJuIGcobixsLHUpLG4uZWxtfX1m
dW5jdGlvbiBfdChlLHQpe2lmKGUuZGF0YS5kaXJlY3RpdmVzfHx0LmRhdGEuZGlyZWN0aXZlcyl7
dmFyIG4scixpLG89ZT09PXNvLGE9YnQoZS5kYXRhLmRpcmVjdGl2ZXMsZS5jb250ZXh0KSxzPWJ0
KHQuZGF0YS5kaXJlY3RpdmVzLHQuY29udGV4dCksYz1bXSx1PVtdO2ZvcihuIGluIHMpcj1hW25d
LGk9c1tuXSxyPyhpLm9sZFZhbHVlPXIudmFsdWUseHQoaSwidXBkYXRlIix0LGUpLGkuZGVmJiZp
LmRlZi5jb21wb25lbnRVcGRhdGVkJiZ1LnB1c2goaSkpOih4dChpLCJiaW5kIix0LGUpLGkuZGVm
JiZpLmRlZi5pbnNlcnRlZCYmYy5wdXNoKGkpKTtpZihjLmxlbmd0aCl7dmFyIGw9ZnVuY3Rpb24o
KXtjLmZvckVhY2goZnVuY3Rpb24obil7eHQobiwiaW5zZXJ0ZWQiLHQsZSl9KX07bz9hZSh0LmRh
dGEuaG9va3x8KHQuZGF0YS5ob29rPXt9KSwiaW5zZXJ0IixsLCJkaXItaW5zZXJ0Iik6bCgpfWlm
KHUubGVuZ3RoJiZhZSh0LmRhdGEuaG9va3x8KHQuZGF0YS5ob29rPXt9KSwicG9zdHBhdGNoIixm
dW5jdGlvbigpe3UuZm9yRWFjaChmdW5jdGlvbihuKXt4dChuLCJjb21wb25lbnRVcGRhdGVkIix0
LGUpfSl9LCJkaXItcG9zdHBhdGNoIiksIW8pZm9yKG4gaW4gYSlzW25dfHx4dChhW25dLCJ1bmJp
bmQiLGUpfX1mdW5jdGlvbiBidChlLHQpe3ZhciBuPU9iamVjdC5jcmVhdGUobnVsbCk7aWYoIWUp
cmV0dXJuIG47dmFyIHIsaTtmb3Iocj0wO3I8ZS5sZW5ndGg7cisrKWk9ZVtyXSxpLm1vZGlmaWVy
c3x8KGkubW9kaWZpZXJzPWxvKSxuW3d0KGkpXT1pLGkuZGVmPUIodC4kb3B0aW9ucywiZGlyZWN0
aXZlcyIsaS5uYW1lLCEwKTtyZXR1cm4gbn1mdW5jdGlvbiB3dChlKXtyZXR1cm4gZS5yYXdOYW1l
fHxlLm5hbWUrIi4iK09iamVjdC5rZXlzKGUubW9kaWZpZXJzfHx7fSkuam9pbigiLiIpfWZ1bmN0
aW9uIHh0KGUsdCxuLHIpe3ZhciBpPWUuZGVmJiZlLmRlZlt0XTtpJiZpKG4uZWxtLGUsbixyKX1m
dW5jdGlvbiAkdChlLHQpe2lmKGUuZGF0YS5hdHRyc3x8dC5kYXRhLmF0dHJzKXt2YXIgbixyLGks
bz10LmVsbSxhPWUuZGF0YS5hdHRyc3x8e30scz10LmRhdGEuYXR0cnN8fHt9O3MuX19vYl9fJiYo
cz10LmRhdGEuYXR0cnM9Zih7fSxzKSk7Zm9yKG4gaW4gcylyPXNbbl0saT1hW25dLGkhPT1yJiZD
dChvLG4scik7Zm9yKG4gaW4gYSludWxsPT1zW25dJiYoS2kobik/by5yZW1vdmVBdHRyaWJ1dGVO
UyhxaSxXaShuKSk6Vmkobil8fG8ucmVtb3ZlQXR0cmlidXRlKG4pKX19ZnVuY3Rpb24gQ3QoZSx0
LG4pe0ppKHQpP1ppKG4pP2UucmVtb3ZlQXR0cmlidXRlKHQpOmUuc2V0QXR0cmlidXRlKHQsdCk6
VmkodCk/ZS5zZXRBdHRyaWJ1dGUodCxaaShuKXx8ImZhbHNlIj09PW4/ImZhbHNlIjoidHJ1ZSIp
OktpKHQpP1ppKG4pP2UucmVtb3ZlQXR0cmlidXRlTlMocWksV2kodCkpOmUuc2V0QXR0cmlidXRl
TlMocWksdCxuKTpaaShuKT9lLnJlbW92ZUF0dHJpYnV0ZSh0KTplLnNldEF0dHJpYnV0ZSh0LG4p
fWZ1bmN0aW9uIEF0KGUsdCl7dmFyIG49dC5lbG0scj10LmRhdGEsaT1lLmRhdGE7aWYoci5zdGF0
aWNDbGFzc3x8ci5jbGFzc3x8aSYmKGkuc3RhdGljQ2xhc3N8fGkuY2xhc3MpKXt2YXIgbz1xZSh0
KSxhPW4uX3RyYW5zaXRpb25DbGFzc2VzO2EmJihvPVplKG8sR2UoYSkpKSxvIT09bi5fcHJldkNs
YXNzJiYobi5zZXRBdHRyaWJ1dGUoImNsYXNzIixvKSxuLl9wcmV2Q2xhc3M9byl9fWZ1bmN0aW9u
IGt0KGUsdCl7aWYoZS5kYXRhLm9ufHx0LmRhdGEub24pe3ZhciBuPXQuZGF0YS5vbnx8e30scj1l
LmRhdGEub258fHt9LGk9dC5lbG0uX3ZfYWRkfHwodC5lbG0uX3ZfYWRkPWZ1bmN0aW9uKGUsbixy
KXt0LmVsbS5hZGRFdmVudExpc3RlbmVyKGUsbixyKX0pLG89dC5lbG0uX3ZfcmVtb3ZlfHwodC5l
bG0uX3ZfcmVtb3ZlPWZ1bmN0aW9uKGUsbil7dC5lbG0ucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG4p
fSk7c2UobixyLGksbyx0LmNvbnRleHQpfX1mdW5jdGlvbiBPdChlLHQpe2lmKGUuZGF0YS5kb21Q
cm9wc3x8dC5kYXRhLmRvbVByb3BzKXt2YXIgbixyLGk9dC5lbG0sbz1lLmRhdGEuZG9tUHJvcHN8
fHt9LGE9dC5kYXRhLmRvbVByb3BzfHx7fTthLl9fb2JfXyYmKGE9dC5kYXRhLmRvbVByb3BzPWYo
e30sYSkpO2ZvcihuIGluIG8pbnVsbD09YVtuXSYmKGlbbl09IiIpO2ZvcihuIGluIGEpaWYocj1h
W25dLCJ0ZXh0Q29udGVudCIhPT1uJiYiaW5uZXJIVE1MIiE9PW58fCh0LmNoaWxkcmVuJiYodC5j
aGlsZHJlbi5sZW5ndGg9MCksciE9PW9bbl0pKWlmKCJ2YWx1ZSI9PT1uKXtpLl92YWx1ZT1yO3Zh
ciBzPW51bGw9PXI/IiI6U3RyaW5nKHIpO2kudmFsdWU9PT1zfHxpLmNvbXBvc2luZ3x8KGkudmFs
dWU9cyl9ZWxzZSBpW25dPXJ9fWZ1bmN0aW9uIFN0KGUpe3ZhciB0PVR0KGUuc3R5bGUpO3JldHVy
biBlLnN0YXRpY1N0eWxlP2YoZS5zdGF0aWNTdHlsZSx0KTp0fWZ1bmN0aW9uIFR0KGUpe3JldHVy
biBBcnJheS5pc0FycmF5KGUpP2goZSk6InN0cmluZyI9PXR5cGVvZiBlP2dvKGUpOmV9ZnVuY3Rp
b24gRXQoZSx0KXt2YXIgbixyPXt9O2lmKHQpZm9yKHZhciBpPWU7aS5jaGlsZDspaT1pLmNoaWxk
Ll92bm9kZSxpLmRhdGEmJihuPVN0KGkuZGF0YSkpJiZmKHIsbik7KG49U3QoZS5kYXRhKSkmJmYo
cixuKTtmb3IodmFyIG89ZTtvPW8ucGFyZW50OylvLmRhdGEmJihuPVN0KG8uZGF0YSkpJiZmKHIs
bik7cmV0dXJuIHJ9ZnVuY3Rpb24ganQoZSx0KXt2YXIgbj10LmRhdGEscj1lLmRhdGE7aWYobi5z
dGF0aWNTdHlsZXx8bi5zdHlsZXx8ci5zdGF0aWNTdHlsZXx8ci5zdHlsZSl7dmFyIGksbyxhPXQu
ZWxtLHM9ZS5kYXRhLnN0YXRpY1N0eWxlLGM9ZS5kYXRhLnN0eWxlfHx7fSx1PXN8fGMsbD1UdCh0
LmRhdGEuc3R5bGUpfHx7fTt0LmRhdGEuc3R5bGU9bC5fX29iX18/Zih7fSxsKTpsO3ZhciBkPUV0
KHQsITApO2ZvcihvIGluIHUpbnVsbD09ZFtvXSYmX28oYSxvLCIiKTtmb3IobyBpbiBkKWk9ZFtv
XSxpIT09dVtvXSYmX28oYSxvLG51bGw9PWk/IiI6aSl9fWZ1bmN0aW9uIE50KGUsdCl7aWYodCYm
dC50cmltKCkpaWYoZS5jbGFzc0xpc3QpdC5pbmRleE9mKCIgIik+LTE/dC5zcGxpdCgvXHMrLyku
Zm9yRWFjaChmdW5jdGlvbih0KXtyZXR1cm4gZS5jbGFzc0xpc3QuYWRkKHQpfSk6ZS5jbGFzc0xp
c3QuYWRkKHQpO2Vsc2V7dmFyIG49IiAiK2UuZ2V0QXR0cmlidXRlKCJjbGFzcyIpKyIgIjtuLmlu
ZGV4T2YoIiAiK3QrIiAiKTwwJiZlLnNldEF0dHJpYnV0ZSgiY2xhc3MiLChuK3QpLnRyaW0oKSl9
fWZ1bmN0aW9uIEx0KGUsdCl7aWYodCYmdC50cmltKCkpaWYoZS5jbGFzc0xpc3QpdC5pbmRleE9m
KCIgIik+LTE/dC5zcGxpdCgvXHMrLykuZm9yRWFjaChmdW5jdGlvbih0KXtyZXR1cm4gZS5jbGFz
c0xpc3QucmVtb3ZlKHQpfSk6ZS5jbGFzc0xpc3QucmVtb3ZlKHQpO2Vsc2V7Zm9yKHZhciBuPSIg
IitlLmdldEF0dHJpYnV0ZSgiY2xhc3MiKSsiICIscj0iICIrdCsiICI7bi5pbmRleE9mKHIpPj0w
OyluPW4ucmVwbGFjZShyLCIgIik7ZS5zZXRBdHRyaWJ1dGUoImNsYXNzIixuLnRyaW0oKSl9fWZ1
bmN0aW9uIE10KGUpe0VvKGZ1bmN0aW9uKCl7RW8oZSl9KX1mdW5jdGlvbiBQdChlLHQpeyhlLl90
cmFuc2l0aW9uQ2xhc3Nlc3x8KGUuX3RyYW5zaXRpb25DbGFzc2VzPVtdKSkucHVzaCh0KSxOdChl
LHQpfWZ1bmN0aW9uIER0KGUsdCl7ZS5fdHJhbnNpdGlvbkNsYXNzZXMmJm8oZS5fdHJhbnNpdGlv
bkNsYXNzZXMsdCksTHQoZSx0KX1mdW5jdGlvbiBSdChlLHQsbil7dmFyIHI9QnQoZSx0KSxpPXIu
dHlwZSxvPXIudGltZW91dCxhPXIucHJvcENvdW50O2lmKCFpKXJldHVybiBuKCk7dmFyIHM9aT09
PUNvP09vOlRvLGM9MCx1PWZ1bmN0aW9uKCl7ZS5yZW1vdmVFdmVudExpc3RlbmVyKHMsbCksbigp
fSxsPWZ1bmN0aW9uKHQpe3QudGFyZ2V0PT09ZSYmKytjPj1hJiZ1KCl9O3NldFRpbWVvdXQoZnVu
Y3Rpb24oKXtjPGEmJnUoKX0sbysxKSxlLmFkZEV2ZW50TGlzdGVuZXIocyxsKX1mdW5jdGlvbiBC
dChlLHQpe3ZhciBuLHI9d2luZG93LmdldENvbXB1dGVkU3R5bGUoZSksaT1yW2tvKyJEZWxheSJd
LnNwbGl0KCIsICIpLG89cltrbysiRHVyYXRpb24iXS5zcGxpdCgiLCAiKSxhPUl0KGksbykscz1y
W1NvKyJEZWxheSJdLnNwbGl0KCIsICIpLGM9cltTbysiRHVyYXRpb24iXS5zcGxpdCgiLCAiKSx1
PUl0KHMsYyksbD0wLGY9MDt0PT09Q28/YT4wJiYobj1DbyxsPWEsZj1vLmxlbmd0aCk6dD09PUFv
P3U+MCYmKG49QW8sbD11LGY9Yy5sZW5ndGgpOihsPU1hdGgubWF4KGEsdSksbj1sPjA/YT51P0Nv
OkFvOm51bGwsZj1uP249PT1Dbz9vLmxlbmd0aDpjLmxlbmd0aDowKTt2YXIgZD1uPT09Q28mJmpv
LnRlc3QocltrbysiUHJvcGVydHkiXSk7cmV0dXJue3R5cGU6bix0aW1lb3V0OmwscHJvcENvdW50
OmYsaGFzVHJhbnNmb3JtOmR9fWZ1bmN0aW9uIEl0KGUsdCl7Zm9yKDtlLmxlbmd0aDx0Lmxlbmd0
aDspZT1lLmNvbmNhdChlKTtyZXR1cm4gTWF0aC5tYXguYXBwbHkobnVsbCx0Lm1hcChmdW5jdGlv
bih0LG4pe3JldHVybiBIdCh0KStIdChlW25dKX0pKX1mdW5jdGlvbiBIdChlKXtyZXR1cm4gMWUz
Kk51bWJlcihlLnNsaWNlKDAsLTEpKX1mdW5jdGlvbiBGdChlKXt2YXIgdD1lLmVsbTt0Ll9sZWF2
ZUNiJiYodC5fbGVhdmVDYi5jYW5jZWxsZWQ9ITAsdC5fbGVhdmVDYigpKTt2YXIgbj16dChlLmRh
dGEudHJhbnNpdGlvbik7aWYobiYmIXQuX2VudGVyQ2ImJjE9PT10Lm5vZGVUeXBlKXt2YXIgcj1u
LmNzcyxpPW4udHlwZSxvPW4uZW50ZXJDbGFzcyxhPW4uZW50ZXJBY3RpdmVDbGFzcyxzPW4uYXBw
ZWFyQ2xhc3MsYz1uLmFwcGVhckFjdGl2ZUNsYXNzLHU9bi5iZWZvcmVFbnRlcixsPW4uZW50ZXIs
Zj1uLmFmdGVyRW50ZXIsZD1uLmVudGVyQ2FuY2VsbGVkLHA9bi5iZWZvcmVBcHBlYXIsaD1uLmFw
cGVhcix2PW4uYWZ0ZXJBcHBlYXIsbT1uLmFwcGVhckNhbmNlbGxlZCxnPVBpLiR2bm9kZSx5PWcm
JmcucGFyZW50P2cucGFyZW50LmNvbnRleHQ6UGksXz0heS5faXNNb3VudGVkfHwhZS5pc1Jvb3RJ
bnNlcnQ7aWYoIV98fGh8fCIiPT09aCl7dmFyIGI9Xz9zOm8sdz1fP2M6YSx4PV8/cHx8dTp1LCQ9
XyYmImZ1bmN0aW9uIj09dHlwZW9mIGg/aDpsLEM9Xz92fHxmOmYsQT1fP218fGQ6ZCxrPXIhPT0h
MSYmIXJpLE89JCYmKCQuX2xlbmd0aHx8JC5sZW5ndGgpPjEsUz10Ll9lbnRlckNiPVZ0KGZ1bmN0
aW9uKCl7ayYmRHQodCx3KSxTLmNhbmNlbGxlZD8oayYmRHQodCxiKSxBJiZBKHQpKTpDJiZDKHQp
LHQuX2VudGVyQ2I9bnVsbH0pO2UuZGF0YS5zaG93fHxhZShlLmRhdGEuaG9va3x8KGUuZGF0YS5o
b29rPXt9KSwiaW5zZXJ0IixmdW5jdGlvbigpe3ZhciBuPXQucGFyZW50Tm9kZSxyPW4mJm4uX3Bl
bmRpbmcmJm4uX3BlbmRpbmdbZS5rZXldO3ImJnIudGFnPT09ZS50YWcmJnIuZWxtLl9sZWF2ZUNi
JiZyLmVsbS5fbGVhdmVDYigpLCQmJiQodCxTKX0sInRyYW5zaXRpb24taW5zZXJ0IikseCYmeCh0
KSxrJiYoUHQodCxiKSxQdCh0LHcpLE10KGZ1bmN0aW9uKCl7RHQodCxiKSxTLmNhbmNlbGxlZHx8
T3x8UnQodCxpLFMpfSkpLGUuZGF0YS5zaG93JiYkJiYkKHQsUyksa3x8T3x8UygpfX19ZnVuY3Rp
b24gVXQoZSx0KXtmdW5jdGlvbiBuKCl7bS5jYW5jZWxsZWR8fChlLmRhdGEuc2hvd3x8KChyLnBh
cmVudE5vZGUuX3BlbmRpbmd8fChyLnBhcmVudE5vZGUuX3BlbmRpbmc9e30pKVtlLmtleV09ZSks
dSYmdShyKSxoJiYoUHQocixzKSxQdChyLGMpLE10KGZ1bmN0aW9uKCl7RHQocixzKSxtLmNhbmNl
bGxlZHx8dnx8UnQocixhLG0pfSkpLGwmJmwocixtKSxofHx2fHxtKCkpfXZhciByPWUuZWxtO3Iu
X2VudGVyQ2ImJihyLl9lbnRlckNiLmNhbmNlbGxlZD0hMCxyLl9lbnRlckNiKCkpO3ZhciBpPXp0
KGUuZGF0YS50cmFuc2l0aW9uKTtpZighaSlyZXR1cm4gdCgpO2lmKCFyLl9sZWF2ZUNiJiYxPT09
ci5ub2RlVHlwZSl7dmFyIG89aS5jc3MsYT1pLnR5cGUscz1pLmxlYXZlQ2xhc3MsYz1pLmxlYXZl
QWN0aXZlQ2xhc3MsdT1pLmJlZm9yZUxlYXZlLGw9aS5sZWF2ZSxmPWkuYWZ0ZXJMZWF2ZSxkPWku
bGVhdmVDYW5jZWxsZWQscD1pLmRlbGF5TGVhdmUsaD1vIT09ITEmJiFyaSx2PWwmJihsLl9sZW5n
dGh8fGwubGVuZ3RoKT4xLG09ci5fbGVhdmVDYj1WdChmdW5jdGlvbigpe3IucGFyZW50Tm9kZSYm
ci5wYXJlbnROb2RlLl9wZW5kaW5nJiYoci5wYXJlbnROb2RlLl9wZW5kaW5nW2Uua2V5XT1udWxs
KSxoJiZEdChyLGMpLG0uY2FuY2VsbGVkPyhoJiZEdChyLHMpLGQmJmQocikpOih0KCksZiYmZihy
KSksci5fbGVhdmVDYj1udWxsfSk7cD9wKG4pOm4oKX19ZnVuY3Rpb24genQoZSl7aWYoZSl7aWYo
Im9iamVjdCI9PXR5cGVvZiBlKXt2YXIgdD17fTtyZXR1cm4gZS5jc3MhPT0hMSYmZih0LE5vKGUu
bmFtZXx8InYiKSksZih0LGUpLHR9cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP05vKGUpOnZvaWQg
MH19ZnVuY3Rpb24gVnQoZSl7dmFyIHQ9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7dHx8KHQ9ITAsZSgp
KX19ZnVuY3Rpb24gSnQoZSx0LG4pe3ZhciByPXQudmFsdWUsaT1lLm11bHRpcGxlO2lmKCFpfHxB
cnJheS5pc0FycmF5KHIpKXsKLWZvcih2YXIgbyxhLHM9MCxjPWUub3B0aW9ucy5sZW5ndGg7czxj
O3MrKylpZihhPWUub3B0aW9uc1tzXSxpKW89eShyLEt0KGEpKT4tMSxhLnNlbGVjdGVkIT09byYm
KGEuc2VsZWN0ZWQ9byk7ZWxzZSBpZihnKEt0KGEpLHIpKXJldHVybiB2b2lkKGUuc2VsZWN0ZWRJ
bmRleCE9PXMmJihlLnNlbGVjdGVkSW5kZXg9cykpO2l8fChlLnNlbGVjdGVkSW5kZXg9LTEpfX1m
dW5jdGlvbiBxdChlLHQpe2Zvcih2YXIgbj0wLHI9dC5sZW5ndGg7bjxyO24rKylpZihnKEt0KHRb
bl0pLGUpKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIEt0KGUpe3JldHVybiJfdmFsdWUiaW4g
ZT9lLl92YWx1ZTplLnZhbHVlfWZ1bmN0aW9uIFd0KGUpe2UudGFyZ2V0LmNvbXBvc2luZz0hMH1m
dW5jdGlvbiBadChlKXtlLnRhcmdldC5jb21wb3Npbmc9ITEsR3QoZS50YXJnZXQsImlucHV0Iil9
ZnVuY3Rpb24gR3QoZSx0KXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFdmVudCgiSFRNTEV2ZW50cyIp
O24uaW5pdEV2ZW50KHQsITAsITApLGUuZGlzcGF0Y2hFdmVudChuKX1mdW5jdGlvbiBZdChlKXty
ZXR1cm4hZS5jaGlsZHx8ZS5kYXRhJiZlLmRhdGEudHJhbnNpdGlvbj9lOll0KGUuY2hpbGQuX3Zu
b2RlKX1mdW5jdGlvbiBRdChlKXt2YXIgdD1lJiZlLmNvbXBvbmVudE9wdGlvbnM7cmV0dXJuIHQm
JnQuQ3Rvci5vcHRpb25zLmFic3RyYWN0P1F0KHBlKHQuY2hpbGRyZW4pKTplfWZ1bmN0aW9uIFh0
KGUpe3ZhciB0PXt9LG49ZS4kb3B0aW9ucztmb3IodmFyIHIgaW4gbi5wcm9wc0RhdGEpdFtyXT1l
W3JdO3ZhciBpPW4uX3BhcmVudExpc3RlbmVycztmb3IodmFyIG8gaW4gaSl0W0pyKG8pXT1pW29d
LmZuO3JldHVybiB0fWZ1bmN0aW9uIGVuKGUsdCl7cmV0dXJuL1xkLWtlZXAtYWxpdmUkLy50ZXN0
KHQudGFnKT9lKCJrZWVwLWFsaXZlIik6bnVsbH1mdW5jdGlvbiB0bihlKXtmb3IoO2U9ZS5wYXJl
bnQ7KWlmKGUuZGF0YS50cmFuc2l0aW9uKXJldHVybiEwfWZ1bmN0aW9uIG5uKGUpe2UuZWxtLl9t
b3ZlQ2ImJmUuZWxtLl9tb3ZlQ2IoKSxlLmVsbS5fZW50ZXJDYiYmZS5lbG0uX2VudGVyQ2IoKX1m
dW5jdGlvbiBybihlKXtlLmRhdGEubmV3UG9zPWUuZWxtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgp
fWZ1bmN0aW9uIG9uKGUpe3ZhciB0PWUuZGF0YS5wb3Msbj1lLmRhdGEubmV3UG9zLHI9dC5sZWZ0
LW4ubGVmdCxpPXQudG9wLW4udG9wO2lmKHJ8fGkpe2UuZGF0YS5tb3ZlZD0hMDt2YXIgbz1lLmVs
bS5zdHlsZTtvLnRyYW5zZm9ybT1vLldlYmtpdFRyYW5zZm9ybT0idHJhbnNsYXRlKCIrcisicHgs
IitpKyJweCkiLG8udHJhbnNpdGlvbkR1cmF0aW9uPSIwcyJ9fWZ1bmN0aW9uIGFuKGUsdCl7dmFy
IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIG4uaW5uZXJIVE1MPSc8ZGl2
IGE9IicrZSsnIj4nLG4uaW5uZXJIVE1MLmluZGV4T2YodCk+MH1mdW5jdGlvbiBzbihlKXtyZXR1
cm4gSm89Sm98fGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLEpvLmlubmVySFRNTD1lLEpv
LnRleHRDb250ZW50fWZ1bmN0aW9uIGNuKGUsdCl7cmV0dXJuIHQmJihlPWUucmVwbGFjZShEYSwi
XG4iKSksZS5yZXBsYWNlKE1hLCI8IikucmVwbGFjZShQYSwiPiIpLnJlcGxhY2UoUmEsIiYiKS5y
ZXBsYWNlKEJhLCciJyl9ZnVuY3Rpb24gdW4oZSx0KXtmdW5jdGlvbiBuKHQpe2YrPXQsZT1lLnN1
YnN0cmluZyh0KX1mdW5jdGlvbiByKCl7dmFyIHQ9ZS5tYXRjaChYbyk7aWYodCl7dmFyIHI9e3Rh
Z05hbWU6dFsxXSxhdHRyczpbXSxzdGFydDpmfTtuKHRbMF0ubGVuZ3RoKTtmb3IodmFyIGksbzsh
KGk9ZS5tYXRjaChlYSkpJiYobz1lLm1hdGNoKEdvKSk7KW4ob1swXS5sZW5ndGgpLHIuYXR0cnMu
cHVzaChvKTtpZihpKXJldHVybiByLnVuYXJ5U2xhc2g9aVsxXSxuKGlbMF0ubGVuZ3RoKSxyLmVu
ZD1mLHJ9fWZ1bmN0aW9uIGkoZSl7dmFyIG49ZS50YWdOYW1lLHI9ZS51bmFyeVNsYXNoO3UmJigi
cCI9PT1zJiZlbyhuKSYmbygiIixzKSxYaShuKSYmcz09PW4mJm8oIiIsbikpO2Zvcih2YXIgaT1s
KG4pfHwiaHRtbCI9PT1uJiYiaGVhZCI9PT1zfHwhIXIsYT1lLmF0dHJzLmxlbmd0aCxmPW5ldyBB
cnJheShhKSxkPTA7ZDxhO2QrKyl7dmFyIHA9ZS5hdHRyc1tkXTtvYSYmcFswXS5pbmRleE9mKCci
IicpPT09LTEmJigiIj09PXBbM10mJmRlbGV0ZSBwWzNdLCIiPT09cFs0XSYmZGVsZXRlIHBbNF0s
IiI9PT1wWzVdJiZkZWxldGUgcFs1XSk7dmFyIGg9cFszXXx8cFs0XXx8cFs1XXx8IiI7ZltkXT17
bmFtZTpwWzFdLHZhbHVlOmNuKGgsdC5zaG91bGREZWNvZGVOZXdsaW5lcyl9fWl8fChjLnB1c2go
e3RhZzpuLGF0dHJzOmZ9KSxzPW4scj0iIiksdC5zdGFydCYmdC5zdGFydChuLGYsaSxlLnN0YXJ0
LGUuZW5kKX1mdW5jdGlvbiBvKGUsbixyLGkpe3ZhciBvO2lmKG51bGw9PXImJihyPWYpLG51bGw9
PWkmJihpPWYpLG4pe3ZhciBhPW4udG9Mb3dlckNhc2UoKTtmb3Iobz1jLmxlbmd0aC0xO28+PTAm
JmNbb10udGFnLnRvTG93ZXJDYXNlKCkhPT1hO28tLSk7fWVsc2Ugbz0wO2lmKG8+PTApe2Zvcih2
YXIgdT1jLmxlbmd0aC0xO3U+PW87dS0tKXQuZW5kJiZ0LmVuZChjW3VdLnRhZyxyLGkpO2MubGVu
Z3RoPW8scz1vJiZjW28tMV0udGFnfWVsc2UiYnIiPT09bi50b0xvd2VyQ2FzZSgpP3Quc3RhcnQm
JnQuc3RhcnQobixbXSwhMCxyLGkpOiJwIj09PW4udG9Mb3dlckNhc2UoKSYmKHQuc3RhcnQmJnQu
c3RhcnQobixbXSwhMSxyLGkpLHQuZW5kJiZ0LmVuZChuLHIsaSkpfWZvcih2YXIgYSxzLGM9W10s
dT10LmV4cGVjdEhUTUwsbD10LmlzVW5hcnlUYWd8fFlyLGY9MDtlOyl7aWYoYT1lLHMmJk5hKHMs
dC5zZmMsYykpe3ZhciBkPXMudG9Mb3dlckNhc2UoKSxwPUxhW2RdfHwoTGFbZF09bmV3IFJlZ0V4
cCgiKFtcXHNcXFNdKj8pKDwvIitkKyJbXj5dKj4pIiwiaSIpKSxoPTAsdj1lLnJlcGxhY2UocCxm
dW5jdGlvbihlLG4scil7cmV0dXJuIGg9ci5sZW5ndGgsInNjcmlwdCIhPT1kJiYic3R5bGUiIT09
ZCYmIm5vc2NyaXB0IiE9PWQmJihuPW4ucmVwbGFjZSgvPCEtLShbXHNcU10qPyktLT4vZywiJDEi
KS5yZXBsYWNlKC88IVxbQ0RBVEFcWyhbXHNcU10qPyldXT4vZywiJDEiKSksdC5jaGFycyYmdC5j
aGFycyhuKSwiIn0pO2YrPWUubGVuZ3RoLXYubGVuZ3RoLGU9dixvKCI8LyIrZCsiPiIsZCxmLWgs
Zil9ZWxzZXt2YXIgbT1lLmluZGV4T2YoIjwiKTtpZigwPT09bSl7aWYocmEudGVzdChlKSl7dmFy
IGc9ZS5pbmRleE9mKCItLT4iKTtpZihnPj0wKXtuKGcrMyk7Y29udGludWV9fWlmKGlhLnRlc3Qo
ZSkpe3ZhciB5PWUuaW5kZXhPZigiXT4iKTtpZih5Pj0wKXtuKHkrMik7Y29udGludWV9fXZhciBf
PWUubWF0Y2gobmEpO2lmKF8pe24oX1swXS5sZW5ndGgpO2NvbnRpbnVlfXZhciBiPWUubWF0Y2go
dGEpO2lmKGIpe3ZhciB3PWY7bihiWzBdLmxlbmd0aCksbyhiWzBdLGJbMV0sdyxmKTtjb250aW51
ZX12YXIgeD1yKCk7aWYoeCl7aSh4KTtjb250aW51ZX19dmFyICQ9dm9pZCAwLEM9dm9pZCAwLEE9
dm9pZCAwO2lmKG0+MCl7Zm9yKEM9ZS5zbGljZShtKTshKHRhLnRlc3QoQyl8fFhvLnRlc3QoQyl8
fHJhLnRlc3QoQyl8fGlhLnRlc3QoQyl8fChBPUMuaW5kZXhPZigiPCIsMSksQTwwKSk7KW0rPUEs
Qz1lLnNsaWNlKG0pOyQ9ZS5zdWJzdHJpbmcoMCxtKSxuKG0pfW08MCYmKCQ9ZSxlPSIiKSx0LmNo
YXJzJiYkJiZ0LmNoYXJzKCQpfWlmKGU9PT1hJiZ0LmNoYXJzKXt0LmNoYXJzKGUpO2JyZWFrfX1v
KCl9ZnVuY3Rpb24gbG4oZSl7ZnVuY3Rpb24gdCgpeyhhfHwoYT1bXSkpLnB1c2goZS5zbGljZSho
LGkpLnRyaW0oKSksaD1pKzF9dmFyIG4scixpLG8sYSxzPSExLGM9ITEsdT0hMSxsPSExLGY9MCxk
PTAscD0wLGg9MDtmb3IoaT0wO2k8ZS5sZW5ndGg7aSsrKWlmKHI9bixuPWUuY2hhckNvZGVBdChp
KSxzKTM5PT09biYmOTIhPT1yJiYocz0hMSk7ZWxzZSBpZihjKTM0PT09biYmOTIhPT1yJiYoYz0h
MSk7ZWxzZSBpZih1KTk2PT09biYmOTIhPT1yJiYodT0hMSk7ZWxzZSBpZihsKTQ3PT09biYmOTIh
PT1yJiYobD0hMSk7ZWxzZSBpZigxMjQhPT1ufHwxMjQ9PT1lLmNoYXJDb2RlQXQoaSsxKXx8MTI0
PT09ZS5jaGFyQ29kZUF0KGktMSl8fGZ8fGR8fHApc3dpdGNoKG4pe2Nhc2UgMzQ6Yz0hMDticmVh
aztjYXNlIDM5OnM9ITA7YnJlYWs7Y2FzZSA5Njp1PSEwO2JyZWFrO2Nhc2UgNDc6bD0hMDticmVh
aztjYXNlIDQwOnArKzticmVhaztjYXNlIDQxOnAtLTticmVhaztjYXNlIDkxOmQrKzticmVhaztj
YXNlIDkzOmQtLTticmVhaztjYXNlIDEyMzpmKys7YnJlYWs7Y2FzZSAxMjU6Zi0tfWVsc2Ugdm9p
ZCAwPT09bz8oaD1pKzEsbz1lLnNsaWNlKDAsaSkudHJpbSgpKTp0KCk7aWYodm9pZCAwPT09bz9v
PWUuc2xpY2UoMCxpKS50cmltKCk6MCE9PWgmJnQoKSxhKWZvcihpPTA7aTxhLmxlbmd0aDtpKysp
bz1mbihvLGFbaV0pO3JldHVybiBvfWZ1bmN0aW9uIGZuKGUsdCl7dmFyIG49dC5pbmRleE9mKCIo
Iik7aWYobjwwKXJldHVybidfZigiJyt0KyciKSgnK2UrIikiO3ZhciByPXQuc2xpY2UoMCxuKSxp
PXQuc2xpY2UobisxKTtyZXR1cm4nX2YoIicrcisnIikoJytlKyIsIitpfWZ1bmN0aW9uIGRuKGUs
dCl7dmFyIG49dD9GYSh0KTpJYTtpZihuLnRlc3QoZSkpe2Zvcih2YXIgcixpLG89W10sYT1uLmxh
c3RJbmRleD0wO3I9bi5leGVjKGUpOyl7aT1yLmluZGV4LGk+YSYmby5wdXNoKEpTT04uc3RyaW5n
aWZ5KGUuc2xpY2UoYSxpKSkpO3ZhciBzPWxuKHJbMV0udHJpbSgpKTtvLnB1c2goIl9zKCIrcysi
KSIpLGE9aStyWzBdLmxlbmd0aH1yZXR1cm4gYTxlLmxlbmd0aCYmby5wdXNoKEpTT04uc3RyaW5n
aWZ5KGUuc2xpY2UoYSkpKSxvLmpvaW4oIisiKX19ZnVuY3Rpb24gcG4oZSl7Y29uc29sZS5lcnJv
cigiW1Z1ZSBwYXJzZXJdOiAiK2UpfWZ1bmN0aW9uIGhuKGUsdCl7cmV0dXJuIGU/ZS5tYXAoZnVu
Y3Rpb24oZSl7cmV0dXJuIGVbdF19KS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIGV9KTpbXX1m
dW5jdGlvbiB2bihlLHQsbil7KGUucHJvcHN8fChlLnByb3BzPVtdKSkucHVzaCh7bmFtZTp0LHZh
bHVlOm59KX1mdW5jdGlvbiBtbihlLHQsbil7KGUuYXR0cnN8fChlLmF0dHJzPVtdKSkucHVzaCh7
bmFtZTp0LHZhbHVlOm59KX1mdW5jdGlvbiBnbihlLHQsbixyLGksbyl7KGUuZGlyZWN0aXZlc3x8
KGUuZGlyZWN0aXZlcz1bXSkpLnB1c2goe25hbWU6dCxyYXdOYW1lOm4sdmFsdWU6cixhcmc6aSxt
b2RpZmllcnM6b30pfWZ1bmN0aW9uIHluKGUsdCxuLHIsaSl7ciYmci5jYXB0dXJlJiYoZGVsZXRl
IHIuY2FwdHVyZSx0PSIhIit0KTt2YXIgbztyJiZyLm5hdGl2ZT8oZGVsZXRlIHIubmF0aXZlLG89
ZS5uYXRpdmVFdmVudHN8fChlLm5hdGl2ZUV2ZW50cz17fSkpOm89ZS5ldmVudHN8fChlLmV2ZW50
cz17fSk7dmFyIGE9e3ZhbHVlOm4sbW9kaWZpZXJzOnJ9LHM9b1t0XTtBcnJheS5pc0FycmF5KHMp
P2k/cy51bnNoaWZ0KGEpOnMucHVzaChhKTpzP29bdF09aT9bYSxzXTpbcyxhXTpvW3RdPWF9ZnVu
Y3Rpb24gX24oZSx0LG4pe3ZhciByPWJuKGUsIjoiK3QpfHxibihlLCJ2LWJpbmQ6Iit0KTtpZihu
dWxsIT1yKXJldHVybiBsbihyKTtpZihuIT09ITEpe3ZhciBpPWJuKGUsdCk7aWYobnVsbCE9aSly
ZXR1cm4gSlNPTi5zdHJpbmdpZnkoaSl9fWZ1bmN0aW9uIGJuKGUsdCl7dmFyIG47aWYobnVsbCE9
KG49ZS5hdHRyc01hcFt0XSkpZm9yKHZhciByPWUuYXR0cnNMaXN0LGk9MCxvPXIubGVuZ3RoO2k8
bztpKyspaWYocltpXS5uYW1lPT09dCl7ci5zcGxpY2UoaSwxKTticmVha31yZXR1cm4gbn1mdW5j
dGlvbiB3bihlKXtpZihzYT1lLGFhPXNhLmxlbmd0aCx1YT1sYT1mYT0wLGUuaW5kZXhPZigiWyIp
PDB8fGUubGFzdEluZGV4T2YoIl0iKTxhYS0xKXJldHVybntleHA6ZSxpZHg6bnVsbH07Zm9yKDsh
JG4oKTspY2E9eG4oKSxDbihjYSk/a24oY2EpOjkxPT09Y2EmJkFuKGNhKTtyZXR1cm57ZXhwOmUu
c3Vic3RyaW5nKDAsbGEpLGlkeDplLnN1YnN0cmluZyhsYSsxLGZhKX19ZnVuY3Rpb24geG4oKXty
ZXR1cm4gc2EuY2hhckNvZGVBdCgrK3VhKX1mdW5jdGlvbiAkbigpe3JldHVybiB1YT49YWF9ZnVu
Y3Rpb24gQ24oZSl7cmV0dXJuIDM0PT09ZXx8Mzk9PT1lfWZ1bmN0aW9uIEFuKGUpe3ZhciB0PTE7
Zm9yKGxhPXVhOyEkbigpOylpZihlPXhuKCksQ24oZSkpa24oZSk7ZWxzZSBpZig5MT09PWUmJnQr
Kyw5Mz09PWUmJnQtLSwwPT09dCl7ZmE9dWE7YnJlYWt9fWZ1bmN0aW9uIGtuKGUpe2Zvcih2YXIg
dD1lOyEkbigpJiYoZT14bigpLGUhPT10KTspO31mdW5jdGlvbiBPbihlLHQpe2RhPXQud2Fybnx8
cG4scGE9dC5nZXRUYWdOYW1lc3BhY2V8fFlyLGhhPXQubXVzdFVzZVByb3B8fFlyLHZhPXQuaXNQ
cmVUYWd8fFlyLG1hPWhuKHQubW9kdWxlcywicHJlVHJhbnNmb3JtTm9kZSIpLGdhPWhuKHQubW9k
dWxlcywidHJhbnNmb3JtTm9kZSIpLHlhPWhuKHQubW9kdWxlcywicG9zdFRyYW5zZm9ybU5vZGUi
KSxfYT10LmRlbGltaXRlcnM7dmFyIG4scixpPVtdLG89dC5wcmVzZXJ2ZVdoaXRlc3BhY2UhPT0h
MSxhPSExLHM9ITE7cmV0dXJuIHVuKGUse2V4cGVjdEhUTUw6dC5leHBlY3RIVE1MLGlzVW5hcnlU
YWc6dC5pc1VuYXJ5VGFnLHNob3VsZERlY29kZU5ld2xpbmVzOnQuc2hvdWxkRGVjb2RlTmV3bGlu
ZXMsc3RhcnQ6ZnVuY3Rpb24oZSxvLGMpe2Z1bmN0aW9uIHUoZSl7fXZhciBsPXImJnIubnN8fHBh
KGUpO25pJiYic3ZnIj09PWwmJihvPUpuKG8pKTt2YXIgZj17dHlwZToxLHRhZzplLGF0dHJzTGlz
dDpvLGF0dHJzTWFwOlVuKG8pLHBhcmVudDpyLGNoaWxkcmVuOltdfTtsJiYoZi5ucz1sKSxWbihm
KSYmIXNpKCkmJihmLmZvcmJpZGRlbj0hMCk7Zm9yKHZhciBkPTA7ZDxtYS5sZW5ndGg7ZCsrKW1h
W2RdKGYsdCk7aWYoYXx8KFNuKGYpLGYucHJlJiYoYT0hMCkpLHZhKGYudGFnKSYmKHM9ITApLGEp
VG4oZik7ZWxzZXtObihmKSxMbihmKSxEbihmKSxFbihmKSxmLnBsYWluPSFmLmtleSYmIW8ubGVu
Z3RoLGpuKGYpLFJuKGYpLEJuKGYpO2Zvcih2YXIgcD0wO3A8Z2EubGVuZ3RoO3ArKylnYVtwXShm
LHQpO0luKGYpfWlmKG4/aS5sZW5ndGh8fG4uaWYmJihmLmVsc2VpZnx8Zi5lbHNlKSYmKHUoZiks
UG4obix7ZXhwOmYuZWxzZWlmLGJsb2NrOmZ9KSk6KG49Zix1KG4pKSxyJiYhZi5mb3JiaWRkZW4p
aWYoZi5lbHNlaWZ8fGYuZWxzZSlNbihmLHIpO2Vsc2UgaWYoZi5zbG90U2NvcGUpe3IucGxhaW49
ITE7dmFyIGg9Zi5zbG90VGFyZ2V0fHwiZGVmYXVsdCI7KHIuc2NvcGVkU2xvdHN8fChyLnNjb3Bl
ZFNsb3RzPXt9KSlbaF09Zn1lbHNlIHIuY2hpbGRyZW4ucHVzaChmKSxmLnBhcmVudD1yO2N8fChy
PWYsaS5wdXNoKGYpKTtmb3IodmFyIHY9MDt2PHlhLmxlbmd0aDt2KyspeWFbdl0oZix0KX0sZW5k
OmZ1bmN0aW9uKCl7dmFyIGU9aVtpLmxlbmd0aC0xXSx0PWUuY2hpbGRyZW5bZS5jaGlsZHJlbi5s
ZW5ndGgtMV07dCYmMz09PXQudHlwZSYmIiAiPT09dC50ZXh0JiZlLmNoaWxkcmVuLnBvcCgpLGku
bGVuZ3RoLT0xLHI9aVtpLmxlbmd0aC0xXSxlLnByZSYmKGE9ITEpLHZhKGUudGFnKSYmKHM9ITEp
fSxjaGFyczpmdW5jdGlvbihlKXtpZihyJiYoIW5pfHwidGV4dGFyZWEiIT09ci50YWd8fHIuYXR0
cnNNYXAucGxhY2Vob2xkZXIhPT1lKSYmKGU9c3x8ZS50cmltKCk/WmEoZSk6byYmci5jaGlsZHJl
bi5sZW5ndGg/IiAiOiIiKSl7dmFyIHQ7IWEmJiIgIiE9PWUmJih0PWRuKGUsX2EpKT9yLmNoaWxk
cmVuLnB1c2goe3R5cGU6MixleHByZXNzaW9uOnQsdGV4dDplfSk6ci5jaGlsZHJlbi5wdXNoKHt0
eXBlOjMsdGV4dDplfSl9fX0pLG59ZnVuY3Rpb24gU24oZSl7bnVsbCE9Ym4oZSwidi1wcmUiKSYm
KGUucHJlPSEwKX1mdW5jdGlvbiBUbihlKXt2YXIgdD1lLmF0dHJzTGlzdC5sZW5ndGg7aWYodClm
b3IodmFyIG49ZS5hdHRycz1uZXcgQXJyYXkodCkscj0wO3I8dDtyKyspbltyXT17bmFtZTplLmF0
dHJzTGlzdFtyXS5uYW1lLHZhbHVlOkpTT04uc3RyaW5naWZ5KGUuYXR0cnNMaXN0W3JdLnZhbHVl
KX07ZWxzZSBlLnByZXx8KGUucGxhaW49ITApfWZ1bmN0aW9uIEVuKGUpe3ZhciB0PV9uKGUsImtl
eSIpO3QmJihlLmtleT10KX1mdW5jdGlvbiBqbihlKXt2YXIgdD1fbihlLCJyZWYiKTt0JiYoZS5y
ZWY9dCxlLnJlZkluRm9yPUhuKGUpKX1mdW5jdGlvbiBObihlKXt2YXIgdDtpZih0PWJuKGUsInYt
Zm9yIikpe3ZhciBuPXQubWF0Y2goemEpO2lmKCFuKXJldHVybjtlLmZvcj1uWzJdLnRyaW0oKTt2
YXIgcj1uWzFdLnRyaW0oKSxpPXIubWF0Y2goVmEpO2k/KGUuYWxpYXM9aVsxXS50cmltKCksZS5p
dGVyYXRvcjE9aVsyXS50cmltKCksaVszXSYmKGUuaXRlcmF0b3IyPWlbM10udHJpbSgpKSk6ZS5h
bGlhcz1yfX1mdW5jdGlvbiBMbihlKXt2YXIgdD1ibihlLCJ2LWlmIik7aWYodCllLmlmPXQsUG4o
ZSx7ZXhwOnQsYmxvY2s6ZX0pO2Vsc2V7bnVsbCE9Ym4oZSwidi1lbHNlIikmJihlLmVsc2U9ITAp
O3ZhciBuPWJuKGUsInYtZWxzZS1pZiIpO24mJihlLmVsc2VpZj1uKX19ZnVuY3Rpb24gTW4oZSx0
KXt2YXIgbj16bih0LmNoaWxkcmVuKTtuJiZuLmlmJiZQbihuLHtleHA6ZS5lbHNlaWYsYmxvY2s6
ZX0pfWZ1bmN0aW9uIFBuKGUsdCl7ZS5jb25kaXRpb25zfHwoZS5jb25kaXRpb25zPVtdKSxlLmNv
bmRpdGlvbnMucHVzaCh0KX1mdW5jdGlvbiBEbihlKXt2YXIgdD1ibihlLCJ2LW9uY2UiKTtudWxs
IT10JiYoZS5vbmNlPSEwKX1mdW5jdGlvbiBSbihlKXtpZigic2xvdCI9PT1lLnRhZyllLnNsb3RO
YW1lPV9uKGUsIm5hbWUiKTtlbHNle3ZhciB0PV9uKGUsInNsb3QiKTt0JiYoZS5zbG90VGFyZ2V0
PSciIic9PT10PyciZGVmYXVsdCInOnQpLCJ0ZW1wbGF0ZSI9PT1lLnRhZyYmKGUuc2xvdFNjb3Bl
PWJuKGUsInNjb3BlIikpfX1mdW5jdGlvbiBCbihlKXt2YXIgdDsodD1fbihlLCJpcyIpKSYmKGUu
Y29tcG9uZW50PXQpLG51bGwhPWJuKGUsImlubGluZS10ZW1wbGF0ZSIpJiYoZS5pbmxpbmVUZW1w
bGF0ZT0hMCl9ZnVuY3Rpb24gSW4oZSl7dmFyIHQsbixyLGksbyxhLHMsYyx1PWUuYXR0cnNMaXN0
O2Zvcih0PTAsbj11Lmxlbmd0aDt0PG47dCsrKWlmKHI9aT11W3RdLm5hbWUsbz11W3RdLnZhbHVl
LFVhLnRlc3QocikpaWYoZS5oYXNCaW5kaW5ncz0hMCxzPUZuKHIpLHMmJihyPXIucmVwbGFjZShX
YSwiIikpLEphLnRlc3Qocikpcj1yLnJlcGxhY2UoSmEsIiIpLG89bG4obykscyYmKHMucHJvcCYm
KGM9ITAscj1KcihyKSwiaW5uZXJIdG1sIj09PXImJihyPSJpbm5lckhUTUwiKSkscy5jYW1lbCYm
KHI9SnIocikpKSxjfHxoYShlLnRhZyxyKT92bihlLHIsbyk6bW4oZSxyLG8pO2Vsc2UgaWYocWEu
dGVzdChyKSlyPXIucmVwbGFjZShxYSwiIikseW4oZSxyLG8scyk7ZWxzZXtyPXIucmVwbGFjZShV
YSwiIik7dmFyIGw9ci5tYXRjaChLYSk7bCYmKGE9bFsxXSkmJihyPXIuc2xpY2UoMCwtKGEubGVu
Z3RoKzEpKSksZ24oZSxyLGksbyxhLHMpfWVsc2V7bW4oZSxyLEpTT04uc3RyaW5naWZ5KG8pKX19
ZnVuY3Rpb24gSG4oZSl7Zm9yKHZhciB0PWU7dDspe2lmKHZvaWQgMCE9PXQuZm9yKXJldHVybiEw
O3Q9dC5wYXJlbnR9cmV0dXJuITF9ZnVuY3Rpb24gRm4oZSl7dmFyIHQ9ZS5tYXRjaChXYSk7aWYo
dCl7dmFyIG49e307cmV0dXJuIHQuZm9yRWFjaChmdW5jdGlvbihlKXtuW2Uuc2xpY2UoMSldPSEw
fSksbn19ZnVuY3Rpb24gVW4oZSl7Zm9yKHZhciB0PXt9LG49MCxyPWUubGVuZ3RoO248cjtuKysp
dFtlW25dLm5hbWVdPWVbbl0udmFsdWU7cmV0dXJuIHR9ZnVuY3Rpb24gem4oZSl7Zm9yKHZhciB0
PWUubGVuZ3RoO3QtLTspaWYoZVt0XS50YWcpcmV0dXJuIGVbdF19ZnVuY3Rpb24gVm4oZSl7cmV0
dXJuInN0eWxlIj09PWUudGFnfHwic2NyaXB0Ij09PWUudGFnJiYoIWUuYXR0cnNNYXAudHlwZXx8
InRleHQvamF2YXNjcmlwdCI9PT1lLmF0dHJzTWFwLnR5cGUpfWZ1bmN0aW9uIEpuKGUpe2Zvcih2
YXIgdD1bXSxuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciByPWVbbl07R2EudGVzdChyLm5hbWUpfHwo
ci5uYW1lPXIubmFtZS5yZXBsYWNlKFlhLCIiKSx0LnB1c2gocikpfXJldHVybiB0fWZ1bmN0aW9u
IHFuKGUsdCl7ZSYmKGJhPVFhKHQuc3RhdGljS2V5c3x8IiIpLHdhPXQuaXNSZXNlcnZlZFRhZ3x8
ZnVuY3Rpb24oKXtyZXR1cm4hMX0sV24oZSksWm4oZSwhMSkpfWZ1bmN0aW9uIEtuKGUpe3JldHVy
biBpKCJ0eXBlLHRhZyxhdHRyc0xpc3QsYXR0cnNNYXAscGxhaW4scGFyZW50LGNoaWxkcmVuLGF0
dHJzIisoZT8iLCIrZToiIikpfWZ1bmN0aW9uIFduKGUpe2lmKGUuc3RhdGljPVluKGUpLDE9PT1l
LnR5cGUpe2lmKCF3YShlLnRhZykmJiJzbG90IiE9PWUudGFnJiZudWxsPT1lLmF0dHJzTWFwWyJp
bmxpbmUtdGVtcGxhdGUiXSlyZXR1cm47Zm9yKHZhciB0PTAsbj1lLmNoaWxkcmVuLmxlbmd0aDt0
PG47dCsrKXt2YXIgcj1lLmNoaWxkcmVuW3RdO1duKHIpLHIuc3RhdGljfHwoZS5zdGF0aWM9ITEp
fX19ZnVuY3Rpb24gWm4oZSx0KXtpZigxPT09ZS50eXBlKXtpZigoZS5zdGF0aWN8fGUub25jZSkm
JihlLnN0YXRpY0luRm9yPXQpLGUuc3RhdGljJiZlLmNoaWxkcmVuLmxlbmd0aCYmKDEhPT1lLmNo
aWxkcmVuLmxlbmd0aHx8MyE9PWUuY2hpbGRyZW5bMF0udHlwZSkpcmV0dXJuIHZvaWQoZS5zdGF0
aWNSb290PSEwKTtpZihlLnN0YXRpY1Jvb3Q9ITEsZS5jaGlsZHJlbilmb3IodmFyIG49MCxyPWUu
Y2hpbGRyZW4ubGVuZ3RoO248cjtuKyspWm4oZS5jaGlsZHJlbltuXSx0fHwhIWUuZm9yKTtlLmNv
bmRpdGlvbnMmJkduKGUuY29uZGl0aW9ucyx0KX19ZnVuY3Rpb24gR24oZSx0KXtmb3IodmFyIG49
MSxyPWUubGVuZ3RoO248cjtuKyspWm4oZVtuXS5ibG9jayx0KX1mdW5jdGlvbiBZbihlKXtyZXR1
cm4gMiE9PWUudHlwZSYmKDM9PT1lLnR5cGV8fCEoIWUucHJlJiYoZS5oYXNCaW5kaW5nc3x8ZS5p
Znx8ZS5mb3J8fFVyKGUudGFnKXx8IXdhKGUudGFnKXx8UW4oZSl8fCFPYmplY3Qua2V5cyhlKS5l
dmVyeShiYSkpKSl9ZnVuY3Rpb24gUW4oZSl7Zm9yKDtlLnBhcmVudDspe2lmKGU9ZS5wYXJlbnQs
InRlbXBsYXRlIiE9PWUudGFnKXJldHVybiExO2lmKGUuZm9yKXJldHVybiEwfXJldHVybiExfWZ1
bmN0aW9uIFhuKGUsdCl7dmFyIG49dD8ibmF0aXZlT246eyI6Im9uOnsiO2Zvcih2YXIgciBpbiBl
KW4rPSciJytyKyciOicrZXIocixlW3JdKSsiLCI7cmV0dXJuIG4uc2xpY2UoMCwtMSkrIn0ifWZ1
bmN0aW9uIGVyKGUsdCl7aWYodCl7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4iWyIrdC5tYXAo
ZnVuY3Rpb24odCl7cmV0dXJuIGVyKGUsdCl9KS5qb2luKCIsIikrIl0iO2lmKHQubW9kaWZpZXJz
KXt2YXIgbj0iIixyPVtdLGk9cnMudGVzdChlKTtmb3IodmFyIG8gaW4gdC5tb2RpZmllcnMpbnNb
b10/bis9bnNbb106aSYmaXNbb10/bis9aXNbb106ci5wdXNoKG8pO3IubGVuZ3RoJiYobj10cihy
KStuKTt2YXIgYT1lcy50ZXN0KHQudmFsdWUpP3QudmFsdWUrIigkZXZlbnQpIjp0LnZhbHVlO3Jl
dHVybiJmdW5jdGlvbigkZXZlbnQpeyIrbithKyJ9In1yZXR1cm4gWGEudGVzdCh0LnZhbHVlKXx8
ZXMudGVzdCh0LnZhbHVlKT90LnZhbHVlOiJmdW5jdGlvbigkZXZlbnQpeyIrdC52YWx1ZSsifSJ9
cmV0dXJuImZ1bmN0aW9uKCl7fSJ9ZnVuY3Rpb24gdHIoZSl7dmFyIHQ9MT09PWUubGVuZ3RoP25y
KGVbMF0pOkFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sZS5tYXAobnIpKTtyZXR1cm4g
QXJyYXkuaXNBcnJheSh0KT8iaWYoIit0Lm1hcChmdW5jdGlvbihlKXtyZXR1cm4iJGV2ZW50Lmtl
eUNvZGUhPT0iK2V9KS5qb2luKCImJiIpKyIpcmV0dXJuOyI6ImlmKCRldmVudC5rZXlDb2RlIT09
Iit0KyIpcmV0dXJuOyJ9ZnVuY3Rpb24gbnIoZSl7cmV0dXJuIHBhcnNlSW50KGUsMTApfHx0c1tl
XXx8Il9rKCIrSlNPTi5zdHJpbmdpZnkoZSkrIikifWZ1bmN0aW9uIHJyKGUsdCl7ZS53cmFwRGF0
YT1mdW5jdGlvbihuKXtyZXR1cm4iX2IoIituKyIsJyIrZS50YWcrIicsIit0LnZhbHVlKyh0Lm1v
ZGlmaWVycyYmdC5tb2RpZmllcnMucHJvcD8iLHRydWUiOiIiKSsiKSJ9fWZ1bmN0aW9uIGlyKGUs
dCl7dmFyIG49a2Escj1rYT1bXSxpPU9hO09hPTAsU2E9dCx4YT10Lndhcm58fHBuLCRhPWhuKHQu
bW9kdWxlcywidHJhbnNmb3JtQ29kZSIpLENhPWhuKHQubW9kdWxlcywiZ2VuRGF0YSIpLEFhPXQu
ZGlyZWN0aXZlc3x8e307dmFyIG89ZT9vcihlKTonX2goImRpdiIpJztyZXR1cm4ga2E9bixPYT1p
LHtyZW5kZXI6IndpdGgodGhpcyl7cmV0dXJuICIrbysifSIsc3RhdGljUmVuZGVyRm5zOnJ9fWZ1
bmN0aW9uIG9yKGUpe2lmKGUuc3RhdGljUm9vdCYmIWUuc3RhdGljUHJvY2Vzc2VkKXJldHVybiBh
cihlKTtpZihlLm9uY2UmJiFlLm9uY2VQcm9jZXNzZWQpcmV0dXJuIHNyKGUpO2lmKGUuZm9yJiYh
ZS5mb3JQcm9jZXNzZWQpcmV0dXJuIGxyKGUpO2lmKGUuaWYmJiFlLmlmUHJvY2Vzc2VkKXJldHVy
biBjcihlKTtpZigidGVtcGxhdGUiIT09ZS50YWd8fGUuc2xvdFRhcmdldCl7aWYoInNsb3QiPT09
ZS50YWcpcmV0dXJuIF9yKGUpO3ZhciB0O2lmKGUuY29tcG9uZW50KXQ9YnIoZS5jb21wb25lbnQs
ZSk7ZWxzZXt2YXIgbj1lLnBsYWluP3ZvaWQgMDpmcihlKSxyPWUuaW5saW5lVGVtcGxhdGU/bnVs
bDptcihlKTt0PSJfaCgnIitlLnRhZysiJyIrKG4/IiwiK246IiIpKyhyPyIsIityOiIiKSsiKSJ9
Zm9yKHZhciBpPTA7aTwkYS5sZW5ndGg7aSsrKXQ9JGFbaV0oZSx0KTtyZXR1cm4gdH1yZXR1cm4g
bXIoZSl8fCJ2b2lkIDAifWZ1bmN0aW9uIGFyKGUpe3JldHVybiBlLnN0YXRpY1Byb2Nlc3NlZD0h
MCxrYS5wdXNoKCJ3aXRoKHRoaXMpe3JldHVybiAiK29yKGUpKyJ9IiksIl9tKCIrKGthLmxlbmd0
aC0xKSsoZS5zdGF0aWNJbkZvcj8iLHRydWUiOiIiKSsiKSJ9ZnVuY3Rpb24gc3IoZSl7aWYoZS5v
bmNlUHJvY2Vzc2VkPSEwLGUuaWYmJiFlLmlmUHJvY2Vzc2VkKXJldHVybiBjcihlKTtpZihlLnN0
YXRpY0luRm9yKXtmb3IodmFyIHQ9IiIsbj1lLnBhcmVudDtuOyl7aWYobi5mb3Ipe3Q9bi5rZXk7
YnJlYWt9bj1uLnBhcmVudH1yZXR1cm4gdD8iX28oIitvcihlKSsiLCIrT2ErKyArKHQ/IiwiK3Q6
IiIpKyIpIjpvcihlKX1yZXR1cm4gYXIoZSl9ZnVuY3Rpb24gY3IoZSl7cmV0dXJuIGUuaWZQcm9j
ZXNzZWQ9ITAsdXIoZS5jb25kaXRpb25zKX1mdW5jdGlvbiB1cihlKXtmdW5jdGlvbiB0KGUpe3Jl
dHVybiBlLm9uY2U/c3IoZSk6b3IoZSl9aWYoIWUubGVuZ3RoKXJldHVybiJfZSgpIjt2YXIgbj1l
LnNoaWZ0KCk7cmV0dXJuIG4uZXhwPyIoIituLmV4cCsiKT8iK3Qobi5ibG9jaykrIjoiK3VyKGUp
OiIiK3Qobi5ibG9jayl9ZnVuY3Rpb24gbHIoZSl7dmFyIHQ9ZS5mb3Isbj1lLmFsaWFzLHI9ZS5p
dGVyYXRvcjE/IiwiK2UuaXRlcmF0b3IxOiIiLGk9ZS5pdGVyYXRvcjI/IiwiK2UuaXRlcmF0b3Iy
OiIiO3JldHVybiBlLmZvclByb2Nlc3NlZD0hMCwiX2woKCIrdCsiKSxmdW5jdGlvbigiK24rcitp
KyIpe3JldHVybiAiK29yKGUpKyJ9KSJ9ZnVuY3Rpb24gZnIoZSl7dmFyIHQ9InsiLG49ZHIoZSk7
biYmKHQrPW4rIiwiKSxlLmtleSYmKHQrPSJrZXk6IitlLmtleSsiLCIpLGUucmVmJiYodCs9InJl
ZjoiK2UucmVmKyIsIiksZS5yZWZJbkZvciYmKHQrPSJyZWZJbkZvcjp0cnVlLCIpLGUuY29tcG9u
ZW50JiYodCs9J3RhZzoiJytlLnRhZysnIiwnKTtmb3IodmFyIHI9MDtyPENhLmxlbmd0aDtyKysp
dCs9Q2Fbcl0oZSk7aWYoZS5hdHRycyYmKHQrPSJhdHRyczp7Iit3cihlLmF0dHJzKSsifSwiKSxl
LnByb3BzJiYodCs9ImRvbVByb3BzOnsiK3dyKGUucHJvcHMpKyJ9LCIpLGUuZXZlbnRzJiYodCs9
WG4oZS5ldmVudHMpKyIsIiksZS5uYXRpdmVFdmVudHMmJih0Kz1YbihlLm5hdGl2ZUV2ZW50cywh
MCkrIiwiKSxlLnNsb3RUYXJnZXQmJih0Kz0ic2xvdDoiK2Uuc2xvdFRhcmdldCsiLCIpLGUuc2Nv
cGVkU2xvdHMmJih0Kz1ocihlLnNjb3BlZFNsb3RzKSsiLCIpLGUuaW5saW5lVGVtcGxhdGUpe3Zh
ciBpPXByKGUpO2kmJih0Kz1pKyIsIil9cmV0dXJuIHQ9dC5yZXBsYWNlKC8sJC8sIiIpKyJ9Iixl
LndyYXBEYXRhJiYodD1lLndyYXBEYXRhKHQpKSx0fWZ1bmN0aW9uIGRyKGUpe3ZhciB0PWUuZGly
ZWN0aXZlcztpZih0KXt2YXIgbixyLGksbyxhPSJkaXJlY3RpdmVzOlsiLHM9ITE7Zm9yKG49MCxy
PXQubGVuZ3RoO248cjtuKyspe2k9dFtuXSxvPSEwO3ZhciBjPUFhW2kubmFtZV18fG9zW2kubmFt
ZV07YyYmKG89ISFjKGUsaSx4YSkpLG8mJihzPSEwLGErPSd7bmFtZToiJytpLm5hbWUrJyIscmF3
TmFtZToiJytpLnJhd05hbWUrJyInKyhpLnZhbHVlPyIsdmFsdWU6KCIraS52YWx1ZSsiKSxleHBy
ZXNzaW9uOiIrSlNPTi5zdHJpbmdpZnkoaS52YWx1ZSk6IiIpKyhpLmFyZz8nLGFyZzoiJytpLmFy
ZysnIic6IiIpKyhpLm1vZGlmaWVycz8iLG1vZGlmaWVyczoiK0pTT04uc3RyaW5naWZ5KGkubW9k
aWZpZXJzKToiIikrIn0sIil9cmV0dXJuIHM/YS5zbGljZSgwLC0xKSsiXSI6dm9pZCAwfX1mdW5j
dGlvbiBwcihlKXt2YXIgdD1lLmNoaWxkcmVuWzBdO2lmKDE9PT10LnR5cGUpe3ZhciBuPWlyKHQs
U2EpO3JldHVybiJpbmxpbmVUZW1wbGF0ZTp7cmVuZGVyOmZ1bmN0aW9uKCl7IituLnJlbmRlcisi
fSxzdGF0aWNSZW5kZXJGbnM6WyIrbi5zdGF0aWNSZW5kZXJGbnMubWFwKGZ1bmN0aW9uKGUpe3Jl
dHVybiJmdW5jdGlvbigpeyIrZSsifSJ9KS5qb2luKCIsIikrIl19In19ZnVuY3Rpb24gaHIoZSl7
cmV0dXJuInNjb3BlZFNsb3RzOnsiK09iamVjdC5rZXlzKGUpLm1hcChmdW5jdGlvbih0KXtyZXR1
cm4gdnIodCxlW3RdKX0pLmpvaW4oIiwiKSsifSJ9ZnVuY3Rpb24gdnIoZSx0KXtyZXR1cm4gZSsi
OmZ1bmN0aW9uKCIrU3RyaW5nKHQuYXR0cnNNYXAuc2NvcGUpKyIpe3JldHVybiAiKygidGVtcGxh
dGUiPT09dC50YWc/bXIodCl8fCJ2b2lkIDAiOm9yKHQpKSsifSJ9ZnVuY3Rpb24gbXIoZSl7aWYo
ZS5jaGlsZHJlbi5sZW5ndGgpcmV0dXJuIlsiK2UuY2hpbGRyZW4ubWFwKGdyKS5qb2luKCIsIikr
Il0ifWZ1bmN0aW9uIGdyKGUpe3JldHVybiAxPT09ZS50eXBlP29yKGUpOnlyKGUpfWZ1bmN0aW9u
IHlyKGUpe3JldHVybiAyPT09ZS50eXBlP2UuZXhwcmVzc2lvbjp4cihKU09OLnN0cmluZ2lmeShl
LnRleHQpKX1mdW5jdGlvbiBfcihlKXt2YXIgdD1lLnNsb3ROYW1lfHwnImRlZmF1bHQiJyxuPW1y
KGUpO3JldHVybiJfdCgiK3QrKG4/IiwiK246IiIpKyhlLmF0dHJzPyhuPyIiOiIsbnVsbCIpKyIs
eyIrZS5hdHRycy5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIEpyKGUubmFtZSkrIjoiK2UudmFsdWV9
KS5qb2luKCIsIikrIn0iOiIiKSsiKSJ9ZnVuY3Rpb24gYnIoZSx0KXt2YXIgbj10LmlubGluZVRl
bXBsYXRlP251bGw6bXIodCk7cmV0dXJuIl9oKCIrZSsiLCIrZnIodCkrKG4/IiwiK246IiIpKyIp
In1mdW5jdGlvbiB3cihlKXtmb3IodmFyIHQ9IiIsbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1l
W25dO3QrPSciJytyLm5hbWUrJyI6Jyt4cihyLnZhbHVlKSsiLCJ9cmV0dXJuIHQuc2xpY2UoMCwt
MSl9ZnVuY3Rpb24geHIoZSl7cmV0dXJuIGUucmVwbGFjZSgvXHUyMDI4L2csIlxcdTIwMjgiKS5y
ZXBsYWNlKC9cdTIwMjkvZywiXFx1MjAyOSIpfWZ1bmN0aW9uICRyKGUsdCl7dmFyIG49T24oZS50
cmltKCksdCk7cW4obix0KTt2YXIgcj1pcihuLHQpO3JldHVybnthc3Q6bixyZW5kZXI6ci5yZW5k
ZXIsc3RhdGljUmVuZGVyRm5zOnIuc3RhdGljUmVuZGVyRm5zfX1mdW5jdGlvbiBDcihlLHQpe3Zh
ciBuPSh0Lndhcm58fHBuLGJuKGUsImNsYXNzIikpO24mJihlLnN0YXRpY0NsYXNzPUpTT04uc3Ry
aW5naWZ5KG4pKTt2YXIgcj1fbihlLCJjbGFzcyIsITEpO3ImJihlLmNsYXNzQmluZGluZz1yKX1m
dW5jdGlvbiBBcihlKXt2YXIgdD0iIjtyZXR1cm4gZS5zdGF0aWNDbGFzcyYmKHQrPSJzdGF0aWND
bGFzczoiK2Uuc3RhdGljQ2xhc3MrIiwiKSxlLmNsYXNzQmluZGluZyYmKHQrPSJjbGFzczoiK2Uu
Y2xhc3NCaW5kaW5nKyIsIiksdH1mdW5jdGlvbiBrcihlLHQpe3ZhciBuPSh0Lndhcm58fHBuLGJu
KGUsInN0eWxlIikpO2lmKG4pe2Uuc3RhdGljU3R5bGU9SlNPTi5zdHJpbmdpZnkoZ28obikpfXZh
ciByPV9uKGUsInN0eWxlIiwhMSk7ciYmKGUuc3R5bGVCaW5kaW5nPXIpfWZ1bmN0aW9uIE9yKGUp
e3ZhciB0PSIiO3JldHVybiBlLnN0YXRpY1N0eWxlJiYodCs9InN0YXRpY1N0eWxlOiIrZS5zdGF0
aWNTdHlsZSsiLCIpLGUuc3R5bGVCaW5kaW5nJiYodCs9InN0eWxlOigiK2Uuc3R5bGVCaW5kaW5n
KyIpLCIpLHR9ZnVuY3Rpb24gU3IoZSx0LG4pe1RhPW47dmFyIHI9dC52YWx1ZSxpPXQubW9kaWZp
ZXJzLG89ZS50YWcsYT1lLmF0dHJzTWFwLnR5cGU7cmV0dXJuInNlbGVjdCI9PT1vP05yKGUscixp
KToiaW5wdXQiPT09byYmImNoZWNrYm94Ij09PWE/VHIoZSxyLGkpOiJpbnB1dCI9PT1vJiYicmFk
aW8iPT09YT9FcihlLHIsaSk6anIoZSxyLGkpLCEwfWZ1bmN0aW9uIFRyKGUsdCxuKXt2YXIgcj1u
JiZuLm51bWJlcixpPV9uKGUsInZhbHVlIil8fCJudWxsIixvPV9uKGUsInRydWUtdmFsdWUiKXx8
InRydWUiLGE9X24oZSwiZmFsc2UtdmFsdWUiKXx8ImZhbHNlIjt2bihlLCJjaGVja2VkIiwiQXJy
YXkuaXNBcnJheSgiK3QrIik/X2koIit0KyIsIitpKyIpPi0xOl9xKCIrdCsiLCIrbysiKSIpLHlu
KGUsImNoYW5nZSIsInZhciAkJGE9Iit0KyIsJCRlbD0kZXZlbnQudGFyZ2V0LCQkYz0kJGVsLmNo
ZWNrZWQ/KCIrbysiKTooIithKyIpO2lmKEFycmF5LmlzQXJyYXkoJCRhKSl7dmFyICQkdj0iKyhy
PyJfbigiK2krIikiOmkpKyIsJCRpPV9pKCQkYSwkJHYpO2lmKCQkYyl7JCRpPDAmJigiK3QrIj0k
JGEuY29uY2F0KCQkdikpfWVsc2V7JCRpPi0xJiYoIit0KyI9JCRhLnNsaWNlKDAsJCRpKS5jb25j
YXQoJCRhLnNsaWNlKCQkaSsxKSkpfX1lbHNleyIrdCsiPSQkY30iLG51bGwsITApfWZ1bmN0aW9u
IEVyKGUsdCxuKXt2YXIgcj1uJiZuLm51bWJlcixpPV9uKGUsInZhbHVlIil8fCJudWxsIjtpPXI/
Il9uKCIraSsiKSI6aSx2bihlLCJjaGVja2VkIiwiX3EoIit0KyIsIitpKyIpIikseW4oZSwiY2hh
bmdlIixMcih0LGkpLG51bGwsITApfWZ1bmN0aW9uIGpyKGUsdCxuKXt2YXIgcj1lLmF0dHJzTWFw
LnR5cGUsaT1ufHx7fSxvPWkubGF6eSxhPWkubnVtYmVyLHM9aS50cmltLGM9b3x8bmkmJiJyYW5n
ZSI9PT1yPyJjaGFuZ2UiOiJpbnB1dCIsdT0hbyYmInJhbmdlIiE9PXIsbD0iaW5wdXQiPT09ZS50
YWd8fCJ0ZXh0YXJlYSI9PT1lLnRhZyxmPWw/IiRldmVudC50YXJnZXQudmFsdWUiKyhzPyIudHJp
bSgpIjoiIik6cz8iKHR5cGVvZiAkZXZlbnQgPT09ICdzdHJpbmcnID8gJGV2ZW50LnRyaW0oKSA6
ICRldmVudCkiOiIkZXZlbnQiO2Y9YXx8Im51bWJlciI9PT1yPyJfbigiK2YrIikiOmY7dmFyIGQ9
THIodCxmKTtsJiZ1JiYoZD0iaWYoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpcmV0dXJuOyIrZCks
dm4oZSwidmFsdWUiLGw/Il9zKCIrdCsiKSI6IigiK3QrIikiKSx5bihlLGMsZCxudWxsLCEwKX1m
dW5jdGlvbiBOcihlLHQsbil7dmFyIHI9biYmbi5udW1iZXIsaT0nQXJyYXkucHJvdG90eXBlLmZp
bHRlci5jYWxsKCRldmVudC50YXJnZXQub3B0aW9ucyxmdW5jdGlvbihvKXtyZXR1cm4gby5zZWxl
Y3RlZH0pLm1hcChmdW5jdGlvbihvKXt2YXIgdmFsID0gIl92YWx1ZSIgaW4gbyA/IG8uX3ZhbHVl
IDogby52YWx1ZTtyZXR1cm4gJysocj8iX24odmFsKSI6InZhbCIpKyJ9KSIrKG51bGw9PWUuYXR0
cnNNYXAubXVsdGlwbGU/IlswXSI6IiIpLG89THIodCxpKTt5bihlLCJjaGFuZ2UiLG8sbnVsbCwh
MCl9ZnVuY3Rpb24gTHIoZSx0KXt2YXIgbj13bihlKTtyZXR1cm4gbnVsbD09PW4uaWR4P2UrIj0i
K3Q6InZhciAkJGV4cCA9ICIrbi5leHArIiwgJCRpZHggPSAiK24uaWR4KyI7aWYgKCFBcnJheS5p
c0FycmF5KCQkZXhwKSl7IitlKyI9Iit0KyJ9ZWxzZXskJGV4cC5zcGxpY2UoJCRpZHgsIDEsICIr
dCsiKX0ifWZ1bmN0aW9uIE1yKGUsdCl7dC52YWx1ZSYmdm4oZSwidGV4dENvbnRlbnQiLCJfcygi
K3QudmFsdWUrIikiKX1mdW5jdGlvbiBQcihlLHQpe3QudmFsdWUmJnZuKGUsImlubmVySFRNTCIs
Il9zKCIrdC52YWx1ZSsiKSIpfWZ1bmN0aW9uIERyKGUsdCl7cmV0dXJuIHQ9dD9mKGYoe30sZnMp
LHQpOmZzLCRyKGUsdCl9ZnVuY3Rpb24gUnIoZSx0LG4pe3ZhciByPSh0JiZ0Lndhcm58fGRpLHQm
JnQuZGVsaW1pdGVycz9TdHJpbmcodC5kZWxpbWl0ZXJzKStlOmUpO2lmKGxzW3JdKXJldHVybiBs
c1tyXTt2YXIgaT17fSxvPURyKGUsdCk7aS5yZW5kZXI9QnIoby5yZW5kZXIpO3ZhciBhPW8uc3Rh
dGljUmVuZGVyRm5zLmxlbmd0aDtpLnN0YXRpY1JlbmRlckZucz1uZXcgQXJyYXkoYSk7Zm9yKHZh
ciBzPTA7czxhO3MrKylpLnN0YXRpY1JlbmRlckZuc1tzXT1CcihvLnN0YXRpY1JlbmRlckZuc1tz
XSk7cmV0dXJuIGxzW3JdPWl9ZnVuY3Rpb24gQnIoZSl7dHJ5e3JldHVybiBuZXcgRnVuY3Rpb24o
ZSl9Y2F0Y2goZSl7cmV0dXJuIHZ9fWZ1bmN0aW9uIElyKGUpe2lmKGUub3V0ZXJIVE1MKXJldHVy
biBlLm91dGVySFRNTDt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4g
dC5hcHBlbmRDaGlsZChlLmNsb25lTm9kZSghMCkpLHQuaW5uZXJIVE1MfXZhciBIcixGcixVcj1p
KCJzbG90LGNvbXBvbmVudCIsITApLHpyPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHks
VnI9Ly0oXHcpL2csSnI9YyhmdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKFZyLGZ1bmN0aW9u
KGUsdCl7cmV0dXJuIHQ/dC50b1VwcGVyQ2FzZSgpOiIifSl9KSxxcj1jKGZ1bmN0aW9uKGUpe3Jl
dHVybiBlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Uuc2xpY2UoMSl9KSxLcj0vKFteLV0pKFtB
LVpdKS9nLFdyPWMoZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZShLciwiJDEtJDIiKS5yZXBs
YWNlKEtyLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCl9KSxacj1PYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nLEdyPSJbb2JqZWN0IE9iamVjdF0iLFlyPWZ1bmN0aW9uKCl7cmV0dXJuITF9LFFyPS9bXlx3
LiRdLyxYcj0iX19wcm90b19fImlue30sZWk9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJiJb
b2JqZWN0IE9iamVjdF0iIT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHdpbmRvdyks
dGk9ZWkmJndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCksbmk9dGkmJi9t
c2llfHRyaWRlbnQvLnRlc3QodGkpLHJpPXRpJiZ0aS5pbmRleE9mKCJtc2llIDkuMCIpPjAsaWk9
dGkmJnRpLmluZGV4T2YoImVkZ2UvIik+MCxvaT10aSYmdGkuaW5kZXhPZigiYW5kcm9pZCIpPjAs
YWk9dGkmJi9pcGhvbmV8aXBhZHxpcG9kfGlvcy8udGVzdCh0aSksc2k9ZnVuY3Rpb24oKXtyZXR1
cm4gdm9pZCAwPT09SHImJihIcj0hZWkmJiJ1bmRlZmluZWQiIT10eXBlb2YgdCYmInNlcnZlciI9
PT10LnByb2Nlc3MuZW52LlZVRV9FTlYpLEhyfSxjaT1laSYmd2luZG93Ll9fVlVFX0RFVlRPT0xT
X0dMT0JBTF9IT09LX18sdWk9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7cj0hMTt2YXIgZT1uLnNs
aWNlKDApO24ubGVuZ3RoPTA7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0KyspZVt0XSgpfXZhciB0
LG49W10scj0hMTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIFByb21pc2UmJngoUHJvbWlzZSkpe3Zh
ciBpPVByb21pc2UucmVzb2x2ZSgpO3Q9ZnVuY3Rpb24oKXtpLnRoZW4oZSksYWkmJnNldFRpbWVv
dXQodil9fWVsc2UgaWYoInVuZGVmaW5lZCI9PXR5cGVvZiBNdXRhdGlvbk9ic2VydmVyfHwheChN
dXRhdGlvbk9ic2VydmVyKSYmIltvYmplY3QgTXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9yXSIh
PT1NdXRhdGlvbk9ic2VydmVyLnRvU3RyaW5nKCkpdD1mdW5jdGlvbigpe3NldFRpbWVvdXQoZSww
KX07ZWxzZXt2YXIgbz0xLGE9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoZSkscz1kb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZShTdHJpbmcobykpO2Eub2JzZXJ2ZShzLHtjaGFyYWN0ZXJEYXRhOiEwfSksdD1m
dW5jdGlvbigpe289KG8rMSklMixzLmRhdGE9U3RyaW5nKG8pfX1yZXR1cm4gZnVuY3Rpb24oZSxp
KXt2YXIgbztpZihuLnB1c2goZnVuY3Rpb24oKXtlJiZlLmNhbGwoaSksbyYmbyhpKX0pLHJ8fChy
PSEwLHQoKSksIWUmJiJ1bmRlZmluZWQiIT10eXBlb2YgUHJvbWlzZSlyZXR1cm4gbmV3IFByb21p
c2UoZnVuY3Rpb24oZSl7bz1lfSl9fSgpO0ZyPSJ1bmRlZmluZWQiIT10eXBlb2YgU2V0JiZ4KFNl
dCk/U2V0OmZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSgpe3RoaXMuc2V0PU9iamVjdC5jcmVhdGUobnVs
bCl9cmV0dXJuIGUucHJvdG90eXBlLmhhcz1mdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwIT09dGhp
cy5zZXRbZV19LGUucHJvdG90eXBlLmFkZD1mdW5jdGlvbihlKXt0aGlzLnNldFtlXT0xfSxlLnBy
b3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuc2V0PU9iamVjdC5jcmVhdGUobnVsbCl9LGV9
KCk7dmFyIGxpLGZpPXtvcHRpb25NZXJnZVN0cmF0ZWdpZXM6T2JqZWN0LmNyZWF0ZShudWxsKSxz
aWxlbnQ6ITEsZGV2dG9vbHM6ITEsZXJyb3JIYW5kbGVyOm51bGwsaWdub3JlZEVsZW1lbnRzOm51
bGwsa2V5Q29kZXM6T2JqZWN0LmNyZWF0ZShudWxsKSxpc1Jlc2VydmVkVGFnOllyLGlzVW5rbm93
bkVsZW1lbnQ6WXIsZ2V0VGFnTmFtZXNwYWNlOnYsbXVzdFVzZVByb3A6WXIsX2Fzc2V0VHlwZXM6
WyJjb21wb25lbnQiLCJkaXJlY3RpdmUiLCJmaWx0ZXIiXSxfbGlmZWN5Y2xlSG9va3M6WyJiZWZv
cmVDcmVhdGUiLCJjcmVhdGVkIiwiYmVmb3JlTW91bnQiLCJtb3VudGVkIiwiYmVmb3JlVXBkYXRl
IiwidXBkYXRlZCIsImJlZm9yZURlc3Ryb3kiLCJkZXN0cm95ZWQiLCJhY3RpdmF0ZWQiLCJkZWFj
dGl2YXRlZCJdLF9tYXhVcGRhdGVDb3VudDoxMDB9LGRpPXYscGk9MCxoaT1mdW5jdGlvbigpe3Ro
aXMuaWQ9cGkrKyx0aGlzLnN1YnM9W119O2hpLnByb3RvdHlwZS5hZGRTdWI9ZnVuY3Rpb24oZSl7
dGhpcy5zdWJzLnB1c2goZSl9LGhpLnByb3RvdHlwZS5yZW1vdmVTdWI9ZnVuY3Rpb24oZSl7byh0
aGlzLnN1YnMsZSl9LGhpLnByb3RvdHlwZS5kZXBlbmQ9ZnVuY3Rpb24oKXtoaS50YXJnZXQmJmhp
LnRhcmdldC5hZGREZXAodGhpcyl9LGhpLnByb3RvdHlwZS5ub3RpZnk9ZnVuY3Rpb24oKXtmb3Io
dmFyIGU9dGhpcy5zdWJzLnNsaWNlKCksdD0wLG49ZS5sZW5ndGg7dDxuO3QrKyllW3RdLnVwZGF0
ZSgpfSxoaS50YXJnZXQ9bnVsbDt2YXIgdmk9W10sbWk9QXJyYXkucHJvdG90eXBlLGdpPU9iamVj
dC5jcmVhdGUobWkpO1sicHVzaCIsInBvcCIsInNoaWZ0IiwidW5zaGlmdCIsInNwbGljZSIsInNv
cnQiLCJyZXZlcnNlIl0uZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1taVtlXTtiKGdpLGUsZnVu
Y3Rpb24oKXtmb3IodmFyIG49YXJndW1lbnRzLHI9YXJndW1lbnRzLmxlbmd0aCxpPW5ldyBBcnJh
eShyKTtyLS07KWlbcl09bltyXTt2YXIgbyxhPXQuYXBwbHkodGhpcyxpKSxzPXRoaXMuX19vYl9f
O3N3aXRjaChlKXtjYXNlInB1c2giOm89aTticmVhaztjYXNlInVuc2hpZnQiOm89aTticmVhaztj
YXNlInNwbGljZSI6bz1pLnNsaWNlKDIpfXJldHVybiBvJiZzLm9ic2VydmVBcnJheShvKSxzLmRl
cC5ub3RpZnkoKSxhfSl9KTt2YXIgeWk9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZ2kpLF9p
PXtzaG91bGRDb252ZXJ0OiEwLGlzU2V0dGluZ1Byb3BzOiExfSxiaT1mdW5jdGlvbihlKXtpZih0
aGlzLnZhbHVlPWUsdGhpcy5kZXA9bmV3IGhpLHRoaXMudm1Db3VudD0wLGIoZSwiX19vYl9fIix0
aGlzKSxBcnJheS5pc0FycmF5KGUpKXt2YXIgdD1Ycj9BOms7dChlLGdpLHlpKSx0aGlzLm9ic2Vy
dmVBcnJheShlKX1lbHNlIHRoaXMud2FsayhlKX07YmkucHJvdG90eXBlLndhbGs9ZnVuY3Rpb24o
ZSl7Zm9yKHZhciB0PU9iamVjdC5rZXlzKGUpLG49MDtuPHQubGVuZ3RoO24rKylTKGUsdFtuXSxl
W3Rbbl1dKX0sYmkucHJvdG90eXBlLm9ic2VydmVBcnJheT1mdW5jdGlvbihlKXtmb3IodmFyIHQ9
MCxuPWUubGVuZ3RoO3Q8bjt0KyspTyhlW3RdKX07dmFyIHdpPWZpLm9wdGlvbk1lcmdlU3RyYXRl
Z2llczt3aS5kYXRhPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbj9lfHx0P2Z1bmN0aW9uKCl7dmFy
IHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dC5jYWxsKG4pOnQsaT0iZnVuY3Rpb24iPT10eXBlb2Yg
ZT9lLmNhbGwobik6dm9pZCAwO3JldHVybiByP04ocixpKTppfTp2b2lkIDA6dD8iZnVuY3Rpb24i
IT10eXBlb2YgdD9lOmU/ZnVuY3Rpb24oKXtyZXR1cm4gTih0LmNhbGwodGhpcyksZS5jYWxsKHRo
aXMpKX06dDplfSxmaS5fbGlmZWN5Y2xlSG9va3MuZm9yRWFjaChmdW5jdGlvbihlKXt3aVtlXT1M
fSksZmkuX2Fzc2V0VHlwZXMuZm9yRWFjaChmdW5jdGlvbihlKXt3aVtlKyJzIl09TX0pLHdpLndh
dGNoPWZ1bmN0aW9uKGUsdCl7aWYoIXQpcmV0dXJuIGU7aWYoIWUpcmV0dXJuIHQ7dmFyIG49e307
ZihuLGUpO2Zvcih2YXIgciBpbiB0KXt2YXIgaT1uW3JdLG89dFtyXTtpJiYhQXJyYXkuaXNBcnJh
eShpKSYmKGk9W2ldKSxuW3JdPWk/aS5jb25jYXQobyk6W29dfXJldHVybiBufSx3aS5wcm9wcz13
aS5tZXRob2RzPXdpLmNvbXB1dGVkPWZ1bmN0aW9uKGUsdCl7aWYoIXQpcmV0dXJuIGU7aWYoIWUp
cmV0dXJuIHQ7dmFyIG49T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gZihuLGUpLGYobix0KSxu
fTt2YXIgeGk9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdm9pZCAwPT09dD9lOnR9LCRpPU9iamVjdC5m
cmVlemUoe2RlZmluZVJlYWN0aXZlOlMsX3RvU3RyaW5nOm4sdG9OdW1iZXI6cixtYWtlTWFwOmks
aXNCdWlsdEluVGFnOlVyLHJlbW92ZTpvLGhhc093bjphLGlzUHJpbWl0aXZlOnMsY2FjaGVkOmMs
Y2FtZWxpemU6SnIsY2FwaXRhbGl6ZTpxcixoeXBoZW5hdGU6V3IsYmluZDp1LHRvQXJyYXk6bCxl
eHRlbmQ6Zixpc09iamVjdDpkLGlzUGxhaW5PYmplY3Q6cCx0b09iamVjdDpoLG5vb3A6dixubzpZ
cixnZW5TdGF0aWNLZXlzOm0sbG9vc2VFcXVhbDpnLGxvb3NlSW5kZXhPZjp5LGlzUmVzZXJ2ZWQ6
XyxkZWY6YixwYXJzZVBhdGg6dyxoYXNQcm90bzpYcixpbkJyb3dzZXI6ZWksVUE6dGksaXNJRTpu
aSxpc0lFOTpyaSxpc0VkZ2U6aWksaXNBbmRyb2lkOm9pLGlzSU9TOmFpLGlzU2VydmVyUmVuZGVy
aW5nOnNpLGRldnRvb2xzOmNpLG5leHRUaWNrOnVpLGdldCBfU2V0KCl7cmV0dXJuIEZyfSxtZXJn
ZU9wdGlvbnM6UixyZXNvbHZlQXNzZXQ6QixnZXQgd2Fybigpe3JldHVybiBkaX0sZ2V0IGZvcm1h
dENvbXBvbmVudE5hbWUoKXtyZXR1cm4gbGl9LHZhbGlkYXRlUHJvcDpJfSksQ2k9W10sQWk9e30s
a2k9ITEsT2k9ITEsU2k9MCxUaT0wLEVpPWZ1bmN0aW9uKGUsdCxuLHIpe3ZvaWQgMD09PXImJihy
PXt9KSx0aGlzLnZtPWUsZS5fd2F0Y2hlcnMucHVzaCh0aGlzKSx0aGlzLmRlZXA9ISFyLmRlZXAs
dGhpcy51c2VyPSEhci51c2VyLHRoaXMubGF6eT0hIXIubGF6eSx0aGlzLnN5bmM9ISFyLnN5bmMs
dGhpcy5leHByZXNzaW9uPXQudG9TdHJpbmcoKSx0aGlzLmNiPW4sdGhpcy5pZD0rK1RpLHRoaXMu
YWN0aXZlPSEwLHRoaXMuZGlydHk9dGhpcy5sYXp5LHRoaXMuZGVwcz1bXSx0aGlzLm5ld0RlcHM9
W10sdGhpcy5kZXBJZHM9bmV3IEZyLHRoaXMubmV3RGVwSWRzPW5ldyBGciwiZnVuY3Rpb24iPT10
eXBlb2YgdD90aGlzLmdldHRlcj10Oih0aGlzLmdldHRlcj13KHQpLHRoaXMuZ2V0dGVyfHwodGhp
cy5nZXR0ZXI9ZnVuY3Rpb24oKXt9KSksdGhpcy52YWx1ZT10aGlzLmxhenk/dm9pZCAwOnRoaXMu
Z2V0KCl9O0VpLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXskKHRoaXMpO3ZhciBlPXRoaXMuZ2V0
dGVyLmNhbGwodGhpcy52bSx0aGlzLnZtKTtyZXR1cm4gdGhpcy5kZWVwJiZxKGUpLEMoKSx0aGlz
LmNsZWFudXBEZXBzKCksZX0sRWkucHJvdG90eXBlLmFkZERlcD1mdW5jdGlvbihlKXt2YXIgdD1l
LmlkO3RoaXMubmV3RGVwSWRzLmhhcyh0KXx8KHRoaXMubmV3RGVwSWRzLmFkZCh0KSx0aGlzLm5l
d0RlcHMucHVzaChlKSx0aGlzLmRlcElkcy5oYXModCl8fGUuYWRkU3ViKHRoaXMpKX0sRWkucHJv
dG90eXBlLmNsZWFudXBEZXBzPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXMsdD10aGlzLmRlcHMu
bGVuZ3RoO3QtLTspe3ZhciBuPWUuZGVwc1t0XTtlLm5ld0RlcElkcy5oYXMobi5pZCl8fG4ucmVt
b3ZlU3ViKGUpfXZhciByPXRoaXMuZGVwSWRzO3RoaXMuZGVwSWRzPXRoaXMubmV3RGVwSWRzLHRo
aXMubmV3RGVwSWRzPXIsdGhpcy5uZXdEZXBJZHMuY2xlYXIoKSxyPXRoaXMuZGVwcyx0aGlzLmRl
cHM9dGhpcy5uZXdEZXBzLHRoaXMubmV3RGVwcz1yLHRoaXMubmV3RGVwcy5sZW5ndGg9MH0sRWku
cHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe3RoaXMubGF6eT90aGlzLmRpcnR5PSEwOnRoaXMu
c3luYz90aGlzLnJ1bigpOkoodGhpcyl9LEVpLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXtpZih0
aGlzLmFjdGl2ZSl7dmFyIGU9dGhpcy5nZXQoKTtpZihlIT09dGhpcy52YWx1ZXx8ZChlKXx8dGhp
cy5kZWVwKXt2YXIgdD10aGlzLnZhbHVlO2lmKHRoaXMudmFsdWU9ZSx0aGlzLnVzZXIpdHJ5e3Ro
aXMuY2IuY2FsbCh0aGlzLnZtLGUsdCl9Y2F0Y2goZSl7aWYoIWZpLmVycm9ySGFuZGxlcil0aHJv
dyBlO2ZpLmVycm9ySGFuZGxlci5jYWxsKG51bGwsZSx0aGlzLnZtKX1lbHNlIHRoaXMuY2IuY2Fs
bCh0aGlzLnZtLGUsdCl9fX0sRWkucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKCl7dGhpcy52
YWx1ZT10aGlzLmdldCgpLHRoaXMuZGlydHk9ITF9LEVpLnByb3RvdHlwZS5kZXBlbmQ9ZnVuY3Rp
b24oKXtmb3IodmFyIGU9dGhpcyx0PXRoaXMuZGVwcy5sZW5ndGg7dC0tOyllLmRlcHNbdF0uZGVw
ZW5kKCl9LEVpLnByb3RvdHlwZS50ZWFyZG93bj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYodGhp
cy5hY3RpdmUpe3RoaXMudm0uX2lzQmVpbmdEZXN0cm95ZWR8fHRoaXMudm0uX3ZGb3JSZW1vdmlu
Z3x8byh0aGlzLnZtLl93YXRjaGVycyx0aGlzKTtmb3IodmFyIHQ9dGhpcy5kZXBzLmxlbmd0aDt0
LS07KWUuZGVwc1t0XS5yZW1vdmVTdWIoZSk7dGhpcy5hY3RpdmU9ITF9fTt2YXIgamk9bmV3IEZy
LE5pPShpKCJrZXkscmVmLHNsb3QiKSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0
OnYsc2V0OnZ9KSxMaT1mdW5jdGlvbihlLHQsbixyLGksbyxhLHMpe3RoaXMudGFnPWUsdGhpcy5k
YXRhPXQsdGhpcy5jaGlsZHJlbj1uLHRoaXMudGV4dD1yLHRoaXMuZWxtPWksdGhpcy5ucz1vLHRo
aXMuY29udGV4dD1hLHRoaXMuZnVuY3Rpb25hbENvbnRleHQ9dm9pZCAwLHRoaXMua2V5PXQmJnQu
a2V5LHRoaXMuY29tcG9uZW50T3B0aW9ucz1zLHRoaXMuY2hpbGQ9dm9pZCAwLHRoaXMucGFyZW50
PXZvaWQgMCx0aGlzLnJhdz0hMSx0aGlzLmlzU3RhdGljPSExLHRoaXMuaXNSb290SW5zZXJ0PSEw
LHRoaXMuaXNDb21tZW50PSExLHRoaXMuaXNDbG9uZWQ9ITEsdGhpcy5pc09uY2U9ITF9LE1pPWZ1
bmN0aW9uKCl7dmFyIGU9bmV3IExpO3JldHVybiBlLnRleHQ9IiIsZS5pc0NvbW1lbnQ9ITAsZX0s
UGk9bnVsbCxEaT17aW5pdDpiZSxwcmVwYXRjaDp3ZSxpbnNlcnQ6eGUsZGVzdHJveTokZX0sUmk9
T2JqZWN0LmtleXMoRGkpLEJpPTA7RGUoSWUpLG5lKEllKSxQZShJZSksdmUoSWUpLE5lKEllKTt2
YXIgSWk9W1N0cmluZyxSZWdFeHBdLEhpPXtuYW1lOiJrZWVwLWFsaXZlIixhYnN0cmFjdDohMCxw
cm9wczp7aW5jbHVkZTpJaSxleGNsdWRlOklpfSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5jYWNo
ZT1PYmplY3QuY3JlYXRlKG51bGwpfSxyZW5kZXI6ZnVuY3Rpb24oKXt2YXIgZT1wZSh0aGlzLiRz
bG90cy5kZWZhdWx0KTtpZihlJiZlLmNvbXBvbmVudE9wdGlvbnMpe3ZhciB0PWUuY29tcG9uZW50
T3B0aW9ucyxuPXQuQ3Rvci5vcHRpb25zLm5hbWV8fHQudGFnO2lmKG4mJih0aGlzLmluY2x1ZGUm
JiFWZSh0aGlzLmluY2x1ZGUsbil8fHRoaXMuZXhjbHVkZSYmVmUodGhpcy5leGNsdWRlLG4pKSly
ZXR1cm4gZTt2YXIgcj1udWxsPT1lLmtleT90LkN0b3IuY2lkKyh0LnRhZz8iOjoiK3QudGFnOiIi
KTplLmtleTt0aGlzLmNhY2hlW3JdP2UuY2hpbGQ9dGhpcy5jYWNoZVtyXS5jaGlsZDp0aGlzLmNh
Y2hlW3JdPWUsZS5kYXRhLmtlZXBBbGl2ZT0hMH1yZXR1cm4gZX0sZGVzdHJveWVkOmZ1bmN0aW9u
KCl7dmFyIGU9dGhpcztmb3IodmFyIHQgaW4gdGhpcy5jYWNoZSl7dmFyIG49ZS5jYWNoZVt0XTtt
ZShuLmNoaWxkLCJkZWFjdGl2YXRlZCIpLG4uY2hpbGQuJGRlc3Ryb3koKX19fSxGaT17S2VlcEFs
aXZlOkhpfTtKZShJZSksT2JqZWN0LmRlZmluZVByb3BlcnR5KEllLnByb3RvdHlwZSwiJGlzU2Vy
dmVyIix7Z2V0OnNpfSksSWUudmVyc2lvbj0iMi4xLjMiO3ZhciBVaSx6aT1mdW5jdGlvbihlLHQp
e3JldHVybiJ2YWx1ZSI9PT10JiYoImlucHV0Ij09PWV8fCJ0ZXh0YXJlYSI9PT1lfHwib3B0aW9u
Ij09PWUpfHwic2VsZWN0ZWQiPT09dCYmIm9wdGlvbiI9PT1lfHwiY2hlY2tlZCI9PT10JiYiaW5w
dXQiPT09ZXx8Im11dGVkIj09PXQmJiJ2aWRlbyI9PT1lfSxWaT1pKCJjb250ZW50ZWRpdGFibGUs
ZHJhZ2dhYmxlLHNwZWxsY2hlY2siKSxKaT1pKCJhbGxvd2Z1bGxzY3JlZW4sYXN5bmMsYXV0b2Zv
Y3VzLGF1dG9wbGF5LGNoZWNrZWQsY29tcGFjdCxjb250cm9scyxkZWNsYXJlLGRlZmF1bHQsZGVm
YXVsdGNoZWNrZWQsZGVmYXVsdG11dGVkLGRlZmF1bHRzZWxlY3RlZCxkZWZlcixkaXNhYmxlZCxl
bmFibGVkLGZvcm1ub3ZhbGlkYXRlLGhpZGRlbixpbmRldGVybWluYXRlLGluZXJ0LGlzbWFwLGl0
ZW1zY29wZSxsb29wLG11bHRpcGxlLG11dGVkLG5vaHJlZixub3Jlc2l6ZSxub3NoYWRlLG5vdmFs
aWRhdGUsbm93cmFwLG9wZW4scGF1c2VvbmV4aXQscmVhZG9ubHkscmVxdWlyZWQscmV2ZXJzZWQs
c2NvcGVkLHNlYW1sZXNzLHNlbGVjdGVkLHNvcnRhYmxlLHRyYW5zbGF0ZSx0cnVlc3BlZWQsdHlw
ZW11c3RtYXRjaCx2aXNpYmxlIikscWk9KGkoImFjY2VwdCxhY2NlcHQtY2hhcnNldCxhY2Nlc3Nr
ZXksYWN0aW9uLGFsaWduLGFsdCxhc3luYyxhdXRvY29tcGxldGUsYXV0b2ZvY3VzLGF1dG9wbGF5
LGF1dG9zYXZlLGJnY29sb3IsYm9yZGVyLGJ1ZmZlcmVkLGNoYWxsZW5nZSxjaGFyc2V0LGNoZWNr
ZWQsY2l0ZSxjbGFzcyxjb2RlLGNvZGViYXNlLGNvbG9yLGNvbHMsY29sc3Bhbixjb250ZW50LGh0
dHAtZXF1aXYsbmFtZSxjb250ZW50ZWRpdGFibGUsY29udGV4dG1lbnUsY29udHJvbHMsY29vcmRz
LGRhdGEsZGF0ZXRpbWUsZGVmYXVsdCxkZWZlcixkaXIsZGlybmFtZSxkaXNhYmxlZCxkb3dubG9h
ZCxkcmFnZ2FibGUsZHJvcHpvbmUsZW5jdHlwZSxtZXRob2QsZm9yLGZvcm0sZm9ybWFjdGlvbixo
ZWFkZXJzLDx0aD4saGVpZ2h0LGhpZGRlbixoaWdoLGhyZWYsaHJlZmxhbmcsaHR0cC1lcXVpdixp
Y29uLGlkLGlzbWFwLGl0ZW1wcm9wLGtleXR5cGUsa2luZCxsYWJlbCxsYW5nLGxhbmd1YWdlLGxp
c3QsbG9vcCxsb3csbWFuaWZlc3QsbWF4LG1heGxlbmd0aCxtZWRpYSxtZXRob2QsR0VULFBPU1Qs
bWluLG11bHRpcGxlLGVtYWlsLGZpbGUsbXV0ZWQsbmFtZSxub3ZhbGlkYXRlLG9wZW4sb3B0aW11
bSxwYXR0ZXJuLHBpbmcscGxhY2Vob2xkZXIscG9zdGVyLHByZWxvYWQscmFkaW9ncm91cCxyZWFk
b25seSxyZWwscmVxdWlyZWQscmV2ZXJzZWQscm93cyxyb3dzcGFuLHNhbmRib3gsc2NvcGUsc2Nv
cGVkLHNlYW1sZXNzLHNlbGVjdGVkLHNoYXBlLHNpemUsdHlwZSx0ZXh0LHBhc3N3b3JkLHNpemVz
LHNwYW4sc3BlbGxjaGVjayxzcmMsc3JjZG9jLHNyY2xhbmcsc3Jjc2V0LHN0YXJ0LHN0ZXAsc3R5
bGUsc3VtbWFyeSx0YWJpbmRleCx0YXJnZXQsdGl0bGUsdHlwZSx1c2VtYXAsdmFsdWUsd2lkdGgs
d3JhcCIpLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiksS2k9ZnVuY3Rpb24oZSl7cmV0
dXJuIjoiPT09ZS5jaGFyQXQoNSkmJiJ4bGluayI9PT1lLnNsaWNlKDAsNSl9LFdpPWZ1bmN0aW9u
KGUpe3JldHVybiBLaShlKT9lLnNsaWNlKDYsZS5sZW5ndGgpOiIifSxaaT1mdW5jdGlvbihlKXty
ZXR1cm4gbnVsbD09ZXx8ZT09PSExfSxHaT17c3ZnOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2
ZyIsbWF0aDoiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIseGh0bWw6Imh0dHA6
Ly93d3cudzMub3JnLzE5OTkveGh0bWwifSxZaT1pKCJodG1sLGJvZHksYmFzZSxoZWFkLGxpbmss
bWV0YSxzdHlsZSx0aXRsZSxhZGRyZXNzLGFydGljbGUsYXNpZGUsZm9vdGVyLGhlYWRlcixoMSxo
MixoMyxoNCxoNSxoNixoZ3JvdXAsbmF2LHNlY3Rpb24sZGl2LGRkLGRsLGR0LGZpZ2NhcHRpb24s
ZmlndXJlLGhyLGltZyxsaSxtYWluLG9sLHAscHJlLHVsLGEsYixhYmJyLGJkaSxiZG8sYnIsY2l0
ZSxjb2RlLGRhdGEsZGZuLGVtLGksa2JkLG1hcmsscSxycCxydCxydGMscnVieSxzLHNhbXAsc21h
bGwsc3BhbixzdHJvbmcsc3ViLHN1cCx0aW1lLHUsdmFyLHdicixhcmVhLGF1ZGlvLG1hcCx0cmFj
ayx2aWRlbyxlbWJlZCxvYmplY3QscGFyYW0sc291cmNlLGNhbnZhcyxzY3JpcHQsbm9zY3JpcHQs
ZGVsLGlucyxjYXB0aW9uLGNvbCxjb2xncm91cCx0YWJsZSx0aGVhZCx0Ym9keSx0ZCx0aCx0cixi
dXR0b24sZGF0YWxpc3QsZmllbGRzZXQsZm9ybSxpbnB1dCxsYWJlbCxsZWdlbmQsbWV0ZXIsb3B0
Z3JvdXAsb3B0aW9uLG91dHB1dCxwcm9ncmVzcyxzZWxlY3QsdGV4dGFyZWEsZGV0YWlscyxkaWFs
b2csbWVudSxtZW51aXRlbSxzdW1tYXJ5LGNvbnRlbnQsZWxlbWVudCxzaGFkb3csdGVtcGxhdGUi
KSxRaT1pKCJhcmVhLGJhc2UsYnIsY29sLGVtYmVkLGZyYW1lLGhyLGltZyxpbnB1dCxpc2luZGV4
LGtleWdlbixsaW5rLG1ldGEscGFyYW0sc291cmNlLHRyYWNrLHdiciIsITApLFhpPWkoImNvbGdy
b3VwLGRkLGR0LGxpLG9wdGlvbnMscCx0ZCx0Zm9vdCx0aCx0aGVhZCx0cixzb3VyY2UiLCEwKSxl
bz1pKCJhZGRyZXNzLGFydGljbGUsYXNpZGUsYmFzZSxibG9ja3F1b3RlLGJvZHksY2FwdGlvbixj
b2wsY29sZ3JvdXAsZGQsZGV0YWlscyxkaWFsb2csZGl2LGRsLGR0LGZpZWxkc2V0LGZpZ2NhcHRp
b24sZmlndXJlLGZvb3Rlcixmb3JtLGgxLGgyLGgzLGg0LGg1LGg2LGhlYWQsaGVhZGVyLGhncm91
cCxocixodG1sLGxlZ2VuZCxsaSxtZW51aXRlbSxtZXRhLG9wdGdyb3VwLG9wdGlvbixwYXJhbSxy
cCxydCxzb3VyY2Usc3R5bGUsc3VtbWFyeSx0Ym9keSx0ZCx0Zm9vdCx0aCx0aGVhZCx0aXRsZSx0
cix0cmFjayIsITApLHRvPWkoInN2ZyxhbmltYXRlLGNpcmNsZSxjbGlwcGF0aCxjdXJzb3IsZGVm
cyxkZXNjLGVsbGlwc2UsZmlsdGVyLGZvbnQsZm9udC1mYWNlLGcsZ2x5cGgsaW1hZ2UsbGluZSxt
YXJrZXIsbWFzayxtaXNzaW5nLWdseXBoLHBhdGgscGF0dGVybixwb2x5Z29uLHBvbHlsaW5lLHJl
Y3Qsc3dpdGNoLHN5bWJvbCx0ZXh0LHRleHRwYXRoLHRzcGFuLHVzZSx2aWV3IiwhMCksbm89ZnVu
Y3Rpb24oZSl7cmV0dXJuInByZSI9PT1lfSxybz1mdW5jdGlvbihlKXtyZXR1cm4gWWkoZSl8fHRv
KGUpfSxpbz1PYmplY3QuY3JlYXRlKG51bGwpLG9vPU9iamVjdC5mcmVlemUoe2NyZWF0ZUVsZW1l
bnQ6ZXQsY3JlYXRlRWxlbWVudE5TOnR0LGNyZWF0ZVRleHROb2RlOm50LGNyZWF0ZUNvbW1lbnQ6
cnQsaW5zZXJ0QmVmb3JlOml0LHJlbW92ZUNoaWxkOm90LGFwcGVuZENoaWxkOmF0LHBhcmVudE5v
ZGU6c3QsbmV4dFNpYmxpbmc6Y3QsdGFnTmFtZTp1dCxzZXRUZXh0Q29udGVudDpsdCxjaGlsZE5v
ZGVzOmZ0LHNldEF0dHJpYnV0ZTpkdH0pLGFvPXtjcmVhdGU6ZnVuY3Rpb24oZSx0KXtwdCh0KX0s
dXBkYXRlOmZ1bmN0aW9uKGUsdCl7ZS5kYXRhLnJlZiE9PXQuZGF0YS5yZWYmJihwdChlLCEwKSxw
dCh0KSl9LGRlc3Ryb3k6ZnVuY3Rpb24oZSl7cHQoZSwhMCl9fSxzbz1uZXcgTGkoIiIse30sW10p
LGNvPVsiY3JlYXRlIiwidXBkYXRlIiwicmVtb3ZlIiwiZGVzdHJveSJdLHVvPXtjcmVhdGU6X3Qs
dXBkYXRlOl90LGRlc3Ryb3k6ZnVuY3Rpb24oZSl7X3QoZSxzbyl9fSxsbz1PYmplY3QuY3JlYXRl
KG51bGwpLGZvPVthbyx1b10scG89e2NyZWF0ZTokdCx1cGRhdGU6JHR9LGhvPXtjcmVhdGU6QXQs
dXBkYXRlOkF0fSx2bz17Y3JlYXRlOmt0LHVwZGF0ZTprdH0sbW89e2NyZWF0ZTpPdCx1cGRhdGU6
T3R9LGdvPWMoZnVuY3Rpb24oZSl7dmFyIHQ9e30sbj1lLmluZGV4T2YoImJhY2tncm91bmQiKT49
MCxyPW4/LzsoPyFbXihdKlwpKS9nOiI7IixpPW4/LzooLispLzoiOiI7cmV0dXJuIGUuc3BsaXQo
cikuZm9yRWFjaChmdW5jdGlvbihlKXtpZihlKXt2YXIgbj1lLnNwbGl0KGkpO24ubGVuZ3RoPjEm
Jih0W25bMF0udHJpbSgpXT1uWzFdLnRyaW0oKSl9fSksdH0pLHlvPS9eLS0vLF9vPWZ1bmN0aW9u
KGUsdCxuKXt5by50ZXN0KHQpP2Uuc3R5bGUuc2V0UHJvcGVydHkodCxuKTplLnN0eWxlW3dvKHQp
XT1ufSxibz1bIldlYmtpdCIsIk1veiIsIm1zIl0sd289YyhmdW5jdGlvbihlKXtpZihVaT1VaXx8
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksZT1KcihlKSwiZmlsdGVyIiE9PWUmJmUgaW4g
VWkuc3R5bGUpcmV0dXJuIGU7Zm9yKHZhciB0PWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrZS5z
bGljZSgxKSxuPTA7bjxiby5sZW5ndGg7bisrKXt2YXIgcj1ib1tuXSt0O2lmKHIgaW4gVWkuc3R5
bGUpcmV0dXJuIHJ9fSkseG89e2NyZWF0ZTpqdCx1cGRhdGU6anR9LCRvPWVpJiYhcmksQ289InRy
YW5zaXRpb24iLEFvPSJhbmltYXRpb24iLGtvPSJ0cmFuc2l0aW9uIixPbz0idHJhbnNpdGlvbmVu
ZCIsU289ImFuaW1hdGlvbiIsVG89ImFuaW1hdGlvbmVuZCI7JG8mJih2b2lkIDA9PT13aW5kb3cu
b250cmFuc2l0aW9uZW5kJiZ2b2lkIDAhPT13aW5kb3cub253ZWJraXR0cmFuc2l0aW9uZW5kJiYo
a289IldlYmtpdFRyYW5zaXRpb24iLE9vPSJ3ZWJraXRUcmFuc2l0aW9uRW5kIiksdm9pZCAwPT09
d2luZG93Lm9uYW5pbWF0aW9uZW5kJiZ2b2lkIDAhPT13aW5kb3cub253ZWJraXRhbmltYXRpb25l
bmQmJihTbz0iV2Via2l0QW5pbWF0aW9uIixUbz0id2Via2l0QW5pbWF0aW9uRW5kIikpO3ZhciBF
bz1laSYmd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZXx8c2V0VGltZW91dCxqbz0vXGIodHJh
bnNmb3JtfGFsbCkoLHwkKS8sTm89YyhmdW5jdGlvbihlKXtyZXR1cm57ZW50ZXJDbGFzczplKyIt
ZW50ZXIiLGxlYXZlQ2xhc3M6ZSsiLWxlYXZlIixhcHBlYXJDbGFzczplKyItZW50ZXIiLGVudGVy
QWN0aXZlQ2xhc3M6ZSsiLWVudGVyLWFjdGl2ZSIsbGVhdmVBY3RpdmVDbGFzczplKyItbGVhdmUt
YWN0aXZlIixhcHBlYXJBY3RpdmVDbGFzczplKyItZW50ZXItYWN0aXZlIn19KSxMbz1laT97Y3Jl
YXRlOmZ1bmN0aW9uKGUsdCl7dC5kYXRhLnNob3d8fEZ0KHQpfSxyZW1vdmU6ZnVuY3Rpb24oZSx0
KXtlLmRhdGEuc2hvdz90KCk6VXQoZSx0KX19Ont9LE1vPVtwbyxobyx2byxtbyx4byxMb10sUG89
TW8uY29uY2F0KGZvKSxEbz15dCh7bm9kZU9wczpvbyxtb2R1bGVzOlBvfSk7cmkmJmRvY3VtZW50
LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsZnVuY3Rpb24oKXt2YXIgZT1kb2N1
bWVudC5hY3RpdmVFbGVtZW50O2UmJmUudm1vZGVsJiZHdChlLCJpbnB1dCIpfSk7dmFyIFJvPXtp
bnNlcnRlZDpmdW5jdGlvbihlLHQsbil7aWYoInNlbGVjdCI9PT1uLnRhZyl7dmFyIHI9ZnVuY3Rp
b24oKXtKdChlLHQsbi5jb250ZXh0KX07cigpLChuaXx8aWkpJiZzZXRUaW1lb3V0KHIsMCl9ZWxz
ZSJ0ZXh0YXJlYSIhPT1uLnRhZyYmInRleHQiIT09ZS50eXBlfHx0Lm1vZGlmaWVycy5sYXp5fHwo
b2l8fChlLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9uc3RhcnQiLFd0KSxlLmFkZEV2ZW50
TGlzdGVuZXIoImNvbXBvc2l0aW9uZW5kIixadCkpLHJpJiYoZS52bW9kZWw9ITApKX0sY29tcG9u
ZW50VXBkYXRlZDpmdW5jdGlvbihlLHQsbil7aWYoInNlbGVjdCI9PT1uLnRhZyl7Ci1KdChlLHQs
bi5jb250ZXh0KTt2YXIgcj1lLm11bHRpcGxlP3QudmFsdWUuc29tZShmdW5jdGlvbih0KXtyZXR1
cm4gcXQodCxlLm9wdGlvbnMpfSk6dC52YWx1ZSE9PXQub2xkVmFsdWUmJnF0KHQudmFsdWUsZS5v
cHRpb25zKTtyJiZHdChlLCJjaGFuZ2UiKX19fSxCbz17YmluZDpmdW5jdGlvbihlLHQsbil7dmFy
IHI9dC52YWx1ZTtuPVl0KG4pO3ZhciBpPW4uZGF0YSYmbi5kYXRhLnRyYW5zaXRpb247ciYmaSYm
IXJpJiZGdChuKTt2YXIgbz0ibm9uZSI9PT1lLnN0eWxlLmRpc3BsYXk/IiI6ZS5zdHlsZS5kaXNw
bGF5O2Uuc3R5bGUuZGlzcGxheT1yP286Im5vbmUiLGUuX192T3JpZ2luYWxEaXNwbGF5PW99LHVw
ZGF0ZTpmdW5jdGlvbihlLHQsbil7dmFyIHI9dC52YWx1ZSxpPXQub2xkVmFsdWU7aWYociE9PWkp
e249WXQobik7dmFyIG89bi5kYXRhJiZuLmRhdGEudHJhbnNpdGlvbjtvJiYhcmk/cj8oRnQobiks
ZS5zdHlsZS5kaXNwbGF5PWUuX192T3JpZ2luYWxEaXNwbGF5KTpVdChuLGZ1bmN0aW9uKCl7ZS5z
dHlsZS5kaXNwbGF5PSJub25lIn0pOmUuc3R5bGUuZGlzcGxheT1yP2UuX192T3JpZ2luYWxEaXNw
bGF5OiJub25lIn19fSxJbz17bW9kZWw6Um8sc2hvdzpCb30sSG89e25hbWU6U3RyaW5nLGFwcGVh
cjpCb29sZWFuLGNzczpCb29sZWFuLG1vZGU6U3RyaW5nLHR5cGU6U3RyaW5nLGVudGVyQ2xhc3M6
U3RyaW5nLGxlYXZlQ2xhc3M6U3RyaW5nLGVudGVyQWN0aXZlQ2xhc3M6U3RyaW5nLGxlYXZlQWN0
aXZlQ2xhc3M6U3RyaW5nLGFwcGVhckNsYXNzOlN0cmluZyxhcHBlYXJBY3RpdmVDbGFzczpTdHJp
bmd9LEZvPXtuYW1lOiJ0cmFuc2l0aW9uIixwcm9wczpIbyxhYnN0cmFjdDohMCxyZW5kZXI6ZnVu
Y3Rpb24oZSl7dmFyIHQ9dGhpcyxuPXRoaXMuJHNsb3RzLmRlZmF1bHQ7aWYobiYmKG49bi5maWx0
ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIGUudGFnfSksbi5sZW5ndGgpKXt2YXIgcj10aGlzLm1vZGUs
aT1uWzBdO2lmKHRuKHRoaXMuJHZub2RlKSlyZXR1cm4gaTt2YXIgbz1RdChpKTtpZighbylyZXR1
cm4gaTtpZih0aGlzLl9sZWF2aW5nKXJldHVybiBlbihlLGkpO3ZhciBhPW8ua2V5PW51bGw9PW8u
a2V5fHxvLmlzU3RhdGljPyJfX3YiKyhvLnRhZyt0aGlzLl91aWQpKyJfXyI6by5rZXkscz0oby5k
YXRhfHwoby5kYXRhPXt9KSkudHJhbnNpdGlvbj1YdCh0aGlzKSxjPXRoaXMuX3Zub2RlLHU9UXQo
Yyk7aWYoby5kYXRhLmRpcmVjdGl2ZXMmJm8uZGF0YS5kaXJlY3RpdmVzLnNvbWUoZnVuY3Rpb24o
ZSl7cmV0dXJuInNob3ciPT09ZS5uYW1lfSkmJihvLmRhdGEuc2hvdz0hMCksdSYmdS5kYXRhJiZ1
LmtleSE9PWEpe3ZhciBsPXUuZGF0YS50cmFuc2l0aW9uPWYoe30scyk7aWYoIm91dC1pbiI9PT1y
KXJldHVybiB0aGlzLl9sZWF2aW5nPSEwLGFlKGwsImFmdGVyTGVhdmUiLGZ1bmN0aW9uKCl7dC5f
bGVhdmluZz0hMSx0LiRmb3JjZVVwZGF0ZSgpfSxhKSxlbihlLGkpO2lmKCJpbi1vdXQiPT09cil7
dmFyIGQscD1mdW5jdGlvbigpe2QoKX07YWUocywiYWZ0ZXJFbnRlciIscCxhKSxhZShzLCJlbnRl
ckNhbmNlbGxlZCIscCxhKSxhZShsLCJkZWxheUxlYXZlIixmdW5jdGlvbihlKXtkPWV9LGEpfX1y
ZXR1cm4gaX19fSxVbz1mKHt0YWc6U3RyaW5nLG1vdmVDbGFzczpTdHJpbmd9LEhvKTtkZWxldGUg
VW8ubW9kZTt2YXIgem89e3Byb3BzOlVvLHJlbmRlcjpmdW5jdGlvbihlKXtmb3IodmFyIHQ9dGhp
cy50YWd8fHRoaXMuJHZub2RlLmRhdGEudGFnfHwic3BhbiIsbj1PYmplY3QuY3JlYXRlKG51bGwp
LHI9dGhpcy5wcmV2Q2hpbGRyZW49dGhpcy5jaGlsZHJlbixpPXRoaXMuJHNsb3RzLmRlZmF1bHR8
fFtdLG89dGhpcy5jaGlsZHJlbj1bXSxhPVh0KHRoaXMpLHM9MDtzPGkubGVuZ3RoO3MrKyl7dmFy
IGM9aVtzXTtpZihjLnRhZylpZihudWxsIT1jLmtleSYmMCE9PVN0cmluZyhjLmtleSkuaW5kZXhP
ZigiX192bGlzdCIpKW8ucHVzaChjKSxuW2Mua2V5XT1jLChjLmRhdGF8fChjLmRhdGE9e30pKS50
cmFuc2l0aW9uPWE7ZWxzZTt9aWYocil7Zm9yKHZhciB1PVtdLGw9W10sZj0wO2Y8ci5sZW5ndGg7
ZisrKXt2YXIgZD1yW2ZdO2QuZGF0YS50cmFuc2l0aW9uPWEsZC5kYXRhLnBvcz1kLmVsbS5nZXRC
b3VuZGluZ0NsaWVudFJlY3QoKSxuW2Qua2V5XT91LnB1c2goZCk6bC5wdXNoKGQpfXRoaXMua2Vw
dD1lKHQsbnVsbCx1KSx0aGlzLnJlbW92ZWQ9bH1yZXR1cm4gZSh0LG51bGwsbyl9LGJlZm9yZVVw
ZGF0ZTpmdW5jdGlvbigpe3RoaXMuX19wYXRjaF9fKHRoaXMuX3Zub2RlLHRoaXMua2VwdCwhMSwh
MCksdGhpcy5fdm5vZGU9dGhpcy5rZXB0fSx1cGRhdGVkOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5w
cmV2Q2hpbGRyZW4sdD10aGlzLm1vdmVDbGFzc3x8KHRoaXMubmFtZXx8InYiKSsiLW1vdmUiO2lm
KGUubGVuZ3RoJiZ0aGlzLmhhc01vdmUoZVswXS5lbG0sdCkpe2UuZm9yRWFjaChubiksZS5mb3JF
YWNoKHJuKSxlLmZvckVhY2gob24pO2RvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0O2UuZm9yRWFj
aChmdW5jdGlvbihlKXtpZihlLmRhdGEubW92ZWQpe3ZhciBuPWUuZWxtLHI9bi5zdHlsZTtQdChu
LHQpLHIudHJhbnNmb3JtPXIuV2Via2l0VHJhbnNmb3JtPXIudHJhbnNpdGlvbkR1cmF0aW9uPSIi
LG4uYWRkRXZlbnRMaXN0ZW5lcihPbyxuLl9tb3ZlQ2I9ZnVuY3Rpb24gZShyKXtyJiYhL3RyYW5z
Zm9ybSQvLnRlc3Qoci5wcm9wZXJ0eU5hbWUpfHwobi5yZW1vdmVFdmVudExpc3RlbmVyKE9vLGUp
LG4uX21vdmVDYj1udWxsLER0KG4sdCkpfSl9fSl9fSxtZXRob2RzOntoYXNNb3ZlOmZ1bmN0aW9u
KGUsdCl7aWYoISRvKXJldHVybiExO2lmKG51bGwhPXRoaXMuX2hhc01vdmUpcmV0dXJuIHRoaXMu
X2hhc01vdmU7UHQoZSx0KTt2YXIgbj1CdChlKTtyZXR1cm4gRHQoZSx0KSx0aGlzLl9oYXNNb3Zl
PW4uaGFzVHJhbnNmb3JtfX19LFZvPXtUcmFuc2l0aW9uOkZvLFRyYW5zaXRpb25Hcm91cDp6b307
SWUuY29uZmlnLmlzVW5rbm93bkVsZW1lbnQ9UWUsSWUuY29uZmlnLmlzUmVzZXJ2ZWRUYWc9cm8s
SWUuY29uZmlnLmdldFRhZ05hbWVzcGFjZT1ZZSxJZS5jb25maWcubXVzdFVzZVByb3A9emksZihJ
ZS5vcHRpb25zLmRpcmVjdGl2ZXMsSW8pLGYoSWUub3B0aW9ucy5jb21wb25lbnRzLFZvKSxJZS5w
cm90b3R5cGUuX19wYXRjaF9fPWVpP0RvOnYsSWUucHJvdG90eXBlLiRtb3VudD1mdW5jdGlvbihl
LHQpe3JldHVybiBlPWUmJmVpP1hlKGUpOnZvaWQgMCx0aGlzLl9tb3VudChlLHQpfSxzZXRUaW1l
b3V0KGZ1bmN0aW9uKCl7ZmkuZGV2dG9vbHMmJmNpJiZjaS5lbWl0KCJpbml0IixJZSl9LDApO3Zh
ciBKbyxxbz0hIWVpJiZhbigiXG4iLCImIzEwOyIpLEtvPS8oW15ccyInPD5cLz1dKykvLFdvPS8o
Pzo9KS8sWm89Wy8iKFteIl0qKSIrLy5zb3VyY2UsLycoW14nXSopJysvLnNvdXJjZSwvKFteXHMi
Jz08PmBdKykvLnNvdXJjZV0sR289bmV3IFJlZ0V4cCgiXlxccyoiK0tvLnNvdXJjZSsiKD86XFxz
KigiK1dvLnNvdXJjZSsiKVxccyooPzoiK1pvLmpvaW4oInwiKSsiKSk/IiksWW89IlthLXpBLVpf
XVtcXHdcXC1cXC5dKiIsUW89IigoPzoiK1lvKyJcXDopPyIrWW8rIikiLFhvPW5ldyBSZWdFeHAo
Il48IitRbyksZWE9L15ccyooXC8/KT4vLHRhPW5ldyBSZWdFeHAoIl48XFwvIitRbysiW14+XSo+
IiksbmE9L148IURPQ1RZUEUgW14+XSs+L2kscmE9L148IS0tLyxpYT0vXjwhXFsvLG9hPSExOyJ4
Ii5yZXBsYWNlKC94KC4pPy9nLGZ1bmN0aW9uKGUsdCl7b2E9IiI9PT10fSk7dmFyIGFhLHNhLGNh
LHVhLGxhLGZhLGRhLHBhLGhhLHZhLG1hLGdhLHlhLF9hLGJhLHdhLHhhLCRhLENhLEFhLGthLE9h
LFNhLFRhLEVhPWkoInNjcmlwdCxzdHlsZSIsITApLGphPWZ1bmN0aW9uKGUpe3JldHVybiJsYW5n
Ij09PWUubmFtZSYmImh0bWwiIT09ZS52YWx1ZX0sTmE9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiEh
RWEoZSl8fCEoIXR8fDEhPT1uLmxlbmd0aCkmJiEoInRlbXBsYXRlIj09PWUmJiFuWzBdLmF0dHJz
LnNvbWUoamEpKX0sTGE9e30sTWE9LyZsdDsvZyxQYT0vJmd0Oy9nLERhPS8mIzEwOy9nLFJhPS8m
YW1wOy9nLEJhPS8mcXVvdDsvZyxJYT0vXHtceygoPzoufFxuKSs/KVx9XH0vZyxIYT0vWy0uKis/
XiR7fSgpfFtcXVwvXFxdL2csRmE9YyhmdW5jdGlvbihlKXt2YXIgdD1lWzBdLnJlcGxhY2UoSGEs
IlxcJCYiKSxuPWVbMV0ucmVwbGFjZShIYSwiXFwkJiIpO3JldHVybiBuZXcgUmVnRXhwKHQrIigo
PzoufFxcbikrPykiK24sImciKX0pLFVhPS9edi18XkB8XjovLHphPS8oLio/KVxzKyg/OmlufG9m
KVxzKyguKikvLFZhPS9cKChce1tefV0qXH18W14sXSopLChbXixdKikoPzosKFteLF0qKSk/XCkv
LEphPS9eOnxedi1iaW5kOi8scWE9L15AfF52LW9uOi8sS2E9LzooLiopJC8sV2E9L1wuW14uXSsv
ZyxaYT1jKHNuKSxHYT0vXnhtbG5zOk5TXGQrLyxZYT0vXk5TXGQrOi8sUWE9YyhLbiksWGE9L15c
cyooW1x3JF9dK3xcKFteKV0qP1wpKVxzKj0+fF5mdW5jdGlvblxzKlwoLyxlcz0vXlxzKltBLVph
LXpfJF1bXHckXSooPzpcLltBLVphLXpfJF1bXHckXSp8XFsnLio/J118XFsiLio/Il18XFtcZCtd
fFxbW0EtWmEtel8kXVtcdyRdKl0pKlxzKiQvLHRzPXtlc2M6MjcsdGFiOjksZW50ZXI6MTMsc3Bh
Y2U6MzIsdXA6MzgsbGVmdDozNyxyaWdodDozOSxkb3duOjQwLGRlbGV0ZTpbOCw0Nl19LG5zPXtz
dG9wOiIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IixwcmV2ZW50OiIkZXZlbnQucHJldmVudERl
ZmF1bHQoKTsiLHNlbGY6ImlmKCRldmVudC50YXJnZXQgIT09ICRldmVudC5jdXJyZW50VGFyZ2V0
KXJldHVybjsifSxycz0vXm1vdXNlfF5wb2ludGVyfF4oY2xpY2t8ZGJsY2xpY2t8Y29udGV4dG1l
bnV8d2hlZWwpJC8saXM9e2N0cmw6ImlmKCEkZXZlbnQuY3RybEtleSlyZXR1cm47IixzaGlmdDoi
aWYoISRldmVudC5zaGlmdEtleSlyZXR1cm47IixhbHQ6ImlmKCEkZXZlbnQuYWx0S2V5KXJldHVy
bjsiLG1ldGE6ImlmKCEkZXZlbnQubWV0YUtleSlyZXR1cm47In0sb3M9e2JpbmQ6cnIsY2xvYWs6
dn0sYXM9KG5ldyBSZWdFeHAoIlxcYiIrImRvLGlmLGZvcixsZXQsbmV3LHRyeSx2YXIsY2FzZSxl
bHNlLHdpdGgsYXdhaXQsYnJlYWssY2F0Y2gsY2xhc3MsY29uc3Qsc3VwZXIsdGhyb3csd2hpbGUs
eWllbGQsZGVsZXRlLGV4cG9ydCxpbXBvcnQscmV0dXJuLHN3aXRjaCxkZWZhdWx0LGV4dGVuZHMs
ZmluYWxseSxjb250aW51ZSxkZWJ1Z2dlcixmdW5jdGlvbixhcmd1bWVudHMiLnNwbGl0KCIsIiku
am9pbigiXFxifFxcYiIpKyJcXGIiKSx7c3RhdGljS2V5czpbInN0YXRpY0NsYXNzIl0sdHJhbnNm
b3JtTm9kZTpDcixnZW5EYXRhOkFyfSksc3M9e3N0YXRpY0tleXM6WyJzdGF0aWNTdHlsZSJdLHRy
YW5zZm9ybU5vZGU6a3IsZ2VuRGF0YTpPcn0sY3M9W2FzLHNzXSx1cz17bW9kZWw6U3IsdGV4dDpN
cixodG1sOlByfSxscz1PYmplY3QuY3JlYXRlKG51bGwpLGZzPXtleHBlY3RIVE1MOiEwLG1vZHVs
ZXM6Y3Msc3RhdGljS2V5czptKGNzKSxkaXJlY3RpdmVzOnVzLGlzUmVzZXJ2ZWRUYWc6cm8saXNV
bmFyeVRhZzpRaSxtdXN0VXNlUHJvcDp6aSxnZXRUYWdOYW1lc3BhY2U6WWUsaXNQcmVUYWc6bm99
LGRzPWMoZnVuY3Rpb24oZSl7dmFyIHQ9WGUoZSk7cmV0dXJuIHQmJnQuaW5uZXJIVE1MfSkscHM9
SWUucHJvdG90eXBlLiRtb3VudDtJZS5wcm90b3R5cGUuJG1vdW50PWZ1bmN0aW9uKGUsdCl7aWYo
ZT1lJiZYZShlKSxlPT09ZG9jdW1lbnQuYm9keXx8ZT09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVu
dClyZXR1cm4gdGhpczt2YXIgbj10aGlzLiRvcHRpb25zO2lmKCFuLnJlbmRlcil7dmFyIHI9bi50
ZW1wbGF0ZTtpZihyKWlmKCJzdHJpbmciPT10eXBlb2YgcikiIyI9PT1yLmNoYXJBdCgwKSYmKHI9
ZHMocikpO2Vsc2V7aWYoIXIubm9kZVR5cGUpcmV0dXJuIHRoaXM7cj1yLmlubmVySFRNTH1lbHNl
IGUmJihyPUlyKGUpKTtpZihyKXt2YXIgaT1ScihyLHt3YXJuOmRpLHNob3VsZERlY29kZU5ld2xp
bmVzOnFvLGRlbGltaXRlcnM6bi5kZWxpbWl0ZXJzfSx0aGlzKSxvPWkucmVuZGVyLGE9aS5zdGF0
aWNSZW5kZXJGbnM7bi5yZW5kZXI9byxuLnN0YXRpY1JlbmRlckZucz1hfX1yZXR1cm4gcHMuY2Fs
bCh0aGlzLGUsdCl9LEllLmNvbXBpbGU9UnIsZS5leHBvcnRzPUllfSkuY2FsbCh0LGZ1bmN0aW9u
KCl7cmV0dXJuIHRoaXN9KCkpfSwsLGZ1bmN0aW9uKGUsdCxuKXshZnVuY3Rpb24oZSl7ZnVuY3Rp
b24gdCgpe3JldHVybiIiPT09dS5oYXNofHwiIyI9PT11Lmhhc2h9ZnVuY3Rpb24gbihlLHQpe2Zv
cih2YXIgbj0wO248ZS5sZW5ndGg7bis9MSlpZih0KGVbbl0sbixlKT09PSExKXJldHVybn1mdW5j
dGlvbiByKGUpe2Zvcih2YXIgdD1bXSxuPTAscj1lLmxlbmd0aDtuPHI7bisrKXQ9dC5jb25jYXQo
ZVtuXSk7cmV0dXJuIHR9ZnVuY3Rpb24gaShlLHQsbil7aWYoIWUubGVuZ3RoKXJldHVybiBuKCk7
dmFyIHI9MDshZnVuY3Rpb24gaSgpe3QoZVtyXSxmdW5jdGlvbih0KXt0fHx0PT09ITE/KG4odCks
bj1mdW5jdGlvbigpe30pOihyKz0xLHI9PT1lLmxlbmd0aD9uKCk6aSgpKX0pfSgpfWZ1bmN0aW9u
IG8oZSx0LG4pe249ZTtmb3IodmFyIHIgaW4gdClpZih0Lmhhc093blByb3BlcnR5KHIpJiYobj10
W3JdKGUpLG4hPT1lKSlicmVhaztyZXR1cm4gbj09PWU/IihbLl9hLXpBLVowLTktJSgpXSspIjpu
fWZ1bmN0aW9uIGEoZSx0KXtmb3IodmFyIG4scj0wLGk9IiI7bj1lLnN1YnN0cihyKS5tYXRjaCgv
W15cd1xkXC0gJUAmXSpcKlteXHdcZFwtICVAJl0qLyk7KXI9bi5pbmRleCtuWzBdLmxlbmd0aCxu
WzBdPW5bMF0ucmVwbGFjZSgvXlwqLywiKFtfLigpIVxcICVAJmEtekEtWjAtOS1dKykiKSxpKz1l
LnN1YnN0cigwLG4uaW5kZXgpK25bMF07ZT1pKz1lLnN1YnN0cihyKTt2YXIgYSxzLGM9ZS5tYXRj
aCgvOihbXlwvXSspL2dpKTtpZihjKXtzPWMubGVuZ3RoO2Zvcih2YXIgdT0wO3U8czt1KyspYT1j
W3VdLGU9Ijo6Ij09PWEuc2xpY2UoMCwyKT9hLnNsaWNlKDEpOmUucmVwbGFjZShhLG8oYSx0KSl9
cmV0dXJuIGV9ZnVuY3Rpb24gYyhlLHQsbixyKXt2YXIgaSxvPTAsYT0wLHM9MCxuPShufHwiKCIp
LnRvU3RyaW5nKCkscj0ocnx8IikiKS50b1N0cmluZygpO2ZvcihpPTA7aTxlLmxlbmd0aDtpKysp
e3ZhciBjPWVbaV07aWYoYy5pbmRleE9mKG4sbyk+Yy5pbmRleE9mKHIsbyl8fH5jLmluZGV4T2Yo
bixvKSYmIX5jLmluZGV4T2YocixvKXx8IX5jLmluZGV4T2YobixvKSYmfmMuaW5kZXhPZihyLG8p
KXtpZihhPWMuaW5kZXhPZihuLG8pLHM9Yy5pbmRleE9mKHIsbyksfmEmJiF+c3x8IX5hJiZ+cyl7
dmFyIHU9ZS5zbGljZSgwLChpfHwxKSsxKS5qb2luKHQpO2U9W3VdLmNvbmNhdChlLnNsaWNlKChp
fHwxKSsxKSl9bz0ocz5hP3M6YSkrMSxpPTB9ZWxzZSBvPTB9cmV0dXJuIGV9dmFyIHU9ZG9jdW1l
bnQubG9jYXRpb24sbD17bW9kZToibW9kZXJuIixoYXNoOnUuaGFzaCxoaXN0b3J5OiExLGNoZWNr
OmZ1bmN0aW9uKCl7dmFyIGU9dS5oYXNoO2UhPXRoaXMuaGFzaCYmKHRoaXMuaGFzaD1lLHRoaXMu
b25IYXNoQ2hhbmdlZCgpKX0sZmlyZTpmdW5jdGlvbigpeyJtb2Rlcm4iPT09dGhpcy5tb2RlP3Ro
aXMuaGlzdG9yeT09PSEwP3dpbmRvdy5vbnBvcHN0YXRlKCk6d2luZG93Lm9uaGFzaGNoYW5nZSgp
OnRoaXMub25IYXNoQ2hhbmdlZCgpfSxpbml0OmZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbihlKXtm
b3IodmFyIHQ9MCxuPWYubGlzdGVuZXJzLmxlbmd0aDt0PG47dCsrKWYubGlzdGVuZXJzW3RdKGUp
fXZhciByPXRoaXM7aWYodGhpcy5oaXN0b3J5PXQsZi5saXN0ZW5lcnN8fChmLmxpc3RlbmVycz1b
XSksIm9uaGFzaGNoYW5nZSJpbiB3aW5kb3cmJih2b2lkIDA9PT1kb2N1bWVudC5kb2N1bWVudE1v
ZGV8fGRvY3VtZW50LmRvY3VtZW50TW9kZT43KSl0aGlzLmhpc3Rvcnk9PT0hMD9zZXRUaW1lb3V0
KGZ1bmN0aW9uKCl7d2luZG93Lm9ucG9wc3RhdGU9bn0sNTAwKTp3aW5kb3cub25oYXNoY2hhbmdl
PW4sdGhpcy5tb2RlPSJtb2Rlcm4iO2Vsc2V7dmFyIGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
aWZyYW1lIik7aS5pZD0ic3RhdGUtZnJhbWUiLGkuc3R5bGUuZGlzcGxheT0ibm9uZSIsZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChpKSx0aGlzLndyaXRlRnJhbWUoIiIpLCJvbnByb3BlcnR5Y2hh
bmdlImluIGRvY3VtZW50JiYiYXR0YWNoRXZlbnQiaW4gZG9jdW1lbnQmJmRvY3VtZW50LmF0dGFj
aEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIixmdW5jdGlvbigpeyJsb2NhdGlvbiI9PT1ldmVudC5w
cm9wZXJ0eU5hbWUmJnIuY2hlY2soKX0pLHdpbmRvdy5zZXRJbnRlcnZhbChmdW5jdGlvbigpe3Iu
Y2hlY2soKX0sNTApLHRoaXMub25IYXNoQ2hhbmdlZD1uLHRoaXMubW9kZT0ibGVnYWN5In1yZXR1
cm4gZi5saXN0ZW5lcnMucHVzaChlKSx0aGlzLm1vZGV9LGRlc3Ryb3k6ZnVuY3Rpb24oZSl7aWYo
ZiYmZi5saXN0ZW5lcnMpZm9yKHZhciB0PWYubGlzdGVuZXJzLG49dC5sZW5ndGgtMTtuPj0wO24t
LSl0W25dPT09ZSYmdC5zcGxpY2UobiwxKX0sc2V0SGFzaDpmdW5jdGlvbihlKXtyZXR1cm4ibGVn
YWN5Ij09PXRoaXMubW9kZSYmdGhpcy53cml0ZUZyYW1lKGUpLHRoaXMuaGlzdG9yeT09PSEwPyh3
aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUoe30sZG9jdW1lbnQudGl0bGUsZSksdGhpcy5maXJlKCkp
OnUuaGFzaD0iLyI9PT1lWzBdP2U6Ii8iK2UsdGhpc30sd3JpdGVGcmFtZTpmdW5jdGlvbihlKXt2
YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhdGUtZnJhbWUiKSxuPXQuY29udGVudERv
Y3VtZW50fHx0LmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7bi5vcGVuKCksbi53cml0ZSgiPHNjcmlw
dD5faGFzaCA9ICciK2UrIic7IG9ubG9hZCA9IHBhcmVudC5saXN0ZW5lci5zeW5jSGFzaDs8c2Ny
aXB0PiIpLG4uY2xvc2UoKX0sc3luY0hhc2g6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9oYXNoO3Jl
dHVybiBlIT11Lmhhc2gmJih1Lmhhc2g9ZSksdGhpc30sb25IYXNoQ2hhbmdlZDpmdW5jdGlvbigp
e319LGY9ZS5Sb3V0ZXI9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBmPyh0aGlz
LnBhcmFtcz17fSx0aGlzLnJvdXRlcz17fSx0aGlzLm1ldGhvZHM9WyJvbiIsIm9uY2UiLCJhZnRl
ciIsImJlZm9yZSJdLHRoaXMuc2NvcGU9W10sdGhpcy5fbWV0aG9kcz17fSx0aGlzLl9pbnNlcnQ9
dGhpcy5pbnNlcnQsdGhpcy5pbnNlcnQ9dGhpcy5pbnNlcnRFeCx0aGlzLmhpc3RvcnlTdXBwb3J0
PW51bGwhPShudWxsIT13aW5kb3cuaGlzdG9yeT93aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGU6bnVs
bCksdGhpcy5jb25maWd1cmUoKSx2b2lkIHRoaXMubW91bnQoZXx8e30pKTpuZXcgZihlKX07Zi5w
cm90b3R5cGUuaW5pdD1mdW5jdGlvbihlKXt2YXIgbixyPXRoaXM7cmV0dXJuIHRoaXMuaGFuZGxl
cj1mdW5jdGlvbihlKXt2YXIgdD1lJiZlLm5ld1VSTHx8d2luZG93LmxvY2F0aW9uLmhhc2gsbj1y
Lmhpc3Rvcnk9PT0hMD9yLmdldFBhdGgoKTp0LnJlcGxhY2UoLy4qIy8sIiIpO3IuZGlzcGF0Y2go
Im9uIiwiLyI9PT1uLmNoYXJBdCgwKT9uOiIvIituKX0sbC5pbml0KHRoaXMuaGFuZGxlcix0aGlz
Lmhpc3RvcnkpLHRoaXMuaGlzdG9yeT09PSExP3QoKSYmZT91Lmhhc2g9ZTp0KCl8fHIuZGlzcGF0
Y2goIm9uIiwiLyIrdS5oYXNoLnJlcGxhY2UoL14oI1wvfCN8XC8pLywiIikpOih0aGlzLmNvbnZl
cnRfaGFzaF9pbl9pbml0PyhuPXQoKSYmZT9lOnQoKT9udWxsOnUuaGFzaC5yZXBsYWNlKC9eIy8s
IiIpLG4mJndpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSh7fSxkb2N1bWVudC50aXRsZSxuKSk6
bj10aGlzLmdldFBhdGgoKSwobnx8dGhpcy5ydW5faW5faW5pdD09PSEwKSYmdGhpcy5oYW5kbGVy
KCkpLHRoaXN9LGYucHJvdG90eXBlLmV4cGxvZGU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmhpc3Rv
cnk9PT0hMD90aGlzLmdldFBhdGgoKTp1Lmhhc2g7cmV0dXJuIi8iPT09ZS5jaGFyQXQoMSkmJihl
PWUuc2xpY2UoMSkpLGUuc2xpY2UoMSxlLmxlbmd0aCkuc3BsaXQoIi8iKX0sZi5wcm90b3R5cGUu
c2V0Um91dGU9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXMuZXhwbG9kZSgpO3JldHVybiJudW1i
ZXIiPT10eXBlb2YgZSYmInN0cmluZyI9PXR5cGVvZiB0P3JbZV09dDoic3RyaW5nIj09dHlwZW9m
IG4/ci5zcGxpY2UoZSx0LHMpOnI9W2VdLGwuc2V0SGFzaChyLmpvaW4oIi8iKSkscn0sZi5wcm90
b3R5cGUuaW5zZXJ0RXg9ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIm9uY2UiPT09ZSYmKGU9Im9u
IixuPWZ1bmN0aW9uKGUpe3ZhciB0PSExO3JldHVybiBmdW5jdGlvbigpe2lmKCF0KXJldHVybiB0
PSEwLGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0obikpLHRoaXMuX2luc2VydChlLHQsbixyKX0s
Zi5wcm90b3R5cGUuZ2V0Um91dGU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZTtpZigibnVtYmVyIj09dHlw
ZW9mIGUpdD10aGlzLmV4cGxvZGUoKVtlXTtlbHNlIGlmKCJzdHJpbmciPT10eXBlb2YgZSl7dmFy
IG49dGhpcy5leHBsb2RlKCk7dD1uLmluZGV4T2YoZSl9ZWxzZSB0PXRoaXMuZXhwbG9kZSgpO3Jl
dHVybiB0fSxmLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7cmV0dXJuIGwuZGVzdHJveSh0
aGlzLmhhbmRsZXIpLHRoaXN9LGYucHJvdG90eXBlLmdldFBhdGg9ZnVuY3Rpb24oKXt2YXIgZT13
aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7cmV0dXJuIi8iIT09ZS5zdWJzdHIoMCwxKSYmKGU9Ii8i
K2UpLGV9O3ZhciBkPS9cPy4qLztmLnByb3RvdHlwZS5jb25maWd1cmU9ZnVuY3Rpb24oZSl7ZT1l
fHx7fTtmb3IodmFyIHQ9MDt0PHRoaXMubWV0aG9kcy5sZW5ndGg7dCsrKXRoaXMuX21ldGhvZHNb
dGhpcy5tZXRob2RzW3RdXT0hMDtyZXR1cm4gdGhpcy5yZWN1cnNlPWUucmVjdXJzZXx8dGhpcy5y
ZWN1cnNlfHwhMSx0aGlzLmFzeW5jPWUuYXN5bmN8fCExLHRoaXMuZGVsaW1pdGVyPWUuZGVsaW1p
dGVyfHwiLyIsdGhpcy5zdHJpY3Q9InVuZGVmaW5lZCI9PXR5cGVvZiBlLnN0cmljdHx8ZS5zdHJp
Y3QsdGhpcy5ub3Rmb3VuZD1lLm5vdGZvdW5kLHRoaXMucmVzb3VyY2U9ZS5yZXNvdXJjZSx0aGlz
Lmhpc3Rvcnk9ZS5odG1sNWhpc3RvcnkmJnRoaXMuaGlzdG9yeVN1cHBvcnR8fCExLHRoaXMucnVu
X2luX2luaXQ9dGhpcy5oaXN0b3J5PT09ITAmJmUucnVuX2hhbmRsZXJfaW5faW5pdCE9PSExLHRo
aXMuY29udmVydF9oYXNoX2luX2luaXQ9dGhpcy5oaXN0b3J5PT09ITAmJmUuY29udmVydF9oYXNo
X2luX2luaXQhPT0hMSx0aGlzLmV2ZXJ5PXthZnRlcjplLmFmdGVyfHxudWxsLGJlZm9yZTplLmJl
Zm9yZXx8bnVsbCxvbjplLm9ufHxudWxsfSx0aGlzfSxmLnByb3RvdHlwZS5wYXJhbT1mdW5jdGlv
bihlLHQpeyI6IiE9PWVbMF0mJihlPSI6IitlKTt2YXIgbj1uZXcgUmVnRXhwKGUsImciKTtyZXR1
cm4gdGhpcy5wYXJhbXNbZV09ZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZShuLHQuc291cmNl
fHx0KX0sdGhpc30sZi5wcm90b3R5cGUub249Zi5wcm90b3R5cGUucm91dGU9ZnVuY3Rpb24oZSx0
LG4pe3ZhciByPXRoaXM7cmV0dXJuIG58fCJmdW5jdGlvbiIhPXR5cGVvZiB0fHwobj10LHQ9ZSxl
PSJvbiIpLEFycmF5LmlzQXJyYXkodCk/dC5mb3JFYWNoKGZ1bmN0aW9uKHQpe3Iub24oZSx0LG4p
fSk6KHQuc291cmNlJiYodD10LnNvdXJjZS5yZXBsYWNlKC9cXFwvL2dpLCIvIikpLEFycmF5Lmlz
QXJyYXkoZSk/ZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3Iub24oZS50b0xvd2VyQ2FzZSgpLHQsbil9
KToodD10LnNwbGl0KG5ldyBSZWdFeHAodGhpcy5kZWxpbWl0ZXIpKSx0PWModCx0aGlzLmRlbGlt
aXRlciksdm9pZCB0aGlzLmluc2VydChlLHRoaXMuc2NvcGUuY29uY2F0KHQpLG4pKSl9LGYucHJv
dG90eXBlLnBhdGg9ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLnNjb3BlLmxlbmd0aDtlLnNvdXJj
ZSYmKGU9ZS5zb3VyY2UucmVwbGFjZSgvXFxcLy9naSwiLyIpKSxlPWUuc3BsaXQobmV3IFJlZ0V4
cCh0aGlzLmRlbGltaXRlcikpLGU9YyhlLHRoaXMuZGVsaW1pdGVyKSx0aGlzLnNjb3BlPXRoaXMu
c2NvcGUuY29uY2F0KGUpLHQuY2FsbCh0aGlzLHRoaXMpLHRoaXMuc2NvcGUuc3BsaWNlKG4sZS5s
ZW5ndGgpfSxmLnByb3RvdHlwZS5kaXNwYXRjaD1mdW5jdGlvbihlLHQsbil7ZnVuY3Rpb24gcigp
e28ubGFzdD1hLmFmdGVyLG8uaW52b2tlKG8ucnVubGlzdChhKSxvLG4pfXZhciBpLG89dGhpcyxh
PXRoaXMudHJhdmVyc2UoZSx0LnJlcGxhY2UoZCwiIiksdGhpcy5yb3V0ZXMsIiIpLHM9dGhpcy5f
aW52b2tlZDtyZXR1cm4gdGhpcy5faW52b2tlZD0hMCxhJiYwIT09YS5sZW5ndGg/KCJmb3J3YXJk
Ij09PXRoaXMucmVjdXJzZSYmKGE9YS5yZXZlcnNlKCkpLGk9dGhpcy5ldmVyeSYmdGhpcy5ldmVy
eS5hZnRlcj9bdGhpcy5ldmVyeS5hZnRlcl0uY29uY2F0KHRoaXMubGFzdCk6W3RoaXMubGFzdF0s
aSYmaS5sZW5ndGg+MCYmcz8odGhpcy5hc3luYz90aGlzLmludm9rZShpLHRoaXMscik6KHRoaXMu
aW52b2tlKGksdGhpcykscigpKSwhMCk6KHIoKSwhMCkpOih0aGlzLmxhc3Q9W10sImZ1bmN0aW9u
Ij09dHlwZW9mIHRoaXMubm90Zm91bmQmJnRoaXMuaW52b2tlKFt0aGlzLm5vdGZvdW5kXSx7bWV0
aG9kOmUscGF0aDp0fSxuKSwhMSl9LGYucHJvdG90eXBlLmludm9rZT1mdW5jdGlvbihlLHQscil7
dmFyIG8sYT10aGlzO3RoaXMuYXN5bmM/KG89ZnVuY3Rpb24obixyKXtyZXR1cm4gQXJyYXkuaXNB
cnJheShuKT9pKG4sbyxyKTp2b2lkKCJmdW5jdGlvbiI9PXR5cGVvZiBuJiZuLmFwcGx5KHQsKGUu
Y2FwdHVyZXN8fFtdKS5jb25jYXQocikpKX0saShlLG8sZnVuY3Rpb24oKXtyJiZyLmFwcGx5KHQs
YXJndW1lbnRzKX0pKToobz1mdW5jdGlvbihyKXtyZXR1cm4gQXJyYXkuaXNBcnJheShyKT9uKHIs
byk6ImZ1bmN0aW9uIj09dHlwZW9mIHI/ci5hcHBseSh0LGUuY2FwdHVyZXN8fFtdKTp2b2lkKCJz
dHJpbmciPT10eXBlb2YgciYmYS5yZXNvdXJjZSYmYS5yZXNvdXJjZVtyXS5hcHBseSh0LGUuY2Fw
dHVyZXN8fFtdKSl9LG4oZSxvKSl9LGYucHJvdG90eXBlLnRyYXZlcnNlPWZ1bmN0aW9uKGUsdCxu
LHIsaSl7ZnVuY3Rpb24gbyhlKXtmdW5jdGlvbiB0KGUpe2Zvcih2YXIgbj1bXSxyPTA7cjxlLmxl
bmd0aDtyKyspbltyXT1BcnJheS5pc0FycmF5KGVbcl0pP3QoZVtyXSk6ZVtyXTtyZXR1cm4gbn1m
dW5jdGlvbiBuKGUpe2Zvcih2YXIgdD1lLmxlbmd0aC0xO3Q+PTA7dC0tKUFycmF5LmlzQXJyYXko
ZVt0XSk/KG4oZVt0XSksMD09PWVbdF0ubGVuZ3RoJiZlLnNwbGljZSh0LDEpKTppKGVbdF0pfHxl
LnNwbGljZSh0LDEpfWlmKCFpKXJldHVybiBlO3ZhciByPXQoZSk7cmV0dXJuIHIubWF0Y2hlZD1l
Lm1hdGNoZWQsci5jYXB0dXJlcz1lLmNhcHR1cmVzLHIuYWZ0ZXI9ZS5hZnRlci5maWx0ZXIoaSks
bihyKSxyfXZhciBhLHMsYyx1LGw9W107aWYodD09PXRoaXMuZGVsaW1pdGVyJiZuW2VdKXJldHVy
biB1PVtbbi5iZWZvcmUsbltlXV0uZmlsdGVyKEJvb2xlYW4pXSx1LmFmdGVyPVtuLmFmdGVyXS5m
aWx0ZXIoQm9vbGVhbiksdS5tYXRjaGVkPSEwLHUuY2FwdHVyZXM9W10sbyh1KTtmb3IodmFyIGYg
aW4gbilpZihuLmhhc093blByb3BlcnR5KGYpJiYoIXRoaXMuX21ldGhvZHNbZl18fHRoaXMuX21l
dGhvZHNbZl0mJiJvYmplY3QiPT10eXBlb2YgbltmXSYmIUFycmF5LmlzQXJyYXkobltmXSkpKXtp
ZihhPXM9cit0aGlzLmRlbGltaXRlcitmLHRoaXMuc3RyaWN0fHwocys9IlsiK3RoaXMuZGVsaW1p
dGVyKyJdPyIpLGM9dC5tYXRjaChuZXcgUmVnRXhwKCJeIitzKSksIWMpY29udGludWU7aWYoY1sw
XSYmY1swXT09dCYmbltmXVtlXSlyZXR1cm4gdT1bW25bZl0uYmVmb3JlLG5bZl1bZV1dLmZpbHRl
cihCb29sZWFuKV0sdS5hZnRlcj1bbltmXS5hZnRlcl0uZmlsdGVyKEJvb2xlYW4pLHUubWF0Y2hl
ZD0hMCx1LmNhcHR1cmVzPWMuc2xpY2UoMSksdGhpcy5yZWN1cnNlJiZuPT09dGhpcy5yb3V0ZXMm
Jih1LnB1c2goW24uYmVmb3JlLG4ub25dLmZpbHRlcihCb29sZWFuKSksdS5hZnRlcj11LmFmdGVy
LmNvbmNhdChbbi5hZnRlcl0uZmlsdGVyKEJvb2xlYW4pKSksbyh1KTtpZih1PXRoaXMudHJhdmVy
c2UoZSx0LG5bZl0sYSksdS5tYXRjaGVkKXJldHVybiB1Lmxlbmd0aD4wJiYobD1sLmNvbmNhdCh1
KSksdGhpcy5yZWN1cnNlJiYobC5wdXNoKFtuW2ZdLmJlZm9yZSxuW2ZdLm9uXS5maWx0ZXIoQm9v
bGVhbikpLHUuYWZ0ZXI9dS5hZnRlci5jb25jYXQoW25bZl0uYWZ0ZXJdLmZpbHRlcihCb29sZWFu
KSksbj09PXRoaXMucm91dGVzJiYobC5wdXNoKFtuLmJlZm9yZSxuLm9uXS5maWx0ZXIoQm9vbGVh
bikpLHUuYWZ0ZXI9dS5hZnRlci5jb25jYXQoW24uYWZ0ZXJdLmZpbHRlcihCb29sZWFuKSkpKSxs
Lm1hdGNoZWQ9ITAsbC5jYXB0dXJlcz11LmNhcHR1cmVzLGwuYWZ0ZXI9dS5hZnRlcixvKGwpfXJl
dHVybiExfSxmLnByb3RvdHlwZS5pbnNlcnQ9ZnVuY3Rpb24oZSx0LG4scil7dmFyIGksbyxzLGMs
dTtpZih0PXQuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlJiZlLmxlbmd0aD4wfSkscj1yfHx0
aGlzLnJvdXRlcyx1PXQuc2hpZnQoKSwvXDp8XCovLnRlc3QodSkmJiEvXFxkfFxcdy8udGVzdCh1
KSYmKHU9YSh1LHRoaXMucGFyYW1zKSksdC5sZW5ndGg+MClyZXR1cm4gclt1XT1yW3VdfHx7fSx0
aGlzLmluc2VydChlLHQsbixyW3VdKTtpZih1fHx0Lmxlbmd0aHx8ciE9PXRoaXMucm91dGVzKXtp
ZihvPXR5cGVvZiByW3VdLHM9QXJyYXkuaXNBcnJheShyW3VdKSxyW3VdJiYhcyYmIm9iamVjdCI9
PW8pc3dpdGNoKGk9dHlwZW9mIHJbdV1bZV0pe2Nhc2UiZnVuY3Rpb24iOnJldHVybiB2b2lkKHJb
dV1bZV09W3JbdV1bZV0sbl0pO2Nhc2Uib2JqZWN0IjpyZXR1cm4gdm9pZCByW3VdW2VdLnB1c2go
bik7Y2FzZSJ1bmRlZmluZWQiOnJldHVybiB2b2lkKHJbdV1bZV09bil9ZWxzZSBpZigidW5kZWZp
bmVkIj09bylyZXR1cm4gYz17fSxjW2VdPW4sdm9pZChyW3VdPWMpO3Rocm93IG5ldyBFcnJvcigi
SW52YWxpZCByb3V0ZSBjb250ZXh0OiAiK28pfXN3aXRjaChpPXR5cGVvZiByW2VdKXtjYXNlImZ1
bmN0aW9uIjpyZXR1cm4gdm9pZChyW2VdPVtyW2VdLG5dKTtjYXNlIm9iamVjdCI6cmV0dXJuIHZv
aWQgcltlXS5wdXNoKG4pO2Nhc2UidW5kZWZpbmVkIjpyZXR1cm4gdm9pZChyW2VdPW4pfX0sZi5w
cm90b3R5cGUuZXh0ZW5kPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7ci5fbWV0aG9kc1tlXT0h
MCxyW2VdPWZ1bmN0aW9uKCl7dmFyIHQ9MT09PWFyZ3VtZW50cy5sZW5ndGg/W2UsIiJdOltlXTty
Lm9uLmFwcGx5KHIsdC5jb25jYXQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRz
KSkpfX12YXIgbixyPXRoaXMsaT1lLmxlbmd0aDtmb3Iobj0wO248aTtuKyspdChlW25dKX0sZi5w
cm90b3R5cGUucnVubGlzdD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLmV2ZXJ5JiZ0aGlzLmV2ZXJ5
LmJlZm9yZT9bdGhpcy5ldmVyeS5iZWZvcmVdLmNvbmNhdChyKGUpKTpyKGUpO3JldHVybiB0aGlz
LmV2ZXJ5JiZ0aGlzLmV2ZXJ5Lm9uJiZ0LnB1c2godGhpcy5ldmVyeS5vbiksdC5jYXB0dXJlcz1l
LmNhcHR1cmVzLHQuc291cmNlPWUuc291cmNlLHR9LGYucHJvdG90eXBlLm1vdW50PWZ1bmN0aW9u
KGUsdCl7ZnVuY3Rpb24gbih0LG4pe3ZhciBpPXQsbz10LnNwbGl0KHIuZGVsaW1pdGVyKSxhPXR5
cGVvZiBlW3RdLHM9IiI9PT1vWzBdfHwhci5fbWV0aG9kc1tvWzBdXSx1PXM/Im9uIjppO3JldHVy
biBzJiYoaT1pLnNsaWNlKChpLm1hdGNoKG5ldyBSZWdFeHAoIl4iK3IuZGVsaW1pdGVyKSl8fFsi
Il0pWzBdLmxlbmd0aCksby5zaGlmdCgpKSxzJiYib2JqZWN0Ij09PWEmJiFBcnJheS5pc0FycmF5
KGVbdF0pPyhuPW4uY29uY2F0KG8pLHZvaWQgci5tb3VudChlW3RdLG4pKToocyYmKG49bi5jb25j
YXQoaS5zcGxpdChyLmRlbGltaXRlcikpLG49YyhuLHIuZGVsaW1pdGVyKSksdm9pZCByLmluc2Vy
dCh1LG4sZVt0XSkpfWlmKGUmJiJvYmplY3QiPT10eXBlb2YgZSYmIUFycmF5LmlzQXJyYXkoZSkp
e3ZhciByPXRoaXM7dD10fHxbXSxBcnJheS5pc0FycmF5KHQpfHwodD10LnNwbGl0KHIuZGVsaW1p
dGVyKSk7Zm9yKHZhciBpIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShpKSYmbihpLHQuc2xpY2UoMCkp
fX19KHQpfSwsLCwsLGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPWZ1bmN0aW9uKCl7dmFyIGU9W107
cmV0dXJuIGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sdD0wO3Q8dGhpcy5sZW5n
dGg7dCsrKXt2YXIgbj10aGlzW3RdO25bMl0/ZS5wdXNoKCJAbWVkaWEgIituWzJdKyJ7IituWzFd
KyJ9Iik6ZS5wdXNoKG5bMV0pfXJldHVybiBlLmpvaW4oIiIpfSxlLmk9ZnVuY3Rpb24odCxuKXsi
c3RyaW5nIj09dHlwZW9mIHQmJih0PVtbbnVsbCx0LCIiXV0pO2Zvcih2YXIgcj17fSxpPTA7aTx0
aGlzLmxlbmd0aDtpKyspe3ZhciBvPXRoaXNbaV1bMF07Im51bWJlciI9PXR5cGVvZiBvJiYocltv
XT0hMCl9Zm9yKGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIGE9dFtpXTsibnVtYmVyIj09dHlwZW9m
IGFbMF0mJnJbYVswXV18fChuJiYhYVsyXT9hWzJdPW46biYmKGFbMl09IigiK2FbMl0rIikgYW5k
ICgiK24rIikiKSxlLnB1c2goYSkpfX0sZX19LGZ1bmN0aW9uKGUsdCxuKXtmdW5jdGlvbiByKGUs
dCl7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciByPWVbbl0saT1mW3IuaWRdO2lmKGkp
e2kucmVmcysrO2Zvcih2YXIgbz0wO288aS5wYXJ0cy5sZW5ndGg7bysrKWkucGFydHNbb10oci5w
YXJ0c1tvXSk7Zm9yKDtvPHIucGFydHMubGVuZ3RoO28rKylpLnBhcnRzLnB1c2goYyhyLnBhcnRz
W29dLHQpKX1lbHNle2Zvcih2YXIgYT1bXSxvPTA7bzxyLnBhcnRzLmxlbmd0aDtvKyspYS5wdXNo
KGMoci5wYXJ0c1tvXSx0KSk7ZltyLmlkXT17aWQ6ci5pZCxyZWZzOjEscGFydHM6YX19fX1mdW5j
dGlvbiBpKGUpe2Zvcih2YXIgdD1bXSxuPXt9LHI9MDtyPGUubGVuZ3RoO3IrKyl7dmFyIGk9ZVty
XSxvPWlbMF0sYT1pWzFdLHM9aVsyXSxjPWlbM10sdT17Y3NzOmEsbWVkaWE6cyxzb3VyY2VNYXA6
Y307bltvXT9uW29dLnBhcnRzLnB1c2godSk6dC5wdXNoKG5bb109e2lkOm8scGFydHM6W3VdfSl9
cmV0dXJuIHR9ZnVuY3Rpb24gbyhlLHQpe3ZhciBuPWgoKSxyPWdbZy5sZW5ndGgtMV07aWYoInRv
cCI9PT1lLmluc2VydEF0KXI/ci5uZXh0U2libGluZz9uLmluc2VydEJlZm9yZSh0LHIubmV4dFNp
YmxpbmcpOm4uYXBwZW5kQ2hpbGQodCk6bi5pbnNlcnRCZWZvcmUodCxuLmZpcnN0Q2hpbGQpLGcu
cHVzaCh0KTtlbHNle2lmKCJib3R0b20iIT09ZS5pbnNlcnRBdCl0aHJvdyBuZXcgRXJyb3IoIklu
dmFsaWQgdmFsdWUgZm9yIHBhcmFtZXRlciAnaW5zZXJ0QXQnLiBNdXN0IGJlICd0b3AnIG9yICdi
b3R0b20nLiIpO24uYXBwZW5kQ2hpbGQodCl9fWZ1bmN0aW9uIGEoZSl7ZS5wYXJlbnROb2RlLnJl
bW92ZUNoaWxkKGUpO3ZhciB0PWcuaW5kZXhPZihlKTt0Pj0wJiZnLnNwbGljZSh0LDEpfWZ1bmN0
aW9uIHMoZSl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtyZXR1cm4gdC50
eXBlPSJ0ZXh0L2NzcyIsbyhlLHQpLHR9ZnVuY3Rpb24gYyhlLHQpe3ZhciBuLHIsaTtpZih0LnNp
bmdsZXRvbil7dmFyIG89bSsrO249dnx8KHY9cyh0KSkscj11LmJpbmQobnVsbCxuLG8sITEpLGk9
dS5iaW5kKG51bGwsbixvLCEwKX1lbHNlIG49cyh0KSxyPWwuYmluZChudWxsLG4pLGk9ZnVuY3Rp
b24oKXthKG4pfTtyZXR1cm4gcihlKSxmdW5jdGlvbih0KXtpZih0KXtpZih0LmNzcz09PWUuY3Nz
JiZ0Lm1lZGlhPT09ZS5tZWRpYSYmdC5zb3VyY2VNYXA9PT1lLnNvdXJjZU1hcClyZXR1cm47cihl
PXQpfWVsc2UgaSgpfX1mdW5jdGlvbiB1KGUsdCxuLHIpe3ZhciBpPW4/IiI6ci5jc3M7aWYoZS5z
dHlsZVNoZWV0KWUuc3R5bGVTaGVldC5jc3NUZXh0PXkodCxpKTtlbHNle3ZhciBvPWRvY3VtZW50
LmNyZWF0ZVRleHROb2RlKGkpLGE9ZS5jaGlsZE5vZGVzO2FbdF0mJmUucmVtb3ZlQ2hpbGQoYVt0
XSksYS5sZW5ndGg/ZS5pbnNlcnRCZWZvcmUobyxhW3RdKTplLmFwcGVuZENoaWxkKG8pfX1mdW5j
dGlvbiBsKGUsdCl7dmFyIG49dC5jc3Mscj10Lm1lZGlhLGk9dC5zb3VyY2VNYXA7aWYociYmZS5z
ZXRBdHRyaWJ1dGUoIm1lZGlhIixyKSxpJiYobis9IlxuLyojIHNvdXJjZVVSTD0iK2kuc291cmNl
c1swXSsiICovIixuKz0iXG4vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pz
b247YmFzZTY0LCIrYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdp
ZnkoaSkpKSkrIiAqLyIpLGUuc3R5bGVTaGVldCllLnN0eWxlU2hlZXQuY3NzVGV4dD1uO2Vsc2V7
Zm9yKDtlLmZpcnN0Q2hpbGQ7KWUucmVtb3ZlQ2hpbGQoZS5maXJzdENoaWxkKTtlLmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG4pKX19dmFyIGY9e30sZD1mdW5jdGlvbihlKXt2
YXIgdDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4idW5kZWZpbmVkIj09dHlwZW9mIHQmJih0PWUu
YXBwbHkodGhpcyxhcmd1bWVudHMpKSx0fX0scD1kKGZ1bmN0aW9uKCl7cmV0dXJuL21zaWUgWzYt
OV1cYi8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKX0pLGg9
ZChmdW5jdGlvbigpe3JldHVybiBkb2N1bWVudC5oZWFkfHxkb2N1bWVudC5nZXRFbGVtZW50c0J5
VGFnTmFtZSgiaGVhZCIpWzBdfSksdj1udWxsLG09MCxnPVtdO2UuZXhwb3J0cz1mdW5jdGlvbihl
LHQpe3Q9dHx8e30sInVuZGVmaW5lZCI9PXR5cGVvZiB0LnNpbmdsZXRvbiYmKHQuc2luZ2xldG9u
PXAoKSksInVuZGVmaW5lZCI9PXR5cGVvZiB0Lmluc2VydEF0JiYodC5pbnNlcnRBdD0iYm90dG9t
Iik7dmFyIG49aShlKTtyZXR1cm4gcihuLHQpLGZ1bmN0aW9uKGUpe2Zvcih2YXIgbz1bXSxhPTA7
YTxuLmxlbmd0aDthKyspe3ZhciBzPW5bYV0sYz1mW3MuaWRdO2MucmVmcy0tLG8ucHVzaChjKX1p
ZihlKXt2YXIgdT1pKGUpO3IodSx0KX1mb3IodmFyIGE9MDthPG8ubGVuZ3RoO2ErKyl7dmFyIGM9
b1thXTtpZigwPT09Yy5yZWZzKXtmb3IodmFyIGw9MDtsPGMucGFydHMubGVuZ3RoO2wrKyljLnBh
cnRzW2xdKCk7ZGVsZXRlIGZbYy5pZF19fX19O3ZhciB5PWZ1bmN0aW9uKCl7dmFyIGU9W107cmV0
dXJuIGZ1bmN0aW9uKHQsbil7cmV0dXJuIGVbdF09bixlLmZpbHRlcihCb29sZWFuKS5qb2luKCJc
biIpfX0oKX1dKTsKLS8vIyBzb3VyY2VNYXBwaW5nVVJMPXZlbmRvci5hNTI1MTdjNWFhOThlN2Zi
ZWEyZS5qcy5tYXAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9QZXJm
b3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1l
eGFtcGxlcy92dWVqcy1jbGkvcGFja2FnZS1sb2NrLmpzb24gYi9QZXJmb3JtYW5jZVRlc3RzL1Nw
ZWVkb21ldGVyL3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1j
bGkvcGFja2FnZS1sb2NrLmpzb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjFlNjk5YjkxYjc0YzY2Y2IxYzM4OTU5
NGFmN2M5ODQ5ZjJkZWZkZgotLS0gL2Rldi9udWxsCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU3Bl
ZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNs
aS9wYWNrYWdlLWxvY2suanNvbgpAQCAtMCwwICsxLDY4MjYgQEAKK3sKKyAgInJlcXVpcmVzIjog
dHJ1ZSwKKyAgImxvY2tmaWxlVmVyc2lvbiI6IDEsCisgICJkZXBlbmRlbmNpZXMiOiB7CisgICAg
ImFiYnJldiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMS4wIiwKKyAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9hYmJyZXYvLS9hYmJyZXYtMS4xLjAudGd6IiwK
KyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0wRlZNSWxaamJpOVc1OExsclJnL2haUW8yQjg9IiwK
KyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiYWNjZXB0cyI6IHsKKyAgICAgICJ2ZXJz
aW9uIjogIjEuMy4zIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9hY2NlcHRzLy0vYWNjZXB0cy0xLjMuMy50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLXc4cDBOSk9HU01QZzJjSGpLTjFvdGlMQ2hNbz0iLAorICAgICAgImRldiI6IHRydWUsCisg
ICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJtaW1lLXR5cGVzIjogIjIuMS4xNiIsCisgICAg
ICAgICJuZWdvdGlhdG9yIjogIjAuNi4xIgorICAgICAgfQorICAgIH0sCisgICAgImFjb3JuIjog
eworICAgICAgInZlcnNpb24iOiAiNS4xLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2Fjb3JuLy0vYWNvcm4tNS4xLjEudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhNTEyLXZPazZ1RU1jdHUwdlFydnVTcUZkSnlxajFRMFM1VlRETDc5cXRqbytE
aFJyKzFtbWFEK3RsdUZTQ1pxaHZpL0pVaFhTem9aTjJCaHRzdGFQRWVFOGN3PT0iLAorICAgICAg
ImRldiI6IHRydWUKKyAgICB9LAorICAgICJhY29ybi1keW5hbWljLWltcG9ydCI6IHsKKyAgICAg
ICJ2ZXJzaW9uIjogIjIuMC4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy9hY29ybi1keW5hbWljLWltcG9ydC8tL2Fjb3JuLWR5bmFtaWMtaW1wb3J0LTIu
MC4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEteDFLOUlRdnZaNVVCdHNiTGY4aFBq
MGNWak1RPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAg
ICAgImFjb3JuIjogIjQuMC4xMyIKKyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5jaWVzIjogewor
ICAgICAgICAiYWNvcm4iOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiNC4wLjEzIiwKKyAgICAg
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYWNvcm4vLS9hY29y
bi00LjAuMTMudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtRUZTVnJsTmgxcGU5
R1Z5Q1VaTGhyWDhsTjRjPSIsCisgICAgICAgICAgImRldiI6IHRydWUKKyAgICAgICAgfQorICAg
ICAgfQorICAgIH0sCisgICAgImFqdiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjUuMi4yIiwKKyAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9hanYvLS9hanYtNS4y
LjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1SOGFOYWVodlhaVXhBN0FIU3BRdzNH
UGFYams9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAg
ICAiY28iOiAiNC42LjAiLAorICAgICAgICAiZmFzdC1kZWVwLWVxdWFsIjogIjEuMC4wIiwKKyAg
ICAgICAgImpzb24tc2NoZW1hLXRyYXZlcnNlIjogIjAuMy4xIiwKKyAgICAgICAgImpzb24tc3Rh
YmxlLXN0cmluZ2lmeSI6ICIxLjAuMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJhanYta2V5d29y
ZHMiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjUuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYWp2LWtleXdvcmRzLy0vYWp2LWtleXdvcmRzLTEuNS4x
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtTVUzUXBMTTJqNjA5L054VTdlWVhHNGh0
cnp3PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImFsaWduLXRleHQiOiB7Cisg
ICAgICAidmVyc2lvbiI6ICIwLjEuNCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvYWxpZ24tdGV4dC8tL2FsaWduLXRleHQtMC4xLjQudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1ETmtLVmhDVDgxMEttU1ZzSXJjR2xEUDYwUmM9IiwKKyAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAia2luZC1vZiI6ICIz
LjIuMiIsCisgICAgICAgICJsb25nZXN0IjogIjEuMC4xIiwKKyAgICAgICAgInJlcGVhdC1zdHJp
bmciOiAiMS42LjEiCisgICAgICB9CisgICAgfSwKKyAgICAiYWxwaGFudW0tc29ydCI6IHsKKyAg
ICAgICJ2ZXJzaW9uIjogIjEuMC4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9hbHBoYW51bS1zb3J0Ly0vYWxwaGFudW0tc29ydC0xLjAuMi50Z3oiLAor
ICAgICAgImludGVncml0eSI6ICJzaGExLWw2RVJsa215RWEwemFSMmZuMGhxanNuNzRLTT0iLAor
ICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJhbnNpLWh0bWwiOiB7CisgICAgICAidmVy
c2lvbiI6ICIwLjAuNyIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvYW5zaS1odG1sLy0vYW5zaS1odG1sLTAuMC43LnRneiIsCisgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtZ1RXRUFobGlxZW5tL1FPZmxBMFM5V3luaFo0PSIsCisgICAgICAiZGV2IjogdHJ1
ZQorICAgIH0sCisgICAgImFuc2ktcmVnZXgiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjEuMSIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYW5zaS1yZWdl
eC8tL2Fuc2ktcmVnZXgtMi4xLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS13N002
dGU0MkRZYmc1aWp3Um9ybjd5ZldWTjg9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAg
ICAiYW5zaS1zdHlsZXMiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjIuMSIsCisgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYW5zaS1zdHlsZXMvLS9hbnNpLXN0
eWxlcy0yLjIuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXRETGRNMWkyTk05MTRl
Um1RMmdrQlRQQjNiND0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJhbnltYXRj
aCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMy4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9hbnltYXRjaC8tL2FueW1hdGNoLTEuMy4yLnRneiIsCisg
ICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi0wWE5heUM4bFRIUTJPSThhbGpOQ04zc1N4Nmhzci8x
K3JsY0RBb3RYSlI3QzFvWlpIQ05zZnBiS3dNalJBM1VxYjV0RjFSYWUyb2xvVHI0eHBxK1dqQT09
IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAibWlj
cm9tYXRjaCI6ICIyLjMuMTEiLAorICAgICAgICAibm9ybWFsaXplLXBhdGgiOiAiMi4xLjEiCisg
ICAgICB9CisgICAgfSwKKyAgICAiYXJncGFyc2UiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAu
OSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYXJncGFy
c2UvLS9hcmdwYXJzZS0xLjAuOS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWM5Zzd3
bVA0YnBmNHpFOXJyaHNPa0tmU0xJWT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVx
dWlyZXMiOiB7CisgICAgICAgICJzcHJpbnRmLWpzIjogIjEuMC4zIgorICAgICAgfQorICAgIH0s
CisgICAgImFyci1kaWZmIjogeworICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Fyci1kaWZmLy0vYXJyLWRpZmYt
Mi4wLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1qenVDZjVWYWk5WnBhWDVLUWxh
c1BPcmpWczg9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAg
ICAgICAiYXJyLWZsYXR0ZW4iOiAiMS4xLjAiCisgICAgICB9CisgICAgfSwKKyAgICAiYXJyLWZs
YXR0ZW4iOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjEuMCIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYXJyLWZsYXR0ZW4vLS9hcnItZmxhdHRlbi0xLjEu
MC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGE1MTItTDNoS1Y1Ui9wNW84MVI3TzAySUdu
d3BEbWtwNkU5ODJYaHRidXdTZTNPNHFPdE1NTXRvZGljQVNBMUNueTJVK2FDWGNOcG1sK200ZFBz
dnNKM2phdGc9PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImFycmF5LWZsYXR0
ZW4iOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjEuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYXJyYXktZmxhdHRlbi8tL2FycmF5LWZsYXR0ZW4tMS4x
LjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1tbDlwa0ZHeDV3Y3pLUEtnQ0phTFpP
b3BWZEk9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiYXJyYXktdW5pcXVlIjog
eworICAgICAgInZlcnNpb24iOiAiMC4yLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2FycmF5LXVuaXF1ZS8tL2FycmF5LXVuaXF1ZS0wLjIuMS50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLW9kbDh5dnk4SmlYTWNQcmM2emFsREZpd0dsTT0i
LAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJhc24xLmpzIjogeworICAgICAgInZl
cnNpb24iOiAiNC45LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL2FzbjEuanMvLS9hc24xLmpzLTQuOS4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtU0xva0MwV3BLQTZVZEltUXVsbDlJV1lYL1VBPSIsCisgICAgICAiZGV2IjogdHJ1ZSwK
KyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJuLmpzIjogIjQuMTEuOCIsCisgICAgICAg
ICJpbmhlcml0cyI6ICIyLjAuMyIsCisgICAgICAgICJtaW5pbWFsaXN0aWMtYXNzZXJ0IjogIjEu
MC4wIgorICAgICAgfQorICAgIH0sCisgICAgImFzc2VydCI6IHsKKyAgICAgICJ2ZXJzaW9uIjog
IjEuNC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9h
c3NlcnQvLS9hc3NlcnQtMS40LjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1tWkV0
V1JnMnRhYjFzMFhBOEg3dndJL0dYWkU9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJl
cXVpcmVzIjogeworICAgICAgICAidXRpbCI6ICIwLjEwLjMiCisgICAgICB9CisgICAgfSwKKyAg
ICAiYXN5bmMiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjUuMCIsCisgICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYXN5bmMvLS9hc3luYy0yLjUuMC50Z3oiLAor
ICAgICAgImludGVncml0eSI6ICJzaGE1MTItZStsSkFKZU5XdVBDTnl4WktPQmRhSkd5TEdIdWdY
VlF0ckF3dHVBZTJ2aHhUWXhGVEtFNzNwOEp1VG1kSDBxZFFadER2STRkaEp3alpjNXpzZklzWXc9
PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImxv
ZGFzaCI6ICI0LjE3LjQiCisgICAgICB9CisgICAgfSwKKyAgICAiYXN5bmMtZWFjaCI6IHsKKyAg
ICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9hc3luYy1lYWNoLy0vYXN5bmMtZWFjaC0xLjAuMS50Z3oiLAorICAgICAg
ImludGVncml0eSI6ICJzaGExLUdkT0dvZG50eHVmQnlGMDRpdTI4eFcwellDMD0iLAorICAgICAg
ImRldiI6IHRydWUKKyAgICB9LAorICAgICJhdXRvcHJlZml4ZXIiOiB7CisgICAgICAidmVyc2lv
biI6ICI2LjcuNyIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvYXV0b3ByZWZpeGVyLy0vYXV0b3ByZWZpeGVyLTYuNy43LnRneiIsCisgICAgICAiaW50ZWdy
aXR5IjogInNoYTEtSGIwY2cxWlk0MXpqK1poQW1kc0FXRng0SUJRPSIsCisgICAgICAiZGV2Ijog
dHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJyb3dzZXJzbGlzdCI6ICIxLjcu
NyIsCisgICAgICAgICJjYW5pdXNlLWRiIjogIjEuMC4zMDAwMDcxNSIsCisgICAgICAgICJub3Jt
YWxpemUtcmFuZ2UiOiAiMC4xLjIiLAorICAgICAgICAibnVtMmZyYWN0aW9uIjogIjEuMi4yIiwK
KyAgICAgICAgInBvc3Rjc3MiOiAiNS4yLjE3IiwKKyAgICAgICAgInBvc3Rjc3MtdmFsdWUtcGFy
c2VyIjogIjMuMy4wIgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLWNvZGUtZnJhbWUiOiB7
CisgICAgICAidmVyc2lvbiI6ICI2LjI2LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2JhYmVsLWNvZGUtZnJhbWUvLS9iYWJlbC1jb2RlLWZyYW1lLTYu
MjYuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLVkvMUQ5OXdlTzdmT05aUjl1UDQy
bWo5WXgwcz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAg
ICAgICJjaGFsayI6ICIxLjEuMyIsCisgICAgICAgICJlc3V0aWxzIjogIjIuMC4yIiwKKyAgICAg
ICAgImpzLXRva2VucyI6ICIzLjAuMiIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1jb3Jl
IjogeworICAgICAgInZlcnNpb24iOiAiNi4yNi4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1jb3JlLy0vYmFiZWwtY29yZS02LjI2LjAudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1yekwzaXpHbS9POFJuSWV3L1kyWFUvQTZDN2c9
IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFi
ZWwtY29kZS1mcmFtZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtZ2VuZXJhdG9yIjogIjYu
MjYuMCIsCisgICAgICAgICJiYWJlbC1oZWxwZXJzIjogIjYuMjQuMSIsCisgICAgICAgICJiYWJl
bC1tZXNzYWdlcyI6ICI2LjIzLjAiLAorICAgICAgICAiYmFiZWwtcmVnaXN0ZXIiOiAiNi4yNi4w
IiwKKyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLXRl
bXBsYXRlIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC10cmF2ZXJzZSI6ICI2LjI2LjAiLAor
ICAgICAgICAiYmFiZWwtdHlwZXMiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYnlsb24iOiAiNi4x
OC4wIiwKKyAgICAgICAgImNvbnZlcnQtc291cmNlLW1hcCI6ICIxLjUuMCIsCisgICAgICAgICJk
ZWJ1ZyI6ICIyLjYuOCIsCisgICAgICAgICJqc29uNSI6ICIwLjUuMSIsCisgICAgICAgICJsb2Rh
c2giOiAiNC4xNy40IiwKKyAgICAgICAgIm1pbmltYXRjaCI6ICIzLjAuNCIsCisgICAgICAgICJw
YXRoLWlzLWFic29sdXRlIjogIjEuMC4xIiwKKyAgICAgICAgInByaXZhdGUiOiAiMC4xLjciLAor
ICAgICAgICAic2xhc2giOiAiMS4wLjAiLAorICAgICAgICAic291cmNlLW1hcCI6ICIwLjUuNiIK
KyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1nZW5lcmF0b3IiOiB7CisgICAgICAidmVyc2lv
biI6ICI2LjI2LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL2JhYmVsLWdlbmVyYXRvci8tL2JhYmVsLWdlbmVyYXRvci02LjI2LjAudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1yQnJpQUhDM24yNDhvZE1tbGhNRk4zVHlEY1U9IiwKKyAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtbWVzc2Fn
ZXMiOiAiNi4yMy4wIiwKKyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIiwKKyAgICAg
ICAgImJhYmVsLXR5cGVzIjogIjYuMjYuMCIsCisgICAgICAgICJkZXRlY3QtaW5kZW50IjogIjQu
MC4wIiwKKyAgICAgICAgImpzZXNjIjogIjEuMy4wIiwKKyAgICAgICAgImxvZGFzaCI6ICI0LjE3
LjQiLAorICAgICAgICAic291cmNlLW1hcCI6ICIwLjUuNiIsCisgICAgICAgICJ0cmltLXJpZ2h0
IjogIjEuMC4xIgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLWhlbHBlci1iaW5kaWZ5LWRl
Y29yYXRvcnMiOiB7CisgICAgICAidmVyc2lvbiI6ICI2LjI0LjEiLAorICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JhYmVsLWhlbHBlci1iaW5kaWZ5LWRlY29y
YXRvcnMvLS9iYWJlbC1oZWxwZXItYmluZGlmeS1kZWNvcmF0b3JzLTYuMjQuMS50Z3oiLAorICAg
ICAgImludGVncml0eSI6ICJzaGExLUZNR2VYeFF0ZTBmeG1sSkRIbEt4ekx4QW96QT0iLAorICAg
ICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJlbC1ydW50
aW1lIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC10cmF2ZXJzZSI6ICI2LjI2LjAiLAorICAg
ICAgICAiYmFiZWwtdHlwZXMiOiAiNi4yNi4wIgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVs
LWhlbHBlci1idWlsZGVyLWJpbmFyeS1hc3NpZ25tZW50LW9wZXJhdG9yLXZpc2l0b3IiOiB7Cisg
ICAgICAidmVyc2lvbiI6ICI2LjI0LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2JhYmVsLWhlbHBlci1idWlsZGVyLWJpbmFyeS1hc3NpZ25tZW50LW9w
ZXJhdG9yLXZpc2l0b3IvLS9iYWJlbC1oZWxwZXItYnVpbGRlci1iaW5hcnktYXNzaWdubWVudC1v
cGVyYXRvci12aXNpdG9yLTYuMjQuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXpP
UlJldG8xYjBJZ3ZLNktBc0t6UnZtbFptUT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAi
cmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJlbC1oZWxwZXItZXhwbG9kZS1hc3NpZ25hYmxlLWV4
cHJlc3Npb24iOiAiNi4yNC4xIiwKKyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIiwK
KyAgICAgICAgImJhYmVsLXR5cGVzIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJi
YWJlbC1oZWxwZXItY2FsbC1kZWxlZ2F0ZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjQuMSIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtaGVs
cGVyLWNhbGwtZGVsZWdhdGUvLS9iYWJlbC1oZWxwZXItY2FsbC1kZWxlZ2F0ZS02LjI0LjEudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS03T2FxemR4MjVCdzBZZmlML0ZkYjBOcWkzNDA9
IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFi
ZWwtaGVscGVyLWhvaXN0LXZhcmlhYmxlcyI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcnVu
dGltZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdHJhdmVyc2UiOiAiNi4yNi4wIiwKKyAg
ICAgICAgImJhYmVsLXR5cGVzIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJl
bC1oZWxwZXItZGVmaW5lLW1hcCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjYuMCIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtaGVscGVyLWRl
ZmluZS1tYXAvLS9iYWJlbC1oZWxwZXItZGVmaW5lLW1hcC02LjI2LjAudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1wZlZ0cTBHaVg1ZnN0SmpINjZ5cGdaK1Z2bDg9IiwKKyAgICAgICJk
ZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtaGVscGVyLWZ1
bmN0aW9uLW5hbWUiOiAiNi4yNC4xIiwKKyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4w
IiwKKyAgICAgICAgImJhYmVsLXR5cGVzIjogIjYuMjYuMCIsCisgICAgICAgICJsb2Rhc2giOiAi
NC4xNy40IgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLWhlbHBlci1leHBsb2RlLWFzc2ln
bmFibGUtZXhwcmVzc2lvbiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjQuMSIsCisgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtaGVscGVyLWV4cGxv
ZGUtYXNzaWduYWJsZS1leHByZXNzaW9uLy0vYmFiZWwtaGVscGVyLWV4cGxvZGUtYXNzaWduYWJs
ZS1leHByZXNzaW9uLTYuMjQuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLThsdUN6
MzNCQkRQRlgzQlpMVmRHUUFyQ0xLbz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVx
dWlyZXMiOiB7CisgICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYuMjYuMCIsCisgICAgICAgICJi
YWJlbC10cmF2ZXJzZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdHlwZXMiOiAiNi4yNi4w
IgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLWhlbHBlci1leHBsb2RlLWNsYXNzIjogewor
ICAgICAgInZlcnNpb24iOiAiNi4yNC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1oZWxwZXItZXhwbG9kZS1jbGFzcy8tL2JhYmVsLWhlbHBl
ci1leHBsb2RlLWNsYXNzLTYuMjQuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWZj
S2prUTN1QUhCVzRlTWRaQXp0UFZUcXFlcz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAi
cmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJlbC1oZWxwZXItYmluZGlmeS1kZWNvcmF0b3JzIjog
IjYuMjQuMSIsCisgICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYuMjYuMCIsCisgICAgICAgICJi
YWJlbC10cmF2ZXJzZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdHlwZXMiOiAiNi4yNi4w
IgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLWhlbHBlci1mdW5jdGlvbi1uYW1lIjogewor
ICAgICAgInZlcnNpb24iOiAiNi4yNC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1oZWxwZXItZnVuY3Rpb24tbmFtZS8tL2JhYmVsLWhlbHBl
ci1mdW5jdGlvbi1uYW1lLTYuMjQuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLTAw
ZGJqQVB0bUNRcUpiU0RVYXNZT1owMWdLaz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAi
cmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJlbC1oZWxwZXItZ2V0LWZ1bmN0aW9uLWFyaXR5Ijog
IjYuMjQuMSIsCisgICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYuMjYuMCIsCisgICAgICAgICJi
YWJlbC10ZW1wbGF0ZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdHJhdmVyc2UiOiAiNi4y
Ni4wIiwKKyAgICAgICAgImJhYmVsLXR5cGVzIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAor
ICAgICJiYWJlbC1oZWxwZXItZ2V0LWZ1bmN0aW9uLWFyaXR5IjogeworICAgICAgInZlcnNpb24i
OiAiNi4yNC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9iYWJlbC1oZWxwZXItZ2V0LWZ1bmN0aW9uLWFyaXR5Ly0vYmFiZWwtaGVscGVyLWdldC1mdW5j
dGlvbi1hcml0eS02LjI0LjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1qM2VDcXBO
QWZFSFRxbENRajRtd01iRzJoVDA9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVp
cmVzIjogeworICAgICAgICAiYmFiZWwtcnVudGltZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFi
ZWwtdHlwZXMiOiAiNi4yNi4wIgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLWhlbHBlci1o
b2lzdC12YXJpYWJsZXMiOiB7CisgICAgICAidmVyc2lvbiI6ICI2LjI0LjEiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JhYmVsLWhlbHBlci1ob2lzdC12
YXJpYWJsZXMvLS9iYWJlbC1oZWxwZXItaG9pc3QtdmFyaWFibGVzLTYuMjQuMS50Z3oiLAorICAg
ICAgImludGVncml0eSI6ICJzaGExLUhzc25hSnlkSlZFK3JieVpGS2MvVkFpK2VuWT0iLAorICAg
ICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJlbC1ydW50
aW1lIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC10eXBlcyI6ICI2LjI2LjAiCisgICAgICB9
CisgICAgfSwKKyAgICAiYmFiZWwtaGVscGVyLW9wdGltaXNlLWNhbGwtZXhwcmVzc2lvbiI6IHsK
KyAgICAgICJ2ZXJzaW9uIjogIjYuMjQuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtaGVscGVyLW9wdGltaXNlLWNhbGwtZXhwcmVzc2lvbi8t
L2JhYmVsLWhlbHBlci1vcHRpbWlzZS1jYWxsLWV4cHJlc3Npb24tNi4yNC4xLnRneiIsCisgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtOTZFMEo3cWZjL2owK3BrOFZLbDRndEVrUWxjPSIsCisgICAg
ICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJhYmVsLXJ1bnRp
bWUiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLXR5cGVzIjogIjYuMjYuMCIKKyAgICAgIH0K
KyAgICB9LAorICAgICJiYWJlbC1oZWxwZXItcmVnZXgiOiB7CisgICAgICAidmVyc2lvbiI6ICI2
LjI2LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Jh
YmVsLWhlbHBlci1yZWdleC8tL2JhYmVsLWhlbHBlci1yZWdleC02LjI2LjAudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1NbHhaK1FMNEx5UzNUNnp1MERZNVZQWkpYbkk9IiwKKyAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtcnVudGlt
ZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdHlwZXMiOiAiNi4yNi4wIiwKKyAgICAgICAg
ImxvZGFzaCI6ICI0LjE3LjQiCisgICAgICB9CisgICAgfSwKKyAgICAiYmFiZWwtaGVscGVyLXJl
bWFwLWFzeW5jLXRvLWdlbmVyYXRvciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjQuMSIsCisg
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtaGVscGVy
LXJlbWFwLWFzeW5jLXRvLWdlbmVyYXRvci8tL2JhYmVsLWhlbHBlci1yZW1hcC1hc3luYy10by1n
ZW5lcmF0b3ItNi4yNC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtWHNXQmduclhJ
LzdOMDRIeHlTZzVCbmJrVlJzPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJl
cyI6IHsKKyAgICAgICAgImJhYmVsLWhlbHBlci1mdW5jdGlvbi1uYW1lIjogIjYuMjQuMSIsCisg
ICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC10ZW1wbGF0
ZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdHJhdmVyc2UiOiAiNi4yNi4wIiwKKyAgICAg
ICAgImJhYmVsLXR5cGVzIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1o
ZWxwZXItcmVwbGFjZS1zdXBlcnMiOiB7CisgICAgICAidmVyc2lvbiI6ICI2LjI0LjEiLAorICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JhYmVsLWhlbHBlci1y
ZXBsYWNlLXN1cGVycy8tL2JhYmVsLWhlbHBlci1yZXBsYWNlLXN1cGVycy02LjI0LjEudGd6IiwK
KyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS12MjIvNURrNDBYTnBvaFBLaW92M1MycVFxeG89IiwK
KyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwt
aGVscGVyLW9wdGltaXNlLWNhbGwtZXhwcmVzc2lvbiI6ICI2LjI0LjEiLAorICAgICAgICAiYmFi
ZWwtbWVzc2FnZXMiOiAiNi4yMy4wIiwKKyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4w
IiwKKyAgICAgICAgImJhYmVsLXRlbXBsYXRlIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC10
cmF2ZXJzZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdHlwZXMiOiAiNi4yNi4wIgorICAg
ICAgfQorICAgIH0sCisgICAgImJhYmVsLWhlbHBlcnMiOiB7CisgICAgICAidmVyc2lvbiI6ICI2
LjI0LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Jh
YmVsLWhlbHBlcnMvLS9iYWJlbC1oZWxwZXJzLTYuMjQuMS50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGExLU5ISGVuSzdEaU9YSVVPV1g1WW9tM2ZOMkFyST0iLAorICAgICAgImRldiI6IHRy
dWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYuMjYu
MCIsCisgICAgICAgICJiYWJlbC10ZW1wbGF0ZSI6ICI2LjI2LjAiCisgICAgICB9CisgICAgfSwK
KyAgICAiYmFiZWwtbG9hZGVyIjogeworICAgICAgInZlcnNpb24iOiAiNi40LjEiLAorICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JhYmVsLWxvYWRlci8tL2Jh
YmVsLWxvYWRlci02LjQuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUN6UVJMVnNI
U0tqYzIvVWF6MitiMUMxUXVNbz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWly
ZXMiOiB7CisgICAgICAgICJmaW5kLWNhY2hlLWRpciI6ICIwLjEuMSIsCisgICAgICAgICJsb2Fk
ZXItdXRpbHMiOiAiMC4yLjE3IiwKKyAgICAgICAgIm1rZGlycCI6ICIwLjUuMSIsCisgICAgICAg
ICJvYmplY3QtYXNzaWduIjogIjQuMS4xIgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLW1l
c3NhZ2VzIjogeworICAgICAgInZlcnNpb24iOiAiNi4yMy4wIiwKKyAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1tZXNzYWdlcy8tL2JhYmVsLW1lc3Nh
Z2VzLTYuMjMuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLTg4MzBjRGhZQTFzcUtW
SEc3RjdmYkdMeVl3ND0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7
CisgICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAorICAg
ICJiYWJlbC1wbHVnaW4tY2hlY2stZXMyMDE1LWNvbnN0YW50cyI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjYuMjIuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvYmFiZWwtcGx1Z2luLWNoZWNrLWVzMjAxNS1jb25zdGFudHMvLS9iYWJlbC1wbHVnaW4tY2hl
Y2stZXMyMDE1LWNvbnN0YW50cy02LjIyLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1OUlY3RUJRbS9TLzlQYVAzWEgwZWtZTmJ2NG89IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAg
ICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtcnVudGltZSI6ICI2LjI2LjAiCisgICAg
ICB9CisgICAgfSwKKyAgICAiYmFiZWwtcGx1Z2luLXN5bnRheC1hc3luYy1mdW5jdGlvbnMiOiB7
CisgICAgICAidmVyc2lvbiI6ICI2LjEzLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2JhYmVsLXBsdWdpbi1zeW50YXgtYXN5bmMtZnVuY3Rpb25zLy0v
YmFiZWwtcGx1Z2luLXN5bnRheC1hc3luYy1mdW5jdGlvbnMtNi4xMy4wLnRneiIsCisgICAgICAi
aW50ZWdyaXR5IjogInNoYTEteXRuSzBSa2JXdFkwdnpDdUNISTVIZ1pIdnBVPSIsCisgICAgICAi
ZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImJhYmVsLXBsdWdpbi1zeW50YXgtYXN5bmMtZ2VuZXJh
dG9ycyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMTMuMCIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtcGx1Z2luLXN5bnRheC1hc3luYy1nZW5l
cmF0b3JzLy0vYmFiZWwtcGx1Z2luLXN5bnRheC1hc3luYy1nZW5lcmF0b3JzLTYuMTMuMC50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLWE4bGo2N0Z1ekxybXVTdFpicmZ6WERRcWk1bz0i
LAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJiYWJlbC1wbHVnaW4tc3ludGF4LWNs
YXNzLXByb3BlcnRpZXMiOiB7CisgICAgICAidmVyc2lvbiI6ICI2LjEzLjAiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JhYmVsLXBsdWdpbi1zeW50YXgt
Y2xhc3MtcHJvcGVydGllcy8tL2JhYmVsLXBsdWdpbi1zeW50YXgtY2xhc3MtcHJvcGVydGllcy02
LjEzLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0xK3NqdDVveGY0VkRsaXhRVzRK
OGZXeXNKOTQ9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiYmFiZWwtcGx1Z2lu
LXN5bnRheC1kZWNvcmF0b3JzIjogeworICAgICAgInZlcnNpb24iOiAiNi4xMy4wIiwKKyAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1wbHVnaW4tc3lu
dGF4LWRlY29yYXRvcnMvLS9iYWJlbC1wbHVnaW4tc3ludGF4LWRlY29yYXRvcnMtNi4xMy4wLnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtTVNWanROdmVQTWdHenVQa0ZzenVyZDBSckFz
PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImJhYmVsLXBsdWdpbi1zeW50YXgt
ZHluYW1pYy1pbXBvcnQiOiB7CisgICAgICAidmVyc2lvbiI6ICI2LjE4LjAiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JhYmVsLXBsdWdpbi1zeW50YXgt
ZHluYW1pYy1pbXBvcnQvLS9iYWJlbC1wbHVnaW4tc3ludGF4LWR5bmFtaWMtaW1wb3J0LTYuMTgu
MC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWpXb21JcHlEZEZxWmdxUkJCUlZ5eXFG
NXNkbz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJiYWJlbC1wbHVnaW4tc3lu
dGF4LWV4cG9uZW50aWF0aW9uLW9wZXJhdG9yIjogeworICAgICAgInZlcnNpb24iOiAiNi4xMy4w
IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1w
bHVnaW4tc3ludGF4LWV4cG9uZW50aWF0aW9uLW9wZXJhdG9yLy0vYmFiZWwtcGx1Z2luLXN5bnRh
eC1leHBvbmVudGlhdGlvbi1vcGVyYXRvci02LjEzLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1udWZvTTNLUTJwVW9nZ0dtcFg5QmNERjRNTjQ9IiwKKyAgICAgICJkZXYiOiB0cnVl
CisgICAgfSwKKyAgICAiYmFiZWwtcGx1Z2luLXN5bnRheC1vYmplY3QtcmVzdC1zcHJlYWQiOiB7
CisgICAgICAidmVyc2lvbiI6ICI2LjEzLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2JhYmVsLXBsdWdpbi1zeW50YXgtb2JqZWN0LXJlc3Qtc3ByZWFk
Ly0vYmFiZWwtcGx1Z2luLXN5bnRheC1vYmplY3QtcmVzdC1zcHJlYWQtNi4xMy4wLnRneiIsCisg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtL1dVMjhyemhPRGIvbzZWRmpFa0RwWmU3Ty9VPSIsCisg
ICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImJhYmVsLXBsdWdpbi1zeW50YXgtdHJhaWxp
bmctZnVuY3Rpb24tY29tbWFzIjogeworICAgICAgInZlcnNpb24iOiAiNi4yMi4wIiwKKyAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1wbHVnaW4tc3lu
dGF4LXRyYWlsaW5nLWZ1bmN0aW9uLWNvbW1hcy8tL2JhYmVsLXBsdWdpbi1zeW50YXgtdHJhaWxp
bmctZnVuY3Rpb24tY29tbWFzLTYuMjIuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGEx
LXVnTmdrMytOQnVRQmdLUS80TlZoYi85VExQTT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9
LAorICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWFzeW5jLWdlbmVyYXRvci1mdW5jdGlvbnMi
OiB7CisgICAgICAidmVyc2lvbiI6ICI2LjI0LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tYXN5bmMtZ2VuZXJh
dG9yLWZ1bmN0aW9ucy8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tYXN5bmMtZ2VuZXJhdG9yLWZ1
bmN0aW9ucy02LjI0LjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS04RmlRQVVYOVBw
a0hwdDN5amFXZklWSllwZHM9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVz
IjogeworICAgICAgICAiYmFiZWwtaGVscGVyLXJlbWFwLWFzeW5jLXRvLWdlbmVyYXRvciI6ICI2
LjI0LjEiLAorICAgICAgICAiYmFiZWwtcGx1Z2luLXN5bnRheC1hc3luYy1nZW5lcmF0b3JzIjog
IjYuMTMuMCIsCisgICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYuMjYuMCIKKyAgICAgIH0KKyAg
ICB9LAorICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWFzeW5jLXRvLWdlbmVyYXRvciI6IHsK
KyAgICAgICJ2ZXJzaW9uIjogIjYuMjQuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1hc3luYy10by1nZW5lcmF0
b3IvLS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWFzeW5jLXRvLWdlbmVyYXRvci02LjI0LjEudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1aVGJqZUsvMnl4MVZGNndPUU9zK244alFoMkU9
IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFi
ZWwtaGVscGVyLXJlbWFwLWFzeW5jLXRvLWdlbmVyYXRvciI6ICI2LjI0LjEiLAorICAgICAgICAi
YmFiZWwtcGx1Z2luLXN5bnRheC1hc3luYy1mdW5jdGlvbnMiOiAiNi4xMy4wIiwKKyAgICAgICAg
ImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLXBs
dWdpbi10cmFuc2Zvcm0tY2xhc3MtcHJvcGVydGllcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYu
MjQuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFi
ZWwtcGx1Z2luLXRyYW5zZm9ybS1jbGFzcy1wcm9wZXJ0aWVzLy0vYmFiZWwtcGx1Z2luLXRyYW5z
Zm9ybS1jbGFzcy1wcm9wZXJ0aWVzLTYuMjQuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLWFubDJQcVlkTTlOdk43WVJxcDN2Z2FnYlJxdz0iLAorICAgICAgImRldiI6IHRydWUsCisg
ICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJlbC1oZWxwZXItZnVuY3Rpb24tbmFtZSI6
ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcGx1Z2luLXN5bnRheC1jbGFzcy1wcm9wZXJ0aWVz
IjogIjYuMTMuMCIsCisgICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYuMjYuMCIsCisgICAgICAg
ICJiYWJlbC10ZW1wbGF0ZSI6ICI2LjI2LjAiCisgICAgICB9CisgICAgfSwKKyAgICAiYmFiZWwt
cGx1Z2luLXRyYW5zZm9ybS1kZWNvcmF0b3JzIjogeworICAgICAgInZlcnNpb24iOiAiNi4yNC4x
IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1w
bHVnaW4tdHJhbnNmb3JtLWRlY29yYXRvcnMvLS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWRlY29y
YXRvcnMtNi4yNC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtZUlBVDJQakd0U0ly
MzNzMFE1RGYxM1ZwNGswPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6
IHsKKyAgICAgICAgImJhYmVsLWhlbHBlci1leHBsb2RlLWNsYXNzIjogIjYuMjQuMSIsCisgICAg
ICAgICJiYWJlbC1wbHVnaW4tc3ludGF4LWRlY29yYXRvcnMiOiAiNi4xMy4wIiwKKyAgICAgICAg
ImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLXRlbXBsYXRlIjogIjYu
MjYuMCIsCisgICAgICAgICJiYWJlbC10eXBlcyI6ICI2LjI2LjAiCisgICAgICB9CisgICAgfSwK
KyAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtYXJyb3ctZnVuY3Rpb25zIjogewor
ICAgICAgInZlcnNpb24iOiAiNi4yMi4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1hcnJvdy1mdW5j
dGlvbnMvLS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1hcnJvdy1mdW5jdGlvbnMtNi4y
Mi4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtUlNhU3kzRWRYM25jZjRYa1FNNUJ1
ZkpFMGlFPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAg
ICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVs
LXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWJsb2NrLXNjb3BlZC1mdW5jdGlvbnMiOiB7CisgICAg
ICAidmVyc2lvbiI6ICI2LjIyLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWJsb2NrLXNjb3BlZC1m
dW5jdGlvbnMvLS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1ibG9jay1zY29wZWQtZnVu
Y3Rpb25zLTYuMjIuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXU4VWJTZmxrMXd5
NDJPQzVUb0lDUnM0NllVRT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMi
OiB7CisgICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAor
ICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1ibG9jay1zY29waW5nIjogeworICAg
ICAgInZlcnNpb24iOiAiNi4yNi4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1ibG9jay1zY29waW5n
Ly0vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtYmxvY2stc2NvcGluZy02LjI2LjAudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0xdzlTbWNFd2pRWEJMMFk0RTdDZ25uT3hpVjg9
IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFi
ZWwtcnVudGltZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdGVtcGxhdGUiOiAiNi4yNi4w
IiwKKyAgICAgICAgImJhYmVsLXRyYXZlcnNlIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC10
eXBlcyI6ICI2LjI2LjAiLAorICAgICAgICAibG9kYXNoIjogIjQuMTcuNCIKKyAgICAgIH0KKyAg
ICB9LAorICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1jbGFzc2VzIjogeworICAg
ICAgInZlcnNpb24iOiAiNi4yNC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1jbGFzc2VzLy0vYmFi
ZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtY2xhc3Nlcy02LjI0LjEudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1Xa3hZcFF5Y2xHSGxaTFN5bzcrcnlYb2xoTnM9IiwKKyAgICAgICJk
ZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtaGVscGVyLWRl
ZmluZS1tYXAiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLWhlbHBlci1mdW5jdGlvbi1uYW1l
IjogIjYuMjQuMSIsCisgICAgICAgICJiYWJlbC1oZWxwZXItb3B0aW1pc2UtY2FsbC1leHByZXNz
aW9uIjogIjYuMjQuMSIsCisgICAgICAgICJiYWJlbC1oZWxwZXItcmVwbGFjZS1zdXBlcnMiOiAi
Ni4yNC4xIiwKKyAgICAgICAgImJhYmVsLW1lc3NhZ2VzIjogIjYuMjMuMCIsCisgICAgICAgICJi
YWJlbC1ydW50aW1lIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC10ZW1wbGF0ZSI6ICI2LjI2
LjAiLAorICAgICAgICAiYmFiZWwtdHJhdmVyc2UiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVs
LXR5cGVzIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1wbHVnaW4tdHJh
bnNmb3JtLWVzMjAxNS1jb21wdXRlZC1wcm9wZXJ0aWVzIjogeworICAgICAgInZlcnNpb24iOiAi
Ni4yNC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9i
YWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1jb21wdXRlZC1wcm9wZXJ0aWVzLy0vYmFiZWwt
cGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtY29tcHV0ZWQtcHJvcGVydGllcy02LjI0LjEudGd6IiwK
KyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1iK0tvMFdpVjFXTlBUTm1adHROSUNqQ0JXYk09IiwK
KyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwt
cnVudGltZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdGVtcGxhdGUiOiAiNi4yNi4wIgor
ICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWRlc3Ry
dWN0dXJpbmciOiB7CisgICAgICAidmVyc2lvbiI6ICI2LjIzLjAiLAorICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMy
MDE1LWRlc3RydWN0dXJpbmcvLS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1kZXN0cnVj
dHVyaW5nLTYuMjMuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLW1YdXg4YXVXZjJn
dEt3aDIvaldOWU9kbHhXMD0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMi
OiB7CisgICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAor
ICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1kdXBsaWNhdGUta2V5cyI6IHsKKyAg
ICAgICJ2ZXJzaW9uIjogIjYuMjQuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtZHVwbGljYXRlLWtl
eXMvLS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1kdXBsaWNhdGUta2V5cy02LjI0LjEu
dGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1jK3M5TVF5cGFlUHZuc2tjVTNRYWJ4VjJR
ajQ9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAi
YmFiZWwtcnVudGltZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdHlwZXMiOiAiNi4yNi4w
IgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWZv
ci1vZiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjMuMCIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUt
Zm9yLW9mLy0vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtZm9yLW9mLTYuMjMuMC50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLTlIeVZzcllUM3gwK3pDL2JkWE5pUEhVa2hwRT0i
LAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJl
bC1ydW50aW1lIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1wbHVnaW4t
dHJhbnNmb3JtLWVzMjAxNS1mdW5jdGlvbi1uYW1lIjogeworICAgICAgInZlcnNpb24iOiAiNi4y
NC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJl
bC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1mdW5jdGlvbi1uYW1lLy0vYmFiZWwtcGx1Z2luLXRy
YW5zZm9ybS1lczIwMTUtZnVuY3Rpb24tbmFtZS02LjI0LjEudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1nMHlKaFR2RGF4cnc4NlRGMjZxVS9ZNnNxb3M9IiwKKyAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtaGVscGVyLWZ1bmN0aW9u
LW5hbWUiOiAiNi4yNC4xIiwKKyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIiwKKyAg
ICAgICAgImJhYmVsLXR5cGVzIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJl
bC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1saXRlcmFscyI6IHsKKyAgICAgICJ2ZXJzaW9uIjog
IjYuMjIuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
YmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtbGl0ZXJhbHMvLS9iYWJlbC1wbHVnaW4tdHJh
bnNmb3JtLWVzMjAxNS1saXRlcmFscy02LjIyLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1UMVNnTFd6V2JQa1ZLQUFab3gweGtsTjN5aTQ9IiwKKyAgICAgICJkZXYiOiB0cnVlLAor
ICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtcnVudGltZSI6ICI2LjI2LjAiCisg
ICAgICB9CisgICAgfSwKKyAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtbW9kdWxl
cy1hbWQiOiB7CisgICAgICAidmVyc2lvbiI6ICI2LjI0LjEiLAorICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1
LW1vZHVsZXMtYW1kLy0vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtbW9kdWxlcy1hbWQt
Ni4yNC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtT3o1VUFYSTVoQzF0R2NNQkhF
dlM4QW9BMFZRPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAg
ICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LW1vZHVsZXMtY29tbW9uanMiOiAi
Ni4yNi4wIiwKKyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIiwKKyAgICAgICAgImJh
YmVsLXRlbXBsYXRlIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1wbHVn
aW4tdHJhbnNmb3JtLWVzMjAxNS1tb2R1bGVzLWNvbW1vbmpzIjogeworICAgICAgInZlcnNpb24i
OiAiNi4yNi4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1tb2R1bGVzLWNvbW1vbmpzLy0vYmFiZWwt
cGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtbW9kdWxlcy1jb21tb25qcy02LjI2LjAudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1EWU9VQXB0OXhxdmhxWDd4Z2VBSFdOMHVYWW89IiwKKyAg
ICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtcGx1
Z2luLXRyYW5zZm9ybS1zdHJpY3QtbW9kZSI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcnVu
dGltZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdGVtcGxhdGUiOiAiNi4yNi4wIiwKKyAg
ICAgICAgImJhYmVsLXR5cGVzIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJl
bC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1tb2R1bGVzLXN5c3RlbWpzIjogeworICAgICAgInZl
cnNpb24iOiAiNi4yNC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1tb2R1bGVzLXN5c3RlbWpzLy0v
YmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtbW9kdWxlcy1zeXN0ZW1qcy02LjI0LjEudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0vNG1oUXJrUm1wQmhsZlh4QnV6ekJkbEFmU009
IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFi
ZWwtaGVscGVyLWhvaXN0LXZhcmlhYmxlcyI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcnVu
dGltZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdGVtcGxhdGUiOiAiNi4yNi4wIgorICAg
ICAgfQorICAgIH0sCisgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LW1vZHVsZXMt
dW1kIjogeworICAgICAgInZlcnNpb24iOiAiNi4yNC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1t
b2R1bGVzLXVtZC8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LW1vZHVsZXMtdW1kLTYu
MjQuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXJKbCtZb1hOR08xaGRxMjJCOVlD
TkVyVGhHZz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAg
ICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1tb2R1bGVzLWFtZCI6ICI2LjI0LjEi
LAorICAgICAgICAiYmFiZWwtcnVudGltZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdGVt
cGxhdGUiOiAiNi4yNi4wIgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLXBsdWdpbi10cmFu
c2Zvcm0tZXMyMDE1LW9iamVjdC1zdXBlciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjQuMSIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtcGx1
Z2luLXRyYW5zZm9ybS1lczIwMTUtb2JqZWN0LXN1cGVyLy0vYmFiZWwtcGx1Z2luLXRyYW5zZm9y
bS1lczIwMTUtb2JqZWN0LXN1cGVyLTYuMjQuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLUpNNzJtdUljdURwL2hnUGEwQ0gxY3Vzbmo0MD0iLAorICAgICAgImRldiI6IHRydWUsCisg
ICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJlbC1oZWxwZXItcmVwbGFjZS1zdXBlcnMi
OiAiNi4yNC4xIiwKKyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIgorICAgICAgfQor
ICAgIH0sCisgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXBhcmFtZXRlcnMiOiB7
CisgICAgICAidmVyc2lvbiI6ICI2LjI0LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXBhcmFtZXRl
cnMvLS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1wYXJhbWV0ZXJzLTYuMjQuMS50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLVY2dzFHclNjcnhTcGZORTdDZlp2M3dwaVh5cz0i
LAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJl
bC1oZWxwZXItY2FsbC1kZWxlZ2F0ZSI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtaGVscGVy
LWdldC1mdW5jdGlvbi1hcml0eSI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcnVudGltZSI6
ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdGVtcGxhdGUiOiAiNi4yNi4wIiwKKyAgICAgICAg
ImJhYmVsLXRyYXZlcnNlIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC10eXBlcyI6ICI2LjI2
LjAiCisgICAgICB9CisgICAgfSwKKyAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUt
c2hvcnRoYW5kLXByb3BlcnRpZXMiOiB7CisgICAgICAidmVyc2lvbiI6ICI2LjI0LjEiLAorICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JhYmVsLXBsdWdpbi10
cmFuc2Zvcm0tZXMyMDE1LXNob3J0aGFuZC1wcm9wZXJ0aWVzLy0vYmFiZWwtcGx1Z2luLXRyYW5z
Zm9ybS1lczIwMTUtc2hvcnRoYW5kLXByb3BlcnRpZXMtNi4yNC4xLnRneiIsCisgICAgICAiaW50
ZWdyaXR5IjogInNoYTEtSlBoMTFuSWNoMllidlpta1lpNVI4VTNqaXFBPSIsCisgICAgICAiZGV2
IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAi
Ni4yNi4wIiwKKyAgICAgICAgImJhYmVsLXR5cGVzIjogIjYuMjYuMCIKKyAgICAgIH0KKyAgICB9
LAorICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1zcHJlYWQiOiB7CisgICAgICAi
dmVyc2lvbiI6ICI2LjIyLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXNwcmVhZC8tL2JhYmVsLXBs
dWdpbi10cmFuc2Zvcm0tZXMyMDE1LXNwcmVhZC02LjIyLjAudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS0xdGFLbWZpYTdjUlRiSUdsUXVqZG54ZEcrTkU9IiwKKyAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwtcnVudGltZSI6ICI2LjI2
LjAiCisgICAgICB9CisgICAgfSwKKyAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUt
c3RpY2t5LXJlZ2V4IjogeworICAgICAgInZlcnNpb24iOiAiNi4yNC4xIiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1wbHVnaW4tdHJhbnNmb3Jt
LWVzMjAxNS1zdGlja3ktcmVnZXgvLS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1zdGlj
a3ktcmVnZXgtNi4yNC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtQU1ITnNheW5F
UkxOOE05aEpzTHRhMFY4emJ3PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJl
cyI6IHsKKyAgICAgICAgImJhYmVsLWhlbHBlci1yZWdleCI6ICI2LjI2LjAiLAorICAgICAgICAi
YmFiZWwtcnVudGltZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdHlwZXMiOiAiNi4yNi4w
IgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXRl
bXBsYXRlLWxpdGVyYWxzIjogeworICAgICAgInZlcnNpb24iOiAiNi4yMi4wIiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1wbHVnaW4tdHJhbnNm
b3JtLWVzMjAxNS10ZW1wbGF0ZS1saXRlcmFscy8tL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMy
MDE1LXRlbXBsYXRlLWxpdGVyYWxzLTYuMjIuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLXFFczBVUGZwK1BIMmc1MXRhSDJvUzdFamJZMD0iLAorICAgICAgImRldiI6IHRydWUsCisg
ICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYuMjYuMCIKKyAg
ICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS10eXBlb2Yt
c3ltYm9sIjogeworICAgICAgInZlcnNpb24iOiAiNi4yMy4wIiwKKyAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAx
NS10eXBlb2Ytc3ltYm9sLy0vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtdHlwZW9mLXN5
bWJvbC02LjIzLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0zc0NmSE4zL2xMVXF4
ejFRWElUZldkek9zM0k9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjog
eworICAgICAgICAiYmFiZWwtcnVudGltZSI6ICI2LjI2LjAiCisgICAgICB9CisgICAgfSwKKyAg
ICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtdW5pY29kZS1yZWdleCI6IHsKKyAgICAg
ICJ2ZXJzaW9uIjogIjYuMjQuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtdW5pY29kZS1yZWdleC8t
L2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXVuaWNvZGUtcmVnZXgtNi4yNC4xLnRneiIs
CisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtMDRzUzlDNm5Najl5azRmeGlueGE0ZnJyTmVrPSIs
CisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJhYmVs
LWhlbHBlci1yZWdleCI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtcnVudGltZSI6ICI2LjI2
LjAiLAorICAgICAgICAicmVnZXhwdS1jb3JlIjogIjIuMC4wIgorICAgICAgfQorICAgIH0sCisg
ICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXhwb25lbnRpYXRpb24tb3BlcmF0b3IiOiB7Cisg
ICAgICAidmVyc2lvbiI6ICI2LjI0LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXhwb25lbnRpYXRpb24tb3Bl
cmF0b3IvLS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWV4cG9uZW50aWF0aW9uLW9wZXJhdG9yLTYu
MjQuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUtyREp4L01KajZTSkIzY3J1QlAr
UWVqZU9nND0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAg
ICAgICJiYWJlbC1oZWxwZXItYnVpbGRlci1iaW5hcnktYXNzaWdubWVudC1vcGVyYXRvci12aXNp
dG9yIjogIjYuMjQuMSIsCisgICAgICAgICJiYWJlbC1wbHVnaW4tc3ludGF4LWV4cG9uZW50aWF0
aW9uLW9wZXJhdG9yIjogIjYuMTMuMCIsCisgICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYuMjYu
MCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLW9iamVjdC1y
ZXN0LXNwcmVhZCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjYuMCIsCisgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1v
YmplY3QtcmVzdC1zcHJlYWQvLS9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLW9iamVjdC1yZXN0LXNw
cmVhZC02LjI2LjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1EelpwTFZEKzlyZmkx
TE9zRkhnVGVwWTdld1k9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjog
eworICAgICAgICAiYmFiZWwtcGx1Z2luLXN5bnRheC1vYmplY3QtcmVzdC1zcHJlYWQiOiAiNi4x
My4wIiwKKyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIgorICAgICAgfQorICAgIH0s
CisgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tcmVnZW5lcmF0b3IiOiB7CisgICAgICAidmVy
c2lvbiI6ICI2LjI2LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL2JhYmVsLXBsdWdpbi10cmFuc2Zvcm0tcmVnZW5lcmF0b3IvLS9iYWJlbC1wbHVnaW4t
dHJhbnNmb3JtLXJlZ2VuZXJhdG9yLTYuMjYuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLTRIQTJsdnZlSi9Dajc4clBpMDNLTDNzNmp5OD0iLAorICAgICAgImRldiI6IHRydWUsCisg
ICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJyZWdlbmVyYXRvci10cmFuc2Zvcm0iOiAiMC4x
MC4wIgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tcnVudGlt
ZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjMuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1ydW50aW1lLy0v
YmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1ydW50aW1lLTYuMjMuMC50Z3oiLAorICAgICAgImludGVn
cml0eSI6ICJzaGExLWlFa05SR1VDNnB1T2Z2c1A0SjdFMlpSNXNlND0iLAorICAgICAgImRldiI6
IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYu
MjYuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLXN0cmlj
dC1tb2RlIjogeworICAgICAgInZlcnNpb24iOiAiNi4yNC4xIiwKKyAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1wbHVnaW4tdHJhbnNmb3JtLXN0cmlj
dC1tb2RlLy0vYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1zdHJpY3QtbW9kZS02LjI0LjEudGd6IiwK
KyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0xZnIzcWxlS1pidmxrYzllMnVCS0RHY0NCMWc9IiwK
KyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFiZWwt
cnVudGltZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdHlwZXMiOiAiNi4yNi4wIgorICAg
ICAgfQorICAgIH0sCisgICAgImJhYmVsLXByZXNldC1lbnYiOiB7CisgICAgICAidmVyc2lvbiI6
ICIxLjYuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
YmFiZWwtcHJlc2V0LWVudi8tL2JhYmVsLXByZXNldC1lbnYtMS42LjAudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhNTEyLU9WZ3RRUnVPWktja3JJTGdNQTVydmN0dkZaUHY3Mkd1YTlSdDAw
NkFpUG9CMERKS0dOMDdVbWFRQStxUnJZZ0s3MU1WY3Q4ZkZoVDBFeU5XWW9yVmV3PT0iLAorICAg
ICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJlbC1wbHVn
aW4tY2hlY2stZXMyMDE1LWNvbnN0YW50cyI6ICI2LjIyLjAiLAorICAgICAgICAiYmFiZWwtcGx1
Z2luLXN5bnRheC10cmFpbGluZy1mdW5jdGlvbi1jb21tYXMiOiAiNi4yMi4wIiwKKyAgICAgICAg
ImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tYXN5bmMtdG8tZ2VuZXJhdG9yIjogIjYuMjQuMSIsCisg
ICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1hcnJvdy1mdW5jdGlvbnMiOiAi
Ni4yMi4wIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWJsb2NrLXNj
b3BlZC1mdW5jdGlvbnMiOiAiNi4yMi4wIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zv
cm0tZXMyMDE1LWJsb2NrLXNjb3BpbmciOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLXBsdWdp
bi10cmFuc2Zvcm0tZXMyMDE1LWNsYXNzZXMiOiAiNi4yNC4xIiwKKyAgICAgICAgImJhYmVsLXBs
dWdpbi10cmFuc2Zvcm0tZXMyMDE1LWNvbXB1dGVkLXByb3BlcnRpZXMiOiAiNi4yNC4xIiwKKyAg
ICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWRlc3RydWN0dXJpbmciOiAiNi4y
My4wIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWR1cGxpY2F0ZS1r
ZXlzIjogIjYuMjQuMSIsCisgICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1m
b3Itb2YiOiAiNi4yMy4wIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1
LWZ1bmN0aW9uLW5hbWUiOiAiNi4yNC4xIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zv
cm0tZXMyMDE1LWxpdGVyYWxzIjogIjYuMjIuMCIsCisgICAgICAgICJiYWJlbC1wbHVnaW4tdHJh
bnNmb3JtLWVzMjAxNS1tb2R1bGVzLWFtZCI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcGx1
Z2luLXRyYW5zZm9ybS1lczIwMTUtbW9kdWxlcy1jb21tb25qcyI6ICI2LjI2LjAiLAorICAgICAg
ICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtbW9kdWxlcy1zeXN0ZW1qcyI6ICI2LjI0
LjEiLAorICAgICAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtbW9kdWxlcy11bWQi
OiAiNi4yNC4xIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LW9iamVj
dC1zdXBlciI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIw
MTUtcGFyYW1ldGVycyI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9y
bS1lczIwMTUtc2hvcnRoYW5kLXByb3BlcnRpZXMiOiAiNi4yNC4xIiwKKyAgICAgICAgImJhYmVs
LXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXNwcmVhZCI6ICI2LjIyLjAiLAorICAgICAgICAiYmFi
ZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtc3RpY2t5LXJlZ2V4IjogIjYuMjQuMSIsCisgICAg
ICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS10ZW1wbGF0ZS1saXRlcmFscyI6ICI2
LjIyLjAiLAorICAgICAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtdHlwZW9mLXN5
bWJvbCI6ICI2LjIzLjAiLAorICAgICAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUt
dW5pY29kZS1yZWdleCI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9y
bS1leHBvbmVudGlhdGlvbi1vcGVyYXRvciI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcGx1
Z2luLXRyYW5zZm9ybS1yZWdlbmVyYXRvciI6ICI2LjI2LjAiLAorICAgICAgICAiYnJvd3NlcnNs
aXN0IjogIjIuMy4zIiwKKyAgICAgICAgImludmFyaWFudCI6ICIyLjIuMiIsCisgICAgICAgICJz
ZW12ZXIiOiAiNS40LjEiCisgICAgICB9LAorICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAg
ICAgImJyb3dzZXJzbGlzdCI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIyLjMuMyIsCisgICAg
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Jyb3dzZXJzbGlz
dC8tL2Jyb3dzZXJzbGlzdC0yLjMuMy50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hh
NTEyLXA5aHo2RkEySDF3MVpVQVhLZkszTWxJQTRaOWZFZDU2aG5aU09lY0JJSVRiNWowb1prL3Ra
UndoZEUweEc1NlJHeDJ4OGNjMWM1QVdKS1dWak1MT0VRPT0iLAorICAgICAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJjYW5pdXNlLWxpdGUi
OiAiMS4wLjMwMDAwNzE1IiwKKyAgICAgICAgICAgICJlbGVjdHJvbi10by1jaHJvbWl1bSI6ICIx
LjMuMTgiCisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAgICAiYmFi
ZWwtcHJlc2V0LWVzMjAxNSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjQuMSIsCisgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtcHJlc2V0LWVzMjAx
NS8tL2JhYmVsLXByZXNldC1lczIwMTUtNi4yNC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtMUVCUTFyd3NuKzZuQXFyempYSjZBaEJUaVRrPSIsCisgICAgICAiZGV2IjogdHJ1ZSwK
KyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJhYmVsLXBsdWdpbi1jaGVjay1lczIwMTUt
Y29uc3RhbnRzIjogIjYuMjIuMCIsCisgICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVz
MjAxNS1hcnJvdy1mdW5jdGlvbnMiOiAiNi4yMi4wIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10
cmFuc2Zvcm0tZXMyMDE1LWJsb2NrLXNjb3BlZC1mdW5jdGlvbnMiOiAiNi4yMi4wIiwKKyAgICAg
ICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWJsb2NrLXNjb3BpbmciOiAiNi4yNi4w
IiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWNsYXNzZXMiOiAiNi4y
NC4xIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWNvbXB1dGVkLXBy
b3BlcnRpZXMiOiAiNi4yNC4xIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMy
MDE1LWRlc3RydWN0dXJpbmciOiAiNi4yMy4wIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFu
c2Zvcm0tZXMyMDE1LWR1cGxpY2F0ZS1rZXlzIjogIjYuMjQuMSIsCisgICAgICAgICJiYWJlbC1w
bHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1mb3Itb2YiOiAiNi4yMy4wIiwKKyAgICAgICAgImJhYmVs
LXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWZ1bmN0aW9uLW5hbWUiOiAiNi4yNC4xIiwKKyAgICAg
ICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LWxpdGVyYWxzIjogIjYuMjIuMCIsCisg
ICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAxNS1tb2R1bGVzLWFtZCI6ICI2LjI0
LjEiLAorICAgICAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtbW9kdWxlcy1jb21t
b25qcyI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUt
bW9kdWxlcy1zeXN0ZW1qcyI6ICI2LjI0LjEiLAorICAgICAgICAiYmFiZWwtcGx1Z2luLXRyYW5z
Zm9ybS1lczIwMTUtbW9kdWxlcy11bWQiOiAiNi4yNC4xIiwKKyAgICAgICAgImJhYmVsLXBsdWdp
bi10cmFuc2Zvcm0tZXMyMDE1LW9iamVjdC1zdXBlciI6ICI2LjI0LjEiLAorICAgICAgICAiYmFi
ZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtcGFyYW1ldGVycyI6ICI2LjI0LjEiLAorICAgICAg
ICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtc2hvcnRoYW5kLXByb3BlcnRpZXMiOiAi
Ni4yNC4xIiwKKyAgICAgICAgImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tZXMyMDE1LXNwcmVhZCI6
ICI2LjIyLjAiLAorICAgICAgICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtc3RpY2t5
LXJlZ2V4IjogIjYuMjQuMSIsCisgICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWVzMjAx
NS10ZW1wbGF0ZS1saXRlcmFscyI6ICI2LjIyLjAiLAorICAgICAgICAiYmFiZWwtcGx1Z2luLXRy
YW5zZm9ybS1lczIwMTUtdHlwZW9mLXN5bWJvbCI6ICI2LjIzLjAiLAorICAgICAgICAiYmFiZWwt
cGx1Z2luLXRyYW5zZm9ybS1lczIwMTUtdW5pY29kZS1yZWdleCI6ICI2LjI0LjEiLAorICAgICAg
ICAiYmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1yZWdlbmVyYXRvciI6ICI2LjI2LjAiCisgICAgICB9
CisgICAgfSwKKyAgICAiYmFiZWwtcHJlc2V0LXN0YWdlLTIiOiB7CisgICAgICAidmVyc2lvbiI6
ICI2LjI0LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L2JhYmVsLXByZXNldC1zdGFnZS0yLy0vYmFiZWwtcHJlc2V0LXN0YWdlLTItNi4yNC4xLnRneiIs
CisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtMmVLV0Q3UFhFWWZ3NWs3c1lyd0hkbkladmNFPSIs
CisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJhYmVs
LXBsdWdpbi1zeW50YXgtZHluYW1pYy1pbXBvcnQiOiAiNi4xOC4wIiwKKyAgICAgICAgImJhYmVs
LXBsdWdpbi10cmFuc2Zvcm0tY2xhc3MtcHJvcGVydGllcyI6ICI2LjI0LjEiLAorICAgICAgICAi
YmFiZWwtcGx1Z2luLXRyYW5zZm9ybS1kZWNvcmF0b3JzIjogIjYuMjQuMSIsCisgICAgICAgICJi
YWJlbC1wcmVzZXQtc3RhZ2UtMyI6ICI2LjI0LjEiCisgICAgICB9CisgICAgfSwKKyAgICAiYmFi
ZWwtcHJlc2V0LXN0YWdlLTMiOiB7CisgICAgICAidmVyc2lvbiI6ICI2LjI0LjEiLAorICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JhYmVsLXByZXNldC1zdGFn
ZS0zLy0vYmFiZWwtcHJlc2V0LXN0YWdlLTMtNi4yNC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtZzJyYUNwNTZmNk44c1RqN2t5YjRlVFNrZzVVPSIsCisgICAgICAiZGV2IjogdHJ1
ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJhYmVsLXBsdWdpbi1zeW50YXgtdHJh
aWxpbmctZnVuY3Rpb24tY29tbWFzIjogIjYuMjIuMCIsCisgICAgICAgICJiYWJlbC1wbHVnaW4t
dHJhbnNmb3JtLWFzeW5jLWdlbmVyYXRvci1mdW5jdGlvbnMiOiAiNi4yNC4xIiwKKyAgICAgICAg
ImJhYmVsLXBsdWdpbi10cmFuc2Zvcm0tYXN5bmMtdG8tZ2VuZXJhdG9yIjogIjYuMjQuMSIsCisg
ICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLWV4cG9uZW50aWF0aW9uLW9wZXJhdG9yIjog
IjYuMjQuMSIsCisgICAgICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLW9iamVjdC1yZXN0LXNw
cmVhZCI6ICI2LjI2LjAiCisgICAgICB9CisgICAgfSwKKyAgICAiYmFiZWwtcmVnaXN0ZXIiOiB7
CisgICAgICAidmVyc2lvbiI6ICI2LjI2LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2JhYmVsLXJlZ2lzdGVyLy0vYmFiZWwtcmVnaXN0ZXItNi4yNi4w
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtYnRBaEZ6NHZ5MGh0ZXN0RnhnQ2FoVzlr
Y0hFPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAg
ImJhYmVsLWNvcmUiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4w
IiwKKyAgICAgICAgImNvcmUtanMiOiAiMi41LjAiLAorICAgICAgICAiaG9tZS1vci10bXAiOiAi
Mi4wLjAiLAorICAgICAgICAibG9kYXNoIjogIjQuMTcuNCIsCisgICAgICAgICJta2RpcnAiOiAi
MC41LjEiLAorICAgICAgICAic291cmNlLW1hcC1zdXBwb3J0IjogIjAuNC4xNSIKKyAgICAgIH0K
KyAgICB9LAorICAgICJiYWJlbC1ydW50aW1lIjogeworICAgICAgInZlcnNpb24iOiAiNi4yNi4w
IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC1y
dW50aW1lLy0vYmFiZWwtcnVudGltZS02LjI2LjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1sbHh3V0dhT2dyVmRlLzRFL3lNM3ZJdFdSLzQ9IiwKKyAgICAgICJkZXYiOiB0cnVlLAor
ICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiY29yZS1qcyI6ICIyLjUuMCIsCisgICAgICAg
ICJyZWdlbmVyYXRvci1ydW50aW1lIjogIjAuMTEuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJi
YWJlbC10ZW1wbGF0ZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjYuMjYuMCIsCisgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFiZWwtdGVtcGxhdGUvLS9iYWJl
bC10ZW1wbGF0ZS02LjI2LjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0zZ1BpMFdP
V3NHbjBiZG4vK0ZJZnNhRGpYZ0k9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVp
cmVzIjogeworICAgICAgICAiYmFiZWwtcnVudGltZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFi
ZWwtdHJhdmVyc2UiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLXR5cGVzIjogIjYuMjYuMCIs
CisgICAgICAgICJiYWJ5bG9uIjogIjYuMTguMCIsCisgICAgICAgICJsb2Rhc2giOiAiNC4xNy40
IgorICAgICAgfQorICAgIH0sCisgICAgImJhYmVsLXRyYXZlcnNlIjogeworICAgICAgInZlcnNp
b24iOiAiNi4yNi4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9iYWJlbC10cmF2ZXJzZS8tL2JhYmVsLXRyYXZlcnNlLTYuMjYuMC50Z3oiLAorICAgICAg
ImludGVncml0eSI6ICJzaGExLVJxbkwxKzNNWXNqbHdHVGkwdGpROUFOWFp1ND0iLAorICAgICAg
ImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJiYWJlbC1jb2RlLWZy
YW1lIjogIjYuMjYuMCIsCisgICAgICAgICJiYWJlbC1tZXNzYWdlcyI6ICI2LjIzLjAiLAorICAg
ICAgICAiYmFiZWwtcnVudGltZSI6ICI2LjI2LjAiLAorICAgICAgICAiYmFiZWwtdHlwZXMiOiAi
Ni4yNi4wIiwKKyAgICAgICAgImJhYnlsb24iOiAiNi4xOC4wIiwKKyAgICAgICAgImRlYnVnIjog
IjIuNi44IiwKKyAgICAgICAgImdsb2JhbHMiOiAiOS4xOC4wIiwKKyAgICAgICAgImludmFyaWFu
dCI6ICIyLjIuMiIsCisgICAgICAgICJsb2Rhc2giOiAiNC4xNy40IgorICAgICAgfQorICAgIH0s
CisgICAgImJhYmVsLXR5cGVzIjogeworICAgICAgInZlcnNpb24iOiAiNi4yNi4wIiwKKyAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iYWJlbC10eXBlcy8tL2Jh
YmVsLXR5cGVzLTYuMjYuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLW83QnorVXEw
bnJiNlZjMWxJbm96UTRCakpKYz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWly
ZXMiOiB7CisgICAgICAgICJiYWJlbC1ydW50aW1lIjogIjYuMjYuMCIsCisgICAgICAgICJlc3V0
aWxzIjogIjIuMC4yIiwKKyAgICAgICAgImxvZGFzaCI6ICI0LjE3LjQiLAorICAgICAgICAidG8t
ZmFzdC1wcm9wZXJ0aWVzIjogIjEuMC4zIgorICAgICAgfQorICAgIH0sCisgICAgImJhYnlsb24i
OiB7CisgICAgICAidmVyc2lvbiI6ICI2LjE4LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL2JhYnlsb24vLS9iYWJ5bG9uLTYuMTguMC50Z3oiLAorICAg
ICAgImludGVncml0eSI6ICJzaGE1MTItcS9VRWpmR0oyQ20zb0tWNzFESno5ZDI1VFBucTVyaEJW
TDJRNGZBNXdjQzNqY3JkbjcrU3NzRXliRkl4d0F2dlArWUNzQ1lOS3VnaG9GMzNHeGd5Y1E9PSIs
CisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImJhbGFuY2VkLW1hdGNoIjogeworICAg
ICAgInZlcnNpb24iOiAiMS4wLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2JhbGFuY2VkLW1hdGNoLy0vYmFsYW5jZWQtbWF0Y2gtMS4wLjAudGd6IiwK
KyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1pYlRSbWFzcjdrbmVGazZnSzRuT1JpMXh0MmM9IiwK
KyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiYmFzZTY0LWpzIjogeworICAgICAgInZl
cnNpb24iOiAiMS4yLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL2Jhc2U2NC1qcy8tL2Jhc2U2NC1qcy0xLjIuMS50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGE1MTItZHdWVVZJWHNCWlh3VHV3blhJOVJLOHNCbWdxMDlOREh6eVI5U0FwaDllcWs3
NmdLSzJKU1FtWkFSQzJ6UkM4MUpDMlFUdHhEMEFSVTVxVFMyNWdJR3c9PSIsCisgICAgICAiZGV2
IjogdHJ1ZQorICAgIH0sCisgICAgImJpZy5qcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjMuMS4z
IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9iaWcuanMv
LS9iaWcuanMtMy4xLjMudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1USzJpR1RaUzZ6
eXA3STVWeVFGV2FjbUFhWGc9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiYmlu
YXJ5LWV4dGVuc2lvbnMiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjEwLjAiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2JpbmFyeS1leHRlbnNpb25zLy0v
YmluYXJ5LWV4dGVuc2lvbnMtMS4xMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
bXV1YWJGNklZNHF0Rng0V2Yxa0FxK0pJTmRBPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0s
CisgICAgImJsdWViaXJkIjogeworICAgICAgInZlcnNpb24iOiAiMi4xMS4wIiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9ibHVlYmlyZC8tL2JsdWViaXJk
LTIuMTEuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLVUwdVFNOEFpeVZlY1ZybzdQ
bHBjcXZ1MlVPRT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJibi5qcyI6IHsK
KyAgICAgICJ2ZXJzaW9uIjogIjQuMTEuOCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvYm4uanMvLS9ibi5qcy00LjExLjgudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhNTEyLUl0ZllmUExrV0hVamNrUUNrOHhDK0x3eGdLOE5ZY1h5d0dpZ0pnU3dP
UDhZMml5V1Q0ZjJ2c1pub09YVFRibytvNXlYbUlVSjRnbjU1MzhTTzVTM2dBPT0iLAorICAgICAg
ImRldiI6IHRydWUKKyAgICB9LAorICAgICJib29sYmFzZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjog
IjEuMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9i
b29sYmFzZS8tL2Jvb2xiYXNlLTEuMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
YU4vMSsrWU1VZXMzY2w2cDQrMHhEY3dlZDI0PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0s
CisgICAgImJyYWNlLWV4cGFuc2lvbiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMS44IiwKKyAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9icmFjZS1leHBhbnNp
b24vLS9icmFjZS1leHBhbnNpb24tMS4xLjgudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS13SHNoSEh5VkxzSDQ3OVVhZCs4TkhUbVFvcEk9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAg
ICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmFsYW5jZWQtbWF0Y2giOiAiMS4wLjAiLAorICAg
ICAgICAiY29uY2F0LW1hcCI6ICIwLjAuMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJicmFjZXMi
OiB7CisgICAgICAidmVyc2lvbiI6ICIxLjguNSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYnJhY2VzLy0vYnJhY2VzLTEuOC41LnRneiIsCisgICAgICAi
aW50ZWdyaXR5IjogInNoYTEtdW5lV0xoTGYrV25XdDJjUjZSUzNONFY3OXFjPSIsCisgICAgICAi
ZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImV4cGFuZC1yYW5nZSI6
ICIxLjguMiIsCisgICAgICAgICJwcmVzZXJ2ZSI6ICIwLjIuMCIsCisgICAgICAgICJyZXBlYXQt
ZWxlbWVudCI6ICIxLjEuMiIKKyAgICAgIH0KKyAgICB9LAorICAgICJicm9yYW5kIjogeworICAg
ICAgInZlcnNpb24iOiAiMS4xLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2Jyb3JhbmQvLS9icm9yYW5kLTEuMS4wLnRneiIsCisgICAgICAiaW50ZWdy
aXR5IjogInNoYTEtRXNKZS9rQ2tYand5UHJobldnb001WHNpTng4PSIsCisgICAgICAiZGV2Ijog
dHJ1ZQorICAgIH0sCisgICAgImJyb3dzZXJpZnktYWVzIjogeworICAgICAgInZlcnNpb24iOiAi
MS4wLjYiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Jy
b3dzZXJpZnktYWVzLy0vYnJvd3NlcmlmeS1hZXMtMS4wLjYudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1YbmNsMjk3eC9Wa3cxT3VyU0ZaODVGSEVpZ289IiwKKyAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYnVmZmVyLXhvciI6ICIxLjAuMyIs
CisgICAgICAgICJjaXBoZXItYmFzZSI6ICIxLjAuNCIsCisgICAgICAgICJjcmVhdGUtaGFzaCI6
ICIxLjEuMyIsCisgICAgICAgICJldnBfYnl0ZXN0b2tleSI6ICIxLjAuMCIsCisgICAgICAgICJp
bmhlcml0cyI6ICIyLjAuMyIKKyAgICAgIH0KKyAgICB9LAorICAgICJicm93c2VyaWZ5LWNpcGhl
ciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9icm93c2VyaWZ5LWNpcGhlci8tL2Jyb3dzZXJpZnktY2lw
aGVyLTEuMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtbVlna1NIUy9YdFRpamFs
V1p0eldhc2o4TmpvPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsK
KyAgICAgICAgImJyb3dzZXJpZnktYWVzIjogIjEuMC42IiwKKyAgICAgICAgImJyb3dzZXJpZnkt
ZGVzIjogIjEuMC4wIiwKKyAgICAgICAgImV2cF9ieXRlc3Rva2V5IjogIjEuMC4wIgorICAgICAg
fQorICAgIH0sCisgICAgImJyb3dzZXJpZnktZGVzIjogeworICAgICAgInZlcnNpb24iOiAiMS4w
LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Jyb3dz
ZXJpZnktZGVzLy0vYnJvd3NlcmlmeS1kZXMtMS4wLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS0ycUozY1hSd2tpN1MvaGhaUVJpaGRVT1hJZDA9IiwKKyAgICAgICJkZXYiOiB0cnVl
LAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiY2lwaGVyLWJhc2UiOiAiMS4wLjQiLAor
ICAgICAgICAiZGVzLmpzIjogIjEuMC4wIiwKKyAgICAgICAgImluaGVyaXRzIjogIjIuMC4zIgor
ICAgICAgfQorICAgIH0sCisgICAgImJyb3dzZXJpZnktcnNhIjogeworICAgICAgInZlcnNpb24i
OiAiNC4wLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L2Jyb3dzZXJpZnktcnNhLy0vYnJvd3NlcmlmeS1yc2EtNC4wLjEudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1JZUNyK3ZieUFwenkrdnNUTldlbkFkUVRWU1E9IiwKKyAgICAgICJkZXYi
OiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYm4uanMiOiAiNC4xMS44IiwK
KyAgICAgICAgInJhbmRvbWJ5dGVzIjogIjIuMC41IgorICAgICAgfQorICAgIH0sCisgICAgImJy
b3dzZXJpZnktc2lnbiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjQuMC40IiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9icm93c2VyaWZ5LXNpZ24vLS9icm93
c2VyaWZ5LXNpZ24tNC4wLjQudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1xazYyamwx
N1pZdXFhL2FsZm1NTXZYcVQwcGc9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVp
cmVzIjogeworICAgICAgICAiYm4uanMiOiAiNC4xMS44IiwKKyAgICAgICAgImJyb3dzZXJpZnkt
cnNhIjogIjQuMC4xIiwKKyAgICAgICAgImNyZWF0ZS1oYXNoIjogIjEuMS4zIiwKKyAgICAgICAg
ImNyZWF0ZS1obWFjIjogIjEuMS42IiwKKyAgICAgICAgImVsbGlwdGljIjogIjYuNC4wIiwKKyAg
ICAgICAgImluaGVyaXRzIjogIjIuMC4zIiwKKyAgICAgICAgInBhcnNlLWFzbjEiOiAiNS4xLjAi
CisgICAgICB9CisgICAgfSwKKyAgICAiYnJvd3NlcmlmeS16bGliIjogeworICAgICAgInZlcnNp
b24iOiAiMC4xLjQiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL2Jyb3dzZXJpZnktemxpYi8tL2Jyb3dzZXJpZnktemxpYi0wLjEuNC50Z3oiLAorICAgICAg
ImludGVncml0eSI6ICJzaGExLXV6WDRwUm4yQU9ENmE0U0ZKQnlYblFGQit5MD0iLAorICAgICAg
ImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJwYWtvIjogIjAuMi45
IgorICAgICAgfQorICAgIH0sCisgICAgImJyb3dzZXJzbGlzdCI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjEuNy43IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9icm93c2Vyc2xpc3QvLS9icm93c2Vyc2xpc3QtMS43LjcudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1DOWRuQkNXTDZDbXlPWXUxRGt0aTBhRm1zTGs9IiwKKyAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiY2FuaXVzZS1kYiI6ICIxLjAuMzAw
MDA3MTUiLAorICAgICAgICAiZWxlY3Ryb24tdG8tY2hyb21pdW0iOiAiMS4zLjE4IgorICAgICAg
fQorICAgIH0sCisgICAgImJ1ZmZlciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjQuOS4xIiwKKyAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9idWZmZXIvLS9idWZm
ZXItNC45LjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1iUnUyQWJCNlR2enRsd2xC
TWdrd0o4bGJ3cGc9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogewor
ICAgICAgICAiYmFzZTY0LWpzIjogIjEuMi4xIiwKKyAgICAgICAgImllZWU3NTQiOiAiMS4xLjgi
LAorICAgICAgICAiaXNhcnJheSI6ICIxLjAuMCIKKyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5j
aWVzIjogeworICAgICAgICAiaXNhcnJheSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjAu
MCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lz
YXJyYXkvLS9pc2FycmF5LTEuMC4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGEx
LXU1TmRTRmdzdWhhTUJvTkpWNlZLUGdjU1R4RT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisg
ICAgICAgIH0KKyAgICAgIH0KKyAgICB9LAorICAgICJidWZmZXIteG9yIjogeworICAgICAgInZl
cnNpb24iOiAiMS4wLjMiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL2J1ZmZlci14b3IvLS9idWZmZXIteG9yLTEuMC4zLnRneiIsCisgICAgICAiaW50ZWdy
aXR5IjogInNoYTEtSnVZZTBVSXZ0dzNVTG00MmNwN1ZIWVZmNk5rPSIsCisgICAgICAiZGV2Ijog
dHJ1ZQorICAgIH0sCisgICAgImJ1aWx0aW4tbW9kdWxlcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjog
IjEuMS4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9i
dWlsdGluLW1vZHVsZXMvLS9idWlsdGluLW1vZHVsZXMtMS4xLjEudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1KdzhIYkZweXdDOWJaYVI5K1V4ZjQ2SjRpUzg9IiwKKyAgICAgICJkZXYi
OiB0cnVlCisgICAgfSwKKyAgICAiYnVpbHRpbi1zdGF0dXMtY29kZXMiOiB7CisgICAgICAidmVy
c2lvbiI6ICIzLjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvYnVpbHRpbi1zdGF0dXMtY29kZXMvLS9idWlsdGluLXN0YXR1cy1jb2Rlcy0zLjAuMC50
Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWhaZ29lT0libU9IR1pDWGdQUUYwZUk5V251
Zz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJjYW1lbC1jYXNlIjogeworICAg
ICAgInZlcnNpb24iOiAiMy4wLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2NhbWVsLWNhc2UvLS9jYW1lbC1jYXNlLTMuMC4wLnRneiIsCisgICAgICAi
aW50ZWdyaXR5IjogInNoYTEteWp3MmlLVHB6enBNMm5kOXhOeThjVEpKejNNPSIsCisgICAgICAi
ZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgIm5vLWNhc2UiOiAiMi4z
LjEiLAorICAgICAgICAidXBwZXItY2FzZSI6ICIxLjEuMyIKKyAgICAgIH0KKyAgICB9LAorICAg
ICJjYW1lbGNhc2UiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjIuMSIsCisgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY2FtZWxjYXNlLy0vY2FtZWxjYXNlLTEu
Mi4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtbTdVd1RTNExWbW1MTEhXTENLUHFx
ZHFsaWprPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImNhbml1c2UtYXBpIjog
eworICAgICAgInZlcnNpb24iOiAiMS42LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2Nhbml1c2UtYXBpLy0vY2FuaXVzZS1hcGktMS42LjEudGd6IiwK
KyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS10VFRueHpURStCN0YrK2lzb3Ewa05VdVdMR3c9IiwK
KyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYnJvd3Nl
cnNsaXN0IjogIjEuNy43IiwKKyAgICAgICAgImNhbml1c2UtZGIiOiAiMS4wLjMwMDAwNzE1IiwK
KyAgICAgICAgImxvZGFzaC5tZW1vaXplIjogIjQuMS4yIiwKKyAgICAgICAgImxvZGFzaC51bmlx
IjogIjQuNS4wIgorICAgICAgfQorICAgIH0sCisgICAgImNhbml1c2UtZGIiOiB7CisgICAgICAi
dmVyc2lvbiI6ICIxLjAuMzAwMDA3MTUiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2Nhbml1c2UtZGIvLS9jYW5pdXNlLWRiLTEuMC4zMDAwMDcxNS50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLUM1dGNlVmxRMzdyekFhaUFhNi9vZnhKdHFNbz0i
LAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJjYW5pdXNlLWxpdGUiOiB7CisgICAg
ICAidmVyc2lvbiI6ICIxLjAuMzAwMDA3MTUiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2Nhbml1c2UtbGl0ZS8tL2Nhbml1c2UtbGl0ZS0xLjAuMzAwMDA3
MTUudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS13eWYxNXRrSDY4N0dMTjVaakR2dzNY
ay91YUE9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiY2VudGVyLWFsaWduIjog
eworICAgICAgInZlcnNpb24iOiAiMC4xLjMiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2NlbnRlci1hbGlnbi8tL2NlbnRlci1hbGlnbi0wLjEuMy50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLXFnMHlZcHR1NlhJZ0JCSEwxRVlja0h2Q3Q2MD0i
LAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJhbGln
bi10ZXh0IjogIjAuMS40IiwKKyAgICAgICAgImxhenktY2FjaGUiOiAiMS4wLjQiCisgICAgICB9
CisgICAgfSwKKyAgICAiY2hhbGsiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjEuMyIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY2hhbGsvLS9jaGFsay0x
LjEuMy50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXFCRmNWZVNuQXY1TkZRcTlPSEtD
S240Si9KZz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAg
ICAgICJhbnNpLXN0eWxlcyI6ICIyLjIuMSIsCisgICAgICAgICJlc2NhcGUtc3RyaW5nLXJlZ2V4
cCI6ICIxLjAuNSIsCisgICAgICAgICJoYXMtYW5zaSI6ICIyLjAuMCIsCisgICAgICAgICJzdHJp
cC1hbnNpIjogIjMuMC4xIiwKKyAgICAgICAgInN1cHBvcnRzLWNvbG9yIjogIjIuMC4wIgorICAg
ICAgfSwKKyAgICAgICJkZXBlbmRlbmNpZXMiOiB7CisgICAgICAgICJzdXBwb3J0cy1jb2xvciI6
IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIyLjAuMCIsCisgICAgICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3N1cHBvcnRzLWNvbG9yLy0vc3VwcG9ydHMtY29s
b3ItMi4wLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtVTEwRVhPYTJOaitr
QVJjSVJpbVpYcDN6Sk1jPSIsCisgICAgICAgICAgImRldiI6IHRydWUKKyAgICAgICAgfQorICAg
ICAgfQorICAgIH0sCisgICAgImNob2tpZGFyIjogeworICAgICAgInZlcnNpb24iOiAiMS43LjAi
LAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Nob2tpZGFy
Ly0vY2hva2lkYXItMS43LjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1lWTVvbDNn
VkhJQjJ0TE5nNWUzU2pOb3J0R2c9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVp
cmVzIjogeworICAgICAgICAiYW55bWF0Y2giOiAiMS4zLjIiLAorICAgICAgICAiYXN5bmMtZWFj
aCI6ICIxLjAuMSIsCisgICAgICAgICJmc2V2ZW50cyI6ICIxLjEuMiIsCisgICAgICAgICJnbG9i
LXBhcmVudCI6ICIyLjAuMCIsCisgICAgICAgICJpbmhlcml0cyI6ICIyLjAuMyIsCisgICAgICAg
ICJpcy1iaW5hcnktcGF0aCI6ICIxLjAuMSIsCisgICAgICAgICJpcy1nbG9iIjogIjIuMC4xIiwK
KyAgICAgICAgInBhdGgtaXMtYWJzb2x1dGUiOiAiMS4wLjEiLAorICAgICAgICAicmVhZGRpcnAi
OiAiMi4xLjAiCisgICAgICB9LAorICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAgImlz
LWV4dGdsb2IiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAorICAgICAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1leHRnbG9iLy0vaXMtZXh0
Z2xvYi0xLjAuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1yRWFCZDhTVU5B
V2drdnlQS1hZTWIveGlCc0E9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZQorICAgICAgICB9LAor
ICAgICAgICAiaXMtZ2xvYiI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIyLjAuMSIsCisgICAg
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLWdsb2IvLS9p
cy1nbG9iLTIuMC4xLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLTBKYjVKcVBl
MVdBUFA5L1pFWmpMQ0lqQzJHTT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAg
ICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJpcy1leHRnbG9iIjogIjEuMC4wIgorICAgICAg
ICAgIH0KKyAgICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAgImNpcGhlci1iYXNlIjogewor
ICAgICAgInZlcnNpb24iOiAiMS4wLjQiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2NpcGhlci1iYXNlLy0vY2lwaGVyLWJhc2UtMS4wLjQudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLUtraHQ1eWU2Wkdtd3Y0MHVVRFp6dGF5VDJUaExRR2Zu
ai9UNzFOL1h6ZVplbzNuZjhmb3lXN3pHVHNQWWtFeWEzbTVmM2NBeXBIK3FlN1lPck0xVTJRPT0i
LAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJpbmhl
cml0cyI6ICIyLjAuMyIsCisgICAgICAgICJzYWZlLWJ1ZmZlciI6ICI1LjEuMSIKKyAgICAgIH0K
KyAgICB9LAorICAgICJjbGFwIjogeworICAgICAgInZlcnNpb24iOiAiMS4yLjAiLAorICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2NsYXAvLS9jbGFwLTEuMi4w
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtV2NrUDQrRTNFRWRHL3hsR21pZW1OUDlv
eUZjPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAg
ImNoYWxrIjogIjEuMS4zIgorICAgICAgfQorICAgIH0sCisgICAgImNsZWFuLWNzcyI6IHsKKyAg
ICAgICJ2ZXJzaW9uIjogIjQuMS43IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9jbGVhbi1jc3MvLS9jbGVhbi1jc3MtNC4xLjcudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS11YTZrK0ZaNWlKeno2dWkwQTBuc1RyMzkwREk9IiwKKyAgICAgICJk
ZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAic291cmNlLW1hcCI6ICIw
LjUuNiIKKyAgICAgIH0KKyAgICB9LAorICAgICJjbGktY3Vyc29yIjogeworICAgICAgInZlcnNp
b24iOiAiMi4xLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL2NsaS1jdXJzb3IvLS9jbGktY3Vyc29yLTIuMS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtczEyc04yUjUrc3crbEhSOVFkRFE5U09QL0xVPSIsCisgICAgICAiZGV2IjogdHJ1
ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgInJlc3RvcmUtY3Vyc29yIjogIjIuMC4w
IgorICAgICAgfQorICAgIH0sCisgICAgImNsaS1zcGlubmVycyI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjEuMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9jbGktc3Bpbm5lcnMvLS9jbGktc3Bpbm5lcnMtMS4wLjAudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS03NWgrMDlTRGthdzlxNUdBdEFhblFoZ05ibW89IiwKKyAgICAgICJkZXYiOiB0
cnVlCisgICAgfSwKKyAgICAiY2xpdWkiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjEuMCIsCisg
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY2xpdWkvLS9jbGl1
aS0yLjEuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLVMwZFhZUCtBSmt4MkxEb1hH
UU11a2NmK29ORT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7Cisg
ICAgICAgICJjZW50ZXItYWxpZ24iOiAiMC4xLjMiLAorICAgICAgICAicmlnaHQtYWxpZ24iOiAi
MC4xLjMiLAorICAgICAgICAid29yZHdyYXAiOiAiMC4wLjIiCisgICAgICB9CisgICAgfSwKKyAg
ICAiY2xvbmUiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMiIsCisgICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY2xvbmUvLS9jbG9uZS0xLjAuMi50Z3oiLAor
ICAgICAgImludGVncml0eSI6ICJzaGExLUpndDZtZXV4N2Y0a2RUZ1hYM2d5UThzWjBVaz0iLAor
ICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJjbyI6IHsKKyAgICAgICJ2ZXJzaW9uIjog
IjQuNi4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9j
by8tL2NvLTQuNi4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtYnFhOTg5aFRybFRN
dU9SNytndnorUU1mc1lRPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImNvYSI6
IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC40IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb2EvLS9jb2EtMS4wLjQudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1xZThWTm1EV3FHcUwzc0FvbWx4b1RTRjBNdjA9IiwKKyAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAicSI6ICIxLjUuMCIKKyAgICAgIH0K
KyAgICB9LAorICAgICJjb2RlLXBvaW50LWF0IjogeworICAgICAgInZlcnNpb24iOiAiMS4xLjAi
LAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2NvZGUtcG9p
bnQtYXQvLS9jb2RlLXBvaW50LWF0LTEuMS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNo
YTEtRFFjTFRRUTZXK296b3ZHa0RpN2JQWnBNejNjPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAg
IH0sCisgICAgImNvbG9yIjogeworICAgICAgInZlcnNpb24iOiAiMC4xMS40IiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb2xvci8tL2NvbG9yLTAuMTEu
NC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWJYdGNkUHRsNkVITlNIa3EwZTFlQjdr
RTEyUT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAg
ICJjbG9uZSI6ICIxLjAuMiIsCisgICAgICAgICJjb2xvci1jb252ZXJ0IjogIjEuOS4wIiwKKyAg
ICAgICAgImNvbG9yLXN0cmluZyI6ICIwLjMuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJjb2xv
ci1jb252ZXJ0IjogeworICAgICAgInZlcnNpb24iOiAiMS45LjAiLAorICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2NvbG9yLWNvbnZlcnQvLS9jb2xvci1jb252
ZXJ0LTEuOS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtR3N6NWZkYzV1WU8vbVUx
Vy9zajVXRk5rRzNvPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsK
KyAgICAgICAgImNvbG9yLW5hbWUiOiAiMS4xLjMiCisgICAgICB9CisgICAgfSwKKyAgICAiY29s
b3ItbmFtZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMS4zIiwKKyAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb2xvci1uYW1lLy0vY29sb3ItbmFtZS0xLjEu
My50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXA5QlZpOWljUXZlVjNVSXlqM1FJTWNw
VHZDVT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJjb2xvci1zdHJpbmciOiB7
CisgICAgICAidmVyc2lvbiI6ICIwLjMuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvY29sb3Itc3RyaW5nLy0vY29sb3Itc3RyaW5nLTAuMy4wLnRneiIs
CisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtSjlSdnRuQWx4Y0w2SlprNysvVjU1SGhCdVpFPSIs
CisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImNvbG9y
LW5hbWUiOiAiMS4xLjMiCisgICAgICB9CisgICAgfSwKKyAgICAiY29sb3JtaW4iOiB7CisgICAg
ICAidmVyc2lvbiI6ICIxLjEuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvY29sb3JtaW4vLS9jb2xvcm1pbi0xLjEuMi50Z3oiLAorICAgICAgImludGVn
cml0eSI6ICJzaGExLTZpOTBJS2NybG9nYU9Lcmxuc0VrcHZjcGdUTT0iLAorICAgICAgImRldiI6
IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJjb2xvciI6ICIwLjExLjQiLAor
ICAgICAgICAiY3NzLWNvbG9yLW5hbWVzIjogIjAuMC40IiwKKyAgICAgICAgImhhcyI6ICIxLjAu
MSIKKyAgICAgIH0KKyAgICB9LAorICAgICJjb2xvcnMiOiB7CisgICAgICAidmVyc2lvbiI6ICIx
LjEuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY29s
b3JzLy0vY29sb3JzLTEuMS4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtRm9wSEFY
VnJhbjlSb1N6Z3lYdjZLTUNFN1dNPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAg
ImNvbW1hbmRlciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMTEuMCIsCisgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY29tbWFuZGVyLy0vY29tbWFuZGVyLTIu
MTEuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGE1MTItYjA1NTN1WUE1WUFFR2d5WUlH
WVJPektRN1g1UkFxZWRrZmppWnh3aTBrTDFnM2JPYUJOTlpmWWt6dC9DTDB1bWdENXdjOUplYzJG
YkI5OENqa01SdlE9PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImNvbW1vbmRp
ciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb21tb25kaXIvLS9jb21tb25kaXItMS4wLjEudGd6IiwK
KyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0zZGdBMmd4bUVuT1R6S1dWRHFsb282cnhKVHM9IiwK
KyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiY29uY2F0LW1hcCI6IHsKKyAgICAgICJ2
ZXJzaW9uIjogIjAuMC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9jb25jYXQtbWFwLy0vY29uY2F0LW1hcC0wLjAuMS50Z3oiLAorICAgICAgImludGVn
cml0eSI6ICJzaGExLTJLbHIxMy9XamZkNU9uTURhanVnMVVCZFIzcz0iLAorICAgICAgImRldiI6
IHRydWUKKyAgICB9LAorICAgICJjb25maWctY2hhaW4iOiB7CisgICAgICAidmVyc2lvbiI6ICIx
LjEuMTEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Nv
bmZpZy1jaGFpbi8tL2NvbmZpZy1jaGFpbi0xLjEuMTEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1xNkNYUjkrK1RENXc1MmFtNUJXRzRZV2Z4dkk9IiwKKyAgICAgICJkZXYiOiB0cnVl
LAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiaW5pIjogIjEuMy40IiwKKyAgICAgICAg
InByb3RvLWxpc3QiOiAiMS4yLjQiCisgICAgICB9CisgICAgfSwKKyAgICAiY29ubmVjdC1oaXN0
b3J5LWFwaS1mYWxsYmFjayI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMy4wIiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb25uZWN0LWhpc3RvcnktYXBp
LWZhbGxiYWNrLy0vY29ubmVjdC1oaXN0b3J5LWFwaS1mYWxsYmFjay0xLjMuMC50Z3oiLAorICAg
ICAgImludGVncml0eSI6ICJzaGExLTVSMFgrUER2RGJrS1pQMjBmZU1GRlZicDhXaz0iLAorICAg
ICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJjb25zb2xlLWJyb3dzZXJpZnkiOiB7CisgICAg
ICAidmVyc2lvbiI6ICIxLjEuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvY29uc29sZS1icm93c2VyaWZ5Ly0vY29uc29sZS1icm93c2VyaWZ5LTEuMS4w
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtOENRY1JYTUtuOFl5T3lCdHZ6anR4MEhR
dXhBPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAg
ImRhdGUtbm93IjogIjAuMS40IgorICAgICAgfQorICAgIH0sCisgICAgImNvbnNvbGlkYXRlIjog
eworICAgICAgInZlcnNpb24iOiAiMC4xNC41IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb25zb2xpZGF0ZS8tL2NvbnNvbGlkYXRlLTAuMTQuNS50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLVdpVUVlOGR2Y3djbVo4akxVc21KaUk5SlRHTT0i
LAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJibHVl
YmlyZCI6ICIzLjUuMCIKKyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAg
ICAiYmx1ZWJpcmQiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMy41LjAiLAorICAgICAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9ibHVlYmlyZC8tL2JsdWVi
aXJkLTMuNS4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLWVSUWcxL1ZSN3FL
SmRGT29wM1pUK1dZRzFudz0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0KKyAg
ICAgIH0KKyAgICB9LAorICAgICJjb25zdGFudHMtYnJvd3NlcmlmeSI6IHsKKyAgICAgICJ2ZXJz
aW9uIjogIjEuMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9jb25zdGFudHMtYnJvd3NlcmlmeS8tL2NvbnN0YW50cy1icm93c2VyaWZ5LTEuMC4wLnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtd2d1VzJNWVhkSXF2SEJZQ0YyRE5KL3k0eTNV
PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImNvbnRlbnQtZGlzcG9zaXRpb24i
OiB7CisgICAgICAidmVyc2lvbiI6ICIwLjUuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY29udGVudC1kaXNwb3NpdGlvbi8tL2NvbnRlbnQtZGlzcG9z
aXRpb24tMC41LjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1EUGFMdWQzMThyNTVZ
Y09vVVhqTGhkdW5qTFE9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiY29udGVu
dC10eXBlIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjIiLAorICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2NvbnRlbnQtdHlwZS8tL2NvbnRlbnQtdHlwZS0x
LjAuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXQ5RVRydWVvM1NlOUlSTThUY0pT
bmZGeUh1MD0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJjb252ZXJ0LXNvdXJj
ZS1tYXAiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjUuMCIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY29udmVydC1zb3VyY2UtbWFwLy0vY29udmVydC1z
b3VyY2UtbWFwLTEuNS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtbXMxd2hSeHRY
ZjNaUFpLQzVlMzVTZ1AvUnJVPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImNv
b2tpZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMy4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb29raWUvLS9jb29raWUtMC4zLjEudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS01K0NoK2U5RHRNaTZrbHhjV3Bib0J0Rm9jN3M9IiwKKyAg
ICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiY29va2llLXNpZ25hdHVyZSI6IHsKKyAgICAg
ICJ2ZXJzaW9uIjogIjEuMC42IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy9jb29raWUtc2lnbmF0dXJlLy0vY29va2llLXNpZ25hdHVyZS0xLjAuNi50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLTR3T29nck5DekQ3b3lsRTZlWm1YTk5xenJpdz0i
LAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJjb3B5LXdlYnBhY2stcGx1Z2luIjog
eworICAgICAgInZlcnNpb24iOiAiNC4wLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2NvcHktd2VicGFjay1wbHVnaW4vLS9jb3B5LXdlYnBhY2stcGx1
Z2luLTQuMC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtbHlqamc3bERGZ1VOREhS
amxZOHJoY0NxZ2dBPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsK
KyAgICAgICAgImJsdWViaXJkIjogIjIuMTEuMCIsCisgICAgICAgICJmcy1leHRyYSI6ICIwLjI2
LjciLAorICAgICAgICAiZ2xvYiI6ICI2LjAuNCIsCisgICAgICAgICJpcy1nbG9iIjogIjMuMS4w
IiwKKyAgICAgICAgImxvYWRlci11dGlscyI6ICIwLjIuMTciLAorICAgICAgICAibG9kYXNoIjog
IjQuMTcuNCIsCisgICAgICAgICJtaW5pbWF0Y2giOiAiMy4wLjQiLAorICAgICAgICAibm9kZS1k
aXIiOiAiMC4xLjE3IgorICAgICAgfQorICAgIH0sCisgICAgImNvcmUtanMiOiB7CisgICAgICAi
dmVyc2lvbiI6ICIyLjUuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvY29yZS1qcy8tL2NvcmUtanMtMi41LjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1WcHdGQ1JpK1pJYXpnM1ZTQW9yZ1JtdHhjSVk9IiwKKyAgICAgICJkZXYiOiB0cnVl
CisgICAgfSwKKyAgICAiY29yZS11dGlsLWlzIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjIi
LAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2NvcmUtdXRp
bC1pcy8tL2NvcmUtdXRpbC1pcy0xLjAuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGEx
LXRmMVVJZ3FpdkZxMWVxdHhRTWxBZFVVRHdhYz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9
LAorICAgICJjb3NtaWNvbmZpZyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMi4yIiwKKyAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jb3NtaWNvbmZpZy8tL2Nv
c21pY29uZmlnLTIuMi4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1HaU5YTHdB
RlBZSHkyNVhtVFBwYWZZdm4zQ0xBa0o4Rkxzc2NxNzhNUWQxS2gwT1U2WXpobjRlVjJNVkY0RzlX
RVFab1dFR2x0YXRkUitudEdQTWw1QT09IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJl
cXVpcmVzIjogeworICAgICAgICAiaXMtZGlyZWN0b3J5IjogIjAuMy4xIiwKKyAgICAgICAgImpz
LXlhbWwiOiAiMy43LjAiLAorICAgICAgICAibWluaW1pc3QiOiAiMS4yLjAiLAorICAgICAgICAi
b2JqZWN0LWFzc2lnbiI6ICI0LjEuMSIsCisgICAgICAgICJvcy1ob21lZGlyIjogIjEuMC4yIiwK
KyAgICAgICAgInBhcnNlLWpzb24iOiAiMi4yLjAiLAorICAgICAgICAicmVxdWlyZS1mcm9tLXN0
cmluZyI6ICIxLjIuMSIKKyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAg
ICAibWluaW1pc3QiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4yLjAiLAorICAgICAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9taW5pbWlzdC8tL21pbmlt
aXN0LTEuMi4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLW8xQUlzZzlCT0Q3
c0g3a1U5TTFkOTVvbVFvUT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0KKyAg
ICAgIH0KKyAgICB9LAorICAgICJjcmVhdGUtZWNkaCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjQu
MC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jcmVh
dGUtZWNkaC8tL2NyZWF0ZS1lY2RoLTQuMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNo
YTEtaUl4eU5aYk45MkV2WkpnalB1dlhvMU1CYzMwPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAg
ICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJuLmpzIjogIjQuMTEuOCIsCisgICAgICAgICJl
bGxpcHRpYyI6ICI2LjQuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJjcmVhdGUtaGFzaCI6IHsK
KyAgICAgICJ2ZXJzaW9uIjogIjEuMS4zIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9jcmVhdGUtaGFzaC8tL2NyZWF0ZS1oYXNoLTEuMS4zLnRneiIsCisg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtWUdCQ3JJdVNZblVQU0R5dDJyRDFnWkZ5MlAwPSIsCisg
ICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImNpcGhlci1i
YXNlIjogIjEuMC40IiwKKyAgICAgICAgImluaGVyaXRzIjogIjIuMC4zIiwKKyAgICAgICAgInJp
cGVtZDE2MCI6ICIyLjAuMSIsCisgICAgICAgICJzaGEuanMiOiAiMi40LjgiCisgICAgICB9Cisg
ICAgfSwKKyAgICAiY3JlYXRlLWhtYWMiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjEuNiIsCisg
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY3JlYXRlLWhtYWMv
LS9jcmVhdGUtaG1hYy0xLjEuNi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXJMbmlJ
YVRoZTlzSGJwQmxmRUs1UGpjbXp3WT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVx
dWlyZXMiOiB7CisgICAgICAgICJjaXBoZXItYmFzZSI6ICIxLjAuNCIsCisgICAgICAgICJjcmVh
dGUtaGFzaCI6ICIxLjEuMyIsCisgICAgICAgICJpbmhlcml0cyI6ICIyLjAuMyIsCisgICAgICAg
ICJyaXBlbWQxNjAiOiAiMi4wLjEiLAorICAgICAgICAic2FmZS1idWZmZXIiOiAiNS4xLjEiLAor
ICAgICAgICAic2hhLmpzIjogIjIuNC44IgorICAgICAgfQorICAgIH0sCisgICAgImNyeXB0by1i
cm93c2VyaWZ5IjogeworICAgICAgInZlcnNpb24iOiAiMy4xMS4xIiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jcnlwdG8tYnJvd3NlcmlmeS8tL2NyeXB0
by1icm93c2VyaWZ5LTMuMTEuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGE1MTItTmE3
Wmx3Q09xb2FXNVJ3VUsxV3BYd3Mya3Y4bU5oV2RUbHpvYjBVWHVsazZHOUJEYnlpSmFHVFlCSVg2
MU96bjlsMUVQUEpwSUNaYjREYU9wVDlObFE9PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAg
ICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJyb3dzZXJpZnktY2lwaGVyIjogIjEuMC4wIiwKKyAg
ICAgICAgImJyb3dzZXJpZnktc2lnbiI6ICI0LjAuNCIsCisgICAgICAgICJjcmVhdGUtZWNkaCI6
ICI0LjAuMCIsCisgICAgICAgICJjcmVhdGUtaGFzaCI6ICIxLjEuMyIsCisgICAgICAgICJjcmVh
dGUtaG1hYyI6ICIxLjEuNiIsCisgICAgICAgICJkaWZmaWUtaGVsbG1hbiI6ICI1LjAuMiIsCisg
ICAgICAgICJpbmhlcml0cyI6ICIyLjAuMyIsCisgICAgICAgICJwYmtkZjIiOiAiMy4wLjEzIiwK
KyAgICAgICAgInB1YmxpYy1lbmNyeXB0IjogIjQuMC4wIiwKKyAgICAgICAgInJhbmRvbWJ5dGVz
IjogIjIuMC41IgorICAgICAgfQorICAgIH0sCisgICAgImNzcy1jb2xvci1uYW1lcyI6IHsKKyAg
ICAgICJ2ZXJzaW9uIjogIjAuMC40IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9jc3MtY29sb3ItbmFtZXMvLS9jc3MtY29sb3ItbmFtZXMtMC4wLjQudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1nSXJjTG5uUGhIT0FhYlpHeXlEc0o3NjJLZUE9
IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiY3NzLWxvYWRlciI6IHsKKyAgICAg
ICJ2ZXJzaW9uIjogIjAuMjguNCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvY3NzLWxvYWRlci8tL2Nzcy1sb2FkZXItMC4yOC40LnRneiIsCisgICAgICAi
aW50ZWdyaXR5IjogInNoYTEtYlBOWGtaTE9OVjZMT05YMExkZWg4dXlKalE4PSIsCisgICAgICAi
ZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJhYmVsLWNvZGUtZnJh
bWUiOiAiNi4yNi4wIiwKKyAgICAgICAgImNzcy1zZWxlY3Rvci10b2tlbml6ZXIiOiAiMC43LjAi
LAorICAgICAgICAiY3NzbmFubyI6ICIzLjEwLjAiLAorICAgICAgICAiaWNzcy11dGlscyI6ICIy
LjEuMCIsCisgICAgICAgICJsb2FkZXItdXRpbHMiOiAiMS4xLjAiLAorICAgICAgICAibG9kYXNo
LmNhbWVsY2FzZSI6ICI0LjMuMCIsCisgICAgICAgICJvYmplY3QtYXNzaWduIjogIjQuMS4xIiwK
KyAgICAgICAgInBvc3Rjc3MiOiAiNS4yLjE3IiwKKyAgICAgICAgInBvc3Rjc3MtbW9kdWxlcy1l
eHRyYWN0LWltcG9ydHMiOiAiMS4xLjAiLAorICAgICAgICAicG9zdGNzcy1tb2R1bGVzLWxvY2Fs
LWJ5LWRlZmF1bHQiOiAiMS4yLjAiLAorICAgICAgICAicG9zdGNzcy1tb2R1bGVzLXNjb3BlIjog
IjEuMS4wIiwKKyAgICAgICAgInBvc3Rjc3MtbW9kdWxlcy12YWx1ZXMiOiAiMS4zLjAiLAorICAg
ICAgICAicG9zdGNzcy12YWx1ZS1wYXJzZXIiOiAiMy4zLjAiLAorICAgICAgICAic291cmNlLWxp
c3QtbWFwIjogIjAuMS44IgorICAgICAgfSwKKyAgICAgICJkZXBlbmRlbmNpZXMiOiB7CisgICAg
ICAgICJsb2FkZXItdXRpbHMiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4xLjAiLAorICAg
ICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9sb2FkZXItdXRp
bHMvLS9sb2FkZXItdXRpbHMtMS4xLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNo
YTEteVlydlNJdk03YUwvdGVMZVpHMXFkVVFwOWMwPSIsCisgICAgICAgICAgImRldiI6IHRydWUs
CisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImJpZy5qcyI6ICIzLjEuMyIs
CisgICAgICAgICAgICAiZW1vamlzLWxpc3QiOiAiMi4xLjAiLAorICAgICAgICAgICAgImpzb241
IjogIjAuNS4xIgorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAg
ImNzcy1zZWxlY3QiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjIuMCIsCisgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY3NzLXNlbGVjdC8tL2Nzcy1zZWxlY3Qt
MS4yLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1Lem9SQlRuRk5WOGMyTk1VWWo2
SEN4SWV5Rmc9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAg
ICAgICAiYm9vbGJhc2UiOiAiMS4wLjAiLAorICAgICAgICAiY3NzLXdoYXQiOiAiMi4xLjAiLAor
ICAgICAgICAiZG9tdXRpbHMiOiAiMS41LjEiLAorICAgICAgICAibnRoLWNoZWNrIjogIjEuMC4x
IgorICAgICAgfQorICAgIH0sCisgICAgImNzcy1zZWxlY3Rvci10b2tlbml6ZXIiOiB7CisgICAg
ICAidmVyc2lvbiI6ICIwLjcuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvY3NzLXNlbGVjdG9yLXRva2VuaXplci8tL2Nzcy1zZWxlY3Rvci10b2tlbml6
ZXItMC43LjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS01cGlFZEs2TWxUUjN2MTUr
L3MvT3pOblBUSVk9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogewor
ICAgICAgICAiY3NzZXNjIjogIjAuMS4wIiwKKyAgICAgICAgImZhc3RwYXJzZSI6ICIxLjEuMSIs
CisgICAgICAgICJyZWdleHB1LWNvcmUiOiAiMS4wLjAiCisgICAgICB9LAorICAgICAgImRlcGVu
ZGVuY2llcyI6IHsKKyAgICAgICAgInJlZ2V4cHUtY29yZSI6IHsKKyAgICAgICAgICAidmVyc2lv
biI6ICIxLjAuMCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL3JlZ2V4cHUtY29yZS8tL3JlZ2V4cHUtY29yZS0xLjAuMC50Z3oiLAorICAgICAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1ocWRqOVk3azE4TDJzUUxrZGtCUTNuN1pER3M9IiwKKyAgICAg
ICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAi
cmVnZW5lcmF0ZSI6ICIxLjMuMiIsCisgICAgICAgICAgICAicmVnanNnZW4iOiAiMC4yLjAiLAor
ICAgICAgICAgICAgInJlZ2pzcGFyc2VyIjogIjAuMS41IgorICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgICAgfQorICAgIH0sCisgICAgImNzcy13aGF0IjogeworICAgICAgInZlcnNpb24iOiAi
Mi4xLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Nz
cy13aGF0Ly0vY3NzLXdoYXQtMi4xLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1s
R2ZRTXNPTSt1KzU4dGVWQVNVd1l2aC9vYjA9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwK
KyAgICAiY3NzZXNjIjogeworICAgICAgInZlcnNpb24iOiAiMC4xLjAiLAorICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Nzc2VzYy8tL2Nzc2VzYy0wLjEuMC50
Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXlCU1FQa1ZpTTNHZ1IzdEFFSnFxKys2dDI3
UT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJjc3NuYW5vIjogeworICAgICAg
InZlcnNpb24iOiAiMy4xMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy9jc3NuYW5vLy0vY3NzbmFuby0zLjEwLjAudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1UemoyenFLNXNYK2dGSkR5UHgzR2pxWmNIRGc9IiwKKyAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYXV0b3ByZWZpeGVyIjogIjYuNy43
IiwKKyAgICAgICAgImRlY2FtZWxpemUiOiAiMS4yLjAiLAorICAgICAgICAiZGVmaW5lZCI6ICIx
LjAuMCIsCisgICAgICAgICJoYXMiOiAiMS4wLjEiLAorICAgICAgICAib2JqZWN0LWFzc2lnbiI6
ICI0LjEuMSIsCisgICAgICAgICJwb3N0Y3NzIjogIjUuMi4xNyIsCisgICAgICAgICJwb3N0Y3Nz
LWNhbGMiOiAiNS4zLjEiLAorICAgICAgICAicG9zdGNzcy1jb2xvcm1pbiI6ICIyLjIuMiIsCisg
ICAgICAgICJwb3N0Y3NzLWNvbnZlcnQtdmFsdWVzIjogIjIuNi4xIiwKKyAgICAgICAgInBvc3Rj
c3MtZGlzY2FyZC1jb21tZW50cyI6ICIyLjAuNCIsCisgICAgICAgICJwb3N0Y3NzLWRpc2NhcmQt
ZHVwbGljYXRlcyI6ICIyLjEuMCIsCisgICAgICAgICJwb3N0Y3NzLWRpc2NhcmQtZW1wdHkiOiAi
Mi4xLjAiLAorICAgICAgICAicG9zdGNzcy1kaXNjYXJkLW92ZXJyaWRkZW4iOiAiMC4xLjEiLAor
ICAgICAgICAicG9zdGNzcy1kaXNjYXJkLXVudXNlZCI6ICIyLjIuMyIsCisgICAgICAgICJwb3N0
Y3NzLWZpbHRlci1wbHVnaW5zIjogIjIuMC4yIiwKKyAgICAgICAgInBvc3Rjc3MtbWVyZ2UtaWRl
bnRzIjogIjIuMS43IiwKKyAgICAgICAgInBvc3Rjc3MtbWVyZ2UtbG9uZ2hhbmQiOiAiMi4wLjIi
LAorICAgICAgICAicG9zdGNzcy1tZXJnZS1ydWxlcyI6ICIyLjEuMiIsCisgICAgICAgICJwb3N0
Y3NzLW1pbmlmeS1mb250LXZhbHVlcyI6ICIxLjAuNSIsCisgICAgICAgICJwb3N0Y3NzLW1pbmlm
eS1ncmFkaWVudHMiOiAiMS4wLjUiLAorICAgICAgICAicG9zdGNzcy1taW5pZnktcGFyYW1zIjog
IjEuMi4yIiwKKyAgICAgICAgInBvc3Rjc3MtbWluaWZ5LXNlbGVjdG9ycyI6ICIyLjEuMSIsCisg
ICAgICAgICJwb3N0Y3NzLW5vcm1hbGl6ZS1jaGFyc2V0IjogIjEuMS4xIiwKKyAgICAgICAgInBv
c3Rjc3Mtbm9ybWFsaXplLXVybCI6ICIzLjAuOCIsCisgICAgICAgICJwb3N0Y3NzLW9yZGVyZWQt
dmFsdWVzIjogIjIuMi4zIiwKKyAgICAgICAgInBvc3Rjc3MtcmVkdWNlLWlkZW50cyI6ICIyLjQu
MCIsCisgICAgICAgICJwb3N0Y3NzLXJlZHVjZS1pbml0aWFsIjogIjEuMC4xIiwKKyAgICAgICAg
InBvc3Rjc3MtcmVkdWNlLXRyYW5zZm9ybXMiOiAiMS4wLjQiLAorICAgICAgICAicG9zdGNzcy1z
dmdvIjogIjIuMS42IiwKKyAgICAgICAgInBvc3Rjc3MtdW5pcXVlLXNlbGVjdG9ycyI6ICIyLjAu
MiIsCisgICAgICAgICJwb3N0Y3NzLXZhbHVlLXBhcnNlciI6ICIzLjMuMCIsCisgICAgICAgICJw
b3N0Y3NzLXppbmRleCI6ICIyLjIuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJjc3NvIjogewor
ICAgICAgInZlcnNpb24iOiAiMi4zLjIiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2Nzc28vLS9jc3NvLTIuMy4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtM2RVc1dIQXo5SjZVdHgvRlZXbnlVdWovWDRVPSIsCisgICAgICAiZGV2IjogdHJ1
ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImNsYXAiOiAiMS4yLjAiLAorICAgICAg
ICAic291cmNlLW1hcCI6ICIwLjUuNiIKKyAgICAgIH0KKyAgICB9LAorICAgICJkYXRlLW5vdyI6
IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMS40IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9kYXRlLW5vdy8tL2RhdGUtbm93LTAuMS40LnRneiIsCisgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtNnZRNS9VMUlTSzEwNWN4OXZ2SUFaeXVlTkZzPSIsCisgICAg
ICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImRlLWluZGVudCI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjEuMC4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9kZS1pbmRlbnQvLS9kZS1pbmRlbnQtMS4wLjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1zZ09PaEczRE82cFhsaEtOQ0FTMFZiakI0aDA9IiwKKyAgICAgICJkZXYiOiB0cnVlCisg
ICAgfSwKKyAgICAiZGVidWciOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjYuOCIsCisgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZGVidWcvLS9kZWJ1Zy0yLjYu
OC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLTV6RlRIS0x0NG4wWWdpSkNmYUY0SWRh
UDlQdz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAg
ICJtcyI6ICIyLjAuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJkZWNhbWVsaXplIjogeworICAg
ICAgInZlcnNpb24iOiAiMS4yLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2RlY2FtZWxpemUvLS9kZWNhbWVsaXplLTEuMi4wLnRneiIsCisgICAgICAi
aW50ZWdyaXR5IjogInNoYTEtOWxOTkZSU0NhYklEVXVlKzRtOVFINW9aRXBBPSIsCisgICAgICAi
ZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImRlZmluZWQiOiB7CisgICAgICAidmVyc2lvbiI6ICIx
LjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZGVm
aW5lZC8tL2RlZmluZWQtMS4wLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS15WTJi
enZkV2RCaU9FUWxwRlJHWjQ1c2ZwcE09IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAg
ICAiZGVwZCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMS4xIiwKKyAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9kZXBkLy0vZGVwZC0xLjEuMS50Z3oiLAorICAg
ICAgImludGVncml0eSI6ICJzaGExLVY0TzA0Y1JaOEcrbHlpZjVrZlBRYm5veEExaz0iLAorICAg
ICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJkZXMuanMiOiB7CisgICAgICAidmVyc2lvbiI6
ICIxLjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
ZGVzLmpzLy0vZGVzLmpzLTEuMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtd0hU
UzRxcHFpcG9IMjlZZm1oWEN6WVBzanN3PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJy
ZXF1aXJlcyI6IHsKKyAgICAgICAgImluaGVyaXRzIjogIjIuMC4zIiwKKyAgICAgICAgIm1pbmlt
YWxpc3RpYy1hc3NlcnQiOiAiMS4wLjAiCisgICAgICB9CisgICAgfSwKKyAgICAiZGVzdHJveSI6
IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC40IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9kZXN0cm95Ly0vZGVzdHJveS0xLjAuNC50Z3oiLAorICAgICAg
ImludGVncml0eSI6ICJzaGExLWw0aFhSQ3hFZEo1Q0JtRStONVJpQllKcXZZQT0iLAorICAgICAg
ImRldiI6IHRydWUKKyAgICB9LAorICAgICJkZXRlY3QtaW5kZW50IjogeworICAgICAgInZlcnNp
b24iOiAiNC4wLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL2RldGVjdC1pbmRlbnQvLS9kZXRlY3QtaW5kZW50LTQuMC4wLnRneiIsCisgICAgICAiaW50
ZWdyaXR5IjogInNoYTEtOTIwR1ExTE45RG9jdHM1aG5FN2pxVWRkNGdnPSIsCisgICAgICAiZGV2
IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgInJlcGVhdGluZyI6ICIyLjAu
MSIKKyAgICAgIH0KKyAgICB9LAorICAgICJkaWZmaWUtaGVsbG1hbiI6IHsKKyAgICAgICJ2ZXJz
aW9uIjogIjUuMC4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9kaWZmaWUtaGVsbG1hbi8tL2RpZmZpZS1oZWxsbWFuLTUuMC4yLnRneiIsCisgICAgICAi
aW50ZWdyaXR5IjogInNoYTEtdFlOWE9TY00vaWFzOWpJSm45N1NvSDhnbmw0PSIsCisgICAgICAi
ZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJuLmpzIjogIjQuMTEu
OCIsCisgICAgICAgICJtaWxsZXItcmFiaW4iOiAiNC4wLjAiLAorICAgICAgICAicmFuZG9tYnl0
ZXMiOiAiMi4wLjUiCisgICAgICB9CisgICAgfSwKKyAgICAiZGlyZWN0b3IiOiB7CisgICAgICAi
dmVyc2lvbiI6ICIxLjIuOCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvZGlyZWN0b3IvLS9kaXJlY3Rvci0xLjIuOC50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGExLXh0bTAzWWtPbXY5VFpSZy82Y3lPYzVsTTh0VT0iCisgICAgfSwKKyAgICAiZG9t
LWNvbnZlcnRlciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMS40IiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9kb20tY29udmVydGVyLy0vZG9tLWNvbnZl
cnRlci0wLjEuNC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXBGNzFjbnVKREp2LzV0
ZklkdWV4bkxEaGZ6cz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7
CisgICAgICAgICJ1dGlsYSI6ICIwLjMuMyIKKyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5jaWVz
IjogeworICAgICAgICAidXRpbGEiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMC4zLjMiLAor
ICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy91dGlsYS8t
L3V0aWxhLTAuMy4zLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLTEram4xK01K
RUhDU3NGK05sb2lDVFdNNlFpWT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0K
KyAgICAgIH0KKyAgICB9LAorICAgICJkb20tc2VyaWFsaXplciI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjAuMS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9kb20tc2VyaWFsaXplci8tL2RvbS1zZXJpYWxpemVyLTAuMS4wLnRneiIsCisgICAgICAiaW50
ZWdyaXR5IjogInNoYTEtQnp4cGRVYk9CNERPSTc1S0tPS1Q1QXZERElJPSIsCisgICAgICAiZGV2
IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImRvbWVsZW1lbnR0eXBlIjog
IjEuMS4zIiwKKyAgICAgICAgImVudGl0aWVzIjogIjEuMS4xIgorICAgICAgfSwKKyAgICAgICJk
ZXBlbmRlbmNpZXMiOiB7CisgICAgICAgICJkb21lbGVtZW50dHlwZSI6IHsKKyAgICAgICAgICAi
dmVyc2lvbiI6ICIxLjEuMyIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2RvbWVsZW1lbnR0eXBlLy0vZG9tZWxlbWVudHR5cGUtMS4xLjMudGd6IiwK
KyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtdlNoM1BpWkNpQnJzVVZSSkpDbWNYTmdpR0Zz
PSIsCisgICAgICAgICAgImRldiI6IHRydWUKKyAgICAgICAgfQorICAgICAgfQorICAgIH0sCisg
ICAgImRvbWFpbi1icm93c2VyIjogeworICAgICAgInZlcnNpb24iOiAiMS4xLjciLAorICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2RvbWFpbi1icm93c2VyLy0v
ZG9tYWluLWJyb3dzZXItMS4xLjcudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1obnFr
c0pQNm9GOGQ0SXdHOU5leUg5K0dtTHc9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAg
ICAiZG9tZWxlbWVudHR5cGUiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjMuMCIsCisgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZG9tZWxlbWVudHR5cGUvLS9k
b21lbGVtZW50dHlwZS0xLjMuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXNYcnRn
dWlyV2VVdDJjR2JGMWJnL0JoeUJNST0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAg
ICJkb21oYW5kbGVyIjogeworICAgICAgInZlcnNpb24iOiAiMi4xLjAiLAorICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2RvbWhhbmRsZXIvLS9kb21oYW5kbGVy
LTIuMS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtMG1SdlhsZjJ3N3F4SFBiTEJk
UEFyUGRCSlpRPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAg
ICAgICAgImRvbWVsZW1lbnR0eXBlIjogIjEuMy4wIgorICAgICAgfQorICAgIH0sCisgICAgImRv
bXV0aWxzIjogeworICAgICAgInZlcnNpb24iOiAiMS41LjEiLAorICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2RvbXV0aWxzLy0vZG9tdXRpbHMtMS41LjEudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0zTmhJaWliMVk5WVFlZVNNbjN0K01qYzJnczg9
IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiZG9t
LXNlcmlhbGl6ZXIiOiAiMC4xLjAiLAorICAgICAgICAiZG9tZWxlbWVudHR5cGUiOiAiMS4zLjAi
CisgICAgICB9CisgICAgfSwKKyAgICAiZHVwbGV4ZXIiOiB7CisgICAgICAidmVyc2lvbiI6ICIw
LjEuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZHVw
bGV4ZXIvLS9kdXBsZXhlci0wLjEuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXJP
Yi9nSXdjNW10WDBldjVlWGVzc0NNMHo4RT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAor
ICAgICJlZGl0b3Jjb25maWciOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjEzLjMiLAorICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2VkaXRvcmNvbmZpZy8tL2Vk
aXRvcmNvbmZpZy0wLjEzLjMudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLVdranNV
TlZDdStJVEtEajczUUR2aTB0cnZwZERXZGtEeUh5YkRHU1hQZmVrTENxd21wRDdDUDdpUGJ2Qmdv
c051TGNJOTZYVER3TmE3NUp5Rmw3dEVRPT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAi
cmVxdWlyZXMiOiB7CisgICAgICAgICJibHVlYmlyZCI6ICIzLjUuMCIsCisgICAgICAgICJjb21t
YW5kZXIiOiAiMi4xMS4wIiwKKyAgICAgICAgImxydS1jYWNoZSI6ICIzLjIuMCIsCisgICAgICAg
ICJzZW12ZXIiOiAiNS40LjEiLAorICAgICAgICAic2lnbXVuZCI6ICIxLjAuMSIKKyAgICAgIH0s
CisgICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAgICAiYmx1ZWJpcmQiOiB7CisgICAgICAg
ICAgInZlcnNpb24iOiAiMy41LjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9ibHVlYmlyZC8tL2JsdWViaXJkLTMuNS4wLnRneiIsCisgICAgICAg
ICAgImludGVncml0eSI6ICJzaGExLWVSUWcxL1ZSN3FLSmRGT29wM1pUK1dZRzFudz0iLAorICAg
ICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJscnUtY2FjaGUiOiB7Cisg
ICAgICAgICAgInZlcnNpb24iOiAiMy4yLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9scnUtY2FjaGUvLS9scnUtY2FjaGUtMy4yLjAudGd6IiwK
KyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtY1hpYk8zOVRtYjdJVmwzYU9Lb3cwcUNYNys0
PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAg
ICAgICAgICAgInBzZXVkb21hcCI6ICIxLjAuMiIKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAg
ICAgIH0KKyAgICB9LAorICAgICJlZS1maXJzdCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMS4x
IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9lZS1maXJz
dC8tL2VlLWZpcnN0LTEuMS4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtV1F4aEZX
c0s0dlR3SlZjeW9WaXlacnhXc2gwPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAg
ImVqcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuNS43IiwKKyAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9lanMvLS9lanMtMi41LjcudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS16SWNzRm9pQXJqeHhpWFl2MWYvQUNKYkpVWW89IiwKKyAgICAgICJk
ZXYiOiB0cnVlCisgICAgfSwKKyAgICAiZWxlY3Ryb24tdG8tY2hyb21pdW0iOiB7CisgICAgICAi
dmVyc2lvbiI6ICIxLjMuMTgiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2VsZWN0cm9uLXRvLWNocm9taXVtLy0vZWxlY3Ryb24tdG8tY2hyb21pdW0tMS4z
LjE4LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtUGN5WjJqNXJabDlxdThjY0tLMVJv
czF6R3B3PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImVsbGlwdGljIjogewor
ICAgICAgInZlcnNpb24iOiAiNi40LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2VsbGlwdGljLy0vZWxsaXB0aWMtNi40LjAudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS15c212aDJMSVdEWVljQVBJMytHVDVlTHE1ZDg9IiwKKyAgICAgICJk
ZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYm4uanMiOiAiNC4xMS44
IiwKKyAgICAgICAgImJyb3JhbmQiOiAiMS4xLjAiLAorICAgICAgICAiaGFzaC5qcyI6ICIxLjEu
MyIsCisgICAgICAgICJobWFjLWRyYmciOiAiMS4wLjEiLAorICAgICAgICAiaW5oZXJpdHMiOiAi
Mi4wLjMiLAorICAgICAgICAibWluaW1hbGlzdGljLWFzc2VydCI6ICIxLjAuMCIsCisgICAgICAg
ICJtaW5pbWFsaXN0aWMtY3J5cHRvLXV0aWxzIjogIjEuMC4xIgorICAgICAgfQorICAgIH0sCisg
ICAgImVtb2ppcy1saXN0IjogeworICAgICAgInZlcnNpb24iOiAiMi4xLjAiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Vtb2ppcy1saXN0Ly0vZW1vamlz
LWxpc3QtMi4xLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1UYXBObmJBUG1CbUlE
SG42UlhybHNKb2YwNGs9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiZW5jb2Rl
dXJsIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjEiLAorICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2VuY29kZXVybC8tL2VuY29kZXVybC0xLjAuMS50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLWVlUFZobFUwYVFuK2J3OUZwZDVvRURzcFRTQT0i
LAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJlbmhhbmNlZC1yZXNvbHZlIjogewor
ICAgICAgInZlcnNpb24iOiAiMy40LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2VuaGFuY2VkLXJlc29sdmUvLS9lbmhhbmNlZC1yZXNvbHZlLTMuNC4x
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtQkNIak9mMXhRWnM5b1QwU216bDVCQUl3
UjI0PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAg
ImdyYWNlZnVsLWZzIjogIjQuMS4xMSIsCisgICAgICAgICJtZW1vcnktZnMiOiAiMC40LjEiLAor
ICAgICAgICAib2JqZWN0LWFzc2lnbiI6ICI0LjEuMSIsCisgICAgICAgICJ0YXBhYmxlIjogIjAu
Mi44IgorICAgICAgfQorICAgIH0sCisgICAgImVudGl0aWVzIjogeworICAgICAgInZlcnNpb24i
OiAiMS4xLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L2VudGl0aWVzLy0vZW50aXRpZXMtMS4xLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1ibHd0Q2xZaHRkcmE3TytBdVE3ZnRjMTNjdkE9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAg
fSwKKyAgICAiZXJybm8iOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjEuNCIsCisgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZXJybm8vLS9lcnJuby0wLjEuNC50
Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXVKYmlPcDVlaTZNNGNmeVphcjAyTmZ5YUhI
MD0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJw
cnIiOiAiMC4wLjAiCisgICAgICB9CisgICAgfSwKKyAgICAiZXJyb3ItZXgiOiB7CisgICAgICAi
dmVyc2lvbiI6ICIxLjMuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvZXJyb3ItZXgvLS9lcnJvci1leC0xLjMuMS50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGExLStGV29iT1lhM0U2R0ljUE5vaDU2ZGhMRHFOdz0iLAorICAgICAgImRldiI6IHRy
dWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJpcy1hcnJheWlzaCI6ICIwLjIuMSIK
KyAgICAgIH0KKyAgICB9LAorICAgICJlcnJvci1zdGFjay1wYXJzZXIiOiB7CisgICAgICAidmVy
c2lvbiI6ICIyLjAuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvZXJyb3Itc3RhY2stcGFyc2VyLy0vZXJyb3Itc3RhY2stcGFyc2VyLTIuMC4xLnRneiIs
CisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtb3lBcmo3QXhGS3FiUUtEalpwNUlzclphQVFvPSIs
CisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgInN0YWNr
ZnJhbWUiOiAiMS4wLjQiCisgICAgICB9CisgICAgfSwKKyAgICAiZXNjYXBlLWh0bWwiOiB7Cisg
ICAgICAidmVyc2lvbiI6ICIxLjAuMyIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvZXNjYXBlLWh0bWwvLS9lc2NhcGUtaHRtbC0xLjAuMy50Z3oiLAorICAg
ICAgImludGVncml0eSI6ICJzaGExLUFsanE1TlBRd0pkTjRjRnBHSTd3QlIwZEdZZz0iLAorICAg
ICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJlc2NhcGUtc3RyaW5nLXJlZ2V4cCI6IHsKKyAg
ICAgICJ2ZXJzaW9uIjogIjEuMC41IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9lc2NhcGUtc3RyaW5nLXJlZ2V4cC8tL2VzY2FwZS1zdHJpbmctcmVnZXhw
LTEuMC41LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtRzJIQVZpR1FxTi8ycmp1eXp3
SUF5aE1MaHRRPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImVzcHJpbWEiOiB7
CisgICAgICAidmVyc2lvbiI6ICIyLjcuMyIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvZXNwcmltYS8tL2VzcHJpbWEtMi43LjMudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1sdU8zRFZkNTlxMUp6UU1tYzlIREVuWjdwWUU9IiwKKyAgICAgICJk
ZXYiOiB0cnVlCisgICAgfSwKKyAgICAiZXN1dGlscyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIu
MC4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9lc3V0
aWxzLy0vZXN1dGlscy0yLjAuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUNyOVBI
S3BieXg5Nm5Zck1iZXBQcXFCTHJKcz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAg
ICJldGFnIjogeworICAgICAgInZlcnNpb24iOiAiMS44LjAiLAorICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2V0YWcvLS9ldGFnLTEuOC4wLnRneiIsCisgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtYjJNYTd6TnRiRVkySzFGMlFFVE9JV3Zqd0ZFPSIsCisgICAg
ICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImV2ZW50ZW1pdHRlcjMiOiB7CisgICAgICAidmVy
c2lvbiI6ICIxLjIuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvZXZlbnRlbWl0dGVyMy8tL2V2ZW50ZW1pdHRlcjMtMS4yLjAudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1ISWFaSFlGcTBlVUVkUTV6aDBJazdQTyt4UWc9IiwKKyAgICAgICJk
ZXYiOiB0cnVlCisgICAgfSwKKyAgICAiZXZlbnRzIjogeworICAgICAgInZlcnNpb24iOiAiMS4x
LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2V2ZW50
cy8tL2V2ZW50cy0xLjEuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLW5yMjNZMXJR
bWNjTnpFd3FIMUFFS0k2TDJTUT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJl
dmVudHNvdXJjZS1wb2x5ZmlsbCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuOS42IiwKKyAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9ldmVudHNvdXJjZS1wb2x5
ZmlsbC8tL2V2ZW50c291cmNlLXBvbHlmaWxsLTAuOS42LnRneiIsCisgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtRU9EUmgvRVJzV2Z5ajlxNUdJUTg1OWdZOFR3PSIsCisgICAgICAiZGV2IjogdHJ1
ZQorICAgIH0sCisgICAgImV2cF9ieXRlc3Rva2V5IjogeworICAgICAgInZlcnNpb24iOiAiMS4w
LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2V2cF9i
eXRlc3Rva2V5Ly0vZXZwX2J5dGVzdG9rZXktMS4wLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1TWHRtclovdlpjMThDS1lZQ0NTNkZIYTJibE09IiwKKyAgICAgICJkZXYiOiB0cnVl
LAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiY3JlYXRlLWhhc2giOiAiMS4xLjMiCisg
ICAgICB9CisgICAgfSwKKyAgICAiZXhwYW5kLWJyYWNrZXRzIjogeworICAgICAgInZlcnNpb24i
OiAiMC4xLjUiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L2V4cGFuZC1icmFja2V0cy8tL2V4cGFuZC1icmFja2V0cy0wLjEuNS50Z3oiLAorICAgICAgImlu
dGVncml0eSI6ICJzaGExLTN3Y29UalFxZ0h6WE02eGE5eVFSNVlIUkYzcz0iLAorICAgICAgImRl
diI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJpcy1wb3NpeC1icmFja2V0
IjogIjAuMS4xIgorICAgICAgfQorICAgIH0sCisgICAgImV4cGFuZC1yYW5nZSI6IHsKKyAgICAg
ICJ2ZXJzaW9uIjogIjEuOC4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy9leHBhbmQtcmFuZ2UvLS9leHBhbmQtcmFuZ2UtMS44LjIudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1vcG52L1ROZjRuSWV1dWppVit4NVpFL0lVemM9IiwKKyAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiZmlsbC1yYW5nZSI6
ICIyLjIuMyIKKyAgICAgIH0KKyAgICB9LAorICAgICJleHByZXNzIjogeworICAgICAgInZlcnNp
b24iOiAiNC4xNS40IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9leHByZXNzLy0vZXhwcmVzcy00LjE1LjQudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1BeTRpVTBpYytQemdKbWEreWowUjdYb3RydEU9IiwKKyAgICAgICJkZXYiOiB0cnVlLAor
ICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYWNjZXB0cyI6ICIxLjMuMyIsCisgICAgICAg
ICJhcnJheS1mbGF0dGVuIjogIjEuMS4xIiwKKyAgICAgICAgImNvbnRlbnQtZGlzcG9zaXRpb24i
OiAiMC41LjIiLAorICAgICAgICAiY29udGVudC10eXBlIjogIjEuMC4yIiwKKyAgICAgICAgImNv
b2tpZSI6ICIwLjMuMSIsCisgICAgICAgICJjb29raWUtc2lnbmF0dXJlIjogIjEuMC42IiwKKyAg
ICAgICAgImRlYnVnIjogIjIuNi44IiwKKyAgICAgICAgImRlcGQiOiAiMS4xLjEiLAorICAgICAg
ICAiZW5jb2RldXJsIjogIjEuMC4xIiwKKyAgICAgICAgImVzY2FwZS1odG1sIjogIjEuMC4zIiwK
KyAgICAgICAgImV0YWciOiAiMS44LjAiLAorICAgICAgICAiZmluYWxoYW5kbGVyIjogIjEuMC40
IiwKKyAgICAgICAgImZyZXNoIjogIjAuNS4wIiwKKyAgICAgICAgIm1lcmdlLWRlc2NyaXB0b3Jz
IjogIjEuMC4xIiwKKyAgICAgICAgIm1ldGhvZHMiOiAiMS4xLjIiLAorICAgICAgICAib24tZmlu
aXNoZWQiOiAiMi4zLjAiLAorICAgICAgICAicGFyc2V1cmwiOiAiMS4zLjEiLAorICAgICAgICAi
cGF0aC10by1yZWdleHAiOiAiMC4xLjciLAorICAgICAgICAicHJveHktYWRkciI6ICIxLjEuNSIs
CisgICAgICAgICJxcyI6ICI2LjUuMCIsCisgICAgICAgICJyYW5nZS1wYXJzZXIiOiAiMS4yLjAi
LAorICAgICAgICAic2VuZCI6ICIwLjE1LjQiLAorICAgICAgICAic2VydmUtc3RhdGljIjogIjEu
MTIuNCIsCisgICAgICAgICJzZXRwcm90b3R5cGVvZiI6ICIxLjAuMyIsCisgICAgICAgICJzdGF0
dXNlcyI6ICIxLjMuMSIsCisgICAgICAgICJ0eXBlLWlzIjogIjEuNi4xNSIsCisgICAgICAgICJ1
dGlscy1tZXJnZSI6ICIxLjAuMCIsCisgICAgICAgICJ2YXJ5IjogIjEuMS4xIgorICAgICAgfQor
ICAgIH0sCisgICAgImV4dGdsb2IiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjMuMiIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZXh0Z2xvYi8tL2V4dGds
b2ItMC4zLjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1MaGovUFM5SnF5ZGx6c2tD
UHdFZHFvMkRTYUU9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogewor
ICAgICAgICAiaXMtZXh0Z2xvYiI6ICIxLjAuMCIKKyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5j
aWVzIjogeworICAgICAgICAiaXMtZXh0Z2xvYiI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIx
LjAuMCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L2lzLWV4dGdsb2IvLS9pcy1leHRnbG9iLTEuMC4wLnRneiIsCisgICAgICAgICAgImludGVncml0
eSI6ICJzaGExLXJFYUJkOFNVTkFXZ2t2eVBLWFlNYi94aUJzQT0iLAorICAgICAgICAgICJkZXYi
OiB0cnVlCisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9LAorICAgICJleHRyYWN0LXRleHQtd2Vi
cGFjay1wbHVnaW4iOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjEuMiIsCisgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1
Z2luLy0vZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luLTIuMS4yLnRneiIsCisgICAgICAiaW50
ZWdyaXR5IjogInNoYTEtZFc3MDc2Z1ZYRGFCZ3orOE5OcFR1VUYwYld3PSIsCisgICAgICAiZGV2
IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImFzeW5jIjogIjIuNS4wIiwK
KyAgICAgICAgImxvYWRlci11dGlscyI6ICIxLjEuMCIsCisgICAgICAgICJzY2hlbWEtdXRpbHMi
OiAiMC4zLjAiLAorICAgICAgICAid2VicGFjay1zb3VyY2VzIjogIjEuMC4xIgorICAgICAgfSwK
KyAgICAgICJkZXBlbmRlbmNpZXMiOiB7CisgICAgICAgICJsb2FkZXItdXRpbHMiOiB7CisgICAg
ICAgICAgInZlcnNpb24iOiAiMS4xLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9sb2FkZXItdXRpbHMvLS9sb2FkZXItdXRpbHMtMS4xLjAudGd6
IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEteVlydlNJdk03YUwvdGVMZVpHMXFkVVFw
OWMwPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogewor
ICAgICAgICAgICAgImJpZy5qcyI6ICIzLjEuMyIsCisgICAgICAgICAgICAiZW1vamlzLWxpc3Qi
OiAiMi4xLjAiLAorICAgICAgICAgICAgImpzb241IjogIjAuNS4xIgorICAgICAgICAgIH0KKyAg
ICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAgImZhc3QtZGVlcC1lcXVhbCI6IHsKKyAgICAg
ICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy9mYXN0LWRlZXAtZXF1YWwvLS9mYXN0LWRlZXAtZXF1YWwtMS4wLjAudGd6IiwK
KyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1saVZxTzhsMVdWNnpiWUxwa3AwR0RZazBPZjg9IiwK
KyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiZmFzdHBhcnNlIjogeworICAgICAgInZl
cnNpb24iOiAiMS4xLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL2Zhc3RwYXJzZS8tL2Zhc3RwYXJzZS0xLjEuMS50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGExLTBlSmtPemlwVFhXRHRIa0dEbXhLLzhsQWNmZz0iLAorICAgICAgImRldiI6IHRy
dWUKKyAgICB9LAorICAgICJmaWxlLWxvYWRlciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMTEu
MiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZmlsZS1s
b2FkZXIvLS9maWxlLWxvYWRlci0wLjExLjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hh
NTEyLU4rdWhGM21zd0lGZXppSFFqR1NjSi95SFhZdDNEaUxCZUMrOXZXVytXalVCaUNsTVNPbFYx
WXJYUWkrN0tNMmFBM1JuNEJ5Ymd2K3VYRlFiZmt6cHZnPT0iLAorICAgICAgImRldiI6IHRydWUs
CisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJsb2FkZXItdXRpbHMiOiAiMS4xLjAiCisg
ICAgICB9LAorICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAgImxvYWRlci11dGlscyI6
IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjEuMCIsCisgICAgICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2xvYWRlci11dGlscy8tL2xvYWRlci11dGlscy0x
LjEuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS15WXJ2U0l2TTdhTC90ZUxl
WkcxcWRVUXA5YzA9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWly
ZXMiOiB7CisgICAgICAgICAgICAiYmlnLmpzIjogIjMuMS4zIiwKKyAgICAgICAgICAgICJlbW9q
aXMtbGlzdCI6ICIyLjEuMCIsCisgICAgICAgICAgICAianNvbjUiOiAiMC41LjEiCisgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAgICAiZmlsZW5hbWUtcmVnZXgiOiB7
CisgICAgICAidmVyc2lvbiI6ICIyLjAuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvZmlsZW5hbWUtcmVnZXgvLS9maWxlbmFtZS1yZWdleC0yLjAuMS50
Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXdjUzV2dVBnbHlYZHNRYTNYQjR3SCtMeGl5
WT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJmaWxlc2l6ZSI6IHsKKyAgICAg
ICJ2ZXJzaW9uIjogIjMuNS4xMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvZmlsZXNpemUvLS9maWxlc2l6ZS0zLjUuMTAudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS0vSStpUGR0TytlWGdxMjRlWlBaNW9rcFdkaDg9IiwKKyAgICAgICJkZXYi
OiB0cnVlCisgICAgfSwKKyAgICAiZmlsbC1yYW5nZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIu
Mi4zIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9maWxs
LXJhbmdlLy0vZmlsbC1yYW5nZS0yLjIuMy50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGEx
LVVMZDkvWDVHbThkSkpIQ1dOcG4rZW9TRnB5TT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAg
ICAicmVxdWlyZXMiOiB7CisgICAgICAgICJpcy1udW1iZXIiOiAiMi4xLjAiLAorICAgICAgICAi
aXNvYmplY3QiOiAiMi4xLjAiLAorICAgICAgICAicmFuZG9tYXRpYyI6ICIxLjEuNyIsCisgICAg
ICAgICJyZXBlYXQtZWxlbWVudCI6ICIxLjEuMiIsCisgICAgICAgICJyZXBlYXQtc3RyaW5nIjog
IjEuNi4xIgorICAgICAgfQorICAgIH0sCisgICAgImZpbmFsaGFuZGxlciI6IHsKKyAgICAgICJ2
ZXJzaW9uIjogIjEuMC40IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9maW5hbGhhbmRsZXIvLS9maW5hbGhhbmRsZXItMS4wLjQudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhNTEyLTE2bC9yOFJnemxYS21GT2hacEhCenR2eWUrbEFoQzVTVTdoWGF2
bmVyQzlVZlpxWnh4WGwzQnpMOE1oZmZQVDNrRjYxbGo5T2F2MkxLRXpoMGVpN3RnPT0iLAorICAg
ICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJkZWJ1ZyI6ICIy
LjYuOCIsCisgICAgICAgICJlbmNvZGV1cmwiOiAiMS4wLjEiLAorICAgICAgICAiZXNjYXBlLWh0
bWwiOiAiMS4wLjMiLAorICAgICAgICAib24tZmluaXNoZWQiOiAiMi4zLjAiLAorICAgICAgICAi
cGFyc2V1cmwiOiAiMS4zLjEiLAorICAgICAgICAic3RhdHVzZXMiOiAiMS4zLjEiLAorICAgICAg
ICAidW5waXBlIjogIjEuMC4wIgorICAgICAgfQorICAgIH0sCisgICAgImZpbmQtY2FjaGUtZGly
IjogeworICAgICAgInZlcnNpb24iOiAiMC4xLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL2ZpbmQtY2FjaGUtZGlyLy0vZmluZC1jYWNoZS1kaXItMC4x
LjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS15Tjc2NVh5S1VxaW5oUG5qSEZmSFF1
bVRvTGs9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAg
ICAiY29tbW9uZGlyIjogIjEuMC4xIiwKKyAgICAgICAgIm1rZGlycCI6ICIwLjUuMSIsCisgICAg
ICAgICJwa2ctZGlyIjogIjEuMC4wIgorICAgICAgfQorICAgIH0sCisgICAgImZpbmQtdXAiOiB7
CisgICAgICAidmVyc2lvbiI6ICIxLjEuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvZmluZC11cC8tL2ZpbmQtdXAtMS4xLjIudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1heTZZSXJHaXpncGdxMlRXRU96SzFUeXlUUTg9IiwKKyAgICAgICJk
ZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAicGF0aC1leGlzdHMiOiAi
Mi4xLjAiLAorICAgICAgICAicGlua2llLXByb21pc2UiOiAiMi4wLjEiCisgICAgICB9CisgICAg
fSwKKyAgICAiZmxhdHRlbiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4yIiwKKyAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9mbGF0dGVuLy0vZmxhdHRlbi0x
LjAuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLTJ1UnFuWGo3NGxLU0pZekI1NENr
SFpYQU40ST0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJmb3ItaW4iOiB7Cisg
ICAgICAidmVyc2lvbiI6ICIxLjAuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvZm9yLWluLy0vZm9yLWluLTEuMC4yLnRneiIsCisgICAgICAiaW50ZWdy
aXR5IjogInNoYTEtZ1FhTktWcUJRdXdLeHliRzRpQU1NUHR0WG9BPSIsCisgICAgICAiZGV2Ijog
dHJ1ZQorICAgIH0sCisgICAgImZvci1vd24iOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjEuNSIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZm9yLW93bi8t
L2Zvci1vd24tMC4xLjUudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1VbVhHZ2FUeWxO
cTc4WHlWQ2JaMk9xaEZFTTQ9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVz
IjogeworICAgICAgICAiZm9yLWluIjogIjEuMC4yIgorICAgICAgfQorICAgIH0sCisgICAgImZv
cndhcmRlZCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMS4wIiwKKyAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9mb3J3YXJkZWQvLS9mb3J3YXJkZWQtMC4xLjAu
dGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1HZStZZE1TdUhDbDd6d2VQM21PZ20yYW9R
Mk09IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiZnJlc2giOiB7CisgICAgICAi
dmVyc2lvbiI6ICIwLjUuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvZnJlc2gvLS9mcmVzaC0wLjUuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLTlIVEtYbXFTUnRiOWpnbFR6Nm01eUFXdnA0ND0iLAorICAgICAgImRldiI6IHRydWUKKyAg
ICB9LAorICAgICJmcmllbmRseS1lcnJvcnMtd2VicGFjay1wbHVnaW4iOiB7CisgICAgICAidmVy
c2lvbiI6ICIxLjYuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvZnJpZW5kbHktZXJyb3JzLXdlYnBhY2stcGx1Z2luLy0vZnJpZW5kbHktZXJyb3JzLXdl
YnBhY2stcGx1Z2luLTEuNi4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtNHllQnhI
SXZWR29HcWJYWHA4K2loU0EzWFhBPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1
aXJlcyI6IHsKKyAgICAgICAgImNoYWxrIjogIjEuMS4zIiwKKyAgICAgICAgImVycm9yLXN0YWNr
LXBhcnNlciI6ICIyLjAuMSIsCisgICAgICAgICJzdHJpbmctbGVuZ3RoIjogIjEuMC4xIgorICAg
ICAgfQorICAgIH0sCisgICAgImZzLWV4dHJhIjogeworICAgICAgInZlcnNpb24iOiAiMC4yNi43
IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9mcy1leHRy
YS8tL2ZzLWV4dHJhLTAuMjYuNy50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLW11SDky
VWlYZVk3YXQyMEpHTTlDME1NWVQ2az0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVx
dWlyZXMiOiB7CisgICAgICAgICJncmFjZWZ1bC1mcyI6ICI0LjEuMTEiLAorICAgICAgICAianNv
bmZpbGUiOiAiMi40LjAiLAorICAgICAgICAia2xhdyI6ICIxLjMuMSIsCisgICAgICAgICJwYXRo
LWlzLWFic29sdXRlIjogIjEuMC4xIiwKKyAgICAgICAgInJpbXJhZiI6ICIyLjYuMSIKKyAgICAg
IH0KKyAgICB9LAorICAgICJmcy5yZWFscGF0aCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4w
IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9mcy5yZWFs
cGF0aC8tL2ZzLnJlYWxwYXRoLTEuMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
RlFTdEpTTVZqS3BBMjBvbmg4c0JRUm1VNms4PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0s
CisgICAgImZzZXZlbnRzIjogeworICAgICAgInZlcnNpb24iOiAiMS4xLjIiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2ZzZXZlbnRzLy0vZnNldmVudHMt
MS4xLjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLVNuNDRFNXdRVzRiVEhYdlFt
dlNId3FidWlYdGR1RDZScmptMlp0VUVHYnlyaWcrblVIM3QvUUQ0TTQvWlhWaVk1NTZUQnBSZ1pr
SExEeDNKeFB3eGl3PT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAib3B0aW9uYWwiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAibmFuIjogIjIuNi4yIiwKKyAgICAg
ICAgIm5vZGUtcHJlLWd5cCI6ICIwLjYuMzYiCisgICAgICB9LAorICAgICAgImRlcGVuZGVuY2ll
cyI6IHsKKyAgICAgICAgImFiYnJldiI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjEuMCIs
CisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2FiYnJl
di8tL2FiYnJldi0xLjEuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0wRlZN
SWxaamJpOVc1OExsclJnL2haUW8yQjg9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAg
ICAgICAib3B0aW9uYWwiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJhanYiOiB7CisgICAg
ICAgICAgInZlcnNpb24iOiAiNC4xMS44IiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYWp2Ly0vYWp2LTQuMTEuOC50Z3oiLAorICAgICAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1ndit3S3lubVlxNVR2Y0lLOFZsSGNHYzV4VFk9IiwKKyAgICAgICAg
ICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAorICAgICAgICAgICJy
ZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJjbyI6ICI0LjYuMCIsCisgICAgICAgICAgICAianNv
bi1zdGFibGUtc3RyaW5naWZ5IjogIjEuMC4xIgorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAg
ICAgICAgImFuc2ktcmVnZXgiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMi4xLjEiLAorICAg
ICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9hbnNpLXJlZ2V4
Ly0vYW5zaS1yZWdleC0yLjEuMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS13
N002dGU0MkRZYmc1aWp3Um9ybjd5ZldWTjg9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZQorICAg
ICAgICB9LAorICAgICAgICAiYXByb2JhIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMS4x
IiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYXBy
b2JhLy0vYXByb2JhLTEuMS4xLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLWxk
TmdEd2R4Q3FEcEtZeHlhdFhzOHVyTHE2cz0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAg
ICAgICAgICJvcHRpb25hbCI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImFyZS13ZS10aGVy
ZS15ZXQiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4xLjQiLAorICAgICAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9hcmUtd2UtdGhlcmUteWV0Ly0vYXJl
LXdlLXRoZXJlLXlldC0xLjEuNC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS11
MTNLT0N1NVR3WGhVWlEzUFJiOU82SEtFUTA9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAg
ICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAg
ICAgICAgICJkZWxlZ2F0ZXMiOiAiMS4wLjAiLAorICAgICAgICAgICAgInJlYWRhYmxlLXN0cmVh
bSI6ICIyLjIuOSIKKyAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJhc24xIjogewor
ICAgICAgICAgICJ2ZXJzaW9uIjogIjAuMi4zIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYXNuMS8tL2FzbjEtMC4yLjMudGd6IiwKKyAgICAgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtMnNoNGR4UEpsbWhKL0lHQWQzNituQjNmTzRZPSIsCisgICAg
ICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZQorICAgICAgICB9
LAorICAgICAgICAiYXNzZXJ0LXBsdXMiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMC4yLjAi
LAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9hc3Nl
cnQtcGx1cy8tL2Fzc2VydC1wbHVzLTAuMi4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6
ICJzaGExLTEwNGJoK2V2L0EyNHF0dHdJZlArU0JBYXNqUT0iLAorICAgICAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImFz
eW5ja2l0IjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjAuNC4wIiwKKyAgICAgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYXN5bmNraXQvLS9hc3luY2tpdC0w
LjQuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS14NTdaZjM4MHk0OHJvYnlY
a0x6RFprZExTM2s9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9u
YWwiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJhd3Mtc2lnbjIiOiB7CisgICAgICAgICAg
InZlcnNpb24iOiAiMC42LjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9hd3Mtc2lnbjIvLS9hd3Mtc2lnbjItMC42LjAudGd6IiwKKyAgICAgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtRkRRdDA0Mjh5VTBPVzRmWFk4MWpZU3dPZVU4PSIsCisgICAg
ICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZQorICAgICAgICB9
LAorICAgICAgICAiYXdzNCI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjYuMCIsCisgICAg
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2F3czQvLS9hd3M0
LTEuNi4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLWcrOWNxR0N5c3k1S0Rl
N2U2TWR4dWR0WFJ4ND0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRp
b25hbCI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImJhbGFuY2VkLW1hdGNoIjogeworICAg
ICAgICAgICJ2ZXJzaW9uIjogIjAuNC4yIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6
Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFsYW5jZWQtbWF0Y2gvLS9iYWxhbmNlZC1tYXRjaC0wLjQu
Mi50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS15ejgrUEhNdHdQQWU1d3RBUHpB
dVlkZHdtRGc9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZQorICAgICAgICB9LAorICAgICAgICAi
YmNyeXB0LXBia2RmIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwKKyAgICAgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmNyeXB0LXBia2RmLy0v
YmNyeXB0LXBia2RmLTEuMC4xLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLVk3
eGR5MkV6RzVLOEJmMVNpVlBETkdLZ2I0MD0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAg
ICAgICAgICJvcHRpb25hbCI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAg
ICAgICAgInR3ZWV0bmFjbCI6ICIwLjE0LjUiCisgICAgICAgICAgfQorICAgICAgICB9LAorICAg
ICAgICAiYmxvY2stc3RyZWFtIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjAuMC45IiwKKyAg
ICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmxvY2stc3Ry
ZWFtLy0vYmxvY2stc3RyZWFtLTAuMC45LnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJz
aGExLUUrditkNG9ESUZ6K0EzVVVnZXUwc3pBTUVtbz0iLAorICAgICAgICAgICJkZXYiOiB0cnVl
LAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJpbmhlcml0cyI6ICIyLjAu
MyIKKyAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJib29tIjogeworICAgICAgICAg
ICJ2ZXJzaW9uIjogIjIuMTAuMSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2Jvb20vLS9ib29tLTIuMTAuMS50Z3oiLAorICAgICAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1PY2lSak8vMWVaK0QrVWtxaEk5aVd0ME1kbTg9IiwKKyAgICAgICAgICAi
ZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiaG9layI6
ICIyLjE2LjMiCisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAiYnJhY2UtZXhwYW5z
aW9uIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMS43IiwKKyAgICAgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYnJhY2UtZXhwYW5zaW9uLy0vYnJhY2Ut
ZXhwYW5zaW9uLTEuMS43LnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLVB2L0R4
UTRBQlRIN2NnNnYrQThLNk84anoxaz0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
ICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJiYWxhbmNlZC1tYXRjaCI6ICIwLjQuMiIs
CisgICAgICAgICAgICAiY29uY2F0LW1hcCI6ICIwLjAuMSIKKyAgICAgICAgICB9CisgICAgICAg
IH0sCisgICAgICAgICJidWZmZXItc2hpbXMiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4w
LjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9i
dWZmZXItc2hpbXMvLS9idWZmZXItc2hpbXMtMS4wLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdy
aXR5IjogInNoYTEtbVhqT01YT0l4a210aDVNQ2pEUjM3d1JLaTFFPSIsCisgICAgICAgICAgImRl
diI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImNhc2VsZXNzIjogeworICAgICAgICAgICJ2
ZXJzaW9uIjogIjAuMTIuMCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2Nhc2VsZXNzLy0vY2FzZWxlc3MtMC4xMi4wLnRneiIsCisgICAgICAgICAg
ImludGVncml0eSI6ICJzaGExLUcyZ2NJZitFQXp5Q1pVTUpCb2xDRFJoeFVkdz0iLAorICAgICAg
ICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUKKyAgICAgICAgfSwK
KyAgICAgICAgImNvIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjQuNi4wIiwKKyAgICAgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY28vLS9jby00LjYuMC50
Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1icWE5ODloVHJsVE11T1I3K2d2eitR
TWZzWVE9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0
cnVlCisgICAgICAgIH0sCisgICAgICAgICJjb2RlLXBvaW50LWF0IjogeworICAgICAgICAgICJ2
ZXJzaW9uIjogIjEuMS4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvY29kZS1wb2ludC1hdC8tL2NvZGUtcG9pbnQtYXQtMS4xLjAudGd6IiwKKyAg
ICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtRFFjTFRRUTZXK296b3ZHa0RpN2JQWnBNejNjPSIs
CisgICAgICAgICAgImRldiI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImNvbWJpbmVkLXN0
cmVhbSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjAuNSIsCisgICAgICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2NvbWJpbmVkLXN0cmVhbS8tL2NvbWJp
bmVkLXN0cmVhbS0xLjAuNS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1rNE53
cFh0S1VkNml4M3dWMWNYOStKVVdRQWs9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAg
ICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiZGVsYXllZC1zdHJlYW0iOiAiMS4wLjAi
CisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAiY29uY2F0LW1hcCI6IHsKKyAgICAg
ICAgICAidmVyc2lvbiI6ICIwLjAuMSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2NvbmNhdC1tYXAvLS9jb25jYXQtbWFwLTAuMC4xLnRneiIsCisg
ICAgICAgICAgImludGVncml0eSI6ICJzaGExLTJLbHIxMy9XamZkNU9uTURhanVnMVVCZFIzcz0i
LAorICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJjb25zb2xlLWNv
bnRyb2wtc3RyaW5ncyI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjEuMCIsCisgICAgICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2NvbnNvbGUtY29udHJv
bC1zdHJpbmdzLy0vY29uc29sZS1jb250cm9sLXN0cmluZ3MtMS4xLjAudGd6IiwKKyAgICAgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtUFh6MFJrMjJSRzZtUkw5TE9WQi9tRkVBam80PSIsCisgICAg
ICAgICAgImRldiI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImNvcmUtdXRpbC1pcyI6IHsK
KyAgICAgICAgICAidmVyc2lvbiI6ICIxLjAuMiIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2NvcmUtdXRpbC1pcy8tL2NvcmUtdXRpbC1pcy0xLjAu
Mi50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS10ZjFVSWdxaXZGcTFlcXR4UU1s
QWRVVUR3YWM9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZQorICAgICAgICB9LAorICAgICAgICAi
Y3J5cHRpbGVzIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjIuMC41IiwKKyAgICAgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY3J5cHRpbGVzLy0vY3J5cHRp
bGVzLTIuMC41LnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLU85L3MzR0NCUjhI
R2NnTDZLUjU5eWxucW83Zz0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJv
cHRpb25hbCI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImJv
b20iOiAiMi4xMC4xIgorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgImRhc2hkYXNo
IjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMTQuMSIsCisgICAgICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Rhc2hkYXNoLy0vZGFzaGRhc2gtMS4xNC4x
LnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLWhUejZEM3krTCsxZDRnTW11TjFZ
RURYMjR2QT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRpb25hbCI6
IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImFzc2VydC1wbHVz
IjogIjEuMC4wIgorICAgICAgICAgIH0sCisgICAgICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAg
ICAgICAgICAgICJhc3NlcnQtcGx1cyI6IHsKKyAgICAgICAgICAgICAgInZlcnNpb24iOiAiMS4w
LjAiLAorICAgICAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvYXNzZXJ0LXBsdXMvLS9hc3NlcnQtcGx1cy0xLjAuMC50Z3oiLAorICAgICAgICAgICAgICAi
aW50ZWdyaXR5IjogInNoYTEtOFM0UFBGMTNzTEhOMlJScFF1VHBiQjVOMVNVPSIsCisgICAgICAg
ICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlCisgICAg
ICAgICAgICB9CisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAiZGVidWciOiB7Cisg
ICAgICAgICAgInZlcnNpb24iOiAiMi42LjgiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9kZWJ1Zy8tL2RlYnVnLTIuNi44LnRneiIsCisgICAgICAg
ICAgImludGVncml0eSI6ICJzaGExLTV6RlRIS0x0NG4wWWdpSkNmYUY0SWRhUDlQdz0iLAorICAg
ICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUsCisgICAgICAg
ICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgIm1zIjogIjIuMC4wIgorICAgICAgICAgIH0K
KyAgICAgICAgfSwKKyAgICAgICAgImRlZXAtZXh0ZW5kIjogeworICAgICAgICAgICJ2ZXJzaW9u
IjogIjAuNC4yIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvZGVlcC1leHRlbmQvLS9kZWVwLWV4dGVuZC0wLjQuMi50Z3oiLAorICAgICAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1TTGFad240elMvaWZFSWtyNURMMjVNZlRTbjg9IiwKKyAgICAgICAg
ICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlCisgICAgICAgIH0sCisg
ICAgICAgICJkZWxheWVkLXN0cmVhbSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjAuMCIs
CisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2RlbGF5
ZWQtc3RyZWFtLy0vZGVsYXllZC1zdHJlYW0tMS4wLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdy
aXR5IjogInNoYTEtM3pyaG1heXQrMzFFQ3FyZ3NwNGljckpPeGhrPSIsCisgICAgICAgICAgImRl
diI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImRlbGVnYXRlcyI6IHsKKyAgICAgICAgICAi
dmVyc2lvbiI6ICIxLjAuMCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2RlbGVnYXRlcy8tL2RlbGVnYXRlcy0xLjAuMC50Z3oiLAorICAgICAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1oTWJoV2JnWkJQM0tXYUR2Uk0ySERURWxENW89IiwKKyAgICAg
ICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlCisgICAgICAgIH0s
CisgICAgICAgICJlY2MtanNibiI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIwLjEuMSIsCisg
ICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2VjYy1qc2Ju
Ly0vZWNjLWpzYm4tMC4xLjEudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtRDhj
Nm50WHcxVHc0R1RPWVVqNzM1VU4zZFFVPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAg
ICAgICAgIm9wdGlvbmFsIjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAg
ICAgICAianNibiI6ICIwLjEuMSIKKyAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJl
eHRlbmQiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMy4wLjEiLAorICAgICAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9leHRlbmQvLS9leHRlbmQtMy4wLjEu
dGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtcDFYcWU4R3QvTVdqSE9mbll0dXEz
RjVqWkVRPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjog
dHJ1ZQorICAgICAgICB9LAorICAgICAgICAiZXh0c3ByaW50ZiI6IHsKKyAgICAgICAgICAidmVy
c2lvbiI6ICIxLjAuMiIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2V4dHNwcmludGYvLS9leHRzcHJpbnRmLTEuMC4yLnRneiIsCisgICAgICAgICAg
ImludGVncml0eSI6ICJzaGExLTRRZ09CbGpqQUxCaWxKa014dzRWQWlOZjFWQT0iLAorICAgICAg
ICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJmb3JldmVyLWFnZW50Ijogewor
ICAgICAgICAgICJ2ZXJzaW9uIjogIjAuNi4xIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZm9yZXZlci1hZ2VudC8tL2ZvcmV2ZXItYWdlbnQtMC42
LjEudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtKzhjZkRFR3Q2emY1YkZkNjBl
MUMyUDJzeXBFPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFs
IjogdHJ1ZQorICAgICAgICB9LAorICAgICAgICAiZm9ybS1kYXRhIjogeworICAgICAgICAgICJ2
ZXJzaW9uIjogIjIuMS40IiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvZm9ybS1kYXRhLy0vZm9ybS1kYXRhLTIuMS40LnRneiIsCisgICAgICAgICAg
ImludGVncml0eSI6ICJzaGExLU04R0RyUEdUSjI3S3FZRkRwcDZVdis0WFVORT0iLAorICAgICAg
ICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUsCisgICAgICAgICAg
InJlcXVpcmVzIjogeworICAgICAgICAgICAgImFzeW5ja2l0IjogIjAuNC4wIiwKKyAgICAgICAg
ICAgICJjb21iaW5lZC1zdHJlYW0iOiAiMS4wLjUiLAorICAgICAgICAgICAgIm1pbWUtdHlwZXMi
OiAiMi4xLjE1IgorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgImZzLnJlYWxwYXRo
IjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZnMucmVhbHBhdGgvLS9mcy5yZWFscGF0aC0x
LjAuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1GUVN0SlNNVmpLcEEyMG9u
aDhzQlFSbVU2azg9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZQorICAgICAgICB9LAorICAgICAg
ICAiZnN0cmVhbSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjAuMTEiLAorICAgICAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9mc3RyZWFtLy0vZnN0cmVh
bS0xLjAuMTEudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtWEIreDhSZEhjUlR3
WXlvT3RMY2JQTEQ5TVhFPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJl
cXVpcmVzIjogeworICAgICAgICAgICAgImdyYWNlZnVsLWZzIjogIjQuMS4xMSIsCisgICAgICAg
ICAgICAiaW5oZXJpdHMiOiAiMi4wLjMiLAorICAgICAgICAgICAgIm1rZGlycCI6ICIwLjUuMSIs
CisgICAgICAgICAgICAicmltcmFmIjogIjIuNi4xIgorICAgICAgICAgIH0KKyAgICAgICAgfSwK
KyAgICAgICAgImZzdHJlYW0taWdub3JlIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMC41
IiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZnN0
cmVhbS1pZ25vcmUvLS9mc3RyZWFtLWlnbm9yZS0xLjAuNS50Z3oiLAorICAgICAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1uREhhNDBkbkFZL2gwa215VGEybWZRa3RvUVU9IiwKKyAgICAgICAgICAi
ZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAorICAgICAgICAgICJyZXF1
aXJlcyI6IHsKKyAgICAgICAgICAgICJmc3RyZWFtIjogIjEuMC4xMSIsCisgICAgICAgICAgICAi
aW5oZXJpdHMiOiAiMi4wLjMiLAorICAgICAgICAgICAgIm1pbmltYXRjaCI6ICIzLjAuNCIKKyAg
ICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJnYXVnZSI6IHsKKyAgICAgICAgICAidmVy
c2lvbiI6ICIyLjcuNCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2dhdWdlLy0vZ2F1Z2UtMi43LjQudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtTEFOQVhIVTR3NTErczNzeGNDTGpKZnNCaS9jPSIsCisgICAgICAgICAgImRldiI6
IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMi
OiB7CisgICAgICAgICAgICAiYXByb2JhIjogIjEuMS4xIiwKKyAgICAgICAgICAgICJjb25zb2xl
LWNvbnRyb2wtc3RyaW5ncyI6ICIxLjEuMCIsCisgICAgICAgICAgICAiaGFzLXVuaWNvZGUiOiAi
Mi4wLjEiLAorICAgICAgICAgICAgIm9iamVjdC1hc3NpZ24iOiAiNC4xLjEiLAorICAgICAgICAg
ICAgInNpZ25hbC1leGl0IjogIjMuMC4yIiwKKyAgICAgICAgICAgICJzdHJpbmctd2lkdGgiOiAi
MS4wLjIiLAorICAgICAgICAgICAgInN0cmlwLWFuc2kiOiAiMy4wLjEiLAorICAgICAgICAgICAg
IndpZGUtYWxpZ24iOiAiMS4xLjIiCisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAi
Z2V0cGFzcyI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIwLjEuNyIsCisgICAgICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2dldHBhc3MvLS9nZXRwYXNzLTAu
MS43LnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLVh2K09QbWhOVnBya3l5c1Nn
bUJPaTZZaFNmbz0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRpb25h
bCI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImFzc2VydC1w
bHVzIjogIjEuMC4wIgorICAgICAgICAgIH0sCisgICAgICAgICAgImRlcGVuZGVuY2llcyI6IHsK
KyAgICAgICAgICAgICJhc3NlcnQtcGx1cyI6IHsKKyAgICAgICAgICAgICAgInZlcnNpb24iOiAi
MS4wLjAiLAorICAgICAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvYXNzZXJ0LXBsdXMvLS9hc3NlcnQtcGx1cy0xLjAuMC50Z3oiLAorICAgICAgICAgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtOFM0UFBGMTNzTEhOMlJScFF1VHBiQjVOMVNVPSIsCisgICAg
ICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlCisg
ICAgICAgICAgICB9CisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAiZ2xvYiI6IHsK
KyAgICAgICAgICAidmVyc2lvbiI6ICI3LjEuMiIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2dsb2IvLS9nbG9iLTcuMS4yLnRneiIsCisgICAgICAg
ICAgImludGVncml0eSI6ICJzaGE1MTItTUpUVWcxa2p1TGVRQ0orY2NFNFZwYTZrS1ZYa1BZSjJt
T0NReVV1S0xjTFFzZHJNQ3BCUFVpOHFWRTYrWXVhSmtvemVBOU51c1RBdzNoTHI4WGU1RVE9PSIs
CisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAg
ICAgICAgImZzLnJlYWxwYXRoIjogIjEuMC4wIiwKKyAgICAgICAgICAgICJpbmZsaWdodCI6ICIx
LjAuNiIsCisgICAgICAgICAgICAiaW5oZXJpdHMiOiAiMi4wLjMiLAorICAgICAgICAgICAgIm1p
bmltYXRjaCI6ICIzLjAuNCIsCisgICAgICAgICAgICAib25jZSI6ICIxLjQuMCIsCisgICAgICAg
ICAgICAicGF0aC1pcy1hYnNvbHV0ZSI6ICIxLjAuMSIKKyAgICAgICAgICB9CisgICAgICAgIH0s
CisgICAgICAgICJncmFjZWZ1bC1mcyI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICI0LjEuMTEi
LAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9ncmFj
ZWZ1bC1mcy8tL2dyYWNlZnVsLWZzLTQuMS4xMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1Eb3ZmNU5IZHVJVk5aT0JPcDhBT0tnSnVWbGc9IiwKKyAgICAgICAgICAiZGV2Ijog
dHJ1ZQorICAgICAgICB9LAorICAgICAgICAiaGFyLXNjaGVtYSI6IHsKKyAgICAgICAgICAidmVy
c2lvbiI6ICIxLjAuNSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2hhci1zY2hlbWEvLS9oYXItc2NoZW1hLTEuMC41LnRneiIsCisgICAgICAgICAg
ImludGVncml0eSI6ICJzaGExLTBtTVRYME13ZkFMR0FxL0kvcFdYREFGUk5wND0iLAorICAgICAg
ICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUKKyAgICAgICAgfSwK
KyAgICAgICAgImhhci12YWxpZGF0b3IiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiNC4yLjEi
LAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9oYXIt
dmFsaWRhdG9yLy0vaGFyLXZhbGlkYXRvci00LjIuMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1NMGdkRHh1LzlnRGRJRDExZ1NwcVg3b0FMaW89IiwKKyAgICAgICAgICAiZGV2
IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJl
cyI6IHsKKyAgICAgICAgICAgICJhanYiOiAiNC4xMS44IiwKKyAgICAgICAgICAgICJoYXItc2No
ZW1hIjogIjEuMC41IgorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgImhhcy11bmlj
b2RlIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjIuMC4xIiwKKyAgICAgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaGFzLXVuaWNvZGUvLS9oYXMtdW5pY29k
ZS0yLjAuMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS00T2IrYWlqUFVST0lW
ZUNHMFdrZWR4M2lxTGs9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0
aW9uYWwiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJoYXdrIjogeworICAgICAgICAgICJ2
ZXJzaW9uIjogIjMuMS4zIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvaGF3ay8tL2hhd2stMy4xLjMudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtQjRSRXZYd1dRTEQrVkEwc20zUFZsbmpvNGNRPSIsCisgICAgICAgICAgImRldiI6
IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMi
OiB7CisgICAgICAgICAgICAiYm9vbSI6ICIyLjEwLjEiLAorICAgICAgICAgICAgImNyeXB0aWxl
cyI6ICIyLjAuNSIsCisgICAgICAgICAgICAiaG9layI6ICIyLjE2LjMiLAorICAgICAgICAgICAg
InNudHAiOiAiMS4wLjkiCisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAiaG9layI6
IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIyLjE2LjMiLAorICAgICAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9ob2VrLy0vaG9lay0yLjE2LjMudGd6IiwKKyAg
ICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtSUx0MEE5UE9vNWpwSGNSeENvL3h1Q2RLSmUwPSIs
CisgICAgICAgICAgImRldiI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImh0dHAtc2lnbmF0
dXJlIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMS4xIiwKKyAgICAgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaHR0cC1zaWduYXR1cmUvLS9odHRwLXNp
Z25hdHVyZS0xLjEuMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0zM0xpWnda
czBLeG4rM2F0K09FMHFQdlBrYjg9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAg
ICAib3B0aW9uYWwiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAg
ICJhc3NlcnQtcGx1cyI6ICIwLjIuMCIsCisgICAgICAgICAgICAianNwcmltIjogIjEuNC4wIiwK
KyAgICAgICAgICAgICJzc2hwayI6ICIxLjEzLjAiCisgICAgICAgICAgfQorICAgICAgICB9LAor
ICAgICAgICAiaW5mbGlnaHQiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4wLjYiLAorICAg
ICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pbmZsaWdodC8t
L2luZmxpZ2h0LTEuMC42LnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLVNiMWpN
ZGZRTFF3SnZKRUtFSFc2Z1dXMWJmaz0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
ICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJvbmNlIjogIjEuNC4wIiwKKyAgICAgICAg
ICAgICJ3cmFwcHkiOiAiMS4wLjIiCisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAi
aW5oZXJpdHMiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMi4wLjMiLAorICAgICAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pbmhlcml0cy8tL2luaGVyaXRz
LTIuMC4zLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLVl6d3NnK1BhUXFVQzlT
Um1BaVNBOUNDQ1lkND0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisgICAg
ICAgICJpbmkiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4zLjQiLAorICAgICAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pbmkvLS9pbmktMS4zLjQudGd6
IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtQlRmTGVkcjFtMW1ocFJmZjl3Yklic0E1
Rmk0PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1
ZQorICAgICAgICB9LAorICAgICAgICAiaXMtZnVsbHdpZHRoLWNvZGUtcG9pbnQiOiB7CisgICAg
ICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1mdWxsd2lkdGgtY29kZS1wb2ludC8tL2lzLWZ1bGx3aWR0
aC1jb2RlLXBvaW50LTEuMC4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLTc1
NHhPRzhER244TlpEcjRMOTVReEZmdkFNcz0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAg
ICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJudW1iZXItaXMtbmFuIjogIjEuMC4x
IgorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgImlzLXR5cGVkYXJyYXkiOiB7Cisg
ICAgICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy10eXBlZGFycmF5Ly0vaXMtdHlwZWRhcnJheS0xLjAu
MC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS01SG5JQ0ZqZkRCc1IzZHBwUVBs
Z0VmemFTcG89IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwi
OiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJpc2FycmF5IjogeworICAgICAgICAgICJ2ZXJz
aW9uIjogIjEuMC4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvaXNhcnJheS8tL2lzYXJyYXktMS4wLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdy
aXR5IjogInNoYTEtdTVOZFNGZ3N1aGFNQm9OSlY2VktQZ2NTVHhFPSIsCisgICAgICAgICAgImRl
diI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImlzc3RyZWFtIjogeworICAgICAgICAgICJ2
ZXJzaW9uIjogIjAuMS4yIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvaXNzdHJlYW0vLS9pc3N0cmVhbS0wLjEuMi50Z3oiLAorICAgICAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1SK1kvZXZWYSttK1M0VkFPYVE2NHVGS2NDWm89IiwKKyAgICAgICAg
ICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlCisgICAgICAgIH0sCisg
ICAgICAgICJqb2RpZDI1NTE5IjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMC4yIiwKKyAg
ICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvam9kaWQyNTUx
OS8tL2pvZGlkMjU1MTktMS4wLjIudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
QnRTUklsVUpOQmxIZlVKV00yQnVEcEI0S1djPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisg
ICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAg
ICAgICAgICAianNibiI6ICIwLjEuMSIKKyAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAg
ICJqc2JuIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjAuMS4xIiwKKyAgICAgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvanNibi8tL2pzYm4tMC4xLjEudGd6
IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtcGVaVXd1V2kzclh5QWRsczc3eW9EQTd5
OVJNPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1
ZQorICAgICAgICB9LAorICAgICAgICAianNvbi1zY2hlbWEiOiB7CisgICAgICAgICAgInZlcnNp
b24iOiAiMC4yLjMiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9qc29uLXNjaGVtYS8tL2pzb24tc2NoZW1hLTAuMi4zLnRneiIsCisgICAgICAgICAg
ImludGVncml0eSI6ICJzaGExLXRJRElrdVdhTHdXVlRPY252VDhxVG9ndm5oTT0iLAorICAgICAg
ICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUKKyAgICAgICAgfSwK
KyAgICAgICAgImpzb24tc3RhYmxlLXN0cmluZ2lmeSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6
ICIxLjAuMSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL2pzb24tc3RhYmxlLXN0cmluZ2lmeS8tL2pzb24tc3RhYmxlLXN0cmluZ2lmeS0xLjAuMS50
Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1tbldkT2NYeS8xQS8xVEFHUnUxRVg0
akUrYTg9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0
cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJqc29uaWZ5IjogIjAu
MC4wIgorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgImpzb24tc3RyaW5naWZ5LXNh
ZmUiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiNS4wLjEiLAorICAgICAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qc29uLXN0cmluZ2lmeS1zYWZlLy0vanNv
bi1zdHJpbmdpZnktc2FmZS01LjAuMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1FcGFpMVkvVVh4bWc5czRCMWxjQjRzYzF0dXM9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwK
KyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJqc29uaWZ5
IjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjAuMC4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvanNvbmlmeS8tL2pzb25pZnktMC4wLjAudGd6
IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtTEhTMjdrSFpQS1ViZTFxdTZQVURZeDBs
S25NPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1
ZQorICAgICAgICB9LAorICAgICAgICAianNwcmltIjogeworICAgICAgICAgICJ2ZXJzaW9uIjog
IjEuNC4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvanNwcmltLy0vanNwcmltLTEuNC4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJz
aGExLW83aCtRQ21OakRnRlV0ak1kaWlndTVXaUtSZz0iLAorICAgICAgICAgICJkZXYiOiB0cnVl
LAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogewor
ICAgICAgICAgICAgImFzc2VydC1wbHVzIjogIjEuMC4wIiwKKyAgICAgICAgICAgICJleHRzcHJp
bnRmIjogIjEuMC4yIiwKKyAgICAgICAgICAgICJqc29uLXNjaGVtYSI6ICIwLjIuMyIsCisgICAg
ICAgICAgICAidmVycm9yIjogIjEuMy42IgorICAgICAgICAgIH0sCisgICAgICAgICAgImRlcGVu
ZGVuY2llcyI6IHsKKyAgICAgICAgICAgICJhc3NlcnQtcGx1cyI6IHsKKyAgICAgICAgICAgICAg
InZlcnNpb24iOiAiMS4wLjAiLAorICAgICAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvYXNzZXJ0LXBsdXMvLS9hc3NlcnQtcGx1cy0xLjAuMC50Z3oiLAor
ICAgICAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtOFM0UFBGMTNzTEhOMlJScFF1VHBiQjVO
MVNVPSIsCisgICAgICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICAgICAib3B0aW9u
YWwiOiB0cnVlCisgICAgICAgICAgICB9CisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAg
ICAibWltZS1kYiI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjI3LjAiLAorICAgICAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9taW1lLWRiLy0vbWltZS1k
Yi0xLjI3LjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtZ2c5WElwYTcwZzdD
WHRWZVcxM29hZVZEYnJFPSIsCisgICAgICAgICAgImRldiI6IHRydWUKKyAgICAgICAgfSwKKyAg
ICAgICAgIm1pbWUtdHlwZXMiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMi4xLjE1IiwKKyAg
ICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbWltZS10eXBl
cy8tL21pbWUtdHlwZXMtMi4xLjE1LnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGEx
LXBPdjFCa0NVVnBJM3VNOXdCR2QyMEovSkt1MD0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAor
ICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJtaW1lLWRiIjogIjEuMjcuMCIK
KyAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJtaW5pbWF0Y2giOiB7CisgICAgICAg
ICAgInZlcnNpb24iOiAiMy4wLjQiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9taW5pbWF0Y2gvLS9taW5pbWF0Y2gtMy4wLjQudGd6IiwKKyAgICAg
ICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi15SkhWUUVoeXFQTFVUZ3Q5QjgzUFh1Nlczcng0TXZ2
SHZTVXZUb29ncHdvR0RPVVEreURyUjBIUm90K3lPQ2RDTzd1NGhYM3BXZnQ2a1dCQmNxaDBVQT09
IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAg
ICAgICAgICAiYnJhY2UtZXhwYW5zaW9uIjogIjEuMS43IgorICAgICAgICAgIH0KKyAgICAgICAg
fSwKKyAgICAgICAgIm1pbmltaXN0IjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjAuMC44IiwK
KyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbWluaW1p
c3QvLS9taW5pbWlzdC0wLjAuOC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1o
WC9LdjhNNWZTWWx1Q0tDWXVocXA2QVJzRjA9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZQorICAg
ICAgICB9LAorICAgICAgICAibWtkaXJwIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjAuNS4x
IiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbWtk
aXJwLy0vbWtkaXJwLTAuNS4xLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLU1B
VjBPT3JHejMrTVIyZnpoa2pXYVgxMXlRTT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAg
ICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJtaW5pbWlzdCI6ICIwLjAuOCIKKyAg
ICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJtcyI6IHsKKyAgICAgICAgICAidmVyc2lv
biI6ICIyLjAuMCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL21zLy0vbXMtMi4wLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
VmdpdXJmd0F2bXdwQWQ5Zm1HRjRqZURWbDhnPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisg
ICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZQorICAgICAgICB9LAorICAgICAgICAibm9kZS1wcmUt
Z3lwIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjAuNi4zNiIsCisgICAgICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL25vZGUtcHJlLWd5cC8tL25vZGUtcHJl
LWd5cC0wLjYuMzYudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtMjJCQkVzdDA0
TlIzVlU2YlVGc1hxOTM2dDRZPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAg
Im9wdGlvbmFsIjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAi
bWtkaXJwIjogIjAuNS4xIiwKKyAgICAgICAgICAgICJub3B0IjogIjQuMC4xIiwKKyAgICAgICAg
ICAgICJucG1sb2ciOiAiNC4xLjAiLAorICAgICAgICAgICAgInJjIjogIjEuMi4xIiwKKyAgICAg
ICAgICAgICJyZXF1ZXN0IjogIjIuODEuMCIsCisgICAgICAgICAgICAicmltcmFmIjogIjIuNi4x
IiwKKyAgICAgICAgICAgICJzZW12ZXIiOiAiNS4zLjAiLAorICAgICAgICAgICAgInRhciI6ICIy
LjIuMSIsCisgICAgICAgICAgICAidGFyLXBhY2siOiAiMy40LjAiCisgICAgICAgICAgfQorICAg
ICAgICB9LAorICAgICAgICAibm9wdCI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICI0LjAuMSIs
CisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL25vcHQv
LS9ub3B0LTQuMC4xLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLTBOUm9XdjFV
RlJrOGpIVUZZQzBORjgxa1IwMD0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAg
ICJvcHRpb25hbCI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAg
ImFiYnJldiI6ICIxLjEuMCIsCisgICAgICAgICAgICAib3NlbnYiOiAiMC4xLjQiCisgICAgICAg
ICAgfQorICAgICAgICB9LAorICAgICAgICAibnBtbG9nIjogeworICAgICAgICAgICJ2ZXJzaW9u
IjogIjQuMS4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvbnBtbG9nLy0vbnBtbG9nLTQuMS4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6
ICJzaGE1MTItb2NvbElrWlladDhVdmV1aURTMHlBa2tJamlkMW83bFBHOGNZbTA1eU5ZekJuOHlr
UXRhaVBNRUdwOGZZOXRLZERnbThva3BkS3prdnUxeTloVVl1Z0E9PSIsCisgICAgICAgICAgImRl
diI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWly
ZXMiOiB7CisgICAgICAgICAgICAiYXJlLXdlLXRoZXJlLXlldCI6ICIxLjEuNCIsCisgICAgICAg
ICAgICAiY29uc29sZS1jb250cm9sLXN0cmluZ3MiOiAiMS4xLjAiLAorICAgICAgICAgICAgImdh
dWdlIjogIjIuNy40IiwKKyAgICAgICAgICAgICJzZXQtYmxvY2tpbmciOiAiMi4wLjAiCisgICAg
ICAgICAgfQorICAgICAgICB9LAorICAgICAgICAibnVtYmVyLWlzLW5hbiI6IHsKKyAgICAgICAg
ICAidmVyc2lvbiI6ICIxLjAuMSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL251bWJlci1pcy1uYW4vLS9udW1iZXItaXMtbmFuLTEuMC4xLnRneiIs
CisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLUNYdGdLMU5DS2xJc0d2dUhrREdETnBRYUFS
MD0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJvYXV0aC1z
aWduIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjAuOC4yIiwKKyAgICAgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvb2F1dGgtc2lnbi8tL29hdXRoLXNpZ24t
MC44LjIudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtUnFhcmZ3cnEyTjZ1bnNC
V1Y0QzMxTy9yblVNPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlv
bmFsIjogdHJ1ZQorICAgICAgICB9LAorICAgICAgICAib2JqZWN0LWFzc2lnbiI6IHsKKyAgICAg
ICAgICAidmVyc2lvbiI6ICI0LjEuMSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL29iamVjdC1hc3NpZ24vLS9vYmplY3QtYXNzaWduLTQuMS4xLnRn
eiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLUlRbXR4NVpZaDgvQVhMdlVRc3JJdjdz
MkNHTT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRpb25hbCI6IHRy
dWUKKyAgICAgICAgfSwKKyAgICAgICAgIm9uY2UiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAi
MS40LjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9vbmNlLy0vb25jZS0xLjQuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1X
RHNhcDNXV0hVc1JPc0Y5bkZDNjc1M1hhOUU9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAg
ICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAid3JhcHB5IjogIjEuMC4yIgorICAg
ICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgIm9zLWhvbWVkaXIiOiB7CisgICAgICAgICAg
InZlcnNpb24iOiAiMS4wLjIiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9vcy1ob21lZGlyLy0vb3MtaG9tZWRpci0xLjAuMi50Z3oiLAorICAgICAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS0vN3hKaUROdURvTTk0TUZveCs4VklTR3FmN009IiwKKyAg
ICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlCisgICAgICAg
IH0sCisgICAgICAgICJvcy10bXBkaXIiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4wLjIi
LAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9vcy10
bXBkaXIvLS9vcy10bXBkaXItMS4wLjIudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNo
YTEtdStaMEJzZWFxRnhjL3NkbS9sYzBWVjM2RW5RPSIsCisgICAgICAgICAgImRldiI6IHRydWUs
CisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZQorICAgICAgICB9LAorICAgICAgICAib3NlbnYi
OiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMC4xLjQiLAorICAgICAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9vc2Vudi8tL29zZW52LTAuMS40LnRneiIsCisg
ICAgICAgICAgImludGVncml0eSI6ICJzaGExLVF2NXRXVlBmQnNnR1MrYnhkc1BRV3FxalJrUT0i
LAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUsCisg
ICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgIm9zLWhvbWVkaXIiOiAiMS4wLjIi
LAorICAgICAgICAgICAgIm9zLXRtcGRpciI6ICIxLjAuMiIKKyAgICAgICAgICB9CisgICAgICAg
IH0sCisgICAgICAgICJwYXRoLWlzLWFic29sdXRlIjogeworICAgICAgICAgICJ2ZXJzaW9uIjog
IjEuMC4xIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvcGF0aC1pcy1hYnNvbHV0ZS8tL3BhdGgtaXMtYWJzb2x1dGUtMS4wLjEudGd6IiwKKyAgICAg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtRjB1U2FITlZOUCs4ZXM1cjlUcGFuaHRjWDE4PSIsCisg
ICAgICAgICAgImRldiI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgInBlcmZvcm1hbmNlLW5v
dyI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIwLjIuMCIsCisgICAgICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3BlcmZvcm1hbmNlLW5vdy8tL3BlcmZvcm1h
bmNlLW5vdy0wLjIuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1NKzh3eGNk
OVRxSWNXbE9HblpHMWJZOGxWZVU9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAg
ICAib3B0aW9uYWwiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJwcm9jZXNzLW5leHRpY2st
YXJncyI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjAuNyIsCisgICAgICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Byb2Nlc3MtbmV4dGljay1hcmdzLy0v
cHJvY2Vzcy1uZXh0aWNrLWFyZ3MtMS4wLjcudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtRlE0Z3QxWlpDdFA1RUpQeVdrOHEyTC96QzZNPSIsCisgICAgICAgICAgImRldiI6IHRy
dWUKKyAgICAgICAgfSwKKyAgICAgICAgInB1bnljb2RlIjogeworICAgICAgICAgICJ2ZXJzaW9u
IjogIjEuNC4xIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvcHVueWNvZGUvLS9wdW55Y29kZS0xLjQuMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS13TldtT3ljWWdBclk0ZXNQcFNhY2hOMUJoRjQ9IiwKKyAgICAgICAgICAiZGV2
IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAg
ICJxcyI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICI2LjQuMCIsCisgICAgICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3FzLy0vcXMtNi40LjAudGd6IiwKKyAg
ICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtRStKdEtLMXJEL3FwRXhMTk8vY0k3VFVlY2pNPSIs
CisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZQorICAg
ICAgICB9LAorICAgICAgICAicmMiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4yLjEiLAor
ICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yYy8tL3Jj
LTEuMi4xLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLUxnUG81QzdrVUxqTFBj
NWx2aHY0bDA0ZC9aVT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRp
b25hbCI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImRlZXAt
ZXh0ZW5kIjogIjAuNC4yIiwKKyAgICAgICAgICAgICJpbmkiOiAiMS4zLjQiLAorICAgICAgICAg
ICAgIm1pbmltaXN0IjogIjEuMi4wIiwKKyAgICAgICAgICAgICJzdHJpcC1qc29uLWNvbW1lbnRz
IjogIjIuMC4xIgorICAgICAgICAgIH0sCisgICAgICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAg
ICAgICAgICAgICJtaW5pbWlzdCI6IHsKKyAgICAgICAgICAgICAgInZlcnNpb24iOiAiMS4yLjAi
LAorICAgICAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
bWluaW1pc3QvLS9taW5pbWlzdC0xLjIuMC50Z3oiLAorICAgICAgICAgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtbzFBSXNnOUJPRDdzSDdrVTlNMWQ5NW9tUW9RPSIsCisgICAgICAgICAgICAgICJk
ZXYiOiB0cnVlLAorICAgICAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlCisgICAgICAgICAgICB9
CisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAicmVhZGFibGUtc3RyZWFtIjogewor
ICAgICAgICAgICJ2ZXJzaW9uIjogIjIuMi45IiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcmVhZGFibGUtc3RyZWFtLy0vcmVhZGFibGUtc3RyZWFt
LTIuMi45LnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLXozanNiMHB0SHJROUpr
aU1ySmZ3UXVkTGY4Zz0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJyZXF1
aXJlcyI6IHsKKyAgICAgICAgICAgICJidWZmZXItc2hpbXMiOiAiMS4wLjAiLAorICAgICAgICAg
ICAgImNvcmUtdXRpbC1pcyI6ICIxLjAuMiIsCisgICAgICAgICAgICAiaW5oZXJpdHMiOiAiMi4w
LjMiLAorICAgICAgICAgICAgImlzYXJyYXkiOiAiMS4wLjAiLAorICAgICAgICAgICAgInByb2Nl
c3MtbmV4dGljay1hcmdzIjogIjEuMC43IiwKKyAgICAgICAgICAgICJzdHJpbmdfZGVjb2RlciI6
ICIxLjAuMSIsCisgICAgICAgICAgICAidXRpbC1kZXByZWNhdGUiOiAiMS4wLjIiCisgICAgICAg
ICAgfQorICAgICAgICB9LAorICAgICAgICAicmVxdWVzdCI6IHsKKyAgICAgICAgICAidmVyc2lv
biI6ICIyLjgxLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9yZXF1ZXN0Ly0vcmVxdWVzdC0yLjgxLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdy
aXR5IjogInNoYTEteHBLSlJxRGdiRitOYjRxVE0wYWYvYVJpbUtBPSIsCisgICAgICAgICAgImRl
diI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWly
ZXMiOiB7CisgICAgICAgICAgICAiYXdzLXNpZ24yIjogIjAuNi4wIiwKKyAgICAgICAgICAgICJh
d3M0IjogIjEuNi4wIiwKKyAgICAgICAgICAgICJjYXNlbGVzcyI6ICIwLjEyLjAiLAorICAgICAg
ICAgICAgImNvbWJpbmVkLXN0cmVhbSI6ICIxLjAuNSIsCisgICAgICAgICAgICAiZXh0ZW5kIjog
IjMuMC4xIiwKKyAgICAgICAgICAgICJmb3JldmVyLWFnZW50IjogIjAuNi4xIiwKKyAgICAgICAg
ICAgICJmb3JtLWRhdGEiOiAiMi4xLjQiLAorICAgICAgICAgICAgImhhci12YWxpZGF0b3IiOiAi
NC4yLjEiLAorICAgICAgICAgICAgImhhd2siOiAiMy4xLjMiLAorICAgICAgICAgICAgImh0dHAt
c2lnbmF0dXJlIjogIjEuMS4xIiwKKyAgICAgICAgICAgICJpcy10eXBlZGFycmF5IjogIjEuMC4w
IiwKKyAgICAgICAgICAgICJpc3N0cmVhbSI6ICIwLjEuMiIsCisgICAgICAgICAgICAianNvbi1z
dHJpbmdpZnktc2FmZSI6ICI1LjAuMSIsCisgICAgICAgICAgICAibWltZS10eXBlcyI6ICIyLjEu
MTUiLAorICAgICAgICAgICAgIm9hdXRoLXNpZ24iOiAiMC44LjIiLAorICAgICAgICAgICAgInBl
cmZvcm1hbmNlLW5vdyI6ICIwLjIuMCIsCisgICAgICAgICAgICAicXMiOiAiNi40LjAiLAorICAg
ICAgICAgICAgInNhZmUtYnVmZmVyIjogIjUuMC4xIiwKKyAgICAgICAgICAgICJzdHJpbmdzdHJl
YW0iOiAiMC4wLjUiLAorICAgICAgICAgICAgInRvdWdoLWNvb2tpZSI6ICIyLjMuMiIsCisgICAg
ICAgICAgICAidHVubmVsLWFnZW50IjogIjAuNi4wIiwKKyAgICAgICAgICAgICJ1dWlkIjogIjMu
MC4xIgorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgInJpbXJhZiI6IHsKKyAgICAg
ICAgICAidmVyc2lvbiI6ICIyLjYuMSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL3JpbXJhZi8tL3JpbXJhZi0yLjYuMS50Z3oiLAorICAgICAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS13ak9PeGtQZmVodC81Y1ZQcUc5WFFvcFY4ejA9IiwKKyAgICAg
ICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAi
Z2xvYiI6ICI3LjEuMiIKKyAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJzYWZlLWJ1
ZmZlciI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICI1LjAuMSIsCisgICAgICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3NhZmUtYnVmZmVyLy0vc2FmZS1idWZm
ZXItNS4wLjEudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtMG1QS1ZHbHMyS01H
dGNwbFVla3Q1WGtZKytjPSIsCisgICAgICAgICAgImRldiI6IHRydWUKKyAgICAgICAgfSwKKyAg
ICAgICAgInNlbXZlciI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICI1LjMuMCIsCisgICAgICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3NlbXZlci8tL3NlbXZl
ci01LjMuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1teXpsMDk0QzBYeGdF
cTB5YXFhMDBNOVUrVTg9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0
aW9uYWwiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJzZXQtYmxvY2tpbmciOiB7CisgICAg
ICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zZXQtYmxvY2tpbmcvLS9zZXQtYmxvY2tpbmctMi4wLjAudGd6
IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtQkYrWGd0QVJycHBvQTkzVGdySkRrclBZ
a1BjPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1
ZQorICAgICAgICB9LAorICAgICAgICAic2lnbmFsLWV4aXQiOiB7CisgICAgICAgICAgInZlcnNp
b24iOiAiMy4wLjIiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9zaWduYWwtZXhpdC8tL3NpZ25hbC1leGl0LTMuMC4yLnRneiIsCisgICAgICAgICAg
ImludGVncml0eSI6ICJzaGExLXRmM0FqeEtINmhGNFlvNUJYaVVUSzNOa2JHMD0iLAorICAgICAg
ICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUKKyAgICAgICAgfSwK
KyAgICAgICAgInNudHAiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4wLjkiLAorICAgICAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zbnRwLy0vc250cC0x
LjAuOS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1aVUVZVE1rSzdxYkc1N05l
SmxrSUpFUEdZWmc9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9u
YWwiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJob2VrIjog
IjIuMTYuMyIKKyAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJzc2hwayI6IHsKKyAg
ICAgICAgICAidmVyc2lvbiI6ICIxLjEzLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zc2hway8tL3NzaHBrLTEuMTMuMC50Z3oiLAorICAgICAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS0veW8rVDlCRWwxVmY3WmV6bWcvWUw2K3pvenc9IiwKKyAg
ICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAorICAgICAg
ICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJhc24xIjogIjAuMi4zIiwKKyAgICAgICAg
ICAgICJhc3NlcnQtcGx1cyI6ICIxLjAuMCIsCisgICAgICAgICAgICAiYmNyeXB0LXBia2RmIjog
IjEuMC4xIiwKKyAgICAgICAgICAgICJkYXNoZGFzaCI6ICIxLjE0LjEiLAorICAgICAgICAgICAg
ImVjYy1qc2JuIjogIjAuMS4xIiwKKyAgICAgICAgICAgICJnZXRwYXNzIjogIjAuMS43IiwKKyAg
ICAgICAgICAgICJqb2RpZDI1NTE5IjogIjEuMC4yIiwKKyAgICAgICAgICAgICJqc2JuIjogIjAu
MS4xIiwKKyAgICAgICAgICAgICJ0d2VldG5hY2wiOiAiMC4xNC41IgorICAgICAgICAgIH0sCisg
ICAgICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAgICAgICJhc3NlcnQtcGx1cyI6IHsK
KyAgICAgICAgICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAorICAgICAgICAgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYXNzZXJ0LXBsdXMvLS9hc3NlcnQtcGx1
cy0xLjAuMC50Z3oiLAorICAgICAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtOFM0UFBGMTNz
TEhOMlJScFF1VHBiQjVOMVNVPSIsCisgICAgICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
ICAgICAgICAib3B0aW9uYWwiOiB0cnVlCisgICAgICAgICAgICB9CisgICAgICAgICAgfQorICAg
ICAgICB9LAorICAgICAgICAic3RyaW5nX2RlY29kZXIiOiB7CisgICAgICAgICAgInZlcnNpb24i
OiAiMS4wLjEiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9zdHJpbmdfZGVjb2Rlci8tL3N0cmluZ19kZWNvZGVyLTEuMC4xLnRneiIsCisgICAgICAg
ICAgImludGVncml0eSI6ICJzaGExLVl1SUE4RG1WV21nUTJOOEtNLy9BOEJObUxaZz0iLAorICAg
ICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAg
ICJzYWZlLWJ1ZmZlciI6ICI1LjAuMSIKKyAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAg
ICJzdHJpbmctd2lkdGgiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4wLjIiLAorICAgICAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zdHJpbmctd2lkdGgv
LS9zdHJpbmctd2lkdGgtMS4wLjIudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
RVl2Zlc0emNVYUtuNXcwaEhnZmlzTG14QjlNPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisg
ICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImNvZGUtcG9pbnQtYXQiOiAiMS4x
LjAiLAorICAgICAgICAgICAgImlzLWZ1bGx3aWR0aC1jb2RlLXBvaW50IjogIjEuMC4wIiwKKyAg
ICAgICAgICAgICJzdHJpcC1hbnNpIjogIjMuMC4xIgorICAgICAgICAgIH0KKyAgICAgICAgfSwK
KyAgICAgICAgInN0cmluZ3N0cmVhbSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIwLjAuNSIs
CisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3N0cmlu
Z3N0cmVhbS8tL3N0cmluZ3N0cmVhbS0wLjAuNS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1Ua2hNMU41YUM3dnVHT1JqQjNFS2lvRmlHSGc9IiwKKyAgICAgICAgICAiZGV2Ijog
dHJ1ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJz
dHJpcC1hbnNpIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjMuMC4xIiwKKyAgICAgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc3RyaXAtYW5zaS8tL3N0cmlw
LWFuc2ktMy4wLjEudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtYWpoZnVJVTls
UzFmOEYwT2lxK1VKNDNHUGM4PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAg
InJlcXVpcmVzIjogeworICAgICAgICAgICAgImFuc2ktcmVnZXgiOiAiMi4xLjEiCisgICAgICAg
ICAgfQorICAgICAgICB9LAorICAgICAgICAic3RyaXAtanNvbi1jb21tZW50cyI6IHsKKyAgICAg
ICAgICAidmVyc2lvbiI6ICIyLjAuMSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL3N0cmlwLWpzb24tY29tbWVudHMvLS9zdHJpcC1qc29uLWNvbW1l
bnRzLTIuMC4xLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLVBGTVpRdWtJd21s
OERzTkVoWXdvYkh5Z3Bnbz0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJv
cHRpb25hbCI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgInRhciI6IHsKKyAgICAgICAgICAi
dmVyc2lvbiI6ICIyLjIuMSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL3Rhci8tL3Rhci0yLjIuMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1qazBxSld3T0lZWEdzWXJXbEs3SmFMZzhzZEU9IiwKKyAgICAgICAgICAiZGV2Ijog
dHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiYmxvY2stc3RyZWFt
IjogIjAuMC45IiwKKyAgICAgICAgICAgICJmc3RyZWFtIjogIjEuMC4xMSIsCisgICAgICAgICAg
ICAiaW5oZXJpdHMiOiAiMi4wLjMiCisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAi
dGFyLXBhY2siOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMy40LjAiLAorICAgICAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy90YXItcGFjay8tL3Rhci1wYWNr
LTMuNC4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLUk3NHRmMmNhZ3prM2JM
Mnd1UDQvM3I4eGVZUT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJvcHRp
b25hbCI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImRlYnVn
IjogIjIuNi44IiwKKyAgICAgICAgICAgICJmc3RyZWFtIjogIjEuMC4xMSIsCisgICAgICAgICAg
ICAiZnN0cmVhbS1pZ25vcmUiOiAiMS4wLjUiLAorICAgICAgICAgICAgIm9uY2UiOiAiMS40LjAi
LAorICAgICAgICAgICAgInJlYWRhYmxlLXN0cmVhbSI6ICIyLjIuOSIsCisgICAgICAgICAgICAi
cmltcmFmIjogIjIuNi4xIiwKKyAgICAgICAgICAgICJ0YXIiOiAiMi4yLjEiLAorICAgICAgICAg
ICAgInVpZC1udW1iZXIiOiAiMC4wLjYiCisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAg
ICAidG91Z2gtY29va2llIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjIuMy4yIiwKKyAgICAg
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvdG91Z2gtY29va2ll
Ly0vdG91Z2gtY29va2llLTIuMy4yLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGEx
LThJSDNia3lGY2c1c042WDZ6dGMzRlEyRUJ5bz0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAor
ICAgICAgICAgICJvcHRpb25hbCI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAg
ICAgICAgICAgInB1bnljb2RlIjogIjEuNC4xIgorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAg
ICAgICAgInR1bm5lbC1hZ2VudCI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIwLjYuMCIsCisg
ICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3R1bm5lbC1h
Z2VudC8tL3R1bm5lbC1hZ2VudC0wLjYuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1KNlhlb0dzMnNFb0ttV1ozU3lrSWFQRDhRUDA9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1
ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsK
KyAgICAgICAgICAgICJzYWZlLWJ1ZmZlciI6ICI1LjAuMSIKKyAgICAgICAgICB9CisgICAgICAg
IH0sCisgICAgICAgICJ0d2VldG5hY2wiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMC4xNC41
IiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvdHdl
ZXRuYWNsLy0vdHdlZXRuYWNsLTAuMTQuNS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1XdWFCZC9HUzFFVmlhZEVJcjZrLytIUS9UMlE9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1
ZSwKKyAgICAgICAgICAib3B0aW9uYWwiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAgICJ1aWQt
bnVtYmVyIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjAuMC42IiwKKyAgICAgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvdWlkLW51bWJlci8tL3VpZC1udW1i
ZXItMC4wLjYudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtRHFFT2dEWG82MXVP
UkVud2JhSEhNR1k3cW9FPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9w
dGlvbmFsIjogdHJ1ZQorICAgICAgICB9LAorICAgICAgICAidXRpbC1kZXByZWNhdGUiOiB7Cisg
ICAgICAgICAgInZlcnNpb24iOiAiMS4wLjIiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy91dGlsLWRlcHJlY2F0ZS8tL3V0aWwtZGVwcmVjYXRlLTEu
MC4yLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLVJRMU55ZnB3M25Nbll2dlMx
S0tKZ1VHYURNOD0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisgICAgICAg
ICJ1dWlkIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjMuMC4xIiwKKyAgICAgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvdXVpZC8tL3V1aWQtMy4wLjEudGd6
IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtWlVTN290L2FqQnp4Zm1LYU9qQmVLN0gr
NXNFPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1
ZQorICAgICAgICB9LAorICAgICAgICAidmVycm9yIjogeworICAgICAgICAgICJ2ZXJzaW9uIjog
IjEuMy42IiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvdmVycm9yLy0vdmVycm9yLTEuMy42LnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJz
aGExLXovWGZFcFJ0S1gwcnF1K3FKb25pVytBY0FGdz0iLAorICAgICAgICAgICJkZXYiOiB0cnVl
LAorICAgICAgICAgICJvcHRpb25hbCI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogewor
ICAgICAgICAgICAgImV4dHNwcmludGYiOiAiMS4wLjIiCisgICAgICAgICAgfQorICAgICAgICB9
LAorICAgICAgICAid2lkZS1hbGlnbiI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjEuMiIs
CisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3dpZGUt
YWxpZ24vLS93aWRlLWFsaWduLTEuMS4yLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJz
aGE1MTItaWpETGx5UTdzNngxSmdDTHVyNTNvc2ptL1VYVVlEOSswUGJZS3JCc1lpc1lYekN4TitI
QzNtWUROeS9kV2RtZjNBd3F3VTNDWHdEQ3ZzTmdHSzFTMHc9PSIsCisgICAgICAgICAgImRldiI6
IHRydWUsCisgICAgICAgICAgIm9wdGlvbmFsIjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMi
OiB7CisgICAgICAgICAgICAic3RyaW5nLXdpZHRoIjogIjEuMC4yIgorICAgICAgICAgIH0KKyAg
ICAgICAgfSwKKyAgICAgICAgIndyYXBweSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjAu
MiIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3dy
YXBweS8tL3dyYXBweS0xLjAuMi50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS10
U1E5ano3QnFqWHhOa1lGdkEwUU51TUt0cDg9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZQorICAg
ICAgICB9CisgICAgICB9CisgICAgfSwKKyAgICAiZnVuY3Rpb24tYmluZCI6IHsKKyAgICAgICJ2
ZXJzaW9uIjogIjEuMS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9mdW5jdGlvbi1iaW5kLy0vZnVuY3Rpb24tYmluZC0xLjEuMC50Z3oiLAorICAgICAg
ImludGVncml0eSI6ICJzaGExLUZoZG5GTWdCZVk1T2p5ejM5MUtVWjd0S1YzRT0iLAorICAgICAg
ImRldiI6IHRydWUKKyAgICB9LAorICAgICJnZXQtY2FsbGVyLWZpbGUiOiB7CisgICAgICAidmVy
c2lvbiI6ICIxLjAuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvZ2V0LWNhbGxlci1maWxlLy0vZ2V0LWNhbGxlci1maWxlLTEuMC4yLnRneiIsCisgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtOXdMbU1TZm40akhCWUtnTUZWU3N0dzFRUitVPSIsCisgICAg
ICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImdsb2IiOiB7CisgICAgICAidmVyc2lvbiI6ICI2
LjAuNCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZ2xv
Yi8tL2dsb2ItNi4wLjQudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1Ed2lHRDJvVlVT
ZXkrdDFQbk9KTEdxdHVUU0k9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVz
IjogeworICAgICAgICAiaW5mbGlnaHQiOiAiMS4wLjYiLAorICAgICAgICAiaW5oZXJpdHMiOiAi
Mi4wLjMiLAorICAgICAgICAibWluaW1hdGNoIjogIjMuMC40IiwKKyAgICAgICAgIm9uY2UiOiAi
MS40LjAiLAorICAgICAgICAicGF0aC1pcy1hYnNvbHV0ZSI6ICIxLjAuMSIKKyAgICAgIH0KKyAg
ICB9LAorICAgICJnbG9iLWJhc2UiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjMuMCIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZ2xvYi1iYXNlLy0vZ2xv
Yi1iYXNlLTAuMy4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtMjdGazlpSWJIQXNj
ejRLdW95aTBsOThPbzhRPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6
IHsKKyAgICAgICAgImdsb2ItcGFyZW50IjogIjIuMC4wIiwKKyAgICAgICAgImlzLWdsb2IiOiAi
Mi4wLjEiCisgICAgICB9LAorICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAgImlzLWV4
dGdsb2IiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAorICAgICAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1leHRnbG9iLy0vaXMtZXh0Z2xv
Yi0xLjAuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1yRWFCZDhTVU5BV2dr
dnlQS1hZTWIveGlCc0E9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZQorICAgICAgICB9LAorICAg
ICAgICAiaXMtZ2xvYiI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIyLjAuMSIsCisgICAgICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLWdsb2IvLS9pcy1n
bG9iLTIuMC4xLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLTBKYjVKcVBlMVdB
UFA5L1pFWmpMQ0lqQzJHTT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJy
ZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJpcy1leHRnbG9iIjogIjEuMC4wIgorICAgICAgICAg
IH0KKyAgICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAgImdsb2ItcGFyZW50IjogeworICAg
ICAgInZlcnNpb24iOiAiMi4wLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2dsb2ItcGFyZW50Ly0vZ2xvYi1wYXJlbnQtMi4wLjAudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1nVGc5Y3RzRlQ4elBVemJhcVFMeGd2YnR1eWc9IiwKKyAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiaXMtZ2xvYiI6ICIy
LjAuMSIKKyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAgICAiaXMtZXh0
Z2xvYiI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjAuMCIsCisgICAgICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLWV4dGdsb2IvLS9pcy1leHRnbG9i
LTEuMC4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLXJFYUJkOFNVTkFXZ2t2
eVBLWFlNYi94aUJzQT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisgICAg
ICAgICJpcy1nbG9iIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjIuMC4xIiwKKyAgICAgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtZ2xvYi8tL2lzLWds
b2ItMi4wLjEudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtMEpiNUpxUGUxV0FQ
UDkvWkVaakxDSWpDMkdNPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJl
cXVpcmVzIjogeworICAgICAgICAgICAgImlzLWV4dGdsb2IiOiAiMS4wLjAiCisgICAgICAgICAg
fQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAgICAiZ2xvYmFscyI6IHsKKyAgICAgICJ2
ZXJzaW9uIjogIjkuMTguMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvZ2xvYmFscy8tL2dsb2JhbHMtOS4xOC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5
IjogInNoYTUxMi1TMG5HM0NMRVFpWS9JTHhxdHp0VFdILzNpUlJkeUJMdzZLTUR4bktNY2hydGJq
Mk9GbWVoVmgwV1VDZlczRFVySWd4L3FGckpQSUNycTRaNHNUUjlVUT09IiwKKyAgICAgICJkZXYi
OiB0cnVlCisgICAgfSwKKyAgICAiZ3JhY2VmdWwtZnMiOiB7CisgICAgICAidmVyc2lvbiI6ICI0
LjEuMTEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2dy
YWNlZnVsLWZzLy0vZ3JhY2VmdWwtZnMtNC4xLjExLnRneiIsCisgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtRG92ZjVOSGR1SVZOWk9CT3A4QU9LZ0p1VmxnPSIsCisgICAgICAiZGV2IjogdHJ1ZQor
ICAgIH0sCisgICAgImd6aXAtc2l6ZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjMuMC4wIiwKKyAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9nemlwLXNpemUvLS9n
emlwLXNpemUtMy4wLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1WR0dJNmIzRE4v
WnpkeStCWmdSa3M0bmM1U0E9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVz
IjogeworICAgICAgICAiZHVwbGV4ZXIiOiAiMC4xLjEiCisgICAgICB9CisgICAgfSwKKyAgICAi
aGFzIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjEiLAorICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2hhcy8tL2hhcy0xLjAuMS50Z3oiLAorICAgICAgImlu
dGVncml0eSI6ICJzaGExLWhHRnpQMU9MQ0RmSk5oNDVxYXVlbHdUY0x5Zz0iLAorICAgICAgImRl
diI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJmdW5jdGlvbi1iaW5kIjog
IjEuMS4wIgorICAgICAgfQorICAgIH0sCisgICAgImhhcy1hbnNpIjogeworICAgICAgInZlcnNp
b24iOiAiMi4wLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL2hhcy1hbnNpLy0vaGFzLWFuc2ktMi4wLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1OUFVFbk9IczN5c0dTYTgrOGs1RjdUVkJiWkU9IiwKKyAgICAgICJkZXYiOiB0cnVlLAor
ICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYW5zaS1yZWdleCI6ICIyLjEuMSIKKyAgICAg
IH0KKyAgICB9LAorICAgICJoYXMtZmxhZyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9oYXMtZmxhZy8t
L2hhcy1mbGFnLTEuMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtblo1NU1XWE9B
WG9BOEFRWXhEK1VLbnNkRWZvPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImhh
c2gtYmFzZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMC4yIiwKKyAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9oYXNoLWJhc2UvLS9oYXNoLWJhc2UtMi4wLjIu
dGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1adW9kaFcyMDZLVkhESzMyL09JNjVTUk84
dUU9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAi
aW5oZXJpdHMiOiAiMi4wLjMiCisgICAgICB9CisgICAgfSwKKyAgICAiaGFzaC1zdW0iOiB7Cisg
ICAgICAidmVyc2lvbiI6ICIxLjAuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvaGFzaC1zdW0vLS9oYXNoLXN1bS0xLjAuMi50Z3oiLAorICAgICAgImlu
dGVncml0eSI6ICJzaGExLU03UUhkM1ZNWkRKWFBCSU13NENMdlJEVWZ3UT0iLAorICAgICAgImRl
diI6IHRydWUKKyAgICB9LAorICAgICJoYXNoLmpzIjogeworICAgICAgInZlcnNpb24iOiAiMS4x
LjMiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2hhc2gu
anMvLS9oYXNoLmpzLTEuMS4zLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi0vVUVU
eVAwVzIyUUlMcVMrNkhvd2V2d2hFRkozTUJKbndUZjc1UW9iOVd6OXQwRFB1aXNMOGtXOFlaTUs2
MmRIQUtFMWMxcCtnWTFUdE9MWStVU0VIQT09IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
InJlcXVpcmVzIjogeworICAgICAgICAiaW5oZXJpdHMiOiAiMi4wLjMiLAorICAgICAgICAibWlu
aW1hbGlzdGljLWFzc2VydCI6ICIxLjAuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJoZSI6IHsK
KyAgICAgICJ2ZXJzaW9uIjogIjEuMS4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9oZS8tL2hlLTEuMS4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtazBFUDBoc0FselVWSDRob3d2Sng4MEorSS8wPSIsCisgICAgICAiZGV2IjogdHJ1ZQor
ICAgIH0sCisgICAgImhtYWMtZHJiZyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwKKyAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9obWFjLWRyYmcvLS9o
bWFjLWRyYmctMS4wLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0wblJYQVFKYWJI
ZGFiRlJYaysxUUw4REdTYUU9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVz
IjogeworICAgICAgICAiaGFzaC5qcyI6ICIxLjEuMyIsCisgICAgICAgICJtaW5pbWFsaXN0aWMt
YXNzZXJ0IjogIjEuMC4wIiwKKyAgICAgICAgIm1pbmltYWxpc3RpYy1jcnlwdG8tdXRpbHMiOiAi
MS4wLjEiCisgICAgICB9CisgICAgfSwKKyAgICAiaG9tZS1vci10bXAiOiB7CisgICAgICAidmVy
c2lvbiI6ICIyLjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvaG9tZS1vci10bXAvLS9ob21lLW9yLXRtcC0yLjAuMC50Z3oiLAorICAgICAgImludGVn
cml0eSI6ICJzaGExLTQydy9MU3l1ZlhScWhYNDQwWTFmTXFlSUxiZz0iLAorICAgICAgImRldiI6
IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJvcy1ob21lZGlyIjogIjEuMC4y
IiwKKyAgICAgICAgIm9zLXRtcGRpciI6ICIxLjAuMiIKKyAgICAgIH0KKyAgICB9LAorICAgICJo
b3N0ZWQtZ2l0LWluZm8iOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjUuMCIsCisgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaG9zdGVkLWdpdC1pbmZvLy0vaG9z
dGVkLWdpdC1pbmZvLTIuNS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1wTmdi
VVJTdWFiOTBLYlRxdlJQc3NlYVR4T0pDWkJEMGE3dCtoYVNOMzNwaVA5Y0NNNGwwQ3FkekFpZjJo
VXFtNzE2VW92S0IyUk9taWFiR0FLVlh5Zz09IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwK
KyAgICAiaHRtbC1jb21tZW50LXJlZ2V4IjogeworICAgICAgInZlcnNpb24iOiAiMS4xLjEiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2h0bWwtY29tbWVu
dC1yZWdleC8tL2h0bWwtY29tbWVudC1yZWdleC0xLjEuMS50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGExLVpvdVRkMjZxNVY2OTZQT3RSa3N3ZWtsallsND0iLAorICAgICAgImRldiI6IHRy
dWUKKyAgICB9LAorICAgICJodG1sLWVudGl0aWVzIjogeworICAgICAgInZlcnNpb24iOiAiMS4y
LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2h0bWwt
ZW50aXRpZXMvLS9odG1sLWVudGl0aWVzLTEuMi4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtRGZLVFVmQnlFV05SWGZ1ZVZVUGw5dTdWRmk4PSIsCisgICAgICAiZGV2IjogdHJ1ZQor
ICAgIH0sCisgICAgImh0bWwtbWluaWZpZXIiOiB7CisgICAgICAidmVyc2lvbiI6ICIzLjUuMyIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaHRtbC1taW5p
Zmllci8tL2h0bWwtbWluaWZpZXItMy41LjMudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hh
NTEyLWlLUnpRUUR1VENzcTBVbHRiaS9tZkpKblIwRDNBZFpLVHE5NjZHc3A5MnhrbUFQQ1Y0WGkw
OHFoSjBEbDNaQVdlbVNnSjdxWksrVXNaYzBnRnFLNndnPT0iLAorICAgICAgImRldiI6IHRydWUs
CisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJjYW1lbC1jYXNlIjogIjMuMC4wIiwKKyAg
ICAgICAgImNsZWFuLWNzcyI6ICI0LjEuNyIsCisgICAgICAgICJjb21tYW5kZXIiOiAiMi4xMS4w
IiwKKyAgICAgICAgImhlIjogIjEuMS4xIiwKKyAgICAgICAgIm5jbmFtZSI6ICIxLjAuMCIsCisg
ICAgICAgICJwYXJhbS1jYXNlIjogIjIuMS4xIiwKKyAgICAgICAgInJlbGF0ZXVybCI6ICIwLjIu
NyIsCisgICAgICAgICJ1Z2xpZnktanMiOiAiMy4wLjI3IgorICAgICAgfQorICAgIH0sCisgICAg
Imh0bWwtd2VicGFjay1wbHVnaW4iOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjMwLjEiLAorICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2h0bWwtd2VicGFjay1w
bHVnaW4vLS9odG1sLXdlYnBhY2stcGx1Z2luLTIuMzAuMS50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGExLWY1eENHMzZwSHNSZzlXVW4xNDMwaE81MU45VT0iLAorICAgICAgImRldiI6IHRy
dWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJibHVlYmlyZCI6ICIzLjUuMCIsCisg
ICAgICAgICJodG1sLW1pbmlmaWVyIjogIjMuNS4zIiwKKyAgICAgICAgImxvYWRlci11dGlscyI6
ICIwLjIuMTciLAorICAgICAgICAibG9kYXNoIjogIjQuMTcuNCIsCisgICAgICAgICJwcmV0dHkt
ZXJyb3IiOiAiMi4xLjEiLAorICAgICAgICAidG9wb3NvcnQiOiAiMS4wLjMiCisgICAgICB9LAor
ICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAgImJsdWViaXJkIjogeworICAgICAgICAg
ICJ2ZXJzaW9uIjogIjMuNS4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvYmx1ZWJpcmQvLS9ibHVlYmlyZC0zLjUuMC50Z3oiLAorICAgICAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1lUlFnMS9WUjdxS0pkRk9vcDNaVCtXWUcxbnc9IiwKKyAgICAg
ICAgICAiZGV2IjogdHJ1ZQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAgICAiaHRtbHBh
cnNlcjIiOiB7CisgICAgICAidmVyc2lvbiI6ICIzLjMuMCIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaHRtbHBhcnNlcjIvLS9odG1scGFyc2VyMi0zLjMu
MC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXpIRFFXbG4yVkM1RDhPYUZ5WUxoVEpK
S252ND0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAg
ICJkb21lbGVtZW50dHlwZSI6ICIxLjMuMCIsCisgICAgICAgICJkb21oYW5kbGVyIjogIjIuMS4w
IiwKKyAgICAgICAgImRvbXV0aWxzIjogIjEuMS42IiwKKyAgICAgICAgInJlYWRhYmxlLXN0cmVh
bSI6ICIxLjAuMzQiCisgICAgICB9LAorICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAg
ImRvbXV0aWxzIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMS42IiwKKyAgICAgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZG9tdXRpbHMvLS9kb211dGls
cy0xLjEuNi50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS12ZHc5NEptNW91K3N4
UnhpUHlqMEZ1ekZkSVU9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVx
dWlyZXMiOiB7CisgICAgICAgICAgICAiZG9tZWxlbWVudHR5cGUiOiAiMS4zLjAiCisgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAgICAiaHR0cC1lcnJvcnMiOiB7Cisg
ICAgICAidmVyc2lvbiI6ICIxLjYuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvaHR0cC1lcnJvcnMvLS9odHRwLWVycm9ycy0xLjYuMi50Z3oiLAorICAg
ICAgImludGVncml0eSI6ICJzaGExLUNnQXN5RmNIR1NwK2VVYk83Y0VSVmZZT3h6WT0iLAorICAg
ICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJkZXBkIjogIjEu
MS4xIiwKKyAgICAgICAgImluaGVyaXRzIjogIjIuMC4zIiwKKyAgICAgICAgInNldHByb3RvdHlw
ZW9mIjogIjEuMC4zIiwKKyAgICAgICAgInN0YXR1c2VzIjogIjEuMy4xIgorICAgICAgfQorICAg
IH0sCisgICAgImh0dHAtcHJveHkiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjE2LjIiLAorICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2h0dHAtcHJveHkvLS9o
dHRwLXByb3h5LTEuMTYuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUJ0L3lrcFVy
OWsyK2hISDZuZmN3WnRUemQwST0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWly
ZXMiOiB7CisgICAgICAgICJldmVudGVtaXR0ZXIzIjogIjEuMi4wIiwKKyAgICAgICAgInJlcXVp
cmVzLXBvcnQiOiAiMS4wLjAiCisgICAgICB9CisgICAgfSwKKyAgICAiaHR0cC1wcm94eS1taWRk
bGV3YXJlIjogeworICAgICAgInZlcnNpb24iOiAiMC4xNy40IiwKKyAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9odHRwLXByb3h5LW1pZGRsZXdhcmUvLS9odHRw
LXByb3h5LW1pZGRsZXdhcmUtMC4xNy40LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
WkM2SVNJVWRadkNkVHhKSkVvUnR1dXRCdURNPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAg
ICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImh0dHAtcHJveHkiOiAiMS4xNi4yIiwKKyAgICAgICAg
ImlzLWdsb2IiOiAiMy4xLjAiLAorICAgICAgICAibG9kYXNoIjogIjQuMTcuNCIsCisgICAgICAg
ICJtaWNyb21hdGNoIjogIjIuMy4xMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJodHRwcy1icm93
c2VyaWZ5IjogeworICAgICAgInZlcnNpb24iOiAiMC4wLjEiLAorICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2h0dHBzLWJyb3dzZXJpZnkvLS9odHRwcy1icm93
c2VyaWZ5LTAuMC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtUDVFMlhLdm1DM2Z0
RHJ1aVMwVk9QZ25aV29JPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImljc3Mt
cmVwbGFjZS1zeW1ib2xzIjogeworICAgICAgInZlcnNpb24iOiAiMS4xLjAiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2ljc3MtcmVwbGFjZS1zeW1ib2xz
Ly0vaWNzcy1yZXBsYWNlLXN5bWJvbHMtMS4xLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1CdXB2ZzJlYWQwbmpocy9oL29FcTVkc2lQZTA9IiwKKyAgICAgICJkZXYiOiB0cnVlCisg
ICAgfSwKKyAgICAiaWNzcy11dGlscyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMS4wIiwKKyAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pY3NzLXV0aWxzLy0v
aWNzcy11dGlscy0yLjEuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWcvQ2c3RGVM
OHlSaGVMYkNyWkUyOFRXeHlXST0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWly
ZXMiOiB7CisgICAgICAgICJwb3N0Y3NzIjogIjYuMC45IgorICAgICAgfSwKKyAgICAgICJkZXBl
bmRlbmNpZXMiOiB7CisgICAgICAgICJhbnNpLXN0eWxlcyI6IHsKKyAgICAgICAgICAidmVyc2lv
biI6ICIzLjIuMCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL2Fuc2ktc3R5bGVzLy0vYW5zaS1zdHlsZXMtMy4yLjAudGd6IiwKKyAgICAgICAgICAi
aW50ZWdyaXR5IjogInNoYTUxMi1OblNPbU1FWXRWUjJKVk1JR1R6eW5Sa2theHRpcTF4bkZCY2RR
RC9Ebk5DWVBvRVBzVkpoTTk4QkR5YW9OT1FJaTdwNG9rZGkzRTI3ZU43R1Fic1V1Zz09IiwKKyAg
ICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAg
ICAiY29sb3ItY29udmVydCI6ICIxLjkuMCIKKyAgICAgICAgICB9CisgICAgICAgIH0sCisgICAg
ICAgICJjaGFsayI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIyLjEuMCIsCisgICAgICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2NoYWxrLy0vY2hhbGstMi4x
LjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1MVUhHUy9kZ2U0dWpiWE1K
cm5paFlNY0w0QW9Pd2VHbnc5VHAza1F1cXkxS3g1YzFxS2pxdk1KWjZuVkpQTVdKdEtDVE43Mlpv
Z0gzb2VTTzlnOXJYUT09IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVx
dWlyZXMiOiB7CisgICAgICAgICAgICAiYW5zaS1zdHlsZXMiOiAiMy4yLjAiLAorICAgICAgICAg
ICAgImVzY2FwZS1zdHJpbmctcmVnZXhwIjogIjEuMC41IiwKKyAgICAgICAgICAgICJzdXBwb3J0
cy1jb2xvciI6ICI0LjIuMSIKKyAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJoYXMt
ZmxhZyI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIyLjAuMCIsCisgICAgICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2hhcy1mbGFnLy0vaGFzLWZsYWctMi4w
LjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtNkNCNjhjeDdNTlJHekhDM05M
WG92aGo0alZFPSIsCisgICAgICAgICAgImRldiI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAg
InBvc3Rjc3MiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiNi4wLjkiLAorICAgICAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wb3N0Y3NzLy0vcG9zdGNzcy02
LjAuOS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLWJCRTJBSE5FQmhGMjNU
ZkVUNkFBL2xGUDhhaCtxSE9ab0ZKRWZsRkcrSGd2VkxkVG1NT3JvY3gvNExWVkRJbjN3NmpVc3N3
MXEyRXhrMWNjOVVPSTh3PT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJy
ZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJjaGFsayI6ICIyLjEuMCIsCisgICAgICAgICAgICAi
c291cmNlLW1hcCI6ICIwLjUuNiIsCisgICAgICAgICAgICAic3VwcG9ydHMtY29sb3IiOiAiNC4y
LjEiCisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAic3VwcG9ydHMtY29sb3IiOiB7
CisgICAgICAgICAgInZlcnNpb24iOiAiNC4yLjEiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zdXBwb3J0cy1jb2xvci8tL3N1cHBvcnRzLWNvbG9y
LTQuMi4xLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGE1MTItcXh6WXNvYjN5djZV
K3hNelBydjE3MHk4QXdHUDdpNzRnK3BiaXhDZkQ2cmdzbzhCc2NMVDJxWEl1ejZUcE9haUpaM21G
Z1Q1TzlseVQ5bk1VNExmYUE9PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAg
InJlcXVpcmVzIjogeworICAgICAgICAgICAgImhhcy1mbGFnIjogIjIuMC4wIgorICAgICAgICAg
IH0KKyAgICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAgImllZWU3NTQiOiB7CisgICAgICAi
dmVyc2lvbiI6ICIxLjEuOCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvaWVlZTc1NC8tL2llZWU3NTQtMS4xLjgudGd6IiwKKyAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS12alBVQ3NFTzhaSm5BZmJ3aWkyRysvMGEwK1E9IiwKKyAgICAgICJkZXYiOiB0cnVl
CisgICAgfSwKKyAgICAiaW5kZXhlcy1vZiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pbmRleGVzLW9m
Ly0vaW5kZXhlcy1vZi0xLjAuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLTh3OXhi
STRyMDBiSHRuMDk4NUZWWnFmQVZnYz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAg
ICJpbmRleG9mIjogeworICAgICAgInZlcnNpb24iOiAiMC4wLjEiLAorICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2luZGV4b2YvLS9pbmRleG9mLTAuMC4xLnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtZ3R3emJTTXJrR0lYblFXck1wT21ZRm45UTEw
PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImluZmxpZ2h0IjogeworICAgICAg
InZlcnNpb24iOiAiMS4wLjYiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2luZmxpZ2h0Ly0vaW5mbGlnaHQtMS4wLjYudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1TYjFqTWRmUUxRd0p2SkVLRUhXNmdXVzFiZms9IiwKKyAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAib25jZSI6ICIxLjQuMCIsCisgICAg
ICAgICJ3cmFwcHkiOiAiMS4wLjIiCisgICAgICB9CisgICAgfSwKKyAgICAiaW5oZXJpdHMiOiB7
CisgICAgICAidmVyc2lvbiI6ICIyLjAuMyIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvaW5oZXJpdHMvLS9pbmhlcml0cy0yLjAuMy50Z3oiLAorICAgICAg
ImludGVncml0eSI6ICJzaGExLVl6d3NnK1BhUXFVQzlTUm1BaVNBOUNDQ1lkND0iLAorICAgICAg
ImRldiI6IHRydWUKKyAgICB9LAorICAgICJpbmkiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjMu
NCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaW5pLy0v
aW5pLTEuMy40LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtQlRmTGVkcjFtMW1ocFJm
Zjl3Yklic0E1Rmk0PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImludGVycHJl
dCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4zIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pbnRlcnByZXQvLS9pbnRlcnByZXQtMS4wLjMudGd6IiwK
KyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS15OE5jWXU3dWMvR2F0N0VLZ0JVUlFCcjhENUE9IiwK
KyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiaW52YXJpYW50IjogeworICAgICAgInZl
cnNpb24iOiAiMi4yLjIiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL2ludmFyaWFudC8tL2ludmFyaWFudC0yLjIuMi50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGExLW5oOVdyQXJOdHI4d013YnpPTDQ3SUVybUEyQT0iLAorICAgICAgImRldiI6IHRy
dWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJsb29zZS1lbnZpZnkiOiAiMS4zLjEi
CisgICAgICB9CisgICAgfSwKKyAgICAiaW52ZXJ0LWt2IjogeworICAgICAgInZlcnNpb24iOiAi
MS4wLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lu
dmVydC1rdi8tL2ludmVydC1rdi0xLjAuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGEx
LUVFcU9TcXltMDlqTkZYcU8rTCtyTFhvLy9iWT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9
LAorICAgICJpcGFkZHIuanMiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjQuMCIsCisgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXBhZGRyLmpzLy0vaXBhZGRy
LmpzLTEuNC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtS1dyS2g0cUNHQmJsdUYw
S0tGcVp2UDlGZ3ZBPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImlzLWFic29s
dXRlLXVybCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMS4wIiwKKyAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1hYnNvbHV0ZS11cmwvLS9pcy1hYnNvbHV0
ZS11cmwtMi4xLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1VRk1OKzRUOHlhcDl2
bmhTNkRvM3VUdWZLcVk9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiaXMtYXJy
YXlpc2giOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjIuMSIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtYXJyYXlpc2gvLS9pcy1hcnJheWlzaC0wLjIu
MS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWQ4bVlRRko2cU95eHFMcHBlNEJrV25x
U2FwMD0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJpcy1iaW5hcnktcGF0aCI6
IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1iaW5hcnktcGF0aC8tL2lzLWJpbmFyeS1wYXRoLTEuMC4x
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtZGZGbVFyU0E4WWVuRWNnVUZoL1RwS2Rs
V0pnPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAg
ImJpbmFyeS1leHRlbnNpb25zIjogIjEuMTAuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJpcy1i
dWZmZXIiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjEuNSIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtYnVmZmVyLy0vaXMtYnVmZmVyLTEuMS41LnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtSHpzbTcyRTdJVXVJeThvanpHd0IySGxoN3N3
PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImlzLWJ1aWx0aW4tbW9kdWxlIjog
eworICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2lzLWJ1aWx0aW4tbW9kdWxlLy0vaXMtYnVpbHRpbi1tb2R1bGUt
MS4wLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1WQVZ5MDA5Nnd4R2ZqM2JEREx3
YkhnTjYvNzQ9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAg
ICAgICAiYnVpbHRpbi1tb2R1bGVzIjogIjEuMS4xIgorICAgICAgfQorICAgIH0sCisgICAgImlz
LWRpcmVjdG9yeSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMy4xIiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1kaXJlY3RvcnkvLS9pcy1kaXJlY3Rv
cnktMC4zLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1ZVE9iYnlSMS9IY3YyY25Z
UDF5RmRkd1ZTdUU9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiaXMtZG90Zmls
ZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4zIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1kb3RmaWxlLy0vaXMtZG90ZmlsZS0xLjAuMy50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLXBxTHpMLzB0K3dUMXlpWHMwUGE0UFBlWW9lRT0i
LAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJpcy1lcXVhbC1zaGFsbG93Ijogewor
ICAgICAgInZlcnNpb24iOiAiMC4xLjMiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2lzLWVxdWFsLXNoYWxsb3cvLS9pcy1lcXVhbC1zaGFsbG93LTAuMS4z
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtSWpnSmo4SWgzZ3ZQcGRucXhNUmRZNHFo
eFRRPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAg
ImlzLXByaW1pdGl2ZSI6ICIyLjAuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJpcy1leHRlbmRh
YmxlIjogeworICAgICAgInZlcnNpb24iOiAiMC4xLjEiLAorICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLWV4dGVuZGFibGUvLS9pcy1leHRlbmRhYmxlLTAu
MS4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtWXJFUTRvbWtjVUdPUHNOcVlYMUhM
akFkL0lrPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImlzLWV4dGdsb2IiOiB7
CisgICAgICAidmVyc2lvbiI6ICIyLjEuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvaXMtZXh0Z2xvYi8tL2lzLWV4dGdsb2ItMi4xLjEudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1xSXdDVTFlUjhDN1RmSGFodWVxWGM4Z3orTUk9IiwKKyAg
ICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiaXMtZmluaXRlIjogeworICAgICAgInZlcnNp
b24iOiAiMS4wLjIiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL2lzLWZpbml0ZS8tL2lzLWZpbml0ZS0xLjAuMi50Z3oiLAorICAgICAgImludGVncml0eSI6
ICJzaGExLXpHWjNhVllDdmxVTzhSNkxTcVl3VTBLMjBLbz0iLAorICAgICAgImRldiI6IHRydWUs
CisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJudW1iZXItaXMtbmFuIjogIjEuMC4xIgor
ICAgICAgfQorICAgIH0sCisgICAgImlzLWZ1bGx3aWR0aC1jb2RlLXBvaW50IjogeworICAgICAg
InZlcnNpb24iOiAiMS4wLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2lzLWZ1bGx3aWR0aC1jb2RlLXBvaW50Ly0vaXMtZnVsbHdpZHRoLWNvZGUtcG9p
bnQtMS4wLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS03NTR4T0c4REduOE5aRHI0
TDk1UXhGZnZBTXM9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogewor
ICAgICAgICAibnVtYmVyLWlzLW5hbiI6ICIxLjAuMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJp
cy1nbG9iIjogeworICAgICAgInZlcnNpb24iOiAiMy4xLjAiLAorICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLWdsb2IvLS9pcy1nbG9iLTMuMS4wLnRneiIs
CisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtZTZXdUpDRjRCS3h3Y0h1V2tpVm5TR3pENkVvPSIs
CisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImlzLWV4
dGdsb2IiOiAiMi4xLjEiCisgICAgICB9CisgICAgfSwKKyAgICAiaXMtbnVtYmVyIjogeworICAg
ICAgInZlcnNpb24iOiAiMi4xLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2lzLW51bWJlci8tL2lzLW51bWJlci0yLjEuMC50Z3oiLAorICAgICAgImlu
dGVncml0eSI6ICJzaGExLUFmeTdzNU5HT2xTUEwwWnN6aGJlemtuYmtJOD0iLAorICAgICAgImRl
diI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJraW5kLW9mIjogIjMuMi4y
IgorICAgICAgfQorICAgIH0sCisgICAgImlzLXBsYWluLW9iaiI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjEuMS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9pcy1wbGFpbi1vYmovLS9pcy1wbGFpbi1vYmotMS4xLjAudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1jYVVNaENuZnluYzhrcU9RcEtBN09melZIVDQ9IiwKKyAgICAgICJkZXYiOiB0
cnVlCisgICAgfSwKKyAgICAiaXMtcG9zaXgtYnJhY2tldCI6IHsKKyAgICAgICJ2ZXJzaW9uIjog
IjAuMS4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9p
cy1wb3NpeC1icmFja2V0Ly0vaXMtcG9zaXgtYnJhY2tldC0wLjEuMS50Z3oiLAorICAgICAgImlu
dGVncml0eSI6ICJzaGExLU16VGNlWGREYU9rdkFXNXZ2QXFJOWMxdWE4UT0iLAorICAgICAgImRl
diI6IHRydWUKKyAgICB9LAorICAgICJpcy1wcmltaXRpdmUiOiB7CisgICAgICAidmVyc2lvbiI6
ICIyLjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
aXMtcHJpbWl0aXZlLy0vaXMtcHJpbWl0aXZlLTIuMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtSUh1cmtXT0VtY0I3S3Q4a0NrR29jaEFEUlhVPSIsCisgICAgICAiZGV2IjogdHJ1
ZQorICAgIH0sCisgICAgImlzLXN2ZyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMS4wIiwKKyAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1zdmcvLS9pcy1z
dmctMi4xLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS16MkVKRGFEWjc3eXJoeUxl
dW04RElnamJzT2s9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogewor
ICAgICAgICAiaHRtbC1jb21tZW50LXJlZ2V4IjogIjEuMS4xIgorICAgICAgfQorICAgIH0sCisg
ICAgImlzLXV0ZjgiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjIuMSIsCisgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXMtdXRmOC8tL2lzLXV0ZjgtMC4yLjEu
dGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1TdzJoUkNFRTBiTTJOQTZBZVg2R1hQT2Zm
WEk9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAiaXNhcnJheSI6IHsKKyAgICAg
ICJ2ZXJzaW9uIjogIjAuMC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy9pc2FycmF5Ly0vaXNhcnJheS0wLjAuMS50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGExLWloaXMvS21vOUJkK0NhdjhZRGlUbXdYUjd0OD0iLAorICAgICAgImRldiI6IHRy
dWUKKyAgICB9LAorICAgICJpc29iamVjdCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMS4wIiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pc29iamVjdC8t
L2lzb2JqZWN0LTIuMS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtOEdWV0VKYWo4
ZG91OUdKeStCWElRTmgrRElrPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJl
cyI6IHsKKyAgICAgICAgImlzYXJyYXkiOiAiMS4wLjAiCisgICAgICB9LAorICAgICAgImRlcGVu
ZGVuY2llcyI6IHsKKyAgICAgICAgImlzYXJyYXkiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAi
MS4wLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9pc2FycmF5Ly0vaXNhcnJheS0xLjAuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS11NU5kU0Znc3VoYU1Cb05KVjZWS1BnY1NUeEU9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1
ZQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAgICAianMtYmFzZTY0IjogeworICAgICAg
InZlcnNpb24iOiAiMi4xLjkiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2pzLWJhc2U2NC8tL2pzLWJhc2U2NC0yLjEuOS50Z3oiLAorICAgICAgImludGVn
cml0eSI6ICJzaGExLThPZ0s0RG1rdldWTFh5Z2Z5VDhFcVJTbi9NND0iLAorICAgICAgImRldiI6
IHRydWUKKyAgICB9LAorICAgICJqcy1iZWF1dGlmeSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEu
Ni4xNCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvanMt
YmVhdXRpZnkvLS9qcy1iZWF1dGlmeS0xLjYuMTQudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS0wN2ozTWkwQ3VTZDlXTDBqZ21UREorV0FSTTA9IiwKKyAgICAgICJkZXYiOiB0cnVlLAor
ICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiY29uZmlnLWNoYWluIjogIjEuMS4xMSIsCisg
ICAgICAgICJlZGl0b3Jjb25maWciOiAiMC4xMy4zIiwKKyAgICAgICAgIm1rZGlycCI6ICIwLjUu
MSIsCisgICAgICAgICJub3B0IjogIjMuMC42IgorICAgICAgfQorICAgIH0sCisgICAgImpzLXRv
a2VucyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjMuMC4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qcy10b2tlbnMvLS9qcy10b2tlbnMtMy4wLjIudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1tR2JmT1ZFQ0V3NDQ5L21Xdk90bFJESUp3bHM9
IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAianMteWFtbCI6IHsKKyAgICAgICJ2
ZXJzaW9uIjogIjMuNy4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9qcy15YW1sLy0vanMteWFtbC0zLjcuMC50Z3oiLAorICAgICAgImludGVncml0eSI6
ICJzaGExLVhKWjkzWU42bS8zS1h5M29RbE9yNktIQU80QT0iLAorICAgICAgImRldiI6IHRydWUs
CisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJhcmdwYXJzZSI6ICIxLjAuOSIsCisgICAg
ICAgICJlc3ByaW1hIjogIjIuNy4zIgorICAgICAgfQorICAgIH0sCisgICAgImpzZXNjIjogewor
ICAgICAgInZlcnNpb24iOiAiMS4zLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2pzZXNjLy0vanNlc2MtMS4zLjAudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1Sc1AreU1HSkt4S3dnejI1dkhZaUYyMjZzMHM9IiwKKyAgICAgICJkZXYiOiB0
cnVlCisgICAgfSwKKyAgICAianNvbi1sb2FkZXIiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjUu
NyIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvanNvbi1s
b2FkZXIvLS9qc29uLWxvYWRlci0wLjUuNy50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGE1
MTItUUxQczhEajdsbmYzZTNRWVMxemtDbys0WndxT2lGOWQvblpuWW96VElTeFhXQ2ZOczl5dWt5
NXJKdzQvVzM0czdQT2FObGJabVFHYUI1TmlYQ2JQNHc9PSIsCisgICAgICAiZGV2IjogdHJ1ZQor
ICAgIH0sCisgICAgImpzb24tc2NoZW1hLXRyYXZlcnNlIjogeworICAgICAgInZlcnNpb24iOiAi
MC4zLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2pz
b24tc2NoZW1hLXRyYXZlcnNlLy0vanNvbi1zY2hlbWEtdHJhdmVyc2UtMC4zLjEudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1OSnB0Uk1VNlVkNkp0QWdGeGRYbG0wRjlNMEE9IiwKKyAg
ICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAianNvbi1zdGFibGUtc3RyaW5naWZ5Ijogewor
ICAgICAgInZlcnNpb24iOiAiMS4wLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2pzb24tc3RhYmxlLXN0cmluZ2lmeS8tL2pzb24tc3RhYmxlLXN0cmlu
Z2lmeS0xLjAuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLW1uV2RPY1h5LzFBLzFU
QUdSdTFFWDRqRSthOD0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7
CisgICAgICAgICJqc29uaWZ5IjogIjAuMC4wIgorICAgICAgfQorICAgIH0sCisgICAgImpzb241
IjogeworICAgICAgInZlcnNpb24iOiAiMC41LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL2pzb241Ly0vanNvbjUtMC41LjEudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1IcTNuck1BU0EwcllUaU9XZG42dG42VkpXQ0U9IiwKKyAgICAgICJk
ZXYiOiB0cnVlCisgICAgfSwKKyAgICAianNvbmZpbGUiOiB7CisgICAgICAidmVyc2lvbiI6ICIy
LjQuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvanNv
bmZpbGUvLS9qc29uZmlsZS0yLjQuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLU56
YWl0Q2k0ZTcyZ3pJTzFQNlBXTTZOY0t1Zz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAi
cmVxdWlyZXMiOiB7CisgICAgICAgICJncmFjZWZ1bC1mcyI6ICI0LjEuMTEiCisgICAgICB9Cisg
ICAgfSwKKyAgICAianNvbmlmeSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMC4wIiwKKyAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9qc29uaWZ5Ly0vanNvbmlm
eS0wLjAuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUxIUzI3a0haUEtVYmUxcXU2
UFVEWXgwbEtuTT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJraW5kLW9mIjog
eworICAgICAgInZlcnNpb24iOiAiMy4yLjIiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2tpbmQtb2YvLS9raW5kLW9mLTMuMi4yLnRneiIsCisgICAgICAi
aW50ZWdyaXR5IjogInNoYTEtTWVvaHB6UzZ1YnV3OHlSbTJKT3VwUjVLUEdRPSIsCisgICAgICAi
ZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImlzLWJ1ZmZlciI6ICIx
LjEuNSIKKyAgICAgIH0KKyAgICB9LAorICAgICJrbGF3IjogeworICAgICAgInZlcnNpb24iOiAi
MS4zLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2ts
YXcvLS9rbGF3LTEuMy4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtUUloRE8wYXpz
Ym9sblhoNFhZNlc5enVnSkRrPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJl
cyI6IHsKKyAgICAgICAgImdyYWNlZnVsLWZzIjogIjQuMS4xMSIKKyAgICAgIH0KKyAgICB9LAor
ICAgICJsYXp5LWNhY2hlIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjQiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2xhenktY2FjaGUvLS9sYXp5LWNh
Y2hlLTEuMC40LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtb2RlUHc2VUVkTXVBaEYw
N08yNGRwSnBFYm80PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImxjaWQiOiB7
CisgICAgICAidmVyc2lvbiI6ICIxLjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvbGNpZC8tL2xjaWQtMS4wLjAudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1NSXJNcjZDOFNEbzRaN1MyOHJsUVlsSFJ1RFU9IiwKKyAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiaW52ZXJ0LWt2IjogIjEuMC4wIgor
ICAgICAgfQorICAgIH0sCisgICAgImxvYWQtanNvbi1maWxlIjogeworICAgICAgInZlcnNpb24i
OiAiMS4xLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L2xvYWQtanNvbi1maWxlLy0vbG9hZC1qc29uLWZpbGUtMS4xLjAudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1sV2tGY0kxWXRMcTB3aVliQlBXZk1jbVRkTUE9IiwKKyAgICAgICJkZXYi
OiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiZ3JhY2VmdWwtZnMiOiAiNC4x
LjExIiwKKyAgICAgICAgInBhcnNlLWpzb24iOiAiMi4yLjAiLAorICAgICAgICAicGlmeSI6ICIy
LjMuMCIsCisgICAgICAgICJwaW5raWUtcHJvbWlzZSI6ICIyLjAuMSIsCisgICAgICAgICJzdHJp
cC1ib20iOiAiMi4wLjAiCisgICAgICB9CisgICAgfSwKKyAgICAibG9hZGVyLXJ1bm5lciI6IHsK
KyAgICAgICJ2ZXJzaW9uIjogIjIuMy4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9sb2FkZXItcnVubmVyLy0vbG9hZGVyLXJ1bm5lci0yLjMuMC50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLTlJS3VxQzFVUGdlU0Z3RFZwRzd5YjlyR3VLST0i
LAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJsb2FkZXItdXRpbHMiOiB7CisgICAg
ICAidmVyc2lvbiI6ICIwLjIuMTciLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2xvYWRlci11dGlscy8tL2xvYWRlci11dGlscy0wLjIuMTcudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS0rRzVqZE5ReUJhYm14ZzZSbHZGOEFwbS9zMGc9IiwKKyAg
ICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYmlnLmpzIjog
IjMuMS4zIiwKKyAgICAgICAgImVtb2ppcy1saXN0IjogIjIuMS4wIiwKKyAgICAgICAgImpzb241
IjogIjAuNS4xIiwKKyAgICAgICAgIm9iamVjdC1hc3NpZ24iOiAiNC4xLjEiCisgICAgICB9Cisg
ICAgfSwKKyAgICAibG9kYXNoIjogeworICAgICAgInZlcnNpb24iOiAiNC4xNy40IiwKKyAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9sb2Rhc2gvLS9sb2Rhc2gt
NC4xNy40LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtZUNBNlRSd3lpdUhZYmNwa1lP
TnB0WDlBVmE0PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImxvZGFzaC5jYW1l
bGNhc2UiOiB7CisgICAgICAidmVyc2lvbiI6ICI0LjMuMCIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbG9kYXNoLmNhbWVsY2FzZS8tL2xvZGFzaC5jYW1l
bGNhc2UtNC4zLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1zb3FtS0lvcm44WlJB
MXgzRWZaYXRoa0RNYVk9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAibG9kYXNo
Lm1lbW9pemUiOiB7CisgICAgICAidmVyc2lvbiI6ICI0LjEuMiIsCisgICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbG9kYXNoLm1lbW9pemUvLS9sb2Rhc2gubWVt
b2l6ZS00LjEuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXZNYkVta0tpaEE3Wmwv
TWo2dHBlelJndUMvND0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJsb2Rhc2gu
dW5pcSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjQuNS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9sb2Rhc2gudW5pcS8tL2xvZGFzaC51bmlxLTQuNS4w
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtMENKVGM2NjJVcTNCdklMa2xGTTVxRUox
UjNNPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImxvZy1zeW1ib2xzIjogewor
ICAgICAgInZlcnNpb24iOiAiMS4wLjIiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL2xvZy1zeW1ib2xzLy0vbG9nLXN5bWJvbHMtMS4wLjIudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1OMi8zdFk2akNHb1BDZnJNZEdGK3lsQWVHaGc9IiwKKyAg
ICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiY2hhbGsiOiAi
MS4xLjMiCisgICAgICB9CisgICAgfSwKKyAgICAibG9uZ2VzdCI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjEuMC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9sb25nZXN0Ly0vbG9uZ2VzdC0xLjAuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGEx
LU1LQ3kyamozTjNEb0tVb05JdVppWHRkOUFKYz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9
LAorICAgICJsb29zZS1lbnZpZnkiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjMuMSIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbG9vc2UtZW52aWZ5Ly0v
bG9vc2UtZW52aWZ5LTEuMy4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtMGFpdE0v
cWM0T2NUMWwvZENzaTNTTlI0eUVnPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1
aXJlcyI6IHsKKyAgICAgICAgImpzLXRva2VucyI6ICIzLjAuMiIKKyAgICAgIH0KKyAgICB9LAor
ICAgICJsb3dlci1jYXNlIjogeworICAgICAgInZlcnNpb24iOiAiMS4xLjQiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2xvd2VyLWNhc2UvLS9sb3dlci1j
YXNlLTEuMS40LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtbWl5cjBibm80SzZaT2t2
MzFZZGNPY1F1anF3PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgImxydS1jYWNo
ZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjQuMS4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9scnUtY2FjaGUvLS9scnUtY2FjaGUtNC4xLjEudGd6IiwK
KyAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLXE0c3BlNEtUZnNBUzFTVUhMTzB3ejhRaXlmMSt2
TUlBZ3BSWWlvRllETU5xS2ZIUWJnK0FWREgzaTRmdnBsNzEvUDFMMGRCbCtmUWkrUDM3VVlmMGV3
PT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJw
c2V1ZG9tYXAiOiAiMS4wLjIiLAorICAgICAgICAieWFsbGlzdCI6ICIyLjEuMiIKKyAgICAgIH0K
KyAgICB9LAorICAgICJtYWNhZGRyZXNzIjogeworICAgICAgInZlcnNpb24iOiAiMC4yLjgiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL21hY2FkZHJlc3Mv
LS9tYWNhZGRyZXNzLTAuMi44LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtV1FUY1Uz
dzU3RzIrL3E2UUl5Y1RYNmhSSHhJPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAg
Im1hdGgtZXhwcmVzc2lvbi1ldmFsdWF0b3IiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjIuMTci
LAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL21hdGgtZXhw
cmVzc2lvbi1ldmFsdWF0b3IvLS9tYXRoLWV4cHJlc3Npb24tZXZhbHVhdG9yLTEuMi4xNy50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLTNvR2YyODJFM00yUHJsbkdycmVXRmJuU1pxdz0i
LAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJtZWRpYS10eXBlciI6IHsKKyAgICAg
ICJ2ZXJzaW9uIjogIjAuMy4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy9tZWRpYS10eXBlci8tL21lZGlhLXR5cGVyLTAuMy4wLnRneiIsCisgICAgICAi
aW50ZWdyaXR5IjogInNoYTEtaHhEWHJ3cW1KdmovK2h6Z0FXaFVVbU1sVjBnPSIsCisgICAgICAi
ZGV2IjogdHJ1ZQorICAgIH0sCisgICAgIm1lbW9yeS1mcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjog
IjAuNC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9t
ZW1vcnktZnMvLS9tZW1vcnktZnMtMC40LjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1PcG9ndUVZbEkrUkh6N3graTdnTzFtZS94Vkk9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAg
ICAgInJlcXVpcmVzIjogeworICAgICAgICAiZXJybm8iOiAiMC4xLjQiLAorICAgICAgICAicmVh
ZGFibGUtc3RyZWFtIjogIjIuMy4zIgorICAgICAgfSwKKyAgICAgICJkZXBlbmRlbmNpZXMiOiB7
CisgICAgICAgICJpc2FycmF5IjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAg
ICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXNhcnJheS8t
L2lzYXJyYXktMS4wLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtdTVOZFNG
Z3N1aGFNQm9OSlY2VktQZ2NTVHhFPSIsCisgICAgICAgICAgImRldiI6IHRydWUKKyAgICAgICAg
fSwKKyAgICAgICAgInJlYWRhYmxlLXN0cmVhbSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIy
LjMuMyIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L3JlYWRhYmxlLXN0cmVhbS8tL3JlYWRhYmxlLXN0cmVhbS0yLjMuMy50Z3oiLAorICAgICAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhNTEyLW0rcXp6Y243S1V4RW1kMWdNYmNoRitZMmVJVWJpZVVheGtX
dHB0eUh5d3JYMHJFOFFFWXFQQzA3VnV5NFdtMzIveEUxNk5jZEJjdGI4UzBYZS81SWVRPT0iLAor
ICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAg
ICAgICJjb3JlLXV0aWwtaXMiOiAiMS4wLjIiLAorICAgICAgICAgICAgImluaGVyaXRzIjogIjIu
MC4zIiwKKyAgICAgICAgICAgICJpc2FycmF5IjogIjEuMC4wIiwKKyAgICAgICAgICAgICJwcm9j
ZXNzLW5leHRpY2stYXJncyI6ICIxLjAuNyIsCisgICAgICAgICAgICAic2FmZS1idWZmZXIiOiAi
NS4xLjEiLAorICAgICAgICAgICAgInN0cmluZ19kZWNvZGVyIjogIjEuMC4zIiwKKyAgICAgICAg
ICAgICJ1dGlsLWRlcHJlY2F0ZSI6ICIxLjAuMiIKKyAgICAgICAgICB9CisgICAgICAgIH0sCisg
ICAgICAgICJzdHJpbmdfZGVjb2RlciI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjAuMyIs
CisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3N0cmlu
Z19kZWNvZGVyLy0vc3RyaW5nX2RlY29kZXItMS4wLjMudGd6IiwKKyAgICAgICAgICAiaW50ZWdy
aXR5IjogInNoYTUxMi00QUg2WjVmek5OQmNIKzZYRE1mQS9CVHQ4N3NreHFKbE8wbEFoM0RrZXI1
elRoY0F4RzZtS3oraUd1MzA4VUtvUFBROERjcXgvNEpodWp6bHRSYStoUT09IiwKKyAgICAgICAg
ICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAic2Fm
ZS1idWZmZXIiOiAiNS4xLjEiCisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAg
fSwKKyAgICAibWVyZ2UtZGVzY3JpcHRvcnMiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMSIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbWVyZ2UtZGVz
Y3JpcHRvcnMvLS9tZXJnZS1kZXNjcmlwdG9ycy0xLjAuMS50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGExLXNBcXFWVzNZdEVWb0ZRN0owYmxUOC9rTXUyRT0iLAorICAgICAgImRldiI6IHRy
dWUKKyAgICB9LAorICAgICJtZXRob2RzIjogeworICAgICAgInZlcnNpb24iOiAiMS4xLjIiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL21ldGhvZHMvLS9t
ZXRob2RzLTEuMS4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtVlNtazFuWlVFMDdj
eFNabVZvTmJENFVhL080PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgIm1pY3Jv
bWF0Y2giOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjMuMTEiLAorICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL21pY3JvbWF0Y2gvLS9taWNyb21hdGNoLTIuMy4x
MS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWhtZDhsOUZ5Q3pZME1kQk5EUlVwTzlP
TUZXVT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAg
ICJhcnItZGlmZiI6ICIyLjAuMCIsCisgICAgICAgICJhcnJheS11bmlxdWUiOiAiMC4yLjEiLAor
ICAgICAgICAiYnJhY2VzIjogIjEuOC41IiwKKyAgICAgICAgImV4cGFuZC1icmFja2V0cyI6ICIw
LjEuNSIsCisgICAgICAgICJleHRnbG9iIjogIjAuMy4yIiwKKyAgICAgICAgImZpbGVuYW1lLXJl
Z2V4IjogIjIuMC4xIiwKKyAgICAgICAgImlzLWV4dGdsb2IiOiAiMS4wLjAiLAorICAgICAgICAi
aXMtZ2xvYiI6ICIyLjAuMSIsCisgICAgICAgICJraW5kLW9mIjogIjMuMi4yIiwKKyAgICAgICAg
Im5vcm1hbGl6ZS1wYXRoIjogIjIuMS4xIiwKKyAgICAgICAgIm9iamVjdC5vbWl0IjogIjIuMC4x
IiwKKyAgICAgICAgInBhcnNlLWdsb2IiOiAiMy4wLjQiLAorICAgICAgICAicmVnZXgtY2FjaGUi
OiAiMC40LjMiCisgICAgICB9LAorICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAgImlz
LWV4dGdsb2IiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAorICAgICAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9pcy1leHRnbG9iLy0vaXMtZXh0
Z2xvYi0xLjAuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1yRWFCZDhTVU5B
V2drdnlQS1hZTWIveGlCc0E9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZQorICAgICAgICB9LAor
ICAgICAgICAiaXMtZ2xvYiI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIyLjAuMSIsCisgICAg
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzLWdsb2IvLS9p
cy1nbG9iLTIuMC4xLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLTBKYjVKcVBl
MVdBUFA5L1pFWmpMQ0lqQzJHTT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAg
ICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJpcy1leHRnbG9iIjogIjEuMC4wIgorICAgICAg
ICAgIH0KKyAgICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAgIm1pbGxlci1yYWJpbiI6IHsK
KyAgICAgICJ2ZXJzaW9uIjogIjQuMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9taWxsZXItcmFiaW4vLS9taWxsZXItcmFiaW4tNC4wLjAudGd6IiwK
KyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1TbUw3SFVLVFBBVllPWUwweHhiMis1NXNiVDA9IiwK
KyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYm4uanMi
OiAiNC4xMS44IiwKKyAgICAgICAgImJyb3JhbmQiOiAiMS4xLjAiCisgICAgICB9CisgICAgfSwK
KyAgICAibWltZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMy40IiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9taW1lLy0vbWltZS0xLjMuNC50Z3oiLAor
ICAgICAgImludGVncml0eSI6ICJzaGExLUVWK2VPMnM5cnlsWm1EeXpqeFNhTFVEclhWTT0iLAor
ICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJtaW1lLWRiIjogeworICAgICAgInZlcnNp
b24iOiAiMS4yOS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9taW1lLWRiLy0vbWltZS1kYi0xLjI5LjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1TTkp0STFXSlpSY0VyRmtXeWdZQUdSUW1hSGc9IiwKKyAgICAgICJkZXYiOiB0cnVlCisg
ICAgfSwKKyAgICAibWltZS10eXBlcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMS4xNiIsCisg
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbWltZS10eXBlcy8t
L21pbWUtdHlwZXMtMi4xLjE2LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtSzRXS1V1
WHMxUmJiaVhyQ3ZvZEllREJwamlNPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1
aXJlcyI6IHsKKyAgICAgICAgIm1pbWUtZGIiOiAiMS4yOS4wIgorICAgICAgfQorICAgIH0sCisg
ICAgIm1pbWljLWZuIjogeworICAgICAgInZlcnNpb24iOiAiMS4xLjAiLAorICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL21pbWljLWZuLy0vbWltaWMtZm4tMS4x
LjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS01bWQ0UFpMb25iMDBLQmkxSXd1ZFlx
WnlyUmc9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAibWluaW1hbGlzdGljLWFz
c2VydCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9taW5pbWFsaXN0aWMtYXNzZXJ0Ly0vbWluaW1hbGlz
dGljLWFzc2VydC0xLjAuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWNDdmkzYWF6
ZjBnMnZMUDEyMVprRzJTaDA5TT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJt
aW5pbWFsaXN0aWMtY3J5cHRvLXV0aWxzIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjEiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL21pbmltYWxpc3Rp
Yy1jcnlwdG8tdXRpbHMvLS9taW5pbWFsaXN0aWMtY3J5cHRvLXV0aWxzLTEuMC4xLnRneiIsCisg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtOXNBTUhBc0lJa2JseE5tZCs0eDhDRHNyV0NvPSIsCisg
ICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgIm1pbmltYXRjaCI6IHsKKyAgICAgICJ2ZXJz
aW9uIjogIjMuMC40IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9taW5pbWF0Y2gvLS9taW5pbWF0Y2gtMy4wLjQudGd6IiwKKyAgICAgICJpbnRlZ3JpdHki
OiAic2hhNTEyLXlKSFZRRWh5cVBMVVRndDlCODNQWHU2VzNyeDRNdnZIdlNVdlRvb2dwd29HRE9V
USt5RHJSMEhSb3QreU9DZENPN3U0aFgzcFdmdDZrV0JCY3FoMFVBPT0iLAorICAgICAgImRldiI6
IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJicmFjZS1leHBhbnNpb24iOiAi
MS4xLjgiCisgICAgICB9CisgICAgfSwKKyAgICAibWluaW1pc3QiOiB7CisgICAgICAidmVyc2lv
biI6ICIwLjAuOCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvbWluaW1pc3QvLS9taW5pbWlzdC0wLjAuOC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLWhYL0t2OE01ZlNZbHVDS0NZdWhxcDZBUnNGMD0iLAorICAgICAgImRldiI6IHRydWUKKyAg
ICB9LAorICAgICJta2RpcnAiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjUuMSIsCisgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbWtkaXJwLy0vbWtkaXJwLTAu
NS4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtTUFWME9Pckd6MytNUjJmemhraldh
WDExeVFNPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAg
ICAgIm1pbmltaXN0IjogIjAuMC44IgorICAgICAgfQorICAgIH0sCisgICAgIm1zIjogeworICAg
ICAgInZlcnNpb24iOiAiMi4wLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL21zLy0vbXMtMi4wLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1WZ2l1cmZ3QXZtd3BBZDlmbUdGNGplRFZsOGc9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAg
fSwKKyAgICAibmFuIjogeworICAgICAgInZlcnNpb24iOiAiMi42LjIiLAorICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL25hbi8tL25hbi0yLjYuMi50Z3oiLAor
ICAgICAgImludGVncml0eSI6ICJzaGExLTVQODA1c2xmMzdXdXpBamVaWmIwTmdXbjIwVT0iLAor
ICAgICAgImRldiI6IHRydWUsCisgICAgICAib3B0aW9uYWwiOiB0cnVlCisgICAgfSwKKyAgICAi
bmNuYW1lIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjAiLAorICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL25jbmFtZS8tL25jbmFtZS0xLjAuMC50Z3oiLAor
ICAgICAgImludGVncml0eSI6ICJzaGExLVcxZXRHTEhLQ1NoazcyS3dzZTJCbFBPRHR4dz0iLAor
ICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJ4bWwtY2hh
ci1jbGFzc2VzIjogIjEuMC4wIgorICAgICAgfQorICAgIH0sCisgICAgIm5lZ290aWF0b3IiOiB7
CisgICAgICAidmVyc2lvbiI6ICIwLjYuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvbmVnb3RpYXRvci8tL25lZ290aWF0b3ItMC42LjEudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1Lekp4aE9pWklRRVhleWhXUDdYbkVDck5ES2s9IiwKKyAg
ICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAibm8tY2FzZSI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjIuMy4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9uby1jYXNlLy0vbm8tY2FzZS0yLjMuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGEx
LWV1dWh4enBTR0VKbFZVdDl3RHV2Y2czNEFJRT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAg
ICAicmVxdWlyZXMiOiB7CisgICAgICAgICJsb3dlci1jYXNlIjogIjEuMS40IgorICAgICAgfQor
ICAgIH0sCisgICAgIm5vZGUtZGlyIjogeworICAgICAgInZlcnNpb24iOiAiMC4xLjE3IiwKKyAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9ub2RlLWRpci8tL25v
ZGUtZGlyLTAuMS4xNy50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLVgxWmwyVE5STTF5
cXZ2anh4VlJSYlBYeDVPVT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMi
OiB7CisgICAgICAgICJtaW5pbWF0Y2giOiAiMy4wLjQiCisgICAgICB9CisgICAgfSwKKyAgICAi
bm9kZS1saWJzLWJyb3dzZXIiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjAuMCIsCisgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbm9kZS1saWJzLWJyb3dzZXIv
LS9ub2RlLWxpYnMtYnJvd3Nlci0yLjAuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGEx
LW82V2V5WEFrbUZ0RzZWZzNsa2I1YkV0aFprWT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAg
ICAicmVxdWlyZXMiOiB7CisgICAgICAgICJhc3NlcnQiOiAiMS40LjEiLAorICAgICAgICAiYnJv
d3NlcmlmeS16bGliIjogIjAuMS40IiwKKyAgICAgICAgImJ1ZmZlciI6ICI0LjkuMSIsCisgICAg
ICAgICJjb25zb2xlLWJyb3dzZXJpZnkiOiAiMS4xLjAiLAorICAgICAgICAiY29uc3RhbnRzLWJy
b3dzZXJpZnkiOiAiMS4wLjAiLAorICAgICAgICAiY3J5cHRvLWJyb3dzZXJpZnkiOiAiMy4xMS4x
IiwKKyAgICAgICAgImRvbWFpbi1icm93c2VyIjogIjEuMS43IiwKKyAgICAgICAgImV2ZW50cyI6
ICIxLjEuMSIsCisgICAgICAgICJodHRwcy1icm93c2VyaWZ5IjogIjAuMC4xIiwKKyAgICAgICAg
Im9zLWJyb3dzZXJpZnkiOiAiMC4yLjEiLAorICAgICAgICAicGF0aC1icm93c2VyaWZ5IjogIjAu
MC4wIiwKKyAgICAgICAgInByb2Nlc3MiOiAiMC4xMS4xMCIsCisgICAgICAgICJwdW55Y29kZSI6
ICIxLjQuMSIsCisgICAgICAgICJxdWVyeXN0cmluZy1lczMiOiAiMC4yLjEiLAorICAgICAgICAi
cmVhZGFibGUtc3RyZWFtIjogIjIuMy4zIiwKKyAgICAgICAgInN0cmVhbS1icm93c2VyaWZ5Ijog
IjIuMC4xIiwKKyAgICAgICAgInN0cmVhbS1odHRwIjogIjIuNy4yIiwKKyAgICAgICAgInN0cmlu
Z19kZWNvZGVyIjogIjAuMTAuMzEiLAorICAgICAgICAidGltZXJzLWJyb3dzZXJpZnkiOiAiMi4w
LjQiLAorICAgICAgICAidHR5LWJyb3dzZXJpZnkiOiAiMC4wLjAiLAorICAgICAgICAidXJsIjog
IjAuMTEuMCIsCisgICAgICAgICJ1dGlsIjogIjAuMTAuMyIsCisgICAgICAgICJ2bS1icm93c2Vy
aWZ5IjogIjAuMC40IgorICAgICAgfSwKKyAgICAgICJkZXBlbmRlbmNpZXMiOiB7CisgICAgICAg
ICJpc2FycmF5IjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXNhcnJheS8tL2lzYXJyYXkt
MS4wLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtdTVOZFNGZ3N1aGFNQm9O
SlY2VktQZ2NTVHhFPSIsCisgICAgICAgICAgImRldiI6IHRydWUKKyAgICAgICAgfSwKKyAgICAg
ICAgInJlYWRhYmxlLXN0cmVhbSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIyLjMuMyIsCisg
ICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3JlYWRhYmxl
LXN0cmVhbS8tL3JlYWRhYmxlLXN0cmVhbS0yLjMuMy50Z3oiLAorICAgICAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhNTEyLW0rcXp6Y243S1V4RW1kMWdNYmNoRitZMmVJVWJpZVVheGtXdHB0eUh5d3JY
MHJFOFFFWXFQQzA3VnV5NFdtMzIveEUxNk5jZEJjdGI4UzBYZS81SWVRPT0iLAorICAgICAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJjb3Jl
LXV0aWwtaXMiOiAiMS4wLjIiLAorICAgICAgICAgICAgImluaGVyaXRzIjogIjIuMC4zIiwKKyAg
ICAgICAgICAgICJpc2FycmF5IjogIjEuMC4wIiwKKyAgICAgICAgICAgICJwcm9jZXNzLW5leHRp
Y2stYXJncyI6ICIxLjAuNyIsCisgICAgICAgICAgICAic2FmZS1idWZmZXIiOiAiNS4xLjEiLAor
ICAgICAgICAgICAgInN0cmluZ19kZWNvZGVyIjogIjEuMC4zIiwKKyAgICAgICAgICAgICJ1dGls
LWRlcHJlY2F0ZSI6ICIxLjAuMiIKKyAgICAgICAgICB9LAorICAgICAgICAgICJkZXBlbmRlbmNp
ZXMiOiB7CisgICAgICAgICAgICAic3RyaW5nX2RlY29kZXIiOiB7CisgICAgICAgICAgICAgICJ2
ZXJzaW9uIjogIjEuMC4zIiwKKyAgICAgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL3N0cmluZ19kZWNvZGVyLy0vc3RyaW5nX2RlY29kZXItMS4wLjMudGd6
IiwKKyAgICAgICAgICAgICAgImludGVncml0eSI6ICJzaGE1MTItNEFINlo1ZnpOTkJjSCs2WERN
ZkEvQlR0ODdza3hxSmxPMGxBaDNEa2VyNXpUaGNBeEc2bUt6K2lHdTMwOFVLb1BQUThEY3F4LzRK
aHVqemx0UmEraFE9PSIsCisgICAgICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICAg
ICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAgICAgInNhZmUtYnVmZmVyIjogIjUuMS4xIgor
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgICB9CisgICAgfSwKKyAgICAibm9wdCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjMuMC42IiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9ub3B0Ly0vbm9w
dC0zLjAuNi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXhrWmR2d2lyelUyeldURi9l
YXhvcGtheWovaz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7Cisg
ICAgICAgICJhYmJyZXYiOiAiMS4xLjAiCisgICAgICB9CisgICAgfSwKKyAgICAibm9ybWFsaXpl
LXBhY2thZ2UtZGF0YSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuNC4wIiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9ub3JtYWxpemUtcGFja2FnZS1kYXRh
Ly0vbm9ybWFsaXplLXBhY2thZ2UtZGF0YS0yLjQuMC50Z3oiLAorICAgICAgImludGVncml0eSI6
ICJzaGE1MTItOWpqVUZiVFBmRXkzUi9hZC8yb05iS3RXOUhnb3ZsNU8xRnZGV0trS2JsTlhvTi9P
b3U2KzkrS0tvaFBLMTNZYzMvVHl1bnlXaEpwNmd2Uk5SL1BQQXc9PSIsCisgICAgICAiZGV2Ijog
dHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImhvc3RlZC1naXQtaW5mbyI6ICIy
LjUuMCIsCisgICAgICAgICJpcy1idWlsdGluLW1vZHVsZSI6ICIxLjAuMCIsCisgICAgICAgICJz
ZW12ZXIiOiAiNS40LjEiLAorICAgICAgICAidmFsaWRhdGUtbnBtLXBhY2thZ2UtbGljZW5zZSI6
ICIzLjAuMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJub3JtYWxpemUtcGF0aCI6IHsKKyAgICAg
ICJ2ZXJzaW9uIjogIjIuMS4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy9ub3JtYWxpemUtcGF0aC8tL25vcm1hbGl6ZS1wYXRoLTIuMS4xLnRneiIsCisg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtR3JLTFZXNFpnMk9vd2FiMzV2b2dFMy9tcnRrPSIsCisg
ICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgInJlbW92ZS10
cmFpbGluZy1zZXBhcmF0b3IiOiAiMS4xLjAiCisgICAgICB9CisgICAgfSwKKyAgICAibm9ybWFs
aXplLXJhbmdlIjogeworICAgICAgInZlcnNpb24iOiAiMC4xLjIiLAorICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL25vcm1hbGl6ZS1yYW5nZS8tL25vcm1hbGl6
ZS1yYW5nZS0wLjEuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUxSREFhOS9URXVx
WGQybGFUU2hEbEZhM1dVST0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJub3Jt
YWxpemUtdXJsIjogeworICAgICAgInZlcnNpb24iOiAiMS45LjEiLAorICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL25vcm1hbGl6ZS11cmwvLS9ub3JtYWxpemUt
dXJsLTEuOS4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtTE1EV2F6SHFJd05rV0VO
dU5pRFlXVlRHYkR3PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsK
KyAgICAgICAgIm9iamVjdC1hc3NpZ24iOiAiNC4xLjEiLAorICAgICAgICAicHJlcGVuZC1odHRw
IjogIjEuMC40IiwKKyAgICAgICAgInF1ZXJ5LXN0cmluZyI6ICI0LjMuNCIsCisgICAgICAgICJz
b3J0LWtleXMiOiAiMS4xLjIiCisgICAgICB9CisgICAgfSwKKyAgICAibnRoLWNoZWNrIjogewor
ICAgICAgInZlcnNpb24iOiAiMS4wLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL250aC1jaGVjay8tL250aC1jaGVjay0xLjAuMS50Z3oiLAorICAgICAg
ImludGVncml0eSI6ICJzaGExLW1TbXMzMktQd3NRUW1ONnJncXhZRFBGSnF1UT0iLAorICAgICAg
ImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJib29sYmFzZSI6ICIx
LjAuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJudW0yZnJhY3Rpb24iOiB7CisgICAgICAidmVy
c2lvbiI6ICIxLjIuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvbnVtMmZyYWN0aW9uLy0vbnVtMmZyYWN0aW9uLTEuMi4yLnRneiIsCisgICAgICAiaW50
ZWdyaXR5IjogInNoYTEtYjJncmFnSjZUcDNmcEZaTTBsaWRIVTVtbnQ0PSIsCisgICAgICAiZGV2
IjogdHJ1ZQorICAgIH0sCisgICAgIm51bWJlci1pcy1uYW4iOiB7CisgICAgICAidmVyc2lvbiI6
ICIxLjAuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
bnVtYmVyLWlzLW5hbi8tL251bWJlci1pcy1uYW4tMS4wLjEudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1DWHRnSzFOQ0tsSXNHdnVIa0RHRE5wUWFBUjA9IiwKKyAgICAgICJkZXYiOiB0
cnVlCisgICAgfSwKKyAgICAib2JqZWN0LWFzc2lnbiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjQu
MS4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9vYmpl
Y3QtYXNzaWduLy0vb2JqZWN0LWFzc2lnbi00LjEuMS50Z3oiLAorICAgICAgImludGVncml0eSI6
ICJzaGExLUlRbXR4NVpZaDgvQVhMdlVRc3JJdjdzMkNHTT0iLAorICAgICAgImRldiI6IHRydWUK
KyAgICB9LAorICAgICJvYmplY3Qub21pdCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMC4xIiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9vYmplY3Qub21p
dC8tL29iamVjdC5vbWl0LTIuMC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtR3B4
MFNDbnpuYnVGakhiS05YbXVLbFRyMGZvPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJy
ZXF1aXJlcyI6IHsKKyAgICAgICAgImZvci1vd24iOiAiMC4xLjUiLAorICAgICAgICAiaXMtZXh0
ZW5kYWJsZSI6ICIwLjEuMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJvbi1maW5pc2hlZCI6IHsK
KyAgICAgICJ2ZXJzaW9uIjogIjIuMy4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9vbi1maW5pc2hlZC8tL29uLWZpbmlzaGVkLTIuMy4wLnRneiIsCisg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtSVBFelpJR3dnODExTTNtU29XbHhxaTJRYVVjPSIsCisg
ICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImVlLWZpcnN0
IjogIjEuMS4xIgorICAgICAgfQorICAgIH0sCisgICAgIm9uY2UiOiB7CisgICAgICAidmVyc2lv
biI6ICIxLjQuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvb25jZS8tL29uY2UtMS40LjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1XRHNh
cDNXV0hVc1JPc0Y5bkZDNjc1M1hhOUU9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJl
cXVpcmVzIjogeworICAgICAgICAid3JhcHB5IjogIjEuMC4yIgorICAgICAgfQorICAgIH0sCisg
ICAgIm9uZXRpbWUiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjAuMSIsCisgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvb25ldGltZS8tL29uZXRpbWUtMi4wLjEu
dGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1CblFvSXcvV2RFT3llVXNpdTZVb3RvWjVZ
dFE9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAi
bWltaWMtZm4iOiAiMS4xLjAiCisgICAgICB9CisgICAgfSwKKyAgICAib3BlbmVyIjogeworICAg
ICAgInZlcnNpb24iOiAiMS40LjMiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL29wZW5lci8tL29wZW5lci0xLjQuMy50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGExLVhHMml4ZGZsZ3g2UCtqbGtsUStOWm5Tc2tMZz0iLAorICAgICAgImRldiI6IHRy
dWUKKyAgICB9LAorICAgICJvcG4iOiB7CisgICAgICAidmVyc2lvbiI6ICI0LjAuMiIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvb3BuLy0vb3BuLTQuMC4y
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtZXJ3aTVrVGY5anNLbHRXcmZ5ZVF3UEFh
dkpVPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAg
Im9iamVjdC1hc3NpZ24iOiAiNC4xLjEiLAorICAgICAgICAicGlua2llLXByb21pc2UiOiAiMi4w
LjEiCisgICAgICB9CisgICAgfSwKKyAgICAib3B0aW1pemUtY3NzLWFzc2V0cy13ZWJwYWNrLXBs
dWdpbiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMy4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9vcHRpbWl6ZS1jc3MtYXNzZXRzLXdlYnBhY2stcGx1
Z2luLy0vb3B0aW1pemUtY3NzLWFzc2V0cy13ZWJwYWNrLXBsdWdpbi0xLjMuMi50Z3oiLAorICAg
ICAgImludGVncml0eSI6ICJzaGExLTZ5ZEZiaUh1KzlnSUR6SG9Ob3haYUU1WVdpdz0iLAorICAg
ICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJjc3NuYW5vIjog
IjMuMTAuMCIsCisgICAgICAgICJ1bmRlcnNjb3JlIjogIjEuOC4zIiwKKyAgICAgICAgIndlYnBh
Y2stc291cmNlcyI6ICIwLjEuNSIKKyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5jaWVzIjogewor
ICAgICAgICAid2VicGFjay1zb3VyY2VzIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjAuMS41
IiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvd2Vi
cGFjay1zb3VyY2VzLy0vd2VicGFjay1zb3VyY2VzLTAuMS41LnRneiIsCisgICAgICAgICAgImlu
dGVncml0eSI6ICJzaGExLXFoODZ2dzhOZE50eEVjUU9VQXVFK1daa0IxQT0iLAorICAgICAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJzb3Vy
Y2UtbGlzdC1tYXAiOiAiMC4xLjgiLAorICAgICAgICAgICAgInNvdXJjZS1tYXAiOiAiMC41LjYi
CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAgICAib3JhIjogewor
ICAgICAgInZlcnNpb24iOiAiMS4zLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL29yYS8tL29yYS0xLjMuMC50Z3oiLAorICAgICAgImludGVncml0eSI6
ICJzaGExLWdBZU4wcmtxazByMmFqclhLbHVSQnBUdDVSbz0iLAorICAgICAgImRldiI6IHRydWUs
CisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJjaGFsayI6ICIxLjEuMyIsCisgICAgICAg
ICJjbGktY3Vyc29yIjogIjIuMS4wIiwKKyAgICAgICAgImNsaS1zcGlubmVycyI6ICIxLjAuMCIs
CisgICAgICAgICJsb2ctc3ltYm9scyI6ICIxLjAuMiIKKyAgICAgIH0KKyAgICB9LAorICAgICJv
cy1icm93c2VyaWZ5IjogeworICAgICAgInZlcnNpb24iOiAiMC4yLjEiLAorICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL29zLWJyb3dzZXJpZnkvLS9vcy1icm93
c2VyaWZ5LTAuMi4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtWS94TXp1WFMxM1k5
SnJ2NFlCQjQ1c0xnQkU4PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgIm9zLWhv
bWVkaXIiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMiIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvb3MtaG9tZWRpci8tL29zLWhvbWVkaXItMS4wLjIu
dGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS0vN3hKaUROdURvTTk0TUZveCs4VklTR3Fm
N009IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAib3MtbG9jYWxlIjogeworICAg
ICAgInZlcnNpb24iOiAiMS40LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL29zLWxvY2FsZS8tL29zLWxvY2FsZS0xLjQuMC50Z3oiLAorICAgICAgImlu
dGVncml0eSI6ICJzaGExLUlQbnhldUtlMDBYb3ZlV0RzVDBnQ1lBOEZOaz0iLAorICAgICAgImRl
diI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJsY2lkIjogIjEuMC4wIgor
ICAgICAgfQorICAgIH0sCisgICAgIm9zLXRtcGRpciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEu
MC4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9vcy10
bXBkaXIvLS9vcy10bXBkaXItMS4wLjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS11
K1owQnNlYXFGeGMvc2RtL2xjMFZWMzZFblE9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwK
KyAgICAicGFrbyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMi45IiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wYWtvLy0vcGFrby0wLjIuOS50Z3oiLAor
ICAgICAgImludGVncml0eSI6ICJzaGExLTgvZFNMMDczZ2pTTnFCWWJyWjdQMVJ2NE9uVT0iLAor
ICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJwYXJhbS1jYXNlIjogeworICAgICAgInZl
cnNpb24iOiAiMi4xLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL3BhcmFtLWNhc2UvLS9wYXJhbS1jYXNlLTIuMS4xLnRneiIsCisgICAgICAiaW50ZWdy
aXR5IjogInNoYTEtMzVUOWpQWlRIczkxNXI3NW9JV1B2SEsrSWtjPSIsCisgICAgICAiZGV2Ijog
dHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgIm5vLWNhc2UiOiAiMi4zLjEiCisg
ICAgICB9CisgICAgfSwKKyAgICAicGFyc2UtYXNuMSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjUu
MS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wYXJz
ZS1hc24xLy0vcGFyc2UtYXNuMS01LjEuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGEx
LU44VDV0KzA2dGx4MGdYdGZKSUNUZjcrWHh4ST0iLAorICAgICAgImRldiI6IHRydWUsCisgICAg
ICAicmVxdWlyZXMiOiB7CisgICAgICAgICJhc24xLmpzIjogIjQuOS4xIiwKKyAgICAgICAgImJy
b3dzZXJpZnktYWVzIjogIjEuMC42IiwKKyAgICAgICAgImNyZWF0ZS1oYXNoIjogIjEuMS4zIiwK
KyAgICAgICAgImV2cF9ieXRlc3Rva2V5IjogIjEuMC4wIiwKKyAgICAgICAgInBia2RmMiI6ICIz
LjAuMTMiCisgICAgICB9CisgICAgfSwKKyAgICAicGFyc2UtZ2xvYiI6IHsKKyAgICAgICJ2ZXJz
aW9uIjogIjMuMC40IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9wYXJzZS1nbG9iLy0vcGFyc2UtZ2xvYi0zLjAuNC50Z3oiLAorICAgICAgImludGVncml0
eSI6ICJzaGExLXNzTjJ6N0VmTlZFN3JkRno3d3UyNDZPSU9Sdz0iLAorICAgICAgImRldiI6IHRy
dWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJnbG9iLWJhc2UiOiAiMC4zLjAiLAor
ICAgICAgICAiaXMtZG90ZmlsZSI6ICIxLjAuMyIsCisgICAgICAgICJpcy1leHRnbG9iIjogIjEu
MC4wIiwKKyAgICAgICAgImlzLWdsb2IiOiAiMi4wLjEiCisgICAgICB9LAorICAgICAgImRlcGVu
ZGVuY2llcyI6IHsKKyAgICAgICAgImlzLWV4dGdsb2IiOiB7CisgICAgICAgICAgInZlcnNpb24i
OiAiMS4wLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9pcy1leHRnbG9iLy0vaXMtZXh0Z2xvYi0xLjAuMC50Z3oiLAorICAgICAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1yRWFCZDhTVU5BV2drdnlQS1hZTWIveGlCc0E9IiwKKyAgICAgICAgICAi
ZGV2IjogdHJ1ZQorICAgICAgICB9LAorICAgICAgICAiaXMtZ2xvYiI6IHsKKyAgICAgICAgICAi
dmVyc2lvbiI6ICIyLjAuMSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2lzLWdsb2IvLS9pcy1nbG9iLTIuMC4xLnRneiIsCisgICAgICAgICAgImlu
dGVncml0eSI6ICJzaGExLTBKYjVKcVBlMVdBUFA5L1pFWmpMQ0lqQzJHTT0iLAorICAgICAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJpcy1l
eHRnbG9iIjogIjEuMC4wIgorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorICAgIH0s
CisgICAgInBhcnNlLWpzb24iOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjIuMCIsCisgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcGFyc2UtanNvbi8tL3BhcnNl
LWpzb24tMi4yLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS05SUQwQkRUdmdIUWZo
R2tKbjQzcUdQVmFUY2s9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjog
eworICAgICAgICAiZXJyb3ItZXgiOiAiMS4zLjEiCisgICAgICB9CisgICAgfSwKKyAgICAicGFy
c2V1cmwiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjMuMSIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcGFyc2V1cmwvLS9wYXJzZXVybC0xLjMuMS50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLXlLdU1raU82TklpS3Brb3BleWlGTyt3WTJsWT0i
LAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJwYXRoLWJyb3dzZXJpZnkiOiB7Cisg
ICAgICAidmVyc2lvbiI6ICIwLjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvcGF0aC1icm93c2VyaWZ5Ly0vcGF0aC1icm93c2VyaWZ5LTAuMC4wLnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtb0xod2NwcXVJVUFGdDlVRExzTEx1dyswUlJv
PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInBhdGgtZXhpc3RzIjogeworICAg
ICAgInZlcnNpb24iOiAiMi4xLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL3BhdGgtZXhpc3RzLy0vcGF0aC1leGlzdHMtMi4xLjAudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1EK3RzWlBEOFVZMmFkVTNWNzdZc2NDSjJIMHM9IiwKKyAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAicGlua2llLXByb21p
c2UiOiAiMi4wLjEiCisgICAgICB9CisgICAgfSwKKyAgICAicGF0aC1pcy1hYnNvbHV0ZSI6IHsK
KyAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9wYXRoLWlzLWFic29sdXRlLy0vcGF0aC1pcy1hYnNvbHV0ZS0xLjAu
MS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUYwdVNhSE5WTlArOGVzNXI5VHBhbmh0
Y1gxOD0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJwYXRoLXBhcnNlIjogewor
ICAgICAgInZlcnNpb24iOiAiMS4wLjUiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL3BhdGgtcGFyc2UvLS9wYXRoLXBhcnNlLTEuMC41LnRneiIsCisgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtUEJyZmh4NnB6V3lVTWJicUs5ZEtEL0JWeE1FPSIsCisgICAg
ICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInBhdGgtdG8tcmVnZXhwIjogeworICAgICAgInZl
cnNpb24iOiAiMC4xLjciLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL3BhdGgtdG8tcmVnZXhwLy0vcGF0aC10by1yZWdleHAtMC4xLjcudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS0zMkJCZUFCZlVpOFY2MFNRNXlSNkcvcW1mNHc9IiwKKyAgICAg
ICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAicGF0aC10eXBlIjogeworICAgICAgInZlcnNpb24i
OiAiMS4xLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L3BhdGgtdHlwZS8tL3BhdGgtdHlwZS0xLjEuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLVdjUlBmdVNSMm5CTnBCWGFXa0J3dWsrUDVFRT0iLAorICAgICAgImRldiI6IHRydWUsCisg
ICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJncmFjZWZ1bC1mcyI6ICI0LjEuMTEiLAorICAg
ICAgICAicGlmeSI6ICIyLjMuMCIsCisgICAgICAgICJwaW5raWUtcHJvbWlzZSI6ICIyLjAuMSIK
KyAgICAgIH0KKyAgICB9LAorICAgICJwYmtkZjIiOiB7CisgICAgICAidmVyc2lvbiI6ICIzLjAu
MTMiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Bia2Rm
Mi8tL3Bia2RmMi0zLjAuMTMudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLStkQ0h4
REgrZGpOdGpnV212VkMvbXkzU1lCQUtwS05xS1NqTGtwK0d0V1dZZTRYUEUrZS9QU0QyYUNhbmxF
WlpucVBrMnVla1RLTkMvY2Nid2QyWDJRPT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAi
cmVxdWlyZXMiOiB7CisgICAgICAgICJjcmVhdGUtaGFzaCI6ICIxLjEuMyIsCisgICAgICAgICJj
cmVhdGUtaG1hYyI6ICIxLjEuNiIsCisgICAgICAgICJyaXBlbWQxNjAiOiAiMi4wLjEiLAorICAg
ICAgICAic2FmZS1idWZmZXIiOiAiNS4xLjEiLAorICAgICAgICAic2hhLmpzIjogIjIuNC44Igor
ICAgICAgfQorICAgIH0sCisgICAgInBpZnkiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjMuMCIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcGlmeS8tL3Bp
ZnktMi4zLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS03UlFhYXNCRHFFbnFXSVNZ
NTl5b3NWTXc2UXc9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAicGlua2llIjog
eworICAgICAgInZlcnNpb24iOiAiMi4wLjQiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL3BpbmtpZS8tL3BpbmtpZS0yLjAuNC50Z3oiLAorICAgICAgImlu
dGVncml0eSI6ICJzaGExLWNsVnJnTStnMUlxWFRvRG5ja2pvRHRUMytIQT0iLAorICAgICAgImRl
diI6IHRydWUKKyAgICB9LAorICAgICJwaW5raWUtcHJvbWlzZSI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjIuMC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9waW5raWUtcHJvbWlzZS8tL3BpbmtpZS1wcm9taXNlLTIuMC4xLnRneiIsCisgICAgICAiaW50
ZWdyaXR5IjogInNoYTEtSVRYVzM2ZWpXTUJwckpzWGgzWW9naWhGRC9vPSIsCisgICAgICAiZGV2
IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgInBpbmtpZSI6ICIyLjAuNCIK
KyAgICAgIH0KKyAgICB9LAorICAgICJwa2ctZGlyIjogeworICAgICAgInZlcnNpb24iOiAiMS4w
LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3BrZy1k
aXIvLS9wa2ctZGlyLTEuMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtZWt0UWlv
MWJzdFlwMUVjRmIvVHB5VEZNODlRPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1
aXJlcyI6IHsKKyAgICAgICAgImZpbmQtdXAiOiAiMS4xLjIiCisgICAgICB9CisgICAgfSwKKyAg
ICAicG9zdGNzcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjUuMi4xNyIsCisgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcG9zdGNzcy8tL3Bvc3Rjc3MtNS4yLjE3
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtejA5WmU0Wk5aY2lra3JMcXZwMXdiSWVj
T0lzPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAg
ImNoYWxrIjogIjEuMS4zIiwKKyAgICAgICAgImpzLWJhc2U2NCI6ICIyLjEuOSIsCisgICAgICAg
ICJzb3VyY2UtbWFwIjogIjAuNS42IiwKKyAgICAgICAgInN1cHBvcnRzLWNvbG9yIjogIjMuMi4z
IgorICAgICAgfQorICAgIH0sCisgICAgInBvc3Rjc3MtY2FsYyI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjUuMy4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9wb3N0Y3NzLWNhbGMvLS9wb3N0Y3NzLWNhbGMtNS4zLjEudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1kN3JueXBLSzJGY1c0djJrTHlZYjk4SFdXMTQ9IiwKKyAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAicG9zdGNzcyI6ICI1LjIuMTciLAor
ICAgICAgICAicG9zdGNzcy1tZXNzYWdlLWhlbHBlcnMiOiAiMi4wLjAiLAorICAgICAgICAicmVk
dWNlLWNzcy1jYWxjIjogIjEuMy4wIgorICAgICAgfQorICAgIH0sCisgICAgInBvc3Rjc3MtY29s
b3JtaW4iOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjIuMiIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcG9zdGNzcy1jb2xvcm1pbi8tL3Bvc3Rjc3MtY29s
b3JtaW4tMi4yLjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1aakZCZlY4T2tKbzlm
c0pySk1pbzBlVDVia3M9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjog
eworICAgICAgICAiY29sb3JtaW4iOiAiMS4xLjIiLAorICAgICAgICAicG9zdGNzcyI6ICI1LjIu
MTciLAorICAgICAgICAicG9zdGNzcy12YWx1ZS1wYXJzZXIiOiAiMy4zLjAiCisgICAgICB9Cisg
ICAgfSwKKyAgICAicG9zdGNzcy1jb252ZXJ0LXZhbHVlcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjog
IjIuNi4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9w
b3N0Y3NzLWNvbnZlcnQtdmFsdWVzLy0vcG9zdGNzcy1jb252ZXJ0LXZhbHVlcy0yLjYuMS50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLXU5aFpQRndmMHVQUnd5SzdrbDNLNk5yazFpMD0i
LAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJwb3N0
Y3NzIjogIjUuMi4xNyIsCisgICAgICAgICJwb3N0Y3NzLXZhbHVlLXBhcnNlciI6ICIzLjMuMCIK
KyAgICAgIH0KKyAgICB9LAorICAgICJwb3N0Y3NzLWRpc2NhcmQtY29tbWVudHMiOiB7CisgICAg
ICAidmVyc2lvbiI6ICIyLjAuNCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvcG9zdGNzcy1kaXNjYXJkLWNvbW1lbnRzLy0vcG9zdGNzcy1kaXNjYXJkLWNv
bW1lbnRzLTIuMC40LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtdnY2Sit2MWJQYXps
ek01UnQydUJVVXZnRGowPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6
IHsKKyAgICAgICAgInBvc3Rjc3MiOiAiNS4yLjE3IgorICAgICAgfQorICAgIH0sCisgICAgInBv
c3Rjc3MtZGlzY2FyZC1kdXBsaWNhdGVzIjogeworICAgICAgInZlcnNpb24iOiAiMi4xLjAiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Bvc3Rjc3MtZGlz
Y2FyZC1kdXBsaWNhdGVzLy0vcG9zdGNzcy1kaXNjYXJkLWR1cGxpY2F0ZXMtMi4xLjAudGd6IiwK
KyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS11YXZ5ZTRpc0dJRllwZXNTcThyaUFtTzVHVEk9IiwK
KyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAicG9zdGNz
cyI6ICI1LjIuMTciCisgICAgICB9CisgICAgfSwKKyAgICAicG9zdGNzcy1kaXNjYXJkLWVtcHR5
IjogeworICAgICAgInZlcnNpb24iOiAiMi4xLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL3Bvc3Rjc3MtZGlzY2FyZC1lbXB0eS8tL3Bvc3Rjc3MtZGlz
Y2FyZC1lbXB0eS0yLjEuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLTByUzluVnp0
WHIyTnl0NTJRTWZYelg5UGtyVT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWly
ZXMiOiB7CisgICAgICAgICJwb3N0Y3NzIjogIjUuMi4xNyIKKyAgICAgIH0KKyAgICB9LAorICAg
ICJwb3N0Y3NzLWRpc2NhcmQtb3ZlcnJpZGRlbiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMS4x
IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wb3N0Y3Nz
LWRpc2NhcmQtb3ZlcnJpZGRlbi8tL3Bvc3Rjc3MtZGlzY2FyZC1vdmVycmlkZGVuLTAuMS4xLnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtaXg2dlZVOW9iN0tJellkTVZXWjdDcU5talZn
PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgInBv
c3Rjc3MiOiAiNS4yLjE3IgorICAgICAgfQorICAgIH0sCisgICAgInBvc3Rjc3MtZGlzY2FyZC11
bnVzZWQiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjIuMyIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcG9zdGNzcy1kaXNjYXJkLXVudXNlZC8tL3Bvc3Rj
c3MtZGlzY2FyZC11bnVzZWQtMi4yLjMudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS12
T01MTE1XUi84WTBNaXRmczBaTGJaTlBSRE09IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
InJlcXVpcmVzIjogeworICAgICAgICAicG9zdGNzcyI6ICI1LjIuMTciLAorICAgICAgICAidW5p
cXMiOiAiMi4wLjAiCisgICAgICB9CisgICAgfSwKKyAgICAicG9zdGNzcy1maWx0ZXItcGx1Z2lu
cyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMC4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wb3N0Y3NzLWZpbHRlci1wbHVnaW5zLy0vcG9zdGNzcy1m
aWx0ZXItcGx1Z2lucy0yLjAuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWJZV0dK
VFRYTmF4Q0RrcUZnRzRmWFVLRzJFdz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVx
dWlyZXMiOiB7CisgICAgICAgICJwb3N0Y3NzIjogIjUuMi4xNyIsCisgICAgICAgICJ1bmlxaWQi
OiAiNC4xLjEiCisgICAgICB9CisgICAgfSwKKyAgICAicG9zdGNzcy1sb2FkLWNvbmZpZyI6IHsK
KyAgICAgICJ2ZXJzaW9uIjogIjEuMi4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9wb3N0Y3NzLWxvYWQtY29uZmlnLy0vcG9zdGNzcy1sb2FkLWNvbmZp
Zy0xLjIuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLVU1NmEvSjNjaGlBU0hyK2Rq
RFp6NE01UTBvbz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7Cisg
ICAgICAgICJjb3NtaWNvbmZpZyI6ICIyLjIuMiIsCisgICAgICAgICJvYmplY3QtYXNzaWduIjog
IjQuMS4xIiwKKyAgICAgICAgInBvc3Rjc3MtbG9hZC1vcHRpb25zIjogIjEuMi4wIiwKKyAgICAg
ICAgInBvc3Rjc3MtbG9hZC1wbHVnaW5zIjogIjIuMy4wIgorICAgICAgfQorICAgIH0sCisgICAg
InBvc3Rjc3MtbG9hZC1vcHRpb25zIjogeworICAgICAgInZlcnNpb24iOiAiMS4yLjAiLAorICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Bvc3Rjc3MtbG9hZC1v
cHRpb25zLy0vcG9zdGNzcy1sb2FkLW9wdGlvbnMtMS4yLjAudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1zSml4VlozYXd0OEV2QXV6ZGZtYVhQNHJiWXc9IiwKKyAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiY29zbWljb25maWciOiAiMi4yLjIi
LAorICAgICAgICAib2JqZWN0LWFzc2lnbiI6ICI0LjEuMSIKKyAgICAgIH0KKyAgICB9LAorICAg
ICJwb3N0Y3NzLWxvYWQtcGx1Z2lucyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMy4wIiwKKyAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wb3N0Y3NzLWxvYWQt
cGx1Z2lucy8tL3Bvc3Rjc3MtbG9hZC1wbHVnaW5zLTIuMy4wLnRneiIsCisgICAgICAiaW50ZWdy
aXR5IjogInNoYTEtZEZkb0VXV1pyS0x3Q2ZyVUpyQUJkUVNkalpJPSIsCisgICAgICAiZGV2Ijog
dHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImNvc21pY29uZmlnIjogIjIuMi4y
IiwKKyAgICAgICAgIm9iamVjdC1hc3NpZ24iOiAiNC4xLjEiCisgICAgICB9CisgICAgfSwKKyAg
ICAicG9zdGNzcy1tZXJnZS1pZGVudHMiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjEuNyIsCisg
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcG9zdGNzcy1tZXJn
ZS1pZGVudHMvLS9wb3N0Y3NzLW1lcmdlLWlkZW50cy0yLjEuNy50Z3oiLAorICAgICAgImludGVn
cml0eSI6ICJzaGExLVRGVXdNVHdJNGRXenUvUFN1OGRING5qdW9uQT0iLAorICAgICAgImRldiI6
IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJoYXMiOiAiMS4wLjEiLAorICAg
ICAgICAicG9zdGNzcyI6ICI1LjIuMTciLAorICAgICAgICAicG9zdGNzcy12YWx1ZS1wYXJzZXIi
OiAiMy4zLjAiCisgICAgICB9CisgICAgfSwKKyAgICAicG9zdGNzcy1tZXJnZS1sb25naGFuZCI6
IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMC4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wb3N0Y3NzLW1lcmdlLWxvbmdoYW5kLy0vcG9zdGNzcy1tZXJn
ZS1sb25naGFuZC0yLjAuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUk5a00wU2V3
cDNtVWtWTXljNUEwb2FUejFsZz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWly
ZXMiOiB7CisgICAgICAgICJwb3N0Y3NzIjogIjUuMi4xNyIKKyAgICAgIH0KKyAgICB9LAorICAg
ICJwb3N0Y3NzLW1lcmdlLXJ1bGVzIjogeworICAgICAgInZlcnNpb24iOiAiMi4xLjIiLAorICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Bvc3Rjc3MtbWVyZ2Ut
cnVsZXMvLS9wb3N0Y3NzLW1lcmdlLXJ1bGVzLTIuMS4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtMGQ5ZCtxZXhyTU8rVlQ4T25oRG9mR0cxOXlFPSIsCisgICAgICAiZGV2IjogdHJ1
ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJyb3dzZXJzbGlzdCI6ICIxLjcuNyIs
CisgICAgICAgICJjYW5pdXNlLWFwaSI6ICIxLjYuMSIsCisgICAgICAgICJwb3N0Y3NzIjogIjUu
Mi4xNyIsCisgICAgICAgICJwb3N0Y3NzLXNlbGVjdG9yLXBhcnNlciI6ICIyLjIuMyIsCisgICAg
ICAgICJ2ZW5kb3JzIjogIjEuMC4xIgorICAgICAgfQorICAgIH0sCisgICAgInBvc3Rjc3MtbWVz
c2FnZS1oZWxwZXJzIjogeworICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAorICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Bvc3Rjc3MtbWVzc2FnZS1oZWxwZXJz
Ly0vcG9zdGNzcy1tZXNzYWdlLWhlbHBlcnMtMi4wLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS1wUEwwK3Jiay9nQXZDdTBBQkhqTjlTK2JwZzQ9IiwKKyAgICAgICJkZXYiOiB0cnVl
CisgICAgfSwKKyAgICAicG9zdGNzcy1taW5pZnktZm9udC12YWx1ZXMiOiB7CisgICAgICAidmVy
c2lvbiI6ICIxLjAuNSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvcG9zdGNzcy1taW5pZnktZm9udC12YWx1ZXMvLS9wb3N0Y3NzLW1pbmlmeS1mb250LXZh
bHVlcy0xLjAuNS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLVMxanR0V1pCNjZmSVIw
cXpVbXl2MTd2ZXkyaz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7
CisgICAgICAgICJvYmplY3QtYXNzaWduIjogIjQuMS4xIiwKKyAgICAgICAgInBvc3Rjc3MiOiAi
NS4yLjE3IiwKKyAgICAgICAgInBvc3Rjc3MtdmFsdWUtcGFyc2VyIjogIjMuMy4wIgorICAgICAg
fQorICAgIH0sCisgICAgInBvc3Rjc3MtbWluaWZ5LWdyYWRpZW50cyI6IHsKKyAgICAgICJ2ZXJz
aW9uIjogIjEuMC41IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9wb3N0Y3NzLW1pbmlmeS1ncmFkaWVudHMvLS9wb3N0Y3NzLW1pbmlmeS1ncmFkaWVudHMt
MS4wLjUudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1YYjJoRTNOd1A0UFB0S1BxT0lI
WTExLzE1dUU9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAg
ICAgICAicG9zdGNzcyI6ICI1LjIuMTciLAorICAgICAgICAicG9zdGNzcy12YWx1ZS1wYXJzZXIi
OiAiMy4zLjAiCisgICAgICB9CisgICAgfSwKKyAgICAicG9zdGNzcy1taW5pZnktcGFyYW1zIjog
eworICAgICAgInZlcnNpb24iOiAiMS4yLjIiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL3Bvc3Rjc3MtbWluaWZ5LXBhcmFtcy8tL3Bvc3Rjc3MtbWluaWZ5
LXBhcmFtcy0xLjIuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXJTemdjVGM3bERz
OWt3by9wWm8xakNqVzhmTT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMi
OiB7CisgICAgICAgICJhbHBoYW51bS1zb3J0IjogIjEuMC4yIiwKKyAgICAgICAgInBvc3Rjc3Mi
OiAiNS4yLjE3IiwKKyAgICAgICAgInBvc3Rjc3MtdmFsdWUtcGFyc2VyIjogIjMuMy4wIiwKKyAg
ICAgICAgInVuaXFzIjogIjIuMC4wIgorICAgICAgfQorICAgIH0sCisgICAgInBvc3Rjc3MtbWlu
aWZ5LXNlbGVjdG9ycyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMS4xIiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wb3N0Y3NzLW1pbmlmeS1zZWxlY3Rv
cnMvLS9wb3N0Y3NzLW1pbmlmeS1zZWxlY3RvcnMtMi4xLjEudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1zc2FwakFCeXo1RzVNdEdrbGxDQkZERVhOYjg9IiwKKyAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYWxwaGFudW0tc29ydCI6ICIxLjAu
MiIsCisgICAgICAgICJoYXMiOiAiMS4wLjEiLAorICAgICAgICAicG9zdGNzcyI6ICI1LjIuMTci
LAorICAgICAgICAicG9zdGNzcy1zZWxlY3Rvci1wYXJzZXIiOiAiMi4yLjMiCisgICAgICB9Cisg
ICAgfSwKKyAgICAicG9zdGNzcy1tb2R1bGVzLWV4dHJhY3QtaW1wb3J0cyI6IHsKKyAgICAgICJ2
ZXJzaW9uIjogIjEuMS4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9wb3N0Y3NzLW1vZHVsZXMtZXh0cmFjdC1pbXBvcnRzLy0vcG9zdGNzcy1tb2R1bGVz
LWV4dHJhY3QtaW1wb3J0cy0xLjEuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXRo
VEpjZ3ZtZ1c2dTQxK3pwZnFoMjZhZ1hkcz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAi
cmVxdWlyZXMiOiB7CisgICAgICAgICJwb3N0Y3NzIjogIjYuMC45IgorICAgICAgfSwKKyAgICAg
ICJkZXBlbmRlbmNpZXMiOiB7CisgICAgICAgICJhbnNpLXN0eWxlcyI6IHsKKyAgICAgICAgICAi
dmVyc2lvbiI6ICIzLjIuMCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL2Fuc2ktc3R5bGVzLy0vYW5zaS1zdHlsZXMtMy4yLjAudGd6IiwKKyAgICAg
ICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1OblNPbU1FWXRWUjJKVk1JR1R6eW5Sa2theHRpcTF4
bkZCY2RRRC9Ebk5DWVBvRVBzVkpoTTk4QkR5YW9OT1FJaTdwNG9rZGkzRTI3ZU43R1Fic1V1Zz09
IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAg
ICAgICAgICAiY29sb3ItY29udmVydCI6ICIxLjkuMCIKKyAgICAgICAgICB9CisgICAgICAgIH0s
CisgICAgICAgICJjaGFsayI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIyLjEuMCIsCisgICAg
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2NoYWxrLy0vY2hh
bGstMi4xLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1MVUhHUy9kZ2U0
dWpiWE1Kcm5paFlNY0w0QW9Pd2VHbnc5VHAza1F1cXkxS3g1YzFxS2pxdk1KWjZuVkpQTVdKdEtD
VE43MlpvZ0gzb2VTTzlnOXJYUT09IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAg
ICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiYW5zaS1zdHlsZXMiOiAiMy4yLjAiLAorICAg
ICAgICAgICAgImVzY2FwZS1zdHJpbmctcmVnZXhwIjogIjEuMC41IiwKKyAgICAgICAgICAgICJz
dXBwb3J0cy1jb2xvciI6ICI0LjIuMSIKKyAgICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAg
ICJoYXMtZmxhZyI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIyLjAuMCIsCisgICAgICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2hhcy1mbGFnLy0vaGFzLWZs
YWctMi4wLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtNkNCNjhjeDdNTlJH
ekhDM05MWG92aGo0alZFPSIsCisgICAgICAgICAgImRldiI6IHRydWUKKyAgICAgICAgfSwKKyAg
ICAgICAgInBvc3Rjc3MiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiNi4wLjkiLAorICAgICAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wb3N0Y3NzLy0vcG9z
dGNzcy02LjAuOS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLWJCRTJBSE5F
QmhGMjNUZkVUNkFBL2xGUDhhaCtxSE9ab0ZKRWZsRkcrSGd2VkxkVG1NT3JvY3gvNExWVkRJbjN3
NmpVc3N3MXEyRXhrMWNjOVVPSTh3PT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
ICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJjaGFsayI6ICIyLjEuMCIsCisgICAgICAg
ICAgICAic291cmNlLW1hcCI6ICIwLjUuNiIsCisgICAgICAgICAgICAic3VwcG9ydHMtY29sb3Ii
OiAiNC4yLjEiCisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAic3VwcG9ydHMtY29s
b3IiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiNC4yLjEiLAorICAgICAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zdXBwb3J0cy1jb2xvci8tL3N1cHBvcnRz
LWNvbG9yLTQuMi4xLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGE1MTItcXh6WXNv
YjN5djZVK3hNelBydjE3MHk4QXdHUDdpNzRnK3BiaXhDZkQ2cmdzbzhCc2NMVDJxWEl1ejZUcE9h
aUpaM21GZ1Q1TzlseVQ5bk1VNExmYUE9PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAg
ICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImhhcy1mbGFnIjogIjIuMC4wIgorICAg
ICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAgInBvc3Rjc3MtbW9kdWxl
cy1sb2NhbC1ieS1kZWZhdWx0IjogeworICAgICAgInZlcnNpb24iOiAiMS4yLjAiLAorICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Bvc3Rjc3MtbW9kdWxlcy1s
b2NhbC1ieS1kZWZhdWx0Ly0vcG9zdGNzcy1tb2R1bGVzLWxvY2FsLWJ5LWRlZmF1bHQtMS4yLjAu
dGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS05OWdNT1l4YU9UK25sa1JtdlJsUUNuMWh3
R2s9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAi
Y3NzLXNlbGVjdG9yLXRva2VuaXplciI6ICIwLjcuMCIsCisgICAgICAgICJwb3N0Y3NzIjogIjYu
MC45IgorICAgICAgfSwKKyAgICAgICJkZXBlbmRlbmNpZXMiOiB7CisgICAgICAgICJhbnNpLXN0
eWxlcyI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIzLjIuMCIsCisgICAgICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Fuc2ktc3R5bGVzLy0vYW5zaS1zdHls
ZXMtMy4yLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1OblNPbU1FWXRW
UjJKVk1JR1R6eW5Sa2theHRpcTF4bkZCY2RRRC9Ebk5DWVBvRVBzVkpoTTk4QkR5YW9OT1FJaTdw
NG9rZGkzRTI3ZU43R1Fic1V1Zz09IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAg
ICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiY29sb3ItY29udmVydCI6ICIxLjkuMCIKKyAg
ICAgICAgICB9CisgICAgICAgIH0sCisgICAgICAgICJjaGFsayI6IHsKKyAgICAgICAgICAidmVy
c2lvbiI6ICIyLjEuMCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL2NoYWxrLy0vY2hhbGstMi4xLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5
IjogInNoYTUxMi1MVUhHUy9kZ2U0dWpiWE1Kcm5paFlNY0w0QW9Pd2VHbnc5VHAza1F1cXkxS3g1
YzFxS2pxdk1KWjZuVkpQTVdKdEtDVE43MlpvZ0gzb2VTTzlnOXJYUT09IiwKKyAgICAgICAgICAi
ZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiYW5zaS1z
dHlsZXMiOiAiMy4yLjAiLAorICAgICAgICAgICAgImVzY2FwZS1zdHJpbmctcmVnZXhwIjogIjEu
MC41IiwKKyAgICAgICAgICAgICJzdXBwb3J0cy1jb2xvciI6ICI0LjIuMSIKKyAgICAgICAgICB9
CisgICAgICAgIH0sCisgICAgICAgICJoYXMtZmxhZyI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6
ICIyLjAuMCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL2hhcy1mbGFnLy0vaGFzLWZsYWctMi4wLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtNkNCNjhjeDdNTlJHekhDM05MWG92aGo0alZFPSIsCisgICAgICAgICAgImRldiI6
IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgInBvc3Rjc3MiOiB7CisgICAgICAgICAgInZlcnNp
b24iOiAiNi4wLjkiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy9wb3N0Y3NzLy0vcG9zdGNzcy02LjAuOS50Z3oiLAorICAgICAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhNTEyLWJCRTJBSE5FQmhGMjNUZkVUNkFBL2xGUDhhaCtxSE9ab0ZKRWZsRkcrSGd2
VkxkVG1NT3JvY3gvNExWVkRJbjN3NmpVc3N3MXEyRXhrMWNjOVVPSTh3PT0iLAorICAgICAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJjaGFs
ayI6ICIyLjEuMCIsCisgICAgICAgICAgICAic291cmNlLW1hcCI6ICIwLjUuNiIsCisgICAgICAg
ICAgICAic3VwcG9ydHMtY29sb3IiOiAiNC4yLjEiCisgICAgICAgICAgfQorICAgICAgICB9LAor
ICAgICAgICAic3VwcG9ydHMtY29sb3IiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiNC4yLjEi
LAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zdXBw
b3J0cy1jb2xvci8tL3N1cHBvcnRzLWNvbG9yLTQuMi4xLnRneiIsCisgICAgICAgICAgImludGVn
cml0eSI6ICJzaGE1MTItcXh6WXNvYjN5djZVK3hNelBydjE3MHk4QXdHUDdpNzRnK3BiaXhDZkQ2
cmdzbzhCc2NMVDJxWEl1ejZUcE9haUpaM21GZ1Q1TzlseVQ5bk1VNExmYUE9PSIsCisgICAgICAg
ICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImhh
cy1mbGFnIjogIjIuMC4wIgorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorICAgIH0s
CisgICAgInBvc3Rjc3MtbW9kdWxlcy1zY29wZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMS4w
IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wb3N0Y3Nz
LW1vZHVsZXMtc2NvcGUvLS9wb3N0Y3NzLW1vZHVsZXMtc2NvcGUtMS4xLjAudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS0xdXBrbVV4NStYdGlweXRDYjc1Z1ZxR1V1NUE9IiwKKyAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiY3NzLXNlbGVjdG9y
LXRva2VuaXplciI6ICIwLjcuMCIsCisgICAgICAgICJwb3N0Y3NzIjogIjYuMC45IgorICAgICAg
fSwKKyAgICAgICJkZXBlbmRlbmNpZXMiOiB7CisgICAgICAgICJhbnNpLXN0eWxlcyI6IHsKKyAg
ICAgICAgICAidmVyc2lvbiI6ICIzLjIuMCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL2Fuc2ktc3R5bGVzLy0vYW5zaS1zdHlsZXMtMy4yLjAudGd6
IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1OblNPbU1FWXRWUjJKVk1JR1R6eW5S
a2theHRpcTF4bkZCY2RRRC9Ebk5DWVBvRVBzVkpoTTk4QkR5YW9OT1FJaTdwNG9rZGkzRTI3ZU43
R1Fic1V1Zz09IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMi
OiB7CisgICAgICAgICAgICAiY29sb3ItY29udmVydCI6ICIxLjkuMCIKKyAgICAgICAgICB9Cisg
ICAgICAgIH0sCisgICAgICAgICJjaGFsayI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIyLjEu
MCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2No
YWxrLy0vY2hhbGstMi4xLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1M
VUhHUy9kZ2U0dWpiWE1Kcm5paFlNY0w0QW9Pd2VHbnc5VHAza1F1cXkxS3g1YzFxS2pxdk1KWjZu
VkpQTVdKdEtDVE43MlpvZ0gzb2VTTzlnOXJYUT09IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwK
KyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiYW5zaS1zdHlsZXMiOiAiMy4y
LjAiLAorICAgICAgICAgICAgImVzY2FwZS1zdHJpbmctcmVnZXhwIjogIjEuMC41IiwKKyAgICAg
ICAgICAgICJzdXBwb3J0cy1jb2xvciI6ICI0LjIuMSIKKyAgICAgICAgICB9CisgICAgICAgIH0s
CisgICAgICAgICJoYXMtZmxhZyI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIyLjAuMCIsCisg
ICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2hhcy1mbGFn
Ly0vaGFzLWZsYWctMi4wLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtNkNC
NjhjeDdNTlJHekhDM05MWG92aGo0alZFPSIsCisgICAgICAgICAgImRldiI6IHRydWUKKyAgICAg
ICAgfSwKKyAgICAgICAgInBvc3Rjc3MiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiNi4wLjki
LAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wb3N0
Y3NzLy0vcG9zdGNzcy02LjAuOS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEy
LWJCRTJBSE5FQmhGMjNUZkVUNkFBL2xGUDhhaCtxSE9ab0ZKRWZsRkcrSGd2VkxkVG1NT3JvY3gv
NExWVkRJbjN3NmpVc3N3MXEyRXhrMWNjOVVPSTh3PT0iLAorICAgICAgICAgICJkZXYiOiB0cnVl
LAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJjaGFsayI6ICIyLjEuMCIs
CisgICAgICAgICAgICAic291cmNlLW1hcCI6ICIwLjUuNiIsCisgICAgICAgICAgICAic3VwcG9y
dHMtY29sb3IiOiAiNC4yLjEiCisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAic3Vw
cG9ydHMtY29sb3IiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiNC4yLjEiLAorICAgICAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zdXBwb3J0cy1jb2xvci8t
L3N1cHBvcnRzLWNvbG9yLTQuMi4xLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGE1
MTItcXh6WXNvYjN5djZVK3hNelBydjE3MHk4QXdHUDdpNzRnK3BiaXhDZkQ2cmdzbzhCc2NMVDJx
WEl1ejZUcE9haUpaM21GZ1Q1TzlseVQ5bk1VNExmYUE9PSIsCisgICAgICAgICAgImRldiI6IHRy
dWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgImhhcy1mbGFnIjogIjIu
MC4wIgorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAgInBvc3Rj
c3MtbW9kdWxlcy12YWx1ZXMiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjMuMCIsCisgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcG9zdGNzcy1tb2R1bGVzLXZh
bHVlcy8tL3Bvc3Rjc3MtbW9kdWxlcy12YWx1ZXMtMS4zLjAudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS03UCtwMStHU1VZT0o5Q3JRNkQ5eXJzUlc2aUE9IiwKKyAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiaWNzcy1yZXBsYWNlLXN5bWJvbHMi
OiAiMS4xLjAiLAorICAgICAgICAicG9zdGNzcyI6ICI2LjAuOSIKKyAgICAgIH0sCisgICAgICAi
ZGVwZW5kZW5jaWVzIjogeworICAgICAgICAiYW5zaS1zdHlsZXMiOiB7CisgICAgICAgICAgInZl
cnNpb24iOiAiMy4yLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy9hbnNpLXN0eWxlcy8tL2Fuc2ktc3R5bGVzLTMuMi4wLnRneiIsCisgICAgICAg
ICAgImludGVncml0eSI6ICJzaGE1MTItTm5TT21NRVl0VlIySlZNSUdUenluUmtrYXh0aXExeG5G
QmNkUUQvRG5OQ1lQb0VQc1ZKaE05OEJEeWFvTk9RSWk3cDRva2RpM0UyN2VON0dRYnNVdWc9PSIs
CisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAg
ICAgICAgImNvbG9yLWNvbnZlcnQiOiAiMS45LjAiCisgICAgICAgICAgfQorICAgICAgICB9LAor
ICAgICAgICAiY2hhbGsiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMi4xLjAiLAorICAgICAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jaGFsay8tL2NoYWxr
LTIuMS4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGE1MTItTFVIR1MvZGdlNHVq
YlhNSnJuaWhZTWNMNEFvT3dlR253OVRwM2tRdXF5MUt4NWMxcUtqcXZNSlo2blZKUE1XSnRLQ1RO
NzJab2dIM29lU085ZzlyWFE9PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAg
InJlcXVpcmVzIjogeworICAgICAgICAgICAgImFuc2ktc3R5bGVzIjogIjMuMi4wIiwKKyAgICAg
ICAgICAgICJlc2NhcGUtc3RyaW5nLXJlZ2V4cCI6ICIxLjAuNSIsCisgICAgICAgICAgICAic3Vw
cG9ydHMtY29sb3IiOiAiNC4yLjEiCisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAi
aGFzLWZsYWciOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAorICAgICAgICAgICJy
ZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9oYXMtZmxhZy8tL2hhcy1mbGFn
LTIuMC4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLTZDQjY4Y3g3TU5SR3pI
QzNOTFhvdmhqNGpWRT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisgICAg
ICAgICJwb3N0Y3NzIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjYuMC45IiwKKyAgICAgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcG9zdGNzcy8tL3Bvc3Rj
c3MtNi4wLjkudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1iQkUyQUhORUJo
RjIzVGZFVDZBQS9sRlA4YWgrcUhPWm9GSkVmbEZHK0hndlZMZFRtTU9yb2N4LzRMVlZESW4zdzZq
VXNzdzFxMkV4azFjYzlVT0k4dz09IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAg
ICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiY2hhbGsiOiAiMi4xLjAiLAorICAgICAgICAg
ICAgInNvdXJjZS1tYXAiOiAiMC41LjYiLAorICAgICAgICAgICAgInN1cHBvcnRzLWNvbG9yIjog
IjQuMi4xIgorICAgICAgICAgIH0KKyAgICAgICAgfSwKKyAgICAgICAgInN1cHBvcnRzLWNvbG9y
IjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjQuMi4xIiwKKyAgICAgICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc3VwcG9ydHMtY29sb3IvLS9zdXBwb3J0cy1j
b2xvci00LjIuMS50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLXF4ellzb2Iz
eXY2VSt4TXpQcnYxNzB5OEF3R1A3aTc0ZytwYml4Q2ZENnJnc284QnNjTFQycVhJdXo2VHBPYWlK
WjNtRmdUNU85bHlUOW5NVTRMZmFBPT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
ICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJoYXMtZmxhZyI6ICIyLjAuMCIKKyAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9LAorICAgICJwb3N0Y3NzLW5vcm1hbGl6
ZS1jaGFyc2V0IjogeworICAgICAgInZlcnNpb24iOiAiMS4xLjEiLAorICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Bvc3Rjc3Mtbm9ybWFsaXplLWNoYXJzZXQv
LS9wb3N0Y3NzLW5vcm1hbGl6ZS1jaGFyc2V0LTEuMS4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtNzU3bkVoTFgvbldjZU8wV0wySHRZclhMay9FPSIsCisgICAgICAiZGV2IjogdHJ1
ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgInBvc3Rjc3MiOiAiNS4yLjE3IgorICAg
ICAgfQorICAgIH0sCisgICAgInBvc3Rjc3Mtbm9ybWFsaXplLXVybCI6IHsKKyAgICAgICJ2ZXJz
aW9uIjogIjMuMC44IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy9wb3N0Y3NzLW5vcm1hbGl6ZS11cmwvLS9wb3N0Y3NzLW5vcm1hbGl6ZS11cmwtMy4wLjgu
dGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1FSTkwcy9MODJ2aVJvditqNmtXU0o1L0hn
aUk9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAi
aXMtYWJzb2x1dGUtdXJsIjogIjIuMS4wIiwKKyAgICAgICAgIm5vcm1hbGl6ZS11cmwiOiAiMS45
LjEiLAorICAgICAgICAicG9zdGNzcyI6ICI1LjIuMTciLAorICAgICAgICAicG9zdGNzcy12YWx1
ZS1wYXJzZXIiOiAiMy4zLjAiCisgICAgICB9CisgICAgfSwKKyAgICAicG9zdGNzcy1vcmRlcmVk
LXZhbHVlcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMi4zIiwKKyAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wb3N0Y3NzLW9yZGVyZWQtdmFsdWVzLy0vcG9z
dGNzcy1vcmRlcmVkLXZhbHVlcy0yLjIuMy50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGEx
LTdzYkNwbnRzUVNxTnNnUXVkLzZOcEQrVndSMD0iLAorICAgICAgImRldiI6IHRydWUsCisgICAg
ICAicmVxdWlyZXMiOiB7CisgICAgICAgICJwb3N0Y3NzIjogIjUuMi4xNyIsCisgICAgICAgICJw
b3N0Y3NzLXZhbHVlLXBhcnNlciI6ICIzLjMuMCIKKyAgICAgIH0KKyAgICB9LAorICAgICJwb3N0
Y3NzLXJlZHVjZS1pZGVudHMiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjQuMCIsCisgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcG9zdGNzcy1yZWR1Y2UtaWRl
bnRzLy0vcG9zdGNzcy1yZWR1Y2UtaWRlbnRzLTIuNC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtd3NiU0RNbFlLRTlxdjc1ajkyQ2I5QWtGbXRNPSIsCisgICAgICAiZGV2IjogdHJ1
ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgInBvc3Rjc3MiOiAiNS4yLjE3IiwKKyAg
ICAgICAgInBvc3Rjc3MtdmFsdWUtcGFyc2VyIjogIjMuMy4wIgorICAgICAgfQorICAgIH0sCisg
ICAgInBvc3Rjc3MtcmVkdWNlLWluaXRpYWwiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMSIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcG9zdGNzcy1y
ZWR1Y2UtaW5pdGlhbC8tL3Bvc3Rjc3MtcmVkdWNlLWluaXRpYWwtMS4wLjEudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1hUGdHbGZCRjBJSmpxSG10SkEzNDNXVDJST289IiwKKyAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAicG9zdGNzcyI6ICI1
LjIuMTciCisgICAgICB9CisgICAgfSwKKyAgICAicG9zdGNzcy1yZWR1Y2UtdHJhbnNmb3JtcyI6
IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC40IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wb3N0Y3NzLXJlZHVjZS10cmFuc2Zvcm1zLy0vcG9zdGNzcy1y
ZWR1Y2UtdHJhbnNmb3Jtcy0xLjAuNC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLS8z
YjAyQ0VrTjdNY0tZcEMwdUZFUUNWM0d1RT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAi
cmVxdWlyZXMiOiB7CisgICAgICAgICJoYXMiOiAiMS4wLjEiLAorICAgICAgICAicG9zdGNzcyI6
ICI1LjIuMTciLAorICAgICAgICAicG9zdGNzcy12YWx1ZS1wYXJzZXIiOiAiMy4zLjAiCisgICAg
ICB9CisgICAgfSwKKyAgICAicG9zdGNzcy1zZWxlY3Rvci1wYXJzZXIiOiB7CisgICAgICAidmVy
c2lvbiI6ICIyLjIuMyIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvcG9zdGNzcy1zZWxlY3Rvci1wYXJzZXIvLS9wb3N0Y3NzLXNlbGVjdG9yLXBhcnNlci0y
LjIuMy50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLStVTjNpR0JzUEpyTzRXLytqWXNX
S1g4bnU1QT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAg
ICAgICJmbGF0dGVuIjogIjEuMC4yIiwKKyAgICAgICAgImluZGV4ZXMtb2YiOiAiMS4wLjEiLAor
ICAgICAgICAidW5pcSI6ICIxLjAuMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJwb3N0Y3NzLXN2
Z28iOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjEuNiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcG9zdGNzcy1zdmdvLy0vcG9zdGNzcy1zdmdvLTIuMS42
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtdHQ4WXFtRTdabTRUUHdpdHRTR2NKb1Nz
RUkwPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAg
ImlzLXN2ZyI6ICIyLjEuMCIsCisgICAgICAgICJwb3N0Y3NzIjogIjUuMi4xNyIsCisgICAgICAg
ICJwb3N0Y3NzLXZhbHVlLXBhcnNlciI6ICIzLjMuMCIsCisgICAgICAgICJzdmdvIjogIjAuNy4y
IgorICAgICAgfQorICAgIH0sCisgICAgInBvc3Rjc3MtdW5pcXVlLXNlbGVjdG9ycyI6IHsKKyAg
ICAgICJ2ZXJzaW9uIjogIjIuMC4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lz
dHJ5Lm5wbWpzLm9yZy9wb3N0Y3NzLXVuaXF1ZS1zZWxlY3RvcnMvLS9wb3N0Y3NzLXVuaXF1ZS1z
ZWxlY3RvcnMtMi4wLjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1tQjFYMHAzY3N6
NTdIZjRmMUR1R1Nma3p5aDA9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVz
IjogeworICAgICAgICAiYWxwaGFudW0tc29ydCI6ICIxLjAuMiIsCisgICAgICAgICJwb3N0Y3Nz
IjogIjUuMi4xNyIsCisgICAgICAgICJ1bmlxcyI6ICIyLjAuMCIKKyAgICAgIH0KKyAgICB9LAor
ICAgICJwb3N0Y3NzLXZhbHVlLXBhcnNlciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjMuMy4wIiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wb3N0Y3NzLXZh
bHVlLXBhcnNlci8tL3Bvc3Rjc3MtdmFsdWUtcGFyc2VyLTMuMy4wLnRneiIsCisgICAgICAiaW50
ZWdyaXR5IjogInNoYTEtaC9PUG54ajNkS1NyVElvakwxeGM2SWNxblJVPSIsCisgICAgICAiZGV2
IjogdHJ1ZQorICAgIH0sCisgICAgInBvc3Rjc3MtemluZGV4IjogeworICAgICAgInZlcnNpb24i
OiAiMi4yLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L3Bvc3Rjc3MtemluZGV4Ly0vcG9zdGNzcy16aW5kZXgtMi4yLjAudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS0waENkM0FWYmthOW4vRXl6c0NXVVpqblNyeUk9IiwKKyAgICAgICJkZXYi
OiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiaGFzIjogIjEuMC4xIiwKKyAg
ICAgICAgInBvc3Rjc3MiOiAiNS4yLjE3IiwKKyAgICAgICAgInVuaXFzIjogIjIuMC4wIgorICAg
ICAgfQorICAgIH0sCisgICAgInByZXBlbmQtaHR0cCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEu
MC40IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wcmVw
ZW5kLWh0dHAvLS9wcmVwZW5kLWh0dHAtMS4wLjQudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS0xUFJXS3d6amFXNUJyRkxRNEFMbGVtTmR4dHc9IiwKKyAgICAgICJkZXYiOiB0cnVlCisg
ICAgfSwKKyAgICAicHJlc2VydmUiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjIuMCIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcHJlc2VydmUvLS9wcmVz
ZXJ2ZS0wLjIuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWdWN1I5dXZHV1NiNFpi
TVF3SEU3eXpNVnprcz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJwcmV0dHkt
ZXJyb3IiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjEuMSIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcHJldHR5LWVycm9yLy0vcHJldHR5LWVycm9yLTIu
MS4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtWDArSHlQa2VXdVB6dW9lclRQWGdP
eG9YOGFNPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAg
ICAgInJlbmRlcmtpZCI6ICIyLjAuMSIsCisgICAgICAgICJ1dGlsYSI6ICIwLjQuMCIKKyAgICAg
IH0KKyAgICB9LAorICAgICJwcml2YXRlIjogeworICAgICAgInZlcnNpb24iOiAiMC4xLjciLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3ByaXZhdGUvLS9w
cml2YXRlLTAuMS43LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtYU01ZWloN3dvanUx
Y013b1UzdFRNcXVtUHZFPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInByb2Nl
c3MiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjExLjEwIiwKKyAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wcm9jZXNzLy0vcHJvY2Vzcy0wLjExLjEwLnRneiIs
CisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtY3pJd0RvUUJZYjJqNXBvZEhaR24xTHdXOFlJPSIs
CisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInByb2Nlc3MtbmV4dGljay1hcmdzIjog
eworICAgICAgInZlcnNpb24iOiAiMS4wLjciLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL3Byb2Nlc3MtbmV4dGljay1hcmdzLy0vcHJvY2Vzcy1uZXh0aWNr
LWFyZ3MtMS4wLjcudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1GUTRndDFaWkN0UDVF
SlB5V2s4cTJML3pDNk09IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAicHJvdG8t
bGlzdCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMi40IiwKKyAgICAgICJyZXNvbHZlZCI6ICJo
dHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wcm90by1saXN0Ly0vcHJvdG8tbGlzdC0xLjIuNC50
Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUlTMWIvaE1ZTUdwQ0QyUUN1T0p2ODVaSHFF
az0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJwcm94eS1hZGRyIjogeworICAg
ICAgInZlcnNpb24iOiAiMS4xLjUiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL3Byb3h5LWFkZHIvLS9wcm94eS1hZGRyLTEuMS41LnRneiIsCisgICAgICAi
aW50ZWdyaXR5IjogInNoYTEtY2NEdU94QXQ0L0lDODdaUFlJMFhQOHVocVJnPSIsCisgICAgICAi
ZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImZvcndhcmRlZCI6ICIw
LjEuMCIsCisgICAgICAgICJpcGFkZHIuanMiOiAiMS40LjAiCisgICAgICB9CisgICAgfSwKKyAg
ICAicHJyIjogeworICAgICAgInZlcnNpb24iOiAiMC4wLjAiLAorICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Byci8tL3Byci0wLjAuMC50Z3oiLAorICAgICAg
ImludGVncml0eSI6ICJzaGExLUdvUzRXUWd5VlFGQkdGUFFDQjdqK29iaWttbz0iLAorICAgICAg
ImRldiI6IHRydWUKKyAgICB9LAorICAgICJwc2V1ZG9tYXAiOiB7CisgICAgICAidmVyc2lvbiI6
ICIxLjAuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
cHNldWRvbWFwLy0vcHNldWRvbWFwLTEuMC4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNo
YTEtOEZLaWphY09ZWWtYN3dxS3cwd2E1YWFDaHJNPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAg
IH0sCisgICAgInB1YmxpYy1lbmNyeXB0IjogeworICAgICAgInZlcnNpb24iOiAiNC4wLjAiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3B1YmxpYy1lbmNy
eXB0Ly0vcHVibGljLWVuY3J5cHQtNC4wLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1PZmFaODZSbFlOMWV1c3ZLYVR5dmZHWEJqTVk9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAg
ICAgInJlcXVpcmVzIjogeworICAgICAgICAiYm4uanMiOiAiNC4xMS44IiwKKyAgICAgICAgImJy
b3dzZXJpZnktcnNhIjogIjQuMC4xIiwKKyAgICAgICAgImNyZWF0ZS1oYXNoIjogIjEuMS4zIiwK
KyAgICAgICAgInBhcnNlLWFzbjEiOiAiNS4xLjAiLAorICAgICAgICAicmFuZG9tYnl0ZXMiOiAi
Mi4wLjUiCisgICAgICB9CisgICAgfSwKKyAgICAicHVueWNvZGUiOiB7CisgICAgICAidmVyc2lv
biI6ICIxLjQuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvcHVueWNvZGUvLS9wdW55Y29kZS0xLjQuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLXdOV21PeWNZZ0FyWTRlc1BwU2FjaE4xQmhGND0iLAorICAgICAgImRldiI6IHRydWUKKyAg
ICB9LAorICAgICJxIjogeworICAgICAgInZlcnNpb24iOiAiMS41LjAiLAorICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3EvLS9xLTEuNS4wLnRneiIsCisgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtM1FHNnlkQnRNT2J5R2E3TGdsUHVucjNEQ1BFPSIsCisgICAg
ICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInFzIjogeworICAgICAgInZlcnNpb24iOiAiNi41
LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3FzLy0v
cXMtNi41LjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLWZqVkZqVzl5aHFNaFZH
d1JFeENYTGhKS3JMbGtZU2F4TldkeWM5cm1IbHJWWmJrMzVZSEgzMTJkRmQ3MTkxdVFlWGtJM21L
TFpUSWJTdkllRndGZW1nPT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJxdWVy
eS1zdHJpbmciOiB7CisgICAgICAidmVyc2lvbiI6ICI0LjMuNCIsCisgICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcXVlcnktc3RyaW5nLy0vcXVlcnktc3RyaW5n
LTQuMy40LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtdTdhVHVjcVJYQ01sRmJJb3Nh
QXJZSkJEMitzPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAg
ICAgICAgIm9iamVjdC1hc3NpZ24iOiAiNC4xLjEiLAorICAgICAgICAic3RyaWN0LXVyaS1lbmNv
ZGUiOiAiMS4xLjAiCisgICAgICB9CisgICAgfSwKKyAgICAicXVlcnlzdHJpbmciOiB7CisgICAg
ICAidmVyc2lvbiI6ICIwLjIuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvcXVlcnlzdHJpbmcvLS9xdWVyeXN0cmluZy0wLjIuMC50Z3oiLAorICAgICAg
ImludGVncml0eSI6ICJzaGExLXNnbUVrZ083SmQrQ0RhZFc1MGNBV0hoU0ZpQT0iLAorICAgICAg
ImRldiI6IHRydWUKKyAgICB9LAorICAgICJxdWVyeXN0cmluZy1lczMiOiB7CisgICAgICAidmVy
c2lvbiI6ICIwLjIuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvcXVlcnlzdHJpbmctZXMzLy0vcXVlcnlzdHJpbmctZXMzLTAuMi4xLnRneiIsCisgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtbnNZZmVRU1lkWEI5YVVGRmx2MlFlazF4SG5NPSIsCisgICAg
ICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInJhbmRvbWF0aWMiOiB7CisgICAgICAidmVyc2lv
biI6ICIxLjEuNyIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvcmFuZG9tYXRpYy8tL3JhbmRvbWF0aWMtMS4xLjcudGd6IiwKKyAgICAgICJpbnRlZ3JpdHki
OiAic2hhNTEyLUQ1SlVqUHlKYmFKRGt1QWF6cFZuU2ZWa0xscGVPM3dEbFBST1RNTEdLRzF6TUZO
RlJncmNpS28xbHR6L0F6TlRrcUUwSHpEeDY1NVFPTDUxTjA2aG93PT0iLAorICAgICAgImRldiI6
IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJpcy1udW1iZXIiOiAiMy4wLjAi
LAorICAgICAgICAia2luZC1vZiI6ICI0LjAuMCIKKyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5j
aWVzIjogeworICAgICAgICAiaXMtbnVtYmVyIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjMu
MC4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
aXMtbnVtYmVyLy0vaXMtbnVtYmVyLTMuMC4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6
ICJzaGExLUpQMWlBYVI0TFBVRlljZ1FKMnI4ZlJMWEVaVT0iLAorICAgICAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJraW5kLW9mIjogIjMu
Mi4yIgorICAgICAgICAgIH0sCisgICAgICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAg
ICAgICJraW5kLW9mIjogeworICAgICAgICAgICAgICAidmVyc2lvbiI6ICIzLjIuMiIsCisgICAg
ICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9raW5kLW9m
Ly0va2luZC1vZi0zLjIuMi50Z3oiLAorICAgICAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
TWVvaHB6UzZ1YnV3OHlSbTJKT3VwUjVLUEdRPSIsCisgICAgICAgICAgICAgICJkZXYiOiB0cnVl
LAorICAgICAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAgICAgImlzLWJ1ZmZl
ciI6ICIxLjEuNSIKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgIH0K
KyAgICAgICAgfSwKKyAgICAgICAgImtpbmQtb2YiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAi
NC4wLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9raW5kLW9mLy0va2luZC1vZi00LjAuMC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1JSUU5ODljU2tvc2djM2hwR2tVR2I2NXkzVmM9IiwKKyAgICAgICAgICAiZGV2IjogdHJ1
ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiaXMtYnVmZmVyIjogIjEu
MS41IgorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAgInJhbmRv
bWJ5dGVzIjogeworICAgICAgInZlcnNpb24iOiAiMi4wLjUiLAorICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3JhbmRvbWJ5dGVzLy0vcmFuZG9tYnl0ZXMtMi4w
LjUudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLThUN1puMUFoTXNRL0hJMVNqY0Nm
VC90NGlpM2VBcWNvM3lPY1N6UzRtb3pzT3o2OWxITHNvTVhtRjluWmduRmFuWXNjblNsVVNnczh1
WnlLenBFNmtnPT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7Cisg
ICAgICAgICJzYWZlLWJ1ZmZlciI6ICI1LjEuMSIKKyAgICAgIH0KKyAgICB9LAorICAgICJyYW5n
ZS1wYXJzZXIiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjIuMCIsCisgICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcmFuZ2UtcGFyc2VyLy0vcmFuZ2UtcGFyc2Vy
LTEuMi4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtOUp2bXRJZUpUZHhBM01sS01p
OWhFSkxnRFY0PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInJlYWQtcGtnIjog
eworICAgICAgInZlcnNpb24iOiAiMS4xLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL3JlYWQtcGtnLy0vcmVhZC1wa2ctMS4xLjAudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS05ZitxWHMwcHl6SEFSMHZLZlhWcmE3S2VQeWc9IiwKKyAgICAg
ICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAibG9hZC1qc29uLWZp
bGUiOiAiMS4xLjAiLAorICAgICAgICAibm9ybWFsaXplLXBhY2thZ2UtZGF0YSI6ICIyLjQuMCIs
CisgICAgICAgICJwYXRoLXR5cGUiOiAiMS4xLjAiCisgICAgICB9CisgICAgfSwKKyAgICAicmVh
ZC1wa2ctdXAiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMSIsCisgICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcmVhZC1wa2ctdXAvLS9yZWFkLXBrZy11cC0x
LjAuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLW5XUEJNbmJBWlpHTlYvQUNwWDlB
b2JaRCt3ST0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAg
ICAgICJmaW5kLXVwIjogIjEuMS4yIiwKKyAgICAgICAgInJlYWQtcGtnIjogIjEuMS4wIgorICAg
ICAgfQorICAgIH0sCisgICAgInJlYWRhYmxlLXN0cmVhbSI6IHsKKyAgICAgICJ2ZXJzaW9uIjog
IjEuMC4zNCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
cmVhZGFibGUtc3RyZWFtLy0vcmVhZGFibGUtc3RyZWFtLTEuMC4zNC50Z3oiLAorICAgICAgImlu
dGVncml0eSI6ICJzaGExLUVsZ2c0MHZJUXRMeXFxK3Y1TUtSYnVNc0ZYdz0iLAorICAgICAgImRl
diI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJjb3JlLXV0aWwtaXMiOiAi
MS4wLjIiLAorICAgICAgICAiaW5oZXJpdHMiOiAiMi4wLjMiLAorICAgICAgICAiaXNhcnJheSI6
ICIwLjAuMSIsCisgICAgICAgICJzdHJpbmdfZGVjb2RlciI6ICIwLjEwLjMxIgorICAgICAgfQor
ICAgIH0sCisgICAgInJlYWRkaXJwIjogeworICAgICAgInZlcnNpb24iOiAiMi4xLjAiLAorICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3JlYWRkaXJwLy0vcmVh
ZGRpcnAtMi4xLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1UdEN0QmczekJ6TUF4
SVJBTno5eTBjeGtMWGc9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjog
eworICAgICAgICAiZ3JhY2VmdWwtZnMiOiAiNC4xLjExIiwKKyAgICAgICAgIm1pbmltYXRjaCI6
ICIzLjAuNCIsCisgICAgICAgICJyZWFkYWJsZS1zdHJlYW0iOiAiMi4zLjMiLAorICAgICAgICAi
c2V0LWltbWVkaWF0ZS1zaGltIjogIjEuMC4xIgorICAgICAgfSwKKyAgICAgICJkZXBlbmRlbmNp
ZXMiOiB7CisgICAgICAgICJpc2FycmF5IjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMC4w
IiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXNh
cnJheS8tL2lzYXJyYXktMS4wLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
dTVOZFNGZ3N1aGFNQm9OSlY2VktQZ2NTVHhFPSIsCisgICAgICAgICAgImRldiI6IHRydWUKKyAg
ICAgICAgfSwKKyAgICAgICAgInJlYWRhYmxlLXN0cmVhbSI6IHsKKyAgICAgICAgICAidmVyc2lv
biI6ICIyLjMuMyIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL3JlYWRhYmxlLXN0cmVhbS8tL3JlYWRhYmxlLXN0cmVhbS0yLjMuMy50Z3oiLAorICAg
ICAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLW0rcXp6Y243S1V4RW1kMWdNYmNoRitZMmVJVWJp
ZVVheGtXdHB0eUh5d3JYMHJFOFFFWXFQQzA3VnV5NFdtMzIveEUxNk5jZEJjdGI4UzBYZS81SWVR
PT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAg
ICAgICAgICAgICJjb3JlLXV0aWwtaXMiOiAiMS4wLjIiLAorICAgICAgICAgICAgImluaGVyaXRz
IjogIjIuMC4zIiwKKyAgICAgICAgICAgICJpc2FycmF5IjogIjEuMC4wIiwKKyAgICAgICAgICAg
ICJwcm9jZXNzLW5leHRpY2stYXJncyI6ICIxLjAuNyIsCisgICAgICAgICAgICAic2FmZS1idWZm
ZXIiOiAiNS4xLjEiLAorICAgICAgICAgICAgInN0cmluZ19kZWNvZGVyIjogIjEuMC4zIiwKKyAg
ICAgICAgICAgICJ1dGlsLWRlcHJlY2F0ZSI6ICIxLjAuMiIKKyAgICAgICAgICB9CisgICAgICAg
IH0sCisgICAgICAgICJzdHJpbmdfZGVjb2RlciI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIx
LjAuMyIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L3N0cmluZ19kZWNvZGVyLy0vc3RyaW5nX2RlY29kZXItMS4wLjMudGd6IiwKKyAgICAgICAgICAi
aW50ZWdyaXR5IjogInNoYTUxMi00QUg2WjVmek5OQmNIKzZYRE1mQS9CVHQ4N3NreHFKbE8wbEFo
M0RrZXI1elRoY0F4RzZtS3oraUd1MzA4VUtvUFBROERjcXgvNEpodWp6bHRSYStoUT09IiwKKyAg
ICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAg
ICAic2FmZS1idWZmZXIiOiAiNS4xLjEiCisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9
CisgICAgfSwKKyAgICAicmVjaG9pciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuNi4yIiwKKyAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZWNob2lyLy0vcmVj
aG9pci0wLjYuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWhTQkxWTnVvTFZkQzRv
eVdkVzcwT3ZVT000UT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7
CisgICAgICAgICJyZXNvbHZlIjogIjEuNC4wIgorICAgICAgfQorICAgIH0sCisgICAgInJlZHVj
ZS1jc3MtY2FsYyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMy4wIiwKKyAgICAgICJyZXNvbHZl
ZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZWR1Y2UtY3NzLWNhbGMvLS9yZWR1Y2Ut
Y3NzLWNhbGMtMS4zLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1kSHlSVGdTV0ZL
VEp6N3VtS1ljYTBkS1NkeFk9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVz
IjogeworICAgICAgICAiYmFsYW5jZWQtbWF0Y2giOiAiMC40LjIiLAorICAgICAgICAibWF0aC1l
eHByZXNzaW9uLWV2YWx1YXRvciI6ICIxLjIuMTciLAorICAgICAgICAicmVkdWNlLWZ1bmN0aW9u
LWNhbGwiOiAiMS4wLjIiCisgICAgICB9LAorICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAg
ICAgImJhbGFuY2VkLW1hdGNoIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjAuNC4yIiwKKyAg
ICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvYmFsYW5jZWQt
bWF0Y2gvLS9iYWxhbmNlZC1tYXRjaC0wLjQuMi50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHki
OiAic2hhMS15ejgrUEhNdHdQQWU1d3RBUHpBdVlkZHdtRGc9IiwKKyAgICAgICAgICAiZGV2Ijog
dHJ1ZQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAgICAicmVkdWNlLWZ1bmN0aW9uLWNh
bGwiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcmVkdWNlLWZ1bmN0aW9uLWNhbGwvLS9yZWR1Y2UtZnVu
Y3Rpb24tY2FsbC0xLjAuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLVdpQUwrUzRP
TjNVWFV2NUZzS3N6RDlTMnZwaz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWly
ZXMiOiB7CisgICAgICAgICJiYWxhbmNlZC1tYXRjaCI6ICIwLjQuMiIKKyAgICAgIH0sCisgICAg
ICAiZGVwZW5kZW5jaWVzIjogeworICAgICAgICAiYmFsYW5jZWQtbWF0Y2giOiB7CisgICAgICAg
ICAgInZlcnNpb24iOiAiMC40LjIiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9iYWxhbmNlZC1tYXRjaC8tL2JhbGFuY2VkLW1hdGNoLTAuNC4yLnRn
eiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLXl6OCtQSE10d1BBZTV3dEFQekF1WWRk
d21EZz0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9
LAorICAgICJyZWdlbmVyYXRlIjogeworICAgICAgInZlcnNpb24iOiAiMS4zLjIiLAorICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3JlZ2VuZXJhdGUvLS9yZWdl
bmVyYXRlLTEuMy4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtMFpRY1o3clVOK0cr
ZGtNNjNWczRYNVd4a21BPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInJlZ2Vu
ZXJhdG9yLXJ1bnRpbWUiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjExLjAiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3JlZ2VuZXJhdG9yLXJ1bnRpbWUv
LS9yZWdlbmVyYXRvci1ydW50aW1lLTAuMTEuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGE1MTItL2FBMGtMZVJiNU45SzBkNGZ3N29vRWJJK3hEZStES0Q0OTlFUXF5Z0dxZVM4TjN4dG8x
NXAwOXVZMnhqN2l4UDgxc05QWHZSTG5BUUlxZFZTdGdiMUE9PSIsCisgICAgICAiZGV2IjogdHJ1
ZQorICAgIH0sCisgICAgInJlZ2VuZXJhdG9yLXRyYW5zZm9ybSI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjAuMTAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvcmVnZW5lcmF0b3ItdHJhbnNmb3JtLy0vcmVnZW5lcmF0b3ItdHJhbnNmb3JtLTAuMTAuMC50
Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGE1MTItMG9NVHFhSnVNM1E2UldxdHM2VTAvaWpX
M3hjblk4ZC9LaW1MM0lrUVcxemliMWdtU2IxbEtvRktORitrU0RtcmlHRVNsT0hjd29JMVhwWEtO
RUdjTGc9PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAg
ICAgImJhYmVsLXJ1bnRpbWUiOiAiNi4yNi4wIiwKKyAgICAgICAgImJhYmVsLXR5cGVzIjogIjYu
MjYuMCIsCisgICAgICAgICJwcml2YXRlIjogIjAuMS43IgorICAgICAgfQorICAgIH0sCisgICAg
InJlZ2V4LWNhY2hlIjogeworICAgICAgInZlcnNpb24iOiAiMC40LjMiLAorICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3JlZ2V4LWNhY2hlLy0vcmVnZXgtY2Fj
aGUtMC40LjMudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1teHBzTmRUUTM4NzFjUnJt
VWVqcDA5Y1JRVVU9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogewor
ICAgICAgICAiaXMtZXF1YWwtc2hhbGxvdyI6ICIwLjEuMyIsCisgICAgICAgICJpcy1wcmltaXRp
dmUiOiAiMi4wLjAiCisgICAgICB9CisgICAgfSwKKyAgICAicmVnZXhwdS1jb3JlIjogeworICAg
ICAgInZlcnNpb24iOiAiMi4wLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL3JlZ2V4cHUtY29yZS8tL3JlZ2V4cHUtY29yZS0yLjAuMC50Z3oiLAorICAg
ICAgImludGVncml0eSI6ICJzaGExLVNkQTRnM3VOejR2Nlc1cENFNWs0NXVvcTRrQT0iLAorICAg
ICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJyZWdlbmVyYXRl
IjogIjEuMy4yIiwKKyAgICAgICAgInJlZ2pzZ2VuIjogIjAuMi4wIiwKKyAgICAgICAgInJlZ2pz
cGFyc2VyIjogIjAuMS41IgorICAgICAgfQorICAgIH0sCisgICAgInJlZ2pzZ2VuIjogeworICAg
ICAgInZlcnNpb24iOiAiMC4yLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL3JlZ2pzZ2VuLy0vcmVnanNnZW4tMC4yLjAudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1iQUZxM3F4VlQzV0NQK042d0Z1UzFhVHRzZmM9IiwKKyAgICAgICJkZXYi
OiB0cnVlCisgICAgfSwKKyAgICAicmVnanNwYXJzZXIiOiB7CisgICAgICAidmVyc2lvbiI6ICIw
LjEuNSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcmVn
anNwYXJzZXIvLS9yZWdqc3BhcnNlci0wLjEuNS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLWZ1ajRUY2I2ZVMwLzBLNGlqU1M5bEo2dElGdz0iLAorICAgICAgImRldiI6IHRydWUsCisg
ICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJqc2VzYyI6ICIwLjUuMCIKKyAgICAgIH0sCisg
ICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAgICAianNlc2MiOiB7CisgICAgICAgICAgInZl
cnNpb24iOiAiMC41LjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy9qc2VzYy8tL2pzZXNjLTAuNS4wLnRneiIsCisgICAgICAgICAgImludGVncml0
eSI6ICJzaGExLTU5N21ialhXL0JiM0VQNlIxYzlwOXc4SWtSMD0iLAorICAgICAgICAgICJkZXYi
OiB0cnVlCisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9LAorICAgICJyZWxhdGV1cmwiOiB7Cisg
ICAgICAidmVyc2lvbiI6ICIwLjIuNyIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvcmVsYXRldXJsLy0vcmVsYXRldXJsLTAuMi43LnRneiIsCisgICAgICAi
aW50ZWdyaXR5IjogInNoYTEtVk52emQrVVVRS3lwQ2t6U2RHQU5QL0xZaUtrPSIsCisgICAgICAi
ZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInJlbW92ZS10cmFpbGluZy1zZXBhcmF0b3IiOiB7Cisg
ICAgICAidmVyc2lvbiI6ICIxLjEuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvcmVtb3ZlLXRyYWlsaW5nLXNlcGFyYXRvci8tL3JlbW92ZS10cmFpbGlu
Zy1zZXBhcmF0b3ItMS4xLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS13a3ZPS2ln
NjJ0VzhQMWpnMUlKSnVTTjUyTzg9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAi
cmVuZGVya2lkIjogeworICAgICAgInZlcnNpb24iOiAiMi4wLjEiLAorICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3JlbmRlcmtpZC8tL3JlbmRlcmtpZC0yLjAu
MS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWlZeXIvSXZ0NUxlNUVUV2ovOU1qNVl3
TnN4az0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAg
ICJjc3Mtc2VsZWN0IjogIjEuMi4wIiwKKyAgICAgICAgImRvbS1jb252ZXJ0ZXIiOiAiMC4xLjQi
LAorICAgICAgICAiaHRtbHBhcnNlcjIiOiAiMy4zLjAiLAorICAgICAgICAic3RyaXAtYW5zaSI6
ICIzLjAuMSIsCisgICAgICAgICJ1dGlsYSI6ICIwLjMuMyIKKyAgICAgIH0sCisgICAgICAiZGVw
ZW5kZW5jaWVzIjogeworICAgICAgICAidXRpbGEiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAi
MC4zLjMiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy91dGlsYS8tL3V0aWxhLTAuMy4zLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGEx
LTEram4xK01KRUhDU3NGK05sb2lDVFdNNlFpWT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisg
ICAgICAgIH0KKyAgICAgIH0KKyAgICB9LAorICAgICJyZXBlYXQtZWxlbWVudCI6IHsKKyAgICAg
ICJ2ZXJzaW9uIjogIjEuMS4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5
Lm5wbWpzLm9yZy9yZXBlYXQtZWxlbWVudC8tL3JlcGVhdC1lbGVtZW50LTEuMS4yLnRneiIsCisg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtN3dpYUY0MFVnN3F1VFpQcm1MVDU1T0VkbVFvPSIsCisg
ICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInJlcGVhdC1zdHJpbmciOiB7CisgICAgICAi
dmVyc2lvbiI6ICIxLjYuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvcmVwZWF0LXN0cmluZy8tL3JlcGVhdC1zdHJpbmctMS42LjEudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS1qY3JrY09ISWlyd3RZQS8vU25kaWh0cDE1amM9IiwKKyAgICAg
ICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAicmVwZWF0aW5nIjogeworICAgICAgInZlcnNpb24i
OiAiMi4wLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L3JlcGVhdGluZy8tL3JlcGVhdGluZy0yLjAuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLVVoVEZPcEp0TlZKd2RTZjdxMEZkdkFqUWJkbz0iLAorICAgICAgImRldiI6IHRydWUsCisg
ICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJpcy1maW5pdGUiOiAiMS4wLjIiCisgICAgICB9
CisgICAgfSwKKyAgICAicmVxdWlyZS1kaXJlY3RvcnkiOiB7CisgICAgICAidmVyc2lvbiI6ICIy
LjEuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcmVx
dWlyZS1kaXJlY3RvcnkvLS9yZXF1aXJlLWRpcmVjdG9yeS0yLjEuMS50Z3oiLAorICAgICAgImlu
dGVncml0eSI6ICJzaGExLWpHU3RYOU1OcXh5WGJpTkUvK2Yza3FhbTMwST0iLAorICAgICAgImRl
diI6IHRydWUKKyAgICB9LAorICAgICJyZXF1aXJlLWZyb20tc3RyaW5nIjogeworICAgICAgInZl
cnNpb24iOiAiMS4yLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL3JlcXVpcmUtZnJvbS1zdHJpbmcvLS9yZXF1aXJlLWZyb20tc3RyaW5nLTEuMi4xLnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtVXB5Y3p2SnpnSzMreWFMNVpiWkp1KzVqWkJn
PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInJlcXVpcmUtbWFpbi1maWxlbmFt
ZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZXF1aXJlLW1haW4tZmlsZW5hbWUvLS9yZXF1aXJlLW1h
aW4tZmlsZW5hbWUtMS4wLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1sL2NYdHAx
SWVFOWZVbXBzV3FqLzNhQlZwTkU9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAi
cmVxdWlyZXMtcG9ydCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZXF1aXJlcy1wb3J0Ly0vcmVxdWly
ZXMtcG9ydC0xLjAuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWtsMG1BZE9heElY
Z2tjOE5wY2JtbE53OXl2OD0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJyZXNv
bHZlIjogeworICAgICAgInZlcnNpb24iOiAiMS40LjAiLAorICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Jlc29sdmUvLS9yZXNvbHZlLTEuNC4wLnRneiIsCisg
ICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1hVzdzVktQdWZ5SHFPbXl5THpnL0orODYwNnY1bmV2
QmdhbGlJbFY3blVwVk1zRG5vQkdWL2NiU0xOalpBZzlxMENmZC8rZWFzS1ZLUTh2T3U4Zm4xUT09
IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAicGF0
aC1wYXJzZSI6ICIxLjAuNSIKKyAgICAgIH0KKyAgICB9LAorICAgICJyZXN0b3JlLWN1cnNvciI6
IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMC4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZXN0b3JlLWN1cnNvci8tL3Jlc3RvcmUtY3Vyc29yLTIuMC4w
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtbjM3aWgvZ3YweWJVL1JZcEk5WWhLZTdn
MzY4PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAg
Im9uZXRpbWUiOiAiMi4wLjEiLAorICAgICAgICAic2lnbmFsLWV4aXQiOiAiMy4wLjIiCisgICAg
ICB9CisgICAgfSwKKyAgICAicmlnaHQtYWxpZ24iOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjEu
MyIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvcmlnaHQt
YWxpZ24vLS9yaWdodC1hbGlnbi0wLjEuMy50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGEx
LVlUT2JjaS9tbzFGV2lTRU5KT0ZNbGhTR0UrOD0iLAorICAgICAgImRldiI6IHRydWUsCisgICAg
ICAicmVxdWlyZXMiOiB7CisgICAgICAgICJhbGlnbi10ZXh0IjogIjAuMS40IgorICAgICAgfQor
ICAgIH0sCisgICAgInJpbXJhZiI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuNi4xIiwKKyAgICAg
ICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yaW1yYWYvLS9yaW1yYWYt
Mi42LjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS13ak9PeGtQZmVodC81Y1ZQcUc5
WFFvcFY4ejA9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAg
ICAgICAiZ2xvYiI6ICI3LjEuMiIKKyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5jaWVzIjogewor
ICAgICAgICAiZ2xvYiI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICI3LjEuMiIsCisgICAgICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2dsb2IvLS9nbG9iLTcu
MS4yLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGE1MTItTUpUVWcxa2p1TGVRQ0or
Y2NFNFZwYTZrS1ZYa1BZSjJtT0NReVV1S0xjTFFzZHJNQ3BCUFVpOHFWRTYrWXVhSmtvemVBOU51
c1RBdzNoTHI4WGU1RVE9PSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJl
cXVpcmVzIjogeworICAgICAgICAgICAgImZzLnJlYWxwYXRoIjogIjEuMC4wIiwKKyAgICAgICAg
ICAgICJpbmZsaWdodCI6ICIxLjAuNiIsCisgICAgICAgICAgICAiaW5oZXJpdHMiOiAiMi4wLjMi
LAorICAgICAgICAgICAgIm1pbmltYXRjaCI6ICIzLjAuNCIsCisgICAgICAgICAgICAib25jZSI6
ICIxLjQuMCIsCisgICAgICAgICAgICAicGF0aC1pcy1hYnNvbHV0ZSI6ICIxLjAuMSIKKyAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9LAorICAgICJyaXBlbWQxNjAiOiB7Cisg
ICAgICAidmVyc2lvbiI6ICIyLjAuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvcmlwZW1kMTYwLy0vcmlwZW1kMTYwLTIuMC4xLnRneiIsCisgICAgICAi
aW50ZWdyaXR5IjogInNoYTEtRDBXRUtWeFRvMktLOStiWG1zb2h6bGZSeHVjPSIsCisgICAgICAi
ZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImhhc2gtYmFzZSI6ICIy
LjAuMiIsCisgICAgICAgICJpbmhlcml0cyI6ICIyLjAuMyIKKyAgICAgIH0KKyAgICB9LAorICAg
ICJzYWZlLWJ1ZmZlciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjUuMS4xIiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zYWZlLWJ1ZmZlci8tL3NhZmUtYnVm
ZmVyLTUuMS4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1rS3ZOSm42TW05M2dB
Y3pXVkpnN3dIK3dHWVdOckRIZFd2cFVtSHlFc2dDdEl3d28zYnFQdFY0dFI1dHVQYVVoVE9vL2t2
aFZ3ZDhYd3dPbGxHWWtiZz09IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAic2F4
IjogeworICAgICAgInZlcnNpb24iOiAiMS4yLjQiLAorICAgICAgInJlc29sdmVkIjogImh0dHBz
Oi8vcmVnaXN0cnkubnBtanMub3JnL3NheC8tL3NheC0xLjIuNC50Z3oiLAorICAgICAgImludGVn
cml0eSI6ICJzaGE1MTItTnFWRHY5VHBBTlVqRm0wTjh1TTVHeEwzNlVnS2k5L2F0WncreDdZRm5R
OGNrd0ZHS3JsNHhYNHlXdHJleTNVSm01blAxa1VibllnTG9wcVdOU1JoV3c9PSIsCisgICAgICAi
ZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInNjaGVtYS11dGlscyI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjAuMy4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9zY2hlbWEtdXRpbHMvLS9zY2hlbWEtdXRpbHMtMC4zLjAudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS05WWR5SXM0K2t4N2E0RG54ZnJOeGJuRTMrTTg9IiwKKyAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYWp2IjogIjUuMi4yIgorICAgICAg
fQorICAgIH0sCisgICAgInNlbXZlciI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjUuNC4xIiwKKyAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zZW12ZXIvLS9zZW12
ZXItNS40LjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLVdmRy9YOStvQVRoODFY
dGxsSW8vSThnT2lZOUVYUmR2MWNRZHl5a2VYSzE3WWNVVzNFWFVBaTJUbzRwY0g2blp0SlByN1pP
cE01T015V0pabSs4UnNnPT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJzZW5k
IjogeworICAgICAgInZlcnNpb24iOiAiMC4xNS40IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zZW5kLy0vc2VuZC0wLjE1LjQudGd6IiwKKyAgICAgICJp
bnRlZ3JpdHkiOiAic2hhMS1tRitxUGloTEFuUEhrelpLTmNaemU5azVCYms9IiwKKyAgICAgICJk
ZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiZGVidWciOiAiMi42Ljgi
LAorICAgICAgICAiZGVwZCI6ICIxLjEuMSIsCisgICAgICAgICJkZXN0cm95IjogIjEuMC40IiwK
KyAgICAgICAgImVuY29kZXVybCI6ICIxLjAuMSIsCisgICAgICAgICJlc2NhcGUtaHRtbCI6ICIx
LjAuMyIsCisgICAgICAgICJldGFnIjogIjEuOC4wIiwKKyAgICAgICAgImZyZXNoIjogIjAuNS4w
IiwKKyAgICAgICAgImh0dHAtZXJyb3JzIjogIjEuNi4yIiwKKyAgICAgICAgIm1pbWUiOiAiMS4z
LjQiLAorICAgICAgICAibXMiOiAiMi4wLjAiLAorICAgICAgICAib24tZmluaXNoZWQiOiAiMi4z
LjAiLAorICAgICAgICAicmFuZ2UtcGFyc2VyIjogIjEuMi4wIiwKKyAgICAgICAgInN0YXR1c2Vz
IjogIjEuMy4xIgorICAgICAgfQorICAgIH0sCisgICAgInNlcnZlLXN0YXRpYyI6IHsKKyAgICAg
ICJ2ZXJzaW9uIjogIjEuMTIuNCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvc2VydmUtc3RhdGljLy0vc2VydmUtc3RhdGljLTEuMTIuNC50Z3oiLAorICAg
ICAgImludGVncml0eSI6ICJzaGExLW0ycXBqdXR5VThUdTNFd2ZiOXZLWUprQnFXRT0iLAorICAg
ICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJlbmNvZGV1cmwi
OiAiMS4wLjEiLAorICAgICAgICAiZXNjYXBlLWh0bWwiOiAiMS4wLjMiLAorICAgICAgICAicGFy
c2V1cmwiOiAiMS4zLjEiLAorICAgICAgICAic2VuZCI6ICIwLjE1LjQiCisgICAgICB9CisgICAg
fSwKKyAgICAic2V0LWJsb2NraW5nIjogeworICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAorICAg
ICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3NldC1ibG9ja2luZy8t
L3NldC1ibG9ja2luZy0yLjAuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLUJGK1hn
dEFScnBwb0E5M1RnckpEa3JQWWtQYz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAg
ICJzZXQtaW1tZWRpYXRlLXNoaW0iOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMSIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc2V0LWltbWVkaWF0ZS1z
aGltLy0vc2V0LWltbWVkaWF0ZS1zaGltLTEuMC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5Ijog
InNoYTEtU3lzYkordUFpcCtOekVnYVdPWGxiMW1mUDJFPSIsCisgICAgICAiZGV2IjogdHJ1ZQor
ICAgIH0sCisgICAgInNldGltbWVkaWF0ZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC41IiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zZXRpbW1lZGlh
dGUvLS9zZXRpbW1lZGlhdGUtMS4wLjUudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1L
UXk3SXk0d2FVTFgxK3FiZzNNcXQ0VnZnb1U9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwK
KyAgICAic2V0cHJvdG90eXBlb2YiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMyIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc2V0cHJvdG90eXBlb2Yv
LS9zZXRwcm90b3R5cGVvZi0xLjAuMy50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLVps
WitOd1ErNjA4RTJSdldXTURMNzdWYmpnUT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAor
ICAgICJzaGEuanMiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjQuOCIsCisgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc2hhLmpzLy0vc2hhLmpzLTIuNC44LnRn
eiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtTndhTUxFZHJhNjlBTFJTa25HZjFsNUlmWTA4
PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImlu
aGVyaXRzIjogIjIuMC4zIgorICAgICAgfQorICAgIH0sCisgICAgInNoZWxsanMiOiB7CisgICAg
ICAidmVyc2lvbiI6ICIwLjcuOCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvc2hlbGxqcy8tL3NoZWxsanMtMC43LjgudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS0zc3ZQaDBzTkhsKzNMaFN4Wktsb01FanByTE09IiwKKyAgICAgICJkZXYiOiB0
cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiZ2xvYiI6ICI3LjEuMiIsCisgICAg
ICAgICJpbnRlcnByZXQiOiAiMS4wLjMiLAorICAgICAgICAicmVjaG9pciI6ICIwLjYuMiIKKyAg
ICAgIH0sCisgICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAgICAiZ2xvYiI6IHsKKyAgICAg
ICAgICAidmVyc2lvbiI6ICI3LjEuMiIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL2dsb2IvLS9nbG9iLTcuMS4yLnRneiIsCisgICAgICAgICAgImlu
dGVncml0eSI6ICJzaGE1MTItTUpUVWcxa2p1TGVRQ0orY2NFNFZwYTZrS1ZYa1BZSjJtT0NReVV1
S0xjTFFzZHJNQ3BCUFVpOHFWRTYrWXVhSmtvemVBOU51c1RBdzNoTHI4WGU1RVE9PSIsCisgICAg
ICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAg
ImZzLnJlYWxwYXRoIjogIjEuMC4wIiwKKyAgICAgICAgICAgICJpbmZsaWdodCI6ICIxLjAuNiIs
CisgICAgICAgICAgICAiaW5oZXJpdHMiOiAiMi4wLjMiLAorICAgICAgICAgICAgIm1pbmltYXRj
aCI6ICIzLjAuNCIsCisgICAgICAgICAgICAib25jZSI6ICIxLjQuMCIsCisgICAgICAgICAgICAi
cGF0aC1pcy1hYnNvbHV0ZSI6ICIxLjAuMSIKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAg
IH0KKyAgICB9LAorICAgICJzaWdtdW5kIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjEiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3NpZ211bmQvLS9z
aWdtdW5kLTEuMC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtUC9JZkdZeXRJWFg1
ODdlQmhUL1pUUTBadFpBPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInNpZ25h
bC1leGl0IjogeworICAgICAgInZlcnNpb24iOiAiMy4wLjIiLAorICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3NpZ25hbC1leGl0Ly0vc2lnbmFsLWV4aXQtMy4w
LjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS10ZjNBanhLSDZoRjRZbzVCWGlVVEsz
TmtiRzA9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAic2xhc2giOiB7CisgICAg
ICAidmVyc2lvbiI6ICIxLjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvc2xhc2gvLS9zbGFzaC0xLjAuMC50Z3oiLAorICAgICAgImludGVncml0eSI6
ICJzaGExLXhCOHZiRG44RnRITkY2MUxYWWxoRks1SERWVT0iLAorICAgICAgImRldiI6IHRydWUK
KyAgICB9LAorICAgICJzb3J0LWtleXMiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjEuMiIsCisg
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc29ydC1rZXlzLy0v
c29ydC1rZXlzLTEuMS4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtUkJ0dFRUUm5t
UEcwNUo2SklLMzdvT1ZEK2EwPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJl
cyI6IHsKKyAgICAgICAgImlzLXBsYWluLW9iaiI6ICIxLjEuMCIKKyAgICAgIH0KKyAgICB9LAor
ICAgICJzb3VyY2UtbGlzdC1tYXAiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjEuOCIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc291cmNlLWxpc3QtbWFw
Ly0vc291cmNlLWxpc3QtbWFwLTAuMS44LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
eFZDeXExUW45clB5SDFyK3JZakU5Vmg3SVFZPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0s
CisgICAgInNvdXJjZS1tYXAiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjUuNiIsCisgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc291cmNlLW1hcC8tL3NvdXJj
ZS1tYXAtMC41LjYudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1kYzQ0OVN2d2N6eGFm
d3dSallFelNpdTE5Qkk9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAic291cmNl
LW1hcC1zdXBwb3J0IjogeworICAgICAgInZlcnNpb24iOiAiMC40LjE1IiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zb3VyY2UtbWFwLXN1cHBvcnQvLS9z
b3VyY2UtbWFwLXN1cHBvcnQtMC40LjE1LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
QXlBdDlsd0cwcjJNZnNJMktoa3dWdjc0MDdFPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAg
ICJyZXF1aXJlcyI6IHsKKyAgICAgICAgInNvdXJjZS1tYXAiOiAiMC41LjYiCisgICAgICB9Cisg
ICAgfSwKKyAgICAic3BkeC1jb3JyZWN0IjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjIiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3NwZHgtY29ycmVj
dC8tL3NwZHgtY29ycmVjdC0xLjAuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLVN6
QnoyVFAvVWZPUkx3T3NWUmxKaWtGUTIwQT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAi
cmVxdWlyZXMiOiB7CisgICAgICAgICJzcGR4LWxpY2Vuc2UtaWRzIjogIjEuMi4yIgorICAgICAg
fQorICAgIH0sCisgICAgInNwZHgtZXhwcmVzc2lvbi1wYXJzZSI6IHsKKyAgICAgICJ2ZXJzaW9u
IjogIjEuMC40IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9zcGR4LWV4cHJlc3Npb24tcGFyc2UvLS9zcGR4LWV4cHJlc3Npb24tcGFyc2UtMS4wLjQudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1tOTh2SU9IMER0UkgrK0p6Sm1HUi9PMVJZbXc9
IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAic3BkeC1saWNlbnNlLWlkcyI6IHsK
KyAgICAgICJ2ZXJzaW9uIjogIjEuMi4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3Jl
Z2lzdHJ5Lm5wbWpzLm9yZy9zcGR4LWxpY2Vuc2UtaWRzLy0vc3BkeC1saWNlbnNlLWlkcy0xLjIu
Mi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXlkOTZOQ1JaU3Q1cjBSa0ExWlpwYmNC
cnJGYz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJzcHJpbnRmLWpzIjogewor
ICAgICAgInZlcnNpb24iOiAiMS4wLjMiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL3NwcmludGYtanMvLS9zcHJpbnRmLWpzLTEuMC4zLnRneiIsCisgICAg
ICAiaW50ZWdyaXR5IjogInNoYTEtQk9hU2IyWW9sVFZQUGRBVklEWXp1RmNwZml3PSIsCisgICAg
ICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInN0YWNrZnJhbWUiOiB7CisgICAgICAidmVyc2lv
biI6ICIxLjAuNCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvc3RhY2tmcmFtZS8tL3N0YWNrZnJhbWUtMS4wLjQudGd6IiwKKyAgICAgICJpbnRlZ3JpdHki
OiAic2hhNTEyLXRvN29BREluaWFZd1MzTWh0Q2Evc1FocnhpZENDUWlGL3FwNC9tNWlOM2lwZjBZ
N1hscmkwZjZlRzI5cjA4YUw3SllsOG4zMkFGM1E1R1lCWjdLOHZ3PT0iLAorICAgICAgImRldiI6
IHRydWUKKyAgICB9LAorICAgICJzdGF0dXNlcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMy4x
IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zdGF0dXNl
cy8tL3N0YXR1c2VzLTEuMy4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtK3ZVYm5y
ZEtydk96clBTdFgyR3I4a3kzdVQ0PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAg
InN0cmVhbS1icm93c2VyaWZ5IjogeworICAgICAgInZlcnNpb24iOiAiMi4wLjEiLAorICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3N0cmVhbS1icm93c2VyaWZ5
Ly0vc3RyZWFtLWJyb3dzZXJpZnktMi4wLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1aaVp1NWZtOXVaUUtUa1VVeXZ0RHUzSGx5ZHM9IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAg
ICAgInJlcXVpcmVzIjogeworICAgICAgICAiaW5oZXJpdHMiOiAiMi4wLjMiLAorICAgICAgICAi
cmVhZGFibGUtc3RyZWFtIjogIjIuMy4zIgorICAgICAgfSwKKyAgICAgICJkZXBlbmRlbmNpZXMi
OiB7CisgICAgICAgICJpc2FycmF5IjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwK
KyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvaXNhcnJh
eS8tL2lzYXJyYXktMS4wLjAudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtdTVO
ZFNGZ3N1aGFNQm9OSlY2VktQZ2NTVHhFPSIsCisgICAgICAgICAgImRldiI6IHRydWUKKyAgICAg
ICAgfSwKKyAgICAgICAgInJlYWRhYmxlLXN0cmVhbSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6
ICIyLjMuMyIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL3JlYWRhYmxlLXN0cmVhbS8tL3JlYWRhYmxlLXN0cmVhbS0yLjMuMy50Z3oiLAorICAgICAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLW0rcXp6Y243S1V4RW1kMWdNYmNoRitZMmVJVWJpZVVh
eGtXdHB0eUh5d3JYMHJFOFFFWXFQQzA3VnV5NFdtMzIveEUxNk5jZEJjdGI4UzBYZS81SWVRPT0i
LAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAg
ICAgICAgICJjb3JlLXV0aWwtaXMiOiAiMS4wLjIiLAorICAgICAgICAgICAgImluaGVyaXRzIjog
IjIuMC4zIiwKKyAgICAgICAgICAgICJpc2FycmF5IjogIjEuMC4wIiwKKyAgICAgICAgICAgICJw
cm9jZXNzLW5leHRpY2stYXJncyI6ICIxLjAuNyIsCisgICAgICAgICAgICAic2FmZS1idWZmZXIi
OiAiNS4xLjEiLAorICAgICAgICAgICAgInN0cmluZ19kZWNvZGVyIjogIjEuMC4zIiwKKyAgICAg
ICAgICAgICJ1dGlsLWRlcHJlY2F0ZSI6ICIxLjAuMiIKKyAgICAgICAgICB9CisgICAgICAgIH0s
CisgICAgICAgICJzdHJpbmdfZGVjb2RlciI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjAu
MyIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3N0
cmluZ19kZWNvZGVyLy0vc3RyaW5nX2RlY29kZXItMS4wLjMudGd6IiwKKyAgICAgICAgICAiaW50
ZWdyaXR5IjogInNoYTUxMi00QUg2WjVmek5OQmNIKzZYRE1mQS9CVHQ4N3NreHFKbE8wbEFoM0Rr
ZXI1elRoY0F4RzZtS3oraUd1MzA4VUtvUFBROERjcXgvNEpodWp6bHRSYStoUT09IiwKKyAgICAg
ICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAi
c2FmZS1idWZmZXIiOiAiNS4xLjEiCisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9Cisg
ICAgfSwKKyAgICAic3RyZWFtLWh0dHAiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjcuMiIsCisg
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc3RyZWFtLWh0dHAv
LS9zdHJlYW0taHR0cC0yLjcuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGE1MTItYzB5
VEQycmJRelh0U3NGU1ZodHB2WS92UzZ1MDY2UGNYT1g5a0JCM21TTzc2UmlVUXpMMzQwdUprR0JX
bmxCZzQvSFp6cWlVWHRhVkE3d2NSY0pnRXc9PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAg
ICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImJ1aWx0aW4tc3RhdHVzLWNvZGVzIjogIjMuMC4wIiwK
KyAgICAgICAgImluaGVyaXRzIjogIjIuMC4zIiwKKyAgICAgICAgInJlYWRhYmxlLXN0cmVhbSI6
ICIyLjMuMyIsCisgICAgICAgICJ0by1hcnJheWJ1ZmZlciI6ICIxLjAuMSIsCisgICAgICAgICJ4
dGVuZCI6ICI0LjAuMSIKKyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAg
ICAiaXNhcnJheSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIxLjAuMCIsCisgICAgICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2lzYXJyYXkvLS9pc2FycmF5
LTEuMC4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLXU1TmRTRmdzdWhhTUJv
TkpWNlZLUGdjU1R4RT0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisgICAgICAgIH0sCisgICAg
ICAgICJyZWFkYWJsZS1zdHJlYW0iOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMi4zLjMiLAor
ICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9yZWFkYWJs
ZS1zdHJlYW0vLS9yZWFkYWJsZS1zdHJlYW0tMi4zLjMudGd6IiwKKyAgICAgICAgICAiaW50ZWdy
aXR5IjogInNoYTUxMi1tK3F6emNuN0tVeEVtZDFnTWJjaEYrWTJlSVViaWVVYXhrV3RwdHlIeXdy
WDByRThRRVlxUEMwN1Z1eTRXbTMyL3hFMTZOY2RCY3RiOFMwWGUvNUllUT09IiwKKyAgICAgICAg
ICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAiY29y
ZS11dGlsLWlzIjogIjEuMC4yIiwKKyAgICAgICAgICAgICJpbmhlcml0cyI6ICIyLjAuMyIsCisg
ICAgICAgICAgICAiaXNhcnJheSI6ICIxLjAuMCIsCisgICAgICAgICAgICAicHJvY2Vzcy1uZXh0
aWNrLWFyZ3MiOiAiMS4wLjciLAorICAgICAgICAgICAgInNhZmUtYnVmZmVyIjogIjUuMS4xIiwK
KyAgICAgICAgICAgICJzdHJpbmdfZGVjb2RlciI6ICIxLjAuMyIsCisgICAgICAgICAgICAidXRp
bC1kZXByZWNhdGUiOiAiMS4wLjIiCisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAi
c3RyaW5nX2RlY29kZXIiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4wLjMiLAorICAgICAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zdHJpbmdfZGVjb2Rl
ci8tL3N0cmluZ19kZWNvZGVyLTEuMC4zLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJz
aGE1MTItNEFINlo1ZnpOTkJjSCs2WERNZkEvQlR0ODdza3hxSmxPMGxBaDNEa2VyNXpUaGNBeEc2
bUt6K2lHdTMwOFVLb1BQUThEY3F4LzRKaHVqemx0UmEraFE9PSIsCisgICAgICAgICAgImRldiI6
IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgInNhZmUtYnVmZmVy
IjogIjUuMS4xIgorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAg
InN0cmljdC11cmktZW5jb2RlIjogeworICAgICAgInZlcnNpb24iOiAiMS4xLjAiLAorICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3N0cmljdC11cmktZW5jb2Rl
Ly0vc3RyaWN0LXVyaS1lbmNvZGUtMS4xLjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS1KNXNpWGZIVmdySDFUbVd0M1VOUzRZK3FCeE09IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAg
fSwKKyAgICAic3RyaW5nX2RlY29kZXIiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjEwLjMxIiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zdHJpbmdfZGVj
b2Rlci8tL3N0cmluZ19kZWNvZGVyLTAuMTAuMzEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS1ZdUlEdkVGMmJHd295ZnlFTUIyckhGTVErcFE9IiwKKyAgICAgICJkZXYiOiB0cnVlCisg
ICAgfSwKKyAgICAic3RyaW5nLWxlbmd0aCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zdHJpbmctbGVu
Z3RoLy0vc3RyaW5nLWxlbmd0aC0xLjAuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGEx
LVZwY1BzY09GV09ubkMzS0w4OTRtbXNSYTM2dz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAg
ICAicmVxdWlyZXMiOiB7CisgICAgICAgICJzdHJpcC1hbnNpIjogIjMuMC4xIgorICAgICAgfQor
ICAgIH0sCisgICAgInN0cmluZy13aWR0aCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4yIiwK
KyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9zdHJpbmctd2lk
dGgvLS9zdHJpbmctd2lkdGgtMS4wLjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1F
WXZmVzR6Y1VhS241dzBoSGdmaXNMbXhCOU09IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
InJlcXVpcmVzIjogeworICAgICAgICAiY29kZS1wb2ludC1hdCI6ICIxLjEuMCIsCisgICAgICAg
ICJpcy1mdWxsd2lkdGgtY29kZS1wb2ludCI6ICIxLjAuMCIsCisgICAgICAgICJzdHJpcC1hbnNp
IjogIjMuMC4xIgorICAgICAgfQorICAgIH0sCisgICAgInN0cmlwLWFuc2kiOiB7CisgICAgICAi
dmVyc2lvbiI6ICIzLjAuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5u
cG1qcy5vcmcvc3RyaXAtYW5zaS8tL3N0cmlwLWFuc2ktMy4wLjEudGd6IiwKKyAgICAgICJpbnRl
Z3JpdHkiOiAic2hhMS1hamhmdUlVOWxTMWY4RjBPaXErVUo0M0dQYzg9IiwKKyAgICAgICJkZXYi
OiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYW5zaS1yZWdleCI6ICIyLjEu
MSIKKyAgICAgIH0KKyAgICB9LAorICAgICJzdHJpcC1ib20iOiB7CisgICAgICAidmVyc2lvbiI6
ICIyLjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
c3RyaXAtYm9tLy0vc3RyaXAtYm9tLTIuMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNo
YTEtWWhtb1ZoWlNCSkh6VjRpOXZ4UkhxWngrYXc0PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAg
ICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImlzLXV0ZjgiOiAiMC4yLjEiCisgICAgICB9Cisg
ICAgfSwKKyAgICAic3VwcG9ydHMtY29sb3IiOiB7CisgICAgICAidmVyc2lvbiI6ICIzLjIuMyIs
CisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvc3VwcG9ydHMt
Y29sb3IvLS9zdXBwb3J0cy1jb2xvci0zLjIuMy50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLVphd0ZCTE9WUVhIWXBrbEdzcTQ4dTRwZlZQWT0iLAorICAgICAgImRldiI6IHRydWUsCisg
ICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJoYXMtZmxhZyI6ICIxLjAuMCIKKyAgICAgIH0K
KyAgICB9LAorICAgICJzdmdvIjogeworICAgICAgInZlcnNpb24iOiAiMC43LjIiLAorICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3N2Z28vLS9zdmdvLTAuNy4y
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtbjFkeVFUbFNFMXh2Nzc5QXIrYWsrcWlM
UzdVPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAg
ImNvYSI6ICIxLjAuNCIsCisgICAgICAgICJjb2xvcnMiOiAiMS4xLjIiLAorICAgICAgICAiY3Nz
byI6ICIyLjMuMiIsCisgICAgICAgICJqcy15YW1sIjogIjMuNy4wIiwKKyAgICAgICAgIm1rZGly
cCI6ICIwLjUuMSIsCisgICAgICAgICJzYXgiOiAiMS4yLjQiLAorICAgICAgICAid2hldC5leHRl
bmQiOiAiMC45LjkiCisgICAgICB9CisgICAgfSwKKyAgICAidGFwYWJsZSI6IHsKKyAgICAgICJ2
ZXJzaW9uIjogIjAuMi44IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy90YXBhYmxlLy0vdGFwYWJsZS0wLjIuOC50Z3oiLAorICAgICAgImludGVncml0eSI6
ICJzaGExLW1UY3FYSm1iOHQ4V0N2d05kTDdVOUhsSXpTST0iLAorICAgICAgImRldiI6IHRydWUK
KyAgICB9LAorICAgICJ0aW1lLXN0YW1wIjogeworICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3RpbWUtc3RhbXAv
LS90aW1lLXN0YW1wLTIuMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtbGNha1JU
RGhXNmpXOUtQc3VNT2orc1J0bzFjPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAg
InRpbWVycy1icm93c2VyaWZ5IjogeworICAgICAgInZlcnNpb24iOiAiMi4wLjQiLAorICAgICAg
InJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3RpbWVycy1icm93c2VyaWZ5
Ly0vdGltZXJzLWJyb3dzZXJpZnktMi4wLjQudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hh
NTEyLXVaWWh5VTNFWDhPN0hRUCtKOWZUVll3c3E5MFZyNjh4UEVGbzd5clZJbUl4WXZIZ3VrQkVn
T0IvU2dHb29yV1ZUekdNLzNaK3dVTm5ib0E0TThqV3JnPT0iLAorICAgICAgImRldiI6IHRydWUs
CisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJzZXRpbW1lZGlhdGUiOiAiMS4wLjUiCisg
ICAgICB9CisgICAgfSwKKyAgICAidG8tYXJyYXlidWZmZXIiOiB7CisgICAgICAidmVyc2lvbiI6
ICIxLjAuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
dG8tYXJyYXlidWZmZXIvLS90by1hcnJheWJ1ZmZlci0xLjAuMS50Z3oiLAorICAgICAgImludGVn
cml0eSI6ICJzaGExLWZTS2JIOHhqZmtac29JRVlDRGFucXIvNFAwTT0iLAorICAgICAgImRldiI6
IHRydWUKKyAgICB9LAorICAgICJ0by1mYXN0LXByb3BlcnRpZXMiOiB7CisgICAgICAidmVyc2lv
biI6ICIxLjAuMyIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvdG8tZmFzdC1wcm9wZXJ0aWVzLy0vdG8tZmFzdC1wcm9wZXJ0aWVzLTEuMC4zLnRneiIsCisg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtdURWeCtrMk1KYmd1SXhzRzQ2TUZYZVRLR2tjPSIsCisg
ICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInRvcG9zb3J0IjogeworICAgICAgInZlcnNp
b24iOiAiMS4wLjMiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMu
b3JnL3RvcG9zb3J0Ly0vdG9wb3NvcnQtMS4wLjMudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAi
c2hhMS04Q3pZcDB2WXZpL0E2WVlSdzdyTGxhRnhocHc9IiwKKyAgICAgICJkZXYiOiB0cnVlCisg
ICAgfSwKKyAgICAidHJpbS1yaWdodCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwKKyAg
ICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy90cmltLXJpZ2h0Ly0v
dHJpbS1yaWdodC0xLjAuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXl5NFNBd1or
REkzaDloUUpTNS9rVndUcVlBTT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJ0
dHktYnJvd3NlcmlmeSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMC4wIiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy90dHktYnJvd3NlcmlmeS8tL3R0eS1i
cm93c2VyaWZ5LTAuMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtb1ZlNlFDMmlU
cHY1Vi9tcWFkVWs3dFFwQWFZPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInR5
cGUtaXMiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjYuMTUiLAorICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3R5cGUtaXMvLS90eXBlLWlzLTEuNi4xNS50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLXlyRVB0SkNlUkJ5Q2hDNnY0YTFrYklHQVJCQT0i
LAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJtZWRp
YS10eXBlciI6ICIwLjMuMCIsCisgICAgICAgICJtaW1lLXR5cGVzIjogIjIuMS4xNiIKKyAgICAg
IH0KKyAgICB9LAorICAgICJ1Z2xpZnktanMiOiB7CisgICAgICAidmVyc2lvbiI6ICIzLjAuMjci
LAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3VnbGlmeS1q
cy8tL3VnbGlmeS1qcy0zLjAuMjcudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLUhE
OENteFBYVUk2MnY1dHdlaXVsTWNQL2FwQXR4MURYR2NOWmtoS1FaeUMrTVRyVHNvQ0JiOHlQQXdW
cmJ2cGd3M0VwUlU3NmJSZTZheGpJaUNZY1FnPT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAg
ICAicmVxdWlyZXMiOiB7CisgICAgICAgICJjb21tYW5kZXIiOiAiMi4xMS4wIiwKKyAgICAgICAg
InNvdXJjZS1tYXAiOiAiMC41LjYiCisgICAgICB9CisgICAgfSwKKyAgICAidWdsaWZ5LXRvLWJy
b3dzZXJpZnkiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMiIsCisgICAgICAicmVzb2x2ZWQi
OiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvdWdsaWZ5LXRvLWJyb3dzZXJpZnkvLS91Z2xp
ZnktdG8tYnJvd3NlcmlmeS0xLjAuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWJn
a2sxcjJtdGEvalNlT2FiV01vVUtENGdyYz0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAi
b3B0aW9uYWwiOiB0cnVlCisgICAgfSwKKyAgICAidWx0cm9uIjogeworICAgICAgInZlcnNpb24i
OiAiMS4xLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3Jn
L3VsdHJvbi8tL3VsdHJvbi0xLjEuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXNI
b3VhbFFhZ1YvR28wek5SVE82N0RCOHFHUT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAor
ICAgICJ1bmRlcnNjb3JlIjogeworICAgICAgInZlcnNpb24iOiAiMS44LjMiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3VuZGVyc2NvcmUvLS91bmRlcnNj
b3JlLTEuOC4zLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtVHorMU94QnVZSmY4K2N0
QkNmS2w2YjM2VUNJPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInVuaXEiOiB7
CisgICAgICAidmVyc2lvbiI6ICIxLjAuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9y
ZWdpc3RyeS5ucG1qcy5vcmcvdW5pcS8tL3VuaXEtMS4wLjEudGd6IiwKKyAgICAgICJpbnRlZ3Jp
dHkiOiAic2hhMS1zeHhhNkNWSVJLT29LQlZCemlzRXVHV25OUDg9IiwKKyAgICAgICJkZXYiOiB0
cnVlCisgICAgfSwKKyAgICAidW5pcWlkIjogeworICAgICAgInZlcnNpb24iOiAiNC4xLjEiLAor
ICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3VuaXFpZC8tL3Vu
aXFpZC00LjEuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWlTSU4zMnQxR3VVclgz
SklTR05TaFphN2hNRT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7
CisgICAgICAgICJtYWNhZGRyZXNzIjogIjAuMi44IgorICAgICAgfQorICAgIH0sCisgICAgInVu
aXFzIjogeworICAgICAgInZlcnNpb24iOiAiMi4wLjAiLAorICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3VuaXFzLy0vdW5pcXMtMi4wLjAudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS0vKzNrczJzbEtRYVc1dUZsMUtXZTI1bU9hd0k9IiwKKyAgICAg
ICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAidW5waXBlIjogeworICAgICAgInZlcnNpb24iOiAi
MS4wLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Vu
cGlwZS8tL3VucGlwZS0xLjAuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLXNyOU82
RkZLcm1GbHRJRjRLZEliTHZTWkJPdz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAg
ICJ1cHBlci1jYXNlIjogeworICAgICAgInZlcnNpb24iOiAiMS4xLjMiLAorICAgICAgInJlc29s
dmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3VwcGVyLWNhc2UvLS91cHBlci1jYXNl
LTEuMS4zLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtOXJSUUhDN0V6ZEpycDR2bklp
bGgzbmRpRlpnPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInVybCI6IHsKKyAg
ICAgICJ2ZXJzaW9uIjogIjAuMTEuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdp
c3RyeS5ucG1qcy5vcmcvdXJsLy0vdXJsLTAuMTEuMC50Z3oiLAorICAgICAgImludGVncml0eSI6
ICJzaGExLU9EanBmUHhnVWg2M1BGSmFqbFcvM1o0dUtQRT0iLAorICAgICAgImRldiI6IHRydWUs
CisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJwdW55Y29kZSI6ICIxLjMuMiIsCisgICAg
ICAgICJxdWVyeXN0cmluZyI6ICIwLjIuMCIKKyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5jaWVz
IjogeworICAgICAgICAicHVueWNvZGUiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAiMS4zLjIi
LAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9wdW55
Y29kZS8tL3B1bnljb2RlLTEuMy4yLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGEx
LWxsT2dOdnQ4SHVRalF2SXlYTTd2NmprbXhJMD0iLAorICAgICAgICAgICJkZXYiOiB0cnVlCisg
ICAgICAgIH0KKyAgICAgIH0KKyAgICB9LAorICAgICJ1cmwtbG9hZGVyIjogeworICAgICAgInZl
cnNpb24iOiAiMC41LjkiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL3VybC1sb2FkZXIvLS91cmwtbG9hZGVyLTAuNS45LnRneiIsCisgICAgICAiaW50ZWdy
aXR5IjogInNoYTUxMi1CN1FZRnl2ditmT0JxQlZlZWZzeHY2a29XV3RqbUhhTUZUNktaV3RpNEtS
dzhZVUQvaE9VKzNBRUN2WHV6eVZhd0lCeDN6N3pRUmVqWENEU081a2sxUT09IiwKKyAgICAgICJk
ZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAibG9hZGVyLXV0aWxzIjog
IjEuMS4wIiwKKyAgICAgICAgIm1pbWUiOiAiMS4zLjQiCisgICAgICB9LAorICAgICAgImRlcGVu
ZGVuY2llcyI6IHsKKyAgICAgICAgImxvYWRlci11dGlscyI6IHsKKyAgICAgICAgICAidmVyc2lv
biI6ICIxLjEuMCIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL2xvYWRlci11dGlscy8tL2xvYWRlci11dGlscy0xLjEuMC50Z3oiLAorICAgICAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhMS15WXJ2U0l2TTdhTC90ZUxlWkcxcWRVUXA5YzA9IiwKKyAgICAg
ICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAgICAi
YmlnLmpzIjogIjMuMS4zIiwKKyAgICAgICAgICAgICJlbW9qaXMtbGlzdCI6ICIyLjEuMCIsCisg
ICAgICAgICAgICAianNvbjUiOiAiMC41LjEiCisgICAgICAgICAgfQorICAgICAgICB9CisgICAg
ICB9CisgICAgfSwKKyAgICAidXRpbCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjAuMTAuMyIsCisg
ICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvdXRpbC8tL3V0aWwt
MC4xMC4zLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtZXZzYS9sQ0FVa1pJbmoyMy9n
N1RlVE5xd1BrPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAg
ICAgICAgImluaGVyaXRzIjogIjIuMC4xIgorICAgICAgfSwKKyAgICAgICJkZXBlbmRlbmNpZXMi
OiB7CisgICAgICAgICJpbmhlcml0cyI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIyLjAuMSIs
CisgICAgICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2luaGVy
aXRzLy0vaW5oZXJpdHMtMi4wLjEudGd6IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
c1gwSTB5YTBRajVXanY5eG41R3dzY3ZmYWZFPSIsCisgICAgICAgICAgImRldiI6IHRydWUKKyAg
ICAgICAgfQorICAgICAgfQorICAgIH0sCisgICAgInV0aWwtZGVwcmVjYXRlIjogeworICAgICAg
InZlcnNpb24iOiAiMS4wLjIiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnku
bnBtanMub3JnL3V0aWwtZGVwcmVjYXRlLy0vdXRpbC1kZXByZWNhdGUtMS4wLjIudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1SUTFOeWZwdzNuTW5ZdnZTMUtLSmdVR2FETTg9IiwKKyAg
ICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAidXRpbGEiOiB7CisgICAgICAidmVyc2lvbiI6
ICIwLjQuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
dXRpbGEvLS91dGlsYS0wLjQuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLWloYWdY
VVJXVjZPdXBlN01XeEtrK2xONWR5dz0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAg
ICJ1dGlscy1tZXJnZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy91dGlscy1tZXJnZS8tL3V0aWxzLW1l
cmdlLTEuMC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtQXBUN2tpdTVOMUZUVkJ4
UGNKWWpIeWg4aXZnPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInZhbGlkYXRl
LW5wbS1wYWNrYWdlLWxpY2Vuc2UiOiB7CisgICAgICAidmVyc2lvbiI6ICIzLjAuMSIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvdmFsaWRhdGUtbnBtLXBh
Y2thZ2UtbGljZW5zZS8tL3ZhbGlkYXRlLW5wbS1wYWNrYWdlLWxpY2Vuc2UtMy4wLjEudGd6IiwK
KyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1LQVM2dm5FcTB6ZVVXYXo3NGtkR3F5d3dQN3c9IiwK
KyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAic3BkeC1j
b3JyZWN0IjogIjEuMC4yIiwKKyAgICAgICAgInNwZHgtZXhwcmVzc2lvbi1wYXJzZSI6ICIxLjAu
NCIKKyAgICAgIH0KKyAgICB9LAorICAgICJ2YXJ5IjogeworICAgICAgInZlcnNpb24iOiAiMS4x
LjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Zhcnkv
LS92YXJ5LTEuMS4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtWjFOZXUybE1IVkls
ZEZlWVJtVXlQMWgralRjPSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInZlbmRv
cnMiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvdmVuZG9ycy8tL3ZlbmRvcnMtMS4wLjEudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1ONjF6eU81QmY3UFZnT2VGTVNNSDBuU0VmeUk9IiwKKyAg
ICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAidm0tYnJvd3NlcmlmeSI6IHsKKyAgICAgICJ2
ZXJzaW9uIjogIjAuMC40IiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5w
bWpzLm9yZy92bS1icm93c2VyaWZ5Ly0vdm0tYnJvd3NlcmlmeS0wLjAuNC50Z3oiLAorICAgICAg
ImludGVncml0eSI6ICJzaGExLVhYNmtXNzc1NUtiL1pmbFVPT0NvZkRWOVduTT0iLAorICAgICAg
ImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJpbmRleG9mIjogIjAu
MC4xIgorICAgICAgfQorICAgIH0sCisgICAgInZ1ZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIu
NC4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy92dWUv
LS92dWUtMi40LjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLUdCNXIrQ3NyQ0hJ
QjFQb1h0NHdnQmllbmpGM1dHWU9JYVRLMjd0RGs5NnNaeHBMNVJ3UnJzaTlJM0VDd0Z0OHg4cUFt
eFQyeGsxdnNZMlZwY245bkl3PT0iCisgICAgfSwKKyAgICAidnVlLWhvdC1yZWxvYWQtYXBpIjog
eworICAgICAgInZlcnNpb24iOiAiMi4xLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8v
cmVnaXN0cnkubnBtanMub3JnL3Z1ZS1ob3QtcmVsb2FkLWFwaS8tL3Z1ZS1ob3QtcmVsb2FkLWFw
aS0yLjEuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLW5LV0tiZzM1QjRWVXpoY0lh
SXRsZUhWTmh0ND0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJ2dWUtbG9hZGVy
IjogeworICAgICAgInZlcnNpb24iOiAiMTIuMi4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRw
czovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy92dWUtbG9hZGVyLy0vdnVlLWxvYWRlci0xMi4yLjIudGd6
IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhNTEyLUREK3NZYVdRMWVzWUwvdEV3SnBvRUdFL1BG
VXUzMmZwN2lPdU1mNFNyYTNkZ3hxcjRoYVRPa1ZhbTJWWTAvNUQ0TEc4ZUFjQjk0cnVYS2VRVzIv
aWt3PT0iLAorICAgICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAg
ICJjb25zb2xpZGF0ZSI6ICIwLjE0LjUiLAorICAgICAgICAiaGFzaC1zdW0iOiAiMS4wLjIiLAor
ICAgICAgICAianMtYmVhdXRpZnkiOiAiMS42LjE0IiwKKyAgICAgICAgImxvYWRlci11dGlscyI6
ICIxLjEuMCIsCisgICAgICAgICJscnUtY2FjaGUiOiAiNC4xLjEiLAorICAgICAgICAicG9zdGNz
cyI6ICI1LjIuMTciLAorICAgICAgICAicG9zdGNzcy1sb2FkLWNvbmZpZyI6ICIxLjIuMCIsCisg
ICAgICAgICJwb3N0Y3NzLXNlbGVjdG9yLXBhcnNlciI6ICIyLjIuMyIsCisgICAgICAgICJyZXNv
bHZlIjogIjEuNC4wIiwKKyAgICAgICAgInNvdXJjZS1tYXAiOiAiMC41LjYiLAorICAgICAgICAi
dnVlLWhvdC1yZWxvYWQtYXBpIjogIjIuMS4wIiwKKyAgICAgICAgInZ1ZS1zdHlsZS1sb2FkZXIi
OiAiMy4wLjEiLAorICAgICAgICAidnVlLXRlbXBsYXRlLWVzMjAxNS1jb21waWxlciI6ICIxLjUu
MyIKKyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAgICAibG9hZGVyLXV0
aWxzIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMS4wIiwKKyAgICAgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbG9hZGVyLXV0aWxzLy0vbG9hZGVyLXV0
aWxzLTEuMS4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLXlZcnZTSXZNN2FM
L3RlTGVaRzFxZFVRcDljMD0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAgICJy
ZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJiaWcuanMiOiAiMy4xLjMiLAorICAgICAgICAgICAg
ImVtb2ppcy1saXN0IjogIjIuMS4wIiwKKyAgICAgICAgICAgICJqc29uNSI6ICIwLjUuMSIKKyAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9LAorICAgICJ2dWUtc3R5bGUtbG9h
ZGVyIjogeworICAgICAgInZlcnNpb24iOiAiMy4wLjEiLAorICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3Z1ZS1zdHlsZS1sb2FkZXIvLS92dWUtc3R5bGUtbG9h
ZGVyLTMuMC4xLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEteUxZNXV5OGt1dm5YZ25U
Y0YrVHlaTUhlMmdnPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsK
KyAgICAgICAgImhhc2gtc3VtIjogIjEuMC4yIiwKKyAgICAgICAgImxvYWRlci11dGlscyI6ICIx
LjEuMCIKKyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAgICAibG9hZGVy
LXV0aWxzIjogeworICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMS4wIiwKKyAgICAgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvbG9hZGVyLXV0aWxzLy0vbG9hZGVy
LXV0aWxzLTEuMS4wLnRneiIsCisgICAgICAgICAgImludGVncml0eSI6ICJzaGExLXlZcnZTSXZN
N2FML3RlTGVaRzFxZFVRcDljMD0iLAorICAgICAgICAgICJkZXYiOiB0cnVlLAorICAgICAgICAg
ICJyZXF1aXJlcyI6IHsKKyAgICAgICAgICAgICJiaWcuanMiOiAiMy4xLjMiLAorICAgICAgICAg
ICAgImVtb2ppcy1saXN0IjogIjIuMS4wIiwKKyAgICAgICAgICAgICJqc29uNSI6ICIwLjUuMSIK
KyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICB9LAorICAgICJ2dWUtdGVtcGxh
dGUtY29tcGlsZXIiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjQuMiIsCisgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvdnVlLXRlbXBsYXRlLWNvbXBpbGVyLy0v
dnVlLXRlbXBsYXRlLWNvbXBpbGVyLTIuNC4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNo
YTUxMi1zS2EyQmR2aCtqNlY5ZVFTeUpSeHNmOGZhazBGdFFrQ1oxNDVhWUZEVndaQmhIT1R0MXZL
ck9ETG80UmVsSTFkVWN6S2xEQ3A1YVo5TUQ3dUpPWnd2dz09IiwKKyAgICAgICJkZXYiOiB0cnVl
LAorICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiZGUtaW5kZW50IjogIjEuMC4yIiwKKyAg
ICAgICAgImhlIjogIjEuMS4xIgorICAgICAgfQorICAgIH0sCisgICAgInZ1ZS10ZW1wbGF0ZS1l
czIwMTUtY29tcGlsZXIiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjUuMyIsCisgICAgICAicmVz
b2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvdnVlLXRlbXBsYXRlLWVzMjAxNS1j
b21waWxlci8tL3Z1ZS10ZW1wbGF0ZS1lczIwMTUtY29tcGlsZXItMS41LjMudGd6IiwKKyAgICAg
ICJpbnRlZ3JpdHkiOiAic2hhNTEyLWozVEJEdGpxejdwQzlYVXplU2VxRjVvZWtxUGFoeHlVSHNk
RytrWktESC9WL0RUZXhxNWluWWRMR3N0bnFDVWxqb0xDOUxUajNILzVobXlUb2VTZDFBPT0iLAor
ICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJ3YXRjaHBhY2siOiB7CisgICAgICAidmVy
c2lvbiI6ICIxLjQuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1q
cy5vcmcvd2F0Y2hwYWNrLy0vd2F0Y2hwYWNrLTEuNC4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5
IjogInNoYTEtU2hSeXZMdVZLOUNwdTBBMmdCK1ZUZnM1K3F3PSIsCisgICAgICAiZGV2IjogdHJ1
ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImFzeW5jIjogIjIuNS4wIiwKKyAgICAg
ICAgImNob2tpZGFyIjogIjEuNy4wIiwKKyAgICAgICAgImdyYWNlZnVsLWZzIjogIjQuMS4xMSIK
KyAgICAgIH0KKyAgICB9LAorICAgICJ3ZWJwYWNrIjogeworICAgICAgInZlcnNpb24iOiAiMi43
LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3dlYnBh
Y2svLS93ZWJwYWNrLTIuNy4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTUxMi1NakFB
MFpxTzFiYTdaUUpSbm9DZGJNNTZtbUZwaXBPUFV2L3ZRcHd3ZlNJNDJwNVBWRGRvaXVLMkFMMkZ3
RlVWZ1Q4NTlKcjQzYkZaWFJnL0xOc3F2Zz09IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAg
InJlcXVpcmVzIjogeworICAgICAgICAiYWNvcm4iOiAiNS4xLjEiLAorICAgICAgICAiYWNvcm4t
ZHluYW1pYy1pbXBvcnQiOiAiMi4wLjIiLAorICAgICAgICAiYWp2IjogIjQuMTEuOCIsCisgICAg
ICAgICJhanYta2V5d29yZHMiOiAiMS41LjEiLAorICAgICAgICAiYXN5bmMiOiAiMi41LjAiLAor
ICAgICAgICAiZW5oYW5jZWQtcmVzb2x2ZSI6ICIzLjQuMSIsCisgICAgICAgICJpbnRlcnByZXQi
OiAiMS4wLjMiLAorICAgICAgICAianNvbi1sb2FkZXIiOiAiMC41LjciLAorICAgICAgICAianNv
bjUiOiAiMC41LjEiLAorICAgICAgICAibG9hZGVyLXJ1bm5lciI6ICIyLjMuMCIsCisgICAgICAg
ICJsb2FkZXItdXRpbHMiOiAiMC4yLjE3IiwKKyAgICAgICAgIm1lbW9yeS1mcyI6ICIwLjQuMSIs
CisgICAgICAgICJta2RpcnAiOiAiMC41LjEiLAorICAgICAgICAibm9kZS1saWJzLWJyb3dzZXIi
OiAiMi4wLjAiLAorICAgICAgICAic291cmNlLW1hcCI6ICIwLjUuNiIsCisgICAgICAgICJzdXBw
b3J0cy1jb2xvciI6ICIzLjIuMyIsCisgICAgICAgICJ0YXBhYmxlIjogIjAuMi44IiwKKyAgICAg
ICAgInVnbGlmeS1qcyI6ICIyLjguMjkiLAorICAgICAgICAid2F0Y2hwYWNrIjogIjEuNC4wIiwK
KyAgICAgICAgIndlYnBhY2stc291cmNlcyI6ICIxLjAuMSIsCisgICAgICAgICJ5YXJncyI6ICI2
LjYuMCIKKyAgICAgIH0sCisgICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAgICAiYWp2Ijog
eworICAgICAgICAgICJ2ZXJzaW9uIjogIjQuMTEuOCIsCisgICAgICAgICAgInJlc29sdmVkIjog
Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2Fqdi8tL2Fqdi00LjExLjgudGd6IiwKKyAgICAg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtZ3Yrd0t5bm1ZcTVUdmNJSzhWbEhjR2M1eFRZPSIsCisg
ICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAg
ICAgImNvIjogIjQuNi4wIiwKKyAgICAgICAgICAgICJqc29uLXN0YWJsZS1zdHJpbmdpZnkiOiAi
MS4wLjEiCisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAidWdsaWZ5LWpzIjogewor
ICAgICAgICAgICJ2ZXJzaW9uIjogIjIuOC4yOSIsCisgICAgICAgICAgInJlc29sdmVkIjogImh0
dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3VnbGlmeS1qcy8tL3VnbGlmeS1qcy0yLjguMjkudGd6
IiwKKyAgICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtS2NWek1VZ0ZlN1RoOTEzelczcWN0eTVx
V2QwPSIsCisgICAgICAgICAgImRldiI6IHRydWUsCisgICAgICAgICAgInJlcXVpcmVzIjogewor
ICAgICAgICAgICAgInNvdXJjZS1tYXAiOiAiMC41LjYiLAorICAgICAgICAgICAgInVnbGlmeS10
by1icm93c2VyaWZ5IjogIjEuMC4yIiwKKyAgICAgICAgICAgICJ5YXJncyI6ICIzLjEwLjAiCisg
ICAgICAgICAgfSwKKyAgICAgICAgICAiZGVwZW5kZW5jaWVzIjogeworICAgICAgICAgICAgInlh
cmdzIjogeworICAgICAgICAgICAgICAidmVyc2lvbiI6ICIzLjEwLjAiLAorICAgICAgICAgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcveWFyZ3MvLS95YXJncy0z
LjEwLjAudGd6IiwKKyAgICAgICAgICAgICAgImludGVncml0eSI6ICJzaGExLTkrNTcyRmZkZkIw
dE9NRG5UdnZXZ2RGREg5RT0iLAorICAgICAgICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAg
ICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAgICAgICAgICJjYW1lbGNhc2UiOiAiMS4yLjEi
LAorICAgICAgICAgICAgICAgICJjbGl1aSI6ICIyLjEuMCIsCisgICAgICAgICAgICAgICAgImRl
Y2FtZWxpemUiOiAiMS4yLjAiLAorICAgICAgICAgICAgICAgICJ3aW5kb3ctc2l6ZSI6ICIwLjEu
MCIKKyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgICAgfQorICAgIH0sCisgICAgIndlYnBhY2stYnVuZGxlLWFuYWx5emVyIjogeworICAg
ICAgInZlcnNpb24iOiAiMi45LjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0
cnkubnBtanMub3JnL3dlYnBhY2stYnVuZGxlLWFuYWx5emVyLy0vd2VicGFjay1idW5kbGUtYW5h
bHl6ZXItMi45LjAudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS10WXZEVE1NTEovL2Jy
ejBBdnllcnB2b3B4dU09IiwKKyAgICAgICJkZXYiOiB0cnVlLAorICAgICAgInJlcXVpcmVzIjog
eworICAgICAgICAiYWNvcm4iOiAiNS4xLjEiLAorICAgICAgICAiY2hhbGsiOiAiMS4xLjMiLAor
ICAgICAgICAiY29tbWFuZGVyIjogIjIuMTEuMCIsCisgICAgICAgICJlanMiOiAiMi41LjciLAor
ICAgICAgICAiZXhwcmVzcyI6ICI0LjE1LjQiLAorICAgICAgICAiZmlsZXNpemUiOiAiMy41LjEw
IiwKKyAgICAgICAgImd6aXAtc2l6ZSI6ICIzLjAuMCIsCisgICAgICAgICJsb2Rhc2giOiAiNC4x
Ny40IiwKKyAgICAgICAgIm1rZGlycCI6ICIwLjUuMSIsCisgICAgICAgICJvcGVuZXIiOiAiMS40
LjMiLAorICAgICAgICAid3MiOiAiMi4zLjEiCisgICAgICB9CisgICAgfSwKKyAgICAid2VicGFj
ay1kZXYtbWlkZGxld2FyZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMTIuMCIsCisgICAgICAi
cmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvd2VicGFjay1kZXYtbWlkZGxl
d2FyZS8tL3dlYnBhY2stZGV2LW1pZGRsZXdhcmUtMS4xMi4wLnRneiIsCisgICAgICAiaW50ZWdy
aXR5IjogInNoYTEtMDA3Kyt5N2RwK0hUdGR2Z2NvbFJNaGxsRndrPSIsCisgICAgICAiZGV2Ijog
dHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6IHsKKyAgICAgICAgIm1lbW9yeS1mcyI6ICIwLjQuMSIs
CisgICAgICAgICJtaW1lIjogIjEuMy40IiwKKyAgICAgICAgInBhdGgtaXMtYWJzb2x1dGUiOiAi
MS4wLjEiLAorICAgICAgICAicmFuZ2UtcGFyc2VyIjogIjEuMi4wIiwKKyAgICAgICAgInRpbWUt
c3RhbXAiOiAiMi4wLjAiCisgICAgICB9CisgICAgfSwKKyAgICAid2VicGFjay1ob3QtbWlkZGxl
d2FyZSI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMTguMiIsCisgICAgICAicmVzb2x2ZWQiOiAi
aHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvd2VicGFjay1ob3QtbWlkZGxld2FyZS8tL3dlYnBh
Y2staG90LW1pZGRsZXdhcmUtMi4xOC4yLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTUx
Mi1kQjd1T25VV3NvalpJQUM2TndpNXYzdHVhUU5kMmk3cDR2RjVMc0pSeW9UT2dyMmZSWVFkTUtR
eFJaSVpaYXowY1RQQlg4cnZjV1UxQTYvbjdKVElUZz09IiwKKyAgICAgICJkZXYiOiB0cnVlLAor
ICAgICAgInJlcXVpcmVzIjogeworICAgICAgICAiYW5zaS1odG1sIjogIjAuMC43IiwKKyAgICAg
ICAgImh0bWwtZW50aXRpZXMiOiAiMS4yLjEiLAorICAgICAgICAicXVlcnlzdHJpbmciOiAiMC4y
LjAiLAorICAgICAgICAic3RyaXAtYW5zaSI6ICIzLjAuMSIKKyAgICAgIH0KKyAgICB9LAorICAg
ICJ3ZWJwYWNrLW1lcmdlIjogeworICAgICAgInZlcnNpb24iOiAiNC4xLjAiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3dlYnBhY2stbWVyZ2UvLS93ZWJw
YWNrLW1lcmdlLTQuMS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtYXRjaUk3UGd1
RGZsTWVSWmZCbWZrSk5oVVI0PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJl
cyI6IHsKKyAgICAgICAgImxvZGFzaCI6ICI0LjE3LjQiCisgICAgICB9CisgICAgfSwKKyAgICAi
d2VicGFjay1zb3VyY2VzIjogeworICAgICAgInZlcnNpb24iOiAiMS4wLjEiLAorICAgICAgInJl
c29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL3dlYnBhY2stc291cmNlcy8tL3dl
YnBhY2stc291cmNlcy0xLjAuMS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGE1MTItMDV0
TXhpcFVDd0hxWWFWUzh4YzdzWVBUbHk4UHpYYXlSQ0I0ZFR4TGhXVHFsS1Vpd0g2ZXptRWUwT1Ny
ZUwxYzMwTEF1QTNacW1jK3VFQlVHRkpEanc9PSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAg
ICJyZXF1aXJlcyI6IHsKKyAgICAgICAgInNvdXJjZS1saXN0LW1hcCI6ICIyLjAuMCIsCisgICAg
ICAgICJzb3VyY2UtbWFwIjogIjAuNS42IgorICAgICAgfSwKKyAgICAgICJkZXBlbmRlbmNpZXMi
OiB7CisgICAgICAgICJzb3VyY2UtbGlzdC1tYXAiOiB7CisgICAgICAgICAgInZlcnNpb24iOiAi
Mi4wLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9y
Zy9zb3VyY2UtbGlzdC1tYXAvLS9zb3VyY2UtbGlzdC1tYXAtMi4wLjAudGd6IiwKKyAgICAgICAg
ICAiaW50ZWdyaXR5IjogInNoYTUxMi1JMlVtdUpTUnIvVDhqaXNpUk9MVTNBM2x0citzd3BuaVNt
TlBJNE1sM1pDWDZ0Vm5Ec3Vaeks3RjJobDVqVHFiWkJXQ0VLbGo1SFJRaVBFeFhMZ0U4QT09IiwK
KyAgICAgICAgICAiZGV2IjogdHJ1ZQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAgICAi
d2hldC5leHRlbmQiOiB7CisgICAgICAidmVyc2lvbiI6ICIwLjkuOSIsCisgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvd2hldC5leHRlbmQvLS93aGV0LmV4dGVu
ZC0wLjkuOS50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLStIZlZ2MlNNbCtXcVZDK3R3
VzFxSlp1Y0VhRT0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJ3aGljaC1tb2R1
bGUiOiB7CisgICAgICAidmVyc2lvbiI6ICIxLjAuMCIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvd2hpY2gtbW9kdWxlLy0vd2hpY2gtbW9kdWxlLTEuMC4w
LnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtdTZZOHFHR1VpWlQvTUhjMkNKNDdsZ0pz
S2s4PSIsCisgICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgIndpbmRvdy1zaXplIjogewor
ICAgICAgInZlcnNpb24iOiAiMC4xLjAiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVn
aXN0cnkubnBtanMub3JnL3dpbmRvdy1zaXplLy0vd2luZG93LXNpemUtMC4xLjAudGd6IiwKKyAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1WRGpOTHFrN0lDNzZPaG4raUlldTU4bFBuSjA9IiwKKyAg
ICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAid29yZHdyYXAiOiB7CisgICAgICAidmVyc2lv
biI6ICIwLjAuMiIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5v
cmcvd29yZHdyYXAvLS93b3Jkd3JhcC0wLjAuMi50Z3oiLAorICAgICAgImludGVncml0eSI6ICJz
aGExLXQ1WnB1MExzdEFuNFBWZzhyVkxLRitxaFpEOD0iLAorICAgICAgImRldiI6IHRydWUKKyAg
ICB9LAorICAgICJ3cmFwLWFuc2kiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjEuMCIsCisgICAg
ICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvd3JhcC1hbnNpLy0vd3Jh
cC1hbnNpLTIuMS4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEtMlB3OUtFM1FWNVQr
aEpjOHJzM1J6NEpQM1lVPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICJyZXF1aXJlcyI6
IHsKKyAgICAgICAgInN0cmluZy13aWR0aCI6ICIxLjAuMiIsCisgICAgICAgICJzdHJpcC1hbnNp
IjogIjMuMC4xIgorICAgICAgfQorICAgIH0sCisgICAgIndyYXBweSI6IHsKKyAgICAgICJ2ZXJz
aW9uIjogIjEuMC4yIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy93cmFwcHkvLS93cmFwcHktMS4wLjIudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hh
MS10U1E5ano3QnFqWHhOa1lGdkEwUU51TUt0cDg9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAg
fSwKKyAgICAid3MiOiB7CisgICAgICAidmVyc2lvbiI6ICIyLjMuMSIsCisgICAgICAicmVzb2x2
ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvd3MvLS93cy0yLjMuMS50Z3oiLAorICAg
ICAgImludGVncml0eSI6ICJzaGExLWE1U3o1RWZMYWpZL2VGNnZsSzlqV2Vqb0hJQT0iLAorICAg
ICAgImRldiI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJzYWZlLWJ1ZmZl
ciI6ICI1LjAuMSIsCisgICAgICAgICJ1bHRyb24iOiAiMS4xLjAiCisgICAgICB9LAorICAgICAg
ImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAgInNhZmUtYnVmZmVyIjogeworICAgICAgICAgICJ2
ZXJzaW9uIjogIjUuMC4xIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3Ry
eS5ucG1qcy5vcmcvc2FmZS1idWZmZXIvLS9zYWZlLWJ1ZmZlci01LjAuMS50Z3oiLAorICAgICAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS0wbVBLVkdsczJLTUd0Y3BsVWVrdDVYa1krK2M9IiwKKyAg
ICAgICAgICAiZGV2IjogdHJ1ZQorICAgICAgICB9CisgICAgICB9CisgICAgfSwKKyAgICAieG1s
LWNoYXItY2xhc3NlcyI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIiwKKyAgICAgICJyZXNv
bHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy94bWwtY2hhci1jbGFzc2VzLy0veG1s
LWNoYXItY2xhc3Nlcy0xLjAuMC50Z3oiLAorICAgICAgImludGVncml0eSI6ICJzaGExLVpHVjRT
S0lQL0YzMWc2UXEyS0ozdEZFcnZFMD0iLAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAg
ICJ4dGVuZCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjQuMC4xIiwKKyAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy94dGVuZC8tL3h0ZW5kLTQuMC4xLnRneiIsCisg
ICAgICAiaW50ZWdyaXR5IjogInNoYTEtcGNiVk1yNWxiaVBiZ2c3N2xEb2ZCSm1OWTY4PSIsCisg
ICAgICAiZGV2IjogdHJ1ZQorICAgIH0sCisgICAgInkxOG4iOiB7CisgICAgICAidmVyc2lvbiI6
ICIzLjIuMSIsCisgICAgICAicmVzb2x2ZWQiOiAiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcv
eTE4bi8tL3kxOG4tMy4yLjEudGd6IiwKKyAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1iUlg3cUlU
QWhubkExMzZJNTNXZWdSNEgra0U9IiwKKyAgICAgICJkZXYiOiB0cnVlCisgICAgfSwKKyAgICAi
eWFsbGlzdCI6IHsKKyAgICAgICJ2ZXJzaW9uIjogIjIuMS4yIiwKKyAgICAgICJyZXNvbHZlZCI6
ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy95YWxsaXN0Ly0veWFsbGlzdC0yLjEuMi50Z3oi
LAorICAgICAgImludGVncml0eSI6ICJzaGExLUhCSDVJWThIWUlta2ZkVVMrVHhtbWFhb0hWST0i
LAorICAgICAgImRldiI6IHRydWUKKyAgICB9LAorICAgICJ5YXJncyI6IHsKKyAgICAgICJ2ZXJz
aW9uIjogIjYuNi4wIiwKKyAgICAgICJyZXNvbHZlZCI6ICJodHRwczovL3JlZ2lzdHJ5Lm5wbWpz
Lm9yZy95YXJncy8tL3lhcmdzLTYuNi4wLnRneiIsCisgICAgICAiaW50ZWdyaXR5IjogInNoYTEt
ZUM3Q0h2UURORitEQ29DTW85VVRyMVlHVWdnPSIsCisgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAg
ICJyZXF1aXJlcyI6IHsKKyAgICAgICAgImNhbWVsY2FzZSI6ICIzLjAuMCIsCisgICAgICAgICJj
bGl1aSI6ICIzLjIuMCIsCisgICAgICAgICJkZWNhbWVsaXplIjogIjEuMi4wIiwKKyAgICAgICAg
ImdldC1jYWxsZXItZmlsZSI6ICIxLjAuMiIsCisgICAgICAgICJvcy1sb2NhbGUiOiAiMS40LjAi
LAorICAgICAgICAicmVhZC1wa2ctdXAiOiAiMS4wLjEiLAorICAgICAgICAicmVxdWlyZS1kaXJl
Y3RvcnkiOiAiMi4xLjEiLAorICAgICAgICAicmVxdWlyZS1tYWluLWZpbGVuYW1lIjogIjEuMC4x
IiwKKyAgICAgICAgInNldC1ibG9ja2luZyI6ICIyLjAuMCIsCisgICAgICAgICJzdHJpbmctd2lk
dGgiOiAiMS4wLjIiLAorICAgICAgICAid2hpY2gtbW9kdWxlIjogIjEuMC4wIiwKKyAgICAgICAg
InkxOG4iOiAiMy4yLjEiLAorICAgICAgICAieWFyZ3MtcGFyc2VyIjogIjQuMi4xIgorICAgICAg
fSwKKyAgICAgICJkZXBlbmRlbmNpZXMiOiB7CisgICAgICAgICJjYW1lbGNhc2UiOiB7CisgICAg
ICAgICAgInZlcnNpb24iOiAiMy4wLjAiLAorICAgICAgICAgICJyZXNvbHZlZCI6ICJodHRwczov
L3JlZ2lzdHJ5Lm5wbWpzLm9yZy9jYW1lbGNhc2UvLS9jYW1lbGNhc2UtMy4wLjAudGd6IiwKKyAg
ICAgICAgICAiaW50ZWdyaXR5IjogInNoYTEtTXZ4TG44MnZoRi9OOStjN3VYeXNJbUh3cXdvPSIs
CisgICAgICAgICAgImRldiI6IHRydWUKKyAgICAgICAgfSwKKyAgICAgICAgImNsaXVpIjogewor
ICAgICAgICAgICJ2ZXJzaW9uIjogIjMuMi4wIiwKKyAgICAgICAgICAicmVzb2x2ZWQiOiAiaHR0
cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvY2xpdWkvLS9jbGl1aS0zLjIuMC50Z3oiLAorICAgICAg
ICAgICJpbnRlZ3JpdHkiOiAic2hhMS1FZ1lCVTNxUmJTbVVENU5ObzdTTldGbzVJVDA9IiwKKyAg
ICAgICAgICAiZGV2IjogdHJ1ZSwKKyAgICAgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICAg
ICAic3RyaW5nLXdpZHRoIjogIjEuMC4yIiwKKyAgICAgICAgICAgICJzdHJpcC1hbnNpIjogIjMu
MC4xIiwKKyAgICAgICAgICAgICJ3cmFwLWFuc2kiOiAiMi4xLjAiCisgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgICB9CisgICAgfSwKKyAgICAieWFyZ3MtcGFyc2VyIjogeworICAgICAgInZl
cnNpb24iOiAiNC4yLjEiLAorICAgICAgInJlc29sdmVkIjogImh0dHBzOi8vcmVnaXN0cnkubnBt
anMub3JnL3lhcmdzLXBhcnNlci8tL3lhcmdzLXBhcnNlci00LjIuMS50Z3oiLAorICAgICAgImlu
dGVncml0eSI6ICJzaGExLUtjenF3TnhQQThiSWUwcWZJWDNSako5MGh4dz0iLAorICAgICAgImRl
diI6IHRydWUsCisgICAgICAicmVxdWlyZXMiOiB7CisgICAgICAgICJjYW1lbGNhc2UiOiAiMy4w
LjAiCisgICAgICB9LAorICAgICAgImRlcGVuZGVuY2llcyI6IHsKKyAgICAgICAgImNhbWVsY2Fz
ZSI6IHsKKyAgICAgICAgICAidmVyc2lvbiI6ICIzLjAuMCIsCisgICAgICAgICAgInJlc29sdmVk
IjogImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2NhbWVsY2FzZS8tL2NhbWVsY2FzZS0zLjAu
MC50Z3oiLAorICAgICAgICAgICJpbnRlZ3JpdHkiOiAic2hhMS1NdnhMbjgydmhGL045K2M3dVh5
c0ltSHdxd289IiwKKyAgICAgICAgICAiZGV2IjogdHJ1ZQorICAgICAgICB9CisgICAgICB9Cisg
ICAgfQorICB9Cit9CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jl
c291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvcGFja2FnZS5q
c29uIGIvUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNo
aXRlY3R1cmUtZXhhbXBsZXMvdnVlanMtY2xpL3BhY2thZ2UuanNvbgppbmRleCBjMThiM2ZkNDA2
Y2YxN2ViMzM1MWU3OGQ4MzA2M2VhZWI2ZDUzZGViLi43ZjQwNzZhNzJlM2Y4Mzk5YTBiNjMxMmU2
ZDk5NjYyNTYzMWM1MTViIDEwMDY0NAotLS0gYS9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVy
L3Jlc291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvcGFja2Fn
ZS5qc29uCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9t
dmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9wYWNrYWdlLmpzb24KQEAgLTEsOSAr
MSw2IEBACiB7Ci0gICJuYW1lIjogInZ1ZS1jbGktdG9kb212YyIsCi0gICJ2ZXJzaW9uIjogIjEu
MC4wIiwKLSAgImRlc2NyaXB0aW9uIjogIlZ1ZS5qcyBUb2RvTVZDIiwKLSAgImF1dGhvciI6ICJU
aGUgVG9kb01WQyBhdXRob3JzIiwKICAgInByaXZhdGUiOiB0cnVlLAorICAiYXV0aG9yIjogIlRo
ZSBUb2RvTVZDIGF1dGhvcnMiLAogICAic2NyaXB0cyI6IHsKICAgICAiZGV2IjogIm5vZGUgYnVp
bGQvZGV2LXNlcnZlci5qcyIsCiAgICAgImJ1aWxkIjogIm5vZGUgYnVpbGQvYnVpbGQuanMiLApA
QCAtMTEsNDQgKzgsNDMgQEAKICAgfSwKICAgImRlcGVuZGVuY2llcyI6IHsKICAgICAiZGlyZWN0
b3IiOiAiXjEuMi44IiwKLSAgICAidnVlIjogIl4yLjEuMCIKKyAgICAidnVlIjogIl4yLjQuMiIK
ICAgfSwKICAgImRldkRlcGVuZGVuY2llcyI6IHsKLSAgICAiYXV0b3ByZWZpeGVyIjogIl42LjQu
MCIsCi0gICAgImJhYmVsLWNvcmUiOiAiXjYuMC4wIiwKLSAgICAiYmFiZWwtZXNsaW50IjogIl43
LjAuMCIsCi0gICAgImJhYmVsLWxvYWRlciI6ICJeNi4wLjAiLAotICAgICJiYWJlbC1wbHVnaW4t
dHJhbnNmb3JtLXJ1bnRpbWUiOiAiXjYuMC4wIiwKLSAgICAiYmFiZWwtcHJlc2V0LWVzMjAxNSI6
ICJeNi4wLjAiLAotICAgICJiYWJlbC1wcmVzZXQtc3RhZ2UtMiI6ICJeNi4wLjAiLAotICAgICJi
YWJlbC1yZWdpc3RlciI6ICJeNi4wLjAiLAorICAgICJhdXRvcHJlZml4ZXIiOiAiXjYuNy4yIiwK
KyAgICAiYmFiZWwtY29yZSI6ICJeNi4yMi4xIiwKKyAgICAiYmFiZWwtbG9hZGVyIjogIl42LjIu
MTAiLAorICAgICJiYWJlbC1wbHVnaW4tdHJhbnNmb3JtLXJ1bnRpbWUiOiAiXjYuMjIuMCIsCisg
ICAgImJhYmVsLXByZXNldC1lbnYiOiAiXjEuMy4yIiwKKyAgICAiYmFiZWwtcHJlc2V0LWVzMjAx
NSI6ICJeNi4yNC4xIiwKKyAgICAiYmFiZWwtcHJlc2V0LXN0YWdlLTIiOiAiXjYuMjIuMCIsCisg
ICAgImJhYmVsLXJlZ2lzdGVyIjogIl42LjIyLjAiLAogICAgICJjaGFsayI6ICJeMS4xLjMiLAot
ICAgICJjb25uZWN0LWhpc3RvcnktYXBpLWZhbGxiYWNrIjogIl4xLjEuMCIsCi0gICAgImNzcy1s
b2FkZXIiOiAiXjAuMjUuMCIsCi0gICAgImVzbGludCI6ICJeMy43LjEiLAotICAgICJlc2xpbnQt
ZnJpZW5kbHktZm9ybWF0dGVyIjogIl4yLjAuNSIsCi0gICAgImVzbGludC1sb2FkZXIiOiAiXjEu
NS4wIiwKLSAgICAiZXNsaW50LXBsdWdpbi1odG1sIjogIl4xLjMuMCIsCisgICAgImNvbm5lY3Qt
aGlzdG9yeS1hcGktZmFsbGJhY2siOiAiXjEuMy4wIiwKKyAgICAiY29weS13ZWJwYWNrLXBsdWdp
biI6ICJeNC4wLjEiLAorICAgICJjc3MtbG9hZGVyIjogIl4wLjI4LjAiLAogICAgICJldmVudHNv
dXJjZS1wb2x5ZmlsbCI6ICJeMC45LjYiLAotICAgICJleHByZXNzIjogIl40LjEzLjMiLAotICAg
ICJleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW4iOiAiXjEuMC4xIiwKLSAgICAiZmlsZS1sb2Fk
ZXIiOiAiXjAuOS4wIiwKLSAgICAiZnVuY3Rpb24tYmluZCI6ICJeMS4wLjIiLAotICAgICJodG1s
LXdlYnBhY2stcGx1Z2luIjogIl4yLjguMSIsCi0gICAgImh0dHAtcHJveHktbWlkZGxld2FyZSI6
ICJeMC4xNy4yIiwKLSAgICAianNvbi1sb2FkZXIiOiAiXjAuNS40IiwKLSAgICAic2VtdmVyIjog
Il41LjMuMCIsCisgICAgImV4cHJlc3MiOiAiXjQuMTQuMSIsCisgICAgImV4dHJhY3QtdGV4dC13
ZWJwYWNrLXBsdWdpbiI6ICJeMi4wLjAiLAorICAgICJmaWxlLWxvYWRlciI6ICJeMC4xMS4xIiwK
KyAgICAiZnJpZW5kbHktZXJyb3JzLXdlYnBhY2stcGx1Z2luIjogIl4xLjEuMyIsCisgICAgImh0
bWwtd2VicGFjay1wbHVnaW4iOiAiXjIuMjguMCIsCisgICAgImh0dHAtcHJveHktbWlkZGxld2Fy
ZSI6ICJeMC4xNy4zIiwKICAgICAib3BuIjogIl40LjAuMiIsCi0gICAgIm9yYSI6ICJeMC4zLjAi
LAotICAgICJzaGVsbGpzIjogIl4wLjcuNCIsCi0gICAgInVybC1sb2FkZXIiOiAiXjAuNS43IiwK
LSAgICAidnVlLWxvYWRlciI6ICJeMTAuMC4wIiwKLSAgICAidnVlLXN0eWxlLWxvYWRlciI6ICJe
MS4wLjAiLAotICAgICJ2dWUtdGVtcGxhdGUtY29tcGlsZXIiOiAiXjIuMS4wIiwKLSAgICAid2Vi
cGFjayI6ICJeMS4xMy4yIiwKLSAgICAid2VicGFjay1kZXYtbWlkZGxld2FyZSI6ICJeMS44LjMi
LAotICAgICJ3ZWJwYWNrLWhvdC1taWRkbGV3YXJlIjogIl4yLjEyLjIiLAotICAgICJ3ZWJwYWNr
LW1lcmdlIjogIl4wLjE0LjEiCisgICAgIm9wdGltaXplLWNzcy1hc3NldHMtd2VicGFjay1wbHVn
aW4iOiAiXjEuMy4wIiwKKyAgICAib3JhIjogIl4xLjIuMCIsCisgICAgInJpbXJhZiI6ICJeMi42
LjAiLAorICAgICJzZW12ZXIiOiAiXjUuMy4wIiwKKyAgICAic2hlbGxqcyI6ICJeMC43LjYiLAor
ICAgICJ1cmwtbG9hZGVyIjogIl4wLjUuOCIsCisgICAgInZ1ZS1sb2FkZXIiOiAiXjEyLjEuMCIs
CisgICAgInZ1ZS1zdHlsZS1sb2FkZXIiOiAiXjMuMC4xIiwKKyAgICAidnVlLXRlbXBsYXRlLWNv
bXBpbGVyIjogIl4yLjMuMyIsCisgICAgIndlYnBhY2siOiAiXjIuNi4xIiwKKyAgICAid2VicGFj
ay1idW5kbGUtYW5hbHl6ZXIiOiAiXjIuMi4xIiwKKyAgICAid2VicGFjay1kZXYtbWlkZGxld2Fy
ZSI6ICJeMS4xMC4wIiwKKyAgICAid2VicGFjay1ob3QtbWlkZGxld2FyZSI6ICJeMi4xOC4wIiwK
KyAgICAid2VicGFjay1tZXJnZSI6ICJeNC4xLjAiCiAgIH0sCiAgICJlbmdpbmVzIjogewogICAg
ICJub2RlIjogIj49IDQuMC4wIiwKZGlmZiAtLWdpdCBhL1BlcmZvcm1hbmNlVGVzdHMvU3BlZWRv
bWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9z
cmMvY29tcG9uZW50cy9Ub2Rvcy52dWUgYi9QZXJmb3JtYW5jZVRlc3RzL1NwZWVkb21ldGVyL3Jl
c291cmNlcy90b2RvbXZjL2FyY2hpdGVjdHVyZS1leGFtcGxlcy92dWVqcy1jbGkvc3JjL2NvbXBv
bmVudHMvVG9kb3MudnVlCmluZGV4IDgxZjY3M2ExMjc2NWQ3OTY2ZWE4MGFhMTM1YTE5ZTI2MjRl
NmUxZDguLjRjMjBiNGIzYWU0NTFmZjRkMzA0M2ZiMjM2MmEyNzgyMTA0MGQxMmEgMTAwNjQ0Ci0t
LSBhL1BlcmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL3RvZG9tdmMvYXJjaGl0
ZWN0dXJlLWV4YW1wbGVzL3Z1ZWpzLWNsaS9zcmMvY29tcG9uZW50cy9Ub2Rvcy52dWUKKysrIGIv
UGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlci9yZXNvdXJjZXMvdG9kb212Yy9hcmNoaXRlY3R1
cmUtZXhhbXBsZXMvdnVlanMtY2xpL3NyYy9jb21wb25lbnRzL1RvZG9zLnZ1ZQpAQCAtMTYsNyAr
MTYsNyBAQAogICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImVk
aXQiIHYtbW9kZWw9InRvZG8udGl0bGUiIEBrZXl1cC5lbnRlcj0iZG9uZUVkaXQiIEBibHVyPSJk
b25lRWRpdCIgdi10b2RvRm9jdXM9InRvZG8gPT09IGVkaXRpbmciPjwvaW5wdXQ+CiAgICAgICAg
ICAgICAgICAgPC9saT4KICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgIDwvZGl2PgorICAgICAg
ICA8L3NlY3Rpb24+CiAgICAgICAgIDxmb290ZXIgY2xhc3M9ImZvb3RlciIgdi1zaG93PSJ0b2Rv
cy5sZW5ndGggPiAwIj4KICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0b2RvLWNvdW50Ij4KICAg
ICAgICAgICAgIDxzdHJvbmc+e3sgcmVtYWluaW5nIH19PC9zdHJvbmc+IHt7IHJlbWFpbmluZyB8
IHBsdXJhbGl6ZSB9fSBsZWZ0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>318339</attachid>
            <date>2017-08-17 01:14:53 -0700</date>
            <delta_ts>2017-08-17 01:14:53 -0700</delta_ts>
            <desc>Results before and after the patch</desc>
            <filename>results.pdf</filename>
            <type>application/pdf</type>
            <size>96133</size>
            <attacher name="Mathias Bynens">mathias</attacher>
            
              <data encoding="base64">JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvYmoKPDwgL0xlbmd0aCA1IDAgUiAvRmlsdGVyIC9G
bGF0ZURlY29kZSA+PgpzdHJlYW0KeAG1W8uKJbkR3edX5A/4Tj4kZSaYXngwBu8GCrwwXswU7ilM
laHp/4c5ISkijm5m30elPUPRN8/NeOhEKEJSqb71v/Tf+nG8pC2kqQ/bZcgfPhxbwnTZhhj69z6t
l7CsS+wPsM5k312WsLf+H/1/+59+/j72r9/7Mf///bUf536ex8sQl6mH0TmrnuK0dO/9lC7LkOJo
GFwwzKRgjnS892/9V38rDpfQffgzSaXlsk5pSG4fA1RM5Nhaee4a3SltlzHCOOkXYsR7yAaoGOfB
R8SYyvIoFcN7YsfkDf9wjOzEcBnHLYbuAOtNlvwhTOyovL/70RlGOo2bI4x0mqxiGKPYGS5TmpaA
cB59klSYLnNY5lGycMkfkBCKaeCYMMU4UCaLtFBZwooj25ICMqsbYCcO2youhXEUtIcjyLEhzuuE
zAA+hFgiXLEU4CYwYnSuGJyzqJlsztkrfcrIFtMKUmA+rdMc5yE7sqVh2brGkTRjho5r48i2XNI8
Nqk2H2FVtjCng6j61JE1yX/iyDqKT7M4Mo/zMqWWkS1dNjiXU77oCiBpGzfm4wCai2AJVXWi6lIf
alRg+XZURPuU4CI7gQhMQ5o4AqFi155lWYqK6TNHSlSQHruoNGQEMBvj3KRHQATCBoxSQbHWuSrL
jqg+dWTOSRmFkTn/h0+xYE16BDC5hqFJDyTTZVmHJj2OMJXl9FAMgygTJg3zNo1JHFmmGLacp5K5
mAecp2JgnFZOj4goDGllPo6gIoi3bPKpLvNhG8YtyVRd1jxZ8CnUtG18AIthjE16RERljrFJD8Va
z6os+6H61BGwCjYmpEf+kGkJqCdxXVsyEJVlmJr0SBhnCsAoPRTj9Igqy444VsuYEIKog4caC3yS
ejaEJj3StF22dWvSQ4tz44g2NHauynJ6mL7CyIxyjQQJXC4dq6URdrQxdFouCXPZ995lQVYuv8p8
yiRPOQVydUIMCvGTMO+CCFktl455aVRHIGAlVDE4Z6XRZR0T5iUH11oc4UBrGkFCgURtUunOq6Ea
6Q8gL5AqCA1Flw5/k8awBkk8NItpCxL5xrqVMjffUxl0+14uHQPbtTSaB6ZPXdhFQFwoUZGUc0Ew
VkujY14a3egRVmWRci6r+oojJQIoSVFa1hUHYK0WQxXvvOKY5QOIyp5KYi1StSkD94MQ4WstQKaG
io17gLHXouSYytLYTZ+68GgQrIhQNmix4bl3hKksB0ExyJYCdKM/NWmpBQN9wRihAmSjP8S0eBEj
pk8dKRNDFi3JukSQ4oiZiLSMCEhKa/Qq80FYrVAYqS1xqUI55tVor684UtJSZuYolak1jcjWmuTi
Xn/czB7jmuSyqs84KCSAg7WOfOdCqSeIgmnxQmQOHEBeiEywQiCtpMKSV8+5O8u0TJvMy7re5whY
RWEnvBq5FxVDrjnmFcr8MH3qSI7/sAr/102xiQct3lyZVyM3WjFOD5NFU9PUIqx257y0l8Ub9Qqp
3/MopdIFtcIQI7RQM0eOMK1OcG6vzxix5RItnIojDSO64GI/EIWyeHM3DiDEBas+KSnKhupSH5Is
GkvjzosnyY6yym9d0PLHPiAAtUy6ExXj7KAy6W6oPvUDBxlg46qF1mbKQbFSR45QmTRHFOPsMFnm
A0HOa0F15EbpbLJDSx0WFDYqKpPuiK/dHPO1m8t6Oc1p2mMpLyH46W84mPkdBzNzn8868lmMn4KU
HZs8Y6S2RKeNNeTo6c1PXKo2O7epOrUPdFfPrMVkGs22w66a9Vk12VCrZnsmLSrD1t58gVo1W1+q
mkDsiI3YUhjKhak8k2aTUQx8vTUnVJnZ9uii7of1HIwYplOEce7oiRg2XXQOZRh1zQOMNRrbjRVj
yqTpFMowz3RorKd5jnnbpY1FY8VYM2mku55rGUaMH2NITzmtgeUqy5YlCr71KFFALatnOZbT1PoJ
sz2BnDXWzpsj66ypLo6CYhyFQ6zoL3OrnHmqFYzmjU6VVJqjoBgzXjFotPwnjR5VXkU4a6rRo4BR
F66g0eaBYqUMl7lAVkif8VfmAsq3HF1hJSJ81idoccYPMd0OZSF98JnQmSaOgWvSmsMWCVOFGlKo
U4gjoPo4Aoox23uMFHoAyIbzpbLMv2LOv4/XMYxNnSZ1CmX2dYGXya8PJfOuD/QsHLTKkkLv6zAn
X/e05eyn5LBaovT/AeRnci4pGPwi7lWYqFeImP8BVNUZ8/JaNeulX0ch7VZriOuzxK8QzwVS10ia
CSEOc0hOKaGdnzzvO3vDMUjZUWGWsicm3zVb+pIuy/JjzDSqLNt0/t07DoBa5ggcYmZFQwB9hnEI
VJpjoBhlOo1FA8MaPQpsRRjETMpHtCUK+sSMV6yZFZhX+Vgh/75JF965Ojtrqovqj1qDLo+Cvtdg
pp/0GeZRMP8x05RJw+CP1Xu13GKmkWQLlueas6Y+chQU4ygcYqaR9JnlXIVsO5OjYE8UhQOsq/sK
DAmB9AeaCSZFMTDM+c6a6vm4xcUVWggcogiYPo8A67MI2HsUFVdoAXDIZ4HrI/5Jn2Z8JqGOo8Hq
hkwXUWxDqMN8ko1dIb8+MPdHUDnWQppkBeWpnQCu1gk0TU6zQmhg9eiYNm8kSSacrCrs1Otg4Jgz
ryYYMnWkzDCn3vQx86bPST6CTJ3lvY4szy4hDvNFtrOVen1i7g8x2z9iFUs7TM58lePMV8wz3z1w
jDU6/6h4tmd1ylQjB0AxjwA01nE6BsumkfQZxiFQaY8Ba/Qg6HtUkciKR8Et532A7ttLFOyJonCI
+eYZkdSteY6ssWZyFAXDnPH+EPMNu+tzm1SBTJqiYBgxrhjPDfUbU9eiQBhFQaXBkjGpGDRaFBSD
Rsfcb5d1LPcAPcgo+wB9ghaMvqxFjzFcQ9nWhPckCnIppTz5XOhMjqPgRyRWd+w9joxr1ChAH1lx
1lQjR0ExjsIeY42kj6w4ayrNUVDMGfcxO8bskD6yAgaXAbuxVGZC+YzYWgTqt1fIMCxz4V++r0/O
v+nslEFFiGfTbNEgXY2c6M+zzJiqssS7abMecIxUXY0m8984Mv3XCHFb3uF5IEjV1ciZfmFbbwjl
1mtPzi/f4/EoBFzRqoTXj8y263TeKgb/nF99r8GKZhIsAFUb9ZJXnIrBKWfc9RNW1Dnh4n+OpnOk
cpThpN9qyjFW1JEy9X9/AQicH1wKMkz1wzuOVH7S8zyMNzNf98p+VcliRW8qdhXTssdVa9Bo5JPs
m8fNUP/9mVy3K5ekmlg+dvuMZFHtsWaRX465RkShYnw+ahj5TaSbZcVcnzBmMTTbHwcYzy7NiYzl
m3rMIvSV23umT6zILbMt//5Nftew/1QOuiccdHff5OT7kuKEX8rJy/Ypr25xkti/fvR/eZEnOSL/
E/6d+zFeJtxgm/qXD5yYyyXGl6/dP/s/D7jmgZ/1CxB52OqHedIP/PUwK7qowG9ZusvS/rW+N4Vh
mO3dhHd/+9L/q3/5e//XF1zgFP/yIf7dMXW7MYX5eFR9HtUMt6OOKo7V2+xgh3EOcGUM7MpdD/as
hjUYrx3xetcDYTp7EJ/yYM+BXOE6iuxdD4yD9JQHew4iVjPqwec4QHZ4QtyNwp6DhF9rqAec3Y9z
gDR5woM9BwnXp9SDz3GAWfeEB3sOlnkzDz7Hwa9PebDnYMHNunMcNIXhE3mwBlS1gyr3eB68nuRg
3Sbz4HN5gGo5onSeyoUN95R/zIMU5LgNQ1jxL2pkwHNA8HP9DuuX7gnb+ywYh/FmGqDsieGgHSGA
8mJZ3EKVfsL6fhbIL7j2Xa7EH/flh4AUy9Zk4FEbHD5np9AbShfLr1Z/3DkRecWr2tmExFF+8MWo
/QW35suD1Ncx9xj8ixaZf/gt0zPIt6JnwY+4gp5QrCo3Ed8MrycjgxstuIBrBJX0RLpiGSDdaPwV
PzD48p/SmO/Ov33s8fcENy3IOEHeGQs4t7o3BlTSExYSJs49C+dYwrXfmxbOs4T7TDctSKTPxWHB
kcI9lrCuOBEH3AO7awE15IyFRS6k354PWBecsLDhyOiWBYn0OZa29SAOZWmf57RYOMfSOGDLuxvE
/9QEzpWXUrQPWib4sQqMa1i5W+WupbXRyqhtMnJ/KcW+lHNb/FvFD1+1D2gPsA7YlPjZaj1qfG6Y
4gIqcfFJOqh2Tvejvmo2sj/STcQniNibuT1AIYC6e0K8clfB26P8NP1CfTb5WW1nC9o1pn+Ti7lz
6CCySmlW0mykT0nDMRONPWlc2tZyJ9O2ltMKr6IdPdOqS7PoaEMaYrzMWC1Y8MuqlRqSkoCBPTwJ
90uC2pQ0xXZWpBietFCa0k0Lz0zC/RhqU7pp4ZlSdWChNKWbFs6xVJvSTQvPFMP9GGpT+j9aqE3p
poVzcVhLU7pp4VwcalO6aQHHIidmXG1KrQXqGDLjULlOWNCmdNPEuWTCYff6w52EHpHZ5iV3JNnW
oLKiydS2g2rutRore3vdmo3vR1CKrWE0LSj3A6jO6/OxqpbqLfs2qehmIu8jpGhLrZYvhWh8n59l
JSCfBZeWUzYy3nYe2oA8U/H389MqfsvsVcWXoZ6bQ3FIpbPctCO975mtwn48EemXO9hdO+eyHX8m
96Cdc/M2xe0BO7J2wC76xOxdxuEBOxKfc3mwpPFBO89s6PZ5sMrvYGQlczcPntl0HdjBXbDH7Jxb
beDvQx+wIyvEc/HB364f2aFOIcVK8uDc/Bnx950wdBWeAzNUDn75A8GTaeYKZW5kc3RyZWFtCmVu
ZG9iago1IDAgb2JqCjM1NTcKZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2UgL1BhcmVudCAz
IDAgUiAvUmVzb3VyY2VzIDYgMCBSIC9Db250ZW50cyA0IDAgUiAvTWVkaWFCb3ggWzAgMCA1OTUg
ODQyXQo+PgplbmRvYmoKNiAwIG9iago8PCAvUHJvY1NldCBbIC9QREYgL1RleHQgXSAvQ29sb3JT
cGFjZSA8PCAvQ3MxIDcgMCBSID4+IC9FeHRHU3RhdGUgPDwgL0dzMgoxMCAwIFIgL0dzMSAxMSAw
IFIgPj4gL0ZvbnQgPDwgL0cyIDkgMCBSIC9HMSA4IDAgUiA+PiA+PgplbmRvYmoKMTAgMCBvYmoK
PDwgL1R5cGUgL0V4dEdTdGF0ZSAvY2EgMSA+PgplbmRvYmoKMTEgMCBvYmoKPDwgL1R5cGUgL0V4
dEdTdGF0ZSAvY2EgMC4xNDkgPj4KZW5kb2JqCjEyIDAgb2JqCjw8IC9MZW5ndGggMTMgMCBSIC9O
IDMgL0FsdGVybmF0ZSAvRGV2aWNlUkdCIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4
AZ2Wd1RT2RaHz703vdASIiAl9Bp6CSDSO0gVBFGJSYBQAoaEJnZEBUYUESlWZFTAAUeHImNFFAuD
gmLXCfIQUMbBUURF5d2MawnvrTXz3pr9x1nf2ee319ln733XugBQ/IIEwnRYAYA0oVgU7uvBXBIT
y8T3AhgQAQ5YAcDhZmYER/hEAtT8vT2ZmahIxrP27i6AZLvbLL9QJnPW/3+RIjdDJAYACkXVNjx+
JhflApRTs8UZMv8EyvSVKTKGMTIWoQmirCLjxK9s9qfmK7vJmJcm5KEaWc4ZvDSejLtQ3pol4aOM
BKFcmCXgZ6N8B2W9VEmaAOX3KNPT+JxMADAUmV/M5yahbIkyRRQZ7onyAgAIlMQ5vHIOi/k5aJ4A
eKZn5IoEiUliphHXmGnl6Mhm+vGzU/liMSuUw03hiHhMz/S0DI4wF4Cvb5ZFASVZbZloke2tHO3t
WdbmaPm/2d8eflP9Pch6+1XxJuzPnkGMnlnfbOysL70WAPYkWpsds76VVQC0bQZA5eGsT+8gAPIF
ALTenPMehmxeksTiDCcLi+zsbHMBn2suK+g3+5+Cb8q/hjn3mcvu+1Y7phc/gSNJFTNlReWmp6ZL
RMzMDA6Xz2T99xD/48A5ac3Jwyycn8AX8YXoVVHolAmEiWi7hTyBWJAuZAqEf9Xhfxg2JwcZfp1r
FGh1XwB9hTlQuEkHyG89AEMjAyRuP3oCfetbEDEKyL68aK2Rr3OPMnr+5/ofC1yKbuFMQSJT5vYM
j2RyJaIsGaPfhGzBAhKQB3SgCjSBLjACLGANHIAzcAPeIACEgEgQA5YDLkgCaUAEskE+2AAKQTHY
AXaDanAA1IF60AROgjZwBlwEV8ANcAsMgEdACobBSzAB3oFpCILwEBWiQaqQFqQPmULWEBtaCHlD
QVA4FAPFQ4mQEJJA+dAmqBgqg6qhQ1A99CN0GroIXYP6oAfQIDQG/QF9hBGYAtNhDdgAtoDZsDsc
CEfCy+BEeBWcBxfA2+FKuBY+DrfCF+Eb8AAshV/CkwhAyAgD0UZYCBvxREKQWCQBESFrkSKkAqlF
mpAOpBu5jUiRceQDBoehYZgYFsYZ44dZjOFiVmHWYkow1ZhjmFZMF+Y2ZhAzgfmCpWLVsaZYJ6w/
dgk2EZuNLcRWYI9gW7CXsQPYYew7HA7HwBniHHB+uBhcMm41rgS3D9eMu4Drww3hJvF4vCreFO+C
D8Fz8GJ8Ib4Kfxx/Ht+PH8a/J5AJWgRrgg8hliAkbCRUEBoI5wj9hBHCNFGBqE90IoYQecRcYimx
jthBvEkcJk6TFEmGJBdSJCmZtIFUSWoiXSY9Jr0hk8k6ZEdyGFlAXk+uJJ8gXyUPkj9QlCgmFE9K
HEVC2U45SrlAeUB5Q6VSDahu1FiqmLqdWk+9RH1KfS9HkzOX85fjya2Tq5FrleuXeyVPlNeXd5df
Lp8nXyF/Sv6m/LgCUcFAwVOBo7BWoUbhtMI9hUlFmqKVYohimmKJYoPiNcVRJbySgZK3Ek+pQOmw
0iWlIRpC06V50ri0TbQ62mXaMB1HN6T705PpxfQf6L30CWUlZVvlKOUc5Rrls8pSBsIwYPgzUhml
jJOMu4yP8zTmuc/jz9s2r2le/7wplfkqbip8lSKVZpUBlY+qTFVv1RTVnaptqk/UMGomamFq2Wr7
1S6rjc+nz3eez51fNP/k/IfqsLqJerj6avXD6j3qkxqaGr4aGRpVGpc0xjUZmm6ayZrlmuc0x7Ro
Wgu1BFrlWue1XjCVme7MVGYls4s5oa2u7act0T6k3as9rWOos1hno06zzhNdki5bN0G3XLdTd0JP
Sy9YL1+vUe+hPlGfrZ+kv0e/W3/KwNAg2mCLQZvBqKGKob9hnmGj4WMjqpGr0SqjWqM7xjhjtnGK
8T7jWyawiZ1JkkmNyU1T2NTeVGC6z7TPDGvmaCY0qzW7x6Kw3FlZrEbWoDnDPMh8o3mb+SsLPYtY
i50W3RZfLO0sUy3rLB9ZKVkFWG206rD6w9rEmmtdY33HhmrjY7POpt3mta2pLd92v+19O5pdsN0W
u067z/YO9iL7JvsxBz2HeIe9DvfYdHYou4R91RHr6OG4zvGM4wcneyex00mn351ZzinODc6jCwwX
8BfULRhy0XHhuBxykS5kLoxfeHCh1FXbleNa6/rMTdeN53bEbcTd2D3Z/bj7Kw9LD5FHi8eUp5Pn
Gs8LXoiXr1eRV6+3kvdi72rvpz46Pok+jT4Tvna+q30v+GH9Av12+t3z1/Dn+tf7TwQ4BKwJ6Aqk
BEYEVgc+CzIJEgV1BMPBAcG7gh8v0l8kXNQWAkL8Q3aFPAk1DF0V+nMYLiw0rCbsebhVeH54dwQt
YkVEQ8S7SI/I0shHi40WSxZ3RslHxUXVR01Fe0WXRUuXWCxZs+RGjFqMIKY9Fh8bFXskdnKp99Ld
S4fj7OIK4+4uM1yWs+zacrXlqcvPrpBfwVlxKh4bHx3fEP+JE8Kp5Uyu9F+5d+UE15O7h/uS58Yr
543xXfhl/JEEl4SyhNFEl8RdiWNJrkkVSeMCT0G14HWyX/KB5KmUkJSjKTOp0anNaYS0+LTTQiVh
irArXTM9J70vwzSjMEO6ymnV7lUTokDRkUwoc1lmu5iO/kz1SIwkmyWDWQuzarLeZ0dln8pRzBHm
9OSa5G7LHcnzyft+NWY1d3Vnvnb+hvzBNe5rDq2F1q5c27lOd13BuuH1vuuPbSBtSNnwy0bLjWUb
326K3tRRoFGwvmBos+/mxkK5QlHhvS3OWw5sxWwVbO3dZrOtatuXIl7R9WLL4oriTyXckuvfWX1X
+d3M9oTtvaX2pft34HYId9zd6brzWJliWV7Z0K7gXa3lzPKi8re7V+y+VmFbcWAPaY9kj7QyqLK9
Sq9qR9Wn6qTqgRqPmua96nu37Z3ax9vXv99tf9MBjQPFBz4eFBy8f8j3UGutQW3FYdzhrMPP66Lq
ur9nf19/RO1I8ZHPR4VHpcfCj3XVO9TXN6g3lDbCjZLGseNxx2/94PVDexOr6VAzo7n4BDghOfHi
x/gf754MPNl5in2q6Sf9n/a20FqKWqHW3NaJtqQ2aXtMe9/pgNOdHc4dLT+b/3z0jPaZmrPKZ0vP
kc4VnJs5n3d+8kLGhfGLiReHOld0Prq05NKdrrCu3suBl69e8blyqdu9+/xVl6tnrjldO32dfb3t
hv2N1h67npZf7H5p6bXvbb3pcLP9luOtjr4Ffef6Xfsv3va6feWO/50bA4sG+u4uvnv/Xtw96X3e
/dEHqQ9eP8x6OP1o/WPs46InCk8qnqo/rf3V+Ndmqb307KDXYM+ziGePhrhDL/+V+a9PwwXPqc8r
RrRG6ketR8+M+YzderH0xfDLjJfT44W/Kf6295XRq59+d/u9Z2LJxPBr0euZP0reqL45+tb2bedk
6OTTd2nvpqeK3qu+P/aB/aH7Y/THkensT/hPlZ+NP3d8CfzyeCZtZubf94Tz+wplbmRzdHJlYW0K
ZW5kb2JqCjEzIDAgb2JqCjI2MTIKZW5kb2JqCjcgMCBvYmoKWyAvSUNDQmFzZWQgMTIgMCBSIF0K
ZW5kb2JqCjE1IDAgb2JqCjw8IC9MZW5ndGggMTYgMCBSIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+
CnN0cmVhbQp4Aa1by4oluRHd51fkD/hOPqR8gOmFjTF4N1DghfFipnG7MF2Gpv8ffCKkiDiqzLpV
t9IzFH11KuOhE6EISTfrR/9r/6Mfx9uyp2Xq034b9MNLYGuabvuQU/+9X7ZbWrc19ydY57LfQ5aw
5/7v/X/7X/78c+y//uxH/f/n136c+3keb0Nepx5GZ1U95WntvvfTcluHJY+OwQXHXArmSMf3/rn/
Fk/l4Za6lxiT1LLetmkZlrCPCRomcmytjLtG97LstzHDOOkXYsR7yCaoGOchZsSYyfIsDcNzYsfl
HX8JjOzkdBvHPafuBOtdlvwhTOyYfDz70jlGOp2bM4x0uqxhmKPYGW7TMq0J4Tz7JKkw3ea0zqNk
4aofkBCGWeCYMMM4UC6LtDBZwoojcxrHdcndcFtn/Q8u5YL1cAQ5NuR5m5AZiOGQcolwxZYEN4ER
o3PF4JxHzWU1Z1/pM0b2YdyXYYP5tCk58ikP+zakrnFkmbFCx61xZF9vyzw2qTafYVW2MGeTqPrc
keABDq1bFkfmPO1pbBnZl9u+7mVJFV0JJO3jznycQHMRLKGqTlRd5sMmXKw7LG/wIM2T+rBPY14b
H0T7tCx13VUnEIFpWCaOQKrYa89UlqLi+syRfUnrkHdJjyFv25TEkeocRyWB2ZznJj0SIpB2YJQK
hrXOVVl2xPSZIwsSYd6FhxVuzHkWRxb5b23SI4HJLSGPtBIVRjJYWkEkO3KGmSynh2GQLQtmn9cp
Jw2NLeE05mVDEJgQ0T9OG2dHRhCGZWu8OIGKIJ7ytWe63IWkiwUMLGWBCBfgBCna+gAS4VuTHRlB
mXNussOw1rMqy36YPndEF0hCdmyVAjjSuoBwrMPU5MWCGS4JGOWFYZwX2WTZhcBKOJJkJXIMEXZW
MipaWscmL5Zpv+3b3uSFVeXGEetk7FyV5bxwfYULqeQb8lMWaOVgRulehjlx6TSsszIJ094kTjFw
pWX3e2+yoU9Ng/xd0g+NFrTq0hjEhVikIYj41dIZWJRJc6Sj0mlYP5ssOxJYXRu6RnWRSuVMM5xL
+kFLJxnV0ok16lDUSTd5hOBZEWQnHCo+5GIZFKzKipZv1O5x1dJpBjsvdexElMnw4gxDVGrpPOqz
xVE7qzgSHSU6qwn2VDoNwwbSS2c4coYhAlp2iRDXV9LjXmZ6cSMOqDC6acOwABxzWTaNWGjxNQ5Q
dbEoJCH0w7hIZkpH2TZZnTbfvlY4Toiolm7yDCrVEo4ddJkPdzYWUqpCDlxKtUTJDqxWS16mVC3J
M6+WIWv6zJEPZmbvdY8cofroRg1rnav1lgl5XTP3UimxOJc0j/OqvVSb2dAw4jWOHYn6GI5UjNPD
ZckRwmq9kO3dLL0UZwe0VV2rkR4ZpC4LNmC+gXxBphiGdVk3n74dpwoaWK2g4pzLRlW1wmV7Ctpd
SOoiY5EjIVgrHnIksKigYfQMq7ISLnfE9HmOyDYTm1upXlo4hZu6M24cqVWP/KjlEvN0N6KCOhQV
NJx4VUEPhQuJQkcCl6MKGlhUSzdJm0/DovoSGa7PyFjqngZkSEPH+RTVQwI17RyVzisesxHV0ozi
MOVVNTBEoFZQm0ToM0fK3pP6mjgi56akPcUEYcA3n4Z1VjsRdjd6hrksM2L61BFppvUcAkb0bCTF
PWPTsWytI1FPzY8+iqe50R0hZKZuWzlHA7JFe/egRgaR5WX3GRgiILvPhowzDFHRWkxk5IpB1hyx
E0nJCT2bxDaYjJaayIuWaqfR0Z9hXovZEURF9rRYadWRsg1GLF5tg90Fr3yUobT7NBe6E6x3WXKB
MHWhx5ZPlsQvf8Wd0r9xpzR3ek2j10hxgVOPQ8gjkOjHC7oTwA0OjZ79ssi0+ZVT1RnNruj0MWlx
GcOUN78cqH62Y5pqteRUmhbMwGTkvq3ckkhEvC1Vze1YV+GIHdnaV80gv4xNi3SKepHUssGXa8ps
e+tSj/J2hRcMd96/6gUdyJKrFPHW2XFddIXmWDRR6KpXhIFFf1Sb5aKQbD47U3jSLxidPceI9XPM
/TZZthzMh49Id2OSNDrj55hbMVnm71mvOK33lyjYKBjHccV3B57ndoRBfCWStfW+ioLJcRQMY8Yr
Bl2e86QxospWgjXTSNeY5rFkX2wPfBaE+X0V6XMsouAcSN3zKJhlWgdmGUxEZMJvki1W4GGJAgq3
3rqVKNiIo3CK2REORSp2I7wSTIpjYBjzfcRIYYSAtjfBmMlyBAyLCDRHYY+KKyR1Ninm3/QF/6wv
uLbnmH+3EfQ7JOzrDkruGpX82Oh5tr8B1WOrFHq0ehlpOJ0tEyPuDSLq34CqukZZNUg1yISJeoOC
eXUP8+PlIE9Vdc48YUS96QvmSZ8Tb08R76TOiSdM8972s1hXQiNWlFy3YvUE96eYbzRVykeR+dh4
Vl3MvmFM/ynmGo3/diMblJk0B8AwjsARY42kzy1zCEyaY2BYMB5zDiyuROCNVS7f5Nfq45v5EgWs
IblrRrpEFCrWRAaLqN5QSBRiFFEAWnVxFEKX13t7DvoJc/0WBbeiCy1YM40cBcM4CqdYsQKNpM8t
cxRMmqNgGDNeMWiM5RHsRBQC07XgJxmNgo8iCnz+8cjEkQJBiAHFwDVFDFiT8+3PUQxCoYcgoKhD
oY8iQPq8476F4XofobcAqLoCEf8uS/w7RlyfYKTQ6ZfHzIZQh/Uk3ygU8usguLff86KgU5QqqGe0
ZisaaoPAohyagnq3R5CrI0nHgnv3jKl3fcH8GeTqjHkoKxi8Y+qrMDPv+jzJba4ci1AXxFcMAS95
j/WiB9lCvY2Y+yPW0WlSyMda0u9GWvJNLjIfT/qx2biGrgPGGoN/thKUmXQEgDVGBOw5qkjkN+mj
uRhroZFjEBojCKeYayR9jmkU/MSuUfARReEUi69zEIXmKO2suRxFwTFaBIbxwiCNoc++fpJYO2sm
jQV8wKDRo+DPMRYaQzYwWggmzecAw5DPHoVTLDRaFJwxXW7CoF0JlyjYiKNwiuENmn1b4AF2s7jm
tRF1AdIcTIYuWwvhQUSGNZIsWQnWTCNHwbBgnC9nIjLhN+kjK8GaaYy1wBojCvYcRyaskD6yAgbX
AaexpbSC+pkicI4MA+7+9TQsv6+j5875cp2vkeC5d80ejdDVajL9keuu37lzbc5wQXg1hP5Wk+t3
jlz/KwTanG+32CBVVyPn+pHz9uJPOQPYCFyCqXIPdI7h7bJKeCofI9vjpSWqOaQl+I0Xqwgr6ixQ
UGb6g1uTozwn/cG4PUe5b+pImekPjkwuMtx5wqSN35hnYHiuqCNlpv/47hLqTH2fiW/+DGObFKlC
u93xYaTMl1gZimh6/AzDk44RW0Y0W3PMZLVCeowMxRo9YryijMfYXLoVaPQQuD6Zi0fPUUQB2yL9
/syxiChrJNL9lT3HSPbZYxj3oi9HrFldMRfEv7xkSCw61liRF+R2feFqwnce9VNg9aJ7kovuH3Lz
jddgJrzXIN/P+Cc5musF79eX/k9PMpIr8j/g37kf823Cy3dT9/SCG3OM+6dv/T/6Pw7DlPCzfwGC
wbzWD9NmSB4A28B//TuEti+dCsWv7TnRGaoWPPv7l/6f/dPf+r884ZVTcUvv7t+dSneYSppjMv1h
MjO8zeZ6Hqvb6mCH6Q1wZUzsyrse9EcPtnSHzjseCMHqQX7IgyMH8tKZBfRzHCwPeXDkIGMTYx4c
U+ojHCCTIiHejcKRgwXfZpgHn+MAafKAB0cOlm1zDz7HAVbdAx4cOVjxHsE1Dn57yIMjB+s+uAef
46ApDJ/Igw2vqF7j4OtFDja8omkefI4DVMsRpfNSLux4s9q8OK4HKch5H4a04V/UyIRxQvC1ficU
8gdsH7NgHMa7aYCyJ4aTdY8EyotlcQtV+gHrx1Ug32uV5nYybxT8hBRTazLxPNmgOoXeULoY/hhA
afGuIRypyFc8ap1NSBzlB7pG6y94z78MpMeM2mPwL1qk/vBTrmeQ34qeFT/iCnpCocS4yfjN8PVi
ZPBXHXiPxQkq6Yn2Jd1ffP0NP6Dn6T+lMb+7/o6xx1tMdy2APMntKxZwg3VvDsrzJQsLFs57FhCf
C3PAO9vvWkA3uGBhHdd3LWDnc8UCTuTvsYR9xQUL+BOAdy2gaF2xsMp7XW+vB8klVKkLFnbcHt2z
ICsOS/yKhe0kDnVHL2v6+hzGAUfTwyT+ryZwUlnfOpHMyCJvD3hvs5Rl6VpWG72M+iFD+0sp9qWc
exn3ip++Wem3HuAdMHOJn73Wi0lpmOICKnHxSQDrnOFHfdRtqD/SQMQniPiT2h6gEEA9PSFe2lXw
9Cg/Tb8wn11+NttqwbrG9C9yUTuHTUJVSrOSZiN9ShqOm2jsSeOSJ+W32smsrWmrwKNoR4+06tIs
OjqH1nZkoS/9+kI7Om4Gajt604IsjkdK+YmF0o7uWnik4R0t1Hb0pgUpIY80ixMLpR3dtYDj0YeL
1NFCbUd3LTyy8TixUNrRXQuPNIujhdqO3rQguXTRQmlHb1q4Hunajt60IHN4pGkfWdpLO2otUK94
tOEdLVg7umviWjLhdnt78wxhl2PefvQEJQca1FS0l9pwQGVUaezp/XFvM3ESQRH2VtE0H+0EUK07
87GqlrotpxGp5W5CTxBSrqVKyy+FaPxexxJW+Sy4NJvS36LhfOjo8UitP0Yt5XybcTJ8xSxV++rc
QweQo508LB+wI5ReS5GM9Ht/PmLnkW32cT74g+AP2JEu/sg28sRO3j9gR+ZzrV+u4/BBO9fmsy7j
B+1c686bfOnyoby+Nh/8de0H7Eh8rnVq/K3aB+1c63X7dhof6hRSD2Q+1+yM+PtTTOhV2TkxQ1uo
X/8HSnuPPgplbmRzdHJlYW0KZW5kb2JqCjE2IDAgb2JqCjM2NDcKZW5kb2JqCjE0IDAgb2JqCjw8
IC9UeXBlIC9QYWdlIC9QYXJlbnQgMyAwIFIgL1Jlc291cmNlcyAxNyAwIFIgL0NvbnRlbnRzIDE1
IDAgUiAvTWVkaWFCb3gKWzAgMCA1OTUgODQyXSA+PgplbmRvYmoKMTcgMCBvYmoKPDwgL1Byb2NT
ZXQgWyAvUERGIC9UZXh0IF0gL0NvbG9yU3BhY2UgPDwgL0NzMSA3IDAgUiA+PiAvRXh0R1N0YXRl
IDw8IC9HczIKMTAgMCBSIC9HczEgMTEgMCBSID4+IC9Gb250IDw8IC9HMyAxOCAwIFIgL0c0IDE5
IDAgUiA+PiA+PgplbmRvYmoKMyAwIG9iago8PCAvVHlwZSAvUGFnZXMgL01lZGlhQm94IFswIDAg
NTk1IDg0Ml0gL0NvdW50IDIgL0tpZHMgWyAyIDAgUiAxNCAwIFIgXSA+PgplbmRvYmoKMjAgMCBv
YmoKPDwgL1R5cGUgL0NhdGFsb2cgL1BhZ2VzIDMgMCBSIC9WZXJzaW9uIC8xLjQgPj4KZW5kb2Jq
CjkgMCBvYmoKPDwgL1R5cGUgL0ZvbnQgL1N1YnR5cGUgL1R5cGUwIC9FbmNvZGluZyAvSWRlbnRp
dHktSCAvRGVzY2VuZGFudEZvbnRzIFsyMSAwIFJdCi9CYXNlRm9udCAvS1dISE5GK2ZvbnQwMDAw
MDAwMDFmNDU4N2U0IC9Ub1VuaWNvZGUgMjIgMCBSID4+CmVuZG9iagoyMiAwIG9iago8PCAvTGVu
Z3RoIDIzIDAgUiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAFdkM1qxSAQhfc+xSxv
FxeT3m0Qyi2FLPpD0z6A0UkQmlEmZpG372hvU+iAgufMp8fR1/6xp5BBv3F0A2aYAnnGNW7sEEac
A6n2Hnxw+XaqmltsUlrgYV8zLj1NEbpOAeh3QdbMO5wefBzxrmiv7JEDzXD6vA5VGbaUvnBBytAo
Y8DjJNc92/RiFwRd0XPvxQ95Pwv11/GxJwRJJET7E8lFj2uyDtnSjKprpEz3JGUUkv9n36BxOrrb
ixGmdWW/NJX5dQtevnpEcxuzpKrzqIFLkEB4jCzFVB6t6xueenHxCmVuZHN0cmVhbQplbmRvYmoK
MjMgMCBvYmoKMjI1CmVuZG9iagoyMSAwIG9iago8PCAvVHlwZSAvRm9udCAvU3VidHlwZSAvQ0lE
Rm9udFR5cGUyIC9CYXNlRm9udCAvS1dISE5GK2ZvbnQwMDAwMDAwMDFmNDU4N2U0Ci9DSURTeXN0
ZW1JbmZvIDw8IC9SZWdpc3RyeSAoQWRvYmUpIC9PcmRlcmluZyAoSWRlbnRpdHkpIC9TdXBwbGVt
ZW50IDAgPj4KL1cgMjQgMCBSIC9EVyAxMDAwIC9Gb250RGVzY3JpcHRvciAyNSAwIFIgPj4KZW5k
b2JqCjI0IDAgb2JqClsgMTkgMjggNTU2IF0KZW5kb2JqCjI1IDAgb2JqCjw8IC9UeXBlIC9Gb250
RGVzY3JpcHRvciAvRm9udE5hbWUgL0tXSEhORitmb250MDAwMDAwMDAxZjQ1ODdlNCAvRmxhZ3Mg
NCAvRm9udEJCb3gKWy02NjUgLTMyNSAyMDAwIDEwMDZdIC9JdGFsaWNBbmdsZSAwIC9Bc2NlbnQg
OTA1IC9EZXNjZW50IC0yMTIgL0NhcEhlaWdodAo4MDUgL1N0ZW1WIDAgL0xlYWRpbmcgMzMgL1hI
ZWlnaHQgNjA0IC9NYXhXaWR0aCAyMDAwIC9Gb250RmlsZTIgMjYgMCBSID4+CmVuZG9iagoyNiAw
IG9iago8PCAvTGVuZ3RoIDI3IDAgUiAvTGVuZ3RoMSAzOTc1MiAvRmlsdGVyIC9GbGF0ZURlY29k
ZSA+PgpzdHJlYW0KeAHtvQl4VNX5P/6ec++dmSyTzGTfSCYMhGWAYFgDlAyQsAVkDSaUlCBhVwGD
O0JQZAmoqJUiKgJ1QZQ6hIABbMG6VSxq69JqXah1tyi1SFVg7v/znjs3JBFq+/99v8/ze35PGD7n
Pfv6nve8Z5kJCSKKolrSyDPz6iW+bVl/+gI+9xE5Js9eNOfy319XsRn2E8AVcy67bvaco66DRO4q
opRjc2fNqD6W9PzfiToEkabvXHgk9EppD/e1cHeYe/mSa6f3OTMFVuTXp/qyhTNniPw+CJoK9Jl7
+YxrFyU0uGuJbp8LD9+iK2ct6vjm2ENwryGK+Y1xgNKBDOMRStfzKI3I/AT4lGl4nvkphzOVnyN1
YwREO2iXmEe76BD9VpxAqidoPzXQ7yiVitGupfRzWk0OVOF3tJYm4mPA/+ci3WygfNqGfthGRxH3
ElpGByhFpJmf0XK6RXsNqW4hN7WnITSeFtKtYox5FU2j9/WbqR+NoStokag1y83bzDvNB+kh2q/9
zjxLMZRBM/E5an5p/Nl8h7ojxd10D70v7ozaS0GUUouY99OVtFmr1IU5x/weNcila1AHncbSUXFY
BpD7LPpEpIml2jDk8kszZD6LWFlUSXNpMx0QfcQImWtMM8eaRykFZVyLXO+hetqHTyP9mt4WscYJ
80HzBKVTNxqF9jTQy+KwFj67IlyEfjPQS12oECEL6Tf0Ar0q/OJpudCINQqMoHG9+Tol0UVUhto+
gpQfi3/JZfgs157Xh5tDKQ79cgf3Nj1HfxUZIl+ME1NkF7lQbtGuJBdKvAifapqH/t6E3N8TAbFP
xspXtF/qj+mnHe3Cx8w4jEge3Uv309PCjZb6RI24Sbwp/iaHyenyXvmB9nP9Uf2Pzhlo9c/ocrqV
HqN/iQTRX0wQPxVzxVKxWtwh7hFHxaviUzlETpYL5FfaXG2x9mt9KD6T9Br9ZmOVsc7xabg8/Gz4
D+F/mQXmKpoAfliB2t9NW9Cy/fQKvYXP+/SBMESMiMPHJ3JFmbgBn2XiVrFd7BCPigaU8qr4QHwm
vhbfiNOS8HHITJkr2+Pjl1fKa+TP5X3yFXxelX+X32mpWnstoPXRBmkV2kLUarW2AZ+92l/1DP0V
3UQ/FxgbjQeMHcZjxm+NE45Y500ucv3+zC/Pdj37XpjCa8Ibw/XhBvOvlIwxzEAv5NAg1H4GPvMx
3hvBcU/QayIWfZchuorBYgx6ZrqYLxaLa9GTK8Vm8ZCq+6/EU+ilP4mvUGe3zFJ17iH7yKFyHD4/
k7PkYrlB3ikb5Jvye82pxWjxWrLWVRuhVWqztCXaddpGLaT9XntX+0A7pZ3Bx9Sj9Ry9vZ6nB/QR
+nT9Kn2L/on+iTHNeMn4yBHtuNyxytHo+Iezr3Owc7xzgrPSebtzn/N1VxW48xnaS0+CA5v+iWPa
Cq1E20u3yV56unxZvgx+nk7V2lgJTpU7xBp5o2iQHYxrHQPlQHExndDz0NfPywfkKTlQGytKxSSa
Ly+yMnQk6TthG6Q/Q8f1p9C2l5HztY5YsUx+5YilekGykEg8p/XUA9pL9Lb2vnDq2+gverRIFcfl
I9p4cMGv9cFGOeVq99GvtMXiRtorS4iiT7vWg48vFjshFyaLAvGtZpImLwYX9dP+RjfTAvlnOo55
vIZ+Iar1OXQb9RJL6RN6GLOii3GFo6sjWbwo5+l1MlE0kNQfResKRQehGUm0UlRqmx1fybfoKnpF
j6b3tMdR+1fkr7Sx+gljopiLGXAjraLF5gq6zijX/yjmkCamUEf9GKTbUq1AzwVdDqkyDTJtH2b3
AciBIdpY+KSBc8aAL8ogITbjswlyQgcHzcMcvwRS7GVqcEyWjTTHiBOQOkT6S+GJNNV8mO4x59AV
5p3UHfJgtbkUOe6gj+h22iFuCd9AiygbM+c9McYYLl8xhpvdZZ18S06SG1uOL3q7o0ijz/H5FUZm
sHGQ6vQ/0SQqMtebb4C7O0PC3kOX0mj6EK38EiWM1A5Tr/DFcrc5XFuE9r5PE8xHzBwRTXPNy2gc
PUUPOQ2a4QxgjEPij2jvDTRLTjSXaLPC89APt6MXguitqyB/1gaHlU0eEiwa/JNBAwcU9u/Xp3ev
got65vfo3i3QtUvnTnkdO/jb5/pysttlZWakp6WmJCclJng98XHu2JjoKJfTYeiaFNStxD+8yhfK
qwrpef6RI7uz2z8DHjOaeVSFfPAa3jJOyMfpZiCoRcwgYs5uFTNoxQw2xRQe3yAa1L2br8TvCx0t
9vsaxdQJ5bDfWuyv8IWOK/tYZd+g7G7Yc3ORwFeSNrfYFxJVvpLQ8Kvn1pVUFXfvJnbHRA/zD5sV
3b0b7Y6OgTUGtlCqf9FukTpYKItMLRmwW5LLjSaGMvzFJaF0P5IiG61jyYzq0PgJ5SXFmbm5Fd27
hcSwmf5LQ+QfGooPqCg0TBUTcgwLOVUxvnkhtIbW+XZ3O1y3vtFDl1YFYqv91TOmlYe0GcijJOQN
oNziUOr1H6adcyLzhGHlq5uHZmp1JWnzfBy5rm61L7R1QnmztJm5nENFBfJAWtlxeFXdcBS9HiNV
OsmH0uQtFeUhcQuK9HFLuFVW+2b5S9inar4vFOUf6p9bN78KQ5NRF6KJ1+XWZ2QE95vHKKPEVze5
3J8bKsr0V8woztqdRHUTr9uTHvSltwzp3m23x2t17O64+Igl1t3cMgudboUpm4rOttKJTT0ruEb+
UaEgOGqmDzUp96NN/dmY1Z/qZvbHAOBfhUCqUDVGZF4oalhVnWcA+6OJImR09Ph9dd8QOMB//O8t
fWZEfBwdPd8QBzKfNLFaSMyw7aFAINS1K7OIcxjGFHUcrNx9une7ulH6/Ys8PhB0H41H386oGJCP
7s/N5QFe1xikS+EI1U4ot9w+ujSznoL5gYqQrOKQw3ZIchmH1NohTcmr/ODkBmJ1NTnkymv6H+9J
SSyZOyAkUv5N8CwrvHSSv3TC1HJfSV1VhGtLJ7dwWeHcoeg3hEVsocRh5VqmhB/bZKamQsGU06Y2
RYGjPDakd8R/h2Lq6kanC1ypfIRveMhTNdIyK6JzcyNz5scSNZonOJUi55JFmhEaEIhU1Kp2aGAL
d4vqxdZppZMhcmTp5Kl1ddEtwsBqVi1HRQg4niaX5/qGhagMM7Mj/jeah/szKjJDQXQZQiZjFinv
isyIs0XEzEiiCvxj7uzebThkZl3dcL9veF1V3YxGs/ZSv8/jr9svfyt/W7eoBNLOYpxG88C6zNDw
9RXosbliAKaHpKG7/WLNhN1BsWbS1PL9HuwV1kwur5dCDqsaWrG7A8LK9/uIgspXsi97chQfO6hU
oJH10qXiZ+4PEtWqUF15KPfMRkHKz4oEP0EzG6Xl57HjSfjpll9Q+XH7WMYMm1weGRbFMzz1wEOE
RZ051sAHGruTKNeb6+0IQ2DRPePTDp8JGnSafPphxKQy8xPdaxwmD7WT8UF3fGxs7NCy+NiYmKFl
jkbz06CX3UYau50eNjPZN4ZtViy4TwZT3O6hZVkONuNj2XR62NyNfplcHozOyNaNpGy3OzUKiRvi
42UZW4LpbjdsXoplH0qJjYWJ1DDzA4HAURhHqeh40fGLembudvwwp5PIycE5fdzgdivLl8H0mBjY
vITiHWXkiY1lk/2asjyXZ4PDl+7JAqNjyGJ+AyGbAiQA8eax4MW6Y7VcE7Mm/sU4I8oZkyZLEsck
j04fljk5cVrytPSJmQucC2JmJl6WvCC9KvM6eY3j6pjr41c7Njk3el5Me1u+6Xgz5i/xGU0NRyc1
cE+mNppfN3DnwfJtMIk7KbUmKpjr790zSlCUJ0qiPSdVDNVFWRwjakMOhgGpvXGc1OtiT28NYXYE
fUjqg64hScUgF8fA6okYtCH7hXVpAc8pdGZl4DhMtlYuVtZIx4rKxdjS9ed/AqioQCzrHwUCiZ6E
vr0KUlISkj3S4W/fKS/Rk9KroK/Xk+dv73SULXht69X1S4bOf23b69fdsf/RpUsffXTZ0tGV8jWh
i588Pn1P2Hw7HA4/s2vTk+L+8C++OoE90/wv560icPn7YL3T4LpoejtYHG3VXJnRqoWkzGirFcrU
gm5v7wX6cnm7vMelP66LKHIYUosyRKwUR6JVV0RzL5LwIf9G81iDxwNGajQ/D3oVe2Up9opT7IUx
D6Yz89gcorglI9bABOhtcLfGcV6G8GEvKo30mANikLiF0gIXez5E/1ldyt0Ex6CxZwdRUVFqofAW
XtRTVFJlQFg9mOv3OhzOPn379uslTzcMeW3yLz7IX6LfMHhpzq9GHJmOWg6CputEL2TLtP3kxMzg
MXaBMdT4O3mu8GgqHx5Q+Jzcw5bIbIjyetxpiYmOMjfzjNerLF8Gozwe2LKTjGyeZKkcITubQ7Oz
4hCSjSkGs1EeDMbK6NRUX47HK6Uvx5tQmP/6UTaPUj5zS6CIzWehrGZGJjIXGJuQIFWBwah4L2xW
OceCMQmJsiw7if0473pkbTVAMq//Pah6/nyl8Szn8rg0VViw70BjoOOgcchx0PmC68Us56jYitjJ
cQtiq+OuT7g+cW3CUwkfZXyUeSIj9lDMk4ky05PlaefJ9jh+g8MGJ6avCzQKI5yRHe1xORxHsjKS
srIyXFkZmpCujCzNne1plA/uGecV3kaRtpdbQFzlPULGRtsTFRZrosLybVBJs+ia1NfAvDxZxUG5
gnzkEf2Dsd69RTgvWCiXS10ekB0oR9y+W027ypPHMeEGeU5yN1LRoLODio6frfzQm8C8AmN1XI9A
3I2eZ+EA56hJyHOwP1WKyisjM7Fjcm5eP3BQ3759emPWOZyd+vKUTE4CZ+G/7jzTT6Z2/OXmr3bc
c8NN94n9id/+4bVTIx/57fZp2bt2DRk08/CyZz+aveCu++oSX3nr813lO596cM0MbFQFTTE/1lPA
ewHRsE9LU0Keh8u2WGxmie+Y9LQgT5u0LBI8NwKxcIgu/misFvHZ0dFdkrOz9OwuWUYXt98dm5Yu
KMEHySvLfM48lSei5+WzPD+azx9KKCwq8hz3HAerHX/e83xCoefZQAEDnBbsbLhT3CXuVW69xHuJ
9+pMbWLKZZ75SdUpV7mvS1rlrktam/mQO9rwaZjjWIdi3XG6U6BcwWMaRMsOYq/XhdyiDxqTrKcd
kA9SupwbjEItDVTTnWAPMSzWEMMSkcUJNdN9C33Sl8ZTxFfLE051CSxWVFgiUZ01eUps5wnK8+RJ
tPTkk5wqb0P3tEbRvz79NXFA9Me54eFgTJOM3tCtUdwZ4Y7AccUfEXl8MlBpsQnWu7PgEXSNRzGL
xSuQLJDQEC5icQWLl8R+KSyKFVM4+zVZbf5gBnGmwCR/+7wpDTl3L1j+xPYbe41JSoipaVw1f976
pIbcz3917ZEFs6tv2hD+9M2nTXFz2j2rQzct3Za0RV5748ybVq707X1hTn319Pt6ZP/6tsPhbz5m
bSEDEstjHIDcdosn91Os+X3wcWYZt0MxjhLhsMInyhLnyjSUOHcoM8oS7cp0ujimS5lOtXC5lOlU
It+lTEOZDmVGKdNaFhLKY+fGbo59NPbFWGOMNsb9c11LwPSmWIfmNKJjNCfWQ7f7iKYnaZquuUnG
unWndlAexOmgFFuD0aTriEJHovVGOftJw4gOtsvpjcluLRywsFYhy2D5UqkX0Y2iX9DtDLb393bW
5vZxboiXPBli3Em9SXqg9GlwH1NpYPlwH/OC3BvXKNar8f47r8G8/p7E6EEofOxRy4bn5KBTg7yF
PMiFhat7BHTIg/j4eAw3dPv95Dbfq08ohHh/PRjTq1Br371Q09u1G8RZVIAZECeYFBuMKYytHV8Y
G8wrjG2fBdq9kCMEFKMoWzODAtAE+4he3l7Jfq/mFXLj2ZXy/ruef74h3EdMf0jbd2b0Q+FtEGV3
n13AcoL1w1zjYcoWZ4KJiWo4E5QZo4SGUlJieBjPCZFgKrsTlQ6ZoExN6Y8cVy1oWGGxLvHSlqiU
xQRlxmDSQdXkSGzh2M2k0H4S6G03D4nIiovOTk7OSuAlLCZe17Oz3HGCnGlY7JVyqSxKYrEKyRKH
tUhMqbPPQsqwkOnCRTqUruooK824rl1du42JjyQ+E/tm7F8yXVGJaXFdM7SonkbPmANYUDRIGk9i
dHJCYuKRuPikuMSkuHg3xE0wkSsSjNsaJ+Pi4oPJIlKpJ+N18RqLIiwvQS9Xzzvds9Cz3HO7R/f8
iFBJU0IlTVCaJ02iIZZQSdvgS3hK9KF4cTdmXv/6uL3nEy45LYVLC/FSCSWFVx/VD5XewvxKSOAP
V7t6BAywHKklSK0+YnElWKcZxyhrc3kDIZOYm5yrYSGi5CQnNMO8sl8n33PZTQ271l+yvvOjt8m3
zj45buUdh4Vrya0nf3dW1Hrq1j27fXP9uKIU+Y/Hw1dPC5/6wwt31B9jiTIW/JWMdagddZXafqjf
J5TA9UJFUxafLYKhBVmyuJPNRv4mNsq19ifKjFPMpGIzG2ETczIYzTanJxZmRJPJiRc5OKvWRGbn
7KBbuN3QljKN9tlJ7uhsQR09nEptTzzZqR7WH1PVipaKzGGPbE+Ovn7U85zNW5XHPc9WMm91X5Au
ip3B5OL0Yt/UhMm+BVq1s9o1P6Hat8R1VdYtrlVZb7peT/E6fcyBaAzLDEcZGoPljG25KgALzbGG
Tj6/L5cDvFzL8W6JemaK11h3bOQlza6z4AWH9mJvbHURLNZyBUtkuepY41Gc5RHkgWaMBp54kndH
ng3dINn6BxOz1azOVoI5Wwna7EZRGGxflDo9dWHq8lQ9VW3/0A/oxVRs1hwwub6pjbLDnkDTTsNa
x1jzsVe246qLrMUsvxK7OcVnzFa8oDWXUthzCGdeJ7W9cDhZ00lgTcffnryefnCliKRzy55DO70n
rduoBVOGlF0qhzw1p+HsNa+u/Gv4w/vXfrrr3bP9xt128ZUPbr/h+p36pLj5Pcf2HPzlOzOrwv/6
Y93xZTiwXyoefXrHb8+8W7mzonHLpieeQI/OwNqWgns/Ny0Kxj3rFjr+S5cehcWDBU1PKfSoWHeN
pknuyHFK59NkRryrJuoLGgdmmi61IpCFYjk2QOmQ/Gqlv9hzsnLxoLEnj1/sOcW7BQ+6g3XBQq8S
+uiNxZWJfXKTHaQ5nP6+CQn9Zmh714ePl/aN36/d9M+1+ve71t8dTgifbvzLLvG5eAHXmhpNwqxJ
x6xJJT/11IbvpyxIVLVVz1Bi2alMzJ2Ib3vlzldmd54/LKG7cLCS3XnnoqudfXs1k7A1juz0M5Sb
4yv5zTkEvSy/81VAnjJVaeDgoWXtlSS3krM7Q7lVcnaq5EqjzlcBecq0JmZDLGVm9+CFFfsWWdaj
R0JutsPonJ3gzmaNAscF4HGsrbAE4llG8NyEhStmWVRgfBrUwxNqC6gsHAuWyJzWOiRjWZJlySrH
ZDWnkyNzmhcMcOa5wwcsG4HjhVDQI2cQT6qKqOMGrggsXJEP1VkEW5RfpHzeYqLYM8H2HJGL5WnD
BbLJLT3XPluOoCyBGqgK2JTFSr8+KaJLyqiUUXkfx37W04jqiWuhG8VSfYlrccyVsVe5r09dR3Vi
vb7KtSJmZewq962pv/c+n5jQHuKjPsuXwcTny2fS3Qdl9VgwvYsvlrLTKBbV2NpDnKsJto2WGIHF
EiOwfGsJ0eyaQ1Ei6oCcQ4FIpIAdCZaIrAnUxAd92D/HC4r3xMv4RnFHML0APAamS1MCJk0JmLSa
kCa0RjknmNxBBXZQgR1UYIeaZHsj7ksOJsvkDRdZMsY6yjip1GWeW+o4w3JG+rAynzuRNaqIrOFd
FfZUi2lxRXNxo1a2c4bIy+vTm6VMM+WZ4JOYlGKr2g6tuQAS8xdd9vGhw58vuHz1reFTb70VPnXH
pasWzL1l7ew5awaM2jBpxY5dNy1/RMvssmn+1rff3zr7F126PbvmKZOEOHz702Ly3JU3T5+5euUZ
c+yGcQ/X3rRzB6+HrG/xzM7Gerh1P46iPg36edIkq0mSrCZqJ2X6lelUHYdFIjKVU7BORY7u2rEt
Wc3NTsr0K9OpVDIrBc/hFCXXsU5ak9sK4CJT1BzlgGaHDk/G5EA56eiFanJK8TzrKGoFg+VEsDMz
eJpXcbhXHb9507zdAjGds+PjcuLGxWlxcUk0XgjBY+v24FBCsH6EhddQg/dsoLIAM67yeIEaP0wA
no0eXmnffY7noNqSNqvEOY0v2FWpfHxSJssuUGrLsloVhZLOFRTsPSBjTErQ/9OUS/yztctSLs+Y
478+48bs9RnrsjenPJrxVMbnKR/7TvkSf5KyJWVXijagS7VDdmJt0Y+5lZbrc/g6Z4+Lm86qYRY3
T7w23lq2G7gSOfYcg8WaY7B8qxTfnAOikGIisyuGu5lHCRYrOIZXa29LNXFDN9YAgqlQARQ7dFTz
qKOaRx1roEtZB1o+b9ArvRsia3VkHmGljsyhyP6zSUm0V2qqXCwqm50MnpsxllY4WPbp3YlXaVDC
9MHtJR8X5gl1YpGsZs+iXSlLZ0y6cXxf0ffg5fvOCOfztx+/4fp/bH/8bfnSQ0uurX906Y3bxCTP
9VeMWf7nRbFpUxYI15/fF57N4b+Fvw5/Et7zq0Na73v3PXvfeizV6EYcb6dvHriZ2k2PH/SNK9MF
D6Ltf+vUlelL4wfu+/6Js3M85IqFMwrxOYVK5xwcvpiGeej7J76/Hmf6lr8KZMNd4Yh48R19BCH5
J/qZXkPJwChnO7rGmELlYjVNlTtpKUNrR0H9cboS8XfCPQT0AKdF/DLgfWAQMAXIANhvLDADwBsR
KkPc/ZwWeSzifBStoamuHFpoTDHPoryNxgs0G9gC+3b9b7TDUUiXw/0g0h3SifpxHOS10bGTNsH/
PoTPhN8W0HK4t8E+Del6RuxRzlvxzmkKRQEO+HdBPusAbnMn7Wnqq9eYf0VbKpDnaGAVyhgPOhwo
RZxE0KHAavECrREvmNsRDko3o/zV7A8UR+hI5HMLwouQrgP8boY9A/VwgMYDuUBn+TgVyiR6CjQf
7b/Eajfa/gLNRR23g1ptQluQB9fph7DqWIqwJqDMXwN+WWh+BBqFMLtuXL/muBnu5hil9aJa+C0A
MoEJ8ihdro8hgf66x/iINAY4j/vpPeAnejVdDLdAn08yGmgzu4GxCjXmWf0+2qqdpP4Iu96xEe2o
Rn/jME6eonz5d+ru6EjLwV/FyH8FsAV5fqr4oZomo/weiN9L/0jx0Cq416Osr+x+4vGGewXGdSLG
7gzshPSTgBEYl1rgMqS/GOXnc5/zuIsp4ULE/RBxpjHgn6oAPkdf7ec0nB55dYzw4fZzlLYjzq3o
12OgOpDMdbCh+Iz5DkDY88gnHXAA7YAewEfAdmABMAAoBTqjXYRyNdSP61PEvAnamXnDeAF9iLop
nrXasAXu1ZE5sy2SF5eT63icFkSQy3miXpeDDkVddtt5o26zkfd4myJ8uL5A8f2X3E64RzdRzD39
CxrBdUD67QgrtSnsG1Fnng8bceWwBnQz+Phm5Hsf7Kttyn0DdzHcXNdbInSQXR+0tSfq14GpRuTn
cMTnfBS1+6KJzqUHkWeV41LIlK00Ul+Cdyt30KX6CSrWulAPoyf80B60MSS/oIkuvGnBWI6D+55W
dBP8NjnfEPOheWzRH4MMeoPuR78u1t+Q7fU3hGE8Zn5mkHjReEwuU/YfUIRznCaIw1ZcpozmYZzH
f+PfPO1/apdvGo9BZj5mfm68YZpoz508J5xfiJ6Az6bwrwdqga6ugNjkWiAanbgWchCdBBbqQRpg
BKkfLkuL9GTIecwF+JcZf6VD2q20Vn/DfEvUUq18g1Y5k2kG3h7Fc1nyTbqZwfmDLmrGRy14zuah
1tTm19YUvPBghKdyQB2Yfy9H8CEo4xTwDfioFDyZjvr2Y/mM/DfCvgZg2QF+Nb9HXhZ/vkgPwW+d
zZ82Zb7jOdWKP2NtfrwQVWsL5DvSsYzPRT3W2u3HGAiWcShjEvh4Beq5347fmjZLXyd3go9ZDh+l
qZF53R6UMRp1/IDrCUAOY7wvMU3HcPMRR4O5Q0swdzgKYP8zYJiPoN3Xcl24P4xyMwzK62kXtEWt
pZY/xdjrqNGLLuf+4HCEbdG/pp8jfk/YuX1RjidouXEa4w4ZyH48D9UcRH+i3Qv0KvT5ZlqPfkjX
VmM+wh+Yxn2ixoIojdcF2DO0uyHzeE26lW7W/gJ9gdP2Iq9aL4roEtT9ReVXg3wQ5oCfcQltd3xB
BXoZZO1hqkYdpqEuh7g+yLOf6ypyu5IhJ96gi/Deb5uRTNGIt1X1QZAeQfyNKi0Oe2Hf7pxJTvDs
xYjD+W1TaYKUEOkPljczrfTQRVh+cl8gT0cyTUT6KOMLesDAq13MoW3OWtqGK1bCvNhhBOkhpCvj
uiAd60Gj9bvpp5hfayCb1kDmsL5Uakw1T2uPoT3XQq4DWi349TFKM2rRhwsQj/vHkrGr0b7x2k7K
A8113I01n/WJu/G2L0AljgV0K/xuxRuIzih3HfxWYv72xNxdi/Q8d1hHIJS9Fv6ctghjsgb9FsXz
xRmkREet0gdI1QFlcPnaZ7RNG01rwMdDXHejH2/BW1ESrEdmA1jNGcq9DHbGegvKj1VOxBW5modu
ZH/Zi/6IA50Y3BPxGrpfX0Hz9ClUoF2Eueul7vofMFe/o3u1eJquH6F79UZaz249kTpreL2iNUC3
ZP9XsKuCv/wj3Jtoqj4I6dfQFfp0qtF2g/dep2h9NsYa6YzbwCcdkP5r5BuB+BtN1aZgbq2ie8V3
5uMcT5XRYF6iAfpI6q7ScdoIVF25vuepsyxFq0ZjTFFftreoL+raVE+7juepn2on9wXaye3Q7+Ub
c7xoJ7OjRcMTJF5lA1vl2zQMb02vEzvMA+jX4a0wsrlb7yOWAj30PvQksAL2bqC/AZ6w3NDd+uBF
bh+6BXk/DbqH9wUMOZT6MoXfFmAT8JId1pxyec3d57MbmeaB5v7GXqw1gDhpHmA0D2O7vgJ6eR/g
J+YBBnhxNMOxnJKcV1OS1gn+2UjXym1kYj7tpQ4amf9qned/40abejbrx2DzNtrjAZryH4DHkOMx
9THFXBzN6/N/U5//ibgY3+VAJeelf0nJFg9RnHjTfEfsoCniTfJoV4EHAbi7w51o96c9TvC/S/m3
Gj/wCo5qzX+1HtfW7tbj+mNuuYemN4fNBzZ13EmDGXoR+AFo7Xa9SIMZjucQBrR2648g3b/DVOqq
bWZeBA8yz7VyO8ZRJ4bsYB6QGZwX9Gqgyf0K5BrAaVV6N43QAZ67DNmA/RrQFN6HSsD3JXZ/8xzk
ftU2W+nt8bHHxaZ2fNQvqL9Mo0DzQAtBJ4GOtqnNR8zPzXma/Vv7wa1kiZ2meRw7LmgQwFrzw/TN
0/2/YMfcOQK8ADz/v90eQeBVwAM43oEeUgQ98g3oKT/Fdx/oLGTJmXzgYaLwZNA/wQ8rfLgL4Ibd
C785oPcTnf4G9ivh/4YFU+qZtDWiV6bDb18kLUSSym+Slf7074i+PwngEIrTn8Y3PU7Ph/0fANbz
0++CPg26CfE/Rz4rQX9rhZ+dDvfVwFNwfwH/y4By2DeAJoN2AxKBBKTfyGB9xNab//doy70sdLgW
e9sfc0NnmYl65oAeAF1q7x3+a2qP549Q6I4t9sT2+P8YRTvUXuSH1NrnY8/0AfS+kF3v1uVcyI3x
DDeHXmaehU4Zy3o067KsPyv9MUKRz4OWHotyiZJw/qIo6hXF+ivrztBVS0C5nasdhjozKEO9quAu
NiL6QZMshVwVJ2kL4AEyI3QBZN93spP5MuRQPNbXb7A3epABdxwwxYL5CtaueKx1hyB3vwE9Cnc7
0G/sNU2LrH02tWUr18OuC8vZ/233j62J/6fhWE8LImixtv4bfztef8RhjGLYa/D/X9p6rf4xd+u1
u7W7aR2/wBrdfJ1uvW7/t257nbdp1GAqYDiD5gFGa72UdYAWesCPuFun/z91s87RXO/4r92t9BLW
Uc6HJj3EDm+lxzfpMxk4A7DRat7Z8+8/pby30PdiXkZ0f7sOdvrW/rYbfVrSHJADnSHfeA3dDjkC
/d9sB2CNwrfyKLzMdYYKXLuoAO69ANbN8HHQag4DfUDcyufb+FYyhW+C24PzG46LdU+hujV//4B/
W/Et6+dKP4QOyG2SG3ivRPnAQCAB2A1cbvMG7yFR9lsSqy7vdfWp5jf6y0ArHfBH3X1wFtqHdiFe
PHTHeL2GkhxeSjJwhgL7KtBo0GjI9wlA5IzPPOu4XsXhu4rhfD4LOX8Fzldw9mU+C5l+uR6meGes
uke5GWtoDsLVOR3W0mSsB2lOH5+XmI1Iz+dzVY6vofdcAr0nitcOlIszKWAB4o7jsymcJBQjHz5D
TorQnnw+xeuXowd5EC8XYepMXdG/4VxoGs5UpuF807qnKuPzF+0jdVezms/dtYvpKT5jR36h6J20
JQpn4a5qGu5aru6bNuJbqjfD7z7nbbijCaj7lTJbX0Hf44zNWmOhTNlnf3wWn6HajzN5u81wq/Nx
m6r6TcM3R3Ee07xcO51rONbSr9U5lHWO2frMvpUugzW+DqhGO3DWYp6yy7Ep9xHOD39vUdw7WbrG
1RF6M+pp30lY5/TTaIK2DPtB+0z2YdTnTdwVrgIifWy3HWmVXmWXhX45a9tbU8RVugr66BKAzwz5
zHYVxi4RsO/h+C6uzPiMeLxG8ZgZbuzz43n8zf0I4/uIoThDG69LnAV9BVhnj+p+DvyVDlyC7/sW
yy2Yo1dQEtw363epO7yVOO9jIK75sEp3mRrXYsck8B7OHXGWVIy+wt2RDZyV4E7DgvkhztjqFNS5
mrldJpm4TzKvlC+hrEKKV7xZgzqtx90Wn3OeuxNM0zvDH+d2+mQA4w9cB3cH1fYIVX2Gs0O0d5Rq
I5/N9cA5E5FLG6jOCUfaaZxP0nCc5w13xdBwYw/OQRZSB5wJdnBkYexG434lHuetH1C23p9mal58
7xsQw82XxReg0NQZ+L2Hau0t0Dvg5rtf3Amjv9S9GijOp+m0whHoEQDmC9/lMmYx5E6Ri3C+J6yI
2PkeDHb4FdI+BTuPnfjG9jkgnonzbfO0/DnKHkrVshFlbEVdUA7OETe2BtJeGkFnUC5nhH4J5EpL
DIO7BZAPu/NbA/7s17E1Iv4Z8G8B+LN7aGvAn/1a1+NC8S5Ujwv55yHvFkB57L5Q/v9pPVrkyWVE
8vXD3gLwZ/eF6leKsBZAfHb/p/Vo0cdIl4H07NehNeDPfheqx8UIawHEZ3eLekA+YR8bfh5708dB
/4z1mtf7z0DHgIL7ws/Cjv2FOTviRhwV7xfw2wTcA2CvjF/rsFAMynvg1aB/B7BPNyecQ/hF2LOw
L8E/uxzzLvh1BbBf4bI4bfgggLIVImWG98CN9Gd3gWKP3sKdAvfHSI/yVNmoRxhnxKYf2Bxp35pI
uSH4oe5hLjcSP4w6cRtNTodwG6YGv4lInwM66RzC0IMY5jOgvwLeAV4AuF5sz0YY9wnaHsbvUIRD
mJ8RuUDf465okV6Fc9AeONPF6QJT/QYao2TuK+rezL5DXqTzWoC3IEremZB9g6jA4YYecj8NdUJv
YBluzFJr6jqjGmsTfkICawvf5y3Qj5GhP4c3IB/hXuEK3Bfvw/nxCMhblKHzvQzy5nUXcrZKW0tj
gfG8hhl8J8R3J7ibiW5Q+osHcZL0T1Dfe+iQsRdnFuV4I4GqO3vAvQH3VNvoWuMGut51OR3Cr/qs
gf4zG+tVjmM6FRo30UguA3kWOy7H/VEs9IIIdW2imc5u8N+JL6t+TFlRq6HXvYpfwqFwP7tsrL1K
19KdlAR/HrOn0LfMf8CZADBG1Rn1NYK4EwtAH+N7PL6Xr0SfVKv6XIz6FGCvrmu1uAf7CvrRKOrs
jILulU9rotJwNnQK7XDgTDWg7uWtMvmeHvdPzjl0kbGa8uy9u+ND9PNk3IlFKGT7Ifs8ALrbNn2u
0hcT1L1W5DxA6RBYw5ry4Hc8uPMCb/Q4p0O01KN4PHgs7DMCuwz0r9UeUF4/m9rPY4d+UGsn93ek
3xE+GndgAQP3eBi33B/QyJmEk+/xcJeGflT6rPMQjXZqWFsfptmOVXjzMhZjkUiTnM9QgnMEpbF+
5nSi31jPhR5ifIe7wkn4zR0yh2GceL5fA/CcGwHwHF8Cf5zbhSFz+B/PL/bnf+x3FvOV/5k4c8Ov
gZA5zwrnMHO5ZT/7FSjyV2GIw//OYh6a67F6SuRjn9e8Dzug9iE+9j/Xz5CFlm7dkjbp9Yp/hmPM
mI8uTFvpn/Z4taY8h8EjiaqfWB+29ckf0rtQHuul6g0A9Lz3MUfvRFofwPfRau/QmiINnyUus6jS
Dfn+n+/8mf4S82sT63qtKcqx9OoL0GZ81EJvt/1RD2ue2VTp103vXuz3Lz9DOfzOIA/xlX79YxT9
1fROBu1W72XQF2bEP47zQ9ua3s1c0G2duWWgPD57yzjP+wPrTM4+m7P18ub7J9ZTbTdkCuqjoTwH
zyPUYTT6fa3Ob3P+DZjvGI6bwAMtMQXuKfye4HxwYCVhOC9rCZTLbwwuCMftSAfgfWErmP905Zj/
RJ1XWDDvBX8wvohgO+h2TWAvDejQhVvC/Kd+BwDZcj447ke5gKu7BSckAENn/f/fAH1ATsxgV4Ki
Dl4L/y2moxzACUmgsA5UwTSd68AnkbGw+9TuK7TtY7R7blPdI3Wyy7LTXYj+2Dja5VyI/ti42PW4
IP0P232++tt1b04xJ/mN3tkI5bd7jvPVncdH4Z+gAPifz5oTI3CgXw8CjwFHIrgL9C7MlQzM22+0
WeAnoHmaH/AD3sTwuxjbH3OW5Z3D8THGNg3lYh5gj/S5Bao4Xx85UQbzn7MTKPpKvduxdK+P0C43
6s1vbGezLATtEDUeb1isd7I5LFtwfsHnJj31p2k21o1mOp85CXyD/TTewQbIQL28xhLcd75k/tK4
HjLhhPk7Yzl0AgBtXBnBi6CMrQD2geYToPwOEm+68B54Jz3aHNjbZjM4DsquAR7CmvVnUD9wpYXw
J5b/ubqhLkoGa99C1ztN6ep9aVDtr8fr87Cnn4e3IV/gnQ30H7RhjTaDhqCNa7S+5DGgf7C+gL4p
hl+i/h6oBTf6Zby2o9k85/c1/K4GUG9yeO48j/sKjg+K9Pab385clrYA501/wb3RF4iHMKRbg75b
yW+dWC/StmJ8xoEvJiDuBPMP2ibQkRF8C3oF6juF5smVuEeejf3wq9DfkuG/GFgIexpoPFAB3Adc
TRcp/9Pgk+8RH9B0xPs9qIG9vQG/7yJYDwpwuNpv76Nq6MTVyM+K94ZKw+kKNAfOCH4LymFDkR/i
yTtRb2gUWnLE7kD4LcjzkLV/FzhX4Pgqnh0n6lwc4zgNj56N9yOJwFqc4Q7BGedneNczlbwYXzfQ
B2PP+yHeP7Ae9QqA3jK3wH1ERt4HNN1B2PfkEWrsonnGT/Ce5yz0hXewhzhGg4xTdC/uUzs7xmM9
w1kf8hkIgM/Ds/k9MfhuknwDZyKRO3qbOsopOeo5nC9Ay8L84PMXReVj6GfY8Ztv/K6Lz3xIsPYG
f/7Hb6cjc03puc5iuhnzeDiAM1L17pt1bD7jjOa5Bzu/W+2sP4Rviio9jvdQYfSoyfNhEmRD09kr
8p0AftrGvIUw1gWR1Hwcb442gvbjNwlyPL/XUml/CgppYC4DcMJijka+92EfY99vbcQ588ZmbvU2
53/a/WP3VxjTFvdT9ti2Pj8Hj/zbtxmtw3/0jqfVWyL7XF292zjPWyN1Nt/s7UZrt30/Yt9H/Ki7
1R2N3W6b/qD9NSbryMOxrhxy7DTfAO8+CdwB+Yo1ycQe2DQRtl/xUg2txXl5NZ/LO0ZRB0uGq3PS
bKwz2Tib5DP9VVZ+OCtswFkSZCPk/BleI+DPOtZq5Hsa/kVamvoeRAbs/L2GzgjjfRKf3w4HSiH3
rHPa3lTGshZxEtWawd87wD4N8qZaQrbIF6mXxL0KyyABN0Asi9S55FCsMzgDjCBd4nQkYo/CW8Jq
nN8qaPHmi0omxVkySyPkh3NDMRRrsCWv2uGuSckv+boli+R7iGPjJOyf810N76fVnhqzOPyoWptY
fkJWKpm5FXMbdt678LxFO+N5XkNeDDmfntHcD21n3ZL1guaUdQV2H7TX+gvRSFpOz2l+GD9yx4O1
JFGtyS/gnW85xcCu9s3o/15It934WJ2RjES9WQeJR7ilv9vn7WqcMEbW3b5AeIt9Ad/n8NgaeCfL
axf66Xng9WYU8iXMMobXae7HT6CPRmPdHcM8gD6LBj/g+0XmyUg9ef+SDj5dhzpZ770je7umvQbR
QH0LPajNwZkB3vkj30kAj1U4ggdBH2Q+M/C+G/ncxxR+RxEP8XndUGvIc6CvAn8AvgTeBN7Bnvkt
jGk56jHS3hcZD/D7gfB+A280sKZHucZQuuOApa9otXQln4sz0KZ7GOCVUBPw/Q8lx2v4/Eb9A+fS
/xDkVsyQh6HVtcfqU45jLsjw2J2Yhr2BY+jiA/zb0W1o64M2HmjjgTYeaOOBNh5o44E2HmjjgTYe
aOOBNh5o44E2HmjjgTYeaOOBNh5o44E2HmjjgTYeaOOBNh5o44E2HmjjgTYeaOOBNh5o44E2Hmjj
gTYeaOOBNh5o44E2HmjjgTYeaOOBNh5o44E2HmjjgTYeaOOBNh5o44E2Hmjjgf9reEDwX7Sir/Gr
+feTE1/Hxe948S+/6o/H/IYMkvtpstZ5T15azqtP4c/FHAOk1qU+0C5nv9ZJa1c/MCfYqPn3JCQX
xA/pju8zC8pXpg/mQuAJ4BCg03QtG6EemMuBWuAJ4BDwKuDAd7OyVagPdCHwAHAMcGjttKx6/P35
IZ20dKRNRx3jtVT6CjABDd8lT0WpqTQOmA7cDjwAOFQ89lkILAcOAScABwW11Po7e6HuqfXrFNkz
/7IC5ZxhOadVKueeSyosOnaCRYtHWdEGWNEu6m159xhq0U7dLJrQsaAWme+JdhccHpKipaCRKaj4
IphCPouf0xWUgz/0lEwhQOIL4pZPUEvY0yGv4IFD+Cqn0CR+QKOacszDmqh3ewuGREtTfkUJ+EL8
l/K4FSKP74nzFjwwZLT8gJ4ADgGa/ACfv8q/4lfrj3GfwywCHgAOAa8AXwEOeQyf9/F5D9/ojJfv
4i9MvYuY7+KX499F7HcR+13EfJec8l2YHvkOciNlsr0IkPIdmB75FzTrLzDj8TcWhHxbvm0elq/V
9yss2K8sgfyIJadjxJKaGbEkpBQ0yj/Wf9cFHJWHkQZHHdTa02DqpbWv73hRTqOWVj9oXk6j/Nse
XyBn65Ce+CZqCJCoyeso+XX8rs3r+FsRr1MVsAhwwIa/pgPUAhuArUAIAJfB9AA+/C6eT/4eeBO/
E/MmBYHxgEu+Wo9iGuUr9XlDc4akyJflC/gDqjnyqPydor+Xzyv6knxO0RdBsxF+RD5fn51DQ2IQ
TkjjAfWA5iPckE/v6ZCQYw7x4tv9GHiY+UARMA6YDtwOOOQh2b6+OicBmRykIy5CzHr6TNGHabuL
gvNzgnnDwIA+NvIG/AQ2GA/4HsiTwbyN98DJRt5td8LGRt7K9bCxkXf9CtjYyLvsatjYyKueDxsb
eVOnw8ZG3rjJsMFolFue7NApp9+4BcI3JF5eg166Br10DXrpGvwy5jX8oe/wDc4ceW99167osc3B
QJeuObUHRO1TonaiqN0uameJ2mWidoWoHSRqfyZqA6I2S9Rmi9qgqD2IP3sv8NOIwYYWzsJgmqg9
Imp3idoaUZsnajuK2g6i1if6BRtlbv0ozDqQEkX2DOFJJ3P3/GQwpE+8zEWP5oLncyETDsF8BTCV
K4hIvvZW5PRspu33dC2y3D0GFCwcMlI+g4TPYBieofcBHQP0DNjoGWTyDLKLh1kETAcOA18BJuBA
7PZox+3KjIeZDxQB04HlwFeAQ1XnK1RF0kKYXMUnVMXyYRYB49gln8GnPT65MjfYzpPlCXhGardn
ifhsMS7bzJb9KCUFX4dN8Lq8jcK971/ub//lpqghUfI2eTt+8CBHbojQ2+u/a4c/872pPu9gzpBk
8Qt8Sx1chz8YmSc6gvbHX0lhdx/KcjHtTVn4JYYcUVCfNQXJ4uvzuuUcEHGcal/Od1kf5nyW1Shh
/TTrYM6ffI26qM95Az6P7ct5PWttzov5jS74PJXXKEAO+FTU/Vn9c3YdUVFXIGBzfc4yJvtybswa
kbMgSwXMsgJ+VgNXMD5nYt7UnJHIrzjr0pxgDfLcl1OU9bOcQVasPpxmX05PVCFgWbuisl2yVKH+
bJVhWb9GMTfYzbnRWe4c5+zrLHB2c+Y6c5ztnJnOJFeCy+OKc8W6ol0ul8Olu6SLXEn8J24D+HI8
fqfXw4S/0o2/8aHsHkgYwWIGJknhkjSaQolaqSydNFSUhg7PpNJLfaFTk/yNInrC1JDhHypCCaVU
OnloqH+gtNFpTgz1C5SGnON/Wr5biNsq4BuSaxoFTS5vFCZ73ZIZShhWjj9aL7y33JrJtPMtt1ZU
UFrK1UVpRQmDvYXDi89jVCnPquJzf2IzkNbC3i60sXRSeWhnu4pQAVvMdhWlobsm+aaV7xdfixMl
xfvFP5hUlO/XBouvSyayvza4uKKitFFMUfHIJ/6BeOAYEMRzZZOP45HPlW3F22zF64j0iNeBCeJF
RVFHFa9jVJSKpwuOt7umQ0nx7g4wECfVRzUqTk2qr3mcIx0RpyMMxEmppSMqzpGUWo4TGqyyycpC
lGwYiCIyKEtFyRIZKoqq+W4VJT8SZW1TlLWqJM2qjYrDBrJxH7PjuI8hTrOO/PfWWUPxd8j3DKyY
Oa1klr+kyl8yC6gKrbt6blqo9lKfb/fMCg7whbS8qktnzmU6Y1aowj+rODTTX+zbPVClaxU8jYMH
+ot307SSyeW7pwVnFdcPDA4s8c8ortgzYnzvfi3KWttUVu/x5ylrPGfWm8saodK1KqsfB4/gsvpx
Wf24rBHBEaosUjw+vny3i4ZWDMP4Md0jY6LBr1WZuRVDUzyLBivmHZibtizzALSVHRQTqAjF+oeG
3ADzdfch3YdwEOYUB8XBOz4SlLZsYG4m/o5LJMgDb69/KAWWXFVzFaWVzCu2/tfgH7yWXMVDYZkB
9jvvP0QpCQVnFNfg9wFLQ10nlYaKJkwt3+10wrequAJ+A2y/mJgS/Llby7MHPAdwRE1rish+g9gv
KioS8Ye8oOoEb/TOfigaB/eIYLZYQjUVWii7dLKEKJg8Fd0wbWr5AehSvEjUVKCBNSIgauzcuB3K
jr9pz/8Iza6xseSqiC3SF0siVMWsCVCgxu4S5cMGd5YyVF8tQYb0/wFAQ65+CmVuZHN0cmVhbQpl
bmRvYmoKMjcgMCBvYmoKMTQ1MTEKZW5kb2JqCjggMCBvYmoKPDwgL1R5cGUgL0ZvbnQgL1N1YnR5
cGUgL1R5cGUwIC9FbmNvZGluZyAvSWRlbnRpdHktSCAvRGVzY2VuZGFudEZvbnRzIFsyOCAwIFJd
Ci9CYXNlRm9udCAvUEZJUkdQK2ZvbnQwMDAwMDAwMDFmNDU4N2U0IC9Ub1VuaWNvZGUgMjkgMCBS
ID4+CmVuZG9iagoyOSAwIG9iago8PCAvTGVuZ3RoIDMwIDAgUiAvRmlsdGVyIC9GbGF0ZURlY29k
ZSA+PgpzdHJlYW0KeAFdks1qwzAQhO9+Ch3TQ3Aky0kLxlBSCj70h6Z9AFtaB0MtC9k5+O27GrUJ
VOABfdoZL1rlx+apccMi8vcwmRMtoh+cDTRPl2BIdHQeXCaVsINZfndgZmx9lrP5tM4LjY3rJ1FV
mRD5B1vmJaxi82inju4iewuWwuDOYvN1PIGcLt5/00huEbusroWlnuNeWv/ajiRyWLeN5fNhWbfs
ulV8rp4Ed8QOmVoyk6XZt4ZC686UVTtedfXMq87I2X/Hskyurr+VF3U0QdWuRsIeCKqKhDogE1Xd
J9THjZRABkgiRaKqSFlK4xxZWqKK/THlIaouE0K8guoUrwhVUN2hiiPZUuAn2iZUAh2iliqhFgha
HoA0mtDoa5+a0OieLWzcp+5LZJWoOnAWX9/fPcWbjFO/TslcQuAB4WlgdnEmg6Pr6/GTjwH4fgB5
oqpNCmVuZHN0cmVhbQplbmRvYmoKMzAgMCBvYmoKMzMzCmVuZG9iagoyOCAwIG9iago8PCAvVHlw
ZSAvRm9udCAvU3VidHlwZSAvQ0lERm9udFR5cGUyIC9CYXNlRm9udCAvUEZJUkdQK2ZvbnQwMDAw
MDAwMDFmNDU4N2U0Ci9DSURTeXN0ZW1JbmZvIDw8IC9SZWdpc3RyeSAoQWRvYmUpIC9PcmRlcmlu
ZyAoSWRlbnRpdHkpIC9TdXBwbGVtZW50IDAgPj4KL1cgMzEgMCBSIC9EVyAxMDAwIC9Gb250RGVz
Y3JpcHRvciAzMiAwIFIgPj4KZW5kb2JqCjMxIDAgb2JqClsgMyAzIDI3OCA2IDYgNTU2IDExIDEy
IDMzMyAxNSBbIDI3OCAzMzMgMjc4IF0gMTkgMjggNTU2IDM2IDM4IDcyMiA0MCBbIDY2Nwo2MTEg
XSA0MyA0MyA3MjIgNDYgNDYgNzIyIDQ4IFsgODMzIDcyMiA3NzggNjY3IF0gNTMgWyA3MjIgNjY3
IDYxMSBdIDU4IDU4Cjk0NCA2OCBbIDU1NiA2MTEgNTU2IDYxMSA1NTYgMzMzIDYxMSA2MTEgMjc4
IF0gNzkgWyAyNzggODg5IDYxMSA2MTEgXSA4NSBbCjM4OSA1NTYgMzMzIDYxMSA1NTYgNzc4IDU1
NiA1NTYgXSBdCmVuZG9iagozMiAwIG9iago8PCAvVHlwZSAvRm9udERlc2NyaXB0b3IgL0ZvbnRO
YW1lIC9QRklSR1ArZm9udDAwMDAwMDAwMWY0NTg3ZTQgL0ZsYWdzIDQgL0ZvbnRCQm94ClstNjI4
IC0zNzYgMjAwMCAxMDE4XSAvSXRhbGljQW5nbGUgMCAvQXNjZW50IDkwNSAvRGVzY2VudCAtMjEy
IC9DYXBIZWlnaHQKODA1IC9TdGVtViAwIC9MZWFkaW5nIDMzIC9YSGVpZ2h0IDYwNCAvTWF4V2lk
dGggMjAwMCAvRm9udEZpbGUyIDMzIDAgUiA+PgplbmRvYmoKMzMgMCBvYmoKPDwgL0xlbmd0aCAz
NCAwIFIgL0xlbmd0aDEgNTIzODggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB3L15
YJXF1T8+M8/+3H1fst2bm5UACckNEIjkYYssQtghaCQgu1UIymYroEVWF9wAFQWtAqLWQFgCaI1L
Xesr1g2tVqooblTaoqKQe3+feW6CIW3fvu/v+/3980s4z+zzzJw5c86Zc+YJhBJCNLKCCMR5xaJr
I2f7/eYD5GwhRJk8c/6sq9QvDhUgfoYQ6b1Zv1g68/rnE62E2I4Q0r959oyp049d/u7VhNSsQZue
s5HhXubPRroF6ZzZV127ZMDBZwJIHyekfPov5l0xVZiiP0fITUOQnn3V1CXzfQPERYQcakT9yPwF
M+b/bdhnfqTRv+uP0iGSbsIOki7mkXRCkugnBYk5yeO8jIfsK0JoRgrQD//ZQx4n79ECGiFN9CcS
IGdoiPYgQ4lIfsBMnySt5G7iJePIRuomOcRPxpOhVESdInIzvS+5KPkluYjcQR5KHqA3Jneh/Dby
IjmDEfxZpKQXGYn648kM8qXwGalN3ktUsppYSF8yhvrJVPIufr/DGO4kd5Hf0V8lz+CtXnIj+qsk
/Un/5LPJc6QLuVncIB3V9pHbyWEqJ69IziGZJJusY0XJd5MfkzxSS35DHseYimiLOIREyZXkJrKZ
hoQXEbubPEwS1MrqhIHSM3jTUDKBXE0Wk3VkF3mVuuko6ah0KvnL5AkiEw8pwJjmkC9pOR3BHhGt
yX7JD8il5CB5GfPlvy3ipeIO6dJEVfL+5HPERw5QnT5Fn5VKpVtbb0g+mPwtsWI8PYCRkXjPNPJr
8ix5hfyN/J0tTy4nQ8hYvPn3NINGaB4w/i4LsWVsmfAW6Y7Z1mG0C8lW0ogVOUQOk6eBmz+RY+Qz
6qVpdBidRm+nf2dWNp29Idwn7BXeFqn4KPAdI7nA0bXkEbKf/IG8Tt6gEvovoaPoXDqPbqL302Os
kX3DfhBV8dfiWbFVykscS5xNjkx+R4IkTC4h15HlwO1vSBPZS/6LvEP+Tv5BvqdO2pvOpg/SRnqM
fsM0ls1q2Hy2kT3CnhBGCrcLz4rl4gDxSvF18QNplbRemaokzm1P3Jl4IvFm8kDyTdCOHf3nkWpg
9AZQxSPkGfIWen+ffEQ+4fSD/vvSyfRyvOUauobeRZ+gv6dv0q8wS2L+ZrO+bBDeOo8tAJ5uZHey
u/D2N/B7hH3APmJfs+8EScgWegoNwoNCo9AsHBE+F51inthd7CHWiJPFJFamVLpYGivtlB6TnpNO
yZXydHm+/IVyo7JS/UNrl9Y/J0hidqIx0QTaVUFJ1wETD5CHQPd7sQavAqP/hREfI6exCmEapfkY
dwWtpsPpCDqRXkZn0BvpanoH3Uzvow/R32IGmANTgK0i1p+NZVPZDLaSrWa3sL34PcReYe+yo+wk
Rh4QYkKR0EMYKkwWLhWuxhyuFZYJK4HZ24VdwhvCW8IJ4QvhJFYtIGaKC8XrxHvEHeJe8U3pEukq
/D4kPSO1SG9K56RzMpPDcrpcLM+Vd8qfKLLSUxmlrFXeVv6hzqfptAtGHgHtn/9hIezBTLaLecXl
9CSyM6hIHJh5EdZhLHbFP0iVkMC62Hk5xuZjIdHDm8uGCP7DrqWHSTn9PVkuMwFcUTxG9tAP2THx
eXYReYfW05C4Q7haepVFyWPgRhvYU+wwHUD2sko2gW0RCP2M7iSfgd6XkLvolfQa8hg9SfvQ62kv
upy8zfzCWLqSVCYfYiLV6FB6imAE5AZxOrn8/BT+ZYRWkA/Jl4kHRJv4K/CnZrIRK/o4+Zg+Sn6i
UvIbcDcB3GgquMzNoPebCOd6ddhny7EfQ+Agv5DfIHupDC7eS+4nXkdOkR/Jl9IhUNQAcNMTiTni
A+KnyV7Jbthh2GVkJ/bdbHIxdsxnoJKnkeapy7DTdfCSUuzqUWQymU6uB9e7PdmY3JL8dXJpch55
DW1/ol3pT3QbdkQzWlSSl/F7G3mfrsc+vPhfTu8/ZiamkxbyFQ3SXFqK/XBSWiRtkHZJe6XfSa/L
PYDtleQ+UPQnoGYdM7iCvEm+Ij9QFWsTIl1JHOPtjbFPIr9gtcLTZCANk/nYswXg4wPaZnINerkR
2NuC/fw09sYp8InLyO/IUcpoADO6Au9X0c9w4HkKuYZsxwr+mjYhZzq4dhfyNeZtp73ZtXifgZ42
gmu1YEwfks+B7aQ5rq7gC4PoBPT1A5lIpuMNPckouhsrsJ9UgLMOEv4AfOdQJxlAs+nDaFePHWon
GaRC+pQy0jUxMtmbzRGehoxJIn8bpFcauYg2YBQOzKOV+GgNKU+MwRjeooLYSP9ojuIeNiO5Wlic
+AV5jTyKNTHERcogQoz+44yqfhdV9u1T0btXebystEdJcfduXYu6FBbk5+XmxLKjkazMjPS0cCgY
8Pu8HrfL6bDbrBZdUxVZEgVGSdfBser6SGNefaOYFxsypBtPx6YiY2qHjPrGCLKqL6zTGOHtpqLo
gpoGas7sVNNI1TTO16TOSCWp7NY1MjgWaXx9UCzSTCePnoT4LYNitZHGk2Z8hBnfYMZtiEejaBAZ
HJw9KNJI6yODG6sXzV43uH5Qt650t0UfGBs4Q+/WlezWLYhaEGsMxObvpoF+1IywwOA+uxlRbZhi
Yzg2aHBjKIam6EbIHTx1euOo0ZMGD0qLRmu7dW2kA6+ITWsksQGNjiKzChlovqZRHtiomK+JzGnE
bMj6yO6uLetubnaSafVF1umx6VMvm9QoTEUfgxtdRXjvoMbAdceDPyfRuXvgpNUdS9OEdYODcyK8
8rp1qyONLaMndWibFuU91NaiD7RludX166rx6puxUsPHRvA2dlPtpEZ6E14Z4TPhs0rNb0ZsMM+p
nxtp1GIDYrPXza3H0oTXNZIxS6N7wmHjYPIYCQ+OrBs3KRZtrEqL1U4dlL7bS9aNWdoUMiKhC0u6
dd3tdKUQu9vuaItYbR0jM4D0VJkZM6vz2PAx5zFL+YhiQxsNUNQVEYxkUgxz6s0fM3qTdVf0xgLg
p5aiVeN0rMicRm1g/TpnH56PKdJGKdcZi6z7joACYie/uTBnaluOnOv8jvBCTifnSa2RTm2PNxYV
NXbpwklEGYg1xRj7menybl0XNbOesfnOCAKgj4wCbqfW9ikG+qNRvsDrmw0yDYnGFaMnpdIRMi1t
DzGKi2obWT0vwQKmSnzjecmK9pLzzetjoOS9hCvtvkY17/w/h9PvGTy7TyP1/zfFM1Llw8fGho+e
PCkyeF19G9UOH3dBKlXOEQq8oawt1ugZOElIY8jjMZYmmKUgyssmn6+CxCRro5iLfzIfNHaHAKI0
M2ikutFZPyT1rNWj0bYt889tmhW1Q6Pm5Cneygx+btY2i8Y+RW3jTI26se8F6QtGZ10nDB8HjsOG
j5u8bp1+QVk1eNm6ddWxSPW6+nVTm5MrpsUizti6g2wH27Fu/mBwodSCNicPrU9rrL65FlOZTfuA
bBkZsDtG14zebdA1YydPOujESWbNuEl7GGUD6wfU7s5B2aSDEbBcM5edz+V1IjxFhlMQ+h6mmkVp
Bw1CVph1RTPDTF/RTImZl6qEPEquaGapPKdZr7a2thvUGE4bEn6hFShkwF5GE7LSzKoMD5HEhEB0
RUxQElJlKcGEp2ge0aAMB0mwyPl9ZWvlSOfpyhGtlaQKcec5PHqURF1RVy4eFArGuYjQcs6QyFkS
EVvwLuJOnhAvld6CJMqiU43Vqqi4h+hD7JP0SXY5aA1Qr8/mp163zc88mdYA84S0MPVmaGHmIWoa
9QpqGvNkWQOS02XzS067zS87LNaA7EjXwpJTVNMkp66FZYeipskOLRwemqZ609JUm98/NGD1BgJW
h91usei6oshD0YcrKys9XRSlZrbFmMK8Pl8wSOhQ5nG7MzMzMgTGVH8gEA6n6TarVVOJ1+NxOh39
bNYdga/9O2xGMBy3GTl58Sobvc221cZsI6OyJDHaL03bEf5a3VGSZqTVpwlpIyMP/Yrjq+5463Hg
q9JZifiCoqLTZhIpjj88q3hJpbui2KzCE61tse/NEl6KLDPAc7XUveh65wuruwd54Oj006OE1nli
5WWAqKdMKOPgiwGiQswTE2IUWfeu2Vt5imbUHKv5aMQXo9YdqPxH4ljNxyP+XPMJ3dz3z33oVR/S
/I/oqsR1HD5KvP9hKiasTbxP80FQVyZGs9lYTSepNuwFjh0CUzVKNCdxq0/TbJgJKJ6E3WXo2j+s
90XEEpGJzWxjk+uRK018nGw9fdJ5klRV8SnxAdNYHit3enr2KmPM53UH/GzGs/dsu2LCypa1sy4q
jyVGn6B//xIHEHbs6cSbiYl/fTix876ZBCMZiJEY5kiGGsF8lq/PYrP0TdiMO+2KpjoJ/rmdfEww
XqTGtFf9h3SflY/GPXcgH83J1uMXDsbTTyiPM6HM7/Z5FSYMHjuoT/rMtc9s2jFg+OOJ0Xt+d+bj
hX+lj9Li9xKZZ978NnE6cZaPZGHiIH2E8rNF1T5Ntci60kwzjTR5C+0NwltA85QcB8kiEVKC/RGy
zloULMImqhtxvBWIGHHydCt1VRBXRUWPEk/U55VlJb9nz16xm2moy8LJvcYPYWto6JXrbpkfuTZ9
2nj+vv50NZvDtmH3lhrREmpABe2FvewUIkKJIAqDJKf5LoGExEd+wd91vG6E8/M6UnyyDq/AXu3P
CnB4CyVO8N7uxONxjF4gOYaP9SY6y+swWvH8aFv5WHuUlKH9ndwowFszMgG72y61QNuMkDuN4Uv0
NfoOukvZpe2wH9Be1tQJrlp/bXhC1izXbP/s8KwstYJVyD21nrahbKg8WKu27dBeY6/IL2gv2N5n
f5Lf1t62uZzBSJAFm5MtRq7bHw9uV21ZjmIHcxhIObYTKeNoDWwA4WzvUUso+tZzJjZHnBzp/L5h
BBB6sqiBA6ctUldHSwN+l1ORY9nE5ezVM5AtK7LL6feXlfbs1dPlzMtjpe8suW3D4nfeTfyEZ9ko
f0a8piwVSC2b9yamJOr3b8RhbDt9YP/GL/uPuyqBn2ehG/8CaGfP9gcGHwLy84ADjUwwtCvZL9l6
JoDqaWHTFImC01x+QNUkSqwa7DiTgDPK6gybRMQsMSI2iqIY0g/RHTgRpciicgTnsmAPVZWn606C
KEhdNOqSlfKeOb3KhLzEiXvfvJqykuNibMPgZM4rq/galuEsasUIMmiVMWVfcH/4YNqr4kvBI8Ej
oSNhdWDawPSBGRNC94l3B3eJ29NVORwhBXKv8BBxYHBgaGBYzQnmhHLCgj9PnCCuCW5J25K+JWNX
+q4M1U0ynBmRjB4ZizJWZmzIeDdDzeDr4vf64hnMaXVkcFJjnLINEBCKmrBGpJk92MSo1dFMJxix
LGuxlVn52lm3eyTtqN+PQwgl4SzHUediFspsX8DT5gpWVo7g7KG1qOE4BExRXUOly11BXWVFdVAb
DpKMZMseVwUfwx6HGRh2Z4WoOisk1YXQVVFk/tTultnAcZMMi5YWSmNpHspP8egI/+pqOWUMHz3p
aZIGFTUdkJE81rt371raUAd6cUV7unuBNsrjeTEQS27PnLJSnG5ANqKsiNZz+c5t3/yuqM+M2kmz
1cQXIaq++P6Zi0eUJb6/2E+lxNm7qPan3VUTx18+Y+4v07949avfXtE0rf/pUXl8lUZgr6RhlQrJ
+0bpat8rPvbL9PXpbLvwqLTDu184JO33fhD8KKT6vfQW/y0BFtVtRKQBjz+aZXNa9WaaY1hrbNSw
3QbBY6P+ZsoMR5an2MM8HL2e7WkSBcr3OUFXoD+sUymyxe35tkZrC9bA6nceXZ51W9bWrCeznsmS
so4pR2tyaE64yH80sJgeJaEu7WtxMrUY4E11J10VxXVtC8JXhScbTlKOTDAtE6Ucq0Aq0EfqPLnm
3jKxp/Tyn0djP1aGnQiu6seDxLJzRlCnbcHoiYsXjOk5PGvBkklDh8y0JFrTrnp+6RvXz3pr2abE
5398KfETvSk6++qV8+f+yveZMGfisEnT67vetPXSlb9Y8+w1aU/d9Gzi1GfYT0CuOAh41YmNfGxU
WCO2Cs0ashZZx1qvtH5ilU/aqCz6xVyxwDbEdqlth+2A7UWbRplKrLJNkXSLTSFWq83WTH9rhAXR
K4CJMqtoE2xM1Ili2FpsR5A4TAtgKmN0734iimhAmumkvdJtOsXKMMPtVLYqzyiCEnZUseWMsZD9
EL2EDjF39fEGiP8Rp+vMjV0FhaC1rpKj0F1h4tBdwQW7mBLp7aTbzXqRdYT1detHVomkiBboLYKW
VU7LXJDrLuqibFnrTvarb/bvT5xKPEnzvxd+c+7yHxLvs0z6XcICirsUFFcubQdfcBqFqj1i7eUe
7B4ausf2gH2T+wO75nZ53FFXzH2TG+yI2nRgwe1yNbNtht9u89rtNrfu5TZVgwqj6AYwvAvI64BJ
XWk2iNTJhi1LL9aZzglR3+7lxGfx+uMRb4nX8AreZvqY4YXy5Sx2smJnlbPGKTh5VSd/l8fhsIsO
J8jxSIAaARoIZ9mbadRw2xbTp44QasA6/CTYC3jFQXpxG5sErz99HDy/jkc4u3Sa3AIZRSbz4I+6
BuCYo9YO1JpC1qRXk1YvINR8D/Cq9CwrJaBQyIqcS2nQumjEpOuWTl1af3wDO9H6166XTztMxTm3
JV5LEro0Y8q82zasXn1llJ1N/PhjceLU+/tufe4D0OJEYLwLaDEA+/TTRt+5loXqanVTaIe0Q33U
vstz0L7f9bSnxfWGx+aTeroGOa/z72N/dB7xKofJG2guUiXodqZFwLQ4CjOBorTtDltWtDjKgBB/
PLq9SqOGdkRLaoLWTGuanqQUqxI1srPEYux6Xkfc7pOwnRdnHq2xUms4N3jUHco5v7VTcvJ0isme
rgMC2yQmJ0i+o/leBqlRKc/kgMAKtCFsWQhQAl5IvVx4ptij6Eic0scNrP2lc86WxrOJM2/8OfEJ
7fLXHX9qfXDZ6JGz548bPV8cmzlu1LbWXyVOv/2XxClaS9fSO+n0w+e+XHv3detvu2k5qHQi9m8Q
VGohqw4SMXnM6OFwxXVL2NJH7K0PkSZYdll+Z3nd8r5Fj1qoRVBIlqXYwootVZYai2DhM7Yc4uoQ
ffwAY1RUVKuKrdlUrFCcauoNO6sRqBC24UhjbcMCtPGGSuxH6DRcBT9pkg6fvzn3IuhIPpmxQNTt
7jVReHbx9zfQxN+Uky+KD1LpDwsTwxKe52gJW/IjaHJs8nMxgPUOwkdUQm37StSMrHhec/KM8QtE
XnK95HlPek8RFzoXeVc6hTzSxdqT9LVWk0usV4tXqNCKfIvzV+dvsm0OPmx7NPhoeHvmjvztXR8t
ORg+kBlY7FnlWeVdnS9uwjpuAqbSu29GrEjj8VyhO596Vfea7qz7IXYrRFmL4fQH4/PTV6Szbek0
PV12F3Aq0lCtpMAoYAXN7FbD5rZVZddks2zeOpvnhGUp66i2uOhojYM6wqWho8Li3KP+UI/zJHNe
GpjqVV1Va12R05QDRSfriky0cdSZtNMmCUhDXVERzcsrj4N8TPHJ+b4Yy87nWZ4OJCR0iNMhV13x
2Vtvnphbf93yROt7L990/6KDU2pG1U8ZObo+vLh24oJra2fNEALdH6x/+N13H565tUuPp375WmLO
r44ufomOHnf5lHE1U+pbL7r2xusXzbr+Vq6d9sfqeNt24xFjUl/XcNcMy3XqWvVR6VF1u327Zx85
KOyzN7v2en5PXnW1eFxxzwRLrW2Ka4yn3iOHpMX+ewIfOT/2SrM9ONzyzZmVVozNyXGHjSk5oxFs
TI5kJ3Ki20s0WqN9rJ1q25zbUpuzg0ROQzXsT1vwaI2busO5qX1q7bA/25Ftytx/tT9N9gUEt3Gw
XuBXrDyOrck3aCw7j5qai8/Eax116uMGT7zONXfrE2ep9vrHNDPx7rePv80uv37MyFnYn/Po2Myx
o7ad+yW1vPsxdSV2JBYmrk5sOSCkr9n4y5tvvWkFsMitBc/Ak6oQnfY/SJTkUUPrVRGXC/BQTAIr
KI/LBh5IHTVGRfNRhkch6QJeWKAXW3uTXlKVdS6Zy2YIM6XZ6iz9C8ExTIYI1qiga5qoaJRGiOKF
B0LWRDEiyV5JklXdCGf00/krLOGMuJ7LBEEWwfaeMuyywiQRrlbVivM6NM6phiULfUBYraACbWY5
hpal0RJthca0QyyHiKihRaCPhyyXX9F2AGsNgfudrmsIto4cPGPQ5+1H8hEnQc7F0D6LzAP36uvN
AzcCxVlZufqFF1ISeq8W12xxUsT1yeGNlrHDGzNhMjtIhGRijyrqh5IJYOrcblmEbpnSLlO6aTQq
4JdGPYIgPZP43YrW/UsTL7K+tKLLqy/SEYkm6dC5dSzSegyHCngJiDQNmPeQCGz2R42qxV3obPuS
Lp+L34uiFvVpckHXaK7fneWr8bES35M+5vN5Y9m5bo8a8eZSwtLy58sr4CYbXpD/JDgHMNmkWeIQ
2Dfj5Njd6D6qe333+d1XdN/QfVt3NdK9BKzEmx0hEU8JlMpmtr6pW4+x7ceSVqjmdQ3fF3GBWwdO
AGWGg8kITOXcl1yxJ6PCh5fsCfNgxW4P18drUaldtpzHlQO42q1HoHVzpTFamonDv2wqhzj/ylIU
Kn9pr55czOTnxQRXtC2RF9vIhv32sdWT501ZtaHuwUXDEp8lbLTguSe6XDJx+LCub+6i7m1FA8Ya
S1+VDmVcds+UWY8X5T+1fPrTDTaViS8mnpC0iRcPGq9JrQcTSzRr3cgBl3XhmvnU5AnpctgSwuRd
Y+Qqba13rX8r2Sy/pL0tvG35TtBytQJrga3QW+hfKC3UVkmq4lECAU8gUMi6CLmSUiDdI23SXhF+
b5GqaA30pDFOQo/BQcPMM5EriDMRUK+DXuCLMALBbqJqN+zuuH34FAflbNfwBeM4LxUY2e5uuuD4
1j6BfEvMrsIlYOW+/G0KdShZSgk0TKxeU9qytnXBaox0QopjUbhIP40j0/EiHvIIxBkEOT/WSLIY
i3AGEY0E/IGUaMc5GJJcrKJZAxKvf5P4MLGGXkfj1LZzemniT+FHFv3mtZe3LdrF0i499SW9DR7r
q+ndWy9vrF6w8qvET4mvvgFxUtwzIOIpUKiFbDAuUiUI31zZnSXREulJiUmSJoi5OCbrWq6FwCs0
XGBDdAIhHo7YSmwGlGpRi2Djl3BEgdqsHanNnBakdKWp3nUmNglUllEhgcpAbDz4mdgECfvUtFT4
oNaZcLdYde5Ldqw1IpRJh84kDv+QaPgBo9+E0a/E6DWywKjC6GUpV4moJeoz6seqWKxuUJmqktQU
NIy/Sq7BXhoj4BDAwhFLiYVZLhy//q/GX5c6zLdyMx/Os62V/zS+TcLJ1r5seusWPrZHzrTezjHL
934XE7O/MXI1UdIFpum5ovtJKDMCMa2OTFFV4FVSI/IbprKz3sg2bKNs9TZhvm2FjXEkb8PpRbQx
SwrNLWAqKUQvvHBbL/i+rs2qC7ucaZrkozW3tWBiWkhtax50wnQ7smEYSv1upAVsEC1IHG19SjrU
+gzr/1M1u6GVa3r3YE7P8znR242wKlO3W9clgQkiNr0Gv6EuaaqmQ3s7YBQpshc2W4ELAx3CQNc1
MH9d0ARY2GQFvB+LQCwWVVFhYJy+RxqiIjDcikla7PyM2wmrjefzSYY4ZQVTGyZlhMWcQ5gvuFSg
ggBwZgia5zEzonKTq+qsVF8Q+LMyxf/3aRGLLQ58vLpHzYcc4IKADJxkhPLkfG2DuFneBuNOi6is
lHeKX4jfS5BbyWNNvcbEEbYYOYjkyhfp1wqrhHuEe7R79V3CIeEVQX8WlznO6cJF+gCBLYAWRYsa
6mrNdZCTXzS5LVVyc/ILHJksVWKJzY+H1VslRizuKozkSJMjlArtgVSIGmY+KplhW709dk8VRsx/
qPkEG+aGPdhZ8U9x3YMVnEBvbT3KqhM3JK7CBm9dyNa3/v7cDazxu8RgrCRIFOrRIWJlQcNiEfLU
PAtOzRQvWWFo6X3ieqRPXz7TY01tofFwenfk4iFjnT/VvtEhwXTdw9JFp5alx1hXMaIVw4g7W5yh
zdUXsyXiw9oufZ92SP9e+0n3bxU3aFv1F7VX9PfYUfFd7X39BPtC/Ez7Srct1pbov2Y3i7/WbtY3
MGWSZQabK87SZuuL2FJRGcSGi4O04fpEdaI2SVeCerE9zvqIca2vXmVX+EFf1jTdx8JiQFPaDt9Z
TIRaIlkVpVS2W0ship0wdI9SbXELf5iztGP1VcOeH7fwB7K2GE4esagCVxWZosNagJ1UBQtWoM0u
VUeLTzrfhnoRqMD5rq/RDW+JiKqmlabMDgz24lKBwQLB0I1gFRmzgvA1Rc2yU5yJbU3cs34IVlqw
v6ZL6+JgfC1GYOy4uFSqGMpylapPL8cqPG2JWKysmfU23JQQAxWJgUqkNIsrAejG1gP733kaR78i
Z+VfnZXhkLO1obWhMhzEMboIGc7jDRg8N9JXVaY2RNHPelCbzuMZC3VHTR7bbYlwBQdiBj8N8HIU
FRFQLQgK1JSiKtft9DDuOCj0qcTJxEeJTxN/hpoTFL74qVq88ewyDqCpzeAOMc6N6X8Zdk2Q1ZAQ
UEW3Cq2vOUk47SM0p81DowtmJJQqKtiEKqiMKYIGfAFXgshnLPIZi6XyG6YNdr0RMiyjLPUWYb5l
hYVts7RYWIqDq3w/clya+9I+dmxcKzVFUjuv1DmuuMEevAMqIZQgTNJkl0gBSVWmdgO+UVGxujuf
PBCVoiOuDB4zNFCFGknRSMsB6IyqYSqOqAmWMdBUGVfst5SrKyzl5sQuCnePq2PxkAS/UCoYglgt
3ARhtE3dox4X5BeEN9QPVBj7i9W40FetUe8QtqrbhCfVRuEZ1ZJSyMvgxjDwQOqYYSsujbMIfyje
cuRsMrRo9zgbh4dZuzozghQeKlOUIBMCSleWr/RlZcpIZiiXsQmK5mVpygg2WLlXeUx5jb3PvmAn
lB+ZJZ8VKMOUJcoa5XEmU6DFXHyOgyLY3lOkUEtMSuCygbo20wibRD2J91p3gwC6CW/9VC08dQ6X
TRhuSZ6QTkAHc8BT+JAxfpO0Sd1s3WwXVarYVYcSzA8u0Ra7lcWuJb5V4lp1rXWV/Sb3Wu8a35rA
muCqsFVxgxLCPnfYGw76woqnm00LdVMEf/6TOiW6U4/ogs713khJhpFRnzE/Y0XGtgw5knEqg2U4
87cRyr0eJaZ8vLkpfdnzqTWHemVqvdzMBN9CFTwgIPQG6KxxqKe9epa1KVUELszzZpHagaVPzFrb
hMs8NyWWJZ5OHEwsoz0+3737048OHDjG3j62ef6eoj44Zt2buD8xD6rV7B8TyWTy3Bl4k5ipUZ3B
LuB4WGzkytJB78GgcLFEZ0nvSsztyrXZ7STNydUqB1ExPS75QcHQ67lmaPizMkra5idlOB0d1av0
jurJCGdKlzcp2FROoJpwfbHBlAVQE/m5Hcp4LBaC8bZdF7+b/onaxyzbNW3TyLmvPPvQk4sGXj6k
fJt0yB/96MnVzXNcvtb3xOcS9d2n9R8126ZjPlyPgR6AW6NRcsa4scIx1DFRmWuZa+U+om2x/faj
mi6rsh5Q/XpPe7W9Gq5cp+by2r0Or7OnvafjYsdC+1LnW7plibYktChjjbYmtCpD1vxeDb7dsfaF
9pX2u+y/sUv2iM3qtdmsDqvPFvDnepxeWu/d5mVeL4lEObqAOB9RwUafMvKJzQkj+ttp+dvkRrlF
PgLr/ur5MRqJlcRYLOrriLXsHh10B34Cqms7/5jM8We1jp9xOAeo62BtNPVvGMbBC0tNfOKIE/BE
he4sFnPhiNOOVRxr5n39zornnq2/fm5T4oF3F4y7fGbln96ZW1kzJGfvCelQzas3PvJeeu9Vj8G+
VvVYbbR1izAyZ9KAYZfCOAzOOQx2jr9j73SlR4yLDrqaM/YXvNhVxCHFh0OKL1g0Q5pRcK28xHZt
wfvWd2PWWn28fXx2bWy2daZ7VnROwayuizNWZWyMWt0xLrEzs+I8NGaEwvHR2aNjz2Y/GxMbshti
N2TfEPtL9l9icpHexZaTnROrsMVjw/XhtkHZA2NzbTNiS23XZa+1rcveru+w7cz2QKWzydlyLKSH
bP5sJTum2+DPmBA0QpH4vCCdF9wKP98hNgOemBbDGq7ISqNp3bwCGUI5fx8ajsS56XkUrtlsoNtw
B6EFV/b+KhrhCif8f926aMFvk7AWG55APDBcyc8Ld8/K3+ZsdDLncPqtK3WqCHX7Y9tBafjYSbuJ
0bvWPL3CCIqwaAE/MjUUna4rOp4KFxQdh7RLsS5T6coGPtIy+gEfR9rCT/d4KrKBHgTIfWWPm6eO
GA53hS3irtBNcPC8Lwy7FXm2Cj3IwTwLm6zRfLS7qHx99D628uxy4HGobWB2dWy7/mi2blr8za34
s506H0dh03wGpgObI7fOKrLPG/CLJmXx890wGglvXX3b7RddEj/41/rVy799FNd3A0riqOf6628Y
Wty1N218Y+HNSfJM4qvEu/Sj9NvXLB0dH5rm7t53wtLfzn9+5t9ftTVcUZ5dEc8tnnnV0+uXfXgl
hf6Ae3w4Jx3EHlZwTooVayViiTRKmw/bygZNkanEcuEwUYiqwRQjLufylnYzdFmBNQZXrKGBI+kS
7KNwj3oF28BEFlJbH0/xVzjidjOsCrfGgv/gAUvM8TaexE9xtA6Co5yf4ujHiRHiLYmR4nNnzpzt
h1EpsBatx6isNGm4i4QiOWIps4hEphYj3CcOPXlFE0KhQ7gnVA4pf8LQuDUphAcsIqkU4SloU8eM
WniAxQgeCtRC2RomPq2Q5GrKl/oJ6w/aj/oPVukl6RX9JesH5G1ooe9avyKfadpj4m+kx/RHrIfF
Jumwvs/6sqh1F7OlYj1ivU+8U7pPv9uqppSCvSq12zC4liZ7lA8O9llEoERG+ZC3NKX0yy2Gj2ub
03nKIuPqsAKVEmdQEzMdNEqT6aTtfc4iSpHmZEmTDIWyOVlqXCYQa4TgPkuEEi8WUceBsdSie3EV
RpMVHHI1r6pqosVqbVM98RLBioOtaBXgEcMNCllVFIkfs8A5TSUUrBPrWwwds5mWGHpEftrytFHM
dX4krRFuemM0ZGu3roVDI1rrwsHW1nCotS7YbmBLaZT8yX/N0YNr4vKD6QrjJ68R3TtomvymSwe9
09SYTEWzIbWTzENMQx03p+Hg4kFIKZ2ReIgWf0St4Bv0L7RLYkviRRg3PoLC4RK+PYc7GNA6h5xt
BmEOTX6BO/P94KsppQ3GbCWspksZ/vCwtCHpQ3P/5PzYpfUMVYcm5s0MzcpblXdH6M7wdrjWXwq/
nGaVZZvPL4f8+XKhrza0mK1i2+V98ouy9Zn4+06WkVPaw9XVlmMUdY/nGNkFeIQy4vNyzuWwnGrT
hV5id8QvyqDcv96Y8WOGmJHRlZYRA7lcD2FkfNRId1VFjTQnHrh2FG1m1+4TFatN78ppB2VmiGIz
RI2uqGEYXktmjzy1UCuw1WZZt1oZNP4klH7DDv97uCZO4/XYObeWAE1lhdEpAfpxgNYEpgTmBYRA
qGxO/zatZwG4Y8PJOn5Qhh2Jp47zOwk4LhRB4YUabPJM06BRlCLrPcUZtKH2ZLvim5NsOZCWER+X
Mz2H1RXV1qEFxKNgh7GAb+oGWP0aKO65wDvg98EHEIhy7ibDls0dBFCscOOYu58o10BMW7bplKcz
kkV/fOOp5uFCWm7iK4tTEYY8XPfw0xPuu+P3l4yaN3wcvbznVzm9Jg26ZHCZ08I+6X7vXbVrDySa
b77pkvReIbW6es+aybcMT8+NpI8e3DfxR3dpML+y74TSvF45M4Dy1aCGu0zNK53cfxAX184YPSwV
vdIuTmPuCfIEfYJ/QrA2/QdFLhf72vp6ytMGi8Ntwz2D0+5S7tF0qx3kT8JYhD2S4uVr4bFYHEQP
RNXw/Eya6SxkQh5MfIWGlc4n3K4eyqhK4Ru+qJOtlZ+PhEbGtcxKrmdWcV2sAcY7mBQsM+WZ+kz/
zOCcdKkO+nQRP6sDdbhxzQ3++T4PpMB57RM3e27c81wi0Xrw0t2GOz50ad2vV86asQpn+FN3JU4k
foSv+INLa7ewLo/UzN/62P4H7+ccfjzmXoWdECJ/MUZPctS6a/2zHXPcc/zXB5eGNrFN1hedLwbf
c74b/FL+Uv3S86XvjOzp7entG+Ye5q8O1lrnWJU+7l7+XkFhsbTYsVpa5Vgb2une4T/o3u/X7Jxi
g2lxHu5ze+P2MhvPCWXGzRDePtshfImhA2dul4UYqEoM1CNlG0Cnh8C+RBRFAgrluTRKim08YovW
4FQcTlOi3lB4UgqV5j0gGEOLTp8s4ubQuuOgWG4NRZhSboHTlPkz5SHpJXGia/Ntij0SX9uvqJlz
/fIrR830UW/R6de/THxN/Sef+4x9Uzp23O27nt5y6bzi3z2H7ybgDaK5O7jGPg64m9pGNxuMbu5a
uVavdaeoZTNI44ymzc9ckcn6CHFrH188NEwYZB3mGxS6R9M4neyRLJxqDLtFsTuwFHqg0G7Lg1O3
0HA4SPg2TjtRNZQxqdLcnHyGDd+nKMaUBqlTCey8DZxWbHPkOfocd4pa5Drcay9vmyDOJwGcwTqS
ijg1cbb/7skHEmcTz+25kYZa3cWDrpu6ZuWs6au3XFqLj34gq2joLuY8N3/XJVc/8vCBB7divv0x
33zQipek098cJE7sk2pLBWxYto3OndIO/bB22NYcVlUvHcIulqv1msydtv3y/vBL+svWd/Wj1jPK
DzZbuiPdZ4BD+Ay7K+7wPeN7wydw10GTI7PKDGHC8jWzWwwo+e5R9no7swfdXC/cH0qL0zK3aVDP
iKQM69mFqbCoWyoMppuh4QA73QaU4roiI1PcbqC5SbS4gxzdORaFRGmxL0VExZlTMudlbs0UMx1R
1bA54kB4GzcsusDCfhJqoeENGgXeqqCR6cADLDjIeTWXSLVVraba6MZEUMPNJ4RKZoh6PNzTXhWO
J96kyGxAUAD3Oy+HCbI52dik6f3MZP9oFcwp6Po456DcJGt47QawZOcvtfPXw5UQSNnzak23FU7h
EK1lXHnCSbUIxn85FoHqyP33RIiaN3Q8Kf0xwH6iwZ5fPpn4+qY51PvWSeqWWw3hxqkDJucLSyZc
VllJ6Zjiex/cd/tHoIWixEuJp69fP4T+4rrlAwdew/lGEBvgc5w8/KTZgC+BdhEjzoirVlwRlFTx
mSDz+V3M6/a77B4HcdrhRHUyr6Y6LHSKJQnzOV8IXaYuh58m/bjRhGQmbkfj0ydKZI9X18qqYOAY
BftOgbPYNcXFXM1UNGx2Tx7zTiHb/C1+5uc0oVnj/lBgyUE2J3U9pAgsld9NPlcHlTJ0nATBVLnt
HQDvdUNFKb862yaHPLCTcEEUULjA8fn43Rpcigluqbhn4ZJr8gb2u6j8j39MnNgi5o1atXJszgvO
itHDPzp3QBhq7v3EaLHe1CCK6Uhj2uKM1RnMbbXN77HKtqKHGKE4TQoltIyVCQYdyAYKlzpqvbW5
EwonFNUWX+k44zrjcfe1lfn7FpR1xTHKP7xgUNdT1taAfitktsVqs3Sx2vLt/oCvm80KRT+Yw3fA
PnMHmBvA7jKJpMliTYUFXVIbIJabCnvEUxtB86WZgn8KriNeuyfLkc8Du96NI9ziU4IhuUuhJS8c
5ExHC4XC4dt60B5gQc2GTspyou5QyXnuw/3TnP84TzpbTUWdC6vW022Wn3b5D3puwsY2KRiLY5Iv
Nc3r/JTMAaf8dhHXYPItxxzvnNxZhTOL5hSDb5G6gOTnUs2U++Xg0W0EHCiPwjjAYhEoCh0vEiyl
/dWMgglX98r12Ja1vHv9NEqf+f0KqvSbf/i2xN8/Offr+lm3rpk949fV+b19mVF/j9jl9z2+77Z3
qIWGn7j73MVPHZpbefBWO/v1o/c/+MAj2+4HAd6BU08t+Lqf7DGKHDQLH0BiIZ0D6ADXn+mPVFMk
v5TDJrlmuyRKmcfrcnsEL6MOjtQMAQ4N3evT/YRY9DxVMyI58Sc1mtSoBjRD6/dn58Q3BLcF2fzg
qSD7Nogb9t48P2d9hgN1t/noKR/1hQJVKbYPYxr3XUAjQ+z7tlTqNAAb7UngNGCqV6p5ZoI04AoC
vKog5bh5kUfmUfrYmqenbqnJSJyIjL6o+uqyBGwLrZ9tHTJ/zW2tt7MeOyaXD1q7qvUbTBoM07wZ
jCj/SmDxQaJhZFUuvcrQRmlshdaoteAa0realKXVa8u1bciQBFnBJwQCpJhBjpBjaFkHnUiWcHNS
ZwpkJp+dFs2JiyG1bV7mrFJyzNyepnPMdClBni3gV3Fw0c28cpw4ge8r91Mxce7sMDHv7AdYoZ9H
OPYgN4kbhXx80iiJrZAa8ZXoEelbScqS6qXl0jZk4KI+hqRDD6OcMM2R4JL0P43EZAwLTC0LV52l
Qz9V413L4PHYjJ2eT/seJIVoXYd3gbNafbLfGhfiajwYjw1ig9XBwUExK6yzhWO1+sIVhVsLH5Z3
KNut++R91sbCI4XHCu2ksLhwFAqeKfy4UC40wunxKqRXmIWSEhWVcAZnhXt0hWv9Rqao4MOF/LT0
9Lx82DJlhzPP7TIml9e76Dwgp5lVG45wWl5GOvLmpdN6+IuRtzc3Ly+faxF7CMnHbJscWhUPjZ4Y
dz6q5hv9AZWAnPx4vtHnonhx/hv5H+cLjvys/BX5AsmP5JfkJ/PF/FDBpykibDPpQhql9n8l7k8U
gc1+D0cVgnZyNA95YAvY8OaNMuBzARwCIMoi3HAHXfoDpuaPC6GcPPM53zXJ82dKXUaF9S0zN5ZU
P3TZwocKQK8Z+aP7zu6eOJFZ1bP/7G6JE2Le7Y+OGz9+3JTLBm1urWVTHuheOWT9xgRj1fdN7lq9
8p7Wc1gzeKnEWqyZn2w1goon4Jmszoa7UKRYLecgdZDjS6ckm9vVpeBQbrVYoH4xmucn5nYlFHf9
yL/brrolzwpjYuEe2Bw5Xs1da6WnwLkv3LWcU/7zxjWth9yebGpuuOL98+ThtE5tXrE2cSJndMXQ
a4tA/NL6t+rurclimY/P6D1q5Z5Elpi3Ze/A2St/yffqGOhk92KmNmjwm4whX9AT6g+eH3ziS+wL
GI1DUkhjtc4Jngn+2uAmtlnerG6yNmvvsD9JH2rvWGF4l7+wOXeor7E/yM+rL1qlhepaeaUqgLZA
hZYAR5FXVLwVSrg+bT7uP9mjMJh0ULlTBxfTPG4eWjhH1+Y4Z0IPnRMUaR3YOb5NibsxLVyx5Pd/
83I7XPwas651y99oPPHKN3ckflhHIxuvvvruu6++eiPLvpnK6xIvffu3xPMrkzsf2Llz25adO7ne
sZoQoRfm6yQ7jYJNEtXsdKw0U1ooCcXuSfbZ9vluUdcc1iwru82atLIqaw0uQDezxUahomCNBSbr
BfhsRSuBGUvUwsvdW91sinu5+0n3EbfodpI8btYoNCyMrYDpEXYNV9VBmp5SLqBbnF/S7+tCI1Lq
BZgwtkcFvpLlV1oayPDGAO4ElZv3XEp7AwFYYqwrMJBSNGQX3cZXdeCVg+prJ158Ud8xxWLepisH
lX/Xvf+uxN8wxxKsqRNz7MKeM1pklxxT8wOuQGyze7N3U/7dXTTFW+1l7sO2g/aXop/Fzti+z5YL
beNtM2x3Wza5d2QftCr9Y0bOoLxZ2dPzVrtXe1dl/zpH65U3WK62DLPVOKqjA2CTzcnP62Utj3IL
ZHmOIuuSS4sGbfnW7OzsmJKTbXS9xrrEu9S3qHBhlzW+lV3u9d3dZW/23phtBb0tcHPwni6Pdmns
KgeifiMai/uN9Kx4lp9+DFWuTI2Oyr0tl+UawYx4bpgbKYwAOM+orrSkKy3uSrtmRkuc1FlGo6Ym
A+5khqiS4s3cRxYqWtLMDz3nwHFMi0Sb+DPvIHH30kmSUjiMcplSmfppXnbPaHV0HK0NTKdzAt/D
5xhgYjiazQo8NisrCE+B5bi6wDIqTMPVHgW6IP5xtaQd6hrSDpLs5GtN0KRwr88MubW3KTOHp481
ZeXg0iRC2MZ52khD5Eob7Zldnb3Zdlf2C9lvZ8vRbKtNFHErLaWrkTKutTUFulUhNBV7M52dG+eh
kQH+T8xL1qOoWI/ra6co7H1O0+4tmjU9ftSk1BgBv/IU8RSu+WIKfgNqoL8sYKDfgIHTQsAo7xUP
cItTwMgtxAP9OgJZpnFHDIwPG1A4HGE6KpwMs7bJm6Zv4JYfj7lezG8PmYocP2vADt5mZeNX3MC+
G/BTl7oTkpN8xdBwmcBRgEe0OfnNfluF1Wut4NE9Vm79/mq3pcK0zuGCQe3524r8uwrYeUB0qZuh
F5ix+fcB0PPySmjYffUVV/XK9fqGJh6/dNkHn33wdkHiB9eUSfNKIul59NnaSae/fb+VFheNGV+Q
XhzxeV3D+024Z91Tt67v0W9Alj+W6UufOWz4qjv+2IhdlJX8gt0u3Q+++LpRGCFQyfVCRx/7MHut
Qwn5SFDw+0jA7YGd3M28NChoiq5YoQhTw0EC2wKNAaEeQQvsYzh67IFRAMywifj4F5M4s1stuLRQ
TEgxnQIuwQ8nBUEhL+Ae76vybvU+6RXqvSu8G7xHvKe8EvE6vfxCvAhzxZJt7Za24Y29wCf6mncH
vckWbgrnJxdYwp2nzZMLTEH4AhCnxeMQp66ytpNLHcUxxcuPcr0CHGncNeDCx3/luS52XYslPz1/
WHDary65rsKi3XADDYt5xxLjbixKT/ugS9nowT3upm8ce+vhxFrg5xZwmbH4axV+ssUITHTNcm2U
BE0OyZWs0jWcDXedYIqp0bpEi5/oPi8OZTiZ5fl8MOsXwqxoSsrU8e2/kZSaykndFJEqPQUb8oUi
sqN8HHGSf/IIXaKjhKxLmTFwoxgagzltuM4QFUb2eXrOlbsuoaGsMVVDFnShoa3jp12+ayPblgge
m9G3ZuFx2gJVEfO0QBeYjHlaaJrhkwrCxXGFP2T+UPkDtvijTQhNJTUCz8G9IpVxnUPVrRZo4swt
hLWwnk26WV6y4OOP5CnDD/uDTiSLl4Qs+GM0ljjpY1lNtBRL2qtTm9Xsy6IF4ripqlEZn6hU8fsg
Feat6QpcI7YQXYRJXoOVXUZcq+AWMSOYXhC32LLMO3KiDVZ3p16l15gO7BLDIrIKC4x1NaKAqyAl
UFJWGA5rOaEROMsEGrK+ANrCHSd4tXDJqQ7KR13INL+baVNH4woaPqvCKczc2kUQWG0XgWBB9wS4
+RW2dHogMY7mv9wnINudr9JoAthr/WTfYH+3biwzhVMNOnFv4NRKPzJ6ALM6kZmuSFoa8bNM0SWF
Fa+WqbusVtM9E7NUCBXyEGGIvFnYLJtWQWNx14uBQgu+yBU1iy5a00hY9EteLaT7rNYYKRDzpW5a
gZ5v7YErxP20anIxu1gaogzVFpMl4mIJLmF9sXU1WSOuluAY1ldb3yfvi+9I78Az8w48M1+Jx6Xj
uCN03Poj+RGXsM4o38OF8721W9sanffFaG2+GB8iFhwMfva6yBpfNX4njrNEsEqu1Vacd7mMaHO5
XGKUcpfLf+dGkVNuFFxAqoI1C6uq9tco/3BSZlcRC8DANwz2vRE4UV44SMMpZYO7Udq8KCknCj7G
wuq1fzr8r70oGCVfWPBvwvn1Xothq4Bz6cweWwWo/AyYtcWw8pxTYNbI4QFSx/ZghRC0s24uGMwL
upwqPPwfjQoCrU00UtdLB6hj92vUl3gs8fcDe0EZQ1gzh7MfsMdax2O/WbHf6s39ttlYX6C8LLLN
ykH6IX1HOWXDBdqwGJTxDSLprQ7BRyG/ogsVPY8WKT1pH6WaDlM2W87IZxQtV8xTuuhxsY8+UByp
Py+ql+jjxFp9uniVvoRer98lblQO6e+IH+rndJsgKjhz+/HxWxe9TKzSq0XNh28r++gj9Sv1HeIB
8RX9e1HDXYlTTe4g3+VHm3zYmFyI+6yuOBXx3Tt3gCFQiYbrVyjZX9gtnjSvtR0zHP6cuJDHcBeG
aZJssbQVn8J1Vt5HAMWWPCLhDrsEZxs0TNzrshAYXK7aI5dpCAyLOqMGX40fw71XgWezMhjArjLc
3NoFTZZ7rEUy4+f922BeUgzhAkrbdUXzM3GTMfKvmooa2n1jqRgIE7ZD/khR9z49AkLmE9yDEMIY
NMFFcl1DwwLQRsOCMmquK57w/dHlidvpxKdepMMSm+naxI6jH7AYExIf0pyE1vomHZo4wLmoHfau
MVhVD43vdRdI1MOnHrTCXuqH0VThD5k/JD/yGOdlWeCkOCaLNotddjLikUUPbtcJMOrLnnoogM30
SbBBh63YXkAivhJfvU/ghg80bcrOi5v2EHd6ZtzHfcsVghEMxfkNt2aab2jMTME/yVNuWkGM9J7x
Nr+/l3NBkwmOaA2BFXJumLrmD7wtGOE8DdvVybri1F4CJ0x9zchtUxUKvFQcU6mrkXXDG50Q0H0g
oPeITnIoidVKntot4O+E8Xv9pvVW4s5+m6vK4/SE8HAHq+BKPtWEBA/3IN12zTK1iRS7AHNWPmR3
z152WFXP0Fhi7cDcgROXjxo9MjSgfNrlIWwoO/v7OXawbtpF2a4PbdfUcuyDtLy/XPr3wJIpjsrv
1JCKDEIe+rQSf9mOkNdG9d3/00/nWvHpew7q4lN8s4XZTumXGEkGOslPP/10Hbev8vo//9hq5bYs
VoHDJIddpFl4jcwXryFuQLWSQWqll8hkeoJchrIrAQOFDPzNvcfJeNRfiPQ1CO9kFclW1J8AeAhQ
BhgByANcCpjYBmMR9kebVwC70McU3o8ZfkrmKq+Ti/AuAtgImAq4S5pA7hY/JZvkCjKN5+NdN6OP
GOL3IP9+eRe5HfHNKK/ldc2Qt59AhqG8K8rulCYkk8otREEeQbwV+X68/w4+ZoR5eP814jXJk4h3
Qd9DUb4a4XiE49rGGzTjn/I25lz5HNfyOPCzDGW3A8YA1gMuBX54+xL0l4X0LYhbMC4NoRVgFwnJ
Rp1KdhFpRNgN7x+IcfJ5c5jK54EwNSeMH22G/hsYj/z+HQFj4vP6EvA64Aje3z42Pr6OcIs5Nj6+
1BgHCWXm+vE52wB92etkAPCSQPl66bPkDxxAeUcxr8MACX+frIdKkrswtyppL9mMdCmg0oRrCBW3
kHnCaazBXnKdvJE8iHzCegC+J7nsGxKWc0kv4G8S+p8ImIE+nzfpYTrHe/Ib1M8SP4NecA2pB8zF
u19pxxNfZ6SHYF0noe45viOA15WAOcDBZsACtO+B9xejrR3r/gOdkHgUdY/hPcM54J18fbJQPoiv
JWAh2jegL2q+J7UOoBmsBwDlc4HT3wKeATzLx9AOqH9nO5h97cIdjF3Jf+A9HkAY8DrgdkAeoB5Q
ARDwfh31dfQ/DOMoQdqPMWRz2pBeMml1LB97ag7mXlhv4uhxchXaXwoIAQrkx8llbVCAugTjmoa+
xqHvm9v7xvimomx8e8jLxStNun8ZeQRlQzuEd+H7udF8DHzuKOvfHqLd/eh3KQ/xd+r4/rxXeMec
/2bEzf3IQ44bhGPQ50bQ+eq2cFT7eFDWFWPna9AV7TNRfifit7SHiJu4OB++Qe5FnxPk20GnX5OR
4gdkJP4y2khpKcI7SIl0EHmYj4i/MCcUkRoVX9xjLWuAz3s6hZuRt1l5h87Fu24TH8Nef4fcb+L1
HZYtvkMl6bHklxKhr0iPsWVm/J9ClPM654G2pOrykEPHMt7H/ya/Y9v/aZy9Kz1GZuK9X0nvJJOY
zx18Tyhf0xJApD1E/h7ACkAXtYhuVq+kzcp44pQJOQ2YJxqkj2SQXmILqRJ9+ItwhOQif7x8scl3
N6D/l+jX5Bas1yrFR2LClyTI38XehXwA8P4RjgBe2+npApprp6HOYTu9dg7Rz0as/x0IJYQh7LtD
gMOAD9rgLwg/AT0OAVwMOo0h/RDq34P4WgDnb6DX5EnkpejzFbIFebe202d7yN8FOu3SiT4V5F9A
l53TXLagD82ULeA1GAenYXP+nD9yHofyKrxzIuj9lfb6ncMO7e8G73gPY7eJr5PJbfu6EGEJoBh9
PAXgfOQwdNXT2KNfyG8lDytVycPCq8nD8j3J7cqVyZflvcktmHchHwtgI/azycswDj9PY5w3I7wH
8yXtclTKIzM5PpB/r7lGeD/qd+VjM+stxf6bS6ah3z8gL8n3obAF+w74RH83ijvJL8RPyAaM3SE8
mcoXx5KRKLtTXERu5fng6bzcImwwy8eI/yCLxELEdyK8j+BPnpBF8nO8TfJ1M+/TVBnPkyaTTaC7
YnEteVjaTSZhTMP4PFh58lX0GcOeD6sryP0KAQ1/Qu4Vf8KcWzBHjoMWch+ft9m2KfkTn5/SlwQk
AfPjdQC8DWxGkTZ8bDRxwcu4DOD8E7jgfcpvm/oGkY6i/lZyvaqTe9V88KfvSFgBLzHftZtMVA0T
7yLGNlT8G/bH16Cx8WSN5E3+iLz+0uPJpPAT9tDX2F8c8Ke8JB8JSV+T+7CX1uB9Y9rC9ag/Xvia
+BDaMT8up61os1Z8hCyQHyM3yy2gu3cgC94BT/4ac7mS9Eb8dvGx5FnUHYy+CH838kcjXcLXhBnJ
I8DzQ0oLCSoG3o86fAwod/P3Cp9hvHeSNeAl/dWvyW9krmUTfjkUf92SEEhzDmZ6OeLwleFvZZpg
5nGVE3VxzriTXM/zcef3ZYyC4W9bUr4XxEchI+4j/YUdsIfMhP7wFbmRFZPVwkjQ3UnIDIFcz9Ni
V1IgnCTDhTPQd6CfSTrpZdbzQ45/QUaJtWjfQqaLe8h0IYl4EHA36BHtpGYyWboCetbl6KcNGP7C
pqiRUfJ6spoVJx/n9cx3nEn6BYC4lJSa7XjbNjDHysfbPuaHOowZ30MKN4DG+Hj5t5EdxsvHKrSP
s22M/2p85jw5LjBPPg/xT6Q/8PQhIDcV4i9f3UIeA2xjH0APbyHL6MYkXLakuhMM6ZgWl9E1gFEA
UVxGHkDYDeFXgHcAWwBPAf4qlpOb0Df+zjFp4ucCDux34F0IUf4I4GnAn9vLOob8fR3T/youfp48
1DFfKsXfLwWwruDpgI5lPC4+QOLiEuhEJclDHIRF8N8AZPhRFZUUsk+QPwHtOqWlArJJnIe6Y4jQ
uc//TRpzAq2fx63RcY7t64EQjv7/CHwNeT0eRniI/dWNy+f/zXj+b9TF+i4HzOJ9SdtId5OGvoBO
riSfp0+Ry+mx5E/g5zKHVJqETXw+QFzt64T8NRR/5LPz+rHfkZ4c553zka7k0N6+87r+pzT6ndMR
2umgPVRKicFB/DPoAdA5DXlgcJA5jQE6p9vp69+G40gceKoWx4FOOc11SstOUsyBzUf5ZpR/TvI5
nE+PI4VoY9Irbw/cxjgA14c4sE9IlIMwBmUA1O3HoR1fmPskjlehhbc125vr007nndcHbYn4AvjR
cZKNeLhz2E5HID+Tb7Snedg5D2mTl/yrOu11ERqAkn/VvmO7/z/EsXdeBbwEePH/y/lweqcEtApw
Euh0b0HfwF+2lX+Dc9Zr5BZCWtcQcvZZQs5NISQBGXzuCeSNRzwP4d8AuKF3bg5CSKOzxxCfj7K3
Aa8DtolpZEmbXhlCenCqbev2tv5yU+15u5+g7ZztmWp/djXi9yH+XwBQ2dnnEd6F8DvUb0Q/MFa1
Qgc4dyPCONKjAKCxc28i3Q8AuX+uD+BLAMZ5DmrMOTjRzj4AWMT1Ea6ngTd2PIf+3013OstyvQ7v
O3+2/U9pjBE2ANxu4jonxsv1Q+gjY/7XYft6/ocQ+Ljg7NG+/v8pbD9L/FPYhl/ofK9yaB935/f8
uzTW88c2OI3wW3FtshU6pWLq0dBlTZ2b649c9+a6LNe3uR7L7UEpm6IZAs98Xa1cd+b6K0J+JrtD
egP4vIZcgnFN4HjlssTkgx14K+sKW1FX2PBSALlEBqLOHzGeU+BDDsjX76BbbuCANP+5PAXJ1yC7
HOC5z9Cnkt8hfB3pDHoMLro2mcblXkc4z2M76Sr/QsZdoMv8n5b/J5n4f1oO/lLTBhfI1g75MxHn
0Lm8GHkcsjm0y+D/t2FnWf2f0p1ld+f0eRn+b2R0RzndWW7/b9Ptcr491PqRUg6KAR0E0FkvhSy+
QA/4T+nO7f9P01zn4NCud3RI70be7g5pUy/pnMZ4L9BL2tOdw3a95Xx+Jz0edJPSZ8LQTdqh077D
uy/Yh/8pjX06QJyXfL99v7aPob1d5/z2tLycDAIMbg/pTlIAPlIIuBl8BHIwGUMcMjB5HcJa9Rwp
VZ8gpUjvA+xHHnhOEnKPy77kzXQvdOkfOMtJ3IS0AvsNrzupDWo70/c/0W8nuhVwxjP1Q+DMnNMG
6IywaQP6AtyA3YCrztMGzsp498sCJC8/6wrHk99Bb/2usw74n9LiMtjPcd5DPYc4DvApSZN3w0YL
GwriqxHqCHXw9zmANhtfslVuMutchrJx3D4LPj8TZ+J5+F9EHgdPnyYFcdRY0O5HgU+mzU4HWZoG
vu9QvoW95KXkE2jP7XMTlCD0nn/A/tifZCJvPZfPgOmoewW3jbG/8P/XxbQhB9vCbtw+hX7vlLGK
qGdHu3Y7ch/Ea8We8PP0JBUo436qS2F/yRQfMvtYz+3uwlnSKD5BJqC/Zn0XuUuDH0rFfLQJsCvh
CzFxAblT70M2q9yGnA77CuQV3mfqKcB9oj3ewfbHbfE5fP4Ix7XPGekLdAeU9cG4srk9puN729up
A4GbMSnfEOpyO/uFulEnXQb99AJ0A5wGfN75fWgPe2fy9VRIViDkusastvAW4LndJ5Gy0z9AusNO
x3WzlE0WMluyQkYD0M7EMcpSY2obS/s7gZfW9njnsF1HAR65jWoc4EYA96HFAd62PG7vugR0cAnW
q4bbzKTVsJutI2NgK33hfB3oyKjnEP/LpNl1yL+DA6cvwJVCP/h6dmKPvk+8XH8T3zZ9eDfBRssB
vrzkdtS/HfYzbgsbA7vaGNPumCRjgKvPfwbsLfg0UoCv8B8j60ww/X7JF/iYAPeJo0365D4a7udI
E8/AtrPTpBk38MB9gg7xdgB8PtJ8nNew/iZcw31v8Eu0hSbOYDvEfGtEPkdum3sMdAv8CA9Av4Lf
sb2uWkXGKWtBr0+ScfKNeG81yZI3A06ToFwOHXsd5j0YbW8ka9jfSCkHeits6CLiGAgHgcAWB80c
vIdw3y/3CQNf3K+2EHAX5sN9W//g9cy6KV8u9+d24cB20SjKuZ+wPc79YIibea8i5GD2gXB7B0C9
5F8AZ9lJbjlE/wzj+mtqTIITNNsJ0HZaG8DnRjIw/DniRODqQhiI9AWAfni6uDMgn+fldoa2/DDy
LwDk8/SAzoB8ntd5HP+u3r8bx7/Lz0PfFwDex9P/rv//6Tgu6JO/o63fGOIXAPJ5+t+NbzjKLgDU
5+n/6TguwDHahdGe5+V0BuTzvH83jpEouwBQn6cvGAf405MA/I95rZDriZchr5cg3I3wIoTzAL9F
HOfe5My2NOqY9WYjrw243E9mtcEghPxsDnmM/4mLJLcARv8M/F1JH2+BOm3vSV6J+N+RfzEA7+Jt
E4cBeLcJbe9M/D/tnX14FdWdx8/M3Ny5iSS54SVEAsyFmAQSA+EaGhVK7g3BqumuUYJNpNVoxeq+
1DwliOsLUitdAYGrdt1an0qAQt2i5WbuShNeShRttX2E1NUV3arZB2vtlq4+4NOn2y25+/mdOzeE
FLD78sf+MTf5zu/MOed7zplzfufMeZuZHZxLWtmaM/RDkD2XtBP/ELVW4tNxk46hPZyXgW/B6eN8
nhfvd7Ej7UMTkV0Z/0M4yTWmhYd7Fmmqefoa+ISfXnwKkvahJOdbkPSZhnqB5OVWQLwnGSemzwc1
nIv7g9RRr11QLzFO/BLtYZ7cq0PMDojMoa3Vbe5tanz2XsF9ZaVuD9kLIu0db0ZQgflqSpB5XsLI
k36DtOF6PHlUrdPjyTf0uvrN0l/IuYD7yGuc/yttajd6WEC7+QBrA8Sh12Voa7lHbiW+a63X1NUC
3deQNSHZY8H9IO/TrPdfSpo+Zu5zsyq1D7Hmcj3taWYse559K+dfot8ha2SsYYWeVA/ZR3C31GXc
rxZm7SUOfW9Zk07nXMjeEE+Gfqva7Z9y7Q+wv2WSKpP47LlqCXlWn42bfNB9LdrYQuyl3EV3NmTw
h2rmUz6bI2kmvcgiZKlcB/Gt13nyMmNy1rvk/km+FTFGzw9OpF79Qc2wc+lf7FYP5prqcfsGPXaf
F9is6objPKpqZP0p+CrrZV9TE3Rey9rTW+TrX1OGnuT+8FB2PoC1tG8FXiIs1tT0upY3H0CYel5g
OAzZx8OaF7oxCbfT+jXZfpS+Dpmr8eYIhuPwrkeuS+6dI65f50NWh7L5zrrh52RtTNbxKNuC0TKb
JlnHk7U0wrue/GsNLVDX23dxb32GtY4X2LOzkDnhK9XC0CQVsbfz3Rz6Z/Yt6Kb082SuLqJqcp5Q
1PH0QsrpZeRKIHXlMwCt0XXuDdyeztRHqV9iLz+xO0l9lV/6L8A94LaMu7jxfU3t9+SHSMLXbviR
30lpq6hrvCiRORoPJ5H/gT11d+h3Yh6Rz9Kf0/szRkmvX6++IdeP/3PLUf3P4fIaZU9Yf085l+h8
yoSb6U9m+5WnpKwrz9O6ovtw6Vepo0D6culD2EvdXDtawpH9KdKXlXX/X3vybU/+VNZ2pa83WhLO
aftXRp+P0KPT+u1Z++F6lq1vXIf0DwnnTFL2q+n+9SdJ0j28T4Z80/tlRkrCP22O8Kznsl7Purte
t0f+8f4DXR/GkB6pF0i9p2/k+Ck7jsrKR+invcP1Sz+2AFxBvm+gzfnzc4H06b1uwRPp48ETtPnD
kjbyBOua7Ok5E4JT8T+VPS3fTx+30fCsJH82ngvBTfA2cX9x0sdD3L1OSTWecxkHJDJI70ZfXgDv
gGMgBfotI32cVzuqwMPp4/TVR0juHQ/r8cnIfXXD5uC3iffbxLeEeGnF7ZdJN62A3tMgex3OAvrs
yuY2HLpJX+MJuReeE4eIh95C6OvE83U4vyce2jbkCUG2LLJ5ms0rru2Xurxkj4HAS082rizvbPKT
ypEwZQx1Vpy9XNInKKP/s+s+U/qzaWeu4WfgbTmnTv0cyLgEKXv3yLvT0y969lDwfXQW2J/LAO5j
+D3u4QT5+gvwL+CQh+eRsmfpA/COhQ4IiMcD8YzWBdkTI/DspS4Kgu+nj9hXpt+WeiB7fwSEU5Ut
s5HSXpb+GTr4tv0Y8hAc2beT6XvJ+rPM3cge2xulLUROy32F+5fsk/2xinCdNaEkus26XuA5dUvm
vnGq34feSBss+2BlT9FY5n1arSH1ueBOxrZjlJPzz+n3BcT3gAfZ8yuQPZCMA9MvgoNAxoBi/w8j
Yc1SUwXYXUrcxJKmJun+dhnmr2Qgn6IS+1PpIi26rxOgJ8xYV3FtN1L+haRzSeBx0vY4Y3BDPST9
H67h0UAh+3LYl0SfskDvufHG/fivo194jYdp5Etr4BH6jUfVYo1fodeyrwboPTlSTkfV1cEL2Fsz
qPfXZPb8Mq633gXH4R6jzyn7b7y9NQHCkH6i9Iuso+QjbYu1lfHuVuQ25JIMAnzvy7qHMfpX6KO+
gzkJpjI+n45cCe7EXIG8CywFTwOxv5s9LOMJKwezgLF0YHdGilnG1QLzcAZWhDiwN3+CvwdUnXkc
98tBHrjCg/jZx55VcWvU/qLmr4jjs+y3KIUr5oW4vQVCmfG7nlfAv3bL+oGb9ZPzG3VZ3jfpU40D
a9N7cuLMcf6K+YlWno1Q6XxASQ7RwsmjCLofRW1NXwWe5Pwj01ujGF6D6PfWyT2Z8xL7TB5R0WCx
uj/nfNXMWCAeLOS+3MZeqU16/zWts4yJhtDzoVtlPzF6/4D1emZ9XubGs3PmwQE1K5f+Oe68k422
3JPmTuoyZoOQpE6gW8qQ3hv28tP7p6lr0ucQPbM71AZ7C33JLWop9U3v+4Ync11F4ELMlxD29JyZ
qpGQuPukkUPPIKU+LKZtGJ57hX+b7GkT3cJN+oLi/2n2HN2LrJc9CdanFS2G5l6OvAKsApKHVxLu
kyPWq3Yzz7yb89P2bIxw13t1/rfnn7R+RZmetj6VLdvR8+foyDn3Zox2/8Q1nlF7iYbn1c+y10jP
zY/YuzH6nPjPuGaSXZ8Y7c56xelrNN6ep7Ne/9H0c+hLq7Sj9hQxp18HLzJP+ZwAXU7j9ha6NA1/
XzM/os7+nP7Efyon04bTHh5F754Cv9P697eZ8Oifl+s9hvKcQ6fcI7CXZwnW06e9Bf2stfYw70o/
EowRXUXKsxOtGozTaGMz87QL1NW6raVNJS0yV7tBxmm6DZK2hacHpZ2Rdsj4iG+NfEQbQjuj5yW7
OKdN0sBs3kFt2Mh5C+60SdJOgah1A5wbsPs9ZsLSbaa0bVIPaa+sGLie83/zQDtlvocZWD/UaYia
H8hazdAjGcg9Z2iz3Jt020lYOo3/TjyYZeyi6+21et/6jfiTOYJz9nu5X0r/MtvHlH7maeeUwfD9
/kxm/L88EqP9DK/pvMteeNm3/2P2+dKX1/dEmcPw9kYHL9LrDrrdoSyZH/D6+Zn5dplzrtPltVYV
0abI/IE3HvAk6zlSttkxPfn0I/DaCElpDAF9n5Z8/KVuKw31BQmb8i8ifNG7oO7XyHhPxg7fy6xF
YC/7vfXYDnNmrLGc/ZmtjKPuYS6Bff6EvRjsI+whD99BfkfSncP+bvjfFIndIP5qkZK+10E/GABH
TsfJH3njuKXZcRHxcEceeiJYSn69qYKhpezzfoeHNkUnJqslMi8uQPcfF2DfOwLybIe048zJ6N9f
cTwDTNrzP8ILaBnXOIwfkvNjAG21IAe3HK7BpjaEDvGd0w+UOu86pcZsVCof9wLOw7POjaKnlBoX
Vmo8/gUTKKIJ5KGg+M5TKOG+I5j0mFKTv6HUFPJ0KtchcEjD9FpA+WdRTjh/CiqLlZoxVqmZXEvV
AqUuJA01YHYFXU7BS6cwp45lhg+UuuhVpeqeP4W5O5S6+JhSl5I3l36s1PzLlVpws1Ix8jTe68PP
A18HfB3wdcDXAV8HfB3wdcDXAV8HfB3wdcDXAV8HfB3wdcDXAV8HfB3wdcDXAV8HfB3wdcDXAV8H
fB3wdcDXAV8HfB3wdcDXAV8HfB3wdcDXAV8HfB3wdcDXAV8HfB3wdcDXAV8HfB3wdcDXAV8H/h/p
AE+95rer42q+2sSL1U2eHp4tb8+x55vPqxxl9rSujufzcPQugCPHCOgGlopZT6fs/GisFzl2vJZu
cXW0j7c/PO1eepG2r/lGdPU+Xrp2g7oI653uErHemYo1ifedqYvmZeTsOVq6oYyzPT7qxCdBmw1M
voqRMV2F3AQ2gwMgSIJ2qndBGljWU9ZW9zKHgLcTUGF8vLVdGaRyuzoM0sAi9du5lu3qQ88mQKq2
pXLHSPTbNKuUx8gNotxG4NvUarALHAY5PMK3jci3EdY2wtrMQ+e7gGlttba4YSccz+OR+PuAaX2L
V+bK51T7rW+mwjpvHk8VjovG4mHr71QLMHln4p+pfmAS7MPQHlYm3pvdmjk6C5tTeQXRMP7Xk+j1
JGQ9UXZzNPR5DJP4X58aVyyJ/5pbWKR5d7u1dRlDKlwSbSEX7lSGtcz6sipTjrUKORX5ReQU5E3W
zXwGW9IZSxWGo6uJrwHvDXyjaCbOcZ6HjiKbrEmqVHtb4RZk4lnhzqiKcsULrRLtpdDKV3V4DVm2
G3Uie3l6VDL/wVTueZK+B93whOh+a41lq/H4Wo2viU7hfp5jnQ3kSlpTufnRRHyM1cpltpItDmk0
yGU5xqwvuwQUL7IW8RhhMW5/yWOYE5CX8Vi/yO9aW3g1u2N9O1Ux2enfaz2qWY9IoES/IKNaC1L5
BdH+eC6vNDQogI0UwEYdeSJVcXFUxSusGTyjO4PII9Z9mO7DFLbWYVpHqa2jpNZRUutI1Dq0T1lr
cVmLn9m8R6CT9wckwGbMolYTXDJUKsME94IZ0T7rfKuEjAnvJSsNbCelcgskZSXu2HHaW0lqTEG0
Yb+1nCeAlxNmzOpKTSyJ3r7XqtKXcmGqpFQInS7qut+amCkaQiqWItlvTSYjJGOmWFPdCU4y7nAu
iuwow/yJOSCZZP6T+boUt3mYc5E/9eQrnjyUkel+cyBTKcxXRQ7GJ5u/ILAbzLfVZkymudc8yIce
HPMts1dK33zT7FMNyCOc8wkysw95EXKPO+0lp9fsTSFI+xNufrFcrHnQrZ7tGZxyzzCx1DOMLY7G
y83nzefUZIJ4A3kB8jmzX01HHkCWIPvNLr6L4pjPmnPVPOQ/evIFc5+ouPkDc7e6GJlyCyQJSdcW
scsNivi+qzJnLbOdfeb3zZ1qEl6fcSsm4fhUquICp3Av4Rnmdj7qPsUZG88ztxhtxsd46lZHRKqx
5la3XgJJuPsiTp+ZMBOxkvpYeawmtsOqLa+tqd1hRcojNZH6yI5IPGxupAHZbFJ/zfUc61XERHtA
DCTMtW6gPhk/yTXJdZlqNcduberg2KlNimNYm8T1I21qMNfw1P8aGAlzFbgPrAZf5TULCfMucDe4
B9yrbbowrQAraU06YXTC6ITRqRmdMDphdMLo1AyJuRNGp2Z0wOiA0QGjQzM6YHTA6IDRoRmS3g4Y
HZrRAqMFRguMFs1ogdECowVGi2a0wGiB0aIZMRgxGDEYMc2IwYjBiMGIaUYMRgxGTDNqYdTCqIVR
qxm1MGph1MKo1YxaGLUwajUjAiMCIwIjohkRGBEYERgRzYjAiMCIaEYYRhhGGEZYM8IwwjDCMMKa
EYYRhhHWjEEYgzAGYQxqxiCMQRiDMAY1YxDGIIxBc2WPNRB/EcoAlAEoA5oyAGUAygCUAU0ZgDIA
ZcC7dMkIUZh+uP1w++H2a24/3H64/XD7Nbcfn/1w+zU3CSMJIwkjqRlJGEkYSRhJzUjCSMJIakY3
jG4Y3TC6NaMbRjeMbhjdmtENoxtGt2YkYCRgJGAkNCMBIwEjASOhGQkYCRgJzfhvF435VaMtxL3W
XG3M1PI+dUzLVeqIlveqHi3vUTu0vFvdr+Vdql7LlapCS4payy7lhAzXqS+MF9MEXAVuALeDzWAX
OABsbTqM6V2QNufGpgcK7avszfYu+4Cds8setM3C4FXBzcFdwQPBnF3BwaAZiZea+bodpWlRm+AZ
fFpmrvoQcBPh2KBNDWYd8dbRzs7lr86sixX9JvJhlXG4yjhQZeyqMjZVGfFc8zNGQLd0Eb7rRAYY
bbExFQucI6C+onIBLdPG3ccmOm7Fp5xeY19GzIxVc3oM9IAd4H5QD6KgBpQDB9RXVEFri033gtyH
rATTQATUq2KeRldji0KxPjPf2JF6MV/lSjyVM+DtdStrEb1u5VWIH7iVNzl8v3m3qpRekfEslWon
cpfrvIfzMxnxtOvs5ewp16lDfMGtnIVY6la+4sTzjSW8w02orZ5cTIHL+TWucy3ernadmYhqt7JC
fFcRUTmuM4029R4Ss2ZfkImpzHXm4Xu661wivkOqUgqeT47X6OTlYJZzK0WCPuwz2gJG7DznN86j
zjHS+2syFvV4M9IbQBwu7zWujeU5+2qexHPcceN54p/7Q48nkyKfdXaUr3WeICyjfLfzuDPL2VjT
G8J6A+leq6NwnfsjvebO2DhntVPrdNW85yx3rnRudK5xvlCOvet83tknyVTtRpu5c7fTQoBXcBXl
rvOZctJCEi9z/saJOZXOJZF9kr/qYokaTa7ZJznAG0B07BeSv1XlxO46S+p7jaJYlf2RnbCX2o32
PLvMnm5PtafY40NjQ+FQQWhMKC8UCgVDgZAZUqHx8gVjXs5g8EZP3oPA964CcgxoMx8sxsyBozIN
Xk16pUqOs5rN5sWNRnOy/4uq+aZI8reLy3qNvKuvS+aUNRrJsc2qubUxeXF1c6+dviZZX92ctFuW
tvUYxsZ2bJPmg72Gam3rNXidkLFxTWly7EIc1ZoNpX284ef8NRva21VJ8R0NJQ1jFxRdclnTGQ4d
2rKjST7Q7f1Ksobq6pLqKcnHmhe3Jb83pT0ZFUN6Sntz8quLI59v6zMLzfxFTX1mgYj2tr5Ap1m4
6BqxD3Q2tePtPe0NbS7AG18vQuAt1Kgi4o32pFG8UUYZfxXQ8TdNBP7y8lWF9leRl6/9BQzx13Mk
sqipJ8IBP7xN/4j2c6RcjfCDxsBt6qnggK+yiNEmvoy2sohO2EwdkOPgpYYDXgz6ezogx9CRJWef
8lLueZk77GWujsvKpEcHIweCGT8j62f8DPycysj/mWlZY7WRmrNi1cFFy8oWdZQtWgY6kuvvuLUk
ufqmSKRn1QpxiCStio6bvniryBuXJVeULWtKriprivTM0bxRzgfFeU5ZU486uKi1redgbFmTOyc2
Z1HZjU3tqYb5bfHT4lo7HFfb/DPENV8Ca5O4GjRvVFxxcW6QuOISV1ziaog16LgW3SZ639LWE1KN
8ulrLVPmeXnocEfptPbG4nDnAlHovnnTSlaV7gkovqRwXnV7ckxZYzIfiFNNvCYuTtQzcSrAutBz
Klk1b1rpHuMpzymMdVFZo3y0XP+U8JuTc69uTk5bfF2bqEoyRhacqcyWy087l6hFtzXxz3mXRtfy
rmyIIpX4/ONf15l+K1asWN7FYUU177NpTlbxZfBP8WXwHtsmqo6mduxmZe0sS9v15OYu4mvmOFaT
CKNLohMT3xcnB2O89UjZZnew2zZlFNGVmjQlevt++g33AQaR5kqXqQRxWpmaXs5oCS+z52Ykw1U5
dydNi8r30uuhiizPyFhRDYZEeaImUd9d3l3TXR/EdfcOLJ0dcit1Z++wVFf18mxmYOxqJ7Plm+bE
t8WdPEVH3C0GPh9fvVx/xny4OLK8au9T6dXws3Zco/4t18GLtc5hjmIk08WV8sjEvkLO5JcxaC75
rEnY4itzpq3kcOrHmVL/BUxgjz0KZW5kc3RyZWFtCmVuZG9iagozNCAwIG9iagoyNDcwNgplbmRv
YmoKMTkgMCBvYmoKPDwgL1R5cGUgL0ZvbnQgL1N1YnR5cGUgL1R5cGUwIC9FbmNvZGluZyAvSWRl
bnRpdHktSCAvRGVzY2VuZGFudEZvbnRzIFszNSAwIFJdCi9CYXNlRm9udCAvRlBBSktaK2ZvbnQw
MDAwMDAwMDFmNDU4N2U0IC9Ub1VuaWNvZGUgMzYgMCBSID4+CmVuZG9iagozNiAwIG9iago8PCAv
TGVuZ3RoIDM3IDAgUiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAFdkM1qxSAQhfc+
xSxvFxeT3m0Qyi2FLPpD0z6A0UkQmlEmZpG372hvU+iAgufMp8fR1/6xp5BBv3F0A2aYAnnGNW7s
EEacA6n2Hnxw+XaqmltsUlrgYV8zLj1NEbpOAeh3QdbMO5wefBzxrmiv7JEDzXD6vA5VGbaUvnBB
ytAoY8DjJNc92/RiFwRd0XPvxQ95Pwv11/GxJwRJJET7E8lFj2uyDtnSjKprpEz3JGUUkv9n36Bx
OrrbixGmdWW/NJX5dQtevnpEcxuzpKrzqIFLkEB4jCzFVB6t6xueenHxCmVuZHN0cmVhbQplbmRv
YmoKMzcgMCBvYmoKMjI1CmVuZG9iagozNSAwIG9iago8PCAvVHlwZSAvRm9udCAvU3VidHlwZSAv
Q0lERm9udFR5cGUyIC9CYXNlRm9udCAvRlBBSktaK2ZvbnQwMDAwMDAwMDFmNDU4N2U0Ci9DSURT
eXN0ZW1JbmZvIDw8IC9SZWdpc3RyeSAoQWRvYmUpIC9PcmRlcmluZyAoSWRlbnRpdHkpIC9TdXBw
bGVtZW50IDAgPj4KL1cgMzggMCBSIC9EVyAxMDAwIC9Gb250RGVzY3JpcHRvciAzOSAwIFIgPj4K
ZW5kb2JqCjM4IDAgb2JqClsgMTkgMjggNTU2IF0KZW5kb2JqCjM5IDAgb2JqCjw8IC9UeXBlIC9G
b250RGVzY3JpcHRvciAvRm9udE5hbWUgL0ZQQUpLWitmb250MDAwMDAwMDAxZjQ1ODdlNCAvRmxh
Z3MgNCAvRm9udEJCb3gKWy02NjUgLTMyNSAyMDAwIDEwMDZdIC9JdGFsaWNBbmdsZSAwIC9Bc2Nl
bnQgOTA1IC9EZXNjZW50IC0yMTIgL0NhcEhlaWdodAo4MDUgL1N0ZW1WIDAgL0xlYWRpbmcgMzMg
L1hIZWlnaHQgNjA0IC9NYXhXaWR0aCAyMDAwIC9Gb250RmlsZTIgNDAgMCBSID4+CmVuZG9iago0
MCAwIG9iago8PCAvTGVuZ3RoIDQxIDAgUiAvTGVuZ3RoMSAzOTc1MiAvRmlsdGVyIC9GbGF0ZURl
Y29kZSA+PgpzdHJlYW0KeAHtvQl4VNX5P/6ec++dmSyTzGTfSCYMhGWAYFgDlAyQsAVkDSaUlCBh
VwGDO0JQZAmoqJUiKgJ1QZQ6hIABbMG6VSxq69JqXah1tyi1SFVg7v/znjs3JBFq+/99v8/ze35P
GD7nPfv6nve8Z5kJCSKKolrSyDPz6iW+bVl/+gI+9xE5Js9eNOfy319XsRn2E8AVcy67bvaco66D
RO4qopRjc2fNqD6W9PzfiToEkabvXHgk9EppD/e1cHeYe/mSa6f3OTMFVuTXp/qyhTNniPw+CJoK
9Jl7+YxrFyU0uGuJbp8LD9+iK2ct6vjm2ENwryGK+Y1xgNKBDOMRStfzKI3I/AT4lGl4nvkphzOV
nyN1YwREO2iXmEe76BD9VpxAqidoPzXQ7yiVitGupfRzWk0OVOF3tJYm4mPA/+ci3WygfNqGfthG
RxH3ElpGByhFpJmf0XK6RXsNqW4hN7WnITSeFtKtYox5FU2j9/WbqR+NoStokag1y83bzDvNB+kh
2q/9zjxLMZRBM/E5an5p/Nl8h7ojxd10D70v7ozaS0GUUouY99OVtFmr1IU5x/weNcila1AHncbS
UXFYBpD7LPpEpIml2jDk8kszZD6LWFlUSXNpMx0QfcQImWtMM8eaRykFZVyLXO+hetqHTyP9mt4W
scYJ80HzBKVTNxqF9jTQy+KwFj67IlyEfjPQS12oECEL6Tf0Ar0q/OJpudCINQqMoHG9+Tol0UVU
hto+gpQfi3/JZfgs157Xh5tDKQ79cgf3Nj1HfxUZIl+ME1NkF7lQbtGuJBdKvAifapqH/t6E3N8T
AbFPxspXtF/qj+mnHe3Cx8w4jEge3Uv309PCjZb6RI24Sbwp/iaHyenyXvmB9nP9Uf2Pzhlo9c/o
crqVHqN/iQTRX0wQPxVzxVKxWtwh7hFHxaviUzlETpYL5FfaXG2x9mt9KD6T9Br9ZmOVsc7xabg8
/Gz4D+F/mQXmKpoAfliB2t9NW9Cy/fQKvYXP+/SBMESMiMPHJ3JFmbgBn2XiVrFd7BCPigaU8qr4
QHwmvhbfiNOS8HHITJkr2+Pjl1fKa+TP5X3yFXxelX+X32mpWnstoPXRBmkV2kLUarW2AZ+92l/1
DP0V3UQ/FxgbjQeMHcZjxm+NE45Y500ucv3+zC/Pdj37XpjCa8Ibw/XhBvOvlIwxzEAv5NAg1H4G
PvMx3hvBcU/QayIWfZchuorBYgx6ZrqYLxaLa9GTK8Vm8ZCq+6/EU+ilP4mvUGe3zFJ17iH7yKFy
HD4/k7PkYrlB3ikb5Jvye82pxWjxWrLWVRuhVWqztCXaddpGLaT9XntX+0A7pZ3Bx9Sj9Ry9vZ6n
B/QR+nT9Kn2L/on+iTHNeMn4yBHtuNyxytHo+Iezr3Owc7xzgrPSebtzn/N1VxW48xnaS0+CA5v+
iWPaCq1E20u3yV56unxZvgx+nk7V2lgJTpU7xBp5o2iQHYxrHQPlQHExndDz0NfPywfkKTlQGytK
xSSaLy+yMnQk6TthG6Q/Q8f1p9C2l5HztY5YsUx+5YilekGykEg8p/XUA9pL9Lb2vnDq2+gverRI
FcflI9p4cMGv9cFGOeVq99GvtMXiRtorS4iiT7vWg48vFjshFyaLAvGtZpImLwYX9dP+RjfTAvln
Oo55vIZ+Iar1OXQb9RJL6RN6GLOii3GFo6sjWbwo5+l1MlE0kNQfResKRQehGUm0UlRqmx1fybfo
KnpFj6b3tMdR+1fkr7Sx+gljopiLGXAjraLF5gq6zijX/yjmkCamUEf9GKTbUq1AzwVdDqkyDTJt
H2b3AciBIdpY+KSBc8aAL8ogITbjswlyQgcHzcMcvwRS7GVqcEyWjTTHiBOQOkT6S+GJNNV8mO4x
59AV5p3UHfJgtbkUOe6gj+h22iFuCd9AiygbM+c9McYYLl8xhpvdZZ18S06SG1uOL3q7o0ijz/H5
FUZmsHGQ6vQ/0SQqMtebb4C7O0PC3kOX0mj6EK38EiWM1A5Tr/DFcrc5XFuE9r5PE8xHzBwRTXPN
y2gcPUUPOQ2a4QxgjEPij2jvDTRLTjSXaLPC89APt6MXguitqyB/1gaHlU0eEiwa/JNBAwcU9u/X
p3evgot65vfo3i3QtUvnTnkdO/jb5/pysttlZWakp6WmJCclJng98XHu2JjoKJfTYeiaFNStxD+8
yhfKqwrpef6RI7uz2z8DHjOaeVSFfPAa3jJOyMfpZiCoRcwgYs5uFTNoxQw2xRQe3yAa1L2br8Tv
Cx0t9vsaxdQJ5bDfWuyv8IWOK/tYZd+g7G7Yc3ORwFeSNrfYFxJVvpLQ8Kvn1pVUFXfvJnbHRA/z
D5sV3b0b7Y6OgTUGtlCqf9FukTpYKItMLRmwW5LLjSaGMvzFJaF0P5IiG61jyYzq0PgJ5SXFmbm5
Fd27hcSwmf5LQ+QfGooPqCg0TBUTcgwLOVUxvnkhtIbW+XZ3O1y3vtFDl1YFYqv91TOmlYe0Gcij
JOQNoNziUOr1H6adcyLzhGHlq5uHZmp1JWnzfBy5rm61L7R1QnmztJm5nENFBfJAWtlxeFXdcBS9
HiNVOsmH0uQtFeUhcQuK9HFLuFVW+2b5S9inar4vFOUf6p9bN78KQ5NRF6KJ1+XWZ2QE95vHKKPE
Vze53J8bKsr0V8woztqdRHUTr9uTHvSltwzp3m23x2t17O64+Igl1t3cMgudboUpm4rOttKJTT0r
uEb+UaEgOGqmDzUp96NN/dmY1Z/qZvbHAOBfhUCqUDVGZF4oalhVnWcA+6OJImR09Ph9dd8QOMB/
/O8tfWZEfBwdPd8QBzKfNLFaSMyw7aFAINS1K7OIcxjGFHUcrNx9une7ulH6/Ys8PhB0H41H386o
GJCP7s/N5QFe1xikS+EI1U4ot9w+ujSznoL5gYqQrOKQw3ZIchmH1NohTcmr/ODkBmJ1NTnkymv6
H+9JSSyZOyAkUv5N8CwrvHSSv3TC1HJfSV1VhGtLJ7dwWeHcoeg3hEVsocRh5VqmhB/bZKamQsGU
06Y2RYGjPDakd8R/h2Lq6kanC1ypfIRveMhTNdIyK6JzcyNz5scSNZonOJUi55JFmhEaEIhU1Kp2
aGALd4vqxdZppZMhcmTp5Kl1ddEtwsBqVi1HRQg4niaX5/qGhagMM7Mj/jeah/szKjJDQXQZQiZj
FinvisyIs0XEzEiiCvxj7uzebThkZl3dcL9veF1V3YxGs/ZSv8/jr9svfyt/W7eoBNLOYpxG88C6
zNDw9RXosbliAKaHpKG7/WLNhN1BsWbS1PL9HuwV1kwur5dCDqsaWrG7A8LK9/uIgspXsi97chQf
O6hUoJH10qXiZ+4PEtWqUF15KPfMRkHKz4oEP0EzG6Xl57HjSfjpll9Q+XH7WMYMm1weGRbFMzz1
wEOERZ051sAHGruTKNeb6+0IQ2DRPePTDp8JGnSafPphxKQy8xPdaxwmD7WT8UF3fGxs7NCy+NiY
mKFljkbz06CX3UYau50eNjPZN4ZtViy4TwZT3O6hZVkONuNj2XR62NyNfplcHozOyNaNpGy3OzUK
iRvi42UZW4LpbjdsXoplH0qJjYWJ1DDzA4HAURhHqeh40fGLembudvwwp5PIycE5fdzgdivLl8H0
mBjYvITiHWXkiY1lk/2asjyXZ4PDl+7JAqNjyGJ+AyGbAiQA8eax4MW6Y7VcE7Mm/sU4I8oZkyZL
Esckj04fljk5cVrytPSJmQucC2JmJl6WvCC9KvM6eY3j6pjr41c7Njk3el5Me1u+6Xgz5i/xGU0N
Ryc1cE+mNppfN3DnwfJtMIk7KbUmKpjr790zSlCUJ0qiPSdVDNVFWRwjakMOhgGpvXGc1OtiT28N
YXYEfUjqg64hScUgF8fA6okYtCH7hXVpAc8pdGZl4DhMtlYuVtZIx4rKxdjS9ed/AqioQCzrHwUC
iZ6Evr0KUlISkj3S4W/fKS/Rk9KroK/Xk+dv73SULXht69X1S4bOf23b69fdsf/RpUsffXTZ0tGV
8jWhi588Pn1P2Hw7HA4/s2vTk+L+8C++OoE90/wv560icPn7YL3T4LpoejtYHG3VXJnRqoWkzGir
FcrUgm5v7wX6cnm7vMelP66LKHIYUosyRKwUR6JVV0RzL5LwIf9G81iDxwNGajQ/D3oVe2Up9opT
7IUxD6Yz89gcorglI9bABOhtcLfGcV6G8GEvKo30mANikLiF0gIXez5E/1ldyt0Ex6CxZwdRUVFq
ofAWXtRTVFJlQFg9mOv3OhzOPn379uslTzcMeW3yLz7IX6LfMHhpzq9GHJmOWg6CputEL2TLtP3k
xMzgMXaBMdT4O3mu8GgqHx5Q+Jzcw5bIbIjyetxpiYmOMjfzjNerLF8Gozwe2LKTjGyeZKkcITub
Q7Oz4hCSjSkGs1EeDMbK6NRUX47HK6Uvx5tQmP/6UTaPUj5zS6CIzWehrGZGJjIXGJuQIFWBwah4
L2xWOceCMQmJsiw7if0473pkbTVAMq//Pah6/nyl8Szn8rg0VViw70BjoOOgcchx0PmC68Us56jY
itjJcQtiq+OuT7g+cW3CUwkfZXyUeSIj9lDMk4ky05PlaefJ9jh+g8MGJ6avCzQKI5yRHe1xORxH
sjKSsrIyXFkZmpCujCzNne1plA/uGecV3kaRtpdbQFzlPULGRtsTFRZrosLybVBJs+ia1NfAvDxZ
xUG5gnzkEf2Dsd69RTgvWCiXS10ekB0oR9y+W027ypPHMeEGeU5yN1LRoLODio6frfzQm8C8AmN1
XI9A3I2eZ+EA56hJyHOwP1WKyisjM7Fjcm5eP3BQ3759emPWOZyd+vKUTE4CZ+G/7jzTT6Z2/OXm
r3bcc8NN94n9id/+4bVTIx/57fZp2bt2DRk08/CyZz+aveCu++oSX3nr813lO596cM0MbFQFTTE/
1lPAewHRsE9LU0Keh8u2WGxmie+Y9LQgT5u0LBI8NwKxcIgu/misFvHZ0dFdkrOz9OwuWUYXt98d
m5YuKMEHySvLfM48lSei5+WzPD+azx9KKCwq8hz3HAerHX/e83xCoefZQAEDnBbsbLhT3CXuVW69
xHuJ9+pMbWLKZZ75SdUpV7mvS1rlrktam/mQO9rwaZjjWIdi3XG6U6BcwWMaRMsOYq/XhdyiDxqT
rKcdkA9SupwbjEItDVTTnWAPMSzWEMMSkcUJNdN9C33Sl8ZTxFfLE051CSxWVFgiUZ01eUps5wnK
8+RJtPTkk5wqb0P3tEbRvz79NXFA9Me54eFgTJOM3tCtUdwZ4Y7AccUfEXl8MlBpsQnWu7PgEXSN
RzGLxSuQLJDQEC5icQWLl8R+KSyKFVM4+zVZbf5gBnGmwCR/+7wpDTl3L1j+xPYbe41JSoipaVw1
f976pIbcz3917ZEFs6tv2hD+9M2nTXFz2j2rQzct3Za0RV5748ybVq707X1hTn319Pt6ZP/6tsPh
bz5mbSEDEstjHIDcdosn91Os+X3wcWYZt0MxjhLhsMInyhLnyjSUOHcoM8oS7cp0ujimS5lOtXC5
lOlUIt+lTEOZDmVGKdNaFhLKY+fGbo59NPbFWGOMNsb9c11LwPSmWIfmNKJjNCfWQ7f7iKYnaZqu
uUnGunWndlAexOmgFFuD0aTriEJHovVGOftJw4gOtsvpjcluLRywsFYhy2D5UqkX0Y2iX9DtDLb3
93bW5vZxboiXPBli3Em9SXqg9GlwH1NpYPlwH/OC3BvXKNar8f47r8G8/p7E6EEofOxRy4bn5KBT
g7yFPMiFhat7BHTIg/j4eAw3dPv95Dbfq08ohHh/PRjTq1Br371Q09u1G8RZVIAZECeYFBuMKYyt
HV8YG8wrjG2fBdq9kCMEFKMoWzODAtAE+4he3l7Jfq/mFXLj2ZXy/ruef74h3EdMf0jbd2b0Q+Ft
EGV3n13AcoL1w1zjYcoWZ4KJiWo4E5QZo4SGUlJieBjPCZFgKrsTlQ6ZoExN6Y8cVy1oWGGxLvHS
lqiUxQRlxmDSQdXkSGzh2M2k0H4S6G03D4nIiovOTk7OSuAlLCZe17Oz3HGCnGlY7JVyqSxKYrEK
yRKHtUhMqbPPQsqwkOnCRTqUruooK824rl1du42JjyQ+E/tm7F8yXVGJaXFdM7SonkbPmANYUDRI
Gk9idHJCYuKRuPikuMSkuHg3xE0wkSsSjNsaJ+Pi4oPJIlKpJ+N18RqLIiwvQS9Xzzvds9Cz3HO7
R/f8iFBJU0IlTVCaJ02iIZZQSdvgS3hK9KF4cTdmXv/6uL3nEy45LYVLC/FSCSWFVx/VD5XewvxK
SOAPV7t6BAywHKklSK0+YnElWKcZxyhrc3kDIZOYm5yrYSGi5CQnNMO8sl8n33PZTQ271l+yvvOj
t8m3zj45buUdh4Vrya0nf3dW1Hrq1j27fXP9uKIU+Y/Hw1dPC5/6wwt31B9jiTIW/JWMdagddZXa
fqjfJ5TA9UJFUxafLYKhBVmyuJPNRv4mNsq19ifKjFPMpGIzG2ETczIYzTanJxZmRJPJiRc5OKvW
RGbn7KBbuN3QljKN9tlJ7uhsQR09nEptTzzZqR7WH1PVipaKzGGPbE+Ovn7U85zNW5XHPc9WMm91
X5Auip3B5OL0Yt/UhMm+BVq1s9o1P6Hat8R1VdYtrlVZb7peT/E6fcyBaAzLDEcZGoPljG25KgAL
zbGGTj6/L5cDvFzL8W6JemaK11h3bOQlza6z4AWH9mJvbHURLNZyBUtkuepY41Gc5RHkgWaMBp54
kndHng3dINn6BxOz1azOVoI5Wwna7EZRGGxflDo9dWHq8lQ9VW3/0A/oxVRs1hwwub6pjbLDnkDT
TsNax1jzsVe246qLrMUsvxK7OcVnzFa8oDWXUthzCGdeJ7W9cDhZ00lgTcffnryefnCliKRzy55D
O70nrduoBVOGlF0qhzw1p+HsNa+u/Gv4w/vXfrrr3bP9xt128ZUPbr/h+p36pLj5Pcf2HPzlOzOr
wv/6Y93xZTiwXyoefXrHb8+8W7mzonHLpieeQI/OwNqWgns/Ny0Kxj3rFjr+S5cehcWDBU1PKfSo
WHeNpknuyHFK59NkRryrJuoLGgdmmi61IpCFYjk2QOmQ/Gqlv9hzsnLxoLEnj1/sOcW7BQ+6g3XB
Qq8S+uiNxZWJfXKTHaQ5nP6+CQn9Zmh714ePl/aN36/d9M+1+ve71t8dTgifbvzLLvG5eAHXmhpN
wqxJx6xJJT/11IbvpyxIVLVVz1Bi2alMzJ2Ib3vlzldmd54/LKG7cLCS3XnnoqudfXs1k7A1juz0
M5Sb4yv5zTkEvSy/81VAnjJVaeDgoWXtlSS3krM7Q7lVcnaq5EqjzlcBecq0JmZDLGVm9+CFFfsW
WdajR0JutsPonJ3gzmaNAscF4HGsrbAE4llG8NyEhStmWVRgfBrUwxNqC6gsHAuWyJzWOiRjWZJl
ySrHZDWnkyNzmhcMcOa5wwcsG4HjhVDQI2cQT6qKqOMGrggsXJEP1VkEW5RfpHzeYqLYM8H2HJGL
5WnDBbLJLT3XPluOoCyBGqgK2JTFSr8+KaJLyqiUUXkfx37W04jqiWuhG8VSfYlrccyVsVe5r09d
R3Vivb7KtSJmZewq962pv/c+n5jQHuKjPsuXwcTny2fS3Qdl9VgwvYsvlrLTKBbV2NpDnKsJto2W
GIHFEiOwfGsJ0eyaQ1Ei6oCcQ4FIpIAdCZaIrAnUxAd92D/HC4r3xMv4RnFHML0APAamS1MCJk0J
mLSakCa0RjknmNxBBXZQgR1UYIeaZHsj7ksOJsvkDRdZMsY6yjip1GWeW+o4w3JG+rAynzuRNaqI
rOFdFfZUi2lxRXNxo1a2c4bIy+vTm6VMM+WZ4JOYlGKr2g6tuQAS8xdd9vGhw58vuHz1reFTb70V
PnXHpasWzL1l7ew5awaM2jBpxY5dNy1/RMvssmn+1rff3zr7F126PbvmKZOEOHz702Ly3JU3T5+5
euUZc+yGcQ/X3rRzB6+HrG/xzM7Gerh1P46iPg36edIkq0mSrCZqJ2X6lelUHYdFIjKVU7BORY7u
2rEtWc3NTsr0K9OpVDIrBc/hFCXXsU5ak9sK4CJT1BzlgGaHDk/G5EA56eiFanJK8TzrKGoFg+VE
sDMzeJpXcbhXHb9507zdAjGds+PjcuLGxWlxcUk0XgjBY+v24FBCsH6EhddQg/dsoLIAM67yeIEa
P0wAno0eXmnffY7noNqSNqvEOY0v2FWpfHxSJssuUGrLsloVhZLOFRTsPSBjTErQ/9OUS/yztctS
Ls+Y478+48bs9RnrsjenPJrxVMbnKR/7TvkSf5KyJWVXijagS7VDdmJt0Y+5lZbrc/g6Z4+Lm86q
YRY3T7w23lq2G7gSOfYcg8WaY7B8qxTfnAOikGIisyuGu5lHCRYrOIZXa29LNXFDN9YAgqlQARQ7
dFTzqKOaRx1roEtZB1o+b9ArvRsia3VkHmGljsyhyP6zSUm0V2qqXCwqm50MnpsxllY4WPbp3YlX
aVDC9MHtJR8X5gl1YpGsZs+iXSlLZ0y6cXxf0ffg5fvOCOfztx+/4fp/bH/8bfnSQ0uurX906Y3b
xCTP9VeMWf7nRbFpUxYI15/fF57N4b+Fvw5/Et7zq0Na73v3PXvfeizV6EYcb6dvHriZ2k2PH/SN
K9MFD6Ltf+vUlelL4wfu+/6Js3M85IqFMwrxOYVK5xwcvpiGeej7J76/Hmf6lr8KZMNd4Yh48R19
BCH5J/qZXkPJwChnO7rGmELlYjVNlTtpKUNrR0H9cboS8XfCPQT0AKdF/DLgfWAQMAXIANhvLDAD
wBsRKkPc/ZwWeSzifBStoamuHFpoTDHPoryNxgs0G9gC+3b9b7TDUUiXw/0g0h3SifpxHOS10bGT
NsH/PoTPhN8W0HK4t8E+Del6RuxRzlvxzmkKRQEO+HdBPusAbnMn7Wnqq9eYf0VbKpDnaGAVyhgP
OhwoRZxE0KHAavECrREvmNsRDko3o/zV7A8UR+hI5HMLwouQrgP8boY9A/VwgMYDuUBn+TgVyiR6
CjQf7b/Eajfa/gLNRR23g1ptQluQB9fph7DqWIqwJqDMXwN+WWh+BBqFMLtuXL/muBnu5hil9aJa
+C0AMoEJ8ihdro8hgf66x/iINAY4j/vpPeAnejVdDLdAn08yGmgzu4GxCjXmWf0+2qqdpP4Iu96x
Ee2oRn/jME6eonz5d+ru6EjLwV/FyH8FsAV5fqr4oZomo/weiN9L/0jx0Cq416Osr+x+4vGGewXG
dSLG7gzshPSTgBEYl1rgMqS/GOXnc5/zuIsp4ULE/RBxpjHgn6oAPkdf7ec0nB55dYzw4fZzlLYj
zq3o12OgOpDMdbCh+Iz5DkDY88gnHXAA7YAewEfAdmABMAAoBTqjXYRyNdSP61PEvAnamXnDeAF9
iLopnrXasAXu1ZE5sy2SF5eT63icFkSQy3miXpeDDkVddtt5o26zkfd4myJ8uL5A8f2X3E64RzdR
zD39CxrBdUD67QgrtSnsG1Fnng8bceWwBnQz+Phm5Hsf7Kttyn0DdzHcXNdbInSQXR+0tSfq14Gp
RuTncMTnfBS1+6KJzqUHkWeV41LIlK00Ul+Cdyt30KX6CSrWulAPoyf80B60MSS/oIkuvGnBWI6D
+55WdBP8NjnfEPOheWzRH4MMeoPuR78u1t+Q7fU3hGE8Zn5mkHjReEwuU/YfUIRznCaIw1Zcpozm
YZzHf+PfPO1/apdvGo9BZj5mfm68YZpoz508J5xfiJ6Az6bwrwdqga6ugNjkWiAanbgWchCdBBbq
QRpgBKkfLkuL9GTIecwF+JcZf6VD2q20Vn/DfEvUUq18g1Y5k2kG3h7Fc1nyTbqZwfmDLmrGRy14
zuah1tTm19YUvPBghKdyQB2Yfy9H8CEo4xTwDfioFDyZjvr2Y/mM/DfCvgZg2QF+Nb9HXhZ/vkgP
wW+dzZ82Zb7jOdWKP2NtfrwQVWsL5DvSsYzPRT3W2u3HGAiWcShjEvh4Beq5347fmjZLXyd3go9Z
Dh+lqZF53R6UMRp1/IDrCUAOY7wvMU3HcPMRR4O5Q0swdzgKYP8zYJiPoN3Xcl24P4xyMwzK62kX
tEWtpZY/xdjrqNGLLuf+4HCEbdG/pp8jfk/YuX1RjidouXEa4w4ZyH48D9UcRH+i3Qv0KvT5ZlqP
fkjXVmM+wh+Yxn2ixoIojdcF2DO0uyHzeE26lW7W/gJ9gdP2Iq9aL4roEtT9ReVXg3wQ5oCfcQlt
d3xBBXoZZO1hqkYdpqEuh7g+yLOf6ypyu5IhJ96gi/Deb5uRTNGIt1X1QZAeQfyNKi0Oe2Hf7pxJ
TvDsxYjD+W1TaYKUEOkPljczrfTQRVh+cl8gT0cyTUT6KOMLesDAq13MoW3OWtqGK1bCvNhhBOkh
pCvjuiAd60Gj9bvpp5hfayCb1kDmsL5Uakw1T2uPoT3XQq4DWi349TFKM2rRhwsQj/vHkrGr0b7x
2k7KA8113I01n/WJu/G2L0AljgV0K/xuxRuIzih3HfxWYv72xNxdi/Q8d1hHIJS9Fv6ctghjsgb9
FsXzxRmkREet0gdI1QFlcPnaZ7RNG01rwMdDXHejH2/BW1ESrEdmA1jNGcq9DHbGegvKj1VOxBW5
moduZH/Zi/6IA50Y3BPxGrpfX0Hz9ClUoF2Eueul7vofMFe/o3u1eJquH6F79UZaz249kTpreL2i
NUC3ZP9XsKuCv/wj3Jtoqj4I6dfQFfp0qtF2g/dep2h9NsYa6YzbwCcdkP5r5BuB+BtN1aZgbq2i
e8V35uMcT5XRYF6iAfpI6q7ScdoIVF25vuepsyxFq0ZjTFFftreoL+raVE+7juepn2on9wXaye3Q
7+Ubc7xoJ7OjRcMTJF5lA1vl2zQMb02vEzvMA+jX4a0wsrlb7yOWAj30PvQksAL2bqC/AZ6w3NDd
+uBFbh+6BXk/DbqH9wUMOZT6MoXfFmAT8JId1pxyec3d57MbmeaB5v7GXqw1gDhpHmA0D2O7vgJ6
eR/gJ+YBBnhxNMOxnJKcV1OS1gn+2UjXym1kYj7tpQ4amf9qned/40abejbrx2DzNtrjAZryH4DH
kOMx9THFXBzN6/N/U5//ibgY3+VAJeelf0nJFg9RnHjTfEfsoCniTfJoV4EHAbi7w51o96c9TvC/
S/m3Gj/wCo5qzX+1HtfW7tbj+mNuuYemN4fNBzZ13EmDGXoR+AFo7Xa9SIMZjucQBrR2648g3b/D
VOqqbWZeBA8yz7VyO8ZRJ4bsYB6QGZwX9Gqgyf0K5BrAaVV6N43QAZ67DNmA/RrQFN6HSsD3JXZ/
8xzkftU2W+nt8bHHxaZ2fNQvqL9Mo0DzQAtBJ4GOtqnNR8zPzXma/Vv7wa1kiZ2meRw7LmgQwFrz
w/TN0/2/YMfcOQK8ADz/v90eQeBVwAM43oEeUgQ98g3oKT/Fdx/oLGTJmXzgYaLwZNA/wQ8rfLgL
4IbdC785oPcTnf4G9ivh/4YFU+qZtDWiV6bDb18kLUSSym+Slf7074i+PwngEIrTn8Y3PU7Ph/0f
ANbz0++CPg26CfE/Rz4rQX9rhZ+dDvfVwFNwfwH/y4By2DeAJoN2AxKBBKTfyGB9xNab//doy70s
dLgWe9sfc0NnmYl65oAeAF1q7x3+a2qP549Q6I4t9sT2+P8YRTvUXuSH1NrnY8/0AfS+kF3v1uVc
yI3xDDeHXmaehU4Zy3o067KsPyv9MUKRz4OWHotyiZJw/qIo6hXF+ivrztBVS0C5nasdhjozKEO9
quAuNiL6QZMshVwVJ2kL4AEyI3QBZN93spP5MuRQPNbXb7A3epABdxwwxYL5CtaueKx1hyB3vwE9
Cnc70G/sNU2LrH02tWUr18OuC8vZ/233j62J/6fhWE8LImixtv4bfztef8RhjGLYa/D/X9p6rf4x
d+u1u7W7aR2/wBrdfJ1uvW7/t257nbdp1GAqYDiD5gFGa72UdYAWesCPuFun/z91s87RXO/4r92t
9BLWUc6HJj3EDm+lxzfpMxk4A7DRat7Z8+8/pby30PdiXkZ0f7sOdvrW/rYbfVrSHJADnSHfeA3d
DjkC/d9sB2CNwrfyKLzMdYYKXLuoAO69ANbN8HHQag4DfUDcyufb+FYyhW+C24PzG46LdU+hujV/
/4B/W/Et6+dKP4QOyG2SG3ivRPnAQCAB2A1cbvMG7yFR9lsSqy7vdfWp5jf6y0ArHfBH3X1wFtqH
diFePHTHeL2GkhxeSjJwhgL7KtBo0GjI9wlA5IzPPOu4XsXhu4rhfD4LOX8Fzldw9mU+C5l+uR6m
eGesuke5GWtoDsLVOR3W0mSsB2lOH5+XmI1Iz+dzVY6vofdcAr0nitcOlIszKWAB4o7jsymcJBQj
Hz5DTorQnnw+xeuXowd5EC8XYepMXdG/4VxoGs5UpuF807qnKuPzF+0jdVezms/dtYvpKT5jR36h
6J20JQpn4a5qGu5aru6bNuJbqjfD7z7nbbijCaj7lTJbX0Hf44zNWmOhTNlnf3wWn6HajzN5u81w
q/Nxm6r6TcM3R3Ee07xcO51rONbSr9U5lHWO2frMvpUugzW+DqhGO3DWYp6yy7Ep9xHOD39vUdw7
WbrG1RF6M+pp30lY5/TTaIK2DPtB+0z2YdTnTdwVrgIifWy3HWmVXmWXhX45a9tbU8RVugr66BKA
zwz5zHYVxi4RsO/h+C6uzPiMeLxG8ZgZbuzz43n8zf0I4/uIoThDG69LnAV9BVhnj+p+DvyVDlyC
7/sWyy2Yo1dQEtw363epO7yVOO9jIK75sEp3mRrXYsck8B7OHXGWVIy+wt2RDZyV4E7Dgvkhztjq
FNS5mrldJpm4TzKvlC+hrEKKV7xZgzqtx90Wn3OeuxNM0zvDH+d2+mQA4w9cB3cH1fYIVX2Gs0O0
d5RqI5/N9cA5E5FLG6jOCUfaaZxP0nCc5w13xdBwYw/OQRZSB5wJdnBkYexG434lHuetH1C23p9m
al587xsQw82XxReg0NQZ+L2Hau0t0Dvg5rtf3Amjv9S9GijOp+m0whHoEQDmC9/lMmYx5E6Ri3C+
J6yI2PkeDHb4FdI+BTuPnfjG9jkgnonzbfO0/DnKHkrVshFlbEVdUA7OETe2BtJeGkFnUC5nhH4J
5EpLDIO7BZAPu/NbA/7s17E1Iv4Z8G8B+LN7aGvAn/1a1+NC8S5Ujwv55yHvFkB57L5Q/v9pPVrk
yWVE8vXD3gLwZ/eF6leKsBZAfHb/p/Vo0cdIl4H07NehNeDPfheqx8UIawHEZ3eLekA+YR8bfh57
08dB/4z1mtf7z0DHgIL7ws/Cjv2FOTviRhwV7xfw2wTcA2CvjF/rsFAMynvg1aB/B7BPNyecQ/hF
2LOwL8E/uxzzLvh1BbBf4bI4bfgggLIVImWG98CN9Gd3gWKP3sKdAvfHSI/yVNmoRxhnxKYf2Bxp
35pIuSH4oe5hLjcSP4w6cRtNTodwG6YGv4lInwM66RzC0IMY5jOgvwLeAV4AuF5sz0YY9wnaHsbv
UIRDmJ8RuUDf465okV6Fc9AeONPF6QJT/QYao2TuK+rezL5DXqTzWoC3IEremZB9g6jA4YYecj8N
dUJvYBluzFJr6jqjGmsTfkICawvf5y3Qj5GhP4c3IB/hXuEK3Bfvw/nxCMhblKHzvQzy5nUXcrZK
W0tjgfG8hhl8J8R3J7ibiW5Q+osHcZL0T1Dfe+iQsRdnFuV4I4GqO3vAvQH3VNvoWuMGut51OR3C
r/qsgf4zG+tVjmM6FRo30UguA3kWOy7H/VEs9IIIdW2imc5u8N+JL6t+TFlRq6HXvYpfwqFwP7ts
rL1K19KdlAR/HrOn0LfMf8CZADBG1Rn1NYK4EwtAH+N7PL6Xr0SfVKv6XIz6FGCvrmu1uAf7CvrR
KOrsjILulU9rotJwNnQK7XDgTDWg7uWtMvmeHvdPzjl0kbGa8uy9u+ND9PNk3IlFKGT7Ifs8ALrb
Nn2u0hcT1L1W5DxA6RBYw5ry4Hc8uPMCb/Q4p0O01KN4PHgs7DMCuwz0r9UeUF4/m9rPY4d+UGsn
93ek3xE+GndgAQP3eBi33B/QyJmEk+/xcJeGflT6rPMQjXZqWFsfptmOVXjzMhZjkUiTnM9QgnME
pbF+5nSi31jPhR5ifIe7wkn4zR0yh2GceL5fA/CcGwHwHF8Cf5zbhSFz+B/PL/bnf+x3FvOV/5k4
c8OvgZA5zwrnMHO5ZT/7FSjyV2GIw//OYh6a67F6SuRjn9e8Dzug9iE+9j/Xz5CFlm7dkjbp9Yp/
hmPMmI8uTFvpn/Z4taY8h8EjiaqfWB+29ckf0rtQHuul6g0A9Lz3MUfvRFofwPfRau/QmiINnyUu
s6jSDfn+n+/8mf4S82sT63qtKcqx9OoL0GZ81EJvt/1RD2ue2VTp103vXuz3Lz9DOfzOIA/xlX79
YxT91fROBu1W72XQF2bEP47zQ9ua3s1c0G2duWWgPD57yzjP+wPrTM4+m7P18ub7J9ZTbTdkCuqj
oTwHzyPUYTT6fa3Ob3P+DZjvGI6bwAMtMQXuKfye4HxwYCVhOC9rCZTLbwwuCMftSAfgfWErmP90
5Zj/RJ1XWDDvBX8wvohgO+h2TWAvDejQhVvC/Kd+BwDZcj447ke5gKu7BSckAENn/f/fAH1ATsxg
V4KiDl4L/y2moxzACUmgsA5UwTSd68AnkbGw+9TuK7TtY7R7blPdI3Wyy7LTXYj+2Dja5VyI/ti4
2PW4IP0P232++tt1b04xJ/mN3tkI5bd7jvPVncdH4Z+gAPifz5oTI3CgXw8CjwFHIrgL9C7MlQzM
22+0WeAnoHmaH/AD3sTwuxjbH3OW5Z3D8THGNg3lYh5gj/S5Bao4Xx85UQbzn7MTKPpKvduxdK+P
0C436s1vbGezLATtEDUeb1isd7I5LFtwfsHnJj31p2k21o1mOp85CXyD/TTewQbIQL28xhLcd75k
/tK4HjLhhPk7Yzl0AgBtXBnBi6CMrQD2geYToPwOEm+68B54Jz3aHNjbZjM4DsquAR7CmvVnUD9w
pYXwJ5b/ubqhLkoGa99C1ztN6ep9aVDtr8fr87Cnn4e3IV/gnQ30H7RhjTaDhqCNa7S+5DGgf7C+
gL4phl+i/h6oBTf6Zby2o9k85/c1/K4GUG9yeO48j/sKjg+K9Pab385clrYA501/wb3RF4iHMKRb
g75byW+dWC/StmJ8xoEvJiDuBPMP2ibQkRF8C3oF6juF5smVuEeejf3wq9DfkuG/GFgIexpoPFAB
3AdcTRcp/9Pgk+8RH9B0xPs9qIG9vQG/7yJYDwpwuNpv76Nq6MTVyM+K94ZKw+kKNAfOCH4LymFD
kR/iyTtRb2gUWnLE7kD4LcjzkLV/FzhX4Pgqnh0n6lwc4zgNj56N9yOJwFqc4Q7BGedneNczlbwY
XzfQB2PP+yHeP7Ae9QqA3jK3wH1ERt4HNN1B2PfkEWrsonnGT/Ce5yz0hXewhzhGg4xTdC/uUzs7
xmM9w1kf8hkIgM/Ds/k9MfhuknwDZyKRO3qbOsopOeo5nC9Ay8L84PMXReVj6GfY8Ztv/K6Lz3xI
sPYGf/7Hb6cjc03puc5iuhnzeDiAM1L17pt1bD7jjOa5Bzu/W+2sP4Rviio9jvdQYfSoyfNhEmRD
09kr8p0AftrGvIUw1gWR1Hwcb442gvbjNwlyPL/XUml/CgppYC4DcMJijka+92EfY99vbcQ588Zm
bvU253/a/WP3VxjTFvdT9ti2Pj8Hj/zbtxmtw3/0jqfVWyL7XF292zjPWyN1Nt/s7UZrt30/Yt9H
/Ki71R2N3W6b/qD9NSbryMOxrhxy7DTfAO8+CdwB+Yo1ycQe2DQRtl/xUg2txXl5NZ/LO0ZRB0uG
q3PSbKwz2Tib5DP9VVZ+OCtswFkSZCPk/BleI+DPOtZq5Hsa/kVamvoeRAbs/L2GzgjjfRKf3w4H
SiH3rHPa3lTGshZxEtWawd87wD4N8qZaQrbIF6mXxL0KyyABN0Asi9S55FCsMzgDjCBd4nQkYo/C
W8JqnN8qaPHmi0omxVkySyPkh3NDMRRrsCWv2uGuSckv+boli+R7iGPjJOyf810N76fVnhqzOPyo
WptYfkJWKpm5FXMbdt678LxFO+N5XkNeDDmfntHcD21n3ZL1guaUdQV2H7TX+gvRSFpOz2l+GD9y
x4O1JFGtyS/gnW85xcCu9s3o/15It934WJ2RjES9WQeJR7ilv9vn7WqcMEbW3b5AeIt9Ad/n8Nga
eCfLaxf66Xng9WYU8iXMMobXae7HT6CPRmPdHcM8gD6LBj/g+0XmyUg9ef+SDj5dhzpZ770je7um
vQbRQH0LPajNwZkB3vkj30kAj1U4ggdBH2Q+M/C+G/ncxxR+RxEP8XndUGvIc6CvAn8AvgTeBN7B
nvktjGk56jHS3hcZD/D7gfB+A280sKZHucZQuuOApa9otXQln4sz0KZ7GOCVUBPw/Q8lx2v4/Eb9
A+fS/xDkVsyQh6HVtcfqU45jLsjw2J2Yhr2BY+jiA/zb0W1o64M2HmjjgTYeaOOBNh5o44E2Hmjj
gTYeaOOBNh5o44E2HmjjgTYeaOOBNh5o44E2HmjjgTYeaOOBNh5o44E2HmjjgTYeaOOBNh5o44E2
HmjjgTYeaOOBNh5o44E2HmjjgTYeaOOBNh5o44E2HmjjgTYeaOOBNh5o44E2Hmjjgf9reEDwX7Si
r/Gr+feTE1/Hxe948S+/6o/H/IYMkvtpstZ5T15azqtP4c/FHAOk1qU+0C5nv9ZJa1c/MCfYqPn3
JCQXxA/pju8zC8pXpg/mQuAJ4BCg03QtG6EemMuBWuAJ4BDwKuDAd7OyVagPdCHwAHAMcGjttKx6
/P35IZ20dKRNRx3jtVT6CjABDd8lT0WpqTQOmA7cDjwAOFQ89lkILAcOAScABwW11Po7e6HuqfXr
FNkz/7IC5ZxhOadVKueeSyosOnaCRYtHWdEGWNEu6m159xhq0U7dLJrQsaAWme+JdhccHpKipaCR
Kaj4IphCPouf0xWUgz/0lEwhQOIL4pZPUEvY0yGv4IFD+Cqn0CR+QKOacszDmqh3ewuGREtTfkUJ
+EL8l/K4FSKP74nzFjwwZLT8gJ4ADgGa/ACfv8q/4lfrj3GfwywCHgAOAa8AXwEOeQyf9/F5D9/o
jJfv4i9MvYuY7+KX499F7HcR+13EfJec8l2YHvkOciNlsr0IkPIdmB75FzTrLzDj8TcWhHxbvm0e
lq/V9yss2K8sgfyIJadjxJKaGbEkpBQ0yj/Wf9cFHJWHkQZHHdTa02DqpbWv73hRTqOWVj9oXk6j
/NseXyBn65Ce+CZqCJCoyeso+XX8rs3r+FsRr1MVsAhwwIa/pgPUAhuArUAIAJfB9AA+/C6eT/4e
eBO/E/MmBYHxgEu+Wo9iGuUr9XlDc4akyJflC/gDqjnyqPydor+Xzyv6knxO0RdBsxF+RD5fn51D
Q2IQTkjjAfWA5iPckE/v6ZCQYw7x4tv9GHiY+UARMA6YDtwOOOQh2b6+OicBmRykIy5CzHr6TNGH
abuLgvNzgnnDwIA+NvIG/AQ2GA/4HsiTwbyN98DJRt5td8LGRt7K9bCxkXf9CtjYyLvsatjYyKue
DxsbeVOnw8ZG3rjJsMFolFue7NApp9+4BcI3JF5eg166Br10DXrpGvwy5jX8oe/wDc4ceW99167o
sc3BQJeuObUHRO1TonaiqN0uameJ2mWidoWoHSRqfyZqA6I2S9Rmi9qgqD2IP3sv8NOIwYYWzsJg
mqg9Imp3idoaUZsnajuK2g6i1if6BRtlbv0ozDqQEkX2DOFJJ3P3/GQwpE+8zEWP5oLncyETDsF8
BTCVK4hIvvZW5PRspu33dC2y3D0GFCwcMlI+g4TPYBieofcBHQP0DNjoGWTyDLKLh1kETAcOA18B
JuBA7PZox+3KjIeZDxQB04HlwFeAQ1XnK1RF0kKYXMUnVMXyYRYB49gln8GnPT65MjfYzpPlCXhG
ardnifhsMS7bzJb9KCUFX4dN8Lq8jcK971/ub//lpqghUfI2eTt+8CBHbojQ2+u/a4c/872pPu9g
zpBk8Qt8Sx1chz8YmSc6gvbHX0lhdx/KcjHtTVn4JYYcUVCfNQXJ4uvzuuUcEHGcal/Od1kf5nyW
1Shh/TTrYM6ffI26qM95Az6P7ct5PWttzov5jS74PJXXKEAO+FTU/Vn9c3YdUVFXIGBzfc4yJvty
bswakbMgSwXMsgJ+VgNXMD5nYt7UnJHIrzjr0pxgDfLcl1OU9bOcQVasPpxmX05PVCFgWbuisl2y
VKH+bJVhWb9GMTfYzbnRWe4c5+zrLHB2c+Y6c5ztnJnOJFeCy+OKc8W6ol0ul8Olu6SLXEn8J24D
+HI8fqfXw4S/0o2/8aHsHkgYwWIGJknhkjSaQolaqSydNFSUhg7PpNJLfaFTk/yNInrC1JDhHypC
CaVUOnloqH+gtNFpTgz1C5SGnON/Wr5biNsq4BuSaxoFTS5vFCZ73ZIZShhWjj9aL7y33JrJtPMt
t1ZUUFrK1UVpRQmDvYXDi89jVCnPquJzf2IzkNbC3i60sXRSeWhnu4pQAVvMdhWlobsm+aaV7xdf
ixMlxfvFP5hUlO/XBouvSyayvza4uKKitFFMUfHIJ/6BeOAYEMRzZZOP45HPlW3F22zF64j0iNeB
CeJFRVFHFa9jVJSKpwuOt7umQ0nx7g4wECfVRzUqTk2qr3mcIx0RpyMMxEmppSMqzpGUWo4TGqyy
ycpClGwYiCIyKEtFyRIZKoqq+W4VJT8SZW1TlLWqJM2qjYrDBrJxH7PjuI8hTrOO/PfWWUPxd8j3
DKyYOa1klr+kyl8yC6gKrbt6blqo9lKfb/fMCg7whbS8qktnzmU6Y1aowj+rODTTX+zbPVClaxU8
jYMH+ot307SSyeW7pwVnFdcPDA4s8c8ortgzYnzvfi3KWttUVu/x5ylrPGfWm8saodK1KqsfB4/g
svpxWf24rBHBEaosUjw+vny3i4ZWDMP4Md0jY6LBr1WZuRVDUzyLBivmHZibtizzALSVHRQTqAjF
+oeG3ADzdfch3YdwEOYUB8XBOz4SlLZsYG4m/o5LJMgDb69/KAWWXFVzFaWVzCu2/tfgH7yWXMVD
YZkB9jvvP0QpCQVnFNfg9wFLQ10nlYaKJkwt3+10wrequAJ+A2y/mJgS/Llby7MHPAdwRE1rish+
g9gvKioS8Ye8oOoEb/TOfigaB/eIYLZYQjUVWii7dLKEKJg8Fd0wbWr5AehSvEjUVKCBNSIgauzc
uB3Kjr9pz/8Iza6xseSqiC3SF0siVMWsCVCgxu4S5cMGd5YyVF8tQYb0/wFAQ65+CmVuZHN0cmVh
bQplbmRvYmoKNDEgMCBvYmoKMTQ1MTEKZW5kb2JqCjE4IDAgb2JqCjw8IC9UeXBlIC9Gb250IC9T
dWJ0eXBlIC9UeXBlMCAvRW5jb2RpbmcgL0lkZW50aXR5LUggL0Rlc2NlbmRhbnRGb250cyBbNDIg
MCBSXQovQmFzZUZvbnQgL0lOWk9YUitmb250MDAwMDAwMDAxZjQ1ODdlNCAvVG9Vbmljb2RlIDQz
IDAgUiA+PgplbmRvYmoKNDMgMCBvYmoKPDwgL0xlbmd0aCA0NCAwIFIgL0ZpbHRlciAvRmxhdGVE
ZWNvZGUgPj4Kc3RyZWFtCngBXVLNaoQwGLz7FDluD4ubGNcWRChbCh76Q20fQJPPRahRonvw7ftl
0u5CAw5kMjMZk6Sn+ql2wyrSdz+ZhlbRD856WqaLNyQ6Og8ukUrYway/M3BmbOckZXOzLSuNtesn
UZaJEOkHW5bVb2L3aKeO7gL35i35wZ3F7uvUgGku8/xNI7lVHJKqEpZ6jntp59d2JJHCuq8trw/r
tmfXTfG5zSS4ETtkrGQmS8vcGvKtO1NSHnhU5TOPKiFn/y3LIrq6/ibPqmACqkOFhCMooMoi1YEy
AdV9pPowkRKUASWRIqHKYpbSWAdqCZWKwUAd4zkyBD8E1HlUYUcF1HFHRVABdQcV78KWDCW0jRRK
ZMA8lshyqIqAuYqqFhQwL0DpWBLtj7Gqxj+yhY3H+I85snKoCs7iQ/47zXDe4W1c79JcvOdrxAPC
DYebGxxd39g8zSEA3w9bRbHjCmVuZHN0cmVhbQplbmRvYmoKNDQgMCBvYmoKMzQ0CmVuZG9iago0
MiAwIG9iago8PCAvVHlwZSAvRm9udCAvU3VidHlwZSAvQ0lERm9udFR5cGUyIC9CYXNlRm9udCAv
SU5aT1hSK2ZvbnQwMDAwMDAwMDFmNDU4N2U0Ci9DSURTeXN0ZW1JbmZvIDw8IC9SZWdpc3RyeSAo
QWRvYmUpIC9PcmRlcmluZyAoSWRlbnRpdHkpIC9TdXBwbGVtZW50IDAgPj4KL1cgNDUgMCBSIC9E
VyAxMDAwIC9Gb250RGVzY3JpcHRvciA0NiAwIFIgPj4KZW5kb2JqCjQ1IDAgb2JqClsgMyAzIDI3
OCA2IDYgNTU2IDExIDEyIDMzMyAxNSBbIDI3OCAzMzMgMjc4IF0gMTkgMjggNTU2IDM2IDM2IDcy
MiAzOCAzOCA3MjIKNDAgWyA2NjcgNjExIF0gNDMgNDMgNzIyIDQ2IDQ2IDcyMiA0OCBbIDgzMyA3
MjIgXSA1MSA1MSA2NjcgNTMgWyA3MjIgNjY3IDYxMQpdIDU4IDU4IDk0NCA2OCBbIDU1NiA2MTEg
NTU2IDYxMSA1NTYgMzMzIDYxMSA2MTEgMjc4IF0gNzkgWyAyNzggODg5IDYxMSA2MTEKXSA4NSBb
IDM4OSA1NTYgMzMzIDYxMSA1NTYgNzc4IDU1NiA1NTYgXSBdCmVuZG9iago0NiAwIG9iago8PCAv
VHlwZSAvRm9udERlc2NyaXB0b3IgL0ZvbnROYW1lIC9JTlpPWFIrZm9udDAwMDAwMDAwMWY0NTg3
ZTQgL0ZsYWdzIDQgL0ZvbnRCQm94ClstNjI4IC0zNzYgMjAwMCAxMDE4XSAvSXRhbGljQW5nbGUg
MCAvQXNjZW50IDkwNSAvRGVzY2VudCAtMjEyIC9DYXBIZWlnaHQKODA1IC9TdGVtViAwIC9MZWFk
aW5nIDMzIC9YSGVpZ2h0IDYwNCAvTWF4V2lkdGggMjAwMCAvRm9udEZpbGUyIDQ3IDAgUiA+Pgpl
bmRvYmoKNDcgMCBvYmoKPDwgL0xlbmd0aCA0OCAwIFIgL0xlbmd0aDEgNTIzODggL0ZpbHRlciAv
RmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB3L15YJXF1T8+M8/+3H1fst2bm5UACckNEIjkYYssQtgh
aCQgu1UIymYroEVWF9wAFQWtAqLWQFgCaI1LXesr1g2tVqooblTaoqKQe3+feW6CIW3fvu/v+/39
80s4z+zzzJw5c86Zc+YJhBJCNLKCCMR5xaJrI2f7/eYD5GwhRJk8c/6sq9QvDhUgfoYQ6b1Zv1g6
8/rnE62E2I4Q0r959oyp049d/u7VhNSsQZues5HhXubPRroF6ZzZV127ZMDBZwJIHyekfPov5l0x
VZiiP0fITUOQnn3V1CXzfQPERYQcakT9yPwFM+b/bdhnfqTRv+uP0iGSbsIOki7mkXRCkugnBYk5
yeO8jIfsK0JoRgrQD//ZQx4n79ECGiFN9CcSIGdoiPYgQ4lIfsBMnySt5G7iJePIRuomOcRPxpOh
VESdInIzvS+5KPkluYjcQR5KHqA3Jneh/DbyIjmDEfxZpKQXGYn648kM8qXwGalN3ktUsppYSF8y
hvrJVPIufr/DGO4kd5Hf0V8lz+CtXnIj+qsk/Un/5LPJc6QLuVncIB3V9pHbyWEqJ69IziGZJJus
Y0XJd5MfkzxSS35DHseYimiLOIREyZXkJrKZhoQXEbubPEwS1MrqhIHSM3jTUDKBXE0Wk3VkF3mV
uuko6ah0KvnL5AkiEw8pwJjmkC9pOR3BHhGtyX7JD8il5CB5GfPlvy3ipeIO6dJEVfL+5HPERw5Q
nT5Fn5VKpVtbb0g+mPwtsWI8PYCRkXjPNPJr8ix5hfyN/J0tTy4nQ8hYvPn3NINGaB4w/i4LsWVs
mfAW6Y7Z1mG0C8lW0ogVOUQOk6eBmz+RY+Qz6qVpdBidRm+nf2dWNp29Idwn7BXeFqn4KPAdI7nA
0bXkEbKf/IG8Tt6gEvovoaPoXDqPbqL302OskX3DfhBV8dfiWbFVykscS5xNjkx+R4IkTC4h15Hl
wO1vSBPZS/6LvEP+Tv5BvqdO2pvOpg/SRnqMfsM0ls1q2Hy2kT3CnhBGCrcLz4rl4gDxSvF18QNp
lbRemaokzm1P3Jl4IvFm8kDyTdCOHf3nkWpg9AZQxSPkGfIWen+ffEQ+4fSD/vvSyfRyvOUauobe
RZ+gv6dv0q8wS2L+ZrO+bBDeOo8tAJ5uZHeyu/D2N/B7hH3APmJfs+8EScgWegoNwoNCo9AsHBE+
F51inthd7CHWiJPFJFamVLpYGivtlB6TnpNOyZXydHm+/IVyo7JS/UNrl9Y/J0hidqIx0QTaVUFJ
1wETD5CHQPd7sQavAqP/hREfI6exCmEapfkYdwWtpsPpCDqRXkZn0BvpanoH3Uzvow/R32IGmANT
gK0i1p+NZVPZDLaSrWa3sL34PcReYe+yo+wkRh4QYkKR0EMYKkwWLhWuxhyuFZYJK4HZ24VdwhvC
W8IJ4QvhJFYtIGaKC8XrxHvEHeJe8U3pEukq/D4kPSO1SG9K56RzMpPDcrpcLM+Vd8qfKLLSUxml
rFXeVv6hzqfptAtGHgHtn/9hIezBTLaLecXl9CSyM6hIHJh5EdZhLHbFP0iVkMC62Hk5xuZjIdHD
m8uGCP7DrqWHSTn9PVkuMwFcUTxG9tAP2THxeXYReYfW05C4Q7haepVFyWPgRhvYU+wwHUD2sko2
gW0RCP2M7iSfgd6XkLvolfQa8hg9SfvQ62kvupy8zfzCWLqSVCYfYiLV6FB6imAE5AZxOrn8/BT+
ZYRWkA/Jl4kHRJv4K/CnZrIRK/o4+Zg+Sn6iUvIbcDcB3GgquMzNoPebCOd6ddhny7EfQ+Agv5Df
IHupDC7eS+4nXkdOkR/Jl9IhUNQAcNMTiTniA+KnyV7Jbthh2GVkJ/bdbHIxdsxnoJKnkeapy7DT
dfCSUuzqUWQymU6uB9e7PdmY3JL8dXJpch55DW1/ol3pT3QbdkQzWlSSl/F7G3mfrsc+vPhfTu8/
ZiamkxbyFQ3SXFqK/XBSWiRtkHZJe6XfSa/LPYDtleQ+UPQnoGYdM7iCvEm+Ij9QFWsTIl1JHOPt
jbFPIr9gtcLTZCANk/nYswXg4wPaZnINerkR2NuC/fw09sYp8InLyO/IUcpoADO6Au9X0c9w4HkK
uYZsxwr+mjYhZzq4dhfyNeZtp73ZtXifgZ42gmu1YEwfks+B7aQ5rq7gC4PoBPT1A5lIpuMNPcko
uhsrsJ9UgLMOEv4AfOdQJxlAs+nDaFePHWonGaRC+pQy0jUxMtmbzRGehoxJIn8bpFcauYg2YBQO
zKOV+GgNKU+MwRjeooLYSP9ojuIeNiO5Wlic+AV5jTyKNTHERcogQoz+44yqfhdV9u1T0btXebys
tEdJcfduXYu6FBbk5+XmxLKjkazMjPS0cCgY8Pu8HrfL6bDbrBZdUxVZEgVGSdfBser6SGNefaOY
FxsypBtPx6YiY2qHjPrGCLKqL6zTGOHtpqLogpoGas7sVNNI1TTO16TOSCWp7NY1MjgWaXx9UCzS
TCePnoT4LYNitZHGk2Z8hBnfYMZtiEejaBAZHJw9KNJI6yODG6sXzV43uH5Qt650t0UfGBs4Q+/W
lezWLYhaEGsMxObvpoF+1IywwOA+uxlRbZhiYzg2aHBjKIam6EbIHTx1euOo0ZMGD0qLRmu7dW2k
A6+ITWsksQGNjiKzChlovqZRHtiomK+JzGnEbMj6yO6uLetubnaSafVF1umx6VMvm9QoTEUfgxtd
RXjvoMbAdceDPyfRuXvgpNUdS9OEdYODcyK88rp1qyONLaMndWibFuU91NaiD7RludX166rx6pux
UsPHRvA2dlPtpEZ6E14Z4TPhs0rNb0ZsMM+pnxtp1GIDYrPXza3H0oTXNZIxS6N7wmHjYPIYCQ+O
rBs3KRZtrEqL1U4dlL7bS9aNWdoUMiKhC0u6dd3tdKUQu9vuaItYbR0jM4D0VJkZM6vz2PAx5zFL
+YhiQxsNUNQVEYxkUgxz6s0fM3qTdVf0xgLgp5aiVeN0rMicRm1g/TpnH56PKdJGKdcZi6z7joAC
Yie/uTBnaluOnOv8jvBCTifnSa2RTm2PNxYVNXbpwklEGYg1xRj7menybl0XNbOesfnOCAKgj4wC
bqfW9ikG+qNRvsDrmw0yDYnGFaMnpdIRMi1tDzGKi2obWT0vwQKmSnzjecmK9pLzzetjoOS9hCvt
vkY17/w/h9PvGTy7TyP1/zfFM1Llw8fGho+ePCkyeF19G9UOH3dBKlXOEQq8oawt1ugZOElIY8jj
MZYmmKUgyssmn6+CxCRro5iLfzIfNHaHAKI0M2ikutFZPyT1rNWj0bYt889tmhW1Q6Pm5Cneygx+
btY2i8Y+RW3jTI26se8F6QtGZ10nDB8HjsOGj5u8bp1+QVk1eNm6ddWxSPW6+nVTm5MrpsUizti6
g2wH27Fu/mBwodSCNicPrU9rrL65FlOZTfuAbBkZsDtG14zebdA1YydPOujESWbNuEl7GGUD6wfU
7s5B2aSDEbBcM5edz+V1IjxFhlMQ+h6mmkVpBw1CVph1RTPDTF/RTImZl6qEPEquaGapPKdZr7a2
thvUGE4bEn6hFShkwF5GE7LSzKoMD5HEhEB0RUxQElJlKcGEp2ge0aAMB0mwyPl9ZWvlSOfpyhGt
laQKcec5PHqURF1RVy4eFArGuYjQcs6QyFkSEVvwLuJOnhAvld6CJMqiU43Vqqi4h+hD7JP0SXY5
aA1Qr8/mp163zc88mdYA84S0MPVmaGHmIWoa9QpqGvNkWQOS02XzS067zS87LNaA7EjXwpJTVNMk
p66FZYeipskOLRwemqZ609JUm98/NGD1BgJWh91usei6oshD0YcrKys9XRSlZrbFmMK8Pl8wSOhQ
5nG7MzMzMgTGVH8gEA6n6TarVVOJ1+NxOh39bNYdga/9O2xGMBy3GTl58Sobvc221cZsI6OyJDHa
L03bEf5a3VGSZqTVpwlpIyMP/Yrjq+5463Hgq9JZifiCoqLTZhIpjj88q3hJpbui2KzCE61tse/N
El6KLDPAc7XUveh65wuruwd54Oj006OE1nli5WWAqKdMKOPgiwGiQswTE2IUWfeu2Vt5imbUHKv5
aMQXo9YdqPxH4ljNxyP+XPMJ3dz3z33oVR/S/I/oqsR1HD5KvP9hKiasTbxP80FQVyZGs9lYTSep
NuwFjh0CUzVKNCdxq0/TbJgJKJ6E3WXo2j+s90XEEpGJzWxjk+uRK018nGw9fdJ5klRV8SnxAdNY
Hit3enr2KmPM53UH/GzGs/dsu2LCypa1sy4qjyVGn6B//xIHEHbs6cSbiYl/fTix876ZBCMZiJEY
5kiGGsF8lq/PYrP0TdiMO+2KpjoJ/rmdfEwwXqTGtFf9h3SflY/GPXcgH83J1uMXDsbTTyiPM6HM
7/Z5FSYMHjuoT/rMtc9s2jFg+OOJ0Xt+d+bjhX+lj9Li9xKZZ978NnE6cZaPZGHiIH2E8rNF1T5N
tci60kwzjTR5C+0NwltA85QcB8kiEVKC/RGyzloULMImqhtxvBWIGHHydCt1VRBXRUWPEk/U55Vl
Jb9nz16xm2moy8LJvcYPYWto6JXrbpkfuTZ92nj+vv50NZvDtmH3lhrREmpABe2FvewUIkKJIAqD
JKf5LoGExEd+wd91vG6E8/M6UnyyDq/AXu3PCnB4CyVO8N7uxONxjF4gOYaP9SY6y+swWvH8aFv5
WHuUlKH9ndwowFszMgG72y61QNuMkDuN4Uv0NfoOukvZpe2wH9Be1tQJrlp/bXhC1izXbP/s8Kws
tYJVyD21nrahbKg8WKu27dBeY6/IL2gv2N5nf5Lf1t62uZzBSJAFm5MtRq7bHw9uV21ZjmIHcxhI
ObYTKeNoDWwA4WzvUUso+tZzJjZHnBzp/L5hBBB6sqiBA6ctUldHSwN+l1ORY9nE5ezVM5AtK7LL
6feXlfbs1dPlzMtjpe8suW3D4nfeTfyEZ9kof0a8piwVSC2b9yamJOr3b8RhbDt9YP/GL/uPuyqB
n2ehG/8CaGfP9gcGHwLy84ADjUwwtCvZL9l6JoDqaWHTFImC01x+QNUkSqwa7DiTgDPK6gybRMQs
MSI2iqIY0g/RHTgRpciicgTnsmAPVZWn606CKEhdNOqSlfKeOb3KhLzEiXvfvJqykuNibMPgZM4r
q/galuEsasUIMmiVMWVfcH/4YNqr4kvBI8EjoSNhdWDawPSBGRNC94l3B3eJ29NVORwhBXKv8BBx
YHBgaGBYzQnmhHLCgj9PnCCuCW5J25K+JWNX+q4M1U0ynBmRjB4ZizJWZmzIeDdDzeDr4vf64hnM
aXVkcFJjnLINEBCKmrBGpJk92MSo1dFMJxixLGuxlVn52lm3eyTtqN+PQwgl4SzHUediFspsX8DT
5gpWVo7g7KG1qOE4BExRXUOly11BXWVFdVAbDpKMZMseVwUfwx6HGRh2Z4WoOisk1YXQVVFk/tTu
ltnAcZMMi5YWSmNpHspP8egI/+pqOWUMHz3paZIGFTUdkJE81rt371raUAd6cUV7unuBNsrjeTEQ
S27PnLJSnG5ANqKsiNZz+c5t3/yuqM+M2kmz1cQXIaq++P6Zi0eUJb6/2E+lxNm7qPan3VUTx18+
Y+4v07949avfXtE0rf/pUXl8lUZgr6RhlQrJ+0bpat8rPvbL9PXpbLvwqLTDu184JO33fhD8KKT6
vfQW/y0BFtVtRKQBjz+aZXNa9WaaY1hrbNSw3QbBY6P+ZsoMR5an2MM8HL2e7WkSBcr3OUFXoD+s
Uymyxe35tkZrC9bA6nceXZ51W9bWrCeznsmSso4pR2tyaE64yH80sJgeJaEu7WtxMrUY4E11J10V
xXVtC8JXhScbTlKOTDAtE6Ucq0Aq0EfqPLnm3jKxp/Tyn0djP1aGnQiu6seDxLJzRlCnbcHoiYsX
jOk5PGvBkklDh8y0JFrTrnp+6RvXz3pr2abE5398KfETvSk6++qV8+f+yveZMGfisEnT67vetPXS
lb9Y8+w1aU/d9Gzi1GfYT0CuOAh41YmNfGxUWCO2Cs0ashZZx1qvtH5ilU/aqCz6xVyxwDbEdqlt
h+2A7UWbRplKrLJNkXSLTSFWq83WTH9rhAXRK4CJMqtoE2xM1Ili2FpsR5A4TAtgKmN0734iimhA
mumkvdJtOsXKMMPtVLYqzyiCEnZUseWMsZD9EL2EDjF39fEGiP8Rp+vMjV0FhaC1rpKj0F1h4tBd
wQW7mBLp7aTbzXqRdYT1detHVomkiBboLYKWVU7LXJDrLuqibFnrTvarb/bvT5xKPEnzvxd+c+7y
HxLvs0z6XcICirsUFFcubQdfcBqFqj1i7eUe7B4ausf2gH2T+wO75nZ53FFXzH2TG+yI2nRgwe1y
NbNtht9u89rtNrfu5TZVgwqj6AYwvAvI64BJXWk2iNTJhi1LL9aZzglR3+7lxGfx+uMRb4nX8Are
ZvqY4YXy5Sx2smJnlbPGKTh5VSd/l8fhsIsOJ8jxSIAaARoIZ9mbadRw2xbTp44QasA6/CTYC3jF
QXpxG5sErz99HDy/jkc4u3Sa3AIZRSbz4I+6BuCYo9YO1JpC1qRXk1YvINR8D/Cq9CwrJaBQyIqc
S2nQumjEpOuWTl1af3wDO9H6166XTztMxTm3JV5LEro0Y8q82zasXn1llJ1N/PhjceLU+/tufe4D
0OJEYLwLaDEA+/TTRt+5loXqanVTaIe0Q33Uvstz0L7f9bSnxfWGx+aTeroGOa/z72N/dB7xKofJ
G2guUiXodqZFwLQ4CjOBorTtDltWtDjKgBB/PLq9SqOGdkRLaoLWTGuanqQUqxI1srPEYux6Xkfc
7pOwnRdnHq2xUms4N3jUHco5v7VTcvJ0ismergMC2yQmJ0i+o/leBqlRKc/kgMAKtCFsWQhQAl5I
vVx4ptij6Eic0scNrP2lc86WxrOJM2/8OfEJ7fLXHX9qfXDZ6JGz548bPV8cmzlu1LbWXyVOv/2X
xClaS9fSO+n0w+e+XHv3detvu2k5qHQi9m8QVGohqw4SMXnM6OFwxXVL2NJH7K0PkSZYdll+Z3nd
8r5Fj1qoRVBIlqXYwootVZYai2DhM7Yc4uoQffwAY1RUVKuKrdlUrFCcauoNO6sRqBC24UhjbcMC
tPGGSuxH6DRcBT9pkg6fvzn3IuhIPpmxQNTt7jVReHbx9zfQxN+Uky+KD1LpDwsTwxKe52gJW/Ij
aHJs8nMxgPUOwkdUQm37StSMrHhec/KM8QtEXnK95HlPek8RFzoXeVc6hTzSxdqT9LVWk0usV4tX
qNCKfIvzV+dvsm0OPmx7NPhoeHvmjvztXR8tORg+kBlY7FnlWeVdnS9uwjpuAqbSu29GrEjj8Vyh
O596Vfea7qz7IXYrRFmL4fQH4/PTV6Szbek0PV12F3Aq0lCtpMAoYAXN7FbD5rZVZddks2zeOpvn
hGUp66i2uOhojYM6wqWho8Li3KP+UI/zJHNeGpjqVV1Va12R05QDRSfriky0cdSZtNMmCUhDXVER
zcsrj4N8TPHJ+b4Yy87nWZ4OJCR0iNMhV13x2Vtvnphbf93yROt7L990/6KDU2pG1U8ZObo+vLh2
4oJra2fNEALdH6x/+N13H565tUuPp375WmLOr44ufomOHnf5lHE1U+pbL7r2xusXzbr+Vq6d9sfq
eNt24xFjUl/XcNcMy3XqWvVR6VF1u327Zx85KOyzN7v2en5PXnW1eFxxzwRLrW2Ka4yn3iOHpMX+
ewIfOT/2SrM9ONzyzZmVVozNyXGHjSk5oxFsTI5kJ3Ki20s0WqN9rJ1q25zbUpuzg0ROQzXsT1vw
aI2busO5qX1q7bA/25Ftytx/tT9N9gUEt3GwXuBXrDyOrck3aCw7j5qai8/Eax116uMGT7zONXfr
E2ep9vrHNDPx7rePv80uv37MyFnYn/Po2Myxo7ad+yW1vPsxdSV2JBYmrk5sOSCkr9n4y5tvvWkF
sMitBc/Ak6oQnfY/SJTkUUPrVRGXC/BQTAIrKI/LBh5IHTVGRfNRhkch6QJeWKAXW3uTXlKVdS6Z
y2YIM6XZ6iz9C8ExTIYI1qiga5qoaJRGiOKFB0LWRDEiyV5JklXdCGf00/krLOGMuJ7LBEEWwfae
MuyywiQRrlbVivM6NM6phiULfUBYraACbWY5hpal0RJthca0QyyHiKihRaCPhyyXX9F2AGsNgfud
rmsIto4cPGPQ5+1H8hEnQc7F0D6LzAP36uvNAzcCxVlZufqFF1ISeq8W12xxUsT1yeGNlrHDGzNh
MjtIhGRijyrqh5IJYOrcblmEbpnSLlO6aTQq4JdGPYIgPZP43YrW/UsTL7K+tKLLqy/SEYkm6dC5
dSzSegyHCngJiDQNmPeQCGz2R42qxV3obPuSLp+L34uiFvVpckHXaK7fneWr8bES35M+5vN5Y9m5
bo8a8eZSwtLy58sr4CYbXpD/JDgHMNmkWeIQ2Dfj5Njd6D6qe333+d1XdN/QfVt3NdK9BKzEmx0h
EU8JlMpmtr6pW4+x7ceSVqjmdQ3fF3GBWwdOAGWGg8kITOXcl1yxJ6PCh5fsCfNgxW4P18drUald
tpzHlQO42q1HoHVzpTFamonDv2wqhzj/ylIUKn9pr55czOTnxQRXtC2RF9vIhv32sdWT501ZtaHu
wUXDEp8lbLTguSe6XDJx+LCub+6i7m1FA8YaS1+VDmVcds+UWY8X5T+1fPrTDTaViS8mnpC0iRcP
Gq9JrQcTSzRr3cgBl3XhmvnU5AnpctgSwuRdY+Qqba13rX8r2Sy/pL0tvG35TtBytQJrga3QW+hf
KC3UVkmq4lECAU8gUMi6CLmSUiDdI23SXhF+b5GqaA30pDFOQo/BQcPMM5EriDMRUK+DXuCLMALB
bqJqN+zuuH34FAflbNfwBeM4LxUY2e5uuuD41j6BfEvMrsIlYOW+/G0KdShZSgk0TKxeU9qytnXB
aox0QopjUbhIP40j0/EiHvIIxBkEOT/WSLIYi3AGEY0E/IGUaMc5GJJcrKJZAxKvf5P4MLGGXkfj
1LZzemniT+FHFv3mtZe3LdrF0i499SW9DR7rq+ndWy9vrF6w8qvET4mvvgFxUtwzIOIpUKiFbDAu
UiUI31zZnSXREulJiUmSJoi5OCbrWq6FwCs0XGBDdAIhHo7YSmwGlGpRi2Djl3BEgdqsHanNnBak
dKWp3nUmNglUllEhgcpAbDz4mdgECfvUtFT4oNaZcLdYde5Ldqw1IpRJh84kDv+QaPgBo9+E0a/E
6DWywKjC6GUpV4moJeoz6seqWKxuUJmqktQUNIy/Sq7BXhoj4BDAwhFLiYVZLhy//q/GX5c6zLdy
Mx/Os62V/zS+TcLJ1r5seusWPrZHzrTezjHL934XE7O/MXI1UdIFpum5ovtJKDMCMa2OTFFV4FVS
I/IbprKz3sg2bKNs9TZhvm2FjXEkb8PpRbQxSwrNLWAqKUQvvHBbL/i+rs2qC7ucaZrkozW3tWBi
Wkhtax50wnQ7smEYSv1upAVsEC1IHG19SjrU+gzr/1M1u6GVa3r3YE7P8znR242wKlO3W9clgQki
Nr0Gv6EuaaqmQ3s7YBQpshc2W4ELAx3CQNc1MH9d0ARY2GQFvB+LQCwWVVFhYJy+RxqiIjDcikla
7PyM2wmrjefzSYY4ZQVTGyZlhMWcQ5gvuFSgggBwZgia5zEzonKTq+qsVF8Q+LMyxf/3aRGLLQ58
vLpHzYcc4IKADJxkhPLkfG2DuFneBuNOi6islHeKX4jfS5BbyWNNvcbEEbYYOYjkyhfp1wqrhHuE
e7R79V3CIeEVQX8WlznO6cJF+gCBLYAWRYsa6mrNdZCTXzS5LVVyc/ILHJksVWKJzY+H1VslRizu
KozkSJMjlArtgVSIGmY+KplhW709dk8VRsx/qPkEG+aGPdhZ8U9x3YMVnEBvbT3KqhM3JK7CBm9d
yNa3/v7cDazxu8RgrCRIFOrRIWJlQcNiEfLUPAtOzRQvWWFo6X3ieqRPXz7TY01tofFwenfk4iFj
nT/VvtEhwXTdw9JFp5alx1hXMaIVw4g7W5yhzdUXsyXiw9oufZ92SP9e+0n3bxU3aFv1F7VX9PfY
UfFd7X39BPtC/Ez7Srct1pbov2Y3i7/WbtY3MGWSZQabK87SZuuL2FJRGcSGi4O04fpEdaI2SVeC
erE9zvqIca2vXmVX+EFf1jTdx8JiQFPaDt9ZTIRaIlkVpVS2W0ship0wdI9SbXELf5iztGP1VcOe
H7fwB7K2GE4esagCVxWZosNagJ1UBQtWoM0uVUeLTzrfhnoRqMD5rq/RDW+JiKqmlabMDgz24lKB
wQLB0I1gFRmzgvA1Rc2yU5yJbU3cs34IVlqwv6ZL6+JgfC1GYOy4uFSqGMpylapPL8cqPG2JWKys
mfU23JQQAxWJgUqkNIsrAejG1gP733kaR78iZ+VfnZXhkLO1obWhMhzEMboIGc7jDRg8N9JXVaY2
RNHPelCbzuMZC3VHTR7bbYlwBQdiBj8N8HIUFRFQLQgK1JSiKtft9DDuOCj0qcTJxEeJTxN/hpoT
FL74qVq88ewyDqCpzeAOMc6N6X8Zdk2Q1ZAQUEW3Cq2vOUk47SM0p81DowtmJJQqKtiEKqiMKYIG
fAFXgshnLPIZi6XyG6YNdr0RMiyjLPUWYb5lhYVts7RYWIqDq3w/clya+9I+dmxcKzVFUjuv1Dmu
uMEevAMqIZQgTNJkl0gBSVWmdgO+UVGxujufPBCVoiOuDB4zNFCFGknRSMsB6IyqYSqOqAmWMdBU
GVfst5SrKyzl5sQuCnePq2PxkAS/UCoYglgt3ARhtE3dox4X5BeEN9QPVBj7i9W40FetUe8Qtqrb
hCfVRuEZ1ZJSyMvgxjDwQOqYYSsujbMIfyjecuRsMrRo9zgbh4dZuzozghQeKlOUIBMCSleWr/Rl
ZcpIZiiXsQmK5mVpygg2WLlXeUx5jb3PvmAnlB+ZJZ8VKMOUJcoa5XEmU6DFXHyOgyLY3lOkUEtM
SuCygbo20wibRD2J91p3gwC6CW/9VC08dQ6XTRhuSZ6QTkAHc8BT+JAxfpO0Sd1s3WwXVarYVYcS
zA8u0Ra7lcWuJb5V4lp1rXWV/Sb3Wu8a35rAmuCqsFVxgxLCPnfYGw76woqnm00LdVMEf/6TOiW6
U4/ogs713khJhpFRnzE/Y0XGtgw5knEqg2U487cRyr0eJaZ8vLkpfdnzqTWHemVqvdzMBN9CFTwg
IPQG6KxxqKe9epa1KVUELszzZpHagaVPzFrbhMs8NyWWJZ5OHEwsoz0+3737048OHDjG3j62ef6e
oj44Zt2buD8xD6rV7B8TyWTy3Bl4k5ipUZ3BLuB4WGzkytJB78GgcLFEZ0nvSsztyrXZ7STNydUq
B1ExPS75QcHQ67lmaPizMkra5idlOB0d1av0jurJCGdKlzcp2FROoJpwfbHBlAVQE/m5Hcp4LBaC
8bZdF7+b/onaxyzbNW3TyLmvPPvQk4sGXj6kfJt0yB/96MnVzXNcvtb3xOcS9d2n9R8126ZjPlyP
gR6AW6NRcsa4scIx1DFRmWuZa+U+om2x/fajmi6rsh5Q/XpPe7W9Gq5cp+by2r0Or7OnvafjYsdC
+1LnW7plibYktChjjbYmtCpD1vxeDb7dsfaF9pX2u+y/sUv2iM3qtdmsDqvPFvDnepxeWu/d5mVe
L4lEObqAOB9RwUafMvKJzQkj+ttp+dvkRrlFPgLr/ur5MRqJlcRYLOrriLXsHh10B34Cqms7/5jM
8We1jp9xOAeo62BtNPVvGMbBC0tNfOKIE/BEhe4sFnPhiNOOVRxr5n39zornnq2/fm5T4oF3F4y7
fGbln96ZW1kzJGfvCelQzas3PvJeeu9Vj8G+VvVYbbR1izAyZ9KAYZfCOAzOOQx2jr9j73SlR4yL
DrqaM/YXvNhVxCHFh0OKL1g0Q5pRcK28xHZtwfvWd2PWWn28fXx2bWy2daZ7VnROwayuizNWZWyM
Wt0xLrEzs+I8NGaEwvHR2aNjz2Y/GxMbshtiN2TfEPtL9l9icpHexZaTnROrsMVjw/XhtkHZA2Nz
bTNiS23XZa+1rcveru+w7cz2QKWzydlyLKSHbP5sJTum2+DPmBA0QpH4vCCdF9wKP98hNgOemBbD
Gq7ISqNp3bwCGUI5fx8ajsS56XkUrtlsoNtwB6EFV/b+KhrhCif8f926aMFvk7AWG55APDBcyc8L
d8/K3+ZsdDLncPqtK3WqCHX7Y9tBafjYSbuJ0bvWPL3CCIqwaAE/MjUUna4rOp4KFxQdh7RLsS5T
6coGPtIy+gEfR9rCT/d4KrKBHgTIfWWPm6eOGA53hS3irtBNcPC8Lwy7FXm2Cj3IwTwLm6zRfLS7
qHx99D628uxy4HGobWB2dWy7/mi2blr8za34s506H0dh03wGpgObI7fOKrLPG/CLJmXx890wGglv
XX3b7RddEj/41/rVy799FNd3A0riqOf6628YWty1N218Y+HNSfJM4qvEu/Sj9NvXLB0dH5rm7t53
wtLfzn9+5t9ftTVcUZ5dEc8tnnnV0+uXfXglhf6Ae3w4Jx3EHlZwTooVayViiTRKmw/bygZNkanE
cuEwUYiqwRQjLufylnYzdFmBNQZXrKGBI+kS7KNwj3oF28BEFlJbH0/xVzjidjOsCrfGgv/gAUvM
8TaexE9xtA6Co5yf4ujHiRHiLYmR4nNnzpzth1EpsBatx6isNGm4i4QiOWIps4hEphYj3CcOPXlF
E0KhQ7gnVA4pf8LQuDUphAcsIqkU4SloU8eMWniAxQgeCtRC2RomPq2Q5GrKl/oJ6w/aj/oPVukl
6RX9JesH5G1ooe9avyKfadpj4m+kx/RHrIfFJumwvs/6sqh1F7OlYj1ivU+8U7pPv9uqppSCvSq1
2zC4liZ7lA8O9llEoERG+ZC3NKX0yy2Gj2ub03nKIuPqsAKVEmdQEzMdNEqT6aTtfc4iSpHmZEmT
DIWyOVlqXCYQa4TgPkuEEi8WUceBsdSie3EVRpMVHHI1r6pqosVqbVM98RLBioOtaBXgEcMNCllV
FIkfs8A5TSUUrBPrWwwds5mWGHpEftrytFHMdX4krRFuemM0ZGu3roVDI1rrwsHW1nCotS7YbmBL
aZT8yX/N0YNr4vKD6QrjJ68R3TtomvymSwe909SYTEWzIbWTzENMQx03p+Hg4kFIKZ2ReIgWf0St
4Bv0L7RLYkviRRg3PoLC4RK+PYc7GNA6h5xtBmEOTX6BO/P94KsppQ3GbCWspksZ/vCwtCHpQ3P/
5PzYpfUMVYcm5s0MzcpblXdH6M7wdrjWXwq/nGaVZZvPL4f8+XKhrza0mK1i2+V98ouy9Zn4+06W
kVPaw9XVlmMUdY/nGNkFeIQy4vNyzuWwnGrThV5id8QvyqDcv96Y8WOGmJHRlZYRA7lcD2FkfNRI
d1VFjTQnHrh2FG1m1+4TFatN78ppB2VmiGIzRI2uqGEYXktmjzy1UCuw1WZZt1oZNP4klH7DDv97
uCZO4/XYObeWAE1lhdEpAfpxgNYEpgTmBYRAqGxO/zatZwG4Y8PJOn5Qhh2Jp47zOwk4LhRB4YUa
bPJM06BRlCLrPcUZtKH2ZLvim5NsOZCWER+XMz2H1RXV1qEFxKNgh7GAb+oGWP0aKO65wDvg98EH
EIhy7ibDls0dBFCscOOYu58o10BMW7bplKczkkV/fOOp5uFCWm7iK4tTEYY8XPfw0xPuu+P3l4ya
N3wcvbznVzm9Jg26ZHCZ08I+6X7vXbVrDySab77pkvReIbW6es+aybcMT8+NpI8e3DfxR3dpML+y
74TSvF45M4Dy1aCGu0zNK53cfxAX184YPSwVvdIuTmPuCfIEfYJ/QrA2/QdFLhf72vp6ytMGi8Nt
wz2D0+5S7tF0qx3kT8JYhD2S4uVr4bFYHEQPRNXw/Eya6SxkQh5MfIWGlc4n3K4eyqhK4Ru+qJOt
lZ+PhEbGtcxKrmdWcV2sAcY7mBQsM+WZ+kz/zOCcdKkO+nQRP6sDdbhxzQ3++T4PpMB57RM3e27c
81wi0Xrw0t2GOz50ad2vV86asQpn+FN3JU4kfoSv+INLa7ewLo/UzN/62P4H7+ccfjzmXoWdECJ/
MUZPctS6a/2zHXPcc/zXB5eGNrFN1hedLwbfc74b/FL+Uv3S86XvjOzp7entG+Ye5q8O1lrnWJU+
7l7+XkFhsbTYsVpa5Vgb2une4T/o3u/X7Jxig2lxHu5ze+P2MhvPCWXGzRDePtshfImhA2dul4UY
qEoM1CNlG0Cnh8C+RBRFAgrluTRKim08YovW4FQcTlOi3lB4UgqV5j0gGEOLTp8s4ubQuuOgWG4N
RZhSboHTlPkz5SHpJXGia/Ntij0SX9uvqJlz/fIrR830UW/R6de/THxN/Sef+4x9Uzp23O27nt5y
6bzi3z2H7ybgDaK5O7jGPg64m9pGNxuMbu5auVavdaeoZTNI44ymzc9ckcn6CHFrH188NEwYZB3m
GxS6R9M4neyRLJxqDLtFsTuwFHqg0G7Lg1O30HA4SPg2TjtRNZQxqdLcnHyGDd+nKMaUBqlTCey8
DZxWbHPkOfocd4pa5Drcay9vmyDOJwGcwTqSijg1cbb/7skHEmcTz+25kYZa3cWDrpu6ZuWs6au3
XFqLj34gq2joLuY8N3/XJVc/8vCBB7divv0x33zQipek098cJE7sk2pLBWxYto3OndIO/bB22NYc
VlUvHcIulqv1msydtv3y/vBL+svWd/Wj1jPKDzZbuiPdZ4BD+Ay7K+7wPeN7wydw10GTI7PKDGHC
8jWzWwwo+e5R9no7swfdXC/cH0qL0zK3aVDPiKQM69mFqbCoWyoMppuh4QA73QaU4roiI1PcbqC5
SbS4gxzdORaFRGmxL0VExZlTMudlbs0UMx1R1bA54kB4GzcsusDCfhJqoeENGgXeqqCR6cADLDjI
eTWXSLVVraba6MZEUMPNJ4RKZoh6PNzTXhWOJ96kyGxAUAD3Oy+HCbI52dik6f3MZP9oFcwp6Po4
56DcJGt47QawZOcvtfPXw5UQSNnzak23FU7hEK1lXHnCSbUIxn85FoHqyP33RIiaN3Q8Kf0xwH6i
wZ5fPpn4+qY51PvWSeqWWw3hxqkDJucLSyZcVllJ6Zjiex/cd/tHoIWixEuJp69fP4T+4rrlAwde
w/lGEBvgc5w8/KTZgC+BdhEjzoirVlwRlFTxmSDz+V3M6/a77B4HcdrhRHUyr6Y6LHSKJQnzOV8I
XaYuh58m/bjRhGQmbkfj0ydKZI9X18qqYOAYBftOgbPYNcXFXM1UNGx2Tx7zTiHb/C1+5uc0oVnj
/lBgyUE2J3U9pAgsld9NPlcHlTJ0nATBVLntHQDvdUNFKb862yaHPLCTcEEUULjA8fn43Rpciglu
qbhn4ZJr8gb2u6j8j39MnNgi5o1atXJszgvOitHDPzp3QBhq7v3EaLHe1CCK6Uhj2uKM1RnMbbXN
77HKtqKHGKE4TQoltIyVCQYdyAYKlzpqvbW5EwonFNUWX+k44zrjcfe1lfn7FpR1xTHKP7xgUNdT
1taAfitktsVqs3Sx2vLt/oCvm80KRT+Yw3fAPnMHmBvA7jKJpMliTYUFXVIbIJabCnvEUxtB86WZ
gn8KriNeuyfLkc8Du96NI9ziU4IhuUuhJS8c5ExHC4XC4dt60B5gQc2GTspyou5QyXnuw/3TnP84
TzpbTUWdC6vW022Wn3b5D3puwsY2KRiLY5IvNc3r/JTMAaf8dhHXYPItxxzvnNxZhTOL5hSDb5G6
gOTnUs2U++Xg0W0EHCiPwjjAYhEoCh0vEiyl/dWMgglX98r12Ja1vHv9NEqf+f0KqvSbf/i2xN8/
Offr+lm3rpk949fV+b19mVF/j9jl9z2+77Z3qIWGn7j73MVPHZpbefBWO/v1o/c/+MAj2+4HAd6B
U08t+Lqf7DGKHDQLH0BiIZ0D6ADXn+mPVFMkv5TDJrlmuyRKmcfrcnsEL6MOjtQMAQ4N3evT/YRY
9DxVMyI58Sc1mtSoBjRD6/dn58Q3BLcF2fzgqSD7Nogb9t48P2d9hgN1t/noKR/1hQJVKbYPYxr3
XUAjQ+z7tlTqNAAb7UngNGCqV6p5ZoI04AoCvKog5bh5kUfmUfrYmqenbqnJSJyIjL6o+uqyBGwL
rZ9tHTJ/zW2tt7MeOyaXD1q7qvUbTBoM07wZjCj/SmDxQaJhZFUuvcrQRmlshdaoteAa0realKXV
a8u1bciQBFnBJwQCpJhBjpBjaFkHnUiWcHNSZwpkJp+dFs2JiyG1bV7mrFJyzNyepnPMdClBni3g
V3Fw0c28cpw4ge8r91Mxce7sMDHv7AdYoZ9HOPYgN4kbhXx80iiJrZAa8ZXoEelbScqS6qXl0jZk
4KI+hqRDD6OcMM2R4JL0P43EZAwLTC0LV52lQz9V413L4PHYjJ2eT/seJIVoXYd3gbNafbLfGhfi
ajwYjw1ig9XBwUExK6yzhWO1+sIVhVsLH5Z3KNut++R91sbCI4XHCu2ksLhwFAqeKfy4UC40wunx
KqRXmIWSEhWVcAZnhXt0hWv9Rqao4MOF/LT09Lx82DJlhzPP7TIml9e76Dwgp5lVG45wWl5GOvLm
pdN6+IuRtzc3Ly+faxF7CMnHbJscWhUPjZ4Ydz6q5hv9AZWAnPx4vtHnonhx/hv5H+cLjvys/BX5
AsmP5JfkJ/PF/FDBpykibDPpQhql9n8l7k8Ugc1+D0cVgnZyNA95YAvY8OaNMuBzARwCIMoi3HAH
XfoDpuaPC6GcPPM53zXJ82dKXUaF9S0zN5ZUP3TZwocKQK8Z+aP7zu6eOJFZ1bP/7G6JE2Le7Y+O
Gz9+3JTLBm1urWVTHuheOWT9xgRj1fdN7lq98p7Wc1gzeKnEWqyZn2w1goon4Jmszoa7UKRYLecg
dZDjS6ckm9vVpeBQbrVYoH4xmucn5nYlFHf9yL/brrolzwpjYuEe2Bw5Xs1da6WnwLkv3LWcU/7z
xjWth9yebGpuuOL98+ThtE5tXrE2cSJndMXQa4tA/NL6t+rurclimY/P6D1q5Z5Elpi3Ze/A2St/
yffqGOhk92KmNmjwm4whX9AT6g+eH3ziS+wLGI1DUkhjtc4Jngn+2uAmtlnerG6yNmvvsD9JH2rv
WGF4l7+wOXeor7E/yM+rL1qlhepaeaUqgLZAhZYAR5FXVLwVSrg+bT7uP9mjMJh0ULlTBxfTPG4e
WjhH1+Y4Z0IPnRMUaR3YOb5NibsxLVyx5Pd/83I7XPwas651y99oPPHKN3ckflhHIxuvvvruu6++
eiPLvpnK6xIvffu3xPMrkzsf2Llz25adO7nesZoQoRfm6yQ7jYJNEtXsdKw0U1ooCcXuSfbZ9vlu
Udcc1iwru82atLIqaw0uQDezxUahomCNBSbrBfhsRSuBGUvUwsvdW91sinu5+0n3EbfodpI8btYo
NCyMrYDpEXYNV9VBmp5SLqBbnF/S7+tCI1LqBZgwtkcFvpLlV1oayPDGAO4ElZv3XEp7AwFYYqwr
MJBSNGQX3cZXdeCVg+prJ158Ud8xxWLepisHlX/Xvf+uxN8wxxKsqRNz7MKeM1pklxxT8wOuQGyz
e7N3U/7dXTTFW+1l7sO2g/aXop/Fzti+z5YLbeNtM2x3Wza5d2QftCr9Y0bOoLxZ2dPzVrtXe1dl
/zpH65U3WK62DLPVOKqjA2CTzcnP62Utj3ILZHmOIuuSS4sGbfnW7OzsmJKTbXS9xrrEu9S3qHBh
lzW+lV3u9d3dZW/23phtBb0tcHPwni6PdmnsKgeifiMai/uN9Kx4lp9+DFWuTI2Oyr0tl+UawYx4
bpgbKYwAOM+orrSkKy3uSrtmRkuc1FlGo6YmA+5khqiS4s3cRxYqWtLMDz3nwHFMi0Sb+DPvIHH3
0kmSUjiMcplSmfppXnbPaHV0HK0NTKdzAt/D5xhgYjiazQo8NisrCE+B5bi6wDIqTMPVHgW6IP5x
taQd6hrSDpLs5GtN0KRwr88MubW3KTOHp481ZeXg0iRC2MZ52khD5Eob7Zldnb3Zdlf2C9lvZ8vR
bKtNFHErLaWrkTKutTUFulUhNBV7M52dG+ehkQH+T8xL1qOoWI/ra6co7H1O0+4tmjU9ftSk1BgB
v/IU8RSu+WIKfgNqoL8sYKDfgIHTQsAo7xUPcItTwMgtxAP9OgJZpnFHDIwPG1A4HGE6KpwMs7bJ
m6Zv4JYfj7lezG8PmYocP2vADt5mZeNX3MC+G/BTl7oTkpN8xdBwmcBRgEe0OfnNfluF1Wut4NE9
Vm79/mq3pcK0zuGCQe3524r8uwrYeUB0qZuhF5ix+fcB0PPySmjYffUVV/XK9fqGJh6/dNkHn33w
dkHiB9eUSfNKIul59NnaSae/fb+VFheNGV+QXhzxeV3D+024Z91Tt67v0W9Alj+W6UufOWz4qjv+
2IhdlJX8gt0u3Q+++LpRGCFQyfVCRx/7MHutQwn5SFDw+0jA7YGd3M28NChoiq5YoQhTw0EC2wKN
AaEeQQvsYzh67IFRAMywifj4F5M4s1stuLRQTEgxnQIuwQ8nBUEhL+Ae76vybvU+6RXqvSu8G7xH
vKe8EvE6vfxCvAhzxZJt7Za24Y29wCf6mncHvckWbgrnJxdYwp2nzZMLTEH4AhCnxeMQp66ytpNL
HcUxxcuPcr0CHGncNeDCx3/luS52XYslPz1/WHDary65rsKi3XADDYt5xxLjbixKT/ugS9nowT3u
pm8ce+vhxFrg5xZwmbH4axV+ssUITHTNcm2UBE0OyZWs0jWcDXedYIqp0bpEi5/oPi8OZTiZ5fl8
MOsXwqxoSsrU8e2/kZSaykndFJEqPQUb8oUisqN8HHGSf/IIXaKjhKxLmTFwoxgagzltuM4QFUb2
eXrOlbsuoaGsMVVDFnShoa3jp12+ayPblggem9G3ZuFx2gJVEfO0QBeYjHlaaJrhkwrCxXGFP2T+
UPkDtvijTQhNJTUCz8G9IpVxnUPVrRZo4swthLWwnk26WV6y4OOP5CnDD/uDTiSLl4Qs+GM0ljjp
Y1lNtBRL2qtTm9Xsy6IF4ripqlEZn6hU8fsgFeat6QpcI7YQXYRJXoOVXUZcq+AWMSOYXhC32LLM
O3KiDVZ3p16l15gO7BLDIrIKC4x1NaKAqyAlUFJWGA5rOaEROMsEGrK+ANrCHSd4tXDJqQ7KR13I
NL+baVNH4woaPqvCKczc2kUQWG0XgWBB9wS4+RW2dHogMY7mv9wnINudr9JoAthr/WTfYH+3biwz
hVMNOnFv4NRKPzJ6ALM6kZmuSFoa8bNM0SWFFa+WqbusVtM9E7NUCBXyEGGIvFnYLJtWQWNx14uB
Qgu+yBU1iy5a00hY9EteLaT7rNYYKRDzpW5agZ5v7YErxP20anIxu1gaogzVFpMl4mIJLmF9sXU1
WSOuluAY1ldb3yfvi+9I78Az8w48M1+Jx6XjuCN03Poj+RGXsM4o38OF8721W9sanffFaG2+GB8i
FhwMfva6yBpfNX4njrNEsEqu1Vacd7mMaHO5XGKUcpfLf+dGkVNuFFxAqoI1C6uq9tco/3BSZlcR
C8DANwz2vRE4UV44SMMpZYO7Udq8KCknCj7Gwuq1fzr8r70oGCVfWPBvwvn1Xothq4Bz6cweWwWo
/AyYtcWw8pxTYNbI4QFSx/ZghRC0s24uGMwLupwqPPwfjQoCrU00UtdLB6hj92vUl3gs8fcDe0EZ
Q1gzh7MfsMdax2O/WbHf6s39ttlYX6C8LLLNykH6IX1HOWXDBdqwGJTxDSLprQ7BRyG/ogsVPY8W
KT1pH6WaDlM2W87IZxQtV8xTuuhxsY8+UBypPy+ql+jjxFp9uniVvoRer98lblQO6e+IH+rndJsg
Kjhz+/HxWxe9TKzSq0XNh28r++gj9Sv1HeIB8RX9e1HDXYlTTe4g3+VHm3zYmFyI+6yuOBXx3Tt3
gCFQiYbrVyjZX9gtnjSvtR0zHP6cuJDHcBeGaZJssbQVn8J1Vt5HAMWWPCLhDrsEZxs0TNzrshAY
XK7aI5dpCAyLOqMGX40fw71XgWezMhjArjLc3NoFTZZ7rEUy4+f922BeUgzhAkrbdUXzM3GTMfKv
mooa2n1jqRgIE7ZD/khR9z49AkLmE9yDEMIYNMFFcl1DwwLQRsOCMmquK57w/dHlidvpxKdepMMS
m+naxI6jH7AYExIf0pyE1vomHZo4wLmoHfauMVhVD43vdRdI1MOnHrTCXuqH0VThD5k/JD/yGOdl
WeCkOCaLNotddjLikUUPbtcJMOrLnnoogM30SbBBh63YXkAivhJfvU/ghg80bcrOi5v2EHd6ZtzH
fcsVghEMxfkNt2aab2jMTME/yVNuWkGM9J7xNr+/l3NBkwmOaA2BFXJumLrmD7wtGOE8DdvVybri
1F4CJ0x9zchtUxUKvFQcU6mrkXXDG50Q0H0goPeITnIoidVKntot4O+E8Xv9pvVW4s5+m6vK4/SE
8HAHq+BKPtWEBA/3IN12zTK1iRS7AHNWPmR3z152WFXP0Fhi7cDcgROXjxo9MjSgfNrlIWwoO/v7
OXawbtpF2a4PbdfUcuyDtLy/XPr3wJIpjsrv1JCKDEIe+rQSf9mOkNdG9d3/00/nWvHpew7q4lN8
s4XZTumXGEkGOslPP/10Hbev8vo//9hq5bYsVoHDJIddpFl4jcwXryFuQLWSQWqll8hkeoJchrIr
AQOFDPzNvcfJeNRfiPQ1CO9kFclW1J8AeAhQBhgByANcCpjYBmMR9kebVwC70McU3o8ZfkrmKq+T
i/AuAtgImAq4S5pA7hY/JZvkCjKN5+NdN6OPGOL3IP9+eRe5HfHNKK/ldc2Qt59AhqG8K8rulCYk
k8otREEeQbwV+X68/w4+ZoR5eP814jXJk4h3Qd9DUb4a4XiE49rGGzTjn/I25lz5HNfyOPCzDGW3
A8YA1gMuBX54+xL0l4X0LYhbMC4NoRVgFwnJRp1KdhFpRNgN7x+IcfJ5c5jK54EwNSeMH22G/hsY
j/z+HQFj4vP6EvA64Aje3z42Pr6OcIs5Nj6+1BgHCWXm+vE52wB92etkAPCSQPl66bPkDxxAeUcx
r8MACX+frIdKkrswtyppL9mMdCmg0oRrCBW3kHnCaazBXnKdvJE8iHzCegC+J7nsGxKWc0kv4G8S
+p8ImIE+nzfpYTrHe/Ib1M8SP4NecA2pB8zFu19pxxNfZ6SHYF0noe45viOA15WAOcDBZsACtO+B
9xejrR3r/gOdkHgUdY/hPcM54J18fbJQPoivJWAh2jegL2q+J7UOoBmsBwDlc4HT3wKeATzLx9AO
qH9nO5h97cIdjF3Jf+A9HkAY8DrgdkAeoB5QARDwfh31dfQ/DOMoQdqPMWRz2pBeMml1LB97ag7m
Xlhv4uhxchXaXwoIAQrkx8llbVCAugTjmoa+xqHvm9v7xvimomx8e8jLxStNun8ZeQRlQzuEd+H7
udF8DHzuKOvfHqLd/eh3KQ/xd+r4/rxXeMec/2bEzf3IQ44bhGPQ50bQ+eq2cFT7eFDWFWPna9AV
7TNRfifit7SHiJu4OB++Qe5FnxPk20GnX5OR4gdkJP4y2khpKcI7SIl0EHmYj4i/MCcUkRoVX9xj
LWuAz3s6hZuRt1l5h87Fu24TH8Nef4fcb+L1HZYtvkMl6bHklxKhr0iPsWVm/J9ClPM654G2pOry
kEPHMt7H/ya/Y9v/aZy9Kz1GZuK9X0nvJJOYzx18Tyhf0xJApD1E/h7ACkAXtYhuVq+kzcp44pQJ
OQ2YJxqkj2SQXmILqRJ9+ItwhOQif7x8scl3N6D/l+jX5Bas1yrFR2LClyTI38XehXwA8P4RjgBe
2+npApprp6HOYTu9dg7Rz0as/x0IJYQh7LtDgMOAD9rgLwg/AT0OAVwMOo0h/RDq34P4WgDnb6DX
5EnkpejzFbIFebe202d7yN8FOu3SiT4V5F9Al53TXLagD82ULeA1GAenYXP+nD9yHofyKrxzIuj9
lfb6ncMO7e8G73gPY7eJr5PJbfu6EGEJoBh9PAXgfOQwdNXT2KNfyG8lDytVycPCq8nD8j3J7cqV
yZflvcktmHchHwtgI/azycswDj9PY5w3I7wH8yXtclTKIzM5PpB/r7lGeD/qd+VjM+stxf6bS6ah
3z8gL8n3obAF+w74RH83ijvJL8RPyAaM3SE8mcoXx5KRKLtTXERu5fng6bzcImwwy8eI/yCLxELE
dyK8j+BPnpBF8nO8TfJ1M+/TVBnPkyaTTaC7YnEteVjaTSZhTMP4PFh58lX0GcOeD6sryP0KAQ1/
Qu4Vf8KcWzBHjoMWch+ft9m2KfkTn5/SlwQkAfPjdQC8DWxGkTZ8bDRxwcu4DOD8E7jgfcpvm/oG
kY6i/lZyvaqTe9V88KfvSFgBLzHftZtMVA0T7yLGNlT8G/bH16Cx8WSN5E3+iLz+0uPJpPAT9tDX
2F8c8Ke8JB8JSV+T+7CX1uB9Y9rC9ag/Xvia+BDaMT8up61os1Z8hCyQHyM3yy2gu3cgC94BT/4a
c7mS9Eb8dvGx5FnUHYy+CH838kcjXcLXhBnJI8DzQ0oLCSoG3o86fAwod/P3Cp9hvHeSNeAl/dWv
yW9krmUTfjkUf92SEEhzDmZ6OeLwleFvZZpg5nGVE3VxzriTXM/zcef3ZYyC4W9bUr4XxEchI+4j
/YUdsIfMhP7wFbmRFZPVwkjQ3UnIDIFcz9NiV1IgnCTDhTPQd6CfSTrpZdbzQ45/QUaJtWjfQqaL
e8h0IYl4EHA36BHtpGYyWboCetbl6KcNGP7CpqiRUfJ6spoVJx/n9cx3nEn6BYC4lJSa7XjbNjDH
ysfbPuaHOowZ30MKN4DG+Hj5t5EdxsvHKrSPs22M/2p85jw5LjBPPg/xT6Q/8PQhIDcV4i9f3UIe
A2xjH0APbyHL6MYkXLakuhMM6ZgWl9E1gFEAUVxGHkDYDeFXgHcAWwBPAf4qlpOb0Df+zjFp4ucC
Dux34F0IUf4I4GnAn9vLOob8fR3T/youfp481DFfKsXfLwWwruDpgI5lPC4+QOLiEuhEJclDHIRF
8N8AZPhRFZUUsk+QPwHtOqWlArJJnIe6Y4jQuc//TRpzAq2fx63RcY7t64EQjv7/CHwNeT0eRniI
/dWNy+f/zXj+b9TF+i4HzOJ9SdtId5OGvoBOriSfp0+Ry+mx5E/g5zKHVJqETXw+QFzt64T8NRR/
5LPz+rHfkZ4c553zka7k0N6+87r+pzT6ndMR2umgPVRKicFB/DPoAdA5DXlgcJA5jQE6p9vp69+G
40gceKoWx4FOOc11SstOUsyBzUf5ZpR/TvI5nE+PI4VoY9Irbw/cxjgA14c4sE9IlIMwBmUA1O3H
oR1fmPskjlehhbc125vr007nndcHbYn4AvjRcZKNeLhz2E5HID+Tb7Snedg5D2mTl/yrOu11ERqA
kn/VvmO7/z/EsXdeBbwEePH/y/lweqcEtApwEuh0b0HfwF+2lX+Dc9Zr5BZCWtcQcvZZQs5NISQB
GXzuCeSNRzwP4d8AuKF3bg5CSKOzxxCfj7K3Aa8DtolpZEmbXhlCenCqbev2tv5yU+15u5+g7Zzt
mWp/djXi9yH+XwBQ2dnnEd6F8DvUb0Q/MFa1Qgc4dyPCONKjAKCxc28i3Q8AuX+uD+BLAMZ5DmrM
OTjRzj4AWMT1Ea6ngTd2PIf+3013OstyvQ7vO3+2/U9pjBE2ANxu4jonxsv1Q+gjY/7XYft6/ocQ
+Ljg7NG+/v8pbD9L/FPYhl/ofK9yaB935/f8uzTW88c2OI3wW3FtshU6pWLq0dBlTZ2b649c9+a6
LNe3uR7L7UEpm6IZAs98Xa1cd+b6K0J+JrtDegP4vIZcgnFN4HjlssTkgx14K+sKW1FX2PBSALlE
BqLOHzGeU+BDDsjX76BbbuCANP+5PAXJ1yC7HOC5z9Cnkt8hfB3pDHoMLro2mcblXkc4z2M76Sr/
QsZdoMv8n5b/J5n4f1oO/lLTBhfI1g75MxHn0Lm8GHkcsjm0y+D/t2FnWf2f0p1ld+f0eRn+b2R0
RzndWW7/b9Ptcr491PqRUg6KAR0E0FkvhSy+QA/4T+nO7f9P01zn4NCud3RI70be7g5pUy/pnMZ4
L9BL2tOdw3a95Xx+Jz0edJPSZ8LQTdqh077Duy/Yh/8pjX06QJyXfL99v7aPob1d5/z2tLycDAIM
bg/pTlIAPlIIuBl8BHIwGUMcMjB5HcJa9RwpVZ8gpUjvA+xHHnhOEnKPy77kzXQvdOkfOMtJ3IS0
AvsNrzupDWo70/c/0W8nuhVwxjP1Q+DMnNMG6IywaQP6AtyA3YCrztMGzsp498sCJC8/6wrHk99B
b/2usw74n9LiMtjPcd5DPYc4DvApSZN3w0YLGwriqxHqCHXw9zmANhtfslVuMutchrJx3D4LPj8T
Z+J5+F9EHgdPnyYFcdRY0O5HgU+mzU4HWZoGvu9QvoW95KXkE2jP7XMTlCD0nn/A/tifZCJvPZfP
gOmoewW3jbG/8P/XxbQhB9vCbtw+hX7vlLGKqGdHu3Y7ch/Ea8We8PP0JBUo436qS2F/yRQfMvtY
z+3uwlnSKD5BJqC/Zn0XuUuDH0rFfLQJsCvhCzFxAblT70M2q9yGnA77CuQV3mfqKcB9oj3ewfbH
bfE5fP4Ix7XPGekLdAeU9cG4srk9puN729upA4GbMSnfEOpyO/uFulEnXQb99AJ0A5wGfN75fWgP
e2fy9VRIViDkusastvAW4LndJ5Gy0z9AusNOx3WzlE0WMluyQkYD0M7EMcpSY2obS/s7gZfW9njn
sF1HAR65jWoc4EYA96HFAd62PG7vugR0cAnWq4bbzKTVsJutI2NgK33hfB3oyKjnEP/LpNl1yL+D
A6cvwJVCP/h6dmKPvk+8XH8T3zZ9eDfBRssBvrzkdtS/HfYzbgsbA7vaGNPumCRjgKvPfwbsLfg0
UoCv8B8j60ww/X7JF/iYAPeJo0365D4a7udIE8/AtrPTpBk38MB9gg7xdgB8PtJ8nNew/iZcw31v
8Eu0hSbOYDvEfGtEPkdum3sMdAv8CA9Av4Lfsb2uWkXGKWtBr0+ScfKNeG81yZI3A06ToFwOHXsd
5j0YbW8ka9jfSCkHeits6CLiGAgHgcAWB80cvIdw3y/3CQNf3K+2EHAX5sN9W//g9cy6KV8u9+d2
4cB20SjKuZ+wPc79YIibea8i5GD2gXB7B0C95F8AZ9lJbjlE/wzj+mtqTIITNNsJ0HZaG8DnRjIw
/DniRODqQhiI9AWAfni6uDMgn+fldoa2/DDyLwDk8/SAzoB8ntd5HP+u3r8bx7/Lz0PfFwDex9P/
rv//6Tgu6JO/o63fGOIXAPJ5+t+NbzjKLgDU5+n/6TguwDHahdGe5+V0BuTzvH83jpEouwBQn6cv
GAf405MA/I95rZDriZchr5cg3I3wIoTzAL9FHOfe5My2NOqY9WYjrw243E9mtcEghPxsDnmM/4mL
JLcARv8M/F1JH2+BOm3vSV6J+N+RfzEA7+JtE4cBeLcJbe9M/D/tnX14FdWdx8/M3Ny5iSS54SVE
AsyFmAQSA+EaGhVK7g3BqumuUYJNpNVoxeq+1DwliOsLUitdAYGrdt1an0qAQt2i5WbuShNeShRt
tX2E1NUV3arZB2vtlq4+4NOn2y25+/mdOzeEFLD78sf+MTf5zu/MOed7zplzfufMeZuZHZxLWtma
M/RDkD2XtBP/ELVW4tNxk46hPZyXgW/B6eN8nhfvd7Ej7UMTkV0Z/0M4yTWmhYd7Fmmqefoa+ISf
XnwKkvahJOdbkPSZhnqB5OVWQLwnGSemzwc1nIv7g9RRr11QLzFO/BLtYZ7cq0PMDojMoa3Vbe5t
anz2XsF9ZaVuD9kLIu0db0ZQgflqSpB5XsLIk36DtOF6PHlUrdPjyTf0uvrN0l/IuYD7yGuc/ytt
ajd6WEC7+QBrA8Sh12Voa7lHbiW+a63X1NUC3deQNSHZY8H9IO/TrPdfSpo+Zu5zsyq1D7Hmcj3t
aWYse559K+dfot8ha2SsYYWeVA/ZR3C31GXcrxZm7SUOfW9Zk07nXMjeEE+Gfqva7Z9y7Q+wv2WS
KpP47LlqCXlWn42bfNB9LdrYQuyl3EV3NmTwh2rmUz6bI2kmvcgiZKlcB/Gt13nyMmNy1rvk/km+
FTFGzw9OpF79Qc2wc+lf7FYP5prqcfsGPXafF9is6objPKpqZP0p+CrrZV9TE3Rey9rTW+TrX1OG
nuT+8FB2PoC1tG8FXiIs1tT0upY3H0CYel5gOAzZx8OaF7oxCbfT+jXZfpS+Dpmr8eYIhuPwrkeu
S+6dI65f50NWh7L5zrrh52RtTNbxKNuC0TKbJlnHk7U0wrue/GsNLVDX23dxb32GtY4X2LOzkDnh
K9XC0CQVsbfz3Rz6Z/Yt6Kb082SuLqJqcp5Q1PH0QsrpZeRKIHXlMwCt0XXuDdyeztRHqV9iLz+x
O0l9lV/6L8A94LaMu7jxfU3t9+SHSMLXbviR30lpq6hrvCiRORoPJ5H/gT11d+h3Yh6Rz9Kf0/sz
RkmvX6++IdeP/3PLUf3P4fIaZU9Yf085l+h8yoSb6U9m+5WnpKwrz9O6ovtw6Vepo0D6culD2Evd
XDtawpH9KdKXlXX/X3vybU/+VNZ2pa83WhLOaftXRp+P0KPT+u1Z++F6lq1vXIf0DwnnTFL2q+n+
9SdJ0j28T4Z80/tlRkrCP22O8Kznsl7Purtet0f+8f4DXR/GkB6pF0i9p2/k+Ck7jsrKR+invcP1
Sz+2AFxBvm+gzfnzc4H06b1uwRPp48ETtPnDkjbyBOua7Ok5E4JT8T+VPS3fTx+30fCsJH82ngvB
TfA2cX9x0sdD3L1OSTWecxkHJDJI70ZfXgDvgGMgBfotI32cVzuqwMPp4/TVR0juHQ/r8cnIfXXD
5uC3iffbxLeEeGnF7ZdJN62A3tMgex3OAvrsyuY2HLpJX+MJuReeE4eIh95C6OvE83U4vyce2jbk
CUG2LLJ5ms0rru2Xurxkj4HAS082rizvbPKTypEwZQx1Vpy9XNInKKP/s+s+U/qzaWeu4WfgbTmn
Tv0cyLgEKXv3yLvT0y969lDwfXQW2J/LAO5j+D3u4QT5+gvwL+CQh+eRsmfpA/COhQ4IiMcD8YzW
BdkTI/DspS4Kgu+nj9hXpt+WeiB7fwSEU5Uts5HSXpb+GTr4tv0Y8hAc2beT6XvJ+rPM3cge2xul
LUROy32F+5fsk/2xinCdNaEkus26XuA5dUvmvnGq34feSBss+2BlT9FY5n1arSH1ueBOxrZjlJPz
z+n3BcT3gAfZ8yuQPZCMA9MvgoNAxoBi/w8jYc1SUwXYXUrcxJKmJun+dhnmr2Qgn6IS+1PpIi26
rxOgJ8xYV3FtN1L+haRzSeBx0vY4Y3BDPST9H67h0UAh+3LYl0SfskDvufHG/fivo194jYdp5Etr
4BH6jUfVYo1fodeyrwboPTlSTkfV1cEL2FszqPfXZPb8Mq633gXH4R6jzyn7b7y9NQHCkH6i9Ius
o+QjbYu1lfHuVuQ25JIMAnzvy7qHMfpX6KO+gzkJpjI+n45cCe7EXIG8CywFTwOxv5s9LOMJKwez
gLF0YHdGilnG1QLzcAZWhDiwN3+CvwdUnXkc98tBHrjCg/jZx55VcWvU/qLmr4jjs+y3KIUr5oW4
vQVCmfG7nlfAv3bL+oGb9ZPzG3VZ3jfpU40Da9N7cuLMcf6K+YlWno1Q6XxASQ7RwsmjCLofRW1N
XwWe5Pwj01ujGF6D6PfWyT2Z8xL7TB5R0WCxuj/nfNXMWCAeLOS+3MZeqU16/zWts4yJhtDzoVtl
PzF6/4D1emZ9XubGs3PmwQE1K5f+Oe68k4223JPmTuoyZoOQpE6gW8qQ3hv28tP7p6lr0ucQPbM7
1AZ7C33JLWop9U3v+4Ync11F4ELMlxD29JyZqpGQuPukkUPPIKU+LKZtGJ57hX+b7GkT3cJN+oLi
/2n2HN2LrJc9CdanFS2G5l6OvAKsApKHVxLukyPWq3Yzz7yb89P2bIxw13t1/rfnn7R+RZmetj6V
LdvR8+foyDn3Zox2/8Q1nlF7iYbn1c+y10jPzY/YuzH6nPjPuGaSXZ8Y7c56xelrNN6ep7Ne/9H0
c+hLq7Sj9hQxp18HLzJP+ZwAXU7j9ha6NA1/XzM/os7+nP7Efyon04bTHh5F754Cv9P697eZ8Oif
l+s9hvKcQ6fcI7CXZwnW06e9Bf2stfYw70o/EowRXUXKsxOtGozTaGMz87QL1NW6raVNJS0yV7tB
xmm6DZK2hacHpZ2Rdsj4iG+NfEQbQjuj5yW7OKdN0sBs3kFt2Mh5C+60SdJOgah1A5wbsPs9ZsLS
baa0bVIPaa+sGLie83/zQDtlvocZWD/UaYiaH8hazdAjGcg9Z2iz3Jt020lYOo3/TjyYZeyi6+21
et/6jfiTOYJz9nu5X0r/MtvHlH7maeeUwfD9/kxm/L88EqP9DK/pvMteeNm3/2P2+dKX1/dEmcPw
9kYHL9LrDrrdoSyZH/D6+Zn5dplzrtPltVYV0abI/IE3HvAk6zlSttkxPfn0I/DaCElpDAF9n5Z8
/KVuKw31BQmb8i8ifNG7oO7XyHhPxg7fy6xFYC/7vfXYDnNmrLGc/ZmtjKPuYS6Bff6EvRjsI+wh
D99BfkfSncP+bvjfFIndIP5qkZK+10E/GABHTsfJH3njuKXZcRHxcEceeiJYSn69qYKhpezzfoeH
NkUnJqslMi8uQPcfF2DfOwLybIe048zJ6N9fcTwDTNrzP8ILaBnXOIwfkvNjAG21IAe3HK7BpjaE
DvGd0w+UOu86pcZsVCof9wLOw7POjaKnlBoXVmo8/gUTKKIJ5KGg+M5TKOG+I5j0mFKTv6HUFPJ0
KtchcEjD9FpA+WdRTjh/CiqLlZoxVqmZXEvVAqUuJA01YHYFXU7BS6cwp45lhg+UuuhVpeqeP4W5
O5S6+JhSl5I3l36s1PzLlVpws1Ix8jTe68PPA18HfB3wdcDXAV8HfB3wdcDXAV8HfB3wdcDXAV8H
fB3wdcDXAV8HfB3wdcDXAV8HfB3wdcDXAV8HfB3wdcDXAV8HfB3wdcDXAV8HfB3wdcDXAV8HfB3w
dcDXAV8HfB3wdcDXAV8HfB3wdcDXAV8H/h/pAE+95rer42q+2sSL1U2eHp4tb8+x55vPqxxl9rSu
jufzcPQugCPHCOgGlopZT6fs/GisFzl2vJZucXW0j7c/PO1eepG2r/lGdPU+Xrp2g7oI653uErHe
mYo1ifedqYvmZeTsOVq6oYyzPT7qxCdBmw1MvoqRMV2F3AQ2gwMgSIJ2qndBGljWU9ZW9zKHgLcT
UGF8vLVdGaRyuzoM0sAi9du5lu3qQ88mQKq2pXLHSPTbNKuUx8gNotxG4NvUarALHAY5PMK3jci3
EdY2wtrMQ+e7gGlttba4YSccz+OR+PuAaX2LV+bK51T7rW+mwjpvHk8VjovG4mHr71QLMHln4p+p
fmAS7MPQHlYm3pvdmjk6C5tTeQXRMP7Xk+j1JGQ9UXZzNPR5DJP4X58aVyyJ/5pbWKR5d7u1dRlD
KlwSbSEX7lSGtcz6sipTjrUKORX5ReQU5E3WzXwGW9IZSxWGo6uJrwHvDXyjaCbOcZ6HjiKbrEmq
VHtb4RZk4lnhzqiKcsULrRLtpdDKV3V4DVm2G3Uie3l6VDL/wVTueZK+B93whOh+a41lq/H4Wo2v
iU7hfp5jnQ3kSlpTufnRRHyM1cpltpItDmk0yGU5xqwvuwQUL7IW8RhhMW5/yWOYE5CX8Vi/yO9a
W3g1u2N9O1Ux2enfaz2qWY9IoES/IKNaC1L5BdH+eC6vNDQogI0UwEYdeSJVcXFUxSusGTyjO4PI
I9Z9mO7DFLbWYVpHqa2jpNZRUutI1Dq0T1lrcVmLn9m8R6CT9wckwGbMolYTXDJUKsME94IZ0T7r
fKuEjAnvJSsNbCelcgskZSXu2HHaW0lqTEG0Yb+1nCeAlxNmzOpKTSyJ3r7XqtKXcmGqpFQInS7q
ut+amCkaQiqWItlvTSYjJGOmWFPdCU4y7nAuiuwow/yJOSCZZP6T+boUt3mYc5E/9eQrnjyUkel+
cyBTKcxXRQ7GJ5u/ILAbzLfVZkymudc8yIceHPMts1dK33zT7FMNyCOc8wkysw95EXKPO+0lp9fs
TSFI+xNufrFcrHnQrZ7tGZxyzzCx1DOMLY7Gy83nzefUZIJ4A3kB8jmzX01HHkCWIPvNLr6L4pjP
mnPVPOQ/evIFc5+ouPkDc7e6GJlyCyQJSdcWscsNivi+qzJnLbOdfeb3zZ1qEl6fcSsm4fhUquIC
p3Av4Rnmdj7qPsUZG88ztxhtxsd46lZHRKqx5la3XgJJuPsiTp+ZMBOxkvpYeawmtsOqLa+tqd1h
RcojNZH6yI5IPGxupAHZbFJ/zfUc61XERHtADCTMtW6gPhk/yTXJdZlqNcduberg2KlNimNYm8T1
I21qMNfw1P8aGAlzFbgPrAZf5TULCfMucDe4B9yrbbowrQAraU06YXTC6ITRqRmdMDphdMLo1AyJ
uRNGp2Z0wOiA0QGjQzM6YHTA6IDRoRmS3g4YHZrRAqMFRguMFs1ogdECowVGi2a0wGiB0aIZMRgx
GDEYMc2IwYjBiMGIaUYMRgxGTDNqYdTCqIVRqxm1MGph1MKo1YxaGLUwajUjAiMCIwIjohkRGBEY
ERgRzYjAiMCIaEYYRhhGGEZYM8IwwjDCMMKaEYYRhhHWjEEYgzAGYQxqxiCMQRiDMAY1YxDGIIxB
c2WPNRB/EcoAlAEoA5oyAGUAygCUAU0ZgDIAZcC7dMkIUZh+uP1w++H2a24/3H64/XD7Nbcfn/1w
+zU3CSMJIwkjqRlJGEkYSRhJzUjCSMJIakY3jG4Y3TC6NaMbRjeMbhjdmtENoxtGt2YkYCRgJGAk
NCMBIwEjASOhGQkYCRgJzfhvF435VaMtxL3WXG3M1PI+dUzLVeqIlveqHi3vUTu0vFvdr+Vdql7L
lapCS4payy7lhAzXqS+MF9MEXAVuALeDzWAXOABsbTqM6V2QNufGpgcK7avszfYu+4Cds8setM3C
4FXBzcFdwQPBnF3BwaAZiZea+bodpWlRm+AZfFpmrvoQcBPh2KBNDWYd8dbRzs7lr86sixX9JvJh
lXG4yjhQZeyqMjZVGfFc8zNGQLd0Eb7rRAYYbbExFQucI6C+onIBLdPG3ccmOm7Fp5xeY19GzIxV
c3oM9IAd4H5QD6KgBpQDB9RXVEFri033gtyHrATTQATUq2KeRldji0KxPjPf2JF6MV/lSjyVM+Dt
dStrEb1u5VWIH7iVNzl8v3m3qpRekfEslWoncpfrvIfzMxnxtOvs5ewp16lDfMGtnIVY6la+4sTz
jSW8w02orZ5cTIHL+TWucy3ernadmYhqt7JCfFcRUTmuM4029R4Ss2ZfkImpzHXm4Xu661wivkOq
UgqeT47X6OTlYJZzK0WCPuwz2gJG7DznN86jzjHS+2syFvV4M9IbQBwu7zWujeU5+2qexHPcceN5
4p/7Q48nkyKfdXaUr3WeICyjfLfzuDPL2VjTG8J6A+leq6NwnfsjvebO2DhntVPrdNW85yx3rnRu
dK5xvlCOvet83tknyVTtRpu5c7fTQoBXcBXlrvOZctJCEi9z/saJOZXOJZF9kr/qYokaTa7ZJznA
G0B07BeSv1XlxO46S+p7jaJYlf2RnbCX2o32PLvMnm5PtafY40NjQ+FQQWhMKC8UCgVDgZAZUqHx
8gVjXs5g8EZP3oPA964CcgxoMx8sxsyBozINXk16pUqOs5rN5sWNRnOy/4uq+aZI8reLy3qNvKuv
S+aUNRrJsc2qubUxeXF1c6+dviZZX92ctFuWtvUYxsZ2bJPmg72Gam3rNXidkLFxTWly7EIc1ZoN
pX284ef8NRva21VJ8R0NJQ1jFxRdclnTGQ4d2rKjST7Q7f1Ksobq6pLqKcnHmhe3Jb83pT0ZFUN6
Sntz8quLI59v6zMLzfxFTX1mgYj2tr5Ap1m46BqxD3Q2tePtPe0NbS7AG18vQuAt1Kgi4o32pFG8
UUYZfxXQ8TdNBP7y8lWF9leRl6/9BQzx13MksqipJ8IBP7xN/4j2c6RcjfCDxsBt6qnggK+yiNEm
voy2sohO2EwdkOPgpYYDXgz6ezogx9CRJWef8lLueZk77GWujsvKpEcHIweCGT8j62f8DPycysj/
mWlZY7WRmrNi1cFFy8oWdZQtWgY6kuvvuLUkufqmSKRn1QpxiCStio6bvniryBuXJVeULWtKripr
ivTM0bxRzgfFeU5ZU486uKi1redgbFmTOyc2Z1HZjU3tqYb5bfHT4lo7HFfb/DPENV8Ca5O4GjRv
VFxxcW6QuOISV1ziaog16LgW3SZ639LWE1KN8ulrLVPmeXnocEfptPbG4nDnAlHovnnTSlaV7gko
vqRwXnV7ckxZYzIfiFNNvCYuTtQzcSrAutBzKlk1b1rpHuMpzymMdVFZo3y0XP+U8JuTc69uTk5b
fF2bqEoyRhacqcyWy087l6hFtzXxz3mXRtfyrmyIIpX4/ONf15l+K1asWN7FYUU177NpTlbxZfBP
8WXwHtsmqo6mduxmZe0sS9v15OYu4mvmOFaTCKNLohMT3xcnB2O89UjZZnew2zZlFNGVmjQlevt+
+g33AQaR5kqXqQRxWpmaXs5oCS+z52Ykw1U5dydNi8r30uuhiizPyFhRDYZEeaImUd9d3l3TXR/E
dfcOLJ0dcit1Z++wVFf18mxmYOxqJ7Plm+bEt8WdPEVH3C0GPh9fvVx/xny4OLK8au9T6dXws3Zc
o/4t18GLtc5hjmIk08WV8sjEvkLO5JcxaC75rEnY4itzpq3kcOrHmVL/BUxgjz0KZW5kc3RyZWFt
CmVuZG9iago0OCAwIG9iagoyNDcwNgplbmRvYmoKNDkgMCBvYmoKKFVudGl0bGVkKQplbmRvYmoK
NTAgMCBvYmoKKE1hYyBPUyBYIDEwLjEyLjYgUXVhcnR6IFBERkNvbnRleHQpCmVuZG9iago1MSAw
IG9iagooTWF0aGlhcyBCeW5lbnMpCmVuZG9iago1MiAwIG9iagooKQplbmRvYmoKNTMgMCBvYmoK
KENocm9tZSkKZW5kb2JqCjU0IDAgb2JqCihEOjIwMTcwODE3MDgxNDI4WjAwJzAwJykKZW5kb2Jq
CjU1IDAgb2JqCigpCmVuZG9iago1NiAwIG9iagpbIF0KZW5kb2JqCjEgMCBvYmoKPDwgL1RpdGxl
IDQ5IDAgUiAvQXV0aG9yIDUxIDAgUiAvU3ViamVjdCA1MiAwIFIgL1Byb2R1Y2VyIDUwIDAgUiAv
Q3JlYXRvcgo1MyAwIFIgL0NyZWF0aW9uRGF0ZSA1NCAwIFIgL01vZERhdGUgNTQgMCBSIC9LZXl3
b3JkcyA1NSAwIFIgL0FBUEw6S2V5d29yZHMKNTYgMCBSID4+CmVuZG9iagp4cmVmCjAgNTcKMDAw
MDAwMDAwMCA2NTUzNSBmIAowMDAwMDk0NjYwIDAwMDAwIG4gCjAwMDAwMDM2NzMgMDAwMDAgbiAK
MDAwMDAxMDc5MSAwMDAwMCBuIAowMDAwMDAwMDIyIDAwMDAwIG4gCjAwMDAwMDM2NTMgMDAwMDAg
biAKMDAwMDAwMzc3NyAwMDAwMCBuIAowMDAwMDA2NzU0IDAwMDAwIG4gCjAwMDAwMjY1MzMgMDAw
MDAgbiAKMDAwMDAxMDk0NSAwMDAwMCBuIAowMDAwMDAzOTI0IDAwMDAwIG4gCjAwMDAwMDM5Njkg
MDAwMDAgbiAKMDAwMDAwNDAxOCAwMDAwMCBuIAowMDAwMDA2NzMzIDAwMDAwIG4gCjAwMDAwMTA1
MzQgMDAwMDAgbiAKMDAwMDAwNjc5MCAwMDAwMCBuIAowMDAwMDEwNTEzIDAwMDAwIG4gCjAwMDAw
MTA2NDEgMDAwMDAgbiAKMDAwMDA2ODI2MCAwMDAwMCBuIAowMDAwMDUyNjcxIDAwMDAwIG4gCjAw
MDAwMTA4ODEgMDAwMDAgbiAKMDAwMDAxMTQyMCAwMDAwMCBuIAowMDAwMDExMDk5IDAwMDAwIG4g
CjAwMDAwMTE0MDAgMDAwMDAgbiAKMDAwMDAxMTYzMiAwMDAwMCBuIAowMDAwMDExNjYyIDAwMDAw
IG4gCjAwMDAwMTE5MDkgMDAwMDAgbiAKMDAwMDAyNjUxMSAwMDAwMCBuIAowMDAwMDI3MTE2IDAw
MDAwIG4gCjAwMDAwMjY2ODcgMDAwMDAgbiAKMDAwMDAyNzA5NiAwMDAwMCBuIAowMDAwMDI3MzI4
IDAwMDAwIG4gCjAwMDAwMjc2MDUgMDAwMDAgbiAKMDAwMDAyNzg1MiAwMDAwMCBuIAowMDAwMDUy
NjQ5IDAwMDAwIG4gCjAwMDAwNTMxNDcgMDAwMDAgbiAKMDAwMDA1MjgyNiAwMDAwMCBuIAowMDAw
MDUzMTI3IDAwMDAwIG4gCjAwMDAwNTMzNTkgMDAwMDAgbiAKMDAwMDA1MzM4OSAwMDAwMCBuIAow
MDAwMDUzNjM2IDAwMDAwIG4gCjAwMDAwNjgyMzggMDAwMDAgbiAKMDAwMDA2ODg1NSAwMDAwMCBu
IAowMDAwMDY4NDE1IDAwMDAwIG4gCjAwMDAwNjg4MzUgMDAwMDAgbiAKMDAwMDA2OTA2NyAwMDAw
MCBuIAowMDAwMDY5MzU2IDAwMDAwIG4gCjAwMDAwNjk2MDMgMDAwMDAgbiAKMDAwMDA5NDQwMCAw
MDAwMCBuIAowMDAwMDk0NDIyIDAwMDAwIG4gCjAwMDAwOTQ0NDkgMDAwMDAgbiAKMDAwMDA5NDUw
MiAwMDAwMCBuIAowMDAwMDk0NTM1IDAwMDAwIG4gCjAwMDAwOTQ1NTQgMDAwMDAgbiAKMDAwMDA5
NDU3OSAwMDAwMCBuIAowMDAwMDk0NjIxIDAwMDAwIG4gCjAwMDAwOTQ2NDAgMDAwMDAgbiAKdHJh
aWxlcgo8PCAvU2l6ZSA1NyAvUm9vdCAyMCAwIFIgL0luZm8gMSAwIFIgL0lEIFsgPGRiODRkNjZm
YjI1MzdlZmE1MWI0ZDBhOTEwOTg3NGNjPgo8ZGI4NGQ2NmZiMjUzN2VmYTUxYjRkMGE5MTA5ODc0
Y2M+IF0gPj4Kc3RhcnR4cmVmCjk0ODM1CiUlRU9GCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>