CHAT_OUTPUT_BEGIN
COMMAND_ID=NEWFI-260921-NEWFDOM-DR221-PREFLIGHT398
STATUS=FAIL
RC=1
HOST=pve01
MODE=read-only
COMPONENT=newfi-dr221-current-backup-restore-contract-preflight
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
COMMAND_SHA256=76fa76cf3d6f53998c2412468857695a1807ed5d9ddc82cef2faa27c77cc4888
DUPLICATE_FAILED_COMMAND_BLOCKED=false
EXECUTION_STARTED=true
CHANGE_DECLARED=false
RESULT_CONTRACT_VALID=true
RESULT_CONTRACT_STATUS=NOT_APPLICABLE
RESULT_CONTRACT_ERROR=NONE
COMMAND_RC=1
CHANGES_MADE=false
ROLLBACK_STARTED=false
ROLLBACK_RESTORED=null
MUTATION_OUTCOME=NO_MUTATION
SANITIZED=yes
SECRETS_INCLUDED=no
PRIVATE_ADDRESSES_INCLUDED=no
RAW_EVIDENCE_SHA256=e324319554c25d0de61dbd3a3ace0cc408a7e32724cc38ce27261cdaeba49673
SANITIZED_OUTPUT_SHA256=e324319554c25d0de61dbd3a3ace0cc408a7e32724cc38ce27261cdaeba49673
OUTPUT_BEGIN
DR221_PREFLIGHT398_BEGIN=true
COMMAND_ID=NEWFI-260921-NEWFDOM-DR221-PREFLIGHT398
IMMUTABLE_PLAN_CHECK=PASS
PREDECESSOR_PROD220_CLOSED=true
PREDECESSOR_COMMAND_ID=NEWFI-260921-NEWFDOM-PROD220-RECOVERY397
GIT_STATE={"branch":"implementation/newfi-closed-mvp-20260906","clean":true,"head":"9c4814db67759dc09a5469d254c41a7b73f4d89a","rcs":[0,0,0,0],"remote":"9c4814db67759dc09a5469d254c41a7b73f4d89a"}
VM210_CLUSTER={"rc":0,"rows":[{"maxdisk":53687091200,"maxmem":4294967296,"name":"newfi-prod","node":"pve01","status":"running","type":"qemu","uptime":1271168,"vmid":210}]}
VM210_QM_STATUS={"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout":"status: running"}
VM210_CONFIG_SAFE={"config":{"agent":"enabled=1","boot":"order=scsi0","cores":"2","ide2":"local-lvm:vm-210-cloudinit,media=cdrom","memory":"4096","name":"newfi-prod","onboot":"1","ostype":"l26","scsi0":"local-lvm:vm-210-disk-0,discard=on,size=50G,ssd=1","scsihw":"virtio-scsi-pci","serial0":"socket"},"rc":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}
RESTORE_TEMP_VMID_CANDIDATES=[9210,9211,9212,9213,9214,9215,9216,9217,9218,9219]
Traceback (most recent call last):
  File "<string>", line 1, in <module>
    import base64;exec(compile(base64.b64decode("aW1wb3J0IG9zLHN5cyxqc29uLGhhc2hsaWIsc3VicHJvY2VzcyxyZSxzdGF0CmZyb20gcGF0aGxpYiBpbXBvcnQgUGF0aAoKQ0lEPSJORVdGSS0yNjA5MjEtTkVXRkRPTS1EUjIyMS1QUkVGTElHSFQzOTgiCldUPVBhdGgoIi9yb290L25ld2ZpLXBvcnRhbC8ud29ya3RyZWVzL2ltcGxlbWVudGF0aW9uLW5ld2ZpLWNsb3NlZC1tdnAtMjAyNjA5MDYiKQpFWFBFQ1RFRF9CUkFOQ0g9ImltcGxlbWVudGF0aW9uL25ld2ZpLWNsb3NlZC1tdnAtMjAyNjA5MDYiCkVYUEVDVEVEX0hFQUQ9IjljNDgxNGRiNjc3NTlkYzA5YTU0NjlkMjU0YzQxYTdiNzNmNGQ4OWEiCgpIRUxQRVJTPVsKICIvdXNyL2xvY2FsL3NiaW4vaG9tZWxhYi12bS1mdWxsLWJhY2t1cCIsCiAiL3Vzci9sb2NhbC9zYmluL2hvbWVsYWItdm0tZnVsbC1yZXN0b3JlLWRyaWxsIiwKICIvdXNyL2xvY2FsL3NiaW4vaG9tZWxhYi12bS1jbG91ZC1xdW9ydW0tcXVldWUiLAogIi91c3IvbG9jYWwvbGliZXhlYy9ob21lbGFiLXZtLWNsb3VkLXF1b3J1bS1ub2RlLXdvcmtlciIsCiAiL3Vzci9sb2NhbC9saWJleGVjL2hvbWVsYWItY2xvdWQtcXVvcnVtLXBheWxvYWQiLAogIi91c3IvbG9jYWwvc2Jpbi9ob21lbGFiLWJhY2t1cC12MiIsCl0KVU5JVFM9WwogIi9ldGMvc3lzdGVtZC9zeXN0ZW0vaG9tZWxhYi12bS1jbG91ZC1xdW9ydW0tcXVldWUuc2VydmljZSIsCiAiL2V0Yy9zeXN0ZW1kL3N5c3RlbS9ob21lbGFiLXZtLWNsb3VkLXF1b3J1bS1xdWV1ZS50aW1lciIsCl0KQ09ORklHUz1bCiAiL2V0Yy9ob21lbGFiLWJhY2t1cC12Mi90YXJnZXRzLmpzb24iLAogIi9ldGMvaG9tZWxhYi1iYWNrdXAtdjIvcHJvZHVjdGlvbi1hY2NlcHRhbmNlLmpzb24iLApdClNBRkVfVEVSTVM9cmUuY29tcGlsZShyIig/aSlcYihhcmdwYXJzZXxhcmd1bWVudHBhcnNlcnxhZGRfYXJndW1lbnR8Z2V0b3B0c3x1c2FnZXxzeXNcLmFyZ3Z8dm1pZHxvd25lcnxhbGxvd3x2emR1bXB8cW1yZXN0b3JlfHJlc3RvcmV8Z2VuZXJhdGlvbnxxdW9ydW18cmNsb25lfHJlbW90ZXxtYW5pZmVzdHxwYXJ0cz98c3RhdGV8YXJjaGl2ZXxzdG9yYWdlfHRlbXB8aXNvbGF0ZXxuZXR3b3JrfHNvdXJjZXx0YXJnZXR8ZXhlY3N0YXJ0fGVudmlyb25tZW50fHN1YnByb2Nlc3N8cnVuXCh8cHZlc2h8cW1cc3xwdmVzbXxjbG91ZClcYiIpClNFTlNJVElWRT1yZS5jb21waWxlKHIiKD9pKShwYXNzd29yZHxwYXNzd2R8c2VjcmV0fHRva2VufGNyZWRlbnRpYWx8cHJpdmF0ZVtfLV0/a2V5fGNsaWVudFtfLV0/c2VjcmV0fGFjY2Vzc1tfLV0/a2V5fHBhc3NwaHJhc2UpIikKT1BBUVVFPXJlLmNvbXBpbGUociJbQS1aYS16MC05Ky89Xy1dezgwLH0iKQpNQVhfRklMRT0yKjEwMjQqMTAyNAoKZGVmIGVtaXQoayx2KToKICAgIGlmIGlzaW5zdGFuY2UodiwoZGljdCxsaXN0LGJvb2wsaW50LGZsb2F0KSkgb3IgdiBpcyBOb25lOgogICAgICAgIHByaW50KGsrIj0iK2pzb24uZHVtcHModixzb3J0X2tleXM9VHJ1ZSxzZXBhcmF0b3JzPSgiLCIsIjoiKSxlbnN1cmVfYXNjaWk9VHJ1ZSksZmx1c2g9VHJ1ZSkKICAgIGVsc2U6CiAgICAgICAgcHJpbnQoaysiPSIrc3RyKHYpLGZsdXNoPVRydWUpCgpkZWYgcnVuKGFyZ3YsdGltZW91dD00MCxjd2Q9Tm9uZSk6CiAgICBwPXN1YnByb2Nlc3MucnVuKGFyZ3Ysc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSxzdGRlcnI9c3VicHJvY2Vzcy5QSVBFLHRpbWVvdXQ9dGltZW91dCxjd2Q9Y3dkKQogICAgcmV0dXJuIHAucmV0dXJuY29kZSxwLnN0ZG91dC5kZWNvZGUoInV0Zi04IiwicmVwbGFjZSIpLHAuc3RkZXJyLmRlY29kZSgidXRmLTgiLCJyZXBsYWNlIikKCmRlZiBzaGFfYnl0ZXMoYik6IHJldHVybiBoYXNobGliLnNoYTI1NihiKS5oZXhkaWdlc3QoKQoKZGVmIHJlYWRfcmVndWxhcihwYXRoKToKICAgIHA9UGF0aChwYXRoKQogICAgc3Q9cC5sc3RhdCgpCiAgICBpZiBub3Qgc3RhdC5TX0lTUkVHKHN0LnN0X21vZGUpIG9yIHAuaXNfc3ltbGluaygpOgogICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiVU5TQUZFX0ZJTEU6IitzdHIocGF0aCkpCiAgICBpZiBzdC5zdF9zaXplPk1BWF9GSUxFOgogICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiRklMRV9UT09fTEFSR0U6IitzdHIocGF0aCkpCiAgICBiPXAucmVhZF9ieXRlcygpCiAgICByZXR1cm4gYixzdAoKZGVmIHNhbml0aXplX2xpbmUobGluZSk6CiAgICBzPWxpbmUuc3RyaXAoKQogICAgaWYgbm90IHM6CiAgICAgICAgcmV0dXJuICIiCiAgICBpZiBTRU5TSVRJVkUuc2VhcmNoKHMpOgogICAgICAgICMgS2VlcCBzdHJ1Y3R1cmFsIGxlZnQgc2lkZSBvbmx5OyBuZXZlciBleHBvc2UgYXNzaWduZWQgc2VjcmV0IG1hdGVyaWFsLgogICAgICAgIGlmICI9IiBpbiBzOgogICAgICAgICAgICByZXR1cm4gcy5zcGxpdCgiPSIsMSlbMF0uc3RyaXAoKSsiPTxXSVRISEVMRD4iCiAgICAgICAgcmV0dXJuICI8U0VOU0lUSVZFX0xJTkVfV0lUSEhFTEQ+IgogICAgcz1PUEFRVUUuc3ViKCI8T1BBUVVFX1dJVEhIRUxEPiIscykKICAgIGlmIGxlbihzKT4yNjA6CiAgICAgICAgcz1zWzoyNjBdKyIuLi4iCiAgICByZXR1cm4gcwoKZGVmIHNvdXJjZV9jb250cmFjdChwYXRoKToKICAgIGIsc3Q9cmVhZF9yZWd1bGFyKHBhdGgpCiAgICB0ZXh0PWIuZGVjb2RlKCJ1dGYtOCIsInJlcGxhY2UiKQogICAgbGluZXM9W10KICAgIGZvciBuLGxpbmUgaW4gZW51bWVyYXRlKHRleHQuc3BsaXRsaW5lcygpLDEpOgogICAgICAgIGlmIFNBRkVfVEVSTVMuc2VhcmNoKGxpbmUpOgogICAgICAgICAgICBzPXNhbml0aXplX2xpbmUobGluZSkKICAgICAgICAgICAgaWYgczoKICAgICAgICAgICAgICAgIGxpbmVzLmFwcGVuZCh7ImxpbmUiOm4sInRleHQiOnN9KQogICAgICAgIGlmIGxlbihsaW5lcyk+PTgwOgogICAgICAgICAgICBicmVhawogICAgcmV0dXJuIHsKICAgICAgInBhdGgiOnBhdGgsCiAgICAgICJieXRlcyI6bGVuKGIpLAogICAgICAic2hhMjU2IjpzaGFfYnl0ZXMoYiksCiAgICAgICJtb2RlIjpmb3JtYXQoc3RhdC5TX0lNT0RFKHN0LnN0X21vZGUpLCIwNG8iKSwKICAgICAgInVpZCI6c3Quc3RfdWlkLAogICAgICAiZ2lkIjpzdC5zdF9naWQsCiAgICAgICJzaGViYW5nIjp0ZXh0LnNwbGl0bGluZXMoKVswXVs6MTIwXSBpZiB0ZXh0LnN0YXJ0c3dpdGgoIiMhIikgZWxzZSBOb25lLAogICAgICAiY29udHJhY3RfbGluZXMiOmxpbmVzCiAgICB9CgpkZWYgc2FmZV9qc29uKHBhdGgpOgogICAgYixzdD1yZWFkX3JlZ3VsYXIocGF0aCkKICAgIG9iaj1qc29uLmxvYWRzKGIuZGVjb2RlKCJ1dGYtOCIsInN0cmljdCIpKQogICAgcmV0dXJuIG9iaix7InBhdGgiOnBhdGgsImJ5dGVzIjpsZW4oYiksInNoYTI1NiI6c2hhX2J5dGVzKGIpLCJtb2RlIjpmb3JtYXQoc3RhdC5TX0lNT0RFKHN0LnN0X21vZGUpLCIwNG8iKX0KCmRlZiBzYWZlX3NjYWxhcih2KToKICAgIHJldHVybiBpc2luc3RhbmNlKHYsKHN0cixpbnQsZmxvYXQsYm9vbCkpIG9yIHYgaXMgTm9uZQoKZGVmIHNjcnViX29iaih4LGRlcHRoPTApOgogICAgaWYgZGVwdGg+NTogcmV0dXJuICI8REVQVEhfTElNSVQ+IgogICAgaWYgaXNpbnN0YW5jZSh4LGRpY3QpOgogICAgICAgIG91dD17fQogICAgICAgIGZvciBrLHYgaW4geC5pdGVtcygpOgogICAgICAgICAgICBrcz1zdHIoaykKICAgICAgICAgICAgaWYgU0VOU0lUSVZFLnNlYXJjaChrcyk6CiAgICAgICAgICAgICAgICBvdXRba3NdPSI8V0lUSEhFTEQ+IgogICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgbGs9a3MubG93ZXIoKQogICAgICAgICAgICBpZiBsayBpbiB7ImxvZ2ljYWxfaWQiLCJpZCIsIm5hbWUiLCJ0eXBlIiwia2luZCIsIm5vZGUiLCJ2bWlkIiwiZW5hYmxlZCIsInNjb3BlIiwic291cmNlIiwiY29sbGVjdG9yIiwiYmFja3VwIiwicmVzdG9yZSIsInBvbGljeSIsIm93bmVyIiwic3RhdHVzIiwibW9kZSIsImdlbmVyYXRpb24iLCJhY2NlcHRlZF9yZWxlYXNlIiwiYmFzZV9yZWxlYXNlIiwiZW50cnkiLCJlbnRyeXBvaW50Iiwic2NyaXB0IiwiaGVscGVyIiwicGF0aCIsInN0b3JhZ2UiLCJwYXJ0X3NpemUiLCJyZXBsaWNhcyIsInBoeXNpY2FsIiwiY3J5cHQifToKICAgICAgICAgICAgICAgIGlmIHNhZmVfc2NhbGFyKHYpOgogICAgICAgICAgICAgICAgICAgIG91dFtrc109dgogICAgICAgICAgICAgICAgZWxpZiBpc2luc3RhbmNlKHYsKGxpc3QsZGljdCkpOgogICAgICAgICAgICAgICAgICAgIG91dFtrc109c2NydWJfb2JqKHYsZGVwdGgrMSkKICAgICAgICAgICAgZWxpZiBkZXB0aDwyIGFuZCBpc2luc3RhbmNlKHYsKGRpY3QsbGlzdCkpOgogICAgICAgICAgICAgICAgc3ViPXNjcnViX29iaih2LGRlcHRoKzEpCiAgICAgICAgICAgICAgICBpZiBzdWIgbm90IGluICh7fSxbXSk6CiAgICAgICAgICAgICAgICAgICAgb3V0W2tzXT1zdWIKICAgICAgICByZXR1cm4gb3V0CiAgICBpZiBpc2luc3RhbmNlKHgsbGlzdCk6CiAgICAgICAgcmV0dXJuIFtzY3J1Yl9vYmoodixkZXB0aCsxKSBmb3IgdiBpbiB4WzoxMDBdXQogICAgcmV0dXJuIHggaWYgc2FmZV9zY2FsYXIoeCkgZWxzZSBzdHIodHlwZSh4KS5fX25hbWVfXykKCnByaW50KCJEUjIyMV9QUkVGTElHSFQzOThfQkVHSU49dHJ1ZSIsZmx1c2g9VHJ1ZSkKZW1pdCgiQ09NTUFORF9JRCIsQ0lEKQplbWl0KCJJTU1VVEFCTEVfUExBTl9DSEVDSyIsIlBBU1MiKQplbWl0KCJQUkVERUNFU1NPUl9QUk9EMjIwX0NMT1NFRCIsVHJ1ZSkKZW1pdCgiUFJFREVDRVNTT1JfQ09NTUFORF9JRCIsIk5FV0ZJLTI2MDkyMS1ORVdGRE9NLVBST0QyMjAtUkVDT1ZFUlkzOTciKQoKIyBFeGFjdCBjdXJyZW50IEdpdCBndWFyZC4KcmMxLGJyYW5jaCxlMT1ydW4oWyIvdXNyL2Jpbi9naXQiLCItLW5vLW9wdGlvbmFsLWxvY2tzIiwiLUMiLHN0cihXVCksImJyYW5jaCIsIi0tc2hvdy1jdXJyZW50Il0pCnJjMixoZWFkLGUyPXJ1bihbIi91c3IvYmluL2dpdCIsIi0tbm8tb3B0aW9uYWwtbG9ja3MiLCItQyIsc3RyKFdUKSwicmV2LXBhcnNlIiwiSEVBRCJdKQpyYzMsc3RhdHVzLGUzPXJ1bihbIi91c3IvYmluL2dpdCIsIi0tbm8tb3B0aW9uYWwtbG9ja3MiLCItQyIsc3RyKFdUKSwic3RhdHVzIiwiLS1wb3JjZWxhaW49djEiLCItLXVudHJhY2tlZC1maWxlcz1hbGwiXSkKcmM0LHJlbW90ZSxlND1ydW4oWyIvdXNyL2Jpbi9naXQiLCItLW5vLW9wdGlvbmFsLWxvY2tzIiwiLUMiLHN0cihXVCksImxzLXJlbW90ZSIsIm9yaWdpbiIsInJlZnMvaGVhZHMvIitFWFBFQ1RFRF9CUkFOQ0hdKQpyZW1vdGVfaGVhZD1yZW1vdGUuc3BsaXQoKVswXSBpZiByZW1vdGUuc3RyaXAoKSBlbHNlICIiCmdpdF9zdGF0ZT17ImJyYW5jaCI6YnJhbmNoLnN0cmlwKCksImhlYWQiOmhlYWQuc3RyaXAoKSwiY2xlYW4iOm5vdCBib29sKHN0YXR1cy5zdHJpcCgpKSwicmVtb3RlIjpyZW1vdGVfaGVhZCwicmNzIjpbcmMxLHJjMixyYzMscmM0XX0KZW1pdCgiR0lUX1NUQVRFIixnaXRfc3RhdGUpCgojIFZNMjEwIGFuZCBjbHVzdGVyIGludmVudG9yeSwgc2FuaXRpemVkLgpyYyxyb3dzX3MsZXJyPXJ1bihbIi91c3IvYmluL3B2ZXNoIiwiZ2V0IiwiL2NsdXN0ZXIvcmVzb3VyY2VzIiwiLS10eXBlIiwidm0iLCItLW91dHB1dC1mb3JtYXQiLCJqc29uIl0pCnJvd3M9anNvbi5sb2Fkcyhyb3dzX3MpIGlmIHJjPT0wIGVsc2UgW10Kdm0yMTA9W3IgZm9yIHIgaW4gcm93cyBpZiBpc2luc3RhbmNlKHIsZGljdCkgYW5kIHN0cihyLmdldCgidm1pZCIpKT09IjIxMCJdCnNhZmVfdm0yMTA9W10KZm9yIHIgaW4gdm0yMTA6CiAgICBzYWZlX3ZtMjEwLmFwcGVuZCh7azpyLmdldChrKSBmb3IgayBpbiAoInZtaWQiLCJub2RlIiwibmFtZSIsInN0YXR1cyIsInR5cGUiLCJtYXhkaXNrIiwibWF4bWVtIiwidXB0aW1lIikgaWYgayBpbiByfSkKZW1pdCgiVk0yMTBfQ0xVU1RFUiIseyJyYyI6cmMsInJvd3MiOnNhZmVfdm0yMTB9KQoKcmMscXMscWU9cnVuKFsiL3Vzci9zYmluL3FtIiwic3RhdHVzIiwiMjEwIl0pCmVtaXQoIlZNMjEwX1FNX1NUQVRVUyIseyJyYyI6cmMsInN0ZG91dCI6cXMuc3RyaXAoKVs6MTIwXSwic3RkZXJyX3NoYTI1NiI6c2hhX2J5dGVzKHFlLmVuY29kZSgpKX0pCgpyYyxxYyxxZT1ydW4oWyIvdXNyL3NiaW4vcW0iLCJjb25maWciLCIyMTAiXSkKY2ZnPXt9CmlmIHJjPT0wOgogICAga2VlcD17Im5hbWUiLCJhZ2VudCIsImJvb3QiLCJjb3JlcyIsIm1lbW9yeSIsIm9zdHlwZSIsInNjc2lodyIsIm9uYm9vdCIsInNjc2kwIiwiaWRlMiIsInNlcmlhbDAifQogICAgZm9yIGxpbmUgaW4gcWMuc3BsaXRsaW5lcygpOgogICAgICAgIGlmICI6IiBpbiBsaW5lOgogICAgICAgICAgICBrLHY9bGluZS5zcGxpdCgiOiIsMSkKICAgICAgICAgICAgaWYgayBpbiBrZWVwOgogICAgICAgICAgICAgICAgY2ZnW2tdPXYuc3RyaXAoKQplbWl0KCJWTTIxMF9DT05GSUdfU0FGRSIseyJyYyI6cmMsImNvbmZpZyI6Y2ZnLCJzdGRlcnJfc2hhMjU2IjpzaGFfYnl0ZXMocWUuZW5jb2RlKCkpfSkKCiMgRnJlZSBpc29sYXRlZCByZXN0b3JlIFZNSUQgY2FuZGlkYXRlcy4KdXNlZD17aW50KHIuZ2V0KCJ2bWlkIikpIGZvciByIGluIHJvd3MgaWYgaXNpbnN0YW5jZShyLGRpY3QpIGFuZCBzdHIoci5nZXQoInZtaWQiLCIiKSkuaXNkaWdpdCgpfQpjYW5kaWRhdGVzPVtpIGZvciBpIGluIHJhbmdlKDkyMTAsOTIzMSkgaWYgaSBub3QgaW4gdXNlZF1bOjEwXQplbWl0KCJSRVNUT1JFX1RFTVBfVk1JRF9DQU5ESURBVEVTIixjYW5kaWRhdGVzKQoKIyBTdG9yYWdlIGNhcGFjaXR5IHdpdGhvdXQgcGF0aHMvYWRkcmVzc2VzLgpyYyxwc3MscHNlPXJ1bihbIi91c3IvYmluL3B2ZXNtIiwic3RhdHVzIiwiLS1vdXRwdXQtZm9ybWF0IiwianNvbiJdKQpzdG9yPVtdCmlmIHJjPT0wOgogICAgdHJ5OgogICAgICAgIGZvciByIGluIGpzb24ubG9hZHMocHNzKToKICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShyLGRpY3QpOgogICAgICAgICAgICAgICAgc3Rvci5hcHBlbmQoe2s6ci5nZXQoaykgZm9yIGsgaW4gKCJzdG9yYWdlIiwidHlwZSIsImFjdGl2ZSIsInRvdGFsIiwidXNlZCIsImF2YWlsIiwiY29udGVudCIpIGlmIGsgaW4gcn0pCiAgICBleGNlcHQgRXhjZXB0aW9uOgogICAgICAgIHBhc3MKZW1pdCgiUFZFX1NUT1JBR0VfU0FGRSIseyJyYyI6cmMsInJvd3MiOnN0b3IsInN0ZGVycl9zaGEyNTYiOnNoYV9ieXRlcyhwc2UuZW5jb2RlKCkpfSkKCiMgSGVscGVyIHN0YXRpYyBzb3VyY2UgY29udHJhY3RzIG9ubHkuIEhlbHBlcnMgYXJlIE5PVCBleGVjdXRlZC4KaGVscGVyX3JlcG9ydHM9W10KbWlzc2luZz1bXQpmb3IgcCBpbiBIRUxQRVJTOgogICAgdHJ5OgogICAgICAgIGhlbHBlcl9yZXBvcnRzLmFwcGVuZChzb3VyY2VfY29udHJhY3QocCkpCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgbWlzc2luZy5hcHBlbmQoeyJwYXRoIjpwLCJjbGFzcyI6dHlwZShlKS5fX25hbWVfX30pCmVtaXQoIkJBQ0tVUF9SRVNUT1JFX0hFTFBFUlMiLGhlbHBlcl9yZXBvcnRzKQplbWl0KCJCQUNLVVBfUkVTVE9SRV9IRUxQRVJfTUlTU0lORyIsbWlzc2luZykKCnVuaXRfcmVwb3J0cz1bXQpmb3IgcCBpbiBVTklUUzoKICAgIHRyeToKICAgICAgICB1bml0X3JlcG9ydHMuYXBwZW5kKHNvdXJjZV9jb250cmFjdChwKSkKICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICB1bml0X3JlcG9ydHMuYXBwZW5kKHsicGF0aCI6cCwicmVhZCI6IlVOQVZBSUxBQkxFIiwiY2xhc3MiOnR5cGUoZSkuX19uYW1lX199KQplbWl0KCJCQUNLVVBfUkVTVE9SRV9VTklUUyIsdW5pdF9yZXBvcnRzKQoKIyBCYWNrdXBWMiBjb25maWcgY29udHJhY3RzLCBzY3J1YmJlZC4KY29uZmlnX3JlcG9ydHM9W10KZm9yIHAgaW4gQ09ORklHUzoKICAgIHRyeToKICAgICAgICBvYmosbWV0YT1zYWZlX2pzb24ocCkKICAgICAgICBjb25maWdfcmVwb3J0cy5hcHBlbmQoeyJtZXRhIjptZXRhLCJzYWZlIjpzY3J1Yl9vYmoob2JqKX0pCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgY29uZmlnX3JlcG9ydHMuYXBwZW5kKHsicGF0aCI6cCwicmVhZCI6IlVOQVZBSUxBQkxFX09SX0lOVkFMSUQiLCJjbGFzcyI6dHlwZShlKS5fX25hbWVfX30pCmVtaXQoIkJBQ0tVUFYyX0NPTkZJR19DT05UUkFDVFMiLGNvbmZpZ19yZXBvcnRzKQoKIyByY2xvbmUgaWRlbnRpdHkgb25seSwgbm8gY2xvdWQgcmVhZHMuCnJjbG9uZT0iL3Vzci9iaW4vcmNsb25lIgppZiBQYXRoKHJjbG9uZSkuaXNfZmlsZSgpOgogICAgZW1pdCgiUkNMT05FX0JJTkFSWV9TSEEyNTYiLGhhc2hsaWIuc2hhMjU2KFBhdGgocmNsb25lKS5yZWFkX2J5dGVzKCkpLmhleGRpZ2VzdCgpKQogICAgcmMscmVtLGVyZT1ydW4oW3JjbG9uZSwibGlzdHJlbW90ZXMiXSx0aW1lb3V0PTIwKQogICAgbmFtZXM9W3guc3RyaXAoKS5yc3RyaXAoIjoiKSBmb3IgeCBpbiByZW0uc3BsaXRsaW5lcygpIGlmIHguc3RyaXAoKV0KICAgIGNyeXB0PVt4IGZvciB4IGluIG5hbWVzIGlmIHguZW5kc3dpdGgoIi1jcnlwdCIpXQogICAgZW1pdCgiUkNMT05FX1JFTU9URVNfU0FGRSIseyJyYyI6cmMsImNvdW50IjpsZW4obmFtZXMpLCJjcnlwdF9jb3VudCI6bGVuKGNyeXB0KSwiY3J5cHRfbmFtZXMiOmNyeXB0LCJzdGRlcnJfc2hhMjU2IjpzaGFfYnl0ZXMoZXJlLmVuY29kZSgpKX0pCmVsc2U6CiAgICBlbWl0KCJSQ0xPTkVfUkVNT1RFU19TQUZFIix7InJjIjoxMjcsImNvdW50IjowLCJjcnlwdF9jb3VudCI6MH0pCgojIENhbmRpZGF0ZSB2ZXJpZmllciBzY3JpcHRzIGZyb20gY3VycmVudCBhY2NlcHRlZCB3b3JrdHJlZTsgc3RhdGljIG1ldGFkYXRhIG9ubHkuCnZlcmlmaWVycz1bXQpzcD1XVC8ic2NyaXB0cyIKaWYgc3AuaXNfZGlyKCk6CiAgICBmb3IgcCBpbiBzb3J0ZWQoc3AuaXRlcmRpcigpKToKICAgICAgICBpZiBub3QgcC5pc19maWxlKCkgb3IgcC5pc19zeW1saW5rKCk6CiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgbj1wLm5hbWUubG93ZXIoKQogICAgICAgIGlmICJ2ZXJpZnkiIG5vdCBpbiBuIGFuZCAiYWNjZXB0IiBub3QgaW4gbiBhbmQgInJlc3RvcmUiIG5vdCBpbiBuOgogICAgICAgICAgICBjb250aW51ZQogICAgICAgIGI9cC5yZWFkX2J5dGVzKCkKICAgICAgICB0ZXh0PWIuZGVjb2RlKCJ1dGYtOCIsInJlcGxhY2UiKQogICAgICAgIHRlcm1zPVtdCiAgICAgICAgZm9yIG5vLGxpbmUgaW4gZW51bWVyYXRlKHRleHQuc3BsaXRsaW5lcygpLDEpOgogICAgICAgICAgICBpZiByZS5zZWFyY2gociIoP2kpKHByb2R1Y3Rpb258cmVzdG9yZXx4ZW5mb3JvfHBvcnRhbHxkb2dzfGV2ZW50c3xtYXB8cGVkaWdyZWV8a2VubmVsc3xtZWRpY2FsfHJlc291cmNlfGdhbGxlcnl8cHdhfGVycm9yfGNyb258dGVsZWdyYW18bm90aWZ5KSIsbGluZSk6CiAgICAgICAgICAgICAgICBzPXNhbml0aXplX2xpbmUobGluZSkKICAgICAgICAgICAgICAgIGlmIHM6CiAgICAgICAgICAgICAgICAgICAgdGVybXMuYXBwZW5kKHsibGluZSI6bm8sInRleHQiOnN9KQogICAgICAgICAgICBpZiBsZW4odGVybXMpPj0zMDogYnJlYWsKICAgICAgICB2ZXJpZmllcnMuYXBwZW5kKHsibmFtZSI6cC5uYW1lLCJieXRlcyI6bGVuKGIpLCJzaGEyNTYiOnNoYV9ieXRlcyhiKSwiY29udHJhY3RfbGluZXMiOnRlcm1zfSkKZW1pdCgiQ1VSUkVOVF9SRVBPX1ZFUklGSUVSUyIsdmVyaWZpZXJzKQoKIyBDdXJyZW50IHNlcnZpY2Ugc3RhdGUgb25seS4KdW5pdHNfc3RhdGU9e30KZm9yIHVuaXQgaW4gKCJob21lbGFiLXZtLWNsb3VkLXF1b3J1bS1xdWV1ZS5zZXJ2aWNlIiwiaG9tZWxhYi12bS1jbG91ZC1xdW9ydW0tcXVldWUudGltZXIiKToKICAgIGE9cnVuKFsiL3Vzci9iaW4vc3lzdGVtY3RsIiwiaXMtYWN0aXZlIix1bml0XSx0aW1lb3V0PTE1KQogICAgZT1ydW4oWyIvdXNyL2Jpbi9zeXN0ZW1jdGwiLCJpcy1lbmFibGVkIix1bml0XSx0aW1lb3V0PTE1KQogICAgdW5pdHNfc3RhdGVbdW5pdF09eyJhY3RpdmVfcmMiOmFbMF0sImFjdGl2ZSI6YVsxXS5zdHJpcCgpLCJlbmFibGVkX3JjIjplWzBdLCJlbmFibGVkIjplWzFdLnN0cmlwKCl9CmVtaXQoIkJBQ0tVUF9VTklUX1NUQVRFIix1bml0c19zdGF0ZSkKCiMgRGVjaWRlIG9ubHkgd2hldGhlciBleGFjdCBjdXJyZW50IGNvbnRyYWN0IGlzIGNhcHR1cmVkLgpjb250cmFjdF9saW5lcz1zdW0obGVuKHguZ2V0KCJjb250cmFjdF9saW5lcyIsW10pKSBmb3IgeCBpbiBoZWxwZXJfcmVwb3J0cyBpZiBpc2luc3RhbmNlKHgsZGljdCkpCnZtX29rPShyYzE9PTAgYW5kIHJjMj09MCBhbmQgcmMzPT0wIGFuZCByYzQ9PTAgYW5kIGJyYW5jaC5zdHJpcCgpPT1FWFBFQ1RFRF9CUkFOQ0ggYW5kIGhlYWQuc3RyaXAoKT09RVhQRUNURURfSEVBRCBhbmQgcmVtb3RlX2hlYWQ9PUVYUEVDVEVEX0hFQUQgYW5kIG5vdCBzdGF0dXMuc3RyaXAoKSBhbmQgbGVuKHZtMjEwKT09MSBhbmQgcXMuc3RyaXAoKT09InN0YXR1czogcnVubmluZyIpCnRvb2xfb2s9KG5vdCBtaXNzaW5nIGFuZCBjb250cmFjdF9saW5lcz4wIGFuZCBsZW4oY2FuZGlkYXRlcyk+MCkKY2ZnX29rPWFueShpc2luc3RhbmNlKHgsZGljdCkgYW5kICJtZXRhIiBpbiB4IGZvciB4IGluIGNvbmZpZ19yZXBvcnRzKQppZiB2bV9vayBhbmQgdG9vbF9vayBhbmQgY2ZnX29rOgogICAgZW1pdCgiREVDSVNJT04iLCJQQVNTX0RSMjIxX1BSRUZMSUdIVF9DVVJSRU5UX0JBQ0tVUF9SRVNUT1JFX0NPTlRSQUNUX0NBUFRVUkVEIikKICAgIGVtaXQoIk5FWFRfR0FURSIsIlJVTl9EUjIyMV9GSU5BTF9DVVJSRU5UX1BST0RVQ1RJT05fQkFDS1VQX1JFU1RPUkVfQUNDRVBUQU5DRSIpCiAgICBlbWl0KCJBQ1RJVkVfTUFKT1JfU1RBR0UiLCJEUjIyMSIpCiAgICBlbWl0KCJNQUpPUl9TVEFHRVNfUkVNQUlOSU5HIiwxKQogICAgcmNfZmluYWw9MAplbHNlOgogICAgZW1pdCgiREVDSVNJT04iLCJIT0xEX0RSMjIxX1BSRUZMSUdIVF9DT05UUkFDVF9JTkNPTVBMRVRFIikKICAgIGVtaXQoIk5FWFRfR0FURSIsIlJFQ09OQ0lMRV9PTkxZX01JU1NJTkdfRFIyMjFfQ09OVFJBQ1QiKQogICAgZW1pdCgiQUNUSVZFX01BSk9SX1NUQUdFIiwiRFIyMjEiKQogICAgZW1pdCgiTUFKT1JfU1RBR0VTX1JFTUFJTklORyIsMSkKICAgIHJjX2ZpbmFsPTMKCmVtaXQoIkhFTFBFUlNfRVhFQ1VURUQiLDApCmVtaXQoIkNMT1VEX1JFQURTIiwwKQplbWl0KCJDTE9VRF9XUklURVMiLDApCmVtaXQoIlZNX01VVEFUSU9OUyIsMCkKZW1pdCgiUFJPRFVDVElPTl9NVVRBVElPTiIsRmFsc2UpCmVtaXQoIkhPTUVMQUJfUkVTVUxUX0NPTlRSQUNUIix7InZlcnNpb24iOjEsImNvbW1hbmRfaWQiOkNJRCwic3RhdHVzIjoiT0siIGlmIHJjX2ZpbmFsPT0wIGVsc2UgIkZBSUwiLCJjaGFuZ2VzX21hZGUiOkZhbHNlLCJyb2xsYmFja19zdGFydGVkIjpGYWxzZSwicm9sbGJhY2tfcmVzdG9yZWQiOk5vbmV9KQpwcmludCgiRFIyMjFfUFJFRkxJR0hUMzk4X0VORD10cnVlIixmbHVzaD1UcnVlKQpzeXMuZXhpdChyY19maW5hbCkK"),"<dr221-preflight398>","exec"))
                  ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<dr221-preflight398>", line 164, in <module>
  File "<dr221-preflight398>", line 37, in run
  File "/usr/lib/python3.13/subprocess.py", line 554, in run
    with Popen(*popenargs, **kwargs) as process:
         ~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/subprocess.py", line 1039, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
    ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                        pass_fds, cwd, env,
                        ^^^^^^^^^^^^^^^^^^^
    ...<5 lines>...
                        gid, gids, uid, umask,
                        ^^^^^^^^^^^^^^^^^^^^^^
                        start_new_session, process_group)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/subprocess.py", line 1857, in _execute_child
    self._posix_spawn(args, executable, env, restore_signals, close_fds,
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                      p2cread, p2cwrite,
                      ^^^^^^^^^^^^^^^^^^
                      c2pread, c2pwrite,
                      ^^^^^^^^^^^^^^^^^^
                      errread, errwrite)
                      ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/subprocess.py", line 1801, in _posix_spawn
    self.pid = os.posix_spawn(executable, args, env, **kwargs)
               ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/pvesm'

OUTPUT_END
CHAT_OUTPUT_END
