Skip to content

Instantly share code, notes, and snippets.

@terasakisatoshi
Created March 1, 2025 02:05
Show Gist options
  • Save terasakisatoshi/ada06f497fd2fd5104f18b4cecffeaf8 to your computer and use it in GitHub Desktop.
Save terasakisatoshi/ada06f497fd2fd5104f18b4cecffeaf8 to your computer and use it in GitHub Desktop.
Here we go
<!DOCTYPE html><html lang="en"><head><meta name="viewport" content="width=device-width"><meta charset="utf-8">
<meta name="pluto-insertion-spot-meta">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="white"><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#2a2928"><meta name="color-scheme" content="light dark"><link rel="icon" type="image/png" sizes="16x16" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/favicon-16x16.267aebbe.png"><link rel="icon" type="image/png" sizes="32x32" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/favicon-32x32.1b9d3e70.png"><link rel="icon" type="image/png" sizes="96x96" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/favicon-96x96.26e08763.png"><link rel="pluto-external-source" id="pluto-logo-big" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/logo.49a14041.svg"><link rel="pluto-external-source" id="pluto-logo-small" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/favicon_unsaturated.c11d4d33.svg"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.e8dd1839.css"><script type="module" src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/index.ebb7d2e0.js"></script><script type="module" src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.runtime.27dd1a8b.js"></script><script defer>console.log("Pluto.jl, by Fons van der Plas (https://github.com/fonsp), Mikołaj Bochenski (https://github.com/malyvsen), Michiel Dral (https://github.com/dralletje) and friends \uD83C\uDF08");</script><script src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/index.f6397f15.js" defer></script><script src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/index.2db9e182.js" defer></script><script src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.d174451b.js" defer></script><script src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.97d6fa3c.js" defer></script><link rel="pluto-external-source" id="vmsg-wasm" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/vmsg.56bb9389.wasm"><link rel="pluto-external-source" id="arrow_up_circle_icon" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/arrow-up-circle-outline.3f146ffe.svg"><link rel="pluto-external-source" id="document_text_icon" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/document-text-outline.8d1e2333.svg"><link rel="pluto-external-source" id="help_circle_icon" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/help-circle-outline.a023036a.svg"><link rel="pluto-external-source" id="open_icon" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/open-outline.87533923.svg"><script id="iframe-resizer-content-window-script" src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.ff0a187e.js" crossorigin defer></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.2cab3f5e.css" type="text/css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.46c98966.css" type="text/css" media="all" data-pluto-file="hide-ui"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.bf06bf57.css" type="text/css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.7a28f943.css" type="text/css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.a6a7b91b.css" type="text/css"><script data-pluto-file="launch-parameters">
window.pluto_notebook_id = undefined;
window.pluto_isolated_cell_ids = undefined;
window.pluto_notebookfile = "data:text/julia;charset=utf-8;base64,IyMjIEEgUGx1dG8uamwgbm90ZWJvb2sgIyMjCiMgdjAuMjAuNAoKdXNpbmcgTWFya2Rvd24KdXNpbmcgSW50ZXJhY3RpdmVVdGlscwoKIyBUaGlzIFBsdXRvIG5vdGVib29rIHVzZXMgQGJpbmQgZm9yIGludGVyYWN0aXZpdHkuIFdoZW4gcnVubmluZyB0aGlzIG5vdGVib29rIG91dHNpZGUgb2YgUGx1dG8sIHRoZSBmb2xsb3dpbmcgJ21vY2sgdmVyc2lvbicgb2YgQGJpbmQgZ2l2ZXMgYm91bmQgdmFyaWFibGVzIGEgZGVmYXVsdCB2YWx1ZSAoaW5zdGVhZCBvZiBhbiBlcnJvcikuCm1hY3JvIGJpbmQoZGVmLCBlbGVtZW50KQogICAgIyEgZm9ybWF0OiBvZmYKICAgIHF1b3RlCiAgICAgICAgbG9jYWwgaXYgPSB0cnkgQmFzZS5sb2FkZWRfbW9kdWxlc1tCYXNlLlBrZ0lkKEJhc2UuVVVJRCgiNmU2OTZjNzItNjU0Mi0yMDY3LTcyNjUtNDIyMDZjNzU2MTUwIiksICJBYnN0cmFjdFBsdXRvRGluZ2V0amVzIildLkJvbmRzLmluaXRpYWxfdmFsdWUgY2F0Y2g7IGIgLT4gbWlzc2luZzsgZW5kCiAgICAgICAgbG9jYWwgZWwgPSAkKGVzYyhlbGVtZW50KSkKICAgICAgICBnbG9iYWwgJChlc2MoZGVmKSkgPSBDb3JlLmFwcGxpY2FibGUoQmFzZS5nZXQsIGVsKSA/IEJhc2UuZ2V0KGVsKSA6IGl2KGVsKQogICAgICAgIGVsCiAgICBlbmQKICAgICMhIGZvcm1hdDogb24KZW5kCgojIOKVlOKVkOKVoSAwN2ViZGJiZS00OWJiLTRkMTgtOWYyYi0xNGY5OGQxMzc1NDgKYmVnaW4KICAgIHVzaW5nIFBrZwogICAgUGtnLmFjdGl2YXRlKHRlbXAgPSB0cnVlKQogICAgUGtnLmRldmVsb3AocGF0aCA9IGRpcm5hbWUoQF9fRElSX18pKQogICAgdXNpbmcgUGx1dG9Nb25hY29FZGl0b3I6IE1vbmFjb0VkaXRvcgplbmQKCiMg4pWU4pWQ4pWhIDlhYTQwZjhjLWE5NTUtNDdhMy04ZTZkLTRhYzU0ZDFkYzMzMAptZCIiIgojIEdvIGVkaXRvciBvbiBQbHV0byBOb3RlYm9vawoKVG8gcnVuIHRoaXMgbm90ZWJvb2ssIHlvdSBuZWVkIHRvIGluc3RhbGwgR29sYW5nIGNvbXBpbGVyIGZyb20gW2hlcmVdKGh0dHBzOi8vZ28uZGV2L2RvYy9pbnN0YWxsKS4KIiIiCgojIOKVlOKVkOKVoSBiZjIzMmQ5OS0zMDAxLTRhYWMtYWZiNy0xMzIxYzc0MDc2NjYKYmVnaW4KICAgIHRhcmdldGZpbGUgPSBqb2lucGF0aChkaXJuYW1lKGZpcnN0KHNwbGl0KEBfX0ZJTEVfXywgIi5qbCM9PSMiKSkpLCAibWFpbi5nbyIpCiAgICBpbml0Q29kZSA9IGpvaW4ocmVhZGxpbmVzKHRhcmdldGZpbGUpLCAnXG4nKQogICAgQGJpbmQgc291cmNlY29kZSBNb25hY29FZGl0b3IoImdvIiwgaW5pdENvZGUsIGhlaWdodCA9IDQwMCkKZW5kCgojIOKVlOKVkOKVoSBkY2U2MTZkNy1mZGZlLTQ4NTQtOTE5ZC00MjA2MDNlYmM4NzUKbGV0CiAgICBzaG91bGRydW4gPSBmYWxzZQogICAgaWYgIWlzbWlzc2luZyhzb3VyY2Vjb2RlKQogICAgICAgIGlmIGluaXRDb2RlICE9IHNvdXJjZWNvZGUKICAgICAgICAgICAgIyBVcGRhdGUgZmlsZQogICAgICAgICAgICB3cml0ZSh0YXJnZXRmaWxlLCBzb3VyY2Vjb2RlKQogICAgICAgICAgICAjIElmIHVwZGF0ZWQsIHdlIHNob3VsZCBydW4gY29kZQogICAgICAgICAgICBzaG91bGRydW4gPSB0cnVlCiAgICAgICAgZW5kCiAgICAgICAgaWYgc2hvdWxkcnVuCiAgICAgICAgICAgIG1rdGVtcGRpcigpIGRvIGQKICAgICAgICAgICAgICAgIHdyaXRlKGpvaW5wYXRoKGQsIHRhcmdldGZpbGUpLCBzb3VyY2Vjb2RlKQogICAgICAgICAgICAgICAgdHJ5CiAgICAgICAgICAgICAgICAgICAgcnVuKGBnbyBydW4gJChqb2lucGF0aChkLCB0YXJnZXRmaWxlKSlgKQogICAgICAgICAgICAgICAgY2F0Y2ggZQogICAgICAgICAgICAgICAgICAgIGUgaXNhIFByb2Nlc3NGYWlsZWRFeGNlcHRpb24gfHwgcmV0aHJvdyhlKQogICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGVuZAogICAgICAgIGVuZAogICAgZW5kCglub3RoaW5nCmVuZAoKIyDilZTilZDilaEgYjIyMzA3N2MtOGEzOC00MTZiLTk5OGQtYzZmZGIyNzQ1MTJiCm1kIiIiCk5vdGUgdGhhdCB0aGUgZm9sbG93aW5nIGNvZGUgcnVucyBiZWhpbmQgdGhlIHNjZW5lcy4KCmBgYGp1bGlhCmxldAogICAgc2hvdWxkcnVuID0gZmFsc2UKICAgIGlmICFpc21pc3Npbmcoc291cmNlY29kZSkKICAgICAgICBpZiBpbml0Q29kZSAhPSBzb3VyY2Vjb2RlCiAgICAgICAgICAgICMgVXBkYXRlIGZpbGUKICAgICAgICAgICAgd3JpdGUodGFyZ2V0ZmlsZSwgc291cmNlY29kZSkKICAgICAgICAgICAgIyBJZiB1cGRhdGVkLCB3ZSBzaG91bGQgcnVuIGNvZGUKICAgICAgICAgICAgc2hvdWxkcnVuID0gdHJ1ZQogICAgICAgIGVuZAogICAgICAgIGlmIHNob3VsZHJ1bgogICAgICAgICAgICBta3RlbXBkaXIoKSBkbyBkCiAgICAgICAgICAgICAgICB3cml0ZShqb2lucGF0aChkLCB0YXJnZXRmaWxlKSwgc291cmNlY29kZSkKICAgICAgICAgICAgICAgIHRyeQogICAgICAgICAgICAgICAgICAgIHJ1bihgZ28gcnVuICQoam9pbnBhdGgoZCwgdGFyZ2V0ZmlsZSkpYCkKICAgICAgICAgICAgICAgIGNhdGNoIGUKICAgICAgICAgICAgICAgICAgICBlIGlzYSBQcm9jZXNzRmFpbGVkRXhjZXB0aW9uIHx8IHJldGhyb3coZSkKICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAgICBlbmQKICAgICAgICBlbmQKICAgIGVuZAoJbm90aGluZwplbmQKYGBgCiIiIgoKIyDilZTilZDilaEgQ2VsbCBvcmRlcjoKIyDilZ/ilIA5YWE0MGY4Yy1hOTU1LTQ3YTMtOGU2ZC00YWM1NGQxZGMzMzAKIyDilaDilZAwN2ViZGJiZS00OWJiLTRkMTgtOWYyYi0xNGY5OGQxMzc1NDgKIyDilZ/ilIBiZjIzMmQ5OS0zMDAxLTRhYWMtYWZiNy0xMzIxYzc0MDc2NjYKIyDilZ/ilIBkY2U2MTZkNy1mZGZlLTQ4NTQtOTE5ZC00MjA2MDNlYmM4NzUKIyDilZ/ilIBiMjIzMDc3Yy04YTM4LTQxNmItOTk4ZC1jNmZkYjI3NDUxMmIK";
window.pluto_disable_ui = true;
window.pluto_slider_server_url = undefined;
window.pluto_binder_url = "https://mybinder.org/v2/gh/fonsp/pluto-on-binder/v0.20.4";
window.pluto_statefile = "data:;base64,3gASpWJvbmRzgapzb3VyY2Vjb2RlgaV2YWx1ZdoBTnBhY2thZ2UgbWFpbgoKaW1wb3J0ICgKICAgICJmbXQiCiAgICAibG9nIgogICAgIm5ldC9odHRwIgopCgpmdW5jIG1haW4oKXsKICAgIGh0dHAuSGFuZGxlRnVuYygiLyIsIGZ1bmModyBodHRwLlJlc3BvbnNlV3JpdGVyLCByICpodHRwLlJlcXVlc3QpewogICAgICAgIGZtdC5GcHJpbnRmKHcsICJIZWxsbyBnb21hIikKICAgIH0pCgogICAgbG9nLlByaW50bG4oIlN0YXJ0aW5nIHNlcnZlciBvbiBwb3J0IDgwODAiKQogICAgZXJyIDo9IGh0dHAuTGlzdGVuQW5kU2VydmUoIjo4MDgwIiwgbmlsKQogICAgaWYgZXJyICE9IG5pbCB7CiAgICAgICAgbG9nLkZhdGFsKGVycikKICAgIH0KfQqsY2VsbF9yZXN1bHRzhdkkZGNlNjE2ZDctZmRmZS00ODU0LTkxOWQtNDIwNjAzZWJjODc1iqZxdWV1ZWTCpGxvZ3ORiKRsaW5l/6Ntc2eS2YIyMDI1LzAzLzAxIDExOjA0OjU4IFN0YXJ0aW5nIHNlcnZlciBvbiBwb3J0IDgwODAKMjAyNS8wMy8wMSAxMTowNDo1OCBsaXN0ZW4gdGNwIDo4MDgwOiBiaW5kOiBhZGRyZXNzIGFscmVhZHkgaW4gdXNlCmV4aXQgc3RhdHVzIDEKqnRleHQvcGxhaW6nY2VsbF9pZNkkZGNlNjE2ZDctZmRmZS00ODU0LTkxOWQtNDIwNjAzZWJjODc1pmt3YXJnc5CiaWS0UGx1dG9SdW5uZXJfZDFhY2I4MWWkZmlsZdlXL1VzZXJzL2F0ZWxpZXJhcml0aC8uanVsaWEvcGFja2FnZXMvUGx1dG8vYWFXSlYvc3JjL3J1bm5lci9QbHV0b1J1bm5lci9zcmMvaW8vc3Rkb3V0LmpspWdyb3VwpnN0ZG91dKVsZXZlbK5Mb2dMZXZlbCgtNTU1KadydW5uaW5nwqZvdXRwdXSGpGJvZHmgpG1pbWWqdGV4dC9wbGFpbqxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2fCa0q0N8bBwZXJzaXN0X2pzX3N0YXRlw7doYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkZGNlNjE2ZDctZmRmZS00ODU0LTkxOWQtNDIwNjAzZWJjODc1uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOGWWGI7VwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMLZJDlhYTQwZjhjLWE5NTUtNDdhMy04ZTZkLTRhYzU0ZDFkYzMzMIqmcXVldWVkwqRsb2dzkKdydW5uaW5nwqZvdXRwdXSGpGJvZHnZtjxkaXYgY2xhc3M9Im1hcmtkb3duIj48aDE+R28gZWRpdG9yIG9uIFBsdXRvIE5vdGVib29rPC9oMT4KPHA+VG8gcnVuIHRoaXMgbm90ZWJvb2ssIHlvdSBuZWVkIHRvIGluc3RhbGwgR29sYW5nIGNvbXBpbGVyIGZyb20gPGEgaHJlZj0iaHR0cHM6Ly9nby5kZXYvZG9jL2luc3RhbGwiPmhlcmU8L2E+LjwvcD4KPC9kaXY+pG1pbWWpdGV4dC9odG1srHJvb3Rhc3NpZ25lZcCybGFzdF9ydW5fdGltZXN0YW1wy0HZ8JrLx9knsHBlcnNpc3RfanNfc3RhdGXCt2hhc19wbHV0b19ob29rX2ZlYXR1cmVzwqdjZWxsX2lk2SQ5YWE0MGY4Yy1hOTU1LTQ3YTMtOGU2ZC00YWM1NGQxZGMzMzC5ZGVwZW5kc19vbl9kaXNhYmxlZF9jZWxsc8KncnVudGltZc4AVeWVtXB1Ymxpc2hlZF9vYmplY3Rfa2V5c5C4ZGVwZW5kc19vbl9za2lwcGVkX2NlbGxzwqdlcnJvcmVkwtkkYjIyMzA3N2MtOGEzOC00MTZiLTk5OGQtYzZmZGIyNzQ1MTJiiqZxdWV1ZWTCpGxvZ3OQp3J1bm5pbmfCpm91dHB1dIakYm9kedoDPTxkaXYgY2xhc3M9Im1hcmtkb3duIj48cD5Ob3RlIHRoYXQgdGhlIGZvbGxvd2luZyBjb2RlIHJ1bnMgYmVoaW5kIHRoZSBzY2VuZXMuPC9wPgo8cHJlPjxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qdWxpYSI+bGV0CiAgICBzaG91bGRydW4gJiM2MTsgZmFsc2UKICAgIGlmICYjMzM7aXNtaXNzaW5nJiM0MDtzb3VyY2Vjb2RlJiM0MTsKICAgICAgICBpZiBpbml0Q29kZSAmIzMzOyYjNjE7IHNvdXJjZWNvZGUKICAgICAgICAgICAgIyBVcGRhdGUgZmlsZQogICAgICAgICAgICB3cml0ZSYjNDA7dGFyZ2V0ZmlsZSwgc291cmNlY29kZSYjNDE7CiAgICAgICAgICAgICMgSWYgdXBkYXRlZCwgd2Ugc2hvdWxkIHJ1biBjb2RlCiAgICAgICAgICAgIHNob3VsZHJ1biAmIzYxOyB0cnVlCiAgICAgICAgZW5kCiAgICAgICAgaWYgc2hvdWxkcnVuCiAgICAgICAgICAgIG1rdGVtcGRpciYjNDA7JiM0MTsgZG8gZAogICAgICAgICAgICAgICAgd3JpdGUmIzQwO2pvaW5wYXRoJiM0MDtkLCB0YXJnZXRmaWxlJiM0MTssIHNvdXJjZWNvZGUmIzQxOwogICAgICAgICAgICAgICAgdHJ5CiAgICAgICAgICAgICAgICAgICAgcnVuJiM0MDsmIzk2O2dvIHJ1biAmIzM2OyYjNDA7am9pbnBhdGgmIzQwO2QsIHRhcmdldGZpbGUmIzQxOyYjNDE7JiM5NjsmIzQxOwogICAgICAgICAgICAgICAgY2F0Y2ggZQogICAgICAgICAgICAgICAgICAgIGUgaXNhIFByb2Nlc3NGYWlsZWRFeGNlcHRpb24gfHwgcmV0aHJvdyYjNDA7ZSYjNDE7CiAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICBlbmQKCW5vdGhpbmcKZW5kPC9jb2RlPjwvcHJlPgo8L2Rpdj6kbWltZal0ZXh0L2h0bWyscm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdnwmsvhMJywcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJGIyMjMwNzdjLThhMzgtNDE2Yi05OThkLWM2ZmRiMjc0NTEyYrlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgAC0YW1cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTC2SRiZjIzMmQ5OS0zMDAxLTRhYWMtYWZiNy0xMzIxYzc0MDc2NjaKpnF1ZXVlZMKkbG9nc5CncnVubmluZ8Kmb3V0cHV0hqRib2R52gTcPGJvbmQgZGVmPSJzb3VyY2Vjb2RlIiB1bmlxdWVfaWQ9IkFuSlRMbkc4R0dXOSI+IDxzcGFuPgogPGRpdiBpZD0nbW9uYWNvLWVkaXRvci1jb250YWluZXInIHN0eWxlPSJ3aWR0aDogNzAwcHg7IGhlaWdodDogNDAwcHg7IGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7Ij48L2Rpdj4KCiA8c2NyaXB0PgogICAgIGNvbnN0IG1vbmFjbyA9IGF3YWl0IGltcG9ydCgnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9tb25hY28tZWRpdG9yQDAuNTIuMC8rZXNtJyk7CiAgICAgY29uc3Qgd3JhcHBlcl9zcGFuID0gY3VycmVudFNjcmlwdC5wYXJlbnRFbGVtZW50CiAgICAgY29uc3QgbW9uRWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGUod3JhcHBlcl9zcGFuLnF1ZXJ5U2VsZWN0b3IoJ2RpdiNtb25hY28tZWRpdG9yLWNvbnRhaW5lcicpLCB7CiAgICAgICAgIHZhbHVlOiAicGFja2FnZSBtYWluXG5cbmltcG9ydCAoXG4gICAgXCJmbXRcIlxuICAgIFwibG9nXCJcbiAgICBcIm5ldC9odHRwXCJcbilcblxuZnVuYyBtYWluKCl7XG4gICAgaHR0cC5IYW5kbGVGdW5jKFwiL1wiLCBmdW5jKHcgaHR0cC5SZXNwb25zZVdyaXRlciwgciAqaHR0cC5SZXF1ZXN0KXtcbiAgICAgICAgZm10LkZwcmludGYodywgXCJIZWxsbyBBemFyYXNoaVwiKVxuICAgIH0pXG5cbiAgICBsb2cuUHJpbnRsbihcIlN0YXJ0aW5nIHNlcnZlciBvbiBwb3J0IDgwODBcIilcbiAgICBlcnIgOj0gaHR0cC5MaXN0ZW5BbmRTZXJ2ZShcIjo4MDgwXCIsIG5pbClcbiAgICBpZiBlcnIgIT0gbmlsIHtcbiAgICAgICAgbG9nLkZhdGFsKGVycilcbiAgICB9XG59XG4iLAogICAgICAgICBsYW5ndWFnZTogImdvIiwKICAgICAgICAgdGhlbWU6ICJ2cy1kYXJrIgogICAgIH0pOwoKICAgICBmdW5jdGlvbiB1cGRhdGVfYm9uZCgpIHsKICAgICAgICAgd3JhcHBlcl9zcGFuLnZhbHVlID0gbW9uRWRpdG9yLmdldFZhbHVlKCk7CiAgICAgICAgIHdyYXBwZXJfc3Bhbi5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidXBkYXRlIikpOwogICAgIH0KCiAgICAgY29uc3QgZWRpdG9yQ29udGFpbmVyID0gd3JhcHBlcl9zcGFuLnF1ZXJ5U2VsZWN0b3IoIiNtb25hY28tZWRpdG9yLWNvbnRhaW5lciIpOwogICAgIGVkaXRvckNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsIGU9PnsKICAgICAgICAgdXBkYXRlX2JvbmQoKTsKICAgICB9KQoKICAgICB1cGRhdGVfYm9uZCgpOwogPC9zY3JpcHQ+CiA8L3NwYW4+CjwvYm9uZD6kbWltZal0ZXh0L2h0bWyscm9vdGFzc2lnbmVlwLJsYXN0X3J1bl90aW1lc3RhbXDLQdnwmsvX/VCwcGVyc2lzdF9qc19zdGF0ZcK3aGFzX3BsdXRvX2hvb2tfZmVhdHVyZXPCp2NlbGxfaWTZJGJmMjMyZDk5LTMwMDEtNGFhYy1hZmI3LTEzMjFjNzQwNzY2NrlkZXBlbmRzX29uX2Rpc2FibGVkX2NlbGxzwqdydW50aW1lzgfIGYm1cHVibGlzaGVkX29iamVjdF9rZXlzkLhkZXBlbmRzX29uX3NraXBwZWRfY2VsbHPCp2Vycm9yZWTC2SQwN2ViZGJiZS00OWJiLTRkMTgtOWYyYi0xNGY5OGQxMzc1NDiKpnF1ZXVlZMKkbG9nc5GIpGxpbmX/o21zZ5LaAvIbWzMybRtbMW0gIEFjdGl2YXRpbmcbWzIybRtbMzltIG5ldyBwcm9qZWN0IGF0IGAvdmFyL2ZvbGRlcnMveTkveGg5NGZ2cGQyaGw1MHpzMDI0aGhqbDE4MDAwMGduL1QvamxfMk9OU2FsYAobWzMybRtbMW0gICBSZXNvbHZpbmcbWzIybRtbMzltIHBhY2thZ2UgdmVyc2lvbnMuLi4KG1szMm0bWzFtICAgIFVwZGF0aW5nG1syMm0bWzM5bSBgL3ByaXZhdGUvdmFyL2ZvbGRlcnMveTkveGg5NGZ2cGQyaGw1MHpzMDI0aGhqbDE4MDAwMGduL1QvamxfMk9OU2FsL1Byb2plY3QudG9tbGAKICAbWzkwbVs1ZTk0M2VhZV0gG1szOW0bWzkybSsgUGx1dG9Nb25hY29FZGl0b3IgdjAuMS41IGB+L3dvcmsvYXRlbGllcmFyaXRoL1BsdXRvTW9uYWNvRWRpdG9yLmpsYBtbMzltChtbMzJtG1sxbSAgICBVcGRhdGluZxtbMjJtG1szOW0gYC9wcml2YXRlL3Zhci9mb2xkZXJzL3k5L3hoOTRmdnBkMmhsNTB6czAyNGhoamwxODAwMDBnbi9UL2psXzJPTlNhbC9NYW5pZmVzdC50b21sYAogIBtbOTBtW2FjMTE5MmE4XSAbWzM5bRtbOTJtKyBIeXBlcnRleHRMaXRlcmFsIHYwLjkuNRtbMzltCiAgG1s5MG1bNWU5NDNlYWVdIBtbMzltG1s5Mm0rIFBsdXRvTW9uYWNvRWRpdG9yIHYwLjEuNSBgfi93b3JrL2F0ZWxpZXJhcml0aC9QbHV0b01vbmFjb0VkaXRvci5qbGAbWzM5bQogIBtbOTBtWzQxMGE0YjRkXSAbWzM5bRtbOTJtKyBUcmlja3MgdjAuMS4xMBtbMzltCiAgG1s5MG1bMmEwZjQ0ZTNdIBtbMzltG1s5Mm0rIEJhc2U2NCB2MS4xMS4wG1szOW0KqnRleHQvcGxhaW6nY2VsbF9pZNkkMDdlYmRiYmUtNDliYi00ZDE4LTlmMmItMTRmOThkMTM3NTQ4pmt3YXJnc5CiaWS0UGx1dG9SdW5uZXJfZDFhY2I4MWWkZmlsZdlXL1VzZXJzL2F0ZWxpZXJhcml0aC8uanVsaWEvcGFja2FnZXMvUGx1dG8vYWFXSlYvc3JjL3J1bm5lci9QbHV0b1J1bm5lci9zcmMvaW8vc3Rkb3V0LmpspWdyb3VwpnN0ZG91dKVsZXZlbK5Mb2dMZXZlbCgtNTU1KadydW5uaW5nwqZvdXRwdXSGpGJvZHmgpG1pbWWqdGV4dC9wbGFpbqxyb290YXNzaWduZWXAsmxhc3RfcnVuX3RpbWVzdGFtcMtB2fCay6QS07BwZXJzaXN0X2pzX3N0YXRlwrdoYXNfcGx1dG9faG9va19mZWF0dXJlc8KnY2VsbF9pZNkkMDdlYmRiYmUtNDliYi00ZDE4LTlmMmItMTRmOThkMTM3NTQ4uWRlcGVuZHNfb25fZGlzYWJsZWRfY2VsbHPCp3J1bnRpbWXOFWdfPbVwdWJsaXNoZWRfb2JqZWN0X2tleXOQuGRlcGVuZHNfb25fc2tpcHBlZF9jZWxsc8KnZXJyb3JlZMKrc3RhdHVzX3RyZWWFpG5hbWWobm90ZWJvb2uoc3VidGFza3OEpnNhdmluZ4WkbmFtZaZzYXZpbmeoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZ8JrLsMhLp3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdnwmsuwxn6pd29ya3NwYWNlhaRuYW1lqXdvcmtzcGFjZahzdWJ0YXNrc4KsaW5pdF9wcm9jZXNzhaRuYW1lrGluaXRfcHJvY2Vzc6hzdWJ0YXNrc4ShNIWkbmFtZaE0qHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2fCay0bmP6dzdWNjZXNzw6pzdGFydGVkX2F0y0HZ8JrLMY/aoTGFpG5hbWWhMahzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdnwmssvdDqnc3VjY2Vzc8Oqc3RhcnRlZF9hdMtB2fCayyrMwKEyhaRuYW1loTKoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZ8JrLMYpMp3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdnwmssxiY+hM4WkbmFtZaEzqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2fCayzGP2qdzdWNjZXNzw6pzdGFydGVkX2F0y0HZ8JrLMY/aq2ZpbmlzaGVkX2F0y0HZ8JrLRu3+p3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdnwmssqzLSuY3JlYXRlX3Byb2Nlc3OFpG5hbWWuY3JlYXRlX3Byb2Nlc3Ooc3VidGFza3OC2SFMb2FkaW5nIG5vdGVib29rIGJvb3QgZW52aXJvbm1lbnSFpG5hbWXZIUxvYWRpbmcgbm90ZWJvb2sgYm9vdCBlbnZpcm9ubWVudKhzdWJ0YXNrc4CrZmluaXNoZWRfYXTLQdnwmssn4Oenc3VjY2Vzc8Oqc3RhcnRlZF9hdMtB2fCayqpNsbBTdGFydGluZyBwcm9jZXNzhaRuYW1lsFN0YXJ0aW5nIHByb2Nlc3Ooc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZ8JrKl6qfp3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdnwmsp6UgCrZmluaXNoZWRfYXTLQdnwmssn4OOnc3VjY2Vzc8Oqc3RhcnRlZF9hdMtB2fCaynpR/KtmaW5pc2hlZF9hdMtB2fCay0buA6dzdWNjZXNzw6pzdGFydGVkX2F0y0HZ8JrKelHwo3BrZ4WkbmFtZaNwa2eoc3VidGFza3OBqGFuYWx5c2lzhaRuYW1lqGFuYWx5c2lzqHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2fCaym/aZqdzdWNjZXNzw6pzdGFydGVkX2F0y0HZ8JrKb9o8q2ZpbmlzaGVkX2F0y0HZ8JrKb9pmp3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdnwmspv2iejcnVuhaRuYW1lo3J1bqhzdWJ0YXNrc4KwcmVzb2x2ZV90b3BvbG9neYWkbmFtZbByZXNvbHZlX3RvcG9sb2d5qHN1YnRhc2tzgKtmaW5pc2hlZF9hdMtB2fCa0pGB3KdzdWNjZXNzw6pzdGFydGVkX2F0y0HZ8JrSkYEKqGV2YWx1YXRlhaRuYW1lqGV2YWx1YXRlqHN1YnRhc2tzgaExhaRuYW1loTGoc3VidGFza3OAq2ZpbmlzaGVkX2F0y0HZ8JrSrQ5ep3N1Y2Nlc3PDqnN0YXJ0ZWRfYXTLQdnwmtKRkparZmluaXNoZWRfYXTLQdnwmtKtHQ2nc3VjY2Vzc8Oqc3RhcnRlZF9hdMtB2fCa0pGB3KtmaW5pc2hlZF9hdMtB2fCa0q0dDadzdWNjZXNzw6pzdGFydGVkX2F0y0HZ8JrSkYEGq2ZpbmlzaGVkX2F0wKdzdWNjZXNzwKpzdGFydGVkX2F0y0HZ8JrJXlWGsWNlbGxfZGVwZW5kZW5jaWVzhdkkZGNlNjE2ZDctZmRmZS00ODU0LTkxOWQtNDIwNjAzZWJjODc1hLRwcmVjZWRlbmNlX2hldXJpc3RpYwmnY2VsbF9pZNkkZGNlNjE2ZDctZmRmZS00ODU0LTkxOWQtNDIwNjAzZWJjODc1tGRvd25zdHJlYW1fY2VsbHNfbWFwgLJ1cHN0cmVhbV9jZWxsc19tYXDeABGkQGNtZJCnY21kX2dlbpCoam9pbnBhdGiQoSGQqWlzbWlzc2luZ5CpbWt0ZW1wZGlykKdyZXRocm93kKdub3RoaW5nkKhpbml0Q29kZZHZJGJmMjMyZDk5LTMwMDEtNGFhYy1hZmI3LTEzMjFjNzQwNzY2NqNpc2GQtlByb2Nlc3NGYWlsZWRFeGNlcHRpb26Qo3J1bpCld3JpdGWQqnRhcmdldGZpbGWR2SRiZjIzMmQ5OS0zMDAxLTRhYWMtYWZiNy0xMzIxYzc0MDc2Njaqc291cmNlY29kZZHZJGJmMjMyZDk5LTMwMDEtNGFhYy1hZmI3LTEzMjFjNzQwNzY2NqIhPZCiPT2Q2SQ5YWE0MGY4Yy1hOTU1LTQ3YTMtOGU2ZC00YWM1NGQxZGMzMzCEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SQ5YWE0MGY4Yy1hOTU1LTQ3YTMtOGU2ZC00YWM1NGQxZGMzMzC0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SRiMjIzMDc3Yy04YTM4LTQxNmItOTk4ZC1jNmZkYjI3NDUxMmKEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SRiMjIzMDc3Yy04YTM4LTQxNmItOTk4ZC1jNmZkYjI3NDUxMmK0ZG93bnN0cmVhbV9jZWxsc19tYXCAsnVwc3RyZWFtX2NlbGxzX21hcIKnQG1kX3N0cpCoZ2V0aW5kZXiQ2SRiZjIzMmQ5OS0zMDAxLTRhYWMtYWZiNy0xMzIxYzc0MDc2NjaEtHByZWNlZGVuY2VfaGV1cmlzdGljCadjZWxsX2lk2SRiZjIzMmQ5OS0zMDAxLTRhYWMtYWZiNy0xMzIxYzc0MDc2Nja0ZG93bnN0cmVhbV9jZWxsc19tYXCDqGluaXRDb2RlkdkkZGNlNjE2ZDctZmRmZS00ODU0LTkxOWQtNDIwNjAzZWJjODc1qnRhcmdldGZpbGWR2SRkY2U2MTZkNy1mZGZlLTQ4NTQtOTE5ZC00MjA2MDNlYmM4NzWqc291cmNlY29kZZHZJGRjZTYxNmQ3LWZkZmUtNDg1NC05MTlkLTQyMDYwM2ViYzg3NbJ1cHN0cmVhbV9jZWxsc19tYXCNqUBfX0ZJTEVfX5CpcmVhZGxpbmVzkNkjUGx1dG9SdW5uZXIuUGx1dG9SdW5uZXIuY3JlYXRlX2JvbmSQp2Rpcm5hbWWQqGpvaW5wYXRokKVmaXJzdJClQGJpbmSQrE1vbmFjb0VkaXRvcpHZJDA3ZWJkYmJlLTQ5YmItNGQxOC05ZjJiLTE0Zjk4ZDEzNzU0OKRqb2lukKtQbHV0b1J1bm5lcpC0UGx1dG9SdW5uZXIuQmFzZS5nZXSQu1BsdXRvUnVubmVyLkNvcmUuYXBwbGljYWJsZZClc3BsaXSQ2SQwN2ViZGJiZS00OWJiLTRkMTgtOWYyYi0xNGY5OGQxMzc1NDiEtHByZWNlZGVuY2VfaGV1cmlzdGljAadjZWxsX2lk2SQwN2ViZGJiZS00OWJiLTRkMTgtOWYyYi0xNGY5OGQxMzc1NDi0ZG93bnN0cmVhbV9jZWxsc19tYXCCo1BrZ5HZJDA3ZWJkYmJlLTQ5YmItNGQxOC05ZjJiLTE0Zjk4ZDEzNzU0OKxNb25hY29FZGl0b3KR2SRiZjIzMmQ5OS0zMDAxLTRhYWMtYWZiNy0xMzIxYzc0MDc2NjaydXBzdHJlYW1fY2VsbHNfbWFwhaNQa2eR2SQwN2ViZGJiZS00OWJiLTRkMTgtOWYyYi0xNGY5OGQxMzc1NDirUGtnLmRldmVsb3CQp2Rpcm5hbWWQrFBrZy5hY3RpdmF0ZZCoQF9fRElSX1+QtGNlbGxfZXhlY3V0aW9uX29yZGVyldkkMDdlYmRiYmUtNDliYi00ZDE4LTlmMmItMTRmOThkMTM3NTQ42SQ5YWE0MGY4Yy1hOTU1LTQ3YTMtOGU2ZC00YWM1NGQxZGMzMzDZJGJmMjMyZDk5LTMwMDEtNGFhYy1hZmI3LTEzMjFjNzQwNzY2NtkkZGNlNjE2ZDctZmRmZS00ODU0LTkxOWQtNDIwNjAzZWJjODc12SRiMjIzMDc3Yy04YTM4LTQxNmItOTk4ZC1jNmZkYjI3NDUxMmK0bGFzdF9ob3RfcmVsb2FkX3RpbWXLAAAAAAAAAACpc2hvcnRwYXRopWdvLmpsrnByb2Nlc3Nfc3RhdHVzpXJlYWR5pHBhdGjZSS9Vc2Vycy9hdGVsaWVyYXJpdGgvd29yay9hdGVsaWVyYXJpdGgvUGx1dG9Nb25hY29FZGl0b3IuamwvZXhhbXBsZXMvZ28uamytcGx1dG9fdmVyc2lvbqd2MC4yMC40rmxhc3Rfc2F2ZV90aW1ly0HZ8JrLsMZ+qmNlbGxfb3JkZXKV2SQ5YWE0MGY4Yy1hOTU1LTQ3YTMtOGU2ZC00YWM1NGQxZGMzMzDZJDA3ZWJkYmJlLTQ5YmItNGQxOC05ZjJiLTE0Zjk4ZDEzNzU0ONkkYmYyMzJkOTktMzAwMS00YWFjLWFmYjctMTMyMWM3NDA3NjY22SRkY2U2MTZkNy1mZGZlLTQ4NTQtOTE5ZC00MjA2MDNlYmM4NzXZJGIyMjMwNzdjLThhMzgtNDE2Yi05OThkLWM2ZmRiMjc0NTEyYrFwdWJsaXNoZWRfb2JqZWN0c4ClbmJwa2eKr2luc3RhbGxfdGltZV9uc8CsaW5zdGFudGlhdGVkw7JpbnN0YWxsZWRfdmVyc2lvbnOAsHRlcm1pbmFsX291dHB1dHOAp2VuYWJsZWTCt3Jlc3RhcnRfcmVjb21tZW5kZWRfbXNnwLRyZXN0YXJ0X3JlcXVpcmVkX21zZ8CtYnVzeV9wYWNrYWdlc5C2d2FpdGluZ19mb3JfcGVybWlzc2lvbsLZLHdhaXRpbmdfZm9yX3Blcm1pc3Npb25fYnV0X3Byb2JhYmx5X2Rpc2FibGVkwqtjZWxsX2lucHV0c4XZJGRjZTYxNmQ3LWZkZmUtNDg1NC05MTlkLTQyMDYwM2ViYzg3NYSnY2VsbF9pZNkkZGNlNjE2ZDctZmRmZS00ODU0LTkxOWQtNDIwNjAzZWJjODc1pGNvZGXaAk1sZXQKICAgIHNob3VsZHJ1biA9IGZhbHNlCiAgICBpZiAhaXNtaXNzaW5nKHNvdXJjZWNvZGUpCiAgICAgICAgaWYgaW5pdENvZGUgIT0gc291cmNlY29kZQogICAgICAgICAgICAjIFVwZGF0ZSBmaWxlCiAgICAgICAgICAgIHdyaXRlKHRhcmdldGZpbGUsIHNvdXJjZWNvZGUpCiAgICAgICAgICAgICMgSWYgdXBkYXRlZCwgd2Ugc2hvdWxkIHJ1biBjb2RlCiAgICAgICAgICAgIHNob3VsZHJ1biA9IHRydWUKICAgICAgICBlbmQKICAgICAgICBpZiBzaG91bGRydW4KICAgICAgICAgICAgbWt0ZW1wZGlyKCkgZG8gZAogICAgICAgICAgICAgICAgd3JpdGUoam9pbnBhdGgoZCwgdGFyZ2V0ZmlsZSksIHNvdXJjZWNvZGUpCiAgICAgICAgICAgICAgICB0cnkKICAgICAgICAgICAgICAgICAgICBydW4oYGdvIHJ1biAkKGpvaW5wYXRoKGQsIHRhcmdldGZpbGUpKWApCiAgICAgICAgICAgICAgICBjYXRjaCBlCiAgICAgICAgICAgICAgICAgICAgZSBpc2EgUHJvY2Vzc0ZhaWxlZEV4Y2VwdGlvbiB8fCByZXRocm93KGUpCiAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgZW5kCiAgICAgICAgZW5kCiAgICBlbmQKCW5vdGhpbmcKZW5kqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTD2SQ5YWE0MGY4Yy1hOTU1LTQ3YTMtOGU2ZC00YWM1NGQxZGMzMzCEp2NlbGxfaWTZJDlhYTQwZjhjLWE5NTUtNDdhMy04ZTZkLTRhYzU0ZDFkYzMzMKRjb2Rl2YttZCIiIgojIEdvIGVkaXRvciBvbiBQbHV0byBOb3RlYm9vawoKVG8gcnVuIHRoaXMgbm90ZWJvb2ssIHlvdSBuZWVkIHRvIGluc3RhbGwgR29sYW5nIGNvbXBpbGVyIGZyb20gW2hlcmVdKGh0dHBzOi8vZ28uZGV2L2RvYy9pbnN0YWxsKS4KIiIiqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTD2SRiMjIzMDc3Yy04YTM4LTQxNmItOTk4ZC1jNmZkYjI3NDUxMmKEp2NlbGxfaWTZJGIyMjMwNzdjLThhMzgtNDE2Yi05OThkLWM2ZmRiMjc0NTEyYqRjb2Rl2gKabWQiIiIKTm90ZSB0aGF0IHRoZSBmb2xsb3dpbmcgY29kZSBydW5zIGJlaGluZCB0aGUgc2NlbmVzLgoKYGBganVsaWEKbGV0CiAgICBzaG91bGRydW4gPSBmYWxzZQogICAgaWYgIWlzbWlzc2luZyhzb3VyY2Vjb2RlKQogICAgICAgIGlmIGluaXRDb2RlICE9IHNvdXJjZWNvZGUKICAgICAgICAgICAgIyBVcGRhdGUgZmlsZQogICAgICAgICAgICB3cml0ZSh0YXJnZXRmaWxlLCBzb3VyY2Vjb2RlKQogICAgICAgICAgICAjIElmIHVwZGF0ZWQsIHdlIHNob3VsZCBydW4gY29kZQogICAgICAgICAgICBzaG91bGRydW4gPSB0cnVlCiAgICAgICAgZW5kCiAgICAgICAgaWYgc2hvdWxkcnVuCiAgICAgICAgICAgIG1rdGVtcGRpcigpIGRvIGQKICAgICAgICAgICAgICAgIHdyaXRlKGpvaW5wYXRoKGQsIHRhcmdldGZpbGUpLCBzb3VyY2Vjb2RlKQogICAgICAgICAgICAgICAgdHJ5CiAgICAgICAgICAgICAgICAgICAgcnVuKGBnbyBydW4gJChqb2lucGF0aChkLCB0YXJnZXRmaWxlKSlgKQogICAgICAgICAgICAgICAgY2F0Y2ggZQogICAgICAgICAgICAgICAgICAgIGUgaXNhIFByb2Nlc3NGYWlsZWRFeGNlcHRpb24gfHwgcmV0aHJvdyhlKQogICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGVuZAogICAgICAgIGVuZAogICAgZW5kCglub3RoaW5nCmVuZApgYGAKIiIiqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTD2SRiZjIzMmQ5OS0zMDAxLTRhYWMtYWZiNy0xMzIxYzc0MDc2NjaEp2NlbGxfaWTZJGJmMjMyZDk5LTMwMDEtNGFhYy1hZmI3LTEzMjFjNzQwNzY2NqRjb2Rl2cxiZWdpbgogICAgdGFyZ2V0ZmlsZSA9IGpvaW5wYXRoKGRpcm5hbWUoZmlyc3Qoc3BsaXQoQF9fRklMRV9fLCAiLmpsIz09IyIpKSksICJtYWluLmdvIikKICAgIGluaXRDb2RlID0gam9pbihyZWFkbGluZXModGFyZ2V0ZmlsZSksICdcbicpCiAgICBAYmluZCBzb3VyY2Vjb2RlIE1vbmFjb0VkaXRvcigiZ28iLCBpbml0Q29kZSwgaGVpZ2h0ID0gNDAwKQplbmSobWV0YWRhdGGDqXNob3dfbG9nc8OoZGlzYWJsZWTCrnNraXBfYXNfc2NyaXB0wqtjb2RlX2ZvbGRlZMPZJDA3ZWJkYmJlLTQ5YmItNGQxOC05ZjJiLTE0Zjk4ZDEzNzU0OISnY2VsbF9pZNkkMDdlYmRiYmUtNDliYi00ZDE4LTlmMmItMTRmOThkMTM3NTQ4pGNvZGXZiWJlZ2luCiAgICB1c2luZyBQa2cKICAgIFBrZy5hY3RpdmF0ZSh0ZW1wID0gdHJ1ZSkKICAgIFBrZy5kZXZlbG9wKHBhdGggPSBkaXJuYW1lKEBfX0RJUl9fKSkKICAgIHVzaW5nIFBsdXRvTW9uYWNvRWRpdG9yOiBNb25hY29FZGl0b3IKZW5kqG1ldGFkYXRhg6lzaG93X2xvZ3PDqGRpc2FibGVkwq5za2lwX2FzX3NjcmlwdMKrY29kZV9mb2xkZWTCq25vdGVib29rX2lk2SQ3ZGJiOGU4Mi1mNjQxLTExZWYtM2QzYi01NWUzMTU1NTY5MTmraW5fdGVtcF9kaXLCqG1ldGFkYXRhgA==";
window.pluto_preamble_html = undefined;
</script>
<meta name="pluto-insertion-spot-parameters">
<script src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/editor.0f03e089.js" type="module" defer></script><script src="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/index.11569726.js"></script><link rel="pluto-external-source" id="MathJax-script" href="https://cdn.jsdelivr.net/gh/fonsp/[email protected]/frontend-dist/tex-svg-full.f72d1ae1.js" type="text/javascript">
<meta name="pluto-insertion-spot-preload">
</head><body class="loading no-MαθJax"> <div style="min-height:100vh;display:flex"> <pluto-editor class="fullscreen"> <progress style="filter:grayscale()" class="delete-me-when-live statefile-fetch-progress" max="100"></progress> </pluto-editor> </div> </body></html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment